@xyo-network/http-call-witness 5.4.9 → 5.5.0

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 +1 @@
1
- {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../../src/Witness/Witness.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAGxD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAO/D,OAAO,KAAK,EACV,QAAQ,EAKR,cAAc,EAEd,SAAS,EACV,MAAM,qBAAqB,CAAA;AAS5B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAGxD,qBAAa,eAAe,CAAC,OAAO,SAAS,qBAAqB,GAAG,qBAAqB,CAAE,SAAQ,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC;IACpJ,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAwD;IACxG,gBAAyB,mBAAmB,EAAE,MAAM,CAA8B;IAElF,IAAI,MAAM,IAAI,SAAS,CAEtB;IAED,IAAI,WAAW,uBAEd;IAED,IAAI,OAAO,uBAEV;IAED,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM;IAmCnC,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;cAMnE,cAAc,CAAC,UAAU,GAAE,QAAQ,EAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;YAiCjF,OAAO;CA6FtB"}
1
+ {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../../src/Witness/Witness.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAGxD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAK/D,OAAO,KAAK,EACV,QAAQ,EAKR,cAAc,EAEd,SAAS,EACV,MAAM,qBAAqB,CAAA;AAS5B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAGxD,qBAAa,eAAe,CAAC,OAAO,SAAS,qBAAqB,GAAG,qBAAqB,CAAE,SAAQ,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC;IACpJ,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAwD;IACxG,gBAAyB,mBAAmB,EAAE,MAAM,CAA8B;IAElF,IAAI,MAAM,IAAI,SAAS,CAEtB;IAED,IAAI,WAAW,uBAEd;IAED,IAAI,OAAO,uBAEV;IAED,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM;IAmCnC,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;cAMnE,cAAc,CAAC,UAAU,GAAE,QAAQ,EAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;YAiCjF,OAAO;CA8EtB"}
@@ -98,13 +98,13 @@ var asHttpUriTemplateCallWitnessConfig = AsObjectFactory8.create(isHttpUriTempla
98
98
  // src/Witness/Witness.ts
99
99
  import {
100
100
  assertEx as assertEx2,
101
- axiosJsonConfig,
101
+ FetchClientError,
102
+ FetchJsonClient,
102
103
  URL as URL2
103
104
  } from "@xylabs/sdk-js";
104
105
  import { isPayloadOfSchemaType as isPayloadOfSchemaType8 } from "@xyo-network/payload-model";
105
106
  import { ObjectHasher, PayloadBuilder } from "@xyo-network/sdk-js";
106
107
  import { AbstractWitness } from "@xyo-network/witness-abstract";
107
- import { Axios } from "axios";
108
108
  import { fromByteArray } from "base64-js";
109
109
  import fillTemplate from "es6-dynamic-template";
110
110
 
@@ -229,37 +229,26 @@ var HttpCallWitness = class extends AbstractWitness {
229
229
  call,
230
230
  schema: HttpCallResultSchema
231
231
  };
232
+ const signal = this.timeout !== void 0 && this.timeout !== 0 ? AbortSignal.timeout(this.timeout) : void 0;
232
233
  try {
233
234
  switch (this.accept) {
234
235
  case "application/json": {
235
- const axios = new Axios(axiosJsonConfig({
236
- headers: { ...this.getHeaders(headers), Accept: "application/json" },
237
- timeout: this.timeout,
238
- decompress: true
239
- }));
240
- const response = await axios.get(url);
241
- if (response.status >= 200 && response.status < 300) {
242
- const jsonResult = result;
243
- jsonResult.data = response.data;
244
- jsonResult.contentType = "application/json";
245
- } else {
246
- const errorResult = result;
247
- errorResult.http = { status: response.status };
248
- }
236
+ const client = new FetchJsonClient({ headers: stringHeaders({ ...this.getHeaders(headers), Accept: "application/json" }), timeout: this.timeout });
237
+ const response = await client.get(url);
238
+ const jsonResult = result;
239
+ jsonResult.data = response.data ?? void 0;
240
+ jsonResult.contentType = "application/json";
249
241
  break;
250
242
  }
251
243
  case "application/xml":
252
244
  case "text/xml": {
253
- const axios = new Axios({
254
- headers: { ...this.getHeaders(headers), Accept: this.accept },
255
- responseType: "arraybuffer",
256
- decompress: true,
257
- timeout: this.timeout
245
+ const response = await fetch(url, {
246
+ headers: stringHeaders({ ...this.getHeaders(headers), Accept: this.accept }),
247
+ signal
258
248
  });
259
- const response = await axios.get(url);
260
249
  if (response.status >= 200 && response.status < 300) {
261
250
  const xmlResult = result;
262
- xmlResult.data = Buffer.from(response.data, "binary").toString("utf8");
251
+ xmlResult.data = Buffer.from(await response.arrayBuffer()).toString("utf8");
263
252
  xmlResult.contentType = "application/xml";
264
253
  } else {
265
254
  const errorResult = result;
@@ -268,16 +257,13 @@ var HttpCallWitness = class extends AbstractWitness {
268
257
  break;
269
258
  }
270
259
  case "text/html": {
271
- const axios = new Axios({
272
- headers: { ...this.getHeaders(headers), Accept: this.accept },
273
- responseType: "text",
274
- decompress: true,
275
- timeout: this.timeout
260
+ const response = await fetch(url, {
261
+ headers: stringHeaders({ ...this.getHeaders(headers), Accept: this.accept }),
262
+ signal
276
263
  });
277
- const response = await axios.get(url);
278
264
  if (response.status >= 200 && response.status < 300) {
279
265
  const htmlResult = result;
280
- htmlResult.data = response.data;
266
+ htmlResult.data = await response.text();
281
267
  htmlResult.contentType = "text/html";
282
268
  } else {
283
269
  const errorResult = result;
@@ -286,17 +272,14 @@ var HttpCallWitness = class extends AbstractWitness {
286
272
  break;
287
273
  }
288
274
  default: {
289
- const axios = new Axios({
290
- headers: this.params.headers,
291
- responseType: "arraybuffer",
292
- timeout: this.timeout,
293
- decompress: true
275
+ const response = await fetch(url, {
276
+ headers: stringHeaders(this.params.headers),
277
+ signal
294
278
  });
295
- const response = await axios.get(url);
296
279
  if (response.status >= 200 && response.status < 300) {
297
280
  const jsonResult = result;
298
- jsonResult.data = fromByteArray(response.data);
299
- jsonResult.contentType = response.headers["content-type"]?.toString() ?? "application/octet-stream";
281
+ jsonResult.data = fromByteArray(new Uint8Array(await response.arrayBuffer()));
282
+ jsonResult.contentType = response.headers.get("content-type") ?? "application/octet-stream";
300
283
  } else {
301
284
  const errorResult = result;
302
285
  errorResult.http = { status: response.status };
@@ -305,24 +288,29 @@ var HttpCallWitness = class extends AbstractWitness {
305
288
  }
306
289
  }
307
290
  } catch (ex) {
308
- const axiosError = ex;
309
- if (axiosError.isAxiosError) {
310
- if (axiosError?.response?.status !== void 0) {
311
- result.http = result.http ?? {};
312
- result.http.status = axiosError?.response?.status;
313
- }
314
- if (axiosError?.code !== void 0) {
315
- result.http = result.http ?? {};
316
- result.http.code = axiosError?.code;
317
- }
291
+ if (ex instanceof FetchClientError) {
292
+ result.http = result.http ?? {};
293
+ result.http.status = ex.response.status;
318
294
  return result;
319
- } else {
320
- throw ex;
321
295
  }
296
+ if (ex instanceof Error) {
297
+ result.http = result.http ?? {};
298
+ result.http.code = ex.name;
299
+ return result;
300
+ }
301
+ throw ex;
322
302
  }
323
303
  return result;
324
304
  }
325
305
  };
306
+ function stringHeaders(headers) {
307
+ if (!headers) return void 0;
308
+ const out = {};
309
+ for (const [key, value] of Object.entries(headers)) {
310
+ if (value !== void 0) out[key] = value;
311
+ }
312
+ return out;
313
+ }
326
314
  export {
327
315
  HttpCallResultSchema,
328
316
  HttpCallSchema,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Payload/identity/asHttpCall.ts","../../src/Payload/identity/isHttpCall.ts","../../src/Payload/Schema.ts","../../src/Payload/identity/asHttpCallBase64Result.ts","../../src/Payload/identity/isHttpCallBase64Result.ts","../../src/Payload/identity/asHttpCallResult.ts","../../src/Payload/identity/isHttpCallResult.ts","../../src/Payload/identity/asHttpCallXmlResult.ts","../../src/Payload/identity/isHttpCallXmlResult.ts","../../src/Payload/identity/asHttpUriCall.ts","../../src/Payload/identity/isHttpUriCall.ts","../../src/Payload/identity/asHttpUriTemplateCall.ts","../../src/Payload/identity/isHttpUriTemplateCall.ts","../../src/Payload/identity/isHttpCallErrorResult.ts","../../src/Payload/types/HttpCallJsonResult.ts","../../src/Witness/Config.ts","../../src/Witness/Schema.ts","../../src/Witness/Witness.ts","../../src/lib/checkIpfsUrl.ts"],"sourcesContent":["import { AsObjectFactory } from '@xylabs/sdk-js'\n\nimport { isHttpCall } from './isHttpCall.ts'\n\nexport const asApiCall = AsObjectFactory.create(isHttpCall)\n","import { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { HttpCallSchema } from '../Schema.ts'\nimport type { HttpCall } from '../types/index.ts'\n\nexport const isHttpCall = isPayloadOfSchemaType<HttpCall>(HttpCallSchema)\n","import { asSchema } from '@xyo-network/payload-model'\n\nexport const HttpCallSchema = asSchema('network.xyo.http.call', true)\nexport type HttpCallSchema = typeof HttpCallSchema\n\nexport const HttpCallResultSchema = asSchema(`${HttpCallSchema}.result`, true)\nexport type HttpCallResultSchema = typeof HttpCallResultSchema\n","import { AsObjectFactory } from '@xylabs/sdk-js'\n\nimport { isHttpCallBase64Result } from './isHttpCallBase64Result.ts'\n\nexport const asHttpCallBase64Result = AsObjectFactory.create(isHttpCallBase64Result)\n","import { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { HttpCallResultSchema } from '../Schema.ts'\nimport type { HttpCallBase64Result, HttpCallResult } from '../types/index.ts'\n\nexport const isHttpCallBase64Result = (x?: unknown | null): x is HttpCallBase64Result => {\n return isPayloadOfSchemaType<HttpCallResult>(HttpCallResultSchema)(x) && typeof (x as HttpCallBase64Result)?.data === 'string'\n}\n","import { AsObjectFactory } from '@xylabs/sdk-js'\n\nimport { isHttpCallResult } from './isHttpCallResult.ts'\n\nexport const asHttpCallResult = AsObjectFactory.create(isHttpCallResult)\n","import { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { HttpCallResultSchema } from '../Schema.ts'\nimport type { HttpCallResult } from '../types/index.ts'\n\nexport const isHttpCallResult = isPayloadOfSchemaType<HttpCallResult>(HttpCallResultSchema)\n","import { AsObjectFactory } from '@xylabs/sdk-js'\n\nimport { isHttpCallXmlResult } from './isHttpCallXmlResult.ts'\n\nexport const asHttpCallXmlResult = AsObjectFactory.create(isHttpCallXmlResult)\n","import { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { HttpCallResultSchema } from '../Schema.ts'\nimport type { HttpCallResult, HttpCallXmlResult } from '../types/index.ts'\n\nexport const isHttpCallXmlResult = (x?: unknown | null): x is HttpCallXmlResult => {\n return isPayloadOfSchemaType<HttpCallResult>(HttpCallResultSchema)(x) && typeof (x as HttpCallXmlResult)?.data === 'string'\n}\n","import { AsObjectFactory } from '@xylabs/sdk-js'\n\nimport { isHttpUriCall } from './isHttpUriCall.ts'\n\nexport const asHttpUriCall = AsObjectFactory.create(isHttpUriCall)\n","import type { HttpUriCall } from '../types/index.ts'\nimport { isHttpCall } from './isHttpCall.ts'\n\nexport const isHttpUriCall = (value?: unknown): value is HttpUriCall => isHttpCall(value) && !!(value as HttpUriCall).uri\n","import { AsObjectFactory } from '@xylabs/sdk-js'\n\nimport { isHttpUriTemplateCall } from './isHttpUriTemplateCall.ts'\n\nexport const asHttpUriTemplateCall = AsObjectFactory.create(isHttpUriTemplateCall)\n","import type { HttpUriTemplateCall } from '../types/index.ts'\nimport { isHttpCall } from './isHttpCall.ts'\n\nexport const isHttpUriTemplateCall = (value?: unknown): value is HttpUriTemplateCall =>\n isHttpCall(value) && !!((value as HttpUriTemplateCall).uriTemplate || (value as HttpUriTemplateCall).params)\n","import { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { HttpCallResultSchema } from '../Schema.ts'\nimport type { HttpCallErrorResult, HttpCallResult } from '../types/index.ts'\n\nexport const isHttpCallErrorResult = (value: unknown): value is HttpCallErrorResult =>\n !!isPayloadOfSchemaType<HttpCallResult>(HttpCallResultSchema) && ((value as HttpCallErrorResult).http?.status ?? 200) >= 400\n","import type {\n Hash, JsonArray, JsonObject,\n} from '@xylabs/sdk-js'\nimport { AsObjectFactory } from '@xylabs/sdk-js'\nimport type { Payload } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { HttpCallResultSchema } from '../Schema.ts'\nimport type { HttpCallResult } from './HttpCallResult.ts'\n\nexport type HttpCallJsonResultType = JsonArray | JsonObject\n\nexport type HttpCallJsonResult<T extends HttpCallJsonResultType = HttpCallJsonResultType> = Payload<\n {\n call: Hash\n contentType: 'application/json'\n data: T\n },\n HttpCallResultSchema\n>\n\nexport const isHttpCallJsonResult = <T extends HttpCallJsonResultType = HttpCallJsonResultType>(x?: unknown | null): x is HttpCallJsonResult<T> => {\n return isPayloadOfSchemaType<HttpCallResult>(HttpCallResultSchema)(x) && (x as HttpCallJsonResult)?.contentType === 'application/json'\n}\nexport const asHttpCallJsonResult = AsObjectFactory.create(isHttpCallJsonResult)\n","import { AsObjectFactory } from '@xylabs/sdk-js'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport type { WitnessConfig } from '@xyo-network/witness-model'\n\nimport type {\n HttpCall, HttpUriCall, HttpUriTemplateCall, MimeTypes,\n} from '../Payload/index.ts'\nimport { HttpCallWitnessConfigSchema } from './Schema.ts'\n\nexport type HttpCallWitnessConfigBase = WitnessConfig<{\n accept?: MimeTypes\n headers?: Record<string, string | undefined>\n queries?: HttpCall['queries']\n schema: HttpCallWitnessConfigSchema\n timeout?: number\n verb?: HttpCall['verb']\n}>\n\nexport type HttpUriCallWitnessConfig = WitnessConfig<\n HttpCallWitnessConfigBase & {\n uri: HttpUriCall['uri']\n }\n>\n\nexport type HttpUriTemplateCallWitnessConfig = WitnessConfig<\n HttpCallWitnessConfigBase & {\n params?: Record<string, string>\n uriTemplate: HttpUriTemplateCall['uriTemplate']\n }\n>\n\nexport type HttpCallWitnessConfig = HttpUriCallWitnessConfig | HttpUriTemplateCallWitnessConfig | HttpCallWitnessConfigBase\n\nexport const isHttpCallWitnessConfig = isPayloadOfSchemaType<HttpCallWitnessConfig>(HttpCallWitnessConfigSchema)\nexport const asHttpCallWitnessConfig = AsObjectFactory.create(isHttpCallWitnessConfig)\n\nexport const isHttpUriCallWitnessConfig = (value?: unknown): value is HttpUriCallWitnessConfig =>\n isHttpCallWitnessConfig(value) && !!(value as HttpUriCallWitnessConfig).uri\nexport const asHttpUriCallWitnessConfig = AsObjectFactory.create(isHttpUriCallWitnessConfig)\n\nexport const isHttpUriTemplateCallWitnessConfig = (value?: unknown): value is HttpUriTemplateCallWitnessConfig =>\n isHttpCallWitnessConfig(value) && !!(value as HttpUriTemplateCallWitnessConfig).uriTemplate\nexport const asHttpUriTemplateCallWitnessConfig = AsObjectFactory.create(isHttpUriTemplateCallWitnessConfig)\n","import { asSchema } from '@xyo-network/payload-model'\n\nexport const HttpCallWitnessConfigSchema = asSchema('network.xyo.http.call.witness.config', true)\nexport type HttpCallWitnessConfigSchema = typeof HttpCallWitnessConfigSchema\n","/* eslint-disable max-statements */\nimport type { Hash } from '@xylabs/sdk-js'\nimport {\n assertEx, axiosJsonConfig, URL,\n} from '@xylabs/sdk-js'\nimport type { Schema } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { ObjectHasher, PayloadBuilder } from '@xyo-network/sdk-js'\nimport { AbstractWitness } from '@xyo-network/witness-abstract'\nimport type { AxiosError } from 'axios'\nimport { Axios } from 'axios'\nimport { fromByteArray } from 'base64-js'\nimport fillTemplate from 'es6-dynamic-template'\n\nimport { checkIpfsUrl } from '../lib/index.ts'\nimport type {\n HttpCall,\n HttpCallBase64Result,\n HttpCallErrorResult,\n HttpCallJsonResult,\n HttpCallJsonResultType,\n HttpCallResult,\n HttpCallXmlResult,\n MimeTypes,\n} from '../Payload/index.ts'\nimport {\n asHttpUriCall,\n asHttpUriTemplateCall,\n HttpCallResultSchema,\n HttpCallSchema,\n} from '../Payload/index.ts'\nimport type { HttpCallHtmlResult } from '../Payload/types/index.ts'\nimport { asHttpUriCallWitnessConfig, asHttpUriTemplateCallWitnessConfig } from './Config.ts'\nimport type { HttpCallWitnessParams } from './Params.ts'\nimport { HttpCallWitnessConfigSchema } from './Schema.ts'\n\nexport class HttpCallWitness<TParams extends HttpCallWitnessParams = HttpCallWitnessParams> extends AbstractWitness<TParams, HttpCall, HttpCallResult> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, HttpCallWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = HttpCallWitnessConfigSchema\n\n get accept(): MimeTypes {\n return this.config.accept ?? 'application/json'\n }\n\n get ipfsGateway() {\n return this.params.ipfsGateway\n }\n\n get timeout() {\n return this.config.timeout\n }\n\n getFullUri(call?: HttpCall): string {\n const { uri: callUri } = asHttpUriCall(call) ?? {}\n const {\n uriTemplate: callUriTemplate, params: callParams, queries: callQueries,\n } = asHttpUriTemplateCall(call) ?? {}\n const { uri: configUri } = asHttpUriCallWitnessConfig(this.config) ?? {}\n const {\n uriTemplate: configUriTemplate, params: configParams, queries: configQueries,\n } = asHttpUriTemplateCallWitnessConfig(this.config) ?? {}\n\n const params = { ...configParams, ...callParams }\n\n let url: URL | undefined = undefined\n\n if (callUri) {\n url = new URL(callUri)\n } else if (callUriTemplate) {\n url = new URL(fillTemplate(callUriTemplate, params))\n } else if (configUri) {\n url = new URL(configUri)\n } else if (configUriTemplate) {\n url = new URL(fillTemplate(configUriTemplate, params))\n }\n\n if (url) {\n const queries = Object.entries({ ...configQueries, ...callQueries })\n for (const [key, value] of queries) {\n url?.searchParams.set(key, value)\n }\n return url.href\n }\n\n throw new Error('Unable to determine uri. No uri/uriTemplate specified in either the call or config.')\n }\n\n getHeaders(headers?: Record<string, string | undefined>): Record<string, string | undefined> {\n return {\n ...this.params.headers, ...this.config.headers, ...headers,\n }\n }\n\n protected override async observeHandler(inPayloads: HttpCall[] = []): Promise<HttpCallResult[]> {\n await this.started('throw')\n try {\n const observations = await Promise.all(\n inPayloads.filter(isPayloadOfSchemaType<HttpCall>(HttpCallSchema)).map(async (call) => {\n const { verb: callVerb } = call\n const { verb: configVerb } = this.config\n const verb = callVerb ?? configVerb ?? 'get'\n const uri = this.getFullUri(call)\n\n const validatedUri = assertEx(checkIpfsUrl(uri, this.ipfsGateway), () => 'Invalid URI')\n\n if (verb === 'get') {\n return this.httpGet(validatedUri, (await PayloadBuilder.dataHash(call)))\n }\n\n const observation: HttpCallResult = {\n call: await ObjectHasher.hash(call),\n schema: HttpCallResultSchema,\n }\n return observation\n }),\n )\n return observations\n } catch (ex) {\n const error = ex as Error\n console.error(`Error [${this.config.name}]: ${error.message}`)\n console.log(error.stack)\n throw error\n }\n }\n\n // eslint-disable-next-line complexity\n private async httpGet(url: string, call: Hash, headers?: Record<string, string | undefined>): Promise<HttpCallResult> {\n const result: HttpCallResult = {\n call,\n schema: HttpCallResultSchema,\n }\n try {\n switch (this.accept) {\n case 'application/json': {\n const axios = new Axios(axiosJsonConfig({\n headers: { ...this.getHeaders(headers), Accept: 'application/json' }, timeout: this.timeout, decompress: true,\n }))\n const response = await axios.get<HttpCallJsonResultType>(url)\n if (response.status >= 200 && response.status < 300) {\n const jsonResult = result as HttpCallJsonResult\n jsonResult.data = response.data\n jsonResult.contentType = 'application/json'\n } else {\n const errorResult = result as HttpCallErrorResult\n errorResult.http = { status: response.status }\n }\n break\n }\n case 'application/xml':\n case 'text/xml': {\n const axios = new Axios({\n headers: { ...this.getHeaders(headers), Accept: this.accept },\n responseType: 'arraybuffer',\n decompress: true,\n timeout: this.timeout,\n })\n const response = await axios.get(url)\n if (response.status >= 200 && response.status < 300) {\n const xmlResult = result as HttpCallXmlResult\n xmlResult.data = Buffer.from(response.data, 'binary').toString('utf8')\n xmlResult.contentType = 'application/xml'\n } else {\n const errorResult = result as HttpCallErrorResult\n errorResult.http = { status: response.status }\n }\n break\n }\n case 'text/html':{\n const axios = new Axios({\n headers: { ...this.getHeaders(headers), Accept: this.accept },\n responseType: 'text',\n decompress: true,\n timeout: this.timeout,\n })\n const response = await axios.get(url)\n if (response.status >= 200 && response.status < 300) {\n const htmlResult = result as HttpCallHtmlResult\n htmlResult.data = response.data\n htmlResult.contentType = 'text/html'\n } else {\n const errorResult = result as HttpCallErrorResult\n errorResult.http = { status: response.status }\n }\n break\n }\n default: {\n const axios = new Axios({\n headers: this.params.headers, responseType: 'arraybuffer', timeout: this.timeout, decompress: true,\n })\n const response = await axios.get(url)\n if (response.status >= 200 && response.status < 300) {\n const jsonResult = result as HttpCallBase64Result\n jsonResult.data = fromByteArray(response.data)\n jsonResult.contentType = response.headers['content-type']?.toString() ?? 'application/octet-stream'\n } else {\n const errorResult = result as HttpCallErrorResult\n errorResult.http = { status: response.status }\n }\n break\n }\n }\n } catch (ex) {\n const axiosError = ex as AxiosError\n if (axiosError.isAxiosError) {\n if (axiosError?.response?.status !== undefined) {\n result.http = result.http ?? {}\n result.http.status = axiosError?.response?.status\n }\n if (axiosError?.code !== undefined) {\n result.http = result.http ?? {}\n result.http.code = axiosError?.code\n }\n return result\n } else {\n throw ex\n }\n }\n return result\n }\n}\n","import { assertEx, URL } from '@xylabs/sdk-js'\n\nconst allowIpfsIoRepair = true\n\n/**\n * Returns the equivalent IPFS gateway URL for the supplied URL.\n * @param urlToCheck The URL to check\n * @returns If the supplied URL is an IPFS URL, it converts the URL to the\n * equivalent IPFS gateway URL. Otherwise, returns the original URL.\n */\nexport const checkIpfsUrl = (urlToCheck: string, ipfsGateway?: string): string => {\n try {\n const url = new URL(urlToCheck)\n let protocol = url.protocol\n let host = url.host\n let path = url.pathname\n const query = url.search\n if (protocol === 'ipfs:') {\n protocol = 'https:'\n host = assertEx(ipfsGateway, () => 'No ipfsGateway provided')\n path = url.host === 'ipfs' ? `ipfs${path}` : `ipfs/${url.host}${path}`\n const root = `${protocol}//${host}/${path}`\n return query?.length > 0 ? `${root}?${query}` : root\n } else if (allowIpfsIoRepair && protocol === 'https' && host === 'ipfs.io') {\n protocol = 'https:'\n host = assertEx(ipfsGateway, () => 'No ipfsGateway provided')\n const pathParts = path.split('/')\n if (pathParts[0] === 'ipfs') {\n pathParts.shift()\n }\n path = pathParts.join('/')\n const root = `${protocol}//${host}/${path}`\n return query?.length > 0 ? `${root}?${query}` : root\n } else {\n return urlToCheck\n }\n } catch {\n // const error = ex as Error\n // console.error(`${error.name}:${error.message} [${urlToCheck}]`)\n // console.log(error.stack)\n return urlToCheck\n }\n}\n"],"mappings":"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","names":["AsObjectFactory","isPayloadOfSchemaType","isPayloadOfSchemaType","AsObjectFactory","AsObjectFactory","isPayloadOfSchemaType","isPayloadOfSchemaType","AsObjectFactory","AsObjectFactory","isPayloadOfSchemaType","isPayloadOfSchemaType","AsObjectFactory","AsObjectFactory","AsObjectFactory","AsObjectFactory","AsObjectFactory","isPayloadOfSchemaType","isPayloadOfSchemaType","AsObjectFactory","isPayloadOfSchemaType","isPayloadOfSchemaType","AsObjectFactory","AsObjectFactory","isPayloadOfSchemaType","asSchema","isPayloadOfSchemaType","AsObjectFactory","assertEx","URL","isPayloadOfSchemaType","URL","isPayloadOfSchemaType","assertEx"]}
1
+ {"version":3,"sources":["../../src/Payload/identity/asHttpCall.ts","../../src/Payload/identity/isHttpCall.ts","../../src/Payload/Schema.ts","../../src/Payload/identity/asHttpCallBase64Result.ts","../../src/Payload/identity/isHttpCallBase64Result.ts","../../src/Payload/identity/asHttpCallResult.ts","../../src/Payload/identity/isHttpCallResult.ts","../../src/Payload/identity/asHttpCallXmlResult.ts","../../src/Payload/identity/isHttpCallXmlResult.ts","../../src/Payload/identity/asHttpUriCall.ts","../../src/Payload/identity/isHttpUriCall.ts","../../src/Payload/identity/asHttpUriTemplateCall.ts","../../src/Payload/identity/isHttpUriTemplateCall.ts","../../src/Payload/identity/isHttpCallErrorResult.ts","../../src/Payload/types/HttpCallJsonResult.ts","../../src/Witness/Config.ts","../../src/Witness/Schema.ts","../../src/Witness/Witness.ts","../../src/lib/checkIpfsUrl.ts"],"sourcesContent":["import { AsObjectFactory } from '@xylabs/sdk-js'\n\nimport { isHttpCall } from './isHttpCall.ts'\n\nexport const asApiCall = AsObjectFactory.create(isHttpCall)\n","import { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { HttpCallSchema } from '../Schema.ts'\nimport type { HttpCall } from '../types/index.ts'\n\nexport const isHttpCall = isPayloadOfSchemaType<HttpCall>(HttpCallSchema)\n","import { asSchema } from '@xyo-network/payload-model'\n\nexport const HttpCallSchema = asSchema('network.xyo.http.call', true)\nexport type HttpCallSchema = typeof HttpCallSchema\n\nexport const HttpCallResultSchema = asSchema(`${HttpCallSchema}.result`, true)\nexport type HttpCallResultSchema = typeof HttpCallResultSchema\n","import { AsObjectFactory } from '@xylabs/sdk-js'\n\nimport { isHttpCallBase64Result } from './isHttpCallBase64Result.ts'\n\nexport const asHttpCallBase64Result = AsObjectFactory.create(isHttpCallBase64Result)\n","import { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { HttpCallResultSchema } from '../Schema.ts'\nimport type { HttpCallBase64Result, HttpCallResult } from '../types/index.ts'\n\nexport const isHttpCallBase64Result = (x?: unknown | null): x is HttpCallBase64Result => {\n return isPayloadOfSchemaType<HttpCallResult>(HttpCallResultSchema)(x) && typeof (x as HttpCallBase64Result)?.data === 'string'\n}\n","import { AsObjectFactory } from '@xylabs/sdk-js'\n\nimport { isHttpCallResult } from './isHttpCallResult.ts'\n\nexport const asHttpCallResult = AsObjectFactory.create(isHttpCallResult)\n","import { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { HttpCallResultSchema } from '../Schema.ts'\nimport type { HttpCallResult } from '../types/index.ts'\n\nexport const isHttpCallResult = isPayloadOfSchemaType<HttpCallResult>(HttpCallResultSchema)\n","import { AsObjectFactory } from '@xylabs/sdk-js'\n\nimport { isHttpCallXmlResult } from './isHttpCallXmlResult.ts'\n\nexport const asHttpCallXmlResult = AsObjectFactory.create(isHttpCallXmlResult)\n","import { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { HttpCallResultSchema } from '../Schema.ts'\nimport type { HttpCallResult, HttpCallXmlResult } from '../types/index.ts'\n\nexport const isHttpCallXmlResult = (x?: unknown | null): x is HttpCallXmlResult => {\n return isPayloadOfSchemaType<HttpCallResult>(HttpCallResultSchema)(x) && typeof (x as HttpCallXmlResult)?.data === 'string'\n}\n","import { AsObjectFactory } from '@xylabs/sdk-js'\n\nimport { isHttpUriCall } from './isHttpUriCall.ts'\n\nexport const asHttpUriCall = AsObjectFactory.create(isHttpUriCall)\n","import type { HttpUriCall } from '../types/index.ts'\nimport { isHttpCall } from './isHttpCall.ts'\n\nexport const isHttpUriCall = (value?: unknown): value is HttpUriCall => isHttpCall(value) && !!(value as HttpUriCall).uri\n","import { AsObjectFactory } from '@xylabs/sdk-js'\n\nimport { isHttpUriTemplateCall } from './isHttpUriTemplateCall.ts'\n\nexport const asHttpUriTemplateCall = AsObjectFactory.create(isHttpUriTemplateCall)\n","import type { HttpUriTemplateCall } from '../types/index.ts'\nimport { isHttpCall } from './isHttpCall.ts'\n\nexport const isHttpUriTemplateCall = (value?: unknown): value is HttpUriTemplateCall =>\n isHttpCall(value) && !!((value as HttpUriTemplateCall).uriTemplate || (value as HttpUriTemplateCall).params)\n","import { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { HttpCallResultSchema } from '../Schema.ts'\nimport type { HttpCallErrorResult, HttpCallResult } from '../types/index.ts'\n\nexport const isHttpCallErrorResult = (value: unknown): value is HttpCallErrorResult =>\n !!isPayloadOfSchemaType<HttpCallResult>(HttpCallResultSchema) && ((value as HttpCallErrorResult).http?.status ?? 200) >= 400\n","import type {\n Hash, JsonArray, JsonObject,\n} from '@xylabs/sdk-js'\nimport { AsObjectFactory } from '@xylabs/sdk-js'\nimport type { Payload } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { HttpCallResultSchema } from '../Schema.ts'\nimport type { HttpCallResult } from './HttpCallResult.ts'\n\nexport type HttpCallJsonResultType = JsonArray | JsonObject\n\nexport type HttpCallJsonResult<T extends HttpCallJsonResultType = HttpCallJsonResultType> = Payload<\n {\n call: Hash\n contentType: 'application/json'\n data: T\n },\n HttpCallResultSchema\n>\n\nexport const isHttpCallJsonResult = <T extends HttpCallJsonResultType = HttpCallJsonResultType>(x?: unknown | null): x is HttpCallJsonResult<T> => {\n return isPayloadOfSchemaType<HttpCallResult>(HttpCallResultSchema)(x) && (x as HttpCallJsonResult)?.contentType === 'application/json'\n}\nexport const asHttpCallJsonResult = AsObjectFactory.create(isHttpCallJsonResult)\n","import { AsObjectFactory } from '@xylabs/sdk-js'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport type { WitnessConfig } from '@xyo-network/witness-model'\n\nimport type {\n HttpCall, HttpUriCall, HttpUriTemplateCall, MimeTypes,\n} from '../Payload/index.ts'\nimport { HttpCallWitnessConfigSchema } from './Schema.ts'\n\nexport type HttpCallWitnessConfigBase = WitnessConfig<{\n accept?: MimeTypes\n headers?: Record<string, string | undefined>\n queries?: HttpCall['queries']\n schema: HttpCallWitnessConfigSchema\n timeout?: number\n verb?: HttpCall['verb']\n}>\n\nexport type HttpUriCallWitnessConfig = WitnessConfig<\n HttpCallWitnessConfigBase & {\n uri: HttpUriCall['uri']\n }\n>\n\nexport type HttpUriTemplateCallWitnessConfig = WitnessConfig<\n HttpCallWitnessConfigBase & {\n params?: Record<string, string>\n uriTemplate: HttpUriTemplateCall['uriTemplate']\n }\n>\n\nexport type HttpCallWitnessConfig = HttpUriCallWitnessConfig | HttpUriTemplateCallWitnessConfig | HttpCallWitnessConfigBase\n\nexport const isHttpCallWitnessConfig = isPayloadOfSchemaType<HttpCallWitnessConfig>(HttpCallWitnessConfigSchema)\nexport const asHttpCallWitnessConfig = AsObjectFactory.create(isHttpCallWitnessConfig)\n\nexport const isHttpUriCallWitnessConfig = (value?: unknown): value is HttpUriCallWitnessConfig =>\n isHttpCallWitnessConfig(value) && !!(value as HttpUriCallWitnessConfig).uri\nexport const asHttpUriCallWitnessConfig = AsObjectFactory.create(isHttpUriCallWitnessConfig)\n\nexport const isHttpUriTemplateCallWitnessConfig = (value?: unknown): value is HttpUriTemplateCallWitnessConfig =>\n isHttpCallWitnessConfig(value) && !!(value as HttpUriTemplateCallWitnessConfig).uriTemplate\nexport const asHttpUriTemplateCallWitnessConfig = AsObjectFactory.create(isHttpUriTemplateCallWitnessConfig)\n","import { asSchema } from '@xyo-network/payload-model'\n\nexport const HttpCallWitnessConfigSchema = asSchema('network.xyo.http.call.witness.config', true)\nexport type HttpCallWitnessConfigSchema = typeof HttpCallWitnessConfigSchema\n","/* eslint-disable max-statements */\nimport type { Hash } from '@xylabs/sdk-js'\nimport {\n assertEx, FetchClientError, FetchJsonClient, URL,\n} from '@xylabs/sdk-js'\nimport type { Schema } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { ObjectHasher, PayloadBuilder } from '@xyo-network/sdk-js'\nimport { AbstractWitness } from '@xyo-network/witness-abstract'\nimport { fromByteArray } from 'base64-js'\nimport fillTemplate from 'es6-dynamic-template'\n\nimport { checkIpfsUrl } from '../lib/index.ts'\nimport type {\n HttpCall,\n HttpCallBase64Result,\n HttpCallErrorResult,\n HttpCallJsonResult,\n HttpCallJsonResultType,\n HttpCallResult,\n HttpCallXmlResult,\n MimeTypes,\n} from '../Payload/index.ts'\nimport {\n asHttpUriCall,\n asHttpUriTemplateCall,\n HttpCallResultSchema,\n HttpCallSchema,\n} from '../Payload/index.ts'\nimport type { HttpCallHtmlResult } from '../Payload/types/index.ts'\nimport { asHttpUriCallWitnessConfig, asHttpUriTemplateCallWitnessConfig } from './Config.ts'\nimport type { HttpCallWitnessParams } from './Params.ts'\nimport { HttpCallWitnessConfigSchema } from './Schema.ts'\n\nexport class HttpCallWitness<TParams extends HttpCallWitnessParams = HttpCallWitnessParams> extends AbstractWitness<TParams, HttpCall, HttpCallResult> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, HttpCallWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = HttpCallWitnessConfigSchema\n\n get accept(): MimeTypes {\n return this.config.accept ?? 'application/json'\n }\n\n get ipfsGateway() {\n return this.params.ipfsGateway\n }\n\n get timeout() {\n return this.config.timeout\n }\n\n getFullUri(call?: HttpCall): string {\n const { uri: callUri } = asHttpUriCall(call) ?? {}\n const {\n uriTemplate: callUriTemplate, params: callParams, queries: callQueries,\n } = asHttpUriTemplateCall(call) ?? {}\n const { uri: configUri } = asHttpUriCallWitnessConfig(this.config) ?? {}\n const {\n uriTemplate: configUriTemplate, params: configParams, queries: configQueries,\n } = asHttpUriTemplateCallWitnessConfig(this.config) ?? {}\n\n const params = { ...configParams, ...callParams }\n\n let url: URL | undefined = undefined\n\n if (callUri) {\n url = new URL(callUri)\n } else if (callUriTemplate) {\n url = new URL(fillTemplate(callUriTemplate, params))\n } else if (configUri) {\n url = new URL(configUri)\n } else if (configUriTemplate) {\n url = new URL(fillTemplate(configUriTemplate, params))\n }\n\n if (url) {\n const queries = Object.entries({ ...configQueries, ...callQueries })\n for (const [key, value] of queries) {\n url?.searchParams.set(key, value)\n }\n return url.href\n }\n\n throw new Error('Unable to determine uri. No uri/uriTemplate specified in either the call or config.')\n }\n\n getHeaders(headers?: Record<string, string | undefined>): Record<string, string | undefined> {\n return {\n ...this.params.headers, ...this.config.headers, ...headers,\n }\n }\n\n protected override async observeHandler(inPayloads: HttpCall[] = []): Promise<HttpCallResult[]> {\n await this.started('throw')\n try {\n const observations = await Promise.all(\n inPayloads.filter(isPayloadOfSchemaType<HttpCall>(HttpCallSchema)).map(async (call) => {\n const { verb: callVerb } = call\n const { verb: configVerb } = this.config\n const verb = callVerb ?? configVerb ?? 'get'\n const uri = this.getFullUri(call)\n\n const validatedUri = assertEx(checkIpfsUrl(uri, this.ipfsGateway), () => 'Invalid URI')\n\n if (verb === 'get') {\n return this.httpGet(validatedUri, (await PayloadBuilder.dataHash(call)))\n }\n\n const observation: HttpCallResult = {\n call: await ObjectHasher.hash(call),\n schema: HttpCallResultSchema,\n }\n return observation\n }),\n )\n return observations\n } catch (ex) {\n const error = ex as Error\n console.error(`Error [${this.config.name}]: ${error.message}`)\n console.log(error.stack)\n throw error\n }\n }\n\n // eslint-disable-next-line complexity\n private async httpGet(url: string, call: Hash, headers?: Record<string, string | undefined>): Promise<HttpCallResult> {\n const result: HttpCallResult = {\n call,\n schema: HttpCallResultSchema,\n }\n const signal = this.timeout !== undefined && this.timeout !== 0 ? AbortSignal.timeout(this.timeout) : undefined\n try {\n switch (this.accept) {\n case 'application/json': {\n const client = new FetchJsonClient({ headers: stringHeaders({ ...this.getHeaders(headers), Accept: 'application/json' }), timeout: this.timeout })\n const response = await client.get<HttpCallJsonResultType>(url)\n const jsonResult = result as HttpCallJsonResult\n jsonResult.data = response.data ?? undefined as unknown as HttpCallJsonResultType\n jsonResult.contentType = 'application/json'\n break\n }\n case 'application/xml':\n case 'text/xml': {\n const response = await fetch(url, {\n headers: stringHeaders({ ...this.getHeaders(headers), Accept: this.accept }),\n signal,\n })\n if (response.status >= 200 && response.status < 300) {\n const xmlResult = result as HttpCallXmlResult\n xmlResult.data = Buffer.from(await response.arrayBuffer()).toString('utf8')\n xmlResult.contentType = 'application/xml'\n } else {\n const errorResult = result as HttpCallErrorResult\n errorResult.http = { status: response.status }\n }\n break\n }\n case 'text/html': {\n const response = await fetch(url, {\n headers: stringHeaders({ ...this.getHeaders(headers), Accept: this.accept }),\n signal,\n })\n if (response.status >= 200 && response.status < 300) {\n const htmlResult = result as HttpCallHtmlResult\n htmlResult.data = await response.text()\n htmlResult.contentType = 'text/html'\n } else {\n const errorResult = result as HttpCallErrorResult\n errorResult.http = { status: response.status }\n }\n break\n }\n default: {\n const response = await fetch(url, {\n headers: stringHeaders(this.params.headers),\n signal,\n })\n if (response.status >= 200 && response.status < 300) {\n const jsonResult = result as HttpCallBase64Result\n jsonResult.data = fromByteArray(new Uint8Array(await response.arrayBuffer()))\n jsonResult.contentType = response.headers.get('content-type') ?? 'application/octet-stream'\n } else {\n const errorResult = result as HttpCallErrorResult\n errorResult.http = { status: response.status }\n }\n break\n }\n }\n } catch (ex) {\n if (ex instanceof FetchClientError) {\n result.http = result.http ?? {}\n result.http.status = ex.response.status\n return result\n }\n if (ex instanceof Error) {\n result.http = result.http ?? {}\n result.http.code = ex.name\n return result\n }\n throw ex\n }\n return result\n }\n}\n\nfunction stringHeaders(headers?: Record<string, string | undefined>): Record<string, string> | undefined {\n if (!headers) return undefined\n const out: Record<string, string> = {}\n for (const [key, value] of Object.entries(headers)) {\n if (value !== undefined) out[key] = value\n }\n return out\n}\n","import { assertEx, URL } from '@xylabs/sdk-js'\n\nconst allowIpfsIoRepair = true\n\n/**\n * Returns the equivalent IPFS gateway URL for the supplied URL.\n * @param urlToCheck The URL to check\n * @returns If the supplied URL is an IPFS URL, it converts the URL to the\n * equivalent IPFS gateway URL. Otherwise, returns the original URL.\n */\nexport const checkIpfsUrl = (urlToCheck: string, ipfsGateway?: string): string => {\n try {\n const url = new URL(urlToCheck)\n let protocol = url.protocol\n let host = url.host\n let path = url.pathname\n const query = url.search\n if (protocol === 'ipfs:') {\n protocol = 'https:'\n host = assertEx(ipfsGateway, () => 'No ipfsGateway provided')\n path = url.host === 'ipfs' ? `ipfs${path}` : `ipfs/${url.host}${path}`\n const root = `${protocol}//${host}/${path}`\n return query?.length > 0 ? `${root}?${query}` : root\n } else if (allowIpfsIoRepair && protocol === 'https' && host === 'ipfs.io') {\n protocol = 'https:'\n host = assertEx(ipfsGateway, () => 'No ipfsGateway provided')\n const pathParts = path.split('/')\n if (pathParts[0] === 'ipfs') {\n pathParts.shift()\n }\n path = pathParts.join('/')\n const root = `${protocol}//${host}/${path}`\n return query?.length > 0 ? `${root}?${query}` : root\n } else {\n return urlToCheck\n }\n } catch {\n // const error = ex as Error\n // console.error(`${error.name}:${error.message} [${urlToCheck}]`)\n // console.log(error.stack)\n return urlToCheck\n }\n}\n"],"mappings":"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","names":["AsObjectFactory","isPayloadOfSchemaType","isPayloadOfSchemaType","AsObjectFactory","AsObjectFactory","isPayloadOfSchemaType","isPayloadOfSchemaType","AsObjectFactory","AsObjectFactory","isPayloadOfSchemaType","isPayloadOfSchemaType","AsObjectFactory","AsObjectFactory","AsObjectFactory","AsObjectFactory","AsObjectFactory","isPayloadOfSchemaType","isPayloadOfSchemaType","AsObjectFactory","isPayloadOfSchemaType","isPayloadOfSchemaType","AsObjectFactory","AsObjectFactory","isPayloadOfSchemaType","asSchema","isPayloadOfSchemaType","AsObjectFactory","assertEx","URL","isPayloadOfSchemaType","URL","isPayloadOfSchemaType","assertEx"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/http-call-witness",
3
- "version": "5.4.9",
3
+ "version": "5.5.0",
4
4
  "description": "Typescript/Javascript Plugins for XYO Platform",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -34,44 +34,42 @@
34
34
  "@bitauth/libauth": "~3.0.0",
35
35
  "@metamask/providers": "^22.1.1",
36
36
  "@opentelemetry/api": "^1.9.1",
37
- "@opentelemetry/sdk-trace-base": "^2.7.0",
37
+ "@opentelemetry/sdk-trace-base": "^2.7.1",
38
38
  "@scure/base": "^2.2.0",
39
39
  "@scure/bip39": "~2.2.0",
40
40
  "@types/node": "^25.6.0",
41
- "@xylabs/geo": "^5.0.100",
42
- "@xylabs/sdk-js": "^5.0.100",
43
- "@xylabs/threads": "^5.0.100",
44
- "@xylabs/toolchain": "~7.11.8",
45
- "@xylabs/tsconfig": "~7.11.8",
46
- "@xylabs/vitest-extended": "~5.0.100",
47
- "@xylabs/vitest-matchers": "~5.0.100",
48
- "@xyo-network/account": "~5.5.1",
49
- "@xyo-network/account-model": "^5.5.1",
50
- "@xyo-network/api": "~5.5.1",
51
- "@xyo-network/api-models": "~5.5.1",
52
- "@xyo-network/boundwitness-builder": "~5.5.1",
53
- "@xyo-network/boundwitness-model": "^5.5.1",
54
- "@xyo-network/boundwitness-validator": "^5.5.1",
55
- "@xyo-network/boundwitness-wrapper": "~5.5.1",
56
- "@xyo-network/config-payload-plugin": "~5.5.1",
57
- "@xyo-network/huri": "~5.5.1",
58
- "@xyo-network/manifest-model": "~5.5.1",
59
- "@xyo-network/module-model": "^5.5.5",
60
- "@xyo-network/payload-builder": "~5.5.1",
61
- "@xyo-network/payload-model": "^5.5.1",
62
- "@xyo-network/payload-plugin": "~5.5.1",
63
- "@xyo-network/payload-wrapper": "~5.5.1",
64
- "@xyo-network/query-payload-plugin": "~5.5.1",
65
- "@xyo-network/sdk-js": "^5.5.5",
66
- "@xyo-network/sdk-protocol-js": "~5.5.1",
67
- "@xyo-network/sentinel-model": "~5.5.5",
68
- "@xyo-network/wallet": "~5.5.1",
69
- "@xyo-network/wallet-model": "~5.5.1",
70
- "@xyo-network/witness-abstract": "^5.5.5",
71
- "@xyo-network/witness-model": "^5.5.5",
72
- "ajv": "^8.18.0",
41
+ "@xylabs/geo": "^5.1.0",
42
+ "@xylabs/sdk-js": "^5.1.0",
43
+ "@xylabs/threads": "^5.1.0",
44
+ "@xylabs/toolchain": "~7.12.3",
45
+ "@xylabs/tsconfig": "~7.12.3",
46
+ "@xylabs/vitest-extended": "~5.1.0",
47
+ "@xyo-network/account": "~5.5.2",
48
+ "@xyo-network/account-model": "^5.5.2",
49
+ "@xyo-network/api": "~5.5.2",
50
+ "@xyo-network/api-models": "~5.5.2",
51
+ "@xyo-network/boundwitness-builder": "~5.5.2",
52
+ "@xyo-network/boundwitness-model": "^5.5.2",
53
+ "@xyo-network/boundwitness-validator": "^5.5.2",
54
+ "@xyo-network/boundwitness-wrapper": "~5.5.2",
55
+ "@xyo-network/config-payload-plugin": "~5.5.2",
56
+ "@xyo-network/huri": "~5.5.2",
57
+ "@xyo-network/manifest-model": "~5.5.2",
58
+ "@xyo-network/module-model": "^5.6.2",
59
+ "@xyo-network/payload-builder": "~5.5.2",
60
+ "@xyo-network/payload-model": "^5.5.2",
61
+ "@xyo-network/payload-plugin": "~5.5.2",
62
+ "@xyo-network/payload-wrapper": "~5.5.2",
63
+ "@xyo-network/query-payload-plugin": "~5.5.2",
64
+ "@xyo-network/sdk-js": "^5.6.2",
65
+ "@xyo-network/sdk-protocol-js": "~5.5.2",
66
+ "@xyo-network/sentinel-model": "~5.6.2",
67
+ "@xyo-network/wallet": "~5.5.2",
68
+ "@xyo-network/wallet-model": "~5.5.2",
69
+ "@xyo-network/witness-abstract": "^5.6.2",
70
+ "@xyo-network/witness-model": "^5.6.2",
71
+ "ajv": "^8.20.0",
73
72
  "async-mutex": "^0.5.0",
74
- "axios": "^1.15.2",
75
73
  "base64-js": "^1.5.1",
76
74
  "bn.js": "^5.2.3",
77
75
  "buffer": "^6.0.3",
@@ -79,12 +77,12 @@
79
77
  "debug": "~4.4.3",
80
78
  "es6-dynamic-template": "^2.0.0",
81
79
  "esbuild": "~0.28.0",
82
- "eslint": "^10.2.1",
80
+ "eslint": "^10.3.0",
83
81
  "ethers": "^6.16.0",
84
82
  "hash-wasm": "^4.12.0",
85
83
  "idb": "^8.0.3",
86
- "lru-cache": "^11.3.5",
87
- "mapbox-gl": "^3.22.0",
84
+ "lru-cache": "^11.3.6",
85
+ "mapbox-gl": "~3.23.1",
88
86
  "observable-fns": "~0.6.1",
89
87
  "pako": "~2.1.0",
90
88
  "store2": "~2.14.4",
@@ -93,18 +91,17 @@
93
91
  "vitest": "^4.1.5",
94
92
  "wasm-feature-detect": "~1.8.0",
95
93
  "webextension-polyfill": "^0.12.0",
96
- "zod": "^4.3.6"
94
+ "zod": "^4.4.3"
97
95
  },
98
96
  "peerDependencies": {
99
- "@xylabs/sdk-js": "^5.0.100",
100
- "@xyo-network/payload-model": "^5.5.1",
101
- "@xyo-network/sdk-js": "^5.5.5",
102
- "@xyo-network/witness-abstract": "^5.5.5",
103
- "@xyo-network/witness-model": "^5.5.5",
104
- "axios": "^1.15.2",
105
- "base64-js": "^1.5.1",
106
- "es6-dynamic-template": "^2.0.0",
107
- "zod": "^4.3.6"
97
+ "@xylabs/sdk-js": ">=5.1.0 <6",
98
+ "@xyo-network/payload-model": ">=5.5.2 <6",
99
+ "@xyo-network/sdk-js": ">=5.6.2 <6",
100
+ "@xyo-network/witness-abstract": ">=5.6.2 <6",
101
+ "@xyo-network/witness-model": ">=5.6.2 <6",
102
+ "base64-js": ">=1.5.1 <2",
103
+ "es6-dynamic-template": ">=2.0.0 <3",
104
+ "zod": ">=4.4.3 <5"
108
105
  },
109
106
  "publishConfig": {
110
107
  "access": "public"