@lowdefy/operators-js 6.0.0 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/checks.js +24 -0
  2. package/dist/metas.js +26 -0
  3. package/dist/operators/build/authConfig.js +62 -0
  4. package/dist/operators/build/authConfig.schema.js +37 -0
  5. package/dist/operators/client/_index.js +6 -0
  6. package/dist/operators/client/actions.js +4 -0
  7. package/dist/operators/client/api.js +9 -0
  8. package/dist/operators/client/base64.js +3 -0
  9. package/dist/operators/client/event.js +4 -0
  10. package/dist/operators/client/event_log.js +4 -0
  11. package/dist/operators/client/global.js +9 -1
  12. package/dist/operators/client/input.js +9 -1
  13. package/dist/operators/client/js.js +16 -2
  14. package/dist/operators/client/location.js +13 -0
  15. package/dist/operators/client/media.js +17 -33
  16. package/dist/operators/client/menu.js +6 -0
  17. package/dist/operators/client/path_params.js +31 -0
  18. package/dist/operators/client/path_params.schema.js +49 -0
  19. package/dist/operators/client/request.js +9 -0
  20. package/dist/operators/client/request_details.js +10 -1
  21. package/dist/operators/client/theme.js +7 -0
  22. package/dist/operators/client/url_query.js +4 -0
  23. package/dist/operators/client/websocket.js +4 -0
  24. package/dist/operators/server/agent.js +29 -0
  25. package/dist/operators/server/agent.schema.js +61 -0
  26. package/dist/operators/server/credential.js +22 -0
  27. package/dist/operators/server/credential.schema.js +20 -0
  28. package/dist/operators/server/hmac.js +72 -0
  29. package/dist/operators/server/hmac.schema.js +35 -0
  30. package/dist/operators/server/item.js +2 -1
  31. package/dist/operators/server/js.js +1 -1
  32. package/dist/operators/server/organization.js +40 -0
  33. package/dist/operators/server/organization.schema.js +59 -0
  34. package/dist/operators/server/payload.js +2 -1
  35. package/dist/operators/server/step.js +2 -1
  36. package/dist/operators/shared/and.js +3 -0
  37. package/dist/operators/shared/app.js +3 -0
  38. package/dist/operators/shared/args.js +4 -0
  39. package/dist/operators/shared/array.js +116 -1
  40. package/dist/operators/shared/boolean.js +3 -0
  41. package/dist/operators/shared/date.js +16 -0
  42. package/dist/operators/shared/divide.js +3 -0
  43. package/dist/operators/shared/eq.js +3 -0
  44. package/dist/operators/shared/error.js +41 -0
  45. package/dist/operators/shared/error.schema.js +61 -0
  46. package/dist/operators/shared/function.js +8 -8
  47. package/dist/operators/shared/get.js +3 -0
  48. package/dist/operators/shared/gt.js +3 -0
  49. package/dist/operators/shared/gte.js +3 -0
  50. package/dist/operators/shared/if.check.js +25 -0
  51. package/dist/operators/shared/if.js +3 -0
  52. package/dist/operators/shared/if_none.js +3 -0
  53. package/dist/operators/shared/intl.js +14 -1
  54. package/dist/operators/shared/json.js +3 -0
  55. package/dist/operators/shared/locale.js +7 -0
  56. package/dist/operators/shared/log.js +4 -0
  57. package/dist/operators/shared/lt.js +3 -0
  58. package/dist/operators/shared/lte.js +3 -0
  59. package/dist/operators/shared/math.js +6 -0
  60. package/dist/operators/shared/ne.js +3 -0
  61. package/dist/operators/shared/not.js +3 -0
  62. package/dist/operators/shared/number.js +3 -0
  63. package/dist/operators/shared/object.js +3 -0
  64. package/dist/operators/shared/operator.js +17 -2
  65. package/dist/operators/shared/operator.schema.js +7 -0
  66. package/dist/operators/shared/or.js +3 -0
  67. package/dist/operators/shared/product.js +3 -0
  68. package/dist/operators/shared/random.js +3 -0
  69. package/dist/operators/shared/regex.js +28 -0
  70. package/dist/operators/shared/state.js +9 -1
  71. package/dist/operators/shared/string.js +3 -0
  72. package/dist/operators/shared/subtract.js +3 -0
  73. package/dist/operators/shared/sum.js +3 -0
  74. package/dist/operators/shared/switch.js +3 -0
  75. package/dist/operators/shared/t.js +7 -0
  76. package/dist/operators/shared/type.js +23 -0
  77. package/dist/operators/shared/type.schema.js +3 -1
  78. package/dist/operators/shared/uri.js +3 -0
  79. package/dist/operators/shared/user.js +19 -1
  80. package/dist/operatorsBuild.js +4 -0
  81. package/dist/operatorsClient.js +2 -0
  82. package/dist/operatorsServer.js +5 -0
  83. package/dist/schemas.js +7 -0
  84. package/dist/types.js +7 -0
  85. package/package.json +11 -6
