@lssm/bundle.contractspec-workspace 0.0.0-canary-20251220002821 → 0.0.0-canary-20251220021406
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/index.js +1 -1
- package/package.json +9 -9
package/dist/index.js
CHANGED
|
@@ -1449,7 +1449,7 @@ builder.objectType('MyObject', {
|
|
|
1449
1449
|
interface: () => [Interface1, Interface2],
|
|
1450
1450
|
...
|
|
1451
1451
|
});
|
|
1452
|
-
`)}function _O($,z){if(typeof $!=="object"||$===null)return;Object.defineProperty($,JU,{enumerable:!1,value:z})}function q3($){if(typeof $==="object"&&$!==null&&JU in $)return $[JU];return null}function KU($,z,Y){if(b8($))return Promise.resolve($).then(z,Y);let W=z($);if(b8(W))return Promise.resolve(W);return W}function Z3($,z,Y,W){var U;let Q=Fw$.getArgumentValues($,z,W.variableValues),X=(U=$.extensions)===null||U===void 0?void 0:U.pothosArgMappers;if(X&&X.length>0)return B3(X,Q,(O,G)=>G(O,Y,W));return Q}function B3($,z,Y){function W(U,Q){if(Q===$.length)return U;return KU(Y(U,$[Q],Q),(X)=>{return X===null?null:W(X,Q+1)})}return W(z,0)}function LK($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var bK=new WeakMap;class e9{onTypeConfig($){return $}onOutputFieldConfig($){return $}onInputFieldConfig($){return $}onEnumValueConfig($){return $}beforeBuild(){}afterBuild($){return $}wrapResolve($,z){return $}wrapSubscribe($,z){return $}wrapArgMappers($,z){return $}wrapResolveType($,z){return $}wrapIsTypeOf($,z){return $}runUnique($,z){if(!bK.has(this.builder))bK.set(this.builder,new Map);if(!bK.get(this.builder).has($)){let Y=z();return bK.get(this.builder).set($,Y),Y}return bK.get(this.builder).get($)}createRequestData($){throw new TY("createRequestData not implemented")}requestData($){return this.requestDataMap($)}constructor($,z){LK(this,"name",void 0),LK(this,"builder",void 0),LK(this,"buildCache",void 0),LK(this,"options",void 0),LK(this,"requestDataMap",B4((Y)=>this.createRequestData(Y))),this.name=z,this.builder=$.builder,this.buildCache=$,this.options=$.options}}function yS0($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class Ch extends e9{onTypeConfig($){return this.plugins.reduceRight((z,Y)=>z===null?z:Y.onTypeConfig(z),$)}onInputFieldConfig($){return this.plugins.reduceRight((z,Y)=>z===null?z:Y.onInputFieldConfig(z),$)}onOutputFieldConfig($){return this.plugins.reduceRight((z,Y)=>z===null?z:Y.onOutputFieldConfig(z),$)}onEnumValueConfig($){return this.plugins.reduceRight((z,Y)=>z===null?z:Y.onEnumValueConfig(z),$)}beforeBuild(){for(let $ of this.plugins)$.beforeBuild()}afterBuild($){return this.plugins.reduceRight((z,Y)=>Y.afterBuild(z),$)}wrapResolve($,z){let Y=this.plugins.reduceRight((U,Q)=>Q.wrapResolve(U,z),$);if(!z.argMappers.length)return this.wrapArgMappers(Y,z);let W=z.argMappers;return this.wrapArgMappers((U,Q,X,O)=>{let G=B3(W,Q,(H,Z)=>{return Z(H,X,O)});return KU(G,(H)=>Y(U,H,X,O))},z)}wrapSubscribe($,z){let Y=this.plugins.reduceRight((U,Q)=>Q.wrapSubscribe(U,z),$);if(!Y||!z.argMappers.length)return this.wrapArgMappers(Y,z);let W=z.argMappers;return this.wrapArgMappers((U,Q,X,O)=>{let G=B3(W,Q,(H,Z)=>{return Z(H,X,O)});return KU(G,(H)=>Y(U,H,X,O))},z)}wrapArgMappers($,z){return this.plugins.reduceRight((Y,W)=>W.wrapArgMappers(Y,z),$)}wrapResolveType($,z){return this.plugins.reduceRight((Y,W)=>W.wrapResolveType(Y,z),$)}wrapIsTypeOf($,z){return this.plugins.reduceRight((Y,W)=>W.wrapIsTypeOf(Y,z),$)}constructor($,z){super($,"PothosMergedPlugin"),yS0(this,"plugins",void 0),this.plugins=z}}function RH($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var gS0=s9,xS0=vY,hS0=ZW;class SH extends c1{constructor($,z){super("Scalar",$,z),RH(this,"kind","Scalar"),RH(this,"$inferType",void 0),RH(this,"$inferInput",void 0),RH(this,gS0,void 0),RH(this,xS0,void 0),RH(this,hS0,void 0)}}function mS0($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class J3 extends SH{constructor($){super($.name),mS0(this,"type",void 0),this.type=$}}function _Y($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class K3{getTypeConfig($,z){let Y=this.configStore.getTypeConfig($,z);if(!this.typeConfigs.has(Y.name))this.typeConfigs.set(Y.name,this.plugin.onTypeConfig(Y));return this.typeConfigs.get(Y.name)}getInputTypeFieldConfigs($){let z=this.getTypeConfig($,"InputObject"),Y=this.types.get(z.name);if(!Y)throw new D0(`Input type ${z.name} has not been built yet`);let W=Y.getFields(),U={};for(let X of Object.keys(W)){var Q;U[X]=(Q=W[X].extensions)===null||Q===void 0?void 0:Q.pothosConfig}return U}getImplementers($){if(this.implementers.has($.name))return this.implementers.get($.name);let z=[...this.configStore.typeConfigs.values()].filter((Y)=>Y.kind==="Object"&&Y.interfaces.find((W)=>this.configStore.getTypeConfig(W).name===$.name));return this.implementers.set($.name,z),z}buildAll(){this.configStore.prepareForBuild();for(let $ of this.configStore.typeConfigs.values())if($.kind==="Enum"||$.kind==="Scalar")this.buildTypeFromConfig($);for(let $ of this.configStore.typeConfigs.values())if($.kind==="InputObject")this.buildTypeFromConfig($);for(let $ of this.types.values())if($ instanceof H0.GraphQLInputObjectType)$.getFields();for(let $ of this.configStore.typeConfigs.values())if($.kind==="Interface")this.buildTypeFromConfig($);for(let $ of this.configStore.typeConfigs.values())if($.kind==="Object")this.buildTypeFromConfig($);for(let $ of this.configStore.typeConfigs.values())if($.kind==="Union")this.buildTypeFromConfig($);for(let $ of this.configStore.typeConfigs.values())if($.kind==="Query"||$.kind==="Mutation"||$.kind==="Subscription")this.buildTypeFromConfig($);for(let $ of this.types.values())if($ instanceof H0.GraphQLObjectType||$ instanceof H0.GraphQLInterfaceType)$.getFields();else if($ instanceof H0.GraphQLUnionType)$.getTypes()}buildTypeFromConfig($){let z=this.getTypeConfig($.name),{name:Y}=z;switch(this.typeConfigs.set(Y,z),z.kind){case"Enum":this.addType(Y,this.buildEnum(z));break;case"InputObject":this.addType(Y,this.buildInputObject(z));break;case"Interface":this.addType(Y,this.buildInterface(z));break;case"Scalar":this.addType(Y,this.buildScalar(z));break;case"Union":this.addType(Y,this.buildUnion(z));break;case"Object":case"Query":case"Mutation":case"Subscription":this.addType(Y,this.buildObject(z));break;default:Lw$(z)}}addType($,z){if(this.types.has($))throw new D0(`reference or name has already been used to create another type (${z.name})`);this.types.set($,z)}buildOutputTypeParam($){if($.kind==="List"){if($.nullable)return new H0.GraphQLList(this.buildOutputTypeParam($.type));return new H0.GraphQLNonNull(new H0.GraphQLList(this.buildOutputTypeParam($.type)))}if($.nullable)return this.getOutputType($.ref);return new H0.GraphQLNonNull(this.getOutputType($.ref))}buildInputTypeParam($){if($.kind==="List"){if($.required)return new H0.GraphQLNonNull(new H0.GraphQLList(this.buildInputTypeParam($.type)));return new H0.GraphQLList(this.buildInputTypeParam($.type))}if($.required)return new H0.GraphQLNonNull(this.getInputType($.ref));return this.getInputType($.ref)}buildFields($){let z={};for(let[U,Q]of $){if(!this.outputFieldConfigs.has(Q))this.outputFieldConfigs.set(Q,this.plugin.onOutputFieldConfig(Q));let X=this.outputFieldConfigs.get(Q);if(!X)continue;let O={...X},G=new Map;for(let K of Object.keys(O.args))G.set(K,O.args[K]);let H=this.buildInputFields(G),Z={};for(let K of Object.keys(O.args))Z[K]=this.inputFieldConfigs.get(O.args[K]);O.args=Z;var Y;let B=this.plugin.wrapResolve((Y=O.resolve)!==null&&Y!==void 0?Y:H0.defaultFieldResolver,O),J=this.plugin.wrapSubscribe(O.subscribe,O);var W;z[U]={...O,type:this.buildOutputTypeParam(O.type),args:H,extensions:{...O.extensions,pothosResolveWrapped:B!==((W=O.resolve)!==null&&W!==void 0?W:H0.defaultFieldResolver),pothosSubscribeWrapped:J!==O.subscribe,pothosOptions:O.pothosOptions,pothosConfig:O,pothosArgMappers:O.argMappers},resolve:B===H0.defaultFieldResolver?void 0:B,subscribe:J}}return z}buildInputFields($){let z={};for(let[Y,W]of $){if(!this.inputFieldConfigs.has(W))this.inputFieldConfigs.set(W,this.plugin.onInputFieldConfig(W));let U=this.inputFieldConfigs.get(W);if(U)z[Y]={...U,type:this.buildInputTypeParam(U.type),extensions:{...U.extensions,pothosOptions:U.pothosOptions,pothosConfig:U}}}return z}getInterfaceFields($){let z=$.getInterfaces().reduce((U,Q)=>Object.assign(U,this.getFields(Q)),{}),Y=this.configStore.getFields($.name,"Interface"),W=this.buildFields(Y);return{...z,...W}}getObjectFields($){let z=$.getInterfaces().reduce((W,U)=>Object.assign(W,this.getFields(U)),{}),Y=this.buildFields(this.configStore.getFields($.name,"Object"));return{...z,...Y}}getRootFields($){return this.buildFields(this.configStore.getFields($.name,"Object"))}getFields($){if($ instanceof H0.GraphQLObjectType){let z=this.configStore.getTypeConfig($.name);if(z.kind==="Query"||z.kind==="Mutation"||z.kind==="Subscription")return this.getRootFields($);return this.getObjectFields($)}if($ instanceof H0.GraphQLInterfaceType)return this.getInterfaceFields($);throw new D0(`Type ${$.name} does not have fields to resolve`)}getInputFields($){return this.buildInputFields(this.configStore.getFields($.name,"InputObject"))}getType($){if($ instanceof J3)return $.type;let z=this.configStore.getTypeConfig($),Y=this.types.get(z.name);if(!Y)return this.buildTypeFromConfig(z),this.types.get(z.name);return Y}getOutputType($){let z=this.getType($);if(z instanceof H0.GraphQLInputObjectType)throw new D0(`Expected ${String($)} to be an output type but it was defined as an InputObject`);return z}getInputType($){let z=this.getType($);if(!z)throw new D0(`Missing implementation of for type ${String($)}`);if(z instanceof H0.GraphQLObjectType)throw new D0(`Expected ${z.name} to be an input type but it was defined as a GraphQLObjectType`);if(z instanceof H0.GraphQLInterfaceType)throw new D0(`Expected ${z.name} to be an input type but it was defined as a GraphQLInterfaceType`);if(z instanceof H0.GraphQLUnionType)throw new D0(`Expected ${String($)} to be an input type but it was defined as an GraphQLUnionType`);return z}getTypeOfKind($,z){let Y=this.getType($);switch(z){case"Object":case"Query":case"Mutation":case"Subscription":if(Y instanceof H0.GraphQLObjectType)return Y;break;case"Interface":if(Y instanceof H0.GraphQLInterfaceType)return Y;break;case"Union":if(Y instanceof H0.GraphQLUnionType)return Y;break;case"Enum":if(Y instanceof H0.GraphQLEnumType)return Y;break;case"Scalar":if(Y instanceof H0.GraphQLScalarType)return Y;break;case"InputObject":if(Y instanceof H0.GraphQLScalarType)return Y;break;default:break}throw new D0(`Expected ${String($)} to be of type ${z}`)}buildObject($){var z;let Y=new H0.GraphQLObjectType({...$,extensions:{...$.extensions,pothosOptions:$.pothosOptions,pothosConfig:$},fields:()=>this.getFields(Y),isTypeOf:$.kind==="Object"?this.plugin.wrapIsTypeOf((z=$.isTypeOf)!==null&&z!==void 0?z:void 0,$):void 0,interfaces:$.kind==="Object"?()=>$.interfaces.map((W)=>this.getTypeOfKind(W,"Interface")):void 0});return Y}buildInterface($){let z=(W,U,Q)=>{let X=q3(W);if(X){if(typeof X==="string")return X;return this.getTypeConfig(X).name}var O;return((O=$.resolveType)!==null&&O!==void 0?O:H0.defaultTypeResolver)(W,U,Q,Y)},Y=new H0.GraphQLInterfaceType({...$,extensions:{...$.extensions,pothosOptions:$.pothosOptions,pothosConfig:$},interfaces:()=>$.interfaces.map((W)=>this.getTypeOfKind(W,"Interface")),fields:()=>this.getFields(Y),resolveType:this.plugin.wrapResolveType(z,$)});return Y}buildUnion($){let z=(Y,W,U,Q)=>{if(typeof Y==="object"&&Y!==null&&JU in Y){let G=Y[JU];if(typeof G==="string")return G;return this.getTypeConfig(G).name}if(!$.resolveType)return H0.defaultTypeResolver(Y,W,U,Q);let X=$.resolveType(Y,W,U,Q),O=(G)=>{if(typeof G==="string"||!G)return G;if(G instanceof H0.GraphQLObjectType)return G.name;try{return this.configStore.getTypeConfig(G).name}catch{}return G};return b8(X)?X.then(O):O(X)};return new H0.GraphQLUnionType({...$,extensions:{...$.extensions,pothosOptions:$.pothosOptions,pothosConfig:$},types:()=>$.types.map((Y)=>this.getTypeOfKind(Y,"Object")),resolveType:this.plugin.wrapResolveType(z,$)})}buildInputObject($){let z=new H0.GraphQLInputObjectType({...$,extensions:{...$.extensions,pothosOptions:$.pothosOptions,pothosConfig:$},fields:()=>this.getInputFields(z)});return z}buildScalar($){if($.name==="ID")return H0.GraphQLID;if($.name==="Int")return H0.GraphQLInt;if($.name==="Float")return H0.GraphQLFloat;if($.name==="Boolean")return H0.GraphQLBoolean;if($.name==="String")return H0.GraphQLString;return new H0.GraphQLScalarType({...$,extensions:{...$.extensions,pothosOptions:$.pothosOptions,pothosConfig:$}})}buildEnum($){let z={},Y=typeof $.values==="function"?$.values():$.values;for(let W of Object.keys($.values)){let U=Y[W];if(!this.enumValueConfigs.has(U))this.enumValueConfigs.set(U,this.plugin.onEnumValueConfig(U));if(this.enumValueConfigs.get(U))z[W]=this.enumValueConfigs.get(U)}return new H0.GraphQLEnumType({...$,values:z,extensions:{...$.extensions,pothosOptions:$.pothosOptions,pothosConfig:$}})}constructor($,z){_Y(this,"types",new Map),_Y(this,"builder",void 0),_Y(this,"plugin",void 0),_Y(this,"options",void 0),_Y(this,"configStore",void 0),_Y(this,"pluginList",void 0),_Y(this,"implementers",new Map),_Y(this,"typeConfigs",new Map),_Y(this,"enumValueConfigs",new Map),_Y(this,"outputFieldConfigs",new Map),_Y(this,"inputFieldConfigs",new Map),this.builder=$,this.configStore=$.configStore,this.options=z;let Y={};var W;this.pluginList=((W=$.options.plugins)!==null&&W!==void 0?W:[]).map((U)=>{let Q=this.builder.constructor.plugins[U];if(!Q)throw new TY(`No plugin named ${U} was registered`);return Y[U]=new Q(this,U),Y[U]}),this.plugin=new Ch(this,this.pluginList)}}function CH($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var cS0=ZW;class BW extends c1{addFields($){this.fields.add($);for(let z of this.fieldCbs)for(let[Y,W]of Object.entries($()))if(W)z(Y,W)}onField($){this.fieldCbs.add($);for(let z of this.fields)for(let[Y,W]of Object.entries(z()))if(W)$(Y,W)}constructor($){super("InputObject",$),CH(this,"kind","InputObject"),CH(this,"$inferInput",void 0),CH(this,cS0,void 0),CH(this,"fields",new Set),CH(this,"fieldCbs",new Set)}}class D3 extends BW{implement($){return this.builder.inputType(this,$),this}constructor($,z){super(z),CH(this,"builder",void 0),this.builder=$}}function Th($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class MK extends c1{addFields($){for(let z of this.fieldCbs)for(let[Y,W]of Object.entries($()))if(W)z(Y,W);this.fields.add($)}addInterfaces($){if(Array.isArray($)&&$.length===0)return;if(this.preparedForBuild)this.updateConfig((z)=>({...z,interfaces:[...z.interfaces,...typeof $==="function"?$():$]}));else this.interfaces.push(()=>Array.isArray($)?$:$())}onField($){this.fieldCbs.add($);for(let z of this.fields)for(let[Y,W]of Object.entries(z()))if(W)$(Y,W)}prepareForBuild(){if(this.preparedForBuild)return;if(super.prepareForBuild(),this.interfaces.length>0)this.updateConfig(($)=>{var z;return{...$,interfaces:[...(z=$.interfaces)!==null&&z!==void 0?z:[],...this.interfaces.flatMap((Y)=>Y())]}})}constructor(...$){super(...$),Th(this,"fields",new Set),Th(this,"fieldCbs",new Set),Th(this,"interfaces",[])}}function PK($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var lS0=s9,dS0=vY;class JW extends MK{constructor($,z){super("Interface",$,z),PK(this,"kind","Interface"),PK(this,"$inferType",void 0),PK(this,lS0,void 0),PK(this,dS0,void 0)}}class NK extends JW{implement($){return this.builder.interfaceType(this,$)}constructor($,z){super(z),PK(this,"builder",void 0),this.builder=$}}function EK($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var iS0=s9,nS0=vY;class n8 extends MK{constructor($,z){super("Object",$,z),EK(this,"kind","Object"),EK(this,"$inferType",void 0),EK(this,iS0,void 0),EK(this,nS0,void 0)}}class RK extends n8{implement($){return this.builder.objectType(this,$)}constructor($,z){super(z),EK(this,"builder",void 0),this.builder=$}}function rS0($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class TH extends n8{constructor(...$){super(...$),rS0(this,"kind","Object")}}class vH extends n8{}class _H extends n8{}function KW($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class vh{addFields($,z){this.onTypeConfig($,(Y,W)=>{if(!(W instanceof JW||W instanceof n8||W instanceof vH||W instanceof TH||W instanceof _H))throw new D0(`Can not add fields to ${W} because it is not an object`);W.addFields(z)})}addInputFields($,z){this.onTypeConfig($,(Y,W)=>{if(!(W instanceof BW))throw new D0(`Can not add fields to ${W} because it is not an input object`);W.addFields(z)})}associateParamWithRef($,z){let Y=this.resolveParamAssociations(z);this.paramAssociations.set($,Y);var W;let U=(W=this.pendingTypeConfigResolutions.get($))!==null&&W!==void 0?W:[];if(U.length>0)if(typeof Y==="string"&&this.typeConfigs.has(Y))for(let Q of U){let X=this.typeConfigs.get(Y);Q(X,this.implementors.get(X.name))}else for(let Q of U)this.onTypeConfig(Y,Q);this.pendingTypeConfigResolutions.delete($)}onTypeConfig($,z){let Y=this.resolveParamAssociations($);if(typeof Y==="string"&&this.typeConfigs.has(Y)){let W=this.typeConfigs.get(Y);z(W,this.implementors.get(W.name))}else{if(!this.pendingTypeConfigResolutions.has(Y))this.pendingTypeConfigResolutions.set(Y,[]);this.pendingTypeConfigResolutions.get(Y).push(z)}}onTypeConfigOfKind($,z,Y){this.onTypeConfig($,(W)=>{if(W.kind!==z)throw new D0(`Expected ${this.describeRef($)} to be of kind ${z} but it is of kind ${W.kind}`);Y(W)})}addTypeRef($){if(this.refs.has($))return;if(!this.pending)$.prepareForBuild();this.refs.add($),$.onConfig((z)=>{let Y=this.implementors.get(z.name);if(Y&&Y!==$)throw new D0(`Duplicate typename: Another type with name ${z.name} already exists.`);if(!Y){if(this.implementors.set(z.name,$),this.associateParamWithRef($,z.name),$ instanceof n8||$ instanceof JW||$ instanceof BW){if(!this.fields.has(z.name))this.fields.set(z.name,new Map);this.onPrepare(()=>{$.onField((W,U)=>{let Q=this.fields.get(z.name);if(Q.has(W))throw new D0(`Duplicate field ${W} on ${z.name}`);var X;Q.set(W,U.getConfig(W,(X=this.typeConfigs.get(z.name))!==null&&X!==void 0?X:z))})})}}if(this.typeConfigs.set(z.name,z),this.pendingTypeConfigResolutions.has(z.name)){let W=this.pendingTypeConfigResolutions.get(z.name);for(let U of W)U(z,$)}this.pendingTypeConfigResolutions.delete(z.name)})}subscribeToFields($){}hasImplementation($){return this.typeConfigs.has($)}hasConfig($){let z=this.resolveParamAssociations($);if(typeof z!=="string"||!this.typeConfigs.has(z))return!1;return!0}getTypeConfig($,z){let Y=this.resolveParamAssociations($);if(typeof Y!=="string"||!this.typeConfigs.has(Y))throw new D0(`${this.describeRef($)} has not been implemented`);let W=this.typeConfigs.get(Y);if(z&&W.graphqlKind!==z)throw new D0(`Expected ref to resolve to a ${z} type, but got ${W.kind}`);return W}getInputTypeRef($){let z=this.resolveParamAssociations($);if($ instanceof c1){if($.kind!=="InputObject"&&$.kind!=="Enum"&&$.kind!=="Scalar")throw new D0(`Expected ${this.describeRef($)} to be an input type but got ${$.kind}`);return $}if(typeof z==="string"&&this.typeConfigs.has(z)){let Y=this.implementors.get(z);if(Y instanceof c1){if(Y.kind!=="InputObject"&&Y.kind!=="Enum"&&Y.kind!=="Scalar")throw new D0(`Expected ${this.describeRef(Y)} to be an input type but got ${Y.kind}`);return Y}}throw new D0(`${this.describeRef($)} has not been implemented`)}getOutputTypeRef($){let z=this.resolveParamAssociations($);if($ instanceof c1){if($.kind==="InputObject"||$.kind==="InputList")throw new D0(`Expected ${$.name} to be an output type but got ${$.kind}`);return $}if(typeof z==="string"&&this.typeConfigs.has(z)){let Y=this.implementors.get(z);if(Y instanceof c1){if(Y.kind==="InputObject"||Y.kind==="InputList")throw new D0(`Expected ${Y.name} to be an output type but got ${Y.kind}`);return Y}}throw new D0(`${this.describeRef($)} has not been implemented`)}getFields($,z){let Y=this.getTypeConfig($);if(!this.fields.has($))this.fields.set($,new Map);let W=this.fields.get($);if(z&&Y.graphqlKind!==z)throw new D0(`Expected ${$} to be a ${z} type, but found ${Y.graphqlKind}`);return W}prepareForBuild(){this.pending=!1;for(let z of this.refs)z.prepareForBuild();let{pendingActions:$}=this;this.pendingActions=[];for(let z of $)z();if(this.pendingTypeConfigResolutions.size>0)throw new D0(`Missing implementations for some references (${[...this.pendingTypeConfigResolutions.keys()].map((z)=>this.describeRef(z)).join(", ")}).`)}onPrepare($){if(this.pending)this.pendingActions.push($);else $()}resolveParamAssociations($){let z=this.paramAssociations.get($);while(z&&this.paramAssociations.has(z))z=this.paramAssociations.get(z);return z!==null&&z!==void 0?z:$}describeRef($){if(typeof $==="string")return $;if($&&$.toString!=={}.toString)return String($);if(typeof $==="function"&&$.name!==(()=>{}).name)return`function ${$.name}`;return"<unnamed ref or enum>"}constructor($){KW(this,"typeConfigs",new Map),KW(this,"fields",new Map),KW(this,"refs",new Set),KW(this,"implementors",new Map),KW(this,"pendingActions",[]),KW(this,"paramAssociations",new Map),KW(this,"pendingTypeConfigResolutions",new Map),KW(this,"pending",!0),KW(this,"builder",void 0),this.builder=$}}function kO($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var pS0=G3;class w3{onConfig($){this.pendingActions.push($)}updateConfig($){this.pendingActions.push($)}getConfig($,z,Y){let W=this.pendingActions.reduce((U,Q)=>{var X;return(X=Q(U))!==null&&X!==void 0?X:U},this.initConfig($,z,Y));for(let U of this.onUseCallbacks)this.onUseCallbacks.delete(U),U(W);return W}onFirstUse($){this.onUseCallbacks.add($)}constructor($){kO(this,"kind","Arg"),kO(this,"fieldName",void 0),kO(this,"$inferInput",void 0),kO(this,pS0,void 0),kO(this,"pendingActions",[]),kO(this,"initConfig",void 0),kO(this,"onUseCallbacks",new Set),this.initConfig=$}}function uO($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var oS0=G3;class V3{updateConfig($){this.pendingActions.push($)}getConfig($,z){let Y=this.pendingActions.reduce((W,U)=>{var Q;return(Q=U(W))!==null&&Q!==void 0?Q:W},this.initConfig($,z));for(let W of this.onUseCallbacks)this.onUseCallbacks.delete(W),W(Y);return Y}onFirstUse($){this.onUseCallbacks.add($)}constructor($){uO(this,"kind","InputObject"),uO(this,"fieldName",void 0),uO(this,"$inferInput",void 0),uO(this,oS0,void 0),uO(this,"pendingActions",[]),uO(this,"initConfig",void 0),uO(this,"onUseCallbacks",new Set),this.initConfig=$}}function $z($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class gQ{argBuilder(){let $=this.field.bind(this),z=Object.keys(Object.getPrototypeOf(this)).filter((Y)=>typeof this[Y]==="function"&&Function.prototype[Y]===void 0);for(let Y of[...Object.keys(this),...z])$[Y]=typeof this[Y]==="function"?this[Y].bind(this):this[Y];return $}field($){return this.kind==="Arg"?new w3((Y,W,U)=>{let Q=$;var X,O;return{name:Y,parentField:W,kind:this.kind,graphqlKind:this.kind,parentType:U.name,type:FK(Q.type,this.builder.configStore,(X=Q.required)!==null&&X!==void 0?X:this.builder.defaultInputFieldRequiredness),pothosOptions:Q,description:Q.description,deprecationReason:Q.deprecationReason,defaultValue:Q.defaultValue,extensions:(O=Q.extensions)!==null&&O!==void 0?O:{}}}):new V3((Y,W)=>{let U=$;var Q,X;return{name:Y,parentField:void 0,kind:this.kind,graphqlKind:this.kind,parentType:W.name,type:FK(U.type,this.builder.configStore,(Q=U.required)!==null&&Q!==void 0?Q:this.builder.defaultInputFieldRequiredness),pothosOptions:U,description:U.description,deprecationReason:U.deprecationReason,defaultValue:U.defaultValue,extensions:(X=U.extensions)!==null&&X!==void 0?X:{}}})}helper($){return(...z)=>{let[Y={}]=z;return this.field({...Y,type:$})}}constructor($,z){$z(this,"kind",void 0),$z(this,"builder",void 0),$z(this,"boolean",this.helper("Boolean")),$z(this,"float",this.helper("Float")),$z(this,"id",this.helper("ID")),$z(this,"int",this.helper("Int")),$z(this,"string",this.helper("String")),$z(this,"booleanList",this.helper(["Boolean"])),$z(this,"floatList",this.helper(["Float"])),$z(this,"idList",this.helper(["ID"])),$z(this,"intList",this.helper(["Int"])),$z(this,"stringList",this.helper(["String"])),$z(this,"listRef",(Y,W)=>{var U;return new TO(Y,(U=W===null||W===void 0?void 0:W.required)!==null&&U!==void 0?U:!0)}),this.builder=$,this.kind=z}}var bw$=J6(CY(),1);function fO($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var tS0=Zw$;class A3{updateConfig($){this.pendingActions.push($)}getConfig($,z){let Y=this.pendingActions.reduce((W,U)=>{var Q;return(Q=U(W))!==null&&Q!==void 0?Q:W},this.initConfig($,z));for(let W of this.onUseCallbacks)this.onUseCallbacks.delete(W),W(Y);return Y}onFirstUse($){this.onUseCallbacks.add($)}constructor($,z){fO(this,"kind",void 0),fO(this,"fieldName",void 0),fO(this,"$inferType",void 0),fO(this,tS0,void 0),fO(this,"pendingActions",[]),fO(this,"initConfig",void 0),fO(this,"onUseCallbacks",new Set),this.kind=$,this.initConfig=z}}function _h($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class kh{createField($){return new A3(this.kind,(Y,W)=>{var U;let Q={};if($.args)for(let[H,Z]of Object.entries($.args))Q[H]=Z.getConfig(H,Y,W);let{resolve:X}=$;if(((U=$.extensions)===null||U===void 0?void 0:U.pothosExposedField)===Y)X=bw$.defaultFieldResolver;let{subscribe:O}=$;var G;return{kind:this.kind,graphqlKind:W.graphqlKind,parentType:W.name,name:Y,args:Q,argMappers:[],type:H3($.type,this.builder.configStore,(G=$.nullable)!==null&&G!==void 0?G:this.builder.defaultFieldNullability),pothosOptions:$,extensions:{pothosOriginalResolve:X,pothosOriginalSubscribe:O,...$.extensions},description:$.description,deprecationReason:$.deprecationReason,resolve:X,subscribe:O}})}exposeField($,{extensions:z,...Y}){return this.createField({...Y,extensions:{pothosExposedField:$,...z},resolve:(W)=>W[$]})}constructor($,z,Y){_h(this,"kind",void 0),_h(this,"graphqlKind",void 0),_h(this,"builder",void 0),this.builder=$,this.kind=z,this.graphqlKind=Y}}function aS0($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class kY extends kh{boolean(...$){let[z={}]=$;return this.createField({...z,type:"Boolean"})}float(...$){let[z={}]=$;return this.createField({...z,type:"Float"})}id(...$){let[z={}]=$;return this.createField({...z,type:"ID"})}int(...$){let[z={}]=$;return this.createField({...z,type:"Int"})}string(...$){let[z={}]=$;return this.createField({...z,type:"String"})}booleanList(...$){let[z={}]=$;return this.createField({...z,type:["Boolean"]})}floatList(...$){let[z={}]=$;return this.createField({...z,type:["Float"]})}idList(...$){let[z={}]=$;return this.createField({...z,type:["ID"]})}intList(...$){let[z={}]=$;return this.createField({...z,type:["Int"]})}stringList(...$){let[z={}]=$;return this.createField({...z,type:["String"]})}field($){return this.createField($)}listRef($,z){var Y;return new vO($,(Y=z===null||z===void 0?void 0:z.nullable)!==null&&Y!==void 0?Y:!1)}constructor(...$){super(...$),aS0(this,"arg",new gQ(this.builder,"Arg").argBuilder())}}class kH extends kY{exposeBoolean($,...z){let[Y={}]=z;return this.exposeField($,{...Y,type:"Boolean"})}exposeFloat($,...z){let[Y={}]=z;return this.exposeField($,{...Y,type:"Float"})}exposeID($,...z){let[Y={}]=z;return this.exposeField($,{...Y,type:"ID"})}exposeInt($,...z){let[Y={}]=z;return this.exposeField($,{...Y,type:"Int"})}exposeString($,...z){let[Y={}]=z;return this.exposeField($,{...Y,type:"String"})}exposeBooleanList($,...z){let[Y={}]=z;return this.exposeField($,{...Y,type:["Boolean"]})}exposeFloatList($,...z){let[Y={}]=z;return this.exposeField($,{...Y,type:["Float"]})}exposeIDList($,...z){let[Y={}]=z;return this.exposeField($,{...Y,type:["ID"]})}exposeIntList($,...z){let[Y={}]=z;return this.exposeField($,{...Y,type:["Int"]})}exposeStringList($,...z){let[Y={}]=z;return this.exposeField($,{...Y,type:["String"]})}expose($,...z){let[Y={}]=z;return this.exposeField($,Y)}}class yO extends kH{constructor($){super($,"Interface","Interface")}}class gO extends kY{constructor($){super($,"Mutation","Object")}}class xQ extends kH{constructor($){super($,"Object","Object")}}class xO extends kY{constructor($){super($,"Query","Object")}}class hO extends kY{constructor($){super($,"Subscription","Object")}}function SK($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var sS0=s9,eS0=ZW;class j3 extends c1{constructor($,z){super("Enum",$,z),SK(this,"kind","Enum"),SK(this,"$inferType",void 0),SK(this,"$inferInput",void 0),SK(this,sS0,void 0),SK(this,eS0,void 0)}}function CK($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var $C0=s9,zC0=vY;class TK extends c1{addTypes($){if(Array.isArray($)&&$.length===0)return;if(this.preparedForBuild)this.updateConfig((z)=>({...z,types:[...z.types,...typeof $==="function"?$():$]}));else this.types.push(()=>Array.isArray($)?$:$())}prepareForBuild(){if(this.preparedForBuild)return;if(super.prepareForBuild(),this.types.length>0)this.updateConfig(($)=>({...$,types:[...$.types,...this.types.flatMap((z)=>z())]}))}constructor($,z){super("Union",$,z),CK(this,"kind","Union"),CK(this,"$inferType",void 0),CK(this,$C0,void 0),CK(this,zC0,void 0),CK(this,"types",[])}}function uY($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class fY{static registerPlugin($,z,Y){if(!fY.allowPluginReRegistration&&fY.plugins[$])throw new TY(`Received multiple implementations for plugin ${$}`);if(fY.plugins[$]=z,Y)fY.optionNormalizers.set($,Y)}objectType($,z,Y){I9($),Sh(z.interfaces);var W;let U=typeof $==="string"?$:(W=z.name)!==null&&W!==void 0?W:$.name,Q=$ instanceof c1?$:new n8(U);if(Q.updateConfig({kind:"Object",graphqlKind:"Object",name:U,interfaces:[],description:z.description,extensions:z.extensions,isTypeOf:z.isTypeOf,pothosOptions:z}),z.interfaces)Q.addInterfaces(z.interfaces);if(Q!==$&&typeof $!=="string")this.configStore.associateParamWithRef($,Q);if(Y)Q.addFields(()=>Y(new xQ(this)));if(z.fields)Q.addFields(()=>{let X=new xQ(this);return z.fields(X)});return this.configStore.addTypeRef(Q),Q}objectFields($,z){I9($),this.configStore.addFields($,()=>z(new xQ(this)))}objectField($,z,Y){I9($),this.configStore.addFields($,()=>({[z]:Y(new xQ(this))}))}queryType(...$){let[z={},Y]=$;var W;if(this.queryRef.updateConfig({kind:"Query",graphqlKind:"Object",name:(W=z.name)!==null&&W!==void 0?W:"Query",description:z.description,pothosOptions:z,extensions:z.extensions}),z.name)this.queryRef.name=z.name;if(this.configStore.addTypeRef(this.queryRef),Y)this.queryRef.addFields(()=>Y(new xO(this)));if(z.fields)this.queryRef.addFields(()=>z.fields(new xO(this)));return this.queryRef}queryFields($){this.configStore.addFields(this.queryRef,()=>$(new xO(this)))}queryField($,z){this.configStore.addFields(this.queryRef,()=>({[$]:z(new xO(this))}))}mutationType(...$){let[z={},Y]=$;var W;if(this.mutationRef.updateConfig({kind:"Mutation",graphqlKind:"Object",name:(W=z.name)!==null&&W!==void 0?W:"Mutation",description:z.description,pothosOptions:z,extensions:z.extensions}),this.configStore.addTypeRef(this.mutationRef),z.name)this.mutationRef.name=z.name;if(Y)this.configStore.addFields(this.mutationRef,()=>Y(new gO(this)));if(z.fields)this.configStore.addFields(this.mutationRef,()=>z.fields(new gO(this)));return this.mutationRef}mutationFields($){this.configStore.addFields(this.mutationRef,()=>$(new gO(this)))}mutationField($,z){this.configStore.addFields(this.mutationRef,()=>({[$]:z(new gO(this))}))}subscriptionType(...$){let[z={},Y]=$;var W;if(this.subscriptionRef.updateConfig({kind:"Subscription",graphqlKind:"Object",name:(W=z.name)!==null&&W!==void 0?W:"Subscription",description:z.description,pothosOptions:z,extensions:z.extensions}),this.configStore.addTypeRef(this.subscriptionRef),z.name)this.subscriptionRef.name=z.name;if(Y)this.configStore.addFields(this.subscriptionRef,()=>Y(new hO(this)));if(z.fields)this.configStore.addFields(this.subscriptionRef,()=>z.fields(new hO(this)));return this.subscriptionRef}subscriptionFields($){this.configStore.addFields(this.subscriptionRef,()=>$(new hO(this)))}subscriptionField($,z){this.configStore.addFields(this.subscriptionRef,()=>({[$]:z(new hO(this))}))}args($){return $(new gQ(this,"Arg"))}interfaceType($,z,Y){I9($),Sh(z.interfaces);var W;let U=typeof $==="string"?$:(W=z.name)!==null&&W!==void 0?W:$.name,Q=$ instanceof c1?$:new JW(U),X=Q.name;if(Q.updateConfig({kind:"Interface",graphqlKind:"Interface",name:X,interfaces:[],description:z.description,pothosOptions:z,extensions:z.extensions,resolveType:z.resolveType}),this.configStore.addTypeRef(Q),z.interfaces)Q.addInterfaces(z.interfaces);if(Q!==$&&typeof $!=="string")this.configStore.associateParamWithRef($,Q);if(Y)this.configStore.addFields(Q,()=>Y(new yO(this)));if(z.fields)this.configStore.addFields(Q,()=>z.fields(new yO(this)));return Q}interfaceFields($,z){I9($),this.configStore.addFields($,()=>z(new yO(this)))}interfaceField($,z,Y){I9($),this.configStore.addFields($,()=>({[z]:Y(new yO(this))}))}unionType($,z){let Y=new TK($,{kind:"Union",graphqlKind:"Union",name:$,types:[],description:z.description,resolveType:z.resolveType,pothosOptions:z,extensions:z.extensions});if(Array.isArray(z.types))for(let W of z.types)I9(W);return this.configStore.addTypeRef(Y),Y.addTypes(z.types),Y}enumType($,z){I9($);let Y=typeof $==="string"?$:z.name,W=typeof $==="object"?Dw$($,z===null||z===void 0?void 0:z.values):Kw$(z.values),U=new j3(Y,{kind:"Enum",graphqlKind:"Enum",name:Y,values:W,description:z.description,pothosOptions:z,extensions:z.extensions});if(this.configStore.addTypeRef(U),typeof $!=="string")this.configStore.associateParamWithRef($,U);return U}scalarType($,z){let Y=new SH($,{kind:"Scalar",graphqlKind:"Scalar",name:$,description:z.description,parseLiteral:z.parseLiteral,parseValue:z.parseValue,serialize:z.serialize,pothosOptions:z,extensions:z.extensions});return this.configStore.addTypeRef(Y),Y}addScalarType($,z,...Y){let[W={}]=Y,U=z.toConfig();return this.scalarType($,{...U,...W,extensions:{...U.extensions,...W.extensions}})}inputType($,z){I9($);let Y=typeof $==="string"?$:$.name,W=typeof $==="string"?new BW(Y):$;if(W.updateConfig({kind:"InputObject",graphqlKind:"InputObject",name:Y,isOneOf:z.isOneOf,description:z.description,pothosOptions:z,extensions:z.extensions}),this.configStore.addTypeRef(W),$!==W&&typeof $!=="string")this.configStore.associateParamWithRef($,W);return this.configStore.addInputFields(W,()=>z.fields(new gQ(this,"InputObject"))),W}inputRef($){return new D3(this,$)}objectRef($){return new RK(this,$)}interfaceRef($){return new NK(this,$)}toSchema(...$){let[z={}]=$,{directives:Y,extensions:W}=z,U=[F9.GraphQLID,F9.GraphQLInt,F9.GraphQLFloat,F9.GraphQLString,F9.GraphQLBoolean];for(let J of U)if(!this.configStore.hasImplementation(J.name))this.addScalarType(J.name,J);let Q=new K3(this,z);Q.plugin.beforeBuild(),Q.buildAll();let X=[...Q.types.values()],O=this.configStore.hasConfig(this.queryRef)?this.configStore.getTypeConfig(this.queryRef).name:"Query",G=this.configStore.hasConfig(this.mutationRef)?this.configStore.getTypeConfig(this.mutationRef).name:"Mutation",H=this.configStore.hasConfig(this.subscriptionRef)?this.configStore.getTypeConfig(this.subscriptionRef).name:"Subscription",Z=new F9.GraphQLSchema({query:Q.types.get(O),mutation:Q.types.get(G),subscription:Q.types.get(H),extensions:W!==null&&W!==void 0?W:{},directives:Y,types:X}),B=Q.plugin.afterBuild(Z);return z.sortSchema===!1?B:F9.lexicographicSortSchema(B)}constructor($){uY(this,"$inferSchemaTypes",void 0),uY(this,"queryRef",new vH("Query")),uY(this,"mutationRef",new TH("Mutation")),uY(this,"subscriptionRef",new _H("Subscription")),uY(this,"configStore",void 0),uY(this,"options",void 0),uY(this,"defaultFieldNullability",void 0),uY(this,"defaultInputFieldRequiredness",void 0),this.options=[...fY.optionNormalizers.values()].reduce((W,U)=>{if($.defaults&&typeof U[$.defaults]==="function")return Object.assign(W,U[$.defaults](W));return W},$),this.configStore=new vh(this);var z;this.defaultFieldNullability=(z=$.defaultFieldNullability)!==null&&z!==void 0?z:$.defaults!=="v3";var Y;this.defaultInputFieldRequiredness=(Y=$.defaultInputFieldRequiredness)!==null&&Y!==void 0?Y:!1}}uY(fY,"plugins",{});uY(fY,"optionNormalizers",new Map);uY(fY,"allowPluginReRegistration",!1);var YC0=fY,M8=YC0;var hQ=kY;var Mw$=xQ;var Pw$=gQ,Nw$=c1;var Ew$=BW;var uh=JW,Rw$=NK,$8=n8,uH=RK;var Sw$=TK;function fh($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var I3=Symbol.for("Pothos.prismaModelKey"),UC0=I3,WC0=qw$;class mQ extends $8{addBrand($){if(Array.isArray($)){for(let z of $)_O(z,this.name);return $}return _O($,this.name),$}hasBrand($){return typeof $==="object"&&$!==null&&JU in $&&$[JU]===this.name}constructor($,z){super($),fh(this,UC0,void 0),fh(this,WC0,void 0),fh(this,"modelName",void 0),this.modelName=z}}function Cw$($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var QC0=I3;class fH extends uh{constructor($,z){super($),Cw$(this,QC0,void 0),Cw$(this,"modelName",void 0),this.modelName=z}}var Tw$=B4(($)=>B4((z)=>typeof $.options.prisma.client==="function"?$.options.prisma.client(z):$.options.prisma.client));function F3($,z){if(typeof $.options.prisma.client==="function")return Tw$($)(z);return $.options.prisma.client}function hz($){var z;if("dmmf"in $.options.prisma&&$.options.prisma.dmmf)return $.options.prisma.dmmf.datamodel;let Y=$.options.prisma.client;var W,U;return(U=(W=Y._runtimeDataModel)!==null&&W!==void 0?W:(z=Y._baseDmmf)===null||z===void 0?void 0:z.datamodel)!==null&&U!==void 0?U:Y._dmmf.datamodel}var yh=new WeakMap;function z8($,z,Y="object"){if(!yh.has(z))yh.set(z,new Map);let W=yh.get(z);if(!W.has($))W.set($,Y==="object"?new mQ($,$):new fH($,$));return W.get($)}function gh($,z,Y){let W=xh($,z,Y);if(W.kind!=="object")throw new D0(`Field ${Y} of model '${$}' is not a relation (${W.kind})`);return W}function xh($,z,Y){let U=zz($,z).fields.find((Q)=>Q.name===Y);if(!U)throw new D0(`Field '${Y}' not found in model '${$}'`);return U}function zz($,z){let Y=hz(z),W=Array.isArray(Y.models)?Y.models.find((U)=>U.name===$):Y.models[$];if(!W)throw new D0(`Model '${$}' not found in DMMF`);if(!W.uniqueIndexes)throw new D0(`Model '${$}' is missing required datamodel information. This is likely because you're using Prisma v7+ without providing the generated datamodel. Please follow the setup instructions at https://pothos-graphql.dev/docs/plugins/prisma#setup to generate and configure the datamodel properly.`);return W}function L3($,z){let Y=`${z.slice(0,1).toLowerCase()}${z.slice(1)}`,W=Y in $?$[Y]:null;if(!W)throw new D0(`Unable to find delegate for model ${z}`);return W}var vw$=B4(()=>new Map);function b3($,z,Y=[]){let W="",U=z;while(U){if(typeof U.key==="string")W=W?`${U.key}.${W}`:U.key;U=U.prev}for(let Q of Y)W=`${W}.${Q}`;return`${$}@${W}`}function yH($,z,Y){let W=vw$($);for(let[U,Q]of Object.entries(Y)){let X=[...Q.indirectPath,U],O=b3(Q.type,z.path,X);W.set(O,Q.mappings)}}function hh($,z,Y){let W=vw$($),U=b3(Y,z,[]);var Q;return(Q=W.get(U))!==null&&Q!==void 0?Q:null}var P1=J6(CY(),1);function vK($,z,Y){if($===z)return!0;if($&&z&&typeof $==="object"&&typeof z==="object"){var W,U;if(Array.isArray($)){if(!Array.isArray(z))return!1;let{length:H}=$;if(z.length!==H)return!1;for(let Z=0;Z<H;Z+=1)if(!vK($[Z],z[Z]))return!1;return!0}let Q=(W=$.valueOf)===null||W===void 0?void 0:W.call($),X=(U=z.valueOf)===null||U===void 0?void 0:U.call(z);if((Q!=null||X!=null)&&typeof Q!=="object")return Q===X;let O=Object.keys($);if(O.length!==Object.keys(z).length)return!1;for(let H of O){if(Y===null||Y===void 0?void 0:Y.has(H))continue;if(!vK($[H],z[H]))return!1}return!0}return!1}function _K($,z,Y=!1){if(typeof z==="boolean")return Y||!z||Object.keys($.query).length===0;let{select:W,include:U,...Q}=z;if(W&&Object.keys(W).some((O)=>X(O,W[O])))return!1;if(U&&Object.keys(U).some((O)=>X(O,U[O])))return!1;return Y||vK($.query,Q);function X(O,G){if(O==="_count"){let H=G&&G.select,Z=H&&Object.keys(H);if(!Z||Z.length===0)return!1;return Z.some((B)=>$.counts.has(B)&&!vK($.counts.get(B),H[B]))}return G&&$.fieldMap.relations.has(O)&&$.relations.has(O)&&!_K($.relations.get(O),G)}}function M3($,z,Y,W){return{parent:W,mode:z,fieldMap:$,query:{},fields:new Set,counts:new Map,relations:new Map,mappings:{},skipDeferredFragments:Y}}function DU($,{select:z,include:Y,...W}){if($.mode==="select"&&!z)$.mode="include";if(Y)for(let Q of Object.keys(Y))U(Q,Y[Q]);if(z)for(let Q of Object.keys(z))U(Q,z[Q]);if(Object.keys(W).length>0)$.query=W;function U(Q,X){if(!X)return;if(Q==="_count"){var O;let Z=(O=X.select)!==null&&O!==void 0?O:{};for(let B of Object.keys(Z))$.counts.set(B,Z[B]);return}let G=X===!0?{include:{}}:X,H=$.fieldMap.relations.get(Q);if(H)if($.relations.has(Q))DU($.relations.get(Q),G);else{let Z=M3(H,"select",$.skipDeferredFragments);DU(Z,G),$.relations.set(Q,Z)}else $.fields.add(Q)}}function DW($){let z={},Y={},W=!1;if($.relations.forEach((U,Q)=>{W=!0;let X=DW(U);z[Q]=Object.keys(X).length>0?X:!0}),$.counts.size>0){W=!0;for(let[U,Q]of $.counts)Y[U]=Q;z._count={select:Y}}if($.mode==="select"){for(let U of $.fields)W=!0,z[U]=!0;return{...$.query,select:z}}return W?{...$.query,include:z}:$.query}var mO=Symbol.for("Pothos.isUsed");function _w$($){let z={},Y=!0;Object.defineProperty(z,mO,{get(){return Y},set(W){Y=W},enumerable:!1});for(let W of Object.keys($))Y=!1,Object.defineProperty(z,W,{enumerable:!0,configurable:!0,get(){return Y=!0,$[W]}});return z}function mh($){return!(mO in $)||$[mO]}function kw$($,z){if(!(mO in $))return{...$,...z};let Y={...z};for(let W of[mO,...Object.keys($)]){if(W in Y)continue;Object.defineProperty(Y,W,{enumerable:W!==mO,configurable:W!==mO,get(){return $[W]}})}return Y}function cO($,z,Y,W,U,Q,X){if(U.name.value.startsWith("__"))return;var O;let{pothosPrismaInclude:G,pothosPrismaSelect:H,pothosIndirectInclude:Z,pothosPrismaModel:B}=(O=$.extensions)!==null&&O!==void 0?O:{};if(!!(Z===null||Z===void 0?void 0:Z.path)&&Z.path.length>0||!!(Z===null||Z===void 0?void 0:Z.paths)&&Z.paths.length===0){var J;dh($,Y,U,[],(J=Z.paths)!==null&&J!==void 0?J:[Z.path],Q,(K,D,w,V)=>{cO(K,z,Y,W,D,w,V)})}else if(Z){cO(Y.schema.getType(Z.getType()),z,Y,W,U,Q,X);return}if(!(P1.isObjectType($)||P1.isInterfaceType($)))return;if(B&&!H)W.mode="include";if(G!==null&&G!==void 0?G:H)DU(W,{select:H?{...H}:void 0,include:G?{...G}:void 0});if(U.selectionSet&&(!X||!W.skipDeferredFragments))ch($,z,Y,W,U.selectionSet,Q)}function dh($,z,Y,W,U,Q,X,O=!1){for(let G of U)if(W.length>0)lO($,z,Y,[...W,...G],Q,X,O);else lO($,z,Y,G,Q,X,O)}function lO($,z,Y,W,U,Q,X=!1,O=$){if(W.length===0){Q($,Y,U,X);return}let[G,...H]=W;if(!Y.selectionSet||!G)return;for(let J of Y.selectionSet.selections)switch(J.kind){case P1.Kind.FIELD:if(O.name===$.name&&!gw$(z,J)&&J.name.value===G.name&&(P1.isObjectType($)||P1.isInterfaceType($))){var Z;let K=P1.getNamedType($.getFields()[J.name.value].type);var B;lO(K,z,J,H,[...U,(B=(Z=J.alias)===null||Z===void 0?void 0:Z.value)!==null&&B!==void 0?B:J.name.value],Q,X)}continue;case P1.Kind.FRAGMENT_SPREAD:lO(z.schema.getType(z.fragments[J.name.value].typeCondition.name.value),z,z.fragments[J.name.value],W,U,Q,X||P3(J,z),G.type?z.schema.getType(G.type):O);continue;case P1.Kind.INLINE_FRAGMENT:if(!J.typeCondition||!G.type||J.typeCondition.name.value===G.type)lO(J.typeCondition?z.schema.getType(J.typeCondition.name.value):$,z,J,W,U,Q,X||P3(J,z),G.type?z.schema.getType(G.type):O);continue;default:throw new V0(`Unsupported selection kind ${Y.kind}`)}}function ch($,z,Y,W,U,Q,X=$){let O=$;for(let Z of U.selections)switch(Z.kind){case P1.Kind.FIELD:if(X.name!==$.name)continue;uw$($,z,Y,W,Z,Q);continue;case P1.Kind.FRAGMENT_SPREAD:var G;if(W.skipDeferredFragments&&P3(Z,Y))continue;O=Y.schema.getType(Y.fragments[Z.name.value].typeCondition.name.value),ch(O,z,Y,W,Y.fragments[Z.name.value].selectionSet,Q,((G=O.extensions)===null||G===void 0?void 0:G.pothosPrismaModel)===$.extensions.pothosPrismaModel?O:X);continue;case P1.Kind.INLINE_FRAGMENT:var H;if(W.skipDeferredFragments&&P3(Z,Y))continue;O=Z.typeCondition?Y.schema.getType(Z.typeCondition.name.value):$,ch(O,z,Y,W,Z.selectionSet,Q,((H=O.extensions)===null||H===void 0?void 0:H.pothosPrismaModel)===$.extensions.pothosPrismaModel?O:X);continue;default:throw new V0(`Unsupported selection kind ${Z.kind}`)}}function uw$($,z,Y,W,U,Q){var X;if(U.name.value.startsWith("__")||gw$(Y,U))return;let O=$.getFields()[U.name.value];if(!O)throw new V0(`Unknown field ${U.name.value} on ${$.name}`);let G=(X=O.extensions)===null||X===void 0?void 0:X.pothosPrismaSelect,H,Z={};if(typeof G==="function"){let K=Z3(O,U,z,Y);H=G(K,z,(D,w,V)=>{let I=P1.getNamedType(O.type),j=typeof D==="function"?D(K,z):D,A=Array.isArray(w)?XC0(w,lh(I,Y),V?P1.getNamedType(Y.schema.getType(V)):void 0):w,b=kK(lh(A?Y.schema.getType(A.getType()):I,Y),Y,W.skipDeferredFragments,W);if(typeof j==="object"&&Object.keys(j).length>0)DU(b,{select:{},...j});if(!!(A===null||A===void 0?void 0:A.path)&&A.path.length>0||!!(A===null||A===void 0?void 0:A.paths)&&A.paths.length>0){var F,S,v,d;dh(I,Y,U,(v=(S=I.extensions)===null||S===void 0?void 0:(F=S.pothosIndirectInclude)===null||F===void 0?void 0:F.path)!==null&&v!==void 0?v:[],(d=A===null||A===void 0?void 0:A.paths)!==null&&d!==void 0?d:(A===null||A===void 0?void 0:A.path)?[A.path]:[],[],(T,l,_,o)=>{cO(T,z,Y,b,l,_,o)})}else if(A){let T=Y.schema.getType(A.getType());if(T!==I)cO(T,z,Y,b,U,[])}return cO(I,z,Y,b,U,[]),Z=b.mappings,DW(b)},(D)=>{if(D.length===0)return U;let w=P1.getNamedType(O.type),V=null;return lO(w,Y,U,D.map((I)=>({name:I})),[],(I,j)=>{V=j}),V})}else H={select:G};if(G&&_K(W,H,!0)){var B;DU(W,H);var J;W.mappings=fw$(W.mappings,{[(J=(B=U.alias)===null||B===void 0?void 0:B.value)!==null&&J!==void 0?J:U.name.value]:{field:U.name.value,type:$.name,mappings:Z,indirectPath:Q}})}}function fw$($,z){let Y={...$};for(let[W,U]of Object.entries(z))if(Y[W])Y[W]={...Y[W],mappings:fw$(Y[W].mappings,U.mappings)};else Y[W]=U;return Y}function cQ({context:$,info:z,typeName:Y,select:W,include:U,path:Q=[],paths:X=[],withUsageCheck:O=!1,skipDeferredFragments:G=!0}){let H=P1.getNamedType(z.returnType),Z=Y?z.schema.getTypeMap()[Y]:H,B,J=W?{select:W}:U?{include:U}:void 0;if(Q.length>0||X.length>0){var K;let{pothosIndirectInclude:V}=(K=H.extensions)!==null&&K!==void 0?K:{};var D;lO(H,z,z.fieldNodes[0],(D=V===null||V===void 0?void 0:V.path)!==null&&D!==void 0?D:[],[],(I,j,A,b)=>{dh(I,z,j,[],X.length>0?X.map((F)=>F.map((S)=>typeof S==="string"?{name:S}:S)):[Q.map((F)=>typeof F==="string"?{name:F}:F)],A,(F,S,v,d)=>{B=kK(Y?Z:F,z,G,void 0,J),cO(Y?Z:F,$,z,B,S,v,d)},b)})}else B=kK(Z,z,G,void 0,J),cO(Z,$,z,B,z.fieldNodes[0],[]);if(!B)B=kK(Z,z,G,void 0,J);yH($,z,B.mappings);let w=DW(B);return O?_w$(w):w}function yw$($,z,Y,W){let U=W?z.schema.getTypeMap()[W]:z.parentType,Q=kK(U,z,Y);if(!(P1.isObjectType(U)||P1.isInterfaceType(U)))throw new V0("Prisma plugin can only resolve includes for object and interface types");return uw$(U,$,z,Q,z.fieldNodes[0],[]),Q}function kK($,z,Y,W,U){var Q,X;let O=lh($,z),G=(Q=O.extensions)===null||Q===void 0?void 0:Q.pothosPrismaFieldMap,H=M3(G,((X=O.extensions)===null||X===void 0?void 0:X.pothosPrismaSelect)?"select":"include",Y,W);if(U)DU(H,U);return H}function lh($,z){var Y;let W=$;while((Y=W.extensions)===null||Y===void 0?void 0:Y.pothosIndirectInclude)W=z.schema.getType(W.extensions.pothosIndirectInclude.getType());return W}function XC0($,z,Y){let W=$.length>0?z:Y!==null&&Y!==void 0?Y:z,U=[];if(!(P1.isObjectType(W)||P1.isInterfaceType(W)))throw new V0(`Expected ${W} to be an Object type`);for(let Q of $){let X=W.getFields()[Q];if(!X)throw new V0(`Expected ${W} to have a field ${Q}`);if(W=P1.getNamedType(X.type),!(P1.isObjectType(W)||P1.isInterfaceType(W)))throw new V0(`Expected ${W} to be an Object or Interface type`);U.push({name:Q,type:W.name})}return{getType:()=>{var Q;return(Q=Y===null||Y===void 0?void 0:Y.name)!==null&&Q!==void 0?Q:U.length>0?U[U.length-1].type:z.name},path:U}}function gw$($,z){let Y=P1.getDirectiveValues(P1.GraphQLSkipDirective,z,$.variableValues);if((Y===null||Y===void 0?void 0:Y.if)===!0)return!0;let W=P1.getDirectiveValues(P1.GraphQLIncludeDirective,z,$.variableValues);if((W===null||W===void 0?void 0:W.if)===!1)return!0;return!1}function P3($,z){let Y=z.schema.getDirective("defer");if(!Y)return!1;let W=P1.getDirectiveValues(Y,$,z.variableValues);return!!W&&W.if!==!1}function dO($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class m4{static forRef($,z,Y,W){return B4((U)=>new m4(U,W,z,Y===null?()=>{throw new D0(`Missing findUnique for ${$.name}`)}:Y!==null&&Y!==void 0?Y:m4.getDefaultFindUnique($,z,W)))}static getFindUnique($){if(typeof $==="string")return(W)=>({[$]:W[$]});let{fields:z,name:Y}=$;return(W)=>{let U={};for(let Q of z)U[Q]=W[Q];return{[Y!==null&&Y!==void 0?Y:z.join("_")]:U}}}static getDefaultFindBy($,z,Y){let W=zz(z,Y),U=W.fields.find((G)=>G.isId),Q=W.fields.find((G)=>G.isRequired&&G.isUnique),X=W.uniqueIndexes.find((G)=>G.fields.every((H)=>{var Z;return(Z=W.fields.find((B)=>B.name===H))===null||Z===void 0?void 0:Z.isRequired})),O;if(W.primaryKey)O=W.primaryKey;else if(U)O=U.name;else if(Q)O=Q.name;else if(X)O=X;if(!O)throw new D0(`Missing findUnique for ${$.name}`);return O}static getDefaultFindUnique($,z,Y){let W=m4.getDefaultFindBy($,z,Y);return m4.getFindUnique(W)}static getDefaultIDSelection($,z,Y){let W=m4.getDefaultFindBy($,z,Y);if(typeof W==="string")return{[W]:!0};let U={};for(let Q of W.fields)U[Q]=!0;return U}static getCursorSelection($,z,Y,W){let U=zz(z,W),Q=U.fields.find((G)=>G.name===Y);if(Q)return{[Q.name]:!0};let X=[U.primaryKey,...U.uniqueIndexes].filter(Boolean).find((G)=>{var H;return((H=G.name)!==null&&H!==void 0?H:G.fields.join("_"))===Y});if(!X)throw new D0(`Can't find "${Y}" field or index for ${$.name}`);let O={};for(let G of X.fields)O[G]=!0;return O}static getFindUniqueForField($,z,Y,W){var U,Q;let X=zz(z,W),O=X.uniqueIndexes.find((Z)=>{var B;return((B=Z.name)!==null&&B!==void 0?B:Z.fields.join("_"))===Y}),G;var H;if(X.fields.some((Z)=>Z.name===Y))G=Y;else if(X.primaryKey&&((H=(U=X.primaryKey)===null||U===void 0?void 0:U.name)!==null&&H!==void 0?H:(Q=X.primaryKey)===null||Q===void 0?void 0:Q.fields.join("_"))===Y)G=X.primaryKey;else if(O)G=O;if(!G)throw new D0(`Unable to find field or index for ${Y} of ${$.name}`);return m4.getFindUnique(G)}getSelection($){let z=b3($.parentType.name,$.path);if(!this.queryCache.has(z)){var Y;let W=yw$(this.context,$,(Y=this.builder.options.prisma.skipDeferredFragments)!==null&&Y!==void 0?Y:!0);this.queryCache.set(z,{selection:W,query:DW(W)})}return this.queryCache.get(z)}async loadSelection($,z){let{selection:Y,query:W}=this.getSelection($),U=await this.stageQuery(Y,W,z);if(U){let Q=Y.mappings[$.path.key];if(Q)yH(this.context,$,Q.mappings)}return U}async stageQuery($,z,Y){for(let W of this.staged)if(_K(W.state,z)){if(DU(W.state,z),!W.models.has(Y))W.models.set(Y,ih());return await W.models.get(Y).promise}return this.initLoad($,Y)}initLoad($,z){let Y=L3(F3(this.builder,this.context),this.modelName),W=new Map,U=ih();W.set(z,U);let Q={models:W,state:$};this.staged.add(Q);let X=ih();return this.tick.then(()=>{this.staged.delete(Q);for(let[O,{resolve:G,reject:H}]of Q.models)if(Y.findUniqueOrThrow)Y.findUniqueOrThrow({...DW($),where:{...this.findUnique(O,this.context)}}).then(G,H);else Y.findUnique({rejectOnNotFound:!0,...DW($),where:{...this.findUnique(O,this.context)}}).then(G,H)}),setTimeout(()=>X.resolve(),0),this.tick=X.promise,U.promise}constructor($,z,Y,W){dO(this,"context",void 0),dO(this,"builder",void 0),dO(this,"findUnique",void 0),dO(this,"modelName",void 0),dO(this,"queryCache",new Map),dO(this,"staged",new Set),dO(this,"tick",Promise.resolve()),this.context=$,this.builder=z,this.findUnique=W,this.modelName=Y}}function ih(){let $,z;return{promise:new Promise((W,U)=>{$=W,z=U}),resolve:$,reject:z}}class N3 extends mQ{}var L9=J6(CY(),1);var OC0=100,GC0=20;function HC0($){if($ instanceof Date)return`D:${String(Number($))}`;switch(typeof $){case"number":return`N:${$}`;case"string":return`S:${$}`;case"bigint":return`I:${$}`;default:throw new V0(`Unsupported cursor type ${typeof $}`)}}function xw$($){return(z)=>{if(typeof $==="string")return EH(`GPC:${HC0(z[$])}`);return EH(`GPC:J:${JSON.stringify($.map((Y)=>z[Y]))}`)}}function rh($){if(typeof $!=="string")throw new V0("Cursor must be a string");try{let z=IK($),[,Y,W]=z.match(/^GPC:(\w):(.*)/);switch(Y){case"S":return W;case"N":return Number.parseInt(W,10);case"D":return new Date(Number.parseInt(W,10));case"J":return JSON.parse(W);case"I":return BigInt(W);default:throw new V0(`Invalid cursor type ${Y}`)}}catch{throw new V0(`Invalid cursor: ${$}`)}}function hw$($,z){if(!$)return $;switch(z){case"String":return $;case"Int":return Number.parseInt($,10);case"BigInt":return BigInt($);case"Boolean":return $!=="false";case"Float":case"Decimal":return Number.parseFloat($);case"DateTime":return new Date($);case"Json":return JSON.parse($);case"Byte":return Buffer.from($,"base64");default:return $}}function cw$($,z,Y){var W,U;let Q=zz($,Y),X=Q.fields.find((H)=>H.name===z);if(X)return(H)=>nh(H[z],X.type);var O;if(((O=(W=Q.primaryKey)===null||W===void 0?void 0:W.name)!==null&&O!==void 0?O:(U=Q.primaryKey)===null||U===void 0?void 0:U.fields.join("_"))===z){let H=Q.primaryKey.fields.map((Z)=>Q.fields.find((B)=>B.name===Z));return(Z)=>JSON.stringify(H.map((B)=>nh(Z[B.name],B.kind)))}let G=Q.uniqueIndexes.find((H)=>{var Z;return((Z=H.name)!==null&&Z!==void 0?Z:H.fields.join("_"))===z});if(G){let H=G.fields.map((Z)=>Q.fields.find((B)=>B.name===Z));return(Z)=>JSON.stringify(H.map((B)=>nh(Z[B.name],B.kind)))}throw new V0(`Unable to find ${z} for model ${$}`)}function lw$($,z,Y){var W,U;if(!z)throw new V0("Missing field name");let Q=zz($,Y),X=Q.fields.find((Z)=>Z.name===z);if(X)return(Z)=>hw$(Z,X.type);let O=Q.uniqueIndexes.find((Z)=>{var B;return((B=Z.name)!==null&&B!==void 0?B:Z.fields.join("_"))===z}),G;var H;if(((H=(W=Q.primaryKey)===null||W===void 0?void 0:W.name)!==null&&H!==void 0?H:(U=Q.primaryKey)===null||U===void 0?void 0:U.fields.join("_"))===z)G=Q.primaryKey.fields.map((Z)=>Q.fields.find((B)=>B.name===Z));else if(O)G=O.fields.map((Z)=>Q.fields.find((B)=>B.name===Z));if(!G)throw new V0(`Unable to find ${z} for model ${$}`);return(Z)=>{let B=JSON.parse(Z);if(!Array.isArray(B))throw new V0(`Invalid id received for ${z} of ${$}`);let J={};for(let K=0;K<G.length;K+=1)J[G[K].name]=hw$(B[K],G[K].type);return J}}function nh($,z){switch(z){case"Json":return JSON.stringify($);case"Byte":if($ instanceof Uint8Array)return Buffer.from($).toString("base64");return $.toString("base64");default:return String($)}}function mw$($){return(z)=>{let Y=rh(z);if(!Array.isArray(Y))throw new V0(`Expected compound cursor to contain an array, but got ${Y}`);let W={};return $.forEach((U,Q)=>{W[U]=Y[Q]}),W}}function E3({args:$,ctx:z,maxSize:Y=OC0,defaultSize:W=GC0,parseCursor:U}){let{before:Q,after:X,first:O,last:G}=$;if(O!=null&&O<0)throw new V0('Argument "first" must be a non-negative integer');if(G!=null&&G<0)throw new V0('Argument "last" must be a non-negative integer');if(Q&&X)throw new V0('Arguments "before" and "after" are not supported at the same time');if(Q!=null&&O!=null)throw new V0('Arguments "before" and "first" are not supported at the same time');if(X!=null&&G!=null)throw new V0('Arguments "after" and "last" are not supported at the same time');let H=Q!==null&&Q!==void 0?Q:X,Z=typeof Y==="function"?Y($,z):Y,B=typeof W==="function"?W($,z):W;var J;let K=Math.min((J=O!==null&&O!==void 0?O:G)!==null&&J!==void 0?J:B,Z)+1;if(Q!==null&&Q!==void 0?Q:G)K=-K;return H==null?{take:K,skip:0}:{cursor:U(H),take:K,skip:1}}function uK($,z,Y,W,U,Q,X){var O,G;let H=z.length===Math.abs(W),Z=Y.before?!0:Y.last?!1:H;var B;let J=Y.after?!0:((B=Y.before)!==null&&B!==void 0?B:Y.last)?H:!1,K=H?z.slice(W<0?1:0,W<0?z.length:-1):z,D={parent:$,args:Y,totalCount:Q,edges:[],pageInfo:{startCursor:null,endCursor:null,hasPreviousPage:J,hasNextPage:Z}},w=K.map((j)=>j==null?null:X?{connection:D,...j,cursor:U(j),node:X(j)}:{connection:D,cursor:U(j),node:j});D.edges=w;var V;D.pageInfo.startCursor=(V=(O=w[0])===null||O===void 0?void 0:O.cursor)!==null&&V!==void 0?V:null;var I;return D.pageInfo.endCursor=(I=(G=w[w.length-1])===null||G===void 0?void 0:G.cursor)!==null&&I!==void 0?I:null,D}async function dw$($,z,Y){let W=E3($),U=await Y(kw$($.query,W));if(!U)return U;return uK($.parent,U,$.args,W.take,z,$.totalCount)}function fK($,z,Y){var W,U;let Q=zz($,z);var X;if(((X=(W=Q.primaryKey)===null||W===void 0?void 0:W.name)!==null&&X!==void 0?X:(U=Q.primaryKey)===null||U===void 0?void 0:U.fields.join("_"))===Y)return xw$(Q.primaryKey.fields);let G=Q.uniqueIndexes.find((Z)=>{var B;return((B=Z.name)!==null&&B!==void 0?B:Z.fields.join("_"))===Y});var H;return xw$((H=G===null||G===void 0?void 0:G.fields)!==null&&H!==void 0?H:Y)}function yK($,z,Y){var W,U;let Q=zz($,z);var X;let O=(X=(W=Q.primaryKey)===null||W===void 0?void 0:W.name)!==null&&X!==void 0?X:(U=Q.primaryKey)===null||U===void 0?void 0:U.fields.join("_"),G=rh;if(O===Y)G=mw$(Q.primaryKey.fields);else{let H=Q.uniqueIndexes.find((Z)=>{var B;return((B=Z.name)!==null&&B!==void 0?B:Z.fields.join("_"))===Y});if(H)G=mw$(H.fields)}return(H)=>({[Y]:G(H)})}function R3($,z,Y,W){let{exposeDescriptions:U}=z.options.prisma;return(U===!0||typeof U==="object"&&(U===null||U===void 0?void 0:U.fields)===!0?W!==null&&W!==void 0?W:xh($,z,Y).documentation:W)||void 0}function ph($,z,Y){let{exposeDescriptions:W}=z.options.prisma;return(W===!0||typeof W==="object"&&(W===null||W===void 0?void 0:W.models)===!0?Y!==null&&Y!==void 0?Y:zz($,z).documentation:Y)||void 0}function r8($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var qC0=hQ;class wU extends qC0{relation($,...z){let[{description:Y,...W}={}]=z,U=gh(this.model,this.builder,$);var Q;let X=(Q=W.type)!==null&&Q!==void 0?Q:z8(U.type,this.builder),{query:O={},resolve:G,extensions:H,onNull:Z,...B}=W,J=(K,D,w)=>({select:{[$]:w(O)}});return this.field({...B,type:U.isList?[X]:X,description:R3(this.model,this.builder,$,Y),extensions:{...H,pothosPrismaSelect:J,pothosPrismaLoaded:(K)=>K[$]!==void 0,pothosPrismaFallback:G&&((K,D,w,V,I)=>G({...K,...typeof O==="function"?O(w,V):O},D,w,V,I))},resolve:(K)=>{let D=K[$];if(typeof Z==="function"&&D==null)return Z(K,{},{},{});return D}})}relationCount($,...z){let[{where:Y,...W}={}]=z,U=typeof Y==="function"?(Q,X)=>({_count:{select:{[$]:{where:Y(Q,X)}}}}):{_count:{select:{[$]:Y?{where:Y}:!0}}};return this.field({...W,type:"Int",nullable:!1,select:U,resolve:(Q,X,O,G)=>{var H;return(H=Q._count)===null||H===void 0?void 0:H[$]}})}variant($,...z){let[{isNull:Y,nullable:W,...U}={}]=z,Q=typeof $==="string"?z8($,this.builder):$,X=(O,G,H)=>H({});return this.field({...U,type:Q,extensions:{...U===null||U===void 0?void 0:U.extensions,pothosPrismaSelect:X},nullable:W!==null&&W!==void 0?W:!!Y,resolve:Y?(O,G,H,Z)=>{let B=Y(O,G,H,Z);if(B){if(b8(B))return B.then((J)=>J?null:O);return null}return O}:(O)=>O})}expose($,...z){var Y;let[W={}]=z,Q=!!((Y=this.builder.configStore.getTypeConfig(this.typename).extensions)===null||Y===void 0?void 0:Y.pothosPrismaSelect);return this.exposeField($,{...W,description:R3(this.model,this.builder,$,W.description),extensions:{...W.extensions,pothosPrismaVariant:$,pothosPrismaSelect:Q&&{[$]:!0}}})}createExpose($){return(z,...Y)=>{let[W={}]=Y;return this.expose(z,{...W,type:$})}}constructor($,z,Y,W,U="Object"){super(z,"PrismaObject",U),r8(this,"model",void 0),r8(this,"prismaFieldMap",void 0),r8(this,"exposeBoolean",this.createExpose("Boolean")),r8(this,"exposeFloat",this.createExpose("Float")),r8(this,"exposeInt",this.createExpose("Int")),r8(this,"exposeID",this.createExpose("ID")),r8(this,"exposeString",this.createExpose("String")),r8(this,"exposeBooleanList",this.createExpose(["Boolean"])),r8(this,"exposeFloatList",this.createExpose(["Float"])),r8(this,"exposeIntList",this.createExpose(["Int"])),r8(this,"exposeIDList",this.createExpose(["ID"])),r8(this,"exposeStringList",this.createExpose(["String"])),r8(this,"withAuth",BC0),r8(this,"relatedConnection",function(X,{maxSize:O=this.builder.options.prisma.maxConnectionSize,defaultSize:G=this.builder.options.prisma.defaultConnectionSize,cursor:H,query:Z,resolve:B,extensions:J,totalCount:K,description:D,...w},V={},I={}){let j=gh(this.model,this.builder,X);var A;let b=(A=w.type)!==null&&A!==void 0?A:z8(j.type,this.builder),F,S=fK(j.type,this.builder,H),v=yK(j.type,this.builder,H),d=(o,a)=>{let R=E3({parseCursor:v,ctx:a,maxSize:O,defaultSize:G,args:o});var t;let{take:q$=R.take,skip:n=R.skip,cursor:X$=R.cursor,...D$}=(t=typeof Z==="function"?Z(o,a):Z)!==null&&t!==void 0?t:{};return{...D$,...R,take:q$,skip:n,...X$?{cursor:X$}:{}}},T=m4.getCursorSelection(b,j.type,H,this.builder),l=(o,a,R,t)=>{var q$;F!==null&&F!==void 0||(F=this.builder.configStore.getTypeConfig(b).name);let n=R(d(o,a),{getType:()=>F,paths:[[{name:"nodes"}],[{name:"edges"},{name:"node"}]]}),X$=t([]),D$=K&&!!t(["totalCount"]),x=(q$=X$.selectionSet)===null||q$===void 0?void 0:q$.selections.filter((f)=>!(f.kind===L9.Kind.FIELD&&f.name.value==="__typename")),z$=(x===null||x===void 0?void 0:x.length)===1&&x[0].kind===L9.Kind.FIELD&&x[0].name.value==="totalCount"&&D$,h=this.builder.options.prisma.filterConnectionTotalCount!==!1?n.where?{where:n.where}:!0:!0;return{select:{...D$?{_count:{select:{[X]:h}}}:{},[X]:z$?void 0:(n===null||n===void 0?void 0:n.select)?{...n,select:{...T,...n.select}}:n}}};return this.connection({...w,description:R3(this.model,this.builder,X,D),extensions:{...J,pothosPrismaSelect:l,pothosPrismaLoaded:(o,a)=>{let R=L9.getNamedType(a.returnType),t=L9.isObjectType(R)||L9.isInterfaceType(R)?R.getFields():{};return a.fieldNodes.every((X$)=>{var D$;return(D$=X$.selectionSet)===null||D$===void 0?void 0:D$.selections.every((x)=>{var z$,h;return x.kind===L9.Kind.FIELD&&(((h=t[x.name.value])===null||h===void 0?void 0:(z$=h.extensions)===null||z$===void 0?void 0:z$.pothosPrismaTotalCount)||x.name.value==="__typename")})})||o[X]!==void 0},pothosPrismaFallback:B&&((o,a,R,t,q$)=>Promise.resolve(B({...o,...d(R,t)},a,R,t,q$)).then((n)=>uK(a,n,R,o.take,S)))},type:b,resolve:(o,a,R,t)=>{var q$;let n=L9.getNamedType(t.returnType),X$=L9.isObjectType(n)||L9.isInterfaceType(n)?n.getFields():{},D$=t.fieldNodes.every((h)=>{var f;return(f=h.selectionSet)===null||f===void 0?void 0:f.selections.every((C)=>{var W$,Y$;return C.kind===L9.Kind.FIELD&&(((Y$=X$[C.name.value])===null||Y$===void 0?void 0:(W$=Y$.extensions)===null||W$===void 0?void 0:W$.pothosPrismaTotalCount)||C.name.value==="__typename")})}),x=d(a,R);var z$;return uK(o,D$?[]:(z$=o[X])!==null&&z$!==void 0?z$:[],a,x.take,S,(q$=o._count)===null||q$===void 0?void 0:q$[X])}},V instanceof $8?V:{...V,fields:K?(o)=>{var a;return{totalCount:o.int({nullable:!1,extensions:{pothosPrismaTotalCount:!0},resolve:(R,t,q$)=>R.totalCount}),...(a=V.fields)===null||a===void 0?void 0:a.call(V,o)}}:V.fields},I)}),r8(this,"typename",void 0),this.model=Y,this.prismaFieldMap=W,this.typename=$,this.builder=z}}function ZC0($,z){let Y=z.createField;return z.createField=function(U){return Y.call(this,{authScopes:$,...U})},z}function BC0($){return ZC0($,new wU(this.typename,this.builder,this.model,this.prismaFieldMap))}var VU=B4(($)=>JC0($));function JC0({models:$}){let z=new Map;if(Array.isArray($)){for(let Y of $)z.set(Y.name,{model:Y.name,relations:new Map});for(let Y of $){let W=z.get(Y.name).relations;for(let U of Y.fields)if(U.kind==="object"&&z.has(U.type))W.set(U.name,z.get(U.type))}}else{for(let Y of Object.keys($))z.set(Y,{model:Y,relations:new Map});for(let[Y,W]of Object.entries($)){let U=z.get(Y).relations;for(let Q of W.fields)if(Q.kind==="object"&&z.has(Q.type))U.set(Q.name,z.get(Q.type))}}return z}var iO=M8.prototype;iO.prismaObject=function(z,{fields:Y,findUnique:W,select:U,include:Q,description:X,...O}){let G=O.variant?new mQ(O.variant,z):z8(z,this);var H,Z;let B=(Z=(H=O.variant)!==null&&H!==void 0?H:O.name)!==null&&Z!==void 0?Z:z,J=VU(hz(this)).get(z),K=m4.getDefaultIDSelection(G,z,this);return G.name=B,this.objectType(G,{...O,description:ph(z,this,X),extensions:{...O.extensions,pothosPrismaInclude:Q,pothosPrismaModel:z,pothosPrismaFieldMap:J,pothosPrismaSelect:U&&{...K,...U},pothosPrismaLoader:m4.forRef(G,z,W,this)},name:B,fields:Y?()=>Y(new wU(G.name,this,z,VU(hz(this)).get(z))):void 0}),G};iO.prismaInterface=function(z,{fields:Y,findUnique:W,select:U,include:Q,description:X,...O}){let G=O.variant?new fH(O.variant,z):z8(z,this,"interface");var H,Z;let B=(Z=(H=O.variant)!==null&&H!==void 0?H:O.name)!==null&&Z!==void 0?Z:z,J=VU(hz(this)).get(z),K=m4.getDefaultIDSelection(G,z,this);return G.name=B,this.interfaceType(G,{...O,description:ph(z,this,X),extensions:{...O.extensions,pothosPrismaInclude:Q,pothosPrismaModel:z,pothosPrismaFieldMap:J,pothosPrismaSelect:U&&{...K,...U},pothosPrismaLoader:m4.forRef(G,z,W,this)},name:B,fields:Y?()=>Y(new wU(B,this,z,VU(hz(this)).get(z),"Interface")):void 0}),G};iO.prismaNode=function(z,{id:{field:Y,resolve:W,...U},findUnique:Q,name:X,variant:O,nullable:G,...H}){let Z=Y,B=W!==null&&W!==void 0?W:cw$(z,Z,this),J=Z?lw$(z,Z,this):void 0;var K;let D=(K=O!==null&&O!==void 0?O:X)!==null&&K!==void 0?K:z,w=new N3(D,z),V=Q?(A,b)=>Q(B(A,b),b):m4.getFindUniqueForField(w,z,Z,this),I={...H,name:X,variant:O,findUnique:V},j=this.prismaObject(z,I);return this.nodeRef(j,{id:{...U,resolve:(A,b,F)=>B(A,F)},loadWithoutCache:async(A,b,F)=>{let S=cQ({context:b,info:F,typeName:D}),v=L3(F3(this,b),z),d=await(v.findUniqueOrThrow&&!G?v.findUniqueOrThrow({...S,where:Q?Q(A,b):{[Z]:J(A)}}):v.findUnique({...S,...G?{}:{rejectOnNotFound:!0},where:Q?Q(A,b):{[Z]:J(A)}}));return _O(d,D),d}}),this.configStore.associateParamWithRef(w,j),w};iO.prismaObjectField=function(z,Y,W){let U=typeof z==="string"?z8(z,this):z;this.configStore.onTypeConfig(U,({name:Q})=>{this.configStore.addFields(U,()=>({[Y]:W(new wU(Q,this,U.modelName,VU(hz(this)).get(U.modelName)))}))})};iO.prismaInterfaceField=function(z,Y,W){let U=typeof z==="string"?z8(z,this):z;this.configStore.onTypeConfig(U,({name:Q})=>{this.configStore.addFields(U,()=>({[Y]:W(new wU(Q,this,U.modelName,VU(hz(this)).get(U.modelName),"Interface"))}))})};iO.prismaObjectFields=function(z,Y){let W=typeof z==="string"?z8(z,this):z;this.configStore.onTypeConfig(W,({name:U})=>{this.configStore.addFields(W,()=>Y(new wU(U,this,W.modelName,VU(hz(this)).get(W.modelName))))})};iO.prismaInterfaceFields=function(z,Y){let W=typeof z==="string"?z8(z,this):z;this.configStore.onTypeConfig(W,({name:U})=>{this.configStore.addFields(W,()=>Y(new wU(U,this,W.modelName,VU(hz(this)).get(W.modelName),"Interface")))})};var lQ=J6(CY(),1);var oh,th,ah=hQ.prototype;ah.prismaField=function({type:z,resolve:Y,...W}){let U=Array.isArray(z)?z[0]:z,Q=typeof U==="string"?z8(U,this.builder):U,X=Array.isArray(z)?[Q]:Q;return this.field({...W,type:X,resolve:(O,G,H,Z)=>{var B,J;let K=cQ({context:H,info:Z,withUsageCheck:!!((B=this.builder.options.prisma)===null||B===void 0?void 0:B.onUnusedQuery),skipDeferredFragments:(J=this.builder.options.prisma)===null||J===void 0?void 0:J.skipDeferredFragments});return sh(this.builder,K,Z,Y(K,O,G,H,Z))}})};ah.prismaFieldWithInput=function({type:z,resolve:Y,...W}){let U=Array.isArray(z)?z[0]:z,Q=typeof U==="string"?z8(U,this.builder):U,X=Array.isArray(z)?[Q]:Q;return this.fieldWithInput({...W,type:X,resolve:(O,G,H,Z)=>{var B,J;let K=cQ({context:H,info:Z,withUsageCheck:!!((B=this.builder.options.prisma)===null||B===void 0?void 0:B.onUnusedQuery),skipDeferredFragments:(J=this.builder.options.prisma)===null||J===void 0?void 0:J.skipDeferredFragments});return sh(this.builder,K,Z,Y(K,O,G,H,Z))}})};ah.prismaConnection=function({type:z,cursor:Y,maxSize:W=(oh=this.builder.options.prisma)===null||oh===void 0?void 0:oh.maxConnectionSize,defaultSize:U=(th=this.builder.options.prisma)===null||th===void 0?void 0:th.defaultConnectionSize,resolve:Q,totalCount:X,...O},G={},H={}){var Z;let B=typeof z==="string"?z8(z,this.builder):z,J=this.builder.configStore.getTypeConfig(B).name,K=(Z=this.builder.configStore.getTypeConfig(B).extensions)===null||Z===void 0?void 0:Z.pothosPrismaModel,D=fK(K,this.builder,Y),w=yK(K,this.builder,Y),V=m4.getCursorSelection(B,K,Y,this.builder);return this.connection({...O,type:B,resolve:(j,A,b,F)=>{var S,v;let d=cQ({context:b,info:F,select:V,paths:[["nodes"],["edges","node"]],typeName:J,withUsageCheck:!!((S=this.builder.options.prisma)===null||S===void 0?void 0:S.onUnusedQuery),skipDeferredFragments:(v=this.builder.options.prisma)===null||v===void 0?void 0:v.skipDeferredFragments}),T=lQ.getNamedType(F.returnType),l=lQ.isObjectType(T)||lQ.isInterfaceType(T)?T.getFields():{},o=F.fieldNodes.every((a)=>{var R;return(R=a.selectionSet)===null||R===void 0?void 0:R.selections.every((t)=>{var q$,n;return t.kind===lQ.Kind.FIELD&&(((n=l[t.name.value])===null||n===void 0?void 0:(q$=n.extensions)===null||q$===void 0?void 0:q$.pothosPrismaTotalCount)||t.name.value==="__typename")})});return dw$({parent:j,query:d,ctx:b,parseCursor:w,maxSize:W,defaultSize:U,args:A,totalCount:X&&(()=>X(j,A,b,F))},D,(a)=>{if(o)return[];return sh(this.builder,d,F,Q(a,j,A,b,F))})}},G instanceof $8?G:{...G,fields:X?(j)=>{var A;return{totalCount:j.int({nullable:!1,extensions:{pothosPrismaTotalCount:!0},resolve:(b)=>{var F;return(F=b.totalCount)===null||F===void 0?void 0:F.call(b)}}),...(A=G.fields)===null||A===void 0?void 0:A.call(G,j)}}:G.fields,extensions:{...G===null||G===void 0?void 0:G.extensions}},H)};function sh($,z,Y,W){let{onUnusedQuery:U}=$.options.prisma||{};if(!U)return W;if(b8(W))return W.then((X)=>{if(!mh(z))Q();return X});if(!mh(z))Q();return W;function Q(){if(typeof U==="function"){U(Y);return}let X=`Prisma query was unused in resolver for ${Y.parentType.name}.${Y.fieldName}`;if(U==="error")throw new TY(X);if(U==="warn")console.warn(X)}}var iw$="prisma";class nw$ extends e9{onTypeConfig($){var z;if($.kind!=="Object"&&$.kind!=="Interface")return $;let Y=(z=$.extensions)===null||z===void 0?void 0:z.pothosPrismaModel;for(let U of $.interfaces){var W;let Q=(W=this.buildCache.getTypeConfig(U,"Interface").extensions)===null||W===void 0?void 0:W.pothosPrismaModel;if(Q){if(Y&&Y!==Q)throw new D0(`PrismaObjects must be based on the same prisma model as any PrismaInterfaces they extend. ${$.name} uses ${Y} and ${U.name} uses ${Q}`);Y=Q}}return{...$,extensions:{...$.extensions,pothosPrismaModel:Y}}}onOutputFieldConfig($){if($.kind==="PrismaObject"&&$.pothosOptions.select){let{select:z}=$.pothosOptions;return{...$,extensions:{...$.extensions,pothosPrismaSelect:typeof z==="function"?(Y,W,U)=>({select:z(Y,W,U)}):z}}}return $}wrapResolve($,z){var Y,W,U,Q;if(z.kind!=="PrismaObject"||!((Y=z.extensions)===null||Y===void 0?void 0:Y.pothosPrismaSelect))return $;let X=this.buildCache.getTypeConfig(z.parentType),O=(W=z.extensions)===null||W===void 0?void 0:W.pothosPrismaLoaded,G=(U=X.extensions)===null||U===void 0?void 0:U.pothosPrismaLoader,H=(Q=z.extensions)===null||Q===void 0?void 0:Q.pothosPrismaFallback,Z=new Set([z.parentType]);if(X.kind==="Interface"||X.kind==="Object")for(let J of X.interfaces){var B;let K=this.buildCache.getTypeConfig(J,"Interface");if((B=K.extensions)===null||B===void 0?void 0:B.pothosPrismaModel)Z.add(K.name)}return(J,K,D,w)=>{let V=hh(D,w.path,w.parentType.name);if(!V){for(let I of Z)if(V=hh(D,w.path,I),V)break}if((!O||O(J,w))&&V)return yH(D,w,V),$(J,K,D,w);if(H)return H(cQ({context:D,info:w,skipDeferredFragments:this.builder.options.prisma.skipDeferredFragments}),J,K,D,w);return G(D).loadSelection(w,J).then((I)=>$(I,K,D,w))}}constructor($){super($,iw$)}}M8.registerPlugin(iw$,nw$,{v3:($)=>{var z,Y;return{prisma:{...$.prisma,filterConnectionTotalCount:(Y=(z=$.prisma)===null||z===void 0?void 0:z.filterConnectionTotalCount)!==null&&Y!==void 0?Y:!1}}}});var P8=J6(CY(),1);var S3=1,C3=10;function pw$($){if($ instanceof P8.GraphQLList)return!0;if($ instanceof P8.GraphQLNonNull)return pw$($.ofType);return!1}function KC0($,z,Y,W){let U=1,Q=1,X=Y.name.value,O=(P8.isObjectType(W)||P8.isInterfaceType(W))&&W.getFields()[X],G;if(O){var H;G=(H=O.extensions)===null||H===void 0?void 0:H.complexity}else if(!X.startsWith("__"))throw new V0(`Unknown field selected (${W.name}.${X})`);if(typeof G==="function"){let K=Z3(O,Y,$,z);G=G(K,$,O)}let Z;if(typeof G==="object"&&G.multiplier!==void 0)Z=G.multiplier;else Z=O&&pw$(O.type)?C3:1;let B=0;if(O&&Y.selectionSet){let K=gK($,z,Y.selectionSet,P8.getNamedType(O.type));B+=K.complexity*Math.max(Z,0),U+=K.depth,Q+=K.breadth}var J;return B+=typeof G==="number"?G:(J=G===null||G===void 0?void 0:G.field)!==null&&J!==void 0?J:S3,{complexity:B,depth:U,breadth:Q}}function ow$($,z){let Y=`${z.operation.operation.slice(0,1).toUpperCase()}${z.operation.operation.slice(1)}`,W=z.schema.getType(Y);if(!W||!P8.isOutputType(W))throw new V0(`Unsupported operation ${Y}`);return gK($,z,z.operation.selectionSet,W)}function rw$($,z,Y,W){let U=Y.typeCondition?z.schema.getType(Y.typeCondition.name.value):W;if(!P8.isOutputType(U))throw new V0(`Expected Type ${W.name} to be an Output type`);if(!U){var Q;throw new V0(`Missing type from fragment ${(Q=Y.typeCondition)===null||Q===void 0?void 0:Q.name.value}`)}return gK($,z,Y.selectionSet,U)}function gK($,z,Y,W){let U={depth:0,breadth:0,complexity:0};for(let Q of Y.selections){let X;if(Q.kind===P8.Kind.FIELD)X=KC0($,z,Q,W);else if(Q.kind===P8.Kind.FRAGMENT_SPREAD){let O=z.fragments[Q.name.value];if(!O)throw new V0(`Missing fragment ${Q.name.value}`);X=rw$($,z,O,W)}else X=rw$($,z,Q,W);U.complexity+=X.complexity,U.breadth+=X.breadth,U.depth=Math.max(U.depth,X.depth)}return U}var nO=function($){return $.Complexity="Complexity",$.Depth="Depth",$.Breadth="Breadth",$}({});function T3($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var DC0="complexity";class tw$ extends e9{onOutputFieldConfig($){var z,Y,W,U,Q,X;return{...$,extensions:{...$.extensions,complexity:(X=(Q=(U=$.pothosOptions.complexity)!==null&&U!==void 0?U:(z=this.options.complexity)===null||z===void 0?void 0:z.fieldComplexity)!==null&&Q!==void 0?Q:(W=this.builder.options)===null||W===void 0?void 0:(Y=W.complexity)===null||Y===void 0?void 0:Y.fieldComplexity)!==null&&X!==void 0?X:$.type.kind==="List"?{field:this.defaultComplexity,multiplier:this.defaultListMultiplier}:this.defaultComplexity}}}wrapResolve($,z){var Y;if((Y=this.builder.options.complexity)===null||Y===void 0?void 0:Y.disabled)return $;if(z.kind!=="Query"&&z.kind!=="Mutation"&&z.kind!=="Subscription")return $;return(W,U,Q,X)=>{return this.checkComplexity(Q,X),$(W,U,Q,X)}}checkComplexity($,z){let Y=this.getMax($);if(!Y)return;let{complexity:W,depth:U,breadth:Q}=this.complexityCache($,z),X=null;if(typeof Y.depth==="number"&&Y.depth<U)X=nO.Depth;else if(typeof Y.breadth==="number"&&Y.breadth<Q)X=nO.Breadth;else if(typeof Y.complexity==="number"&&Y.complexity<W)X=nO.Complexity;if(X){let O=this.complexityError(X,{complexity:W,depth:U,breadth:Q,maxComplexity:Y.complexity,maxDepth:Y.depth,maxBreadth:Y.breadth},z);throw typeof O==="string"?Error(O):O}}getMax($){var z,Y,W;let U=(W=(z=this.options.complexity)===null||z===void 0?void 0:z.limit)!==null&&W!==void 0?W:(Y=this.builder.options.complexity)===null||Y===void 0?void 0:Y.limit;if(typeof U==="function")U=U($);if((U===null||U===void 0?void 0:U.complexity)||(U===null||U===void 0?void 0:U.depth)||(U===null||U===void 0?void 0:U.breadth))return U;return null}constructor(...$){var z,Y,W,U,Q,X,O,G,H,Z,B,J,K;super(...$),T3(this,"defaultComplexity",(H=(G=(z=this.options.complexity)===null||z===void 0?void 0:z.defaultComplexity)!==null&&G!==void 0?G:(W=this.builder.options)===null||W===void 0?void 0:(Y=W.complexity)===null||Y===void 0?void 0:Y.defaultComplexity)!==null&&H!==void 0?H:S3),T3(this,"defaultListMultiplier",(B=(Z=(U=this.options.complexity)===null||U===void 0?void 0:U.defaultListMultiplier)!==null&&Z!==void 0?Z:(Q=this.builder.options.complexity)===null||Q===void 0?void 0:Q.defaultListMultiplier)!==null&&B!==void 0?B:C3),T3(this,"complexityError",(K=(J=(X=this.options.complexity)===null||X===void 0?void 0:X.complexityError)!==null&&J!==void 0?J:(O=this.builder.options.complexity)===null||O===void 0?void 0:O.complexityError)!==null&&K!==void 0?K:(D,{depth:w,breadth:V,complexity:I,maxBreadth:j,maxComplexity:A,maxDepth:b})=>{if(D===nO.Depth)return new V0(`Query exceeds maximum depth (depth: ${w}, max: ${b})`);if(D===nO.Breadth)return new V0(`Query exceeds maximum breadth (breadth: ${V}, max: ${j})`);if(D===nO.Complexity)return new V0(`Query exceeds maximum complexity (complexity: ${I}, max: ${A})`);throw new V0("Unexpected complexity error kind")}),T3(this,"complexityCache",B4((D,w)=>ow$(D,w)))}}M8.registerPlugin(DC0,tw$);function aw$($,z){return EH(`${$}:${z}`)}var wC0=/^[A-Z_a-z]\w*$/;function sw$($){let z;try{z=IK($).split(":")}catch(U){throw U instanceof V0?new V0(`Invalid global ID: ${$}`):U}let[Y,W]=z;if(!Y||!W||!wC0.test(Y))throw new V0(`Invalid global ID: ${$}`);return{typename:Y,id:z.length>2?z.slice(1).join(":"):W}}var ew$=B4(()=>new Map);async function dQ($,z,Y,W){let U=ew$(z),Q={},X={};for(let G of W){if(G==null)continue;let{id:H,typename:Z}=G,B=`${Z}:${H}`;if(U.has(B)){X[B]=U.get(B);continue}var O;Q[Z]=(O=Q[Z])!==null&&O!==void 0?O:new Set,Q[Z].add(H)}return await Promise.all(Object.keys(Q).map(async(G)=>{var H;let Z=[...Q[G]],J=$.configStore.getTypeConfig(G,"Object").pothosOptions;var K,D;let w=(D=(K=J.brandLoadedObjects)!==null&&K!==void 0?K:(H=$.options.relay)===null||H===void 0?void 0:H.brandLoadedObjects)!==null&&D!==void 0?D:!0;(await VC0($,z,Y,Z,G)).forEach((I,j)=>{if(w)_O(I,G);X[`${G}:${Z[j]}`]=I})})),W.map((G)=>{var H;return G==null?null:(H=X[`${G.typename}:${G.id}`])!==null&&H!==void 0?H:null})}async function VC0($,z,Y,W,U){let Q=ew$(z),X=$.configStore.getTypeConfig(U,"Object"),O=X.pothosOptions;if(O.loadMany){let G=Promise.resolve(O.loadMany(W,z));return Promise.all(W.map((H,Z)=>{let B=G.then((J)=>J[Z]).then((J)=>{return Q.set(`${X.name}:${H}`,J),J});return Q.set(`${X.name}:${H}`,B),B}))}if(O.loadOne)return Promise.all(W.map((G)=>{let H=Promise.resolve(O.loadOne(G,z)).then((Z)=>{return Q.set(`${X.name}:${G}`,Z),Z});return Q.set(`${X.name}:${G}`,H),H}));if(O.loadManyWithoutCache)return O.loadManyWithoutCache(W,z);if(O.loadWithoutCache)return Promise.all(W.map((G)=>Promise.resolve(O.loadWithoutCache(G,z,Y))));throw new V0(`${X.name} does not support loading by id`)}function xK($){return`${$.slice(0,1).toUpperCase()}${$.slice(1)}`}function eh($,z,Y,W){var U;if((U=$.options.relay)===null||U===void 0?void 0:U.encodeGlobalID)return $.options.relay.encodeGlobalID(z,Y,W);return aw$(z,Y)}function hK($,z,Y,W,U){var Q;let X=((Q=$.options.relay)===null||Q===void 0?void 0:Q.decodeGlobalID)?$.options.relay.decodeGlobalID(z,Y):sw$(z);if(Array.isArray(U)){let H=U.find(({typename:Z})=>Z===X.typename);if(!H)throw new V0(`ID: ${z} is not of type: ${U.map(({typename:Z})=>Z).join(", ")}`);if(H.parseId)return{...X,id:H.parseId(X.id,Y)};return X}if(U){var O,G;let H=(G=W.schema.getType(X.typename))===null||G===void 0?void 0:(O=G.extensions)===null||O===void 0?void 0:O.pothosParseGlobalID;if(H)return{...X,id:H(X.id,Y)}}return X}var mK=hQ.prototype;mK.globalIDList=function({resolve:z,...Y}){return this.field({...Y,type:["ID"],resolve:async(W,U,Q,X)=>{let O=await z(W,U,Q,X);if(!O)return O;if(Rh(O),Array.isArray(O))return(await Promise.all(O)).map((G)=>G==null||typeof G==="string"?G:eh(this.builder,this.builder.configStore.getTypeConfig(G.type).name,String(G.id),Q));return null}})};mK.globalID=function({resolve:z,...Y}){return this.field({...Y,type:"ID",resolve:async(W,U,Q,X)=>{let O=await z(W,U,Q,X);if(!O||typeof O!=="object")return O;let G=O;return eh(this.builder,this.builder.configStore.getTypeConfig(G.type).name,String(G.id),Q)}})};mK.node=function({id:z,...Y}){return this.field({...Y,type:this.builder.nodeInterfaceRef(),nullable:!0,resolve:async(W,U,Q,X)=>{let O=await z(W,U,Q,X);if(O==null)return null;let G=typeof O==="string"?hK(this.builder,O,Q,X,!0):O&&{id:O.id,typename:this.builder.configStore.getTypeConfig(O.type).name};return(await dQ(this.builder,Q,X,[G]))[0]}})};mK.nodeList=function({ids:z,...Y}){return this.field({...Y,nullable:{list:!1,items:!0},type:[this.builder.nodeInterfaceRef()],resolve:async(W,U,Q,X)=>{let O=await z(W,U,Q,X);if(Rh(O),!Array.isArray(O))return[];let H=(await Promise.all(O)).map((Z)=>typeof Z==="string"?hK(this.builder,Z,Q,X,!0):Z&&{id:Z.id,typename:this.builder.configStore.getTypeConfig(Z.type).name});return dQ(this.builder,Q,X,H)}})};mK.connection=function({type:z,edgesNullable:Y,nodeNullable:W,...U},Q={},X={}){var O;let G=Q instanceof $8?Q:new $8("Unnamed connection"),H=this.field({...(O=this.builder.options.relay)===null||O===void 0?void 0:O.defaultConnectionFieldOptions,...U,type:G,args:{...U.args,...this.arg.connectionArgs()}});if(!(Q instanceof $8))H.onFirstUse((Z)=>{var B;let J=(B=Q.name)!==null&&B!==void 0?B:`${Z.parentType}${xK(Z.name)}${Z.name.toLowerCase().endsWith("connection")?"":"Connection"}`;this.builder.configStore.associateParamWithRef(G,this.builder.connectionObject({type:z,edgesNullable:Y,nodeNullable:W,...Q,name:J},X instanceof $8?X:{name:`${J}Edge`,...X}))});return H};var $m=Pw$.prototype;$m.globalIDList=function({for:z,...Y}={}){var W,U;return this.idList({...Y,extensions:{...Y.extensions,isRelayGlobalID:!0,relayGlobalIDFor:(U=(W=z&&(Array.isArray(z)?z:[z]))===null||W===void 0?void 0:W.map((Q)=>({typename:this.builder.configStore.getTypeConfig(Q).name,parseId:"parseId"in Q?Q.parseId:void 0})))!==null&&U!==void 0?U:null}})};$m.globalID=function({for:z,...Y}={}){var W,U;return this.id({...Y,extensions:{...Y.extensions,isRelayGlobalID:!0,relayGlobalIDFor:(U=(W=z&&(Array.isArray(z)?z:[z]))===null||W===void 0?void 0:W.map((Q)=>({typename:this.builder.configStore.getTypeConfig(Q).name,parseId:"parseId"in Q?Q.parseId:void 0})))!==null&&U!==void 0?U:null}})};$m.connectionArgs=function(){var z,Y,W,U,Q,X,O,G;return{before:this.field({...(z=this.builder.options.relay)===null||z===void 0?void 0:z.beforeArgOptions,type:(O=(Y=this.builder.options.relay)===null||Y===void 0?void 0:Y.cursorType)!==null&&O!==void 0?O:"String",required:!1}),after:this.field({...(W=this.builder.options.relay)===null||W===void 0?void 0:W.afterArgOptions,type:(G=(U=this.builder.options.relay)===null||U===void 0?void 0:U.cursorType)!==null&&G!==void 0?G:"String",required:!1}),first:this.field({...(Q=this.builder.options.relay)===null||Q===void 0?void 0:Q.firstArgOptions,type:"Int",required:!1}),last:this.field({...(X=this.builder.options.relay)===null||X===void 0?void 0:X.lastArgOptions,type:"Int",required:!1})}};var Xm=J6(CY(),1);function cK($,z,Y,W,U){Y.addInterfaces([z.nodeInterfaceRef()]),Y.addFields(()=>{var Q,X,O;return{[(O=(Q=z.options.relay)===null||Q===void 0?void 0:Q.idFieldName)!==null&&O!==void 0?O:"id"]:new Mw$(z).globalID({nullable:!1,...(X=z.options.relay)===null||X===void 0?void 0:X.idFieldOptions,...U.id,args:{},resolve:(G,H,Z,B)=>KU(U.id.resolve(G,H,Z,B),(J)=>({type:$,id:J}))})}}),Y.updateConfig(({extensions:Q,isTypeOf:X,pothosOptions:O,...G})=>{return{...G,extensions:{...Q,pothosParseGlobalID:U.id.parse},pothosOptions:{...U,...O},isTypeOf:X!==null&&X!==void 0?X:typeof W==="function"?(H,Z,B)=>{if(!H)return!1;if(H instanceof W)return!0;let J=Object.getPrototypeOf(H);try{if(J===null||J===void 0?void 0:J.constructor)return z.configStore.getTypeConfig(J.constructor).name===$}catch{}return!1}:void 0}})}function zm($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var AC0=Symbol.for("Pothos.relayIDShapeKey"),jC0=AC0;class Ym extends $8{constructor($,z,Y,W){super(z),zm(this,jC0,void 0),zm(this,"parseId",void 0),this.parseId=W.id.parse,cK(z,$,this,Y,W)}}class Um extends uH{constructor($,z,Y){super($,z),zm(this,"parseId",void 0),this.parseId=Y.id.parse,cK(z,$,this,void 0,Y)}}var wW=M8.prototype,Wm=new WeakMap,Qm=new WeakMap,v3=new WeakMap,_3=new WeakMap;wW.pageInfoRef=function(){var z,Y;if(Wm.has(this))return Wm.get(this);let W=this.objectRef("PageInfo");Wm.set(this,W);var U,Q;let{pageInfoCursorType:X=(U=(z=this.options.relay)===null||z===void 0?void 0:z.cursorType)!==null&&U!==void 0?U:"String",hasNextPageFieldOptions:O={},hasPreviousPageFieldOptions:G={},startCursorFieldOptions:H={},endCursorFieldOptions:Z={}}=(Q=this.options.relay)!==null&&Q!==void 0?Q:{};return W.implement({...(Y=this.options.relay)===null||Y===void 0?void 0:Y.pageInfoTypeOptions,fields:(B)=>({hasNextPage:B.exposeBoolean("hasNextPage",{nullable:!1,...O}),hasPreviousPage:B.exposeBoolean("hasPreviousPage",{nullable:!1,...G}),startCursor:B.expose("startCursor",{nullable:!0,...H,type:X}),endCursor:B.expose("endCursor",{nullable:!0,...Z,type:X})})}),W};wW.nodeInterfaceRef=function(){var z,Y,W;if(Qm.has(this))return Qm.get(this);let U=this.interfaceRef("Node");Qm.set(this,U),U.implement({resolveType:(O,G,H,Z)=>{if(!O)return Xm.defaultTypeResolver(O,G,H,Z);let B=q3(O);if(B)return this.configStore.getTypeConfig(B).name;try{if(typeof O==="object"){let J=O.__typename;if(J)return J;let K=O.__type;if(K){let D=this.configStore.getTypeConfig(K);if(D)return D.name}}}catch{}return Xm.defaultTypeResolver(O,G,H,Z)},...(z=this.options.relay)===null||z===void 0?void 0:z.nodeTypeOptions,fields:(O)=>{var G,H,Z;return{[(Z=(G=this.options.relay)===null||G===void 0?void 0:G.idFieldName)!==null&&Z!==void 0?Z:"id"]:O.globalID({...(H=this.options.relay)===null||H===void 0?void 0:H.idFieldOptions,nullable:!1,resolve:(B)=>{throw new V0("id field not implemented")}})}}});let Q=(Y=this.options.relay)===null||Y===void 0?void 0:Y.nodeQueryOptions;if(Q!==!1){let O=Q===null||Q===void 0?void 0:Q.resolve;this.queryField("node",(G)=>{var H,Z,B,J;return G.field({nullable:!0,...(H=this.options.relay)===null||H===void 0?void 0:H.nodeQueryOptions,type:U,args:{id:G.arg.globalID({...Q===null||Q===void 0?void 0:(Z=Q.args)===null||Z===void 0?void 0:Z.id,required:!0,extensions:{relayGlobalIDAlwaysParse:!0,...Q===null||Q===void 0?void 0:(J=Q.args)===null||J===void 0?void 0:(B=J.id)===null||B===void 0?void 0:B.extensions}})},resolve:O?(K,D,w,V)=>O(K,D,w,V,(I)=>KU(dQ(this,w,V,[D.id]),(j)=>j[0])):(K,D,w,V)=>KU(dQ(this,w,V,[D.id]),(I)=>I[0])})})}let X=(W=this.options.relay)===null||W===void 0?void 0:W.nodesQueryOptions;if(X!==!1){let O=X===null||X===void 0?void 0:X.resolve;this.queryField("nodes",(G)=>{var H,Z,B,J;return G.field({nullable:{list:!1,items:!0},...(H=this.options.relay)===null||H===void 0?void 0:H.nodesQueryOptions,type:[U],args:{ids:G.arg.globalIDList({...X===null||X===void 0?void 0:(Z=X.args)===null||Z===void 0?void 0:Z.ids,required:!0,extensions:{relayGlobalIDAlwaysParse:!0,...X===null||X===void 0?void 0:(J=X.args)===null||J===void 0?void 0:(B=J.ids)===null||B===void 0?void 0:B.extensions}})},resolve:O?(K,D,w,V)=>O(K,D,w,V,(I)=>dQ(this,w,V,D.ids)):(K,D,w,V)=>dQ(this,w,V,D.ids)})})}return U};wW.nodeRef=function(z,Y){if(typeof z==="string")return new Um(this,z,Y);return cK(z.name,this,z,void 0,Y),z};wW.node=function(z,{id:Y,name:W,loadMany:U,loadOne:Q,loadWithoutCache:X,loadManyWithoutCache:O,brandLoadedObjects:G,...H},Z){I9(z);let B=typeof z==="string"?z:z instanceof Nw$?z.name:W,J=new Ym(this,B,z,{id:Y,loadMany:U,loadOne:Q,loadWithoutCache:X,loadManyWithoutCache:O,brandLoadedObjects:G});if(typeof z!=="string")this.configStore.associateParamWithRef(z,J);return this.objectType(J,{name:B,...H},Z),J};wW.globalConnectionField=function(z,Y){this.globalConnectionFields((W)=>({[z]:Y(W)}))};wW.globalConnectionFields=function(z){let Y=(U)=>{this.configStore.onPrepare(()=>{let Q=this.configStore.getTypeConfig(U);this.objectFields(U,(X)=>{let O=this.configStore.getFields(Q.name),G={};for(let[H,Z]of Object.entries(z(X)))if(!O.has(H))G[H]=Z;return G})})};var W;for(let U of(W=v3.get(this))!==null&&W!==void 0?W:[])Y(U);if(!_3.has(this))_3.set(this,[]);_3.get(this).push(Y)};var $V$=B4(()=>new Map);wW.relayMutationField=function(z,Y,{resolve:W,args:U,...Q},{name:X=`${xK(z)}Payload`,outputFields:O,interfaces:G,...H}){var Z,B,J;let{relay:{clientMutationIdInputOptions:K={},clientMutationIdFieldOptions:D={},mutationInputArgOptions:w={}}={}}=this.options,V=((Z=this.options.relay)===null||Z===void 0?void 0:Z.clientMutationId)&&((B=this.options.relay)===null||B===void 0?void 0:B.clientMutationId)!=="omit",I,j="input";if(!Y||Y instanceof Ew$)I=Y;else{var A;let{name:F=`${xK(z)}Input`,argName:S="input",inputFields:v,...d}=Y;j=S,I=this.inputType(F,{...(A=this.options.relay)===null||A===void 0?void 0:A.defaultMutationInputTypeOptions,...d,fields:(T)=>{var l;return{...v(T),...V?{clientMutationId:T.id({...K,required:((l=this.options.relay)===null||l===void 0?void 0:l.clientMutationId)!=="optional"})}:{}}}})}let b=this.objectRef(X).implement({...(J=this.options.relay)===null||J===void 0?void 0:J.defaultPayloadTypeOptions,...H,interfaces:G,fields:(F)=>{var S;return{...O(F),...V?{clientMutationId:F.id({nullable:((S=this.options.relay)===null||S===void 0?void 0:S.clientMutationId)==="optional",...D,resolve:(v,d,T,l)=>$V$(T).get(String(l.path.prev.key))})}:{}}}});return this.mutationField(z,(F)=>{var S;return F.field({...(S=this.options.relay)===null||S===void 0?void 0:S.relayMutationFieldOptions,...Q,type:b,args:{...U,...I?{[j]:F.arg({...w,type:I,required:!0})}:{}},resolve:(v,d,T,l)=>{if(I)$V$(T).set(String(l.path.key),d[j].clientMutationId);return W(v,d,T,l)}})}),{inputType:I,payloadType:b}};wW.connectionObject=function({type:z,name:Y,edgesNullable:W,nodeNullable:U,edgesField:Q,...X},O){var G,H,Z;I9(z);var B;let{edgesFieldOptions:{nullable:J={items:this.defaultFieldNullability,list:this.defaultFieldNullability},...K}={},pageInfoFieldOptions:D={}}=(B=this.options.relay)!==null&&B!==void 0?B:{},w=this.objectRef(Y),V=O instanceof $8?O:this.edgeObject({name:`${Y.replace(/Connection$/,"")}Edge`,...O,nodeNullable:U,type:z}),I=X.fields;var j;let{nodesOnConnection:A}=(j=this.options.relay)!==null&&j!==void 0?j:{},b=W!==null&&W!==void 0?W:J;var F;let S=!!((F=typeof b==="object"?b.list:b)!==null&&F!==void 0?F:!0);var v;let d=typeof b==="object"&&"items"in b?b.items:(v=(H=this.options.relay)===null||H===void 0?void 0:(G=H.nodeFieldOptions)===null||G===void 0?void 0:G.nullable)!==null&&v!==void 0?v:!0;if(this.objectType(w,{...(Z=this.options.relay)===null||Z===void 0?void 0:Z.defaultConnectionTypeOptions,...X,fields:(l)=>{var _,o,a;return{pageInfo:l.field({nullable:!1,...D,type:this.pageInfoRef(),resolve:(R)=>R.pageInfo}),edges:l.field({nullable:W!==null&&W!==void 0?W:J,...K,...Q,type:[V],resolve:(R)=>R.edges}),...A?{nodes:l.field({...typeof A==="object"?A:{},type:[z],nullable:{list:S,items:d||((a=U!==null&&U!==void 0?U:(o=this.options.relay)===null||o===void 0?void 0:(_=o.nodeFieldOptions)===null||_===void 0?void 0:_.nullable)!==null&&a!==void 0?a:this.defaultFieldNullability)},resolve:(R)=>KU(R.edges,(t)=>{if(!t)return t;if(Array.isArray(t))return t.map((q$)=>q$===null||q$===void 0?void 0:q$.node);if(t[Symbol.asyncIterator])return async function*(){for await(let q$ of t)yield q$.node}();return function*(){for(let q$ of t)if(b8(q$))yield Promise.resolve(q$).then((n)=>n===null||n===void 0?void 0:n.node);else yield q$===null||q$===void 0?void 0:q$.node}()})})}:{},...I===null||I===void 0?void 0:I(l)}}}),!v3.has(this))v3.set(this,[]);v3.get(this).push(w);var T;for(let l of(T=_3.get(this))!==null&&T!==void 0?T:[])l(w);return w};wW.edgeObject=function({type:z,name:Y,nodeNullable:W,nodeField:U,...Q}){var X,O;I9(z);var G,H;let{edgeCursorType:Z=(G=(X=this.options.relay)===null||X===void 0?void 0:X.cursorType)!==null&&G!==void 0?G:"String",cursorFieldOptions:B={},nodeFieldOptions:{nullable:J=this.defaultFieldNullability,...K}={}}=(H=this.options.relay)!==null&&H!==void 0?H:{},D=this.objectRef(Y),w=Q.fields;return this.objectType(D,{...(O=this.options.relay)===null||O===void 0?void 0:O.defaultEdgeTypeOptions,...Q,fields:(V)=>({node:V.field({nullable:W!==null&&W!==void 0?W:J,...K,...U,type:z,resolve:(I)=>I.node}),cursor:V.expose("cursor",{nullable:!1,type:Z,...B}),...w===null||w===void 0?void 0:w(V)})}),D};function IC0($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var FC0="relay";class zV$ extends e9{onOutputFieldConfig($){let z=Aw$($.args,this.buildCache,(U)=>{var Q;if((Q=U.extensions)===null||Q===void 0?void 0:Q.isRelayGlobalID){var X,O,G,H;return(H=(G=(X=U.extensions)===null||X===void 0?void 0:X.relayGlobalIDFor)!==null&&G!==void 0?G:(O=U.extensions)===null||O===void 0?void 0:O.relayGlobalIDAlwaysParse)!==null&&H!==void 0?H:!1}return null},this.mappingCache);if(!z)return $;let Y=Iw$(z,(U,Q,X,O)=>{var G;return hK(this.builder,String(U),X,O,(G=Q.value)!==null&&G!==void 0?G:!1)});var W;return{...$,argMappers:[...(W=$.argMappers)!==null&&W!==void 0?W:[],(U,Q,X)=>Y(U,void 0,Q,X)]}}constructor(...$){super(...$),IC0(this,"mappingCache",new Map)}}M8.registerPlugin(FC0,zV$,{v3:($)=>{var z,Y,W,U,Q,X,O,G,H,Z,B,J,K,D,w,V,I;return{relayOptions:void 0,relay:{...$.relayOptions,clientMutationId:(H=(z=$.relayOptions)===null||z===void 0?void 0:z.clientMutationId)!==null&&H!==void 0?H:"required",cursorType:(Z=(Y=$.relayOptions)===null||Y===void 0?void 0:Y.cursorType)!==null&&Z!==void 0?Z:"ID",edgeCursorType:(J=(B=(W=$.relayOptions)===null||W===void 0?void 0:W.edgeCursorType)!==null&&B!==void 0?B:(U=$.relayOptions)===null||U===void 0?void 0:U.cursorType)!==null&&J!==void 0?J:"String",pageInfoCursorType:(D=(K=(Q=$.relayOptions)===null||Q===void 0?void 0:Q.pageInfoCursorType)!==null&&K!==void 0?K:(X=$.relayOptions)===null||X===void 0?void 0:X.cursorType)!==null&&D!==void 0?D:"String",edgesFieldOptions:{...$.relayOptions.edgesFieldOptions,nullable:(w=(O=$.relayOptions.edgesFieldOptions)===null||O===void 0?void 0:O.nullable)!==null&&w!==void 0?w:{list:!1,items:!0}},nodeFieldOptions:{...$.relayOptions.nodeFieldOptions,nullable:(V=(G=$.relayOptions.nodeFieldOptions)===null||G===void 0?void 0:G.nullable)!==null&&V!==void 0?V:!1},brandLoadedObjects:(I=$.relayOptions.brandLoadedObjects)!==null&&I!==void 0?I:!1}}}});var qm=J6(WV$(),1);function Zm($){if(b8($))return $.then(Zm);return $.map((z)=>z instanceof Error?Promise.reject(z):z)}var TC0=B4(()=>new Set);function QV$($,z){return TC0($).add(z),z}function XV$($,z){if(!z)return $;return async(Y,W,U,Q)=>{let X=await $(Y,W,U,Q),O=new Map,G=[];for(let Z of X){if(Z instanceof Error)throw Z;if(Z!=null)O.set(z(Z),Z)}for(let Z=0;Z<Y.length;Z+=1){var H;G[Z]=(H=O.get(Y[Z]))!==null&&H!==void 0?H:null}return G}}function VW($,z,Y,W){let U=W?XV$(z,typeof W==="function"?W:Y):z;return B4((Q)=>QV$(Q,new qm.default((X)=>U(X,Q),$)))}function k3($,z,Y,W,U){let Q=B4(()=>new Map),X=W?XV$(z,typeof W==="function"?W:Y):z;return(O,G,H)=>{let Z=U?vC0(H.path):"*",B=Q(G);if(!B.has(Z))B.set(Z,QV$(G,new qm.default((J)=>X(J,G,O,H),$)));return B.get(Z)}}function vC0($){if(!$)return"*";let z=String($.key),Y=$.prev;while(Y)z=`${typeof Y.key==="number"?"*":Y.key}.${z}`,Y=Y.prev;return z}var Bm=hQ.prototype;Bm.loadable=function({load:z,sort:Y,loaderOptions:W,resolve:U,type:Q,byPath:X,...O}){let G=k3(W,(H,Z,B,J)=>z(H,Z,B,J),void 0,Y,X);return this.field({...O,type:Q,resolve:async(H,Z,B,J)=>{let K=await U(H,Z,B,J);if(K==null)return null;let D=G(Z,B,J);if(Array.isArray(Q))return Zm(K.map((w)=>w==null?w:D.load(w)));return D.load(K)}})};Bm.loadableList=function({load:z,sort:Y,loaderOptions:W,resolve:U,type:Q,byPath:X,...O}){let G=k3(W,(H,Z,B,J)=>z(H,Z,B,J),void 0,Y,X);return this.field({...O,type:[Q],resolve:async(H,Z,B,J)=>{let K=await U(H,Z,B,J);return G(Z,B,J).load(K)}})};Bm.loadableGroup=function({load:z,group:Y,loaderOptions:W,byPath:U,resolve:Q,type:X,...O}){let G=k3(W,async(H,Z,B,J)=>{let K=await z(H,Z,B,J),D=new Map;for(let w of K){if(w==null)continue;let V=Y(w);if(!D.has(V))D.set(V,[]);D.get(V).push(w)}return H.map((w)=>{var V;return(V=D.get(w))!==null&&V!==void 0?V:[]})},void 0,!1,U);return this.field({...O,type:[X],resolve:async(H,Z,B,J)=>{let K=await Q(H,Z,B,J);return G(Z,B,J).load(K)}})};function OV$($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class u3 extends Rw${implement($){return super.implement({...$,extensions:{...$.extensions,getDataloader:this.getDataloader,cacheResolved:this.cacheResolved}})}constructor($,z,{loaderOptions:Y,load:W,toKey:U,sort:Q,cacheResolved:X}){super($,z),OV$(this,"cacheResolved",void 0),OV$(this,"getDataloader",void 0),this.getDataloader=VW(Y,W,U,Q),this.cacheResolved=typeof X==="function"?X:X&&U}}function Jm($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class Km extends $8{constructor($,z){super($),Jm(this,"getDataloader",void 0),this.getDataloader=z}}class f3 extends uH{constructor($,z,{loaderOptions:Y,load:W,toKey:U,sort:Q,cacheResolved:X}){super($,z),Jm(this,"getDataloader",void 0),Jm(this,"cacheResolved",void 0),this.getDataloader=VW(Y,W,U,Q),this.cacheResolved=typeof X==="function"?X:X&&U,this.builder.configStore.onTypeConfig(this,(O)=>{O.extensions={...O.extensions,getDataloader:this.getDataloader,cacheResolved:this.cacheResolved}})}}function lK($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class Dm extends Km{constructor($,z,{id:Y,loaderOptions:W,load:U,toKey:Q,sort:X}){super(z,VW(W,U,Q,X)),lK(this,"parseId",void 0),lK(this,"builder",void 0),this.builder=$,this.parseId=Y.parse}}class wm extends uH{constructor($,z,{id:Y,loaderOptions:W,load:U,toKey:Q,sort:X,cacheResolved:O}){super($,z),lK(this,"parseId",void 0),lK(this,"getDataloader",void 0),lK(this,"cacheResolved",void 0),this.parseId=Y.parse,this.builder=$,this.getDataloader=VW(W,U,Q,X),this.cacheResolved=typeof O==="function"?O:O&&Q,this.builder.nodeRef(this,{id:Y,loadManyWithoutCache:(G,H)=>this.getDataloader(H).loadMany(G)}),this.updateConfig((G)=>({...G,extensions:{...G.extensions,getDataloader:this.getDataloader,cacheResolved:this.cacheResolved}}))}}function _C0($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class Vm extends Sw${constructor($,z){super($),_C0(this,"getDataloader",void 0),this.getDataloader=z}}var iQ=M8.prototype;iQ.loadableObjectRef=function(z,Y){return new f3(this,z,Y)};iQ.loadableInterfaceRef=function(z,Y){return new u3(this,z,Y)};iQ.loadableNodeRef=function(z,Y){return new wm(this,z,Y)};iQ.loadableObject=function(z,Y){var W;let U=typeof z==="string"?z:(W=Y.name)!==null&&W!==void 0?W:z.name,Q=new f3(this,U,Y);if(Q.implement(Y),typeof z!=="string")this.configStore.associateParamWithRef(z,Q);return Q};iQ.loadableInterface=function(z,Y){var W;let U=typeof z==="string"?z:(W=Y.name)!==null&&W!==void 0?W:z.name,Q=new u3(this,U,Y);if(Q.implement(Y),typeof z!=="string")this.configStore.associateParamWithRef(z,Q);return Q};iQ.loadableUnion=function(z,{load:Y,toKey:W,sort:U,cacheResolved:Q,loaderOptions:X,...O}){let G=VW(X,Y,W,U),H=new Vm(z,G),Z=this.unionType(z,{...O,extensions:{getDataloader:G,cacheResolved:typeof Q==="function"?Q:Q&&W}});return this.configStore.associateParamWithRef(H,Z),H};var $31=iQ.loadableNode;iQ.loadableNode=function(z,Y){if(typeof this.nodeInterfaceRef!=="function")throw new D0("builder.loadableNode requires @pothos/plugin-relay to be installed");var W;let U=typeof z==="string"?z:(W=Y.name)!==null&&W!==void 0?W:z.name,Q=new Dm(this,U,Y);var X;if(this.node(Q,{...Y,extensions:{...Y.extensions,pothosParseGlobalID:Y.id.parse,getDataloader:Q.getDataloader,cacheResolved:typeof Y.cacheResolved==="function"?Y.cacheResolved:Y.cacheResolved&&Y.toKey},loadManyWithoutCache:(O,G)=>Q.getDataloader(G).loadMany(O),isTypeOf:(X=Y.isTypeOf)!==null&&X!==void 0?X:typeof z==="function"?(O)=>{if(!O)return!1;if(O instanceof z)return!0;let G=Object.getPrototypeOf(O);try{if(G===null||G===void 0?void 0:G.constructor)return this.configStore.getTypeConfig(G.constructor).name===U}catch{}return!1}:void 0}),typeof z!=="string")this.configStore.associateParamWithRef(z,Q);return Q};var kC0="dataloader";class GV$ extends e9{wrapResolve($,z){var Y,W;let U=z.type.kind==="List",Q=this.buildCache.getTypeConfig(Ph(z.type)),X=(Y=Q.extensions)===null||Y===void 0?void 0:Y.getDataloader;if(!X)return $;let O=(W=Q.extensions)===null||W===void 0?void 0:W.cacheResolved;function G(H,Z){if(H==null)return H;if(b8(H))return H.then((B)=>G(B,Z));switch(typeof H){case"number":case"bigint":case"string":return Z.load(H);default:if(O){let B=O(H);Z.prime(B,H)}return H}}if(U)return(H,Z,B,J)=>{let K=X(B),D=$(H,Z,B,J);if(b8(D))return D.then((w)=>w===null||w===void 0?void 0:w.map((V)=>G(V,K)));return D===null||D===void 0?void 0:D.map((w)=>G(w,K))};return(H,Z,B,J)=>G($(H,Z,B,J),X(B))}}M8.registerPlugin(kC0,GV$);var uC0="tracing";class HV$ extends e9{wrapResolve($,z){if(!this.builder.options.tracing)return $;let{wrap:Y,default:W}=this.builder.options.tracing;var U;let Q=(U=z.pothosOptions.tracing)!==null&&U!==void 0?U:typeof W==="function"?W(z):W;return fC0(z,Q,Y,$)}}function fC0($,z,Y,W){if(z===!1||z===null)return W;if(typeof z==="function")return(U,Q,X,O)=>{let G=z(U,Q,X,O);if(G===null||G===!1)return W(U,Q,X,O);return Y(W,G,$)(U,Q,X,O)};return Y(W,z,$)}M8.registerPlugin(uC0,HV$);y$();var qV$="io.modelcontextprotocol/related-task",g3="2.0",Y8=h2(($)=>$!==null&&(typeof $==="object"||typeof $==="function")),ZV$=Y6([p(),H1().int()]),BV$=p(),v31=r4({ttl:Y6([H1(),a5()]).optional(),pollInterval:H1().optional()}),xC0=f$({ttl:H1().optional()}),hC0=f$({taskId:p()}),Am=r4({progressToken:ZV$.optional(),[qV$]:hC0.optional()}),Yz=f$({_meta:Am.optional()}),x3=Yz.extend({task:xC0.optional()});var U8=f$({method:p(),params:Yz.loose().optional()}),mz=f$({_meta:Am.optional()}),cz=f$({method:p(),params:mz.loose().optional()}),W8=r4({_meta:Am.optional()}),h3=Y6([p(),H1().int()]),mC0=f$({jsonrpc:z0(g3),id:h3,...U8.shape}).strict();var cC0=f$({jsonrpc:z0(g3),...cz.shape}).strict();var JV$=f$({jsonrpc:z0(g3),id:h3,result:W8}).strict();var dK;(function($){$[$.ConnectionClosed=-32000]="ConnectionClosed",$[$.RequestTimeout=-32001]="RequestTimeout",$[$.ParseError=-32700]="ParseError",$[$.InvalidRequest=-32600]="InvalidRequest",$[$.MethodNotFound=-32601]="MethodNotFound",$[$.InvalidParams=-32602]="InvalidParams",$[$.InternalError=-32603]="InternalError",$[$.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(dK||(dK={}));var KV$=f$({jsonrpc:z0(g3),id:h3.optional(),error:f$({code:H1().int(),message:p(),data:H6().optional()})}).strict();var _31=Y6([mC0,cC0,JV$,KV$]),k31=Y6([JV$,KV$]),jm=W8.strict(),lC0=mz.extend({requestId:h3.optional(),reason:p().optional()}),Im=cz.extend({method:z0("notifications/cancelled"),params:lC0}),dC0=f$({src:p(),mimeType:p().optional(),sizes:J0(p()).optional(),theme:E6(["light","dark"]).optional()}),iK=f$({icons:J0(dC0).optional()}),gH=f$({name:p(),title:p().optional()}),DV$=gH.extend({...gH.shape,...iK.shape,version:p(),websiteUrl:p().optional(),description:p().optional()}),iC0=s5(f$({applyDefaults:G4().optional()}),w6(p(),H6())),nC0=NZ(($)=>{if($&&typeof $==="object"&&!Array.isArray($)){if(Object.keys($).length===0)return{form:{}}}return $},s5(f$({form:iC0.optional(),url:Y8.optional()}),w6(p(),H6()).optional())),rC0=r4({list:Y8.optional(),cancel:Y8.optional(),requests:r4({sampling:r4({createMessage:Y8.optional()}).optional(),elicitation:r4({create:Y8.optional()}).optional()}).optional()}),pC0=r4({list:Y8.optional(),cancel:Y8.optional(),requests:r4({tools:r4({call:Y8.optional()}).optional()}).optional()}),oC0=f$({experimental:w6(p(),Y8).optional(),sampling:f$({context:Y8.optional(),tools:Y8.optional()}).optional(),elicitation:nC0.optional(),roots:f$({listChanged:G4().optional()}).optional(),tasks:rC0.optional()}),tC0=Yz.extend({protocolVersion:p(),capabilities:oC0,clientInfo:DV$}),wV$=U8.extend({method:z0("initialize"),params:tC0});var aC0=f$({experimental:w6(p(),Y8).optional(),logging:Y8.optional(),completions:Y8.optional(),prompts:f$({listChanged:G4().optional()}).optional(),resources:f$({subscribe:G4().optional(),listChanged:G4().optional()}).optional(),tools:f$({listChanged:G4().optional()}).optional(),tasks:pC0.optional()}),sC0=W8.extend({protocolVersion:p(),capabilities:aC0,serverInfo:DV$,instructions:p().optional()}),VV$=cz.extend({method:z0("notifications/initialized"),params:mz.optional()});var Fm=U8.extend({method:z0("ping"),params:Yz.optional()}),eC0=f$({progress:H1(),total:b6(H1()),message:b6(p())}),$T0=f$({...mz.shape,...eC0.shape,progressToken:ZV$}),Lm=cz.extend({method:z0("notifications/progress"),params:$T0}),zT0=Yz.extend({cursor:BV$.optional()}),nK=U8.extend({params:zT0.optional()}),rK=W8.extend({nextCursor:BV$.optional()}),YT0=E6(["working","input_required","completed","failed","cancelled"]),pK=f$({taskId:p(),status:YT0,ttl:Y6([H1(),a5()]),createdAt:p(),lastUpdatedAt:p(),pollInterval:b6(H1()),statusMessage:b6(p())}),m3=W8.extend({task:pK}),UT0=mz.merge(pK),bm=cz.extend({method:z0("notifications/tasks/status"),params:UT0}),Mm=U8.extend({method:z0("tasks/get"),params:Yz.extend({taskId:p()})}),Pm=W8.merge(pK),Nm=U8.extend({method:z0("tasks/result"),params:Yz.extend({taskId:p()})}),u31=W8.loose(),Em=nK.extend({method:z0("tasks/list")}),Rm=rK.extend({tasks:J0(pK)}),Sm=U8.extend({method:z0("tasks/cancel"),params:Yz.extend({taskId:p()})}),WT0=W8.merge(pK),AV$=f$({uri:p(),mimeType:b6(p()),_meta:w6(p(),H6()).optional()}),jV$=AV$.extend({text:p()}),Cm=p().refine(($)=>{try{return atob($),!0}catch{return!1}},{message:"Invalid Base64 string"}),IV$=AV$.extend({blob:Cm}),oK=E6(["user","assistant"]),xH=f$({audience:J0(oK).optional(),priority:H1().min(0).max(1).optional(),lastModified:sW.datetime({offset:!0}).optional()}),FV$=f$({...gH.shape,...iK.shape,uri:p(),description:b6(p()),mimeType:b6(p()),annotations:xH.optional(),_meta:b6(r4({}))}),QT0=f$({...gH.shape,...iK.shape,uriTemplate:p(),description:b6(p()),mimeType:b6(p()),annotations:xH.optional(),_meta:b6(r4({}))}),LV$=nK.extend({method:z0("resources/list")}),XT0=rK.extend({resources:J0(FV$)}),bV$=nK.extend({method:z0("resources/templates/list")}),OT0=rK.extend({resourceTemplates:J0(QT0)}),Tm=Yz.extend({uri:p()}),GT0=Tm,MV$=U8.extend({method:z0("resources/read"),params:GT0}),HT0=W8.extend({contents:J0(Y6([jV$,IV$]))}),qT0=cz.extend({method:z0("notifications/resources/list_changed"),params:mz.optional()}),ZT0=Tm,BT0=U8.extend({method:z0("resources/subscribe"),params:ZT0}),JT0=Tm,KT0=U8.extend({method:z0("resources/unsubscribe"),params:JT0}),DT0=mz.extend({uri:p()}),wT0=cz.extend({method:z0("notifications/resources/updated"),params:DT0}),VT0=f$({name:p(),description:b6(p()),required:b6(G4())}),AT0=f$({...gH.shape,...iK.shape,description:b6(p()),arguments:b6(J0(VT0)),_meta:b6(r4({}))}),PV$=nK.extend({method:z0("prompts/list")}),jT0=rK.extend({prompts:J0(AT0)}),IT0=Yz.extend({name:p(),arguments:w6(p(),p()).optional()}),NV$=U8.extend({method:z0("prompts/get"),params:IT0}),vm=f$({type:z0("text"),text:p(),annotations:xH.optional(),_meta:w6(p(),H6()).optional()}),_m=f$({type:z0("image"),data:Cm,mimeType:p(),annotations:xH.optional(),_meta:w6(p(),H6()).optional()}),km=f$({type:z0("audio"),data:Cm,mimeType:p(),annotations:xH.optional(),_meta:w6(p(),H6()).optional()}),FT0=f$({type:z0("tool_use"),name:p(),id:p(),input:w6(p(),H6()),_meta:w6(p(),H6()).optional()}),LT0=f$({type:z0("resource"),resource:Y6([jV$,IV$]),annotations:xH.optional(),_meta:w6(p(),H6()).optional()}),bT0=FV$.extend({type:z0("resource_link")}),um=Y6([vm,_m,km,bT0,LT0]),MT0=f$({role:oK,content:um}),PT0=W8.extend({description:p().optional(),messages:J0(MT0)}),NT0=cz.extend({method:z0("notifications/prompts/list_changed"),params:mz.optional()}),ET0=f$({title:p().optional(),readOnlyHint:G4().optional(),destructiveHint:G4().optional(),idempotentHint:G4().optional(),openWorldHint:G4().optional()}),RT0=f$({taskSupport:E6(["required","optional","forbidden"]).optional()}),EV$=f$({...gH.shape,...iK.shape,description:p().optional(),inputSchema:f$({type:z0("object"),properties:w6(p(),Y8).optional(),required:J0(p()).optional()}).catchall(H6()),outputSchema:f$({type:z0("object"),properties:w6(p(),Y8).optional(),required:J0(p()).optional()}).catchall(H6()).optional(),annotations:ET0.optional(),execution:RT0.optional(),_meta:w6(p(),H6()).optional()}),RV$=nK.extend({method:z0("tools/list")}),ST0=rK.extend({tools:J0(EV$)}),fm=W8.extend({content:J0(um).default([]),structuredContent:w6(p(),H6()).optional(),isError:G4().optional()}),f31=fm.or(W8.extend({toolResult:H6()})),CT0=x3.extend({name:p(),arguments:w6(p(),H6()).optional()}),ym=U8.extend({method:z0("tools/call"),params:CT0}),TT0=cz.extend({method:z0("notifications/tools/list_changed"),params:mz.optional()}),y31=f$({autoRefresh:G4().default(!0),debounceMs:H1().int().nonnegative().default(300)}),gm=E6(["debug","info","notice","warning","error","critical","alert","emergency"]),vT0=Yz.extend({level:gm}),SV$=U8.extend({method:z0("logging/setLevel"),params:vT0}),_T0=mz.extend({level:gm,logger:p().optional(),data:H6()}),kT0=cz.extend({method:z0("notifications/message"),params:_T0}),uT0=f$({name:p().optional()}),fT0=f$({hints:J0(uT0).optional(),costPriority:H1().min(0).max(1).optional(),speedPriority:H1().min(0).max(1).optional(),intelligencePriority:H1().min(0).max(1).optional()}),yT0=f$({mode:E6(["auto","required","none"]).optional()}),gT0=f$({type:z0("tool_result"),toolUseId:p().describe("The unique identifier for the corresponding tool call."),content:J0(um).default([]),structuredContent:f$({}).loose().optional(),isError:G4().optional(),_meta:w6(p(),H6()).optional()}),xT0=bZ("type",[vm,_m,km]),y3=bZ("type",[vm,_m,km,FT0,gT0]),hT0=f$({role:oK,content:Y6([y3,J0(y3)]),_meta:w6(p(),H6()).optional()}),mT0=x3.extend({messages:J0(hT0),modelPreferences:fT0.optional(),systemPrompt:p().optional(),includeContext:E6(["none","thisServer","allServers"]).optional(),temperature:H1().optional(),maxTokens:H1().int(),stopSequences:J0(p()).optional(),metadata:Y8.optional(),tools:J0(EV$).optional(),toolChoice:yT0.optional()}),cT0=U8.extend({method:z0("sampling/createMessage"),params:mT0}),CV$=W8.extend({model:p(),stopReason:b6(E6(["endTurn","stopSequence","maxTokens"]).or(p())),role:oK,content:xT0}),TV$=W8.extend({model:p(),stopReason:b6(E6(["endTurn","stopSequence","maxTokens","toolUse"]).or(p())),role:oK,content:Y6([y3,J0(y3)])}),lT0=f$({type:z0("boolean"),title:p().optional(),description:p().optional(),default:G4().optional()}),dT0=f$({type:z0("string"),title:p().optional(),description:p().optional(),minLength:H1().optional(),maxLength:H1().optional(),format:E6(["email","uri","date","date-time"]).optional(),default:p().optional()}),iT0=f$({type:E6(["number","integer"]),title:p().optional(),description:p().optional(),minimum:H1().optional(),maximum:H1().optional(),default:H1().optional()}),nT0=f$({type:z0("string"),title:p().optional(),description:p().optional(),enum:J0(p()),default:p().optional()}),rT0=f$({type:z0("string"),title:p().optional(),description:p().optional(),oneOf:J0(f$({const:p(),title:p()})),default:p().optional()}),pT0=f$({type:z0("string"),title:p().optional(),description:p().optional(),enum:J0(p()),enumNames:J0(p()).optional(),default:p().optional()}),oT0=Y6([nT0,rT0]),tT0=f$({type:z0("array"),title:p().optional(),description:p().optional(),minItems:H1().optional(),maxItems:H1().optional(),items:f$({type:z0("string"),enum:J0(p())}),default:J0(p()).optional()}),aT0=f$({type:z0("array"),title:p().optional(),description:p().optional(),minItems:H1().optional(),maxItems:H1().optional(),items:f$({anyOf:J0(f$({const:p(),title:p()}))}),default:J0(p()).optional()}),sT0=Y6([tT0,aT0]),eT0=Y6([pT0,oT0,sT0]),$v0=Y6([eT0,lT0,dT0,iT0]),zv0=x3.extend({mode:z0("form").optional(),message:p(),requestedSchema:f$({type:z0("object"),properties:w6(p(),$v0),required:J0(p()).optional()})}),Yv0=x3.extend({mode:z0("url"),message:p(),elicitationId:p(),url:p().url()}),Uv0=Y6([zv0,Yv0]),Wv0=U8.extend({method:z0("elicitation/create"),params:Uv0}),Qv0=mz.extend({elicitationId:p()}),Xv0=cz.extend({method:z0("notifications/elicitation/complete"),params:Qv0}),vV$=W8.extend({action:E6(["accept","decline","cancel"]),content:NZ(($)=>$===null?void 0:$,w6(p(),Y6([p(),H1(),G4(),J0(p())])).optional())}),Ov0=f$({type:z0("ref/resource"),uri:p()});var Gv0=f$({type:z0("ref/prompt"),name:p()}),Hv0=Yz.extend({ref:Y6([Gv0,Ov0]),argument:f$({name:p(),value:p()}),context:f$({arguments:w6(p(),p()).optional()}).optional()}),_V$=U8.extend({method:z0("completion/complete"),params:Hv0});var qv0=W8.extend({completion:r4({values:J0(p()).max(100),total:b6(H1().int()),hasMore:b6(G4())})}),Zv0=f$({uri:p().startsWith("file://"),name:p().optional(),_meta:w6(p(),H6()).optional()}),Bv0=U8.extend({method:z0("roots/list"),params:Yz.optional()}),kV$=W8.extend({roots:J0(Zv0)}),Jv0=cz.extend({method:z0("notifications/roots/list_changed"),params:mz.optional()}),g31=Y6([Fm,wV$,_V$,SV$,NV$,PV$,LV$,bV$,MV$,BT0,KT0,ym,RV$,Mm,Nm,Em,Sm]),x31=Y6([Im,Lm,VV$,Jv0,bm]),h31=Y6([jm,CV$,TV$,vV$,kV$,Pm,Rm,m3]),m31=Y6([Fm,cT0,Wv0,Bv0,Mm,Nm,Em,Sm]),c31=Y6([Im,Lm,kT0,wT0,qT0,TT0,NT0,bm,Xv0]),l31=Y6([jm,sC0,qv0,PT0,jT0,XT0,OT0,HT0,fm,ST0,Pm,Rm,m3]);var Kv0=Symbol("Let zodToJsonSchema decide on which parser to use");var LL1=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");var mr0=J6(aI$(),1),cr0=J6(DM$(),1);var wM$;(function($){$.Completable="McpCompletable"})(wM$||(wM$={}));var RW=($)=>("ref"in $),D4=($)=>({...$,meta:{...$.meta,kind:"command"},policy:{...$.policy,idempotent:$.policy?.policy?.idempotent??!1}}),T9=($)=>({...$,meta:{...$.meta,kind:"query"},policy:{...$.policy,idempotent:!0}});var or0=["markdown","application/json","application/xml","react"];function AM$($){if(!$.length)return"/";let z=$.startsWith("/")?$:`/${$}`;return z==="/"?"/":z.replace(/\/+$/,"")}function tr0($,z){if($.route)return AM$($.route);let Y=z??"/docs",W=$.id.replace(/^docs\.?/,"").replace(/\./g,"/").replace(/\/+/g,"/");return AM$(W.startsWith("/")?W:`${Y}/${W}`)}function jM$($,z){return z?`${z}.${$.id}`:$.id}function Rl($,z){let Y=z?.defaultTargets??or0,W=$.version??z?.defaultVersion??1,U=$.stability??z?.defaultStability??"stable";return{meta:{name:jM$($,z?.namespace),version:W,description:$.summary??$.title,tags:$.tags,owners:$.owners,domain:$.domain,stability:U},policy:$.visibility&&$.visibility!=="public"?{flags:[$.visibility]}:void 0,source:{type:"blocknotejs",docJson:$.body},targets:Y}}function Qb($,z){let Y=$.version??z?.defaultVersion??1,W=$.stability??z?.defaultStability??"stable";return{meta:{name:jM$($,z?.namespace),version:Y,stability:W,tags:$.tags,owners:$.owners,description:$.summary??$.title},content:{kind:"markdown",content:$.body}}}function Xb($,z){return $.map((Y)=>({block:Y,route:tr0(Y,z?.routePrefix),descriptor:Rl(Y,z)}))}var Sl=class{routes=new Map;constructor($=[],z){$.forEach((Y)=>this.register(Y,z))}register($,z){let[Y]=Xb([$],z);if(Y)this.routes.set($.id,Y);return this}list(){return[...this.routes.values()]}get($){return this.routes.get($)}toRouteTuples(){return this.list().map(({route:$,descriptor:z})=>[$,z])}toPresentationSpecs($){return this.list().map(({block:z})=>Qb(z,$))}},ar0=["id","title","body","kind","visibility","route"],Ob=new Sl;function N0($){for(let z of $){for(let Y of ar0)if(!z[Y])throw Error(`DocBlock ${z.id??"<missing id>"} missing field ${String(Y)}`);Ob.register(z)}}function QX($,z){return`${$}.v${z}`}var lD=class{specs=new Map;handlers=new Map;register($){let z=QX($.meta.name,$.meta.version);if(this.specs.has(z))throw Error(`Duplicate spec ${z}`);return this.specs.set(z,$),this}bind($,z){let Y=QX($.meta.name,$.meta.version);if(!this.specs.has(Y))throw Error(`Cannot bind; spec not found: ${Y}`);if(this.handlers.has(Y))throw Error(`Handler already bound for ${Y}`);return this.handlers.set(Y,z),this}getSpec($,z){if(z!=null)return this.specs.get(QX($,z));let Y,W=-1/0;for(let[U,Q]of this.specs.entries()){if(!U.startsWith(`${$}.v`))continue;if(Q.meta.version>W)W=Q.meta.version,Y=Q}return Y}getHandler($,z){let Y=this.getSpec($,z);if(!Y)return;return this.handlers.get(QX(Y.meta.name,Y.meta.version))}listSpecs(){return[...this.specs.values()]}listBound(){let $=[];for(let[z,Y]of this.specs.entries()){let W=this.handlers.get(z);if(W)$.push({spec:Y,handler:W})}return $}async execute($,z,Y,W){let U=this.getSpec($,z);if(!U)throw Error(`Spec not found for ${$}${z?`.v${z}`:""}`);let Q=await W.specVariantResolver?.resolve({name:U.meta.name,version:U.meta.version,kind:U.meta.kind},W)??U,X=QX(Q.meta.name,Q.meta.version),O=this.handlers.get(X);if(!O){let w=QX(U.meta.name,U.meta.version);O=this.handlers.get(w),X=w}if(!O)throw Error(`No handler bound for ${X}`);let G=Q.io.input?.getZod().parse(Y);if(W.decide){let[w,V]=Q.meta.name.split(".");if(!w||!V)throw Error(`Invalid spec name: ${Q.meta.name}`);let I=await W.decide({service:w,command:V,version:Q.meta.version,actor:W.actor??"anonymous",channel:W.channel,roles:W.roles,organizationId:W.organizationId,userId:W.userId,flags:[]});if(I.effect==="deny")throw Error(`PolicyDenied: ${Q.meta.name}.v${Q.meta.version}`);if(I.rateLimit&&W.rateLimit){let j=I.rateLimit.key??"default",A=I.rateLimit.rpm??60;await W.rateLimit(j,1,A)}}let H=new Map;if(Q.sideEffects?.emits)for(let w of Q.sideEffects.emits)if(RW(w))H.set(`${w.ref.name}.v${w.ref.version}`,w.ref.payload);else H.set(`${w.name}.v${w.version}`,w.payload);let Z=async(w,V,I)=>{let j=Tf(w,V),A=H.get(j);if(!A)throw Error(`UndeclaredEvent: ${j} not allowed by ${QX(Q.meta.name,Q.meta.version)}`);let b=A.getZod().parse(I);await W.eventPublisher?.({name:w,version:V,payload:b,traceId:W.traceId})};if(W.appConfig){if(!W.branding)W.branding=W.appConfig.branding;if(!W.translation)W.translation={config:W.appConfig.translation};else if(!W.translation.config)W.translation={...W.translation,config:W.appConfig.translation}}let B=W.telemetry,J=async(w,V)=>{if(!B||!w?.event)return;try{let I=w.properties?.(V)??{};await B.track(w.event.name,w.event.version??1,I,{tenantId:W.organizationId??void 0,organizationId:W.organizationId,userId:W.userId,actor:W.actor,channel:W.channel,metadata:W.traceId?{traceId:W.traceId}:void 0})}catch(I){}},K;try{K=await O(G,{...W,__emitGuard__:Z})}catch(w){if(Q.telemetry?.failure)await J(Q.telemetry.failure,{input:G??Y,error:w});throw w}if(Q.telemetry?.success)await J(Q.telemetry.success,{input:G??Y,output:K});let D=Q.io.output;if(D?.getZod)return D.getZod().parse(K);return K}};var E0={Idea:"idea",InCreation:"in_creation",Experimental:"experimental",Beta:"beta",Stable:"stable",Deprecated:"deprecated"},Oq={ProductColiving:"product.coliving",ProductStrit:"product.strit",ProductArtisanos:"product.artisanos",PlatformSigil:"platform.sigil",PlatformMarketplace:"platform.marketplace",PlatformContent:"platform.content",PlatformFeatureFlags:"platform.featureflags",PlatformFinance:"platform.finance"};var sr0=["contractspec:operation","contractspec:event","contractspec:presentation","contractspec:form","contractspec:feature","contractspec:workflow","contractspec:template","contractspec:integration","contractspec:data-view","contractspec:migration","contractspec:telemetry","contractspec:experiment","contractspec:app-config","contractspec:knowledge"],Cl=C1.enum(sr0),Tl=C1.object({path:C1.string().min(1),type:C1.string().min(1),content:C1.string().optional()}),vl=C1.object({name:C1.string().min(1),type:Cl,version:C1.number().int().nonnegative(),title:C1.string().min(1),description:C1.string().min(1),meta:C1.object({stability:C1.enum([E0.Idea,E0.InCreation,E0.Experimental,E0.Beta,E0.Stable,E0.Deprecated]),owners:C1.array(C1.string().min(1)).default([]),tags:C1.array(C1.string().min(1)).default([])}),dependencies:C1.array(C1.string().min(1)).optional(),registryDependencies:C1.array(C1.string().min(1)).optional(),files:C1.array(Tl).min(1),schema:C1.object({input:C1.unknown().optional(),output:C1.unknown().optional()}).optional()}),FM$=C1.object({$schema:C1.string().min(1).optional(),name:C1.string().min(1),homepage:C1.string().min(1).optional(),items:C1.array(vl)});function bM$($,z){return`${$.replace(/\./g,"_")}_v${z}`}function LM$($,z,Y){return`${$}_${bM$(z,Y)}`}function er0($,z){return(z??($==="query"?"GET":"POST")).toLowerCase()}function $p0($){let z=$.transport?.rest?.path??JF($.meta.name,$.meta.version);return z.startsWith("/")?z:`/${z}`}function _l($,z={}){let Y=$.listSpecs().filter((U)=>U.meta.kind==="command"||U.meta.kind==="query").slice().sort((U,Q)=>{let X=U.meta.name.localeCompare(Q.meta.name);return X!==0?X:U.meta.version-Q.meta.version}),W={openapi:"3.1.0",info:{title:z.title??"ContractSpec API",version:z.version??"0.0.0",...z.description?{description:z.description}:{}},...z.servers?{servers:z.servers}:{},paths:{},components:{schemas:{}}};for(let U of Y){let Q=qH(U),X=er0(U.meta.kind,U.transport?.rest?.method),O=$p0(U),G=bM$(U.meta.name,U.meta.version),H=W.paths[O]??={},Z={operationId:G,summary:U.meta.description??U.meta.name,description:U.meta.description,tags:U.meta.tags??[],"x-contractspec":{name:U.meta.name,version:U.meta.version,kind:U.meta.kind},responses:{}};if(Q.input){let J=LM$("Input",U.meta.name,U.meta.version);W.components.schemas[J]=Q.input,Z.requestBody={required:!0,content:{"application/json":{schema:{$ref:`#/components/schemas/${J}`}}}}}let B={};if(Q.output){let J=LM$("Output",U.meta.name,U.meta.version);W.components.schemas[J]=Q.output,B["200"]={description:"OK",content:{"application/json":{schema:{$ref:`#/components/schemas/${J}`}}}}}else B["200"]={description:"OK"};Z.responses=B,H[X]=Z}return W}var MM$=new S0({name:"SaveOnboardingDraftInput",description:"Input for saving onboarding draft",fields:{data:{type:m.JSON(),isOptional:!1}}}),PM$=new S0({name:"SaveOnboardingDraftOutput",description:"Output for saving onboarding draft",fields:{id:{type:m.ID(),isOptional:!1},organizationId:{type:m.ID(),isOptional:!1}}}),zp0=D4({meta:{name:"base.onboarding.saveDraft",version:1,stability:E0.Beta,owners:[Oq.PlatformSigil],tags:["onboarding","draft"],description:"Save or update onboarding draft for active organization",goal:"Persist onboarding progress incrementally for resumption and safety",context:"Auto-saves every few seconds during onboarding; enables users to leave and resume"},io:{input:MM$,output:PM$},policy:{auth:"user",escalate:null},transport:{gql:{field:"saveOnboardingDraft"},rest:{method:"POST"}}}),NM$=new S0({name:"GetOnboardingDraftOutput",description:"Onboarding draft payload",fields:{id:{type:m.ID(),isOptional:!0},organizationId:{type:m.ID(),isOptional:!0},data:{type:m.JSON(),isOptional:!0},createdAt:{type:m.DateTime(),isOptional:!0},updatedAt:{type:m.DateTime(),isOptional:!0}}}),Yp0=T9({meta:{name:"base.onboarding.getDraft",version:1,stability:E0.Beta,owners:[Oq.PlatformSigil],tags:["onboarding","draft"],description:"Get onboarding draft for active organization",goal:"Retrieve saved onboarding progress",context:"Called on mount to restore in-progress onboarding"},io:{input:null,output:NM$},policy:{auth:"user",escalate:null},transport:{gql:{field:"getOnboardingDraft"},rest:{method:"GET"}}}),EM$=new S0({name:"DeleteOnboardingDraftOutput",description:"Result of delete operation",fields:{ok:{type:m.Boolean(),isOptional:!1}}}),Up0=D4({meta:{name:"base.onboarding.deleteDraft",version:1,stability:E0.Beta,owners:[Oq.PlatformSigil],tags:["onboarding","draft"],description:"Delete onboarding draft for active organization",goal:"Clear draft after completion or if user wants to restart",context:"Called after successful onboarding or explicit user reset"},io:{input:null,output:EM$},policy:{auth:"user",escalate:null},transport:{gql:{field:"deleteOnboardingDraft"},rest:{method:"POST"}}}),RM$=new S0({name:"CompleteOnboardingBaseInput",description:"Input for completing onboarding",fields:{data:{type:m.JSON(),isOptional:!1}}}),SM$=new S0({name:"CompleteOnboardingBaseOutput",description:"Result of onboarding completion",fields:{success:{type:m.Boolean(),isOptional:!1},userId:{type:m.ID(),isOptional:!0},organizationId:{type:m.ID(),isOptional:!0}}}),Wp0=D4({meta:{name:"base.onboarding.complete",version:1,stability:E0.Beta,owners:[Oq.PlatformSigil],tags:["onboarding"],description:"Complete onboarding and finalize user/organization setup",goal:"Transition from draft to active profile",context:"Validates all required fields, creates/updates entities, marks onboarding complete"},io:{input:RM$,output:SM$},policy:{auth:"user",escalate:null},transport:{gql:{field:"completeOnboarding"},rest:{method:"POST"}}});var kl=["platform.finance"],ul=["open-banking","finance"],Qp0={meta:{key:"openbanking.accounts.read",version:1,kind:"integration",title:"Open Banking Accounts (Read)",description:"Provides read-only access to linked bank accounts, including account summaries and metadata.",domain:"finance",owners:[...kl],tags:[...ul],stability:E0.Experimental},provides:[{surface:"operation",name:"openbanking.accounts.list",version:1,description:"List bank accounts linked to a Powens open banking connection."},{surface:"operation",name:"openbanking.accounts.get",version:1,description:"Retrieve the canonical bank account record for a specific account."},{surface:"operation",name:"openbanking.accounts.sync",version:1,description:"Trigger a refresh of bank account metadata from the open banking provider."}]},Xp0={meta:{key:"openbanking.transactions.read",version:1,kind:"integration",title:"Open Banking Transactions (Read)",description:"Enables retrieval of transaction history for linked bank accounts via open banking providers.",domain:"finance",owners:[...kl],tags:[...ul,"transactions"],stability:E0.Experimental},provides:[{surface:"operation",name:"openbanking.transactions.list",version:1,description:"List transactions for a given bank account with optional date filtering."},{surface:"operation",name:"openbanking.transactions.sync",version:1,description:"Synchronise transactions from the open banking provider into the canonical ledger."}]},Op0={meta:{key:"openbanking.balances.read",version:1,kind:"integration",title:"Open Banking Balances (Read)",description:"Allows querying of current and available balances for linked bank accounts via open banking providers.",domain:"finance",owners:[...kl],tags:[...ul,"balances"],stability:E0.Experimental},provides:[{surface:"operation",name:"openbanking.balances.get",version:1,description:"Retrieve the latest known balances for a specified bank account."},{surface:"operation",name:"openbanking.balances.refresh",version:1,description:"Force a balance refresh from the open banking provider."}]};import{deepStrictEqual as Bp0}from"node:assert";var Gb=class{constructor($){this.config=$}async run($){let z=[],Y=0,W=0;for(let U of $.scenarios){await this.config.beforeEach?.(U);let Q=await this.runScenario($,U);if(z.push(Q),Q.status==="passed")Y+=1;else W+=1;await this.config.afterEach?.(U,Q)}return{spec:$,scenarios:z,passed:Y,failed:W}}async runScenario($,z){let Y=[];try{let W=await this.createContext(),U=[...$.fixtures??[],...z.given??[]],Q=[];for(let G of U)await this.executeOperation(G,W,Q);let X=await this.executeOperation(z.when,W,Q),O=z.then??[];for(let G of O){let H=this.evaluateAssertion(G,X,Q);Y.push(H)}return{scenario:z,status:Y.some((G)=>G.status==="failed")?"failed":"passed",assertionResults:Y}}catch(W){return{scenario:z,status:"failed",error:W,assertionResults:Y}}}async createContext(){return{...await this.config.createContext?.()??{}}}async executeOperation($,z,Y){let W={...z,eventPublisher:async(U)=>{Y.push({name:U.name,version:U.version,payload:U.payload}),await z.eventPublisher?.(U)}};try{return{output:await this.config.registry.execute($.operation.name,$.operation.version,$.input??null,W),events:Y}}catch(U){return{error:U,events:Y}}}evaluateAssertion($,z,Y){switch($.type){case"expectOutput":return this.evaluateOutputAssertion($,z);case"expectError":return this.evaluateErrorAssertion($,z);case"expectEvents":return this.evaluateEventsAssertion($,Y);default:return{assertion:$,status:"failed",message:`Unknown assertion type ${$.type}`}}}evaluateOutputAssertion($,z){if(z.error)return{assertion:$,status:"failed",message:`Expected output but operation threw error: ${z.error.message}`};try{return Bp0(z.output,$.match),{assertion:$,status:"passed"}}catch(Y){return{assertion:$,status:"failed",message:Y instanceof Error?Y.message:"Output assertion failed"}}}evaluateErrorAssertion($,z){if(!z.error)return{assertion:$,status:"failed",message:"Expected an error but operation completed successfully"};if($.messageIncludes&&!z.error.message.includes($.messageIncludes))return{assertion:$,status:"failed",message:`Error message "${z.error.message}" did not include expected substring "${$.messageIncludes}"`};return{assertion:$,status:"passed"}}evaluateEventsAssertion($,z){let Y=[];for(let W of $.events){let U=z.filter((Q)=>Q.name===W.name&&Q.version===W.version).length;if(typeof W.min==="number"&&U<W.min||typeof W.max==="number"&&U>W.max)Y.push(`Event ${W.name}.v${W.version} occurred ${U} times (expected ${W.min??0} - ${W.max??"∞"})`);else if(typeof W.min>"u"&&typeof W.max>"u"&&U===0)Y.push(`Event ${W.name}.v${W.version} did not occur`)}if(Y.length>0)return{assertion:$,status:"failed",message:Y.join("; ")};return{assertion:$,status:"passed"}}};var fl={meta:{key:"payments.stripe",version:1,category:"payments",displayName:"Stripe",title:"Stripe Payments",description:"Stripe integration for payment processing, charges, and payouts.",domain:"payments",owners:["platform.payments"],tags:["payments","psp"],stability:E0.Stable},supportedModes:["managed","byok"],capabilities:{provides:[{key:"payments.psp",version:1}],requires:[{key:"platform.webhooks",optional:!0,reason:"Recommended for reliable event ingestion"}]},configSchema:{schema:{type:"object",properties:{accountId:{type:"string",description:"Connected account ID when using Stripe Connect (BYOK)."},region:{type:"string",description:"Optional Stripe region or data residency hint."}}},example:{accountId:"acct_123",region:"us-east-1"}},secretSchema:{schema:{type:"object",required:["apiKey","webhookSecret"],properties:{apiKey:{type:"string",description:"Stripe secret API key (sk_live_... or sk_test_...)."},webhookSecret:{type:"string",description:"Signing secret for webhook verification."}}},example:{apiKey:"sk_live_***",webhookSecret:"whsec_***"}},healthCheck:{method:"ping",timeoutMs:5000},docsUrl:"https://stripe.com/docs/api",constraints:{rateLimit:{rpm:1000,rph:20000}},byokSetup:{setupInstructions:"Create a restricted Stripe API key with write access to Charges and provide a webhook signing secret.",requiredScopes:["charges:write","customers:read"]}};var yl={meta:{key:"email.postmark",version:1,category:"email",displayName:"Postmark",title:"Postmark Transactional Email",description:"Postmark integration for transactional email delivery.",domain:"communications",owners:["platform.messaging"],tags:["email","transactional"],stability:E0.Stable},supportedModes:["managed","byok"],capabilities:{provides:[{key:"email.transactional",version:1}],requires:[{key:"platform.webhooks",optional:!0,reason:"Optional for inbound bounce handling"}]},configSchema:{schema:{type:"object",properties:{messageStream:{type:"string",description:"Optional message stream identifier (e.g., transactional)."},fromEmail:{type:"string",description:"Default From address used for outbound messages."}}},example:{messageStream:"outbound",fromEmail:"notifications@example.com"}},secretSchema:{schema:{type:"object",required:["serverToken"],properties:{serverToken:{type:"string",description:"Server token for the Postmark account."}}},example:{serverToken:"server-***"}},healthCheck:{method:"ping",timeoutMs:3000},docsUrl:"https://postmarkapp.com/developer",constraints:{rateLimit:{rpm:500}},byokSetup:{setupInstructions:"Create a Postmark server token with outbound send permissions and configure allowed from addresses."}};var gl={meta:{key:"vectordb.qdrant",version:1,category:"vector-db",displayName:"Qdrant",title:"Qdrant Vector Database",description:"Qdrant integration for vector search and embeddings storage.",domain:"ai",owners:["platform.ai"],tags:["vector-db","search"],stability:E0.Experimental},supportedModes:["managed","byok"],capabilities:{provides:[{key:"vector-db.search",version:1},{key:"vector-db.storage",version:1}],requires:[{key:"ai.embeddings",optional:!0,reason:"Required if vectors are generated via hosted embedding services"}]},configSchema:{schema:{type:"object",properties:{apiUrl:{type:"string",description:"Base URL for the Qdrant instance (e.g., https://qdrant.example.com)."},collectionPrefix:{type:"string",description:"Prefix applied to all collection names for this tenant."}}},example:{apiUrl:"https://qdrant.example.com",collectionPrefix:"tenant_"}},secretSchema:{schema:{type:"object",properties:{apiKey:{type:"string",description:"API key or token when authentication is enabled."}}},example:{apiKey:"qdrant-api-key"}},healthCheck:{method:"ping",timeoutMs:4000},docsUrl:"https://qdrant.tech/documentation/quick-start/",constraints:{quotas:{collections:100,pointsPerCollection:1e6}},byokSetup:{setupInstructions:"Provide the HTTPS endpoint of your Qdrant cluster and generate an API key with read/write access to the collections that will be managed."}};var xl={meta:{key:"ai-llm.mistral",version:1,category:"ai-llm",displayName:"Mistral AI",title:"Mistral Large Language Model",description:"Mistral integration providing chat completions and embedding generation.",domain:"ai",owners:["platform.ai"],tags:["ai","llm","embeddings"],stability:E0.Experimental},supportedModes:["managed","byok"],capabilities:{provides:[{key:"ai.chat",version:1},{key:"ai.embeddings",version:1}]},configSchema:{schema:{type:"object",properties:{model:{type:"string",description:"Default chat completion model (e.g., mistral-large-latest)."},embeddingModel:{type:"string",description:"Embedding model identifier."}}},example:{model:"mistral-large-latest",embeddingModel:"mistral-embed"}},secretSchema:{schema:{type:"object",required:["apiKey"],properties:{apiKey:{type:"string",description:"Mistral API key with access to chat and embeddings endpoints."}}},example:{apiKey:"mistral-***"}},healthCheck:{method:"custom",timeoutMs:5000},docsUrl:"https://docs.mistral.ai/platform/endpoints",constraints:{rateLimit:{rpm:600}},byokSetup:{setupInstructions:"Generate an API key within the Mistral console and ensure the selected models are enabled for the account."}};var hl={meta:{key:"ai-voice.elevenlabs",version:1,category:"ai-voice",displayName:"ElevenLabs Voice",title:"ElevenLabs Text-to-Speech",description:"ElevenLabs integration for neural voice synthesis and voice catalog access.",domain:"ai",owners:["platform.ai"],tags:["voice","tts"],stability:E0.Beta},supportedModes:["managed","byok"],capabilities:{provides:[{key:"ai.voice.synthesis",version:1}]},configSchema:{schema:{type:"object",properties:{defaultVoiceId:{type:"string",description:"Optional default voice identifier for synthesis requests."}}},example:{defaultVoiceId:"pNInz6obpgDQGcFmaJgB"}},secretSchema:{schema:{type:"object",required:["apiKey"],properties:{apiKey:{type:"string",description:"ElevenLabs API key with text-to-speech permissions."}}},example:{apiKey:"eleven-***"}},healthCheck:{method:"custom",timeoutMs:4000},docsUrl:"https://elevenlabs.io/docs/api-reference/text-to-speech",constraints:{rateLimit:{rpm:120}},byokSetup:{setupInstructions:"Create an ElevenLabs API key and ensure the desired voices are accessible to the key scope."}};var ml={meta:{key:"email.gmail",version:1,category:"email",displayName:"Gmail API",title:"Google Gmail API",description:"Gmail integration supporting inbound thread ingestion and outbound transactional email.",domain:"communications",owners:["platform.messaging"],tags:["email","gmail"],stability:E0.Beta},supportedModes:["managed","byok"],capabilities:{provides:[{key:"email.inbound",version:1},{key:"email.outbound",version:1}]},configSchema:{schema:{type:"object",properties:{labelIds:{type:"array",items:{type:"string"},description:"Optional list of label IDs to scope inbound sync."},includeSpamTrash:{type:"boolean",description:"Whether to include spam or trash messages during sync."}}},example:{labelIds:["INBOX"],includeSpamTrash:!1}},secretSchema:{schema:{type:"object",required:["clientId","clientSecret","refreshToken"],properties:{clientId:{type:"string",description:"OAuth client ID for the Google Cloud project."},clientSecret:{type:"string",description:"OAuth client secret for the Google Cloud project."},refreshToken:{type:"string",description:"OAuth refresh token for delegated Gmail access."},redirectUri:{type:"string",description:"Optional redirect URI used when issuing the refresh token."}}},example:{clientId:"xxx.apps.googleusercontent.com",clientSecret:"secret",refreshToken:"refresh-token"}},healthCheck:{method:"custom",timeoutMs:4000},docsUrl:"https://developers.google.com/gmail/api",constraints:{rateLimit:{rpm:600}},byokSetup:{setupInstructions:"Create an OAuth consent screen and credentials within Google Cloud Console, then authorize the Gmail scopes and store the resulting refresh token."}};var cl={meta:{key:"calendar.google",version:1,category:"calendar",displayName:"Google Calendar",title:"Google Calendar API",description:"Google Calendar integration for event creation, updates, and scheduling automations.",domain:"productivity",owners:["platform.messaging"],tags:["calendar","google"],stability:E0.Beta},supportedModes:["managed","byok"],capabilities:{provides:[{key:"calendar.events",version:1}]},configSchema:{schema:{type:"object",properties:{calendarId:{type:"string",description:"Default calendar identifier (defaults to primary)."}}},example:{calendarId:"primary"}},secretSchema:{schema:{type:"object",required:["clientEmail","privateKey"],properties:{clientEmail:{type:"string",description:"Service account client email."},privateKey:{type:"string",description:"Service account private key."},projectId:{type:"string",description:"Google Cloud project ID."}}},example:{clientEmail:"svc-calendar@example.iam.gserviceaccount.com",privateKey:"-----BEGIN PRIVATE KEY-----...",projectId:"calendar-project"}},healthCheck:{method:"custom",timeoutMs:4000},docsUrl:"https://developers.google.com/calendar/api",constraints:{},byokSetup:{setupInstructions:"Create a Google service account with Calendar access and share the target calendars with the service account email."}};var ll={meta:{key:"sms.twilio",version:1,category:"sms",displayName:"Twilio SMS",title:"Twilio Messaging",description:"Twilio SMS integration for transactional and notification messaging.",domain:"communications",owners:["platform.messaging"],tags:["sms","messaging"],stability:E0.Stable},supportedModes:["managed","byok"],capabilities:{provides:[{key:"sms.outbound",version:1}]},configSchema:{schema:{type:"object",properties:{fromNumber:{type:"string",description:"Default Twilio phone number used as sender."}}},example:{fromNumber:"+15551234567"}},secretSchema:{schema:{type:"object",required:["accountSid","authToken"],properties:{accountSid:{type:"string",description:"Twilio Account SID."},authToken:{type:"string",description:"Twilio Auth Token."}}},example:{accountSid:"ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",authToken:"auth-token"}},healthCheck:{method:"custom",timeoutMs:3000},docsUrl:"https://www.twilio.com/docs/sms/api",constraints:{rateLimit:{rpm:200}},byokSetup:{setupInstructions:"Provide a Twilio account SID, auth token, and verify the outbound sending numbers used by the integration."}};var dl={meta:{key:"storage.gcs",version:1,category:"storage",displayName:"Google Cloud Storage",title:"Google Cloud Storage Buckets",description:"Google Cloud Storage integration for object storage and retrieval.",domain:"infrastructure",owners:["platform.infrastructure"],tags:["storage","gcs","google-cloud"],stability:E0.Beta},supportedModes:["managed","byok"],capabilities:{provides:[{key:"storage.objects",version:1}]},configSchema:{schema:{type:"object",required:["bucket"],properties:{bucket:{type:"string",description:"Primary bucket name used for storing objects."},prefix:{type:"string",description:"Optional prefix applied to object keys."}}},example:{bucket:"pfo-tenant-assets",prefix:"documents/"}},secretSchema:{schema:{type:"object",properties:{type:{type:"string",description:"Service account type field from Google credentials JSON (if provided)."},client_email:{type:"string"},private_key:{type:"string"},project_id:{type:"string"}}},example:{type:"service_account",client_email:"svc-account@example.iam.gserviceaccount.com",private_key:"-----BEGIN PRIVATE KEY-----...",project_id:"example-project"}},healthCheck:{method:"ping",timeoutMs:4000},docsUrl:"https://cloud.google.com/storage/docs/apis",constraints:{quotas:{storageGb:5120}},byokSetup:{setupInstructions:"Create a Google Cloud service account with Storage Object Admin role and upload the JSON credentials to the secret store."}};var il={meta:{key:"openbanking.powens",version:1,category:"open-banking",displayName:"Powens Open Banking",title:"Powens Open Banking (Read)",description:"Read-only Open Banking integration powered by Powens, exposing accounts, transactions, and balances.",domain:"finance",owners:["platform.finance"],tags:["open-banking","powens","finance"],stability:E0.Experimental},supportedModes:["byok"],capabilities:{provides:[{key:"openbanking.accounts.read",version:1},{key:"openbanking.transactions.read",version:1},{key:"openbanking.balances.read",version:1}]},configSchema:{schema:{type:"object",required:["environment"],properties:{environment:{type:"string",enum:["sandbox","production"],description:"Powens environment to target. Sandbox uses Powens test API base URL, production uses live endpoints."},baseUrl:{type:"string",description:"Optional override for the Powens API base URL. Defaults to Powens environment defaults."},region:{type:"string",description:"Optional Powens region identifier when targeting a specific data residency cluster."},pollingIntervalMs:{type:"number",description:"Optional custom polling interval in milliseconds for background sync jobs (defaults to platform standard)."}}},example:{environment:"sandbox",baseUrl:"https://api-sandbox.powens.com/v2",region:"eu-west-1",pollingIntervalMs:300000}},secretSchema:{schema:{type:"object",required:["clientId","clientSecret"],properties:{clientId:{type:"string",description:"Powens OAuth client identifier obtained from the Powens Console (BYOK project)."},clientSecret:{type:"string",description:"Powens OAuth client secret used to exchange for access tokens."},apiKey:{type:"string",description:"Optional Powens API key (if the tenant project exposes a dedicated API token)."},webhookSecret:{type:"string",description:"Optional webhook signing secret used to verify Powens webhook payloads."}}},example:{clientId:"powens-client-id",clientSecret:"powens-client-secret",apiKey:"powens-api-key",webhookSecret:"powens-webhook-secret"}},healthCheck:{method:"ping",timeoutMs:8000},docsUrl:"https://docs.powens.com/",constraints:{rateLimit:{rph:1e4,rpm:600}},byokSetup:{setupInstructions:"Create a Powens BYOK project, generate OAuth credentials, and optionally configure webhook delivery for account/transaction updates.",requiredScopes:["accounts:read","transactions:read","balances:read"]}};var dD=new S0({name:"BankAccountRecord",description:"Canonical representation of a bank account synced from an open banking provider.",fields:{id:{type:m.ID(),isOptional:!1},tenantId:{type:m.ID(),isOptional:!1},userId:{type:m.ID(),isOptional:!1},connectionId:{type:m.ID(),isOptional:!1},externalId:{type:m.NonEmptyString(),isOptional:!1},institutionId:{type:m.NonEmptyString(),isOptional:!1},institutionName:{type:m.NonEmptyString(),isOptional:!1},institutionLogoUrl:{type:m.URL(),isOptional:!0},iban:{type:m.String_unsecure(),isOptional:!0},bic:{type:m.String_unsecure(),isOptional:!0},accountType:{type:m.NonEmptyString(),isOptional:!1},currency:{type:m.Currency(),isOptional:!1},displayName:{type:m.NonEmptyString(),isOptional:!1},accountNumberMasked:{type:m.String_unsecure(),isOptional:!0},productCode:{type:m.String_unsecure(),isOptional:!0},balance:{type:m.Float_unsecure(),isOptional:!0},availableBalance:{type:m.Float_unsecure(),isOptional:!0},lastSyncedAt:{type:m.DateTime(),isOptional:!1},createdAt:{type:m.DateTime(),isOptional:!1},updatedAt:{type:m.DateTime(),isOptional:!1},metadata:{type:m.JSONObject(),isOptional:!0}}}),Hb=new S0({name:"BankTransactionRecord",description:"Canonical transaction entry mapped from Powens into the open banking ledger.",fields:{id:{type:m.ID(),isOptional:!1},accountId:{type:m.ID(),isOptional:!1},tenantId:{type:m.ID(),isOptional:!1},connectionId:{type:m.ID(),isOptional:!1},externalId:{type:m.NonEmptyString(),isOptional:!1},amount:{type:m.Float_unsecure(),isOptional:!1},currency:{type:m.Currency(),isOptional:!1},date:{type:m.DateTime(),isOptional:!1},bookingDate:{type:m.DateTime(),isOptional:!0},valueDate:{type:m.DateTime(),isOptional:!0},description:{type:m.String_unsecure(),isOptional:!0},counterpartyName:{type:m.String_unsecure(),isOptional:!0},counterpartyAccount:{type:m.String_unsecure(),isOptional:!0},merchantCategoryCode:{type:m.String_unsecure(),isOptional:!0},rawCategory:{type:m.String_unsecure(),isOptional:!0},standardizedCategory:{type:m.String_unsecure(),isOptional:!0},transactionType:{type:m.NonEmptyString(),isOptional:!1},status:{type:m.NonEmptyString(),isOptional:!1},runningBalance:{type:m.Float_unsecure(),isOptional:!0},metadata:{type:m.JSONObject(),isOptional:!0},createdAt:{type:m.DateTime(),isOptional:!1},updatedAt:{type:m.DateTime(),isOptional:!1}}}),iD=new S0({name:"AccountBalanceRecord",description:"Canonical balance snapshot computed from Powens balance payloads.",fields:{id:{type:m.ID(),isOptional:!1},accountId:{type:m.ID(),isOptional:!1},tenantId:{type:m.ID(),isOptional:!1},connectionId:{type:m.ID(),isOptional:!1},balanceType:{type:m.NonEmptyString(),isOptional:!1},currentBalance:{type:m.Float_unsecure(),isOptional:!1},availableBalance:{type:m.Float_unsecure(),isOptional:!0},currency:{type:m.Currency(),isOptional:!1},lastUpdatedAt:{type:m.DateTime(),isOptional:!1},createdAt:{type:m.DateTime(),isOptional:!1},metadata:{type:m.JSONObject(),isOptional:!0}}});var pY={accountsSynced:"openbanking.accounts.synced",accountsSyncFailed:"openbanking.accounts.sync_failed",transactionsSynced:"openbanking.transactions.synced",transactionsSyncFailed:"openbanking.transactions.sync_failed",balancesRefreshed:"openbanking.balances.refreshed",balancesRefreshFailed:"openbanking.balances.refresh_failed",overviewGenerated:"openbanking.overview.generated"};var Dp0=new S0({name:"OpenBankingListAccountsInput",description:"Parameters for listing bank accounts through the open banking provider.",fields:{tenantId:{type:m.ID(),isOptional:!1},userId:{type:m.ID(),isOptional:!1},connectionId:{type:m.ID(),isOptional:!0},includeBalances:{type:m.Boolean(),isOptional:!0},institutionId:{type:m.String_unsecure(),isOptional:!0},cursor:{type:m.String_unsecure(),isOptional:!0},pageSize:{type:m.Int_unsecure(),isOptional:!0}}}),wp0=new S0({name:"OpenBankingListAccountsOutput",description:"Paginated list of bank accounts available to the tenant and user.",fields:{accounts:{type:dD,isOptional:!1,isArray:!0},nextCursor:{type:m.String_unsecure(),isOptional:!0},hasMore:{type:m.Boolean(),isOptional:!0}}}),Vp0=new S0({name:"OpenBankingGetAccountInput",description:"Parameters for retrieving a specific bank account.",fields:{tenantId:{type:m.ID(),isOptional:!1},accountId:{type:m.ID(),isOptional:!1},includeBalances:{type:m.Boolean(),isOptional:!0},includeLatestTransactions:{type:m.Boolean(),isOptional:!0}}}),Ap0=new S0({name:"OpenBankingSyncAccountsInput",description:"Command payload to trigger an account synchronisation against the open banking provider.",fields:{tenantId:{type:m.ID(),isOptional:!1},userId:{type:m.ID(),isOptional:!0},connectionId:{type:m.ID(),isOptional:!1},accountIds:{type:m.ID(),isArray:!0,isOptional:!0},forceFullRefresh:{type:m.Boolean(),isOptional:!0},triggerWorkflows:{type:m.Boolean(),isOptional:!0}}}),jp0=new S0({name:"OpenBankingSyncAccountsOutput",description:"Result of a bank account synchronisation run.",fields:{synced:{type:m.Int_unsecure(),isOptional:!1},failed:{type:m.Int_unsecure(),isOptional:!1},errors:{type:m.String_unsecure(),isArray:!0,isOptional:!0},nextSyncSuggestedAt:{type:m.DateTime(),isOptional:!0}}}),Yd=T9({meta:{name:"openbanking.accounts.list",version:1,description:"List bank accounts available to a tenant/user via Powens Open Banking.",goal:"Provide downstream workflows with the set of accounts accessible via the configured open banking connection.",context:"Used by Pocket Family Office dashboards and sync workflows to enumerate bank accounts prior to syncing balances or transactions.",owners:["platform.finance"],tags:["open-banking","powens","accounts"],stability:"experimental"},io:{input:Dp0,output:wp0},policy:{auth:"user"}}),Ud=T9({meta:{name:"openbanking.accounts.get",version:1,description:"Retrieve the canonical bank account record for the given account identifier.",goal:"Allow user-facing experiences and automations to display up-to-date account metadata.",context:"Invoked by UI surfaces and workflow automation steps that require detailed metadata for a specific bank account.",owners:["platform.finance"],tags:["open-banking","powens","accounts"],stability:"experimental"},io:{input:Vp0,output:dD},policy:{auth:"user"}}),Wd=D4({meta:{name:"openbanking.accounts.sync",version:1,description:"Initiate a synchronisation run to refresh bank account metadata from Powens.",goal:"Keep canonical bank account records aligned with the external open banking provider.",context:"Triggered by scheduled workflows or manual operator actions to reconcile account metadata prior to transaction/balance syncs.",owners:["platform.finance"],tags:["open-banking","powens","accounts"],stability:"experimental"},io:{input:Ap0,output:jp0},policy:{auth:"admin"},telemetry:{success:{event:{name:pY.accountsSynced},properties:({input:$,output:z})=>{let Y=$,W=z;return{tenantId:Y?.tenantId,connectionId:Y?.connectionId,synced:W?.synced,failed:W?.failed}}},failure:{event:{name:pY.accountsSyncFailed},properties:({input:$,error:z})=>{let Y=$;return{tenantId:Y?.tenantId,connectionId:Y?.connectionId,error:z instanceof Error?z.message:String(z??"unknown")}}}}});var Ip0=new S0({name:"OpenBankingListTransactionsInput",description:"Parameters for listing bank transactions from the canonical ledger.",fields:{tenantId:{type:m.ID(),isOptional:!1},accountId:{type:m.ID(),isOptional:!1},from:{type:m.DateTime(),isOptional:!0},to:{type:m.DateTime(),isOptional:!0},cursor:{type:m.String_unsecure(),isOptional:!0},pageSize:{type:m.Int_unsecure(),isOptional:!0},direction:{type:m.String_unsecure(),isOptional:!0},minimumAmount:{type:m.Float_unsecure(),isOptional:!0},maximumAmount:{type:m.Float_unsecure(),isOptional:!0},category:{type:m.String_unsecure(),isOptional:!0}}}),Fp0=new S0({name:"OpenBankingListTransactionsOutput",description:"Paginated list of transactions for a bank account.",fields:{transactions:{type:Hb,isOptional:!1,isArray:!0},nextCursor:{type:m.String_unsecure(),isOptional:!0},hasMore:{type:m.Boolean(),isOptional:!0}}}),Lp0=new S0({name:"OpenBankingSyncTransactionsInput",description:"Command payload to synchronise transactions from the open banking provider into the canonical ledger.",fields:{tenantId:{type:m.ID(),isOptional:!1},accountId:{type:m.ID(),isOptional:!1},from:{type:m.DateTime(),isOptional:!0},to:{type:m.DateTime(),isOptional:!0},connectionId:{type:m.ID(),isOptional:!0},includePending:{type:m.Boolean(),isOptional:!0},backfillDays:{type:m.Int_unsecure(),isOptional:!0}}}),bp0=new S0({name:"OpenBankingSyncTransactionsOutput",description:"Result of a transaction synchronisation run.",fields:{synced:{type:m.Int_unsecure(),isOptional:!1},failed:{type:m.Int_unsecure(),isOptional:!1},earliestSyncedAt:{type:m.DateTime(),isOptional:!0},latestSyncedAt:{type:m.DateTime(),isOptional:!0},nextSinceToken:{type:m.String_unsecure(),isOptional:!0},errors:{type:m.String_unsecure(),isArray:!0,isOptional:!0}}}),Qd=T9({meta:{name:"openbanking.transactions.list",version:1,description:"List bank transactions that have been normalised into the canonical ledger.",goal:"Allow downstream analytics and UI surfaces to page through canonical bank transactions.",context:"Used by Pocket Family Office dashboards, reconciliation workflows, and analytics data views.",owners:["platform.finance"],tags:["open-banking","powens","transactions"],stability:"experimental"},io:{input:Ip0,output:Fp0},policy:{auth:"user"}}),Xd=D4({meta:{name:"openbanking.transactions.sync",version:1,description:"Synchronise transactions for a bank account by calling the configured open banking provider.",goal:"Ensure the canonical transaction ledger stays aligned with the external provider.",context:"Triggered by scheduled workflows or on-demand actions when activity is expected on an account.",owners:["platform.finance"],tags:["open-banking","powens","transactions"],stability:"experimental"},io:{input:Lp0,output:bp0},policy:{auth:"admin"},telemetry:{success:{event:{name:pY.transactionsSynced},properties:({input:$,output:z})=>{let Y=$,W=z;return{tenantId:Y?.tenantId,accountId:Y?.accountId,synced:W?.synced,failed:W?.failed,earliestSyncedAt:W?.earliestSyncedAt,latestSyncedAt:W?.latestSyncedAt}}},failure:{event:{name:pY.transactionsSyncFailed},properties:({input:$,error:z})=>{let Y=$;return{tenantId:Y?.tenantId,accountId:Y?.accountId,error:z instanceof Error?z.message:String(z??"unknown")}}}}});var Mp0=new S0({name:"OpenBankingGetBalancesInput",description:"Parameters for retrieving bank account balances from the canonical ledger.",fields:{tenantId:{type:m.ID(),isOptional:!1},accountId:{type:m.ID(),isOptional:!1},balanceTypes:{type:m.String_unsecure(),isArray:!0,isOptional:!0}}}),Pp0=new S0({name:"OpenBankingGetBalancesOutput",description:"Canonical balances for a bank account.",fields:{balances:{type:iD,isOptional:!1,isArray:!0},asOf:{type:m.DateTime(),isOptional:!0}}}),Np0=new S0({name:"OpenBankingRefreshBalancesInput",description:"Command payload to refresh balances for a bank account via the open banking provider.",fields:{tenantId:{type:m.ID(),isOptional:!1},accountId:{type:m.ID(),isOptional:!1},connectionId:{type:m.ID(),isOptional:!0},balanceTypes:{type:m.String_unsecure(),isArray:!0,isOptional:!0},forceRefresh:{type:m.Boolean(),isOptional:!0}}}),Ep0=new S0({name:"OpenBankingRefreshBalancesOutput",description:"Result of a balance refresh against the open banking provider.",fields:{balances:{type:iD,isOptional:!1,isArray:!0},refreshedAt:{type:m.DateTime(),isOptional:!1},errors:{type:m.String_unsecure(),isArray:!0,isOptional:!0}}}),Od=T9({meta:{name:"openbanking.balances.get",version:1,description:"Retrieve the latest cached balances for a bank account.",goal:"Expose current and available balances required by dashboards and analytics.",context:"Used by Pocket Family Office UI surfaces and automation steps that require balance totals prior to generating summaries.",owners:["platform.finance"],tags:["open-banking","powens","balances"],stability:"experimental"},io:{input:Mp0,output:Pp0},policy:{auth:"user"}}),Gd=D4({meta:{name:"openbanking.balances.refresh",version:1,description:"Refresh balances for a bank account via the configured open banking provider.",goal:"Ensure canonical balance records reflect the latest values from Powens.",context:"Triggered by scheduled workflows before generating summaries or forecasting cashflow.",owners:["platform.finance"],tags:["open-banking","powens","balances"],stability:"experimental"},io:{input:Np0,output:Ep0},policy:{auth:"admin"},telemetry:{success:{event:{name:pY.balancesRefreshed},properties:({input:$,output:z})=>{let Y=$,W=z;return{tenantId:Y?.tenantId,accountId:Y?.accountId,refreshedAt:W?.refreshedAt,balanceCount:Array.isArray(W?.balances)?W?.balances.length:void 0}}},failure:{event:{name:pY.balancesRefreshFailed},properties:({input:$,error:z})=>{let Y=$;return{tenantId:Y?.tenantId,accountId:Y?.accountId,error:z instanceof Error?z.message:String(z??"unknown")}}}}});var Hd={meta:{key:"knowledge.product-canon",version:1,category:"canonical",displayName:"Product Canon",title:"Product Canon Knowledge Space",description:"Authoritative product knowledge covering strategy, roadmap, and delivery canon.",domain:"product",owners:["platform.product"],tags:["knowledge","product"],stability:E0.Stable},retention:{ttlDays:null},access:{policy:{name:"knowledge.access.product-canon",version:1},trustLevel:"high",automationWritable:!1},indexing:{embeddingModel:"text-embedding-3-large",chunkSize:800,vectorDbIntegration:"vectordb.qdrant"},description:"Single source of truth for product canon, principles, and strategic narratives."};var qd={meta:{key:"knowledge.support-faq",version:1,category:"operational",displayName:"Support FAQ",title:"Support & Success FAQ",description:"Operational knowledge base for customer support and success.",domain:"support",owners:["platform.support"],tags:["knowledge","support"],stability:E0.Beta},retention:{ttlDays:365,archiveAfterDays:180},access:{policy:{name:"knowledge.access.support",version:1},trustLevel:"medium",automationWritable:!0},indexing:{embeddingModel:"text-embedding-3-small",chunkSize:700,vectorDbIntegration:"vectordb.qdrant"},description:"Operational FAQs, runbooks, and customer success playbooks augmented with automation updates."};var Zd={meta:{key:"knowledge.email-threads",version:1,category:"operational",displayName:"Email Threads",title:"Operational Email Threads",description:"Indexed copies of operational email threads used for support, onboarding, and workflows.",domain:"operations",owners:["platform.operations"],tags:["email","operations"],stability:E0.Beta},retention:{ttlDays:365},access:{policy:{name:"knowledge.access.email-threads",version:1},trustLevel:"medium",automationWritable:!0},indexing:{embeddingModel:"mistral-embed",chunkSize:600,vectorDbIntegration:"vectordb.qdrant"},description:"Operational email threads synchronized from Gmail to support automations and contextual assistance."};var Bd={meta:{key:"knowledge.uploaded-docs",version:1,category:"external",displayName:"Uploaded Documents",title:"Uploaded Knowledge Assets",description:"Documents uploaded by households, including invoices, contracts, and reference files.",domain:"operations",owners:["platform.operations"],tags:["documents","storage"],stability:E0.Beta},retention:{ttlDays:null},access:{policy:{name:"knowledge.access.uploaded-docs",version:1},trustLevel:"medium",automationWritable:!0},indexing:{embeddingModel:"mistral-embed",chunkSize:900,vectorDbIntegration:"vectordb.qdrant"},description:"User-provided documents normalized and embedded for retrieval augmented workflows."};var Jd={meta:{key:"knowledge.financial-docs",version:1,category:"canonical",displayName:"Financial Documents",title:"Household Financial Documents",description:"Invoices, bills, and contracts powering Pocket Family Office financial automation.",domain:"finance",owners:["platform.finance"],tags:["finance","documents"],stability:E0.Beta},retention:{ttlDays:null},access:{policy:{name:"knowledge.access.financial-docs",version:1},trustLevel:"high",automationWritable:!0},indexing:{embeddingModel:"mistral-embed",chunkSize:700,vectorDbIntegration:"vectordb.qdrant"},description:"Normalized financial documents enabling bill pay automation, reminders, and summaries."};var Kd={meta:{key:"knowledge.financial-overview",version:1,category:"operational",displayName:"Financial Overview Summaries",title:"Derived Financial Summaries",description:"Aggregated cashflow summaries, category breakdowns, and balance trends derived from open banking data.",domain:"finance",owners:["platform.finance"],tags:["open-banking","summaries","cashflow"],stability:E0.Experimental},retention:{ttlDays:180},access:{policy:{name:"knowledge.access.financial-overview",version:1},trustLevel:"medium",automationWritable:!0},indexing:{embeddingModel:"mistral-embed",chunkSize:600,vectorDbIntegration:"vectordb.qdrant"},description:"Derived knowledge space containing weekly/monthly cashflow rollups and account health summaries. Raw transactions are excluded to respect privacy guardrails."};var Dd=new S0({name:"IntegrationConnectionRecord",fields:{id:{type:m.ID(),isOptional:!1},tenantId:{type:m.ID(),isOptional:!1},integrationKey:{type:m.NonEmptyString(),isOptional:!1},integrationVersion:{type:m.Int_unsecure(),isOptional:!1},label:{type:m.String_unsecure(),isOptional:!1},ownershipMode:{type:m.String_unsecure(),isOptional:!1},externalAccountId:{type:m.String_unsecure(),isOptional:!0},secretProvider:{type:m.String_unsecure(),isOptional:!1},secretRef:{type:m.String_unsecure(),isOptional:!1},status:{type:m.String_unsecure(),isOptional:!1},environment:{type:m.String_unsecure(),isOptional:!0},healthStatus:{type:m.String_unsecure(),isOptional:!0},healthCheckedAt:{type:m.DateTime(),isOptional:!0},healthLatencyMs:{type:m.Float_unsecure(),isOptional:!0},healthErrorCode:{type:m.String_unsecure(),isOptional:!0},healthErrorMessage:{type:m.String_unsecure(),isOptional:!0},usageRequestCount:{type:m.Int_unsecure(),isOptional:!0},usageSuccessCount:{type:m.Int_unsecure(),isOptional:!0},usageErrorCount:{type:m.Int_unsecure(),isOptional:!0},usageLastUsedAt:{type:m.DateTime(),isOptional:!0},usageLastErrorAt:{type:m.DateTime(),isOptional:!0},usageLastErrorCode:{type:m.String_unsecure(),isOptional:!0},createdAt:{type:m.DateTime(),isOptional:!0},updatedAt:{type:m.DateTime(),isOptional:!0}}}),fp0=new S0({name:"CreateIntegrationConnectionInput",fields:{tenantId:{type:m.ID(),isOptional:!1},integrationKey:{type:m.NonEmptyString(),isOptional:!1},integrationVersion:{type:m.Int_unsecure(),isOptional:!1},label:{type:m.String_unsecure(),isOptional:!1},ownershipMode:{type:m.String_unsecure(),isOptional:!1},externalAccountId:{type:m.String_unsecure(),isOptional:!0},secretProvider:{type:m.String_unsecure(),isOptional:!1},secretRef:{type:m.String_unsecure(),isOptional:!1},environment:{type:m.String_unsecure(),isOptional:!0},config:{type:m.JSONObject(),isOptional:!1}}}),yp0=new S0({name:"UpdateIntegrationConnectionInput",fields:{connectionId:{type:m.ID(),isOptional:!1},label:{type:m.String_unsecure(),isOptional:!0},status:{type:m.String_unsecure(),isOptional:!0},ownershipMode:{type:m.String_unsecure(),isOptional:!0},externalAccountId:{type:m.String_unsecure(),isOptional:!0},secretProvider:{type:m.String_unsecure(),isOptional:!0},secretRef:{type:m.String_unsecure(),isOptional:!0},config:{type:m.JSONObject(),isOptional:!0}}}),gp0=new S0({name:"DeleteIntegrationConnectionInput",fields:{connectionId:{type:m.ID(),isOptional:!1}}}),xp0=new S0({name:"ListIntegrationConnectionsInput",fields:{tenantId:{type:m.ID(),isOptional:!1},category:{type:m.String_unsecure(),isOptional:!0},status:{type:m.String_unsecure(),isOptional:!0}}}),hp0=new S0({name:"ListIntegrationConnectionsOutput",fields:{connections:{type:Dd,isOptional:!1,isArray:!0}}}),mp0=new S0({name:"TestIntegrationConnectionInput",fields:{connectionId:{type:m.ID(),isOptional:!1}}}),cp0=new S0({name:"TestIntegrationConnectionOutput",fields:{success:{type:m.Boolean(),isOptional:!1},status:{type:m.String_unsecure(),isOptional:!0},latencyMs:{type:m.Float_unsecure(),isOptional:!0},error:{type:m.String_unsecure(),isOptional:!0},errorCode:{type:m.String_unsecure(),isOptional:!0}}}),lp0=new S0({name:"DeleteIntegrationConnectionOutput",fields:{success:{type:m.Boolean(),isOptional:!1}}}),dp0=D4({meta:{name:"integrations.connection.create",version:1,description:"Create a new integration connection for a tenant.",goal:"Provision a tenant-scoped connection to an external provider.",context:"Used by Ops or the App Studio to configure external integrations such as Stripe or Qdrant.",owners:["platform.integrations"],tags:["integration","connections"],stability:"experimental"},io:{input:fp0,output:Dd},policy:{auth:"admin",policies:[{name:"platform.integration.manage",version:1}]}}),ip0=D4({meta:{name:"integrations.connection.update",version:1,description:"Update metadata or credentials for an integration connection.",goal:"Allow secure rotation of credentials and metadata adjustments.",context:"Supports rotating API keys, toggling status, or updating labels for tenant integrations.",owners:["platform.integrations"],tags:["integration","connections"],stability:"experimental"},io:{input:yp0,output:Dd},policy:{auth:"admin",policies:[{name:"platform.integration.manage",version:1}]}}),np0=D4({meta:{name:"integrations.connection.delete",version:1,description:"Delete an integration connection for a tenant.",goal:"Safely remove credentials and disable connector usage.",context:"Ensures connections are de-provisioned when no longer needed or breached.",owners:["platform.integrations"],tags:["integration","connections"],stability:"experimental"},io:{input:gp0,output:lp0},policy:{auth:"admin",policies:[{name:"platform.integration.manage",version:1}]}}),rp0=T9({meta:{name:"integrations.connection.list",version:1,description:"List integration connections for a tenant.",goal:"Provide visibility into configured integrations and their status.",context:"Used by the App Studio and Ops flows to show bindings and health.",owners:["platform.integrations"],tags:["integration","connections"],stability:"experimental"},io:{input:xp0,output:hp0},policy:{auth:"admin",policies:[{name:"platform.integration.read",version:1}]}}),pp0=D4({meta:{name:"integrations.connection.test",version:1,description:"Run a health check against a configured integration connection.",goal:"Validate credentials and connectivity for external providers.",context:"Triggered manually or by background monitors to confirm provider availability.",owners:["platform.integrations"],tags:["integration","connections"],stability:"experimental"},io:{input:mp0,output:cp0},policy:{auth:"admin",policies:[{name:"platform.integration.manage",version:1}]}});var wd=new S0({name:"KnowledgeSyncSchedule",fields:{enabled:{type:m.Boolean(),isOptional:!1},cron:{type:m.String_unsecure(),isOptional:!0},intervalMs:{type:m.Int_unsecure(),isOptional:!0}}}),Vd=new S0({name:"KnowledgeSourceRecord",fields:{id:{type:m.ID(),isOptional:!1},tenantId:{type:m.ID(),isOptional:!1},spaceKey:{type:m.NonEmptyString(),isOptional:!1},spaceVersion:{type:m.Int_unsecure(),isOptional:!1},label:{type:m.String_unsecure(),isOptional:!1},sourceType:{type:m.String_unsecure(),isOptional:!1},syncSchedule:{type:wd,isOptional:!0},lastSyncStatus:{type:m.String_unsecure(),isOptional:!0},lastSyncAt:{type:m.DateTime(),isOptional:!0},itemsProcessed:{type:m.Int_unsecure(),isOptional:!0},createdAt:{type:m.DateTime(),isOptional:!0},updatedAt:{type:m.DateTime(),isOptional:!0}}}),op0=new S0({name:"CreateKnowledgeSourceInput",fields:{tenantId:{type:m.ID(),isOptional:!1},spaceKey:{type:m.NonEmptyString(),isOptional:!1},spaceVersion:{type:m.Int_unsecure(),isOptional:!1},label:{type:m.String_unsecure(),isOptional:!1},sourceType:{type:m.NonEmptyString(),isOptional:!1},config:{type:m.JSONObject(),isOptional:!1},syncSchedule:{type:wd,isOptional:!0}}}),tp0=new S0({name:"UpdateKnowledgeSourceInput",fields:{sourceId:{type:m.ID(),isOptional:!1},label:{type:m.String_unsecure(),isOptional:!0},config:{type:m.JSONObject(),isOptional:!0},syncSchedule:{type:wd,isOptional:!0}}}),ap0=new S0({name:"DeleteKnowledgeSourceInput",fields:{sourceId:{type:m.ID(),isOptional:!1}}}),sp0=new S0({name:"DeleteKnowledgeSourceOutput",fields:{success:{type:m.Boolean(),isOptional:!1}}}),ep0=new S0({name:"ListKnowledgeSourcesInput",fields:{tenantId:{type:m.ID(),isOptional:!1},spaceKey:{type:m.NonEmptyString(),isOptional:!0}}}),$o0=new S0({name:"ListKnowledgeSourcesOutput",fields:{sources:{type:Vd,isOptional:!1,isArray:!0}}}),zo0=new S0({name:"TriggerKnowledgeSyncInput",fields:{sourceId:{type:m.ID(),isOptional:!1}}}),Yo0=new S0({name:"TriggerKnowledgeSyncOutput",fields:{success:{type:m.Boolean(),isOptional:!1},itemsProcessed:{type:m.Int_unsecure(),isOptional:!0},error:{type:m.String_unsecure(),isOptional:!0}}}),Uo0=D4({meta:{name:"knowledge.source.create",version:1,description:"Create a knowledge source binding for a tenant.",goal:"Onboard a new knowledge ingestion source such as Notion or uploads.",context:"Used by Ops and App Studio to configure knowledge ingestion per tenant and space.",owners:["platform.knowledge"],tags:["knowledge","sources"],stability:"experimental"},io:{input:op0,output:Vd},policy:{auth:"admin",policies:[{name:"platform.knowledge.manage",version:1}]}}),Wo0=D4({meta:{name:"knowledge.source.update",version:1,description:"Update metadata or configuration for a knowledge source.",goal:"Allow rotation of credentials, sync schedules, and labels.",context:"Supports editing how a tenant ingests knowledge (e.g., toggling sync cadence).",owners:["platform.knowledge"],tags:["knowledge","sources"],stability:"experimental"},io:{input:tp0,output:Vd},policy:{auth:"admin",policies:[{name:"platform.knowledge.manage",version:1}]}}),Qo0=D4({meta:{name:"knowledge.source.delete",version:1,description:"Delete a knowledge source binding for a tenant.",goal:"Remove obsolete or compromised knowledge ingestion paths.",context:"Ensures ephemeral or external sources can be removed cleanly without leaving residual bindings.",owners:["platform.knowledge"],tags:["knowledge","sources"],stability:"experimental"},io:{input:ap0,output:sp0},policy:{auth:"admin",policies:[{name:"platform.knowledge.manage",version:1}]}}),Xo0=T9({meta:{name:"knowledge.source.list",version:1,description:"List knowledge sources configured for a tenant.",goal:"Provide visibility into knowledge ingest configuration and schedules.",context:"Used by App Studio and Ops flows to surface knowledge sources and their health.",owners:["platform.knowledge"],tags:["knowledge","sources"],stability:"experimental"},io:{input:ep0,output:$o0},policy:{auth:"admin",policies:[{name:"platform.knowledge.read",version:1}]}}),Oo0=D4({meta:{name:"knowledge.source.triggerSync",version:1,description:"Trigger an immediate sync for a knowledge source.",goal:"Support manual or automated sync retries for knowledge ingestion.",context:"Invoked by Ops tooling or monitors when knowledge content must be refreshed or reprocessed.",owners:["platform.knowledge"],tags:["knowledge","sources"],stability:"experimental"},io:{input:zo0,output:Yo0},policy:{auth:"admin",policies:[{name:"platform.knowledge.manage",version:1}]}});function qb($,z,Y){return{type:"telemetry",contextId:$,signal:Go0(z,Y)}}function Zb($,z,Y){return{type:"error",contextId:$,signal:Ho0(z,Y)}}function Bb($,z,Y){return{type:"behavior",contextId:$,signal:qo0(z,Y)}}function Go0($,z){return{...$,windowStart:nD($.windowStart,z),windowEnd:nD($.windowEnd,z)}}function Ho0($,z){return{...$,occurredAt:nD($.occurredAt,z)}}function qo0($,z){return{...$,windowStart:nD($.windowStart,z),windowEnd:nD($.windowEnd,z)}}function nD($,z){if($ instanceof Date)return $;let Y=new Date($);if(Number.isNaN(Y.getTime()))return z();return Y}import{setTimeout as Zo0}from"node:timers/promises";var Bo0=60000,Jo0=300000,Jb=class{contexts;lastPoll=new Map;timer;running=!1;pollInterval;batchDuration;clock;constructor($){if(this.options=$,this.contexts=new Map($.contexts.map((z)=>[z.id,z])),this.pollInterval=$.pollIntervalMs??Bo0,this.batchDuration=$.batchDurationMs??Jo0,this.clock=$.clock??(()=>new Date),this.options.rules.length===0)throw Error("RegeneratorService requires at least one rule")}start(){if(this.running)return;this.running=!0,this.tick(),this.timer=setInterval(()=>{this.tick()},this.pollInterval)}stop(){if(!this.running)return;if(this.running=!1,this.timer)clearInterval(this.timer),this.timer=void 0}async runOnce(){await this.tick()}async tick(){let $=this.clock(),z=new Date($.getTime()-this.batchDuration);for(let Y of this.contexts.values()){let W=this.lastPoll.get(Y.id)??z;await this.evaluateContext(Y,W,$),this.lastPoll.set(Y.id,$)}}async evaluateContext($,z,Y){let W=await this.collectSignals($,z,Y);if(W.length===0)return;for(let U of this.options.rules){let Q=[];try{Q=await U.evaluate($,W)}catch(X){console.error(`[regenerator] rule ${U.id} failed`,X instanceof Error?X:Error(String(X)));continue}await this.flushProposals($,Q)}}async collectSignals($,z,Y){let W=[],{adapters:U}=this.options;if(U.telemetry){let Q=await U.telemetry.pollTelemetry($,z,Y);W.push(...Q.map((X)=>qb($.id,X,this.clock)))}if(U.errors){let Q=await U.errors.pollErrors($,z,Y);W.push(...Q.map((X)=>Zb($.id,X,this.clock)))}if(U.behavior){let Q=await U.behavior.pollBehavior($,z,Y);W.push(...Q.map((X)=>Bb($.id,X,this.clock)))}return W}async flushProposals($,z){for(let Y of z){if(Y.signalIds.length===0)continue;if(await this.options.sink.submit($,Y),z.length>10)await Zo0(0)}}};var Ad=[{id:"docs.tech.contracts.presentations-v2",title:"Presentations V2 — Unified Descriptor & Transform Engine",summary:"How PresentationDescriptorV2 and TransformEngine keep docs/renderers consistent.",visibility:"public",route:"/docs/tech/contracts/presentations-v2",kind:"reference",tags:["presentations","docs","mcp"],body:`## Presentations V2 — Unified Descriptor & Transform Engine
|
|
1452
|
+
`)}function _O($,z){if(typeof $!=="object"||$===null)return;Object.defineProperty($,JU,{enumerable:!1,value:z})}function q3($){if(typeof $==="object"&&$!==null&&JU in $)return $[JU];return null}function KU($,z,Y){if(b8($))return Promise.resolve($).then(z,Y);let W=z($);if(b8(W))return Promise.resolve(W);return W}function Z3($,z,Y,W){var U;let Q=Fw$.getArgumentValues($,z,W.variableValues),X=(U=$.extensions)===null||U===void 0?void 0:U.pothosArgMappers;if(X&&X.length>0)return B3(X,Q,(O,G)=>G(O,Y,W));return Q}function B3($,z,Y){function W(U,Q){if(Q===$.length)return U;return KU(Y(U,$[Q],Q),(X)=>{return X===null?null:W(X,Q+1)})}return W(z,0)}function LK($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var bK=new WeakMap;class e9{onTypeConfig($){return $}onOutputFieldConfig($){return $}onInputFieldConfig($){return $}onEnumValueConfig($){return $}beforeBuild(){}afterBuild($){return $}wrapResolve($,z){return $}wrapSubscribe($,z){return $}wrapArgMappers($,z){return $}wrapResolveType($,z){return $}wrapIsTypeOf($,z){return $}runUnique($,z){if(!bK.has(this.builder))bK.set(this.builder,new Map);if(!bK.get(this.builder).has($)){let Y=z();return bK.get(this.builder).set($,Y),Y}return bK.get(this.builder).get($)}createRequestData($){throw new TY("createRequestData not implemented")}requestData($){return this.requestDataMap($)}constructor($,z){LK(this,"name",void 0),LK(this,"builder",void 0),LK(this,"buildCache",void 0),LK(this,"options",void 0),LK(this,"requestDataMap",B4((Y)=>this.createRequestData(Y))),this.name=z,this.builder=$.builder,this.buildCache=$,this.options=$.options}}function yS0($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class Ch extends e9{onTypeConfig($){return this.plugins.reduceRight((z,Y)=>z===null?z:Y.onTypeConfig(z),$)}onInputFieldConfig($){return this.plugins.reduceRight((z,Y)=>z===null?z:Y.onInputFieldConfig(z),$)}onOutputFieldConfig($){return this.plugins.reduceRight((z,Y)=>z===null?z:Y.onOutputFieldConfig(z),$)}onEnumValueConfig($){return this.plugins.reduceRight((z,Y)=>z===null?z:Y.onEnumValueConfig(z),$)}beforeBuild(){for(let $ of this.plugins)$.beforeBuild()}afterBuild($){return this.plugins.reduceRight((z,Y)=>Y.afterBuild(z),$)}wrapResolve($,z){let Y=this.plugins.reduceRight((U,Q)=>Q.wrapResolve(U,z),$);if(!z.argMappers.length)return this.wrapArgMappers(Y,z);let W=z.argMappers;return this.wrapArgMappers((U,Q,X,O)=>{let G=B3(W,Q,(H,Z)=>{return Z(H,X,O)});return KU(G,(H)=>Y(U,H,X,O))},z)}wrapSubscribe($,z){let Y=this.plugins.reduceRight((U,Q)=>Q.wrapSubscribe(U,z),$);if(!Y||!z.argMappers.length)return this.wrapArgMappers(Y,z);let W=z.argMappers;return this.wrapArgMappers((U,Q,X,O)=>{let G=B3(W,Q,(H,Z)=>{return Z(H,X,O)});return KU(G,(H)=>Y(U,H,X,O))},z)}wrapArgMappers($,z){return this.plugins.reduceRight((Y,W)=>W.wrapArgMappers(Y,z),$)}wrapResolveType($,z){return this.plugins.reduceRight((Y,W)=>W.wrapResolveType(Y,z),$)}wrapIsTypeOf($,z){return this.plugins.reduceRight((Y,W)=>W.wrapIsTypeOf(Y,z),$)}constructor($,z){super($,"PothosMergedPlugin"),yS0(this,"plugins",void 0),this.plugins=z}}function RH($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var gS0=s9,xS0=vY,hS0=ZW;class SH extends c1{constructor($,z){super("Scalar",$,z),RH(this,"kind","Scalar"),RH(this,"$inferType",void 0),RH(this,"$inferInput",void 0),RH(this,gS0,void 0),RH(this,xS0,void 0),RH(this,hS0,void 0)}}function mS0($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class J3 extends SH{constructor($){super($.name),mS0(this,"type",void 0),this.type=$}}function _Y($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class K3{getTypeConfig($,z){let Y=this.configStore.getTypeConfig($,z);if(!this.typeConfigs.has(Y.name))this.typeConfigs.set(Y.name,this.plugin.onTypeConfig(Y));return this.typeConfigs.get(Y.name)}getInputTypeFieldConfigs($){let z=this.getTypeConfig($,"InputObject"),Y=this.types.get(z.name);if(!Y)throw new D0(`Input type ${z.name} has not been built yet`);let W=Y.getFields(),U={};for(let X of Object.keys(W)){var Q;U[X]=(Q=W[X].extensions)===null||Q===void 0?void 0:Q.pothosConfig}return U}getImplementers($){if(this.implementers.has($.name))return this.implementers.get($.name);let z=[...this.configStore.typeConfigs.values()].filter((Y)=>Y.kind==="Object"&&Y.interfaces.find((W)=>this.configStore.getTypeConfig(W).name===$.name));return this.implementers.set($.name,z),z}buildAll(){this.configStore.prepareForBuild();for(let $ of this.configStore.typeConfigs.values())if($.kind==="Enum"||$.kind==="Scalar")this.buildTypeFromConfig($);for(let $ of this.configStore.typeConfigs.values())if($.kind==="InputObject")this.buildTypeFromConfig($);for(let $ of this.types.values())if($ instanceof H0.GraphQLInputObjectType)$.getFields();for(let $ of this.configStore.typeConfigs.values())if($.kind==="Interface")this.buildTypeFromConfig($);for(let $ of this.configStore.typeConfigs.values())if($.kind==="Object")this.buildTypeFromConfig($);for(let $ of this.configStore.typeConfigs.values())if($.kind==="Union")this.buildTypeFromConfig($);for(let $ of this.configStore.typeConfigs.values())if($.kind==="Query"||$.kind==="Mutation"||$.kind==="Subscription")this.buildTypeFromConfig($);for(let $ of this.types.values())if($ instanceof H0.GraphQLObjectType||$ instanceof H0.GraphQLInterfaceType)$.getFields();else if($ instanceof H0.GraphQLUnionType)$.getTypes()}buildTypeFromConfig($){let z=this.getTypeConfig($.name),{name:Y}=z;switch(this.typeConfigs.set(Y,z),z.kind){case"Enum":this.addType(Y,this.buildEnum(z));break;case"InputObject":this.addType(Y,this.buildInputObject(z));break;case"Interface":this.addType(Y,this.buildInterface(z));break;case"Scalar":this.addType(Y,this.buildScalar(z));break;case"Union":this.addType(Y,this.buildUnion(z));break;case"Object":case"Query":case"Mutation":case"Subscription":this.addType(Y,this.buildObject(z));break;default:Lw$(z)}}addType($,z){if(this.types.has($))throw new D0(`reference or name has already been used to create another type (${z.name})`);this.types.set($,z)}buildOutputTypeParam($){if($.kind==="List"){if($.nullable)return new H0.GraphQLList(this.buildOutputTypeParam($.type));return new H0.GraphQLNonNull(new H0.GraphQLList(this.buildOutputTypeParam($.type)))}if($.nullable)return this.getOutputType($.ref);return new H0.GraphQLNonNull(this.getOutputType($.ref))}buildInputTypeParam($){if($.kind==="List"){if($.required)return new H0.GraphQLNonNull(new H0.GraphQLList(this.buildInputTypeParam($.type)));return new H0.GraphQLList(this.buildInputTypeParam($.type))}if($.required)return new H0.GraphQLNonNull(this.getInputType($.ref));return this.getInputType($.ref)}buildFields($){let z={};for(let[U,Q]of $){if(!this.outputFieldConfigs.has(Q))this.outputFieldConfigs.set(Q,this.plugin.onOutputFieldConfig(Q));let X=this.outputFieldConfigs.get(Q);if(!X)continue;let O={...X},G=new Map;for(let K of Object.keys(O.args))G.set(K,O.args[K]);let H=this.buildInputFields(G),Z={};for(let K of Object.keys(O.args))Z[K]=this.inputFieldConfigs.get(O.args[K]);O.args=Z;var Y;let B=this.plugin.wrapResolve((Y=O.resolve)!==null&&Y!==void 0?Y:H0.defaultFieldResolver,O),J=this.plugin.wrapSubscribe(O.subscribe,O);var W;z[U]={...O,type:this.buildOutputTypeParam(O.type),args:H,extensions:{...O.extensions,pothosResolveWrapped:B!==((W=O.resolve)!==null&&W!==void 0?W:H0.defaultFieldResolver),pothosSubscribeWrapped:J!==O.subscribe,pothosOptions:O.pothosOptions,pothosConfig:O,pothosArgMappers:O.argMappers},resolve:B===H0.defaultFieldResolver?void 0:B,subscribe:J}}return z}buildInputFields($){let z={};for(let[Y,W]of $){if(!this.inputFieldConfigs.has(W))this.inputFieldConfigs.set(W,this.plugin.onInputFieldConfig(W));let U=this.inputFieldConfigs.get(W);if(U)z[Y]={...U,type:this.buildInputTypeParam(U.type),extensions:{...U.extensions,pothosOptions:U.pothosOptions,pothosConfig:U}}}return z}getInterfaceFields($){let z=$.getInterfaces().reduce((U,Q)=>Object.assign(U,this.getFields(Q)),{}),Y=this.configStore.getFields($.name,"Interface"),W=this.buildFields(Y);return{...z,...W}}getObjectFields($){let z=$.getInterfaces().reduce((W,U)=>Object.assign(W,this.getFields(U)),{}),Y=this.buildFields(this.configStore.getFields($.name,"Object"));return{...z,...Y}}getRootFields($){return this.buildFields(this.configStore.getFields($.name,"Object"))}getFields($){if($ instanceof H0.GraphQLObjectType){let z=this.configStore.getTypeConfig($.name);if(z.kind==="Query"||z.kind==="Mutation"||z.kind==="Subscription")return this.getRootFields($);return this.getObjectFields($)}if($ instanceof H0.GraphQLInterfaceType)return this.getInterfaceFields($);throw new D0(`Type ${$.name} does not have fields to resolve`)}getInputFields($){return this.buildInputFields(this.configStore.getFields($.name,"InputObject"))}getType($){if($ instanceof J3)return $.type;let z=this.configStore.getTypeConfig($),Y=this.types.get(z.name);if(!Y)return this.buildTypeFromConfig(z),this.types.get(z.name);return Y}getOutputType($){let z=this.getType($);if(z instanceof H0.GraphQLInputObjectType)throw new D0(`Expected ${String($)} to be an output type but it was defined as an InputObject`);return z}getInputType($){let z=this.getType($);if(!z)throw new D0(`Missing implementation of for type ${String($)}`);if(z instanceof H0.GraphQLObjectType)throw new D0(`Expected ${z.name} to be an input type but it was defined as a GraphQLObjectType`);if(z instanceof H0.GraphQLInterfaceType)throw new D0(`Expected ${z.name} to be an input type but it was defined as a GraphQLInterfaceType`);if(z instanceof H0.GraphQLUnionType)throw new D0(`Expected ${String($)} to be an input type but it was defined as an GraphQLUnionType`);return z}getTypeOfKind($,z){let Y=this.getType($);switch(z){case"Object":case"Query":case"Mutation":case"Subscription":if(Y instanceof H0.GraphQLObjectType)return Y;break;case"Interface":if(Y instanceof H0.GraphQLInterfaceType)return Y;break;case"Union":if(Y instanceof H0.GraphQLUnionType)return Y;break;case"Enum":if(Y instanceof H0.GraphQLEnumType)return Y;break;case"Scalar":if(Y instanceof H0.GraphQLScalarType)return Y;break;case"InputObject":if(Y instanceof H0.GraphQLScalarType)return Y;break;default:break}throw new D0(`Expected ${String($)} to be of type ${z}`)}buildObject($){var z;let Y=new H0.GraphQLObjectType({...$,extensions:{...$.extensions,pothosOptions:$.pothosOptions,pothosConfig:$},fields:()=>this.getFields(Y),isTypeOf:$.kind==="Object"?this.plugin.wrapIsTypeOf((z=$.isTypeOf)!==null&&z!==void 0?z:void 0,$):void 0,interfaces:$.kind==="Object"?()=>$.interfaces.map((W)=>this.getTypeOfKind(W,"Interface")):void 0});return Y}buildInterface($){let z=(W,U,Q)=>{let X=q3(W);if(X){if(typeof X==="string")return X;return this.getTypeConfig(X).name}var O;return((O=$.resolveType)!==null&&O!==void 0?O:H0.defaultTypeResolver)(W,U,Q,Y)},Y=new H0.GraphQLInterfaceType({...$,extensions:{...$.extensions,pothosOptions:$.pothosOptions,pothosConfig:$},interfaces:()=>$.interfaces.map((W)=>this.getTypeOfKind(W,"Interface")),fields:()=>this.getFields(Y),resolveType:this.plugin.wrapResolveType(z,$)});return Y}buildUnion($){let z=(Y,W,U,Q)=>{if(typeof Y==="object"&&Y!==null&&JU in Y){let G=Y[JU];if(typeof G==="string")return G;return this.getTypeConfig(G).name}if(!$.resolveType)return H0.defaultTypeResolver(Y,W,U,Q);let X=$.resolveType(Y,W,U,Q),O=(G)=>{if(typeof G==="string"||!G)return G;if(G instanceof H0.GraphQLObjectType)return G.name;try{return this.configStore.getTypeConfig(G).name}catch{}return G};return b8(X)?X.then(O):O(X)};return new H0.GraphQLUnionType({...$,extensions:{...$.extensions,pothosOptions:$.pothosOptions,pothosConfig:$},types:()=>$.types.map((Y)=>this.getTypeOfKind(Y,"Object")),resolveType:this.plugin.wrapResolveType(z,$)})}buildInputObject($){let z=new H0.GraphQLInputObjectType({...$,extensions:{...$.extensions,pothosOptions:$.pothosOptions,pothosConfig:$},fields:()=>this.getInputFields(z)});return z}buildScalar($){if($.name==="ID")return H0.GraphQLID;if($.name==="Int")return H0.GraphQLInt;if($.name==="Float")return H0.GraphQLFloat;if($.name==="Boolean")return H0.GraphQLBoolean;if($.name==="String")return H0.GraphQLString;return new H0.GraphQLScalarType({...$,extensions:{...$.extensions,pothosOptions:$.pothosOptions,pothosConfig:$}})}buildEnum($){let z={},Y=typeof $.values==="function"?$.values():$.values;for(let W of Object.keys($.values)){let U=Y[W];if(!this.enumValueConfigs.has(U))this.enumValueConfigs.set(U,this.plugin.onEnumValueConfig(U));if(this.enumValueConfigs.get(U))z[W]=this.enumValueConfigs.get(U)}return new H0.GraphQLEnumType({...$,values:z,extensions:{...$.extensions,pothosOptions:$.pothosOptions,pothosConfig:$}})}constructor($,z){_Y(this,"types",new Map),_Y(this,"builder",void 0),_Y(this,"plugin",void 0),_Y(this,"options",void 0),_Y(this,"configStore",void 0),_Y(this,"pluginList",void 0),_Y(this,"implementers",new Map),_Y(this,"typeConfigs",new Map),_Y(this,"enumValueConfigs",new Map),_Y(this,"outputFieldConfigs",new Map),_Y(this,"inputFieldConfigs",new Map),this.builder=$,this.configStore=$.configStore,this.options=z;let Y={};var W;this.pluginList=((W=$.options.plugins)!==null&&W!==void 0?W:[]).map((U)=>{let Q=this.builder.constructor.plugins[U];if(!Q)throw new TY(`No plugin named ${U} was registered`);return Y[U]=new Q(this,U),Y[U]}),this.plugin=new Ch(this,this.pluginList)}}function CH($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var cS0=ZW;class BW extends c1{addFields($){this.fields.add($);for(let z of this.fieldCbs)for(let[Y,W]of Object.entries($()))if(W)z(Y,W)}onField($){this.fieldCbs.add($);for(let z of this.fields)for(let[Y,W]of Object.entries(z()))if(W)$(Y,W)}constructor($){super("InputObject",$),CH(this,"kind","InputObject"),CH(this,"$inferInput",void 0),CH(this,cS0,void 0),CH(this,"fields",new Set),CH(this,"fieldCbs",new Set)}}class D3 extends BW{implement($){return this.builder.inputType(this,$),this}constructor($,z){super(z),CH(this,"builder",void 0),this.builder=$}}function Th($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class MK extends c1{addFields($){for(let z of this.fieldCbs)for(let[Y,W]of Object.entries($()))if(W)z(Y,W);this.fields.add($)}addInterfaces($){if(Array.isArray($)&&$.length===0)return;if(this.preparedForBuild)this.updateConfig((z)=>({...z,interfaces:[...z.interfaces,...typeof $==="function"?$():$]}));else this.interfaces.push(()=>Array.isArray($)?$:$())}onField($){this.fieldCbs.add($);for(let z of this.fields)for(let[Y,W]of Object.entries(z()))if(W)$(Y,W)}prepareForBuild(){if(this.preparedForBuild)return;if(super.prepareForBuild(),this.interfaces.length>0)this.updateConfig(($)=>{var z;return{...$,interfaces:[...(z=$.interfaces)!==null&&z!==void 0?z:[],...this.interfaces.flatMap((Y)=>Y())]}})}constructor(...$){super(...$),Th(this,"fields",new Set),Th(this,"fieldCbs",new Set),Th(this,"interfaces",[])}}function PK($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var lS0=s9,dS0=vY;class JW extends MK{constructor($,z){super("Interface",$,z),PK(this,"kind","Interface"),PK(this,"$inferType",void 0),PK(this,lS0,void 0),PK(this,dS0,void 0)}}class NK extends JW{implement($){return this.builder.interfaceType(this,$)}constructor($,z){super(z),PK(this,"builder",void 0),this.builder=$}}function EK($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var iS0=s9,nS0=vY;class n8 extends MK{constructor($,z){super("Object",$,z),EK(this,"kind","Object"),EK(this,"$inferType",void 0),EK(this,iS0,void 0),EK(this,nS0,void 0)}}class RK extends n8{implement($){return this.builder.objectType(this,$)}constructor($,z){super(z),EK(this,"builder",void 0),this.builder=$}}function rS0($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class TH extends n8{constructor(...$){super(...$),rS0(this,"kind","Object")}}class vH extends n8{}class _H extends n8{}function KW($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class vh{addFields($,z){this.onTypeConfig($,(Y,W)=>{if(!(W instanceof JW||W instanceof n8||W instanceof vH||W instanceof TH||W instanceof _H))throw new D0(`Can not add fields to ${W} because it is not an object`);W.addFields(z)})}addInputFields($,z){this.onTypeConfig($,(Y,W)=>{if(!(W instanceof BW))throw new D0(`Can not add fields to ${W} because it is not an input object`);W.addFields(z)})}associateParamWithRef($,z){let Y=this.resolveParamAssociations(z);this.paramAssociations.set($,Y);var W;let U=(W=this.pendingTypeConfigResolutions.get($))!==null&&W!==void 0?W:[];if(U.length>0)if(typeof Y==="string"&&this.typeConfigs.has(Y))for(let Q of U){let X=this.typeConfigs.get(Y);Q(X,this.implementors.get(X.name))}else for(let Q of U)this.onTypeConfig(Y,Q);this.pendingTypeConfigResolutions.delete($)}onTypeConfig($,z){let Y=this.resolveParamAssociations($);if(typeof Y==="string"&&this.typeConfigs.has(Y)){let W=this.typeConfigs.get(Y);z(W,this.implementors.get(W.name))}else{if(!this.pendingTypeConfigResolutions.has(Y))this.pendingTypeConfigResolutions.set(Y,[]);this.pendingTypeConfigResolutions.get(Y).push(z)}}onTypeConfigOfKind($,z,Y){this.onTypeConfig($,(W)=>{if(W.kind!==z)throw new D0(`Expected ${this.describeRef($)} to be of kind ${z} but it is of kind ${W.kind}`);Y(W)})}addTypeRef($){if(this.refs.has($))return;if(!this.pending)$.prepareForBuild();this.refs.add($),$.onConfig((z)=>{let Y=this.implementors.get(z.name);if(Y&&Y!==$)throw new D0(`Duplicate typename: Another type with name ${z.name} already exists.`);if(!Y){if(this.implementors.set(z.name,$),this.associateParamWithRef($,z.name),$ instanceof n8||$ instanceof JW||$ instanceof BW){if(!this.fields.has(z.name))this.fields.set(z.name,new Map);this.onPrepare(()=>{$.onField((W,U)=>{let Q=this.fields.get(z.name);if(Q.has(W))throw new D0(`Duplicate field ${W} on ${z.name}`);var X;Q.set(W,U.getConfig(W,(X=this.typeConfigs.get(z.name))!==null&&X!==void 0?X:z))})})}}if(this.typeConfigs.set(z.name,z),this.pendingTypeConfigResolutions.has(z.name)){let W=this.pendingTypeConfigResolutions.get(z.name);for(let U of W)U(z,$)}this.pendingTypeConfigResolutions.delete(z.name)})}subscribeToFields($){}hasImplementation($){return this.typeConfigs.has($)}hasConfig($){let z=this.resolveParamAssociations($);if(typeof z!=="string"||!this.typeConfigs.has(z))return!1;return!0}getTypeConfig($,z){let Y=this.resolveParamAssociations($);if(typeof Y!=="string"||!this.typeConfigs.has(Y))throw new D0(`${this.describeRef($)} has not been implemented`);let W=this.typeConfigs.get(Y);if(z&&W.graphqlKind!==z)throw new D0(`Expected ref to resolve to a ${z} type, but got ${W.kind}`);return W}getInputTypeRef($){let z=this.resolveParamAssociations($);if($ instanceof c1){if($.kind!=="InputObject"&&$.kind!=="Enum"&&$.kind!=="Scalar")throw new D0(`Expected ${this.describeRef($)} to be an input type but got ${$.kind}`);return $}if(typeof z==="string"&&this.typeConfigs.has(z)){let Y=this.implementors.get(z);if(Y instanceof c1){if(Y.kind!=="InputObject"&&Y.kind!=="Enum"&&Y.kind!=="Scalar")throw new D0(`Expected ${this.describeRef(Y)} to be an input type but got ${Y.kind}`);return Y}}throw new D0(`${this.describeRef($)} has not been implemented`)}getOutputTypeRef($){let z=this.resolveParamAssociations($);if($ instanceof c1){if($.kind==="InputObject"||$.kind==="InputList")throw new D0(`Expected ${$.name} to be an output type but got ${$.kind}`);return $}if(typeof z==="string"&&this.typeConfigs.has(z)){let Y=this.implementors.get(z);if(Y instanceof c1){if(Y.kind==="InputObject"||Y.kind==="InputList")throw new D0(`Expected ${Y.name} to be an output type but got ${Y.kind}`);return Y}}throw new D0(`${this.describeRef($)} has not been implemented`)}getFields($,z){let Y=this.getTypeConfig($);if(!this.fields.has($))this.fields.set($,new Map);let W=this.fields.get($);if(z&&Y.graphqlKind!==z)throw new D0(`Expected ${$} to be a ${z} type, but found ${Y.graphqlKind}`);return W}prepareForBuild(){this.pending=!1;for(let z of this.refs)z.prepareForBuild();let{pendingActions:$}=this;this.pendingActions=[];for(let z of $)z();if(this.pendingTypeConfigResolutions.size>0)throw new D0(`Missing implementations for some references (${[...this.pendingTypeConfigResolutions.keys()].map((z)=>this.describeRef(z)).join(", ")}).`)}onPrepare($){if(this.pending)this.pendingActions.push($);else $()}resolveParamAssociations($){let z=this.paramAssociations.get($);while(z&&this.paramAssociations.has(z))z=this.paramAssociations.get(z);return z!==null&&z!==void 0?z:$}describeRef($){if(typeof $==="string")return $;if($&&$.toString!=={}.toString)return String($);if(typeof $==="function"&&$.name!==(()=>{}).name)return`function ${$.name}`;return"<unnamed ref or enum>"}constructor($){KW(this,"typeConfigs",new Map),KW(this,"fields",new Map),KW(this,"refs",new Set),KW(this,"implementors",new Map),KW(this,"pendingActions",[]),KW(this,"paramAssociations",new Map),KW(this,"pendingTypeConfigResolutions",new Map),KW(this,"pending",!0),KW(this,"builder",void 0),this.builder=$}}function kO($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var pS0=G3;class w3{onConfig($){this.pendingActions.push($)}updateConfig($){this.pendingActions.push($)}getConfig($,z,Y){let W=this.pendingActions.reduce((U,Q)=>{var X;return(X=Q(U))!==null&&X!==void 0?X:U},this.initConfig($,z,Y));for(let U of this.onUseCallbacks)this.onUseCallbacks.delete(U),U(W);return W}onFirstUse($){this.onUseCallbacks.add($)}constructor($){kO(this,"kind","Arg"),kO(this,"fieldName",void 0),kO(this,"$inferInput",void 0),kO(this,pS0,void 0),kO(this,"pendingActions",[]),kO(this,"initConfig",void 0),kO(this,"onUseCallbacks",new Set),this.initConfig=$}}function uO($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var oS0=G3;class V3{updateConfig($){this.pendingActions.push($)}getConfig($,z){let Y=this.pendingActions.reduce((W,U)=>{var Q;return(Q=U(W))!==null&&Q!==void 0?Q:W},this.initConfig($,z));for(let W of this.onUseCallbacks)this.onUseCallbacks.delete(W),W(Y);return Y}onFirstUse($){this.onUseCallbacks.add($)}constructor($){uO(this,"kind","InputObject"),uO(this,"fieldName",void 0),uO(this,"$inferInput",void 0),uO(this,oS0,void 0),uO(this,"pendingActions",[]),uO(this,"initConfig",void 0),uO(this,"onUseCallbacks",new Set),this.initConfig=$}}function $z($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class gQ{argBuilder(){let $=this.field.bind(this),z=Object.keys(Object.getPrototypeOf(this)).filter((Y)=>typeof this[Y]==="function"&&Function.prototype[Y]===void 0);for(let Y of[...Object.keys(this),...z])$[Y]=typeof this[Y]==="function"?this[Y].bind(this):this[Y];return $}field($){return this.kind==="Arg"?new w3((Y,W,U)=>{let Q=$;var X,O;return{name:Y,parentField:W,kind:this.kind,graphqlKind:this.kind,parentType:U.name,type:FK(Q.type,this.builder.configStore,(X=Q.required)!==null&&X!==void 0?X:this.builder.defaultInputFieldRequiredness),pothosOptions:Q,description:Q.description,deprecationReason:Q.deprecationReason,defaultValue:Q.defaultValue,extensions:(O=Q.extensions)!==null&&O!==void 0?O:{}}}):new V3((Y,W)=>{let U=$;var Q,X;return{name:Y,parentField:void 0,kind:this.kind,graphqlKind:this.kind,parentType:W.name,type:FK(U.type,this.builder.configStore,(Q=U.required)!==null&&Q!==void 0?Q:this.builder.defaultInputFieldRequiredness),pothosOptions:U,description:U.description,deprecationReason:U.deprecationReason,defaultValue:U.defaultValue,extensions:(X=U.extensions)!==null&&X!==void 0?X:{}}})}helper($){return(...z)=>{let[Y={}]=z;return this.field({...Y,type:$})}}constructor($,z){$z(this,"kind",void 0),$z(this,"builder",void 0),$z(this,"boolean",this.helper("Boolean")),$z(this,"float",this.helper("Float")),$z(this,"id",this.helper("ID")),$z(this,"int",this.helper("Int")),$z(this,"string",this.helper("String")),$z(this,"booleanList",this.helper(["Boolean"])),$z(this,"floatList",this.helper(["Float"])),$z(this,"idList",this.helper(["ID"])),$z(this,"intList",this.helper(["Int"])),$z(this,"stringList",this.helper(["String"])),$z(this,"listRef",(Y,W)=>{var U;return new TO(Y,(U=W===null||W===void 0?void 0:W.required)!==null&&U!==void 0?U:!0)}),this.builder=$,this.kind=z}}var bw$=J6(CY(),1);function fO($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var tS0=Zw$;class A3{updateConfig($){this.pendingActions.push($)}getConfig($,z){let Y=this.pendingActions.reduce((W,U)=>{var Q;return(Q=U(W))!==null&&Q!==void 0?Q:W},this.initConfig($,z));for(let W of this.onUseCallbacks)this.onUseCallbacks.delete(W),W(Y);return Y}onFirstUse($){this.onUseCallbacks.add($)}constructor($,z){fO(this,"kind",void 0),fO(this,"fieldName",void 0),fO(this,"$inferType",void 0),fO(this,tS0,void 0),fO(this,"pendingActions",[]),fO(this,"initConfig",void 0),fO(this,"onUseCallbacks",new Set),this.kind=$,this.initConfig=z}}function _h($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class kh{createField($){return new A3(this.kind,(Y,W)=>{var U;let Q={};if($.args)for(let[H,Z]of Object.entries($.args))Q[H]=Z.getConfig(H,Y,W);let{resolve:X}=$;if(((U=$.extensions)===null||U===void 0?void 0:U.pothosExposedField)===Y)X=bw$.defaultFieldResolver;let{subscribe:O}=$;var G;return{kind:this.kind,graphqlKind:W.graphqlKind,parentType:W.name,name:Y,args:Q,argMappers:[],type:H3($.type,this.builder.configStore,(G=$.nullable)!==null&&G!==void 0?G:this.builder.defaultFieldNullability),pothosOptions:$,extensions:{pothosOriginalResolve:X,pothosOriginalSubscribe:O,...$.extensions},description:$.description,deprecationReason:$.deprecationReason,resolve:X,subscribe:O}})}exposeField($,{extensions:z,...Y}){return this.createField({...Y,extensions:{pothosExposedField:$,...z},resolve:(W)=>W[$]})}constructor($,z,Y){_h(this,"kind",void 0),_h(this,"graphqlKind",void 0),_h(this,"builder",void 0),this.builder=$,this.kind=z,this.graphqlKind=Y}}function aS0($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class kY extends kh{boolean(...$){let[z={}]=$;return this.createField({...z,type:"Boolean"})}float(...$){let[z={}]=$;return this.createField({...z,type:"Float"})}id(...$){let[z={}]=$;return this.createField({...z,type:"ID"})}int(...$){let[z={}]=$;return this.createField({...z,type:"Int"})}string(...$){let[z={}]=$;return this.createField({...z,type:"String"})}booleanList(...$){let[z={}]=$;return this.createField({...z,type:["Boolean"]})}floatList(...$){let[z={}]=$;return this.createField({...z,type:["Float"]})}idList(...$){let[z={}]=$;return this.createField({...z,type:["ID"]})}intList(...$){let[z={}]=$;return this.createField({...z,type:["Int"]})}stringList(...$){let[z={}]=$;return this.createField({...z,type:["String"]})}field($){return this.createField($)}listRef($,z){var Y;return new vO($,(Y=z===null||z===void 0?void 0:z.nullable)!==null&&Y!==void 0?Y:!1)}constructor(...$){super(...$),aS0(this,"arg",new gQ(this.builder,"Arg").argBuilder())}}class kH extends kY{exposeBoolean($,...z){let[Y={}]=z;return this.exposeField($,{...Y,type:"Boolean"})}exposeFloat($,...z){let[Y={}]=z;return this.exposeField($,{...Y,type:"Float"})}exposeID($,...z){let[Y={}]=z;return this.exposeField($,{...Y,type:"ID"})}exposeInt($,...z){let[Y={}]=z;return this.exposeField($,{...Y,type:"Int"})}exposeString($,...z){let[Y={}]=z;return this.exposeField($,{...Y,type:"String"})}exposeBooleanList($,...z){let[Y={}]=z;return this.exposeField($,{...Y,type:["Boolean"]})}exposeFloatList($,...z){let[Y={}]=z;return this.exposeField($,{...Y,type:["Float"]})}exposeIDList($,...z){let[Y={}]=z;return this.exposeField($,{...Y,type:["ID"]})}exposeIntList($,...z){let[Y={}]=z;return this.exposeField($,{...Y,type:["Int"]})}exposeStringList($,...z){let[Y={}]=z;return this.exposeField($,{...Y,type:["String"]})}expose($,...z){let[Y={}]=z;return this.exposeField($,Y)}}class yO extends kH{constructor($){super($,"Interface","Interface")}}class gO extends kY{constructor($){super($,"Mutation","Object")}}class xQ extends kH{constructor($){super($,"Object","Object")}}class xO extends kY{constructor($){super($,"Query","Object")}}class hO extends kY{constructor($){super($,"Subscription","Object")}}function SK($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var sS0=s9,eS0=ZW;class j3 extends c1{constructor($,z){super("Enum",$,z),SK(this,"kind","Enum"),SK(this,"$inferType",void 0),SK(this,"$inferInput",void 0),SK(this,sS0,void 0),SK(this,eS0,void 0)}}function CK($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var $C0=s9,zC0=vY;class TK extends c1{addTypes($){if(Array.isArray($)&&$.length===0)return;if(this.preparedForBuild)this.updateConfig((z)=>({...z,types:[...z.types,...typeof $==="function"?$():$]}));else this.types.push(()=>Array.isArray($)?$:$())}prepareForBuild(){if(this.preparedForBuild)return;if(super.prepareForBuild(),this.types.length>0)this.updateConfig(($)=>({...$,types:[...$.types,...this.types.flatMap((z)=>z())]}))}constructor($,z){super("Union",$,z),CK(this,"kind","Union"),CK(this,"$inferType",void 0),CK(this,$C0,void 0),CK(this,zC0,void 0),CK(this,"types",[])}}function uY($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class fY{static registerPlugin($,z,Y){if(!fY.allowPluginReRegistration&&fY.plugins[$])throw new TY(`Received multiple implementations for plugin ${$}`);if(fY.plugins[$]=z,Y)fY.optionNormalizers.set($,Y)}objectType($,z,Y){I9($),Sh(z.interfaces);var W;let U=typeof $==="string"?$:(W=z.name)!==null&&W!==void 0?W:$.name,Q=$ instanceof c1?$:new n8(U);if(Q.updateConfig({kind:"Object",graphqlKind:"Object",name:U,interfaces:[],description:z.description,extensions:z.extensions,isTypeOf:z.isTypeOf,pothosOptions:z}),z.interfaces)Q.addInterfaces(z.interfaces);if(Q!==$&&typeof $!=="string")this.configStore.associateParamWithRef($,Q);if(Y)Q.addFields(()=>Y(new xQ(this)));if(z.fields)Q.addFields(()=>{let X=new xQ(this);return z.fields(X)});return this.configStore.addTypeRef(Q),Q}objectFields($,z){I9($),this.configStore.addFields($,()=>z(new xQ(this)))}objectField($,z,Y){I9($),this.configStore.addFields($,()=>({[z]:Y(new xQ(this))}))}queryType(...$){let[z={},Y]=$;var W;if(this.queryRef.updateConfig({kind:"Query",graphqlKind:"Object",name:(W=z.name)!==null&&W!==void 0?W:"Query",description:z.description,pothosOptions:z,extensions:z.extensions}),z.name)this.queryRef.name=z.name;if(this.configStore.addTypeRef(this.queryRef),Y)this.queryRef.addFields(()=>Y(new xO(this)));if(z.fields)this.queryRef.addFields(()=>z.fields(new xO(this)));return this.queryRef}queryFields($){this.configStore.addFields(this.queryRef,()=>$(new xO(this)))}queryField($,z){this.configStore.addFields(this.queryRef,()=>({[$]:z(new xO(this))}))}mutationType(...$){let[z={},Y]=$;var W;if(this.mutationRef.updateConfig({kind:"Mutation",graphqlKind:"Object",name:(W=z.name)!==null&&W!==void 0?W:"Mutation",description:z.description,pothosOptions:z,extensions:z.extensions}),this.configStore.addTypeRef(this.mutationRef),z.name)this.mutationRef.name=z.name;if(Y)this.configStore.addFields(this.mutationRef,()=>Y(new gO(this)));if(z.fields)this.configStore.addFields(this.mutationRef,()=>z.fields(new gO(this)));return this.mutationRef}mutationFields($){this.configStore.addFields(this.mutationRef,()=>$(new gO(this)))}mutationField($,z){this.configStore.addFields(this.mutationRef,()=>({[$]:z(new gO(this))}))}subscriptionType(...$){let[z={},Y]=$;var W;if(this.subscriptionRef.updateConfig({kind:"Subscription",graphqlKind:"Object",name:(W=z.name)!==null&&W!==void 0?W:"Subscription",description:z.description,pothosOptions:z,extensions:z.extensions}),this.configStore.addTypeRef(this.subscriptionRef),z.name)this.subscriptionRef.name=z.name;if(Y)this.configStore.addFields(this.subscriptionRef,()=>Y(new hO(this)));if(z.fields)this.configStore.addFields(this.subscriptionRef,()=>z.fields(new hO(this)));return this.subscriptionRef}subscriptionFields($){this.configStore.addFields(this.subscriptionRef,()=>$(new hO(this)))}subscriptionField($,z){this.configStore.addFields(this.subscriptionRef,()=>({[$]:z(new hO(this))}))}args($){return $(new gQ(this,"Arg"))}interfaceType($,z,Y){I9($),Sh(z.interfaces);var W;let U=typeof $==="string"?$:(W=z.name)!==null&&W!==void 0?W:$.name,Q=$ instanceof c1?$:new JW(U),X=Q.name;if(Q.updateConfig({kind:"Interface",graphqlKind:"Interface",name:X,interfaces:[],description:z.description,pothosOptions:z,extensions:z.extensions,resolveType:z.resolveType}),this.configStore.addTypeRef(Q),z.interfaces)Q.addInterfaces(z.interfaces);if(Q!==$&&typeof $!=="string")this.configStore.associateParamWithRef($,Q);if(Y)this.configStore.addFields(Q,()=>Y(new yO(this)));if(z.fields)this.configStore.addFields(Q,()=>z.fields(new yO(this)));return Q}interfaceFields($,z){I9($),this.configStore.addFields($,()=>z(new yO(this)))}interfaceField($,z,Y){I9($),this.configStore.addFields($,()=>({[z]:Y(new yO(this))}))}unionType($,z){let Y=new TK($,{kind:"Union",graphqlKind:"Union",name:$,types:[],description:z.description,resolveType:z.resolveType,pothosOptions:z,extensions:z.extensions});if(Array.isArray(z.types))for(let W of z.types)I9(W);return this.configStore.addTypeRef(Y),Y.addTypes(z.types),Y}enumType($,z){I9($);let Y=typeof $==="string"?$:z.name,W=typeof $==="object"?Dw$($,z===null||z===void 0?void 0:z.values):Kw$(z.values),U=new j3(Y,{kind:"Enum",graphqlKind:"Enum",name:Y,values:W,description:z.description,pothosOptions:z,extensions:z.extensions});if(this.configStore.addTypeRef(U),typeof $!=="string")this.configStore.associateParamWithRef($,U);return U}scalarType($,z){let Y=new SH($,{kind:"Scalar",graphqlKind:"Scalar",name:$,description:z.description,parseLiteral:z.parseLiteral,parseValue:z.parseValue,serialize:z.serialize,pothosOptions:z,extensions:z.extensions});return this.configStore.addTypeRef(Y),Y}addScalarType($,z,...Y){let[W={}]=Y,U=z.toConfig();return this.scalarType($,{...U,...W,extensions:{...U.extensions,...W.extensions}})}inputType($,z){I9($);let Y=typeof $==="string"?$:$.name,W=typeof $==="string"?new BW(Y):$;if(W.updateConfig({kind:"InputObject",graphqlKind:"InputObject",name:Y,isOneOf:z.isOneOf,description:z.description,pothosOptions:z,extensions:z.extensions}),this.configStore.addTypeRef(W),$!==W&&typeof $!=="string")this.configStore.associateParamWithRef($,W);return this.configStore.addInputFields(W,()=>z.fields(new gQ(this,"InputObject"))),W}inputRef($){return new D3(this,$)}objectRef($){return new RK(this,$)}interfaceRef($){return new NK(this,$)}toSchema(...$){let[z={}]=$,{directives:Y,extensions:W}=z,U=[F9.GraphQLID,F9.GraphQLInt,F9.GraphQLFloat,F9.GraphQLString,F9.GraphQLBoolean];for(let J of U)if(!this.configStore.hasImplementation(J.name))this.addScalarType(J.name,J);let Q=new K3(this,z);Q.plugin.beforeBuild(),Q.buildAll();let X=[...Q.types.values()],O=this.configStore.hasConfig(this.queryRef)?this.configStore.getTypeConfig(this.queryRef).name:"Query",G=this.configStore.hasConfig(this.mutationRef)?this.configStore.getTypeConfig(this.mutationRef).name:"Mutation",H=this.configStore.hasConfig(this.subscriptionRef)?this.configStore.getTypeConfig(this.subscriptionRef).name:"Subscription",Z=new F9.GraphQLSchema({query:Q.types.get(O),mutation:Q.types.get(G),subscription:Q.types.get(H),extensions:W!==null&&W!==void 0?W:{},directives:Y,types:X}),B=Q.plugin.afterBuild(Z);return z.sortSchema===!1?B:F9.lexicographicSortSchema(B)}constructor($){uY(this,"$inferSchemaTypes",void 0),uY(this,"queryRef",new vH("Query")),uY(this,"mutationRef",new TH("Mutation")),uY(this,"subscriptionRef",new _H("Subscription")),uY(this,"configStore",void 0),uY(this,"options",void 0),uY(this,"defaultFieldNullability",void 0),uY(this,"defaultInputFieldRequiredness",void 0),this.options=[...fY.optionNormalizers.values()].reduce((W,U)=>{if($.defaults&&typeof U[$.defaults]==="function")return Object.assign(W,U[$.defaults](W));return W},$),this.configStore=new vh(this);var z;this.defaultFieldNullability=(z=$.defaultFieldNullability)!==null&&z!==void 0?z:$.defaults!=="v3";var Y;this.defaultInputFieldRequiredness=(Y=$.defaultInputFieldRequiredness)!==null&&Y!==void 0?Y:!1}}uY(fY,"plugins",{});uY(fY,"optionNormalizers",new Map);uY(fY,"allowPluginReRegistration",!1);var YC0=fY,M8=YC0;var hQ=kY;var Mw$=xQ;var Pw$=gQ,Nw$=c1;var Ew$=BW;var uh=JW,Rw$=NK,$8=n8,uH=RK;var Sw$=TK;function fh($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var I3=Symbol.for("Pothos.prismaModelKey"),UC0=I3,WC0=qw$;class mQ extends $8{addBrand($){if(Array.isArray($)){for(let z of $)_O(z,this.name);return $}return _O($,this.name),$}hasBrand($){return typeof $==="object"&&$!==null&&JU in $&&$[JU]===this.name}constructor($,z){super($),fh(this,UC0,void 0),fh(this,WC0,void 0),fh(this,"modelName",void 0),this.modelName=z}}function Cw$($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var QC0=I3;class fH extends uh{constructor($,z){super($),Cw$(this,QC0,void 0),Cw$(this,"modelName",void 0),this.modelName=z}}var Tw$=B4(($)=>B4((z)=>typeof $.options.prisma.client==="function"?$.options.prisma.client(z):$.options.prisma.client));function F3($,z){if(typeof $.options.prisma.client==="function")return Tw$($)(z);return $.options.prisma.client}function hz($){var z;if("dmmf"in $.options.prisma&&$.options.prisma.dmmf)return $.options.prisma.dmmf.datamodel;let Y=$.options.prisma.client;var W,U;return(U=(W=Y._runtimeDataModel)!==null&&W!==void 0?W:(z=Y._baseDmmf)===null||z===void 0?void 0:z.datamodel)!==null&&U!==void 0?U:Y._dmmf.datamodel}var yh=new WeakMap;function z8($,z,Y="object"){if(!yh.has(z))yh.set(z,new Map);let W=yh.get(z);if(!W.has($))W.set($,Y==="object"?new mQ($,$):new fH($,$));return W.get($)}function gh($,z,Y){let W=xh($,z,Y);if(W.kind!=="object")throw new D0(`Field ${Y} of model '${$}' is not a relation (${W.kind})`);return W}function xh($,z,Y){let U=zz($,z).fields.find((Q)=>Q.name===Y);if(!U)throw new D0(`Field '${Y}' not found in model '${$}'`);return U}function zz($,z){let Y=hz(z),W=Array.isArray(Y.models)?Y.models.find((U)=>U.name===$):Y.models[$];if(!W)throw new D0(`Model '${$}' not found in DMMF`);if(!W.uniqueIndexes)throw new D0(`Model '${$}' is missing required datamodel information. This is likely because you're using Prisma v7+ without providing the generated datamodel. Please follow the setup instructions at https://pothos-graphql.dev/docs/plugins/prisma#setup to generate and configure the datamodel properly.`);return W}function L3($,z){let Y=`${z.slice(0,1).toLowerCase()}${z.slice(1)}`,W=Y in $?$[Y]:null;if(!W)throw new D0(`Unable to find delegate for model ${z}`);return W}var vw$=B4(()=>new Map);function b3($,z,Y=[]){let W="",U=z;while(U){if(typeof U.key==="string")W=W?`${U.key}.${W}`:U.key;U=U.prev}for(let Q of Y)W=`${W}.${Q}`;return`${$}@${W}`}function yH($,z,Y){let W=vw$($);for(let[U,Q]of Object.entries(Y)){let X=[...Q.indirectPath,U],O=b3(Q.type,z.path,X);W.set(O,Q.mappings)}}function hh($,z,Y){let W=vw$($),U=b3(Y,z,[]);var Q;return(Q=W.get(U))!==null&&Q!==void 0?Q:null}var P1=J6(CY(),1);function vK($,z,Y){if($===z)return!0;if($&&z&&typeof $==="object"&&typeof z==="object"){var W,U;if(Array.isArray($)){if(!Array.isArray(z))return!1;let{length:H}=$;if(z.length!==H)return!1;for(let Z=0;Z<H;Z+=1)if(!vK($[Z],z[Z]))return!1;return!0}let Q=(W=$.valueOf)===null||W===void 0?void 0:W.call($),X=(U=z.valueOf)===null||U===void 0?void 0:U.call(z);if((Q!=null||X!=null)&&typeof Q!=="object")return Q===X;let O=Object.keys($);if(O.length!==Object.keys(z).length)return!1;for(let H of O){if(Y===null||Y===void 0?void 0:Y.has(H))continue;if(!vK($[H],z[H]))return!1}return!0}return!1}function _K($,z,Y=!1){if(typeof z==="boolean")return Y||!z||Object.keys($.query).length===0;let{select:W,include:U,...Q}=z;if(W&&Object.keys(W).some((O)=>X(O,W[O])))return!1;if(U&&Object.keys(U).some((O)=>X(O,U[O])))return!1;return Y||vK($.query,Q);function X(O,G){if(O==="_count"){let H=G&&G.select,Z=H&&Object.keys(H);if(!Z||Z.length===0)return!1;return Z.some((B)=>$.counts.has(B)&&!vK($.counts.get(B),H[B]))}return G&&$.fieldMap.relations.has(O)&&$.relations.has(O)&&!_K($.relations.get(O),G)}}function M3($,z,Y,W){return{parent:W,mode:z,fieldMap:$,query:{},fields:new Set,counts:new Map,relations:new Map,mappings:{},skipDeferredFragments:Y}}function DU($,{select:z,include:Y,...W}){if($.mode==="select"&&!z)$.mode="include";if(Y)for(let Q of Object.keys(Y))U(Q,Y[Q]);if(z)for(let Q of Object.keys(z))U(Q,z[Q]);if(Object.keys(W).length>0)$.query=W;function U(Q,X){if(!X)return;if(Q==="_count"){var O;let Z=(O=X.select)!==null&&O!==void 0?O:{};for(let B of Object.keys(Z))$.counts.set(B,Z[B]);return}let G=X===!0?{include:{}}:X,H=$.fieldMap.relations.get(Q);if(H)if($.relations.has(Q))DU($.relations.get(Q),G);else{let Z=M3(H,"select",$.skipDeferredFragments);DU(Z,G),$.relations.set(Q,Z)}else $.fields.add(Q)}}function DW($){let z={},Y={},W=!1;if($.relations.forEach((U,Q)=>{W=!0;let X=DW(U);z[Q]=Object.keys(X).length>0?X:!0}),$.counts.size>0){W=!0;for(let[U,Q]of $.counts)Y[U]=Q;z._count={select:Y}}if($.mode==="select"){for(let U of $.fields)W=!0,z[U]=!0;return{...$.query,select:z}}return W?{...$.query,include:z}:$.query}var mO=Symbol.for("Pothos.isUsed");function _w$($){let z={},Y=!0;Object.defineProperty(z,mO,{get(){return Y},set(W){Y=W},enumerable:!1});for(let W of Object.keys($))Y=!1,Object.defineProperty(z,W,{enumerable:!0,configurable:!0,get(){return Y=!0,$[W]}});return z}function mh($){return!(mO in $)||$[mO]}function kw$($,z){if(!(mO in $))return{...$,...z};let Y={...z};for(let W of[mO,...Object.keys($)]){if(W in Y)continue;Object.defineProperty(Y,W,{enumerable:W!==mO,configurable:W!==mO,get(){return $[W]}})}return Y}function cO($,z,Y,W,U,Q,X){if(U.name.value.startsWith("__"))return;var O;let{pothosPrismaInclude:G,pothosPrismaSelect:H,pothosIndirectInclude:Z,pothosPrismaModel:B}=(O=$.extensions)!==null&&O!==void 0?O:{};if(!!(Z===null||Z===void 0?void 0:Z.path)&&Z.path.length>0||!!(Z===null||Z===void 0?void 0:Z.paths)&&Z.paths.length===0){var J;dh($,Y,U,[],(J=Z.paths)!==null&&J!==void 0?J:[Z.path],Q,(K,D,w,V)=>{cO(K,z,Y,W,D,w,V)})}else if(Z){cO(Y.schema.getType(Z.getType()),z,Y,W,U,Q,X);return}if(!(P1.isObjectType($)||P1.isInterfaceType($)))return;if(B&&!H)W.mode="include";if(G!==null&&G!==void 0?G:H)DU(W,{select:H?{...H}:void 0,include:G?{...G}:void 0});if(U.selectionSet&&(!X||!W.skipDeferredFragments))ch($,z,Y,W,U.selectionSet,Q)}function dh($,z,Y,W,U,Q,X,O=!1){for(let G of U)if(W.length>0)lO($,z,Y,[...W,...G],Q,X,O);else lO($,z,Y,G,Q,X,O)}function lO($,z,Y,W,U,Q,X=!1,O=$){if(W.length===0){Q($,Y,U,X);return}let[G,...H]=W;if(!Y.selectionSet||!G)return;for(let J of Y.selectionSet.selections)switch(J.kind){case P1.Kind.FIELD:if(O.name===$.name&&!gw$(z,J)&&J.name.value===G.name&&(P1.isObjectType($)||P1.isInterfaceType($))){var Z;let K=P1.getNamedType($.getFields()[J.name.value].type);var B;lO(K,z,J,H,[...U,(B=(Z=J.alias)===null||Z===void 0?void 0:Z.value)!==null&&B!==void 0?B:J.name.value],Q,X)}continue;case P1.Kind.FRAGMENT_SPREAD:lO(z.schema.getType(z.fragments[J.name.value].typeCondition.name.value),z,z.fragments[J.name.value],W,U,Q,X||P3(J,z),G.type?z.schema.getType(G.type):O);continue;case P1.Kind.INLINE_FRAGMENT:if(!J.typeCondition||!G.type||J.typeCondition.name.value===G.type)lO(J.typeCondition?z.schema.getType(J.typeCondition.name.value):$,z,J,W,U,Q,X||P3(J,z),G.type?z.schema.getType(G.type):O);continue;default:throw new V0(`Unsupported selection kind ${Y.kind}`)}}function ch($,z,Y,W,U,Q,X=$){let O=$;for(let Z of U.selections)switch(Z.kind){case P1.Kind.FIELD:if(X.name!==$.name)continue;uw$($,z,Y,W,Z,Q);continue;case P1.Kind.FRAGMENT_SPREAD:var G;if(W.skipDeferredFragments&&P3(Z,Y))continue;O=Y.schema.getType(Y.fragments[Z.name.value].typeCondition.name.value),ch(O,z,Y,W,Y.fragments[Z.name.value].selectionSet,Q,((G=O.extensions)===null||G===void 0?void 0:G.pothosPrismaModel)===$.extensions.pothosPrismaModel?O:X);continue;case P1.Kind.INLINE_FRAGMENT:var H;if(W.skipDeferredFragments&&P3(Z,Y))continue;O=Z.typeCondition?Y.schema.getType(Z.typeCondition.name.value):$,ch(O,z,Y,W,Z.selectionSet,Q,((H=O.extensions)===null||H===void 0?void 0:H.pothosPrismaModel)===$.extensions.pothosPrismaModel?O:X);continue;default:throw new V0(`Unsupported selection kind ${Z.kind}`)}}function uw$($,z,Y,W,U,Q){var X;if(U.name.value.startsWith("__")||gw$(Y,U))return;let O=$.getFields()[U.name.value];if(!O)throw new V0(`Unknown field ${U.name.value} on ${$.name}`);let G=(X=O.extensions)===null||X===void 0?void 0:X.pothosPrismaSelect,H,Z={};if(typeof G==="function"){let K=Z3(O,U,z,Y);H=G(K,z,(D,w,V)=>{let I=P1.getNamedType(O.type),j=typeof D==="function"?D(K,z):D,A=Array.isArray(w)?XC0(w,lh(I,Y),V?P1.getNamedType(Y.schema.getType(V)):void 0):w,b=kK(lh(A?Y.schema.getType(A.getType()):I,Y),Y,W.skipDeferredFragments,W);if(typeof j==="object"&&Object.keys(j).length>0)DU(b,{select:{},...j});if(!!(A===null||A===void 0?void 0:A.path)&&A.path.length>0||!!(A===null||A===void 0?void 0:A.paths)&&A.paths.length>0){var F,S,v,d;dh(I,Y,U,(v=(S=I.extensions)===null||S===void 0?void 0:(F=S.pothosIndirectInclude)===null||F===void 0?void 0:F.path)!==null&&v!==void 0?v:[],(d=A===null||A===void 0?void 0:A.paths)!==null&&d!==void 0?d:(A===null||A===void 0?void 0:A.path)?[A.path]:[],[],(T,l,_,o)=>{cO(T,z,Y,b,l,_,o)})}else if(A){let T=Y.schema.getType(A.getType());if(T!==I)cO(T,z,Y,b,U,[])}return cO(I,z,Y,b,U,[]),Z=b.mappings,DW(b)},(D)=>{if(D.length===0)return U;let w=P1.getNamedType(O.type),V=null;return lO(w,Y,U,D.map((I)=>({name:I})),[],(I,j)=>{V=j}),V})}else H={select:G};if(G&&_K(W,H,!0)){var B;DU(W,H);var J;W.mappings=fw$(W.mappings,{[(J=(B=U.alias)===null||B===void 0?void 0:B.value)!==null&&J!==void 0?J:U.name.value]:{field:U.name.value,type:$.name,mappings:Z,indirectPath:Q}})}}function fw$($,z){let Y={...$};for(let[W,U]of Object.entries(z))if(Y[W])Y[W]={...Y[W],mappings:fw$(Y[W].mappings,U.mappings)};else Y[W]=U;return Y}function cQ({context:$,info:z,typeName:Y,select:W,include:U,path:Q=[],paths:X=[],withUsageCheck:O=!1,skipDeferredFragments:G=!0}){let H=P1.getNamedType(z.returnType),Z=Y?z.schema.getTypeMap()[Y]:H,B,J=W?{select:W}:U?{include:U}:void 0;if(Q.length>0||X.length>0){var K;let{pothosIndirectInclude:V}=(K=H.extensions)!==null&&K!==void 0?K:{};var D;lO(H,z,z.fieldNodes[0],(D=V===null||V===void 0?void 0:V.path)!==null&&D!==void 0?D:[],[],(I,j,A,b)=>{dh(I,z,j,[],X.length>0?X.map((F)=>F.map((S)=>typeof S==="string"?{name:S}:S)):[Q.map((F)=>typeof F==="string"?{name:F}:F)],A,(F,S,v,d)=>{B=kK(Y?Z:F,z,G,void 0,J),cO(Y?Z:F,$,z,B,S,v,d)},b)})}else B=kK(Z,z,G,void 0,J),cO(Z,$,z,B,z.fieldNodes[0],[]);if(!B)B=kK(Z,z,G,void 0,J);yH($,z,B.mappings);let w=DW(B);return O?_w$(w):w}function yw$($,z,Y,W){let U=W?z.schema.getTypeMap()[W]:z.parentType,Q=kK(U,z,Y);if(!(P1.isObjectType(U)||P1.isInterfaceType(U)))throw new V0("Prisma plugin can only resolve includes for object and interface types");return uw$(U,$,z,Q,z.fieldNodes[0],[]),Q}function kK($,z,Y,W,U){var Q,X;let O=lh($,z),G=(Q=O.extensions)===null||Q===void 0?void 0:Q.pothosPrismaFieldMap,H=M3(G,((X=O.extensions)===null||X===void 0?void 0:X.pothosPrismaSelect)?"select":"include",Y,W);if(U)DU(H,U);return H}function lh($,z){var Y;let W=$;while((Y=W.extensions)===null||Y===void 0?void 0:Y.pothosIndirectInclude)W=z.schema.getType(W.extensions.pothosIndirectInclude.getType());return W}function XC0($,z,Y){let W=$.length>0?z:Y!==null&&Y!==void 0?Y:z,U=[];if(!(P1.isObjectType(W)||P1.isInterfaceType(W)))throw new V0(`Expected ${W} to be an Object type`);for(let Q of $){let X=W.getFields()[Q];if(!X)throw new V0(`Expected ${W} to have a field ${Q}`);if(W=P1.getNamedType(X.type),!(P1.isObjectType(W)||P1.isInterfaceType(W)))throw new V0(`Expected ${W} to be an Object or Interface type`);U.push({name:Q,type:W.name})}return{getType:()=>{var Q;return(Q=Y===null||Y===void 0?void 0:Y.name)!==null&&Q!==void 0?Q:U.length>0?U[U.length-1].type:z.name},path:U}}function gw$($,z){let Y=P1.getDirectiveValues(P1.GraphQLSkipDirective,z,$.variableValues);if((Y===null||Y===void 0?void 0:Y.if)===!0)return!0;let W=P1.getDirectiveValues(P1.GraphQLIncludeDirective,z,$.variableValues);if((W===null||W===void 0?void 0:W.if)===!1)return!0;return!1}function P3($,z){let Y=z.schema.getDirective("defer");if(!Y)return!1;let W=P1.getDirectiveValues(Y,$,z.variableValues);return!!W&&W.if!==!1}function dO($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class m4{static forRef($,z,Y,W){return B4((U)=>new m4(U,W,z,Y===null?()=>{throw new D0(`Missing findUnique for ${$.name}`)}:Y!==null&&Y!==void 0?Y:m4.getDefaultFindUnique($,z,W)))}static getFindUnique($){if(typeof $==="string")return(W)=>({[$]:W[$]});let{fields:z,name:Y}=$;return(W)=>{let U={};for(let Q of z)U[Q]=W[Q];return{[Y!==null&&Y!==void 0?Y:z.join("_")]:U}}}static getDefaultFindBy($,z,Y){let W=zz(z,Y),U=W.fields.find((G)=>G.isId),Q=W.fields.find((G)=>G.isRequired&&G.isUnique),X=W.uniqueIndexes.find((G)=>G.fields.every((H)=>{var Z;return(Z=W.fields.find((B)=>B.name===H))===null||Z===void 0?void 0:Z.isRequired})),O;if(W.primaryKey)O=W.primaryKey;else if(U)O=U.name;else if(Q)O=Q.name;else if(X)O=X;if(!O)throw new D0(`Missing findUnique for ${$.name}`);return O}static getDefaultFindUnique($,z,Y){let W=m4.getDefaultFindBy($,z,Y);return m4.getFindUnique(W)}static getDefaultIDSelection($,z,Y){let W=m4.getDefaultFindBy($,z,Y);if(typeof W==="string")return{[W]:!0};let U={};for(let Q of W.fields)U[Q]=!0;return U}static getCursorSelection($,z,Y,W){let U=zz(z,W),Q=U.fields.find((G)=>G.name===Y);if(Q)return{[Q.name]:!0};let X=[U.primaryKey,...U.uniqueIndexes].filter(Boolean).find((G)=>{var H;return((H=G.name)!==null&&H!==void 0?H:G.fields.join("_"))===Y});if(!X)throw new D0(`Can't find "${Y}" field or index for ${$.name}`);let O={};for(let G of X.fields)O[G]=!0;return O}static getFindUniqueForField($,z,Y,W){var U,Q;let X=zz(z,W),O=X.uniqueIndexes.find((Z)=>{var B;return((B=Z.name)!==null&&B!==void 0?B:Z.fields.join("_"))===Y}),G;var H;if(X.fields.some((Z)=>Z.name===Y))G=Y;else if(X.primaryKey&&((H=(U=X.primaryKey)===null||U===void 0?void 0:U.name)!==null&&H!==void 0?H:(Q=X.primaryKey)===null||Q===void 0?void 0:Q.fields.join("_"))===Y)G=X.primaryKey;else if(O)G=O;if(!G)throw new D0(`Unable to find field or index for ${Y} of ${$.name}`);return m4.getFindUnique(G)}getSelection($){let z=b3($.parentType.name,$.path);if(!this.queryCache.has(z)){var Y;let W=yw$(this.context,$,(Y=this.builder.options.prisma.skipDeferredFragments)!==null&&Y!==void 0?Y:!0);this.queryCache.set(z,{selection:W,query:DW(W)})}return this.queryCache.get(z)}async loadSelection($,z){let{selection:Y,query:W}=this.getSelection($),U=await this.stageQuery(Y,W,z);if(U){let Q=Y.mappings[$.path.key];if(Q)yH(this.context,$,Q.mappings)}return U}async stageQuery($,z,Y){for(let W of this.staged)if(_K(W.state,z)){if(DU(W.state,z),!W.models.has(Y))W.models.set(Y,ih());return await W.models.get(Y).promise}return this.initLoad($,Y)}initLoad($,z){let Y=L3(F3(this.builder,this.context),this.modelName),W=new Map,U=ih();W.set(z,U);let Q={models:W,state:$};this.staged.add(Q);let X=ih();return this.tick.then(()=>{this.staged.delete(Q);for(let[O,{resolve:G,reject:H}]of Q.models)if(Y.findUniqueOrThrow)Y.findUniqueOrThrow({...DW($),where:{...this.findUnique(O,this.context)}}).then(G,H);else Y.findUnique({rejectOnNotFound:!0,...DW($),where:{...this.findUnique(O,this.context)}}).then(G,H)}),setTimeout(()=>X.resolve(),0),this.tick=X.promise,U.promise}constructor($,z,Y,W){dO(this,"context",void 0),dO(this,"builder",void 0),dO(this,"findUnique",void 0),dO(this,"modelName",void 0),dO(this,"queryCache",new Map),dO(this,"staged",new Set),dO(this,"tick",Promise.resolve()),this.context=$,this.builder=z,this.findUnique=W,this.modelName=Y}}function ih(){let $,z;return{promise:new Promise((W,U)=>{$=W,z=U}),resolve:$,reject:z}}class N3 extends mQ{}var L9=J6(CY(),1);var OC0=100,GC0=20;function HC0($){if($ instanceof Date)return`D:${String(Number($))}`;switch(typeof $){case"number":return`N:${$}`;case"string":return`S:${$}`;case"bigint":return`I:${$}`;default:throw new V0(`Unsupported cursor type ${typeof $}`)}}function xw$($){return(z)=>{if(typeof $==="string")return EH(`GPC:${HC0(z[$])}`);return EH(`GPC:J:${JSON.stringify($.map((Y)=>z[Y]))}`)}}function rh($){if(typeof $!=="string")throw new V0("Cursor must be a string");try{let z=IK($),[,Y,W]=z.match(/^GPC:(\w):(.*)/);switch(Y){case"S":return W;case"N":return Number.parseInt(W,10);case"D":return new Date(Number.parseInt(W,10));case"J":return JSON.parse(W);case"I":return BigInt(W);default:throw new V0(`Invalid cursor type ${Y}`)}}catch{throw new V0(`Invalid cursor: ${$}`)}}function hw$($,z){if(!$)return $;switch(z){case"String":return $;case"Int":return Number.parseInt($,10);case"BigInt":return BigInt($);case"Boolean":return $!=="false";case"Float":case"Decimal":return Number.parseFloat($);case"DateTime":return new Date($);case"Json":return JSON.parse($);case"Byte":return Buffer.from($,"base64");default:return $}}function cw$($,z,Y){var W,U;let Q=zz($,Y),X=Q.fields.find((H)=>H.name===z);if(X)return(H)=>nh(H[z],X.type);var O;if(((O=(W=Q.primaryKey)===null||W===void 0?void 0:W.name)!==null&&O!==void 0?O:(U=Q.primaryKey)===null||U===void 0?void 0:U.fields.join("_"))===z){let H=Q.primaryKey.fields.map((Z)=>Q.fields.find((B)=>B.name===Z));return(Z)=>JSON.stringify(H.map((B)=>nh(Z[B.name],B.kind)))}let G=Q.uniqueIndexes.find((H)=>{var Z;return((Z=H.name)!==null&&Z!==void 0?Z:H.fields.join("_"))===z});if(G){let H=G.fields.map((Z)=>Q.fields.find((B)=>B.name===Z));return(Z)=>JSON.stringify(H.map((B)=>nh(Z[B.name],B.kind)))}throw new V0(`Unable to find ${z} for model ${$}`)}function lw$($,z,Y){var W,U;if(!z)throw new V0("Missing field name");let Q=zz($,Y),X=Q.fields.find((Z)=>Z.name===z);if(X)return(Z)=>hw$(Z,X.type);let O=Q.uniqueIndexes.find((Z)=>{var B;return((B=Z.name)!==null&&B!==void 0?B:Z.fields.join("_"))===z}),G;var H;if(((H=(W=Q.primaryKey)===null||W===void 0?void 0:W.name)!==null&&H!==void 0?H:(U=Q.primaryKey)===null||U===void 0?void 0:U.fields.join("_"))===z)G=Q.primaryKey.fields.map((Z)=>Q.fields.find((B)=>B.name===Z));else if(O)G=O.fields.map((Z)=>Q.fields.find((B)=>B.name===Z));if(!G)throw new V0(`Unable to find ${z} for model ${$}`);return(Z)=>{let B=JSON.parse(Z);if(!Array.isArray(B))throw new V0(`Invalid id received for ${z} of ${$}`);let J={};for(let K=0;K<G.length;K+=1)J[G[K].name]=hw$(B[K],G[K].type);return J}}function nh($,z){switch(z){case"Json":return JSON.stringify($);case"Byte":if($ instanceof Uint8Array)return Buffer.from($).toString("base64");return $.toString("base64");default:return String($)}}function mw$($){return(z)=>{let Y=rh(z);if(!Array.isArray(Y))throw new V0(`Expected compound cursor to contain an array, but got ${Y}`);let W={};return $.forEach((U,Q)=>{W[U]=Y[Q]}),W}}function E3({args:$,ctx:z,maxSize:Y=OC0,defaultSize:W=GC0,parseCursor:U}){let{before:Q,after:X,first:O,last:G}=$;if(O!=null&&O<0)throw new V0('Argument "first" must be a non-negative integer');if(G!=null&&G<0)throw new V0('Argument "last" must be a non-negative integer');if(Q&&X)throw new V0('Arguments "before" and "after" are not supported at the same time');if(Q!=null&&O!=null)throw new V0('Arguments "before" and "first" are not supported at the same time');if(X!=null&&G!=null)throw new V0('Arguments "after" and "last" are not supported at the same time');let H=Q!==null&&Q!==void 0?Q:X,Z=typeof Y==="function"?Y($,z):Y,B=typeof W==="function"?W($,z):W;var J;let K=Math.min((J=O!==null&&O!==void 0?O:G)!==null&&J!==void 0?J:B,Z)+1;if(Q!==null&&Q!==void 0?Q:G)K=-K;return H==null?{take:K,skip:0}:{cursor:U(H),take:K,skip:1}}function uK($,z,Y,W,U,Q,X){var O,G;let H=z.length===Math.abs(W),Z=Y.before?!0:Y.last?!1:H;var B;let J=Y.after?!0:((B=Y.before)!==null&&B!==void 0?B:Y.last)?H:!1,K=H?z.slice(W<0?1:0,W<0?z.length:-1):z,D={parent:$,args:Y,totalCount:Q,edges:[],pageInfo:{startCursor:null,endCursor:null,hasPreviousPage:J,hasNextPage:Z}},w=K.map((j)=>j==null?null:X?{connection:D,...j,cursor:U(j),node:X(j)}:{connection:D,cursor:U(j),node:j});D.edges=w;var V;D.pageInfo.startCursor=(V=(O=w[0])===null||O===void 0?void 0:O.cursor)!==null&&V!==void 0?V:null;var I;return D.pageInfo.endCursor=(I=(G=w[w.length-1])===null||G===void 0?void 0:G.cursor)!==null&&I!==void 0?I:null,D}async function dw$($,z,Y){let W=E3($),U=await Y(kw$($.query,W));if(!U)return U;return uK($.parent,U,$.args,W.take,z,$.totalCount)}function fK($,z,Y){var W,U;let Q=zz($,z);var X;if(((X=(W=Q.primaryKey)===null||W===void 0?void 0:W.name)!==null&&X!==void 0?X:(U=Q.primaryKey)===null||U===void 0?void 0:U.fields.join("_"))===Y)return xw$(Q.primaryKey.fields);let G=Q.uniqueIndexes.find((Z)=>{var B;return((B=Z.name)!==null&&B!==void 0?B:Z.fields.join("_"))===Y});var H;return xw$((H=G===null||G===void 0?void 0:G.fields)!==null&&H!==void 0?H:Y)}function yK($,z,Y){var W,U;let Q=zz($,z);var X;let O=(X=(W=Q.primaryKey)===null||W===void 0?void 0:W.name)!==null&&X!==void 0?X:(U=Q.primaryKey)===null||U===void 0?void 0:U.fields.join("_"),G=rh;if(O===Y)G=mw$(Q.primaryKey.fields);else{let H=Q.uniqueIndexes.find((Z)=>{var B;return((B=Z.name)!==null&&B!==void 0?B:Z.fields.join("_"))===Y});if(H)G=mw$(H.fields)}return(H)=>({[Y]:G(H)})}function R3($,z,Y,W){let{exposeDescriptions:U}=z.options.prisma;return(U===!0||typeof U==="object"&&(U===null||U===void 0?void 0:U.fields)===!0?W!==null&&W!==void 0?W:xh($,z,Y).documentation:W)||void 0}function ph($,z,Y){let{exposeDescriptions:W}=z.options.prisma;return(W===!0||typeof W==="object"&&(W===null||W===void 0?void 0:W.models)===!0?Y!==null&&Y!==void 0?Y:zz($,z).documentation:Y)||void 0}function r8($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var qC0=hQ;class wU extends qC0{relation($,...z){let[{description:Y,...W}={}]=z,U=gh(this.model,this.builder,$);var Q;let X=(Q=W.type)!==null&&Q!==void 0?Q:z8(U.type,this.builder),{query:O={},resolve:G,extensions:H,onNull:Z,...B}=W,J=(K,D,w)=>({select:{[$]:w(O)}});return this.field({...B,type:U.isList?[X]:X,description:R3(this.model,this.builder,$,Y),extensions:{...H,pothosPrismaSelect:J,pothosPrismaLoaded:(K)=>K[$]!==void 0,pothosPrismaFallback:G&&((K,D,w,V,I)=>G({...K,...typeof O==="function"?O(w,V):O},D,w,V,I))},resolve:(K)=>{let D=K[$];if(typeof Z==="function"&&D==null)return Z(K,{},{},{});return D}})}relationCount($,...z){let[{where:Y,...W}={}]=z,U=typeof Y==="function"?(Q,X)=>({_count:{select:{[$]:{where:Y(Q,X)}}}}):{_count:{select:{[$]:Y?{where:Y}:!0}}};return this.field({...W,type:"Int",nullable:!1,select:U,resolve:(Q,X,O,G)=>{var H;return(H=Q._count)===null||H===void 0?void 0:H[$]}})}variant($,...z){let[{isNull:Y,nullable:W,...U}={}]=z,Q=typeof $==="string"?z8($,this.builder):$,X=(O,G,H)=>H({});return this.field({...U,type:Q,extensions:{...U===null||U===void 0?void 0:U.extensions,pothosPrismaSelect:X},nullable:W!==null&&W!==void 0?W:!!Y,resolve:Y?(O,G,H,Z)=>{let B=Y(O,G,H,Z);if(B){if(b8(B))return B.then((J)=>J?null:O);return null}return O}:(O)=>O})}expose($,...z){var Y;let[W={}]=z,Q=!!((Y=this.builder.configStore.getTypeConfig(this.typename).extensions)===null||Y===void 0?void 0:Y.pothosPrismaSelect);return this.exposeField($,{...W,description:R3(this.model,this.builder,$,W.description),extensions:{...W.extensions,pothosPrismaVariant:$,pothosPrismaSelect:Q&&{[$]:!0}}})}createExpose($){return(z,...Y)=>{let[W={}]=Y;return this.expose(z,{...W,type:$})}}constructor($,z,Y,W,U="Object"){super(z,"PrismaObject",U),r8(this,"model",void 0),r8(this,"prismaFieldMap",void 0),r8(this,"exposeBoolean",this.createExpose("Boolean")),r8(this,"exposeFloat",this.createExpose("Float")),r8(this,"exposeInt",this.createExpose("Int")),r8(this,"exposeID",this.createExpose("ID")),r8(this,"exposeString",this.createExpose("String")),r8(this,"exposeBooleanList",this.createExpose(["Boolean"])),r8(this,"exposeFloatList",this.createExpose(["Float"])),r8(this,"exposeIntList",this.createExpose(["Int"])),r8(this,"exposeIDList",this.createExpose(["ID"])),r8(this,"exposeStringList",this.createExpose(["String"])),r8(this,"withAuth",BC0),r8(this,"relatedConnection",function(X,{maxSize:O=this.builder.options.prisma.maxConnectionSize,defaultSize:G=this.builder.options.prisma.defaultConnectionSize,cursor:H,query:Z,resolve:B,extensions:J,totalCount:K,description:D,...w},V={},I={}){let j=gh(this.model,this.builder,X);var A;let b=(A=w.type)!==null&&A!==void 0?A:z8(j.type,this.builder),F,S=fK(j.type,this.builder,H),v=yK(j.type,this.builder,H),d=(o,a)=>{let R=E3({parseCursor:v,ctx:a,maxSize:O,defaultSize:G,args:o});var t;let{take:q$=R.take,skip:n=R.skip,cursor:X$=R.cursor,...D$}=(t=typeof Z==="function"?Z(o,a):Z)!==null&&t!==void 0?t:{};return{...D$,...R,take:q$,skip:n,...X$?{cursor:X$}:{}}},T=m4.getCursorSelection(b,j.type,H,this.builder),l=(o,a,R,t)=>{var q$;F!==null&&F!==void 0||(F=this.builder.configStore.getTypeConfig(b).name);let n=R(d(o,a),{getType:()=>F,paths:[[{name:"nodes"}],[{name:"edges"},{name:"node"}]]}),X$=t([]),D$=K&&!!t(["totalCount"]),x=(q$=X$.selectionSet)===null||q$===void 0?void 0:q$.selections.filter((f)=>!(f.kind===L9.Kind.FIELD&&f.name.value==="__typename")),z$=(x===null||x===void 0?void 0:x.length)===1&&x[0].kind===L9.Kind.FIELD&&x[0].name.value==="totalCount"&&D$,h=this.builder.options.prisma.filterConnectionTotalCount!==!1?n.where?{where:n.where}:!0:!0;return{select:{...D$?{_count:{select:{[X]:h}}}:{},[X]:z$?void 0:(n===null||n===void 0?void 0:n.select)?{...n,select:{...T,...n.select}}:n}}};return this.connection({...w,description:R3(this.model,this.builder,X,D),extensions:{...J,pothosPrismaSelect:l,pothosPrismaLoaded:(o,a)=>{let R=L9.getNamedType(a.returnType),t=L9.isObjectType(R)||L9.isInterfaceType(R)?R.getFields():{};return a.fieldNodes.every((X$)=>{var D$;return(D$=X$.selectionSet)===null||D$===void 0?void 0:D$.selections.every((x)=>{var z$,h;return x.kind===L9.Kind.FIELD&&(((h=t[x.name.value])===null||h===void 0?void 0:(z$=h.extensions)===null||z$===void 0?void 0:z$.pothosPrismaTotalCount)||x.name.value==="__typename")})})||o[X]!==void 0},pothosPrismaFallback:B&&((o,a,R,t,q$)=>Promise.resolve(B({...o,...d(R,t)},a,R,t,q$)).then((n)=>uK(a,n,R,o.take,S)))},type:b,resolve:(o,a,R,t)=>{var q$;let n=L9.getNamedType(t.returnType),X$=L9.isObjectType(n)||L9.isInterfaceType(n)?n.getFields():{},D$=t.fieldNodes.every((h)=>{var f;return(f=h.selectionSet)===null||f===void 0?void 0:f.selections.every((C)=>{var W$,Y$;return C.kind===L9.Kind.FIELD&&(((Y$=X$[C.name.value])===null||Y$===void 0?void 0:(W$=Y$.extensions)===null||W$===void 0?void 0:W$.pothosPrismaTotalCount)||C.name.value==="__typename")})}),x=d(a,R);var z$;return uK(o,D$?[]:(z$=o[X])!==null&&z$!==void 0?z$:[],a,x.take,S,(q$=o._count)===null||q$===void 0?void 0:q$[X])}},V instanceof $8?V:{...V,fields:K?(o)=>{var a;return{totalCount:o.int({nullable:!1,extensions:{pothosPrismaTotalCount:!0},resolve:(R,t,q$)=>R.totalCount}),...(a=V.fields)===null||a===void 0?void 0:a.call(V,o)}}:V.fields},I)}),r8(this,"typename",void 0),this.model=Y,this.prismaFieldMap=W,this.typename=$,this.builder=z}}function ZC0($,z){let Y=z.createField;return z.createField=function(U){return Y.call(this,{authScopes:$,...U})},z}function BC0($){return ZC0($,new wU(this.typename,this.builder,this.model,this.prismaFieldMap))}var VU=B4(($)=>JC0($));function JC0({models:$}){let z=new Map;if(Array.isArray($)){for(let Y of $)z.set(Y.name,{model:Y.name,relations:new Map});for(let Y of $){let W=z.get(Y.name).relations;for(let U of Y.fields)if(U.kind==="object"&&z.has(U.type))W.set(U.name,z.get(U.type))}}else{for(let Y of Object.keys($))z.set(Y,{model:Y,relations:new Map});for(let[Y,W]of Object.entries($)){let U=z.get(Y).relations;for(let Q of W.fields)if(Q.kind==="object"&&z.has(Q.type))U.set(Q.name,z.get(Q.type))}}return z}var iO=M8.prototype;iO.prismaObject=function(z,{fields:Y,findUnique:W,select:U,include:Q,description:X,...O}){let G=O.variant?new mQ(O.variant,z):z8(z,this);var H,Z;let B=(Z=(H=O.variant)!==null&&H!==void 0?H:O.name)!==null&&Z!==void 0?Z:z,J=VU(hz(this)).get(z),K=m4.getDefaultIDSelection(G,z,this);return G.name=B,this.objectType(G,{...O,description:ph(z,this,X),extensions:{...O.extensions,pothosPrismaInclude:Q,pothosPrismaModel:z,pothosPrismaFieldMap:J,pothosPrismaSelect:U&&{...K,...U},pothosPrismaLoader:m4.forRef(G,z,W,this)},name:B,fields:Y?()=>Y(new wU(G.name,this,z,VU(hz(this)).get(z))):void 0}),G};iO.prismaInterface=function(z,{fields:Y,findUnique:W,select:U,include:Q,description:X,...O}){let G=O.variant?new fH(O.variant,z):z8(z,this,"interface");var H,Z;let B=(Z=(H=O.variant)!==null&&H!==void 0?H:O.name)!==null&&Z!==void 0?Z:z,J=VU(hz(this)).get(z),K=m4.getDefaultIDSelection(G,z,this);return G.name=B,this.interfaceType(G,{...O,description:ph(z,this,X),extensions:{...O.extensions,pothosPrismaInclude:Q,pothosPrismaModel:z,pothosPrismaFieldMap:J,pothosPrismaSelect:U&&{...K,...U},pothosPrismaLoader:m4.forRef(G,z,W,this)},name:B,fields:Y?()=>Y(new wU(B,this,z,VU(hz(this)).get(z),"Interface")):void 0}),G};iO.prismaNode=function(z,{id:{field:Y,resolve:W,...U},findUnique:Q,name:X,variant:O,nullable:G,...H}){let Z=Y,B=W!==null&&W!==void 0?W:cw$(z,Z,this),J=Z?lw$(z,Z,this):void 0;var K;let D=(K=O!==null&&O!==void 0?O:X)!==null&&K!==void 0?K:z,w=new N3(D,z),V=Q?(A,b)=>Q(B(A,b),b):m4.getFindUniqueForField(w,z,Z,this),I={...H,name:X,variant:O,findUnique:V},j=this.prismaObject(z,I);return this.nodeRef(j,{id:{...U,resolve:(A,b,F)=>B(A,F)},loadWithoutCache:async(A,b,F)=>{let S=cQ({context:b,info:F,typeName:D}),v=L3(F3(this,b),z),d=await(v.findUniqueOrThrow&&!G?v.findUniqueOrThrow({...S,where:Q?Q(A,b):{[Z]:J(A)}}):v.findUnique({...S,...G?{}:{rejectOnNotFound:!0},where:Q?Q(A,b):{[Z]:J(A)}}));return _O(d,D),d}}),this.configStore.associateParamWithRef(w,j),w};iO.prismaObjectField=function(z,Y,W){let U=typeof z==="string"?z8(z,this):z;this.configStore.onTypeConfig(U,({name:Q})=>{this.configStore.addFields(U,()=>({[Y]:W(new wU(Q,this,U.modelName,VU(hz(this)).get(U.modelName)))}))})};iO.prismaInterfaceField=function(z,Y,W){let U=typeof z==="string"?z8(z,this):z;this.configStore.onTypeConfig(U,({name:Q})=>{this.configStore.addFields(U,()=>({[Y]:W(new wU(Q,this,U.modelName,VU(hz(this)).get(U.modelName),"Interface"))}))})};iO.prismaObjectFields=function(z,Y){let W=typeof z==="string"?z8(z,this):z;this.configStore.onTypeConfig(W,({name:U})=>{this.configStore.addFields(W,()=>Y(new wU(U,this,W.modelName,VU(hz(this)).get(W.modelName))))})};iO.prismaInterfaceFields=function(z,Y){let W=typeof z==="string"?z8(z,this):z;this.configStore.onTypeConfig(W,({name:U})=>{this.configStore.addFields(W,()=>Y(new wU(U,this,W.modelName,VU(hz(this)).get(W.modelName),"Interface")))})};var lQ=J6(CY(),1);var oh,th,ah=hQ.prototype;ah.prismaField=function({type:z,resolve:Y,...W}){let U=Array.isArray(z)?z[0]:z,Q=typeof U==="string"?z8(U,this.builder):U,X=Array.isArray(z)?[Q]:Q;return this.field({...W,type:X,resolve:(O,G,H,Z)=>{var B,J;let K=cQ({context:H,info:Z,withUsageCheck:!!((B=this.builder.options.prisma)===null||B===void 0?void 0:B.onUnusedQuery),skipDeferredFragments:(J=this.builder.options.prisma)===null||J===void 0?void 0:J.skipDeferredFragments});return sh(this.builder,K,Z,Y(K,O,G,H,Z))}})};ah.prismaFieldWithInput=function({type:z,resolve:Y,...W}){let U=Array.isArray(z)?z[0]:z,Q=typeof U==="string"?z8(U,this.builder):U,X=Array.isArray(z)?[Q]:Q;return this.fieldWithInput({...W,type:X,resolve:(O,G,H,Z)=>{var B,J;let K=cQ({context:H,info:Z,withUsageCheck:!!((B=this.builder.options.prisma)===null||B===void 0?void 0:B.onUnusedQuery),skipDeferredFragments:(J=this.builder.options.prisma)===null||J===void 0?void 0:J.skipDeferredFragments});return sh(this.builder,K,Z,Y(K,O,G,H,Z))}})};ah.prismaConnection=function({type:z,cursor:Y,maxSize:W=(oh=this.builder.options.prisma)===null||oh===void 0?void 0:oh.maxConnectionSize,defaultSize:U=(th=this.builder.options.prisma)===null||th===void 0?void 0:th.defaultConnectionSize,resolve:Q,totalCount:X,...O},G={},H={}){var Z;let B=typeof z==="string"?z8(z,this.builder):z,J=this.builder.configStore.getTypeConfig(B).name,K=(Z=this.builder.configStore.getTypeConfig(B).extensions)===null||Z===void 0?void 0:Z.pothosPrismaModel,D=fK(K,this.builder,Y),w=yK(K,this.builder,Y),V=m4.getCursorSelection(B,K,Y,this.builder);return this.connection({...O,type:B,resolve:(j,A,b,F)=>{var S,v;let d=cQ({context:b,info:F,select:V,paths:[["nodes"],["edges","node"]],typeName:J,withUsageCheck:!!((S=this.builder.options.prisma)===null||S===void 0?void 0:S.onUnusedQuery),skipDeferredFragments:(v=this.builder.options.prisma)===null||v===void 0?void 0:v.skipDeferredFragments}),T=lQ.getNamedType(F.returnType),l=lQ.isObjectType(T)||lQ.isInterfaceType(T)?T.getFields():{},o=F.fieldNodes.every((a)=>{var R;return(R=a.selectionSet)===null||R===void 0?void 0:R.selections.every((t)=>{var q$,n;return t.kind===lQ.Kind.FIELD&&(((n=l[t.name.value])===null||n===void 0?void 0:(q$=n.extensions)===null||q$===void 0?void 0:q$.pothosPrismaTotalCount)||t.name.value==="__typename")})});return dw$({parent:j,query:d,ctx:b,parseCursor:w,maxSize:W,defaultSize:U,args:A,totalCount:X&&(()=>X(j,A,b,F))},D,(a)=>{if(o)return[];return sh(this.builder,d,F,Q(a,j,A,b,F))})}},G instanceof $8?G:{...G,fields:X?(j)=>{var A;return{totalCount:j.int({nullable:!1,extensions:{pothosPrismaTotalCount:!0},resolve:(b)=>{var F;return(F=b.totalCount)===null||F===void 0?void 0:F.call(b)}}),...(A=G.fields)===null||A===void 0?void 0:A.call(G,j)}}:G.fields,extensions:{...G===null||G===void 0?void 0:G.extensions}},H)};function sh($,z,Y,W){let{onUnusedQuery:U}=$.options.prisma||{};if(!U)return W;if(b8(W))return W.then((X)=>{if(!mh(z))Q();return X});if(!mh(z))Q();return W;function Q(){if(typeof U==="function"){U(Y);return}let X=`Prisma query was unused in resolver for ${Y.parentType.name}.${Y.fieldName}`;if(U==="error")throw new TY(X);if(U==="warn")console.warn(X)}}var iw$="prisma";class nw$ extends e9{onTypeConfig($){var z;if($.kind!=="Object"&&$.kind!=="Interface")return $;let Y=(z=$.extensions)===null||z===void 0?void 0:z.pothosPrismaModel;for(let U of $.interfaces){var W;let Q=(W=this.buildCache.getTypeConfig(U,"Interface").extensions)===null||W===void 0?void 0:W.pothosPrismaModel;if(Q){if(Y&&Y!==Q)throw new D0(`PrismaObjects must be based on the same prisma model as any PrismaInterfaces they extend. ${$.name} uses ${Y} and ${U.name} uses ${Q}`);Y=Q}}return{...$,extensions:{...$.extensions,pothosPrismaModel:Y}}}onOutputFieldConfig($){if($.kind==="PrismaObject"&&$.pothosOptions.select){let{select:z}=$.pothosOptions;return{...$,extensions:{...$.extensions,pothosPrismaSelect:typeof z==="function"?(Y,W,U)=>({select:z(Y,W,U)}):z}}}return $}wrapResolve($,z){var Y,W,U,Q;if(z.kind!=="PrismaObject"||!((Y=z.extensions)===null||Y===void 0?void 0:Y.pothosPrismaSelect))return $;let X=this.buildCache.getTypeConfig(z.parentType),O=(W=z.extensions)===null||W===void 0?void 0:W.pothosPrismaLoaded,G=(U=X.extensions)===null||U===void 0?void 0:U.pothosPrismaLoader,H=(Q=z.extensions)===null||Q===void 0?void 0:Q.pothosPrismaFallback,Z=new Set([z.parentType]);if(X.kind==="Interface"||X.kind==="Object")for(let J of X.interfaces){var B;let K=this.buildCache.getTypeConfig(J,"Interface");if((B=K.extensions)===null||B===void 0?void 0:B.pothosPrismaModel)Z.add(K.name)}return(J,K,D,w)=>{let V=hh(D,w.path,w.parentType.name);if(!V){for(let I of Z)if(V=hh(D,w.path,I),V)break}if((!O||O(J,w))&&V)return yH(D,w,V),$(J,K,D,w);if(H)return H(cQ({context:D,info:w,skipDeferredFragments:this.builder.options.prisma.skipDeferredFragments}),J,K,D,w);return G(D).loadSelection(w,J).then((I)=>$(I,K,D,w))}}constructor($){super($,iw$)}}M8.registerPlugin(iw$,nw$,{v3:($)=>{var z,Y;return{prisma:{...$.prisma,filterConnectionTotalCount:(Y=(z=$.prisma)===null||z===void 0?void 0:z.filterConnectionTotalCount)!==null&&Y!==void 0?Y:!1}}}});var P8=J6(CY(),1);var S3=1,C3=10;function pw$($){if($ instanceof P8.GraphQLList)return!0;if($ instanceof P8.GraphQLNonNull)return pw$($.ofType);return!1}function KC0($,z,Y,W){let U=1,Q=1,X=Y.name.value,O=(P8.isObjectType(W)||P8.isInterfaceType(W))&&W.getFields()[X],G;if(O){var H;G=(H=O.extensions)===null||H===void 0?void 0:H.complexity}else if(!X.startsWith("__"))throw new V0(`Unknown field selected (${W.name}.${X})`);if(typeof G==="function"){let K=Z3(O,Y,$,z);G=G(K,$,O)}let Z;if(typeof G==="object"&&G.multiplier!==void 0)Z=G.multiplier;else Z=O&&pw$(O.type)?C3:1;let B=0;if(O&&Y.selectionSet){let K=gK($,z,Y.selectionSet,P8.getNamedType(O.type));B+=K.complexity*Math.max(Z,0),U+=K.depth,Q+=K.breadth}var J;return B+=typeof G==="number"?G:(J=G===null||G===void 0?void 0:G.field)!==null&&J!==void 0?J:S3,{complexity:B,depth:U,breadth:Q}}function ow$($,z){let Y=`${z.operation.operation.slice(0,1).toUpperCase()}${z.operation.operation.slice(1)}`,W=z.schema.getType(Y);if(!W||!P8.isOutputType(W))throw new V0(`Unsupported operation ${Y}`);return gK($,z,z.operation.selectionSet,W)}function rw$($,z,Y,W){let U=Y.typeCondition?z.schema.getType(Y.typeCondition.name.value):W;if(!P8.isOutputType(U))throw new V0(`Expected Type ${W.name} to be an Output type`);if(!U){var Q;throw new V0(`Missing type from fragment ${(Q=Y.typeCondition)===null||Q===void 0?void 0:Q.name.value}`)}return gK($,z,Y.selectionSet,U)}function gK($,z,Y,W){let U={depth:0,breadth:0,complexity:0};for(let Q of Y.selections){let X;if(Q.kind===P8.Kind.FIELD)X=KC0($,z,Q,W);else if(Q.kind===P8.Kind.FRAGMENT_SPREAD){let O=z.fragments[Q.name.value];if(!O)throw new V0(`Missing fragment ${Q.name.value}`);X=rw$($,z,O,W)}else X=rw$($,z,Q,W);U.complexity+=X.complexity,U.breadth+=X.breadth,U.depth=Math.max(U.depth,X.depth)}return U}var nO=function($){return $.Complexity="Complexity",$.Depth="Depth",$.Breadth="Breadth",$}({});function T3($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var DC0="complexity";class tw$ extends e9{onOutputFieldConfig($){var z,Y,W,U,Q,X;return{...$,extensions:{...$.extensions,complexity:(X=(Q=(U=$.pothosOptions.complexity)!==null&&U!==void 0?U:(z=this.options.complexity)===null||z===void 0?void 0:z.fieldComplexity)!==null&&Q!==void 0?Q:(W=this.builder.options)===null||W===void 0?void 0:(Y=W.complexity)===null||Y===void 0?void 0:Y.fieldComplexity)!==null&&X!==void 0?X:$.type.kind==="List"?{field:this.defaultComplexity,multiplier:this.defaultListMultiplier}:this.defaultComplexity}}}wrapResolve($,z){var Y;if((Y=this.builder.options.complexity)===null||Y===void 0?void 0:Y.disabled)return $;if(z.kind!=="Query"&&z.kind!=="Mutation"&&z.kind!=="Subscription")return $;return(W,U,Q,X)=>{return this.checkComplexity(Q,X),$(W,U,Q,X)}}checkComplexity($,z){let Y=this.getMax($);if(!Y)return;let{complexity:W,depth:U,breadth:Q}=this.complexityCache($,z),X=null;if(typeof Y.depth==="number"&&Y.depth<U)X=nO.Depth;else if(typeof Y.breadth==="number"&&Y.breadth<Q)X=nO.Breadth;else if(typeof Y.complexity==="number"&&Y.complexity<W)X=nO.Complexity;if(X){let O=this.complexityError(X,{complexity:W,depth:U,breadth:Q,maxComplexity:Y.complexity,maxDepth:Y.depth,maxBreadth:Y.breadth},z);throw typeof O==="string"?Error(O):O}}getMax($){var z,Y,W;let U=(W=(z=this.options.complexity)===null||z===void 0?void 0:z.limit)!==null&&W!==void 0?W:(Y=this.builder.options.complexity)===null||Y===void 0?void 0:Y.limit;if(typeof U==="function")U=U($);if((U===null||U===void 0?void 0:U.complexity)||(U===null||U===void 0?void 0:U.depth)||(U===null||U===void 0?void 0:U.breadth))return U;return null}constructor(...$){var z,Y,W,U,Q,X,O,G,H,Z,B,J,K;super(...$),T3(this,"defaultComplexity",(H=(G=(z=this.options.complexity)===null||z===void 0?void 0:z.defaultComplexity)!==null&&G!==void 0?G:(W=this.builder.options)===null||W===void 0?void 0:(Y=W.complexity)===null||Y===void 0?void 0:Y.defaultComplexity)!==null&&H!==void 0?H:S3),T3(this,"defaultListMultiplier",(B=(Z=(U=this.options.complexity)===null||U===void 0?void 0:U.defaultListMultiplier)!==null&&Z!==void 0?Z:(Q=this.builder.options.complexity)===null||Q===void 0?void 0:Q.defaultListMultiplier)!==null&&B!==void 0?B:C3),T3(this,"complexityError",(K=(J=(X=this.options.complexity)===null||X===void 0?void 0:X.complexityError)!==null&&J!==void 0?J:(O=this.builder.options.complexity)===null||O===void 0?void 0:O.complexityError)!==null&&K!==void 0?K:(D,{depth:w,breadth:V,complexity:I,maxBreadth:j,maxComplexity:A,maxDepth:b})=>{if(D===nO.Depth)return new V0(`Query exceeds maximum depth (depth: ${w}, max: ${b})`);if(D===nO.Breadth)return new V0(`Query exceeds maximum breadth (breadth: ${V}, max: ${j})`);if(D===nO.Complexity)return new V0(`Query exceeds maximum complexity (complexity: ${I}, max: ${A})`);throw new V0("Unexpected complexity error kind")}),T3(this,"complexityCache",B4((D,w)=>ow$(D,w)))}}M8.registerPlugin(DC0,tw$);function aw$($,z){return EH(`${$}:${z}`)}var wC0=/^[A-Z_a-z]\w*$/;function sw$($){let z;try{z=IK($).split(":")}catch(U){throw U instanceof V0?new V0(`Invalid global ID: ${$}`):U}let[Y,W]=z;if(!Y||!W||!wC0.test(Y))throw new V0(`Invalid global ID: ${$}`);return{typename:Y,id:z.length>2?z.slice(1).join(":"):W}}var ew$=B4(()=>new Map);async function dQ($,z,Y,W){let U=ew$(z),Q={},X={};for(let G of W){if(G==null)continue;let{id:H,typename:Z}=G,B=`${Z}:${H}`;if(U.has(B)){X[B]=U.get(B);continue}var O;Q[Z]=(O=Q[Z])!==null&&O!==void 0?O:new Set,Q[Z].add(H)}return await Promise.all(Object.keys(Q).map(async(G)=>{var H;let Z=[...Q[G]],J=$.configStore.getTypeConfig(G,"Object").pothosOptions;var K,D;let w=(D=(K=J.brandLoadedObjects)!==null&&K!==void 0?K:(H=$.options.relay)===null||H===void 0?void 0:H.brandLoadedObjects)!==null&&D!==void 0?D:!0;(await VC0($,z,Y,Z,G)).forEach((I,j)=>{if(w)_O(I,G);X[`${G}:${Z[j]}`]=I})})),W.map((G)=>{var H;return G==null?null:(H=X[`${G.typename}:${G.id}`])!==null&&H!==void 0?H:null})}async function VC0($,z,Y,W,U){let Q=ew$(z),X=$.configStore.getTypeConfig(U,"Object"),O=X.pothosOptions;if(O.loadMany){let G=Promise.resolve(O.loadMany(W,z));return Promise.all(W.map((H,Z)=>{let B=G.then((J)=>J[Z]).then((J)=>{return Q.set(`${X.name}:${H}`,J),J});return Q.set(`${X.name}:${H}`,B),B}))}if(O.loadOne)return Promise.all(W.map((G)=>{let H=Promise.resolve(O.loadOne(G,z)).then((Z)=>{return Q.set(`${X.name}:${G}`,Z),Z});return Q.set(`${X.name}:${G}`,H),H}));if(O.loadManyWithoutCache)return O.loadManyWithoutCache(W,z);if(O.loadWithoutCache)return Promise.all(W.map((G)=>Promise.resolve(O.loadWithoutCache(G,z,Y))));throw new V0(`${X.name} does not support loading by id`)}function xK($){return`${$.slice(0,1).toUpperCase()}${$.slice(1)}`}function eh($,z,Y,W){var U;if((U=$.options.relay)===null||U===void 0?void 0:U.encodeGlobalID)return $.options.relay.encodeGlobalID(z,Y,W);return aw$(z,Y)}function hK($,z,Y,W,U){var Q;let X=((Q=$.options.relay)===null||Q===void 0?void 0:Q.decodeGlobalID)?$.options.relay.decodeGlobalID(z,Y):sw$(z);if(Array.isArray(U)){let H=U.find(({typename:Z})=>Z===X.typename);if(!H)throw new V0(`ID: ${z} is not of type: ${U.map(({typename:Z})=>Z).join(", ")}`);if(H.parseId)return{...X,id:H.parseId(X.id,Y)};return X}if(U){var O,G;let H=(G=W.schema.getType(X.typename))===null||G===void 0?void 0:(O=G.extensions)===null||O===void 0?void 0:O.pothosParseGlobalID;if(H)return{...X,id:H(X.id,Y)}}return X}var mK=hQ.prototype;mK.globalIDList=function({resolve:z,...Y}){return this.field({...Y,type:["ID"],resolve:async(W,U,Q,X)=>{let O=await z(W,U,Q,X);if(!O)return O;if(Rh(O),Array.isArray(O))return(await Promise.all(O)).map((G)=>G==null||typeof G==="string"?G:eh(this.builder,this.builder.configStore.getTypeConfig(G.type).name,String(G.id),Q));return null}})};mK.globalID=function({resolve:z,...Y}){return this.field({...Y,type:"ID",resolve:async(W,U,Q,X)=>{let O=await z(W,U,Q,X);if(!O||typeof O!=="object")return O;let G=O;return eh(this.builder,this.builder.configStore.getTypeConfig(G.type).name,String(G.id),Q)}})};mK.node=function({id:z,...Y}){return this.field({...Y,type:this.builder.nodeInterfaceRef(),nullable:!0,resolve:async(W,U,Q,X)=>{let O=await z(W,U,Q,X);if(O==null)return null;let G=typeof O==="string"?hK(this.builder,O,Q,X,!0):O&&{id:O.id,typename:this.builder.configStore.getTypeConfig(O.type).name};return(await dQ(this.builder,Q,X,[G]))[0]}})};mK.nodeList=function({ids:z,...Y}){return this.field({...Y,nullable:{list:!1,items:!0},type:[this.builder.nodeInterfaceRef()],resolve:async(W,U,Q,X)=>{let O=await z(W,U,Q,X);if(Rh(O),!Array.isArray(O))return[];let H=(await Promise.all(O)).map((Z)=>typeof Z==="string"?hK(this.builder,Z,Q,X,!0):Z&&{id:Z.id,typename:this.builder.configStore.getTypeConfig(Z.type).name});return dQ(this.builder,Q,X,H)}})};mK.connection=function({type:z,edgesNullable:Y,nodeNullable:W,...U},Q={},X={}){var O;let G=Q instanceof $8?Q:new $8("Unnamed connection"),H=this.field({...(O=this.builder.options.relay)===null||O===void 0?void 0:O.defaultConnectionFieldOptions,...U,type:G,args:{...U.args,...this.arg.connectionArgs()}});if(!(Q instanceof $8))H.onFirstUse((Z)=>{var B;let J=(B=Q.name)!==null&&B!==void 0?B:`${Z.parentType}${xK(Z.name)}${Z.name.toLowerCase().endsWith("connection")?"":"Connection"}`;this.builder.configStore.associateParamWithRef(G,this.builder.connectionObject({type:z,edgesNullable:Y,nodeNullable:W,...Q,name:J},X instanceof $8?X:{name:`${J}Edge`,...X}))});return H};var $m=Pw$.prototype;$m.globalIDList=function({for:z,...Y}={}){var W,U;return this.idList({...Y,extensions:{...Y.extensions,isRelayGlobalID:!0,relayGlobalIDFor:(U=(W=z&&(Array.isArray(z)?z:[z]))===null||W===void 0?void 0:W.map((Q)=>({typename:this.builder.configStore.getTypeConfig(Q).name,parseId:"parseId"in Q?Q.parseId:void 0})))!==null&&U!==void 0?U:null}})};$m.globalID=function({for:z,...Y}={}){var W,U;return this.id({...Y,extensions:{...Y.extensions,isRelayGlobalID:!0,relayGlobalIDFor:(U=(W=z&&(Array.isArray(z)?z:[z]))===null||W===void 0?void 0:W.map((Q)=>({typename:this.builder.configStore.getTypeConfig(Q).name,parseId:"parseId"in Q?Q.parseId:void 0})))!==null&&U!==void 0?U:null}})};$m.connectionArgs=function(){var z,Y,W,U,Q,X,O,G;return{before:this.field({...(z=this.builder.options.relay)===null||z===void 0?void 0:z.beforeArgOptions,type:(O=(Y=this.builder.options.relay)===null||Y===void 0?void 0:Y.cursorType)!==null&&O!==void 0?O:"String",required:!1}),after:this.field({...(W=this.builder.options.relay)===null||W===void 0?void 0:W.afterArgOptions,type:(G=(U=this.builder.options.relay)===null||U===void 0?void 0:U.cursorType)!==null&&G!==void 0?G:"String",required:!1}),first:this.field({...(Q=this.builder.options.relay)===null||Q===void 0?void 0:Q.firstArgOptions,type:"Int",required:!1}),last:this.field({...(X=this.builder.options.relay)===null||X===void 0?void 0:X.lastArgOptions,type:"Int",required:!1})}};var Xm=J6(CY(),1);function cK($,z,Y,W,U){Y.addInterfaces([z.nodeInterfaceRef()]),Y.addFields(()=>{var Q,X,O;return{[(O=(Q=z.options.relay)===null||Q===void 0?void 0:Q.idFieldName)!==null&&O!==void 0?O:"id"]:new Mw$(z).globalID({nullable:!1,...(X=z.options.relay)===null||X===void 0?void 0:X.idFieldOptions,...U.id,args:{},resolve:(G,H,Z,B)=>KU(U.id.resolve(G,H,Z,B),(J)=>({type:$,id:J}))})}}),Y.updateConfig(({extensions:Q,isTypeOf:X,pothosOptions:O,...G})=>{return{...G,extensions:{...Q,pothosParseGlobalID:U.id.parse},pothosOptions:{...U,...O},isTypeOf:X!==null&&X!==void 0?X:typeof W==="function"?(H,Z,B)=>{if(!H)return!1;if(H instanceof W)return!0;let J=Object.getPrototypeOf(H);try{if(J===null||J===void 0?void 0:J.constructor)return z.configStore.getTypeConfig(J.constructor).name===$}catch{}return!1}:void 0}})}function zm($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var AC0=Symbol.for("Pothos.relayIDShapeKey"),jC0=AC0;class Ym extends $8{constructor($,z,Y,W){super(z),zm(this,jC0,void 0),zm(this,"parseId",void 0),this.parseId=W.id.parse,cK(z,$,this,Y,W)}}class Um extends uH{constructor($,z,Y){super($,z),zm(this,"parseId",void 0),this.parseId=Y.id.parse,cK(z,$,this,void 0,Y)}}var wW=M8.prototype,Wm=new WeakMap,Qm=new WeakMap,v3=new WeakMap,_3=new WeakMap;wW.pageInfoRef=function(){var z,Y;if(Wm.has(this))return Wm.get(this);let W=this.objectRef("PageInfo");Wm.set(this,W);var U,Q;let{pageInfoCursorType:X=(U=(z=this.options.relay)===null||z===void 0?void 0:z.cursorType)!==null&&U!==void 0?U:"String",hasNextPageFieldOptions:O={},hasPreviousPageFieldOptions:G={},startCursorFieldOptions:H={},endCursorFieldOptions:Z={}}=(Q=this.options.relay)!==null&&Q!==void 0?Q:{};return W.implement({...(Y=this.options.relay)===null||Y===void 0?void 0:Y.pageInfoTypeOptions,fields:(B)=>({hasNextPage:B.exposeBoolean("hasNextPage",{nullable:!1,...O}),hasPreviousPage:B.exposeBoolean("hasPreviousPage",{nullable:!1,...G}),startCursor:B.expose("startCursor",{nullable:!0,...H,type:X}),endCursor:B.expose("endCursor",{nullable:!0,...Z,type:X})})}),W};wW.nodeInterfaceRef=function(){var z,Y,W;if(Qm.has(this))return Qm.get(this);let U=this.interfaceRef("Node");Qm.set(this,U),U.implement({resolveType:(O,G,H,Z)=>{if(!O)return Xm.defaultTypeResolver(O,G,H,Z);let B=q3(O);if(B)return this.configStore.getTypeConfig(B).name;try{if(typeof O==="object"){let J=O.__typename;if(J)return J;let K=O.__type;if(K){let D=this.configStore.getTypeConfig(K);if(D)return D.name}}}catch{}return Xm.defaultTypeResolver(O,G,H,Z)},...(z=this.options.relay)===null||z===void 0?void 0:z.nodeTypeOptions,fields:(O)=>{var G,H,Z;return{[(Z=(G=this.options.relay)===null||G===void 0?void 0:G.idFieldName)!==null&&Z!==void 0?Z:"id"]:O.globalID({...(H=this.options.relay)===null||H===void 0?void 0:H.idFieldOptions,nullable:!1,resolve:(B)=>{throw new V0("id field not implemented")}})}}});let Q=(Y=this.options.relay)===null||Y===void 0?void 0:Y.nodeQueryOptions;if(Q!==!1){let O=Q===null||Q===void 0?void 0:Q.resolve;this.queryField("node",(G)=>{var H,Z,B,J;return G.field({nullable:!0,...(H=this.options.relay)===null||H===void 0?void 0:H.nodeQueryOptions,type:U,args:{id:G.arg.globalID({...Q===null||Q===void 0?void 0:(Z=Q.args)===null||Z===void 0?void 0:Z.id,required:!0,extensions:{relayGlobalIDAlwaysParse:!0,...Q===null||Q===void 0?void 0:(J=Q.args)===null||J===void 0?void 0:(B=J.id)===null||B===void 0?void 0:B.extensions}})},resolve:O?(K,D,w,V)=>O(K,D,w,V,(I)=>KU(dQ(this,w,V,[D.id]),(j)=>j[0])):(K,D,w,V)=>KU(dQ(this,w,V,[D.id]),(I)=>I[0])})})}let X=(W=this.options.relay)===null||W===void 0?void 0:W.nodesQueryOptions;if(X!==!1){let O=X===null||X===void 0?void 0:X.resolve;this.queryField("nodes",(G)=>{var H,Z,B,J;return G.field({nullable:{list:!1,items:!0},...(H=this.options.relay)===null||H===void 0?void 0:H.nodesQueryOptions,type:[U],args:{ids:G.arg.globalIDList({...X===null||X===void 0?void 0:(Z=X.args)===null||Z===void 0?void 0:Z.ids,required:!0,extensions:{relayGlobalIDAlwaysParse:!0,...X===null||X===void 0?void 0:(J=X.args)===null||J===void 0?void 0:(B=J.ids)===null||B===void 0?void 0:B.extensions}})},resolve:O?(K,D,w,V)=>O(K,D,w,V,(I)=>dQ(this,w,V,D.ids)):(K,D,w,V)=>dQ(this,w,V,D.ids)})})}return U};wW.nodeRef=function(z,Y){if(typeof z==="string")return new Um(this,z,Y);return cK(z.name,this,z,void 0,Y),z};wW.node=function(z,{id:Y,name:W,loadMany:U,loadOne:Q,loadWithoutCache:X,loadManyWithoutCache:O,brandLoadedObjects:G,...H},Z){I9(z);let B=typeof z==="string"?z:z instanceof Nw$?z.name:W,J=new Ym(this,B,z,{id:Y,loadMany:U,loadOne:Q,loadWithoutCache:X,loadManyWithoutCache:O,brandLoadedObjects:G});if(typeof z!=="string")this.configStore.associateParamWithRef(z,J);return this.objectType(J,{name:B,...H},Z),J};wW.globalConnectionField=function(z,Y){this.globalConnectionFields((W)=>({[z]:Y(W)}))};wW.globalConnectionFields=function(z){let Y=(U)=>{this.configStore.onPrepare(()=>{let Q=this.configStore.getTypeConfig(U);this.objectFields(U,(X)=>{let O=this.configStore.getFields(Q.name),G={};for(let[H,Z]of Object.entries(z(X)))if(!O.has(H))G[H]=Z;return G})})};var W;for(let U of(W=v3.get(this))!==null&&W!==void 0?W:[])Y(U);if(!_3.has(this))_3.set(this,[]);_3.get(this).push(Y)};var $V$=B4(()=>new Map);wW.relayMutationField=function(z,Y,{resolve:W,args:U,...Q},{name:X=`${xK(z)}Payload`,outputFields:O,interfaces:G,...H}){var Z,B,J;let{relay:{clientMutationIdInputOptions:K={},clientMutationIdFieldOptions:D={},mutationInputArgOptions:w={}}={}}=this.options,V=((Z=this.options.relay)===null||Z===void 0?void 0:Z.clientMutationId)&&((B=this.options.relay)===null||B===void 0?void 0:B.clientMutationId)!=="omit",I,j="input";if(!Y||Y instanceof Ew$)I=Y;else{var A;let{name:F=`${xK(z)}Input`,argName:S="input",inputFields:v,...d}=Y;j=S,I=this.inputType(F,{...(A=this.options.relay)===null||A===void 0?void 0:A.defaultMutationInputTypeOptions,...d,fields:(T)=>{var l;return{...v(T),...V?{clientMutationId:T.id({...K,required:((l=this.options.relay)===null||l===void 0?void 0:l.clientMutationId)!=="optional"})}:{}}}})}let b=this.objectRef(X).implement({...(J=this.options.relay)===null||J===void 0?void 0:J.defaultPayloadTypeOptions,...H,interfaces:G,fields:(F)=>{var S;return{...O(F),...V?{clientMutationId:F.id({nullable:((S=this.options.relay)===null||S===void 0?void 0:S.clientMutationId)==="optional",...D,resolve:(v,d,T,l)=>$V$(T).get(String(l.path.prev.key))})}:{}}}});return this.mutationField(z,(F)=>{var S;return F.field({...(S=this.options.relay)===null||S===void 0?void 0:S.relayMutationFieldOptions,...Q,type:b,args:{...U,...I?{[j]:F.arg({...w,type:I,required:!0})}:{}},resolve:(v,d,T,l)=>{if(I)$V$(T).set(String(l.path.key),d[j].clientMutationId);return W(v,d,T,l)}})}),{inputType:I,payloadType:b}};wW.connectionObject=function({type:z,name:Y,edgesNullable:W,nodeNullable:U,edgesField:Q,...X},O){var G,H,Z;I9(z);var B;let{edgesFieldOptions:{nullable:J={items:this.defaultFieldNullability,list:this.defaultFieldNullability},...K}={},pageInfoFieldOptions:D={}}=(B=this.options.relay)!==null&&B!==void 0?B:{},w=this.objectRef(Y),V=O instanceof $8?O:this.edgeObject({name:`${Y.replace(/Connection$/,"")}Edge`,...O,nodeNullable:U,type:z}),I=X.fields;var j;let{nodesOnConnection:A}=(j=this.options.relay)!==null&&j!==void 0?j:{},b=W!==null&&W!==void 0?W:J;var F;let S=!!((F=typeof b==="object"?b.list:b)!==null&&F!==void 0?F:!0);var v;let d=typeof b==="object"&&"items"in b?b.items:(v=(H=this.options.relay)===null||H===void 0?void 0:(G=H.nodeFieldOptions)===null||G===void 0?void 0:G.nullable)!==null&&v!==void 0?v:!0;if(this.objectType(w,{...(Z=this.options.relay)===null||Z===void 0?void 0:Z.defaultConnectionTypeOptions,...X,fields:(l)=>{var _,o,a;return{pageInfo:l.field({nullable:!1,...D,type:this.pageInfoRef(),resolve:(R)=>R.pageInfo}),edges:l.field({nullable:W!==null&&W!==void 0?W:J,...K,...Q,type:[V],resolve:(R)=>R.edges}),...A?{nodes:l.field({...typeof A==="object"?A:{},type:[z],nullable:{list:S,items:d||((a=U!==null&&U!==void 0?U:(o=this.options.relay)===null||o===void 0?void 0:(_=o.nodeFieldOptions)===null||_===void 0?void 0:_.nullable)!==null&&a!==void 0?a:this.defaultFieldNullability)},resolve:(R)=>KU(R.edges,(t)=>{if(!t)return t;if(Array.isArray(t))return t.map((q$)=>q$===null||q$===void 0?void 0:q$.node);if(t[Symbol.asyncIterator])return async function*(){for await(let q$ of t)yield q$.node}();return function*(){for(let q$ of t)if(b8(q$))yield Promise.resolve(q$).then((n)=>n===null||n===void 0?void 0:n.node);else yield q$===null||q$===void 0?void 0:q$.node}()})})}:{},...I===null||I===void 0?void 0:I(l)}}}),!v3.has(this))v3.set(this,[]);v3.get(this).push(w);var T;for(let l of(T=_3.get(this))!==null&&T!==void 0?T:[])l(w);return w};wW.edgeObject=function({type:z,name:Y,nodeNullable:W,nodeField:U,...Q}){var X,O;I9(z);var G,H;let{edgeCursorType:Z=(G=(X=this.options.relay)===null||X===void 0?void 0:X.cursorType)!==null&&G!==void 0?G:"String",cursorFieldOptions:B={},nodeFieldOptions:{nullable:J=this.defaultFieldNullability,...K}={}}=(H=this.options.relay)!==null&&H!==void 0?H:{},D=this.objectRef(Y),w=Q.fields;return this.objectType(D,{...(O=this.options.relay)===null||O===void 0?void 0:O.defaultEdgeTypeOptions,...Q,fields:(V)=>({node:V.field({nullable:W!==null&&W!==void 0?W:J,...K,...U,type:z,resolve:(I)=>I.node}),cursor:V.expose("cursor",{nullable:!1,type:Z,...B}),...w===null||w===void 0?void 0:w(V)})}),D};function IC0($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}var FC0="relay";class zV$ extends e9{onOutputFieldConfig($){let z=Aw$($.args,this.buildCache,(U)=>{var Q;if((Q=U.extensions)===null||Q===void 0?void 0:Q.isRelayGlobalID){var X,O,G,H;return(H=(G=(X=U.extensions)===null||X===void 0?void 0:X.relayGlobalIDFor)!==null&&G!==void 0?G:(O=U.extensions)===null||O===void 0?void 0:O.relayGlobalIDAlwaysParse)!==null&&H!==void 0?H:!1}return null},this.mappingCache);if(!z)return $;let Y=Iw$(z,(U,Q,X,O)=>{var G;return hK(this.builder,String(U),X,O,(G=Q.value)!==null&&G!==void 0?G:!1)});var W;return{...$,argMappers:[...(W=$.argMappers)!==null&&W!==void 0?W:[],(U,Q,X)=>Y(U,void 0,Q,X)]}}constructor(...$){super(...$),IC0(this,"mappingCache",new Map)}}M8.registerPlugin(FC0,zV$,{v3:($)=>{var z,Y,W,U,Q,X,O,G,H,Z,B,J,K,D,w,V,I;return{relayOptions:void 0,relay:{...$.relayOptions,clientMutationId:(H=(z=$.relayOptions)===null||z===void 0?void 0:z.clientMutationId)!==null&&H!==void 0?H:"required",cursorType:(Z=(Y=$.relayOptions)===null||Y===void 0?void 0:Y.cursorType)!==null&&Z!==void 0?Z:"ID",edgeCursorType:(J=(B=(W=$.relayOptions)===null||W===void 0?void 0:W.edgeCursorType)!==null&&B!==void 0?B:(U=$.relayOptions)===null||U===void 0?void 0:U.cursorType)!==null&&J!==void 0?J:"String",pageInfoCursorType:(D=(K=(Q=$.relayOptions)===null||Q===void 0?void 0:Q.pageInfoCursorType)!==null&&K!==void 0?K:(X=$.relayOptions)===null||X===void 0?void 0:X.cursorType)!==null&&D!==void 0?D:"String",edgesFieldOptions:{...$.relayOptions.edgesFieldOptions,nullable:(w=(O=$.relayOptions.edgesFieldOptions)===null||O===void 0?void 0:O.nullable)!==null&&w!==void 0?w:{list:!1,items:!0}},nodeFieldOptions:{...$.relayOptions.nodeFieldOptions,nullable:(V=(G=$.relayOptions.nodeFieldOptions)===null||G===void 0?void 0:G.nullable)!==null&&V!==void 0?V:!1},brandLoadedObjects:(I=$.relayOptions.brandLoadedObjects)!==null&&I!==void 0?I:!1}}}});var qm=J6(WV$(),1);function Zm($){if(b8($))return $.then(Zm);return $.map((z)=>z instanceof Error?Promise.reject(z):z)}var TC0=B4(()=>new Set);function QV$($,z){return TC0($).add(z),z}function XV$($,z){if(!z)return $;return async(Y,W,U,Q)=>{let X=await $(Y,W,U,Q),O=new Map,G=[];for(let Z of X){if(Z instanceof Error)throw Z;if(Z!=null)O.set(z(Z),Z)}for(let Z=0;Z<Y.length;Z+=1){var H;G[Z]=(H=O.get(Y[Z]))!==null&&H!==void 0?H:null}return G}}function VW($,z,Y,W){let U=W?XV$(z,typeof W==="function"?W:Y):z;return B4((Q)=>QV$(Q,new qm.default((X)=>U(X,Q),$)))}function k3($,z,Y,W,U){let Q=B4(()=>new Map),X=W?XV$(z,typeof W==="function"?W:Y):z;return(O,G,H)=>{let Z=U?vC0(H.path):"*",B=Q(G);if(!B.has(Z))B.set(Z,QV$(G,new qm.default((J)=>X(J,G,O,H),$)));return B.get(Z)}}function vC0($){if(!$)return"*";let z=String($.key),Y=$.prev;while(Y)z=`${typeof Y.key==="number"?"*":Y.key}.${z}`,Y=Y.prev;return z}var Bm=hQ.prototype;Bm.loadable=function({load:z,sort:Y,loaderOptions:W,resolve:U,type:Q,byPath:X,...O}){let G=k3(W,(H,Z,B,J)=>z(H,Z,B,J),void 0,Y,X);return this.field({...O,type:Q,resolve:async(H,Z,B,J)=>{let K=await U(H,Z,B,J);if(K==null)return null;let D=G(Z,B,J);if(Array.isArray(Q))return Zm(K.map((w)=>w==null?w:D.load(w)));return D.load(K)}})};Bm.loadableList=function({load:z,sort:Y,loaderOptions:W,resolve:U,type:Q,byPath:X,...O}){let G=k3(W,(H,Z,B,J)=>z(H,Z,B,J),void 0,Y,X);return this.field({...O,type:[Q],resolve:async(H,Z,B,J)=>{let K=await U(H,Z,B,J);return G(Z,B,J).load(K)}})};Bm.loadableGroup=function({load:z,group:Y,loaderOptions:W,byPath:U,resolve:Q,type:X,...O}){let G=k3(W,async(H,Z,B,J)=>{let K=await z(H,Z,B,J),D=new Map;for(let w of K){if(w==null)continue;let V=Y(w);if(!D.has(V))D.set(V,[]);D.get(V).push(w)}return H.map((w)=>{var V;return(V=D.get(w))!==null&&V!==void 0?V:[]})},void 0,!1,U);return this.field({...O,type:[X],resolve:async(H,Z,B,J)=>{let K=await Q(H,Z,B,J);return G(Z,B,J).load(K)}})};function OV$($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class u3 extends Rw${implement($){return super.implement({...$,extensions:{...$.extensions,getDataloader:this.getDataloader,cacheResolved:this.cacheResolved}})}constructor($,z,{loaderOptions:Y,load:W,toKey:U,sort:Q,cacheResolved:X}){super($,z),OV$(this,"cacheResolved",void 0),OV$(this,"getDataloader",void 0),this.getDataloader=VW(Y,W,U,Q),this.cacheResolved=typeof X==="function"?X:X&&U}}function Jm($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class Km extends $8{constructor($,z){super($),Jm(this,"getDataloader",void 0),this.getDataloader=z}}class f3 extends uH{constructor($,z,{loaderOptions:Y,load:W,toKey:U,sort:Q,cacheResolved:X}){super($,z),Jm(this,"getDataloader",void 0),Jm(this,"cacheResolved",void 0),this.getDataloader=VW(Y,W,U,Q),this.cacheResolved=typeof X==="function"?X:X&&U,this.builder.configStore.onTypeConfig(this,(O)=>{O.extensions={...O.extensions,getDataloader:this.getDataloader,cacheResolved:this.cacheResolved}})}}function lK($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class Dm extends Km{constructor($,z,{id:Y,loaderOptions:W,load:U,toKey:Q,sort:X}){super(z,VW(W,U,Q,X)),lK(this,"parseId",void 0),lK(this,"builder",void 0),this.builder=$,this.parseId=Y.parse}}class wm extends uH{constructor($,z,{id:Y,loaderOptions:W,load:U,toKey:Q,sort:X,cacheResolved:O}){super($,z),lK(this,"parseId",void 0),lK(this,"getDataloader",void 0),lK(this,"cacheResolved",void 0),this.parseId=Y.parse,this.builder=$,this.getDataloader=VW(W,U,Q,X),this.cacheResolved=typeof O==="function"?O:O&&Q,this.builder.nodeRef(this,{id:Y,loadManyWithoutCache:(G,H)=>this.getDataloader(H).loadMany(G)}),this.updateConfig((G)=>({...G,extensions:{...G.extensions,getDataloader:this.getDataloader,cacheResolved:this.cacheResolved}}))}}function _C0($,z,Y){if(z in $)Object.defineProperty($,z,{value:Y,enumerable:!0,configurable:!0,writable:!0});else $[z]=Y;return $}class Vm extends Sw${constructor($,z){super($),_C0(this,"getDataloader",void 0),this.getDataloader=z}}var iQ=M8.prototype;iQ.loadableObjectRef=function(z,Y){return new f3(this,z,Y)};iQ.loadableInterfaceRef=function(z,Y){return new u3(this,z,Y)};iQ.loadableNodeRef=function(z,Y){return new wm(this,z,Y)};iQ.loadableObject=function(z,Y){var W;let U=typeof z==="string"?z:(W=Y.name)!==null&&W!==void 0?W:z.name,Q=new f3(this,U,Y);if(Q.implement(Y),typeof z!=="string")this.configStore.associateParamWithRef(z,Q);return Q};iQ.loadableInterface=function(z,Y){var W;let U=typeof z==="string"?z:(W=Y.name)!==null&&W!==void 0?W:z.name,Q=new u3(this,U,Y);if(Q.implement(Y),typeof z!=="string")this.configStore.associateParamWithRef(z,Q);return Q};iQ.loadableUnion=function(z,{load:Y,toKey:W,sort:U,cacheResolved:Q,loaderOptions:X,...O}){let G=VW(X,Y,W,U),H=new Vm(z,G),Z=this.unionType(z,{...O,extensions:{getDataloader:G,cacheResolved:typeof Q==="function"?Q:Q&&W}});return this.configStore.associateParamWithRef(H,Z),H};var $31=iQ.loadableNode;iQ.loadableNode=function(z,Y){if(typeof this.nodeInterfaceRef!=="function")throw new D0("builder.loadableNode requires @pothos/plugin-relay to be installed");var W;let U=typeof z==="string"?z:(W=Y.name)!==null&&W!==void 0?W:z.name,Q=new Dm(this,U,Y);var X;if(this.node(Q,{...Y,extensions:{...Y.extensions,pothosParseGlobalID:Y.id.parse,getDataloader:Q.getDataloader,cacheResolved:typeof Y.cacheResolved==="function"?Y.cacheResolved:Y.cacheResolved&&Y.toKey},loadManyWithoutCache:(O,G)=>Q.getDataloader(G).loadMany(O),isTypeOf:(X=Y.isTypeOf)!==null&&X!==void 0?X:typeof z==="function"?(O)=>{if(!O)return!1;if(O instanceof z)return!0;let G=Object.getPrototypeOf(O);try{if(G===null||G===void 0?void 0:G.constructor)return this.configStore.getTypeConfig(G.constructor).name===U}catch{}return!1}:void 0}),typeof z!=="string")this.configStore.associateParamWithRef(z,Q);return Q};var kC0="dataloader";class GV$ extends e9{wrapResolve($,z){var Y,W;let U=z.type.kind==="List",Q=this.buildCache.getTypeConfig(Ph(z.type)),X=(Y=Q.extensions)===null||Y===void 0?void 0:Y.getDataloader;if(!X)return $;let O=(W=Q.extensions)===null||W===void 0?void 0:W.cacheResolved;function G(H,Z){if(H==null)return H;if(b8(H))return H.then((B)=>G(B,Z));switch(typeof H){case"number":case"bigint":case"string":return Z.load(H);default:if(O){let B=O(H);Z.prime(B,H)}return H}}if(U)return(H,Z,B,J)=>{let K=X(B),D=$(H,Z,B,J);if(b8(D))return D.then((w)=>w===null||w===void 0?void 0:w.map((V)=>G(V,K)));return D===null||D===void 0?void 0:D.map((w)=>G(w,K))};return(H,Z,B,J)=>G($(H,Z,B,J),X(B))}}M8.registerPlugin(kC0,GV$);var uC0="tracing";class HV$ extends e9{wrapResolve($,z){if(!this.builder.options.tracing)return $;let{wrap:Y,default:W}=this.builder.options.tracing;var U;let Q=(U=z.pothosOptions.tracing)!==null&&U!==void 0?U:typeof W==="function"?W(z):W;return fC0(z,Q,Y,$)}}function fC0($,z,Y,W){if(z===!1||z===null)return W;if(typeof z==="function")return(U,Q,X,O)=>{let G=z(U,Q,X,O);if(G===null||G===!1)return W(U,Q,X,O);return Y(W,G,$)(U,Q,X,O)};return Y(W,z,$)}M8.registerPlugin(uC0,HV$);y$();var qV$="io.modelcontextprotocol/related-task",g3="2.0",Y8=h2(($)=>$!==null&&(typeof $==="object"||typeof $==="function")),ZV$=Y6([p(),H1().int()]),BV$=p(),v31=r4({ttl:Y6([H1(),a5()]).optional(),pollInterval:H1().optional()}),xC0=f$({ttl:H1().optional()}),hC0=f$({taskId:p()}),Am=r4({progressToken:ZV$.optional(),[qV$]:hC0.optional()}),Yz=f$({_meta:Am.optional()}),x3=Yz.extend({task:xC0.optional()});var U8=f$({method:p(),params:Yz.loose().optional()}),mz=f$({_meta:Am.optional()}),cz=f$({method:p(),params:mz.loose().optional()}),W8=r4({_meta:Am.optional()}),h3=Y6([p(),H1().int()]),mC0=f$({jsonrpc:z0(g3),id:h3,...U8.shape}).strict();var cC0=f$({jsonrpc:z0(g3),...cz.shape}).strict();var JV$=f$({jsonrpc:z0(g3),id:h3,result:W8}).strict();var dK;(function($){$[$.ConnectionClosed=-32000]="ConnectionClosed",$[$.RequestTimeout=-32001]="RequestTimeout",$[$.ParseError=-32700]="ParseError",$[$.InvalidRequest=-32600]="InvalidRequest",$[$.MethodNotFound=-32601]="MethodNotFound",$[$.InvalidParams=-32602]="InvalidParams",$[$.InternalError=-32603]="InternalError",$[$.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(dK||(dK={}));var KV$=f$({jsonrpc:z0(g3),id:h3.optional(),error:f$({code:H1().int(),message:p(),data:H6().optional()})}).strict();var _31=Y6([mC0,cC0,JV$,KV$]),k31=Y6([JV$,KV$]),jm=W8.strict(),lC0=mz.extend({requestId:h3.optional(),reason:p().optional()}),Im=cz.extend({method:z0("notifications/cancelled"),params:lC0}),dC0=f$({src:p(),mimeType:p().optional(),sizes:J0(p()).optional(),theme:E6(["light","dark"]).optional()}),iK=f$({icons:J0(dC0).optional()}),gH=f$({name:p(),title:p().optional()}),DV$=gH.extend({...gH.shape,...iK.shape,version:p(),websiteUrl:p().optional(),description:p().optional()}),iC0=s5(f$({applyDefaults:G4().optional()}),w6(p(),H6())),nC0=NZ(($)=>{if($&&typeof $==="object"&&!Array.isArray($)){if(Object.keys($).length===0)return{form:{}}}return $},s5(f$({form:iC0.optional(),url:Y8.optional()}),w6(p(),H6()).optional())),rC0=r4({list:Y8.optional(),cancel:Y8.optional(),requests:r4({sampling:r4({createMessage:Y8.optional()}).optional(),elicitation:r4({create:Y8.optional()}).optional()}).optional()}),pC0=r4({list:Y8.optional(),cancel:Y8.optional(),requests:r4({tools:r4({call:Y8.optional()}).optional()}).optional()}),oC0=f$({experimental:w6(p(),Y8).optional(),sampling:f$({context:Y8.optional(),tools:Y8.optional()}).optional(),elicitation:nC0.optional(),roots:f$({listChanged:G4().optional()}).optional(),tasks:rC0.optional()}),tC0=Yz.extend({protocolVersion:p(),capabilities:oC0,clientInfo:DV$}),wV$=U8.extend({method:z0("initialize"),params:tC0});var aC0=f$({experimental:w6(p(),Y8).optional(),logging:Y8.optional(),completions:Y8.optional(),prompts:f$({listChanged:G4().optional()}).optional(),resources:f$({subscribe:G4().optional(),listChanged:G4().optional()}).optional(),tools:f$({listChanged:G4().optional()}).optional(),tasks:pC0.optional()}),sC0=W8.extend({protocolVersion:p(),capabilities:aC0,serverInfo:DV$,instructions:p().optional()}),VV$=cz.extend({method:z0("notifications/initialized"),params:mz.optional()});var Fm=U8.extend({method:z0("ping"),params:Yz.optional()}),eC0=f$({progress:H1(),total:b6(H1()),message:b6(p())}),$T0=f$({...mz.shape,...eC0.shape,progressToken:ZV$}),Lm=cz.extend({method:z0("notifications/progress"),params:$T0}),zT0=Yz.extend({cursor:BV$.optional()}),nK=U8.extend({params:zT0.optional()}),rK=W8.extend({nextCursor:BV$.optional()}),YT0=E6(["working","input_required","completed","failed","cancelled"]),pK=f$({taskId:p(),status:YT0,ttl:Y6([H1(),a5()]),createdAt:p(),lastUpdatedAt:p(),pollInterval:b6(H1()),statusMessage:b6(p())}),m3=W8.extend({task:pK}),UT0=mz.merge(pK),bm=cz.extend({method:z0("notifications/tasks/status"),params:UT0}),Mm=U8.extend({method:z0("tasks/get"),params:Yz.extend({taskId:p()})}),Pm=W8.merge(pK),Nm=U8.extend({method:z0("tasks/result"),params:Yz.extend({taskId:p()})}),u31=W8.loose(),Em=nK.extend({method:z0("tasks/list")}),Rm=rK.extend({tasks:J0(pK)}),Sm=U8.extend({method:z0("tasks/cancel"),params:Yz.extend({taskId:p()})}),WT0=W8.merge(pK),AV$=f$({uri:p(),mimeType:b6(p()),_meta:w6(p(),H6()).optional()}),jV$=AV$.extend({text:p()}),Cm=p().refine(($)=>{try{return atob($),!0}catch{return!1}},{message:"Invalid Base64 string"}),IV$=AV$.extend({blob:Cm}),oK=E6(["user","assistant"]),xH=f$({audience:J0(oK).optional(),priority:H1().min(0).max(1).optional(),lastModified:sW.datetime({offset:!0}).optional()}),FV$=f$({...gH.shape,...iK.shape,uri:p(),description:b6(p()),mimeType:b6(p()),annotations:xH.optional(),_meta:b6(r4({}))}),QT0=f$({...gH.shape,...iK.shape,uriTemplate:p(),description:b6(p()),mimeType:b6(p()),annotations:xH.optional(),_meta:b6(r4({}))}),LV$=nK.extend({method:z0("resources/list")}),XT0=rK.extend({resources:J0(FV$)}),bV$=nK.extend({method:z0("resources/templates/list")}),OT0=rK.extend({resourceTemplates:J0(QT0)}),Tm=Yz.extend({uri:p()}),GT0=Tm,MV$=U8.extend({method:z0("resources/read"),params:GT0}),HT0=W8.extend({contents:J0(Y6([jV$,IV$]))}),qT0=cz.extend({method:z0("notifications/resources/list_changed"),params:mz.optional()}),ZT0=Tm,BT0=U8.extend({method:z0("resources/subscribe"),params:ZT0}),JT0=Tm,KT0=U8.extend({method:z0("resources/unsubscribe"),params:JT0}),DT0=mz.extend({uri:p()}),wT0=cz.extend({method:z0("notifications/resources/updated"),params:DT0}),VT0=f$({name:p(),description:b6(p()),required:b6(G4())}),AT0=f$({...gH.shape,...iK.shape,description:b6(p()),arguments:b6(J0(VT0)),_meta:b6(r4({}))}),PV$=nK.extend({method:z0("prompts/list")}),jT0=rK.extend({prompts:J0(AT0)}),IT0=Yz.extend({name:p(),arguments:w6(p(),p()).optional()}),NV$=U8.extend({method:z0("prompts/get"),params:IT0}),vm=f$({type:z0("text"),text:p(),annotations:xH.optional(),_meta:w6(p(),H6()).optional()}),_m=f$({type:z0("image"),data:Cm,mimeType:p(),annotations:xH.optional(),_meta:w6(p(),H6()).optional()}),km=f$({type:z0("audio"),data:Cm,mimeType:p(),annotations:xH.optional(),_meta:w6(p(),H6()).optional()}),FT0=f$({type:z0("tool_use"),name:p(),id:p(),input:w6(p(),H6()),_meta:w6(p(),H6()).optional()}),LT0=f$({type:z0("resource"),resource:Y6([jV$,IV$]),annotations:xH.optional(),_meta:w6(p(),H6()).optional()}),bT0=FV$.extend({type:z0("resource_link")}),um=Y6([vm,_m,km,bT0,LT0]),MT0=f$({role:oK,content:um}),PT0=W8.extend({description:p().optional(),messages:J0(MT0)}),NT0=cz.extend({method:z0("notifications/prompts/list_changed"),params:mz.optional()}),ET0=f$({title:p().optional(),readOnlyHint:G4().optional(),destructiveHint:G4().optional(),idempotentHint:G4().optional(),openWorldHint:G4().optional()}),RT0=f$({taskSupport:E6(["required","optional","forbidden"]).optional()}),EV$=f$({...gH.shape,...iK.shape,description:p().optional(),inputSchema:f$({type:z0("object"),properties:w6(p(),Y8).optional(),required:J0(p()).optional()}).catchall(H6()),outputSchema:f$({type:z0("object"),properties:w6(p(),Y8).optional(),required:J0(p()).optional()}).catchall(H6()).optional(),annotations:ET0.optional(),execution:RT0.optional(),_meta:w6(p(),H6()).optional()}),RV$=nK.extend({method:z0("tools/list")}),ST0=rK.extend({tools:J0(EV$)}),fm=W8.extend({content:J0(um).default([]),structuredContent:w6(p(),H6()).optional(),isError:G4().optional()}),f31=fm.or(W8.extend({toolResult:H6()})),CT0=x3.extend({name:p(),arguments:w6(p(),H6()).optional()}),ym=U8.extend({method:z0("tools/call"),params:CT0}),TT0=cz.extend({method:z0("notifications/tools/list_changed"),params:mz.optional()}),y31=f$({autoRefresh:G4().default(!0),debounceMs:H1().int().nonnegative().default(300)}),gm=E6(["debug","info","notice","warning","error","critical","alert","emergency"]),vT0=Yz.extend({level:gm}),SV$=U8.extend({method:z0("logging/setLevel"),params:vT0}),_T0=mz.extend({level:gm,logger:p().optional(),data:H6()}),kT0=cz.extend({method:z0("notifications/message"),params:_T0}),uT0=f$({name:p().optional()}),fT0=f$({hints:J0(uT0).optional(),costPriority:H1().min(0).max(1).optional(),speedPriority:H1().min(0).max(1).optional(),intelligencePriority:H1().min(0).max(1).optional()}),yT0=f$({mode:E6(["auto","required","none"]).optional()}),gT0=f$({type:z0("tool_result"),toolUseId:p().describe("The unique identifier for the corresponding tool call."),content:J0(um).default([]),structuredContent:f$({}).loose().optional(),isError:G4().optional(),_meta:w6(p(),H6()).optional()}),xT0=bZ("type",[vm,_m,km]),y3=bZ("type",[vm,_m,km,FT0,gT0]),hT0=f$({role:oK,content:Y6([y3,J0(y3)]),_meta:w6(p(),H6()).optional()}),mT0=x3.extend({messages:J0(hT0),modelPreferences:fT0.optional(),systemPrompt:p().optional(),includeContext:E6(["none","thisServer","allServers"]).optional(),temperature:H1().optional(),maxTokens:H1().int(),stopSequences:J0(p()).optional(),metadata:Y8.optional(),tools:J0(EV$).optional(),toolChoice:yT0.optional()}),cT0=U8.extend({method:z0("sampling/createMessage"),params:mT0}),CV$=W8.extend({model:p(),stopReason:b6(E6(["endTurn","stopSequence","maxTokens"]).or(p())),role:oK,content:xT0}),TV$=W8.extend({model:p(),stopReason:b6(E6(["endTurn","stopSequence","maxTokens","toolUse"]).or(p())),role:oK,content:Y6([y3,J0(y3)])}),lT0=f$({type:z0("boolean"),title:p().optional(),description:p().optional(),default:G4().optional()}),dT0=f$({type:z0("string"),title:p().optional(),description:p().optional(),minLength:H1().optional(),maxLength:H1().optional(),format:E6(["email","uri","date","date-time"]).optional(),default:p().optional()}),iT0=f$({type:E6(["number","integer"]),title:p().optional(),description:p().optional(),minimum:H1().optional(),maximum:H1().optional(),default:H1().optional()}),nT0=f$({type:z0("string"),title:p().optional(),description:p().optional(),enum:J0(p()),default:p().optional()}),rT0=f$({type:z0("string"),title:p().optional(),description:p().optional(),oneOf:J0(f$({const:p(),title:p()})),default:p().optional()}),pT0=f$({type:z0("string"),title:p().optional(),description:p().optional(),enum:J0(p()),enumNames:J0(p()).optional(),default:p().optional()}),oT0=Y6([nT0,rT0]),tT0=f$({type:z0("array"),title:p().optional(),description:p().optional(),minItems:H1().optional(),maxItems:H1().optional(),items:f$({type:z0("string"),enum:J0(p())}),default:J0(p()).optional()}),aT0=f$({type:z0("array"),title:p().optional(),description:p().optional(),minItems:H1().optional(),maxItems:H1().optional(),items:f$({anyOf:J0(f$({const:p(),title:p()}))}),default:J0(p()).optional()}),sT0=Y6([tT0,aT0]),eT0=Y6([pT0,oT0,sT0]),$v0=Y6([eT0,lT0,dT0,iT0]),zv0=x3.extend({mode:z0("form").optional(),message:p(),requestedSchema:f$({type:z0("object"),properties:w6(p(),$v0),required:J0(p()).optional()})}),Yv0=x3.extend({mode:z0("url"),message:p(),elicitationId:p(),url:p().url()}),Uv0=Y6([zv0,Yv0]),Wv0=U8.extend({method:z0("elicitation/create"),params:Uv0}),Qv0=mz.extend({elicitationId:p()}),Xv0=cz.extend({method:z0("notifications/elicitation/complete"),params:Qv0}),vV$=W8.extend({action:E6(["accept","decline","cancel"]),content:NZ(($)=>$===null?void 0:$,w6(p(),Y6([p(),H1(),G4(),J0(p())])).optional())}),Ov0=f$({type:z0("ref/resource"),uri:p()});var Gv0=f$({type:z0("ref/prompt"),name:p()}),Hv0=Yz.extend({ref:Y6([Gv0,Ov0]),argument:f$({name:p(),value:p()}),context:f$({arguments:w6(p(),p()).optional()}).optional()}),_V$=U8.extend({method:z0("completion/complete"),params:Hv0});var qv0=W8.extend({completion:r4({values:J0(p()).max(100),total:b6(H1().int()),hasMore:b6(G4())})}),Zv0=f$({uri:p().startsWith("file://"),name:p().optional(),_meta:w6(p(),H6()).optional()}),Bv0=U8.extend({method:z0("roots/list"),params:Yz.optional()}),kV$=W8.extend({roots:J0(Zv0)}),Jv0=cz.extend({method:z0("notifications/roots/list_changed"),params:mz.optional()}),g31=Y6([Fm,wV$,_V$,SV$,NV$,PV$,LV$,bV$,MV$,BT0,KT0,ym,RV$,Mm,Nm,Em,Sm]),x31=Y6([Im,Lm,VV$,Jv0,bm]),h31=Y6([jm,CV$,TV$,vV$,kV$,Pm,Rm,m3]),m31=Y6([Fm,cT0,Wv0,Bv0,Mm,Nm,Em,Sm]),c31=Y6([Im,Lm,kT0,wT0,qT0,TT0,NT0,bm,Xv0]),l31=Y6([jm,sC0,qv0,PT0,jT0,XT0,OT0,HT0,fm,ST0,Pm,Rm,m3]);var Kv0=Symbol("Let zodToJsonSchema decide on which parser to use");var LL1=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");var mr0=J6(aI$(),1),cr0=J6(DM$(),1);var wM$;(function($){$.Completable="McpCompletable"})(wM$||(wM$={}));var RW=($)=>("ref"in $),D4=($)=>({...$,meta:{...$.meta,kind:"command"},policy:{...$.policy,idempotent:$.policy?.policy?.idempotent??!1}}),T9=($)=>({...$,meta:{...$.meta,kind:"query"},policy:{...$.policy,idempotent:!0}});var or0=["markdown","application/json","application/xml","react"];function AM$($){if(!$.length)return"/";let z=$.startsWith("/")?$:`/${$}`;return z==="/"?"/":z.replace(/\/+$/,"")}function tr0($,z){if($.route)return AM$($.route);let Y=z??"/docs",W=$.id.replace(/^docs\.?/,"").replace(/\./g,"/").replace(/\/+/g,"/");return AM$(W.startsWith("/")?W:`${Y}/${W}`)}function jM$($,z){return z?`${z}.${$.id}`:$.id}function Rl($,z){let Y=z?.defaultTargets??or0,W=$.version??z?.defaultVersion??1,U=$.stability??z?.defaultStability??"stable";return{meta:{name:jM$($,z?.namespace),version:W,description:$.summary??$.title,tags:$.tags,owners:$.owners,domain:$.domain,stability:U},policy:$.visibility&&$.visibility!=="public"?{flags:[$.visibility]}:void 0,source:{type:"blocknotejs",docJson:$.body},targets:Y}}function Qb($,z){let Y=$.version??z?.defaultVersion??1,W=$.stability??z?.defaultStability??"stable";return{meta:{name:jM$($,z?.namespace),version:Y,stability:W,tags:$.tags,owners:$.owners,description:$.summary??$.title},content:{kind:"markdown",content:$.body}}}function Xb($,z){return $.map((Y)=>({block:Y,route:tr0(Y,z?.routePrefix),descriptor:Rl(Y,z)}))}var Sl=class{routes=new Map;constructor($=[],z){$.forEach((Y)=>this.register(Y,z))}register($,z){let[Y]=Xb([$],z);if(Y)this.routes.set($.id,Y);return this}list(){return[...this.routes.values()]}get($){return this.routes.get($)}toRouteTuples(){return this.list().map(({route:$,descriptor:z})=>[$,z])}toPresentationSpecs($){return this.list().map(({block:z})=>Qb(z,$))}},ar0=["id","title","body","kind","visibility","route"],Ob=new Sl;function N0($){for(let z of $){for(let Y of ar0)if(!z[Y])throw Error(`DocBlock ${z.id??"<missing id>"} missing field ${String(Y)}`);Ob.register(z)}}function QX($,z){return`${$}.v${z}`}var lD=class{specs=new Map;handlers=new Map;register($){let z=QX($.meta.name,$.meta.version);if(this.specs.has(z))throw Error(`Duplicate spec ${z}`);return this.specs.set(z,$),this}bind($,z){let Y=QX($.meta.name,$.meta.version);if(!this.specs.has(Y))throw Error(`Cannot bind; spec not found: ${Y}`);if(this.handlers.has(Y))throw Error(`Handler already bound for ${Y}`);return this.handlers.set(Y,z),this}getSpec($,z){if(z!=null)return this.specs.get(QX($,z));let Y,W=-1/0;for(let[U,Q]of this.specs.entries()){if(!U.startsWith(`${$}.v`))continue;if(Q.meta.version>W)W=Q.meta.version,Y=Q}return Y}getHandler($,z){let Y=this.getSpec($,z);if(!Y)return;return this.handlers.get(QX(Y.meta.name,Y.meta.version))}listSpecs(){return[...this.specs.values()]}listBound(){let $=[];for(let[z,Y]of this.specs.entries()){let W=this.handlers.get(z);if(W)$.push({spec:Y,handler:W})}return $}async execute($,z,Y,W){let U=this.getSpec($,z);if(!U)throw Error(`Spec not found for ${$}${z?`.v${z}`:""}`);let Q=await W.specVariantResolver?.resolve({name:U.meta.name,version:U.meta.version,kind:U.meta.kind},W)??U,X=QX(Q.meta.name,Q.meta.version),O=this.handlers.get(X);if(!O){let w=QX(U.meta.name,U.meta.version);O=this.handlers.get(w),X=w}if(!O)throw Error(`No handler bound for ${X}`);let G=Q.io.input?.getZod().parse(Y);if(W.decide){let[w,V]=Q.meta.name.split(".");if(!w||!V)throw Error(`Invalid spec name: ${Q.meta.name}`);let I=await W.decide({service:w,command:V,version:Q.meta.version,actor:W.actor??"anonymous",channel:W.channel,roles:W.roles,organizationId:W.organizationId,userId:W.userId,flags:[]});if(I.effect==="deny")throw Error(`PolicyDenied: ${Q.meta.name}.v${Q.meta.version}`);if(I.rateLimit&&W.rateLimit){let j=I.rateLimit.key??"default",A=I.rateLimit.rpm??60;await W.rateLimit(j,1,A)}}let H=new Map;if(Q.sideEffects?.emits)for(let w of Q.sideEffects.emits)if(RW(w))H.set(`${w.ref.name}.v${w.ref.version}`,w.ref.payload);else H.set(`${w.name}.v${w.version}`,w.payload);let Z=async(w,V,I)=>{let j=Tf(w,V),A=H.get(j);if(!A)throw Error(`UndeclaredEvent: ${j} not allowed by ${QX(Q.meta.name,Q.meta.version)}`);let b=A.getZod().parse(I);await W.eventPublisher?.({name:w,version:V,payload:b,traceId:W.traceId})};if(W.appConfig){if(!W.branding)W.branding=W.appConfig.branding;if(!W.translation)W.translation={config:W.appConfig.translation};else if(!W.translation.config)W.translation={...W.translation,config:W.appConfig.translation}}let B=W.telemetry,J=async(w,V)=>{if(!B||!w?.event)return;try{let I=w.properties?.(V)??{};await B.track(w.event.name,w.event.version??1,I,{tenantId:W.organizationId??void 0,organizationId:W.organizationId,userId:W.userId,actor:W.actor,channel:W.channel,metadata:W.traceId?{traceId:W.traceId}:void 0})}catch(I){}},K;try{K=await O(G,{...W,__emitGuard__:Z})}catch(w){if(Q.telemetry?.failure)await J(Q.telemetry.failure,{input:G??Y,error:w});throw w}if(Q.telemetry?.success)await J(Q.telemetry.success,{input:G??Y,output:K});let D=Q.io.output;if(D?.getZod)return D.getZod().parse(K);return K}};var E0={Idea:"idea",InCreation:"in_creation",Experimental:"experimental",Beta:"beta",Stable:"stable",Deprecated:"deprecated"},Oq={ProductColiving:"product.coliving",ProductStrit:"product.strit",ProductArtisanos:"product.artisanos",PlatformSigil:"platform.sigil",PlatformMarketplace:"platform.marketplace",PlatformMessaging:"platform.messaging",PlatformContent:"platform.content",PlatformFeatureFlags:"platform.featureflags",PlatformFinance:"platform.finance"};var sr0=["contractspec:operation","contractspec:event","contractspec:presentation","contractspec:form","contractspec:feature","contractspec:workflow","contractspec:template","contractspec:integration","contractspec:data-view","contractspec:migration","contractspec:telemetry","contractspec:experiment","contractspec:app-config","contractspec:knowledge"],Cl=C1.enum(sr0),Tl=C1.object({path:C1.string().min(1),type:C1.string().min(1),content:C1.string().optional()}),vl=C1.object({name:C1.string().min(1),type:Cl,version:C1.number().int().nonnegative(),title:C1.string().min(1),description:C1.string().min(1),meta:C1.object({stability:C1.enum([E0.Idea,E0.InCreation,E0.Experimental,E0.Beta,E0.Stable,E0.Deprecated]),owners:C1.array(C1.string().min(1)).default([]),tags:C1.array(C1.string().min(1)).default([])}),dependencies:C1.array(C1.string().min(1)).optional(),registryDependencies:C1.array(C1.string().min(1)).optional(),files:C1.array(Tl).min(1),schema:C1.object({input:C1.unknown().optional(),output:C1.unknown().optional()}).optional()}),FM$=C1.object({$schema:C1.string().min(1).optional(),name:C1.string().min(1),homepage:C1.string().min(1).optional(),items:C1.array(vl)});function bM$($,z){return`${$.replace(/\./g,"_")}_v${z}`}function LM$($,z,Y){return`${$}_${bM$(z,Y)}`}function er0($,z){return(z??($==="query"?"GET":"POST")).toLowerCase()}function $p0($){let z=$.transport?.rest?.path??JF($.meta.name,$.meta.version);return z.startsWith("/")?z:`/${z}`}function _l($,z={}){let Y=$.listSpecs().filter((U)=>U.meta.kind==="command"||U.meta.kind==="query").slice().sort((U,Q)=>{let X=U.meta.name.localeCompare(Q.meta.name);return X!==0?X:U.meta.version-Q.meta.version}),W={openapi:"3.1.0",info:{title:z.title??"ContractSpec API",version:z.version??"0.0.0",...z.description?{description:z.description}:{}},...z.servers?{servers:z.servers}:{},paths:{},components:{schemas:{}}};for(let U of Y){let Q=qH(U),X=er0(U.meta.kind,U.transport?.rest?.method),O=$p0(U),G=bM$(U.meta.name,U.meta.version),H=W.paths[O]??={},Z={operationId:G,summary:U.meta.description??U.meta.name,description:U.meta.description,tags:U.meta.tags??[],"x-contractspec":{name:U.meta.name,version:U.meta.version,kind:U.meta.kind},responses:{}};if(Q.input){let J=LM$("Input",U.meta.name,U.meta.version);W.components.schemas[J]=Q.input,Z.requestBody={required:!0,content:{"application/json":{schema:{$ref:`#/components/schemas/${J}`}}}}}let B={};if(Q.output){let J=LM$("Output",U.meta.name,U.meta.version);W.components.schemas[J]=Q.output,B["200"]={description:"OK",content:{"application/json":{schema:{$ref:`#/components/schemas/${J}`}}}}}else B["200"]={description:"OK"};Z.responses=B,H[X]=Z}return W}var MM$=new S0({name:"SaveOnboardingDraftInput",description:"Input for saving onboarding draft",fields:{data:{type:m.JSON(),isOptional:!1}}}),PM$=new S0({name:"SaveOnboardingDraftOutput",description:"Output for saving onboarding draft",fields:{id:{type:m.ID(),isOptional:!1},organizationId:{type:m.ID(),isOptional:!1}}}),zp0=D4({meta:{name:"base.onboarding.saveDraft",version:1,stability:E0.Beta,owners:[Oq.PlatformSigil],tags:["onboarding","draft"],description:"Save or update onboarding draft for active organization",goal:"Persist onboarding progress incrementally for resumption and safety",context:"Auto-saves every few seconds during onboarding; enables users to leave and resume"},io:{input:MM$,output:PM$},policy:{auth:"user",escalate:null},transport:{gql:{field:"saveOnboardingDraft"},rest:{method:"POST"}}}),NM$=new S0({name:"GetOnboardingDraftOutput",description:"Onboarding draft payload",fields:{id:{type:m.ID(),isOptional:!0},organizationId:{type:m.ID(),isOptional:!0},data:{type:m.JSON(),isOptional:!0},createdAt:{type:m.DateTime(),isOptional:!0},updatedAt:{type:m.DateTime(),isOptional:!0}}}),Yp0=T9({meta:{name:"base.onboarding.getDraft",version:1,stability:E0.Beta,owners:[Oq.PlatformSigil],tags:["onboarding","draft"],description:"Get onboarding draft for active organization",goal:"Retrieve saved onboarding progress",context:"Called on mount to restore in-progress onboarding"},io:{input:null,output:NM$},policy:{auth:"user",escalate:null},transport:{gql:{field:"getOnboardingDraft"},rest:{method:"GET"}}}),EM$=new S0({name:"DeleteOnboardingDraftOutput",description:"Result of delete operation",fields:{ok:{type:m.Boolean(),isOptional:!1}}}),Up0=D4({meta:{name:"base.onboarding.deleteDraft",version:1,stability:E0.Beta,owners:[Oq.PlatformSigil],tags:["onboarding","draft"],description:"Delete onboarding draft for active organization",goal:"Clear draft after completion or if user wants to restart",context:"Called after successful onboarding or explicit user reset"},io:{input:null,output:EM$},policy:{auth:"user",escalate:null},transport:{gql:{field:"deleteOnboardingDraft"},rest:{method:"POST"}}}),RM$=new S0({name:"CompleteOnboardingBaseInput",description:"Input for completing onboarding",fields:{data:{type:m.JSON(),isOptional:!1}}}),SM$=new S0({name:"CompleteOnboardingBaseOutput",description:"Result of onboarding completion",fields:{success:{type:m.Boolean(),isOptional:!1},userId:{type:m.ID(),isOptional:!0},organizationId:{type:m.ID(),isOptional:!0}}}),Wp0=D4({meta:{name:"base.onboarding.complete",version:1,stability:E0.Beta,owners:[Oq.PlatformSigil],tags:["onboarding"],description:"Complete onboarding and finalize user/organization setup",goal:"Transition from draft to active profile",context:"Validates all required fields, creates/updates entities, marks onboarding complete"},io:{input:RM$,output:SM$},policy:{auth:"user",escalate:null},transport:{gql:{field:"completeOnboarding"},rest:{method:"POST"}}});var kl=["platform.finance"],ul=["open-banking","finance"],Qp0={meta:{key:"openbanking.accounts.read",version:1,kind:"integration",title:"Open Banking Accounts (Read)",description:"Provides read-only access to linked bank accounts, including account summaries and metadata.",domain:"finance",owners:[...kl],tags:[...ul],stability:E0.Experimental},provides:[{surface:"operation",name:"openbanking.accounts.list",version:1,description:"List bank accounts linked to a Powens open banking connection."},{surface:"operation",name:"openbanking.accounts.get",version:1,description:"Retrieve the canonical bank account record for a specific account."},{surface:"operation",name:"openbanking.accounts.sync",version:1,description:"Trigger a refresh of bank account metadata from the open banking provider."}]},Xp0={meta:{key:"openbanking.transactions.read",version:1,kind:"integration",title:"Open Banking Transactions (Read)",description:"Enables retrieval of transaction history for linked bank accounts via open banking providers.",domain:"finance",owners:[...kl],tags:[...ul,"transactions"],stability:E0.Experimental},provides:[{surface:"operation",name:"openbanking.transactions.list",version:1,description:"List transactions for a given bank account with optional date filtering."},{surface:"operation",name:"openbanking.transactions.sync",version:1,description:"Synchronise transactions from the open banking provider into the canonical ledger."}]},Op0={meta:{key:"openbanking.balances.read",version:1,kind:"integration",title:"Open Banking Balances (Read)",description:"Allows querying of current and available balances for linked bank accounts via open banking providers.",domain:"finance",owners:[...kl],tags:[...ul,"balances"],stability:E0.Experimental},provides:[{surface:"operation",name:"openbanking.balances.get",version:1,description:"Retrieve the latest known balances for a specified bank account."},{surface:"operation",name:"openbanking.balances.refresh",version:1,description:"Force a balance refresh from the open banking provider."}]};import{deepStrictEqual as Bp0}from"node:assert";var Gb=class{constructor($){this.config=$}async run($){let z=[],Y=0,W=0;for(let U of $.scenarios){await this.config.beforeEach?.(U);let Q=await this.runScenario($,U);if(z.push(Q),Q.status==="passed")Y+=1;else W+=1;await this.config.afterEach?.(U,Q)}return{spec:$,scenarios:z,passed:Y,failed:W}}async runScenario($,z){let Y=[];try{let W=await this.createContext(),U=[...$.fixtures??[],...z.given??[]],Q=[];for(let G of U)await this.executeOperation(G,W,Q);let X=await this.executeOperation(z.when,W,Q),O=z.then??[];for(let G of O){let H=this.evaluateAssertion(G,X,Q);Y.push(H)}return{scenario:z,status:Y.some((G)=>G.status==="failed")?"failed":"passed",assertionResults:Y}}catch(W){return{scenario:z,status:"failed",error:W,assertionResults:Y}}}async createContext(){return{...await this.config.createContext?.()??{}}}async executeOperation($,z,Y){let W={...z,eventPublisher:async(U)=>{Y.push({name:U.name,version:U.version,payload:U.payload}),await z.eventPublisher?.(U)}};try{return{output:await this.config.registry.execute($.operation.name,$.operation.version,$.input??null,W),events:Y}}catch(U){return{error:U,events:Y}}}evaluateAssertion($,z,Y){switch($.type){case"expectOutput":return this.evaluateOutputAssertion($,z);case"expectError":return this.evaluateErrorAssertion($,z);case"expectEvents":return this.evaluateEventsAssertion($,Y);default:return{assertion:$,status:"failed",message:`Unknown assertion type ${$.type}`}}}evaluateOutputAssertion($,z){if(z.error)return{assertion:$,status:"failed",message:`Expected output but operation threw error: ${z.error.message}`};try{return Bp0(z.output,$.match),{assertion:$,status:"passed"}}catch(Y){return{assertion:$,status:"failed",message:Y instanceof Error?Y.message:"Output assertion failed"}}}evaluateErrorAssertion($,z){if(!z.error)return{assertion:$,status:"failed",message:"Expected an error but operation completed successfully"};if($.messageIncludes&&!z.error.message.includes($.messageIncludes))return{assertion:$,status:"failed",message:`Error message "${z.error.message}" did not include expected substring "${$.messageIncludes}"`};return{assertion:$,status:"passed"}}evaluateEventsAssertion($,z){let Y=[];for(let W of $.events){let U=z.filter((Q)=>Q.name===W.name&&Q.version===W.version).length;if(typeof W.min==="number"&&U<W.min||typeof W.max==="number"&&U>W.max)Y.push(`Event ${W.name}.v${W.version} occurred ${U} times (expected ${W.min??0} - ${W.max??"∞"})`);else if(typeof W.min>"u"&&typeof W.max>"u"&&U===0)Y.push(`Event ${W.name}.v${W.version} did not occur`)}if(Y.length>0)return{assertion:$,status:"failed",message:Y.join("; ")};return{assertion:$,status:"passed"}}};var fl={meta:{key:"payments.stripe",version:1,category:"payments",displayName:"Stripe",title:"Stripe Payments",description:"Stripe integration for payment processing, charges, and payouts.",domain:"payments",owners:["platform.payments"],tags:["payments","psp"],stability:E0.Stable},supportedModes:["managed","byok"],capabilities:{provides:[{key:"payments.psp",version:1}],requires:[{key:"platform.webhooks",optional:!0,reason:"Recommended for reliable event ingestion"}]},configSchema:{schema:{type:"object",properties:{accountId:{type:"string",description:"Connected account ID when using Stripe Connect (BYOK)."},region:{type:"string",description:"Optional Stripe region or data residency hint."}}},example:{accountId:"acct_123",region:"us-east-1"}},secretSchema:{schema:{type:"object",required:["apiKey","webhookSecret"],properties:{apiKey:{type:"string",description:"Stripe secret API key (sk_live_... or sk_test_...)."},webhookSecret:{type:"string",description:"Signing secret for webhook verification."}}},example:{apiKey:"sk_live_***",webhookSecret:"whsec_***"}},healthCheck:{method:"ping",timeoutMs:5000},docsUrl:"https://stripe.com/docs/api",constraints:{rateLimit:{rpm:1000,rph:20000}},byokSetup:{setupInstructions:"Create a restricted Stripe API key with write access to Charges and provide a webhook signing secret.",requiredScopes:["charges:write","customers:read"]}};var yl={meta:{key:"email.postmark",version:1,category:"email",displayName:"Postmark",title:"Postmark Transactional Email",description:"Postmark integration for transactional email delivery.",domain:"communications",owners:["platform.messaging"],tags:["email","transactional"],stability:E0.Stable},supportedModes:["managed","byok"],capabilities:{provides:[{key:"email.transactional",version:1}],requires:[{key:"platform.webhooks",optional:!0,reason:"Optional for inbound bounce handling"}]},configSchema:{schema:{type:"object",properties:{messageStream:{type:"string",description:"Optional message stream identifier (e.g., transactional)."},fromEmail:{type:"string",description:"Default From address used for outbound messages."}}},example:{messageStream:"outbound",fromEmail:"notifications@example.com"}},secretSchema:{schema:{type:"object",required:["serverToken"],properties:{serverToken:{type:"string",description:"Server token for the Postmark account."}}},example:{serverToken:"server-***"}},healthCheck:{method:"ping",timeoutMs:3000},docsUrl:"https://postmarkapp.com/developer",constraints:{rateLimit:{rpm:500}},byokSetup:{setupInstructions:"Create a Postmark server token with outbound send permissions and configure allowed from addresses."}};var gl={meta:{key:"vectordb.qdrant",version:1,category:"vector-db",displayName:"Qdrant",title:"Qdrant Vector Database",description:"Qdrant integration for vector search and embeddings storage.",domain:"ai",owners:["platform.ai"],tags:["vector-db","search"],stability:E0.Experimental},supportedModes:["managed","byok"],capabilities:{provides:[{key:"vector-db.search",version:1},{key:"vector-db.storage",version:1}],requires:[{key:"ai.embeddings",optional:!0,reason:"Required if vectors are generated via hosted embedding services"}]},configSchema:{schema:{type:"object",properties:{apiUrl:{type:"string",description:"Base URL for the Qdrant instance (e.g., https://qdrant.example.com)."},collectionPrefix:{type:"string",description:"Prefix applied to all collection names for this tenant."}}},example:{apiUrl:"https://qdrant.example.com",collectionPrefix:"tenant_"}},secretSchema:{schema:{type:"object",properties:{apiKey:{type:"string",description:"API key or token when authentication is enabled."}}},example:{apiKey:"qdrant-api-key"}},healthCheck:{method:"ping",timeoutMs:4000},docsUrl:"https://qdrant.tech/documentation/quick-start/",constraints:{quotas:{collections:100,pointsPerCollection:1e6}},byokSetup:{setupInstructions:"Provide the HTTPS endpoint of your Qdrant cluster and generate an API key with read/write access to the collections that will be managed."}};var xl={meta:{key:"ai-llm.mistral",version:1,category:"ai-llm",displayName:"Mistral AI",title:"Mistral Large Language Model",description:"Mistral integration providing chat completions and embedding generation.",domain:"ai",owners:["platform.ai"],tags:["ai","llm","embeddings"],stability:E0.Experimental},supportedModes:["managed","byok"],capabilities:{provides:[{key:"ai.chat",version:1},{key:"ai.embeddings",version:1}]},configSchema:{schema:{type:"object",properties:{model:{type:"string",description:"Default chat completion model (e.g., mistral-large-latest)."},embeddingModel:{type:"string",description:"Embedding model identifier."}}},example:{model:"mistral-large-latest",embeddingModel:"mistral-embed"}},secretSchema:{schema:{type:"object",required:["apiKey"],properties:{apiKey:{type:"string",description:"Mistral API key with access to chat and embeddings endpoints."}}},example:{apiKey:"mistral-***"}},healthCheck:{method:"custom",timeoutMs:5000},docsUrl:"https://docs.mistral.ai/platform/endpoints",constraints:{rateLimit:{rpm:600}},byokSetup:{setupInstructions:"Generate an API key within the Mistral console and ensure the selected models are enabled for the account."}};var hl={meta:{key:"ai-voice.elevenlabs",version:1,category:"ai-voice",displayName:"ElevenLabs Voice",title:"ElevenLabs Text-to-Speech",description:"ElevenLabs integration for neural voice synthesis and voice catalog access.",domain:"ai",owners:["platform.ai"],tags:["voice","tts"],stability:E0.Beta},supportedModes:["managed","byok"],capabilities:{provides:[{key:"ai.voice.synthesis",version:1}]},configSchema:{schema:{type:"object",properties:{defaultVoiceId:{type:"string",description:"Optional default voice identifier for synthesis requests."}}},example:{defaultVoiceId:"pNInz6obpgDQGcFmaJgB"}},secretSchema:{schema:{type:"object",required:["apiKey"],properties:{apiKey:{type:"string",description:"ElevenLabs API key with text-to-speech permissions."}}},example:{apiKey:"eleven-***"}},healthCheck:{method:"custom",timeoutMs:4000},docsUrl:"https://elevenlabs.io/docs/api-reference/text-to-speech",constraints:{rateLimit:{rpm:120}},byokSetup:{setupInstructions:"Create an ElevenLabs API key and ensure the desired voices are accessible to the key scope."}};var ml={meta:{key:"email.gmail",version:1,category:"email",displayName:"Gmail API",title:"Google Gmail API",description:"Gmail integration supporting inbound thread ingestion and outbound transactional email.",domain:"communications",owners:["platform.messaging"],tags:["email","gmail"],stability:E0.Beta},supportedModes:["managed","byok"],capabilities:{provides:[{key:"email.inbound",version:1},{key:"email.outbound",version:1}]},configSchema:{schema:{type:"object",properties:{labelIds:{type:"array",items:{type:"string"},description:"Optional list of label IDs to scope inbound sync."},includeSpamTrash:{type:"boolean",description:"Whether to include spam or trash messages during sync."}}},example:{labelIds:["INBOX"],includeSpamTrash:!1}},secretSchema:{schema:{type:"object",required:["clientId","clientSecret","refreshToken"],properties:{clientId:{type:"string",description:"OAuth client ID for the Google Cloud project."},clientSecret:{type:"string",description:"OAuth client secret for the Google Cloud project."},refreshToken:{type:"string",description:"OAuth refresh token for delegated Gmail access."},redirectUri:{type:"string",description:"Optional redirect URI used when issuing the refresh token."}}},example:{clientId:"xxx.apps.googleusercontent.com",clientSecret:"secret",refreshToken:"refresh-token"}},healthCheck:{method:"custom",timeoutMs:4000},docsUrl:"https://developers.google.com/gmail/api",constraints:{rateLimit:{rpm:600}},byokSetup:{setupInstructions:"Create an OAuth consent screen and credentials within Google Cloud Console, then authorize the Gmail scopes and store the resulting refresh token."}};var cl={meta:{key:"calendar.google",version:1,category:"calendar",displayName:"Google Calendar",title:"Google Calendar API",description:"Google Calendar integration for event creation, updates, and scheduling automations.",domain:"productivity",owners:["platform.messaging"],tags:["calendar","google"],stability:E0.Beta},supportedModes:["managed","byok"],capabilities:{provides:[{key:"calendar.events",version:1}]},configSchema:{schema:{type:"object",properties:{calendarId:{type:"string",description:"Default calendar identifier (defaults to primary)."}}},example:{calendarId:"primary"}},secretSchema:{schema:{type:"object",required:["clientEmail","privateKey"],properties:{clientEmail:{type:"string",description:"Service account client email."},privateKey:{type:"string",description:"Service account private key."},projectId:{type:"string",description:"Google Cloud project ID."}}},example:{clientEmail:"svc-calendar@example.iam.gserviceaccount.com",privateKey:"-----BEGIN PRIVATE KEY-----...",projectId:"calendar-project"}},healthCheck:{method:"custom",timeoutMs:4000},docsUrl:"https://developers.google.com/calendar/api",constraints:{},byokSetup:{setupInstructions:"Create a Google service account with Calendar access and share the target calendars with the service account email."}};var ll={meta:{key:"sms.twilio",version:1,category:"sms",displayName:"Twilio SMS",title:"Twilio Messaging",description:"Twilio SMS integration for transactional and notification messaging.",domain:"communications",owners:["platform.messaging"],tags:["sms","messaging"],stability:E0.Stable},supportedModes:["managed","byok"],capabilities:{provides:[{key:"sms.outbound",version:1}]},configSchema:{schema:{type:"object",properties:{fromNumber:{type:"string",description:"Default Twilio phone number used as sender."}}},example:{fromNumber:"+15551234567"}},secretSchema:{schema:{type:"object",required:["accountSid","authToken"],properties:{accountSid:{type:"string",description:"Twilio Account SID."},authToken:{type:"string",description:"Twilio Auth Token."}}},example:{accountSid:"ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",authToken:"auth-token"}},healthCheck:{method:"custom",timeoutMs:3000},docsUrl:"https://www.twilio.com/docs/sms/api",constraints:{rateLimit:{rpm:200}},byokSetup:{setupInstructions:"Provide a Twilio account SID, auth token, and verify the outbound sending numbers used by the integration."}};var dl={meta:{key:"storage.gcs",version:1,category:"storage",displayName:"Google Cloud Storage",title:"Google Cloud Storage Buckets",description:"Google Cloud Storage integration for object storage and retrieval.",domain:"infrastructure",owners:["platform.infrastructure"],tags:["storage","gcs","google-cloud"],stability:E0.Beta},supportedModes:["managed","byok"],capabilities:{provides:[{key:"storage.objects",version:1}]},configSchema:{schema:{type:"object",required:["bucket"],properties:{bucket:{type:"string",description:"Primary bucket name used for storing objects."},prefix:{type:"string",description:"Optional prefix applied to object keys."}}},example:{bucket:"pfo-tenant-assets",prefix:"documents/"}},secretSchema:{schema:{type:"object",properties:{type:{type:"string",description:"Service account type field from Google credentials JSON (if provided)."},client_email:{type:"string"},private_key:{type:"string"},project_id:{type:"string"}}},example:{type:"service_account",client_email:"svc-account@example.iam.gserviceaccount.com",private_key:"-----BEGIN PRIVATE KEY-----...",project_id:"example-project"}},healthCheck:{method:"ping",timeoutMs:4000},docsUrl:"https://cloud.google.com/storage/docs/apis",constraints:{quotas:{storageGb:5120}},byokSetup:{setupInstructions:"Create a Google Cloud service account with Storage Object Admin role and upload the JSON credentials to the secret store."}};var il={meta:{key:"openbanking.powens",version:1,category:"open-banking",displayName:"Powens Open Banking",title:"Powens Open Banking (Read)",description:"Read-only Open Banking integration powered by Powens, exposing accounts, transactions, and balances.",domain:"finance",owners:["platform.finance"],tags:["open-banking","powens","finance"],stability:E0.Experimental},supportedModes:["byok"],capabilities:{provides:[{key:"openbanking.accounts.read",version:1},{key:"openbanking.transactions.read",version:1},{key:"openbanking.balances.read",version:1}]},configSchema:{schema:{type:"object",required:["environment"],properties:{environment:{type:"string",enum:["sandbox","production"],description:"Powens environment to target. Sandbox uses Powens test API base URL, production uses live endpoints."},baseUrl:{type:"string",description:"Optional override for the Powens API base URL. Defaults to Powens environment defaults."},region:{type:"string",description:"Optional Powens region identifier when targeting a specific data residency cluster."},pollingIntervalMs:{type:"number",description:"Optional custom polling interval in milliseconds for background sync jobs (defaults to platform standard)."}}},example:{environment:"sandbox",baseUrl:"https://api-sandbox.powens.com/v2",region:"eu-west-1",pollingIntervalMs:300000}},secretSchema:{schema:{type:"object",required:["clientId","clientSecret"],properties:{clientId:{type:"string",description:"Powens OAuth client identifier obtained from the Powens Console (BYOK project)."},clientSecret:{type:"string",description:"Powens OAuth client secret used to exchange for access tokens."},apiKey:{type:"string",description:"Optional Powens API key (if the tenant project exposes a dedicated API token)."},webhookSecret:{type:"string",description:"Optional webhook signing secret used to verify Powens webhook payloads."}}},example:{clientId:"powens-client-id",clientSecret:"powens-client-secret",apiKey:"powens-api-key",webhookSecret:"powens-webhook-secret"}},healthCheck:{method:"ping",timeoutMs:8000},docsUrl:"https://docs.powens.com/",constraints:{rateLimit:{rph:1e4,rpm:600}},byokSetup:{setupInstructions:"Create a Powens BYOK project, generate OAuth credentials, and optionally configure webhook delivery for account/transaction updates.",requiredScopes:["accounts:read","transactions:read","balances:read"]}};var dD=new S0({name:"BankAccountRecord",description:"Canonical representation of a bank account synced from an open banking provider.",fields:{id:{type:m.ID(),isOptional:!1},tenantId:{type:m.ID(),isOptional:!1},userId:{type:m.ID(),isOptional:!1},connectionId:{type:m.ID(),isOptional:!1},externalId:{type:m.NonEmptyString(),isOptional:!1},institutionId:{type:m.NonEmptyString(),isOptional:!1},institutionName:{type:m.NonEmptyString(),isOptional:!1},institutionLogoUrl:{type:m.URL(),isOptional:!0},iban:{type:m.String_unsecure(),isOptional:!0},bic:{type:m.String_unsecure(),isOptional:!0},accountType:{type:m.NonEmptyString(),isOptional:!1},currency:{type:m.Currency(),isOptional:!1},displayName:{type:m.NonEmptyString(),isOptional:!1},accountNumberMasked:{type:m.String_unsecure(),isOptional:!0},productCode:{type:m.String_unsecure(),isOptional:!0},balance:{type:m.Float_unsecure(),isOptional:!0},availableBalance:{type:m.Float_unsecure(),isOptional:!0},lastSyncedAt:{type:m.DateTime(),isOptional:!1},createdAt:{type:m.DateTime(),isOptional:!1},updatedAt:{type:m.DateTime(),isOptional:!1},metadata:{type:m.JSONObject(),isOptional:!0}}}),Hb=new S0({name:"BankTransactionRecord",description:"Canonical transaction entry mapped from Powens into the open banking ledger.",fields:{id:{type:m.ID(),isOptional:!1},accountId:{type:m.ID(),isOptional:!1},tenantId:{type:m.ID(),isOptional:!1},connectionId:{type:m.ID(),isOptional:!1},externalId:{type:m.NonEmptyString(),isOptional:!1},amount:{type:m.Float_unsecure(),isOptional:!1},currency:{type:m.Currency(),isOptional:!1},date:{type:m.DateTime(),isOptional:!1},bookingDate:{type:m.DateTime(),isOptional:!0},valueDate:{type:m.DateTime(),isOptional:!0},description:{type:m.String_unsecure(),isOptional:!0},counterpartyName:{type:m.String_unsecure(),isOptional:!0},counterpartyAccount:{type:m.String_unsecure(),isOptional:!0},merchantCategoryCode:{type:m.String_unsecure(),isOptional:!0},rawCategory:{type:m.String_unsecure(),isOptional:!0},standardizedCategory:{type:m.String_unsecure(),isOptional:!0},transactionType:{type:m.NonEmptyString(),isOptional:!1},status:{type:m.NonEmptyString(),isOptional:!1},runningBalance:{type:m.Float_unsecure(),isOptional:!0},metadata:{type:m.JSONObject(),isOptional:!0},createdAt:{type:m.DateTime(),isOptional:!1},updatedAt:{type:m.DateTime(),isOptional:!1}}}),iD=new S0({name:"AccountBalanceRecord",description:"Canonical balance snapshot computed from Powens balance payloads.",fields:{id:{type:m.ID(),isOptional:!1},accountId:{type:m.ID(),isOptional:!1},tenantId:{type:m.ID(),isOptional:!1},connectionId:{type:m.ID(),isOptional:!1},balanceType:{type:m.NonEmptyString(),isOptional:!1},currentBalance:{type:m.Float_unsecure(),isOptional:!1},availableBalance:{type:m.Float_unsecure(),isOptional:!0},currency:{type:m.Currency(),isOptional:!1},lastUpdatedAt:{type:m.DateTime(),isOptional:!1},createdAt:{type:m.DateTime(),isOptional:!1},metadata:{type:m.JSONObject(),isOptional:!0}}});var pY={accountsSynced:"openbanking.accounts.synced",accountsSyncFailed:"openbanking.accounts.sync_failed",transactionsSynced:"openbanking.transactions.synced",transactionsSyncFailed:"openbanking.transactions.sync_failed",balancesRefreshed:"openbanking.balances.refreshed",balancesRefreshFailed:"openbanking.balances.refresh_failed",overviewGenerated:"openbanking.overview.generated"};var Dp0=new S0({name:"OpenBankingListAccountsInput",description:"Parameters for listing bank accounts through the open banking provider.",fields:{tenantId:{type:m.ID(),isOptional:!1},userId:{type:m.ID(),isOptional:!1},connectionId:{type:m.ID(),isOptional:!0},includeBalances:{type:m.Boolean(),isOptional:!0},institutionId:{type:m.String_unsecure(),isOptional:!0},cursor:{type:m.String_unsecure(),isOptional:!0},pageSize:{type:m.Int_unsecure(),isOptional:!0}}}),wp0=new S0({name:"OpenBankingListAccountsOutput",description:"Paginated list of bank accounts available to the tenant and user.",fields:{accounts:{type:dD,isOptional:!1,isArray:!0},nextCursor:{type:m.String_unsecure(),isOptional:!0},hasMore:{type:m.Boolean(),isOptional:!0}}}),Vp0=new S0({name:"OpenBankingGetAccountInput",description:"Parameters for retrieving a specific bank account.",fields:{tenantId:{type:m.ID(),isOptional:!1},accountId:{type:m.ID(),isOptional:!1},includeBalances:{type:m.Boolean(),isOptional:!0},includeLatestTransactions:{type:m.Boolean(),isOptional:!0}}}),Ap0=new S0({name:"OpenBankingSyncAccountsInput",description:"Command payload to trigger an account synchronisation against the open banking provider.",fields:{tenantId:{type:m.ID(),isOptional:!1},userId:{type:m.ID(),isOptional:!0},connectionId:{type:m.ID(),isOptional:!1},accountIds:{type:m.ID(),isArray:!0,isOptional:!0},forceFullRefresh:{type:m.Boolean(),isOptional:!0},triggerWorkflows:{type:m.Boolean(),isOptional:!0}}}),jp0=new S0({name:"OpenBankingSyncAccountsOutput",description:"Result of a bank account synchronisation run.",fields:{synced:{type:m.Int_unsecure(),isOptional:!1},failed:{type:m.Int_unsecure(),isOptional:!1},errors:{type:m.String_unsecure(),isArray:!0,isOptional:!0},nextSyncSuggestedAt:{type:m.DateTime(),isOptional:!0}}}),Yd=T9({meta:{name:"openbanking.accounts.list",version:1,description:"List bank accounts available to a tenant/user via Powens Open Banking.",goal:"Provide downstream workflows with the set of accounts accessible via the configured open banking connection.",context:"Used by Pocket Family Office dashboards and sync workflows to enumerate bank accounts prior to syncing balances or transactions.",owners:["platform.finance"],tags:["open-banking","powens","accounts"],stability:"experimental"},io:{input:Dp0,output:wp0},policy:{auth:"user"}}),Ud=T9({meta:{name:"openbanking.accounts.get",version:1,description:"Retrieve the canonical bank account record for the given account identifier.",goal:"Allow user-facing experiences and automations to display up-to-date account metadata.",context:"Invoked by UI surfaces and workflow automation steps that require detailed metadata for a specific bank account.",owners:["platform.finance"],tags:["open-banking","powens","accounts"],stability:"experimental"},io:{input:Vp0,output:dD},policy:{auth:"user"}}),Wd=D4({meta:{name:"openbanking.accounts.sync",version:1,description:"Initiate a synchronisation run to refresh bank account metadata from Powens.",goal:"Keep canonical bank account records aligned with the external open banking provider.",context:"Triggered by scheduled workflows or manual operator actions to reconcile account metadata prior to transaction/balance syncs.",owners:["platform.finance"],tags:["open-banking","powens","accounts"],stability:"experimental"},io:{input:Ap0,output:jp0},policy:{auth:"admin"},telemetry:{success:{event:{name:pY.accountsSynced},properties:({input:$,output:z})=>{let Y=$,W=z;return{tenantId:Y?.tenantId,connectionId:Y?.connectionId,synced:W?.synced,failed:W?.failed}}},failure:{event:{name:pY.accountsSyncFailed},properties:({input:$,error:z})=>{let Y=$;return{tenantId:Y?.tenantId,connectionId:Y?.connectionId,error:z instanceof Error?z.message:String(z??"unknown")}}}}});var Ip0=new S0({name:"OpenBankingListTransactionsInput",description:"Parameters for listing bank transactions from the canonical ledger.",fields:{tenantId:{type:m.ID(),isOptional:!1},accountId:{type:m.ID(),isOptional:!1},from:{type:m.DateTime(),isOptional:!0},to:{type:m.DateTime(),isOptional:!0},cursor:{type:m.String_unsecure(),isOptional:!0},pageSize:{type:m.Int_unsecure(),isOptional:!0},direction:{type:m.String_unsecure(),isOptional:!0},minimumAmount:{type:m.Float_unsecure(),isOptional:!0},maximumAmount:{type:m.Float_unsecure(),isOptional:!0},category:{type:m.String_unsecure(),isOptional:!0}}}),Fp0=new S0({name:"OpenBankingListTransactionsOutput",description:"Paginated list of transactions for a bank account.",fields:{transactions:{type:Hb,isOptional:!1,isArray:!0},nextCursor:{type:m.String_unsecure(),isOptional:!0},hasMore:{type:m.Boolean(),isOptional:!0}}}),Lp0=new S0({name:"OpenBankingSyncTransactionsInput",description:"Command payload to synchronise transactions from the open banking provider into the canonical ledger.",fields:{tenantId:{type:m.ID(),isOptional:!1},accountId:{type:m.ID(),isOptional:!1},from:{type:m.DateTime(),isOptional:!0},to:{type:m.DateTime(),isOptional:!0},connectionId:{type:m.ID(),isOptional:!0},includePending:{type:m.Boolean(),isOptional:!0},backfillDays:{type:m.Int_unsecure(),isOptional:!0}}}),bp0=new S0({name:"OpenBankingSyncTransactionsOutput",description:"Result of a transaction synchronisation run.",fields:{synced:{type:m.Int_unsecure(),isOptional:!1},failed:{type:m.Int_unsecure(),isOptional:!1},earliestSyncedAt:{type:m.DateTime(),isOptional:!0},latestSyncedAt:{type:m.DateTime(),isOptional:!0},nextSinceToken:{type:m.String_unsecure(),isOptional:!0},errors:{type:m.String_unsecure(),isArray:!0,isOptional:!0}}}),Qd=T9({meta:{name:"openbanking.transactions.list",version:1,description:"List bank transactions that have been normalised into the canonical ledger.",goal:"Allow downstream analytics and UI surfaces to page through canonical bank transactions.",context:"Used by Pocket Family Office dashboards, reconciliation workflows, and analytics data views.",owners:["platform.finance"],tags:["open-banking","powens","transactions"],stability:"experimental"},io:{input:Ip0,output:Fp0},policy:{auth:"user"}}),Xd=D4({meta:{name:"openbanking.transactions.sync",version:1,description:"Synchronise transactions for a bank account by calling the configured open banking provider.",goal:"Ensure the canonical transaction ledger stays aligned with the external provider.",context:"Triggered by scheduled workflows or on-demand actions when activity is expected on an account.",owners:["platform.finance"],tags:["open-banking","powens","transactions"],stability:"experimental"},io:{input:Lp0,output:bp0},policy:{auth:"admin"},telemetry:{success:{event:{name:pY.transactionsSynced},properties:({input:$,output:z})=>{let Y=$,W=z;return{tenantId:Y?.tenantId,accountId:Y?.accountId,synced:W?.synced,failed:W?.failed,earliestSyncedAt:W?.earliestSyncedAt,latestSyncedAt:W?.latestSyncedAt}}},failure:{event:{name:pY.transactionsSyncFailed},properties:({input:$,error:z})=>{let Y=$;return{tenantId:Y?.tenantId,accountId:Y?.accountId,error:z instanceof Error?z.message:String(z??"unknown")}}}}});var Mp0=new S0({name:"OpenBankingGetBalancesInput",description:"Parameters for retrieving bank account balances from the canonical ledger.",fields:{tenantId:{type:m.ID(),isOptional:!1},accountId:{type:m.ID(),isOptional:!1},balanceTypes:{type:m.String_unsecure(),isArray:!0,isOptional:!0}}}),Pp0=new S0({name:"OpenBankingGetBalancesOutput",description:"Canonical balances for a bank account.",fields:{balances:{type:iD,isOptional:!1,isArray:!0},asOf:{type:m.DateTime(),isOptional:!0}}}),Np0=new S0({name:"OpenBankingRefreshBalancesInput",description:"Command payload to refresh balances for a bank account via the open banking provider.",fields:{tenantId:{type:m.ID(),isOptional:!1},accountId:{type:m.ID(),isOptional:!1},connectionId:{type:m.ID(),isOptional:!0},balanceTypes:{type:m.String_unsecure(),isArray:!0,isOptional:!0},forceRefresh:{type:m.Boolean(),isOptional:!0}}}),Ep0=new S0({name:"OpenBankingRefreshBalancesOutput",description:"Result of a balance refresh against the open banking provider.",fields:{balances:{type:iD,isOptional:!1,isArray:!0},refreshedAt:{type:m.DateTime(),isOptional:!1},errors:{type:m.String_unsecure(),isArray:!0,isOptional:!0}}}),Od=T9({meta:{name:"openbanking.balances.get",version:1,description:"Retrieve the latest cached balances for a bank account.",goal:"Expose current and available balances required by dashboards and analytics.",context:"Used by Pocket Family Office UI surfaces and automation steps that require balance totals prior to generating summaries.",owners:["platform.finance"],tags:["open-banking","powens","balances"],stability:"experimental"},io:{input:Mp0,output:Pp0},policy:{auth:"user"}}),Gd=D4({meta:{name:"openbanking.balances.refresh",version:1,description:"Refresh balances for a bank account via the configured open banking provider.",goal:"Ensure canonical balance records reflect the latest values from Powens.",context:"Triggered by scheduled workflows before generating summaries or forecasting cashflow.",owners:["platform.finance"],tags:["open-banking","powens","balances"],stability:"experimental"},io:{input:Np0,output:Ep0},policy:{auth:"admin"},telemetry:{success:{event:{name:pY.balancesRefreshed},properties:({input:$,output:z})=>{let Y=$,W=z;return{tenantId:Y?.tenantId,accountId:Y?.accountId,refreshedAt:W?.refreshedAt,balanceCount:Array.isArray(W?.balances)?W?.balances.length:void 0}}},failure:{event:{name:pY.balancesRefreshFailed},properties:({input:$,error:z})=>{let Y=$;return{tenantId:Y?.tenantId,accountId:Y?.accountId,error:z instanceof Error?z.message:String(z??"unknown")}}}}});var Hd={meta:{key:"knowledge.product-canon",version:1,category:"canonical",displayName:"Product Canon",title:"Product Canon Knowledge Space",description:"Authoritative product knowledge covering strategy, roadmap, and delivery canon.",domain:"product",owners:["platform.product"],tags:["knowledge","product"],stability:E0.Stable},retention:{ttlDays:null},access:{policy:{name:"knowledge.access.product-canon",version:1},trustLevel:"high",automationWritable:!1},indexing:{embeddingModel:"text-embedding-3-large",chunkSize:800,vectorDbIntegration:"vectordb.qdrant"},description:"Single source of truth for product canon, principles, and strategic narratives."};var qd={meta:{key:"knowledge.support-faq",version:1,category:"operational",displayName:"Support FAQ",title:"Support & Success FAQ",description:"Operational knowledge base for customer support and success.",domain:"support",owners:["platform.support"],tags:["knowledge","support"],stability:E0.Beta},retention:{ttlDays:365,archiveAfterDays:180},access:{policy:{name:"knowledge.access.support",version:1},trustLevel:"medium",automationWritable:!0},indexing:{embeddingModel:"text-embedding-3-small",chunkSize:700,vectorDbIntegration:"vectordb.qdrant"},description:"Operational FAQs, runbooks, and customer success playbooks augmented with automation updates."};var Zd={meta:{key:"knowledge.email-threads",version:1,category:"operational",displayName:"Email Threads",title:"Operational Email Threads",description:"Indexed copies of operational email threads used for support, onboarding, and workflows.",domain:"operations",owners:["platform.operations"],tags:["email","operations"],stability:E0.Beta},retention:{ttlDays:365},access:{policy:{name:"knowledge.access.email-threads",version:1},trustLevel:"medium",automationWritable:!0},indexing:{embeddingModel:"mistral-embed",chunkSize:600,vectorDbIntegration:"vectordb.qdrant"},description:"Operational email threads synchronized from Gmail to support automations and contextual assistance."};var Bd={meta:{key:"knowledge.uploaded-docs",version:1,category:"external",displayName:"Uploaded Documents",title:"Uploaded Knowledge Assets",description:"Documents uploaded by households, including invoices, contracts, and reference files.",domain:"operations",owners:["platform.operations"],tags:["documents","storage"],stability:E0.Beta},retention:{ttlDays:null},access:{policy:{name:"knowledge.access.uploaded-docs",version:1},trustLevel:"medium",automationWritable:!0},indexing:{embeddingModel:"mistral-embed",chunkSize:900,vectorDbIntegration:"vectordb.qdrant"},description:"User-provided documents normalized and embedded for retrieval augmented workflows."};var Jd={meta:{key:"knowledge.financial-docs",version:1,category:"canonical",displayName:"Financial Documents",title:"Household Financial Documents",description:"Invoices, bills, and contracts powering Pocket Family Office financial automation.",domain:"finance",owners:["platform.finance"],tags:["finance","documents"],stability:E0.Beta},retention:{ttlDays:null},access:{policy:{name:"knowledge.access.financial-docs",version:1},trustLevel:"high",automationWritable:!0},indexing:{embeddingModel:"mistral-embed",chunkSize:700,vectorDbIntegration:"vectordb.qdrant"},description:"Normalized financial documents enabling bill pay automation, reminders, and summaries."};var Kd={meta:{key:"knowledge.financial-overview",version:1,category:"operational",displayName:"Financial Overview Summaries",title:"Derived Financial Summaries",description:"Aggregated cashflow summaries, category breakdowns, and balance trends derived from open banking data.",domain:"finance",owners:["platform.finance"],tags:["open-banking","summaries","cashflow"],stability:E0.Experimental},retention:{ttlDays:180},access:{policy:{name:"knowledge.access.financial-overview",version:1},trustLevel:"medium",automationWritable:!0},indexing:{embeddingModel:"mistral-embed",chunkSize:600,vectorDbIntegration:"vectordb.qdrant"},description:"Derived knowledge space containing weekly/monthly cashflow rollups and account health summaries. Raw transactions are excluded to respect privacy guardrails."};var Dd=new S0({name:"IntegrationConnectionRecord",fields:{id:{type:m.ID(),isOptional:!1},tenantId:{type:m.ID(),isOptional:!1},integrationKey:{type:m.NonEmptyString(),isOptional:!1},integrationVersion:{type:m.Int_unsecure(),isOptional:!1},label:{type:m.String_unsecure(),isOptional:!1},ownershipMode:{type:m.String_unsecure(),isOptional:!1},externalAccountId:{type:m.String_unsecure(),isOptional:!0},secretProvider:{type:m.String_unsecure(),isOptional:!1},secretRef:{type:m.String_unsecure(),isOptional:!1},status:{type:m.String_unsecure(),isOptional:!1},environment:{type:m.String_unsecure(),isOptional:!0},healthStatus:{type:m.String_unsecure(),isOptional:!0},healthCheckedAt:{type:m.DateTime(),isOptional:!0},healthLatencyMs:{type:m.Float_unsecure(),isOptional:!0},healthErrorCode:{type:m.String_unsecure(),isOptional:!0},healthErrorMessage:{type:m.String_unsecure(),isOptional:!0},usageRequestCount:{type:m.Int_unsecure(),isOptional:!0},usageSuccessCount:{type:m.Int_unsecure(),isOptional:!0},usageErrorCount:{type:m.Int_unsecure(),isOptional:!0},usageLastUsedAt:{type:m.DateTime(),isOptional:!0},usageLastErrorAt:{type:m.DateTime(),isOptional:!0},usageLastErrorCode:{type:m.String_unsecure(),isOptional:!0},createdAt:{type:m.DateTime(),isOptional:!0},updatedAt:{type:m.DateTime(),isOptional:!0}}}),fp0=new S0({name:"CreateIntegrationConnectionInput",fields:{tenantId:{type:m.ID(),isOptional:!1},integrationKey:{type:m.NonEmptyString(),isOptional:!1},integrationVersion:{type:m.Int_unsecure(),isOptional:!1},label:{type:m.String_unsecure(),isOptional:!1},ownershipMode:{type:m.String_unsecure(),isOptional:!1},externalAccountId:{type:m.String_unsecure(),isOptional:!0},secretProvider:{type:m.String_unsecure(),isOptional:!1},secretRef:{type:m.String_unsecure(),isOptional:!1},environment:{type:m.String_unsecure(),isOptional:!0},config:{type:m.JSONObject(),isOptional:!1}}}),yp0=new S0({name:"UpdateIntegrationConnectionInput",fields:{connectionId:{type:m.ID(),isOptional:!1},label:{type:m.String_unsecure(),isOptional:!0},status:{type:m.String_unsecure(),isOptional:!0},ownershipMode:{type:m.String_unsecure(),isOptional:!0},externalAccountId:{type:m.String_unsecure(),isOptional:!0},secretProvider:{type:m.String_unsecure(),isOptional:!0},secretRef:{type:m.String_unsecure(),isOptional:!0},config:{type:m.JSONObject(),isOptional:!0}}}),gp0=new S0({name:"DeleteIntegrationConnectionInput",fields:{connectionId:{type:m.ID(),isOptional:!1}}}),xp0=new S0({name:"ListIntegrationConnectionsInput",fields:{tenantId:{type:m.ID(),isOptional:!1},category:{type:m.String_unsecure(),isOptional:!0},status:{type:m.String_unsecure(),isOptional:!0}}}),hp0=new S0({name:"ListIntegrationConnectionsOutput",fields:{connections:{type:Dd,isOptional:!1,isArray:!0}}}),mp0=new S0({name:"TestIntegrationConnectionInput",fields:{connectionId:{type:m.ID(),isOptional:!1}}}),cp0=new S0({name:"TestIntegrationConnectionOutput",fields:{success:{type:m.Boolean(),isOptional:!1},status:{type:m.String_unsecure(),isOptional:!0},latencyMs:{type:m.Float_unsecure(),isOptional:!0},error:{type:m.String_unsecure(),isOptional:!0},errorCode:{type:m.String_unsecure(),isOptional:!0}}}),lp0=new S0({name:"DeleteIntegrationConnectionOutput",fields:{success:{type:m.Boolean(),isOptional:!1}}}),dp0=D4({meta:{name:"integrations.connection.create",version:1,description:"Create a new integration connection for a tenant.",goal:"Provision a tenant-scoped connection to an external provider.",context:"Used by Ops or the App Studio to configure external integrations such as Stripe or Qdrant.",owners:["platform.integrations"],tags:["integration","connections"],stability:"experimental"},io:{input:fp0,output:Dd},policy:{auth:"admin",policies:[{name:"platform.integration.manage",version:1}]}}),ip0=D4({meta:{name:"integrations.connection.update",version:1,description:"Update metadata or credentials for an integration connection.",goal:"Allow secure rotation of credentials and metadata adjustments.",context:"Supports rotating API keys, toggling status, or updating labels for tenant integrations.",owners:["platform.integrations"],tags:["integration","connections"],stability:"experimental"},io:{input:yp0,output:Dd},policy:{auth:"admin",policies:[{name:"platform.integration.manage",version:1}]}}),np0=D4({meta:{name:"integrations.connection.delete",version:1,description:"Delete an integration connection for a tenant.",goal:"Safely remove credentials and disable connector usage.",context:"Ensures connections are de-provisioned when no longer needed or breached.",owners:["platform.integrations"],tags:["integration","connections"],stability:"experimental"},io:{input:gp0,output:lp0},policy:{auth:"admin",policies:[{name:"platform.integration.manage",version:1}]}}),rp0=T9({meta:{name:"integrations.connection.list",version:1,description:"List integration connections for a tenant.",goal:"Provide visibility into configured integrations and their status.",context:"Used by the App Studio and Ops flows to show bindings and health.",owners:["platform.integrations"],tags:["integration","connections"],stability:"experimental"},io:{input:xp0,output:hp0},policy:{auth:"admin",policies:[{name:"platform.integration.read",version:1}]}}),pp0=D4({meta:{name:"integrations.connection.test",version:1,description:"Run a health check against a configured integration connection.",goal:"Validate credentials and connectivity for external providers.",context:"Triggered manually or by background monitors to confirm provider availability.",owners:["platform.integrations"],tags:["integration","connections"],stability:"experimental"},io:{input:mp0,output:cp0},policy:{auth:"admin",policies:[{name:"platform.integration.manage",version:1}]}});var wd=new S0({name:"KnowledgeSyncSchedule",fields:{enabled:{type:m.Boolean(),isOptional:!1},cron:{type:m.String_unsecure(),isOptional:!0},intervalMs:{type:m.Int_unsecure(),isOptional:!0}}}),Vd=new S0({name:"KnowledgeSourceRecord",fields:{id:{type:m.ID(),isOptional:!1},tenantId:{type:m.ID(),isOptional:!1},spaceKey:{type:m.NonEmptyString(),isOptional:!1},spaceVersion:{type:m.Int_unsecure(),isOptional:!1},label:{type:m.String_unsecure(),isOptional:!1},sourceType:{type:m.String_unsecure(),isOptional:!1},syncSchedule:{type:wd,isOptional:!0},lastSyncStatus:{type:m.String_unsecure(),isOptional:!0},lastSyncAt:{type:m.DateTime(),isOptional:!0},itemsProcessed:{type:m.Int_unsecure(),isOptional:!0},createdAt:{type:m.DateTime(),isOptional:!0},updatedAt:{type:m.DateTime(),isOptional:!0}}}),op0=new S0({name:"CreateKnowledgeSourceInput",fields:{tenantId:{type:m.ID(),isOptional:!1},spaceKey:{type:m.NonEmptyString(),isOptional:!1},spaceVersion:{type:m.Int_unsecure(),isOptional:!1},label:{type:m.String_unsecure(),isOptional:!1},sourceType:{type:m.NonEmptyString(),isOptional:!1},config:{type:m.JSONObject(),isOptional:!1},syncSchedule:{type:wd,isOptional:!0}}}),tp0=new S0({name:"UpdateKnowledgeSourceInput",fields:{sourceId:{type:m.ID(),isOptional:!1},label:{type:m.String_unsecure(),isOptional:!0},config:{type:m.JSONObject(),isOptional:!0},syncSchedule:{type:wd,isOptional:!0}}}),ap0=new S0({name:"DeleteKnowledgeSourceInput",fields:{sourceId:{type:m.ID(),isOptional:!1}}}),sp0=new S0({name:"DeleteKnowledgeSourceOutput",fields:{success:{type:m.Boolean(),isOptional:!1}}}),ep0=new S0({name:"ListKnowledgeSourcesInput",fields:{tenantId:{type:m.ID(),isOptional:!1},spaceKey:{type:m.NonEmptyString(),isOptional:!0}}}),$o0=new S0({name:"ListKnowledgeSourcesOutput",fields:{sources:{type:Vd,isOptional:!1,isArray:!0}}}),zo0=new S0({name:"TriggerKnowledgeSyncInput",fields:{sourceId:{type:m.ID(),isOptional:!1}}}),Yo0=new S0({name:"TriggerKnowledgeSyncOutput",fields:{success:{type:m.Boolean(),isOptional:!1},itemsProcessed:{type:m.Int_unsecure(),isOptional:!0},error:{type:m.String_unsecure(),isOptional:!0}}}),Uo0=D4({meta:{name:"knowledge.source.create",version:1,description:"Create a knowledge source binding for a tenant.",goal:"Onboard a new knowledge ingestion source such as Notion or uploads.",context:"Used by Ops and App Studio to configure knowledge ingestion per tenant and space.",owners:["platform.knowledge"],tags:["knowledge","sources"],stability:"experimental"},io:{input:op0,output:Vd},policy:{auth:"admin",policies:[{name:"platform.knowledge.manage",version:1}]}}),Wo0=D4({meta:{name:"knowledge.source.update",version:1,description:"Update metadata or configuration for a knowledge source.",goal:"Allow rotation of credentials, sync schedules, and labels.",context:"Supports editing how a tenant ingests knowledge (e.g., toggling sync cadence).",owners:["platform.knowledge"],tags:["knowledge","sources"],stability:"experimental"},io:{input:tp0,output:Vd},policy:{auth:"admin",policies:[{name:"platform.knowledge.manage",version:1}]}}),Qo0=D4({meta:{name:"knowledge.source.delete",version:1,description:"Delete a knowledge source binding for a tenant.",goal:"Remove obsolete or compromised knowledge ingestion paths.",context:"Ensures ephemeral or external sources can be removed cleanly without leaving residual bindings.",owners:["platform.knowledge"],tags:["knowledge","sources"],stability:"experimental"},io:{input:ap0,output:sp0},policy:{auth:"admin",policies:[{name:"platform.knowledge.manage",version:1}]}}),Xo0=T9({meta:{name:"knowledge.source.list",version:1,description:"List knowledge sources configured for a tenant.",goal:"Provide visibility into knowledge ingest configuration and schedules.",context:"Used by App Studio and Ops flows to surface knowledge sources and their health.",owners:["platform.knowledge"],tags:["knowledge","sources"],stability:"experimental"},io:{input:ep0,output:$o0},policy:{auth:"admin",policies:[{name:"platform.knowledge.read",version:1}]}}),Oo0=D4({meta:{name:"knowledge.source.triggerSync",version:1,description:"Trigger an immediate sync for a knowledge source.",goal:"Support manual or automated sync retries for knowledge ingestion.",context:"Invoked by Ops tooling or monitors when knowledge content must be refreshed or reprocessed.",owners:["platform.knowledge"],tags:["knowledge","sources"],stability:"experimental"},io:{input:zo0,output:Yo0},policy:{auth:"admin",policies:[{name:"platform.knowledge.manage",version:1}]}});function qb($,z,Y){return{type:"telemetry",contextId:$,signal:Go0(z,Y)}}function Zb($,z,Y){return{type:"error",contextId:$,signal:Ho0(z,Y)}}function Bb($,z,Y){return{type:"behavior",contextId:$,signal:qo0(z,Y)}}function Go0($,z){return{...$,windowStart:nD($.windowStart,z),windowEnd:nD($.windowEnd,z)}}function Ho0($,z){return{...$,occurredAt:nD($.occurredAt,z)}}function qo0($,z){return{...$,windowStart:nD($.windowStart,z),windowEnd:nD($.windowEnd,z)}}function nD($,z){if($ instanceof Date)return $;let Y=new Date($);if(Number.isNaN(Y.getTime()))return z();return Y}import{setTimeout as Zo0}from"node:timers/promises";var Bo0=60000,Jo0=300000,Jb=class{contexts;lastPoll=new Map;timer;running=!1;pollInterval;batchDuration;clock;constructor($){if(this.options=$,this.contexts=new Map($.contexts.map((z)=>[z.id,z])),this.pollInterval=$.pollIntervalMs??Bo0,this.batchDuration=$.batchDurationMs??Jo0,this.clock=$.clock??(()=>new Date),this.options.rules.length===0)throw Error("RegeneratorService requires at least one rule")}start(){if(this.running)return;this.running=!0,this.tick(),this.timer=setInterval(()=>{this.tick()},this.pollInterval)}stop(){if(!this.running)return;if(this.running=!1,this.timer)clearInterval(this.timer),this.timer=void 0}async runOnce(){await this.tick()}async tick(){let $=this.clock(),z=new Date($.getTime()-this.batchDuration);for(let Y of this.contexts.values()){let W=this.lastPoll.get(Y.id)??z;await this.evaluateContext(Y,W,$),this.lastPoll.set(Y.id,$)}}async evaluateContext($,z,Y){let W=await this.collectSignals($,z,Y);if(W.length===0)return;for(let U of this.options.rules){let Q=[];try{Q=await U.evaluate($,W)}catch(X){console.error(`[regenerator] rule ${U.id} failed`,X instanceof Error?X:Error(String(X)));continue}await this.flushProposals($,Q)}}async collectSignals($,z,Y){let W=[],{adapters:U}=this.options;if(U.telemetry){let Q=await U.telemetry.pollTelemetry($,z,Y);W.push(...Q.map((X)=>qb($.id,X,this.clock)))}if(U.errors){let Q=await U.errors.pollErrors($,z,Y);W.push(...Q.map((X)=>Zb($.id,X,this.clock)))}if(U.behavior){let Q=await U.behavior.pollBehavior($,z,Y);W.push(...Q.map((X)=>Bb($.id,X,this.clock)))}return W}async flushProposals($,z){for(let Y of z){if(Y.signalIds.length===0)continue;if(await this.options.sink.submit($,Y),z.length>10)await Zo0(0)}}};var Ad=[{id:"docs.tech.contracts.presentations-v2",title:"Presentations V2 — Unified Descriptor & Transform Engine",summary:"How PresentationDescriptorV2 and TransformEngine keep docs/renderers consistent.",visibility:"public",route:"/docs/tech/contracts/presentations-v2",kind:"reference",tags:["presentations","docs","mcp"],body:`## Presentations V2 — Unified Descriptor & Transform Engine
|
|
1453
1453
|
|
|
1454
1454
|
### Purpose
|
|
1455
1455
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lssm/bundle.contractspec-workspace",
|
|
3
|
-
"version": "0.0.0-canary-
|
|
3
|
+
"version": "0.0.0-canary-20251220021406",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -28,20 +28,20 @@
|
|
|
28
28
|
"@ai-sdk/mistral": "beta",
|
|
29
29
|
"@ai-sdk/openai": "beta",
|
|
30
30
|
"ollama-ai-provider": "^1.2.0",
|
|
31
|
-
"@lssm/module.contractspec-workspace": "0.0.0-canary-
|
|
32
|
-
"@lssm/lib.contracts": "0.0.0-canary-
|
|
33
|
-
"@lssm/lib.contracts-transformers": "0.0.0-canary-
|
|
34
|
-
"@lssm/lib.ai-providers": "0.0.0-canary-
|
|
35
|
-
"@lssm/lib.schema": "0.0.0-canary-
|
|
36
|
-
"@lssm/lib.testing": "0.0.0-canary-
|
|
31
|
+
"@lssm/module.contractspec-workspace": "0.0.0-canary-20251220021406",
|
|
32
|
+
"@lssm/lib.contracts": "0.0.0-canary-20251220021406",
|
|
33
|
+
"@lssm/lib.contracts-transformers": "0.0.0-canary-20251220021406",
|
|
34
|
+
"@lssm/lib.ai-providers": "0.0.0-canary-20251220021406",
|
|
35
|
+
"@lssm/lib.schema": "0.0.0-canary-20251220021406",
|
|
36
|
+
"@lssm/lib.testing": "0.0.0-canary-20251220021406",
|
|
37
37
|
"ai": "beta",
|
|
38
38
|
"zod": "^4.1.13",
|
|
39
39
|
"glob": "^13.0.0",
|
|
40
40
|
"chokidar": "^5.0.0"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@lssm/tool.tsdown": "0.0.0-canary-
|
|
44
|
-
"@lssm/tool.typescript": "0.0.0-canary-
|
|
43
|
+
"@lssm/tool.tsdown": "0.0.0-canary-20251220021406",
|
|
44
|
+
"@lssm/tool.typescript": "0.0.0-canary-20251220021406",
|
|
45
45
|
"@types/node": "^22.10.2",
|
|
46
46
|
"tsdown": "^0.18.1",
|
|
47
47
|
"typescript": "^5.9.3"
|