From 4194d55522516f0abec3f0fc09ed3880e0351232 Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" Date: Sat, 8 Aug 2026 04:21:03 +0000 Subject: [PATCH] chore: generate --- .opencode/skills/opencode-drive/SKILL.md | 1 - packages/ai/src/cache-policy.ts | 3 +- packages/ai/src/protocols/openai-chat.ts | 7 +- packages/ai/src/route/client.ts | 8 +- packages/ai/src/tool.ts | 9 +- ...g-tool-turn-inside-the-cache-lookback.json | 8 +- ...s-cachepoint-on-identical-second-call.json | 7 +- .../google-images/generates-an-image.json | 6 +- .../openai-images/generates-an-image.json | 6 +- ...d-edits-an-image-with-the-hosted-tool.json | 6 +- .../recordings/openrouter-reasoning.json | 7 +- .../recordings/pdf/anthropic-tool-result.json | 9 +- .../recordings/pdf/anthropic-user-input.json | 8 +- .../recordings/pdf/bedrock-tool-result.json | 9 +- .../recordings/pdf/bedrock-user-input.json | 8 +- .../recordings/pdf/gemini-tool-result.json | 9 +- .../recordings/pdf/gemini-user-input.json | 8 +- .../recordings/pdf/openai-tool-result.json | 9 +- .../recordings/pdf/openai-user-input.json | 8 +- .../recordings/pdf/xai-tool-result.json | 9 +- .../recordings/pdf/xai-user-input.json | 8 +- .../vercel-ai-gateway-reasoning.json | 7 +- .../xai-images/generates-an-image.json | 6 +- .../ai/test/provider/bedrock-converse.test.ts | 15 +- .../provider/openai-compatible-chat.test.ts | 4 +- .../timeline-stability/interaction.spec.ts | 4 +- .../regression/cross-server-tab-close.spec.ts | 3 +- .../remote-session-settings.spec.ts | 11 +- .../e2e/regression/remote-tab-busy.spec.ts | 3 +- .../review-terminal-stacked.spec.ts | 4 +- .../session-timeline-projection.spec.ts | 13 +- .../regression/tab-navigate-mousedown.spec.ts | 3 +- .../app/e2e/smoke/session-timeline.fixture.ts | 5 +- packages/app/e2e/utils/mock-server.ts | 48 +- packages/app/e2e/utils/sse-transport.ts | 3 +- packages/app/index.html | 5 +- packages/app/src/app.tsx | 9 +- .../src/components/settings-v2/providers.tsx | 4 +- .../src/components/status-popover-body.tsx | 16 +- packages/app/src/components/titlebar.tsx | 5 +- packages/app/src/context/directory-sync.ts | 4 +- .../app/src/context/global-sync/bootstrap.ts | 200 +- .../src/context/global-sync/event-reducer.ts | 13 +- .../global-sync/home-session-index.test.ts | 6 +- packages/app/src/context/global-sync/types.ts | 11 +- .../app/src/context/server-session.test.ts | 559 +- packages/app/src/context/server-session.ts | 30 +- packages/app/src/context/server-sync.tsx | 15 +- packages/app/src/context/terminal.tsx | 11 +- .../session/timeline/message-timeline.tsx | 8 +- .../session/v2/review-diff-kinds.test.ts | 6 +- packages/app/src/types.ts | 6 +- packages/cli/script/postinstall.mjs | 14 +- packages/cli/script/service-smoke.ts | 24 +- packages/cli/src/commands/handlers/import.ts | 9 +- packages/cli/src/commands/handlers/pair.ts | 4 +- packages/cli/src/config/migrate.ts | 10 +- packages/cli/src/run/noninteractive.ts | 5 +- .../cli/src/services/server-connection.ts | 5 +- .../cli/src/services/update-preflight.tsx | 4 +- packages/cli/src/services/updater.ts | 69 +- packages/cli/src/ui/timeline.tsx | 4 +- packages/cli/test/config.test.ts | 6 +- .../cli/test/drive/mini-interactive.drive.mjs | 13 +- packages/cli/test/import-export.test.ts | 9 +- packages/cli/vite.node.config.ts | 8 +- packages/client/script/build.ts | 7 +- packages/client/src/contract.ts | 7 +- .../src/effect/api/.httpapi-codegen.json | 4 +- .../effect/generated/.httpapi-codegen.json | 6 +- .../promise/generated/.httpapi-codegen.json | 7 +- packages/client/src/promise/service.ts | 6 +- packages/client/test/fixture/service.ts | 10 +- .../test/fixtures/openapi-happy-path.json | 25 +- .../test/fixtures/opencode-v2-openapi.json | 5579 +++---------- .../codemode/test/string-core-test262.test.ts | 370 +- .../test/string-regexp-test262.test.ts | 150 +- .../test/string-search-test262.test.ts | 166 +- packages/httpapi-codegen/src/index.ts | 10 +- .../merman/src/flowchart/flowchart.test.ts | 4 +- packages/merman/src/flowchart/layout.ts | 12 +- packages/merman/src/palette.test.ts | 18 +- packages/plugin/src/README.md | 15 +- packages/plugin/src/effect/tool.ts | 7 +- packages/plugin/src/promise/tool.ts | 7 +- packages/plugin/src/v1/tui.ts | 4 +- packages/protocol/openapi.json | 6965 ++++++----------- packages/protocol/src/groups/question.ts | 4 +- packages/protocol/src/groups/session.ts | 130 +- packages/schema/test/contract-hygiene.test.ts | 9 +- packages/schema/test/v1-isolation.test.ts | 8 +- packages/sdk-next/test/embedded.test.ts | 48 +- packages/server/src/handlers/shell.ts | 54 +- packages/server/src/options.ts | 4 +- packages/server/src/request-tracing.ts | 4 +- packages/server/src/service-status.ts | 11 +- packages/server/test/options.test.ts | 8 +- packages/simulation/src/backend/index.ts | 4 +- .../src/backend/simulated-provider.ts | 36 +- .../simulation/src/frontend/simulation.ts | 6 +- .../simulation/test/frontend-server.test.ts | 7 +- .../test/simulated-provider.test.ts | 19 +- packages/theme/src/tui/resolve.ts | 4 +- .../tui/src/component/dialog-move-session.tsx | 5 +- packages/tui/src/context/data.tsx | 3 +- .../system/storybook/session-tabs.tsx | 6 +- packages/tui/src/mini/footer.command.tsx | 82 +- packages/tui/src/mini/runtime.queue.ts | 4 +- packages/tui/src/mini/runtime.ts | 6 +- packages/tui/src/mini/stream-v2.fragment.ts | 5 +- packages/tui/src/mini/stream-v2.transport.ts | 21 +- packages/tui/src/plugin/discovery.ts | 10 +- packages/tui/src/plugin/render.tsx | 12 +- packages/tui/src/prompt/mention.ts | 9 +- packages/tui/src/routes/session/index.tsx | 51 +- packages/tui/src/routes/session/rows.ts | 15 +- .../tui/src/routes/session/thinking-syntax.ts | 4 +- packages/tui/src/ui/dialog-export-options.tsx | 7 +- packages/tui/src/util/diff.ts | 9 +- packages/tui/test/cli/tui/data.test.tsx | 9 +- .../tui/test/cli/tui/dialog-select.test.tsx | 12 +- packages/tui/test/cli/tui/use-event.test.tsx | 5 +- .../feature-plugins/prompt-footer.test.tsx | 3 +- packages/tui/test/fixture/tui-client.ts | 20 +- packages/tui/test/mini/fixture/catalog.ts | 7 +- .../tui/test/mini/stream-v2.transport.test.ts | 38 +- packages/tui/test/mini/stream.test.ts | 1 - packages/tui/test/plugin-discovery.test.ts | 7 +- packages/tui/test/plugin-hot-reload.test.tsx | 14 +- packages/tui/test/prompt/history.test.ts | 1 - packages/tui/test/theme/v2/component.test.ts | 4 +- packages/tui/test/theme/v2/resolve.test.ts | 12 +- packages/tui/test/util/form.test.ts | 15 +- packages/tui/test/util/path-format.test.ts | 4 +- packages/tui/test/util/permission.test.ts | 14 +- packages/updates/src/index.test.ts | 8 +- packages/updates/src/index.ts | 11 +- packages/updates/wrangler.jsonc | 12 +- .../www/content/docs/(Configure)/agents.mdx | 86 +- .../content/docs/(Configure)/attachments.mdx | 40 +- .../www/content/docs/(Configure)/commands.mdx | 24 +- .../content/docs/(Configure)/compaction.mdx | 16 +- .../content/docs/(Configure)/formatters.mdx | 34 +- .../content/docs/(Configure)/instructions.mdx | 19 +- packages/www/content/docs/(Configure)/lsp.mdx | 41 +- .../content/docs/(Configure)/mcp-servers.mdx | 146 +- .../www/content/docs/(Configure)/models.mdx | 70 +- .../content/docs/(Configure)/permissions.mdx | 84 +- .../content/docs/(Configure)/providers.mdx | 88 +- .../content/docs/(Configure)/references.mdx | 58 +- .../www/content/docs/(Configure)/sharing.mdx | 2 +- .../www/content/docs/(Configure)/skills.mdx | 49 +- .../content/docs/(Configure)/snapshots.mdx | 2 +- .../www/content/docs/(Configure)/warming.mdx | 18 +- packages/www/content/docs/build/client.mdx | 12 +- packages/www/content/docs/build/index.mdx | 4 +- packages/www/content/docs/build/plugins.mdx | 65 +- packages/www/content/docs/build/sdk.mdx | 15 +- packages/www/content/docs/config.mdx | 120 +- packages/www/content/docs/index.mdx | 40 +- packages/www/content/docs/migrate-v1.mdx | 16 +- packages/www/openapi.json | 6965 ++++++----------- packages/www/public/openapi.json | 6965 ++++++----------- packages/www/wrangler.jsonc | 18 +- plans/config-normalization.md | 50 +- .../no-drizzle-column-name-snapshot.yml | 8 +- .../no-effect-die-string-snapshot.yml | 48 +- .../no-import-alias-snapshot.yml | 64 +- .../no-json-parse-cast-snapshot.yml | 8 +- ...o-nested-effect-service-yield-snapshot.yml | 16 +- .../__snapshots__/no-star-import-snapshot.yml | 32 +- script/update-artifact.ts | 8 +- specs/v2/catalog-config-plugin-lifecycle.md | 8 +- 173 files changed, 9961 insertions(+), 20833 deletions(-) diff --git a/.opencode/skills/opencode-drive/SKILL.md b/.opencode/skills/opencode-drive/SKILL.md index 6633526b109..3038e07beb4 100644 --- a/.opencode/skills/opencode-drive/SKILL.md +++ b/.opencode/skills/opencode-drive/SKILL.md @@ -251,4 +251,3 @@ opencode-drive stop --name demo ```bash opencode-drive dir --name demo ``` - diff --git a/packages/ai/src/cache-policy.ts b/packages/ai/src/cache-policy.ts index 1e314ea68a2..7f4dc9c5d91 100644 --- a/packages/ai/src/cache-policy.ts +++ b/packages/ai/src/cache-policy.ts @@ -133,7 +133,8 @@ const countHints = (request: LLMRequest) => export const applyCachePolicy = (request: LLMRequest): LLMRequest => { if (!RESPECTS_INLINE_HINTS.has(request.model.route.id)) return request - if (request.model.route.id === "openrouter" && (request.cache === undefined || request.cache === "auto")) return request + if (request.model.route.id === "openrouter" && (request.cache === undefined || request.cache === "auto")) + return request const policy = resolve(request.cache) if (!policy.tools && !policy.system && !policy.messages) return request diff --git a/packages/ai/src/protocols/openai-chat.ts b/packages/ai/src/protocols/openai-chat.ts index 3e92641ec97..cfffb95ce78 100644 --- a/packages/ai/src/protocols/openai-chat.ts +++ b/packages/ai/src/protocols/openai-chat.ts @@ -709,9 +709,7 @@ const step = (state: ParserState, event: OpenAIChatEvent) => Boolean(delta?.content) || reasoning !== undefined || (Array.isArray(delta?.reasoning_details) && delta.reasoning_details.length > 0) || - toolDeltas.some( - (tool) => Boolean(tool.id) || Boolean(tool.function?.name) || Boolean(tool.function?.arguments), - ) + toolDeltas.some((tool) => Boolean(tool.id) || Boolean(tool.function?.name) || Boolean(tool.function?.arguments)) if (state.finishReason !== undefined) { if (hasLateContent) return yield* ProviderShared.eventError(ADAPTER, "OpenAI Chat received content after the finish reason") @@ -751,8 +749,7 @@ const step = (state: ParserState, event: OpenAIChatEvent) => const fallback = toolDeltas.length > 1 ? position : (latestToolIndex ?? position) const fallbackTool = tools[fallback] ?? pendingTools[fallback] const index = - tool.index ?? matched ?? - (tool.id && fallbackTool?.id && fallbackTool.id !== tool.id ? nextToolIndex : fallback) + tool.index ?? matched ?? (tool.id && fallbackTool?.id && fallbackTool.id !== tool.id ? nextToolIndex : fallback) const current = tools[index] const pending = pendingTools[index] const id = current?.id ?? pending?.id ?? (tool.id || undefined) diff --git a/packages/ai/src/route/client.ts b/packages/ai/src/route/client.ts index 89000c15dbd..3b6fc9cf326 100644 --- a/packages/ai/src/route/client.ts +++ b/packages/ai/src/route/client.ts @@ -255,13 +255,7 @@ const requireTerminalEvent = (route: string) => (events: Stream.Stream - terminal - ? Effect.void - : Effect.fail(incompleteStreamError(route)), - ), - ), + Stream.onEnd(Effect.suspend(() => (terminal ? Effect.void : Effect.fail(incompleteStreamError(route))))), ) }) diff --git a/packages/ai/src/tool.ts b/packages/ai/src/tool.ts index 44dd6984a30..1a5b7aeb7fc 100644 --- a/packages/ai/src/tool.ts +++ b/packages/ai/src/tool.ts @@ -1,10 +1,6 @@ import { Effect, JsonSchema, Schema } from "effect" import { Tool } from "@opencode-ai/schema/tool" -import type { - ToolCallPart, - ToolDefinition as ToolDefinitionClass, - ToolOutput as ToolOutputType, -} from "./schema" +import type { ToolCallPart, ToolDefinition as ToolDefinitionClass, ToolOutput as ToolOutputType } from "./schema" import { ToolDefinition, ToolFailure, ToolOutput } from "./schema" /** @@ -244,8 +240,7 @@ const project = ( ): ToolOutputType => ToolOutput.make( toStructuredOutput?.(output) ?? output, - toModelOutput?.({ id, parameters, output }) ?? - (typeof output === "string" ? [{ type: "text", text: output }] : []), + toModelOutput?.({ id, parameters, output }) ?? (typeof output === "string" ? [{ type: "text", text: output }] : []), ) export { ToolFailure } diff --git a/packages/ai/test/fixtures/recordings/anthropic-messages-cache/keeps-a-long-tool-turn-inside-the-cache-lookback.json b/packages/ai/test/fixtures/recordings/anthropic-messages-cache/keeps-a-long-tool-turn-inside-the-cache-lookback.json index cf349fb8526..f42f76ed3b9 100644 --- a/packages/ai/test/fixtures/recordings/anthropic-messages-cache/keeps-a-long-tool-turn-inside-the-cache-lookback.json +++ b/packages/ai/test/fixtures/recordings/anthropic-messages-cache/keeps-a-long-tool-turn-inside-the-cache-lookback.json @@ -1,13 +1,7 @@ { "version": 1, "metadata": { - "tags": [ - "prefix:anthropic-messages-cache", - "provider:anthropic", - "protocol:anthropic-messages", - "cache", - "tool" - ], + "tags": ["prefix:anthropic-messages-cache", "provider:anthropic", "protocol:anthropic-messages", "cache", "tool"], "name": "anthropic-messages-cache/keeps-a-long-tool-turn-inside-the-cache-lookback", "recordedAt": "2026-07-24T16:22:29.494Z" }, diff --git a/packages/ai/test/fixtures/recordings/bedrock-converse-cache/writes-then-reads-cachepoint-on-identical-second-call.json b/packages/ai/test/fixtures/recordings/bedrock-converse-cache/writes-then-reads-cachepoint-on-identical-second-call.json index 8fd307e2202..9cd4819e2b1 100644 --- a/packages/ai/test/fixtures/recordings/bedrock-converse-cache/writes-then-reads-cachepoint-on-identical-second-call.json +++ b/packages/ai/test/fixtures/recordings/bedrock-converse-cache/writes-then-reads-cachepoint-on-identical-second-call.json @@ -1,12 +1,7 @@ { "version": 1, "metadata": { - "tags": [ - "prefix:bedrock-converse-cache", - "provider:amazon-bedrock", - "protocol:bedrock-converse", - "cache" - ], + "tags": ["prefix:bedrock-converse-cache", "provider:amazon-bedrock", "protocol:bedrock-converse", "cache"], "name": "bedrock-converse-cache/writes-then-reads-cachepoint-on-identical-second-call", "recordedAt": "2026-07-23T02:29:10.955Z" }, diff --git a/packages/ai/test/fixtures/recordings/google-images/generates-an-image.json b/packages/ai/test/fixtures/recordings/google-images/generates-an-image.json index c947aea16ca..39ad7a60c97 100644 --- a/packages/ai/test/fixtures/recordings/google-images/generates-an-image.json +++ b/packages/ai/test/fixtures/recordings/google-images/generates-an-image.json @@ -1,11 +1,7 @@ { "version": 1, "metadata": { - "tags": [ - "prefix:google-images", - "provider:google", - "protocol:google-images" - ], + "tags": ["prefix:google-images", "provider:google", "protocol:google-images"], "name": "google-images/generates-an-image", "recordedAt": "2026-07-19T16:05:51.868Z" }, diff --git a/packages/ai/test/fixtures/recordings/openai-images/generates-an-image.json b/packages/ai/test/fixtures/recordings/openai-images/generates-an-image.json index 41bf97ed4ba..ceb1bfc8152 100644 --- a/packages/ai/test/fixtures/recordings/openai-images/generates-an-image.json +++ b/packages/ai/test/fixtures/recordings/openai-images/generates-an-image.json @@ -1,11 +1,7 @@ { "version": 1, "metadata": { - "tags": [ - "prefix:openai-images", - "provider:openai", - "protocol:openai-images" - ], + "tags": ["prefix:openai-images", "provider:openai", "protocol:openai-images"], "name": "openai-images/generates-an-image", "recordedAt": "2026-07-19T14:41:43.188Z" }, diff --git a/packages/ai/test/fixtures/recordings/openai-responses-images/generates-and-edits-an-image-with-the-hosted-tool.json b/packages/ai/test/fixtures/recordings/openai-responses-images/generates-and-edits-an-image-with-the-hosted-tool.json index b1c24341ae0..b4ac1bd908b 100644 --- a/packages/ai/test/fixtures/recordings/openai-responses-images/generates-and-edits-an-image-with-the-hosted-tool.json +++ b/packages/ai/test/fixtures/recordings/openai-responses-images/generates-and-edits-an-image-with-the-hosted-tool.json @@ -1,11 +1,7 @@ { "version": 1, "metadata": { - "tags": [ - "prefix:openai-responses-images", - "provider:openai", - "protocol:openai-responses" - ], + "tags": ["prefix:openai-responses-images", "provider:openai", "protocol:openai-responses"], "name": "openai-responses-images/generates-and-edits-an-image-with-the-hosted-tool", "recordedAt": "2026-07-19T14:57:16.284Z" }, diff --git a/packages/ai/test/fixtures/recordings/openrouter-reasoning.json b/packages/ai/test/fixtures/recordings/openrouter-reasoning.json index 46f8a28296d..3be1e9f1be3 100644 --- a/packages/ai/test/fixtures/recordings/openrouter-reasoning.json +++ b/packages/ai/test/fixtures/recordings/openrouter-reasoning.json @@ -2,12 +2,7 @@ "version": 1, "metadata": { "model": "anthropic/claude-sonnet-4.6", - "tags": [ - "prefix:openai-compatible-chat", - "provider:openrouter", - "protocol:openai-chat", - "reasoning" - ], + "tags": ["prefix:openai-compatible-chat", "provider:openrouter", "protocol:openai-chat", "reasoning"], "name": "openrouter-reasoning", "recordedAt": "2026-07-18T11:28:39.267Z" }, diff --git a/packages/ai/test/fixtures/recordings/pdf/anthropic-tool-result.json b/packages/ai/test/fixtures/recordings/pdf/anthropic-tool-result.json index 69281239e5b..a3f0ec9fc40 100644 --- a/packages/ai/test/fixtures/recordings/pdf/anthropic-tool-result.json +++ b/packages/ai/test/fixtures/recordings/pdf/anthropic-tool-result.json @@ -1,14 +1,7 @@ { "version": 1, "metadata": { - "tags": [ - "prefix:pdf", - "pdf", - "provider:anthropic", - "protocol:anthropic-messages", - "tool", - "tool-result" - ], + "tags": ["prefix:pdf", "pdf", "provider:anthropic", "protocol:anthropic-messages", "tool", "tool-result"], "name": "pdf/anthropic-tool-result", "recordedAt": "2026-07-22T18:15:39.002Z" }, diff --git a/packages/ai/test/fixtures/recordings/pdf/anthropic-user-input.json b/packages/ai/test/fixtures/recordings/pdf/anthropic-user-input.json index 372474e11f0..e7951bfa9f9 100644 --- a/packages/ai/test/fixtures/recordings/pdf/anthropic-user-input.json +++ b/packages/ai/test/fixtures/recordings/pdf/anthropic-user-input.json @@ -1,13 +1,7 @@ { "version": 1, "metadata": { - "tags": [ - "prefix:pdf", - "pdf", - "provider:anthropic", - "protocol:anthropic-messages", - "user-input" - ], + "tags": ["prefix:pdf", "pdf", "provider:anthropic", "protocol:anthropic-messages", "user-input"], "name": "pdf/anthropic-user-input", "recordedAt": "2026-07-22T18:15:37.979Z" }, diff --git a/packages/ai/test/fixtures/recordings/pdf/bedrock-tool-result.json b/packages/ai/test/fixtures/recordings/pdf/bedrock-tool-result.json index 3225e019d66..ca776aa9092 100644 --- a/packages/ai/test/fixtures/recordings/pdf/bedrock-tool-result.json +++ b/packages/ai/test/fixtures/recordings/pdf/bedrock-tool-result.json @@ -1,14 +1,7 @@ { "version": 1, "metadata": { - "tags": [ - "prefix:pdf", - "pdf", - "provider:amazon-bedrock", - "protocol:bedrock-converse", - "tool", - "tool-result" - ], + "tags": ["prefix:pdf", "pdf", "provider:amazon-bedrock", "protocol:bedrock-converse", "tool", "tool-result"], "name": "pdf/bedrock-tool-result", "recordedAt": "2026-07-22T18:15:52.400Z" }, diff --git a/packages/ai/test/fixtures/recordings/pdf/bedrock-user-input.json b/packages/ai/test/fixtures/recordings/pdf/bedrock-user-input.json index 53f04e5777d..37485fb223a 100644 --- a/packages/ai/test/fixtures/recordings/pdf/bedrock-user-input.json +++ b/packages/ai/test/fixtures/recordings/pdf/bedrock-user-input.json @@ -1,13 +1,7 @@ { "version": 1, "metadata": { - "tags": [ - "prefix:pdf", - "pdf", - "provider:amazon-bedrock", - "protocol:bedrock-converse", - "user-input" - ], + "tags": ["prefix:pdf", "pdf", "provider:amazon-bedrock", "protocol:bedrock-converse", "user-input"], "name": "pdf/bedrock-user-input", "recordedAt": "2026-07-22T18:15:48.408Z" }, diff --git a/packages/ai/test/fixtures/recordings/pdf/gemini-tool-result.json b/packages/ai/test/fixtures/recordings/pdf/gemini-tool-result.json index 1ac7bc5f6ef..729958333c7 100644 --- a/packages/ai/test/fixtures/recordings/pdf/gemini-tool-result.json +++ b/packages/ai/test/fixtures/recordings/pdf/gemini-tool-result.json @@ -1,14 +1,7 @@ { "version": 1, "metadata": { - "tags": [ - "prefix:pdf", - "pdf", - "provider:google", - "protocol:gemini", - "tool", - "tool-result" - ], + "tags": ["prefix:pdf", "pdf", "provider:google", "protocol:gemini", "tool", "tool-result"], "name": "pdf/gemini-tool-result", "recordedAt": "2026-07-22T18:21:59.606Z" }, diff --git a/packages/ai/test/fixtures/recordings/pdf/gemini-user-input.json b/packages/ai/test/fixtures/recordings/pdf/gemini-user-input.json index dbe73618a04..d0e496b4623 100644 --- a/packages/ai/test/fixtures/recordings/pdf/gemini-user-input.json +++ b/packages/ai/test/fixtures/recordings/pdf/gemini-user-input.json @@ -1,13 +1,7 @@ { "version": 1, "metadata": { - "tags": [ - "prefix:pdf", - "pdf", - "provider:google", - "protocol:gemini", - "user-input" - ], + "tags": ["prefix:pdf", "pdf", "provider:google", "protocol:gemini", "user-input"], "name": "pdf/gemini-user-input", "recordedAt": "2026-07-22T18:20:55.140Z" }, diff --git a/packages/ai/test/fixtures/recordings/pdf/openai-tool-result.json b/packages/ai/test/fixtures/recordings/pdf/openai-tool-result.json index 42363b5ec8b..96a9c674224 100644 --- a/packages/ai/test/fixtures/recordings/pdf/openai-tool-result.json +++ b/packages/ai/test/fixtures/recordings/pdf/openai-tool-result.json @@ -1,14 +1,7 @@ { "version": 1, "metadata": { - "tags": [ - "prefix:pdf", - "pdf", - "provider:openai", - "protocol:openai-responses", - "tool", - "tool-result" - ], + "tags": ["prefix:pdf", "pdf", "provider:openai", "protocol:openai-responses", "tool", "tool-result"], "name": "pdf/openai-tool-result", "recordedAt": "2026-07-22T18:15:36.438Z" }, diff --git a/packages/ai/test/fixtures/recordings/pdf/openai-user-input.json b/packages/ai/test/fixtures/recordings/pdf/openai-user-input.json index ab2b4a9dd77..f579fcc66a6 100644 --- a/packages/ai/test/fixtures/recordings/pdf/openai-user-input.json +++ b/packages/ai/test/fixtures/recordings/pdf/openai-user-input.json @@ -1,13 +1,7 @@ { "version": 1, "metadata": { - "tags": [ - "prefix:pdf", - "pdf", - "provider:openai", - "protocol:openai-responses", - "user-input" - ], + "tags": ["prefix:pdf", "pdf", "provider:openai", "protocol:openai-responses", "user-input"], "name": "pdf/openai-user-input", "recordedAt": "2026-07-22T18:15:34.867Z" }, diff --git a/packages/ai/test/fixtures/recordings/pdf/xai-tool-result.json b/packages/ai/test/fixtures/recordings/pdf/xai-tool-result.json index 71833b93a57..5d7fd570f84 100644 --- a/packages/ai/test/fixtures/recordings/pdf/xai-tool-result.json +++ b/packages/ai/test/fixtures/recordings/pdf/xai-tool-result.json @@ -1,14 +1,7 @@ { "version": 1, "metadata": { - "tags": [ - "prefix:pdf", - "pdf", - "provider:xai", - "protocol:openai-responses", - "tool", - "tool-result" - ], + "tags": ["prefix:pdf", "pdf", "provider:xai", "protocol:openai-responses", "tool", "tool-result"], "name": "pdf/xai-tool-result", "recordedAt": "2026-07-22T18:15:43.608Z" }, diff --git a/packages/ai/test/fixtures/recordings/pdf/xai-user-input.json b/packages/ai/test/fixtures/recordings/pdf/xai-user-input.json index c3831f6e063..12c6c912baa 100644 --- a/packages/ai/test/fixtures/recordings/pdf/xai-user-input.json +++ b/packages/ai/test/fixtures/recordings/pdf/xai-user-input.json @@ -1,13 +1,7 @@ { "version": 1, "metadata": { - "tags": [ - "prefix:pdf", - "pdf", - "provider:xai", - "protocol:openai-responses", - "user-input" - ], + "tags": ["prefix:pdf", "pdf", "provider:xai", "protocol:openai-responses", "user-input"], "name": "pdf/xai-user-input", "recordedAt": "2026-07-22T18:15:42.429Z" }, diff --git a/packages/ai/test/fixtures/recordings/vercel-ai-gateway-reasoning.json b/packages/ai/test/fixtures/recordings/vercel-ai-gateway-reasoning.json index 9cf18c3909e..8b298665d6c 100644 --- a/packages/ai/test/fixtures/recordings/vercel-ai-gateway-reasoning.json +++ b/packages/ai/test/fixtures/recordings/vercel-ai-gateway-reasoning.json @@ -2,12 +2,7 @@ "version": 1, "metadata": { "model": "anthropic/claude-sonnet-4.6", - "tags": [ - "prefix:openai-compatible-chat", - "provider:vercel-ai-gateway", - "protocol:openai-chat", - "reasoning" - ], + "tags": ["prefix:openai-compatible-chat", "provider:vercel-ai-gateway", "protocol:openai-chat", "reasoning"], "name": "vercel-ai-gateway-reasoning", "recordedAt": "2026-07-18T11:28:42.077Z" }, diff --git a/packages/ai/test/fixtures/recordings/xai-images/generates-an-image.json b/packages/ai/test/fixtures/recordings/xai-images/generates-an-image.json index f41a54bb16f..3ef3e5c19de 100644 --- a/packages/ai/test/fixtures/recordings/xai-images/generates-an-image.json +++ b/packages/ai/test/fixtures/recordings/xai-images/generates-an-image.json @@ -1,11 +1,7 @@ { "version": 1, "metadata": { - "tags": [ - "prefix:xai-images", - "provider:xai", - "protocol:xai-images" - ], + "tags": ["prefix:xai-images", "provider:xai", "protocol:xai-images"], "name": "xai-images/generates-an-image", "recordedAt": "2026-07-19T15:56:20.098Z" }, diff --git a/packages/ai/test/provider/bedrock-converse.test.ts b/packages/ai/test/provider/bedrock-converse.test.ts index 0bca4b9c5c6..5033caf50a1 100644 --- a/packages/ai/test/provider/bedrock-converse.test.ts +++ b/packages/ai/test/provider/bedrock-converse.test.ts @@ -519,14 +519,8 @@ describe("Bedrock Converse route", () => { fixedBytes( eventStreamBody( ["messageStart", { role: "assistant" }], - [ - "contentBlockDelta", - { contentBlockIndex: 0, delta: { reasoningContent: { text: "Let me think." } } }, - ], - [ - "contentBlockDelta", - { contentBlockIndex: 0, delta: { reasoningContent: { signature: "sig_1" } } }, - ], + ["contentBlockDelta", { contentBlockIndex: 0, delta: { reasoningContent: { text: "Let me think." } } }], + ["contentBlockDelta", { contentBlockIndex: 0, delta: { reasoningContent: { signature: "sig_1" } } }], ["messageStop", { stopReason: "end_turn" }], ), ), @@ -561,10 +555,7 @@ describe("Bedrock Converse route", () => { Effect.gen(function* () { const body = eventStreamBody( ["messageStart", { role: "assistant" }], - [ - "contentBlockDelta", - { contentBlockIndex: 0, delta: { reasoningContent: { signature: "sig_1" } } }, - ], + ["contentBlockDelta", { contentBlockIndex: 0, delta: { reasoningContent: { signature: "sig_1" } } }], ["contentBlockStop", { contentBlockIndex: 0 }], ["messageStop", { stopReason: "end_turn" }], ) diff --git a/packages/ai/test/provider/openai-compatible-chat.test.ts b/packages/ai/test/provider/openai-compatible-chat.test.ts index 526e9edce2a..3f2199f731c 100644 --- a/packages/ai/test/provider/openai-compatible-chat.test.ts +++ b/packages/ai/test/provider/openai-compatible-chat.test.ts @@ -300,7 +300,9 @@ describe("OpenAI-compatible Chat route", () => { Effect.gen(function* () { const response = yield* LLMClient.generate( LLMRequest.update(request, { - tools: [ToolDefinition.make({ name: "weather", description: "Get weather", inputSchema: { type: "object" } })], + tools: [ + ToolDefinition.make({ name: "weather", description: "Get weather", inputSchema: { type: "object" } }), + ], }), ).pipe( Effect.provide( diff --git a/packages/app/e2e/performance/timeline-stability/interaction.spec.ts b/packages/app/e2e/performance/timeline-stability/interaction.spec.ts index 61e954e4f4f..72139a5c6de 100644 --- a/packages/app/e2e/performance/timeline-stability/interaction.spec.ts +++ b/packages/app/e2e/performance/timeline-stability/interaction.spec.ts @@ -177,8 +177,8 @@ test("shows all and expands historical diff summary without overlap", async ({ p const firstUser = userMessage(undefined, { summary: { diffs: Array.from({ length: 12 }, (_, index) => ({ - file: `src/diff-${index}.ts`, - status: "modified", + file: `src/diff-${index}.ts`, + status: "modified", additions: 1, deletions: 1, patch: `@@ -1 +1 @@\n-export const value = ${index}\n+export const value = ${index + 1}`, diff --git a/packages/app/e2e/regression/cross-server-tab-close.spec.ts b/packages/app/e2e/regression/cross-server-tab-close.spec.ts index e6f3481f16e..a75efa4d98f 100644 --- a/packages/app/e2e/regression/cross-server-tab-close.spec.ts +++ b/packages/app/e2e/regression/cross-server-tab-close.spec.ts @@ -85,8 +85,7 @@ async function mockServers(page: Page, requests: string[]) { const current = url.origin === serverA ? sessionA : sessionB const directory = url.searchParams.get("directory") if (directory && directory !== current.directory) return json(route, { name: "InvalidDirectory" }, 500) - if (url.pathname === "/api/event") - return sse(route) + if (url.pathname === "/api/event") return sse(route) if (url.pathname === "/api/health") return json(route, { pid: 1 }) if (url.pathname === "/api/session") return json(route, { data: [currentSession(current)], cursor: {} }) if (url.pathname === "/api/session/active") return json(route, { data: {} }) diff --git a/packages/app/e2e/regression/remote-session-settings.spec.ts b/packages/app/e2e/regression/remote-session-settings.spec.ts index 3e6d0791a99..3aea47fbf66 100644 --- a/packages/app/e2e/regression/remote-session-settings.spec.ts +++ b/packages/app/e2e/regression/remote-session-settings.spec.ts @@ -181,12 +181,17 @@ async function mockServers(page: Page, permissionRequests: string[], permissionR return json(route, true) } if (requestDirectory && requestDirectory !== directory) return json(route, { name: "InvalidDirectory" }, 500) - if (url.pathname === "/api/event") - return sse(route) + if (url.pathname === "/api/event") return sse(route) if (url.pathname === "/api/provider") return json(route, { location: { directory }, - data: [{ id: remote ? "server-b" : "server-a", name: remote ? "Server B Provider" : "Server A Provider", package: "test" }], + data: [ + { + id: remote ? "server-b" : "server-a", + name: remote ? "Server B Provider" : "Server A Provider", + package: "test", + }, + ], }) if (url.pathname === "/api/model") return json(route, { location: { directory }, data: [model(remote)] }) if (url.pathname === "/api/model/default") return json(route, { location: { directory }, data: model(remote) }) diff --git a/packages/app/e2e/regression/remote-tab-busy.spec.ts b/packages/app/e2e/regression/remote-tab-busy.spec.ts index 43c3365102f..52fbf79c0bd 100644 --- a/packages/app/e2e/regression/remote-tab-busy.spec.ts +++ b/packages/app/e2e/regression/remote-tab-busy.spec.ts @@ -58,8 +58,7 @@ async function mockServers(page: Page) { const current = url.origin === serverA ? sessionA : sessionB const directory = url.searchParams.get("directory") if (directory && directory !== current.directory) return json(route, { name: "InvalidDirectory" }, 500) - if (url.pathname === "/api/event") - return sse(route, url.pathname === "/api/event") + if (url.pathname === "/api/event") return sse(route, url.pathname === "/api/event") if (url.pathname === "/api/health") return json(route, { pid: 1 }) if (url.pathname === "/api/session/active") return json(route, { data: url.origin === serverB ? { [sessionB.id]: { type: "running" } } : {} }) diff --git a/packages/app/e2e/regression/review-terminal-stacked.spec.ts b/packages/app/e2e/regression/review-terminal-stacked.spec.ts index 2ccae4a8edd..ba222eb3a64 100644 --- a/packages/app/e2e/regression/review-terminal-stacked.spec.ts +++ b/packages/app/e2e/regression/review-terminal-stacked.spec.ts @@ -171,8 +171,8 @@ test("keeps the review tree and terminal sized when both panels are open", async expect(bottomGap).toBeLessThanOrEqual(16) const lazyDiff = page.waitForRequest((request) => { const url = new URL(request.url()) - return ( - url.pathname === "/api/vcs/diff" && + return ( + url.pathname === "/api/vcs/diff" && url.searchParams.get("location[directory]")?.replaceAll("\\", "/").endsWith("/src/branch/d00027") === true ) }) diff --git a/packages/app/e2e/regression/session-timeline-projection.spec.ts b/packages/app/e2e/regression/session-timeline-projection.spec.ts index 09d132b581e..65ece3c2dea 100644 --- a/packages/app/e2e/regression/session-timeline-projection.spec.ts +++ b/packages/app/e2e/regression/session-timeline-projection.spec.ts @@ -86,15 +86,10 @@ test.describe("session timeline projection", () => { ], { summary: { diffs: Array.from({ length: 11 }, (_, index) => summaryDiff(index)) } }, ) - const aborted = assistantMessage( - [ - { id: "prt_before_abort", type: "text", text: "Before interruption" }, - ], - { - id: "msg_1001_assistant_aborted", - error: { name: "MessageAbortedError", data: { message: "Stopped" } }, - }, - ) + const aborted = assistantMessage([{ id: "prt_before_abort", type: "text", text: "Before interruption" }], { + id: "msg_1001_assistant_aborted", + error: { name: "MessageAbortedError", data: { message: "Stopped" } }, + }) const failed = assistantMessage([{ id: "prt_after_abort", type: "text", text: "After interruption" }], { id: "msg_1002_assistant_failed", error: { diff --git a/packages/app/e2e/regression/tab-navigate-mousedown.spec.ts b/packages/app/e2e/regression/tab-navigate-mousedown.spec.ts index 8caaaca9645..93e2107cafd 100644 --- a/packages/app/e2e/regression/tab-navigate-mousedown.spec.ts +++ b/packages/app/e2e/regression/tab-navigate-mousedown.spec.ts @@ -89,8 +89,7 @@ async function mockServer(page: Page) { if (url.origin !== server) return route.fallback() if ([`/api/session/${unresolvedSessionID}`, `/session/${unresolvedSessionID}`].includes(url.pathname)) return new Promise(() => {}) - if (url.pathname === "/api/event") - return sse(route) + if (url.pathname === "/api/event") return sse(route) if (url.pathname === "/api/session") return json(route, { data: sessions.map(currentSession), cursor: {} }) if (url.pathname === "/api/session/active") return json(route, { data: {} }) const currentSessionInfo = sessions.find((item) => url.pathname === `/api/session/${item.id}`) diff --git a/packages/app/e2e/smoke/session-timeline.fixture.ts b/packages/app/e2e/smoke/session-timeline.fixture.ts index 939c8bd3f30..6eedd6f346a 100644 --- a/packages/app/e2e/smoke/session-timeline.fixture.ts +++ b/packages/app/e2e/smoke/session-timeline.fixture.ts @@ -300,9 +300,8 @@ export const fixture = { .filter((message) => message.info.role === "user") .map((message) => message.info.id), targetPartIDs: targetMessages.flatMap(currentPartIDs), - expandedShellPartID: targetMessages - .flatMap((message) => message.parts) - .find((part) => part.tool === "bash")!.callID, + expandedShellPartID: targetMessages.flatMap((message) => message.parts).find((part) => part.tool === "bash")! + .callID, }, } diff --git a/packages/app/e2e/utils/mock-server.ts b/packages/app/e2e/utils/mock-server.ts index 6c6d114d46a..93fb8a095a0 100644 --- a/packages/app/e2e/utils/mock-server.ts +++ b/packages/app/e2e/utils/mock-server.ts @@ -144,7 +144,8 @@ export async function mockOpenCodeServer(page: Page, config: MockServerConfig) { location: location(config), data: currentProviders(providerConfig(config)), }) - if (path === "/api/model") return json(route, { location: location(config), data: currentModels(providerConfig(config)) }) + if (path === "/api/model") + return json(route, { location: location(config), data: currentModels(providerConfig(config)) }) if (path === "/api/model/default") return json(route, { location: location(config), data: currentDefaultModel(providerConfig(config)) }) if (path === "/api/integration") return json(route, { location: location(config), data: [] }) @@ -206,7 +207,8 @@ export async function mockOpenCodeServer(page: Page, config: MockServerConfig) { const fileRead = path.match(/^\/api\/fs\/read\/(.+)$/)?.[1] if (fileRead && config.fileContent) { const value = await config.fileContent(decodeURIComponent(fileRead)) - const content = value && typeof value === "object" && "content" in value ? String(value.content) : String(value ?? "") + const content = + value && typeof value === "object" && "content" in value ? String(value.content) : String(value ?? "") return route.fulfill({ status: 200, body: content, headers: { "content-type": "application/octet-stream" } }) } if (path === "/api/fs/find" && config.findFiles) { @@ -281,7 +283,8 @@ export async function mockOpenCodeServer(page: Page, config: MockServerConfig) { if (/^\/api\/session\/[^/]+\/permission\/[^/]+\/reply$/.test(path) && route.request().method() === "POST") { return route.fulfill({ status: 204, headers: { "access-control-allow-origin": "*" } }) } - if (/^\/question\/[^/]+\/(reply|reject)$/.test(path) && route.request().method() === "POST") return json(route, true) + if (/^\/question\/[^/]+\/(reply|reject)$/.test(path) && route.request().method() === "POST") + return json(route, true) if (/^\/session\/[^/]+\/permissions\/[^/]+$/.test(path) && route.request().method() === "POST") return json(route, true) if ( @@ -386,11 +389,13 @@ function providerConfig(config: MockServerConfig) { function currentProviders(value: unknown) { if (!record(value) || !Array.isArray(value.all)) return Array.isArray(value) ? value : [] - return value.all.filter(record).flatMap((provider) => - typeof provider.id === "string" && typeof provider.name === "string" - ? [{ id: provider.id, name: provider.name, package: provider.id }] - : [], - ) + return value.all + .filter(record) + .flatMap((provider) => + typeof provider.id === "string" && typeof provider.name === "string" + ? [{ id: provider.id, name: provider.name, package: provider.id }] + : [], + ) } function currentModels(value: unknown) { @@ -440,9 +445,7 @@ function currentDefaultModel(value: unknown) { if (!record(value) || !record(value.default)) return null const selected = value.default const models = currentModels(value) - return models.find( - (model) => model.providerID === selected.providerID && model.id === selected.modelID, - ) ?? null + return models.find((model) => model.providerID === selected.providerID && model.id === selected.modelID) ?? null } function currentPermission(value: unknown) { @@ -562,22 +565,16 @@ function legacyAgent(part: Record): PromptAgentAttachment[] { } function mentionFrom(value: Record | undefined) { - if ( - !value || - typeof value.value !== "string" || - typeof value.start !== "number" || - typeof value.end !== "number" - ) + if (!value || typeof value.value !== "string" || typeof value.start !== "number" || typeof value.end !== "number") return return { text: value.value, start: value.start, end: value.end } } -function legacyAssistantContent( - part: Record, - created: number, -): SessionMessageAssistant["content"] { +function legacyAssistantContent(part: Record, created: number): SessionMessageAssistant["content"] { if (part.type === "text" && typeof part.text === "string") - return [{ type: "text", text: part.text, ...(jsonRecord(part.metadata) ? { state: jsonRecord(part.metadata) } : {}) }] + return [ + { type: "text", text: part.text, ...(jsonRecord(part.metadata) ? { state: jsonRecord(part.metadata) } : {}) }, + ] if (part.type === "reasoning" && typeof part.text === "string") { const time = record(part.time) ? part.time : undefined return [ @@ -618,7 +615,12 @@ function legacyAssistantContent( ...(jsonRecord(part.providerResultState) ? { providerResultState: jsonRecord(part.providerResultState) } : {}), } if (state.status === "pending") - return [{ ...base, state: { status: "streaming", input: typeof state.raw === "string" ? state.raw : JSON.stringify(input) } }] + return [ + { + ...base, + state: { status: "streaming", input: typeof state.raw === "string" ? state.raw : JSON.stringify(input) }, + }, + ] if (state.status === "completed") return [ { diff --git a/packages/app/e2e/utils/sse-transport.ts b/packages/app/e2e/utils/sse-transport.ts index a245082bc71..b1f5ba9918f 100644 --- a/packages/app/e2e/utils/sse-transport.ts +++ b/packages/app/e2e/utils/sse-transport.ts @@ -174,8 +174,7 @@ export async function installSseTransport( const fetch = (input: RequestInfo | URL, init?: RequestInit) => { const request = new Request(input, init) const url = new URL(request.url) - if (url.origin !== server || url.pathname !== "/api/event") - return originalFetch(request) + if (url.origin !== server || url.pathname !== "/api/event") return originalFetch(request) const id = ++nextConnectionID const record = { diff --git a/packages/app/index.html b/packages/app/index.html index a3936704aed..6c8a00ede03 100644 --- a/packages/app/index.html +++ b/packages/app/index.html @@ -20,7 +20,10 @@ - +
diff --git a/packages/app/src/app.tsx b/packages/app/src/app.tsx index 865aa2e0f4b..5f95b51fc6c 100644 --- a/packages/app/src/app.tsx +++ b/packages/app/src/app.tsx @@ -9,14 +9,7 @@ import { Font } from "@opencode-ai/ui/font" import { Splash } from "@opencode-ai/ui/logo" import { ThemeProvider } from "@opencode-ai/ui/theme/context" import { MetaProvider } from "@solidjs/meta" -import { - type BaseRouterProps, - Navigate, - Route, - Router, - useParams, - useSearchParams, -} from "@solidjs/router" +import { type BaseRouterProps, Navigate, Route, Router, useParams, useSearchParams } from "@solidjs/router" import { QueryClient, QueryClientProvider } from "@tanstack/solid-query" import { Effect } from "effect" import { diff --git a/packages/app/src/components/settings-v2/providers.tsx b/packages/app/src/components/settings-v2/providers.tsx index 067a55bae89..bde39ec2712 100644 --- a/packages/app/src/components/settings-v2/providers.tsx +++ b/packages/app/src/components/settings-v2/providers.tsx @@ -123,9 +123,7 @@ export const SettingsProvidersV2: Component<{ const credentials = integration.data?.connections.filter((item) => item.type === "credential") ?? [] if (credentials.length === 0) throw new Error(`No removable credentials found for ${name}`) await Promise.all( - credentials.map((credential) => - serverSdk().api.credential.remove({ credentialID: credential.id, location }), - ), + credentials.map((credential) => serverSdk().api.credential.remove({ credentialID: credential.id, location })), ) showToast({ variant: "success", diff --git a/packages/app/src/components/status-popover-body.tsx b/packages/app/src/components/status-popover-body.tsx index b4422c38eb5..466d613a91a 100644 --- a/packages/app/src/components/status-popover-body.tsx +++ b/packages/app/src/components/status-popover-body.tsx @@ -5,7 +5,16 @@ import { Switch } from "@opencode-ai/ui/switch" import { Tabs } from "@opencode-ai/ui/tabs" import { showToast } from "@/utils/toast" import { useNavigate } from "@solidjs/router" -import { type Accessor, createEffect, createMemo, createResource, For, type JSXElement, onCleanup, Show } from "solid-js" +import { + type Accessor, + createEffect, + createMemo, + createResource, + For, + type JSXElement, + onCleanup, + Show, +} from "solid-js" import { createStore } from "solid-js/store" import { ServerHealthIndicator, ServerRow } from "@/components/server/server-row" import { useLanguage } from "@/context/language" @@ -291,7 +300,10 @@ export function StatusPopoverBody(props: { shown: Accessor }) { const lspCount = createMemo(() => lspItems().length) const [pluginList] = createResource( () => (props.shown() ? sdk().directory : undefined), - (directory) => sdk().api.plugin.list({ location: { directory } }).then((result) => result.data), + (directory) => + sdk() + .api.plugin.list({ location: { directory } }) + .then((result) => result.data), ) const plugins = createMemo(() => (pluginList.latest ?? []).map((item) => item.id)) const pluginCount = createMemo(() => plugins().length) diff --git a/packages/app/src/components/titlebar.tsx b/packages/app/src/components/titlebar.tsx index a0ccbadf90f..c148dd0c139 100644 --- a/packages/app/src/components/titlebar.tsx +++ b/packages/app/src/components/titlebar.tsx @@ -190,10 +190,7 @@ export function Titlebar(props: { update?: TitlebarUpdate; debugTools?: { visibl .find((item) => ServerConnection.key(item) === (route.server ?? server.key)) return conn ? { route, sdk: global.ensureServerCtx(conn).sdk } : undefined }, - ({ route, sdk }) => - sdk.api.session - .get({ sessionID: route.sessionId }) - .catch(() => {}), + ({ route, sdk }) => sdk.api.session.get({ sessionID: route.sessionId }).catch(() => {}), ) const matchRoute = (route: LayoutRoute) => { diff --git a/packages/app/src/context/directory-sync.ts b/packages/app/src/context/directory-sync.ts index 4615a9a4cc6..f1665e0b390 100644 --- a/packages/app/src/context/directory-sync.ts +++ b/packages/app/src/context/directory-sync.ts @@ -124,9 +124,7 @@ export const createDirSyncContext = ( const [store, setStore] = current() setStore("limit", (value) => value + count) const response = await serverSDK.api.session.list({ directory, limit: store.limit, order: "desc" }) - const sessions = response.data - .sort((a, b) => cmp(a.id, b.id)) - .slice(0, store.limit) + const sessions = response.data.sort((a, b) => cmp(a.id, b.id)).slice(0, store.limit) sessions.forEach(serverSync.session.remember) setStore("session", reconcile(sessions, { key: "id" })) }, diff --git a/packages/app/src/context/global-sync/bootstrap.ts b/packages/app/src/context/global-sync/bootstrap.ts index 250505c8801..5e09ca57cf3 100644 --- a/packages/app/src/context/global-sync/bootstrap.ts +++ b/packages/app/src/context/global-sync/bootstrap.ts @@ -1,9 +1,4 @@ -import type { - Config, - Path, - Project, - ProviderAuthResponse, -} from "@/types" +import type { Config, Path, Project, ProviderAuthResponse } from "@/types" import type { AgentListInput, AgentListOutput, @@ -31,12 +26,7 @@ import { batch } from "solid-js" import { produce, reconcile, type SetStoreFunction, type Store } from "solid-js/store" import type { State, VcsCache } from "./types" import type { ServerSession } from "../server-session" -import { - cmp, - normalizeAgentList, - normalizeProjectInfo, - normalizeProviderList, -} from "./utils" +import { cmp, normalizeAgentList, normalizeProjectInfo, normalizeProviderList } from "./utils" import { formatServerError } from "@/utils/server-errors" import { QueryClient, queryOptions } from "@tanstack/solid-query" import { loadMcpQuery, loadMcpResourcesQuery } from "../server-sync" @@ -148,10 +138,7 @@ export async function bootstrapGlobal(input: { }) { const slow = [ () => input.queryClient.fetchQuery(loadGlobalConfigQuery(input.scope)), - () => - input.queryClient.fetchQuery( - loadProvidersQuery(input.scope, null, input.serverAPI), - ), + () => input.queryClient.fetchQuery(loadProvidersQuery(input.scope, null, input.serverAPI)), () => input.queryClient.fetchQuery(loadPathQuery(input.scope, null, input.serverAPI.location)), () => input.queryClient @@ -211,11 +198,7 @@ function warmSessions(input: { ).then(() => undefined) } -export const loadProvidersQuery = ( - scope: ServerScope, - directory: string | null, - sdk: CatalogApi, -) => +export const loadProvidersQuery = (scope: ServerScope, directory: string | null, sdk: CatalogApi) => queryOptions({ queryKey: [scope, directory, "providers"], queryFn: () => @@ -242,28 +225,16 @@ type ReferenceListApi = { readonly list: (input?: ReferenceListInput) => Promise } -export const loadAgentsQuery = ( - scope: ServerScope, - directory: string, - sdk: AgentListApi, -) => +export const loadAgentsQuery = (scope: ServerScope, directory: string, sdk: AgentListApi) => queryOptions({ queryKey: [scope, directory, "agents"], - queryFn: () => - retry(() => sdk.list({ location: { directory } }).then((result) => normalizeAgentList(result.data))), + queryFn: () => retry(() => sdk.list({ location: { directory } }).then((result) => normalizeAgentList(result.data))), }) -export const loadCommands = ( - directory: string, - api: CommandListApi, -): Promise => +export const loadCommands = (directory: string, api: CommandListApi): Promise => retry(() => api.list({ location: { directory } }).then((result) => result.data)) -export const loadPathQuery = ( - scope: ServerScope, - directory: string | null, - api: LocationApi, -) => +export const loadPathQuery = (scope: ServerScope, directory: string | null, api: LocationApi) => queryOptions({ queryKey: [scope, directory, "path"], queryFn: () => @@ -276,15 +247,10 @@ export const loadPathQuery = ( })), }) -export const loadReferencesQuery = ( - scope: ServerScope, - directory: string, - api: ReferenceListApi, -) => +export const loadReferencesQuery = (scope: ServerScope, directory: string, api: ReferenceListApi) => queryOptions({ queryKey: [scope, directory, "references"] as const, - queryFn: () => - retry(() => api.list({ location: { directory } }).then((result) => result.data)).catch(() => []), + queryFn: () => retry(() => api.list({ location: { directory } }).then((result) => result.data)).catch(() => []), placeholderData: [], }) @@ -353,46 +319,41 @@ export async function bootstrapDirectory(input: { })), input.mcp && (() => - loadCommands(input.directory, input.api.command).then((commands) => - input.setStore("command", commands), - )), - () => - input.queryClient.fetchQuery( - loadReferencesQuery(input.scope, input.directory, input.api.reference), - ), + loadCommands(input.directory, input.api.command).then((commands) => input.setStore("command", commands))), + () => input.queryClient.fetchQuery(loadReferencesQuery(input.scope, input.directory, input.api.reference)), () => retry(() => input.api.permission.request .list({ location: { directory: input.directory } }) .then((result) => result.data) .then((permissions) => { - const ids = permissions.map((permission) => permission.sessionID) - const grouped = groupBySession( - permissions.filter((permission) => !!permission.id && !!permission.sessionID), - ) - const warm = input.session - ? Promise.all(ids.map((sessionID) => input.session!.resolve(sessionID))).then(() => undefined) - : warmSessions({ ids, store: input.store, setStore: input.setStore, api: input.api.session }) - return warm.then(() => - batch(() => { - const current = input.session?.data.permission ?? input.store.permission - for (const sessionID of Object.keys(current)) { - if (grouped[sessionID]) continue - if (input.session?.get(sessionID)?.location.directory !== input.directory) continue - if (input.session) input.session.set("permission", sessionID, []) - if (!input.session) input.setStore("permission", sessionID, []) - } - for (const [sessionID, permissions] of Object.entries(grouped)) { - const value = reconcile( - permissions.filter((p) => !!p?.id).sort((a, b) => cmp(a.id, b.id)), - { key: "id" }, - ) - if (input.session) input.session.set("permission", sessionID, value) - if (!input.session) input.setStore("permission", sessionID, value) - } - }), - ) - }), + const ids = permissions.map((permission) => permission.sessionID) + const grouped = groupBySession( + permissions.filter((permission) => !!permission.id && !!permission.sessionID), + ) + const warm = input.session + ? Promise.all(ids.map((sessionID) => input.session!.resolve(sessionID))).then(() => undefined) + : warmSessions({ ids, store: input.store, setStore: input.setStore, api: input.api.session }) + return warm.then(() => + batch(() => { + const current = input.session?.data.permission ?? input.store.permission + for (const sessionID of Object.keys(current)) { + if (grouped[sessionID]) continue + if (input.session?.get(sessionID)?.location.directory !== input.directory) continue + if (input.session) input.session.set("permission", sessionID, []) + if (!input.session) input.setStore("permission", sessionID, []) + } + for (const [sessionID, permissions] of Object.entries(grouped)) { + const value = reconcile( + permissions.filter((p) => !!p?.id).sort((a, b) => cmp(a.id, b.id)), + { key: "id" }, + ) + if (input.session) input.session.set("permission", sessionID, value) + if (!input.session) input.setStore("permission", sessionID, value) + } + }), + ) + }), ), () => retry(() => @@ -400,56 +361,47 @@ export async function bootstrapDirectory(input: { .list({ location: { directory: input.directory } }) .then((result) => result.data) .then((questions) => { - const ids = questions.map((question) => question.sessionID) - const grouped = groupBySession( - questions.filter((question) => !!question.id && !!question.sessionID) as QuestionRequest[], - ) - const warm = input.session - ? Promise.all(ids.map((sessionID) => input.session!.resolve(sessionID))).then(() => undefined) - : warmSessions({ ids, store: input.store, setStore: input.setStore, api: input.api.session }) - return warm.then(() => - batch(() => { - const current = input.session?.data.question ?? input.store.question - for (const sessionID of Object.keys(current)) { - if (grouped[sessionID]) continue - if (input.session?.get(sessionID)?.location.directory !== input.directory) continue - if (input.session) input.session.set("question", sessionID, []) - if (!input.session) input.setStore("question", sessionID, []) - } - for (const [sessionID, questions] of Object.entries(grouped)) { - const value = reconcile( - questions.filter((q) => !!q?.id).sort((a, b) => cmp(a.id, b.id)), - { key: "id" }, - ) - if (input.session) input.session.set("question", sessionID, value) - if (!input.session) input.setStore("question", sessionID, value) - } - }), - ) - }), + const ids = questions.map((question) => question.sessionID) + const grouped = groupBySession( + questions.filter((question) => !!question.id && !!question.sessionID) as QuestionRequest[], + ) + const warm = input.session + ? Promise.all(ids.map((sessionID) => input.session!.resolve(sessionID))).then(() => undefined) + : warmSessions({ ids, store: input.store, setStore: input.setStore, api: input.api.session }) + return warm.then(() => + batch(() => { + const current = input.session?.data.question ?? input.store.question + for (const sessionID of Object.keys(current)) { + if (grouped[sessionID]) continue + if (input.session?.get(sessionID)?.location.directory !== input.directory) continue + if (input.session) input.session.set("question", sessionID, []) + if (!input.session) input.setStore("question", sessionID, []) + } + for (const [sessionID, questions] of Object.entries(grouped)) { + const value = reconcile( + questions.filter((q) => !!q?.id).sort((a, b) => cmp(a.id, b.id)), + { key: "id" }, + ) + if (input.session) input.session.set("question", sessionID, value) + if (!input.session) input.setStore("question", sessionID, value) + } + }), + ) + }), ), () => Promise.resolve(input.loadSessions(input.directory)), + input.mcp && (() => input.queryClient.fetchQuery(loadMcpQuery(input.scope, input.directory, input.api.mcp))), input.mcp && - (() => - input.queryClient.fetchQuery( - loadMcpQuery(input.scope, input.directory, input.api.mcp), - )), - input.mcp && - (() => - input.queryClient.fetchQuery( - loadMcpResourcesQuery(input.scope, input.directory, input.api.mcp), - )), + (() => input.queryClient.fetchQuery(loadMcpResourcesQuery(input.scope, input.directory, input.api.mcp))), () => - input.queryClient - .fetchQuery(loadProvidersQuery(input.scope, input.directory, input.api)) - .catch((err) => { - const project = getFilename(input.directory) - showToast({ - variant: "error", - title: input.translate("toast.project.reloadFailed.title", { project }), - description: formatServerError(err, input.translate), - }) - }), + input.queryClient.fetchQuery(loadProvidersQuery(input.scope, input.directory, input.api)).catch((err) => { + const project = getFilename(input.directory) + showToast({ + variant: "error", + title: input.translate("toast.project.reloadFailed.title", { project }), + description: formatServerError(err, input.translate), + }) + }), ].filter(Boolean) as (() => Promise)[] await waitForPaint() diff --git a/packages/app/src/context/global-sync/event-reducer.ts b/packages/app/src/context/global-sync/event-reducer.ts index 540447a1c58..419c14d1316 100644 --- a/packages/app/src/context/global-sync/event-reducer.ts +++ b/packages/app/src/context/global-sync/event-reducer.ts @@ -1,12 +1,13 @@ import { Binary } from "@opencode-ai/core/util/binary" import { produce, reconcile, type SetStoreFunction, type Store } from "solid-js/store" +import type { Message, Part, Project, Todo } from "@/types" import type { - Message, - Part, - Project, - Todo, -} from "@/types" -import type { FileDiffInfo, PermissionRequest, QuestionRequest, SessionInfo, SessionStatus } from "@opencode-ai/client/promise" + FileDiffInfo, + PermissionRequest, + QuestionRequest, + SessionInfo, + SessionStatus, +} from "@opencode-ai/client/promise" import type { State, VcsCache } from "./types" import { trimSessions } from "./session-trim" import { dropSessionCaches } from "./session-cache" diff --git a/packages/app/src/context/global-sync/home-session-index.test.ts b/packages/app/src/context/global-sync/home-session-index.test.ts index 64268674607..42a88b1af12 100644 --- a/packages/app/src/context/global-sync/home-session-index.test.ts +++ b/packages/app/src/context/global-sync/home-session-index.test.ts @@ -81,9 +81,9 @@ describe("Home V2 session index", () => { ]) expect(result).toEqual([ - expect.objectContaining({ - id: "root", - location: { directory: "/project" }, + expect.objectContaining({ + id: "root", + location: { directory: "/project" }, projectID: "project", title: "root", time: { created: 1, updated: 30 }, diff --git a/packages/app/src/context/global-sync/types.ts b/packages/app/src/context/global-sync/types.ts index 9f91c1f791a..212ba713990 100644 --- a/packages/app/src/context/global-sync/types.ts +++ b/packages/app/src/context/global-sync/types.ts @@ -1,13 +1,4 @@ -import type { - Agent, - Config, - LspStatus, - Message, - Part, - Path, - Todo, - VcsInfo, -} from "@/types" +import type { Agent, Config, LspStatus, Message, Part, Path, Todo, VcsInfo } from "@/types" import type { FileDiffInfo, PermissionRequest, diff --git a/packages/app/src/context/server-session.test.ts b/packages/app/src/context/server-session.test.ts index 57cbf50565c..7d9b85b3279 100644 --- a/packages/app/src/context/server-session.test.ts +++ b/packages/app/src/context/server-session.test.ts @@ -67,64 +67,74 @@ function currentMessages(data: MessageResponse["data"]): SessionMessageInfo[] { }, ] } - return [{ - id: item.info.id, - type: "assistant", - agent: item.info.agent, - model: { id: item.info.modelID, providerID: item.info.providerID, variant: item.info.variant }, - content: item.parts.flatMap((part): SessionMessageAssistant["content"] => { - if (part.type === "text") return [{ type: "text", text: part.text }] - if (part.type === "reasoning") + return [ + { + id: item.info.id, + type: "assistant", + agent: item.info.agent, + model: { id: item.info.modelID, providerID: item.info.providerID, variant: item.info.variant }, + content: item.parts.flatMap((part): SessionMessageAssistant["content"] => { + if (part.type === "text") return [{ type: "text", text: part.text }] + if (part.type === "reasoning") + return [ + { + type: "reasoning", + text: part.text, + time: part.time ? { created: part.time.start, completed: part.time.end } : undefined, + }, + ] + if (part.type !== "tool") return [] + const state: SessionMessageAssistantTool["state"] = (() => { + if (part.state.status === "pending") + return { status: "streaming" as const, input: JSON.stringify(part.state.input) } + if (part.state.status === "running") + return { + status: "running" as const, + input: part.state.input as CurrentToolObject, + metadata: (part.state.metadata ?? {}) as CurrentToolObject, + } + if (part.state.status === "error") + return { + status: "error" as const, + input: part.state.input as CurrentToolObject, + error: { type: "tool_error", message: part.state.error }, + metadata: part.state.metadata as CurrentToolObject | undefined, + } + return { + status: "completed" as const, + input: part.state.input as CurrentToolObject, + content: [{ type: "text" as const, text: part.state.output }], + metadata: part.state.metadata as CurrentToolObject, + } + })() return [ { - type: "reasoning", - text: part.text, - time: part.time ? { created: part.time.start, completed: part.time.end } : undefined, + id: part.id, + type: "tool" as const, + name: part.tool, + state, + time: { + created: part.state.status === "pending" ? item.info.time.created : part.state.time.start, + ran: part.state.status === "pending" ? undefined : part.state.time.start, + completed: + part.state.status === "completed" || part.state.status === "error" ? part.state.time.end : undefined, + }, }, ] - if (part.type !== "tool") return [] - const state: SessionMessageAssistantTool["state"] = (() => { - if (part.state.status === "pending") return { status: "streaming" as const, input: JSON.stringify(part.state.input) } - if (part.state.status === "running") - return { - status: "running" as const, - input: part.state.input as CurrentToolObject, - metadata: (part.state.metadata ?? {}) as CurrentToolObject, - } - if (part.state.status === "error") - return { - status: "error" as const, - input: part.state.input as CurrentToolObject, - error: { type: "tool_error", message: part.state.error }, - metadata: part.state.metadata as CurrentToolObject | undefined, - } - return { - status: "completed" as const, - input: part.state.input as CurrentToolObject, - content: [{ type: "text" as const, text: part.state.output }], - metadata: part.state.metadata as CurrentToolObject, - } - })() - return [ - { - id: part.id, - type: "tool" as const, - name: part.tool, - state, - time: { - created: part.state.status === "pending" ? item.info.time.created : part.state.time.start, - ran: part.state.status === "pending" ? undefined : part.state.time.start, - completed: - part.state.status === "completed" || part.state.status === "error" ? part.state.time.end : undefined, - }, - }, - ] - }), - time: item.info.time, - cost: item.info.cost, - tokens: item.info.tokens, - finish: item.info.finish as "stop" | "length" | "tool-calls" | "content-filter" | "error" | "unknown" | undefined, - }] + }), + time: item.info.time, + cost: item.info.cost, + tokens: item.info.tokens, + finish: item.info.finish as + | "stop" + | "length" + | "tool-calls" + | "content-filter" + | "error" + | "unknown" + | undefined, + }, + ] }) } @@ -428,270 +438,259 @@ describe("server session", () => { // V2 messages are ordered projections and do not expose V1 assistant parent IDs. describe.skip("V1 assistant parent projections", () => { - test("backfills an assistant-only initial page through its user root", async () => { - const user = userMessage("message-1") - const assistants = [assistantMessage("message-2", user.id), assistantMessage("message-3", user.id)] - const client = rootMessageClient( - [ - response(assistants.map((info) => ({ info, parts: [] }))), - ], - [singleResponse(user)], - ) - const store = createServerSession(client) + test("backfills an assistant-only initial page through its user root", async () => { + const user = userMessage("message-1") + const assistants = [assistantMessage("message-2", user.id), assistantMessage("message-3", user.id)] + const client = rootMessageClient( + [response(assistants.map((info) => ({ info, parts: [] })))], + [singleResponse(user)], + ) + const store = createServerSession(client) - await store.sync("child") + await store.sync("child") - expect(client.requests).toEqual([{ sessionID: "child", limit: 20, order: "desc" }]) - expect(client.rootRequests).toEqual([{ sessionID: "child", messageID: user.id }]) - expect(store.data.message.child).toEqual([user, ...assistants]) - expect(store.history.more("child")).toBe(false) - }) + expect(client.requests).toEqual([{ sessionID: "child", limit: 20, order: "desc" }]) + expect(client.rootRequests).toEqual([{ sessionID: "child", messageID: user.id }]) + expect(store.data.message.child).toEqual([user, ...assistants]) + expect(store.history.more("child")).toBe(false) + }) - test("keeps assistant history when its deleted parent cannot be backfilled", async () => { - const missing = Promise.withResolvers() - const assistant = assistantMessage("message-2", "message-missing") - const client = rootMessageClient([response([{ info: assistant, parts: [] }])], [missing.promise]) - const store = createServerSession(client) - const loading = store.sync("child") - await client.rootRequested(1) + test("keeps assistant history when its deleted parent cannot be backfilled", async () => { + const missing = Promise.withResolvers() + const assistant = assistantMessage("message-2", "message-missing") + const client = rootMessageClient([response([{ info: assistant, parts: [] }])], [missing.promise]) + const store = createServerSession(client) + const loading = store.sync("child") + await client.rootRequested(1) - missing.reject(new Error("Message not found: message-missing", { cause: { status: 404 } })) - await loading + missing.reject(new Error("Message not found: message-missing", { cause: { status: 404 } })) + await loading - expect(client.rootRequests).toEqual([{ sessionID: "child", messageID: "message-missing" }]) - expect(store.data.message.child).toEqual([assistant]) - expect(store.history.more("child")).toBe(false) - }) + expect(client.rootRequests).toEqual([{ sessionID: "child", messageID: "message-missing" }]) + expect(store.data.message.child).toEqual([assistant]) + expect(store.history.more("child")).toBe(false) + }) - test("drops a cached parent when a forced refresh confirms it was deleted", async () => { - const missing = Promise.withResolvers() - const parent = userMessage("message-1") - const part = textPart(parent.id) - const assistant = assistantMessage("message-2", parent.id) - const client = rootMessageClient( - [ - response([ - { info: parent, parts: [part] }, - { info: assistant, parts: [] }, - ]), - response([{ info: assistant, parts: [] }]), - ], - [missing.promise], - ) - const store = createServerSession(client) - await store.sync("child") - const loading = store.sync("child", { force: true }) - await client.rootRequested(1) + test("drops a cached parent when a forced refresh confirms it was deleted", async () => { + const missing = Promise.withResolvers() + const parent = userMessage("message-1") + const part = textPart(parent.id) + const assistant = assistantMessage("message-2", parent.id) + const client = rootMessageClient( + [ + response([ + { info: parent, parts: [part] }, + { info: assistant, parts: [] }, + ]), + response([{ info: assistant, parts: [] }]), + ], + [missing.promise], + ) + const store = createServerSession(client) + await store.sync("child") + const loading = store.sync("child", { force: true }) + await client.rootRequested(1) - missing.reject(new Error(`Message not found: ${parent.id}`, { cause: { status: 404 } })) - await loading + missing.reject(new Error(`Message not found: ${parent.id}`, { cause: { status: 404 } })) + await loading - expect(store.data.message.child).toEqual([assistant]) - expect(store.data.part[parent.id]).toBeUndefined() - }) + expect(store.data.message.child).toEqual([assistant]) + expect(store.data.part[parent.id]).toBeUndefined() + }) - test("does not let an optimistic user suppress initial root backfill", async () => { - const user = userMessage("message-1") - const part = textPart(user.id) - const assistants = [assistantMessage("message-2", user.id), assistantMessage("message-3", user.id)] - const client = rootMessageClient( - [ - response(assistants.map((info) => ({ info, parts: [] }))), - ], - [singleResponse(user)], - ) - const store = createServerSession(client) - store.optimistic.add({ sessionID: "child", message: user, parts: [part] }) + test("does not let an optimistic user suppress initial root backfill", async () => { + const user = userMessage("message-1") + const part = textPart(user.id) + const assistants = [assistantMessage("message-2", user.id), assistantMessage("message-3", user.id)] + const client = rootMessageClient( + [response(assistants.map((info) => ({ info, parts: [] })))], + [singleResponse(user)], + ) + const store = createServerSession(client) + store.optimistic.add({ sessionID: "child", message: user, parts: [part] }) - await store.sync("child") - store.optimistic.remove({ sessionID: "child", messageID: user.id }) + await store.sync("child") + store.optimistic.remove({ sessionID: "child", messageID: user.id }) - expect(client.requests).toHaveLength(1) - expect(client.rootRequests).toHaveLength(1) - expect(store.data.message.child).toEqual([user, ...assistants]) - }) + expect(client.requests).toHaveLength(1) + expect(client.rootRequests).toHaveLength(1) + expect(store.data.message.child).toEqual([user, ...assistants]) + }) - test("backfills the parent of fetched assistants when another user is cached", async () => { - const unrelated = userMessage("message-0", { time: { created: 0 } }) - const user = userMessage("message-1") - const assistants = [assistantMessage("message-2", user.id), assistantMessage("message-3", user.id)] - const client = rootMessageClient( - [ - response([{ info: unrelated, parts: [] }]), - response(assistants.map((info) => ({ info, parts: [] }))), - ], - [singleResponse(user)], - ) - const store = createServerSession(client) - await store.sync("child") + test("backfills the parent of fetched assistants when another user is cached", async () => { + const unrelated = userMessage("message-0", { time: { created: 0 } }) + const user = userMessage("message-1") + const assistants = [assistantMessage("message-2", user.id), assistantMessage("message-3", user.id)] + const client = rootMessageClient( + [response([{ info: unrelated, parts: [] }]), response(assistants.map((info) => ({ info, parts: [] })))], + [singleResponse(user)], + ) + const store = createServerSession(client) + await store.sync("child") - await store.sync("child", { force: true }) + await store.sync("child", { force: true }) - expect(client.requests).toHaveLength(2) - expect(client.rootRequests).toHaveLength(1) - expect(store.data.message.child).toEqual([unrelated, user, ...assistants]) - }) + expect(client.requests).toHaveLength(2) + expect(client.rootRequests).toHaveLength(1) + expect(store.data.message.child).toEqual([unrelated, user, ...assistants]) + }) - test("preserves cached history between an injected parent and the page boundary", async () => { - const user = userMessage("message-1") - const cached = userMessage("message-3", { time: { created: 3 } }) - const assistant = assistantMessage("message-4", user.id) - const client = rootMessageClient( - [response([{ info: cached, parts: [] }]), response([{ info: assistant, parts: [] }])], - [singleResponse(user)], - ) - const store = createServerSession(client) - await store.sync("child") + test("preserves cached history between an injected parent and the page boundary", async () => { + const user = userMessage("message-1") + const cached = userMessage("message-3", { time: { created: 3 } }) + const assistant = assistantMessage("message-4", user.id) + const client = rootMessageClient( + [response([{ info: cached, parts: [] }]), response([{ info: assistant, parts: [] }])], + [singleResponse(user)], + ) + const store = createServerSession(client) + await store.sync("child") - await store.sync("child", { force: true }) + await store.sync("child", { force: true }) - expect(store.data.message.child).toEqual([user, cached, assistant]) - }) + expect(store.data.message.child).toEqual([user, cached, assistant]) + }) - test("refreshes a cached parent omitted by an assistant-only replacement page", async () => { - const stale = userMessage("message-1", { summary: { title: "stale", diffs: [] } }) - const fresh = { ...stale, summary: { title: "fresh", diffs: [] } } - const stalePart = textPart(stale.id, { text: "stale" }) - const freshPart = { ...stalePart, text: "fresh" } - const assistant = assistantMessage("message-2", stale.id) - const client = rootMessageClient( - [response([{ info: stale, parts: [stalePart] }]), response([{ info: assistant, parts: [] }])], - [singleResponse(fresh, [freshPart])], - ) - const store = createServerSession(client) - await store.sync("child") + test("refreshes a cached parent omitted by an assistant-only replacement page", async () => { + const stale = userMessage("message-1", { summary: { title: "stale", diffs: [] } }) + const fresh = { ...stale, summary: { title: "fresh", diffs: [] } } + const stalePart = textPart(stale.id, { text: "stale" }) + const freshPart = { ...stalePart, text: "fresh" } + const assistant = assistantMessage("message-2", stale.id) + const client = rootMessageClient( + [response([{ info: stale, parts: [stalePart] }]), response([{ info: assistant, parts: [] }])], + [singleResponse(fresh, [freshPart])], + ) + const store = createServerSession(client) + await store.sync("child") - await store.sync("child", { force: true }) + await store.sync("child", { force: true }) - expect(client.rootRequests).toEqual([{ sessionID: "child", messageID: stale.id }]) - expect(store.data.message.child).toEqual([fresh, assistant]) - expect(store.data.part[stale.id]).toEqual([freshPart]) - }) + expect(client.rootRequests).toEqual([{ sessionID: "child", messageID: stale.id }]) + expect(store.data.message.child).toEqual([fresh, assistant]) + expect(store.data.part[stale.id]).toEqual([freshPart]) + }) - test("refreshes a confirmed optimistic parent while preserving pending parts", async () => { - const stale = userMessage("message-1", { summary: { title: "stale", diffs: [] } }) - const fresh = { ...stale, summary: { title: "fresh", diffs: [] } } - const confirmed = textPart(stale.id, { id: "confirmed", text: "stale" }) - const refreshed = { ...confirmed, text: "fresh" } - const pending = textPart(stale.id, { id: "pending", text: "pending" }) - const assistant = assistantMessage("message-2", stale.id) - const client = rootMessageClient( - [response([{ info: stale, parts: [confirmed] }]), response([{ info: assistant, parts: [] }])], - [singleResponse(fresh, [refreshed])], - ) - const store = createServerSession(client) - store.optimistic.add({ sessionID: "child", message: stale, parts: [confirmed, pending] }) - await store.sync("child") + test("refreshes a confirmed optimistic parent while preserving pending parts", async () => { + const stale = userMessage("message-1", { summary: { title: "stale", diffs: [] } }) + const fresh = { ...stale, summary: { title: "fresh", diffs: [] } } + const confirmed = textPart(stale.id, { id: "confirmed", text: "stale" }) + const refreshed = { ...confirmed, text: "fresh" } + const pending = textPart(stale.id, { id: "pending", text: "pending" }) + const assistant = assistantMessage("message-2", stale.id) + const client = rootMessageClient( + [response([{ info: stale, parts: [confirmed] }]), response([{ info: assistant, parts: [] }])], + [singleResponse(fresh, [refreshed])], + ) + const store = createServerSession(client) + store.optimistic.add({ sessionID: "child", message: stale, parts: [confirmed, pending] }) + await store.sync("child") - await store.sync("child", { force: true }) + await store.sync("child", { force: true }) - expect(client.rootRequests).toEqual([{ sessionID: "child", messageID: stale.id }]) - expect(store.data.message.child).toEqual([fresh, assistant]) - expect(store.data.part[stale.id]).toEqual([refreshed, pending]) - }) + expect(client.rootRequests).toEqual([{ sessionID: "child", messageID: stale.id }]) + expect(store.data.message.child).toEqual([fresh, assistant]) + expect(store.data.part[stale.id]).toEqual([refreshed, pending]) + }) - test("uses a parent received by SSE during the replacement load", async () => { - const pending = deferredResponse() - const user = userMessage("message-1") - const assistant = assistantMessage("message-2", user.id) - const client = rootMessageClient([pending.promise], []) - const store = createServerSession(client) - const loading = store.sync("child") + test("uses a parent received by SSE during the replacement load", async () => { + const pending = deferredResponse() + const user = userMessage("message-1") + const assistant = assistantMessage("message-2", user.id) + const client = rootMessageClient([pending.promise], []) + const store = createServerSession(client) + const loading = store.sync("child") - store.apply({ type: "message.updated", properties: { info: user } }) - pending.resolve(response([{ info: assistant, parts: [] }])) - await loading + store.apply({ type: "message.updated", properties: { info: user } }) + pending.resolve(response([{ info: assistant, parts: [] }])) + await loading - expect(client.rootRequests).toEqual([]) - expect(store.data.message.child).toEqual([user, assistant]) - }) + expect(client.rootRequests).toEqual([]) + expect(store.data.message.child).toEqual([user, assistant]) + }) - test("uses a successful retry over events received by a failed backfill attempt", async () => { - const failed = deferredResponse() - const user = userMessage("message-1") - const live = { ...user, agent: "stale" } - const assistants = [assistantMessage("message-2", user.id), assistantMessage("message-3", user.id)] - const client = rootMessageClient( - [ - response( - assistants.map((info) => ({ info, parts: [] })), - ), - ], - [failed.promise.then((result) => ({ data: result.data[0]! })), singleResponse(user)], - ) - const store = createServerSession(client, { retry: retryImmediately }) - const loading = store.sync("child") - await client.rootRequested(1) + test("uses a successful retry over events received by a failed backfill attempt", async () => { + const failed = deferredResponse() + const user = userMessage("message-1") + const live = { ...user, agent: "stale" } + const assistants = [assistantMessage("message-2", user.id), assistantMessage("message-3", user.id)] + const client = rootMessageClient( + [response(assistants.map((info) => ({ info, parts: [] })))], + [failed.promise.then((result) => ({ data: result.data[0]! })), singleResponse(user)], + ) + const store = createServerSession(client, { retry: retryImmediately }) + const loading = store.sync("child") + await client.rootRequested(1) - store.apply({ type: "message.updated", properties: { info: live } }) - failed.reject(new Error("retry")) - await loading + store.apply({ type: "message.updated", properties: { info: live } }) + failed.reject(new Error("retry")) + await loading - expect(client.requests).toHaveLength(1) - expect(client.rootRequests).toHaveLength(2) - expect(store.data.message.child).toEqual([user, ...assistants]) - }) + expect(client.requests).toHaveLength(1) + expect(client.rootRequests).toHaveLength(2) + expect(store.data.message.child).toEqual([user, ...assistants]) + }) - test("preserves newer-page events across a failed parent retry", async () => { - const failed = deferredResponse() - const user = userMessage("message-1") - const assistant = assistantMessage("message-2", user.id) - const live = { ...assistant, cost: 1 } - const client = rootMessageClient( - [response([{ info: assistant, parts: [] }])], - [failed.promise.then((result) => ({ data: result.data[0]! })), singleResponse(user)], - ) - const store = createServerSession(client, { retry: retryImmediately }) - const loading = store.sync("child") - await client.rootRequested(1) + test("preserves newer-page events across a failed parent retry", async () => { + const failed = deferredResponse() + const user = userMessage("message-1") + const assistant = assistantMessage("message-2", user.id) + const live = { ...assistant, cost: 1 } + const client = rootMessageClient( + [response([{ info: assistant, parts: [] }])], + [failed.promise.then((result) => ({ data: result.data[0]! })), singleResponse(user)], + ) + const store = createServerSession(client, { retry: retryImmediately }) + const loading = store.sync("child") + await client.rootRequested(1) - store.apply({ type: "message.updated", properties: { info: live } }) - failed.reject(new Error("retry")) - await loading + store.apply({ type: "message.updated", properties: { info: live } }) + failed.reject(new Error("retry")) + await loading - expect(store.data.message.child).toEqual([user, live]) - }) + expect(store.data.message.child).toEqual([user, live]) + }) - test("preserves unrelated message events across a failed parent retry", async () => { - const failed = deferredResponse() - const user = userMessage("message-1") - const assistant = assistantMessage("message-2", user.id) - const live = userMessage("message-4", { time: { created: 4 } }) - const client = rootMessageClient( - [response([{ info: assistant, parts: [] }])], - [failed.promise.then((result) => ({ data: result.data[0]! })), singleResponse(user)], - ) - const store = createServerSession(client, { retry: retryImmediately }) - const loading = store.sync("child") - await client.rootRequested(1) + test("preserves unrelated message events across a failed parent retry", async () => { + const failed = deferredResponse() + const user = userMessage("message-1") + const assistant = assistantMessage("message-2", user.id) + const live = userMessage("message-4", { time: { created: 4 } }) + const client = rootMessageClient( + [response([{ info: assistant, parts: [] }])], + [failed.promise.then((result) => ({ data: result.data[0]! })), singleResponse(user)], + ) + const store = createServerSession(client, { retry: retryImmediately }) + const loading = store.sync("child") + await client.rootRequested(1) - store.apply({ type: "message.updated", properties: { info: live } }) - failed.reject(new Error("retry")) - await loading + store.apply({ type: "message.updated", properties: { info: live } }) + failed.reject(new Error("retry")) + await loading - expect(store.data.message.child).toEqual([user, assistant, live]) - }) + expect(store.data.message.child).toEqual([user, assistant, live]) + }) - test("preserves newer-page part events across a failed parent retry", async () => { - const failed = deferredResponse() - const user = userMessage("message-1") - const assistant = assistantMessage("message-2", user.id) - const stale = textPart(assistant.id, { text: "stale" }) - const live = { ...stale, text: "live" } - const client = rootMessageClient( - [response([{ info: assistant, parts: [stale] }])], - [failed.promise.then((result) => ({ data: result.data[0]! })), singleResponse(user)], - ) - const store = createServerSession(client, { retry: retryImmediately }) - const loading = store.sync("child") - await client.rootRequested(1) + test("preserves newer-page part events across a failed parent retry", async () => { + const failed = deferredResponse() + const user = userMessage("message-1") + const assistant = assistantMessage("message-2", user.id) + const stale = textPart(assistant.id, { text: "stale" }) + const live = { ...stale, text: "live" } + const client = rootMessageClient( + [response([{ info: assistant, parts: [stale] }])], + [failed.promise.then((result) => ({ data: result.data[0]! })), singleResponse(user)], + ) + const store = createServerSession(client, { retry: retryImmediately }) + const loading = store.sync("child") + await client.rootRequested(1) - store.apply({ type: "message.part.updated", properties: { sessionID: "child", part: live, time: 2 } }) - failed.reject(new Error("retry")) - await loading + store.apply({ type: "message.part.updated", properties: { sessionID: "child", part: live, time: 2 } }) + failed.reject(new Error("retry")) + await loading - expect(store.data.part[assistant.id]).toEqual([live]) - }) + expect(store.data.part[assistant.id]).toEqual([live]) + }) }) test("merges live events into the initial page", async () => { diff --git a/packages/app/src/context/server-session.ts b/packages/app/src/context/server-session.ts index 377e4ff201b..a41b86794de 100644 --- a/packages/app/src/context/server-session.ts +++ b/packages/app/src/context/server-session.ts @@ -1,11 +1,7 @@ import { Binary } from "@opencode-ai/core/util/binary" import { retry } from "@opencode-ai/core/util/retry" import type { OpenCodeEvent, SessionApi, SessionInfo, SessionMessageInfo } from "@opencode-ai/client/promise" -import type { - Message, - Part, - Todo, -} from "@/types" +import type { Message, Part, Todo } from "@/types" import type { FileDiffInfo, PermissionRequest, QuestionRequest, SessionStatus } from "@opencode-ai/client/promise" import { batch } from "solid-js" import { createStore, produce, reconcile } from "solid-js/store" @@ -38,14 +34,16 @@ function projectMessageSource(message: Message): SessionMessageInfo[] { { id: message.id, type: "user", text: "", time: message.time }, ] } - return [{ - id: message.id, - type: "assistant", - agent: message.agent ?? message.mode, - model: { id: message.modelID, providerID: message.providerID, variant: message.variant }, - content: [], - time: message.time, - }] + return [ + { + id: message.id, + type: "assistant", + agent: message.agent ?? message.mode, + model: { id: message.modelID, providerID: message.providerID, variant: message.variant }, + content: [], + time: message.time, + }, + ] } function needsOlderTurnRoot(source: readonly SessionMessageInfo[]) { @@ -243,11 +241,7 @@ export function createServerSession( const indexProjectedMessage = (message: Message) => { const current = data.session_message[message.sessionID] ?? [] if (current.some((item) => item.id === message.id)) return - setData( - "session_message", - message.sessionID, - reconcile([...current, ...projectMessageSource(message)]), - ) + setData("session_message", message.sessionID, reconcile([...current, ...projectMessageSource(message)])) } const remember = (session: SessionInfo) => { diff --git a/packages/app/src/context/server-sync.tsx b/packages/app/src/context/server-sync.tsx index 023b8fbfcba..40942a84244 100644 --- a/packages/app/src/context/server-sync.tsx +++ b/packages/app/src/context/server-sync.tsx @@ -1,9 +1,4 @@ -import type { - Config, - Path, - Project, - ProviderAuthResponse, -} from "@/types" +import type { Config, Path, Project, ProviderAuthResponse } from "@/types" import { showToast } from "@/utils/toast" import { getFilename } from "@opencode-ai/core/util/path" import { type Accessor, batch, createMemo, getOwner, onCleanup, onMount, untrack } from "solid-js" @@ -164,15 +159,11 @@ export function seedActiveSessionStatuses( } } -function makeQueryOptionsApi( - scope: ServerScope, - serverAPI: ServerApi, -) { +function makeQueryOptionsApi(scope: ServerScope, serverAPI: ServerApi) { return { globalConfig: () => loadGlobalConfigQuery(scope), projects: () => loadProjectsQuery(scope, serverAPI.project), - providers: (directory: PathKey | null) => - loadProvidersQuery(scope, directory, serverAPI), + providers: (directory: PathKey | null) => loadProvidersQuery(scope, directory, serverAPI), path: (directory: PathKey | null) => loadPathQuery(scope, directory, serverAPI.location), agents: (directory: PathKey) => loadAgentsQuery(scope, directory, serverAPI.agent), references: (directory: PathKey) => loadReferencesQuery(scope, directory, serverAPI.reference), diff --git a/packages/app/src/context/terminal.tsx b/packages/app/src/context/terminal.tsx index 8a48c41fda7..d6904c46301 100644 --- a/packages/app/src/context/terminal.tsx +++ b/packages/app/src/context/terminal.tsx @@ -268,10 +268,13 @@ function createWorkspaceTerminalSession( const index = store.all.findIndex((x) => x.id === id) const pty = store.all[index] if (!pty) return - const data = await sdk.api.pty.create({ location, title: pty.title }).then((result) => result.data).catch((error: unknown) => { - console.error("Failed to clone terminal", error) - return undefined - }) + const data = await sdk.api.pty + .create({ location, title: pty.title }) + .then((result) => result.data) + .catch((error: unknown) => { + console.error("Failed to clone terminal", error) + return undefined + }) if (!data?.id) return const active = store.active === pty.id diff --git a/packages/app/src/pages/session/timeline/message-timeline.tsx b/packages/app/src/pages/session/timeline/message-timeline.tsx index fddb1f96bbd..b85351a69f1 100644 --- a/packages/app/src/pages/session/timeline/message-timeline.tsx +++ b/packages/app/src/pages/session/timeline/message-timeline.tsx @@ -45,13 +45,7 @@ import { StickyAccordionHeader } from "@opencode-ai/ui/sticky-accordion-header" import { TextField } from "@opencode-ai/ui/text-field" import { TextReveal } from "@opencode-ai/ui/text-reveal" import { TextShimmer } from "@opencode-ai/ui/text-shimmer" -import type { - AssistantMessage, - Message as MessageType, - Part as PartType, - ToolPart, - UserMessage, -} from "@/types" +import type { AssistantMessage, Message as MessageType, Part as PartType, ToolPart, UserMessage } from "@/types" import { showToast } from "@/utils/toast" import { getDirectory, getFilename } from "@opencode-ai/core/util/path" import { Popover as KobaltePopover } from "@kobalte/core/popover" diff --git a/packages/app/src/pages/session/v2/review-diff-kinds.test.ts b/packages/app/src/pages/session/v2/review-diff-kinds.test.ts index e4bb9a02c10..0b65446ca40 100644 --- a/packages/app/src/pages/session/v2/review-diff-kinds.test.ts +++ b/packages/app/src/pages/session/v2/review-diff-kinds.test.ts @@ -54,9 +54,9 @@ describe("reviewDiffNeedsLoad", () => { patch: "@@ -0,0 +1 @@\n+value", }), ).toBe(false) - expect( - reviewDiffNeedsLoad({ file: "empty.txt", patch: "", additions: 0, deletions: 0, status: "modified" }), - ).toBe(false) + expect(reviewDiffNeedsLoad({ file: "empty.txt", patch: "", additions: 0, deletions: 0, status: "modified" })).toBe( + false, + ) }) }) diff --git a/packages/app/src/types.ts b/packages/app/src/types.ts index 2e157aea615..cc140513603 100644 --- a/packages/app/src/types.ts +++ b/packages/app/src/types.ts @@ -1,8 +1,4 @@ -import type { - EventSubscribeOutput, - FileDiffInfo, - ProjectListOutput, -} from "@opencode-ai/client/promise" +import type { EventSubscribeOutput, FileDiffInfo, ProjectListOutput } from "@opencode-ai/client/promise" import type { NormalizedProviderListResponse } from "@opencode-ai/session-ui/context" export type Project = Omit & { worktree: string } diff --git a/packages/cli/script/postinstall.mjs b/packages/cli/script/postinstall.mjs index c8619251ccc..3a470bbcfea 100644 --- a/packages/cli/script/postinstall.mjs +++ b/packages/cli/script/postinstall.mjs @@ -119,7 +119,15 @@ function installPackage(name) { try { const result = childProcess.spawnSync( "npm", - ["install", "--ignore-scripts", "--no-save", "--loglevel=error", "--prefix", temp, `${name}@${dependencies[name]}`], + [ + "install", + "--ignore-scripts", + "--no-save", + "--loglevel=error", + "--prefix", + temp, + `${name}@${dependencies[name]}`, + ], { stdio: "inherit", windowsHide: true }, ) if (result.status !== 0) return false @@ -150,7 +158,9 @@ function main() { } } - throw new Error(`Failed to install OpenCode. Try manually installing ${names.map((name) => JSON.stringify(name)).join(" or ")}.`) + throw new Error( + `Failed to install OpenCode. Try manually installing ${names.map((name) => JSON.stringify(name)).join(" or ")}.`, + ) } try { diff --git a/packages/cli/script/service-smoke.ts b/packages/cli/script/service-smoke.ts index 346512cd87a..d74a47fe803 100644 --- a/packages/cli/script/service-smoke.ts +++ b/packages/cli/script/service-smoke.ts @@ -40,15 +40,13 @@ try { const token = encodeURIComponent(credential) const health = await waitForReady(info.url, headers) if (health.pid !== info.pid) throw new Error("Health process does not match registration") - const tokenHealth = await fetch( - new URL(`/api/health?auth_token=${token}`, info.url), - { signal: AbortSignal.timeout(5_000) }, - ) + const tokenHealth = await fetch(new URL(`/api/health?auth_token=${token}`, info.url), { + signal: AbortSignal.timeout(5_000), + }) if (tokenHealth.status !== 200) throw new Error("Compiled service rejected query authentication") - const tokenOpenApi = await fetch( - new URL(`/openapi.json?auth_token=${token}`, info.url), - { signal: AbortSignal.timeout(5_000) }, - ) + const tokenOpenApi = await fetch(new URL(`/openapi.json?auth_token=${token}`, info.url), { + signal: AbortSignal.timeout(5_000), + }) if (tokenOpenApi.status !== 200) throw new Error("Compiled application rejected query authentication") if ((await pluginIDs(info.url, headers)).includes("smoke")) throw new Error("Smoke plugin existed before creation") const plugin = path.join(root, ".opencode", "plugins", "smoke.ts") @@ -63,7 +61,8 @@ try { const unauthorizedOpenApi = await fetch(new URL("/openapi.json", info.url), { signal: AbortSignal.timeout(5_000), }) - if (unauthorizedOpenApi.status !== 401) throw new Error("Compiled service exposed application routes without authentication") + if (unauthorizedOpenApi.status !== 401) + throw new Error("Compiled service exposed application routes without authentication") const unauthorizedStop = await fetch(new URL("/api/service/stop", info.url), { method: "POST", headers: { "content-type": "application/json" }, @@ -94,7 +93,8 @@ try { } finally { processes.forEach((process) => process.kill()) await Promise.all(processes.map((process) => process.exited)) - if (failure) errors.push(fs.readFile(path.join(root, "data", "opencode", "log", "opencode.log"), "utf8").catch(() => "")) + if (failure) + errors.push(fs.readFile(path.join(root, "data", "opencode", "log", "opencode.log"), "utf8").catch(() => "")) } const output = await Promise.all(errors) @@ -154,9 +154,7 @@ async function pluginIDs(url: string, headers: HeadersInit) { throw new Error("Compiled service returned an invalid plugin list") } return body.data.flatMap((plugin) => - typeof plugin === "object" && plugin !== null && "id" in plugin && typeof plugin.id === "string" - ? [plugin.id] - : [], + typeof plugin === "object" && plugin !== null && "id" in plugin && typeof plugin.id === "string" ? [plugin.id] : [], ) } diff --git a/packages/cli/src/commands/handlers/import.ts b/packages/cli/src/commands/handlers/import.ts index fe3b32e669a..c23643fc6fb 100644 --- a/packages/cli/src/commands/handlers/import.ts +++ b/packages/cli/src/commands/handlers/import.ts @@ -20,7 +20,8 @@ export default Runtime.handler( return response.text() }) : Bun.file(input.file).text(), - catch: (cause) => new Error(`Failed to read session data: ${cause instanceof Error ? cause.message : String(cause)}`), + catch: (cause) => + new Error(`Failed to read session data: ${cause instanceof Error ? cause.message : String(cause)}`), }) const data = yield* Schema.decodeUnknownEffect(Schema.fromJsonString(SessionTransfer.Data))(text) const encoded = Schema.encodeSync(SessionTransfer.Data)(data) @@ -52,9 +53,9 @@ export default Runtime.handler( return } if (!response.ok) yield* Effect.fail(new Error(`Failed to import session: ${response.statusText}`)) - const imported = yield* Schema.decodeUnknownEffect( - Schema.fromJsonString(Schema.Struct({ data: Session.Info })), - )(yield* Effect.promise(() => response.text())) + const imported = yield* Schema.decodeUnknownEffect(Schema.fromJsonString(Schema.Struct({ data: Session.Info })))( + yield* Effect.promise(() => response.text()), + ) process.stdout.write(`Imported session: ${imported.data.id}${EOL}`) }), ) diff --git a/packages/cli/src/commands/handlers/pair.ts b/packages/cli/src/commands/handlers/pair.ts index edbae68f6c0..e938444efbd 100644 --- a/packages/cli/src/commands/handlers/pair.ts +++ b/packages/cli/src/commands/handlers/pair.ts @@ -36,8 +36,6 @@ export default Runtime.handler( const hostname = new URL(endpoint.url).hostname if (!["localhost", "127.0.0.1", "[::1]"].includes(hostname)) return - process.stderr.write( - ` Run \`opencode service set hostname 0.0.0.0\` to access the service remotely.${EOL}${EOL}`, - ) + process.stderr.write(` Run \`opencode service set hostname 0.0.0.0\` to access the service remotely.${EOL}${EOL}`) }), ) diff --git a/packages/cli/src/config/migrate.ts b/packages/cli/src/config/migrate.ts index eb8d6a0e3d4..6e134c6925c 100644 --- a/packages/cli/src/config/migrate.ts +++ b/packages/cli/src/config/migrate.ts @@ -48,12 +48,16 @@ export function migrateV1(legacy: TuiConfigV1.Info | undefined, kv: Record, -) { +const resolveManaged = Effect.fnUntraced(function* (options: EnsureOptions, mismatch: NonNullable) { if (mismatch === "replace") return yield* Service.ensure(options) if (mismatch === "ignore") return yield* Service.ensure({ ...options, version: undefined }) diff --git a/packages/cli/src/services/update-preflight.tsx b/packages/cli/src/services/update-preflight.tsx index 9deb28bae87..e104245095a 100644 --- a/packages/cli/src/services/update-preflight.tsx +++ b/packages/cli/src/services/update-preflight.tsx @@ -413,9 +413,7 @@ function UpdateFooter(props: { const completion = smoothstep(headerFade.progress()) return Array.from({ length: width }, (_, index) => { const color = - index >= filled - ? colors.muted - : shade(railRamp, Math.max(0, 1 - Math.abs(index - center) / glowRadius) ** 2) + index >= filled ? colors.muted : shade(railRamp, Math.max(0, 1 - Math.abs(index - center) / glowRadius) ** 2) return { char: success || index < filled ? "━" : "·", color: success ? blend(color, colors.accent, completion) : color, diff --git a/packages/cli/src/services/updater.ts b/packages/cli/src/services/updater.ts index 08b5cd3b7d2..e7280f4115a 100644 --- a/packages/cli/src/services/updater.ts +++ b/packages/cli/src/services/updater.ts @@ -52,9 +52,10 @@ export const layer = Layer.effect( const readPolicy = Effect.fnUntraced(function* () { const values = yield* Effect.forEach(["config.json", "opencode.json", "opencode.jsonc"], (name) => - fs - .readFileString(path.join(global.config, name)) - .pipe(Effect.map(decodePolicy), Effect.catch(() => Effect.succeed(undefined))), + fs.readFileString(path.join(global.config, name)).pipe( + Effect.map(decodePolicy), + Effect.catch(() => Effect.succeed(undefined)), + ), ) return values.findLast((value) => value !== undefined) ?? true }) @@ -94,10 +95,10 @@ export const layer = Layer.effect( const latest = Effect.fnUntraced(function* () { const response = yield* Effect.tryPromise({ try: () => - fetch( - `https://update.opencode.ai/api/${encodeURIComponent(channel)}/cli/npm`, - { headers: { "User-Agent": `opencode/${OPENCODE_VERSION}` }, signal: AbortSignal.timeout(10_000) }, - ), + fetch(`https://update.opencode.ai/api/${encodeURIComponent(channel)}/cli/npm`, { + headers: { "User-Agent": `opencode/${OPENCODE_VERSION}` }, + signal: AbortSignal.timeout(10_000), + }), catch: (cause) => new Error("Failed to check for updates", { cause }), }) if (!response.ok) return yield* Effect.fail(new Error(`Update check failed with status ${response.status}`)) @@ -118,7 +119,7 @@ export const layer = Layer.effect( pnpm: ["pnpm", "install", "--global", target], yarn: ["yarn", "global", "add", target], } - const result = yield* (method === "bun" + const result = yield* method === "bun" ? Effect.scoped( Effect.gen(function* () { // Bun does not prune old versions from its shared package cache. @@ -127,38 +128,38 @@ export const layer = Layer.effect( return yield* run(["bun", "install", "--global", "--cache-dir", cache, target], "5 minutes") }), ) - : run(commands[method], "5 minutes")) + : run(commands[method], "5 minutes") if (result.code === 0) return return yield* Effect.fail(new Error(result.stderr.trim() || `Failed to update with ${method}`)) }) - const check = Effect.fn("cli.updater.check")(function* () { - if ( - OPENCODE_LOCAL || - ["1", "true"].includes(process.env.OPENCODE_DISABLE_AUTOUPDATE?.toLowerCase() ?? "") - ) - return yield* Effect.logInfo("update check skipped", { - reason: OPENCODE_LOCAL ? "local-install" : "disabled", - version: OPENCODE_VERSION, - channel: OPENCODE_CHANNEL, - }) - const policy = yield* readPolicy() - if (policy === false) return yield* Effect.logInfo("update check skipped", { reason: "policy-disabled" }) + const check = Effect.fn("cli.updater.check")( + function* () { + if (OPENCODE_LOCAL || ["1", "true"].includes(process.env.OPENCODE_DISABLE_AUTOUPDATE?.toLowerCase() ?? "")) + return yield* Effect.logInfo("update check skipped", { + reason: OPENCODE_LOCAL ? "local-install" : "disabled", + version: OPENCODE_VERSION, + channel: OPENCODE_CHANNEL, + }) + const policy = yield* readPolicy() + if (policy === false) return yield* Effect.logInfo("update check skipped", { reason: "policy-disabled" }) - return yield* Effect.gen(function* () { - const version = yield* latest() - yield* Effect.logInfo("update check", { - current: OPENCODE_VERSION, - latest: version, + return yield* Effect.gen(function* () { + const version = yield* latest() + yield* Effect.logInfo("update check", { + current: OPENCODE_VERSION, + latest: version, + }) + const next = action(OPENCODE_VERSION, version, policy) + if (next === "none") return yield* Effect.logInfo("update check done", { action: "up-to-date" }) + const detected = yield* method() + if (!detected) return yield* Effect.logWarning("automatic update skipped: installation method not found") + yield* upgrade(detected, version) + yield* Effect.logInfo("updated OpenCode", { from: OPENCODE_VERSION, to: version, method: detected }) }) - const next = action(OPENCODE_VERSION, version, policy) - if (next === "none") return yield* Effect.logInfo("update check done", { action: "up-to-date" }) - const detected = yield* method() - if (!detected) return yield* Effect.logWarning("automatic update skipped: installation method not found") - yield* upgrade(detected, version) - yield* Effect.logInfo("updated OpenCode", { from: OPENCODE_VERSION, to: version, method: detected }) - }) - }, Effect.catchCause((cause) => Effect.logWarning("automatic update failed", { cause }))) + }, + Effect.catchCause((cause) => Effect.logWarning("automatic update failed", { cause })), + ) return Service.of({ check }) }), diff --git a/packages/cli/src/ui/timeline.tsx b/packages/cli/src/ui/timeline.tsx index 8c7e6612c67..d5319098ab9 100644 --- a/packages/cli/src/ui/timeline.tsx +++ b/packages/cli/src/ui/timeline.tsx @@ -141,7 +141,7 @@ export async function createTimelineHost(): Promise { if (closeTask) return closeTask closed = true closeTask = (async () => { - await active?.catch(() => { }) + await active?.catch(() => {}) signals.forEach((signal) => process.off(signal, cancel)) })() return closeTask @@ -211,7 +211,7 @@ export async function createTimelineHost(): Promise { if (closeTask) return closeTask closed = true closeTask = (async () => { - await active?.catch(() => { }) + await active?.catch(() => {}) try { await shutdown(activeRenderer) await bounded(renderTask) diff --git a/packages/cli/test/config.test.ts b/packages/cli/test/config.test.ts index fecbc6da8e3..7393d71dbab 100644 --- a/packages/cli/test/config.test.ts +++ b/packages/cli/test/config.test.ts @@ -102,9 +102,7 @@ test("migrates before the first update and does not remigrate afterward", async draft.animations = false draft.mouse = false }) - yield* Effect.promise(() => - Bun.write(path.join(directory, "tui.json"), JSON.stringify({ theme: "changed" })), - ) + yield* Effect.promise(() => Bun.write(path.join(directory, "tui.json"), JSON.stringify({ theme: "changed" }))) return yield* service.get() }), ) @@ -122,7 +120,7 @@ test("migrates before the first update and does not remigrate afterward", async test("updates a config draft while preserving JSONC comments", async () => { const directory = await Bun.$`mktemp -d`.text().then((value) => value.trim()) - await Bun.write(path.join(directory, "cli.json"), "{\n // Keep this comment\n \"animations\": true\n}\n") + await Bun.write(path.join(directory, "cli.json"), '{\n // Keep this comment\n "animations": true\n}\n') try { const config = await run( diff --git a/packages/cli/test/drive/mini-interactive.drive.mjs b/packages/cli/test/drive/mini-interactive.drive.mjs index 02d0772ef66..5323380d50b 100644 --- a/packages/cli/test/drive/mini-interactive.drive.mjs +++ b/packages/cli/test/drive/mini-interactive.drive.mjs @@ -17,7 +17,9 @@ export default defineScript({ const session = `mini-stage2-${process.pid}` const snapshots = path.join(artifacts, "mini-stage2") const explicitDirectory = path.join(artifacts, "explicit-model") - yield* Effect.promise(() => Promise.all([snapshots, explicitDirectory].map((dir) => mkdir(dir, { recursive: true })))) + yield* Effect.promise(() => + Promise.all([snapshots, explicitDirectory].map((dir) => mkdir(dir, { recursive: true }))), + ) /** @param {string} directory @param {string | undefined} model */ const mini = (directory, model) => [ "env", @@ -169,14 +171,7 @@ export default defineScript({ yield* Effect.promise(() => tmux(["clear-history", "-t", session])) yield* Effect.promise(() => - tmux([ - "respawn-pane", - "-k", - "-t", - session, - "--", - ...mini(explicitDirectory, "simulation/gpt-sim-model"), - ]), + tmux(["respawn-pane", "-k", "-t", session, "--", ...mini(explicitDirectory, "simulation/gpt-sim-model")]), ) const explicitModel = yield* Effect.promise(() => waitForPane(session, "Simulated Model", 15_000)) yield* Effect.promise(() => Bun.write(path.join(snapshots, "07-explicit-model.txt"), explicitModel)) diff --git a/packages/cli/test/import-export.test.ts b/packages/cli/test/import-export.test.ts index 85a14beaed5..dd64283ea14 100644 --- a/packages/cli/test/import-export.test.ts +++ b/packages/cli/test/import-export.test.ts @@ -159,14 +159,7 @@ test("import validates a file and sends it to the resolved location", async () = }) try { - const [stdout, , exitCode] = await run([ - "import", - file, - "--directory", - root, - "--server", - server.url.toString(), - ]) + const [stdout, , exitCode] = await run(["import", file, "--directory", root, "--server", server.url.toString()]) expect(exitCode).toBe(0) expect(stdout).toBe(`Imported session: ${info.id}${os.EOL}`) diff --git a/packages/cli/vite.node.config.ts b/packages/cli/vite.node.config.ts index 8b7bf9c8268..c7449e378ba 100644 --- a/packages/cli/vite.node.config.ts +++ b/packages/cli/vite.node.config.ts @@ -3,13 +3,7 @@ import { readFile } from "node:fs/promises" import { createRequire } from "node:module" import { defineConfig, type Plugin, type UserConfig } from "vite" import solid from "vite-plugin-solid" -import { - nodeExecArgv, - nodeTarget, - type NodeTarget, - photonWasmAsset, - shellParserWasmAssets, -} from "./src/node/target" +import { nodeExecArgv, nodeTarget, type NodeTarget, photonWasmAsset, shellParserWasmAssets } from "./src/node/target" const dir = import.meta.dirname diff --git a/packages/client/script/build.ts b/packages/client/script/build.ts index 5c452c984b6..0949bc6b2b4 100644 --- a/packages/client/script/build.ts +++ b/packages/client/script/build.ts @@ -1,11 +1,6 @@ import { NodeFileSystem } from "@effect/platform-node" import { compile, emitEffectImported, emitEffectShape, emitPromise, write } from "@opencode-ai/httpapi-codegen" -import { - ClientApi, - effectOmitEndpoints, - groupNames, - promiseOmitEndpoints, -} from "@opencode-ai/protocol/client" +import { ClientApi, effectOmitEndpoints, groupNames, promiseOmitEndpoints } from "@opencode-ai/protocol/client" import { Agent } from "@opencode-ai/schema/agent" import { Command } from "@opencode-ai/schema/command" import { Config } from "@opencode-ai/schema/config" diff --git a/packages/client/src/contract.ts b/packages/client/src/contract.ts index 8fd9994f5c9..cff1312c8ac 100644 --- a/packages/client/src/contract.ts +++ b/packages/client/src/contract.ts @@ -1,6 +1 @@ -export { - ClientApi, - effectOmitEndpoints, - groupNames, - promiseOmitEndpoints, -} from "@opencode-ai/protocol/client" +export { ClientApi, effectOmitEndpoints, groupNames, promiseOmitEndpoints } from "@opencode-ai/protocol/client" diff --git a/packages/client/src/effect/api/.httpapi-codegen.json b/packages/client/src/effect/api/.httpapi-codegen.json index d1d5afdb85e..f1657d1fd4c 100644 --- a/packages/client/src/effect/api/.httpapi-codegen.json +++ b/packages/client/src/effect/api/.httpapi-codegen.json @@ -1,3 +1 @@ -[ - "api.ts" -] +["api.ts"] diff --git a/packages/client/src/effect/generated/.httpapi-codegen.json b/packages/client/src/effect/generated/.httpapi-codegen.json index 958eb566dbd..e73015e3413 100644 --- a/packages/client/src/effect/generated/.httpapi-codegen.json +++ b/packages/client/src/effect/generated/.httpapi-codegen.json @@ -1,5 +1 @@ -[ - "client-error.ts", - "client.ts", - "index.ts" -] +["client-error.ts", "client.ts", "index.ts"] diff --git a/packages/client/src/promise/generated/.httpapi-codegen.json b/packages/client/src/promise/generated/.httpapi-codegen.json index 25700fc72da..f09b399f079 100644 --- a/packages/client/src/promise/generated/.httpapi-codegen.json +++ b/packages/client/src/promise/generated/.httpapi-codegen.json @@ -1,6 +1 @@ -[ - "client-error.ts", - "client.ts", - "index.ts", - "types.ts" -] +["client-error.ts", "client.ts", "index.ts", "types.ts"] diff --git a/packages/client/src/promise/service.ts b/packages/client/src/promise/service.ts index 87e83b4c282..af4372b8e2b 100644 --- a/packages/client/src/promise/service.ts +++ b/packages/client/src/promise/service.ts @@ -66,8 +66,7 @@ export async function ensure(options: EnsureOptions = {}): Promise { if (registration.timedOut && registration.info !== undefined) { timeouts = { info: registration.info, - count: - timeouts !== undefined && same(timeouts.info, registration.info) ? timeouts.count + 1 : 1, + count: timeouts !== undefined && same(timeouts.info, registration.info) ? timeouts.count + 1 : 1, } if (timeouts.count >= 3) { announce("missing") @@ -188,8 +187,7 @@ async function probeResult(info: Info, allowLegacy = false) { const body = result.value.body if (body !== undefined && "version" in body && "pid" in body) { if (body.pid !== info.pid) return { service: undefined, timedOut: false } - if (info.version !== undefined && body.version !== info.version) - return { service: undefined, timedOut: false } + if (info.version !== undefined && body.version !== info.version) return { service: undefined, timedOut: false } return { service: { info, diff --git a/packages/client/test/fixture/service.ts b/packages/client/test/fixture/service.ts index 226f97782bf..508175174ed 100644 --- a/packages/client/test/fixture/service.ts +++ b/packages/client/test/fixture/service.ts @@ -9,12 +9,7 @@ if (mode === "record-start") { } if (mode === "signal") process.kill(process.pid, process.platform === "win32" ? "SIGTERM" : "SIGKILL") -if ( - mode === "delayed" || - mode === "delayed-failed" || - mode === "coordinated" || - mode === "coordinated-failed-loser" -) { +if (mode === "delayed" || mode === "delayed-failed" || mode === "coordinated" || mode === "coordinated-failed-loser") { await appendFile(registration + ".starts", process.pid + "\n") const owner = await writeFile(registration + ".owner", String(process.pid), { flag: "wx" }) .then(() => true) @@ -59,8 +54,7 @@ const server = Bun.serve({ if (mode === "legacy") return Response.json({ healthy: true }) if (mode === "starting" && !(await Bun.file(registration + ".release").exists())) return Response.json({ healthy: true, version, pid: process.pid }, { status: 503 }) - if (mode === "failed-owner") - return Response.json({ healthy: true, version, pid: process.pid }, { status: 500 }) + if (mode === "failed-owner") return Response.json({ healthy: true, version, pid: process.pid }, { status: 500 }) if (mode === "starting" || mode === "graceful" || mode === "reject-stop") return Response.json({ healthy: true, version, pid: process.pid }) return Response.json({ healthy: true, version, pid: process.pid }) diff --git a/packages/codemode/test/fixtures/openapi-happy-path.json b/packages/codemode/test/fixtures/openapi-happy-path.json index dc3cbe5f8f4..8052dd73911 100644 --- a/packages/codemode/test/fixtures/openapi-happy-path.json +++ b/packages/codemode/test/fixtures/openapi-happy-path.json @@ -93,16 +93,10 @@ }, "role": { "type": "string", - "enum": [ - "admin", - "member" - ] + "enum": ["admin", "member"] } }, - "required": [ - "name", - "email" - ], + "required": ["name", "email"], "additionalProperties": false } } @@ -143,9 +137,7 @@ "type": "integer" } }, - "required": [ - "query" - ], + "required": ["query"], "additionalProperties": false } }, @@ -216,17 +208,10 @@ }, "role": { "type": "string", - "enum": [ - "admin", - "member" - ] + "enum": ["admin", "member"] } }, - "required": [ - "id", - "name", - "email" - ], + "required": ["id", "name", "email"], "additionalProperties": false } }, diff --git a/packages/codemode/test/fixtures/opencode-v2-openapi.json b/packages/codemode/test/fixtures/opencode-v2-openapi.json index d430f5d21dd..5f87b176600 100644 --- a/packages/codemode/test/fixtures/opencode-v2-openapi.json +++ b/packages/codemode/test/fixtures/opencode-v2-openapi.json @@ -8,9 +8,7 @@ "paths": { "/api/health": { "get": { - "tags": [ - "health" - ], + "tags": ["health"], "operationId": "v2.health.get", "parameters": [], "security": [], @@ -24,9 +22,7 @@ "properties": { "healthy": { "type": "boolean", - "enum": [ - true - ] + "enum": [true] }, "version": { "type": "string" @@ -40,11 +36,7 @@ ] } }, - "required": [ - "healthy", - "version", - "pid" - ], + "required": ["healthy", "version", "pid"], "additionalProperties": false } } @@ -77,9 +69,7 @@ }, "/api/server": { "get": { - "tags": [ - "server" - ], + "tags": ["server"], "operationId": "v2.server.get", "parameters": [], "security": [], @@ -98,9 +88,7 @@ } } }, - "required": [ - "urls" - ], + "required": ["urls"], "additionalProperties": false } } @@ -133,9 +121,7 @@ }, "/api/location": { "get": { - "tags": [ - "location" - ], + "tags": ["location"], "operationId": "v2.location.get", "parameters": [ { @@ -218,9 +204,7 @@ }, "/api/agent": { "get": { - "tags": [ - "agent" - ], + "tags": ["agent"], "operationId": "v2.agent.list", "parameters": [ { @@ -283,10 +267,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -319,9 +300,7 @@ }, "/api/plugin": { "get": { - "tags": [ - "plugin" - ], + "tags": ["plugin"], "operationId": "v2.plugin.list", "parameters": [ { @@ -384,10 +363,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -420,9 +396,7 @@ }, "/api/session": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.list", "parameters": [ { @@ -468,10 +442,7 @@ "anyOf": [ { "type": "string", - "enum": [ - "asc", - "desc" - ] + "enum": ["asc", "desc"] }, { "type": "null" @@ -513,9 +484,7 @@ }, { "type": "string", - "enum": [ - "null" - ] + "enum": ["null"] } ], "description": "Filter by parent session. Use null to return only root sessions." @@ -636,9 +605,7 @@ "summary": "List sessions" }, "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.create", "parameters": [], "security": [], @@ -654,9 +621,7 @@ "$ref": "#/components/schemas/Session.Info" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -747,9 +712,7 @@ }, "/api/session/active": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.active", "parameters": [], "security": [], @@ -770,9 +733,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -805,9 +766,7 @@ }, "/api/session/{sessionID}": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.get", "parameters": [ { @@ -837,9 +796,7 @@ "$ref": "#/components/schemas/Session.Info" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -887,9 +844,7 @@ "summary": "Get session" }, "delete": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.remove", "parameters": [ { @@ -955,9 +910,7 @@ }, "/api/session/{sessionID}/fork": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.fork", "parameters": [ { @@ -987,9 +940,7 @@ "$ref": "#/components/schemas/Session.Info" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -1070,9 +1021,7 @@ }, "/api/session/{sessionID}/agent": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.switchAgent", "parameters": [ { @@ -1144,9 +1093,7 @@ "type": "string" } }, - "required": [ - "agent" - ], + "required": ["agent"], "additionalProperties": false } } @@ -1157,9 +1104,7 @@ }, "/api/session/{sessionID}/model": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.switchModel", "parameters": [ { @@ -1231,9 +1176,7 @@ "$ref": "#/components/schemas/Model.Ref" } }, - "required": [ - "model" - ], + "required": ["model"], "additionalProperties": false } } @@ -1244,9 +1187,7 @@ }, "/api/session/{sessionID}/rename": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.rename", "parameters": [ { @@ -1318,9 +1259,7 @@ "type": "string" } }, - "required": [ - "title" - ], + "required": ["title"], "additionalProperties": false } } @@ -1331,9 +1270,7 @@ }, "/api/session/{sessionID}/move": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.move", "parameters": [ { @@ -1415,9 +1352,7 @@ "type": "string" } }, - "required": [ - "directory" - ], + "required": ["directory"], "additionalProperties": false }, "moveChanges": { @@ -1431,9 +1366,7 @@ ] } }, - "required": [ - "destination" - ], + "required": ["destination"], "additionalProperties": false } } @@ -1444,9 +1377,7 @@ }, "/api/session/{sessionID}/prompt": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.prompt", "parameters": [ { @@ -1476,9 +1407,7 @@ "$ref": "#/components/schemas/SessionInput.Admitted" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -1569,10 +1498,7 @@ "anyOf": [ { "type": "string", - "enum": [ - "steer", - "queue" - ] + "enum": ["steer", "queue"] }, { "type": "null" @@ -1590,9 +1516,7 @@ ] } }, - "required": [ - "prompt" - ], + "required": ["prompt"], "additionalProperties": false } } @@ -1603,9 +1527,7 @@ }, "/api/session/{sessionID}/command": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.command", "parameters": [ { @@ -1635,9 +1557,7 @@ "$ref": "#/components/schemas/SessionInput.Admitted" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -1783,10 +1703,7 @@ "anyOf": [ { "type": "string", - "enum": [ - "steer", - "queue" - ] + "enum": ["steer", "queue"] }, { "type": "null" @@ -1804,9 +1721,7 @@ ] } }, - "required": [ - "command" - ], + "required": ["command"], "additionalProperties": false } } @@ -1817,9 +1732,7 @@ }, "/api/session/{sessionID}/skill": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.skill", "parameters": [ { @@ -1919,9 +1832,7 @@ ] } }, - "required": [ - "skill" - ], + "required": ["skill"], "additionalProperties": false } } @@ -1932,9 +1843,7 @@ }, "/api/session/{sessionID}/synthetic": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.synthetic", "parameters": [ { @@ -2029,9 +1938,7 @@ ] } }, - "required": [ - "text" - ], + "required": ["text"], "additionalProperties": false } } @@ -2042,9 +1949,7 @@ }, "/api/session/{sessionID}/shell": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.shell", "parameters": [ { @@ -2131,9 +2036,7 @@ "type": "string" } }, - "required": [ - "command" - ], + "required": ["command"], "additionalProperties": false } } @@ -2144,9 +2047,7 @@ }, "/api/session/{sessionID}/compact": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.compact", "parameters": [ { @@ -2176,9 +2077,7 @@ "$ref": "#/components/schemas/SessionInput.Compaction" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -2266,9 +2165,7 @@ }, "/api/session/{sessionID}/wait": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.wait", "parameters": [ { @@ -2344,9 +2241,7 @@ }, "/api/session/{sessionID}/revert/stage": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.revert.stage", "parameters": [ { @@ -2376,9 +2271,7 @@ "$ref": "#/components/schemas/Session.Revert" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -2472,9 +2365,7 @@ ] } }, - "required": [ - "messageID" - ], + "required": ["messageID"], "additionalProperties": false } } @@ -2485,9 +2376,7 @@ }, "/api/session/{sessionID}/revert/clear": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.revert.clear", "parameters": [ { @@ -2572,9 +2461,7 @@ }, "/api/session/{sessionID}/revert/commit": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.revert.commit", "parameters": [ { @@ -2649,9 +2536,7 @@ }, "/api/session/{sessionID}/context": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.context", "parameters": [ { @@ -2684,9 +2569,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -2746,9 +2629,7 @@ }, "/api/session/{sessionID}/instructions/entries": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.instructions.entry.list", "parameters": [ { @@ -2781,9 +2662,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -2833,9 +2712,7 @@ }, "/api/session/{sessionID}/instructions/entries/{key}": { "put": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.instructions.entry.put", "parameters": [ { @@ -2913,9 +2790,7 @@ "properties": { "value": {} }, - "required": [ - "value" - ], + "required": ["value"], "additionalProperties": false } } @@ -2924,9 +2799,7 @@ } }, "delete": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.instructions.entry.remove", "parameters": [ { @@ -3000,9 +2873,7 @@ }, "/api/experimental/session/{sessionID}/log": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.log", "parameters": [ { @@ -3040,10 +2911,7 @@ "anyOf": [ { "type": "string", - "enum": [ - "true", - "false" - ] + "enum": ["true", "false"] }, { "type": "null" @@ -3079,11 +2947,7 @@ "$ref": "#/components/schemas/SessionLogItemStream" } }, - "required": [ - "id", - "event", - "data" - ], + "required": ["id", "event", "data"], "additionalProperties": false }, "x-effect-stream": { @@ -3097,18 +2961,13 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "Fail" - ] + "enum": ["Fail"] }, "error": { "not": {} } }, - "required": [ - "_tag", - "error" - ], + "required": ["_tag", "error"], "additionalProperties": false }, { @@ -3116,16 +2975,11 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "Die" - ] + "enum": ["Die"] }, "defect": {} }, - "required": [ - "_tag", - "defect" - ], + "required": ["_tag", "defect"], "additionalProperties": false }, { @@ -3133,9 +2987,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "Interrupt" - ] + "enum": ["Interrupt"] }, "fiberId": { "anyOf": [ @@ -3148,10 +3000,7 @@ ] } }, - "required": [ - "_tag", - "fiberId" - ], + "required": ["_tag", "fiberId"], "additionalProperties": false } ] @@ -3209,9 +3058,7 @@ }, "/api/session/{sessionID}/interrupt": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.interrupt", "parameters": [ { @@ -3277,9 +3124,7 @@ }, "/api/session/{sessionID}/background": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.background", "parameters": [ { @@ -3345,9 +3190,7 @@ }, "/api/session/{sessionID}/message/{messageID}": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.message", "parameters": [ { @@ -3390,9 +3233,7 @@ "$ref": "#/components/schemas/Session.Message.Info" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -3445,9 +3286,7 @@ }, "/api/session/{sessionID}/message": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.message.list", "parameters": [ { @@ -3486,10 +3325,7 @@ "anyOf": [ { "type": "string", - "enum": [ - "asc", - "desc" - ] + "enum": ["asc", "desc"] }, { "type": "null" @@ -3589,9 +3425,7 @@ }, "/api/model": { "get": { - "tags": [ - "model" - ], + "tags": ["model"], "operationId": "v2.model.list", "parameters": [ { @@ -3654,10 +3488,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -3700,9 +3531,7 @@ }, "/api/model/default": { "get": { - "tags": [ - "model" - ], + "tags": ["model"], "operationId": "v2.model.default", "parameters": [ { @@ -3769,10 +3598,7 @@ ] } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -3815,9 +3641,7 @@ }, "/api/generate": { "post": { - "tags": [ - "generate" - ], + "tags": ["generate"], "operationId": "v2.generate.text", "parameters": [ { @@ -3933,9 +3757,7 @@ ] } }, - "required": [ - "prompt" - ], + "required": ["prompt"], "additionalProperties": false } } @@ -3946,9 +3768,7 @@ }, "/api/provider": { "get": { - "tags": [ - "provider" - ], + "tags": ["provider"], "operationId": "v2.provider.list", "parameters": [ { @@ -4011,10 +3831,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -4057,9 +3874,7 @@ }, "/api/provider/{providerID}": { "get": { - "tags": [ - "provider" - ], + "tags": ["provider"], "operationId": "v2.provider.get", "parameters": [ { @@ -4127,10 +3942,7 @@ "$ref": "#/components/schemas/ProviderV2.Info" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -4183,9 +3995,7 @@ }, "/api/integration": { "get": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.list", "parameters": [ { @@ -4248,10 +4058,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -4284,9 +4091,7 @@ }, "/api/integration/{integrationID}": { "get": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.get", "parameters": [ { @@ -4361,10 +4166,7 @@ ] } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -4397,9 +4199,7 @@ }, "/api/integration/{integrationID}/connect/key": { "post": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.connect.key", "parameters": [ { @@ -4506,9 +4306,7 @@ ] } }, - "required": [ - "key" - ], + "required": ["key"], "additionalProperties": false } } @@ -4519,9 +4317,7 @@ }, "/api/integration/{integrationID}/connect/oauth": { "post": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.connect.oauth", "parameters": [ { @@ -4589,10 +4385,7 @@ "$ref": "#/components/schemas/Integration.Attempt" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -4654,10 +4447,7 @@ ] } }, - "required": [ - "methodID", - "inputs" - ], + "required": ["methodID", "inputs"], "additionalProperties": false } } @@ -4668,9 +4458,7 @@ }, "/api/integration/attempt/{attemptID}": { "get": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.attempt.status", "parameters": [ { @@ -4738,10 +4526,7 @@ "$ref": "#/components/schemas/Integration.AttemptStatus" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -4772,9 +4557,7 @@ "summary": "Get OAuth attempt status" }, "delete": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.attempt.cancel", "parameters": [ { @@ -4858,9 +4641,7 @@ }, "/api/integration/attempt/{attemptID}/complete": { "post": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.attempt.complete", "parameters": [ { @@ -4974,9 +4755,7 @@ }, "/api/mcp": { "get": { - "tags": [ - "mcp" - ], + "tags": ["mcp"], "operationId": "v2.mcp.list", "parameters": [ { @@ -5039,10 +4818,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -5075,9 +4851,7 @@ }, "/api/mcp/resource": { "get": { - "tags": [ - "mcp" - ], + "tags": ["mcp"], "operationId": "v2.mcp.resource.catalog", "parameters": [ { @@ -5137,10 +4911,7 @@ "$ref": "#/components/schemas/Mcp.ResourceCatalog" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -5173,9 +4944,7 @@ }, "/api/credential/{credentialID}": { "patch": { - "tags": [ - "credential" - ], + "tags": ["credential"], "operationId": "v2.credential.update", "parameters": [ { @@ -5265,9 +5034,7 @@ "type": "string" } }, - "required": [ - "label" - ], + "required": ["label"], "additionalProperties": false } } @@ -5276,9 +5043,7 @@ } }, "delete": { - "tags": [ - "credential" - ], + "tags": ["credential"], "operationId": "v2.credential.remove", "parameters": [ { @@ -5362,9 +5127,7 @@ }, "/api/project": { "get": { - "tags": [ - "project" - ], + "tags": ["project"], "operationId": "v2.project.list", "parameters": [], "security": [], @@ -5409,9 +5172,7 @@ }, "/api/project/current": { "get": { - "tags": [ - "project" - ], + "tags": ["project"], "operationId": "v2.project.current", "parameters": [ { @@ -5494,9 +5255,7 @@ }, "/api/project/{projectID}/directories": { "get": { - "tags": [ - "project" - ], + "tags": ["project"], "operationId": "v2.project.directories", "parameters": [ { @@ -5587,9 +5346,7 @@ }, "/api/form/request": { "get": { - "tags": [ - "form" - ], + "tags": ["form"], "operationId": "v2.form.request.list", "parameters": [ { @@ -5659,10 +5416,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -5695,9 +5449,7 @@ }, "/api/session/{sessionID}/form": { "get": { - "tags": [ - "form" - ], + "tags": ["form"], "operationId": "v2.session.form.list", "parameters": [ { @@ -5732,9 +5484,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -5782,9 +5532,7 @@ "summary": "List session forms" }, "post": { - "tags": [ - "form" - ], + "tags": ["form"], "operationId": "v2.session.form.create", "parameters": [ { @@ -5816,9 +5564,7 @@ ] } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -5895,9 +5641,7 @@ }, "/api/session/{sessionID}/form/{formID}": { "get": { - "tags": [ - "form" - ], + "tags": ["form"], "operationId": "v2.session.form.get", "parameters": [ { @@ -5942,9 +5686,7 @@ ] } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -5997,9 +5739,7 @@ }, "/api/session/{sessionID}/form/{formID}/state": { "get": { - "tags": [ - "form" - ], + "tags": ["form"], "operationId": "v2.session.form.state", "parameters": [ { @@ -6037,9 +5777,7 @@ "$ref": "#/components/schemas/Form.State" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -6092,9 +5830,7 @@ }, "/api/session/{sessionID}/form/{formID}/reply": { "post": { - "tags": [ - "form" - ], + "tags": ["form"], "operationId": "v2.session.form.reply", "parameters": [ { @@ -6198,9 +5934,7 @@ }, "/api/session/{sessionID}/form/{formID}/cancel": { "post": { - "tags": [ - "form" - ], + "tags": ["form"], "operationId": "v2.session.form.cancel", "parameters": [ { @@ -6287,9 +6021,7 @@ }, "/api/permission/request": { "get": { - "tags": [ - "permission" - ], + "tags": ["permission"], "operationId": "v2.permission.request.list", "parameters": [ { @@ -6352,10 +6084,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -6388,9 +6117,7 @@ }, "/api/permission/saved": { "get": { - "tags": [ - "permission" - ], + "tags": ["permission"], "operationId": "v2.permission.saved.list", "parameters": [ { @@ -6425,9 +6152,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -6460,9 +6185,7 @@ }, "/api/permission/saved/{id}": { "delete": { - "tags": [ - "permission" - ], + "tags": ["permission"], "operationId": "v2.permission.saved.remove", "parameters": [ { @@ -6506,9 +6229,7 @@ }, "/api/session/{sessionID}/permission": { "post": { - "tags": [ - "permission" - ], + "tags": ["permission"], "operationId": "v2.session.permission.create", "parameters": [ { @@ -6549,16 +6270,11 @@ "$ref": "#/components/schemas/PermissionV2.Effect" } }, - "required": [ - "id", - "effect" - ], + "required": ["id", "effect"], "additionalProperties": false } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -6657,10 +6373,7 @@ ] } }, - "required": [ - "action", - "resources" - ], + "required": ["action", "resources"], "additionalProperties": false } } @@ -6669,9 +6382,7 @@ } }, "get": { - "tags": [ - "permission" - ], + "tags": ["permission"], "operationId": "v2.session.permission.list", "parameters": [ { @@ -6704,9 +6415,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -6756,9 +6465,7 @@ }, "/api/session/{sessionID}/permission/{requestID}": { "get": { - "tags": [ - "permission" - ], + "tags": ["permission"], "operationId": "v2.session.permission.get", "parameters": [ { @@ -6801,9 +6508,7 @@ "$ref": "#/components/schemas/PermissionV2.Request" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -6856,9 +6561,7 @@ }, "/api/session/{sessionID}/permission/{requestID}/reply": { "post": { - "tags": [ - "permission" - ], + "tags": ["permission"], "operationId": "v2.session.permission.reply", "parameters": [ { @@ -6956,9 +6659,7 @@ ] } }, - "required": [ - "reply" - ], + "required": ["reply"], "additionalProperties": false } } @@ -6969,9 +6670,7 @@ }, "/api/fs/read/*": { "get": { - "tags": [ - "filesystem" - ], + "tags": ["filesystem"], "operationId": "v2.fs.read", "parameters": [ { @@ -7055,9 +6754,7 @@ }, "/api/fs/list": { "get": { - "tags": [ - "filesystem" - ], + "tags": ["filesystem"], "operationId": "v2.fs.list", "parameters": [ { @@ -7135,10 +6832,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -7171,9 +6865,7 @@ }, "/api/fs/find": { "get": { - "tags": [ - "filesystem" - ], + "tags": ["filesystem"], "operationId": "v2.fs.find", "parameters": [ { @@ -7229,10 +6921,7 @@ "in": "query", "schema": { "type": "string", - "enum": [ - "file", - "directory" - ] + "enum": ["file", "directory"] }, "required": false }, @@ -7271,10 +6960,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -7307,9 +6993,7 @@ }, "/api/command": { "get": { - "tags": [ - "command" - ], + "tags": ["command"], "operationId": "v2.command.list", "parameters": [ { @@ -7372,10 +7056,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -7408,9 +7089,7 @@ }, "/api/skill": { "get": { - "tags": [ - "skill" - ], + "tags": ["skill"], "operationId": "v2.skill.list", "parameters": [ { @@ -7473,10 +7152,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -7509,9 +7185,7 @@ }, "/api/event": { "get": { - "tags": [ - "event" - ], + "tags": ["event"], "operationId": "v2.event.subscribe", "parameters": [], "security": [], @@ -7540,11 +7214,7 @@ "$ref": "#/components/schemas/V2EventStream" } }, - "required": [ - "id", - "event", - "data" - ], + "required": ["id", "event", "data"], "additionalProperties": false }, "x-effect-stream": { @@ -7558,18 +7228,13 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "Fail" - ] + "enum": ["Fail"] }, "error": { "not": {} } }, - "required": [ - "_tag", - "error" - ], + "required": ["_tag", "error"], "additionalProperties": false }, { @@ -7577,16 +7242,11 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "Die" - ] + "enum": ["Die"] }, "defect": {} }, - "required": [ - "_tag", - "defect" - ], + "required": ["_tag", "defect"], "additionalProperties": false }, { @@ -7594,9 +7254,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "Interrupt" - ] + "enum": ["Interrupt"] }, "fiberId": { "anyOf": [ @@ -7609,10 +7267,7 @@ ] } }, - "required": [ - "_tag", - "fiberId" - ], + "required": ["_tag", "fiberId"], "additionalProperties": false } ] @@ -7653,9 +7308,7 @@ }, "/api/pty": { "get": { - "tags": [ - "pty" - ], + "tags": ["pty"], "operationId": "v2.pty.list", "parameters": [ { @@ -7718,10 +7371,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -7752,9 +7402,7 @@ "summary": "List PTY sessions" }, "post": { - "tags": [ - "pty" - ], + "tags": ["pty"], "operationId": "v2.pty.create", "parameters": [ { @@ -7814,10 +7462,7 @@ "$ref": "#/components/schemas/Pty" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -7884,9 +7529,7 @@ }, "/api/pty/{ptyID}": { "get": { - "tags": [ - "pty" - ], + "tags": ["pty"], "operationId": "v2.pty.get", "parameters": [ { @@ -7959,10 +7602,7 @@ "$ref": "#/components/schemas/Pty" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -8003,9 +7643,7 @@ "summary": "Get PTY session" }, "put": { - "tags": [ - "pty" - ], + "tags": ["pty"], "operationId": "v2.pty.update", "parameters": [ { @@ -8078,10 +7716,7 @@ "$ref": "#/components/schemas/Pty" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -8149,10 +7784,7 @@ ] } }, - "required": [ - "rows", - "cols" - ], + "required": ["rows", "cols"], "additionalProperties": false } }, @@ -8164,9 +7796,7 @@ } }, "delete": { - "tags": [ - "pty" - ], + "tags": ["pty"], "operationId": "v2.pty.remove", "parameters": [ { @@ -8265,9 +7895,7 @@ }, "/api/pty/{ptyID}/connect-token": { "post": { - "tags": [ - "pty" - ], + "tags": ["pty"], "operationId": "v2.pty.connect.token", "parameters": [ { @@ -8340,10 +7968,7 @@ "$ref": "#/components/schemas/PtyTicket.ConnectToken" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -8396,9 +8021,7 @@ }, "/api/pty/{ptyID}/connect": { "get": { - "tags": [ - "pty" - ], + "tags": ["pty"], "operationId": "v2.pty.connect", "parameters": [ { @@ -8503,9 +8126,7 @@ }, "/api/shell": { "get": { - "tags": [ - "shell" - ], + "tags": ["shell"], "operationId": "v2.shell.list", "parameters": [ { @@ -8568,10 +8189,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -8602,9 +8220,7 @@ "summary": "List running shell commands" }, "post": { - "tags": [ - "shell" - ], + "tags": ["shell"], "operationId": "v2.shell.create", "parameters": [ { @@ -8664,10 +8280,7 @@ "$ref": "#/components/schemas/Shell1" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -8720,10 +8333,7 @@ "type": "object" } }, - "required": [ - "command", - "timeout" - ], + "required": ["command", "timeout"], "additionalProperties": false } } @@ -8734,9 +8344,7 @@ }, "/api/shell/{id}": { "get": { - "tags": [ - "shell" - ], + "tags": ["shell"], "operationId": "v2.shell.get", "parameters": [ { @@ -8809,10 +8417,7 @@ "$ref": "#/components/schemas/Shell1" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -8853,9 +8458,7 @@ "summary": "Get shell command" }, "delete": { - "tags": [ - "shell" - ], + "tags": ["shell"], "operationId": "v2.shell.remove", "parameters": [ { @@ -8954,9 +8557,7 @@ }, "/api/shell/{id}/timeout": { "patch": { - "tags": [ - "shell" - ], + "tags": ["shell"], "operationId": "v2.shell.timeout", "parameters": [ { @@ -9029,10 +8630,7 @@ "$ref": "#/components/schemas/Shell1" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -9086,9 +8684,7 @@ ] } }, - "required": [ - "timeout" - ], + "required": ["timeout"], "additionalProperties": false } } @@ -9099,9 +8695,7 @@ }, "/api/shell/{id}/output": { "get": { - "tags": [ - "shell" - ], + "tags": ["shell"], "operationId": "v2.shell.output", "parameters": [ { @@ -9222,19 +8816,11 @@ "type": "boolean" } }, - "required": [ - "output", - "cursor", - "size", - "truncated" - ], + "required": ["output", "cursor", "size", "truncated"], "additionalProperties": false } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -9277,9 +8863,7 @@ }, "/api/question/request": { "get": { - "tags": [ - "question" - ], + "tags": ["question"], "operationId": "v2.question.request.list", "parameters": [ { @@ -9342,10 +8926,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -9378,9 +8959,7 @@ }, "/api/session/{sessionID}/question": { "get": { - "tags": [ - "question" - ], + "tags": ["question"], "operationId": "v2.session.question.list", "parameters": [ { @@ -9413,9 +8992,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -9465,9 +9042,7 @@ }, "/api/session/{sessionID}/question/{requestID}/reply": { "post": { - "tags": [ - "question" - ], + "tags": ["question"], "operationId": "v2.session.question.reply", "parameters": [ { @@ -9559,9 +9134,7 @@ }, "/api/session/{sessionID}/question/{requestID}/reject": { "post": { - "tags": [ - "question" - ], + "tags": ["question"], "operationId": "v2.session.question.reject", "parameters": [ { @@ -9643,9 +9216,7 @@ }, "/api/reference": { "get": { - "tags": [ - "reference" - ], + "tags": ["reference"], "operationId": "v2.reference.list", "parameters": [ { @@ -9708,10 +9279,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -9744,9 +9312,7 @@ }, "/experimental/project/{projectID}/copy": { "post": { - "tags": [ - "projectCopy" - ], + "tags": ["projectCopy"], "operationId": "v2.projectCopy.create", "parameters": [ { @@ -9854,10 +9420,7 @@ "type": "string" } }, - "required": [ - "strategy", - "directory" - ], + "required": ["strategy", "directory"], "additionalProperties": false } } @@ -9866,9 +9429,7 @@ } }, "delete": { - "tags": [ - "projectCopy" - ], + "tags": ["projectCopy"], "operationId": "v2.projectCopy.remove", "parameters": [ { @@ -9966,10 +9527,7 @@ "type": "boolean" } }, - "required": [ - "directory", - "force" - ], + "required": ["directory", "force"], "additionalProperties": false } } @@ -9980,9 +9538,7 @@ }, "/experimental/project/{projectID}/copy/refresh": { "post": { - "tags": [ - "projectCopy" - ], + "tags": ["projectCopy"], "operationId": "v2.projectCopy.refresh", "parameters": [ { @@ -10071,9 +9627,7 @@ }, "/api/vcs/status": { "get": { - "tags": [ - "vcs" - ], + "tags": ["vcs"], "operationId": "v2.vcs.status", "parameters": [ { @@ -10136,10 +9690,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -10172,9 +9723,7 @@ }, "/api/vcs/diff": { "get": { - "tags": [ - "vcs" - ], + "tags": ["vcs"], "operationId": "v2.vcs.diff", "parameters": [ { @@ -10260,10 +9809,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -10296,9 +9842,7 @@ }, "/api/debug/location": { "get": { - "tags": [ - "debug" - ], + "tags": ["debug"], "operationId": "v2.debug.location.list", "parameters": [], "security": [], @@ -10341,9 +9885,7 @@ "summary": "List loaded locations" }, "delete": { - "tags": [ - "debug" - ], + "tags": ["debug"], "operationId": "v2.debug.location.evict", "parameters": [ { @@ -10425,18 +9967,13 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "UnauthorizedError" - ] + "enum": ["UnauthorizedError"] }, "message": { "type": "string" } }, - "required": [ - "_tag", - "message" - ], + "required": ["_tag", "message"], "additionalProperties": false }, "InvalidRequestError": { @@ -10444,9 +9981,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "InvalidRequestError" - ] + "enum": ["InvalidRequestError"] }, "message": { "type": "string" @@ -10472,10 +10007,7 @@ ] } }, - "required": [ - "_tag", - "message" - ], + "required": ["_tag", "message"], "additionalProperties": false }, "Location.Info": { @@ -10502,17 +10034,11 @@ "type": "string" } }, - "required": [ - "id", - "directory" - ], + "required": ["id", "directory"], "additionalProperties": false } }, - "required": [ - "directory", - "project" - ], + "required": ["directory", "project"], "additionalProperties": false }, "Model.Ref": { @@ -10528,10 +10054,7 @@ "type": "string" } }, - "required": [ - "id", - "providerID" - ], + "required": ["id", "providerID"], "additionalProperties": false }, "Provider.Settings": { @@ -10553,11 +10076,7 @@ "type": "object" } }, - "required": [ - "settings", - "headers", - "body" - ], + "required": ["settings", "headers", "body"], "additionalProperties": false }, "Agent.Color": { @@ -10570,11 +10089,7 @@ }, "PermissionV2.Effect": { "type": "string", - "enum": [ - "allow", - "deny", - "ask" - ] + "enum": ["allow", "deny", "ask"] }, "PermissionV2.Rule": { "type": "object", @@ -10589,11 +10104,7 @@ "$ref": "#/components/schemas/PermissionV2.Effect" } }, - "required": [ - "action", - "resource", - "effect" - ], + "required": ["action", "resource", "effect"], "additionalProperties": false }, "PermissionV2.Ruleset": { @@ -10625,11 +10136,7 @@ }, "mode": { "type": "string", - "enum": [ - "subagent", - "primary", - "all" - ] + "enum": ["subagent", "primary", "all"] }, "hidden": { "type": "boolean" @@ -10649,14 +10156,7 @@ "$ref": "#/components/schemas/PermissionV2.Ruleset" } }, - "required": [ - "id", - "name", - "request", - "mode", - "hidden", - "permissions" - ], + "required": ["id", "name", "request", "mode", "hidden", "permissions"], "additionalProperties": false }, "Plugin.Info": { @@ -10666,9 +10166,7 @@ "type": "string" } }, - "required": [ - "id" - ], + "required": ["id"], "additionalProperties": false }, "Money.USD": { @@ -10696,19 +10194,11 @@ "type": "number" } }, - "required": [ - "read", - "write" - ], + "required": ["read", "write"], "additionalProperties": false } }, - "required": [ - "input", - "output", - "reasoning", - "cache" - ], + "required": ["input", "output", "reasoning", "cache"], "additionalProperties": false }, "Location.Ref": { @@ -10726,9 +10216,7 @@ ] } }, - "required": [ - "directory" - ], + "required": ["directory"], "additionalProperties": false }, "FileDiff.Info": { @@ -10758,20 +10246,10 @@ }, "status": { "type": "string", - "enum": [ - "added", - "deleted", - "modified" - ] + "enum": ["added", "deleted", "modified"] } }, - "required": [ - "file", - "patch", - "additions", - "deletions", - "status" - ], + "required": ["file", "patch", "additions", "deletions", "status"], "additionalProperties": false }, "Session.Revert": { @@ -10798,9 +10276,7 @@ } } }, - "required": [ - "messageID" - ], + "required": ["messageID"], "additionalProperties": false }, "Session.Info": { @@ -10842,9 +10318,7 @@ ] } }, - "required": [ - "sessionID" - ], + "required": ["sessionID"], "additionalProperties": false }, "projectID": { @@ -10875,10 +10349,7 @@ "type": "number" } }, - "required": [ - "created", - "updated" - ], + "required": ["created", "updated"], "additionalProperties": false }, "title": { @@ -10894,15 +10365,7 @@ "$ref": "#/components/schemas/Session.Revert" } }, - "required": [ - "id", - "projectID", - "cost", - "tokens", - "time", - "title", - "location" - ], + "required": ["id", "projectID", "cost", "tokens", "time", "title", "location"], "additionalProperties": false }, "SessionsResponse": { @@ -10941,10 +10404,7 @@ "additionalProperties": false } }, - "required": [ - "data", - "cursor" - ], + "required": ["data", "cursor"], "additionalProperties": false }, "InvalidCursorError": { @@ -10952,18 +10412,13 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "InvalidCursorError" - ] + "enum": ["InvalidCursorError"] }, "message": { "type": "string" } }, - "required": [ - "_tag", - "message" - ], + "required": ["_tag", "message"], "additionalProperties": false }, "InvalidRequestError1": { @@ -10971,9 +10426,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "InvalidRequestError" - ] + "enum": ["InvalidRequestError"] }, "message": { "type": "string" @@ -10999,10 +10452,7 @@ ] } }, - "required": [ - "_tag", - "message" - ], + "required": ["_tag", "message"], "additionalProperties": false }, "SessionActive": { @@ -11010,14 +10460,10 @@ "properties": { "type": { "type": "string", - "enum": [ - "running" - ] + "enum": ["running"] } }, - "required": [ - "type" - ], + "required": ["type"], "additionalProperties": false }, "SessionNotFoundError": { @@ -11025,9 +10471,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "SessionNotFoundError" - ] + "enum": ["SessionNotFoundError"] }, "sessionID": { "type": "string" @@ -11036,11 +10480,7 @@ "type": "string" } }, - "required": [ - "_tag", - "sessionID", - "message" - ], + "required": ["_tag", "sessionID", "message"], "additionalProperties": false }, "MessageNotFoundError": { @@ -11048,9 +10488,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "MessageNotFoundError" - ] + "enum": ["MessageNotFoundError"] }, "sessionID": { "type": "string" @@ -11062,12 +10500,7 @@ "type": "string" } }, - "required": [ - "_tag", - "sessionID", - "messageID", - "message" - ], + "required": ["_tag", "sessionID", "messageID", "message"], "additionalProperties": false }, "Prompt.Mention": { @@ -11083,11 +10516,7 @@ "type": "string" } }, - "required": [ - "start", - "end", - "text" - ], + "required": ["start", "end", "text"], "additionalProperties": false }, "PromptInput.FileAttachment": { @@ -11106,9 +10535,7 @@ "$ref": "#/components/schemas/Prompt.Mention" } }, - "required": [ - "uri" - ], + "required": ["uri"], "additionalProperties": false }, "Prompt.AgentAttachment": { @@ -11121,9 +10548,7 @@ "$ref": "#/components/schemas/Prompt.Mention" } }, - "required": [ - "name" - ], + "required": ["name"], "additionalProperties": false }, "PromptInput": { @@ -11145,9 +10570,7 @@ } } }, - "required": [ - "text" - ], + "required": ["text"], "additionalProperties": false }, "Prompt.Base64": { @@ -11165,14 +10588,10 @@ "properties": { "type": { "type": "string", - "enum": [ - "inline" - ] + "enum": ["inline"] } }, - "required": [ - "type" - ], + "required": ["type"], "additionalProperties": false }, { @@ -11180,18 +10599,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "uri" - ] + "enum": ["uri"] }, "uri": { "type": "string" } }, - "required": [ - "type", - "uri" - ], + "required": ["type", "uri"], "additionalProperties": false } ] @@ -11218,11 +10632,7 @@ "$ref": "#/components/schemas/Prompt.Mention" } }, - "required": [ - "data", - "mime", - "source" - ], + "required": ["data", "mime", "source"], "additionalProperties": false }, "Prompt": { @@ -11244,9 +10654,7 @@ } } }, - "required": [ - "text" - ], + "required": ["text"], "additionalProperties": false }, "SessionInput.Admitted": { @@ -11281,10 +10689,7 @@ }, "delivery": { "type": "string", - "enum": [ - "steer", - "queue" - ] + "enum": ["steer", "queue"] }, "timeCreated": { "type": "number" @@ -11298,14 +10703,7 @@ ] } }, - "required": [ - "admittedSeq", - "id", - "sessionID", - "prompt", - "delivery", - "timeCreated" - ], + "required": ["admittedSeq", "id", "sessionID", "prompt", "delivery", "timeCreated"], "additionalProperties": false }, "ConflictError": { @@ -11313,9 +10711,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "ConflictError" - ] + "enum": ["ConflictError"] }, "message": { "type": "string" @@ -11331,10 +10727,7 @@ ] } }, - "required": [ - "_tag", - "message" - ], + "required": ["_tag", "message"], "additionalProperties": false }, "CommandNotFoundError": { @@ -11342,9 +10735,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "CommandNotFoundError" - ] + "enum": ["CommandNotFoundError"] }, "command": { "type": "string" @@ -11353,11 +10744,7 @@ "type": "string" } }, - "required": [ - "_tag", - "command", - "message" - ], + "required": ["_tag", "command", "message"], "additionalProperties": false }, "CommandEvaluationError": { @@ -11365,9 +10752,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "CommandEvaluationError" - ] + "enum": ["CommandEvaluationError"] }, "command": { "type": "string" @@ -11376,11 +10761,7 @@ "type": "string" } }, - "required": [ - "_tag", - "command", - "message" - ], + "required": ["_tag", "command", "message"], "additionalProperties": false }, "SkillNotFoundError": { @@ -11388,9 +10769,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "SkillNotFoundError" - ] + "enum": ["SkillNotFoundError"] }, "skill": { "type": "string" @@ -11399,11 +10778,7 @@ "type": "string" } }, - "required": [ - "_tag", - "skill", - "message" - ], + "required": ["_tag", "skill", "message"], "additionalProperties": false }, "SessionInput.Compaction": { @@ -11411,9 +10786,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "compaction" - ] + "enum": ["compaction"] }, "admittedSeq": { "type": "integer", @@ -11451,13 +10824,7 @@ ] } }, - "required": [ - "type", - "admittedSeq", - "id", - "sessionID", - "timeCreated" - ], + "required": ["type", "admittedSeq", "id", "sessionID", "timeCreated"], "additionalProperties": false }, "ServiceUnavailableError": { @@ -11465,9 +10832,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "ServiceUnavailableError" - ] + "enum": ["ServiceUnavailableError"] }, "message": { "type": "string" @@ -11483,10 +10848,7 @@ ] } }, - "required": [ - "_tag", - "message" - ], + "required": ["_tag", "message"], "additionalProperties": false }, "SessionBusyError": { @@ -11494,9 +10856,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "SessionBusyError" - ] + "enum": ["SessionBusyError"] }, "sessionID": { "type": "string" @@ -11505,11 +10865,7 @@ "type": "string" } }, - "required": [ - "_tag", - "sessionID", - "message" - ], + "required": ["_tag", "sessionID", "message"], "additionalProperties": false }, "UnknownError": { @@ -11517,9 +10873,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "UnknownError" - ] + "enum": ["UnknownError"] }, "message": { "type": "string" @@ -11535,10 +10889,7 @@ ] } }, - "required": [ - "_tag", - "message" - ], + "required": ["_tag", "message"], "additionalProperties": false }, "Session.Message.AgentSelected": { @@ -11562,27 +10913,18 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "type": { "type": "string", - "enum": [ - "agent-switched" - ] + "enum": ["agent-switched"] }, "agent": { "type": "string" } }, - "required": [ - "id", - "time", - "type", - "agent" - ], + "required": ["id", "time", "type", "agent"], "additionalProperties": false }, "Session.Message.ModelSelected": { @@ -11606,16 +10948,12 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "type": { "type": "string", - "enum": [ - "model-switched" - ] + "enum": ["model-switched"] }, "model": { "$ref": "#/components/schemas/Model.Ref" @@ -11624,12 +10962,7 @@ "$ref": "#/components/schemas/Model.Ref" } }, - "required": [ - "id", - "time", - "type", - "model" - ], + "required": ["id", "time", "type", "model"], "additionalProperties": false }, "Session.Message.User": { @@ -11653,9 +10986,7 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "text": { @@ -11675,17 +11006,10 @@ }, "type": { "type": "string", - "enum": [ - "user" - ] + "enum": ["user"] } }, - "required": [ - "id", - "time", - "text", - "type" - ], + "required": ["id", "time", "text", "type"], "additionalProperties": false }, "Session.Message.Synthetic": { @@ -11709,9 +11033,7 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "text": { @@ -11722,17 +11044,10 @@ }, "type": { "type": "string", - "enum": [ - "synthetic" - ] + "enum": ["synthetic"] } }, - "required": [ - "id", - "time", - "text", - "type" - ], + "required": ["id", "time", "text", "type"], "additionalProperties": false }, "Session.Message.System": { @@ -11756,27 +11071,18 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "type": { "type": "string", - "enum": [ - "system" - ] + "enum": ["system"] }, "text": { "type": "string" } }, - "required": [ - "id", - "time", - "type", - "text" - ], + "required": ["id", "time", "type", "text"], "additionalProperties": false }, "Session.Message.Skill": { @@ -11800,16 +11106,12 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "type": { "type": "string", - "enum": [ - "skill" - ] + "enum": ["skill"] }, "skill": { "type": "string" @@ -11821,14 +11123,7 @@ "type": "string" } }, - "required": [ - "id", - "time", - "type", - "skill", - "name", - "text" - ], + "required": ["id", "time", "type", "skill", "name", "text"], "additionalProperties": false }, "Session.Message.Shell": { @@ -11855,16 +11150,12 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "type": { "type": "string", - "enum": [ - "shell" - ] + "enum": ["shell"] }, "shellID": { "type": "string", @@ -11879,12 +11170,7 @@ }, "status": { "type": "string", - "enum": [ - "running", - "exited", - "timeout", - "killed" - ] + "enum": ["running", "exited", "timeout", "killed"] }, "exit": { "anyOf": [ @@ -11895,31 +11181,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -11949,23 +11225,11 @@ "type": "boolean" } }, - "required": [ - "output", - "cursor", - "size", - "truncated" - ], + "required": ["output", "cursor", "size", "truncated"], "additionalProperties": false } }, - "required": [ - "id", - "time", - "type", - "shellID", - "command", - "status" - ], + "required": ["id", "time", "type", "shellID", "command", "status"], "additionalProperties": false }, "Session.Message.Assistant.Text": { @@ -11973,18 +11237,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "text" - ] + "enum": ["text"] }, "text": { "type": "string" } }, - "required": [ - "type", - "text" - ], + "required": ["type", "text"], "additionalProperties": false }, "Session.Message.ProviderState": { @@ -11995,9 +11254,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "reasoning" - ] + "enum": ["reasoning"] }, "text": { "type": "string" @@ -12015,16 +11272,11 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false } }, - "required": [ - "type", - "text" - ], + "required": ["type", "text"], "additionalProperties": false }, "Session.Message.ToolState.Streaming": { @@ -12032,18 +11284,13 @@ "properties": { "status": { "type": "string", - "enum": [ - "streaming" - ] + "enum": ["streaming"] }, "input": { "type": "string" } }, - "required": [ - "status", - "input" - ], + "required": ["status", "input"], "additionalProperties": false }, "Tool.TextContent": { @@ -12051,18 +11298,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "text" - ] + "enum": ["text"] }, "text": { "type": "string" } }, - "required": [ - "type", - "text" - ], + "required": ["type", "text"], "additionalProperties": false }, "Tool.FileContent": { @@ -12070,9 +11312,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "file" - ] + "enum": ["file"] }, "uri": { "type": "string" @@ -12084,11 +11324,7 @@ "type": "string" } }, - "required": [ - "type", - "uri", - "mime" - ], + "required": ["type", "uri", "mime"], "additionalProperties": false }, "LLM.ToolContent": { @@ -12106,9 +11342,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "running" - ] + "enum": ["running"] }, "input": { "type": "object" @@ -12123,12 +11357,7 @@ } } }, - "required": [ - "status", - "input", - "structured", - "content" - ], + "required": ["status", "input", "structured", "content"], "additionalProperties": false }, "Session.Message.ToolState.Completed": { @@ -12136,9 +11365,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "completed" - ] + "enum": ["completed"] }, "input": { "type": "object" @@ -12154,12 +11381,7 @@ }, "result": {} }, - "required": [ - "status", - "input", - "content", - "structured" - ], + "required": ["status", "input", "content", "structured"], "additionalProperties": false }, "Session.StructuredError": { @@ -12172,10 +11394,7 @@ "type": "string" } }, - "required": [ - "type", - "message" - ], + "required": ["type", "message"], "additionalProperties": false }, "Session.Message.ToolState.Error": { @@ -12183,9 +11402,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "error" - ] + "enum": ["error"] }, "input": { "type": "object" @@ -12204,13 +11421,7 @@ }, "result": {} }, - "required": [ - "status", - "input", - "content", - "structured", - "error" - ], + "required": ["status", "input", "content", "structured", "error"], "additionalProperties": false }, "Session.Message.Assistant.Tool": { @@ -12218,9 +11429,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "tool" - ] + "enum": ["tool"] }, "id": { "type": "string" @@ -12266,19 +11475,11 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false } }, - "required": [ - "type", - "id", - "name", - "state", - "time" - ], + "required": ["type", "id", "name", "state", "time"], "additionalProperties": false }, "Session.Message.Assistant.Retry": { @@ -12299,11 +11500,7 @@ "$ref": "#/components/schemas/Session.StructuredError" } }, - "required": [ - "attempt", - "at", - "error" - ], + "required": ["attempt", "at", "error"], "additionalProperties": false }, "Session.Message.Assistant": { @@ -12330,16 +11527,12 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "type": { "type": "string", - "enum": [ - "assistant" - ] + "enum": ["assistant"] }, "agent": { "type": "string" @@ -12383,14 +11576,7 @@ }, "finish": { "type": "string", - "enum": [ - "stop", - "length", - "tool-calls", - "content-filter", - "error", - "unknown" - ] + "enum": ["stop", "length", "tool-calls", "content-filter", "error", "unknown"] }, "cost": { "$ref": "#/components/schemas/Money.USD" @@ -12405,14 +11591,7 @@ "$ref": "#/components/schemas/Session.Message.Assistant.Retry" } }, - "required": [ - "id", - "time", - "type", - "agent", - "model", - "content" - ], + "required": ["id", "time", "type", "agent", "model", "content"], "additionalProperties": false }, "Session.Message.Compaction.Running": { @@ -12420,9 +11599,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "compaction" - ] + "enum": ["compaction"] }, "id": { "type": "string", @@ -12442,23 +11619,16 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "status": { "type": "string", - "enum": [ - "running" - ] + "enum": ["running"] }, "reason": { "type": "string", - "enum": [ - "auto", - "manual" - ] + "enum": ["auto", "manual"] }, "summary": { "type": "string" @@ -12467,15 +11637,7 @@ "type": "string" } }, - "required": [ - "type", - "id", - "time", - "status", - "reason", - "summary", - "recent" - ], + "required": ["type", "id", "time", "status", "reason", "summary", "recent"], "additionalProperties": false }, "Session.Message.Compaction.Completed": { @@ -12483,9 +11645,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "compaction" - ] + "enum": ["compaction"] }, "id": { "type": "string", @@ -12505,23 +11665,16 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "status": { "type": "string", - "enum": [ - "completed" - ] + "enum": ["completed"] }, "reason": { "type": "string", - "enum": [ - "auto", - "manual" - ] + "enum": ["auto", "manual"] }, "summary": { "type": "string" @@ -12530,15 +11683,7 @@ "type": "string" } }, - "required": [ - "type", - "id", - "time", - "status", - "reason", - "summary", - "recent" - ], + "required": ["type", "id", "time", "status", "reason", "summary", "recent"], "additionalProperties": false }, "Session.Message.Compaction.Failed": { @@ -12546,9 +11691,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "compaction" - ] + "enum": ["compaction"] }, "id": { "type": "string", @@ -12568,36 +11711,22 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "status": { "type": "string", - "enum": [ - "failed" - ] + "enum": ["failed"] }, "reason": { "type": "string", - "enum": [ - "auto", - "manual" - ] + "enum": ["auto", "manual"] }, "error": { "$ref": "#/components/schemas/Session.StructuredError" } }, - "required": [ - "type", - "id", - "time", - "status", - "reason", - "error" - ], + "required": ["type", "id", "time", "status", "reason", "error"], "additionalProperties": false }, "Session.Message.Compaction": { @@ -12661,10 +11790,7 @@ }, "value": {} }, - "required": [ - "key", - "value" - ], + "required": ["key", "value"], "additionalProperties": false }, "session.agent.selected": { @@ -12686,9 +11812,7 @@ }, "type": { "type": "string", - "enum": [ - "session.agent.selected" - ] + "enum": ["session.agent.selected"] }, "durable": { "type": "object", @@ -12706,16 +11830,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -12736,20 +11854,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "agent" - ], + "required": ["sessionID", "agent"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.model.selected": { @@ -12771,9 +11880,7 @@ }, "type": { "type": "string", - "enum": [ - "session.model.selected" - ] + "enum": ["session.model.selected"] }, "durable": { "type": "object", @@ -12791,16 +11898,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -12821,20 +11922,11 @@ "$ref": "#/components/schemas/Model.Ref" } }, - "required": [ - "sessionID", - "model" - ], + "required": ["sessionID", "model"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.moved": { @@ -12856,9 +11948,7 @@ }, "type": { "type": "string", - "enum": [ - "session.moved" - ] + "enum": ["session.moved"] }, "durable": { "type": "object", @@ -12876,16 +11966,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -12909,20 +11993,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "location" - ], + "required": ["sessionID", "location"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.renamed": { @@ -12944,9 +12019,7 @@ }, "type": { "type": "string", - "enum": [ - "session.renamed" - ] + "enum": ["session.renamed"] }, "durable": { "type": "object", @@ -12964,16 +12037,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -12994,20 +12061,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "title" - ], + "required": ["sessionID", "title"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.deleted": { @@ -13029,9 +12087,7 @@ }, "type": { "type": "string", - "enum": [ - "session.deleted" - ] + "enum": ["session.deleted"] }, "durable": { "type": "object", @@ -13049,16 +12105,10 @@ }, "version": { "type": "number", - "enum": [ - 2 - ] + "enum": [2] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -13076,19 +12126,11 @@ ] } }, - "required": [ - "sessionID" - ], + "required": ["sessionID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.forked": { @@ -13110,9 +12152,7 @@ }, "type": { "type": "string", - "enum": [ - "session.forked" - ] + "enum": ["session.forked"] }, "durable": { "type": "object", @@ -13130,16 +12170,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -13173,20 +12207,11 @@ ] } }, - "required": [ - "sessionID", - "parentID" - ], + "required": ["sessionID", "parentID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.prompt.promoted": { @@ -13208,9 +12233,7 @@ }, "type": { "type": "string", - "enum": [ - "session.prompt.promoted" - ] + "enum": ["session.prompt.promoted"] }, "durable": { "type": "object", @@ -13228,16 +12251,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -13263,20 +12280,11 @@ ] } }, - "required": [ - "sessionID", - "inputID" - ], + "required": ["sessionID", "inputID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.prompt.admitted": { @@ -13298,9 +12306,7 @@ }, "type": { "type": "string", - "enum": [ - "session.prompt.admitted" - ] + "enum": ["session.prompt.admitted"] }, "durable": { "type": "object", @@ -13318,16 +12324,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -13357,28 +12357,14 @@ }, "delivery": { "type": "string", - "enum": [ - "steer", - "queue" - ] + "enum": ["steer", "queue"] } }, - "required": [ - "sessionID", - "inputID", - "prompt", - "delivery" - ], + "required": ["sessionID", "inputID", "prompt", "delivery"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.execution.started": { @@ -13400,9 +12386,7 @@ }, "type": { "type": "string", - "enum": [ - "session.execution.started" - ] + "enum": ["session.execution.started"] }, "durable": { "type": "object", @@ -13420,16 +12404,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -13447,19 +12425,11 @@ ] } }, - "required": [ - "sessionID" - ], + "required": ["sessionID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.execution.succeeded": { @@ -13481,9 +12451,7 @@ }, "type": { "type": "string", - "enum": [ - "session.execution.succeeded" - ] + "enum": ["session.execution.succeeded"] }, "durable": { "type": "object", @@ -13501,16 +12469,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -13528,19 +12490,11 @@ ] } }, - "required": [ - "sessionID" - ], + "required": ["sessionID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.execution.failed": { @@ -13562,9 +12516,7 @@ }, "type": { "type": "string", - "enum": [ - "session.execution.failed" - ] + "enum": ["session.execution.failed"] }, "durable": { "type": "object", @@ -13582,16 +12534,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -13612,20 +12558,11 @@ "$ref": "#/components/schemas/Session.StructuredError" } }, - "required": [ - "sessionID", - "error" - ], + "required": ["sessionID", "error"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.execution.interrupted": { @@ -13647,9 +12584,7 @@ }, "type": { "type": "string", - "enum": [ - "session.execution.interrupted" - ] + "enum": ["session.execution.interrupted"] }, "durable": { "type": "object", @@ -13667,16 +12602,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -13695,27 +12624,14 @@ }, "reason": { "type": "string", - "enum": [ - "user", - "shutdown", - "superseded" - ] + "enum": ["user", "shutdown", "superseded"] } }, - "required": [ - "sessionID", - "reason" - ], + "required": ["sessionID", "reason"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.instructions.updated": { @@ -13737,9 +12653,7 @@ }, "type": { "type": "string", - "enum": [ - "session.instructions.updated" - ] + "enum": ["session.instructions.updated"] }, "durable": { "type": "object", @@ -13757,16 +12671,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -13787,20 +12695,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "text" - ], + "required": ["sessionID", "text"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.synthetic": { @@ -13822,9 +12721,7 @@ }, "type": { "type": "string", - "enum": [ - "session.synthetic" - ] + "enum": ["session.synthetic"] }, "durable": { "type": "object", @@ -13842,16 +12739,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -13878,20 +12769,11 @@ "type": "object" } }, - "required": [ - "sessionID", - "text" - ], + "required": ["sessionID", "text"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.skill.activated": { @@ -13913,9 +12795,7 @@ }, "type": { "type": "string", - "enum": [ - "session.skill.activated" - ] + "enum": ["session.skill.activated"] }, "durable": { "type": "object", @@ -13933,16 +12813,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -13969,22 +12843,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "id", - "name", - "text" - ], + "required": ["sessionID", "id", "name", "text"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Shell": { @@ -14000,12 +12863,7 @@ }, "status": { "type": "string", - "enum": [ - "running", - "exited", - "timeout", - "killed" - ] + "enum": ["running", "exited", "timeout", "killed"] }, "command": { "type": "string" @@ -14034,21 +12892,15 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, @@ -14065,21 +12917,15 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, @@ -14090,41 +12936,24 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] } }, - "required": [ - "started" - ], + "required": ["started"], "additionalProperties": false } }, - "required": [ - "id", - "status", - "command", - "cwd", - "shell", - "file", - "metadata", - "time" - ], + "required": ["id", "status", "command", "cwd", "shell", "file", "metadata", "time"], "additionalProperties": false }, "session.shell.started": { @@ -14146,9 +12975,7 @@ }, "type": { "type": "string", - "enum": [ - "session.shell.started" - ] + "enum": ["session.shell.started"] }, "durable": { "type": "object", @@ -14166,16 +12993,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -14196,20 +13017,11 @@ "$ref": "#/components/schemas/Shell" } }, - "required": [ - "sessionID", - "shell" - ], + "required": ["sessionID", "shell"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.shell.ended": { @@ -14231,9 +13043,7 @@ }, "type": { "type": "string", - "enum": [ - "session.shell.ended" - ] + "enum": ["session.shell.ended"] }, "durable": { "type": "object", @@ -14251,16 +13061,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -14306,30 +13110,15 @@ "type": "boolean" } }, - "required": [ - "output", - "cursor", - "size", - "truncated" - ], + "required": ["output", "cursor", "size", "truncated"], "additionalProperties": false } }, - "required": [ - "sessionID", - "shell", - "output" - ], + "required": ["sessionID", "shell", "output"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.step.started": { @@ -14351,9 +13140,7 @@ }, "type": { "type": "string", - "enum": [ - "session.step.started" - ] + "enum": ["session.step.started"] }, "durable": { "type": "object", @@ -14371,16 +13158,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -14415,22 +13196,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "assistantMessageID", - "agent", - "model" - ], + "required": ["sessionID", "assistantMessageID", "agent", "model"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.step.ended": { @@ -14452,9 +13222,7 @@ }, "type": { "type": "string", - "enum": [ - "session.step.ended" - ] + "enum": ["session.step.ended"] }, "durable": { "type": "object", @@ -14472,16 +13240,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -14508,14 +13270,7 @@ }, "finish": { "type": "string", - "enum": [ - "stop", - "length", - "tool-calls", - "content-filter", - "error", - "unknown" - ] + "enum": ["stop", "length", "tool-calls", "content-filter", "error", "unknown"] }, "cost": { "$ref": "#/components/schemas/Money.USD" @@ -14533,23 +13288,11 @@ } } }, - "required": [ - "sessionID", - "assistantMessageID", - "finish", - "cost", - "tokens" - ], + "required": ["sessionID", "assistantMessageID", "finish", "cost", "tokens"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.step.failed": { @@ -14571,9 +13314,7 @@ }, "type": { "type": "string", - "enum": [ - "session.step.failed" - ] + "enum": ["session.step.failed"] }, "durable": { "type": "object", @@ -14591,16 +13332,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -14635,21 +13370,11 @@ "$ref": "#/components/schemas/TokenUsage.Info" } }, - "required": [ - "sessionID", - "assistantMessageID", - "error" - ], + "required": ["sessionID", "assistantMessageID", "error"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.text.started": { @@ -14671,9 +13396,7 @@ }, "type": { "type": "string", - "enum": [ - "session.text.started" - ] + "enum": ["session.text.started"] }, "durable": { "type": "object", @@ -14691,16 +13414,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -14734,21 +13451,11 @@ ] } }, - "required": [ - "sessionID", - "assistantMessageID", - "ordinal" - ], + "required": ["sessionID", "assistantMessageID", "ordinal"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.text.ended": { @@ -14770,9 +13477,7 @@ }, "type": { "type": "string", - "enum": [ - "session.text.ended" - ] + "enum": ["session.text.ended"] }, "durable": { "type": "object", @@ -14790,16 +13495,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -14836,22 +13535,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "assistantMessageID", - "ordinal", - "text" - ], + "required": ["sessionID", "assistantMessageID", "ordinal", "text"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Session.Message.ProviderState3": { @@ -14876,9 +13564,7 @@ }, "type": { "type": "string", - "enum": [ - "session.reasoning.started" - ] + "enum": ["session.reasoning.started"] }, "durable": { "type": "object", @@ -14896,16 +13582,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -14942,21 +13622,11 @@ "$ref": "#/components/schemas/Session.Message.ProviderState3" } }, - "required": [ - "sessionID", - "assistantMessageID", - "ordinal" - ], + "required": ["sessionID", "assistantMessageID", "ordinal"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Session.Message.ProviderState4": { @@ -14981,9 +13651,7 @@ }, "type": { "type": "string", - "enum": [ - "session.reasoning.ended" - ] + "enum": ["session.reasoning.ended"] }, "durable": { "type": "object", @@ -15001,16 +13669,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15050,22 +13712,11 @@ "$ref": "#/components/schemas/Session.Message.ProviderState4" } }, - "required": [ - "sessionID", - "assistantMessageID", - "ordinal", - "text" - ], + "required": ["sessionID", "assistantMessageID", "ordinal", "text"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.tool.input.started": { @@ -15087,9 +13738,7 @@ }, "type": { "type": "string", - "enum": [ - "session.tool.input.started" - ] + "enum": ["session.tool.input.started"] }, "durable": { "type": "object", @@ -15107,16 +13756,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15148,22 +13791,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "assistantMessageID", - "callID", - "name" - ], + "required": ["sessionID", "assistantMessageID", "callID", "name"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.tool.input.ended": { @@ -15185,9 +13817,7 @@ }, "type": { "type": "string", - "enum": [ - "session.tool.input.ended" - ] + "enum": ["session.tool.input.ended"] }, "durable": { "type": "object", @@ -15205,16 +13835,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15246,22 +13870,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "assistantMessageID", - "callID", - "text" - ], + "required": ["sessionID", "assistantMessageID", "callID", "text"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Session.Message.ProviderState5": { @@ -15286,9 +13899,7 @@ }, "type": { "type": "string", - "enum": [ - "session.tool.called" - ] + "enum": ["session.tool.called"] }, "durable": { "type": "object", @@ -15306,16 +13917,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15353,23 +13958,11 @@ "$ref": "#/components/schemas/Session.Message.ProviderState5" } }, - "required": [ - "sessionID", - "assistantMessageID", - "callID", - "input", - "executed" - ], + "required": ["sessionID", "assistantMessageID", "callID", "input", "executed"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.tool.progress": { @@ -15391,9 +13984,7 @@ }, "type": { "type": "string", - "enum": [ - "session.tool.progress" - ] + "enum": ["session.tool.progress"] }, "durable": { "type": "object", @@ -15411,16 +14002,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15458,23 +14043,11 @@ } } }, - "required": [ - "sessionID", - "assistantMessageID", - "callID", - "structured", - "content" - ], + "required": ["sessionID", "assistantMessageID", "callID", "structured", "content"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Session.Message.ProviderState6": { @@ -15499,9 +14072,7 @@ }, "type": { "type": "string", - "enum": [ - "session.tool.success" - ] + "enum": ["session.tool.success"] }, "durable": { "type": "object", @@ -15519,16 +14090,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15573,24 +14138,11 @@ "$ref": "#/components/schemas/Session.Message.ProviderState6" } }, - "required": [ - "sessionID", - "assistantMessageID", - "callID", - "structured", - "content", - "executed" - ], + "required": ["sessionID", "assistantMessageID", "callID", "structured", "content", "executed"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Session.Message.ProviderState7": { @@ -15615,9 +14167,7 @@ }, "type": { "type": "string", - "enum": [ - "session.tool.failed" - ] + "enum": ["session.tool.failed"] }, "durable": { "type": "object", @@ -15635,16 +14185,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15683,23 +14227,11 @@ "$ref": "#/components/schemas/Session.Message.ProviderState7" } }, - "required": [ - "sessionID", - "assistantMessageID", - "callID", - "error", - "executed" - ], + "required": ["sessionID", "assistantMessageID", "callID", "error", "executed"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.retry.scheduled": { @@ -15721,9 +14253,7 @@ }, "type": { "type": "string", - "enum": [ - "session.retry.scheduled" - ] + "enum": ["session.retry.scheduled"] }, "durable": { "type": "object", @@ -15741,16 +14271,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15795,23 +14319,11 @@ "$ref": "#/components/schemas/Session.StructuredError" } }, - "required": [ - "sessionID", - "assistantMessageID", - "attempt", - "at", - "error" - ], + "required": ["sessionID", "assistantMessageID", "attempt", "at", "error"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.compaction.admitted": { @@ -15833,9 +14345,7 @@ }, "type": { "type": "string", - "enum": [ - "session.compaction.admitted" - ] + "enum": ["session.compaction.admitted"] }, "durable": { "type": "object", @@ -15853,16 +14363,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15888,20 +14392,11 @@ ] } }, - "required": [ - "sessionID", - "inputID" - ], + "required": ["sessionID", "inputID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.compaction.started": { @@ -15923,9 +14418,7 @@ }, "type": { "type": "string", - "enum": [ - "session.compaction.started" - ] + "enum": ["session.compaction.started"] }, "durable": { "type": "object", @@ -15943,16 +14436,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15971,10 +14458,7 @@ }, "reason": { "type": "string", - "enum": [ - "auto", - "manual" - ] + "enum": ["auto", "manual"] }, "recent": { "type": "string" @@ -15988,21 +14472,11 @@ ] } }, - "required": [ - "sessionID", - "reason", - "recent" - ], + "required": ["sessionID", "reason", "recent"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.compaction.ended": { @@ -16024,9 +14498,7 @@ }, "type": { "type": "string", - "enum": [ - "session.compaction.ended" - ] + "enum": ["session.compaction.ended"] }, "durable": { "type": "object", @@ -16044,16 +14516,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16072,10 +14538,7 @@ }, "reason": { "type": "string", - "enum": [ - "auto", - "manual" - ] + "enum": ["auto", "manual"] }, "text": { "type": "string" @@ -16084,22 +14547,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "reason", - "text", - "recent" - ], + "required": ["sessionID", "reason", "text", "recent"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.compaction.failed": { @@ -16121,9 +14573,7 @@ }, "type": { "type": "string", - "enum": [ - "session.compaction.failed" - ] + "enum": ["session.compaction.failed"] }, "durable": { "type": "object", @@ -16141,16 +14591,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16169,10 +14613,7 @@ }, "reason": { "type": "string", - "enum": [ - "auto", - "manual" - ] + "enum": ["auto", "manual"] }, "error": { "$ref": "#/components/schemas/Session.StructuredError" @@ -16186,21 +14627,11 @@ ] } }, - "required": [ - "sessionID", - "reason", - "error" - ], + "required": ["sessionID", "reason", "error"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.revert.staged": { @@ -16222,9 +14653,7 @@ }, "type": { "type": "string", - "enum": [ - "session.revert.staged" - ] + "enum": ["session.revert.staged"] }, "durable": { "type": "object", @@ -16242,16 +14671,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16272,20 +14695,11 @@ "$ref": "#/components/schemas/Session.Revert" } }, - "required": [ - "sessionID", - "revert" - ], + "required": ["sessionID", "revert"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.revert.cleared": { @@ -16307,9 +14721,7 @@ }, "type": { "type": "string", - "enum": [ - "session.revert.cleared" - ] + "enum": ["session.revert.cleared"] }, "durable": { "type": "object", @@ -16327,16 +14739,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16354,19 +14760,11 @@ ] } }, - "required": [ - "sessionID" - ], + "required": ["sessionID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.revert.committed": { @@ -16388,9 +14786,7 @@ }, "type": { "type": "string", - "enum": [ - "session.revert.committed" - ] + "enum": ["session.revert.committed"] }, "durable": { "type": "object", @@ -16408,16 +14804,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16443,20 +14833,11 @@ ] } }, - "required": [ - "sessionID", - "to" - ], + "required": ["sessionID", "to"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Session.Event.Durable": { @@ -16582,9 +14963,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "log.synced" - ] + "enum": ["log.synced"] }, "aggregateID": { "type": "string" @@ -16598,10 +14977,7 @@ ] } }, - "required": [ - "type", - "aggregateID" - ], + "required": ["type", "aggregateID"], "additionalProperties": false, "description": "Marker emitted once when a log read reaches its captured watermark. The reader holds every event committed at or below seq." }, @@ -16658,10 +15034,7 @@ "additionalProperties": false } }, - "required": [ - "data", - "cursor" - ], + "required": ["data", "cursor"], "additionalProperties": false }, "Model.Capabilities": { @@ -16683,11 +15056,7 @@ } } }, - "required": [ - "tools", - "input", - "output" - ], + "required": ["tools", "input", "output"], "additionalProperties": false }, "Model.Variant": { @@ -16709,9 +15078,7 @@ "type": "object" } }, - "required": [ - "id" - ], + "required": ["id"], "additionalProperties": false }, "Money.USDPerMillionTokens": { @@ -16725,18 +15092,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "context" - ] + "enum": ["context"] }, "size": { "type": "integer" } }, - "required": [ - "type", - "size" - ], + "required": ["type", "size"], "additionalProperties": false }, "input": { @@ -16755,18 +15117,11 @@ "$ref": "#/components/schemas/Money.USDPerMillionTokens" } }, - "required": [ - "read", - "write" - ], + "required": ["read", "write"], "additionalProperties": false } }, - "required": [ - "input", - "output", - "cache" - ], + "required": ["input", "output", "cache"], "additionalProperties": false }, "Model.Info": { @@ -16818,9 +15173,7 @@ "type": "number" } }, - "required": [ - "released" - ], + "required": ["released"], "additionalProperties": false }, "cost": { @@ -16831,12 +15184,7 @@ }, "status": { "type": "string", - "enum": [ - "alpha", - "beta", - "deprecated", - "active" - ] + "enum": ["alpha", "beta", "deprecated", "active"] }, "enabled": { "type": "boolean" @@ -16854,10 +15202,7 @@ "type": "integer" } }, - "required": [ - "context", - "output" - ], + "required": ["context", "output"], "additionalProperties": false } }, @@ -16886,15 +15231,11 @@ "type": "string" } }, - "required": [ - "text" - ], + "required": ["text"], "additionalProperties": false } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false }, "ProviderV2.Info": { @@ -16928,11 +15269,7 @@ "type": "object" } }, - "required": [ - "id", - "name", - "package" - ], + "required": ["id", "name", "package"], "additionalProperties": false }, "ProviderNotFoundError": { @@ -16940,9 +15277,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "ProviderNotFoundError" - ] + "enum": ["ProviderNotFoundError"] }, "providerID": { "type": "string" @@ -16951,11 +15286,7 @@ "type": "string" } }, - "required": [ - "_tag", - "providerID", - "message" - ], + "required": ["_tag", "providerID", "message"], "additionalProperties": false }, "Integration.When": { @@ -16966,20 +15297,13 @@ }, "op": { "type": "string", - "enum": [ - "eq", - "neq" - ] + "enum": ["eq", "neq"] }, "value": { "type": "string" } }, - "required": [ - "key", - "op", - "value" - ], + "required": ["key", "op", "value"], "additionalProperties": false }, "Integration.TextPrompt": { @@ -16987,9 +15311,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "text" - ] + "enum": ["text"] }, "key": { "type": "string" @@ -17004,11 +15326,7 @@ "$ref": "#/components/schemas/Integration.When" } }, - "required": [ - "type", - "key", - "message" - ], + "required": ["type", "key", "message"], "additionalProperties": false }, "Integration.SelectPrompt": { @@ -17016,9 +15334,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "select" - ] + "enum": ["select"] }, "key": { "type": "string" @@ -17041,10 +15357,7 @@ "type": "string" } }, - "required": [ - "label", - "value" - ], + "required": ["label", "value"], "additionalProperties": false } }, @@ -17052,12 +15365,7 @@ "$ref": "#/components/schemas/Integration.When" } }, - "required": [ - "type", - "key", - "message", - "options" - ], + "required": ["type", "key", "message", "options"], "additionalProperties": false }, "Integration.OAuthMethod": { @@ -17068,9 +15376,7 @@ }, "type": { "type": "string", - "enum": [ - "oauth" - ] + "enum": ["oauth"] }, "label": { "type": "string" @@ -17089,11 +15395,7 @@ } } }, - "required": [ - "id", - "type", - "label" - ], + "required": ["id", "type", "label"], "additionalProperties": false }, "Integration.KeyMethod": { @@ -17101,17 +15403,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "key" - ] + "enum": ["key"] }, "label": { "type": "string" } }, - "required": [ - "type" - ], + "required": ["type"], "additionalProperties": false }, "Integration.EnvMethod": { @@ -17119,9 +15417,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "env" - ] + "enum": ["env"] }, "names": { "type": "array", @@ -17130,10 +15426,7 @@ } } }, - "required": [ - "type", - "names" - ], + "required": ["type", "names"], "additionalProperties": false }, "Integration.Method": { @@ -17154,9 +15447,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "credential" - ] + "enum": ["credential"] }, "id": { "type": "string" @@ -17165,11 +15456,7 @@ "type": "string" } }, - "required": [ - "type", - "id", - "label" - ], + "required": ["type", "id", "label"], "additionalProperties": false }, "Connection.EnvInfo": { @@ -17177,18 +15464,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "env" - ] + "enum": ["env"] }, "name": { "type": "string" } }, - "required": [ - "type", - "name" - ], + "required": ["type", "name"], "additionalProperties": false }, "Connection.Info": { @@ -17223,12 +15505,7 @@ } } }, - "required": [ - "id", - "name", - "methods", - "connections" - ], + "required": ["id", "name", "methods", "connections"], "additionalProperties": false }, "Integration.Attempt": { @@ -17245,10 +15522,7 @@ }, "mode": { "type": "string", - "enum": [ - "auto", - "code" - ] + "enum": ["auto", "code"] }, "time": { "type": "object", @@ -17262,31 +15536,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -17299,49 +15563,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "attemptID", - "url", - "instructions", - "mode", - "time" - ], + "required": ["attemptID", "url", "instructions", "mode", "time"], "additionalProperties": false }, "Integration.AttemptStatus": { @@ -17351,9 +15596,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "pending" - ] + "enum": ["pending"] }, "time": { "type": "object", @@ -17367,31 +15610,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -17404,46 +15637,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "status", - "time" - ], + "required": ["status", "time"], "additionalProperties": false }, { @@ -17451,9 +15668,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "complete" - ] + "enum": ["complete"] }, "time": { "type": "object", @@ -17467,31 +15682,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -17504,46 +15709,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "status", - "time" - ], + "required": ["status", "time"], "additionalProperties": false }, { @@ -17551,9 +15740,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "failed" - ] + "enum": ["failed"] }, "message": { "type": "string" @@ -17570,31 +15757,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -17607,47 +15784,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "status", - "message", - "time" - ], + "required": ["status", "message", "time"], "additionalProperties": false }, { @@ -17655,9 +15815,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "expired" - ] + "enum": ["expired"] }, "time": { "type": "object", @@ -17671,31 +15829,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -17708,46 +15856,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "status", - "time" - ], + "required": ["status", "time"], "additionalProperties": false } ] @@ -17757,14 +15889,10 @@ "properties": { "status": { "type": "string", - "enum": [ - "connected" - ] + "enum": ["connected"] } }, - "required": [ - "status" - ], + "required": ["status"], "additionalProperties": false }, "Mcp.Status.Pending": { @@ -17772,14 +15900,10 @@ "properties": { "status": { "type": "string", - "enum": [ - "pending" - ] + "enum": ["pending"] } }, - "required": [ - "status" - ], + "required": ["status"], "additionalProperties": false }, "Mcp.Status.Disabled": { @@ -17787,14 +15911,10 @@ "properties": { "status": { "type": "string", - "enum": [ - "disabled" - ] + "enum": ["disabled"] } }, - "required": [ - "status" - ], + "required": ["status"], "additionalProperties": false }, "Mcp.Status.Failed": { @@ -17802,18 +15922,13 @@ "properties": { "status": { "type": "string", - "enum": [ - "failed" - ] + "enum": ["failed"] }, "error": { "type": "string" } }, - "required": [ - "status", - "error" - ], + "required": ["status", "error"], "additionalProperties": false }, "Mcp.Status.NeedsAuth": { @@ -17821,14 +15936,10 @@ "properties": { "status": { "type": "string", - "enum": [ - "needs_auth" - ] + "enum": ["needs_auth"] } }, - "required": [ - "status" - ], + "required": ["status"], "additionalProperties": false }, "Mcp.Status.NeedsClientRegistration": { @@ -17836,18 +15947,13 @@ "properties": { "status": { "type": "string", - "enum": [ - "needs_client_registration" - ] + "enum": ["needs_client_registration"] }, "error": { "type": "string" } }, - "required": [ - "status", - "error" - ], + "required": ["status", "error"], "additionalProperties": false }, "Mcp.Server": { @@ -17882,10 +15988,7 @@ "type": "string" } }, - "required": [ - "name", - "status" - ], + "required": ["name", "status"], "additionalProperties": false }, "Mcp.Resource": { @@ -17907,11 +16010,7 @@ "type": "string" } }, - "required": [ - "server", - "name", - "uri" - ], + "required": ["server", "name", "uri"], "additionalProperties": false }, "Mcp.ResourceTemplate": { @@ -17933,11 +16032,7 @@ "type": "string" } }, - "required": [ - "server", - "name", - "uriTemplate" - ], + "required": ["server", "name", "uriTemplate"], "additionalProperties": false }, "Mcp.ResourceCatalog": { @@ -17956,18 +16051,12 @@ } } }, - "required": [ - "resources", - "templates" - ], + "required": ["resources", "templates"], "additionalProperties": false }, "Project.Vcs": { "type": "string", - "enum": [ - "git", - "hg" - ] + "enum": ["git", "hg"] }, "Project.Icon": { "type": "object", @@ -18022,10 +16111,7 @@ ] } }, - "required": [ - "created", - "updated" - ], + "required": ["created", "updated"], "additionalProperties": false }, "Project": { @@ -18059,12 +16145,7 @@ } } }, - "required": [ - "id", - "worktree", - "time", - "sandboxes" - ], + "required": ["id", "worktree", "time", "sandboxes"], "additionalProperties": false }, "Project.Current": { @@ -18077,10 +16158,7 @@ "type": "string" } }, - "required": [ - "id", - "directory" - ], + "required": ["id", "directory"], "additionalProperties": false }, "Project.Directory": { @@ -18093,9 +16171,7 @@ "type": "string" } }, - "required": [ - "directory" - ], + "required": ["directory"], "additionalProperties": false }, "Project.Directories": { @@ -18115,10 +16191,7 @@ }, "op": { "type": "string", - "enum": [ - "eq", - "neq" - ] + "enum": ["eq", "neq"] }, "value": { "anyOf": [ @@ -18134,31 +16207,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -18168,11 +16231,7 @@ ] } }, - "required": [ - "key", - "op", - "value" - ], + "required": ["key", "op", "value"], "additionalProperties": false }, "Form.Option": { @@ -18188,10 +16247,7 @@ "type": "string" } }, - "required": [ - "value", - "label" - ], + "required": ["value", "label"], "additionalProperties": false }, "Form.StringField": { @@ -18217,18 +16273,11 @@ }, "type": { "type": "string", - "enum": [ - "string" - ] + "enum": ["string"] }, "format": { "type": "string", - "enum": [ - "email", - "uri", - "date", - "date-time" - ] + "enum": ["email", "uri", "date", "date-time"] }, "minLength": { "type": "integer", @@ -18265,10 +16314,7 @@ "type": "boolean" } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.NumberField": { @@ -18294,9 +16340,7 @@ }, "type": { "type": "string", - "enum": [ - "number" - ] + "enum": ["number"] }, "minimum": { "anyOf": [ @@ -18307,31 +16351,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -18344,31 +16378,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -18381,39 +16405,26 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.IntegerField": { @@ -18439,9 +16450,7 @@ }, "type": { "type": "string", - "enum": [ - "integer" - ] + "enum": ["integer"] }, "minimum": { "anyOf": [ @@ -18452,31 +16461,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -18489,31 +16488,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -18526,39 +16515,26 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.BooleanField": { @@ -18584,18 +16560,13 @@ }, "type": { "type": "string", - "enum": [ - "boolean" - ] + "enum": ["boolean"] }, "default": { "type": "boolean" } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.MultiselectField": { @@ -18621,9 +16592,7 @@ }, "type": { "type": "string", - "enum": [ - "multiselect" - ] + "enum": ["multiselect"] }, "options": { "type": "array", @@ -18657,11 +16626,7 @@ } } }, - "required": [ - "key", - "type", - "options" - ], + "required": ["key", "type", "options"], "additionalProperties": false }, "Form.FormInfo": { @@ -18686,9 +16651,7 @@ }, "mode": { "type": "string", - "enum": [ - "form" - ] + "enum": ["form"] }, "fields": { "type": "array", @@ -18713,13 +16676,7 @@ } } }, - "required": [ - "id", - "sessionID", - "title", - "mode", - "fields" - ], + "required": ["id", "sessionID", "title", "mode", "fields"], "additionalProperties": false }, "Form.UrlInfo": { @@ -18744,21 +16701,13 @@ }, "mode": { "type": "string", - "enum": [ - "url" - ] + "enum": ["url"] }, "url": { "type": "string" } }, - "required": [ - "id", - "sessionID", - "title", - "mode", - "url" - ], + "required": ["id", "sessionID", "title", "mode", "url"], "additionalProperties": false }, "Form.CreatePayload": { @@ -18787,10 +16736,7 @@ }, "mode": { "type": "string", - "enum": [ - "form", - "url" - ] + "enum": ["form", "url"] }, "fields": { "anyOf": [ @@ -18832,10 +16778,7 @@ ] } }, - "required": [ - "title", - "mode" - ], + "required": ["title", "mode"], "additionalProperties": false }, "FormNotFoundError": { @@ -18843,9 +16786,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "FormNotFoundError" - ] + "enum": ["FormNotFoundError"] }, "id": { "type": "string" @@ -18854,11 +16795,7 @@ "type": "string" } }, - "required": [ - "_tag", - "id", - "message" - ], + "required": ["_tag", "id", "message"], "additionalProperties": false }, "Form.Value": { @@ -18875,31 +16812,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -18927,14 +16854,10 @@ "properties": { "status": { "type": "string", - "enum": [ - "pending" - ] + "enum": ["pending"] } }, - "required": [ - "status" - ], + "required": ["status"], "additionalProperties": false }, { @@ -18942,18 +16865,13 @@ "properties": { "status": { "type": "string", - "enum": [ - "answered" - ] + "enum": ["answered"] }, "answer": { "$ref": "#/components/schemas/Form.Answer" } }, - "required": [ - "status", - "answer" - ], + "required": ["status", "answer"], "additionalProperties": false }, { @@ -18961,14 +16879,10 @@ "properties": { "status": { "type": "string", - "enum": [ - "cancelled" - ] + "enum": ["cancelled"] } }, - "required": [ - "status" - ], + "required": ["status"], "additionalProperties": false } ] @@ -18980,9 +16894,7 @@ "$ref": "#/components/schemas/Form.Answer" } }, - "required": [ - "answer" - ], + "required": ["answer"], "additionalProperties": false }, "FormAlreadySettledError": { @@ -18990,9 +16902,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "FormAlreadySettledError" - ] + "enum": ["FormAlreadySettledError"] }, "id": { "type": "string" @@ -19001,11 +16911,7 @@ "type": "string" } }, - "required": [ - "_tag", - "id", - "message" - ], + "required": ["_tag", "id", "message"], "additionalProperties": false }, "FormInvalidAnswerError": { @@ -19013,9 +16919,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "FormInvalidAnswerError" - ] + "enum": ["FormInvalidAnswerError"] }, "id": { "type": "string" @@ -19024,11 +16928,7 @@ "type": "string" } }, - "required": [ - "_tag", - "id", - "message" - ], + "required": ["_tag", "id", "message"], "additionalProperties": false }, "PermissionV2.Source": { @@ -19038,9 +16938,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "tool" - ] + "enum": ["tool"] }, "messageID": { "type": "string" @@ -19049,11 +16947,7 @@ "type": "string" } }, - "required": [ - "type", - "messageID", - "callID" - ], + "required": ["type", "messageID", "callID"], "additionalProperties": false } ] @@ -19099,12 +16993,7 @@ "$ref": "#/components/schemas/PermissionV2.Source" } }, - "required": [ - "id", - "sessionID", - "action", - "resources" - ], + "required": ["id", "sessionID", "action", "resources"], "additionalProperties": false }, "PermissionSaved.Info": { @@ -19123,12 +17012,7 @@ "type": "string" } }, - "required": [ - "id", - "projectID", - "action", - "resource" - ], + "required": ["id", "projectID", "action", "resource"], "additionalProperties": false }, "PermissionNotFoundError": { @@ -19136,9 +17020,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "PermissionNotFoundError" - ] + "enum": ["PermissionNotFoundError"] }, "requestID": { "type": "string" @@ -19147,20 +17029,12 @@ "type": "string" } }, - "required": [ - "_tag", - "requestID", - "message" - ], + "required": ["_tag", "requestID", "message"], "additionalProperties": false }, "PermissionV2.Reply": { "type": "string", - "enum": [ - "once", - "always", - "reject" - ] + "enum": ["once", "always", "reject"] }, "FileSystem.Entry": { "type": "object", @@ -19170,16 +17044,10 @@ }, "type": { "type": "string", - "enum": [ - "file", - "directory" - ] + "enum": ["file", "directory"] } }, - "required": [ - "path", - "type" - ], + "required": ["path", "type"], "additionalProperties": false }, "Command.Info": { @@ -19204,10 +17072,7 @@ "type": "boolean" } }, - "required": [ - "name", - "template" - ], + "required": ["name", "template"], "additionalProperties": false }, "Skill.Info": { @@ -19235,12 +17100,7 @@ "type": "string" } }, - "required": [ - "id", - "name", - "location", - "content" - ], + "required": ["id", "name", "location", "content"], "additionalProperties": false }, "models-dev.refreshed": { @@ -19262,9 +17122,7 @@ }, "type": { "type": "string", - "enum": [ - "models-dev.refreshed" - ] + "enum": ["models-dev.refreshed"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -19280,12 +17138,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "integration.updated": { @@ -19307,9 +17160,7 @@ }, "type": { "type": "string", - "enum": [ - "integration.updated" - ] + "enum": ["integration.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -19325,12 +17176,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "integration.connection.updated": { @@ -19352,9 +17198,7 @@ }, "type": { "type": "string", - "enum": [ - "integration.connection.updated" - ] + "enum": ["integration.connection.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -19366,18 +17210,11 @@ "type": "string" } }, - "required": [ - "integrationID" - ], + "required": ["integrationID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "catalog.updated": { @@ -19399,9 +17236,7 @@ }, "type": { "type": "string", - "enum": [ - "catalog.updated" - ] + "enum": ["catalog.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -19417,12 +17252,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "agent.updated": { @@ -19444,9 +17274,7 @@ }, "type": { "type": "string", - "enum": [ - "agent.updated" - ] + "enum": ["agent.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -19462,12 +17290,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "FileDiff.LegacyInfo": { @@ -19487,26 +17310,15 @@ }, "status": { "type": "string", - "enum": [ - "added", - "deleted", - "modified" - ] + "enum": ["added", "deleted", "modified"] } }, - "required": [ - "additions", - "deletions" - ], + "required": ["additions", "deletions"], "additionalProperties": false }, "PermissionAction": { "type": "string", - "enum": [ - "allow", - "deny", - "ask" - ] + "enum": ["allow", "deny", "ask"] }, "PermissionRule": { "type": "object", @@ -19521,11 +17333,7 @@ "$ref": "#/components/schemas/PermissionAction" } }, - "required": [ - "permission", - "pattern", - "action" - ], + "required": ["permission", "pattern", "action"], "additionalProperties": false }, "PermissionRuleset": { @@ -19592,11 +17400,7 @@ } } }, - "required": [ - "additions", - "deletions", - "files" - ], + "required": ["additions", "deletions", "files"], "additionalProperties": false }, "cost": { @@ -19624,19 +17428,11 @@ "type": "number" } }, - "required": [ - "read", - "write" - ], + "required": ["read", "write"], "additionalProperties": false } }, - "required": [ - "input", - "output", - "reasoning", - "cache" - ], + "required": ["input", "output", "reasoning", "cache"], "additionalProperties": false }, "share": { @@ -19646,9 +17442,7 @@ "type": "string" } }, - "required": [ - "url" - ], + "required": ["url"], "additionalProperties": false }, "title": { @@ -19670,10 +17464,7 @@ "type": "string" } }, - "required": [ - "id", - "providerID" - ], + "required": ["id", "providerID"], "additionalProperties": false }, "version": { @@ -19713,10 +17504,7 @@ "type": "number" } }, - "required": [ - "created", - "updated" - ], + "required": ["created", "updated"], "additionalProperties": false }, "permission": { @@ -19748,21 +17536,11 @@ "type": "string" } }, - "required": [ - "messageID" - ], + "required": ["messageID"], "additionalProperties": false } }, - "required": [ - "id", - "slug", - "projectID", - "directory", - "title", - "version", - "time" - ], + "required": ["id", "slug", "projectID", "directory", "title", "version", "time"], "additionalProperties": false }, "session.created": { @@ -19784,9 +17562,7 @@ }, "type": { "type": "string", - "enum": [ - "session.created" - ] + "enum": ["session.created"] }, "durable": { "type": "object", @@ -19804,16 +17580,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -19834,20 +17604,11 @@ "$ref": "#/components/schemas/SessionV1.Info" } }, - "required": [ - "sessionID", - "info" - ], + "required": ["sessionID", "info"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.updated": { @@ -19869,9 +17630,7 @@ }, "type": { "type": "string", - "enum": [ - "session.updated" - ] + "enum": ["session.updated"] }, "durable": { "type": "object", @@ -19889,16 +17648,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -19919,20 +17672,11 @@ "$ref": "#/components/schemas/SessionV1.Info" } }, - "required": [ - "sessionID", - "info" - ], + "required": ["sessionID", "info"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.deleted1": { @@ -19954,9 +17698,7 @@ }, "type": { "type": "string", - "enum": [ - "session.deleted" - ] + "enum": ["session.deleted"] }, "durable": { "type": "object", @@ -19974,16 +17716,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -20004,20 +17740,11 @@ "$ref": "#/components/schemas/SessionV1.Info" } }, - "required": [ - "sessionID", - "info" - ], + "required": ["sessionID", "info"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "JSONSchema": { @@ -20030,14 +17757,10 @@ "properties": { "type": { "type": "string", - "enum": [ - "text" - ] + "enum": ["text"] } }, - "required": [ - "type" - ], + "required": ["type"], "additionalProperties": false }, { @@ -20045,9 +17768,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "json_schema" - ] + "enum": ["json_schema"] }, "schema": { "$ref": "#/components/schemas/JSONSchema" @@ -20075,10 +17796,7 @@ ] } }, - "required": [ - "type", - "schema" - ], + "required": ["type", "schema"], "additionalProperties": false } ] @@ -20104,9 +17822,7 @@ }, "role": { "type": "string", - "enum": [ - "user" - ] + "enum": ["user"] }, "time": { "type": "object", @@ -20120,9 +17836,7 @@ ] } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "format": { @@ -20167,9 +17881,7 @@ } } }, - "required": [ - "diffs" - ], + "required": ["diffs"], "additionalProperties": false }, { @@ -20200,10 +17912,7 @@ ] } }, - "required": [ - "providerID", - "modelID" - ], + "required": ["providerID", "modelID"], "additionalProperties": false }, "system": { @@ -20230,14 +17939,7 @@ ] } }, - "required": [ - "id", - "sessionID", - "role", - "time", - "agent", - "model" - ], + "required": ["id", "sessionID", "role", "time", "agent", "model"], "additionalProperties": false }, "ProviderAuthError": { @@ -20245,9 +17947,7 @@ "properties": { "name": { "type": "string", - "enum": [ - "ProviderAuthError" - ] + "enum": ["ProviderAuthError"] }, "data": { "type": "object", @@ -20259,17 +17959,11 @@ "type": "string" } }, - "required": [ - "providerID", - "message" - ], + "required": ["providerID", "message"], "additionalProperties": false } }, - "required": [ - "name", - "data" - ], + "required": ["name", "data"], "additionalProperties": false }, "UnknownError1": { @@ -20277,9 +17971,7 @@ "properties": { "name": { "type": "string", - "enum": [ - "UnknownError" - ] + "enum": ["UnknownError"] }, "data": { "type": "object", @@ -20298,16 +17990,11 @@ ] } }, - "required": [ - "message" - ], + "required": ["message"], "additionalProperties": false } }, - "required": [ - "name", - "data" - ], + "required": ["name", "data"], "additionalProperties": false }, "MessageOutputLengthError": { @@ -20315,9 +18002,7 @@ "properties": { "name": { "type": "string", - "enum": [ - "MessageOutputLengthError" - ] + "enum": ["MessageOutputLengthError"] }, "data": { "anyOf": [ @@ -20330,10 +18015,7 @@ ] } }, - "required": [ - "name", - "data" - ], + "required": ["name", "data"], "additionalProperties": false }, "MessageAbortedError": { @@ -20341,9 +18023,7 @@ "properties": { "name": { "type": "string", - "enum": [ - "MessageAbortedError" - ] + "enum": ["MessageAbortedError"] }, "data": { "type": "object", @@ -20352,16 +18032,11 @@ "type": "string" } }, - "required": [ - "message" - ], + "required": ["message"], "additionalProperties": false } }, - "required": [ - "name", - "data" - ], + "required": ["name", "data"], "additionalProperties": false }, "StructuredOutputError": { @@ -20369,9 +18044,7 @@ "properties": { "name": { "type": "string", - "enum": [ - "StructuredOutputError" - ] + "enum": ["StructuredOutputError"] }, "data": { "type": "object", @@ -20388,17 +18061,11 @@ ] } }, - "required": [ - "message", - "retries" - ], + "required": ["message", "retries"], "additionalProperties": false } }, - "required": [ - "name", - "data" - ], + "required": ["name", "data"], "additionalProperties": false }, "ContextOverflowError": { @@ -20406,9 +18073,7 @@ "properties": { "name": { "type": "string", - "enum": [ - "ContextOverflowError" - ] + "enum": ["ContextOverflowError"] }, "data": { "type": "object", @@ -20427,16 +18092,11 @@ ] } }, - "required": [ - "message" - ], + "required": ["message"], "additionalProperties": false } }, - "required": [ - "name", - "data" - ], + "required": ["name", "data"], "additionalProperties": false }, "ContentFilterError": { @@ -20444,9 +18104,7 @@ "properties": { "name": { "type": "string", - "enum": [ - "ContentFilterError" - ] + "enum": ["ContentFilterError"] }, "data": { "type": "object", @@ -20455,16 +18113,11 @@ "type": "string" } }, - "required": [ - "message" - ], + "required": ["message"], "additionalProperties": false } }, - "required": [ - "name", - "data" - ], + "required": ["name", "data"], "additionalProperties": false }, "APIError": { @@ -20472,9 +18125,7 @@ "properties": { "name": { "type": "string", - "enum": [ - "APIError" - ] + "enum": ["APIError"] }, "data": { "type": "object", @@ -20537,17 +18188,11 @@ ] } }, - "required": [ - "message", - "isRetryable" - ], + "required": ["message", "isRetryable"], "additionalProperties": false } }, - "required": [ - "name", - "data" - ], + "required": ["name", "data"], "additionalProperties": false }, "AssistantMessage": { @@ -20571,9 +18216,7 @@ }, "role": { "type": "string", - "enum": [ - "assistant" - ] + "enum": ["assistant"] }, "time": { "type": "object", @@ -20602,9 +18245,7 @@ ] } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "error": { @@ -20672,10 +18313,7 @@ "type": "string" } }, - "required": [ - "cwd", - "root" - ], + "required": ["cwd", "root"], "additionalProperties": false }, "summary": { @@ -20723,19 +18361,11 @@ "type": "number" } }, - "required": [ - "read", - "write" - ], + "required": ["read", "write"], "additionalProperties": false } }, - "required": [ - "input", - "output", - "reasoning", - "cache" - ], + "required": ["input", "output", "reasoning", "cache"], "additionalProperties": false }, "structured": { @@ -20812,9 +18442,7 @@ }, "type": { "type": "string", - "enum": [ - "message.updated" - ] + "enum": ["message.updated"] }, "durable": { "type": "object", @@ -20832,16 +18460,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -20862,20 +18484,11 @@ "$ref": "#/components/schemas/Message" } }, - "required": [ - "sessionID", - "info" - ], + "required": ["sessionID", "info"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "message.removed": { @@ -20897,9 +18510,7 @@ }, "type": { "type": "string", - "enum": [ - "message.removed" - ] + "enum": ["message.removed"] }, "durable": { "type": "object", @@ -20917,16 +18528,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -20952,20 +18557,11 @@ ] } }, - "required": [ - "sessionID", - "messageID" - ], + "required": ["sessionID", "messageID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "TextPart": { @@ -20997,9 +18593,7 @@ }, "type": { "type": "string", - "enum": [ - "text" - ] + "enum": ["text"] }, "text": { "type": "string" @@ -21053,9 +18647,7 @@ ] } }, - "required": [ - "start" - ], + "required": ["start"], "additionalProperties": false }, { @@ -21074,13 +18666,7 @@ ] } }, - "required": [ - "id", - "sessionID", - "messageID", - "type", - "text" - ], + "required": ["id", "sessionID", "messageID", "type", "text"], "additionalProperties": false }, "SubtaskPart": { @@ -21112,9 +18698,7 @@ }, "type": { "type": "string", - "enum": [ - "subtask" - ] + "enum": ["subtask"] }, "prompt": { "type": "string" @@ -21137,10 +18721,7 @@ "type": "string" } }, - "required": [ - "providerID", - "modelID" - ], + "required": ["providerID", "modelID"], "additionalProperties": false }, { @@ -21159,15 +18740,7 @@ ] } }, - "required": [ - "id", - "sessionID", - "messageID", - "type", - "prompt", - "description", - "agent" - ], + "required": ["id", "sessionID", "messageID", "type", "prompt", "description", "agent"], "additionalProperties": false }, "ReasoningPart": { @@ -21199,9 +18772,7 @@ }, "type": { "type": "string", - "enum": [ - "reasoning" - ] + "enum": ["reasoning"] }, "text": { "type": "string" @@ -21243,20 +18814,11 @@ ] } }, - "required": [ - "start" - ], + "required": ["start"], "additionalProperties": false } }, - "required": [ - "id", - "sessionID", - "messageID", - "type", - "text", - "time" - ], + "required": ["id", "sessionID", "messageID", "type", "text", "time"], "additionalProperties": false }, "FilePartSourceText": { @@ -21272,11 +18834,7 @@ "type": "number" } }, - "required": [ - "value", - "start", - "end" - ], + "required": ["value", "start", "end"], "additionalProperties": false }, "FileSource": { @@ -21287,19 +18845,13 @@ }, "type": { "type": "string", - "enum": [ - "file" - ] + "enum": ["file"] }, "path": { "type": "string" } }, - "required": [ - "text", - "type", - "path" - ], + "required": ["text", "type", "path"], "additionalProperties": false }, "Range": { @@ -21325,10 +18877,7 @@ ] } }, - "required": [ - "line", - "character" - ], + "required": ["line", "character"], "additionalProperties": false }, "end": { @@ -21351,17 +18900,11 @@ ] } }, - "required": [ - "line", - "character" - ], + "required": ["line", "character"], "additionalProperties": false } }, - "required": [ - "start", - "end" - ], + "required": ["start", "end"], "additionalProperties": false }, "SymbolSource": { @@ -21372,9 +18915,7 @@ }, "type": { "type": "string", - "enum": [ - "symbol" - ] + "enum": ["symbol"] }, "path": { "type": "string" @@ -21394,14 +18935,7 @@ ] } }, - "required": [ - "text", - "type", - "path", - "range", - "name", - "kind" - ], + "required": ["text", "type", "path", "range", "name", "kind"], "additionalProperties": false }, "ResourceSource": { @@ -21412,9 +18946,7 @@ }, "type": { "type": "string", - "enum": [ - "resource" - ] + "enum": ["resource"] }, "clientName": { "type": "string" @@ -21423,12 +18955,7 @@ "type": "string" } }, - "required": [ - "text", - "type", - "clientName", - "uri" - ], + "required": ["text", "type", "clientName", "uri"], "additionalProperties": false }, "FilePartSource": { @@ -21473,9 +19000,7 @@ }, "type": { "type": "string", - "enum": [ - "file" - ] + "enum": ["file"] }, "mime": { "type": "string" @@ -21504,14 +19029,7 @@ ] } }, - "required": [ - "id", - "sessionID", - "messageID", - "type", - "mime", - "url" - ], + "required": ["id", "sessionID", "messageID", "type", "mime", "url"], "additionalProperties": false }, "ToolStatePending": { @@ -21519,9 +19037,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "pending" - ] + "enum": ["pending"] }, "input": { "type": "object" @@ -21530,11 +19046,7 @@ "type": "string" } }, - "required": [ - "status", - "input", - "raw" - ], + "required": ["status", "input", "raw"], "additionalProperties": false }, "ToolStateRunning": { @@ -21542,9 +19054,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "running" - ] + "enum": ["running"] }, "input": { "type": "object" @@ -21581,17 +19091,11 @@ ] } }, - "required": [ - "start" - ], + "required": ["start"], "additionalProperties": false } }, - "required": [ - "status", - "input", - "time" - ], + "required": ["status", "input", "time"], "additionalProperties": false }, "ToolStateCompleted": { @@ -21599,9 +19103,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "completed" - ] + "enum": ["completed"] }, "input": { "type": "object" @@ -21650,10 +19152,7 @@ ] } }, - "required": [ - "start", - "end" - ], + "required": ["start", "end"], "additionalProperties": false }, "attachments": { @@ -21670,14 +19169,7 @@ ] } }, - "required": [ - "status", - "input", - "output", - "title", - "metadata", - "time" - ], + "required": ["status", "input", "output", "title", "metadata", "time"], "additionalProperties": false }, "ToolStateError": { @@ -21685,9 +19177,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "error" - ] + "enum": ["error"] }, "input": { "type": "object" @@ -21725,19 +19215,11 @@ ] } }, - "required": [ - "start", - "end" - ], + "required": ["start", "end"], "additionalProperties": false } }, - "required": [ - "status", - "input", - "error", - "time" - ], + "required": ["status", "input", "error", "time"], "additionalProperties": false }, "ToolState": { @@ -21785,9 +19267,7 @@ }, "type": { "type": "string", - "enum": [ - "tool" - ] + "enum": ["tool"] }, "callID": { "type": "string" @@ -21809,15 +19289,7 @@ ] } }, - "required": [ - "id", - "sessionID", - "messageID", - "type", - "callID", - "tool", - "state" - ], + "required": ["id", "sessionID", "messageID", "type", "callID", "tool", "state"], "additionalProperties": false }, "StepStartPart": { @@ -21849,9 +19321,7 @@ }, "type": { "type": "string", - "enum": [ - "step-start" - ] + "enum": ["step-start"] }, "snapshot": { "anyOf": [ @@ -21864,12 +19334,7 @@ ] } }, - "required": [ - "id", - "sessionID", - "messageID", - "type" - ], + "required": ["id", "sessionID", "messageID", "type"], "additionalProperties": false }, "StepFinishPart": { @@ -21901,9 +19366,7 @@ }, "type": { "type": "string", - "enum": [ - "step-finish" - ] + "enum": ["step-finish"] }, "reason": { "type": "string" @@ -21953,31 +19416,15 @@ "type": "number" } }, - "required": [ - "read", - "write" - ], + "required": ["read", "write"], "additionalProperties": false } }, - "required": [ - "input", - "output", - "reasoning", - "cache" - ], + "required": ["input", "output", "reasoning", "cache"], "additionalProperties": false } }, - "required": [ - "id", - "sessionID", - "messageID", - "type", - "reason", - "cost", - "tokens" - ], + "required": ["id", "sessionID", "messageID", "type", "reason", "cost", "tokens"], "additionalProperties": false }, "SnapshotPart": { @@ -22009,21 +19456,13 @@ }, "type": { "type": "string", - "enum": [ - "snapshot" - ] + "enum": ["snapshot"] }, "snapshot": { "type": "string" } }, - "required": [ - "id", - "sessionID", - "messageID", - "type", - "snapshot" - ], + "required": ["id", "sessionID", "messageID", "type", "snapshot"], "additionalProperties": false }, "PatchPart": { @@ -22055,9 +19494,7 @@ }, "type": { "type": "string", - "enum": [ - "patch" - ] + "enum": ["patch"] }, "hash": { "type": "string" @@ -22069,14 +19506,7 @@ } } }, - "required": [ - "id", - "sessionID", - "messageID", - "type", - "hash", - "files" - ], + "required": ["id", "sessionID", "messageID", "type", "hash", "files"], "additionalProperties": false }, "AgentPart": { @@ -22108,9 +19538,7 @@ }, "type": { "type": "string", - "enum": [ - "agent" - ] + "enum": ["agent"] }, "name": { "type": "string" @@ -22140,11 +19568,7 @@ ] } }, - "required": [ - "value", - "start", - "end" - ], + "required": ["value", "start", "end"], "additionalProperties": false }, { @@ -22153,13 +19577,7 @@ ] } }, - "required": [ - "id", - "sessionID", - "messageID", - "type", - "name" - ], + "required": ["id", "sessionID", "messageID", "type", "name"], "additionalProperties": false }, "RetryPart": { @@ -22191,9 +19609,7 @@ }, "type": { "type": "string", - "enum": [ - "retry" - ] + "enum": ["retry"] }, "attempt": { "type": "integer", @@ -22218,21 +19634,11 @@ ] } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false } }, - "required": [ - "id", - "sessionID", - "messageID", - "type", - "attempt", - "error", - "time" - ], + "required": ["id", "sessionID", "messageID", "type", "attempt", "error", "time"], "additionalProperties": false }, "CompactionPart": { @@ -22264,9 +19670,7 @@ }, "type": { "type": "string", - "enum": [ - "compaction" - ] + "enum": ["compaction"] }, "auto": { "type": "boolean" @@ -22297,13 +19701,7 @@ ] } }, - "required": [ - "id", - "sessionID", - "messageID", - "type", - "auto" - ], + "required": ["id", "sessionID", "messageID", "type", "auto"], "additionalProperties": false }, "Part": { @@ -22365,9 +19763,7 @@ }, "type": { "type": "string", - "enum": [ - "message.part.updated" - ] + "enum": ["message.part.updated"] }, "durable": { "type": "object", @@ -22385,16 +19781,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -22418,21 +19808,11 @@ "type": "number" } }, - "required": [ - "sessionID", - "part", - "time" - ], + "required": ["sessionID", "part", "time"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "message.part.removed": { @@ -22454,9 +19834,7 @@ }, "type": { "type": "string", - "enum": [ - "message.part.removed" - ] + "enum": ["message.part.removed"] }, "durable": { "type": "object", @@ -22474,16 +19852,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -22517,21 +19889,11 @@ ] } }, - "required": [ - "sessionID", - "messageID", - "partID" - ], + "required": ["sessionID", "messageID", "partID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.usage.updated": { @@ -22553,9 +19915,7 @@ }, "type": { "type": "string", - "enum": [ - "session.usage.updated" - ] + "enum": ["session.usage.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22578,20 +19938,11 @@ "$ref": "#/components/schemas/TokenUsage.Info" } }, - "required": [ - "sessionID", - "cost", - "tokens" - ], + "required": ["sessionID", "cost", "tokens"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "session.text.delta": { @@ -22613,9 +19964,7 @@ }, "type": { "type": "string", - "enum": [ - "session.text.delta" - ] + "enum": ["session.text.delta"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22651,21 +20000,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "assistantMessageID", - "ordinal", - "delta" - ], + "required": ["sessionID", "assistantMessageID", "ordinal", "delta"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "session.reasoning.delta": { @@ -22687,9 +20026,7 @@ }, "type": { "type": "string", - "enum": [ - "session.reasoning.delta" - ] + "enum": ["session.reasoning.delta"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22725,21 +20062,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "assistantMessageID", - "ordinal", - "delta" - ], + "required": ["sessionID", "assistantMessageID", "ordinal", "delta"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "session.tool.input.delta": { @@ -22761,9 +20088,7 @@ }, "type": { "type": "string", - "enum": [ - "session.tool.input.delta" - ] + "enum": ["session.tool.input.delta"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22794,21 +20119,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "assistantMessageID", - "callID", - "delta" - ], + "required": ["sessionID", "assistantMessageID", "callID", "delta"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "session.compaction.delta": { @@ -22830,9 +20145,7 @@ }, "type": { "type": "string", - "enum": [ - "session.compaction.delta" - ] + "enum": ["session.compaction.delta"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22852,19 +20165,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "text" - ], + "required": ["sessionID", "text"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "filesystem.changed": { @@ -22886,9 +20191,7 @@ }, "type": { "type": "string", - "enum": [ - "filesystem.changed" - ] + "enum": ["filesystem.changed"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22901,26 +20204,14 @@ }, "event": { "type": "string", - "enum": [ - "add", - "change", - "unlink" - ] + "enum": ["add", "change", "unlink"] } }, - "required": [ - "file", - "event" - ], + "required": ["file", "event"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "reference.updated": { @@ -22942,9 +20233,7 @@ }, "type": { "type": "string", - "enum": [ - "reference.updated" - ] + "enum": ["reference.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22960,12 +20249,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "permission.v2.asked": { @@ -22987,9 +20271,7 @@ }, "type": { "type": "string", - "enum": [ - "permission.v2.asked" - ] + "enum": ["permission.v2.asked"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23035,21 +20317,11 @@ "$ref": "#/components/schemas/PermissionV2.Source" } }, - "required": [ - "id", - "sessionID", - "action", - "resources" - ], + "required": ["id", "sessionID", "action", "resources"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "permission.v2.replied": { @@ -23071,9 +20343,7 @@ }, "type": { "type": "string", - "enum": [ - "permission.v2.replied" - ] + "enum": ["permission.v2.replied"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23101,20 +20371,11 @@ "$ref": "#/components/schemas/PermissionV2.Reply" } }, - "required": [ - "sessionID", - "requestID", - "reply" - ], + "required": ["sessionID", "requestID", "reply"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "plugin.added": { @@ -23136,9 +20397,7 @@ }, "type": { "type": "string", - "enum": [ - "plugin.added" - ] + "enum": ["plugin.added"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23150,18 +20409,11 @@ "type": "string" } }, - "required": [ - "id" - ], + "required": ["id"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "plugin.updated": { @@ -23183,9 +20435,7 @@ }, "type": { "type": "string", - "enum": [ - "plugin.updated" - ] + "enum": ["plugin.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23201,12 +20451,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "project.directories.updated": { @@ -23228,9 +20473,7 @@ }, "type": { "type": "string", - "enum": [ - "project.directories.updated" - ] + "enum": ["project.directories.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23242,18 +20485,11 @@ "type": "string" } }, - "required": [ - "projectID" - ], + "required": ["projectID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "command.updated": { @@ -23275,9 +20511,7 @@ }, "type": { "type": "string", - "enum": [ - "command.updated" - ] + "enum": ["command.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23293,12 +20527,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "config.updated": { @@ -23320,9 +20549,7 @@ }, "type": { "type": "string", - "enum": [ - "config.updated" - ] + "enum": ["config.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23338,12 +20565,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "skill.updated": { @@ -23365,9 +20587,7 @@ }, "type": { "type": "string", - "enum": [ - "skill.updated" - ] + "enum": ["skill.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23383,12 +20603,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "Pty": { @@ -23419,10 +20634,7 @@ }, "status": { "type": "string", - "enum": [ - "running", - "exited" - ] + "enum": ["running", "exited"] }, "pid": { "type": "integer", @@ -23441,15 +20653,7 @@ ] } }, - "required": [ - "id", - "title", - "command", - "args", - "cwd", - "status", - "pid" - ], + "required": ["id", "title", "command", "args", "cwd", "status", "pid"], "additionalProperties": false }, "pty.created": { @@ -23471,9 +20675,7 @@ }, "type": { "type": "string", - "enum": [ - "pty.created" - ] + "enum": ["pty.created"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23485,18 +20687,11 @@ "$ref": "#/components/schemas/Pty" } }, - "required": [ - "info" - ], + "required": ["info"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "pty.updated": { @@ -23518,9 +20713,7 @@ }, "type": { "type": "string", - "enum": [ - "pty.updated" - ] + "enum": ["pty.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23532,18 +20725,11 @@ "$ref": "#/components/schemas/Pty" } }, - "required": [ - "info" - ], + "required": ["info"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "pty.exited": { @@ -23565,9 +20751,7 @@ }, "type": { "type": "string", - "enum": [ - "pty.exited" - ] + "enum": ["pty.exited"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23592,19 +20776,11 @@ ] } }, - "required": [ - "id", - "exitCode" - ], + "required": ["id", "exitCode"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "pty.deleted": { @@ -23626,9 +20802,7 @@ }, "type": { "type": "string", - "enum": [ - "pty.deleted" - ] + "enum": ["pty.deleted"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23645,18 +20819,11 @@ ] } }, - "required": [ - "id" - ], + "required": ["id"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "shell.created": { @@ -23678,9 +20845,7 @@ }, "type": { "type": "string", - "enum": [ - "shell.created" - ] + "enum": ["shell.created"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23692,18 +20857,11 @@ "$ref": "#/components/schemas/Shell" } }, - "required": [ - "info" - ], + "required": ["info"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "shell.exited": { @@ -23725,9 +20883,7 @@ }, "type": { "type": "string", - "enum": [ - "shell.exited" - ] + "enum": ["shell.exited"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23750,47 +20906,28 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, "status": { "type": "string", - "enum": [ - "running", - "exited", - "timeout", - "killed" - ] + "enum": ["running", "exited", "timeout", "killed"] } }, - "required": [ - "id", - "status" - ], + "required": ["id", "status"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "shell.deleted": { @@ -23812,9 +20949,7 @@ }, "type": { "type": "string", - "enum": [ - "shell.deleted" - ] + "enum": ["shell.deleted"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23831,18 +20966,11 @@ ] } }, - "required": [ - "id" - ], + "required": ["id"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "QuestionV2.Option": { @@ -23857,10 +20985,7 @@ "description": "Explanation of choice" } }, - "required": [ - "label", - "description" - ], + "required": ["label", "description"], "additionalProperties": false }, "QuestionV2.Info": { @@ -23888,11 +21013,7 @@ "type": "boolean" } }, - "required": [ - "question", - "header", - "options" - ], + "required": ["question", "header", "options"], "additionalProperties": false }, "QuestionV2.Tool": { @@ -23905,10 +21026,7 @@ "type": "string" } }, - "required": [ - "messageID", - "callID" - ], + "required": ["messageID", "callID"], "additionalProperties": false }, "question.v2.asked": { @@ -23930,9 +21048,7 @@ }, "type": { "type": "string", - "enum": [ - "question.v2.asked" - ] + "enum": ["question.v2.asked"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23967,20 +21083,11 @@ "$ref": "#/components/schemas/QuestionV2.Tool" } }, - "required": [ - "id", - "sessionID", - "questions" - ], + "required": ["id", "sessionID", "questions"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "QuestionV2.Answer": { @@ -24008,9 +21115,7 @@ }, "type": { "type": "string", - "enum": [ - "question.v2.replied" - ] + "enum": ["question.v2.replied"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -24041,20 +21146,11 @@ } } }, - "required": [ - "sessionID", - "requestID", - "answers" - ], + "required": ["sessionID", "requestID", "answers"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "question.v2.rejected": { @@ -24076,9 +21172,7 @@ }, "type": { "type": "string", - "enum": [ - "question.v2.rejected" - ] + "enum": ["question.v2.rejected"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -24103,19 +21197,11 @@ ] } }, - "required": [ - "sessionID", - "requestID" - ], + "required": ["sessionID", "requestID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "Form.Metadata1": { @@ -24129,10 +21215,7 @@ }, "op": { "type": "string", - "enum": [ - "eq", - "neq" - ] + "enum": ["eq", "neq"] }, "value": { "anyOf": [ @@ -24146,21 +21229,15 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, @@ -24170,11 +21247,7 @@ ] } }, - "required": [ - "key", - "op", - "value" - ], + "required": ["key", "op", "value"], "additionalProperties": false }, "Form.StringField1": { @@ -24200,18 +21273,11 @@ }, "type": { "type": "string", - "enum": [ - "string" - ] + "enum": ["string"] }, "format": { "type": "string", - "enum": [ - "email", - "uri", - "date", - "date-time" - ] + "enum": ["email", "uri", "date", "date-time"] }, "minLength": { "type": "integer", @@ -24248,10 +21314,7 @@ "type": "boolean" } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.NumberField1": { @@ -24277,9 +21340,7 @@ }, "type": { "type": "string", - "enum": [ - "number" - ] + "enum": ["number"] }, "minimum": { "anyOf": [ @@ -24288,21 +21349,15 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, @@ -24313,21 +21368,15 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, @@ -24338,29 +21387,20 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.IntegerField1": { @@ -24386,9 +21426,7 @@ }, "type": { "type": "string", - "enum": [ - "integer" - ] + "enum": ["integer"] }, "minimum": { "anyOf": [ @@ -24397,21 +21435,15 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, @@ -24422,21 +21454,15 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, @@ -24447,29 +21473,20 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.BooleanField1": { @@ -24495,18 +21512,13 @@ }, "type": { "type": "string", - "enum": [ - "boolean" - ] + "enum": ["boolean"] }, "default": { "type": "boolean" } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.MultiselectField1": { @@ -24532,9 +21544,7 @@ }, "type": { "type": "string", - "enum": [ - "multiselect" - ] + "enum": ["multiselect"] }, "options": { "type": "array", @@ -24568,11 +21578,7 @@ } } }, - "required": [ - "key", - "type", - "options" - ], + "required": ["key", "type", "options"], "additionalProperties": false }, "Form.FormInfo1": { @@ -24597,9 +21603,7 @@ }, "mode": { "type": "string", - "enum": [ - "form" - ] + "enum": ["form"] }, "fields": { "type": "array", @@ -24624,13 +21628,7 @@ } } }, - "required": [ - "id", - "sessionID", - "title", - "mode", - "fields" - ], + "required": ["id", "sessionID", "title", "mode", "fields"], "additionalProperties": false }, "Form.UrlInfo1": { @@ -24655,21 +21653,13 @@ }, "mode": { "type": "string", - "enum": [ - "url" - ] + "enum": ["url"] }, "url": { "type": "string" } }, - "required": [ - "id", - "sessionID", - "title", - "mode", - "url" - ], + "required": ["id", "sessionID", "title", "mode", "url"], "additionalProperties": false }, "form.created": { @@ -24691,9 +21681,7 @@ }, "type": { "type": "string", - "enum": [ - "form.created" - ] + "enum": ["form.created"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -24712,18 +21700,11 @@ ] } }, - "required": [ - "form" - ], + "required": ["form"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "Form.Value1": { @@ -24738,21 +21719,15 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, @@ -24792,9 +21767,7 @@ }, "type": { "type": "string", - "enum": [ - "form.replied" - ] + "enum": ["form.replied"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -24817,20 +21790,11 @@ "$ref": "#/components/schemas/Form.Answer1" } }, - "required": [ - "id", - "sessionID", - "answer" - ], + "required": ["id", "sessionID", "answer"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "form.cancelled": { @@ -24852,9 +21816,7 @@ }, "type": { "type": "string", - "enum": [ - "form.cancelled" - ] + "enum": ["form.cancelled"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -24874,19 +21836,11 @@ "type": "string" } }, - "required": [ - "id", - "sessionID" - ], + "required": ["id", "sessionID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "SessionStatus": { @@ -24896,14 +21850,10 @@ "properties": { "type": { "type": "string", - "enum": [ - "idle" - ] + "enum": ["idle"] } }, - "required": [ - "type" - ], + "required": ["type"], "additionalProperties": false }, { @@ -24911,9 +21861,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "retry" - ] + "enum": ["retry"] }, "attempt": { "type": "integer", @@ -24948,13 +21896,7 @@ "type": "string" } }, - "required": [ - "reason", - "provider", - "title", - "message", - "label" - ], + "required": ["reason", "provider", "title", "message", "label"], "additionalProperties": false }, "next": { @@ -24966,12 +21908,7 @@ ] } }, - "required": [ - "type", - "attempt", - "message", - "next" - ], + "required": ["type", "attempt", "message", "next"], "additionalProperties": false }, { @@ -24979,14 +21916,10 @@ "properties": { "type": { "type": "string", - "enum": [ - "busy" - ] + "enum": ["busy"] } }, - "required": [ - "type" - ], + "required": ["type"], "additionalProperties": false } ] @@ -25010,9 +21943,7 @@ }, "type": { "type": "string", - "enum": [ - "session.status" - ] + "enum": ["session.status"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25032,19 +21963,11 @@ "$ref": "#/components/schemas/SessionStatus" } }, - "required": [ - "sessionID", - "status" - ], + "required": ["sessionID", "status"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "session.idle": { @@ -25066,9 +21989,7 @@ }, "type": { "type": "string", - "enum": [ - "session.idle" - ] + "enum": ["session.idle"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25085,18 +22006,11 @@ ] } }, - "required": [ - "sessionID" - ], + "required": ["sessionID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "tui.prompt.append": { @@ -25118,9 +22032,7 @@ }, "type": { "type": "string", - "enum": [ - "tui.prompt.append" - ] + "enum": ["tui.prompt.append"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25132,18 +22044,11 @@ "type": "string" } }, - "required": [ - "text" - ], + "required": ["text"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "tui.command.execute": { @@ -25165,9 +22070,7 @@ }, "type": { "type": "string", - "enum": [ - "tui.command.execute" - ] + "enum": ["tui.command.execute"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25205,18 +22108,11 @@ ] } }, - "required": [ - "command" - ], + "required": ["command"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "tui.toast.show": { @@ -25238,9 +22134,7 @@ }, "type": { "type": "string", - "enum": [ - "tui.toast.show" - ] + "enum": ["tui.toast.show"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25256,12 +22150,7 @@ }, "variant": { "type": "string", - "enum": [ - "info", - "success", - "warning", - "error" - ] + "enum": ["info", "success", "warning", "error"] }, "duration": { "anyOf": [ @@ -25279,19 +22168,11 @@ ] } }, - "required": [ - "message", - "variant" - ], + "required": ["message", "variant"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "tui.session.select": { @@ -25313,9 +22194,7 @@ }, "type": { "type": "string", - "enum": [ - "tui.session.select" - ] + "enum": ["tui.session.select"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25333,18 +22212,11 @@ ] } }, - "required": [ - "sessionID" - ], + "required": ["sessionID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "installation.updated": { @@ -25366,9 +22238,7 @@ }, "type": { "type": "string", - "enum": [ - "installation.updated" - ] + "enum": ["installation.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25380,18 +22250,11 @@ "type": "string" } }, - "required": [ - "version" - ], + "required": ["version"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "installation.update-available": { @@ -25413,9 +22276,7 @@ }, "type": { "type": "string", - "enum": [ - "installation.update-available" - ] + "enum": ["installation.update-available"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25427,18 +22288,11 @@ "type": "string" } }, - "required": [ - "version" - ], + "required": ["version"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "vcs.branch.updated": { @@ -25460,9 +22314,7 @@ }, "type": { "type": "string", - "enum": [ - "vcs.branch.updated" - ] + "enum": ["vcs.branch.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25477,12 +22329,7 @@ "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "mcp.status.changed": { @@ -25504,9 +22351,7 @@ }, "type": { "type": "string", - "enum": [ - "mcp.status.changed" - ] + "enum": ["mcp.status.changed"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25518,18 +22363,11 @@ "type": "string" } }, - "required": [ - "server" - ], + "required": ["server"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "mcp.resources.changed": { @@ -25551,9 +22389,7 @@ }, "type": { "type": "string", - "enum": [ - "mcp.resources.changed" - ] + "enum": ["mcp.resources.changed"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25565,18 +22401,11 @@ "type": "string" } }, - "required": [ - "server" - ], + "required": ["server"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "permission.asked": { @@ -25598,9 +22427,7 @@ }, "type": { "type": "string", - "enum": [ - "permission.asked" - ] + "enum": ["permission.asked"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25654,10 +22481,7 @@ "type": "string" } }, - "required": [ - "messageID", - "callID" - ], + "required": ["messageID", "callID"], "additionalProperties": false }, { @@ -25666,23 +22490,11 @@ ] } }, - "required": [ - "id", - "sessionID", - "permission", - "patterns", - "metadata", - "always" - ], + "required": ["id", "sessionID", "permission", "patterns", "metadata", "always"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "permission.replied": { @@ -25704,9 +22516,7 @@ }, "type": { "type": "string", - "enum": [ - "permission.replied" - ] + "enum": ["permission.replied"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25732,27 +22542,14 @@ }, "reply": { "type": "string", - "enum": [ - "once", - "always", - "reject" - ] + "enum": ["once", "always", "reject"] } }, - "required": [ - "sessionID", - "requestID", - "reply" - ], + "required": ["sessionID", "requestID", "reply"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "QuestionOption": { @@ -25767,10 +22564,7 @@ "description": "Explanation of choice" } }, - "required": [ - "label", - "description" - ], + "required": ["label", "description"], "additionalProperties": false }, "QuestionInfo": { @@ -25814,11 +22608,7 @@ "description": "Allow typing a custom answer (default: true)" } }, - "required": [ - "question", - "header", - "options" - ], + "required": ["question", "header", "options"], "additionalProperties": false }, "QuestionTool": { @@ -25836,10 +22626,7 @@ "type": "string" } }, - "required": [ - "messageID", - "callID" - ], + "required": ["messageID", "callID"], "additionalProperties": false }, "question.asked": { @@ -25861,9 +22648,7 @@ }, "type": { "type": "string", - "enum": [ - "question.asked" - ] + "enum": ["question.asked"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25905,20 +22690,11 @@ ] } }, - "required": [ - "id", - "sessionID", - "questions" - ], + "required": ["id", "sessionID", "questions"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "QuestionAnswer": { @@ -25946,9 +22722,7 @@ }, "type": { "type": "string", - "enum": [ - "question.replied" - ] + "enum": ["question.replied"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25979,20 +22753,11 @@ } } }, - "required": [ - "sessionID", - "requestID", - "answers" - ], + "required": ["sessionID", "requestID", "answers"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "question.rejected": { @@ -26014,9 +22779,7 @@ }, "type": { "type": "string", - "enum": [ - "question.rejected" - ] + "enum": ["question.rejected"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -26041,19 +22804,11 @@ ] } }, - "required": [ - "sessionID", - "requestID" - ], + "required": ["sessionID", "requestID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "session.error": { @@ -26075,9 +22830,7 @@ }, "type": { "type": "string", - "enum": [ - "session.error" - ] + "enum": ["session.error"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -26139,12 +22892,7 @@ "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "V2Event.server.connected": { @@ -26180,9 +22928,7 @@ }, "type": { "type": "string", - "enum": [ - "server.connected" - ] + "enum": ["server.connected"] }, "data": { "anyOf": [ @@ -26195,11 +22941,7 @@ ] } }, - "required": [ - "id", - "type", - "data" - ], + "required": ["id", "type", "data"], "additionalProperties": false }, "V2Event": { @@ -26506,9 +23248,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "PtyNotFoundError" - ] + "enum": ["PtyNotFoundError"] }, "ptyID": { "type": "string" @@ -26517,11 +23257,7 @@ "type": "string" } }, - "required": [ - "_tag", - "ptyID", - "message" - ], + "required": ["_tag", "ptyID", "message"], "additionalProperties": false }, "PtyTicket.ConnectToken": { @@ -26539,10 +23275,7 @@ ] } }, - "required": [ - "ticket", - "expires_in" - ], + "required": ["ticket", "expires_in"], "additionalProperties": false }, "ForbiddenError": { @@ -26550,18 +23283,13 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "ForbiddenError" - ] + "enum": ["ForbiddenError"] }, "message": { "type": "string" } }, - "required": [ - "_tag", - "message" - ], + "required": ["_tag", "message"], "additionalProperties": false }, "Shell1": { @@ -26577,12 +23305,7 @@ }, "status": { "type": "string", - "enum": [ - "running", - "exited", - "timeout", - "killed" - ] + "enum": ["running", "exited", "timeout", "killed"] }, "command": { "type": "string" @@ -26613,31 +23336,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -26656,31 +23369,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -26693,51 +23396,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "started" - ], + "required": ["started"], "additionalProperties": false } }, - "required": [ - "id", - "status", - "command", - "cwd", - "shell", - "file", - "metadata", - "time" - ], + "required": ["id", "status", "command", "cwd", "shell", "file", "metadata", "time"], "additionalProperties": false }, "ShellNotFoundError": { @@ -26745,9 +23427,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "ShellNotFoundError" - ] + "enum": ["ShellNotFoundError"] }, "id": { "type": "string" @@ -26756,11 +23436,7 @@ "type": "string" } }, - "required": [ - "_tag", - "id", - "message" - ], + "required": ["_tag", "id", "message"], "additionalProperties": false }, "QuestionV2.Request": { @@ -26793,11 +23469,7 @@ "$ref": "#/components/schemas/QuestionV2.Tool" } }, - "required": [ - "id", - "sessionID", - "questions" - ], + "required": ["id", "sessionID", "questions"], "additionalProperties": false }, "QuestionV2.Reply": { @@ -26811,9 +23483,7 @@ "description": "User answers in order of questions (each answer is an array of selected labels)" } }, - "required": [ - "answers" - ], + "required": ["answers"], "additionalProperties": false }, "QuestionNotFoundError": { @@ -26821,9 +23491,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "QuestionNotFoundError" - ] + "enum": ["QuestionNotFoundError"] }, "requestID": { "type": "string" @@ -26832,11 +23500,7 @@ "type": "string" } }, - "required": [ - "_tag", - "requestID", - "message" - ], + "required": ["_tag", "requestID", "message"], "additionalProperties": false }, "Reference.LocalSource": { @@ -26844,9 +23508,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "local" - ] + "enum": ["local"] }, "path": { "type": "string" @@ -26858,10 +23520,7 @@ "type": "boolean" } }, - "required": [ - "type", - "path" - ], + "required": ["type", "path"], "additionalProperties": false }, "Reference.GitSource": { @@ -26869,9 +23528,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "git" - ] + "enum": ["git"] }, "repository": { "type": "string" @@ -26886,10 +23543,7 @@ "type": "boolean" } }, - "required": [ - "type", - "repository" - ], + "required": ["type", "repository"], "additionalProperties": false }, "Reference.Source": { @@ -26921,11 +23575,7 @@ "$ref": "#/components/schemas/Reference.Source" } }, - "required": [ - "name", - "path", - "source" - ], + "required": ["name", "path", "source"], "additionalProperties": false }, "ProjectCopy.Copy": { @@ -26935,9 +23585,7 @@ "type": "string" } }, - "required": [ - "directory" - ], + "required": ["directory"], "additionalProperties": false }, "ProjectCopyError": { @@ -26945,9 +23593,7 @@ "properties": { "name": { "type": "string", - "enum": [ - "ProjectCopyError" - ] + "enum": ["ProjectCopyError"] }, "data": { "type": "object", @@ -26966,16 +23612,11 @@ ] } }, - "required": [ - "message" - ], + "required": ["message"], "additionalProperties": false } }, - "required": [ - "name", - "data" - ], + "required": ["name", "data"], "additionalProperties": false }, "Vcs.FileStatus": { @@ -27002,27 +23643,15 @@ }, "status": { "type": "string", - "enum": [ - "added", - "deleted", - "modified" - ] + "enum": ["added", "deleted", "modified"] } }, - "required": [ - "file", - "additions", - "deletions", - "status" - ], + "required": ["file", "additions", "deletions", "status"], "additionalProperties": false }, "Vcs.Mode": { "type": "string", - "enum": [ - "working", - "branch" - ] + "enum": ["working", "branch"] } }, "securitySchemes": {} diff --git a/packages/codemode/test/string-core-test262.test.ts b/packages/codemode/test/string-core-test262.test.ts index dc804af8584..9173fe352da 100644 --- a/packages/codemode/test/string-core-test262.test.ts +++ b/packages/codemode/test/string-core-test262.test.ts @@ -258,7 +258,8 @@ add("test/built-ins/String/prototype/toUpperCase/supplementary_plane.js", "toUpp ), ]) -const whitespace = "\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF" +const whitespace = + "\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF" const lineTerminators = "\u000A\u000D\u2028\u2029" const trim = (file: string, input: string, expected: string) => add(`test/built-ins/String/prototype/trim/${file}`, "trim", [assertion("upstream assertion", input, expected)]) @@ -334,18 +335,35 @@ add("test/built-ins/String/prototype/trim/u180e.js", "trim", [ assertion("leading U+180E", "\u180E_", "\u180E_"), ]) -const directionalWhitespace = "\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF" +const directionalWhitespace = + "\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF" add("test/built-ins/String/prototype/trimStart/this-value-whitespace.js", "trimStart", [ - assertion("all whitespace", directionalWhitespace + "a" + directionalWhitespace + "b" + directionalWhitespace, "a" + directionalWhitespace + "b" + directionalWhitespace), + assertion( + "all whitespace", + directionalWhitespace + "a" + directionalWhitespace + "b" + directionalWhitespace, + "a" + directionalWhitespace + "b" + directionalWhitespace, + ), ]) add("test/built-ins/String/prototype/trimStart/this-value-line-terminator.js", "trimStart", [ - assertion("all line terminators", lineTerminators + "a" + lineTerminators + "b" + lineTerminators, "a" + lineTerminators + "b" + lineTerminators), + assertion( + "all line terminators", + lineTerminators + "a" + lineTerminators + "b" + lineTerminators, + "a" + lineTerminators + "b" + lineTerminators, + ), ]) add("test/built-ins/String/prototype/trimEnd/this-value-whitespace.js", "trimEnd", [ - assertion("all whitespace", directionalWhitespace + "a" + directionalWhitespace + "b" + directionalWhitespace, directionalWhitespace + "a" + directionalWhitespace + "b"), + assertion( + "all whitespace", + directionalWhitespace + "a" + directionalWhitespace + "b" + directionalWhitespace, + directionalWhitespace + "a" + directionalWhitespace + "b", + ), ]) add("test/built-ins/String/prototype/trimEnd/this-value-line-terminator.js", "trimEnd", [ - assertion("all line terminators", lineTerminators + "a" + lineTerminators + "b" + lineTerminators, lineTerminators + "a" + lineTerminators + "b"), + assertion( + "all line terminators", + lineTerminators + "a" + lineTerminators + "b" + lineTerminators, + lineTerminators + "a" + lineTerminators + "b", + ), ]) add("test/built-ins/String/prototype/repeat/repeat-string-n-times.js", "repeat", [ assertion("repeat once", "abc", "abc", [1]), @@ -363,7 +381,9 @@ add("test/built-ins/String/prototype/repeat/count-is-zero-returns-empty-string.j add("test/built-ins/String/prototype/repeat/count-coerced-to-zero-returns-empty-string.js", "repeat", [ assertion("fraction truncates to zero", "abc", "", [0.9]), ]) -add("test/built-ins/String/prototype/padStart/fill-string-empty.js", "padStart", [assertion("empty fill", "abc", "abc", [5, ""])]) +add("test/built-ins/String/prototype/padStart/fill-string-empty.js", "padStart", [ + assertion("empty fill", "abc", "abc", [5, ""]), +]) add("test/built-ins/String/prototype/padStart/normal-operation.js", "padStart", [ assertion("truncated multi-character fill", "abc", "defdabc", [7, "def"]), assertion("single-character fill", "abc", "**abc", [5, "*"]), @@ -381,7 +401,9 @@ add("test/built-ins/String/prototype/padStart/max-length-not-greater-than-string assertion("equal length", "abc", "abc", [3, "def"]), assertion("fraction truncates", "abc", "abc", [3.9999, "def"]), ]) -add("test/built-ins/String/prototype/padEnd/fill-string-empty.js", "padEnd", [assertion("empty fill", "abc", "abc", [5, ""])]) +add("test/built-ins/String/prototype/padEnd/fill-string-empty.js", "padEnd", [ + assertion("empty fill", "abc", "abc", [5, ""]), +]) add("test/built-ins/String/prototype/padEnd/normal-operation.js", "padEnd", [ assertion("truncated multi-character fill", "abc", "abcdefd", [7, "def"]), assertion("single-character fill", "abc", "abc**", [5, "*"]), @@ -401,11 +423,29 @@ add("test/built-ins/String/prototype/padEnd/max-length-not-greater-than-string.j ]) add("test/built-ins/String/prototype/charAt/S15.5.4.4_A1_T4.js", "charAt", [assertion("omitted position", "lego", "l")]) -add("test/built-ins/String/prototype/charAt/S15.5.4.4_A1_T7.js", "charAt", [assertion("undefined position", "lego", "l", [undefined])]) -add("test/built-ins/String/prototype/charAt/S15.5.4.4_A1_T8.js", "charAt", [assertion("undefined position", "42", "4", [undefined])]) -add("test/built-ins/String/prototype/charAt/S15.5.4.4_A4_T1.js", "charAt", ["A", "B", "C", "A", "B", "C"].map((expected, position) => assertion(`position ${position}`, "ABCABC", expected, [position]))) -add("test/built-ins/String/prototype/charAt/S15.5.4.4_A4_T2.js", "charAt", [-2, -1].map((position) => assertion(`position ${position}`, "ABCABC", "", [position]))) -add("test/built-ins/String/prototype/charAt/S15.5.4.4_A4_T3.js", "charAt", [6, 7].map((position) => assertion(`position ${position}`, "ABCABC", "", [position]))) +add("test/built-ins/String/prototype/charAt/S15.5.4.4_A1_T7.js", "charAt", [ + assertion("undefined position", "lego", "l", [undefined]), +]) +add("test/built-ins/String/prototype/charAt/S15.5.4.4_A1_T8.js", "charAt", [ + assertion("undefined position", "42", "4", [undefined]), +]) +add( + "test/built-ins/String/prototype/charAt/S15.5.4.4_A4_T1.js", + "charAt", + ["A", "B", "C", "A", "B", "C"].map((expected, position) => + assertion(`position ${position}`, "ABCABC", expected, [position]), + ), +) +add( + "test/built-ins/String/prototype/charAt/S15.5.4.4_A4_T2.js", + "charAt", + [-2, -1].map((position) => assertion(`position ${position}`, "ABCABC", "", [position])), +) +add( + "test/built-ins/String/prototype/charAt/S15.5.4.4_A4_T3.js", + "charAt", + [6, 7].map((position) => assertion(`position ${position}`, "ABCABC", "", [position])), +) add("test/built-ins/String/prototype/charAt/S9.4_A1.js", "charAt", [assertion("NaN position", "abc", "a", [NaN])]) add("test/built-ins/String/prototype/charAt/S9.4_A2.js", "charAt", [ assertion("positive zero", "abc", "a", [0]), @@ -420,9 +460,15 @@ add("test/built-ins/String/prototype/charAt/pos-rounding.js", "charAt", [ assertion("1.99999", "abc", "b", [1.99999]), ]) -add("test/built-ins/String/prototype/charCodeAt/S15.5.4.5_A1_T4.js", "charCodeAt", [assertion("omitted position", "smart", 0x73)]) -add("test/built-ins/String/prototype/charCodeAt/S15.5.4.5_A1_T7.js", "charCodeAt", [assertion("undefined position", "lego", 0x6c, [undefined])]) -add("test/built-ins/String/prototype/charCodeAt/S15.5.4.5_A1_T8.js", "charCodeAt", [assertion("undefined position", "42", 0x34, [undefined])]) +add("test/built-ins/String/prototype/charCodeAt/S15.5.4.5_A1_T4.js", "charCodeAt", [ + assertion("omitted position", "smart", 0x73), +]) +add("test/built-ins/String/prototype/charCodeAt/S15.5.4.5_A1_T7.js", "charCodeAt", [ + assertion("undefined position", "lego", 0x6c, [undefined]), +]) +add("test/built-ins/String/prototype/charCodeAt/S15.5.4.5_A1_T8.js", "charCodeAt", [ + assertion("undefined position", "42", 0x34, [undefined]), +]) add("test/built-ins/String/prototype/charCodeAt/pos-rounding.js", "charCodeAt", [ assertion("-0.99999", "abc", 0x61, [-0.99999]), assertion("-0.00001", "abc", 0x61, [-0.00001]), @@ -433,55 +479,91 @@ add("test/built-ins/String/prototype/charCodeAt/pos-rounding.js", "charCodeAt", ]) add("test/built-ins/String/prototype/codePointAt/return-single-code-unit.js", "codePointAt", [ - assertion("a", "abc", 97, [0]), assertion("b", "abc", 98, [1]), assertion("c", "abc", 99, [2]), - assertion("ordinary BMP", "\uAAAA\uBBBB", 0xaaaa, [0]), assertion("before high-surrogate range", "\uD7FF\uAAAA", 0xd7ff, [0]), - assertion("low surrogate", "\uDC00\uAAAA", 0xdc00, [0]), assertion("trailing D800", "123\uD800", 0xd800, [3]), - assertion("trailing DAAA", "123\uDAAA", 0xdaaa, [3]), assertion("trailing DBFF", "123\uDBFF", 0xdbff, [3]), + assertion("a", "abc", 97, [0]), + assertion("b", "abc", 98, [1]), + assertion("c", "abc", 99, [2]), + assertion("ordinary BMP", "\uAAAA\uBBBB", 0xaaaa, [0]), + assertion("before high-surrogate range", "\uD7FF\uAAAA", 0xd7ff, [0]), + assertion("low surrogate", "\uDC00\uAAAA", 0xdc00, [0]), + assertion("trailing D800", "123\uD800", 0xd800, [3]), + assertion("trailing DAAA", "123\uDAAA", 0xdaaa, [3]), + assertion("trailing DBFF", "123\uDBFF", 0xdbff, [3]), ]) add("test/built-ins/String/prototype/codePointAt/return-first-code-unit.js", "codePointAt", [ - assertion("D800 before DBFF", "\uD800\uDBFF", 0xd800, [0]), assertion("D800 before E000", "\uD800\uE000", 0xd800, [0]), - assertion("DAAA before DBFF", "\uDAAA\uDBFF", 0xdaaa, [0]), assertion("DAAA before E000", "\uDAAA\uE000", 0xdaaa, [0]), - assertion("DBFF before DBFF", "\uDBFF\uDBFF", 0xdbff, [0]), assertion("DBFF before E000", "\uDBFF\uE000", 0xdbff, [0]), - assertion("D800 before NUL", "\uD800\u0000", 0xd800, [0]), assertion("D800 before FFFF", "\uD800\uFFFF", 0xd800, [0]), - assertion("DAAA before NUL", "\uDAAA\u0000", 0xdaaa, [0]), assertion("DAAA before FFFF", "\uDAAA\uFFFF", 0xdaaa, [0]), + assertion("D800 before DBFF", "\uD800\uDBFF", 0xd800, [0]), + assertion("D800 before E000", "\uD800\uE000", 0xd800, [0]), + assertion("DAAA before DBFF", "\uDAAA\uDBFF", 0xdaaa, [0]), + assertion("DAAA before E000", "\uDAAA\uE000", 0xdaaa, [0]), + assertion("DBFF before DBFF", "\uDBFF\uDBFF", 0xdbff, [0]), + assertion("DBFF before E000", "\uDBFF\uE000", 0xdbff, [0]), + assertion("D800 before NUL", "\uD800\u0000", 0xd800, [0]), + assertion("D800 before FFFF", "\uD800\uFFFF", 0xd800, [0]), + assertion("DAAA before NUL", "\uDAAA\u0000", 0xdaaa, [0]), + assertion("DAAA before FFFF", "\uDAAA\uFFFF", 0xdaaa, [0]), assertion("DBFF before FFFF", "\uDBFF\uFFFF", 0xdbff, [0]), ]) add("test/built-ins/String/prototype/codePointAt/return-utf16-decode.js", "codePointAt", [ - assertion("U+10000", "\uD800\uDC00", 65536, [0]), assertion("U+101D0", "\uD800\uDDD0", 66000, [0]), - assertion("U+103FF", "\uD800\uDFFF", 66559, [0]), assertion("U+BA800", "\uDAAA\uDC00", 763904, [0]), - assertion("U+BA9D0", "\uDAAA\uDDD0", 764368, [0]), assertion("U+BABFF", "\uDAAA\uDFFF", 764927, [0]), - assertion("U+10FC00", "\uDBFF\uDC00", 1113088, [0]), assertion("U+10FDD0", "\uDBFF\uDDD0", 1113552, [0]), + assertion("U+10000", "\uD800\uDC00", 65536, [0]), + assertion("U+101D0", "\uD800\uDDD0", 66000, [0]), + assertion("U+103FF", "\uD800\uDFFF", 66559, [0]), + assertion("U+BA800", "\uDAAA\uDC00", 763904, [0]), + assertion("U+BA9D0", "\uDAAA\uDDD0", 764368, [0]), + assertion("U+BABFF", "\uDAAA\uDFFF", 764927, [0]), + assertion("U+10FC00", "\uDBFF\uDC00", 1113088, [0]), + assertion("U+10FDD0", "\uDBFF\uDDD0", 1113552, [0]), assertion("U+10FFFF", "\uDBFF\uDFFF", 1114111, [0]), ]) add("test/built-ins/String/prototype/codePointAt/return-code-unit-coerced-position.js", "codePointAt", [ - assertion("NaN", "\uD800\uDC00", 65536, [NaN]), assertion("undefined", "\uD800\uDC00", 65536, [undefined]), + assertion("NaN", "\uD800\uDC00", 65536, [NaN]), + assertion("undefined", "\uD800\uDC00", 65536, [undefined]), ]) add("test/built-ins/String/prototype/codePointAt/returns-undefined-on-position-less-than-zero.js", "codePointAt", [ { label: "negative one", input: "abc", args: [-1], outcome: "undefined" }, { label: "negative infinity", input: "abc", args: [-Infinity], outcome: "undefined" }, ]) -add("test/built-ins/String/prototype/codePointAt/returns-undefined-on-position-equal-or-more-than-size.js", "codePointAt", [ - { label: "equal to size", input: "abc", args: [3], outcome: "undefined" }, - { label: "greater than size", input: "abc", args: [4], outcome: "undefined" }, - { label: "positive infinity", input: "abc", args: [Infinity], outcome: "undefined" }, -]) +add( + "test/built-ins/String/prototype/codePointAt/returns-undefined-on-position-equal-or-more-than-size.js", + "codePointAt", + [ + { label: "equal to size", input: "abc", args: [3], outcome: "undefined" }, + { label: "greater than size", input: "abc", args: [4], outcome: "undefined" }, + { label: "positive infinity", input: "abc", args: [Infinity], outcome: "undefined" }, + ], +) add("test/built-ins/String/prototype/at/returns-code-unit.js", "at", [ - assertion("position 0", "12\uD80034", "1", [0]), assertion("position 1", "12\uD80034", "2", [1]), - assertion("unpaired surrogate", "12\uD80034", "\uD800", [2]), assertion("position 3", "12\uD80034", "3", [3]), + assertion("position 0", "12\uD80034", "1", [0]), + assertion("position 1", "12\uD80034", "2", [1]), + assertion("unpaired surrogate", "12\uD80034", "\uD800", [2]), + assertion("position 3", "12\uD80034", "3", [3]), assertion("position 4", "12\uD80034", "4", [4]), ]) -add("test/built-ins/String/prototype/at/returns-item.js", "at", ["1", "2", "3", "4", "5"].map((expected, position) => assertion(`position ${position}`, "12345", expected, [position]))) +add( + "test/built-ins/String/prototype/at/returns-item.js", + "at", + ["1", "2", "3", "4", "5"].map((expected, position) => + assertion(`position ${position}`, "12345", expected, [position]), + ), +) add("test/built-ins/String/prototype/at/returns-item-relative-index.js", "at", [ - assertion("zero", "12345", "1", [0]), assertion("negative one", "12345", "5", [-1]), - assertion("negative three", "12345", "3", [-3]), assertion("negative four", "12345", "2", [-4]), + assertion("zero", "12345", "1", [0]), + assertion("negative one", "12345", "5", [-1]), + assertion("negative three", "12345", "3", [-3]), + assertion("negative four", "12345", "2", [-4]), +]) +add( + "test/built-ins/String/prototype/at/returns-undefined-for-out-of-range-index.js", + "at", + [-2, 0, 1].map((position) => ({ label: `position ${position}`, input: "", args: [position], outcome: "undefined" })), +) +add("test/built-ins/String/prototype/at/index-non-numeric-argument-tointeger.js", "at", [ + assertion("undefined", "01", "0", [undefined]), ]) -add("test/built-ins/String/prototype/at/returns-undefined-for-out-of-range-index.js", "at", [-2, 0, 1].map((position) => ({ label: `position ${position}`, input: "", args: [position], outcome: "undefined" }))) -add("test/built-ins/String/prototype/at/index-non-numeric-argument-tointeger.js", "at", [assertion("undefined", "01", "0", [undefined])]) add("test/built-ins/String/prototype/concat/S15.5.4.6_A1_T4.js", "concat", [assertion("no arguments", "lego", "lego")]) add("test/built-ins/String/prototype/toString/string-primitive.js", "toString", [ - assertion("empty string", "", ""), assertion("non-empty string", "str", "str"), + assertion("empty string", "", ""), + assertion("non-empty string", "str", "str"), ]) add("test/built-ins/String/prototype/normalize/return-normalized-string.js", "normalize", [ @@ -492,11 +574,15 @@ add("test/built-ins/String/prototype/normalize/return-normalized-string.js", "no assertion("NFC long", "\u00C5\u2ADC\u0958\u2126\u0344", "\xC5\u2ADD\u0338\u0915\u093C\u03A9\u0308\u0301", ["NFC"]), assertion("NFD long", "\u00C5\u2ADC\u0958\u2126\u0344", "A\u030A\u2ADD\u0338\u0915\u093C\u03A9\u0308\u0301", ["NFD"]), assertion("NFKC long", "\u00C5\u2ADC\u0958\u2126\u0344", "\xC5\u2ADD\u0338\u0915\u093C\u03A9\u0308\u0301", ["NFKC"]), - assertion("NFKD long", "\u00C5\u2ADC\u0958\u2126\u0344", "A\u030A\u2ADD\u0338\u0915\u093C\u03A9\u0308\u0301", ["NFKD"]), + assertion("NFKD long", "\u00C5\u2ADC\u0958\u2126\u0344", "A\u030A\u2ADD\u0338\u0915\u093C\u03A9\u0308\u0301", [ + "NFKD", + ]), ]) add("test/built-ins/String/prototype/normalize/return-normalized-string-using-default-parameter.js", "normalize", [ assertion("omitted", "\u00C5\u2ADC\u0958\u2126\u0344", "\xC5\u2ADD\u0338\u0915\u093C\u03A9\u0308\u0301"), - assertion("undefined", "\u00C5\u2ADC\u0958\u2126\u0344", "\xC5\u2ADD\u0338\u0915\u093C\u03A9\u0308\u0301", [undefined]), + assertion("undefined", "\u00C5\u2ADC\u0958\u2126\u0344", "\xC5\u2ADD\u0338\u0915\u093C\u03A9\u0308\u0301", [ + undefined, + ]), ]) add("test/built-ins/String/prototype/normalize/form-is-not-valid-throws.js", "normalize", [ { label: "bar", input: "foo", args: ["bar"], outcome: "RangeError" }, @@ -504,51 +590,141 @@ add("test/built-ins/String/prototype/normalize/form-is-not-valid-throws.js", "no ]) add("test/built-ins/String/prototype/localeCompare/15.5.4.9_CE.js", "localeCompare", [ - assertion("D70", "o\u0308", 0, ["ö"]), assertion("reordered diaeresis", "ä\u0323", 0, ["a\u0323\u0308"]), - assertion("reordered marks", "a\u0308\u0323", 0, ["a\u0323\u0308"]), assertion("precomposed dot below", "ạ\u0308", 0, ["a\u0323\u0308"]), - assertion("breve after diaeresis", "ä\u0306", 0, ["a\u0308\u0306"]), assertion("diaeresis after breve", "ă\u0308", 0, ["a\u0306\u0308"]), - assertion("Hangul", "\u1111\u1171\u11B6", 0, ["퓛"]), assertion("angstrom compatibility", "Å", 0, ["Å"]), - assertion("angstrom decomposed", "Å", 0, ["A\u030A"]), assertion("reordered horn and dot", "x\u031B\u0323", 0, ["x\u0323\u031B"]), - assertion("Vietnamese precomposed 1", "ự", 0, ["ụ\u031B"]), assertion("Vietnamese decomposed", "ự", 0, ["u\u031B\u0323"]), - assertion("Vietnamese precomposed 2", "ự", 0, ["ư\u0323"]), assertion("Vietnamese reordered", "ự", 0, ["u\u0323\u031B"]), - assertion("cedilla", "Ç", 0, ["C\u0327"]), assertion("q reordered", "q\u0307\u0323", 0, ["q\u0323\u0307"]), - assertion("Hangul syllable", "가", 0, ["\u1100\u1161"]), assertion("ohm", "Ω", 0, ["Ω"]), - assertion("angstrom", "Å", 0, ["A\u030A"]), assertion("circumflex", "ô", 0, ["o\u0302"]), - assertion("s with marks", "ṩ", 0, ["s\u0323\u0307"]), assertion("d composed plus dot", "ḋ\u0323", 0, ["d\u0323\u0307"]), + assertion("D70", "o\u0308", 0, ["ö"]), + assertion("reordered diaeresis", "ä\u0323", 0, ["a\u0323\u0308"]), + assertion("reordered marks", "a\u0308\u0323", 0, ["a\u0323\u0308"]), + assertion("precomposed dot below", "ạ\u0308", 0, ["a\u0323\u0308"]), + assertion("breve after diaeresis", "ä\u0306", 0, ["a\u0308\u0306"]), + assertion("diaeresis after breve", "ă\u0308", 0, ["a\u0306\u0308"]), + assertion("Hangul", "\u1111\u1171\u11B6", 0, ["퓛"]), + assertion("angstrom compatibility", "Å", 0, ["Å"]), + assertion("angstrom decomposed", "Å", 0, ["A\u030A"]), + assertion("reordered horn and dot", "x\u031B\u0323", 0, ["x\u0323\u031B"]), + assertion("Vietnamese precomposed 1", "ự", 0, ["ụ\u031B"]), + assertion("Vietnamese decomposed", "ự", 0, ["u\u031B\u0323"]), + assertion("Vietnamese precomposed 2", "ự", 0, ["ư\u0323"]), + assertion("Vietnamese reordered", "ự", 0, ["u\u0323\u031B"]), + assertion("cedilla", "Ç", 0, ["C\u0327"]), + assertion("q reordered", "q\u0307\u0323", 0, ["q\u0323\u0307"]), + assertion("Hangul syllable", "가", 0, ["\u1100\u1161"]), + assertion("ohm", "Ω", 0, ["Ω"]), + assertion("angstrom", "Å", 0, ["A\u030A"]), + assertion("circumflex", "ô", 0, ["o\u0302"]), + assertion("s with marks", "ṩ", 0, ["s\u0323\u0307"]), + assertion("d composed plus dot", "ḋ\u0323", 0, ["d\u0323\u0307"]), assertion("d two precompositions", "ḋ\u0323", 0, ["ḍ\u0307"]), ]) -add("test/built-ins/String/fromCharCode/S15.5.3.2_A2.js", "fromCharCode", [{ label: "no arguments", expected: "" }], true) -add("test/built-ins/String/fromCharCode/S15.5.3.2_A3_T1.js", "fromCharCode", [{ label: "ABBA", args: [65, 66, 66, 65], expected: "ABBA" }], true) -add("test/built-ins/String/fromCharCode/S9.7_A1.js", "fromCharCode", [ - { label: "NaN", args: [NaN], expected: 0 }, { label: "zero", args: [0], expected: 0 }, { label: "negative zero", args: [-0], expected: 0 }, - { label: "positive infinity", args: [Infinity], expected: 0 }, { label: "negative infinity", args: [-Infinity], expected: 0 }, -], true) -add("test/built-ins/String/fromCharCode/S9.7_A2.1.js", "fromCharCode", [ - [0, 0], [1, 1], [-1, 65535], [65535, 65535], [65534, 65534], [65536, 0], [4294967295, 65535], [4294967294, 65534], [4294967296, 0], -].map(([input, expected]) => ({ label: String(input), args: [input!], expected })), true) -add("test/built-ins/String/fromCharCode/S9.7_A2.2.js", "fromCharCode", [ - [-32767, 32769], [-32768, 32768], [-32769, 32767], [-65535, 1], [-65536, 0], [-65537, 65535], [65535, 65535], [65536, 0], [65537, 1], [131071, 65535], [131072, 0], [131073, 1], -].map(([input, expected]) => ({ label: String(input), args: [input!], expected })), true) -add("test/built-ins/String/fromCharCode/S9.7_A3.2_T1.js", "fromCharCode", [ - { label: "positive fraction", args: [1.2345], expected: 1 }, { label: "negative fraction", args: [-5.4321], expected: 65531 }, -], true) +add( + "test/built-ins/String/fromCharCode/S15.5.3.2_A2.js", + "fromCharCode", + [{ label: "no arguments", expected: "" }], + true, +) +add( + "test/built-ins/String/fromCharCode/S15.5.3.2_A3_T1.js", + "fromCharCode", + [{ label: "ABBA", args: [65, 66, 66, 65], expected: "ABBA" }], + true, +) +add( + "test/built-ins/String/fromCharCode/S9.7_A1.js", + "fromCharCode", + [ + { label: "NaN", args: [NaN], expected: 0 }, + { label: "zero", args: [0], expected: 0 }, + { label: "negative zero", args: [-0], expected: 0 }, + { label: "positive infinity", args: [Infinity], expected: 0 }, + { label: "negative infinity", args: [-Infinity], expected: 0 }, + ], + true, +) +add( + "test/built-ins/String/fromCharCode/S9.7_A2.1.js", + "fromCharCode", + [ + [0, 0], + [1, 1], + [-1, 65535], + [65535, 65535], + [65534, 65534], + [65536, 0], + [4294967295, 65535], + [4294967294, 65534], + [4294967296, 0], + ].map(([input, expected]) => ({ label: String(input), args: [input!], expected })), + true, +) +add( + "test/built-ins/String/fromCharCode/S9.7_A2.2.js", + "fromCharCode", + [ + [-32767, 32769], + [-32768, 32768], + [-32769, 32767], + [-65535, 1], + [-65536, 0], + [-65537, 65535], + [65535, 65535], + [65536, 0], + [65537, 1], + [131071, 65535], + [131072, 0], + [131073, 1], + ].map(([input, expected]) => ({ label: String(input), args: [input!], expected })), + true, +) +add( + "test/built-ins/String/fromCharCode/S9.7_A3.2_T1.js", + "fromCharCode", + [ + { label: "positive fraction", args: [1.2345], expected: 1 }, + { label: "negative fraction", args: [-5.4321], expected: 65531 }, + ], + true, +) -add("test/built-ins/String/fromCodePoint/arguments-is-empty.js", "fromCodePoint", [{ label: "no arguments", expected: "" }], true) -add("test/built-ins/String/fromCodePoint/return-string-value.js", "fromCodePoint", [ - { label: "NUL", args: [0], expected: "\x00" }, { label: "asterisk", args: [42], expected: "*" }, - { label: "AZ", args: [65, 90], expected: "AZ" }, { label: "Cyrillic", args: [0x404], expected: "\u0404" }, - { label: "hex supplementary", args: [0x2f804], expected: "\uD87E\uDC04" }, { label: "decimal supplementary", args: [194564], expected: "\uD87E\uDC04" }, - { label: "mixed supplementary", args: [0x1d306, 0x61, 0x1d307], expected: "\uD834\uDF06a\uD834\uDF07" }, - { label: "maximum code point", args: [1114111], expected: "\uDBFF\uDFFF" }, -], true) -add("test/built-ins/String/fromCodePoint/argument-is-not-integer.js", "fromCodePoint", [ - { label: "fraction", args: [3.14], outcome: "RangeError" }, { label: "fraction after valid", args: [42, 3.14], outcome: "RangeError" }, -], true) -add("test/built-ins/String/fromCodePoint/number-is-out-of-range.js", "fromCodePoint", [ - { label: "negative one", args: [-1], outcome: "RangeError" }, { label: "negative after valid", args: [1, -1], outcome: "RangeError" }, - { label: "above maximum", args: [1114112], outcome: "RangeError" }, { label: "infinity", args: [Infinity], outcome: "RangeError" }, -], true) +add( + "test/built-ins/String/fromCodePoint/arguments-is-empty.js", + "fromCodePoint", + [{ label: "no arguments", expected: "" }], + true, +) +add( + "test/built-ins/String/fromCodePoint/return-string-value.js", + "fromCodePoint", + [ + { label: "NUL", args: [0], expected: "\x00" }, + { label: "asterisk", args: [42], expected: "*" }, + { label: "AZ", args: [65, 90], expected: "AZ" }, + { label: "Cyrillic", args: [0x404], expected: "\u0404" }, + { label: "hex supplementary", args: [0x2f804], expected: "\uD87E\uDC04" }, + { label: "decimal supplementary", args: [194564], expected: "\uD87E\uDC04" }, + { label: "mixed supplementary", args: [0x1d306, 0x61, 0x1d307], expected: "\uD834\uDF06a\uD834\uDF07" }, + { label: "maximum code point", args: [1114111], expected: "\uDBFF\uDFFF" }, + ], + true, +) +add( + "test/built-ins/String/fromCodePoint/argument-is-not-integer.js", + "fromCodePoint", + [ + { label: "fraction", args: [3.14], outcome: "RangeError" }, + { label: "fraction after valid", args: [42, 3.14], outcome: "RangeError" }, + ], + true, +) +add( + "test/built-ins/String/fromCodePoint/number-is-out-of-range.js", + "fromCodePoint", + [ + { label: "negative one", args: [-1], outcome: "RangeError" }, + { label: "negative after valid", args: [1, -1], outcome: "RangeError" }, + { label: "above maximum", args: [1114112], outcome: "RangeError" }, + { label: "infinity", args: [Infinity], outcome: "RangeError" }, + ], + true, +) describe("Test262-adapted core String behavior", () => { for (const vector of vectors) { @@ -558,16 +734,18 @@ describe("Test262-adapted core String behavior", () => { const expression = vector.static ? `String.${vector.method}(${args})` : `${JSON.stringify(item.input)}.${vector.method}(${args})` - const observed = vector.static && vector.method === "fromCharCode" && typeof item.expected === "number" - ? `${expression}.charCodeAt(0)` - : expression - const checked = item.outcome === "undefined" - ? `${observed} === undefined` - : item.outcome === "length" - ? `${observed}.length` - : item.outcome === "RangeError" - ? `(() => { try { ${observed}; return false } catch (error) { return error instanceof RangeError } })()` - : observed + const observed = + vector.static && vector.method === "fromCharCode" && typeof item.expected === "number" + ? `${expression}.charCodeAt(0)` + : expression + const checked = + item.outcome === "undefined" + ? `${observed} === undefined` + : item.outcome === "length" + ? `${observed}.length` + : item.outcome === "RangeError" + ? `(() => { try { ${observed}; return false } catch (error) { return error instanceof RangeError } })()` + : observed return `{ label: ${JSON.stringify(item.label)}, value: ${checked} }` }) const expected = vector.assertions.map((item) => ({ diff --git a/packages/codemode/test/string-regexp-test262.test.ts b/packages/codemode/test/string-regexp-test262.test.ts index 80c89082299..fa0d6f709d6 100644 --- a/packages/codemode/test/string-regexp-test262.test.ts +++ b/packages/codemode/test/string-regexp-test262.test.ts @@ -121,9 +121,35 @@ run("Test262-adapted regexp split behavior", [ ] `, expected: [ - ["x"], ["x"], ["", ""], ["", ""], ["", ""], ["x"], ["", ""], ["", ""], ["", ""], - ["x"], ["", ""], ["x"], ["x"], ["x"], ["x"], ["", ""], ["x"], ["x"], ["x"], - ["x"], ["x"], ["", ""], ["x"], ["x"], ["x"], ["", ""], ["x"], ["", ""], ["x"], + ["x"], + ["x"], + ["", ""], + ["", ""], + ["", ""], + ["x"], + ["", ""], + ["", ""], + ["", ""], + ["x"], + ["", ""], + ["x"], + ["x"], + ["x"], + ["x"], + ["", ""], + ["x"], + ["x"], + ["x"], + ["x"], + ["x"], + ["", ""], + ["x"], + ["x"], + ["x"], + ["", ""], + ["x"], + ["", ""], + ["x"], ], }, { @@ -253,19 +279,71 @@ run("Test262-adapted replace behavior", [ return replacements.flatMap((replacement) => patterns.map((pattern) => str.replace(pattern, replacement))) `, expected: [ - "foo-|$0|-bar", "foo-|$0|-bar", "foo-|$0|-bar", "foo-|$0|-bar", "foo-|$0|-bar", - "foo-|$00|-bar", "foo-|$00|-bar", "foo-|$00|-bar", "foo-|$00|-bar", "foo-|$00|-bar", - "foo-|$000|-bar", "foo-|$000|-bar", "foo-|$000|-bar", "foo-|$000|-bar", "foo-|$000|-bar", - "foo-|$1|-bar", "foo-|$1|-bar", "foo-|x|-bar", "foo-|x|-bar", "foo-|x|-bar", - "foo-|$01|-bar", "foo-|$01|-bar", "foo-|x|-bar", "foo-|x|-bar", "foo-|x|-bar", - "foo-|$010|-bar", "foo-|$010|-bar", "foo-|x0|-bar", "foo-|x0|-bar", "foo-|x0|-bar", - "foo-|$2|-bar", "foo-|$2|-bar", "foo-|$2|-bar", "foo-||-bar", "foo-|x|-bar", - "foo-|$02|-bar", "foo-|$02|-bar", "foo-|$02|-bar", "foo-||-bar", "foo-|x|-bar", - "foo-|$020|-bar", "foo-|$020|-bar", "foo-|$020|-bar", "foo-|0|-bar", "foo-|x0|-bar", - "foo-|$10|-bar", "foo-|$10|-bar", "foo-|x0|-bar", "foo-|x0|-bar", "foo-|x|-bar", - "foo-|$100|-bar", "foo-|$100|-bar", "foo-|x00|-bar", "foo-|x00|-bar", "foo-|x0|-bar", - "foo-|$20|-bar", "foo-|$20|-bar", "foo-|$20|-bar", "foo-|0|-bar", "foo-|x0|-bar", - "foo-|$200|-bar", "foo-|$200|-bar", "foo-|$200|-bar", "foo-|00|-bar", "foo-|x00|-bar", + "foo-|$0|-bar", + "foo-|$0|-bar", + "foo-|$0|-bar", + "foo-|$0|-bar", + "foo-|$0|-bar", + "foo-|$00|-bar", + "foo-|$00|-bar", + "foo-|$00|-bar", + "foo-|$00|-bar", + "foo-|$00|-bar", + "foo-|$000|-bar", + "foo-|$000|-bar", + "foo-|$000|-bar", + "foo-|$000|-bar", + "foo-|$000|-bar", + "foo-|$1|-bar", + "foo-|$1|-bar", + "foo-|x|-bar", + "foo-|x|-bar", + "foo-|x|-bar", + "foo-|$01|-bar", + "foo-|$01|-bar", + "foo-|x|-bar", + "foo-|x|-bar", + "foo-|x|-bar", + "foo-|$010|-bar", + "foo-|$010|-bar", + "foo-|x0|-bar", + "foo-|x0|-bar", + "foo-|x0|-bar", + "foo-|$2|-bar", + "foo-|$2|-bar", + "foo-|$2|-bar", + "foo-||-bar", + "foo-|x|-bar", + "foo-|$02|-bar", + "foo-|$02|-bar", + "foo-|$02|-bar", + "foo-||-bar", + "foo-|x|-bar", + "foo-|$020|-bar", + "foo-|$020|-bar", + "foo-|$020|-bar", + "foo-|0|-bar", + "foo-|x0|-bar", + "foo-|$10|-bar", + "foo-|$10|-bar", + "foo-|x0|-bar", + "foo-|x0|-bar", + "foo-|x|-bar", + "foo-|$100|-bar", + "foo-|$100|-bar", + "foo-|x00|-bar", + "foo-|x00|-bar", + "foo-|x0|-bar", + "foo-|$20|-bar", + "foo-|$20|-bar", + "foo-|$20|-bar", + "foo-|0|-bar", + "foo-|x0|-bar", + "foo-|$200|-bar", + "foo-|$200|-bar", + "foo-|$200|-bar", + "foo-|00|-bar", + "foo-|x00|-bar", ], }, { @@ -377,12 +455,30 @@ run("Test262-adapted replaceAll behavior", [ ] `, expected: [ - "azc azc azc", "abc abc abc", "abc abc abc", "o ppercase!", "o Uppercase?", " UPPERCASE!", - "ca-bbcca-bbc", "abb$3cabb$3cabb$3cabb$3c", + "azc azc azc", + "abc abc abc", + "abc abc abc", + "o ppercase!", + "o Uppercase?", + " UPPERCASE!", + "ca-bbcca-bbc", + "abb$3cabb$3cabb$3cabb$3c", "(aabaca)-(aaba)-(aabacadaea)f(agahai)-(agah)-(agahaiajak)(alaman)-(alam)-(alamano a )azaya", - "acbacaa", "aacabca", "a(b)c(b)a", "a($)bc($)bc", "(abca)bc(abca)bc", + "acbacaa", + "aacabca", + "a(b)c(b)a", + "a($)bc($)bc", + "(abca)bc(abca)bc", ], }, { @@ -472,7 +568,17 @@ run("Test262-adapted replaceAll behavior", [ const str = "ABC AAA ABC AAA" return ["$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8", "$9"].map((replacement) => str.replaceAll("ABC", replacement)) `, - expected: ["$1 AAA $1 AAA", "$2 AAA $2 AAA", "$3 AAA $3 AAA", "$4 AAA $4 AAA", "$5 AAA $5 AAA", "$6 AAA $6 AAA", "$7 AAA $7 AAA", "$8 AAA $8 AAA", "$9 AAA $9 AAA"], + expected: [ + "$1 AAA $1 AAA", + "$2 AAA $2 AAA", + "$3 AAA $3 AAA", + "$4 AAA $4 AAA", + "$5 AAA $5 AAA", + "$6 AAA $6 AAA", + "$7 AAA $7 AAA", + "$8 AAA $8 AAA", + "$9 AAA $9 AAA", + ], }, { path: "test/built-ins/String/prototype/replaceAll/getSubstitution-0x0024NN.js", diff --git a/packages/codemode/test/string-search-test262.test.ts b/packages/codemode/test/string-search-test262.test.ts index 5dcd63c8ba7..b596fc7bf9a 100644 --- a/packages/codemode/test/string-search-test262.test.ts +++ b/packages/codemode/test/string-search-test262.test.ts @@ -248,8 +248,12 @@ const cases = [ code: `const result = "one two three four five".split(" "); return [result.length, ...result]`, expected: [5, "one", "two", "three", "four", "five"], labels: [ - "The value of __split.length is 5", 'The value of __split[0] is "one"', 'The value of __split[1] is "two"', - 'The value of __split[2] is "three"', 'The value of __split[3] is "four"', 'The value of __split[4] is "five"', + "The value of __split.length is 5", + 'The value of __split[0] is "one"', + 'The value of __split[1] is "two"', + 'The value of __split[2] is "three"', + 'The value of __split[3] is "four"', + 'The value of __split[4] is "five"', ], }, { @@ -257,8 +261,10 @@ const cases = [ code: `const result = "one two three".split(""); return [result[0], result[1], result[11], result[12]]`, expected: ["o", "n", "e", "e"], labels: [ - 'The value of __split[0] is "o"', 'The value of __split[1] is "n"', - 'The value of __split[11] is "e"', 'The value of __split[12] is "e"', + 'The value of __split[0] is "o"', + 'The value of __split[1] is "n"', + 'The value of __split[11] is "e"', + 'The value of __split[12] is "e"', ], }, { @@ -314,7 +320,11 @@ const cases = [ path: "test/built-ins/String/prototype/split/separator-undef.js", code: `const result = "undefined is not a function".split(); return [Array.isArray(result), result.length, result[0]]`, expected: [true, 1, "undefined is not a function"], - labels: ["implicit separator, result is array", "implicit separator, result.length", "implicit separator, [0] is the same string"], + labels: [ + "implicit separator, result is array", + "implicit separator, result.length", + "implicit separator, [0] is the same string", + ], }, { path: "test/built-ins/String/prototype/slice/S15.5.4.13_A1_T6.js", @@ -456,23 +466,33 @@ const cases = [ }, { path: "test/built-ins/String/prototype/includes/String.prototype.includes_FailMissingLetter.js", - code: `return ["word".includes("a", 0)]`, expected: [false], labels: ['"word".includes("a", 0)'], + code: `return ["word".includes("a", 0)]`, + expected: [false], + labels: ['"word".includes("a", 0)'], }, { path: "test/built-ins/String/prototype/includes/String.prototype.includes_SuccessNoLocation.js", - code: `return ["word".includes("w")]`, expected: [true], labels: ['"word".includes("w")'], + code: `return ["word".includes("w")]`, + expected: [true], + labels: ['"word".includes("w")'], }, { path: "test/built-ins/String/prototype/includes/String.prototype.includes_FailBadLocation.js", - code: `return ["word".includes("w", 5)]`, expected: [false], labels: ['"word".includes("w", 5)'], + code: `return ["word".includes("w", 5)]`, + expected: [false], + labels: ['"word".includes("w", 5)'], }, { path: "test/built-ins/String/prototype/includes/String.prototype.includes_FailLocation.js", - code: `return ["word".includes("o", 3)]`, expected: [false], labels: ['"word".includes("o", 3)'], + code: `return ["word".includes("o", 3)]`, + expected: [false], + labels: ['"word".includes("o", 3)'], }, { path: "test/built-ins/String/prototype/includes/String.prototype.includes_Success.js", - code: `return ["word".includes("w", 0)]`, expected: [true], labels: ['"word".includes("w", 0)'], + code: `return ["word".includes("w", 0)]`, + expected: [true], + labels: ['"word".includes("w", 0)'], }, { path: "test/built-ins/String/prototype/includes/searchstring-found-with-position.js", @@ -503,7 +523,8 @@ const cases = [ { path: "test/built-ins/String/prototype/includes/searchstring-not-found-without-position.js", code: `const text = "The future is cool!"; return [text.includes("Flash"), text.includes("FUTURE")]`, - expected: [false, false], labels: ["Flash if not included", "includes is case sensitive"], + expected: [false, false], + labels: ["Flash if not included", "includes is case sensitive"], }, { path: "test/built-ins/String/prototype/includes/return-false-with-out-of-bounds-position.js", @@ -512,15 +533,21 @@ const cases = [ ]`, expected: [false, false, false, false], labels: [ - 'str.includes("!", str.length + 1) returns false', 'str.includes("!", 100) returns false', - 'str.includes("!", Infinity) returns false', 'str.includes("!", str.length) returns false', + 'str.includes("!", str.length + 1) returns false', + 'str.includes("!", 100) returns false', + 'str.includes("!", Infinity) returns false', + 'str.includes("!", str.length) returns false', ], }, { path: "test/built-ins/String/prototype/includes/return-true-if-searchstring-is-empty.js", code: `const text = "The future is cool!"; return [text.includes("", text.length), text.includes(""), text.includes("", Infinity)]`, expected: [true, true, true], - labels: ['str.includes("", str.length) returns true', 'str.includes("") returns true', 'str.includes("", Infinity) returns true'], + labels: [ + 'str.includes("", str.length) returns true', + 'str.includes("") returns true', + 'str.includes("", Infinity) returns true', + ], }, { path: "test/built-ins/String/prototype/includes/coerced-values-of-position.js", @@ -536,7 +563,8 @@ const cases = [ code: `const text = "The future is cool!"; return [text.startsWith("The future", 0), text.startsWith("future", 4), text.startsWith(" is cool!", 10)]`, expected: [true, true, true], labels: [ - 'str.startsWith("The future", 0) === true', 'str.startsWith("future", 4) === true', + 'str.startsWith("The future", 0) === true', + 'str.startsWith("future", 4) === true', 'str.startsWith(" is cool!", 10) === true', ], }, @@ -544,7 +572,11 @@ const cases = [ path: "test/built-ins/String/prototype/startsWith/searchstring-found-without-position.js", code: `const text = "The future is cool!"; return [text.startsWith("The "), text.startsWith("The future"), text.startsWith(text)]`, expected: [true, true, true], - labels: ['str.startsWith("The ") === true', 'str.startsWith("The future") === true', "str.startsWith(str) === true"], + labels: [ + 'str.startsWith("The ") === true', + 'str.startsWith("The future") === true', + "str.startsWith(str) === true", + ], }, { path: "test/built-ins/String/prototype/startsWith/searchstring-not-found-with-position.js", @@ -556,7 +588,11 @@ const cases = [ path: "test/built-ins/String/prototype/startsWith/searchstring-not-found-without-position.js", code: `const text = "The future is cool!"; return [text.startsWith("Flash"), text.startsWith("THE FUTURE"), text.startsWith("future is cool!")]`, expected: [false, false, false], - labels: ['str.startsWith("Flash") === false', "startsWith is case sensitive", 'str.startsWith("future is cool!") === false'], + labels: [ + 'str.startsWith("Flash") === false', + "startsWith is case sensitive", + 'str.startsWith("future is cool!") === false', + ], }, { path: "test/built-ins/String/prototype/startsWith/out-of-bounds-position.js", @@ -566,8 +602,10 @@ const cases = [ ]`, expected: [false, false, false, true, true], labels: [ - 'str.startsWith("!", str.length) returns false', 'str.startsWith("!", 100) returns false', - 'str.startsWith("!", Infinity) returns false', "position argument < 0 will search from the start of the string (-1)", + 'str.startsWith("!", str.length) returns false', + 'str.startsWith("!", 100) returns false', + 'str.startsWith("!", Infinity) returns false', + "position argument < 0 will search from the start of the string (-1)", "position argument < 0 will search from the start of the string (-Infinity)", ], }, @@ -575,7 +613,11 @@ const cases = [ path: "test/built-ins/String/prototype/startsWith/return-true-if-searchstring-is-empty.js", code: `const text = "The future is cool!"; return [text.startsWith(""), text.startsWith("", text.length), text.startsWith("", Infinity)]`, expected: [true, true, true], - labels: ['str.startsWith("") returns true', 'str.startsWith("", str.length) returns true', 'str.startsWith("", Infinity) returns true'], + labels: [ + 'str.startsWith("") returns true', + 'str.startsWith("", str.length) returns true', + 'str.startsWith("", Infinity) returns true', + ], }, { path: "test/built-ins/String/prototype/startsWith/coerced-values-of-position.js", @@ -588,34 +630,47 @@ const cases = [ }, { path: "test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success.js", - code: `return ["word".endsWith("d")]`, expected: [true], labels: ['"word".endsWith("d")'], + code: `return ["word".endsWith("d")]`, + expected: [true], + labels: ['"word".endsWith("d")'], }, { path: "test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success_2.js", - code: `return ["word".endsWith("d", 4)]`, expected: [true], labels: ['"word".endsWith("d", 4)'], + code: `return ["word".endsWith("d", 4)]`, + expected: [true], + labels: ['"word".endsWith("d", 4)'], }, { path: "test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success_3.js", - code: `return ["word".endsWith("d", 25)]`, expected: [true], labels: ['"word".endsWith("d", 25)'], + code: `return ["word".endsWith("d", 25)]`, + expected: [true], + labels: ['"word".endsWith("d", 25)'], }, { path: "test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success_4.js", - code: `return ["word".endsWith("r", 3)]`, expected: [true], labels: ['"word".endsWith("r", 3)'], + code: `return ["word".endsWith("r", 3)]`, + expected: [true], + labels: ['"word".endsWith("r", 3)'], }, { path: "test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Fail.js", - code: `return ["word".endsWith("r")]`, expected: [false], labels: ['"word".endsWith("r")'], + code: `return ["word".endsWith("r")]`, + expected: [false], + labels: ['"word".endsWith("r")'], }, { path: "test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Fail_2.js", - code: `return ["word".endsWith("d", 3)]`, expected: [false], labels: ['"word".endsWith("d", 3)'], + code: `return ["word".endsWith("d", 3)]`, + expected: [false], + labels: ['"word".endsWith("d", 3)'], }, { path: "test/built-ins/String/prototype/endsWith/searchstring-found-with-position.js", code: `const text = "The future is cool!"; return [text.endsWith("The future", 10), text.endsWith("future", 10), text.endsWith(" is cool!", text.length)]`, expected: [true, true, true], labels: [ - 'str.endsWith("The future", 10) === true', 'str.endsWith("future", 10) === true', + 'str.endsWith("The future", 10) === true', + 'str.endsWith("future", 10) === true', 'str.endsWith(" is cool!", str.length) === true', ], }, @@ -635,7 +690,11 @@ const cases = [ path: "test/built-ins/String/prototype/endsWith/searchstring-not-found-without-position.js", code: `const text = "The future is cool!"; return [text.endsWith("is Flash!"), text.endsWith("IS COOL!"), text.endsWith("The future")]`, expected: [false, false, false], - labels: ['str.endsWith("is Flash!") === false', "endsWith is case sensitive", 'str.endsWith("The future") === false'], + labels: [ + 'str.endsWith("is Flash!") === false', + "endsWith is case sensitive", + 'str.endsWith("The future") === false', + ], }, { path: "test/built-ins/String/prototype/endsWith/return-false-if-search-start-is-less-than-zero.js", @@ -651,8 +710,11 @@ const cases = [ ]`, expected: [true, true, true, true, true], labels: [ - 'str.endsWith("") returns true', 'str.endsWith("", str.length) returns true', 'str.endsWith("", Infinity) returns true', - 'str.endsWith("", -1) returns true', 'str.endsWith("", -Infinity) returns true', + 'str.endsWith("") returns true', + 'str.endsWith("", str.length) returns true', + 'str.endsWith("", Infinity) returns true', + 'str.endsWith("", -1) returns true', + 'str.endsWith("", -Infinity) returns true', ], }, { @@ -665,27 +727,39 @@ const cases = [ }, { path: "test/built-ins/String/prototype/indexOf/S15.5.4.7_A2_T1.js", - code: `return ["abcd".indexOf("abcdab")]`, expected: [-1], labels: ['#1: "abcd".indexOf("abcdab")===-1'], + code: `return ["abcd".indexOf("abcdab")]`, + expected: [-1], + labels: ['#1: "abcd".indexOf("abcdab")===-1'], }, { path: "test/built-ins/String/prototype/indexOf/S15.5.4.7_A2_T2.js", - code: `return ["abcd".indexOf("abcdab", 0)]`, expected: [-1], labels: ['#1: "abcd".indexOf("abcdab",0)===-1'], + code: `return ["abcd".indexOf("abcdab", 0)]`, + expected: [-1], + labels: ['#1: "abcd".indexOf("abcdab",0)===-1'], }, { path: "test/built-ins/String/prototype/indexOf/S15.5.4.7_A2_T3.js", - code: `return ["abcd".indexOf("abcdab", 99)]`, expected: [-1], labels: ['#1: "abcd".indexOf("abcdab",99)===-1'], + code: `return ["abcd".indexOf("abcdab", 99)]`, + expected: [-1], + labels: ['#1: "abcd".indexOf("abcdab",99)===-1'], }, { path: "test/built-ins/String/prototype/indexOf/S15.5.4.7_A2_T4.js", - code: `return ["abcd".indexOf("abcdab", NaN)]`, expected: [-1], labels: ['#1: "abcd".indexOf("abcdab",NaN)===-1'], + code: `return ["abcd".indexOf("abcdab", NaN)]`, + expected: [-1], + labels: ['#1: "abcd".indexOf("abcdab",NaN)===-1'], }, { path: "test/built-ins/String/prototype/indexOf/S15.5.4.7_A3_T1.js", - code: `return ["$$abcdabcd".indexOf("ab", NaN)]`, expected: [2], labels: ['#1: "$$abcdabcd".indexOf("ab",NaN)===2'], + code: `return ["$$abcdabcd".indexOf("ab", NaN)]`, + expected: [2], + labels: ['#1: "$$abcdabcd".indexOf("ab",NaN)===2'], }, { path: "test/built-ins/String/prototype/indexOf/S15.5.4.7_A3_T3.js", - code: `return ["$$abcdabcd".indexOf("ab", -Infinity)]`, expected: [2], labels: ['#1: "$$abcdabcd".indexOf("ab", function(){return -Infinity;}())===2'], + code: `return ["$$abcdabcd".indexOf("ab", -Infinity)]`, + expected: [2], + labels: ['#1: "$$abcdabcd".indexOf("ab", function(){return -Infinity;}())===2'], }, { path: "test/built-ins/String/prototype/indexOf/position-tointeger.js", @@ -697,21 +771,31 @@ const cases = [ ]`, expected: [0, 1, 0, 0, 1, 0, -1, 0, 2, 2], labels: [ - "position 0", "position 1", "ToInteger: truncate towards 0 (-0.9)", "ToInteger: truncate towards 0 (0.9)", - "ToInteger: truncate towards 0 (1.9)", "ToInteger: NaN => 0", "position Infinity", - "ToInteger: undefined => NaN => 0", "position 2", "ToInteger: truncate towards 0 (2.9)", + "position 0", + "position 1", + "ToInteger: truncate towards 0 (-0.9)", + "ToInteger: truncate towards 0 (0.9)", + "ToInteger: truncate towards 0 (1.9)", + "ToInteger: NaN => 0", + "position Infinity", + "ToInteger: undefined => NaN => 0", + "position 2", + "ToInteger: truncate towards 0 (2.9)", ], }, { path: "test/built-ins/String/prototype/indexOf/searchstring-tostring.js", code: `return ["foo".indexOf(""), "__foo__".indexOf("foo")]`, - expected: [0, 2], labels: ['"foo".indexOf("")', '"__foo__".indexOf("foo")'], + expected: [0, 2], + labels: ['"foo".indexOf("")', '"__foo__".indexOf("foo")'], }, { path: "test/built-ins/String/prototype/lastIndexOf/not-a-substring.js", code: `return ["abc".lastIndexOf("d")]`, expected: [-1], - labels: ["String.prototype.lastIndexOf returns -1 when searchString is shorter than this and searchString is not a substring of this."], + labels: [ + "String.prototype.lastIndexOf returns -1 when searchString is shorter than this and searchString is not a substring of this.", + ], }, ] as const diff --git a/packages/httpapi-codegen/src/index.ts b/packages/httpapi-codegen/src/index.ts index 90ce130d1d7..35a07ae9b7d 100644 --- a/packages/httpapi-codegen/src/index.ts +++ b/packages/httpapi-codegen/src/index.ts @@ -371,7 +371,9 @@ function renderEffectShape( .map((field) => { const schema = effectInputSchema(endpoint, field) if (schema === undefined) { - throw new GenerationError({ reason: `Missing Effect input schema: ${endpoint.group}.${endpoint.endpoint.identifier}.${field.name}` }) + throw new GenerationError({ + reason: `Missing Effect input schema: ${endpoint.group}.${endpoint.endpoint.identifier}.${field.name}`, + }) } return `readonly ${JSON.stringify(field.name)}${field.optional ? "?" : ""}: ${effectType(schema, references, imports)}` }) @@ -453,11 +455,7 @@ function effectTypeReferences(input: ReadonlyArray) { return { names, asts, brands } } -function effectType( - schema: Schema.Top, - references: ReturnType, - imports: Set, -) { +function effectType(schema: Schema.Top, references: ReturnType, imports: Set) { const projected = Schema.toType(schema) const direct = references.asts.get(schema.ast) ?? references.asts.get(projected.ast) if (direct !== undefined) { diff --git a/packages/merman/src/flowchart/flowchart.test.ts b/packages/merman/src/flowchart/flowchart.test.ts index a1602a1bec2..c406144afc9 100644 --- a/packages/merman/src/flowchart/flowchart.test.ts +++ b/packages/merman/src/flowchart/flowchart.test.ts @@ -1100,7 +1100,9 @@ flowchart LR "separates oversized parallel subgraph labels across %s diagrams", (direction) => { const horizontal = direction === "LR" || direction === "RL" - const label = horizontal ? "one
two
three
four
five" : "A very very wide downstream subgraph title" + const label = horizontal + ? "one
two
three
four
five" + : "A very very wide downstream subgraph title" const layout = layoutFlowchartDiagram(`flowchart ${direction} subgraph source [Source] A[A] diff --git a/packages/merman/src/flowchart/layout.ts b/packages/merman/src/flowchart/layout.ts index 5b3e262a925..cd2cc86a2f5 100644 --- a/packages/merman/src/flowchart/layout.ts +++ b/packages/merman/src/flowchart/layout.ts @@ -511,7 +511,10 @@ function collectSubgraphNodeIds(diagram: FlowchartDiagram, subgraphId: string): return nodeIds } -function rankGraphComponents(ids: readonly string[], outgoing: ReadonlyMap>): Map { +function rankGraphComponents( + ids: readonly string[], + outgoing: ReadonlyMap>, +): Map { const reachable = new Map>() for (const id of ids) { const seen = new Set() @@ -530,7 +533,8 @@ function rankGraphComponents(ids: readonly string[], outgoing: ReadonlyMap !componentById.has(candidate) && reachable.get(id)!.has(candidate) && reachable.get(candidate)!.has(id), + (candidate) => + !componentById.has(candidate) && reachable.get(id)!.has(candidate) && reachable.get(candidate)!.has(id), ) const componentIndex = components.length components.push(component) @@ -685,9 +689,7 @@ function separateTopLevelItems( for (const rank of rankKeys) { const rankItems = itemsByRank .get(rank)! - .toSorted((a, b) => - horizontal ? a.bounds.top - b.bounds.top : a.bounds.left - b.bounds.left, - ) + .toSorted((a, b) => (horizontal ? a.bounds.top - b.bounds.top : a.bounds.left - b.bounds.left)) let crossCursor: number | undefined for (const item of rankItems) { const start = horizontal ? item.bounds.top : item.bounds.left diff --git a/packages/merman/src/palette.test.ts b/packages/merman/src/palette.test.ts index 07ed2f81bcf..752bee9a6c9 100644 --- a/packages/merman/src/palette.test.ts +++ b/packages/merman/src/palette.test.ts @@ -7,8 +7,7 @@ type Rgb = readonly [number, number, number] const rgb = (value: Rgb) => RGBA.fromInts(...value) describe("OpenCode diagram palette", () => { - test.each( - [ + test.each([ { name: "dark theme", text: [230, 232, 240], @@ -23,14 +22,13 @@ describe("OpenCode diagram palette", () => { secondary: [76, 80, 91], muted: [93, 98, 110], }, - ] satisfies ReadonlyArray<{ - name: string - text: Rgb - subdued: Rgb - secondary: Rgb - muted: Rgb - }>, - )("derives a controlled neutral ladder for a $name", ({ text, subdued, secondary, muted }) => { + ] satisfies ReadonlyArray<{ + name: string + text: Rgb + subdued: Rgb + secondary: Rgb + muted: Rgb + }>)("derives a controlled neutral ladder for a $name", ({ text, subdued, secondary, muted }) => { const primary = rgb(text) const info = RGBA.fromInts(40, 120, 220) const background = RGBA.fromInts(10, 20, 30) diff --git a/packages/plugin/src/README.md b/packages/plugin/src/README.md index 2063922f85a..5d49d9deabe 100644 --- a/packages/plugin/src/README.md +++ b/packages/plugin/src/README.md @@ -101,15 +101,12 @@ supplies the tool's name and options separately: import { Schema } from "effect" await ctx.tool.transform((tools) => { - tools.add( - "echo", - { - description: "Echo text", - input: Schema.Struct({ text: Schema.String }), - output: Schema.Struct({ text: Schema.String }), - execute: async ({ text }) => ({ output: { text }, content: text }), - }, - ) + tools.add("echo", { + description: "Echo text", + input: Schema.Struct({ text: Schema.String }), + output: Schema.Struct({ text: Schema.String }), + execute: async ({ text }) => ({ output: { text }, content: text }), + }) }) ``` diff --git a/packages/plugin/src/effect/tool.ts b/packages/plugin/src/effect/tool.ts index 0a23a15a792..d8f88c5d629 100644 --- a/packages/plugin/src/effect/tool.ts +++ b/packages/plugin/src/effect/tool.ts @@ -5,10 +5,9 @@ import type { SessionMessage } from "@opencode-ai/schema/session-message" import type { Hooks, Transform } from "./registration.js" export interface ToolDraft { - add< - Input extends Tool.ValueSchema, - Output extends Tool.ValueSchema | undefined, - >(tool: Tool.Info): void + add, Output extends Tool.ValueSchema | undefined>( + tool: Tool.Info, + ): void } export interface ToolHooks { diff --git a/packages/plugin/src/promise/tool.ts b/packages/plugin/src/promise/tool.ts index 26cf58180a4..3cfbf5a49dd 100644 --- a/packages/plugin/src/promise/tool.ts +++ b/packages/plugin/src/promise/tool.ts @@ -22,10 +22,9 @@ export type Info< } interface ToolDraft { - add< - Input extends Tool.ValueSchema, - Output extends Tool.ValueSchema | undefined, - >(tool: Info): void + add, Output extends Tool.ValueSchema | undefined>( + tool: Info, + ): void } interface ToolHooks { diff --git a/packages/plugin/src/v1/tui.ts b/packages/plugin/src/v1/tui.ts index 000a8c6aba1..1473f7332c8 100644 --- a/packages/plugin/src/v1/tui.ts +++ b/packages/plugin/src/v1/tui.ts @@ -428,9 +428,7 @@ type TuiConfigView = { } diff_style?: "auto" | "stacked" terminal?: { title?: boolean } - prompt?: - | { editor?: boolean; paste?: "compact" | "full" } - | { max_height?: number; max_width?: number | "auto" } + prompt?: { editor?: boolean; paste?: "compact" | "full" } | { max_height?: number; max_width?: number | "auto" } session?: { sidebar?: "auto" | "hide" scrollbar?: boolean diff --git a/packages/protocol/openapi.json b/packages/protocol/openapi.json index 17b55e7f060..5778fa30a9f 100644 --- a/packages/protocol/openapi.json +++ b/packages/protocol/openapi.json @@ -8,9 +8,7 @@ "paths": { "/api/health": { "get": { - "tags": [ - "health" - ], + "tags": ["health"], "operationId": "v2.health.get", "parameters": [], "security": [], @@ -52,9 +50,7 @@ }, "/api/service/stop": { "post": { - "tags": [ - "health" - ], + "tags": ["health"], "operationId": "v2.health.stop", "parameters": [], "security": [], @@ -106,9 +102,7 @@ }, "/api/server": { "get": { - "tags": [ - "server" - ], + "tags": ["server"], "operationId": "v2.server.get", "parameters": [], "security": [], @@ -127,9 +121,7 @@ } } }, - "required": [ - "urls" - ], + "required": ["urls"], "additionalProperties": false } } @@ -162,9 +154,7 @@ }, "/api/location": { "get": { - "tags": [ - "location" - ], + "tags": ["location"], "operationId": "v2.location.get", "parameters": [ { @@ -247,9 +237,7 @@ }, "/api/agent": { "get": { - "tags": [ - "agent" - ], + "tags": ["agent"], "operationId": "v2.agent.list", "parameters": [ { @@ -312,10 +300,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -348,9 +333,7 @@ }, "/api/agent/{agentID}": { "get": { - "tags": [ - "agent" - ], + "tags": ["agent"], "operationId": "v2.agent.get", "parameters": [ { @@ -418,10 +401,7 @@ "$ref": "#/components/schemas/Agent.Info" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -464,9 +444,7 @@ }, "/api/plugin": { "get": { - "tags": [ - "plugin" - ], + "tags": ["plugin"], "operationId": "v2.plugin.list", "parameters": [ { @@ -529,10 +507,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -565,9 +540,7 @@ }, "/api/session": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.list", "parameters": [ { @@ -613,10 +586,7 @@ "anyOf": [ { "type": "string", - "enum": [ - "asc", - "desc" - ] + "enum": ["asc", "desc"] }, { "type": "null" @@ -658,9 +628,7 @@ }, { "type": "string", - "enum": [ - "null" - ] + "enum": ["null"] } ], "description": "Filter by parent session. Use null to return only root sessions." @@ -781,9 +749,7 @@ "summary": "List sessions" }, "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.create", "parameters": [], "security": [], @@ -799,9 +765,7 @@ "$ref": "#/components/schemas/Session.Info" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -900,11 +864,200 @@ } } }, + "/api/session/import": { + "post": { + "tags": ["session"], + "operationId": "v2.session.import", + "parameters": [], + "security": [], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/Session.Info" + } + }, + "required": ["data"], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "InvalidRequestError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InvalidRequestError" + } + } + } + }, + "401": { + "description": "UnauthorizedError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnauthorizedError" + } + } + } + }, + "409": { + "description": "ConflictError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConflictError" + } + } + } + } + }, + "description": "Import a projected session transcript at the requested location.", + "summary": "Import session", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "info": { + "$ref": "#/components/schemas/Session.Info" + }, + "messages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Session.Message.Info" + } + }, + "location": { + "anyOf": [ + { + "$ref": "#/components/schemas/Location.Ref" + }, + { + "type": "null" + } + ] + } + }, + "required": ["info", "messages"], + "additionalProperties": false + } + } + }, + "required": true + } + } + }, + "/api/session/{sessionID}/export": { + "get": { + "tags": ["session"], + "operationId": "v2.session.export", + "parameters": [ + { + "name": "sessionID", + "in": "path", + "schema": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "required": true + }, + { + "name": "sanitize", + "in": "query", + "schema": { + "anyOf": [ + { + "type": "string", + "enum": ["true", "false"] + }, + { + "type": "null" + } + ] + }, + "required": false + } + ], + "security": [], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/SessionTransfer.Data" + } + }, + "required": ["data"], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "InvalidRequestError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InvalidRequestError" + } + } + } + }, + "401": { + "description": "UnauthorizedError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnauthorizedError" + } + } + } + }, + "404": { + "description": "SessionNotFoundError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SessionNotFoundError" + } + } + } + }, + "500": { + "description": "UnknownError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnknownError" + } + } + } + } + }, + "description": "Export a complete projected session transcript.", + "summary": "Export session" + } + }, "/api/session/active": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.active", "parameters": [], "security": [], @@ -925,9 +1078,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -960,9 +1111,7 @@ }, "/api/session/{sessionID}": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.get", "parameters": [ { @@ -992,9 +1141,7 @@ "$ref": "#/components/schemas/Session.Info" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -1035,9 +1182,7 @@ "summary": "Get session" }, "delete": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.remove", "parameters": [ { @@ -1103,9 +1248,7 @@ }, "/api/session/{sessionID}/fork": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.fork", "parameters": [ { @@ -1135,9 +1278,7 @@ "$ref": "#/components/schemas/Session.Info" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -1203,9 +1344,7 @@ "$ref": "#/components/schemas/Session.ForkRequestBoundary" } }, - "required": [ - "boundary" - ], + "required": ["boundary"], "additionalProperties": false } } @@ -1216,9 +1355,7 @@ }, "/api/session/{sessionID}/agent": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.switchAgent", "parameters": [ { @@ -1290,9 +1427,7 @@ "type": "string" } }, - "required": [ - "agent" - ], + "required": ["agent"], "additionalProperties": false } } @@ -1303,9 +1438,7 @@ }, "/api/session/{sessionID}/model": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.switchModel", "parameters": [ { @@ -1377,9 +1510,7 @@ "$ref": "#/components/schemas/Model.Ref" } }, - "required": [ - "model" - ], + "required": ["model"], "additionalProperties": false } } @@ -1390,9 +1521,7 @@ }, "/api/session/{sessionID}/rename": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.rename", "parameters": [ { @@ -1464,9 +1593,7 @@ "type": "string" } }, - "required": [ - "title" - ], + "required": ["title"], "additionalProperties": false } } @@ -1477,9 +1604,7 @@ }, "/api/session/{sessionID}/move": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.move", "parameters": [ { @@ -1555,9 +1680,7 @@ }, "/api/session/{sessionID}/prompt": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.prompt", "parameters": [ { @@ -1587,9 +1710,7 @@ "$ref": "#/components/schemas/SessionPending.User" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -1695,10 +1816,7 @@ "anyOf": [ { "type": "string", - "enum": [ - "steer", - "queue" - ] + "enum": ["steer", "queue"] }, { "type": "null" @@ -1716,9 +1834,7 @@ ] } }, - "required": [ - "text" - ], + "required": ["text"], "additionalProperties": false } } @@ -1729,9 +1845,7 @@ }, "/api/session/{sessionID}/command": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.command", "parameters": [ { @@ -1761,9 +1875,7 @@ "$ref": "#/components/schemas/SessionPending.User" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -1909,10 +2021,7 @@ "anyOf": [ { "type": "string", - "enum": [ - "steer", - "queue" - ] + "enum": ["steer", "queue"] }, { "type": "null" @@ -1930,9 +2039,7 @@ ] } }, - "required": [ - "command" - ], + "required": ["command"], "additionalProperties": false } } @@ -1943,9 +2050,7 @@ }, "/api/session/{sessionID}/skill": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.skill", "parameters": [ { @@ -2045,9 +2150,7 @@ ] } }, - "required": [ - "skill" - ], + "required": ["skill"], "additionalProperties": false } } @@ -2058,9 +2161,7 @@ }, "/api/session/{sessionID}/synthetic": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.synthetic", "parameters": [ { @@ -2090,9 +2191,7 @@ "$ref": "#/components/schemas/SessionPending.Synthetic" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -2189,10 +2288,7 @@ "anyOf": [ { "type": "string", - "enum": [ - "steer", - "queue" - ] + "enum": ["steer", "queue"] }, { "type": "null" @@ -2210,9 +2306,7 @@ ] } }, - "required": [ - "text" - ], + "required": ["text"], "additionalProperties": false } } @@ -2223,9 +2317,7 @@ }, "/api/session/{sessionID}/shell": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.shell", "parameters": [ { @@ -2312,9 +2404,7 @@ "type": "string" } }, - "required": [ - "command" - ], + "required": ["command"], "additionalProperties": false } } @@ -2325,9 +2415,7 @@ }, "/api/session/{sessionID}/compact": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.compact", "parameters": [ { @@ -2357,9 +2445,7 @@ "$ref": "#/components/schemas/SessionPending.Compaction" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -2447,9 +2533,7 @@ }, "/api/session/{sessionID}/wait": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.wait", "parameters": [ { @@ -2525,9 +2609,7 @@ }, "/api/session/{sessionID}/revert/stage": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.revert.stage", "parameters": [ { @@ -2557,9 +2639,7 @@ "$ref": "#/components/schemas/Session.Revert" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -2653,9 +2733,7 @@ ] } }, - "required": [ - "messageID" - ], + "required": ["messageID"], "additionalProperties": false } } @@ -2666,9 +2744,7 @@ }, "/api/session/{sessionID}/revert/clear": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.revert.clear", "parameters": [ { @@ -2753,9 +2829,7 @@ }, "/api/session/{sessionID}/revert/commit": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.revert.commit", "parameters": [ { @@ -2830,9 +2904,7 @@ }, "/api/session/{sessionID}/context": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.context", "parameters": [ { @@ -2865,9 +2937,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -2920,9 +2990,7 @@ }, "/api/session/{sessionID}/pending": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.pending.list", "parameters": [ { @@ -2955,9 +3023,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -2998,11 +3064,255 @@ "summary": "List pending session work" } }, + "/api/session/{sessionID}/pending/{inputID}": { + "delete": { + "tags": ["session"], + "operationId": "v2.session.pending.cancel", + "parameters": [ + { + "name": "sessionID", + "in": "path", + "schema": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "required": true + }, + { + "name": "inputID", + "in": "path", + "schema": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + }, + "required": true + } + ], + "security": [], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "InvalidRequestError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InvalidRequestError" + } + } + } + }, + "401": { + "description": "UnauthorizedError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnauthorizedError" + } + } + } + }, + "404": { + "description": "SessionNotFoundError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SessionNotFoundError" + } + } + } + }, + "409": { + "description": "ConflictError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConflictError" + } + } + } + } + }, + "description": "Cancel an input that has not yet been promoted into session history.", + "summary": "Cancel pending input" + } + }, + "/api/session/{sessionID}/pending/{inputID}/steer": { + "post": { + "tags": ["session"], + "operationId": "v2.session.pending.steer", + "parameters": [ + { + "name": "sessionID", + "in": "path", + "schema": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "required": true + }, + { + "name": "inputID", + "in": "path", + "schema": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + }, + "required": true + } + ], + "security": [], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "InvalidRequestError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InvalidRequestError" + } + } + } + }, + "401": { + "description": "UnauthorizedError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnauthorizedError" + } + } + } + }, + "404": { + "description": "SessionNotFoundError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SessionNotFoundError" + } + } + } + }, + "409": { + "description": "ConflictError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConflictError" + } + } + } + } + }, + "description": "Change a queued input to steer delivery and wake session execution.", + "summary": "Steer queued input" + } + }, + "/api/session/{sessionID}/pending/{inputID}/queue": { + "post": { + "tags": ["session"], + "operationId": "v2.session.pending.queue", + "parameters": [ + { + "name": "sessionID", + "in": "path", + "schema": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "required": true + }, + { + "name": "inputID", + "in": "path", + "schema": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + }, + "required": true + } + ], + "security": [], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "InvalidRequestError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InvalidRequestError" + } + } + } + }, + "401": { + "description": "UnauthorizedError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnauthorizedError" + } + } + } + }, + "404": { + "description": "SessionNotFoundError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SessionNotFoundError" + } + } + } + }, + "409": { + "description": "ConflictError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConflictError" + } + } + } + } + }, + "description": "Change a pending steer to queued delivery.", + "summary": "Queue pending steer" + } + }, "/api/session/{sessionID}/instructions/entries": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.instructions.entry.list", "parameters": [ { @@ -3035,9 +3345,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -3087,9 +3395,7 @@ }, "/api/session/{sessionID}/instructions/entries/{key}": { "put": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.instructions.entry.put", "parameters": [ { @@ -3177,9 +3483,7 @@ "properties": { "value": {} }, - "required": [ - "value" - ], + "required": ["value"], "additionalProperties": false } } @@ -3188,9 +3492,7 @@ } }, "delete": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.instructions.entry.remove", "parameters": [ { @@ -3264,9 +3566,7 @@ }, "/api/session/{sessionID}/generate": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.generate", "parameters": [ { @@ -3355,9 +3655,7 @@ "type": "string" } }, - "required": [ - "prompt" - ], + "required": ["prompt"], "additionalProperties": false } } @@ -3368,9 +3666,7 @@ }, "/api/experimental/session/{sessionID}/log": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.log", "parameters": [ { @@ -3408,10 +3704,7 @@ "anyOf": [ { "type": "string", - "enum": [ - "true", - "false" - ] + "enum": ["true", "false"] }, { "type": "null" @@ -3447,11 +3740,7 @@ "$ref": "#/components/schemas/SessionLogItemJsonString" } }, - "required": [ - "id", - "event", - "data" - ], + "required": ["id", "event", "data"], "additionalProperties": false }, "x-effect-stream": { @@ -3465,18 +3754,13 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "Fail" - ] + "enum": ["Fail"] }, "error": { "not": {} } }, - "required": [ - "_tag", - "error" - ], + "required": ["_tag", "error"], "additionalProperties": false }, { @@ -3484,16 +3768,11 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "Die" - ] + "enum": ["Die"] }, "defect": {} }, - "required": [ - "_tag", - "defect" - ], + "required": ["_tag", "defect"], "additionalProperties": false }, { @@ -3501,9 +3780,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "Interrupt" - ] + "enum": ["Interrupt"] }, "fiberId": { "anyOf": [ @@ -3516,10 +3793,7 @@ ] } }, - "required": [ - "_tag", - "fiberId" - ], + "required": ["_tag", "fiberId"], "additionalProperties": false } ] @@ -3570,9 +3844,7 @@ }, "/api/session/{sessionID}/interrupt": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.interrupt", "parameters": [ { @@ -3638,9 +3910,7 @@ }, "/api/session/{sessionID}/background": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.background", "parameters": [ { @@ -3706,9 +3976,7 @@ }, "/api/session/{sessionID}/message/{messageID}": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.message", "parameters": [ { @@ -3751,9 +4019,7 @@ "$ref": "#/components/schemas/Session.Message.Info" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -3803,9 +4069,7 @@ }, "/api/session/{sessionID}/message": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.message.list", "parameters": [ { @@ -3844,10 +4108,7 @@ "anyOf": [ { "type": "string", - "enum": [ - "asc", - "desc" - ] + "enum": ["asc", "desc"] }, { "type": "null" @@ -3940,9 +4201,7 @@ }, "/api/model": { "get": { - "tags": [ - "model" - ], + "tags": ["model"], "operationId": "v2.model.list", "parameters": [ { @@ -4005,10 +4264,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -4051,9 +4307,7 @@ }, "/api/model/default": { "get": { - "tags": [ - "model" - ], + "tags": ["model"], "operationId": "v2.model.default", "parameters": [ { @@ -4120,10 +4374,7 @@ ] } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -4166,9 +4417,7 @@ }, "/api/generate": { "post": { - "tags": [ - "generate" - ], + "tags": ["generate"], "operationId": "v2.generate.text", "parameters": [ { @@ -4284,9 +4533,7 @@ ] } }, - "required": [ - "prompt" - ], + "required": ["prompt"], "additionalProperties": false } } @@ -4297,9 +4544,7 @@ }, "/api/provider": { "get": { - "tags": [ - "provider" - ], + "tags": ["provider"], "operationId": "v2.provider.list", "parameters": [ { @@ -4362,10 +4607,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -4408,9 +4650,7 @@ }, "/api/provider/{providerID}": { "get": { - "tags": [ - "provider" - ], + "tags": ["provider"], "operationId": "v2.provider.get", "parameters": [ { @@ -4478,10 +4718,7 @@ "$ref": "#/components/schemas/Provider.Info" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -4534,9 +4771,7 @@ }, "/api/integration": { "get": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.list", "parameters": [ { @@ -4599,10 +4834,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -4635,9 +4867,7 @@ }, "/api/integration/{integrationID}": { "get": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.get", "parameters": [ { @@ -4712,10 +4942,7 @@ ] } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -4748,9 +4975,7 @@ }, "/api/experimental/integration/wellknown": { "post": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.experimental.integration.wellknown.add", "parameters": [ { @@ -4839,9 +5064,7 @@ "type": "string" } }, - "required": [ - "url" - ], + "required": ["url"], "additionalProperties": false } } @@ -4852,9 +5075,7 @@ }, "/api/integration/{integrationID}/connect/key": { "post": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.connect.key", "parameters": [ { @@ -4961,9 +5182,7 @@ ] } }, - "required": [ - "key" - ], + "required": ["key"], "additionalProperties": false } } @@ -4974,9 +5193,7 @@ }, "/api/integration/{integrationID}/connect/oauth": { "post": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.oauth.connect", "parameters": [ { @@ -5044,10 +5261,7 @@ "$ref": "#/components/schemas/Integration.Attempt" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -5109,10 +5323,7 @@ ] } }, - "required": [ - "methodID", - "inputs" - ], + "required": ["methodID", "inputs"], "additionalProperties": false } } @@ -5123,9 +5334,7 @@ }, "/api/integration/{integrationID}/connect/oauth/{attemptID}": { "get": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.oauth.status", "parameters": [ { @@ -5201,10 +5410,7 @@ "$ref": "#/components/schemas/Integration.AttemptStatus" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -5235,9 +5441,7 @@ "summary": "Get OAuth attempt status" }, "delete": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.oauth.cancel", "parameters": [ { @@ -5329,9 +5533,7 @@ }, "/api/integration/{integrationID}/connect/oauth/{attemptID}/complete": { "post": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.oauth.complete", "parameters": [ { @@ -5453,9 +5655,7 @@ }, "/api/integration/{integrationID}/connect/command": { "post": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.command.connect", "parameters": [ { @@ -5523,10 +5723,7 @@ "$ref": "#/components/schemas/Integration.CommandAttempt" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -5582,9 +5779,7 @@ ] } }, - "required": [ - "methodID" - ], + "required": ["methodID"], "additionalProperties": false } } @@ -5595,9 +5790,7 @@ }, "/api/integration/{integrationID}/connect/command/{attemptID}": { "get": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.command.status", "parameters": [ { @@ -5673,10 +5866,7 @@ "$ref": "#/components/schemas/Integration.CommandAttemptStatus" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -5707,9 +5897,7 @@ "summary": "Get command attempt status" }, "delete": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.command.cancel", "parameters": [ { @@ -5801,9 +5989,7 @@ }, "/api/mcp": { "get": { - "tags": [ - "mcp" - ], + "tags": ["mcp"], "operationId": "v2.mcp.list", "parameters": [ { @@ -5866,10 +6052,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -5902,9 +6085,7 @@ }, "/api/mcp/{server}": { "put": { - "tags": [ - "mcp" - ], + "tags": ["mcp"], "operationId": "v2.mcp.add", "parameters": [ { @@ -6001,9 +6182,7 @@ ] } }, - "required": [ - "config" - ], + "required": ["config"], "additionalProperties": false } } @@ -6012,9 +6191,7 @@ } }, "delete": { - "tags": [ - "mcp" - ], + "tags": ["mcp"], "operationId": "v2.mcp.remove", "parameters": [ { @@ -6108,9 +6285,7 @@ }, "/api/mcp/{server}/connect": { "post": { - "tags": [ - "mcp" - ], + "tags": ["mcp"], "operationId": "v2.mcp.connect", "parameters": [ { @@ -6204,9 +6379,7 @@ }, "/api/mcp/{server}/disconnect": { "post": { - "tags": [ - "mcp" - ], + "tags": ["mcp"], "operationId": "v2.mcp.disconnect", "parameters": [ { @@ -6300,9 +6473,7 @@ }, "/api/mcp/resource": { "get": { - "tags": [ - "mcp" - ], + "tags": ["mcp"], "operationId": "v2.mcp.resource.catalog", "parameters": [ { @@ -6362,10 +6533,7 @@ "$ref": "#/components/schemas/Mcp.ResourceCatalog" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -6398,9 +6566,7 @@ }, "/api/credential/{credentialID}": { "patch": { - "tags": [ - "credential" - ], + "tags": ["credential"], "operationId": "v2.credential.update", "parameters": [ { @@ -6490,9 +6656,7 @@ "type": "string" } }, - "required": [ - "label" - ], + "required": ["label"], "additionalProperties": false } } @@ -6501,9 +6665,7 @@ } }, "delete": { - "tags": [ - "credential" - ], + "tags": ["credential"], "operationId": "v2.credential.remove", "parameters": [ { @@ -6587,9 +6749,7 @@ }, "/api/project": { "get": { - "tags": [ - "project" - ], + "tags": ["project"], "operationId": "v2.project.list", "parameters": [], "security": [], @@ -6634,9 +6794,7 @@ }, "/api/project/current": { "get": { - "tags": [ - "project" - ], + "tags": ["project"], "operationId": "v2.project.current", "parameters": [ { @@ -6719,9 +6877,7 @@ }, "/api/project/{projectID}/directories": { "get": { - "tags": [ - "project" - ], + "tags": ["project"], "operationId": "v2.project.directories", "parameters": [ { @@ -6812,9 +6968,7 @@ }, "/api/form/request": { "get": { - "tags": [ - "form" - ], + "tags": ["form"], "operationId": "v2.form.request.list", "parameters": [ { @@ -6877,10 +7031,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -6913,9 +7064,7 @@ }, "/api/session/{sessionID}/form": { "get": { - "tags": [ - "form" - ], + "tags": ["form"], "operationId": "v2.session.form.list", "parameters": [ { @@ -6943,9 +7092,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -6993,9 +7140,7 @@ "summary": "List session forms" }, "post": { - "tags": [ - "form" - ], + "tags": ["form"], "operationId": "v2.session.form.create", "parameters": [ { @@ -7020,9 +7165,7 @@ "$ref": "#/components/schemas/Form.Info" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -7099,9 +7242,7 @@ }, "/api/session/{sessionID}/form/{formID}": { "get": { - "tags": [ - "form" - ], + "tags": ["form"], "operationId": "v2.session.form.get", "parameters": [ { @@ -7139,9 +7280,7 @@ "$ref": "#/components/schemas/Form.Info" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -7194,9 +7333,7 @@ }, "/api/session/{sessionID}/form/{formID}/state": { "get": { - "tags": [ - "form" - ], + "tags": ["form"], "operationId": "v2.session.form.state", "parameters": [ { @@ -7234,9 +7371,7 @@ "$ref": "#/components/schemas/Form.State" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -7289,9 +7424,7 @@ }, "/api/session/{sessionID}/form/{formID}/reply": { "post": { - "tags": [ - "form" - ], + "tags": ["form"], "operationId": "v2.session.form.reply", "parameters": [ { @@ -7395,9 +7528,7 @@ }, "/api/session/{sessionID}/form/{formID}/cancel": { "post": { - "tags": [ - "form" - ], + "tags": ["form"], "operationId": "v2.session.form.cancel", "parameters": [ { @@ -7484,9 +7615,7 @@ }, "/api/permission/request": { "get": { - "tags": [ - "permission" - ], + "tags": ["permission"], "operationId": "v2.permission.request.list", "parameters": [ { @@ -7549,10 +7678,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -7585,9 +7711,7 @@ }, "/api/permission/saved": { "get": { - "tags": [ - "permission" - ], + "tags": ["permission"], "operationId": "v2.permission.saved.list", "parameters": [ { @@ -7622,9 +7746,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -7657,9 +7779,7 @@ }, "/api/permission/saved/{id}": { "delete": { - "tags": [ - "permission" - ], + "tags": ["permission"], "operationId": "v2.permission.saved.remove", "parameters": [ { @@ -7703,9 +7823,7 @@ }, "/api/session/{sessionID}/permission": { "post": { - "tags": [ - "permission" - ], + "tags": ["permission"], "operationId": "v2.session.permission.create", "parameters": [ { @@ -7746,16 +7864,11 @@ "$ref": "#/components/schemas/Permission.Effect" } }, - "required": [ - "id", - "effect" - ], + "required": ["id", "effect"], "additionalProperties": false } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -7854,10 +7967,7 @@ ] } }, - "required": [ - "action", - "resources" - ], + "required": ["action", "resources"], "additionalProperties": false } } @@ -7866,9 +7976,7 @@ } }, "get": { - "tags": [ - "permission" - ], + "tags": ["permission"], "operationId": "v2.session.permission.list", "parameters": [ { @@ -7901,9 +8009,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -7953,9 +8059,7 @@ }, "/api/session/{sessionID}/permission/{requestID}": { "get": { - "tags": [ - "permission" - ], + "tags": ["permission"], "operationId": "v2.session.permission.get", "parameters": [ { @@ -7998,9 +8102,7 @@ "$ref": "#/components/schemas/Permission.Request" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -8053,9 +8155,7 @@ }, "/api/session/{sessionID}/permission/{requestID}/reply": { "post": { - "tags": [ - "permission" - ], + "tags": ["permission"], "operationId": "v2.session.permission.reply", "parameters": [ { @@ -8153,9 +8253,7 @@ ] } }, - "required": [ - "reply" - ], + "required": ["reply"], "additionalProperties": false } } @@ -8166,9 +8264,7 @@ }, "/api/fs/read/*": { "get": { - "tags": [ - "filesystem" - ], + "tags": ["filesystem"], "operationId": "v2.fs.read", "parameters": [ { @@ -8252,9 +8348,7 @@ }, "/api/fs/list": { "get": { - "tags": [ - "filesystem" - ], + "tags": ["filesystem"], "operationId": "v2.fs.list", "parameters": [ { @@ -8332,10 +8426,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -8368,9 +8459,7 @@ }, "/api/fs/find": { "get": { - "tags": [ - "filesystem" - ], + "tags": ["filesystem"], "operationId": "v2.fs.find", "parameters": [ { @@ -8426,10 +8515,7 @@ "in": "query", "schema": { "type": "string", - "enum": [ - "file", - "directory" - ] + "enum": ["file", "directory"] }, "required": false }, @@ -8468,10 +8554,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -8504,9 +8587,7 @@ }, "/api/command": { "get": { - "tags": [ - "command" - ], + "tags": ["command"], "operationId": "v2.command.list", "parameters": [ { @@ -8569,10 +8650,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -8605,9 +8683,7 @@ }, "/api/skill": { "get": { - "tags": [ - "skill" - ], + "tags": ["skill"], "operationId": "v2.skill.list", "parameters": [ { @@ -8670,10 +8746,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -8706,9 +8779,7 @@ }, "/api/event": { "get": { - "tags": [ - "event" - ], + "tags": ["event"], "operationId": "v2.event.subscribe", "parameters": [], "security": [], @@ -8737,11 +8808,7 @@ "$ref": "#/components/schemas/V2EventJsonString" } }, - "required": [ - "id", - "event", - "data" - ], + "required": ["id", "event", "data"], "additionalProperties": false }, "x-effect-stream": { @@ -8755,18 +8822,13 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "Fail" - ] + "enum": ["Fail"] }, "error": { "not": {} } }, - "required": [ - "_tag", - "error" - ], + "required": ["_tag", "error"], "additionalProperties": false }, { @@ -8774,16 +8836,11 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "Die" - ] + "enum": ["Die"] }, "defect": {} }, - "required": [ - "_tag", - "defect" - ], + "required": ["_tag", "defect"], "additionalProperties": false }, { @@ -8791,9 +8848,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "Interrupt" - ] + "enum": ["Interrupt"] }, "fiberId": { "anyOf": [ @@ -8806,10 +8861,7 @@ ] } }, - "required": [ - "_tag", - "fiberId" - ], + "required": ["_tag", "fiberId"], "additionalProperties": false } ] @@ -8850,9 +8902,7 @@ }, "/api/pty": { "get": { - "tags": [ - "pty" - ], + "tags": ["pty"], "operationId": "v2.pty.list", "parameters": [ { @@ -8915,10 +8965,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -8949,9 +8996,7 @@ "summary": "List PTY sessions" }, "post": { - "tags": [ - "pty" - ], + "tags": ["pty"], "operationId": "v2.pty.create", "parameters": [ { @@ -9011,10 +9056,7 @@ "$ref": "#/components/schemas/Pty" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -9081,9 +9123,7 @@ }, "/api/pty/{ptyID}": { "get": { - "tags": [ - "pty" - ], + "tags": ["pty"], "operationId": "v2.pty.get", "parameters": [ { @@ -9156,10 +9196,7 @@ "$ref": "#/components/schemas/Pty" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -9200,9 +9237,7 @@ "summary": "Get PTY session" }, "put": { - "tags": [ - "pty" - ], + "tags": ["pty"], "operationId": "v2.pty.update", "parameters": [ { @@ -9275,10 +9310,7 @@ "$ref": "#/components/schemas/Pty" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -9346,10 +9378,7 @@ ] } }, - "required": [ - "rows", - "cols" - ], + "required": ["rows", "cols"], "additionalProperties": false } }, @@ -9361,9 +9390,7 @@ } }, "delete": { - "tags": [ - "pty" - ], + "tags": ["pty"], "operationId": "v2.pty.remove", "parameters": [ { @@ -9462,9 +9489,7 @@ }, "/api/pty/{ptyID}/connect-token": { "post": { - "tags": [ - "pty" - ], + "tags": ["pty"], "operationId": "v2.pty.connect.token", "parameters": [ { @@ -9537,10 +9562,7 @@ "$ref": "#/components/schemas/PtyTicket.ConnectToken" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -9593,9 +9615,7 @@ }, "/api/pty/{ptyID}/connect": { "get": { - "tags": [ - "pty" - ], + "tags": ["pty"], "operationId": "v2.pty.connect", "parameters": [ { @@ -9700,9 +9720,7 @@ }, "/api/shell": { "get": { - "tags": [ - "shell" - ], + "tags": ["shell"], "operationId": "v2.shell.list", "parameters": [ { @@ -9765,10 +9783,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -9799,9 +9814,7 @@ "summary": "List running shell commands" }, "post": { - "tags": [ - "shell" - ], + "tags": ["shell"], "operationId": "v2.shell.create", "parameters": [ { @@ -9861,10 +9874,7 @@ "$ref": "#/components/schemas/Shell.Info1" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -9917,10 +9927,7 @@ "type": "object" } }, - "required": [ - "command", - "timeout" - ], + "required": ["command", "timeout"], "additionalProperties": false } } @@ -9931,9 +9938,7 @@ }, "/api/shell/{id}": { "get": { - "tags": [ - "shell" - ], + "tags": ["shell"], "operationId": "v2.shell.get", "parameters": [ { @@ -10006,10 +10011,7 @@ "$ref": "#/components/schemas/Shell.Info1" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -10050,9 +10052,7 @@ "summary": "Get shell command" }, "delete": { - "tags": [ - "shell" - ], + "tags": ["shell"], "operationId": "v2.shell.remove", "parameters": [ { @@ -10151,9 +10151,7 @@ }, "/api/shell/{id}/timeout": { "patch": { - "tags": [ - "shell" - ], + "tags": ["shell"], "operationId": "v2.shell.timeout", "parameters": [ { @@ -10226,10 +10224,7 @@ "$ref": "#/components/schemas/Shell.Info1" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -10283,9 +10278,7 @@ ] } }, - "required": [ - "timeout" - ], + "required": ["timeout"], "additionalProperties": false } } @@ -10296,9 +10289,7 @@ }, "/api/shell/{id}/output": { "get": { - "tags": [ - "shell" - ], + "tags": ["shell"], "operationId": "v2.shell.output", "parameters": [ { @@ -10419,19 +10410,11 @@ "type": "boolean" } }, - "required": [ - "output", - "cursor", - "size", - "truncated" - ], + "required": ["output", "cursor", "size", "truncated"], "additionalProperties": false } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -10474,9 +10457,7 @@ }, "/api/question/request": { "get": { - "tags": [ - "question" - ], + "tags": ["question"], "operationId": "v2.question.request.list", "parameters": [ { @@ -10539,10 +10520,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -10575,9 +10553,7 @@ }, "/api/session/{sessionID}/question": { "get": { - "tags": [ - "question" - ], + "tags": ["question"], "operationId": "v2.session.question.list", "parameters": [ { @@ -10610,9 +10586,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -10662,9 +10636,7 @@ }, "/api/session/{sessionID}/question/{requestID}/reply": { "post": { - "tags": [ - "question" - ], + "tags": ["question"], "operationId": "v2.session.question.reply", "parameters": [ { @@ -10756,9 +10728,7 @@ }, "/api/session/{sessionID}/question/{requestID}/reject": { "post": { - "tags": [ - "question" - ], + "tags": ["question"], "operationId": "v2.session.question.reject", "parameters": [ { @@ -10840,9 +10810,7 @@ }, "/api/reference": { "get": { - "tags": [ - "reference" - ], + "tags": ["reference"], "operationId": "v2.reference.list", "parameters": [ { @@ -10905,10 +10873,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -10941,9 +10906,7 @@ }, "/experimental/project/{projectID}/copy": { "post": { - "tags": [ - "projectCopy" - ], + "tags": ["projectCopy"], "operationId": "v2.projectCopy.create", "parameters": [ { @@ -11051,10 +11014,7 @@ "type": "string" } }, - "required": [ - "strategy", - "directory" - ], + "required": ["strategy", "directory"], "additionalProperties": false } } @@ -11063,9 +11023,7 @@ } }, "delete": { - "tags": [ - "projectCopy" - ], + "tags": ["projectCopy"], "operationId": "v2.projectCopy.remove", "parameters": [ { @@ -11163,10 +11121,7 @@ "type": "boolean" } }, - "required": [ - "directory", - "force" - ], + "required": ["directory", "force"], "additionalProperties": false } } @@ -11177,9 +11132,7 @@ }, "/experimental/project/{projectID}/copy/refresh": { "post": { - "tags": [ - "projectCopy" - ], + "tags": ["projectCopy"], "operationId": "v2.projectCopy.refresh", "parameters": [ { @@ -11268,9 +11221,7 @@ }, "/api/vcs": { "get": { - "tags": [ - "vcs" - ], + "tags": ["vcs"], "operationId": "v2.vcs.get", "parameters": [ { @@ -11330,10 +11281,7 @@ "$ref": "#/components/schemas/Vcs.Info" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -11366,9 +11314,7 @@ }, "/api/vcs/status": { "get": { - "tags": [ - "vcs" - ], + "tags": ["vcs"], "operationId": "v2.vcs.status", "parameters": [ { @@ -11431,10 +11377,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -11467,9 +11410,7 @@ }, "/api/vcs/diff": { "get": { - "tags": [ - "vcs" - ], + "tags": ["vcs"], "operationId": "v2.vcs.diff", "parameters": [ { @@ -11555,10 +11496,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -11591,9 +11529,7 @@ }, "/api/debug/location": { "get": { - "tags": [ - "debug" - ], + "tags": ["debug"], "operationId": "v2.debug.location.list", "parameters": [], "security": [], @@ -11636,9 +11572,7 @@ "summary": "List loaded locations" }, "delete": { - "tags": [ - "debug" - ], + "tags": ["debug"], "operationId": "v2.debug.location.evict", "parameters": [ { @@ -11714,9 +11648,7 @@ }, "/api/experimental/migration/v1": { "get": { - "tags": [ - "migration" - ], + "tags": ["migration"], "operationId": "v2.experimental.migration.v1.status", "parameters": [], "security": [], @@ -11732,15 +11664,10 @@ "properties": { "status": { "type": "string", - "enum": [ - "required", - "completed" - ] + "enum": ["required", "completed"] } }, - "required": [ - "status" - ], + "required": ["status"], "additionalProperties": false }, { @@ -11748,9 +11675,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "running" - ] + "enum": ["running"] }, "progress": { "type": "object", @@ -11789,16 +11714,11 @@ ] } }, - "required": [ - "label" - ], + "required": ["label"], "additionalProperties": false } }, - "required": [ - "status", - "progress" - ], + "required": ["status", "progress"], "additionalProperties": false }, { @@ -11806,18 +11726,13 @@ "properties": { "status": { "type": "string", - "enum": [ - "error" - ] + "enum": ["error"] }, "error": { "type": "string" } }, - "required": [ - "status", - "error" - ], + "required": ["status", "error"], "additionalProperties": false } ] @@ -11852,9 +11767,7 @@ }, "/api/websearch/provider": { "get": { - "tags": [ - "websearch" - ], + "tags": ["websearch"], "operationId": "v2.websearch.providers", "parameters": [ { @@ -11917,10 +11830,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -11963,9 +11873,7 @@ }, "/api/websearch": { "post": { - "tags": [ - "websearch" - ], + "tags": ["websearch"], "operationId": "v2.websearch.query", "parameters": [ { @@ -12025,10 +11933,7 @@ "$ref": "#/components/schemas/WebSearch.Response" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -12087,9 +11992,7 @@ "type": "string" } }, - "required": [ - "query" - ], + "required": ["query"], "additionalProperties": false } } @@ -12100,9 +12003,7 @@ }, "/api/config": { "get": { - "tags": [ - "config" - ], + "tags": ["config"], "operationId": "v2.config.get", "parameters": [ { @@ -12194,9 +12095,7 @@ "properties": { "healthy": { "type": "boolean", - "enum": [ - true - ] + "enum": [true] }, "version": { "type": "string" @@ -12210,11 +12109,7 @@ ] } }, - "required": [ - "healthy", - "version", - "pid" - ], + "required": ["healthy", "version", "pid"], "additionalProperties": false }, "UnauthorizedError": { @@ -12222,18 +12117,13 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "UnauthorizedError" - ] + "enum": ["UnauthorizedError"] }, "message": { "type": "string" } }, - "required": [ - "_tag", - "message" - ], + "required": ["_tag", "message"], "additionalProperties": false }, "InvalidRequestError": { @@ -12241,9 +12131,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "InvalidRequestError" - ] + "enum": ["InvalidRequestError"] }, "message": { "type": "string" @@ -12269,10 +12157,7 @@ ] } }, - "required": [ - "_tag", - "message" - ], + "required": ["_tag", "message"], "additionalProperties": false }, "ServiceStopRequest": { @@ -12282,9 +12167,7 @@ "type": "string" } }, - "required": [ - "instanceID" - ], + "required": ["instanceID"], "additionalProperties": false }, "ServiceStopResponse": { @@ -12294,9 +12177,7 @@ "type": "boolean" } }, - "required": [ - "accepted" - ], + "required": ["accepted"], "additionalProperties": false }, "Location.Info": { @@ -12326,18 +12207,11 @@ "type": "string" } }, - "required": [ - "id", - "directory", - "canonical" - ], + "required": ["id", "directory", "canonical"], "additionalProperties": false } }, - "required": [ - "directory", - "project" - ], + "required": ["directory", "project"], "additionalProperties": false }, "Model.Ref": { @@ -12353,10 +12227,7 @@ "type": "string" } }, - "required": [ - "id", - "providerID" - ], + "required": ["id", "providerID"], "additionalProperties": false }, "Provider.Settings": { @@ -12378,11 +12249,7 @@ "type": "object" } }, - "required": [ - "settings", - "headers", - "body" - ], + "required": ["settings", "headers", "body"], "additionalProperties": false }, "Agent.Color": { @@ -12390,11 +12257,7 @@ }, "Permission.Effect": { "type": "string", - "enum": [ - "allow", - "deny", - "ask" - ] + "enum": ["allow", "deny", "ask"] }, "Permission.Rule": { "type": "object", @@ -12409,11 +12272,7 @@ "$ref": "#/components/schemas/Permission.Effect" } }, - "required": [ - "action", - "resource", - "effect" - ], + "required": ["action", "resource", "effect"], "additionalProperties": false }, "Permission.Ruleset": { @@ -12445,11 +12304,7 @@ }, "mode": { "type": "string", - "enum": [ - "subagent", - "primary", - "all" - ] + "enum": ["subagent", "primary", "all"] }, "hidden": { "type": "boolean" @@ -12469,14 +12324,7 @@ "$ref": "#/components/schemas/Permission.Ruleset" } }, - "required": [ - "id", - "name", - "request", - "mode", - "hidden", - "permissions" - ], + "required": ["id", "name", "request", "mode", "hidden", "permissions"], "additionalProperties": false }, "AgentNotFoundError": { @@ -12484,9 +12332,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "AgentNotFoundError" - ] + "enum": ["AgentNotFoundError"] }, "agentID": { "type": "string" @@ -12495,11 +12341,7 @@ "type": "string" } }, - "required": [ - "_tag", - "agentID", - "message" - ], + "required": ["_tag", "agentID", "message"], "additionalProperties": false }, "Plugin.Info": { @@ -12509,9 +12351,7 @@ "type": "string" } }, - "required": [ - "id" - ], + "required": ["id"], "additionalProperties": false }, "Session.ForkBoundary": { @@ -12521,9 +12361,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "before" - ] + "enum": ["before"] }, "messageID": { "type": "string", @@ -12534,10 +12372,7 @@ ] } }, - "required": [ - "type", - "messageID" - ], + "required": ["type", "messageID"], "additionalProperties": false }, { @@ -12545,9 +12380,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "through" - ] + "enum": ["through"] }, "messageID": { "type": "string", @@ -12558,10 +12391,7 @@ ] } }, - "required": [ - "type", - "messageID" - ], + "required": ["type", "messageID"], "additionalProperties": false } ] @@ -12591,19 +12421,11 @@ "type": "number" } }, - "required": [ - "read", - "write" - ], + "required": ["read", "write"], "additionalProperties": false } }, - "required": [ - "input", - "output", - "reasoning", - "cache" - ], + "required": ["input", "output", "reasoning", "cache"], "additionalProperties": false }, "Location.Ref": { @@ -12621,9 +12443,7 @@ ] } }, - "required": [ - "directory" - ], + "required": ["directory"], "additionalProperties": false }, "FileDiff.Info": { @@ -12653,20 +12473,10 @@ }, "status": { "type": "string", - "enum": [ - "added", - "deleted", - "modified" - ] + "enum": ["added", "deleted", "modified"] } }, - "required": [ - "file", - "patch", - "additions", - "deletions", - "status" - ], + "required": ["file", "patch", "additions", "deletions", "status"], "additionalProperties": false }, "Session.Revert": { @@ -12693,9 +12503,7 @@ } } }, - "required": [ - "messageID" - ], + "required": ["messageID"], "additionalProperties": false }, "Session.Info": { @@ -12732,10 +12540,7 @@ "$ref": "#/components/schemas/Session.ForkBoundary" } }, - "required": [ - "sessionID", - "boundary" - ], + "required": ["sessionID", "boundary"], "additionalProperties": false }, "projectID": { @@ -12766,10 +12571,7 @@ "type": "number" } }, - "required": [ - "created", - "updated" - ], + "required": ["created", "updated"], "additionalProperties": false }, "title": { @@ -12785,14 +12587,7 @@ "$ref": "#/components/schemas/Session.Revert" } }, - "required": [ - "id", - "projectID", - "cost", - "tokens", - "time", - "location" - ], + "required": ["id", "projectID", "cost", "tokens", "time", "location"], "additionalProperties": false }, "SessionsResponse": { @@ -12831,10 +12626,7 @@ "additionalProperties": false } }, - "required": [ - "data", - "cursor" - ], + "required": ["data", "cursor"], "additionalProperties": false }, "InvalidCursorError": { @@ -12842,18 +12634,13 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "InvalidCursorError" - ] + "enum": ["InvalidCursorError"] }, "message": { "type": "string" } }, - "required": [ - "_tag", - "message" - ], + "required": ["_tag", "message"], "additionalProperties": false }, "InvalidRequestError1": { @@ -12861,9 +12648,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "InvalidRequestError" - ] + "enum": ["InvalidRequestError"] }, "message": { "type": "string" @@ -12889,608 +12674,7 @@ ] } }, - "required": [ - "_tag", - "message" - ], - "additionalProperties": false - }, - "SessionActive": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "running" - ] - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "SessionNotFoundError": { - "type": "object", - "properties": { - "_tag": { - "type": "string", - "enum": [ - "SessionNotFoundError" - ] - }, - "sessionID": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": [ - "_tag", - "sessionID", - "message" - ], - "additionalProperties": false - }, - "Session.ForkRequestBoundary": { - "anyOf": [ - { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "before" - ] - }, - "messageID": { - "type": "string", - "allOf": [ - { - "pattern": "^msg_" - } - ] - } - }, - "required": [ - "type", - "messageID" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "through" - ] - } - }, - "required": [ - "type" - ], - "additionalProperties": false - } - ] - }, - "MessageNotFoundError": { - "type": "object", - "properties": { - "_tag": { - "type": "string", - "enum": [ - "MessageNotFoundError" - ] - }, - "sessionID": { - "type": "string" - }, - "messageID": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": [ - "_tag", - "sessionID", - "messageID", - "message" - ], - "additionalProperties": false - }, - "Prompt.Mention": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - }, - "text": { - "type": "string" - } - }, - "required": [ - "start", - "end", - "text" - ], - "additionalProperties": false - }, - "PromptInput.FileAttachment": { - "type": "object", - "properties": { - "uri": { - "type": "string" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "mention": { - "$ref": "#/components/schemas/Prompt.Mention" - } - }, - "required": [ - "uri" - ], - "additionalProperties": false - }, - "Prompt.AgentAttachment": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "mention": { - "$ref": "#/components/schemas/Prompt.Mention" - } - }, - "required": [ - "name" - ], - "additionalProperties": false - }, - "Prompt.Base64": { - "type": "string", - "allOf": [ - { - "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$" - } - ] - }, - "Prompt.FileSource": { - "anyOf": [ - { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "inline" - ] - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "uri" - ] - }, - "uri": { - "type": "string" - } - }, - "required": [ - "type", - "uri" - ], - "additionalProperties": false - } - ] - }, - "Prompt.FileAttachment": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/Prompt.Base64" - }, - "mime": { - "type": "string" - }, - "source": { - "$ref": "#/components/schemas/Prompt.FileSource" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "mention": { - "$ref": "#/components/schemas/Prompt.Mention" - } - }, - "required": [ - "data", - "mime", - "source" - ], - "additionalProperties": false - }, - "SessionPending.UserData": { - "type": "object", - "properties": { - "text": { - "type": "string" - }, - "files": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Prompt.FileAttachment" - } - }, - "agents": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Prompt.AgentAttachment" - } - }, - "metadata": { - "type": "object" - } - }, - "required": [ - "text" - ], - "additionalProperties": false - }, - "SessionPending.User": { - "type": "object", - "properties": { - "id": { - "type": "string", - "allOf": [ - { - "pattern": "^msg_" - } - ] - }, - "sessionID": { - "type": "string", - "allOf": [ - { - "pattern": "^ses" - } - ] - }, - "timeCreated": { - "type": "number" - }, - "type": { - "type": "string", - "enum": [ - "user" - ] - }, - "data": { - "$ref": "#/components/schemas/SessionPending.UserData" - }, - "delivery": { - "type": "string", - "enum": [ - "steer", - "queue" - ] - } - }, - "required": [ - "id", - "sessionID", - "timeCreated", - "type", - "data", - "delivery" - ], - "additionalProperties": false - }, - "ConflictError": { - "type": "object", - "properties": { - "_tag": { - "type": "string", - "enum": [ - "ConflictError" - ] - }, - "message": { - "type": "string" - }, - "resource": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "_tag", - "message" - ], - "additionalProperties": false - }, - "CommandNotFoundError": { - "type": "object", - "properties": { - "_tag": { - "type": "string", - "enum": [ - "CommandNotFoundError" - ] - }, - "command": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": [ - "_tag", - "command", - "message" - ], - "additionalProperties": false - }, - "CommandEvaluationError": { - "type": "object", - "properties": { - "_tag": { - "type": "string", - "enum": [ - "CommandEvaluationError" - ] - }, - "command": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": [ - "_tag", - "command", - "message" - ], - "additionalProperties": false - }, - "SkillNotFoundError": { - "type": "object", - "properties": { - "_tag": { - "type": "string", - "enum": [ - "SkillNotFoundError" - ] - }, - "skill": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": [ - "_tag", - "skill", - "message" - ], - "additionalProperties": false - }, - "SessionPending.SyntheticData": { - "type": "object", - "properties": { - "text": { - "type": "string" - }, - "description": { - "type": "string" - }, - "metadata": { - "type": "object" - } - }, - "required": [ - "text" - ], - "additionalProperties": false - }, - "SessionPending.Synthetic": { - "type": "object", - "properties": { - "id": { - "type": "string", - "allOf": [ - { - "pattern": "^msg_" - } - ] - }, - "sessionID": { - "type": "string", - "allOf": [ - { - "pattern": "^ses" - } - ] - }, - "timeCreated": { - "type": "number" - }, - "type": { - "type": "string", - "enum": [ - "synthetic" - ] - }, - "data": { - "$ref": "#/components/schemas/SessionPending.SyntheticData" - }, - "delivery": { - "type": "string", - "enum": [ - "steer", - "queue" - ] - } - }, - "required": [ - "id", - "sessionID", - "timeCreated", - "type", - "data", - "delivery" - ], - "additionalProperties": false - }, - "SessionPending.Compaction": { - "type": "object", - "properties": { - "id": { - "type": "string", - "allOf": [ - { - "pattern": "^msg_" - } - ] - }, - "sessionID": { - "type": "string", - "allOf": [ - { - "pattern": "^ses" - } - ] - }, - "timeCreated": { - "type": "number" - }, - "type": { - "type": "string", - "enum": [ - "compaction" - ] - } - }, - "required": [ - "id", - "sessionID", - "timeCreated", - "type" - ], - "additionalProperties": false - }, - "ServiceUnavailableError": { - "type": "object", - "properties": { - "_tag": { - "type": "string", - "enum": [ - "ServiceUnavailableError" - ] - }, - "message": { - "type": "string" - }, - "service": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "_tag", - "message" - ], - "additionalProperties": false - }, - "SessionBusyError": { - "type": "object", - "properties": { - "_tag": { - "type": "string", - "enum": [ - "SessionBusyError" - ] - }, - "sessionID": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": [ - "_tag", - "sessionID", - "message" - ], - "additionalProperties": false - }, - "UnknownError": { - "type": "object", - "properties": { - "_tag": { - "type": "string", - "enum": [ - "UnknownError" - ] - }, - "message": { - "type": "string" - }, - "ref": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "_tag", - "message" - ], + "required": ["_tag", "message"], "additionalProperties": false }, "Session.Message.AgentSelected": { @@ -13514,27 +12698,18 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "type": { "type": "string", - "enum": [ - "agent-switched" - ] + "enum": ["agent-switched"] }, "agent": { "type": "string" } }, - "required": [ - "id", - "time", - "type", - "agent" - ], + "required": ["id", "time", "type", "agent"], "additionalProperties": false }, "Session.Message.ModelSelected": { @@ -13558,16 +12733,12 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "type": { "type": "string", - "enum": [ - "model-switched" - ] + "enum": ["model-switched"] }, "model": { "$ref": "#/components/schemas/Model.Ref" @@ -13576,12 +12747,98 @@ "$ref": "#/components/schemas/Model.Ref" } }, - "required": [ - "id", - "time", - "type", - "model" - ], + "required": ["id", "time", "type", "model"], + "additionalProperties": false + }, + "Prompt.Base64": { + "type": "string", + "allOf": [ + { + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$" + } + ] + }, + "Prompt.FileSource": { + "anyOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["inline"] + } + }, + "required": ["type"], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["uri"] + }, + "uri": { + "type": "string" + } + }, + "required": ["type", "uri"], + "additionalProperties": false + } + ] + }, + "Prompt.Mention": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + }, + "text": { + "type": "string" + } + }, + "required": ["start", "end", "text"], + "additionalProperties": false + }, + "Prompt.FileAttachment": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/Prompt.Base64" + }, + "mime": { + "type": "string" + }, + "source": { + "$ref": "#/components/schemas/Prompt.FileSource" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "mention": { + "$ref": "#/components/schemas/Prompt.Mention" + } + }, + "required": ["data", "mime", "source"], + "additionalProperties": false + }, + "Prompt.AgentAttachment": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "mention": { + "$ref": "#/components/schemas/Prompt.Mention" + } + }, + "required": ["name"], "additionalProperties": false }, "Session.Message.User": { @@ -13605,9 +12862,7 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "text": { @@ -13627,17 +12882,10 @@ }, "type": { "type": "string", - "enum": [ - "user" - ] + "enum": ["user"] } }, - "required": [ - "id", - "time", - "text", - "type" - ], + "required": ["id", "time", "text", "type"], "additionalProperties": false }, "Session.Message.Synthetic": { @@ -13661,9 +12909,7 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "text": { @@ -13674,17 +12920,10 @@ }, "type": { "type": "string", - "enum": [ - "synthetic" - ] + "enum": ["synthetic"] } }, - "required": [ - "id", - "time", - "text", - "type" - ], + "required": ["id", "time", "text", "type"], "additionalProperties": false }, "Session.Message.System": { @@ -13708,27 +12947,18 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "type": { "type": "string", - "enum": [ - "system" - ] + "enum": ["system"] }, "text": { "type": "string" } }, - "required": [ - "id", - "time", - "type", - "text" - ], + "required": ["id", "time", "type", "text"], "additionalProperties": false }, "Session.Message.Skill": { @@ -13752,16 +12982,12 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "type": { "type": "string", - "enum": [ - "skill" - ] + "enum": ["skill"] }, "skill": { "type": "string" @@ -13773,14 +12999,7 @@ "type": "string" } }, - "required": [ - "id", - "time", - "type", - "skill", - "name", - "text" - ], + "required": ["id", "time", "type", "skill", "name", "text"], "additionalProperties": false }, "Session.Message.Shell": { @@ -13807,16 +13026,12 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "type": { "type": "string", - "enum": [ - "shell" - ] + "enum": ["shell"] }, "shellID": { "type": "string", @@ -13831,12 +13046,7 @@ }, "status": { "type": "string", - "enum": [ - "running", - "exited", - "timeout", - "killed" - ] + "enum": ["running", "exited", "timeout", "killed"] }, "exit": { "anyOf": [ @@ -13847,31 +13057,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -13901,23 +13101,11 @@ "type": "boolean" } }, - "required": [ - "output", - "cursor", - "size", - "truncated" - ], + "required": ["output", "cursor", "size", "truncated"], "additionalProperties": false } }, - "required": [ - "id", - "time", - "type", - "shellID", - "command", - "status" - ], + "required": ["id", "time", "type", "shellID", "command", "status"], "additionalProperties": false }, "Session.Message.ProviderState": { @@ -13928,9 +13116,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "text" - ] + "enum": ["text"] }, "text": { "type": "string" @@ -13939,10 +13125,7 @@ "$ref": "#/components/schemas/Session.Message.ProviderState" } }, - "required": [ - "type", - "text" - ], + "required": ["type", "text"], "additionalProperties": false }, "Session.Message.Assistant.Reasoning": { @@ -13950,9 +13133,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "reasoning" - ] + "enum": ["reasoning"] }, "text": { "type": "string" @@ -13970,16 +13151,11 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false } }, - "required": [ - "type", - "text" - ], + "required": ["type", "text"], "additionalProperties": false }, "Session.Message.ToolState.Streaming": { @@ -13987,18 +13163,13 @@ "properties": { "status": { "type": "string", - "enum": [ - "streaming" - ] + "enum": ["streaming"] }, "input": { "type": "string" } }, - "required": [ - "status", - "input" - ], + "required": ["status", "input"], "additionalProperties": false }, "Session.Message.ToolState.Running": { @@ -14006,9 +13177,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "running" - ] + "enum": ["running"] }, "input": { "type": "object" @@ -14017,11 +13186,7 @@ "type": "object" } }, - "required": [ - "status", - "input", - "metadata" - ], + "required": ["status", "input", "metadata"], "additionalProperties": false }, "Tool.TextContent": { @@ -14029,18 +13194,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "text" - ] + "enum": ["text"] }, "text": { "type": "string" } }, - "required": [ - "type", - "text" - ], + "required": ["type", "text"], "additionalProperties": false }, "Tool.FileContent": { @@ -14048,9 +13208,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "file" - ] + "enum": ["file"] }, "uri": { "type": "string" @@ -14069,11 +13227,7 @@ ] } }, - "required": [ - "type", - "uri", - "mime" - ], + "required": ["type", "uri", "mime"], "additionalProperties": false }, "Tool.Content": { @@ -14091,9 +13245,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "completed" - ] + "enum": ["completed"] }, "input": { "type": "object" @@ -14114,11 +13266,7 @@ "type": "object" } }, - "required": [ - "status", - "input", - "content" - ], + "required": ["status", "input", "content"], "additionalProperties": false }, "Session.StructuredError": { @@ -14140,10 +13288,7 @@ ] } }, - "required": [ - "type", - "message" - ], + "required": ["type", "message"], "additionalProperties": false }, "Session.Message.ToolState.Error": { @@ -14151,9 +13296,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "error" - ] + "enum": ["error"] }, "input": { "type": "object" @@ -14177,11 +13320,7 @@ "type": "object" } }, - "required": [ - "status", - "input", - "error" - ], + "required": ["status", "input", "error"], "additionalProperties": false }, "Session.Message.Assistant.Tool": { @@ -14189,9 +13328,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "tool" - ] + "enum": ["tool"] }, "id": { "type": "string" @@ -14237,19 +13374,11 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false } }, - "required": [ - "type", - "id", - "name", - "state", - "time" - ], + "required": ["type", "id", "name", "state", "time"], "additionalProperties": false }, "Session.Message.Assistant.Retry": { @@ -14270,11 +13399,7 @@ "$ref": "#/components/schemas/Session.StructuredError" } }, - "required": [ - "attempt", - "at", - "error" - ], + "required": ["attempt", "at", "error"], "additionalProperties": false }, "Session.Message.Assistant": { @@ -14301,16 +13426,12 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "type": { "type": "string", - "enum": [ - "assistant" - ] + "enum": ["assistant"] }, "agent": { "type": "string" @@ -14354,14 +13475,7 @@ }, "finish": { "type": "string", - "enum": [ - "stop", - "length", - "tool-calls", - "content-filter", - "error", - "unknown" - ] + "enum": ["stop", "length", "tool-calls", "content-filter", "error", "unknown"] }, "cost": { "$ref": "#/components/schemas/Money.USD" @@ -14376,14 +13490,7 @@ "$ref": "#/components/schemas/Session.Message.Assistant.Retry" } }, - "required": [ - "id", - "time", - "type", - "agent", - "model", - "content" - ], + "required": ["id", "time", "type", "agent", "model", "content"], "additionalProperties": false }, "Session.Message.Compaction.Running": { @@ -14391,9 +13498,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "compaction" - ] + "enum": ["compaction"] }, "id": { "type": "string", @@ -14413,23 +13518,16 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "status": { "type": "string", - "enum": [ - "running" - ] + "enum": ["running"] }, "reason": { "type": "string", - "enum": [ - "auto", - "manual" - ] + "enum": ["auto", "manual"] }, "summary": { "type": "string" @@ -14438,15 +13536,7 @@ "type": "string" } }, - "required": [ - "type", - "id", - "time", - "status", - "reason", - "summary", - "recent" - ], + "required": ["type", "id", "time", "status", "reason", "summary", "recent"], "additionalProperties": false }, "Session.Message.Compaction.Completed": { @@ -14454,9 +13544,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "compaction" - ] + "enum": ["compaction"] }, "id": { "type": "string", @@ -14476,23 +13564,16 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "status": { "type": "string", - "enum": [ - "completed" - ] + "enum": ["completed"] }, "reason": { "type": "string", - "enum": [ - "auto", - "manual" - ] + "enum": ["auto", "manual"] }, "summary": { "type": "string" @@ -14501,15 +13582,7 @@ "type": "string" } }, - "required": [ - "type", - "id", - "time", - "status", - "reason", - "summary", - "recent" - ], + "required": ["type", "id", "time", "status", "reason", "summary", "recent"], "additionalProperties": false }, "Session.Message.Compaction.Failed": { @@ -14517,9 +13590,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "compaction" - ] + "enum": ["compaction"] }, "id": { "type": "string", @@ -14539,36 +13610,22 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "status": { "type": "string", - "enum": [ - "failed" - ] + "enum": ["failed"] }, "reason": { "type": "string", - "enum": [ - "auto", - "manual" - ] + "enum": ["auto", "manual"] }, "error": { "$ref": "#/components/schemas/Session.StructuredError" } }, - "required": [ - "type", - "id", - "time", - "status", - "reason", - "error" - ], + "required": ["type", "id", "time", "status", "reason", "error"], "additionalProperties": false }, "Session.Message.Compaction": { @@ -14615,6 +13672,408 @@ } ] }, + "ConflictError": { + "type": "object", + "properties": { + "_tag": { + "type": "string", + "enum": ["ConflictError"] + }, + "message": { + "type": "string" + }, + "resource": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "required": ["_tag", "message"], + "additionalProperties": false + }, + "SessionTransfer.Data": { + "type": "object", + "properties": { + "info": { + "$ref": "#/components/schemas/Session.Info" + }, + "messages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Session.Message.Info" + } + } + }, + "required": ["info", "messages"], + "additionalProperties": false + }, + "SessionNotFoundError": { + "type": "object", + "properties": { + "_tag": { + "type": "string", + "enum": ["SessionNotFoundError"] + }, + "sessionID": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": ["_tag", "sessionID", "message"], + "additionalProperties": false + }, + "UnknownError": { + "type": "object", + "properties": { + "_tag": { + "type": "string", + "enum": ["UnknownError"] + }, + "message": { + "type": "string" + }, + "ref": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "required": ["_tag", "message"], + "additionalProperties": false + }, + "SessionActive": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["running"] + } + }, + "required": ["type"], + "additionalProperties": false + }, + "Session.ForkRequestBoundary": { + "anyOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["before"] + }, + "messageID": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + } + }, + "required": ["type", "messageID"], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["through"] + } + }, + "required": ["type"], + "additionalProperties": false + } + ] + }, + "MessageNotFoundError": { + "type": "object", + "properties": { + "_tag": { + "type": "string", + "enum": ["MessageNotFoundError"] + }, + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": ["_tag", "sessionID", "messageID", "message"], + "additionalProperties": false + }, + "PromptInput.FileAttachment": { + "type": "object", + "properties": { + "uri": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "mention": { + "$ref": "#/components/schemas/Prompt.Mention" + } + }, + "required": ["uri"], + "additionalProperties": false + }, + "SessionPending.UserData": { + "type": "object", + "properties": { + "text": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Prompt.FileAttachment" + } + }, + "agents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Prompt.AgentAttachment" + } + }, + "metadata": { + "type": "object" + } + }, + "required": ["text"], + "additionalProperties": false + }, + "SessionPending.User": { + "type": "object", + "properties": { + "id": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + }, + "sessionID": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "timeCreated": { + "type": "number" + }, + "type": { + "type": "string", + "enum": ["user"] + }, + "data": { + "$ref": "#/components/schemas/SessionPending.UserData" + }, + "delivery": { + "type": "string", + "enum": ["steer", "queue"] + } + }, + "required": ["id", "sessionID", "timeCreated", "type", "data", "delivery"], + "additionalProperties": false + }, + "CommandNotFoundError": { + "type": "object", + "properties": { + "_tag": { + "type": "string", + "enum": ["CommandNotFoundError"] + }, + "command": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": ["_tag", "command", "message"], + "additionalProperties": false + }, + "CommandEvaluationError": { + "type": "object", + "properties": { + "_tag": { + "type": "string", + "enum": ["CommandEvaluationError"] + }, + "command": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": ["_tag", "command", "message"], + "additionalProperties": false + }, + "SkillNotFoundError": { + "type": "object", + "properties": { + "_tag": { + "type": "string", + "enum": ["SkillNotFoundError"] + }, + "skill": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": ["_tag", "skill", "message"], + "additionalProperties": false + }, + "SessionPending.SyntheticData": { + "type": "object", + "properties": { + "text": { + "type": "string" + }, + "description": { + "type": "string" + }, + "metadata": { + "type": "object" + } + }, + "required": ["text"], + "additionalProperties": false + }, + "SessionPending.Synthetic": { + "type": "object", + "properties": { + "id": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + }, + "sessionID": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "timeCreated": { + "type": "number" + }, + "type": { + "type": "string", + "enum": ["synthetic"] + }, + "data": { + "$ref": "#/components/schemas/SessionPending.SyntheticData" + }, + "delivery": { + "type": "string", + "enum": ["steer", "queue"] + } + }, + "required": ["id", "sessionID", "timeCreated", "type", "data", "delivery"], + "additionalProperties": false + }, + "SessionPending.Compaction": { + "type": "object", + "properties": { + "id": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + }, + "sessionID": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "timeCreated": { + "type": "number" + }, + "type": { + "type": "string", + "enum": ["compaction"] + } + }, + "required": ["id", "sessionID", "timeCreated", "type"], + "additionalProperties": false + }, + "ServiceUnavailableError": { + "type": "object", + "properties": { + "_tag": { + "type": "string", + "enum": ["ServiceUnavailableError"] + }, + "message": { + "type": "string" + }, + "service": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "required": ["_tag", "message"], + "additionalProperties": false + }, + "SessionBusyError": { + "type": "object", + "properties": { + "_tag": { + "type": "string", + "enum": ["SessionBusyError"] + }, + "sessionID": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": ["_tag", "sessionID", "message"], + "additionalProperties": false + }, "SessionPending.Info": { "anyOf": [ { @@ -14645,10 +14104,7 @@ }, "value": {} }, - "required": [ - "key", - "value" - ], + "required": ["key", "value"], "additionalProperties": false }, "InstructionEntryValueTooLargeError": { @@ -14656,9 +14112,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "InstructionEntryValueTooLargeError" - ] + "enum": ["InstructionEntryValueTooLargeError"] }, "actualBytes": { "type": "integer" @@ -14670,12 +14124,7 @@ "type": "string" } }, - "required": [ - "_tag", - "actualBytes", - "maxBytes", - "message" - ], + "required": ["_tag", "actualBytes", "maxBytes", "message"], "additionalProperties": false }, "SessionGenerateResponse": { @@ -14688,15 +14137,11 @@ "type": "string" } }, - "required": [ - "text" - ], + "required": ["text"], "additionalProperties": false } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false }, "session.created": { @@ -14718,9 +14163,7 @@ }, "type": { "type": "string", - "enum": [ - "session.created" - ] + "enum": ["session.created"] }, "durable": { "type": "object", @@ -14738,16 +14181,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -14797,23 +14234,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "projectID", - "location", - "slug", - "version" - ], + "required": ["sessionID", "projectID", "location", "slug", "version"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.agent.selected": { @@ -14835,9 +14260,7 @@ }, "type": { "type": "string", - "enum": [ - "session.agent.selected" - ] + "enum": ["session.agent.selected"] }, "durable": { "type": "object", @@ -14855,16 +14278,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -14885,20 +14302,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "agent" - ], + "required": ["sessionID", "agent"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.model.selected": { @@ -14920,9 +14328,7 @@ }, "type": { "type": "string", - "enum": [ - "session.model.selected" - ] + "enum": ["session.model.selected"] }, "durable": { "type": "object", @@ -14940,16 +14346,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -14970,20 +14370,11 @@ "$ref": "#/components/schemas/Model.Ref" } }, - "required": [ - "sessionID", - "model" - ], + "required": ["sessionID", "model"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.moved": { @@ -15005,9 +14396,7 @@ }, "type": { "type": "string", - "enum": [ - "session.moved" - ] + "enum": ["session.moved"] }, "durable": { "type": "object", @@ -15025,16 +14414,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15061,20 +14444,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "location" - ], + "required": ["sessionID", "location"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.renamed": { @@ -15096,9 +14470,7 @@ }, "type": { "type": "string", - "enum": [ - "session.renamed" - ] + "enum": ["session.renamed"] }, "durable": { "type": "object", @@ -15116,16 +14488,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15146,20 +14512,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "title" - ], + "required": ["sessionID", "title"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.deleted": { @@ -15181,9 +14538,7 @@ }, "type": { "type": "string", - "enum": [ - "session.deleted" - ] + "enum": ["session.deleted"] }, "durable": { "type": "object", @@ -15201,16 +14556,10 @@ }, "version": { "type": "number", - "enum": [ - 2 - ] + "enum": [2] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15228,19 +14577,11 @@ ] } }, - "required": [ - "sessionID" - ], + "required": ["sessionID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.forked": { @@ -15262,9 +14603,7 @@ }, "type": { "type": "string", - "enum": [ - "session.forked" - ] + "enum": ["session.forked"] }, "durable": { "type": "object", @@ -15282,16 +14621,10 @@ }, "version": { "type": "number", - "enum": [ - 2 - ] + "enum": [2] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15333,21 +14666,11 @@ } } }, - "required": [ - "sessionID", - "parentID", - "boundary" - ], + "required": ["sessionID", "parentID", "boundary"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.input.promoted": { @@ -15369,9 +14692,7 @@ }, "type": { "type": "string", - "enum": [ - "session.input.promoted" - ] + "enum": ["session.input.promoted"] }, "durable": { "type": "object", @@ -15389,16 +14710,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15424,20 +14739,11 @@ ] } }, - "required": [ - "sessionID", - "inputID" - ], + "required": ["sessionID", "inputID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "SessionPending.UserData1": { @@ -15462,9 +14768,7 @@ "type": "object" } }, - "required": [ - "text" - ], + "required": ["text"], "additionalProperties": false }, "SessionPending.UserMessage": { @@ -15472,26 +14776,17 @@ "properties": { "type": { "type": "string", - "enum": [ - "user" - ] + "enum": ["user"] }, "data": { "$ref": "#/components/schemas/SessionPending.UserData1" }, "delivery": { "type": "string", - "enum": [ - "steer", - "queue" - ] + "enum": ["steer", "queue"] } }, - "required": [ - "type", - "data", - "delivery" - ], + "required": ["type", "data", "delivery"], "additionalProperties": false }, "SessionPending.SyntheticData1": { @@ -15507,9 +14802,7 @@ "type": "object" } }, - "required": [ - "text" - ], + "required": ["text"], "additionalProperties": false }, "SessionPending.SyntheticMessage": { @@ -15517,26 +14810,17 @@ "properties": { "type": { "type": "string", - "enum": [ - "synthetic" - ] + "enum": ["synthetic"] }, "data": { "$ref": "#/components/schemas/SessionPending.SyntheticData1" }, "delivery": { "type": "string", - "enum": [ - "steer", - "queue" - ] + "enum": ["steer", "queue"] } }, - "required": [ - "type", - "data", - "delivery" - ], + "required": ["type", "data", "delivery"], "additionalProperties": false }, "SessionPending.Message": { @@ -15568,9 +14852,7 @@ }, "type": { "type": "string", - "enum": [ - "session.input.admitted" - ] + "enum": ["session.input.admitted"] }, "durable": { "type": "object", @@ -15588,16 +14870,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15626,21 +14902,230 @@ "$ref": "#/components/schemas/SessionPending.Message" } }, - "required": [ - "sessionID", - "inputID", - "input" - ], + "required": ["sessionID", "inputID", "input"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], + "additionalProperties": false + }, + "session.input.cancelled": { + "type": "object", + "properties": { + "id": { + "type": "string", + "allOf": [ + { + "pattern": "^evt_" + } + ] + }, + "created": { + "type": "number" + }, + "metadata": { + "type": "object" + }, + "type": { + "type": "string", + "enum": ["session.input.cancelled"] + }, + "durable": { + "type": "object", + "properties": { + "aggregateID": { + "type": "string" + }, + "seq": { + "type": "integer", + "allOf": [ + { + "minimum": 0 + } + ] + }, + "version": { + "type": "number", + "enum": [1] + } + }, + "required": ["aggregateID", "seq", "version"], + "additionalProperties": false + }, + "location": { + "$ref": "#/components/schemas/Location.Ref" + }, + "data": { + "type": "object", + "properties": { + "sessionID": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "inputID": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + } + }, + "required": ["sessionID", "inputID"], + "additionalProperties": false + } + }, + "required": ["id", "created", "type", "durable", "data"], + "additionalProperties": false + }, + "session.input.steered": { + "type": "object", + "properties": { + "id": { + "type": "string", + "allOf": [ + { + "pattern": "^evt_" + } + ] + }, + "created": { + "type": "number" + }, + "metadata": { + "type": "object" + }, + "type": { + "type": "string", + "enum": ["session.input.steered"] + }, + "durable": { + "type": "object", + "properties": { + "aggregateID": { + "type": "string" + }, + "seq": { + "type": "integer", + "allOf": [ + { + "minimum": 0 + } + ] + }, + "version": { + "type": "number", + "enum": [1] + } + }, + "required": ["aggregateID", "seq", "version"], + "additionalProperties": false + }, + "location": { + "$ref": "#/components/schemas/Location.Ref" + }, + "data": { + "type": "object", + "properties": { + "sessionID": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "inputID": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + } + }, + "required": ["sessionID", "inputID"], + "additionalProperties": false + } + }, + "required": ["id", "created", "type", "durable", "data"], + "additionalProperties": false + }, + "session.input.queued": { + "type": "object", + "properties": { + "id": { + "type": "string", + "allOf": [ + { + "pattern": "^evt_" + } + ] + }, + "created": { + "type": "number" + }, + "metadata": { + "type": "object" + }, + "type": { + "type": "string", + "enum": ["session.input.queued"] + }, + "durable": { + "type": "object", + "properties": { + "aggregateID": { + "type": "string" + }, + "seq": { + "type": "integer", + "allOf": [ + { + "minimum": 0 + } + ] + }, + "version": { + "type": "number", + "enum": [1] + } + }, + "required": ["aggregateID", "seq", "version"], + "additionalProperties": false + }, + "location": { + "$ref": "#/components/schemas/Location.Ref" + }, + "data": { + "type": "object", + "properties": { + "sessionID": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "inputID": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + } + }, + "required": ["sessionID", "inputID"], + "additionalProperties": false + } + }, + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.execution.started": { @@ -15662,9 +15147,7 @@ }, "type": { "type": "string", - "enum": [ - "session.execution.started" - ] + "enum": ["session.execution.started"] }, "durable": { "type": "object", @@ -15682,16 +15165,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15709,19 +15186,11 @@ ] } }, - "required": [ - "sessionID" - ], + "required": ["sessionID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.execution.succeeded": { @@ -15743,9 +15212,7 @@ }, "type": { "type": "string", - "enum": [ - "session.execution.succeeded" - ] + "enum": ["session.execution.succeeded"] }, "durable": { "type": "object", @@ -15763,16 +15230,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15790,19 +15251,11 @@ ] } }, - "required": [ - "sessionID" - ], + "required": ["sessionID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.execution.failed": { @@ -15824,9 +15277,7 @@ }, "type": { "type": "string", - "enum": [ - "session.execution.failed" - ] + "enum": ["session.execution.failed"] }, "durable": { "type": "object", @@ -15844,16 +15295,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15874,20 +15319,11 @@ "$ref": "#/components/schemas/Session.StructuredError" } }, - "required": [ - "sessionID", - "error" - ], + "required": ["sessionID", "error"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.execution.interrupted": { @@ -15909,9 +15345,7 @@ }, "type": { "type": "string", - "enum": [ - "session.execution.interrupted" - ] + "enum": ["session.execution.interrupted"] }, "durable": { "type": "object", @@ -15929,16 +15363,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15957,27 +15385,14 @@ }, "reason": { "type": "string", - "enum": [ - "user", - "shutdown", - "superseded" - ] + "enum": ["user", "shutdown", "superseded"] } }, - "required": [ - "sessionID", - "reason" - ], + "required": ["sessionID", "reason"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.instructions.updated": { @@ -15999,9 +15414,7 @@ }, "type": { "type": "string", - "enum": [ - "session.instructions.updated" - ] + "enum": ["session.instructions.updated"] }, "durable": { "type": "object", @@ -16019,16 +15432,10 @@ }, "version": { "type": "number", - "enum": [ - 2 - ] + "enum": [2] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16059,9 +15466,7 @@ }, { "type": "string", - "enum": [ - "removed" - ] + "enum": ["removed"] } ] } @@ -16070,20 +15475,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "delta" - ], + "required": ["sessionID", "delta"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.synthetic": { @@ -16105,9 +15501,7 @@ }, "type": { "type": "string", - "enum": [ - "session.synthetic" - ] + "enum": ["session.synthetic"] }, "durable": { "type": "object", @@ -16125,16 +15519,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16161,20 +15549,11 @@ "type": "object" } }, - "required": [ - "sessionID", - "text" - ], + "required": ["sessionID", "text"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.skill.activated": { @@ -16196,9 +15575,7 @@ }, "type": { "type": "string", - "enum": [ - "session.skill.activated" - ] + "enum": ["session.skill.activated"] }, "durable": { "type": "object", @@ -16216,16 +15593,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16252,22 +15623,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "id", - "name", - "text" - ], + "required": ["sessionID", "id", "name", "text"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Shell.Info": { @@ -16283,12 +15643,7 @@ }, "status": { "type": "string", - "enum": [ - "running", - "exited", - "timeout", - "killed" - ] + "enum": ["running", "exited", "timeout", "killed"] }, "command": { "type": "string" @@ -16326,22 +15681,11 @@ "type": "number" } }, - "required": [ - "started" - ], + "required": ["started"], "additionalProperties": false } }, - "required": [ - "id", - "status", - "command", - "cwd", - "shell", - "file", - "metadata", - "time" - ], + "required": ["id", "status", "command", "cwd", "shell", "file", "metadata", "time"], "additionalProperties": false }, "session.shell.started": { @@ -16363,9 +15707,7 @@ }, "type": { "type": "string", - "enum": [ - "session.shell.started" - ] + "enum": ["session.shell.started"] }, "durable": { "type": "object", @@ -16383,16 +15725,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16413,20 +15749,11 @@ "$ref": "#/components/schemas/Shell.Info" } }, - "required": [ - "sessionID", - "shell" - ], + "required": ["sessionID", "shell"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.shell.ended": { @@ -16448,9 +15775,7 @@ }, "type": { "type": "string", - "enum": [ - "session.shell.ended" - ] + "enum": ["session.shell.ended"] }, "durable": { "type": "object", @@ -16468,16 +15793,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16523,30 +15842,15 @@ "type": "boolean" } }, - "required": [ - "output", - "cursor", - "size", - "truncated" - ], + "required": ["output", "cursor", "size", "truncated"], "additionalProperties": false } }, - "required": [ - "sessionID", - "shell", - "output" - ], + "required": ["sessionID", "shell", "output"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.step.started": { @@ -16568,9 +15872,7 @@ }, "type": { "type": "string", - "enum": [ - "session.step.started" - ] + "enum": ["session.step.started"] }, "durable": { "type": "object", @@ -16588,16 +15890,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16632,22 +15928,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "assistantMessageID", - "agent", - "model" - ], + "required": ["sessionID", "assistantMessageID", "agent", "model"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.step.ended": { @@ -16669,9 +15954,7 @@ }, "type": { "type": "string", - "enum": [ - "session.step.ended" - ] + "enum": ["session.step.ended"] }, "durable": { "type": "object", @@ -16689,16 +15972,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16725,14 +16002,7 @@ }, "finish": { "type": "string", - "enum": [ - "stop", - "length", - "tool-calls", - "content-filter", - "error", - "unknown" - ] + "enum": ["stop", "length", "tool-calls", "content-filter", "error", "unknown"] }, "cost": { "$ref": "#/components/schemas/Money.USD" @@ -16750,23 +16020,11 @@ } } }, - "required": [ - "sessionID", - "assistantMessageID", - "finish", - "cost", - "tokens" - ], + "required": ["sessionID", "assistantMessageID", "finish", "cost", "tokens"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.step.failed": { @@ -16788,9 +16046,7 @@ }, "type": { "type": "string", - "enum": [ - "session.step.failed" - ] + "enum": ["session.step.failed"] }, "durable": { "type": "object", @@ -16808,16 +16064,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16861,21 +16111,11 @@ } } }, - "required": [ - "sessionID", - "assistantMessageID", - "error" - ], + "required": ["sessionID", "assistantMessageID", "error"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.text.started": { @@ -16897,9 +16137,7 @@ }, "type": { "type": "string", - "enum": [ - "session.text.started" - ] + "enum": ["session.text.started"] }, "durable": { "type": "object", @@ -16917,16 +16155,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16960,21 +16192,11 @@ ] } }, - "required": [ - "sessionID", - "assistantMessageID", - "ordinal" - ], + "required": ["sessionID", "assistantMessageID", "ordinal"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Session.Message.ProviderState4": { @@ -16999,9 +16221,7 @@ }, "type": { "type": "string", - "enum": [ - "session.text.ended" - ] + "enum": ["session.text.ended"] }, "durable": { "type": "object", @@ -17019,16 +16239,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -17068,22 +16282,11 @@ "$ref": "#/components/schemas/Session.Message.ProviderState4" } }, - "required": [ - "sessionID", - "assistantMessageID", - "ordinal", - "text" - ], + "required": ["sessionID", "assistantMessageID", "ordinal", "text"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Session.Message.ProviderState5": { @@ -17108,9 +16311,7 @@ }, "type": { "type": "string", - "enum": [ - "session.reasoning.started" - ] + "enum": ["session.reasoning.started"] }, "durable": { "type": "object", @@ -17128,16 +16329,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -17174,21 +16369,11 @@ "$ref": "#/components/schemas/Session.Message.ProviderState5" } }, - "required": [ - "sessionID", - "assistantMessageID", - "ordinal" - ], + "required": ["sessionID", "assistantMessageID", "ordinal"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Session.Message.ProviderState6": { @@ -17213,9 +16398,7 @@ }, "type": { "type": "string", - "enum": [ - "session.reasoning.ended" - ] + "enum": ["session.reasoning.ended"] }, "durable": { "type": "object", @@ -17233,16 +16416,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -17282,22 +16459,11 @@ "$ref": "#/components/schemas/Session.Message.ProviderState6" } }, - "required": [ - "sessionID", - "assistantMessageID", - "ordinal", - "text" - ], + "required": ["sessionID", "assistantMessageID", "ordinal", "text"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.tool.input.started": { @@ -17319,9 +16485,7 @@ }, "type": { "type": "string", - "enum": [ - "session.tool.input.started" - ] + "enum": ["session.tool.input.started"] }, "durable": { "type": "object", @@ -17339,16 +16503,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -17380,22 +16538,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "assistantMessageID", - "id", - "name" - ], + "required": ["sessionID", "assistantMessageID", "id", "name"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.tool.input.ended": { @@ -17417,9 +16564,7 @@ }, "type": { "type": "string", - "enum": [ - "session.tool.input.ended" - ] + "enum": ["session.tool.input.ended"] }, "durable": { "type": "object", @@ -17437,16 +16582,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -17478,22 +16617,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "assistantMessageID", - "id", - "text" - ], + "required": ["sessionID", "assistantMessageID", "id", "text"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Session.Message.ProviderState7": { @@ -17518,9 +16646,7 @@ }, "type": { "type": "string", - "enum": [ - "session.tool.called" - ] + "enum": ["session.tool.called"] }, "durable": { "type": "object", @@ -17538,16 +16664,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -17585,23 +16705,11 @@ "$ref": "#/components/schemas/Session.Message.ProviderState7" } }, - "required": [ - "sessionID", - "assistantMessageID", - "id", - "input", - "executed" - ], + "required": ["sessionID", "assistantMessageID", "id", "input", "executed"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Tool.FileContent1": { @@ -17609,9 +16717,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "file" - ] + "enum": ["file"] }, "uri": { "type": "string" @@ -17630,11 +16736,7 @@ ] } }, - "required": [ - "type", - "uri", - "mime" - ], + "required": ["type", "uri", "mime"], "additionalProperties": false }, "Tool.Content1": { @@ -17669,9 +16771,7 @@ }, "type": { "type": "string", - "enum": [ - "session.tool.success" - ] + "enum": ["session.tool.success"] }, "durable": { "type": "object", @@ -17689,16 +16789,10 @@ }, "version": { "type": "number", - "enum": [ - 2 - ] + "enum": [2] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -17748,23 +16842,11 @@ "$ref": "#/components/schemas/Session.Message.ProviderState8" } }, - "required": [ - "sessionID", - "assistantMessageID", - "id", - "content", - "executed" - ], + "required": ["sessionID", "assistantMessageID", "id", "content", "executed"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Session.Message.ProviderState9": { @@ -17789,9 +16871,7 @@ }, "type": { "type": "string", - "enum": [ - "session.tool.failed" - ] + "enum": ["session.tool.failed"] }, "durable": { "type": "object", @@ -17809,16 +16889,10 @@ }, "version": { "type": "number", - "enum": [ - 2 - ] + "enum": [2] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -17871,23 +16945,11 @@ "$ref": "#/components/schemas/Session.Message.ProviderState9" } }, - "required": [ - "sessionID", - "assistantMessageID", - "id", - "error", - "executed" - ], + "required": ["sessionID", "assistantMessageID", "id", "error", "executed"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.retry.scheduled": { @@ -17909,9 +16971,7 @@ }, "type": { "type": "string", - "enum": [ - "session.retry.scheduled" - ] + "enum": ["session.retry.scheduled"] }, "durable": { "type": "object", @@ -17929,16 +16989,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -17983,23 +17037,11 @@ "$ref": "#/components/schemas/Session.StructuredError" } }, - "required": [ - "sessionID", - "assistantMessageID", - "attempt", - "at", - "error" - ], + "required": ["sessionID", "assistantMessageID", "attempt", "at", "error"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.compaction.admitted": { @@ -18021,9 +17063,7 @@ }, "type": { "type": "string", - "enum": [ - "session.compaction.admitted" - ] + "enum": ["session.compaction.admitted"] }, "durable": { "type": "object", @@ -18041,16 +17081,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -18076,20 +17110,11 @@ ] } }, - "required": [ - "sessionID", - "inputID" - ], + "required": ["sessionID", "inputID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.compaction.started": { @@ -18111,9 +17136,7 @@ }, "type": { "type": "string", - "enum": [ - "session.compaction.started" - ] + "enum": ["session.compaction.started"] }, "durable": { "type": "object", @@ -18131,16 +17154,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -18159,10 +17176,7 @@ }, "reason": { "type": "string", - "enum": [ - "auto", - "manual" - ] + "enum": ["auto", "manual"] }, "recent": { "type": "string" @@ -18176,21 +17190,11 @@ ] } }, - "required": [ - "sessionID", - "reason", - "recent" - ], + "required": ["sessionID", "reason", "recent"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.compaction.ended": { @@ -18212,9 +17216,7 @@ }, "type": { "type": "string", - "enum": [ - "session.compaction.ended" - ] + "enum": ["session.compaction.ended"] }, "durable": { "type": "object", @@ -18232,16 +17234,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -18260,10 +17256,7 @@ }, "reason": { "type": "string", - "enum": [ - "auto", - "manual" - ] + "enum": ["auto", "manual"] }, "text": { "type": "string" @@ -18272,22 +17265,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "reason", - "text", - "recent" - ], + "required": ["sessionID", "reason", "text", "recent"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.compaction.failed": { @@ -18309,9 +17291,7 @@ }, "type": { "type": "string", - "enum": [ - "session.compaction.failed" - ] + "enum": ["session.compaction.failed"] }, "durable": { "type": "object", @@ -18329,16 +17309,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -18357,10 +17331,7 @@ }, "reason": { "type": "string", - "enum": [ - "auto", - "manual" - ] + "enum": ["auto", "manual"] }, "error": { "$ref": "#/components/schemas/Session.StructuredError" @@ -18374,21 +17345,11 @@ ] } }, - "required": [ - "sessionID", - "reason", - "error" - ], + "required": ["sessionID", "reason", "error"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.revert.staged": { @@ -18410,9 +17371,7 @@ }, "type": { "type": "string", - "enum": [ - "session.revert.staged" - ] + "enum": ["session.revert.staged"] }, "durable": { "type": "object", @@ -18430,16 +17389,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -18460,20 +17413,11 @@ "$ref": "#/components/schemas/Session.Revert" } }, - "required": [ - "sessionID", - "revert" - ], + "required": ["sessionID", "revert"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.revert.cleared": { @@ -18495,9 +17439,7 @@ }, "type": { "type": "string", - "enum": [ - "session.revert.cleared" - ] + "enum": ["session.revert.cleared"] }, "durable": { "type": "object", @@ -18515,16 +17457,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -18542,19 +17478,11 @@ ] } }, - "required": [ - "sessionID" - ], + "required": ["sessionID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.revert.committed": { @@ -18576,9 +17504,7 @@ }, "type": { "type": "string", - "enum": [ - "session.revert.committed" - ] + "enum": ["session.revert.committed"] }, "durable": { "type": "object", @@ -18596,16 +17522,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -18631,20 +17551,11 @@ ] } }, - "required": [ - "sessionID", - "to" - ], + "required": ["sessionID", "to"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.usage.recorded": { @@ -18666,9 +17577,7 @@ }, "type": { "type": "string", - "enum": [ - "session.usage.recorded" - ] + "enum": ["session.usage.recorded"] }, "durable": { "type": "object", @@ -18686,16 +17595,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -18714,10 +17617,7 @@ }, "source": { "type": "string", - "enum": [ - "title", - "compaction" - ] + "enum": ["title", "compaction"] }, "cost": { "$ref": "#/components/schemas/Money.USD" @@ -18726,22 +17626,11 @@ "$ref": "#/components/schemas/TokenUsage.Info" } }, - "required": [ - "sessionID", - "source", - "cost", - "tokens" - ], + "required": ["sessionID", "source", "cost", "tokens"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Session.Event.Durable": { @@ -18773,6 +17662,15 @@ { "$ref": "#/components/schemas/session.input.admitted" }, + { + "$ref": "#/components/schemas/session.input.cancelled" + }, + { + "$ref": "#/components/schemas/session.input.steered" + }, + { + "$ref": "#/components/schemas/session.input.queued" + }, { "$ref": "#/components/schemas/session.execution.started" }, @@ -18870,9 +17768,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "log.synced" - ] + "enum": ["log.synced"] }, "aggregateID": { "type": "string" @@ -18886,10 +17782,7 @@ ] } }, - "required": [ - "type", - "aggregateID" - ], + "required": ["type", "aggregateID"], "additionalProperties": false, "description": "Marker emitted once when a log read reaches its captured watermark. The reader holds every event committed at or below seq." }, @@ -18946,32 +17839,35 @@ "additionalProperties": false } }, - "required": [ - "data", - "cursor" - ], + "required": ["data", "cursor"], "additionalProperties": false }, "Model.ReasoningField": { "anyOf": [ { "type": "string", - "enum": [ - "reasoning", - "reasoning_content", - "reasoning_text" - ] + "enum": ["reasoning", "reasoning_content", "reasoning_text"] }, { "type": "string" } ] }, + "Model.MaxTokensField": { + "type": "string", + "enum": ["max_completion_tokens", "max_tokens"] + }, "Model.Compatibility": { "type": "object", "properties": { "reasoningField": { "$ref": "#/components/schemas/Model.ReasoningField" + }, + "maxTokensField": { + "$ref": "#/components/schemas/Model.MaxTokensField" + }, + "requireFinishReason": { + "type": "boolean" } }, "additionalProperties": false @@ -18995,11 +17891,7 @@ } } }, - "required": [ - "tools", - "input", - "output" - ], + "required": ["tools", "input", "output"], "additionalProperties": false }, "Model.Variant": { @@ -19021,9 +17913,7 @@ "type": "object" } }, - "required": [ - "id" - ], + "required": ["id"], "additionalProperties": false }, "Money.USDPerMillionTokens": { @@ -19037,18 +17927,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "context" - ] + "enum": ["context"] }, "size": { "type": "integer" } }, - "required": [ - "type", - "size" - ], + "required": ["type", "size"], "additionalProperties": false }, "input": { @@ -19067,18 +17952,11 @@ "$ref": "#/components/schemas/Money.USDPerMillionTokens" } }, - "required": [ - "read", - "write" - ], + "required": ["read", "write"], "additionalProperties": false } }, - "required": [ - "input", - "output", - "cache" - ], + "required": ["input", "output", "cache"], "additionalProperties": false }, "Model.Info": { @@ -19133,9 +18011,7 @@ "type": "number" } }, - "required": [ - "released" - ], + "required": ["released"], "additionalProperties": false }, "cost": { @@ -19146,12 +18022,7 @@ }, "status": { "type": "string", - "enum": [ - "alpha", - "beta", - "deprecated", - "active" - ] + "enum": ["alpha", "beta", "deprecated", "active"] }, "enabled": { "type": "boolean" @@ -19169,10 +18040,7 @@ "type": "integer" } }, - "required": [ - "context", - "output" - ], + "required": ["context", "output"], "additionalProperties": false } }, @@ -19201,15 +18069,11 @@ "type": "string" } }, - "required": [ - "text" - ], + "required": ["text"], "additionalProperties": false } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false }, "Provider.Info": { @@ -19243,11 +18107,7 @@ "type": "object" } }, - "required": [ - "id", - "name", - "package" - ], + "required": ["id", "name", "package"], "additionalProperties": false }, "ProviderNotFoundError": { @@ -19255,9 +18115,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "ProviderNotFoundError" - ] + "enum": ["ProviderNotFoundError"] }, "providerID": { "type": "string" @@ -19266,11 +18124,7 @@ "type": "string" } }, - "required": [ - "_tag", - "providerID", - "message" - ], + "required": ["_tag", "providerID", "message"], "additionalProperties": false }, "Integration.When": { @@ -19281,20 +18135,13 @@ }, "op": { "type": "string", - "enum": [ - "eq", - "neq" - ] + "enum": ["eq", "neq"] }, "value": { "type": "string" } }, - "required": [ - "key", - "op", - "value" - ], + "required": ["key", "op", "value"], "additionalProperties": false }, "Integration.TextPrompt": { @@ -19302,9 +18149,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "text" - ] + "enum": ["text"] }, "key": { "type": "string" @@ -19319,11 +18164,7 @@ "$ref": "#/components/schemas/Integration.When" } }, - "required": [ - "type", - "key", - "message" - ], + "required": ["type", "key", "message"], "additionalProperties": false }, "Integration.SelectPrompt": { @@ -19331,9 +18172,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "select" - ] + "enum": ["select"] }, "key": { "type": "string" @@ -19356,10 +18195,7 @@ "type": "string" } }, - "required": [ - "label", - "value" - ], + "required": ["label", "value"], "additionalProperties": false } }, @@ -19367,12 +18203,7 @@ "$ref": "#/components/schemas/Integration.When" } }, - "required": [ - "type", - "key", - "message", - "options" - ], + "required": ["type", "key", "message", "options"], "additionalProperties": false }, "Integration.OAuthMethod": { @@ -19383,9 +18214,7 @@ }, "type": { "type": "string", - "enum": [ - "oauth" - ] + "enum": ["oauth"] }, "label": { "type": "string" @@ -19404,11 +18233,7 @@ } } }, - "required": [ - "id", - "type", - "label" - ], + "required": ["id", "type", "label"], "additionalProperties": false }, "Integration.CommandMethod": { @@ -19419,9 +18244,7 @@ }, "type": { "type": "string", - "enum": [ - "command" - ] + "enum": ["command"] }, "label": { "type": "string" @@ -19433,12 +18256,7 @@ } } }, - "required": [ - "id", - "type", - "label", - "command" - ], + "required": ["id", "type", "label", "command"], "additionalProperties": false }, "Integration.KeyMethod": { @@ -19446,17 +18264,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "key" - ] + "enum": ["key"] }, "label": { "type": "string" } }, - "required": [ - "type" - ], + "required": ["type"], "additionalProperties": false }, "Integration.EnvMethod": { @@ -19464,9 +18278,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "env" - ] + "enum": ["env"] }, "names": { "type": "array", @@ -19475,10 +18287,7 @@ } } }, - "required": [ - "type", - "names" - ], + "required": ["type", "names"], "additionalProperties": false }, "Integration.Method": { @@ -19502,9 +18311,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "credential" - ] + "enum": ["credential"] }, "id": { "type": "string" @@ -19513,11 +18320,7 @@ "type": "string" } }, - "required": [ - "type", - "id", - "label" - ], + "required": ["type", "id", "label"], "additionalProperties": false }, "Connection.EnvInfo": { @@ -19525,18 +18328,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "env" - ] + "enum": ["env"] }, "name": { "type": "string" } }, - "required": [ - "type", - "name" - ], + "required": ["type", "name"], "additionalProperties": false }, "Connection.Info": { @@ -19571,12 +18369,7 @@ } } }, - "required": [ - "id", - "name", - "methods", - "connections" - ], + "required": ["id", "name", "methods", "connections"], "additionalProperties": false }, "Integration.Attempt": { @@ -19593,10 +18386,7 @@ }, "mode": { "type": "string", - "enum": [ - "auto", - "code" - ] + "enum": ["auto", "code"] }, "time": { "type": "object", @@ -19610,31 +18400,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -19647,49 +18427,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "attemptID", - "url", - "instructions", - "mode", - "time" - ], + "required": ["attemptID", "url", "instructions", "mode", "time"], "additionalProperties": false }, "Integration.AttemptStatus": { @@ -19699,9 +18460,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "pending" - ] + "enum": ["pending"] }, "time": { "type": "object", @@ -19715,31 +18474,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -19752,46 +18501,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "status", - "time" - ], + "required": ["status", "time"], "additionalProperties": false }, { @@ -19799,9 +18532,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "complete" - ] + "enum": ["complete"] }, "time": { "type": "object", @@ -19815,31 +18546,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -19852,46 +18573,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "status", - "time" - ], + "required": ["status", "time"], "additionalProperties": false }, { @@ -19899,9 +18604,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "failed" - ] + "enum": ["failed"] }, "message": { "type": "string" @@ -19918,31 +18621,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -19955,47 +18648,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "status", - "message", - "time" - ], + "required": ["status", "message", "time"], "additionalProperties": false }, { @@ -20003,9 +18679,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "expired" - ] + "enum": ["expired"] }, "time": { "type": "object", @@ -20019,31 +18693,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -20056,46 +18720,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "status", - "time" - ], + "required": ["status", "time"], "additionalProperties": false } ] @@ -20118,31 +18766,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -20155,46 +18793,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "attemptID", - "time" - ], + "required": ["attemptID", "time"], "additionalProperties": false }, "Integration.CommandAttemptStatus": { @@ -20204,9 +18826,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "pending" - ] + "enum": ["pending"] }, "message": { "type": "string" @@ -20223,31 +18843,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -20260,46 +18870,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "status", - "time" - ], + "required": ["status", "time"], "additionalProperties": false }, { @@ -20307,9 +18901,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "complete" - ] + "enum": ["complete"] }, "time": { "type": "object", @@ -20323,31 +18915,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -20360,46 +18942,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "status", - "time" - ], + "required": ["status", "time"], "additionalProperties": false }, { @@ -20407,9 +18973,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "failed" - ] + "enum": ["failed"] }, "message": { "type": "string" @@ -20426,31 +18990,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -20463,47 +19017,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "status", - "message", - "time" - ], + "required": ["status", "message", "time"], "additionalProperties": false }, { @@ -20511,9 +19048,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "expired" - ] + "enum": ["expired"] }, "time": { "type": "object", @@ -20527,31 +19062,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -20564,46 +19089,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "status", - "time" - ], + "required": ["status", "time"], "additionalProperties": false } ] @@ -20613,14 +19122,10 @@ "properties": { "status": { "type": "string", - "enum": [ - "connected" - ] + "enum": ["connected"] } }, - "required": [ - "status" - ], + "required": ["status"], "additionalProperties": false }, "Mcp.Status.Pending": { @@ -20628,14 +19133,10 @@ "properties": { "status": { "type": "string", - "enum": [ - "pending" - ] + "enum": ["pending"] } }, - "required": [ - "status" - ], + "required": ["status"], "additionalProperties": false }, "Mcp.Status.Disabled": { @@ -20643,14 +19144,10 @@ "properties": { "status": { "type": "string", - "enum": [ - "disabled" - ] + "enum": ["disabled"] } }, - "required": [ - "status" - ], + "required": ["status"], "additionalProperties": false }, "Mcp.Status.Failed": { @@ -20658,18 +19155,13 @@ "properties": { "status": { "type": "string", - "enum": [ - "failed" - ] + "enum": ["failed"] }, "error": { "type": "string" } }, - "required": [ - "status", - "error" - ], + "required": ["status", "error"], "additionalProperties": false }, "Mcp.Status.NeedsAuth": { @@ -20677,14 +19169,10 @@ "properties": { "status": { "type": "string", - "enum": [ - "needs_auth" - ] + "enum": ["needs_auth"] } }, - "required": [ - "status" - ], + "required": ["status"], "additionalProperties": false }, "Mcp.Server": { @@ -20716,10 +19204,7 @@ "type": "string" } }, - "required": [ - "name", - "status" - ], + "required": ["name", "status"], "additionalProperties": false }, "Mcp.LocalConfig": { @@ -20727,9 +19212,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "local" - ] + "enum": ["local"] }, "command": { "type": "array", @@ -20783,10 +19266,7 @@ "additionalProperties": false } }, - "required": [ - "type", - "command" - ], + "required": ["type", "command"], "additionalProperties": false }, "Mcp.OAuthConfig": { @@ -20821,9 +19301,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "remote" - ] + "enum": ["remote"] }, "url": { "type": "string" @@ -20841,9 +19319,7 @@ }, { "type": "boolean", - "enum": [ - false - ] + "enum": [false] } ] }, @@ -20884,10 +19360,7 @@ "additionalProperties": false } }, - "required": [ - "type", - "url" - ], + "required": ["type", "url"], "additionalProperties": false }, "McpServerNotFoundError": { @@ -20895,9 +19368,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "McpServerNotFoundError" - ] + "enum": ["McpServerNotFoundError"] }, "server": { "type": "string" @@ -20906,11 +19377,7 @@ "type": "string" } }, - "required": [ - "_tag", - "server", - "message" - ], + "required": ["_tag", "server", "message"], "additionalProperties": false }, "Mcp.Resource": { @@ -20932,11 +19399,7 @@ "type": "string" } }, - "required": [ - "server", - "name", - "uri" - ], + "required": ["server", "name", "uri"], "additionalProperties": false }, "Mcp.ResourceTemplate": { @@ -20958,11 +19421,7 @@ "type": "string" } }, - "required": [ - "server", - "name", - "uriTemplate" - ], + "required": ["server", "name", "uriTemplate"], "additionalProperties": false }, "Mcp.ResourceCatalog": { @@ -20981,18 +19440,12 @@ } } }, - "required": [ - "resources", - "templates" - ], + "required": ["resources", "templates"], "additionalProperties": false }, "Project.Vcs": { "type": "string", - "enum": [ - "git", - "hg" - ] + "enum": ["git", "hg"] }, "Project.Icon": { "type": "object", @@ -21047,10 +19500,7 @@ ] } }, - "required": [ - "created", - "updated" - ], + "required": ["created", "updated"], "additionalProperties": false }, "Project": { @@ -21084,12 +19534,7 @@ } } }, - "required": [ - "id", - "canonical", - "time", - "sandboxes" - ], + "required": ["id", "canonical", "time", "sandboxes"], "additionalProperties": false }, "Project.Current": { @@ -21105,11 +19550,7 @@ "type": "string" } }, - "required": [ - "id", - "directory", - "canonical" - ], + "required": ["id", "directory", "canonical"], "additionalProperties": false }, "Project.Directory": { @@ -21122,9 +19563,7 @@ "type": "string" } }, - "required": [ - "directory" - ], + "required": ["directory"], "additionalProperties": false }, "Project.Directories": { @@ -21144,10 +19583,7 @@ }, "op": { "type": "string", - "enum": [ - "eq", - "neq" - ] + "enum": ["eq", "neq"] }, "value": { "anyOf": [ @@ -21163,31 +19599,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -21197,11 +19623,7 @@ ] } }, - "required": [ - "key", - "op", - "value" - ], + "required": ["key", "op", "value"], "additionalProperties": false }, "Form.Option": { @@ -21217,10 +19639,7 @@ "type": "string" } }, - "required": [ - "value", - "label" - ], + "required": ["value", "label"], "additionalProperties": false }, "Form.StringField": { @@ -21246,18 +19665,11 @@ }, "type": { "type": "string", - "enum": [ - "string" - ] + "enum": ["string"] }, "format": { "type": "string", - "enum": [ - "email", - "uri", - "date", - "date-time" - ] + "enum": ["email", "uri", "date", "date-time"] }, "minLength": { "type": "integer", @@ -21294,10 +19706,7 @@ "type": "boolean" } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.NumberField": { @@ -21323,9 +19732,7 @@ }, "type": { "type": "string", - "enum": [ - "number" - ] + "enum": ["number"] }, "minimum": { "anyOf": [ @@ -21336,31 +19743,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -21373,31 +19770,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -21410,39 +19797,26 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.IntegerField": { @@ -21468,9 +19842,7 @@ }, "type": { "type": "string", - "enum": [ - "integer" - ] + "enum": ["integer"] }, "minimum": { "anyOf": [ @@ -21481,31 +19853,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -21518,31 +19880,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -21555,39 +19907,26 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.BooleanField": { @@ -21613,18 +19952,13 @@ }, "type": { "type": "string", - "enum": [ - "boolean" - ] + "enum": ["boolean"] }, "default": { "type": "boolean" } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.MultiselectField": { @@ -21650,9 +19984,7 @@ }, "type": { "type": "string", - "enum": [ - "multiselect" - ] + "enum": ["multiselect"] }, "options": { "type": "array", @@ -21686,11 +20018,7 @@ } } }, - "required": [ - "key", - "type", - "options" - ], + "required": ["key", "type", "options"], "additionalProperties": false }, "Form.ExternalField": { @@ -21701,9 +20029,7 @@ }, "type": { "type": "string", - "enum": [ - "external" - ] + "enum": ["external"] }, "url": { "type": "string" @@ -21715,11 +20041,7 @@ "type": "string" } }, - "required": [ - "key", - "type", - "url" - ], + "required": ["key", "type", "url"], "additionalProperties": false }, "Form.Field": { @@ -21780,12 +20102,7 @@ "$ref": "#/components/schemas/Form.Fields" } }, - "required": [ - "id", - "sessionID", - "title", - "fields" - ], + "required": ["id", "sessionID", "title", "fields"], "additionalProperties": false }, "Form.CreatePayload": { @@ -21816,10 +20133,7 @@ "$ref": "#/components/schemas/Form.Fields" } }, - "required": [ - "title", - "fields" - ], + "required": ["title", "fields"], "additionalProperties": false }, "FormNotFoundError": { @@ -21827,9 +20141,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "FormNotFoundError" - ] + "enum": ["FormNotFoundError"] }, "id": { "type": "string" @@ -21838,11 +20150,7 @@ "type": "string" } }, - "required": [ - "_tag", - "id", - "message" - ], + "required": ["_tag", "id", "message"], "additionalProperties": false }, "Form.Value": { @@ -21859,31 +20167,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -21911,14 +20209,10 @@ "properties": { "status": { "type": "string", - "enum": [ - "pending" - ] + "enum": ["pending"] } }, - "required": [ - "status" - ], + "required": ["status"], "additionalProperties": false }, { @@ -21926,18 +20220,13 @@ "properties": { "status": { "type": "string", - "enum": [ - "answered" - ] + "enum": ["answered"] }, "answer": { "$ref": "#/components/schemas/Form.Answer" } }, - "required": [ - "status", - "answer" - ], + "required": ["status", "answer"], "additionalProperties": false }, { @@ -21945,14 +20234,10 @@ "properties": { "status": { "type": "string", - "enum": [ - "cancelled" - ] + "enum": ["cancelled"] } }, - "required": [ - "status" - ], + "required": ["status"], "additionalProperties": false } ] @@ -21964,9 +20249,7 @@ "$ref": "#/components/schemas/Form.Answer" } }, - "required": [ - "answer" - ], + "required": ["answer"], "additionalProperties": false }, "FormAlreadySettledError": { @@ -21974,9 +20257,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "FormAlreadySettledError" - ] + "enum": ["FormAlreadySettledError"] }, "id": { "type": "string" @@ -21985,11 +20266,7 @@ "type": "string" } }, - "required": [ - "_tag", - "id", - "message" - ], + "required": ["_tag", "id", "message"], "additionalProperties": false }, "FormInvalidAnswerError": { @@ -21997,9 +20274,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "FormInvalidAnswerError" - ] + "enum": ["FormInvalidAnswerError"] }, "id": { "type": "string" @@ -22008,11 +20283,7 @@ "type": "string" } }, - "required": [ - "_tag", - "id", - "message" - ], + "required": ["_tag", "id", "message"], "additionalProperties": false }, "Permission.Source": { @@ -22022,9 +20293,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "tool" - ] + "enum": ["tool"] }, "messageID": { "type": "string" @@ -22033,11 +20302,7 @@ "type": "string" } }, - "required": [ - "type", - "messageID", - "id" - ], + "required": ["type", "messageID", "id"], "additionalProperties": false } ] @@ -22083,12 +20348,7 @@ "$ref": "#/components/schemas/Permission.Source" } }, - "required": [ - "id", - "sessionID", - "action", - "resources" - ], + "required": ["id", "sessionID", "action", "resources"], "additionalProperties": false }, "PermissionSaved.Info": { @@ -22107,12 +20367,7 @@ "type": "string" } }, - "required": [ - "id", - "projectID", - "action", - "resource" - ], + "required": ["id", "projectID", "action", "resource"], "additionalProperties": false }, "PermissionNotFoundError": { @@ -22120,9 +20375,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "PermissionNotFoundError" - ] + "enum": ["PermissionNotFoundError"] }, "requestID": { "type": "string" @@ -22131,20 +20384,12 @@ "type": "string" } }, - "required": [ - "_tag", - "requestID", - "message" - ], + "required": ["_tag", "requestID", "message"], "additionalProperties": false }, "Permission.Reply": { "type": "string", - "enum": [ - "once", - "always", - "reject" - ] + "enum": ["once", "always", "reject"] }, "FileSystem.Entry": { "type": "object", @@ -22154,16 +20399,10 @@ }, "type": { "type": "string", - "enum": [ - "file", - "directory" - ] + "enum": ["file", "directory"] } }, - "required": [ - "path", - "type" - ], + "required": ["path", "type"], "additionalProperties": false }, "Command.Info": { @@ -22188,10 +20427,7 @@ "type": "boolean" } }, - "required": [ - "name", - "template" - ], + "required": ["name", "template"], "additionalProperties": false }, "Skill.Info": { @@ -22219,12 +20455,7 @@ "type": "string" } }, - "required": [ - "id", - "name", - "location", - "content" - ], + "required": ["id", "name", "location", "content"], "additionalProperties": false }, "models-dev.refreshed": { @@ -22246,9 +20477,7 @@ }, "type": { "type": "string", - "enum": [ - "models-dev.refreshed" - ] + "enum": ["models-dev.refreshed"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22264,12 +20493,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "integration.updated": { @@ -22291,9 +20515,7 @@ }, "type": { "type": "string", - "enum": [ - "integration.updated" - ] + "enum": ["integration.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22309,12 +20531,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "integration.connection.updated": { @@ -22336,9 +20553,7 @@ }, "type": { "type": "string", - "enum": [ - "integration.connection.updated" - ] + "enum": ["integration.connection.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22350,18 +20565,11 @@ "type": "string" } }, - "required": [ - "integrationID" - ], + "required": ["integrationID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "catalog.updated": { @@ -22383,9 +20591,7 @@ }, "type": { "type": "string", - "enum": [ - "catalog.updated" - ] + "enum": ["catalog.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22401,12 +20607,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "agent.updated": { @@ -22428,9 +20629,7 @@ }, "type": { "type": "string", - "enum": [ - "agent.updated" - ] + "enum": ["agent.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22446,12 +20645,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "session.usage.updated": { @@ -22473,9 +20667,7 @@ }, "type": { "type": "string", - "enum": [ - "session.usage.updated" - ] + "enum": ["session.usage.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22498,20 +20690,11 @@ "$ref": "#/components/schemas/TokenUsage.Info" } }, - "required": [ - "sessionID", - "cost", - "tokens" - ], + "required": ["sessionID", "cost", "tokens"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "session.text.delta": { @@ -22533,9 +20716,7 @@ }, "type": { "type": "string", - "enum": [ - "session.text.delta" - ] + "enum": ["session.text.delta"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22571,21 +20752,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "assistantMessageID", - "ordinal", - "delta" - ], + "required": ["sessionID", "assistantMessageID", "ordinal", "delta"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "session.reasoning.delta": { @@ -22607,9 +20778,7 @@ }, "type": { "type": "string", - "enum": [ - "session.reasoning.delta" - ] + "enum": ["session.reasoning.delta"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22645,21 +20814,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "assistantMessageID", - "ordinal", - "delta" - ], + "required": ["sessionID", "assistantMessageID", "ordinal", "delta"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "session.tool.input.delta": { @@ -22681,9 +20840,7 @@ }, "type": { "type": "string", - "enum": [ - "session.tool.input.delta" - ] + "enum": ["session.tool.input.delta"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22714,21 +20871,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "assistantMessageID", - "id", - "delta" - ], + "required": ["sessionID", "assistantMessageID", "id", "delta"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "session.tool.progress": { @@ -22750,9 +20897,7 @@ }, "type": { "type": "string", - "enum": [ - "session.tool.progress" - ] + "enum": ["session.tool.progress"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22783,21 +20928,11 @@ "type": "object" } }, - "required": [ - "sessionID", - "assistantMessageID", - "id", - "metadata" - ], + "required": ["sessionID", "assistantMessageID", "id", "metadata"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "session.compaction.delta": { @@ -22819,9 +20954,7 @@ }, "type": { "type": "string", - "enum": [ - "session.compaction.delta" - ] + "enum": ["session.compaction.delta"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22841,19 +20974,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "text" - ], + "required": ["sessionID", "text"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "filesystem.changed": { @@ -22875,9 +21000,7 @@ }, "type": { "type": "string", - "enum": [ - "filesystem.changed" - ] + "enum": ["filesystem.changed"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22890,26 +21013,14 @@ }, "event": { "type": "string", - "enum": [ - "add", - "change", - "unlink" - ] + "enum": ["add", "change", "unlink"] } }, - "required": [ - "file", - "event" - ], + "required": ["file", "event"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "reference.updated": { @@ -22931,9 +21042,7 @@ }, "type": { "type": "string", - "enum": [ - "reference.updated" - ] + "enum": ["reference.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22949,12 +21058,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "permission.asked": { @@ -22976,9 +21080,7 @@ }, "type": { "type": "string", - "enum": [ - "permission.asked" - ] + "enum": ["permission.asked"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23024,21 +21126,11 @@ "$ref": "#/components/schemas/Permission.Source" } }, - "required": [ - "id", - "sessionID", - "action", - "resources" - ], + "required": ["id", "sessionID", "action", "resources"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "permission.replied": { @@ -23060,9 +21152,7 @@ }, "type": { "type": "string", - "enum": [ - "permission.replied" - ] + "enum": ["permission.replied"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23090,20 +21180,11 @@ "$ref": "#/components/schemas/Permission.Reply" } }, - "required": [ - "sessionID", - "requestID", - "reply" - ], + "required": ["sessionID", "requestID", "reply"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "plugin.added": { @@ -23125,9 +21206,7 @@ }, "type": { "type": "string", - "enum": [ - "plugin.added" - ] + "enum": ["plugin.added"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23139,18 +21218,11 @@ "type": "string" } }, - "required": [ - "id" - ], + "required": ["id"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "plugin.updated": { @@ -23172,9 +21244,7 @@ }, "type": { "type": "string", - "enum": [ - "plugin.updated" - ] + "enum": ["plugin.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23190,12 +21260,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "project.directories.updated": { @@ -23217,9 +21282,7 @@ }, "type": { "type": "string", - "enum": [ - "project.directories.updated" - ] + "enum": ["project.directories.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23231,18 +21294,11 @@ "type": "string" } }, - "required": [ - "projectID" - ], + "required": ["projectID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "command.updated": { @@ -23264,9 +21320,7 @@ }, "type": { "type": "string", - "enum": [ - "command.updated" - ] + "enum": ["command.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23282,12 +21336,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "config.updated": { @@ -23309,9 +21358,7 @@ }, "type": { "type": "string", - "enum": [ - "config.updated" - ] + "enum": ["config.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23327,12 +21374,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "skill.updated": { @@ -23354,9 +21396,7 @@ }, "type": { "type": "string", - "enum": [ - "skill.updated" - ] + "enum": ["skill.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23372,12 +21412,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "Pty": { @@ -23408,10 +21443,7 @@ }, "status": { "type": "string", - "enum": [ - "running", - "exited" - ] + "enum": ["running", "exited"] }, "pid": { "type": "integer", @@ -23430,15 +21462,7 @@ ] } }, - "required": [ - "id", - "title", - "command", - "args", - "cwd", - "status", - "pid" - ], + "required": ["id", "title", "command", "args", "cwd", "status", "pid"], "additionalProperties": false }, "pty.created": { @@ -23460,9 +21484,7 @@ }, "type": { "type": "string", - "enum": [ - "pty.created" - ] + "enum": ["pty.created"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23474,18 +21496,11 @@ "$ref": "#/components/schemas/Pty" } }, - "required": [ - "info" - ], + "required": ["info"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "pty.updated": { @@ -23507,9 +21522,7 @@ }, "type": { "type": "string", - "enum": [ - "pty.updated" - ] + "enum": ["pty.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23521,18 +21534,11 @@ "$ref": "#/components/schemas/Pty" } }, - "required": [ - "info" - ], + "required": ["info"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "pty.exited": { @@ -23554,9 +21560,7 @@ }, "type": { "type": "string", - "enum": [ - "pty.exited" - ] + "enum": ["pty.exited"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23581,19 +21585,11 @@ ] } }, - "required": [ - "id", - "exitCode" - ], + "required": ["id", "exitCode"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "pty.deleted": { @@ -23615,9 +21611,7 @@ }, "type": { "type": "string", - "enum": [ - "pty.deleted" - ] + "enum": ["pty.deleted"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23634,18 +21628,11 @@ ] } }, - "required": [ - "id" - ], + "required": ["id"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "shell.created": { @@ -23667,9 +21654,7 @@ }, "type": { "type": "string", - "enum": [ - "shell.created" - ] + "enum": ["shell.created"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23681,18 +21666,11 @@ "$ref": "#/components/schemas/Shell.Info" } }, - "required": [ - "info" - ], + "required": ["info"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "shell.exited": { @@ -23714,9 +21692,7 @@ }, "type": { "type": "string", - "enum": [ - "shell.exited" - ] + "enum": ["shell.exited"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23737,27 +21713,14 @@ }, "status": { "type": "string", - "enum": [ - "running", - "exited", - "timeout", - "killed" - ] + "enum": ["running", "exited", "timeout", "killed"] } }, - "required": [ - "id", - "status" - ], + "required": ["id", "status"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "shell.deleted": { @@ -23779,9 +21742,7 @@ }, "type": { "type": "string", - "enum": [ - "shell.deleted" - ] + "enum": ["shell.deleted"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23798,18 +21759,11 @@ ] } }, - "required": [ - "id" - ], + "required": ["id"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "Question.Option": { @@ -23824,10 +21778,7 @@ "description": "Explanation of choice" } }, - "required": [ - "label", - "description" - ], + "required": ["label", "description"], "additionalProperties": false }, "Question.Info": { @@ -23855,11 +21806,7 @@ "type": "boolean" } }, - "required": [ - "question", - "header", - "options" - ], + "required": ["question", "header", "options"], "additionalProperties": false }, "Question.Tool": { @@ -23872,10 +21819,7 @@ "type": "string" } }, - "required": [ - "messageID", - "id" - ], + "required": ["messageID", "id"], "additionalProperties": false }, "question.asked": { @@ -23897,9 +21841,7 @@ }, "type": { "type": "string", - "enum": [ - "question.asked" - ] + "enum": ["question.asked"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23934,20 +21876,11 @@ "$ref": "#/components/schemas/Question.Tool" } }, - "required": [ - "id", - "sessionID", - "questions" - ], + "required": ["id", "sessionID", "questions"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "Question.Answer": { @@ -23975,9 +21908,7 @@ }, "type": { "type": "string", - "enum": [ - "question.replied" - ] + "enum": ["question.replied"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -24008,20 +21939,11 @@ } } }, - "required": [ - "sessionID", - "requestID", - "answers" - ], + "required": ["sessionID", "requestID", "answers"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "question.rejected": { @@ -24043,9 +21965,7 @@ }, "type": { "type": "string", - "enum": [ - "question.rejected" - ] + "enum": ["question.rejected"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -24070,19 +21990,11 @@ ] } }, - "required": [ - "sessionID", - "requestID" - ], + "required": ["sessionID", "requestID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "Form.Metadata1": { @@ -24096,10 +22008,7 @@ }, "op": { "type": "string", - "enum": [ - "eq", - "neq" - ] + "enum": ["eq", "neq"] }, "value": { "anyOf": [ @@ -24113,21 +22022,15 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, @@ -24137,11 +22040,7 @@ ] } }, - "required": [ - "key", - "op", - "value" - ], + "required": ["key", "op", "value"], "additionalProperties": false }, "Form.StringField1": { @@ -24167,18 +22066,11 @@ }, "type": { "type": "string", - "enum": [ - "string" - ] + "enum": ["string"] }, "format": { "type": "string", - "enum": [ - "email", - "uri", - "date", - "date-time" - ] + "enum": ["email", "uri", "date", "date-time"] }, "minLength": { "type": "integer", @@ -24215,10 +22107,7 @@ "type": "boolean" } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.NumberField1": { @@ -24244,9 +22133,7 @@ }, "type": { "type": "string", - "enum": [ - "number" - ] + "enum": ["number"] }, "minimum": { "anyOf": [ @@ -24255,21 +22142,15 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, @@ -24280,21 +22161,15 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, @@ -24305,29 +22180,20 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.IntegerField1": { @@ -24353,9 +22219,7 @@ }, "type": { "type": "string", - "enum": [ - "integer" - ] + "enum": ["integer"] }, "minimum": { "anyOf": [ @@ -24364,21 +22228,15 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, @@ -24389,21 +22247,15 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, @@ -24414,29 +22266,20 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.BooleanField1": { @@ -24462,18 +22305,13 @@ }, "type": { "type": "string", - "enum": [ - "boolean" - ] + "enum": ["boolean"] }, "default": { "type": "boolean" } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.MultiselectField1": { @@ -24499,9 +22337,7 @@ }, "type": { "type": "string", - "enum": [ - "multiselect" - ] + "enum": ["multiselect"] }, "options": { "type": "array", @@ -24535,11 +22371,7 @@ } } }, - "required": [ - "key", - "type", - "options" - ], + "required": ["key", "type", "options"], "additionalProperties": false }, "Form.Field1": { @@ -24600,12 +22432,7 @@ "$ref": "#/components/schemas/Form.Fields1" } }, - "required": [ - "id", - "sessionID", - "title", - "fields" - ], + "required": ["id", "sessionID", "title", "fields"], "additionalProperties": false }, "form.created": { @@ -24627,9 +22454,7 @@ }, "type": { "type": "string", - "enum": [ - "form.created" - ] + "enum": ["form.created"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -24641,18 +22466,11 @@ "$ref": "#/components/schemas/Form.Info1" } }, - "required": [ - "form" - ], + "required": ["form"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "Form.Value1": { @@ -24667,21 +22485,15 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, @@ -24721,9 +22533,7 @@ }, "type": { "type": "string", - "enum": [ - "form.replied" - ] + "enum": ["form.replied"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -24746,20 +22556,11 @@ "$ref": "#/components/schemas/Form.Answer1" } }, - "required": [ - "id", - "sessionID", - "answer" - ], + "required": ["id", "sessionID", "answer"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "form.cancelled": { @@ -24781,9 +22582,7 @@ }, "type": { "type": "string", - "enum": [ - "form.cancelled" - ] + "enum": ["form.cancelled"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -24803,19 +22602,11 @@ "type": "string" } }, - "required": [ - "id", - "sessionID" - ], + "required": ["id", "sessionID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "websearch.updated": { @@ -24837,9 +22628,7 @@ }, "type": { "type": "string", - "enum": [ - "websearch.updated" - ] + "enum": ["websearch.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -24855,12 +22644,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "SessionStatus": { @@ -24870,14 +22654,10 @@ "properties": { "type": { "type": "string", - "enum": [ - "idle" - ] + "enum": ["idle"] } }, - "required": [ - "type" - ], + "required": ["type"], "additionalProperties": false }, { @@ -24885,9 +22665,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "retry" - ] + "enum": ["retry"] }, "attempt": { "type": "integer", @@ -24922,13 +22700,7 @@ "type": "string" } }, - "required": [ - "reason", - "provider", - "title", - "message", - "label" - ], + "required": ["reason", "provider", "title", "message", "label"], "additionalProperties": false }, "next": { @@ -24940,12 +22712,7 @@ ] } }, - "required": [ - "type", - "attempt", - "message", - "next" - ], + "required": ["type", "attempt", "message", "next"], "additionalProperties": false }, { @@ -24953,14 +22720,10 @@ "properties": { "type": { "type": "string", - "enum": [ - "busy" - ] + "enum": ["busy"] } }, - "required": [ - "type" - ], + "required": ["type"], "additionalProperties": false } ] @@ -24984,9 +22747,7 @@ }, "type": { "type": "string", - "enum": [ - "session.status" - ] + "enum": ["session.status"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25006,19 +22767,11 @@ "$ref": "#/components/schemas/SessionStatus" } }, - "required": [ - "sessionID", - "status" - ], + "required": ["sessionID", "status"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "session.idle": { @@ -25040,9 +22793,7 @@ }, "type": { "type": "string", - "enum": [ - "session.idle" - ] + "enum": ["session.idle"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25059,18 +22810,11 @@ ] } }, - "required": [ - "sessionID" - ], + "required": ["sessionID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "tui.prompt.append": { @@ -25092,9 +22836,7 @@ }, "type": { "type": "string", - "enum": [ - "tui.prompt.append" - ] + "enum": ["tui.prompt.append"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25106,18 +22848,11 @@ "type": "string" } }, - "required": [ - "text" - ], + "required": ["text"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "tui.command.execute": { @@ -25139,9 +22874,7 @@ }, "type": { "type": "string", - "enum": [ - "tui.command.execute" - ] + "enum": ["tui.command.execute"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25179,18 +22912,11 @@ ] } }, - "required": [ - "command" - ], + "required": ["command"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "tui.toast.show": { @@ -25212,9 +22938,7 @@ }, "type": { "type": "string", - "enum": [ - "tui.toast.show" - ] + "enum": ["tui.toast.show"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25230,12 +22954,7 @@ }, "variant": { "type": "string", - "enum": [ - "info", - "success", - "warning", - "error" - ] + "enum": ["info", "success", "warning", "error"] }, "duration": { "anyOf": [ @@ -25253,19 +22972,11 @@ ] } }, - "required": [ - "message", - "variant" - ], + "required": ["message", "variant"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "tui.session.select": { @@ -25287,9 +22998,7 @@ }, "type": { "type": "string", - "enum": [ - "tui.session.select" - ] + "enum": ["tui.session.select"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25307,18 +23016,11 @@ ] } }, - "required": [ - "sessionID" - ], + "required": ["sessionID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "installation.updated": { @@ -25340,9 +23042,7 @@ }, "type": { "type": "string", - "enum": [ - "installation.updated" - ] + "enum": ["installation.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25354,18 +23054,11 @@ "type": "string" } }, - "required": [ - "version" - ], + "required": ["version"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "installation.update-available": { @@ -25387,9 +23080,7 @@ }, "type": { "type": "string", - "enum": [ - "installation.update-available" - ] + "enum": ["installation.update-available"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25401,18 +23092,11 @@ "type": "string" } }, - "required": [ - "version" - ], + "required": ["version"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "vcs.branch.updated": { @@ -25434,9 +23118,7 @@ }, "type": { "type": "string", - "enum": [ - "vcs.branch.updated" - ] + "enum": ["vcs.branch.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25451,12 +23133,7 @@ "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "mcp.status.changed": { @@ -25478,9 +23155,7 @@ }, "type": { "type": "string", - "enum": [ - "mcp.status.changed" - ] + "enum": ["mcp.status.changed"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25492,18 +23167,11 @@ "type": "string" } }, - "required": [ - "server" - ], + "required": ["server"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "mcp.resources.changed": { @@ -25525,9 +23193,7 @@ }, "type": { "type": "string", - "enum": [ - "mcp.resources.changed" - ] + "enum": ["mcp.resources.changed"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25539,18 +23205,11 @@ "type": "string" } }, - "required": [ - "server" - ], + "required": ["server"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "V2Event.server.connected": { @@ -25586,9 +23245,7 @@ }, "type": { "type": "string", - "enum": [ - "server.connected" - ] + "enum": ["server.connected"] }, "data": { "anyOf": [ @@ -25601,11 +23258,7 @@ ] } }, - "required": [ - "id", - "type", - "data" - ], + "required": ["id", "type", "data"], "additionalProperties": false }, "V2Event": { @@ -25655,6 +23308,15 @@ { "$ref": "#/components/schemas/session.input.admitted" }, + { + "$ref": "#/components/schemas/session.input.cancelled" + }, + { + "$ref": "#/components/schemas/session.input.steered" + }, + { + "$ref": "#/components/schemas/session.input.queued" + }, { "$ref": "#/components/schemas/session.execution.started" }, @@ -25879,9 +23541,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "PtyNotFoundError" - ] + "enum": ["PtyNotFoundError"] }, "ptyID": { "type": "string" @@ -25890,11 +23550,7 @@ "type": "string" } }, - "required": [ - "_tag", - "ptyID", - "message" - ], + "required": ["_tag", "ptyID", "message"], "additionalProperties": false }, "PtyTicket.ConnectToken": { @@ -25912,10 +23568,7 @@ ] } }, - "required": [ - "ticket", - "expires_in" - ], + "required": ["ticket", "expires_in"], "additionalProperties": false }, "ForbiddenError": { @@ -25923,18 +23576,13 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "ForbiddenError" - ] + "enum": ["ForbiddenError"] }, "message": { "type": "string" } }, - "required": [ - "_tag", - "message" - ], + "required": ["_tag", "message"], "additionalProperties": false }, "Shell.Info1": { @@ -25950,12 +23598,7 @@ }, "status": { "type": "string", - "enum": [ - "running", - "exited", - "timeout", - "killed" - ] + "enum": ["running", "exited", "timeout", "killed"] }, "command": { "type": "string" @@ -25993,22 +23636,11 @@ "type": "number" } }, - "required": [ - "started" - ], + "required": ["started"], "additionalProperties": false } }, - "required": [ - "id", - "status", - "command", - "cwd", - "shell", - "file", - "metadata", - "time" - ], + "required": ["id", "status", "command", "cwd", "shell", "file", "metadata", "time"], "additionalProperties": false }, "ShellNotFoundError": { @@ -26016,9 +23648,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "ShellNotFoundError" - ] + "enum": ["ShellNotFoundError"] }, "id": { "type": "string" @@ -26027,11 +23657,7 @@ "type": "string" } }, - "required": [ - "_tag", - "id", - "message" - ], + "required": ["_tag", "id", "message"], "additionalProperties": false }, "Question.Request": { @@ -26064,11 +23690,7 @@ "$ref": "#/components/schemas/Question.Tool" } }, - "required": [ - "id", - "sessionID", - "questions" - ], + "required": ["id", "sessionID", "questions"], "additionalProperties": false }, "Question.Reply": { @@ -26082,9 +23704,7 @@ "description": "User answers in order of questions (each answer is an array of selected labels)" } }, - "required": [ - "answers" - ], + "required": ["answers"], "additionalProperties": false }, "QuestionNotFoundError": { @@ -26092,9 +23712,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "QuestionNotFoundError" - ] + "enum": ["QuestionNotFoundError"] }, "requestID": { "type": "string" @@ -26103,11 +23721,7 @@ "type": "string" } }, - "required": [ - "_tag", - "requestID", - "message" - ], + "required": ["_tag", "requestID", "message"], "additionalProperties": false }, "Reference.LocalSource": { @@ -26115,9 +23729,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "local" - ] + "enum": ["local"] }, "path": { "type": "string" @@ -26129,10 +23741,7 @@ "type": "boolean" } }, - "required": [ - "type", - "path" - ], + "required": ["type", "path"], "additionalProperties": false }, "Reference.GitSource": { @@ -26140,9 +23749,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "git" - ] + "enum": ["git"] }, "repository": { "type": "string" @@ -26157,10 +23764,7 @@ "type": "boolean" } }, - "required": [ - "type", - "repository" - ], + "required": ["type", "repository"], "additionalProperties": false }, "Reference.Source": { @@ -26192,11 +23796,7 @@ "$ref": "#/components/schemas/Reference.Source" } }, - "required": [ - "name", - "path", - "source" - ], + "required": ["name", "path", "source"], "additionalProperties": false }, "ProjectCopy.Copy": { @@ -26206,9 +23806,7 @@ "type": "string" } }, - "required": [ - "directory" - ], + "required": ["directory"], "additionalProperties": false }, "ProjectCopyError": { @@ -26216,9 +23814,7 @@ "properties": { "name": { "type": "string", - "enum": [ - "ProjectCopyError" - ] + "enum": ["ProjectCopyError"] }, "data": { "type": "object", @@ -26237,16 +23833,11 @@ ] } }, - "required": [ - "message" - ], + "required": ["message"], "additionalProperties": false } }, - "required": [ - "name", - "data" - ], + "required": ["name", "data"], "additionalProperties": false }, "Vcs.Branch": { @@ -26268,9 +23859,7 @@ "$ref": "#/components/schemas/Vcs.Branch" } }, - "required": [ - "branch" - ], + "required": ["branch"], "additionalProperties": false }, "Vcs.FileStatus": { @@ -26297,27 +23886,15 @@ }, "status": { "type": "string", - "enum": [ - "added", - "deleted", - "modified" - ] + "enum": ["added", "deleted", "modified"] } }, - "required": [ - "file", - "additions", - "deletions", - "status" - ], + "required": ["file", "additions", "deletions", "status"], "additionalProperties": false }, "Vcs.Mode": { "type": "string", - "enum": [ - "working", - "branch" - ] + "enum": ["working", "branch"] }, "WebSearch.Provider": { "type": "object", @@ -26329,10 +23906,7 @@ "type": "string" } }, - "required": [ - "id", - "name" - ], + "required": ["id", "name"], "additionalProperties": false }, "WebSearch.Result": { @@ -26357,10 +23931,7 @@ "additionalProperties": false } }, - "required": [ - "url", - "time" - ], + "required": ["url", "time"], "additionalProperties": false }, "WebSearch.Response": { @@ -26376,10 +23947,7 @@ } } }, - "required": [ - "providerID", - "results" - ], + "required": ["providerID", "results"], "additionalProperties": false }, "Config.Agent": { @@ -26423,10 +23991,7 @@ ] } }, - "required": [ - "providerID", - "model" - ], + "required": ["providerID", "model"], "additionalProperties": false } ] @@ -26454,11 +24019,7 @@ }, "mode": { "type": "string", - "enum": [ - "subagent", - "primary", - "all" - ] + "enum": ["subagent", "primary", "all"] }, "hidden": { "type": "boolean" @@ -26543,9 +24104,7 @@ "type": "object" } }, - "required": [ - "command" - ], + "required": ["command"], "additionalProperties": false }, "Config.Command": { @@ -26598,10 +24157,7 @@ ] } }, - "required": [ - "providerID", - "model" - ], + "required": ["providerID", "model"], "additionalProperties": false } ] @@ -26610,9 +24166,7 @@ "type": "boolean" } }, - "required": [ - "template" - ], + "required": ["template"], "additionalProperties": false }, "Config.Reference.Git": { @@ -26631,9 +24185,7 @@ "type": "boolean" } }, - "required": [ - "repository" - ], + "required": ["repository"], "additionalProperties": false }, "Config.Reference.Local": { @@ -26649,9 +24201,7 @@ "type": "boolean" } }, - "required": [ - "path" - ], + "required": ["path"], "additionalProperties": false }, "Config.Plugin.Entry": { @@ -26664,9 +24214,7 @@ "type": "object" } }, - "required": [ - "package" - ], + "required": ["package"], "additionalProperties": false }, "Config.Warming": { @@ -26692,18 +24240,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "context" - ] + "enum": ["context"] }, "size": { "type": "integer" } }, - "required": [ - "type", - "size" - ], + "required": ["type", "size"], "additionalProperties": false }, "input": { @@ -26725,10 +24268,7 @@ "additionalProperties": false } }, - "required": [ - "input", - "output" - ], + "required": ["input", "output"], "additionalProperties": false }, "Config.Model": { @@ -26785,9 +24325,7 @@ "type": "object" } }, - "required": [ - "id" - ], + "required": ["id"], "additionalProperties": false } }, @@ -26908,10 +24446,7 @@ ] } }, - "required": [ - "providerID", - "model" - ], + "required": ["providerID", "model"], "additionalProperties": false } ] @@ -26926,19 +24461,13 @@ }, { "type": "string", - "enum": [ - "notify" - ] + "enum": ["notify"] } ] }, "share": { "type": "string", - "enum": [ - "manual", - "auto", - "disabled" - ] + "enum": ["manual", "auto", "disabled"] }, "enterprise": { "type": "object", @@ -27003,14 +24532,10 @@ "properties": { "disabled": { "type": "boolean", - "enum": [ - true - ] + "enum": [true] } }, - "required": [ - "disabled" - ], + "required": ["disabled"], "additionalProperties": false }, { @@ -27203,9 +24728,7 @@ "type": "string" } }, - "required": [ - "provider" - ], + "required": ["provider"], "additionalProperties": false }, "plugins": { @@ -27255,26 +24778,17 @@ "properties": { "action": { "type": "string", - "enum": [ - "provider.use" - ] + "enum": ["provider.use"] }, "resource": { "type": "string" }, "effect": { "type": "string", - "enum": [ - "allow", - "deny" - ] + "enum": ["allow", "deny"] } }, - "required": [ - "action", - "resource", - "effect" - ], + "required": ["action", "resource", "effect"], "additionalProperties": false } } @@ -27289,9 +24803,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "document" - ] + "enum": ["document"] }, "path": { "type": "string" @@ -27300,10 +24812,7 @@ "$ref": "#/components/schemas/Config.Info" } }, - "required": [ - "type", - "info" - ], + "required": ["type", "info"], "additionalProperties": false }, "Config.Directory": { @@ -27311,18 +24820,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "directory" - ] + "enum": ["directory"] }, "path": { "type": "string" } }, - "required": [ - "type", - "path" - ], + "required": ["type", "path"], "additionalProperties": false }, "Config.File": { @@ -27330,18 +24834,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "file" - ] + "enum": ["file"] }, "path": { "type": "string" } }, - "required": [ - "type", - "path" - ], + "required": ["type", "path"], "additionalProperties": false }, "Config.AgentsDirectory": { @@ -27349,18 +24848,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "agents" - ] + "enum": ["agents"] }, "path": { "type": "string" } }, - "required": [ - "type", - "path" - ], + "required": ["type", "path"], "additionalProperties": false }, "Config.ClaudeDirectory": { @@ -27368,18 +24862,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "claude" - ] + "enum": ["claude"] }, "path": { "type": "string" } }, - "required": [ - "type", - "path" - ], + "required": ["type", "path"], "additionalProperties": false }, "Config.Entry": { diff --git a/packages/protocol/src/groups/question.ts b/packages/protocol/src/groups/question.ts index 58545a390da..6a7cf0588d8 100644 --- a/packages/protocol/src/groups/question.ts +++ b/packages/protocol/src/groups/question.ts @@ -79,6 +79,4 @@ export const makeQuestionGroup = < }), ), ) - .annotateMerge( - OpenApi.annotations({ title: "question", description: "Experimental session question routes." }), - ) + .annotateMerge(OpenApi.annotations({ title: "question", description: "Experimental session question routes." })) diff --git a/packages/protocol/src/groups/session.ts b/packages/protocol/src/groups/session.ts index 2380a25f9fc..4c695442a68 100644 --- a/packages/protocol/src/groups/session.ts +++ b/packages/protocol/src/groups/session.ts @@ -211,14 +211,13 @@ export const makeSessionGroup = (sessionLo params: { sessionID: Session.ID }, success: Schema.Struct({ data: Session.Info }), error: SessionNotFoundError, - }) - .annotateMerge( - OpenApi.annotations({ - identifier: "v2.session.get", - summary: "Get session", - description: "Retrieve a session by ID.", - }), - ), + }).annotateMerge( + OpenApi.annotations({ + identifier: "v2.session.get", + summary: "Get session", + description: "Retrieve a session by ID.", + }), + ), ) .add( HttpApiEndpoint.delete("session.remove", "/api/session/:sessionID", { @@ -305,14 +304,13 @@ export const makeSessionGroup = (sessionLo payload: Location.Ref, success: HttpApiSchema.NoContent, error: [SessionNotFoundError, InvalidRequestError], - }) - .annotateMerge( - OpenApi.annotations({ - identifier: "v2.session.move", - summary: "Move session", - description: "Move a session to another project directory, optionally transferring local changes.", - }), - ), + }).annotateMerge( + OpenApi.annotations({ + identifier: "v2.session.move", + summary: "Move session", + description: "Move a session to another project directory, optionally transferring local changes.", + }), + ), ) .add( HttpApiEndpoint.post("session.prompt", "/api/session/:sessionID/prompt", { @@ -498,29 +496,27 @@ export const makeSessionGroup = (sessionLo params: { sessionID: Session.ID }, success: Schema.Struct({ data: Schema.Array(SessionMessage.Info) }), error: [SessionNotFoundError, UnknownError], - }) - .annotateMerge( - OpenApi.annotations({ - identifier: "v2.session.context", - summary: "Get session context", - description: "Retrieve the active context messages for a session (all messages after the last compaction).", - }), - ), + }).annotateMerge( + OpenApi.annotations({ + identifier: "v2.session.context", + summary: "Get session context", + description: "Retrieve the active context messages for a session (all messages after the last compaction).", + }), + ), ) .add( HttpApiEndpoint.get("session.pending.list", "/api/session/:sessionID/pending", { params: { sessionID: Session.ID }, success: Schema.Struct({ data: Schema.Array(SessionPending.Info) }), error: SessionNotFoundError, - }) - .annotateMerge( - OpenApi.annotations({ - identifier: "v2.session.pending.list", - summary: "List pending session work", - description: - "List durable admitted session work not yet visible in projected history, ordered by admission. Includes unpromoted user and synthetic inputs and unhandled compaction barriers. The runner owns consumption; items disappear once promoted or handled.", - }), - ), + }).annotateMerge( + OpenApi.annotations({ + identifier: "v2.session.pending.list", + summary: "List pending session work", + description: + "List durable admitted session work not yet visible in projected history, ordered by admission. Includes unpromoted user and synthetic inputs and unhandled compaction barriers. The runner owns consumption; items disappear once promoted or handled.", + }), + ), ) .add( HttpApiEndpoint.delete("session.pending.cancel", "/api/session/:sessionID/pending/:inputID", { @@ -528,12 +524,12 @@ export const makeSessionGroup = (sessionLo success: HttpApiSchema.NoContent, error: [ConflictError, SessionNotFoundError], }).annotateMerge( - OpenApi.annotations({ - identifier: "v2.session.pending.cancel", - summary: "Cancel pending input", - description: "Cancel an input that has not yet been promoted into session history.", - }), - ), + OpenApi.annotations({ + identifier: "v2.session.pending.cancel", + summary: "Cancel pending input", + description: "Cancel an input that has not yet been promoted into session history.", + }), + ), ) .add( HttpApiEndpoint.post("session.pending.steer", "/api/session/:sessionID/pending/:inputID/steer", { @@ -541,12 +537,12 @@ export const makeSessionGroup = (sessionLo success: HttpApiSchema.NoContent, error: [ConflictError, SessionNotFoundError], }).annotateMerge( - OpenApi.annotations({ - identifier: "v2.session.pending.steer", - summary: "Steer queued input", - description: "Change a queued input to steer delivery and wake session execution.", - }), - ), + OpenApi.annotations({ + identifier: "v2.session.pending.steer", + summary: "Steer queued input", + description: "Change a queued input to steer delivery and wake session execution.", + }), + ), ) .add( HttpApiEndpoint.post("session.pending.queue", "/api/session/:sessionID/pending/:inputID/queue", { @@ -554,12 +550,12 @@ export const makeSessionGroup = (sessionLo success: HttpApiSchema.NoContent, error: [ConflictError, SessionNotFoundError], }).annotateMerge( - OpenApi.annotations({ - identifier: "v2.session.pending.queue", - summary: "Queue pending steer", - description: "Change a pending steer to queued delivery.", - }), - ), + OpenApi.annotations({ + identifier: "v2.session.pending.queue", + summary: "Queue pending steer", + description: "Change a pending steer to queued delivery.", + }), + ), ) .add( HttpApiEndpoint.get("session.instructions.entry.list", "/api/session/:sessionID/instructions/entries", { @@ -638,15 +634,14 @@ export const makeSessionGroup = (sessionLo data: Schema.Union([SessionEvent.Durable, EventLog.Synced]).annotate({ identifier: "SessionLogItem" }), }), error: SessionNotFoundError, - }) - .annotateMerge( - OpenApi.annotations({ - identifier: "v2.session.log", - summary: "Read the session log", - description: - "Experimental durable session event log. Reads events after an exclusive aggregate sequence and continues with live events when follow=true.", - }), - ), + }).annotateMerge( + OpenApi.annotations({ + identifier: "v2.session.log", + summary: "Read the session log", + description: + "Experimental durable session event log. Reads events after an exclusive aggregate sequence and continues with live events when follow=true.", + }), + ), ) .add( HttpApiEndpoint.post("session.interrupt", "/api/session/:sessionID/interrupt", { @@ -684,14 +679,13 @@ export const makeSessionGroup = (sessionLo params: { sessionID: Session.ID, messageID: SessionMessage.ID }, success: Schema.Struct({ data: SessionMessage.Info }), error: [SessionNotFoundError, MessageNotFoundError], - }) - .annotateMerge( - OpenApi.annotations({ - identifier: "v2.session.message", - summary: "Get session message", - description: "Retrieve one projected message owned by the Session.", - }), - ), + }).annotateMerge( + OpenApi.annotations({ + identifier: "v2.session.message", + summary: "Get session message", + description: "Retrieve one projected message owned by the Session.", + }), + ), ) .annotateMerge( OpenApi.annotations({ diff --git a/packages/schema/test/contract-hygiene.test.ts b/packages/schema/test/contract-hygiene.test.ts index 7ab52ba5492..de6993beba0 100644 --- a/packages/schema/test/contract-hygiene.test.ts +++ b/packages/schema/test/contract-hygiene.test.ts @@ -188,9 +188,12 @@ describe("contract hygiene", () => { ) const source = sources.map((item) => item.source).join("\n") - expect(sources.filter((item) => item.file !== "provider.ts").map((item) => item.source).join("\n")).not.toContain( - "Schema.Any", - ) + expect( + sources + .filter((item) => item.file !== "provider.ts") + .map((item) => item.source) + .join("\n"), + ).not.toContain("Schema.Any") expect(sources.find((item) => item.file === "provider.ts")?.source.match(/Schema\.Any/g)).toHaveLength(4) expect(source).not.toContain("Schema.mutable") }) diff --git a/packages/schema/test/v1-isolation.test.ts b/packages/schema/test/v1-isolation.test.ts index f38b5b76fcb..807b2d34d31 100644 --- a/packages/schema/test/v1-isolation.test.ts +++ b/packages/schema/test/v1-isolation.test.ts @@ -16,7 +16,13 @@ test("compatibility entrypoints preserve isolated V1 schema identity", () => { }) test("current source does not import the V1 subtree directly", async () => { - const allowed = new Set(["filesystem-v1.ts", "legacy-event.ts", "permission-v1.ts", "question-v1.ts", "session-v1.ts"]) + const allowed = new Set([ + "filesystem-v1.ts", + "legacy-event.ts", + "permission-v1.ts", + "question-v1.ts", + "session-v1.ts", + ]) const files = [...new Bun.Glob("*.ts").scanSync(new URL("../src", import.meta.url).pathname)].filter( (file) => !allowed.has(file), ) diff --git a/packages/sdk-next/test/embedded.test.ts b/packages/sdk-next/test/embedded.test.ts index 3b3f823b169..df395cb6eba 100644 --- a/packages/sdk-next/test/embedded.test.ts +++ b/packages/sdk-next/test/embedded.test.ts @@ -71,15 +71,13 @@ it.live( Effect.gen(function* () { yield* ctx.tool .transform((draft) => - draft.add( - ({ - name: "bootstrap_sdk_tool", - description: "Marks the initial Location plugin generation", - input: Schema.Struct({}), - output: Schema.Void, - execute: () => Effect.succeed({ output: undefined }), - }), - ), + draft.add({ + name: "bootstrap_sdk_tool", + description: "Marks the initial Location plugin generation", + input: Schema.Struct({}), + output: Schema.Void, + execute: () => Effect.succeed({ output: undefined }), + }), ) .pipe(Effect.orDie) if (yield* Ref.updateAndGet(bootCount, (count) => count + 1).pipe(Effect.map((count) => count === 2))) { @@ -98,15 +96,13 @@ it.live( Effect.gen(function* () { yield* ctx.tool .transform((draft) => - draft.add( - ({ - name: "late_sdk_tool", - description: "Tool registered after Location boot", - input: Schema.Struct({}), - output: Schema.Void, - execute: () => Effect.succeed({ output: undefined }), - }), - ), + draft.add({ + name: "late_sdk_tool", + description: "Tool registered after Location boot", + input: Schema.Struct({}), + output: Schema.Void, + execute: () => Effect.succeed({ output: undefined }), + }), ) .pipe(Effect.orDie) if ( @@ -219,15 +215,13 @@ it.live( effect: (ctx) => ctx.tool .transform((draft) => - draft.add( - ({ - name: "embedded_tool", - description: "Embedded test tool", - input: Schema.Struct({}), - output: Schema.Struct({ ok: Schema.Boolean }), - execute: () => Effect.succeed({ output: { ok: true } }), - }), - ), + draft.add({ + name: "embedded_tool", + description: "Embedded test tool", + input: Schema.Struct({}), + output: Schema.Struct({ ok: Schema.Boolean }), + execute: () => Effect.succeed({ output: { ok: true } }), + }), ) .pipe(Effect.orDie), }) diff --git a/packages/server/src/handlers/shell.ts b/packages/server/src/handlers/shell.ts index ac1ae09a8c2..4b0f83bed5e 100644 --- a/packages/server/src/handlers/shell.ts +++ b/packages/server/src/handlers/shell.ts @@ -29,12 +29,15 @@ export const ShellHandler = HttpApiBuilder.group(Api, "server.shell", (handlers) Effect.fn(function* (ctx) { const shell = yield* Shell.Service return yield* response( - shell.get(ctx.params.id).pipe( - Effect.catchTag( - "Shell.NotFoundError", - () => new ShellNotFoundError({ id: ctx.params.id, message: `Shell command not found: ${ctx.params.id}` }), + shell + .get(ctx.params.id) + .pipe( + Effect.catchTag( + "Shell.NotFoundError", + () => + new ShellNotFoundError({ id: ctx.params.id, message: `Shell command not found: ${ctx.params.id}` }), + ), ), - ), ) }), ) @@ -43,12 +46,15 @@ export const ShellHandler = HttpApiBuilder.group(Api, "server.shell", (handlers) Effect.fn(function* (ctx) { const shell = yield* Shell.Service return yield* response( - shell.timeout(ctx.params.id, ctx.payload.timeout).pipe( - Effect.catchTag( - "Shell.NotFoundError", - () => new ShellNotFoundError({ id: ctx.params.id, message: `Shell command not found: ${ctx.params.id}` }), + shell + .timeout(ctx.params.id, ctx.payload.timeout) + .pipe( + Effect.catchTag( + "Shell.NotFoundError", + () => + new ShellNotFoundError({ id: ctx.params.id, message: `Shell command not found: ${ctx.params.id}` }), + ), ), - ), ) }), ) @@ -57,12 +63,15 @@ export const ShellHandler = HttpApiBuilder.group(Api, "server.shell", (handlers) Effect.fn(function* (ctx) { const shell = yield* Shell.Service return yield* response( - shell.output(ctx.params.id, { cursor: ctx.query.cursor, limit: ctx.query.limit }).pipe( - Effect.catchTag( - "Shell.NotFoundError", - () => new ShellNotFoundError({ id: ctx.params.id, message: `Shell command not found: ${ctx.params.id}` }), + shell + .output(ctx.params.id, { cursor: ctx.query.cursor, limit: ctx.query.limit }) + .pipe( + Effect.catchTag( + "Shell.NotFoundError", + () => + new ShellNotFoundError({ id: ctx.params.id, message: `Shell command not found: ${ctx.params.id}` }), + ), ), - ), ) }), ) @@ -70,12 +79,15 @@ export const ShellHandler = HttpApiBuilder.group(Api, "server.shell", (handlers) "shell.remove", Effect.fn(function* (ctx) { const shell = yield* Shell.Service - yield* shell.remove(ctx.params.id).pipe( - Effect.catchTag( - "Shell.NotFoundError", - () => new ShellNotFoundError({ id: ctx.params.id, message: `Shell command not found: ${ctx.params.id}` }), - ), - ) + yield* shell + .remove(ctx.params.id) + .pipe( + Effect.catchTag( + "Shell.NotFoundError", + () => + new ShellNotFoundError({ id: ctx.params.id, message: `Shell command not found: ${ctx.params.id}` }), + ), + ) return HttpApiSchema.NoContent.make() }), ) diff --git a/packages/server/src/options.ts b/packages/server/src/options.ts index cd88c825a6b..438551de73e 100644 --- a/packages/server/src/options.ts +++ b/packages/server/src/options.ts @@ -12,9 +12,7 @@ export const ServerOptions = Schema.Struct({ }), ), hostname: Schema.optional(Schema.String), - port: Schema.optional( - Schema.Int.check(Schema.isGreaterThanOrEqualTo(0), Schema.isLessThanOrEqualTo(65_535)), - ), + port: Schema.optional(Schema.Int.check(Schema.isGreaterThanOrEqualTo(0), Schema.isLessThanOrEqualTo(65_535))), password: Schema.optional(Schema.String), simulation: Schema.optional(Schema.Boolean), database: Schema.optional(Database.Options), diff --git a/packages/server/src/request-tracing.ts b/packages/server/src/request-tracing.ts index fa17f591527..b351d287695 100644 --- a/packages/server/src/request-tracing.ts +++ b/packages/server/src/request-tracing.ts @@ -1,6 +1,4 @@ import { Context, Effect, Scope, Tracer } from "effect" export const withoutParentSpan = (effect: Effect.Effect) => - effect.pipe( - Effect.updateContext((context: Context.Context) => Context.omit(Tracer.ParentSpan)(context)), - ) + effect.pipe(Effect.updateContext((context: Context.Context) => Context.omit(Tracer.ParentSpan)(context))) diff --git a/packages/server/src/service-status.ts b/packages/server/src/service-status.ts index bf2853479c8..c17a28d6bf7 100644 --- a/packages/server/src/service-status.ts +++ b/packages/server/src/service-status.ts @@ -29,16 +29,11 @@ export const make = Effect.fnUntraced(function* (options: { return { current: Ref.get(current), - ready: Ref.update(current, (status) => - status.type === "starting" ? ({ type: "ready" } satisfies State) : status, - ), - fail: Ref.update(current, (status) => - status.type === "starting" ? ({ type: "failed" } satisfies State) : status, - ), + ready: Ref.update(current, (status) => (status.type === "starting" ? ({ type: "ready" } satisfies State) : status)), + fail: Ref.update(current, (status) => (status.type === "starting" ? ({ type: "failed" } satisfies State) : status)), beginStopping, requestStop: (request) => { - if (!options.managed || request.instanceID !== options.instanceID) - return Effect.succeed(false) + if (!options.managed || request.instanceID !== options.instanceID) return Effect.succeed(false) return beginStopping.pipe(Effect.as(true)) }, } satisfies Interface diff --git a/packages/server/test/options.test.ts b/packages/server/test/options.test.ts index 5e528072f84..a16a20665e0 100644 --- a/packages/server/test/options.test.ts +++ b/packages/server/test/options.test.ts @@ -14,9 +14,11 @@ test("rejects ports outside the valid range", () => { }) test("accepts optional app metadata", () => { - expect( - Option.getOrThrow(decode({ app: { name: "sdk", version: "1.2.3", channel: "beta" } })).app, - ).toEqual({ name: "sdk", version: "1.2.3", channel: "beta" }) + expect(Option.getOrThrow(decode({ app: { name: "sdk", version: "1.2.3", channel: "beta" } })).app).toEqual({ + name: "sdk", + version: "1.2.3", + channel: "beta", + }) }) test("accepts durable event persistence configuration", () => { diff --git a/packages/simulation/src/backend/index.ts b/packages/simulation/src/backend/index.ts index 86014a1d1a7..5b54c8a9eb0 100644 --- a/packages/simulation/src/backend/index.ts +++ b/packages/simulation/src/backend/index.ts @@ -21,7 +21,9 @@ import { SimulatedProvider } from "./simulated-provider" * */ -export const simulationReplacements = Effect.fn("Simulation.replacements")(function* (app: { readonly version: string }) { +export const simulationReplacements = Effect.fn("Simulation.replacements")(function* (app: { + readonly version: string +}) { // ModelsDev dies when its catalog fetch fails, so simulation answers it with // an empty catalog; providers come from seeded config instead. const models = SimulationNetwork.json("GET", "https://models.dev/api.json", {}) diff --git a/packages/simulation/src/backend/simulated-provider.ts b/packages/simulation/src/backend/simulated-provider.ts index f4ead942d92..d2a90c362ad 100644 --- a/packages/simulation/src/backend/simulated-provider.ts +++ b/packages/simulation/src/backend/simulated-provider.ts @@ -562,25 +562,23 @@ const makeToolDriver = Effect.fn("SimulatedProvider.makeToolDriver")(function* ( ctx.tool .transform((draft) => { for (const registration of nextRegistrations) - draft.add( - { - name: registration.name, - options: - registration.permission === undefined - ? registration.options - : { ...registration.options, permission: registration.permission }, - description: registration.description, - input: registration.inputSchema, - output: registration.outputSchema ?? {}, - execute: (input, context) => - invoke( - generation, - SimulationProtocol.Backend.exposedToolName(registration), - input, - context, - ), - }, - ) + draft.add({ + name: registration.name, + options: + registration.permission === undefined + ? registration.options + : { ...registration.options, permission: registration.permission }, + description: registration.description, + input: registration.inputSchema, + output: registration.outputSchema ?? {}, + execute: (input, context) => + invoke( + generation, + SimulationProtocol.Backend.exposedToolName(registration), + input, + context, + ), + }) }) .pipe(Scope.provide(nextScope)), ) diff --git a/packages/simulation/src/frontend/simulation.ts b/packages/simulation/src/frontend/simulation.ts index 26b1329e823..0f077fb2b8b 100644 --- a/packages/simulation/src/frontend/simulation.ts +++ b/packages/simulation/src/frontend/simulation.ts @@ -19,7 +19,11 @@ export const create = Effect.fn("Drive.create")(function* (options: CliRendererC }), ) if (!headless && manifest.viewport) renderer.resize(manifest.viewport.cols, manifest.viewport.rows) - const server = yield* SimulationServer.start(SimulationActions.createHarness(renderer), manifest.endpoints.ui, version) + const server = yield* SimulationServer.start( + SimulationActions.createHarness(renderer), + manifest.endpoints.ui, + version, + ) yield* Effect.sync(() => process.stderr.write(`opencode drive ui websocket: ${server.url}\n`)) return renderer }) diff --git a/packages/simulation/test/frontend-server.test.ts b/packages/simulation/test/frontend-server.test.ts index 92e912fdd21..08b4b4b86d7 100644 --- a/packages/simulation/test/frontend-server.test.ts +++ b/packages/simulation/test/frontend-server.test.ts @@ -39,12 +39,7 @@ test("scopes the frontend control server and reports malformed JSON", async () = protocolVersion: 1, role: "ui", server: { name: "opencode", version: expect.any(String) }, - capabilities: expect.arrayContaining([ - "ui.state", - "ui.snapshot", - "ui.click.semantic", - "ui.capture", - ]), + capabilities: expect.arrayContaining(["ui.state", "ui.snapshot", "ui.click.semantic", "ui.capture"]), }, }) diff --git a/packages/simulation/test/simulated-provider.test.ts b/packages/simulation/test/simulated-provider.test.ts index 2142dd545db..e3b0b07439e 100644 --- a/packages/simulation/test/simulated-provider.test.ts +++ b/packages/simulation/test/simulated-provider.test.ts @@ -272,9 +272,9 @@ test("controls arbitrary tools through scoped SDK overlays", async () => { expect( (yield* registry.snapshot([{ action: "simulate_lookup", resource: "*", effect: "deny" }])).definitions, ).not.toContainEqual(expect.objectContaining({ name: "lookup" })) - const secondaryToolSet = yield* Tool.Service.use((secondaryRegistry) => - secondaryRegistry.snapshot(), - ).pipe(Effect.provide(secondary)) + const secondaryToolSet = yield* Tool.Service.use((secondaryRegistry) => secondaryRegistry.snapshot()).pipe( + Effect.provide(secondary), + ) expect(secondaryToolSet.definitions).toContainEqual( expect.objectContaining({ name: "lookup", description: "Look up a value" }), ) @@ -601,9 +601,9 @@ test("controls arbitrary tools through scoped SDK overlays", async () => { const replacedNames = replaced.definitions.map((definition) => definition.name) expect(replacedNames).toEqual(expect.arrayContaining(["github_search", "web_search"])) expect(replacedNames).not.toContain("lookup") - const secondaryReplaced = yield* Tool.Service.use((secondaryRegistry) => - secondaryRegistry.snapshot(), - ).pipe(Effect.provide(secondary)) + const secondaryReplaced = yield* Tool.Service.use((secondaryRegistry) => secondaryRegistry.snapshot()).pipe( + Effect.provide(secondary), + ) const secondaryNames = secondaryReplaced.definitions.map((definition) => definition.name) expect(secondaryNames).toEqual(expect.arrayContaining(["github_search", "web_search"])) expect(secondaryNames).not.toContain("lookup") @@ -701,12 +701,7 @@ const toolLifecycleLayer = (endpoint: string) => { }) return AppNodeBuilder.build( LayerNode.group([Database.node, Bus.node, SdkPlugins.node, LocationServiceMap.node, provider]), - [ - [ - Config.node, - Config.testLayer(), - ], - ], + [[Config.node, Config.testLayer()]], ) } diff --git a/packages/theme/src/tui/resolve.ts b/packages/theme/src/tui/resolve.ts index 67246a962e8..aa582832e90 100644 --- a/packages/theme/src/tui/resolve.ts +++ b/packages/theme/src/tui/resolve.ts @@ -142,7 +142,9 @@ function resolveView( return { ...(createResolver(source)(source, "theme") as ResolvedThemeTokens), hue, categorical, ...hueSteps } } -function compileHueSteps(hue: ResolvedThemeTokens["hue"]): Pick { +function compileHueSteps( + hue: ResolvedThemeTokens["hue"], +): Pick { const index = new WeakMap() for (const [name, scale] of Object.entries(hue) as [keyof typeof hue, HueScale][]) { HueStep.literals.forEach((step, position) => index.set(scale[step], { hue: name, step, position })) diff --git a/packages/tui/src/component/dialog-move-session.tsx b/packages/tui/src/component/dialog-move-session.tsx index ed2b870e273..5e20da6f001 100644 --- a/packages/tui/src/component/dialog-move-session.tsx +++ b/packages/tui/src/component/dialog-move-session.tsx @@ -159,10 +159,7 @@ export function DialogMoveSession(props: DialogMoveSessionProps) { if (b.location === b.root.directory) return 1 return a.location.localeCompare(b.location) }) - const titleWidth = Math.max( - 1, - dialogSelectContentWidth(Math.min(dialogWidth("xlarge"), dimensions().width - 2)), - ) + const titleWidth = Math.max(1, dialogSelectContentWidth(Math.min(dialogWidth("xlarge"), dimensions().width - 2))) return list.map((item) => { const title = abbreviateHome(item.location, paths.home) diff --git a/packages/tui/src/context/data.tsx b/packages/tui/src/context/data.tsx index 51efc9d2a7a..c43a1b7667c 100644 --- a/packages/tui/src/context/data.tsx +++ b/packages/tui/src/context/data.tsx @@ -239,8 +239,7 @@ export const { use: useData, provider: DataProvider } = createSimpleContext({ }, latestTool(assistant: SessionMessageAssistant | undefined, id?: string) { return assistant?.content.findLast( - (item): item is SessionMessageAssistantTool => - item.type === "tool" && (id === undefined || item.id === id), + (item): item is SessionMessageAssistantTool => item.type === "tool" && (id === undefined || item.id === id), ) }, latestText(assistant: SessionMessageAssistant | undefined) { diff --git a/packages/tui/src/feature-plugins/system/storybook/session-tabs.tsx b/packages/tui/src/feature-plugins/system/storybook/session-tabs.tsx index fff7c625f5a..302889136f6 100644 --- a/packages/tui/src/feature-plugins/system/storybook/session-tabs.tsx +++ b/packages/tui/src/feature-plugins/system/storybook/session-tabs.tsx @@ -2,11 +2,7 @@ import { Plugin } from "@opencode-ai/plugin/tui" import { useTerminalDimensions } from "@opentui/solid" import { batch, createSignal, For, onCleanup } from "solid-js" import { createStore, reconcile } from "solid-js/store" -import { - EMPTY_SESSION_TAB_STATUS, - SessionTabs, - type SessionTabsController, -} from "../../../component/session-tabs" +import { EMPTY_SESSION_TAB_STATUS, SessionTabs, type SessionTabsController } from "../../../component/session-tabs" import { moveSessionTab } from "../../../context/session-tabs-model" import type { Story } from "./index" diff --git a/packages/tui/src/mini/footer.command.tsx b/packages/tui/src/mini/footer.command.tsx index 2c58dd124e3..c861a5cd03f 100644 --- a/packages/tui/src/mini/footer.command.tsx +++ b/packages/tui/src/mini/footer.command.tsx @@ -388,18 +388,18 @@ export function RunCommandMenuBody(props: { }, ...(props.subagents().length > 0 ? [ - { - action: "subagent" as const, - category: "Session", - display: "View subagents", - footer: - activeSubagentCount() > 0 ? `${activeSubagentCount()} active` : `${props.subagents().length} recent`, - keywords: props - .subagents() - .map((item) => `${item.label} ${item.description} ${item.title ?? ""}`) - .join(" "), - }, - ] + { + action: "subagent" as const, + category: "Session", + display: "View subagents", + footer: + activeSubagentCount() > 0 ? `${activeSubagentCount()} active` : `${props.subagents().length} recent`, + keywords: props + .subagents() + .map((item) => `${item.label} ${item.description} ${item.title ?? ""}`) + .join(" "), + }, + ] : []), { action: "slash", @@ -421,16 +421,16 @@ export function RunCommandMenuBody(props: { const prompt: CommandEntry[] = props.commands() === undefined || skills().length > 0 ? [ - { - action: "skill" as const, - category: "Prompt", - display: "Skills", - footer: "/skills", - keywords: `skill skills ${skills() - .map((item) => `${item.name} ${item.description ?? ""}`) - .join(" ")}`.trim(), - }, - ] + { + action: "skill" as const, + category: "Prompt", + display: "Skills", + footer: "/skills", + keywords: `skill skills ${skills() + .map((item) => `${item.name} ${item.description ?? ""}`) + .join(" ")}`.trim(), + }, + ] : [] const agent: CommandEntry[] = [ { @@ -445,17 +445,17 @@ export function RunCommandMenuBody(props: { }, ...(props.queued().length > 0 ? [ - { - action: "queued" as const, - category: "Agent", - display: "View queued prompts", - footer: `${props.queued().length} pending`, - keywords: props - .queued() - .map((item) => item.prompt.text) - .join(" "), - }, - ] + { + action: "queued" as const, + category: "Agent", + display: "View queued prompts", + footer: `${props.queued().length} pending`, + keywords: props + .queued() + .map((item) => item.prompt.text) + .join(" "), + }, + ] : []), { action: "variant.cycle", @@ -466,13 +466,13 @@ export function RunCommandMenuBody(props: { }, ...(props.variants().length > 0 ? [ - { - action: "variant.list" as const, - category: "Agent", - display: "Switch model variant", - keywords: `variant variants ${props.variants().join(" ")}`, - }, - ] + { + action: "variant.list" as const, + category: "Agent", + display: "Switch model variant", + keywords: `variant variants ${props.variants().join(" ")}`, + }, + ] : []), ] return [ @@ -713,7 +713,7 @@ export function RunSettingsBody(props: { : { key: item.key, value: props.settings()[item.key] === "show" ? "hide" : "show" } setSaving(item.key) void Promise.resolve(props.onChange(next)) - .catch(() => { }) + .catch(() => {}) .finally(() => setSaving()) } const controller = createSearchablePanelController({ diff --git a/packages/tui/src/mini/runtime.queue.ts b/packages/tui/src/mini/runtime.queue.ts index 8ff308b7e1f..31e1f8c0c55 100644 --- a/packages/tui/src/mini/runtime.queue.ts +++ b/packages/tui/src/mini/runtime.queue.ts @@ -269,9 +269,7 @@ export async function runPromptQueue(input: QueueInput): Promise { prompt.command?.source !== "skill" && !isNewCommand(prompt.text) && !isCompactCommand(prompt.text) && - !state.queue.some( - (item) => item.mode !== "shell" && (isNewCommand(item.text) || isCompactCommand(item.text)), - ) + !state.queue.some((item) => item.mode !== "shell" && (isNewCommand(item.text) || isCompactCommand(item.text))) ) { const sent = { ...prompt, messageID: SessionMessage.ID.create() } const admission = state.admission diff --git a/packages/tui/src/mini/runtime.ts b/packages/tui/src/mini/runtime.ts index b72c0e0457e..92b21476de9 100644 --- a/packages/tui/src/mini/runtime.ts +++ b/packages/tui/src/mini/runtime.ts @@ -515,8 +515,7 @@ async function runInteractiveRuntime(input: RunRuntimeInput, deps: RunRuntimeDep if ( !info || !currentModelLoad(generation, sdk) || - (selected && - (state.model?.providerID !== selected.providerID || state.model.modelID !== selected.modelID)) + (selected && (state.model?.providerID !== selected.providerID || state.model.modelID !== selected.modelID)) ) return applyModelInfo( @@ -674,8 +673,7 @@ async function runInteractiveRuntime(input: RunRuntimeInput, deps: RunRuntimeDep if (state.model || !currentClient(attempt)) return state.defaultModel = model state.variants = variantsFor(state.providers, model) - if (changed) - state.activeVariant = resolveVariant(ctx.variant, state.activeVariant, saved, state.variants) + if (changed) state.activeVariant = resolveVariant(ctx.variant, state.activeVariant, saved, state.variants) if (state.activeVariant) state.model = model footer.event({ type: "variants", variants: state.variants, current: state.activeVariant }) footer.event({ diff --git a/packages/tui/src/mini/stream-v2.fragment.ts b/packages/tui/src/mini/stream-v2.fragment.ts index cca8132fc4a..20565c0c413 100644 --- a/packages/tui/src/mini/stream-v2.fragment.ts +++ b/packages/tui/src/mini/stream-v2.fragment.ts @@ -14,10 +14,7 @@ export type FragmentUpdate = FragmentRef & { text: string } -export type FragmentRestore = - | { type: "append"; suffix: string } - | { type: "covered" } - | { type: "conflict" } +export type FragmentRestore = { type: "append"; suffix: string } | { type: "covered" } | { type: "conflict" } export function fragmentRef(messageID: string, kind: "text" | "reasoning", ordinal: number): FragmentRef { return { messageID, partID: `${kind}:${ordinal}` } diff --git a/packages/tui/src/mini/stream-v2.transport.ts b/packages/tui/src/mini/stream-v2.transport.ts index ea4a15e978e..fe8201d50a3 100644 --- a/packages/tui/src/mini/stream-v2.transport.ts +++ b/packages/tui/src/mini/stream-v2.transport.ts @@ -1018,10 +1018,7 @@ export async function createSessionTransport(input: StreamInput): Promise admitPrompt(next, client, next.prompt.delivery ?? "steer"), admitted) + await runTurnWait( + next, + messageID, + client, + () => admitPrompt(next, client, next.prompt.delivery ?? "steer"), + admitted, + ) return } @@ -1741,7 +1744,13 @@ export async function createSessionTransport(input: StreamInput): Promise admitPrompt(next, client, next.prompt.delivery ?? "steer"), admitted) + await runTurnWait( + next, + messageID, + client, + () => admitPrompt(next, client, next.prompt.delivery ?? "steer"), + admitted, + ) }, async interruptActiveTurn() { // A running shell holds no drain, so session.interrupt cannot reach it; diff --git a/packages/tui/src/plugin/discovery.ts b/packages/tui/src/plugin/discovery.ts index 80b831f07e5..1b1c2fc9fb4 100644 --- a/packages/tui/src/plugin/discovery.ts +++ b/packages/tui/src/plugin/discovery.ts @@ -1,11 +1,7 @@ import { readdir, stat } from "node:fs/promises" import path from "node:path" import { fileURLToPath, pathToFileURL } from "node:url" -import { - isMissingPath, - localProjectDirectory, - projectConfigDirectories, -} from "../util/config-directories" +import { isMissingPath, localProjectDirectory, projectConfigDirectories } from "../util/config-directories" const extensions = new Set([".cjs", ".cts", ".js", ".jsx", ".mjs", ".mts", ".ts", ".tsx"]) @@ -22,9 +18,7 @@ export async function tuiPluginDirectories(cwd: string, configDirectory: string) ) }), ) - return directories - .filter((_, index) => exists[index]) - .map((directory) => path.join(directory, "plugins", "tui")) + return directories.filter((_, index) => exists[index]).map((directory) => path.join(directory, "plugins", "tui")) } export async function discoverTuiPlugins(directories: string[]) { diff --git a/packages/tui/src/plugin/render.tsx b/packages/tui/src/plugin/render.tsx index f07a6d0be3b..c6704592ec2 100644 --- a/packages/tui/src/plugin/render.tsx +++ b/packages/tui/src/plugin/render.tsx @@ -1,4 +1,14 @@ -import { createComponent, createMemo, ErrorBoundary, For, mergeProps, onMount, Show, type JSX, type ParentProps } from "solid-js" +import { + createComponent, + createMemo, + ErrorBoundary, + For, + mergeProps, + onMount, + Show, + type JSX, + type ParentProps, +} from "solid-js" import type { SlotMap, SlotName } from "@opencode-ai/plugin/tui/context" import { useRoute } from "../context/route" import { useToast } from "../ui/toast" diff --git a/packages/tui/src/prompt/mention.ts b/packages/tui/src/prompt/mention.ts index 18bca98b0dc..301a3bb96da 100644 --- a/packages/tui/src/prompt/mention.ts +++ b/packages/tui/src/prompt/mention.ts @@ -35,9 +35,7 @@ export function realignPromptMentions( ([left], [right]) => right.length - left.length || left.localeCompare(right), )) { const candidates = mentionRanges(content, text) - const available = candidates.filter( - (candidate) => !protectedRanges.some((range) => overlaps(candidate, range)), - ) + const available = candidates.filter((candidate) => !protectedRanges.some((range) => overlaps(candidate, range))) for (const [item, candidate] of assignMentions(items, available)) { aligned[item.index] = { text, @@ -109,7 +107,10 @@ function assignMentions(items: MentionItem[], candidates: CandidateRange[]) { const ordered = items.toSorted((left, right) => left.mention.start - right.mention.start || left.index - right.index) const memo = new Map }>() - function solve(item: number, candidate: number): { matches: number; cost: number; pairs: Array<[MentionItem, CandidateRange]> } { + function solve( + item: number, + candidate: number, + ): { matches: number; cost: number; pairs: Array<[MentionItem, CandidateRange]> } { if (item >= ordered.length || candidate >= candidates.length) return { matches: 0, cost: 0, pairs: [] } const key = `${item}:${candidate}` const cached = memo.get(key) diff --git a/packages/tui/src/routes/session/index.tsx b/packages/tui/src/routes/session/index.tsx index 01c44b279b2..733b9d8303b 100644 --- a/packages/tui/src/routes/session/index.tsx +++ b/packages/tui/src/routes/session/index.tsx @@ -887,13 +887,13 @@ export function Session() { if (options === null) return const content = - options.format === "markdown" - ? formatSessionTranscript(sessionData, messages(), options.thinking) - : JSON.stringify( - await client.api.session.export({ sessionID: sessionData.id, sanitize: options.sanitize }), - null, - 2, - ) + EOL + options.format === "markdown" + ? formatSessionTranscript(sessionData, messages(), options.thinking) + : JSON.stringify( + await client.api.session.export({ sessionID: sessionData.id, sanitize: options.sanitize }), + null, + 2, + ) + EOL if (options.action === "copy") { await clipboard.write?.(content) @@ -1191,11 +1191,7 @@ function SessionRowView(props: SessionRowViewProps) { {(row) => ( - + )} @@ -1302,21 +1298,10 @@ function TurnTokenToolCalls(props: { tools: SessionMessageAssistantTool[] }) { {(tool) => ( - + {tool.name} - + {turnTokenToolSummary(tool)} @@ -1333,9 +1318,7 @@ function turnTokenToolSummary(tool: SessionMessageAssistantTool) { const primaryKey = ["command", "id", "pattern", "url", "query", "path", "description", "code"].find( (key) => key in data, ) - const input = Object.entries(data).filter(([, value]) => - ["string", "number", "boolean"].includes(typeof value), - ) + const input = Object.entries(data).filter(([, value]) => ["string", "number", "boolean"].includes(typeof value)) const primary = input.find(([key]) => key === primaryKey)?.[1] const details = input.filter(([key]) => key !== primaryKey).map(([key, value]) => `${key}: ${String(value)}`) return [primary === undefined ? "" : String(primary), ...details].filter(Boolean).join(" ") @@ -1737,8 +1720,7 @@ function CompactionMessage(props: { message: Extract props.message.status === "failed" ? (cancelled() ? "" : props.message.error.message) : props.message.summary const content = createMemo(() => text().trim()) - const color = () => - status() === "failed" && !cancelled() ? theme.text.feedback.error.default : theme.text.subdued + const color = () => (status() === "failed" && !cancelled() ? theme.text.feedback.error.default : theme.text.subdued) return ( @@ -2319,10 +2301,7 @@ function GenericTool(props: ToolProps) { {(value) => ( - - {" "} - Output{" "} - + Output @@ -2574,9 +2553,7 @@ function BlockToolContent(props: BlockToolProps & { borderColor: RGBA }) { - {title()} - + {title()} } > diff --git a/packages/tui/src/routes/session/rows.ts b/packages/tui/src/routes/session/rows.ts index bc39f1c00f1..8540c23be17 100644 --- a/packages/tui/src/routes/session/rows.ts +++ b/packages/tui/src/routes/session/rows.ts @@ -201,9 +201,7 @@ export function createSessionRows(sessionID: Accessor) { const queuedStart = (rows: SessionRow[]) => { const index = rows.findIndex( - (row) => - row.type === "compaction-queued" || - (row.type === "message" && isPending(row.messageID)), + (row) => row.type === "compaction-queued" || (row.type === "message" && isPending(row.messageID)), ) return index === -1 ? rows.length : index } @@ -288,11 +286,7 @@ export function createSessionRows(sessionID: Accessor) { return rows } -export function reduceSessionRows( - messages: SessionMessageInfo[], - inputs = new Set(), - turnTokens = false, -) { +export function reduceSessionRows(messages: SessionMessageInfo[], inputs = new Set(), turnTokens = false) { const isInput = (message: SessionMessageInfo) => inputs.has(message.id) const pendingCompactions = messages.filter((message) => message.type === "compaction" && message.status === "running") const pending = new Set([...pendingCompactions.map((message) => message.id), ...inputs]) @@ -306,8 +300,7 @@ export function reduceSessionRows( ].reduce((rows, message) => { if (message.type !== "assistant") { if (message.type === "synthetic" && !message.description?.trim()) return rows - if (message.type === "compaction" && message.status === "completed" && usage) - usage.previousTurnCache = undefined + if (message.type === "compaction" && message.status === "completed" && usage) usage.previousTurnCache = undefined if (!pending.has(message.id)) completePrevious(rows) rows.push({ type: "message", messageID: message.id }) return rows @@ -391,7 +384,7 @@ function rowBoundaryMessageID(row: SessionRow, messages: Map [name, { ...syntax.getStyle(name), fg: foreground }]), - ), + Object.fromEntries(syntax.getRegisteredNames().map((name) => [name, { ...syntax.getStyle(name), fg: foreground }])), ) } diff --git a/packages/tui/src/ui/dialog-export-options.tsx b/packages/tui/src/ui/dialog-export-options.tsx index ff021295d15..242923c2ed9 100644 --- a/packages/tui/src/ui/dialog-export-options.tsx +++ b/packages/tui/src/ui/dialog-export-options.tsx @@ -9,7 +9,12 @@ export type ExportFormat = "markdown" | "json" export type DialogExportOptionsProps = { defaultThinking: boolean - onConfirm?: (options: { action: "copy" | "export"; format: ExportFormat; thinking: boolean; sanitize: boolean }) => void + onConfirm?: (options: { + action: "copy" | "export" + format: ExportFormat + thinking: boolean + sanitize: boolean + }) => void onCancel?: () => void } diff --git a/packages/tui/src/util/diff.ts b/packages/tui/src/util/diff.ts index f888bc8e9a7..a58b53d7e9d 100644 --- a/packages/tui/src/util/diff.ts +++ b/packages/tui/src/util/diff.ts @@ -5,9 +5,7 @@ export interface PatchHunk { } export function splitPatchHunks(patch: string): PatchHunk[] { - const starts = [ - ...patch.matchAll(/^@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@.*$/gm), - ].map((match) => match.index) + const starts = [...patch.matchAll(/^@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@.*$/gm)].map((match) => match.index) if (starts.length <= 1) return [{ patch }] const prefix = patch.slice(0, starts[0]) @@ -41,10 +39,7 @@ function splitRows(hunk: string) { let additions = 0 let deletions = 0 - while ( - index < lines.length && - (lines[index][0] === "+" || lines[index][0] === "-") - ) { + while (index < lines.length && (lines[index][0] === "+" || lines[index][0] === "-")) { if (lines[index][0] === "+") additions++ if (lines[index][0] === "-") deletions++ index++ diff --git a/packages/tui/test/cli/tui/data.test.tsx b/packages/tui/test/cli/tui/data.test.tsx index f6d1451d5ac..d4c385d44e2 100644 --- a/packages/tui/test/cli/tui/data.test.tsx +++ b/packages/tui/test/cli/tui/data.test.tsx @@ -2040,9 +2040,9 @@ test("keeps shell state scoped to location", async () => { data.shell.list({ directory: other, workspaceID: workspace }).some((shell) => shell.id === "sh_live_other"), ) expect(data.shell.list().map((shell) => shell.id)).toEqual(["sh_default"]) - expect(data.shell.listBySession("ses_shared").find((shell) => shell.id === "sh_live_other")?.location.directory).toBe( - other, - ) + expect( + data.shell.listBySession("ses_shared").find((shell) => shell.id === "sh_live_other")?.location.directory, + ).toBe(other) } finally { app.renderer.destroy() } @@ -2930,8 +2930,7 @@ async function mountData(parents: Record, costs: Record let ready!: () => void diff --git a/packages/tui/test/cli/tui/dialog-select.test.tsx b/packages/tui/test/cli/tui/dialog-select.test.tsx index 0e3357149ad..574c7017a2a 100644 --- a/packages/tui/test/cli/tui/dialog-select.test.tsx +++ b/packages/tui/test/cli/tui/dialog-select.test.tsx @@ -219,11 +219,19 @@ test("dialog actions run without options while row actions still require a selec test("renders one gap before an empty state", async () => { await using tmp = await tmpdir() - const app = await renderSelect(tmp.path, [], () => {}, () => {}) + const app = await renderSelect( + tmp.path, + [], + () => {}, + () => {}, + ) try { await app.waitForFrame((frame) => frame.includes("No items available")) - const lines = app.captureCharFrame().split("\n").map((line) => line.trim()) + const lines = app + .captureCharFrame() + .split("\n") + .map((line) => line.trim()) expect(lines.indexOf("No items available") - lines.indexOf("Search")).toBe(2) } finally { app.renderer.destroy() diff --git a/packages/tui/test/cli/tui/use-event.test.tsx b/packages/tui/test/cli/tui/use-event.test.tsx index c26d2c876b5..3b239b50e96 100644 --- a/packages/tui/test/cli/tui/use-event.test.tsx +++ b/packages/tui/test/cli/tui/use-event.test.tsx @@ -51,10 +51,7 @@ function update(version: string): OpenCodeEvent { } } -async function mount( - reconnect?: (signal: AbortSignal) => Promise<{ api: OpenCodeClient }>, - log?: LogSink, -) { +async function mount(reconnect?: (signal: AbortSignal) => Promise<{ api: OpenCodeClient }>, log?: LogSink) { const events = createEventStream() const calls = createFetch(undefined, events) const seen: OpenCodeEvent[] = [] diff --git a/packages/tui/test/feature-plugins/prompt-footer.test.tsx b/packages/tui/test/feature-plugins/prompt-footer.test.tsx index 313f7b8d271..dbb7f9da7e2 100644 --- a/packages/tui/test/feature-plugins/prompt-footer.test.tsx +++ b/packages/tui/test/feature-plugins/prompt-footer.test.tsx @@ -11,7 +11,8 @@ test("prompt footer separates simultaneous subagent, shell, and usage status", a location: { directory: "/workspace" }, theme: { text: { default: color, subdued: color } }, keymap: { - shortcuts: (id: string) => (id === "session.child.first" ? ["ctrl+j"] : id === "command.palette.show" ? ["ctrl+p"] : []), + shortcuts: (id: string) => + id === "session.child.first" ? ["ctrl+j"] : id === "command.palette.show" ? ["ctrl+p"] : [], }, data: { session: { diff --git a/packages/tui/test/fixture/tui-client.ts b/packages/tui/test/fixture/tui-client.ts index 726a458b2ec..c447beb935e 100644 --- a/packages/tui/test/fixture/tui-client.ts +++ b/packages/tui/test/fixture/tui-client.ts @@ -101,14 +101,23 @@ export function createFetch(override?: FetchHandler, events?: ReturnType { const prompt = spyOn(client.session, "prompt").mockImplementation( (request) => ok(promptAdmission(request)) as never, ) - await transport.admitPromptTurn({ - agent: "review", - model: { providerID: "test", modelID: "next" }, - variant: "high", - prompt: { messageID: "msg_next", text: "another", parts: [] }, - files: [], - includeFiles: false, - }, "queue") + await transport.admitPromptTurn( + { + agent: "review", + model: { providerID: "test", modelID: "next" }, + variant: "high", + prompt: { messageID: "msg_next", text: "another", parts: [] }, + files: [], + includeFiles: false, + }, + "queue", + ) expect(client.session.switchAgent).toHaveBeenCalledWith({ sessionID: "ses_1", agent: "review" }, expect.anything()) expect(client.session.switchModel).toHaveBeenCalledWith( { sessionID: "ses_1", model: { providerID: "test", id: "next", variant: "high" } }, @@ -851,14 +854,17 @@ describe("V2 mini transport", () => { durable: durable("ses_1", 2), data: { sessionID: "ses_1", inputID: "msg_prompt" }, }) - await transport.admitPromptTurn({ - agent: undefined, - model: undefined, - variant: undefined, - prompt: { messageID: "msg_queued", text: "follow up", parts: [] }, - files: [], - includeFiles: false, - }, "queue") + await transport.admitPromptTurn( + { + agent: undefined, + model: undefined, + variant: undefined, + prompt: { messageID: "msg_queued", text: "follow up", parts: [] }, + files: [], + includeFiles: false, + }, + "queue", + ) events.push({ id: "evt_queued_promoted", created: 3, diff --git a/packages/tui/test/mini/stream.test.ts b/packages/tui/test/mini/stream.test.ts index 170d7cd11dc..87305a67ff0 100644 --- a/packages/tui/test/mini/stream.test.ts +++ b/packages/tui/test/mini/stream.test.ts @@ -49,5 +49,4 @@ describe("run stream bridge", () => { "stream.view", ]) }) - }) diff --git a/packages/tui/test/plugin-discovery.test.ts b/packages/tui/test/plugin-discovery.test.ts index 62c5c532ee1..ac52b3ccf23 100644 --- a/packages/tui/test/plugin-discovery.test.ts +++ b/packages/tui/test/plugin-discovery.test.ts @@ -16,9 +16,10 @@ test("discovers project TUI plugin files in stable order", async () => { writeFile(path.join(directory, "nested", "ignored.ts"), "export default {}"), ]) - expect( - await discoverTuiPlugins(await tuiPluginDirectories(tmp.path, path.join(tmp.path, "config"))), - ).toEqual([path.join(directory, "first.js"), path.join(directory, "second.tsx")]) + expect(await discoverTuiPlugins(await tuiPluginDirectories(tmp.path, path.join(tmp.path, "config")))).toEqual([ + path.join(directory, "first.js"), + path.join(directory, "second.tsx"), + ]) }) test("returns no project TUI plugins when the directory is absent", async () => { diff --git a/packages/tui/test/plugin-hot-reload.test.tsx b/packages/tui/test/plugin-hot-reload.test.tsx index 9faeec5c78d..a05cdcbd3cc 100644 --- a/packages/tui/test/plugin-hot-reload.test.tsx +++ b/packages/tui/test/plugin-hot-reload.test.tsx @@ -85,7 +85,12 @@ test("discovers an ancestor TUI plugin directory created after startup", async ( await writeFile(path.join(initial, "ready.ts"), lifecycleSource(ready, "test.ready", "ready")) await using app = await bootApp(cwd) - expect(await until(() => readFile(ready, "utf8"), (value) => value === "ready:setup\n")).toBe("ready:setup\n") + expect( + await until( + () => readFile(ready, "utf8"), + (value) => value === "ready:setup\n", + ), + ).toBe("ready:setup\n") const directory = path.join(tmp.path, "repo", ".opencode", "plugins", "tui") await mkdir(directory, { recursive: true }) await writeFile(path.join(directory, "hot.ts"), lifecycleSource(marker, "test.hot", "v1")) @@ -149,7 +154,12 @@ export default { expect(await until(readA, (value) => value === "a1:setup\n")).toBe("a1:setup\n") // The crashing plugin genuinely loaded and registered its slot; without // this the rest of the test would pass even if it never imported. - expect(await until(() => readFile(markerCrash, "utf8"), (value) => value === "setup\n")).toBe("setup\n") + expect( + await until( + () => readFile(markerCrash, "utf8"), + (value) => value === "setup\n", + ), + ).toBe("setup\n") // The app survives the crashing slot: hot reload still works for others. // The render-time boundary itself (fallback + toast) is not exercisable diff --git a/packages/tui/test/prompt/history.test.ts b/packages/tui/test/prompt/history.test.ts index 1442f8fdf9e..5c040359817 100644 --- a/packages/tui/test/prompt/history.test.ts +++ b/packages/tui/test/prompt/history.test.ts @@ -41,5 +41,4 @@ describe("prompt history", () => { const b = entry("describe this", [{ name: "b.png", uri: "data:image/png;base64,BBB" }]) expect(isDuplicateEntry(a, b)).toBe(false) }) - }) diff --git a/packages/tui/test/theme/v2/component.test.ts b/packages/tui/test/theme/v2/component.test.ts index 4d3eeb3d007..b264a3723a5 100644 --- a/packages/tui/test/theme/v2/component.test.ts +++ b/packages/tui/test/theme/v2/component.test.ts @@ -59,9 +59,7 @@ test("provides reactive properties, states, contexts, and color operations", () resolved().contextual.elevated.background.action.primary.focused, ) expect(current().background.action.primary.hovered).toBe(resolved().background.surface.overlay) - expect(current().background.formfield.selected).toBe( - resolved().contextual.elevated.background.formfield.selected, - ) + expect(current().background.formfield.selected).toBe(resolved().contextual.elevated.background.formfield.selected) setResolved(resolveTheme(selectTheme(DEFAULT_THEME, "dark"))) setMode("dark") diff --git a/packages/tui/test/theme/v2/resolve.test.ts b/packages/tui/test/theme/v2/resolve.test.ts index ce2fe09d2fb..9e1ba745c67 100644 --- a/packages/tui/test/theme/v2/resolve.test.ts +++ b/packages/tui/test/theme/v2/resolve.test.ts @@ -72,19 +72,13 @@ test("resolves independent definitions and hue aliases", () => { expect(lightTheme.background.surface.overlay).toBe(lightTheme.hue.neutral[400]) expect(lightTheme.syntax.keyword).toBeInstanceOf(RGBA) expect(lightTheme.text.action.primary.default).toBe(lightTheme.hue.neutral[200]) - expect(lightTheme.contextual.elevated.background.action.primary.default).toBe( - lightTheme.hue.interactive[500], - ) + expect(lightTheme.contextual.elevated.background.action.primary.default).toBe(lightTheme.hue.interactive[500]) expect(lightTheme.contextual.elevated.background.default).toBe(lightTheme.background.surface.offset) expect(lightTheme.contextual.elevated.text.action.primary.default).toBe(lightTheme.hue.neutral[100]) - expect(lightTheme.contextual.overlay.background.action.primary.default).toBe( - lightTheme.hue.interactive[500], - ) + expect(lightTheme.contextual.overlay.background.action.primary.default).toBe(lightTheme.hue.interactive[500]) expect(lightTheme.contextual.overlay.background.default).toBe(lightTheme.background.surface.overlay) expect(lightTheme.contextual.overlay.text.action.primary.default).toBe(lightTheme.hue.neutral[100]) - expect(darkTheme.contextual.elevated.background.action.primary.default).toBe( - darkTheme.hue.interactive[400], - ) + expect(darkTheme.contextual.elevated.background.action.primary.default).toBe(darkTheme.hue.interactive[400]) expect(darkTheme.contextual.elevated.text.action.primary.default).toBe(darkTheme.hue.neutral[200]) expect(darkTheme.contextual.overlay.background.action.primary.default).toBe(darkTheme.hue.interactive[400]) expect(darkTheme.contextual.overlay.text.action.primary.default).toBe(darkTheme.hue.neutral[200]) diff --git a/packages/tui/test/util/form.test.ts b/packages/tui/test/util/form.test.ts index 67dee8b1f9f..2766a9d586c 100644 --- a/packages/tui/test/util/form.test.ts +++ b/packages/tui/test/util/form.test.ts @@ -15,7 +15,12 @@ import { } from "../../src/util/form" import type { FormAnswerField } from "../../src/util/form" -const option = { key: "choice", type: "string", options: [{ value: "one", label: "One" }], custom: true } satisfies FormField +const option = { + key: "choice", + type: "string", + options: [{ value: "one", label: "One" }], + custom: true, +} satisfies FormField const selection = { key: "tags", type: "multiselect", @@ -87,9 +92,11 @@ test("shares field classification, rows, selection, and display", () => { { value: "one", label: "One", description: "First" }, ]) expect(formRows({ key: "value", type: "number" })).toEqual([]) - expect([formSelected(selection, "two"), formSelected(selection, "custom"), formSelected(selection, undefined)]).toEqual([ - 1, 2, 0, - ]) + expect([ + formSelected(selection, "two"), + formSelected(selection, "custom"), + formSelected(selection, undefined), + ]).toEqual([1, 2, 0]) expect(formDisplayValue(selection, ["one", "custom"], "(none)")).toBe("One, custom") expect([formDisplayValue(selection, [], ""), formDisplayValue(selection, [], "(none)")]).toEqual(["", "(none)"]) }) diff --git a/packages/tui/test/util/path-format.test.ts b/packages/tui/test/util/path-format.test.ts index 49d71e48f61..30e4a7763ad 100644 --- a/packages/tui/test/util/path-format.test.ts +++ b/packages/tui/test/util/path-format.test.ts @@ -11,7 +11,5 @@ test("formats relative, home, and foreign paths", () => { expect(formatPath("..\\shared\\a.ts", { base: "C:\\work\\project", forwardSlashes: true })).toBe( "C:/work/shared/a.ts", ) - expect( - formatPath("C:\\Users\\test\\project", { base: "C:\\work", home: "C:\\Users\\test" }), - ).toBe("~/project") + expect(formatPath("C:\\Users\\test\\project", { base: "C:\\work", home: "C:\\Users\\test" })).toBe("~/project") }) diff --git a/packages/tui/test/util/permission.test.ts b/packages/tui/test/util/permission.test.ts index ff610b56a51..4bd7c7cae42 100644 --- a/packages/tui/test/util/permission.test.ts +++ b/packages/tui/test/util/permission.test.ts @@ -8,12 +8,16 @@ test("preserves permission roots and self-contained metadata", () => { expect(permissionPresentation({ action: "external_directory", resources: ["C:/*"] }).title).toBe( "Access external directory C:/", ) - expect(permissionPresentation({ action: "webfetch", resources: [], metadata: { url: "https://example.com" } })).toMatchObject({ + expect( + permissionPresentation({ action: "webfetch", resources: [], metadata: { url: "https://example.com" } }), + ).toMatchObject({ title: "WebFetch https://example.com", lines: ["URL: https://example.com"], }) - expect(permissionPresentation({ action: "websearch", resources: [], metadata: { query: "releases" } })).toMatchObject({ - title: 'Web Search "releases"', - lines: ["Query: releases"], - }) + expect(permissionPresentation({ action: "websearch", resources: [], metadata: { query: "releases" } })).toMatchObject( + { + title: 'Web Search "releases"', + lines: ["Query: releases"], + }, + ) }) diff --git a/packages/updates/src/index.test.ts b/packages/updates/src/index.test.ts index 029785c9274..a999f865dee 100644 --- a/packages/updates/src/index.test.ts +++ b/packages/updates/src/index.test.ts @@ -21,11 +21,15 @@ describe("GitHub publish authorization", () => { test("rejects another repository or workflow", () => { expect(validGitHubClaims({ ...claims, repository_id: "1" })).toBe(false) - expect(validGitHubClaims({ ...claims, workflow_ref: "anomalyco/opencode/.github/workflows/other.yml@refs/heads/dev" })).toBe(false) + expect( + validGitHubClaims({ ...claims, workflow_ref: "anomalyco/opencode/.github/workflows/other.yml@refs/heads/dev" }), + ).toBe(false) }) test("rejects unconfigured refs", () => { const ref = "refs/heads/untrusted" - expect(validGitHubClaims({ ...claims, ref, workflow_ref: `anomalyco/opencode/.github/workflows/publish.yml@${ref}` })).toBe(false) + expect( + validGitHubClaims({ ...claims, ref, workflow_ref: `anomalyco/opencode/.github/workflows/publish.yml@${ref}` }), + ).toBe(false) }) }) diff --git a/packages/updates/src/index.ts b/packages/updates/src/index.ts index 2ec5f64d2b9..f0043b39832 100644 --- a/packages/updates/src/index.ts +++ b/packages/updates/src/index.ts @@ -100,8 +100,7 @@ async function admin(request: Request, env: Env) { const count = await env.DB.prepare("SELECT COUNT(*) AS total FROM artifact").first<{ total: number }>() const pages = Math.max(1, Math.ceil((count?.total ?? 0) / pageSize)) const currentPage = Math.min(page, pages) - const result = await env.DB - .prepare(`${select} ORDER BY time_created DESC LIMIT ? OFFSET ?`) + const result = await env.DB.prepare(`${select} ORDER BY time_created DESC LIMIT ? OFFSET ?`) .bind(pageSize, (currentPage - 1) * pageSize) .all() const rows = result.results @@ -230,11 +229,9 @@ async function activateArtifact(request: Request, env: Env) { if (!exists) return json({ error: "Artifact not found" }, 404) await env.DB.batch([ deactivateStatement(env.DB, key), - env.DB - .prepare( - "UPDATE artifact SET active = 1, time_updated = ? WHERE channel = ? AND name = ? AND distribution = ? AND version = ?", - ) - .bind(Date.now(), key.channel, key.name, key.distribution, key.version), + env.DB.prepare( + "UPDATE artifact SET active = 1, time_updated = ? WHERE channel = ? AND name = ? AND distribution = ? AND version = ?", + ).bind(Date.now(), key.channel, key.name, key.distribution, key.version), ]) return Response.redirect(new URL("/admin", request.url), 303) } diff --git a/packages/updates/wrangler.jsonc b/packages/updates/wrangler.jsonc index 988ea80282a..6e41a4c7afe 100644 --- a/packages/updates/wrangler.jsonc +++ b/packages/updates/wrangler.jsonc @@ -8,18 +8,18 @@ "routes": [ { "pattern": "update.opencode.ai", - "custom_domain": true - } + "custom_domain": true, + }, ], "d1_databases": [ { "binding": "DB", "database_name": "opencode-updates", "database_id": "058debd8-1572-4c4a-8781-2c5a0e33cb46", - "migrations_dir": "migrations" - } + "migrations_dir": "migrations", + }, ], "observability": { - "enabled": true - } + "enabled": true, + }, } diff --git a/packages/www/content/docs/(Configure)/agents.mdx b/packages/www/content/docs/(Configure)/agents.mdx index 74b82c6fe3e..1ea6908a519 100644 --- a/packages/www/content/docs/(Configure)/agents.mdx +++ b/packages/www/content/docs/(Configure)/agents.mdx @@ -10,12 +10,12 @@ Markdown files. ## Built-in agents -| Agent | Mode | Purpose | -| --- | --- | --- | -| **Build** (`build`) | `primary` | Default coding agent. Tools are allowed by default, sensitive environment-file reads ask for approval, and access outside the workspace asks for approval. | -| **Plan** (`plan`) | `primary` | Planning agent. File edits are denied except for OpenCode plan files. Shell commands are not generally denied. | -| **General** (`general`) | `subagent` | General-purpose research and multi-step work. It has broad tool access but cannot launch more subagents. | -| **Explore** (`explore`) | `subagent` | Read-only code and web exploration using `read`, `glob`, `grep`, `webfetch`, and `websearch`. | +| Agent | Mode | Purpose | +| ----------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **Build** (`build`) | `primary` | Default coding agent. Tools are allowed by default, sensitive environment-file reads ask for approval, and access outside the workspace asks for approval. | +| **Plan** (`plan`) | `primary` | Planning agent. File edits are denied except for OpenCode plan files. Shell commands are not generally denied. | +| **General** (`general`) | `subagent` | General-purpose research and multi-step work. It has broad tool access but cannot launch more subagents. | +| **Explore** (`explore`) | `subagent` | Read-only code and web exploration using `read`, `glob`, `grep`, `webfetch`, and `websearch`. | OpenCode also has hidden `compaction`, `title`, and `summary` system agents. They run internal maintenance tasks and are not selectable. There is no built-in @@ -31,7 +31,7 @@ Set the primary agent used when a session has not selected one: ```jsonc title="opencode.jsonc" { "$schema": "https://opencode.ai/config.json", - "default_agent": "reviewer" + "default_agent": "reviewer", } ``` @@ -44,11 +44,11 @@ rewrite the agent already stored on an existing session. An agent's `mode` controls where it can run: -| Mode | Behavior | -| --- | --- | -| `primary` | Can be selected as the main agent for a session. It cannot be launched as a subagent. This is the default for a custom agent when `mode` is omitted. | -| `subagent` | Can run in a child session through the `subagent` tool, but cannot be selected as the main agent. | -| `all` | Can be used either way. | +| Mode | Behavior | +| ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| `primary` | Can be selected as the main agent for a session. It cannot be launched as a subagent. This is the default for a custom agent when `mode` is omitted. | +| `subagent` | Can run in a child session through the `subagent` tool, but cannot be selected as the main agent. | +| `all` | Can be used either way. | In the TUI, press Tab and Shift+Tab to cycle through visible primary and `all` agents, or use `/agents` to choose one. @@ -122,15 +122,13 @@ Use the `agents` field in any [OpenCode configuration file](/config): "steps": 8, "permissions": [ { "action": "edit", "resource": "*", "effect": "deny" }, - { "action": "shell", "resource": "*", "effect": "deny" } - ] + { "action": "shell", "resource": "*", "effect": "deny" }, + ], }, "build": { - "permissions": [ - { "action": "shell", "resource": "git push *", "effect": "ask" } - ] - } - } + "permissions": [{ "action": "shell", "resource": "git push *", "effect": "ask" }], + }, + }, } ``` @@ -159,9 +157,9 @@ Selects a model using `provider/model` with an optional `#variant`: { "agents": { "reviewer": { - "model": "anthropic/claude-sonnet-4-5#high" - } - } + "model": "anthropic/claude-sonnet-4-5#high", + }, + }, } ``` @@ -174,10 +172,10 @@ The equivalent expanded form is: "model": { "providerID": "anthropic", "model": "claude-sonnet-4-5", - "variant": "high" - } - } - } + "variant": "high", + }, + }, + }, } ``` @@ -207,20 +205,20 @@ Permissions are an ordered array of rules: "permissions": [ { "action": "subagent", "resource": "*", "effect": "deny" }, { "action": "subagent", "resource": "explore", "effect": "allow" }, - { "action": "shell", "resource": "git *", "effect": "ask" } - ] - } - } + { "action": "shell", "resource": "git *", "effect": "ask" }, + ], + }, + }, } ``` Each rule has: -| Field | Meaning | -| --- | --- | -| `action` | Tool or permission action, with `*` wildcards supported. | +| Field | Meaning | +| ---------- | ---------------------------------------------------------------------------------------------- | +| `action` | Tool or permission action, with `*` wildcards supported. | | `resource` | The path, command, agent ID, or other resource matched by the action. Wildcards are supported. | -| `effect` | `allow`, `ask`, or `deny`. | +| `effect` | `allow`, `ask`, or `deny`. | The last matching rule wins. Important V2 action names include `shell` for shell commands, `edit` for all edit/write/patch tools, and `subagent` for child @@ -228,8 +226,7 @@ agents. Other tools generally use their tool name, such as `read`, `glob`, `grep`, `webfetch`, `websearch`, and `skill`. - Put broad wildcard rules first and exceptions afterward. For example, deny - all subagents first, then allow `explore`. + Put broad wildcard rules first and exceptions afterward. For example, deny all subagents first, then allow `explore`. `~` and `$HOME` are expanded in filesystem resources for `read`, `edit`, and @@ -267,17 +264,16 @@ The V2 schema accepts per-agent request `headers` and JSON `body` overlays: "reviewer": { "request": { "headers": { "x-agent": "reviewer" }, - "body": { "temperature": 0.1 } - } - } - } + "body": { "temperature": 0.1 }, + }, + }, + }, } ``` - The current V2 session runner preserves these overlays on the agent - definition but does not yet apply them to model requests. Configure effective - request settings on the provider, model, or model variant instead. Do not use - legacy top-level agent fields such as `temperature`, `top_p`, `prompt`, - `permission`, `tools`, `disable`, or `maxSteps` in new V2 configuration. + The current V2 session runner preserves these overlays on the agent definition but does not yet apply them to model + requests. Configure effective request settings on the provider, model, or model variant instead. Do not use legacy + top-level agent fields such as `temperature`, `top_p`, `prompt`, `permission`, `tools`, `disable`, or `maxSteps` in + new V2 configuration. diff --git a/packages/www/content/docs/(Configure)/attachments.mdx b/packages/www/content/docs/(Configure)/attachments.mdx index 45af9643851..f8085e99061 100644 --- a/packages/www/content/docs/(Configure)/attachments.mdx +++ b/packages/www/content/docs/(Configure)/attachments.mdx @@ -6,11 +6,11 @@ description: "" OpenCode can add local context to a prompt as text or image media. Current V2 sessions make these attachment types visible to the model: -| Input | Model receives | -| --- | --- | -| UTF-8 text file | The filename and decoded text | -| Directory | A non-recursive listing of its immediate files and directories | -| PNG, JPEG, GIF, or WebP | Image media | +| Input | Model receives | +| ----------------------- | -------------------------------------------------------------- | +| UTF-8 text file | The filename and decoded text | +| Directory | A non-recursive listing of its immediate files and directories | +| PNG, JPEG, GIF, or WebP | Image media | SVG files are treated as text, not image media. PDF, AVIF, BMP, audio, video, and other binary prompt attachments are not currently included in the model @@ -18,10 +18,9 @@ request. Some clients may let you select a PDF, but V2 does not yet make that PDF visible to the model. - Use a model that supports image input before attaching an image. OpenCode - passes supported image media to the selected provider, but the provider and - model still enforce their own formats, dimensions, file counts, and size - limits. A text-only model may reject the request. + Use a model that supports image input before attaching an image. OpenCode passes supported image media to the selected + provider, but the provider and model still enforce their own formats, dimensions, file counts, and size limits. A + text-only model may reject the request. ## Add attachments @@ -116,26 +115,25 @@ Configure image normalization in `opencode.json` or `opencode.jsonc`: "auto_resize": true, "max_width": 2000, "max_height": 2000, - "max_base64_bytes": 5242880 - } - } + "max_base64_bytes": 5242880, + }, + }, } ``` All fields are optional: -| Field | Default | Behavior | -| --- | ---: | --- | -| `auto_resize` | `true` | Resize an image that exceeds any configured limit. If `false`, reject it. | -| `max_width` | `2000` | Maximum width in pixels. Must be a positive integer. | -| `max_height` | `2000` | Maximum height in pixels. Must be a positive integer. | +| Field | Default | Behavior | +| ------------------ | --------: | ----------------------------------------------------------------------------------- | +| `auto_resize` | `true` | Resize an image that exceeds any configured limit. If `false`, reject it. | +| `max_width` | `2000` | Maximum width in pixels. Must be a positive integer. | +| `max_height` | `2000` | Maximum height in pixels. Must be a positive integer. | | `max_base64_bytes` | `5242880` | Maximum byte length of the Base64-encoded image string. Must be a positive integer. | - In the current V2 runtime, these settings apply to image media produced by - the built-in `read` tool. Images attached directly through the TUI, desktop, - web, CLI, or API bypass this normalization. Resize direct attachments before - adding them if the provider requires smaller media. + In the current V2 runtime, these settings apply to image media produced by the built-in `read` tool. Images attached + directly through the TUI, desktop, web, CLI, or API bypass this normalization. Resize direct attachments before adding + them if the provider requires smaller media. The `read` tool recognizes PNG, JPEG, GIF, and WebP by their contents and will diff --git a/packages/www/content/docs/(Configure)/commands.mdx b/packages/www/content/docs/(Configure)/commands.mdx index 8b9e28e7065..20bef08b4aa 100644 --- a/packages/www/content/docs/(Configure)/commands.mdx +++ b/packages/www/content/docs/(Configure)/commands.mdx @@ -59,21 +59,21 @@ Add commands under the `commands` key in any OpenCode JSON or JSONC "description": "Review code for correctness and missing tests", "template": "Review $ARGUMENTS. Report bugs first, then missing tests.", "agent": "plan", - "model": "anthropic/claude-sonnet-4-5#high" - } - } + "model": "anthropic/claude-sonnet-4-5#high", + }, + }, } ``` ## Fields -| Field | Required | Behavior | -| --- | --- | --- | -| `template` | JSON only | Prompt template. In a Markdown command, the file body supplies it. | -| `description` | No | Text shown with the command in autocomplete. | -| `agent` | No | Agent selected before the prompt runs. | -| `model` | No | Model override in `provider/model` or `provider/model#variant` format. | -| `subtask` | No | Accepted as a boolean, but currently has no execution effect in V2. | +| Field | Required | Behavior | +| ------------- | --------- | ---------------------------------------------------------------------- | +| `template` | JSON only | Prompt template. In a Markdown command, the file body supplies it. | +| `description` | No | Text shown with the command in autocomplete. | +| `agent` | No | Agent selected before the prompt runs. | +| `model` | No | Model override in `provider/model` or `provider/model#variant` format. | +| `subtask` | No | Accepted as a boolean, but currently has no execution effect in V2. | The four optional fields can be used in JSON or YAML frontmatter. Do not put `template` in frontmatter because the Markdown body always supplies it. @@ -138,8 +138,8 @@ interpolation happens first, so avoid placing untrusted arguments inside shell interpolations. - Shell interpolations run when the command is evaluated, outside the agent's - tool permission flow. Only use commands from sources you trust. + Shell interpolations run when the command is evaluated, outside the agent's tool permission flow. Only use commands + from sources you trust. No other template interpolation is performed. In particular, an `@path` diff --git a/packages/www/content/docs/(Configure)/compaction.mdx b/packages/www/content/docs/(Configure)/compaction.mdx index bae1831de6a..098ee100514 100644 --- a/packages/www/content/docs/(Configure)/compaction.mdx +++ b/packages/www/content/docs/(Configure)/compaction.mdx @@ -82,18 +82,18 @@ Add `compaction` to any [OpenCode configuration file](/config): "compaction": { "auto": true, "keep": { - "tokens": 15000 + "tokens": 15000, }, - "buffer": 20000 - } + "buffer": 20000, + }, } ``` -| Field | Default | V2 behavior | -| --- | ---: | --- | -| `auto` | `true` | Runs the preflight context-size check. It does not disable manual compaction or one-shot provider-overflow recovery. | -| `keep.tokens` | `15000` | Approximate number of tokens from the newest serialized conversation context to retain beside the summary. | -| `buffer` | `20000` | Safety reserve below an explicit input limit. Without one, it is the minimum context reserve and the model output allowance wins when larger. | +| Field | Default | V2 behavior | +| ------------- | ------: | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `auto` | `true` | Runs the preflight context-size check. It does not disable manual compaction or one-shot provider-overflow recovery. | +| `keep.tokens` | `15000` | Approximate number of tokens from the newest serialized conversation context to retain beside the summary. | +| `buffer` | `20000` | Safety reserve below an explicit input limit. Without one, it is the minimum context reserve and the model output allowance wins when larger. | `keep.tokens` and `buffer` accept non-negative integers. Larger `keep.tokens` preserves more recent detail but leaves less room for future work. Larger diff --git a/packages/www/content/docs/(Configure)/formatters.mdx b/packages/www/content/docs/(Configure)/formatters.mdx index 498b6bd1a5a..cbc1473b1cd 100644 --- a/packages/www/content/docs/(Configure)/formatters.mdx +++ b/packages/www/content/docs/(Configure)/formatters.mdx @@ -7,8 +7,8 @@ OpenCode V2 accepts formatter configuration, but it does not yet include a formatter runtime. File writes and edits are not automatically formatted. - V2 currently has no built-in formatters. The built-in formatter list and - automatic post-edit formatting documented for V1 do not apply to V2. + V2 currently has no built-in formatters. The built-in formatter list and automatic post-edit formatting documented for + V1 do not apply to V2. ## Configuration @@ -23,11 +23,11 @@ The `formatter` field accepts a boolean or an object keyed by formatter name: "disabled": false, "command": ["prettier", "--write", "$FILE"], "environment": { - "NODE_ENV": "development" + "NODE_ENV": "development", }, - "extensions": [".js", ".jsx", ".ts", ".tsx"] - } - } + "extensions": [".js", ".jsx", ".ts", ".tsx"], + }, + }, } ``` @@ -36,12 +36,12 @@ command. Each named formatter entry supports these optional fields: -| Field | Type | Current V2 behavior | -| --- | --- | --- | -| `disabled` | `boolean` | Accepted, but there is no runtime formatter to enable or disable. | -| `command` | `string[]` | Accepted as an argument array, but not executed. | -| `environment` | `Record` | Accepts string environment variable names and values, but they are not applied. | -| `extensions` | `string[]` | Accepted without extension-specific validation, but files are not matched against it. | +| Field | Type | Current V2 behavior | +| ------------- | ------------------------ | ------------------------------------------------------------------------------------- | +| `disabled` | `boolean` | Accepted, but there is no runtime formatter to enable or disable. | +| `command` | `string[]` | Accepted as an argument array, but not executed. | +| `environment` | `Record` | Accepts string environment variable names and values, but they are not applied. | +| `extensions` | `string[]` | Accepted without extension-specific validation, but files are not matched against it. | All entry fields are optional. The schema therefore also accepts an empty entry such as `"prettier": {}`. @@ -53,14 +53,14 @@ The schema accepts all of the following forms: ```jsonc // Omit `formatter`, or use false, when formatting is not requested. { - "formatter": false + "formatter": false, } ``` ```jsonc // Reserved for enabling all built-ins once a V2 runtime provides them. { - "formatter": true + "formatter": true, } ``` @@ -71,9 +71,9 @@ The schema accepts all of the following forms: "prettier": { "disabled": true }, "custom": { "command": ["custom-fmt", "$FILE"], - "extensions": [".foo"] - } - } + "extensions": [".foo"], + }, + }, } ``` diff --git a/packages/www/content/docs/(Configure)/instructions.mdx b/packages/www/content/docs/(Configure)/instructions.mdx index 526a74e2ddf..049f5bb0ee4 100644 --- a/packages/www/content/docs/(Configure)/instructions.mdx +++ b/packages/www/content/docs/(Configure)/instructions.mdx @@ -44,8 +44,8 @@ Setting `OPENCODE_DISABLE_PROJECT_CONFIG=1` also skips project `AGENTS.md` discovery but does not disable the global file. - Current V2 discovery only recognizes `AGENTS.md`. The `CLAUDE.md` fallback - and related precedence described by older OpenCode documentation do not apply. + Current V2 discovery only recognizes `AGENTS.md`. The `CLAUDE.md` fallback and related precedence described by older + OpenCode documentation do not apply. ### Nested instructions @@ -68,11 +68,7 @@ The V2 config schema accepts an `instructions` array of strings: ```jsonc title="opencode.jsonc" { "$schema": "https://opencode.ai/config.json", - "instructions": [ - "CONTRIBUTING.md", - "docs/guidelines/*.md", - "https://example.com/shared-instructions.md" - ] + "instructions": ["CONTRIBUTING.md", "docs/guidelines/*.md", "https://example.com/shared-instructions.md"], } ``` @@ -81,11 +77,10 @@ one config defines `instructions`, the highest-precedence, closest config's entire array is selected; arrays are not merged. - V2 currently parses and retains this field but does not resolve its entries - into instruction sources. Local files, glob patterns, and HTTP or HTTPS URLs - in `instructions` therefore do not reach the model yet. Use `AGENTS.md` for - active V2 instructions. URL fetching and timeout behavior documented for V1 - are not supported by the current V2 implementation. + V2 currently parses and retains this field but does not resolve its entries into instruction sources. Local files, + glob patterns, and HTTP or HTTPS URLs in `instructions` therefore do not reach the model yet. Use `AGENTS.md` for + active V2 instructions. URL fetching and timeout behavior documented for V1 are not supported by the current V2 + implementation. See [Config](/config) for config locations and general precedence. diff --git a/packages/www/content/docs/(Configure)/lsp.mdx b/packages/www/content/docs/(Configure)/lsp.mdx index 9d8a69bcefb..9bde5bf12f9 100644 --- a/packages/www/content/docs/(Configure)/lsp.mdx +++ b/packages/www/content/docs/(Configure)/lsp.mdx @@ -7,9 +7,8 @@ Language Server Protocol (LSP) integrations can provide code diagnostics, symbols, definitions, references, and other language-aware context. - OpenCode V2 does not yet have an LSP runtime or built-in language servers. - The `lsp` configuration is accepted and preserved, but it does not currently - start or download servers, expose an LSP tool, or add diagnostics to file tool + OpenCode V2 does not yet have an LSP runtime or built-in language servers. The `lsp` configuration is accepted and + preserved, but it does not currently start or download servers, expose an LSP tool, or add diagnostics to file tool results. @@ -22,7 +21,7 @@ effect until V2 provides a server registry and LSP runtime. ```jsonc title="opencode.jsonc" { "$schema": "https://opencode.ai/config.json", - "lsp": true + "lsp": true, } ``` @@ -38,27 +37,27 @@ The `lsp` field accepts a boolean or an object keyed by server name: "command": ["typescript-language-server", "--stdio"], "extensions": [".ts", ".tsx"], "env": { - "TSS_LOG": "-level verbose" + "TSS_LOG": "-level verbose", }, "initialization": { "preferences": { - "importModuleSpecifierPreference": "relative" - } - } - } - } + "importModuleSpecifierPreference": "relative", + }, + }, + }, + }, } ``` Each enabled server entry has this shape: -| Property | Type | Required | Description | -| --- | --- | --- | --- | -| `command` | `string[]` | Yes | Executable followed by any arguments. | -| `extensions` | `string[]` | No | File extensions associated with the server, including the leading dot. | -| `disabled` | `boolean` | No | Disables the entry when `true`. | -| `env` | `Record` | No | Environment variables for the server process. The property is named `env`, not `environment`. | -| `initialization` | `Record` | No | Server-specific options for the LSP `initialize` request. | +| Property | Type | Required | Description | +| ---------------- | ------------------------- | -------- | --------------------------------------------------------------------------------------------- | +| `command` | `string[]` | Yes | Executable followed by any arguments. | +| `extensions` | `string[]` | No | File extensions associated with the server, including the leading dot. | +| `disabled` | `boolean` | No | Disables the entry when `true`. | +| `env` | `Record` | No | Environment variables for the server process. The property is named `env`, not `environment`. | +| `initialization` | `Record` | No | Server-specific options for the LSP `initialize` request. | The only entry that may omit `command` is the disable-only form: @@ -66,9 +65,9 @@ The only entry that may omit `command` is the disable-only form: { "lsp": { "typescript": { - "disabled": true - } - } + "disabled": true, + }, + }, } ``` @@ -85,7 +84,7 @@ set it to `true` or supplied an object: ```jsonc title="opencode.jsonc" { "$schema": "https://opencode.ai/config.json", - "lsp": false + "lsp": false, } ``` diff --git a/packages/www/content/docs/(Configure)/mcp-servers.mdx b/packages/www/content/docs/(Configure)/mcp-servers.mdx index 9676c90d272..98cb0e4f4ee 100644 --- a/packages/www/content/docs/(Configure)/mcp-servers.mdx +++ b/packages/www/content/docs/(Configure)/mcp-servers.mdx @@ -16,10 +16,10 @@ Define each server by a unique name under `mcp.servers` in your [OpenCode config "servers": { "my-server": { "type": "local", - "command": ["npx", "-y", "example-mcp-server"] - } - } - } + "command": ["npx", "-y", "example-mcp-server"], + }, + }, + }, } ``` @@ -32,10 +32,10 @@ Servers connect automatically unless `disabled` is `true`. There is no V2 `enabl "my-server": { "type": "local", "command": ["npx", "-y", "example-mcp-server"], - "disabled": true - } - } - } + "disabled": true, + }, + }, + }, } ``` @@ -52,31 +52,27 @@ A local server is a command that OpenCode starts using the MCP stdio transport. "servers": { "everything": { "type": "local", - "command": [ - "npx", - "-y", - "@modelcontextprotocol/server-everything" - ], + "command": ["npx", "-y", "@modelcontextprotocol/server-everything"], "cwd": ".", "environment": { "LOG_LEVEL": "info", - "MCP_API_KEY": "{env:MCP_API_KEY}" - } - } - } - } + "MCP_API_KEY": "{env:MCP_API_KEY}", + }, + }, + }, + }, } ``` -| Field | Required | Description | -| --- | --- | --- | -| `type` | Yes | Must be `"local"`. | -| `command` | Yes | Executable followed by its arguments. | -| `cwd` | No | Process working directory. Relative paths resolve from the workspace directory; the workspace is the default. | -| `environment` | No | String environment variables added to the inherited OpenCode process environment. | -| `disabled` | No | Set to `true` to prevent the server from connecting. Defaults to `false`. | -| `codemode` | No | Set to `false` to expose the server's tools directly to the model instead of through Code Mode. Defaults to `true`. | -| `timeout` | No | Per-server timeout overrides. | +| Field | Required | Description | +| ------------- | -------- | ------------------------------------------------------------------------------------------------------------------- | +| `type` | Yes | Must be `"local"`. | +| `command` | Yes | Executable followed by its arguments. | +| `cwd` | No | Process working directory. Relative paths resolve from the workspace directory; the workspace is the default. | +| `environment` | No | String environment variables added to the inherited OpenCode process environment. | +| `disabled` | No | Set to `true` to prevent the server from connecting. Defaults to `false`. | +| `codemode` | No | Set to `false` to expose the server's tools directly to the model instead of through Code Mode. Defaults to `true`. | +| `timeout` | No | Per-server timeout overrides. | Use `{env:NAME}` to substitute an environment variable while loading config. Shell expressions such as `$NAME` are not expanded in JSON strings. @@ -94,23 +90,23 @@ A remote server uses the MCP Streamable HTTP transport. Its `url` must be a vali "url": "https://mcp.context7.com/mcp", "oauth": false, "headers": { - "CONTEXT7_API_KEY": "{env:CONTEXT7_API_KEY}" - } - } - } - } + "CONTEXT7_API_KEY": "{env:CONTEXT7_API_KEY}", + }, + }, + }, + }, } ``` -| Field | Required | Description | -| --- | --- | --- | -| `type` | Yes | Must be `"remote"`. | -| `url` | Yes | Streamable HTTP endpoint. | -| `headers` | No | String HTTP headers sent to the MCP endpoint. | -| `oauth` | No | OAuth client settings, or `false` to disable OAuth support. | -| `disabled` | No | Set to `true` to prevent the server from connecting. Defaults to `false`. | -| `codemode` | No | Set to `false` to expose the server's tools directly to the model instead of through Code Mode. Defaults to `true`. | -| `timeout` | No | Per-server timeout overrides. | +| Field | Required | Description | +| ---------- | -------- | ------------------------------------------------------------------------------------------------------------------- | +| `type` | Yes | Must be `"remote"`. | +| `url` | Yes | Streamable HTTP endpoint. | +| `headers` | No | String HTTP headers sent to the MCP endpoint. | +| `oauth` | No | OAuth client settings, or `false` to disable OAuth support. | +| `disabled` | No | Set to `true` to prevent the server from connecting. Defaults to `false`. | +| `codemode` | No | Set to `false` to expose the server's tools directly to the model instead of through Code Mode. Defaults to `true`. | +| `timeout` | No | Per-server timeout overrides. | Use `oauth: false` for a server that exclusively uses an API key or another header-based credential. @@ -127,10 +123,10 @@ For a server that supports dynamic client registration, only the remote server i "servers": { "sentry": { "type": "remote", - "url": "https://mcp.sentry.dev/mcp" - } - } - } + "url": "https://mcp.sentry.dev/mcp", + }, + }, + }, } ``` @@ -165,21 +161,21 @@ If the provider issued client credentials, configure them using V2's snake_case "client_secret": "{env:MCP_CLIENT_SECRET}", "scope": "tools:read tools:execute", "callback_port": 19876, - "redirect_uri": "http://127.0.0.1:19876/callback" - } - } - } - } + "redirect_uri": "http://127.0.0.1:19876/callback", + }, + }, + }, + }, } ``` -| OAuth field | Description | -| --- | --- | -| `client_id` | Pre-registered OAuth client ID. If omitted, OpenCode attempts dynamic client registration. | -| `client_secret` | Client secret for a pre-registered client. | -| `scope` | Space-delimited scopes to request. | -| `callback_port` | Local callback port, from `1` through `65535`. An available ephemeral port is used by default. | -| `redirect_uri` | Pre-registered loopback redirect URI. Its path and port must reach the local callback listener. | +| OAuth field | Description | +| --------------- | ----------------------------------------------------------------------------------------------- | +| `client_id` | Pre-registered OAuth client ID. If omitted, OpenCode attempts dynamic client registration. | +| `client_secret` | Client secret for a pre-registered client. | +| `scope` | Space-delimited scopes to request. | +| `callback_port` | Local callback port, from `1` through `65535`. An available ephemeral port is used by default. | +| `redirect_uri` | Pre-registered loopback redirect URI. Its path and port must reach the local callback listener. | Remove stored credentials with: @@ -198,26 +194,26 @@ Timeouts are positive integer milliseconds. Configure defaults under `mcp.timeou "timeout": { "startup": 45000, "catalog": 30000, - "execution": 600000 + "execution": 600000, }, "servers": { "slow-tools": { "type": "remote", "url": "https://mcp.example.com/mcp", "timeout": { - "catalog": 60000 - } - } - } - } + "catalog": 60000, + }, + }, + }, + }, } ``` -| Timeout | Default | Applies to | -| --- | --- | --- | -| `startup` | 30 seconds | Establishing the transport and initializing the server. | -| `catalog` | 30 seconds | Listing tools, prompts, resources, and resource templates. | -| `execution` | 12 hours | Calling tools, getting prompts, and reading resources. | +| Timeout | Default | Applies to | +| ----------- | ---------- | ---------------------------------------------------------- | +| `startup` | 30 seconds | Establishing the transport and initializing the server. | +| `catalog` | 30 seconds | Listing tools, prompts, resources, and resource templates. | +| `execution` | 12 hours | Calling tools, getting prompts, and reading resources. | ## Names and permissions @@ -234,10 +230,10 @@ Set `codemode` to `false` on a server when its tools should remain on the provid "context7": { "type": "remote", "url": "https://mcp.context7.com/mcp", - "codemode": false - } - } - } + "codemode": false, + }, + }, + }, } ``` @@ -249,9 +245,9 @@ Use permission actions to hide or deny a server's tools without stopping its con { "action": "context7_*", "resource": "*", - "effect": "deny" - } - ] + "effect": "deny", + }, + ], } ``` diff --git a/packages/www/content/docs/(Configure)/models.mdx b/packages/www/content/docs/(Configure)/models.mdx index 213bfac523e..d61f6d4bde2 100644 --- a/packages/www/content/docs/(Configure)/models.mdx +++ b/packages/www/content/docs/(Configure)/models.mdx @@ -44,7 +44,7 @@ Set `model` in `opencode.json` or `opencode.jsonc`: ```jsonc title="opencode.jsonc" { "$schema": "https://opencode.ai/config.json", - "model": "anthropic/claude-sonnet-4-5" + "model": "anthropic/claude-sonnet-4-5", } ``` @@ -81,16 +81,16 @@ You can also map a friendly catalog ID to a different API model ID with `modelID "capabilities": { "tools": true, "input": ["text", "image"], - "output": ["text"] + "output": ["text"], }, "limit": { "context": 200000, - "output": 32000 - } - } - } - } - } + "output": 32000, + }, + }, + }, + }, + }, } ``` @@ -109,12 +109,12 @@ OpenAI-compatible models that stream reasoning through a custom assistant-messag "models": { "reasoner": { "compatibility": { - "reasoningField": "reasoning_content" - } - } - } - } - } + "reasoningField": "reasoning_content", + }, + }, + }, + }, + }, } ``` @@ -133,27 +133,27 @@ Add a variant, or override a catalog variant with the same ID, under the model's "models": { "gpt-5.2": { "settings": { - "reasoningEffort": "medium" + "reasoningEffort": "medium", }, "variants": [ { "id": "fast", "settings": { - "reasoningEffort": "low" - } + "reasoningEffort": "low", + }, }, { "id": "deep", "settings": { "reasoningEffort": "high", - "reasoningSummary": "auto" - } - } - ] - } - } - } - } + "reasoningSummary": "auto", + }, + }, + ], + }, + }, + }, + }, } ``` @@ -173,7 +173,7 @@ For an OpenAI-compatible server, define a provider package, endpoint, and at lea "name": "Local server", "package": "aisdk:@ai-sdk/openai-compatible", "settings": { - "baseURL": "http://127.0.0.1:1234/v1" + "baseURL": "http://127.0.0.1:1234/v1", }, "models": { "coder": { @@ -181,16 +181,16 @@ For an OpenAI-compatible server, define a provider package, endpoint, and at lea "capabilities": { "tools": true, "input": ["text"], - "output": ["text"] + "output": ["text"], }, "limit": { "context": 32768, - "output": 8192 - } - } - } - } - } + "output": 8192, + }, + }, + }, + }, + }, } ``` @@ -218,8 +218,8 @@ The expanded config form is equivalent when generated or programmatic configurat { "model": { "providerID": "openrouter", - "model": "anthropic/claude-sonnet-4.5" - } + "model": "anthropic/claude-sonnet-4.5", + }, } ``` diff --git a/packages/www/content/docs/(Configure)/permissions.mdx b/packages/www/content/docs/(Configure)/permissions.mdx index 0a53548c928..2b9bfc71612 100644 --- a/packages/www/content/docs/(Configure)/permissions.mdx +++ b/packages/www/content/docs/(Configure)/permissions.mdx @@ -7,9 +7,8 @@ Permissions control whether an agent may perform an action on a resource. V2 configuration uses the `permissions` field and an ordered array of rules. - The V1 object syntax uses different field and action names. Do not use - `permission`, `bash`, or `task` in V2 configuration; use `permissions`, - `shell`, and `subagent`. + The V1 object syntax uses different field and action names. Do not use `permission`, `bash`, or `task` in V2 + configuration; use `permissions`, `shell`, and `subagent`. ## Rule schema @@ -25,8 +24,8 @@ Each rule has three required string fields: { "action": "read", "resource": "*.env", "effect": "deny" }, { "action": "shell", "resource": "git status *", "effect": "allow" }, { "action": "shell", "resource": "git push *", "effect": "deny" }, - { "action": "edit", "resource": "packages/docs/*.mdx", "effect": "allow" } - ] + { "action": "edit", "resource": "packages/docs/*.mdx", "effect": "allow" }, + ], } ``` @@ -65,21 +64,21 @@ multiple files. OpenCode denies the operation if any resource resolves to V2 action names are strings, so plugins may introduce additional actions. The current built-in actions use these resources: -| Action | Resource matched | -| --- | --- | -| `read` | Location-relative path for an internal file or directory; canonical absolute path for an external target | -| `edit` | Target path for `edit`, `write`, and `patch`; all three tools share this action | -| `glob` | The requested glob pattern | -| `grep` | The requested regular expression, not the search path | -| `shell` | The complete raw shell command string | -| `subagent` | The target agent ID | -| `skill` | The skill ID | -| `question` | `*` | -| `webfetch` | The requested URL | -| `websearch` | The search query | -| `external_directory` | A canonical external directory boundary, normally ending in `/*` | -| `_` | `*` for an MCP tool; unsupported characters in both names become `_` | -| `execute` | `*`; controls availability of the Code Mode dispatcher, while each nested tool still enforces its own permission | +| Action | Resource matched | +| -------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `read` | Location-relative path for an internal file or directory; canonical absolute path for an external target | +| `edit` | Target path for `edit`, `write`, and `patch`; all three tools share this action | +| `glob` | The requested glob pattern | +| `grep` | The requested regular expression, not the search path | +| `shell` | The complete raw shell command string | +| `subagent` | The target agent ID | +| `skill` | The skill ID | +| `question` | `*` | +| `webfetch` | The requested URL | +| `websearch` | The search query | +| `external_directory` | A canonical external directory boundary, normally ending in `/*` | +| `_` | `*` for an MCP tool; unsupported characters in both names become `_` | +| `execute` | `*`; controls availability of the Code Mode dispatcher, while each nested tool still enforces its own permission | `doom_loop` and `lsp` are not current V2 Core permission actions. @@ -97,19 +96,19 @@ directory. { "action": "external_directory", "resource": "~/projects/reference/*", - "effect": "allow" + "effect": "allow", }, { "action": "read", "resource": "~/projects/reference/*", - "effect": "allow" + "effect": "allow", }, { "action": "edit", "resource": "~/projects/reference/*", - "effect": "deny" - } - ] + "effect": "deny", + }, + ], } ``` @@ -118,11 +117,10 @@ For `external_directory`, `read`, and `edit` resources, a leading `~`, `~/`, raw command text and are **not** home-expanded. - `shell` runs with the host user's filesystem, process, and network authority. - Its resource is raw text, not a parsed command. External command arguments - produce only best-effort warnings; `external_directory` is enforced for the - working directory, not every path embedded in a command. Prefer a narrow - shell allowlist over patterns intended to identify every dangerous command. + `shell` runs with the host user's filesystem, process, and network authority. Its resource is raw text, not a parsed + command. External command arguments produce only best-effort warnings; `external_directory` is enforced for the + working directory, not every path embedded in a command. Prefer a narrow shell allowlist over patterns intended to + identify every dangerous command. Relative mutation paths cannot escape the active Location, and symlink escapes @@ -135,13 +133,13 @@ Every agent, including custom agents, starts with ordered defaults that allow tools, ask for external directories, ask for `.env` reads, and allow `.env.example` reads. Shipped agents then add their own policies: -| Agent | Effective default policy | -| --- | --- | -| `build` | Allows most actions; asks for external directories and `.env` reads; allows questions and entering plan mode; denies exiting plan mode | -| `plan` | Uses the same base, allows questions and exiting plan mode, and denies edits except OpenCode plan files | -| `general` | Uses the base policy but cannot launch another subagent; questions and plan transitions remain denied | -| `explore` | Denies everything except `read`, `glob`, `grep`, `webfetch`, and `websearch`; cannot launch subagents and asks for external directories | -| Hidden maintenance agents | Deny all actions | +| Agent | Effective default policy | +| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | +| `build` | Allows most actions; asks for external directories and `.env` reads; allows questions and entering plan mode; denies exiting plan mode | +| `plan` | Uses the same base, allows questions and exiting plan mode, and denies edits except OpenCode plan files | +| `general` | Uses the base policy but cannot launch another subagent; questions and plan transitions remain denied | +| `explore` | Denies everything except `read`, `glob`, `grep`, `webfetch`, and `websearch`; cannot launch subagents and asks for external directories | +| Hidden maintenance agents | Deny all actions | The base read rules are ordered as follows: @@ -150,7 +148,7 @@ The base read rules are ordered as follows: { "action": "read", "resource": "*", "effect": "allow" }, { "action": "read", "resource": "*.env", "effect": "ask" }, { "action": "read", "resource": "*.env.*", "effect": "ask" }, - { "action": "read", "resource": "*.env.example", "effect": "allow" } + { "action": "read", "resource": "*.env.example", "effect": "allow" }, ] ``` @@ -172,7 +170,7 @@ agent under `agents..permissions`: "permissions": [ { "action": "shell", "resource": "*", "effect": "ask" }, { "action": "shell", "resource": "git diff *", "effect": "allow" }, - { "action": "shell", "resource": "git status *", "effect": "allow" } + { "action": "shell", "resource": "git status *", "effect": "allow" }, ], "agents": { "reviewer": { @@ -181,10 +179,10 @@ agent under `agents..permissions`: "permissions": [ { "action": "edit", "resource": "*", "effect": "deny" }, { "action": "shell", "resource": "git diff *", "effect": "allow" }, - { "action": "shell", "resource": "git status *", "effect": "allow" } - ] - } - } + { "action": "shell", "resource": "git status *", "effect": "allow" }, + ], + }, + }, } ``` diff --git a/packages/www/content/docs/(Configure)/providers.mdx b/packages/www/content/docs/(Configure)/providers.mdx index d23f82410d4..218b67614c7 100644 --- a/packages/www/content/docs/(Configure)/providers.mdx +++ b/packages/www/content/docs/(Configure)/providers.mdx @@ -33,9 +33,9 @@ For a custom provider, `env` declares the variables that can supply its key: "$schema": "https://opencode.ai/config.json", "providers": { "acme": { - "env": ["ACME_API_KEY"] - } - } + "env": ["ACME_API_KEY"], + }, + }, } ``` @@ -48,10 +48,10 @@ When several credential sources exist, OpenCode uses the stored credential first "providers": { "acme": { "settings": { - "apiKey": "{env:ACME_API_KEY}" - } - } - } + "apiKey": "{env:ACME_API_KEY}", + }, + }, + }, } ``` @@ -61,15 +61,15 @@ When several credential sources exist, OpenCode uses the stored credential first The `providers` object is keyed by provider ID. Each provider accepts these fields: -| Field | Purpose | -| --- | --- | -| `name` | Display name. | -| `env` | Ordered environment variable names that provide a connection. | -| `package` | Runtime provider package. | +| Field | Purpose | +| ---------- | --------------------------------------------------------------- | +| `name` | Display name. | +| `env` | Ordered environment variable names that provide a connection. | +| `package` | Runtime provider package. | | `settings` | JSON settings passed to the runtime package, such as `baseURL`. | -| `headers` | String-valued HTTP headers added to requests. | -| `body` | JSON fields merged into request bodies. | -| `models` | Models to add or override, keyed by catalog model ID. | +| `headers` | String-valued HTTP headers added to requests. | +| `body` | JSON fields merged into request bodies. | +| `models` | Models to add or override, keyed by catalog model ID. | Configuration files are applied from lowest to highest precedence. `settings` and `body` are deep-merged. Headers are merged case-insensitively. At request time, provider values are inherited by the model, model values override them, and @@ -86,10 +86,10 @@ models, and connection continue to apply: "providers": { "anthropic": { "settings": { - "baseURL": "https://llm-proxy.example.com/anthropic" - } - } - } + "baseURL": "https://llm-proxy.example.com/anthropic", + }, + }, + }, } ``` @@ -105,22 +105,22 @@ Headers and body fields can be set at provider, model, or variant scope: "providers": { "openai": { "headers": { - "X-Gateway-Tenant": "engineering" + "X-Gateway-Tenant": "engineering", }, "body": { "metadata": { - "application": "opencode" - } + "application": "opencode", + }, }, "models": { "gpt-5.2": { "headers": { - "X-Model-Policy": "coding" - } - } - } - } - } + "X-Model-Policy": "coding", + }, + }, + }, + }, + }, } ``` @@ -142,7 +142,7 @@ provider has no Models.dev catalog entries: "env": ["ACME_API_KEY"], "package": "@opencode-ai/ai/providers/openai-compatible", "settings": { - "baseURL": "https://llm.acme.example/v1" + "baseURL": "https://llm.acme.example/v1", }, "models": { "qwen3-coder": { @@ -150,16 +150,16 @@ provider has no Models.dev catalog entries: "capabilities": { "tools": true, "input": ["text"], - "output": ["text"] + "output": ["text"], }, "limit": { "context": 131072, - "output": 32768 - } - } - } - } - } + "output": 32768, + }, + }, + }, + }, + }, } ``` @@ -168,10 +168,10 @@ Omit `env` for an endpoint that does not require authentication. The native comp The `package` field supports two runtime contracts: -| Form | Contract | -| --- | --- | +| Form | Contract | +| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | | `"@opencode-ai/ai/providers/openai-compatible"` | A V2 native package exporting `model(modelID, settings)`. An npm specifier or absolute `file://` URL may use the same contract. | -| `"aisdk:@ai-sdk/openai-compatible"` | An AI SDK provider package. The `aisdk:` prefix is required. | +| `"aisdk:@ai-sdk/openai-compatible"` | An AI SDK provider package. The `aisdk:` prefix is required. | Native packages receive the merged `settings` plus the resolved `apiKey`, `headers`, `body`, and `limits`. AI SDK packages receive their merged provider options. Use a package's own documentation for accepted settings; OpenCode does @@ -193,11 +193,11 @@ the provider: "models": { "coding": { "modelID": "gpt-5.2", - "name": "GPT-5.2 Coding" - } - } - } - } + "name": "GPT-5.2 Coding", + }, + }, + }, + }, } ``` diff --git a/packages/www/content/docs/(Configure)/references.mdx b/packages/www/content/docs/(Configure)/references.mdx index 72e58958552..f22c00517d6 100644 --- a/packages/www/content/docs/(Configure)/references.mdx +++ b/packages/www/content/docs/(Configure)/references.mdx @@ -15,14 +15,14 @@ Configure references by alias in `opencode.json` or `opencode.jsonc`: "references": { "docs": { "path": "../product-docs", - "description": "Use for product behavior and terminology" + "description": "Use for product behavior and terminology", }, "effect": { "repository": "Effect-TS/effect", "branch": "main", - "description": "Use for Effect implementation details" - } - } + "description": "Use for Effect implementation details", + }, + }, } ``` @@ -35,9 +35,9 @@ Use `path` for a local directory: "references": { "design-system": { "path": "../design-system", - "description": "Use when working with components or design tokens" - } - } + "description": "Use when working with components or design tokens", + }, + }, } ``` @@ -51,15 +51,14 @@ The string shorthand is useful when no other fields are needed: { "references": { "docs": "../docs", - "shared": "~/work/shared" - } + "shared": "~/work/shared", + }, } ``` - A shorthand string is treated as a local path only when it starts with `.`, - `/`, or `~`. Use `./docs`, not `docs`; a bare `docs` value is interpreted as - a Git repository. + A shorthand string is treated as a local path only when it starts with `.`, `/`, or `~`. Use `./docs`, not `docs`; a + bare `docs` value is interpreted as a Git repository. ## Git repositories @@ -72,13 +71,13 @@ Git URLs, host/path forms, and SCP-style remotes are supported. "references": { "effect": { "repository": "Effect-TS/effect", - "branch": "main" + "branch": "main", }, "internal-sdk": { "repository": "git@gitlab.example.com:platform/sdk.git", - "branch": "release/v2" - } - } + "branch": "release/v2", + }, + }, } ``` @@ -93,8 +92,8 @@ Git references also support shorthand: { "references": { "effect": "Effect-TS/effect", - "sdk": "gitlab.com/platform/sdk" - } + "sdk": "gitlab.com/platform/sdk", + }, } ``` @@ -115,9 +114,8 @@ reference can appear before its checkout is ready. Clone and refresh failures are logged and do not stop other references from loading. - The cache has one checkout per normalized remote, not one per branch. Do not - configure the same repository at multiple branches; only one branch can be - exposed. Avoid editing cached checkouts because a refresh resets them. + The cache has one checkout per normalized remote, not one per branch. Do not configure the same repository at multiple + branches; only one branch can be exposed. Avoid editing cached checkouts because a refresh resets them. ## Description and visibility @@ -135,9 +133,9 @@ Set `hidden` to `true` to remove a reference from TUI `@` autocomplete: "internal": { "path": "../internal", "description": "Use for internal service behavior", - "hidden": true - } - } + "hidden": true, + }, + }, } ``` @@ -165,13 +163,13 @@ applicable edit permission. ## Fields -| Field | Local | Git | Description | -| --- | --- | --- | --- | -| `path` | Required | No | Local directory path | -| `repository` | No | Required | Remote Git repository | -| `branch` | No | Optional | Branch to fetch and check out | +| Field | Local | Git | Description | +| ------------- | -------- | -------- | --------------------------------------------- | +| `path` | Required | No | Local directory path | +| `repository` | No | Required | Remote Git repository | +| `branch` | No | Optional | Branch to fetch and check out | | `description` | Optional | Optional | Guidance describing when agents should use it | -| `hidden` | Optional | Optional | Hide it from TUI `@` autocomplete | +| `hidden` | Optional | Optional | Hide it from TUI `@` autocomplete | An alias cannot be empty or contain `/`, `\`, whitespace, a backtick, or a comma. diff --git a/packages/www/content/docs/(Configure)/sharing.mdx b/packages/www/content/docs/(Configure)/sharing.mdx index 6fa6f48da23..56b613d6b3a 100644 --- a/packages/www/content/docs/(Configure)/sharing.mdx +++ b/packages/www/content/docs/(Configure)/sharing.mdx @@ -19,7 +19,7 @@ The V2 configuration schema accepts a `share` field with three values: ```jsonc title="opencode.jsonc" { "$schema": "https://opencode.ai/config.json", - "share": "manual" + "share": "manual", } ``` diff --git a/packages/www/content/docs/(Configure)/skills.mdx b/packages/www/content/docs/(Configure)/skills.mdx index b2860a16c4c..8339e394362 100644 --- a/packages/www/content/docs/(Configure)/skills.mdx +++ b/packages/www/content/docs/(Configure)/skills.mdx @@ -43,12 +43,12 @@ Paths in a skill are relative to the directory containing `SKILL.md`. OpenCode automatically adds the following source directories: -| Scope | Sources | -| --- | --- | -| Global | `~/.config/opencode/skills` | -| Global compatibility | `~/.claude/skills`, `~/.agents/skills` | -| Project | `.opencode/skills` | -| Project compatibility | `.claude/skills`, `.agents/skills` | +| Scope | Sources | +| --------------------- | -------------------------------------- | +| Global | `~/.config/opencode/skills` | +| Global compatibility | `~/.claude/skills`, `~/.agents/skills` | +| Project | `.opencode/skills` | +| Project compatibility | `.claude/skills`, `.agents/skills` | For project sources, OpenCode searches from the current directory upward to the project root and includes matching directories at every level. @@ -73,8 +73,8 @@ directories or HTTP catalogs: "./team-skills", "~/shared/opencode-skills", "/opt/company-skills", - "https://example.com/opencode/skills/" - ] + "https://example.com/opencode/skills/", + ], } ``` @@ -96,10 +96,7 @@ An HTTP source is a base URL containing an `index.json`: { "name": "git-release", "version": "3", - "files": [ - "git-release.md", - "references/release-policy.md" - ] + "files": ["git-release.md", "references/release-policy.md"] } ] } @@ -120,13 +117,13 @@ the cached copy. V2 reads these fields: -| Field | Purpose | -| --- | --- | -| `name` | Display name; defaults to the path-derived ID | -| `description` | Summary shown to the model and command catalog | -| `slash` | Set to `false` to hide the skill from the V2 slash-command catalog | -| `metadata.opencode/slash` | Boolean or `"true"`/`"false"`; overrides `slash` | -| `metadata.opencode/autoinvoke` | Set to `false` to omit the skill from model-facing discovery | +| Field | Purpose | +| ------------------------------ | ------------------------------------------------------------------ | +| `name` | Display name; defaults to the path-derived ID | +| `description` | Summary shown to the model and command catalog | +| `slash` | Set to `false` to hide the skill from the V2 slash-command catalog | +| `metadata.opencode/slash` | Boolean or `"true"`/`"false"`; overrides `slash` | +| `metadata.opencode/autoinvoke` | Set to `false` to omit the skill from model-facing discovery | Frontmatter, `name`, and `description` are optional at runtime. However, a clear `description` is strongly recommended: skills without one are not @@ -141,11 +138,11 @@ by its ID. The skill ID comes from its path, not its frontmatter: -| File | ID | -| --- | --- | -| `/git-release.md` | `git-release` | -| `/git-release/SKILL.md` | `git-release` | -| `/teams/release/SKILL.md` | `release` | +| File | ID | +| --------------------------------- | ------------- | +| `/git-release.md` | `git-release` | +| `/git-release/SKILL.md` | `git-release` | +| `/teams/release/SKILL.md` | `release` | IDs are exact and case-sensitive. V2 currently does not enforce the Agent Skills name regex, length limits, a match between `name` and the directory, or @@ -205,8 +202,8 @@ are evaluated in order, with the last matching rule winning: "permissions": [ { "action": "skill", "resource": "*", "effect": "allow" }, { "action": "skill", "resource": "internal-*", "effect": "deny" }, - { "action": "skill", "resource": "experimental-*", "effect": "ask" } - ] + { "action": "skill", "resource": "experimental-*", "effect": "ask" }, + ], } ``` diff --git a/packages/www/content/docs/(Configure)/snapshots.mdx b/packages/www/content/docs/(Configure)/snapshots.mdx index 6b14a9cf771..b90651cbc10 100644 --- a/packages/www/content/docs/(Configure)/snapshots.mdx +++ b/packages/www/content/docs/(Configure)/snapshots.mdx @@ -14,7 +14,7 @@ filesystem state: ```jsonc title="opencode.jsonc" { "$schema": "https://opencode.ai/config.json", - "snapshots": false + "snapshots": false, } ``` diff --git a/packages/www/content/docs/(Configure)/warming.mdx b/packages/www/content/docs/(Configure)/warming.mdx index 8b7bd06a59c..fd495ea157a 100644 --- a/packages/www/content/docs/(Configure)/warming.mdx +++ b/packages/www/content/docs/(Configure)/warming.mdx @@ -13,7 +13,7 @@ Warming is disabled by default. Enable it with the default settings in any ```jsonc title="opencode.jsonc" { "$schema": "https://opencode.ai/config.json", - "warming": true + "warming": true, } ``` @@ -32,16 +32,16 @@ Use the object form to customize the prompt, idle interval, or active duration: "warming": { "prompt": "Do not perform any work. Reply with exactly: OK", "interval": "4 minutes", - "duration": "30 minutes" - } + "duration": "30 minutes", + }, } ``` -| Field | Default | Description | -| --- | --- | --- | -| `prompt` | Keep-alive instruction | Prompt sent in each warming request. The default instructs the model to do no work and reply with `OK`. | -| `interval` | `"4 minutes"` | Idle time between warming requests. | -| `duration` | `"30 minutes"` | Maximum warming window after the latest non-warming model request. | +| Field | Default | Description | +| ---------- | ---------------------- | ------------------------------------------------------------------------------------------------------- | +| `prompt` | Keep-alive instruction | Prompt sent in each warming request. The default instructs the model to do no work and reply with `OK`. | +| `interval` | `"4 minutes"` | Idle time between warming requests. | +| `duration` | `"30 minutes"` | Maximum warming window after the latest non-warming model request. | `interval` and `duration` accept duration strings such as `"30 seconds"`, `"4 minutes"`, or `"1 hour"`. Both must be finite and greater than zero. @@ -50,7 +50,7 @@ To disable warming explicitly: ```jsonc { - "warming": false + "warming": false, } ``` diff --git a/packages/www/content/docs/build/client.mdx b/packages/www/content/docs/build/client.mdx index 51805cfb183..2e11ae1d2b6 100644 --- a/packages/www/content/docs/build/client.mdx +++ b/packages/www/content/docs/build/client.mdx @@ -9,8 +9,7 @@ network. Its types and methods are generated from the same contract as the [API reference](/api). - The V2 API and client are beta. Method names, inputs, and outputs may change - before the stable release. + The V2 API and client are beta. Method names, inputs, and outputs may change before the stable release. ## Install @@ -140,9 +139,7 @@ const program = Effect.gen(function* () { return yield* client.session.get({ sessionID: session.id }) }) -const session = await Effect.runPromise( - program.pipe(Effect.provide(FetchHttpClient.layer)), -) +const session = await Effect.runPromise(program.pipe(Effect.provide(FetchHttpClient.layer))) ``` Streaming operations, including `client.event.subscribe()` and @@ -175,9 +172,6 @@ const program = Effect.gen(function* () { }) const health = await Effect.runPromise( - program.pipe( - Effect.provide(FetchHttpClient.layer), - Effect.provide(NodeFileSystem.layer), - ), + program.pipe(Effect.provide(FetchHttpClient.layer), Effect.provide(NodeFileSystem.layer)), ) ``` diff --git a/packages/www/content/docs/build/index.mdx b/packages/www/content/docs/build/index.mdx index 02614255ea9..4a4d25f0a28 100644 --- a/packages/www/content/docs/build/index.mdx +++ b/packages/www/content/docs/build/index.mdx @@ -9,8 +9,8 @@ description: "Build on the engine used by millions daily." intact. - Connect to OpenCode with the same client used by the TUI and desktop app, then build any interface, workflow, or agent - experience around it. + Connect to OpenCode with the same client used by the TUI and desktop app, then build any interface, workflow, or + agent experience around it. Embed OpenCode directly into your application and build a completely custom agent, interface, or developer product diff --git a/packages/www/content/docs/build/plugins.mdx b/packages/www/content/docs/build/plugins.mdx index 100791cecd7..c53066bb1ca 100644 --- a/packages/www/content/docs/build/plugins.mdx +++ b/packages/www/content/docs/build/plugins.mdx @@ -177,7 +177,7 @@ and plugin options. | `ctx.integration` | `list`, `get`, `connect`, `attempt`, `transform`, `reload`, and connection lookup/resolution | | `ctx.plugin` | `list` currently active plugin IDs | | `ctx.reference` | `list`, `transform`, `reload` | -| `ctx.session` | `create`, `get`, `prompt`, `command`, `rename`, `synthetic`, `interrupt`, `wait`, and `hook` | +| `ctx.session` | `create`, `get`, `prompt`, `command`, `rename`, `synthetic`, `interrupt`, `wait`, and `hook` | | `ctx.skill` | `list`, `transform`, `reload` | | `ctx.tool` | `transform` and `hook` | | `ctx.aisdk` | `hook` | @@ -241,15 +241,15 @@ without restarting OpenCode. Runtime hooks intercept live operations: -| Hook | Mutable fields | -| ------------------------------------------- | ------------------------------------------------------------------------------ | -| `ctx.aisdk.hook("sdk", callback)` | `sdk`, after inspecting `model`, `package`, and `options` | -| `ctx.aisdk.hook("language", callback)` | `language`, after inspecting `model`, `sdk`, and `options` | -| `ctx.session.hook("context", callback)` | `system`, `messages`, and the `tools` record immediately before model dispatch | -| `ctx.session.hook("http.request", callback)` | `request`, immediately before provider dispatch | +| Hook | Mutable fields | +| --------------------------------------------- | ------------------------------------------------------------------------------ | +| `ctx.aisdk.hook("sdk", callback)` | `sdk`, after inspecting `model`, `package`, and `options` | +| `ctx.aisdk.hook("language", callback)` | `language`, after inspecting `model`, `sdk`, and `options` | +| `ctx.session.hook("context", callback)` | `system`, `messages`, and the `tools` record immediately before model dispatch | +| `ctx.session.hook("http.request", callback)` | `request`, immediately before provider dispatch | | `ctx.session.hook("http.response", callback)` | `response`, immediately after the provider responds | -| `ctx.tool.hook("execute.before", callback)` | `input`, before the selected tool executes | -| `ctx.tool.hook("execute.after", callback)` | Terminal `result` on success or `error` on failure | +| `ctx.tool.hook("execute.before", callback)` | `input`, before the selected tool executes | +| `ctx.tool.hook("execute.after", callback)` | Terminal `result` on success or `error` on failure | HTTP hooks can modify requests and responses. They apply to native models; AI SDK models do not currently pass through these hooks. Request and response @@ -309,33 +309,30 @@ export default Plugin.define({ id: "acme.greeting", setup: async (ctx) => { await ctx.tool.transform((tools) => { - tools.add( - "greeting", - { - description: "Create a greeting", - input: { - type: "object", - properties: { - name: { type: "string" }, - }, - required: ["name"], - additionalProperties: false, - }, - output: { - type: "object", - properties: { greeting: { type: "string" } }, - required: ["greeting"], - additionalProperties: false, - }, - execute: async ({ name }) => { - const text = `Hello, ${name}!` - return { - output: { greeting: text }, - content: text, - } + tools.add("greeting", { + description: "Create a greeting", + input: { + type: "object", + properties: { + name: { type: "string" }, }, + required: ["name"], + additionalProperties: false, }, - ) + output: { + type: "object", + properties: { greeting: { type: "string" } }, + required: ["greeting"], + additionalProperties: false, + }, + execute: async ({ name }) => { + const text = `Hello, ${name}!` + return { + output: { greeting: text }, + content: text, + } + }, + }) }) }, }) diff --git a/packages/www/content/docs/build/sdk.mdx b/packages/www/content/docs/build/sdk.mdx index 8b7cfcaf1ef..5b8f1467052 100644 --- a/packages/www/content/docs/build/sdk.mdx +++ b/packages/www/content/docs/build/sdk.mdx @@ -18,9 +18,8 @@ calls through its HTTP router in memory. It opens no HTTP listener and adds no network hop between the client and server. - The V2 SDK is beta and currently private to the OpenCode workspace. It is not - published for external installation yet, and its package name and API may - change before release. + The V2 SDK is beta and currently private to the OpenCode workspace. It is not published for external installation yet, + and its package name and API may change before release. ## Create a host @@ -29,11 +28,7 @@ network hop between the client and server. the router, location services, fibers, and scoped plugin registrations. ```ts -import { - AbsolutePath, - Location, - OpenCode, -} from "@opencode-ai/sdk-next" +import { AbsolutePath, Location, OpenCode } from "@opencode-ai/sdk-next" import { Effect } from "effect" const program = Effect.scoped( @@ -71,9 +66,7 @@ const program = Effect.gen(function* () { return yield* opencode.sessions.active() }) -const active = await Effect.runPromise( - program.pipe(Effect.provide(OpenCode.layer)), -) +const active = await Effect.runPromise(program.pipe(Effect.provide(OpenCode.layer))) ``` ## Register plugins diff --git a/packages/www/content/docs/config.mdx b/packages/www/content/docs/config.mdx index 857e8bbad0f..78c0d5185ef 100644 --- a/packages/www/content/docs/config.mdx +++ b/packages/www/content/docs/config.mdx @@ -20,11 +20,11 @@ OpenCode supports both **JSON** and **JSONC** (JSON with Comments) configuration "models": { "gpt-5.2-custom": { "modelID": "gpt-5.2", - "name": "GPT-5.2 Custom" - } - } - } - } + "name": "GPT-5.2 Custom", + }, + }, + }, + }, } ``` @@ -98,7 +98,7 @@ Set the shell used by the terminal and shell tools. ```jsonc { - "shell": "/bin/zsh" + "shell": "/bin/zsh", } ``` @@ -109,7 +109,7 @@ does not retain a `#variant`; select variants in the TUI or on an agent or comma ```jsonc { - "model": "anthropic/claude-sonnet-4-5" + "model": "anthropic/claude-sonnet-4-5", } ``` @@ -122,7 +122,7 @@ Choose the primary agent used when a session does not select one explicitly. ```jsonc { - "default_agent": "build" + "default_agent": "build", } ``` @@ -138,7 +138,7 @@ ignored. ```jsonc { - "autoupdate": false + "autoupdate": false, } ``` @@ -149,7 +149,7 @@ sharing is not implemented yet. ```jsonc { - "share": "manual" + "share": "manual", } ``` @@ -162,7 +162,7 @@ currently display it in conversations. ```jsonc { - "username": "alice" + "username": "alice", } ``` @@ -177,9 +177,9 @@ matching resource. { "action": "shell", "resource": "git push *", - "effect": "ask" - } - ] + "effect": "ask", + }, + ], } ``` @@ -197,11 +197,9 @@ instructions, mode, and permissions. "description": "Review changes without editing files", "mode": "subagent", "system": "Focus on correctness, security, and missing tests.", - "permissions": [ - { "action": "edit", "resource": "*", "effect": "deny" } - ] - } - } + "permissions": [{ "action": "edit", "resource": "*", "effect": "deny" }], + }, + }, } ``` @@ -213,7 +211,7 @@ Enable or disable filesystem snapshots used by undo and revert behavior. ```jsonc { - "snapshots": false + "snapshots": false, } ``` @@ -226,8 +224,8 @@ Ignore files and directories that should not trigger filesystem updates. ```jsonc { "watcher": { - "ignore": ["dist/**", "coverage/**"] - } + "ignore": ["dist/**", "coverage/**"], + }, } ``` @@ -241,9 +239,9 @@ field, but it does not run formatters yet. "formatter": { "prettier": { "command": ["bunx", "prettier", "--write", "$FILE"], - "extensions": [".js", ".ts", ".tsx"] - } - } + "extensions": [".js", ".ts", ".tsx"], + }, + }, } ``` @@ -259,9 +257,9 @@ this field, but it does not start language servers yet. "lsp": { "typescript": { "command": ["typescript-language-server", "--stdio"], - "extensions": [".ts", ".tsx"] - } - } + "extensions": [".ts", ".tsx"], + }, + }, } ``` @@ -279,9 +277,9 @@ before they are sent to a model. "auto_resize": true, "max_width": 2000, "max_height": 2000, - "max_base64_bytes": 5242880 - } - } + "max_base64_bytes": 5242880, + }, + }, } ``` @@ -295,8 +293,8 @@ Set the maximum number of lines and bytes retained from a tool result. { "tool_output": { "max_lines": 2000, - "max_bytes": 51200 - } + "max_bytes": 51200, + }, } ``` @@ -311,10 +309,10 @@ be overridden by an individual server. "servers": { "playwright": { "type": "local", - "command": ["bunx", "@playwright/mcp"] - } - } - } + "command": ["bunx", "@playwright/mcp"], + }, + }, + }, } ``` @@ -329,10 +327,10 @@ Control automatic context compaction and how much recent context it preserves. "compaction": { "auto": true, "keep": { - "tokens": 15000 + "tokens": 15000, }, - "buffer": 20000 - } + "buffer": 20000, + }, } ``` @@ -349,8 +347,8 @@ interval and 30-minute active window. "warming": { "prompt": "Do not perform any work. Reply with exactly: OK", "interval": "4 minutes", - "duration": "30 minutes" - } + "duration": "30 minutes", + }, } ``` @@ -363,7 +361,7 @@ Add directories or URLs that OpenCode should search for agent skills. ```jsonc { - "skills": ["./team-skills", "https://example.com/.well-known/skills/"] + "skills": ["./team-skills", "https://example.com/.well-known/skills/"], } ``` @@ -378,9 +376,9 @@ Define reusable slash commands as named prompt templates. "commands": { "review": { "description": "Review the current changes", - "template": "Review the current diff for correctness and missing tests." - } - } + "template": "Review the current diff for correctness and missing tests.", + }, + }, } ``` @@ -393,7 +391,7 @@ but does not load these entries yet; use `AGENTS.md` for active instructions. ```jsonc { - "instructions": ["CONTRIBUTING.md", "docs/guidelines/*.md"] + "instructions": ["CONTRIBUTING.md", "docs/guidelines/*.md"], } ``` @@ -409,13 +407,13 @@ context. "references": { "docs": { "path": "../product-docs", - "description": "Product behavior and terminology" + "description": "Product behavior and terminology", }, "effect": { "repository": "Effect-TS/effect", - "branch": "main" - } - } + "branch": "main", + }, + }, } ``` @@ -433,10 +431,10 @@ accepts options. { "package": "./plugins/local.ts", "options": { - "enabled": true - } - } - ] + "enabled": true, + }, + }, + ], } ``` @@ -457,12 +455,12 @@ headers, and model variants. "name": "GPT-5.2 Custom", "limit": { "context": 200000, - "output": 32000 - } - } - } - } - } + "output": 32000, + }, + }, + }, + }, + }, } ``` diff --git a/packages/www/content/docs/index.mdx b/packages/www/content/docs/index.mdx index 4a39161ac72..b4003721574 100644 --- a/packages/www/content/docs/index.mdx +++ b/packages/www/content/docs/index.mdx @@ -20,26 +20,10 @@ description: "Get started with OpenCode." You can also install it with the following package managers. - - ```bash - npm install -g @opencode-ai/cli@next - ``` - - - ```bash - bun install -g --trust @opencode-ai/cli@next - ``` - - - ```bash - pnpm add -g --allow-build=@opencode-ai/cli @opencode-ai/cli@next - ``` - - - ```bash - yarn global add @opencode-ai/cli@next - ``` - + ```bash npm install -g @opencode-ai/cli@next ``` + ```bash bun install -g --trust @opencode-ai/cli@next ``` + ```bash pnpm add -g --allow-build=@opencode-ai/cli @opencode-ai/cli@next ``` + ```bash yarn global add @opencode-ai/cli@next ``` The package uses a trusted postinstall script to select the native `opencode2` binary for your platform. The Bun and pnpm @@ -62,18 +46,10 @@ Arch Linux installation is not available in beta. - - Chocolatey installation is not available in beta. - - - Scoop installation is not available in beta. - - - Mise installation is not available in beta. - - - Docker installation is not available in beta. - + Chocolatey installation is not available in beta. + Scoop installation is not available in beta. + Mise installation is not available in beta. + Docker installation is not available in beta. Standalone binaries are not available in beta. diff --git a/packages/www/content/docs/migrate-v1.mdx b/packages/www/content/docs/migrate-v1.mdx index 0c891676c6b..05e290f9f77 100644 --- a/packages/www/content/docs/migrate-v1.mdx +++ b/packages/www/content/docs/migrate-v1.mdx @@ -4,8 +4,8 @@ description: "Move from OpenCode V1 to the OpenCode 2.0 beta." --- - OpenCode 1 and OpenCode 2 can be installed side by side. V1 runs as `opencode`, while V2 installs and runs separately as - `opencode2`. + OpenCode 1 and OpenCode 2 can be installed side by side. V1 runs as `opencode`, while V2 installs and runs separately + as `opencode2`. ## Breaking changes @@ -30,8 +30,8 @@ beta compatibility bug rather than an expected migration requirement. - OpenCode 2.0 is in beta. Beta data may be wiped, features may break unintentionally, and the server and plugin APIs may - continue to change. + OpenCode 2.0 is in beta. Beta data may be wiped, features may break unintentionally, and the server and plugin APIs + may continue to change. ## Install the beta @@ -365,10 +365,10 @@ V1 `npm` becomes `package`, and AI SDK packages receive the `aisdk:` prefix. `ap V2 consolidated two legacy provider namespaces: -| V1 provider ID | Canonical V2 provider ID | -| --- | --- | -| `azure-cognitive-services` | `azure` | -| `google-vertex-anthropic` | `google-vertex` | +| V1 provider ID | Canonical V2 provider ID | +| -------------------------- | ------------------------ | +| `azure-cognitive-services` | `azure` | +| `google-vertex-anthropic` | `google-vertex` | Migration of unambiguous V1 provider, agent, command, and provider-filter fields uses these canonical IDs. The shared top-level `model` field keeps its exact provider ID because the same syntax is valid in native V2 config; update that field diff --git a/packages/www/openapi.json b/packages/www/openapi.json index 17b55e7f060..5778fa30a9f 100644 --- a/packages/www/openapi.json +++ b/packages/www/openapi.json @@ -8,9 +8,7 @@ "paths": { "/api/health": { "get": { - "tags": [ - "health" - ], + "tags": ["health"], "operationId": "v2.health.get", "parameters": [], "security": [], @@ -52,9 +50,7 @@ }, "/api/service/stop": { "post": { - "tags": [ - "health" - ], + "tags": ["health"], "operationId": "v2.health.stop", "parameters": [], "security": [], @@ -106,9 +102,7 @@ }, "/api/server": { "get": { - "tags": [ - "server" - ], + "tags": ["server"], "operationId": "v2.server.get", "parameters": [], "security": [], @@ -127,9 +121,7 @@ } } }, - "required": [ - "urls" - ], + "required": ["urls"], "additionalProperties": false } } @@ -162,9 +154,7 @@ }, "/api/location": { "get": { - "tags": [ - "location" - ], + "tags": ["location"], "operationId": "v2.location.get", "parameters": [ { @@ -247,9 +237,7 @@ }, "/api/agent": { "get": { - "tags": [ - "agent" - ], + "tags": ["agent"], "operationId": "v2.agent.list", "parameters": [ { @@ -312,10 +300,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -348,9 +333,7 @@ }, "/api/agent/{agentID}": { "get": { - "tags": [ - "agent" - ], + "tags": ["agent"], "operationId": "v2.agent.get", "parameters": [ { @@ -418,10 +401,7 @@ "$ref": "#/components/schemas/Agent.Info" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -464,9 +444,7 @@ }, "/api/plugin": { "get": { - "tags": [ - "plugin" - ], + "tags": ["plugin"], "operationId": "v2.plugin.list", "parameters": [ { @@ -529,10 +507,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -565,9 +540,7 @@ }, "/api/session": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.list", "parameters": [ { @@ -613,10 +586,7 @@ "anyOf": [ { "type": "string", - "enum": [ - "asc", - "desc" - ] + "enum": ["asc", "desc"] }, { "type": "null" @@ -658,9 +628,7 @@ }, { "type": "string", - "enum": [ - "null" - ] + "enum": ["null"] } ], "description": "Filter by parent session. Use null to return only root sessions." @@ -781,9 +749,7 @@ "summary": "List sessions" }, "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.create", "parameters": [], "security": [], @@ -799,9 +765,7 @@ "$ref": "#/components/schemas/Session.Info" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -900,11 +864,200 @@ } } }, + "/api/session/import": { + "post": { + "tags": ["session"], + "operationId": "v2.session.import", + "parameters": [], + "security": [], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/Session.Info" + } + }, + "required": ["data"], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "InvalidRequestError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InvalidRequestError" + } + } + } + }, + "401": { + "description": "UnauthorizedError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnauthorizedError" + } + } + } + }, + "409": { + "description": "ConflictError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConflictError" + } + } + } + } + }, + "description": "Import a projected session transcript at the requested location.", + "summary": "Import session", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "info": { + "$ref": "#/components/schemas/Session.Info" + }, + "messages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Session.Message.Info" + } + }, + "location": { + "anyOf": [ + { + "$ref": "#/components/schemas/Location.Ref" + }, + { + "type": "null" + } + ] + } + }, + "required": ["info", "messages"], + "additionalProperties": false + } + } + }, + "required": true + } + } + }, + "/api/session/{sessionID}/export": { + "get": { + "tags": ["session"], + "operationId": "v2.session.export", + "parameters": [ + { + "name": "sessionID", + "in": "path", + "schema": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "required": true + }, + { + "name": "sanitize", + "in": "query", + "schema": { + "anyOf": [ + { + "type": "string", + "enum": ["true", "false"] + }, + { + "type": "null" + } + ] + }, + "required": false + } + ], + "security": [], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/SessionTransfer.Data" + } + }, + "required": ["data"], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "InvalidRequestError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InvalidRequestError" + } + } + } + }, + "401": { + "description": "UnauthorizedError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnauthorizedError" + } + } + } + }, + "404": { + "description": "SessionNotFoundError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SessionNotFoundError" + } + } + } + }, + "500": { + "description": "UnknownError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnknownError" + } + } + } + } + }, + "description": "Export a complete projected session transcript.", + "summary": "Export session" + } + }, "/api/session/active": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.active", "parameters": [], "security": [], @@ -925,9 +1078,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -960,9 +1111,7 @@ }, "/api/session/{sessionID}": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.get", "parameters": [ { @@ -992,9 +1141,7 @@ "$ref": "#/components/schemas/Session.Info" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -1035,9 +1182,7 @@ "summary": "Get session" }, "delete": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.remove", "parameters": [ { @@ -1103,9 +1248,7 @@ }, "/api/session/{sessionID}/fork": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.fork", "parameters": [ { @@ -1135,9 +1278,7 @@ "$ref": "#/components/schemas/Session.Info" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -1203,9 +1344,7 @@ "$ref": "#/components/schemas/Session.ForkRequestBoundary" } }, - "required": [ - "boundary" - ], + "required": ["boundary"], "additionalProperties": false } } @@ -1216,9 +1355,7 @@ }, "/api/session/{sessionID}/agent": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.switchAgent", "parameters": [ { @@ -1290,9 +1427,7 @@ "type": "string" } }, - "required": [ - "agent" - ], + "required": ["agent"], "additionalProperties": false } } @@ -1303,9 +1438,7 @@ }, "/api/session/{sessionID}/model": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.switchModel", "parameters": [ { @@ -1377,9 +1510,7 @@ "$ref": "#/components/schemas/Model.Ref" } }, - "required": [ - "model" - ], + "required": ["model"], "additionalProperties": false } } @@ -1390,9 +1521,7 @@ }, "/api/session/{sessionID}/rename": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.rename", "parameters": [ { @@ -1464,9 +1593,7 @@ "type": "string" } }, - "required": [ - "title" - ], + "required": ["title"], "additionalProperties": false } } @@ -1477,9 +1604,7 @@ }, "/api/session/{sessionID}/move": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.move", "parameters": [ { @@ -1555,9 +1680,7 @@ }, "/api/session/{sessionID}/prompt": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.prompt", "parameters": [ { @@ -1587,9 +1710,7 @@ "$ref": "#/components/schemas/SessionPending.User" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -1695,10 +1816,7 @@ "anyOf": [ { "type": "string", - "enum": [ - "steer", - "queue" - ] + "enum": ["steer", "queue"] }, { "type": "null" @@ -1716,9 +1834,7 @@ ] } }, - "required": [ - "text" - ], + "required": ["text"], "additionalProperties": false } } @@ -1729,9 +1845,7 @@ }, "/api/session/{sessionID}/command": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.command", "parameters": [ { @@ -1761,9 +1875,7 @@ "$ref": "#/components/schemas/SessionPending.User" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -1909,10 +2021,7 @@ "anyOf": [ { "type": "string", - "enum": [ - "steer", - "queue" - ] + "enum": ["steer", "queue"] }, { "type": "null" @@ -1930,9 +2039,7 @@ ] } }, - "required": [ - "command" - ], + "required": ["command"], "additionalProperties": false } } @@ -1943,9 +2050,7 @@ }, "/api/session/{sessionID}/skill": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.skill", "parameters": [ { @@ -2045,9 +2150,7 @@ ] } }, - "required": [ - "skill" - ], + "required": ["skill"], "additionalProperties": false } } @@ -2058,9 +2161,7 @@ }, "/api/session/{sessionID}/synthetic": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.synthetic", "parameters": [ { @@ -2090,9 +2191,7 @@ "$ref": "#/components/schemas/SessionPending.Synthetic" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -2189,10 +2288,7 @@ "anyOf": [ { "type": "string", - "enum": [ - "steer", - "queue" - ] + "enum": ["steer", "queue"] }, { "type": "null" @@ -2210,9 +2306,7 @@ ] } }, - "required": [ - "text" - ], + "required": ["text"], "additionalProperties": false } } @@ -2223,9 +2317,7 @@ }, "/api/session/{sessionID}/shell": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.shell", "parameters": [ { @@ -2312,9 +2404,7 @@ "type": "string" } }, - "required": [ - "command" - ], + "required": ["command"], "additionalProperties": false } } @@ -2325,9 +2415,7 @@ }, "/api/session/{sessionID}/compact": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.compact", "parameters": [ { @@ -2357,9 +2445,7 @@ "$ref": "#/components/schemas/SessionPending.Compaction" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -2447,9 +2533,7 @@ }, "/api/session/{sessionID}/wait": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.wait", "parameters": [ { @@ -2525,9 +2609,7 @@ }, "/api/session/{sessionID}/revert/stage": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.revert.stage", "parameters": [ { @@ -2557,9 +2639,7 @@ "$ref": "#/components/schemas/Session.Revert" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -2653,9 +2733,7 @@ ] } }, - "required": [ - "messageID" - ], + "required": ["messageID"], "additionalProperties": false } } @@ -2666,9 +2744,7 @@ }, "/api/session/{sessionID}/revert/clear": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.revert.clear", "parameters": [ { @@ -2753,9 +2829,7 @@ }, "/api/session/{sessionID}/revert/commit": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.revert.commit", "parameters": [ { @@ -2830,9 +2904,7 @@ }, "/api/session/{sessionID}/context": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.context", "parameters": [ { @@ -2865,9 +2937,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -2920,9 +2990,7 @@ }, "/api/session/{sessionID}/pending": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.pending.list", "parameters": [ { @@ -2955,9 +3023,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -2998,11 +3064,255 @@ "summary": "List pending session work" } }, + "/api/session/{sessionID}/pending/{inputID}": { + "delete": { + "tags": ["session"], + "operationId": "v2.session.pending.cancel", + "parameters": [ + { + "name": "sessionID", + "in": "path", + "schema": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "required": true + }, + { + "name": "inputID", + "in": "path", + "schema": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + }, + "required": true + } + ], + "security": [], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "InvalidRequestError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InvalidRequestError" + } + } + } + }, + "401": { + "description": "UnauthorizedError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnauthorizedError" + } + } + } + }, + "404": { + "description": "SessionNotFoundError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SessionNotFoundError" + } + } + } + }, + "409": { + "description": "ConflictError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConflictError" + } + } + } + } + }, + "description": "Cancel an input that has not yet been promoted into session history.", + "summary": "Cancel pending input" + } + }, + "/api/session/{sessionID}/pending/{inputID}/steer": { + "post": { + "tags": ["session"], + "operationId": "v2.session.pending.steer", + "parameters": [ + { + "name": "sessionID", + "in": "path", + "schema": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "required": true + }, + { + "name": "inputID", + "in": "path", + "schema": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + }, + "required": true + } + ], + "security": [], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "InvalidRequestError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InvalidRequestError" + } + } + } + }, + "401": { + "description": "UnauthorizedError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnauthorizedError" + } + } + } + }, + "404": { + "description": "SessionNotFoundError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SessionNotFoundError" + } + } + } + }, + "409": { + "description": "ConflictError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConflictError" + } + } + } + } + }, + "description": "Change a queued input to steer delivery and wake session execution.", + "summary": "Steer queued input" + } + }, + "/api/session/{sessionID}/pending/{inputID}/queue": { + "post": { + "tags": ["session"], + "operationId": "v2.session.pending.queue", + "parameters": [ + { + "name": "sessionID", + "in": "path", + "schema": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "required": true + }, + { + "name": "inputID", + "in": "path", + "schema": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + }, + "required": true + } + ], + "security": [], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "InvalidRequestError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InvalidRequestError" + } + } + } + }, + "401": { + "description": "UnauthorizedError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnauthorizedError" + } + } + } + }, + "404": { + "description": "SessionNotFoundError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SessionNotFoundError" + } + } + } + }, + "409": { + "description": "ConflictError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConflictError" + } + } + } + } + }, + "description": "Change a pending steer to queued delivery.", + "summary": "Queue pending steer" + } + }, "/api/session/{sessionID}/instructions/entries": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.instructions.entry.list", "parameters": [ { @@ -3035,9 +3345,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -3087,9 +3395,7 @@ }, "/api/session/{sessionID}/instructions/entries/{key}": { "put": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.instructions.entry.put", "parameters": [ { @@ -3177,9 +3483,7 @@ "properties": { "value": {} }, - "required": [ - "value" - ], + "required": ["value"], "additionalProperties": false } } @@ -3188,9 +3492,7 @@ } }, "delete": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.instructions.entry.remove", "parameters": [ { @@ -3264,9 +3566,7 @@ }, "/api/session/{sessionID}/generate": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.generate", "parameters": [ { @@ -3355,9 +3655,7 @@ "type": "string" } }, - "required": [ - "prompt" - ], + "required": ["prompt"], "additionalProperties": false } } @@ -3368,9 +3666,7 @@ }, "/api/experimental/session/{sessionID}/log": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.log", "parameters": [ { @@ -3408,10 +3704,7 @@ "anyOf": [ { "type": "string", - "enum": [ - "true", - "false" - ] + "enum": ["true", "false"] }, { "type": "null" @@ -3447,11 +3740,7 @@ "$ref": "#/components/schemas/SessionLogItemJsonString" } }, - "required": [ - "id", - "event", - "data" - ], + "required": ["id", "event", "data"], "additionalProperties": false }, "x-effect-stream": { @@ -3465,18 +3754,13 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "Fail" - ] + "enum": ["Fail"] }, "error": { "not": {} } }, - "required": [ - "_tag", - "error" - ], + "required": ["_tag", "error"], "additionalProperties": false }, { @@ -3484,16 +3768,11 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "Die" - ] + "enum": ["Die"] }, "defect": {} }, - "required": [ - "_tag", - "defect" - ], + "required": ["_tag", "defect"], "additionalProperties": false }, { @@ -3501,9 +3780,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "Interrupt" - ] + "enum": ["Interrupt"] }, "fiberId": { "anyOf": [ @@ -3516,10 +3793,7 @@ ] } }, - "required": [ - "_tag", - "fiberId" - ], + "required": ["_tag", "fiberId"], "additionalProperties": false } ] @@ -3570,9 +3844,7 @@ }, "/api/session/{sessionID}/interrupt": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.interrupt", "parameters": [ { @@ -3638,9 +3910,7 @@ }, "/api/session/{sessionID}/background": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.background", "parameters": [ { @@ -3706,9 +3976,7 @@ }, "/api/session/{sessionID}/message/{messageID}": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.message", "parameters": [ { @@ -3751,9 +4019,7 @@ "$ref": "#/components/schemas/Session.Message.Info" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -3803,9 +4069,7 @@ }, "/api/session/{sessionID}/message": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.message.list", "parameters": [ { @@ -3844,10 +4108,7 @@ "anyOf": [ { "type": "string", - "enum": [ - "asc", - "desc" - ] + "enum": ["asc", "desc"] }, { "type": "null" @@ -3940,9 +4201,7 @@ }, "/api/model": { "get": { - "tags": [ - "model" - ], + "tags": ["model"], "operationId": "v2.model.list", "parameters": [ { @@ -4005,10 +4264,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -4051,9 +4307,7 @@ }, "/api/model/default": { "get": { - "tags": [ - "model" - ], + "tags": ["model"], "operationId": "v2.model.default", "parameters": [ { @@ -4120,10 +4374,7 @@ ] } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -4166,9 +4417,7 @@ }, "/api/generate": { "post": { - "tags": [ - "generate" - ], + "tags": ["generate"], "operationId": "v2.generate.text", "parameters": [ { @@ -4284,9 +4533,7 @@ ] } }, - "required": [ - "prompt" - ], + "required": ["prompt"], "additionalProperties": false } } @@ -4297,9 +4544,7 @@ }, "/api/provider": { "get": { - "tags": [ - "provider" - ], + "tags": ["provider"], "operationId": "v2.provider.list", "parameters": [ { @@ -4362,10 +4607,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -4408,9 +4650,7 @@ }, "/api/provider/{providerID}": { "get": { - "tags": [ - "provider" - ], + "tags": ["provider"], "operationId": "v2.provider.get", "parameters": [ { @@ -4478,10 +4718,7 @@ "$ref": "#/components/schemas/Provider.Info" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -4534,9 +4771,7 @@ }, "/api/integration": { "get": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.list", "parameters": [ { @@ -4599,10 +4834,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -4635,9 +4867,7 @@ }, "/api/integration/{integrationID}": { "get": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.get", "parameters": [ { @@ -4712,10 +4942,7 @@ ] } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -4748,9 +4975,7 @@ }, "/api/experimental/integration/wellknown": { "post": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.experimental.integration.wellknown.add", "parameters": [ { @@ -4839,9 +5064,7 @@ "type": "string" } }, - "required": [ - "url" - ], + "required": ["url"], "additionalProperties": false } } @@ -4852,9 +5075,7 @@ }, "/api/integration/{integrationID}/connect/key": { "post": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.connect.key", "parameters": [ { @@ -4961,9 +5182,7 @@ ] } }, - "required": [ - "key" - ], + "required": ["key"], "additionalProperties": false } } @@ -4974,9 +5193,7 @@ }, "/api/integration/{integrationID}/connect/oauth": { "post": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.oauth.connect", "parameters": [ { @@ -5044,10 +5261,7 @@ "$ref": "#/components/schemas/Integration.Attempt" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -5109,10 +5323,7 @@ ] } }, - "required": [ - "methodID", - "inputs" - ], + "required": ["methodID", "inputs"], "additionalProperties": false } } @@ -5123,9 +5334,7 @@ }, "/api/integration/{integrationID}/connect/oauth/{attemptID}": { "get": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.oauth.status", "parameters": [ { @@ -5201,10 +5410,7 @@ "$ref": "#/components/schemas/Integration.AttemptStatus" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -5235,9 +5441,7 @@ "summary": "Get OAuth attempt status" }, "delete": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.oauth.cancel", "parameters": [ { @@ -5329,9 +5533,7 @@ }, "/api/integration/{integrationID}/connect/oauth/{attemptID}/complete": { "post": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.oauth.complete", "parameters": [ { @@ -5453,9 +5655,7 @@ }, "/api/integration/{integrationID}/connect/command": { "post": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.command.connect", "parameters": [ { @@ -5523,10 +5723,7 @@ "$ref": "#/components/schemas/Integration.CommandAttempt" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -5582,9 +5779,7 @@ ] } }, - "required": [ - "methodID" - ], + "required": ["methodID"], "additionalProperties": false } } @@ -5595,9 +5790,7 @@ }, "/api/integration/{integrationID}/connect/command/{attemptID}": { "get": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.command.status", "parameters": [ { @@ -5673,10 +5866,7 @@ "$ref": "#/components/schemas/Integration.CommandAttemptStatus" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -5707,9 +5897,7 @@ "summary": "Get command attempt status" }, "delete": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.command.cancel", "parameters": [ { @@ -5801,9 +5989,7 @@ }, "/api/mcp": { "get": { - "tags": [ - "mcp" - ], + "tags": ["mcp"], "operationId": "v2.mcp.list", "parameters": [ { @@ -5866,10 +6052,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -5902,9 +6085,7 @@ }, "/api/mcp/{server}": { "put": { - "tags": [ - "mcp" - ], + "tags": ["mcp"], "operationId": "v2.mcp.add", "parameters": [ { @@ -6001,9 +6182,7 @@ ] } }, - "required": [ - "config" - ], + "required": ["config"], "additionalProperties": false } } @@ -6012,9 +6191,7 @@ } }, "delete": { - "tags": [ - "mcp" - ], + "tags": ["mcp"], "operationId": "v2.mcp.remove", "parameters": [ { @@ -6108,9 +6285,7 @@ }, "/api/mcp/{server}/connect": { "post": { - "tags": [ - "mcp" - ], + "tags": ["mcp"], "operationId": "v2.mcp.connect", "parameters": [ { @@ -6204,9 +6379,7 @@ }, "/api/mcp/{server}/disconnect": { "post": { - "tags": [ - "mcp" - ], + "tags": ["mcp"], "operationId": "v2.mcp.disconnect", "parameters": [ { @@ -6300,9 +6473,7 @@ }, "/api/mcp/resource": { "get": { - "tags": [ - "mcp" - ], + "tags": ["mcp"], "operationId": "v2.mcp.resource.catalog", "parameters": [ { @@ -6362,10 +6533,7 @@ "$ref": "#/components/schemas/Mcp.ResourceCatalog" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -6398,9 +6566,7 @@ }, "/api/credential/{credentialID}": { "patch": { - "tags": [ - "credential" - ], + "tags": ["credential"], "operationId": "v2.credential.update", "parameters": [ { @@ -6490,9 +6656,7 @@ "type": "string" } }, - "required": [ - "label" - ], + "required": ["label"], "additionalProperties": false } } @@ -6501,9 +6665,7 @@ } }, "delete": { - "tags": [ - "credential" - ], + "tags": ["credential"], "operationId": "v2.credential.remove", "parameters": [ { @@ -6587,9 +6749,7 @@ }, "/api/project": { "get": { - "tags": [ - "project" - ], + "tags": ["project"], "operationId": "v2.project.list", "parameters": [], "security": [], @@ -6634,9 +6794,7 @@ }, "/api/project/current": { "get": { - "tags": [ - "project" - ], + "tags": ["project"], "operationId": "v2.project.current", "parameters": [ { @@ -6719,9 +6877,7 @@ }, "/api/project/{projectID}/directories": { "get": { - "tags": [ - "project" - ], + "tags": ["project"], "operationId": "v2.project.directories", "parameters": [ { @@ -6812,9 +6968,7 @@ }, "/api/form/request": { "get": { - "tags": [ - "form" - ], + "tags": ["form"], "operationId": "v2.form.request.list", "parameters": [ { @@ -6877,10 +7031,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -6913,9 +7064,7 @@ }, "/api/session/{sessionID}/form": { "get": { - "tags": [ - "form" - ], + "tags": ["form"], "operationId": "v2.session.form.list", "parameters": [ { @@ -6943,9 +7092,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -6993,9 +7140,7 @@ "summary": "List session forms" }, "post": { - "tags": [ - "form" - ], + "tags": ["form"], "operationId": "v2.session.form.create", "parameters": [ { @@ -7020,9 +7165,7 @@ "$ref": "#/components/schemas/Form.Info" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -7099,9 +7242,7 @@ }, "/api/session/{sessionID}/form/{formID}": { "get": { - "tags": [ - "form" - ], + "tags": ["form"], "operationId": "v2.session.form.get", "parameters": [ { @@ -7139,9 +7280,7 @@ "$ref": "#/components/schemas/Form.Info" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -7194,9 +7333,7 @@ }, "/api/session/{sessionID}/form/{formID}/state": { "get": { - "tags": [ - "form" - ], + "tags": ["form"], "operationId": "v2.session.form.state", "parameters": [ { @@ -7234,9 +7371,7 @@ "$ref": "#/components/schemas/Form.State" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -7289,9 +7424,7 @@ }, "/api/session/{sessionID}/form/{formID}/reply": { "post": { - "tags": [ - "form" - ], + "tags": ["form"], "operationId": "v2.session.form.reply", "parameters": [ { @@ -7395,9 +7528,7 @@ }, "/api/session/{sessionID}/form/{formID}/cancel": { "post": { - "tags": [ - "form" - ], + "tags": ["form"], "operationId": "v2.session.form.cancel", "parameters": [ { @@ -7484,9 +7615,7 @@ }, "/api/permission/request": { "get": { - "tags": [ - "permission" - ], + "tags": ["permission"], "operationId": "v2.permission.request.list", "parameters": [ { @@ -7549,10 +7678,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -7585,9 +7711,7 @@ }, "/api/permission/saved": { "get": { - "tags": [ - "permission" - ], + "tags": ["permission"], "operationId": "v2.permission.saved.list", "parameters": [ { @@ -7622,9 +7746,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -7657,9 +7779,7 @@ }, "/api/permission/saved/{id}": { "delete": { - "tags": [ - "permission" - ], + "tags": ["permission"], "operationId": "v2.permission.saved.remove", "parameters": [ { @@ -7703,9 +7823,7 @@ }, "/api/session/{sessionID}/permission": { "post": { - "tags": [ - "permission" - ], + "tags": ["permission"], "operationId": "v2.session.permission.create", "parameters": [ { @@ -7746,16 +7864,11 @@ "$ref": "#/components/schemas/Permission.Effect" } }, - "required": [ - "id", - "effect" - ], + "required": ["id", "effect"], "additionalProperties": false } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -7854,10 +7967,7 @@ ] } }, - "required": [ - "action", - "resources" - ], + "required": ["action", "resources"], "additionalProperties": false } } @@ -7866,9 +7976,7 @@ } }, "get": { - "tags": [ - "permission" - ], + "tags": ["permission"], "operationId": "v2.session.permission.list", "parameters": [ { @@ -7901,9 +8009,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -7953,9 +8059,7 @@ }, "/api/session/{sessionID}/permission/{requestID}": { "get": { - "tags": [ - "permission" - ], + "tags": ["permission"], "operationId": "v2.session.permission.get", "parameters": [ { @@ -7998,9 +8102,7 @@ "$ref": "#/components/schemas/Permission.Request" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -8053,9 +8155,7 @@ }, "/api/session/{sessionID}/permission/{requestID}/reply": { "post": { - "tags": [ - "permission" - ], + "tags": ["permission"], "operationId": "v2.session.permission.reply", "parameters": [ { @@ -8153,9 +8253,7 @@ ] } }, - "required": [ - "reply" - ], + "required": ["reply"], "additionalProperties": false } } @@ -8166,9 +8264,7 @@ }, "/api/fs/read/*": { "get": { - "tags": [ - "filesystem" - ], + "tags": ["filesystem"], "operationId": "v2.fs.read", "parameters": [ { @@ -8252,9 +8348,7 @@ }, "/api/fs/list": { "get": { - "tags": [ - "filesystem" - ], + "tags": ["filesystem"], "operationId": "v2.fs.list", "parameters": [ { @@ -8332,10 +8426,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -8368,9 +8459,7 @@ }, "/api/fs/find": { "get": { - "tags": [ - "filesystem" - ], + "tags": ["filesystem"], "operationId": "v2.fs.find", "parameters": [ { @@ -8426,10 +8515,7 @@ "in": "query", "schema": { "type": "string", - "enum": [ - "file", - "directory" - ] + "enum": ["file", "directory"] }, "required": false }, @@ -8468,10 +8554,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -8504,9 +8587,7 @@ }, "/api/command": { "get": { - "tags": [ - "command" - ], + "tags": ["command"], "operationId": "v2.command.list", "parameters": [ { @@ -8569,10 +8650,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -8605,9 +8683,7 @@ }, "/api/skill": { "get": { - "tags": [ - "skill" - ], + "tags": ["skill"], "operationId": "v2.skill.list", "parameters": [ { @@ -8670,10 +8746,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -8706,9 +8779,7 @@ }, "/api/event": { "get": { - "tags": [ - "event" - ], + "tags": ["event"], "operationId": "v2.event.subscribe", "parameters": [], "security": [], @@ -8737,11 +8808,7 @@ "$ref": "#/components/schemas/V2EventJsonString" } }, - "required": [ - "id", - "event", - "data" - ], + "required": ["id", "event", "data"], "additionalProperties": false }, "x-effect-stream": { @@ -8755,18 +8822,13 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "Fail" - ] + "enum": ["Fail"] }, "error": { "not": {} } }, - "required": [ - "_tag", - "error" - ], + "required": ["_tag", "error"], "additionalProperties": false }, { @@ -8774,16 +8836,11 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "Die" - ] + "enum": ["Die"] }, "defect": {} }, - "required": [ - "_tag", - "defect" - ], + "required": ["_tag", "defect"], "additionalProperties": false }, { @@ -8791,9 +8848,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "Interrupt" - ] + "enum": ["Interrupt"] }, "fiberId": { "anyOf": [ @@ -8806,10 +8861,7 @@ ] } }, - "required": [ - "_tag", - "fiberId" - ], + "required": ["_tag", "fiberId"], "additionalProperties": false } ] @@ -8850,9 +8902,7 @@ }, "/api/pty": { "get": { - "tags": [ - "pty" - ], + "tags": ["pty"], "operationId": "v2.pty.list", "parameters": [ { @@ -8915,10 +8965,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -8949,9 +8996,7 @@ "summary": "List PTY sessions" }, "post": { - "tags": [ - "pty" - ], + "tags": ["pty"], "operationId": "v2.pty.create", "parameters": [ { @@ -9011,10 +9056,7 @@ "$ref": "#/components/schemas/Pty" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -9081,9 +9123,7 @@ }, "/api/pty/{ptyID}": { "get": { - "tags": [ - "pty" - ], + "tags": ["pty"], "operationId": "v2.pty.get", "parameters": [ { @@ -9156,10 +9196,7 @@ "$ref": "#/components/schemas/Pty" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -9200,9 +9237,7 @@ "summary": "Get PTY session" }, "put": { - "tags": [ - "pty" - ], + "tags": ["pty"], "operationId": "v2.pty.update", "parameters": [ { @@ -9275,10 +9310,7 @@ "$ref": "#/components/schemas/Pty" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -9346,10 +9378,7 @@ ] } }, - "required": [ - "rows", - "cols" - ], + "required": ["rows", "cols"], "additionalProperties": false } }, @@ -9361,9 +9390,7 @@ } }, "delete": { - "tags": [ - "pty" - ], + "tags": ["pty"], "operationId": "v2.pty.remove", "parameters": [ { @@ -9462,9 +9489,7 @@ }, "/api/pty/{ptyID}/connect-token": { "post": { - "tags": [ - "pty" - ], + "tags": ["pty"], "operationId": "v2.pty.connect.token", "parameters": [ { @@ -9537,10 +9562,7 @@ "$ref": "#/components/schemas/PtyTicket.ConnectToken" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -9593,9 +9615,7 @@ }, "/api/pty/{ptyID}/connect": { "get": { - "tags": [ - "pty" - ], + "tags": ["pty"], "operationId": "v2.pty.connect", "parameters": [ { @@ -9700,9 +9720,7 @@ }, "/api/shell": { "get": { - "tags": [ - "shell" - ], + "tags": ["shell"], "operationId": "v2.shell.list", "parameters": [ { @@ -9765,10 +9783,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -9799,9 +9814,7 @@ "summary": "List running shell commands" }, "post": { - "tags": [ - "shell" - ], + "tags": ["shell"], "operationId": "v2.shell.create", "parameters": [ { @@ -9861,10 +9874,7 @@ "$ref": "#/components/schemas/Shell.Info1" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -9917,10 +9927,7 @@ "type": "object" } }, - "required": [ - "command", - "timeout" - ], + "required": ["command", "timeout"], "additionalProperties": false } } @@ -9931,9 +9938,7 @@ }, "/api/shell/{id}": { "get": { - "tags": [ - "shell" - ], + "tags": ["shell"], "operationId": "v2.shell.get", "parameters": [ { @@ -10006,10 +10011,7 @@ "$ref": "#/components/schemas/Shell.Info1" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -10050,9 +10052,7 @@ "summary": "Get shell command" }, "delete": { - "tags": [ - "shell" - ], + "tags": ["shell"], "operationId": "v2.shell.remove", "parameters": [ { @@ -10151,9 +10151,7 @@ }, "/api/shell/{id}/timeout": { "patch": { - "tags": [ - "shell" - ], + "tags": ["shell"], "operationId": "v2.shell.timeout", "parameters": [ { @@ -10226,10 +10224,7 @@ "$ref": "#/components/schemas/Shell.Info1" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -10283,9 +10278,7 @@ ] } }, - "required": [ - "timeout" - ], + "required": ["timeout"], "additionalProperties": false } } @@ -10296,9 +10289,7 @@ }, "/api/shell/{id}/output": { "get": { - "tags": [ - "shell" - ], + "tags": ["shell"], "operationId": "v2.shell.output", "parameters": [ { @@ -10419,19 +10410,11 @@ "type": "boolean" } }, - "required": [ - "output", - "cursor", - "size", - "truncated" - ], + "required": ["output", "cursor", "size", "truncated"], "additionalProperties": false } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -10474,9 +10457,7 @@ }, "/api/question/request": { "get": { - "tags": [ - "question" - ], + "tags": ["question"], "operationId": "v2.question.request.list", "parameters": [ { @@ -10539,10 +10520,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -10575,9 +10553,7 @@ }, "/api/session/{sessionID}/question": { "get": { - "tags": [ - "question" - ], + "tags": ["question"], "operationId": "v2.session.question.list", "parameters": [ { @@ -10610,9 +10586,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -10662,9 +10636,7 @@ }, "/api/session/{sessionID}/question/{requestID}/reply": { "post": { - "tags": [ - "question" - ], + "tags": ["question"], "operationId": "v2.session.question.reply", "parameters": [ { @@ -10756,9 +10728,7 @@ }, "/api/session/{sessionID}/question/{requestID}/reject": { "post": { - "tags": [ - "question" - ], + "tags": ["question"], "operationId": "v2.session.question.reject", "parameters": [ { @@ -10840,9 +10810,7 @@ }, "/api/reference": { "get": { - "tags": [ - "reference" - ], + "tags": ["reference"], "operationId": "v2.reference.list", "parameters": [ { @@ -10905,10 +10873,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -10941,9 +10906,7 @@ }, "/experimental/project/{projectID}/copy": { "post": { - "tags": [ - "projectCopy" - ], + "tags": ["projectCopy"], "operationId": "v2.projectCopy.create", "parameters": [ { @@ -11051,10 +11014,7 @@ "type": "string" } }, - "required": [ - "strategy", - "directory" - ], + "required": ["strategy", "directory"], "additionalProperties": false } } @@ -11063,9 +11023,7 @@ } }, "delete": { - "tags": [ - "projectCopy" - ], + "tags": ["projectCopy"], "operationId": "v2.projectCopy.remove", "parameters": [ { @@ -11163,10 +11121,7 @@ "type": "boolean" } }, - "required": [ - "directory", - "force" - ], + "required": ["directory", "force"], "additionalProperties": false } } @@ -11177,9 +11132,7 @@ }, "/experimental/project/{projectID}/copy/refresh": { "post": { - "tags": [ - "projectCopy" - ], + "tags": ["projectCopy"], "operationId": "v2.projectCopy.refresh", "parameters": [ { @@ -11268,9 +11221,7 @@ }, "/api/vcs": { "get": { - "tags": [ - "vcs" - ], + "tags": ["vcs"], "operationId": "v2.vcs.get", "parameters": [ { @@ -11330,10 +11281,7 @@ "$ref": "#/components/schemas/Vcs.Info" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -11366,9 +11314,7 @@ }, "/api/vcs/status": { "get": { - "tags": [ - "vcs" - ], + "tags": ["vcs"], "operationId": "v2.vcs.status", "parameters": [ { @@ -11431,10 +11377,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -11467,9 +11410,7 @@ }, "/api/vcs/diff": { "get": { - "tags": [ - "vcs" - ], + "tags": ["vcs"], "operationId": "v2.vcs.diff", "parameters": [ { @@ -11555,10 +11496,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -11591,9 +11529,7 @@ }, "/api/debug/location": { "get": { - "tags": [ - "debug" - ], + "tags": ["debug"], "operationId": "v2.debug.location.list", "parameters": [], "security": [], @@ -11636,9 +11572,7 @@ "summary": "List loaded locations" }, "delete": { - "tags": [ - "debug" - ], + "tags": ["debug"], "operationId": "v2.debug.location.evict", "parameters": [ { @@ -11714,9 +11648,7 @@ }, "/api/experimental/migration/v1": { "get": { - "tags": [ - "migration" - ], + "tags": ["migration"], "operationId": "v2.experimental.migration.v1.status", "parameters": [], "security": [], @@ -11732,15 +11664,10 @@ "properties": { "status": { "type": "string", - "enum": [ - "required", - "completed" - ] + "enum": ["required", "completed"] } }, - "required": [ - "status" - ], + "required": ["status"], "additionalProperties": false }, { @@ -11748,9 +11675,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "running" - ] + "enum": ["running"] }, "progress": { "type": "object", @@ -11789,16 +11714,11 @@ ] } }, - "required": [ - "label" - ], + "required": ["label"], "additionalProperties": false } }, - "required": [ - "status", - "progress" - ], + "required": ["status", "progress"], "additionalProperties": false }, { @@ -11806,18 +11726,13 @@ "properties": { "status": { "type": "string", - "enum": [ - "error" - ] + "enum": ["error"] }, "error": { "type": "string" } }, - "required": [ - "status", - "error" - ], + "required": ["status", "error"], "additionalProperties": false } ] @@ -11852,9 +11767,7 @@ }, "/api/websearch/provider": { "get": { - "tags": [ - "websearch" - ], + "tags": ["websearch"], "operationId": "v2.websearch.providers", "parameters": [ { @@ -11917,10 +11830,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -11963,9 +11873,7 @@ }, "/api/websearch": { "post": { - "tags": [ - "websearch" - ], + "tags": ["websearch"], "operationId": "v2.websearch.query", "parameters": [ { @@ -12025,10 +11933,7 @@ "$ref": "#/components/schemas/WebSearch.Response" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -12087,9 +11992,7 @@ "type": "string" } }, - "required": [ - "query" - ], + "required": ["query"], "additionalProperties": false } } @@ -12100,9 +12003,7 @@ }, "/api/config": { "get": { - "tags": [ - "config" - ], + "tags": ["config"], "operationId": "v2.config.get", "parameters": [ { @@ -12194,9 +12095,7 @@ "properties": { "healthy": { "type": "boolean", - "enum": [ - true - ] + "enum": [true] }, "version": { "type": "string" @@ -12210,11 +12109,7 @@ ] } }, - "required": [ - "healthy", - "version", - "pid" - ], + "required": ["healthy", "version", "pid"], "additionalProperties": false }, "UnauthorizedError": { @@ -12222,18 +12117,13 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "UnauthorizedError" - ] + "enum": ["UnauthorizedError"] }, "message": { "type": "string" } }, - "required": [ - "_tag", - "message" - ], + "required": ["_tag", "message"], "additionalProperties": false }, "InvalidRequestError": { @@ -12241,9 +12131,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "InvalidRequestError" - ] + "enum": ["InvalidRequestError"] }, "message": { "type": "string" @@ -12269,10 +12157,7 @@ ] } }, - "required": [ - "_tag", - "message" - ], + "required": ["_tag", "message"], "additionalProperties": false }, "ServiceStopRequest": { @@ -12282,9 +12167,7 @@ "type": "string" } }, - "required": [ - "instanceID" - ], + "required": ["instanceID"], "additionalProperties": false }, "ServiceStopResponse": { @@ -12294,9 +12177,7 @@ "type": "boolean" } }, - "required": [ - "accepted" - ], + "required": ["accepted"], "additionalProperties": false }, "Location.Info": { @@ -12326,18 +12207,11 @@ "type": "string" } }, - "required": [ - "id", - "directory", - "canonical" - ], + "required": ["id", "directory", "canonical"], "additionalProperties": false } }, - "required": [ - "directory", - "project" - ], + "required": ["directory", "project"], "additionalProperties": false }, "Model.Ref": { @@ -12353,10 +12227,7 @@ "type": "string" } }, - "required": [ - "id", - "providerID" - ], + "required": ["id", "providerID"], "additionalProperties": false }, "Provider.Settings": { @@ -12378,11 +12249,7 @@ "type": "object" } }, - "required": [ - "settings", - "headers", - "body" - ], + "required": ["settings", "headers", "body"], "additionalProperties": false }, "Agent.Color": { @@ -12390,11 +12257,7 @@ }, "Permission.Effect": { "type": "string", - "enum": [ - "allow", - "deny", - "ask" - ] + "enum": ["allow", "deny", "ask"] }, "Permission.Rule": { "type": "object", @@ -12409,11 +12272,7 @@ "$ref": "#/components/schemas/Permission.Effect" } }, - "required": [ - "action", - "resource", - "effect" - ], + "required": ["action", "resource", "effect"], "additionalProperties": false }, "Permission.Ruleset": { @@ -12445,11 +12304,7 @@ }, "mode": { "type": "string", - "enum": [ - "subagent", - "primary", - "all" - ] + "enum": ["subagent", "primary", "all"] }, "hidden": { "type": "boolean" @@ -12469,14 +12324,7 @@ "$ref": "#/components/schemas/Permission.Ruleset" } }, - "required": [ - "id", - "name", - "request", - "mode", - "hidden", - "permissions" - ], + "required": ["id", "name", "request", "mode", "hidden", "permissions"], "additionalProperties": false }, "AgentNotFoundError": { @@ -12484,9 +12332,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "AgentNotFoundError" - ] + "enum": ["AgentNotFoundError"] }, "agentID": { "type": "string" @@ -12495,11 +12341,7 @@ "type": "string" } }, - "required": [ - "_tag", - "agentID", - "message" - ], + "required": ["_tag", "agentID", "message"], "additionalProperties": false }, "Plugin.Info": { @@ -12509,9 +12351,7 @@ "type": "string" } }, - "required": [ - "id" - ], + "required": ["id"], "additionalProperties": false }, "Session.ForkBoundary": { @@ -12521,9 +12361,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "before" - ] + "enum": ["before"] }, "messageID": { "type": "string", @@ -12534,10 +12372,7 @@ ] } }, - "required": [ - "type", - "messageID" - ], + "required": ["type", "messageID"], "additionalProperties": false }, { @@ -12545,9 +12380,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "through" - ] + "enum": ["through"] }, "messageID": { "type": "string", @@ -12558,10 +12391,7 @@ ] } }, - "required": [ - "type", - "messageID" - ], + "required": ["type", "messageID"], "additionalProperties": false } ] @@ -12591,19 +12421,11 @@ "type": "number" } }, - "required": [ - "read", - "write" - ], + "required": ["read", "write"], "additionalProperties": false } }, - "required": [ - "input", - "output", - "reasoning", - "cache" - ], + "required": ["input", "output", "reasoning", "cache"], "additionalProperties": false }, "Location.Ref": { @@ -12621,9 +12443,7 @@ ] } }, - "required": [ - "directory" - ], + "required": ["directory"], "additionalProperties": false }, "FileDiff.Info": { @@ -12653,20 +12473,10 @@ }, "status": { "type": "string", - "enum": [ - "added", - "deleted", - "modified" - ] + "enum": ["added", "deleted", "modified"] } }, - "required": [ - "file", - "patch", - "additions", - "deletions", - "status" - ], + "required": ["file", "patch", "additions", "deletions", "status"], "additionalProperties": false }, "Session.Revert": { @@ -12693,9 +12503,7 @@ } } }, - "required": [ - "messageID" - ], + "required": ["messageID"], "additionalProperties": false }, "Session.Info": { @@ -12732,10 +12540,7 @@ "$ref": "#/components/schemas/Session.ForkBoundary" } }, - "required": [ - "sessionID", - "boundary" - ], + "required": ["sessionID", "boundary"], "additionalProperties": false }, "projectID": { @@ -12766,10 +12571,7 @@ "type": "number" } }, - "required": [ - "created", - "updated" - ], + "required": ["created", "updated"], "additionalProperties": false }, "title": { @@ -12785,14 +12587,7 @@ "$ref": "#/components/schemas/Session.Revert" } }, - "required": [ - "id", - "projectID", - "cost", - "tokens", - "time", - "location" - ], + "required": ["id", "projectID", "cost", "tokens", "time", "location"], "additionalProperties": false }, "SessionsResponse": { @@ -12831,10 +12626,7 @@ "additionalProperties": false } }, - "required": [ - "data", - "cursor" - ], + "required": ["data", "cursor"], "additionalProperties": false }, "InvalidCursorError": { @@ -12842,18 +12634,13 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "InvalidCursorError" - ] + "enum": ["InvalidCursorError"] }, "message": { "type": "string" } }, - "required": [ - "_tag", - "message" - ], + "required": ["_tag", "message"], "additionalProperties": false }, "InvalidRequestError1": { @@ -12861,9 +12648,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "InvalidRequestError" - ] + "enum": ["InvalidRequestError"] }, "message": { "type": "string" @@ -12889,608 +12674,7 @@ ] } }, - "required": [ - "_tag", - "message" - ], - "additionalProperties": false - }, - "SessionActive": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "running" - ] - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "SessionNotFoundError": { - "type": "object", - "properties": { - "_tag": { - "type": "string", - "enum": [ - "SessionNotFoundError" - ] - }, - "sessionID": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": [ - "_tag", - "sessionID", - "message" - ], - "additionalProperties": false - }, - "Session.ForkRequestBoundary": { - "anyOf": [ - { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "before" - ] - }, - "messageID": { - "type": "string", - "allOf": [ - { - "pattern": "^msg_" - } - ] - } - }, - "required": [ - "type", - "messageID" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "through" - ] - } - }, - "required": [ - "type" - ], - "additionalProperties": false - } - ] - }, - "MessageNotFoundError": { - "type": "object", - "properties": { - "_tag": { - "type": "string", - "enum": [ - "MessageNotFoundError" - ] - }, - "sessionID": { - "type": "string" - }, - "messageID": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": [ - "_tag", - "sessionID", - "messageID", - "message" - ], - "additionalProperties": false - }, - "Prompt.Mention": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - }, - "text": { - "type": "string" - } - }, - "required": [ - "start", - "end", - "text" - ], - "additionalProperties": false - }, - "PromptInput.FileAttachment": { - "type": "object", - "properties": { - "uri": { - "type": "string" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "mention": { - "$ref": "#/components/schemas/Prompt.Mention" - } - }, - "required": [ - "uri" - ], - "additionalProperties": false - }, - "Prompt.AgentAttachment": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "mention": { - "$ref": "#/components/schemas/Prompt.Mention" - } - }, - "required": [ - "name" - ], - "additionalProperties": false - }, - "Prompt.Base64": { - "type": "string", - "allOf": [ - { - "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$" - } - ] - }, - "Prompt.FileSource": { - "anyOf": [ - { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "inline" - ] - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "uri" - ] - }, - "uri": { - "type": "string" - } - }, - "required": [ - "type", - "uri" - ], - "additionalProperties": false - } - ] - }, - "Prompt.FileAttachment": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/Prompt.Base64" - }, - "mime": { - "type": "string" - }, - "source": { - "$ref": "#/components/schemas/Prompt.FileSource" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "mention": { - "$ref": "#/components/schemas/Prompt.Mention" - } - }, - "required": [ - "data", - "mime", - "source" - ], - "additionalProperties": false - }, - "SessionPending.UserData": { - "type": "object", - "properties": { - "text": { - "type": "string" - }, - "files": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Prompt.FileAttachment" - } - }, - "agents": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Prompt.AgentAttachment" - } - }, - "metadata": { - "type": "object" - } - }, - "required": [ - "text" - ], - "additionalProperties": false - }, - "SessionPending.User": { - "type": "object", - "properties": { - "id": { - "type": "string", - "allOf": [ - { - "pattern": "^msg_" - } - ] - }, - "sessionID": { - "type": "string", - "allOf": [ - { - "pattern": "^ses" - } - ] - }, - "timeCreated": { - "type": "number" - }, - "type": { - "type": "string", - "enum": [ - "user" - ] - }, - "data": { - "$ref": "#/components/schemas/SessionPending.UserData" - }, - "delivery": { - "type": "string", - "enum": [ - "steer", - "queue" - ] - } - }, - "required": [ - "id", - "sessionID", - "timeCreated", - "type", - "data", - "delivery" - ], - "additionalProperties": false - }, - "ConflictError": { - "type": "object", - "properties": { - "_tag": { - "type": "string", - "enum": [ - "ConflictError" - ] - }, - "message": { - "type": "string" - }, - "resource": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "_tag", - "message" - ], - "additionalProperties": false - }, - "CommandNotFoundError": { - "type": "object", - "properties": { - "_tag": { - "type": "string", - "enum": [ - "CommandNotFoundError" - ] - }, - "command": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": [ - "_tag", - "command", - "message" - ], - "additionalProperties": false - }, - "CommandEvaluationError": { - "type": "object", - "properties": { - "_tag": { - "type": "string", - "enum": [ - "CommandEvaluationError" - ] - }, - "command": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": [ - "_tag", - "command", - "message" - ], - "additionalProperties": false - }, - "SkillNotFoundError": { - "type": "object", - "properties": { - "_tag": { - "type": "string", - "enum": [ - "SkillNotFoundError" - ] - }, - "skill": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": [ - "_tag", - "skill", - "message" - ], - "additionalProperties": false - }, - "SessionPending.SyntheticData": { - "type": "object", - "properties": { - "text": { - "type": "string" - }, - "description": { - "type": "string" - }, - "metadata": { - "type": "object" - } - }, - "required": [ - "text" - ], - "additionalProperties": false - }, - "SessionPending.Synthetic": { - "type": "object", - "properties": { - "id": { - "type": "string", - "allOf": [ - { - "pattern": "^msg_" - } - ] - }, - "sessionID": { - "type": "string", - "allOf": [ - { - "pattern": "^ses" - } - ] - }, - "timeCreated": { - "type": "number" - }, - "type": { - "type": "string", - "enum": [ - "synthetic" - ] - }, - "data": { - "$ref": "#/components/schemas/SessionPending.SyntheticData" - }, - "delivery": { - "type": "string", - "enum": [ - "steer", - "queue" - ] - } - }, - "required": [ - "id", - "sessionID", - "timeCreated", - "type", - "data", - "delivery" - ], - "additionalProperties": false - }, - "SessionPending.Compaction": { - "type": "object", - "properties": { - "id": { - "type": "string", - "allOf": [ - { - "pattern": "^msg_" - } - ] - }, - "sessionID": { - "type": "string", - "allOf": [ - { - "pattern": "^ses" - } - ] - }, - "timeCreated": { - "type": "number" - }, - "type": { - "type": "string", - "enum": [ - "compaction" - ] - } - }, - "required": [ - "id", - "sessionID", - "timeCreated", - "type" - ], - "additionalProperties": false - }, - "ServiceUnavailableError": { - "type": "object", - "properties": { - "_tag": { - "type": "string", - "enum": [ - "ServiceUnavailableError" - ] - }, - "message": { - "type": "string" - }, - "service": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "_tag", - "message" - ], - "additionalProperties": false - }, - "SessionBusyError": { - "type": "object", - "properties": { - "_tag": { - "type": "string", - "enum": [ - "SessionBusyError" - ] - }, - "sessionID": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": [ - "_tag", - "sessionID", - "message" - ], - "additionalProperties": false - }, - "UnknownError": { - "type": "object", - "properties": { - "_tag": { - "type": "string", - "enum": [ - "UnknownError" - ] - }, - "message": { - "type": "string" - }, - "ref": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "_tag", - "message" - ], + "required": ["_tag", "message"], "additionalProperties": false }, "Session.Message.AgentSelected": { @@ -13514,27 +12698,18 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "type": { "type": "string", - "enum": [ - "agent-switched" - ] + "enum": ["agent-switched"] }, "agent": { "type": "string" } }, - "required": [ - "id", - "time", - "type", - "agent" - ], + "required": ["id", "time", "type", "agent"], "additionalProperties": false }, "Session.Message.ModelSelected": { @@ -13558,16 +12733,12 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "type": { "type": "string", - "enum": [ - "model-switched" - ] + "enum": ["model-switched"] }, "model": { "$ref": "#/components/schemas/Model.Ref" @@ -13576,12 +12747,98 @@ "$ref": "#/components/schemas/Model.Ref" } }, - "required": [ - "id", - "time", - "type", - "model" - ], + "required": ["id", "time", "type", "model"], + "additionalProperties": false + }, + "Prompt.Base64": { + "type": "string", + "allOf": [ + { + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$" + } + ] + }, + "Prompt.FileSource": { + "anyOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["inline"] + } + }, + "required": ["type"], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["uri"] + }, + "uri": { + "type": "string" + } + }, + "required": ["type", "uri"], + "additionalProperties": false + } + ] + }, + "Prompt.Mention": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + }, + "text": { + "type": "string" + } + }, + "required": ["start", "end", "text"], + "additionalProperties": false + }, + "Prompt.FileAttachment": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/Prompt.Base64" + }, + "mime": { + "type": "string" + }, + "source": { + "$ref": "#/components/schemas/Prompt.FileSource" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "mention": { + "$ref": "#/components/schemas/Prompt.Mention" + } + }, + "required": ["data", "mime", "source"], + "additionalProperties": false + }, + "Prompt.AgentAttachment": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "mention": { + "$ref": "#/components/schemas/Prompt.Mention" + } + }, + "required": ["name"], "additionalProperties": false }, "Session.Message.User": { @@ -13605,9 +12862,7 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "text": { @@ -13627,17 +12882,10 @@ }, "type": { "type": "string", - "enum": [ - "user" - ] + "enum": ["user"] } }, - "required": [ - "id", - "time", - "text", - "type" - ], + "required": ["id", "time", "text", "type"], "additionalProperties": false }, "Session.Message.Synthetic": { @@ -13661,9 +12909,7 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "text": { @@ -13674,17 +12920,10 @@ }, "type": { "type": "string", - "enum": [ - "synthetic" - ] + "enum": ["synthetic"] } }, - "required": [ - "id", - "time", - "text", - "type" - ], + "required": ["id", "time", "text", "type"], "additionalProperties": false }, "Session.Message.System": { @@ -13708,27 +12947,18 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "type": { "type": "string", - "enum": [ - "system" - ] + "enum": ["system"] }, "text": { "type": "string" } }, - "required": [ - "id", - "time", - "type", - "text" - ], + "required": ["id", "time", "type", "text"], "additionalProperties": false }, "Session.Message.Skill": { @@ -13752,16 +12982,12 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "type": { "type": "string", - "enum": [ - "skill" - ] + "enum": ["skill"] }, "skill": { "type": "string" @@ -13773,14 +12999,7 @@ "type": "string" } }, - "required": [ - "id", - "time", - "type", - "skill", - "name", - "text" - ], + "required": ["id", "time", "type", "skill", "name", "text"], "additionalProperties": false }, "Session.Message.Shell": { @@ -13807,16 +13026,12 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "type": { "type": "string", - "enum": [ - "shell" - ] + "enum": ["shell"] }, "shellID": { "type": "string", @@ -13831,12 +13046,7 @@ }, "status": { "type": "string", - "enum": [ - "running", - "exited", - "timeout", - "killed" - ] + "enum": ["running", "exited", "timeout", "killed"] }, "exit": { "anyOf": [ @@ -13847,31 +13057,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -13901,23 +13101,11 @@ "type": "boolean" } }, - "required": [ - "output", - "cursor", - "size", - "truncated" - ], + "required": ["output", "cursor", "size", "truncated"], "additionalProperties": false } }, - "required": [ - "id", - "time", - "type", - "shellID", - "command", - "status" - ], + "required": ["id", "time", "type", "shellID", "command", "status"], "additionalProperties": false }, "Session.Message.ProviderState": { @@ -13928,9 +13116,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "text" - ] + "enum": ["text"] }, "text": { "type": "string" @@ -13939,10 +13125,7 @@ "$ref": "#/components/schemas/Session.Message.ProviderState" } }, - "required": [ - "type", - "text" - ], + "required": ["type", "text"], "additionalProperties": false }, "Session.Message.Assistant.Reasoning": { @@ -13950,9 +13133,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "reasoning" - ] + "enum": ["reasoning"] }, "text": { "type": "string" @@ -13970,16 +13151,11 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false } }, - "required": [ - "type", - "text" - ], + "required": ["type", "text"], "additionalProperties": false }, "Session.Message.ToolState.Streaming": { @@ -13987,18 +13163,13 @@ "properties": { "status": { "type": "string", - "enum": [ - "streaming" - ] + "enum": ["streaming"] }, "input": { "type": "string" } }, - "required": [ - "status", - "input" - ], + "required": ["status", "input"], "additionalProperties": false }, "Session.Message.ToolState.Running": { @@ -14006,9 +13177,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "running" - ] + "enum": ["running"] }, "input": { "type": "object" @@ -14017,11 +13186,7 @@ "type": "object" } }, - "required": [ - "status", - "input", - "metadata" - ], + "required": ["status", "input", "metadata"], "additionalProperties": false }, "Tool.TextContent": { @@ -14029,18 +13194,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "text" - ] + "enum": ["text"] }, "text": { "type": "string" } }, - "required": [ - "type", - "text" - ], + "required": ["type", "text"], "additionalProperties": false }, "Tool.FileContent": { @@ -14048,9 +13208,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "file" - ] + "enum": ["file"] }, "uri": { "type": "string" @@ -14069,11 +13227,7 @@ ] } }, - "required": [ - "type", - "uri", - "mime" - ], + "required": ["type", "uri", "mime"], "additionalProperties": false }, "Tool.Content": { @@ -14091,9 +13245,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "completed" - ] + "enum": ["completed"] }, "input": { "type": "object" @@ -14114,11 +13266,7 @@ "type": "object" } }, - "required": [ - "status", - "input", - "content" - ], + "required": ["status", "input", "content"], "additionalProperties": false }, "Session.StructuredError": { @@ -14140,10 +13288,7 @@ ] } }, - "required": [ - "type", - "message" - ], + "required": ["type", "message"], "additionalProperties": false }, "Session.Message.ToolState.Error": { @@ -14151,9 +13296,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "error" - ] + "enum": ["error"] }, "input": { "type": "object" @@ -14177,11 +13320,7 @@ "type": "object" } }, - "required": [ - "status", - "input", - "error" - ], + "required": ["status", "input", "error"], "additionalProperties": false }, "Session.Message.Assistant.Tool": { @@ -14189,9 +13328,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "tool" - ] + "enum": ["tool"] }, "id": { "type": "string" @@ -14237,19 +13374,11 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false } }, - "required": [ - "type", - "id", - "name", - "state", - "time" - ], + "required": ["type", "id", "name", "state", "time"], "additionalProperties": false }, "Session.Message.Assistant.Retry": { @@ -14270,11 +13399,7 @@ "$ref": "#/components/schemas/Session.StructuredError" } }, - "required": [ - "attempt", - "at", - "error" - ], + "required": ["attempt", "at", "error"], "additionalProperties": false }, "Session.Message.Assistant": { @@ -14301,16 +13426,12 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "type": { "type": "string", - "enum": [ - "assistant" - ] + "enum": ["assistant"] }, "agent": { "type": "string" @@ -14354,14 +13475,7 @@ }, "finish": { "type": "string", - "enum": [ - "stop", - "length", - "tool-calls", - "content-filter", - "error", - "unknown" - ] + "enum": ["stop", "length", "tool-calls", "content-filter", "error", "unknown"] }, "cost": { "$ref": "#/components/schemas/Money.USD" @@ -14376,14 +13490,7 @@ "$ref": "#/components/schemas/Session.Message.Assistant.Retry" } }, - "required": [ - "id", - "time", - "type", - "agent", - "model", - "content" - ], + "required": ["id", "time", "type", "agent", "model", "content"], "additionalProperties": false }, "Session.Message.Compaction.Running": { @@ -14391,9 +13498,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "compaction" - ] + "enum": ["compaction"] }, "id": { "type": "string", @@ -14413,23 +13518,16 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "status": { "type": "string", - "enum": [ - "running" - ] + "enum": ["running"] }, "reason": { "type": "string", - "enum": [ - "auto", - "manual" - ] + "enum": ["auto", "manual"] }, "summary": { "type": "string" @@ -14438,15 +13536,7 @@ "type": "string" } }, - "required": [ - "type", - "id", - "time", - "status", - "reason", - "summary", - "recent" - ], + "required": ["type", "id", "time", "status", "reason", "summary", "recent"], "additionalProperties": false }, "Session.Message.Compaction.Completed": { @@ -14454,9 +13544,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "compaction" - ] + "enum": ["compaction"] }, "id": { "type": "string", @@ -14476,23 +13564,16 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "status": { "type": "string", - "enum": [ - "completed" - ] + "enum": ["completed"] }, "reason": { "type": "string", - "enum": [ - "auto", - "manual" - ] + "enum": ["auto", "manual"] }, "summary": { "type": "string" @@ -14501,15 +13582,7 @@ "type": "string" } }, - "required": [ - "type", - "id", - "time", - "status", - "reason", - "summary", - "recent" - ], + "required": ["type", "id", "time", "status", "reason", "summary", "recent"], "additionalProperties": false }, "Session.Message.Compaction.Failed": { @@ -14517,9 +13590,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "compaction" - ] + "enum": ["compaction"] }, "id": { "type": "string", @@ -14539,36 +13610,22 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "status": { "type": "string", - "enum": [ - "failed" - ] + "enum": ["failed"] }, "reason": { "type": "string", - "enum": [ - "auto", - "manual" - ] + "enum": ["auto", "manual"] }, "error": { "$ref": "#/components/schemas/Session.StructuredError" } }, - "required": [ - "type", - "id", - "time", - "status", - "reason", - "error" - ], + "required": ["type", "id", "time", "status", "reason", "error"], "additionalProperties": false }, "Session.Message.Compaction": { @@ -14615,6 +13672,408 @@ } ] }, + "ConflictError": { + "type": "object", + "properties": { + "_tag": { + "type": "string", + "enum": ["ConflictError"] + }, + "message": { + "type": "string" + }, + "resource": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "required": ["_tag", "message"], + "additionalProperties": false + }, + "SessionTransfer.Data": { + "type": "object", + "properties": { + "info": { + "$ref": "#/components/schemas/Session.Info" + }, + "messages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Session.Message.Info" + } + } + }, + "required": ["info", "messages"], + "additionalProperties": false + }, + "SessionNotFoundError": { + "type": "object", + "properties": { + "_tag": { + "type": "string", + "enum": ["SessionNotFoundError"] + }, + "sessionID": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": ["_tag", "sessionID", "message"], + "additionalProperties": false + }, + "UnknownError": { + "type": "object", + "properties": { + "_tag": { + "type": "string", + "enum": ["UnknownError"] + }, + "message": { + "type": "string" + }, + "ref": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "required": ["_tag", "message"], + "additionalProperties": false + }, + "SessionActive": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["running"] + } + }, + "required": ["type"], + "additionalProperties": false + }, + "Session.ForkRequestBoundary": { + "anyOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["before"] + }, + "messageID": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + } + }, + "required": ["type", "messageID"], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["through"] + } + }, + "required": ["type"], + "additionalProperties": false + } + ] + }, + "MessageNotFoundError": { + "type": "object", + "properties": { + "_tag": { + "type": "string", + "enum": ["MessageNotFoundError"] + }, + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": ["_tag", "sessionID", "messageID", "message"], + "additionalProperties": false + }, + "PromptInput.FileAttachment": { + "type": "object", + "properties": { + "uri": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "mention": { + "$ref": "#/components/schemas/Prompt.Mention" + } + }, + "required": ["uri"], + "additionalProperties": false + }, + "SessionPending.UserData": { + "type": "object", + "properties": { + "text": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Prompt.FileAttachment" + } + }, + "agents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Prompt.AgentAttachment" + } + }, + "metadata": { + "type": "object" + } + }, + "required": ["text"], + "additionalProperties": false + }, + "SessionPending.User": { + "type": "object", + "properties": { + "id": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + }, + "sessionID": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "timeCreated": { + "type": "number" + }, + "type": { + "type": "string", + "enum": ["user"] + }, + "data": { + "$ref": "#/components/schemas/SessionPending.UserData" + }, + "delivery": { + "type": "string", + "enum": ["steer", "queue"] + } + }, + "required": ["id", "sessionID", "timeCreated", "type", "data", "delivery"], + "additionalProperties": false + }, + "CommandNotFoundError": { + "type": "object", + "properties": { + "_tag": { + "type": "string", + "enum": ["CommandNotFoundError"] + }, + "command": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": ["_tag", "command", "message"], + "additionalProperties": false + }, + "CommandEvaluationError": { + "type": "object", + "properties": { + "_tag": { + "type": "string", + "enum": ["CommandEvaluationError"] + }, + "command": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": ["_tag", "command", "message"], + "additionalProperties": false + }, + "SkillNotFoundError": { + "type": "object", + "properties": { + "_tag": { + "type": "string", + "enum": ["SkillNotFoundError"] + }, + "skill": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": ["_tag", "skill", "message"], + "additionalProperties": false + }, + "SessionPending.SyntheticData": { + "type": "object", + "properties": { + "text": { + "type": "string" + }, + "description": { + "type": "string" + }, + "metadata": { + "type": "object" + } + }, + "required": ["text"], + "additionalProperties": false + }, + "SessionPending.Synthetic": { + "type": "object", + "properties": { + "id": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + }, + "sessionID": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "timeCreated": { + "type": "number" + }, + "type": { + "type": "string", + "enum": ["synthetic"] + }, + "data": { + "$ref": "#/components/schemas/SessionPending.SyntheticData" + }, + "delivery": { + "type": "string", + "enum": ["steer", "queue"] + } + }, + "required": ["id", "sessionID", "timeCreated", "type", "data", "delivery"], + "additionalProperties": false + }, + "SessionPending.Compaction": { + "type": "object", + "properties": { + "id": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + }, + "sessionID": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "timeCreated": { + "type": "number" + }, + "type": { + "type": "string", + "enum": ["compaction"] + } + }, + "required": ["id", "sessionID", "timeCreated", "type"], + "additionalProperties": false + }, + "ServiceUnavailableError": { + "type": "object", + "properties": { + "_tag": { + "type": "string", + "enum": ["ServiceUnavailableError"] + }, + "message": { + "type": "string" + }, + "service": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "required": ["_tag", "message"], + "additionalProperties": false + }, + "SessionBusyError": { + "type": "object", + "properties": { + "_tag": { + "type": "string", + "enum": ["SessionBusyError"] + }, + "sessionID": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": ["_tag", "sessionID", "message"], + "additionalProperties": false + }, "SessionPending.Info": { "anyOf": [ { @@ -14645,10 +14104,7 @@ }, "value": {} }, - "required": [ - "key", - "value" - ], + "required": ["key", "value"], "additionalProperties": false }, "InstructionEntryValueTooLargeError": { @@ -14656,9 +14112,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "InstructionEntryValueTooLargeError" - ] + "enum": ["InstructionEntryValueTooLargeError"] }, "actualBytes": { "type": "integer" @@ -14670,12 +14124,7 @@ "type": "string" } }, - "required": [ - "_tag", - "actualBytes", - "maxBytes", - "message" - ], + "required": ["_tag", "actualBytes", "maxBytes", "message"], "additionalProperties": false }, "SessionGenerateResponse": { @@ -14688,15 +14137,11 @@ "type": "string" } }, - "required": [ - "text" - ], + "required": ["text"], "additionalProperties": false } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false }, "session.created": { @@ -14718,9 +14163,7 @@ }, "type": { "type": "string", - "enum": [ - "session.created" - ] + "enum": ["session.created"] }, "durable": { "type": "object", @@ -14738,16 +14181,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -14797,23 +14234,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "projectID", - "location", - "slug", - "version" - ], + "required": ["sessionID", "projectID", "location", "slug", "version"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.agent.selected": { @@ -14835,9 +14260,7 @@ }, "type": { "type": "string", - "enum": [ - "session.agent.selected" - ] + "enum": ["session.agent.selected"] }, "durable": { "type": "object", @@ -14855,16 +14278,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -14885,20 +14302,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "agent" - ], + "required": ["sessionID", "agent"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.model.selected": { @@ -14920,9 +14328,7 @@ }, "type": { "type": "string", - "enum": [ - "session.model.selected" - ] + "enum": ["session.model.selected"] }, "durable": { "type": "object", @@ -14940,16 +14346,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -14970,20 +14370,11 @@ "$ref": "#/components/schemas/Model.Ref" } }, - "required": [ - "sessionID", - "model" - ], + "required": ["sessionID", "model"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.moved": { @@ -15005,9 +14396,7 @@ }, "type": { "type": "string", - "enum": [ - "session.moved" - ] + "enum": ["session.moved"] }, "durable": { "type": "object", @@ -15025,16 +14414,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15061,20 +14444,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "location" - ], + "required": ["sessionID", "location"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.renamed": { @@ -15096,9 +14470,7 @@ }, "type": { "type": "string", - "enum": [ - "session.renamed" - ] + "enum": ["session.renamed"] }, "durable": { "type": "object", @@ -15116,16 +14488,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15146,20 +14512,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "title" - ], + "required": ["sessionID", "title"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.deleted": { @@ -15181,9 +14538,7 @@ }, "type": { "type": "string", - "enum": [ - "session.deleted" - ] + "enum": ["session.deleted"] }, "durable": { "type": "object", @@ -15201,16 +14556,10 @@ }, "version": { "type": "number", - "enum": [ - 2 - ] + "enum": [2] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15228,19 +14577,11 @@ ] } }, - "required": [ - "sessionID" - ], + "required": ["sessionID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.forked": { @@ -15262,9 +14603,7 @@ }, "type": { "type": "string", - "enum": [ - "session.forked" - ] + "enum": ["session.forked"] }, "durable": { "type": "object", @@ -15282,16 +14621,10 @@ }, "version": { "type": "number", - "enum": [ - 2 - ] + "enum": [2] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15333,21 +14666,11 @@ } } }, - "required": [ - "sessionID", - "parentID", - "boundary" - ], + "required": ["sessionID", "parentID", "boundary"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.input.promoted": { @@ -15369,9 +14692,7 @@ }, "type": { "type": "string", - "enum": [ - "session.input.promoted" - ] + "enum": ["session.input.promoted"] }, "durable": { "type": "object", @@ -15389,16 +14710,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15424,20 +14739,11 @@ ] } }, - "required": [ - "sessionID", - "inputID" - ], + "required": ["sessionID", "inputID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "SessionPending.UserData1": { @@ -15462,9 +14768,7 @@ "type": "object" } }, - "required": [ - "text" - ], + "required": ["text"], "additionalProperties": false }, "SessionPending.UserMessage": { @@ -15472,26 +14776,17 @@ "properties": { "type": { "type": "string", - "enum": [ - "user" - ] + "enum": ["user"] }, "data": { "$ref": "#/components/schemas/SessionPending.UserData1" }, "delivery": { "type": "string", - "enum": [ - "steer", - "queue" - ] + "enum": ["steer", "queue"] } }, - "required": [ - "type", - "data", - "delivery" - ], + "required": ["type", "data", "delivery"], "additionalProperties": false }, "SessionPending.SyntheticData1": { @@ -15507,9 +14802,7 @@ "type": "object" } }, - "required": [ - "text" - ], + "required": ["text"], "additionalProperties": false }, "SessionPending.SyntheticMessage": { @@ -15517,26 +14810,17 @@ "properties": { "type": { "type": "string", - "enum": [ - "synthetic" - ] + "enum": ["synthetic"] }, "data": { "$ref": "#/components/schemas/SessionPending.SyntheticData1" }, "delivery": { "type": "string", - "enum": [ - "steer", - "queue" - ] + "enum": ["steer", "queue"] } }, - "required": [ - "type", - "data", - "delivery" - ], + "required": ["type", "data", "delivery"], "additionalProperties": false }, "SessionPending.Message": { @@ -15568,9 +14852,7 @@ }, "type": { "type": "string", - "enum": [ - "session.input.admitted" - ] + "enum": ["session.input.admitted"] }, "durable": { "type": "object", @@ -15588,16 +14870,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15626,21 +14902,230 @@ "$ref": "#/components/schemas/SessionPending.Message" } }, - "required": [ - "sessionID", - "inputID", - "input" - ], + "required": ["sessionID", "inputID", "input"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], + "additionalProperties": false + }, + "session.input.cancelled": { + "type": "object", + "properties": { + "id": { + "type": "string", + "allOf": [ + { + "pattern": "^evt_" + } + ] + }, + "created": { + "type": "number" + }, + "metadata": { + "type": "object" + }, + "type": { + "type": "string", + "enum": ["session.input.cancelled"] + }, + "durable": { + "type": "object", + "properties": { + "aggregateID": { + "type": "string" + }, + "seq": { + "type": "integer", + "allOf": [ + { + "minimum": 0 + } + ] + }, + "version": { + "type": "number", + "enum": [1] + } + }, + "required": ["aggregateID", "seq", "version"], + "additionalProperties": false + }, + "location": { + "$ref": "#/components/schemas/Location.Ref" + }, + "data": { + "type": "object", + "properties": { + "sessionID": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "inputID": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + } + }, + "required": ["sessionID", "inputID"], + "additionalProperties": false + } + }, + "required": ["id", "created", "type", "durable", "data"], + "additionalProperties": false + }, + "session.input.steered": { + "type": "object", + "properties": { + "id": { + "type": "string", + "allOf": [ + { + "pattern": "^evt_" + } + ] + }, + "created": { + "type": "number" + }, + "metadata": { + "type": "object" + }, + "type": { + "type": "string", + "enum": ["session.input.steered"] + }, + "durable": { + "type": "object", + "properties": { + "aggregateID": { + "type": "string" + }, + "seq": { + "type": "integer", + "allOf": [ + { + "minimum": 0 + } + ] + }, + "version": { + "type": "number", + "enum": [1] + } + }, + "required": ["aggregateID", "seq", "version"], + "additionalProperties": false + }, + "location": { + "$ref": "#/components/schemas/Location.Ref" + }, + "data": { + "type": "object", + "properties": { + "sessionID": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "inputID": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + } + }, + "required": ["sessionID", "inputID"], + "additionalProperties": false + } + }, + "required": ["id", "created", "type", "durable", "data"], + "additionalProperties": false + }, + "session.input.queued": { + "type": "object", + "properties": { + "id": { + "type": "string", + "allOf": [ + { + "pattern": "^evt_" + } + ] + }, + "created": { + "type": "number" + }, + "metadata": { + "type": "object" + }, + "type": { + "type": "string", + "enum": ["session.input.queued"] + }, + "durable": { + "type": "object", + "properties": { + "aggregateID": { + "type": "string" + }, + "seq": { + "type": "integer", + "allOf": [ + { + "minimum": 0 + } + ] + }, + "version": { + "type": "number", + "enum": [1] + } + }, + "required": ["aggregateID", "seq", "version"], + "additionalProperties": false + }, + "location": { + "$ref": "#/components/schemas/Location.Ref" + }, + "data": { + "type": "object", + "properties": { + "sessionID": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "inputID": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + } + }, + "required": ["sessionID", "inputID"], + "additionalProperties": false + } + }, + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.execution.started": { @@ -15662,9 +15147,7 @@ }, "type": { "type": "string", - "enum": [ - "session.execution.started" - ] + "enum": ["session.execution.started"] }, "durable": { "type": "object", @@ -15682,16 +15165,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15709,19 +15186,11 @@ ] } }, - "required": [ - "sessionID" - ], + "required": ["sessionID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.execution.succeeded": { @@ -15743,9 +15212,7 @@ }, "type": { "type": "string", - "enum": [ - "session.execution.succeeded" - ] + "enum": ["session.execution.succeeded"] }, "durable": { "type": "object", @@ -15763,16 +15230,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15790,19 +15251,11 @@ ] } }, - "required": [ - "sessionID" - ], + "required": ["sessionID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.execution.failed": { @@ -15824,9 +15277,7 @@ }, "type": { "type": "string", - "enum": [ - "session.execution.failed" - ] + "enum": ["session.execution.failed"] }, "durable": { "type": "object", @@ -15844,16 +15295,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15874,20 +15319,11 @@ "$ref": "#/components/schemas/Session.StructuredError" } }, - "required": [ - "sessionID", - "error" - ], + "required": ["sessionID", "error"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.execution.interrupted": { @@ -15909,9 +15345,7 @@ }, "type": { "type": "string", - "enum": [ - "session.execution.interrupted" - ] + "enum": ["session.execution.interrupted"] }, "durable": { "type": "object", @@ -15929,16 +15363,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15957,27 +15385,14 @@ }, "reason": { "type": "string", - "enum": [ - "user", - "shutdown", - "superseded" - ] + "enum": ["user", "shutdown", "superseded"] } }, - "required": [ - "sessionID", - "reason" - ], + "required": ["sessionID", "reason"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.instructions.updated": { @@ -15999,9 +15414,7 @@ }, "type": { "type": "string", - "enum": [ - "session.instructions.updated" - ] + "enum": ["session.instructions.updated"] }, "durable": { "type": "object", @@ -16019,16 +15432,10 @@ }, "version": { "type": "number", - "enum": [ - 2 - ] + "enum": [2] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16059,9 +15466,7 @@ }, { "type": "string", - "enum": [ - "removed" - ] + "enum": ["removed"] } ] } @@ -16070,20 +15475,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "delta" - ], + "required": ["sessionID", "delta"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.synthetic": { @@ -16105,9 +15501,7 @@ }, "type": { "type": "string", - "enum": [ - "session.synthetic" - ] + "enum": ["session.synthetic"] }, "durable": { "type": "object", @@ -16125,16 +15519,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16161,20 +15549,11 @@ "type": "object" } }, - "required": [ - "sessionID", - "text" - ], + "required": ["sessionID", "text"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.skill.activated": { @@ -16196,9 +15575,7 @@ }, "type": { "type": "string", - "enum": [ - "session.skill.activated" - ] + "enum": ["session.skill.activated"] }, "durable": { "type": "object", @@ -16216,16 +15593,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16252,22 +15623,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "id", - "name", - "text" - ], + "required": ["sessionID", "id", "name", "text"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Shell.Info": { @@ -16283,12 +15643,7 @@ }, "status": { "type": "string", - "enum": [ - "running", - "exited", - "timeout", - "killed" - ] + "enum": ["running", "exited", "timeout", "killed"] }, "command": { "type": "string" @@ -16326,22 +15681,11 @@ "type": "number" } }, - "required": [ - "started" - ], + "required": ["started"], "additionalProperties": false } }, - "required": [ - "id", - "status", - "command", - "cwd", - "shell", - "file", - "metadata", - "time" - ], + "required": ["id", "status", "command", "cwd", "shell", "file", "metadata", "time"], "additionalProperties": false }, "session.shell.started": { @@ -16363,9 +15707,7 @@ }, "type": { "type": "string", - "enum": [ - "session.shell.started" - ] + "enum": ["session.shell.started"] }, "durable": { "type": "object", @@ -16383,16 +15725,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16413,20 +15749,11 @@ "$ref": "#/components/schemas/Shell.Info" } }, - "required": [ - "sessionID", - "shell" - ], + "required": ["sessionID", "shell"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.shell.ended": { @@ -16448,9 +15775,7 @@ }, "type": { "type": "string", - "enum": [ - "session.shell.ended" - ] + "enum": ["session.shell.ended"] }, "durable": { "type": "object", @@ -16468,16 +15793,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16523,30 +15842,15 @@ "type": "boolean" } }, - "required": [ - "output", - "cursor", - "size", - "truncated" - ], + "required": ["output", "cursor", "size", "truncated"], "additionalProperties": false } }, - "required": [ - "sessionID", - "shell", - "output" - ], + "required": ["sessionID", "shell", "output"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.step.started": { @@ -16568,9 +15872,7 @@ }, "type": { "type": "string", - "enum": [ - "session.step.started" - ] + "enum": ["session.step.started"] }, "durable": { "type": "object", @@ -16588,16 +15890,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16632,22 +15928,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "assistantMessageID", - "agent", - "model" - ], + "required": ["sessionID", "assistantMessageID", "agent", "model"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.step.ended": { @@ -16669,9 +15954,7 @@ }, "type": { "type": "string", - "enum": [ - "session.step.ended" - ] + "enum": ["session.step.ended"] }, "durable": { "type": "object", @@ -16689,16 +15972,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16725,14 +16002,7 @@ }, "finish": { "type": "string", - "enum": [ - "stop", - "length", - "tool-calls", - "content-filter", - "error", - "unknown" - ] + "enum": ["stop", "length", "tool-calls", "content-filter", "error", "unknown"] }, "cost": { "$ref": "#/components/schemas/Money.USD" @@ -16750,23 +16020,11 @@ } } }, - "required": [ - "sessionID", - "assistantMessageID", - "finish", - "cost", - "tokens" - ], + "required": ["sessionID", "assistantMessageID", "finish", "cost", "tokens"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.step.failed": { @@ -16788,9 +16046,7 @@ }, "type": { "type": "string", - "enum": [ - "session.step.failed" - ] + "enum": ["session.step.failed"] }, "durable": { "type": "object", @@ -16808,16 +16064,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16861,21 +16111,11 @@ } } }, - "required": [ - "sessionID", - "assistantMessageID", - "error" - ], + "required": ["sessionID", "assistantMessageID", "error"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.text.started": { @@ -16897,9 +16137,7 @@ }, "type": { "type": "string", - "enum": [ - "session.text.started" - ] + "enum": ["session.text.started"] }, "durable": { "type": "object", @@ -16917,16 +16155,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16960,21 +16192,11 @@ ] } }, - "required": [ - "sessionID", - "assistantMessageID", - "ordinal" - ], + "required": ["sessionID", "assistantMessageID", "ordinal"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Session.Message.ProviderState4": { @@ -16999,9 +16221,7 @@ }, "type": { "type": "string", - "enum": [ - "session.text.ended" - ] + "enum": ["session.text.ended"] }, "durable": { "type": "object", @@ -17019,16 +16239,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -17068,22 +16282,11 @@ "$ref": "#/components/schemas/Session.Message.ProviderState4" } }, - "required": [ - "sessionID", - "assistantMessageID", - "ordinal", - "text" - ], + "required": ["sessionID", "assistantMessageID", "ordinal", "text"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Session.Message.ProviderState5": { @@ -17108,9 +16311,7 @@ }, "type": { "type": "string", - "enum": [ - "session.reasoning.started" - ] + "enum": ["session.reasoning.started"] }, "durable": { "type": "object", @@ -17128,16 +16329,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -17174,21 +16369,11 @@ "$ref": "#/components/schemas/Session.Message.ProviderState5" } }, - "required": [ - "sessionID", - "assistantMessageID", - "ordinal" - ], + "required": ["sessionID", "assistantMessageID", "ordinal"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Session.Message.ProviderState6": { @@ -17213,9 +16398,7 @@ }, "type": { "type": "string", - "enum": [ - "session.reasoning.ended" - ] + "enum": ["session.reasoning.ended"] }, "durable": { "type": "object", @@ -17233,16 +16416,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -17282,22 +16459,11 @@ "$ref": "#/components/schemas/Session.Message.ProviderState6" } }, - "required": [ - "sessionID", - "assistantMessageID", - "ordinal", - "text" - ], + "required": ["sessionID", "assistantMessageID", "ordinal", "text"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.tool.input.started": { @@ -17319,9 +16485,7 @@ }, "type": { "type": "string", - "enum": [ - "session.tool.input.started" - ] + "enum": ["session.tool.input.started"] }, "durable": { "type": "object", @@ -17339,16 +16503,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -17380,22 +16538,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "assistantMessageID", - "id", - "name" - ], + "required": ["sessionID", "assistantMessageID", "id", "name"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.tool.input.ended": { @@ -17417,9 +16564,7 @@ }, "type": { "type": "string", - "enum": [ - "session.tool.input.ended" - ] + "enum": ["session.tool.input.ended"] }, "durable": { "type": "object", @@ -17437,16 +16582,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -17478,22 +16617,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "assistantMessageID", - "id", - "text" - ], + "required": ["sessionID", "assistantMessageID", "id", "text"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Session.Message.ProviderState7": { @@ -17518,9 +16646,7 @@ }, "type": { "type": "string", - "enum": [ - "session.tool.called" - ] + "enum": ["session.tool.called"] }, "durable": { "type": "object", @@ -17538,16 +16664,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -17585,23 +16705,11 @@ "$ref": "#/components/schemas/Session.Message.ProviderState7" } }, - "required": [ - "sessionID", - "assistantMessageID", - "id", - "input", - "executed" - ], + "required": ["sessionID", "assistantMessageID", "id", "input", "executed"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Tool.FileContent1": { @@ -17609,9 +16717,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "file" - ] + "enum": ["file"] }, "uri": { "type": "string" @@ -17630,11 +16736,7 @@ ] } }, - "required": [ - "type", - "uri", - "mime" - ], + "required": ["type", "uri", "mime"], "additionalProperties": false }, "Tool.Content1": { @@ -17669,9 +16771,7 @@ }, "type": { "type": "string", - "enum": [ - "session.tool.success" - ] + "enum": ["session.tool.success"] }, "durable": { "type": "object", @@ -17689,16 +16789,10 @@ }, "version": { "type": "number", - "enum": [ - 2 - ] + "enum": [2] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -17748,23 +16842,11 @@ "$ref": "#/components/schemas/Session.Message.ProviderState8" } }, - "required": [ - "sessionID", - "assistantMessageID", - "id", - "content", - "executed" - ], + "required": ["sessionID", "assistantMessageID", "id", "content", "executed"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Session.Message.ProviderState9": { @@ -17789,9 +16871,7 @@ }, "type": { "type": "string", - "enum": [ - "session.tool.failed" - ] + "enum": ["session.tool.failed"] }, "durable": { "type": "object", @@ -17809,16 +16889,10 @@ }, "version": { "type": "number", - "enum": [ - 2 - ] + "enum": [2] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -17871,23 +16945,11 @@ "$ref": "#/components/schemas/Session.Message.ProviderState9" } }, - "required": [ - "sessionID", - "assistantMessageID", - "id", - "error", - "executed" - ], + "required": ["sessionID", "assistantMessageID", "id", "error", "executed"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.retry.scheduled": { @@ -17909,9 +16971,7 @@ }, "type": { "type": "string", - "enum": [ - "session.retry.scheduled" - ] + "enum": ["session.retry.scheduled"] }, "durable": { "type": "object", @@ -17929,16 +16989,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -17983,23 +17037,11 @@ "$ref": "#/components/schemas/Session.StructuredError" } }, - "required": [ - "sessionID", - "assistantMessageID", - "attempt", - "at", - "error" - ], + "required": ["sessionID", "assistantMessageID", "attempt", "at", "error"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.compaction.admitted": { @@ -18021,9 +17063,7 @@ }, "type": { "type": "string", - "enum": [ - "session.compaction.admitted" - ] + "enum": ["session.compaction.admitted"] }, "durable": { "type": "object", @@ -18041,16 +17081,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -18076,20 +17110,11 @@ ] } }, - "required": [ - "sessionID", - "inputID" - ], + "required": ["sessionID", "inputID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.compaction.started": { @@ -18111,9 +17136,7 @@ }, "type": { "type": "string", - "enum": [ - "session.compaction.started" - ] + "enum": ["session.compaction.started"] }, "durable": { "type": "object", @@ -18131,16 +17154,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -18159,10 +17176,7 @@ }, "reason": { "type": "string", - "enum": [ - "auto", - "manual" - ] + "enum": ["auto", "manual"] }, "recent": { "type": "string" @@ -18176,21 +17190,11 @@ ] } }, - "required": [ - "sessionID", - "reason", - "recent" - ], + "required": ["sessionID", "reason", "recent"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.compaction.ended": { @@ -18212,9 +17216,7 @@ }, "type": { "type": "string", - "enum": [ - "session.compaction.ended" - ] + "enum": ["session.compaction.ended"] }, "durable": { "type": "object", @@ -18232,16 +17234,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -18260,10 +17256,7 @@ }, "reason": { "type": "string", - "enum": [ - "auto", - "manual" - ] + "enum": ["auto", "manual"] }, "text": { "type": "string" @@ -18272,22 +17265,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "reason", - "text", - "recent" - ], + "required": ["sessionID", "reason", "text", "recent"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.compaction.failed": { @@ -18309,9 +17291,7 @@ }, "type": { "type": "string", - "enum": [ - "session.compaction.failed" - ] + "enum": ["session.compaction.failed"] }, "durable": { "type": "object", @@ -18329,16 +17309,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -18357,10 +17331,7 @@ }, "reason": { "type": "string", - "enum": [ - "auto", - "manual" - ] + "enum": ["auto", "manual"] }, "error": { "$ref": "#/components/schemas/Session.StructuredError" @@ -18374,21 +17345,11 @@ ] } }, - "required": [ - "sessionID", - "reason", - "error" - ], + "required": ["sessionID", "reason", "error"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.revert.staged": { @@ -18410,9 +17371,7 @@ }, "type": { "type": "string", - "enum": [ - "session.revert.staged" - ] + "enum": ["session.revert.staged"] }, "durable": { "type": "object", @@ -18430,16 +17389,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -18460,20 +17413,11 @@ "$ref": "#/components/schemas/Session.Revert" } }, - "required": [ - "sessionID", - "revert" - ], + "required": ["sessionID", "revert"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.revert.cleared": { @@ -18495,9 +17439,7 @@ }, "type": { "type": "string", - "enum": [ - "session.revert.cleared" - ] + "enum": ["session.revert.cleared"] }, "durable": { "type": "object", @@ -18515,16 +17457,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -18542,19 +17478,11 @@ ] } }, - "required": [ - "sessionID" - ], + "required": ["sessionID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.revert.committed": { @@ -18576,9 +17504,7 @@ }, "type": { "type": "string", - "enum": [ - "session.revert.committed" - ] + "enum": ["session.revert.committed"] }, "durable": { "type": "object", @@ -18596,16 +17522,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -18631,20 +17551,11 @@ ] } }, - "required": [ - "sessionID", - "to" - ], + "required": ["sessionID", "to"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.usage.recorded": { @@ -18666,9 +17577,7 @@ }, "type": { "type": "string", - "enum": [ - "session.usage.recorded" - ] + "enum": ["session.usage.recorded"] }, "durable": { "type": "object", @@ -18686,16 +17595,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -18714,10 +17617,7 @@ }, "source": { "type": "string", - "enum": [ - "title", - "compaction" - ] + "enum": ["title", "compaction"] }, "cost": { "$ref": "#/components/schemas/Money.USD" @@ -18726,22 +17626,11 @@ "$ref": "#/components/schemas/TokenUsage.Info" } }, - "required": [ - "sessionID", - "source", - "cost", - "tokens" - ], + "required": ["sessionID", "source", "cost", "tokens"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Session.Event.Durable": { @@ -18773,6 +17662,15 @@ { "$ref": "#/components/schemas/session.input.admitted" }, + { + "$ref": "#/components/schemas/session.input.cancelled" + }, + { + "$ref": "#/components/schemas/session.input.steered" + }, + { + "$ref": "#/components/schemas/session.input.queued" + }, { "$ref": "#/components/schemas/session.execution.started" }, @@ -18870,9 +17768,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "log.synced" - ] + "enum": ["log.synced"] }, "aggregateID": { "type": "string" @@ -18886,10 +17782,7 @@ ] } }, - "required": [ - "type", - "aggregateID" - ], + "required": ["type", "aggregateID"], "additionalProperties": false, "description": "Marker emitted once when a log read reaches its captured watermark. The reader holds every event committed at or below seq." }, @@ -18946,32 +17839,35 @@ "additionalProperties": false } }, - "required": [ - "data", - "cursor" - ], + "required": ["data", "cursor"], "additionalProperties": false }, "Model.ReasoningField": { "anyOf": [ { "type": "string", - "enum": [ - "reasoning", - "reasoning_content", - "reasoning_text" - ] + "enum": ["reasoning", "reasoning_content", "reasoning_text"] }, { "type": "string" } ] }, + "Model.MaxTokensField": { + "type": "string", + "enum": ["max_completion_tokens", "max_tokens"] + }, "Model.Compatibility": { "type": "object", "properties": { "reasoningField": { "$ref": "#/components/schemas/Model.ReasoningField" + }, + "maxTokensField": { + "$ref": "#/components/schemas/Model.MaxTokensField" + }, + "requireFinishReason": { + "type": "boolean" } }, "additionalProperties": false @@ -18995,11 +17891,7 @@ } } }, - "required": [ - "tools", - "input", - "output" - ], + "required": ["tools", "input", "output"], "additionalProperties": false }, "Model.Variant": { @@ -19021,9 +17913,7 @@ "type": "object" } }, - "required": [ - "id" - ], + "required": ["id"], "additionalProperties": false }, "Money.USDPerMillionTokens": { @@ -19037,18 +17927,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "context" - ] + "enum": ["context"] }, "size": { "type": "integer" } }, - "required": [ - "type", - "size" - ], + "required": ["type", "size"], "additionalProperties": false }, "input": { @@ -19067,18 +17952,11 @@ "$ref": "#/components/schemas/Money.USDPerMillionTokens" } }, - "required": [ - "read", - "write" - ], + "required": ["read", "write"], "additionalProperties": false } }, - "required": [ - "input", - "output", - "cache" - ], + "required": ["input", "output", "cache"], "additionalProperties": false }, "Model.Info": { @@ -19133,9 +18011,7 @@ "type": "number" } }, - "required": [ - "released" - ], + "required": ["released"], "additionalProperties": false }, "cost": { @@ -19146,12 +18022,7 @@ }, "status": { "type": "string", - "enum": [ - "alpha", - "beta", - "deprecated", - "active" - ] + "enum": ["alpha", "beta", "deprecated", "active"] }, "enabled": { "type": "boolean" @@ -19169,10 +18040,7 @@ "type": "integer" } }, - "required": [ - "context", - "output" - ], + "required": ["context", "output"], "additionalProperties": false } }, @@ -19201,15 +18069,11 @@ "type": "string" } }, - "required": [ - "text" - ], + "required": ["text"], "additionalProperties": false } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false }, "Provider.Info": { @@ -19243,11 +18107,7 @@ "type": "object" } }, - "required": [ - "id", - "name", - "package" - ], + "required": ["id", "name", "package"], "additionalProperties": false }, "ProviderNotFoundError": { @@ -19255,9 +18115,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "ProviderNotFoundError" - ] + "enum": ["ProviderNotFoundError"] }, "providerID": { "type": "string" @@ -19266,11 +18124,7 @@ "type": "string" } }, - "required": [ - "_tag", - "providerID", - "message" - ], + "required": ["_tag", "providerID", "message"], "additionalProperties": false }, "Integration.When": { @@ -19281,20 +18135,13 @@ }, "op": { "type": "string", - "enum": [ - "eq", - "neq" - ] + "enum": ["eq", "neq"] }, "value": { "type": "string" } }, - "required": [ - "key", - "op", - "value" - ], + "required": ["key", "op", "value"], "additionalProperties": false }, "Integration.TextPrompt": { @@ -19302,9 +18149,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "text" - ] + "enum": ["text"] }, "key": { "type": "string" @@ -19319,11 +18164,7 @@ "$ref": "#/components/schemas/Integration.When" } }, - "required": [ - "type", - "key", - "message" - ], + "required": ["type", "key", "message"], "additionalProperties": false }, "Integration.SelectPrompt": { @@ -19331,9 +18172,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "select" - ] + "enum": ["select"] }, "key": { "type": "string" @@ -19356,10 +18195,7 @@ "type": "string" } }, - "required": [ - "label", - "value" - ], + "required": ["label", "value"], "additionalProperties": false } }, @@ -19367,12 +18203,7 @@ "$ref": "#/components/schemas/Integration.When" } }, - "required": [ - "type", - "key", - "message", - "options" - ], + "required": ["type", "key", "message", "options"], "additionalProperties": false }, "Integration.OAuthMethod": { @@ -19383,9 +18214,7 @@ }, "type": { "type": "string", - "enum": [ - "oauth" - ] + "enum": ["oauth"] }, "label": { "type": "string" @@ -19404,11 +18233,7 @@ } } }, - "required": [ - "id", - "type", - "label" - ], + "required": ["id", "type", "label"], "additionalProperties": false }, "Integration.CommandMethod": { @@ -19419,9 +18244,7 @@ }, "type": { "type": "string", - "enum": [ - "command" - ] + "enum": ["command"] }, "label": { "type": "string" @@ -19433,12 +18256,7 @@ } } }, - "required": [ - "id", - "type", - "label", - "command" - ], + "required": ["id", "type", "label", "command"], "additionalProperties": false }, "Integration.KeyMethod": { @@ -19446,17 +18264,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "key" - ] + "enum": ["key"] }, "label": { "type": "string" } }, - "required": [ - "type" - ], + "required": ["type"], "additionalProperties": false }, "Integration.EnvMethod": { @@ -19464,9 +18278,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "env" - ] + "enum": ["env"] }, "names": { "type": "array", @@ -19475,10 +18287,7 @@ } } }, - "required": [ - "type", - "names" - ], + "required": ["type", "names"], "additionalProperties": false }, "Integration.Method": { @@ -19502,9 +18311,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "credential" - ] + "enum": ["credential"] }, "id": { "type": "string" @@ -19513,11 +18320,7 @@ "type": "string" } }, - "required": [ - "type", - "id", - "label" - ], + "required": ["type", "id", "label"], "additionalProperties": false }, "Connection.EnvInfo": { @@ -19525,18 +18328,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "env" - ] + "enum": ["env"] }, "name": { "type": "string" } }, - "required": [ - "type", - "name" - ], + "required": ["type", "name"], "additionalProperties": false }, "Connection.Info": { @@ -19571,12 +18369,7 @@ } } }, - "required": [ - "id", - "name", - "methods", - "connections" - ], + "required": ["id", "name", "methods", "connections"], "additionalProperties": false }, "Integration.Attempt": { @@ -19593,10 +18386,7 @@ }, "mode": { "type": "string", - "enum": [ - "auto", - "code" - ] + "enum": ["auto", "code"] }, "time": { "type": "object", @@ -19610,31 +18400,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -19647,49 +18427,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "attemptID", - "url", - "instructions", - "mode", - "time" - ], + "required": ["attemptID", "url", "instructions", "mode", "time"], "additionalProperties": false }, "Integration.AttemptStatus": { @@ -19699,9 +18460,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "pending" - ] + "enum": ["pending"] }, "time": { "type": "object", @@ -19715,31 +18474,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -19752,46 +18501,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "status", - "time" - ], + "required": ["status", "time"], "additionalProperties": false }, { @@ -19799,9 +18532,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "complete" - ] + "enum": ["complete"] }, "time": { "type": "object", @@ -19815,31 +18546,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -19852,46 +18573,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "status", - "time" - ], + "required": ["status", "time"], "additionalProperties": false }, { @@ -19899,9 +18604,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "failed" - ] + "enum": ["failed"] }, "message": { "type": "string" @@ -19918,31 +18621,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -19955,47 +18648,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "status", - "message", - "time" - ], + "required": ["status", "message", "time"], "additionalProperties": false }, { @@ -20003,9 +18679,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "expired" - ] + "enum": ["expired"] }, "time": { "type": "object", @@ -20019,31 +18693,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -20056,46 +18720,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "status", - "time" - ], + "required": ["status", "time"], "additionalProperties": false } ] @@ -20118,31 +18766,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -20155,46 +18793,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "attemptID", - "time" - ], + "required": ["attemptID", "time"], "additionalProperties": false }, "Integration.CommandAttemptStatus": { @@ -20204,9 +18826,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "pending" - ] + "enum": ["pending"] }, "message": { "type": "string" @@ -20223,31 +18843,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -20260,46 +18870,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "status", - "time" - ], + "required": ["status", "time"], "additionalProperties": false }, { @@ -20307,9 +18901,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "complete" - ] + "enum": ["complete"] }, "time": { "type": "object", @@ -20323,31 +18915,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -20360,46 +18942,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "status", - "time" - ], + "required": ["status", "time"], "additionalProperties": false }, { @@ -20407,9 +18973,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "failed" - ] + "enum": ["failed"] }, "message": { "type": "string" @@ -20426,31 +18990,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -20463,47 +19017,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "status", - "message", - "time" - ], + "required": ["status", "message", "time"], "additionalProperties": false }, { @@ -20511,9 +19048,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "expired" - ] + "enum": ["expired"] }, "time": { "type": "object", @@ -20527,31 +19062,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -20564,46 +19089,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "status", - "time" - ], + "required": ["status", "time"], "additionalProperties": false } ] @@ -20613,14 +19122,10 @@ "properties": { "status": { "type": "string", - "enum": [ - "connected" - ] + "enum": ["connected"] } }, - "required": [ - "status" - ], + "required": ["status"], "additionalProperties": false }, "Mcp.Status.Pending": { @@ -20628,14 +19133,10 @@ "properties": { "status": { "type": "string", - "enum": [ - "pending" - ] + "enum": ["pending"] } }, - "required": [ - "status" - ], + "required": ["status"], "additionalProperties": false }, "Mcp.Status.Disabled": { @@ -20643,14 +19144,10 @@ "properties": { "status": { "type": "string", - "enum": [ - "disabled" - ] + "enum": ["disabled"] } }, - "required": [ - "status" - ], + "required": ["status"], "additionalProperties": false }, "Mcp.Status.Failed": { @@ -20658,18 +19155,13 @@ "properties": { "status": { "type": "string", - "enum": [ - "failed" - ] + "enum": ["failed"] }, "error": { "type": "string" } }, - "required": [ - "status", - "error" - ], + "required": ["status", "error"], "additionalProperties": false }, "Mcp.Status.NeedsAuth": { @@ -20677,14 +19169,10 @@ "properties": { "status": { "type": "string", - "enum": [ - "needs_auth" - ] + "enum": ["needs_auth"] } }, - "required": [ - "status" - ], + "required": ["status"], "additionalProperties": false }, "Mcp.Server": { @@ -20716,10 +19204,7 @@ "type": "string" } }, - "required": [ - "name", - "status" - ], + "required": ["name", "status"], "additionalProperties": false }, "Mcp.LocalConfig": { @@ -20727,9 +19212,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "local" - ] + "enum": ["local"] }, "command": { "type": "array", @@ -20783,10 +19266,7 @@ "additionalProperties": false } }, - "required": [ - "type", - "command" - ], + "required": ["type", "command"], "additionalProperties": false }, "Mcp.OAuthConfig": { @@ -20821,9 +19301,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "remote" - ] + "enum": ["remote"] }, "url": { "type": "string" @@ -20841,9 +19319,7 @@ }, { "type": "boolean", - "enum": [ - false - ] + "enum": [false] } ] }, @@ -20884,10 +19360,7 @@ "additionalProperties": false } }, - "required": [ - "type", - "url" - ], + "required": ["type", "url"], "additionalProperties": false }, "McpServerNotFoundError": { @@ -20895,9 +19368,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "McpServerNotFoundError" - ] + "enum": ["McpServerNotFoundError"] }, "server": { "type": "string" @@ -20906,11 +19377,7 @@ "type": "string" } }, - "required": [ - "_tag", - "server", - "message" - ], + "required": ["_tag", "server", "message"], "additionalProperties": false }, "Mcp.Resource": { @@ -20932,11 +19399,7 @@ "type": "string" } }, - "required": [ - "server", - "name", - "uri" - ], + "required": ["server", "name", "uri"], "additionalProperties": false }, "Mcp.ResourceTemplate": { @@ -20958,11 +19421,7 @@ "type": "string" } }, - "required": [ - "server", - "name", - "uriTemplate" - ], + "required": ["server", "name", "uriTemplate"], "additionalProperties": false }, "Mcp.ResourceCatalog": { @@ -20981,18 +19440,12 @@ } } }, - "required": [ - "resources", - "templates" - ], + "required": ["resources", "templates"], "additionalProperties": false }, "Project.Vcs": { "type": "string", - "enum": [ - "git", - "hg" - ] + "enum": ["git", "hg"] }, "Project.Icon": { "type": "object", @@ -21047,10 +19500,7 @@ ] } }, - "required": [ - "created", - "updated" - ], + "required": ["created", "updated"], "additionalProperties": false }, "Project": { @@ -21084,12 +19534,7 @@ } } }, - "required": [ - "id", - "canonical", - "time", - "sandboxes" - ], + "required": ["id", "canonical", "time", "sandboxes"], "additionalProperties": false }, "Project.Current": { @@ -21105,11 +19550,7 @@ "type": "string" } }, - "required": [ - "id", - "directory", - "canonical" - ], + "required": ["id", "directory", "canonical"], "additionalProperties": false }, "Project.Directory": { @@ -21122,9 +19563,7 @@ "type": "string" } }, - "required": [ - "directory" - ], + "required": ["directory"], "additionalProperties": false }, "Project.Directories": { @@ -21144,10 +19583,7 @@ }, "op": { "type": "string", - "enum": [ - "eq", - "neq" - ] + "enum": ["eq", "neq"] }, "value": { "anyOf": [ @@ -21163,31 +19599,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -21197,11 +19623,7 @@ ] } }, - "required": [ - "key", - "op", - "value" - ], + "required": ["key", "op", "value"], "additionalProperties": false }, "Form.Option": { @@ -21217,10 +19639,7 @@ "type": "string" } }, - "required": [ - "value", - "label" - ], + "required": ["value", "label"], "additionalProperties": false }, "Form.StringField": { @@ -21246,18 +19665,11 @@ }, "type": { "type": "string", - "enum": [ - "string" - ] + "enum": ["string"] }, "format": { "type": "string", - "enum": [ - "email", - "uri", - "date", - "date-time" - ] + "enum": ["email", "uri", "date", "date-time"] }, "minLength": { "type": "integer", @@ -21294,10 +19706,7 @@ "type": "boolean" } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.NumberField": { @@ -21323,9 +19732,7 @@ }, "type": { "type": "string", - "enum": [ - "number" - ] + "enum": ["number"] }, "minimum": { "anyOf": [ @@ -21336,31 +19743,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -21373,31 +19770,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -21410,39 +19797,26 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.IntegerField": { @@ -21468,9 +19842,7 @@ }, "type": { "type": "string", - "enum": [ - "integer" - ] + "enum": ["integer"] }, "minimum": { "anyOf": [ @@ -21481,31 +19853,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -21518,31 +19880,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -21555,39 +19907,26 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.BooleanField": { @@ -21613,18 +19952,13 @@ }, "type": { "type": "string", - "enum": [ - "boolean" - ] + "enum": ["boolean"] }, "default": { "type": "boolean" } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.MultiselectField": { @@ -21650,9 +19984,7 @@ }, "type": { "type": "string", - "enum": [ - "multiselect" - ] + "enum": ["multiselect"] }, "options": { "type": "array", @@ -21686,11 +20018,7 @@ } } }, - "required": [ - "key", - "type", - "options" - ], + "required": ["key", "type", "options"], "additionalProperties": false }, "Form.ExternalField": { @@ -21701,9 +20029,7 @@ }, "type": { "type": "string", - "enum": [ - "external" - ] + "enum": ["external"] }, "url": { "type": "string" @@ -21715,11 +20041,7 @@ "type": "string" } }, - "required": [ - "key", - "type", - "url" - ], + "required": ["key", "type", "url"], "additionalProperties": false }, "Form.Field": { @@ -21780,12 +20102,7 @@ "$ref": "#/components/schemas/Form.Fields" } }, - "required": [ - "id", - "sessionID", - "title", - "fields" - ], + "required": ["id", "sessionID", "title", "fields"], "additionalProperties": false }, "Form.CreatePayload": { @@ -21816,10 +20133,7 @@ "$ref": "#/components/schemas/Form.Fields" } }, - "required": [ - "title", - "fields" - ], + "required": ["title", "fields"], "additionalProperties": false }, "FormNotFoundError": { @@ -21827,9 +20141,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "FormNotFoundError" - ] + "enum": ["FormNotFoundError"] }, "id": { "type": "string" @@ -21838,11 +20150,7 @@ "type": "string" } }, - "required": [ - "_tag", - "id", - "message" - ], + "required": ["_tag", "id", "message"], "additionalProperties": false }, "Form.Value": { @@ -21859,31 +20167,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -21911,14 +20209,10 @@ "properties": { "status": { "type": "string", - "enum": [ - "pending" - ] + "enum": ["pending"] } }, - "required": [ - "status" - ], + "required": ["status"], "additionalProperties": false }, { @@ -21926,18 +20220,13 @@ "properties": { "status": { "type": "string", - "enum": [ - "answered" - ] + "enum": ["answered"] }, "answer": { "$ref": "#/components/schemas/Form.Answer" } }, - "required": [ - "status", - "answer" - ], + "required": ["status", "answer"], "additionalProperties": false }, { @@ -21945,14 +20234,10 @@ "properties": { "status": { "type": "string", - "enum": [ - "cancelled" - ] + "enum": ["cancelled"] } }, - "required": [ - "status" - ], + "required": ["status"], "additionalProperties": false } ] @@ -21964,9 +20249,7 @@ "$ref": "#/components/schemas/Form.Answer" } }, - "required": [ - "answer" - ], + "required": ["answer"], "additionalProperties": false }, "FormAlreadySettledError": { @@ -21974,9 +20257,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "FormAlreadySettledError" - ] + "enum": ["FormAlreadySettledError"] }, "id": { "type": "string" @@ -21985,11 +20266,7 @@ "type": "string" } }, - "required": [ - "_tag", - "id", - "message" - ], + "required": ["_tag", "id", "message"], "additionalProperties": false }, "FormInvalidAnswerError": { @@ -21997,9 +20274,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "FormInvalidAnswerError" - ] + "enum": ["FormInvalidAnswerError"] }, "id": { "type": "string" @@ -22008,11 +20283,7 @@ "type": "string" } }, - "required": [ - "_tag", - "id", - "message" - ], + "required": ["_tag", "id", "message"], "additionalProperties": false }, "Permission.Source": { @@ -22022,9 +20293,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "tool" - ] + "enum": ["tool"] }, "messageID": { "type": "string" @@ -22033,11 +20302,7 @@ "type": "string" } }, - "required": [ - "type", - "messageID", - "id" - ], + "required": ["type", "messageID", "id"], "additionalProperties": false } ] @@ -22083,12 +20348,7 @@ "$ref": "#/components/schemas/Permission.Source" } }, - "required": [ - "id", - "sessionID", - "action", - "resources" - ], + "required": ["id", "sessionID", "action", "resources"], "additionalProperties": false }, "PermissionSaved.Info": { @@ -22107,12 +20367,7 @@ "type": "string" } }, - "required": [ - "id", - "projectID", - "action", - "resource" - ], + "required": ["id", "projectID", "action", "resource"], "additionalProperties": false }, "PermissionNotFoundError": { @@ -22120,9 +20375,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "PermissionNotFoundError" - ] + "enum": ["PermissionNotFoundError"] }, "requestID": { "type": "string" @@ -22131,20 +20384,12 @@ "type": "string" } }, - "required": [ - "_tag", - "requestID", - "message" - ], + "required": ["_tag", "requestID", "message"], "additionalProperties": false }, "Permission.Reply": { "type": "string", - "enum": [ - "once", - "always", - "reject" - ] + "enum": ["once", "always", "reject"] }, "FileSystem.Entry": { "type": "object", @@ -22154,16 +20399,10 @@ }, "type": { "type": "string", - "enum": [ - "file", - "directory" - ] + "enum": ["file", "directory"] } }, - "required": [ - "path", - "type" - ], + "required": ["path", "type"], "additionalProperties": false }, "Command.Info": { @@ -22188,10 +20427,7 @@ "type": "boolean" } }, - "required": [ - "name", - "template" - ], + "required": ["name", "template"], "additionalProperties": false }, "Skill.Info": { @@ -22219,12 +20455,7 @@ "type": "string" } }, - "required": [ - "id", - "name", - "location", - "content" - ], + "required": ["id", "name", "location", "content"], "additionalProperties": false }, "models-dev.refreshed": { @@ -22246,9 +20477,7 @@ }, "type": { "type": "string", - "enum": [ - "models-dev.refreshed" - ] + "enum": ["models-dev.refreshed"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22264,12 +20493,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "integration.updated": { @@ -22291,9 +20515,7 @@ }, "type": { "type": "string", - "enum": [ - "integration.updated" - ] + "enum": ["integration.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22309,12 +20531,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "integration.connection.updated": { @@ -22336,9 +20553,7 @@ }, "type": { "type": "string", - "enum": [ - "integration.connection.updated" - ] + "enum": ["integration.connection.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22350,18 +20565,11 @@ "type": "string" } }, - "required": [ - "integrationID" - ], + "required": ["integrationID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "catalog.updated": { @@ -22383,9 +20591,7 @@ }, "type": { "type": "string", - "enum": [ - "catalog.updated" - ] + "enum": ["catalog.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22401,12 +20607,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "agent.updated": { @@ -22428,9 +20629,7 @@ }, "type": { "type": "string", - "enum": [ - "agent.updated" - ] + "enum": ["agent.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22446,12 +20645,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "session.usage.updated": { @@ -22473,9 +20667,7 @@ }, "type": { "type": "string", - "enum": [ - "session.usage.updated" - ] + "enum": ["session.usage.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22498,20 +20690,11 @@ "$ref": "#/components/schemas/TokenUsage.Info" } }, - "required": [ - "sessionID", - "cost", - "tokens" - ], + "required": ["sessionID", "cost", "tokens"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "session.text.delta": { @@ -22533,9 +20716,7 @@ }, "type": { "type": "string", - "enum": [ - "session.text.delta" - ] + "enum": ["session.text.delta"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22571,21 +20752,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "assistantMessageID", - "ordinal", - "delta" - ], + "required": ["sessionID", "assistantMessageID", "ordinal", "delta"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "session.reasoning.delta": { @@ -22607,9 +20778,7 @@ }, "type": { "type": "string", - "enum": [ - "session.reasoning.delta" - ] + "enum": ["session.reasoning.delta"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22645,21 +20814,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "assistantMessageID", - "ordinal", - "delta" - ], + "required": ["sessionID", "assistantMessageID", "ordinal", "delta"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "session.tool.input.delta": { @@ -22681,9 +20840,7 @@ }, "type": { "type": "string", - "enum": [ - "session.tool.input.delta" - ] + "enum": ["session.tool.input.delta"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22714,21 +20871,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "assistantMessageID", - "id", - "delta" - ], + "required": ["sessionID", "assistantMessageID", "id", "delta"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "session.tool.progress": { @@ -22750,9 +20897,7 @@ }, "type": { "type": "string", - "enum": [ - "session.tool.progress" - ] + "enum": ["session.tool.progress"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22783,21 +20928,11 @@ "type": "object" } }, - "required": [ - "sessionID", - "assistantMessageID", - "id", - "metadata" - ], + "required": ["sessionID", "assistantMessageID", "id", "metadata"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "session.compaction.delta": { @@ -22819,9 +20954,7 @@ }, "type": { "type": "string", - "enum": [ - "session.compaction.delta" - ] + "enum": ["session.compaction.delta"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22841,19 +20974,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "text" - ], + "required": ["sessionID", "text"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "filesystem.changed": { @@ -22875,9 +21000,7 @@ }, "type": { "type": "string", - "enum": [ - "filesystem.changed" - ] + "enum": ["filesystem.changed"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22890,26 +21013,14 @@ }, "event": { "type": "string", - "enum": [ - "add", - "change", - "unlink" - ] + "enum": ["add", "change", "unlink"] } }, - "required": [ - "file", - "event" - ], + "required": ["file", "event"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "reference.updated": { @@ -22931,9 +21042,7 @@ }, "type": { "type": "string", - "enum": [ - "reference.updated" - ] + "enum": ["reference.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22949,12 +21058,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "permission.asked": { @@ -22976,9 +21080,7 @@ }, "type": { "type": "string", - "enum": [ - "permission.asked" - ] + "enum": ["permission.asked"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23024,21 +21126,11 @@ "$ref": "#/components/schemas/Permission.Source" } }, - "required": [ - "id", - "sessionID", - "action", - "resources" - ], + "required": ["id", "sessionID", "action", "resources"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "permission.replied": { @@ -23060,9 +21152,7 @@ }, "type": { "type": "string", - "enum": [ - "permission.replied" - ] + "enum": ["permission.replied"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23090,20 +21180,11 @@ "$ref": "#/components/schemas/Permission.Reply" } }, - "required": [ - "sessionID", - "requestID", - "reply" - ], + "required": ["sessionID", "requestID", "reply"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "plugin.added": { @@ -23125,9 +21206,7 @@ }, "type": { "type": "string", - "enum": [ - "plugin.added" - ] + "enum": ["plugin.added"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23139,18 +21218,11 @@ "type": "string" } }, - "required": [ - "id" - ], + "required": ["id"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "plugin.updated": { @@ -23172,9 +21244,7 @@ }, "type": { "type": "string", - "enum": [ - "plugin.updated" - ] + "enum": ["plugin.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23190,12 +21260,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "project.directories.updated": { @@ -23217,9 +21282,7 @@ }, "type": { "type": "string", - "enum": [ - "project.directories.updated" - ] + "enum": ["project.directories.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23231,18 +21294,11 @@ "type": "string" } }, - "required": [ - "projectID" - ], + "required": ["projectID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "command.updated": { @@ -23264,9 +21320,7 @@ }, "type": { "type": "string", - "enum": [ - "command.updated" - ] + "enum": ["command.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23282,12 +21336,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "config.updated": { @@ -23309,9 +21358,7 @@ }, "type": { "type": "string", - "enum": [ - "config.updated" - ] + "enum": ["config.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23327,12 +21374,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "skill.updated": { @@ -23354,9 +21396,7 @@ }, "type": { "type": "string", - "enum": [ - "skill.updated" - ] + "enum": ["skill.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23372,12 +21412,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "Pty": { @@ -23408,10 +21443,7 @@ }, "status": { "type": "string", - "enum": [ - "running", - "exited" - ] + "enum": ["running", "exited"] }, "pid": { "type": "integer", @@ -23430,15 +21462,7 @@ ] } }, - "required": [ - "id", - "title", - "command", - "args", - "cwd", - "status", - "pid" - ], + "required": ["id", "title", "command", "args", "cwd", "status", "pid"], "additionalProperties": false }, "pty.created": { @@ -23460,9 +21484,7 @@ }, "type": { "type": "string", - "enum": [ - "pty.created" - ] + "enum": ["pty.created"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23474,18 +21496,11 @@ "$ref": "#/components/schemas/Pty" } }, - "required": [ - "info" - ], + "required": ["info"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "pty.updated": { @@ -23507,9 +21522,7 @@ }, "type": { "type": "string", - "enum": [ - "pty.updated" - ] + "enum": ["pty.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23521,18 +21534,11 @@ "$ref": "#/components/schemas/Pty" } }, - "required": [ - "info" - ], + "required": ["info"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "pty.exited": { @@ -23554,9 +21560,7 @@ }, "type": { "type": "string", - "enum": [ - "pty.exited" - ] + "enum": ["pty.exited"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23581,19 +21585,11 @@ ] } }, - "required": [ - "id", - "exitCode" - ], + "required": ["id", "exitCode"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "pty.deleted": { @@ -23615,9 +21611,7 @@ }, "type": { "type": "string", - "enum": [ - "pty.deleted" - ] + "enum": ["pty.deleted"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23634,18 +21628,11 @@ ] } }, - "required": [ - "id" - ], + "required": ["id"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "shell.created": { @@ -23667,9 +21654,7 @@ }, "type": { "type": "string", - "enum": [ - "shell.created" - ] + "enum": ["shell.created"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23681,18 +21666,11 @@ "$ref": "#/components/schemas/Shell.Info" } }, - "required": [ - "info" - ], + "required": ["info"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "shell.exited": { @@ -23714,9 +21692,7 @@ }, "type": { "type": "string", - "enum": [ - "shell.exited" - ] + "enum": ["shell.exited"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23737,27 +21713,14 @@ }, "status": { "type": "string", - "enum": [ - "running", - "exited", - "timeout", - "killed" - ] + "enum": ["running", "exited", "timeout", "killed"] } }, - "required": [ - "id", - "status" - ], + "required": ["id", "status"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "shell.deleted": { @@ -23779,9 +21742,7 @@ }, "type": { "type": "string", - "enum": [ - "shell.deleted" - ] + "enum": ["shell.deleted"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23798,18 +21759,11 @@ ] } }, - "required": [ - "id" - ], + "required": ["id"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "Question.Option": { @@ -23824,10 +21778,7 @@ "description": "Explanation of choice" } }, - "required": [ - "label", - "description" - ], + "required": ["label", "description"], "additionalProperties": false }, "Question.Info": { @@ -23855,11 +21806,7 @@ "type": "boolean" } }, - "required": [ - "question", - "header", - "options" - ], + "required": ["question", "header", "options"], "additionalProperties": false }, "Question.Tool": { @@ -23872,10 +21819,7 @@ "type": "string" } }, - "required": [ - "messageID", - "id" - ], + "required": ["messageID", "id"], "additionalProperties": false }, "question.asked": { @@ -23897,9 +21841,7 @@ }, "type": { "type": "string", - "enum": [ - "question.asked" - ] + "enum": ["question.asked"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23934,20 +21876,11 @@ "$ref": "#/components/schemas/Question.Tool" } }, - "required": [ - "id", - "sessionID", - "questions" - ], + "required": ["id", "sessionID", "questions"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "Question.Answer": { @@ -23975,9 +21908,7 @@ }, "type": { "type": "string", - "enum": [ - "question.replied" - ] + "enum": ["question.replied"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -24008,20 +21939,11 @@ } } }, - "required": [ - "sessionID", - "requestID", - "answers" - ], + "required": ["sessionID", "requestID", "answers"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "question.rejected": { @@ -24043,9 +21965,7 @@ }, "type": { "type": "string", - "enum": [ - "question.rejected" - ] + "enum": ["question.rejected"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -24070,19 +21990,11 @@ ] } }, - "required": [ - "sessionID", - "requestID" - ], + "required": ["sessionID", "requestID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "Form.Metadata1": { @@ -24096,10 +22008,7 @@ }, "op": { "type": "string", - "enum": [ - "eq", - "neq" - ] + "enum": ["eq", "neq"] }, "value": { "anyOf": [ @@ -24113,21 +22022,15 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, @@ -24137,11 +22040,7 @@ ] } }, - "required": [ - "key", - "op", - "value" - ], + "required": ["key", "op", "value"], "additionalProperties": false }, "Form.StringField1": { @@ -24167,18 +22066,11 @@ }, "type": { "type": "string", - "enum": [ - "string" - ] + "enum": ["string"] }, "format": { "type": "string", - "enum": [ - "email", - "uri", - "date", - "date-time" - ] + "enum": ["email", "uri", "date", "date-time"] }, "minLength": { "type": "integer", @@ -24215,10 +22107,7 @@ "type": "boolean" } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.NumberField1": { @@ -24244,9 +22133,7 @@ }, "type": { "type": "string", - "enum": [ - "number" - ] + "enum": ["number"] }, "minimum": { "anyOf": [ @@ -24255,21 +22142,15 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, @@ -24280,21 +22161,15 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, @@ -24305,29 +22180,20 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.IntegerField1": { @@ -24353,9 +22219,7 @@ }, "type": { "type": "string", - "enum": [ - "integer" - ] + "enum": ["integer"] }, "minimum": { "anyOf": [ @@ -24364,21 +22228,15 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, @@ -24389,21 +22247,15 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, @@ -24414,29 +22266,20 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.BooleanField1": { @@ -24462,18 +22305,13 @@ }, "type": { "type": "string", - "enum": [ - "boolean" - ] + "enum": ["boolean"] }, "default": { "type": "boolean" } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.MultiselectField1": { @@ -24499,9 +22337,7 @@ }, "type": { "type": "string", - "enum": [ - "multiselect" - ] + "enum": ["multiselect"] }, "options": { "type": "array", @@ -24535,11 +22371,7 @@ } } }, - "required": [ - "key", - "type", - "options" - ], + "required": ["key", "type", "options"], "additionalProperties": false }, "Form.Field1": { @@ -24600,12 +22432,7 @@ "$ref": "#/components/schemas/Form.Fields1" } }, - "required": [ - "id", - "sessionID", - "title", - "fields" - ], + "required": ["id", "sessionID", "title", "fields"], "additionalProperties": false }, "form.created": { @@ -24627,9 +22454,7 @@ }, "type": { "type": "string", - "enum": [ - "form.created" - ] + "enum": ["form.created"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -24641,18 +22466,11 @@ "$ref": "#/components/schemas/Form.Info1" } }, - "required": [ - "form" - ], + "required": ["form"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "Form.Value1": { @@ -24667,21 +22485,15 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, @@ -24721,9 +22533,7 @@ }, "type": { "type": "string", - "enum": [ - "form.replied" - ] + "enum": ["form.replied"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -24746,20 +22556,11 @@ "$ref": "#/components/schemas/Form.Answer1" } }, - "required": [ - "id", - "sessionID", - "answer" - ], + "required": ["id", "sessionID", "answer"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "form.cancelled": { @@ -24781,9 +22582,7 @@ }, "type": { "type": "string", - "enum": [ - "form.cancelled" - ] + "enum": ["form.cancelled"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -24803,19 +22602,11 @@ "type": "string" } }, - "required": [ - "id", - "sessionID" - ], + "required": ["id", "sessionID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "websearch.updated": { @@ -24837,9 +22628,7 @@ }, "type": { "type": "string", - "enum": [ - "websearch.updated" - ] + "enum": ["websearch.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -24855,12 +22644,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "SessionStatus": { @@ -24870,14 +22654,10 @@ "properties": { "type": { "type": "string", - "enum": [ - "idle" - ] + "enum": ["idle"] } }, - "required": [ - "type" - ], + "required": ["type"], "additionalProperties": false }, { @@ -24885,9 +22665,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "retry" - ] + "enum": ["retry"] }, "attempt": { "type": "integer", @@ -24922,13 +22700,7 @@ "type": "string" } }, - "required": [ - "reason", - "provider", - "title", - "message", - "label" - ], + "required": ["reason", "provider", "title", "message", "label"], "additionalProperties": false }, "next": { @@ -24940,12 +22712,7 @@ ] } }, - "required": [ - "type", - "attempt", - "message", - "next" - ], + "required": ["type", "attempt", "message", "next"], "additionalProperties": false }, { @@ -24953,14 +22720,10 @@ "properties": { "type": { "type": "string", - "enum": [ - "busy" - ] + "enum": ["busy"] } }, - "required": [ - "type" - ], + "required": ["type"], "additionalProperties": false } ] @@ -24984,9 +22747,7 @@ }, "type": { "type": "string", - "enum": [ - "session.status" - ] + "enum": ["session.status"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25006,19 +22767,11 @@ "$ref": "#/components/schemas/SessionStatus" } }, - "required": [ - "sessionID", - "status" - ], + "required": ["sessionID", "status"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "session.idle": { @@ -25040,9 +22793,7 @@ }, "type": { "type": "string", - "enum": [ - "session.idle" - ] + "enum": ["session.idle"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25059,18 +22810,11 @@ ] } }, - "required": [ - "sessionID" - ], + "required": ["sessionID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "tui.prompt.append": { @@ -25092,9 +22836,7 @@ }, "type": { "type": "string", - "enum": [ - "tui.prompt.append" - ] + "enum": ["tui.prompt.append"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25106,18 +22848,11 @@ "type": "string" } }, - "required": [ - "text" - ], + "required": ["text"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "tui.command.execute": { @@ -25139,9 +22874,7 @@ }, "type": { "type": "string", - "enum": [ - "tui.command.execute" - ] + "enum": ["tui.command.execute"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25179,18 +22912,11 @@ ] } }, - "required": [ - "command" - ], + "required": ["command"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "tui.toast.show": { @@ -25212,9 +22938,7 @@ }, "type": { "type": "string", - "enum": [ - "tui.toast.show" - ] + "enum": ["tui.toast.show"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25230,12 +22954,7 @@ }, "variant": { "type": "string", - "enum": [ - "info", - "success", - "warning", - "error" - ] + "enum": ["info", "success", "warning", "error"] }, "duration": { "anyOf": [ @@ -25253,19 +22972,11 @@ ] } }, - "required": [ - "message", - "variant" - ], + "required": ["message", "variant"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "tui.session.select": { @@ -25287,9 +22998,7 @@ }, "type": { "type": "string", - "enum": [ - "tui.session.select" - ] + "enum": ["tui.session.select"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25307,18 +23016,11 @@ ] } }, - "required": [ - "sessionID" - ], + "required": ["sessionID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "installation.updated": { @@ -25340,9 +23042,7 @@ }, "type": { "type": "string", - "enum": [ - "installation.updated" - ] + "enum": ["installation.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25354,18 +23054,11 @@ "type": "string" } }, - "required": [ - "version" - ], + "required": ["version"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "installation.update-available": { @@ -25387,9 +23080,7 @@ }, "type": { "type": "string", - "enum": [ - "installation.update-available" - ] + "enum": ["installation.update-available"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25401,18 +23092,11 @@ "type": "string" } }, - "required": [ - "version" - ], + "required": ["version"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "vcs.branch.updated": { @@ -25434,9 +23118,7 @@ }, "type": { "type": "string", - "enum": [ - "vcs.branch.updated" - ] + "enum": ["vcs.branch.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25451,12 +23133,7 @@ "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "mcp.status.changed": { @@ -25478,9 +23155,7 @@ }, "type": { "type": "string", - "enum": [ - "mcp.status.changed" - ] + "enum": ["mcp.status.changed"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25492,18 +23167,11 @@ "type": "string" } }, - "required": [ - "server" - ], + "required": ["server"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "mcp.resources.changed": { @@ -25525,9 +23193,7 @@ }, "type": { "type": "string", - "enum": [ - "mcp.resources.changed" - ] + "enum": ["mcp.resources.changed"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25539,18 +23205,11 @@ "type": "string" } }, - "required": [ - "server" - ], + "required": ["server"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "V2Event.server.connected": { @@ -25586,9 +23245,7 @@ }, "type": { "type": "string", - "enum": [ - "server.connected" - ] + "enum": ["server.connected"] }, "data": { "anyOf": [ @@ -25601,11 +23258,7 @@ ] } }, - "required": [ - "id", - "type", - "data" - ], + "required": ["id", "type", "data"], "additionalProperties": false }, "V2Event": { @@ -25655,6 +23308,15 @@ { "$ref": "#/components/schemas/session.input.admitted" }, + { + "$ref": "#/components/schemas/session.input.cancelled" + }, + { + "$ref": "#/components/schemas/session.input.steered" + }, + { + "$ref": "#/components/schemas/session.input.queued" + }, { "$ref": "#/components/schemas/session.execution.started" }, @@ -25879,9 +23541,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "PtyNotFoundError" - ] + "enum": ["PtyNotFoundError"] }, "ptyID": { "type": "string" @@ -25890,11 +23550,7 @@ "type": "string" } }, - "required": [ - "_tag", - "ptyID", - "message" - ], + "required": ["_tag", "ptyID", "message"], "additionalProperties": false }, "PtyTicket.ConnectToken": { @@ -25912,10 +23568,7 @@ ] } }, - "required": [ - "ticket", - "expires_in" - ], + "required": ["ticket", "expires_in"], "additionalProperties": false }, "ForbiddenError": { @@ -25923,18 +23576,13 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "ForbiddenError" - ] + "enum": ["ForbiddenError"] }, "message": { "type": "string" } }, - "required": [ - "_tag", - "message" - ], + "required": ["_tag", "message"], "additionalProperties": false }, "Shell.Info1": { @@ -25950,12 +23598,7 @@ }, "status": { "type": "string", - "enum": [ - "running", - "exited", - "timeout", - "killed" - ] + "enum": ["running", "exited", "timeout", "killed"] }, "command": { "type": "string" @@ -25993,22 +23636,11 @@ "type": "number" } }, - "required": [ - "started" - ], + "required": ["started"], "additionalProperties": false } }, - "required": [ - "id", - "status", - "command", - "cwd", - "shell", - "file", - "metadata", - "time" - ], + "required": ["id", "status", "command", "cwd", "shell", "file", "metadata", "time"], "additionalProperties": false }, "ShellNotFoundError": { @@ -26016,9 +23648,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "ShellNotFoundError" - ] + "enum": ["ShellNotFoundError"] }, "id": { "type": "string" @@ -26027,11 +23657,7 @@ "type": "string" } }, - "required": [ - "_tag", - "id", - "message" - ], + "required": ["_tag", "id", "message"], "additionalProperties": false }, "Question.Request": { @@ -26064,11 +23690,7 @@ "$ref": "#/components/schemas/Question.Tool" } }, - "required": [ - "id", - "sessionID", - "questions" - ], + "required": ["id", "sessionID", "questions"], "additionalProperties": false }, "Question.Reply": { @@ -26082,9 +23704,7 @@ "description": "User answers in order of questions (each answer is an array of selected labels)" } }, - "required": [ - "answers" - ], + "required": ["answers"], "additionalProperties": false }, "QuestionNotFoundError": { @@ -26092,9 +23712,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "QuestionNotFoundError" - ] + "enum": ["QuestionNotFoundError"] }, "requestID": { "type": "string" @@ -26103,11 +23721,7 @@ "type": "string" } }, - "required": [ - "_tag", - "requestID", - "message" - ], + "required": ["_tag", "requestID", "message"], "additionalProperties": false }, "Reference.LocalSource": { @@ -26115,9 +23729,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "local" - ] + "enum": ["local"] }, "path": { "type": "string" @@ -26129,10 +23741,7 @@ "type": "boolean" } }, - "required": [ - "type", - "path" - ], + "required": ["type", "path"], "additionalProperties": false }, "Reference.GitSource": { @@ -26140,9 +23749,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "git" - ] + "enum": ["git"] }, "repository": { "type": "string" @@ -26157,10 +23764,7 @@ "type": "boolean" } }, - "required": [ - "type", - "repository" - ], + "required": ["type", "repository"], "additionalProperties": false }, "Reference.Source": { @@ -26192,11 +23796,7 @@ "$ref": "#/components/schemas/Reference.Source" } }, - "required": [ - "name", - "path", - "source" - ], + "required": ["name", "path", "source"], "additionalProperties": false }, "ProjectCopy.Copy": { @@ -26206,9 +23806,7 @@ "type": "string" } }, - "required": [ - "directory" - ], + "required": ["directory"], "additionalProperties": false }, "ProjectCopyError": { @@ -26216,9 +23814,7 @@ "properties": { "name": { "type": "string", - "enum": [ - "ProjectCopyError" - ] + "enum": ["ProjectCopyError"] }, "data": { "type": "object", @@ -26237,16 +23833,11 @@ ] } }, - "required": [ - "message" - ], + "required": ["message"], "additionalProperties": false } }, - "required": [ - "name", - "data" - ], + "required": ["name", "data"], "additionalProperties": false }, "Vcs.Branch": { @@ -26268,9 +23859,7 @@ "$ref": "#/components/schemas/Vcs.Branch" } }, - "required": [ - "branch" - ], + "required": ["branch"], "additionalProperties": false }, "Vcs.FileStatus": { @@ -26297,27 +23886,15 @@ }, "status": { "type": "string", - "enum": [ - "added", - "deleted", - "modified" - ] + "enum": ["added", "deleted", "modified"] } }, - "required": [ - "file", - "additions", - "deletions", - "status" - ], + "required": ["file", "additions", "deletions", "status"], "additionalProperties": false }, "Vcs.Mode": { "type": "string", - "enum": [ - "working", - "branch" - ] + "enum": ["working", "branch"] }, "WebSearch.Provider": { "type": "object", @@ -26329,10 +23906,7 @@ "type": "string" } }, - "required": [ - "id", - "name" - ], + "required": ["id", "name"], "additionalProperties": false }, "WebSearch.Result": { @@ -26357,10 +23931,7 @@ "additionalProperties": false } }, - "required": [ - "url", - "time" - ], + "required": ["url", "time"], "additionalProperties": false }, "WebSearch.Response": { @@ -26376,10 +23947,7 @@ } } }, - "required": [ - "providerID", - "results" - ], + "required": ["providerID", "results"], "additionalProperties": false }, "Config.Agent": { @@ -26423,10 +23991,7 @@ ] } }, - "required": [ - "providerID", - "model" - ], + "required": ["providerID", "model"], "additionalProperties": false } ] @@ -26454,11 +24019,7 @@ }, "mode": { "type": "string", - "enum": [ - "subagent", - "primary", - "all" - ] + "enum": ["subagent", "primary", "all"] }, "hidden": { "type": "boolean" @@ -26543,9 +24104,7 @@ "type": "object" } }, - "required": [ - "command" - ], + "required": ["command"], "additionalProperties": false }, "Config.Command": { @@ -26598,10 +24157,7 @@ ] } }, - "required": [ - "providerID", - "model" - ], + "required": ["providerID", "model"], "additionalProperties": false } ] @@ -26610,9 +24166,7 @@ "type": "boolean" } }, - "required": [ - "template" - ], + "required": ["template"], "additionalProperties": false }, "Config.Reference.Git": { @@ -26631,9 +24185,7 @@ "type": "boolean" } }, - "required": [ - "repository" - ], + "required": ["repository"], "additionalProperties": false }, "Config.Reference.Local": { @@ -26649,9 +24201,7 @@ "type": "boolean" } }, - "required": [ - "path" - ], + "required": ["path"], "additionalProperties": false }, "Config.Plugin.Entry": { @@ -26664,9 +24214,7 @@ "type": "object" } }, - "required": [ - "package" - ], + "required": ["package"], "additionalProperties": false }, "Config.Warming": { @@ -26692,18 +24240,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "context" - ] + "enum": ["context"] }, "size": { "type": "integer" } }, - "required": [ - "type", - "size" - ], + "required": ["type", "size"], "additionalProperties": false }, "input": { @@ -26725,10 +24268,7 @@ "additionalProperties": false } }, - "required": [ - "input", - "output" - ], + "required": ["input", "output"], "additionalProperties": false }, "Config.Model": { @@ -26785,9 +24325,7 @@ "type": "object" } }, - "required": [ - "id" - ], + "required": ["id"], "additionalProperties": false } }, @@ -26908,10 +24446,7 @@ ] } }, - "required": [ - "providerID", - "model" - ], + "required": ["providerID", "model"], "additionalProperties": false } ] @@ -26926,19 +24461,13 @@ }, { "type": "string", - "enum": [ - "notify" - ] + "enum": ["notify"] } ] }, "share": { "type": "string", - "enum": [ - "manual", - "auto", - "disabled" - ] + "enum": ["manual", "auto", "disabled"] }, "enterprise": { "type": "object", @@ -27003,14 +24532,10 @@ "properties": { "disabled": { "type": "boolean", - "enum": [ - true - ] + "enum": [true] } }, - "required": [ - "disabled" - ], + "required": ["disabled"], "additionalProperties": false }, { @@ -27203,9 +24728,7 @@ "type": "string" } }, - "required": [ - "provider" - ], + "required": ["provider"], "additionalProperties": false }, "plugins": { @@ -27255,26 +24778,17 @@ "properties": { "action": { "type": "string", - "enum": [ - "provider.use" - ] + "enum": ["provider.use"] }, "resource": { "type": "string" }, "effect": { "type": "string", - "enum": [ - "allow", - "deny" - ] + "enum": ["allow", "deny"] } }, - "required": [ - "action", - "resource", - "effect" - ], + "required": ["action", "resource", "effect"], "additionalProperties": false } } @@ -27289,9 +24803,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "document" - ] + "enum": ["document"] }, "path": { "type": "string" @@ -27300,10 +24812,7 @@ "$ref": "#/components/schemas/Config.Info" } }, - "required": [ - "type", - "info" - ], + "required": ["type", "info"], "additionalProperties": false }, "Config.Directory": { @@ -27311,18 +24820,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "directory" - ] + "enum": ["directory"] }, "path": { "type": "string" } }, - "required": [ - "type", - "path" - ], + "required": ["type", "path"], "additionalProperties": false }, "Config.File": { @@ -27330,18 +24834,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "file" - ] + "enum": ["file"] }, "path": { "type": "string" } }, - "required": [ - "type", - "path" - ], + "required": ["type", "path"], "additionalProperties": false }, "Config.AgentsDirectory": { @@ -27349,18 +24848,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "agents" - ] + "enum": ["agents"] }, "path": { "type": "string" } }, - "required": [ - "type", - "path" - ], + "required": ["type", "path"], "additionalProperties": false }, "Config.ClaudeDirectory": { @@ -27368,18 +24862,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "claude" - ] + "enum": ["claude"] }, "path": { "type": "string" } }, - "required": [ - "type", - "path" - ], + "required": ["type", "path"], "additionalProperties": false }, "Config.Entry": { diff --git a/packages/www/public/openapi.json b/packages/www/public/openapi.json index 17b55e7f060..5778fa30a9f 100644 --- a/packages/www/public/openapi.json +++ b/packages/www/public/openapi.json @@ -8,9 +8,7 @@ "paths": { "/api/health": { "get": { - "tags": [ - "health" - ], + "tags": ["health"], "operationId": "v2.health.get", "parameters": [], "security": [], @@ -52,9 +50,7 @@ }, "/api/service/stop": { "post": { - "tags": [ - "health" - ], + "tags": ["health"], "operationId": "v2.health.stop", "parameters": [], "security": [], @@ -106,9 +102,7 @@ }, "/api/server": { "get": { - "tags": [ - "server" - ], + "tags": ["server"], "operationId": "v2.server.get", "parameters": [], "security": [], @@ -127,9 +121,7 @@ } } }, - "required": [ - "urls" - ], + "required": ["urls"], "additionalProperties": false } } @@ -162,9 +154,7 @@ }, "/api/location": { "get": { - "tags": [ - "location" - ], + "tags": ["location"], "operationId": "v2.location.get", "parameters": [ { @@ -247,9 +237,7 @@ }, "/api/agent": { "get": { - "tags": [ - "agent" - ], + "tags": ["agent"], "operationId": "v2.agent.list", "parameters": [ { @@ -312,10 +300,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -348,9 +333,7 @@ }, "/api/agent/{agentID}": { "get": { - "tags": [ - "agent" - ], + "tags": ["agent"], "operationId": "v2.agent.get", "parameters": [ { @@ -418,10 +401,7 @@ "$ref": "#/components/schemas/Agent.Info" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -464,9 +444,7 @@ }, "/api/plugin": { "get": { - "tags": [ - "plugin" - ], + "tags": ["plugin"], "operationId": "v2.plugin.list", "parameters": [ { @@ -529,10 +507,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -565,9 +540,7 @@ }, "/api/session": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.list", "parameters": [ { @@ -613,10 +586,7 @@ "anyOf": [ { "type": "string", - "enum": [ - "asc", - "desc" - ] + "enum": ["asc", "desc"] }, { "type": "null" @@ -658,9 +628,7 @@ }, { "type": "string", - "enum": [ - "null" - ] + "enum": ["null"] } ], "description": "Filter by parent session. Use null to return only root sessions." @@ -781,9 +749,7 @@ "summary": "List sessions" }, "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.create", "parameters": [], "security": [], @@ -799,9 +765,7 @@ "$ref": "#/components/schemas/Session.Info" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -900,11 +864,200 @@ } } }, + "/api/session/import": { + "post": { + "tags": ["session"], + "operationId": "v2.session.import", + "parameters": [], + "security": [], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/Session.Info" + } + }, + "required": ["data"], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "InvalidRequestError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InvalidRequestError" + } + } + } + }, + "401": { + "description": "UnauthorizedError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnauthorizedError" + } + } + } + }, + "409": { + "description": "ConflictError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConflictError" + } + } + } + } + }, + "description": "Import a projected session transcript at the requested location.", + "summary": "Import session", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "info": { + "$ref": "#/components/schemas/Session.Info" + }, + "messages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Session.Message.Info" + } + }, + "location": { + "anyOf": [ + { + "$ref": "#/components/schemas/Location.Ref" + }, + { + "type": "null" + } + ] + } + }, + "required": ["info", "messages"], + "additionalProperties": false + } + } + }, + "required": true + } + } + }, + "/api/session/{sessionID}/export": { + "get": { + "tags": ["session"], + "operationId": "v2.session.export", + "parameters": [ + { + "name": "sessionID", + "in": "path", + "schema": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "required": true + }, + { + "name": "sanitize", + "in": "query", + "schema": { + "anyOf": [ + { + "type": "string", + "enum": ["true", "false"] + }, + { + "type": "null" + } + ] + }, + "required": false + } + ], + "security": [], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/SessionTransfer.Data" + } + }, + "required": ["data"], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "InvalidRequestError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InvalidRequestError" + } + } + } + }, + "401": { + "description": "UnauthorizedError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnauthorizedError" + } + } + } + }, + "404": { + "description": "SessionNotFoundError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SessionNotFoundError" + } + } + } + }, + "500": { + "description": "UnknownError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnknownError" + } + } + } + } + }, + "description": "Export a complete projected session transcript.", + "summary": "Export session" + } + }, "/api/session/active": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.active", "parameters": [], "security": [], @@ -925,9 +1078,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -960,9 +1111,7 @@ }, "/api/session/{sessionID}": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.get", "parameters": [ { @@ -992,9 +1141,7 @@ "$ref": "#/components/schemas/Session.Info" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -1035,9 +1182,7 @@ "summary": "Get session" }, "delete": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.remove", "parameters": [ { @@ -1103,9 +1248,7 @@ }, "/api/session/{sessionID}/fork": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.fork", "parameters": [ { @@ -1135,9 +1278,7 @@ "$ref": "#/components/schemas/Session.Info" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -1203,9 +1344,7 @@ "$ref": "#/components/schemas/Session.ForkRequestBoundary" } }, - "required": [ - "boundary" - ], + "required": ["boundary"], "additionalProperties": false } } @@ -1216,9 +1355,7 @@ }, "/api/session/{sessionID}/agent": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.switchAgent", "parameters": [ { @@ -1290,9 +1427,7 @@ "type": "string" } }, - "required": [ - "agent" - ], + "required": ["agent"], "additionalProperties": false } } @@ -1303,9 +1438,7 @@ }, "/api/session/{sessionID}/model": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.switchModel", "parameters": [ { @@ -1377,9 +1510,7 @@ "$ref": "#/components/schemas/Model.Ref" } }, - "required": [ - "model" - ], + "required": ["model"], "additionalProperties": false } } @@ -1390,9 +1521,7 @@ }, "/api/session/{sessionID}/rename": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.rename", "parameters": [ { @@ -1464,9 +1593,7 @@ "type": "string" } }, - "required": [ - "title" - ], + "required": ["title"], "additionalProperties": false } } @@ -1477,9 +1604,7 @@ }, "/api/session/{sessionID}/move": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.move", "parameters": [ { @@ -1555,9 +1680,7 @@ }, "/api/session/{sessionID}/prompt": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.prompt", "parameters": [ { @@ -1587,9 +1710,7 @@ "$ref": "#/components/schemas/SessionPending.User" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -1695,10 +1816,7 @@ "anyOf": [ { "type": "string", - "enum": [ - "steer", - "queue" - ] + "enum": ["steer", "queue"] }, { "type": "null" @@ -1716,9 +1834,7 @@ ] } }, - "required": [ - "text" - ], + "required": ["text"], "additionalProperties": false } } @@ -1729,9 +1845,7 @@ }, "/api/session/{sessionID}/command": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.command", "parameters": [ { @@ -1761,9 +1875,7 @@ "$ref": "#/components/schemas/SessionPending.User" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -1909,10 +2021,7 @@ "anyOf": [ { "type": "string", - "enum": [ - "steer", - "queue" - ] + "enum": ["steer", "queue"] }, { "type": "null" @@ -1930,9 +2039,7 @@ ] } }, - "required": [ - "command" - ], + "required": ["command"], "additionalProperties": false } } @@ -1943,9 +2050,7 @@ }, "/api/session/{sessionID}/skill": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.skill", "parameters": [ { @@ -2045,9 +2150,7 @@ ] } }, - "required": [ - "skill" - ], + "required": ["skill"], "additionalProperties": false } } @@ -2058,9 +2161,7 @@ }, "/api/session/{sessionID}/synthetic": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.synthetic", "parameters": [ { @@ -2090,9 +2191,7 @@ "$ref": "#/components/schemas/SessionPending.Synthetic" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -2189,10 +2288,7 @@ "anyOf": [ { "type": "string", - "enum": [ - "steer", - "queue" - ] + "enum": ["steer", "queue"] }, { "type": "null" @@ -2210,9 +2306,7 @@ ] } }, - "required": [ - "text" - ], + "required": ["text"], "additionalProperties": false } } @@ -2223,9 +2317,7 @@ }, "/api/session/{sessionID}/shell": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.shell", "parameters": [ { @@ -2312,9 +2404,7 @@ "type": "string" } }, - "required": [ - "command" - ], + "required": ["command"], "additionalProperties": false } } @@ -2325,9 +2415,7 @@ }, "/api/session/{sessionID}/compact": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.compact", "parameters": [ { @@ -2357,9 +2445,7 @@ "$ref": "#/components/schemas/SessionPending.Compaction" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -2447,9 +2533,7 @@ }, "/api/session/{sessionID}/wait": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.wait", "parameters": [ { @@ -2525,9 +2609,7 @@ }, "/api/session/{sessionID}/revert/stage": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.revert.stage", "parameters": [ { @@ -2557,9 +2639,7 @@ "$ref": "#/components/schemas/Session.Revert" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -2653,9 +2733,7 @@ ] } }, - "required": [ - "messageID" - ], + "required": ["messageID"], "additionalProperties": false } } @@ -2666,9 +2744,7 @@ }, "/api/session/{sessionID}/revert/clear": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.revert.clear", "parameters": [ { @@ -2753,9 +2829,7 @@ }, "/api/session/{sessionID}/revert/commit": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.revert.commit", "parameters": [ { @@ -2830,9 +2904,7 @@ }, "/api/session/{sessionID}/context": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.context", "parameters": [ { @@ -2865,9 +2937,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -2920,9 +2990,7 @@ }, "/api/session/{sessionID}/pending": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.pending.list", "parameters": [ { @@ -2955,9 +3023,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -2998,11 +3064,255 @@ "summary": "List pending session work" } }, + "/api/session/{sessionID}/pending/{inputID}": { + "delete": { + "tags": ["session"], + "operationId": "v2.session.pending.cancel", + "parameters": [ + { + "name": "sessionID", + "in": "path", + "schema": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "required": true + }, + { + "name": "inputID", + "in": "path", + "schema": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + }, + "required": true + } + ], + "security": [], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "InvalidRequestError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InvalidRequestError" + } + } + } + }, + "401": { + "description": "UnauthorizedError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnauthorizedError" + } + } + } + }, + "404": { + "description": "SessionNotFoundError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SessionNotFoundError" + } + } + } + }, + "409": { + "description": "ConflictError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConflictError" + } + } + } + } + }, + "description": "Cancel an input that has not yet been promoted into session history.", + "summary": "Cancel pending input" + } + }, + "/api/session/{sessionID}/pending/{inputID}/steer": { + "post": { + "tags": ["session"], + "operationId": "v2.session.pending.steer", + "parameters": [ + { + "name": "sessionID", + "in": "path", + "schema": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "required": true + }, + { + "name": "inputID", + "in": "path", + "schema": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + }, + "required": true + } + ], + "security": [], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "InvalidRequestError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InvalidRequestError" + } + } + } + }, + "401": { + "description": "UnauthorizedError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnauthorizedError" + } + } + } + }, + "404": { + "description": "SessionNotFoundError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SessionNotFoundError" + } + } + } + }, + "409": { + "description": "ConflictError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConflictError" + } + } + } + } + }, + "description": "Change a queued input to steer delivery and wake session execution.", + "summary": "Steer queued input" + } + }, + "/api/session/{sessionID}/pending/{inputID}/queue": { + "post": { + "tags": ["session"], + "operationId": "v2.session.pending.queue", + "parameters": [ + { + "name": "sessionID", + "in": "path", + "schema": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "required": true + }, + { + "name": "inputID", + "in": "path", + "schema": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + }, + "required": true + } + ], + "security": [], + "responses": { + "204": { + "description": "" + }, + "400": { + "description": "InvalidRequestError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InvalidRequestError" + } + } + } + }, + "401": { + "description": "UnauthorizedError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnauthorizedError" + } + } + } + }, + "404": { + "description": "SessionNotFoundError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SessionNotFoundError" + } + } + } + }, + "409": { + "description": "ConflictError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConflictError" + } + } + } + } + }, + "description": "Change a pending steer to queued delivery.", + "summary": "Queue pending steer" + } + }, "/api/session/{sessionID}/instructions/entries": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.instructions.entry.list", "parameters": [ { @@ -3035,9 +3345,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -3087,9 +3395,7 @@ }, "/api/session/{sessionID}/instructions/entries/{key}": { "put": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.instructions.entry.put", "parameters": [ { @@ -3177,9 +3483,7 @@ "properties": { "value": {} }, - "required": [ - "value" - ], + "required": ["value"], "additionalProperties": false } } @@ -3188,9 +3492,7 @@ } }, "delete": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.instructions.entry.remove", "parameters": [ { @@ -3264,9 +3566,7 @@ }, "/api/session/{sessionID}/generate": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.generate", "parameters": [ { @@ -3355,9 +3655,7 @@ "type": "string" } }, - "required": [ - "prompt" - ], + "required": ["prompt"], "additionalProperties": false } } @@ -3368,9 +3666,7 @@ }, "/api/experimental/session/{sessionID}/log": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.log", "parameters": [ { @@ -3408,10 +3704,7 @@ "anyOf": [ { "type": "string", - "enum": [ - "true", - "false" - ] + "enum": ["true", "false"] }, { "type": "null" @@ -3447,11 +3740,7 @@ "$ref": "#/components/schemas/SessionLogItemJsonString" } }, - "required": [ - "id", - "event", - "data" - ], + "required": ["id", "event", "data"], "additionalProperties": false }, "x-effect-stream": { @@ -3465,18 +3754,13 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "Fail" - ] + "enum": ["Fail"] }, "error": { "not": {} } }, - "required": [ - "_tag", - "error" - ], + "required": ["_tag", "error"], "additionalProperties": false }, { @@ -3484,16 +3768,11 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "Die" - ] + "enum": ["Die"] }, "defect": {} }, - "required": [ - "_tag", - "defect" - ], + "required": ["_tag", "defect"], "additionalProperties": false }, { @@ -3501,9 +3780,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "Interrupt" - ] + "enum": ["Interrupt"] }, "fiberId": { "anyOf": [ @@ -3516,10 +3793,7 @@ ] } }, - "required": [ - "_tag", - "fiberId" - ], + "required": ["_tag", "fiberId"], "additionalProperties": false } ] @@ -3570,9 +3844,7 @@ }, "/api/session/{sessionID}/interrupt": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.interrupt", "parameters": [ { @@ -3638,9 +3910,7 @@ }, "/api/session/{sessionID}/background": { "post": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.background", "parameters": [ { @@ -3706,9 +3976,7 @@ }, "/api/session/{sessionID}/message/{messageID}": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.session.message", "parameters": [ { @@ -3751,9 +4019,7 @@ "$ref": "#/components/schemas/Session.Message.Info" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -3803,9 +4069,7 @@ }, "/api/session/{sessionID}/message": { "get": { - "tags": [ - "session" - ], + "tags": ["session"], "operationId": "v2.message.list", "parameters": [ { @@ -3844,10 +4108,7 @@ "anyOf": [ { "type": "string", - "enum": [ - "asc", - "desc" - ] + "enum": ["asc", "desc"] }, { "type": "null" @@ -3940,9 +4201,7 @@ }, "/api/model": { "get": { - "tags": [ - "model" - ], + "tags": ["model"], "operationId": "v2.model.list", "parameters": [ { @@ -4005,10 +4264,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -4051,9 +4307,7 @@ }, "/api/model/default": { "get": { - "tags": [ - "model" - ], + "tags": ["model"], "operationId": "v2.model.default", "parameters": [ { @@ -4120,10 +4374,7 @@ ] } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -4166,9 +4417,7 @@ }, "/api/generate": { "post": { - "tags": [ - "generate" - ], + "tags": ["generate"], "operationId": "v2.generate.text", "parameters": [ { @@ -4284,9 +4533,7 @@ ] } }, - "required": [ - "prompt" - ], + "required": ["prompt"], "additionalProperties": false } } @@ -4297,9 +4544,7 @@ }, "/api/provider": { "get": { - "tags": [ - "provider" - ], + "tags": ["provider"], "operationId": "v2.provider.list", "parameters": [ { @@ -4362,10 +4607,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -4408,9 +4650,7 @@ }, "/api/provider/{providerID}": { "get": { - "tags": [ - "provider" - ], + "tags": ["provider"], "operationId": "v2.provider.get", "parameters": [ { @@ -4478,10 +4718,7 @@ "$ref": "#/components/schemas/Provider.Info" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -4534,9 +4771,7 @@ }, "/api/integration": { "get": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.list", "parameters": [ { @@ -4599,10 +4834,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -4635,9 +4867,7 @@ }, "/api/integration/{integrationID}": { "get": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.get", "parameters": [ { @@ -4712,10 +4942,7 @@ ] } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -4748,9 +4975,7 @@ }, "/api/experimental/integration/wellknown": { "post": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.experimental.integration.wellknown.add", "parameters": [ { @@ -4839,9 +5064,7 @@ "type": "string" } }, - "required": [ - "url" - ], + "required": ["url"], "additionalProperties": false } } @@ -4852,9 +5075,7 @@ }, "/api/integration/{integrationID}/connect/key": { "post": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.connect.key", "parameters": [ { @@ -4961,9 +5182,7 @@ ] } }, - "required": [ - "key" - ], + "required": ["key"], "additionalProperties": false } } @@ -4974,9 +5193,7 @@ }, "/api/integration/{integrationID}/connect/oauth": { "post": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.oauth.connect", "parameters": [ { @@ -5044,10 +5261,7 @@ "$ref": "#/components/schemas/Integration.Attempt" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -5109,10 +5323,7 @@ ] } }, - "required": [ - "methodID", - "inputs" - ], + "required": ["methodID", "inputs"], "additionalProperties": false } } @@ -5123,9 +5334,7 @@ }, "/api/integration/{integrationID}/connect/oauth/{attemptID}": { "get": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.oauth.status", "parameters": [ { @@ -5201,10 +5410,7 @@ "$ref": "#/components/schemas/Integration.AttemptStatus" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -5235,9 +5441,7 @@ "summary": "Get OAuth attempt status" }, "delete": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.oauth.cancel", "parameters": [ { @@ -5329,9 +5533,7 @@ }, "/api/integration/{integrationID}/connect/oauth/{attemptID}/complete": { "post": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.oauth.complete", "parameters": [ { @@ -5453,9 +5655,7 @@ }, "/api/integration/{integrationID}/connect/command": { "post": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.command.connect", "parameters": [ { @@ -5523,10 +5723,7 @@ "$ref": "#/components/schemas/Integration.CommandAttempt" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -5582,9 +5779,7 @@ ] } }, - "required": [ - "methodID" - ], + "required": ["methodID"], "additionalProperties": false } } @@ -5595,9 +5790,7 @@ }, "/api/integration/{integrationID}/connect/command/{attemptID}": { "get": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.command.status", "parameters": [ { @@ -5673,10 +5866,7 @@ "$ref": "#/components/schemas/Integration.CommandAttemptStatus" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -5707,9 +5897,7 @@ "summary": "Get command attempt status" }, "delete": { - "tags": [ - "integration" - ], + "tags": ["integration"], "operationId": "v2.integration.command.cancel", "parameters": [ { @@ -5801,9 +5989,7 @@ }, "/api/mcp": { "get": { - "tags": [ - "mcp" - ], + "tags": ["mcp"], "operationId": "v2.mcp.list", "parameters": [ { @@ -5866,10 +6052,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -5902,9 +6085,7 @@ }, "/api/mcp/{server}": { "put": { - "tags": [ - "mcp" - ], + "tags": ["mcp"], "operationId": "v2.mcp.add", "parameters": [ { @@ -6001,9 +6182,7 @@ ] } }, - "required": [ - "config" - ], + "required": ["config"], "additionalProperties": false } } @@ -6012,9 +6191,7 @@ } }, "delete": { - "tags": [ - "mcp" - ], + "tags": ["mcp"], "operationId": "v2.mcp.remove", "parameters": [ { @@ -6108,9 +6285,7 @@ }, "/api/mcp/{server}/connect": { "post": { - "tags": [ - "mcp" - ], + "tags": ["mcp"], "operationId": "v2.mcp.connect", "parameters": [ { @@ -6204,9 +6379,7 @@ }, "/api/mcp/{server}/disconnect": { "post": { - "tags": [ - "mcp" - ], + "tags": ["mcp"], "operationId": "v2.mcp.disconnect", "parameters": [ { @@ -6300,9 +6473,7 @@ }, "/api/mcp/resource": { "get": { - "tags": [ - "mcp" - ], + "tags": ["mcp"], "operationId": "v2.mcp.resource.catalog", "parameters": [ { @@ -6362,10 +6533,7 @@ "$ref": "#/components/schemas/Mcp.ResourceCatalog" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -6398,9 +6566,7 @@ }, "/api/credential/{credentialID}": { "patch": { - "tags": [ - "credential" - ], + "tags": ["credential"], "operationId": "v2.credential.update", "parameters": [ { @@ -6490,9 +6656,7 @@ "type": "string" } }, - "required": [ - "label" - ], + "required": ["label"], "additionalProperties": false } } @@ -6501,9 +6665,7 @@ } }, "delete": { - "tags": [ - "credential" - ], + "tags": ["credential"], "operationId": "v2.credential.remove", "parameters": [ { @@ -6587,9 +6749,7 @@ }, "/api/project": { "get": { - "tags": [ - "project" - ], + "tags": ["project"], "operationId": "v2.project.list", "parameters": [], "security": [], @@ -6634,9 +6794,7 @@ }, "/api/project/current": { "get": { - "tags": [ - "project" - ], + "tags": ["project"], "operationId": "v2.project.current", "parameters": [ { @@ -6719,9 +6877,7 @@ }, "/api/project/{projectID}/directories": { "get": { - "tags": [ - "project" - ], + "tags": ["project"], "operationId": "v2.project.directories", "parameters": [ { @@ -6812,9 +6968,7 @@ }, "/api/form/request": { "get": { - "tags": [ - "form" - ], + "tags": ["form"], "operationId": "v2.form.request.list", "parameters": [ { @@ -6877,10 +7031,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -6913,9 +7064,7 @@ }, "/api/session/{sessionID}/form": { "get": { - "tags": [ - "form" - ], + "tags": ["form"], "operationId": "v2.session.form.list", "parameters": [ { @@ -6943,9 +7092,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -6993,9 +7140,7 @@ "summary": "List session forms" }, "post": { - "tags": [ - "form" - ], + "tags": ["form"], "operationId": "v2.session.form.create", "parameters": [ { @@ -7020,9 +7165,7 @@ "$ref": "#/components/schemas/Form.Info" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -7099,9 +7242,7 @@ }, "/api/session/{sessionID}/form/{formID}": { "get": { - "tags": [ - "form" - ], + "tags": ["form"], "operationId": "v2.session.form.get", "parameters": [ { @@ -7139,9 +7280,7 @@ "$ref": "#/components/schemas/Form.Info" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -7194,9 +7333,7 @@ }, "/api/session/{sessionID}/form/{formID}/state": { "get": { - "tags": [ - "form" - ], + "tags": ["form"], "operationId": "v2.session.form.state", "parameters": [ { @@ -7234,9 +7371,7 @@ "$ref": "#/components/schemas/Form.State" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -7289,9 +7424,7 @@ }, "/api/session/{sessionID}/form/{formID}/reply": { "post": { - "tags": [ - "form" - ], + "tags": ["form"], "operationId": "v2.session.form.reply", "parameters": [ { @@ -7395,9 +7528,7 @@ }, "/api/session/{sessionID}/form/{formID}/cancel": { "post": { - "tags": [ - "form" - ], + "tags": ["form"], "operationId": "v2.session.form.cancel", "parameters": [ { @@ -7484,9 +7615,7 @@ }, "/api/permission/request": { "get": { - "tags": [ - "permission" - ], + "tags": ["permission"], "operationId": "v2.permission.request.list", "parameters": [ { @@ -7549,10 +7678,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -7585,9 +7711,7 @@ }, "/api/permission/saved": { "get": { - "tags": [ - "permission" - ], + "tags": ["permission"], "operationId": "v2.permission.saved.list", "parameters": [ { @@ -7622,9 +7746,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -7657,9 +7779,7 @@ }, "/api/permission/saved/{id}": { "delete": { - "tags": [ - "permission" - ], + "tags": ["permission"], "operationId": "v2.permission.saved.remove", "parameters": [ { @@ -7703,9 +7823,7 @@ }, "/api/session/{sessionID}/permission": { "post": { - "tags": [ - "permission" - ], + "tags": ["permission"], "operationId": "v2.session.permission.create", "parameters": [ { @@ -7746,16 +7864,11 @@ "$ref": "#/components/schemas/Permission.Effect" } }, - "required": [ - "id", - "effect" - ], + "required": ["id", "effect"], "additionalProperties": false } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -7854,10 +7967,7 @@ ] } }, - "required": [ - "action", - "resources" - ], + "required": ["action", "resources"], "additionalProperties": false } } @@ -7866,9 +7976,7 @@ } }, "get": { - "tags": [ - "permission" - ], + "tags": ["permission"], "operationId": "v2.session.permission.list", "parameters": [ { @@ -7901,9 +8009,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -7953,9 +8059,7 @@ }, "/api/session/{sessionID}/permission/{requestID}": { "get": { - "tags": [ - "permission" - ], + "tags": ["permission"], "operationId": "v2.session.permission.get", "parameters": [ { @@ -7998,9 +8102,7 @@ "$ref": "#/components/schemas/Permission.Request" } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -8053,9 +8155,7 @@ }, "/api/session/{sessionID}/permission/{requestID}/reply": { "post": { - "tags": [ - "permission" - ], + "tags": ["permission"], "operationId": "v2.session.permission.reply", "parameters": [ { @@ -8153,9 +8253,7 @@ ] } }, - "required": [ - "reply" - ], + "required": ["reply"], "additionalProperties": false } } @@ -8166,9 +8264,7 @@ }, "/api/fs/read/*": { "get": { - "tags": [ - "filesystem" - ], + "tags": ["filesystem"], "operationId": "v2.fs.read", "parameters": [ { @@ -8252,9 +8348,7 @@ }, "/api/fs/list": { "get": { - "tags": [ - "filesystem" - ], + "tags": ["filesystem"], "operationId": "v2.fs.list", "parameters": [ { @@ -8332,10 +8426,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -8368,9 +8459,7 @@ }, "/api/fs/find": { "get": { - "tags": [ - "filesystem" - ], + "tags": ["filesystem"], "operationId": "v2.fs.find", "parameters": [ { @@ -8426,10 +8515,7 @@ "in": "query", "schema": { "type": "string", - "enum": [ - "file", - "directory" - ] + "enum": ["file", "directory"] }, "required": false }, @@ -8468,10 +8554,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -8504,9 +8587,7 @@ }, "/api/command": { "get": { - "tags": [ - "command" - ], + "tags": ["command"], "operationId": "v2.command.list", "parameters": [ { @@ -8569,10 +8650,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -8605,9 +8683,7 @@ }, "/api/skill": { "get": { - "tags": [ - "skill" - ], + "tags": ["skill"], "operationId": "v2.skill.list", "parameters": [ { @@ -8670,10 +8746,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -8706,9 +8779,7 @@ }, "/api/event": { "get": { - "tags": [ - "event" - ], + "tags": ["event"], "operationId": "v2.event.subscribe", "parameters": [], "security": [], @@ -8737,11 +8808,7 @@ "$ref": "#/components/schemas/V2EventJsonString" } }, - "required": [ - "id", - "event", - "data" - ], + "required": ["id", "event", "data"], "additionalProperties": false }, "x-effect-stream": { @@ -8755,18 +8822,13 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "Fail" - ] + "enum": ["Fail"] }, "error": { "not": {} } }, - "required": [ - "_tag", - "error" - ], + "required": ["_tag", "error"], "additionalProperties": false }, { @@ -8774,16 +8836,11 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "Die" - ] + "enum": ["Die"] }, "defect": {} }, - "required": [ - "_tag", - "defect" - ], + "required": ["_tag", "defect"], "additionalProperties": false }, { @@ -8791,9 +8848,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "Interrupt" - ] + "enum": ["Interrupt"] }, "fiberId": { "anyOf": [ @@ -8806,10 +8861,7 @@ ] } }, - "required": [ - "_tag", - "fiberId" - ], + "required": ["_tag", "fiberId"], "additionalProperties": false } ] @@ -8850,9 +8902,7 @@ }, "/api/pty": { "get": { - "tags": [ - "pty" - ], + "tags": ["pty"], "operationId": "v2.pty.list", "parameters": [ { @@ -8915,10 +8965,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -8949,9 +8996,7 @@ "summary": "List PTY sessions" }, "post": { - "tags": [ - "pty" - ], + "tags": ["pty"], "operationId": "v2.pty.create", "parameters": [ { @@ -9011,10 +9056,7 @@ "$ref": "#/components/schemas/Pty" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -9081,9 +9123,7 @@ }, "/api/pty/{ptyID}": { "get": { - "tags": [ - "pty" - ], + "tags": ["pty"], "operationId": "v2.pty.get", "parameters": [ { @@ -9156,10 +9196,7 @@ "$ref": "#/components/schemas/Pty" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -9200,9 +9237,7 @@ "summary": "Get PTY session" }, "put": { - "tags": [ - "pty" - ], + "tags": ["pty"], "operationId": "v2.pty.update", "parameters": [ { @@ -9275,10 +9310,7 @@ "$ref": "#/components/schemas/Pty" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -9346,10 +9378,7 @@ ] } }, - "required": [ - "rows", - "cols" - ], + "required": ["rows", "cols"], "additionalProperties": false } }, @@ -9361,9 +9390,7 @@ } }, "delete": { - "tags": [ - "pty" - ], + "tags": ["pty"], "operationId": "v2.pty.remove", "parameters": [ { @@ -9462,9 +9489,7 @@ }, "/api/pty/{ptyID}/connect-token": { "post": { - "tags": [ - "pty" - ], + "tags": ["pty"], "operationId": "v2.pty.connect.token", "parameters": [ { @@ -9537,10 +9562,7 @@ "$ref": "#/components/schemas/PtyTicket.ConnectToken" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -9593,9 +9615,7 @@ }, "/api/pty/{ptyID}/connect": { "get": { - "tags": [ - "pty" - ], + "tags": ["pty"], "operationId": "v2.pty.connect", "parameters": [ { @@ -9700,9 +9720,7 @@ }, "/api/shell": { "get": { - "tags": [ - "shell" - ], + "tags": ["shell"], "operationId": "v2.shell.list", "parameters": [ { @@ -9765,10 +9783,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -9799,9 +9814,7 @@ "summary": "List running shell commands" }, "post": { - "tags": [ - "shell" - ], + "tags": ["shell"], "operationId": "v2.shell.create", "parameters": [ { @@ -9861,10 +9874,7 @@ "$ref": "#/components/schemas/Shell.Info1" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -9917,10 +9927,7 @@ "type": "object" } }, - "required": [ - "command", - "timeout" - ], + "required": ["command", "timeout"], "additionalProperties": false } } @@ -9931,9 +9938,7 @@ }, "/api/shell/{id}": { "get": { - "tags": [ - "shell" - ], + "tags": ["shell"], "operationId": "v2.shell.get", "parameters": [ { @@ -10006,10 +10011,7 @@ "$ref": "#/components/schemas/Shell.Info1" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -10050,9 +10052,7 @@ "summary": "Get shell command" }, "delete": { - "tags": [ - "shell" - ], + "tags": ["shell"], "operationId": "v2.shell.remove", "parameters": [ { @@ -10151,9 +10151,7 @@ }, "/api/shell/{id}/timeout": { "patch": { - "tags": [ - "shell" - ], + "tags": ["shell"], "operationId": "v2.shell.timeout", "parameters": [ { @@ -10226,10 +10224,7 @@ "$ref": "#/components/schemas/Shell.Info1" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -10283,9 +10278,7 @@ ] } }, - "required": [ - "timeout" - ], + "required": ["timeout"], "additionalProperties": false } } @@ -10296,9 +10289,7 @@ }, "/api/shell/{id}/output": { "get": { - "tags": [ - "shell" - ], + "tags": ["shell"], "operationId": "v2.shell.output", "parameters": [ { @@ -10419,19 +10410,11 @@ "type": "boolean" } }, - "required": [ - "output", - "cursor", - "size", - "truncated" - ], + "required": ["output", "cursor", "size", "truncated"], "additionalProperties": false } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -10474,9 +10457,7 @@ }, "/api/question/request": { "get": { - "tags": [ - "question" - ], + "tags": ["question"], "operationId": "v2.question.request.list", "parameters": [ { @@ -10539,10 +10520,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -10575,9 +10553,7 @@ }, "/api/session/{sessionID}/question": { "get": { - "tags": [ - "question" - ], + "tags": ["question"], "operationId": "v2.session.question.list", "parameters": [ { @@ -10610,9 +10586,7 @@ } } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false } } @@ -10662,9 +10636,7 @@ }, "/api/session/{sessionID}/question/{requestID}/reply": { "post": { - "tags": [ - "question" - ], + "tags": ["question"], "operationId": "v2.session.question.reply", "parameters": [ { @@ -10756,9 +10728,7 @@ }, "/api/session/{sessionID}/question/{requestID}/reject": { "post": { - "tags": [ - "question" - ], + "tags": ["question"], "operationId": "v2.session.question.reject", "parameters": [ { @@ -10840,9 +10810,7 @@ }, "/api/reference": { "get": { - "tags": [ - "reference" - ], + "tags": ["reference"], "operationId": "v2.reference.list", "parameters": [ { @@ -10905,10 +10873,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -10941,9 +10906,7 @@ }, "/experimental/project/{projectID}/copy": { "post": { - "tags": [ - "projectCopy" - ], + "tags": ["projectCopy"], "operationId": "v2.projectCopy.create", "parameters": [ { @@ -11051,10 +11014,7 @@ "type": "string" } }, - "required": [ - "strategy", - "directory" - ], + "required": ["strategy", "directory"], "additionalProperties": false } } @@ -11063,9 +11023,7 @@ } }, "delete": { - "tags": [ - "projectCopy" - ], + "tags": ["projectCopy"], "operationId": "v2.projectCopy.remove", "parameters": [ { @@ -11163,10 +11121,7 @@ "type": "boolean" } }, - "required": [ - "directory", - "force" - ], + "required": ["directory", "force"], "additionalProperties": false } } @@ -11177,9 +11132,7 @@ }, "/experimental/project/{projectID}/copy/refresh": { "post": { - "tags": [ - "projectCopy" - ], + "tags": ["projectCopy"], "operationId": "v2.projectCopy.refresh", "parameters": [ { @@ -11268,9 +11221,7 @@ }, "/api/vcs": { "get": { - "tags": [ - "vcs" - ], + "tags": ["vcs"], "operationId": "v2.vcs.get", "parameters": [ { @@ -11330,10 +11281,7 @@ "$ref": "#/components/schemas/Vcs.Info" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -11366,9 +11314,7 @@ }, "/api/vcs/status": { "get": { - "tags": [ - "vcs" - ], + "tags": ["vcs"], "operationId": "v2.vcs.status", "parameters": [ { @@ -11431,10 +11377,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -11467,9 +11410,7 @@ }, "/api/vcs/diff": { "get": { - "tags": [ - "vcs" - ], + "tags": ["vcs"], "operationId": "v2.vcs.diff", "parameters": [ { @@ -11555,10 +11496,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -11591,9 +11529,7 @@ }, "/api/debug/location": { "get": { - "tags": [ - "debug" - ], + "tags": ["debug"], "operationId": "v2.debug.location.list", "parameters": [], "security": [], @@ -11636,9 +11572,7 @@ "summary": "List loaded locations" }, "delete": { - "tags": [ - "debug" - ], + "tags": ["debug"], "operationId": "v2.debug.location.evict", "parameters": [ { @@ -11714,9 +11648,7 @@ }, "/api/experimental/migration/v1": { "get": { - "tags": [ - "migration" - ], + "tags": ["migration"], "operationId": "v2.experimental.migration.v1.status", "parameters": [], "security": [], @@ -11732,15 +11664,10 @@ "properties": { "status": { "type": "string", - "enum": [ - "required", - "completed" - ] + "enum": ["required", "completed"] } }, - "required": [ - "status" - ], + "required": ["status"], "additionalProperties": false }, { @@ -11748,9 +11675,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "running" - ] + "enum": ["running"] }, "progress": { "type": "object", @@ -11789,16 +11714,11 @@ ] } }, - "required": [ - "label" - ], + "required": ["label"], "additionalProperties": false } }, - "required": [ - "status", - "progress" - ], + "required": ["status", "progress"], "additionalProperties": false }, { @@ -11806,18 +11726,13 @@ "properties": { "status": { "type": "string", - "enum": [ - "error" - ] + "enum": ["error"] }, "error": { "type": "string" } }, - "required": [ - "status", - "error" - ], + "required": ["status", "error"], "additionalProperties": false } ] @@ -11852,9 +11767,7 @@ }, "/api/websearch/provider": { "get": { - "tags": [ - "websearch" - ], + "tags": ["websearch"], "operationId": "v2.websearch.providers", "parameters": [ { @@ -11917,10 +11830,7 @@ } } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -11963,9 +11873,7 @@ }, "/api/websearch": { "post": { - "tags": [ - "websearch" - ], + "tags": ["websearch"], "operationId": "v2.websearch.query", "parameters": [ { @@ -12025,10 +11933,7 @@ "$ref": "#/components/schemas/WebSearch.Response" } }, - "required": [ - "location", - "data" - ], + "required": ["location", "data"], "additionalProperties": false } } @@ -12087,9 +11992,7 @@ "type": "string" } }, - "required": [ - "query" - ], + "required": ["query"], "additionalProperties": false } } @@ -12100,9 +12003,7 @@ }, "/api/config": { "get": { - "tags": [ - "config" - ], + "tags": ["config"], "operationId": "v2.config.get", "parameters": [ { @@ -12194,9 +12095,7 @@ "properties": { "healthy": { "type": "boolean", - "enum": [ - true - ] + "enum": [true] }, "version": { "type": "string" @@ -12210,11 +12109,7 @@ ] } }, - "required": [ - "healthy", - "version", - "pid" - ], + "required": ["healthy", "version", "pid"], "additionalProperties": false }, "UnauthorizedError": { @@ -12222,18 +12117,13 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "UnauthorizedError" - ] + "enum": ["UnauthorizedError"] }, "message": { "type": "string" } }, - "required": [ - "_tag", - "message" - ], + "required": ["_tag", "message"], "additionalProperties": false }, "InvalidRequestError": { @@ -12241,9 +12131,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "InvalidRequestError" - ] + "enum": ["InvalidRequestError"] }, "message": { "type": "string" @@ -12269,10 +12157,7 @@ ] } }, - "required": [ - "_tag", - "message" - ], + "required": ["_tag", "message"], "additionalProperties": false }, "ServiceStopRequest": { @@ -12282,9 +12167,7 @@ "type": "string" } }, - "required": [ - "instanceID" - ], + "required": ["instanceID"], "additionalProperties": false }, "ServiceStopResponse": { @@ -12294,9 +12177,7 @@ "type": "boolean" } }, - "required": [ - "accepted" - ], + "required": ["accepted"], "additionalProperties": false }, "Location.Info": { @@ -12326,18 +12207,11 @@ "type": "string" } }, - "required": [ - "id", - "directory", - "canonical" - ], + "required": ["id", "directory", "canonical"], "additionalProperties": false } }, - "required": [ - "directory", - "project" - ], + "required": ["directory", "project"], "additionalProperties": false }, "Model.Ref": { @@ -12353,10 +12227,7 @@ "type": "string" } }, - "required": [ - "id", - "providerID" - ], + "required": ["id", "providerID"], "additionalProperties": false }, "Provider.Settings": { @@ -12378,11 +12249,7 @@ "type": "object" } }, - "required": [ - "settings", - "headers", - "body" - ], + "required": ["settings", "headers", "body"], "additionalProperties": false }, "Agent.Color": { @@ -12390,11 +12257,7 @@ }, "Permission.Effect": { "type": "string", - "enum": [ - "allow", - "deny", - "ask" - ] + "enum": ["allow", "deny", "ask"] }, "Permission.Rule": { "type": "object", @@ -12409,11 +12272,7 @@ "$ref": "#/components/schemas/Permission.Effect" } }, - "required": [ - "action", - "resource", - "effect" - ], + "required": ["action", "resource", "effect"], "additionalProperties": false }, "Permission.Ruleset": { @@ -12445,11 +12304,7 @@ }, "mode": { "type": "string", - "enum": [ - "subagent", - "primary", - "all" - ] + "enum": ["subagent", "primary", "all"] }, "hidden": { "type": "boolean" @@ -12469,14 +12324,7 @@ "$ref": "#/components/schemas/Permission.Ruleset" } }, - "required": [ - "id", - "name", - "request", - "mode", - "hidden", - "permissions" - ], + "required": ["id", "name", "request", "mode", "hidden", "permissions"], "additionalProperties": false }, "AgentNotFoundError": { @@ -12484,9 +12332,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "AgentNotFoundError" - ] + "enum": ["AgentNotFoundError"] }, "agentID": { "type": "string" @@ -12495,11 +12341,7 @@ "type": "string" } }, - "required": [ - "_tag", - "agentID", - "message" - ], + "required": ["_tag", "agentID", "message"], "additionalProperties": false }, "Plugin.Info": { @@ -12509,9 +12351,7 @@ "type": "string" } }, - "required": [ - "id" - ], + "required": ["id"], "additionalProperties": false }, "Session.ForkBoundary": { @@ -12521,9 +12361,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "before" - ] + "enum": ["before"] }, "messageID": { "type": "string", @@ -12534,10 +12372,7 @@ ] } }, - "required": [ - "type", - "messageID" - ], + "required": ["type", "messageID"], "additionalProperties": false }, { @@ -12545,9 +12380,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "through" - ] + "enum": ["through"] }, "messageID": { "type": "string", @@ -12558,10 +12391,7 @@ ] } }, - "required": [ - "type", - "messageID" - ], + "required": ["type", "messageID"], "additionalProperties": false } ] @@ -12591,19 +12421,11 @@ "type": "number" } }, - "required": [ - "read", - "write" - ], + "required": ["read", "write"], "additionalProperties": false } }, - "required": [ - "input", - "output", - "reasoning", - "cache" - ], + "required": ["input", "output", "reasoning", "cache"], "additionalProperties": false }, "Location.Ref": { @@ -12621,9 +12443,7 @@ ] } }, - "required": [ - "directory" - ], + "required": ["directory"], "additionalProperties": false }, "FileDiff.Info": { @@ -12653,20 +12473,10 @@ }, "status": { "type": "string", - "enum": [ - "added", - "deleted", - "modified" - ] + "enum": ["added", "deleted", "modified"] } }, - "required": [ - "file", - "patch", - "additions", - "deletions", - "status" - ], + "required": ["file", "patch", "additions", "deletions", "status"], "additionalProperties": false }, "Session.Revert": { @@ -12693,9 +12503,7 @@ } } }, - "required": [ - "messageID" - ], + "required": ["messageID"], "additionalProperties": false }, "Session.Info": { @@ -12732,10 +12540,7 @@ "$ref": "#/components/schemas/Session.ForkBoundary" } }, - "required": [ - "sessionID", - "boundary" - ], + "required": ["sessionID", "boundary"], "additionalProperties": false }, "projectID": { @@ -12766,10 +12571,7 @@ "type": "number" } }, - "required": [ - "created", - "updated" - ], + "required": ["created", "updated"], "additionalProperties": false }, "title": { @@ -12785,14 +12587,7 @@ "$ref": "#/components/schemas/Session.Revert" } }, - "required": [ - "id", - "projectID", - "cost", - "tokens", - "time", - "location" - ], + "required": ["id", "projectID", "cost", "tokens", "time", "location"], "additionalProperties": false }, "SessionsResponse": { @@ -12831,10 +12626,7 @@ "additionalProperties": false } }, - "required": [ - "data", - "cursor" - ], + "required": ["data", "cursor"], "additionalProperties": false }, "InvalidCursorError": { @@ -12842,18 +12634,13 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "InvalidCursorError" - ] + "enum": ["InvalidCursorError"] }, "message": { "type": "string" } }, - "required": [ - "_tag", - "message" - ], + "required": ["_tag", "message"], "additionalProperties": false }, "InvalidRequestError1": { @@ -12861,9 +12648,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "InvalidRequestError" - ] + "enum": ["InvalidRequestError"] }, "message": { "type": "string" @@ -12889,608 +12674,7 @@ ] } }, - "required": [ - "_tag", - "message" - ], - "additionalProperties": false - }, - "SessionActive": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "running" - ] - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "SessionNotFoundError": { - "type": "object", - "properties": { - "_tag": { - "type": "string", - "enum": [ - "SessionNotFoundError" - ] - }, - "sessionID": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": [ - "_tag", - "sessionID", - "message" - ], - "additionalProperties": false - }, - "Session.ForkRequestBoundary": { - "anyOf": [ - { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "before" - ] - }, - "messageID": { - "type": "string", - "allOf": [ - { - "pattern": "^msg_" - } - ] - } - }, - "required": [ - "type", - "messageID" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "through" - ] - } - }, - "required": [ - "type" - ], - "additionalProperties": false - } - ] - }, - "MessageNotFoundError": { - "type": "object", - "properties": { - "_tag": { - "type": "string", - "enum": [ - "MessageNotFoundError" - ] - }, - "sessionID": { - "type": "string" - }, - "messageID": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": [ - "_tag", - "sessionID", - "messageID", - "message" - ], - "additionalProperties": false - }, - "Prompt.Mention": { - "type": "object", - "properties": { - "start": { - "type": "number" - }, - "end": { - "type": "number" - }, - "text": { - "type": "string" - } - }, - "required": [ - "start", - "end", - "text" - ], - "additionalProperties": false - }, - "PromptInput.FileAttachment": { - "type": "object", - "properties": { - "uri": { - "type": "string" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "mention": { - "$ref": "#/components/schemas/Prompt.Mention" - } - }, - "required": [ - "uri" - ], - "additionalProperties": false - }, - "Prompt.AgentAttachment": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "mention": { - "$ref": "#/components/schemas/Prompt.Mention" - } - }, - "required": [ - "name" - ], - "additionalProperties": false - }, - "Prompt.Base64": { - "type": "string", - "allOf": [ - { - "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$" - } - ] - }, - "Prompt.FileSource": { - "anyOf": [ - { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "inline" - ] - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "uri" - ] - }, - "uri": { - "type": "string" - } - }, - "required": [ - "type", - "uri" - ], - "additionalProperties": false - } - ] - }, - "Prompt.FileAttachment": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/Prompt.Base64" - }, - "mime": { - "type": "string" - }, - "source": { - "$ref": "#/components/schemas/Prompt.FileSource" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "mention": { - "$ref": "#/components/schemas/Prompt.Mention" - } - }, - "required": [ - "data", - "mime", - "source" - ], - "additionalProperties": false - }, - "SessionPending.UserData": { - "type": "object", - "properties": { - "text": { - "type": "string" - }, - "files": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Prompt.FileAttachment" - } - }, - "agents": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Prompt.AgentAttachment" - } - }, - "metadata": { - "type": "object" - } - }, - "required": [ - "text" - ], - "additionalProperties": false - }, - "SessionPending.User": { - "type": "object", - "properties": { - "id": { - "type": "string", - "allOf": [ - { - "pattern": "^msg_" - } - ] - }, - "sessionID": { - "type": "string", - "allOf": [ - { - "pattern": "^ses" - } - ] - }, - "timeCreated": { - "type": "number" - }, - "type": { - "type": "string", - "enum": [ - "user" - ] - }, - "data": { - "$ref": "#/components/schemas/SessionPending.UserData" - }, - "delivery": { - "type": "string", - "enum": [ - "steer", - "queue" - ] - } - }, - "required": [ - "id", - "sessionID", - "timeCreated", - "type", - "data", - "delivery" - ], - "additionalProperties": false - }, - "ConflictError": { - "type": "object", - "properties": { - "_tag": { - "type": "string", - "enum": [ - "ConflictError" - ] - }, - "message": { - "type": "string" - }, - "resource": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "_tag", - "message" - ], - "additionalProperties": false - }, - "CommandNotFoundError": { - "type": "object", - "properties": { - "_tag": { - "type": "string", - "enum": [ - "CommandNotFoundError" - ] - }, - "command": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": [ - "_tag", - "command", - "message" - ], - "additionalProperties": false - }, - "CommandEvaluationError": { - "type": "object", - "properties": { - "_tag": { - "type": "string", - "enum": [ - "CommandEvaluationError" - ] - }, - "command": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": [ - "_tag", - "command", - "message" - ], - "additionalProperties": false - }, - "SkillNotFoundError": { - "type": "object", - "properties": { - "_tag": { - "type": "string", - "enum": [ - "SkillNotFoundError" - ] - }, - "skill": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": [ - "_tag", - "skill", - "message" - ], - "additionalProperties": false - }, - "SessionPending.SyntheticData": { - "type": "object", - "properties": { - "text": { - "type": "string" - }, - "description": { - "type": "string" - }, - "metadata": { - "type": "object" - } - }, - "required": [ - "text" - ], - "additionalProperties": false - }, - "SessionPending.Synthetic": { - "type": "object", - "properties": { - "id": { - "type": "string", - "allOf": [ - { - "pattern": "^msg_" - } - ] - }, - "sessionID": { - "type": "string", - "allOf": [ - { - "pattern": "^ses" - } - ] - }, - "timeCreated": { - "type": "number" - }, - "type": { - "type": "string", - "enum": [ - "synthetic" - ] - }, - "data": { - "$ref": "#/components/schemas/SessionPending.SyntheticData" - }, - "delivery": { - "type": "string", - "enum": [ - "steer", - "queue" - ] - } - }, - "required": [ - "id", - "sessionID", - "timeCreated", - "type", - "data", - "delivery" - ], - "additionalProperties": false - }, - "SessionPending.Compaction": { - "type": "object", - "properties": { - "id": { - "type": "string", - "allOf": [ - { - "pattern": "^msg_" - } - ] - }, - "sessionID": { - "type": "string", - "allOf": [ - { - "pattern": "^ses" - } - ] - }, - "timeCreated": { - "type": "number" - }, - "type": { - "type": "string", - "enum": [ - "compaction" - ] - } - }, - "required": [ - "id", - "sessionID", - "timeCreated", - "type" - ], - "additionalProperties": false - }, - "ServiceUnavailableError": { - "type": "object", - "properties": { - "_tag": { - "type": "string", - "enum": [ - "ServiceUnavailableError" - ] - }, - "message": { - "type": "string" - }, - "service": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "_tag", - "message" - ], - "additionalProperties": false - }, - "SessionBusyError": { - "type": "object", - "properties": { - "_tag": { - "type": "string", - "enum": [ - "SessionBusyError" - ] - }, - "sessionID": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": [ - "_tag", - "sessionID", - "message" - ], - "additionalProperties": false - }, - "UnknownError": { - "type": "object", - "properties": { - "_tag": { - "type": "string", - "enum": [ - "UnknownError" - ] - }, - "message": { - "type": "string" - }, - "ref": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "_tag", - "message" - ], + "required": ["_tag", "message"], "additionalProperties": false }, "Session.Message.AgentSelected": { @@ -13514,27 +12698,18 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "type": { "type": "string", - "enum": [ - "agent-switched" - ] + "enum": ["agent-switched"] }, "agent": { "type": "string" } }, - "required": [ - "id", - "time", - "type", - "agent" - ], + "required": ["id", "time", "type", "agent"], "additionalProperties": false }, "Session.Message.ModelSelected": { @@ -13558,16 +12733,12 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "type": { "type": "string", - "enum": [ - "model-switched" - ] + "enum": ["model-switched"] }, "model": { "$ref": "#/components/schemas/Model.Ref" @@ -13576,12 +12747,98 @@ "$ref": "#/components/schemas/Model.Ref" } }, - "required": [ - "id", - "time", - "type", - "model" - ], + "required": ["id", "time", "type", "model"], + "additionalProperties": false + }, + "Prompt.Base64": { + "type": "string", + "allOf": [ + { + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$" + } + ] + }, + "Prompt.FileSource": { + "anyOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["inline"] + } + }, + "required": ["type"], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["uri"] + }, + "uri": { + "type": "string" + } + }, + "required": ["type", "uri"], + "additionalProperties": false + } + ] + }, + "Prompt.Mention": { + "type": "object", + "properties": { + "start": { + "type": "number" + }, + "end": { + "type": "number" + }, + "text": { + "type": "string" + } + }, + "required": ["start", "end", "text"], + "additionalProperties": false + }, + "Prompt.FileAttachment": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/Prompt.Base64" + }, + "mime": { + "type": "string" + }, + "source": { + "$ref": "#/components/schemas/Prompt.FileSource" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "mention": { + "$ref": "#/components/schemas/Prompt.Mention" + } + }, + "required": ["data", "mime", "source"], + "additionalProperties": false + }, + "Prompt.AgentAttachment": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "mention": { + "$ref": "#/components/schemas/Prompt.Mention" + } + }, + "required": ["name"], "additionalProperties": false }, "Session.Message.User": { @@ -13605,9 +12862,7 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "text": { @@ -13627,17 +12882,10 @@ }, "type": { "type": "string", - "enum": [ - "user" - ] + "enum": ["user"] } }, - "required": [ - "id", - "time", - "text", - "type" - ], + "required": ["id", "time", "text", "type"], "additionalProperties": false }, "Session.Message.Synthetic": { @@ -13661,9 +12909,7 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "text": { @@ -13674,17 +12920,10 @@ }, "type": { "type": "string", - "enum": [ - "synthetic" - ] + "enum": ["synthetic"] } }, - "required": [ - "id", - "time", - "text", - "type" - ], + "required": ["id", "time", "text", "type"], "additionalProperties": false }, "Session.Message.System": { @@ -13708,27 +12947,18 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "type": { "type": "string", - "enum": [ - "system" - ] + "enum": ["system"] }, "text": { "type": "string" } }, - "required": [ - "id", - "time", - "type", - "text" - ], + "required": ["id", "time", "type", "text"], "additionalProperties": false }, "Session.Message.Skill": { @@ -13752,16 +12982,12 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "type": { "type": "string", - "enum": [ - "skill" - ] + "enum": ["skill"] }, "skill": { "type": "string" @@ -13773,14 +12999,7 @@ "type": "string" } }, - "required": [ - "id", - "time", - "type", - "skill", - "name", - "text" - ], + "required": ["id", "time", "type", "skill", "name", "text"], "additionalProperties": false }, "Session.Message.Shell": { @@ -13807,16 +13026,12 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "type": { "type": "string", - "enum": [ - "shell" - ] + "enum": ["shell"] }, "shellID": { "type": "string", @@ -13831,12 +13046,7 @@ }, "status": { "type": "string", - "enum": [ - "running", - "exited", - "timeout", - "killed" - ] + "enum": ["running", "exited", "timeout", "killed"] }, "exit": { "anyOf": [ @@ -13847,31 +13057,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -13901,23 +13101,11 @@ "type": "boolean" } }, - "required": [ - "output", - "cursor", - "size", - "truncated" - ], + "required": ["output", "cursor", "size", "truncated"], "additionalProperties": false } }, - "required": [ - "id", - "time", - "type", - "shellID", - "command", - "status" - ], + "required": ["id", "time", "type", "shellID", "command", "status"], "additionalProperties": false }, "Session.Message.ProviderState": { @@ -13928,9 +13116,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "text" - ] + "enum": ["text"] }, "text": { "type": "string" @@ -13939,10 +13125,7 @@ "$ref": "#/components/schemas/Session.Message.ProviderState" } }, - "required": [ - "type", - "text" - ], + "required": ["type", "text"], "additionalProperties": false }, "Session.Message.Assistant.Reasoning": { @@ -13950,9 +13133,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "reasoning" - ] + "enum": ["reasoning"] }, "text": { "type": "string" @@ -13970,16 +13151,11 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false } }, - "required": [ - "type", - "text" - ], + "required": ["type", "text"], "additionalProperties": false }, "Session.Message.ToolState.Streaming": { @@ -13987,18 +13163,13 @@ "properties": { "status": { "type": "string", - "enum": [ - "streaming" - ] + "enum": ["streaming"] }, "input": { "type": "string" } }, - "required": [ - "status", - "input" - ], + "required": ["status", "input"], "additionalProperties": false }, "Session.Message.ToolState.Running": { @@ -14006,9 +13177,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "running" - ] + "enum": ["running"] }, "input": { "type": "object" @@ -14017,11 +13186,7 @@ "type": "object" } }, - "required": [ - "status", - "input", - "metadata" - ], + "required": ["status", "input", "metadata"], "additionalProperties": false }, "Tool.TextContent": { @@ -14029,18 +13194,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "text" - ] + "enum": ["text"] }, "text": { "type": "string" } }, - "required": [ - "type", - "text" - ], + "required": ["type", "text"], "additionalProperties": false }, "Tool.FileContent": { @@ -14048,9 +13208,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "file" - ] + "enum": ["file"] }, "uri": { "type": "string" @@ -14069,11 +13227,7 @@ ] } }, - "required": [ - "type", - "uri", - "mime" - ], + "required": ["type", "uri", "mime"], "additionalProperties": false }, "Tool.Content": { @@ -14091,9 +13245,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "completed" - ] + "enum": ["completed"] }, "input": { "type": "object" @@ -14114,11 +13266,7 @@ "type": "object" } }, - "required": [ - "status", - "input", - "content" - ], + "required": ["status", "input", "content"], "additionalProperties": false }, "Session.StructuredError": { @@ -14140,10 +13288,7 @@ ] } }, - "required": [ - "type", - "message" - ], + "required": ["type", "message"], "additionalProperties": false }, "Session.Message.ToolState.Error": { @@ -14151,9 +13296,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "error" - ] + "enum": ["error"] }, "input": { "type": "object" @@ -14177,11 +13320,7 @@ "type": "object" } }, - "required": [ - "status", - "input", - "error" - ], + "required": ["status", "input", "error"], "additionalProperties": false }, "Session.Message.Assistant.Tool": { @@ -14189,9 +13328,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "tool" - ] + "enum": ["tool"] }, "id": { "type": "string" @@ -14237,19 +13374,11 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false } }, - "required": [ - "type", - "id", - "name", - "state", - "time" - ], + "required": ["type", "id", "name", "state", "time"], "additionalProperties": false }, "Session.Message.Assistant.Retry": { @@ -14270,11 +13399,7 @@ "$ref": "#/components/schemas/Session.StructuredError" } }, - "required": [ - "attempt", - "at", - "error" - ], + "required": ["attempt", "at", "error"], "additionalProperties": false }, "Session.Message.Assistant": { @@ -14301,16 +13426,12 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "type": { "type": "string", - "enum": [ - "assistant" - ] + "enum": ["assistant"] }, "agent": { "type": "string" @@ -14354,14 +13475,7 @@ }, "finish": { "type": "string", - "enum": [ - "stop", - "length", - "tool-calls", - "content-filter", - "error", - "unknown" - ] + "enum": ["stop", "length", "tool-calls", "content-filter", "error", "unknown"] }, "cost": { "$ref": "#/components/schemas/Money.USD" @@ -14376,14 +13490,7 @@ "$ref": "#/components/schemas/Session.Message.Assistant.Retry" } }, - "required": [ - "id", - "time", - "type", - "agent", - "model", - "content" - ], + "required": ["id", "time", "type", "agent", "model", "content"], "additionalProperties": false }, "Session.Message.Compaction.Running": { @@ -14391,9 +13498,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "compaction" - ] + "enum": ["compaction"] }, "id": { "type": "string", @@ -14413,23 +13518,16 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "status": { "type": "string", - "enum": [ - "running" - ] + "enum": ["running"] }, "reason": { "type": "string", - "enum": [ - "auto", - "manual" - ] + "enum": ["auto", "manual"] }, "summary": { "type": "string" @@ -14438,15 +13536,7 @@ "type": "string" } }, - "required": [ - "type", - "id", - "time", - "status", - "reason", - "summary", - "recent" - ], + "required": ["type", "id", "time", "status", "reason", "summary", "recent"], "additionalProperties": false }, "Session.Message.Compaction.Completed": { @@ -14454,9 +13544,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "compaction" - ] + "enum": ["compaction"] }, "id": { "type": "string", @@ -14476,23 +13564,16 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "status": { "type": "string", - "enum": [ - "completed" - ] + "enum": ["completed"] }, "reason": { "type": "string", - "enum": [ - "auto", - "manual" - ] + "enum": ["auto", "manual"] }, "summary": { "type": "string" @@ -14501,15 +13582,7 @@ "type": "string" } }, - "required": [ - "type", - "id", - "time", - "status", - "reason", - "summary", - "recent" - ], + "required": ["type", "id", "time", "status", "reason", "summary", "recent"], "additionalProperties": false }, "Session.Message.Compaction.Failed": { @@ -14517,9 +13590,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "compaction" - ] + "enum": ["compaction"] }, "id": { "type": "string", @@ -14539,36 +13610,22 @@ "type": "number" } }, - "required": [ - "created" - ], + "required": ["created"], "additionalProperties": false }, "status": { "type": "string", - "enum": [ - "failed" - ] + "enum": ["failed"] }, "reason": { "type": "string", - "enum": [ - "auto", - "manual" - ] + "enum": ["auto", "manual"] }, "error": { "$ref": "#/components/schemas/Session.StructuredError" } }, - "required": [ - "type", - "id", - "time", - "status", - "reason", - "error" - ], + "required": ["type", "id", "time", "status", "reason", "error"], "additionalProperties": false }, "Session.Message.Compaction": { @@ -14615,6 +13672,408 @@ } ] }, + "ConflictError": { + "type": "object", + "properties": { + "_tag": { + "type": "string", + "enum": ["ConflictError"] + }, + "message": { + "type": "string" + }, + "resource": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "required": ["_tag", "message"], + "additionalProperties": false + }, + "SessionTransfer.Data": { + "type": "object", + "properties": { + "info": { + "$ref": "#/components/schemas/Session.Info" + }, + "messages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Session.Message.Info" + } + } + }, + "required": ["info", "messages"], + "additionalProperties": false + }, + "SessionNotFoundError": { + "type": "object", + "properties": { + "_tag": { + "type": "string", + "enum": ["SessionNotFoundError"] + }, + "sessionID": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": ["_tag", "sessionID", "message"], + "additionalProperties": false + }, + "UnknownError": { + "type": "object", + "properties": { + "_tag": { + "type": "string", + "enum": ["UnknownError"] + }, + "message": { + "type": "string" + }, + "ref": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "required": ["_tag", "message"], + "additionalProperties": false + }, + "SessionActive": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["running"] + } + }, + "required": ["type"], + "additionalProperties": false + }, + "Session.ForkRequestBoundary": { + "anyOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["before"] + }, + "messageID": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + } + }, + "required": ["type", "messageID"], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["through"] + } + }, + "required": ["type"], + "additionalProperties": false + } + ] + }, + "MessageNotFoundError": { + "type": "object", + "properties": { + "_tag": { + "type": "string", + "enum": ["MessageNotFoundError"] + }, + "sessionID": { + "type": "string" + }, + "messageID": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": ["_tag", "sessionID", "messageID", "message"], + "additionalProperties": false + }, + "PromptInput.FileAttachment": { + "type": "object", + "properties": { + "uri": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "mention": { + "$ref": "#/components/schemas/Prompt.Mention" + } + }, + "required": ["uri"], + "additionalProperties": false + }, + "SessionPending.UserData": { + "type": "object", + "properties": { + "text": { + "type": "string" + }, + "files": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Prompt.FileAttachment" + } + }, + "agents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Prompt.AgentAttachment" + } + }, + "metadata": { + "type": "object" + } + }, + "required": ["text"], + "additionalProperties": false + }, + "SessionPending.User": { + "type": "object", + "properties": { + "id": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + }, + "sessionID": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "timeCreated": { + "type": "number" + }, + "type": { + "type": "string", + "enum": ["user"] + }, + "data": { + "$ref": "#/components/schemas/SessionPending.UserData" + }, + "delivery": { + "type": "string", + "enum": ["steer", "queue"] + } + }, + "required": ["id", "sessionID", "timeCreated", "type", "data", "delivery"], + "additionalProperties": false + }, + "CommandNotFoundError": { + "type": "object", + "properties": { + "_tag": { + "type": "string", + "enum": ["CommandNotFoundError"] + }, + "command": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": ["_tag", "command", "message"], + "additionalProperties": false + }, + "CommandEvaluationError": { + "type": "object", + "properties": { + "_tag": { + "type": "string", + "enum": ["CommandEvaluationError"] + }, + "command": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": ["_tag", "command", "message"], + "additionalProperties": false + }, + "SkillNotFoundError": { + "type": "object", + "properties": { + "_tag": { + "type": "string", + "enum": ["SkillNotFoundError"] + }, + "skill": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": ["_tag", "skill", "message"], + "additionalProperties": false + }, + "SessionPending.SyntheticData": { + "type": "object", + "properties": { + "text": { + "type": "string" + }, + "description": { + "type": "string" + }, + "metadata": { + "type": "object" + } + }, + "required": ["text"], + "additionalProperties": false + }, + "SessionPending.Synthetic": { + "type": "object", + "properties": { + "id": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + }, + "sessionID": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "timeCreated": { + "type": "number" + }, + "type": { + "type": "string", + "enum": ["synthetic"] + }, + "data": { + "$ref": "#/components/schemas/SessionPending.SyntheticData" + }, + "delivery": { + "type": "string", + "enum": ["steer", "queue"] + } + }, + "required": ["id", "sessionID", "timeCreated", "type", "data", "delivery"], + "additionalProperties": false + }, + "SessionPending.Compaction": { + "type": "object", + "properties": { + "id": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + }, + "sessionID": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "timeCreated": { + "type": "number" + }, + "type": { + "type": "string", + "enum": ["compaction"] + } + }, + "required": ["id", "sessionID", "timeCreated", "type"], + "additionalProperties": false + }, + "ServiceUnavailableError": { + "type": "object", + "properties": { + "_tag": { + "type": "string", + "enum": ["ServiceUnavailableError"] + }, + "message": { + "type": "string" + }, + "service": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "required": ["_tag", "message"], + "additionalProperties": false + }, + "SessionBusyError": { + "type": "object", + "properties": { + "_tag": { + "type": "string", + "enum": ["SessionBusyError"] + }, + "sessionID": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": ["_tag", "sessionID", "message"], + "additionalProperties": false + }, "SessionPending.Info": { "anyOf": [ { @@ -14645,10 +14104,7 @@ }, "value": {} }, - "required": [ - "key", - "value" - ], + "required": ["key", "value"], "additionalProperties": false }, "InstructionEntryValueTooLargeError": { @@ -14656,9 +14112,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "InstructionEntryValueTooLargeError" - ] + "enum": ["InstructionEntryValueTooLargeError"] }, "actualBytes": { "type": "integer" @@ -14670,12 +14124,7 @@ "type": "string" } }, - "required": [ - "_tag", - "actualBytes", - "maxBytes", - "message" - ], + "required": ["_tag", "actualBytes", "maxBytes", "message"], "additionalProperties": false }, "SessionGenerateResponse": { @@ -14688,15 +14137,11 @@ "type": "string" } }, - "required": [ - "text" - ], + "required": ["text"], "additionalProperties": false } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false }, "session.created": { @@ -14718,9 +14163,7 @@ }, "type": { "type": "string", - "enum": [ - "session.created" - ] + "enum": ["session.created"] }, "durable": { "type": "object", @@ -14738,16 +14181,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -14797,23 +14234,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "projectID", - "location", - "slug", - "version" - ], + "required": ["sessionID", "projectID", "location", "slug", "version"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.agent.selected": { @@ -14835,9 +14260,7 @@ }, "type": { "type": "string", - "enum": [ - "session.agent.selected" - ] + "enum": ["session.agent.selected"] }, "durable": { "type": "object", @@ -14855,16 +14278,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -14885,20 +14302,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "agent" - ], + "required": ["sessionID", "agent"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.model.selected": { @@ -14920,9 +14328,7 @@ }, "type": { "type": "string", - "enum": [ - "session.model.selected" - ] + "enum": ["session.model.selected"] }, "durable": { "type": "object", @@ -14940,16 +14346,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -14970,20 +14370,11 @@ "$ref": "#/components/schemas/Model.Ref" } }, - "required": [ - "sessionID", - "model" - ], + "required": ["sessionID", "model"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.moved": { @@ -15005,9 +14396,7 @@ }, "type": { "type": "string", - "enum": [ - "session.moved" - ] + "enum": ["session.moved"] }, "durable": { "type": "object", @@ -15025,16 +14414,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15061,20 +14444,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "location" - ], + "required": ["sessionID", "location"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.renamed": { @@ -15096,9 +14470,7 @@ }, "type": { "type": "string", - "enum": [ - "session.renamed" - ] + "enum": ["session.renamed"] }, "durable": { "type": "object", @@ -15116,16 +14488,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15146,20 +14512,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "title" - ], + "required": ["sessionID", "title"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.deleted": { @@ -15181,9 +14538,7 @@ }, "type": { "type": "string", - "enum": [ - "session.deleted" - ] + "enum": ["session.deleted"] }, "durable": { "type": "object", @@ -15201,16 +14556,10 @@ }, "version": { "type": "number", - "enum": [ - 2 - ] + "enum": [2] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15228,19 +14577,11 @@ ] } }, - "required": [ - "sessionID" - ], + "required": ["sessionID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.forked": { @@ -15262,9 +14603,7 @@ }, "type": { "type": "string", - "enum": [ - "session.forked" - ] + "enum": ["session.forked"] }, "durable": { "type": "object", @@ -15282,16 +14621,10 @@ }, "version": { "type": "number", - "enum": [ - 2 - ] + "enum": [2] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15333,21 +14666,11 @@ } } }, - "required": [ - "sessionID", - "parentID", - "boundary" - ], + "required": ["sessionID", "parentID", "boundary"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.input.promoted": { @@ -15369,9 +14692,7 @@ }, "type": { "type": "string", - "enum": [ - "session.input.promoted" - ] + "enum": ["session.input.promoted"] }, "durable": { "type": "object", @@ -15389,16 +14710,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15424,20 +14739,11 @@ ] } }, - "required": [ - "sessionID", - "inputID" - ], + "required": ["sessionID", "inputID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "SessionPending.UserData1": { @@ -15462,9 +14768,7 @@ "type": "object" } }, - "required": [ - "text" - ], + "required": ["text"], "additionalProperties": false }, "SessionPending.UserMessage": { @@ -15472,26 +14776,17 @@ "properties": { "type": { "type": "string", - "enum": [ - "user" - ] + "enum": ["user"] }, "data": { "$ref": "#/components/schemas/SessionPending.UserData1" }, "delivery": { "type": "string", - "enum": [ - "steer", - "queue" - ] + "enum": ["steer", "queue"] } }, - "required": [ - "type", - "data", - "delivery" - ], + "required": ["type", "data", "delivery"], "additionalProperties": false }, "SessionPending.SyntheticData1": { @@ -15507,9 +14802,7 @@ "type": "object" } }, - "required": [ - "text" - ], + "required": ["text"], "additionalProperties": false }, "SessionPending.SyntheticMessage": { @@ -15517,26 +14810,17 @@ "properties": { "type": { "type": "string", - "enum": [ - "synthetic" - ] + "enum": ["synthetic"] }, "data": { "$ref": "#/components/schemas/SessionPending.SyntheticData1" }, "delivery": { "type": "string", - "enum": [ - "steer", - "queue" - ] + "enum": ["steer", "queue"] } }, - "required": [ - "type", - "data", - "delivery" - ], + "required": ["type", "data", "delivery"], "additionalProperties": false }, "SessionPending.Message": { @@ -15568,9 +14852,7 @@ }, "type": { "type": "string", - "enum": [ - "session.input.admitted" - ] + "enum": ["session.input.admitted"] }, "durable": { "type": "object", @@ -15588,16 +14870,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15626,21 +14902,230 @@ "$ref": "#/components/schemas/SessionPending.Message" } }, - "required": [ - "sessionID", - "inputID", - "input" - ], + "required": ["sessionID", "inputID", "input"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], + "additionalProperties": false + }, + "session.input.cancelled": { + "type": "object", + "properties": { + "id": { + "type": "string", + "allOf": [ + { + "pattern": "^evt_" + } + ] + }, + "created": { + "type": "number" + }, + "metadata": { + "type": "object" + }, + "type": { + "type": "string", + "enum": ["session.input.cancelled"] + }, + "durable": { + "type": "object", + "properties": { + "aggregateID": { + "type": "string" + }, + "seq": { + "type": "integer", + "allOf": [ + { + "minimum": 0 + } + ] + }, + "version": { + "type": "number", + "enum": [1] + } + }, + "required": ["aggregateID", "seq", "version"], + "additionalProperties": false + }, + "location": { + "$ref": "#/components/schemas/Location.Ref" + }, + "data": { + "type": "object", + "properties": { + "sessionID": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "inputID": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + } + }, + "required": ["sessionID", "inputID"], + "additionalProperties": false + } + }, + "required": ["id", "created", "type", "durable", "data"], + "additionalProperties": false + }, + "session.input.steered": { + "type": "object", + "properties": { + "id": { + "type": "string", + "allOf": [ + { + "pattern": "^evt_" + } + ] + }, + "created": { + "type": "number" + }, + "metadata": { + "type": "object" + }, + "type": { + "type": "string", + "enum": ["session.input.steered"] + }, + "durable": { + "type": "object", + "properties": { + "aggregateID": { + "type": "string" + }, + "seq": { + "type": "integer", + "allOf": [ + { + "minimum": 0 + } + ] + }, + "version": { + "type": "number", + "enum": [1] + } + }, + "required": ["aggregateID", "seq", "version"], + "additionalProperties": false + }, + "location": { + "$ref": "#/components/schemas/Location.Ref" + }, + "data": { + "type": "object", + "properties": { + "sessionID": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "inputID": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + } + }, + "required": ["sessionID", "inputID"], + "additionalProperties": false + } + }, + "required": ["id", "created", "type", "durable", "data"], + "additionalProperties": false + }, + "session.input.queued": { + "type": "object", + "properties": { + "id": { + "type": "string", + "allOf": [ + { + "pattern": "^evt_" + } + ] + }, + "created": { + "type": "number" + }, + "metadata": { + "type": "object" + }, + "type": { + "type": "string", + "enum": ["session.input.queued"] + }, + "durable": { + "type": "object", + "properties": { + "aggregateID": { + "type": "string" + }, + "seq": { + "type": "integer", + "allOf": [ + { + "minimum": 0 + } + ] + }, + "version": { + "type": "number", + "enum": [1] + } + }, + "required": ["aggregateID", "seq", "version"], + "additionalProperties": false + }, + "location": { + "$ref": "#/components/schemas/Location.Ref" + }, + "data": { + "type": "object", + "properties": { + "sessionID": { + "type": "string", + "allOf": [ + { + "pattern": "^ses" + } + ] + }, + "inputID": { + "type": "string", + "allOf": [ + { + "pattern": "^msg_" + } + ] + } + }, + "required": ["sessionID", "inputID"], + "additionalProperties": false + } + }, + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.execution.started": { @@ -15662,9 +15147,7 @@ }, "type": { "type": "string", - "enum": [ - "session.execution.started" - ] + "enum": ["session.execution.started"] }, "durable": { "type": "object", @@ -15682,16 +15165,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15709,19 +15186,11 @@ ] } }, - "required": [ - "sessionID" - ], + "required": ["sessionID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.execution.succeeded": { @@ -15743,9 +15212,7 @@ }, "type": { "type": "string", - "enum": [ - "session.execution.succeeded" - ] + "enum": ["session.execution.succeeded"] }, "durable": { "type": "object", @@ -15763,16 +15230,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15790,19 +15251,11 @@ ] } }, - "required": [ - "sessionID" - ], + "required": ["sessionID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.execution.failed": { @@ -15824,9 +15277,7 @@ }, "type": { "type": "string", - "enum": [ - "session.execution.failed" - ] + "enum": ["session.execution.failed"] }, "durable": { "type": "object", @@ -15844,16 +15295,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15874,20 +15319,11 @@ "$ref": "#/components/schemas/Session.StructuredError" } }, - "required": [ - "sessionID", - "error" - ], + "required": ["sessionID", "error"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.execution.interrupted": { @@ -15909,9 +15345,7 @@ }, "type": { "type": "string", - "enum": [ - "session.execution.interrupted" - ] + "enum": ["session.execution.interrupted"] }, "durable": { "type": "object", @@ -15929,16 +15363,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -15957,27 +15385,14 @@ }, "reason": { "type": "string", - "enum": [ - "user", - "shutdown", - "superseded" - ] + "enum": ["user", "shutdown", "superseded"] } }, - "required": [ - "sessionID", - "reason" - ], + "required": ["sessionID", "reason"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.instructions.updated": { @@ -15999,9 +15414,7 @@ }, "type": { "type": "string", - "enum": [ - "session.instructions.updated" - ] + "enum": ["session.instructions.updated"] }, "durable": { "type": "object", @@ -16019,16 +15432,10 @@ }, "version": { "type": "number", - "enum": [ - 2 - ] + "enum": [2] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16059,9 +15466,7 @@ }, { "type": "string", - "enum": [ - "removed" - ] + "enum": ["removed"] } ] } @@ -16070,20 +15475,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "delta" - ], + "required": ["sessionID", "delta"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.synthetic": { @@ -16105,9 +15501,7 @@ }, "type": { "type": "string", - "enum": [ - "session.synthetic" - ] + "enum": ["session.synthetic"] }, "durable": { "type": "object", @@ -16125,16 +15519,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16161,20 +15549,11 @@ "type": "object" } }, - "required": [ - "sessionID", - "text" - ], + "required": ["sessionID", "text"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.skill.activated": { @@ -16196,9 +15575,7 @@ }, "type": { "type": "string", - "enum": [ - "session.skill.activated" - ] + "enum": ["session.skill.activated"] }, "durable": { "type": "object", @@ -16216,16 +15593,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16252,22 +15623,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "id", - "name", - "text" - ], + "required": ["sessionID", "id", "name", "text"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Shell.Info": { @@ -16283,12 +15643,7 @@ }, "status": { "type": "string", - "enum": [ - "running", - "exited", - "timeout", - "killed" - ] + "enum": ["running", "exited", "timeout", "killed"] }, "command": { "type": "string" @@ -16326,22 +15681,11 @@ "type": "number" } }, - "required": [ - "started" - ], + "required": ["started"], "additionalProperties": false } }, - "required": [ - "id", - "status", - "command", - "cwd", - "shell", - "file", - "metadata", - "time" - ], + "required": ["id", "status", "command", "cwd", "shell", "file", "metadata", "time"], "additionalProperties": false }, "session.shell.started": { @@ -16363,9 +15707,7 @@ }, "type": { "type": "string", - "enum": [ - "session.shell.started" - ] + "enum": ["session.shell.started"] }, "durable": { "type": "object", @@ -16383,16 +15725,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16413,20 +15749,11 @@ "$ref": "#/components/schemas/Shell.Info" } }, - "required": [ - "sessionID", - "shell" - ], + "required": ["sessionID", "shell"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.shell.ended": { @@ -16448,9 +15775,7 @@ }, "type": { "type": "string", - "enum": [ - "session.shell.ended" - ] + "enum": ["session.shell.ended"] }, "durable": { "type": "object", @@ -16468,16 +15793,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16523,30 +15842,15 @@ "type": "boolean" } }, - "required": [ - "output", - "cursor", - "size", - "truncated" - ], + "required": ["output", "cursor", "size", "truncated"], "additionalProperties": false } }, - "required": [ - "sessionID", - "shell", - "output" - ], + "required": ["sessionID", "shell", "output"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.step.started": { @@ -16568,9 +15872,7 @@ }, "type": { "type": "string", - "enum": [ - "session.step.started" - ] + "enum": ["session.step.started"] }, "durable": { "type": "object", @@ -16588,16 +15890,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16632,22 +15928,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "assistantMessageID", - "agent", - "model" - ], + "required": ["sessionID", "assistantMessageID", "agent", "model"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.step.ended": { @@ -16669,9 +15954,7 @@ }, "type": { "type": "string", - "enum": [ - "session.step.ended" - ] + "enum": ["session.step.ended"] }, "durable": { "type": "object", @@ -16689,16 +15972,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16725,14 +16002,7 @@ }, "finish": { "type": "string", - "enum": [ - "stop", - "length", - "tool-calls", - "content-filter", - "error", - "unknown" - ] + "enum": ["stop", "length", "tool-calls", "content-filter", "error", "unknown"] }, "cost": { "$ref": "#/components/schemas/Money.USD" @@ -16750,23 +16020,11 @@ } } }, - "required": [ - "sessionID", - "assistantMessageID", - "finish", - "cost", - "tokens" - ], + "required": ["sessionID", "assistantMessageID", "finish", "cost", "tokens"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.step.failed": { @@ -16788,9 +16046,7 @@ }, "type": { "type": "string", - "enum": [ - "session.step.failed" - ] + "enum": ["session.step.failed"] }, "durable": { "type": "object", @@ -16808,16 +16064,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16861,21 +16111,11 @@ } } }, - "required": [ - "sessionID", - "assistantMessageID", - "error" - ], + "required": ["sessionID", "assistantMessageID", "error"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.text.started": { @@ -16897,9 +16137,7 @@ }, "type": { "type": "string", - "enum": [ - "session.text.started" - ] + "enum": ["session.text.started"] }, "durable": { "type": "object", @@ -16917,16 +16155,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -16960,21 +16192,11 @@ ] } }, - "required": [ - "sessionID", - "assistantMessageID", - "ordinal" - ], + "required": ["sessionID", "assistantMessageID", "ordinal"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Session.Message.ProviderState4": { @@ -16999,9 +16221,7 @@ }, "type": { "type": "string", - "enum": [ - "session.text.ended" - ] + "enum": ["session.text.ended"] }, "durable": { "type": "object", @@ -17019,16 +16239,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -17068,22 +16282,11 @@ "$ref": "#/components/schemas/Session.Message.ProviderState4" } }, - "required": [ - "sessionID", - "assistantMessageID", - "ordinal", - "text" - ], + "required": ["sessionID", "assistantMessageID", "ordinal", "text"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Session.Message.ProviderState5": { @@ -17108,9 +16311,7 @@ }, "type": { "type": "string", - "enum": [ - "session.reasoning.started" - ] + "enum": ["session.reasoning.started"] }, "durable": { "type": "object", @@ -17128,16 +16329,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -17174,21 +16369,11 @@ "$ref": "#/components/schemas/Session.Message.ProviderState5" } }, - "required": [ - "sessionID", - "assistantMessageID", - "ordinal" - ], + "required": ["sessionID", "assistantMessageID", "ordinal"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Session.Message.ProviderState6": { @@ -17213,9 +16398,7 @@ }, "type": { "type": "string", - "enum": [ - "session.reasoning.ended" - ] + "enum": ["session.reasoning.ended"] }, "durable": { "type": "object", @@ -17233,16 +16416,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -17282,22 +16459,11 @@ "$ref": "#/components/schemas/Session.Message.ProviderState6" } }, - "required": [ - "sessionID", - "assistantMessageID", - "ordinal", - "text" - ], + "required": ["sessionID", "assistantMessageID", "ordinal", "text"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.tool.input.started": { @@ -17319,9 +16485,7 @@ }, "type": { "type": "string", - "enum": [ - "session.tool.input.started" - ] + "enum": ["session.tool.input.started"] }, "durable": { "type": "object", @@ -17339,16 +16503,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -17380,22 +16538,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "assistantMessageID", - "id", - "name" - ], + "required": ["sessionID", "assistantMessageID", "id", "name"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.tool.input.ended": { @@ -17417,9 +16564,7 @@ }, "type": { "type": "string", - "enum": [ - "session.tool.input.ended" - ] + "enum": ["session.tool.input.ended"] }, "durable": { "type": "object", @@ -17437,16 +16582,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -17478,22 +16617,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "assistantMessageID", - "id", - "text" - ], + "required": ["sessionID", "assistantMessageID", "id", "text"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Session.Message.ProviderState7": { @@ -17518,9 +16646,7 @@ }, "type": { "type": "string", - "enum": [ - "session.tool.called" - ] + "enum": ["session.tool.called"] }, "durable": { "type": "object", @@ -17538,16 +16664,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -17585,23 +16705,11 @@ "$ref": "#/components/schemas/Session.Message.ProviderState7" } }, - "required": [ - "sessionID", - "assistantMessageID", - "id", - "input", - "executed" - ], + "required": ["sessionID", "assistantMessageID", "id", "input", "executed"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Tool.FileContent1": { @@ -17609,9 +16717,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "file" - ] + "enum": ["file"] }, "uri": { "type": "string" @@ -17630,11 +16736,7 @@ ] } }, - "required": [ - "type", - "uri", - "mime" - ], + "required": ["type", "uri", "mime"], "additionalProperties": false }, "Tool.Content1": { @@ -17669,9 +16771,7 @@ }, "type": { "type": "string", - "enum": [ - "session.tool.success" - ] + "enum": ["session.tool.success"] }, "durable": { "type": "object", @@ -17689,16 +16789,10 @@ }, "version": { "type": "number", - "enum": [ - 2 - ] + "enum": [2] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -17748,23 +16842,11 @@ "$ref": "#/components/schemas/Session.Message.ProviderState8" } }, - "required": [ - "sessionID", - "assistantMessageID", - "id", - "content", - "executed" - ], + "required": ["sessionID", "assistantMessageID", "id", "content", "executed"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Session.Message.ProviderState9": { @@ -17789,9 +16871,7 @@ }, "type": { "type": "string", - "enum": [ - "session.tool.failed" - ] + "enum": ["session.tool.failed"] }, "durable": { "type": "object", @@ -17809,16 +16889,10 @@ }, "version": { "type": "number", - "enum": [ - 2 - ] + "enum": [2] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -17871,23 +16945,11 @@ "$ref": "#/components/schemas/Session.Message.ProviderState9" } }, - "required": [ - "sessionID", - "assistantMessageID", - "id", - "error", - "executed" - ], + "required": ["sessionID", "assistantMessageID", "id", "error", "executed"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.retry.scheduled": { @@ -17909,9 +16971,7 @@ }, "type": { "type": "string", - "enum": [ - "session.retry.scheduled" - ] + "enum": ["session.retry.scheduled"] }, "durable": { "type": "object", @@ -17929,16 +16989,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -17983,23 +17037,11 @@ "$ref": "#/components/schemas/Session.StructuredError" } }, - "required": [ - "sessionID", - "assistantMessageID", - "attempt", - "at", - "error" - ], + "required": ["sessionID", "assistantMessageID", "attempt", "at", "error"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.compaction.admitted": { @@ -18021,9 +17063,7 @@ }, "type": { "type": "string", - "enum": [ - "session.compaction.admitted" - ] + "enum": ["session.compaction.admitted"] }, "durable": { "type": "object", @@ -18041,16 +17081,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -18076,20 +17110,11 @@ ] } }, - "required": [ - "sessionID", - "inputID" - ], + "required": ["sessionID", "inputID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.compaction.started": { @@ -18111,9 +17136,7 @@ }, "type": { "type": "string", - "enum": [ - "session.compaction.started" - ] + "enum": ["session.compaction.started"] }, "durable": { "type": "object", @@ -18131,16 +17154,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -18159,10 +17176,7 @@ }, "reason": { "type": "string", - "enum": [ - "auto", - "manual" - ] + "enum": ["auto", "manual"] }, "recent": { "type": "string" @@ -18176,21 +17190,11 @@ ] } }, - "required": [ - "sessionID", - "reason", - "recent" - ], + "required": ["sessionID", "reason", "recent"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.compaction.ended": { @@ -18212,9 +17216,7 @@ }, "type": { "type": "string", - "enum": [ - "session.compaction.ended" - ] + "enum": ["session.compaction.ended"] }, "durable": { "type": "object", @@ -18232,16 +17234,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -18260,10 +17256,7 @@ }, "reason": { "type": "string", - "enum": [ - "auto", - "manual" - ] + "enum": ["auto", "manual"] }, "text": { "type": "string" @@ -18272,22 +17265,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "reason", - "text", - "recent" - ], + "required": ["sessionID", "reason", "text", "recent"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.compaction.failed": { @@ -18309,9 +17291,7 @@ }, "type": { "type": "string", - "enum": [ - "session.compaction.failed" - ] + "enum": ["session.compaction.failed"] }, "durable": { "type": "object", @@ -18329,16 +17309,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -18357,10 +17331,7 @@ }, "reason": { "type": "string", - "enum": [ - "auto", - "manual" - ] + "enum": ["auto", "manual"] }, "error": { "$ref": "#/components/schemas/Session.StructuredError" @@ -18374,21 +17345,11 @@ ] } }, - "required": [ - "sessionID", - "reason", - "error" - ], + "required": ["sessionID", "reason", "error"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.revert.staged": { @@ -18410,9 +17371,7 @@ }, "type": { "type": "string", - "enum": [ - "session.revert.staged" - ] + "enum": ["session.revert.staged"] }, "durable": { "type": "object", @@ -18430,16 +17389,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -18460,20 +17413,11 @@ "$ref": "#/components/schemas/Session.Revert" } }, - "required": [ - "sessionID", - "revert" - ], + "required": ["sessionID", "revert"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.revert.cleared": { @@ -18495,9 +17439,7 @@ }, "type": { "type": "string", - "enum": [ - "session.revert.cleared" - ] + "enum": ["session.revert.cleared"] }, "durable": { "type": "object", @@ -18515,16 +17457,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -18542,19 +17478,11 @@ ] } }, - "required": [ - "sessionID" - ], + "required": ["sessionID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.revert.committed": { @@ -18576,9 +17504,7 @@ }, "type": { "type": "string", - "enum": [ - "session.revert.committed" - ] + "enum": ["session.revert.committed"] }, "durable": { "type": "object", @@ -18596,16 +17522,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -18631,20 +17551,11 @@ ] } }, - "required": [ - "sessionID", - "to" - ], + "required": ["sessionID", "to"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "session.usage.recorded": { @@ -18666,9 +17577,7 @@ }, "type": { "type": "string", - "enum": [ - "session.usage.recorded" - ] + "enum": ["session.usage.recorded"] }, "durable": { "type": "object", @@ -18686,16 +17595,10 @@ }, "version": { "type": "number", - "enum": [ - 1 - ] + "enum": [1] } }, - "required": [ - "aggregateID", - "seq", - "version" - ], + "required": ["aggregateID", "seq", "version"], "additionalProperties": false }, "location": { @@ -18714,10 +17617,7 @@ }, "source": { "type": "string", - "enum": [ - "title", - "compaction" - ] + "enum": ["title", "compaction"] }, "cost": { "$ref": "#/components/schemas/Money.USD" @@ -18726,22 +17626,11 @@ "$ref": "#/components/schemas/TokenUsage.Info" } }, - "required": [ - "sessionID", - "source", - "cost", - "tokens" - ], + "required": ["sessionID", "source", "cost", "tokens"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "durable", - "data" - ], + "required": ["id", "created", "type", "durable", "data"], "additionalProperties": false }, "Session.Event.Durable": { @@ -18773,6 +17662,15 @@ { "$ref": "#/components/schemas/session.input.admitted" }, + { + "$ref": "#/components/schemas/session.input.cancelled" + }, + { + "$ref": "#/components/schemas/session.input.steered" + }, + { + "$ref": "#/components/schemas/session.input.queued" + }, { "$ref": "#/components/schemas/session.execution.started" }, @@ -18870,9 +17768,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "log.synced" - ] + "enum": ["log.synced"] }, "aggregateID": { "type": "string" @@ -18886,10 +17782,7 @@ ] } }, - "required": [ - "type", - "aggregateID" - ], + "required": ["type", "aggregateID"], "additionalProperties": false, "description": "Marker emitted once when a log read reaches its captured watermark. The reader holds every event committed at or below seq." }, @@ -18946,32 +17839,35 @@ "additionalProperties": false } }, - "required": [ - "data", - "cursor" - ], + "required": ["data", "cursor"], "additionalProperties": false }, "Model.ReasoningField": { "anyOf": [ { "type": "string", - "enum": [ - "reasoning", - "reasoning_content", - "reasoning_text" - ] + "enum": ["reasoning", "reasoning_content", "reasoning_text"] }, { "type": "string" } ] }, + "Model.MaxTokensField": { + "type": "string", + "enum": ["max_completion_tokens", "max_tokens"] + }, "Model.Compatibility": { "type": "object", "properties": { "reasoningField": { "$ref": "#/components/schemas/Model.ReasoningField" + }, + "maxTokensField": { + "$ref": "#/components/schemas/Model.MaxTokensField" + }, + "requireFinishReason": { + "type": "boolean" } }, "additionalProperties": false @@ -18995,11 +17891,7 @@ } } }, - "required": [ - "tools", - "input", - "output" - ], + "required": ["tools", "input", "output"], "additionalProperties": false }, "Model.Variant": { @@ -19021,9 +17913,7 @@ "type": "object" } }, - "required": [ - "id" - ], + "required": ["id"], "additionalProperties": false }, "Money.USDPerMillionTokens": { @@ -19037,18 +17927,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "context" - ] + "enum": ["context"] }, "size": { "type": "integer" } }, - "required": [ - "type", - "size" - ], + "required": ["type", "size"], "additionalProperties": false }, "input": { @@ -19067,18 +17952,11 @@ "$ref": "#/components/schemas/Money.USDPerMillionTokens" } }, - "required": [ - "read", - "write" - ], + "required": ["read", "write"], "additionalProperties": false } }, - "required": [ - "input", - "output", - "cache" - ], + "required": ["input", "output", "cache"], "additionalProperties": false }, "Model.Info": { @@ -19133,9 +18011,7 @@ "type": "number" } }, - "required": [ - "released" - ], + "required": ["released"], "additionalProperties": false }, "cost": { @@ -19146,12 +18022,7 @@ }, "status": { "type": "string", - "enum": [ - "alpha", - "beta", - "deprecated", - "active" - ] + "enum": ["alpha", "beta", "deprecated", "active"] }, "enabled": { "type": "boolean" @@ -19169,10 +18040,7 @@ "type": "integer" } }, - "required": [ - "context", - "output" - ], + "required": ["context", "output"], "additionalProperties": false } }, @@ -19201,15 +18069,11 @@ "type": "string" } }, - "required": [ - "text" - ], + "required": ["text"], "additionalProperties": false } }, - "required": [ - "data" - ], + "required": ["data"], "additionalProperties": false }, "Provider.Info": { @@ -19243,11 +18107,7 @@ "type": "object" } }, - "required": [ - "id", - "name", - "package" - ], + "required": ["id", "name", "package"], "additionalProperties": false }, "ProviderNotFoundError": { @@ -19255,9 +18115,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "ProviderNotFoundError" - ] + "enum": ["ProviderNotFoundError"] }, "providerID": { "type": "string" @@ -19266,11 +18124,7 @@ "type": "string" } }, - "required": [ - "_tag", - "providerID", - "message" - ], + "required": ["_tag", "providerID", "message"], "additionalProperties": false }, "Integration.When": { @@ -19281,20 +18135,13 @@ }, "op": { "type": "string", - "enum": [ - "eq", - "neq" - ] + "enum": ["eq", "neq"] }, "value": { "type": "string" } }, - "required": [ - "key", - "op", - "value" - ], + "required": ["key", "op", "value"], "additionalProperties": false }, "Integration.TextPrompt": { @@ -19302,9 +18149,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "text" - ] + "enum": ["text"] }, "key": { "type": "string" @@ -19319,11 +18164,7 @@ "$ref": "#/components/schemas/Integration.When" } }, - "required": [ - "type", - "key", - "message" - ], + "required": ["type", "key", "message"], "additionalProperties": false }, "Integration.SelectPrompt": { @@ -19331,9 +18172,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "select" - ] + "enum": ["select"] }, "key": { "type": "string" @@ -19356,10 +18195,7 @@ "type": "string" } }, - "required": [ - "label", - "value" - ], + "required": ["label", "value"], "additionalProperties": false } }, @@ -19367,12 +18203,7 @@ "$ref": "#/components/schemas/Integration.When" } }, - "required": [ - "type", - "key", - "message", - "options" - ], + "required": ["type", "key", "message", "options"], "additionalProperties": false }, "Integration.OAuthMethod": { @@ -19383,9 +18214,7 @@ }, "type": { "type": "string", - "enum": [ - "oauth" - ] + "enum": ["oauth"] }, "label": { "type": "string" @@ -19404,11 +18233,7 @@ } } }, - "required": [ - "id", - "type", - "label" - ], + "required": ["id", "type", "label"], "additionalProperties": false }, "Integration.CommandMethod": { @@ -19419,9 +18244,7 @@ }, "type": { "type": "string", - "enum": [ - "command" - ] + "enum": ["command"] }, "label": { "type": "string" @@ -19433,12 +18256,7 @@ } } }, - "required": [ - "id", - "type", - "label", - "command" - ], + "required": ["id", "type", "label", "command"], "additionalProperties": false }, "Integration.KeyMethod": { @@ -19446,17 +18264,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "key" - ] + "enum": ["key"] }, "label": { "type": "string" } }, - "required": [ - "type" - ], + "required": ["type"], "additionalProperties": false }, "Integration.EnvMethod": { @@ -19464,9 +18278,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "env" - ] + "enum": ["env"] }, "names": { "type": "array", @@ -19475,10 +18287,7 @@ } } }, - "required": [ - "type", - "names" - ], + "required": ["type", "names"], "additionalProperties": false }, "Integration.Method": { @@ -19502,9 +18311,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "credential" - ] + "enum": ["credential"] }, "id": { "type": "string" @@ -19513,11 +18320,7 @@ "type": "string" } }, - "required": [ - "type", - "id", - "label" - ], + "required": ["type", "id", "label"], "additionalProperties": false }, "Connection.EnvInfo": { @@ -19525,18 +18328,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "env" - ] + "enum": ["env"] }, "name": { "type": "string" } }, - "required": [ - "type", - "name" - ], + "required": ["type", "name"], "additionalProperties": false }, "Connection.Info": { @@ -19571,12 +18369,7 @@ } } }, - "required": [ - "id", - "name", - "methods", - "connections" - ], + "required": ["id", "name", "methods", "connections"], "additionalProperties": false }, "Integration.Attempt": { @@ -19593,10 +18386,7 @@ }, "mode": { "type": "string", - "enum": [ - "auto", - "code" - ] + "enum": ["auto", "code"] }, "time": { "type": "object", @@ -19610,31 +18400,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -19647,49 +18427,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "attemptID", - "url", - "instructions", - "mode", - "time" - ], + "required": ["attemptID", "url", "instructions", "mode", "time"], "additionalProperties": false }, "Integration.AttemptStatus": { @@ -19699,9 +18460,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "pending" - ] + "enum": ["pending"] }, "time": { "type": "object", @@ -19715,31 +18474,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -19752,46 +18501,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "status", - "time" - ], + "required": ["status", "time"], "additionalProperties": false }, { @@ -19799,9 +18532,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "complete" - ] + "enum": ["complete"] }, "time": { "type": "object", @@ -19815,31 +18546,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -19852,46 +18573,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "status", - "time" - ], + "required": ["status", "time"], "additionalProperties": false }, { @@ -19899,9 +18604,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "failed" - ] + "enum": ["failed"] }, "message": { "type": "string" @@ -19918,31 +18621,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -19955,47 +18648,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "status", - "message", - "time" - ], + "required": ["status", "message", "time"], "additionalProperties": false }, { @@ -20003,9 +18679,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "expired" - ] + "enum": ["expired"] }, "time": { "type": "object", @@ -20019,31 +18693,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -20056,46 +18720,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "status", - "time" - ], + "required": ["status", "time"], "additionalProperties": false } ] @@ -20118,31 +18766,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -20155,46 +18793,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "attemptID", - "time" - ], + "required": ["attemptID", "time"], "additionalProperties": false }, "Integration.CommandAttemptStatus": { @@ -20204,9 +18826,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "pending" - ] + "enum": ["pending"] }, "message": { "type": "string" @@ -20223,31 +18843,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -20260,46 +18870,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "status", - "time" - ], + "required": ["status", "time"], "additionalProperties": false }, { @@ -20307,9 +18901,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "complete" - ] + "enum": ["complete"] }, "time": { "type": "object", @@ -20323,31 +18915,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -20360,46 +18942,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "status", - "time" - ], + "required": ["status", "time"], "additionalProperties": false }, { @@ -20407,9 +18973,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "failed" - ] + "enum": ["failed"] }, "message": { "type": "string" @@ -20426,31 +18990,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -20463,47 +19017,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "status", - "message", - "time" - ], + "required": ["status", "message", "time"], "additionalProperties": false }, { @@ -20511,9 +19048,7 @@ "properties": { "status": { "type": "string", - "enum": [ - "expired" - ] + "enum": ["expired"] }, "time": { "type": "object", @@ -20527,31 +19062,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -20564,46 +19089,30 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "created", - "expires" - ], + "required": ["created", "expires"], "additionalProperties": false } }, - "required": [ - "status", - "time" - ], + "required": ["status", "time"], "additionalProperties": false } ] @@ -20613,14 +19122,10 @@ "properties": { "status": { "type": "string", - "enum": [ - "connected" - ] + "enum": ["connected"] } }, - "required": [ - "status" - ], + "required": ["status"], "additionalProperties": false }, "Mcp.Status.Pending": { @@ -20628,14 +19133,10 @@ "properties": { "status": { "type": "string", - "enum": [ - "pending" - ] + "enum": ["pending"] } }, - "required": [ - "status" - ], + "required": ["status"], "additionalProperties": false }, "Mcp.Status.Disabled": { @@ -20643,14 +19144,10 @@ "properties": { "status": { "type": "string", - "enum": [ - "disabled" - ] + "enum": ["disabled"] } }, - "required": [ - "status" - ], + "required": ["status"], "additionalProperties": false }, "Mcp.Status.Failed": { @@ -20658,18 +19155,13 @@ "properties": { "status": { "type": "string", - "enum": [ - "failed" - ] + "enum": ["failed"] }, "error": { "type": "string" } }, - "required": [ - "status", - "error" - ], + "required": ["status", "error"], "additionalProperties": false }, "Mcp.Status.NeedsAuth": { @@ -20677,14 +19169,10 @@ "properties": { "status": { "type": "string", - "enum": [ - "needs_auth" - ] + "enum": ["needs_auth"] } }, - "required": [ - "status" - ], + "required": ["status"], "additionalProperties": false }, "Mcp.Server": { @@ -20716,10 +19204,7 @@ "type": "string" } }, - "required": [ - "name", - "status" - ], + "required": ["name", "status"], "additionalProperties": false }, "Mcp.LocalConfig": { @@ -20727,9 +19212,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "local" - ] + "enum": ["local"] }, "command": { "type": "array", @@ -20783,10 +19266,7 @@ "additionalProperties": false } }, - "required": [ - "type", - "command" - ], + "required": ["type", "command"], "additionalProperties": false }, "Mcp.OAuthConfig": { @@ -20821,9 +19301,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "remote" - ] + "enum": ["remote"] }, "url": { "type": "string" @@ -20841,9 +19319,7 @@ }, { "type": "boolean", - "enum": [ - false - ] + "enum": [false] } ] }, @@ -20884,10 +19360,7 @@ "additionalProperties": false } }, - "required": [ - "type", - "url" - ], + "required": ["type", "url"], "additionalProperties": false }, "McpServerNotFoundError": { @@ -20895,9 +19368,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "McpServerNotFoundError" - ] + "enum": ["McpServerNotFoundError"] }, "server": { "type": "string" @@ -20906,11 +19377,7 @@ "type": "string" } }, - "required": [ - "_tag", - "server", - "message" - ], + "required": ["_tag", "server", "message"], "additionalProperties": false }, "Mcp.Resource": { @@ -20932,11 +19399,7 @@ "type": "string" } }, - "required": [ - "server", - "name", - "uri" - ], + "required": ["server", "name", "uri"], "additionalProperties": false }, "Mcp.ResourceTemplate": { @@ -20958,11 +19421,7 @@ "type": "string" } }, - "required": [ - "server", - "name", - "uriTemplate" - ], + "required": ["server", "name", "uriTemplate"], "additionalProperties": false }, "Mcp.ResourceCatalog": { @@ -20981,18 +19440,12 @@ } } }, - "required": [ - "resources", - "templates" - ], + "required": ["resources", "templates"], "additionalProperties": false }, "Project.Vcs": { "type": "string", - "enum": [ - "git", - "hg" - ] + "enum": ["git", "hg"] }, "Project.Icon": { "type": "object", @@ -21047,10 +19500,7 @@ ] } }, - "required": [ - "created", - "updated" - ], + "required": ["created", "updated"], "additionalProperties": false }, "Project": { @@ -21084,12 +19534,7 @@ } } }, - "required": [ - "id", - "canonical", - "time", - "sandboxes" - ], + "required": ["id", "canonical", "time", "sandboxes"], "additionalProperties": false }, "Project.Current": { @@ -21105,11 +19550,7 @@ "type": "string" } }, - "required": [ - "id", - "directory", - "canonical" - ], + "required": ["id", "directory", "canonical"], "additionalProperties": false }, "Project.Directory": { @@ -21122,9 +19563,7 @@ "type": "string" } }, - "required": [ - "directory" - ], + "required": ["directory"], "additionalProperties": false }, "Project.Directories": { @@ -21144,10 +19583,7 @@ }, "op": { "type": "string", - "enum": [ - "eq", - "neq" - ] + "enum": ["eq", "neq"] }, "value": { "anyOf": [ @@ -21163,31 +19599,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -21197,11 +19623,7 @@ ] } }, - "required": [ - "key", - "op", - "value" - ], + "required": ["key", "op", "value"], "additionalProperties": false }, "Form.Option": { @@ -21217,10 +19639,7 @@ "type": "string" } }, - "required": [ - "value", - "label" - ], + "required": ["value", "label"], "additionalProperties": false }, "Form.StringField": { @@ -21246,18 +19665,11 @@ }, "type": { "type": "string", - "enum": [ - "string" - ] + "enum": ["string"] }, "format": { "type": "string", - "enum": [ - "email", - "uri", - "date", - "date-time" - ] + "enum": ["email", "uri", "date", "date-time"] }, "minLength": { "type": "integer", @@ -21294,10 +19706,7 @@ "type": "boolean" } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.NumberField": { @@ -21323,9 +19732,7 @@ }, "type": { "type": "string", - "enum": [ - "number" - ] + "enum": ["number"] }, "minimum": { "anyOf": [ @@ -21336,31 +19743,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -21373,31 +19770,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -21410,39 +19797,26 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.IntegerField": { @@ -21468,9 +19842,7 @@ }, "type": { "type": "string", - "enum": [ - "integer" - ] + "enum": ["integer"] }, "minimum": { "anyOf": [ @@ -21481,31 +19853,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -21518,31 +19880,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -21555,39 +19907,26 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.BooleanField": { @@ -21613,18 +19952,13 @@ }, "type": { "type": "string", - "enum": [ - "boolean" - ] + "enum": ["boolean"] }, "default": { "type": "boolean" } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.MultiselectField": { @@ -21650,9 +19984,7 @@ }, "type": { "type": "string", - "enum": [ - "multiselect" - ] + "enum": ["multiselect"] }, "options": { "type": "array", @@ -21686,11 +20018,7 @@ } } }, - "required": [ - "key", - "type", - "options" - ], + "required": ["key", "type", "options"], "additionalProperties": false }, "Form.ExternalField": { @@ -21701,9 +20029,7 @@ }, "type": { "type": "string", - "enum": [ - "external" - ] + "enum": ["external"] }, "url": { "type": "string" @@ -21715,11 +20041,7 @@ "type": "string" } }, - "required": [ - "key", - "type", - "url" - ], + "required": ["key", "type", "url"], "additionalProperties": false }, "Form.Field": { @@ -21780,12 +20102,7 @@ "$ref": "#/components/schemas/Form.Fields" } }, - "required": [ - "id", - "sessionID", - "title", - "fields" - ], + "required": ["id", "sessionID", "title", "fields"], "additionalProperties": false }, "Form.CreatePayload": { @@ -21816,10 +20133,7 @@ "$ref": "#/components/schemas/Form.Fields" } }, - "required": [ - "title", - "fields" - ], + "required": ["title", "fields"], "additionalProperties": false }, "FormNotFoundError": { @@ -21827,9 +20141,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "FormNotFoundError" - ] + "enum": ["FormNotFoundError"] }, "id": { "type": "string" @@ -21838,11 +20150,7 @@ "type": "string" } }, - "required": [ - "_tag", - "id", - "message" - ], + "required": ["_tag", "id", "message"], "additionalProperties": false }, "Form.Value": { @@ -21859,31 +20167,21 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, { "type": "string", - "enum": [ - "Infinity", - "-Infinity", - "NaN" - ] + "enum": ["Infinity", "-Infinity", "NaN"] } ] }, @@ -21911,14 +20209,10 @@ "properties": { "status": { "type": "string", - "enum": [ - "pending" - ] + "enum": ["pending"] } }, - "required": [ - "status" - ], + "required": ["status"], "additionalProperties": false }, { @@ -21926,18 +20220,13 @@ "properties": { "status": { "type": "string", - "enum": [ - "answered" - ] + "enum": ["answered"] }, "answer": { "$ref": "#/components/schemas/Form.Answer" } }, - "required": [ - "status", - "answer" - ], + "required": ["status", "answer"], "additionalProperties": false }, { @@ -21945,14 +20234,10 @@ "properties": { "status": { "type": "string", - "enum": [ - "cancelled" - ] + "enum": ["cancelled"] } }, - "required": [ - "status" - ], + "required": ["status"], "additionalProperties": false } ] @@ -21964,9 +20249,7 @@ "$ref": "#/components/schemas/Form.Answer" } }, - "required": [ - "answer" - ], + "required": ["answer"], "additionalProperties": false }, "FormAlreadySettledError": { @@ -21974,9 +20257,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "FormAlreadySettledError" - ] + "enum": ["FormAlreadySettledError"] }, "id": { "type": "string" @@ -21985,11 +20266,7 @@ "type": "string" } }, - "required": [ - "_tag", - "id", - "message" - ], + "required": ["_tag", "id", "message"], "additionalProperties": false }, "FormInvalidAnswerError": { @@ -21997,9 +20274,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "FormInvalidAnswerError" - ] + "enum": ["FormInvalidAnswerError"] }, "id": { "type": "string" @@ -22008,11 +20283,7 @@ "type": "string" } }, - "required": [ - "_tag", - "id", - "message" - ], + "required": ["_tag", "id", "message"], "additionalProperties": false }, "Permission.Source": { @@ -22022,9 +20293,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "tool" - ] + "enum": ["tool"] }, "messageID": { "type": "string" @@ -22033,11 +20302,7 @@ "type": "string" } }, - "required": [ - "type", - "messageID", - "id" - ], + "required": ["type", "messageID", "id"], "additionalProperties": false } ] @@ -22083,12 +20348,7 @@ "$ref": "#/components/schemas/Permission.Source" } }, - "required": [ - "id", - "sessionID", - "action", - "resources" - ], + "required": ["id", "sessionID", "action", "resources"], "additionalProperties": false }, "PermissionSaved.Info": { @@ -22107,12 +20367,7 @@ "type": "string" } }, - "required": [ - "id", - "projectID", - "action", - "resource" - ], + "required": ["id", "projectID", "action", "resource"], "additionalProperties": false }, "PermissionNotFoundError": { @@ -22120,9 +20375,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "PermissionNotFoundError" - ] + "enum": ["PermissionNotFoundError"] }, "requestID": { "type": "string" @@ -22131,20 +20384,12 @@ "type": "string" } }, - "required": [ - "_tag", - "requestID", - "message" - ], + "required": ["_tag", "requestID", "message"], "additionalProperties": false }, "Permission.Reply": { "type": "string", - "enum": [ - "once", - "always", - "reject" - ] + "enum": ["once", "always", "reject"] }, "FileSystem.Entry": { "type": "object", @@ -22154,16 +20399,10 @@ }, "type": { "type": "string", - "enum": [ - "file", - "directory" - ] + "enum": ["file", "directory"] } }, - "required": [ - "path", - "type" - ], + "required": ["path", "type"], "additionalProperties": false }, "Command.Info": { @@ -22188,10 +20427,7 @@ "type": "boolean" } }, - "required": [ - "name", - "template" - ], + "required": ["name", "template"], "additionalProperties": false }, "Skill.Info": { @@ -22219,12 +20455,7 @@ "type": "string" } }, - "required": [ - "id", - "name", - "location", - "content" - ], + "required": ["id", "name", "location", "content"], "additionalProperties": false }, "models-dev.refreshed": { @@ -22246,9 +20477,7 @@ }, "type": { "type": "string", - "enum": [ - "models-dev.refreshed" - ] + "enum": ["models-dev.refreshed"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22264,12 +20493,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "integration.updated": { @@ -22291,9 +20515,7 @@ }, "type": { "type": "string", - "enum": [ - "integration.updated" - ] + "enum": ["integration.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22309,12 +20531,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "integration.connection.updated": { @@ -22336,9 +20553,7 @@ }, "type": { "type": "string", - "enum": [ - "integration.connection.updated" - ] + "enum": ["integration.connection.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22350,18 +20565,11 @@ "type": "string" } }, - "required": [ - "integrationID" - ], + "required": ["integrationID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "catalog.updated": { @@ -22383,9 +20591,7 @@ }, "type": { "type": "string", - "enum": [ - "catalog.updated" - ] + "enum": ["catalog.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22401,12 +20607,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "agent.updated": { @@ -22428,9 +20629,7 @@ }, "type": { "type": "string", - "enum": [ - "agent.updated" - ] + "enum": ["agent.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22446,12 +20645,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "session.usage.updated": { @@ -22473,9 +20667,7 @@ }, "type": { "type": "string", - "enum": [ - "session.usage.updated" - ] + "enum": ["session.usage.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22498,20 +20690,11 @@ "$ref": "#/components/schemas/TokenUsage.Info" } }, - "required": [ - "sessionID", - "cost", - "tokens" - ], + "required": ["sessionID", "cost", "tokens"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "session.text.delta": { @@ -22533,9 +20716,7 @@ }, "type": { "type": "string", - "enum": [ - "session.text.delta" - ] + "enum": ["session.text.delta"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22571,21 +20752,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "assistantMessageID", - "ordinal", - "delta" - ], + "required": ["sessionID", "assistantMessageID", "ordinal", "delta"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "session.reasoning.delta": { @@ -22607,9 +20778,7 @@ }, "type": { "type": "string", - "enum": [ - "session.reasoning.delta" - ] + "enum": ["session.reasoning.delta"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22645,21 +20814,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "assistantMessageID", - "ordinal", - "delta" - ], + "required": ["sessionID", "assistantMessageID", "ordinal", "delta"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "session.tool.input.delta": { @@ -22681,9 +20840,7 @@ }, "type": { "type": "string", - "enum": [ - "session.tool.input.delta" - ] + "enum": ["session.tool.input.delta"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22714,21 +20871,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "assistantMessageID", - "id", - "delta" - ], + "required": ["sessionID", "assistantMessageID", "id", "delta"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "session.tool.progress": { @@ -22750,9 +20897,7 @@ }, "type": { "type": "string", - "enum": [ - "session.tool.progress" - ] + "enum": ["session.tool.progress"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22783,21 +20928,11 @@ "type": "object" } }, - "required": [ - "sessionID", - "assistantMessageID", - "id", - "metadata" - ], + "required": ["sessionID", "assistantMessageID", "id", "metadata"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "session.compaction.delta": { @@ -22819,9 +20954,7 @@ }, "type": { "type": "string", - "enum": [ - "session.compaction.delta" - ] + "enum": ["session.compaction.delta"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22841,19 +20974,11 @@ "type": "string" } }, - "required": [ - "sessionID", - "text" - ], + "required": ["sessionID", "text"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "filesystem.changed": { @@ -22875,9 +21000,7 @@ }, "type": { "type": "string", - "enum": [ - "filesystem.changed" - ] + "enum": ["filesystem.changed"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22890,26 +21013,14 @@ }, "event": { "type": "string", - "enum": [ - "add", - "change", - "unlink" - ] + "enum": ["add", "change", "unlink"] } }, - "required": [ - "file", - "event" - ], + "required": ["file", "event"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "reference.updated": { @@ -22931,9 +21042,7 @@ }, "type": { "type": "string", - "enum": [ - "reference.updated" - ] + "enum": ["reference.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -22949,12 +21058,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "permission.asked": { @@ -22976,9 +21080,7 @@ }, "type": { "type": "string", - "enum": [ - "permission.asked" - ] + "enum": ["permission.asked"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23024,21 +21126,11 @@ "$ref": "#/components/schemas/Permission.Source" } }, - "required": [ - "id", - "sessionID", - "action", - "resources" - ], + "required": ["id", "sessionID", "action", "resources"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "permission.replied": { @@ -23060,9 +21152,7 @@ }, "type": { "type": "string", - "enum": [ - "permission.replied" - ] + "enum": ["permission.replied"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23090,20 +21180,11 @@ "$ref": "#/components/schemas/Permission.Reply" } }, - "required": [ - "sessionID", - "requestID", - "reply" - ], + "required": ["sessionID", "requestID", "reply"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "plugin.added": { @@ -23125,9 +21206,7 @@ }, "type": { "type": "string", - "enum": [ - "plugin.added" - ] + "enum": ["plugin.added"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23139,18 +21218,11 @@ "type": "string" } }, - "required": [ - "id" - ], + "required": ["id"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "plugin.updated": { @@ -23172,9 +21244,7 @@ }, "type": { "type": "string", - "enum": [ - "plugin.updated" - ] + "enum": ["plugin.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23190,12 +21260,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "project.directories.updated": { @@ -23217,9 +21282,7 @@ }, "type": { "type": "string", - "enum": [ - "project.directories.updated" - ] + "enum": ["project.directories.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23231,18 +21294,11 @@ "type": "string" } }, - "required": [ - "projectID" - ], + "required": ["projectID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "command.updated": { @@ -23264,9 +21320,7 @@ }, "type": { "type": "string", - "enum": [ - "command.updated" - ] + "enum": ["command.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23282,12 +21336,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "config.updated": { @@ -23309,9 +21358,7 @@ }, "type": { "type": "string", - "enum": [ - "config.updated" - ] + "enum": ["config.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23327,12 +21374,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "skill.updated": { @@ -23354,9 +21396,7 @@ }, "type": { "type": "string", - "enum": [ - "skill.updated" - ] + "enum": ["skill.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23372,12 +21412,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "Pty": { @@ -23408,10 +21443,7 @@ }, "status": { "type": "string", - "enum": [ - "running", - "exited" - ] + "enum": ["running", "exited"] }, "pid": { "type": "integer", @@ -23430,15 +21462,7 @@ ] } }, - "required": [ - "id", - "title", - "command", - "args", - "cwd", - "status", - "pid" - ], + "required": ["id", "title", "command", "args", "cwd", "status", "pid"], "additionalProperties": false }, "pty.created": { @@ -23460,9 +21484,7 @@ }, "type": { "type": "string", - "enum": [ - "pty.created" - ] + "enum": ["pty.created"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23474,18 +21496,11 @@ "$ref": "#/components/schemas/Pty" } }, - "required": [ - "info" - ], + "required": ["info"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "pty.updated": { @@ -23507,9 +21522,7 @@ }, "type": { "type": "string", - "enum": [ - "pty.updated" - ] + "enum": ["pty.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23521,18 +21534,11 @@ "$ref": "#/components/schemas/Pty" } }, - "required": [ - "info" - ], + "required": ["info"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "pty.exited": { @@ -23554,9 +21560,7 @@ }, "type": { "type": "string", - "enum": [ - "pty.exited" - ] + "enum": ["pty.exited"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23581,19 +21585,11 @@ ] } }, - "required": [ - "id", - "exitCode" - ], + "required": ["id", "exitCode"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "pty.deleted": { @@ -23615,9 +21611,7 @@ }, "type": { "type": "string", - "enum": [ - "pty.deleted" - ] + "enum": ["pty.deleted"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23634,18 +21628,11 @@ ] } }, - "required": [ - "id" - ], + "required": ["id"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "shell.created": { @@ -23667,9 +21654,7 @@ }, "type": { "type": "string", - "enum": [ - "shell.created" - ] + "enum": ["shell.created"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23681,18 +21666,11 @@ "$ref": "#/components/schemas/Shell.Info" } }, - "required": [ - "info" - ], + "required": ["info"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "shell.exited": { @@ -23714,9 +21692,7 @@ }, "type": { "type": "string", - "enum": [ - "shell.exited" - ] + "enum": ["shell.exited"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23737,27 +21713,14 @@ }, "status": { "type": "string", - "enum": [ - "running", - "exited", - "timeout", - "killed" - ] + "enum": ["running", "exited", "timeout", "killed"] } }, - "required": [ - "id", - "status" - ], + "required": ["id", "status"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "shell.deleted": { @@ -23779,9 +21742,7 @@ }, "type": { "type": "string", - "enum": [ - "shell.deleted" - ] + "enum": ["shell.deleted"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23798,18 +21759,11 @@ ] } }, - "required": [ - "id" - ], + "required": ["id"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "Question.Option": { @@ -23824,10 +21778,7 @@ "description": "Explanation of choice" } }, - "required": [ - "label", - "description" - ], + "required": ["label", "description"], "additionalProperties": false }, "Question.Info": { @@ -23855,11 +21806,7 @@ "type": "boolean" } }, - "required": [ - "question", - "header", - "options" - ], + "required": ["question", "header", "options"], "additionalProperties": false }, "Question.Tool": { @@ -23872,10 +21819,7 @@ "type": "string" } }, - "required": [ - "messageID", - "id" - ], + "required": ["messageID", "id"], "additionalProperties": false }, "question.asked": { @@ -23897,9 +21841,7 @@ }, "type": { "type": "string", - "enum": [ - "question.asked" - ] + "enum": ["question.asked"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -23934,20 +21876,11 @@ "$ref": "#/components/schemas/Question.Tool" } }, - "required": [ - "id", - "sessionID", - "questions" - ], + "required": ["id", "sessionID", "questions"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "Question.Answer": { @@ -23975,9 +21908,7 @@ }, "type": { "type": "string", - "enum": [ - "question.replied" - ] + "enum": ["question.replied"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -24008,20 +21939,11 @@ } } }, - "required": [ - "sessionID", - "requestID", - "answers" - ], + "required": ["sessionID", "requestID", "answers"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "question.rejected": { @@ -24043,9 +21965,7 @@ }, "type": { "type": "string", - "enum": [ - "question.rejected" - ] + "enum": ["question.rejected"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -24070,19 +21990,11 @@ ] } }, - "required": [ - "sessionID", - "requestID" - ], + "required": ["sessionID", "requestID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "Form.Metadata1": { @@ -24096,10 +22008,7 @@ }, "op": { "type": "string", - "enum": [ - "eq", - "neq" - ] + "enum": ["eq", "neq"] }, "value": { "anyOf": [ @@ -24113,21 +22022,15 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, @@ -24137,11 +22040,7 @@ ] } }, - "required": [ - "key", - "op", - "value" - ], + "required": ["key", "op", "value"], "additionalProperties": false }, "Form.StringField1": { @@ -24167,18 +22066,11 @@ }, "type": { "type": "string", - "enum": [ - "string" - ] + "enum": ["string"] }, "format": { "type": "string", - "enum": [ - "email", - "uri", - "date", - "date-time" - ] + "enum": ["email", "uri", "date", "date-time"] }, "minLength": { "type": "integer", @@ -24215,10 +22107,7 @@ "type": "boolean" } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.NumberField1": { @@ -24244,9 +22133,7 @@ }, "type": { "type": "string", - "enum": [ - "number" - ] + "enum": ["number"] }, "minimum": { "anyOf": [ @@ -24255,21 +22142,15 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, @@ -24280,21 +22161,15 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, @@ -24305,29 +22180,20 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.IntegerField1": { @@ -24353,9 +22219,7 @@ }, "type": { "type": "string", - "enum": [ - "integer" - ] + "enum": ["integer"] }, "minimum": { "anyOf": [ @@ -24364,21 +22228,15 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, @@ -24389,21 +22247,15 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, @@ -24414,29 +22266,20 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.BooleanField1": { @@ -24462,18 +22305,13 @@ }, "type": { "type": "string", - "enum": [ - "boolean" - ] + "enum": ["boolean"] }, "default": { "type": "boolean" } }, - "required": [ - "key", - "type" - ], + "required": ["key", "type"], "additionalProperties": false }, "Form.MultiselectField1": { @@ -24499,9 +22337,7 @@ }, "type": { "type": "string", - "enum": [ - "multiselect" - ] + "enum": ["multiselect"] }, "options": { "type": "array", @@ -24535,11 +22371,7 @@ } } }, - "required": [ - "key", - "type", - "options" - ], + "required": ["key", "type", "options"], "additionalProperties": false }, "Form.Field1": { @@ -24600,12 +22432,7 @@ "$ref": "#/components/schemas/Form.Fields1" } }, - "required": [ - "id", - "sessionID", - "title", - "fields" - ], + "required": ["id", "sessionID", "title", "fields"], "additionalProperties": false }, "form.created": { @@ -24627,9 +22454,7 @@ }, "type": { "type": "string", - "enum": [ - "form.created" - ] + "enum": ["form.created"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -24641,18 +22466,11 @@ "$ref": "#/components/schemas/Form.Info1" } }, - "required": [ - "form" - ], + "required": ["form"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "Form.Value1": { @@ -24667,21 +22485,15 @@ }, { "type": "string", - "enum": [ - "NaN" - ] + "enum": ["NaN"] }, { "type": "string", - "enum": [ - "Infinity" - ] + "enum": ["Infinity"] }, { "type": "string", - "enum": [ - "-Infinity" - ] + "enum": ["-Infinity"] } ] }, @@ -24721,9 +22533,7 @@ }, "type": { "type": "string", - "enum": [ - "form.replied" - ] + "enum": ["form.replied"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -24746,20 +22556,11 @@ "$ref": "#/components/schemas/Form.Answer1" } }, - "required": [ - "id", - "sessionID", - "answer" - ], + "required": ["id", "sessionID", "answer"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "form.cancelled": { @@ -24781,9 +22582,7 @@ }, "type": { "type": "string", - "enum": [ - "form.cancelled" - ] + "enum": ["form.cancelled"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -24803,19 +22602,11 @@ "type": "string" } }, - "required": [ - "id", - "sessionID" - ], + "required": ["id", "sessionID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "websearch.updated": { @@ -24837,9 +22628,7 @@ }, "type": { "type": "string", - "enum": [ - "websearch.updated" - ] + "enum": ["websearch.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -24855,12 +22644,7 @@ ] } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "SessionStatus": { @@ -24870,14 +22654,10 @@ "properties": { "type": { "type": "string", - "enum": [ - "idle" - ] + "enum": ["idle"] } }, - "required": [ - "type" - ], + "required": ["type"], "additionalProperties": false }, { @@ -24885,9 +22665,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "retry" - ] + "enum": ["retry"] }, "attempt": { "type": "integer", @@ -24922,13 +22700,7 @@ "type": "string" } }, - "required": [ - "reason", - "provider", - "title", - "message", - "label" - ], + "required": ["reason", "provider", "title", "message", "label"], "additionalProperties": false }, "next": { @@ -24940,12 +22712,7 @@ ] } }, - "required": [ - "type", - "attempt", - "message", - "next" - ], + "required": ["type", "attempt", "message", "next"], "additionalProperties": false }, { @@ -24953,14 +22720,10 @@ "properties": { "type": { "type": "string", - "enum": [ - "busy" - ] + "enum": ["busy"] } }, - "required": [ - "type" - ], + "required": ["type"], "additionalProperties": false } ] @@ -24984,9 +22747,7 @@ }, "type": { "type": "string", - "enum": [ - "session.status" - ] + "enum": ["session.status"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25006,19 +22767,11 @@ "$ref": "#/components/schemas/SessionStatus" } }, - "required": [ - "sessionID", - "status" - ], + "required": ["sessionID", "status"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "session.idle": { @@ -25040,9 +22793,7 @@ }, "type": { "type": "string", - "enum": [ - "session.idle" - ] + "enum": ["session.idle"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25059,18 +22810,11 @@ ] } }, - "required": [ - "sessionID" - ], + "required": ["sessionID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "tui.prompt.append": { @@ -25092,9 +22836,7 @@ }, "type": { "type": "string", - "enum": [ - "tui.prompt.append" - ] + "enum": ["tui.prompt.append"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25106,18 +22848,11 @@ "type": "string" } }, - "required": [ - "text" - ], + "required": ["text"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "tui.command.execute": { @@ -25139,9 +22874,7 @@ }, "type": { "type": "string", - "enum": [ - "tui.command.execute" - ] + "enum": ["tui.command.execute"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25179,18 +22912,11 @@ ] } }, - "required": [ - "command" - ], + "required": ["command"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "tui.toast.show": { @@ -25212,9 +22938,7 @@ }, "type": { "type": "string", - "enum": [ - "tui.toast.show" - ] + "enum": ["tui.toast.show"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25230,12 +22954,7 @@ }, "variant": { "type": "string", - "enum": [ - "info", - "success", - "warning", - "error" - ] + "enum": ["info", "success", "warning", "error"] }, "duration": { "anyOf": [ @@ -25253,19 +22972,11 @@ ] } }, - "required": [ - "message", - "variant" - ], + "required": ["message", "variant"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "tui.session.select": { @@ -25287,9 +22998,7 @@ }, "type": { "type": "string", - "enum": [ - "tui.session.select" - ] + "enum": ["tui.session.select"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25307,18 +23016,11 @@ ] } }, - "required": [ - "sessionID" - ], + "required": ["sessionID"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "installation.updated": { @@ -25340,9 +23042,7 @@ }, "type": { "type": "string", - "enum": [ - "installation.updated" - ] + "enum": ["installation.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25354,18 +23054,11 @@ "type": "string" } }, - "required": [ - "version" - ], + "required": ["version"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "installation.update-available": { @@ -25387,9 +23080,7 @@ }, "type": { "type": "string", - "enum": [ - "installation.update-available" - ] + "enum": ["installation.update-available"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25401,18 +23092,11 @@ "type": "string" } }, - "required": [ - "version" - ], + "required": ["version"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "vcs.branch.updated": { @@ -25434,9 +23118,7 @@ }, "type": { "type": "string", - "enum": [ - "vcs.branch.updated" - ] + "enum": ["vcs.branch.updated"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25451,12 +23133,7 @@ "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "mcp.status.changed": { @@ -25478,9 +23155,7 @@ }, "type": { "type": "string", - "enum": [ - "mcp.status.changed" - ] + "enum": ["mcp.status.changed"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25492,18 +23167,11 @@ "type": "string" } }, - "required": [ - "server" - ], + "required": ["server"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "mcp.resources.changed": { @@ -25525,9 +23193,7 @@ }, "type": { "type": "string", - "enum": [ - "mcp.resources.changed" - ] + "enum": ["mcp.resources.changed"] }, "location": { "$ref": "#/components/schemas/Location.Ref" @@ -25539,18 +23205,11 @@ "type": "string" } }, - "required": [ - "server" - ], + "required": ["server"], "additionalProperties": false } }, - "required": [ - "id", - "created", - "type", - "data" - ], + "required": ["id", "created", "type", "data"], "additionalProperties": false }, "V2Event.server.connected": { @@ -25586,9 +23245,7 @@ }, "type": { "type": "string", - "enum": [ - "server.connected" - ] + "enum": ["server.connected"] }, "data": { "anyOf": [ @@ -25601,11 +23258,7 @@ ] } }, - "required": [ - "id", - "type", - "data" - ], + "required": ["id", "type", "data"], "additionalProperties": false }, "V2Event": { @@ -25655,6 +23308,15 @@ { "$ref": "#/components/schemas/session.input.admitted" }, + { + "$ref": "#/components/schemas/session.input.cancelled" + }, + { + "$ref": "#/components/schemas/session.input.steered" + }, + { + "$ref": "#/components/schemas/session.input.queued" + }, { "$ref": "#/components/schemas/session.execution.started" }, @@ -25879,9 +23541,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "PtyNotFoundError" - ] + "enum": ["PtyNotFoundError"] }, "ptyID": { "type": "string" @@ -25890,11 +23550,7 @@ "type": "string" } }, - "required": [ - "_tag", - "ptyID", - "message" - ], + "required": ["_tag", "ptyID", "message"], "additionalProperties": false }, "PtyTicket.ConnectToken": { @@ -25912,10 +23568,7 @@ ] } }, - "required": [ - "ticket", - "expires_in" - ], + "required": ["ticket", "expires_in"], "additionalProperties": false }, "ForbiddenError": { @@ -25923,18 +23576,13 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "ForbiddenError" - ] + "enum": ["ForbiddenError"] }, "message": { "type": "string" } }, - "required": [ - "_tag", - "message" - ], + "required": ["_tag", "message"], "additionalProperties": false }, "Shell.Info1": { @@ -25950,12 +23598,7 @@ }, "status": { "type": "string", - "enum": [ - "running", - "exited", - "timeout", - "killed" - ] + "enum": ["running", "exited", "timeout", "killed"] }, "command": { "type": "string" @@ -25993,22 +23636,11 @@ "type": "number" } }, - "required": [ - "started" - ], + "required": ["started"], "additionalProperties": false } }, - "required": [ - "id", - "status", - "command", - "cwd", - "shell", - "file", - "metadata", - "time" - ], + "required": ["id", "status", "command", "cwd", "shell", "file", "metadata", "time"], "additionalProperties": false }, "ShellNotFoundError": { @@ -26016,9 +23648,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "ShellNotFoundError" - ] + "enum": ["ShellNotFoundError"] }, "id": { "type": "string" @@ -26027,11 +23657,7 @@ "type": "string" } }, - "required": [ - "_tag", - "id", - "message" - ], + "required": ["_tag", "id", "message"], "additionalProperties": false }, "Question.Request": { @@ -26064,11 +23690,7 @@ "$ref": "#/components/schemas/Question.Tool" } }, - "required": [ - "id", - "sessionID", - "questions" - ], + "required": ["id", "sessionID", "questions"], "additionalProperties": false }, "Question.Reply": { @@ -26082,9 +23704,7 @@ "description": "User answers in order of questions (each answer is an array of selected labels)" } }, - "required": [ - "answers" - ], + "required": ["answers"], "additionalProperties": false }, "QuestionNotFoundError": { @@ -26092,9 +23712,7 @@ "properties": { "_tag": { "type": "string", - "enum": [ - "QuestionNotFoundError" - ] + "enum": ["QuestionNotFoundError"] }, "requestID": { "type": "string" @@ -26103,11 +23721,7 @@ "type": "string" } }, - "required": [ - "_tag", - "requestID", - "message" - ], + "required": ["_tag", "requestID", "message"], "additionalProperties": false }, "Reference.LocalSource": { @@ -26115,9 +23729,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "local" - ] + "enum": ["local"] }, "path": { "type": "string" @@ -26129,10 +23741,7 @@ "type": "boolean" } }, - "required": [ - "type", - "path" - ], + "required": ["type", "path"], "additionalProperties": false }, "Reference.GitSource": { @@ -26140,9 +23749,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "git" - ] + "enum": ["git"] }, "repository": { "type": "string" @@ -26157,10 +23764,7 @@ "type": "boolean" } }, - "required": [ - "type", - "repository" - ], + "required": ["type", "repository"], "additionalProperties": false }, "Reference.Source": { @@ -26192,11 +23796,7 @@ "$ref": "#/components/schemas/Reference.Source" } }, - "required": [ - "name", - "path", - "source" - ], + "required": ["name", "path", "source"], "additionalProperties": false }, "ProjectCopy.Copy": { @@ -26206,9 +23806,7 @@ "type": "string" } }, - "required": [ - "directory" - ], + "required": ["directory"], "additionalProperties": false }, "ProjectCopyError": { @@ -26216,9 +23814,7 @@ "properties": { "name": { "type": "string", - "enum": [ - "ProjectCopyError" - ] + "enum": ["ProjectCopyError"] }, "data": { "type": "object", @@ -26237,16 +23833,11 @@ ] } }, - "required": [ - "message" - ], + "required": ["message"], "additionalProperties": false } }, - "required": [ - "name", - "data" - ], + "required": ["name", "data"], "additionalProperties": false }, "Vcs.Branch": { @@ -26268,9 +23859,7 @@ "$ref": "#/components/schemas/Vcs.Branch" } }, - "required": [ - "branch" - ], + "required": ["branch"], "additionalProperties": false }, "Vcs.FileStatus": { @@ -26297,27 +23886,15 @@ }, "status": { "type": "string", - "enum": [ - "added", - "deleted", - "modified" - ] + "enum": ["added", "deleted", "modified"] } }, - "required": [ - "file", - "additions", - "deletions", - "status" - ], + "required": ["file", "additions", "deletions", "status"], "additionalProperties": false }, "Vcs.Mode": { "type": "string", - "enum": [ - "working", - "branch" - ] + "enum": ["working", "branch"] }, "WebSearch.Provider": { "type": "object", @@ -26329,10 +23906,7 @@ "type": "string" } }, - "required": [ - "id", - "name" - ], + "required": ["id", "name"], "additionalProperties": false }, "WebSearch.Result": { @@ -26357,10 +23931,7 @@ "additionalProperties": false } }, - "required": [ - "url", - "time" - ], + "required": ["url", "time"], "additionalProperties": false }, "WebSearch.Response": { @@ -26376,10 +23947,7 @@ } } }, - "required": [ - "providerID", - "results" - ], + "required": ["providerID", "results"], "additionalProperties": false }, "Config.Agent": { @@ -26423,10 +23991,7 @@ ] } }, - "required": [ - "providerID", - "model" - ], + "required": ["providerID", "model"], "additionalProperties": false } ] @@ -26454,11 +24019,7 @@ }, "mode": { "type": "string", - "enum": [ - "subagent", - "primary", - "all" - ] + "enum": ["subagent", "primary", "all"] }, "hidden": { "type": "boolean" @@ -26543,9 +24104,7 @@ "type": "object" } }, - "required": [ - "command" - ], + "required": ["command"], "additionalProperties": false }, "Config.Command": { @@ -26598,10 +24157,7 @@ ] } }, - "required": [ - "providerID", - "model" - ], + "required": ["providerID", "model"], "additionalProperties": false } ] @@ -26610,9 +24166,7 @@ "type": "boolean" } }, - "required": [ - "template" - ], + "required": ["template"], "additionalProperties": false }, "Config.Reference.Git": { @@ -26631,9 +24185,7 @@ "type": "boolean" } }, - "required": [ - "repository" - ], + "required": ["repository"], "additionalProperties": false }, "Config.Reference.Local": { @@ -26649,9 +24201,7 @@ "type": "boolean" } }, - "required": [ - "path" - ], + "required": ["path"], "additionalProperties": false }, "Config.Plugin.Entry": { @@ -26664,9 +24214,7 @@ "type": "object" } }, - "required": [ - "package" - ], + "required": ["package"], "additionalProperties": false }, "Config.Warming": { @@ -26692,18 +24240,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "context" - ] + "enum": ["context"] }, "size": { "type": "integer" } }, - "required": [ - "type", - "size" - ], + "required": ["type", "size"], "additionalProperties": false }, "input": { @@ -26725,10 +24268,7 @@ "additionalProperties": false } }, - "required": [ - "input", - "output" - ], + "required": ["input", "output"], "additionalProperties": false }, "Config.Model": { @@ -26785,9 +24325,7 @@ "type": "object" } }, - "required": [ - "id" - ], + "required": ["id"], "additionalProperties": false } }, @@ -26908,10 +24446,7 @@ ] } }, - "required": [ - "providerID", - "model" - ], + "required": ["providerID", "model"], "additionalProperties": false } ] @@ -26926,19 +24461,13 @@ }, { "type": "string", - "enum": [ - "notify" - ] + "enum": ["notify"] } ] }, "share": { "type": "string", - "enum": [ - "manual", - "auto", - "disabled" - ] + "enum": ["manual", "auto", "disabled"] }, "enterprise": { "type": "object", @@ -27003,14 +24532,10 @@ "properties": { "disabled": { "type": "boolean", - "enum": [ - true - ] + "enum": [true] } }, - "required": [ - "disabled" - ], + "required": ["disabled"], "additionalProperties": false }, { @@ -27203,9 +24728,7 @@ "type": "string" } }, - "required": [ - "provider" - ], + "required": ["provider"], "additionalProperties": false }, "plugins": { @@ -27255,26 +24778,17 @@ "properties": { "action": { "type": "string", - "enum": [ - "provider.use" - ] + "enum": ["provider.use"] }, "resource": { "type": "string" }, "effect": { "type": "string", - "enum": [ - "allow", - "deny" - ] + "enum": ["allow", "deny"] } }, - "required": [ - "action", - "resource", - "effect" - ], + "required": ["action", "resource", "effect"], "additionalProperties": false } } @@ -27289,9 +24803,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "document" - ] + "enum": ["document"] }, "path": { "type": "string" @@ -27300,10 +24812,7 @@ "$ref": "#/components/schemas/Config.Info" } }, - "required": [ - "type", - "info" - ], + "required": ["type", "info"], "additionalProperties": false }, "Config.Directory": { @@ -27311,18 +24820,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "directory" - ] + "enum": ["directory"] }, "path": { "type": "string" } }, - "required": [ - "type", - "path" - ], + "required": ["type", "path"], "additionalProperties": false }, "Config.File": { @@ -27330,18 +24834,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "file" - ] + "enum": ["file"] }, "path": { "type": "string" } }, - "required": [ - "type", - "path" - ], + "required": ["type", "path"], "additionalProperties": false }, "Config.AgentsDirectory": { @@ -27349,18 +24848,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "agents" - ] + "enum": ["agents"] }, "path": { "type": "string" } }, - "required": [ - "type", - "path" - ], + "required": ["type", "path"], "additionalProperties": false }, "Config.ClaudeDirectory": { @@ -27368,18 +24862,13 @@ "properties": { "type": { "type": "string", - "enum": [ - "claude" - ] + "enum": ["claude"] }, "path": { "type": "string" } }, - "required": [ - "type", - "path" - ], + "required": ["type", "path"], "additionalProperties": false }, "Config.Entry": { diff --git a/packages/www/wrangler.jsonc b/packages/www/wrangler.jsonc index a793b92e14a..6bfc1b85b8f 100644 --- a/packages/www/wrangler.jsonc +++ b/packages/www/wrangler.jsonc @@ -8,7 +8,7 @@ "binding": "ASSETS", "directory": "./dist/client", "html_handling": "drop-trailing-slash", - "not_found_handling": "404-page" + "not_found_handling": "404-page", }, "env": { "dev": { @@ -16,18 +16,18 @@ "routes": [ { "pattern": "dev.opencode.ai/v2*", - "zone_name": "opencode.ai" - } - ] + "zone_name": "opencode.ai", + }, + ], }, "production": { "name": "opencode-www-production", "routes": [ { "pattern": "opencode.ai/v2*", - "zone_name": "opencode.ai" - } - ] - } - } + "zone_name": "opencode.ai", + }, + ], + }, + }, } diff --git a/plans/config-normalization.md b/plans/config-normalization.md index b8901de7e1a..8a658cb77b7 100644 --- a/plans/config-normalization.md +++ b/plans/config-normalization.md @@ -27,37 +27,37 @@ The encoded boundary matters because schemas such as warming durations transform ## Behavior -| Situation | Result | -| --- | --- | -| Supported V1-only field | Migrate it to its canonical V2 destination. | -| Native V2 field | Preserve it after schema decode and encode. | -| Disjoint V1 and V2 map entries | Preserve both. | -| Same canonical scalar, map entry, or nested leaf | Valid native V2 wins regardless of JSON key order. | +| Situation | Result | +| ------------------------------------------------- | --------------------------------------------------- | +| Supported V1-only field | Migrate it to its canonical V2 destination. | +| Native V2 field | Preserve it after schema decode and encode. | +| Disjoint V1 and V2 map entries | Preserve both. | +| Same canonical scalar, map entry, or nested leaf | Valid native V2 wins regardless of JSON key order. | | Malformed native value with valid legacy fallback | Skip native value, log it, and retain legacy value. | -| Malformed collection entry | Skip only the explicitly supported recovery unit. | -| Unsupported accepted V1 setting | Omit it and log a redacted warning. | -| Unknown field | Continue ignoring it for forward compatibility. | +| Malformed collection entry | Skip only the explicitly supported recovery unit. | +| Unsupported accepted V1 setting | Omit it and log a redacted warning. | +| Unknown field | Continue ignoring it for forward compatibility. | Valid supported V1 syntax does not warn merely because it is legacy. ## Field Precedence -| Destination | Lowest to highest precedence | -| --- | --- | -| `snapshots` | `snapshot` < `snapshots` | -| `share` | `autoshare` < `share` | -| `references[name]` | `reference[name]` < `references[name]` | -| `agents[name]` | `agent[name]` < `mode[name]` < `agents[name]` | -| `commands[name]` | `command[name]` < `commands[name]` | -| `providers[name]` | `provider[name]` < `providers[name]` | -| `permissions` | `tools` rules < `permission` rules < native `permissions` | -| `plugins` | migrated `plugin` items < native `plugins` items | -| `media` | `attachment` < `media` | -| `experimental.policies` | enabled-provider policies < disabled-provider policies < native policies | -| `mcp.servers[name]` | direct legacy server < native `servers[name]` | -| `mcp.timeout.*` | `experimental.mcp_timeout` < native timeout leaf | -| `compaction.keep.tokens` | `preserve_recent_tokens` < `keep.tokens` | -| `compaction.buffer` | `reserved` < `buffer` | +| Destination | Lowest to highest precedence | +| ------------------------ | ------------------------------------------------------------------------ | +| `snapshots` | `snapshot` < `snapshots` | +| `share` | `autoshare` < `share` | +| `references[name]` | `reference[name]` < `references[name]` | +| `agents[name]` | `agent[name]` < `mode[name]` < `agents[name]` | +| `commands[name]` | `command[name]` < `commands[name]` | +| `providers[name]` | `provider[name]` < `providers[name]` | +| `permissions` | `tools` rules < `permission` rules < native `permissions` | +| `plugins` | migrated `plugin` items < native `plugins` items | +| `media` | `attachment` < `media` | +| `experimental.policies` | enabled-provider policies < disabled-provider policies < native policies | +| `mcp.servers[name]` | direct legacy server < native `servers[name]` | +| `mcp.timeout.*` | `experimental.mcp_timeout` < native timeout leaf | +| `compaction.keep.tokens` | `preserve_recent_tokens` < `keep.tokens` | +| `compaction.buffer` | `reserved` < `buffer` | Ordered rules and plugin directives retain both forms, with migrated V1 entries first and native V2 entries last. diff --git a/script/ast-grep/rule-tests/__snapshots__/no-drizzle-column-name-snapshot.yml b/script/ast-grep/rule-tests/__snapshots__/no-drizzle-column-name-snapshot.yml index aae0c580ee7..7e10afd9fc6 100644 --- a/script/ast-grep/rule-tests/__snapshots__/no-drizzle-column-name-snapshot.yml +++ b/script/ast-grep/rule-tests/__snapshots__/no-drizzle-column-name-snapshot.yml @@ -6,7 +6,7 @@ snapshots: createdAt: integer("time_created").notNull(), }) : labels: - - source: text("project_id") - style: primary - start: 52 - end: 70 + - source: text("project_id") + style: primary + start: 52 + end: 70 diff --git a/script/ast-grep/rule-tests/__snapshots__/no-effect-die-string-snapshot.yml b/script/ast-grep/rule-tests/__snapshots__/no-effect-die-string-snapshot.yml index a1bb4641644..a39739aaa87 100644 --- a/script/ast-grep/rule-tests/__snapshots__/no-effect-die-string-snapshot.yml +++ b/script/ast-grep/rule-tests/__snapshots__/no-effect-die-string-snapshot.yml @@ -2,29 +2,29 @@ id: no-effect-die-string snapshots: Effect.die("boom"): labels: - - source: Effect.die("boom") - style: primary - start: 0 - end: 18 - - source: '"boom"' - style: secondary - start: 11 - end: 17 - - source: ("boom") - style: secondary - start: 10 - end: 18 + - source: Effect.die("boom") + style: primary + start: 0 + end: 18 + - source: '"boom"' + style: secondary + start: 11 + end: 17 + - source: ("boom") + style: secondary + start: 10 + end: 18 Effect.die(`boom ${value}`): labels: - - source: Effect.die(`boom ${value}`) - style: primary - start: 0 - end: 27 - - source: '`boom ${value}`' - style: secondary - start: 11 - end: 26 - - source: (`boom ${value}`) - style: secondary - start: 10 - end: 27 + - source: Effect.die(`boom ${value}`) + style: primary + start: 0 + end: 27 + - source: "`boom ${value}`" + style: secondary + start: 11 + end: 26 + - source: (`boom ${value}`) + style: secondary + start: 10 + end: 27 diff --git a/script/ast-grep/rule-tests/__snapshots__/no-import-alias-snapshot.yml b/script/ast-grep/rule-tests/__snapshots__/no-import-alias-snapshot.yml index 6336c0bd01d..7a9561c920b 100644 --- a/script/ast-grep/rule-tests/__snapshots__/no-import-alias-snapshot.yml +++ b/script/ast-grep/rule-tests/__snapshots__/no-import-alias-snapshot.yml @@ -2,41 +2,41 @@ id: no-import-alias snapshots: import { baz, foo as bar } from "./foo": labels: - - source: foo as bar - style: primary - start: 14 - end: 24 - - source: bar - style: secondary - start: 21 - end: 24 + - source: foo as bar + style: primary + start: 14 + end: 24 + - source: bar + style: secondary + start: 21 + end: 24 import { foo as bar } from "./foo": labels: - - source: foo as bar - style: primary - start: 9 - end: 19 - - source: bar - style: secondary - start: 16 - end: 19 + - source: foo as bar + style: primary + start: 9 + end: 19 + - source: bar + style: secondary + start: 16 + end: 19 import { foo as bar, baz } from "./foo": labels: - - source: foo as bar - style: primary - start: 9 - end: 19 - - source: bar - style: secondary - start: 16 - end: 19 + - source: foo as bar + style: primary + start: 9 + end: 19 + - source: bar + style: secondary + start: 16 + end: 19 import { type Foo as Bar, baz } from "./foo": labels: - - source: type Foo as Bar - style: primary - start: 9 - end: 24 - - source: Bar - style: secondary - start: 21 - end: 24 + - source: type Foo as Bar + style: primary + start: 9 + end: 24 + - source: Bar + style: secondary + start: 21 + end: 24 diff --git a/script/ast-grep/rule-tests/__snapshots__/no-json-parse-cast-snapshot.yml b/script/ast-grep/rule-tests/__snapshots__/no-json-parse-cast-snapshot.yml index 0aa2a274eac..6039b4e3163 100644 --- a/script/ast-grep/rule-tests/__snapshots__/no-json-parse-cast-snapshot.yml +++ b/script/ast-grep/rule-tests/__snapshots__/no-json-parse-cast-snapshot.yml @@ -2,7 +2,7 @@ id: no-json-parse-cast snapshots: const value = JSON.parse(input) as Record: labels: - - source: JSON.parse(input) as Record - style: primary - start: 14 - end: 58 + - source: JSON.parse(input) as Record + style: primary + start: 14 + end: 58 diff --git a/script/ast-grep/rule-tests/__snapshots__/no-nested-effect-service-yield-snapshot.yml b/script/ast-grep/rule-tests/__snapshots__/no-nested-effect-service-yield-snapshot.yml index 30619694f8e..9e59e5b0748 100644 --- a/script/ast-grep/rule-tests/__snapshots__/no-nested-effect-service-yield-snapshot.yml +++ b/script/ast-grep/rule-tests/__snapshots__/no-nested-effect-service-yield-snapshot.yml @@ -5,16 +5,16 @@ snapshots: yield* (yield* Foo.Service).client.run() }) : labels: - - source: (yield* Foo.Service).client.run() - style: primary - start: 35 - end: 68 + - source: (yield* Foo.Service).client.run() + style: primary + start: 35 + end: 68 ? | Effect.gen(function* () { yield* (yield* Foo.Service).run() }) : labels: - - source: (yield* Foo.Service).run() - style: primary - start: 35 - end: 61 + - source: (yield* Foo.Service).run() + style: primary + start: 35 + end: 61 diff --git a/script/ast-grep/rule-tests/__snapshots__/no-star-import-snapshot.yml b/script/ast-grep/rule-tests/__snapshots__/no-star-import-snapshot.yml index dab38e82f6a..8c6533fa3b0 100644 --- a/script/ast-grep/rule-tests/__snapshots__/no-star-import-snapshot.yml +++ b/script/ast-grep/rule-tests/__snapshots__/no-star-import-snapshot.yml @@ -2,21 +2,21 @@ id: no-star-import snapshots: import * as Foo from "./foo": labels: - - source: '* as Foo' - style: primary - start: 7 - end: 15 - - source: import * as Foo from "./foo" - style: secondary - start: 0 - end: 28 + - source: "* as Foo" + style: primary + start: 7 + end: 15 + - source: import * as Foo from "./foo" + style: secondary + start: 0 + end: 28 import type * as Foo from "./foo": labels: - - source: '* as Foo' - style: primary - start: 12 - end: 20 - - source: import type * as Foo from "./foo" - style: secondary - start: 0 - end: 33 + - source: "* as Foo" + style: primary + start: 12 + end: 20 + - source: import type * as Foo from "./foo" + style: secondary + start: 0 + end: 33 diff --git a/script/update-artifact.ts b/script/update-artifact.ts index 89a50837eb4..a5ecd48a149 100644 --- a/script/update-artifact.ts +++ b/script/update-artifact.ts @@ -28,7 +28,8 @@ export namespace UpdateArtifact { const tokenResponse = await fetch(url, { headers: { Authorization: `Bearer ${requestToken}` } }) if (!tokenResponse.ok) throw new Error(`Failed to request GitHub OIDC token: ${tokenResponse.status}`) const token: unknown = await tokenResponse.json() - if (!isRecord(token) || typeof token.value !== "string") throw new Error("GitHub OIDC response did not include a token") + if (!isRecord(token) || typeof token.value !== "string") + throw new Error("GitHub OIDC response did not include a token") const response = await fetch("https://update.opencode.ai/api/publish", { method: "POST", @@ -64,7 +65,10 @@ export namespace UpdateArtifact { function parseDesktop(content: string, version: string, repo: string) { const lines = content.split("\n") - const found = lines.find((line) => line.startsWith("version:"))?.slice("version:".length).trim() + const found = lines + .find((line) => line.startsWith("version:")) + ?.slice("version:".length) + .trim() if (found !== version) throw new Error(`Desktop metadata version mismatch: expected ${version}, got ${found}`) const releaseDate = lines .find((line) => line.startsWith("releaseDate:")) diff --git a/specs/v2/catalog-config-plugin-lifecycle.md b/specs/v2/catalog-config-plugin-lifecycle.md index c70ab8da9be..0dace5763b3 100644 --- a/specs/v2/catalog-config-plugin-lifecycle.md +++ b/specs/v2/catalog-config-plugin-lifecycle.md @@ -27,9 +27,13 @@ const transform = yield * Config.transform() yield * transform((config) => { config.providers ??= {} - config.providers.acme = {/* ... */} + config.providers.acme = { + /* ... */ + } config.model = "acme/code" - config.permissions = [/* ... */] + config.permissions = [ + /* ... */ + ] }) ```