@@ -13,18 +13,14 @@
13
13
  See the License for the specific language governing permissions and
14
14
  limitations under the License.
15
15
  */ import { serializer } from '@lowdefy/helpers';
16
- function _function({ actions, arrayIndices, event, location, operatorPrefix, params, parser, payload, steps }) {
16
+ // The parser is bound to the calling frame (state, items, payload, event, array indices), so the
17
+ // body only needs its own args and the next operator prefix.
18
+ function _function({ operatorPrefix, params, parser }) {
17
19
  return (...args)=>{
18
20
  const { output, errors } = parser.parse({
19
- actions,
20
- arrayIndices,
21
21
  args,
22
- event,
23
22
  input: serializer.copy(params),
24
- location,
25
- operatorPrefix: `_${operatorPrefix}`,
26
- payload,
27
- steps
23
+ operatorPrefix: `_${operatorPrefix}`
28
24
  });
29
25
  if (errors.length > 0) {
30
26
  throw errors[0];
@@ -33,4 +29,8 @@ function _function({ actions, arrayIndices, event, location, operatorPrefix, par
33
29
  };
34
30
  }
35
31
  _function.dynamic = true;
32
+ // What the body reads is only known when it is called, often at render time.
33
+ _function.tracking = {
34
+ kind: 'untracked'
35
+ };
36
36
  export default _function;
@@ -34,4 +34,7 @@ function _get({ arrayIndices, location, params }) {
34
34
  });
35
35
  }
36
36
  _get.dynamic = false;
37
+ _get.tracking = {
38
+ kind: 'pure'
39
+ };
37
40
  export default _get;
@@ -23,4 +23,7 @@ function _gt({ params }) {
23
23
  return params[0] > params[1];
24
24
  }
25
25
  _gt.dynamic = false;
26
+ _gt.tracking = {
27
+ kind: 'pure'
28
+ };
26
29
  export default _gt;
@@ -23,4 +23,7 @@ function _gte({ params }) {
23
23
  return params[0] >= params[1];
24
24
  }
25
25
  _gte.dynamic = false;
26
+ _gte.tracking = {
27
+ kind: 'pure'
28
+ };
26
29
  export default _gte;
@@ -0,0 +1,25 @@
1
+ /*
2
+ Copyright 2020-2026 Lowdefy, Inc
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ */ import { getOperatorType, type } from '@lowdefy/helpers';
16
+ // _if is not dynamic, so params that are one operator ({ _state: ifParams })
17
+ // are evaluated first and may give a valid object. Array and primitive params
18
+ // are left to the runtime error.
19
+ const ifTest = {
20
+ id: 'if-test',
21
+ level: 'error',
22
+ description: '_if needs its condition under test.',
23
+ check: ({ params })=>type.isObject(params) && !('test' in params) && getOperatorType(params) === null ? '_if has no test key. Put the condition under test:.' : null
24
+ };
25
+ export default ifTest;
@@ -22,4 +22,7 @@
22
22
  throw new Error(`_if takes a boolean type for parameter test.`);
23
23
  }
24
24
  _if.dynamic = false;
25
+ _if.tracking = {
26
+ kind: 'pure'
27
+ };
25
28
  export default _if;
@@ -26,4 +26,7 @@ function _if_none({ params }) {
26
26
  return params[0];
27
27
  }
28
28
  _if_none.dynamic = false;
29
+ _if_none.tracking = {
30
+ kind: 'pure'
31
+ };
29
32
  export default _if_none;
@@ -12,7 +12,8 @@
12
12
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
13
  See the License for the specific language governing permissions and
14
14
  limitations under the License.
15
- */ import { runClass } from '@lowdefy/operators';
15
+ */ import { type } from '@lowdefy/helpers';
16
+ import { runClass } from '@lowdefy/operators';
16
17
  function createFormatter({ IntlClass }) {
17
18
  const formatter = (on, options, locale)=>{
18
19
  return new IntlClass(locale, options).format(on);
@@ -92,4 +93,16 @@ function intl({ params, location, methodName }) {
92
93
  });
93
94
  }
94
95
  intl.dynamic = true;
96
+ // Intl.DateTimeFormat formats the current time when given no date.
97
+ intl.tracking = ({ methodName, params })=>{
98
+ if (methodName !== 'dateTimeFormat') {
99
+ return {
100
+ kind: 'pure'
101
+ };
102
+ }
103
+ const on = type.isArray(params) ? params[0] : params?.on;
104
+ return {
105
+ kind: type.isUndefined(on) ? 'volatile' : 'pure'
106
+ };
107
+ };
95
108
  export default intl;
@@ -59,4 +59,7 @@ function _json({ params, location, methodName }) {
59
59
  });
