@xyo-network/api-graphql-plugin 5.3.1 → 5.3.3

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.
@@ -1,5 +1,5 @@
1
1
  import { AbstractWitness } from '@xyo-network/abstract-witness';
2
- import type { AnyConfigSchema } from '@xyo-network/module-model';
2
+ import { type AnyConfigSchema } from '@xyo-network/module-model';
3
3
  import type { Payload, Schema } from '@xyo-network/payload-model';
4
4
  import type { WitnessConfig, WitnessParams } from '@xyo-network/witness-model';
5
5
  import type { ExecutionResult } from 'graphql';
@@ -1 +1 @@
1
- {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,eAAO,MAAM,6BAA6B;;CAAmD,CAAA;AAC7F,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,MAAM,uBAAuB,GAAG,aAAa,CAAC;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,6BAA6B,CAAA;IACrC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAC,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;AAEzE,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;CAC/B;AAED,MAAM,WAAW,uBAAwB,SAAQ,aAAa,CAC5D,eAAe,CAAC,uBAAuB,CAAC,CAAC;IAEzC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,WAAW,CAAA;CACtB;AAED,eAAO,MAAM,kBAAkB;;CAA8C,CAAA;AAC7E,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAA;AAE1D,MAAM,MAAM,YAAY,GAAG,OAAO,CAChC;IACE,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC,EACD,kBAAkB,CACnB,CAAA;AAED,eAAO,MAAM,mBAAmB;;CAA+C,CAAA;AAC/E,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAA;AAE5D,MAAM,MAAM,aAAa,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,OAAO,CACzG;IACE,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,MAAM,CAAC,EAAE,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;CAC7C,EACD,mBAAmB,CACpB,CAAA;AAED,eAAO,MAAM,cAAc,2CAA0D,CAAA;AAErF,qBAAa,iBAAiB,CAAC,OAAO,SAAS,uBAAuB,GAAG,uBAAuB,CAAE,SAAQ,eAAe,CACvH,OAAO,EACP,YAAY,EACZ,aAAa,CACd;IACC,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA0D;IAC1G,gBAAyB,mBAAmB,EAAE,MAAM,CAAgC;IAEpF,IAAI,QAAQ,WAEX;IAED,IAAI,OAAO,4BAEV;IAED,IAAI,OAAO,uBAEV;cAEwB,cAAc,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CAiB7F"}
1
+ {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,2BAA2B,CAAA;AACjF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,eAAO,MAAM,6BAA6B;;CAAmD,CAAA;AAC7F,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,MAAM,uBAAuB,GAAG,aAAa,CAAC;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,6BAA6B,CAAA;IACrC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAC,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;AAEzE,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;CAC/B;AAED,MAAM,WAAW,uBAAwB,SAAQ,aAAa,CAC5D,eAAe,CAAC,uBAAuB,CAAC,CAAC;IAEzC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,WAAW,CAAA;CACtB;AAED,eAAO,MAAM,kBAAkB;;CAA8C,CAAA;AAC7E,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAA;AAE1D,MAAM,MAAM,YAAY,GAAG,OAAO,CAChC;IACE,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC,EACD,kBAAkB,CACnB,CAAA;AAED,eAAO,MAAM,mBAAmB;;CAA+C,CAAA;AAC/E,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAA;AAE5D,MAAM,MAAM,aAAa,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,OAAO,CACzG;IACE,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,MAAM,CAAC,EAAE,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;CAC7C,EACD,mBAAmB,CACpB,CAAA;AAED,eAAO,MAAM,cAAc,2CAA0D,CAAA;AAGrF,qBAAa,iBAAiB,CAAC,OAAO,SAAS,uBAAuB,GAAG,uBAAuB,CAAE,SAAQ,eAAe,CACvH,OAAO,EACP,YAAY,EACZ,aAAa,CACd;IACC,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA0D;IAC1G,gBAAyB,mBAAmB,EAAE,MAAM,CAAgC;IAEpF,IAAI,QAAQ,WAEX;IAED,IAAI,OAAO,4BAEV;IAED,IAAI,OAAO,uBAEV;cAEwB,cAAc,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CAiB7F"}
@@ -3,15 +3,16 @@ import { PayloadSetSchema } from "@xyo-network/payload-model";
3
3
  import { createPayloadSetWitnessPlugin } from "@xyo-network/payloadset-plugin";
4
4
 
5
5
  // src/Witness.ts
6
- import { assertEx } from "@xylabs/assert";
7
- import { axiosJsonConfig } from "@xylabs/axios";
6
+ import { assertEx, axiosJsonConfig } from "@xylabs/sdk-js";
8
7
  import { AbstractWitness } from "@xyo-network/abstract-witness";
8
+ import { creatableModule } from "@xyo-network/module-model";
9
9
  import { asSchema, isPayloadOfSchemaType } from "@xyo-network/payload-model";
10
10
  import { Axios } from "axios";
11
11
  var ApiGraphqlWitnessConfigSchema = asSchema("network.xyo.api.witness.config", true);
12
12
  var GraphqlQuerySchema = asSchema("network.xyo.graphql.query", true);
13
13
  var GraphqlResultSchema = asSchema("network.xyo.graphql.result", true);
14
14
  var isGraphqlQuery = isPayloadOfSchemaType(GraphqlQuerySchema);
15
+ creatableModule();
15
16
  var ApiGraphqlWitness = class extends AbstractWitness {
16
17
  static configSchemas = [...super.configSchemas, ApiGraphqlWitnessConfigSchema];
17
18
  static defaultConfigSchema = ApiGraphqlWitnessConfigSchema;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Plugin.ts","../../src/Witness.ts"],"sourcesContent":["import { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { ApiGraphqlWitness, GraphqlQuerySchema } from './Witness.ts'\n\nexport const ApiGraphqlWitnessPlugin = () =>\n createPayloadSetWitnessPlugin<ApiGraphqlWitness>(\n { required: { [GraphqlQuerySchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n return await ApiGraphqlWitness.create(params)\n },\n },\n )\n","import { assertEx } from '@xylabs/assert'\nimport { axiosJsonConfig } from '@xylabs/axios'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport type { AnyConfigSchema } from '@xyo-network/module-model'\nimport type { Payload, Schema } from '@xyo-network/payload-model'\nimport { asSchema, isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport type { WitnessConfig, WitnessParams } from '@xyo-network/witness-model'\nimport { Axios } from 'axios'\nimport type { ExecutionResult } from 'graphql'\n\nexport const ApiGraphqlWitnessConfigSchema = asSchema('network.xyo.api.witness.config', true)\nexport type ApiGraphqlWitnessConfigSchema = typeof ApiGraphqlWitnessConfigSchema\n\nexport type ApiGraphqlWitnessConfig = WitnessConfig<{\n endpoint?: string\n schema: ApiGraphqlWitnessConfigSchema\n timeout?: number\n}>\n\nexport type HttpHeaderValue = string | string[] | number | boolean | null\n\nexport interface HttpHeaders {\n [key: string]: HttpHeaderValue\n}\n\nexport interface ApiGraphqlWitnessParams extends WitnessParams<\n AnyConfigSchema<ApiGraphqlWitnessConfig>>\n{\n endpoint?: string\n headers?: HttpHeaders\n}\n\nexport const GraphqlQuerySchema = asSchema('network.xyo.graphql.query', true)\nexport type GraphqlQuerySchema = typeof GraphqlQuerySchema\n\nexport type GraphqlQuery = Payload<\n {\n query: string\n variables: Record<string, unknown>\n },\n GraphqlQuerySchema\n>\n\nexport const GraphqlResultSchema = asSchema('network.xyo.graphql.result', true)\nexport type GraphqlResultSchema = typeof GraphqlResultSchema\n\nexport type GraphqlResult<TData = Record<string, unknown>, TExtensions = Record<string, unknown>> = Payload<\n {\n http?: {\n code?: string\n ipAddress?: string\n status?: number\n }\n result?: ExecutionResult<TData, TExtensions>\n },\n GraphqlResultSchema\n>\n\nexport const isGraphqlQuery = isPayloadOfSchemaType<GraphqlQuery>(GraphqlQuerySchema)\n\nexport class ApiGraphqlWitness<TParams extends ApiGraphqlWitnessParams = ApiGraphqlWitnessParams> extends AbstractWitness<\n TParams,\n GraphqlQuery,\n GraphqlResult\n> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, ApiGraphqlWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = ApiGraphqlWitnessConfigSchema\n\n get endpoint() {\n return assertEx(this.config.endpoint ?? this.params.endpoint, () => 'No endpoint specified')\n }\n\n get headers() {\n return this.params.headers\n }\n\n get timeout() {\n return this.config.timeout\n }\n\n protected override async observeHandler(payloads?: GraphqlQuery[]): Promise<GraphqlResult[]> {\n await this.started('throw')\n const queries = payloads?.filter(isGraphqlQuery) ?? []\n const axios = new Axios(axiosJsonConfig({ headers: this.headers, timeout: this.timeout }))\n const observations = await Promise.all(\n queries.map(async ({ query, variables }) => {\n const httpResult = await axios.post(this.endpoint, { query, variables })\n const result: GraphqlResult = {\n http: { status: httpResult.status },\n result: httpResult.data,\n schema: GraphqlResultSchema,\n }\n return result\n }),\n )\n return observations.flat()\n }\n}\n"],"mappings":";AAAA,SAAS,wBAAwB;AACjC,SAAS,qCAAqC;;;ACD9C,SAAS,gBAAgB;AACzB,SAAS,uBAAuB;AAChC,SAAS,uBAAuB;AAGhC,SAAS,UAAU,6BAA6B;AAEhD,SAAS,aAAa;AAGf,IAAM,gCAAgC,SAAS,kCAAkC,IAAI;AAsBrF,IAAM,qBAAqB,SAAS,6BAA6B,IAAI;AAWrE,IAAM,sBAAsB,SAAS,8BAA8B,IAAI;AAevE,IAAM,iBAAiB,sBAAoC,kBAAkB;AAE7E,IAAM,oBAAN,cAAmG,gBAIxG;AAAA,EACA,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,6BAA6B;AAAA,EACzG,OAAyB,sBAA8B;AAAA,EAEvD,IAAI,WAAW;AACb,WAAO,SAAS,KAAK,OAAO,YAAY,KAAK,OAAO,UAAU,MAAM,uBAAuB;AAAA,EAC7F;AAAA,EAEA,IAAI,UAAU;AACZ,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,IAAI,UAAU;AACZ,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,MAAyB,eAAe,UAAqD;AAC3F,UAAM,KAAK,QAAQ,OAAO;AAC1B,UAAM,UAAU,UAAU,OAAO,cAAc,KAAK,CAAC;AACrD,UAAM,QAAQ,IAAI,MAAM,gBAAgB,EAAE,SAAS,KAAK,SAAS,SAAS,KAAK,QAAQ,CAAC,CAAC;AACzF,UAAM,eAAe,MAAM,QAAQ;AAAA,MACjC,QAAQ,IAAI,OAAO,EAAE,OAAO,UAAU,MAAM;AAC1C,cAAM,aAAa,MAAM,MAAM,KAAK,KAAK,UAAU,EAAE,OAAO,UAAU,CAAC;AACvE,cAAM,SAAwB;AAAA,UAC5B,MAAM,EAAE,QAAQ,WAAW,OAAO;AAAA,UAClC,QAAQ,WAAW;AAAA,UACnB,QAAQ;AAAA,QACV;AACA,eAAO;AAAA,MACT,CAAC;AAAA,IACH;AACA,WAAO,aAAa,KAAK;AAAA,EAC3B;AACF;;;AD5FO,IAAM,0BAA0B,MACrC;AAAA,EACE,EAAE,UAAU,EAAE,CAAC,kBAAkB,GAAG,EAAE,GAAG,QAAQ,iBAAiB;AAAA,EAClE;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,aAAO,MAAM,kBAAkB,OAAO,MAAM;AAAA,IAC9C;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/Plugin.ts","../../src/Witness.ts"],"sourcesContent":["import { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { ApiGraphqlWitness, GraphqlQuerySchema } from './Witness.ts'\n\nexport const ApiGraphqlWitnessPlugin = () =>\n createPayloadSetWitnessPlugin<ApiGraphqlWitness>(\n { required: { [GraphqlQuerySchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n return await ApiGraphqlWitness.create(params)\n },\n },\n )\n","import { assertEx, axiosJsonConfig } from '@xylabs/sdk-js'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { type AnyConfigSchema, creatableModule } from '@xyo-network/module-model'\nimport type { Payload, Schema } from '@xyo-network/payload-model'\nimport { asSchema, isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport type { WitnessConfig, WitnessParams } from '@xyo-network/witness-model'\nimport { Axios } from 'axios'\nimport type { ExecutionResult } from 'graphql'\n\nexport const ApiGraphqlWitnessConfigSchema = asSchema('network.xyo.api.witness.config', true)\nexport type ApiGraphqlWitnessConfigSchema = typeof ApiGraphqlWitnessConfigSchema\n\nexport type ApiGraphqlWitnessConfig = WitnessConfig<{\n endpoint?: string\n schema: ApiGraphqlWitnessConfigSchema\n timeout?: number\n}>\n\nexport type HttpHeaderValue = string | string[] | number | boolean | null\n\nexport interface HttpHeaders {\n [key: string]: HttpHeaderValue\n}\n\nexport interface ApiGraphqlWitnessParams extends WitnessParams<\n AnyConfigSchema<ApiGraphqlWitnessConfig>>\n{\n endpoint?: string\n headers?: HttpHeaders\n}\n\nexport const GraphqlQuerySchema = asSchema('network.xyo.graphql.query', true)\nexport type GraphqlQuerySchema = typeof GraphqlQuerySchema\n\nexport type GraphqlQuery = Payload<\n {\n query: string\n variables: Record<string, unknown>\n },\n GraphqlQuerySchema\n>\n\nexport const GraphqlResultSchema = asSchema('network.xyo.graphql.result', true)\nexport type GraphqlResultSchema = typeof GraphqlResultSchema\n\nexport type GraphqlResult<TData = Record<string, unknown>, TExtensions = Record<string, unknown>> = Payload<\n {\n http?: {\n code?: string\n ipAddress?: string\n status?: number\n }\n result?: ExecutionResult<TData, TExtensions>\n },\n GraphqlResultSchema\n>\n\nexport const isGraphqlQuery = isPayloadOfSchemaType<GraphqlQuery>(GraphqlQuerySchema)\n\ncreatableModule()\nexport class ApiGraphqlWitness<TParams extends ApiGraphqlWitnessParams = ApiGraphqlWitnessParams> extends AbstractWitness<\n TParams,\n GraphqlQuery,\n GraphqlResult\n> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, ApiGraphqlWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = ApiGraphqlWitnessConfigSchema\n\n get endpoint() {\n return assertEx(this.config.endpoint ?? this.params.endpoint, () => 'No endpoint specified')\n }\n\n get headers() {\n return this.params.headers\n }\n\n get timeout() {\n return this.config.timeout\n }\n\n protected override async observeHandler(payloads?: GraphqlQuery[]): Promise<GraphqlResult[]> {\n await this.started('throw')\n const queries = payloads?.filter(isGraphqlQuery) ?? []\n const axios = new Axios(axiosJsonConfig({ headers: this.headers, timeout: this.timeout }))\n const observations = await Promise.all(\n queries.map(async ({ query, variables }) => {\n const httpResult = await axios.post(this.endpoint, { query, variables })\n const result: GraphqlResult = {\n http: { status: httpResult.status },\n result: httpResult.data,\n schema: GraphqlResultSchema,\n }\n return result\n }),\n )\n return observations.flat()\n }\n}\n"],"mappings":";AAAA,SAAS,wBAAwB;AACjC,SAAS,qCAAqC;;;ACD9C,SAAS,UAAU,uBAAuB;AAC1C,SAAS,uBAAuB;AAChC,SAA+B,uBAAuB;AAEtD,SAAS,UAAU,6BAA6B;AAEhD,SAAS,aAAa;AAGf,IAAM,gCAAgC,SAAS,kCAAkC,IAAI;AAsBrF,IAAM,qBAAqB,SAAS,6BAA6B,IAAI;AAWrE,IAAM,sBAAsB,SAAS,8BAA8B,IAAI;AAevE,IAAM,iBAAiB,sBAAoC,kBAAkB;AAEpF,gBAAgB;AACT,IAAM,oBAAN,cAAmG,gBAIxG;AAAA,EACA,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,6BAA6B;AAAA,EACzG,OAAyB,sBAA8B;AAAA,EAEvD,IAAI,WAAW;AACb,WAAO,SAAS,KAAK,OAAO,YAAY,KAAK,OAAO,UAAU,MAAM,uBAAuB;AAAA,EAC7F;AAAA,EAEA,IAAI,UAAU;AACZ,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,IAAI,UAAU;AACZ,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,MAAyB,eAAe,UAAqD;AAC3F,UAAM,KAAK,QAAQ,OAAO;AAC1B,UAAM,UAAU,UAAU,OAAO,cAAc,KAAK,CAAC;AACrD,UAAM,QAAQ,IAAI,MAAM,gBAAgB,EAAE,SAAS,KAAK,SAAS,SAAS,KAAK,QAAQ,CAAC,CAAC;AACzF,UAAM,eAAe,MAAM,QAAQ;AAAA,MACjC,QAAQ,IAAI,OAAO,EAAE,OAAO,UAAU,MAAM;AAC1C,cAAM,aAAa,MAAM,MAAM,KAAK,KAAK,UAAU,EAAE,OAAO,UAAU,CAAC;AACvE,cAAM,SAAwB;AAAA,UAC5B,MAAM,EAAE,QAAQ,WAAW,OAAO;AAAA,UAClC,QAAQ,WAAW;AAAA,UACnB,QAAQ;AAAA,QACV;AACA,eAAO;AAAA,MACT,CAAC;AAAA,IACH;AACA,WAAO,aAAa,KAAK;AAAA,EAC3B;AACF;;;AD5FO,IAAM,0BAA0B,MACrC;AAAA,EACE,EAAE,UAAU,EAAE,CAAC,kBAAkB,GAAG,EAAE,GAAG,QAAQ,iBAAiB;AAAA,EAClE;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,aAAO,MAAM,kBAAkB,OAAO,MAAM;AAAA,IAC9C;AAAA,EACF;AACF;","names":[]}
@@ -1,5 +1,5 @@
1
1
  import { AbstractWitness } from '@xyo-network/abstract-witness';
2
- import type { AnyConfigSchema } from '@xyo-network/module-model';
2
+ import { type AnyConfigSchema } from '@xyo-network/module-model';
3
3
  import type { Payload, Schema } from '@xyo-network/payload-model';
4
4
  import type { WitnessConfig, WitnessParams } from '@xyo-network/witness-model';
5
5
  import type { ExecutionResult } from 'graphql';
@@ -1 +1 @@
1
- {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,eAAO,MAAM,6BAA6B;;CAAmD,CAAA;AAC7F,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,MAAM,uBAAuB,GAAG,aAAa,CAAC;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,6BAA6B,CAAA;IACrC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAC,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;AAEzE,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;CAC/B;AAED,MAAM,WAAW,uBAAwB,SAAQ,aAAa,CAC5D,eAAe,CAAC,uBAAuB,CAAC,CAAC;IAEzC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,WAAW,CAAA;CACtB;AAED,eAAO,MAAM,kBAAkB;;CAA8C,CAAA;AAC7E,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAA;AAE1D,MAAM,MAAM,YAAY,GAAG,OAAO,CAChC;IACE,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC,EACD,kBAAkB,CACnB,CAAA;AAED,eAAO,MAAM,mBAAmB;;CAA+C,CAAA;AAC/E,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAA;AAE5D,MAAM,MAAM,aAAa,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,OAAO,CACzG;IACE,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,MAAM,CAAC,EAAE,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;CAC7C,EACD,mBAAmB,CACpB,CAAA;AAED,eAAO,MAAM,cAAc,2CAA0D,CAAA;AAErF,qBAAa,iBAAiB,CAAC,OAAO,SAAS,uBAAuB,GAAG,uBAAuB,CAAE,SAAQ,eAAe,CACvH,OAAO,EACP,YAAY,EACZ,aAAa,CACd;IACC,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA0D;IAC1G,gBAAyB,mBAAmB,EAAE,MAAM,CAAgC;IAEpF,IAAI,QAAQ,WAEX;IAED,IAAI,OAAO,4BAEV;IAED,IAAI,OAAO,uBAEV;cAEwB,cAAc,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CAiB7F"}
1
+ {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,2BAA2B,CAAA;AACjF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,eAAO,MAAM,6BAA6B;;CAAmD,CAAA;AAC7F,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,MAAM,uBAAuB,GAAG,aAAa,CAAC;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,6BAA6B,CAAA;IACrC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAC,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;AAEzE,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;CAC/B;AAED,MAAM,WAAW,uBAAwB,SAAQ,aAAa,CAC5D,eAAe,CAAC,uBAAuB,CAAC,CAAC;IAEzC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,WAAW,CAAA;CACtB;AAED,eAAO,MAAM,kBAAkB;;CAA8C,CAAA;AAC7E,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAA;AAE1D,MAAM,MAAM,YAAY,GAAG,OAAO,CAChC;IACE,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC,EACD,kBAAkB,CACnB,CAAA;AAED,eAAO,MAAM,mBAAmB;;CAA+C,CAAA;AAC/E,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAA;AAE5D,MAAM,MAAM,aAAa,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,OAAO,CACzG;IACE,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,MAAM,CAAC,EAAE,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;CAC7C,EACD,mBAAmB,CACpB,CAAA;AAED,eAAO,MAAM,cAAc,2CAA0D,CAAA;AAGrF,qBAAa,iBAAiB,CAAC,OAAO,SAAS,uBAAuB,GAAG,uBAAuB,CAAE,SAAQ,eAAe,CACvH,OAAO,EACP,YAAY,EACZ,aAAa,CACd;IACC,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA0D;IAC1G,gBAAyB,mBAAmB,EAAE,MAAM,CAAgC;IAEpF,IAAI,QAAQ,WAEX;IAED,IAAI,OAAO,4BAEV;IAED,IAAI,OAAO,uBAEV;cAEwB,cAAc,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CAiB7F"}
@@ -3,15 +3,16 @@ import { PayloadSetSchema } from "@xyo-network/payload-model";
3
3
  import { createPayloadSetWitnessPlugin } from "@xyo-network/payloadset-plugin";
4
4
 
5
5
  // src/Witness.ts
6
- import { assertEx } from "@xylabs/assert";
7
- import { axiosJsonConfig } from "@xylabs/axios";
6
+ import { assertEx, axiosJsonConfig } from "@xylabs/sdk-js";
8
7
  import { AbstractWitness } from "@xyo-network/abstract-witness";
8
+ import { creatableModule } from "@xyo-network/module-model";
9
9
  import { asSchema, isPayloadOfSchemaType } from "@xyo-network/payload-model";
10
10
  import { Axios } from "axios";
11
11
  var ApiGraphqlWitnessConfigSchema = asSchema("network.xyo.api.witness.config", true);
12
12
  var GraphqlQuerySchema = asSchema("network.xyo.graphql.query", true);
13
13
  var GraphqlResultSchema = asSchema("network.xyo.graphql.result", true);
14
14
  var isGraphqlQuery = isPayloadOfSchemaType(GraphqlQuerySchema);
15
+ creatableModule();
15
16
  var ApiGraphqlWitness = class extends AbstractWitness {
16
17
  static configSchemas = [...super.configSchemas, ApiGraphqlWitnessConfigSchema];
17
18
  static defaultConfigSchema = ApiGraphqlWitnessConfigSchema;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Plugin.ts","../../src/Witness.ts"],"sourcesContent":["import { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { ApiGraphqlWitness, GraphqlQuerySchema } from './Witness.ts'\n\nexport const ApiGraphqlWitnessPlugin = () =>\n createPayloadSetWitnessPlugin<ApiGraphqlWitness>(\n { required: { [GraphqlQuerySchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n return await ApiGraphqlWitness.create(params)\n },\n },\n )\n","import { assertEx } from '@xylabs/assert'\nimport { axiosJsonConfig } from '@xylabs/axios'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport type { AnyConfigSchema } from '@xyo-network/module-model'\nimport type { Payload, Schema } from '@xyo-network/payload-model'\nimport { asSchema, isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport type { WitnessConfig, WitnessParams } from '@xyo-network/witness-model'\nimport { Axios } from 'axios'\nimport type { ExecutionResult } from 'graphql'\n\nexport const ApiGraphqlWitnessConfigSchema = asSchema('network.xyo.api.witness.config', true)\nexport type ApiGraphqlWitnessConfigSchema = typeof ApiGraphqlWitnessConfigSchema\n\nexport type ApiGraphqlWitnessConfig = WitnessConfig<{\n endpoint?: string\n schema: ApiGraphqlWitnessConfigSchema\n timeout?: number\n}>\n\nexport type HttpHeaderValue = string | string[] | number | boolean | null\n\nexport interface HttpHeaders {\n [key: string]: HttpHeaderValue\n}\n\nexport interface ApiGraphqlWitnessParams extends WitnessParams<\n AnyConfigSchema<ApiGraphqlWitnessConfig>>\n{\n endpoint?: string\n headers?: HttpHeaders\n}\n\nexport const GraphqlQuerySchema = asSchema('network.xyo.graphql.query', true)\nexport type GraphqlQuerySchema = typeof GraphqlQuerySchema\n\nexport type GraphqlQuery = Payload<\n {\n query: string\n variables: Record<string, unknown>\n },\n GraphqlQuerySchema\n>\n\nexport const GraphqlResultSchema = asSchema('network.xyo.graphql.result', true)\nexport type GraphqlResultSchema = typeof GraphqlResultSchema\n\nexport type GraphqlResult<TData = Record<string, unknown>, TExtensions = Record<string, unknown>> = Payload<\n {\n http?: {\n code?: string\n ipAddress?: string\n status?: number\n }\n result?: ExecutionResult<TData, TExtensions>\n },\n GraphqlResultSchema\n>\n\nexport const isGraphqlQuery = isPayloadOfSchemaType<GraphqlQuery>(GraphqlQuerySchema)\n\nexport class ApiGraphqlWitness<TParams extends ApiGraphqlWitnessParams = ApiGraphqlWitnessParams> extends AbstractWitness<\n TParams,\n GraphqlQuery,\n GraphqlResult\n> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, ApiGraphqlWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = ApiGraphqlWitnessConfigSchema\n\n get endpoint() {\n return assertEx(this.config.endpoint ?? this.params.endpoint, () => 'No endpoint specified')\n }\n\n get headers() {\n return this.params.headers\n }\n\n get timeout() {\n return this.config.timeout\n }\n\n protected override async observeHandler(payloads?: GraphqlQuery[]): Promise<GraphqlResult[]> {\n await this.started('throw')\n const queries = payloads?.filter(isGraphqlQuery) ?? []\n const axios = new Axios(axiosJsonConfig({ headers: this.headers, timeout: this.timeout }))\n const observations = await Promise.all(\n queries.map(async ({ query, variables }) => {\n const httpResult = await axios.post(this.endpoint, { query, variables })\n const result: GraphqlResult = {\n http: { status: httpResult.status },\n result: httpResult.data,\n schema: GraphqlResultSchema,\n }\n return result\n }),\n )\n return observations.flat()\n }\n}\n"],"mappings":";AAAA,SAAS,wBAAwB;AACjC,SAAS,qCAAqC;;;ACD9C,SAAS,gBAAgB;AACzB,SAAS,uBAAuB;AAChC,SAAS,uBAAuB;AAGhC,SAAS,UAAU,6BAA6B;AAEhD,SAAS,aAAa;AAGf,IAAM,gCAAgC,SAAS,kCAAkC,IAAI;AAsBrF,IAAM,qBAAqB,SAAS,6BAA6B,IAAI;AAWrE,IAAM,sBAAsB,SAAS,8BAA8B,IAAI;AAevE,IAAM,iBAAiB,sBAAoC,kBAAkB;AAE7E,IAAM,oBAAN,cAAmG,gBAIxG;AAAA,EACA,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,6BAA6B;AAAA,EACzG,OAAyB,sBAA8B;AAAA,EAEvD,IAAI,WAAW;AACb,WAAO,SAAS,KAAK,OAAO,YAAY,KAAK,OAAO,UAAU,MAAM,uBAAuB;AAAA,EAC7F;AAAA,EAEA,IAAI,UAAU;AACZ,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,IAAI,UAAU;AACZ,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,MAAyB,eAAe,UAAqD;AAC3F,UAAM,KAAK,QAAQ,OAAO;AAC1B,UAAM,UAAU,UAAU,OAAO,cAAc,KAAK,CAAC;AACrD,UAAM,QAAQ,IAAI,MAAM,gBAAgB,EAAE,SAAS,KAAK,SAAS,SAAS,KAAK,QAAQ,CAAC,CAAC;AACzF,UAAM,eAAe,MAAM,QAAQ;AAAA,MACjC,QAAQ,IAAI,OAAO,EAAE,OAAO,UAAU,MAAM;AAC1C,cAAM,aAAa,MAAM,MAAM,KAAK,KAAK,UAAU,EAAE,OAAO,UAAU,CAAC;AACvE,cAAM,SAAwB;AAAA,UAC5B,MAAM,EAAE,QAAQ,WAAW,OAAO;AAAA,UAClC,QAAQ,WAAW;AAAA,UACnB,QAAQ;AAAA,QACV;AACA,eAAO;AAAA,MACT,CAAC;AAAA,IACH;AACA,WAAO,aAAa,KAAK;AAAA,EAC3B;AACF;;;AD5FO,IAAM,0BAA0B,MACrC;AAAA,EACE,EAAE,UAAU,EAAE,CAAC,kBAAkB,GAAG,EAAE,GAAG,QAAQ,iBAAiB;AAAA,EAClE;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,aAAO,MAAM,kBAAkB,OAAO,MAAM;AAAA,IAC9C;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/Plugin.ts","../../src/Witness.ts"],"sourcesContent":["import { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { ApiGraphqlWitness, GraphqlQuerySchema } from './Witness.ts'\n\nexport const ApiGraphqlWitnessPlugin = () =>\n createPayloadSetWitnessPlugin<ApiGraphqlWitness>(\n { required: { [GraphqlQuerySchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n return await ApiGraphqlWitness.create(params)\n },\n },\n )\n","import { assertEx, axiosJsonConfig } from '@xylabs/sdk-js'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { type AnyConfigSchema, creatableModule } from '@xyo-network/module-model'\nimport type { Payload, Schema } from '@xyo-network/payload-model'\nimport { asSchema, isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport type { WitnessConfig, WitnessParams } from '@xyo-network/witness-model'\nimport { Axios } from 'axios'\nimport type { ExecutionResult } from 'graphql'\n\nexport const ApiGraphqlWitnessConfigSchema = asSchema('network.xyo.api.witness.config', true)\nexport type ApiGraphqlWitnessConfigSchema = typeof ApiGraphqlWitnessConfigSchema\n\nexport type ApiGraphqlWitnessConfig = WitnessConfig<{\n endpoint?: string\n schema: ApiGraphqlWitnessConfigSchema\n timeout?: number\n}>\n\nexport type HttpHeaderValue = string | string[] | number | boolean | null\n\nexport interface HttpHeaders {\n [key: string]: HttpHeaderValue\n}\n\nexport interface ApiGraphqlWitnessParams extends WitnessParams<\n AnyConfigSchema<ApiGraphqlWitnessConfig>>\n{\n endpoint?: string\n headers?: HttpHeaders\n}\n\nexport const GraphqlQuerySchema = asSchema('network.xyo.graphql.query', true)\nexport type GraphqlQuerySchema = typeof GraphqlQuerySchema\n\nexport type GraphqlQuery = Payload<\n {\n query: string\n variables: Record<string, unknown>\n },\n GraphqlQuerySchema\n>\n\nexport const GraphqlResultSchema = asSchema('network.xyo.graphql.result', true)\nexport type GraphqlResultSchema = typeof GraphqlResultSchema\n\nexport type GraphqlResult<TData = Record<string, unknown>, TExtensions = Record<string, unknown>> = Payload<\n {\n http?: {\n code?: string\n ipAddress?: string\n status?: number\n }\n result?: ExecutionResult<TData, TExtensions>\n },\n GraphqlResultSchema\n>\n\nexport const isGraphqlQuery = isPayloadOfSchemaType<GraphqlQuery>(GraphqlQuerySchema)\n\ncreatableModule()\nexport class ApiGraphqlWitness<TParams extends ApiGraphqlWitnessParams = ApiGraphqlWitnessParams> extends AbstractWitness<\n TParams,\n GraphqlQuery,\n GraphqlResult\n> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, ApiGraphqlWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = ApiGraphqlWitnessConfigSchema\n\n get endpoint() {\n return assertEx(this.config.endpoint ?? this.params.endpoint, () => 'No endpoint specified')\n }\n\n get headers() {\n return this.params.headers\n }\n\n get timeout() {\n return this.config.timeout\n }\n\n protected override async observeHandler(payloads?: GraphqlQuery[]): Promise<GraphqlResult[]> {\n await this.started('throw')\n const queries = payloads?.filter(isGraphqlQuery) ?? []\n const axios = new Axios(axiosJsonConfig({ headers: this.headers, timeout: this.timeout }))\n const observations = await Promise.all(\n queries.map(async ({ query, variables }) => {\n const httpResult = await axios.post(this.endpoint, { query, variables })\n const result: GraphqlResult = {\n http: { status: httpResult.status },\n result: httpResult.data,\n schema: GraphqlResultSchema,\n }\n return result\n }),\n )\n return observations.flat()\n }\n}\n"],"mappings":";AAAA,SAAS,wBAAwB;AACjC,SAAS,qCAAqC;;;ACD9C,SAAS,UAAU,uBAAuB;AAC1C,SAAS,uBAAuB;AAChC,SAA+B,uBAAuB;AAEtD,SAAS,UAAU,6BAA6B;AAEhD,SAAS,aAAa;AAGf,IAAM,gCAAgC,SAAS,kCAAkC,IAAI;AAsBrF,IAAM,qBAAqB,SAAS,6BAA6B,IAAI;AAWrE,IAAM,sBAAsB,SAAS,8BAA8B,IAAI;AAevE,IAAM,iBAAiB,sBAAoC,kBAAkB;AAEpF,gBAAgB;AACT,IAAM,oBAAN,cAAmG,gBAIxG;AAAA,EACA,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,6BAA6B;AAAA,EACzG,OAAyB,sBAA8B;AAAA,EAEvD,IAAI,WAAW;AACb,WAAO,SAAS,KAAK,OAAO,YAAY,KAAK,OAAO,UAAU,MAAM,uBAAuB;AAAA,EAC7F;AAAA,EAEA,IAAI,UAAU;AACZ,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,IAAI,UAAU;AACZ,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,MAAyB,eAAe,UAAqD;AAC3F,UAAM,KAAK,QAAQ,OAAO;AAC1B,UAAM,UAAU,UAAU,OAAO,cAAc,KAAK,CAAC;AACrD,UAAM,QAAQ,IAAI,MAAM,gBAAgB,EAAE,SAAS,KAAK,SAAS,SAAS,KAAK,QAAQ,CAAC,CAAC;AACzF,UAAM,eAAe,MAAM,QAAQ;AAAA,MACjC,QAAQ,IAAI,OAAO,EAAE,OAAO,UAAU,MAAM;AAC1C,cAAM,aAAa,MAAM,MAAM,KAAK,KAAK,UAAU,EAAE,OAAO,UAAU,CAAC;AACvE,cAAM,SAAwB;AAAA,UAC5B,MAAM,EAAE,QAAQ,WAAW,OAAO;AAAA,UAClC,QAAQ,WAAW;AAAA,UACnB,QAAQ;AAAA,QACV;AACA,eAAO;AAAA,MACT,CAAC;AAAA,IACH;AACA,WAAO,aAAa,KAAK;AAAA,EAC3B;AACF;;;AD5FO,IAAM,0BAA0B,MACrC;AAAA,EACE,EAAE,UAAU,EAAE,CAAC,kBAAkB,GAAG,EAAE,GAAG,QAAQ,iBAAiB;AAAA,EAClE;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,aAAO,MAAM,kBAAkB,OAAO,MAAM;AAAA,IAC9C;AAAA,EACF;AACF;","names":[]}
@@ -1,5 +1,5 @@
1
1
  import { AbstractWitness } from '@xyo-network/abstract-witness';
2
- import type { AnyConfigSchema } from '@xyo-network/module-model';
2
+ import { type AnyConfigSchema } from '@xyo-network/module-model';
3
3
  import type { Payload, Schema } from '@xyo-network/payload-model';
4
4
  import type { WitnessConfig, WitnessParams } from '@xyo-network/witness-model';
5
5
  import type { ExecutionResult } from 'graphql';
@@ -1 +1 @@
1
- {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,eAAO,MAAM,6BAA6B;;CAAmD,CAAA;AAC7F,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,MAAM,uBAAuB,GAAG,aAAa,CAAC;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,6BAA6B,CAAA;IACrC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAC,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;AAEzE,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;CAC/B;AAED,MAAM,WAAW,uBAAwB,SAAQ,aAAa,CAC5D,eAAe,CAAC,uBAAuB,CAAC,CAAC;IAEzC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,WAAW,CAAA;CACtB;AAED,eAAO,MAAM,kBAAkB;;CAA8C,CAAA;AAC7E,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAA;AAE1D,MAAM,MAAM,YAAY,GAAG,OAAO,CAChC;IACE,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC,EACD,kBAAkB,CACnB,CAAA;AAED,eAAO,MAAM,mBAAmB;;CAA+C,CAAA;AAC/E,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAA;AAE5D,MAAM,MAAM,aAAa,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,OAAO,CACzG;IACE,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,MAAM,CAAC,EAAE,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;CAC7C,EACD,mBAAmB,CACpB,CAAA;AAED,eAAO,MAAM,cAAc,2CAA0D,CAAA;AAErF,qBAAa,iBAAiB,CAAC,OAAO,SAAS,uBAAuB,GAAG,uBAAuB,CAAE,SAAQ,eAAe,CACvH,OAAO,EACP,YAAY,EACZ,aAAa,CACd;IACC,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA0D;IAC1G,gBAAyB,mBAAmB,EAAE,MAAM,CAAgC;IAEpF,IAAI,QAAQ,WAEX;IAED,IAAI,OAAO,4BAEV;IAED,IAAI,OAAO,uBAEV;cAEwB,cAAc,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CAiB7F"}
1
+ {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,2BAA2B,CAAA;AACjF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,eAAO,MAAM,6BAA6B;;CAAmD,CAAA;AAC7F,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,MAAM,uBAAuB,GAAG,aAAa,CAAC;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,6BAA6B,CAAA;IACrC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAC,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;AAEzE,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;CAC/B;AAED,MAAM,WAAW,uBAAwB,SAAQ,aAAa,CAC5D,eAAe,CAAC,uBAAuB,CAAC,CAAC;IAEzC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,WAAW,CAAA;CACtB;AAED,eAAO,MAAM,kBAAkB;;CAA8C,CAAA;AAC7E,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAA;AAE1D,MAAM,MAAM,YAAY,GAAG,OAAO,CAChC;IACE,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC,EACD,kBAAkB,CACnB,CAAA;AAED,eAAO,MAAM,mBAAmB;;CAA+C,CAAA;AAC/E,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAA;AAE5D,MAAM,MAAM,aAAa,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,OAAO,CACzG;IACE,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,MAAM,CAAC,EAAE,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;CAC7C,EACD,mBAAmB,CACpB,CAAA;AAED,eAAO,MAAM,cAAc,2CAA0D,CAAA;AAGrF,qBAAa,iBAAiB,CAAC,OAAO,SAAS,uBAAuB,GAAG,uBAAuB,CAAE,SAAQ,eAAe,CACvH,OAAO,EACP,YAAY,EACZ,aAAa,CACd;IACC,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA0D;IAC1G,gBAAyB,mBAAmB,EAAE,MAAM,CAAgC;IAEpF,IAAI,QAAQ,WAEX;IAED,IAAI,OAAO,4BAEV;IAED,IAAI,OAAO,uBAEV;cAEwB,cAAc,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CAiB7F"}
@@ -3,15 +3,16 @@ import { PayloadSetSchema } from "@xyo-network/payload-model";
3
3
  import { createPayloadSetWitnessPlugin } from "@xyo-network/payloadset-plugin";
4
4
 
5
5
  // src/Witness.ts
6
- import { assertEx } from "@xylabs/assert";
7
- import { axiosJsonConfig } from "@xylabs/axios";
6
+ import { assertEx, axiosJsonConfig } from "@xylabs/sdk-js";
8
7
  import { AbstractWitness } from "@xyo-network/abstract-witness";
8
+ import { creatableModule } from "@xyo-network/module-model";
9
9
  import { asSchema, isPayloadOfSchemaType } from "@xyo-network/payload-model";
10
10
  import { Axios } from "axios";
11
11
  var ApiGraphqlWitnessConfigSchema = asSchema("network.xyo.api.witness.config", true);
12
12
  var GraphqlQuerySchema = asSchema("network.xyo.graphql.query", true);
13
13
  var GraphqlResultSchema = asSchema("network.xyo.graphql.result", true);
14
14
  var isGraphqlQuery = isPayloadOfSchemaType(GraphqlQuerySchema);
15
+ creatableModule();
15
16
  var ApiGraphqlWitness = class extends AbstractWitness {
16
17
  static configSchemas = [...super.configSchemas, ApiGraphqlWitnessConfigSchema];
17
18
  static defaultConfigSchema = ApiGraphqlWitnessConfigSchema;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Plugin.ts","../../src/Witness.ts"],"sourcesContent":["import { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { ApiGraphqlWitness, GraphqlQuerySchema } from './Witness.ts'\n\nexport const ApiGraphqlWitnessPlugin = () =>\n createPayloadSetWitnessPlugin<ApiGraphqlWitness>(\n { required: { [GraphqlQuerySchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n return await ApiGraphqlWitness.create(params)\n },\n },\n )\n","import { assertEx } from '@xylabs/assert'\nimport { axiosJsonConfig } from '@xylabs/axios'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport type { AnyConfigSchema } from '@xyo-network/module-model'\nimport type { Payload, Schema } from '@xyo-network/payload-model'\nimport { asSchema, isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport type { WitnessConfig, WitnessParams } from '@xyo-network/witness-model'\nimport { Axios } from 'axios'\nimport type { ExecutionResult } from 'graphql'\n\nexport const ApiGraphqlWitnessConfigSchema = asSchema('network.xyo.api.witness.config', true)\nexport type ApiGraphqlWitnessConfigSchema = typeof ApiGraphqlWitnessConfigSchema\n\nexport type ApiGraphqlWitnessConfig = WitnessConfig<{\n endpoint?: string\n schema: ApiGraphqlWitnessConfigSchema\n timeout?: number\n}>\n\nexport type HttpHeaderValue = string | string[] | number | boolean | null\n\nexport interface HttpHeaders {\n [key: string]: HttpHeaderValue\n}\n\nexport interface ApiGraphqlWitnessParams extends WitnessParams<\n AnyConfigSchema<ApiGraphqlWitnessConfig>>\n{\n endpoint?: string\n headers?: HttpHeaders\n}\n\nexport const GraphqlQuerySchema = asSchema('network.xyo.graphql.query', true)\nexport type GraphqlQuerySchema = typeof GraphqlQuerySchema\n\nexport type GraphqlQuery = Payload<\n {\n query: string\n variables: Record<string, unknown>\n },\n GraphqlQuerySchema\n>\n\nexport const GraphqlResultSchema = asSchema('network.xyo.graphql.result', true)\nexport type GraphqlResultSchema = typeof GraphqlResultSchema\n\nexport type GraphqlResult<TData = Record<string, unknown>, TExtensions = Record<string, unknown>> = Payload<\n {\n http?: {\n code?: string\n ipAddress?: string\n status?: number\n }\n result?: ExecutionResult<TData, TExtensions>\n },\n GraphqlResultSchema\n>\n\nexport const isGraphqlQuery = isPayloadOfSchemaType<GraphqlQuery>(GraphqlQuerySchema)\n\nexport class ApiGraphqlWitness<TParams extends ApiGraphqlWitnessParams = ApiGraphqlWitnessParams> extends AbstractWitness<\n TParams,\n GraphqlQuery,\n GraphqlResult\n> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, ApiGraphqlWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = ApiGraphqlWitnessConfigSchema\n\n get endpoint() {\n return assertEx(this.config.endpoint ?? this.params.endpoint, () => 'No endpoint specified')\n }\n\n get headers() {\n return this.params.headers\n }\n\n get timeout() {\n return this.config.timeout\n }\n\n protected override async observeHandler(payloads?: GraphqlQuery[]): Promise<GraphqlResult[]> {\n await this.started('throw')\n const queries = payloads?.filter(isGraphqlQuery) ?? []\n const axios = new Axios(axiosJsonConfig({ headers: this.headers, timeout: this.timeout }))\n const observations = await Promise.all(\n queries.map(async ({ query, variables }) => {\n const httpResult = await axios.post(this.endpoint, { query, variables })\n const result: GraphqlResult = {\n http: { status: httpResult.status },\n result: httpResult.data,\n schema: GraphqlResultSchema,\n }\n return result\n }),\n )\n return observations.flat()\n }\n}\n"],"mappings":";AAAA,SAAS,wBAAwB;AACjC,SAAS,qCAAqC;;;ACD9C,SAAS,gBAAgB;AACzB,SAAS,uBAAuB;AAChC,SAAS,uBAAuB;AAGhC,SAAS,UAAU,6BAA6B;AAEhD,SAAS,aAAa;AAGf,IAAM,gCAAgC,SAAS,kCAAkC,IAAI;AAsBrF,IAAM,qBAAqB,SAAS,6BAA6B,IAAI;AAWrE,IAAM,sBAAsB,SAAS,8BAA8B,IAAI;AAevE,IAAM,iBAAiB,sBAAoC,kBAAkB;AAE7E,IAAM,oBAAN,cAAmG,gBAIxG;AAAA,EACA,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,6BAA6B;AAAA,EACzG,OAAyB,sBAA8B;AAAA,EAEvD,IAAI,WAAW;AACb,WAAO,SAAS,KAAK,OAAO,YAAY,KAAK,OAAO,UAAU,MAAM,uBAAuB;AAAA,EAC7F;AAAA,EAEA,IAAI,UAAU;AACZ,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,IAAI,UAAU;AACZ,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,MAAyB,eAAe,UAAqD;AAC3F,UAAM,KAAK,QAAQ,OAAO;AAC1B,UAAM,UAAU,UAAU,OAAO,cAAc,KAAK,CAAC;AACrD,UAAM,QAAQ,IAAI,MAAM,gBAAgB,EAAE,SAAS,KAAK,SAAS,SAAS,KAAK,QAAQ,CAAC,CAAC;AACzF,UAAM,eAAe,MAAM,QAAQ;AAAA,MACjC,QAAQ,IAAI,OAAO,EAAE,OAAO,UAAU,MAAM;AAC1C,cAAM,aAAa,MAAM,MAAM,KAAK,KAAK,UAAU,EAAE,OAAO,UAAU,CAAC;AACvE,cAAM,SAAwB;AAAA,UAC5B,MAAM,EAAE,QAAQ,WAAW,OAAO;AAAA,UAClC,QAAQ,WAAW;AAAA,UACnB,QAAQ;AAAA,QACV;AACA,eAAO;AAAA,MACT,CAAC;AAAA,IACH;AACA,WAAO,aAAa,KAAK;AAAA,EAC3B;AACF;;;AD5FO,IAAM,0BAA0B,MACrC;AAAA,EACE,EAAE,UAAU,EAAE,CAAC,kBAAkB,GAAG,EAAE,GAAG,QAAQ,iBAAiB;AAAA,EAClE;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,aAAO,MAAM,kBAAkB,OAAO,MAAM;AAAA,IAC9C;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/Plugin.ts","../../src/Witness.ts"],"sourcesContent":["import { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { ApiGraphqlWitness, GraphqlQuerySchema } from './Witness.ts'\n\nexport const ApiGraphqlWitnessPlugin = () =>\n createPayloadSetWitnessPlugin<ApiGraphqlWitness>(\n { required: { [GraphqlQuerySchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n return await ApiGraphqlWitness.create(params)\n },\n },\n )\n","import { assertEx, axiosJsonConfig } from '@xylabs/sdk-js'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { type AnyConfigSchema, creatableModule } from '@xyo-network/module-model'\nimport type { Payload, Schema } from '@xyo-network/payload-model'\nimport { asSchema, isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport type { WitnessConfig, WitnessParams } from '@xyo-network/witness-model'\nimport { Axios } from 'axios'\nimport type { ExecutionResult } from 'graphql'\n\nexport const ApiGraphqlWitnessConfigSchema = asSchema('network.xyo.api.witness.config', true)\nexport type ApiGraphqlWitnessConfigSchema = typeof ApiGraphqlWitnessConfigSchema\n\nexport type ApiGraphqlWitnessConfig = WitnessConfig<{\n endpoint?: string\n schema: ApiGraphqlWitnessConfigSchema\n timeout?: number\n}>\n\nexport type HttpHeaderValue = string | string[] | number | boolean | null\n\nexport interface HttpHeaders {\n [key: string]: HttpHeaderValue\n}\n\nexport interface ApiGraphqlWitnessParams extends WitnessParams<\n AnyConfigSchema<ApiGraphqlWitnessConfig>>\n{\n endpoint?: string\n headers?: HttpHeaders\n}\n\nexport const GraphqlQuerySchema = asSchema('network.xyo.graphql.query', true)\nexport type GraphqlQuerySchema = typeof GraphqlQuerySchema\n\nexport type GraphqlQuery = Payload<\n {\n query: string\n variables: Record<string, unknown>\n },\n GraphqlQuerySchema\n>\n\nexport const GraphqlResultSchema = asSchema('network.xyo.graphql.result', true)\nexport type GraphqlResultSchema = typeof GraphqlResultSchema\n\nexport type GraphqlResult<TData = Record<string, unknown>, TExtensions = Record<string, unknown>> = Payload<\n {\n http?: {\n code?: string\n ipAddress?: string\n status?: number\n }\n result?: ExecutionResult<TData, TExtensions>\n },\n GraphqlResultSchema\n>\n\nexport const isGraphqlQuery = isPayloadOfSchemaType<GraphqlQuery>(GraphqlQuerySchema)\n\ncreatableModule()\nexport class ApiGraphqlWitness<TParams extends ApiGraphqlWitnessParams = ApiGraphqlWitnessParams> extends AbstractWitness<\n TParams,\n GraphqlQuery,\n GraphqlResult\n> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, ApiGraphqlWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = ApiGraphqlWitnessConfigSchema\n\n get endpoint() {\n return assertEx(this.config.endpoint ?? this.params.endpoint, () => 'No endpoint specified')\n }\n\n get headers() {\n return this.params.headers\n }\n\n get timeout() {\n return this.config.timeout\n }\n\n protected override async observeHandler(payloads?: GraphqlQuery[]): Promise<GraphqlResult[]> {\n await this.started('throw')\n const queries = payloads?.filter(isGraphqlQuery) ?? []\n const axios = new Axios(axiosJsonConfig({ headers: this.headers, timeout: this.timeout }))\n const observations = await Promise.all(\n queries.map(async ({ query, variables }) => {\n const httpResult = await axios.post(this.endpoint, { query, variables })\n const result: GraphqlResult = {\n http: { status: httpResult.status },\n result: httpResult.data,\n schema: GraphqlResultSchema,\n }\n return result\n }),\n )\n return observations.flat()\n }\n}\n"],"mappings":";AAAA,SAAS,wBAAwB;AACjC,SAAS,qCAAqC;;;ACD9C,SAAS,UAAU,uBAAuB;AAC1C,SAAS,uBAAuB;AAChC,SAA+B,uBAAuB;AAEtD,SAAS,UAAU,6BAA6B;AAEhD,SAAS,aAAa;AAGf,IAAM,gCAAgC,SAAS,kCAAkC,IAAI;AAsBrF,IAAM,qBAAqB,SAAS,6BAA6B,IAAI;AAWrE,IAAM,sBAAsB,SAAS,8BAA8B,IAAI;AAevE,IAAM,iBAAiB,sBAAoC,kBAAkB;AAEpF,gBAAgB;AACT,IAAM,oBAAN,cAAmG,gBAIxG;AAAA,EACA,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,6BAA6B;AAAA,EACzG,OAAyB,sBAA8B;AAAA,EAEvD,IAAI,WAAW;AACb,WAAO,SAAS,KAAK,OAAO,YAAY,KAAK,OAAO,UAAU,MAAM,uBAAuB;AAAA,EAC7F;AAAA,EAEA,IAAI,UAAU;AACZ,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,IAAI,UAAU;AACZ,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,MAAyB,eAAe,UAAqD;AAC3F,UAAM,KAAK,QAAQ,OAAO;AAC1B,UAAM,UAAU,UAAU,OAAO,cAAc,KAAK,CAAC;AACrD,UAAM,QAAQ,IAAI,MAAM,gBAAgB,EAAE,SAAS,KAAK,SAAS,SAAS,KAAK,QAAQ,CAAC,CAAC;AACzF,UAAM,eAAe,MAAM,QAAQ;AAAA,MACjC,QAAQ,IAAI,OAAO,EAAE,OAAO,UAAU,MAAM;AAC1C,cAAM,aAAa,MAAM,MAAM,KAAK,KAAK,UAAU,EAAE,OAAO,UAAU,CAAC;AACvE,cAAM,SAAwB;AAAA,UAC5B,MAAM,EAAE,QAAQ,WAAW,OAAO;AAAA,UAClC,QAAQ,WAAW;AAAA,UACnB,QAAQ;AAAA,QACV;AACA,eAAO;AAAA,MACT,CAAC;AAAA,IACH;AACA,WAAO,aAAa,KAAK;AAAA,EAC3B;AACF;;;AD5FO,IAAM,0BAA0B,MACrC;AAAA,EACE,EAAE,UAAU,EAAE,CAAC,kBAAkB,GAAG,EAAE,GAAG,QAAQ,iBAAiB;AAAA,EAClE;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,aAAO,MAAM,kBAAkB,OAAO,MAAM;AAAA,IAC9C;AAAA,EACF;AACF;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/api-graphql-plugin",
3
- "version": "5.3.1",
3
+ "version": "5.3.3",
4
4
  "description": "Typescript/Javascript Plugins for XYO Platform",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -30,29 +30,35 @@
30
30
  "types": "dist/neutral/index.d.ts",
31
31
  "files": [
32
32
  "dist",
33
- "src",
34
- "!**/*.bench.*",
35
- "!**/*.spec.*",
36
- "!**/*.test.*"
33
+ "README.md"
37
34
  ],
38
- "dependencies": {
39
- "@xylabs/assert": "~5.0.64",
40
- "@xylabs/axios": "~5.0.64",
41
- "@xyo-network/abstract-witness": "~5.3.2",
42
- "@xyo-network/module-model": "~5.3.2",
43
- "@xyo-network/payload-model": "~5.3.2",
44
- "@xyo-network/payloadset-plugin": "~5.3.2",
45
- "@xyo-network/witness-model": "~5.3.2",
46
- "axios": "^1.13.4",
47
- "graphql": "~16.12.0"
48
- },
49
35
  "devDependencies": {
50
- "@xylabs/ts-scripts-yarn3": "~7.3.2",
51
- "@xylabs/tsconfig": "~7.3.2",
52
- "@xylabs/vitest-extended": "~5.0.64",
53
- "ethers": "^6.16.0",
36
+ "@xylabs/sdk-js": "^5.0.90",
37
+ "@xylabs/ts-scripts-common": "~7.5.10",
38
+ "@xylabs/ts-scripts-yarn3": "~7.5.10",
39
+ "@xylabs/tsconfig": "~7.5.10",
40
+ "@xylabs/vitest-extended": "~5.0.90",
41
+ "@xyo-network/abstract-witness": "~5.3.5",
42
+ "@xyo-network/module-model": "~5.3.5",
43
+ "@xyo-network/payload-model": "~5.3.5",
44
+ "@xyo-network/payloadset-plugin": "~5.3.5",
45
+ "@xyo-network/witness-model": "~5.3.5",
46
+ "axios": "^1.13.5",
47
+ "graphql": "~16.12.0",
54
48
  "typescript": "~5.9.3",
55
- "vitest": "~4.0.18"
49
+ "vitest": "~4.1.2",
50
+ "zod": "^4.3.6"
51
+ },
52
+ "peerDependencies": {
53
+ "@xylabs/sdk-js": "^5.0.79",
54
+ "@xyo-network/abstract-witness": "^5",
55
+ "@xyo-network/module-model": "^5",
56
+ "@xyo-network/payload-model": "^5",
57
+ "@xyo-network/payloadset-plugin": "^5",
58
+ "@xyo-network/witness-model": "^5",
59
+ "axios": "^1",
60
+ "graphql": "^16",
61
+ "zod": "^4.3.6"
56
62
  },
57
63
  "publishConfig": {
58
64
  "access": "public"
package/src/Plugin.ts DELETED
@@ -1,14 +0,0 @@
1
- import { PayloadSetSchema } from '@xyo-network/payload-model'
2
- import { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'
3
-
4
- import { ApiGraphqlWitness, GraphqlQuerySchema } from './Witness.ts'
5
-
6
- export const ApiGraphqlWitnessPlugin = () =>
7
- createPayloadSetWitnessPlugin<ApiGraphqlWitness>(
8
- { required: { [GraphqlQuerySchema]: 1 }, schema: PayloadSetSchema },
9
- {
10
- witness: async (params) => {
11
- return await ApiGraphqlWitness.create(params)
12
- },
13
- },
14
- )
package/src/Witness.ts DELETED
@@ -1,98 +0,0 @@
1
- import { assertEx } from '@xylabs/assert'
2
- import { axiosJsonConfig } from '@xylabs/axios'
3
- import { AbstractWitness } from '@xyo-network/abstract-witness'
4
- import type { AnyConfigSchema } from '@xyo-network/module-model'
5
- import type { Payload, Schema } from '@xyo-network/payload-model'
6
- import { asSchema, isPayloadOfSchemaType } from '@xyo-network/payload-model'
7
- import type { WitnessConfig, WitnessParams } from '@xyo-network/witness-model'
8
- import { Axios } from 'axios'
9
- import type { ExecutionResult } from 'graphql'
10
-
11
- export const ApiGraphqlWitnessConfigSchema = asSchema('network.xyo.api.witness.config', true)
12
- export type ApiGraphqlWitnessConfigSchema = typeof ApiGraphqlWitnessConfigSchema
13
-
14
- export type ApiGraphqlWitnessConfig = WitnessConfig<{
15
- endpoint?: string
16
- schema: ApiGraphqlWitnessConfigSchema
17
- timeout?: number
18
- }>
19
-
20
- export type HttpHeaderValue = string | string[] | number | boolean | null
21
-
22
- export interface HttpHeaders {
23
- [key: string]: HttpHeaderValue
24
- }
25
-
26
- export interface ApiGraphqlWitnessParams extends WitnessParams<
27
- AnyConfigSchema<ApiGraphqlWitnessConfig>>
28
- {
29
- endpoint?: string
30
- headers?: HttpHeaders
31
- }
32
-
33
- export const GraphqlQuerySchema = asSchema('network.xyo.graphql.query', true)
34
- export type GraphqlQuerySchema = typeof GraphqlQuerySchema
35
-
36
- export type GraphqlQuery = Payload<
37
- {
38
- query: string
39
- variables: Record<string, unknown>
40
- },
41
- GraphqlQuerySchema
42
- >
43
-
44
- export const GraphqlResultSchema = asSchema('network.xyo.graphql.result', true)
45
- export type GraphqlResultSchema = typeof GraphqlResultSchema
46
-
47
- export type GraphqlResult<TData = Record<string, unknown>, TExtensions = Record<string, unknown>> = Payload<
48
- {
49
- http?: {
50
- code?: string
51
- ipAddress?: string
52
- status?: number
53
- }
54
- result?: ExecutionResult<TData, TExtensions>
55
- },
56
- GraphqlResultSchema
57
- >
58
-
59
- export const isGraphqlQuery = isPayloadOfSchemaType<GraphqlQuery>(GraphqlQuerySchema)
60
-
61
- export class ApiGraphqlWitness<TParams extends ApiGraphqlWitnessParams = ApiGraphqlWitnessParams> extends AbstractWitness<
62
- TParams,
63
- GraphqlQuery,
64
- GraphqlResult
65
- > {
66
- static override readonly configSchemas: Schema[] = [...super.configSchemas, ApiGraphqlWitnessConfigSchema]
67
- static override readonly defaultConfigSchema: Schema = ApiGraphqlWitnessConfigSchema
68
-
69
- get endpoint() {
70
- return assertEx(this.config.endpoint ?? this.params.endpoint, () => 'No endpoint specified')
71
- }
72
-
73
- get headers() {
74
- return this.params.headers
75
- }
76
-
77
- get timeout() {
78
- return this.config.timeout
79
- }
80
-
81
- protected override async observeHandler(payloads?: GraphqlQuery[]): Promise<GraphqlResult[]> {
82
- await this.started('throw')
83
- const queries = payloads?.filter(isGraphqlQuery) ?? []
84
- const axios = new Axios(axiosJsonConfig({ headers: this.headers, timeout: this.timeout }))
85
- const observations = await Promise.all(
86
- queries.map(async ({ query, variables }) => {
87
- const httpResult = await axios.post(this.endpoint, { query, variables })
88
- const result: GraphqlResult = {
89
- http: { status: httpResult.status },
90
- result: httpResult.data,
91
- schema: GraphqlResultSchema,
92
- }
93
- return result
94
- }),
95
- )
96
- return observations.flat()
97
- }
98
- }
package/src/index.ts DELETED
@@ -1,2 +0,0 @@
1
- export { ApiGraphqlWitnessPlugin, ApiGraphqlWitnessPlugin as default } from './Plugin.ts'
2
- export * from './Witness.ts'