@xyo-network/http-call-witness 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.
Files changed (64) hide show
  1. package/dist/neutral/Payload/identity/asHttpCall.d.ts +1 -1
  2. package/dist/neutral/Payload/identity/asHttpCallBase64Result.d.ts +1 -1
  3. package/dist/neutral/Payload/identity/asHttpCallResult.d.ts +1 -1
  4. package/dist/neutral/Payload/identity/asHttpCallXmlResult.d.ts +1 -1
  5. package/dist/neutral/Payload/identity/asHttpUriCall.d.ts +1 -1
  6. package/dist/neutral/Payload/identity/asHttpUriTemplateCall.d.ts +1 -1
  7. package/dist/neutral/Payload/types/HttpCallBase64Result.d.ts +1 -1
  8. package/dist/neutral/Payload/types/HttpCallBase64Result.d.ts.map +1 -1
  9. package/dist/neutral/Payload/types/HttpCallErrorResult.d.ts +1 -1
  10. package/dist/neutral/Payload/types/HttpCallErrorResult.d.ts.map +1 -1
  11. package/dist/neutral/Payload/types/HttpCallHtmlResult.d.ts +1 -1
  12. package/dist/neutral/Payload/types/HttpCallHtmlResult.d.ts.map +1 -1
  13. package/dist/neutral/Payload/types/HttpCallJsonResult.d.ts +2 -3
  14. package/dist/neutral/Payload/types/HttpCallJsonResult.d.ts.map +1 -1
  15. package/dist/neutral/Payload/types/HttpCallResult.d.ts +1 -1
  16. package/dist/neutral/Payload/types/HttpCallXmlResult.d.ts +1 -1
  17. package/dist/neutral/Payload/types/HttpCallXmlResult.d.ts.map +1 -1
  18. package/dist/neutral/Witness/Config.d.ts +3 -3
  19. package/dist/neutral/Witness/Witness.d.ts.map +1 -1
  20. package/dist/neutral/index.mjs +15 -15
  21. package/dist/neutral/index.mjs.map +1 -1
  22. package/dist/neutral/lib/checkIpfsUrl.d.ts.map +1 -1
  23. package/package.json +31 -30
  24. package/src/Payload/Schema.ts +0 -7
  25. package/src/Payload/identity/asHttpCall.ts +0 -5
  26. package/src/Payload/identity/asHttpCallBase64Result.ts +0 -5
  27. package/src/Payload/identity/asHttpCallResult.ts +0 -5
  28. package/src/Payload/identity/asHttpCallXmlResult.ts +0 -5
  29. package/src/Payload/identity/asHttpUriCall.ts +0 -5
  30. package/src/Payload/identity/asHttpUriTemplateCall.ts +0 -5
  31. package/src/Payload/identity/index.ts +0 -13
  32. package/src/Payload/identity/isHttpCall.ts +0 -6
  33. package/src/Payload/identity/isHttpCallBase64Result.ts +0 -8
  34. package/src/Payload/identity/isHttpCallErrorResult.ts +0 -7
  35. package/src/Payload/identity/isHttpCallResult.ts +0 -6
  36. package/src/Payload/identity/isHttpCallXmlResult.ts +0 -8
  37. package/src/Payload/identity/isHttpUriCall.ts +0 -4
  38. package/src/Payload/identity/isHttpUriTemplateCall.ts +0 -5
  39. package/src/Payload/index.ts +0 -3
  40. package/src/Payload/types/HttpCall.ts +0 -4
  41. package/src/Payload/types/HttpCallBase64Result.ts +0 -15
  42. package/src/Payload/types/HttpCallErrorResult.ts +0 -13
  43. package/src/Payload/types/HttpCallFields.ts +0 -8
  44. package/src/Payload/types/HttpCallHtmlResult.ts +0 -13
  45. package/src/Payload/types/HttpCallJsonResult.ts +0 -24
  46. package/src/Payload/types/HttpCallResult.ts +0 -12
  47. package/src/Payload/types/HttpCallXmlResult.ts +0 -13
  48. package/src/Payload/types/HttpMeta.ts +0 -4
  49. package/src/Payload/types/HttpUriCall.ts +0 -11
  50. package/src/Payload/types/HttpUriTemplateCall.ts +0 -12
  51. package/src/Payload/types/MimeTypes.ts +0 -13
  52. package/src/Payload/types/Queries.ts +0 -1
  53. package/src/Payload/types/Verb.ts +0 -1
  54. package/src/Payload/types/index.ts +0 -14
  55. package/src/Witness/Config.ts +0 -43
  56. package/src/Witness/Params.ts +0 -10
  57. package/src/Witness/Schema.ts +0 -4
  58. package/src/Witness/Witness.ts +0 -221
  59. package/src/Witness/index.ts +0 -4
  60. package/src/Witness/spec/opensea.nft-call.json +0 -41
  61. package/src/index.ts +0 -2
  62. package/src/lib/checkIpfsUrl.ts +0 -44
  63. package/src/lib/index.ts +0 -1
  64. package/src/types.d.ts +0 -1
@@ -1,2 +1,2 @@
1
- export declare const asApiCall: import("@xylabs/object").AsTypeFunction<import("../index.ts").HttpCall>;
1
+ export declare const asApiCall: import("@xylabs/sdk-js").AsTypeFunction<import("../index.ts").HttpCall>;
2
2
  //# sourceMappingURL=asHttpCall.d.ts.map
@@ -1,2 +1,2 @@
1
- export declare const asHttpCallBase64Result: import("@xylabs/object").AsTypeFunction<import("../index.ts").HttpCallBase64Result>;
1
+ export declare const asHttpCallBase64Result: import("@xylabs/sdk-js").AsTypeFunction<import("../index.ts").HttpCallBase64Result>;
2
2
  //# sourceMappingURL=asHttpCallBase64Result.d.ts.map
@@ -1,2 +1,2 @@
1
- export declare const asHttpCallResult: import("@xylabs/object").AsTypeFunction<import("../index.ts").HttpCallResult>;
1
+ export declare const asHttpCallResult: import("@xylabs/sdk-js").AsTypeFunction<import("../index.ts").HttpCallResult>;
2
2
  //# sourceMappingURL=asHttpCallResult.d.ts.map
@@ -1,2 +1,2 @@
1
- export declare const asHttpCallXmlResult: import("@xylabs/object").AsTypeFunction<import("../index.ts").HttpCallXmlResult>;
1
+ export declare const asHttpCallXmlResult: import("@xylabs/sdk-js").AsTypeFunction<import("../index.ts").HttpCallXmlResult>;
2
2
  //# sourceMappingURL=asHttpCallXmlResult.d.ts.map
@@ -1,2 +1,2 @@
1
- export declare const asHttpUriCall: import("@xylabs/object").AsTypeFunction<import("../index.ts").HttpUriCall>;
1
+ export declare const asHttpUriCall: import("@xylabs/sdk-js").AsTypeFunction<import("../index.ts").HttpUriCall>;
2
2
  //# sourceMappingURL=asHttpUriCall.d.ts.map
@@ -1,2 +1,2 @@
1
- export declare const asHttpUriTemplateCall: import("@xylabs/object").AsTypeFunction<import("../index.ts").HttpUriTemplateCall>;
1
+ export declare const asHttpUriTemplateCall: import("@xylabs/sdk-js").AsTypeFunction<import("../index.ts").HttpUriTemplateCall>;
2
2
  //# sourceMappingURL=asHttpUriTemplateCall.d.ts.map
@@ -1,4 +1,4 @@
1
- import type { Hash } from '@xylabs/hex';
1
+ import type { Hash } from '@xylabs/sdk-js';
2
2
  import type { Payload } from '@xyo-network/payload-model';
3
3
  import type { HttpCallResultSchema } from '../Schema.ts';
4
4
  import type { HttpCallJsonResult } from './HttpCallJsonResult.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"HttpCallBase64Result.d.ts","sourceRoot":"","sources":["../../../../src/Payload/types/HttpCallBase64Result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,MAAM,MAAM,oBAAoB,GAAG,OAAO,CACxC;IACE,IAAI,EAAE,IAAI,CAAA;IACV,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAA;IAC1G,IAAI,EAAE,MAAM,CAAA;CACb,EACD,oBAAoB,CACrB,CAAA"}