60
60
  }
61
61
  _json.dynamic = false;
62
+ _json.tracking = {
63
+ kind: 'pure'
64
+ };
62
65
  export default _json;
@@ -29,4 +29,11 @@ function _locale({ arrayIndices, location, params, i18n }) {
29
29
  });
30
30
  }
31
31
  _locale.dynamic = true;
32
+ // i18n changes reach the engine through the full render-time pass, which evaluates every block.
33
+ _locale.tracking = {
34
+ kind: 'read',
35
+ keys: ()=>[
36
+ 'i18n'
37
+ ]
38
+ };
32
39
  export default _locale;
@@ -18,4 +18,8 @@
18
18
  return params;
19
19
  }
20
20
  _log.dynamic = true;
21
+ // Pure for its output. Its console output only happens on the passes that evaluate its block.
22
+ _log.tracking = {
23
+ kind: 'pure'
24
+ };
21
25
  export default _log;
@@ -23,4 +23,7 @@ function _lt({ params }) {
23
23
  return params[0] < params[1];
24
24
  }
25
25
  _lt.dynamic = false;
26
+ _lt.tracking = {
27
+ kind: 'pure'
28
+ };
26
29
  export default _lt;
@@ -23,4 +23,7 @@ function _lte({ params }) {
23
23
  return params[0] <= params[1];
24
24
  }
25
25
  _lte.dynamic = false;
26
+ _lte.tracking = {
27
+ kind: 'pure'
28
+ };
26
29
  export default _lte;
@@ -282,5 +282,11 @@ function _math({ params, location, methodName }) {
282
282
  });
283
283
  }
284
284
  _math.dynamic = false;
285
+ _math.tracking = ({ methodName, params })=>{
286
+ const method = methodName ?? params;
287
+ return {
288
+ kind: method === 'random' ? 'volatile' : 'pure'
289
+ };
290
+ };
285
291
  _math.meta = meta;
286
292
  export default _math;
@@ -23,4 +23,7 @@ function _ne({ params }) {
23
23
  return params[0] !== params[1];
24
24
  }
25
25
  _ne.dynamic = false;
26
+ _ne.tracking = {
27
+ kind: 'pure'
28
+ };
26
29
  export default _ne;
@@ -16,4 +16,7 @@
16
16
  return !params;
17
17
  }
18
18
  _not.dynamic = false;
19
+ _not.tracking = {
20
+ kind: 'pure'
21
+ };
19
22
  export default _not;
@@ -145,5 +145,8 @@ function _number({ params, location, methodName }) {
145
145
  });
146
146
  }
147
147
  _number.dynamic = false;
148
+ _number.tracking = {
149
+ kind: 'pure'
150
+ };
148
151
  _number.meta = meta;
149
152
  export default _number;
@@ -127,4 +127,7 @@ function _object({ params, location, methodName }) {
127
127
  });
