···11-import { NodeOAuthClient, type ClientMetadata } from "@atproto/oauth-client-node";
11+import { NodeOAuthClient, requestLocalLock, type ClientMetadata } from "@atproto/oauth-client-node";
22import { JoseKey } from "@atproto/jwk-jose";
33import { db } from "./db";
44import { logger } from "./logger";
···250250 keyset: keys,
251251 stateStore,
252252 sessionStore,
253253+ requestLock: requestLocalLock,
253254 handleResolver: new SlingshotHandleResolver()
254255 });
255256};
+31-6
cli/README.md
···11-# cli
11+# wispctl CLI
22+33+Run from the `cli/` directory:
44+55+```bash
66+bun run index.ts --help
77+```
88+99+List domains for an account:
1010+1111+```bash
1212+bun run index.ts list domains alice.bsky.social
1313+```
1414+1515+List sites for an account:
1616+1717+```bash
1818+bun run index.ts list sites alice.bsky.social
1919+```
22033-To install dependencies:
2121+Use an alternate proxy service DID:
422523```bash
66-bun install
2424+bun run index.ts list domains alice.bsky.social --service did:web:regents-macbook-air.west-major.ts.net
725```
82699-To run:
2727+Domain CRUD examples:
10281129```bash
1212-bun run index.ts
3030+bun run index.ts domain claim alice.bsky.social --domain example.com
3131+bun run index.ts domain claim-subdomain alice.bsky.social --subdomain alice
3232+bun run index.ts domain status alice.bsky.social --domain example.com
3333+bun run index.ts domain add-site alice.bsky.social --domain example.com --site mysite
3434+bun run index.ts domain delete alice.bsky.social --domain example.com
3535+bun run index.ts site delete alice.bsky.social --site mysite
1336```
14371515-This project was created using `bun init` in bun v1.3.5. [Bun](https://bun.com) is a fast all-in-one JavaScript runtime.
3838+OAuth note:
3939+- CLI requests `rpc:<nsid>?aud=*` scopes for Wisp XRPC methods.
4040+- `--service did:...` controls proxy target (`atproto-proxy`), not scope audience (scoping audience couldnt work for me idk why).