github-actions[bot]
595dd20323
Version packages ( #4561 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-23 13:29:23 -06:00
Matthieu Sieben
ecf59214d5
Update performances of cbor encoding/decoding ( #4572 )
...
* Update performances of cbog encoding/decoding
* pnpm-lock
* tidy
* ci
2026-01-21 17:26:24 +01:00
Matthieu Sieben
99963d002a
lex SDK improvements ( #4571 )
...
* Improve code coverage of `@atproto/lex-data` tests
* Improve typing of `@atproto/syntax` type assertion utilities
* Improve performance of `@atproto/lex-schema ` string format checking
* Remove `assertX` string format assertion utilities
* tidy
* tidy
* Rename `isLanguageString` to `validateLanguage`
* add string format utils
* tidy
* Refactor uri validation to use `@atproto/syntax`
* More language validation to @atproto/syntax
2026-01-21 16:15:47 +01:00
Matthieu Sieben
aaedafc6ba
Replace tap's event validation from "zod" to "@atproto/lex" ( #4532 )
...
* Replace `tap`'s event validation from "zod" to "@atproto/lex"
* Expose `record` data as parsed atproto data (including CIDs and Uint8Arrays)
* Minor change to validation of integers in lex data
* tidy
* tidy
* test using vitest
* add missing `tap` from root `tsconfig.json`
2026-01-20 14:11:24 +01:00
Matthieu Sieben
7310b9704d
Fix behavior of "default" and assignment to LexValue ( #4562 )
...
* Fix inability to assign (object containing) open union results to `LexMap` type
* properly support and type default values
* strong cohesion
* changeset
* tidy
* Add validation error as cause when handling invalid records
* tidy
* Update `cborg` dependency, fixing encoding of strings with invalid surrogate pairs, and ignoring `undefined` object properties
* tidy
* Simplify encoding logic of `number`
* Improvements around usage of `noUndefinedVals`
* Memoize array schemas (without options)
* Memoize empty params schemas
* tidy
* tidy
2026-01-20 13:20:56 +01:00
github-actions[bot]
c2615a7eee
Version packages ( #4530 )
2026-01-12 21:13:16 +02:00
Matthieu Sieben
dfd4bee4ab
Improve distinction between external Cid interface and CID implementation ( #4528 )
...
* Improve distinction between external `Cid` interface and `CID` implementation
* tests
* tidy
* tidy
2026-01-09 14:05:31 +01:00
github-actions[bot]
0b03086d35
Version packages ( #4518 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-08 18:12:54 +01:00
Matthieu Sieben
d78484f94d
@atproto/lex improvements (bis) (#4512 )
...
* `@atproto/lex` improvements (bis)
* tidy
* tidy
2026-01-08 15:31:49 +01:00
Matthieu Sieben
5b19d390b3
Rename lex-password-agent to lex-password-session ( #4519 )
...
* Rename `lex-password-agent` to `lex-password-session`
* tidy
* tidy
* tidy
* improve 2fa
* tests
* tidy
* tidy
* tidy
* tidy
* tidy
2026-01-08 15:02:44 +01:00
github-actions[bot]
0093727fc4
Version packages ( #4505 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-06 15:59:52 +01:00
Matthieu Sieben
2f78893ace
Small @atproto/lex improvements ( #4501 )
...
* Avoid escaping export identifier when it is a known global
* Use a record type instead of a record schema type as the generic parameter for `ListRecord`
* Export everything from `@atproto/lex-data` and `@atproto/lex-json`
* Add lex-json and lex-data to lex readme
* lock
* Apply defaults when running `schema.$build()` on objects and records.
* changeset
* simplify $Typed and $TypedMaybe
* tidy
* tidy
* Add `enumBlobRefs` utility function
* Add an `indexFile` option that allows generating an "index.ts" file that re-exports every tld namespaces.
* readme
* Add `base64ToUtf8` and `utf8ToBase64` utilities
* Add service auth authentication method
2026-01-06 15:47:13 +01:00
github-actions[bot]
e60af07248
Version packages ( #4499 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-02 17:40:49 +01:00
Matthieu Sieben
e9f065fce8
Add AbortSignal to lex-server handler context ( #4498 )
...
* Add AbortSignal to lex-server handler context
* tidy
* lint
2026-01-02 17:36:49 +01:00
github-actions[bot]
8e759970af
Version packages ( #4497 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-02 09:48:32 +01:00
Matthieu Sieben
9af7a2d122
Password based agent implementation ( #4443 )
...
* Password based agent implementation
* tidy
* tidy
* wip
* tidy
* wip
* tidy
* wip
* tests
* tidy
* websocket
* tidy
* tidy
* tidy
* tidy
* tidy
* tidy
* tidy
* tidy
* changeset
* codegen
* tidy
* tidy
* tidy
* tidy
* tests
* tidy
* tidy
* tests
* tidy
* tidy
* tidy
* wip
* tidy
* memoize
* tidy
* tests
* tidy
* files reorg
* Ensure that default values match constraints
* wip
* use vitest to test lex
* Add readme
* fix lint
* add vitest workspace config
* vitest config
* vitest-cfg
* tests
* ignore coverage
* tidy
2026-01-01 13:28:29 +01:00
github-actions[bot]
95bd491ecb
Version packages ( #4466 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-30 10:26:18 -06:00
Matthieu Sieben
e6b6107e02
Lex SDK improvements ( #4457 )
...
* Lex SDK improvements
* changeset
* tidy
* tidy
* Fix `include` option in `tsconfig.test.json` files
* tidy
* ignore "require" in cjs files
* tidy
* tidy
* Improve error management
* rename xrpc-error file
* tests
* fix lint
* lint
* tidy
* puppeteer cache busting
* fix oauth tests
* tidy
* wip
* tidy
* tidy
* tidy
* Forbid use of unsafe integers
2025-12-17 16:14:15 +01:00
github-actions[bot]
104e6ed37b
Version packages ( #4412 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-08 16:05:29 -03:00
Matthieu Sieben
d551b0e352
Align lexicon document validation with the spec ( #4416 )
...
* Align lexicon document validation with the spec
* fix types
* fix tests
2025-12-05 12:58:55 +01:00
Matthieu Sieben
693784c3a0
Add support for base64url encoding/decoding ( #4422 )
...
* Add support for base64url encoding/decoding
* add tests
* tidy
* improve tests
* tidy
* tidy
* tidy
2025-12-05 11:40:29 +01:00
Matthieu Sieben
e39ca114ac
Fix support for NodeJS version <18.18, 19.x, <20.4 and 21.x ( #4413 )
...
Add support for NodeJS version <18.18, 19.x, <20.4 and 21.x
2025-12-03 19:15:33 +01:00
Matthieu Sieben
7e1d45877b
Update name of dist files ( #4411 )
2025-12-03 13:46:09 +01:00
github-actions[bot]
dc08244c24
Version packages ( #4386 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-02 11:05:55 -06:00
Matthieu Sieben
2d13d05ab0
Allow .call() argument "params" to be undefined ( #4405 )
...
Allow `.call()` argument "`params`" to be `undefined` when all params are optional
2025-12-02 14:08:58 +01:00
Matthieu Sieben
a487ab8afe
Add tests ( #4401 )
...
* Add tests
* Fixes
* drop `lexiconType` property
* Simplify `ParamsSchema` interface
* tidy
* More tests
2025-12-01 17:12:47 +01:00
Matthieu Sieben
03a2a4bb38
Add lex-document test cases ( #4400 )
2025-12-01 14:08:23 +01:00
Matthieu Sieben
8012627a12
Migrate OAuth libs to new @atproto/lex utils ( #4383 )
...
* Migrate Oauth libs to new @atproto/lex utils
* pnpm-lock
* tidy
* fix
* tidy
* tidy
* tidy
* tidy
* Implement lex resolution logging through hooks
2025-12-01 12:24:01 +01:00
Matthieu Sieben
a17d2e8a59
Add ignoreInvalidLexicons when building lexicon schemas ( #4398 )
...
* Add `ignoreInvalidLexicons` when building lexicon schemas
* tidy
2025-12-01 08:41:54 +01:00
Matthieu Sieben
688f9d6759
Add changelog to npm packages and @atproto/lex readme ( #4397 )
...
* Add changelog to npm packages and `@atproto/lex` readme
* changeset
2025-11-30 20:02:12 +01:00
Matthieu Sieben
bcae2b77b6
Increase string format typing strictness ( #4389 )
...
* Increase string format typing strictness
* fix tests
* tidy
* Use string formats from `@atproto/syntax`
* tidy
* `key` field in `record` definitions is non optional and now properly validated
* add missing /*@__NO_SIDE_EFFECTS__*/
2025-11-30 19:46:07 +01:00
Matthieu Sieben
1d445af2a7
lex SDK improvements ( #4390 )
...
* Add `l.nullable` schema builder
* Use unique symbol to describe Validator type metadata
* fixup! Add `l.nullable` schema builder
* Rework object validation logic to work without `options` argument
* Do not use symbol for type inference
* Use `Issue` classes to represent validation issues
* Properly apply default value with `const` and `enum` schemas
* style
* Require `l.discriminatedUnion` discriminator field to be a literal or enum schema
* Add `l.refined` schema
* Add more lexicons document validation tests
* wip
* use "assert" fn
* rework refine system
* use assert instead of check fn
* tidy
* Rename schema methods `validate`, `check` and `maybe` to `safeParse`, `matches` and `ifMatches` respectively.
* docs
* changeset
2025-11-30 14:35:15 +01:00
Matthieu Sieben
9f87ff3aa6
Type dict keys as optional ( #4387 )
...
* Type `dict` keys as optional
* tidy
2025-11-25 21:48:26 +01:00
Matthieu Sieben
d396de016d
Validate repo signature when fetching lexicon document with @atproto/lex-resolver ( #4384 )
...
* Expose `matchesIdentifier` and `extractAtprotoData` utilities.
* Update `formatDidKey` return type to `did🔑 ${string}`
* fixup! Expose `matchesIdentifier` and `extractAtprotoData` utilities.
* Validate repo signature when fetching lexicon document
* Use new lex-resolver proof as CID
* tidy
* tidy
* fic build
* fic build
* tidy
* tidy
2025-11-25 20:49:51 +01:00
Matthieu Sieben
0f2fc6592f
Properly order lexicons in --ci mode ( #4385 )
...
* Properly order lexicons in `--ci` mode
* tidy
* tidy
* tidy
2025-11-25 20:21:26 +01:00
github-actions[bot]
86f6860418
Version packages ( #4381 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-25 11:37:09 +01:00
Matthieu Sieben
23c271fcac
@atproto/lex improvements (#4380 )
...
* Deterministically order lexicon manifest items (Fixes #4378 )
* Use `literal` value as default
* Code style
* Remove `--build`/`--no-build` argument from the `install` command
Fixes #4377
* Add ability to configure file extenstion and import file extension in `lex build`
Fixes #4376
* Fix description of `--allowLegacyBlobs` argument
2025-11-25 11:28:34 +01:00
github-actions[bot]
d4d23e1950
Version packages ( #4375 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-25 01:16:27 +01:00
Matthieu Sieben
5ffd612990
Msi/lex fixes ( #4374 )
...
* Properly await cleanup of iterator when encountering multiple lexicon documents with the same id.
* Add missing files from package.json
2025-11-25 01:07:19 +01:00
github-actions[bot]
151a7b0c6d
Version packages ( #4373 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-24 23:52:41 +01:00
Matthieu Sieben
7456f53e45
Fix @atproto/lex install ( #4372 )
2025-11-24 23:45:56 +01:00
github-actions[bot]
72d4bfcfc5
Version packages ( #4370 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-24 23:27:19 +01:00
Matthieu Sieben
3182731f11
Fix docker build ( #4367 )
2025-11-24 22:07:16 +01:00
Matthieu Sieben
261968fd65
New TS SDK ( #4366 )
...
* lex
* packaging
* moke packaging
* revert test changes
* do not build temp
* tidy
* automatically build the list of `@atproto/lex/com` lexicons
* fix build
* Remove "com" export
* ridy
* remove manifest option
* tidy
* rename
* tidy
* tidy
* tidy
* tests
* add procedure params
* stricter tests
* tidy
* Improve ui8 parsing
* tidy
* tidy
* code split
* code split
* fix reserved keywords conflict
* exclude packages/lex/src/tests/lexicons from lint
* reserved keywords
* safe identifier
* fix build
* move lib.js to src/lib.ts
* Move tests dir
* fix ci ?
* increast lint size
* Remove `Record` type alias for recordsz
* fix package json exports
* Add support for unsafe characters in defs and nsids
* tidy
* token tests
* tidy
* name consistency
* remove unused `unknownKeys` params option
* Fix "moving" keys in `DictSchema` (remove `IntersectionSchema`)
* REview comments
* adapt shebang in `env`
* Make sure union object have their $type property set in typings
* fix
* Improve typing of `UnknownTypedObject`
* lex improvements
* code reorg
* split lex-builder
* tidy
* improve packaging
* rename lex-validation to lex-schema
* lex client
* rename prettifier option
* add lex-client as dependency to "lex"
* Export client as part of main export
* re-write example app using @atproto/lex
* add missing lex-client to tsconfig
* tidy
* add "null" schema type
* Smaller bundle code footprint
* tidy
* correctness
* tidy
* code split and improved testing
* tidy
* refactor common utils
* test all implementations
* improve tests
* tidy
* fix build
* fixes
* tidy
* lint
* tests
* tidy
* fix oauth-example app
* tidy
* tidy
* tests
* tidy
* Return an actual `Uint8Array` from `fromBase64Node`
* tidy
* adapt xrpc-server
* Rename `Lex` to `LexValue`
* minor fixes
* fix tests
* fix tests
* tidy
* fix
* tidy
* tidy
* fix `verifyCidForBytes` implementation
* fix imports
* tidy
* split lex-json in own package
* make base64 tests faster
* Add interop tests
* lint error
* tidy
* tidy
* changeset
* implement lex-resolver and lex-install
* remove need for polyfill
* readme
* more details
* tidy
* allow specifying `service` header on a per request basis
* tidy
* tidy
* tidy
* tidy
* add custom/intersection validation schemas
* tidy
* tidy
* remive un-necessary util
* improve typing of `l.object` output
* make "name" required in lexicon method errors
* fix tests
* tidy
* tidy
* add error responses
* update readme
* add "like " to example
* readme improvements
* tidy
* error management improvements
* Improve error results
* tidy
* refactor
* tidy
* lock
* Update binary to `ts-lex`
* tidy
* tidy
* Add "Overview" section
* fix build
* update bin
* readme-improvements
* paul's feedback
* Update packages/lex/lex/README.md
Co-authored-by: Daniel Holmgren <dtholmgren@gmail.com >
* Update packages/lex/lex/README.md
Co-authored-by: Daniel Holmgren <dtholmgren@gmail.com >
* Update packages/lex/lex/README.md
Co-authored-by: Daniel Holmgren <dtholmgren@gmail.com >
* Update packages/lex/lex/README.md
Co-authored-by: Daniel Holmgren <dtholmgren@gmail.com >
* Update packages/lex/lex/README.md
Co-authored-by: Daniel Holmgren <dtholmgren@gmail.com >
* Initial plan
* Address README review comments
Co-authored-by: matthieusieben <813661+matthieusieben@users.noreply.github.com >
* Clarify client configuration inheritance behavior
Co-authored-by: matthieusieben <813661+matthieusieben@users.noreply.github.com >
* Document allowLegacyBlobs default and compatibility implications (#15 )
* Initial plan
* Add notes about default setting and compatibility for allowLegacyBlobs
Co-authored-by: matthieusieben <813661+matthieusieben@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: matthieusieben <813661+matthieusieben@users.noreply.github.com >
* Rename `Json` to `JsonValue` in lex-json package (#14 )
* Initial plan
* Rename Json to JsonValue in lex-json package and dependent packages
Co-authored-by: matthieusieben <813661+matthieusieben@users.noreply.github.com >
* Remove import alias for JsonValue in ipld.ts
Co-authored-by: matthieusieben <813661+matthieusieben@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: matthieusieben <813661+matthieusieben@users.noreply.github.com >
* Update packages/lex/lex/README.md
Co-authored-by: Paul Frazee <pfrazee@gmail.com >
* Update packages/lex/lex/README.md
Co-authored-by: Paul Frazee <pfrazee@gmail.com >
* Update packages/lex/lex/README.md
Co-authored-by: Paul Frazee <pfrazee@gmail.com >
* Update packages/lex/lex/README.md
Co-authored-by: Paul Frazee <pfrazee@gmail.com >
* Update packages/lex/lex/README.md
Co-authored-by: Paul Frazee <pfrazee@gmail.com >
* Update packages/lex/lex/README.md
Co-authored-by: Paul Frazee <pfrazee@gmail.com >
* review comments and fixes
* Add lex to the dockerfiles
* tidy
* changeset for lex packages
* tidy
* Tidy
* tidy
* tidy
* Move language parsing to lex-data
* tidy
* doctoc
* error handling
* tidy
* tidy
* tidy
* fix
---------
Co-authored-by: Daniel Holmgren <dtholmgren@gmail.com >
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: matthieusieben <813661+matthieusieben@users.noreply.github.com >
Co-authored-by: Paul Frazee <pfrazee@gmail.com >
2025-11-24 21:01:16 +01:00