128
128
  }
129
129
  _object.dynamic = false;
130
+ _object.tracking = {
131
+ kind: 'pure'
132
+ };
130
133
  export default _object;
@@ -18,13 +18,24 @@ function _operator(options) {
18
18
  if (!type.isString(params.name)) {
19
19
  throw new Error(`_operator.name must be a valid operator name as string.`);
20
20
  }
21
- if (params.name === '_operator') {
21
+ const [operator, methodName] = params.name.split('.');
22
+ if (operator === '_operator') {
22
23
  throw new Error(`_operator.name cannot be set to _operator to avoid infinite loop reference.`);
23
24
  }
24
25
  if (params.name.includes('experimental')) {
25
26
  throw new Error(`Experimental operators cannot be used with _operator.`);
26
27
  }
27
- const [operator, methodName] = params.name.split('.');
28
+ // A name read at runtime comes with the operators it may call (the build
29
+ // requires the list and bundles exactly those). A listed operator allows
30
+ // every method; a listed method allows only itself.
31
+ if (!type.isNone(params.operators)) {
32
+ if (!type.isArray(params.operators)) {
33
+ throw new Error(`_operator.operators must be an array of operator names.`);
34
+ }
35
+ if (!params.operators.some((name)=>name === operator || name === params.name)) {
36
+ throw new Error(`_operator - "${params.name}" is not in _operator.operators.`);
37
+ }
38
+ }
28
39
  if (Object.prototype.hasOwnProperty.call(operators, operator)) {
29
40
  return operators[operator]({
30
41
  ...options,
@@ -36,4 +47,8 @@ function _operator(options) {
36
47
  throw new Error(`_operator - Invalid operator name.`);
37
48
  }
38
49
  _operator.dynamic = true;
50
+ // The operator it dispatches to is called through the tracked registry view, so it records itself.
51
+ _operator.tracking = {
52
+ kind: 'pure'
53
+ };
39
54
  export default _operator;
@@ -26,6 +26,13 @@
26
26
  },
27
27
  params: {
28
28
  description: 'Params to pass to the operator.'
29
+ },
30
+ operators: {
31
+ type: 'array',
32
+ items: {
33
+ type: 'string'
34
+ },
35
+ description: 'The operators the call may evaluate. Required when name is read at runtime; any other name is refused.'
29
36
  }
30
37
  },
31
38
  additionalProperties: false
@@ -20,4 +20,7 @@ function _or({ params }) {
20
20
  return !!params.reduce((acc, el)=>acc || el, false);
21
21
  }
22
22
  _or.dynamic = false;
23
+ _or.tracking = {
24
+ kind: 'pure'
25
+ };
23
26
  export default _or;
@@ -25,4 +25,7 @@ function _product({ params }) {
25
25
  }, 1);
26
26
  }
27
27
  _product.dynamic = false;
28
+ _product.tracking = {
29
+ kind: 'pure'
30
+ };
28
31
  export default _product;
@@ -90,4 +90,7 @@ function _random({ params }) {
90
90
  return generateRandomString(params.length);
91
91
  }
92
92
  _random.dynamic = true;
93
+ _random.tracking = {
94
+ kind: 'volatile'
95
+ };
93
96
  export default _random;
@@ -59,4 +59,32 @@ function _regex({ location, params, state }) {
59
59
  }
60
60
  }
61
61
  _regex.dynamic = true;
62
+ // With no `on`, _regex reads state at `key`, or at its own location.
63
+ _regex.tracking = ({ location, params })=>{
64
+ const pattern = type.isObject(params) ? params.pattern : params;
65
+ if (!type.isString(pattern)) {
66
+ return {
67
+ kind: 'pure'
68
+ };
69
+ }
70
+ if (!type.isUndefined(params.key)) {
71
+ return {
72
+ kind: 'read',
73
+ keys: [
74
+ type.isString(params.key) ? `state:${params.key}` : 'state:*'
75
+ ]
76
+ };
77
+ }
78
+ if (type.isUndefined(params.on)) {
79
+ return {
80
+ kind: 'read',
81
+ keys: [
82
+ `state:${location}`
83
+ ]
84
+ };
85
+ }
86
+ return {
87
+ kind: 'pure'
88
+ };
89
+ };
62
90
  export default _regex;
