@learncard/core 8.3.1 → 8.4.1

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/dist/core.d.ts CHANGED
@@ -4755,7 +4755,7 @@ export declare type GetPlaneProviders<Plugins extends Plugin[], Plane extends Co
4755
4755
  }>;
4756
4756
  }[number];
4757
4757
  export declare type ReadPlane = {
4758
- get: (uri?: string, options?: PlaneOptions) => Promise<VC | undefined>;
4758
+ get: (uri?: string, options?: PlaneOptions) => Promise<VC | VP | undefined>;
4759
4759
  };
4760
4760
  export declare type PluginReadPlane = ReadPlane;
4761
4761
  export declare type LearnCardReadPlane<Plugins extends Plugin[]> = ReadPlane & {
@@ -4765,9 +4765,9 @@ export declare type EncryptionParams = {
4765
4765
  recipients: string[];
4766
4766
  };
4767
4767
  export declare type StorePlane = {
4768
- upload: (vc: VC, options?: PlaneOptions) => Promise<string>;
4769
- uploadMany?: (vcs: VC[], options?: PlaneOptions) => Promise<string[]>;
4770
- uploadEncrypted?: (vc: VC, params?: EncryptionParams, options?: PlaneOptions) => Promise<string>;
4768
+ upload: (vc: VC | VP, options?: PlaneOptions) => Promise<string>;
4769
+ uploadMany?: (vcs: (VC | VP)[], options?: PlaneOptions) => Promise<string[]>;
4770
+ uploadEncrypted?: (vc: VC | VP, params?: EncryptionParams, options?: PlaneOptions) => Promise<string>;
4771
4771
  };
4772
4772
  export declare type PluginStorePlane = StorePlane;
4773
4773
  export declare type LearnCardStorePlane<Plugins extends Plugin[]> = Record<FilterForPlane<Plugins, "store">, StorePlane> & {
@@ -4790,8 +4790,8 @@ export declare type CachePlane = {
4790
4790
  getIndex: <Metadata extends Record<string, any> = Record<never, never>>(name: string, query: Record<string, any>) => Promise<CredentialRecord<Metadata>[] | undefined>;
4791
4791
  setIndex: <Metadata extends Record<string, any> = Record<never, never>>(name: string, query: Record<string, any>, value: CredentialRecord<Metadata>[]) => Promise<boolean>;
4792
4792
  flushIndex: () => Promise<boolean>;
4793
- getVc: (uri: string) => Promise<VC | undefined>;
4794
- setVc: (uri: string, value: VC | undefined) => Promise<boolean>;
4793
+ getVc: (uri: string) => Promise<VC | VP | undefined>;
4794
+ setVc: (uri: string, value: VC | VP | undefined) => Promise<boolean>;
4795
4795
  flushVc: () => Promise<boolean>;
4796
4796
  };
4797
4797
  export declare type PluginCachePlane = CachePlane;
@@ -5060,6 +5060,10 @@ export declare type CeramicPluginDependentMethods<URI extends string = ""> = {
5060
5060
  /** @group CeramicPlugin */
5061
5061
  export declare type CeramicPlugin = Plugin<"Ceramic", "read" | "store", CeramicPluginMethods>;
5062
5062
  /** @group IDXPlugin */
5063
+ export declare type IDXIndexObject<IDXMetadata extends Record<string, any>, Metadata extends Record<string, any>> = {
5064
+ credentials: CredentialRecord<Metadata>[];
5065
+ } & IDXMetadata;
5066
+ /** @group IDXPlugin */
5063
5067
  export declare type IDXArgs = {
5064
5068
  modelData: ModelAliases;
5065
5069
  credentialAlias: string;
@@ -5072,6 +5076,8 @@ export declare type IDXPluginMethods = {
5072
5076
  addVerifiableCredentialInIdx: <Metadata extends Record<string, any> = Record<never, never>>(cred: CredentialRecord<Metadata>) => Promise<string>;
5073
5077
  removeVerifiableCredentialInIdx: (title: string) => Promise<StreamID>;
5074
5078
  removeAllVerifiableCredentialsInIdx: () => Promise<StreamID>;
5079
+ getIDXIndex: <IDXMetadata extends Record<string, any>, Metadata extends Record<string, any>>() => Promise<IDXIndexObject<IDXMetadata, Metadata> | null>;
5080
+ setIDXIndex: <IDXMetadata extends Record<string, any>, Metadata extends Record<string, any>>(index: IDXIndexObject<IDXMetadata, Metadata>) => Promise<StreamID>;
5075
5081
  };
5076
5082
  /** @group IDXPlugin */
5077
5083
  export declare type IDXPluginDependentMethods<URI extends string = ""> = {
package/dist/core.esm.js CHANGED
@@ -66924,7 +66924,7 @@ var getCeramicPlugin = /* @__PURE__ */ __name(async (learnCard, { ceramicEndpoin
66924
66924
  return content;
66925
66925
  }, "readContentFromCeramic");
66926
66926
  const uploadCredential = /* @__PURE__ */ __name(async (vc, encryption) => {
66927
- await VCValidator.parseAsync(vc);
66927
+ await VCValidator.or(VPValidator).parseAsync(vc);
66928
66928
  return streamIdToCeramicURI(await publishContentToCeramic(vc, {}, {}, encryption));
66929
66929
  }, "uploadCredential");
66930
66930
  const resolveCredential = /* @__PURE__ */ __name(async (uri = "") => {
@@ -66967,7 +66967,9 @@ var getCeramicPlugin = /* @__PURE__ */ __name(async (learnCard, { ceramicEndpoin
66967
66967
  return void 0;
66968
66968
  const streamId = verificationResult.data.split(":")[2];
66969
66969
  try {
66970
- return await VCValidator.parseAsync(await readContentFromCeramic(streamId));
66970
+ return await VCValidator.or(VPValidator).parseAsync(
66971
+ await readContentFromCeramic(streamId)
66972
+ );
66971
66973
  } catch (e2) {
66972
66974
  _learnCard.debug?.(e2);
66973
66975
  return void 0;
@@ -67623,7 +67625,9 @@ var DIDDataStore = class {
67623
67625
  __name(DIDDataStore, "DIDDataStore");
67624
67626
 
67625
67627
  // src/wallet/plugins/idx/types.ts
67626
- var CredentialsListValidator = mod.object({ credentials: CredentialRecordValidator.array() }).strict();
67628
+ var CredentialsListValidator = mod.object({
67629
+ credentials: CredentialRecordValidator.array()
67630
+ });
67627
67631
  var BackwardsCompatIDXCredentialValidator = mod.object({ id: mod.string(), title: mod.string(), storageType: mod.literal("ceramic").optional() }).catchall(mod.any());
67628
67632
  var BackwardsCompatCredentialsListValidator = mod.object({
67629
67633
  credentials: CredentialRecordValidator.or(BackwardsCompatIDXCredentialValidator).array()
@@ -67770,7 +67774,9 @@ var getIDXPlugin = /* @__PURE__ */ __name(async (learnCard, { modelData, credent
67770
67774
  getVerifiableCredentialFromIdx: async (_learnCard, id) => {
67771
67775
  const credentialList = await getCredentialsListFromIdx();
67772
67776
  const credential = credentialList?.credentials?.find((cred) => cred?.id === id);
67773
- return credential?.uri ? _learnCard.read.get(credential.uri) : void 0;
67777
+ const result = _learnCard.read.get(credential?.uri);
67778
+ const validationResult = await VCValidator.safeParseAsync(result);
67779
+ return validationResult.success ? validationResult.data : void 0;
67774
67780
  },
67775
67781
  getVerifiableCredentialsFromIdx: async (_learnCard) => {
67776
67782
  const credentialList = await getCredentialsListFromIdx();
@@ -67801,7 +67807,9 @@ var getIDXPlugin = /* @__PURE__ */ __name(async (learnCard, { modelData, credent
67801
67807
  },
67802
67808
  removeAllVerifiableCredentialsInIdx: async () => {
67803
67809
  return removeAllCredentialsFromIdx();
67804
- }
67810
+ },
67811
+ getIDXIndex: async () => dataStore.get(credentialAlias),
67812
+ setIDXIndex: async (_learnCard, index) => dataStore.set(credentialAlias, index)
67805
67813
  }
67806
67814
  };
67807
67815
  }, "getIDXPlugin");