{"version":3,"sources":["../src/permissions.ts"],"sourcesContent":["import * as v from \"valibot\";\nimport type { ParcnetRPCMethodName } from \"./protocol.js\";\n\nexport class MissingPermissionError extends Error {\n  public constructor(\n    public readonly missingPermission: keyof PermissionRequest,\n    public readonly method: ParcnetRPCMethodName\n  ) {\n    super(`Missing permission ${missingPermission} when invoking ${method}`);\n  }\n}\n\nexport const PermissionRequestSchema = v.partial(\n  v.object({\n    READ_PUBLIC_IDENTIFIERS: v.object({}),\n    SIGN_POD: v.object({}),\n    REQUEST_PROOF: v.object({ collections: v.array(v.string()) }),\n    READ_POD: v.object({ collections: v.array(v.string()) }),\n    INSERT_POD: v.object({ collections: v.array(v.string()) }),\n    DELETE_POD: v.object({ collections: v.array(v.string()) }),\n    SUGGEST_PODS: v.object({ collections: v.array(v.string()) })\n  })\n);\n\nexport type PermissionRequest = v.InferOutput<typeof PermissionRequestSchema>;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAAmB;AAGZ,IAAM,yBAAN,cAAqC,MAAM;AAAA,EACzC,YACW,mBACA,QAChB;AACA,UAAM,sBAAsB,iBAAiB,kBAAkB,MAAM,EAAE;AAHvD;AACA;AAAA,EAGlB;AACF;AAEO,IAAM,0BAA4B;AAAA,EACrC,SAAO;AAAA,IACP,yBAA2B,SAAO,CAAC,CAAC;AAAA,IACpC,UAAY,SAAO,CAAC,CAAC;AAAA,IACrB,eAAiB,SAAO,EAAE,aAAe,QAAQ,SAAO,CAAC,EAAE,CAAC;AAAA,IAC5D,UAAY,SAAO,EAAE,aAAe,QAAQ,SAAO,CAAC,EAAE,CAAC;AAAA,IACvD,YAAc,SAAO,EAAE,aAAe,QAAQ,SAAO,CAAC,EAAE,CAAC;AAAA,IACzD,YAAc,SAAO,EAAE,aAAe,QAAQ,SAAO,CAAC,EAAE,CAAC;AAAA,IACzD,cAAgB,SAAO,EAAE,aAAe,QAAQ,SAAO,CAAC,EAAE,CAAC;AAAA,EAC7D,CAAC;AACH;","names":[]}