@@ -12,7 +12,7 @@
12
12
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
13
  See the License for the specific language governing permissions and
14
14
  limitations under the License.
15
- */ import { getFromObject } from '@lowdefy/operators';
15
+ */ import { getFromObject, getObjectReadKeys } from '@lowdefy/operators';
16
16
  function _state({ arrayIndices, location, params, state }) {
17
17
  return getFromObject({
18
18
  arrayIndices,
@@ -23,4 +23,12 @@ function _state({ arrayIndices, location, params, state }) {
23
23
  });
24
24
  }
25
25
  _state.dynamic = true;
26
+ _state.tracking = {
27
+ kind: 'read',
28
+ keys: ({ arrayIndices, params })=>getObjectReadKeys({
29
+ arrayIndices,
30
+ namespace: 'state',
31
+ params
32
+ })
33
+ };
26
34
  export default _state;
@@ -321,4 +321,7 @@ function _string({ params, location, methodName }) {
321
321
  });
322
322
  }
323
323
  _string.dynamic = false;
324
+ _string.tracking = {
325
+ kind: 'pure'
326
+ };
324
327
  export default _string;
@@ -26,4 +26,7 @@ function _subtract({ params }) {
26
26
  return params[0] - params[1];
27
27
  }
28
28
  _subtract.dynamic = false;
29
+ _subtract.tracking = {
30
+ kind: 'pure'
31
+ };
29
32
  export default _subtract;
@@ -25,4 +25,7 @@ function _sum({ params }) {
25
25
  }, 0);
26
26
  }
27
27
  _sum.dynamic = false;
28
+ _sum.tracking = {
29
+ kind: 'pure'
30
+ };
28
31
  export default _sum;
@@ -28,4 +28,7 @@ function _switch({ params }) {
28
28
  return params.default;
29
29
  }
30
30
  _switch.dynamic = false;
31
+ _switch.tracking = {
32
+ kind: 'pure'
33
+ };
31
34
  export default _switch;
@@ -31,4 +31,11 @@ function _t({ params, i18n }) {
31
31
  throw new Error('_t takes a string key or an object { key, values, locale } — received ' + JSON.stringify(params));
32
32
  }
33
33
  _t.dynamic = true;
34
+ // i18n changes reach the engine through the full render-time pass, which evaluates every block.
35
+ _t.tracking = {
36
+ kind: 'read',
37
+ keys: ()=>[
38
+ 'i18n'
39
+ ]
40
+ };
34
41
  export default _t;
@@ -54,6 +54,10 @@ function _type({ location, params, state }) {
54
54
  return type.isUndefined(on);
55
55
  case 'none':
56
56
  return type.isNone(on);
57
+ // `empty` is what a form author means by "no value" - null, undefined, '' and [];
58
+ // 0, false and {} are values.
59
+ case 'empty':
60
+ return type.isNone(on) || on === '' || type.isArray(on) && on.length === 0;
57
61
  case 'primitive':
58
62
  return type.isPrimitive(on);
59
63
  default:
@@ -61,4 +65,23 @@ function _type({ location, params, state }) {
61
65
  }
62
66
  }
63
67
  _type.dynamic = true;
68
+ // With no `on`, _type reads state at `key`, or at its own location: the engine's required check
69
+ // is a _type on the input's own value.
70
+ _type.tracking = ({ location, params })=>{
71
+ const typeName = type.isObject(params) ? params.type : params;
72
+ if (!type.isString(typeName) || Object.prototype.hasOwnProperty.call(params, 'on')) {
73
+ return {
74
+ kind: 'pure'
75
+ };
76
+ }
77
+ const key = get(params, 'key', {
78
+ default: location
79
+ });
80
+ return {
81
+ kind: 'read',
82
+ keys: [
83
+ type.isString(key) ? `state:${key}` : 'state:*'
84
+ ]
85
+ };
86
+ };
64
87
  export default _type;
@@ -29,9 +29,10 @@
29
29
  'null',
30
30
  'undefined',
31
31
  'none',
32
+ 'empty',
32
33
  'primitive'
33
34
  ],
