@atproto/lexicon-resolver 0.2.2 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/lexicons.js.map +1 -1
- package/dist/client/types/com/atproto/sync/getRecord.js.map +1 -1
- package/dist/client/util.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lexicon.js.map +1 -1
- package/dist/record.d.ts.map +1 -1
- package/dist/record.js +1 -0
- package/dist/record.js.map +1 -1
- package/dist/util.js.map +1 -1
- package/package.json +8 -8
- package/src/record.ts +2 -0
- package/tests/record.test.ts +2 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# @atproto/lexicon-resolver
|
|
2
2
|
|
|
3
|
+
## 0.2.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies []:
|
|
8
|
+
- @atproto/identity@0.4.10
|
|
9
|
+
- @atproto/lexicon@0.5.2
|
|
10
|
+
- @atproto/repo@0.8.11
|
|
11
|
+
- @atproto/xrpc@0.7.6
|
|
12
|
+
|
|
13
|
+
## 0.2.3
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- Updated dependencies [[`8ff5ec4ca`](https://github.com/bluesky-social/atproto/commit/8ff5ec4caa9a1f5c1e453a416ba2af22d1ee4f58)]:
|
|
18
|
+
- @atproto-labs/fetch-node@0.2.0
|
|
19
|
+
|
|
3
20
|
## 0.2.2
|
|
4
21
|
|
|
5
22
|
### Patch Changes
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,wCAIsB;AACtB,+CAAuC;AAGvC,+FAAgF;AAEhF,iGAAgF;AAEhF,MAAa,aAAc,SAAQ,iBAAU;IAG3C,YAAY,OAA2C;QACrD,KAAK,CAAC,OAAO,EAAE,qBAAO,CAAC,CAAA;QAHzB;;;;;WAAU;QAIR,IAAI,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IAED,qCAAqC;IACrC,IAAI,IAAI;QACN,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAZD,sCAYC;AAED,MAAa,KAAK;IAIhB,YAAY,MAAkB;QAH9B;;;;;WAAmB;QACnB;;;;;WAAqB;QAGnB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACrB,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;IACzC,CAAC;CACF;AARD,sBAQC;AAED,MAAa,YAAY;IAIvB,YAAY,MAAkB;QAH9B;;;;;WAAmB;QACnB;;;;;WAAsB;QAGpB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC;CACF;AARD,oCAQC;AAED,MAAa,gBAAgB;IAG3B,YAAY,MAAkB;QAF9B;;;;;WAAmB;QAGjB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAED,SAAS,CACP,MAA4C,EAC5C,IAA0C;QAE1C,OAAO,IAAI,CAAC,OAAO;aAChB,IAAI,CAAC,4BAA4B,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC;aAC3D,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,MAAM,uBAAuB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAC7C,CAAC,CAAC,CAAA;IACN,CAAC;CACF;AAjBD,4CAiBC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,wCAIsB;AACtB,+CAAuC;AAGvC,+FAAgF;AAEhF,iGAAgF;AAEhF,MAAa,aAAc,SAAQ,iBAAU;IAG3C,YAAY,OAA2C;QACrD,KAAK,CAAC,OAAO,EAAE,qBAAO,CAAC,CAAA;QAHzB;;;;;WAAU;QAIR,IAAI,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IAED,qCAAqC;IACrC,IAAI,IAAI;QACN,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAZD,sCAYC;AAED,MAAa,KAAK;IAIhB,YAAY,MAAkB;QAH9B;;;;;WAAmB;QACnB;;;;;WAAqB;QAGnB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACrB,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;IACzC,CAAC;CACF;AARD,sBAQC;AAED,MAAa,YAAY;IAIvB,YAAY,MAAkB;QAH9B;;;;;WAAmB;QACnB;;;;;WAAsB;QAGpB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC;CACF;AARD,oCAQC;AAED,MAAa,gBAAgB;IAG3B,YAAY,MAAkB;QAF9B;;;;;WAAmB;QAGjB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAED,SAAS,CACP,MAA4C,EAC5C,IAA0C;QAE1C,OAAO,IAAI,CAAC,OAAO;aAChB,IAAI,CAAC,4BAA4B,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC;aAC3D,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,MAAM,uBAAuB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAC7C,CAAC,CAAC,CAAA;IACN,CAAC;CACF;AAjBD,4CAiBC","sourcesContent":["/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport {\n XrpcClient,\n type FetchHandler,\n type FetchHandlerOptions,\n} from '@atproto/xrpc'\nimport { schemas } from './lexicons.js'\nimport { CID } from 'multiformats/cid'\nimport { type OmitKey, type Un$Typed } from './util.js'\nimport * as ComAtprotoSyncGetRecord from './types/com/atproto/sync/getRecord.js'\n\nexport * as ComAtprotoSyncGetRecord from './types/com/atproto/sync/getRecord.js'\n\nexport class AtpBaseClient extends XrpcClient {\n com: ComNS\n\n constructor(options: FetchHandler | FetchHandlerOptions) {\n super(options, schemas)\n this.com = new ComNS(this)\n }\n\n /** @deprecated use `this` instead */\n get xrpc(): XrpcClient {\n return this\n }\n}\n\nexport class ComNS {\n _client: XrpcClient\n atproto: ComAtprotoNS\n\n constructor(client: XrpcClient) {\n this._client = client\n this.atproto = new ComAtprotoNS(client)\n }\n}\n\nexport class ComAtprotoNS {\n _client: XrpcClient\n sync: ComAtprotoSyncNS\n\n constructor(client: XrpcClient) {\n this._client = client\n this.sync = new ComAtprotoSyncNS(client)\n }\n}\n\nexport class ComAtprotoSyncNS {\n _client: XrpcClient\n\n constructor(client: XrpcClient) {\n this._client = client\n }\n\n getRecord(\n params?: ComAtprotoSyncGetRecord.QueryParams,\n opts?: ComAtprotoSyncGetRecord.CallOptions,\n ): Promise<ComAtprotoSyncGetRecord.Response> {\n return this._client\n .call('com.atproto.sync.getRecord', params, undefined, opts)\n .catch((e) => {\n throw ComAtprotoSyncGetRecord.toKnownErr(e)\n })\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lexicons.js","sourceRoot":"","sources":["../../src/client/lexicons.ts"],"names":[],"mappings":";;;AA+EA,4BAcC;AA7FD;;GAEG;AACH,8CAKyB;AACzB,uCAA8D;AAEjD,QAAA,UAAU,GAAG;IACxB,uBAAuB,EAAE;QACvB,OAAO,EAAE,CAAC;QACV,EAAE,EAAE,4BAA4B;QAChC,IAAI,EAAE;YACJ,IAAI,EAAE;gBACJ,IAAI,EAAE,OAAO;gBACb,WAAW,EACT,iIAAiI;gBACnI,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC;oBACvC,UAAU,EAAE;wBACV,GAAG,EAAE;4BACH,IAAI,EAAE,QAAQ;4BACd,MAAM,EAAE,KAAK;4BACb,WAAW,EAAE,sBAAsB;yBACpC;wBACD,UAAU,EAAE;4BACV,IAAI,EAAE,QAAQ;4BACd,MAAM,EAAE,MAAM;yBACf;wBACD,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,YAAY;4BACzB,MAAM,EAAE,YAAY;yBACrB;qBACF;iBACF;gBACD,MAAM,EAAE;oBACN,QAAQ,EAAE,0BAA0B;iBACrC;gBACD,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,gBAAgB;qBACvB;oBACD;wBACE,IAAI,EAAE,cAAc;qBACrB;oBACD;wBACE,IAAI,EAAE,eAAe;qBACtB;oBACD;wBACE,IAAI,EAAE,eAAe;qBACtB;oBACD;wBACE,IAAI,EAAE,iBAAiB;qBACxB;iBACF;aACF;SACF;KACF;CAC4C,CAAA;AAClC,QAAA,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAU,CAAwB,CAAA;AAC1D,QAAA,QAAQ,GAAa,IAAI,kBAAQ,CAAC,eAAO,CAAC,CAAA;AAcvD,SAAgB,QAAQ,CACtB,CAAU,EACV,EAAU,EACV,IAAY,EACZ,YAAsB;IAEtB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAQ,CAAC,CAAC,CAAC,qBAAW,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC;QACzD,CAAC,CAAC,gBAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC;YACE,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,IAAI,yBAAe,CACxB,2BAA2B,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,kBAAkB,CACpF;SACF,CAAA;AACP,CAAC;AAEY,QAAA,GAAG,GAAG;IACjB,uBAAuB,EAAE,4BAA4B;CAC7C,CAAA"}
|
|
1
|
+
{"version":3,"file":"lexicons.js","sourceRoot":"","sources":["../../src/client/lexicons.ts"],"names":[],"mappings":";;;AA+EA,4BAcC;AA7FD;;GAEG;AACH,8CAKyB;AACzB,uCAA8D;AAEjD,QAAA,UAAU,GAAG;IACxB,uBAAuB,EAAE;QACvB,OAAO,EAAE,CAAC;QACV,EAAE,EAAE,4BAA4B;QAChC,IAAI,EAAE;YACJ,IAAI,EAAE;gBACJ,IAAI,EAAE,OAAO;gBACb,WAAW,EACT,iIAAiI;gBACnI,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC;oBACvC,UAAU,EAAE;wBACV,GAAG,EAAE;4BACH,IAAI,EAAE,QAAQ;4BACd,MAAM,EAAE,KAAK;4BACb,WAAW,EAAE,sBAAsB;yBACpC;wBACD,UAAU,EAAE;4BACV,IAAI,EAAE,QAAQ;4BACd,MAAM,EAAE,MAAM;yBACf;wBACD,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,YAAY;4BACzB,MAAM,EAAE,YAAY;yBACrB;qBACF;iBACF;gBACD,MAAM,EAAE;oBACN,QAAQ,EAAE,0BAA0B;iBACrC;gBACD,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,gBAAgB;qBACvB;oBACD;wBACE,IAAI,EAAE,cAAc;qBACrB;oBACD;wBACE,IAAI,EAAE,eAAe;qBACtB;oBACD;wBACE,IAAI,EAAE,eAAe;qBACtB;oBACD;wBACE,IAAI,EAAE,iBAAiB;qBACxB;iBACF;aACF;SACF;KACF;CAC4C,CAAA;AAClC,QAAA,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAU,CAAwB,CAAA;AAC1D,QAAA,QAAQ,GAAa,IAAI,kBAAQ,CAAC,eAAO,CAAC,CAAA;AAcvD,SAAgB,QAAQ,CACtB,CAAU,EACV,EAAU,EACV,IAAY,EACZ,YAAsB;IAEtB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAQ,CAAC,CAAC,CAAC,qBAAW,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC;QACzD,CAAC,CAAC,gBAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC;YACE,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,IAAI,yBAAe,CACxB,2BAA2B,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,kBAAkB,CACpF;SACF,CAAA;AACP,CAAC;AAEY,QAAA,GAAG,GAAG;IACjB,uBAAuB,EAAE,4BAA4B;CAC7C,CAAA","sourcesContent":["/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport {\n type LexiconDoc,\n Lexicons,\n ValidationError,\n type ValidationResult,\n} from '@atproto/lexicon'\nimport { type $Typed, is$typed, maybe$typed } from './util.js'\n\nexport const schemaDict = {\n ComAtprotoSyncGetRecord: {\n lexicon: 1,\n id: 'com.atproto.sync.getRecord',\n defs: {\n main: {\n type: 'query',\n description:\n 'Get data blocks needed to prove the existence or non-existence of record in the current version of repo. Does not require auth.',\n parameters: {\n type: 'params',\n required: ['did', 'collection', 'rkey'],\n properties: {\n did: {\n type: 'string',\n format: 'did',\n description: 'The DID of the repo.',\n },\n collection: {\n type: 'string',\n format: 'nsid',\n },\n rkey: {\n type: 'string',\n description: 'Record Key',\n format: 'record-key',\n },\n },\n },\n output: {\n encoding: 'application/vnd.ipld.car',\n },\n errors: [\n {\n name: 'RecordNotFound',\n },\n {\n name: 'RepoNotFound',\n },\n {\n name: 'RepoTakendown',\n },\n {\n name: 'RepoSuspended',\n },\n {\n name: 'RepoDeactivated',\n },\n ],\n },\n },\n },\n} as const satisfies Record<string, LexiconDoc>\nexport const schemas = Object.values(schemaDict) satisfies LexiconDoc[]\nexport const lexicons: Lexicons = new Lexicons(schemas)\n\nexport function validate<T extends { $type: string }>(\n v: unknown,\n id: string,\n hash: string,\n requiredType: true,\n): ValidationResult<T>\nexport function validate<T extends { $type?: string }>(\n v: unknown,\n id: string,\n hash: string,\n requiredType?: false,\n): ValidationResult<T>\nexport function validate(\n v: unknown,\n id: string,\n hash: string,\n requiredType?: boolean,\n): ValidationResult {\n return (requiredType ? is$typed : maybe$typed)(v, id, hash)\n ? lexicons.validate(`${id}#${hash}`, v)\n : {\n success: false,\n error: new ValidationError(\n `Must be an object with \"${hash === 'main' ? id : `${id}#${hash}`}\" $type property`,\n ),\n }\n}\n\nexport const ids = {\n ComAtprotoSyncGetRecord: 'com.atproto.sync.getRecord',\n} as const\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRecord.js","sourceRoot":"","sources":["../../../../../../src/client/types/com/atproto/sync/getRecord.ts"],"names":[],"mappings":";;;AAmEA,gCAUC;AA7ED;;GAEG;AACH,wCAAqD;AAGrD,mDAA4D;AAC5D,2CAIyB;AAEzB,MAAM,QAAQ,GAAG,eAAS,EACxB,QAAQ,GAAG,mBAAS,CAAA;AACtB,MAAM,EAAE,GAAG,4BAA4B,CAAA;AAsBvC,MAAa,mBAAoB,SAAQ,gBAAS;IAChD,YAAY,GAAc;QACxB,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IACxE,CAAC;CACF;AAJD,kDAIC;AAED,MAAa,iBAAkB,SAAQ,gBAAS;IAC9C,YAAY,GAAc;QACxB,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IACxE,CAAC;CACF;AAJD,8CAIC;AAED,MAAa,kBAAmB,SAAQ,gBAAS;IAC/C,YAAY,GAAc;QACxB,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IACxE,CAAC;CACF;AAJD,gDAIC;AAED,MAAa,kBAAmB,SAAQ,gBAAS;IAC/C,YAAY,GAAc;QACxB,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IACxE,CAAC;CACF;AAJD,gDAIC;AAED,MAAa,oBAAqB,SAAQ,gBAAS;IACjD,YAAY,GAAc;QACxB,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IACxE,CAAC;CACF;AAJD,oDAIC;AAED,SAAgB,UAAU,CAAC,CAAM;IAC/B,IAAI,CAAC,YAAY,gBAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,KAAK,KAAK,gBAAgB;YAAE,OAAO,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAA;QACnE,IAAI,CAAC,CAAC,KAAK,KAAK,cAAc;YAAE,OAAO,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAA;QAC/D,IAAI,CAAC,CAAC,KAAK,KAAK,eAAe;YAAE,OAAO,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAA;QACjE,IAAI,CAAC,CAAC,KAAK,KAAK,eAAe;YAAE,OAAO,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAA;QACjE,IAAI,CAAC,CAAC,KAAK,KAAK,iBAAiB;YAAE,OAAO,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAA;IACvE,CAAC;IAED,OAAO,CAAC,CAAA;AACV,CAAC"}
|
|
1
|
+
{"version":3,"file":"getRecord.js","sourceRoot":"","sources":["../../../../../../src/client/types/com/atproto/sync/getRecord.ts"],"names":[],"mappings":";;;AAmEA,gCAUC;AA7ED;;GAEG;AACH,wCAAqD;AAGrD,mDAA4D;AAC5D,2CAIyB;AAEzB,MAAM,QAAQ,GAAG,eAAS,EACxB,QAAQ,GAAG,mBAAS,CAAA;AACtB,MAAM,EAAE,GAAG,4BAA4B,CAAA;AAsBvC,MAAa,mBAAoB,SAAQ,gBAAS;IAChD,YAAY,GAAc;QACxB,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IACxE,CAAC;CACF;AAJD,kDAIC;AAED,MAAa,iBAAkB,SAAQ,gBAAS;IAC9C,YAAY,GAAc;QACxB,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IACxE,CAAC;CACF;AAJD,8CAIC;AAED,MAAa,kBAAmB,SAAQ,gBAAS;IAC/C,YAAY,GAAc;QACxB,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IACxE,CAAC;CACF;AAJD,gDAIC;AAED,MAAa,kBAAmB,SAAQ,gBAAS;IAC/C,YAAY,GAAc;QACxB,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IACxE,CAAC;CACF;AAJD,gDAIC;AAED,MAAa,oBAAqB,SAAQ,gBAAS;IACjD,YAAY,GAAc;QACxB,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IACxE,CAAC;CACF;AAJD,oDAIC;AAED,SAAgB,UAAU,CAAC,CAAM;IAC/B,IAAI,CAAC,YAAY,gBAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,KAAK,KAAK,gBAAgB;YAAE,OAAO,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAA;QACnE,IAAI,CAAC,CAAC,KAAK,KAAK,cAAc;YAAE,OAAO,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAA;QAC/D,IAAI,CAAC,CAAC,KAAK,KAAK,eAAe;YAAE,OAAO,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAA;QACjE,IAAI,CAAC,CAAC,KAAK,KAAK,eAAe;YAAE,OAAO,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAA;QACjE,IAAI,CAAC,CAAC,KAAK,KAAK,iBAAiB;YAAE,OAAO,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAA;IACvE,CAAC;IAED,OAAO,CAAC,CAAA;AACV,CAAC","sourcesContent":["/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { HeadersMap, XRPCError } from '@atproto/xrpc'\nimport { type ValidationResult, BlobRef } from '@atproto/lexicon'\nimport { CID } from 'multiformats/cid'\nimport { validate as _validate } from '../../../../lexicons'\nimport {\n type $Typed,\n is$typed as _is$typed,\n type OmitKey,\n} from '../../../../util'\n\nconst is$typed = _is$typed,\n validate = _validate\nconst id = 'com.atproto.sync.getRecord'\n\nexport type QueryParams = {\n /** The DID of the repo. */\n did: string\n collection: string\n /** Record Key */\n rkey: string\n}\nexport type InputSchema = undefined\n\nexport interface CallOptions {\n signal?: AbortSignal\n headers?: HeadersMap\n}\n\nexport interface Response {\n success: boolean\n headers: HeadersMap\n data: Uint8Array\n}\n\nexport class RecordNotFoundError extends XRPCError {\n constructor(src: XRPCError) {\n super(src.status, src.error, src.message, src.headers, { cause: src })\n }\n}\n\nexport class RepoNotFoundError extends XRPCError {\n constructor(src: XRPCError) {\n super(src.status, src.error, src.message, src.headers, { cause: src })\n }\n}\n\nexport class RepoTakendownError extends XRPCError {\n constructor(src: XRPCError) {\n super(src.status, src.error, src.message, src.headers, { cause: src })\n }\n}\n\nexport class RepoSuspendedError extends XRPCError {\n constructor(src: XRPCError) {\n super(src.status, src.error, src.message, src.headers, { cause: src })\n }\n}\n\nexport class RepoDeactivatedError extends XRPCError {\n constructor(src: XRPCError) {\n super(src.status, src.error, src.message, src.headers, { cause: src })\n }\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n if (e.error === 'RecordNotFound') return new RecordNotFoundError(e)\n if (e.error === 'RepoNotFound') return new RepoNotFoundError(e)\n if (e.error === 'RepoTakendown') return new RepoTakendownError(e)\n if (e.error === 'RepoSuspended') return new RepoSuspendedError(e)\n if (e.error === 'RepoDeactivated') return new RepoDeactivatedError(e)\n }\n\n return e\n}\n"]}
|
package/dist/client/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/client/util.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAgDH,4BAMC;AAED,kCASC;AAUD,kCAIC;AAhED,SAAS,QAAQ,CAAI,CAAI;IACvB,OAAO,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAA;AAC3C,CAAC;AAED,SAAS,OAAO,CACd,KAAc,EACd,EAAM,EACN,IAAU;IAEV,OAAO,IAAI,KAAK,MAAM;QACpB,CAAC,CAAC,KAAK,KAAK,EAAE;QACd,CAAC,CAAC,4BAA4B;YAC5B,OAAO,KAAK,KAAK,QAAQ;gBACvB,KAAK,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM;gBAC5C,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,SAAS;gBAC5C,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AAC5B,CAAC;AAgBD,SAAgB,QAAQ,CACtB,CAAI,EACJ,EAAM,EACN,IAAU;IAEV,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;AAClE,CAAC;AAED,SAAgB,WAAW,CACzB,CAAI,EACJ,EAAM,EACN,IAAU;IAEV,OAAO,CACL,QAAQ,CAAC,CAAC,CAAC;QACX,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAC5E,CAAA;AACH,CAAC;AAMD;;;GAGG;AACH,SAAgB,WAAW,CAAsB,QAAW;IAC1D,OAAO,UAAa,CAAI;QACtB,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IAC5B,CAAC,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/client/util.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAgDH,4BAMC;AAED,kCASC;AAUD,kCAIC;AAhED,SAAS,QAAQ,CAAI,CAAI;IACvB,OAAO,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAA;AAC3C,CAAC;AAED,SAAS,OAAO,CACd,KAAc,EACd,EAAM,EACN,IAAU;IAEV,OAAO,IAAI,KAAK,MAAM;QACpB,CAAC,CAAC,KAAK,KAAK,EAAE;QACd,CAAC,CAAC,4BAA4B;YAC5B,OAAO,KAAK,KAAK,QAAQ;gBACvB,KAAK,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM;gBAC5C,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,SAAS;gBAC5C,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AAC5B,CAAC;AAgBD,SAAgB,QAAQ,CACtB,CAAI,EACJ,EAAM,EACN,IAAU;IAEV,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;AAClE,CAAC;AAED,SAAgB,WAAW,CACzB,CAAI,EACJ,EAAM,EACN,IAAU;IAEV,OAAO,CACL,QAAQ,CAAC,CAAC,CAAC;QACX,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAC5E,CAAA;AACH,CAAC;AAMD;;;GAGG;AACH,SAAgB,WAAW,CAAsB,QAAW;IAC1D,OAAO,UAAa,CAAI;QACtB,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IAC5B,CAAC,CAAA;AACH,CAAC","sourcesContent":["/**\n * GENERATED CODE - DO NOT MODIFY\n */\n\nimport { type ValidationResult } from '@atproto/lexicon'\n\nexport type OmitKey<T, K extends keyof T> = {\n [K2 in keyof T as K2 extends K ? never : K2]: T[K2]\n}\n\nexport type $Typed<V, T extends string = string> = V & { $type: T }\nexport type Un$Typed<V extends { $type?: string }> = OmitKey<V, '$type'>\n\nexport type $Type<Id extends string, Hash extends string> = Hash extends 'main'\n ? Id\n : `${Id}#${Hash}`\n\nfunction isObject<V>(v: V): v is V & object {\n return v != null && typeof v === 'object'\n}\n\nfunction is$type<Id extends string, Hash extends string>(\n $type: unknown,\n id: Id,\n hash: Hash,\n): $type is $Type<Id, Hash> {\n return hash === 'main'\n ? $type === id\n : // $type === `${id}#${hash}`\n typeof $type === 'string' &&\n $type.length === id.length + 1 + hash.length &&\n $type.charCodeAt(id.length) === 35 /* '#' */ &&\n $type.startsWith(id) &&\n $type.endsWith(hash)\n}\n\nexport type $TypedObject<\n V,\n Id extends string,\n Hash extends string,\n> = V extends {\n $type: $Type<Id, Hash>\n}\n ? V\n : V extends { $type?: string }\n ? V extends { $type?: infer T extends $Type<Id, Hash> }\n ? V & { $type: T }\n : never\n : V & { $type: $Type<Id, Hash> }\n\nexport function is$typed<V, Id extends string, Hash extends string>(\n v: V,\n id: Id,\n hash: Hash,\n): v is $TypedObject<V, Id, Hash> {\n return isObject(v) && '$type' in v && is$type(v.$type, id, hash)\n}\n\nexport function maybe$typed<V, Id extends string, Hash extends string>(\n v: V,\n id: Id,\n hash: Hash,\n): v is V & object & { $type?: $Type<Id, Hash> } {\n return (\n isObject(v) &&\n ('$type' in v ? v.$type === undefined || is$type(v.$type, id, hash) : true)\n )\n}\n\nexport type Validator<R = unknown> = (v: unknown) => ValidationResult<R>\nexport type ValidatorParam<V extends Validator> =\n V extends Validator<infer R> ? R : never\n\n/**\n * Utility function that allows to convert a \"validate*\" utility function into a\n * type predicate.\n */\nexport function asPredicate<V extends Validator>(validate: V) {\n return function <T>(v: T): v is T & ValidatorParam<V> {\n return validate(v).success\n }\n}\n"]}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,+CAA4B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,+CAA4B","sourcesContent":["export * from './record.js'\nexport * from './lexicon.js'\n"]}
|
package/dist/lexicon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lexicon.js","sourceRoot":"","sources":["../src/lexicon.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lexicon.js","sourceRoot":"","sources":["../src/lexicon.ts"],"names":[],"mappings":"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","sourcesContent":["import dns from 'node:dns/promises'\nimport { CID } from 'multiformats/cid'\nimport { LexiconDoc, parseLexiconDoc } from '@atproto/lexicon'\nimport { Commit } from '@atproto/repo'\nimport { AtUri, NSID, ensureValidDid } from '@atproto/syntax'\nimport {\n BuildRecordResolverOptions,\n ResolveRecordOptions,\n buildRecordResolver,\n} from './record.js'\nimport { isValidDid } from './util.js'\n\nconst DNS_SUBDOMAIN = '_lexicon'\nconst DNS_PREFIX = 'did='\nexport const LEXICON_SCHEMA_NSID = 'com.atproto.lexicon.schema'\n\n/**\n * Resolve Lexicon from an NSID\n */\nexport type LexiconResolver = (\n nsid: NSID | string,\n) => Promise<LexiconResolution>\n\n/**\n * Resolve Lexicon from an NSID using Lexicon DID authority and record resolution\n */\nexport type AtprotoLexiconResolver = (\n nsid: NSID | string,\n options?: ResolveLexiconOptions,\n) => Promise<LexiconResolution>\n\nexport type BuildLexiconResolverOptions = BuildRecordResolverOptions\n\nexport type ResolveLexiconOptions = ResolveRecordOptions & {\n didAuthority?: string\n}\n\nexport type LexiconResolution = {\n commit: Commit\n uri: AtUri\n cid: CID\n nsid: NSID\n lexicon: LexiconDoc & LexiconSchemaRecord\n}\n\nexport {\n AtUri,\n CID,\n type Commit,\n type LexiconDoc,\n type LexiconSchemaRecord,\n NSID,\n}\n\n/**\n * Build a Lexicon resolver function.\n */\nexport function buildLexiconResolver(\n options: BuildLexiconResolverOptions = {},\n): AtprotoLexiconResolver {\n const resolveRecord = buildRecordResolver(options)\n return async function (\n input: NSID | string,\n opts: ResolveLexiconOptions = {},\n ): Promise<LexiconResolution> {\n const nsid = NSID.from(input)\n const didAuthority = await getDidAuthority(nsid, opts)\n const verified = await resolveRecord(\n AtUri.make(didAuthority, LEXICON_SCHEMA_NSID, nsid.toString()),\n { forceRefresh: opts.forceRefresh },\n ).catch((err) => {\n throw new LexiconResolutionError(\n nsid,\n 'Could not resolve Lexicon schema record',\n { cause: err },\n )\n })\n let lexicon: LexiconDoc\n try {\n lexicon = parseLexiconDoc(verified.record)\n } catch (err) {\n throw new LexiconResolutionError(nsid, 'Invalid Lexicon document', {\n cause: err,\n })\n }\n if (!isLexiconSchemaRecord(lexicon)) {\n throw new LexiconResolutionError(nsid, 'Invalid Lexicon schema record')\n }\n if (lexicon.id !== nsid.toString()) {\n throw new LexiconResolutionError(\n nsid,\n `Lexicon schema record id (${lexicon.id}) does not match NSID`,\n )\n }\n const { uri, cid, commit } = verified\n return { commit, uri, cid, nsid, lexicon }\n } satisfies LexiconResolver\n}\n\nexport const resolveLexicon = buildLexiconResolver()\n\n/**\n * Resolve the DID authority for a Lexicon from the network using DNS, based on its NSID.\n * @param input NSID or string representing one for which to lookup its Lexicon DID authority.\n */\nexport async function resolveLexiconDidAuthority(\n input: NSID | string,\n): Promise<string | undefined> {\n const nsid = NSID.from(input)\n const did = await resolveDns(nsid.authority)\n if (did == null || !isValidDid(did)) return\n return did\n}\n\nexport class LexiconResolutionError extends Error {\n constructor(\n public readonly nsid: NSID,\n public readonly description = `Could not resolve Lexicon for NSID`,\n options?: ErrorOptions,\n ) {\n super(`${description} (${nsid})`, options)\n this.name = 'LexiconResolutionError'\n }\n\n static from(\n input: NSID | string,\n description?: string,\n options?: ErrorOptions,\n ): LexiconResolutionError {\n const nsid = NSID.from(input)\n return new LexiconResolutionError(nsid, description, options)\n }\n}\n\nasync function getDidAuthority(nsid: NSID, options: ResolveLexiconOptions) {\n if (options.didAuthority) {\n ensureValidDid(options.didAuthority)\n return options.didAuthority\n }\n const did = await resolveLexiconDidAuthority(nsid)\n if (!did) {\n throw new LexiconResolutionError(\n nsid,\n `Could not resolve a DID authority for NSID`,\n )\n }\n return did\n}\n\nasync function resolveDns(authority: string): Promise<string | undefined> {\n let chunkedResults: string[][]\n try {\n chunkedResults = await dns.resolveTxt(`${DNS_SUBDOMAIN}.${authority}`)\n } catch (err) {\n return undefined\n }\n return parseDnsResult(chunkedResults)\n}\n\nfunction parseDnsResult(chunkedResults: string[][]): string | undefined {\n const results = chunkedResults.map((chunks) => chunks.join(''))\n const found = results.filter((i) => i.startsWith(DNS_PREFIX))\n if (found.length !== 1) {\n return undefined\n }\n return found[0].slice(DNS_PREFIX.length)\n}\n\ntype LexiconSchemaRecord = { $type: typeof LEXICON_SCHEMA_NSID }\nfunction isLexiconSchemaRecord(v: unknown): v is LexiconSchemaRecord {\n return v?.['$type'] === LEXICON_SCHEMA_NSID\n}\n"]}
|
package/dist/record.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EACL,MAAM,EAMP,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,KAAK,EAAkB,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAKtE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;AAE/E;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAClC,GAAG,EAAE,KAAK,GAAG,MAAM,EACnB,OAAO,CAAC,EAAE,oBAAoB,KAC3B,OAAO,CAAC,gBAAgB,CAAC,CAAA;AAE9B,MAAM,MAAM,0BAA0B,GAAG;IACvC,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,GAAG,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,GAAG,YAAY,CAAA;CACvD,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,KAAK,CAAA;IACV,GAAG,EAAE,GAAG,CAAA;IACR,MAAM,EAAE,UAAU,CAAA;CACnB,CAAA;AAED,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,MAAM,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,CAAA;AAE/D;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,0BAA+B,GACvC,qBAAqB,CAyCvB;AAED,eAAO,MAAM,aAAa,uBAAwB,CAAA;AAElD,eAAO,MAAM,SAAS,sFAIpB,CAAA;AAEF,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIrD"}
|
package/dist/record.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/* eslint-disable import/no-deprecated */
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.RecordResolutionError = exports.safeFetch = exports.resolveRecord = exports.IdResolver = exports.CID = exports.AtUri = void 0;
|
|
4
5
|
exports.buildRecordResolver = buildRecordResolver;
|
package/dist/record.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.js","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable import/no-deprecated */\n\nimport { CID } from 'multiformats/cid'\nimport { IdResolver } from '@atproto/identity'\nimport { RepoRecord } from '@atproto/lexicon'\nimport {\n Commit,\n MST,\n MemoryBlockstore,\n def as repoDef,\n readCarWithRoot,\n verifyCommitSig,\n} from '@atproto/repo'\nimport { AtUri, ensureValidDid } from '@atproto/syntax'\nimport { BuildFetchHandlerOptions, FetchHandler } from '@atproto/xrpc'\nimport { safeFetchWrap } from '@atproto-labs/fetch-node'\nimport { AtpBaseClient as Client } from './client/index.js'\nimport { isValidDid } from './util.js'\n\n/**\n * Resolve a record from the network.\n */\nexport type RecordResolver = (uri: AtUri | string) => Promise<RecordResolution>\n\n/**\n * Resolve a record from the network, verifying its authenticity.\n */\nexport type AtprotoRecordResolver = (\n uri: AtUri | string,\n options?: ResolveRecordOptions,\n) => Promise<RecordResolution>\n\nexport type BuildRecordResolverOptions = {\n idResolver?: IdResolver\n rpc?: Partial<BuildFetchHandlerOptions> | FetchHandler\n}\n\nexport type ResolveRecordOptions = {\n forceRefresh?: boolean\n}\n\nexport type RecordResolution = {\n commit: Commit\n uri: AtUri\n cid: CID\n record: RepoRecord\n}\n\nexport { AtUri, CID, type Commit, IdResolver, type RepoRecord }\n\n/**\n * Build a record resolver function.\n */\nexport function buildRecordResolver(\n options: BuildRecordResolverOptions = {},\n): AtprotoRecordResolver {\n const { idResolver = new IdResolver(), rpc } = options\n return async function resolveRecord(\n uriStr: AtUri | string,\n opts: ResolveRecordOptions = {},\n ): Promise<RecordResolution> {\n const uri = typeof uriStr === 'string' ? new AtUri(uriStr) : uriStr\n const did = await getDidFromUri(uri, { idResolver })\n const identity = await idResolver.did\n .resolveAtprotoData(did, opts.forceRefresh)\n .catch((err) => {\n throw new RecordResolutionError('Could not resolve DID identity data', {\n cause: err,\n })\n })\n const client = new Client(\n typeof rpc === 'function'\n ? rpc\n : {\n ...rpc,\n service: rpc?.service ?? identity.pds,\n fetch: rpc?.fetch ?? safeFetch,\n },\n )\n const { data: proofBytes } = await client.com.atproto.sync\n .getRecord({\n did,\n collection: uri.collection,\n rkey: uri.rkey,\n })\n .catch((err) => {\n throw new RecordResolutionError('Could not fetch record proof', {\n cause: err,\n })\n })\n const verified = await verifyRecordProof(proofBytes, {\n uri: AtUri.make(did, uri.collection, uri.rkey),\n signingKey: identity.signingKey,\n })\n return verified\n }\n}\n\nexport const resolveRecord = buildRecordResolver()\n\nexport const safeFetch = safeFetchWrap({\n allowIpHost: false,\n allowImplicitRedirect: true,\n responseMaxSize: (1024 + 10) * 1024, // 1MB + 10kB, just a bit larger than max record size\n})\n\nexport class RecordResolutionError extends Error {\n constructor(message?: string, options?: ErrorOptions) {\n super(message, options)\n this.name = 'RecordResolutionError'\n }\n}\n\nasync function getDidFromUri(\n uri: AtUri,\n { idResolver }: { idResolver: IdResolver },\n) {\n if (uri.host.startsWith('did:')) {\n ensureValidDid(uri.host)\n return uri.host\n }\n const resolved = await idResolver.handle.resolve(uri.host)\n if (!resolved || !isValidDid(resolved)) {\n throw new RecordResolutionError('Could not resolve handle found in AT-URI')\n }\n return resolved\n}\n\nasync function verifyRecordProof(\n proofBytes: Uint8Array,\n { uri, signingKey }: { uri: AtUri; signingKey: string },\n) {\n const { root, blocks } = await readCarWithRoot(proofBytes).catch((err) => {\n throw new RecordResolutionError('Malformed record proof', { cause: err })\n })\n const blockstore = new MemoryBlockstore(blocks)\n const commit = await blockstore.readObj(root, repoDef.commit).catch((err) => {\n throw new RecordResolutionError('Invalid commit in record proof', {\n cause: err,\n })\n })\n if (commit.did !== uri.host) {\n throw new RecordResolutionError(`Invalid repo did: ${commit.did}`)\n }\n const validSig = await verifyCommitSig(commit, signingKey)\n if (!validSig) {\n throw new RecordResolutionError(\n `Invalid signature on commit: ${root.toString()}`,\n )\n }\n const mst = MST.load(blockstore, commit.data)\n const cid = await mst.get(`${uri.collection}/${uri.rkey}`)\n if (!cid) {\n throw new RecordResolutionError('Record not found in proof')\n }\n const record = await blockstore.readRecord(cid)\n return { commit, uri, cid, record }\n}\n"]}
|
package/dist/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;AAEA,gCAOC;AATD,4CAAgD;AAEhD,SAAgB,UAAU,CAAC,GAAW;IACpC,IAAI,CAAC;QACH,IAAA,uBAAc,EAAC,GAAG,CAAC,CAAA;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;AAEA,gCAOC;AATD,4CAAgD;AAEhD,SAAgB,UAAU,CAAC,GAAW;IACpC,IAAI,CAAC;QACH,IAAA,uBAAc,EAAC,GAAG,CAAC,CAAA;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC","sourcesContent":["import { ensureValidDid } from '@atproto/syntax'\n\nexport function isValidDid(did: string) {\n try {\n ensureValidDid(did)\n return true\n } catch {\n return false\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atproto/lexicon-resolver",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "ATProto Lexicon resolution",
|
|
@@ -24,18 +24,18 @@
|
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"multiformats": "^9.9.0",
|
|
27
|
-
"@atproto-labs/fetch-node": "^0.
|
|
28
|
-
"@atproto/identity": "^0.4.
|
|
29
|
-
"@atproto/lexicon": "^0.5.
|
|
30
|
-
"@atproto/repo": "^0.8.
|
|
27
|
+
"@atproto-labs/fetch-node": "^0.2.0",
|
|
28
|
+
"@atproto/identity": "^0.4.10",
|
|
29
|
+
"@atproto/lexicon": "^0.5.2",
|
|
30
|
+
"@atproto/repo": "^0.8.11",
|
|
31
31
|
"@atproto/syntax": "^0.4.1",
|
|
32
|
-
"@atproto/xrpc": "^0.7.
|
|
32
|
+
"@atproto/xrpc": "^0.7.6"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"jest": "^28.1.2",
|
|
36
36
|
"typescript": "^5.6.3",
|
|
37
|
-
"@atproto/common": "^0.
|
|
38
|
-
"@atproto/lex-cli": "^0.9.
|
|
37
|
+
"@atproto/common": "^0.5.0",
|
|
38
|
+
"@atproto/lex-cli": "^0.9.7"
|
|
39
39
|
},
|
|
40
40
|
"scripts": {
|
|
41
41
|
"test": "jest",
|
package/src/record.ts
CHANGED
package/tests/record.test.ts
CHANGED