* introducing appcontext & pds class
* revamp rest of server + auth
* revamp tests
* add to dev-env
* fix api test
* add start method to pds
* hook up terminator before
* PLC AppContext (#425)
* convert plc server to app context
* add start method to plc
* hooke up terminator on server setup
* fix test
* cleanup & pr feedback
* fix up one more test
* Enable all modules to be built shallowly, externalizing their deps
* Setup shallow builds to modify package.json main
* Hoist update-main-to-dist to separate call, fix lex-cli and plc shallow builds
* Generate sourcemaps during build
* Tidy
* Hoist new build deps up to root
* Include scene trends in feeds
* Tidy
* Tidy
* Sweep app.bsky schemas for standard actor declarations, remove reference from com.atproto
* Replace declarationCid on follow, assertion, confirmation records
* Sweep pds for standard app.bsky actor declarations
* Fix dev-env
* Tidy after merge
* Add a scene to the dev-env mock data
* Add 'member' to myState output of getProfile
* Await db writes in dev env mock data
Co-authored-by: devin ivy <devinivy@gmail.com>
Co-authored-by: devin ivy <devinivy@gmail.com>
* Model votes in lexicon, remove likes
* Model votes in db, setup notifs, fix schema
* Update pds logic, move likes to votes
* Codegen
* Update tests for votes
* Test vote filter by direction
* Fix dev-env
* Add plc healthcheck, unify plc server interface with pds
* Add pds healthcheck
* Make plc test util file consistent with other packages
* Fix types in dev-env
* Type fixes
* Tidy
* Rename healthcheck routes, place pds's under /xrpc
* Segment lexicons into more specific namespaces and tighten up some naming conventions
* Update API to use new lexicons
* Update pds and dev-env to use new lexicons
* Update lexicons of xprc procedures to avoid using query params when possible
* Update code generated by lex-cli to reduce param counts
* Update all API usages to new signatures
* Fix readme
* Remove params from postNotifiactionsSeen lexicon schema
* schemas
* database & buffing up schemas
* declaration on createAccount, + fixing up test client
* fix up dev-env
* schema comments
* nsid for declaration actorType
* declaration description
* oops token schema slipped in
* declaration -> declarationCid
* missed a couple of db things
* user-did table
* yay fixed it
* resolve available domains from db
* serverDid + tests
* check for invalid domains
* mv available domain check to constructor
* oops reverse check
* clean up old todos
* recovery key in server cfg & allow user provided key
* tests & rename
* testing did creation
* recoveryKey in dev-env
* require recovery key
* Setup PDS with kysely migrations
* Nix KyselyWithDialect from PLC, found it didn't work as intended in PDS
* Fix down migration in PDS
* Fix update profile on postgres
* Support postgres and migrations in PDS bin
* Lint
* Rename ADX to ATP
* Remove old docs (now in atproto website repo)
* Update readme
* Update README.md
Co-authored-by: devin ivy <devinivy@gmail.com>
* A couple of @ -> AT
Co-authored-by: devin ivy <devinivy@gmail.com>
* Setup dockerization of postgres db
* Fix typo
* Setup postgres dialect config in pds, fix migrations for pg
* Convert home and author feed to work on pg
* Convert pds follow views to work on pg
* Convert pds liked-by and notifications views to work on pg
* Unify bigint handling between sqlite and pg
* Convert pds account, crud, and profile, reposts, thread views to work on pg
* Ensure a more complete reset of containers/volumes in with-test-db.sh, set libpq env vars
* Add readme for dockerized postgres
* Fix build issues
* Improve lex-cli to remove files that no longer exist
* Update lex-cli to use new ns
* Rename lexicons: todo.adx to com.atproto, todo.social to app.bsky
* Improve lex-cli md generator
* kysely interfaces
* migrated record plugins
* db types + notifications
* index record emthods on db
* Convert author feed to kysely
* rest of db index
* Convert home feed to kysely
* Remove references to sqlite3 package
* Convert liked by view to kysely
* create tables
* Convert notif count view to kysely
* move scrypt to own file
* Fix typo
* Convert notifs view to kysely
* Convert post thread to kysely
* Convert profile view to kysely
* accounts tests passing!
* Convert reposted by view to kysely
* Convert followers view to kysely
* Convert follows view to kysely
* Convert notifs last seen to kysely
* Tidy
* Re-enable social methods
* Minor tidy of author and home feed queries
* Tidying and minor fixes for pds view queries
* fix up crud, disabled PUTs for now
* Fix profile view, use nulls in table interfaces
* Fix pds follow/follower views, remove special db date logic
* Fix pds notification count view
* Fix pds feed views, reposted by join
* Remove typeorm from server
Co-authored-by: Devin Ivy <devinivy@gmail.com>
* Schemas and scaffolding for reset password methods
* Initial handler for todo.adx.requestAccountPasswordReset
* Initial handler for todo.adx.resetAccountPassword
* Implement server mailer
* Configure server for mailer and testing w/ mailer
* Test happy path of pass reset, fix reset bug
* Update lex to fix types bug for requestAccountPasswordReset
* Fix handlebars reference to config getters
* Test some negative password reset flows
* Minor cleanup to pass reset
* Tidy handlebars file with prettier, supporting double-quotes for html
* Fix esbuild of server for mailer templates, fix test issue
* Misc tidying for password reset
* Misc tidying for password reset
* parsing dids to something we understand
* revamping did-sdk with did-resolver
* testing
* fixing some thigns & finishing tests
* fix type error & remove old test
* wip
* create did on server & add email
* check username available & store email
* better test utils
* remove did:test
* allow authstore to sign for controlled dids
* plc ucan integration wip
* wip
* finished auth lib refactor
* integrating to repo & server
* couple fix ups
* couple more fixups
* disable dev-env test
* comments
* parsing dids to something we understand
* revamping did-sdk with did-resolver
* testing
* fixing some thigns & finishing tests
* fix type error & remove old test
* wip
* create did on server & add email
* check username available & store email
* better test utils
* remove did:test
* allow authstore to sign for controlled dids
* Update dev-env to use new authorization system
* Add did and name to createSession response body
* Handle not found in getProfile api
* Stop putting a timestamp in the generated code, ffs
* Add todo.adx.getAccountsConfig
* Remove timestamps from schema codegen
* Refactor xrpc to use native fetch and be able to replace it (for react native)
* Factor out uri package
* Fixes to getPostThread
* Manually construct indexedAt and receivedAt timestamps to ensure theyre properly encoded
* Add ServerConfig class
* Update todo.adx.resolveName spec to make name param optional
* Add .test username and did:test behaviors
* Document name/did resolution and the .test/did:test behaviors
* Move did:test registry into server config to share across servers in the dev env
* Rework the server package structure to make it easier to include as a library
* Fix dev-env build issues
* Give better error when repo API is called on an invalid DID
* Add mock data environment to dev-env
* Add xrpc-cli package; implement 'new' and 'gen-md' commands
* Add gen-ts-obj to xrpc-cli
* Add gen-api command to xrpc-cli
* Add gen-server to xrpc-cli
* Update codegen from xrpc-cli to run prettier and include a banner comment
* Use 'void' instead of 'undefined' for return type
* Skip invalid schemas when generating code
* Rewrite schemas package to use new simplified schema
* Output type definitions in nested folders
* Add record schema code-generation
* Change xrcp client call() signature to be easier to use
* Update client codegen to match new xrpc call signature
* Fixes and improvements to generated record APIs
* Update generated api to use per-service instances
* Add xrpc-cli readme
* (WIP) Rewrite server to use xrpc
* Add missing references to server/tsconfig.json
* Replace api implementation with xrpc generated client
* Add /schemas folder with todo.adx
* Add /schemas/todo.social
* Update api package to include todo.social xrpc and adx schemas
* Update server package to include todo.social xrpc and adx schemas
* Fix some schema definitions
* (WIP) Work toward xrpc update of server
* Update auth package to use nsids for collections
* Update repo package to use nsids for collections
* Update AdxUri to use nsid collection IDs
* Bring server CRUD tests to passing state
* Move API to simpler xrpc call signature
* Apply fixes and improvements to record apis
* Update to new generated api with per-service instances
* Rename the todo.social.* view methods
* Rewrite the views system to use xrpc
* Remove paths accidentally added to tsconfig
* Remove microblog package
* Add simple API readme
* todo about deduping ucan prfs
* increase postThread default depth to fix failing test. & fix USE_TEST_SERVER config
Co-authored-by: dholms <dtholmgren@gmail.com>
* Remove 'key manager' service from dev-env
* Remove did:web service from dev-env
* Update dev-env to use new server api
* Replace node-fetch with axios
* Remove did:ion from did-sdk
* Disable did:key implementation in did-sdk and remove difficult upstream deps
* Fix dev-env build
* Fixes to dev-env and add user() env function
* Switch to a purely js-function REPL in the dev-env to simplify