diff --git a/bun.lock b/bun.lock index d955e2a7456d..9283e669e93f 100644 --- a/bun.lock +++ b/bun.lock @@ -1042,10 +1042,10 @@ "catalog": { "@cloudflare/workers-types": "4.20251008.0", "@corvu/drawer": "0.2.4", - "@effect/opentelemetry": "4.0.1", - "@effect/platform-node": "4.0.1", - "@effect/platform-node-shared": "4.0.1", - "@effect/sql-sqlite-bun": "4.0.1", + "@effect/opentelemetry": "4.0.6", + "@effect/platform-node": "4.0.6", + "@effect/platform-node-shared": "4.0.6", + "@effect/sql-sqlite-bun": "4.0.6", "@kobalte/core": "0.13.13", "@lydell/node-pty": "1.2.0-beta.12", "@npmcli/arborist": "9.4.0", @@ -1081,7 +1081,7 @@ "dompurify": "3.4.17", "drizzle-kit": "1.0.0-rc.5-ab785fc", "drizzle-orm": "1.0.0-rc.5-169397b", - "effect": "4.0.1", + "effect": "4.0.6", "fast-check": "4.9.0", "fuzzysort": "3.1.0", "get-east-asian-width": "1.6.0", @@ -1512,13 +1512,13 @@ "@drizzle-team/brocli": ["@drizzle-team/brocli@0.12.0", "", {}, "sha512-mlUE+rZ8CatQekLhnaiN91Iemdd+e2gFKooGlnRB3oPTL3VghLfX24dx7HrzMNeC1JrIB/0kpsfyty3f5HNfxQ=="], - "@effect/opentelemetry": ["@effect/opentelemetry@4.0.1", "", { "peerDependencies": { "@opentelemetry/api": ">=1.9.0 <2.0.0", "@opentelemetry/api-logs": ">=0.203.0 <0.300.0", "@opentelemetry/resources": ">=2.0.0 <3.0.0", "@opentelemetry/sdk-logs": ">=0.203.0 <0.300.0", "@opentelemetry/sdk-metrics": ">=2.0.0 <3.0.0", "@opentelemetry/sdk-trace-base": ">=2.0.0 <3.0.0", "@opentelemetry/sdk-trace-node": ">=2.0.0 <3.0.0", "@opentelemetry/sdk-trace-web": ">=2.0.0 <3.0.0", "@opentelemetry/semantic-conventions": ">=1.33.0 <2.0.0", "effect": "^4.0.1" }, "optionalPeers": ["@opentelemetry/api", "@opentelemetry/api-logs", "@opentelemetry/resources", "@opentelemetry/sdk-logs", "@opentelemetry/sdk-metrics", "@opentelemetry/sdk-trace-base", "@opentelemetry/sdk-trace-node", "@opentelemetry/sdk-trace-web"] }, "sha512-MZ7M1a1dxMqTqeNwIGSECjO7RrReEgeEwHo8BnbOqP+8IfVpdiJi/iPCmkFVWlAxanMl4qhsq69e0Hkul9t+bA=="], + "@effect/opentelemetry": ["@effect/opentelemetry@4.0.6", "", { "peerDependencies": { "@opentelemetry/api": ">=1.9.0 <2.0.0", "@opentelemetry/api-logs": ">=0.203.0 <0.300.0", "@opentelemetry/resources": ">=2.0.0 <3.0.0", "@opentelemetry/sdk-logs": ">=0.203.0 <0.300.0", "@opentelemetry/sdk-metrics": ">=2.0.0 <3.0.0", "@opentelemetry/sdk-trace-base": ">=2.0.0 <3.0.0", "@opentelemetry/sdk-trace-node": ">=2.0.0 <3.0.0", "@opentelemetry/sdk-trace-web": ">=2.0.0 <3.0.0", "@opentelemetry/semantic-conventions": ">=1.33.0 <2.0.0", "effect": "^4.0.6" }, "optionalPeers": ["@opentelemetry/api", "@opentelemetry/api-logs", "@opentelemetry/resources", "@opentelemetry/sdk-logs", "@opentelemetry/sdk-metrics", "@opentelemetry/sdk-trace-base", "@opentelemetry/sdk-trace-node", "@opentelemetry/sdk-trace-web"] }, "sha512-xhLR1EN4ZNaKM7Bx59SCFiRNduFzgH8LZXDrCpPN8MpQ93V0GQcFHTBah5T3EXO2v+5HTEacdTgetIA0Creqvw=="], - "@effect/platform-node": ["@effect/platform-node@4.0.1", "", { "dependencies": { "@effect/platform-node-shared": "^4.0.1", "undici": "^8.11.2" }, "peerDependencies": { "effect": "^4.0.1", "redis": ">=5.0.0 <7.0.0" } }, "sha512-FT0Fu5LO0/XP9zBpj0HqrtJNLluK4StNKqf6TSulUsjp8FPBsDVXGJiDuyoN5J2yVMT7tgvhxSwaDcObWVRIaQ=="], + "@effect/platform-node": ["@effect/platform-node@4.0.6", "", { "dependencies": { "@effect/platform-node-shared": "^4.0.6", "undici": "^8.12.2" }, "peerDependencies": { "effect": "^4.0.6", "redis": ">=5.0.0 <7.0.0" } }, "sha512-gXvGHAy0/8PZbWvMMguloDUyeSP+rzYEo3FSEqUuGduxo9ORcGioDxPI+GOLCIFfam7VuNkmSUxBOiRMIrMrBw=="], - "@effect/platform-node-shared": ["@effect/platform-node-shared@4.0.1", "", { "dependencies": { "@types/ws": "^8.18.1", "ws": "^8.22.0" }, "peerDependencies": { "effect": "^4.0.1" } }, "sha512-VanaejudEhKJ4mpmqnEzdncVUhN6sGSO9ZDND54mRxAlZxj+4dYAWjDTYAy9o4tJo9aALeP2U8cVcOFzEdSeLg=="], + "@effect/platform-node-shared": ["@effect/platform-node-shared@4.0.6", "", { "dependencies": { "@types/ws": "^8.18.2", "ws": "^8.22.0" }, "peerDependencies": { "effect": "^4.0.6" } }, "sha512-0PhyC4uG30xGtsajnxjkcBWfTjNRzUh4ZKl1Kvo/MNyCTb+W2O+fBzf7wCRCoqt+nLudiq4V7vX40Q8XIBuMaQ=="], - "@effect/sql-sqlite-bun": ["@effect/sql-sqlite-bun@4.0.1", "", { "peerDependencies": { "effect": "^4.0.1" } }, "sha512-cBP2gD4KRuci02W1t/jzbrsk9spjiy45d7Z5i95nAnYaUXjU4JFgLa9Dxbumg5NUgzoK7qOdIeO0fULxEhK0LA=="], + "@effect/sql-sqlite-bun": ["@effect/sql-sqlite-bun@4.0.6", "", { "peerDependencies": { "effect": "^4.0.6" } }, "sha512-IUf0d6NrrG+m/yKqziGyE9xQO5cOPzyDcb98S39OpdQMKHBZjVtx+TN+nz3b8Spc6AvfKjFYTcvXSjSzgjDRug=="], "@electron-internal/extract-zip": ["@electron-internal/extract-zip@1.0.5", "", {}, "sha512-+bqFCP98pLI0Tt0XQo1TmlXtwjWchISndDOxCkEcIuUgXWpBnLyRI+2DU+mesvnMMX6L1XDqYNA0lXNDHd/yiA=="], @@ -3122,7 +3122,7 @@ "ecdsa-sig-formatter": ["ecdsa-sig-formatter@1.0.11", "", { "dependencies": { "safe-buffer": "^5.0.1" } }, "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ=="], - "effect": ["effect@4.0.1", "", {}, "sha512-b1VlQG9g8fwxE5QnIZuPoOP/0MsqHJSRKxUijjoM80E5q95FXrX5yWtY5XI8G+GJsBQAVSDbLS458z9a++uVvw=="], + "effect": ["effect@4.0.6", "", {}, "sha512-Tc3mkzuLR6t6P9dhLt0D2GrxYtmU5td4XEJEiXCmILz53IRIfJyHsKZWjTA3xEjiwpNTtXBgI4iqYPxMztBDrw=="], "ejs": ["ejs@3.1.10", "", { "dependencies": { "jake": "^10.8.5" }, "bin": { "ejs": "bin/cli.js" } }, "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA=="], @@ -4894,6 +4894,8 @@ "@cspotcode/source-map-support/@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.9", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" } }, "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ=="], + "@effect/platform-node-shared/@types/ws": ["@types/ws@8.18.2", "", { "dependencies": { "@types/node": "*" } }, "sha512-67MQl+fpWKVTT1NYdnmo3U4sc/xPo/zQBncVnI74qmQa0z/b+1g6iYqNmGCPbxO+zz2aklb08a0oHfegiVd0/w=="], + "@effect/platform-node-shared/ws": ["ws@8.22.0", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-Ydggc987+RO0AnWtZ/7Wq9FtNvcrL1b/RO0ud9mWjUPgDrsAAwQSF51sm2hm1XofbU/4jkpGEsLFsZZxU+1DOg=="], "@electron/asar/commander": ["commander@5.1.0", "", {}, "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg=="], diff --git a/package.json b/package.json index bc3942e75144..8cb7da3e3ab0 100644 --- a/package.json +++ b/package.json @@ -45,10 +45,10 @@ "packages/stats/*" ], "catalog": { - "@effect/opentelemetry": "4.0.1", - "@effect/platform-node": "4.0.1", - "@effect/platform-node-shared": "4.0.1", - "@effect/sql-sqlite-bun": "4.0.1", + "@effect/opentelemetry": "4.0.6", + "@effect/platform-node": "4.0.6", + "@effect/platform-node-shared": "4.0.6", + "@effect/sql-sqlite-bun": "4.0.6", "@npmcli/arborist": "9.4.0", "@types/bun": "1.4.3", "@types/cross-spawn": "6.0.6", @@ -77,7 +77,7 @@ "dompurify": "3.4.17", "drizzle-kit": "1.0.0-rc.5-ab785fc", "drizzle-orm": "1.0.0-rc.5-169397b", - "effect": "4.0.1", + "effect": "4.0.6", "fast-check": "4.9.0", "cross-spawn": "7.0.6", "hono": "4.10.7", diff --git a/packages/client/src/promise/generated/types.ts b/packages/client/src/promise/generated/types.ts index f5db7ce7e535..29eb590e19b3 100644 --- a/packages/client/src/promise/generated/types.ts +++ b/packages/client/src/promise/generated/types.ts @@ -2505,7 +2505,7 @@ export type CredentialEntry = { value: CredentialValue } -export type FormFields2 = [FormField1, ...Array] +export type FormFields1 = [FormField1, ...Array] export type AgentInfo = { id: AgentID @@ -2580,7 +2580,7 @@ export type IntegrationExternalMethod = { id: IntegrationMethodID; type: "extern export type GenerateDecisionsResponse = { data: GenerateDecisionResult } -export type FormInfo1 = { id: FormID; sessionID: string; title: string; metadata?: FormMetadata1; fields: FormFields2 } +export type FormInfo1 = { id: FormID; sessionID: string; title: string; metadata?: FormMetadata1; fields: FormFields1 } export type SessionMessageInfo = | SessionMessageAgentSelected diff --git a/packages/codemode/src/tool-schema.ts b/packages/codemode/src/tool-schema.ts index 900556191ca4..04e8bb5e1ed7 100644 --- a/packages/codemode/src/tool-schema.ts +++ b/packages/codemode/src/tool-schema.ts @@ -79,8 +79,11 @@ const docTags = (schema: JsonSchema): Array => { } if (typeof schema.format === "string") tags.push(`@format ${schema.format}`) if (schema.type === "integer") tags.push("@integer") - if (typeof schema.minimum === "number") tags.push(`@minimum ${schema.minimum}`) - if (typeof schema.maximum === "number") tags.push(`@maximum ${schema.maximum}`) + const integer = schema.type === "integer" + if (typeof schema.minimum === "number" && !(integer && schema.minimum === Number.MIN_SAFE_INTEGER)) + tags.push(`@minimum ${schema.minimum}`) + if (typeof schema.maximum === "number" && !(integer && schema.maximum === Number.MAX_SAFE_INTEGER)) + tags.push(`@maximum ${schema.maximum}`) if (typeof schema.exclusiveMinimum === "number") tags.push(`@exclusiveMinimum ${schema.exclusiveMinimum}`) if (typeof schema.exclusiveMaximum === "number") tags.push(`@exclusiveMaximum ${schema.exclusiveMaximum}`) if (typeof schema.multipleOf === "number") tags.push(`@multipleOf ${schema.multipleOf}`) @@ -154,7 +157,10 @@ const renderSchema = ( } if (schema.const !== undefined) return renderLiteral(schema.const) if (schema.enum) return schema.enum.map(renderLiteral).join(" | ") - const alternatives = schema.anyOf ?? schema.oneOf + const listed = schema.anyOf ?? schema.oneOf + const alternatives = listed?.some((item) => item.type === "number") + ? listed.filter((item) => !effectNumberSentinel(item)) + : listed if (alternatives) { if ( alternatives.some((item) => item.type === "number") && diff --git a/packages/core/src/database/sqlite.ts b/packages/core/src/database/sqlite.ts index 186274fe3e31..86f57b2d1855 100644 --- a/packages/core/src/database/sqlite.ts +++ b/packages/core/src/database/sqlite.ts @@ -78,6 +78,7 @@ export const makeClient = < acquirer, compiler: Statement.makeCompilerSqlite(options.transformQueryNames), transactionAcquirer, + driver: "sqlite", spanAttributes: [ ...(options.spanAttributes ? Object.entries(options.spanAttributes) : []), ["db.system.name", "sqlite"], diff --git a/packages/core/src/database/sqlite.workerd.ts b/packages/core/src/database/sqlite.workerd.ts index 7c032507f0f0..2923d2e60e09 100644 --- a/packages/core/src/database/sqlite.workerd.ts +++ b/packages/core/src/database/sqlite.workerd.ts @@ -185,6 +185,7 @@ const make = (options: Config) => compiler, transactionAcquirer, transactionService: WorkerdTransaction, + driver: "sqlite-do", spanAttributes: [ ...(options.spanAttributes ? Object.entries(options.spanAttributes) : []), [ATTR_DB_SYSTEM_NAME, "sqlite"], diff --git a/packages/core/src/tool/runtime.ts b/packages/core/src/tool/runtime.ts index ca2cdde3b217..7a65fa8345ba 100644 --- a/packages/core/src/tool/runtime.ts +++ b/packages/core/src/tool/runtime.ts @@ -191,7 +191,21 @@ const flattenAllOf = (value: unknown): unknown => { if (Array.isArray(value)) return value.map(flattenAllOf) if (typeof value !== "object" || value === null) return value - const schema = Object.fromEntries(Object.entries(value).map(([key, item]) => [key, flattenAllOf(item)])) + // Effect adds the safe-integer range to every Schema.Int. Drop it so tool schemas don't change and + // bust prompt caches. + const integer = "type" in value && value.type === "integer" + const schema = Object.fromEntries( + Object.entries(value) + .filter( + ([key, item]) => + !integer || + !( + (key === "minimum" && item === Number.MIN_SAFE_INTEGER) || + (key === "maximum" && item === Number.MAX_SAFE_INTEGER) + ), + ) + .map(([key, item]) => [key, flattenAllOf(item)]), + ) if (!Array.isArray(schema.allOf) || !schema.allOf.every(isRecord) || !canFlattenAllOf(schema.allOf, schema)) return schema const { allOf, ...rest } = schema diff --git a/packages/core/test/database-migration.test.ts b/packages/core/test/database-migration.test.ts index 6c013508744b..47171f8d65d1 100644 --- a/packages/core/test/database-migration.test.ts +++ b/packages/core/test/database-migration.test.ts @@ -58,6 +58,7 @@ const parkedClient = (arrived: Deferred.Deferred, gate: Deferred.Deferred< executeRaw: (query, params) => park(query, connection.executeRaw(query, params)), }), compiler: Statement.makeCompilerSqlite(), + driver: client.driver, spanAttributes: [], }) }), diff --git a/packages/httpapi-codegen/src/index.ts b/packages/httpapi-codegen/src/index.ts index 3df97570fa3c..90eb07bc8e5f 100644 --- a/packages/httpapi-codegen/src/index.ts +++ b/packages/httpapi-codegen/src/index.ts @@ -93,7 +93,9 @@ type PromiseInputField = | (InputField & { readonly optional: boolean }) | { readonly name: string; readonly source: "wildcard"; readonly optional: false } -const resolveHttpApiStatus = SchemaAST.resolveAt("httpApiStatus") +const resolveHttpApiStatus = (ast: SchemaAST.AST) => + SchemaAST.resolveAt("httpApiStatus")(ast) ?? + (ast.checks === undefined ? ast.context?.annotations?.httpApiStatus : undefined) const resolveHttpApiEncoding = SchemaAST.resolveAt("~httpApiEncoding") const Manifest = Schema.fromJsonString(Schema.Array(Schema.String)) const manifestName = ".httpapi-codegen.json" @@ -1454,7 +1456,10 @@ function sameChecks(left: SchemaAST.Checks | undefined, right: SchemaAST.Checks } function sameContext(left: SchemaAST.Context | undefined, right: SchemaAST.Context | undefined) { - return left?.isOptional === right?.isOptional && left?.isMutable === right?.isMutable + return ( + (left?.isOptional ?? false) === (right?.isOptional ?? false) && + (left?.isMutable ?? false) === (right?.isMutable ?? false) + ) } export function write( @@ -1738,7 +1743,9 @@ function isDataEnvelope(schema: Schema.Top) { ) } -function isStreamSchema(schema: Schema.Top): schema is HttpApiSchema.StreamSchema { +function isStreamSchema( + schema: Schema.Top, +): schema is Exclude> { return "_tag" in schema && (schema._tag === "StreamSse" || schema._tag === "StreamUint8Array") } @@ -1841,7 +1848,7 @@ function renderGroup(group: Group) { const inputDeclaration = operation.operation.inputMode === "none" ? "" - : `${opaquePayload ? `type ${prefix}Request = Parameters[0]\n` : ""}type ${prefix}Input = { ${inputType} }\n` + : `${opaquePayload ? `type ${prefix}Request = Parameters[0] & { readonly responseMode?: "decoded-only" }\n` : ""}type ${prefix}Input = { ${inputType} }\n` adapters.push( `${inputDeclaration}const ${prefix}DeclaredError = ${declaredSchema}\nconst map${prefix}Error = (error: unknown) => HttpClientError.isHttpClientError(error) || Schema.isSchemaError(error) || Sse.Retry.is(error) ? new ClientError({ cause: error }) : Schema.is(${prefix}DeclaredError)(error) ? error : new ClientError({ cause: error })\nconst ${prefix} = (raw: RawGroup) => (${argument}) => ${operation.operation.success === "stream" ? `Stream.unwrap(${rawCall}.pipe(Effect.mapError(map${prefix}Error), Effect.map((stream) => stream.pipe(Stream.mapError(map${prefix}Error)))))` : mapped}`, ) @@ -1922,7 +1929,9 @@ function renderSchemas(slots: ReadonlyArray) { ] const document = SchemaRepresentation.toCodeDocument( SchemaRepresentation.toRepresentations( - codegenAsts(expanded.map((slot) => slot.schema.ast)) as [SchemaAST.AST, ...Array], + codegenAsts( + expanded.map((slot) => slot.schema.annotate({ httpApiStatus: resolveHttpApiStatus(slot.schema.ast) }).ast), + ) as [SchemaAST.AST, ...Array], ), ) const artifacts = document.artifacts.flatMap((artifact) => { diff --git a/packages/httpapi-codegen/test/generated/session.ts b/packages/httpapi-codegen/test/generated/session.ts index 7f0a649472cc..71074c2f3baf 100644 --- a/packages/httpapi-codegen/test/generated/session.ts +++ b/packages/httpapi-codegen/test/generated/session.ts @@ -114,7 +114,7 @@ const mapEndpointInterruptError = (error: unknown) => const EndpointInterrupt = (raw: RawGroup) => (input: EndpointInterruptInput) => raw["interrupt"]({ params: { sessionID: input["sessionID"] } }).pipe(Effect.mapError(mapEndpointInterruptError)) -type EndpointConfigureRequest = Parameters[0] +type EndpointConfigureRequest = Parameters[0] & { readonly responseMode?: "decoded-only" } type EndpointConfigureInput = { readonly sessionID: (typeof EndpointConfigureParams.Type)["sessionID"] readonly dryRun?: (typeof EndpointConfigureQuery.Type)["dryRun"] diff --git a/packages/httpapi-codegen/test/write.test.ts b/packages/httpapi-codegen/test/write.test.ts index 734c3b48be88..4d5185ef7b40 100644 --- a/packages/httpapi-codegen/test/write.test.ts +++ b/packages/httpapi-codegen/test/write.test.ts @@ -143,7 +143,7 @@ describe("HttpApiCodegen.write", () => { mtime: Option.none(), atime: Option.none(), birthtime: Option.none(), - dev: 0, + dev: 0n, ino: Option.none(), mode: 0, nlink: Option.none(), diff --git a/packages/protocol/openapi.json b/packages/protocol/openapi.json index 1789c459277b..79af7fa8a14e 100644 --- a/packages/protocol/openapi.json +++ b/packages/protocol/openapi.json @@ -5170,17 +5170,13 @@ "schema": { "anyOf": [ { - "anyOf": [ - { - "$ref": "#/components/schemas/Model.Type" - }, - { - "type": "array", - "items": { - "$ref": "#/components/schemas/Model.Type" - } - } - ] + "$ref": "#/components/schemas/Model.Type" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/Model.Type" + } }, { "type": "null" @@ -10594,225 +10590,217 @@ "schema": { "anyOf": [ { - "anyOf": [ - { - "anyOf": [ - { - "type": "string", - "enum": [ - "location.shutdown", - "models-dev.refreshed", - "credential.updated", - "credential.switched", - "integration.updated", - "provider.updated", - "model.updated", - "agent.updated", - "session.created", - "session.agent.selected", - "session.model.selected", - "session.moved", - "session.renamed", - "session.metadata.updated", - "session.permissions", - "session.viewed", - "session.archived", - "session.unarchived", - "session.usage.updated", - "session.deleted", - "session.forked", - "session.inbox.delivered", - "session.inbox.enqueued", - "session.inbox.cancelled", - "session.inbox.delivery.changed", - "session.execution.started", - "session.execution.succeeded", - "session.execution.failed", - "session.execution.interrupted", - "session.instructions.updated", - "session.synthetic", - "session.skill.activated", - "session.shell.started", - "session.shell.ended", - "session.step.started", - "session.step.streamed", - "session.step.ended", - "session.step.failed", - "session.text.started", - "session.text.delta", - "session.text.ended", - "session.reasoning.started", - "session.reasoning.delta", - "session.reasoning.ended", - "session.tool.input.started", - "session.tool.input.delta", - "session.tool.input.ended", - "session.tool.called", - "session.tool.progress", - "session.tool.success", - "session.tool.failed", - "session.retry.scheduled", - "session.compaction.started", - "session.compaction.delta", - "session.compaction.ended", - "session.compaction.failed", - "session.revert.staged", - "session.revert.cleared", - "session.revert.committed", - "filesystem.changed", - "reference.updated", - "permission.asked", - "permission.replied", - "plugin.updated", - "project.updated", - "worktree.updated", - "worktree.resolved", - "command.updated", - "config.updated", - "skill.updated", - "pty.created", - "pty.updated", - "pty.exited", - "pty.deleted", - "persistent-pty.added", - "persistent-pty.removed", - "shell.created", - "shell.exited", - "shell.deleted", - "form.created", - "form.replied", - "form.cancelled", - "websearch.updated", - "session.status", - "session.idle", - "tui.prompt.append", - "tui.command.execute", - "tui.toast.show", - "tui.session.select", - "installation.updated", - "installation.update-available", - "vcs.branch.updated", - "mcp.status.changed", - "mcp.resources.changed" - ] - }, - { - "type": "string", - "pattern": "^rpc\\.[\\s\\S]*?$" - } - ] - }, - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string", - "enum": [ - "location.shutdown", - "models-dev.refreshed", - "credential.updated", - "credential.switched", - "integration.updated", - "provider.updated", - "model.updated", - "agent.updated", - "session.created", - "session.agent.selected", - "session.model.selected", - "session.moved", - "session.renamed", - "session.metadata.updated", - "session.permissions", - "session.viewed", - "session.archived", - "session.unarchived", - "session.usage.updated", - "session.deleted", - "session.forked", - "session.inbox.delivered", - "session.inbox.enqueued", - "session.inbox.cancelled", - "session.inbox.delivery.changed", - "session.execution.started", - "session.execution.succeeded", - "session.execution.failed", - "session.execution.interrupted", - "session.instructions.updated", - "session.synthetic", - "session.skill.activated", - "session.shell.started", - "session.shell.ended", - "session.step.started", - "session.step.streamed", - "session.step.ended", - "session.step.failed", - "session.text.started", - "session.text.delta", - "session.text.ended", - "session.reasoning.started", - "session.reasoning.delta", - "session.reasoning.ended", - "session.tool.input.started", - "session.tool.input.delta", - "session.tool.input.ended", - "session.tool.called", - "session.tool.progress", - "session.tool.success", - "session.tool.failed", - "session.retry.scheduled", - "session.compaction.started", - "session.compaction.delta", - "session.compaction.ended", - "session.compaction.failed", - "session.revert.staged", - "session.revert.cleared", - "session.revert.committed", - "filesystem.changed", - "reference.updated", - "permission.asked", - "permission.replied", - "plugin.updated", - "project.updated", - "worktree.updated", - "worktree.resolved", - "command.updated", - "config.updated", - "skill.updated", - "pty.created", - "pty.updated", - "pty.exited", - "pty.deleted", - "persistent-pty.added", - "persistent-pty.removed", - "shell.created", - "shell.exited", - "shell.deleted", - "form.created", - "form.replied", - "form.cancelled", - "websearch.updated", - "session.status", - "session.idle", - "tui.prompt.append", - "tui.command.execute", - "tui.toast.show", - "tui.session.select", - "installation.updated", - "installation.update-available", - "vcs.branch.updated", - "mcp.status.changed", - "mcp.resources.changed" - ] - }, - { - "type": "string", - "pattern": "^rpc\\.[\\s\\S]*?$" - } + "type": "string", + "enum": [ + "location.shutdown", + "models-dev.refreshed", + "credential.updated", + "credential.switched", + "integration.updated", + "provider.updated", + "model.updated", + "agent.updated", + "session.created", + "session.agent.selected", + "session.model.selected", + "session.moved", + "session.renamed", + "session.metadata.updated", + "session.permissions", + "session.viewed", + "session.archived", + "session.unarchived", + "session.usage.updated", + "session.deleted", + "session.forked", + "session.inbox.delivered", + "session.inbox.enqueued", + "session.inbox.cancelled", + "session.inbox.delivery.changed", + "session.execution.started", + "session.execution.succeeded", + "session.execution.failed", + "session.execution.interrupted", + "session.instructions.updated", + "session.synthetic", + "session.skill.activated", + "session.shell.started", + "session.shell.ended", + "session.step.started", + "session.step.streamed", + "session.step.ended", + "session.step.failed", + "session.text.started", + "session.text.delta", + "session.text.ended", + "session.reasoning.started", + "session.reasoning.delta", + "session.reasoning.ended", + "session.tool.input.started", + "session.tool.input.delta", + "session.tool.input.ended", + "session.tool.called", + "session.tool.progress", + "session.tool.success", + "session.tool.failed", + "session.retry.scheduled", + "session.compaction.started", + "session.compaction.delta", + "session.compaction.ended", + "session.compaction.failed", + "session.revert.staged", + "session.revert.cleared", + "session.revert.committed", + "filesystem.changed", + "reference.updated", + "permission.asked", + "permission.replied", + "plugin.updated", + "project.updated", + "worktree.updated", + "worktree.resolved", + "command.updated", + "config.updated", + "skill.updated", + "pty.created", + "pty.updated", + "pty.exited", + "pty.deleted", + "persistent-pty.added", + "persistent-pty.removed", + "shell.created", + "shell.exited", + "shell.deleted", + "form.created", + "form.replied", + "form.cancelled", + "websearch.updated", + "session.status", + "session.idle", + "tui.prompt.append", + "tui.command.execute", + "tui.toast.show", + "tui.session.select", + "installation.updated", + "installation.update-available", + "vcs.branch.updated", + "mcp.status.changed", + "mcp.resources.changed" + ] + }, + { + "type": "string", + "pattern": "^rpc\\.[\\s\\S]*?$" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string", + "enum": [ + "location.shutdown", + "models-dev.refreshed", + "credential.updated", + "credential.switched", + "integration.updated", + "provider.updated", + "model.updated", + "agent.updated", + "session.created", + "session.agent.selected", + "session.model.selected", + "session.moved", + "session.renamed", + "session.metadata.updated", + "session.permissions", + "session.viewed", + "session.archived", + "session.unarchived", + "session.usage.updated", + "session.deleted", + "session.forked", + "session.inbox.delivered", + "session.inbox.enqueued", + "session.inbox.cancelled", + "session.inbox.delivery.changed", + "session.execution.started", + "session.execution.succeeded", + "session.execution.failed", + "session.execution.interrupted", + "session.instructions.updated", + "session.synthetic", + "session.skill.activated", + "session.shell.started", + "session.shell.ended", + "session.step.started", + "session.step.streamed", + "session.step.ended", + "session.step.failed", + "session.text.started", + "session.text.delta", + "session.text.ended", + "session.reasoning.started", + "session.reasoning.delta", + "session.reasoning.ended", + "session.tool.input.started", + "session.tool.input.delta", + "session.tool.input.ended", + "session.tool.called", + "session.tool.progress", + "session.tool.success", + "session.tool.failed", + "session.retry.scheduled", + "session.compaction.started", + "session.compaction.delta", + "session.compaction.ended", + "session.compaction.failed", + "session.revert.staged", + "session.revert.cleared", + "session.revert.committed", + "filesystem.changed", + "reference.updated", + "permission.asked", + "permission.replied", + "plugin.updated", + "project.updated", + "worktree.updated", + "worktree.resolved", + "command.updated", + "config.updated", + "skill.updated", + "pty.created", + "pty.updated", + "pty.exited", + "pty.deleted", + "persistent-pty.added", + "persistent-pty.removed", + "shell.created", + "shell.exited", + "shell.deleted", + "form.created", + "form.replied", + "form.cancelled", + "websearch.updated", + "session.status", + "session.idle", + "tui.prompt.append", + "tui.command.execute", + "tui.toast.show", + "tui.session.select", + "installation.updated", + "installation.update-available", + "vcs.branch.updated", + "mcp.status.changed", + "mcp.resources.changed" ] + }, + { + "type": "string", + "pattern": "^rpc\\.[\\s\\S]*?$" } - } - ] + ] + } }, { "type": "null" @@ -11388,10 +11376,12 @@ "properties": { "rows": { "type": "integer", + "maximum": 9007199254740991, "exclusiveMinimum": 0 }, "cols": { "type": "integer", + "maximum": 9007199254740991, "exclusiveMinimum": 0 } }, @@ -12851,7 +12841,8 @@ }, "timeout": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "metadata": { "type": "object" @@ -13104,7 +13095,7 @@ "in": "query", "schema": { "type": "string", - "pattern": "^[+-]?\\d*\\.?\\d+(?:[Ee][+-]?\\d+)?$" + "pattern": "^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$" }, "required": false }, @@ -13113,7 +13104,7 @@ "in": "query", "schema": { "type": "string", - "pattern": "^[+-]?\\d*\\.?\\d+(?:[Ee][+-]?\\d+)?$" + "pattern": "^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$" }, "required": false } @@ -13138,11 +13129,13 @@ }, "cursor": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "size": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "truncated": { "type": "boolean" @@ -14276,7 +14269,9 @@ "type": "string" }, "pid": { - "type": "integer" + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 }, "memory": { "type": "object", @@ -14533,7 +14528,8 @@ "anyOf": [ { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, { "type": "null" @@ -14544,7 +14540,8 @@ "anyOf": [ { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, { "type": "null" @@ -15183,6 +15180,7 @@ }, "steps": { "type": "integer", + "maximum": 9007199254740991, "exclusiveMinimum": 0 }, "permissions": { @@ -15320,6 +15318,7 @@ }, "steps": { "type": "integer", + "maximum": 9007199254740991, "exclusiveMinimum": 0 }, "disabled": { @@ -15605,14 +15604,17 @@ }, "max_width": { "type": "integer", + "maximum": 9007199254740991, "exclusiveMinimum": 0 }, "max_height": { "type": "integer", + "maximum": 9007199254740991, "exclusiveMinimum": 0 }, "max_base64_bytes": { "type": "integer", + "maximum": 9007199254740991, "exclusiveMinimum": 0 } }, @@ -15626,10 +15628,12 @@ "properties": { "max_lines": { "type": "integer", + "maximum": 9007199254740991, "exclusiveMinimum": 0 }, "max_bytes": { "type": "integer", + "maximum": 9007199254740991, "exclusiveMinimum": 0 } }, @@ -15643,14 +15647,17 @@ "properties": { "startup": { "type": "integer", + "maximum": 9007199254740991, "exclusiveMinimum": 0 }, "catalog": { "type": "integer", + "maximum": 9007199254740991, "exclusiveMinimum": 0 }, "execution": { "type": "integer", + "maximum": 9007199254740991, "exclusiveMinimum": 0 } }, @@ -15683,14 +15690,16 @@ "properties": { "tokens": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 } }, "additionalProperties": false }, "buffer": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 } }, "additionalProperties": false @@ -15789,7 +15798,8 @@ }, "subagent_depth": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "location_idle_timeout": { "anyOf": [ @@ -15898,7 +15908,9 @@ "enum": ["context"] }, "size": { - "type": "integer" + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 } }, "required": ["type", "size"], @@ -15959,10 +15971,14 @@ "type": "object", "properties": { "min": { - "type": "integer" + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 }, "max": { - "type": "integer" + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 } }, "additionalProperties": false @@ -16110,13 +16126,19 @@ "type": "object", "properties": { "context": { - "type": "integer" + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 }, "input": { - "type": "integer" + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 }, "output": { - "type": "integer" + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 } }, "additionalProperties": false @@ -16549,7 +16571,8 @@ }, "expires": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "metadata": { "type": "object" @@ -16585,11 +16608,13 @@ }, "additions": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "deletions": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "status": { "type": "string", @@ -16807,42 +16832,6 @@ "$ref": "#/components/schemas/Form.Field" } }, - "Form.Fields_1": { - "type": "array", - "prefixItems": [ - { - "$ref": "#/components/schemas/Form.Field" - } - ], - "minItems": 1, - "items": { - "$ref": "#/components/schemas/Form.Field" - } - }, - "Form.Fields_2": { - "type": "array", - "prefixItems": [ - { - "$ref": "#/components/schemas/Form.Field" - } - ], - "minItems": 1, - "items": { - "$ref": "#/components/schemas/Form.Field" - } - }, - "Form.Fields_3": { - "type": "array", - "prefixItems": [ - { - "$ref": "#/components/schemas/Form.Field" - } - ], - "minItems": 1, - "items": { - "$ref": "#/components/schemas/Form.Field" - } - }, "Form.ID": { "type": "string", "pattern": "^frm_" @@ -16973,11 +16962,13 @@ }, "minItems": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "maxItems": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "custom": { "type": "boolean" @@ -17160,11 +17151,13 @@ }, "minLength": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "maxLength": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "pattern": { "type": "string" @@ -17194,15 +17187,11 @@ "type": "string" }, { - "anyOf": [ - { - "type": "number" - }, - { - "type": "string", - "enum": ["Infinity", "-Infinity", "NaN"] - } - ] + "type": "number" + }, + { + "type": "string", + "enum": ["Infinity", "-Infinity", "NaN"] }, { "type": "boolean" @@ -17231,15 +17220,11 @@ "type": "string" }, { - "anyOf": [ - { - "type": "number" - }, - { - "type": "string", - "enum": ["Infinity", "-Infinity", "NaN"] - } - ] + "type": "number" + }, + { + "type": "string", + "enum": ["Infinity", "-Infinity", "NaN"] }, { "type": "boolean" @@ -17504,7 +17489,7 @@ "$ref": "#/components/schemas/Generate.Usage" }, "native": { - "$ref": "#/components/schemas/Generate.Native_1" + "$ref": "#/components/schemas/Generate.Native" } }, "required": ["answers"], @@ -17564,7 +17549,7 @@ }, "Generate.ImageAspect": { "type": "string", - "pattern": "^[+-]?\\d*\\.?\\d+(?:[Ee][+-]?\\d+)?:[+-]?\\d*\\.?\\d+(?:[Ee][+-]?\\d+)?$", + "pattern": "^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?:[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$", "description": "Aspect ratio as width:height, for example 16:9" }, "Generate.ImageOutput": { @@ -17604,6 +17589,7 @@ }, "n": { "type": "integer", + "maximum": 9007199254740991, "exclusiveMinimum": 0 }, "aspect": { @@ -17654,10 +17640,6 @@ "type": "object", "description": "Provider-specific data the shared fields do not cover" }, - "Generate.Native_1": { - "type": "object", - "description": "Provider-specific data the shared fields do not cover" - }, "Generate.PredicateAnswer": { "type": "object", "properties": { @@ -17716,7 +17698,9 @@ "type": "object", "properties": { "value": { - "type": "integer" + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 }, "label": { "type": "string" @@ -17852,10 +17836,14 @@ "enum": ["InstructionEntryValueTooLargeError"] }, "actualBytes": { - "type": "integer" + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 }, "maxBytes": { - "type": "integer" + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 }, "message": { "type": "string" @@ -18346,7 +18334,7 @@ "type": "string" }, "form": { - "$ref": "#/components/schemas/Form.Fields_3" + "$ref": "#/components/schemas/Form.Fields" } }, "required": ["id", "type", "label"], @@ -18394,7 +18382,7 @@ "type": "string" }, "form": { - "$ref": "#/components/schemas/Form.Fields_2" + "$ref": "#/components/schemas/Form.Fields" } }, "required": ["type"], @@ -18436,7 +18424,7 @@ "type": "string" }, "form": { - "$ref": "#/components/schemas/Form.Fields_1" + "$ref": "#/components/schemas/Form.Fields" } }, "required": ["id", "type", "label"], @@ -18633,14 +18621,17 @@ "properties": { "startup": { "type": "integer", + "maximum": 9007199254740991, "exclusiveMinimum": 0 }, "catalog": { "type": "integer", + "maximum": 9007199254740991, "exclusiveMinimum": 0 }, "execution": { "type": "integer", + "maximum": 9007199254740991, "exclusiveMinimum": 0 } }, @@ -18722,14 +18713,17 @@ "properties": { "startup": { "type": "integer", + "maximum": 9007199254740991, "exclusiveMinimum": 0 }, "catalog": { "type": "integer", + "maximum": 9007199254740991, "exclusiveMinimum": 0 }, "execution": { "type": "integer", + "maximum": 9007199254740991, "exclusiveMinimum": 0 } }, @@ -19021,7 +19015,9 @@ "enum": ["context"] }, "size": { - "type": "integer" + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 } }, "required": ["type", "size"], @@ -19128,13 +19124,19 @@ "type": "object", "properties": { "context": { - "type": "integer" + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 }, "input": { - "type": "integer" + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 }, "output": { - "type": "integer" + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 } }, "required": ["context", "output"], @@ -19294,7 +19296,9 @@ "type": "string" }, "expires_in": { - "type": "integer" + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 } }, "required": ["code", "expires_in"], @@ -19500,10 +19504,12 @@ "properties": { "cols": { "type": "integer", + "maximum": 9007199254740991, "exclusiveMinimum": 0 }, "rows": { "type": "integer", + "maximum": 9007199254740991, "exclusiveMinimum": 0 } }, @@ -19568,11 +19574,13 @@ }, "pid": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "exitCode": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "sessionID": { "$ref": "#/components/schemas/Session.ID" @@ -19592,10 +19600,12 @@ "properties": { "cols": { "type": "integer", + "maximum": 9007199254740991, "exclusiveMinimum": 0 }, "rows": { "type": "integer", + "maximum": 9007199254740991, "exclusiveMinimum": 0 } }, @@ -19607,11 +19617,13 @@ "properties": { "head": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "tail": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 } }, "required": ["head", "tail"], @@ -19666,10 +19678,12 @@ }, "cols": { "type": "integer", + "maximum": 9007199254740991, "exclusiveMinimum": 0 }, "rows": { "type": "integer", + "maximum": 9007199254740991, "exclusiveMinimum": 0 }, "cursor": { @@ -19677,11 +19691,13 @@ "properties": { "x": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "y": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 } }, "required": ["x", "y"], @@ -19714,11 +19730,13 @@ "properties": { "x": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "y": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 } }, "required": ["x", "y"], @@ -19739,10 +19757,12 @@ "properties": { "cols": { "type": "integer", + "maximum": 9007199254740991, "exclusiveMinimum": 0 }, "rows": { "type": "integer", + "maximum": 9007199254740991, "exclusiveMinimum": 0 } }, @@ -19994,19 +20014,23 @@ "properties": { "created": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "updated": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "active": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "archived": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 } }, "required": ["created", "updated", "active"], @@ -20182,7 +20206,7 @@ }, "Provider.CacheTTL": { "type": "string", - "pattern": "^[+-]?\\d*\\.?\\d+(?:[Ee][+-]?\\d+)?(?:ms|s|m|h|d)$" + "pattern": "^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?(?:ms|s|m|h|d)$" }, "Provider.Compaction": { "anyOf": [ @@ -20407,7 +20431,9 @@ "status": { "anyOf": [ { - "type": "integer" + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 }, { "type": "null" @@ -20417,7 +20443,9 @@ "retryAfterMs": { "anyOf": [ { - "type": "integer" + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 }, { "type": "null" @@ -20455,11 +20483,13 @@ }, "pid": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "exitCode": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 } }, "required": ["id", "title", "command", "args", "cwd", "status", "pid"], @@ -20494,6 +20524,7 @@ }, "expires_in": { "type": "integer", + "maximum": 9007199254740991, "exclusiveMinimum": 0 } }, @@ -20639,7 +20670,8 @@ }, "pid": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "hostname": { "anyOf": [ @@ -21169,7 +21201,7 @@ "type": "string" }, "native": { - "$ref": "#/components/schemas/Session.Message.Native_3" + "$ref": "#/components/schemas/Session.Message.Native" }, "cost": { "$ref": "#/components/schemas/Money.USD" @@ -21198,7 +21230,7 @@ "type": "string" }, "native": { - "$ref": "#/components/schemas/Session.Message.Native_1" + "$ref": "#/components/schemas/Session.Message.Native" }, "time": { "type": "object", @@ -21222,6 +21254,7 @@ "properties": { "attempt": { "type": "integer", + "maximum": 9007199254740991, "exclusiveMinimum": 0 }, "at": { @@ -21268,7 +21301,7 @@ "type": "boolean" }, "native": { - "$ref": "#/components/schemas/Session.Message.Native_2" + "$ref": "#/components/schemas/Session.Message.Native" }, "state": { "anyOf": [ @@ -21354,7 +21387,7 @@ "$ref": "#/components/schemas/Model.Ref" }, "native": { - "$ref": "#/components/schemas/Session.Message.Native_4" + "$ref": "#/components/schemas/Session.Message.Native" }, "summary": { "type": "string" @@ -21621,18 +21654,6 @@ "Session.Message.Native": { "type": "object" }, - "Session.Message.Native_1": { - "type": "object" - }, - "Session.Message.Native_2": { - "type": "object" - }, - "Session.Message.Native_3": { - "type": "object" - }, - "Session.Message.Native_4": { - "type": "object" - }, "Session.Message.Shell": { "type": "object", "properties": { @@ -21688,11 +21709,13 @@ }, "cursor": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "size": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "truncated": { "type": "boolean" @@ -21998,7 +22021,8 @@ }, "retryAfterMs": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 } }, "required": ["type", "message"], @@ -22128,7 +22152,8 @@ }, "steps": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 } }, "required": ["date", "steps"], @@ -22152,19 +22177,23 @@ }, "sessions": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "subagents": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "prompts": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "steps": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "tokens": { "$ref": "#/components/schemas/TokenUsage.Info" @@ -22177,11 +22206,13 @@ }, "activeDays": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "streak": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "activity": { "type": "array", @@ -22220,7 +22251,8 @@ }, "steps": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "tokens": { "$ref": "#/components/schemas/TokenUsage.Info" @@ -22237,19 +22269,23 @@ "properties": { "calls": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "succeeded": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "failed": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "unfinished": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 } }, "required": ["calls", "succeeded", "failed", "unfinished"], @@ -22263,19 +22299,23 @@ }, "calls": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "succeeded": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "failed": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "unfinished": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "durationP50": { "type": "number" @@ -22420,7 +22460,8 @@ }, "pid": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "exit": { "type": "number" @@ -22856,11 +22897,13 @@ }, "additions": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "deletions": { "type": "integer", - "minimum": 0 + "minimum": 0, + "maximum": 9007199254740991 }, "status": { "type": "string", @@ -23028,15 +23071,11 @@ "dcid": { "anyOf": [ { - "anyOf": [ - { - "type": "number" - }, - { - "type": "string", - "enum": ["Infinity", "-Infinity", "NaN"] - } - ] + "type": "number" + }, + { + "type": "string", + "enum": ["Infinity", "-Infinity", "NaN"] }, { "type": "null" diff --git a/packages/util/src/fs-util.ts b/packages/util/src/fs-util.ts index a7344ebb064d..a8b680ca314f 100644 --- a/packages/util/src/fs-util.ts +++ b/packages/util/src/fs-util.ts @@ -104,6 +104,9 @@ export namespace FSUtil { const resolved = path.resolve(windowsPath(input)) // Sandboxes deny reads outside granted paths; canonicalize what we can see. return yield* fs.realPath(resolved).pipe( + Effect.map((real) => + process.platform === "win32" && real.toLowerCase() === resolved.toLowerCase() ? resolved : real, + ), Effect.catchIf( (error) => error.reason._tag === "NotFound" || isAccessDenied(error), () => Effect.succeed(resolved),