1
+ {"version":3,"file":"HttpCallBase64Result.d.ts","sourceRoot":"","sources":["../../../../src/Payload/types/HttpCallBase64Result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,MAAM,MAAM,oBAAoB,GAAG,OAAO,CACxC;IACE,IAAI,EAAE,IAAI,CAAA;IACV,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAA;IAC1G,IAAI,EAAE,MAAM,CAAA;CACb,EACD,oBAAoB,CACrB,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { Hash } from '@xylabs/hex';
1
+ import type { Hash } from '@xylabs/sdk-js';
2
2
  import type { Payload } from '@xyo-network/payload-model';
3
3
  import type { HttpCallResultSchema } from '../Schema.ts';
4
4
  import type { HttpMeta } from './HttpMeta.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"HttpCallErrorResult.d.ts","sourceRoot":"","sources":["../../../../src/Payload/types/HttpCallErrorResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE7C,MAAM,MAAM,mBAAmB,GAAG,OAAO,CACvC;IACE,IAAI,EAAE,IAAI,CAAA;IACV,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB,EACD,oBAAoB,CACrB,CAAA"}
1
+ {"version":3,"file":"HttpCallErrorResult.d.ts","sourceRoot":"","sources":["../../../../src/Payload/types/HttpCallErrorResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE7C,MAAM,MAAM,mBAAmB,GAAG,OAAO,CACvC;IACE,IAAI,EAAE,IAAI,CAAA;IACV,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB,EACD,oBAAoB,CACrB,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { Hash } from '@xylabs/hex';
1
+ import type { Hash } from '@xylabs/sdk-js';
2
2
  import type { Payload } from '@xyo-network/payload-model';
3
3
  import type { HttpCallResultSchema } from '../Schema.ts';
4
4
  export type HttpCallHtmlResult = Payload<{
@@ -1 +1 @@
1
- {"version":3,"file":"HttpCallHtmlResult.d.ts","sourceRoot":"","sources":["../../../../src/Payload/types/HttpCallHtmlResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAExD,MAAM,MAAM,kBAAkB,GAAG,OAAO,CACtC;IACE,IAAI,EAAE,IAAI,CAAA;IACV,WAAW,EAAE,WAAW,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;CACb,EACD,oBAAoB,CACrB,CAAA"}
1
+ {"version":3,"file":"HttpCallHtmlResult.d.ts","sourceRoot":"","sources":["../../../../src/Payload/types/HttpCallHtmlResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAExD,MAAM,MAAM,kBAAkB,GAAG,OAAO,CACtC;IACE,IAAI,EAAE,IAAI,CAAA;IACV,WAAW,EAAE,WAAW,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;CACb,EACD,oBAAoB,CACrB,CAAA"}
@@ -1,5 +1,4 @@
1
- import type { Hash } from '@xylabs/hex';
2
- import type { JsonArray, JsonObject } from '@xylabs/object';
1
+ import type { Hash, JsonArray, JsonObject } from '@xylabs/sdk-js';
3
2
  import type { Payload } from '@xyo-network/payload-model';
4
3
  import { HttpCallResultSchema } from '../Schema.ts';
5
4
  export type HttpCallJsonResultType = JsonArray | JsonObject;
@@ -9,5 +8,5 @@ export type HttpCallJsonResult<T extends HttpCallJsonResultType = HttpCallJsonRe
9
8
  data: T;
10
9
  }, HttpCallResultSchema>;
11
10
  export declare const isHttpCallJsonResult: <T extends HttpCallJsonResultType = HttpCallJsonResultType>(x?: unknown | null) => x is HttpCallJsonResult<T>;
12
- export declare const asHttpCallJsonResult: import("@xylabs/object").AsTypeFunction<HttpCallJsonResult<HttpCallJsonResultType>>;
11
+ export declare const asHttpCallJsonResult: import("@xylabs/sdk-js").AsTypeFunction<HttpCallJsonResult<HttpCallJsonResultType>>;
13
12
  //# sourceMappingURL=HttpCallJsonResult.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpCallJsonResult.d.ts","sourceRoot":"","sources":["../../../../src/Payload/types/HttpCallJsonResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAGnD,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,UAAU,CAAA;AAE3D,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,sBAAsB,GAAG,sBAAsB,IAAI,OAAO,CACjG;IACE,IAAI,EAAE,IAAI,CAAA;IACV,WAAW,EAAE,kBAAkB,CAAA;IAC/B,IAAI,EAAE,CAAC,CAAA;CACR,EACD,oBAAoB,CACrB,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,sBAAsB,GAAG,sBAAsB,EAAE,IAAI,OAAO,GAAG,IAAI,KAAG,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAE7I,CAAA;AACD,eAAO,MAAM,oBAAoB,qFAA+C,CAAA"}
1
+ {"version":3,"file":"HttpCallJsonResult.d.ts","sourceRoot":"","sources":["../../../../src/Payload/types/HttpCallJsonResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EAAE,SAAS,EAAE,UAAU,EAC5B,MAAM,gBAAgB,CAAA;AAEvB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAGnD,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,UAAU,CAAA;AAE3D,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,sBAAsB,GAAG,sBAAsB,IAAI,OAAO,CACjG;IACE,IAAI,EAAE,IAAI,CAAA;IACV,WAAW,EAAE,kBAAkB,CAAA;IAC/B,IAAI,EAAE,CAAC,CAAA;CACR,EACD,oBAAoB,CACrB,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,sBAAsB,GAAG,sBAAsB,EAAE,IAAI,OAAO,GAAG,IAAI,KAAG,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAE7I,CAAA;AACD,eAAO,MAAM,oBAAoB,qFAA+C,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { JsonArray, JsonObject } from '@xylabs/object';
1
+ import type { JsonArray, JsonObject } from '@xylabs/sdk-js';
2
2
  import type { HttpCallBase64Result } from './HttpCallBase64Result.ts';
3
3
  import type { HttpCallErrorResult } from './HttpCallErrorResult.ts';
4
4
  import type { HttpCallJsonResult } from './HttpCallJsonResult.ts';
@@ -1,4 +1,4 @@
1
- import type { Hash } from '@xylabs/hex';
1
+ import type { Hash } from '@xylabs/sdk-js';
2
2
  import type { Payload } from '@xyo-network/payload-model';
3
3
  import type { HttpCallResultSchema } from '../Schema.ts';
4
4
  export type HttpCallXmlResult = Payload<{
@@ -1 +1 @@
1
- {"version":3,"file":"HttpCallXmlResult.d.ts","sourceRoot":"","sources":["../../../../src/Payload/types/HttpCallXmlResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAExD,MAAM,MAAM,iBAAiB,GAAG,OAAO,CACrC;IACE,IAAI,EAAE,IAAI,CAAA;IACV,WAAW,EAAE,iBAAiB,GAAG,UAAU,CAAA;IAC3C,IAAI,EAAE,MAAM,CAAA;CACb,EACD,oBAAoB,CACrB,CAAA"}
1
+ {"version":3,"file":"HttpCallXmlResult.d.ts","sourceRoot":"","sources":["../../../../src/Payload/types/HttpCallXmlResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAExD,MAAM,MAAM,iBAAiB,GAAG,OAAO,CACrC;IACE,IAAI,EAAE,IAAI,CAAA;IACV,WAAW,EAAE,iBAAiB,GAAG,UAAU,CAAA;IAC3C,IAAI,EAAE,MAAM,CAAA;CACb,EACD,oBAAoB,CACrB,CAAA"}
@@ -18,9 +18,9 @@ export type HttpUriTemplateCallWitnessConfig = WitnessConfig<HttpCallWitnessConf
18
18
  }>;
19
19
  export type HttpCallWitnessConfig = HttpUriCallWitnessConfig | HttpUriTemplateCallWitnessConfig | HttpCallWitnessConfigBase;
20
20
  export declare const isHttpCallWitnessConfig: (x?: unknown | null) => x is HttpCallWitnessConfig;
21
- export declare const asHttpCallWitnessConfig: import("@xylabs/object").AsTypeFunction<HttpCallWitnessConfig>;
21
+ export declare const asHttpCallWitnessConfig: import("@xylabs/sdk-js").AsTypeFunction<HttpCallWitnessConfig>;
22
22
  export declare const isHttpUriCallWitnessConfig: (value?: unknown) => value is HttpUriCallWitnessConfig;
23
- export declare const asHttpUriCallWitnessConfig: import("@xylabs/object").AsTypeFunction<HttpUriCallWitnessConfig>;
23
+ export declare const asHttpUriCallWitnessConfig: import("@xylabs/sdk-js").AsTypeFunction<HttpUriCallWitnessConfig>;
24
24
  export declare const isHttpUriTemplateCallWitnessConfig: (value?: unknown) => value is HttpUriTemplateCallWitnessConfig;
25
- export declare const asHttpUriTemplateCallWitnessConfig: import("@xylabs/object").AsTypeFunction<HttpUriTemplateCallWitnessConfig>;
25
+ export declare const asHttpUriTemplateCallWitnessConfig: import("@xylabs/sdk-js").AsTypeFunction<HttpUriTemplateCallWitnessConfig>;
26
26
  //# sourceMappingURL=Config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../../src/Witness/Witness.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAG/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAQxD,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,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AASxD,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,5 +1,5 @@
1
1
  // src/Payload/identity/asHttpCall.ts
2
- import { AsObjectFactory } from "@xylabs/object";
2
+ import { AsObjectFactory } from "@xylabs/sdk-js";
3
3
 
4
4
  // src/Payload/identity/isHttpCall.ts
5
5
  import { isPayloadOfSchemaType } from "@xyo-network/payload-model";
@@ -16,7 +16,7 @@ var isHttpCall = isPayloadOfSchemaType(HttpCallSchema);
16
16
  var asApiCall = AsObjectFactory.create(isHttpCall);
17
17
 
18
18
  // src/Payload/identity/asHttpCallBase64Result.ts
19
- import { AsObjectFactory as AsObjectFactory2 } from "@xylabs/object";
19
+ import { AsObjectFactory as AsObjectFactory2 } from "@xylabs/sdk-js";
20
20
 
21
21
  // src/Payload/identity/isHttpCallBase64Result.ts
22
22
  import { isPayloadOfSchemaType as isPayloadOfSchemaType2 } from "@xyo-network/payload-model";
@@ -28,7 +28,7 @@ var isHttpCallBase64Result = (x) => {
28
28
  var asHttpCallBase64Result = AsObjectFactory2.create(isHttpCallBase64Result);
29
29
 
30
30
  // src/Payload/identity/asHttpCallResult.ts
31
- import { AsObjectFactory as AsObjectFactory3 } from "@xylabs/object";
31
+ import { AsObjectFactory as AsObjectFactory3 } from "@xylabs/sdk-js";
32
32
 
33
33
  // src/Payload/identity/isHttpCallResult.ts
34
34
  import { isPayloadOfSchemaType as isPayloadOfSchemaType3 } from "@xyo-network/payload-model";
@@ -38,7 +38,7 @@ var isHttpCallResult = isPayloadOfSchemaType3(HttpCallResultSchema);
38
38
  var asHttpCallResult = AsObjectFactory3.create(isHttpCallResult);
39
39
 
40
40
  // src/Payload/identity/asHttpCallXmlResult.ts
41
- import { AsObjectFactory as AsObjectFactory4 } from "@xylabs/object";
41
+ import { AsObjectFactory as AsObjectFactory4 } from "@xylabs/sdk-js";
42
42
 
43
43
  // src/Payload/identity/isHttpCallXmlResult.ts
44
44
  import { isPayloadOfSchemaType as isPayloadOfSchemaType4 } from "@xyo-network/payload-model";
@@ -50,7 +50,7 @@ var isHttpCallXmlResult = (x) => {
50
50
  var asHttpCallXmlResult = AsObjectFactory4.create(isHttpCallXmlResult);
51
51
 
52
52
  // src/Payload/identity/asHttpUriCall.ts
53
- import { AsObjectFactory as AsObjectFactory5 } from "@xylabs/object";
53
+ import { AsObjectFactory as AsObjectFactory5 } from "@xylabs/sdk-js";
54
54
 
55
55
  // src/Payload/identity/isHttpUriCall.ts
56
56
  var isHttpUriCall = (value) => isHttpCall(value) && !!value.uri;
@@ -59,7 +59,7 @@ var isHttpUriCall = (value) => isHttpCall(value) && !!value.uri;
59
59
  var asHttpUriCall = AsObjectFactory5.create(isHttpUriCall);
60
60
 
61
61
  // src/Payload/identity/asHttpUriTemplateCall.ts
62
- import { AsObjectFactory as AsObjectFactory6 } from "@xylabs/object";
62
+ import { AsObjectFactory as AsObjectFactory6 } from "@xylabs/sdk-js";
63
63
 
64
64
  // src/Payload/identity/isHttpUriTemplateCall.ts
65
65
  var isHttpUriTemplateCall = (value) => isHttpCall(value) && !!(value.uriTemplate || value.params);
@@ -72,7 +72,7 @@ import { isPayloadOfSchemaType as isPayloadOfSchemaType5 } from "@xyo-network/pa
72
72
  var isHttpCallErrorResult = (value) => !!isPayloadOfSchemaType5(HttpCallResultSchema) && (value.http?.status ?? 200) >= 400;
73
73
 
74
74
  // src/Payload/types/HttpCallJsonResult.ts
75
- import { AsObjectFactory as AsObjectFactory7 } from "@xylabs/object";
75
+ import { AsObjectFactory as AsObjectFactory7 } from "@xylabs/sdk-js";
76
76
  import { isPayloadOfSchemaType as isPayloadOfSchemaType6 } from "@xyo-network/payload-model";
77
77
  var isHttpCallJsonResult = (x) => {
78
78
  return isPayloadOfSchemaType6(HttpCallResultSchema)(x) && x?.contentType === "application/json";
@@ -80,7 +80,7 @@ var isHttpCallJsonResult = (x) => {
80
80
  var asHttpCallJsonResult = AsObjectFactory7.create(isHttpCallJsonResult);
81
81
 
82
82
  // src/Witness/Config.ts
83
- import { AsObjectFactory as AsObjectFactory8 } from "@xylabs/object";
83
+ import { AsObjectFactory as AsObjectFactory8 } from "@xylabs/sdk-js";
84
84
  import { isPayloadOfSchemaType as isPayloadOfSchemaType7 } from "@xyo-network/payload-model";
85
85
 
86
86
  // src/Witness/Schema.ts
@@ -96,20 +96,20 @@ var isHttpUriTemplateCallWitnessConfig = (value) => isHttpCallWitnessConfig(valu
96
96
  var asHttpUriTemplateCallWitnessConfig = AsObjectFactory8.create(isHttpUriTemplateCallWitnessConfig);
97
97
 
98
98
  // src/Witness/Witness.ts
99
- import { assertEx as assertEx2 } from "@xylabs/assert";
100
- import { axiosJsonConfig } from "@xylabs/axios";
101
- import { URL as URL2 } from "@xylabs/url";
99
+ import {
100
+ assertEx as assertEx2,
101
+ axiosJsonConfig,
102
+ URL as URL2
103
+ } from "@xylabs/sdk-js";
102
104
  import { AbstractWitness } from "@xyo-network/abstract-witness";
103
- import { ObjectHasher } from "@xyo-network/hash";
104
- import { PayloadBuilder } from "@xyo-network/payload-builder";
105
105
  import { isPayloadOfSchemaType as isPayloadOfSchemaType8 } from "@xyo-network/payload-model";
106
+ import { ObjectHasher, PayloadBuilder } from "@xyo-network/sdk-js";
106
107
  import { Axios } from "axios";
107
108
  import { fromByteArray } from "base64-js";
108
109
  import fillTemplate from "es6-dynamic-template";
109
110
 
110
111
  // src/lib/checkIpfsUrl.ts
111
- import { assertEx } from "@xylabs/assert";
112
- import { URL } from "@xylabs/url";
112
+ import { assertEx, URL } from "@xylabs/sdk-js";
113
113
  var allowIpfsIoRepair = true;
114
114
  var checkIpfsUrl = (urlToCheck, ipfsGateway) => {
115
115
  try {
@@ -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/object'\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/object'\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/object'\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/object'\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/object'\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/object'\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 { Hash } from '@xylabs/hex'\nimport type { JsonArray, JsonObject } from '@xylabs/object'\nimport { AsObjectFactory } from '@xylabs/object'\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/object'\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 { assertEx } from '@xylabs/assert'\nimport { axiosJsonConfig } from '@xylabs/axios'\nimport type { Hash } from '@xylabs/hex'\nimport { URL } from '@xylabs/url'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { ObjectHasher } from '@xyo-network/hash'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { Schema } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\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 (let [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 = response.headers['content-type']?.toString() ?? '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 = response.headers['content-type']?.toString() ?? '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 } from '@xylabs/assert'\nimport { URL } from '@xylabs/url'\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":";AAAA,SAAS,uBAAuB;;;ACAhC,SAAS,6BAA6B;;;ACAtC,SAAS,gBAAgB;AAElB,IAAM,iBAAiB,SAAS,yBAAyB,IAAI;AAG7D,IAAM,uBAAuB,SAAS,GAAG,cAAc,WAAW,IAAI;;;ADAtE,IAAM,aAAa,sBAAgC,cAAc;;;ADDjE,IAAM,YAAY,gBAAgB,OAAO,UAAU;;;AGJ1D,SAAS,mBAAAA,wBAAuB;;;ACAhC,SAAS,yBAAAC,8BAA6B;AAK/B,IAAM,yBAAyB,CAAC,MAAkD;AACvF,SAAOC,uBAAsC,oBAAoB,EAAE,CAAC,KAAK,OAAQ,GAA4B,SAAS;AACxH;;;ADHO,IAAM,yBAAyBC,iBAAgB,OAAO,sBAAsB;;;AEJnF,SAAS,mBAAAC,wBAAuB;;;ACAhC,SAAS,yBAAAC,8BAA6B;AAK/B,IAAM,mBAAmBC,uBAAsC,oBAAoB;;;ADDnF,IAAM,mBAAmBC,iBAAgB,OAAO,gBAAgB;;;AEJvE,SAAS,mBAAAC,wBAAuB;;;ACAhC,SAAS,yBAAAC,8BAA6B;AAK/B,IAAM,sBAAsB,CAAC,MAA+C;AACjF,SAAOC,uBAAsC,oBAAoB,EAAE,CAAC,KAAK,OAAQ,GAAyB,SAAS;AACrH;;;ADHO,IAAM,sBAAsBC,iBAAgB,OAAO,mBAAmB;;;AEJ7E,SAAS,mBAAAC,wBAAuB;;;ACGzB,IAAM,gBAAgB,CAAC,UAA0C,WAAW,KAAK,KAAK,CAAC,CAAE,MAAsB;;;ADC/G,IAAM,gBAAgBC,iBAAgB,OAAO,aAAa;;;AEJjE,SAAS,mBAAAC,wBAAuB;;;ACGzB,IAAM,wBAAwB,CAAC,UACpC,WAAW,KAAK,KAAK,CAAC,EAAG,MAA8B,eAAgB,MAA8B;;;ADAhG,IAAM,wBAAwBC,iBAAgB,OAAO,qBAAqB;;;AEJjF,SAAS,yBAAAC,8BAA6B;AAK/B,IAAM,wBAAwB,CAAC,UACpC,CAAC,CAACC,uBAAsC,oBAAoB,MAAO,MAA8B,MAAM,UAAU,QAAQ;;;ACJ3H,SAAS,mBAAAC,wBAAuB;AAEhC,SAAS,yBAAAC,8BAA6B;AAgB/B,IAAM,uBAAuB,CAA4D,MAAmD;AACjJ,SAAOC,uBAAsC,oBAAoB,EAAE,CAAC,KAAM,GAA0B,gBAAgB;AACtH;AACO,IAAM,uBAAuBC,iBAAgB,OAAO,oBAAoB;;;ACvB/E,SAAS,mBAAAC,wBAAuB;AAChC,SAAS,yBAAAC,8BAA6B;;;ACDtC,SAAS,YAAAC,iBAAgB;AAElB,IAAM,8BAA8BA,UAAS,wCAAwC,IAAI;;;AD+BzF,IAAM,0BAA0BC,uBAA6C,2BAA2B;AACxG,IAAM,0BAA0BC,iBAAgB,OAAO,uBAAuB;AAE9E,IAAM,6BAA6B,CAAC,UACzC,wBAAwB,KAAK,KAAK,CAAC,CAAE,MAAmC;AACnE,IAAM,6BAA6BA,iBAAgB,OAAO,0BAA0B;AAEpF,IAAM,qCAAqC,CAAC,UACjD,wBAAwB,KAAK,KAAK,CAAC,CAAE,MAA2C;AAC3E,IAAM,qCAAqCA,iBAAgB,OAAO,kCAAkC;;;AEzC3G,SAAS,YAAAC,iBAAgB;AACzB,SAAS,uBAAuB;AAEhC,SAAS,OAAAC,YAAW;AACpB,SAAS,uBAAuB;AAChC,SAAS,oBAAoB;AAC7B,SAAS,sBAAsB;AAE/B,SAAS,yBAAAC,8BAA6B;AAEtC,SAAS,aAAa;AACtB,SAAS,qBAAqB;AAC9B,OAAO,kBAAkB;;;ACbzB,SAAS,gBAAgB;AACzB,SAAS,WAAW;AAEpB,IAAM,oBAAoB;AAQnB,IAAM,eAAe,CAAC,YAAoB,gBAAiC;AAChF,MAAI;AACF,UAAM,MAAM,IAAI,IAAI,UAAU;AAC9B,QAAI,WAAW,IAAI;AACnB,QAAI,OAAO,IAAI;AACf,QAAI,OAAO,IAAI;AACf,UAAM,QAAQ,IAAI;AAClB,QAAI,aAAa,SAAS;AACxB,iBAAW;AACX,aAAO,SAAS,aAAa,MAAM,yBAAyB;AAC5D,aAAO,IAAI,SAAS,SAAS,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,GAAG,IAAI;AACpE,YAAM,OAAO,GAAG,QAAQ,KAAK,IAAI,IAAI,IAAI;AACzC,aAAO,OAAO,SAAS,IAAI,GAAG,IAAI,IAAI,KAAK,KAAK;AAAA,IAClD,WAAW,qBAAqB,aAAa,WAAW,SAAS,WAAW;AAC1E,iBAAW;AACX,aAAO,SAAS,aAAa,MAAM,yBAAyB;AAC5D,YAAM,YAAY,KAAK,MAAM,GAAG;AAChC,UAAI,UAAU,CAAC,MAAM,QAAQ;AAC3B,kBAAU,MAAM;AAAA,MAClB;AACA,aAAO,UAAU,KAAK,GAAG;AACzB,YAAM,OAAO,GAAG,QAAQ,KAAK,IAAI,IAAI,IAAI;AACzC,aAAO,OAAO,SAAS,IAAI,GAAG,IAAI,IAAI,KAAK,KAAK;AAAA,IAClD,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF,QAAQ;AAIN,WAAO;AAAA,EACT;AACF;;;ADNO,IAAM,kBAAN,cAA6F,gBAAmD;AAAA,EACrJ,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,2BAA2B;AAAA,EACvG,OAAyB,sBAA8B;AAAA,EAEvD,IAAI,SAAoB;AACtB,WAAO,KAAK,OAAO,UAAU;AAAA,EAC/B;AAAA,EAEA,IAAI,cAAc;AAChB,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,IAAI,UAAU;AACZ,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,WAAW,MAAyB;AAClC,UAAM,EAAE,KAAK,QAAQ,IAAI,cAAc,IAAI,KAAK,CAAC;AACjD,UAAM;AAAA,MACJ,aAAa;AAAA,MAAiB,QAAQ;AAAA,MAAY,SAAS;AAAA,IAC7D,IAAI,sBAAsB,IAAI,KAAK,CAAC;AACpC,UAAM,EAAE,KAAK,UAAU,IAAI,2BAA2B,KAAK,MAAM,KAAK,CAAC;AACvE,UAAM;AAAA,MACJ,aAAa;AAAA,MAAmB,QAAQ;AAAA,MAAc,SAAS;AAAA,IACjE,IAAI,mCAAmC,KAAK,MAAM,KAAK,CAAC;AAExD,UAAM,SAAS,EAAE,GAAG,cAAc,GAAG,WAAW;AAEhD,QAAI,MAAuB;AAE3B,QAAI,SAAS;AACX,YAAM,IAAIC,KAAI,OAAO;AAAA,IACvB,WAAW,iBAAiB;AAC1B,YAAM,IAAIA,KAAI,aAAa,iBAAiB,MAAM,CAAC;AAAA,IACrD,WAAW,WAAW;AACpB,YAAM,IAAIA,KAAI,SAAS;AAAA,IACzB,WAAW,mBAAmB;AAC5B,YAAM,IAAIA,KAAI,aAAa,mBAAmB,MAAM,CAAC;AAAA,IACvD;AAEA,QAAI,KAAK;AACP,YAAM,UAAU,OAAO,QAAQ,EAAE,GAAG,eAAe,GAAG,YAAY,CAAC;AACnE,eAAS,CAAC,KAAK,KAAK,KAAK,SAAS;AAChC,aAAK,aAAa,IAAI,KAAK,KAAK;AAAA,MAClC;AACA,aAAO,IAAI;AAAA,IACb;AAEA,UAAM,IAAI,MAAM,qFAAqF;AAAA,EACvG;AAAA,EAEA,WAAW,SAAkF;AAC3F,WAAO;AAAA,MACL,GAAG,KAAK,OAAO;AAAA,MAAS,GAAG,KAAK,OAAO;AAAA,MAAS,GAAG;AAAA,IACrD;AAAA,EACF;AAAA,EAEA,MAAyB,eAAe,aAAyB,CAAC,GAA8B;AAC9F,UAAM,KAAK,QAAQ,OAAO;AAC1B,QAAI;AACF,YAAM,eAAe,MAAM,QAAQ;AAAA,QACjC,WAAW,OAAOC,uBAAgC,cAAc,CAAC,EAAE,IAAI,OAAO,SAAS;AACrF,gBAAM,EAAE,MAAM,SAAS,IAAI;AAC3B,gBAAM,EAAE,MAAM,WAAW,IAAI,KAAK;AAClC,gBAAM,OAAO,YAAY,cAAc;AACvC,gBAAM,MAAM,KAAK,WAAW,IAAI;AAEhC,gBAAM,eAAeC,UAAS,aAAa,KAAK,KAAK,WAAW,GAAG,MAAM,aAAa;AAEtF,cAAI,SAAS,OAAO;AAClB,mBAAO,KAAK,QAAQ,cAAe,MAAM,eAAe,SAAS,IAAI,CAAE;AAAA,UACzE;AAEA,gBAAM,cAA8B;AAAA,YAClC,MAAM,MAAM,aAAa,KAAK,IAAI;AAAA,YAClC,QAAQ;AAAA,UACV;AACA,iBAAO;AAAA,QACT,CAAC;AAAA,MACH;AACA,aAAO;AAAA,IACT,SAAS,IAAI;AACX,YAAM,QAAQ;AACd,cAAQ,MAAM,UAAU,KAAK,OAAO,IAAI,MAAM,MAAM,OAAO,EAAE;AAC7D,cAAQ,IAAI,MAAM,KAAK;AACvB,YAAM;AAAA,IACR;AAAA,EACF;AAAA;AAAA,EAGA,MAAc,QAAQ,KAAa,MAAY,SAAuE;AACpH,UAAM,SAAyB;AAAA,MAC7B;AAAA,MACA,QAAQ;AAAA,IACV;AACA,QAAI;AACF,cAAQ,KAAK,QAAQ;AAAA,QACnB,KAAK,oBAAoB;AACvB,gBAAM,QAAQ,IAAI,MAAM,gBAAgB;AAAA,YACtC,SAAS,EAAE,GAAG,KAAK,WAAW,OAAO,GAAG,QAAQ,mBAAmB;AAAA,YAAG,SAAS,KAAK;AAAA,YAAS,YAAY;AAAA,UAC3G,CAAC,CAAC;AACF,gBAAM,WAAW,MAAM,MAAM,IAA4B,GAAG;AAC5D,cAAI,SAAS,UAAU,OAAO,SAAS,SAAS,KAAK;AACnD,kBAAM,aAAa;AACnB,uBAAW,OAAO,SAAS;AAC3B,uBAAW,cAAc;AAAA,UAC3B,OAAO;AACL,kBAAM,cAAc;AACpB,wBAAY,OAAO,EAAE,QAAQ,SAAS,OAAO;AAAA,UAC/C;AACA;AAAA,QACF;AAAA,QACA,KAAK;AAAA,QACL,KAAK,YAAY;AACf,gBAAM,QAAQ,IAAI,MAAM;AAAA,YACtB,SAAS,EAAE,GAAG,KAAK,WAAW,OAAO,GAAG,QAAQ,KAAK,OAAO;AAAA,YAC5D,cAAc;AAAA,YACd,YAAY;AAAA,YACZ,SAAS,KAAK;AAAA,UAChB,CAAC;AACD,gBAAM,WAAW,MAAM,MAAM,IAAI,GAAG;AACpC,cAAI,SAAS,UAAU,OAAO,SAAS,SAAS,KAAK;AACnD,kBAAM,YAAY;AAClB,sBAAU,OAAO,OAAO,KAAK,SAAS,MAAM,QAAQ,EAAE,SAAS,MAAM;AACrE,sBAAU,cAAc,SAAS,QAAQ,cAAc,GAAG,SAAS,KAAK;AAAA,UAC1E,OAAO;AACL,kBAAM,cAAc;AACpB,wBAAY,OAAO,EAAE,QAAQ,SAAS,OAAO;AAAA,UAC/C;AACA;AAAA,QACF;AAAA,QACA,KAAK,aAAY;AACf,gBAAM,QAAQ,IAAI,MAAM;AAAA,YACtB,SAAS,EAAE,GAAG,KAAK,WAAW,OAAO,GAAG,QAAQ,KAAK,OAAO;AAAA,YAC5D,cAAc;AAAA,YACd,YAAY;AAAA,YACZ,SAAS,KAAK;AAAA,UAChB,CAAC;AACD,gBAAM,WAAW,MAAM,MAAM,IAAI,GAAG;AACpC,cAAI,SAAS,UAAU,OAAO,SAAS,SAAS,KAAK;AACnD,kBAAM,aAAa;AACnB,uBAAW,OAAO,SAAS;AAC3B,uBAAW,cAAc,SAAS,QAAQ,cAAc,GAAG,SAAS,KAAK;AAAA,UAC3E,OAAO;AACL,kBAAM,cAAc;AACpB,wBAAY,OAAO,EAAE,QAAQ,SAAS,OAAO;AAAA,UAC/C;AACA;AAAA,QACF;AAAA,QACA,SAAS;AACP,gBAAM,QAAQ,IAAI,MAAM;AAAA,YACtB,SAAS,KAAK,OAAO;AAAA,YAAS,cAAc;AAAA,YAAe,SAAS,KAAK;AAAA,YAAS,YAAY;AAAA,UAChG,CAAC;AACD,gBAAM,WAAW,MAAM,MAAM,IAAI,GAAG;AACpC,cAAI,SAAS,UAAU,OAAO,SAAS,SAAS,KAAK;AACnD,kBAAM,aAAa;AACnB,uBAAW,OAAO,cAAc,SAAS,IAAI;AAC7C,uBAAW,cAAc,SAAS,QAAQ,cAAc,GAAG,SAAS,KAAK;AAAA,UAC3E,OAAO;AACL,kBAAM,cAAc;AACpB,wBAAY,OAAO,EAAE,QAAQ,SAAS,OAAO;AAAA,UAC/C;AACA;AAAA,QACF;AAAA,MACF;AAAA,IACF,SAAS,IAAI;AACX,YAAM,aAAa;AACnB,UAAI,WAAW,cAAc;AAC3B,YAAI,YAAY,UAAU,WAAW,QAAW;AAC9C,iBAAO,OAAO,OAAO,QAAQ,CAAC;AAC9B,iBAAO,KAAK,SAAS,YAAY,UAAU;AAAA,QAC7C;AACA,YAAI,YAAY,SAAS,QAAW;AAClC,iBAAO,OAAO,OAAO,QAAQ,CAAC;AAC9B,iBAAO,KAAK,OAAO,YAAY;AAAA,QACjC;AACA,eAAO;AAAA,MACT,OAAO;AACL,cAAM;AAAA,MACR;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACF;","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, axiosJsonConfig, URL,\n} from '@xylabs/sdk-js'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport type { Schema } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { ObjectHasher, PayloadBuilder } from '@xyo-network/sdk-js'\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 (let [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 = response.headers['content-type']?.toString() ?? '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 = response.headers['content-type']?.toString() ?? '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 +1 @@
1
- {"version":3,"file":"checkIpfsUrl.d.ts","sourceRoot":"","sources":["../../../src/lib/checkIpfsUrl.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,YAAY,MAAM,EAAE,cAAc,MAAM,KAAG,MAgCvE,CAAA"}
1
+ {"version":3,"file":"checkIpfsUrl.d.ts","sourceRoot":"","sources":["../../../src/lib/checkIpfsUrl.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,YAAY,MAAM,EAAE,cAAc,MAAM,KAAG,MAgCvE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/http-call-witness",
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,38 +30,39 @@
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
- "@xylabs/hex": "~5.0.64",
42
- "@xylabs/object": "~5.0.64",
43
- "@xylabs/url": "~5.0.64",
44
- "@xyo-network/abstract-witness": "~5.3.2",
45
- "@xyo-network/hash": "~5.3.2",
46
- "@xyo-network/payload-builder": "~5.3.2",
47
- "@xyo-network/payload-model": "~5.3.2",
48
- "@xyo-network/witness-model": "~5.3.2",
49
- "axios": "^1.13.4",
50
- "base64-js": "~1.5.1",
51
- "es6-dynamic-template": "~2.0.0"
52
- },
53
35
  "devDependencies": {
54
- "@xylabs/ts-scripts-yarn3": "~7.3.2",
55
- "@xylabs/tsconfig": "~7.3.2",
56
- "@xylabs/vitest-extended": "~5.0.64",
57
- "@xyo-network/manifest": "~5.3.2",
58
- "@xyo-network/module-factory-locator": "~5.3.2",
59
- "@xyo-network/module-model": "~5.3.2",
60
- "@xyo-network/sentinel-model": "~5.3.2",
61
- "@xyo-network/wallet": "~5.3.2",
62
- "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-factory-locator": "~5.3.5",
43
+ "@xyo-network/module-model": "~5.3.5",
44
+ "@xyo-network/payload-model": "~5.3.5",
45
+ "@xyo-network/sdk-js": "~5.3.5",
46
+ "@xyo-network/sentinel-model": "~5.3.5",
47
+ "@xyo-network/wallet": "~5.3.5",
48
+ "@xyo-network/witness-model": "~5.3.5",
49
+ "axios": "^1.13.5",
50
+ "base64-js": "~1.5.1",
51
+ "es6-dynamic-template": "~2.0.0",
63
52
  "typescript": "~5.9.3",
64
- "vitest": "~4.0.18"
53
+ "vitest": "~4.1.2",
54
+ "zod": "^4.3.6"
55
+ },
56
+ "peerDependencies": {
57
+ "@xylabs/sdk-js": "^5",
58
+ "@xyo-network/abstract-witness": "^5",
59
+ "@xyo-network/payload-model": "^5",
60
+ "@xyo-network/sdk-js": "^5",
61
+ "@xyo-network/witness-model": "^5",
62
+ "axios": "^1",
63
+ "base64-js": "^1",
64
+ "es6-dynamic-template": "^2",
65
+ "zod": "^4"
65
66
  },
66
67
  "publishConfig": {
67
68
  "access": "public"
@@ -1,7 +0,0 @@
1
- import { asSchema } from '@xyo-network/payload-model'
2
-
3
- export const HttpCallSchema = asSchema('network.xyo.http.call', true)
4
- export type HttpCallSchema = typeof HttpCallSchema
5
-
6
- export const HttpCallResultSchema = asSchema(`${HttpCallSchema}.result`, true)
7
- export type HttpCallResultSchema = typeof HttpCallResultSchema
@@ -1,5 +0,0 @@
1
- import { AsObjectFactory } from '@xylabs/object'
2
-
3
- import { isHttpCall } from './isHttpCall.ts'
4
-
5
- export const asApiCall = AsObjectFactory.create(isHttpCall)
@@ -1,5 +0,0 @@
1
- import { AsObjectFactory } from '@xylabs/object'
2
-
3
- import { isHttpCallBase64Result } from './isHttpCallBase64Result.ts'
4
-
5
- export const asHttpCallBase64Result = AsObjectFactory.create(isHttpCallBase64Result)
@@ -1,5 +0,0 @@
1
- import { AsObjectFactory } from '@xylabs/object'
2
-
3
- import { isHttpCallResult } from './isHttpCallResult.ts'
4
-
5
- export const asHttpCallResult = AsObjectFactory.create(isHttpCallResult)
@@ -1,5 +0,0 @@
1
- import { AsObjectFactory } from '@xylabs/object'
2
-
3
- import { isHttpCallXmlResult } from './isHttpCallXmlResult.ts'
4
-
5
- export const asHttpCallXmlResult = AsObjectFactory.create(isHttpCallXmlResult)
@@ -1,5 +0,0 @@
1
- import { AsObjectFactory } from '@xylabs/object'
2
-
3
- import { isHttpUriCall } from './isHttpUriCall.ts'
4
-
5
- export const asHttpUriCall = AsObjectFactory.create(isHttpUriCall)
@@ -1,5 +0,0 @@
1
- import { AsObjectFactory } from '@xylabs/object'
2
-
3
- import { isHttpUriTemplateCall } from './isHttpUriTemplateCall.ts'
4
-
5
- export const asHttpUriTemplateCall = AsObjectFactory.create(isHttpUriTemplateCall)
@@ -1,13 +0,0 @@
1
- export * from './asHttpCall.ts'
2
- export * from './asHttpCallBase64Result.ts'
3
- export * from './asHttpCallResult.ts'
4
- export * from './asHttpCallXmlResult.ts'
5
- export * from './asHttpUriCall.ts'
6
- export * from './asHttpUriTemplateCall.ts'
7
- export * from './isHttpCall.ts'
8
- export * from './isHttpCallBase64Result.ts'
9
- export * from './isHttpCallErrorResult.ts'
10
- export * from './isHttpCallResult.ts'
11
- export * from './isHttpCallXmlResult.ts'
12
- export * from './isHttpUriCall.ts'
13
- export * from './isHttpUriTemplateCall.ts'
@@ -1,6 +0,0 @@
1
- import { isPayloadOfSchemaType } from '@xyo-network/payload-model'
2
-
3
- import { HttpCallSchema } from '../Schema.ts'
4
- import type { HttpCall } from '../types/index.ts'
5
-
6
- export const isHttpCall = isPayloadOfSchemaType<HttpCall>(HttpCallSchema)
@@ -1,8 +0,0 @@
1
- import { isPayloadOfSchemaType } from '@xyo-network/payload-model'
2
-
3
- import { HttpCallResultSchema } from '../Schema.ts'
4
- import type { HttpCallBase64Result, HttpCallResult } from '../types/index.ts'
5
-
6
- export const isHttpCallBase64Result = (x?: unknown | null): x is HttpCallBase64Result => {
7
- return isPayloadOfSchemaType<HttpCallResult>(HttpCallResultSchema)(x) && typeof (x as HttpCallBase64Result)?.data === 'string'
8
- }
@@ -1,7 +0,0 @@
1
- import { isPayloadOfSchemaType } from '@xyo-network/payload-model'
2
-
3
- import { HttpCallResultSchema } from '../Schema.ts'
4
- import type { HttpCallErrorResult, HttpCallResult } from '../types/index.ts'
5
-
6
- export const isHttpCallErrorResult = (value: unknown): value is HttpCallErrorResult =>
7
- !!isPayloadOfSchemaType<HttpCallResult>(HttpCallResultSchema) && ((value as HttpCallErrorResult).http?.status ?? 200) >= 400
@@ -1,6 +0,0 @@
1
- import { isPayloadOfSchemaType } from '@xyo-network/payload-model'
2
-
3
- import { HttpCallResultSchema } from '../Schema.ts'
4
- import type { HttpCallResult } from '../types/index.ts'
5
-
6
- export const isHttpCallResult = isPayloadOfSchemaType<HttpCallResult>(HttpCallResultSchema)
@@ -1,8 +0,0 @@
1
- import { isPayloadOfSchemaType } from '@xyo-network/payload-model'
2
-
3
- import { HttpCallResultSchema } from '../Schema.ts'
4
- import type { HttpCallResult, HttpCallXmlResult } from '../types/index.ts'
5
-
6
- export const isHttpCallXmlResult = (x?: unknown | null): x is HttpCallXmlResult => {
7
- return isPayloadOfSchemaType<HttpCallResult>(HttpCallResultSchema)(x) && typeof (x as HttpCallXmlResult)?.data === 'string'
8
- }
@@ -1,4 +0,0 @@
1
- import type { HttpUriCall } from '../types/index.ts'
2
- import { isHttpCall } from './isHttpCall.ts'
3
-
4
- export const isHttpUriCall = (value?: unknown): value is HttpUriCall => isHttpCall(value) && !!(value as HttpUriCall).uri
@@ -1,5 +0,0 @@
1
- import type { HttpUriTemplateCall } from '../types/index.ts'
2
- import { isHttpCall } from './isHttpCall.ts'
3
-
4
- export const isHttpUriTemplateCall = (value?: unknown): value is HttpUriTemplateCall =>
5
- isHttpCall(value) && !!((value as HttpUriTemplateCall).uriTemplate || (value as HttpUriTemplateCall).params)
@@ -1,3 +0,0 @@
1
- export * from './identity/index.ts'
2
- export * from './Schema.ts'
3
- export * from './types/index.ts'
@@ -1,4 +0,0 @@
1
- import type { HttpUriCall } from './HttpUriCall.ts'
2
- import type { HttpUriTemplateCall } from './HttpUriTemplateCall.ts'
3
-
4
- export type HttpCall = HttpUriCall | HttpUriTemplateCall
@@ -1,15 +0,0 @@
1
- import type { Hash } from '@xylabs/hex'
2
- import type { Payload } from '@xyo-network/payload-model'
3
-
4
- import type { HttpCallResultSchema } from '../Schema.ts'
5
- import type { HttpCallJsonResult } from './HttpCallJsonResult.ts'
6
- import type { HttpCallXmlResult } from './HttpCallXmlResult.ts'
7
-
8
- export type HttpCallBase64Result = Payload<
9
- {
10
- call: Hash
11
- contentType: Exclude<Exclude<string, HttpCallJsonResult['contentType']>, HttpCallXmlResult['contentType']>
12
- data: string
13
- },
14
- HttpCallResultSchema
15
- >
@@ -1,13 +0,0 @@
1
- import type { Hash } from '@xylabs/hex'
2
- import type { Payload } from '@xyo-network/payload-model'
3
-
4
- import type { HttpCallResultSchema } from '../Schema.ts'
5
- import type { HttpMeta } from './HttpMeta.ts'
6
-
7
- export type HttpCallErrorResult = Payload<
8
- {
9
- call: Hash
10
- http?: HttpMeta
11
- },
12
- HttpCallResultSchema
13
- >
@@ -1,8 +0,0 @@
1
- import type { Queries } from './Queries.ts'
2
- import type { Verb } from './Verb.ts'
3
-
4
- export interface HttpCallFields {
5
- headers?: Record<string, string | undefined>
6
- queries?: Queries
7
- verb?: Verb
8
- }
@@ -1,13 +0,0 @@
1
- import type { Hash } from '@xylabs/hex'
2
- import type { Payload } from '@xyo-network/payload-model'
3
-
4
- import type { HttpCallResultSchema } from '../Schema.ts'
5
-
6
- export type HttpCallHtmlResult = Payload<
7
- {
8
- call: Hash
9
- contentType: 'text/html'
10
- data: string
11
- },
12
- HttpCallResultSchema
13
- >
@@ -1,24 +0,0 @@
1
- import type { Hash } from '@xylabs/hex'
2
- import type { JsonArray, JsonObject } from '@xylabs/object'
3
- import { AsObjectFactory } from '@xylabs/object'
4
- import type { Payload } from '@xyo-network/payload-model'
5
- import { isPayloadOfSchemaType } from '@xyo-network/payload-model'
6
-
7
- import { HttpCallResultSchema } from '../Schema.ts'
8
- import type { HttpCallResult } from './HttpCallResult.ts'
9
-
10
- export type HttpCallJsonResultType = JsonArray | JsonObject
11
-
12
- export type HttpCallJsonResult<T extends HttpCallJsonResultType = HttpCallJsonResultType> = Payload<
13
- {
14
- call: Hash
15
- contentType: 'application/json'
16
- data: T
17
- },
18
- HttpCallResultSchema
19
- >
20
-
21
- export const isHttpCallJsonResult = <T extends HttpCallJsonResultType = HttpCallJsonResultType>(x?: unknown | null): x is HttpCallJsonResult<T> => {
22
- return isPayloadOfSchemaType<HttpCallResult>(HttpCallResultSchema)(x) && (x as HttpCallJsonResult)?.contentType === 'application/json'
23
- }
24
- export const asHttpCallJsonResult = AsObjectFactory.create(isHttpCallJsonResult)
@@ -1,12 +0,0 @@
1
- import type { JsonArray, JsonObject } from '@xylabs/object'
2
-
3
- import type { HttpCallBase64Result } from './HttpCallBase64Result.ts'
4
- import type { HttpCallErrorResult } from './HttpCallErrorResult.ts'
5
- import type { HttpCallJsonResult } from './HttpCallJsonResult.ts'
6
-
7
- type NewType = JsonObject
8
-
9
- export type HttpCallResult<TJson extends JsonArray | JsonObject = JsonArray | NewType>
10
- = | HttpCallBase64Result
11
- | HttpCallJsonResult<TJson>
12
- | HttpCallErrorResult
@@ -1,13 +0,0 @@
1
- import type { Hash } from '@xylabs/hex'
2
- import type { Payload } from '@xyo-network/payload-model'
3
-
4
- import type { HttpCallResultSchema } from '../Schema.ts'
5
-
6
- export type HttpCallXmlResult = Payload<
7
- {
8
- call: Hash
9
- contentType: 'application/xml' | 'text/xml'
10
- data: string
11
- },
12
- HttpCallResultSchema
13
- >
@@ -1,4 +0,0 @@
1
- export interface HttpMeta {
2
- code?: string
3
- status?: number
4
- }
@@ -1,11 +0,0 @@
1
- import type { Payload } from '@xyo-network/payload-model'
2
-
3
- import type { HttpCallSchema } from '../Schema.ts'
4
- import type { HttpCallFields } from './HttpCallFields.ts'
5
-
6
- export type HttpUriCall = Payload<
7
- HttpCallFields & {
8
- uri: string
9
- },
10
- HttpCallSchema
11
- >
@@ -1,12 +0,0 @@
1
- import type { Payload } from '@xyo-network/payload-model'
2
-
3
- import type { HttpCallSchema } from '../Schema.ts'
4
- import type { HttpCallFields } from './HttpCallFields.ts'
5
-
6
- export type HttpUriTemplateCall = Payload<
7
- HttpCallFields & {
8
- params?: Record<string, string>
9
- uriTemplate?: string
10
- },
11
- HttpCallSchema
12
- >
@@ -1,13 +0,0 @@
1
- // TODO: Bring in from some library or package for completeness
2
- export type MimeTypes
3
- = | 'application/json' // JSON format
4
- | 'application/octet-stream' // Binary data
5
- | 'application/pdf' // PDF format
6
- | 'application/xhtml+xml' // XHTML format
7
- | 'application/xml' // XML format
8
- | 'image/gif' // GIF image format
9
- | 'image/jpeg' // JPEG image format
10
- | 'image/png' // PNG image format
11
- | 'text/html' // HTML format
12
- | 'text/plain' // Plain text format
13
- | 'text/xml' // XML format (alternative)
@@ -1 +0,0 @@
1
- export type Queries = Record<string, string>
@@ -1 +0,0 @@
1
- export type Verb = 'get' | 'post'
@@ -1,14 +0,0 @@
1
- export * from './HttpCall.ts'
2
- export * from './HttpCallBase64Result.ts'
3
- export * from './HttpCallErrorResult.ts'
4
- export * from './HttpCallFields.ts'
5
- export * from './HttpCallHtmlResult.ts'
6
- export * from './HttpCallJsonResult.ts'
7
- export * from './HttpCallResult.ts'
8
- export * from './HttpCallXmlResult.ts'
9
- export * from './HttpMeta.ts'
10
- export * from './HttpUriCall.ts'
11
- export * from './HttpUriTemplateCall.ts'
12
- export * from './MimeTypes.ts'
13
- export * from './Queries.ts'
14
- export * from './Verb.ts'
@@ -1,43 +0,0 @@
1
- import { AsObjectFactory } from '@xylabs/object'
2
- import { isPayloadOfSchemaType } from '@xyo-network/payload-model'
3
- import type { WitnessConfig } from '@xyo-network/witness-model'
4
-
5
- import type {
6
- HttpCall, HttpUriCall, HttpUriTemplateCall, MimeTypes,
7
- } from '../Payload/index.ts'
8
- import { HttpCallWitnessConfigSchema } from './Schema.ts'
9
-
10
- export type HttpCallWitnessConfigBase = WitnessConfig<{
11
- accept?: MimeTypes
12
- headers?: Record<string, string | undefined>
13
- queries?: HttpCall['queries']
14
- schema: HttpCallWitnessConfigSchema
15
- timeout?: number
16
- verb?: HttpCall['verb']
17
- }>
18
-
19
- export type HttpUriCallWitnessConfig = WitnessConfig<
20
- HttpCallWitnessConfigBase & {
21
- uri: HttpUriCall['uri']
22
- }
23
- >
24
-
25
- export type HttpUriTemplateCallWitnessConfig = WitnessConfig<
26
- HttpCallWitnessConfigBase & {
27
- params?: Record<string, string>
28
- uriTemplate: HttpUriTemplateCall['uriTemplate']
29
- }
30
- >
31
-
32
- export type HttpCallWitnessConfig = HttpUriCallWitnessConfig | HttpUriTemplateCallWitnessConfig | HttpCallWitnessConfigBase
33
-
34
- export const isHttpCallWitnessConfig = isPayloadOfSchemaType<HttpCallWitnessConfig>(HttpCallWitnessConfigSchema)
35
- export const asHttpCallWitnessConfig = AsObjectFactory.create(isHttpCallWitnessConfig)
36
-
37
- export const isHttpUriCallWitnessConfig = (value?: unknown): value is HttpUriCallWitnessConfig =>
38
- isHttpCallWitnessConfig(value) && !!(value as HttpUriCallWitnessConfig).uri
39
- export const asHttpUriCallWitnessConfig = AsObjectFactory.create(isHttpUriCallWitnessConfig)
40
-
41
- export const isHttpUriTemplateCallWitnessConfig = (value?: unknown): value is HttpUriTemplateCallWitnessConfig =>
42
- isHttpCallWitnessConfig(value) && !!(value as HttpUriTemplateCallWitnessConfig).uriTemplate
43
- export const asHttpUriTemplateCallWitnessConfig = AsObjectFactory.create(isHttpUriTemplateCallWitnessConfig)
@@ -1,10 +0,0 @@
1
- import type { WitnessParams } from '@xyo-network/witness-model'
2
-
3
- import type { HttpCallWitnessConfig } from './Config.ts'
4
-
5
- export interface HttpCallWitnessParams extends WitnessParams<
6
- HttpCallWitnessConfig>
7
- {
8
- headers?: Record<string, string | undefined>
9
- ipfsGateway?: string
10
- }
@@ -1,4 +0,0 @@
1
- import { asSchema } from '@xyo-network/payload-model'
2
-
3
- export const HttpCallWitnessConfigSchema = asSchema('network.xyo.http.call.witness.config', true)
4
- export type HttpCallWitnessConfigSchema = typeof HttpCallWitnessConfigSchema
@@ -1,221 +0,0 @@
1
- /* eslint-disable max-statements */
2
- import { assertEx } from '@xylabs/assert'
3
- import { axiosJsonConfig } from '@xylabs/axios'
4
- import type { Hash } from '@xylabs/hex'
5
- import { URL } from '@xylabs/url'
6
- import { AbstractWitness } from '@xyo-network/abstract-witness'
7
- import { ObjectHasher } from '@xyo-network/hash'
8
- import { PayloadBuilder } from '@xyo-network/payload-builder'
9
- import type { Schema } from '@xyo-network/payload-model'
10
- import { isPayloadOfSchemaType } from '@xyo-network/payload-model'
11
- import type { AxiosError } from 'axios'
12
- import { Axios } from 'axios'
13
- import { fromByteArray } from 'base64-js'
14
- import fillTemplate from 'es6-dynamic-template'
15
-
16
- import { checkIpfsUrl } from '../lib/index.ts'
17
- import type {
18
- HttpCall,
19
- HttpCallBase64Result,
20
- HttpCallErrorResult,
21
- HttpCallJsonResult,
22
- HttpCallJsonResultType,
23
- HttpCallResult,
24
- HttpCallXmlResult,
25
- MimeTypes,
26
- } from '../Payload/index.ts'
27
- import {
28
- asHttpUriCall,
29
- asHttpUriTemplateCall,
30
- HttpCallResultSchema,
31
- HttpCallSchema,
32
- } from '../Payload/index.ts'
33
- import type { HttpCallHtmlResult } from '../Payload/types/index.ts'
34
- import { asHttpUriCallWitnessConfig, asHttpUriTemplateCallWitnessConfig } from './Config.ts'
35
- import type { HttpCallWitnessParams } from './Params.ts'
36
- import { HttpCallWitnessConfigSchema } from './Schema.ts'
37
-
38
- export class HttpCallWitness<TParams extends HttpCallWitnessParams = HttpCallWitnessParams> extends AbstractWitness<TParams, HttpCall, HttpCallResult> {
39
- static override readonly configSchemas: Schema[] = [...super.configSchemas, HttpCallWitnessConfigSchema]
40
- static override readonly defaultConfigSchema: Schema = HttpCallWitnessConfigSchema
41
-
42
- get accept(): MimeTypes {
43
- return this.config.accept ?? 'application/json'
44
- }
45
-
46
- get ipfsGateway() {
47
- return this.params.ipfsGateway
48
- }
49
-
50
- get timeout() {
51
- return this.config.timeout
52
- }
53
-
54
- getFullUri(call?: HttpCall): string {
55
- const { uri: callUri } = asHttpUriCall(call) ?? {}
56
- const {
57
- uriTemplate: callUriTemplate, params: callParams, queries: callQueries,
58
- } = asHttpUriTemplateCall(call) ?? {}
59
- const { uri: configUri } = asHttpUriCallWitnessConfig(this.config) ?? {}
60
- const {
61
- uriTemplate: configUriTemplate, params: configParams, queries: configQueries,
62
- } = asHttpUriTemplateCallWitnessConfig(this.config) ?? {}
63
-
64
- const params = { ...configParams, ...callParams }
65
-
66
- let url: URL | undefined = undefined
67
-
68
- if (callUri) {
69
- url = new URL(callUri)
70
- } else if (callUriTemplate) {
71
- url = new URL(fillTemplate(callUriTemplate, params))
72
- } else if (configUri) {
73
- url = new URL(configUri)
74
- } else if (configUriTemplate) {
75
- url = new URL(fillTemplate(configUriTemplate, params))
76
- }
77
-
78
- if (url) {
79
- const queries = Object.entries({ ...configQueries, ...callQueries })
80
- for (let [key, value] of queries) {
81
- url?.searchParams.set(key, value)
82
- }
83
- return url.href
84
- }
85
-
86
- throw new Error('Unable to determine uri. No uri/uriTemplate specified in either the call or config.')
87
- }
88
-
89
- getHeaders(headers?: Record<string, string | undefined>): Record<string, string | undefined> {
90
- return {
91
- ...this.params.headers, ...this.config.headers, ...headers,
92
- }
93
- }
94
-
95
- protected override async observeHandler(inPayloads: HttpCall[] = []): Promise<HttpCallResult[]> {
96
- await this.started('throw')
97
- try {
98
- const observations = await Promise.all(
99
- inPayloads.filter(isPayloadOfSchemaType<HttpCall>(HttpCallSchema)).map(async (call) => {
100
- const { verb: callVerb } = call
101
- const { verb: configVerb } = this.config
102
- const verb = callVerb ?? configVerb ?? 'get'
103
- const uri = this.getFullUri(call)
104
-
105
- const validatedUri = assertEx(checkIpfsUrl(uri, this.ipfsGateway), () => 'Invalid URI')
106
-
107
- if (verb === 'get') {
108
- return this.httpGet(validatedUri, (await PayloadBuilder.dataHash(call)))
109
- }
110
-
111
- const observation: HttpCallResult = {
112
- call: await ObjectHasher.hash(call),
113
- schema: HttpCallResultSchema,
114
- }
115
- return observation
116
- }),
117
- )
118
- return observations
119
- } catch (ex) {
120
- const error = ex as Error
121
- console.error(`Error [${this.config.name}]: ${error.message}`)
122
- console.log(error.stack)
123
- throw error
124
- }
125
- }
126
-
127
- // eslint-disable-next-line complexity
128
- private async httpGet(url: string, call: Hash, headers?: Record<string, string | undefined>): Promise<HttpCallResult> {
129
- const result: HttpCallResult = {
130
- call,
131
- schema: HttpCallResultSchema,
132
- }
133
- try {
134
- switch (this.accept) {
135
- case 'application/json': {
136
- const axios = new Axios(axiosJsonConfig({
137
- headers: { ...this.getHeaders(headers), Accept: 'application/json' }, timeout: this.timeout, decompress: true,
138
- }))
139
- const response = await axios.get<HttpCallJsonResultType>(url)
140
- if (response.status >= 200 && response.status < 300) {
141
- const jsonResult = result as HttpCallJsonResult
142
- jsonResult.data = response.data
143
- jsonResult.contentType = 'application/json'
144
- } else {
145
- const errorResult = result as HttpCallErrorResult
146
- errorResult.http = { status: response.status }
147
- }
148
- break
149
- }
150
- case 'application/xml':
151
- case 'text/xml': {
152
- const axios = new Axios({
153
- headers: { ...this.getHeaders(headers), Accept: this.accept },
154
- responseType: 'arraybuffer',
155
- decompress: true,
156
- timeout: this.timeout,
157
- })
158
- const response = await axios.get(url)
159
- if (response.status >= 200 && response.status < 300) {
160
- const xmlResult = result as HttpCallXmlResult
161
- xmlResult.data = Buffer.from(response.data, 'binary').toString('utf8')
162
- xmlResult.contentType = response.headers['content-type']?.toString() ?? 'application/xml'
163
- } else {
164
- const errorResult = result as HttpCallErrorResult
165
- errorResult.http = { status: response.status }
166
- }
167
- break
168
- }
169
- case 'text/html':{
170
- const axios = new Axios({
171
- headers: { ...this.getHeaders(headers), Accept: this.accept },
172
- responseType: 'text',
173
- decompress: true,
174
- timeout: this.timeout,
175
- })
176
- const response = await axios.get(url)
177
- if (response.status >= 200 && response.status < 300) {
178
- const htmlResult = result as HttpCallHtmlResult
179
- htmlResult.data = response.data
180
- htmlResult.contentType = response.headers['content-type']?.toString() ?? 'text/html'
181
- } else {
182
- const errorResult = result as HttpCallErrorResult
183
- errorResult.http = { status: response.status }
184
- }
185
- break
186
- }
187
- default: {
188
- const axios = new Axios({
189
- headers: this.params.headers, responseType: 'arraybuffer', timeout: this.timeout, decompress: true,
190
- })
191
- const response = await axios.get(url)
192
- if (response.status >= 200 && response.status < 300) {
193
- const jsonResult = result as HttpCallBase64Result
194
- jsonResult.data = fromByteArray(response.data)
195
- jsonResult.contentType = response.headers['content-type']?.toString() ?? 'application/octet-stream'
196
- } else {
197
- const errorResult = result as HttpCallErrorResult
198
- errorResult.http = { status: response.status }
199
- }
200
- break
201
- }
202
- }
203
- } catch (ex) {
204
- const axiosError = ex as AxiosError
205
- if (axiosError.isAxiosError) {
206
- if (axiosError?.response?.status !== undefined) {
207
- result.http = result.http ?? {}
208
- result.http.status = axiosError?.response?.status
209
- }
210
- if (axiosError?.code !== undefined) {
211
- result.http = result.http ?? {}
212
- result.http.code = axiosError?.code
213
- }
214
- return result
215
- } else {
216
- throw ex
217
- }
218
- }
219
- return result
220
- }
221
- }
@@ -1,4 +0,0 @@
1
- export * from './Config.ts'
2
- export * from './Params.ts'
3
- export * from './Schema.ts'
4
- export * from './Witness.ts'
@@ -1,41 +0,0 @@
1
- {
2
- "$schema": "https://raw.githubusercontent.com/XYOracleNetwork/sdk-xyo-client-js/main/packages/manifest/src/schema.json",
3
- "nodes": [
4
- {
5
- "config": {
6
- "name": "ApiCall",
7
- "schema": "network.xyo.node.config"
8
- },
9
- "modules": {
10
- "public": [
11
- {
12
- "config": {
13
- "language": "javascript",
14
- "name": "HttpCallWitness",
15
- "queries": {
16
- "limit": 1
17
- },
18
- "schema": "network.xyo.http.call.witness.config",
19
- "uriTemplate": "https://api.opensea.io/api/v2/chain/ethereum/account/${address}/nfts"
20
- }
21
- },
22
- {
23
- "config": {
24
- "language": "javascript",
25
- "name": "HttpCallSentinel",
26
- "schema": "network.xyo.sentinel.config",
27
- "synchronous": "true",
28
- "tasks": [
29
- {
30
- "input": true,
31
- "mod": "HttpCallWitness"
32
- }
33
- ]
34
- }
35
- }
36
- ]
37
- }
38
- }
39
- ],
40
- "schema": "network.xyo.manifest"
41
- }
package/src/index.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from './Payload/index.ts'
2
- export * from './Witness/index.ts'
@@ -1,44 +0,0 @@
1
- import { assertEx } from '@xylabs/assert'
2
- import { URL } from '@xylabs/url'
3
-
4
- const allowIpfsIoRepair = true
5
-
6
- /**
7
- * Returns the equivalent IPFS gateway URL for the supplied URL.
8
- * @param urlToCheck The URL to check
9
- * @returns If the supplied URL is an IPFS URL, it converts the URL to the
10
- * equivalent IPFS gateway URL. Otherwise, returns the original URL.
11
- */
12
- export const checkIpfsUrl = (urlToCheck: string, ipfsGateway?: string): string => {
13
- try {
14
- const url = new URL(urlToCheck)
15
- let protocol = url.protocol
16
- let host = url.host
17
- let path = url.pathname
18
- const query = url.search
19
- if (protocol === 'ipfs:') {
20
- protocol = 'https:'
21
- host = assertEx(ipfsGateway, () => 'No ipfsGateway provided')
22
- path = url.host === 'ipfs' ? `ipfs${path}` : `ipfs/${url.host}${path}`
23
- const root = `${protocol}//${host}/${path}`
24
- return query?.length > 0 ? `${root}?${query}` : root
25
- } else if (allowIpfsIoRepair && protocol === 'https' && host === 'ipfs.io') {
26
- protocol = 'https:'
27
- host = assertEx(ipfsGateway, () => 'No ipfsGateway provided')
28
- const pathParts = path.split('/')
29
- if (pathParts[0] === 'ipfs') {
30
- pathParts.shift()
31
- }
32
- path = pathParts.join('/')
33
- const root = `${protocol}//${host}/${path}`
34
- return query?.length > 0 ? `${root}?${query}` : root
35
- } else {
36
- return urlToCheck
37
- }
38
- } catch {
39
- // const error = ex as Error
40
- // console.error(`${error.name}:${error.message} [${urlToCheck}]`)
41
- // console.log(error.stack)
42
- return urlToCheck
43
- }
44
- }
package/src/lib/index.ts DELETED
@@ -1 +0,0 @@
1
- export * from './checkIpfsUrl.ts'
package/src/types.d.ts DELETED
@@ -1 +0,0 @@
1
- declare module 'es6-dynamic-template'