34
- description: 'Type name to test against state value at current location.'
35
+ description: 'Type name to test against state value at current location. The "empty" test is true for null, undefined, \'\' and [], and false for 0, false and {}.'
35
36
  },
36
37
  {
37
38
  type: 'object',
@@ -52,6 +53,7 @@
52
53
  'null',
53
54
  'undefined',
54
55
  'none',
56
+ 'empty',
55
57
  'primitive'
56
58
  ],
57
59
  description: 'Type name to test.'
@@ -48,4 +48,7 @@ function _uri({ params, location, methodName }) {
48
48
  });
49
49
  }
50
50
  _uri.dynamic = false;
51
+ _uri.tracking = {
52
+ kind: 'pure'
53
+ };
51
54
  export default _uri;
@@ -13,7 +13,7 @@
13
13
  See the License for the specific language governing permissions and
14
14
  limitations under the License.
15
15
  */ import { type } from '@lowdefy/helpers';
16
- import { getFromObject } from '@lowdefy/operators';
16
+ import { getFromObject, getObjectReadKeys } from '@lowdefy/operators';
17
17
  const roleMethods = [
18
18
  'hasRole',
19
19
  'hasSomeRoles',
@@ -85,4 +85,22 @@ function _user({ arrayIndices, location, methodName, params, user }) {
85
85
  });
86
86
  }
87
87
  _user.dynamic = true;
88
+ _user.tracking = ({ arrayIndices, methodName, params })=>{
89
+ if (roleMethods.includes(methodName)) {
90
+ return {
91
+ kind: 'read',
92
+ keys: [
93
+ 'user:roles'
94
+ ]
95
+ };
96
+ }
97
+ return {
98
+ kind: 'read',
99
+ keys: getObjectReadKeys({
100
+ arrayIndices,
101
+ namespace: 'user',
102
+ params
103
+ })
104
+ };
105
+ };
88
106
  export default _user;
@@ -49,12 +49,15 @@ import _type from './operators/shared/type.js';
49
49
  import _uri from './operators/shared/uri.js';
50
50
  import _base64 from './operators/server/base64.js';
51
51
  import _hash from './operators/server/hash.js';
52
+ import _hmac from './operators/server/hmac.js';
53
+ import _authConfig from './operators/build/authConfig.js';
52
54
  import _env from './operators/build/env.js';
