@xyo-network/api-call-witness 2.84.5 → 2.85.1

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.
@@ -29,7 +29,6 @@ export declare const asApiCallWitnessConfig: {
29
29
  } & object>(value: unknown, assert: string | (() => string), config?: import("@xyo-network/object").TypeCheckConfig | undefined): TType_1;
30
30
  };
31
31
  export declare const isApiUriCallWitnessConfig: (value?: unknown) => value is import("@xyo-network/payload-model").SchemaFields & object & {
32
- accountDerivationPath?: string | undefined;
33
32
  readonly archivist?: string | undefined;
34
33
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
35
34
  readonly name?: string | undefined;
@@ -48,7 +47,6 @@ export declare const isApiUriCallWitnessConfig: (value?: unknown) => value is im
48
47
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
49
48
  schema: "network.xyo.api.call.witness.config";
50
49
  } & {
51
- accountDerivationPath?: string | undefined;
52
50
  readonly archivist?: string | undefined;
53
51
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
54
52
  readonly name?: string | undefined;
@@ -77,7 +75,6 @@ export declare const isApiUriCallWitnessConfig: (value?: unknown) => value is im
77
75
  };
78
76
  export declare const asApiUriCallWitnessConfig: {
79
77
  <TType extends import("@xyo-network/payload-model").SchemaFields & object & {
80
- accountDerivationPath?: string | undefined;
81
78
  readonly archivist?: string | undefined;
82
79
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
83
80
  readonly name?: string | undefined;
@@ -96,7 +93,6 @@ export declare const asApiUriCallWitnessConfig: {
96
93
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
97
94
  schema: "network.xyo.api.call.witness.config";
98
95
  } & {
99
- accountDerivationPath?: string | undefined;
100
96
  readonly archivist?: string | undefined;
101
97
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
102
98
  readonly name?: string | undefined;
@@ -124,7 +120,6 @@ export declare const asApiUriCallWitnessConfig: {
124
120
  uri: ApiUriCall['uri'];
125
121
  }>(value: unknown, config?: import("@xyo-network/object").TypeCheckConfig | undefined): TType | undefined;
126
122
  <TType_1 extends import("@xyo-network/payload-model").SchemaFields & object & {
127
- accountDerivationPath?: string | undefined;
128
123
  readonly archivist?: string | undefined;
129
124
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
130
125
  readonly name?: string | undefined;
@@ -143,7 +138,6 @@ export declare const asApiUriCallWitnessConfig: {
143
138
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
144
139
  schema: "network.xyo.api.call.witness.config";
145
140
  } & {
146
- accountDerivationPath?: string | undefined;
147
141
  readonly archivist?: string | undefined;
148
142
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
149
143
  readonly name?: string | undefined;
@@ -172,7 +166,6 @@ export declare const asApiUriCallWitnessConfig: {
172
166
  }>(value: unknown, assert: string | (() => string), config?: import("@xyo-network/object").TypeCheckConfig | undefined): TType_1;
173
167
  };
174
168
  export declare const isApiUriTemplateCallWitnessConfig: (value?: unknown) => value is import("@xyo-network/payload-model").SchemaFields & object & {
175
- accountDerivationPath?: string | undefined;
176
169
  readonly archivist?: string | undefined;
177
170
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
178
171
  readonly name?: string | undefined;
@@ -191,7 +184,6 @@ export declare const isApiUriTemplateCallWitnessConfig: (value?: unknown) => val
191
184
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
192
185
  schema: "network.xyo.api.call.witness.config";
193
186
  } & {
194
- accountDerivationPath?: string | undefined;
195
187
  readonly archivist?: string | undefined;
196
188
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
197
189
  readonly name?: string | undefined;
@@ -221,7 +213,6 @@ export declare const isApiUriTemplateCallWitnessConfig: (value?: unknown) => val
221
213
  };
222
214
  export declare const asApiUriTemplateCallWitnessConfig: {
223
215
  <TType extends import("@xyo-network/payload-model").SchemaFields & object & {
224
- accountDerivationPath?: string | undefined;
225
216
  readonly archivist?: string | undefined;
226
217
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
227
218
  readonly name?: string | undefined;
@@ -240,7 +231,6 @@ export declare const asApiUriTemplateCallWitnessConfig: {
240
231
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
241
232
  schema: "network.xyo.api.call.witness.config";
242
233
  } & {
243
- accountDerivationPath?: string | undefined;
244
234
  readonly archivist?: string | undefined;
245
235
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
246
236
  readonly name?: string | undefined;
@@ -269,7 +259,6 @@ export declare const asApiUriTemplateCallWitnessConfig: {
269
259
  uriTemplate: ApiUriTemplateCall['uriTemplate'];
270
260
  }>(value: unknown, config?: import("@xyo-network/object").TypeCheckConfig | undefined): TType | undefined;
271
261
  <TType_1 extends import("@xyo-network/payload-model").SchemaFields & object & {
272
- accountDerivationPath?: string | undefined;
273
262
  readonly archivist?: string | undefined;
274
263
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
275
264
  readonly name?: string | undefined;
@@ -288,7 +277,6 @@ export declare const asApiUriTemplateCallWitnessConfig: {
288
277
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
289
278
  schema: "network.xyo.api.call.witness.config";
290
279
  } & {
291
- accountDerivationPath?: string | undefined;
292
280
  readonly archivist?: string | undefined;
293
281
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
294
282
  readonly name?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEnE,eAAO,MAAM,0BAA0B,wCAAwC,CAAA;AAC/E,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAA;AAE1E,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC;IACnD,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5B,MAAM,EAAE,0BAA0B,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CACvB,CAAC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,aAAa,CACjD,wBAAwB,GAAG;IACzB,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;CACvB,CACF,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG,aAAa,CACzD,wBAAwB,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAA;CAC/C,CACF,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,GAAG,+BAA+B,GAAG,wBAAwB,CAAA;AAEvH,eAAO,MAAM,sBAAsB;;UAAoD,CAAA;AACvF,eAAO,MAAM,sBAAsB;;;;;;;CAAiD,CAAA;AAEpF,eAAO,MAAM,yBAAyB,WAAY,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAxB7C,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;SAKf,UAAU,CAAC,KAAK,CAAC;CAiBiD,CAAA;AAC3E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA1B1B,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;aAKf,UAAU,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBARd,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;aAKf,UAAU,CAAC,KAAK,CAAC;;CAkBgE,CAAA;AAE1F,eAAO,MAAM,iCAAiC,WAAY,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA5BrD,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;;iBAYP,kBAAkB,CAAC,aAAa,CAAC;CAcyC,CAAA;AAC3F,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA9BlC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAftC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;CAewD,CAAA"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEnE,eAAO,MAAM,0BAA0B,wCAAwC,CAAA;AAC/E,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAA;AAE1E,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC;IACnD,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5B,MAAM,EAAE,0BAA0B,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CACvB,CAAC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,aAAa,CACjD,wBAAwB,GAAG;IACzB,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;CACvB,CACF,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG,aAAa,CACzD,wBAAwB,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAA;CAC/C,CACF,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,GAAG,+BAA+B,GAAG,wBAAwB,CAAA;AAEvH,eAAO,MAAM,sBAAsB;;UAAoD,CAAA;AACvF,eAAO,MAAM,sBAAsB;;;;;;;CAAiD,CAAA;AAEpF,eAAO,MAAM,yBAAyB,WAAY,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAxB7C,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;SAKf,UAAU,CAAC,KAAK,CAAC;CAiBiD,CAAA;AAC3E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA1B1B,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;aAKf,UAAU,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBARd,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;aAKf,UAAU,CAAC,KAAK,CAAC;;CAkBgE,CAAA;AAE1F,eAAO,MAAM,iCAAiC,WAAY,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA5BrD,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;;iBAYP,kBAAkB,CAAC,aAAa,CAAC;CAcyC,CAAA;AAC3F,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA9BlC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAftC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;CAewD,CAAA"}
@@ -29,7 +29,6 @@ export declare const asApiCallWitnessConfig: {
29
29
  } & object>(value: unknown, assert: string | (() => string), config?: import("@xyo-network/object").TypeCheckConfig | undefined): TType_1;
30
30
  };
31
31
  export declare const isApiUriCallWitnessConfig: (value?: unknown) => value is import("@xyo-network/payload-model").SchemaFields & object & {
32
- accountDerivationPath?: string | undefined;
33
32
  readonly archivist?: string | undefined;
34
33
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
35
34
  readonly name?: string | undefined;
@@ -48,7 +47,6 @@ export declare const isApiUriCallWitnessConfig: (value?: unknown) => value is im
48
47
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
49
48
  schema: "network.xyo.api.call.witness.config";
50
49
  } & {
51
- accountDerivationPath?: string | undefined;
52
50
  readonly archivist?: string | undefined;
53
51
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
54
52
  readonly name?: string | undefined;
@@ -77,7 +75,6 @@ export declare const isApiUriCallWitnessConfig: (value?: unknown) => value is im
77
75
  };
78
76
  export declare const asApiUriCallWitnessConfig: {
79
77
  <TType extends import("@xyo-network/payload-model").SchemaFields & object & {
80
- accountDerivationPath?: string | undefined;
81
78
  readonly archivist?: string | undefined;
82
79
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
83
80
  readonly name?: string | undefined;
@@ -96,7 +93,6 @@ export declare const asApiUriCallWitnessConfig: {
96
93
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
97
94
  schema: "network.xyo.api.call.witness.config";
98
95
  } & {
99
- accountDerivationPath?: string | undefined;
100
96
  readonly archivist?: string | undefined;
101
97
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
102
98
  readonly name?: string | undefined;
@@ -124,7 +120,6 @@ export declare const asApiUriCallWitnessConfig: {
124
120
  uri: ApiUriCall['uri'];
125
121
  }>(value: unknown, config?: import("@xyo-network/object").TypeCheckConfig | undefined): TType | undefined;
126
122
  <TType_1 extends import("@xyo-network/payload-model").SchemaFields & object & {
127
- accountDerivationPath?: string | undefined;
128
123
  readonly archivist?: string | undefined;
129
124
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
130
125
  readonly name?: string | undefined;
@@ -143,7 +138,6 @@ export declare const asApiUriCallWitnessConfig: {
143
138
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
144
139
  schema: "network.xyo.api.call.witness.config";
145
140
  } & {
146
- accountDerivationPath?: string | undefined;
147
141
  readonly archivist?: string | undefined;
148
142
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
149
143
  readonly name?: string | undefined;
@@ -172,7 +166,6 @@ export declare const asApiUriCallWitnessConfig: {
172
166
  }>(value: unknown, assert: string | (() => string), config?: import("@xyo-network/object").TypeCheckConfig | undefined): TType_1;
173
167
  };
174
168
  export declare const isApiUriTemplateCallWitnessConfig: (value?: unknown) => value is import("@xyo-network/payload-model").SchemaFields & object & {
175
- accountDerivationPath?: string | undefined;
176
169
  readonly archivist?: string | undefined;
177
170
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
178
171
  readonly name?: string | undefined;
@@ -191,7 +184,6 @@ export declare const isApiUriTemplateCallWitnessConfig: (value?: unknown) => val
191
184
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
192
185
  schema: "network.xyo.api.call.witness.config";
193
186
  } & {
194
- accountDerivationPath?: string | undefined;
195
187
  readonly archivist?: string | undefined;
196
188
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
197
189
  readonly name?: string | undefined;
@@ -221,7 +213,6 @@ export declare const isApiUriTemplateCallWitnessConfig: (value?: unknown) => val
221
213
  };
222
214
  export declare const asApiUriTemplateCallWitnessConfig: {
223
215
  <TType extends import("@xyo-network/payload-model").SchemaFields & object & {
224
- accountDerivationPath?: string | undefined;
225
216
  readonly archivist?: string | undefined;
226
217
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
227
218
  readonly name?: string | undefined;
@@ -240,7 +231,6 @@ export declare const asApiUriTemplateCallWitnessConfig: {
240
231
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
241
232
  schema: "network.xyo.api.call.witness.config";
242
233
  } & {
243
- accountDerivationPath?: string | undefined;
244
234
  readonly archivist?: string | undefined;
245
235
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
246
236
  readonly name?: string | undefined;
@@ -269,7 +259,6 @@ export declare const asApiUriTemplateCallWitnessConfig: {
269
259
  uriTemplate: ApiUriTemplateCall['uriTemplate'];
270
260
  }>(value: unknown, config?: import("@xyo-network/object").TypeCheckConfig | undefined): TType | undefined;
271
261
  <TType_1 extends import("@xyo-network/payload-model").SchemaFields & object & {
272
- accountDerivationPath?: string | undefined;
273
262
  readonly archivist?: string | undefined;
274
263
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
275
264
  readonly name?: string | undefined;
@@ -288,7 +277,6 @@ export declare const asApiUriTemplateCallWitnessConfig: {
288
277
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
289
278
  schema: "network.xyo.api.call.witness.config";
290
279
  } & {
291
- accountDerivationPath?: string | undefined;
292
280
  readonly archivist?: string | undefined;
293
281
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
294
282
  readonly name?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEnE,eAAO,MAAM,0BAA0B,wCAAwC,CAAA;AAC/E,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAA;AAE1E,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC;IACnD,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5B,MAAM,EAAE,0BAA0B,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CACvB,CAAC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,aAAa,CACjD,wBAAwB,GAAG;IACzB,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;CACvB,CACF,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG,aAAa,CACzD,wBAAwB,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAA;CAC/C,CACF,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,GAAG,+BAA+B,GAAG,wBAAwB,CAAA;AAEvH,eAAO,MAAM,sBAAsB;;UAAoD,CAAA;AACvF,eAAO,MAAM,sBAAsB;;;;;;;CAAiD,CAAA;AAEpF,eAAO,MAAM,yBAAyB,WAAY,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAxB7C,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;SAKf,UAAU,CAAC,KAAK,CAAC;CAiBiD,CAAA;AAC3E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA1B1B,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;aAKf,UAAU,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBARd,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;aAKf,UAAU,CAAC,KAAK,CAAC;;CAkBgE,CAAA;AAE1F,eAAO,MAAM,iCAAiC,WAAY,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA5BrD,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;;iBAYP,kBAAkB,CAAC,aAAa,CAAC;CAcyC,CAAA;AAC3F,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA9BlC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAftC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;CAewD,CAAA"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEnE,eAAO,MAAM,0BAA0B,wCAAwC,CAAA;AAC/E,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAA;AAE1E,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC;IACnD,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5B,MAAM,EAAE,0BAA0B,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CACvB,CAAC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,aAAa,CACjD,wBAAwB,GAAG;IACzB,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;CACvB,CACF,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG,aAAa,CACzD,wBAAwB,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAA;CAC/C,CACF,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,GAAG,+BAA+B,GAAG,wBAAwB,CAAA;AAEvH,eAAO,MAAM,sBAAsB;;UAAoD,CAAA;AACvF,eAAO,MAAM,sBAAsB;;;;;;;CAAiD,CAAA;AAEpF,eAAO,MAAM,yBAAyB,WAAY,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAxB7C,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;SAKf,UAAU,CAAC,KAAK,CAAC;CAiBiD,CAAA;AAC3E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA1B1B,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;aAKf,UAAU,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBARd,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;aAKf,UAAU,CAAC,KAAK,CAAC;;CAkBgE,CAAA;AAE1F,eAAO,MAAM,iCAAiC,WAAY,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA5BrD,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;;iBAYP,kBAAkB,CAAC,aAAa,CAAC;CAcyC,CAAA;AAC3F,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA9BlC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAftC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;CAewD,CAAA"}
@@ -29,7 +29,6 @@ export declare const asApiCallWitnessConfig: {
29
29
  } & object>(value: unknown, assert: string | (() => string), config?: import("@xyo-network/object").TypeCheckConfig | undefined): TType_1;
30
30
  };
31
31
  export declare const isApiUriCallWitnessConfig: (value?: unknown) => value is import("@xyo-network/payload-model").SchemaFields & object & {
32
- accountDerivationPath?: string | undefined;
33
32
  readonly archivist?: string | undefined;
34
33
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
35
34
  readonly name?: string | undefined;
@@ -48,7 +47,6 @@ export declare const isApiUriCallWitnessConfig: (value?: unknown) => value is im
48
47
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
49
48
  schema: "network.xyo.api.call.witness.config";
50
49
  } & {
51
- accountDerivationPath?: string | undefined;
52
50
  readonly archivist?: string | undefined;
53
51
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
54
52
  readonly name?: string | undefined;
@@ -77,7 +75,6 @@ export declare const isApiUriCallWitnessConfig: (value?: unknown) => value is im
77
75
  };
78
76
  export declare const asApiUriCallWitnessConfig: {
79
77
  <TType extends import("@xyo-network/payload-model").SchemaFields & object & {
80
- accountDerivationPath?: string | undefined;
81
78
  readonly archivist?: string | undefined;
82
79
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
83
80
  readonly name?: string | undefined;
@@ -96,7 +93,6 @@ export declare const asApiUriCallWitnessConfig: {
96
93
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
97
94
  schema: "network.xyo.api.call.witness.config";
98
95
  } & {
99
- accountDerivationPath?: string | undefined;
100
96
  readonly archivist?: string | undefined;
101
97
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
102
98
  readonly name?: string | undefined;
@@ -124,7 +120,6 @@ export declare const asApiUriCallWitnessConfig: {
124
120
  uri: ApiUriCall['uri'];
125
121
  }>(value: unknown, config?: import("@xyo-network/object").TypeCheckConfig | undefined): TType | undefined;
126
122
  <TType_1 extends import("@xyo-network/payload-model").SchemaFields & object & {
127
- accountDerivationPath?: string | undefined;
128
123
  readonly archivist?: string | undefined;
129
124
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
130
125
  readonly name?: string | undefined;
@@ -143,7 +138,6 @@ export declare const asApiUriCallWitnessConfig: {
143
138
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
144
139
  schema: "network.xyo.api.call.witness.config";
145
140
  } & {
146
- accountDerivationPath?: string | undefined;
147
141
  readonly archivist?: string | undefined;
148
142
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
149
143
  readonly name?: string | undefined;
@@ -172,7 +166,6 @@ export declare const asApiUriCallWitnessConfig: {
172
166
  }>(value: unknown, assert: string | (() => string), config?: import("@xyo-network/object").TypeCheckConfig | undefined): TType_1;
173
167
  };
174
168
  export declare const isApiUriTemplateCallWitnessConfig: (value?: unknown) => value is import("@xyo-network/payload-model").SchemaFields & object & {
175
- accountDerivationPath?: string | undefined;
176
169
  readonly archivist?: string | undefined;
177
170
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
178
171
  readonly name?: string | undefined;
@@ -191,7 +184,6 @@ export declare const isApiUriTemplateCallWitnessConfig: (value?: unknown) => val
191
184
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
192
185
  schema: "network.xyo.api.call.witness.config";
193
186
  } & {
194
- accountDerivationPath?: string | undefined;
195
187
  readonly archivist?: string | undefined;
196
188
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
197
189
  readonly name?: string | undefined;
@@ -221,7 +213,6 @@ export declare const isApiUriTemplateCallWitnessConfig: (value?: unknown) => val
221
213
  };
222
214
  export declare const asApiUriTemplateCallWitnessConfig: {
223
215
  <TType extends import("@xyo-network/payload-model").SchemaFields & object & {
224
- accountDerivationPath?: string | undefined;
225
216
  readonly archivist?: string | undefined;
226
217
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
227
218
  readonly name?: string | undefined;
@@ -240,7 +231,6 @@ export declare const asApiUriTemplateCallWitnessConfig: {
240
231
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
241
232
  schema: "network.xyo.api.call.witness.config";
242
233
  } & {
243
- accountDerivationPath?: string | undefined;
244
234
  readonly archivist?: string | undefined;
245
235
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
246
236
  readonly name?: string | undefined;
@@ -269,7 +259,6 @@ export declare const asApiUriTemplateCallWitnessConfig: {
269
259
  uriTemplate: ApiUriTemplateCall['uriTemplate'];
270
260
  }>(value: unknown, config?: import("@xyo-network/object").TypeCheckConfig | undefined): TType | undefined;
271
261
  <TType_1 extends import("@xyo-network/payload-model").SchemaFields & object & {
272
- accountDerivationPath?: string | undefined;
273
262
  readonly archivist?: string | undefined;
274
263
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
275
264
  readonly name?: string | undefined;
@@ -288,7 +277,6 @@ export declare const asApiUriTemplateCallWitnessConfig: {
288
277
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
289
278
  schema: "network.xyo.api.call.witness.config";
290
279
  } & {
291
- accountDerivationPath?: string | undefined;
292
280
  readonly archivist?: string | undefined;
293
281
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
294
282
  readonly name?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEnE,eAAO,MAAM,0BAA0B,wCAAwC,CAAA;AAC/E,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAA;AAE1E,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC;IACnD,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5B,MAAM,EAAE,0BAA0B,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CACvB,CAAC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,aAAa,CACjD,wBAAwB,GAAG;IACzB,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;CACvB,CACF,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG,aAAa,CACzD,wBAAwB,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAA;CAC/C,CACF,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,GAAG,+BAA+B,GAAG,wBAAwB,CAAA;AAEvH,eAAO,MAAM,sBAAsB;;UAAoD,CAAA;AACvF,eAAO,MAAM,sBAAsB;;;;;;;CAAiD,CAAA;AAEpF,eAAO,MAAM,yBAAyB,WAAY,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAxB7C,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;SAKf,UAAU,CAAC,KAAK,CAAC;CAiBiD,CAAA;AAC3E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA1B1B,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;aAKf,UAAU,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBARd,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;aAKf,UAAU,CAAC,KAAK,CAAC;;CAkBgE,CAAA;AAE1F,eAAO,MAAM,iCAAiC,WAAY,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA5BrD,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;;iBAYP,kBAAkB,CAAC,aAAa,CAAC;CAcyC,CAAA;AAC3F,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA9BlC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAftC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;CAewD,CAAA"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEnE,eAAO,MAAM,0BAA0B,wCAAwC,CAAA;AAC/E,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAA;AAE1E,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC;IACnD,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5B,MAAM,EAAE,0BAA0B,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CACvB,CAAC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,aAAa,CACjD,wBAAwB,GAAG;IACzB,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;CACvB,CACF,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG,aAAa,CACzD,wBAAwB,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAA;CAC/C,CACF,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,GAAG,+BAA+B,GAAG,wBAAwB,CAAA;AAEvH,eAAO,MAAM,sBAAsB;;UAAoD,CAAA;AACvF,eAAO,MAAM,sBAAsB;;;;;;;CAAiD,CAAA;AAEpF,eAAO,MAAM,yBAAyB,WAAY,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAxB7C,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;SAKf,UAAU,CAAC,KAAK,CAAC;CAiBiD,CAAA;AAC3E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA1B1B,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;aAKf,UAAU,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBARd,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;aAKf,UAAU,CAAC,KAAK,CAAC;;CAkBgE,CAAA;AAE1F,eAAO,MAAM,iCAAiC,WAAY,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA5BrD,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;;iBAYP,kBAAkB,CAAC,aAAa,CAAC;CAcyC,CAAA;AAC3F,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA9BlC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAftC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;CAewD,CAAA"}
@@ -110,7 +110,7 @@ var checkIpfsUrl = (urlToCheck, ipfsGateway) => {
110
110
  } else {
111
111
  return urlToCheck;
112
112
  }
113
- } catch (ex) {
113
+ } catch {
114
114
  return urlToCheck;
115
115
  }
116
116
  };
@@ -148,7 +148,7 @@ var ApiCallWitness = class extends import_abstract_witness.AbstractWitness {
148
148
  queries.map(([key, value]) => url?.searchParams.set(key, value));
149
149
  return url.href;
150
150
  }
151
- throw Error("Unable to determine uri. No uri/uriTemplate specified in either the call or config.");
151
+ throw new Error("Unable to determine uri. No uri/uriTemplate specified in either the call or config.");
152
152
  }
153
153
  async observeHandler(inPayloads = []) {
154
154
  await this.started("throw");
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/Config.ts","../../src/Payload.ts","../../src/Witness.ts","../../src/lib/checkIpfsUrl.ts"],"sourcesContent":["export * from './Config'\nexport * from './Payload'\nexport * from './Witness'\n","import { AsObjectFactory } from '@xyo-network/object'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { WitnessConfig } from '@xyo-network/witness-model'\n\nimport { ApiCall, ApiUriCall, ApiUriTemplateCall } from './Payload'\n\nexport const ApiCallWitnessConfigSchema = 'network.xyo.api.call.witness.config'\nexport type ApiCallWitnessConfigSchema = typeof ApiCallWitnessConfigSchema\n\nexport type ApiCallWitnessConfigBase = WitnessConfig<{\n accept?: 'application/json'\n queries?: ApiCall['queries']\n schema: ApiCallWitnessConfigSchema\n timeout?: number\n verb?: ApiCall['verb']\n}>\n\nexport type ApiUriCallWitnessConfig = WitnessConfig<\n ApiCallWitnessConfigBase & {\n uri: ApiUriCall['uri']\n }\n>\n\nexport type ApiUriTemplateCallWitnessConfig = WitnessConfig<\n ApiCallWitnessConfigBase & {\n params?: Record<string, unknown>\n uriTemplate: ApiUriTemplateCall['uriTemplate']\n }\n>\n\nexport type ApiCallWitnessConfig = ApiUriCallWitnessConfig | ApiUriTemplateCallWitnessConfig | ApiCallWitnessConfigBase\n\nexport const isApiCallWitnessConfig = isPayloadOfSchemaType(ApiCallWitnessConfigSchema)\nexport const asApiCallWitnessConfig = AsObjectFactory.create(isApiCallWitnessConfig)\n\nexport const isApiUriCallWitnessConfig = (value?: unknown): value is ApiUriCallWitnessConfig =>\n isApiCallWitnessConfig(value) && !!(value as ApiUriCallWitnessConfig).uri\nexport const asApiUriCallWitnessConfig = AsObjectFactory.create(isApiUriCallWitnessConfig)\n\nexport const isApiUriTemplateCallWitnessConfig = (value?: unknown): value is ApiUriTemplateCallWitnessConfig =>\n isApiCallWitnessConfig(value) && !!(value as ApiUriTemplateCallWitnessConfig).uriTemplate\nexport const asApiUriTemplateCallWitnessConfig = AsObjectFactory.create(isApiUriTemplateCallWitnessConfig)\n","import { Hash } from '@xylabs/hex'\nimport { AsObjectFactory, JsonArray, JsonObject } from '@xyo-network/object'\nimport { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'\n\nexport const ApiCallSchema = 'network.xyo.api.call'\nexport type ApiCallSchema = typeof ApiCallSchema\n\nexport type Verb = 'get' | 'post'\nexport type Queries = Record<string, string>\n\nexport interface ApiCallFields {\n queries?: Queries\n verb?: Verb\n}\n\nexport type ApiUriCall = Payload<\n ApiCallFields & {\n uri: string\n },\n ApiCallSchema\n>\n\nexport type ApiUriTemplateCall = Payload<\n ApiCallFields & {\n params?: Record<string, unknown>\n uriTemplate?: string\n },\n ApiCallSchema\n>\n\nexport type ApiCall = ApiUriCall | ApiUriTemplateCall\n\nexport const ApiCallResultSchema = 'network.xyo.api.call.result'\nexport type ApiCallResultSchema = typeof ApiCallResultSchema\n\nexport interface HttpMeta {\n code?: string\n status?: number\n}\n\nexport type ApiCallJsonResultType = JsonArray | JsonObject\n\nexport type ApiCallJsonResult<T extends ApiCallJsonResultType = ApiCallJsonResultType> = Payload<\n {\n call: Hash\n contentType: 'application/json'\n data: T\n },\n ApiCallResultSchema\n>\n\nexport type ApiCallBase64Result = Payload<\n {\n call: Hash\n contentType: Exclude<string, ApiCallJsonResult['contentType']>\n data: string\n },\n ApiCallResultSchema\n>\n\nexport type ApiCallErrorResult = Payload<\n {\n call: Hash\n http?: HttpMeta\n },\n ApiCallResultSchema\n>\n\nexport type ApiCallResult<TJson extends JsonArray | JsonObject = JsonArray | JsonObject> =\n | ApiCallBase64Result\n | ApiCallJsonResult<TJson>\n | ApiCallErrorResult\n\nexport const isApiCall = isPayloadOfSchemaType(ApiCallSchema)\nexport const asApiCall = AsObjectFactory.create(isApiCall)\n\nexport const isApiUriCall = (value?: unknown): value is ApiUriCall => isApiCall(value) && !!(value as ApiUriCall).uri\nexport const asApiUriCall = AsObjectFactory.create(isApiUriCall)\n\nexport const isApiUriTemplateCall = (value?: unknown): value is ApiUriTemplateCall =>\n isApiCall(value) && !!((value as ApiUriTemplateCall).uriTemplate || (value as ApiUriTemplateCall).params)\nexport const asApiUriTemplateCall = AsObjectFactory.create(isApiUriTemplateCall)\n","import { assertEx } from '@xylabs/assert'\nimport { Axios, AxiosError, AxiosJson } from '@xylabs/axios'\nimport { Hash } from '@xylabs/hex'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { WitnessParams } from '@xyo-network/witness-model'\nimport { fromByteArray } from 'base64-js'\nimport template from 'es6-template-strings'\n\nimport { ApiCallWitnessConfig, ApiCallWitnessConfigSchema, asApiUriCallWitnessConfig, asApiUriTemplateCallWitnessConfig } from './Config'\nimport { checkIpfsUrl } from './lib'\nimport {\n ApiCall,\n ApiCallBase64Result,\n ApiCallErrorResult,\n ApiCallJsonResult,\n ApiCallJsonResultType,\n ApiCallResult,\n ApiCallResultSchema,\n ApiCallSchema,\n asApiUriCall,\n asApiUriTemplateCall,\n} from './Payload'\n\nexport type ApiCallWitnessParams = WitnessParams<\n ApiCallWitnessConfig,\n {\n headers?: Record<string, string | undefined>\n ipfsGateway?: string\n }\n>\n\nexport class ApiCallWitness<TParams extends ApiCallWitnessParams = ApiCallWitnessParams> extends AbstractWitness<TParams, ApiCall, ApiCallResult> {\n static override configSchemas = [ApiCallWitnessConfigSchema]\n\n get accept() {\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?: ApiCall): string {\n const { uri: callUri } = asApiUriCall(call) ?? {}\n const { uriTemplate: callUriTemplate, params: callParams, queries: callQueries } = asApiUriTemplateCall(call) ?? {}\n const { uri: configUri } = asApiUriCallWitnessConfig(this.config) ?? {}\n const { uriTemplate: configUriTemplate, params: configParams, queries: configQueries } = asApiUriTemplateCallWitnessConfig(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(template(callUriTemplate, params))\n } else if (configUri) {\n url = new URL(configUri)\n } else if (configUriTemplate) {\n url = new URL(template(configUriTemplate, params))\n }\n\n if (url) {\n const queries = Object.entries({ ...configQueries, ...callQueries })\n queries.map(([key, value]) => url?.searchParams.set(key, value))\n return url.href\n }\n\n throw Error('Unable to determine uri. No uri/uriTemplate specified in either the call or config.')\n }\n\n protected override async observeHandler(inPayloads: ApiCall[] = []): Promise<ApiCallResult[]> {\n await this.started('throw')\n try {\n const observations = await Promise.all(\n inPayloads.filter(isPayloadOfSchemaType(ApiCallSchema)).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, uri)\n }\n\n const observation: ApiCallResult = {\n call: await PayloadHasher.hashAsync(call),\n schema: ApiCallResultSchema,\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 private async httpGet(url: string, call: Hash): Promise<ApiCallResult> {\n const result: ApiCallResult = {\n call,\n schema: ApiCallResultSchema,\n }\n try {\n switch (this.accept) {\n case 'application/json': {\n const axios = new AxiosJson({ headers: this.params.headers, timeout: this.timeout })\n const response = await axios.get<ApiCallJsonResultType>(url)\n if (response.status >= 200 && response.status < 300) {\n const jsonResult = result as ApiCallJsonResult\n jsonResult.data = response.data\n jsonResult.contentType = 'application/json'\n } else {\n const errorResult = result as ApiCallErrorResult\n errorResult.http = {\n status: response.status,\n }\n }\n break\n }\n default: {\n const axios = new Axios({ headers: this.params.headers, responseType: 'arraybuffer', timeout: this.timeout })\n const response = await axios.get(url)\n if (response.status >= 200 && response.status < 300) {\n const jsonResult = result as ApiCallBase64Result\n jsonResult.data = fromByteArray(Buffer.from(response.data, 'binary'))\n jsonResult.contentType = response.headers['content-type']?.toString() ?? 'application/octet-stream'\n } else {\n const errorResult = result as ApiCallErrorResult\n errorResult.http = {\n status: response.status,\n }\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'\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 (ex) {\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":["import_object","import_payload_model","import_assert","import_payload_model","template"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/Config.ts","../../src/Payload.ts","../../src/Witness.ts","../../src/lib/checkIpfsUrl.ts"],"sourcesContent":["export * from './Config'\nexport * from './Payload'\nexport * from './Witness'\n","import { AsObjectFactory } from '@xyo-network/object'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { WitnessConfig } from '@xyo-network/witness-model'\n\nimport { ApiCall, ApiUriCall, ApiUriTemplateCall } from './Payload'\n\nexport const ApiCallWitnessConfigSchema = 'network.xyo.api.call.witness.config'\nexport type ApiCallWitnessConfigSchema = typeof ApiCallWitnessConfigSchema\n\nexport type ApiCallWitnessConfigBase = WitnessConfig<{\n accept?: 'application/json'\n queries?: ApiCall['queries']\n schema: ApiCallWitnessConfigSchema\n timeout?: number\n verb?: ApiCall['verb']\n}>\n\nexport type ApiUriCallWitnessConfig = WitnessConfig<\n ApiCallWitnessConfigBase & {\n uri: ApiUriCall['uri']\n }\n>\n\nexport type ApiUriTemplateCallWitnessConfig = WitnessConfig<\n ApiCallWitnessConfigBase & {\n params?: Record<string, unknown>\n uriTemplate: ApiUriTemplateCall['uriTemplate']\n }\n>\n\nexport type ApiCallWitnessConfig = ApiUriCallWitnessConfig | ApiUriTemplateCallWitnessConfig | ApiCallWitnessConfigBase\n\nexport const isApiCallWitnessConfig = isPayloadOfSchemaType(ApiCallWitnessConfigSchema)\nexport const asApiCallWitnessConfig = AsObjectFactory.create(isApiCallWitnessConfig)\n\nexport const isApiUriCallWitnessConfig = (value?: unknown): value is ApiUriCallWitnessConfig =>\n isApiCallWitnessConfig(value) && !!(value as ApiUriCallWitnessConfig).uri\nexport const asApiUriCallWitnessConfig = AsObjectFactory.create(isApiUriCallWitnessConfig)\n\nexport const isApiUriTemplateCallWitnessConfig = (value?: unknown): value is ApiUriTemplateCallWitnessConfig =>\n isApiCallWitnessConfig(value) && !!(value as ApiUriTemplateCallWitnessConfig).uriTemplate\nexport const asApiUriTemplateCallWitnessConfig = AsObjectFactory.create(isApiUriTemplateCallWitnessConfig)\n","import { Hash } from '@xylabs/hex'\nimport { AsObjectFactory, JsonArray, JsonObject } from '@xyo-network/object'\nimport { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'\n\nexport const ApiCallSchema = 'network.xyo.api.call'\nexport type ApiCallSchema = typeof ApiCallSchema\n\nexport type Verb = 'get' | 'post'\nexport type Queries = Record<string, string>\n\nexport interface ApiCallFields {\n queries?: Queries\n verb?: Verb\n}\n\nexport type ApiUriCall = Payload<\n ApiCallFields & {\n uri: string\n },\n ApiCallSchema\n>\n\nexport type ApiUriTemplateCall = Payload<\n ApiCallFields & {\n params?: Record<string, unknown>\n uriTemplate?: string\n },\n ApiCallSchema\n>\n\nexport type ApiCall = ApiUriCall | ApiUriTemplateCall\n\nexport const ApiCallResultSchema = 'network.xyo.api.call.result'\nexport type ApiCallResultSchema = typeof ApiCallResultSchema\n\nexport interface HttpMeta {\n code?: string\n status?: number\n}\n\nexport type ApiCallJsonResultType = JsonArray | JsonObject\n\nexport type ApiCallJsonResult<T extends ApiCallJsonResultType = ApiCallJsonResultType> = Payload<\n {\n call: Hash\n contentType: 'application/json'\n data: T\n },\n ApiCallResultSchema\n>\n\nexport type ApiCallBase64Result = Payload<\n {\n call: Hash\n contentType: Exclude<string, ApiCallJsonResult['contentType']>\n data: string\n },\n ApiCallResultSchema\n>\n\nexport type ApiCallErrorResult = Payload<\n {\n call: Hash\n http?: HttpMeta\n },\n ApiCallResultSchema\n>\n\nexport type ApiCallResult<TJson extends JsonArray | JsonObject = JsonArray | JsonObject> =\n | ApiCallBase64Result\n | ApiCallJsonResult<TJson>\n | ApiCallErrorResult\n\nexport const isApiCall = isPayloadOfSchemaType(ApiCallSchema)\nexport const asApiCall = AsObjectFactory.create(isApiCall)\n\nexport const isApiUriCall = (value?: unknown): value is ApiUriCall => isApiCall(value) && !!(value as ApiUriCall).uri\nexport const asApiUriCall = AsObjectFactory.create(isApiUriCall)\n\nexport const isApiUriTemplateCall = (value?: unknown): value is ApiUriTemplateCall =>\n isApiCall(value) && !!((value as ApiUriTemplateCall).uriTemplate || (value as ApiUriTemplateCall).params)\nexport const asApiUriTemplateCall = AsObjectFactory.create(isApiUriTemplateCall)\n","import { assertEx } from '@xylabs/assert'\nimport { Axios, AxiosError, AxiosJson } from '@xylabs/axios'\nimport { Hash } from '@xylabs/hex'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { WitnessParams } from '@xyo-network/witness-model'\nimport { fromByteArray } from 'base64-js'\nimport template from 'es6-template-strings'\n\nimport { ApiCallWitnessConfig, ApiCallWitnessConfigSchema, asApiUriCallWitnessConfig, asApiUriTemplateCallWitnessConfig } from './Config'\nimport { checkIpfsUrl } from './lib'\nimport {\n ApiCall,\n ApiCallBase64Result,\n ApiCallErrorResult,\n ApiCallJsonResult,\n ApiCallJsonResultType,\n ApiCallResult,\n ApiCallResultSchema,\n ApiCallSchema,\n asApiUriCall,\n asApiUriTemplateCall,\n} from './Payload'\n\nexport type ApiCallWitnessParams = WitnessParams<\n ApiCallWitnessConfig,\n {\n headers?: Record<string, string | undefined>\n ipfsGateway?: string\n }\n>\n\nexport class ApiCallWitness<TParams extends ApiCallWitnessParams = ApiCallWitnessParams> extends AbstractWitness<TParams, ApiCall, ApiCallResult> {\n static override configSchemas = [ApiCallWitnessConfigSchema]\n\n get accept() {\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?: ApiCall): string {\n const { uri: callUri } = asApiUriCall(call) ?? {}\n const { uriTemplate: callUriTemplate, params: callParams, queries: callQueries } = asApiUriTemplateCall(call) ?? {}\n const { uri: configUri } = asApiUriCallWitnessConfig(this.config) ?? {}\n const { uriTemplate: configUriTemplate, params: configParams, queries: configQueries } = asApiUriTemplateCallWitnessConfig(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(template(callUriTemplate, params))\n } else if (configUri) {\n url = new URL(configUri)\n } else if (configUriTemplate) {\n url = new URL(template(configUriTemplate, params))\n }\n\n if (url) {\n const queries = Object.entries({ ...configQueries, ...callQueries })\n queries.map(([key, value]) => url?.searchParams.set(key, value))\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 protected override async observeHandler(inPayloads: ApiCall[] = []): Promise<ApiCallResult[]> {\n await this.started('throw')\n try {\n const observations = await Promise.all(\n inPayloads.filter(isPayloadOfSchemaType(ApiCallSchema)).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, uri)\n }\n\n const observation: ApiCallResult = {\n call: await PayloadHasher.hashAsync(call),\n schema: ApiCallResultSchema,\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 private async httpGet(url: string, call: Hash): Promise<ApiCallResult> {\n const result: ApiCallResult = {\n call,\n schema: ApiCallResultSchema,\n }\n try {\n switch (this.accept) {\n case 'application/json': {\n const axios = new AxiosJson({ headers: this.params.headers, timeout: this.timeout })\n const response = await axios.get<ApiCallJsonResultType>(url)\n if (response.status >= 200 && response.status < 300) {\n const jsonResult = result as ApiCallJsonResult\n jsonResult.data = response.data\n jsonResult.contentType = 'application/json'\n } else {\n const errorResult = result as ApiCallErrorResult\n errorResult.http = {\n status: response.status,\n }\n }\n break\n }\n default: {\n const axios = new Axios({ headers: this.params.headers, responseType: 'arraybuffer', timeout: this.timeout })\n const response = await axios.get(url)\n if (response.status >= 200 && response.status < 300) {\n const jsonResult = result as ApiCallBase64Result\n jsonResult.data = fromByteArray(Buffer.from(response.data, 'binary'))\n jsonResult.contentType = response.headers['content-type']?.toString() ?? 'application/octet-stream'\n } else {\n const errorResult = result as ApiCallErrorResult\n errorResult.http = {\n status: response.status,\n }\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'\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":["import_object","import_payload_model","import_assert","import_payload_model","template"]}
@@ -59,7 +59,7 @@ var checkIpfsUrl = (urlToCheck, ipfsGateway) => {
59
59
  } else {
60
60
  return urlToCheck;
61
61
  }
62
- } catch (ex) {
62
+ } catch {
63
63
  return urlToCheck;
64
64
  }
65
65
  };
@@ -97,7 +97,7 @@ var ApiCallWitness = class extends AbstractWitness {
97
97
  queries.map(([key, value]) => url?.searchParams.set(key, value));
98
98
  return url.href;
99
99
  }
100
- throw Error("Unable to determine uri. No uri/uriTemplate specified in either the call or config.");
100
+ throw new Error("Unable to determine uri. No uri/uriTemplate specified in either the call or config.");
101
101
  }
102
102
  async observeHandler(inPayloads = []) {
103
103
  await this.started("throw");
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Config.ts","../../src/Payload.ts","../../src/Witness.ts","../../src/lib/checkIpfsUrl.ts"],"sourcesContent":["import { AsObjectFactory } from '@xyo-network/object'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { WitnessConfig } from '@xyo-network/witness-model'\n\nimport { ApiCall, ApiUriCall, ApiUriTemplateCall } from './Payload'\n\nexport const ApiCallWitnessConfigSchema = 'network.xyo.api.call.witness.config'\nexport type ApiCallWitnessConfigSchema = typeof ApiCallWitnessConfigSchema\n\nexport type ApiCallWitnessConfigBase = WitnessConfig<{\n accept?: 'application/json'\n queries?: ApiCall['queries']\n schema: ApiCallWitnessConfigSchema\n timeout?: number\n verb?: ApiCall['verb']\n}>\n\nexport type ApiUriCallWitnessConfig = WitnessConfig<\n ApiCallWitnessConfigBase & {\n uri: ApiUriCall['uri']\n }\n>\n\nexport type ApiUriTemplateCallWitnessConfig = WitnessConfig<\n ApiCallWitnessConfigBase & {\n params?: Record<string, unknown>\n uriTemplate: ApiUriTemplateCall['uriTemplate']\n }\n>\n\nexport type ApiCallWitnessConfig = ApiUriCallWitnessConfig | ApiUriTemplateCallWitnessConfig | ApiCallWitnessConfigBase\n\nexport const isApiCallWitnessConfig = isPayloadOfSchemaType(ApiCallWitnessConfigSchema)\nexport const asApiCallWitnessConfig = AsObjectFactory.create(isApiCallWitnessConfig)\n\nexport const isApiUriCallWitnessConfig = (value?: unknown): value is ApiUriCallWitnessConfig =>\n isApiCallWitnessConfig(value) && !!(value as ApiUriCallWitnessConfig).uri\nexport const asApiUriCallWitnessConfig = AsObjectFactory.create(isApiUriCallWitnessConfig)\n\nexport const isApiUriTemplateCallWitnessConfig = (value?: unknown): value is ApiUriTemplateCallWitnessConfig =>\n isApiCallWitnessConfig(value) && !!(value as ApiUriTemplateCallWitnessConfig).uriTemplate\nexport const asApiUriTemplateCallWitnessConfig = AsObjectFactory.create(isApiUriTemplateCallWitnessConfig)\n","import { Hash } from '@xylabs/hex'\nimport { AsObjectFactory, JsonArray, JsonObject } from '@xyo-network/object'\nimport { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'\n\nexport const ApiCallSchema = 'network.xyo.api.call'\nexport type ApiCallSchema = typeof ApiCallSchema\n\nexport type Verb = 'get' | 'post'\nexport type Queries = Record<string, string>\n\nexport interface ApiCallFields {\n queries?: Queries\n verb?: Verb\n}\n\nexport type ApiUriCall = Payload<\n ApiCallFields & {\n uri: string\n },\n ApiCallSchema\n>\n\nexport type ApiUriTemplateCall = Payload<\n ApiCallFields & {\n params?: Record<string, unknown>\n uriTemplate?: string\n },\n ApiCallSchema\n>\n\nexport type ApiCall = ApiUriCall | ApiUriTemplateCall\n\nexport const ApiCallResultSchema = 'network.xyo.api.call.result'\nexport type ApiCallResultSchema = typeof ApiCallResultSchema\n\nexport interface HttpMeta {\n code?: string\n status?: number\n}\n\nexport type ApiCallJsonResultType = JsonArray | JsonObject\n\nexport type ApiCallJsonResult<T extends ApiCallJsonResultType = ApiCallJsonResultType> = Payload<\n {\n call: Hash\n contentType: 'application/json'\n data: T\n },\n ApiCallResultSchema\n>\n\nexport type ApiCallBase64Result = Payload<\n {\n call: Hash\n contentType: Exclude<string, ApiCallJsonResult['contentType']>\n data: string\n },\n ApiCallResultSchema\n>\n\nexport type ApiCallErrorResult = Payload<\n {\n call: Hash\n http?: HttpMeta\n },\n ApiCallResultSchema\n>\n\nexport type ApiCallResult<TJson extends JsonArray | JsonObject = JsonArray | JsonObject> =\n | ApiCallBase64Result\n | ApiCallJsonResult<TJson>\n | ApiCallErrorResult\n\nexport const isApiCall = isPayloadOfSchemaType(ApiCallSchema)\nexport const asApiCall = AsObjectFactory.create(isApiCall)\n\nexport const isApiUriCall = (value?: unknown): value is ApiUriCall => isApiCall(value) && !!(value as ApiUriCall).uri\nexport const asApiUriCall = AsObjectFactory.create(isApiUriCall)\n\nexport const isApiUriTemplateCall = (value?: unknown): value is ApiUriTemplateCall =>\n isApiCall(value) && !!((value as ApiUriTemplateCall).uriTemplate || (value as ApiUriTemplateCall).params)\nexport const asApiUriTemplateCall = AsObjectFactory.create(isApiUriTemplateCall)\n","import { assertEx } from '@xylabs/assert'\nimport { Axios, AxiosError, AxiosJson } from '@xylabs/axios'\nimport { Hash } from '@xylabs/hex'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { WitnessParams } from '@xyo-network/witness-model'\nimport { fromByteArray } from 'base64-js'\nimport template from 'es6-template-strings'\n\nimport { ApiCallWitnessConfig, ApiCallWitnessConfigSchema, asApiUriCallWitnessConfig, asApiUriTemplateCallWitnessConfig } from './Config'\nimport { checkIpfsUrl } from './lib'\nimport {\n ApiCall,\n ApiCallBase64Result,\n ApiCallErrorResult,\n ApiCallJsonResult,\n ApiCallJsonResultType,\n ApiCallResult,\n ApiCallResultSchema,\n ApiCallSchema,\n asApiUriCall,\n asApiUriTemplateCall,\n} from './Payload'\n\nexport type ApiCallWitnessParams = WitnessParams<\n ApiCallWitnessConfig,\n {\n headers?: Record<string, string | undefined>\n ipfsGateway?: string\n }\n>\n\nexport class ApiCallWitness<TParams extends ApiCallWitnessParams = ApiCallWitnessParams> extends AbstractWitness<TParams, ApiCall, ApiCallResult> {\n static override configSchemas = [ApiCallWitnessConfigSchema]\n\n get accept() {\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?: ApiCall): string {\n const { uri: callUri } = asApiUriCall(call) ?? {}\n const { uriTemplate: callUriTemplate, params: callParams, queries: callQueries } = asApiUriTemplateCall(call) ?? {}\n const { uri: configUri } = asApiUriCallWitnessConfig(this.config) ?? {}\n const { uriTemplate: configUriTemplate, params: configParams, queries: configQueries } = asApiUriTemplateCallWitnessConfig(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(template(callUriTemplate, params))\n } else if (configUri) {\n url = new URL(configUri)\n } else if (configUriTemplate) {\n url = new URL(template(configUriTemplate, params))\n }\n\n if (url) {\n const queries = Object.entries({ ...configQueries, ...callQueries })\n queries.map(([key, value]) => url?.searchParams.set(key, value))\n return url.href\n }\n\n throw Error('Unable to determine uri. No uri/uriTemplate specified in either the call or config.')\n }\n\n protected override async observeHandler(inPayloads: ApiCall[] = []): Promise<ApiCallResult[]> {\n await this.started('throw')\n try {\n const observations = await Promise.all(\n inPayloads.filter(isPayloadOfSchemaType(ApiCallSchema)).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, uri)\n }\n\n const observation: ApiCallResult = {\n call: await PayloadHasher.hashAsync(call),\n schema: ApiCallResultSchema,\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 private async httpGet(url: string, call: Hash): Promise<ApiCallResult> {\n const result: ApiCallResult = {\n call,\n schema: ApiCallResultSchema,\n }\n try {\n switch (this.accept) {\n case 'application/json': {\n const axios = new AxiosJson({ headers: this.params.headers, timeout: this.timeout })\n const response = await axios.get<ApiCallJsonResultType>(url)\n if (response.status >= 200 && response.status < 300) {\n const jsonResult = result as ApiCallJsonResult\n jsonResult.data = response.data\n jsonResult.contentType = 'application/json'\n } else {\n const errorResult = result as ApiCallErrorResult\n errorResult.http = {\n status: response.status,\n }\n }\n break\n }\n default: {\n const axios = new Axios({ headers: this.params.headers, responseType: 'arraybuffer', timeout: this.timeout })\n const response = await axios.get(url)\n if (response.status >= 200 && response.status < 300) {\n const jsonResult = result as ApiCallBase64Result\n jsonResult.data = fromByteArray(Buffer.from(response.data, 'binary'))\n jsonResult.contentType = response.headers['content-type']?.toString() ?? 'application/octet-stream'\n } else {\n const errorResult = result as ApiCallErrorResult\n errorResult.http = {\n status: response.status,\n }\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'\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 (ex) {\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;AAChC,SAAS,6BAA6B;AAK/B,IAAM,6BAA6B;AA0BnC,IAAM,yBAAyB,sBAAsB,0BAA0B;AAC/E,IAAM,yBAAyB,gBAAgB,OAAO,sBAAsB;AAE5E,IAAM,4BAA4B,CAAC,UACxC,uBAAuB,KAAK,KAAK,CAAC,CAAE,MAAkC;AACjE,IAAM,4BAA4B,gBAAgB,OAAO,yBAAyB;AAElF,IAAM,oCAAoC,CAAC,UAChD,uBAAuB,KAAK,KAAK,CAAC,CAAE,MAA0C;AACzE,IAAM,oCAAoC,gBAAgB,OAAO,iCAAiC;;;ACxCzG,SAAS,mBAAAA,wBAA8C;AACvD,SAAS,yBAAAC,8BAAsC;AAExC,IAAM,gBAAgB;AA4BtB,IAAM,sBAAsB;AAyC5B,IAAM,YAAYA,uBAAsB,aAAa;AACrD,IAAM,YAAYD,iBAAgB,OAAO,SAAS;AAElD,IAAM,eAAe,CAAC,UAAyC,UAAU,KAAK,KAAK,CAAC,CAAE,MAAqB;AAC3G,IAAM,eAAeA,iBAAgB,OAAO,YAAY;AAExD,IAAM,uBAAuB,CAAC,UACnC,UAAU,KAAK,KAAK,CAAC,EAAG,MAA6B,eAAgB,MAA6B;AAC7F,IAAM,uBAAuBA,iBAAgB,OAAO,oBAAoB;;;ACjF/E,SAAS,YAAAE,iBAAgB;AACzB,SAAS,OAAmB,iBAAiB;AAE7C,SAAS,uBAAuB;AAChC,SAAS,qBAAqB;AAC9B,SAAS,yBAAAC,8BAA6B;AAEtC,SAAS,qBAAqB;AAC9B,OAAO,cAAc;;;ACRrB,SAAS,gBAAgB;AAEzB,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,yBAAyB;AACtD,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,yBAAyB;AACtD,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,SAAS,IAAI;AAIX,WAAO;AAAA,EACT;AACF;;;ADTO,IAAM,iBAAN,cAA0F,gBAAiD;AAAA,EAChJ,OAAgB,gBAAgB,CAAC,0BAA0B;AAAA,EAE3D,IAAI,SAAS;AACX,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,MAAwB;AACjC,UAAM,EAAE,KAAK,QAAQ,IAAI,aAAa,IAAI,KAAK,CAAC;AAChD,UAAM,EAAE,aAAa,iBAAiB,QAAQ,YAAY,SAAS,YAAY,IAAI,qBAAqB,IAAI,KAAK,CAAC;AAClH,UAAM,EAAE,KAAK,UAAU,IAAI,0BAA0B,KAAK,MAAM,KAAK,CAAC;AACtE,UAAM,EAAE,aAAa,mBAAmB,QAAQ,cAAc,SAAS,cAAc,IAAI,kCAAkC,KAAK,MAAM,KAAK,CAAC;AAE5I,UAAM,SAAS,EAAE,GAAG,cAAc,GAAG,WAAW;AAEhD,QAAI,MAAuB;AAE3B,QAAI,SAAS;AACX,YAAM,IAAI,IAAI,OAAO;AAAA,IACvB,WAAW,iBAAiB;AAC1B,YAAM,IAAI,IAAI,SAAS,iBAAiB,MAAM,CAAC;AAAA,IACjD,WAAW,WAAW;AACpB,YAAM,IAAI,IAAI,SAAS;AAAA,IACzB,WAAW,mBAAmB;AAC5B,YAAM,IAAI,IAAI,SAAS,mBAAmB,MAAM,CAAC;AAAA,IACnD;AAEA,QAAI,KAAK;AACP,YAAM,UAAU,OAAO,QAAQ,EAAE,GAAG,eAAe,GAAG,YAAY,CAAC;AACnE,cAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,KAAK,aAAa,IAAI,KAAK,KAAK,CAAC;AAC/D,aAAO,IAAI;AAAA,IACb;AAEA,UAAM,MAAM,qFAAqF;AAAA,EACnG;AAAA,EAEA,MAAyB,eAAe,aAAwB,CAAC,GAA6B;AAC5F,UAAM,KAAK,QAAQ,OAAO;AAC1B,QAAI;AACF,YAAM,eAAe,MAAM,QAAQ;AAAA,QACjC,WAAW,OAAOC,uBAAsB,aAAa,CAAC,EAAE,IAAI,OAAO,SAAS;AAC1E,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,aAAa;AAEhF,cAAI,SAAS,OAAO;AAClB,mBAAO,KAAK,QAAQ,cAAc,GAAG;AAAA,UACvC;AAEA,gBAAM,cAA6B;AAAA,YACjC,MAAM,MAAM,cAAc,UAAU,IAAI;AAAA,YACxC,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,EAEA,MAAc,QAAQ,KAAa,MAAoC;AACrE,UAAM,SAAwB;AAAA,MAC5B;AAAA,MACA,QAAQ;AAAA,IACV;AACA,QAAI;AACF,cAAQ,KAAK,QAAQ;AAAA,QACnB,KAAK,oBAAoB;AACvB,gBAAM,QAAQ,IAAI,UAAU,EAAE,SAAS,KAAK,OAAO,SAAS,SAAS,KAAK,QAAQ,CAAC;AACnF,gBAAM,WAAW,MAAM,MAAM,IAA2B,GAAG;AAC3D,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;AAAA,cACjB,QAAQ,SAAS;AAAA,YACnB;AAAA,UACF;AACA;AAAA,QACF;AAAA,QACA,SAAS;AACP,gBAAM,QAAQ,IAAI,MAAM,EAAE,SAAS,KAAK,OAAO,SAAS,cAAc,eAAe,SAAS,KAAK,QAAQ,CAAC;AAC5G,gBAAM,WAAW,MAAM,MAAM,IAAI,GAAG;AACpC,cAAI,SAAS,UAAU,OAAO,SAAS,SAAS,KAAK;AACnD,kBAAM,aAAa;AACnB,uBAAW,OAAO,cAAc,OAAO,KAAK,SAAS,MAAM,QAAQ,CAAC;AACpE,uBAAW,cAAc,SAAS,QAAQ,cAAc,GAAG,SAAS,KAAK;AAAA,UAC3E,OAAO;AACL,kBAAM,cAAc;AACpB,wBAAY,OAAO;AAAA,cACjB,QAAQ,SAAS;AAAA,YACnB;AAAA,UACF;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","assertEx","isPayloadOfSchemaType","isPayloadOfSchemaType","assertEx"]}
1
+ {"version":3,"sources":["../../src/Config.ts","../../src/Payload.ts","../../src/Witness.ts","../../src/lib/checkIpfsUrl.ts"],"sourcesContent":["import { AsObjectFactory } from '@xyo-network/object'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { WitnessConfig } from '@xyo-network/witness-model'\n\nimport { ApiCall, ApiUriCall, ApiUriTemplateCall } from './Payload'\n\nexport const ApiCallWitnessConfigSchema = 'network.xyo.api.call.witness.config'\nexport type ApiCallWitnessConfigSchema = typeof ApiCallWitnessConfigSchema\n\nexport type ApiCallWitnessConfigBase = WitnessConfig<{\n accept?: 'application/json'\n queries?: ApiCall['queries']\n schema: ApiCallWitnessConfigSchema\n timeout?: number\n verb?: ApiCall['verb']\n}>\n\nexport type ApiUriCallWitnessConfig = WitnessConfig<\n ApiCallWitnessConfigBase & {\n uri: ApiUriCall['uri']\n }\n>\n\nexport type ApiUriTemplateCallWitnessConfig = WitnessConfig<\n ApiCallWitnessConfigBase & {\n params?: Record<string, unknown>\n uriTemplate: ApiUriTemplateCall['uriTemplate']\n }\n>\n\nexport type ApiCallWitnessConfig = ApiUriCallWitnessConfig | ApiUriTemplateCallWitnessConfig | ApiCallWitnessConfigBase\n\nexport const isApiCallWitnessConfig = isPayloadOfSchemaType(ApiCallWitnessConfigSchema)\nexport const asApiCallWitnessConfig = AsObjectFactory.create(isApiCallWitnessConfig)\n\nexport const isApiUriCallWitnessConfig = (value?: unknown): value is ApiUriCallWitnessConfig =>\n isApiCallWitnessConfig(value) && !!(value as ApiUriCallWitnessConfig).uri\nexport const asApiUriCallWitnessConfig = AsObjectFactory.create(isApiUriCallWitnessConfig)\n\nexport const isApiUriTemplateCallWitnessConfig = (value?: unknown): value is ApiUriTemplateCallWitnessConfig =>\n isApiCallWitnessConfig(value) && !!(value as ApiUriTemplateCallWitnessConfig).uriTemplate\nexport const asApiUriTemplateCallWitnessConfig = AsObjectFactory.create(isApiUriTemplateCallWitnessConfig)\n","import { Hash } from '@xylabs/hex'\nimport { AsObjectFactory, JsonArray, JsonObject } from '@xyo-network/object'\nimport { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'\n\nexport const ApiCallSchema = 'network.xyo.api.call'\nexport type ApiCallSchema = typeof ApiCallSchema\n\nexport type Verb = 'get' | 'post'\nexport type Queries = Record<string, string>\n\nexport interface ApiCallFields {\n queries?: Queries\n verb?: Verb\n}\n\nexport type ApiUriCall = Payload<\n ApiCallFields & {\n uri: string\n },\n ApiCallSchema\n>\n\nexport type ApiUriTemplateCall = Payload<\n ApiCallFields & {\n params?: Record<string, unknown>\n uriTemplate?: string\n },\n ApiCallSchema\n>\n\nexport type ApiCall = ApiUriCall | ApiUriTemplateCall\n\nexport const ApiCallResultSchema = 'network.xyo.api.call.result'\nexport type ApiCallResultSchema = typeof ApiCallResultSchema\n\nexport interface HttpMeta {\n code?: string\n status?: number\n}\n\nexport type ApiCallJsonResultType = JsonArray | JsonObject\n\nexport type ApiCallJsonResult<T extends ApiCallJsonResultType = ApiCallJsonResultType> = Payload<\n {\n call: Hash\n contentType: 'application/json'\n data: T\n },\n ApiCallResultSchema\n>\n\nexport type ApiCallBase64Result = Payload<\n {\n call: Hash\n contentType: Exclude<string, ApiCallJsonResult['contentType']>\n data: string\n },\n ApiCallResultSchema\n>\n\nexport type ApiCallErrorResult = Payload<\n {\n call: Hash\n http?: HttpMeta\n },\n ApiCallResultSchema\n>\n\nexport type ApiCallResult<TJson extends JsonArray | JsonObject = JsonArray | JsonObject> =\n | ApiCallBase64Result\n | ApiCallJsonResult<TJson>\n | ApiCallErrorResult\n\nexport const isApiCall = isPayloadOfSchemaType(ApiCallSchema)\nexport const asApiCall = AsObjectFactory.create(isApiCall)\n\nexport const isApiUriCall = (value?: unknown): value is ApiUriCall => isApiCall(value) && !!(value as ApiUriCall).uri\nexport const asApiUriCall = AsObjectFactory.create(isApiUriCall)\n\nexport const isApiUriTemplateCall = (value?: unknown): value is ApiUriTemplateCall =>\n isApiCall(value) && !!((value as ApiUriTemplateCall).uriTemplate || (value as ApiUriTemplateCall).params)\nexport const asApiUriTemplateCall = AsObjectFactory.create(isApiUriTemplateCall)\n","import { assertEx } from '@xylabs/assert'\nimport { Axios, AxiosError, AxiosJson } from '@xylabs/axios'\nimport { Hash } from '@xylabs/hex'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { WitnessParams } from '@xyo-network/witness-model'\nimport { fromByteArray } from 'base64-js'\nimport template from 'es6-template-strings'\n\nimport { ApiCallWitnessConfig, ApiCallWitnessConfigSchema, asApiUriCallWitnessConfig, asApiUriTemplateCallWitnessConfig } from './Config'\nimport { checkIpfsUrl } from './lib'\nimport {\n ApiCall,\n ApiCallBase64Result,\n ApiCallErrorResult,\n ApiCallJsonResult,\n ApiCallJsonResultType,\n ApiCallResult,\n ApiCallResultSchema,\n ApiCallSchema,\n asApiUriCall,\n asApiUriTemplateCall,\n} from './Payload'\n\nexport type ApiCallWitnessParams = WitnessParams<\n ApiCallWitnessConfig,\n {\n headers?: Record<string, string | undefined>\n ipfsGateway?: string\n }\n>\n\nexport class ApiCallWitness<TParams extends ApiCallWitnessParams = ApiCallWitnessParams> extends AbstractWitness<TParams, ApiCall, ApiCallResult> {\n static override configSchemas = [ApiCallWitnessConfigSchema]\n\n get accept() {\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?: ApiCall): string {\n const { uri: callUri } = asApiUriCall(call) ?? {}\n const { uriTemplate: callUriTemplate, params: callParams, queries: callQueries } = asApiUriTemplateCall(call) ?? {}\n const { uri: configUri } = asApiUriCallWitnessConfig(this.config) ?? {}\n const { uriTemplate: configUriTemplate, params: configParams, queries: configQueries } = asApiUriTemplateCallWitnessConfig(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(template(callUriTemplate, params))\n } else if (configUri) {\n url = new URL(configUri)\n } else if (configUriTemplate) {\n url = new URL(template(configUriTemplate, params))\n }\n\n if (url) {\n const queries = Object.entries({ ...configQueries, ...callQueries })\n queries.map(([key, value]) => url?.searchParams.set(key, value))\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 protected override async observeHandler(inPayloads: ApiCall[] = []): Promise<ApiCallResult[]> {\n await this.started('throw')\n try {\n const observations = await Promise.all(\n inPayloads.filter(isPayloadOfSchemaType(ApiCallSchema)).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, uri)\n }\n\n const observation: ApiCallResult = {\n call: await PayloadHasher.hashAsync(call),\n schema: ApiCallResultSchema,\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 private async httpGet(url: string, call: Hash): Promise<ApiCallResult> {\n const result: ApiCallResult = {\n call,\n schema: ApiCallResultSchema,\n }\n try {\n switch (this.accept) {\n case 'application/json': {\n const axios = new AxiosJson({ headers: this.params.headers, timeout: this.timeout })\n const response = await axios.get<ApiCallJsonResultType>(url)\n if (response.status >= 200 && response.status < 300) {\n const jsonResult = result as ApiCallJsonResult\n jsonResult.data = response.data\n jsonResult.contentType = 'application/json'\n } else {\n const errorResult = result as ApiCallErrorResult\n errorResult.http = {\n status: response.status,\n }\n }\n break\n }\n default: {\n const axios = new Axios({ headers: this.params.headers, responseType: 'arraybuffer', timeout: this.timeout })\n const response = await axios.get(url)\n if (response.status >= 200 && response.status < 300) {\n const jsonResult = result as ApiCallBase64Result\n jsonResult.data = fromByteArray(Buffer.from(response.data, 'binary'))\n jsonResult.contentType = response.headers['content-type']?.toString() ?? 'application/octet-stream'\n } else {\n const errorResult = result as ApiCallErrorResult\n errorResult.http = {\n status: response.status,\n }\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'\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","assertEx","isPayloadOfSchemaType","isPayloadOfSchemaType","assertEx"]}
@@ -29,7 +29,6 @@ export declare const asApiCallWitnessConfig: {
29
29
  } & object>(value: unknown, assert: string | (() => string), config?: import("@xyo-network/object").TypeCheckConfig | undefined): TType_1;
30
30
  };
31
31
  export declare const isApiUriCallWitnessConfig: (value?: unknown) => value is import("@xyo-network/payload-model").SchemaFields & object & {
32
- accountDerivationPath?: string | undefined;
33
32
  readonly archivist?: string | undefined;
34
33
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
35
34
  readonly name?: string | undefined;
@@ -48,7 +47,6 @@ export declare const isApiUriCallWitnessConfig: (value?: unknown) => value is im
48
47
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
49
48
  schema: "network.xyo.api.call.witness.config";
50
49
  } & {
51
- accountDerivationPath?: string | undefined;
52
50
  readonly archivist?: string | undefined;
53
51
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
54
52
  readonly name?: string | undefined;
@@ -77,7 +75,6 @@ export declare const isApiUriCallWitnessConfig: (value?: unknown) => value is im
77
75
  };
78
76
  export declare const asApiUriCallWitnessConfig: {
79
77
  <TType extends import("@xyo-network/payload-model").SchemaFields & object & {
80
- accountDerivationPath?: string | undefined;
81
78
  readonly archivist?: string | undefined;
82
79
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
83
80
  readonly name?: string | undefined;
@@ -96,7 +93,6 @@ export declare const asApiUriCallWitnessConfig: {
96
93
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
97
94
  schema: "network.xyo.api.call.witness.config";
98
95
  } & {
99
- accountDerivationPath?: string | undefined;
100
96
  readonly archivist?: string | undefined;
101
97
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
102
98
  readonly name?: string | undefined;
@@ -124,7 +120,6 @@ export declare const asApiUriCallWitnessConfig: {
124
120
  uri: ApiUriCall['uri'];
125
121
  }>(value: unknown, config?: import("@xyo-network/object").TypeCheckConfig | undefined): TType | undefined;
126
122
  <TType_1 extends import("@xyo-network/payload-model").SchemaFields & object & {
127
- accountDerivationPath?: string | undefined;
128
123
  readonly archivist?: string | undefined;
129
124
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
130
125
  readonly name?: string | undefined;
@@ -143,7 +138,6 @@ export declare const asApiUriCallWitnessConfig: {
143
138
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
144
139
  schema: "network.xyo.api.call.witness.config";
145
140
  } & {
146
- accountDerivationPath?: string | undefined;
147
141
  readonly archivist?: string | undefined;
148
142
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
149
143
  readonly name?: string | undefined;
@@ -172,7 +166,6 @@ export declare const asApiUriCallWitnessConfig: {
172
166
  }>(value: unknown, assert: string | (() => string), config?: import("@xyo-network/object").TypeCheckConfig | undefined): TType_1;
173
167
  };
174
168
  export declare const isApiUriTemplateCallWitnessConfig: (value?: unknown) => value is import("@xyo-network/payload-model").SchemaFields & object & {
175
- accountDerivationPath?: string | undefined;
176
169
  readonly archivist?: string | undefined;
177
170
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
178
171
  readonly name?: string | undefined;
@@ -191,7 +184,6 @@ export declare const isApiUriTemplateCallWitnessConfig: (value?: unknown) => val
191
184
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
192
185
  schema: "network.xyo.api.call.witness.config";
193
186
  } & {
194
- accountDerivationPath?: string | undefined;
195
187
  readonly archivist?: string | undefined;
196
188
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
197
189
  readonly name?: string | undefined;
@@ -221,7 +213,6 @@ export declare const isApiUriTemplateCallWitnessConfig: (value?: unknown) => val
221
213
  };
222
214
  export declare const asApiUriTemplateCallWitnessConfig: {
223
215
  <TType extends import("@xyo-network/payload-model").SchemaFields & object & {
224
- accountDerivationPath?: string | undefined;
225
216
  readonly archivist?: string | undefined;
226
217
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
227
218
  readonly name?: string | undefined;
@@ -240,7 +231,6 @@ export declare const asApiUriTemplateCallWitnessConfig: {
240
231
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
241
232
  schema: "network.xyo.api.call.witness.config";
242
233
  } & {
243
- accountDerivationPath?: string | undefined;
244
234
  readonly archivist?: string | undefined;
245
235
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
246
236
  readonly name?: string | undefined;
@@ -269,7 +259,6 @@ export declare const asApiUriTemplateCallWitnessConfig: {
269
259
  uriTemplate: ApiUriTemplateCall['uriTemplate'];
270
260
  }>(value: unknown, config?: import("@xyo-network/object").TypeCheckConfig | undefined): TType | undefined;
271
261
  <TType_1 extends import("@xyo-network/payload-model").SchemaFields & object & {
272
- accountDerivationPath?: string | undefined;
273
262
  readonly archivist?: string | undefined;
274
263
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
275
264
  readonly name?: string | undefined;
@@ -288,7 +277,6 @@ export declare const asApiUriTemplateCallWitnessConfig: {
288
277
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
289
278
  schema: "network.xyo.api.call.witness.config";
290
279
  } & {
291
- accountDerivationPath?: string | undefined;
292
280
  readonly archivist?: string | undefined;
293
281
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
294
282
  readonly name?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEnE,eAAO,MAAM,0BAA0B,wCAAwC,CAAA;AAC/E,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAA;AAE1E,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC;IACnD,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5B,MAAM,EAAE,0BAA0B,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CACvB,CAAC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,aAAa,CACjD,wBAAwB,GAAG;IACzB,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;CACvB,CACF,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG,aAAa,CACzD,wBAAwB,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAA;CAC/C,CACF,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,GAAG,+BAA+B,GAAG,wBAAwB,CAAA;AAEvH,eAAO,MAAM,sBAAsB;;UAAoD,CAAA;AACvF,eAAO,MAAM,sBAAsB;;;;;;;CAAiD,CAAA;AAEpF,eAAO,MAAM,yBAAyB,WAAY,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAxB7C,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;SAKf,UAAU,CAAC,KAAK,CAAC;CAiBiD,CAAA;AAC3E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA1B1B,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;aAKf,UAAU,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBARd,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;aAKf,UAAU,CAAC,KAAK,CAAC;;CAkBgE,CAAA;AAE1F,eAAO,MAAM,iCAAiC,WAAY,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA5BrD,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;;iBAYP,kBAAkB,CAAC,aAAa,CAAC;CAcyC,CAAA;AAC3F,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA9BlC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAftC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;CAewD,CAAA"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEnE,eAAO,MAAM,0BAA0B,wCAAwC,CAAA;AAC/E,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAA;AAE1E,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC;IACnD,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5B,MAAM,EAAE,0BAA0B,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CACvB,CAAC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,aAAa,CACjD,wBAAwB,GAAG;IACzB,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;CACvB,CACF,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG,aAAa,CACzD,wBAAwB,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAA;CAC/C,CACF,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,GAAG,+BAA+B,GAAG,wBAAwB,CAAA;AAEvH,eAAO,MAAM,sBAAsB;;UAAoD,CAAA;AACvF,eAAO,MAAM,sBAAsB;;;;;;;CAAiD,CAAA;AAEpF,eAAO,MAAM,yBAAyB,WAAY,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAxB7C,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;SAKf,UAAU,CAAC,KAAK,CAAC;CAiBiD,CAAA;AAC3E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA1B1B,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;aAKf,UAAU,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBARd,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;aAKf,UAAU,CAAC,KAAK,CAAC;;CAkBgE,CAAA;AAE1F,eAAO,MAAM,iCAAiC,WAAY,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA5BrD,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;;iBAYP,kBAAkB,CAAC,aAAa,CAAC;CAcyC,CAAA;AAC3F,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA9BlC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAftC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;CAewD,CAAA"}
@@ -29,7 +29,6 @@ export declare const asApiCallWitnessConfig: {
29
29
  } & object>(value: unknown, assert: string | (() => string), config?: import("@xyo-network/object").TypeCheckConfig | undefined): TType_1;
30
30
  };
31
31
  export declare const isApiUriCallWitnessConfig: (value?: unknown) => value is import("@xyo-network/payload-model").SchemaFields & object & {
32
- accountDerivationPath?: string | undefined;
33
32
  readonly archivist?: string | undefined;
34
33
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
35
34
  readonly name?: string | undefined;
@@ -48,7 +47,6 @@ export declare const isApiUriCallWitnessConfig: (value?: unknown) => value is im
48
47
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
49
48
  schema: "network.xyo.api.call.witness.config";
50
49
  } & {
51
- accountDerivationPath?: string | undefined;
52
50
  readonly archivist?: string | undefined;
53
51
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
54
52
  readonly name?: string | undefined;
@@ -77,7 +75,6 @@ export declare const isApiUriCallWitnessConfig: (value?: unknown) => value is im
77
75
  };
78
76
  export declare const asApiUriCallWitnessConfig: {
79
77
  <TType extends import("@xyo-network/payload-model").SchemaFields & object & {
80
- accountDerivationPath?: string | undefined;
81
78
  readonly archivist?: string | undefined;
82
79
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
83
80
  readonly name?: string | undefined;
@@ -96,7 +93,6 @@ export declare const asApiUriCallWitnessConfig: {
96
93
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
97
94
  schema: "network.xyo.api.call.witness.config";
98
95
  } & {
99
- accountDerivationPath?: string | undefined;
100
96
  readonly archivist?: string | undefined;
101
97
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
102
98
  readonly name?: string | undefined;
@@ -124,7 +120,6 @@ export declare const asApiUriCallWitnessConfig: {
124
120
  uri: ApiUriCall['uri'];
125
121
  }>(value: unknown, config?: import("@xyo-network/object").TypeCheckConfig | undefined): TType | undefined;
126
122
  <TType_1 extends import("@xyo-network/payload-model").SchemaFields & object & {
127
- accountDerivationPath?: string | undefined;
128
123
  readonly archivist?: string | undefined;
129
124
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
130
125
  readonly name?: string | undefined;
@@ -143,7 +138,6 @@ export declare const asApiUriCallWitnessConfig: {
143
138
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
144
139
  schema: "network.xyo.api.call.witness.config";
145
140
  } & {
146
- accountDerivationPath?: string | undefined;
147
141
  readonly archivist?: string | undefined;
148
142
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
149
143
  readonly name?: string | undefined;
@@ -172,7 +166,6 @@ export declare const asApiUriCallWitnessConfig: {
172
166
  }>(value: unknown, assert: string | (() => string), config?: import("@xyo-network/object").TypeCheckConfig | undefined): TType_1;
173
167
  };
174
168
  export declare const isApiUriTemplateCallWitnessConfig: (value?: unknown) => value is import("@xyo-network/payload-model").SchemaFields & object & {
175
- accountDerivationPath?: string | undefined;
176
169
  readonly archivist?: string | undefined;
177
170
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
178
171
  readonly name?: string | undefined;
@@ -191,7 +184,6 @@ export declare const isApiUriTemplateCallWitnessConfig: (value?: unknown) => val
191
184
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
192
185
  schema: "network.xyo.api.call.witness.config";
193
186
  } & {
194
- accountDerivationPath?: string | undefined;
195
187
  readonly archivist?: string | undefined;
196
188
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
197
189
  readonly name?: string | undefined;
@@ -221,7 +213,6 @@ export declare const isApiUriTemplateCallWitnessConfig: (value?: unknown) => val
221
213
  };
222
214
  export declare const asApiUriTemplateCallWitnessConfig: {
223
215
  <TType extends import("@xyo-network/payload-model").SchemaFields & object & {
224
- accountDerivationPath?: string | undefined;
225
216
  readonly archivist?: string | undefined;
226
217
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
227
218
  readonly name?: string | undefined;
@@ -240,7 +231,6 @@ export declare const asApiUriTemplateCallWitnessConfig: {
240
231
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
241
232
  schema: "network.xyo.api.call.witness.config";
242
233
  } & {
243
- accountDerivationPath?: string | undefined;
244
234
  readonly archivist?: string | undefined;
245
235
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
246
236
  readonly name?: string | undefined;
@@ -269,7 +259,6 @@ export declare const asApiUriTemplateCallWitnessConfig: {
269
259
  uriTemplate: ApiUriTemplateCall['uriTemplate'];
270
260
  }>(value: unknown, config?: import("@xyo-network/object").TypeCheckConfig | undefined): TType | undefined;
271
261
  <TType_1 extends import("@xyo-network/payload-model").SchemaFields & object & {
272
- accountDerivationPath?: string | undefined;
273
262
  readonly archivist?: string | undefined;
274
263
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
275
264
  readonly name?: string | undefined;
@@ -288,7 +277,6 @@ export declare const asApiUriTemplateCallWitnessConfig: {
288
277
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
289
278
  schema: "network.xyo.api.call.witness.config";
290
279
  } & {
291
- accountDerivationPath?: string | undefined;
292
280
  readonly archivist?: string | undefined;
293
281
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
294
282
  readonly name?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEnE,eAAO,MAAM,0BAA0B,wCAAwC,CAAA;AAC/E,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAA;AAE1E,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC;IACnD,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5B,MAAM,EAAE,0BAA0B,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CACvB,CAAC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,aAAa,CACjD,wBAAwB,GAAG;IACzB,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;CACvB,CACF,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG,aAAa,CACzD,wBAAwB,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAA;CAC/C,CACF,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,GAAG,+BAA+B,GAAG,wBAAwB,CAAA;AAEvH,eAAO,MAAM,sBAAsB;;UAAoD,CAAA;AACvF,eAAO,MAAM,sBAAsB;;;;;;;CAAiD,CAAA;AAEpF,eAAO,MAAM,yBAAyB,WAAY,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAxB7C,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;SAKf,UAAU,CAAC,KAAK,CAAC;CAiBiD,CAAA;AAC3E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA1B1B,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;aAKf,UAAU,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBARd,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;aAKf,UAAU,CAAC,KAAK,CAAC;;CAkBgE,CAAA;AAE1F,eAAO,MAAM,iCAAiC,WAAY,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA5BrD,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;;iBAYP,kBAAkB,CAAC,aAAa,CAAC;CAcyC,CAAA;AAC3F,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA9BlC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAftC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;CAewD,CAAA"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEnE,eAAO,MAAM,0BAA0B,wCAAwC,CAAA;AAC/E,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAA;AAE1E,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC;IACnD,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5B,MAAM,EAAE,0BAA0B,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CACvB,CAAC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,aAAa,CACjD,wBAAwB,GAAG;IACzB,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;CACvB,CACF,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG,aAAa,CACzD,wBAAwB,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAA;CAC/C,CACF,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,GAAG,+BAA+B,GAAG,wBAAwB,CAAA;AAEvH,eAAO,MAAM,sBAAsB;;UAAoD,CAAA;AACvF,eAAO,MAAM,sBAAsB;;;;;;;CAAiD,CAAA;AAEpF,eAAO,MAAM,yBAAyB,WAAY,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAxB7C,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;SAKf,UAAU,CAAC,KAAK,CAAC;CAiBiD,CAAA;AAC3E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA1B1B,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;aAKf,UAAU,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBARd,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;aAKf,UAAU,CAAC,KAAK,CAAC;;CAkBgE,CAAA;AAE1F,eAAO,MAAM,iCAAiC,WAAY,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA5BrD,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;;iBAYP,kBAAkB,CAAC,aAAa,CAAC;CAcyC,CAAA;AAC3F,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA9BlC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAftC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;CAewD,CAAA"}
@@ -29,7 +29,6 @@ export declare const asApiCallWitnessConfig: {
29
29
  } & object>(value: unknown, assert: string | (() => string), config?: import("@xyo-network/object").TypeCheckConfig | undefined): TType_1;
30
30
  };
31
31
  export declare const isApiUriCallWitnessConfig: (value?: unknown) => value is import("@xyo-network/payload-model").SchemaFields & object & {
32
- accountDerivationPath?: string | undefined;
33
32
  readonly archivist?: string | undefined;
34
33
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
35
34
  readonly name?: string | undefined;
@@ -48,7 +47,6 @@ export declare const isApiUriCallWitnessConfig: (value?: unknown) => value is im
48
47
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
49
48
  schema: "network.xyo.api.call.witness.config";
50
49
  } & {
51
- accountDerivationPath?: string | undefined;
52
50
  readonly archivist?: string | undefined;
53
51
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
54
52
  readonly name?: string | undefined;
@@ -77,7 +75,6 @@ export declare const isApiUriCallWitnessConfig: (value?: unknown) => value is im
77
75
  };
78
76
  export declare const asApiUriCallWitnessConfig: {
79
77
  <TType extends import("@xyo-network/payload-model").SchemaFields & object & {
80
- accountDerivationPath?: string | undefined;
81
78
  readonly archivist?: string | undefined;
82
79
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
83
80
  readonly name?: string | undefined;
@@ -96,7 +93,6 @@ export declare const asApiUriCallWitnessConfig: {
96
93
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
97
94
  schema: "network.xyo.api.call.witness.config";
98
95
  } & {
99
- accountDerivationPath?: string | undefined;
100
96
  readonly archivist?: string | undefined;
101
97
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
102
98
  readonly name?: string | undefined;
@@ -124,7 +120,6 @@ export declare const asApiUriCallWitnessConfig: {
124
120
  uri: ApiUriCall['uri'];
125
121
  }>(value: unknown, config?: import("@xyo-network/object").TypeCheckConfig | undefined): TType | undefined;
126
122
  <TType_1 extends import("@xyo-network/payload-model").SchemaFields & object & {
127
- accountDerivationPath?: string | undefined;
128
123
  readonly archivist?: string | undefined;
129
124
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
130
125
  readonly name?: string | undefined;
@@ -143,7 +138,6 @@ export declare const asApiUriCallWitnessConfig: {
143
138
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
144
139
  schema: "network.xyo.api.call.witness.config";
145
140
  } & {
146
- accountDerivationPath?: string | undefined;
147
141
  readonly archivist?: string | undefined;
148
142
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
149
143
  readonly name?: string | undefined;
@@ -172,7 +166,6 @@ export declare const asApiUriCallWitnessConfig: {
172
166
  }>(value: unknown, assert: string | (() => string), config?: import("@xyo-network/object").TypeCheckConfig | undefined): TType_1;
173
167
  };
174
168
  export declare const isApiUriTemplateCallWitnessConfig: (value?: unknown) => value is import("@xyo-network/payload-model").SchemaFields & object & {
175
- accountDerivationPath?: string | undefined;
176
169
  readonly archivist?: string | undefined;
177
170
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
178
171
  readonly name?: string | undefined;
@@ -191,7 +184,6 @@ export declare const isApiUriTemplateCallWitnessConfig: (value?: unknown) => val
191
184
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
192
185
  schema: "network.xyo.api.call.witness.config";
193
186
  } & {
194
- accountDerivationPath?: string | undefined;
195
187
  readonly archivist?: string | undefined;
196
188
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
197
189
  readonly name?: string | undefined;
@@ -221,7 +213,6 @@ export declare const isApiUriTemplateCallWitnessConfig: (value?: unknown) => val
221
213
  };
222
214
  export declare const asApiUriTemplateCallWitnessConfig: {
223
215
  <TType extends import("@xyo-network/payload-model").SchemaFields & object & {
224
- accountDerivationPath?: string | undefined;
225
216
  readonly archivist?: string | undefined;
226
217
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
227
218
  readonly name?: string | undefined;
@@ -240,7 +231,6 @@ export declare const asApiUriTemplateCallWitnessConfig: {
240
231
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
241
232
  schema: "network.xyo.api.call.witness.config";
242
233
  } & {
243
- accountDerivationPath?: string | undefined;
244
234
  readonly archivist?: string | undefined;
245
235
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
246
236
  readonly name?: string | undefined;
@@ -269,7 +259,6 @@ export declare const asApiUriTemplateCallWitnessConfig: {
269
259
  uriTemplate: ApiUriTemplateCall['uriTemplate'];
270
260
  }>(value: unknown, config?: import("@xyo-network/object").TypeCheckConfig | undefined): TType | undefined;
271
261
  <TType_1 extends import("@xyo-network/payload-model").SchemaFields & object & {
272
- accountDerivationPath?: string | undefined;
273
262
  readonly archivist?: string | undefined;
274
263
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
275
264
  readonly name?: string | undefined;
@@ -288,7 +277,6 @@ export declare const asApiUriTemplateCallWitnessConfig: {
288
277
  } & import("@xyo-network/module-model").ArchivingModuleConfig & {
289
278
  schema: "network.xyo.api.call.witness.config";
290
279
  } & {
291
- accountDerivationPath?: string | undefined;
292
280
  readonly archivist?: string | undefined;
293
281
  readonly labels?: import("@xyo-network/module-model").Labels | undefined;
294
282
  readonly name?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEnE,eAAO,MAAM,0BAA0B,wCAAwC,CAAA;AAC/E,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAA;AAE1E,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC;IACnD,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5B,MAAM,EAAE,0BAA0B,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CACvB,CAAC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,aAAa,CACjD,wBAAwB,GAAG;IACzB,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;CACvB,CACF,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG,aAAa,CACzD,wBAAwB,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAA;CAC/C,CACF,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,GAAG,+BAA+B,GAAG,wBAAwB,CAAA;AAEvH,eAAO,MAAM,sBAAsB;;UAAoD,CAAA;AACvF,eAAO,MAAM,sBAAsB;;;;;;;CAAiD,CAAA;AAEpF,eAAO,MAAM,yBAAyB,WAAY,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAxB7C,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;SAKf,UAAU,CAAC,KAAK,CAAC;CAiBiD,CAAA;AAC3E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA1B1B,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;aAKf,UAAU,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBARd,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;aAKf,UAAU,CAAC,KAAK,CAAC;;CAkBgE,CAAA;AAE1F,eAAO,MAAM,iCAAiC,WAAY,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA5BrD,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;;iBAYP,kBAAkB,CAAC,aAAa,CAAC;CAcyC,CAAA;AAC3F,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA9BlC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAftC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;CAewD,CAAA"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEnE,eAAO,MAAM,0BAA0B,wCAAwC,CAAA;AAC/E,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAA;AAE1E,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC;IACnD,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5B,MAAM,EAAE,0BAA0B,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CACvB,CAAC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,aAAa,CACjD,wBAAwB,GAAG;IACzB,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;CACvB,CACF,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG,aAAa,CACzD,wBAAwB,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAA;CAC/C,CACF,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,GAAG,+BAA+B,GAAG,wBAAwB,CAAA;AAEvH,eAAO,MAAM,sBAAsB;;UAAoD,CAAA;AACvF,eAAO,MAAM,sBAAsB;;;;;;;CAAiD,CAAA;AAEpF,eAAO,MAAM,yBAAyB,WAAY,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAxB7C,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;SAKf,UAAU,CAAC,KAAK,CAAC;CAiBiD,CAAA;AAC3E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA1B1B,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;aAKf,UAAU,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBARd,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;aAKf,UAAU,CAAC,KAAK,CAAC;;CAkBgE,CAAA;AAE1F,eAAO,MAAM,iCAAiC,WAAY,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA5BrD,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;;iBAYP,kBAAkB,CAAC,aAAa,CAAC;CAcyC,CAAA;AAC3F,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA9BlC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAftC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;CAewD,CAAA"}
@@ -110,7 +110,7 @@ var checkIpfsUrl = (urlToCheck, ipfsGateway) => {
110
110
  } else {
111
111
  return urlToCheck;
112
112
  }
113
- } catch (ex) {
113
+ } catch {
114
114
  return urlToCheck;
115
115
  }
116
116
  };
@@ -148,7 +148,7 @@ var ApiCallWitness = class extends import_abstract_witness.AbstractWitness {
148
148
  queries.map(([key, value]) => url == null ? void 0 : url.searchParams.set(key, value));
149
149
  return url.href;
150
150
  }
151
- throw Error("Unable to determine uri. No uri/uriTemplate specified in either the call or config.");
151
+ throw new Error("Unable to determine uri. No uri/uriTemplate specified in either the call or config.");
152
152
  }
153
153
  async observeHandler(inPayloads = []) {
154
154
  await this.started("throw");
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/Config.ts","../../src/Payload.ts","../../src/Witness.ts","../../src/lib/checkIpfsUrl.ts"],"sourcesContent":["export * from './Config'\nexport * from './Payload'\nexport * from './Witness'\n","import { AsObjectFactory } from '@xyo-network/object'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { WitnessConfig } from '@xyo-network/witness-model'\n\nimport { ApiCall, ApiUriCall, ApiUriTemplateCall } from './Payload'\n\nexport const ApiCallWitnessConfigSchema = 'network.xyo.api.call.witness.config'\nexport type ApiCallWitnessConfigSchema = typeof ApiCallWitnessConfigSchema\n\nexport type ApiCallWitnessConfigBase = WitnessConfig<{\n accept?: 'application/json'\n queries?: ApiCall['queries']\n schema: ApiCallWitnessConfigSchema\n timeout?: number\n verb?: ApiCall['verb']\n}>\n\nexport type ApiUriCallWitnessConfig = WitnessConfig<\n ApiCallWitnessConfigBase & {\n uri: ApiUriCall['uri']\n }\n>\n\nexport type ApiUriTemplateCallWitnessConfig = WitnessConfig<\n ApiCallWitnessConfigBase & {\n params?: Record<string, unknown>\n uriTemplate: ApiUriTemplateCall['uriTemplate']\n }\n>\n\nexport type ApiCallWitnessConfig = ApiUriCallWitnessConfig | ApiUriTemplateCallWitnessConfig | ApiCallWitnessConfigBase\n\nexport const isApiCallWitnessConfig = isPayloadOfSchemaType(ApiCallWitnessConfigSchema)\nexport const asApiCallWitnessConfig = AsObjectFactory.create(isApiCallWitnessConfig)\n\nexport const isApiUriCallWitnessConfig = (value?: unknown): value is ApiUriCallWitnessConfig =>\n isApiCallWitnessConfig(value) && !!(value as ApiUriCallWitnessConfig).uri\nexport const asApiUriCallWitnessConfig = AsObjectFactory.create(isApiUriCallWitnessConfig)\n\nexport const isApiUriTemplateCallWitnessConfig = (value?: unknown): value is ApiUriTemplateCallWitnessConfig =>\n isApiCallWitnessConfig(value) && !!(value as ApiUriTemplateCallWitnessConfig).uriTemplate\nexport const asApiUriTemplateCallWitnessConfig = AsObjectFactory.create(isApiUriTemplateCallWitnessConfig)\n","import { Hash } from '@xylabs/hex'\nimport { AsObjectFactory, JsonArray, JsonObject } from '@xyo-network/object'\nimport { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'\n\nexport const ApiCallSchema = 'network.xyo.api.call'\nexport type ApiCallSchema = typeof ApiCallSchema\n\nexport type Verb = 'get' | 'post'\nexport type Queries = Record<string, string>\n\nexport interface ApiCallFields {\n queries?: Queries\n verb?: Verb\n}\n\nexport type ApiUriCall = Payload<\n ApiCallFields & {\n uri: string\n },\n ApiCallSchema\n>\n\nexport type ApiUriTemplateCall = Payload<\n ApiCallFields & {\n params?: Record<string, unknown>\n uriTemplate?: string\n },\n ApiCallSchema\n>\n\nexport type ApiCall = ApiUriCall | ApiUriTemplateCall\n\nexport const ApiCallResultSchema = 'network.xyo.api.call.result'\nexport type ApiCallResultSchema = typeof ApiCallResultSchema\n\nexport interface HttpMeta {\n code?: string\n status?: number\n}\n\nexport type ApiCallJsonResultType = JsonArray | JsonObject\n\nexport type ApiCallJsonResult<T extends ApiCallJsonResultType = ApiCallJsonResultType> = Payload<\n {\n call: Hash\n contentType: 'application/json'\n data: T\n },\n ApiCallResultSchema\n>\n\nexport type ApiCallBase64Result = Payload<\n {\n call: Hash\n contentType: Exclude<string, ApiCallJsonResult['contentType']>\n data: string\n },\n ApiCallResultSchema\n>\n\nexport type ApiCallErrorResult = Payload<\n {\n call: Hash\n http?: HttpMeta\n },\n ApiCallResultSchema\n>\n\nexport type ApiCallResult<TJson extends JsonArray | JsonObject = JsonArray | JsonObject> =\n | ApiCallBase64Result\n | ApiCallJsonResult<TJson>\n | ApiCallErrorResult\n\nexport const isApiCall = isPayloadOfSchemaType(ApiCallSchema)\nexport const asApiCall = AsObjectFactory.create(isApiCall)\n\nexport const isApiUriCall = (value?: unknown): value is ApiUriCall => isApiCall(value) && !!(value as ApiUriCall).uri\nexport const asApiUriCall = AsObjectFactory.create(isApiUriCall)\n\nexport const isApiUriTemplateCall = (value?: unknown): value is ApiUriTemplateCall =>\n isApiCall(value) && !!((value as ApiUriTemplateCall).uriTemplate || (value as ApiUriTemplateCall).params)\nexport const asApiUriTemplateCall = AsObjectFactory.create(isApiUriTemplateCall)\n","import { assertEx } from '@xylabs/assert'\nimport { Axios, AxiosError, AxiosJson } from '@xylabs/axios'\nimport { Hash } from '@xylabs/hex'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { WitnessParams } from '@xyo-network/witness-model'\nimport { fromByteArray } from 'base64-js'\nimport template from 'es6-template-strings'\n\nimport { ApiCallWitnessConfig, ApiCallWitnessConfigSchema, asApiUriCallWitnessConfig, asApiUriTemplateCallWitnessConfig } from './Config'\nimport { checkIpfsUrl } from './lib'\nimport {\n ApiCall,\n ApiCallBase64Result,\n ApiCallErrorResult,\n ApiCallJsonResult,\n ApiCallJsonResultType,\n ApiCallResult,\n ApiCallResultSchema,\n ApiCallSchema,\n asApiUriCall,\n asApiUriTemplateCall,\n} from './Payload'\n\nexport type ApiCallWitnessParams = WitnessParams<\n ApiCallWitnessConfig,\n {\n headers?: Record<string, string | undefined>\n ipfsGateway?: string\n }\n>\n\nexport class ApiCallWitness<TParams extends ApiCallWitnessParams = ApiCallWitnessParams> extends AbstractWitness<TParams, ApiCall, ApiCallResult> {\n static override configSchemas = [ApiCallWitnessConfigSchema]\n\n get accept() {\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?: ApiCall): string {\n const { uri: callUri } = asApiUriCall(call) ?? {}\n const { uriTemplate: callUriTemplate, params: callParams, queries: callQueries } = asApiUriTemplateCall(call) ?? {}\n const { uri: configUri } = asApiUriCallWitnessConfig(this.config) ?? {}\n const { uriTemplate: configUriTemplate, params: configParams, queries: configQueries } = asApiUriTemplateCallWitnessConfig(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(template(callUriTemplate, params))\n } else if (configUri) {\n url = new URL(configUri)\n } else if (configUriTemplate) {\n url = new URL(template(configUriTemplate, params))\n }\n\n if (url) {\n const queries = Object.entries({ ...configQueries, ...callQueries })\n queries.map(([key, value]) => url?.searchParams.set(key, value))\n return url.href\n }\n\n throw Error('Unable to determine uri. No uri/uriTemplate specified in either the call or config.')\n }\n\n protected override async observeHandler(inPayloads: ApiCall[] = []): Promise<ApiCallResult[]> {\n await this.started('throw')\n try {\n const observations = await Promise.all(\n inPayloads.filter(isPayloadOfSchemaType(ApiCallSchema)).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, uri)\n }\n\n const observation: ApiCallResult = {\n call: await PayloadHasher.hashAsync(call),\n schema: ApiCallResultSchema,\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 private async httpGet(url: string, call: Hash): Promise<ApiCallResult> {\n const result: ApiCallResult = {\n call,\n schema: ApiCallResultSchema,\n }\n try {\n switch (this.accept) {\n case 'application/json': {\n const axios = new AxiosJson({ headers: this.params.headers, timeout: this.timeout })\n const response = await axios.get<ApiCallJsonResultType>(url)\n if (response.status >= 200 && response.status < 300) {\n const jsonResult = result as ApiCallJsonResult\n jsonResult.data = response.data\n jsonResult.contentType = 'application/json'\n } else {\n const errorResult = result as ApiCallErrorResult\n errorResult.http = {\n status: response.status,\n }\n }\n break\n }\n default: {\n const axios = new Axios({ headers: this.params.headers, responseType: 'arraybuffer', timeout: this.timeout })\n const response = await axios.get(url)\n if (response.status >= 200 && response.status < 300) {\n const jsonResult = result as ApiCallBase64Result\n jsonResult.data = fromByteArray(Buffer.from(response.data, 'binary'))\n jsonResult.contentType = response.headers['content-type']?.toString() ?? 'application/octet-stream'\n } else {\n const errorResult = result as ApiCallErrorResult\n errorResult.http = {\n status: response.status,\n }\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'\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 (ex) {\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":["import_object","import_payload_model","import_assert","import_payload_model","template"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/Config.ts","../../src/Payload.ts","../../src/Witness.ts","../../src/lib/checkIpfsUrl.ts"],"sourcesContent":["export * from './Config'\nexport * from './Payload'\nexport * from './Witness'\n","import { AsObjectFactory } from '@xyo-network/object'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { WitnessConfig } from '@xyo-network/witness-model'\n\nimport { ApiCall, ApiUriCall, ApiUriTemplateCall } from './Payload'\n\nexport const ApiCallWitnessConfigSchema = 'network.xyo.api.call.witness.config'\nexport type ApiCallWitnessConfigSchema = typeof ApiCallWitnessConfigSchema\n\nexport type ApiCallWitnessConfigBase = WitnessConfig<{\n accept?: 'application/json'\n queries?: ApiCall['queries']\n schema: ApiCallWitnessConfigSchema\n timeout?: number\n verb?: ApiCall['verb']\n}>\n\nexport type ApiUriCallWitnessConfig = WitnessConfig<\n ApiCallWitnessConfigBase & {\n uri: ApiUriCall['uri']\n }\n>\n\nexport type ApiUriTemplateCallWitnessConfig = WitnessConfig<\n ApiCallWitnessConfigBase & {\n params?: Record<string, unknown>\n uriTemplate: ApiUriTemplateCall['uriTemplate']\n }\n>\n\nexport type ApiCallWitnessConfig = ApiUriCallWitnessConfig | ApiUriTemplateCallWitnessConfig | ApiCallWitnessConfigBase\n\nexport const isApiCallWitnessConfig = isPayloadOfSchemaType(ApiCallWitnessConfigSchema)\nexport const asApiCallWitnessConfig = AsObjectFactory.create(isApiCallWitnessConfig)\n\nexport const isApiUriCallWitnessConfig = (value?: unknown): value is ApiUriCallWitnessConfig =>\n isApiCallWitnessConfig(value) && !!(value as ApiUriCallWitnessConfig).uri\nexport const asApiUriCallWitnessConfig = AsObjectFactory.create(isApiUriCallWitnessConfig)\n\nexport const isApiUriTemplateCallWitnessConfig = (value?: unknown): value is ApiUriTemplateCallWitnessConfig =>\n isApiCallWitnessConfig(value) && !!(value as ApiUriTemplateCallWitnessConfig).uriTemplate\nexport const asApiUriTemplateCallWitnessConfig = AsObjectFactory.create(isApiUriTemplateCallWitnessConfig)\n","import { Hash } from '@xylabs/hex'\nimport { AsObjectFactory, JsonArray, JsonObject } from '@xyo-network/object'\nimport { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'\n\nexport const ApiCallSchema = 'network.xyo.api.call'\nexport type ApiCallSchema = typeof ApiCallSchema\n\nexport type Verb = 'get' | 'post'\nexport type Queries = Record<string, string>\n\nexport interface ApiCallFields {\n queries?: Queries\n verb?: Verb\n}\n\nexport type ApiUriCall = Payload<\n ApiCallFields & {\n uri: string\n },\n ApiCallSchema\n>\n\nexport type ApiUriTemplateCall = Payload<\n ApiCallFields & {\n params?: Record<string, unknown>\n uriTemplate?: string\n },\n ApiCallSchema\n>\n\nexport type ApiCall = ApiUriCall | ApiUriTemplateCall\n\nexport const ApiCallResultSchema = 'network.xyo.api.call.result'\nexport type ApiCallResultSchema = typeof ApiCallResultSchema\n\nexport interface HttpMeta {\n code?: string\n status?: number\n}\n\nexport type ApiCallJsonResultType = JsonArray | JsonObject\n\nexport type ApiCallJsonResult<T extends ApiCallJsonResultType = ApiCallJsonResultType> = Payload<\n {\n call: Hash\n contentType: 'application/json'\n data: T\n },\n ApiCallResultSchema\n>\n\nexport type ApiCallBase64Result = Payload<\n {\n call: Hash\n contentType: Exclude<string, ApiCallJsonResult['contentType']>\n data: string\n },\n ApiCallResultSchema\n>\n\nexport type ApiCallErrorResult = Payload<\n {\n call: Hash\n http?: HttpMeta\n },\n ApiCallResultSchema\n>\n\nexport type ApiCallResult<TJson extends JsonArray | JsonObject = JsonArray | JsonObject> =\n | ApiCallBase64Result\n | ApiCallJsonResult<TJson>\n | ApiCallErrorResult\n\nexport const isApiCall = isPayloadOfSchemaType(ApiCallSchema)\nexport const asApiCall = AsObjectFactory.create(isApiCall)\n\nexport const isApiUriCall = (value?: unknown): value is ApiUriCall => isApiCall(value) && !!(value as ApiUriCall).uri\nexport const asApiUriCall = AsObjectFactory.create(isApiUriCall)\n\nexport const isApiUriTemplateCall = (value?: unknown): value is ApiUriTemplateCall =>\n isApiCall(value) && !!((value as ApiUriTemplateCall).uriTemplate || (value as ApiUriTemplateCall).params)\nexport const asApiUriTemplateCall = AsObjectFactory.create(isApiUriTemplateCall)\n","import { assertEx } from '@xylabs/assert'\nimport { Axios, AxiosError, AxiosJson } from '@xylabs/axios'\nimport { Hash } from '@xylabs/hex'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { WitnessParams } from '@xyo-network/witness-model'\nimport { fromByteArray } from 'base64-js'\nimport template from 'es6-template-strings'\n\nimport { ApiCallWitnessConfig, ApiCallWitnessConfigSchema, asApiUriCallWitnessConfig, asApiUriTemplateCallWitnessConfig } from './Config'\nimport { checkIpfsUrl } from './lib'\nimport {\n ApiCall,\n ApiCallBase64Result,\n ApiCallErrorResult,\n ApiCallJsonResult,\n ApiCallJsonResultType,\n ApiCallResult,\n ApiCallResultSchema,\n ApiCallSchema,\n asApiUriCall,\n asApiUriTemplateCall,\n} from './Payload'\n\nexport type ApiCallWitnessParams = WitnessParams<\n ApiCallWitnessConfig,\n {\n headers?: Record<string, string | undefined>\n ipfsGateway?: string\n }\n>\n\nexport class ApiCallWitness<TParams extends ApiCallWitnessParams = ApiCallWitnessParams> extends AbstractWitness<TParams, ApiCall, ApiCallResult> {\n static override configSchemas = [ApiCallWitnessConfigSchema]\n\n get accept() {\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?: ApiCall): string {\n const { uri: callUri } = asApiUriCall(call) ?? {}\n const { uriTemplate: callUriTemplate, params: callParams, queries: callQueries } = asApiUriTemplateCall(call) ?? {}\n const { uri: configUri } = asApiUriCallWitnessConfig(this.config) ?? {}\n const { uriTemplate: configUriTemplate, params: configParams, queries: configQueries } = asApiUriTemplateCallWitnessConfig(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(template(callUriTemplate, params))\n } else if (configUri) {\n url = new URL(configUri)\n } else if (configUriTemplate) {\n url = new URL(template(configUriTemplate, params))\n }\n\n if (url) {\n const queries = Object.entries({ ...configQueries, ...callQueries })\n queries.map(([key, value]) => url?.searchParams.set(key, value))\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 protected override async observeHandler(inPayloads: ApiCall[] = []): Promise<ApiCallResult[]> {\n await this.started('throw')\n try {\n const observations = await Promise.all(\n inPayloads.filter(isPayloadOfSchemaType(ApiCallSchema)).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, uri)\n }\n\n const observation: ApiCallResult = {\n call: await PayloadHasher.hashAsync(call),\n schema: ApiCallResultSchema,\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 private async httpGet(url: string, call: Hash): Promise<ApiCallResult> {\n const result: ApiCallResult = {\n call,\n schema: ApiCallResultSchema,\n }\n try {\n switch (this.accept) {\n case 'application/json': {\n const axios = new AxiosJson({ headers: this.params.headers, timeout: this.timeout })\n const response = await axios.get<ApiCallJsonResultType>(url)\n if (response.status >= 200 && response.status < 300) {\n const jsonResult = result as ApiCallJsonResult\n jsonResult.data = response.data\n jsonResult.contentType = 'application/json'\n } else {\n const errorResult = result as ApiCallErrorResult\n errorResult.http = {\n status: response.status,\n }\n }\n break\n }\n default: {\n const axios = new Axios({ headers: this.params.headers, responseType: 'arraybuffer', timeout: this.timeout })\n const response = await axios.get(url)\n if (response.status >= 200 && response.status < 300) {\n const jsonResult = result as ApiCallBase64Result\n jsonResult.data = fromByteArray(Buffer.from(response.data, 'binary'))\n jsonResult.contentType = response.headers['content-type']?.toString() ?? 'application/octet-stream'\n } else {\n const errorResult = result as ApiCallErrorResult\n errorResult.http = {\n status: response.status,\n }\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'\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":["import_object","import_payload_model","import_assert","import_payload_model","template"]}
@@ -59,7 +59,7 @@ var checkIpfsUrl = (urlToCheck, ipfsGateway) => {
59
59
  } else {
60
60
  return urlToCheck;
61
61
  }
62
- } catch (ex) {
62
+ } catch {
63
63
  return urlToCheck;
64
64
  }
65
65
  };
@@ -97,7 +97,7 @@ var ApiCallWitness = class extends AbstractWitness {
97
97
  queries.map(([key, value]) => url == null ? void 0 : url.searchParams.set(key, value));
98
98
  return url.href;
99
99
  }
100
- throw Error("Unable to determine uri. No uri/uriTemplate specified in either the call or config.");
100
+ throw new Error("Unable to determine uri. No uri/uriTemplate specified in either the call or config.");
101
101
  }
102
102
  async observeHandler(inPayloads = []) {
103
103
  await this.started("throw");
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Config.ts","../../src/Payload.ts","../../src/Witness.ts","../../src/lib/checkIpfsUrl.ts"],"sourcesContent":["import { AsObjectFactory } from '@xyo-network/object'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { WitnessConfig } from '@xyo-network/witness-model'\n\nimport { ApiCall, ApiUriCall, ApiUriTemplateCall } from './Payload'\n\nexport const ApiCallWitnessConfigSchema = 'network.xyo.api.call.witness.config'\nexport type ApiCallWitnessConfigSchema = typeof ApiCallWitnessConfigSchema\n\nexport type ApiCallWitnessConfigBase = WitnessConfig<{\n accept?: 'application/json'\n queries?: ApiCall['queries']\n schema: ApiCallWitnessConfigSchema\n timeout?: number\n verb?: ApiCall['verb']\n}>\n\nexport type ApiUriCallWitnessConfig = WitnessConfig<\n ApiCallWitnessConfigBase & {\n uri: ApiUriCall['uri']\n }\n>\n\nexport type ApiUriTemplateCallWitnessConfig = WitnessConfig<\n ApiCallWitnessConfigBase & {\n params?: Record<string, unknown>\n uriTemplate: ApiUriTemplateCall['uriTemplate']\n }\n>\n\nexport type ApiCallWitnessConfig = ApiUriCallWitnessConfig | ApiUriTemplateCallWitnessConfig | ApiCallWitnessConfigBase\n\nexport const isApiCallWitnessConfig = isPayloadOfSchemaType(ApiCallWitnessConfigSchema)\nexport const asApiCallWitnessConfig = AsObjectFactory.create(isApiCallWitnessConfig)\n\nexport const isApiUriCallWitnessConfig = (value?: unknown): value is ApiUriCallWitnessConfig =>\n isApiCallWitnessConfig(value) && !!(value as ApiUriCallWitnessConfig).uri\nexport const asApiUriCallWitnessConfig = AsObjectFactory.create(isApiUriCallWitnessConfig)\n\nexport const isApiUriTemplateCallWitnessConfig = (value?: unknown): value is ApiUriTemplateCallWitnessConfig =>\n isApiCallWitnessConfig(value) && !!(value as ApiUriTemplateCallWitnessConfig).uriTemplate\nexport const asApiUriTemplateCallWitnessConfig = AsObjectFactory.create(isApiUriTemplateCallWitnessConfig)\n","import { Hash } from '@xylabs/hex'\nimport { AsObjectFactory, JsonArray, JsonObject } from '@xyo-network/object'\nimport { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'\n\nexport const ApiCallSchema = 'network.xyo.api.call'\nexport type ApiCallSchema = typeof ApiCallSchema\n\nexport type Verb = 'get' | 'post'\nexport type Queries = Record<string, string>\n\nexport interface ApiCallFields {\n queries?: Queries\n verb?: Verb\n}\n\nexport type ApiUriCall = Payload<\n ApiCallFields & {\n uri: string\n },\n ApiCallSchema\n>\n\nexport type ApiUriTemplateCall = Payload<\n ApiCallFields & {\n params?: Record<string, unknown>\n uriTemplate?: string\n },\n ApiCallSchema\n>\n\nexport type ApiCall = ApiUriCall | ApiUriTemplateCall\n\nexport const ApiCallResultSchema = 'network.xyo.api.call.result'\nexport type ApiCallResultSchema = typeof ApiCallResultSchema\n\nexport interface HttpMeta {\n code?: string\n status?: number\n}\n\nexport type ApiCallJsonResultType = JsonArray | JsonObject\n\nexport type ApiCallJsonResult<T extends ApiCallJsonResultType = ApiCallJsonResultType> = Payload<\n {\n call: Hash\n contentType: 'application/json'\n data: T\n },\n ApiCallResultSchema\n>\n\nexport type ApiCallBase64Result = Payload<\n {\n call: Hash\n contentType: Exclude<string, ApiCallJsonResult['contentType']>\n data: string\n },\n ApiCallResultSchema\n>\n\nexport type ApiCallErrorResult = Payload<\n {\n call: Hash\n http?: HttpMeta\n },\n ApiCallResultSchema\n>\n\nexport type ApiCallResult<TJson extends JsonArray | JsonObject = JsonArray | JsonObject> =\n | ApiCallBase64Result\n | ApiCallJsonResult<TJson>\n | ApiCallErrorResult\n\nexport const isApiCall = isPayloadOfSchemaType(ApiCallSchema)\nexport const asApiCall = AsObjectFactory.create(isApiCall)\n\nexport const isApiUriCall = (value?: unknown): value is ApiUriCall => isApiCall(value) && !!(value as ApiUriCall).uri\nexport const asApiUriCall = AsObjectFactory.create(isApiUriCall)\n\nexport const isApiUriTemplateCall = (value?: unknown): value is ApiUriTemplateCall =>\n isApiCall(value) && !!((value as ApiUriTemplateCall).uriTemplate || (value as ApiUriTemplateCall).params)\nexport const asApiUriTemplateCall = AsObjectFactory.create(isApiUriTemplateCall)\n","import { assertEx } from '@xylabs/assert'\nimport { Axios, AxiosError, AxiosJson } from '@xylabs/axios'\nimport { Hash } from '@xylabs/hex'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { WitnessParams } from '@xyo-network/witness-model'\nimport { fromByteArray } from 'base64-js'\nimport template from 'es6-template-strings'\n\nimport { ApiCallWitnessConfig, ApiCallWitnessConfigSchema, asApiUriCallWitnessConfig, asApiUriTemplateCallWitnessConfig } from './Config'\nimport { checkIpfsUrl } from './lib'\nimport {\n ApiCall,\n ApiCallBase64Result,\n ApiCallErrorResult,\n ApiCallJsonResult,\n ApiCallJsonResultType,\n ApiCallResult,\n ApiCallResultSchema,\n ApiCallSchema,\n asApiUriCall,\n asApiUriTemplateCall,\n} from './Payload'\n\nexport type ApiCallWitnessParams = WitnessParams<\n ApiCallWitnessConfig,\n {\n headers?: Record<string, string | undefined>\n ipfsGateway?: string\n }\n>\n\nexport class ApiCallWitness<TParams extends ApiCallWitnessParams = ApiCallWitnessParams> extends AbstractWitness<TParams, ApiCall, ApiCallResult> {\n static override configSchemas = [ApiCallWitnessConfigSchema]\n\n get accept() {\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?: ApiCall): string {\n const { uri: callUri } = asApiUriCall(call) ?? {}\n const { uriTemplate: callUriTemplate, params: callParams, queries: callQueries } = asApiUriTemplateCall(call) ?? {}\n const { uri: configUri } = asApiUriCallWitnessConfig(this.config) ?? {}\n const { uriTemplate: configUriTemplate, params: configParams, queries: configQueries } = asApiUriTemplateCallWitnessConfig(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(template(callUriTemplate, params))\n } else if (configUri) {\n url = new URL(configUri)\n } else if (configUriTemplate) {\n url = new URL(template(configUriTemplate, params))\n }\n\n if (url) {\n const queries = Object.entries({ ...configQueries, ...callQueries })\n queries.map(([key, value]) => url?.searchParams.set(key, value))\n return url.href\n }\n\n throw Error('Unable to determine uri. No uri/uriTemplate specified in either the call or config.')\n }\n\n protected override async observeHandler(inPayloads: ApiCall[] = []): Promise<ApiCallResult[]> {\n await this.started('throw')\n try {\n const observations = await Promise.all(\n inPayloads.filter(isPayloadOfSchemaType(ApiCallSchema)).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, uri)\n }\n\n const observation: ApiCallResult = {\n call: await PayloadHasher.hashAsync(call),\n schema: ApiCallResultSchema,\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 private async httpGet(url: string, call: Hash): Promise<ApiCallResult> {\n const result: ApiCallResult = {\n call,\n schema: ApiCallResultSchema,\n }\n try {\n switch (this.accept) {\n case 'application/json': {\n const axios = new AxiosJson({ headers: this.params.headers, timeout: this.timeout })\n const response = await axios.get<ApiCallJsonResultType>(url)\n if (response.status >= 200 && response.status < 300) {\n const jsonResult = result as ApiCallJsonResult\n jsonResult.data = response.data\n jsonResult.contentType = 'application/json'\n } else {\n const errorResult = result as ApiCallErrorResult\n errorResult.http = {\n status: response.status,\n }\n }\n break\n }\n default: {\n const axios = new Axios({ headers: this.params.headers, responseType: 'arraybuffer', timeout: this.timeout })\n const response = await axios.get(url)\n if (response.status >= 200 && response.status < 300) {\n const jsonResult = result as ApiCallBase64Result\n jsonResult.data = fromByteArray(Buffer.from(response.data, 'binary'))\n jsonResult.contentType = response.headers['content-type']?.toString() ?? 'application/octet-stream'\n } else {\n const errorResult = result as ApiCallErrorResult\n errorResult.http = {\n status: response.status,\n }\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'\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 (ex) {\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","assertEx","isPayloadOfSchemaType","isPayloadOfSchemaType","assertEx"]}
1
+ {"version":3,"sources":["../../src/Config.ts","../../src/Payload.ts","../../src/Witness.ts","../../src/lib/checkIpfsUrl.ts"],"sourcesContent":["import { AsObjectFactory } from '@xyo-network/object'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { WitnessConfig } from '@xyo-network/witness-model'\n\nimport { ApiCall, ApiUriCall, ApiUriTemplateCall } from './Payload'\n\nexport const ApiCallWitnessConfigSchema = 'network.xyo.api.call.witness.config'\nexport type ApiCallWitnessConfigSchema = typeof ApiCallWitnessConfigSchema\n\nexport type ApiCallWitnessConfigBase = WitnessConfig<{\n accept?: 'application/json'\n queries?: ApiCall['queries']\n schema: ApiCallWitnessConfigSchema\n timeout?: number\n verb?: ApiCall['verb']\n}>\n\nexport type ApiUriCallWitnessConfig = WitnessConfig<\n ApiCallWitnessConfigBase & {\n uri: ApiUriCall['uri']\n }\n>\n\nexport type ApiUriTemplateCallWitnessConfig = WitnessConfig<\n ApiCallWitnessConfigBase & {\n params?: Record<string, unknown>\n uriTemplate: ApiUriTemplateCall['uriTemplate']\n }\n>\n\nexport type ApiCallWitnessConfig = ApiUriCallWitnessConfig | ApiUriTemplateCallWitnessConfig | ApiCallWitnessConfigBase\n\nexport const isApiCallWitnessConfig = isPayloadOfSchemaType(ApiCallWitnessConfigSchema)\nexport const asApiCallWitnessConfig = AsObjectFactory.create(isApiCallWitnessConfig)\n\nexport const isApiUriCallWitnessConfig = (value?: unknown): value is ApiUriCallWitnessConfig =>\n isApiCallWitnessConfig(value) && !!(value as ApiUriCallWitnessConfig).uri\nexport const asApiUriCallWitnessConfig = AsObjectFactory.create(isApiUriCallWitnessConfig)\n\nexport const isApiUriTemplateCallWitnessConfig = (value?: unknown): value is ApiUriTemplateCallWitnessConfig =>\n isApiCallWitnessConfig(value) && !!(value as ApiUriTemplateCallWitnessConfig).uriTemplate\nexport const asApiUriTemplateCallWitnessConfig = AsObjectFactory.create(isApiUriTemplateCallWitnessConfig)\n","import { Hash } from '@xylabs/hex'\nimport { AsObjectFactory, JsonArray, JsonObject } from '@xyo-network/object'\nimport { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'\n\nexport const ApiCallSchema = 'network.xyo.api.call'\nexport type ApiCallSchema = typeof ApiCallSchema\n\nexport type Verb = 'get' | 'post'\nexport type Queries = Record<string, string>\n\nexport interface ApiCallFields {\n queries?: Queries\n verb?: Verb\n}\n\nexport type ApiUriCall = Payload<\n ApiCallFields & {\n uri: string\n },\n ApiCallSchema\n>\n\nexport type ApiUriTemplateCall = Payload<\n ApiCallFields & {\n params?: Record<string, unknown>\n uriTemplate?: string\n },\n ApiCallSchema\n>\n\nexport type ApiCall = ApiUriCall | ApiUriTemplateCall\n\nexport const ApiCallResultSchema = 'network.xyo.api.call.result'\nexport type ApiCallResultSchema = typeof ApiCallResultSchema\n\nexport interface HttpMeta {\n code?: string\n status?: number\n}\n\nexport type ApiCallJsonResultType = JsonArray | JsonObject\n\nexport type ApiCallJsonResult<T extends ApiCallJsonResultType = ApiCallJsonResultType> = Payload<\n {\n call: Hash\n contentType: 'application/json'\n data: T\n },\n ApiCallResultSchema\n>\n\nexport type ApiCallBase64Result = Payload<\n {\n call: Hash\n contentType: Exclude<string, ApiCallJsonResult['contentType']>\n data: string\n },\n ApiCallResultSchema\n>\n\nexport type ApiCallErrorResult = Payload<\n {\n call: Hash\n http?: HttpMeta\n },\n ApiCallResultSchema\n>\n\nexport type ApiCallResult<TJson extends JsonArray | JsonObject = JsonArray | JsonObject> =\n | ApiCallBase64Result\n | ApiCallJsonResult<TJson>\n | ApiCallErrorResult\n\nexport const isApiCall = isPayloadOfSchemaType(ApiCallSchema)\nexport const asApiCall = AsObjectFactory.create(isApiCall)\n\nexport const isApiUriCall = (value?: unknown): value is ApiUriCall => isApiCall(value) && !!(value as ApiUriCall).uri\nexport const asApiUriCall = AsObjectFactory.create(isApiUriCall)\n\nexport const isApiUriTemplateCall = (value?: unknown): value is ApiUriTemplateCall =>\n isApiCall(value) && !!((value as ApiUriTemplateCall).uriTemplate || (value as ApiUriTemplateCall).params)\nexport const asApiUriTemplateCall = AsObjectFactory.create(isApiUriTemplateCall)\n","import { assertEx } from '@xylabs/assert'\nimport { Axios, AxiosError, AxiosJson } from '@xylabs/axios'\nimport { Hash } from '@xylabs/hex'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { WitnessParams } from '@xyo-network/witness-model'\nimport { fromByteArray } from 'base64-js'\nimport template from 'es6-template-strings'\n\nimport { ApiCallWitnessConfig, ApiCallWitnessConfigSchema, asApiUriCallWitnessConfig, asApiUriTemplateCallWitnessConfig } from './Config'\nimport { checkIpfsUrl } from './lib'\nimport {\n ApiCall,\n ApiCallBase64Result,\n ApiCallErrorResult,\n ApiCallJsonResult,\n ApiCallJsonResultType,\n ApiCallResult,\n ApiCallResultSchema,\n ApiCallSchema,\n asApiUriCall,\n asApiUriTemplateCall,\n} from './Payload'\n\nexport type ApiCallWitnessParams = WitnessParams<\n ApiCallWitnessConfig,\n {\n headers?: Record<string, string | undefined>\n ipfsGateway?: string\n }\n>\n\nexport class ApiCallWitness<TParams extends ApiCallWitnessParams = ApiCallWitnessParams> extends AbstractWitness<TParams, ApiCall, ApiCallResult> {\n static override configSchemas = [ApiCallWitnessConfigSchema]\n\n get accept() {\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?: ApiCall): string {\n const { uri: callUri } = asApiUriCall(call) ?? {}\n const { uriTemplate: callUriTemplate, params: callParams, queries: callQueries } = asApiUriTemplateCall(call) ?? {}\n const { uri: configUri } = asApiUriCallWitnessConfig(this.config) ?? {}\n const { uriTemplate: configUriTemplate, params: configParams, queries: configQueries } = asApiUriTemplateCallWitnessConfig(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(template(callUriTemplate, params))\n } else if (configUri) {\n url = new URL(configUri)\n } else if (configUriTemplate) {\n url = new URL(template(configUriTemplate, params))\n }\n\n if (url) {\n const queries = Object.entries({ ...configQueries, ...callQueries })\n queries.map(([key, value]) => url?.searchParams.set(key, value))\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 protected override async observeHandler(inPayloads: ApiCall[] = []): Promise<ApiCallResult[]> {\n await this.started('throw')\n try {\n const observations = await Promise.all(\n inPayloads.filter(isPayloadOfSchemaType(ApiCallSchema)).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, uri)\n }\n\n const observation: ApiCallResult = {\n call: await PayloadHasher.hashAsync(call),\n schema: ApiCallResultSchema,\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 private async httpGet(url: string, call: Hash): Promise<ApiCallResult> {\n const result: ApiCallResult = {\n call,\n schema: ApiCallResultSchema,\n }\n try {\n switch (this.accept) {\n case 'application/json': {\n const axios = new AxiosJson({ headers: this.params.headers, timeout: this.timeout })\n const response = await axios.get<ApiCallJsonResultType>(url)\n if (response.status >= 200 && response.status < 300) {\n const jsonResult = result as ApiCallJsonResult\n jsonResult.data = response.data\n jsonResult.contentType = 'application/json'\n } else {\n const errorResult = result as ApiCallErrorResult\n errorResult.http = {\n status: response.status,\n }\n }\n break\n }\n default: {\n const axios = new Axios({ headers: this.params.headers, responseType: 'arraybuffer', timeout: this.timeout })\n const response = await axios.get(url)\n if (response.status >= 200 && response.status < 300) {\n const jsonResult = result as ApiCallBase64Result\n jsonResult.data = fromByteArray(Buffer.from(response.data, 'binary'))\n jsonResult.contentType = response.headers['content-type']?.toString() ?? 'application/octet-stream'\n } else {\n const errorResult = result as ApiCallErrorResult\n errorResult.http = {\n status: response.status,\n }\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'\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","assertEx","isPayloadOfSchemaType","isPayloadOfSchemaType","assertEx"]}
package/package.json CHANGED
@@ -10,25 +10,25 @@
10
10
  "url": "https://github.com/XYOracleNetwork/plugins/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xylabs/assert": "^2.13.20",
14
- "@xylabs/axios": "^2.13.20",
15
- "@xylabs/hex": "^2.13.20",
16
- "@xyo-network/abstract-witness": "^2.84.18",
17
- "@xyo-network/hash": "^2.84.18",
18
- "@xyo-network/object": "^2.84.18",
19
- "@xyo-network/payload-model": "^2.84.18",
20
- "@xyo-network/witness-model": "^2.84.18",
13
+ "@xylabs/assert": "^2.13.22",
14
+ "@xylabs/axios": "^2.13.22",
15
+ "@xylabs/hex": "^2.13.22",
16
+ "@xyo-network/abstract-witness": "^2.85.3",
17
+ "@xyo-network/hash": "^2.85.3",
18
+ "@xyo-network/object": "^2.85.3",
19
+ "@xyo-network/payload-model": "^2.85.3",
20
+ "@xyo-network/witness-model": "^2.85.3",
21
21
  "base64-js": "^1.5.1",
22
22
  "es6-template-strings": "^2.0.1"
23
23
  },
24
24
  "devDependencies": {
25
- "@xylabs/jest-helpers": "^2.13.20",
25
+ "@xylabs/jest-helpers": "^2.13.22",
26
26
  "@xylabs/ts-scripts-yarn3": "^3.2.25",
27
27
  "@xylabs/tsconfig": "^3.2.25",
28
- "@xyo-network/account": "^2.84.18",
29
- "@xyo-network/manifest": "^2.84.18",
30
- "@xyo-network/module-model": "^2.84.18",
31
- "@xyo-network/sentinel-model": "^2.84.18",
28
+ "@xyo-network/account": "^2.85.3",
29
+ "@xyo-network/manifest": "^2.85.3",
30
+ "@xyo-network/module-model": "^2.85.3",
31
+ "@xyo-network/sentinel-model": "^2.85.3",
32
32
  "ethers": "^6.9.1",
33
33
  "jest": "^29.7.0",
34
34
  "typescript": "^5.3.3"
@@ -72,6 +72,6 @@
72
72
  "url": "https://github.com/XYOracleNetwork/plugins.git"
73
73
  },
74
74
  "sideEffects": false,
75
- "version": "2.84.5",
75
+ "version": "2.85.1",
76
76
  "type": "module"
77
77
  }
package/src/Witness.ts CHANGED
@@ -72,7 +72,7 @@ export class ApiCallWitness<TParams extends ApiCallWitnessParams = ApiCallWitnes
72
72
  return url.href
73
73
  }
74
74
 
75
- throw Error('Unable to determine uri. No uri/uriTemplate specified in either the call or config.')
75
+ throw new Error('Unable to determine uri. No uri/uriTemplate specified in either the call or config.')
76
76
  }
77
77
 
78
78
  protected override async observeHandler(inPayloads: ApiCall[] = []): Promise<ApiCallResult[]> {
@@ -34,7 +34,7 @@ export const checkIpfsUrl = (urlToCheck: string, ipfsGateway?: string): string =
34
34
  } else {
35
35
  return urlToCheck
36
36
  }
37
- } catch (ex) {
37
+ } catch {
38
38
  //const error = ex as Error
39
39
  //console.error(`${error.name}:${error.message} [${urlToCheck}]`)
40
40
  //console.log(error.stack)