@nucypher/taco 0.6.0-alpha.1 → 0.6.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/conditions/base/index.d.ts +1 -0
  3. package/dist/cjs/conditions/base/index.js +2 -1
  4. package/dist/cjs/conditions/base/index.js.map +1 -1
  5. package/dist/cjs/conditions/base/json-api.d.ts +1 -1
  6. package/dist/cjs/conditions/base/json-api.js +1 -2
  7. package/dist/cjs/conditions/base/json-api.js.map +1 -1
  8. package/dist/cjs/conditions/base/json-rpc.d.ts +7 -0
  9. package/dist/cjs/conditions/base/json-rpc.js +18 -0
  10. package/dist/cjs/conditions/base/json-rpc.js.map +1 -0
  11. package/dist/cjs/conditions/condition-factory.js +3 -0
  12. package/dist/cjs/conditions/condition-factory.js.map +1 -1
  13. package/dist/cjs/conditions/const.d.ts +0 -2
  14. package/dist/cjs/conditions/const.js +1 -8
  15. package/dist/cjs/conditions/const.js.map +1 -1
  16. package/dist/cjs/conditions/context/context.d.ts +1 -0
  17. package/dist/cjs/conditions/context/context.js +46 -51
  18. package/dist/cjs/conditions/context/context.js.map +1 -1
  19. package/dist/cjs/conditions/schemas/common.d.ts +2 -0
  20. package/dist/cjs/conditions/schemas/common.js +31 -1
  21. package/dist/cjs/conditions/schemas/common.js.map +1 -1
  22. package/dist/cjs/conditions/schemas/contract.d.ts +13 -13
  23. package/dist/cjs/conditions/schemas/json-api.d.ts +1 -2
  24. package/dist/cjs/conditions/schemas/json-api.js +5 -25
  25. package/dist/cjs/conditions/schemas/json-api.js.map +1 -1
  26. package/dist/cjs/conditions/schemas/json-rpc.d.ts +48 -0
  27. package/dist/cjs/conditions/schemas/json-rpc.js +21 -0
  28. package/dist/cjs/conditions/schemas/json-rpc.js.map +1 -0
  29. package/dist/cjs/conditions/schemas/rpc.d.ts +7 -7
  30. package/dist/cjs/conditions/schemas/rpc.js +2 -26
  31. package/dist/cjs/conditions/schemas/rpc.js.map +1 -1
  32. package/dist/cjs/conditions/schemas/time.d.ts +4 -4
  33. package/dist/cjs/conditions/schemas/utils.js +2 -0
  34. package/dist/cjs/conditions/schemas/utils.js.map +1 -1
  35. package/dist/es/conditions/base/index.d.ts +1 -0
  36. package/dist/es/conditions/base/index.js +1 -0
  37. package/dist/es/conditions/base/index.js.map +1 -1
  38. package/dist/es/conditions/base/json-api.d.ts +1 -1
  39. package/dist/es/conditions/base/json-api.js +1 -1
  40. package/dist/es/conditions/base/json-api.js.map +1 -1
  41. package/dist/es/conditions/base/json-rpc.d.ts +7 -0
  42. package/dist/es/conditions/base/json-rpc.js +12 -0
  43. package/dist/es/conditions/base/json-rpc.js.map +1 -0
  44. package/dist/es/conditions/condition-factory.js +3 -0
  45. package/dist/es/conditions/condition-factory.js.map +1 -1
  46. package/dist/es/conditions/const.d.ts +0 -2
  47. package/dist/es/conditions/const.js +0 -7
  48. package/dist/es/conditions/const.js.map +1 -1
  49. package/dist/es/conditions/context/context.d.ts +1 -0
  50. package/dist/es/conditions/context/context.js +47 -52
  51. package/dist/es/conditions/context/context.js.map +1 -1
  52. package/dist/es/conditions/schemas/common.d.ts +2 -0
  53. package/dist/es/conditions/schemas/common.js +31 -1
  54. package/dist/es/conditions/schemas/common.js.map +1 -1
  55. package/dist/es/conditions/schemas/contract.d.ts +13 -13
  56. package/dist/es/conditions/schemas/json-api.d.ts +1 -2
  57. package/dist/es/conditions/schemas/json-api.js +3 -23
  58. package/dist/es/conditions/schemas/json-api.js.map +1 -1
  59. package/dist/es/conditions/schemas/json-rpc.d.ts +48 -0
  60. package/dist/es/conditions/schemas/json-rpc.js +18 -0
  61. package/dist/es/conditions/schemas/json-rpc.js.map +1 -0
  62. package/dist/es/conditions/schemas/rpc.d.ts +7 -7
  63. package/dist/es/conditions/schemas/rpc.js +2 -3
  64. package/dist/es/conditions/schemas/rpc.js.map +1 -1
  65. package/dist/es/conditions/schemas/time.d.ts +4 -4
  66. package/dist/es/conditions/schemas/utils.js +2 -0
  67. package/dist/es/conditions/schemas/utils.js.map +1 -1
  68. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  69. package/dist/tsconfig.es.tsbuildinfo +1 -1
  70. package/package.json +3 -3
  71. package/dist/cjs/conditions/context/providers.d.ts +0 -16
  72. package/dist/cjs/conditions/context/providers.js +0 -111
  73. package/dist/cjs/conditions/context/providers.js.map +0 -1
  74. package/dist/cjs/web3.d.ts +0 -33
  75. package/dist/cjs/web3.js +0 -3
  76. package/dist/cjs/web3.js.map +0 -1
  77. package/dist/es/conditions/context/providers.d.ts +0 -16
  78. package/dist/es/conditions/context/providers.js +0 -107
  79. package/dist/es/conditions/context/providers.js.map +0 -1
  80. package/dist/es/web3.d.ts +0 -33
  81. package/dist/es/web3.js +0 -2
  82. package/dist/es/web3.js.map +0 -1
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  To use `taco`, you need to connect with a proper network: `mainnet`, `testnet`, or `devnet`. You can find a proper version for each network in the [npmjs.com package tags](https://www.npmjs.com/package/@nucypher/taco?activeTab=versions).
8
8
 
9
- Visit [our documentation](https://docs.threshold.network/app-development/threshold-access-control-tac/integration-guide#id-0.-pick-an-appropriate-taco-version) to learn more.
9
+ Visit [our documentation](https://docs.taco.build/taco-integration/) to learn more.
10
10
 
11
11
  ## Usage
12
12
 
@@ -67,4 +67,4 @@ const decryptedMessage = await decrypt(
67
67
  ## Learn more
68
68
 
69
69
  Please find developer documentation for
70
- TACo [here](https://docs.threshold.network/app-development/threshold-access-control-tac).
70
+ TACo [here](https://docs.taco.build/).
@@ -1,4 +1,5 @@
1
1
  export * as contract from './contract';
2
2
  export * as jsonApi from './json-api';
3
+ export * as jsonRpc from './json-rpc';
3
4
  export * as rpc from './rpc';
4
5
  export * as time from './time';
@@ -25,9 +25,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  return result;
26
26
  };
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.time = exports.rpc = exports.jsonApi = exports.contract = void 0;
28
+ exports.time = exports.rpc = exports.jsonRpc = exports.jsonApi = exports.contract = void 0;
29
29
  exports.contract = __importStar(require("./contract"));
30
30
  exports.jsonApi = __importStar(require("./json-api"));
31
+ exports.jsonRpc = __importStar(require("./json-rpc"));
31
32
  exports.rpc = __importStar(require("./rpc"));
32
33
  exports.time = __importStar(require("./time"));
33
34
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/conditions/base/index.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,gDAAgD;;;;;;;;;;;;;;;;;;;;;;;;;;AAEhD,uDAAuC;AACvC,sDAAsC;AACtC,6CAA6B;AAC7B,+CAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/conditions/base/index.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,gDAAgD;;;;;;;;;;;;;;;;;;;;;;;;;;AAEhD,uDAAuC;AACvC,sDAAsC;AACtC,sDAAsC;AACtC,6CAA6B;AAC7B,+CAA+B"}
@@ -1,7 +1,7 @@
1
1
  import { Condition } from '../condition';
2
2
  import { JsonApiConditionProps } from '../schemas/json-api';
3
3
  import { OmitConditionType } from '../shared';
4
- export { JsonApiConditionProps, jsonApiConditionSchema, JsonApiConditionType, jsonPathSchema, } from '../schemas/json-api';
4
+ export { JsonApiConditionProps, jsonApiConditionSchema, JsonApiConditionType, } from '../schemas/json-api';
5
5
  export declare class JsonApiCondition extends Condition {
6
6
  constructor(value: OmitConditionType<JsonApiConditionProps>);
7
7
  }
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.JsonApiCondition = exports.jsonPathSchema = exports.JsonApiConditionType = exports.jsonApiConditionSchema = void 0;
3
+ exports.JsonApiCondition = exports.JsonApiConditionType = exports.jsonApiConditionSchema = void 0;
4
4
  const condition_1 = require("../condition");
5
5
  const json_api_1 = require("../schemas/json-api");
6
6
  var json_api_2 = require("../schemas/json-api");
7
7
  Object.defineProperty(exports, "jsonApiConditionSchema", { enumerable: true, get: function () { return json_api_2.jsonApiConditionSchema; } });
8
8
  Object.defineProperty(exports, "JsonApiConditionType", { enumerable: true, get: function () { return json_api_2.JsonApiConditionType; } });
9
- Object.defineProperty(exports, "jsonPathSchema", { enumerable: true, get: function () { return json_api_2.jsonPathSchema; } });
10
9
  class JsonApiCondition extends condition_1.Condition {
11
10
  constructor(value) {
12
11
  super(json_api_1.jsonApiConditionSchema, {
@@ -1 +1 @@
1
- {"version":3,"file":"json-api.js","sourceRoot":"","sources":["../../../../src/conditions/base/json-api.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AACzC,kDAI6B;AAG7B,gDAK6B;AAH3B,kHAAA,sBAAsB,OAAA;AACtB,gHAAA,oBAAoB,OAAA;AACpB,0GAAA,cAAc,OAAA;AAGhB,MAAa,gBAAiB,SAAQ,qBAAS;IAC7C,YAAY,KAA+C;QACzD,KAAK,CAAC,iCAAsB,EAAE;YAC5B,aAAa,EAAE,+BAAoB;YACnC,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;CACF;AAPD,4CAOC"}
1
+ {"version":3,"file":"json-api.js","sourceRoot":"","sources":["../../../../src/conditions/base/json-api.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AACzC,kDAI6B;AAG7B,gDAI6B;AAF3B,kHAAA,sBAAsB,OAAA;AACtB,gHAAA,oBAAoB,OAAA;AAGtB,MAAa,gBAAiB,SAAQ,qBAAS;IAC7C,YAAY,KAA+C;QACzD,KAAK,CAAC,iCAAsB,EAAE;YAC5B,aAAa,EAAE,+BAAoB;YACnC,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;CACF;AAPD,4CAOC"}
@@ -0,0 +1,7 @@
1
+ import { Condition } from '../condition';
2
+ import { JsonRpcConditionProps } from '../schemas/json-rpc';
3
+ import { OmitConditionType } from '../shared';
4
+ export { JsonRpcConditionProps, jsonRpcConditionSchema, JsonRpcConditionType, } from '../schemas/json-rpc';
5
+ export declare class JsonRpcCondition extends Condition {
6
+ constructor(value: OmitConditionType<JsonRpcConditionProps>);
7
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JsonRpcCondition = exports.JsonRpcConditionType = exports.jsonRpcConditionSchema = void 0;
4
+ const condition_1 = require("../condition");
5
+ const json_rpc_1 = require("../schemas/json-rpc");
6
+ var json_rpc_2 = require("../schemas/json-rpc");
7
+ Object.defineProperty(exports, "jsonRpcConditionSchema", { enumerable: true, get: function () { return json_rpc_2.jsonRpcConditionSchema; } });
8
+ Object.defineProperty(exports, "JsonRpcConditionType", { enumerable: true, get: function () { return json_rpc_2.JsonRpcConditionType; } });
9
+ class JsonRpcCondition extends condition_1.Condition {
10
+ constructor(value) {
11
+ super(json_rpc_1.jsonRpcConditionSchema, {
12
+ conditionType: json_rpc_1.JsonRpcConditionType,
13
+ ...value,
14
+ });
15
+ }
16
+ }
17
+ exports.JsonRpcCondition = JsonRpcCondition;
18
+ //# sourceMappingURL=json-rpc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-rpc.js","sourceRoot":"","sources":["../../../../src/conditions/base/json-rpc.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AACzC,kDAI6B;AAG7B,gDAI6B;AAF3B,kHAAA,sBAAsB,OAAA;AACtB,gHAAA,oBAAoB,OAAA;AAGtB,MAAa,gBAAiB,SAAQ,qBAAS;IAC7C,YAAY,KAA+C;QACzD,KAAK,CAAC,iCAAsB,EAAE;YAC5B,aAAa,EAAE,+BAAoB;YACnC,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;CACF;AAPD,4CAOC"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ConditionFactory = void 0;
4
4
  const contract_1 = require("./base/contract");
5
5
  const json_api_1 = require("./base/json-api");
6
+ const json_rpc_1 = require("./base/json-rpc");
6
7
  const rpc_1 = require("./base/rpc");
7
8
  const time_1 = require("./base/time");
8
9
  const compound_condition_1 = require("./compound-condition");
@@ -21,6 +22,8 @@ class ConditionFactory {
21
22
  return new contract_1.ContractCondition(props);
22
23
  case json_api_1.JsonApiConditionType:
23
24
  return new json_api_1.JsonApiCondition(props);
25
+ case json_rpc_1.JsonRpcConditionType:
26
+ return new json_rpc_1.JsonRpcCondition(props);
24
27
  // Logical Conditions
25
28
  case compound_condition_1.CompoundConditionType:
26
29
  return new compound_condition_1.CompoundCondition(props);
@@ -1 +1 @@
1
- {"version":3,"file":"condition-factory.js","sourceRoot":"","sources":["../../../src/conditions/condition-factory.ts"],"names":[],"mappings":";;;AAAA,8CAIyB;AACzB,8CAIyB;AACzB,oCAA+E;AAC/E,sCAIqB;AACrB,6DAI8B;AAE9B,qEAIkC;AAClC,6CAIsB;AAEtB,MAAM,0BAA0B,GAAG,CAAC,IAAY,EAAE,EAAE,CAClD,2BAA2B,IAAI,EAAE,CAAC;AAEpC,MAAa,gBAAgB;IACpB,MAAM,CAAC,kBAAkB,CAAC,KAAqB;QACpD,QAAQ,KAAK,CAAC,aAAa,EAAE,CAAC;YAC5B,kBAAkB;YAClB,KAAK,sBAAgB;gBACnB,OAAO,IAAI,kBAAY,CAAC,KAA0B,CAAC,CAAC;YACtD,KAAK,wBAAiB;gBACpB,OAAO,IAAI,oBAAa,CAAC,KAA2B,CAAC,CAAC;YACxD,KAAK,gCAAqB;gBACxB,OAAO,IAAI,4BAAiB,CAAC,KAA+B,CAAC,CAAC;YAChE,KAAK,+BAAoB;gBACvB,OAAO,IAAI,2BAAgB,CAAC,KAA8B,CAAC,CAAC;YAC9D,qBAAqB;YACrB,KAAK,0CAAqB;gBACxB,OAAO,IAAI,sCAAiB,CAAC,KAA+B,CAAC,CAAC;YAChE,KAAK,oCAAuB;gBAC1B,OAAO,IAAI,gCAAmB,CAAC,KAAiC,CAAC,CAAC;YACpE,KAAK,gDAAuB;gBAC1B,OAAO,IAAI,4CAAmB,CAAC,KAAiC,CAAC,CAAC;YACpE;gBACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;CACF;AAvBD,4CAuBC"}
1
+ {"version":3,"file":"condition-factory.js","sourceRoot":"","sources":["../../../src/conditions/condition-factory.ts"],"names":[],"mappings":";;;AAAA,8CAIyB;AACzB,8CAIyB;AACzB,8CAIyB;AACzB,oCAA+E;AAC/E,sCAIqB;AACrB,6DAI8B;AAE9B,qEAIkC;AAClC,6CAIsB;AAEtB,MAAM,0BAA0B,GAAG,CAAC,IAAY,EAAE,EAAE,CAClD,2BAA2B,IAAI,EAAE,CAAC;AAEpC,MAAa,gBAAgB;IACpB,MAAM,CAAC,kBAAkB,CAAC,KAAqB;QACpD,QAAQ,KAAK,CAAC,aAAa,EAAE,CAAC;YAC5B,kBAAkB;YAClB,KAAK,sBAAgB;gBACnB,OAAO,IAAI,kBAAY,CAAC,KAA0B,CAAC,CAAC;YACtD,KAAK,wBAAiB;gBACpB,OAAO,IAAI,oBAAa,CAAC,KAA2B,CAAC,CAAC;YACxD,KAAK,gCAAqB;gBACxB,OAAO,IAAI,4BAAiB,CAAC,KAA+B,CAAC,CAAC;YAChE,KAAK,+BAAoB;gBACvB,OAAO,IAAI,2BAAgB,CAAC,KAA8B,CAAC,CAAC;YAC9D,KAAK,+BAAoB;gBACvB,OAAO,IAAI,2BAAgB,CAAC,KAA8B,CAAC,CAAC;YAC9D,qBAAqB;YACrB,KAAK,0CAAqB;gBACxB,OAAO,IAAI,sCAAiB,CAAC,KAA+B,CAAC,CAAC;YAChE,KAAK,oCAAuB;gBAC1B,OAAO,IAAI,gCAAmB,CAAC,KAAiC,CAAC,CAAC;YACpE,KAAK,gDAAuB;gBAC1B,OAAO,IAAI,4CAAmB,CAAC,KAAiC,CAAC,CAAC;YACpE;gBACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;CACF;AAzBD,4CAyBC"}
@@ -1,6 +1,4 @@
1
- import { ChainId } from '@nucypher/shared';
2
1
  export declare const CONTEXT_PARAM_REGEXP: RegExp;
3
2
  export declare const CONTEXT_PARAM_FULL_MATCH_REGEXP: RegExp;
4
3
  export declare const CONTEXT_PARAM_PREFIX = ":";
5
- export declare const SUPPORTED_CHAIN_IDS: ChainId[];
6
4
  export declare const USER_ADDRESS_PARAMS: string[];
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.USER_ADDRESS_PARAMS = exports.SUPPORTED_CHAIN_IDS = exports.CONTEXT_PARAM_PREFIX = exports.CONTEXT_PARAM_FULL_MATCH_REGEXP = exports.CONTEXT_PARAM_REGEXP = void 0;
4
- const shared_1 = require("@nucypher/shared");
3
+ exports.USER_ADDRESS_PARAMS = exports.CONTEXT_PARAM_PREFIX = exports.CONTEXT_PARAM_FULL_MATCH_REGEXP = exports.CONTEXT_PARAM_REGEXP = void 0;
5
4
  const taco_auth_1 = require("@nucypher/taco-auth");
6
5
  // Only allow alphanumeric characters and underscores
7
6
  const contextParamRegexString = ':[a-zA-Z_][a-zA-Z0-9_]*';
@@ -9,12 +8,6 @@ exports.CONTEXT_PARAM_REGEXP = new RegExp(contextParamRegexString);
9
8
  // Entire string is context param
10
9
  exports.CONTEXT_PARAM_FULL_MATCH_REGEXP = new RegExp(`^${contextParamRegexString}$`);
11
10
  exports.CONTEXT_PARAM_PREFIX = ':';
12
- exports.SUPPORTED_CHAIN_IDS = [
13
- shared_1.ChainId.POLYGON,
14
- shared_1.ChainId.AMOY,
15
- shared_1.ChainId.SEPOLIA,
16
- shared_1.ChainId.ETHEREUM_MAINNET,
17
- ];
18
11
  exports.USER_ADDRESS_PARAMS = [
19
12
  taco_auth_1.USER_ADDRESS_PARAM_EXTERNAL_EIP4361,
20
13
  // Ordering matters, this should always be last
@@ -1 +1 @@
1
- {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/conditions/const.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAC3C,mDAG6B;AAE7B,qDAAqD;AACrD,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAE7C,QAAA,oBAAoB,GAAG,IAAI,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAExE,iCAAiC;AACpB,QAAA,+BAA+B,GAAG,IAAI,MAAM,CACvD,IAAI,uBAAuB,GAAG,CAC/B,CAAC;AAEW,QAAA,oBAAoB,GAAG,GAAG,CAAC;AAE3B,QAAA,mBAAmB,GAAG;IACjC,gBAAO,CAAC,OAAO;IACf,gBAAO,CAAC,IAAI;IACZ,gBAAO,CAAC,OAAO;IACf,gBAAO,CAAC,gBAAgB;CACzB,CAAC;AAEW,QAAA,mBAAmB,GAAG;IACjC,+CAAmC;IACnC,+CAA+C;IAC/C,sCAA0B;CAC3B,CAAC"}
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/conditions/const.ts"],"names":[],"mappings":";;;AAAA,mDAG6B;AAE7B,qDAAqD;AACrD,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAE7C,QAAA,oBAAoB,GAAG,IAAI,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAExE,iCAAiC;AACpB,QAAA,+BAA+B,GAAG,IAAI,MAAM,CACvD,IAAI,uBAAuB,GAAG,CAC/B,CAAC;AAEW,QAAA,oBAAoB,GAAG,GAAG,CAAC;AAE3B,QAAA,mBAAmB,GAAG;IACjC,+CAAmC;IACnC,+CAA+C;IAC/C,sCAA0B;CAC3B,CAAC"}
@@ -17,6 +17,7 @@ export declare class ConditionContext {
17
17
  private fillAuthContextParameters;
18
18
  private validateCustomContextParameter;
19
19
  private static isContextParameter;
20
+ private static findContextParameter;
20
21
  private static findContextParameters;
21
22
  addCustomContextParameterValues(customContextParameters: Record<string, CustomContextParam>): void;
22
23
  addAuthProvider(contextParam: string, authProvider: AuthProvider): void;
@@ -4,10 +4,8 @@ exports.ConditionContext = exports.RESERVED_CONTEXT_PARAMS = void 0;
4
4
  const shared_1 = require("@nucypher/shared");
5
5
  const taco_auth_1 = require("@nucypher/taco-auth");
6
6
  const types_1 = require("../../types");
7
- const compound_condition_1 = require("../compound-condition");
8
7
  const condition_expr_1 = require("../condition-expr");
9
8
  const const_1 = require("../const");
10
- const json_api_1 = require("../schemas/json-api");
11
9
  const ERR_RESERVED_PARAM = (key) => `Cannot use reserved parameter name ${key} as custom parameter`;
12
10
  const ERR_INVALID_CUSTOM_PARAM = (key) => `Custom parameter ${key} must start with ${const_1.CONTEXT_PARAM_PREFIX}`;
13
11
  const ERR_AUTH_PROVIDER_REQUIRED = (key) => `No matching authentication provider to satisfy ${key} context variable in condition`;
@@ -90,62 +88,59 @@ class ConditionContext {
90
88
  static isContextParameter(param) {
91
89
  return !!String(param).match(const_1.CONTEXT_PARAM_FULL_MATCH_REGEXP);
92
90
  }
93
- static findContextParameters(condition) {
94
- // First, we want to find all the parameters we need to add
95
- const requestedParameters = new Set();
96
- // Check return value test
97
- if (condition.returnValueTest) {
98
- const rvt = condition.returnValueTest.value;
99
- // Return value test can be a single parameter or an array of parameters
100
- if (Array.isArray(rvt)) {
101
- rvt.forEach((value) => {
102
- if (ConditionContext.isContextParameter(value)) {
103
- requestedParameters.add(value);
104
- }
105
- });
106
- }
107
- else if (ConditionContext.isContextParameter(rvt)) {
108
- requestedParameters.add(rvt);
109
- }
110
- else {
111
- // Not a context parameter, we can skip
112
- }
113
- }
114
- // Check condition parameters
115
- for (const param of condition.parameters ?? []) {
116
- if (this.isContextParameter(param)) {
117
- requestedParameters.add(param);
118
- }
91
+ static findContextParameter(value) {
92
+ const includedContextVars = new Set();
93
+ // value not set
94
+ if (!value) {
95
+ return includedContextVars;
119
96
  }
120
- // If it's a compound condition, check operands
121
- if (condition.conditionType === compound_condition_1.CompoundConditionType) {
122
- for (const key in condition.operands) {
123
- const innerParams = this.findContextParameters(condition.operands[key]);
124
- for (const param of innerParams) {
125
- requestedParameters.add(param);
126
- }
97
+ if (typeof value === 'string') {
98
+ if (this.isContextParameter(value)) {
99
+ // entire string is context parameter
100
+ includedContextVars.add(String(value));
127
101
  }
128
- }
129
- // If it's a JSON API condition, check url and query
130
- if (condition.conditionType === json_api_1.JsonApiConditionType) {
131
- const urlComponents = condition.endpoint.replace("https://", "").split("/");
132
- for (const param of urlComponents ?? []) {
133
- if (this.isContextParameter(param)) {
134
- requestedParameters.add(param);
135
- }
136
- }
137
- if (condition.query) {
138
- const queryParams = condition.query.match(":[a-zA-Z_]*");
139
- if (queryParams) {
140
- for (const param of queryParams) {
141
- requestedParameters.add(param);
102
+ else {
103
+ // context var could be substring; find all matches
104
+ const contextVarMatches = value.match(
105
+ // RegExp with 'g' is stateful, so new instance needed every time
106
+ new RegExp(const_1.CONTEXT_PARAM_REGEXP.source, 'g'));
107
+ if (contextVarMatches) {
108
+ for (const match of contextVarMatches) {
109
+ includedContextVars.add(match);
142
110
  }
143
111
  }
144
112
  }
145
- if (this.isContextParameter(condition.authorizationToken)) {
146
- requestedParameters.add(condition.authorizationToken);
113
+ }
114
+ else if (Array.isArray(value)) {
115
+ // array
116
+ value.forEach((subValue) => {
117
+ const contextVarsForValue = this.findContextParameter(subValue);
118
+ contextVarsForValue.forEach((contextVar) => {
119
+ includedContextVars.add(contextVar);
120
+ });
121
+ });
122
+ }
123
+ else if (typeof value === 'object') {
124
+ // dictionary (Record<string, T> - complex object eg. Condition, ConditionVariable, ReturnValueTest etc.)
125
+ for (const [, entry] of Object.entries(value)) {
126
+ const contextVarsForValue = this.findContextParameter(entry);
127
+ contextVarsForValue.forEach((contextVar) => {
128
+ includedContextVars.add(contextVar);
129
+ });
147
130
  }
148
131
  }
132
+ return includedContextVars;
133
+ }
134
+ static findContextParameters(condition) {
135
+ // find all the context variables we need
136
+ const requestedParameters = new Set();
137
+ // iterate through all properties in ConditionProps
138
+ const properties = Object.keys(condition);
139
+ properties.forEach((prop) => {
140
+ this.findContextParameter(condition[prop]).forEach((contextVar) => {
141
+ requestedParameters.add(contextVar);
142
+ });
143
+ });
149
144
  return requestedParameters;
150
145
  }
151
146
  addCustomContextParameterValues(customContextParameters) {
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/conditions/context/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/conditions/context/context.ts"],"names":[],"mappings":"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"}
@@ -10,3 +10,5 @@ export declare const baseConditionSchema: z.ZodObject<{
10
10
  }>;
11
11
  declare function createUnionSchema<T extends readonly Primitive[]>(values: T): z.ZodNever | z.ZodLiteral<Primitive> | z.ZodUnion<[z.ZodLiteral<Primitive>, z.ZodLiteral<Primitive>, ...z.ZodLiteral<Primitive>[]]>;
12
12
  export default createUnionSchema;
13
+ export declare const jsonPathSchema: z.ZodEffects<z.ZodString, string, string>;
14
+ export declare const httpsURLSchema: z.ZodEffects<z.ZodString, string, string>;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.baseConditionSchema = exports.UserAddressSchema = exports.plainStringSchema = void 0;
3
+ exports.httpsURLSchema = exports.jsonPathSchema = exports.baseConditionSchema = exports.UserAddressSchema = exports.plainStringSchema = void 0;
4
+ const jsonpath_1 = require("@astronautlabs/jsonpath");
4
5
  const taco_auth_1 = require("@nucypher/taco-auth");
5
6
  const zod_1 = require("zod");
6
7
  const const_1 = require("../const");
@@ -33,4 +34,33 @@ function createUnionSchema(values) {
33
34
  return createUnion(values);
34
35
  }
35
36
  exports.default = createUnionSchema;
37
+ const validateJSONPath = (jsonPath) => {
38
+ // account for embedded context variables
39
+ if (const_1.CONTEXT_PARAM_REGEXP.test(jsonPath)) {
40
+ // skip validation
41
+ return true;
42
+ }
43
+ try {
44
+ jsonpath_1.JSONPath.parse(jsonPath);
45
+ return true;
46
+ }
47
+ catch (error) {
48
+ return false;
49
+ }
50
+ };
51
+ exports.jsonPathSchema = zod_1.z
52
+ .string()
53
+ .refine((val) => validateJSONPath(val), {
54
+ message: 'Invalid JSONPath expression',
55
+ });
56
+ const validateHttpsURL = (url) => {
57
+ return URL.canParse(url) && url.startsWith('https://');
58
+ };
59
+ // Use our own URL refinement check due to https://github.com/colinhacks/zod/issues/2236
60
+ exports.httpsURLSchema = zod_1.z
61
+ .string()
62
+ .url()
63
+ .refine((url) => validateHttpsURL(url), {
64
+ message: 'Invalid URL',
65
+ });
36
66
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/common.ts"],"names":[],"mappings":";;;AAAA,mDAG6B;AAC7B,6BAA+C;AAE/C,oCAAgD;AAEhD,kEAAkE;AAClE,mDAAmD;AACtC,QAAA,iBAAiB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAChD,CAAC,GAAG,EAAE,EAAE;IACN,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,4BAAoB,CAAC,CAAC;AAC/C,CAAC,EACD;IACE,OAAO,EAAE,+DAA+D,4BAAoB,GAAG;CAChG,CACF,CAAC;AAEW,QAAA,iBAAiB,GAAG,OAAC,CAAC,IAAI,CAAC;IACtC,sCAA0B;IAC1B,+CAAmC;CACpC,CAAC,CAAC;AAEU,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE;CAC1B,CAAC,CAAC;AAEH,+EAA+E;AAC/E,MAAM,WAAW,GAAG,CAGlB,MAAS,EACT,EAAE;IACF,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAIzD,CAAC;IACF,OAAO,OAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,SAAS,iBAAiB,CAAiC,MAAS;IAClE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,OAAC,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,OAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,WAAW,CAChB,MAAqE,CACtE,CAAC;AACJ,CAAC;AAED,kBAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/common.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AACnD,mDAG6B;AAC7B,6BAA+C;AAE/C,oCAAsE;AAEtE,kEAAkE;AAClE,mDAAmD;AACtC,QAAA,iBAAiB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAChD,CAAC,GAAG,EAAE,EAAE;IACN,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,4BAAoB,CAAC,CAAC;AAC/C,CAAC,EACD;IACE,OAAO,EAAE,+DAA+D,4BAAoB,GAAG;CAChG,CACF,CAAC;AAEW,QAAA,iBAAiB,GAAG,OAAC,CAAC,IAAI,CAAC;IACtC,sCAA0B;IAC1B,+CAAmC;CACpC,CAAC,CAAC;AAEU,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE;CAC1B,CAAC,CAAC;AAEH,+EAA+E;AAC/E,MAAM,WAAW,GAAG,CAGlB,MAAS,EACT,EAAE;IACF,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAIzD,CAAC;IACF,OAAO,OAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,SAAS,iBAAiB,CAAiC,MAAS;IAClE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,OAAC,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,OAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,WAAW,CAChB,MAAqE,CACtE,CAAC;AACJ,CAAC;AAED,kBAAe,iBAAiB,CAAC;AAEjC,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAW,EAAE;IACrD,yCAAyC;IACzC,IAAI,4BAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,kBAAkB;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,mBAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEW,QAAA,cAAc,GAAG,OAAC;KAC5B,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE;IACtC,OAAO,EAAE,6BAA6B;CACvC,CAAC,CAAC;AAEL,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAW,EAAE;IAChD,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,wFAAwF;AAC3E,QAAA,cAAc,GAAG,OAAC;KAC5B,MAAM,EAAE;KACR,GAAG,EAAE;KACL,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE;IACtC,OAAO,EAAE,aAAa;CACvB,CAAC,CAAC"}
@@ -154,7 +154,7 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
154
154
  index?: number | undefined;
155
155
  value?: any;
156
156
  }>;
157
- chain: z.ZodNever | z.ZodLiteral<z.Primitive> | z.ZodUnion<[z.ZodLiteral<z.Primitive>, z.ZodLiteral<z.Primitive>, ...z.ZodLiteral<z.Primitive>[]]>;
157
+ chain: z.ZodNumber;
158
158
  conditionType: z.ZodDefault<z.ZodLiteral<"contract">>;
159
159
  contractAddress: z.ZodEffects<z.ZodString, string, string>;
160
160
  standardContractType: z.ZodOptional<z.ZodEnum<["ERC20", "ERC721"]>>;
@@ -301,15 +301,15 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
301
301
  parameters: z.ZodArray<z.ZodType<any, z.ZodTypeDef, any>, "many">;
302
302
  }, "strip", z.ZodTypeAny, {
303
303
  conditionType: "contract";
304
- parameters: any[];
304
+ method: string;
305
305
  returnValueTest: {
306
306
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
307
307
  index?: number | undefined;
308
308
  value?: any;
309
309
  };
310
- method: string;
310
+ parameters: any[];
311
+ chain: number;
311
312
  contractAddress: string;
312
- chain?: z.Primitive;
313
313
  standardContractType?: "ERC20" | "ERC721" | undefined;
314
314
  functionAbi?: {
315
315
  type: "function";
@@ -331,15 +331,15 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
331
331
  stateMutability: "view" | "pure";
332
332
  } | undefined;
333
333
  }, {
334
- parameters: any[];
334
+ method: string;
335
335
  returnValueTest: {
336
336
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
337
337
  index?: number | undefined;
338
338
  value?: any;
339
339
  };
340
- method: string;
340
+ parameters: any[];
341
+ chain: number;
341
342
  contractAddress: string;
342
- chain?: z.Primitive;
343
343
  conditionType?: "contract" | undefined;
344
344
  standardContractType?: "ERC20" | "ERC721" | undefined;
345
345
  functionAbi?: {
@@ -363,15 +363,15 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
363
363
  } | undefined;
364
364
  }>, {
365
365
  conditionType: "contract";
366
- parameters: any[];
366
+ method: string;
367
367
  returnValueTest: {
368
368
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
369
369
  index?: number | undefined;
370
370
  value?: any;
371
371
  };
372
- method: string;
372
+ parameters: any[];
373
+ chain: number;
373
374
  contractAddress: string;
374
- chain?: z.Primitive;
375
375
  standardContractType?: "ERC20" | "ERC721" | undefined;
376
376
  functionAbi?: {
377
377
  type: "function";
@@ -393,15 +393,15 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
393
393
  stateMutability: "view" | "pure";
394
394
  } | undefined;
395
395
  }, {
396
- parameters: any[];
396
+ method: string;
397
397
  returnValueTest: {
398
398
  comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
399
399
  index?: number | undefined;
400
400
  value?: any;
401
401
  };
402
- method: string;
402
+ parameters: any[];
403
+ chain: number;
403
404
  contractAddress: string;
404
- chain?: z.Primitive;
405
405
  conditionType?: "contract" | undefined;
406
406
  standardContractType?: "ERC20" | "ERC721" | undefined;
407
407
  functionAbi?: {
@@ -1,9 +1,8 @@
1
1
  import { z } from 'zod';
2
2
  export declare const JsonApiConditionType = "json-api";
3
- export declare const jsonPathSchema: z.ZodEffects<z.ZodString, string, string>;
4
3
  export declare const jsonApiConditionSchema: z.ZodObject<{
5
4
  conditionType: z.ZodDefault<z.ZodLiteral<"json-api">>;
6
- endpoint: z.ZodString;
5
+ endpoint: z.ZodEffects<z.ZodString, string, string>;
7
6
  parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
8
7
  query: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
9
8
  authorizationToken: z.ZodOptional<z.ZodString>;
@@ -1,36 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.jsonApiConditionSchema = exports.jsonPathSchema = exports.JsonApiConditionType = void 0;
4
- const jsonpath_1 = require("@astronautlabs/jsonpath");
3
+ exports.jsonApiConditionSchema = exports.JsonApiConditionType = void 0;
5
4
  const zod_1 = require("zod");
6
- const const_1 = require("../const");
5
+ const common_1 = require("./common");
7
6
  const context_1 = require("./context");
8
7
  const return_value_test_1 = require("./return-value-test");
9
8
  exports.JsonApiConditionType = 'json-api';
10
- const validateJSONPath = (jsonPath) => {
11
- // account for embedded context variables
12
- if (const_1.CONTEXT_PARAM_REGEXP.test(jsonPath)) {
13
- // skip validation
14
- return true;
15
- }
16
- try {
17
- jsonpath_1.JSONPath.parse(jsonPath);
18
- return true;
19
- }
20
- catch (error) {
21
- return false;
22
- }
23
- };
24
- exports.jsonPathSchema = zod_1.z
25
- .string()
26
- .refine((val) => validateJSONPath(val), {
27
- message: 'Invalid JSONPath expression',
28
- });
29
- exports.jsonApiConditionSchema = zod_1.z.object({
9
+ exports.jsonApiConditionSchema = common_1.baseConditionSchema.extend({
30
10
  conditionType: zod_1.z.literal(exports.JsonApiConditionType).default(exports.JsonApiConditionType),
31
- endpoint: zod_1.z.string().url(),
11
+ endpoint: common_1.httpsURLSchema,
32
12
  parameters: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional(),
33
- query: exports.jsonPathSchema.optional(),
13
+ query: common_1.jsonPathSchema.optional(),
34
14
  authorizationToken: context_1.contextParamSchema.optional(),
35
15
  returnValueTest: return_value_test_1.returnValueTestSchema, // Update to allow multiple return values after expanding supported methods
36
16
  });
@@ -1 +1 @@
1
- {"version":3,"file":"json-api.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/json-api.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AACnD,6BAAwB;AAExB,oCAAgD;AAEhD,uCAA+C;AAC/C,2DAA4D;AAE/C,QAAA,oBAAoB,GAAG,UAAU,CAAC;AAE/C,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAW,EAAE;IACrD,yCAAyC;IACzC,IAAI,4BAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,kBAAkB;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,mBAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEW,QAAA,cAAc,GAAG,OAAC;KAC5B,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE;IACtC,OAAO,EAAE,6BAA6B;CACvC,CAAC,CAAC;AAEQ,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,aAAa,EAAE,OAAC,CAAC,OAAO,CAAC,4BAAoB,CAAC,CAAC,OAAO,CAAC,4BAAoB,CAAC;IAC5E,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC1B,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACxD,KAAK,EAAE,sBAAc,CAAC,QAAQ,EAAE;IAChC,kBAAkB,EAAE,4BAAkB,CAAC,QAAQ,EAAE;IACjD,eAAe,EAAE,yCAAqB,EAAE,2EAA2E;CACpH,CAAC,CAAC"}
1
+ {"version":3,"file":"json-api.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/json-api.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,qCAA+E;AAC/E,uCAA+C;AAC/C,2DAA4D;AAE/C,QAAA,oBAAoB,GAAG,UAAU,CAAC;AAElC,QAAA,sBAAsB,GAAG,4BAAmB,CAAC,MAAM,CAAC;IAC/D,aAAa,EAAE,OAAC,CAAC,OAAO,CAAC,4BAAoB,CAAC,CAAC,OAAO,CAAC,4BAAoB,CAAC;IAC5E,QAAQ,EAAE,uBAAc;IACxB,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACxD,KAAK,EAAE,uBAAc,CAAC,QAAQ,EAAE;IAChC,kBAAkB,EAAE,4BAAkB,CAAC,QAAQ,EAAE;IACjD,eAAe,EAAE,yCAAqB,EAAE,2EAA2E;CACpH,CAAC,CAAC"}
@@ -0,0 +1,48 @@
1
+ import { z } from 'zod';
2
+ export declare const JsonRpcConditionType = "json-rpc";
3
+ export declare const jsonRpcConditionSchema: z.ZodObject<{
4
+ conditionType: z.ZodDefault<z.ZodLiteral<"json-rpc">>;
5
+ endpoint: z.ZodEffects<z.ZodString, string, string>;
6
+ method: z.ZodString;
7
+ params: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodUnknown, "many">, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
8
+ query: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
9
+ authorizationToken: z.ZodOptional<z.ZodString>;
10
+ returnValueTest: z.ZodObject<{
11
+ index: z.ZodOptional<z.ZodNumber>;
12
+ comparator: z.ZodEnum<["==", ">", "<", ">=", "<=", "!="]>;
13
+ value: z.ZodType<any, z.ZodTypeDef, any>;
14
+ }, "strip", z.ZodTypeAny, {
15
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
16
+ index?: number | undefined;
17
+ value?: any;
18
+ }, {
19
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
20
+ index?: number | undefined;
21
+ value?: any;
22
+ }>;
23
+ }, "strip", z.ZodTypeAny, {
24
+ conditionType: "json-rpc";
25
+ endpoint: string;
26
+ method: string;
27
+ returnValueTest: {
28
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
29
+ index?: number | undefined;
30
+ value?: any;
31
+ };
32
+ params?: unknown[] | Record<string, unknown> | undefined;
33
+ query?: string | undefined;
34
+ authorizationToken?: string | undefined;
35
+ }, {
36
+ endpoint: string;
37
+ method: string;
38
+ returnValueTest: {
39
+ comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
40
+ index?: number | undefined;
41
+ value?: any;
42
+ };
43
+ conditionType?: "json-rpc" | undefined;
44
+ params?: unknown[] | Record<string, unknown> | undefined;
45
+ query?: string | undefined;
46
+ authorizationToken?: string | undefined;
47
+ }>;
48
+ export type JsonRpcConditionProps = z.infer<typeof jsonRpcConditionSchema>;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.jsonRpcConditionSchema = exports.JsonRpcConditionType = void 0;
4
+ const zod_1 = require("zod");
5
+ const common_1 = require("./common");
6
+ const context_1 = require("./context");
7
+ const return_value_test_1 = require("./return-value-test");
8
+ exports.JsonRpcConditionType = 'json-rpc';
9
+ exports.jsonRpcConditionSchema = common_1.baseConditionSchema.extend({
10
+ conditionType: zod_1.z.literal(exports.JsonRpcConditionType).default(exports.JsonRpcConditionType),
11
+ endpoint: common_1.httpsURLSchema,
12
+ method: zod_1.z.string(),
13
+ // list or dictionary
14
+ params: zod_1.z
15
+ .union([zod_1.z.array(zod_1.z.unknown()), zod_1.z.record(zod_1.z.string(), zod_1.z.unknown())])
16
+ .optional(),
17
+ query: common_1.jsonPathSchema.optional(),
18
+ authorizationToken: context_1.contextParamSchema.optional(),
19
+ returnValueTest: return_value_test_1.returnValueTestSchema,
20
+ });
21
+ //# sourceMappingURL=json-rpc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-rpc.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/json-rpc.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,qCAA+E;AAC/E,uCAA+C;AAC/C,2DAA4D;AAE/C,QAAA,oBAAoB,GAAG,UAAU,CAAC;AAElC,QAAA,sBAAsB,GAAG,4BAAmB,CAAC,MAAM,CAAC;IAC/D,aAAa,EAAE,OAAC,CAAC,OAAO,CAAC,4BAAoB,CAAC,CAAC,OAAO,CAAC,4BAAoB,CAAC;IAC5E,QAAQ,EAAE,uBAAc;IACxB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,qBAAqB;IACrB,MAAM,EAAE,OAAC;SACN,KAAK,CAAC,CAAC,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;SAChE,QAAQ,EAAE;IACb,KAAK,EAAE,uBAAc,CAAC,QAAQ,EAAE;IAChC,kBAAkB,EAAE,4BAAkB,CAAC,QAAQ,EAAE;IACjD,eAAe,EAAE,yCAAqB;CACvC,CAAC,CAAC"}