@medplum/fhir-router 5.1.30 → 5.1.32
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/cjs/index.cjs +34 -34
- package/dist/cjs/index.cjs.map +3 -3
- package/dist/cjs/index.d.ts +8 -0
- package/dist/esm/index.d.ts +8 -0
- package/dist/esm/index.mjs +14 -14
- package/dist/esm/index.mjs.map +3 -3
- package/package.json +4 -4
package/dist/cjs/index.cjs
CHANGED
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
"use strict";var fa=Object.create;var Vt=Object.defineProperty;var da=Object.getOwnPropertyDescriptor;var ma=Object.getOwnPropertyNames;var ha=Object.getPrototypeOf,ya=Object.prototype.hasOwnProperty;var Ta=(t,e,r)=>e in t?Vt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var To=(t,e)=>{for(var r in e)Vt(t,r,{get:e[r],enumerable:!0})},go=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of ma(e))!ya.call(t,i)&&i!==r&&Vt(t,i,{get:()=>e[i],enumerable:!(n=da(e,i))||n.enumerable});return t};var Eo=(t,e,r)=>(r=t!=null?fa(ha(t)):{},go(e||!t||!t.__esModule?Vt(r,"default",{value:t,enumerable:!0}):r,t)),ga=t=>go(Vt({},"__esModule",{value:!0}),t);var $=(t,e,r)=>Ta(t,typeof e!="symbol"?e+"":e,r);var Cl={};To(Cl,{BatchProcessor:()=>$t,FhirRepository:()=>mn,FhirRouter:()=>fo,MemoryRepository:()=>ro,RepositoryMode:()=>fr,Router:()=>hr,buildBatchResponseBundle:()=>No,createResourceImpl:()=>ua,getExtraEntries:()=>to,getSearchIncludeEntries:()=>Hs,getSearchRevIncludeEntries:()=>Ws,makeSimpleRequest:()=>Fl,processBatch:()=>Tr,updateResourceImpl:()=>pa});module.exports=ga(Cl);var R=require("@medplum/core");var Ea=50,Ia=8,Na=/urn(:|%3A)uuid(:|%3A)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/;async function Tr(t,e,r,n){return new $t(r,e,n,t).run()}var $t=class t{constructor(e,r,n,i){$(this,"router");$(this,"repo");$(this,"bundle");$(this,"req");$(this,"resolvedIdentities");$(this,"bundleInfo");$(this,"state");this.router=e,this.repo=r,this.bundle=n,this.req=i,this.resolvedIdentities=Object.create(null),this.state={position:0,resultEntries:new Array(n.entry?.length??0),pendingIndices:[],errors:[]}}static fromState(e,r,n,i,o){let s=new t(e,r,i.bundle,n);return s.resolvedIdentities=i.resolvedIdentities,s.bundleInfo={...i.bundleInfo},s.state.position=o,s}async run(){await this.preprocess();let e=this.bundleInfo;if(!this.isTransaction())return this.processEntriesAndBuild();let r=Io(this.state);return this.repo.withTransaction(n=>this.withRepo(n,()=>(this.state=Io(r),this.processEntriesAndBuild())),{serializable:e.requiresStrongTransaction,resourceTypes:e.resourceTypes})}async preprocess(){let e=this.bundle.type;if(e!=="batch"&&e!=="transaction")throw new R.OperationOutcomeError((0,R.badRequest)("Unrecognized bundle type: "+e));if(this.bundleInfo=await this.preprocessBundle(),this.isTransaction()){if(this.bundleInfo.updates>Ea)throw new R.OperationOutcomeError((0,R.badRequest)("Transaction contains more update operations than allowed"));if(this.bundleInfo.requiresStrongTransaction&&this.state.resultEntries.length>Ia)throw new R.OperationOutcomeError((0,R.badRequest)("Transaction requires strict isolation but has too many entries"))}let r=Object.create(null);for(let n=0;n<this.state.resultEntries.length;n++)this.state.resultEntries[n]&&(r[n]=this.state.resultEntries[n]);return{bundle:this.bundle,bundleInfo:{ordering:this.bundleInfo.ordering,resourceTypes:this.bundleInfo.resourceTypes,requiresStrongTransaction:this.bundleInfo.requiresStrongTransaction,updates:this.bundleInfo.updates},resolvedIdentities:this.resolvedIdentities,preprocessResults:r}}hasMoreEntries(){return this.bundleInfo!==void 0&&this.state.position<this.bundleInfo.ordering.length}getPosition(){return this.state.position}takePendingResults(){if(this.state.pendingIndices.length===0)return;let e=Object.create(null);for(let r of this.state.pendingIndices)e[r]=this.state.resultEntries[r];return this.state.pendingIndices=[],e}async processEntriesAndBuild(){for(this.dispatchPreEvent();this.hasMoreEntries();)await this.processNextEntryImpl();return this.dispatchPostEvent(),this.buildResultBundle()}dispatchPreEvent(){let e={type:"batch",bundleType:this.bundle.type,count:this.bundle.entry?.length,size:JSON.stringify(this.bundle).length};this.router.dispatchEvent(e)}dispatchPostEvent(){let e={type:"batch",bundleType:this.bundle.type,errors:this.state.errors.length?this.state.errors:void 0};this.router.dispatchEvent(e)}buildResultBundle(){return{resourceType:"Bundle",type:`${this.bundle.type}-response`,entry:this.state.resultEntries}}async withRepo(e,r){let n=this.repo;this.repo=e;try{return await r()}finally{this.repo=n}}async preprocessBundle(){let e=this.bundle.entry;if(!e?.length)throw new R.OperationOutcomeError((0,R.badRequest)("Missing bundle entries"));let r={transaction:[],batch:[],delete:[],create:[],update:[],patch:[],operation:[],"search-system":[],"search-type":[],read:[],vread:[],"history-system":[],"history-type":[],"history-instance":[]},n=new Set,i=new Set,o=!1,s=0;for(let c=0;c<e.length;c++){let p=e[c];if(!p.request?.method){this.state.resultEntries[c]=Ut((0,R.badRequest)("Missing Bundle entry request method",`Bundle.entry[${c}].request.method`));continue}let f=await this.preprocessEntry(p,c,n);if(f){if(!this.isTransaction()){this.state.resultEntries[c]=Ut(f);continue}throw new R.OperationOutcomeError(f)}let m=this.getRouteForEntry(p),T=m?.data?.interaction;if(!T||!r[T])throw new R.OperationOutcomeError((0,R.badRequest)(`Invalid REST interaction in batch: ${p.request?.method} ${p.request?.url}`));let y=m?.params?.resourceType;y&&i.add(y),T==="create"&&p.request?.ifNoneExist?o=!0:T==="update"?(p.request?.url.includes("?")&&(o=!0),s++):T==="delete"&&p.request?.url.includes("?")&&(o=!0),r[T].push(c)}let a=[];for(let c of Object.values(r))a.push(...c);return{ordering:a,requiresStrongTransaction:o,updates:s,resourceTypes:i}}async preprocessEntry(e,r,n){if(!e.request?.url)return(0,R.badRequest)("Missing Bundle entry request URL",`Bundle.entry[${r}].request.url`);let i;try{i=await this.resolveIdentity(e,`Bundle.entry[${r}]`)}catch(o){if(o instanceof R.OperationOutcomeError)return o.outcome;throw o}if(i&&(this.resolvedIdentities[i.placeholder]=i.reference,this.isTransaction())){if(n.has(i.reference))throw new R.OperationOutcomeError((0,R.badRequest)("Duplicate resource identity found in Bundle"));n.add(i.reference)}}async resolveIdentity(e,r){let i=this.getRouteForEntry(e)?.data?.interaction;if(!i)throw new R.OperationOutcomeError(R.notFound);switch(i){case"create":return this.resolveCreateIdentity(e);case"delete":case"update":case"patch":return this.resolveModificationIdentity(e,r);default:return}}getRouteForEntry(e){return this.router.find(e.request?.method,e.request?.url??"")}async resolveCreateIdentity(e){let r=e.fullUrl??"";if(e.request?.ifNoneExist){let n=await this.repo.searchResources((0,R.parseSearchRequest)(e.request.url+"?"+e.request.ifNoneExist));if(n.length===1)return{placeholder:r,reference:(0,R.getReferenceString)(n[0])}}if(e.resource)return e.resource.id=this.repo.generateId(),{placeholder:r,reference:(0,R.getReferenceString)(e.resource)}}async resolveModificationIdentity(e,r){let n=e.fullUrl??"";if(e.request?.url?.includes("?")){let i=e.request.method,o=(0,R.parseSearchRequest)(e.request.url);o.count=2,o.offset=0,o.sortRules=void 0;let[s,a]=await this.repo.searchResources(o);if(!s)switch(i){case"DELETE":return;case"PUT":if(e.resource){if(e.resource.id)throw new R.OperationOutcomeError((0,R.badRequest)("Cannot provide ID for create by update"));return e.resource.id=this.repo.generateId(),{placeholder:n,reference:(0,R.getReferenceString)(e.resource)}}return;default:throw new R.OperationOutcomeError((0,R.badRequest)(`Conditional ${e.request.method} did not match any resources`,r+".request.url"))}if(a)throw new R.OperationOutcomeError((0,R.badRequest)(`Conditional ${e.request.method} matched multiple resources`,r+".request.url"));let c=(0,R.getReferenceString)(s);return e.request.url=c,e.resource&&(e.resource.id=s.id),{placeholder:n,reference:c}}if(e.request?.url.includes("/"))return{placeholder:n,reference:e.request.url}}async processNextEntry(){if(this.isTransaction())throw new Error("Re-entrant batch processing does not support transaction semantics");await this.processNextEntryImpl()}async processNextEntryImpl(){let e=this.bundleInfo;if(!e)throw new Error("processNextEntry called before preprocess()/fromState()");let r=this.bundle.entry;if(!r)throw new R.OperationOutcomeError((0,R.badRequest)("Missing bundle entry"));if(this.state.position>=e.ordering.length)return;let n=this.state.position,i=e.ordering[n],o=r[i],s=this.rewriteIdsInObject(o);try{this.setResult(i,await this.processBatchEntry(s)),this.state.position=n+1}catch(a){if(this.isTransaction())throw a;if(this.state.errors.push(a.message),a instanceof R.OperationOutcomeError&&(0,R.getStatus)(a.outcome)===429){for(let c=n;c<e.ordering.length;c++)this.setResult(e.ordering[c],Ut(a.outcome));this.state.position=e.ordering.length;return}this.setResult(i,Ut((0,R.normalizeOperationOutcome)(a))),this.state.position=n+1}}setResult(e,r){this.state.resultEntries[e]=r,this.state.pendingIndices.push(e)}async processBatchEntry(e){let r=this.getRouteForEntry(e);if(!r)throw new R.OperationOutcomeError(R.notFound);let n=this.parseBatchRequest(e,r),[i,o]=await r.handler(n,this.repo,this.router,{batch:!0});if(!(0,R.isOk)(i)&&this.isTransaction())throw new R.OperationOutcomeError(i);return Ut(i,o)}parseBatchRequest(e,r){let n=e.request,i=Object.create(null);n.ifNoneExist&&(i["if-none-exist"]=n.ifNoneExist),n.ifMatch&&(i["if-match"]=n.ifMatch),n.ifNoneMatch&&(i["if-none-match"]=n.ifNoneMatch),n.ifModifiedSince&&(i["if-modified-since"]=n.ifModifiedSince);let o;return n.method==="PATCH"?o=this.parsePatchBody(e):o=e.resource,{method:n.method,url:r?.query?n.url.slice(0,n.url.indexOf("?")):n.url,pathname:"",params:r?.params??Object.create(null),query:r?.query??Object.create(null),body:o,headers:i,config:this.req.config}}parsePatchBody(e){let r=e.resource,n;if(r?.resourceType==="Binary"){if(!r.data)throw new R.OperationOutcomeError((0,R.badRequest)("Missing entry.resource.data"));n=JSON.parse(Buffer.from(r.data,"base64").toString("utf8"))}else if(r?.resourceType==="Parameters"){if(ba(r))return this.rewriteIds(r);if(r.parameter){n=[];for(let i of r.parameter)if(i.name==="operation"){let o=this.parsePatchParameter(i);n.push(o)}}}else throw new R.OperationOutcomeError((0,R.badRequest)("Patch entry must include a Binary or Parameters resource"));if(!Array.isArray(n))throw new R.OperationOutcomeError((0,R.badRequest)("Decoded PATCH body must be an array"));return this.rewriteIdsInArray(n)}parsePatchParameter(e){let r=e.part?.find(i=>i.name==="op")?.valueCode;if(!r)throw new R.OperationOutcomeError((0,R.badRequest)("PATCH Parameters missing op"));let n={op:r};switch(r){case"add":case"replace":case"test":for(let i of e.part)i.name==="path"?n.path=i.valueString:i.name==="value"&&(n.value=JSON.parse(i.valueString??""));break;case"copy":case"move":for(let i of e.part)i.name==="path"?n.path=i.valueString:i.name==="from"&&(n.from=i.valueString);break;case"remove":n.path=e.part?.find(i=>i.name==="path")?.valueString;break}return n}rewriteIds(e){return Array.isArray(e)?this.rewriteIdsInArray(e):typeof e=="string"?this.rewriteIdsInString(e):typeof e=="object"&&e!==null?this.rewriteIdsInObject(e):e}rewriteIdsInArray(e){return e.map(r=>this.rewriteIds(r))}rewriteIdsInObject(e){return Object.fromEntries(Object.entries(e).map(([r,n])=>[r,this.rewriteIds(n)]))}rewriteIdsInString(e){let r=Na.exec(e)?.[0];if(!r)return e;let n=r.replaceAll("%3A",":"),i=this.resolvedIdentities[n];return i?e.replaceAll(r,i):e}isTransaction(){return this.bundle.type==="transaction"&&!!this.req.config?.transactions}};function ba(t){return!!t.parameter?.some(e=>e.name==="operation"&&e.part?.some(r=>r.name==="type"))}function Ut(t,e){return{response:{outcome:t,status:(0,R.getStatus)(t).toString(),location:(0,R.isOk)(t)&&e?.id?(0,R.getReferenceString)(e):void 0},resource:e}}function No(t,e,r){let n=new Array(e);for(let i=0;i<e;i++)n[i]=r[i];return{resourceType:"Bundle",type:`${t}-response`,entry:n}}function Io(t){return{position:t.position,resultEntries:t.resultEntries.slice(),pendingIndices:t.pendingIndices.slice(),errors:t.errors.slice()}}var w=require("@medplum/core");var M=require("@medplum/core"),sa=Eo(require("dataloader"),1);function E(t){return gr(t,[])}function gr(t,e){switch(typeof t){case"string":return JSON.stringify(t);case"function":return t.name?`[function ${t.name}]`:"[function]";case"object":return va(t,e);default:return String(t)}}function va(t,e){if(t===null)return"null";if(e.includes(t))return"[Circular]";let r=[...e,t];if(Ra(t)){let n=t.toJSON();if(n!==t)return typeof n=="string"?n:gr(n,r)}else if(Array.isArray(t))return Oa(t,r);return Sa(t,r)}function Ra(t){return typeof t.toJSON=="function"}function Sa(t,e){let r=Object.entries(t);return r.length===0?"{}":e.length>2?"["+xa(t)+"]":"{ "+r.map(([i,o])=>i+": "+gr(o,e)).join(", ")+" }"}function Oa(t,e){if(t.length===0)return"[]";if(e.length>2)return"[Array]";let r=Math.min(10,t.length),n=t.length-r,i=[];for(let o=0;o<r;++o)i.push(gr(t[o],e));return n===1?i.push("... 1 more item"):n>1&&i.push(`... ${n} more items`),"["+i.join(", ")+"]"}function xa(t){let e=Object.prototype.toString.call(t).replace(/^\[object /,"").replace(/]$/,"");if(e==="Object"&&typeof t.constructor=="function"){let r=t.constructor.name;if(typeof r=="string"&&r!=="")return r}return e}function wa(t,e){return t?.__kind===e}var ne=wa;function we(t){return t instanceof Promise}function de(t){return typeof t?.then=="function"}function Er(t){return t instanceof Error?t:new gn(t)}var gn=class extends Error{constructor(e){super("Unexpected error value: "+E(e)),this.name="NonErrorThrown",this.thrownValue=e}};function H(t){return typeof t=="object"&&t!==null}function L(t,e){if(!t)throw new Error(e??"Unexpected invariant triggered.")}var Da=/\r\n|[\n\r]/g;function Nt(t,e){let r=0,n=1;for(let i of t.body.matchAll(Da)){if(typeof i.index!="number"&&L(!1),i.index>=e)break;r=i.index+i[0].length,n+=1}return{line:n,column:e+1-r}}function En(t){return Ir(t.source,Nt(t.source,t.start))}function Ir(t,e){let r=t.locationOffset.column-1,n="".padStart(r)+t.body,i=e.line-1,o=t.locationOffset.line-1,s=e.line+o,a=e.line===1?r:0,c=e.column+a,p=`${t.name}:${s}:${c}
|
|
2
|
-
`,l=n.split(/\r\n|[\n\r]/g),f=l[i];if(f.length>120){let m=Math.floor(c/80),T=c%80,y=[];for(let O=0;O<f.length;O+=80)y.push(f.slice(O,O+80));return p+
|
|
3
|
-
`)}var d=class t extends Error{constructor(e,r={}){let{nodes:n,source:i,positions:o,path:s,originalError:a,cause:c,extensions:p}=r,l="cause"in r,f=l?c:a,m=l||a!=null?{cause:f}:void 0;super(e,m),this.name="GraphQLError",this.path=s??void 0;let T=a??(c instanceof Error?c:void 0);this.originalError=T,this.nodes=
|
|
1
|
+
"use strict";var ma=Object.create;var Vt=Object.defineProperty;var ha=Object.getOwnPropertyDescriptor;var ya=Object.getOwnPropertyNames;var Ta=Object.getPrototypeOf,ga=Object.prototype.hasOwnProperty;var Ea=(t,e,r)=>e in t?Vt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var Eo=(t,e)=>{for(var r in e)Vt(t,r,{get:e[r],enumerable:!0})},Io=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of ya(e))!ga.call(t,i)&&i!==r&&Vt(t,i,{get:()=>e[i],enumerable:!(n=ha(e,i))||n.enumerable});return t};var No=(t,e,r)=>(r=t!=null?ma(Ta(t)):{},Io(e||!t||!t.__esModule?Vt(r,"default",{value:t,enumerable:!0}):r,t)),Ia=t=>Io(Vt({},"__esModule",{value:!0}),t);var $=(t,e,r)=>Ea(t,typeof e!="symbol"?e+"":e,r);var Ml={};Eo(Ml,{BatchProcessor:()=>$t,FhirRepository:()=>mn,FhirRouter:()=>ho,MAX_QUERY_STRING_LENGTH:()=>mo,MemoryRepository:()=>no,RepositoryMode:()=>fr,Router:()=>hr,buildBatchResponseBundle:()=>vo,createResourceImpl:()=>la,getExtraEntries:()=>ro,getSearchIncludeEntries:()=>Js,getSearchRevIncludeEntries:()=>Xs,makeSimpleRequest:()=>Pl,processBatch:()=>Tr,updateResourceImpl:()=>fa});module.exports=Ia(Ml);var R=require("@medplum/core");var Na=50,ba=8,va=/urn(:|%3A)uuid(:|%3A)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/;async function Tr(t,e,r,n){return new $t(r,e,n,t).run()}var $t=class t{constructor(e,r,n,i){$(this,"router");$(this,"repo");$(this,"bundle");$(this,"req");$(this,"resolvedIdentities");$(this,"bundleInfo");$(this,"state");this.router=e,this.repo=r,this.bundle=n,this.req=i,this.resolvedIdentities=Object.create(null),this.state={position:0,resultEntries:new Array(n.entry?.length??0),pendingIndices:[],errors:[]}}static fromState(e,r,n,i,o){let s=new t(e,r,i.bundle,n);return s.resolvedIdentities=i.resolvedIdentities,s.bundleInfo={...i.bundleInfo},s.state.position=o,s}async run(){await this.preprocess();let e=this.bundleInfo;if(!this.isTransaction())return this.processEntriesAndBuild();let r=bo(this.state);return this.repo.withTransaction(n=>this.withRepo(n,()=>(this.state=bo(r),this.processEntriesAndBuild())),{serializable:e.requiresStrongTransaction,resourceTypes:e.resourceTypes})}async preprocess(){let e=this.bundle.type;if(e!=="batch"&&e!=="transaction")throw new R.OperationOutcomeError((0,R.badRequest)("Unrecognized bundle type: "+e));if(this.bundleInfo=await this.preprocessBundle(),this.isTransaction()){if(this.bundleInfo.updates>Na)throw new R.OperationOutcomeError((0,R.badRequest)("Transaction contains more update operations than allowed"));if(this.bundleInfo.requiresStrongTransaction&&this.state.resultEntries.length>ba)throw new R.OperationOutcomeError((0,R.badRequest)("Transaction requires strict isolation but has too many entries"))}let r=Object.create(null);for(let n=0;n<this.state.resultEntries.length;n++)this.state.resultEntries[n]&&(r[n]=this.state.resultEntries[n]);return{bundle:this.bundle,bundleInfo:{ordering:this.bundleInfo.ordering,resourceTypes:this.bundleInfo.resourceTypes,requiresStrongTransaction:this.bundleInfo.requiresStrongTransaction,updates:this.bundleInfo.updates},resolvedIdentities:this.resolvedIdentities,preprocessResults:r}}hasMoreEntries(){return this.bundleInfo!==void 0&&this.state.position<this.bundleInfo.ordering.length}getPosition(){return this.state.position}takePendingResults(){if(this.state.pendingIndices.length===0)return;let e=Object.create(null);for(let r of this.state.pendingIndices)e[r]=this.state.resultEntries[r];return this.state.pendingIndices=[],e}async processEntriesAndBuild(){for(this.dispatchPreEvent();this.hasMoreEntries();)await this.processNextEntryImpl();return this.dispatchPostEvent(),this.buildResultBundle()}dispatchPreEvent(){let e={type:"batch",bundleType:this.bundle.type,count:this.bundle.entry?.length,size:JSON.stringify(this.bundle).length};this.router.dispatchEvent(e)}dispatchPostEvent(){let e={type:"batch",bundleType:this.bundle.type,errors:this.state.errors.length?this.state.errors:void 0};this.router.dispatchEvent(e)}buildResultBundle(){return{resourceType:"Bundle",type:`${this.bundle.type}-response`,entry:this.state.resultEntries}}async withRepo(e,r){let n=this.repo;this.repo=e;try{return await r()}finally{this.repo=n}}async preprocessBundle(){let e=this.bundle.entry;if(!e?.length)throw new R.OperationOutcomeError((0,R.badRequest)("Missing bundle entries"));let r={transaction:[],batch:[],delete:[],create:[],update:[],patch:[],operation:[],"search-system":[],"search-type":[],read:[],vread:[],"history-system":[],"history-type":[],"history-instance":[]},n=new Set,i=new Set,o=!1,s=0;for(let c=0;c<e.length;c++){let p=e[c];if(!p.request?.method){this.state.resultEntries[c]=Ut((0,R.badRequest)("Missing Bundle entry request method",`Bundle.entry[${c}].request.method`));continue}let f=await this.preprocessEntry(p,c,n);if(f){if(!this.isTransaction()){this.state.resultEntries[c]=Ut(f);continue}throw new R.OperationOutcomeError(f)}let m=this.getRouteForEntry(p),T=m?.data?.interaction;if(!T||!r[T])throw new R.OperationOutcomeError((0,R.badRequest)(`Invalid REST interaction in batch: ${p.request?.method} ${p.request?.url}`));let y=m?.params?.resourceType;y&&i.add(y),T==="create"&&p.request?.ifNoneExist?o=!0:T==="update"?(p.request?.url.includes("?")&&(o=!0),s++):T==="delete"&&p.request?.url.includes("?")&&(o=!0),r[T].push(c)}let a=[];for(let c of Object.values(r))a.push(...c);return{ordering:a,requiresStrongTransaction:o,updates:s,resourceTypes:i}}async preprocessEntry(e,r,n){if(!e.request?.url)return(0,R.badRequest)("Missing Bundle entry request URL",`Bundle.entry[${r}].request.url`);let i;try{i=await this.resolveIdentity(e,`Bundle.entry[${r}]`)}catch(o){if(o instanceof R.OperationOutcomeError)return o.outcome;throw o}if(i&&(this.resolvedIdentities[i.placeholder]=i.reference,this.isTransaction())){if(n.has(i.reference))throw new R.OperationOutcomeError((0,R.badRequest)("Duplicate resource identity found in Bundle"));n.add(i.reference)}}async resolveIdentity(e,r){let i=this.getRouteForEntry(e)?.data?.interaction;if(!i)throw new R.OperationOutcomeError(R.notFound);switch(i){case"create":return this.resolveCreateIdentity(e);case"delete":case"update":case"patch":return this.resolveModificationIdentity(e,r);default:return}}getRouteForEntry(e){return this.router.find(e.request?.method,e.request?.url??"")}async resolveCreateIdentity(e){let r=e.fullUrl??"";if(e.request?.ifNoneExist){let n=await this.repo.searchResources((0,R.parseSearchRequest)(e.request.url+"?"+e.request.ifNoneExist));if(n.length===1)return{placeholder:r,reference:(0,R.getReferenceString)(n[0])}}if(e.resource)return e.resource.id=this.repo.generateId(),{placeholder:r,reference:(0,R.getReferenceString)(e.resource)}}async resolveModificationIdentity(e,r){let n=e.fullUrl??"";if(e.request?.url?.includes("?")){let i=e.request.method,o=(0,R.parseSearchRequest)(e.request.url);o.count=2,o.offset=0,o.sortRules=void 0;let[s,a]=await this.repo.searchResources(o);if(!s)switch(i){case"DELETE":return;case"PUT":if(e.resource){if(e.resource.id)throw new R.OperationOutcomeError((0,R.badRequest)("Cannot provide ID for create by update"));return e.resource.id=this.repo.generateId(),{placeholder:n,reference:(0,R.getReferenceString)(e.resource)}}return;default:throw new R.OperationOutcomeError((0,R.badRequest)(`Conditional ${e.request.method} did not match any resources`,r+".request.url"))}if(a)throw new R.OperationOutcomeError((0,R.badRequest)(`Conditional ${e.request.method} matched multiple resources`,r+".request.url"));let c=(0,R.getReferenceString)(s);return e.request.url=c,e.resource&&(e.resource.id=s.id),{placeholder:n,reference:c}}if(e.request?.url.includes("/"))return{placeholder:n,reference:e.request.url}}async processNextEntry(){if(this.isTransaction())throw new Error("Re-entrant batch processing does not support transaction semantics");await this.processNextEntryImpl()}async processNextEntryImpl(){let e=this.bundleInfo;if(!e)throw new Error("processNextEntry called before preprocess()/fromState()");let r=this.bundle.entry;if(!r)throw new R.OperationOutcomeError((0,R.badRequest)("Missing bundle entry"));if(this.state.position>=e.ordering.length)return;let n=this.state.position,i=e.ordering[n],o=r[i],s=this.rewriteIdsInObject(o);try{this.setResult(i,await this.processBatchEntry(s)),this.state.position=n+1}catch(a){if(this.isTransaction())throw a;if(this.state.errors.push(a.message),a instanceof R.OperationOutcomeError&&(0,R.getStatus)(a.outcome)===429){for(let c=n;c<e.ordering.length;c++)this.setResult(e.ordering[c],Ut(a.outcome));this.state.position=e.ordering.length;return}this.setResult(i,Ut((0,R.normalizeOperationOutcome)(a))),this.state.position=n+1}}setResult(e,r){this.state.resultEntries[e]=r,this.state.pendingIndices.push(e)}async processBatchEntry(e){let r=this.getRouteForEntry(e);if(!r)throw new R.OperationOutcomeError(R.notFound);let n=this.parseBatchRequest(e,r),[i,o]=await r.handler(n,this.repo,this.router,{batch:!0});if(!(0,R.isOk)(i)&&this.isTransaction())throw new R.OperationOutcomeError(i);return Ut(i,o)}parseBatchRequest(e,r){let n=e.request,i=Object.create(null);n.ifNoneExist&&(i["if-none-exist"]=n.ifNoneExist),n.ifMatch&&(i["if-match"]=n.ifMatch),n.ifNoneMatch&&(i["if-none-match"]=n.ifNoneMatch),n.ifModifiedSince&&(i["if-modified-since"]=n.ifModifiedSince);let o;return n.method==="PATCH"?o=this.parsePatchBody(e):o=e.resource,{method:n.method,url:r?.query?n.url.slice(0,n.url.indexOf("?")):n.url,pathname:"",params:r?.params??Object.create(null),query:r?.query??Object.create(null),body:o,headers:i,config:this.req.config}}parsePatchBody(e){let r=e.resource,n;if(r?.resourceType==="Binary"){if(!r.data)throw new R.OperationOutcomeError((0,R.badRequest)("Missing entry.resource.data"));n=JSON.parse(Buffer.from(r.data,"base64").toString("utf8"))}else if(r?.resourceType==="Parameters"){if(Ra(r))return this.rewriteIds(r);if(r.parameter){n=[];for(let i of r.parameter)if(i.name==="operation"){let o=this.parsePatchParameter(i);n.push(o)}}}else throw new R.OperationOutcomeError((0,R.badRequest)("Patch entry must include a Binary or Parameters resource"));if(!Array.isArray(n))throw new R.OperationOutcomeError((0,R.badRequest)("Decoded PATCH body must be an array"));return this.rewriteIdsInArray(n)}parsePatchParameter(e){let r=e.part?.find(i=>i.name==="op")?.valueCode;if(!r)throw new R.OperationOutcomeError((0,R.badRequest)("PATCH Parameters missing op"));let n={op:r};switch(r){case"add":case"replace":case"test":for(let i of e.part)i.name==="path"?n.path=i.valueString:i.name==="value"&&(n.value=JSON.parse(i.valueString??""));break;case"copy":case"move":for(let i of e.part)i.name==="path"?n.path=i.valueString:i.name==="from"&&(n.from=i.valueString);break;case"remove":n.path=e.part?.find(i=>i.name==="path")?.valueString;break}return n}rewriteIds(e){return Array.isArray(e)?this.rewriteIdsInArray(e):typeof e=="string"?this.rewriteIdsInString(e):typeof e=="object"&&e!==null?this.rewriteIdsInObject(e):e}rewriteIdsInArray(e){return e.map(r=>this.rewriteIds(r))}rewriteIdsInObject(e){return Object.fromEntries(Object.entries(e).map(([r,n])=>[r,this.rewriteIds(n)]))}rewriteIdsInString(e){let r=va.exec(e)?.[0];if(!r)return e;let n=r.replaceAll("%3A",":"),i=this.resolvedIdentities[n];return i?e.replaceAll(r,i):e}isTransaction(){return this.bundle.type==="transaction"&&!!this.req.config?.transactions}};function Ra(t){return!!t.parameter?.some(e=>e.name==="operation"&&e.part?.some(r=>r.name==="type"))}function Ut(t,e){return{response:{outcome:t,status:(0,R.getStatus)(t).toString(),location:(0,R.isOk)(t)&&e?.id?(0,R.getReferenceString)(e):void 0},resource:e}}function vo(t,e,r){let n=new Array(e);for(let i=0;i<e;i++)n[i]=r[i];return{resourceType:"Bundle",type:`${t}-response`,entry:n}}function bo(t){return{position:t.position,resultEntries:t.resultEntries.slice(),pendingIndices:t.pendingIndices.slice(),errors:t.errors.slice()}}var x=require("@medplum/core");var M=require("@medplum/core"),ca=No(require("dataloader"),1);function E(t){return gr(t,[])}function gr(t,e){switch(typeof t){case"string":return JSON.stringify(t);case"function":return t.name?`[function ${t.name}]`:"[function]";case"object":return Sa(t,e);default:return String(t)}}function Sa(t,e){if(t===null)return"null";if(e.includes(t))return"[Circular]";let r=[...e,t];if(Oa(t)){let n=t.toJSON();if(n!==t)return typeof n=="string"?n:gr(n,r)}else if(Array.isArray(t))return wa(t,r);return xa(t,r)}function Oa(t){return typeof t.toJSON=="function"}function xa(t,e){let r=Object.entries(t);return r.length===0?"{}":e.length>2?"["+Da(t)+"]":"{ "+r.map(([i,o])=>i+": "+gr(o,e)).join(", ")+" }"}function wa(t,e){if(t.length===0)return"[]";if(e.length>2)return"[Array]";let r=Math.min(10,t.length),n=t.length-r,i=[];for(let o=0;o<r;++o)i.push(gr(t[o],e));return n===1?i.push("... 1 more item"):n>1&&i.push(`... ${n} more items`),"["+i.join(", ")+"]"}function Da(t){let e=Object.prototype.toString.call(t).replace(/^\[object /,"").replace(/]$/,"");if(e==="Object"&&typeof t.constructor=="function"){let r=t.constructor.name;if(typeof r=="string"&&r!=="")return r}return e}function _a(t,e){return t?.__kind===e}var ne=_a;function we(t){return t instanceof Promise}function de(t){return typeof t?.then=="function"}function Er(t){return t instanceof Error?t:new En(t)}var En=class extends Error{constructor(e){super("Unexpected error value: "+E(e)),this.name="NonErrorThrown",this.thrownValue=e}};function H(t){return typeof t=="object"&&t!==null}function L(t,e){if(!t)throw new Error(e??"Unexpected invariant triggered.")}var La=/\r\n|[\n\r]/g;function Nt(t,e){let r=0,n=1;for(let i of t.body.matchAll(La)){if(typeof i.index!="number"&&L(!1),i.index>=e)break;r=i.index+i[0].length,n+=1}return{line:n,column:e+1-r}}function In(t){return Ir(t.source,Nt(t.source,t.start))}function Ir(t,e){let r=t.locationOffset.column-1,n="".padStart(r)+t.body,i=e.line-1,o=t.locationOffset.line-1,s=e.line+o,a=e.line===1?r:0,c=e.column+a,p=`${t.name}:${s}:${c}
|
|
2
|
+
`,l=n.split(/\r\n|[\n\r]/g),f=l[i];if(f.length>120){let m=Math.floor(c/80),T=c%80,y=[];for(let O=0;O<f.length;O+=80)y.push(f.slice(O,O+80));return p+Ro([[`${s} |`,y[0]],...y.slice(1,m+1).map(O=>["|",O]),["|","^".padStart(T)],["|",y[m+1]]])}return p+Ro([[`${s-1} |`,l[i-1]],[`${s} |`,f],["|","^".padStart(c)],[`${s+1} |`,l[i+1]]])}function Ro(t){let e=t.filter(([n,i])=>i!==void 0),r=Math.max(...e.map(([n])=>n.length));return e.map(([n,i])=>n.padStart(r)+(i?" "+i:"")).join(`
|
|
3
|
+
`)}var d=class t extends Error{constructor(e,r={}){let{nodes:n,source:i,positions:o,path:s,originalError:a,cause:c,extensions:p}=r,l="cause"in r,f=l?c:a,m=l||a!=null?{cause:f}:void 0;super(e,m),this.name="GraphQLError",this.path=s??void 0;let T=a??(c instanceof Error?c:void 0);this.originalError=T,this.nodes=So(Array.isArray(n)?n:n?[n]:void 0);let y=So(this.nodes?.map(S=>S.loc).filter(S=>S!=null));this.source=i??y?.[0]?.source,this.positions=o??y?.map(S=>S.start),this.locations=o&&i?o.map(S=>Nt(i,S)):y?.map(S=>Nt(S.source,S.start));let O=H(T?.extensions)?T.extensions:void 0;this.extensions=p??O??Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),a?.stack!=null?Object.defineProperty(this,"stack",{value:a.stack,writable:!0,configurable:!0}):Error.captureStackTrace!=null?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let e=this.message;if(this.nodes)for(let r of this.nodes)r.loc&&(e+=`
|
|
4
4
|
|
|
5
|
-
`+
|
|
5
|
+
`+In(r.loc));else if(this.source&&this.locations)for(let r of this.locations)e+=`
|
|
6
6
|
|
|
7
|
-
`+Ir(this.source,r);return e}toJSON(){let e={message:this.message};return this.locations!=null&&(e.locations=this.locations),this.path!=null&&(e.path=this.path),this.extensions!=null&&Object.keys(this.extensions).length>0&&(e.extensions=this.extensions),e}};function
|
|
7
|
+
`+Ir(this.source,r);return e}toJSON(){let e={message:this.message};return this.locations!=null&&(e.locations=this.locations),this.path!=null&&(e.path=this.path),this.extensions!=null&&Object.keys(this.extensions).length>0&&(e.extensions=this.extensions),e}};function So(t){return t===void 0||t.length===0?void 0:t}function $e(t){if(t instanceof d)return t;let e=Er(t);return new d(e.message,{originalError:e})}var Ge=class extends Map{get[Symbol.toStringTag](){return"AccumulatorMap"}add(e,r){let n=this.get(e);n===void 0?this.set(e,[r]):n.push(r)}};function Oo(t){return t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()}function xo(t){return Do("or",t)}function wo(t){return Do("and",t)}function Do(t,e){switch(e.length===0&&L(!1),e.length){case 1:return e[0];case 2:return e[0]+" "+t+" "+e[1]}let r=e.slice(0,-1),n=e.at(-1);return r.join(", ")+", "+t+" "+n}function le(t){return typeof t=="object"&&typeof t?.[Symbol.iterator]=="function"}function bt(t,e){let r=Object.create(null);for(let n of t)r[e(n)]=n;return r}function ke(t,e){let r=Object.create(null);for(let n of Object.keys(t))r[n]=e(t[n],n);return r}function ze(t){return t.length===0?"":` at ${t.map(e=>typeof e=="number"?`[${e}]`:`.${e}`).join("")}`}var Gt=class{constructor(e,r,n){this.start=e.start,this.end=r.end,this.startToken=e,this.endToken=r,this.source=n}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}},vt=class{constructor(e,r,n,i,o,s){this.kind=e,this.start=r,this.end=n,this.line=i,this.column=o,this.value=s,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}},Bt={Name:[],Document:["definitions"],OperationDefinition:["description","name","variableDefinitions","directives","selectionSet"],VariableDefinition:["description","variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentArgument:["name","value"],FragmentSpread:["name","arguments","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["description","name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","directives","locations"],SchemaExtension:["directives","operationTypes"],DirectiveExtension:["name","directives"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"],TypeCoordinate:["name"],MemberCoordinate:["name","memberName"],ArgumentCoordinate:["name","fieldName","argumentName"],DirectiveCoordinate:["name"],DirectiveArgumentCoordinate:["name","argumentName"]},Aa=new Set(Object.keys(Bt));function Qt(t){let e=t?.kind;return typeof e=="string"&&Aa.has(e)}var G={QUERY:"query",MUTATION:"mutation",SUBSCRIPTION:"subscription"};var u={};Eo(u,{ARGUMENT:()=>Ua,ARGUMENT_COORDINATE:()=>Oc,BOOLEAN:()=>Ha,DIRECTIVE:()=>ec,DIRECTIVE_ARGUMENT_COORDINATE:()=>wc,DIRECTIVE_COORDINATE:()=>xc,DIRECTIVE_DEFINITION:()=>hc,DIRECTIVE_EXTENSION:()=>Tc,DOCUMENT:()=>Ca,ENUM:()=>Ja,ENUM_TYPE_DEFINITION:()=>fc,ENUM_TYPE_EXTENSION:()=>bc,ENUM_VALUE_DEFINITION:()=>dc,FIELD:()=>Va,FIELD_DEFINITION:()=>cc,FLOAT:()=>Ka,FRAGMENT_ARGUMENT:()=>$a,FRAGMENT_DEFINITION:()=>Qa,FRAGMENT_SPREAD:()=>Ga,INLINE_FRAGMENT:()=>Ba,INPUT_OBJECT_TYPE_DEFINITION:()=>mc,INPUT_OBJECT_TYPE_EXTENSION:()=>vc,INPUT_VALUE_DEFINITION:()=>uc,INT:()=>qa,INTERFACE_TYPE_DEFINITION:()=>pc,INTERFACE_TYPE_EXTENSION:()=>Ic,LIST:()=>Xa,LIST_TYPE:()=>rc,MEMBER_COORDINATE:()=>Sc,NAME:()=>Fa,NAMED_TYPE:()=>tc,NON_NULL_TYPE:()=>nc,NULL:()=>Wa,OBJECT:()=>za,OBJECT_FIELD:()=>Za,OBJECT_TYPE_DEFINITION:()=>ac,OBJECT_TYPE_EXTENSION:()=>Ec,OPERATION_DEFINITION:()=>ka,OPERATION_TYPE_DEFINITION:()=>oc,SCALAR_TYPE_DEFINITION:()=>sc,SCALAR_TYPE_EXTENSION:()=>gc,SCHEMA_DEFINITION:()=>ic,SCHEMA_EXTENSION:()=>yc,SELECTION_SET:()=>Ma,STRING:()=>Ya,TYPE_COORDINATE:()=>Rc,UNION_TYPE_DEFINITION:()=>lc,UNION_TYPE_EXTENSION:()=>Nc,VARIABLE:()=>ja,VARIABLE_DEFINITION:()=>Pa});var Fa="Name",Ca="Document",ka="OperationDefinition",Pa="VariableDefinition",Ma="SelectionSet",Va="Field",Ua="Argument",$a="FragmentArgument",Ga="FragmentSpread",Ba="InlineFragment",Qa="FragmentDefinition",ja="Variable",qa="IntValue",Ka="FloatValue",Ya="StringValue",Ha="BooleanValue",Wa="NullValue",Ja="EnumValue",Xa="ListValue",za="ObjectValue",Za="ObjectField",ec="Directive",tc="NamedType",rc="ListType",nc="NonNullType",ic="SchemaDefinition",oc="OperationTypeDefinition",sc="ScalarTypeDefinition",ac="ObjectTypeDefinition",cc="FieldDefinition",uc="InputValueDefinition",pc="InterfaceTypeDefinition",lc="UnionTypeDefinition",fc="EnumTypeDefinition",dc="EnumValueDefinition",mc="InputObjectTypeDefinition",hc="DirectiveDefinition",yc="SchemaExtension",Tc="DirectiveExtension",gc="ScalarTypeExtension",Ec="ObjectTypeExtension",Ic="InterfaceTypeExtension",Nc="UnionTypeExtension",bc="EnumTypeExtension",vc="InputObjectTypeExtension",Rc="TypeCoordinate",Sc="MemberCoordinate",Oc="ArgumentCoordinate",xc="DirectiveCoordinate",wc="DirectiveArgumentCoordinate";function ye(t,e){if(!t)throw new Error(e)}var Dc=5;function ie(t,e){let[r,n]=e?[t,e]:[void 0,t];if(n.length===0)return"";let i=" Did you mean ";r!=null&&(i+=r+" ");let o=xo(n.slice(0,Dc).map(s=>`"${s}"`));return i+o+"?"}function Nn(t){return t}function Ze(t,e,r){let n=Object.create(null);for(let i of t)n[e(i)]=r(i);return n}function Rt(t,e){let r=0,n=0;for(;r<t.length&&n<e.length;){let i=t.charCodeAt(r),o=e.charCodeAt(n);if(Nr(i)&&Nr(o)){let s=0;do++r,s=s*10+i-bn,i=t.charCodeAt(r);while(Nr(i)&&s>0);let a=0;do++n,a=a*10+o-bn,o=e.charCodeAt(n);while(Nr(o)&&a>0);if(s<a)return-1;if(s>a)return 1}else{if(i<o)return-1;if(i>o)return 1;++r,++n}}return t.length-e.length}var bn=48,_c=57;function Nr(t){return!isNaN(t)&&bn<=t&&t<=_c}function se(t,e){let r=Object.create(null),n=new vn(t),i=Math.floor(t.length*.4)+1;for(let o of e){let s=n.measure(o,i);s!==void 0&&(r[o]=s)}return Object.keys(r).sort((o,s)=>{let a=r[o]-r[s];return a!==0?a:Rt(o,s)})}var vn=class{constructor(e){this._input=e,this._inputLowerCase=e.toLowerCase(),this._inputArray=_o(this._inputLowerCase),this._rows=[new Array(e.length+1).fill(0),new Array(e.length+1).fill(0),new Array(e.length+1).fill(0)]}measure(e,r){if(this._input===e)return 0;let n=e.toLowerCase();if(this._inputLowerCase===n)return 1;let i=_o(n),o=this._inputArray;if(i.length<o.length){let l=i;i=o,o=l}let s=i.length,a=o.length;if(s-a>r)return;let c=this._rows;for(let l=0;l<=a;l++)c[0][l]=l;for(let l=1;l<=s;l++){let f=c[(l-1)%3],m=c[l%3],T=m[0]=l;for(let y=1;y<=a;y++){let O=i[l-1]===o[y-1]?0:1,S=Math.min(f[y]+1,m[y-1]+1,f[y-1]+O);if(l>1&&y>1&&i[l-1]===o[y-2]&&i[l-2]===o[y-1]){let A=c[(l-2)%3][y-2];S=Math.min(S,A+1)}S<T&&(T=S),m[y]=S}if(T>r)return}let p=c[s%3][a];return p<=r?p:void 0}};function _o(t){let e=t.length,r=new Array(e);for(let n=0;n<e;++n)r[n]=t.charCodeAt(n);return r}function ae(t){if(t==null)return Object.create(null);if(Object.getPrototypeOf(t)===null)return t;let e=Object.create(null);for(let[r,n]of Object.entries(t))e[r]=n;for(let r of Object.getOwnPropertySymbols(t))e[r]=t[r];return e}function br(t){return t===9||t===32}function et(t){return t>=48&&t<=57}function Lo(t){return t>=97&&t<=122||t>=65&&t<=90}function jt(t){return Lo(t)||t===95}function vr(t){return Lo(t)||et(t)||t===95}function Ao(t){let e=Number.MAX_SAFE_INTEGER,r=null,n=-1;for(let i=0;i<t.length;++i){let o=t[i],s=Lc(o);s!==o.length&&(r??=i,n=i,i!==0&&s<e&&(e=s))}return t.map((i,o)=>o===0?i:i.slice(e)).slice(r??0,n+1)}function Lc(t){let e=0;for(;e<t.length&&br(t.charCodeAt(e));)++e;return e}function Fo(t,e){let r=t.replaceAll('"""','\\"""'),n=r.split(/\r\n|[\n\r]/g),i=n.length===1,o=n.length>1&&n.slice(1).every(T=>T.length===0||br(T.charCodeAt(0))),s=r.endsWith('\\"""'),a=t.endsWith('"')&&!s,c=t.endsWith("\\"),p=a||c,l=!e?.minimize&&(!i||t.length>70||p||o||s),f="",m=i&&br(t.charCodeAt(0));return(l&&!m||o)&&(f+=`
|
|
8
8
|
`),f+=r,(l||p)&&(f+=`
|
|
9
|
-
`),'"""'+f+'"""'}function
|
|
9
|
+
`),'"""'+f+'"""'}function Co(t){return`"${t.replace(Ac,Fc)}"`}var Ac=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function Fc(t){return Cc[t.charCodeAt(0)]}var Cc=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"];var St=Object.freeze({});function tt(t,e,r=Bt){let n=new Map;for(let y of Object.values(u))n.set(y,Ot(e,y));let i,o=Array.isArray(t),s=[t],a=-1,c=[],p=t,l,f,m=[],T=[];do{a++;let y=a===s.length,O=y&&c.length!==0;if(y){if(l=T.length===0?void 0:m[m.length-1],p=f,f=T.pop(),O)if(o){p=p.slice();let A=0;for(let[W,K]of c){let Y=W-A;K===null?(p.splice(Y,1),A++):p[Y]=K}}else{p={...p};for(let[A,W]of c)p[A]=W}a=i.index,s=i.keys,c=i.edits,o=i.inArray,i=i.prev}else if(f!=null){if(l=o?a:s[a],p=f[l],p==null)continue;m.push(l)}let S;if(!Array.isArray(p)){if(Qt(p)||ye(!1,`Invalid AST Node: ${E(p)}.`),S=(y?n.get(p.kind)?.leave:n.get(p.kind)?.enter)?.call(e,p,l,f,m,T),S===St)break;if(S===!1){if(!y){m.pop();continue}}else if(S!==void 0&&(c.push([l,S]),!y))if(Qt(S))p=S;else{m.pop();continue}}S===void 0&&O&&c.push([l,p]),y?m.pop():(i={inArray:o,index:a,keys:s,edits:c,prev:i},o=Array.isArray(p),s=o?p:r[p.kind]??[],a=-1,c=[],f!=null&&T.push(f),f=p)}while(i!==void 0);return c.length!==0?c.at(-1)[1]:t}function Rn(t){let e=new Array(t.length).fill(null),r=Object.create(null);for(let n of Object.values(u)){let i=!1,o=new Array(t.length).fill(void 0),s=new Array(t.length).fill(void 0);for(let c=0;c<t.length;++c){let{enter:p,leave:l}=Ot(t[c],n);i||=p!=null||l!=null,o[c]=p,s[c]=l}if(!i)continue;let a={enter(...c){let p=c[0];for(let l=0;l<t.length;l++)if(e[l]===null){let f=o[l]?.apply(t[l],c);if(f===!1)e[l]=p;else if(f===St)e[l]=St;else if(f!==void 0)return f}},leave(...c){let p=c[0];for(let l=0;l<t.length;l++)if(e[l]===null){let f=s[l]?.apply(t[l],c);if(f===St)e[l]=St;else if(f!==void 0&&f!==!1)return f}else e[l]===p&&(e[l]=null)}};r[n]=a}return r}function Ot(t,e){let r=t[e];return typeof r=="object"?r:typeof r=="function"?{enter:r,leave:void 0}:{enter:t.enter,leave:t.leave}}function V(t){return tt(t,kc)}var On=80,kc={Name:{leave:t=>t.value},Variable:{leave:t=>"$"+t.name},Document:{leave:t=>I(t.definitions,`
|
|
10
10
|
|
|
11
|
-
`)},OperationDefinition:{leave(t){let e=
|
|
11
|
+
`)},OperationDefinition:{leave(t){let e=Sn(t.variableDefinitions)?w(`(
|
|
12
12
|
`,I(t.variableDefinitions,`
|
|
13
13
|
`),`
|
|
14
|
-
)`):
|
|
15
|
-
`)+I([t.operation,I([t.name,e]),I(t.directives," ")]," ");return(r==="query"?"":r+" ")+t.selectionSet}},VariableDefinition:{leave:({variable:t,type:e,defaultValue:r,directives:n,description:i})=>
|
|
16
|
-
`)+t+": "+e+
|
|
17
|
-
`)+`fragment ${t}${
|
|
14
|
+
)`):w("(",I(t.variableDefinitions,", "),")"),r=w("",t.description,`
|
|
15
|
+
`)+I([t.operation,I([t.name,e]),I(t.directives," ")]," ");return(r==="query"?"":r+" ")+t.selectionSet}},VariableDefinition:{leave:({variable:t,type:e,defaultValue:r,directives:n,description:i})=>w("",i,`
|
|
16
|
+
`)+t+": "+e+w(" = ",r)+w(" ",I(n," "))},SelectionSet:{leave:({selections:t})=>Te(t)},Field:{leave({alias:t,name:e,arguments:r,directives:n,selectionSet:i}){let o=I([w("",t,": "),e],"");return I([ko(o,r),w(" ",I(n," ")),w(" ",i)])}},Argument:{leave:({name:t,value:e})=>t+": "+e},FragmentArgument:{leave:({name:t,value:e})=>t+": "+e},FragmentSpread:{leave:({name:t,arguments:e,directives:r})=>{let n="..."+t;return ko(n,e)+w(" ",I(r," "))}},InlineFragment:{leave:({typeCondition:t,directives:e,selectionSet:r})=>I(["...",w("on ",t),I(e," "),r]," ")},FragmentDefinition:{leave:({name:t,typeCondition:e,variableDefinitions:r,directives:n,selectionSet:i,description:o})=>w("",o,`
|
|
17
|
+
`)+`fragment ${t}${w("(",I(r,", "),")")} on ${e} ${w("",I(n," ")," ")}`+i},IntValue:{leave:({value:t})=>t},FloatValue:{leave:({value:t})=>t},StringValue:{leave:({value:t,block:e})=>e===!0?Fo(t):Co(t)},BooleanValue:{leave:({value:t})=>t?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:t})=>t},ListValue:{leave:({values:t})=>{let e="["+I(t,", ")+"]";return e.length>On?`[
|
|
18
18
|
`+qt(I(t,`
|
|
19
19
|
`))+`
|
|
20
|
-
]`:e}},ObjectValue:{leave:({fields:t})=>{let e="{ "+I(t,", ")+" }";return e.length>
|
|
21
|
-
`)+I(["schema",I(e," "),Te(r)]," ")},OperationTypeDefinition:{leave:({operation:t,type:e})=>t+": "+e},ScalarTypeDefinition:{leave:({description:t,name:e,directives:r})=>
|
|
22
|
-
`)+I(["scalar",e,I(r," ")]," ")},ObjectTypeDefinition:{leave:({description:t,name:e,interfaces:r,directives:n,fields:i})=>
|
|
23
|
-
`)+I(["type",e,
|
|
24
|
-
`)+e+(
|
|
20
|
+
]`:e}},ObjectValue:{leave:({fields:t})=>{let e="{ "+I(t,", ")+" }";return e.length>On?Te(t):e}},ObjectField:{leave:({name:t,value:e})=>t+": "+e},Directive:{leave:({name:t,arguments:e})=>"@"+t+w("(",I(e,", "),")")},NamedType:{leave:({name:t})=>t},ListType:{leave:({type:t})=>"["+t+"]"},NonNullType:{leave:({type:t})=>t+"!"},SchemaDefinition:{leave:({description:t,directives:e,operationTypes:r})=>w("",t,`
|
|
21
|
+
`)+I(["schema",I(e," "),Te(r)]," ")},OperationTypeDefinition:{leave:({operation:t,type:e})=>t+": "+e},ScalarTypeDefinition:{leave:({description:t,name:e,directives:r})=>w("",t,`
|
|
22
|
+
`)+I(["scalar",e,I(r," ")]," ")},ObjectTypeDefinition:{leave:({description:t,name:e,interfaces:r,directives:n,fields:i})=>w("",t,`
|
|
23
|
+
`)+I(["type",e,w("implements ",I(r," & ")),I(n," "),Te(i)]," ")},FieldDefinition:{leave:({description:t,name:e,arguments:r,type:n,directives:i})=>w("",t,`
|
|
24
|
+
`)+e+(Sn(r)?w(`(
|
|
25
25
|
`,qt(I(r,`
|
|
26
26
|
`)),`
|
|
27
|
-
)`):
|
|
28
|
-
`)+I([e+": "+r,
|
|
29
|
-
`)+I(["interface",e,
|
|
30
|
-
`)+I(["union",e,I(r," "),
|
|
31
|
-
`)+I(["enum",e,I(r," "),Te(n)]," ")},EnumValueDefinition:{leave:({description:t,name:e,directives:r})=>
|
|
32
|
-
`)+I([e,I(r," ")]," ")},InputObjectTypeDefinition:{leave:({description:t,name:e,directives:r,fields:n})=>
|
|
33
|
-
`)+I(["input",e,I(r," "),Te(n)]," ")},DirectiveDefinition:{leave:({description:t,name:e,arguments:r,directives:n,repeatable:i,locations:o})=>
|
|
34
|
-
`)+"directive @"+e+(
|
|
27
|
+
)`):w("(",I(r,", "),")"))+": "+n+w(" ",I(i," "))},InputValueDefinition:{leave:({description:t,name:e,type:r,defaultValue:n,directives:i})=>w("",t,`
|
|
28
|
+
`)+I([e+": "+r,w("= ",n),I(i," ")]," ")},InterfaceTypeDefinition:{leave:({description:t,name:e,interfaces:r,directives:n,fields:i})=>w("",t,`
|
|
29
|
+
`)+I(["interface",e,w("implements ",I(r," & ")),I(n," "),Te(i)]," ")},UnionTypeDefinition:{leave:({description:t,name:e,directives:r,types:n})=>w("",t,`
|
|
30
|
+
`)+I(["union",e,I(r," "),w("= ",I(n," | "))]," ")},EnumTypeDefinition:{leave:({description:t,name:e,directives:r,values:n})=>w("",t,`
|
|
31
|
+
`)+I(["enum",e,I(r," "),Te(n)]," ")},EnumValueDefinition:{leave:({description:t,name:e,directives:r})=>w("",t,`
|
|
32
|
+
`)+I([e,I(r," ")]," ")},InputObjectTypeDefinition:{leave:({description:t,name:e,directives:r,fields:n})=>w("",t,`
|
|
33
|
+
`)+I(["input",e,I(r," "),Te(n)]," ")},DirectiveDefinition:{leave:({description:t,name:e,arguments:r,directives:n,repeatable:i,locations:o})=>w("",t,`
|
|
34
|
+
`)+"directive @"+e+(Sn(r)?w(`(
|
|
35
35
|
`,qt(I(r,`
|
|
36
36
|
`)),`
|
|
37
|
-
)`):
|
|
37
|
+
)`):w("(",I(r,", "),")"))+w(" ",I(n," "))+(i?" repeatable":"")+" on "+I(o," | ")},SchemaExtension:{leave:({directives:t,operationTypes:e})=>I(["extend schema",I(t," "),Te(e)]," ")},ScalarTypeExtension:{leave:({name:t,directives:e})=>I(["extend scalar",t,I(e," ")]," ")},ObjectTypeExtension:{leave:({name:t,interfaces:e,directives:r,fields:n})=>I(["extend type",t,w("implements ",I(e," & ")),I(r," "),Te(n)]," ")},InterfaceTypeExtension:{leave:({name:t,interfaces:e,directives:r,fields:n})=>I(["extend interface",t,w("implements ",I(e," & ")),I(r," "),Te(n)]," ")},UnionTypeExtension:{leave:({name:t,directives:e,types:r})=>I(["extend union",t,I(e," "),w("= ",I(r," | "))]," ")},EnumTypeExtension:{leave:({name:t,directives:e,values:r})=>I(["extend enum",t,I(e," "),Te(r)]," ")},InputObjectTypeExtension:{leave:({name:t,directives:e,fields:r})=>I(["extend input",t,I(e," "),Te(r)]," ")},DirectiveExtension:{leave:({name:t,directives:e})=>I(["extend directive @"+t,I(e," ")]," ")},TypeCoordinate:{leave:({name:t})=>t},MemberCoordinate:{leave:({name:t,memberName:e})=>I([t,w(".",e)])},ArgumentCoordinate:{leave:({name:t,fieldName:e,argumentName:r})=>I([t,w(".",e),w("(",r,":)")])},DirectiveCoordinate:{leave:({name:t})=>I(["@",t])},DirectiveArgumentCoordinate:{leave:({name:t,argumentName:e})=>I(["@",t,w("(",e,":)")])}};function I(t,e=""){return t?.filter(r=>r!==void 0&&r!=="").join(e)??""}function Te(t){return w(`{
|
|
38
38
|
`,qt(I(t,`
|
|
39
39
|
`)),`
|
|
40
|
-
}`)}function
|
|
40
|
+
}`)}function w(t,e,r=""){return e!=null&&e!==""?t+e+r:""}function qt(t){return w(" ",t.replaceAll(`
|
|
41
41
|
`,`
|
|
42
|
-
`))}function
|
|
43
|
-
`))??!1}function
|
|
42
|
+
`))}function Sn(t){return t?.some(e=>e.includes(`
|
|
43
|
+
`))??!1}function ko(t,e){let r=t+w("(",I(e,", "),")");return r.length>On&&(r=t+w(`(
|
|
44
44
|
`,qt(I(e,`
|
|
45
45
|
`)),`
|
|
46
|
-
)`)),r}function Rr(t,e){switch(t.kind){case u.NULL:return null;case u.INT:return parseInt(t.value,10);case u.FLOAT:return parseFloat(t.value);case u.STRING:case u.ENUM:case u.BOOLEAN:return t.value;case u.LIST:return t.values.map(r=>Rr(r,e));case u.OBJECT:return Ze(t.fields,r=>r.name.value,r=>Rr(r.value,e));case u.VARIABLE:return e?.[t.name.value]}}function fe(t){if(t.length===0)throw new d("Expected name to be a non-empty string.");for(let e=1;e<t.length;++e)if(!vr(t.charCodeAt(e)))throw new d(`Names must only contain [_a-zA-Z0-9] but "${t}" does not.`);if(!jt(t.charCodeAt(0)))throw new d(`Names must start with [_a-zA-Z] but "${t}" does not.`);return t}function On(t){if(t==="true"||t==="false"||t==="null")throw new d(`Enum values cannot be named: ${t}`);return fe(t)}function Yt(t){return Le(t)||k(t)||P(t)||ee(t)||J(t)||F(t)||C(t)||D(t)}var Co=Symbol("Scalar");function Le(t){return ne(t,Co,De)}var xn=Symbol("Object");function k(t){return ne(t,xn,z)}var Cc=Symbol("Field");var ko=Symbol("Argument");function Or(t){return ne(t,ko,xt)}var Po=Symbol("Interface");function P(t){return ne(t,Po,Kt)}var Mo=Symbol("Union");function ee(t){return ne(t,Mo,nt)}var Vo=Symbol("Enum");function J(t){return ne(t,Vo,Pe)}var kc=Symbol("EnumValue");var Uo=Symbol("InputObject");function F(t){return ne(t,Uo,je)}var Pc=Symbol("InputField");var $o=Symbol("List");function C(t){return ne(t,$o,B)}var Go=Symbol("NonNull");function D(t){return ne(t,Go,N)}function Z(t){return Le(t)||J(t)||F(t)||it(t)&&Z(t.ofType)}function Be(t){return Le(t)||k(t)||P(t)||ee(t)||J(t)||it(t)&&Be(t.ofType)}function ge(t){return Le(t)||J(t)}function Ee(t){if(!ge(t))throw new Error(`Expected ${E(t)} to be a GraphQL leaf type.`);return t}function Ie(t){return k(t)||P(t)||ee(t)}function ce(t){return P(t)||ee(t)}var B=class{constructor(e){this.__kind=$o,this.ofType=e}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},N=class{constructor(e){this.__kind=Go,this.ofType=e}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}};function it(t){return C(t)||D(t)}function xr(t){return Yt(t)&&!D(t)}function wr(t){if(t)return D(t)?t.ofType:t}function Dr(t){return Le(t)||k(t)||P(t)||ee(t)||J(t)||F(t)}function te(t){if(t){let e=t;for(;it(e);)e=e.ofType;return e}}function Lr(t){return typeof t=="function"?t():t}function Ht(t){return typeof t=="function"?t():t}var De=class{constructor(e){this.__kind=Co,this.name=fe(e.name),this.description=e.description,this.specifiedByURL=e.specifiedByURL,this.serialize=e.serialize??e.coerceOutputValue??In,this.parseValue=e.parseValue??e.coerceInputValue??In,this.parseLiteral=e.parseLiteral??((r,n)=>this.coerceInputValue(Rr(r,n))),this.coerceOutputValue=e.coerceOutputValue??this.serialize,this.coerceInputValue=e.coerceInputValue??this.parseValue,this.coerceInputLiteral=e.coerceInputLiteral,this.valueToLiteral=e.valueToLiteral,this.extensions=ae(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=e.extensionASTNodes??[],e.parseLiteral&&(typeof e.parseValue=="function"&&typeof e.parseLiteral=="function"||ye(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`)),e.coerceInputLiteral&&(typeof e.coerceInputValue=="function"&&typeof e.coerceInputLiteral=="function"||ye(!1,`${this.name} must provide both "coerceInputValue" and "coerceInputLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,coerceOutputValue:this.coerceOutputValue,coerceInputValue:this.coerceInputValue,coerceInputLiteral:this.coerceInputLiteral,valueToLiteral:this.valueToLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},z=class{constructor(e){this.__kind=xn,this.__kind=xn,this.name=fe(e.name),this.description=e.description,this.isTypeOf=e.isTypeOf,this.extensions=ae(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=e.extensionASTNodes??[],this._fields=Qo.bind(void 0,this,e.fields),this._interfaces=Bo.bind(void 0,e.interfaces)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:ke(this.getFields(),e=>e.toConfig()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function Bo(t){return Lr(t??[])}function Qo(t,e){let r=Ht(e);return ke(r,(n,i)=>new rt(t,i,n))}var rt=class{constructor(e,r,n){this.__kind=Cc,this.parentType=e,this.name=fe(r),this.description=n.description,this.type=n.type;let i=n.args;this.args=i?Object.entries(i).map(([o,s])=>new xt(this,o,s)):[],this.resolve=n.resolve,this.subscribe=n.subscribe,this.deprecationReason=n.deprecationReason,this.extensions=ae(n.extensions),this.astNode=n.astNode}get[Symbol.toStringTag](){return"GraphQLField"}toConfig(){return{description:this.description,type:this.type,args:Ze(this.args,e=>e.name,e=>e.toConfig()),resolve:this.resolve,subscribe:this.subscribe,deprecationReason:this.deprecationReason,extensions:this.extensions,astNode:this.astNode}}toString(){return`${this.parentType??"<meta>"}.${this.name}`}toJSON(){return this.toString()}},xt=class{constructor(e,r,n){this.__kind=ko,this.parent=e,this.name=fe(r),this.description=n.description,this.type=n.type,this.defaultValue=n.defaultValue,this.default=n.default,this._memoizedCoercedDefaultValue=void 0,this.deprecationReason=n.deprecationReason,this.extensions=ae(n.extensions),this.astNode=n.astNode}get[Symbol.toStringTag](){return"GraphQLArgument"}toConfig(){return{description:this.description,type:this.type,defaultValue:this.defaultValue,default:this.default,deprecationReason:this.deprecationReason,extensions:this.extensions,astNode:this.astNode}}toString(){return`${this.parent}(${this.name}:)`}toJSON(){return this.toString()}};function Ne(t){return D(t.type)&&t.default===void 0&&t.defaultValue===void 0}var Kt=class{constructor(e){this.__kind=Po,this.name=fe(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=ae(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=e.extensionASTNodes??[],this._fields=Qo.bind(void 0,this,e.fields),this._interfaces=Bo.bind(void 0,e.interfaces)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:ke(this.getFields(),e=>e.toConfig()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},nt=class{constructor(e){this.__kind=Mo,this.name=fe(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=ae(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=e.extensionASTNodes??[],this._types=Mc.bind(void 0,e.types)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function Mc(t){return Lr(t)}var Pe=class{constructor(e){this.__kind=Vo,this.name=fe(e.name),this.description=e.description,this.extensions=ae(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=e.extensionASTNodes??[],this._values=Vc.bind(void 0,this,e.values),this._valueLookup=null,this._nameLookup=null}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return typeof this._values=="function"&&(this._values=this._values()),this._values}getValue(e){return this._nameLookup??=bt(this.getValues(),r=>r.name),this._nameLookup[e]}serialize(e){return this.coerceOutputValue(e)}coerceOutputValue(e){this._valueLookup??=new Map(this.getValues().map(n=>[n.value,n]));let r=this._valueLookup.get(e);if(r===void 0)throw new d(`Enum "${this.name}" cannot represent value: ${E(e)}`);return r.name}parseValue(e,r){return this.coerceInputValue(e,r)}coerceInputValue(e,r){if(typeof e!="string"){let i=E(e);throw new d(`Enum "${this.name}" cannot represent non-string value: ${i}.`+(r?"":Sr(this,i)))}let n=this.getValue(e);if(n==null)throw new d(`Value "${e}" does not exist in "${this.name}" enum.`+(r?"":Sr(this,e)));return n.value}parseLiteral(e,r,n){return this.coerceInputLiteral(e,n)}coerceInputLiteral(e,r){if(e.kind!==u.ENUM){let i=V(e);throw new d(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+(r?"":Sr(this,i)),{nodes:e})}let n=this.getValue(e.value);if(n==null){let i=V(e);throw new d(`Value "${i}" does not exist in "${this.name}" enum.`+(r?"":Sr(this,i)),{nodes:e})}return n.value}valueToLiteral(e){if(typeof e=="string"&&this.getValue(e))return{kind:u.ENUM,value:e}}toConfig(){return{name:this.name,description:this.description,values:Ze(this.getValues(),e=>e.name,e=>e.toConfig()),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function Vc(t,e){let r=Ht(e);return Object.entries(r).map(([n,i])=>new wn(t,n,i))}function Sr(t,e){let r=t.getValues().map(i=>i.name),n=se(e,r);return ie("the enum value",n)}var wn=class{constructor(e,r,n){this.__kind=kc,this.parentEnum=e,this.name=On(r),this.description=n.description,this.value=n.value!==void 0?n.value:r,this.deprecationReason=n.deprecationReason,this.extensions=ae(n.extensions),this.astNode=n.astNode}get[Symbol.toStringTag](){return"GraphQLEnumValue"}toConfig(){return{description:this.description,value:this.value,deprecationReason:this.deprecationReason,extensions:this.extensions,astNode:this.astNode}}toString(){return`${this.parentEnum.name}.${this.name}`}toJSON(){return this.toString()}},je=class{constructor(e){this.__kind=Uo,this.name=fe(e.name),this.description=e.description,this.extensions=ae(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=e.extensionASTNodes??[],this.isOneOf=e.isOneOf??!1,this._fields=Uc.bind(void 0,this,e.fields)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){return{name:this.name,description:this.description,fields:ke(this.getFields(),e=>e.toConfig()),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,isOneOf:this.isOneOf}}toString(){return this.name}toJSON(){return this.toString()}};function Uc(t,e){let r=Ht(e);return ke(r,(n,i)=>new Dn(t,i,n))}var Dn=class{constructor(e,r,n){"resolve"in n&&ye(!1,`${e}.${r} field has a resolve property, but Input Types cannot define resolvers.`),this.__kind=Pc,this.parentType=e,this.name=fe(r),this.description=n.description,this.type=n.type,this.defaultValue=n.defaultValue,this.default=n.default,this._memoizedCoercedDefaultValue=void 0,this.deprecationReason=n.deprecationReason,this.extensions=ae(n.extensions),this.astNode=n.astNode}get[Symbol.toStringTag](){return"GraphQLInputField"}toConfig(){return{description:this.description,type:this.type,defaultValue:this.defaultValue,default:this.default,deprecationReason:this.deprecationReason,extensions:this.extensions,astNode:this.astNode}}toString(){return`${this.parentType}.${this.name}`}toJSON(){return this.toString()}};function me(t){return D(t.type)&&t.defaultValue===void 0&&t.default===void 0}function _r(t,e){return t===e?!0:D(t)&&D(e)||C(t)&&C(e)?_r(t.ofType,e.ofType):!1}function qe(t,e,r){return e===r?!0:D(r)?D(e)?qe(t,e.ofType,r.ofType):!1:D(e)?qe(t,e.ofType,r):C(r)?C(e)?qe(t,e.ofType,r.ofType):!1:C(e)?!1:ce(r)&&(P(e)||k(e))&&t.isSubType(r,e)}function Ln(t,e,r){return e===r?!0:ce(e)?ce(r)?t.getPossibleTypes(e).some(n=>t.isSubType(r,n)):t.isSubType(e,r):ce(r)?t.isSubType(r,e):!1}function be(t,e,r){return{prev:t,key:e,typename:r}}function Me(t){let e=[],r=t;for(;r;)e.push(r.key),r=r.prev;return e.reverse()}function Ke(t,e){if(D(e))return t==null?void 0:Ke(t,e.ofType);if(t==null)return{kind:u.NULL};if(C(e)){if(!le(t))return Ke(t,e.ofType);let n=[];for(let i of t){let o=Ke(i,e.ofType);if(!o)return;n.push(o)}return{kind:u.LIST,values:n}}if(F(e)){if(!H(t))return;let n=[],i=e.getFields();if(Object.keys(t).some(s=>t[s]!==void 0&&!Object.hasOwn(i,s)))return;for(let s of Object.values(e.getFields()))if(t[s.name]===void 0){if(me(s))return}else{let c=Ke(t[s.name],s.type);if(!c)return;n.push({kind:u.OBJECT_FIELD,name:{kind:u.NAME,value:s.name},value:c})}return{kind:u.OBJECT,fields:n}}let r=Ee(e);if(r.valueToLiteral)try{return r.valueToLiteral(t)}catch{return}return ot(t)}function ot(t){if(t==null)return{kind:u.NULL};switch(typeof t){case"boolean":return{kind:u.BOOLEAN,value:t};case"string":return{kind:u.STRING,value:t,block:!1};case"bigint":return{kind:u.INT,value:t.toString()};case"number":{if(!Number.isFinite(t))return{kind:u.NULL};let e=String(t);return/^-?(?:0|[1-9][0-9]*)$/.test(e)?{kind:u.INT,value:e}:{kind:u.FLOAT,value:e}}case"object":{if(le(t))return{kind:u.LIST,values:Array.from(t,ot)};let e=t,r=[];for(let n of Object.keys(e)){let i=e[n];i!==void 0&&r.push({kind:u.OBJECT_FIELD,name:{kind:u.NAME,value:n},value:ot(i)})}return{kind:u.OBJECT,fields:r}}}throw new TypeError(`Cannot convert value to AST: ${E(t)}.`)}function st(t,e,r){switch(t.kind){case u.VARIABLE:{let n=t.name.value,i=r?.sources[n];if(i){let s=i.value;if(s===void 0){let a=i.signature.default;return a!==void 0?a.literal:{kind:u.NULL}}return st(s,e,i.fragmentVariableValues)}let o=e?.sources[n];if(o==null)return{kind:u.NULL};if(o.value===void 0){let s=o.signature.default;if(s!==void 0)return s.literal}return Ke(o.value,o.signature.type)}case u.OBJECT:{let n=[];for(let i of t.fields){if(i.value.kind===u.VARIABLE){let s=r?.sources[i.value.name.value]??e?.sources[i.value.name.value];if(s?.value===void 0&&s?.signature.default===void 0)continue}let o=st(i.value,e,r);n.push({...i,value:o})}return{...t,fields:n}}case u.LIST:{let n=[];for(let i of t.values){let o=st(i,e,r);n.push(o)}return{...t,values:n}}default:return t}}function Xt(t,e,r,n){return Wt(t,e,r,n,void 0)}function Wt(t,e,r,n,i){if(D(e)){if(t===void 0){Ye(r,`Expected a value of non-null type "${e}" to be provided.`,i);return}if(t===null){Ye(r,`Expected value of non-null type "${e}" not to be null.`,i);return}return Wt(t,e.ofType,r,n,i)}if(t!=null)if(C(e))if(!le(t))Wt(t,e.ofType,r,n,i);else{let o=0;for(let s of t)Wt(s,e.ofType,r,n,be(i,o++,void 0))}else if(F(e)){if(!H(t)||Array.isArray(t)){Ye(r,`Expected value of type "${e}" to be an object, found: ${E(t)}.`,i);return}let o=e.getFields();for(let a of Object.values(o)){let c=t[a.name];c===void 0?me(a)&&Ye(r,`Expected value of type "${e}" to include required field "${a.name}", found: ${E(t)}.`,i):Wt(c,a.type,r,n,be(i,a.name,e.name))}let s=[];for(let a of Object.keys(t))if(t[a]!==void 0){if(!Object.hasOwn(o,a)){let c=n?"":ie(se(a,Object.keys(o)));Ye(r,`Expected value of type "${e}" not to include unknown field "${a}"${c?`.${c} Found`:", found"}: ${E(t)}.`,i);continue}s.push(a)}if(e.isOneOf){s.length!==1&&Ye(r,Ar(e),i);let a=s[0];t[a]===null&&Ye(r,Ar(e),be(i,a,e.name))}}else{Ee(e);let o,s;try{o=e.coerceInputValue(t,n)}catch(a){if(a instanceof d){r(a,Me(i));return}s=a}o===void 0&&Ye(r,`Expected value of type "${e}"${s!=null?`, but encountered error "${qo(s)}"; found`:", found"}: ${E(t)}.`,i,$e(s))}}function Ye(t,e,r,n){t(new d(e,{originalError:n}),Me(r))}function wt(t,e,r,n,i,o){return Jt({static:!n&&!i,onError:r,variables:n,fragmentVariableValues:i},t,e,o,void 0)}function Jt(t,e,r,n,i){if(e.kind===u.VARIABLE){if(t.static)return;let s=jo(t,e)?.coerced[e.name.value];D(r)&&(s===void 0?_e(t.onError,`Expected variable "$${e.name.value}" provided to type "${r}" to provide a runtime value.`,e,i):s===null&&_e(t.onError,`Expected variable "$${e.name.value}" provided to non-null type "${r}" not to be null.`,e,i));return}if(D(r)){if(e.kind===u.NULL){_e(t.onError,`Expected value of non-null type "${r}" not to be null.`,e,i);return}return Jt(t,e,r.ofType,n,i)}if(e.kind!==u.NULL)if(C(r))if(e.kind!==u.LIST)Jt(t,e,r.ofType,n,i);else{let o=0;for(let s of e.values)Jt(t,s,r.ofType,n,be(i,o++,void 0))}else if(F(r)){if(e.kind!==u.OBJECT){_e(t.onError,`Expected value of type "${r}" to be an object, found: ${V(e)}.`,e,i);return}let o=r.getFields(),s=bt(e.fields,p=>p.name.value);for(let p of Object.values(o)){let l=s[p.name];if(l===void 0)me(p)&&_e(t.onError,`Expected value of type "${r}" to include required field "${p.name}", found: ${V(e)}.`,e,i);else{let f=l.value;if(f.kind===u.VARIABLE&&!t.static){let m=jo(t,f),T=f.name.value,y=m?.coerced[T];if(r.isOneOf)y===void 0?_e(t.onError,`Expected variable "$${T}" provided to field "${p.name}" for OneOf Input Object type "${r}" to provide a runtime value.`,e,i):y===null&&_e(t.onError,`Expected variable "$${T}" provided to field "${p.name}" for OneOf Input Object type "${r}" not to be null.`,e,i);else if(y===void 0&&!me(p))continue}Jt(t,f,p.type,n,be(i,p.name,r.name))}}let a=e.fields,c=[];for(let p of a){let l=p.name.value;if(Object.hasOwn(o,l))c.push(p);else{let f=n?"":ie(se(l,Object.keys(o)));_e(t.onError,`Expected value of type "${r}" not to include unknown field "${l}"${f?`.${f} Found`:", found"}: ${V(e)}.`,p,i)}}if(r.isOneOf){if(c.length!==1){_e(t.onError,Ar(r),e,i);return}if(c[0].value.kind===u.NULL){let f=c[0].name.value;_e(t.onError,Ar(r),e,be(i,f,void 0))}}}else{Ee(r);let o,s;try{o=r.coerceInputLiteral?r.coerceInputLiteral(st(e,t.variables,t.fragmentVariableValues),n):r.parseLiteral(e,void 0,n)}catch(a){if(a instanceof d){t.onError(a,Me(i));return}s=a}o===void 0&&_e(t.onError,`Expected value of type "${r}"${s!=null?`, but encountered error "${qo(s)}"; found`:", found"}: ${V(e)}.`,e,i,$e(s))}}function jo(t,e){let r=e.name.value,{fragmentVariableValues:n,variables:i}=t;return n?.sources[r]?n:i}function _e(t,e,r,n,i){t(new d(e,{nodes:r,originalError:i}),Me(n))}function qo(t){if(H(t)){let e=t.message;if(typeof e=="string"&&e!=="")return e}return String(t)}function Ar(t){return`Within OneOf Input Object type "${t}", exactly one field must be specified, and the value for that field must be non-null.`}var v={QUERY:"QUERY",MUTATION:"MUTATION",SUBSCRIPTION:"SUBSCRIPTION",FIELD:"FIELD",FRAGMENT_DEFINITION:"FRAGMENT_DEFINITION",FRAGMENT_SPREAD:"FRAGMENT_SPREAD",INLINE_FRAGMENT:"INLINE_FRAGMENT",VARIABLE_DEFINITION:"VARIABLE_DEFINITION",FRAGMENT_VARIABLE_DEFINITION:"FRAGMENT_VARIABLE_DEFINITION",SCHEMA:"SCHEMA",SCALAR:"SCALAR",OBJECT:"OBJECT",FIELD_DEFINITION:"FIELD_DEFINITION",ARGUMENT_DEFINITION:"ARGUMENT_DEFINITION",INTERFACE:"INTERFACE",UNION:"UNION",ENUM:"ENUM",ENUM_VALUE:"ENUM_VALUE",INPUT_OBJECT:"INPUT_OBJECT",INPUT_FIELD_DEFINITION:"INPUT_FIELD_DEFINITION",DIRECTIVE_DEFINITION:"DIRECTIVE_DEFINITION"};var at=2147483647,ct=-2147483648,ue=new De({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",coerceOutputValue(t){let e=zt(t);if(typeof e=="number")return Ko(e);if(typeof e=="boolean")return e?1:0;if(typeof e=="string")return $c(e);if(typeof e=="bigint")return Yo(e);throw new d(`Int cannot represent non-integer value: ${E(e)}`)},coerceInputValue(t){if(typeof t=="number")return Ko(t);if(typeof t=="bigint")return Yo(t);throw new d(`Int cannot represent non-integer value: ${E(t)}`)},coerceInputLiteral(t){if(t.kind!==u.INT)throw new d(`Int cannot represent non-integer value: ${V(t)}`,{nodes:t});let e=parseInt(t.value,10);if(e>at||e<ct)throw new d(`Int cannot represent non 32-bit signed integer value: ${t.value}`,{nodes:t});return e},valueToLiteral(t){if((typeof t=="number"&&Number.isInteger(t)||typeof t=="bigint")&&t<=at&&t>=ct)return{kind:u.INT,value:String(t)}}}),he=new De({name:"Float",description:"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).",coerceOutputValue(t){let e=zt(t);if(typeof e=="number")return Ho(e);if(typeof e=="boolean")return e?1:0;if(typeof e=="string")return Gc(e);if(typeof e=="bigint")return Wo(e);throw new d(`Float cannot represent non numeric value: ${E(e)}`)},coerceInputValue(t){if(typeof t=="number")return Ho(t);if(typeof t=="bigint")return Wo(t);throw new d(`Float cannot represent non numeric value: ${E(t)}`)},coerceInputLiteral(t){if(t.kind!==u.FLOAT&&t.kind!==u.INT)throw new d(`Float cannot represent non numeric value: ${V(t)}`,{nodes:t});return parseFloat(t.value)},valueToLiteral(t){let e=ot(t);if(e.kind===u.FLOAT||e.kind===u.INT)return e}}),b=new De({name:"String",description:"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",coerceOutputValue(t){let e=zt(t);if(typeof e=="string")return e;if(typeof e=="boolean")return e?"true":"false";if(typeof e=="number")return Bc(e);if(typeof e=="bigint")return String(e);throw new d(`String cannot represent value: ${E(t)}`)},coerceInputValue(t){if(typeof t!="string")throw new d(`String cannot represent a non string value: ${E(t)}`);return t},coerceInputLiteral(t){if(t.kind!==u.STRING)throw new d(`String cannot represent a non string value: ${V(t)}`,{nodes:t});return t.value},valueToLiteral(t){let e=ot(t);if(e.kind===u.STRING)return e}}),Q=new De({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",coerceOutputValue(t){let e=zt(t);if(typeof e=="boolean")return e;if(typeof e=="number")return Qc(e);if(typeof e=="bigint")return e!==0n;throw new d(`Boolean cannot represent a non boolean value: ${E(e)}`)},coerceInputValue(t){if(typeof t!="boolean")throw new d(`Boolean cannot represent a non boolean value: ${E(t)}`);return t},coerceInputLiteral(t){if(t.kind!==u.BOOLEAN)throw new d(`Boolean cannot represent a non boolean value: ${V(t)}`,{nodes:t});return t.value},valueToLiteral(t){let e=ot(t);if(e.kind===u.BOOLEAN)return e}}),ve=new De({name:"ID",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.',coerceOutputValue(t){let e=zt(t);if(typeof e=="string")return e;if(typeof e=="number")return _n(e);if(typeof e=="bigint")return String(e);throw new d(`ID cannot represent value: ${E(t)}`)},coerceInputValue(t){if(typeof t=="string")return t;if(typeof t=="number")return _n(t);if(typeof t=="bigint")return String(t);throw new d(`ID cannot represent value: ${E(t)}`)},coerceInputLiteral(t){if(t.kind!==u.STRING&&t.kind!==u.INT)throw new d("ID cannot represent a non-string and non-integer value: "+V(t),{nodes:t});return t.value},valueToLiteral(t){if(typeof t=="string")return/^-?(?:0|[1-9][0-9]*)$/.test(t)?{kind:u.INT,value:t}:{kind:u.STRING,value:t,block:!1};if(typeof t=="number")return{kind:u.INT,value:_n(t)};if(typeof t=="bigint")return{kind:u.INT,value:String(t)}}}),Fr=Object.freeze([b,ue,he,Q,ve]);function zt(t){if(H(t)){if(typeof t.valueOf=="function"){let e=t.valueOf();if(!H(e))return e}if(typeof t.toJSON=="function")return t.toJSON()}return t}function Ko(t){if(!Number.isInteger(t))throw new d(`Int cannot represent non-integer value: ${E(t)}`);if(t>at||t<ct)throw new d(`Int cannot represent non 32-bit signed integer value: ${E(t)}`);return t}function $c(t){if(t==="")throw new d(`Int cannot represent non-integer value: ${E(t)}`);let e=Number(t);if(!Number.isInteger(e))throw new d(`Int cannot represent non-integer value: ${E(t)}`);if(e>at||e<ct)throw new d(`Int cannot represent non 32-bit signed integer value: ${E(t)}`);return e}function Yo(t){if(t>at||t<ct)throw new d(`Int cannot represent non 32-bit signed integer value: ${String(t)}`);return Number(t)}function Ho(t){if(!Number.isFinite(t))throw new d(`Float cannot represent non numeric value: ${E(t)}`);return t}function Gc(t){if(t==="")throw new d(`Float cannot represent non numeric value: ${E(t)}`);let e=Number(t);if(!Number.isFinite(e))throw new d(`Float cannot represent non numeric value: ${E(t)}`);return e}function Wo(t){let e=Number(t);if(!Number.isFinite(e))throw new d(`Float cannot represent non numeric value: ${E(t)} (value is too large)`);if(BigInt(e)!==t)throw new d(`Float cannot represent non numeric value: ${E(t)} (value would lose precision)`);return e}function Bc(t){if(!Number.isFinite(t))throw new d(`String cannot represent value: ${E(t)}`);return String(t)}function Qc(t){if(!Number.isFinite(t))throw new d(`Boolean cannot represent a non boolean value: ${E(t)}`);return t!==0}function _n(t){if(!Number.isInteger(t))throw new d(`ID cannot represent value: ${E(t)}`);return String(t)}var Jo=Symbol("Directive");function Zt(t){return ne(t,Jo,Re)}var Re=class{constructor(e){this.__kind=Jo,this.name=fe(e.name),this.description=e.description,this.locations=e.locations,this.isRepeatable=e.isRepeatable??!1,this.deprecationReason=e.deprecationReason,this.extensions=ae(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=e.extensionASTNodes??[],Array.isArray(e.locations)||ye(!1,`@${this.name} locations must be an Array.`);let r=e.args??{};H(r)&&!Array.isArray(r)||ye(!1,`@${this.name} args must be an object with argument names as keys.`),this.args=Object.entries(r).map(([n,i])=>new xt(this,n,i))}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:Ze(this.args,e=>e.name,e=>e.toConfig()),isRepeatable:this.isRepeatable,deprecationReason:this.deprecationReason,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return"@"+this.name}toJSON(){return this.toString()}},ut=new Re({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[v.FIELD,v.FRAGMENT_SPREAD,v.INLINE_FRAGMENT],args:{if:{type:new N(Q),description:"Included when true."}}}),pt=new Re({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[v.FIELD,v.FRAGMENT_SPREAD,v.INLINE_FRAGMENT],args:{if:{type:new N(Q),description:"Skipped when true."}}}),Qe=new Re({name:"defer",description:"Directs the executor to defer this fragment when the `if` argument is true or undefined.",locations:[v.FRAGMENT_SPREAD,v.INLINE_FRAGMENT],args:{if:{type:new N(Q),description:"Deferred when true or undefined.",default:{value:!0}},label:{type:b,description:"Unique name"}}}),Ae=new Re({name:"stream",description:"Directs the executor to stream plural fields when the `if` argument is true or undefined.",locations:[v.FIELD],args:{initialCount:{default:{value:0},type:new N(ue),description:"Number of items to return immediately"},if:{type:new N(Q),description:"Stream when true or undefined.",default:{value:!0}},label:{type:b,description:"Unique name"}}}),Xo="No longer supported",Cr=new Re({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[v.FIELD_DEFINITION,v.ARGUMENT_DEFINITION,v.INPUT_FIELD_DEFINITION,v.ENUM_VALUE,v.DIRECTIVE_DEFINITION],args:{reason:{type:new N(b),description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",default:{value:Xo}}}}),zo=new Re({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[v.SCALAR],args:{url:{type:new N(b),description:"The URL that specifies the behavior of this scalar."}}}),Zo=new Re({name:"oneOf",description:"Indicates exactly one field must be supplied and this field must not be `null`.",locations:[v.INPUT_OBJECT],args:{}}),es=new Re({name:"experimental_disableErrorPropagation",description:"Disables error propagation.",locations:[v.QUERY,v.MUTATION,v.SUBSCRIPTION]}),Fe=Object.freeze([ut,pt,Cr,zo,Zo]);function Dt(t,e){if(D(e)){let r=Dt(t,e.ofType);return r?.kind===u.NULL?null:r}if(t===null)return{kind:u.NULL};if(t===void 0)return null;if(C(e)){let r=e.ofType;if(le(t)){let n=[];for(let i of t){let o=Dt(i,r);o!=null&&n.push(o)}return{kind:u.LIST,values:n}}return Dt(t,r)}if(F(e)){if(!H(t))return null;let r=[];for(let n of Object.values(e.getFields())){let i=Dt(t[n.name],n.type);i&&r.push({kind:u.OBJECT_FIELD,name:{kind:u.NAME,value:n.name},value:i})}return{kind:u.OBJECT,fields:r}}if(ge(e)){let r=e.coerceOutputValue(t);if(r==null)return null;if(typeof r=="boolean")return{kind:u.BOOLEAN,value:r};if(typeof r=="number"&&Number.isFinite(r)){let n=String(r);return ts.test(n)?{kind:u.INT,value:n}:{kind:u.FLOAT,value:n}}if(typeof r=="bigint")return{kind:u.INT,value:String(r)};if(typeof r=="string")return J(e)?{kind:u.ENUM,value:r}:e===ve&&ts.test(r)?{kind:u.INT,value:r}:{kind:u.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${E(r)}.`)}L(!1,"Unexpected input type: "+E(e))}var ts=/^-?(?:0|[1-9][0-9]*)$/;function rs(t){let e=t.type,r=t.default;if(r){let i=r.literal??Ke(r.value,e);return i==null&&L(!1,"Invalid default value"),i}let n=t.defaultValue;if(n!==void 0){let i=Dt(n,e);return i==null&&L(!1,"Invalid default value"),i}}var er=new z({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:b,resolve:t=>t.description},types:{description:"A list of all types supported by this server.",type:new N(new B(new N(Se))),resolve(t){return Object.values(t.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new N(Se),resolve:t=>t.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:Se,resolve:t=>t.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:Se,resolve:t=>t.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new N(new B(new N(An))),args:{includeDeprecated:{type:new N(Q),default:{value:!1}}},resolve:(t,{includeDeprecated:e})=>e===!0?t.getDirectives():t.getDirectives().filter(r=>r.deprecationReason==null)}})}),An=new z({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
|
|
46
|
+
)`)),r}function Rr(t,e){switch(t.kind){case u.NULL:return null;case u.INT:return parseInt(t.value,10);case u.FLOAT:return parseFloat(t.value);case u.STRING:case u.ENUM:case u.BOOLEAN:return t.value;case u.LIST:return t.values.map(r=>Rr(r,e));case u.OBJECT:return Ze(t.fields,r=>r.name.value,r=>Rr(r.value,e));case u.VARIABLE:return e?.[t.name.value]}}function fe(t){if(t.length===0)throw new d("Expected name to be a non-empty string.");for(let e=1;e<t.length;++e)if(!vr(t.charCodeAt(e)))throw new d(`Names must only contain [_a-zA-Z0-9] but "${t}" does not.`);if(!jt(t.charCodeAt(0)))throw new d(`Names must start with [_a-zA-Z] but "${t}" does not.`);return t}function xn(t){if(t==="true"||t==="false"||t==="null")throw new d(`Enum values cannot be named: ${t}`);return fe(t)}function Yt(t){return _e(t)||k(t)||P(t)||ee(t)||J(t)||F(t)||C(t)||D(t)}var Po=Symbol("Scalar");function _e(t){return ne(t,Po,De)}var wn=Symbol("Object");function k(t){return ne(t,wn,z)}var Pc=Symbol("Field");var Mo=Symbol("Argument");function Or(t){return ne(t,Mo,xt)}var Vo=Symbol("Interface");function P(t){return ne(t,Vo,Kt)}var Uo=Symbol("Union");function ee(t){return ne(t,Uo,nt)}var $o=Symbol("Enum");function J(t){return ne(t,$o,Pe)}var Mc=Symbol("EnumValue");var Go=Symbol("InputObject");function F(t){return ne(t,Go,je)}var Vc=Symbol("InputField");var Bo=Symbol("List");function C(t){return ne(t,Bo,B)}var Qo=Symbol("NonNull");function D(t){return ne(t,Qo,N)}function Z(t){return _e(t)||J(t)||F(t)||it(t)&&Z(t.ofType)}function Be(t){return _e(t)||k(t)||P(t)||ee(t)||J(t)||it(t)&&Be(t.ofType)}function ge(t){return _e(t)||J(t)}function Ee(t){if(!ge(t))throw new Error(`Expected ${E(t)} to be a GraphQL leaf type.`);return t}function Ie(t){return k(t)||P(t)||ee(t)}function ce(t){return P(t)||ee(t)}var B=class{constructor(e){this.__kind=Bo,this.ofType=e}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},N=class{constructor(e){this.__kind=Qo,this.ofType=e}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}};function it(t){return C(t)||D(t)}function xr(t){return Yt(t)&&!D(t)}function wr(t){if(t)return D(t)?t.ofType:t}function Dr(t){return _e(t)||k(t)||P(t)||ee(t)||J(t)||F(t)}function te(t){if(t){let e=t;for(;it(e);)e=e.ofType;return e}}function _r(t){return typeof t=="function"?t():t}function Ht(t){return typeof t=="function"?t():t}var De=class{constructor(e){this.__kind=Po,this.name=fe(e.name),this.description=e.description,this.specifiedByURL=e.specifiedByURL,this.serialize=e.serialize??e.coerceOutputValue??Nn,this.parseValue=e.parseValue??e.coerceInputValue??Nn,this.parseLiteral=e.parseLiteral??((r,n)=>this.coerceInputValue(Rr(r,n))),this.coerceOutputValue=e.coerceOutputValue??this.serialize,this.coerceInputValue=e.coerceInputValue??this.parseValue,this.coerceInputLiteral=e.coerceInputLiteral,this.valueToLiteral=e.valueToLiteral,this.extensions=ae(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=e.extensionASTNodes??[],e.parseLiteral&&(typeof e.parseValue=="function"&&typeof e.parseLiteral=="function"||ye(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`)),e.coerceInputLiteral&&(typeof e.coerceInputValue=="function"&&typeof e.coerceInputLiteral=="function"||ye(!1,`${this.name} must provide both "coerceInputValue" and "coerceInputLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,coerceOutputValue:this.coerceOutputValue,coerceInputValue:this.coerceInputValue,coerceInputLiteral:this.coerceInputLiteral,valueToLiteral:this.valueToLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},z=class{constructor(e){this.__kind=wn,this.__kind=wn,this.name=fe(e.name),this.description=e.description,this.isTypeOf=e.isTypeOf,this.extensions=ae(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=e.extensionASTNodes??[],this._fields=qo.bind(void 0,this,e.fields),this._interfaces=jo.bind(void 0,e.interfaces)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:ke(this.getFields(),e=>e.toConfig()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function jo(t){return _r(t??[])}function qo(t,e){let r=Ht(e);return ke(r,(n,i)=>new rt(t,i,n))}var rt=class{constructor(e,r,n){this.__kind=Pc,this.parentType=e,this.name=fe(r),this.description=n.description,this.type=n.type;let i=n.args;this.args=i?Object.entries(i).map(([o,s])=>new xt(this,o,s)):[],this.resolve=n.resolve,this.subscribe=n.subscribe,this.deprecationReason=n.deprecationReason,this.extensions=ae(n.extensions),this.astNode=n.astNode}get[Symbol.toStringTag](){return"GraphQLField"}toConfig(){return{description:this.description,type:this.type,args:Ze(this.args,e=>e.name,e=>e.toConfig()),resolve:this.resolve,subscribe:this.subscribe,deprecationReason:this.deprecationReason,extensions:this.extensions,astNode:this.astNode}}toString(){return`${this.parentType??"<meta>"}.${this.name}`}toJSON(){return this.toString()}},xt=class{constructor(e,r,n){this.__kind=Mo,this.parent=e,this.name=fe(r),this.description=n.description,this.type=n.type,this.defaultValue=n.defaultValue,this.default=n.default,this._memoizedCoercedDefaultValue=void 0,this.deprecationReason=n.deprecationReason,this.extensions=ae(n.extensions),this.astNode=n.astNode}get[Symbol.toStringTag](){return"GraphQLArgument"}toConfig(){return{description:this.description,type:this.type,defaultValue:this.defaultValue,default:this.default,deprecationReason:this.deprecationReason,extensions:this.extensions,astNode:this.astNode}}toString(){return`${this.parent}(${this.name}:)`}toJSON(){return this.toString()}};function Ne(t){return D(t.type)&&t.default===void 0&&t.defaultValue===void 0}var Kt=class{constructor(e){this.__kind=Vo,this.name=fe(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=ae(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=e.extensionASTNodes??[],this._fields=qo.bind(void 0,this,e.fields),this._interfaces=jo.bind(void 0,e.interfaces)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:ke(this.getFields(),e=>e.toConfig()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},nt=class{constructor(e){this.__kind=Uo,this.name=fe(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=ae(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=e.extensionASTNodes??[],this._types=Uc.bind(void 0,e.types)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function Uc(t){return _r(t)}var Pe=class{constructor(e){this.__kind=$o,this.name=fe(e.name),this.description=e.description,this.extensions=ae(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=e.extensionASTNodes??[],this._values=$c.bind(void 0,this,e.values),this._valueLookup=null,this._nameLookup=null}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return typeof this._values=="function"&&(this._values=this._values()),this._values}getValue(e){return this._nameLookup??=bt(this.getValues(),r=>r.name),this._nameLookup[e]}serialize(e){return this.coerceOutputValue(e)}coerceOutputValue(e){this._valueLookup??=new Map(this.getValues().map(n=>[n.value,n]));let r=this._valueLookup.get(e);if(r===void 0)throw new d(`Enum "${this.name}" cannot represent value: ${E(e)}`);return r.name}parseValue(e,r){return this.coerceInputValue(e,r)}coerceInputValue(e,r){if(typeof e!="string"){let i=E(e);throw new d(`Enum "${this.name}" cannot represent non-string value: ${i}.`+(r?"":Sr(this,i)))}let n=this.getValue(e);if(n==null)throw new d(`Value "${e}" does not exist in "${this.name}" enum.`+(r?"":Sr(this,e)));return n.value}parseLiteral(e,r,n){return this.coerceInputLiteral(e,n)}coerceInputLiteral(e,r){if(e.kind!==u.ENUM){let i=V(e);throw new d(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+(r?"":Sr(this,i)),{nodes:e})}let n=this.getValue(e.value);if(n==null){let i=V(e);throw new d(`Value "${i}" does not exist in "${this.name}" enum.`+(r?"":Sr(this,i)),{nodes:e})}return n.value}valueToLiteral(e){if(typeof e=="string"&&this.getValue(e))return{kind:u.ENUM,value:e}}toConfig(){return{name:this.name,description:this.description,values:Ze(this.getValues(),e=>e.name,e=>e.toConfig()),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function $c(t,e){let r=Ht(e);return Object.entries(r).map(([n,i])=>new Dn(t,n,i))}function Sr(t,e){let r=t.getValues().map(i=>i.name),n=se(e,r);return ie("the enum value",n)}var Dn=class{constructor(e,r,n){this.__kind=Mc,this.parentEnum=e,this.name=xn(r),this.description=n.description,this.value=n.value!==void 0?n.value:r,this.deprecationReason=n.deprecationReason,this.extensions=ae(n.extensions),this.astNode=n.astNode}get[Symbol.toStringTag](){return"GraphQLEnumValue"}toConfig(){return{description:this.description,value:this.value,deprecationReason:this.deprecationReason,extensions:this.extensions,astNode:this.astNode}}toString(){return`${this.parentEnum.name}.${this.name}`}toJSON(){return this.toString()}},je=class{constructor(e){this.__kind=Go,this.name=fe(e.name),this.description=e.description,this.extensions=ae(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=e.extensionASTNodes??[],this.isOneOf=e.isOneOf??!1,this._fields=Gc.bind(void 0,this,e.fields)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){return{name:this.name,description:this.description,fields:ke(this.getFields(),e=>e.toConfig()),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,isOneOf:this.isOneOf}}toString(){return this.name}toJSON(){return this.toString()}};function Gc(t,e){let r=Ht(e);return ke(r,(n,i)=>new _n(t,i,n))}var _n=class{constructor(e,r,n){"resolve"in n&&ye(!1,`${e}.${r} field has a resolve property, but Input Types cannot define resolvers.`),this.__kind=Vc,this.parentType=e,this.name=fe(r),this.description=n.description,this.type=n.type,this.defaultValue=n.defaultValue,this.default=n.default,this._memoizedCoercedDefaultValue=void 0,this.deprecationReason=n.deprecationReason,this.extensions=ae(n.extensions),this.astNode=n.astNode}get[Symbol.toStringTag](){return"GraphQLInputField"}toConfig(){return{description:this.description,type:this.type,defaultValue:this.defaultValue,default:this.default,deprecationReason:this.deprecationReason,extensions:this.extensions,astNode:this.astNode}}toString(){return`${this.parentType}.${this.name}`}toJSON(){return this.toString()}};function me(t){return D(t.type)&&t.defaultValue===void 0&&t.default===void 0}function Lr(t,e){return t===e?!0:D(t)&&D(e)||C(t)&&C(e)?Lr(t.ofType,e.ofType):!1}function qe(t,e,r){return e===r?!0:D(r)?D(e)?qe(t,e.ofType,r.ofType):!1:D(e)?qe(t,e.ofType,r):C(r)?C(e)?qe(t,e.ofType,r.ofType):!1:C(e)?!1:ce(r)&&(P(e)||k(e))&&t.isSubType(r,e)}function Ln(t,e,r){return e===r?!0:ce(e)?ce(r)?t.getPossibleTypes(e).some(n=>t.isSubType(r,n)):t.isSubType(e,r):ce(r)?t.isSubType(r,e):!1}function be(t,e,r){return{prev:t,key:e,typename:r}}function Me(t){let e=[],r=t;for(;r;)e.push(r.key),r=r.prev;return e.reverse()}function Ke(t,e){if(D(e))return t==null?void 0:Ke(t,e.ofType);if(t==null)return{kind:u.NULL};if(C(e)){if(!le(t))return Ke(t,e.ofType);let n=[];for(let i of t){let o=Ke(i,e.ofType);if(!o)return;n.push(o)}return{kind:u.LIST,values:n}}if(F(e)){if(!H(t))return;let n=[],i=e.getFields();if(Object.keys(t).some(s=>t[s]!==void 0&&!Object.hasOwn(i,s)))return;for(let s of Object.values(e.getFields()))if(t[s.name]===void 0){if(me(s))return}else{let c=Ke(t[s.name],s.type);if(!c)return;n.push({kind:u.OBJECT_FIELD,name:{kind:u.NAME,value:s.name},value:c})}return{kind:u.OBJECT,fields:n}}let r=Ee(e);if(r.valueToLiteral)try{return r.valueToLiteral(t)}catch{return}return ot(t)}function ot(t){if(t==null)return{kind:u.NULL};switch(typeof t){case"boolean":return{kind:u.BOOLEAN,value:t};case"string":return{kind:u.STRING,value:t,block:!1};case"bigint":return{kind:u.INT,value:t.toString()};case"number":{if(!Number.isFinite(t))return{kind:u.NULL};let e=String(t);return/^-?(?:0|[1-9][0-9]*)$/.test(e)?{kind:u.INT,value:e}:{kind:u.FLOAT,value:e}}case"object":{if(le(t))return{kind:u.LIST,values:Array.from(t,ot)};let e=t,r=[];for(let n of Object.keys(e)){let i=e[n];i!==void 0&&r.push({kind:u.OBJECT_FIELD,name:{kind:u.NAME,value:n},value:ot(i)})}return{kind:u.OBJECT,fields:r}}}throw new TypeError(`Cannot convert value to AST: ${E(t)}.`)}function st(t,e,r){switch(t.kind){case u.VARIABLE:{let n=t.name.value,i=r?.sources[n];if(i){let s=i.value;if(s===void 0){let a=i.signature.default;return a!==void 0?a.literal:{kind:u.NULL}}return st(s,e,i.fragmentVariableValues)}let o=e?.sources[n];if(o==null)return{kind:u.NULL};if(o.value===void 0){let s=o.signature.default;if(s!==void 0)return s.literal}return Ke(o.value,o.signature.type)}case u.OBJECT:{let n=[];for(let i of t.fields){if(i.value.kind===u.VARIABLE){let s=r?.sources[i.value.name.value]??e?.sources[i.value.name.value];if(s?.value===void 0&&s?.signature.default===void 0)continue}let o=st(i.value,e,r);n.push({...i,value:o})}return{...t,fields:n}}case u.LIST:{let n=[];for(let i of t.values){let o=st(i,e,r);n.push(o)}return{...t,values:n}}default:return t}}function Xt(t,e,r,n){return Wt(t,e,r,n,void 0)}function Wt(t,e,r,n,i){if(D(e)){if(t===void 0){Ye(r,`Expected a value of non-null type "${e}" to be provided.`,i);return}if(t===null){Ye(r,`Expected value of non-null type "${e}" not to be null.`,i);return}return Wt(t,e.ofType,r,n,i)}if(t!=null)if(C(e))if(!le(t))Wt(t,e.ofType,r,n,i);else{let o=0;for(let s of t)Wt(s,e.ofType,r,n,be(i,o++,void 0))}else if(F(e)){if(!H(t)||Array.isArray(t)){Ye(r,`Expected value of type "${e}" to be an object, found: ${E(t)}.`,i);return}let o=e.getFields();for(let a of Object.values(o)){let c=t[a.name];c===void 0?me(a)&&Ye(r,`Expected value of type "${e}" to include required field "${a.name}", found: ${E(t)}.`,i):Wt(c,a.type,r,n,be(i,a.name,e.name))}let s=[];for(let a of Object.keys(t))if(t[a]!==void 0){if(!Object.hasOwn(o,a)){let c=n?"":ie(se(a,Object.keys(o)));Ye(r,`Expected value of type "${e}" not to include unknown field "${a}"${c?`.${c} Found`:", found"}: ${E(t)}.`,i);continue}s.push(a)}if(e.isOneOf){s.length!==1&&Ye(r,Ar(e),i);let a=s[0];t[a]===null&&Ye(r,Ar(e),be(i,a,e.name))}}else{Ee(e);let o,s;try{o=e.coerceInputValue(t,n)}catch(a){if(a instanceof d){r(a,Me(i));return}s=a}o===void 0&&Ye(r,`Expected value of type "${e}"${s!=null?`, but encountered error "${Yo(s)}"; found`:", found"}: ${E(t)}.`,i,$e(s))}}function Ye(t,e,r,n){t(new d(e,{originalError:n}),Me(r))}function wt(t,e,r,n,i,o){return Jt({static:!n&&!i,onError:r,variables:n,fragmentVariableValues:i},t,e,o,void 0)}function Jt(t,e,r,n,i){if(e.kind===u.VARIABLE){if(t.static)return;let s=Ko(t,e)?.coerced[e.name.value];D(r)&&(s===void 0?Le(t.onError,`Expected variable "$${e.name.value}" provided to type "${r}" to provide a runtime value.`,e,i):s===null&&Le(t.onError,`Expected variable "$${e.name.value}" provided to non-null type "${r}" not to be null.`,e,i));return}if(D(r)){if(e.kind===u.NULL){Le(t.onError,`Expected value of non-null type "${r}" not to be null.`,e,i);return}return Jt(t,e,r.ofType,n,i)}if(e.kind!==u.NULL)if(C(r))if(e.kind!==u.LIST)Jt(t,e,r.ofType,n,i);else{let o=0;for(let s of e.values)Jt(t,s,r.ofType,n,be(i,o++,void 0))}else if(F(r)){if(e.kind!==u.OBJECT){Le(t.onError,`Expected value of type "${r}" to be an object, found: ${V(e)}.`,e,i);return}let o=r.getFields(),s=bt(e.fields,p=>p.name.value);for(let p of Object.values(o)){let l=s[p.name];if(l===void 0)me(p)&&Le(t.onError,`Expected value of type "${r}" to include required field "${p.name}", found: ${V(e)}.`,e,i);else{let f=l.value;if(f.kind===u.VARIABLE&&!t.static){let m=Ko(t,f),T=f.name.value,y=m?.coerced[T];if(r.isOneOf)y===void 0?Le(t.onError,`Expected variable "$${T}" provided to field "${p.name}" for OneOf Input Object type "${r}" to provide a runtime value.`,e,i):y===null&&Le(t.onError,`Expected variable "$${T}" provided to field "${p.name}" for OneOf Input Object type "${r}" not to be null.`,e,i);else if(y===void 0&&!me(p))continue}Jt(t,f,p.type,n,be(i,p.name,r.name))}}let a=e.fields,c=[];for(let p of a){let l=p.name.value;if(Object.hasOwn(o,l))c.push(p);else{let f=n?"":ie(se(l,Object.keys(o)));Le(t.onError,`Expected value of type "${r}" not to include unknown field "${l}"${f?`.${f} Found`:", found"}: ${V(e)}.`,p,i)}}if(r.isOneOf){if(c.length!==1){Le(t.onError,Ar(r),e,i);return}if(c[0].value.kind===u.NULL){let f=c[0].name.value;Le(t.onError,Ar(r),e,be(i,f,void 0))}}}else{Ee(r);let o,s;try{o=r.coerceInputLiteral?r.coerceInputLiteral(st(e,t.variables,t.fragmentVariableValues),n):r.parseLiteral(e,void 0,n)}catch(a){if(a instanceof d){t.onError(a,Me(i));return}s=a}o===void 0&&Le(t.onError,`Expected value of type "${r}"${s!=null?`, but encountered error "${Yo(s)}"; found`:", found"}: ${V(e)}.`,e,i,$e(s))}}function Ko(t,e){let r=e.name.value,{fragmentVariableValues:n,variables:i}=t;return n?.sources[r]?n:i}function Le(t,e,r,n,i){t(new d(e,{nodes:r,originalError:i}),Me(n))}function Yo(t){if(H(t)){let e=t.message;if(typeof e=="string"&&e!=="")return e}return String(t)}function Ar(t){return`Within OneOf Input Object type "${t}", exactly one field must be specified, and the value for that field must be non-null.`}var v={QUERY:"QUERY",MUTATION:"MUTATION",SUBSCRIPTION:"SUBSCRIPTION",FIELD:"FIELD",FRAGMENT_DEFINITION:"FRAGMENT_DEFINITION",FRAGMENT_SPREAD:"FRAGMENT_SPREAD",INLINE_FRAGMENT:"INLINE_FRAGMENT",VARIABLE_DEFINITION:"VARIABLE_DEFINITION",FRAGMENT_VARIABLE_DEFINITION:"FRAGMENT_VARIABLE_DEFINITION",SCHEMA:"SCHEMA",SCALAR:"SCALAR",OBJECT:"OBJECT",FIELD_DEFINITION:"FIELD_DEFINITION",ARGUMENT_DEFINITION:"ARGUMENT_DEFINITION",INTERFACE:"INTERFACE",UNION:"UNION",ENUM:"ENUM",ENUM_VALUE:"ENUM_VALUE",INPUT_OBJECT:"INPUT_OBJECT",INPUT_FIELD_DEFINITION:"INPUT_FIELD_DEFINITION",DIRECTIVE_DEFINITION:"DIRECTIVE_DEFINITION"};var at=2147483647,ct=-2147483648,ue=new De({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",coerceOutputValue(t){let e=zt(t);if(typeof e=="number")return Ho(e);if(typeof e=="boolean")return e?1:0;if(typeof e=="string")return Bc(e);if(typeof e=="bigint")return Wo(e);throw new d(`Int cannot represent non-integer value: ${E(e)}`)},coerceInputValue(t){if(typeof t=="number")return Ho(t);if(typeof t=="bigint")return Wo(t);throw new d(`Int cannot represent non-integer value: ${E(t)}`)},coerceInputLiteral(t){if(t.kind!==u.INT)throw new d(`Int cannot represent non-integer value: ${V(t)}`,{nodes:t});let e=parseInt(t.value,10);if(e>at||e<ct)throw new d(`Int cannot represent non 32-bit signed integer value: ${t.value}`,{nodes:t});return e},valueToLiteral(t){if((typeof t=="number"&&Number.isInteger(t)||typeof t=="bigint")&&t<=at&&t>=ct)return{kind:u.INT,value:String(t)}}}),he=new De({name:"Float",description:"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).",coerceOutputValue(t){let e=zt(t);if(typeof e=="number")return Jo(e);if(typeof e=="boolean")return e?1:0;if(typeof e=="string")return Qc(e);if(typeof e=="bigint")return Xo(e);throw new d(`Float cannot represent non numeric value: ${E(e)}`)},coerceInputValue(t){if(typeof t=="number")return Jo(t);if(typeof t=="bigint")return Xo(t);throw new d(`Float cannot represent non numeric value: ${E(t)}`)},coerceInputLiteral(t){if(t.kind!==u.FLOAT&&t.kind!==u.INT)throw new d(`Float cannot represent non numeric value: ${V(t)}`,{nodes:t});return parseFloat(t.value)},valueToLiteral(t){let e=ot(t);if(e.kind===u.FLOAT||e.kind===u.INT)return e}}),b=new De({name:"String",description:"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",coerceOutputValue(t){let e=zt(t);if(typeof e=="string")return e;if(typeof e=="boolean")return e?"true":"false";if(typeof e=="number")return jc(e);if(typeof e=="bigint")return String(e);throw new d(`String cannot represent value: ${E(t)}`)},coerceInputValue(t){if(typeof t!="string")throw new d(`String cannot represent a non string value: ${E(t)}`);return t},coerceInputLiteral(t){if(t.kind!==u.STRING)throw new d(`String cannot represent a non string value: ${V(t)}`,{nodes:t});return t.value},valueToLiteral(t){let e=ot(t);if(e.kind===u.STRING)return e}}),Q=new De({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",coerceOutputValue(t){let e=zt(t);if(typeof e=="boolean")return e;if(typeof e=="number")return qc(e);if(typeof e=="bigint")return e!==0n;throw new d(`Boolean cannot represent a non boolean value: ${E(e)}`)},coerceInputValue(t){if(typeof t!="boolean")throw new d(`Boolean cannot represent a non boolean value: ${E(t)}`);return t},coerceInputLiteral(t){if(t.kind!==u.BOOLEAN)throw new d(`Boolean cannot represent a non boolean value: ${V(t)}`,{nodes:t});return t.value},valueToLiteral(t){let e=ot(t);if(e.kind===u.BOOLEAN)return e}}),ve=new De({name:"ID",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.',coerceOutputValue(t){let e=zt(t);if(typeof e=="string")return e;if(typeof e=="number")return An(e);if(typeof e=="bigint")return String(e);throw new d(`ID cannot represent value: ${E(t)}`)},coerceInputValue(t){if(typeof t=="string")return t;if(typeof t=="number")return An(t);if(typeof t=="bigint")return String(t);throw new d(`ID cannot represent value: ${E(t)}`)},coerceInputLiteral(t){if(t.kind!==u.STRING&&t.kind!==u.INT)throw new d("ID cannot represent a non-string and non-integer value: "+V(t),{nodes:t});return t.value},valueToLiteral(t){if(typeof t=="string")return/^-?(?:0|[1-9][0-9]*)$/.test(t)?{kind:u.INT,value:t}:{kind:u.STRING,value:t,block:!1};if(typeof t=="number")return{kind:u.INT,value:An(t)};if(typeof t=="bigint")return{kind:u.INT,value:String(t)}}}),Fr=Object.freeze([b,ue,he,Q,ve]);function zt(t){if(H(t)){if(typeof t.valueOf=="function"){let e=t.valueOf();if(!H(e))return e}if(typeof t.toJSON=="function")return t.toJSON()}return t}function Ho(t){if(!Number.isInteger(t))throw new d(`Int cannot represent non-integer value: ${E(t)}`);if(t>at||t<ct)throw new d(`Int cannot represent non 32-bit signed integer value: ${E(t)}`);return t}function Bc(t){if(t==="")throw new d(`Int cannot represent non-integer value: ${E(t)}`);let e=Number(t);if(!Number.isInteger(e))throw new d(`Int cannot represent non-integer value: ${E(t)}`);if(e>at||e<ct)throw new d(`Int cannot represent non 32-bit signed integer value: ${E(t)}`);return e}function Wo(t){if(t>at||t<ct)throw new d(`Int cannot represent non 32-bit signed integer value: ${String(t)}`);return Number(t)}function Jo(t){if(!Number.isFinite(t))throw new d(`Float cannot represent non numeric value: ${E(t)}`);return t}function Qc(t){if(t==="")throw new d(`Float cannot represent non numeric value: ${E(t)}`);let e=Number(t);if(!Number.isFinite(e))throw new d(`Float cannot represent non numeric value: ${E(t)}`);return e}function Xo(t){let e=Number(t);if(!Number.isFinite(e))throw new d(`Float cannot represent non numeric value: ${E(t)} (value is too large)`);if(BigInt(e)!==t)throw new d(`Float cannot represent non numeric value: ${E(t)} (value would lose precision)`);return e}function jc(t){if(!Number.isFinite(t))throw new d(`String cannot represent value: ${E(t)}`);return String(t)}function qc(t){if(!Number.isFinite(t))throw new d(`Boolean cannot represent a non boolean value: ${E(t)}`);return t!==0}function An(t){if(!Number.isInteger(t))throw new d(`ID cannot represent value: ${E(t)}`);return String(t)}var zo=Symbol("Directive");function Zt(t){return ne(t,zo,Re)}var Re=class{constructor(e){this.__kind=zo,this.name=fe(e.name),this.description=e.description,this.locations=e.locations,this.isRepeatable=e.isRepeatable??!1,this.deprecationReason=e.deprecationReason,this.extensions=ae(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=e.extensionASTNodes??[],Array.isArray(e.locations)||ye(!1,`@${this.name} locations must be an Array.`);let r=e.args??{};H(r)&&!Array.isArray(r)||ye(!1,`@${this.name} args must be an object with argument names as keys.`),this.args=Object.entries(r).map(([n,i])=>new xt(this,n,i))}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:Ze(this.args,e=>e.name,e=>e.toConfig()),isRepeatable:this.isRepeatable,deprecationReason:this.deprecationReason,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return"@"+this.name}toJSON(){return this.toString()}},ut=new Re({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[v.FIELD,v.FRAGMENT_SPREAD,v.INLINE_FRAGMENT],args:{if:{type:new N(Q),description:"Included when true."}}}),pt=new Re({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[v.FIELD,v.FRAGMENT_SPREAD,v.INLINE_FRAGMENT],args:{if:{type:new N(Q),description:"Skipped when true."}}}),Qe=new Re({name:"defer",description:"Directs the executor to defer this fragment when the `if` argument is true or undefined.",locations:[v.FRAGMENT_SPREAD,v.INLINE_FRAGMENT],args:{if:{type:new N(Q),description:"Deferred when true or undefined.",default:{value:!0}},label:{type:b,description:"Unique name"}}}),Ae=new Re({name:"stream",description:"Directs the executor to stream plural fields when the `if` argument is true or undefined.",locations:[v.FIELD],args:{initialCount:{default:{value:0},type:new N(ue),description:"Number of items to return immediately"},if:{type:new N(Q),description:"Stream when true or undefined.",default:{value:!0}},label:{type:b,description:"Unique name"}}}),Zo="No longer supported",Cr=new Re({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[v.FIELD_DEFINITION,v.ARGUMENT_DEFINITION,v.INPUT_FIELD_DEFINITION,v.ENUM_VALUE,v.DIRECTIVE_DEFINITION],args:{reason:{type:new N(b),description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",default:{value:Zo}}}}),es=new Re({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[v.SCALAR],args:{url:{type:new N(b),description:"The URL that specifies the behavior of this scalar."}}}),ts=new Re({name:"oneOf",description:"Indicates exactly one field must be supplied and this field must not be `null`.",locations:[v.INPUT_OBJECT],args:{}}),rs=new Re({name:"experimental_disableErrorPropagation",description:"Disables error propagation.",locations:[v.QUERY,v.MUTATION,v.SUBSCRIPTION]}),Fe=Object.freeze([ut,pt,Cr,es,ts]);function Dt(t,e){if(D(e)){let r=Dt(t,e.ofType);return r?.kind===u.NULL?null:r}if(t===null)return{kind:u.NULL};if(t===void 0)return null;if(C(e)){let r=e.ofType;if(le(t)){let n=[];for(let i of t){let o=Dt(i,r);o!=null&&n.push(o)}return{kind:u.LIST,values:n}}return Dt(t,r)}if(F(e)){if(!H(t))return null;let r=[];for(let n of Object.values(e.getFields())){let i=Dt(t[n.name],n.type);i&&r.push({kind:u.OBJECT_FIELD,name:{kind:u.NAME,value:n.name},value:i})}return{kind:u.OBJECT,fields:r}}if(ge(e)){let r=e.coerceOutputValue(t);if(r==null)return null;if(typeof r=="boolean")return{kind:u.BOOLEAN,value:r};if(typeof r=="number"&&Number.isFinite(r)){let n=String(r);return ns.test(n)?{kind:u.INT,value:n}:{kind:u.FLOAT,value:n}}if(typeof r=="bigint")return{kind:u.INT,value:String(r)};if(typeof r=="string")return J(e)?{kind:u.ENUM,value:r}:e===ve&&ns.test(r)?{kind:u.INT,value:r}:{kind:u.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${E(r)}.`)}L(!1,"Unexpected input type: "+E(e))}var ns=/^-?(?:0|[1-9][0-9]*)$/;function is(t){let e=t.type,r=t.default;if(r){let i=r.literal??Ke(r.value,e);return i==null&&L(!1,"Invalid default value"),i}let n=t.defaultValue;if(n!==void 0){let i=Dt(n,e);return i==null&&L(!1,"Invalid default value"),i}}var er=new z({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:b,resolve:t=>t.description},types:{description:"A list of all types supported by this server.",type:new N(new B(new N(Se))),resolve(t){return Object.values(t.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new N(Se),resolve:t=>t.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:Se,resolve:t=>t.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:Se,resolve:t=>t.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new N(new B(new N(Fn))),args:{includeDeprecated:{type:new N(Q),default:{value:!1}}},resolve:(t,{includeDeprecated:e})=>e===!0?t.getDirectives():t.getDirectives().filter(r=>r.deprecationReason==null)}})}),Fn=new z({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
|
|
47
47
|
|
|
48
|
-
In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.`,fields:()=>({name:{type:new N(b),resolve:t=>t.name},description:{type:b,resolve:t=>t.description},isRepeatable:{type:new N(Q),resolve:t=>t.isRepeatable},locations:{type:new N(new B(new N(Fn))),resolve:t=>t.locations},args:{type:new N(new B(new N(tr))),args:{includeDeprecated:{type:new N(Q),default:{value:!1}}},resolve(t,{includeDeprecated:e}){return e===!0?t.args:t.args.filter(r=>r.deprecationReason==null)}},isDeprecated:{type:new N(Q),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:b,resolve:t=>t.deprecationReason}})}),Fn=new Pe({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:v.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:v.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:v.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:v.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:v.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:v.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:v.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:v.VARIABLE_DEFINITION,description:"Location adjacent to an operation variable definition."},FRAGMENT_VARIABLE_DEFINITION:{value:v.FRAGMENT_VARIABLE_DEFINITION,description:"Location adjacent to a fragment variable definition."},SCHEMA:{value:v.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:v.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:v.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:v.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:v.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:v.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:v.UNION,description:"Location adjacent to a union definition."},ENUM:{value:v.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:v.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:v.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:v.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."},DIRECTIVE_DEFINITION:{value:v.DIRECTIVE_DEFINITION,description:"Location adjacent to a directive definition."}}}),Se=new z({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new N(Pn),resolve(t){if(Le(t))return re.SCALAR;if(k(t))return re.OBJECT;if(P(t))return re.INTERFACE;if(ee(t))return re.UNION;if(J(t))return re.ENUM;if(F(t))return re.INPUT_OBJECT;if(C(t))return re.LIST;if(D(t))return re.NON_NULL;L(!1,`Unexpected type: "${E(t)}".`)}},name:{type:b,resolve:t=>"name"in t?t.name:void 0},description:{type:b,resolve:t=>"description"in t?t.description:void 0},specifiedByURL:{type:b,resolve:t=>"specifiedByURL"in t?t.specifiedByURL:void 0},fields:{type:new B(new N(Cn)),args:{includeDeprecated:{type:new N(Q),default:{value:!1}}},resolve(t,{includeDeprecated:e}){if(k(t)||P(t)){let r=Object.values(t.getFields());return e===!0?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new B(new N(Se)),resolve(t){if(k(t)||P(t))return t.getInterfaces()}},possibleTypes:{type:new B(new N(Se)),resolve(t,e,r,{schema:n}){if(ce(t))return n.getPossibleTypes(t)}},enumValues:{type:new B(new N(kn)),args:{includeDeprecated:{type:new N(Q),default:{value:!1}}},resolve(t,{includeDeprecated:e}){if(J(t)){let r=t.getValues();return e===!0?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new B(new N(tr)),args:{includeDeprecated:{type:new N(Q),default:{value:!1}}},resolve(t,{includeDeprecated:e}){if(F(t)){let r=Object.values(t.getFields());return e===!0?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:Se,resolve:t=>"ofType"in t?t.ofType:void 0},isOneOf:{type:Q,resolve:t=>{if(F(t))return t.isOneOf}}})}),Cn=new z({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new N(b),resolve:t=>t.name},description:{type:b,resolve:t=>t.description},args:{type:new N(new B(new N(tr))),args:{includeDeprecated:{type:new N(Q),default:{value:!1}}},resolve(t,{includeDeprecated:e}){return e===!0?t.args:t.args.filter(r=>r.deprecationReason==null)}},type:{type:new N(Se),resolve:t=>t.type},isDeprecated:{type:new N(Q),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:b,resolve:t=>t.deprecationReason}})}),tr=new z({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new N(b),resolve:t=>t.name},description:{type:b,resolve:t=>t.description},type:{type:new N(Se),resolve:t=>t.type},defaultValue:{type:b,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(t){let e=rs(t);return e?V(e):null}},isDeprecated:{type:new N(Q),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:b,resolve:t=>t.deprecationReason}})}),kn=new z({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new N(b),resolve:t=>t.name},description:{type:b,resolve:t=>t.description},isDeprecated:{type:new N(Q),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:b,resolve:t=>t.deprecationReason}})}),re={SCALAR:"SCALAR",OBJECT:"OBJECT",INTERFACE:"INTERFACE",UNION:"UNION",ENUM:"ENUM",INPUT_OBJECT:"INPUT_OBJECT",LIST:"LIST",NON_NULL:"NON_NULL"},Pn=new Pe({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:re.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:re.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:re.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:re.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:re.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:re.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:re.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:re.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),kr=new rt(void 0,"__schema",{type:new N(er),description:"Access the current type schema of this server.",resolve:(t,e,r,{schema:n})=>n}),Pr=new rt(void 0,"__type",{type:Se,description:"Request the type information of a single type.",args:{name:{type:new N(b)}},resolve:(t,{name:e},r,{schema:n})=>n.getType(e)}),Mr=new rt(void 0,"__typename",{type:new N(b),description:"The name of the current Object type at runtime.",resolve:(t,e,r,{parentType:n})=>n.name}),Vr=Object.freeze([er,An,Fn,Se,Cn,tr,kn,Pn]);function Mn(t){return Vr.some(({name:e})=>t.name===e)}function Vn(t){return ne(t,ns,lt)}function Ur(t){if(!Vn(t))throw new Error(`Expected ${E(t)} to be a GraphQL schema.`);return t}var ns=Symbol("Schema"),lt=class{constructor(e){this.__kind=ns,this.assumeValid=e.assumeValid??!1,this.__validationErrors=e.assumeValid===!0?[]:void 0,this.description=e.description,this.extensions=ae(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=e.extensionASTNodes??[],this._queryType=e.query,this._mutationType=e.mutation,this._subscriptionType=e.subscription,this._directives=e.directives??Fe;let r=new Set(e.types);if(e.types!=null)for(let n of e.types)r.delete(n),Ce(n,r);this._queryType!=null&&Ce(this._queryType,r),this._mutationType!=null&&Ce(this._mutationType,r),this._subscriptionType!=null&&Ce(this._subscriptionType,r);for(let n of this._directives)if(Zt(n))for(let i of n.args)Ce(i.type,r);Ce(er,r),this._typeMap=Object.create(null),this._subTypeMap=new Map,this._implementationsMap=Object.create(null);for(let n of r){if(n==null)continue;let i=n.name;if(this._typeMap[i]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${i}".`);if(this._typeMap[i]=n,P(n)){for(let o of n.getInterfaces())if(P(o)){let s=this._implementationsMap[o.name];s??=this._implementationsMap[o.name]={objects:[],interfaces:[]},s.interfaces.push(n)}}else if(k(n)){for(let o of n.getInterfaces())if(P(o)){let s=this._implementationsMap[o.name];s??=this._implementationsMap[o.name]={objects:[],interfaces:[]},s.objects.push(n)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(e){switch(e){case G.QUERY:return this.getQueryType();case G.MUTATION:return this.getMutationType();case G.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(e){return this.getTypeMap()[e]}getPossibleTypes(e){return ee(e)?e.getTypes():this.getImplementations(e).objects}getImplementations(e){return this._implementationsMap[e.name]??{objects:[],interfaces:[]}}isSubType(e,r){let n=this._subTypeMap.get(e);if(n===void 0){if(ee(e))n=new Set(e.getTypes());else{let i=this.getImplementations(e);n=new Set([...i.objects,...i.interfaces])}this._subTypeMap.set(e,n)}return n.has(r)}getDirectives(){return this._directives}getDirective(e){return this.getDirectives().find(r=>r.name===e)}getField(e,r){switch(r){case kr.name:return this.getQueryType()===e?kr:void 0;case Pr.name:return this.getQueryType()===e?Pr:void 0;case Mr.name:return Mr}if("getFields"in e)return e.getFields()[r]}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:this.assumeValid}}};function Ce(t,e){let r=te(t);if(!e.has(r)){if(e.add(r),ee(r))for(let n of r.getTypes())Ce(n,e);else if(k(r)||P(r)){for(let n of r.getInterfaces())Ce(n,e);for(let n of Object.values(r.getFields())){Ce(n.type,e);for(let i of n.args)Ce(i.type,e)}}else if(F(r))for(let n of Object.values(r.getFields()))Ce(n.type,e)}return e}function $n(t){if(Ur(t),t.__validationErrors)return t.__validationErrors;let e=new Un(t);jc(e),qc(e),Kc(e);let r=e.getErrors();return t.__validationErrors=r,r}function Lt(t){let e=$n(t);if(e.length!==0)throw new Error(e.map(r=>r.message).join(`
|
|
48
|
+
In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.`,fields:()=>({name:{type:new N(b),resolve:t=>t.name},description:{type:b,resolve:t=>t.description},isRepeatable:{type:new N(Q),resolve:t=>t.isRepeatable},locations:{type:new N(new B(new N(Cn))),resolve:t=>t.locations},args:{type:new N(new B(new N(tr))),args:{includeDeprecated:{type:new N(Q),default:{value:!1}}},resolve(t,{includeDeprecated:e}){return e===!0?t.args:t.args.filter(r=>r.deprecationReason==null)}},isDeprecated:{type:new N(Q),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:b,resolve:t=>t.deprecationReason}})}),Cn=new Pe({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:v.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:v.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:v.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:v.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:v.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:v.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:v.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:v.VARIABLE_DEFINITION,description:"Location adjacent to an operation variable definition."},FRAGMENT_VARIABLE_DEFINITION:{value:v.FRAGMENT_VARIABLE_DEFINITION,description:"Location adjacent to a fragment variable definition."},SCHEMA:{value:v.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:v.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:v.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:v.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:v.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:v.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:v.UNION,description:"Location adjacent to a union definition."},ENUM:{value:v.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:v.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:v.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:v.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."},DIRECTIVE_DEFINITION:{value:v.DIRECTIVE_DEFINITION,description:"Location adjacent to a directive definition."}}}),Se=new z({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new N(Mn),resolve(t){if(_e(t))return re.SCALAR;if(k(t))return re.OBJECT;if(P(t))return re.INTERFACE;if(ee(t))return re.UNION;if(J(t))return re.ENUM;if(F(t))return re.INPUT_OBJECT;if(C(t))return re.LIST;if(D(t))return re.NON_NULL;L(!1,`Unexpected type: "${E(t)}".`)}},name:{type:b,resolve:t=>"name"in t?t.name:void 0},description:{type:b,resolve:t=>"description"in t?t.description:void 0},specifiedByURL:{type:b,resolve:t=>"specifiedByURL"in t?t.specifiedByURL:void 0},fields:{type:new B(new N(kn)),args:{includeDeprecated:{type:new N(Q),default:{value:!1}}},resolve(t,{includeDeprecated:e}){if(k(t)||P(t)){let r=Object.values(t.getFields());return e===!0?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new B(new N(Se)),resolve(t){if(k(t)||P(t))return t.getInterfaces()}},possibleTypes:{type:new B(new N(Se)),resolve(t,e,r,{schema:n}){if(ce(t))return n.getPossibleTypes(t)}},enumValues:{type:new B(new N(Pn)),args:{includeDeprecated:{type:new N(Q),default:{value:!1}}},resolve(t,{includeDeprecated:e}){if(J(t)){let r=t.getValues();return e===!0?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new B(new N(tr)),args:{includeDeprecated:{type:new N(Q),default:{value:!1}}},resolve(t,{includeDeprecated:e}){if(F(t)){let r=Object.values(t.getFields());return e===!0?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:Se,resolve:t=>"ofType"in t?t.ofType:void 0},isOneOf:{type:Q,resolve:t=>{if(F(t))return t.isOneOf}}})}),kn=new z({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new N(b),resolve:t=>t.name},description:{type:b,resolve:t=>t.description},args:{type:new N(new B(new N(tr))),args:{includeDeprecated:{type:new N(Q),default:{value:!1}}},resolve(t,{includeDeprecated:e}){return e===!0?t.args:t.args.filter(r=>r.deprecationReason==null)}},type:{type:new N(Se),resolve:t=>t.type},isDeprecated:{type:new N(Q),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:b,resolve:t=>t.deprecationReason}})}),tr=new z({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new N(b),resolve:t=>t.name},description:{type:b,resolve:t=>t.description},type:{type:new N(Se),resolve:t=>t.type},defaultValue:{type:b,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(t){let e=is(t);return e?V(e):null}},isDeprecated:{type:new N(Q),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:b,resolve:t=>t.deprecationReason}})}),Pn=new z({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new N(b),resolve:t=>t.name},description:{type:b,resolve:t=>t.description},isDeprecated:{type:new N(Q),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:b,resolve:t=>t.deprecationReason}})}),re={SCALAR:"SCALAR",OBJECT:"OBJECT",INTERFACE:"INTERFACE",UNION:"UNION",ENUM:"ENUM",INPUT_OBJECT:"INPUT_OBJECT",LIST:"LIST",NON_NULL:"NON_NULL"},Mn=new Pe({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:re.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:re.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:re.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:re.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:re.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:re.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:re.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:re.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),kr=new rt(void 0,"__schema",{type:new N(er),description:"Access the current type schema of this server.",resolve:(t,e,r,{schema:n})=>n}),Pr=new rt(void 0,"__type",{type:Se,description:"Request the type information of a single type.",args:{name:{type:new N(b)}},resolve:(t,{name:e},r,{schema:n})=>n.getType(e)}),Mr=new rt(void 0,"__typename",{type:new N(b),description:"The name of the current Object type at runtime.",resolve:(t,e,r,{parentType:n})=>n.name}),Vr=Object.freeze([er,Fn,Cn,Se,kn,tr,Pn,Mn]);function Vn(t){return Vr.some(({name:e})=>t.name===e)}function Un(t){return ne(t,os,lt)}function Ur(t){if(!Un(t))throw new Error(`Expected ${E(t)} to be a GraphQL schema.`);return t}var os=Symbol("Schema"),lt=class{constructor(e){this.__kind=os,this.assumeValid=e.assumeValid??!1,this.__validationErrors=e.assumeValid===!0?[]:void 0,this.description=e.description,this.extensions=ae(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=e.extensionASTNodes??[],this._queryType=e.query,this._mutationType=e.mutation,this._subscriptionType=e.subscription,this._directives=e.directives??Fe;let r=new Set(e.types);if(e.types!=null)for(let n of e.types)r.delete(n),Ce(n,r);this._queryType!=null&&Ce(this._queryType,r),this._mutationType!=null&&Ce(this._mutationType,r),this._subscriptionType!=null&&Ce(this._subscriptionType,r);for(let n of this._directives)if(Zt(n))for(let i of n.args)Ce(i.type,r);Ce(er,r),this._typeMap=Object.create(null),this._subTypeMap=new Map,this._implementationsMap=Object.create(null);for(let n of r){if(n==null)continue;let i=n.name;if(this._typeMap[i]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${i}".`);if(this._typeMap[i]=n,P(n)){for(let o of n.getInterfaces())if(P(o)){let s=this._implementationsMap[o.name];s??=this._implementationsMap[o.name]={objects:[],interfaces:[]},s.interfaces.push(n)}}else if(k(n)){for(let o of n.getInterfaces())if(P(o)){let s=this._implementationsMap[o.name];s??=this._implementationsMap[o.name]={objects:[],interfaces:[]},s.objects.push(n)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(e){switch(e){case G.QUERY:return this.getQueryType();case G.MUTATION:return this.getMutationType();case G.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(e){return this.getTypeMap()[e]}getPossibleTypes(e){return ee(e)?e.getTypes():this.getImplementations(e).objects}getImplementations(e){return this._implementationsMap[e.name]??{objects:[],interfaces:[]}}isSubType(e,r){let n=this._subTypeMap.get(e);if(n===void 0){if(ee(e))n=new Set(e.getTypes());else{let i=this.getImplementations(e);n=new Set([...i.objects,...i.interfaces])}this._subTypeMap.set(e,n)}return n.has(r)}getDirectives(){return this._directives}getDirective(e){return this.getDirectives().find(r=>r.name===e)}getField(e,r){switch(r){case kr.name:return this.getQueryType()===e?kr:void 0;case Pr.name:return this.getQueryType()===e?Pr:void 0;case Mr.name:return Mr}if("getFields"in e)return e.getFields()[r]}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:this.assumeValid}}};function Ce(t,e){let r=te(t);if(!e.has(r)){if(e.add(r),ee(r))for(let n of r.getTypes())Ce(n,e);else if(k(r)||P(r)){for(let n of r.getInterfaces())Ce(n,e);for(let n of Object.values(r.getFields())){Ce(n.type,e);for(let i of n.args)Ce(i.type,e)}}else if(F(r))for(let n of Object.values(r.getFields()))Ce(n.type,e)}return e}function Gn(t){if(Ur(t),t.__validationErrors)return t.__validationErrors;let e=new $n(t);Kc(e),Yc(e),Hc(e);let r=e.getErrors();return t.__validationErrors=r,r}function _t(t){let e=Gn(t);if(e.length!==0)throw new Error(e.map(r=>r.message).join(`
|
|
49
49
|
|
|
50
|
-
`))}var Un=class{constructor(e){this._errors=[],this.schema=e}reportError(e,r){let n=Array.isArray(r)?r.filter(Boolean):r;this._errors.push(new d(e,{nodes:n}))}getErrors(){return this._errors}};function jc(t){let e=t.schema;e.getQueryType()==null&&t.reportError("Query root type must be provided.",e.astNode);let r=new Ge;for(let n of Object.values(G)){let i=e.getRootType(n);if(i!=null)if(k(i))r.add(i,n);else{let o=Ro(n),s=E(i);t.reportError(n===G.QUERY?`${o} root type must be Object type, it cannot be ${s}.`:`${o} root type must be Object type if provided, it cannot be ${s}.`,is(e,n)??i.astNode)}}for(let[n,i]of r)if(i.length>1){let o=Oo(i);t.reportError(`All root types must be different, "${n}" type is used as ${o} root types.`,i.map(s=>is(e,s)))}}function is(t,e){return[t.astNode,...t.extensionASTNodes].flatMap(r=>r?.operationTypes??[]).find(r=>r.operation===e)?.type}function qc(t){for(let e of t.schema.getDirectives()){if(!Zt(e)){t.reportError(`Expected directive but got: ${E(e)}.`,e?.astNode);continue}ft(t,e),e.locations.length===0&&t.reportError(`Directive ${e} must include 1 or more locations.`,e.astNode);for(let r of e.args)ft(t,r),Z(r.type)||t.reportError(`The type of ${r} must be Input Type but got: ${E(r.type)}.`,r.astNode),Ne(r)&&r.deprecationReason!=null&&t.reportError(`Required argument ${r} cannot be deprecated.`,[$r(r.astNode),r.astNode?.type]),Gn(t,r)}}function Gn(t,e){let r=e.default;if(!r)return;let n=[];if(Bn(r,e.type,(i,o)=>{n.push([i,o])}),n.length!==0){if(!r.literal)try{let i=rr(r.value,e.type),o=[];if(Xt(i,e.type,(s,a)=>{o.push([s,a])}),o.length===0){t.reportError(`${e} has invalid default value: ${E(r.value)}. Did you mean: ${E(i)}?`,e.astNode?.defaultValue);return}}catch{}for(let[i,o]of n)t.reportError(`${e} has invalid default value${ze(o)}: ${i.message}`,i.nodes??e.astNode?.defaultValue)}}function Bn(t,e,r,n){if(t.literal){wt(t.literal,e,r,void 0,void 0,n);return}Xt(t.value,e,r,n)}function rr(t,e){if(D(e))return rr(t,e.ofType);if(t===null)return null;if(C(e))return le(t)?Array.from(t,r=>rr(r,e.ofType)):[rr(t,e.ofType)];if(F(e)){H(t)||L(!1);let r=e.getFields();return ke(t,(n,i)=>(i in r||L(!1),rr(n,r[i].type)))}return Ee(e),e.coerceOutputValue(t)}function ft(t,e){e.name.startsWith("__")&&t.reportError(`Name "${e.name}" must not begin with "__", which is reserved by GraphQL introspection.`,e.astNode)}function Kc(t){let e=tu(t),r=t.schema.getTypeMap(),n=new Map;for(let o of Object.values(r)){if(!Dr(o)){t.reportError(`Expected GraphQL named type but got: ${E(o)}.`,o.astNode);continue}Mn(o)||ft(t,o),k(o)||P(o)?(os(t,o),ss(t,o)):ee(o)?Wc(t,o):J(o)?Jc(t,o):F(o)&&(Xc(t,o),i(o),e(o))}Zc(t,n);function i(o){n.set(o,{inputObj:o,targets:[],dependents:[],unresolvedTargetCount:0,hasFiniteValue:!1})}}function os(t,e){let r=Object.values(e.getFields());r.length===0&&t.reportError(`Type ${e} must define one or more fields.`,[e.astNode,...e.extensionASTNodes]);for(let n of r){ft(t,n),Be(n.type)||t.reportError(`The type of ${n} must be Output Type but got: ${E(n.type)}.`,n.astNode?.type);for(let i of n.args)ft(t,i),Z(i.type)||t.reportError(`The type of ${i} must be Input Type but got: ${E(i.type)}.`,i.astNode?.type),Ne(i)&&i.deprecationReason!=null&&t.reportError(`Required argument ${i} cannot be deprecated.`,[$r(i.astNode),i.astNode?.type]),Gn(t,i)}}function ss(t,e){let r=new Set;for(let n of e.getInterfaces()){if(!P(n)){t.reportError(`Type ${e} must only implement Interface types, it cannot implement ${E(n)}.`,nr(e,n));continue}if(e===n){t.reportError(`Type ${e} cannot implement itself because it would create a circular reference.`,nr(e,n));continue}if(r.has(n.name)){t.reportError(`Type ${e} can only implement ${n} once.`,nr(e,n));continue}r.add(n.name),Hc(t,e,n),Yc(t,e,n)}}function Yc(t,e,r){let n=e.getFields();for(let i of Object.values(r.getFields())){let o=n[i.name];if(o==null){t.reportError(`Interface field ${i} expected but ${e} does not provide it.`,[i.astNode,e.astNode,...e.extensionASTNodes]);continue}qe(t.schema,o.type,i.type)||t.reportError(`Interface field ${i} expects type ${i.type} but ${o} is type ${o.type}.`,[i.astNode?.type,o.astNode?.type]);for(let s of i.args){let a=o.args.find(c=>c.name===s.name);if(!a){t.reportError(`Interface field argument ${s} expected but ${o} does not provide it.`,[s.astNode,o.astNode]);continue}_r(s.type,a.type)||t.reportError(`Interface field argument ${s} expects type ${s.type} but ${a} is type ${a.type}.`,[s.astNode?.type,a.astNode?.type])}for(let s of o.args)Ne(s)&&(i.args.find(c=>c.name===s.name)||t.reportError(`Argument "${s}" must not be required type "${s.type}" if not provided by the Interface field "${i}".`,[s.astNode,i.astNode]));o.deprecationReason!=null&&i.deprecationReason==null&&t.reportError(`Interface field ${r.name}.${i.name} is not deprecated, so implementation field ${e.name}.${o.name} must not be deprecated.`,[$r(o.astNode),o.astNode?.type])}}function Hc(t,e,r){let n=e.getInterfaces();for(let i of r.getInterfaces())n.includes(i)||t.reportError(i===e?`Type ${e} cannot implement ${r} because it would create a circular reference.`:`Type ${e} must implement ${i} because it is implemented by ${r}.`,[...nr(r,i),...nr(e,r)])}function Wc(t,e){let r=e.getTypes();r.length===0&&t.reportError(`Union type ${e} must define one or more member types.`,[e.astNode,...e.extensionASTNodes]);let n=new Set;for(let i of r){if(n.has(i.name)){t.reportError(`Union type ${e} can only include type ${i} once.`,as(e,i.name));continue}n.add(i.name),k(i)||t.reportError(`Union type ${e} can only include Object types, it cannot include ${E(i)}.`,as(e,String(i)))}}function Jc(t,e){let r=e.getValues();r.length===0&&t.reportError(`Enum type ${e} must define one or more values.`,[e.astNode,...e.extensionASTNodes]);for(let n of r)ft(t,n)}function Xc(t,e){let r=Object.values(e.getFields());r.length===0&&t.reportError(`Input Object type ${e} must define one or more fields.`,[e.astNode,...e.extensionASTNodes]);for(let n of r)ft(t,n),Z(n.type)||t.reportError(`The type of ${n} must be Input Type but got: ${E(n.type)}.`,n.astNode?.type),me(n)&&n.deprecationReason!=null&&t.reportError(`Required input field ${n} cannot be deprecated.`,[$r(n.astNode),n.astNode?.type]),Gn(t,n),e.isOneOf&&zc(e,n,t)}function zc(t,e,r){D(e.type)&&r.reportError(`OneOf input field ${t}.${e.name} must be nullable.`,e.astNode?.type),(e.default!==void 0||e.defaultValue!==void 0)&&r.reportError(`OneOf input field ${t}.${e.name} cannot have a default value.`,e.astNode)}function Zc(t,e){let r=[];for(let p of e.values()){let l=p.inputObj,f=Object.values(l.getFields());for(let m of f){let T=eu(l,m.type);if(T===void 0)continue;p.targets.push({field:m,target:T});let y=e.get(T);y!==void 0&&y.dependents.push(p)}l.isOneOf?(f.length===0||p.targets.length<f.length)&&a(p):(p.unresolvedTargetCount=p.targets.length,p.targets.length===0&&a(p))}let n;for(;(n=r.pop())!==void 0;)for(let p of n.dependents)if(!p.hasFiniteValue){if(p.inputObj.isOneOf){a(p);continue}--p.unresolvedTargetCount,p.unresolvedTargetCount===0&&a(p)}let i=new Set,o=[],s=new Map;for(let p of e.values())p.hasFiniteValue||c(p);function a(p){p.hasFiniteValue||(p.hasFiniteValue=!0,r.push(p))}function c(p){let l=p.inputObj;if(!i.has(l)){i.add(l),s.set(l,o.length);for(let{field:f,target:m}of p.targets){let T=e.get(m);if(T?.hasFiniteValue!==!1)continue;let y=s.get(m);if(o.push({fieldStr:`${l}.${f.name}`,astNode:f.astNode}),y===void 0)c(T);else{let O=o.slice(y),S=O.map(_=>_.fieldStr).join(", ");t.reportError(`Input Object ${m} cannot be provided a finite value because it references itself through fields: ${S}.`,O.map(_=>_.astNode))}o.pop()}s.delete(l)}}}function eu(t,e){if(t.isOneOf)return F(e)?e:void 0;if(D(e)&&F(e.ofType))return e.ofType}function tu(t){let e=Object.create(null),r=[],n=Object.create(null);return function(c){return i(c,Object.create(null))};function i(a,c){if(le(c)){for(let p of c)i(a,p);return}else if(!H(c))return;for(let p of Object.values(a.getFields())){let l=te(p.type);F(l)&&(Object.hasOwn(c,p.name)?i(l,c[p.name]):s(p,l,`${a}.${p.name}`))}}function o(a,c){if(c.kind===u.LIST){for(let l of c.values)o(a,l);return}else if(c.kind!==u.OBJECT)return;let p=bt(c.fields,l=>l.name.value);for(let l of Object.values(a.getFields())){let f=te(l.type);F(f)&&(Object.hasOwn(p,l.name)?o(f,p[l.name].value):s(l,f,`${a}.${l.name}`))}}function s(a,c,p){let l=a.default;if(l===void 0)return;let f=n[p];if(f!==void 0){t.reportError(`Invalid circular reference. The default value of Input Object field ${p} references itself${f<r.length?` via the default values of: ${r.slice(f).map(([m])=>m).join(", ")}`:""}.`,r.slice(f-1).map(([,m])=>m));return}e[p]===void 0&&(e[p]=!0,n[p]=r.push([p,a.astNode?.defaultValue]),l.literal?o(c,l.literal):i(c,l.value),r.pop(),n[p]=void 0)}}function nr(t,e){let{astNode:r,extensionASTNodes:n}=t;return(r!=null?[r,...n]:n).flatMap(o=>o.interfaces??[]).filter(o=>o.name.value===e.name)}function as(t,e){let{astNode:r,extensionASTNodes:n}=t;return(r!=null?[r,...n]:n).flatMap(o=>o.types??[]).filter(o=>o.name.value===e)}function $r(t){return t?.directives?.find(e=>e.name.value===Cr.name)}function q(t,e,r){return new d(`Syntax Error: ${r}`,{source:t,positions:[e]})}function ru(){let t;try{let e=globalThis.process;typeof e?.getBuiltinModule=="function"&&(t=e.getBuiltinModule("node:diagnostics_channel"))}catch{}return t}var dt=ru(),Qn=dt?.tracingChannel("graphql:parse"),jn=dt?.tracingChannel("graphql:validate"),qn=dt?.tracingChannel("graphql:execute"),cs=dt?.tracingChannel("graphql:execute:variableCoercion"),Kn=dt?.tracingChannel("graphql:execute:rootSelectionSet"),nu=dt?.tracingChannel("graphql:subscribe"),mt=dt?.tracingChannel("graphql:resolve"),iu=["start","end","asyncStart","asyncEnd","error"];function Oe(t){if(t==null)return!1;let e=t.hasSubscribers;if(e!==void 0)return e;for(let r of iu)if(t[r].hasSubscribers)return!0;return!1}function _t(t,e,r){let n=e;return t.start.runStores(n,()=>{let i;try{i=r()}catch(o){throw n.error=o,t.error.publish(n),t.end.publish(n),o}return de(i)?(t.end.publish(n),i.then(o=>(n.result=o,t.asyncStart.publish(n),t.asyncEnd.publish(n),o),o=>{throw n.error=o,t.error.publish(n),t.asyncStart.publish(n),t.asyncEnd.publish(n),o})):(n.result=i,t.end.publish(n),i)})}var h={SOF:"<SOF>",EOF:"<EOF>",BANG:"!",DOLLAR:"$",AMP:"&",PAREN_L:"(",PAREN_R:")",DOT:".",SPREAD:"...",COLON:":",EQUALS:"=",AT:"@",BRACKET_L:"[",BRACKET_R:"]",BRACE_L:"{",PIPE:"|",BRACE_R:"}",NAME:"Name",INT:"Int",FLOAT:"Float",STRING:"String",BLOCK_STRING:"BlockString",COMMENT:"Comment"};var or=class{constructor(e){let r=new vt(h.SOF,0,0,0,0);this.source=e,this.lastToken=r,this.token=r,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){return this.lastToken=this.token,this.token=this.lookahead()}lookahead(){let e=this.token;if(e.kind!==h.EOF)do if(e.next)e=e.next;else{let r=ou(this,e.end);e.next=r,r.prev=e,e=r}while(e.kind===h.COMMENT);return e}};function ps(t){return t===h.BANG||t===h.DOLLAR||t===h.AMP||t===h.PAREN_L||t===h.PAREN_R||t===h.DOT||t===h.SPREAD||t===h.COLON||t===h.EQUALS||t===h.AT||t===h.BRACKET_L||t===h.BRACKET_R||t===h.BRACE_L||t===h.PIPE||t===h.BRACE_R}function At(t){return t>=0&&t<=55295||t>=57344&&t<=1114111}function Br(t,e){return ls(t.charCodeAt(e))&&fs(t.charCodeAt(e+1))}function ls(t){return t>=55296&&t<=56319}function fs(t){return t>=56320&&t<=57343}function ht(t,e){let r=t.source.body.codePointAt(e);if(r===void 0)return h.EOF;if(r>=32&&r<=126){let n=String.fromCodePoint(r);return n==='"'?`'"'`:`"${n}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}function X(t,e,r,n,i){let o=t.line,s=1+r-t.lineStart;return new vt(e,r,n,o,s,i)}function ou(t,e){let r=t.source.body,n=r.length,i=e;for(;i<n;){let o=r.charCodeAt(i);switch(o){case 65279:case 9:case 32:case 44:++i;continue;case 10:++i,++t.line,t.lineStart=i;continue;case 13:r.charCodeAt(i+1)===10?i+=2:++i,++t.line,t.lineStart=i;continue;case 35:return su(t,i);case 33:return X(t,h.BANG,i,i+1);case 36:return X(t,h.DOLLAR,i,i+1);case 38:return X(t,h.AMP,i,i+1);case 40:return X(t,h.PAREN_L,i,i+1);case 41:return X(t,h.PAREN_R,i,i+1);case 46:{let s=r.charCodeAt(i+1);if(s===46&&r.charCodeAt(i+2)===46)return X(t,h.SPREAD,i,i+3);if(s===46)throw q(t.source,i,'Unexpected "..", did you mean "..."?');if(et(s)){let a=t.source.body.slice(i+1,Gr(t,i+1,s));throw q(t.source,i,`Invalid number, expected digit before ".", did you mean "0.${a}"?`)}break}case 58:return X(t,h.COLON,i,i+1);case 61:return X(t,h.EQUALS,i,i+1);case 64:return X(t,h.AT,i,i+1);case 91:return X(t,h.BRACKET_L,i,i+1);case 93:return X(t,h.BRACKET_R,i,i+1);case 123:return X(t,h.BRACE_L,i,i+1);case 124:return X(t,h.PIPE,i,i+1);case 125:return X(t,h.BRACE_R,i,i+1);case 34:return r.charCodeAt(i+1)===34&&r.charCodeAt(i+2)===34?fu(t,i):cu(t,i)}if(et(o)||o===45)return au(t,i,o);if(jt(o))return du(t,i);throw q(t.source,i,o===39?`Unexpected single quote character ('), did you mean to use a double quote (")?`:At(o)||Br(r,i)?`Unexpected character: ${ht(t,i)}.`:`Invalid character: ${ht(t,i)}.`)}return X(t,h.EOF,n,n)}function su(t,e){let r=t.source.body,n=r.length,i=e+1;for(;i<n;){let o=r.charCodeAt(i);if(o===10||o===13)break;if(At(o))++i;else if(Br(r,i))i+=2;else break}return X(t,h.COMMENT,e,i,r.slice(e+1,i))}function au(t,e,r){let n=t.source.body,i=e,o=r,s=!1;if(o===45&&(o=n.charCodeAt(++i)),o===48){if(o=n.charCodeAt(++i),et(o))throw q(t.source,i,`Invalid number, unexpected digit after 0: ${ht(t,i)}.`)}else i=Gr(t,i,o),o=n.charCodeAt(i);if(o===46&&(s=!0,o=n.charCodeAt(++i),i=Gr(t,i,o),o=n.charCodeAt(i)),(o===69||o===101)&&(s=!0,o=n.charCodeAt(++i),(o===43||o===45)&&(o=n.charCodeAt(++i)),i=Gr(t,i,o),o=n.charCodeAt(i)),o===46||jt(o))throw q(t.source,i,`Invalid number, expected digit but got: ${ht(t,i)}.`);return X(t,s?h.FLOAT:h.INT,e,i,n.slice(e,i))}function Gr(t,e,r){if(!et(r))throw q(t.source,e,`Invalid number, expected digit but got: ${ht(t,e)}.`);let n=t.source.body,i=e+1;for(;et(n.charCodeAt(i));)++i;return i}function cu(t,e){let r=t.source.body,n=r.length,i=e+1,o=i,s="";for(;i<n;){let a=r.charCodeAt(i);if(a===34)return s+=r.slice(o,i),X(t,h.STRING,e,i+1,s);if(a===92){s+=r.slice(o,i);let c=r.charCodeAt(i+1)===117?r.charCodeAt(i+2)===123?uu(t,i):pu(t,i):lu(t,i);s+=c.value,i+=c.size,o=i;continue}if(a===10||a===13)break;if(At(a))++i;else if(Br(r,i))i+=2;else throw q(t.source,i,`Invalid character within String: ${ht(t,i)}.`)}throw q(t.source,i,"Unterminated string.")}function uu(t,e){let r=t.source.body,n=0,i=3;for(;i<12;){let o=r.charCodeAt(e+i++);if(o===125){if(i<5||!At(n))break;return{value:String.fromCodePoint(n),size:i}}if(n=n<<4|ir(o),n<0)break}throw q(t.source,e,`Invalid Unicode escape sequence: "${r.slice(e,e+i)}".`)}function pu(t,e){let r=t.source.body,n=us(r,e+2);if(At(n))return{value:String.fromCodePoint(n),size:6};if(ls(n)&&r.charCodeAt(e+6)===92&&r.charCodeAt(e+7)===117){let i=us(r,e+8);if(fs(i))return{value:String.fromCodePoint(n,i),size:12}}throw q(t.source,e,`Invalid Unicode escape sequence: "${r.slice(e,e+6)}".`)}function us(t,e){return ir(t.charCodeAt(e))<<12|ir(t.charCodeAt(e+1))<<8|ir(t.charCodeAt(e+2))<<4|ir(t.charCodeAt(e+3))}function ir(t){return t>=48&&t<=57?t-48:t>=65&&t<=70?t-55:t>=97&&t<=102?t-87:-1}function lu(t,e){let r=t.source.body;switch(r.charCodeAt(e+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:`
|
|
51
|
-
`,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw q(t.source,e,`Invalid character escape sequence: "${r.slice(e,e+2)}".`)}function
|
|
52
|
-
`));return t.line+=c.length-1,t.lineStart=i,l}if(p===92&&r.charCodeAt(o+1)===34&&r.charCodeAt(o+2)===34&&r.charCodeAt(o+3)===34){a+=r.slice(s,o),s=o+1,o+=4;continue}if(p===10||p===13){a+=r.slice(s,o),c.push(a),p===13&&r.charCodeAt(o+1)===10?o+=2:++o,a="",s=o,i=o;continue}if(At(p))++o;else if(Br(r,o))o+=2;else throw q(t.source,o,`Invalid character within String: ${ht(t,o)}.`)}throw q(t.source,o,"Unterminated string.")}function du(t,e){let r=t.source.body,n=r.length,i=e+1;for(;i<n;){let o=r.charCodeAt(i);if(vr(o))++i;else break}return X(t,h.NAME,e,i,r.slice(e,i))}var ds=Symbol("Source"),Ft=class{constructor(e,r="GraphQL request",n={line:1,column:1}){this.__kind=ds,this.body=e,this.name=r,this.locationOffset=n,this.locationOffset.line>0||ye(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||ye(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function ms(t){return ne(t,ds,Ft)}function jr(t,e){return Oe(Qn)?Qn.traceSync(()=>hs(t,e),{source:t}):hs(t,e)}function hs(t,e){let r=new Yn(t,e),n=r.parseDocument();return Object.defineProperty(n,"tokenCount",{enumerable:!1,value:r.tokenCount}),n}var Yn=class{constructor(e,r={}){let{lexer:n,...i}=r;if(n)this._lexer=n;else{let o=ms(e)?e:new Ft(e);this._lexer=new or(o)}this._options=i,this._tokenCounter=0}get tokenCount(){return this._tokenCounter}parseName(){let e=this.expectToken(h.NAME);return this.node(e,{kind:u.NAME,value:e.value})}parseDocument(){return this.node(this._lexer.token,{kind:u.DOCUMENT,definitions:this.many(h.SOF,this.parseDefinition,h.EOF)})}parseDefinition(){if(this.peek(h.BRACE_L))return this.parseOperationDefinition();let e=this.peekDescription(),r=e?this._lexer.lookahead():this._lexer.token;if(e&&r.kind===h.BRACE_L)throw q(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are not supported on shorthand queries.");if(r.kind===h.NAME){switch(r.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}switch(r.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition()}if(e)throw q(this._lexer.source,this._lexer.token.start,"Unexpected description, only GraphQL definitions support descriptions.");if(r.value==="extend")return this.parseTypeSystemExtension()}throw this.unexpected(r)}parseOperationDefinition(){let e=this._lexer.token;if(this.peek(h.BRACE_L))return this.node(e,{kind:u.OPERATION_DEFINITION,operation:G.QUERY,description:void 0,name:void 0,variableDefinitions:void 0,directives:void 0,selectionSet:this.parseSelectionSet()});let r=this.parseDescription(),n=this.parseOperationType(),i;return this.peek(h.NAME)&&(i=this.parseName()),this.node(e,{kind:u.OPERATION_DEFINITION,operation:n,description:r,name:i,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let e=this.expectToken(h.NAME);switch(e.value){case"query":return G.QUERY;case"mutation":return G.MUTATION;case"subscription":return G.SUBSCRIPTION}throw this.unexpected(e)}parseVariableDefinitions(){return this.optionalMany(h.PAREN_L,this.parseVariableDefinition,h.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:u.VARIABLE_DEFINITION,description:this.parseDescription(),variable:this.parseVariable(),type:(this.expectToken(h.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(h.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let e=this._lexer.token;return this.expectToken(h.DOLLAR),this.node(e,{kind:u.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:u.SELECTION_SET,selections:this.many(h.BRACE_L,this.parseSelection,h.BRACE_R)})}parseSelection(){return this.peek(h.SPREAD)?this.parseFragment():this.parseField()}parseField(){let e=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(h.COLON)?(n=r,i=this.parseName()):i=r,this.node(e,{kind:u.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(h.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(e){let r=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(h.PAREN_L,r,h.PAREN_R)}parseFragmentArguments(){let e=this.parseFragmentArgument;return this.optionalMany(h.PAREN_L,e,h.PAREN_R)}parseArgument(e=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(h.COLON),this.node(r,{kind:u.ARGUMENT,name:n,value:this.parseValueLiteral(e)})}parseConstArgument(){return this.parseArgument(!0)}parseFragmentArgument(){let e=this._lexer.token,r=this.parseName();return this.expectToken(h.COLON),this.node(e,{kind:u.FRAGMENT_ARGUMENT,name:r,value:this.parseValueLiteral(!1)})}parseFragment(){let e=this._lexer.token;this.expectToken(h.SPREAD);let r=this.expectOptionalKeyword("on");if(!r&&this.peek(h.NAME)){let n=this.parseFragmentName();return this.peek(h.PAREN_L)&&this._options.experimentalFragmentArguments?this.node(e,{kind:u.FRAGMENT_SPREAD,name:n,arguments:this.parseFragmentArguments(),directives:this.parseDirectives(!1)}):this.node(e,{kind:u.FRAGMENT_SPREAD,name:n,directives:this.parseDirectives(!1)})}return this.node(e,{kind:u.INLINE_FRAGMENT,typeCondition:r?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let e=this._lexer.token,r=this.parseDescription();return this.expectKeyword("fragment"),this._options.experimentalFragmentArguments===!0?this.node(e,{kind:u.FRAGMENT_DEFINITION,description:r,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(e,{kind:u.FRAGMENT_DEFINITION,description:r,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(e){let r=this._lexer.token;switch(r.kind){case h.BRACKET_L:return this.parseList(e);case h.BRACE_L:return this.parseObject(e);case h.INT:return this.advanceLexer(),this.node(r,{kind:u.INT,value:r.value});case h.FLOAT:return this.advanceLexer(),this.node(r,{kind:u.FLOAT,value:r.value});case h.STRING:case h.BLOCK_STRING:return this.parseStringLiteral();case h.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:u.BOOLEAN,value:!0});case"false":return this.node(r,{kind:u.BOOLEAN,value:!1});case"null":return this.node(r,{kind:u.NULL});default:return this.node(r,{kind:u.ENUM,value:r.value})}case h.DOLLAR:if(e)if(this.expectToken(h.DOLLAR),this._lexer.token.kind===h.NAME){let n=this._lexer.token.value;throw q(this._lexer.source,r.start,`Unexpected variable "$${n}" in constant value.`)}else throw this.unexpected(r);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){let e=this._lexer.token;return this.advanceLexer(),this.node(e,{kind:u.STRING,value:e.value,block:e.kind===h.BLOCK_STRING})}parseList(e){let r=()=>this.parseValueLiteral(e);return this.node(this._lexer.token,{kind:u.LIST,values:this.any(h.BRACKET_L,r,h.BRACKET_R)})}parseObject(e){let r=()=>this.parseObjectField(e);return this.node(this._lexer.token,{kind:u.OBJECT,fields:this.any(h.BRACE_L,r,h.BRACE_R)})}parseObjectField(e){let r=this._lexer.token,n=this.parseName();return this.expectToken(h.COLON),this.node(r,{kind:u.OBJECT_FIELD,name:n,value:this.parseValueLiteral(e)})}parseDirectives(e){let r=[];for(;this.peek(h.AT);)r.push(this.parseDirective(e));if(r.length)return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(e){let r=this._lexer.token;return this.expectToken(h.AT),this.node(r,{kind:u.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e)})}parseTypeReference(){let e=this._lexer.token,r;if(this.expectOptionalToken(h.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(h.BRACKET_R),r=this.node(e,{kind:u.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(h.BANG)?this.node(e,{kind:u.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:u.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(h.STRING)||this.peek(h.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("schema");let n=this.parseConstDirectives(),i=this.many(h.BRACE_L,this.parseOperationTypeDefinition,h.BRACE_R);return this.node(e,{kind:u.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let e=this._lexer.token,r=this.parseOperationType();this.expectToken(h.COLON);let n=this.parseNamedType();return this.node(e,{kind:u.OPERATION_TYPE_DEFINITION,operation:r,type:n})}parseScalarTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("scalar");let n=this.parseName(),i=this.parseConstDirectives();return this.node(e,{kind:u.SCALAR_TYPE_DEFINITION,description:r,name:n,directives:i})}parseObjectTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("type");let n=this.parseName(),i=this.parseImplementsInterfaces(),o=this.parseConstDirectives(),s=this.parseFieldsDefinition();return this.node(e,{kind:u.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:o,fields:s})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(h.AMP,this.parseNamedType):void 0}parseFieldsDefinition(){return this.optionalMany(h.BRACE_L,this.parseFieldDefinition,h.BRACE_R)}parseFieldDefinition(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(h.COLON);let o=this.parseTypeReference(),s=this.parseConstDirectives();return this.node(e,{kind:u.FIELD_DEFINITION,description:r,name:n,arguments:i,type:o,directives:s})}parseArgumentDefs(){return this.optionalMany(h.PAREN_L,this.parseInputValueDef,h.PAREN_R)}parseInputValueDef(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(h.COLON);let i=this.parseTypeReference(),o;this.expectOptionalToken(h.EQUALS)&&(o=this.parseConstValueLiteral());let s=this.parseConstDirectives();return this.node(e,{kind:u.INPUT_VALUE_DEFINITION,description:r,name:n,type:i,defaultValue:o,directives:s})}parseInterfaceTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("interface");let n=this.parseName(),i=this.parseImplementsInterfaces(),o=this.parseConstDirectives(),s=this.parseFieldsDefinition();return this.node(e,{kind:u.INTERFACE_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:o,fields:s})}parseUnionTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("union");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseUnionMemberTypes();return this.node(e,{kind:u.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:o})}parseUnionMemberTypes(){return this.expectOptionalToken(h.EQUALS)?this.delimitedMany(h.PIPE,this.parseNamedType):void 0}parseEnumTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseEnumValuesDefinition();return this.node(e,{kind:u.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:o})}parseEnumValuesDefinition(){return this.optionalMany(h.BRACE_L,this.parseEnumValueDefinition,h.BRACE_R)}parseEnumValueDefinition(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(e,{kind:u.ENUM_VALUE_DEFINITION,description:r,name:n,directives:i})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw q(this._lexer.source,this._lexer.token.start,`${Qr(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("input");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseInputFieldsDefinition();return this.node(e,{kind:u.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:o})}parseInputFieldsDefinition(){return this.optionalMany(h.BRACE_L,this.parseInputValueDef,h.BRACE_R)}parseTypeSystemExtension(){let e=this._lexer.lookahead();if(e.kind===h.NAME)switch(e.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension();case"directive":return this.parseDirectiveExtension()}throw this.unexpected(e)}parseSchemaExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let r=this.parseConstDirectives(),n=this.optionalMany(h.BRACE_L,this.parseOperationTypeDefinition,h.BRACE_R);if(r===void 0&&n===void 0)throw this.unexpected();return this.node(e,{kind:u.SCHEMA_EXTENSION,directives:r,operationTypes:n})}parseScalarTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");let r=this.parseName(),n=this.parseConstDirectives();if(n===void 0)throw this.unexpected();return this.node(e,{kind:u.SCALAR_TYPE_EXTENSION,name:r,directives:n})}parseObjectTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),o=this.parseFieldsDefinition();if(n===void 0&&i===void 0&&o===void 0)throw this.unexpected();return this.node(e,{kind:u.OBJECT_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:o})}parseInterfaceTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),o=this.parseFieldsDefinition();if(n===void 0&&i===void 0&&o===void 0)throw this.unexpected();return this.node(e,{kind:u.INTERFACE_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:o})}parseUnionTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseUnionMemberTypes();if(n===void 0&&i===void 0)throw this.unexpected();return this.node(e,{kind:u.UNION_TYPE_EXTENSION,name:r,directives:n,types:i})}parseEnumTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();if(n===void 0&&i===void 0)throw this.unexpected();return this.node(e,{kind:u.ENUM_TYPE_EXTENSION,name:r,directives:n,values:i})}parseInputObjectTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();if(n===void 0&&i===void 0)throw this.unexpected();return this.node(e,{kind:u.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:i})}parseDirectiveExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("directive"),this.expectToken(h.AT);let r=this.parseName(),n=this.parseConstDirectives();if(n===void 0)throw this.unexpected();return this.node(e,{kind:u.DIRECTIVE_EXTENSION,name:r,directives:n})}parseDirectiveDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(h.AT);let n=this.parseName(),i=this.parseArgumentDefs(),o=this.parseConstDirectives(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let a=this.parseDirectiveLocations();return this.node(e,{kind:u.DIRECTIVE_DEFINITION,description:r,name:n,arguments:i,directives:o,repeatable:s,locations:a})}parseDirectiveLocations(){return this.delimitedMany(h.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let e=this._lexer.token,r=this.parseName();if(Object.hasOwn(v,r.value))return r;throw this.unexpected(e)}parseSchemaCoordinate(){let e=this._lexer.token,r=this.expectOptionalToken(h.AT),n=this.parseName(),i;!r&&this.expectOptionalToken(h.DOT)&&(i=this.parseName());let o;return(r||i)&&this.expectOptionalToken(h.PAREN_L)&&(o=this.parseName(),this.expectToken(h.COLON),this.expectToken(h.PAREN_R)),r?o?this.node(e,{kind:u.DIRECTIVE_ARGUMENT_COORDINATE,name:n,argumentName:o}):this.node(e,{kind:u.DIRECTIVE_COORDINATE,name:n}):i?o?this.node(e,{kind:u.ARGUMENT_COORDINATE,name:n,fieldName:i,argumentName:o}):this.node(e,{kind:u.MEMBER_COORDINATE,name:n,memberName:i}):this.node(e,{kind:u.TYPE_COORDINATE,name:n})}node(e,r){return this._options.noLocation!==!0&&(r.loc=new Gt(e,this._lexer.lastToken,this._lexer.source)),r}peek(e){return this._lexer.token.kind===e}expectToken(e){let r=this._lexer.token;if(r.kind===e)return this.advanceLexer(),r;throw q(this._lexer.source,r.start,`Expected ${ys(e)}, found ${Qr(r)}.`)}expectOptionalToken(e){return this._lexer.token.kind===e?(this.advanceLexer(),!0):!1}expectKeyword(e){let r=this._lexer.token;if(r.kind===h.NAME&&r.value===e)this.advanceLexer();else throw q(this._lexer.source,r.start,`Expected "${e}", found ${Qr(r)}.`)}expectOptionalKeyword(e){let r=this._lexer.token;return r.kind===h.NAME&&r.value===e?(this.advanceLexer(),!0):!1}unexpected(e){let r=e??this._lexer.token;return q(this._lexer.source,r.start,`Unexpected ${Qr(r)}.`)}any(e,r,n){this.expectToken(e);let i=[];for(;!this.expectOptionalToken(n);)i.push(r.call(this));return i}optionalMany(e,r,n){if(this.expectOptionalToken(e)){let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}}many(e,r,n){this.expectToken(e);let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}delimitedMany(e,r){this.expectOptionalToken(e);let n=[];do n.push(r.call(this));while(this.expectOptionalToken(e));return n}advanceLexer(){let{maxTokens:e}=this._options,r=this._lexer.advance();if(r.kind!==h.EOF&&(++this._tokenCounter,e!==void 0&&this._tokenCounter>e))throw q(this._lexer.source,r.start,`Document contains more than ${e} tokens. Parsing aborted.`)}};function Qr(t){let e=t.value;return ys(t.kind)+(e!=null?` "${e}"`:"")}function ys(t){return ps(t)?`"${t}"`:t}function j(t,e){switch(e.kind){case u.LIST_TYPE:{let r=j(t,e.type);return r&&new B(r)}case u.NON_NULL_TYPE:{let r=j(t,e.type);return r&&new N(r)}case u.NAMED_TYPE:return t.getType(e.name.value)}}var Ct=class{constructor(e,r,n){this._schema=e,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._fragmentSignaturesByName=n??(()=>null),this._fragmentSignature=null,this._fragmentArgument=null,r&&(Z(r)&&this._inputTypeStack.push(r),Ie(r)&&this._parentTypeStack.push(r),Be(r)&&this._typeStack.push(r))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){return this._typeStack.at(-1)}getParentType(){return this._parentTypeStack.at(-1)}getInputType(){return this._inputTypeStack.at(-1)}getParentInputType(){return this._inputTypeStack.at(-2)}getFieldDef(){return this._fieldDefStack.at(-1)}getDefaultValue(){return this._defaultValueStack.at(-1)}getDirective(){return this._directive}getArgument(){return this._argument}getFragmentSignature(){return this._fragmentSignature}getFragmentSignatureByName(){return this._fragmentSignaturesByName}getFragmentArgument(){return this._fragmentArgument}getEnumValue(){return this._enumValue}enter(e){let r=this._schema;switch(e.kind){case u.DOCUMENT:{let n=mu(e);this._fragmentSignaturesByName=i=>n.get(i);break}case u.SELECTION_SET:{let n=te(this.getType());this._parentTypeStack.push(Ie(n)?n:void 0);break}case u.FIELD:{let n=this.getParentType(),i,o;n&&(i=r.getField(n,e.name.value),i&&(o=i.type)),this._fieldDefStack.push(i),this._typeStack.push(Be(o)?o:void 0);break}case u.DIRECTIVE:this._directive=r.getDirective(e.name.value);break;case u.OPERATION_DEFINITION:{let n=r.getRootType(e.operation);this._typeStack.push(k(n)?n:void 0);break}case u.FRAGMENT_SPREAD:{this._fragmentSignature=this.getFragmentSignatureByName()(e.name.value);break}case u.INLINE_FRAGMENT:case u.FRAGMENT_DEFINITION:{let n=e.typeCondition,i=n?j(r,n):te(this.getType());this._typeStack.push(Be(i)?i:void 0);break}case u.VARIABLE_DEFINITION:{let n=j(r,e.type);this._inputTypeStack.push(Z(n)?n:void 0);break}case u.ARGUMENT:{let n,i,o=this.getDirective()??this.getFieldDef();o&&(n=o.args.find(s=>s.name===e.name.value),n&&(i=n.type)),this._argument=n,this._defaultValueStack.push(n?.default??n?.defaultValue??void 0),this._inputTypeStack.push(Z(i)?i:void 0);break}case u.FRAGMENT_ARGUMENT:{let i=this.getFragmentSignature()?.variableDefinitions.get(e.name.value);this._fragmentArgument=i;let o;i&&(o=j(this._schema,i.type)),this._inputTypeStack.push(Z(o)?o:void 0);break}case u.LIST:{let n=wr(this.getInputType()),i=C(n)?n.ofType:void 0;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Z(i)?i:void 0);break}case u.OBJECT_FIELD:{let n=te(this.getInputType()),i,o;F(n)&&(o=n.getFields()[e.name.value],o!=null&&(i=o.type)),this._defaultValueStack.push(o?.default??o?.defaultValue??void 0),this._inputTypeStack.push(Z(i)?i:void 0);break}case u.ENUM:{let n=te(this.getInputType()),i;J(n)&&(i=n.getValue(e.value)),this._enumValue=i;break}default:}}leave(e){switch(e.kind){case u.DOCUMENT:this._fragmentSignaturesByName=()=>null;break;case u.SELECTION_SET:this._parentTypeStack.pop();break;case u.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case u.DIRECTIVE:this._directive=null;break;case u.FRAGMENT_SPREAD:this._fragmentSignature=null;break;case u.OPERATION_DEFINITION:case u.INLINE_FRAGMENT:case u.FRAGMENT_DEFINITION:this._typeStack.pop();break;case u.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case u.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case u.FRAGMENT_ARGUMENT:{this._fragmentArgument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break}case u.LIST:case u.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case u.ENUM:this._enumValue=null;break;default:}}};function mu(t){let e=new Map;for(let r of t.definitions)if(r.kind===u.FRAGMENT_DEFINITION){let n=new Map;if(r.variableDefinitions)for(let o of r.variableDefinitions)n.set(o.variable.name.value,o);let i={definition:r,variableDefinitions:n};e.set(r.name.value,i)}return e}function qr(t,e){return{enter(...r){let n=r[0];t.enter(n);let i=Ot(e,n.kind).enter;if(i){let o=i.apply(e,r);return o!==void 0&&(t.leave(n),Qt(o)&&t.enter(o)),o}},leave(...r){let n=r[0],i=Ot(e,n.kind).leave,o;return i&&(o=i.apply(e,r)),t.leave(n),o}}}function Hn(t){let e=new Map;return{Directive(r){if(r.name.value===Qe.name||r.name.value===Ae.name){let i=r.arguments?.find(s=>s.name.value==="label")?.value;if(!i||i.kind===u.NULL)return;if(i.kind!==u.STRING){t.reportError(new d(`Argument "@${r.name.value}(label:)" must be a static string.`,{nodes:r}));return}let o=e.get(i.value);o!=null?t.reportError(new d('Value for arguments "defer(label:)" and "stream(label:)" must be unique across all Defer/Stream directive usages.',{nodes:[o,r]})):e.set(i.value,r)}}}}function Jn(t){return{OperationDefinition(e){let r=t.getDocument(),n=new Map;for(let s of r.definitions)s.kind===u.FRAGMENT_DEFINITION&&n.set(s.name.value,s);if(e.operation!=="subscription"&&e.operation!=="mutation")return;let o=t.getSchema().getRootType(e.operation);o&&Wn({context:t,operationType:e.operation,rootType:o,fragments:n,selectionSet:e.selectionSet,visitedFragments:new Set})}}}function Wn({context:t,operationType:e,rootType:r,fragments:n,selectionSet:i,visitedFragments:o}){for(let s of i.selections)if(s.kind==="Field"){let a=s.directives?.find(c=>c.name.value===Ae.name);a&&t.reportError(new d(`Stream directive cannot be used on root ${e} type "${r}".`,{nodes:a}))}else if(s.kind==="FragmentSpread"){let a=s.name.value;if(o.has(a))continue;let c=n.get(a);if(c){let p=Ts(s);p!==void 0&&t.reportError(new d(`Defer directive cannot be used on root ${e} type "${r}".`,{nodes:p})),Wn({context:t,operationType:e,rootType:r,fragments:n,selectionSet:c.selectionSet,visitedFragments:o})}o.add(a)}else if(s.kind==="InlineFragment"){let a=Ts(s);a!==void 0&&t.reportError(new d(`Defer directive cannot be used on root ${e} type "${r}".`,{nodes:a})),Wn({context:t,operationType:e,rootType:r,fragments:n,selectionSet:s.selectionSet,visitedFragments:o})}}function Ts(t){return t.directives?.find(e=>e.name.value===Qe.name)}function gs(t){let e=t.arguments?.find(r=>r.name.value==="if");if(!e)return!1;if(e.value.kind===u.BOOLEAN){if(e.value.value)return!1}else if(e.value.kind!==u.VARIABLE)return!1;return!0}function hu(t){let e=t.arguments?.find(r=>r.name.value==="if");return e&&e.value.kind===u.BOOLEAN?!!e.value.value:!0}function yu(t){let e=t.arguments?.find(r=>r.name.value==="if");return e?e?.value.kind===u.BOOLEAN?!e.value.value:!0:!1}function zn(t){return{OperationDefinition(e){if(e.operation!==G.SUBSCRIPTION)return;let r=t.getDocument(),n=new Map;for(let o of r.definitions)o.kind===u.FRAGMENT_DEFINITION&&n.set(o.name.value,o);let i=new Set;Xn({context:t,fragments:n,selectionSet:e.selectionSet,parentNodes:[],visitedFragments:i})}}}function Xn({context:t,fragments:e,selectionSet:r,parentNodes:n,visitedFragments:i}){for(let o of r.selections){let s=o.directives?.find(c=>c.name.value===pt.name);if(s&&hu(s))continue;let a=o.directives?.find(c=>c.name.value===ut.name);if(!(a&&yu(a))){for(let c of o.directives??[])c.name.value===Qe.name?gs(c)||t.reportError(new d("Defer directive not supported on subscription operations. Disable `@defer` by setting the `if` argument to `false`.",{nodes:[c,...n]})):c.name.value===Ae.name&&(gs(c)||t.reportError(new d("Stream directive not supported on subscription operations. Disable `@stream` by setting the `if` argument to `false`.",{nodes:[c,...n]})));if(o.kind==="FragmentSpread"){let c=o.name.value;if(i.has(c))continue;i.add(c);let p=e.get(c);p&&Xn({context:t,fragments:e,parentNodes:[o,...n],selectionSet:p?.selectionSet,visitedFragments:i})}else o.selectionSet&&Xn({context:t,fragments:e,selectionSet:o.selectionSet,parentNodes:n,visitedFragments:i})}}}function Zn(t){return t.kind===u.OPERATION_DEFINITION||t.kind===u.FRAGMENT_DEFINITION}function ei(t){return t.kind===u.SCHEMA_DEFINITION||He(t)||t.kind===u.DIRECTIVE_DEFINITION}function He(t){return t.kind===u.SCALAR_TYPE_DEFINITION||t.kind===u.OBJECT_TYPE_DEFINITION||t.kind===u.INTERFACE_TYPE_DEFINITION||t.kind===u.UNION_TYPE_DEFINITION||t.kind===u.ENUM_TYPE_DEFINITION||t.kind===u.INPUT_OBJECT_TYPE_DEFINITION}function ti(t){return t.kind===u.SCHEMA_EXTENSION||t.kind===u.DIRECTIVE_EXTENSION||Kr(t)}function Kr(t){return t.kind===u.SCALAR_TYPE_EXTENSION||t.kind===u.OBJECT_TYPE_EXTENSION||t.kind===u.INTERFACE_TYPE_EXTENSION||t.kind===u.UNION_TYPE_EXTENSION||t.kind===u.ENUM_TYPE_EXTENSION||t.kind===u.INPUT_OBJECT_TYPE_EXTENSION}function ri(t){return{Document(e){for(let r of e.definitions)if(!Zn(r)){let n=r.kind===u.SCHEMA_DEFINITION||r.kind===u.SCHEMA_EXTENSION?"schema":'"'+r.name.value+'"';t.reportError(new d(`The ${n} definition is not executable.`,{nodes:r}))}return!1}}}function ni(t){return{Field(e){let r=t.getParentType();if(r&&!t.getFieldDef()){let i=t.getSchema(),o=e.name.value,s=ie("to use an inline fragment on",t.hideSuggestions?[]:Tu(i,r,o));s===""&&(s=ie(t.hideSuggestions?[]:gu(r,o))),t.reportError(new d(`Cannot query field "${o}" on type "${r}".`+s,{nodes:e}))}}}}function Tu(t,e,r){if(!ce(e))return[];let n=new Set,i=Object.create(null);for(let o of t.getPossibleTypes(e))if(o.getFields()[r]!=null){n.add(o),i[o.name]=1;for(let s of o.getInterfaces())s.getFields()[r]!=null&&(n.add(s),i[s.name]=(i[s.name]??0)+1)}return[...n].sort((o,s)=>{let a=i[s.name]-i[o.name];return a!==0?a:P(o)&&t.isSubType(o,s)?-1:P(s)&&t.isSubType(s,o)?1:Rt(o.name,s.name)}).map(o=>o.name)}function gu(t,e){if(k(t)||P(t)){let r=Object.keys(t.getFields());return se(e,r)}return[]}function ii(t){return{InlineFragment(e){let r=e.typeCondition;if(r){let n=j(t.getSchema(),r);if(n&&!Ie(n)){let i=V(r);t.reportError(new d(`Fragment cannot condition on non composite type "${i}".`,{nodes:r}))}}},FragmentDefinition(e){let r=j(t.getSchema(),e.typeCondition);if(r&&!Ie(r)){let n=V(e.typeCondition);t.reportError(new d(`Fragment "${e.name.value}" cannot condition on non composite type "${n}".`,{nodes:e.typeCondition}))}}}}function oi(t){return{...si(t),FragmentArgument(e){let r=t.getFragmentSignature();if(r&&!r.variableDefinitions.get(e.name.value)){let i=e.name.value,o=t.hideSuggestions?[]:se(i,Array.from(r.variableDefinitions.values()).map(s=>s.variable.name.value));t.reportError(new d(`Unknown argument "${i}" on fragment "${r.definition.name.value}".`+ie(o),{nodes:e}))}},Argument(e){let r=t.getArgument(),n=t.getFieldDef();if(!r&&n){let i=e.name.value,o=t.hideSuggestions?[]:se(i,n.args.map(s=>s.name));t.reportError(new d(`Unknown argument "${i}" on field "${n}".`+ie(o),{nodes:e}))}}}}function si(t){let e=new Map,r=t.getSchema(),n=r?r.getDirectives():Fe;for(let o of n)e.set(o.name,o.args.map(s=>s.name));let i=t.getDocument().definitions;for(let o of i)if(o.kind===u.DIRECTIVE_DEFINITION){let s=o.arguments??[];e.set(o.name.value,s.map(a=>a.name.value))}return{Directive(o){let s=o.name.value,a=e.get(s);if(o.arguments!=null&&a!=null)for(let c of o.arguments){let p=c.name.value;if(!a.includes(p)){let l=se(p,a);t.reportError(new d(`Unknown argument "${p}" on directive "@${s}".`+(t.hideSuggestions?"":ie(l)),{nodes:c}))}}return!1}}}function Yr(t){let e=new Map,r=t.getSchema(),n=r?r.getDirectives():Fe;for(let o of n)e.set(o.name,o.locations);let i=t.getDocument().definitions;for(let o of i)o.kind===u.DIRECTIVE_DEFINITION&&e.set(o.name.value,o.locations.map(s=>s.value));return{Directive(o,s,a,c,p){let l=o.name.value,f=e.get(l);if(f==null){t.reportError(new d(`Unknown directive "@${l}".`,{nodes:o}));return}let m=Eu(p);m!=null&&!f.includes(m)&&t.reportError(new d(`Directive "@${l}" may not be used on ${m}.`,{nodes:o}))}}}function Eu(t){let e=t.at(-1);switch(e!=null&&"kind"in e||L(!1),e.kind){case u.OPERATION_DEFINITION:return Iu(e.operation);case u.FIELD:return v.FIELD;case u.FRAGMENT_SPREAD:return v.FRAGMENT_SPREAD;case u.INLINE_FRAGMENT:return v.INLINE_FRAGMENT;case u.FRAGMENT_DEFINITION:return v.FRAGMENT_DEFINITION;case u.VARIABLE_DEFINITION:{let r=t[t.length-3];return"kind"in r||L(!1),r.kind===u.OPERATION_DEFINITION?v.VARIABLE_DEFINITION:v.FRAGMENT_VARIABLE_DEFINITION}case u.SCHEMA_DEFINITION:case u.SCHEMA_EXTENSION:return v.SCHEMA;case u.SCALAR_TYPE_DEFINITION:case u.SCALAR_TYPE_EXTENSION:return v.SCALAR;case u.OBJECT_TYPE_DEFINITION:case u.OBJECT_TYPE_EXTENSION:return v.OBJECT;case u.FIELD_DEFINITION:return v.FIELD_DEFINITION;case u.INTERFACE_TYPE_DEFINITION:case u.INTERFACE_TYPE_EXTENSION:return v.INTERFACE;case u.UNION_TYPE_DEFINITION:case u.UNION_TYPE_EXTENSION:return v.UNION;case u.ENUM_TYPE_DEFINITION:case u.ENUM_TYPE_EXTENSION:return v.ENUM;case u.ENUM_VALUE_DEFINITION:return v.ENUM_VALUE;case u.INPUT_OBJECT_TYPE_DEFINITION:case u.INPUT_OBJECT_TYPE_EXTENSION:return v.INPUT_OBJECT;case u.INPUT_VALUE_DEFINITION:{let r=t.at(-3);return r!=null&&"kind"in r||L(!1),r.kind===u.INPUT_OBJECT_TYPE_DEFINITION||r.kind===u.INPUT_OBJECT_TYPE_EXTENSION?v.INPUT_FIELD_DEFINITION:v.ARGUMENT_DEFINITION}case u.DIRECTIVE_DEFINITION:case u.DIRECTIVE_EXTENSION:return v.DIRECTIVE_DEFINITION;default:L(!1,"Unexpected kind: "+E(e.kind))}}function Iu(t){switch(t){case G.QUERY:return v.QUERY;case G.MUTATION:return v.MUTATION;case G.SUBSCRIPTION:return v.SUBSCRIPTION}}function ai(t){return{FragmentSpread(e){let r=e.name.value;t.getFragment(r)||t.reportError(new d(`Unknown fragment "${r}".`,{nodes:e.name}))}}}function ci(t){let e=t.getSchema();return{OperationDefinition(r){let n=r.operation;e.getRootType(n)||t.reportError(new d(`The ${n} operation is not supported by the schema.`,{nodes:r}))}}}function Hr(t){let{definitions:e}=t.getDocument(),r=t.getSchema()?.getTypeMap()??{},n=new Set([...Object.keys(r),...e.filter(He).map(i=>i.name.value)]);return{NamedType(i,o,s,a,c){let p=i.name.value;if(!n.has(p)){let l=c[2]??s,f=l!=null&&Nu(l);if(f&&Es.has(p))return;let m=t.hideSuggestions?[]:se(p,f?[...Es,...n]:[...n]);t.reportError(new d(`Unknown type "${p}".`+ie(m),{nodes:i}))}}}}var Es=new Set([...Fr,...Vr].map(t=>t.name));function Nu(t){return"kind"in t&&(ei(t)||ti(t))}function ui(t){let e=0;return{Document(r){e=r.definitions.filter(n=>n.kind===u.OPERATION_DEFINITION).length},OperationDefinition(r){!r.name&&e>1&&t.reportError(new d("This anonymous operation must be the only defined operation.",{nodes:r}))}}}function pi(t){let e=t.getSchema(),r=e?.astNode??e?.getQueryType()??e?.getMutationType()??e?.getSubscriptionType(),n=0;return{SchemaDefinition(i){if(r){t.reportError(new d("Cannot define a new schema within a schema extension.",{nodes:i}));return}n>0&&t.reportError(new d("Must provide only one schema definition.",{nodes:i})),++n}}}var bu=3;function li(t){function e(r,n=Object.create(null),i=0){if(r.kind===u.FRAGMENT_SPREAD){let o=r.name.value;if(n[o]===!0)return!1;let s=t.getFragment(o);if(!s)return!1;try{return n[o]=!0,e(s,n,i)}finally{n[o]=void 0}}if(r.kind===u.FIELD&&(r.name.value==="fields"||r.name.value==="interfaces"||r.name.value==="possibleTypes"||r.name.value==="inputFields")&&(i++,i>=bu))return!0;if("selectionSet"in r&&r.selectionSet){for(let o of r.selectionSet.selections)if(e(o,n,i))return!0}return!1}return{Field(r){if((r.name.value==="__schema"||r.name.value==="__type")&&e(r))return t.reportError(new d("Maximum introspection depth exceeded",{nodes:[r]})),!1}}}function fi(t){let e=new Set,r=[],n=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition(o){return i(o),!1}};function i(o){if(e.has(o.name.value))return;let s=o.name.value;e.add(s);let a=t.getFragmentSpreads(o.selectionSet);if(a.length!==0){n[s]=r.length;for(let c of a){let p=c.name.value,l=n[p];if(r.push(c),l===void 0){let f=t.getFragment(p);f&&i(f)}else{let f=r.slice(l),m=f.slice(0,-1).map(T=>'"'+T.name.value+'"').join(", ");t.reportError(new d(`Cannot spread fragment "${p}" within itself`+(m!==""?` via ${m}.`:"."),{nodes:f}))}r.pop()}n[s]=void 0}}}function di(t){return{OperationDefinition(e){let r=new Set(e.variableDefinitions?.map(i=>i.variable.name.value)),n=t.getRecursiveVariableUsages(e);for(let{node:i,fragmentVariableDefinition:o}of n){if(o)continue;let s=i.name.value;r.has(s)||t.reportError(new d(e.name?`Variable "$${s}" is not defined by operation "${e.name.value}".`:`Variable "$${s}" is not defined.`,{nodes:[i,e]}))}}}}function mi(t){let e=new Set,r=[];return{OperationDefinition(n){for(let i of t.getRecursivelyReferencedFragments(n))e.add(i.name.value);return!1},FragmentDefinition(n){return r.push(n),!1},Document:{leave(){for(let n of r){let i=n.name.value;e.has(i)||t.reportError(new d(`Fragment "${i}" is never used.`,{nodes:n}))}}}}}function hi(t){return{FragmentDefinition(e){let r=t.getVariableUsages(e),n=new Set(r.map(({node:o})=>o.name.value)),i=e.variableDefinitions??[];for(let o of i){let s=o.variable.name.value;n.has(s)||t.reportError(new d(`Variable "$${s}" is never used in fragment "${e.name.value}".`,{nodes:o}))}},OperationDefinition(e){let r=t.getRecursiveVariableUsages(e),n=new Set;for(let{node:o,fragmentVariableDefinition:s}of r){let a=o.name.value;s||n.add(a)}let i=e.variableDefinitions??[];for(let o of i){let s=o.variable.name.value;n.has(s)||t.reportError(new d(e.name?`Variable "$${s}" is never used in operation "${e.name.value}".`:`Variable "$${s}" is never used.`,{nodes:o}))}}}}function sr(t){switch(t.kind){case u.OBJECT:return{...t,fields:vu(t.fields)};case u.LIST:return{...t,values:t.values.map(sr)};case u.INT:case u.FLOAT:case u.STRING:case u.BOOLEAN:case u.NULL:case u.ENUM:case u.VARIABLE:return t}}function vu(t){return t.map(e=>({...e,value:sr(e.value)})).sort((e,r)=>Rt(e.name.value,r.name.value))}function bs(t){return Array.isArray(t)?t.map(([e,r])=>`subfields "${e}" conflict because `+bs(r)).join(" and "):t}function Ei(t){let e=new zr,r=new gi,n=new Map;return{SelectionSet(i){let o=Ru(t,n,e,r,t.getParentType(),i);for(let[[s,a],c,p]of o){let l=bs(a);t.reportError(new d(`Fields "${s}" conflict because ${l}. Use different aliases on the fields to fetch both if this was intentional.`,{nodes:c.concat(p)}))}}}}function Ru(t,e,r,n,i,o){let s=[],[a,c]=Xr(t,e,i,o,void 0);if(Ou(t,s,e,r,n,a),c.length!==0)for(let p=0;p<c.length;p++){Wr(t,s,e,r,n,!1,a,c[p]);for(let l=p+1;l<c.length;l++)Jr(t,s,e,r,n,!1,c[p],c[l])}return s}function Wr(t,e,r,n,i,o,s,a){if(n.has(s,a.key,o))return;n.add(s,a.key,o);let c=t.getFragment(a.node.name.value);if(!c)return;let[p,l]=Ti(t,r,c,a.varMap);if(s!==p){Ii(t,e,r,n,i,o,s,void 0,p,a.varMap);for(let f of l)Wr(t,e,r,n,i,o,s,f)}}function Jr(t,e,r,n,i,o,s,a){if(s.key===a.key)return;if(s.node.name.value===a.node.name.value&&!Ni(s.node.arguments,s.varMap,a.node.arguments,a.varMap)){t.reportError(new d(`Spreads "${s.node.name.value}" conflict because ${s.key} and ${a.key} have different fragment arguments.`,{nodes:[s.node,a.node]}));return}if(i.has(s.key,a.key,o))return;i.add(s.key,a.key,o);let c=t.getFragment(s.node.name.value),p=t.getFragment(a.node.name.value);if(!c||!p)return;let[l,f]=Ti(t,r,c,s.varMap),[m,T]=Ti(t,r,p,a.varMap);Ii(t,e,r,n,i,o,l,s.varMap,m,a.varMap);for(let y of T)Jr(t,e,r,n,i,o,s,y);for(let y of f)Jr(t,e,r,n,i,o,y,a)}function Su(t,e,r,n,i,o,s,a,c,p,l){let f=[],[m,T]=Xr(t,e,o,s,a),[y,O]=Xr(t,e,c,p,l);Ii(t,f,e,r,n,i,m,a,y,l);for(let S of O)Wr(t,f,e,r,n,i,m,S);for(let S of T)Wr(t,f,e,r,n,i,y,S);for(let S of T)for(let _ of O)Jr(t,f,e,r,n,i,S,_);return f}function Ou(t,e,r,n,i,o){for(let[s,a]of o.entries())if(a.length>1)for(let c=0;c<a.length;c++)for(let p=c+1;p<a.length;p++){let l=vs(t,r,n,i,!1,s,a[c],void 0,a[p],void 0);l&&e.push(l)}}function Ii(t,e,r,n,i,o,s,a,c,p){for(let[l,f]of s.entries()){let m=c.get(l);if(m!=null)for(let T of f)for(let y of m){let O=vs(t,r,n,i,o,l,T,a,y,p);O&&e.push(O)}}}function vs(t,e,r,n,i,o,s,a,c,p){let[l,f,m]=s,[T,y,O]=c,S=i||l!==T&&k(l)&&k(T);if(!S){let It=f.name.value,oe=y.name.value;if(It!==oe)return[[o,`"${It}" and "${oe}" are different fields`],[f],[y]];if(!Ni(f.arguments,a,y.arguments,p))return[[o,"they have differing arguments"],[f],[y]]}let _=f.directives,W=y.directives,K=xu(_,a,W,p);if(K!==void 0)return[[o,K],[f],[y]];let Y=m?.type,pe=O?.type;if(Y&&pe&&yi(Y,pe))return[[o,`they return conflicting types "${E(Y)}" and "${E(pe)}"`],[f],[y]];let Ve=f.selectionSet,Ue=y.selectionSet;if(Ve&&Ue){let It=Su(t,e,r,n,S,te(Y),Ve,a,te(pe),Ue,p);return Du(It,o,f,y)}}function Ni(t,e,r,n){if(t===void 0||t.length===0)return r===void 0||r.length===0;if(r===void 0||r.length===0||t.length!==r.length)return!1;let i=new Map(r.map(({name:o,value:s})=>[o.value,n===void 0?s:ar(s,n)]));return t.every(o=>{let s=o.value;e&&(s=ar(s,e));let a=i.get(o.name.value);return a===void 0?!1:Is(s)===Is(a)})}function ar(t,e){switch(t.kind){case u.VARIABLE:return e.get(t.name.value)??t;case u.LIST:return{...t,values:t.values.map(r=>ar(r,e))};case u.OBJECT:return{...t,fields:t.fields.map(r=>({...r,value:ar(r.value,e)}))};default:return t}}function Is(t){return V(sr(t))}function Ns(t){return t?.find(e=>e.name.value==="stream")}function xu(t,e,r,n){let i=Ns(t),o=Ns(r);if(!(!i&&!o))return i&&o&&Ni(i.arguments,e,o.arguments,n)?"they have overlapping stream directives. See https://github.com/graphql/defer-stream-wg/discussions/100":"they have overlapping stream directives"}function yi(t,e){return C(t)?C(e)?yi(t.ofType,e.ofType):!0:C(e)?!0:D(t)?D(e)?yi(t.ofType,e.ofType):!0:D(e)?!0:ge(t)||ge(e)?t!==e:!1}function Xr(t,e,r,n,i){let o=e.get(n);if(o)return o;let s=new Map,a=new Map;Rs(t,r,n,s,a,i);let c=[s,Array.from(a.values())];return e.set(n,c),c}function Ti(t,e,r,n){let i=e.get(r.selectionSet);if(i)return i;let o=j(t.getSchema(),r.typeCondition);return Xr(t,e,o,r.selectionSet,n)}function Rs(t,e,r,n,i,o){for(let s of r.selections)switch(s.kind){case u.FIELD:{let a=s.name.value,c;(k(e)||P(e))&&(c=e.getFields()[a]);let p=s.alias?s.alias.value:a,l=n.get(p);l==null&&(l=[],n.set(p,l)),l.push([e,s,c]);break}case u.FRAGMENT_SPREAD:{let a=wu(t,s,o);i.set(a.key,a);break}case u.INLINE_FRAGMENT:{let a=s.typeCondition,c=a?j(t.getSchema(),a):e;Rs(t,c,s.selectionSet,n,i,o);break}}}function wu(t,e,r){let n="",i=new Map,o=t.getFragmentSignatureByName()(e.name.value),s=new Map;if(e.arguments)for(let a of e.arguments)s.set(a.name.value,a.value);if(o?.variableDefinitions){n+=e.name.value+"(";for(let[a,c]of o.variableDefinitions){let p=s.get(a);p&&(n+=a+": "+V(sr(p)));let l=s.get(a);l!==void 0?i.set(a,r!==void 0?ar(l,r):l):c.defaultValue&&i.set(a,c.defaultValue)}n+=")"}return{key:n,node:e,varMap:i.size>0?i:void 0}}function Du(t,e,r,n){if(t.length>0)return[[e,t.map(([i])=>i)],[r,...t.map(([,i])=>i).flat()],[n,...t.map(([,,i])=>i).flat()]]}var zr=class{constructor(){this._data=new Map}has(e,r,n){let i=this._data.get(e)?.get(r);return i===void 0?!1:n?!0:n===i}add(e,r,n){let i=this._data.get(e);i===void 0?this._data.set(e,new Map([[r,n]])):i.set(r,n)}},gi=class{constructor(){this._orderedPairSet=new zr}has(e,r,n){return e<r?this._orderedPairSet.has(e,r,n):this._orderedPairSet.has(r,e,n)}add(e,r,n){e<r?this._orderedPairSet.add(e,r,n):this._orderedPairSet.add(r,e,n)}};function bi(t){return{InlineFragment(e){let r=t.getType(),n=t.getParentType();if(Ie(r)&&Ie(n)&&!Ln(t.getSchema(),r,n)){let i=E(n),o=E(r);t.reportError(new d(`Fragment cannot be spread here as objects of type "${i}" can never be of type "${o}".`,{nodes:e}))}},FragmentSpread(e){let r=e.name.value,n=Lu(t,r),i=t.getParentType();if(n&&i&&!Ln(t.getSchema(),n,i)){let o=E(i),s=E(n);t.reportError(new d(`Fragment "${r}" cannot be spread here as objects of type "${o}" can never be of type "${s}".`,{nodes:e}))}}}}function Lu(t,e){let r=t.getFragment(e);if(r){let n=j(t.getSchema(),r.typeCondition);if(Ie(n))return n}}function vi(t){let e=t.getSchema(),r=new Map;for(let i of t.getDocument().definitions)He(i)&&r.set(i.name.value,i);return{ScalarTypeExtension:n,ObjectTypeExtension:n,InterfaceTypeExtension:n,UnionTypeExtension:n,EnumTypeExtension:n,InputObjectTypeExtension:n};function n(i){let o=i.name.value,s=r.get(o),a=e?.getType(o),c;if(s!=null?c=_u[s.kind]:a&&(c=Au(a)),c!=null){if(c!==i.kind){let p=Fu(i.kind);t.reportError(new d(`Cannot extend non-${p} type "${o}".`,{nodes:s?[s,i]:i}))}}else{let p=[...r.keys(),...Object.keys(e?.getTypeMap()??{})];t.reportError(new d(`Cannot extend type "${o}" because it is not defined.`+ie(se(o,p)),{nodes:i.name}))}}}var _u={[u.SCALAR_TYPE_DEFINITION]:u.SCALAR_TYPE_EXTENSION,[u.OBJECT_TYPE_DEFINITION]:u.OBJECT_TYPE_EXTENSION,[u.INTERFACE_TYPE_DEFINITION]:u.INTERFACE_TYPE_EXTENSION,[u.UNION_TYPE_DEFINITION]:u.UNION_TYPE_EXTENSION,[u.ENUM_TYPE_DEFINITION]:u.ENUM_TYPE_EXTENSION,[u.INPUT_OBJECT_TYPE_DEFINITION]:u.INPUT_OBJECT_TYPE_EXTENSION};function Au(t){if(Le(t))return u.SCALAR_TYPE_EXTENSION;if(k(t))return u.OBJECT_TYPE_EXTENSION;if(P(t))return u.INTERFACE_TYPE_EXTENSION;if(ee(t))return u.UNION_TYPE_EXTENSION;if(J(t))return u.ENUM_TYPE_EXTENSION;if(F(t))return u.INPUT_OBJECT_TYPE_EXTENSION;L(!1,"Unexpected type: "+E(t))}function Fu(t){switch(t){case u.SCALAR_TYPE_EXTENSION:return"scalar";case u.OBJECT_TYPE_EXTENSION:return"object";case u.INTERFACE_TYPE_EXTENSION:return"interface";case u.UNION_TYPE_EXTENSION:return"union";case u.ENUM_TYPE_EXTENSION:return"enum";case u.INPUT_OBJECT_TYPE_EXTENSION:return"input object";default:L(!1,"Unexpected kind: "+E(t))}}function Ri(t){return{...Si(t),Field:{leave(e){let r=t.getFieldDef();if(!r)return!1;let n=new Set(e.arguments?.map(i=>i.name.value));for(let i of r.args)!n.has(i.name)&&Ne(i)&&t.reportError(new d(`Argument "${i}" of type "${i.type}" is required, but it was not provided.`,{nodes:e}))}},FragmentSpread:{leave(e){let r=t.getFragmentSignature();if(!r)return!1;let n=new Set(e.arguments?.map(i=>i.name.value));for(let[i,o]of r.variableDefinitions)if(!n.has(i)&&Ss(o)){let s=j(t.getSchema(),o.type),a=E(s);t.reportError(new d(`Fragment "${e.name.value}" argument "${i}" of type "${a}" is required, but it was not provided.`,{nodes:e}))}}}}}function Si(t){let e=new Map,n=t.getSchema()?.getDirectives()??Fe;for(let o of n)e.set(o.name,new Map(o.args.filter(Ne).map(s=>[s.name,s])));let i=t.getDocument().definitions;for(let o of i)if(o.kind===u.DIRECTIVE_DEFINITION){let s=o.arguments??[];e.set(o.name.value,new Map(s.filter(Ss).map(a=>[a.name.value,a])))}return{Directive:{leave(o){let s=o.name.value,a=e.get(s);if(a!=null){let c=o.arguments??[],p=new Set(c.map(l=>l.name.value));for(let[l,f]of a.entries())if(!p.has(l)){let m=Yt(f.type)?E(f.type):V(f.type);t.reportError(new d(`Argument "@${s}(${l}:)" of type "${m}" is required, but it was not provided.`,{nodes:o}))}}}}}}function Ss(t){return t.type.kind===u.NON_NULL_TYPE&&t.defaultValue==null}function Oi(t){return{Field(e){let r=t.getType(),n=e.selectionSet;if(r)if(ge(te(r))){if(n){let i=e.name.value,o=E(r);t.reportError(new d(`Field "${i}" must not have a selection since type "${o}" has no subfields.`,{nodes:n}))}}else if(n){if(n.selections.length===0){let i=e.name.value,o=E(r);t.reportError(new d(`Field "${i}" of type "${o}" must have at least one field selected.`,{nodes:e}))}}else{let i=e.name.value,o=E(r);t.reportError(new d(`Field "${i}" of type "${o}" must have a selection of subfields. Did you mean "${i} { ... }"?`,{nodes:e}))}}}}function yt(t,e){if(D(e))return t==null?void 0:yt(t,e.ofType);if(t==null)return null;if(C(e)){if(!le(t)){let i=yt(t,e.ofType);return i===void 0?void 0:[i]}let n=[];for(let i of t){let o=yt(i,e.ofType);if(o===void 0)return;n.push(o)}return n}if(F(e)){if(!H(t)||Array.isArray(t))return;let n=Object.create(null),i=e.getFields(),o=0;for(let s of Object.keys(t))if(t[s]!==void 0&&(o++,!Object.hasOwn(i,s)))return;for(let s of Object.values(i)){let a=t[s.name];if(a===void 0){if(me(s))return;let c=Zr(s);c!==void 0&&(n[s.name]=c)}else{let c=yt(a,s.type);if(c===void 0)return;n[s.name]=c}}if(e.isOneOf){let s=Object.keys(n);if(o!==1||s.length!==1)return;let a=s[0];if(n[a]===null)return}return n}let r=Ee(e);try{return r.coerceInputValue(t)}catch{}}function Tt(t,e,r,n){if(t.kind===u.VARIABLE){let o=Os(t,r,n);return o==null&&D(e)?void 0:o}if(D(e))return t.kind===u.NULL?void 0:Tt(t,e.ofType,r,n);if(t.kind===u.NULL)return null;if(C(e)){if(t.kind!==u.LIST){let s=Tt(t,e.ofType,r,n);return s===void 0?void 0:[s]}let o=[];for(let s of t.values){let a=Tt(s,e.ofType,r,n);if(a===void 0)if(s.kind===u.VARIABLE&&Os(s,r,n)==null&&!D(e.ofType))a=null;else return;o.push(a)}return o}if(F(e)){if(t.kind!==u.OBJECT)return;let o=Object.create(null),s=e.getFields();if(t.fields.some(p=>!Object.hasOwn(s,p.name.value)))return;let c=new Map(t.fields.map(p=>[p.name.value,p]));for(let p of Object.values(s)){let l=c.get(p.name);if(!l||l.value.kind===u.VARIABLE&&Cu(l.value,r,n)){if(me(p))return;let f=Zr(p);f!==void 0&&(o[p.name]=f)}else{let f=Tt(l.value,p.type,r,n);if(f===void 0)return;o[p.name]=f}}if(e.isOneOf){let p=Object.keys(o);if(c.size!==1||p.length!==1)return;for(let[l,f]of c)if(f.value.kind===u.NULL||o[l]===null)return}return o}let i=Ee(e);try{return i.coerceInputLiteral?i.coerceInputLiteral(st(t,r,n)):i.parseLiteral(t,r?.coerced)}catch{}}function Os(t,e,r){let n=t.name.value;return r?.sources[n]!==void 0?r.coerced[n]:e?.coerced[n]}function Cu(t,e,r){let n=t.name.value;return(r?.sources[n]!==void 0?r.coerced:e?.coerced)?.[n]===void 0}function Zr(t){let e=t._memoizedCoercedDefaultValue;if(e!==void 0)return e;let r=t.default;if(r!==void 0)return e=r.literal?Tt(r.literal,t.type):yt(r.value,t.type),e===void 0&&L(!1,`Expected value of type "${t.type}" to be valid, found: ${E(r.literal??r.value)}.`),t._memoizedCoercedDefaultValue=e,e;let n=t.defaultValue;return n!==void 0&&(t._memoizedCoercedDefaultValue=n),n}function en(t,e){let r=e.variable.name.value,n=j(t,e.type);if(!Z(n)){let o=V(e.type);return new d(`Variable "$${r}" expected value of type "${o}" which cannot be used as an input type.`,{nodes:e.type})}let i=e.defaultValue;return{name:r,type:n,default:i&&{literal:i}}}function tn(t,e,r,n){let i=[],o=n?.maxErrors;try{let s=ku(t,e,r,a=>{if(o!=null&&i.length>=o)throw new d("Too many errors processing variables, error limit reached. Execution aborted.");i.push(a)},n?.hideSuggestions);if(i.length===0)return{variableValues:s}}catch(s){i.push($e(s))}return{errors:i}}function ku(t,e,r,n,i){let o=Object.create(null),s=Object.create(null);for(let a of e){let c=en(t,a);if(c instanceof d){n(c);continue}let{name:p,type:l}=c,f=Object.hasOwn(r,p)?r[p]:void 0;if(f===void 0){if(o[p]={signature:c},a.defaultValue){wi(s,p,c,(T,y)=>{n(new d(`Variable "$${p}" has invalid default value${ze(y)}: ${T.message}`,{nodes:a}))},i);continue}else if(!D(l))continue}else o[p]={signature:c,value:f};let m=yt(f,l);m!==void 0?s[p]=m:Xt(f,l,(T,y)=>{n(new d(`Variable "$${p}" has invalid value${ze(y)}: ${T.message}`,{nodes:a,originalError:T}))},i)}return{sources:o,coerced:s}}function wi(t,e,r,n,i){try{let o=Zr(r);o!==void 0&&(t[e]=o)}catch(o){let s=r.default;if(s===void 0)throw o;let a=!1;Bn(s,r.type,(c,p)=>{a=!0,n(c,p)},i),a||n($e(o),[])}}function xs(t,e,r,n,i){let o=t.arguments??[],s=new Map(o.map(p=>[p.name.value,p])),a=Object.create(null),c=Object.create(null);for(let[p,l]of Object.entries(e)){let f=s.get(p);f!==void 0?a[p]=n==null?{signature:l,value:f.value}:{signature:l,value:f.value,fragmentVariableValues:n}:a[p]={signature:l},ws(c,t,p,l,f,r,n,i)}return{sources:a,coerced:c}}function We(t,e,r,n,i){let o=Object.create(null),s=e.arguments??[],a=new Map(s.map(c=>[c.name.value,c]));for(let c of t.args){let p=c.name;ws(o,e,p,c,a.get(c.name),r,n,i)}return o}function ws(t,e,r,n,i,o,s,a){let c=n.type,p=(m,T)=>{throw new d(`${xi(n,e)} has invalid default value${ze(T)}: ${m.message}`,{nodes:e})};if(!i){if(Ne(n))throw new d(`${xi(n,e)} of required type "${c}" was not provided.`,{nodes:e});wi(t,r,n,p,a);return}let l=i.value;if(l.kind===u.VARIABLE){let m=l.name.value,T=s?.sources[m]?s:o;if((T==null||!Object.hasOwn(T.coerced,m))&&!Ne(n)){wi(t,r,n,p,a);return}}let f=Tt(l,c,o,s);f===void 0&&(wt(l,c,(m,T)=>{throw m.message=`${xi(n,e)} has invalid value${ze(T)}: ${m.message}`,m},o,s,a),L(!1,"Invalid argument")),t[r]=f}function xi(t,e){return Or(t)?`Argument "${t}"`:`Variable "$${t.name}" defined by fragment "${e.name.value}"`}function cr(t,e,r,n,i){let o=e.directives?.find(s=>s.name.value===t.name);if(o)return We(t,o,r,n,i)}function rn(t,e,r,n,i,o,s=!1){let a=new Ge,c=[],p={schema:t,fragments:e,variableValues:r,runtimeType:n,visitedFragmentNames:new Map,hideSuggestions:o,forbiddenDirectiveInstances:[],forbidSkipAndInclude:s};return ur(p,i,a,c),{groupedFieldSet:a,newDeferUsages:c,forbiddenDirectiveInstances:p.forbiddenDirectiveInstances}}function _s(t,e,r,n,i,o){let s={schema:t,fragments:e,variableValues:r,runtimeType:n,visitedFragmentNames:new Map,hideSuggestions:o,forbiddenDirectiveInstances:[],forbidSkipAndInclude:!1},a=new Ge,c=[];for(let p of i){let l=p.node.selectionSet;if(l){let{deferUsage:f,fragmentVariableValues:m}=p;ur(s,l,a,c,f,m)}}return{groupedFieldSet:a,newDeferUsages:c}}function ur(t,e,r,n,i,o){let{schema:s,fragments:a,variableValues:c,runtimeType:p,visitedFragmentNames:l,hideSuggestions:f}=t;for(let m of e.selections)switch(m.kind){case u.FIELD:{if(!Di(t,m,c,o))continue;r.add(Pu(m),{node:m,deferUsage:i,fragmentVariableValues:o});break}case u.INLINE_FRAGMENT:{if(!Di(t,m,c,o)||!Ls(s,m,p))continue;let T=Ds(c,o,m,i);T?(n.push(T),ur(t,m.selectionSet,r,n,T,o)):ur(t,m.selectionSet,r,n,i,o);break}case u.FRAGMENT_SPREAD:{let T=m.name.value;if(!Di(t,m,c,o))continue;let y=a[T];if(y==null||!Ls(s,y.definition,p))continue;let O=Ds(c,o,m,i),S=l.get(T),_;if(O){if(S!==void 0)continue;l.set(T,!0),n.push(O),_=O}else{if(S===!1)continue;l.set(T,!1),_=i}let W=y.variableSignatures,K;W&&(K=xs(m,W,c,o,f)),ur(t,y.definition.selectionSet,r,n,_,K);break}}}function Ds(t,e,r,n){let i=cr(Qe,r,t,e);if(i&&i.if!==!1)return{label:typeof i.label=="string"?i.label:void 0,parentDeferUsage:n}}function Di(t,e,r,n){let i=e.directives?.find(c=>c.name.value===pt.name);if(i&&t.forbidSkipAndInclude)return t.forbiddenDirectiveInstances.push(i),!1;if((i?We(pt,i,r,n,t.hideSuggestions):void 0)?.if===!0)return!1;let s=e.directives?.find(c=>c.name.value===ut.name);return s&&t.forbidSkipAndInclude?(t.forbiddenDirectiveInstances.push(s),!1):(s?We(ut,s,r,n,t.hideSuggestions):void 0)?.if!==!1}function Ls(t,e,r){let n=e.typeCondition;if(!n)return!0;let i=j(t,n);return i===r?!0:ce(i)?t.isSubType(i,r):!1}function Pu(t){return t.alias?t.alias.value:t.name.value}function Li(t){return t.map(e=>e.node)}function _i(t){return{OperationDefinition(e){if(e.operation==="subscription"){let r=t.getSchema(),n=r.getSubscriptionType();if(n){let i=e.name?e.name.value:null,o=Object.create(null),s=t.getDocument(),a=Object.create(null);for(let l of s.definitions)l.kind===u.FRAGMENT_DEFINITION&&(a[l.name.value]={definition:l});let{groupedFieldSet:c,forbiddenDirectiveInstances:p}=rn(r,a,o,n,e.selectionSet,t.hideSuggestions,!0);if(p.length>0){t.reportError(new d(i!=null?`Subscription "${i}" must not use \`@skip\` or \`@include\` directives in the top level selection.`:"Anonymous Subscription must not use `@skip` or `@include` directives in the top level selection.",{nodes:p}));return}if(c.size>1){let m=[...c.values()].slice(1).flatMap(T=>Li(T));t.reportError(new d(i!=null?`Subscription "${i}" must select only one top level field.`:"Anonymous Subscription must select only one top level field.",{nodes:m}))}for(let l of c.values())Li(l)[0].name.value.startsWith("__")&&t.reportError(new d(i!=null?`Subscription "${i}" must not select an introspection top level field.`:"Anonymous Subscription must not select an introspection top level field.",{nodes:Li(l)}))}}}}}function Ai(t){return{Directive(e){let r=t.getFieldDef(),n=t.getParentType();r&&n&&e.name.value===Ae.name&&!(C(r.type)||it(r.type)&&C(r.type.ofType))&&t.reportError(new d(`Directive "@stream" cannot be used on non-list field "${n}.${r.name}".`,{nodes:e}))}}}function kt(t,e){let r=new Ge;for(let n of t)r.add(e(n),n);return r}function Fi(t){return{DirectiveDefinition(n){let i=n.arguments??[];return r(`@${n.name.value}`,i)},InterfaceTypeDefinition:e,InterfaceTypeExtension:e,ObjectTypeDefinition:e,ObjectTypeExtension:e};function e(n){let i=n.name.value,o=n.fields??[];for(let s of o){let a=s.name.value,c=s.arguments??[];r(`${i}.${a}`,c)}return!1}function r(n,i){let o=kt(i,s=>s.name.value);for(let[s,a]of o)a.length>1&&t.reportError(new d(`Argument "${n}(${s}:)" can only be defined once.`,{nodes:a.map(c=>c.name)}));return!1}}function nn(t){return{Field:e,Directive:e};function e(r){let n=r.arguments??[],i=kt(n,o=>o.name.value);for(let[o,s]of i)s.length>1&&t.reportError(new d(`There can be only one argument named "${o}".`,{nodes:s.map(a=>a.name)}))}}function Ci(t){let e=new Map,r=t.getSchema();return{DirectiveDefinition(n){let i=n.name.value;if(r?.getDirective(i)){t.reportError(new d(`Directive "@${i}" already exists in the schema. It cannot be redefined.`,{nodes:n.name}));return}let o=e.get(i);return o?t.reportError(new d(`There can be only one directive named "@${i}".`,{nodes:[o,n.name]})):e.set(i,n.name),!1}}}function on(t){let e=new Map,r=t.getSchema(),n=r?r.getDirectives():Fe;for(let c of n)e.set(c.name,!c.isRepeatable);let i=t.getDocument().definitions;for(let c of i)c.kind===u.DIRECTIVE_DEFINITION&&e.set(c.name.value,!c.repeatable);let o=new Map,s=new Map,a=new Map;return{enter(c){if(!("directives"in c)||!c.directives)return;let p;if(c.kind===u.SCHEMA_DEFINITION||c.kind===u.SCHEMA_EXTENSION)p=o;else if(He(c)||Kr(c)){let l=c.name.value;p=s.get(l),p===void 0&&(p=new Map,s.set(l,p))}else if(c.kind===u.DIRECTIVE_DEFINITION||c.kind===u.DIRECTIVE_EXTENSION){let l=c.name.value;p=a.get(l),p===void 0&&(p=new Map,a.set(l,p))}else p=new Map;for(let l of c.directives){let f=l.name.value;if(e.get(f)===!0){let m=p.get(f);m!=null?t.reportError(new d(`The directive "@${f}" can only be used once at this location.`,{nodes:[m,l]})):p.set(f,l)}}}}}function ki(t){let e=t.getSchema(),r=e?e.getTypeMap():Object.create(null),n=new Map;return{EnumTypeDefinition:i,EnumTypeExtension:i};function i(o){let s=o.name.value,a=n.get(s);a==null&&(a=new Map,n.set(s,a));let c=o.values??[];for(let p of c){let l=p.name.value,f=r[s];if(J(f)&&f.getValue(l)){t.reportError(new d(`Enum value "${s}.${l}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:p.name}));continue}let m=a.get(l);m!=null?t.reportError(new d(`Enum value "${s}.${l}" can only be defined once.`,{nodes:[m,p.name]})):a.set(l,p.name)}return!1}}function Pi(t){let e=t.getSchema(),r=e?e.getTypeMap():Object.create(null),n=new Map;return{InputObjectTypeDefinition:i,InputObjectTypeExtension:i,InterfaceTypeDefinition:i,InterfaceTypeExtension:i,ObjectTypeDefinition:i,ObjectTypeExtension:i};function i(o){let s=o.name.value,a=n.get(s);a==null&&(a=new Map,n.set(s,a));let c=o.fields??[];for(let p of c){let l=p.name.value;if(Mu(r[s],l)){t.reportError(new d(`Field "${s}.${l}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:p.name}));continue}let f=a.get(l);f!=null?t.reportError(new d(`Field "${s}.${l}" can only be defined once.`,{nodes:[f,p.name]})):a.set(l,p.name)}return!1}}function Mu(t,e){return k(t)||P(t)||F(t)?t.getFields()[e]!=null:!1}function Mi(t){let e=new Map;return{OperationDefinition:()=>!1,FragmentDefinition(r){let n=r.name.value,i=e.get(n);return i!=null?t.reportError(new d(`There can be only one fragment named "${n}".`,{nodes:[i,r.name]})):e.set(n,r.name),!1}}}function sn(t){let e=[],r=new Map;return{ObjectValue:{enter(){e.push(r),r=new Map},leave(){let n=e.pop();n==null&&L(!1),r=n}},ObjectField(n){let i=n.name.value,o=r.get(i);o!=null?t.reportError(new d(`There can be only one input field named "${i}".`,{nodes:[o,n.name]})):r.set(i,n.name)}}}function Vi(t){let e=new Map;return{OperationDefinition(r){let n=r.name;if(n!=null){let i=e.get(n.value);i!=null?t.reportError(new d(`There can be only one operation named "${n.value}".`,{nodes:[i,n]})):e.set(n.value,n)}return!1},FragmentDefinition:()=>!1}}function Ui(t){let e=t.getSchema(),r=new Map,n=e?{query:e.getQueryType(),mutation:e.getMutationType(),subscription:e.getSubscriptionType()}:{};return{SchemaDefinition:i,SchemaExtension:i};function i(o){let s=o.operationTypes??[];for(let a of s){let c=a.operation,p=r.get(c);n[c]?t.reportError(new d(`Type for ${c} already defined in the schema. It cannot be redefined.`,{nodes:a})):p?t.reportError(new d(`There can be only one ${c} type in schema.`,{nodes:[p,a]})):r.set(c,a)}return!1}}function $i(t){let e=new Map,r=t.getSchema();return{ScalarTypeDefinition:n,ObjectTypeDefinition:n,InterfaceTypeDefinition:n,UnionTypeDefinition:n,EnumTypeDefinition:n,InputObjectTypeDefinition:n};function n(i){let o=i.name.value;if(r?.getType(o)){t.reportError(new d(`Type "${o}" already exists in the schema. It cannot also be defined in this type definition.`,{nodes:i.name}));return}let s=e.get(o);return s!=null?t.reportError(new d(`There can be only one type named "${o}".`,{nodes:[s,i.name]})):e.set(o,i.name),!1}}function Gi(t){return{OperationDefinition(e){let r=e.variableDefinitions??[],n=kt(r,i=>i.variable.name.value);for(let[i,o]of n)o.length>1&&t.reportError(new d(`There can be only one variable named "$${i}".`,{nodes:o.map(s=>s.variable.name)}))}}}function Bi(t){return{NullValue:e=>Je(t,e,t.getInputType()),ListValue:e=>Je(t,e,t.getParentInputType()),ObjectValue:e=>Je(t,e,t.getInputType()),EnumValue:e=>Je(t,e,t.getInputType()),IntValue:e=>Je(t,e,t.getInputType()),FloatValue:e=>Je(t,e,t.getInputType()),StringValue:e=>Je(t,e,t.getInputType()),BooleanValue:e=>Je(t,e,t.getInputType())}}function Je(t,e,r){return r&&wt(e,r,n=>{t.reportError(n)},void 0,void 0,t.hideSuggestions),!1}function Qi(t){return{VariableDefinition(e){let r=j(t.getSchema(),e.type);if(r!==void 0&&!Z(r)){let n=e.variable.name.value,i=V(e.type);t.reportError(new d(`Variable "$${n}" cannot be non-input type "${i}".`,{nodes:e.type}))}}}}function ji(t){let e;return{OperationDefinition:{enter(){e=new Map},leave(r){let n=t.getRecursiveVariableUsages(r);for(let{node:i,type:o,parentType:s,defaultValue:a,fragmentVariableDefinition:c}of n){let p=i.name.value,l=c;if(l??=e.get(p),l&&o){let f=t.getSchema(),m=j(f,l.type);m&&!Vu(f,m,l.defaultValue,o,a)&&t.reportError(new d(`Variable "$${p}" of type "${m}" used in position expecting type "${o}".`,{nodes:[l,i]})),F(s)&&s.isOneOf&&xr(m)&&t.reportError(new d(`Variable "$${p}" is of type "${m}" but must be non-nullable to be used for OneOf Input Object "${s}".`,{nodes:[l,i]}))}}}},VariableDefinition(r){e.set(r.variable.name.value,r)}}}function Vu(t,e,r,n,i){if(D(n)&&!D(e)){if(!(r!=null&&r.kind!==u.NULL)&&!(i!==void 0))return!1;let a=n.ofType;return qe(t,e,a)}return qe(t,e,n)}var qi=Object.freeze([li]),Pt=Object.freeze([ri,ci,Vi,ui,_i,Hr,ii,Qi,Oi,ni,Mi,ai,mi,bi,fi,Gi,di,hi,Yr,on,Jn,zn,Hn,Ai,oi,nn,Bi,Ri,ji,Ei,sn,...qi]),Uu=Object.freeze([pi,Ui,$i,ki,Pi,Fi,Ci,Hr,Yr,on,vi,si,nn,sn,Si]);var Ki=class{constructor(e,r){this._ast=e,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=r}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(e){this._onError(e)}getDocument(){return this._ast}getFragment(e){let r;if(this._fragments)r=this._fragments;else{r=Object.create(null);for(let n of this.getDocument().definitions)n.kind===u.FRAGMENT_DEFINITION&&(r[n.name.value]=n);this._fragments=r}return r[e]}getFragmentSpreads(e){let r=this._fragmentSpreads.get(e);if(!r){r=[];let n=[e],i;for(;i=n.pop();)for(let o of i.selections)o.kind===u.FRAGMENT_SPREAD?r.push(o):o.selectionSet&&n.push(o.selectionSet);this._fragmentSpreads.set(e,r)}return r}getRecursivelyReferencedFragments(e){let r=this._recursivelyReferencedFragments.get(e);if(!r){r=[];let n=new Set,i=[e.selectionSet],o;for(;o=i.pop();)for(let s of this.getFragmentSpreads(o)){let a=s.name.value;if(!n.has(a)){n.add(a);let c=this.getFragment(a);c&&(r.push(c),i.push(c.selectionSet))}}this._recursivelyReferencedFragments.set(e,r)}return r}};var pr=class extends Ki{constructor(e,r,n,i,o){super(r,i),this._schema=e,this._typeInfo=n,this._variableUsages=new Map,this._recursiveVariableUsages=new Map,this._hideSuggestions=o??!1}get[Symbol.toStringTag](){return"ValidationContext"}get hideSuggestions(){return this._hideSuggestions}getSchema(){return this._schema}getVariableUsages(e){let r=this._variableUsages.get(e);if(!r){let n=[],i=new Ct(this._schema,void 0,this._typeInfo.getFragmentSignatureByName()),o=e.kind===u.FRAGMENT_DEFINITION?e:void 0;tt(e,qr(i,{VariableDefinition:()=>!1,Variable(s){let a;o?(a=i.getFragmentSignatureByName()(o.name.value)?.variableDefinitions.get(s.name.value),n.push({node:s,type:i.getInputType(),parentType:i.getParentInputType(),defaultValue:void 0,fragmentVariableDefinition:a})):n.push({node:s,type:i.getInputType(),parentType:i.getParentInputType(),defaultValue:i.getDefaultValue(),fragmentVariableDefinition:void 0})}})),r=n,this._variableUsages.set(e,r)}return r}getRecursiveVariableUsages(e){let r=this._recursiveVariableUsages.get(e);if(!r){r=this.getVariableUsages(e);for(let n of this.getRecursivelyReferencedFragments(e))r=r.concat(this.getVariableUsages(n));this._recursiveVariableUsages.set(e,r)}return r}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getFragmentSignature(){return this._typeInfo.getFragmentSignature()}getFragmentSignatureByName(){return this._typeInfo.getFragmentSignatureByName()}getEnumValue(){return this._typeInfo.getEnumValue()}};var $u=ke(Bt,t=>t.filter(e=>e!=="description")),Yi=new d("Too many validation errors, error limit reached. Validation aborted.");function an(t,e,r=Pt,n){return Oe(jn)?jn.traceSync(()=>As(t,e,r,n),{schema:t,document:e}):As(t,e,r,n)}function As(t,e,r,n){let i=n?.maxErrors??100,o=n?.hideSuggestions??!1;Lt(t);let s=[],a=new Ct(t),c=new pr(t,e,a,l=>{if(s.length>=i)throw Yi;s.push(l)},o),p=vn(r.map(l=>l(c)));try{tt(e,qr(a,p),$u)}catch(l){if(l===Yi)s.push(Yi);else throw l}return s}function Fs(t){return typeof t?.[Symbol.asyncIterator]=="function"}function Hi(t,e,r){let n=Er(t);return Gu(n)?n:new d(n.message,{nodes:n.nodes??e,source:n.source,positions:n.positions,path:r,originalError:n})}function Gu(t){return Array.isArray(t.path)}function Cs(t,e){let r=null;for(let n of t.definitions)if(n.kind===u.OPERATION_DEFINITION){if(e==null){if(r)return null;r=n}else if(n.name?.value===e)return n}return r}function ks(t,e,r,n,i,o,s){let{schema:a,fragmentDefinitions:c,rootValue:p,operation:l,variableValues:f}=t;return{fieldName:e.name,fieldNodes:r,returnType:e.type,parentType:n,path:i,schema:a,fragments:c,rootValue:p,operation:l,variableValues:f,getAbortSignal:o,getAsyncHelpers:s}}function Ps(){let t,e;return{promise:new Promise((n,i)=>{t=n,e=i}),resolve:t,reject:e}}function Ms(t){let{promise:e,resolve:r,reject:n}=Ps(),i=!1,o=a=>{i||(i=!0,r(a))},s=a=>{i||(i=!0,n(a))};return t.then(o,s),{promise:e,abort(a){s(a)}}}var cn=class{constructor(){this.pendingAsyncWork=new Set}add(e){let r=this.pendingAsyncWork,n=e.then(()=>{r.delete(n)},()=>{r.delete(n)});r.add(n)}addValues(e){for(let r of e)de(r)&&this.add(r)}wait(){if(this.pendingAsyncWork.size!==0)return this.waitForPendingAsyncWork()}promiseAllTrackOnReject(e){let r=Promise.all(e);return r.then(void 0,()=>{this.addValues(e)}),r}async waitForPendingAsyncWork(){for(;this.pendingAsyncWork.size>0;)await Promise.allSettled(Array.from(this.pendingAsyncWork))}};function Vs(t){let e=new cn,r,n=o=>e.promiseAllTrackOnReject(o);return{asyncWorkTracker:e,getAbortSignal:()=>t,getAsyncHelpers:()=>r??={promiseAll:n,track:o=>e.addValues(o)},promiseAll:n}}function Us(t){let e;return function(n,i){e??=new WeakMap;let o=e.get(n);o===void 0&&(o=new WeakMap,e.set(n,o));let s=o.get(i);return s===void 0&&(s=t(n,i),o.set(i,s)),s}}function $s(t){let e;return function(n,i,o){e??=new WeakMap;let s=e.get(n);s===void 0&&(s=new WeakMap,e.set(n,s));let a=s.get(i);a===void 0&&(a=new WeakMap,s.set(i,a));let c=a.get(o);return c===void 0&&(c=t(n,i,o),a.set(o,c)),c}}function Gs(t,e){let r=Object.keys(t),n=Object.values(t);return e(n).then(i=>{let o=Object.create(null);for(let s=0;s<r.length;++s)o[r[s]]=i[s];return o})}function Bs(t,e,r){let n=r;for(let i of t)n=we(n)?n.then(o=>e(o,i)):e(n,i);return n}var lr=class extends Error{constructor(e,r){super(fp(e),{cause:e}),this.name="AbortedGraphQLExecutionError",this.abortedResult=r}get[Symbol.toStringTag](){return"AbortedGraphQLExecutionError"}};function fp(t){return t instanceof Error||typeof t=="object"&&t!==null&&"message"in t&&typeof t.message=="string"?t.message:String(t)}function Qs(t){let e=[];try{for(;;){let r=t.next();if(r.done)return e;de(r.value)&&e.push(r.value)}}catch{return e}}function js(t,e){let{operation:r,variableValues:n}=t,i=cr(Ae,e[0].node,n,e[0].fragmentVariableValues);if(!i||i.if===!1)return;typeof i.initialCount!="number"&&L(!1,"initialCount must be a number"),i.initialCount>=0||L(!1,"initialCount must be a positive integer"),r.operation===G.SUBSCRIPTION&&L(!1,"`@stream` directive not supported on subscription operations. Disable `@stream` by setting the `if` argument to `false`.");let o=e.map(s=>({node:s.node,deferUsage:void 0,fragmentVariableValues:s.fragmentVariableValues}));return{initialCount:i.initialCount,label:typeof i.label=="string"?i.label:void 0,fieldDetailsList:o}}function qs(t,e){try{t?.(e)}catch{}}function Ks(t,e,r){let n=e.asyncWorkTracker.wait();if(n===void 0){qs(r,{validatedExecutionArgs:t});return}n.then(()=>{qs(r,{validatedExecutionArgs:t})}).catch(()=>{})}async function Wi(t){try{await t.return?.()}catch{}}var dp=$s((t,e,r)=>{let{schema:n,fragments:i,variableValues:o,hideSuggestions:s}=t;return _s(n,i,o,e,r,s)}),un=Us((t,e)=>js(t,e)),Ji=class{constructor(){this._errorPositions=new Set,this._errors=[]}get errors(){return this._errors}add(e,r){this.hasNulledPosition(r)||(this._errorPositions.add(r),this._errors.push(e))}hasNulledPosition(e){let r=e;for(;r!==void 0;){if(this._errorPositions.has(r))return!0;r=r.prev}return this._errorPositions.has(void 0)}},mp=new Error("This operation was aborted"),pn=class{constructor(e,r){this.validatedExecutionArgs=e,this.aborted=!1,this.abortReason=mp,this.collectedErrors=new Ji,r===void 0?(this.resolverAbortController=new AbortController,this.sharedExecutionContext=Vs(this.resolverAbortController.signal)):this.sharedExecutionContext=r;let{getAbortSignal:n,getAsyncHelpers:i,promiseAll:o}=this.sharedExecutionContext;this.getAbortSignal=n,this.getAsyncHelpers=i,this.promiseAll=o}executeRootSelectionSet(e){return Oe(Kn)?_t(Kn,this.buildExecuteContextFromValidatedArgs(this.validatedExecutionArgs),()=>this.executeRootSelectionSetImpl(e)):this.executeRootSelectionSetImpl(e)}buildExecuteContextFromValidatedArgs(e){return{schema:e.schema,document:e.document,operation:e.operation,rawVariableValues:e.rawVariableValues,operationName:e.operation.name?.value,operationType:e.operation.operation}}executeRootSelectionSetImpl(e){let r=this.validatedExecutionArgs.externalAbortSignal,n;if(r){r.throwIfAborted();let s=()=>{this.abort(r.reason)};n=()=>r.removeEventListener("abort",s),r.addEventListener("abort",s)}let i=()=>{n?.()},o;try{let{schema:s,fragments:a,rootValue:c,operation:p,variableValues:l,hideSuggestions:f}=this.validatedExecutionArgs,{operation:m,selectionSet:T}=p,y=s.getRootType(m);if(y==null)throw new d(`Schema is not configured to execute ${m} operation.`,{nodes:p});let{groupedFieldSet:O,newDeferUsages:S}=rn(s,a,l,y,T,f);if(o=this.executeCollectedRootFields(y,c,O,e??m===G.MUTATION,S),we(o)){let _=o.then(Y=>(i(),this.buildResponse(Y)),Y=>(i(),this.collectedErrors.add($e(Y),void 0),this.buildResponse(null)));this.sharedExecutionContext.asyncWorkTracker.add(_);let{promise:W,abort:K}=Ms(_.then(Y=>this.finish(Y)));return this.abortResultPromise=()=>{K(this.createAbortedExecutionError(_))},this.aborted&&this.abortResultPromise(),W}i()}catch(s){return i(),this.collectedErrors.add($e(s),void 0),this.finish(this.buildResponse(null))}return this.finish(this.buildResponse(o))}abort(e){this.aborted||(this.aborted=!0,e!==void 0&&(this.abortReason=e),this.abortResultPromise?.(),this.resolverAbortController?.abort(this.abortReason))}finish(e){if(this.aborted)throw this.createAbortedExecutionError(e);return this.aborted=!0,e}createAbortedExecutionError(e){return new lr(this.abortReason,e)}getFinishSharedExecution(){let e=this.resolverAbortController,r=this.validatedExecutionArgs.hooks?.asyncWorkFinished;if(r===void 0)return()=>e?.abort();let n=this.validatedExecutionArgs,i=this.sharedExecutionContext;return()=>{e?.abort(),Ks(n,i,r)}}buildResponse(e){this.getFinishSharedExecution()();let r=this.collectedErrors.errors;return r.length?{errors:r,data:e}:{data:e}}executeCollectedRootFields(e,r,n,i,o){return this.executeRootGroupedFieldSet(e,r,n,i,void 0)}executeRootGroupedFieldSet(e,r,n,i,o){return i?this.executeFieldsSerially(e,r,void 0,n,o):this.executeFields(e,r,void 0,n,o)}executeFieldsSerially(e,r,n,i,o){let s=Oe(mt)?mt:void 0;return Bs(i,(a,[c,p])=>{if(this.aborted)throw new Error("Aborted!");let l=be(n,c,e.name),f=this.executeField(e,r,p,l,o,s);return f===void 0?a:we(f)?f.then(m=>(a[c]=m,s=Oe(mt)?mt:void 0,a)):(a[c]=f,a)},Object.create(null))}executeFields(e,r,n,i,o){let s=Object.create(null),a=!1,c=Oe(mt)?mt:void 0;try{for(let[p,l]of i){let f=be(n,p,e.name),m=this.executeField(e,r,l,f,o,c);m!==void 0&&(s[p]=m,we(m)&&(a=!0))}}catch(p){throw a&&this.sharedExecutionContext.asyncWorkTracker.addValues(Object.values(s)),p}return a?Gs(s,this.promiseAll):s}executeField(e,r,n,i,o,s){let a=this.validatedExecutionArgs,{schema:c,contextValue:p,variableValues:l,hideSuggestions:f}=a,m=n[0],T=m.node,y=T.name.value,O=c.getField(e,y);if(!O)return;let S=O.type,_=O.resolve??a.fieldResolver;if(s!==void 0){let K=_;_=(Y,pe,Ve,Ue)=>_t(s,this.buildResolveContext(pe,Ue,O.resolve===void 0),()=>K(Y,pe,Ve,Ue))}let W=ks(a,O,Xe(n),e,i,this.getAbortSignal,this.getAsyncHelpers);try{let K=We(O,T,l,m.fragmentVariableValues,f),Y=_(r,K,p,W);if(de(Y))return this.completePromisedValue(S,n,W,i,Y,o);let pe=this.completeValue(S,n,W,i,Y,o);return we(pe)?pe.then(void 0,Ve=>(this.handleFieldError(Ve,S,n,i),null)):pe}catch(K){return this.handleFieldError(K,S,n,i),null}}buildResolveContext(e,r,n){let i;return{fieldName:r.fieldName,alias:String(r.path.key),parentType:r.parentType.name,fieldType:String(r.returnType),args:e,isDefaultResolver:n,get fieldPath(){return i??=Me(r.path).join("."),i}}}handleFieldError(e,r,n,i){let o=Hi(e,Xe(n),Me(i));if(this.validatedExecutionArgs.errorPropagation&&D(r))throw o;this.collectedErrors.add(o,i)}completeValue(e,r,n,i,o,s){if(o instanceof Error)throw o;if(D(e)){let a=this.completeValue(e.ofType,r,n,i,o,s);if(a===null)throw new Error(`Cannot return null for non-nullable field ${n.parentType}.${n.fieldName}.`);return a}if(o==null)return null;if(C(e))return this.completeListValue(e,r,n,i,o,s);if(ge(e))return this.completeLeafValue(e,o);if(ce(e))return this.completeAbstractValue(e,r,n,i,o,s);if(k(e))return this.completeObjectValue(e,r,n,i,o,s);L(!1,"Cannot complete value of unexpected output type: "+E(e))}async completePromisedValue(e,r,n,i,o,s){try{let a=await o;if(this.aborted)throw new Error("Aborted!");let c=this.completeValue(e,r,n,i,a,s);return we(c)&&(c=await c),c}catch(a){return this.handleFieldError(a,e,r,i),null}}async completeAsyncIterableValue(e,r,n,i,o,s){let a=typeof i.key=="number"?void 0:un(this.validatedExecutionArgs,r),c=!1,p=[],l=o[Symbol.asyncIterator](),f=0,m;try{for(;!(a?.initialCount===f&&this.handleStream(f,i,{handle:l,isAsync:!0},a,n,e));){let T=be(i,f,void 0);try{m=await l.next()}catch(O){throw Hi(O,Xe(r),Me(i))}if(this.aborted||m.done)break;let y=m.value;this.completeMaybePromisedListItemValue(y,p,e,r,n,T,s)&&(c=!0),f++}}catch(T){throw this.sharedExecutionContext.asyncWorkTracker.add(Wi(l)),c&&this.sharedExecutionContext.asyncWorkTracker.addValues(p),T}if(this.aborted)throw m?.done||this.sharedExecutionContext.asyncWorkTracker.add(Wi(l)),new Error("Aborted!");return c?this.promiseAll(p):p}handleStream(e,r,n,i,o,s){return!1}completeListValue(e,r,n,i,o,s){let a=e.ofType;if(Fs(o))return this.completeAsyncIterableValue(a,r,n,i,o,s);if(!le(o))throw new d(`Expected Iterable, but did not find one for field "${n.parentType}.${n.fieldName}".`);return this.completeIterableValue(a,r,n,i,o,s)}completeIterableValue(e,r,n,i,o,s){let a=typeof i.key=="number"?void 0:un(this.validatedExecutionArgs,r),c=!1,p=[],l=0,f=o[Symbol.iterator]();try{for(;!(a?.initialCount===l&&this.handleStream(l,i,{handle:f},a,n,e));){let m=f.next();if(m.done)break;let T=m.value,y=be(i,l,void 0);this.completeMaybePromisedListItemValue(T,p,e,r,n,y,s)&&(c=!0),l++}}catch(m){let T=this.sharedExecutionContext.asyncWorkTracker;throw c&&T.addValues(p),T.addValues(Qs(f)),m}return c?this.promiseAll(p):p}completeMaybePromisedListItemValue(e,r,n,i,o,s,a){return de(e)?(r.push(this.completePromisedListItemValue(e,n,i,o,s,a)),!0):!!this.completeListItemValue(e,r,n,i,o,s,a)}completeListItemValue(e,r,n,i,o,s,a){try{let c=this.completeValue(n,i,o,s,e,a);if(we(c))return r.push(c.then(void 0,p=>(this.handleFieldError(p,n,i,s),null))),!0;r.push(c)}catch(c){this.handleFieldError(c,n,i,s),r.push(null)}return!1}async completePromisedListItemValue(e,r,n,i,o,s){try{let a=await e;if(this.aborted)throw new Error("Aborted!");let c=this.completeValue(r,n,i,o,a,s);return we(c)&&(c=await c),c}catch(a){return this.handleFieldError(a,r,n,o),null}}completeLeafValue(e,r){let n=e.coerceOutputValue(r);if(n==null)throw new Error(`Expected \`${E(e)}.coerceOutputValue(${E(r)})\` to return non-nullable value, returned: ${E(n)}`);return n}completeAbstractValue(e,r,n,i,o,s){let a=this.validatedExecutionArgs,{schema:c,contextValue:p}=a,f=(e.resolveType??a.typeResolver)(o,p,n,e);return de(f)?f.then(m=>{if(this.aborted)throw new Error("Aborted!");return this.completeObjectValue(this.ensureValidRuntimeType(m,c,e,r,n,o),r,n,i,o,s)}):this.completeObjectValue(this.ensureValidRuntimeType(f,c,e,r,n,o),r,n,i,o,s)}ensureValidRuntimeType(e,r,n,i,o,s){if(e==null)throw new d(`Abstract type "${n}" must resolve to an Object type at runtime for field "${o.parentType}.${o.fieldName}". Either the "${n}" type should provide a "resolveType" function or each possible type should provide an "isTypeOf" function.`,{nodes:Xe(i)});if(typeof e!="string")throw new d(`Abstract type "${n}" must resolve to an Object type at runtime for field "${o.parentType}.${o.fieldName}" with value ${E(s)}, received "${E(e)}", which is not a valid Object type name.`);let a=r.getType(e);if(a==null)throw new d(`Abstract type "${n}" was resolved to a type "${e}" that does not exist inside the schema.`,{nodes:Xe(i)});if(!k(a))throw new d(`Abstract type "${n}" was resolved to a non-object type "${e}".`,{nodes:Xe(i)});if(!r.isSubType(n,a))throw new d(`Runtime Object type "${a}" is not a possible type for "${n}".`,{nodes:Xe(i)});return a}completeObjectValue(e,r,n,i,o,s){if(e.isTypeOf){let a=e.isTypeOf(o,this.validatedExecutionArgs.contextValue,n);if(de(a))return a.then(c=>{if(this.aborted)throw new Error("Aborted!");if(!c)throw this.invalidReturnTypeError(e,o,r);return this.collectAndExecuteSubfields(e,r,i,o,s)});if(!a)throw this.invalidReturnTypeError(e,o,r)}return this.collectAndExecuteSubfields(e,r,i,o,s)}invalidReturnTypeError(e,r,n){return new d(`Expected value of type "${e}" but got: ${E(r)}.`,{nodes:Xe(n)})}collectAndExecuteSubfields(e,r,n,i,o){let{groupedFieldSet:s,newDeferUsages:a}=dp(this.validatedExecutionArgs,e,r);return this.executeCollectedSubfields(e,i,n,s,a,o)}executeCollectedSubfields(e,r,n,i,o,s){return this.executeFields(e,r,n,i,void 0)}};function Xe(t){return t.map(e=>e.node)}var Xi="Executing this GraphQL operation would unexpectedly produce multiple payloads (due to @defer or @stream directive)",ln=class extends pn{executeCollectedRootFields(e,r,n,i,o){if(o.length>0){this.validatedExecutionArgs.operation.operation===G.SUBSCRIPTION&&L(!1,"`@defer` directive not supported on subscription operations. Disable `@defer` by setting the `if` argument to `false`.");let s=new Error(Xi);throw this.abort(s),s}return this.executeRootGroupedFieldSet(e,r,n,i,void 0)}executeCollectedSubfields(e,r,n,i,o){if(o.length>0){this.validatedExecutionArgs.operation.operation===G.SUBSCRIPTION&&L(!1,"`@defer` directive not supported on subscription operations. Disable `@defer` by setting the `if` argument to `false`.");let s=new Error(Xi);throw this.abort(s),s}return this.executeFields(e,r,n,i,void 0)}completeListValue(e,r,n,i,o,s){if(un(this.validatedExecutionArgs,r)!==void 0){this.validatedExecutionArgs.operation.operation===G.SUBSCRIPTION&&L(!1,"`@stream` directive not supported on subscription operations. Disable `@stream` by setting the `if` argument to `false`.");let c=new Error(Xi);throw this.abort(c),c}return super.completeListValue(e,r,n,i,o,s)}};var hp="The provided schema unexpectedly contains experimental directives (@defer or @stream). These directives may only be utilized if experimental execution features are explicitly enabled.";function dn(t){return Oe(qn)?_t(qn,yp(t),()=>Ys(t)):Ys(t)}function yp(t){let e,r=()=>(e===void 0&&(e=Cs(t.document,t.operationName)),e);return{schema:t.schema,document:t.document,rawVariableValues:t.variableValues,get operationName(){return t.operationName??r()?.name?.value},get operationType(){return r()?.operation}}}function Ys(t){if(t.schema.getDirective("defer")||t.schema.getDirective("stream"))throw new Error(hp);let e=Zi(t);return"schema"in e?zi(e):{errors:e}}function zi(t){return new ln(t).executeRootSelectionSet()}function Zi(t){let{schema:e,document:r,rootValue:n,contextValue:i,variableValues:o,operationName:s,fieldResolver:a,typeResolver:c,subscribeFieldResolver:p,abortSignal:l,enableEarlyExecution:f,hooks:m,options:T}=t;Lt(e);let y,O=Object.create(null),S=Object.create(null),_=[];for(let oe of r.definitions)switch(oe.kind){case u.OPERATION_DEFINITION:if(s==null){if(y!==void 0)return[new d("Must provide operation name if query contains multiple operations.")];y=oe}else oe.name?.value===s&&(y=oe);break;case u.FRAGMENT_DEFINITION:{O[oe.name.value]=oe;let ho;if(oe.variableDefinitions){let yo=Object.create(null);for(let la of oe.variableDefinitions){let yr=en(e,la);if(yr instanceof d){_.push(yr);continue}yo[yr.name]=yr}ho=yo}S[oe.name.value]={definition:oe,variableSignatures:ho};break}default:}if(!y)return s!=null?[new d(`Unknown operation named "${s}".`)]:[new d("Must provide an operation.")];if(_.length>0)return _;let W=y.variableDefinitions??[],K=t.hideSuggestions??!1,Y=o??{},pe={maxErrors:T?.maxCoercionErrors??50,hideSuggestions:K},Ve=cs,Ue=Oe(Ve)?_t(Ve,{schema:e,document:r,operation:y,rawVariableValues:o,operationName:y.name?.value,operationType:y.operation},()=>tn(e,W,Y,pe)):tn(e,W,Y,pe);if(Ue.errors)return Ue.errors;let It=!y.directives?.find(oe=>oe.name.value===es.name);return{schema:e,document:r,fragmentDefinitions:O,fragments:S,rootValue:n,contextValue:i,operation:y,variableValues:Ue.variableValues,fieldResolver:a??fn,typeResolver:c??eo,subscribeFieldResolver:p??fn,hideSuggestions:K,errorPropagation:It,externalAbortSignal:l??void 0,enableEarlyExecution:f===!0,hooks:m??void 0,rawVariableValues:o}}var eo=function(t,e,r,n){if(H(t)&&typeof t.__typename=="string")return t.__typename;let i=r.schema.getPossibleTypes(n),o=[];try{for(let s=0;s<i.length;s++){let a=i[s];if(a.isTypeOf){let c=a.isTypeOf(t,e,r);if(de(c))o[s]=c;else if(c)return o.length&&r.getAsyncHelpers().track(o),a.name}}}catch(s){throw o.length&&r.getAsyncHelpers().track(o),s}if(o.length)return r.getAsyncHelpers().promiseAll(o).then(s=>{for(let a=0;a<s.length;a++)if(s[a])return i[a].name})},fn=function(t,e,r,n){if(H(t)||typeof t=="function"){let i=t[n.fieldName];return typeof i=="function"?t[n.fieldName](e,r,n):i}};var g=require("@medplum/core");var A=require("@medplum/core"),Dp=5,Lp=[A.PropertyType.canonical,A.PropertyType.uri];async function to(t,e,r,n,i){let o=i?.maxDepth??Dp,s=i?.maxResults??A.DEFAULT_MAX_SEARCH_COUNT,a=r,c=!1,p=new Set(r.map(f=>`${f.resourceType}/${f.id}`)),l=0;for(;a.length>0;){if(l>=o||n.length>s)throw new Error(`Search with _(rev)include reached query scope limit: depth=${l}, results=${n.length}`);let f=(0,A.flatMapFilter)(e.include,y=>!c||y.modifier===A.Operator.ITERATE?Hs(t,y,a,i):void 0),m=(0,A.flatMapFilter)(e.revInclude,y=>!c||y.modifier===A.Operator.ITERATE?Ws(t,y,a,i):void 0),T=(await Promise.all([...f,...m])).flat();a=[];for(let y of T){let O=y.resource;a.push(O);let S=`${O.resourceType}/${O.id}`;p.has(S)||n.push(y),p.add(S)}c=!0,l++}}async function Hs(t,e,r,n){let{resourceType:i,searchParam:o,targetType:s}=e,a=(0,A.getSearchParameter)(i,o);if(!a)throw new A.OperationOutcomeError((0,A.badRequest)(`Invalid include parameter: ${i}:${o}`));let c=(0,A.evalFhirPathTyped)(a.expression,r.map(A.toTypedValue)),p=[],l=[];for(let y of c)y.type===A.PropertyType.Reference?p.push(y.value):Lp.includes(y.type)&&l.push(y.value);let f=s?p.filter(y=>y.reference?.startsWith(s+"/")):p,m=(await t.readReferences(f)).filter(y=>(0,A.isResource)(y)),T=s?a.target?.filter(y=>y===s):a.target;if(T?.length&&l.length>0){let y=n?.executeSearch??(_=>t.searchResources(_)),O=T.map(_=>y({resourceType:_,filters:[{code:"url",operator:A.Operator.EQUALS,value:l.join(",")}],count:A.DEFAULT_MAX_SEARCH_COUNT,offset:0})),S=new Set(l);for(let _ of await Promise.all(O))for(let W of _){let K=Xs(W);K&&S.has(K)&&m.push(W)}}return m.map(y=>Js(y,n))}async function Ws(t,e,r,n){let{resourceType:i,searchParam:o,targetType:s}=e,a=(0,A.getSearchParameter)(i,o);if(!a)throw new A.OperationOutcomeError((0,A.badRequest)(`Invalid include parameter: ${i}:${o}`));let c=(0,A.getSearchParameterDetails)(i,a).type===A.SearchParameterType.CANONICAL,p=[];for(let m of r)if(!(s&&m.resourceType!==s))if(c){let T=Xs(m);T&&p.push(T)}else{let T=(0,A.getReferenceString)(m);T&&p.push(T)}return p.length===0?[]:(await(n?.executeSearch??(m=>t.searchResources(m)))({resourceType:i,filters:[{code:o,operator:A.Operator.EQUALS,value:p.join(",")}],count:A.DEFAULT_MAX_SEARCH_COUNT,offset:0})).map(m=>Js(m,n))}function Js(t,e){let r=e?.fullUrl?.(t.resourceType,t.id);return{...r?{fullUrl:r}:void 0,search:{mode:"include"},resource:t}}function Xs(t){return"url"in t?t.url:void 0}var fr={READER:"reader",WRITER:"writer"},mn=class{async searchOne(e){return(await this.search({...e,count:1})).entry?.[0]?.resource}async searchResources(e){return(await this.search(e)).entry?.map(n=>n.resource)??[]}async conditionalCreate(e,r,n){if(r.resourceType!==e.resourceType)throw new g.OperationOutcomeError((0,g.badRequest)("Search type must match resource type for conditional update"));return r.count=2,r.sortRules=void 0,this.withTransaction(async i=>{let o=await i.searchResources(r);if(o.length===1){let a=o[0];if(!n?.assignedId&&e.id&&e.id!==a.id)throw new g.OperationOutcomeError((0,g.badRequest)("Resource ID did not match resolved ID",e.resourceType+".id"));return{resource:o[0],outcome:g.allOk}}else if(o.length>1)throw new g.OperationOutcomeError(g.multipleMatches);return{resource:await i.createResource(e,n),outcome:g.created}},{resourceTypes:(0,g.getSearchResourceTypes)(r),serializable:!0})}async conditionalUpdate(e,r,n){if(r.resourceType!==e.resourceType)throw new g.OperationOutcomeError((0,g.badRequest)("Search type must match resource type for conditional update"));return r.count=2,r.sortRules=void 0,this.withTransaction(async i=>{let o=await i.searchResources(r);if(o.length===0){if(e.id&&!n?.assignedId)throw new g.OperationOutcomeError((0,g.badRequest)("Cannot perform create as update with client-assigned ID",e.resourceType+".id"));return{resource:await i.createResource(e,n),outcome:g.created}}else if(o.length>1)throw new g.OperationOutcomeError(g.multipleMatches);let s=o[0];if(e.id&&e.id!==s.id)throw new g.OperationOutcomeError((0,g.badRequest)("Resource ID did not match resolved ID",e.resourceType+".id"));return{resource:await i.updateResource({...e,id:s.id},n),outcome:g.allOk}},{serializable:!0,resourceTypes:(0,g.getSearchResourceTypes)(r)})}async conditionalDelete(e){e.count=2,e.sortRules=void 0,await this.withTransaction(async r=>{let n=await r.searchResources(e);if(n.length>1)throw new g.OperationOutcomeError(g.multipleMatches);if(!n.length)return;let i=n[0];await r.deleteResource(i.resourceType,i.id)},{serializable:!0,resourceTypes:(0,g.getSearchResourceTypes)(e)})}async conditionalPatch(e,r,n){return e.count=2,e.sortRules=void 0,this.withTransaction(async i=>{let o=await i.searchResources(e);if(o.length>1)throw new g.OperationOutcomeError(g.multipleMatches);if(!o.length)throw new g.OperationOutcomeError(g.notFound);let s=o[0];return i.patchResource(s.resourceType,s.id,r,n)},{serializable:!0,resourceTypes:(0,g.getSearchResourceTypes)(e)})}},ro=class extends mn{constructor(){super();$(this,"resources");$(this,"history");$(this,"seeding");this.resources=new Map,this.history=new Map,this.seeding=!1}async withSeeding(r){if(this.seeding)return r();this.seeding=!0;let n=await r();return this.seeding=!1,n}clear(){this.resources.clear(),this.history.clear()}setMode(r){}createResourceSync(r,n,i=!1){let o=JSON.parse((0,g.stringify)(r)),s={...o,id:o.id??this.generateId(),meta:o.meta??{}};this.seeding||(s.meta.versionId&&delete s.meta.versionId,s.meta.lastUpdated&&delete s.meta.lastUpdated),s.meta.versionId??=(0,g.generateId)(),s.meta.lastUpdated??=new Date().toISOString();let{resourceType:a,id:c}=s,p=this.resources.get(a);if(p||(p=new Map,this.resources.set(a,p)),!i&&p.has(c))throw new g.OperationOutcomeError((0,g.badRequest)("Assigned ID is already in use"));p.set(c,s);let l=this.history.get(a);l||(l=new Map,this.history.set(a,l));let f=l.get(c);return f||(f=[],l.set(c,f)),f.push(s),(0,g.deepClone)(s)}async createResource(r,n,i=!1){return this.createResourceSync(r,n,i)}generateId(){return(0,g.generateId)()}updateResource(r,n){if(!r.id)throw new g.OperationOutcomeError((0,g.badRequest)("Missing id"));if(n?.ifMatch){let i=n.ifMatch,o=this.resources.get(r.resourceType)?.get(r.id);if(!o)throw new g.OperationOutcomeError(g.notFound);if(o.meta?.versionId!==i)throw new g.OperationOutcomeError(g.preconditionFailed)}return this.createResource(r,void 0,!0)}async patchResource(r,n,i,o){let s=await this.readResource(r,n);try{if(Array.isArray(i)){let a=(0,g.applyPatch)(s,i).filter(Boolean);if(a.length>0)throw new g.OperationOutcomeError((0,g.badRequest)(a.map(c=>c.message).join(`
|
|
53
|
-
`)))}else i.parameter&&(0,g.fhirpathPatchTypedValue)((0,g.toTypedValue)(s),(0,g.parseFhirPathPatchParameters)(i))}catch(a){throw new g.OperationOutcomeError((0,g.normalizeOperationOutcome)(a))}return s.meta&&(delete s.meta.versionId,delete s.meta.lastUpdated),this.updateResource(s,o)}async readResource(r,n){let i=this.resources.get(r)?.get(n);if(!i)throw new g.OperationOutcomeError(g.notFound);return(0,g.deepClone)(i)}async readReference(r){let n=r.reference?.split("/");if(n?.length!==2)throw new g.OperationOutcomeError((0,g.badRequest)("Invalid reference"));return this.readResource(n[0],n[1])}async readReferences(r){return Promise.all(r.map(async n=>this.readReference(n).catch(i=>i instanceof g.OperationOutcomeError?i:new g.OperationOutcomeError((0,g.normalizeOperationOutcome)(i)))))}async readHistory(r,n){await this.readResource(r,n);let i=(this.history.get(r)?.get(n)??[]).reverse().map(o=>({resource:(0,g.deepClone)(o)}));return{resourceType:"Bundle",type:"history",...i.length?{entry:i}:void 0}}async readVersion(r,n,i){await this.readResource(r,n);let o=this.history.get(r)?.get(n)?.find(s=>s.meta?.versionId===i);if(!o)throw new g.OperationOutcomeError(g.notFound);return(0,g.deepClone)(o)}searchSync(r){let{resourceType:n}=r,i=this.resources.get(n)??new Map,o=[];for(let a of i.values())(0,g.matchesSearchRequest)(a,r)&&o.push(a);let s=o.map(a=>({search:{mode:"match"},resource:(0,g.deepClone)(a)}));for(let a of r.sortRules??g.EMPTY)s=s.sort((c,p)=>_p(c.resource,p.resource,a));return r.offset!==void 0&&(s=s.slice(r.offset)),r.count!==void 0&&(s=s.slice(0,r.count)),{resourceType:"Bundle",type:"searchset",entry:s.length?s:void 0,total:o.length}}async search(r){let n=this.searchSync(r);if((r.include||r.revInclude)&&n.entry?.length){let i=n.entry,o=i.map(s=>s.resource);await to(this,r,o,i),n.entry=i}return n}async conditionalCreate(r,n,i){if(n.resourceType!==r.resourceType)throw new g.OperationOutcomeError((0,g.badRequest)("Search type must match resource type for conditional update"));n.count=2,n.sortRules=void 0;let s=this.searchSync(n).entry?.map(c=>c.resource)??[];if(s.length===1){let c=s[0];if(!i?.assignedId&&r.id&&r.id!==c.id)throw new g.OperationOutcomeError((0,g.badRequest)("Resource ID did not match resolved ID",r.resourceType+".id"));return{resource:s[0],outcome:g.allOk}}else if(s.length>1)throw new g.OperationOutcomeError(g.multipleMatches);return{resource:this.createResourceSync(r,i),outcome:g.created}}async searchByReference(r,n,i){r.filters??=[];let o={};for(let s of i){r.filters.push({code:n,operator:g.Operator.EQUALS,value:s});let a=await this.search(r);o[s]=[];for(let c of a.entry??g.EMPTY)c.resource&&o[s].push(c.resource);r.filters.pop()}return o}async deleteResource(r,n){if(!this.resources.get(r)?.get(n))throw new g.OperationOutcomeError(g.notFound);this.resources.get(r)?.delete(n)}withTransaction(r){return r(this)}},_p=(t,e,r)=>{let i=g.globalSchema.types[t.resourceType]?.searchParams?.[r.code]?.expression;if(!i)return 0;let o=JSON.stringify((0,g.evalFhirPath)(i,t)),s=JSON.stringify((0,g.evalFhirPath)(i,e));return o.localeCompare(s)*(r.descending?-1:1)};var gt=require("@medplum/core");var xe=require("@medplum/core"),zs=Eo(require("dataloader"),1);var hn={base64Binary:b,boolean:Q,canonical:b,code:b,date:b,dateTime:b,decimal:he,id:ve,instant:b,integer:he,markdown:b,number:he,oid:b,positiveInt:he,string:b,time:b,unsignedInt:he,uri:b,url:b,uuid:b,xhtml:b,"http://hl7.org/fhirpath/System.Boolean":Q,"http://hl7.org/fhirpath/System.Date":b,"http://hl7.org/fhirpath/System.DateTime":b,"http://hl7.org/fhirpath/System.Decimal":he,"http://hl7.org/fhirpath/System.Integer":he,"http://hl7.org/fhirpath/System.String":b,"http://hl7.org/fhirpath/System.Time":b};function Zs(t,e,r){let n;if(e){let o=r._reference;delete r._reference,n={code:o,operator:xe.Operator.EQUALS,value:(0,xe.getReferenceString)(e)}}return r=Object.fromEntries(Object.entries(r).map(([o,s])=>[Ap(o),s])),{searchRequest:(0,xe.parseSearchRequest)(t,r),referenceFilter:n}}function ea(t,e){let r=t.filters||[];t.filters=[e,...r]}function ta(t,e,r){let{searchRequest:n,referenceFilter:i}=Zs(t,e,r);return i&&ea(n,i),n}function no(t,e){t.count=Math.min(t.count??xe.DEFAULT_SEARCH_COUNT,e??xe.DEFAULT_MAX_SEARCH_COUNT)}function Ap(t){return t.startsWith("_")?t:t.replaceAll("_","-")}function io(t){return t.replaceAll("-","_")}function Fp(t){return JSON.stringify(t,(r,n)=>n&&typeof n=="object"&&!Array.isArray(n)?Object.keys(n).sort((i,o)=>i.localeCompare(o)).reduce((i,o)=>(i[o]=n[o],i),{}):n)}async function yn(t,e,r,n){if(r.searchCount++,r.config?.graphqlMaxSearches&&r.searchCount>r.config.graphqlMaxSearches)throw new Error("Maximum number of searches exceeded");let i=n.fieldName,o=i.substring(0,i.length-4),{searchRequest:s,referenceFilter:a}=Zs(o,t,e);no(s,r.config?.graphqlMaxSearches);let c=r.config?.graphqlBatchedSearchSize??0;if(c===0||!a)return a&&ea(s,a),(await r.repo.search(s)).entry?.map(m=>m.resource);let p=Fp(s);return(r.searchDataLoaders[p]??=Cp(r.repo,s,c)).load(a)}function Cp(t,e,r){return new zs.default(async n=>{let i=await t.searchByReference(e,n[0].code,n.map(o=>o.value));return n.map(o=>i[o.value])},{maxBatchSize:r,cacheKeyFn:n=>`${n.code} ${n.operator} ${n.value}`})}function dr(t){let e={_count:{type:ue,description:"Specify how many elements to return from a repeating list."},_offset:{type:ue,description:"Specify the offset to start at for a repeating element."},_sort:{type:b,description:"Specify the sort order by comma-separated list of sort rules in priority order."},_id:{type:b,description:"Select resources based on the logical id of the resource."},_lastUpdated:{type:b,description:"Select resources based on the last time they were changed."},_filter:{type:b,description:" The _filter parameter provides a syntax for expressing a set of query expressions on the underlying resources."},_cursor:{type:b,description:"The _cursor parameter is used to retrieve the next page of results from a previous search."}},r=(0,xe.getSearchParameters)(t);if(r)for(let[n,i]of Object.entries(r))e[io(n)]={type:b,description:i.description};return e}function oo(t,e){return t.fieldNodes.some(r=>r.selectionSet?.selections.some(n=>n.kind===u.FIELD&&n.name.value===e))}function ra(t){return{resourceType:"OperationOutcome",issue:t.map(e=>({severity:"error",code:"invalid",details:{text:e.message}}))}}var na={...hn},ia;function mr(t,e){let r=na[t];return r||(r=kp(t,e),na[t]=r),r}function kp(t,e){let r=(0,gt.getDataType)(t);return new je({name:t+e,description:r.description,fields:()=>Pp(t,e)})}function Pp(t,e){let r={};if((0,gt.isResourceType)(t)){let n={description:"The type of resource",type:b};r.resourceType=n}return Mp(t,r,e),r}function Mp(t,e,r){let n=(0,gt.getDataType)(t);for(let[i,o]of Object.entries(n.elements))for(let s of o.type)Vp(e,i,o,s,r)}function Vp(t,e,r,n,i){let o=n.code;if(o==="Resource")return;(o==="Element"||o==="BackboneElement")&&(o=r.type[0].code);let s={description:r.description,type:mr(o,i)};r.max>1&&(s.type=new B(new N(mr(o,i)))),r.min>0&&!e.endsWith("[x]")&&(s.type=new N(s.type));let a=e.split(".").pop().replace("[x]",(0,gt.capitalize)(n.code));t[a]=s}function oa(){return ia??=new je({name:"PatchOperationInput",description:"A JSON Patch operation as per RFC 6902",fields:{op:{type:new N(b),description:"The operation to perform"},path:{type:new N(b),description:"A JSON-Pointer"},value:{type:b,description:"The value to use within the operations. (May be any scalar, but GraphQL input types are limited.)"}}}),ia}var U=require("@medplum/core");var Mt={...hn};function Et(t){let e=Mt[t];return e||(e=so(t),Mt[t]=e),e}function so(t){if(t==="ResourceList")return new nt({name:"ResourceList",types:()=>(0,U.getResourceTypes)().map(Et).filter(r=>!!r),resolveType:Hp});let e=(0,U.getDataType)(t);return new z({name:t,description:e.description,fields:()=>Up(t)})}function Up(t){let e={};return $p(t,e),jp(t,e),e}function $p(t,e){let r=(0,U.getDataType)(t);(0,U.isResourceTypeSchema)(r)&&(e.resourceType={type:new N(b),description:"Resource Type"}),t==="Reference"&&(e.resource={description:"Reference",type:Et("ResourceList"),resolve:Yp});for(let[n,i]of Object.entries(r.elements))for(let o of i.type)Gp(e,n,i,o)}function Gp(t,e,r,n){let i=n.code;(i==="Element"||i==="BackboneElement")&&(i=r.type[0].code),i==="Resource"&&(i="ResourceList");let o={description:r.description,type:qp(r,i,e),resolve:Kp};r.max>1&&(o.args=Bp(i));let s=e.split(".").pop().replace("[x]",(0,U.capitalize)(n.code));t[s]=o}function Bp(t){let e={_count:{type:ue,description:"Specify how many elements to return from a repeating list."},_offset:{type:ue,description:"Specify the offset to start at for a repeating element."}};if(!(0,U.isLowerCase)(t.charAt(0))){e.fhirpath={type:b,description:"A FHIRPath statement selecting which of the subnodes is to be included"};let r=(0,U.tryGetDataType)(t);if(r?.elements)for(let[n,i]of Object.entries(r.elements))for(let o of i.type)Qp(e,n,i,o)}return e}function Qp(t,e,r,n){let i=n.code,o=e.replace("[x]",(0,U.capitalize)(i));switch(i){case"canonical":case"code":case"id":case"oid":case"string":case"uri":case"url":case"uuid":case"http://hl7.org/fhirpath/System.String":t[o]={type:b,description:r.description};break}}function jp(t,e){for(let r of(0,U.getResourceTypes)()){let n=Et(r),i=(0,U.getSearchParameters)(r),o={},s=0;if(i)for(let[a,c]of Object.entries(i))c.target?.includes(t)&&(o[io(a)]={value:a},s++);if(s>0){let a=new Pe({name:t+"_"+r+"_reference",values:o}),c=dr(r);c._reference={type:new N(a),description:`Specify which property to use for reverse lookup for ${r}`},e[r+"List"]={type:new B(n),args:c,resolve:yn},e[r+"Connection"]={type:ao(r,n),args:c,resolve:co}}}}function qp(t,e,r){let n=Et(e),i=t.max>1?new B(new N(n)):n;return t.min!==0&&!r.endsWith("[x]")&&(i=new N(i)),i}async function Kp(t,e,r,n){let i=t?.[n.fieldName];if(!e||!i)return i;let{_offset:o,_count:s,fhirpath:a,...c}=e,p=i;for(let[l,f]of Object.entries(c))p=p.filter(m=>m[l]===f);return a&&(p=p.filter(l=>(0,U.toJsBoolean)((0,U.evalFhirPathTyped)(a,[(0,U.toTypedValue)(l)])))),o&&(p=p.slice(o)),s&&(p=p.slice(0,s)),p}async function Yp(t,e,r){if((0,U.isReference)(t))try{return await r.dataLoader.load(t)}catch(n){throw new U.OperationOutcomeError((0,U.normalizeOperationOutcome)(n),{cause:n})}}function Hp(t){let e=t?.resourceType;if(e)return Et(e).name}var Wp=new M.LRUCache,uo;async function aa(t,e,r,n){let{query:i,operationName:o,variables:s}=t.body;if(!i)return[(0,M.badRequest)("Must provide query.")];let a;try{a=jr(i)}catch{return[(0,M.badRequest)("GraphQL syntax error.")]}let c=zp(),p=[...Pt,ul(r,t.config?.graphqlMaxDepth),ll(r)],l=an(c,a,p);if(l.length>0)return[ra(l)];let f=Jp(i);if(f&&!r.options?.introspectionEnabled)return[M.forbidden];!n?.batch&&!Xp(i)&&e.setMode(fr.READER);let m=new sa.default(y=>e.readReferences(y),{cacheKeyFn:y=>y.reference??""}),T=f&&Wp.get(i);if(!T){let y={repo:e,config:t.config,dataLoader:m,searchCount:0,searchDataLoaders:Object.create(null)};T=await dn({schema:c,document:a,contextValue:y,operationName:o,variableValues:s})}return[M.allOk,T,{contentType:M.ContentType.JSON}]}function Jp(t){return t.includes("query IntrospectionQuery")||t.includes("__schema")}function Xp(t){return t.includes("mutation")}function zp(){return uo||(uo=Zp()),uo}function Zp(){for(let r of(0,M.getResourceTypes)())Mt[r]=so(r);let t={},e={};for(let r of(0,M.getResourceTypes)()){let n=Et(r);t[r]={type:n,args:{id:{type:new N(ve),description:r+" ID"}},resolve:nl},t[r+"List"]={type:new B(n),args:dr(r),resolve:yn},t[r+"Connection"]={type:ao(r,n),args:dr(r),resolve:co},e[r+"Create"]={type:n,args:el(r),resolve:il},e[r+"Update"]={type:n,args:tl(r),resolve:ol},e[r+"Patch"]={type:n,args:hl(r),resolve:al},e[r+"Delete"]={type:n,args:{id:{type:new N(ve),description:r+" ID"}},resolve:sl}}return new lt({query:new z({name:"QueryType",fields:t}),mutation:new z({name:"MutationType",fields:e})})}function el(t){return{res:{type:new N(mr(t,"Create")),description:t+" Create"}}}function tl(t){return{id:{type:new N(ve),description:t+" ID"},res:{type:new N(mr(t,"Update")),description:t+" Update"}}}function ao(t,e){let r=t+"Connection",n=Mt[r];return n||(n=rl(t,e),Mt[r]=n),n}function rl(t,e){return new z({name:t+"Connection",fields:{count:{type:ue},offset:{type:ue},pageSize:{type:ue},first:{type:b},previous:{type:b},next:{type:b},last:{type:b},edges:{type:new B(new z({name:t+"ConnectionEdge",fields:{mode:{type:b},score:{type:he},resource:{type:e}}}))}}})}async function co(t,e,r,n){let i=n.fieldName,o=i.substring(0,i.length-10),s=ta(o,t,e);oo(n,"count")&&(s.total="accurate"),oo(n,"edges")||(s.count=0),no(s,r.config?.graphqlMaxSearches);let a=await r.repo.search(s);return{count:a.total,offset:s.offset??0,pageSize:s.count??M.DEFAULT_SEARCH_COUNT,edges:a.entry?.map(c=>({mode:c.search?.mode,score:c.search?.score,resource:c.resource})),next:ml(a)}}async function nl(t,e,r,n){try{return await r.dataLoader.load({reference:`${n.fieldName}/${e.id}`})}catch(i){throw new M.OperationOutcomeError((0,M.normalizeOperationOutcome)(i),{cause:i})}}async function il(t,e,r,n){let i=n.fieldName,o=i.substring(0,i.length-6),s=e.res;if(s.resourceType!==o)throw new M.OperationOutcomeError((0,M.badRequest)("Invalid resourceType"));return r.repo.createResource((0,M.deepClone)(s))}async function ol(t,e,r,n){let i=n.fieldName,o=i.substring(0,i.length-6),s=e.res,a=e.id;if(s.resourceType!==o)throw new M.OperationOutcomeError((0,M.badRequest)("Invalid resourceType"));if(a!==s.id)throw new M.OperationOutcomeError((0,M.badRequest)("Invalid ID"));return r.repo.updateResource((0,M.deepClone)(s))}async function sl(t,e,r,n){let i=n.fieldName,o=i.substring(0,i.length-6);await r.repo.deleteResource(o,e.id)}async function al(t,e,r,n){let i=n.fieldName,o=i.substring(0,i.length-5),s=e.id,a=e.patch;if(!o||!s||!Array.isArray(a))throw new M.OperationOutcomeError((0,M.badRequest)("Invalid patch arguments"));return r.repo.patchResource(o,s,a)}var cl=12,ul=(t,e=cl)=>r=>new po(r,t,e),po=class{constructor(e,r,n){$(this,"context");$(this,"maxDepth");$(this,"fragmentDepths");$(this,"router");this.context=e,this.router=r,this.fragmentDepths=Object.create(null),this.maxDepth=n}OperationDefinition(e){let r=this.getDepth(...e.selectionSet.selections);r.depth>this.maxDepth&&this.router.log("warn","Query max depth too high",{depth:r.depth,limit:this.maxDepth,query:e.loc?.source?.body})}getDepth(...e){let r={depth:-1};for(let n of e){let i={depth:0};if(n.kind===u.FIELD)n.selectionSet?.selections?(i=this.getDepth(...n.selectionSet.selections),i.depth+=1):i={depth:0,node:n};else if(n.kind===u.FRAGMENT_SPREAD){let o=n.name.value,s=this.context.getFragment(o),a=this.fragmentDepths[o];a?i=a:s&&(i=this.getDepth(...s.selectionSet.selections),this.fragmentDepths[o]=i)}else n.kind===u.INLINE_FRAGMENT&&(i=this.getDepth(...n.selectionSet.selections));if(i.depth>this.maxDepth)return i;i.depth>r.depth&&(r=i)}return r}},pl=1e4,ll=(t,e)=>r=>new lo(r,t,e),lo=class{constructor(e,r,n){$(this,"context");$(this,"maxCost");$(this,"debug");$(this,"router");$(this,"fragmentCosts");this.context=e,this.maxCost=n?.maxCost??pl,this.debug=n?.debug??!1,this.router=r,this.fragmentCosts=Object.create(null)}OperationDefinition(e){let r=0;for(let n of e.selectionSet.selections){let i=performance.now(),o=this.calculateCost(n);r+=o,this.log(n.kind,"node has final cost",o,"(",performance.now()-i,"ms)"),r>this.maxCost&&this.router.log("warn","GraphQL query too complex",{cost:r,limit:this.maxCost,query:e.loc?.source?.body})}}calculateCost(...e){let r=0;for(let n of e){if(n.kind===u.FIELD&&n.selectionSet){let i=0,o=1;fl(n)?(this.log("Found search field",n.name.value),i=8,o=this.getCount(n.arguments)??20):dl(n)&&(this.log("Found linked resource"),i=1,o=2);let s=i+o*this.calculateCost(...n.selectionSet.selections);s&&this.log("Field",n.name.value,"costs",s),r+=s}else if(n.kind===u.FRAGMENT_SPREAD){let i=n.name.value,o=this.context.getFragment(i),s=this.fragmentCosts[i];if(s!==void 0)this.log("Fragment",i,"costs",s,"(cached)"),r+=s;else if(o){let a=this.calculateCost(...o.selectionSet.selections);this.fragmentCosts[i]=a,this.log("Fragment",i,"costs",a),r+=a}}else if(n.kind===u.INLINE_FRAGMENT){let i=this.calculateCost(...n.selectionSet.selections);this.log("Inline fragment on",n.typeCondition?.name.value,"costs",i),r+=i}if(r>this.maxCost)return r}return r}getCount(e){let r=e?.find(n=>n.name.value==="_count");if(r?.value.kind===u.INT)return Number.parseInt(r.value.value,10)}log(...e){this.debug&&console.log(...e)}};function fl(t){return t.name.value.endsWith("List")}function dl(t){return t.name.value==="resource"}function ml(t){let e=t.link?.find(r=>r.relation==="next")?.url;if(e)return new URL(e).searchParams.get("_cursor")||void 0}function hl(t){return{id:{type:new N(ve),description:t+" ID"},patch:{type:new N(new B(new N(oa()))),description:"Array of patch operations"}}}var hr=class{constructor(){$(this,"routes",[])}add(e,r,n,i){let o=r.split("/").filter(s=>!!s).map(s=>s.startsWith(":")?{value:s.substring(1),param:!0}:{value:s});this.routes.push({method:e,path:o,handler:n,data:i})}find(e,r){let n=r.indexOf("?"),i=n>-1,o=r.substring(0,i?n:r.length).split("/").filter(Boolean),s,a=-1;for(let c of this.routes){let p=yl(c,e,o);p>a&&(s=c,a=p)}if(s)return{handler:s.handler,path:o.join("/"),params:Tl(s,o),query:i?gl(r):void 0,data:s.data}}};function yl(t,e,r){if(e!==t.method||r.length!==t.path.length)return-1;let n=0;for(let i=0;i<r.length;i++)if(!t.path[i].param){if(r[i]!==t.path[i].value)return-1;n++}return n}function Tl(t,e){let r=Object.create(null);for(let n=0;n<e.length;n++)t.path[n].param&&(r[t.path[n].value]=e[n]);return r}function gl(t){let e=new URL(t,"https://example.com/"),r=Object.create(null),n=e.searchParams;for(let i of n.keys()){let o=n.getAll(i);r[i]=o.length===1?o[0]:o}return r}async function El(t,e,r){let n=t.body;if(n.resourceType!=="Bundle")return[(0,w.badRequest)("Not a bundle")];let i=await Tr(t,e,r,n);return[w.allOk,i]}async function Il(t,e,r,n){mo(t,e,n);let{resourceType:i}=t.params,o=await e.search((0,w.parseSearchRequest)(i,t.query));return[w.allOk,o]}async function Nl(t,e,r,n){mo(t,e,n);let i=(0,w.parseSearchRequest)("MultipleTypes",t.query);if(!i.types||i.types.length===0)return[(0,w.badRequest)("No types specified")];let o=await e.search(i);return[w.allOk,o]}async function bl(t,e,r,n){mo(t,e,n);let{resourceType:i}=t.params,o=t.body,s=await e.search((0,w.parseSearchRequest)(i,o));return[w.allOk,s]}function mo(t,e,r){!r?.batch&&t.config?.searchOnReader&&e.setMode(fr.READER)}async function vl(t,e,r,n){let{resourceType:i}=t.params,o=t.body,s=!!n?.batch;if(t.query?._account&&typeof t.query._account=="string"&&(o.meta=o.meta||{},o.meta.account={reference:t.query._account}),t.headers?.["if-none-exist"]){let a=(0,w.singularize)(t.headers["if-none-exist"]),c=await e.conditionalCreate(o,(0,w.parseSearchRequest)(`${i}?${a}`),{assignedId:s});return[c.outcome,c.resource]}return ua(i,o,e,{assignedId:s})}async function ua(t,e,r,n){if(t?.startsWith("$"))return[w.notFound];if(e.resourceType!==t)return[(0,w.badRequest)(`Incorrect resource type: expected ${t}, but found ${e.resourceType||"<EMPTY>"}`)];let i=await r.createResource(e,n);return[w.created,i]}async function Rl(t,e){let{resourceType:r,id:n}=t.params,i=await e.readResource(r,n);return[w.allOk,i]}async function Sl(t,e){let{resourceType:r,id:n}=t.params,i=ca(t.query,"_offset"),o=ca(t.query,"_count"),s=await e.readHistory(r,n,{offset:i,limit:o});return[w.allOk,s]}async function Ol(t,e){let{resourceType:r,id:n,vid:i}=t.params,o=await e.readVersion(r,n,i);return[w.allOk,o]}async function xl(t,e){let{resourceType:r,id:n}=t.params,i=t.body;return pa(r,n,i,e,{ifMatch:Tn(t.headers?.["if-match"])})}async function pa(t,e,r,n,i){if(r.resourceType!==t)return[(0,w.badRequest)("Incorrect resource type")];if(r.id!==e)return[(0,w.badRequest)("Incorrect resource ID")];let o=await n.updateResource(r,i);return[w.allOk,o]}async function wl(t,e,r,n){let{resourceType:i}=t.params,o=t.body,s=(0,w.parseSearchRequest)(i,t.query),a=await e.conditionalUpdate(o,s,{assignedId:n?.batch,ifMatch:Tn(t.headers?.["if-match"])});return[a.outcome,a.resource]}async function Dl(t,e){let{resourceType:r,id:n}=t.params;return await e.deleteResource(r,n),[w.allOk]}async function Ll(t,e){let{resourceType:r}=t.params,n=(0,w.parseSearchRequest)(r,t.query);return await e.conditionalDelete(n),[w.allOk]}async function _l(t,e){let{resourceType:r,id:n}=t.params,i=t.body;if(!i)return[(0,w.badRequest)("Empty patch body")];if(!Array.isArray(i)&&!(0,w.isResource)(i,"Parameters"))return[(0,w.badRequest)("Invalid patch body")];let o=await e.patchResource(r,n,i,{ifMatch:Tn(t.headers?.["if-match"])});return[w.allOk,o]}async function Al(t,e){let{resourceType:r}=t.params,n=t.body;if(!n)return[(0,w.badRequest)("Empty patch body")];if(!Array.isArray(n))return[(0,w.badRequest)("Patch body must be an array")];let i=(0,w.parseSearchRequest)(r,t.query),o=await e.conditionalPatch(i,n,{ifMatch:Tn(t.headers?.["if-match"])});return[w.allOk,o]}var fo=class extends w.EventTarget{constructor(r={}){super();$(this,"router",new hr);$(this,"options");this.options=r,this.router.add("GET","",Nl,{interaction:"search-system"}),this.router.add("POST","",El,{interaction:"batch"}),this.router.add("GET",":resourceType",Il,{interaction:"search-type"}),this.router.add("POST",":resourceType/_search",bl,{interaction:"search-type"}),this.router.add("POST",":resourceType",vl,{interaction:"create"}),this.router.add("GET",":resourceType/:id",Rl,{interaction:"read"}),this.router.add("GET",":resourceType/:id/_history",Sl,{interaction:"history-instance"}),this.router.add("GET",":resourceType/:id/_history/:vid",Ol,{interaction:"vread"}),this.router.add("PUT",":resourceType/:id",xl,{interaction:"update"}),this.router.add("PUT",":resourceType",wl,{interaction:"update"}),this.router.add("DELETE",":resourceType/:id",Dl,{interaction:"delete"}),this.router.add("DELETE",":resourceType",Ll,{interaction:"delete"}),this.router.add("PATCH",":resourceType/:id",_l,{interaction:"patch"}),this.router.add("PATCH",":resourceType",Al,{interaction:"patch"}),this.router.add("POST","$graphql",aa,{interaction:"operation"})}add(r,n,i,o){this.router.add(r,n,i,{interaction:o??"operation"})}find(r,n){return this.router.find(r,n)}async handleRequest(r,n){let i=r.url;if(r.pathname)throw new w.OperationOutcomeError((0,w.badRequest)("FhirRequest must specify url instead of pathname"));let o=this.find(r.method,i);if(!o)return[w.notFound];let{handler:s,path:a,params:c,query:p}=o;r.params=c,r.pathname=a,p&&(r.query=p);try{return await s(r,n,this)}catch(l){return[(0,w.normalizeOperationOutcome)(l)]}}log(r,n,i){let o={type:r,message:n,data:i};this.dispatchEvent(o)}};function Tn(t){if(!t)return;let e=/"([^"]+)"/.exec(t);return e?e[1]:void 0}function ca(t,e){let r=t[e],n;return Array.isArray(r)?n=r.at(-1):n=r,n?Number.parseInt(n,10):void 0}function Fl(t,e,r){return{method:t,url:e,pathname:"",query:{},params:{},body:r}}0&&(module.exports={BatchProcessor,FhirRepository,FhirRouter,MemoryRepository,RepositoryMode,Router,buildBatchResponseBundle,createResourceImpl,getExtraEntries,getSearchIncludeEntries,getSearchRevIncludeEntries,makeSimpleRequest,processBatch,updateResourceImpl});
|
|
50
|
+
`))}var $n=class{constructor(e){this._errors=[],this.schema=e}reportError(e,r){let n=Array.isArray(r)?r.filter(Boolean):r;this._errors.push(new d(e,{nodes:n}))}getErrors(){return this._errors}};function Kc(t){let e=t.schema;e.getQueryType()==null&&t.reportError("Query root type must be provided.",e.astNode);let r=new Ge;for(let n of Object.values(G)){let i=e.getRootType(n);if(i!=null)if(k(i))r.add(i,n);else{let o=Oo(n),s=E(i);t.reportError(n===G.QUERY?`${o} root type must be Object type, it cannot be ${s}.`:`${o} root type must be Object type if provided, it cannot be ${s}.`,ss(e,n)??i.astNode)}}for(let[n,i]of r)if(i.length>1){let o=wo(i);t.reportError(`All root types must be different, "${n}" type is used as ${o} root types.`,i.map(s=>ss(e,s)))}}function ss(t,e){return[t.astNode,...t.extensionASTNodes].flatMap(r=>r?.operationTypes??[]).find(r=>r.operation===e)?.type}function Yc(t){for(let e of t.schema.getDirectives()){if(!Zt(e)){t.reportError(`Expected directive but got: ${E(e)}.`,e?.astNode);continue}ft(t,e),e.locations.length===0&&t.reportError(`Directive ${e} must include 1 or more locations.`,e.astNode);for(let r of e.args)ft(t,r),Z(r.type)||t.reportError(`The type of ${r} must be Input Type but got: ${E(r.type)}.`,r.astNode),Ne(r)&&r.deprecationReason!=null&&t.reportError(`Required argument ${r} cannot be deprecated.`,[$r(r.astNode),r.astNode?.type]),Bn(t,r)}}function Bn(t,e){let r=e.default;if(!r)return;let n=[];if(Qn(r,e.type,(i,o)=>{n.push([i,o])}),n.length!==0){if(!r.literal)try{let i=rr(r.value,e.type),o=[];if(Xt(i,e.type,(s,a)=>{o.push([s,a])}),o.length===0){t.reportError(`${e} has invalid default value: ${E(r.value)}. Did you mean: ${E(i)}?`,e.astNode?.defaultValue);return}}catch{}for(let[i,o]of n)t.reportError(`${e} has invalid default value${ze(o)}: ${i.message}`,i.nodes??e.astNode?.defaultValue)}}function Qn(t,e,r,n){if(t.literal){wt(t.literal,e,r,void 0,void 0,n);return}Xt(t.value,e,r,n)}function rr(t,e){if(D(e))return rr(t,e.ofType);if(t===null)return null;if(C(e))return le(t)?Array.from(t,r=>rr(r,e.ofType)):[rr(t,e.ofType)];if(F(e)){H(t)||L(!1);let r=e.getFields();return ke(t,(n,i)=>(i in r||L(!1),rr(n,r[i].type)))}return Ee(e),e.coerceOutputValue(t)}function ft(t,e){e.name.startsWith("__")&&t.reportError(`Name "${e.name}" must not begin with "__", which is reserved by GraphQL introspection.`,e.astNode)}function Hc(t){let e=nu(t),r=t.schema.getTypeMap(),n=new Map;for(let o of Object.values(r)){if(!Dr(o)){t.reportError(`Expected GraphQL named type but got: ${E(o)}.`,o.astNode);continue}Vn(o)||ft(t,o),k(o)||P(o)?(as(t,o),cs(t,o)):ee(o)?Xc(t,o):J(o)?zc(t,o):F(o)&&(Zc(t,o),i(o),e(o))}tu(t,n);function i(o){n.set(o,{inputObj:o,targets:[],dependents:[],unresolvedTargetCount:0,hasFiniteValue:!1})}}function as(t,e){let r=Object.values(e.getFields());r.length===0&&t.reportError(`Type ${e} must define one or more fields.`,[e.astNode,...e.extensionASTNodes]);for(let n of r){ft(t,n),Be(n.type)||t.reportError(`The type of ${n} must be Output Type but got: ${E(n.type)}.`,n.astNode?.type);for(let i of n.args)ft(t,i),Z(i.type)||t.reportError(`The type of ${i} must be Input Type but got: ${E(i.type)}.`,i.astNode?.type),Ne(i)&&i.deprecationReason!=null&&t.reportError(`Required argument ${i} cannot be deprecated.`,[$r(i.astNode),i.astNode?.type]),Bn(t,i)}}function cs(t,e){let r=new Set;for(let n of e.getInterfaces()){if(!P(n)){t.reportError(`Type ${e} must only implement Interface types, it cannot implement ${E(n)}.`,nr(e,n));continue}if(e===n){t.reportError(`Type ${e} cannot implement itself because it would create a circular reference.`,nr(e,n));continue}if(r.has(n.name)){t.reportError(`Type ${e} can only implement ${n} once.`,nr(e,n));continue}r.add(n.name),Jc(t,e,n),Wc(t,e,n)}}function Wc(t,e,r){let n=e.getFields();for(let i of Object.values(r.getFields())){let o=n[i.name];if(o==null){t.reportError(`Interface field ${i} expected but ${e} does not provide it.`,[i.astNode,e.astNode,...e.extensionASTNodes]);continue}qe(t.schema,o.type,i.type)||t.reportError(`Interface field ${i} expects type ${i.type} but ${o} is type ${o.type}.`,[i.astNode?.type,o.astNode?.type]);for(let s of i.args){let a=o.args.find(c=>c.name===s.name);if(!a){t.reportError(`Interface field argument ${s} expected but ${o} does not provide it.`,[s.astNode,o.astNode]);continue}Lr(s.type,a.type)||t.reportError(`Interface field argument ${s} expects type ${s.type} but ${a} is type ${a.type}.`,[s.astNode?.type,a.astNode?.type])}for(let s of o.args)Ne(s)&&(i.args.find(c=>c.name===s.name)||t.reportError(`Argument "${s}" must not be required type "${s.type}" if not provided by the Interface field "${i}".`,[s.astNode,i.astNode]));o.deprecationReason!=null&&i.deprecationReason==null&&t.reportError(`Interface field ${r.name}.${i.name} is not deprecated, so implementation field ${e.name}.${o.name} must not be deprecated.`,[$r(o.astNode),o.astNode?.type])}}function Jc(t,e,r){let n=e.getInterfaces();for(let i of r.getInterfaces())n.includes(i)||t.reportError(i===e?`Type ${e} cannot implement ${r} because it would create a circular reference.`:`Type ${e} must implement ${i} because it is implemented by ${r}.`,[...nr(r,i),...nr(e,r)])}function Xc(t,e){let r=e.getTypes();r.length===0&&t.reportError(`Union type ${e} must define one or more member types.`,[e.astNode,...e.extensionASTNodes]);let n=new Set;for(let i of r){if(n.has(i.name)){t.reportError(`Union type ${e} can only include type ${i} once.`,us(e,i.name));continue}n.add(i.name),k(i)||t.reportError(`Union type ${e} can only include Object types, it cannot include ${E(i)}.`,us(e,String(i)))}}function zc(t,e){let r=e.getValues();r.length===0&&t.reportError(`Enum type ${e} must define one or more values.`,[e.astNode,...e.extensionASTNodes]);for(let n of r)ft(t,n)}function Zc(t,e){let r=Object.values(e.getFields());r.length===0&&t.reportError(`Input Object type ${e} must define one or more fields.`,[e.astNode,...e.extensionASTNodes]);for(let n of r)ft(t,n),Z(n.type)||t.reportError(`The type of ${n} must be Input Type but got: ${E(n.type)}.`,n.astNode?.type),me(n)&&n.deprecationReason!=null&&t.reportError(`Required input field ${n} cannot be deprecated.`,[$r(n.astNode),n.astNode?.type]),Bn(t,n),e.isOneOf&&eu(e,n,t)}function eu(t,e,r){D(e.type)&&r.reportError(`OneOf input field ${t}.${e.name} must be nullable.`,e.astNode?.type),(e.default!==void 0||e.defaultValue!==void 0)&&r.reportError(`OneOf input field ${t}.${e.name} cannot have a default value.`,e.astNode)}function tu(t,e){let r=[];for(let p of e.values()){let l=p.inputObj,f=Object.values(l.getFields());for(let m of f){let T=ru(l,m.type);if(T===void 0)continue;p.targets.push({field:m,target:T});let y=e.get(T);y!==void 0&&y.dependents.push(p)}l.isOneOf?(f.length===0||p.targets.length<f.length)&&a(p):(p.unresolvedTargetCount=p.targets.length,p.targets.length===0&&a(p))}let n;for(;(n=r.pop())!==void 0;)for(let p of n.dependents)if(!p.hasFiniteValue){if(p.inputObj.isOneOf){a(p);continue}--p.unresolvedTargetCount,p.unresolvedTargetCount===0&&a(p)}let i=new Set,o=[],s=new Map;for(let p of e.values())p.hasFiniteValue||c(p);function a(p){p.hasFiniteValue||(p.hasFiniteValue=!0,r.push(p))}function c(p){let l=p.inputObj;if(!i.has(l)){i.add(l),s.set(l,o.length);for(let{field:f,target:m}of p.targets){let T=e.get(m);if(T?.hasFiniteValue!==!1)continue;let y=s.get(m);if(o.push({fieldStr:`${l}.${f.name}`,astNode:f.astNode}),y===void 0)c(T);else{let O=o.slice(y),S=O.map(A=>A.fieldStr).join(", ");t.reportError(`Input Object ${m} cannot be provided a finite value because it references itself through fields: ${S}.`,O.map(A=>A.astNode))}o.pop()}s.delete(l)}}}function ru(t,e){if(t.isOneOf)return F(e)?e:void 0;if(D(e)&&F(e.ofType))return e.ofType}function nu(t){let e=Object.create(null),r=[],n=Object.create(null);return function(c){return i(c,Object.create(null))};function i(a,c){if(le(c)){for(let p of c)i(a,p);return}else if(!H(c))return;for(let p of Object.values(a.getFields())){let l=te(p.type);F(l)&&(Object.hasOwn(c,p.name)?i(l,c[p.name]):s(p,l,`${a}.${p.name}`))}}function o(a,c){if(c.kind===u.LIST){for(let l of c.values)o(a,l);return}else if(c.kind!==u.OBJECT)return;let p=bt(c.fields,l=>l.name.value);for(let l of Object.values(a.getFields())){let f=te(l.type);F(f)&&(Object.hasOwn(p,l.name)?o(f,p[l.name].value):s(l,f,`${a}.${l.name}`))}}function s(a,c,p){let l=a.default;if(l===void 0)return;let f=n[p];if(f!==void 0){t.reportError(`Invalid circular reference. The default value of Input Object field ${p} references itself${f<r.length?` via the default values of: ${r.slice(f).map(([m])=>m).join(", ")}`:""}.`,r.slice(f-1).map(([,m])=>m));return}e[p]===void 0&&(e[p]=!0,n[p]=r.push([p,a.astNode?.defaultValue]),l.literal?o(c,l.literal):i(c,l.value),r.pop(),n[p]=void 0)}}function nr(t,e){let{astNode:r,extensionASTNodes:n}=t;return(r!=null?[r,...n]:n).flatMap(o=>o.interfaces??[]).filter(o=>o.name.value===e.name)}function us(t,e){let{astNode:r,extensionASTNodes:n}=t;return(r!=null?[r,...n]:n).flatMap(o=>o.types??[]).filter(o=>o.name.value===e)}function $r(t){return t?.directives?.find(e=>e.name.value===Cr.name)}function q(t,e,r){return new d(`Syntax Error: ${r}`,{source:t,positions:[e]})}function iu(){let t;try{let e=globalThis.process;typeof e?.getBuiltinModule=="function"&&(t=e.getBuiltinModule("node:diagnostics_channel"))}catch{}return t}var dt=iu(),jn=dt?.tracingChannel("graphql:parse"),qn=dt?.tracingChannel("graphql:validate"),Kn=dt?.tracingChannel("graphql:execute"),ps=dt?.tracingChannel("graphql:execute:variableCoercion"),Yn=dt?.tracingChannel("graphql:execute:rootSelectionSet"),ou=dt?.tracingChannel("graphql:subscribe"),mt=dt?.tracingChannel("graphql:resolve"),su=["start","end","asyncStart","asyncEnd","error"];function Oe(t){if(t==null)return!1;let e=t.hasSubscribers;if(e!==void 0)return e;for(let r of su)if(t[r].hasSubscribers)return!0;return!1}function Lt(t,e,r){let n=e;return t.start.runStores(n,()=>{let i;try{i=r()}catch(o){throw n.error=o,t.error.publish(n),t.end.publish(n),o}return de(i)?(t.end.publish(n),i.then(o=>(n.result=o,t.asyncStart.publish(n),t.asyncEnd.publish(n),o),o=>{throw n.error=o,t.error.publish(n),t.asyncStart.publish(n),t.asyncEnd.publish(n),o})):(n.result=i,t.end.publish(n),i)})}var h={SOF:"<SOF>",EOF:"<EOF>",BANG:"!",DOLLAR:"$",AMP:"&",PAREN_L:"(",PAREN_R:")",DOT:".",SPREAD:"...",COLON:":",EQUALS:"=",AT:"@",BRACKET_L:"[",BRACKET_R:"]",BRACE_L:"{",PIPE:"|",BRACE_R:"}",NAME:"Name",INT:"Int",FLOAT:"Float",STRING:"String",BLOCK_STRING:"BlockString",COMMENT:"Comment"};var or=class{constructor(e){let r=new vt(h.SOF,0,0,0,0);this.source=e,this.lastToken=r,this.token=r,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){return this.lastToken=this.token,this.token=this.lookahead()}lookahead(){let e=this.token;if(e.kind!==h.EOF)do if(e.next)e=e.next;else{let r=au(this,e.end);e.next=r,r.prev=e,e=r}while(e.kind===h.COMMENT);return e}};function fs(t){return t===h.BANG||t===h.DOLLAR||t===h.AMP||t===h.PAREN_L||t===h.PAREN_R||t===h.DOT||t===h.SPREAD||t===h.COLON||t===h.EQUALS||t===h.AT||t===h.BRACKET_L||t===h.BRACKET_R||t===h.BRACE_L||t===h.PIPE||t===h.BRACE_R}function At(t){return t>=0&&t<=55295||t>=57344&&t<=1114111}function Br(t,e){return ds(t.charCodeAt(e))&&ms(t.charCodeAt(e+1))}function ds(t){return t>=55296&&t<=56319}function ms(t){return t>=56320&&t<=57343}function ht(t,e){let r=t.source.body.codePointAt(e);if(r===void 0)return h.EOF;if(r>=32&&r<=126){let n=String.fromCodePoint(r);return n==='"'?`'"'`:`"${n}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}function X(t,e,r,n,i){let o=t.line,s=1+r-t.lineStart;return new vt(e,r,n,o,s,i)}function au(t,e){let r=t.source.body,n=r.length,i=e;for(;i<n;){let o=r.charCodeAt(i);switch(o){case 65279:case 9:case 32:case 44:++i;continue;case 10:++i,++t.line,t.lineStart=i;continue;case 13:r.charCodeAt(i+1)===10?i+=2:++i,++t.line,t.lineStart=i;continue;case 35:return cu(t,i);case 33:return X(t,h.BANG,i,i+1);case 36:return X(t,h.DOLLAR,i,i+1);case 38:return X(t,h.AMP,i,i+1);case 40:return X(t,h.PAREN_L,i,i+1);case 41:return X(t,h.PAREN_R,i,i+1);case 46:{let s=r.charCodeAt(i+1);if(s===46&&r.charCodeAt(i+2)===46)return X(t,h.SPREAD,i,i+3);if(s===46)throw q(t.source,i,'Unexpected "..", did you mean "..."?');if(et(s)){let a=t.source.body.slice(i+1,Gr(t,i+1,s));throw q(t.source,i,`Invalid number, expected digit before ".", did you mean "0.${a}"?`)}break}case 58:return X(t,h.COLON,i,i+1);case 61:return X(t,h.EQUALS,i,i+1);case 64:return X(t,h.AT,i,i+1);case 91:return X(t,h.BRACKET_L,i,i+1);case 93:return X(t,h.BRACKET_R,i,i+1);case 123:return X(t,h.BRACE_L,i,i+1);case 124:return X(t,h.PIPE,i,i+1);case 125:return X(t,h.BRACE_R,i,i+1);case 34:return r.charCodeAt(i+1)===34&&r.charCodeAt(i+2)===34?mu(t,i):pu(t,i)}if(et(o)||o===45)return uu(t,i,o);if(jt(o))return hu(t,i);throw q(t.source,i,o===39?`Unexpected single quote character ('), did you mean to use a double quote (")?`:At(o)||Br(r,i)?`Unexpected character: ${ht(t,i)}.`:`Invalid character: ${ht(t,i)}.`)}return X(t,h.EOF,n,n)}function cu(t,e){let r=t.source.body,n=r.length,i=e+1;for(;i<n;){let o=r.charCodeAt(i);if(o===10||o===13)break;if(At(o))++i;else if(Br(r,i))i+=2;else break}return X(t,h.COMMENT,e,i,r.slice(e+1,i))}function uu(t,e,r){let n=t.source.body,i=e,o=r,s=!1;if(o===45&&(o=n.charCodeAt(++i)),o===48){if(o=n.charCodeAt(++i),et(o))throw q(t.source,i,`Invalid number, unexpected digit after 0: ${ht(t,i)}.`)}else i=Gr(t,i,o),o=n.charCodeAt(i);if(o===46&&(s=!0,o=n.charCodeAt(++i),i=Gr(t,i,o),o=n.charCodeAt(i)),(o===69||o===101)&&(s=!0,o=n.charCodeAt(++i),(o===43||o===45)&&(o=n.charCodeAt(++i)),i=Gr(t,i,o),o=n.charCodeAt(i)),o===46||jt(o))throw q(t.source,i,`Invalid number, expected digit but got: ${ht(t,i)}.`);return X(t,s?h.FLOAT:h.INT,e,i,n.slice(e,i))}function Gr(t,e,r){if(!et(r))throw q(t.source,e,`Invalid number, expected digit but got: ${ht(t,e)}.`);let n=t.source.body,i=e+1;for(;et(n.charCodeAt(i));)++i;return i}function pu(t,e){let r=t.source.body,n=r.length,i=e+1,o=i,s="";for(;i<n;){let a=r.charCodeAt(i);if(a===34)return s+=r.slice(o,i),X(t,h.STRING,e,i+1,s);if(a===92){s+=r.slice(o,i);let c=r.charCodeAt(i+1)===117?r.charCodeAt(i+2)===123?lu(t,i):fu(t,i):du(t,i);s+=c.value,i+=c.size,o=i;continue}if(a===10||a===13)break;if(At(a))++i;else if(Br(r,i))i+=2;else throw q(t.source,i,`Invalid character within String: ${ht(t,i)}.`)}throw q(t.source,i,"Unterminated string.")}function lu(t,e){let r=t.source.body,n=0,i=3;for(;i<12;){let o=r.charCodeAt(e+i++);if(o===125){if(i<5||!At(n))break;return{value:String.fromCodePoint(n),size:i}}if(n=n<<4|ir(o),n<0)break}throw q(t.source,e,`Invalid Unicode escape sequence: "${r.slice(e,e+i)}".`)}function fu(t,e){let r=t.source.body,n=ls(r,e+2);if(At(n))return{value:String.fromCodePoint(n),size:6};if(ds(n)&&r.charCodeAt(e+6)===92&&r.charCodeAt(e+7)===117){let i=ls(r,e+8);if(ms(i))return{value:String.fromCodePoint(n,i),size:12}}throw q(t.source,e,`Invalid Unicode escape sequence: "${r.slice(e,e+6)}".`)}function ls(t,e){return ir(t.charCodeAt(e))<<12|ir(t.charCodeAt(e+1))<<8|ir(t.charCodeAt(e+2))<<4|ir(t.charCodeAt(e+3))}function ir(t){return t>=48&&t<=57?t-48:t>=65&&t<=70?t-55:t>=97&&t<=102?t-87:-1}function du(t,e){let r=t.source.body;switch(r.charCodeAt(e+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:`
|
|
51
|
+
`,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw q(t.source,e,`Invalid character escape sequence: "${r.slice(e,e+2)}".`)}function mu(t,e){let r=t.source.body,n=r.length,i=t.lineStart,o=e+3,s=o,a="",c=[];for(;o<n;){let p=r.charCodeAt(o);if(p===34&&r.charCodeAt(o+1)===34&&r.charCodeAt(o+2)===34){a+=r.slice(s,o),c.push(a);let l=X(t,h.BLOCK_STRING,e,o+3,Ao(c).join(`
|
|
52
|
+
`));return t.line+=c.length-1,t.lineStart=i,l}if(p===92&&r.charCodeAt(o+1)===34&&r.charCodeAt(o+2)===34&&r.charCodeAt(o+3)===34){a+=r.slice(s,o),s=o+1,o+=4;continue}if(p===10||p===13){a+=r.slice(s,o),c.push(a),p===13&&r.charCodeAt(o+1)===10?o+=2:++o,a="",s=o,i=o;continue}if(At(p))++o;else if(Br(r,o))o+=2;else throw q(t.source,o,`Invalid character within String: ${ht(t,o)}.`)}throw q(t.source,o,"Unterminated string.")}function hu(t,e){let r=t.source.body,n=r.length,i=e+1;for(;i<n;){let o=r.charCodeAt(i);if(vr(o))++i;else break}return X(t,h.NAME,e,i,r.slice(e,i))}var hs=Symbol("Source"),Ft=class{constructor(e,r="GraphQL request",n={line:1,column:1}){this.__kind=hs,this.body=e,this.name=r,this.locationOffset=n,this.locationOffset.line>0||ye(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||ye(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function ys(t){return ne(t,hs,Ft)}function jr(t,e){return Oe(jn)?jn.traceSync(()=>Ts(t,e),{source:t}):Ts(t,e)}function Ts(t,e){let r=new Hn(t,e),n=r.parseDocument();return Object.defineProperty(n,"tokenCount",{enumerable:!1,value:r.tokenCount}),n}var Hn=class{constructor(e,r={}){let{lexer:n,...i}=r;if(n)this._lexer=n;else{let o=ys(e)?e:new Ft(e);this._lexer=new or(o)}this._options=i,this._tokenCounter=0}get tokenCount(){return this._tokenCounter}parseName(){let e=this.expectToken(h.NAME);return this.node(e,{kind:u.NAME,value:e.value})}parseDocument(){return this.node(this._lexer.token,{kind:u.DOCUMENT,definitions:this.many(h.SOF,this.parseDefinition,h.EOF)})}parseDefinition(){if(this.peek(h.BRACE_L))return this.parseOperationDefinition();let e=this.peekDescription(),r=e?this._lexer.lookahead():this._lexer.token;if(e&&r.kind===h.BRACE_L)throw q(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are not supported on shorthand queries.");if(r.kind===h.NAME){switch(r.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}switch(r.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition()}if(e)throw q(this._lexer.source,this._lexer.token.start,"Unexpected description, only GraphQL definitions support descriptions.");if(r.value==="extend")return this.parseTypeSystemExtension()}throw this.unexpected(r)}parseOperationDefinition(){let e=this._lexer.token;if(this.peek(h.BRACE_L))return this.node(e,{kind:u.OPERATION_DEFINITION,operation:G.QUERY,description:void 0,name:void 0,variableDefinitions:void 0,directives:void 0,selectionSet:this.parseSelectionSet()});let r=this.parseDescription(),n=this.parseOperationType(),i;return this.peek(h.NAME)&&(i=this.parseName()),this.node(e,{kind:u.OPERATION_DEFINITION,operation:n,description:r,name:i,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let e=this.expectToken(h.NAME);switch(e.value){case"query":return G.QUERY;case"mutation":return G.MUTATION;case"subscription":return G.SUBSCRIPTION}throw this.unexpected(e)}parseVariableDefinitions(){return this.optionalMany(h.PAREN_L,this.parseVariableDefinition,h.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:u.VARIABLE_DEFINITION,description:this.parseDescription(),variable:this.parseVariable(),type:(this.expectToken(h.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(h.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let e=this._lexer.token;return this.expectToken(h.DOLLAR),this.node(e,{kind:u.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:u.SELECTION_SET,selections:this.many(h.BRACE_L,this.parseSelection,h.BRACE_R)})}parseSelection(){return this.peek(h.SPREAD)?this.parseFragment():this.parseField()}parseField(){let e=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(h.COLON)?(n=r,i=this.parseName()):i=r,this.node(e,{kind:u.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(h.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(e){let r=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(h.PAREN_L,r,h.PAREN_R)}parseFragmentArguments(){let e=this.parseFragmentArgument;return this.optionalMany(h.PAREN_L,e,h.PAREN_R)}parseArgument(e=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(h.COLON),this.node(r,{kind:u.ARGUMENT,name:n,value:this.parseValueLiteral(e)})}parseConstArgument(){return this.parseArgument(!0)}parseFragmentArgument(){let e=this._lexer.token,r=this.parseName();return this.expectToken(h.COLON),this.node(e,{kind:u.FRAGMENT_ARGUMENT,name:r,value:this.parseValueLiteral(!1)})}parseFragment(){let e=this._lexer.token;this.expectToken(h.SPREAD);let r=this.expectOptionalKeyword("on");if(!r&&this.peek(h.NAME)){let n=this.parseFragmentName();return this.peek(h.PAREN_L)&&this._options.experimentalFragmentArguments?this.node(e,{kind:u.FRAGMENT_SPREAD,name:n,arguments:this.parseFragmentArguments(),directives:this.parseDirectives(!1)}):this.node(e,{kind:u.FRAGMENT_SPREAD,name:n,directives:this.parseDirectives(!1)})}return this.node(e,{kind:u.INLINE_FRAGMENT,typeCondition:r?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let e=this._lexer.token,r=this.parseDescription();return this.expectKeyword("fragment"),this._options.experimentalFragmentArguments===!0?this.node(e,{kind:u.FRAGMENT_DEFINITION,description:r,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(e,{kind:u.FRAGMENT_DEFINITION,description:r,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(e){let r=this._lexer.token;switch(r.kind){case h.BRACKET_L:return this.parseList(e);case h.BRACE_L:return this.parseObject(e);case h.INT:return this.advanceLexer(),this.node(r,{kind:u.INT,value:r.value});case h.FLOAT:return this.advanceLexer(),this.node(r,{kind:u.FLOAT,value:r.value});case h.STRING:case h.BLOCK_STRING:return this.parseStringLiteral();case h.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:u.BOOLEAN,value:!0});case"false":return this.node(r,{kind:u.BOOLEAN,value:!1});case"null":return this.node(r,{kind:u.NULL});default:return this.node(r,{kind:u.ENUM,value:r.value})}case h.DOLLAR:if(e)if(this.expectToken(h.DOLLAR),this._lexer.token.kind===h.NAME){let n=this._lexer.token.value;throw q(this._lexer.source,r.start,`Unexpected variable "$${n}" in constant value.`)}else throw this.unexpected(r);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){let e=this._lexer.token;return this.advanceLexer(),this.node(e,{kind:u.STRING,value:e.value,block:e.kind===h.BLOCK_STRING})}parseList(e){let r=()=>this.parseValueLiteral(e);return this.node(this._lexer.token,{kind:u.LIST,values:this.any(h.BRACKET_L,r,h.BRACKET_R)})}parseObject(e){let r=()=>this.parseObjectField(e);return this.node(this._lexer.token,{kind:u.OBJECT,fields:this.any(h.BRACE_L,r,h.BRACE_R)})}parseObjectField(e){let r=this._lexer.token,n=this.parseName();return this.expectToken(h.COLON),this.node(r,{kind:u.OBJECT_FIELD,name:n,value:this.parseValueLiteral(e)})}parseDirectives(e){let r=[];for(;this.peek(h.AT);)r.push(this.parseDirective(e));if(r.length)return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(e){let r=this._lexer.token;return this.expectToken(h.AT),this.node(r,{kind:u.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e)})}parseTypeReference(){let e=this._lexer.token,r;if(this.expectOptionalToken(h.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(h.BRACKET_R),r=this.node(e,{kind:u.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(h.BANG)?this.node(e,{kind:u.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:u.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(h.STRING)||this.peek(h.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("schema");let n=this.parseConstDirectives(),i=this.many(h.BRACE_L,this.parseOperationTypeDefinition,h.BRACE_R);return this.node(e,{kind:u.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let e=this._lexer.token,r=this.parseOperationType();this.expectToken(h.COLON);let n=this.parseNamedType();return this.node(e,{kind:u.OPERATION_TYPE_DEFINITION,operation:r,type:n})}parseScalarTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("scalar");let n=this.parseName(),i=this.parseConstDirectives();return this.node(e,{kind:u.SCALAR_TYPE_DEFINITION,description:r,name:n,directives:i})}parseObjectTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("type");let n=this.parseName(),i=this.parseImplementsInterfaces(),o=this.parseConstDirectives(),s=this.parseFieldsDefinition();return this.node(e,{kind:u.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:o,fields:s})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(h.AMP,this.parseNamedType):void 0}parseFieldsDefinition(){return this.optionalMany(h.BRACE_L,this.parseFieldDefinition,h.BRACE_R)}parseFieldDefinition(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(h.COLON);let o=this.parseTypeReference(),s=this.parseConstDirectives();return this.node(e,{kind:u.FIELD_DEFINITION,description:r,name:n,arguments:i,type:o,directives:s})}parseArgumentDefs(){return this.optionalMany(h.PAREN_L,this.parseInputValueDef,h.PAREN_R)}parseInputValueDef(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(h.COLON);let i=this.parseTypeReference(),o;this.expectOptionalToken(h.EQUALS)&&(o=this.parseConstValueLiteral());let s=this.parseConstDirectives();return this.node(e,{kind:u.INPUT_VALUE_DEFINITION,description:r,name:n,type:i,defaultValue:o,directives:s})}parseInterfaceTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("interface");let n=this.parseName(),i=this.parseImplementsInterfaces(),o=this.parseConstDirectives(),s=this.parseFieldsDefinition();return this.node(e,{kind:u.INTERFACE_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:o,fields:s})}parseUnionTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("union");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseUnionMemberTypes();return this.node(e,{kind:u.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:o})}parseUnionMemberTypes(){return this.expectOptionalToken(h.EQUALS)?this.delimitedMany(h.PIPE,this.parseNamedType):void 0}parseEnumTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseEnumValuesDefinition();return this.node(e,{kind:u.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:o})}parseEnumValuesDefinition(){return this.optionalMany(h.BRACE_L,this.parseEnumValueDefinition,h.BRACE_R)}parseEnumValueDefinition(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(e,{kind:u.ENUM_VALUE_DEFINITION,description:r,name:n,directives:i})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw q(this._lexer.source,this._lexer.token.start,`${Qr(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("input");let n=this.parseName(),i=this.parseConstDirectives(),o=this.parseInputFieldsDefinition();return this.node(e,{kind:u.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:o})}parseInputFieldsDefinition(){return this.optionalMany(h.BRACE_L,this.parseInputValueDef,h.BRACE_R)}parseTypeSystemExtension(){let e=this._lexer.lookahead();if(e.kind===h.NAME)switch(e.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension();case"directive":return this.parseDirectiveExtension()}throw this.unexpected(e)}parseSchemaExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let r=this.parseConstDirectives(),n=this.optionalMany(h.BRACE_L,this.parseOperationTypeDefinition,h.BRACE_R);if(r===void 0&&n===void 0)throw this.unexpected();return this.node(e,{kind:u.SCHEMA_EXTENSION,directives:r,operationTypes:n})}parseScalarTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");let r=this.parseName(),n=this.parseConstDirectives();if(n===void 0)throw this.unexpected();return this.node(e,{kind:u.SCALAR_TYPE_EXTENSION,name:r,directives:n})}parseObjectTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),o=this.parseFieldsDefinition();if(n===void 0&&i===void 0&&o===void 0)throw this.unexpected();return this.node(e,{kind:u.OBJECT_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:o})}parseInterfaceTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),o=this.parseFieldsDefinition();if(n===void 0&&i===void 0&&o===void 0)throw this.unexpected();return this.node(e,{kind:u.INTERFACE_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:o})}parseUnionTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseUnionMemberTypes();if(n===void 0&&i===void 0)throw this.unexpected();return this.node(e,{kind:u.UNION_TYPE_EXTENSION,name:r,directives:n,types:i})}parseEnumTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();if(n===void 0&&i===void 0)throw this.unexpected();return this.node(e,{kind:u.ENUM_TYPE_EXTENSION,name:r,directives:n,values:i})}parseInputObjectTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();if(n===void 0&&i===void 0)throw this.unexpected();return this.node(e,{kind:u.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:i})}parseDirectiveExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("directive"),this.expectToken(h.AT);let r=this.parseName(),n=this.parseConstDirectives();if(n===void 0)throw this.unexpected();return this.node(e,{kind:u.DIRECTIVE_EXTENSION,name:r,directives:n})}parseDirectiveDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(h.AT);let n=this.parseName(),i=this.parseArgumentDefs(),o=this.parseConstDirectives(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let a=this.parseDirectiveLocations();return this.node(e,{kind:u.DIRECTIVE_DEFINITION,description:r,name:n,arguments:i,directives:o,repeatable:s,locations:a})}parseDirectiveLocations(){return this.delimitedMany(h.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let e=this._lexer.token,r=this.parseName();if(Object.hasOwn(v,r.value))return r;throw this.unexpected(e)}parseSchemaCoordinate(){let e=this._lexer.token,r=this.expectOptionalToken(h.AT),n=this.parseName(),i;!r&&this.expectOptionalToken(h.DOT)&&(i=this.parseName());let o;return(r||i)&&this.expectOptionalToken(h.PAREN_L)&&(o=this.parseName(),this.expectToken(h.COLON),this.expectToken(h.PAREN_R)),r?o?this.node(e,{kind:u.DIRECTIVE_ARGUMENT_COORDINATE,name:n,argumentName:o}):this.node(e,{kind:u.DIRECTIVE_COORDINATE,name:n}):i?o?this.node(e,{kind:u.ARGUMENT_COORDINATE,name:n,fieldName:i,argumentName:o}):this.node(e,{kind:u.MEMBER_COORDINATE,name:n,memberName:i}):this.node(e,{kind:u.TYPE_COORDINATE,name:n})}node(e,r){return this._options.noLocation!==!0&&(r.loc=new Gt(e,this._lexer.lastToken,this._lexer.source)),r}peek(e){return this._lexer.token.kind===e}expectToken(e){let r=this._lexer.token;if(r.kind===e)return this.advanceLexer(),r;throw q(this._lexer.source,r.start,`Expected ${gs(e)}, found ${Qr(r)}.`)}expectOptionalToken(e){return this._lexer.token.kind===e?(this.advanceLexer(),!0):!1}expectKeyword(e){let r=this._lexer.token;if(r.kind===h.NAME&&r.value===e)this.advanceLexer();else throw q(this._lexer.source,r.start,`Expected "${e}", found ${Qr(r)}.`)}expectOptionalKeyword(e){let r=this._lexer.token;return r.kind===h.NAME&&r.value===e?(this.advanceLexer(),!0):!1}unexpected(e){let r=e??this._lexer.token;return q(this._lexer.source,r.start,`Unexpected ${Qr(r)}.`)}any(e,r,n){this.expectToken(e);let i=[];for(;!this.expectOptionalToken(n);)i.push(r.call(this));return i}optionalMany(e,r,n){if(this.expectOptionalToken(e)){let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}}many(e,r,n){this.expectToken(e);let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}delimitedMany(e,r){this.expectOptionalToken(e);let n=[];do n.push(r.call(this));while(this.expectOptionalToken(e));return n}advanceLexer(){let{maxTokens:e}=this._options,r=this._lexer.advance();if(r.kind!==h.EOF&&(++this._tokenCounter,e!==void 0&&this._tokenCounter>e))throw q(this._lexer.source,r.start,`Document contains more than ${e} tokens. Parsing aborted.`)}};function Qr(t){let e=t.value;return gs(t.kind)+(e!=null?` "${e}"`:"")}function gs(t){return fs(t)?`"${t}"`:t}function j(t,e){switch(e.kind){case u.LIST_TYPE:{let r=j(t,e.type);return r&&new B(r)}case u.NON_NULL_TYPE:{let r=j(t,e.type);return r&&new N(r)}case u.NAMED_TYPE:return t.getType(e.name.value)}}var Ct=class{constructor(e,r,n){this._schema=e,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._fragmentSignaturesByName=n??(()=>null),this._fragmentSignature=null,this._fragmentArgument=null,r&&(Z(r)&&this._inputTypeStack.push(r),Ie(r)&&this._parentTypeStack.push(r),Be(r)&&this._typeStack.push(r))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){return this._typeStack.at(-1)}getParentType(){return this._parentTypeStack.at(-1)}getInputType(){return this._inputTypeStack.at(-1)}getParentInputType(){return this._inputTypeStack.at(-2)}getFieldDef(){return this._fieldDefStack.at(-1)}getDefaultValue(){return this._defaultValueStack.at(-1)}getDirective(){return this._directive}getArgument(){return this._argument}getFragmentSignature(){return this._fragmentSignature}getFragmentSignatureByName(){return this._fragmentSignaturesByName}getFragmentArgument(){return this._fragmentArgument}getEnumValue(){return this._enumValue}enter(e){let r=this._schema;switch(e.kind){case u.DOCUMENT:{let n=yu(e);this._fragmentSignaturesByName=i=>n.get(i);break}case u.SELECTION_SET:{let n=te(this.getType());this._parentTypeStack.push(Ie(n)?n:void 0);break}case u.FIELD:{let n=this.getParentType(),i,o;n&&(i=r.getField(n,e.name.value),i&&(o=i.type)),this._fieldDefStack.push(i),this._typeStack.push(Be(o)?o:void 0);break}case u.DIRECTIVE:this._directive=r.getDirective(e.name.value);break;case u.OPERATION_DEFINITION:{let n=r.getRootType(e.operation);this._typeStack.push(k(n)?n:void 0);break}case u.FRAGMENT_SPREAD:{this._fragmentSignature=this.getFragmentSignatureByName()(e.name.value);break}case u.INLINE_FRAGMENT:case u.FRAGMENT_DEFINITION:{let n=e.typeCondition,i=n?j(r,n):te(this.getType());this._typeStack.push(Be(i)?i:void 0);break}case u.VARIABLE_DEFINITION:{let n=j(r,e.type);this._inputTypeStack.push(Z(n)?n:void 0);break}case u.ARGUMENT:{let n,i,o=this.getDirective()??this.getFieldDef();o&&(n=o.args.find(s=>s.name===e.name.value),n&&(i=n.type)),this._argument=n,this._defaultValueStack.push(n?.default??n?.defaultValue??void 0),this._inputTypeStack.push(Z(i)?i:void 0);break}case u.FRAGMENT_ARGUMENT:{let i=this.getFragmentSignature()?.variableDefinitions.get(e.name.value);this._fragmentArgument=i;let o;i&&(o=j(this._schema,i.type)),this._inputTypeStack.push(Z(o)?o:void 0);break}case u.LIST:{let n=wr(this.getInputType()),i=C(n)?n.ofType:void 0;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Z(i)?i:void 0);break}case u.OBJECT_FIELD:{let n=te(this.getInputType()),i,o;F(n)&&(o=n.getFields()[e.name.value],o!=null&&(i=o.type)),this._defaultValueStack.push(o?.default??o?.defaultValue??void 0),this._inputTypeStack.push(Z(i)?i:void 0);break}case u.ENUM:{let n=te(this.getInputType()),i;J(n)&&(i=n.getValue(e.value)),this._enumValue=i;break}default:}}leave(e){switch(e.kind){case u.DOCUMENT:this._fragmentSignaturesByName=()=>null;break;case u.SELECTION_SET:this._parentTypeStack.pop();break;case u.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case u.DIRECTIVE:this._directive=null;break;case u.FRAGMENT_SPREAD:this._fragmentSignature=null;break;case u.OPERATION_DEFINITION:case u.INLINE_FRAGMENT:case u.FRAGMENT_DEFINITION:this._typeStack.pop();break;case u.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case u.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case u.FRAGMENT_ARGUMENT:{this._fragmentArgument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break}case u.LIST:case u.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case u.ENUM:this._enumValue=null;break;default:}}};function yu(t){let e=new Map;for(let r of t.definitions)if(r.kind===u.FRAGMENT_DEFINITION){let n=new Map;if(r.variableDefinitions)for(let o of r.variableDefinitions)n.set(o.variable.name.value,o);let i={definition:r,variableDefinitions:n};e.set(r.name.value,i)}return e}function qr(t,e){return{enter(...r){let n=r[0];t.enter(n);let i=Ot(e,n.kind).enter;if(i){let o=i.apply(e,r);return o!==void 0&&(t.leave(n),Qt(o)&&t.enter(o)),o}},leave(...r){let n=r[0],i=Ot(e,n.kind).leave,o;return i&&(o=i.apply(e,r)),t.leave(n),o}}}function Wn(t){let e=new Map;return{Directive(r){if(r.name.value===Qe.name||r.name.value===Ae.name){let i=r.arguments?.find(s=>s.name.value==="label")?.value;if(!i||i.kind===u.NULL)return;if(i.kind!==u.STRING){t.reportError(new d(`Argument "@${r.name.value}(label:)" must be a static string.`,{nodes:r}));return}let o=e.get(i.value);o!=null?t.reportError(new d('Value for arguments "defer(label:)" and "stream(label:)" must be unique across all Defer/Stream directive usages.',{nodes:[o,r]})):e.set(i.value,r)}}}}function Xn(t){return{OperationDefinition(e){let r=t.getDocument(),n=new Map;for(let s of r.definitions)s.kind===u.FRAGMENT_DEFINITION&&n.set(s.name.value,s);if(e.operation!=="subscription"&&e.operation!=="mutation")return;let o=t.getSchema().getRootType(e.operation);o&&Jn({context:t,operationType:e.operation,rootType:o,fragments:n,selectionSet:e.selectionSet,visitedFragments:new Set})}}}function Jn({context:t,operationType:e,rootType:r,fragments:n,selectionSet:i,visitedFragments:o}){for(let s of i.selections)if(s.kind==="Field"){let a=s.directives?.find(c=>c.name.value===Ae.name);a&&t.reportError(new d(`Stream directive cannot be used on root ${e} type "${r}".`,{nodes:a}))}else if(s.kind==="FragmentSpread"){let a=s.name.value;if(o.has(a))continue;let c=n.get(a);if(c){let p=Es(s);p!==void 0&&t.reportError(new d(`Defer directive cannot be used on root ${e} type "${r}".`,{nodes:p})),Jn({context:t,operationType:e,rootType:r,fragments:n,selectionSet:c.selectionSet,visitedFragments:o})}o.add(a)}else if(s.kind==="InlineFragment"){let a=Es(s);a!==void 0&&t.reportError(new d(`Defer directive cannot be used on root ${e} type "${r}".`,{nodes:a})),Jn({context:t,operationType:e,rootType:r,fragments:n,selectionSet:s.selectionSet,visitedFragments:o})}}function Es(t){return t.directives?.find(e=>e.name.value===Qe.name)}function Is(t){let e=t.arguments?.find(r=>r.name.value==="if");if(!e)return!1;if(e.value.kind===u.BOOLEAN){if(e.value.value)return!1}else if(e.value.kind!==u.VARIABLE)return!1;return!0}function Tu(t){let e=t.arguments?.find(r=>r.name.value==="if");return e&&e.value.kind===u.BOOLEAN?!!e.value.value:!0}function gu(t){let e=t.arguments?.find(r=>r.name.value==="if");return e?e?.value.kind===u.BOOLEAN?!e.value.value:!0:!1}function Zn(t){return{OperationDefinition(e){if(e.operation!==G.SUBSCRIPTION)return;let r=t.getDocument(),n=new Map;for(let o of r.definitions)o.kind===u.FRAGMENT_DEFINITION&&n.set(o.name.value,o);let i=new Set;zn({context:t,fragments:n,selectionSet:e.selectionSet,parentNodes:[],visitedFragments:i})}}}function zn({context:t,fragments:e,selectionSet:r,parentNodes:n,visitedFragments:i}){for(let o of r.selections){let s=o.directives?.find(c=>c.name.value===pt.name);if(s&&Tu(s))continue;let a=o.directives?.find(c=>c.name.value===ut.name);if(!(a&&gu(a))){for(let c of o.directives??[])c.name.value===Qe.name?Is(c)||t.reportError(new d("Defer directive not supported on subscription operations. Disable `@defer` by setting the `if` argument to `false`.",{nodes:[c,...n]})):c.name.value===Ae.name&&(Is(c)||t.reportError(new d("Stream directive not supported on subscription operations. Disable `@stream` by setting the `if` argument to `false`.",{nodes:[c,...n]})));if(o.kind==="FragmentSpread"){let c=o.name.value;if(i.has(c))continue;i.add(c);let p=e.get(c);p&&zn({context:t,fragments:e,parentNodes:[o,...n],selectionSet:p?.selectionSet,visitedFragments:i})}else o.selectionSet&&zn({context:t,fragments:e,selectionSet:o.selectionSet,parentNodes:n,visitedFragments:i})}}}function ei(t){return t.kind===u.OPERATION_DEFINITION||t.kind===u.FRAGMENT_DEFINITION}function ti(t){return t.kind===u.SCHEMA_DEFINITION||He(t)||t.kind===u.DIRECTIVE_DEFINITION}function He(t){return t.kind===u.SCALAR_TYPE_DEFINITION||t.kind===u.OBJECT_TYPE_DEFINITION||t.kind===u.INTERFACE_TYPE_DEFINITION||t.kind===u.UNION_TYPE_DEFINITION||t.kind===u.ENUM_TYPE_DEFINITION||t.kind===u.INPUT_OBJECT_TYPE_DEFINITION}function ri(t){return t.kind===u.SCHEMA_EXTENSION||t.kind===u.DIRECTIVE_EXTENSION||Kr(t)}function Kr(t){return t.kind===u.SCALAR_TYPE_EXTENSION||t.kind===u.OBJECT_TYPE_EXTENSION||t.kind===u.INTERFACE_TYPE_EXTENSION||t.kind===u.UNION_TYPE_EXTENSION||t.kind===u.ENUM_TYPE_EXTENSION||t.kind===u.INPUT_OBJECT_TYPE_EXTENSION}function ni(t){return{Document(e){for(let r of e.definitions)if(!ei(r)){let n=r.kind===u.SCHEMA_DEFINITION||r.kind===u.SCHEMA_EXTENSION?"schema":'"'+r.name.value+'"';t.reportError(new d(`The ${n} definition is not executable.`,{nodes:r}))}return!1}}}function ii(t){return{Field(e){let r=t.getParentType();if(r&&!t.getFieldDef()){let i=t.getSchema(),o=e.name.value,s=ie("to use an inline fragment on",t.hideSuggestions?[]:Eu(i,r,o));s===""&&(s=ie(t.hideSuggestions?[]:Iu(r,o))),t.reportError(new d(`Cannot query field "${o}" on type "${r}".`+s,{nodes:e}))}}}}function Eu(t,e,r){if(!ce(e))return[];let n=new Set,i=Object.create(null);for(let o of t.getPossibleTypes(e))if(o.getFields()[r]!=null){n.add(o),i[o.name]=1;for(let s of o.getInterfaces())s.getFields()[r]!=null&&(n.add(s),i[s.name]=(i[s.name]??0)+1)}return[...n].sort((o,s)=>{let a=i[s.name]-i[o.name];return a!==0?a:P(o)&&t.isSubType(o,s)?-1:P(s)&&t.isSubType(s,o)?1:Rt(o.name,s.name)}).map(o=>o.name)}function Iu(t,e){if(k(t)||P(t)){let r=Object.keys(t.getFields());return se(e,r)}return[]}function oi(t){return{InlineFragment(e){let r=e.typeCondition;if(r){let n=j(t.getSchema(),r);if(n&&!Ie(n)){let i=V(r);t.reportError(new d(`Fragment cannot condition on non composite type "${i}".`,{nodes:r}))}}},FragmentDefinition(e){let r=j(t.getSchema(),e.typeCondition);if(r&&!Ie(r)){let n=V(e.typeCondition);t.reportError(new d(`Fragment "${e.name.value}" cannot condition on non composite type "${n}".`,{nodes:e.typeCondition}))}}}}function si(t){return{...ai(t),FragmentArgument(e){let r=t.getFragmentSignature();if(r&&!r.variableDefinitions.get(e.name.value)){let i=e.name.value,o=t.hideSuggestions?[]:se(i,Array.from(r.variableDefinitions.values()).map(s=>s.variable.name.value));t.reportError(new d(`Unknown argument "${i}" on fragment "${r.definition.name.value}".`+ie(o),{nodes:e}))}},Argument(e){let r=t.getArgument(),n=t.getFieldDef();if(!r&&n){let i=e.name.value,o=t.hideSuggestions?[]:se(i,n.args.map(s=>s.name));t.reportError(new d(`Unknown argument "${i}" on field "${n}".`+ie(o),{nodes:e}))}}}}function ai(t){let e=new Map,r=t.getSchema(),n=r?r.getDirectives():Fe;for(let o of n)e.set(o.name,o.args.map(s=>s.name));let i=t.getDocument().definitions;for(let o of i)if(o.kind===u.DIRECTIVE_DEFINITION){let s=o.arguments??[];e.set(o.name.value,s.map(a=>a.name.value))}return{Directive(o){let s=o.name.value,a=e.get(s);if(o.arguments!=null&&a!=null)for(let c of o.arguments){let p=c.name.value;if(!a.includes(p)){let l=se(p,a);t.reportError(new d(`Unknown argument "${p}" on directive "@${s}".`+(t.hideSuggestions?"":ie(l)),{nodes:c}))}}return!1}}}function Yr(t){let e=new Map,r=t.getSchema(),n=r?r.getDirectives():Fe;for(let o of n)e.set(o.name,o.locations);let i=t.getDocument().definitions;for(let o of i)o.kind===u.DIRECTIVE_DEFINITION&&e.set(o.name.value,o.locations.map(s=>s.value));return{Directive(o,s,a,c,p){let l=o.name.value,f=e.get(l);if(f==null){t.reportError(new d(`Unknown directive "@${l}".`,{nodes:o}));return}let m=Nu(p);m!=null&&!f.includes(m)&&t.reportError(new d(`Directive "@${l}" may not be used on ${m}.`,{nodes:o}))}}}function Nu(t){let e=t.at(-1);switch(e!=null&&"kind"in e||L(!1),e.kind){case u.OPERATION_DEFINITION:return bu(e.operation);case u.FIELD:return v.FIELD;case u.FRAGMENT_SPREAD:return v.FRAGMENT_SPREAD;case u.INLINE_FRAGMENT:return v.INLINE_FRAGMENT;case u.FRAGMENT_DEFINITION:return v.FRAGMENT_DEFINITION;case u.VARIABLE_DEFINITION:{let r=t[t.length-3];return"kind"in r||L(!1),r.kind===u.OPERATION_DEFINITION?v.VARIABLE_DEFINITION:v.FRAGMENT_VARIABLE_DEFINITION}case u.SCHEMA_DEFINITION:case u.SCHEMA_EXTENSION:return v.SCHEMA;case u.SCALAR_TYPE_DEFINITION:case u.SCALAR_TYPE_EXTENSION:return v.SCALAR;case u.OBJECT_TYPE_DEFINITION:case u.OBJECT_TYPE_EXTENSION:return v.OBJECT;case u.FIELD_DEFINITION:return v.FIELD_DEFINITION;case u.INTERFACE_TYPE_DEFINITION:case u.INTERFACE_TYPE_EXTENSION:return v.INTERFACE;case u.UNION_TYPE_DEFINITION:case u.UNION_TYPE_EXTENSION:return v.UNION;case u.ENUM_TYPE_DEFINITION:case u.ENUM_TYPE_EXTENSION:return v.ENUM;case u.ENUM_VALUE_DEFINITION:return v.ENUM_VALUE;case u.INPUT_OBJECT_TYPE_DEFINITION:case u.INPUT_OBJECT_TYPE_EXTENSION:return v.INPUT_OBJECT;case u.INPUT_VALUE_DEFINITION:{let r=t.at(-3);return r!=null&&"kind"in r||L(!1),r.kind===u.INPUT_OBJECT_TYPE_DEFINITION||r.kind===u.INPUT_OBJECT_TYPE_EXTENSION?v.INPUT_FIELD_DEFINITION:v.ARGUMENT_DEFINITION}case u.DIRECTIVE_DEFINITION:case u.DIRECTIVE_EXTENSION:return v.DIRECTIVE_DEFINITION;default:L(!1,"Unexpected kind: "+E(e.kind))}}function bu(t){switch(t){case G.QUERY:return v.QUERY;case G.MUTATION:return v.MUTATION;case G.SUBSCRIPTION:return v.SUBSCRIPTION}}function ci(t){return{FragmentSpread(e){let r=e.name.value;t.getFragment(r)||t.reportError(new d(`Unknown fragment "${r}".`,{nodes:e.name}))}}}function ui(t){let e=t.getSchema();return{OperationDefinition(r){let n=r.operation;e.getRootType(n)||t.reportError(new d(`The ${n} operation is not supported by the schema.`,{nodes:r}))}}}function Hr(t){let{definitions:e}=t.getDocument(),r=t.getSchema()?.getTypeMap()??{},n=new Set([...Object.keys(r),...e.filter(He).map(i=>i.name.value)]);return{NamedType(i,o,s,a,c){let p=i.name.value;if(!n.has(p)){let l=c[2]??s,f=l!=null&&vu(l);if(f&&Ns.has(p))return;let m=t.hideSuggestions?[]:se(p,f?[...Ns,...n]:[...n]);t.reportError(new d(`Unknown type "${p}".`+ie(m),{nodes:i}))}}}}var Ns=new Set([...Fr,...Vr].map(t=>t.name));function vu(t){return"kind"in t&&(ti(t)||ri(t))}function pi(t){let e=0;return{Document(r){e=r.definitions.filter(n=>n.kind===u.OPERATION_DEFINITION).length},OperationDefinition(r){!r.name&&e>1&&t.reportError(new d("This anonymous operation must be the only defined operation.",{nodes:r}))}}}function li(t){let e=t.getSchema(),r=e?.astNode??e?.getQueryType()??e?.getMutationType()??e?.getSubscriptionType(),n=0;return{SchemaDefinition(i){if(r){t.reportError(new d("Cannot define a new schema within a schema extension.",{nodes:i}));return}n>0&&t.reportError(new d("Must provide only one schema definition.",{nodes:i})),++n}}}var Ru=3;function fi(t){function e(r,n=Object.create(null),i=0){if(r.kind===u.FRAGMENT_SPREAD){let o=r.name.value;if(n[o]===!0)return!1;let s=t.getFragment(o);if(!s)return!1;try{return n[o]=!0,e(s,n,i)}finally{n[o]=void 0}}if(r.kind===u.FIELD&&(r.name.value==="fields"||r.name.value==="interfaces"||r.name.value==="possibleTypes"||r.name.value==="inputFields")&&(i++,i>=Ru))return!0;if("selectionSet"in r&&r.selectionSet){for(let o of r.selectionSet.selections)if(e(o,n,i))return!0}return!1}return{Field(r){if((r.name.value==="__schema"||r.name.value==="__type")&&e(r))return t.reportError(new d("Maximum introspection depth exceeded",{nodes:[r]})),!1}}}function di(t){let e=new Set,r=[],n=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition(o){return i(o),!1}};function i(o){if(e.has(o.name.value))return;let s=o.name.value;e.add(s);let a=t.getFragmentSpreads(o.selectionSet);if(a.length!==0){n[s]=r.length;for(let c of a){let p=c.name.value,l=n[p];if(r.push(c),l===void 0){let f=t.getFragment(p);f&&i(f)}else{let f=r.slice(l),m=f.slice(0,-1).map(T=>'"'+T.name.value+'"').join(", ");t.reportError(new d(`Cannot spread fragment "${p}" within itself`+(m!==""?` via ${m}.`:"."),{nodes:f}))}r.pop()}n[s]=void 0}}}function mi(t){return{OperationDefinition(e){let r=new Set(e.variableDefinitions?.map(i=>i.variable.name.value)),n=t.getRecursiveVariableUsages(e);for(let{node:i,fragmentVariableDefinition:o}of n){if(o)continue;let s=i.name.value;r.has(s)||t.reportError(new d(e.name?`Variable "$${s}" is not defined by operation "${e.name.value}".`:`Variable "$${s}" is not defined.`,{nodes:[i,e]}))}}}}function hi(t){let e=new Set,r=[];return{OperationDefinition(n){for(let i of t.getRecursivelyReferencedFragments(n))e.add(i.name.value);return!1},FragmentDefinition(n){return r.push(n),!1},Document:{leave(){for(let n of r){let i=n.name.value;e.has(i)||t.reportError(new d(`Fragment "${i}" is never used.`,{nodes:n}))}}}}}function yi(t){return{FragmentDefinition(e){let r=t.getVariableUsages(e),n=new Set(r.map(({node:o})=>o.name.value)),i=e.variableDefinitions??[];for(let o of i){let s=o.variable.name.value;n.has(s)||t.reportError(new d(`Variable "$${s}" is never used in fragment "${e.name.value}".`,{nodes:o}))}},OperationDefinition(e){let r=t.getRecursiveVariableUsages(e),n=new Set;for(let{node:o,fragmentVariableDefinition:s}of r){let a=o.name.value;s||n.add(a)}let i=e.variableDefinitions??[];for(let o of i){let s=o.variable.name.value;n.has(s)||t.reportError(new d(e.name?`Variable "$${s}" is never used in operation "${e.name.value}".`:`Variable "$${s}" is never used.`,{nodes:o}))}}}}function sr(t){switch(t.kind){case u.OBJECT:return{...t,fields:Su(t.fields)};case u.LIST:return{...t,values:t.values.map(sr)};case u.INT:case u.FLOAT:case u.STRING:case u.BOOLEAN:case u.NULL:case u.ENUM:case u.VARIABLE:return t}}function Su(t){return t.map(e=>({...e,value:sr(e.value)})).sort((e,r)=>Rt(e.name.value,r.name.value))}function Rs(t){return Array.isArray(t)?t.map(([e,r])=>`subfields "${e}" conflict because `+Rs(r)).join(" and "):t}function Ii(t){let e=new zr,r=new Ei,n=new Map;return{SelectionSet(i){let o=Ou(t,n,e,r,t.getParentType(),i);for(let[[s,a],c,p]of o){let l=Rs(a);t.reportError(new d(`Fields "${s}" conflict because ${l}. Use different aliases on the fields to fetch both if this was intentional.`,{nodes:c.concat(p)}))}}}}function Ou(t,e,r,n,i,o){let s=[],[a,c]=Xr(t,e,i,o,void 0);if(wu(t,s,e,r,n,a),c.length!==0)for(let p=0;p<c.length;p++){Wr(t,s,e,r,n,!1,a,c[p]);for(let l=p+1;l<c.length;l++)Jr(t,s,e,r,n,!1,c[p],c[l])}return s}function Wr(t,e,r,n,i,o,s,a){if(n.has(s,a.key,o))return;n.add(s,a.key,o);let c=t.getFragment(a.node.name.value);if(!c)return;let[p,l]=gi(t,r,c,a.varMap);if(s!==p){Ni(t,e,r,n,i,o,s,void 0,p,a.varMap);for(let f of l)Wr(t,e,r,n,i,o,s,f)}}function Jr(t,e,r,n,i,o,s,a){if(s.key===a.key)return;if(s.node.name.value===a.node.name.value&&!bi(s.node.arguments,s.varMap,a.node.arguments,a.varMap)){t.reportError(new d(`Spreads "${s.node.name.value}" conflict because ${s.key} and ${a.key} have different fragment arguments.`,{nodes:[s.node,a.node]}));return}if(i.has(s.key,a.key,o))return;i.add(s.key,a.key,o);let c=t.getFragment(s.node.name.value),p=t.getFragment(a.node.name.value);if(!c||!p)return;let[l,f]=gi(t,r,c,s.varMap),[m,T]=gi(t,r,p,a.varMap);Ni(t,e,r,n,i,o,l,s.varMap,m,a.varMap);for(let y of T)Jr(t,e,r,n,i,o,s,y);for(let y of f)Jr(t,e,r,n,i,o,y,a)}function xu(t,e,r,n,i,o,s,a,c,p,l){let f=[],[m,T]=Xr(t,e,o,s,a),[y,O]=Xr(t,e,c,p,l);Ni(t,f,e,r,n,i,m,a,y,l);for(let S of O)Wr(t,f,e,r,n,i,m,S);for(let S of T)Wr(t,f,e,r,n,i,y,S);for(let S of T)for(let A of O)Jr(t,f,e,r,n,i,S,A);return f}function wu(t,e,r,n,i,o){for(let[s,a]of o.entries())if(a.length>1)for(let c=0;c<a.length;c++)for(let p=c+1;p<a.length;p++){let l=Ss(t,r,n,i,!1,s,a[c],void 0,a[p],void 0);l&&e.push(l)}}function Ni(t,e,r,n,i,o,s,a,c,p){for(let[l,f]of s.entries()){let m=c.get(l);if(m!=null)for(let T of f)for(let y of m){let O=Ss(t,r,n,i,o,l,T,a,y,p);O&&e.push(O)}}}function Ss(t,e,r,n,i,o,s,a,c,p){let[l,f,m]=s,[T,y,O]=c,S=i||l!==T&&k(l)&&k(T);if(!S){let It=f.name.value,oe=y.name.value;if(It!==oe)return[[o,`"${It}" and "${oe}" are different fields`],[f],[y]];if(!bi(f.arguments,a,y.arguments,p))return[[o,"they have differing arguments"],[f],[y]]}let A=f.directives,W=y.directives,K=Du(A,a,W,p);if(K!==void 0)return[[o,K],[f],[y]];let Y=m?.type,pe=O?.type;if(Y&&pe&&Ti(Y,pe))return[[o,`they return conflicting types "${E(Y)}" and "${E(pe)}"`],[f],[y]];let Ve=f.selectionSet,Ue=y.selectionSet;if(Ve&&Ue){let It=xu(t,e,r,n,S,te(Y),Ve,a,te(pe),Ue,p);return Lu(It,o,f,y)}}function bi(t,e,r,n){if(t===void 0||t.length===0)return r===void 0||r.length===0;if(r===void 0||r.length===0||t.length!==r.length)return!1;let i=new Map(r.map(({name:o,value:s})=>[o.value,n===void 0?s:ar(s,n)]));return t.every(o=>{let s=o.value;e&&(s=ar(s,e));let a=i.get(o.name.value);return a===void 0?!1:bs(s)===bs(a)})}function ar(t,e){switch(t.kind){case u.VARIABLE:return e.get(t.name.value)??t;case u.LIST:return{...t,values:t.values.map(r=>ar(r,e))};case u.OBJECT:return{...t,fields:t.fields.map(r=>({...r,value:ar(r.value,e)}))};default:return t}}function bs(t){return V(sr(t))}function vs(t){return t?.find(e=>e.name.value==="stream")}function Du(t,e,r,n){let i=vs(t),o=vs(r);if(!(!i&&!o))return i&&o&&bi(i.arguments,e,o.arguments,n)?"they have overlapping stream directives. See https://github.com/graphql/defer-stream-wg/discussions/100":"they have overlapping stream directives"}function Ti(t,e){return C(t)?C(e)?Ti(t.ofType,e.ofType):!0:C(e)?!0:D(t)?D(e)?Ti(t.ofType,e.ofType):!0:D(e)?!0:ge(t)||ge(e)?t!==e:!1}function Xr(t,e,r,n,i){let o=e.get(n);if(o)return o;let s=new Map,a=new Map;Os(t,r,n,s,a,i);let c=[s,Array.from(a.values())];return e.set(n,c),c}function gi(t,e,r,n){let i=e.get(r.selectionSet);if(i)return i;let o=j(t.getSchema(),r.typeCondition);return Xr(t,e,o,r.selectionSet,n)}function Os(t,e,r,n,i,o){for(let s of r.selections)switch(s.kind){case u.FIELD:{let a=s.name.value,c;(k(e)||P(e))&&(c=e.getFields()[a]);let p=s.alias?s.alias.value:a,l=n.get(p);l==null&&(l=[],n.set(p,l)),l.push([e,s,c]);break}case u.FRAGMENT_SPREAD:{let a=_u(t,s,o);i.set(a.key,a);break}case u.INLINE_FRAGMENT:{let a=s.typeCondition,c=a?j(t.getSchema(),a):e;Os(t,c,s.selectionSet,n,i,o);break}}}function _u(t,e,r){let n="",i=new Map,o=t.getFragmentSignatureByName()(e.name.value),s=new Map;if(e.arguments)for(let a of e.arguments)s.set(a.name.value,a.value);if(o?.variableDefinitions){n+=e.name.value+"(";for(let[a,c]of o.variableDefinitions){let p=s.get(a);p&&(n+=a+": "+V(sr(p)));let l=s.get(a);l!==void 0?i.set(a,r!==void 0?ar(l,r):l):c.defaultValue&&i.set(a,c.defaultValue)}n+=")"}return{key:n,node:e,varMap:i.size>0?i:void 0}}function Lu(t,e,r,n){if(t.length>0)return[[e,t.map(([i])=>i)],[r,...t.map(([,i])=>i).flat()],[n,...t.map(([,,i])=>i).flat()]]}var zr=class{constructor(){this._data=new Map}has(e,r,n){let i=this._data.get(e)?.get(r);return i===void 0?!1:n?!0:n===i}add(e,r,n){let i=this._data.get(e);i===void 0?this._data.set(e,new Map([[r,n]])):i.set(r,n)}},Ei=class{constructor(){this._orderedPairSet=new zr}has(e,r,n){return e<r?this._orderedPairSet.has(e,r,n):this._orderedPairSet.has(r,e,n)}add(e,r,n){e<r?this._orderedPairSet.add(e,r,n):this._orderedPairSet.add(r,e,n)}};function vi(t){return{InlineFragment(e){let r=t.getType(),n=t.getParentType();if(Ie(r)&&Ie(n)&&!Ln(t.getSchema(),r,n)){let i=E(n),o=E(r);t.reportError(new d(`Fragment cannot be spread here as objects of type "${i}" can never be of type "${o}".`,{nodes:e}))}},FragmentSpread(e){let r=e.name.value,n=Au(t,r),i=t.getParentType();if(n&&i&&!Ln(t.getSchema(),n,i)){let o=E(i),s=E(n);t.reportError(new d(`Fragment "${r}" cannot be spread here as objects of type "${o}" can never be of type "${s}".`,{nodes:e}))}}}}function Au(t,e){let r=t.getFragment(e);if(r){let n=j(t.getSchema(),r.typeCondition);if(Ie(n))return n}}function Ri(t){let e=t.getSchema(),r=new Map;for(let i of t.getDocument().definitions)He(i)&&r.set(i.name.value,i);return{ScalarTypeExtension:n,ObjectTypeExtension:n,InterfaceTypeExtension:n,UnionTypeExtension:n,EnumTypeExtension:n,InputObjectTypeExtension:n};function n(i){let o=i.name.value,s=r.get(o),a=e?.getType(o),c;if(s!=null?c=Fu[s.kind]:a&&(c=Cu(a)),c!=null){if(c!==i.kind){let p=ku(i.kind);t.reportError(new d(`Cannot extend non-${p} type "${o}".`,{nodes:s?[s,i]:i}))}}else{let p=[...r.keys(),...Object.keys(e?.getTypeMap()??{})];t.reportError(new d(`Cannot extend type "${o}" because it is not defined.`+ie(se(o,p)),{nodes:i.name}))}}}var Fu={[u.SCALAR_TYPE_DEFINITION]:u.SCALAR_TYPE_EXTENSION,[u.OBJECT_TYPE_DEFINITION]:u.OBJECT_TYPE_EXTENSION,[u.INTERFACE_TYPE_DEFINITION]:u.INTERFACE_TYPE_EXTENSION,[u.UNION_TYPE_DEFINITION]:u.UNION_TYPE_EXTENSION,[u.ENUM_TYPE_DEFINITION]:u.ENUM_TYPE_EXTENSION,[u.INPUT_OBJECT_TYPE_DEFINITION]:u.INPUT_OBJECT_TYPE_EXTENSION};function Cu(t){if(_e(t))return u.SCALAR_TYPE_EXTENSION;if(k(t))return u.OBJECT_TYPE_EXTENSION;if(P(t))return u.INTERFACE_TYPE_EXTENSION;if(ee(t))return u.UNION_TYPE_EXTENSION;if(J(t))return u.ENUM_TYPE_EXTENSION;if(F(t))return u.INPUT_OBJECT_TYPE_EXTENSION;L(!1,"Unexpected type: "+E(t))}function ku(t){switch(t){case u.SCALAR_TYPE_EXTENSION:return"scalar";case u.OBJECT_TYPE_EXTENSION:return"object";case u.INTERFACE_TYPE_EXTENSION:return"interface";case u.UNION_TYPE_EXTENSION:return"union";case u.ENUM_TYPE_EXTENSION:return"enum";case u.INPUT_OBJECT_TYPE_EXTENSION:return"input object";default:L(!1,"Unexpected kind: "+E(t))}}function Si(t){return{...Oi(t),Field:{leave(e){let r=t.getFieldDef();if(!r)return!1;let n=new Set(e.arguments?.map(i=>i.name.value));for(let i of r.args)!n.has(i.name)&&Ne(i)&&t.reportError(new d(`Argument "${i}" of type "${i.type}" is required, but it was not provided.`,{nodes:e}))}},FragmentSpread:{leave(e){let r=t.getFragmentSignature();if(!r)return!1;let n=new Set(e.arguments?.map(i=>i.name.value));for(let[i,o]of r.variableDefinitions)if(!n.has(i)&&xs(o)){let s=j(t.getSchema(),o.type),a=E(s);t.reportError(new d(`Fragment "${e.name.value}" argument "${i}" of type "${a}" is required, but it was not provided.`,{nodes:e}))}}}}}function Oi(t){let e=new Map,n=t.getSchema()?.getDirectives()??Fe;for(let o of n)e.set(o.name,new Map(o.args.filter(Ne).map(s=>[s.name,s])));let i=t.getDocument().definitions;for(let o of i)if(o.kind===u.DIRECTIVE_DEFINITION){let s=o.arguments??[];e.set(o.name.value,new Map(s.filter(xs).map(a=>[a.name.value,a])))}return{Directive:{leave(o){let s=o.name.value,a=e.get(s);if(a!=null){let c=o.arguments??[],p=new Set(c.map(l=>l.name.value));for(let[l,f]of a.entries())if(!p.has(l)){let m=Yt(f.type)?E(f.type):V(f.type);t.reportError(new d(`Argument "@${s}(${l}:)" of type "${m}" is required, but it was not provided.`,{nodes:o}))}}}}}}function xs(t){return t.type.kind===u.NON_NULL_TYPE&&t.defaultValue==null}function xi(t){return{Field(e){let r=t.getType(),n=e.selectionSet;if(r)if(ge(te(r))){if(n){let i=e.name.value,o=E(r);t.reportError(new d(`Field "${i}" must not have a selection since type "${o}" has no subfields.`,{nodes:n}))}}else if(n){if(n.selections.length===0){let i=e.name.value,o=E(r);t.reportError(new d(`Field "${i}" of type "${o}" must have at least one field selected.`,{nodes:e}))}}else{let i=e.name.value,o=E(r);t.reportError(new d(`Field "${i}" of type "${o}" must have a selection of subfields. Did you mean "${i} { ... }"?`,{nodes:e}))}}}}function yt(t,e){if(D(e))return t==null?void 0:yt(t,e.ofType);if(t==null)return null;if(C(e)){if(!le(t)){let i=yt(t,e.ofType);return i===void 0?void 0:[i]}let n=[];for(let i of t){let o=yt(i,e.ofType);if(o===void 0)return;n.push(o)}return n}if(F(e)){if(!H(t)||Array.isArray(t))return;let n=Object.create(null),i=e.getFields(),o=0;for(let s of Object.keys(t))if(t[s]!==void 0&&(o++,!Object.hasOwn(i,s)))return;for(let s of Object.values(i)){let a=t[s.name];if(a===void 0){if(me(s))return;let c=Zr(s);c!==void 0&&(n[s.name]=c)}else{let c=yt(a,s.type);if(c===void 0)return;n[s.name]=c}}if(e.isOneOf){let s=Object.keys(n);if(o!==1||s.length!==1)return;let a=s[0];if(n[a]===null)return}return n}let r=Ee(e);try{return r.coerceInputValue(t)}catch{}}function Tt(t,e,r,n){if(t.kind===u.VARIABLE){let o=ws(t,r,n);return o==null&&D(e)?void 0:o}if(D(e))return t.kind===u.NULL?void 0:Tt(t,e.ofType,r,n);if(t.kind===u.NULL)return null;if(C(e)){if(t.kind!==u.LIST){let s=Tt(t,e.ofType,r,n);return s===void 0?void 0:[s]}let o=[];for(let s of t.values){let a=Tt(s,e.ofType,r,n);if(a===void 0)if(s.kind===u.VARIABLE&&ws(s,r,n)==null&&!D(e.ofType))a=null;else return;o.push(a)}return o}if(F(e)){if(t.kind!==u.OBJECT)return;let o=Object.create(null),s=e.getFields();if(t.fields.some(p=>!Object.hasOwn(s,p.name.value)))return;let c=new Map(t.fields.map(p=>[p.name.value,p]));for(let p of Object.values(s)){let l=c.get(p.name);if(!l||l.value.kind===u.VARIABLE&&Pu(l.value,r,n)){if(me(p))return;let f=Zr(p);f!==void 0&&(o[p.name]=f)}else{let f=Tt(l.value,p.type,r,n);if(f===void 0)return;o[p.name]=f}}if(e.isOneOf){let p=Object.keys(o);if(c.size!==1||p.length!==1)return;for(let[l,f]of c)if(f.value.kind===u.NULL||o[l]===null)return}return o}let i=Ee(e);try{return i.coerceInputLiteral?i.coerceInputLiteral(st(t,r,n)):i.parseLiteral(t,r?.coerced)}catch{}}function ws(t,e,r){let n=t.name.value;return r?.sources[n]!==void 0?r.coerced[n]:e?.coerced[n]}function Pu(t,e,r){let n=t.name.value;return(r?.sources[n]!==void 0?r.coerced:e?.coerced)?.[n]===void 0}function Zr(t){let e=t._memoizedCoercedDefaultValue;if(e!==void 0)return e;let r=t.default;if(r!==void 0)return e=r.literal?Tt(r.literal,t.type):yt(r.value,t.type),e===void 0&&L(!1,`Expected value of type "${t.type}" to be valid, found: ${E(r.literal??r.value)}.`),t._memoizedCoercedDefaultValue=e,e;let n=t.defaultValue;return n!==void 0&&(t._memoizedCoercedDefaultValue=n),n}function en(t,e){let r=e.variable.name.value,n=j(t,e.type);if(!Z(n)){let o=V(e.type);return new d(`Variable "$${r}" expected value of type "${o}" which cannot be used as an input type.`,{nodes:e.type})}let i=e.defaultValue;return{name:r,type:n,default:i&&{literal:i}}}function tn(t,e,r,n){let i=[],o=n?.maxErrors;try{let s=Mu(t,e,r,a=>{if(o!=null&&i.length>=o)throw new d("Too many errors processing variables, error limit reached. Execution aborted.");i.push(a)},n?.hideSuggestions);if(i.length===0)return{variableValues:s}}catch(s){i.push($e(s))}return{errors:i}}function Mu(t,e,r,n,i){let o=Object.create(null),s=Object.create(null);for(let a of e){let c=en(t,a);if(c instanceof d){n(c);continue}let{name:p,type:l}=c,f=Object.hasOwn(r,p)?r[p]:void 0;if(f===void 0){if(o[p]={signature:c},a.defaultValue){Di(s,p,c,(T,y)=>{n(new d(`Variable "$${p}" has invalid default value${ze(y)}: ${T.message}`,{nodes:a}))},i);continue}else if(!D(l))continue}else o[p]={signature:c,value:f};let m=yt(f,l);m!==void 0?s[p]=m:Xt(f,l,(T,y)=>{n(new d(`Variable "$${p}" has invalid value${ze(y)}: ${T.message}`,{nodes:a,originalError:T}))},i)}return{sources:o,coerced:s}}function Di(t,e,r,n,i){try{let o=Zr(r);o!==void 0&&(t[e]=o)}catch(o){let s=r.default;if(s===void 0)throw o;let a=!1;Qn(s,r.type,(c,p)=>{a=!0,n(c,p)},i),a||n($e(o),[])}}function Ds(t,e,r,n,i){let o=t.arguments??[],s=new Map(o.map(p=>[p.name.value,p])),a=Object.create(null),c=Object.create(null);for(let[p,l]of Object.entries(e)){let f=s.get(p);f!==void 0?a[p]=n==null?{signature:l,value:f.value}:{signature:l,value:f.value,fragmentVariableValues:n}:a[p]={signature:l},_s(c,t,p,l,f,r,n,i)}return{sources:a,coerced:c}}function We(t,e,r,n,i){let o=Object.create(null),s=e.arguments??[],a=new Map(s.map(c=>[c.name.value,c]));for(let c of t.args){let p=c.name;_s(o,e,p,c,a.get(c.name),r,n,i)}return o}function _s(t,e,r,n,i,o,s,a){let c=n.type,p=(m,T)=>{throw new d(`${wi(n,e)} has invalid default value${ze(T)}: ${m.message}`,{nodes:e})};if(!i){if(Ne(n))throw new d(`${wi(n,e)} of required type "${c}" was not provided.`,{nodes:e});Di(t,r,n,p,a);return}let l=i.value;if(l.kind===u.VARIABLE){let m=l.name.value,T=s?.sources[m]?s:o;if((T==null||!Object.hasOwn(T.coerced,m))&&!Ne(n)){Di(t,r,n,p,a);return}}let f=Tt(l,c,o,s);f===void 0&&(wt(l,c,(m,T)=>{throw m.message=`${wi(n,e)} has invalid value${ze(T)}: ${m.message}`,m},o,s,a),L(!1,"Invalid argument")),t[r]=f}function wi(t,e){return Or(t)?`Argument "${t}"`:`Variable "$${t.name}" defined by fragment "${e.name.value}"`}function cr(t,e,r,n,i){let o=e.directives?.find(s=>s.name.value===t.name);if(o)return We(t,o,r,n,i)}function rn(t,e,r,n,i,o,s=!1){let a=new Ge,c=[],p={schema:t,fragments:e,variableValues:r,runtimeType:n,visitedFragmentNames:new Map,hideSuggestions:o,forbiddenDirectiveInstances:[],forbidSkipAndInclude:s};return ur(p,i,a,c),{groupedFieldSet:a,newDeferUsages:c,forbiddenDirectiveInstances:p.forbiddenDirectiveInstances}}function Fs(t,e,r,n,i,o){let s={schema:t,fragments:e,variableValues:r,runtimeType:n,visitedFragmentNames:new Map,hideSuggestions:o,forbiddenDirectiveInstances:[],forbidSkipAndInclude:!1},a=new Ge,c=[];for(let p of i){let l=p.node.selectionSet;if(l){let{deferUsage:f,fragmentVariableValues:m}=p;ur(s,l,a,c,f,m)}}return{groupedFieldSet:a,newDeferUsages:c}}function ur(t,e,r,n,i,o){let{schema:s,fragments:a,variableValues:c,runtimeType:p,visitedFragmentNames:l,hideSuggestions:f}=t;for(let m of e.selections)switch(m.kind){case u.FIELD:{if(!_i(t,m,c,o))continue;r.add(Vu(m),{node:m,deferUsage:i,fragmentVariableValues:o});break}case u.INLINE_FRAGMENT:{if(!_i(t,m,c,o)||!As(s,m,p))continue;let T=Ls(c,o,m,i);T?(n.push(T),ur(t,m.selectionSet,r,n,T,o)):ur(t,m.selectionSet,r,n,i,o);break}case u.FRAGMENT_SPREAD:{let T=m.name.value;if(!_i(t,m,c,o))continue;let y=a[T];if(y==null||!As(s,y.definition,p))continue;let O=Ls(c,o,m,i),S=l.get(T),A;if(O){if(S!==void 0)continue;l.set(T,!0),n.push(O),A=O}else{if(S===!1)continue;l.set(T,!1),A=i}let W=y.variableSignatures,K;W&&(K=Ds(m,W,c,o,f)),ur(t,y.definition.selectionSet,r,n,A,K);break}}}function Ls(t,e,r,n){let i=cr(Qe,r,t,e);if(i&&i.if!==!1)return{label:typeof i.label=="string"?i.label:void 0,parentDeferUsage:n}}function _i(t,e,r,n){let i=e.directives?.find(c=>c.name.value===pt.name);if(i&&t.forbidSkipAndInclude)return t.forbiddenDirectiveInstances.push(i),!1;if((i?We(pt,i,r,n,t.hideSuggestions):void 0)?.if===!0)return!1;let s=e.directives?.find(c=>c.name.value===ut.name);return s&&t.forbidSkipAndInclude?(t.forbiddenDirectiveInstances.push(s),!1):(s?We(ut,s,r,n,t.hideSuggestions):void 0)?.if!==!1}function As(t,e,r){let n=e.typeCondition;if(!n)return!0;let i=j(t,n);return i===r?!0:ce(i)?t.isSubType(i,r):!1}function Vu(t){return t.alias?t.alias.value:t.name.value}function Li(t){return t.map(e=>e.node)}function Ai(t){return{OperationDefinition(e){if(e.operation==="subscription"){let r=t.getSchema(),n=r.getSubscriptionType();if(n){let i=e.name?e.name.value:null,o=Object.create(null),s=t.getDocument(),a=Object.create(null);for(let l of s.definitions)l.kind===u.FRAGMENT_DEFINITION&&(a[l.name.value]={definition:l});let{groupedFieldSet:c,forbiddenDirectiveInstances:p}=rn(r,a,o,n,e.selectionSet,t.hideSuggestions,!0);if(p.length>0){t.reportError(new d(i!=null?`Subscription "${i}" must not use \`@skip\` or \`@include\` directives in the top level selection.`:"Anonymous Subscription must not use `@skip` or `@include` directives in the top level selection.",{nodes:p}));return}if(c.size>1){let m=[...c.values()].slice(1).flatMap(T=>Li(T));t.reportError(new d(i!=null?`Subscription "${i}" must select only one top level field.`:"Anonymous Subscription must select only one top level field.",{nodes:m}))}for(let l of c.values())Li(l)[0].name.value.startsWith("__")&&t.reportError(new d(i!=null?`Subscription "${i}" must not select an introspection top level field.`:"Anonymous Subscription must not select an introspection top level field.",{nodes:Li(l)}))}}}}}function Fi(t){return{Directive(e){let r=t.getFieldDef(),n=t.getParentType();r&&n&&e.name.value===Ae.name&&!(C(r.type)||it(r.type)&&C(r.type.ofType))&&t.reportError(new d(`Directive "@stream" cannot be used on non-list field "${n}.${r.name}".`,{nodes:e}))}}}function kt(t,e){let r=new Ge;for(let n of t)r.add(e(n),n);return r}function Ci(t){return{DirectiveDefinition(n){let i=n.arguments??[];return r(`@${n.name.value}`,i)},InterfaceTypeDefinition:e,InterfaceTypeExtension:e,ObjectTypeDefinition:e,ObjectTypeExtension:e};function e(n){let i=n.name.value,o=n.fields??[];for(let s of o){let a=s.name.value,c=s.arguments??[];r(`${i}.${a}`,c)}return!1}function r(n,i){let o=kt(i,s=>s.name.value);for(let[s,a]of o)a.length>1&&t.reportError(new d(`Argument "${n}(${s}:)" can only be defined once.`,{nodes:a.map(c=>c.name)}));return!1}}function nn(t){return{Field:e,Directive:e};function e(r){let n=r.arguments??[],i=kt(n,o=>o.name.value);for(let[o,s]of i)s.length>1&&t.reportError(new d(`There can be only one argument named "${o}".`,{nodes:s.map(a=>a.name)}))}}function ki(t){let e=new Map,r=t.getSchema();return{DirectiveDefinition(n){let i=n.name.value;if(r?.getDirective(i)){t.reportError(new d(`Directive "@${i}" already exists in the schema. It cannot be redefined.`,{nodes:n.name}));return}let o=e.get(i);return o?t.reportError(new d(`There can be only one directive named "@${i}".`,{nodes:[o,n.name]})):e.set(i,n.name),!1}}}function on(t){let e=new Map,r=t.getSchema(),n=r?r.getDirectives():Fe;for(let c of n)e.set(c.name,!c.isRepeatable);let i=t.getDocument().definitions;for(let c of i)c.kind===u.DIRECTIVE_DEFINITION&&e.set(c.name.value,!c.repeatable);let o=new Map,s=new Map,a=new Map;return{enter(c){if(!("directives"in c)||!c.directives)return;let p;if(c.kind===u.SCHEMA_DEFINITION||c.kind===u.SCHEMA_EXTENSION)p=o;else if(He(c)||Kr(c)){let l=c.name.value;p=s.get(l),p===void 0&&(p=new Map,s.set(l,p))}else if(c.kind===u.DIRECTIVE_DEFINITION||c.kind===u.DIRECTIVE_EXTENSION){let l=c.name.value;p=a.get(l),p===void 0&&(p=new Map,a.set(l,p))}else p=new Map;for(let l of c.directives){let f=l.name.value;if(e.get(f)===!0){let m=p.get(f);m!=null?t.reportError(new d(`The directive "@${f}" can only be used once at this location.`,{nodes:[m,l]})):p.set(f,l)}}}}}function Pi(t){let e=t.getSchema(),r=e?e.getTypeMap():Object.create(null),n=new Map;return{EnumTypeDefinition:i,EnumTypeExtension:i};function i(o){let s=o.name.value,a=n.get(s);a==null&&(a=new Map,n.set(s,a));let c=o.values??[];for(let p of c){let l=p.name.value,f=r[s];if(J(f)&&f.getValue(l)){t.reportError(new d(`Enum value "${s}.${l}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:p.name}));continue}let m=a.get(l);m!=null?t.reportError(new d(`Enum value "${s}.${l}" can only be defined once.`,{nodes:[m,p.name]})):a.set(l,p.name)}return!1}}function Mi(t){let e=t.getSchema(),r=e?e.getTypeMap():Object.create(null),n=new Map;return{InputObjectTypeDefinition:i,InputObjectTypeExtension:i,InterfaceTypeDefinition:i,InterfaceTypeExtension:i,ObjectTypeDefinition:i,ObjectTypeExtension:i};function i(o){let s=o.name.value,a=n.get(s);a==null&&(a=new Map,n.set(s,a));let c=o.fields??[];for(let p of c){let l=p.name.value;if(Uu(r[s],l)){t.reportError(new d(`Field "${s}.${l}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:p.name}));continue}let f=a.get(l);f!=null?t.reportError(new d(`Field "${s}.${l}" can only be defined once.`,{nodes:[f,p.name]})):a.set(l,p.name)}return!1}}function Uu(t,e){return k(t)||P(t)||F(t)?t.getFields()[e]!=null:!1}function Vi(t){let e=new Map;return{OperationDefinition:()=>!1,FragmentDefinition(r){let n=r.name.value,i=e.get(n);return i!=null?t.reportError(new d(`There can be only one fragment named "${n}".`,{nodes:[i,r.name]})):e.set(n,r.name),!1}}}function sn(t){let e=[],r=new Map;return{ObjectValue:{enter(){e.push(r),r=new Map},leave(){let n=e.pop();n==null&&L(!1),r=n}},ObjectField(n){let i=n.name.value,o=r.get(i);o!=null?t.reportError(new d(`There can be only one input field named "${i}".`,{nodes:[o,n.name]})):r.set(i,n.name)}}}function Ui(t){let e=new Map;return{OperationDefinition(r){let n=r.name;if(n!=null){let i=e.get(n.value);i!=null?t.reportError(new d(`There can be only one operation named "${n.value}".`,{nodes:[i,n]})):e.set(n.value,n)}return!1},FragmentDefinition:()=>!1}}function $i(t){let e=t.getSchema(),r=new Map,n=e?{query:e.getQueryType(),mutation:e.getMutationType(),subscription:e.getSubscriptionType()}:{};return{SchemaDefinition:i,SchemaExtension:i};function i(o){let s=o.operationTypes??[];for(let a of s){let c=a.operation,p=r.get(c);n[c]?t.reportError(new d(`Type for ${c} already defined in the schema. It cannot be redefined.`,{nodes:a})):p?t.reportError(new d(`There can be only one ${c} type in schema.`,{nodes:[p,a]})):r.set(c,a)}return!1}}function Gi(t){let e=new Map,r=t.getSchema();return{ScalarTypeDefinition:n,ObjectTypeDefinition:n,InterfaceTypeDefinition:n,UnionTypeDefinition:n,EnumTypeDefinition:n,InputObjectTypeDefinition:n};function n(i){let o=i.name.value;if(r?.getType(o)){t.reportError(new d(`Type "${o}" already exists in the schema. It cannot also be defined in this type definition.`,{nodes:i.name}));return}let s=e.get(o);return s!=null?t.reportError(new d(`There can be only one type named "${o}".`,{nodes:[s,i.name]})):e.set(o,i.name),!1}}function Bi(t){return{OperationDefinition(e){let r=e.variableDefinitions??[],n=kt(r,i=>i.variable.name.value);for(let[i,o]of n)o.length>1&&t.reportError(new d(`There can be only one variable named "$${i}".`,{nodes:o.map(s=>s.variable.name)}))}}}function Qi(t){return{NullValue:e=>Je(t,e,t.getInputType()),ListValue:e=>Je(t,e,t.getParentInputType()),ObjectValue:e=>Je(t,e,t.getInputType()),EnumValue:e=>Je(t,e,t.getInputType()),IntValue:e=>Je(t,e,t.getInputType()),FloatValue:e=>Je(t,e,t.getInputType()),StringValue:e=>Je(t,e,t.getInputType()),BooleanValue:e=>Je(t,e,t.getInputType())}}function Je(t,e,r){return r&&wt(e,r,n=>{t.reportError(n)},void 0,void 0,t.hideSuggestions),!1}function ji(t){return{VariableDefinition(e){let r=j(t.getSchema(),e.type);if(r!==void 0&&!Z(r)){let n=e.variable.name.value,i=V(e.type);t.reportError(new d(`Variable "$${n}" cannot be non-input type "${i}".`,{nodes:e.type}))}}}}function qi(t){let e;return{OperationDefinition:{enter(){e=new Map},leave(r){let n=t.getRecursiveVariableUsages(r);for(let{node:i,type:o,parentType:s,defaultValue:a,fragmentVariableDefinition:c}of n){let p=i.name.value,l=c;if(l??=e.get(p),l&&o){let f=t.getSchema(),m=j(f,l.type);m&&!$u(f,m,l.defaultValue,o,a)&&t.reportError(new d(`Variable "$${p}" of type "${m}" used in position expecting type "${o}".`,{nodes:[l,i]})),F(s)&&s.isOneOf&&xr(m)&&t.reportError(new d(`Variable "$${p}" is of type "${m}" but must be non-nullable to be used for OneOf Input Object "${s}".`,{nodes:[l,i]}))}}}},VariableDefinition(r){e.set(r.variable.name.value,r)}}}function $u(t,e,r,n,i){if(D(n)&&!D(e)){if(!(r!=null&&r.kind!==u.NULL)&&!(i!==void 0))return!1;let a=n.ofType;return qe(t,e,a)}return qe(t,e,n)}var Ki=Object.freeze([fi]),Pt=Object.freeze([ni,ui,Ui,pi,Ai,Hr,oi,ji,xi,ii,Vi,ci,hi,vi,di,Bi,mi,yi,Yr,on,Xn,Zn,Wn,Fi,si,nn,Qi,Si,qi,Ii,sn,...Ki]),Gu=Object.freeze([li,$i,Gi,Pi,Mi,Ci,ki,Hr,Yr,on,Ri,ai,nn,sn,Oi]);var Yi=class{constructor(e,r){this._ast=e,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=r}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(e){this._onError(e)}getDocument(){return this._ast}getFragment(e){let r;if(this._fragments)r=this._fragments;else{r=Object.create(null);for(let n of this.getDocument().definitions)n.kind===u.FRAGMENT_DEFINITION&&(r[n.name.value]=n);this._fragments=r}return r[e]}getFragmentSpreads(e){let r=this._fragmentSpreads.get(e);if(!r){r=[];let n=[e],i;for(;i=n.pop();)for(let o of i.selections)o.kind===u.FRAGMENT_SPREAD?r.push(o):o.selectionSet&&n.push(o.selectionSet);this._fragmentSpreads.set(e,r)}return r}getRecursivelyReferencedFragments(e){let r=this._recursivelyReferencedFragments.get(e);if(!r){r=[];let n=new Set,i=[e.selectionSet],o;for(;o=i.pop();)for(let s of this.getFragmentSpreads(o)){let a=s.name.value;if(!n.has(a)){n.add(a);let c=this.getFragment(a);c&&(r.push(c),i.push(c.selectionSet))}}this._recursivelyReferencedFragments.set(e,r)}return r}};var pr=class extends Yi{constructor(e,r,n,i,o){super(r,i),this._schema=e,this._typeInfo=n,this._variableUsages=new Map,this._recursiveVariableUsages=new Map,this._hideSuggestions=o??!1}get[Symbol.toStringTag](){return"ValidationContext"}get hideSuggestions(){return this._hideSuggestions}getSchema(){return this._schema}getVariableUsages(e){let r=this._variableUsages.get(e);if(!r){let n=[],i=new Ct(this._schema,void 0,this._typeInfo.getFragmentSignatureByName()),o=e.kind===u.FRAGMENT_DEFINITION?e:void 0;tt(e,qr(i,{VariableDefinition:()=>!1,Variable(s){let a;o?(a=i.getFragmentSignatureByName()(o.name.value)?.variableDefinitions.get(s.name.value),n.push({node:s,type:i.getInputType(),parentType:i.getParentInputType(),defaultValue:void 0,fragmentVariableDefinition:a})):n.push({node:s,type:i.getInputType(),parentType:i.getParentInputType(),defaultValue:i.getDefaultValue(),fragmentVariableDefinition:void 0})}})),r=n,this._variableUsages.set(e,r)}return r}getRecursiveVariableUsages(e){let r=this._recursiveVariableUsages.get(e);if(!r){r=this.getVariableUsages(e);for(let n of this.getRecursivelyReferencedFragments(e))r=r.concat(this.getVariableUsages(n));this._recursiveVariableUsages.set(e,r)}return r}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getFragmentSignature(){return this._typeInfo.getFragmentSignature()}getFragmentSignatureByName(){return this._typeInfo.getFragmentSignatureByName()}getEnumValue(){return this._typeInfo.getEnumValue()}};var Bu=ke(Bt,t=>t.filter(e=>e!=="description")),Hi=new d("Too many validation errors, error limit reached. Validation aborted.");function an(t,e,r=Pt,n){return Oe(qn)?qn.traceSync(()=>Cs(t,e,r,n),{schema:t,document:e}):Cs(t,e,r,n)}function Cs(t,e,r,n){let i=n?.maxErrors??100,o=n?.hideSuggestions??!1;_t(t);let s=[],a=new Ct(t),c=new pr(t,e,a,l=>{if(s.length>=i)throw Hi;s.push(l)},o),p=Rn(r.map(l=>l(c)));try{tt(e,qr(a,p),Bu)}catch(l){if(l===Hi)s.push(Hi);else throw l}return s}function ks(t){return typeof t?.[Symbol.asyncIterator]=="function"}function Wi(t,e,r){let n=Er(t);return Qu(n)?n:new d(n.message,{nodes:n.nodes??e,source:n.source,positions:n.positions,path:r,originalError:n})}function Qu(t){return Array.isArray(t.path)}function Ps(t,e){let r=null;for(let n of t.definitions)if(n.kind===u.OPERATION_DEFINITION){if(e==null){if(r)return null;r=n}else if(n.name?.value===e)return n}return r}function Ms(t,e,r,n,i,o,s){let{schema:a,fragmentDefinitions:c,rootValue:p,operation:l,variableValues:f}=t;return{fieldName:e.name,fieldNodes:r,returnType:e.type,parentType:n,path:i,schema:a,fragments:c,rootValue:p,operation:l,variableValues:f,getAbortSignal:o,getAsyncHelpers:s}}function Vs(){let t,e;return{promise:new Promise((n,i)=>{t=n,e=i}),resolve:t,reject:e}}function Us(t){let{promise:e,resolve:r,reject:n}=Vs(),i=!1,o=a=>{i||(i=!0,r(a))},s=a=>{i||(i=!0,n(a))};return t.then(o,s),{promise:e,abort(a){s(a)}}}var cn=class{constructor(){this.pendingAsyncWork=new Set}add(e){let r=this.pendingAsyncWork,n=e.then(()=>{r.delete(n)},()=>{r.delete(n)});r.add(n)}addValues(e){for(let r of e)de(r)&&this.add(r)}wait(){if(this.pendingAsyncWork.size!==0)return this.waitForPendingAsyncWork()}promiseAllTrackOnReject(e){let r=Promise.all(e);return r.then(void 0,()=>{this.addValues(e)}),r}async waitForPendingAsyncWork(){for(;this.pendingAsyncWork.size>0;)await Promise.allSettled(Array.from(this.pendingAsyncWork))}};function $s(t){let e=new cn,r,n=o=>e.promiseAllTrackOnReject(o);return{asyncWorkTracker:e,getAbortSignal:()=>t,getAsyncHelpers:()=>r??={promiseAll:n,track:o=>e.addValues(o)},promiseAll:n}}function Gs(t){let e;return function(n,i){e??=new WeakMap;let o=e.get(n);o===void 0&&(o=new WeakMap,e.set(n,o));let s=o.get(i);return s===void 0&&(s=t(n,i),o.set(i,s)),s}}function Bs(t){let e;return function(n,i,o){e??=new WeakMap;let s=e.get(n);s===void 0&&(s=new WeakMap,e.set(n,s));let a=s.get(i);a===void 0&&(a=new WeakMap,s.set(i,a));let c=a.get(o);return c===void 0&&(c=t(n,i,o),a.set(o,c)),c}}function Qs(t,e){let r=Object.keys(t),n=Object.values(t);return e(n).then(i=>{let o=Object.create(null);for(let s=0;s<r.length;++s)o[r[s]]=i[s];return o})}function js(t,e,r){let n=r;for(let i of t)n=we(n)?n.then(o=>e(o,i)):e(n,i);return n}var lr=class extends Error{constructor(e,r){super(mp(e),{cause:e}),this.name="AbortedGraphQLExecutionError",this.abortedResult=r}get[Symbol.toStringTag](){return"AbortedGraphQLExecutionError"}};function mp(t){return t instanceof Error||typeof t=="object"&&t!==null&&"message"in t&&typeof t.message=="string"?t.message:String(t)}function qs(t){let e=[];try{for(;;){let r=t.next();if(r.done)return e;de(r.value)&&e.push(r.value)}}catch{return e}}function Ks(t,e){let{operation:r,variableValues:n}=t,i=cr(Ae,e[0].node,n,e[0].fragmentVariableValues);if(!i||i.if===!1)return;typeof i.initialCount!="number"&&L(!1,"initialCount must be a number"),i.initialCount>=0||L(!1,"initialCount must be a positive integer"),r.operation===G.SUBSCRIPTION&&L(!1,"`@stream` directive not supported on subscription operations. Disable `@stream` by setting the `if` argument to `false`.");let o=e.map(s=>({node:s.node,deferUsage:void 0,fragmentVariableValues:s.fragmentVariableValues}));return{initialCount:i.initialCount,label:typeof i.label=="string"?i.label:void 0,fieldDetailsList:o}}function Ys(t,e){try{t?.(e)}catch{}}function Hs(t,e,r){let n=e.asyncWorkTracker.wait();if(n===void 0){Ys(r,{validatedExecutionArgs:t});return}n.then(()=>{Ys(r,{validatedExecutionArgs:t})}).catch(()=>{})}async function Ji(t){try{await t.return?.()}catch{}}var hp=Bs((t,e,r)=>{let{schema:n,fragments:i,variableValues:o,hideSuggestions:s}=t;return Fs(n,i,o,e,r,s)}),un=Gs((t,e)=>Ks(t,e)),Xi=class{constructor(){this._errorPositions=new Set,this._errors=[]}get errors(){return this._errors}add(e,r){this.hasNulledPosition(r)||(this._errorPositions.add(r),this._errors.push(e))}hasNulledPosition(e){let r=e;for(;r!==void 0;){if(this._errorPositions.has(r))return!0;r=r.prev}return this._errorPositions.has(void 0)}},yp=new Error("This operation was aborted"),pn=class{constructor(e,r){this.validatedExecutionArgs=e,this.aborted=!1,this.abortReason=yp,this.collectedErrors=new Xi,r===void 0?(this.resolverAbortController=new AbortController,this.sharedExecutionContext=$s(this.resolverAbortController.signal)):this.sharedExecutionContext=r;let{getAbortSignal:n,getAsyncHelpers:i,promiseAll:o}=this.sharedExecutionContext;this.getAbortSignal=n,this.getAsyncHelpers=i,this.promiseAll=o}executeRootSelectionSet(e){return Oe(Yn)?Lt(Yn,this.buildExecuteContextFromValidatedArgs(this.validatedExecutionArgs),()=>this.executeRootSelectionSetImpl(e)):this.executeRootSelectionSetImpl(e)}buildExecuteContextFromValidatedArgs(e){return{schema:e.schema,document:e.document,operation:e.operation,rawVariableValues:e.rawVariableValues,operationName:e.operation.name?.value,operationType:e.operation.operation}}executeRootSelectionSetImpl(e){let r=this.validatedExecutionArgs.externalAbortSignal,n;if(r){r.throwIfAborted();let s=()=>{this.abort(r.reason)};n=()=>r.removeEventListener("abort",s),r.addEventListener("abort",s)}let i=()=>{n?.()},o;try{let{schema:s,fragments:a,rootValue:c,operation:p,variableValues:l,hideSuggestions:f}=this.validatedExecutionArgs,{operation:m,selectionSet:T}=p,y=s.getRootType(m);if(y==null)throw new d(`Schema is not configured to execute ${m} operation.`,{nodes:p});let{groupedFieldSet:O,newDeferUsages:S}=rn(s,a,l,y,T,f);if(o=this.executeCollectedRootFields(y,c,O,e??m===G.MUTATION,S),we(o)){let A=o.then(Y=>(i(),this.buildResponse(Y)),Y=>(i(),this.collectedErrors.add($e(Y),void 0),this.buildResponse(null)));this.sharedExecutionContext.asyncWorkTracker.add(A);let{promise:W,abort:K}=Us(A.then(Y=>this.finish(Y)));return this.abortResultPromise=()=>{K(this.createAbortedExecutionError(A))},this.aborted&&this.abortResultPromise(),W}i()}catch(s){return i(),this.collectedErrors.add($e(s),void 0),this.finish(this.buildResponse(null))}return this.finish(this.buildResponse(o))}abort(e){this.aborted||(this.aborted=!0,e!==void 0&&(this.abortReason=e),this.abortResultPromise?.(),this.resolverAbortController?.abort(this.abortReason))}finish(e){if(this.aborted)throw this.createAbortedExecutionError(e);return this.aborted=!0,e}createAbortedExecutionError(e){return new lr(this.abortReason,e)}getFinishSharedExecution(){let e=this.resolverAbortController,r=this.validatedExecutionArgs.hooks?.asyncWorkFinished;if(r===void 0)return()=>e?.abort();let n=this.validatedExecutionArgs,i=this.sharedExecutionContext;return()=>{e?.abort(),Hs(n,i,r)}}buildResponse(e){this.getFinishSharedExecution()();let r=this.collectedErrors.errors;return r.length?{errors:r,data:e}:{data:e}}executeCollectedRootFields(e,r,n,i,o){return this.executeRootGroupedFieldSet(e,r,n,i,void 0)}executeRootGroupedFieldSet(e,r,n,i,o){return i?this.executeFieldsSerially(e,r,void 0,n,o):this.executeFields(e,r,void 0,n,o)}executeFieldsSerially(e,r,n,i,o){let s=Oe(mt)?mt:void 0;return js(i,(a,[c,p])=>{if(this.aborted)throw new Error("Aborted!");let l=be(n,c,e.name),f=this.executeField(e,r,p,l,o,s);return f===void 0?a:we(f)?f.then(m=>(a[c]=m,s=Oe(mt)?mt:void 0,a)):(a[c]=f,a)},Object.create(null))}executeFields(e,r,n,i,o){let s=Object.create(null),a=!1,c=Oe(mt)?mt:void 0;try{for(let[p,l]of i){let f=be(n,p,e.name),m=this.executeField(e,r,l,f,o,c);m!==void 0&&(s[p]=m,we(m)&&(a=!0))}}catch(p){throw a&&this.sharedExecutionContext.asyncWorkTracker.addValues(Object.values(s)),p}return a?Qs(s,this.promiseAll):s}executeField(e,r,n,i,o,s){let a=this.validatedExecutionArgs,{schema:c,contextValue:p,variableValues:l,hideSuggestions:f}=a,m=n[0],T=m.node,y=T.name.value,O=c.getField(e,y);if(!O)return;let S=O.type,A=O.resolve??a.fieldResolver;if(s!==void 0){let K=A;A=(Y,pe,Ve,Ue)=>Lt(s,this.buildResolveContext(pe,Ue,O.resolve===void 0),()=>K(Y,pe,Ve,Ue))}let W=Ms(a,O,Xe(n),e,i,this.getAbortSignal,this.getAsyncHelpers);try{let K=We(O,T,l,m.fragmentVariableValues,f),Y=A(r,K,p,W);if(de(Y))return this.completePromisedValue(S,n,W,i,Y,o);let pe=this.completeValue(S,n,W,i,Y,o);return we(pe)?pe.then(void 0,Ve=>(this.handleFieldError(Ve,S,n,i),null)):pe}catch(K){return this.handleFieldError(K,S,n,i),null}}buildResolveContext(e,r,n){let i;return{fieldName:r.fieldName,alias:String(r.path.key),parentType:r.parentType.name,fieldType:String(r.returnType),args:e,isDefaultResolver:n,get fieldPath(){return i??=Me(r.path).join("."),i}}}handleFieldError(e,r,n,i){let o=Wi(e,Xe(n),Me(i));if(this.validatedExecutionArgs.errorPropagation&&D(r))throw o;this.collectedErrors.add(o,i)}completeValue(e,r,n,i,o,s){if(o instanceof Error)throw o;if(D(e)){let a=this.completeValue(e.ofType,r,n,i,o,s);if(a===null)throw new Error(`Cannot return null for non-nullable field ${n.parentType}.${n.fieldName}.`);return a}if(o==null)return null;if(C(e))return this.completeListValue(e,r,n,i,o,s);if(ge(e))return this.completeLeafValue(e,o);if(ce(e))return this.completeAbstractValue(e,r,n,i,o,s);if(k(e))return this.completeObjectValue(e,r,n,i,o,s);L(!1,"Cannot complete value of unexpected output type: "+E(e))}async completePromisedValue(e,r,n,i,o,s){try{let a=await o;if(this.aborted)throw new Error("Aborted!");let c=this.completeValue(e,r,n,i,a,s);return we(c)&&(c=await c),c}catch(a){return this.handleFieldError(a,e,r,i),null}}async completeAsyncIterableValue(e,r,n,i,o,s){let a=typeof i.key=="number"?void 0:un(this.validatedExecutionArgs,r),c=!1,p=[],l=o[Symbol.asyncIterator](),f=0,m;try{for(;!(a?.initialCount===f&&this.handleStream(f,i,{handle:l,isAsync:!0},a,n,e));){let T=be(i,f,void 0);try{m=await l.next()}catch(O){throw Wi(O,Xe(r),Me(i))}if(this.aborted||m.done)break;let y=m.value;this.completeMaybePromisedListItemValue(y,p,e,r,n,T,s)&&(c=!0),f++}}catch(T){throw this.sharedExecutionContext.asyncWorkTracker.add(Ji(l)),c&&this.sharedExecutionContext.asyncWorkTracker.addValues(p),T}if(this.aborted)throw m?.done||this.sharedExecutionContext.asyncWorkTracker.add(Ji(l)),new Error("Aborted!");return c?this.promiseAll(p):p}handleStream(e,r,n,i,o,s){return!1}completeListValue(e,r,n,i,o,s){let a=e.ofType;if(ks(o))return this.completeAsyncIterableValue(a,r,n,i,o,s);if(!le(o))throw new d(`Expected Iterable, but did not find one for field "${n.parentType}.${n.fieldName}".`);return this.completeIterableValue(a,r,n,i,o,s)}completeIterableValue(e,r,n,i,o,s){let a=typeof i.key=="number"?void 0:un(this.validatedExecutionArgs,r),c=!1,p=[],l=0,f=o[Symbol.iterator]();try{for(;!(a?.initialCount===l&&this.handleStream(l,i,{handle:f},a,n,e));){let m=f.next();if(m.done)break;let T=m.value,y=be(i,l,void 0);this.completeMaybePromisedListItemValue(T,p,e,r,n,y,s)&&(c=!0),l++}}catch(m){let T=this.sharedExecutionContext.asyncWorkTracker;throw c&&T.addValues(p),T.addValues(qs(f)),m}return c?this.promiseAll(p):p}completeMaybePromisedListItemValue(e,r,n,i,o,s,a){return de(e)?(r.push(this.completePromisedListItemValue(e,n,i,o,s,a)),!0):!!this.completeListItemValue(e,r,n,i,o,s,a)}completeListItemValue(e,r,n,i,o,s,a){try{let c=this.completeValue(n,i,o,s,e,a);if(we(c))return r.push(c.then(void 0,p=>(this.handleFieldError(p,n,i,s),null))),!0;r.push(c)}catch(c){this.handleFieldError(c,n,i,s),r.push(null)}return!1}async completePromisedListItemValue(e,r,n,i,o,s){try{let a=await e;if(this.aborted)throw new Error("Aborted!");let c=this.completeValue(r,n,i,o,a,s);return we(c)&&(c=await c),c}catch(a){return this.handleFieldError(a,r,n,o),null}}completeLeafValue(e,r){let n=e.coerceOutputValue(r);if(n==null)throw new Error(`Expected \`${E(e)}.coerceOutputValue(${E(r)})\` to return non-nullable value, returned: ${E(n)}`);return n}completeAbstractValue(e,r,n,i,o,s){let a=this.validatedExecutionArgs,{schema:c,contextValue:p}=a,f=(e.resolveType??a.typeResolver)(o,p,n,e);return de(f)?f.then(m=>{if(this.aborted)throw new Error("Aborted!");return this.completeObjectValue(this.ensureValidRuntimeType(m,c,e,r,n,o),r,n,i,o,s)}):this.completeObjectValue(this.ensureValidRuntimeType(f,c,e,r,n,o),r,n,i,o,s)}ensureValidRuntimeType(e,r,n,i,o,s){if(e==null)throw new d(`Abstract type "${n}" must resolve to an Object type at runtime for field "${o.parentType}.${o.fieldName}". Either the "${n}" type should provide a "resolveType" function or each possible type should provide an "isTypeOf" function.`,{nodes:Xe(i)});if(typeof e!="string")throw new d(`Abstract type "${n}" must resolve to an Object type at runtime for field "${o.parentType}.${o.fieldName}" with value ${E(s)}, received "${E(e)}", which is not a valid Object type name.`);let a=r.getType(e);if(a==null)throw new d(`Abstract type "${n}" was resolved to a type "${e}" that does not exist inside the schema.`,{nodes:Xe(i)});if(!k(a))throw new d(`Abstract type "${n}" was resolved to a non-object type "${e}".`,{nodes:Xe(i)});if(!r.isSubType(n,a))throw new d(`Runtime Object type "${a}" is not a possible type for "${n}".`,{nodes:Xe(i)});return a}completeObjectValue(e,r,n,i,o,s){if(e.isTypeOf){let a=e.isTypeOf(o,this.validatedExecutionArgs.contextValue,n);if(de(a))return a.then(c=>{if(this.aborted)throw new Error("Aborted!");if(!c)throw this.invalidReturnTypeError(e,o,r);return this.collectAndExecuteSubfields(e,r,i,o,s)});if(!a)throw this.invalidReturnTypeError(e,o,r)}return this.collectAndExecuteSubfields(e,r,i,o,s)}invalidReturnTypeError(e,r,n){return new d(`Expected value of type "${e}" but got: ${E(r)}.`,{nodes:Xe(n)})}collectAndExecuteSubfields(e,r,n,i,o){let{groupedFieldSet:s,newDeferUsages:a}=hp(this.validatedExecutionArgs,e,r);return this.executeCollectedSubfields(e,i,n,s,a,o)}executeCollectedSubfields(e,r,n,i,o,s){return this.executeFields(e,r,n,i,void 0)}};function Xe(t){return t.map(e=>e.node)}var zi="Executing this GraphQL operation would unexpectedly produce multiple payloads (due to @defer or @stream directive)",ln=class extends pn{executeCollectedRootFields(e,r,n,i,o){if(o.length>0){this.validatedExecutionArgs.operation.operation===G.SUBSCRIPTION&&L(!1,"`@defer` directive not supported on subscription operations. Disable `@defer` by setting the `if` argument to `false`.");let s=new Error(zi);throw this.abort(s),s}return this.executeRootGroupedFieldSet(e,r,n,i,void 0)}executeCollectedSubfields(e,r,n,i,o){if(o.length>0){this.validatedExecutionArgs.operation.operation===G.SUBSCRIPTION&&L(!1,"`@defer` directive not supported on subscription operations. Disable `@defer` by setting the `if` argument to `false`.");let s=new Error(zi);throw this.abort(s),s}return this.executeFields(e,r,n,i,void 0)}completeListValue(e,r,n,i,o,s){if(un(this.validatedExecutionArgs,r)!==void 0){this.validatedExecutionArgs.operation.operation===G.SUBSCRIPTION&&L(!1,"`@stream` directive not supported on subscription operations. Disable `@stream` by setting the `if` argument to `false`.");let c=new Error(zi);throw this.abort(c),c}return super.completeListValue(e,r,n,i,o,s)}};var Tp="The provided schema unexpectedly contains experimental directives (@defer or @stream). These directives may only be utilized if experimental execution features are explicitly enabled.";function dn(t){return Oe(Kn)?Lt(Kn,gp(t),()=>Ws(t)):Ws(t)}function gp(t){let e,r=()=>(e===void 0&&(e=Ps(t.document,t.operationName)),e);return{schema:t.schema,document:t.document,rawVariableValues:t.variableValues,get operationName(){return t.operationName??r()?.name?.value},get operationType(){return r()?.operation}}}function Ws(t){if(t.schema.getDirective("defer")||t.schema.getDirective("stream"))throw new Error(Tp);let e=eo(t);return"schema"in e?Zi(e):{errors:e}}function Zi(t){return new ln(t).executeRootSelectionSet()}function eo(t){let{schema:e,document:r,rootValue:n,contextValue:i,variableValues:o,operationName:s,fieldResolver:a,typeResolver:c,subscribeFieldResolver:p,abortSignal:l,enableEarlyExecution:f,hooks:m,options:T}=t;_t(e);let y,O=Object.create(null),S=Object.create(null),A=[];for(let oe of r.definitions)switch(oe.kind){case u.OPERATION_DEFINITION:if(s==null){if(y!==void 0)return[new d("Must provide operation name if query contains multiple operations.")];y=oe}else oe.name?.value===s&&(y=oe);break;case u.FRAGMENT_DEFINITION:{O[oe.name.value]=oe;let To;if(oe.variableDefinitions){let go=Object.create(null);for(let da of oe.variableDefinitions){let yr=en(e,da);if(yr instanceof d){A.push(yr);continue}go[yr.name]=yr}To=go}S[oe.name.value]={definition:oe,variableSignatures:To};break}default:}if(!y)return s!=null?[new d(`Unknown operation named "${s}".`)]:[new d("Must provide an operation.")];if(A.length>0)return A;let W=y.variableDefinitions??[],K=t.hideSuggestions??!1,Y=o??{},pe={maxErrors:T?.maxCoercionErrors??50,hideSuggestions:K},Ve=ps,Ue=Oe(Ve)?Lt(Ve,{schema:e,document:r,operation:y,rawVariableValues:o,operationName:y.name?.value,operationType:y.operation},()=>tn(e,W,Y,pe)):tn(e,W,Y,pe);if(Ue.errors)return Ue.errors;let It=!y.directives?.find(oe=>oe.name.value===rs.name);return{schema:e,document:r,fragmentDefinitions:O,fragments:S,rootValue:n,contextValue:i,operation:y,variableValues:Ue.variableValues,fieldResolver:a??fn,typeResolver:c??to,subscribeFieldResolver:p??fn,hideSuggestions:K,errorPropagation:It,externalAbortSignal:l??void 0,enableEarlyExecution:f===!0,hooks:m??void 0,rawVariableValues:o}}var to=function(t,e,r,n){if(H(t)&&typeof t.__typename=="string")return t.__typename;let i=r.schema.getPossibleTypes(n),o=[];try{for(let s=0;s<i.length;s++){let a=i[s];if(a.isTypeOf){let c=a.isTypeOf(t,e,r);if(de(c))o[s]=c;else if(c)return o.length&&r.getAsyncHelpers().track(o),a.name}}}catch(s){throw o.length&&r.getAsyncHelpers().track(o),s}if(o.length)return r.getAsyncHelpers().promiseAll(o).then(s=>{for(let a=0;a<s.length;a++)if(s[a])return i[a].name})},fn=function(t,e,r,n){if(H(t)||typeof t=="function"){let i=t[n.fieldName];return typeof i=="function"?t[n.fieldName](e,r,n):i}};var g=require("@medplum/core");var _=require("@medplum/core"),Lp=new _.LRUCache(1e3),Ap=5,Fp=[_.PropertyType.canonical,_.PropertyType.uri];async function ro(t,e,r,n,i){let o=i?.maxDepth??Ap,s=i?.maxResults??_.DEFAULT_MAX_SEARCH_COUNT,a=r,c=!1,p=new Set(r.map(f=>`${f.resourceType}/${f.id}`)),l=0;for(;a.length>0;){if(l>=o||n.length>s)throw new Error(`Search with _(rev)include reached query scope limit: depth=${l}, results=${n.length}`);let f=(0,_.flatMapFilter)(e.include,y=>!c||y.modifier===_.Operator.ITERATE?Js(t,y,a,i):void 0),m=(0,_.flatMapFilter)(e.revInclude,y=>!c||y.modifier===_.Operator.ITERATE?Xs(t,y,a,i):void 0),T=(await Promise.all([...f,...m])).flat();a=[];for(let y of T){let O=y.resource;a.push(O);let S=`${O.resourceType}/${O.id}`;p.has(S)||n.push(y),p.add(S)}c=!0,l++}}async function Js(t,e,r,n){let{resourceType:i,searchParam:o,targetType:s}=e,a=(0,_.getSearchParameter)(i,o);if(!a)throw new _.OperationOutcomeError((0,_.badRequest)(`Invalid include parameter: ${i}:${o}`));let c=(0,_.evalFhirPathTyped)(a.expression,r.map(_.toTypedValue),void 0,Lp),p=[],l=[];for(let y of c)y.type===_.PropertyType.Reference?p.push(y.value):Fp.includes(y.type)&&l.push(y.value);let f=s?p.filter(y=>y.reference?.startsWith(s+"/")):p,m=(await t.readReferences(f)).filter(y=>(0,_.isResource)(y)),T=s?a.target?.filter(y=>y===s):a.target;if(T?.length&&l.length>0){let y=n?.executeSearch??(A=>t.searchResources(A)),O=T.map(A=>y({resourceType:A,filters:[{code:"url",operator:_.Operator.EQUALS,value:l.join(",")}],count:_.DEFAULT_MAX_SEARCH_COUNT,offset:0})),S=new Set(l);for(let A of await Promise.all(O))for(let W of A){let K=Zs(W);K&&S.has(K)&&m.push(W)}}return m.map(y=>zs(y,n))}async function Xs(t,e,r,n){let{resourceType:i,searchParam:o,targetType:s}=e,a=(0,_.getSearchParameter)(i,o);if(!a)throw new _.OperationOutcomeError((0,_.badRequest)(`Invalid include parameter: ${i}:${o}`));let c=(0,_.getSearchParameterDetails)(i,a).type===_.SearchParameterType.CANONICAL,p=[];for(let m of r)if(!(s&&m.resourceType!==s))if(c){let T=Zs(m);T&&p.push(T)}else{let T=(0,_.getReferenceString)(m);T&&p.push(T)}return p.length===0?[]:(await(n?.executeSearch??(m=>t.searchResources(m)))({resourceType:i,filters:[{code:o,operator:_.Operator.EQUALS,value:p.join(",")}],count:_.DEFAULT_MAX_SEARCH_COUNT,offset:0})).map(m=>zs(m,n))}function zs(t,e){let r=e?.fullUrl?.(t.resourceType,t.id);return{...r?{fullUrl:r}:void 0,search:{mode:"include"},resource:t}}function Zs(t){return"url"in t?t.url:void 0}var fr={READER:"reader",WRITER:"writer"},mn=class{async searchOne(e){return(await this.search({...e,count:1})).entry?.[0]?.resource}async searchResources(e){return(await this.search(e)).entry?.map(n=>n.resource)??[]}async conditionalCreate(e,r,n){if(r.resourceType!==e.resourceType)throw new g.OperationOutcomeError((0,g.badRequest)("Search type must match resource type for conditional update"));return r.count=2,r.sortRules=void 0,this.withTransaction(async i=>{let o=await i.searchResources(r);if(o.length===1){let a=o[0];if(!n?.assignedId&&e.id&&e.id!==a.id)throw new g.OperationOutcomeError((0,g.badRequest)("Resource ID did not match resolved ID",e.resourceType+".id"));return{resource:o[0],outcome:g.allOk}}else if(o.length>1)throw new g.OperationOutcomeError(g.multipleMatches);return{resource:await i.createResource(e,n),outcome:g.created}},{resourceTypes:(0,g.getSearchResourceTypes)(r),serializable:!0})}async conditionalUpdate(e,r,n){if(r.resourceType!==e.resourceType)throw new g.OperationOutcomeError((0,g.badRequest)("Search type must match resource type for conditional update"));return r.count=2,r.sortRules=void 0,this.withTransaction(async i=>{let o=await i.searchResources(r);if(o.length===0){if(e.id&&!n?.assignedId)throw new g.OperationOutcomeError((0,g.badRequest)("Cannot perform create as update with client-assigned ID",e.resourceType+".id"));return{resource:await i.createResource(e,n),outcome:g.created}}else if(o.length>1)throw new g.OperationOutcomeError(g.multipleMatches);let s=o[0];if(e.id&&e.id!==s.id)throw new g.OperationOutcomeError((0,g.badRequest)("Resource ID did not match resolved ID",e.resourceType+".id"));return{resource:await i.updateResource({...e,id:s.id},n),outcome:g.allOk}},{serializable:!0,resourceTypes:(0,g.getSearchResourceTypes)(r)})}async conditionalDelete(e){e.count=2,e.sortRules=void 0,await this.withTransaction(async r=>{let n=await r.searchResources(e);if(n.length>1)throw new g.OperationOutcomeError(g.multipleMatches);if(!n.length)return;let i=n[0];await r.deleteResource(i.resourceType,i.id)},{serializable:!0,resourceTypes:(0,g.getSearchResourceTypes)(e)})}async conditionalPatch(e,r,n){return e.count=2,e.sortRules=void 0,this.withTransaction(async i=>{let o=await i.searchResources(e);if(o.length>1)throw new g.OperationOutcomeError(g.multipleMatches);if(!o.length)throw new g.OperationOutcomeError(g.notFound);let s=o[0];return i.patchResource(s.resourceType,s.id,r,n)},{serializable:!0,resourceTypes:(0,g.getSearchResourceTypes)(e)})}},no=class extends mn{constructor(){super();$(this,"resources");$(this,"history");$(this,"seeding");this.resources=new Map,this.history=new Map,this.seeding=!1}async withSeeding(r){if(this.seeding)return r();this.seeding=!0;let n=await r();return this.seeding=!1,n}clear(){this.resources.clear(),this.history.clear()}setMode(r){}createResourceSync(r,n,i=!1){let o=JSON.parse((0,g.stringify)(r)),s={...o,id:o.id??this.generateId(),meta:o.meta??{}};this.seeding||(s.meta.versionId&&delete s.meta.versionId,s.meta.lastUpdated&&delete s.meta.lastUpdated),s.meta.versionId??=(0,g.generateId)(),s.meta.lastUpdated??=new Date().toISOString();let{resourceType:a,id:c}=s,p=this.resources.get(a);if(p||(p=new Map,this.resources.set(a,p)),!i&&p.has(c))throw new g.OperationOutcomeError((0,g.badRequest)("Assigned ID is already in use"));p.set(c,s);let l=this.history.get(a);l||(l=new Map,this.history.set(a,l));let f=l.get(c);return f||(f=[],l.set(c,f)),f.push(s),(0,g.deepClone)(s)}async createResource(r,n,i=!1){return this.createResourceSync(r,n,i)}generateId(){return(0,g.generateId)()}updateResource(r,n){if(!r.id)throw new g.OperationOutcomeError((0,g.badRequest)("Missing id"));if(n?.ifMatch){let i=n.ifMatch,o=this.resources.get(r.resourceType)?.get(r.id);if(!o)throw new g.OperationOutcomeError(g.notFound);if(o.meta?.versionId!==i)throw new g.OperationOutcomeError(g.preconditionFailed)}return this.createResource(r,void 0,!0)}async patchResource(r,n,i,o){let s=await this.readResource(r,n);try{if(Array.isArray(i)){let a=(0,g.applyPatch)(s,i).filter(Boolean);if(a.length>0)throw new g.OperationOutcomeError((0,g.badRequest)(a.map(c=>c.message).join(`
|
|
53
|
+
`)))}else i.parameter&&(0,g.fhirpathPatchTypedValue)((0,g.toTypedValue)(s),(0,g.parseFhirPathPatchParameters)(i))}catch(a){throw new g.OperationOutcomeError((0,g.normalizeOperationOutcome)(a))}return s.meta&&(delete s.meta.versionId,delete s.meta.lastUpdated),this.updateResource(s,o)}async readResource(r,n){let i=this.resources.get(r)?.get(n);if(!i)throw new g.OperationOutcomeError(g.notFound);return(0,g.deepClone)(i)}async readReference(r){let n=r.reference?.split("/");if(n?.length!==2)throw new g.OperationOutcomeError((0,g.badRequest)("Invalid reference"));return this.readResource(n[0],n[1])}async readReferences(r){return Promise.all(r.map(async n=>this.readReference(n).catch(i=>i instanceof g.OperationOutcomeError?i:new g.OperationOutcomeError((0,g.normalizeOperationOutcome)(i)))))}async readHistory(r,n){await this.readResource(r,n);let i=(this.history.get(r)?.get(n)??[]).reverse().map(o=>({resource:(0,g.deepClone)(o)}));return{resourceType:"Bundle",type:"history",...i.length?{entry:i}:void 0}}async readVersion(r,n,i){await this.readResource(r,n);let o=this.history.get(r)?.get(n)?.find(s=>s.meta?.versionId===i);if(!o)throw new g.OperationOutcomeError(g.notFound);return(0,g.deepClone)(o)}searchSync(r){let{resourceType:n}=r,i=this.resources.get(n)??new Map,o=[];for(let a of i.values())(0,g.matchesSearchRequest)(a,r)&&o.push(a);let s=o.map(a=>({search:{mode:"match"},resource:(0,g.deepClone)(a)}));for(let a of r.sortRules??g.EMPTY)s=s.sort((c,p)=>Cp(c.resource,p.resource,a));return r.offset!==void 0&&(s=s.slice(r.offset)),r.count!==void 0&&(s=s.slice(0,r.count)),{resourceType:"Bundle",type:"searchset",entry:s.length?s:void 0,total:o.length}}async search(r){let n=this.searchSync(r);if((r.include||r.revInclude)&&n.entry?.length){let i=n.entry,o=i.map(s=>s.resource);await ro(this,r,o,i),n.entry=i}return n}async conditionalCreate(r,n,i){if(n.resourceType!==r.resourceType)throw new g.OperationOutcomeError((0,g.badRequest)("Search type must match resource type for conditional update"));n.count=2,n.sortRules=void 0;let s=this.searchSync(n).entry?.map(c=>c.resource)??[];if(s.length===1){let c=s[0];if(!i?.assignedId&&r.id&&r.id!==c.id)throw new g.OperationOutcomeError((0,g.badRequest)("Resource ID did not match resolved ID",r.resourceType+".id"));return{resource:s[0],outcome:g.allOk}}else if(s.length>1)throw new g.OperationOutcomeError(g.multipleMatches);return{resource:this.createResourceSync(r,i),outcome:g.created}}async searchByReference(r,n,i){r.filters??=[];let o={};for(let s of i){r.filters.push({code:n,operator:g.Operator.EQUALS,value:s});let a=await this.search(r);o[s]=[];for(let c of a.entry??g.EMPTY)c.resource&&o[s].push(c.resource);r.filters.pop()}return o}async deleteResource(r,n){if(!this.resources.get(r)?.get(n))throw new g.OperationOutcomeError(g.notFound);this.resources.get(r)?.delete(n)}withTransaction(r){return r(this)}},Cp=(t,e,r)=>{let i=g.globalSchema.types[t.resourceType]?.searchParams?.[r.code]?.expression;if(!i)return 0;let o=JSON.stringify((0,g.evalFhirPath)(i,t)),s=JSON.stringify((0,g.evalFhirPath)(i,e));return o.localeCompare(s)*(r.descending?-1:1)};var gt=require("@medplum/core");var xe=require("@medplum/core"),ea=No(require("dataloader"),1);var hn={base64Binary:b,boolean:Q,canonical:b,code:b,date:b,dateTime:b,decimal:he,id:ve,instant:b,integer:he,markdown:b,number:he,oid:b,positiveInt:he,string:b,time:b,unsignedInt:he,uri:b,url:b,uuid:b,xhtml:b,"http://hl7.org/fhirpath/System.Boolean":Q,"http://hl7.org/fhirpath/System.Date":b,"http://hl7.org/fhirpath/System.DateTime":b,"http://hl7.org/fhirpath/System.Decimal":he,"http://hl7.org/fhirpath/System.Integer":he,"http://hl7.org/fhirpath/System.String":b,"http://hl7.org/fhirpath/System.Time":b};function ta(t,e,r){let n;if(e){let o=r._reference;delete r._reference,n={code:o,operator:xe.Operator.EQUALS,value:(0,xe.getReferenceString)(e)}}return r=Object.fromEntries(Object.entries(r).map(([o,s])=>[kp(o),s])),{searchRequest:(0,xe.parseSearchRequest)(t,r),referenceFilter:n}}function ra(t,e){let r=t.filters||[];t.filters=[e,...r]}function na(t,e,r){let{searchRequest:n,referenceFilter:i}=ta(t,e,r);return i&&ra(n,i),n}function io(t,e){t.count=Math.min(t.count??xe.DEFAULT_SEARCH_COUNT,e??xe.DEFAULT_MAX_SEARCH_COUNT)}function kp(t){return t.startsWith("_")?t:t.replaceAll("_","-")}function oo(t){return t.replaceAll("-","_")}function Pp(t){return JSON.stringify(t,(r,n)=>n&&typeof n=="object"&&!Array.isArray(n)?Object.keys(n).sort((i,o)=>i.localeCompare(o)).reduce((i,o)=>(i[o]=n[o],i),{}):n)}async function yn(t,e,r,n){if(r.searchCount++,r.config?.graphqlMaxSearches&&r.searchCount>r.config.graphqlMaxSearches)throw new Error("Maximum number of searches exceeded");let i=n.fieldName,o=i.substring(0,i.length-4),{searchRequest:s,referenceFilter:a}=ta(o,t,e);io(s,r.config?.graphqlMaxSearches);let c=r.config?.graphqlBatchedSearchSize??0;if(c===0||!a)return a&&ra(s,a),(await r.repo.search(s)).entry?.map(m=>m.resource);let p=Pp(s);return(r.searchDataLoaders[p]??=Mp(r.repo,s,c)).load(a)}function Mp(t,e,r){return new ea.default(async n=>{let i=await t.searchByReference(e,n[0].code,n.map(o=>o.value));return n.map(o=>i[o.value])},{maxBatchSize:r,cacheKeyFn:n=>`${n.code} ${n.operator} ${n.value}`})}function dr(t){let e={_count:{type:ue,description:"Specify how many elements to return from a repeating list."},_offset:{type:ue,description:"Specify the offset to start at for a repeating element."},_sort:{type:b,description:"Specify the sort order by comma-separated list of sort rules in priority order."},_id:{type:b,description:"Select resources based on the logical id of the resource."},_lastUpdated:{type:b,description:"Select resources based on the last time they were changed."},_filter:{type:b,description:" The _filter parameter provides a syntax for expressing a set of query expressions on the underlying resources."},_cursor:{type:b,description:"The _cursor parameter is used to retrieve the next page of results from a previous search."}},r=(0,xe.getSearchParameters)(t);if(r)for(let[n,i]of Object.entries(r))e[oo(n)]={type:b,description:i.description};return e}function so(t,e){return t.fieldNodes.some(r=>r.selectionSet?.selections.some(n=>n.kind===u.FIELD&&n.name.value===e))}function ia(t){return{resourceType:"OperationOutcome",issue:t.map(e=>({severity:"error",code:"invalid",details:{text:e.message}}))}}var oa={...hn},sa;function mr(t,e){let r=oa[t];return r||(r=Vp(t,e),oa[t]=r),r}function Vp(t,e){let r=(0,gt.getDataType)(t);return new je({name:t+e,description:r.description,fields:()=>Up(t,e)})}function Up(t,e){let r={};if((0,gt.isResourceType)(t)){let n={description:"The type of resource",type:b};r.resourceType=n}return $p(t,r,e),r}function $p(t,e,r){let n=(0,gt.getDataType)(t);for(let[i,o]of Object.entries(n.elements))for(let s of o.type)Gp(e,i,o,s,r)}function Gp(t,e,r,n,i){let o=n.code;if(o==="Resource")return;(o==="Element"||o==="BackboneElement")&&(o=r.type[0].code);let s={description:r.description,type:mr(o,i)};r.max>1&&(s.type=new B(new N(mr(o,i)))),r.min>0&&!e.endsWith("[x]")&&(s.type=new N(s.type));let a=e.split(".").pop().replace("[x]",(0,gt.capitalize)(n.code));t[a]=s}function aa(){return sa??=new je({name:"PatchOperationInput",description:"A JSON Patch operation as per RFC 6902",fields:{op:{type:new N(b),description:"The operation to perform"},path:{type:new N(b),description:"A JSON-Pointer"},value:{type:b,description:"The value to use within the operations. (May be any scalar, but GraphQL input types are limited.)"}}}),sa}var U=require("@medplum/core");var Mt={...hn};function Et(t){let e=Mt[t];return e||(e=ao(t),Mt[t]=e),e}function ao(t){if(t==="ResourceList")return new nt({name:"ResourceList",types:()=>(0,U.getResourceTypes)().map(Et).filter(r=>!!r),resolveType:Xp});let e=(0,U.getDataType)(t);return new z({name:t,description:e.description,fields:()=>Bp(t)})}function Bp(t){let e={};return Qp(t,e),Yp(t,e),e}function Qp(t,e){let r=(0,U.getDataType)(t);(0,U.isResourceTypeSchema)(r)&&(e.resourceType={type:new N(b),description:"Resource Type"}),t==="Reference"&&(e.resource={description:"Reference",type:Et("ResourceList"),resolve:Jp});for(let[n,i]of Object.entries(r.elements))for(let o of i.type)jp(e,n,i,o)}function jp(t,e,r,n){let i=n.code;(i==="Element"||i==="BackboneElement")&&(i=r.type[0].code),i==="Resource"&&(i="ResourceList");let o={description:r.description,type:Hp(r,i,e),resolve:Wp};r.max>1&&(o.args=qp(i));let s=e.split(".").pop().replace("[x]",(0,U.capitalize)(n.code));t[s]=o}function qp(t){let e={_count:{type:ue,description:"Specify how many elements to return from a repeating list."},_offset:{type:ue,description:"Specify the offset to start at for a repeating element."}};if(!(0,U.isLowerCase)(t.charAt(0))){e.fhirpath={type:b,description:"A FHIRPath statement selecting which of the subnodes is to be included"};let r=(0,U.tryGetDataType)(t);if(r?.elements)for(let[n,i]of Object.entries(r.elements))for(let o of i.type)Kp(e,n,i,o)}return e}function Kp(t,e,r,n){let i=n.code,o=e.replace("[x]",(0,U.capitalize)(i));switch(i){case"canonical":case"code":case"id":case"oid":case"string":case"uri":case"url":case"uuid":case"http://hl7.org/fhirpath/System.String":t[o]={type:b,description:r.description};break}}function Yp(t,e){for(let r of(0,U.getResourceTypes)()){let n=Et(r),i=(0,U.getSearchParameters)(r),o={},s=0;if(i)for(let[a,c]of Object.entries(i))c.target?.includes(t)&&(o[oo(a)]={value:a},s++);if(s>0){let a=new Pe({name:t+"_"+r+"_reference",values:o}),c=dr(r);c._reference={type:new N(a),description:`Specify which property to use for reverse lookup for ${r}`},e[r+"List"]={type:new B(n),args:c,resolve:yn},e[r+"Connection"]={type:co(r,n),args:c,resolve:uo}}}}function Hp(t,e,r){let n=Et(e),i=t.max>1?new B(new N(n)):n;return t.min!==0&&!r.endsWith("[x]")&&(i=new N(i)),i}async function Wp(t,e,r,n){let i=t?.[n.fieldName];if(!e||!i)return i;let{_offset:o,_count:s,fhirpath:a,...c}=e,p=i;for(let[l,f]of Object.entries(c))p=p.filter(m=>m[l]===f);return a&&(p=p.filter(l=>(0,U.toJsBoolean)((0,U.evalFhirPathTyped)(a,[(0,U.toTypedValue)(l)])))),o&&(p=p.slice(o)),s&&(p=p.slice(0,s)),p}async function Jp(t,e,r){if((0,U.isReference)(t))try{return await r.dataLoader.load(t)}catch(n){throw new U.OperationOutcomeError((0,U.normalizeOperationOutcome)(n),{cause:n})}}function Xp(t){let e=t?.resourceType;if(e)return Et(e).name}var zp=new M.LRUCache,po;async function ua(t,e,r,n){let{query:i,operationName:o,variables:s}=t.body;if(!i)return[(0,M.badRequest)("Must provide query.")];let a;try{a=jr(i)}catch{return[(0,M.badRequest)("GraphQL syntax error.")]}let c=tl(),p=[...Pt,fl(r,t.config?.graphqlMaxDepth),ml(r)],l=an(c,a,p);if(l.length>0)return[ia(l)];let f=Zp(i);if(f&&!r.options?.introspectionEnabled)return[M.forbidden];!n?.batch&&!el(i)&&e.setMode(fr.READER);let m=new ca.default(y=>e.readReferences(y),{cacheKeyFn:y=>y.reference??""}),T=f&&zp.get(i);if(!T){let y={repo:e,config:t.config,dataLoader:m,searchCount:0,searchDataLoaders:Object.create(null)};T=await dn({schema:c,document:a,contextValue:y,operationName:o,variableValues:s})}return[M.allOk,T,{contentType:M.ContentType.JSON}]}function Zp(t){return t.includes("query IntrospectionQuery")||t.includes("__schema")}function el(t){return t.includes("mutation")}function tl(){return po||(po=rl()),po}function rl(){for(let r of(0,M.getResourceTypes)())Mt[r]=ao(r);let t={},e={};for(let r of(0,M.getResourceTypes)()){let n=Et(r);t[r]={type:n,args:{id:{type:new N(ve),description:r+" ID"}},resolve:sl},t[r+"List"]={type:new B(n),args:dr(r),resolve:yn},t[r+"Connection"]={type:co(r,n),args:dr(r),resolve:uo},e[r+"Create"]={type:n,args:nl(r),resolve:al},e[r+"Update"]={type:n,args:il(r),resolve:cl},e[r+"Patch"]={type:n,args:gl(r),resolve:pl},e[r+"Delete"]={type:n,args:{id:{type:new N(ve),description:r+" ID"}},resolve:ul}}return new lt({query:new z({name:"QueryType",fields:t}),mutation:new z({name:"MutationType",fields:e})})}function nl(t){return{res:{type:new N(mr(t,"Create")),description:t+" Create"}}}function il(t){return{id:{type:new N(ve),description:t+" ID"},res:{type:new N(mr(t,"Update")),description:t+" Update"}}}function co(t,e){let r=t+"Connection",n=Mt[r];return n||(n=ol(t,e),Mt[r]=n),n}function ol(t,e){return new z({name:t+"Connection",fields:{count:{type:ue},offset:{type:ue},pageSize:{type:ue},first:{type:b},previous:{type:b},next:{type:b},last:{type:b},edges:{type:new B(new z({name:t+"ConnectionEdge",fields:{mode:{type:b},score:{type:he},resource:{type:e}}}))}}})}async function uo(t,e,r,n){let i=n.fieldName,o=i.substring(0,i.length-10),s=na(o,t,e);so(n,"count")&&(s.total="accurate"),so(n,"edges")||(s.count=0),io(s,r.config?.graphqlMaxSearches);let a=await r.repo.search(s);return{count:a.total,offset:s.offset??0,pageSize:s.count??M.DEFAULT_SEARCH_COUNT,edges:a.entry?.map(c=>({mode:c.search?.mode,score:c.search?.score,resource:c.resource})),next:Tl(a)}}async function sl(t,e,r,n){try{return await r.dataLoader.load({reference:`${n.fieldName}/${e.id}`})}catch(i){throw new M.OperationOutcomeError((0,M.normalizeOperationOutcome)(i),{cause:i})}}async function al(t,e,r,n){let i=n.fieldName,o=i.substring(0,i.length-6),s=e.res;if(s.resourceType!==o)throw new M.OperationOutcomeError((0,M.badRequest)("Invalid resourceType"));return r.repo.createResource((0,M.deepClone)(s))}async function cl(t,e,r,n){let i=n.fieldName,o=i.substring(0,i.length-6),s=e.res,a=e.id;if(s.resourceType!==o)throw new M.OperationOutcomeError((0,M.badRequest)("Invalid resourceType"));if(a!==s.id)throw new M.OperationOutcomeError((0,M.badRequest)("Invalid ID"));return r.repo.updateResource((0,M.deepClone)(s))}async function ul(t,e,r,n){let i=n.fieldName,o=i.substring(0,i.length-6);await r.repo.deleteResource(o,e.id)}async function pl(t,e,r,n){let i=n.fieldName,o=i.substring(0,i.length-5),s=e.id,a=e.patch;if(!o||!s||!Array.isArray(a))throw new M.OperationOutcomeError((0,M.badRequest)("Invalid patch arguments"));return r.repo.patchResource(o,s,a)}var ll=12,fl=(t,e=ll)=>r=>new lo(r,t,e),lo=class{constructor(e,r,n){$(this,"context");$(this,"maxDepth");$(this,"fragmentDepths");$(this,"router");this.context=e,this.router=r,this.fragmentDepths=Object.create(null),this.maxDepth=n}OperationDefinition(e){let r=this.getDepth(...e.selectionSet.selections);r.depth>this.maxDepth&&this.router.log("warn","Query max depth too high",{depth:r.depth,limit:this.maxDepth,query:e.loc?.source?.body})}getDepth(...e){let r={depth:-1};for(let n of e){let i={depth:0};if(n.kind===u.FIELD)n.selectionSet?.selections?(i=this.getDepth(...n.selectionSet.selections),i.depth+=1):i={depth:0,node:n};else if(n.kind===u.FRAGMENT_SPREAD){let o=n.name.value,s=this.context.getFragment(o),a=this.fragmentDepths[o];a?i=a:s&&(i=this.getDepth(...s.selectionSet.selections),this.fragmentDepths[o]=i)}else n.kind===u.INLINE_FRAGMENT&&(i=this.getDepth(...n.selectionSet.selections));if(i.depth>this.maxDepth)return i;i.depth>r.depth&&(r=i)}return r}},dl=1e4,ml=(t,e)=>r=>new fo(r,t,e),fo=class{constructor(e,r,n){$(this,"context");$(this,"maxCost");$(this,"debug");$(this,"router");$(this,"fragmentCosts");this.context=e,this.maxCost=n?.maxCost??dl,this.debug=n?.debug??!1,this.router=r,this.fragmentCosts=Object.create(null)}OperationDefinition(e){let r=0;for(let n of e.selectionSet.selections){let i=performance.now(),o=this.calculateCost(n);r+=o,this.log(n.kind,"node has final cost",o,"(",performance.now()-i,"ms)"),r>this.maxCost&&this.router.log("warn","GraphQL query too complex",{cost:r,limit:this.maxCost,query:e.loc?.source?.body})}}calculateCost(...e){let r=0;for(let n of e){if(n.kind===u.FIELD&&n.selectionSet){let i=0,o=1;hl(n)?(this.log("Found search field",n.name.value),i=8,o=this.getCount(n.arguments)??20):yl(n)&&(this.log("Found linked resource"),i=1,o=2);let s=i+o*this.calculateCost(...n.selectionSet.selections);s&&this.log("Field",n.name.value,"costs",s),r+=s}else if(n.kind===u.FRAGMENT_SPREAD){let i=n.name.value,o=this.context.getFragment(i),s=this.fragmentCosts[i];if(s!==void 0)this.log("Fragment",i,"costs",s,"(cached)"),r+=s;else if(o){let a=this.calculateCost(...o.selectionSet.selections);this.fragmentCosts[i]=a,this.log("Fragment",i,"costs",a),r+=a}}else if(n.kind===u.INLINE_FRAGMENT){let i=this.calculateCost(...n.selectionSet.selections);this.log("Inline fragment on",n.typeCondition?.name.value,"costs",i),r+=i}if(r>this.maxCost)return r}return r}getCount(e){let r=e?.find(n=>n.name.value==="_count");if(r?.value.kind===u.INT)return Number.parseInt(r.value.value,10)}log(...e){this.debug&&console.log(...e)}};function hl(t){return t.name.value.endsWith("List")}function yl(t){return t.name.value==="resource"}function Tl(t){let e=t.link?.find(r=>r.relation==="next")?.url;if(e)return new URL(e).searchParams.get("_cursor")||void 0}function gl(t){return{id:{type:new N(ve),description:t+" ID"},patch:{type:new N(new B(new N(aa()))),description:"Array of patch operations"}}}var Tn=require("@medplum/core");var mo=7e4,hr=class{constructor(){$(this,"routes",[])}add(e,r,n,i){let o=r.split("/").filter(s=>!!s).map(s=>s.startsWith(":")?{value:s.substring(1),param:!0}:{value:s});this.routes.push({method:e,path:o,handler:n,data:i})}find(e,r){let n=r.indexOf("?"),i=n>-1;if(i&&r.length-n-1>mo)throw new Tn.OperationOutcomeError((0,Tn.badRequest)(`Query string exceeds maximum length of ${mo} characters`));let o=r.substring(0,i?n:r.length).split("/").filter(Boolean),s,a=-1;for(let c of this.routes){let p=El(c,e,o);p>a&&(s=c,a=p)}if(s)return{handler:s.handler,path:o.join("/"),params:Il(s,o),query:i?Nl(r):void 0,data:s.data}}};function El(t,e,r){if(e!==t.method||r.length!==t.path.length)return-1;let n=0;for(let i=0;i<r.length;i++)if(!t.path[i].param){if(r[i]!==t.path[i].value)return-1;n++}return n}function Il(t,e){let r=Object.create(null);for(let n=0;n<e.length;n++)t.path[n].param&&(r[t.path[n].value]=e[n]);return r}function Nl(t){let e=new URL(t,"https://example.com/"),r=Object.create(null);for(let[n,i]of e.searchParams){let o=r[n];o===void 0?r[n]=i:Array.isArray(o)?o.push(i):r[n]=[o,i]}return r}async function bl(t,e,r){let n=t.body;if(n.resourceType!=="Bundle")return[(0,x.badRequest)("Not a bundle")];let i=await Tr(t,e,r,n);return[x.allOk,i]}async function vl(t,e,r,n){yo(t,e,n);let{resourceType:i}=t.params,o=await e.search((0,x.parseSearchRequest)(i,t.query));return[x.allOk,o]}async function Rl(t,e,r,n){yo(t,e,n);let i=(0,x.parseSearchRequest)("MultipleTypes",t.query);if(!i.types||i.types.length===0)return[(0,x.badRequest)("No types specified")];let o=await e.search(i);return[x.allOk,o]}async function Sl(t,e,r,n){yo(t,e,n);let{resourceType:i}=t.params,o=t.body,s=await e.search((0,x.parseSearchRequest)(i,o));return[x.allOk,s]}function yo(t,e,r){!r?.batch&&t.config?.searchOnReader&&e.setMode(fr.READER)}async function Ol(t,e,r,n){let{resourceType:i}=t.params,o=t.body,s=!!n?.batch;if(t.query?._account&&typeof t.query._account=="string"&&(o.meta=o.meta||{},o.meta.account={reference:t.query._account}),t.headers?.["if-none-exist"]){let a=(0,x.singularize)(t.headers["if-none-exist"]),c=await e.conditionalCreate(o,(0,x.parseSearchRequest)(`${i}?${a}`),{assignedId:s});return[c.outcome,c.resource]}return la(i,o,e,{assignedId:s})}async function la(t,e,r,n){if(t?.startsWith("$"))return[x.notFound];if(e.resourceType!==t)return[(0,x.badRequest)(`Incorrect resource type: expected ${t}, but found ${e.resourceType||"<EMPTY>"}`)];let i=await r.createResource(e,n);return[x.created,i]}async function xl(t,e){let{resourceType:r,id:n}=t.params,i=await e.readResource(r,n);return[x.allOk,i]}async function wl(t,e){let{resourceType:r,id:n}=t.params,i=pa(t.query,"_offset"),o=pa(t.query,"_count"),s=await e.readHistory(r,n,{offset:i,limit:o});return[x.allOk,s]}async function Dl(t,e){let{resourceType:r,id:n,vid:i}=t.params,o=await e.readVersion(r,n,i);return[x.allOk,o]}async function _l(t,e){let{resourceType:r,id:n}=t.params,i=t.body;return fa(r,n,i,e,{ifMatch:gn(t.headers?.["if-match"])})}async function fa(t,e,r,n,i){if(r.resourceType!==t)return[(0,x.badRequest)("Incorrect resource type")];if(r.id!==e)return[(0,x.badRequest)("Incorrect resource ID")];let o=await n.updateResource(r,i);return[x.allOk,o]}async function Ll(t,e,r,n){let{resourceType:i}=t.params,o=t.body,s=(0,x.parseSearchRequest)(i,t.query),a=await e.conditionalUpdate(o,s,{assignedId:n?.batch,ifMatch:gn(t.headers?.["if-match"])});return[a.outcome,a.resource]}async function Al(t,e){let{resourceType:r,id:n}=t.params;return await e.deleteResource(r,n),[x.allOk]}async function Fl(t,e){let{resourceType:r}=t.params,n=(0,x.parseSearchRequest)(r,t.query);return await e.conditionalDelete(n),[x.allOk]}async function Cl(t,e){let{resourceType:r,id:n}=t.params,i=t.body;if(!i)return[(0,x.badRequest)("Empty patch body")];if(!Array.isArray(i)&&!(0,x.isResource)(i,"Parameters"))return[(0,x.badRequest)("Invalid patch body")];let o=await e.patchResource(r,n,i,{ifMatch:gn(t.headers?.["if-match"])});return[x.allOk,o]}async function kl(t,e){let{resourceType:r}=t.params,n=t.body;if(!n)return[(0,x.badRequest)("Empty patch body")];if(!Array.isArray(n))return[(0,x.badRequest)("Patch body must be an array")];let i=(0,x.parseSearchRequest)(r,t.query),o=await e.conditionalPatch(i,n,{ifMatch:gn(t.headers?.["if-match"])});return[x.allOk,o]}var ho=class extends x.EventTarget{constructor(r={}){super();$(this,"router",new hr);$(this,"options");this.options=r,this.router.add("GET","",Rl,{interaction:"search-system"}),this.router.add("POST","",bl,{interaction:"batch"}),this.router.add("GET",":resourceType",vl,{interaction:"search-type"}),this.router.add("POST",":resourceType/_search",Sl,{interaction:"search-type"}),this.router.add("POST",":resourceType",Ol,{interaction:"create"}),this.router.add("GET",":resourceType/:id",xl,{interaction:"read"}),this.router.add("GET",":resourceType/:id/_history",wl,{interaction:"history-instance"}),this.router.add("GET",":resourceType/:id/_history/:vid",Dl,{interaction:"vread"}),this.router.add("PUT",":resourceType/:id",_l,{interaction:"update"}),this.router.add("PUT",":resourceType",Ll,{interaction:"update"}),this.router.add("DELETE",":resourceType/:id",Al,{interaction:"delete"}),this.router.add("DELETE",":resourceType",Fl,{interaction:"delete"}),this.router.add("PATCH",":resourceType/:id",Cl,{interaction:"patch"}),this.router.add("PATCH",":resourceType",kl,{interaction:"patch"}),this.router.add("POST","$graphql",ua,{interaction:"operation"})}add(r,n,i,o){this.router.add(r,n,i,{interaction:o??"operation"})}find(r,n){return this.router.find(r,n)}async handleRequest(r,n){let i=r.url;if(r.pathname)throw new x.OperationOutcomeError((0,x.badRequest)("FhirRequest must specify url instead of pathname"));let o;try{o=this.find(r.method,i)}catch(l){return[(0,x.normalizeOperationOutcome)(l)]}if(!o)return[x.notFound];let{handler:s,path:a,params:c,query:p}=o;r.params=c,r.pathname=a,p&&(r.query=p);try{return await s(r,n,this)}catch(l){return[(0,x.normalizeOperationOutcome)(l)]}}log(r,n,i){let o={type:r,message:n,data:i};this.dispatchEvent(o)}};function gn(t){if(!t)return;let e=/"([^"]+)"/.exec(t);return e?e[1]:void 0}function pa(t,e){let r=t[e],n;return Array.isArray(r)?n=r.at(-1):n=r,n?Number.parseInt(n,10):void 0}function Pl(t,e,r){return{method:t,url:e,pathname:"",query:{},params:{},body:r}}0&&(module.exports={BatchProcessor,FhirRepository,FhirRouter,MAX_QUERY_STRING_LENGTH,MemoryRepository,RepositoryMode,Router,buildBatchResponseBundle,createResourceImpl,getExtraEntries,getSearchIncludeEntries,getSearchRevIncludeEntries,makeSimpleRequest,processBatch,updateResourceImpl});
|
|
54
54
|
//# sourceMappingURL=index.cjs.map
|