53
55
  export default {
54
56
  _and,
55
57
  _app,
56
58
  _args,
57
59
  _array,
60
+ _authConfig,
58
61
  _base64,
59
62
  _boolean,
60
63
  _date,
@@ -66,6 +69,7 @@ export default {
66
69
  _gt,
67
70
  _gte,
68
71
  _hash,
72
+ _hmac,
69
73
  _if_none,
70
74
  _if,
71
75
  _intl,
@@ -55,6 +55,7 @@ export { default as _api } from './operators/client/api.js';
55
55
  export { default as _index } from './operators/client/_index.js';
56
56
  export { default as _actions } from './operators/client/actions.js';
57
57
  export { default as _base64 } from './operators/client/base64.js';
58
+ export { default as _error } from './operators/shared/error.js';
58
59
  export { default as _event_log } from './operators/client/event_log.js';
59
60
  export { default as _event } from './operators/client/event.js';
60
61
  export { default as _global } from './operators/client/global.js';
@@ -63,6 +64,7 @@ export { default as _js } from './operators/client/js.js';
63
64
  export { default as _location } from './operators/client/location.js';
64
65
  export { default as _media } from './operators/client/media.js';
65
66
  export { default as _menu } from './operators/client/menu.js';
67
+ export { default as _path_params } from './operators/client/path_params.js';
66
68
  export { default as _request_details } from './operators/client/request_details.js';
67
69
  export { default as _request } from './operators/client/request.js';
68
70
  export { default as _theme } from './operators/client/theme.js';
@@ -51,10 +51,15 @@ export { default as _t } from './operators/shared/t.js';
51
51
  export { default as _type } from './operators/shared/type.js';
52
52
  export { default as _uri } from './operators/shared/uri.js';
53
53
  export { default as _user } from './operators/shared/user.js';
54
+ export { default as _agent } from './operators/server/agent.js';
54
55
  export { default as _base64 } from './operators/server/base64.js';
56
+ export { default as _credential } from './operators/server/credential.js';
57
+ export { default as _error } from './operators/shared/error.js';
55
58
  export { default as _hash } from './operators/server/hash.js';
59
+ export { default as _hmac } from './operators/server/hmac.js';
56
60
  export { default as _item } from './operators/server/item.js';
57
61
  export { default as _js } from './operators/server/js.js';
62
+ export { default as _organization } from './operators/server/organization.js';
58
63
  export { default as _payload } from './operators/server/payload.js';
59
64
  export { default as _secret } from './operators/server/secret.js';
60
65
  export { default as _step } from './operators/server/step.js';
package/dist/schemas.js CHANGED
@@ -21,6 +21,7 @@ export { default as _boolean } from './operators/shared/boolean.schema.js';
21
21
  export { default as _date } from './operators/shared/date.schema.js';
22
22
  export { default as _divide } from './operators/shared/divide.schema.js';
23
23
  export { default as _eq } from './operators/shared/eq.schema.js';
24
+ export { default as _error } from './operators/shared/error.schema.js';
24
25
  export { default as _function } from './operators/shared/function.schema.js';
25
26
  export { default as _get } from './operators/shared/get.schema.js';
26
27
  export { default as _gt } from './operators/shared/gt.schema.js';
@@ -65,14 +66,20 @@ export { default as _js } from './operators/client/js.schema.js';
65
66
  export { default as _location } from './operators/client/location.schema.js';
66
67
  export { default as _media } from './operators/client/media.schema.js';
67
68
  export { default as _menu } from './operators/client/menu.schema.js';
69
+ export { default as _path_params } from './operators/client/path_params.schema.js';
68
70
  export { default as _request } from './operators/client/request.schema.js';
69
71
  export { default as _request_details } from './operators/client/request_details.schema.js';
70
72
  export { default as _url_query } from './operators/client/url_query.schema.js';
71
73
  // Server operators
74
+ export { default as _agent } from './operators/server/agent.schema.js';
75
+ export { default as _credential } from './operators/server/credential.schema.js';
72
76
  export { default as _hash } from './operators/server/hash.schema.js';
77
+ export { default as _hmac } from './operators/server/hmac.schema.js';
73
78
  export { default as _item } from './operators/server/item.schema.js';
79
+ export { default as _organization } from './operators/server/organization.schema.js';
74
80
  export { default as _payload } from './operators/server/payload.schema.js';
75
81
  export { default as _secret } from './operators/server/secret.schema.js';
76
82
  export { default as _step } from './operators/server/step.schema.js';
77
83
  // Build operators
84
+ export { default as _authConfig } from './operators/build/authConfig.schema.js';
78
85
  export { default as _env } from './operators/build/env.schema.js';
package/dist/types.js CHANGED
@@ -26,6 +26,7 @@
26
26
  '_date',
27
27
  '_divide',
28
28
  '_eq',
29
+ '_error',
29
30
  '_event',
30
31
  '_event_log',
31
32
  '_function',
@@ -54,6 +55,7 @@
54
55
  '_object',
55
56
  '_operator',
56
57
  '_or',
58
+ '_path_params',
57
59
  '_product',
58
60
  '_random',
59
61
  '_regex',
@@ -73,20 +75,24 @@
73
75
  '_websocket'
74
76
  ],
75
77
  server: [
78
+ '_agent',
76
79
  '_and',
77
80
  '_app',
78
81
  '_args',
79
82
  '_array',
80
83
  '_base64',
81
84
  '_boolean',
85
+ '_credential',
82
86
  '_date',
83
87
  '_divide',
84
88
  '_eq',
89
+ '_error',
85
90
  '_function',
86
91
  '_get',
87
92
  '_gt',
88
93
  '_gte',
89
94
  '_hash',
95
+ '_hmac',
90
96
  '_if',
91
97
  '_if_none',
92
98
  '_intl',
@@ -104,6 +110,7 @@
104
110
  '_object',
105
111
  '_operator',
106
112
  '_or',
113
+ '_organization',
107
114
  '_payload',
108
115
  '_product',
109
116
  '_random',