playerthree/schema
Bounded, closed-shape schema DSL.
Enum literals and ids remain closed vocabulary. Bounded strings explicitly admit trusted text; their provenance must exclude third-party player text. No arbitrary JSON or unbounded string node exists.
Interfaces
BoolS
Defined in: packages/playerthree/src/schema.ts:45
Properties
| Property | Modifier | Type | Defined in |
|---|---|---|---|
doc? | readonly | string | packages/playerthree/src/schema.ts:47 |
t | readonly | "bool" | packages/playerthree/src/schema.ts:46 |
EnumS
Defined in: packages/playerthree/src/schema.ts:8
Bounded, closed-shape schema DSL.
Enum literals and ids remain closed vocabulary. Bounded strings explicitly admit trusted text; their provenance must exclude third-party player text. No arbitrary JSON or unbounded string node exists.
Type Parameters
Properties
| Property | Modifier | Type | Defined in |
|---|---|---|---|
doc? | readonly | string | packages/playerthree/src/schema.ts:11 |
t | readonly | "enum" | packages/playerthree/src/schema.ts:9 |
values | readonly | V | packages/playerthree/src/schema.ts:10 |
IdS
Defined in: packages/playerthree/src/schema.ts:13
Properties
| Property | Modifier | Type | Defined in |
|---|---|---|---|
doc? | readonly | string | packages/playerthree/src/schema.ts:16 |
prefix | readonly | string | packages/playerthree/src/schema.ts:15 |
t | readonly | "id" | packages/playerthree/src/schema.ts:14 |
IntS
Defined in: packages/playerthree/src/schema.ts:33
Properties
| Property | Modifier | Type | Defined in |
|---|---|---|---|
doc? | readonly | string | packages/playerthree/src/schema.ts:37 |
max | readonly | number | packages/playerthree/src/schema.ts:36 |
min | readonly | number | packages/playerthree/src/schema.ts:35 |
t | readonly | "int" | packages/playerthree/src/schema.ts:34 |
IntsS
Defined in: packages/playerthree/src/schema.ts:26
A flat bounded integer array; no per-item schema is serialized.
Properties
| Property | Modifier | Type | Defined in |
|---|---|---|---|
doc? | readonly | string | packages/playerthree/src/schema.ts:31 |
max | readonly | number | packages/playerthree/src/schema.ts:30 |
maxItems | readonly | number | packages/playerthree/src/schema.ts:28 |
min | readonly | number | packages/playerthree/src/schema.ts:29 |
t | readonly | "ints" | packages/playerthree/src/schema.ts:27 |
ListS
Defined in: packages/playerthree/src/schema.ts:49
Type Parameters
Properties
| Property | Modifier | Type | Defined in |
|---|---|---|---|
doc? | readonly | string | packages/playerthree/src/schema.ts:53 |
item | readonly | I | packages/playerthree/src/schema.ts:51 |
max | readonly | number | packages/playerthree/src/schema.ts:52 |
t | readonly | "list" | packages/playerthree/src/schema.ts:50 |
NumS
Defined in: packages/playerthree/src/schema.ts:39
Properties
| Property | Modifier | Type | Defined in |
|---|---|---|---|
doc? | readonly | string | packages/playerthree/src/schema.ts:43 |
max | readonly | number | packages/playerthree/src/schema.ts:42 |
min | readonly | number | packages/playerthree/src/schema.ts:41 |
t | readonly | "num" | packages/playerthree/src/schema.ts:40 |
ObjS
Defined in: packages/playerthree/src/schema.ts:55
Type Parameters
Properties
| Property | Modifier | Type | Description | Defined in |
|---|---|---|---|---|
doc? | readonly | string | - | packages/playerthree/src/schema.ts:58 |
fields | readonly | F | - | packages/playerthree/src/schema.ts:57 |
merge? | readonly | "replace" | Atomic replacement when this object appears in layered match options. | packages/playerthree/src/schema.ts:60 |
t | readonly | "obj" | - | packages/playerthree/src/schema.ts:56 |
OptS
Defined in: packages/playerthree/src/schema.ts:63
Optional field marker. Only meaningful as a direct child of obj / union variant fields.
Type Parameters
Properties
| Property | Modifier | Type | Defined in |
|---|---|---|---|
item | readonly | I | packages/playerthree/src/schema.ts:65 |
t | readonly | "opt" | packages/playerthree/src/schema.ts:64 |
StrS
Defined in: packages/playerthree/src/schema.ts:19
Trusted text, bounded in Unicode code points (the JSON Schema maxLength unit).
Properties
| Property | Modifier | Type | Defined in |
|---|---|---|---|
doc? | readonly | string | packages/playerthree/src/schema.ts:23 |
maxLength | readonly | number | packages/playerthree/src/schema.ts:21 |
pattern? | readonly | string | packages/playerthree/src/schema.ts:22 |
t | readonly | "str" | packages/playerthree/src/schema.ts:20 |
UnionS
Defined in: packages/playerthree/src/schema.ts:67
Type Parameters
| Type Parameter | Default type |
|---|---|
Tag extends string | string |
V extends Record<string, Fields> | Record<string, Fields> |
Properties
| Property | Modifier | Type | Defined in |
|---|---|---|---|
doc? | readonly | string | packages/playerthree/src/schema.ts:71 |
t | readonly | "union" | packages/playerthree/src/schema.ts:68 |
tag | readonly | Tag | packages/playerthree/src/schema.ts:69 |
variants | readonly | V | packages/playerthree/src/schema.ts:70 |
Type Aliases
Fields
type Fields = object;Defined in: packages/playerthree/src/schema.ts:75
Named fields of an object schema or union variant.
Index Signature
[k: string]: SchemaInfer
type Infer<S> = IsAny<S> extends true ? any : S extends EnumS<infer V> ? V[number] : S extends IdS | StrS ? string : S extends IntS | NumS ? number : S extends BoolS ? boolean : S extends IntsS ? number[] : S extends ListS<infer I> ? Infer<I>[] : S extends ObjS<infer F> ? InferFields<F> : S extends OptS<infer I> ? Infer<...> | undefined : S extends UnionS<..., ...> ? ...[...] : never;Defined in: packages/playerthree/src/schema.ts:91
The TypeScript type of values a schema accepts.
Type Parameters
JsonSchema
type JsonSchema = object;Defined in: packages/playerthree/src/schema.ts:410
A JSON Schema document as emitted by toJsonSchema (opaque to TypeScript).
Index Signature
[k: string]: unknownSchema
type Schema =
| EnumS
| IdS
| StrS
| IntS
| IntsS
| NumS
| BoolS
| ListS<any>
| ObjS<any>
| OptS<any>
| UnionS<string, any>;Defined in: packages/playerthree/src/schema.ts:77
Any schema node built with t.
SchemaErrorCode
type SchemaErrorCode =
| "type"
| "enum"
| "range"
| "not_integer"
| "pattern"
| "too_long"
| "unknown_field"
| "missing_field"
| "tag";Defined in: packages/playerthree/src/schema.ts:269
Closed set of validation failure codes. Never echoes input.
SchemaPath
type SchemaPath = (string | number)[];Defined in: packages/playerthree/src/schema.ts:281
Path segments are schema field names (developer-defined) or list indices — never input text.
ValidateResult
type ValidateResult<T> =
| {
ok: true;
value: T;
}
| {
code: SchemaErrorCode;
ok: false;
path: SchemaPath;
};Defined in: packages/playerthree/src/schema.ts:284
Validation result: the value, or a closed error code and the schema path where it failed (never the input).
Type Parameters
Variables
t
const t: object;Defined in: packages/playerthree/src/schema.ts:210
Schema node constructors. Each validates its own bounds when called, so an unsafe schema fails at definition time.
Type Declaration
| Name | Type | Defined in |
|---|---|---|
bool() | (doc?) => BoolS | packages/playerthree/src/schema.ts:242 |
enum() | (values, doc?) => EnumS<V> | packages/playerthree/src/schema.ts:211 |
id() | (prefix, doc?) => IdS | packages/playerthree/src/schema.ts:218 |
int() | ( min, max, doc? ) => IntS | packages/playerthree/src/schema.ts:234 |
ints() | ( maxItems, min, max, doc? ) => IntsS | packages/playerthree/src/schema.ts:228 |
list() | ( item, max, doc? ) => ListS<I> | packages/playerthree/src/schema.ts:245 |
num() | ( min, max, doc? ) => NumS | packages/playerthree/src/schema.ts:238 |
obj() | ( fields, doc?, options? ) => ObjS<F> | packages/playerthree/src/schema.ts:249 |
opt() | (item) => OptS<I> | packages/playerthree/src/schema.ts:254 |
str() | ( maxLength, pattern?, doc? ) => StrS | packages/playerthree/src/schema.ts:222 |
union() | ( tag, variants, doc? ) => UnionS<Tag, V> | packages/playerthree/src/schema.ts:257 |
Functions
codePointLength()
function codePointLength(value): number;Defined in: packages/playerthree/src/schema.ts:123
Counts surrogate pairs once and lone surrogates once, without allocating an array.
Parameters
| Parameter | Type |
|---|---|
value | string |
Returns
number
toJsonSchema()
function toJsonSchema(s): JsonSchema;Defined in: packages/playerthree/src/schema.ts:413
JSON Schema (draft 2020-12 subset) for tool definitions. Only developer-declared text is emitted.
Parameters
| Parameter | Type |
|---|---|
s | Schema |
Returns
validate()
function validate<S>(schema, value): ValidateResult<Infer<S>>;Defined in: packages/playerthree/src/schema.ts:399
Strict validation: rejects unknown fields, non-finite numbers, non-plain objects and out-of-bound data.
Type Parameters
| Type Parameter |
|---|
S extends Schema |
Parameters
| Parameter | Type |
|---|---|
schema | S |
value | unknown |
Returns
ValidateResult<Infer<S>>
