{"id":"ulid-timestamp-extract","version":"1.0.0","description":"Extract the exact unsigned 48-bit millisecond timestamp from a canonical uppercase ULID.","supported_operations":["extract ULID timestamp","read milliseconds from ULID","decode ULID time field","get ULID timestamp integer","inspect canonical ULID time","convert ULID prefix to milliseconds"],"unsupported_operations":["convert timestamp to a date","accept noncanonical ULIDs"],"semantics":["Canonical ULID text is exactly 26 uppercase ASCII Crockford Base32 characters; I, L, O, U, lowercase, whitespace, and first characters 8 through Z are rejected.","The 48-bit timestamp is represented as a canonical unsigned decimal string, avoiding JSON number precision loss.","Inputs are never trimmed or normalized; operations are synchronous, pure, offline, bounded, and deterministic."],"limits":{"max_ulid_bytes":26},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["ulid"],"properties":{"ulid":{"type":"string","minLength":26,"maxLength":26,"pattern":"^[0-7][0-9A-HJKMNP-TV-Z]{25}$"}}},"output_schema":{"type":"object","additionalProperties":false,"required":["timestamp_ms"],"properties":{"timestamp_ms":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","maxLength":15}}},"examples":[{"input":{"ulid":"00000000000000000000000000"},"output":{"timestamp_ms":"0"}},{"input":{"ulid":"7ZZZZZZZZZZZZZZZZZZZZZZZZZ"},"output":{"timestamp_ms":"281474976710655"}}],"execute_url":"/v1/tools/ulid-timestamp-extract/versions/1.0.0/execute"}