Skip to content

Commit 29250a0

Browse files
authored
fix(session): loosen remaining stored numeric schemas to tolerate legacy data (#26622)
1 parent c6e6bdf commit 29250a0

5 files changed

Lines changed: 13 additions & 13 deletions

File tree

packages/opencode/src/project/vcs.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -234,8 +234,8 @@ export const FileDiff = Schema.Struct({
234234
// populates patch, but loosening matches the sibling schema so a
235235
// future code path that omits it can't crash /instance/vcs/diff.
236236
patch: Schema.optional(Schema.String),
237-
additions: NonNegativeInt,
238-
deletions: NonNegativeInt,
237+
additions: Schema.Finite,
238+
deletions: Schema.Finite,
239239
status: Schema.optional(Schema.Literals(["added", "deleted", "modified"])),
240240
})
241241
.annotate({ identifier: "VcsFileDiff" })
@@ -244,8 +244,8 @@ export type FileDiff = Schema.Schema.Type<typeof FileDiff>
244244

245245
export const FileStatus = Schema.Struct({
246246
file: Schema.String,
247-
additions: NonNegativeInt,
248-
deletions: NonNegativeInt,
247+
additions: Schema.Finite,
248+
deletions: Schema.Finite,
249249
status: Schema.Literals(["added", "deleted", "modified"]),
250250
})
251251
.annotate({ identifier: "VcsFileStatus" })

packages/opencode/src/session/message-v2.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,8 @@ export type ReasoningPart = Types.DeepMutable<Schema.Schema.Type<typeof Reasonin
143143
const filePartSourceBase = {
144144
text: Schema.Struct({
145145
value: Schema.String,
146-
start: NonNegativeInt,
147-
end: NonNegativeInt,
146+
start: Schema.Finite,
147+
end: Schema.Finite,
148148
}).annotate({ identifier: "FilePartSourceText" }),
149149
}
150150

packages/opencode/src/session/session.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,9 +142,9 @@ function sessionPath(worktree: string, cwd: string) {
142142
}
143143

144144
const Summary = Schema.Struct({
145-
additions: NonNegativeInt,
146-
deletions: NonNegativeInt,
147-
files: NonNegativeInt,
145+
additions: Schema.Finite,
146+
deletions: Schema.Finite,
147+
files: Schema.Finite,
148148
diffs: optionalOmitUndefined(Schema.Array(Snapshot.FileDiff)),
149149
})
150150

packages/opencode/src/snapshot/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ export const FileDiff = Schema.Struct({
2525
// session response and broke session loading on Desktop.
2626
file: Schema.optional(Schema.String),
2727
patch: Schema.optional(Schema.String),
28-
additions: NonNegativeInt,
29-
deletions: NonNegativeInt,
28+
additions: Schema.Finite,
29+
deletions: Schema.Finite,
3030
status: Schema.optional(Schema.Literals(["added", "deleted", "modified"])),
3131
})
3232
.annotate({ identifier: "SnapshotFileDiff" })

packages/opencode/src/v2/session-event.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ export namespace Tool {
305305

306306
export const RetryError = Schema.Struct({
307307
message: Schema.String,
308-
statusCode: NonNegativeInt.pipe(Schema.optional),
308+
statusCode: Schema.Finite.pipe(Schema.optional),
309309
isRetryable: Schema.Boolean,
310310
responseHeaders: Schema.Record(Schema.String, Schema.String).pipe(Schema.optional),
311311
responseBody: Schema.String.pipe(Schema.optional),
@@ -320,7 +320,7 @@ export const Retried = EventV2.define({
320320
aggregate: "sessionID",
321321
schema: {
322322
...Base,
323-
attempt: NonNegativeInt,
323+
attempt: Schema.Finite,
324324
error: RetryError,
325325
},
326326
})

0 commit comments

Comments
 (0)