| author | |
| committer | |
| log | 02903f2db870a8fba8e7d6eadc48cfccb68754da |
| tree | 6e976c4252386ffb798b71a76e6eba666088ccec |
| parent | 22b7d8c524b3841cd50c1bb0927cdc472dd7902e |
| signature | Signed by PGP key B5690EEEBB952194 |
Co-authored-by: codex <codex@users.noreply.github.com>2 files changed, 16 insertions(+), 5 deletions(-)
packages/contracts/src/terminal.test.ts+12-1| ... | ... | @@ -38,13 +38,24 @@ describe("TerminalOpenInput", () => { |
| 38 | 38 | ).toBe(true); |
| 39 | 39 | }); |
| 40 | 40 | |
| 41 | it("accepts ultrawide terminal dimensions from xterm fit", () => { | |
| 42 | expect( | |
| 43 | decodes(TerminalOpenInput, { | |
| 44 | threadId: "thread-1", | |
| 45 | cwd: "/tmp/project", | |
| 46 | cols: 423, | |
| 47 | rows: 40, | |
| 48 | }), | |
| 49 | ).toBe(true); | |
| 50 | }); | |
| 51 | ||
| 41 | 52 | it("rejects invalid bounds", () => { |
| 42 | 53 | expect( |
| 43 | 54 | decodes(TerminalOpenInput, { |
| 44 | 55 | threadId: "thread-1", |
| 45 | 56 | cwd: "/tmp/project", |
| 46 | 57 | cols: 10, |
| 47 | rows: 2, | |
| 58 | rows: 0, | |
| 48 | 59 | }), |
| 49 | 60 | ).toBe(false); |
| 50 | 61 | }); |
packages/contracts/src/terminal.ts+4-4| ... | ... | @@ -4,11 +4,11 @@ import { TrimmedNonEmptyString } from "./baseSchemas.ts"; |
| 4 | 4 | export const DEFAULT_TERMINAL_ID = "default"; |
| 5 | 5 | |
| 6 | 6 | const TrimmedNonEmptyStringSchema = TrimmedNonEmptyString; |
| 7 | const TerminalColsSchema = Schema.Int.check(Schema.isGreaterThanOrEqualTo(20)).check( | |
| 8 | Schema.isLessThanOrEqualTo(400), | |
| 7 | const TerminalColsSchema = Schema.Int.check(Schema.isGreaterThanOrEqualTo(1)).check( | |
| 8 | Schema.isLessThanOrEqualTo(1000), | |
| 9 | 9 | ); |
| 10 | const TerminalRowsSchema = Schema.Int.check(Schema.isGreaterThanOrEqualTo(5)).check( | |
| 11 | Schema.isLessThanOrEqualTo(200), | |
| 10 | const TerminalRowsSchema = Schema.Int.check(Schema.isGreaterThanOrEqualTo(1)).check( | |
| 11 | Schema.isLessThanOrEqualTo(500), | |
| 12 | 12 | ); |
| 13 | 13 | const TerminalIdSchema = TrimmedNonEmptyStringSchema.check(Schema.isMaxLength(128)); |
| 14 | 14 | const TerminalEnvKeySchema = Schema.String.check( |