Commit Graph

183 Commits

Author SHA1 Message Date
github-actions[bot] ff9f84e11a Version packages (#4851)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-04-15 10:06:49 +02:00
github-actions[bot] 83b7246439 Version packages (#4833)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-04-09 10:24:41 -05:00
github-actions[bot] 2203d825e8 Version packages (#4776)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-26 09:17:15 -03:00
Matthieu Sieben 4f11fc341a Add support for indexed query params syntax (#4804)
* Add support for indexed query params syntax

* Review comments

* avoid altering lexicons

* remove `getProfile`

* optimize regexp

* fix regexp
2026-03-25 21:07:03 +01:00
Matthieu Sieben c5c6c7dac3 Allow any encoding to match payload with no encoding specified in schema (#4799)
* Allow any encoding to match paylaod that don't expect any particular encoding

* Explicitly cancel request body when it does not get consumed

* tidy
2026-03-24 13:36:57 +01:00
Matthieu Sieben 1479c87c6b Allow use of foo[]=bar syntax in query params (#4793)
* Allow use of `foo[]=bar` syntax in query params

* tidy

* fix delete while iterating

* xrpc-server: add paramsParseLoose route option for temp backwards compat

* bsky: add loose param parsing to app.bsky.feed.getPosts temporarily

* changeset update

* Add endpoint name in "Invalid params" error message

* Parse `[]` in `getProfile`

* tidy

---------

Co-authored-by: Devin Ivy <devinivy@gmail.com>
2026-03-24 13:01:49 +01:00
Matthieu Sieben 527f5d4c5d Various lex SDK improvements (#4779)
* Various lex SDK improvements

* tidy

* Improve performances of error instantiation

* Improve clarity of params validation errors (and add "cause" for improved debugging)

* update error handling

* tidy

* tidy

* review comments

* tidy
2026-03-23 11:47:23 +01:00
github-actions[bot] 8445e8a9aa Version packages (#4770)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-19 15:53:07 +01:00
github-actions[bot] 13b2aad9b6 Version packages (#4720)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-18 16:47:57 -05:00
github-actions[bot] 88326d2833 Version packages (#4703)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-03 15:45:46 +01:00
Matthieu Sieben e8969b6b3d Add Lex SDK support to @atproto/xrpc-server (#4691)
* Lex SDK error handling improvements

* Add support for method defined through `@atproto/lex` in addition to `@atproto/lexicon` "codegen"

* review comments

* tidy
2026-03-03 11:28:09 +01:00
github-actions[bot] 8603be629a Version packages (#4668)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-20 10:50:49 +01:00
github-actions[bot] caad88223f Version packages (#4653)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-20 09:05:35 +01:00
github-actions[bot] 27cdeb4e86 Version packages (#4604)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-06 15:12:15 +01:00
github-actions[bot] 915f9065d3 Version packages (#4584)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-30 14:20:33 -03:00
Matthieu Sieben 8a725a9d69 Change workspace version selector from workspace:* to workspace:^ 2026-01-28 16:42:44 +01:00
Matthieu Sieben d54d7077eb DID document validation (#4580)
* DID document validation

* relax `import/no-deprecated` lint rule
2026-01-27 08:25:13 +01:00
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
github-actions[bot] c2615a7eee Version packages (#4530) 2026-01-12 21:13:16 +02: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
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
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
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
github-actions[bot] 4c6d37eace Version packages (#4447)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-12 11:59:07 -03: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
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
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
github-actions[bot] 4dede90ea5 Version packages (#4369)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-24 22:26:10 +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
github-actions[bot] 4021b08a58 Version packages (#4355)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-19 10:39:02 +01:00
Daniel Holmgren 1dd20d3a81 WebSocket Library (#4348)
* create new websocket lib

* switch out ozone impl

* keepalive test

* remove websocket keepalive code from xrpc-server

* add the package in all the spots

* websocket -> ws-client

* missed ref

* fix import in ozone test
2025-11-18 17:34:41 -06:00
github-actions[bot] e216e87859 Version packages (#4167)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-09 12:29:10 +02:00
github-actions[bot] 920f895807 Version packages (#4152)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-29 12:54:51 +02:00
github-actions[bot] 768e81b232 Version packages (#4126)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-27 13:36:05 -04:00
github-actions[bot] 5188ef3b59 Version packages (#4116)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-20 21:48:51 +02:00
github-actions[bot] 757fa34458 Version packages (#4075)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-04 23:36:10 +02:00
Matthieu Sieben 82e3e7bf6b Small xrpc-server optimizations (#4073) 2025-07-30 15:43:03 +02:00
github-actions[bot] f27ae66432 Version packages (#4024)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-11 20:35:18 +02:00
devin ivy 5ed4a88596 Fix json and text uploads: don't parse bodies with input encoding of */* (#4027)
* xrpc-server: skip body parsing when input encoding is */*, fix json and text uploads

* changeset

* pds: add tests for text and json uploads

* tidy

* xrpc-server: only create body parser when it will be used
2025-07-09 18:55:48 -04:00
Matthieu Sieben 8ef976d385 xrpc-server & lex-cli rework (#3999)
* xrpc-server & lex-cli rework

* codegen

* tidy

* tidy

* tidy

* Update .changeset/nasty-icons-peel.md

Co-authored-by: devin ivy <devinivy@gmail.com>

* excludeErrorResult util

* Restore export of `SkeletonHandler` from `pds`

* Make `calcKey` RateLimiter option required

* Process request input after auth

* fix tests

* changeset

---------

Co-authored-by: devin ivy <devinivy@gmail.com>
2025-07-08 13:04:11 +02:00
github-actions[bot] c2b57e3f65 Version packages (#3944)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-11 16:49:12 -05:00
Matthieu Sieben 0286f7ee3d Refactor route rate limiter builder (#3886)
* Refactor route rate limiter builder

* Refactor RouteRateLimiter handle method to improve bypass logic and return type

* Use `redis` as rate limit db when available
2025-06-10 20:53:56 +02:00
Matthieu Sieben b675fbbf17 Return an error if the wrong HTTP verb is used for a known XRPC method (#3884) 2025-06-10 11:58:25 +02:00
github-actions[bot] 623c95d01e Version packages (#3924)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-05 14:59:03 +02:00
Matthieu Sieben 9214bd0170 Improve logging of XRPC errors (#3699)
* Improve logging of XRPC errors

* strip stack of non internal errors

* Review comments
2025-06-04 17:03:16 +02:00
Matthieu Sieben e939f8e466 Revert "Refactor route rate limiter builder"
This reverts commit da433bd0ca.
2025-05-23 14:51:39 +02:00
Matthieu Sieben da433bd0ca Refactor route rate limiter builder 2025-05-23 14:50:52 +02:00
github-actions[bot] b36014dac5 Version packages (#3803)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-05 17:44:12 -03:00
Matthieu Sieben b5afb723be Consistenlty log errors with pino (#3700) 2025-04-25 17:02:51 +02:00