cliodot 1.2.3 → 1.2.4

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 (135) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +2 -0
  3. package/dist/AuthAppClient.d.ts +1 -0
  4. package/dist/AuthAppClient.d.ts.map +1 -1
  5. package/dist/AuthAppClient.js +199 -1
  6. package/dist/CommercialAppClient.d.ts +50 -9
  7. package/dist/CommercialAppClient.d.ts.map +1 -1
  8. package/dist/CommercialAppClient.js +576 -1
  9. package/dist/ConnectorBuilder.js +104 -1
  10. package/dist/Events.d.ts +2 -0
  11. package/dist/Events.d.ts.map +1 -1
  12. package/dist/Events.js +325 -1
  13. package/dist/Flosync.js +296 -1
  14. package/dist/FlosyncClient.js +429 -1
  15. package/dist/FunctionBuilder.js +65 -1
  16. package/dist/IdentityAppClient.d.ts +1 -0
  17. package/dist/IdentityAppClient.d.ts.map +1 -1
  18. package/dist/IdentityAppClient.js +197 -1
  19. package/dist/MemoryAppClient.d.ts +1 -0
  20. package/dist/MemoryAppClient.d.ts.map +1 -1
  21. package/dist/MemoryAppClient.js +149 -1
  22. package/dist/MemoryClient.js +20 -1
  23. package/dist/OAuthAppClient.d.ts +1 -0
  24. package/dist/OAuthAppClient.d.ts.map +1 -1
  25. package/dist/OAuthAppClient.js +269 -1
  26. package/dist/ProviderServicesClient.d.ts +24 -0
  27. package/dist/ProviderServicesClient.d.ts.map +1 -0
  28. package/dist/ProviderServicesClient.js +158 -0
  29. package/dist/Surface.d.ts +2 -0
  30. package/dist/Surface.d.ts.map +1 -1
  31. package/dist/Surface.js +255 -1
  32. package/dist/ValidatorBuilder.js +24 -1
  33. package/dist/Webhooks.js +61 -1
  34. package/dist/WorkflowBuilder.js +279 -1
  35. package/dist/__tests__/CommercialAppClient.test.d.ts +2 -0
  36. package/dist/__tests__/CommercialAppClient.test.d.ts.map +1 -0
  37. package/dist/__tests__/CommercialAppClient.test.js +217 -0
  38. package/dist/__tests__/Events.test.js +191 -1
  39. package/dist/__tests__/IdentityAppClient.test.js +232 -1
  40. package/dist/__tests__/OAuthAppClient.test.js +300 -1
  41. package/dist/__tests__/ProviderServicesClient.test.d.ts +2 -0
  42. package/dist/__tests__/ProviderServicesClient.test.d.ts.map +1 -0
  43. package/dist/__tests__/ProviderServicesClient.test.js +131 -0
  44. package/dist/__tests__/Surface.test.js +150 -1
  45. package/dist/__tests__/errors.test.js +54 -1
  46. package/dist/__tests__/function.test.js +58 -1
  47. package/dist/__tests__/helpers.d.ts +5 -0
  48. package/dist/__tests__/helpers.d.ts.map +1 -0
  49. package/dist/__tests__/helpers.js +10 -0
  50. package/dist/__tests__/localhost-lookup.test.d.ts +2 -0
  51. package/dist/__tests__/localhost-lookup.test.d.ts.map +1 -0
  52. package/dist/__tests__/localhost-lookup.test.js +26 -0
  53. package/dist/__tests__/parse-api-error.test.js +26 -1
  54. package/dist/__tests__/runner.test.js +156 -1
  55. package/dist/connectors/builtin.js +354 -1
  56. package/dist/connectors/registry.js +300 -1
  57. package/dist/decorators/build.js +105 -1
  58. package/dist/decorators/connector.js +56 -1
  59. package/dist/decorators/index.js +34 -1
  60. package/dist/decorators/metadata.js +338 -1
  61. package/dist/decorators/steps.js +220 -1
  62. package/dist/decorators/workflow.js +52 -1
  63. package/dist/errors.js +76 -1
  64. package/dist/http/__tests__/cliodot-request.environment.test.d.ts +2 -0
  65. package/dist/http/__tests__/cliodot-request.environment.test.d.ts.map +1 -0
  66. package/dist/http/__tests__/cliodot-request.environment.test.js +37 -0
  67. package/dist/http/__tests__/cliodot-result.test.d.ts +2 -0
  68. package/dist/http/__tests__/cliodot-result.test.d.ts.map +1 -0
  69. package/dist/http/__tests__/cliodot-result.test.js +57 -0
  70. package/dist/http/__tests__/events-instance-id.test.d.ts +2 -0
  71. package/dist/http/__tests__/events-instance-id.test.d.ts.map +1 -0
  72. package/dist/http/__tests__/events-instance-id.test.js +45 -0
  73. package/dist/http/cliodot-request.d.ts +35 -0
  74. package/dist/http/cliodot-request.d.ts.map +1 -0
  75. package/dist/http/cliodot-request.js +105 -0
  76. package/dist/http/cliodot-result.d.ts +40 -0
  77. package/dist/http/cliodot-result.d.ts.map +1 -0
  78. package/dist/http/cliodot-result.js +139 -0
  79. package/dist/http/create-client.d.ts +3 -0
  80. package/dist/http/create-client.d.ts.map +1 -0
  81. package/dist/http/create-client.js +14 -0
  82. package/dist/http/events-instance-id.d.ts +11 -0
  83. package/dist/http/events-instance-id.d.ts.map +1 -0
  84. package/dist/http/events-instance-id.js +86 -0
  85. package/dist/http/localhost-lookup.d.ts +12 -0
  86. package/dist/http/localhost-lookup.d.ts.map +1 -0
  87. package/dist/http/localhost-lookup.js +67 -0
  88. package/dist/http/parse-api-error.js +56 -1
  89. package/dist/http/sanitize-execution-headers.js +79 -1
  90. package/dist/identity-offline-verify.js +174 -1
  91. package/dist/identity-token-cache.js +51 -1
  92. package/dist/index.d.ts +1 -1
  93. package/dist/index.d.ts.map +1 -1
  94. package/dist/index.js +108 -1
  95. package/dist/runner/ProcessorEngine.js +1311 -1
  96. package/dist/runner/connector.executor.js +1786 -1
  97. package/dist/runner/utilities/math.executor.js +153 -1
  98. package/dist/runner/utilities/random.executor.js +151 -1
  99. package/dist/runner/utilities/string.executor.js +825 -1
  100. package/dist/template.js +127 -1
  101. package/dist/transformers/StepsToNodesTransformer.js +214 -1
  102. package/dist/transformers/WorkflowTransformer.js +189 -1
  103. package/dist/types/auth-app.api.d.ts +2 -0
  104. package/dist/types/auth-app.api.d.ts.map +1 -1
  105. package/dist/types/auth-app.api.js +2 -1
  106. package/dist/types/builtin.js +2 -1
  107. package/dist/types/client.api.js +2 -1
  108. package/dist/types/commercial-app.api.d.ts +407 -11
  109. package/dist/types/commercial-app.api.d.ts.map +1 -1
  110. package/dist/types/commercial-app.api.js +2 -1
  111. package/dist/types/connector.js +2 -1
  112. package/dist/types/context.js +2 -1
  113. package/dist/types/event-app.api.d.ts +8 -0
  114. package/dist/types/event-app.api.d.ts.map +1 -1
  115. package/dist/types/event-app.api.js +2 -1
  116. package/dist/types/function.js +2 -1
  117. package/dist/types/identity-app.api.d.ts +2 -0
  118. package/dist/types/identity-app.api.d.ts.map +1 -1
  119. package/dist/types/identity-app.api.js +2 -1
  120. package/dist/types/index.js +23 -1
  121. package/dist/types/memory-app.api.d.ts +2 -0
  122. package/dist/types/memory-app.api.d.ts.map +1 -1
  123. package/dist/types/memory-app.api.js +2 -1
  124. package/dist/types/oauth-app.api.d.ts +2 -0
  125. package/dist/types/oauth-app.api.d.ts.map +1 -1
  126. package/dist/types/oauth-app.api.js +105 -1
  127. package/dist/types/provider-services.api.d.ts +98 -0
  128. package/dist/types/provider-services.api.d.ts.map +1 -0
  129. package/dist/types/provider-services.api.js +2 -0
  130. package/dist/types/validator.js +2 -1
  131. package/dist/types/webhook-app.api.js +2 -1
  132. package/dist/types/workflow.js +33 -1
  133. package/dist/validators/validators.js +478 -1
  134. package/dist/variable.js +37 -1
  135. package/package.json +3 -2
@@ -1 +1,338 @@
1
- 'use strict';const _0x1728ca=_0x38bb;(function(_0x3d1a01,_0x4fbf45){const _0x282db3=_0x38bb,_0x400047=_0x3d1a01();while(!![]){try{const _0x4ba1a6=parseInt(_0x282db3(0x148))/0x1*(parseInt(_0x282db3(0x156))/0x2)+parseInt(_0x282db3(0x116))/0x3+parseInt(_0x282db3(0x15c))/0x4*(parseInt(_0x282db3(0x115))/0x5)+parseInt(_0x282db3(0x12b))/0x6*(-parseInt(_0x282db3(0x149))/0x7)+-parseInt(_0x282db3(0x12c))/0x8+parseInt(_0x282db3(0x139))/0x9*(parseInt(_0x282db3(0x108))/0xa)+-parseInt(_0x282db3(0x144))/0xb;if(_0x4ba1a6===_0x4fbf45)break;else _0x400047['push'](_0x400047['shift']());}catch(_0x261d4f){_0x400047['push'](_0x400047['shift']());}}}(_0x5a62,0x4b2d3));Object[_0x1728ca(0x133)](exports,_0x1728ca(0x146),{'value':!![]}),exports[_0x1728ca(0x138)]=exports[_0x1728ca(0x12d)]=void 0x0,exports['getOrCreateWorkflowMeta']=getOrCreateWorkflowMeta,exports[_0x1728ca(0x111)]=getOrCreateConnectorMeta,exports['sanitizeStepId']=sanitizeStepId,exports[_0x1728ca(0x117)]=inferWorkflowIdFromClassName,exports['withThenElse']=withThenElse,exports[_0x1728ca(0x105)]=makeConnectorStep,exports['makeDbStep']=makeDbStep,exports[_0x1728ca(0x13c)]=makeValidatorStep,exports[_0x1728ca(0x11d)]=makeConditionStep,exports[_0x1728ca(0x106)]=makeTransformStep,exports['makeResponderStep']=makeResponderStep,exports[_0x1728ca(0x12a)]=makeAuthStep,exports[_0x1728ca(0x15b)]=makeEncryptStep,exports[_0x1728ca(0x13f)]=makeCodeStep,exports['makeCallStep']=makeCallStep,exports[_0x1728ca(0x11a)]=makeCallWorkflowStep,exports['makeLoopStep']=makeLoopStep,exports['makeLogStep']=makeLogStep,exports[_0x1728ca(0x157)]=makeDelayStep,exports[_0x1728ca(0x151)]=makeNotifyStep,exports[_0x1728ca(0x15f)]=makeCustomStep;const workflow_1=require('../types/workflow');exports[_0x1728ca(0x12d)]=Symbol[_0x1728ca(0x150)](_0x1728ca(0x14e)),exports['CONNECTOR_META_KEY']=Symbol[_0x1728ca(0x150)](_0x1728ca(0x113));function getOrCreateWorkflowMeta(_0x5e7bff){const _0x12de93=_0x1728ca;return!_0x5e7bff[exports[_0x12de93(0x12d)]]&&(_0x5e7bff[exports['WORKFLOW_META_KEY']]={'steps':[]}),_0x5e7bff[exports[_0x12de93(0x12d)]];}function getOrCreateConnectorMeta(_0x587d3b){const _0x185956=_0x1728ca;return!_0x587d3b[exports[_0x185956(0x138)]]&&(_0x587d3b[exports[_0x185956(0x138)]]={'actions':[]}),_0x587d3b[exports['CONNECTOR_META_KEY']];}function sanitizeStepId(_0xbb43d6){const _0x2613a9=_0x1728ca;return _0xbb43d6[_0x2613a9(0x140)](/[.\-\s]/g,'_');}function inferWorkflowIdFromClassName(_0x3f9510){const _0x2bf62b=_0x1728ca,_0x752cfa=_0x3f9510[_0x2bf62b(0x140)](/Workflow$/i,'')['replace'](/_/g,'\x20')[_0x2bf62b(0x15d)](),_0x2b9039=_0x752cfa[_0x2bf62b(0x140)](/([a-z0-9])([A-Z])/g,_0x2bf62b(0x142))[_0x2bf62b(0x140)](/\s+/g,'-')[_0x2bf62b(0x160)]();return sanitizeStepId(_0x2b9039);}function withThenElse(_0x4614d9,_0x4dd987,_0x40da81){const _0x1244b9=_0x1728ca,_0x38cdc5=_0x4dd987?sanitizeStepId(_0x4dd987):undefined,_0x10656a=_0x40da81?sanitizeStepId(_0x40da81):undefined;if(_0x38cdc5)_0x4614d9[_0x1244b9(0x110)]=_0x38cdc5;if(_0x10656a)_0x4614d9['else']=_0x10656a;return _0x4614d9;}const CONNECTOR_STEP_RESERVED=new Set([_0x1728ca(0x132),_0x1728ca(0x14d),_0x1728ca(0x12e),_0x1728ca(0x15a),_0x1728ca(0x119),_0x1728ca(0x134),_0x1728ca(0x131),_0x1728ca(0x121),_0x1728ca(0x104),_0x1728ca(0x11f),_0x1728ca(0x100)]);function makeConnectorStep(_0x3549a0,_0xf27eec,_0x360243,_0x17408a={}){const _0x4c582b=_0x1728ca,_0x44f3b2=_0x17408a,_0x3b074f=_0x44f3b2[_0x4c582b(0x132)],_0x1414dd=_0x44f3b2[_0x4c582b(0x14d)],_0x2f7137=_0x44f3b2[_0x4c582b(0x12e)],_0x4ce88e=_0x44f3b2[_0x4c582b(0x15a)],_0x58ef4f=_0x44f3b2['vars'],_0x53a3a6=_0x44f3b2['timeout'],_0x3f16cb=_0x44f3b2[_0x4c582b(0x131)],_0x50b94b=_0x44f3b2[_0x4c582b(0x121)],_0x4d4432=_0x44f3b2[_0x4c582b(0x104)],_0x5d1dcb=_0x44f3b2[_0x4c582b(0x11f)],_0x180a78=_0x44f3b2[_0x4c582b(0x100)],_0x3390d4={};for(const _0xc12f24 of Object[_0x4c582b(0x135)](_0x44f3b2)){if(!CONNECTOR_STEP_RESERVED[_0x4c582b(0x118)](_0xc12f24))_0x3390d4[_0xc12f24]=_0x44f3b2[_0xc12f24];}const _0x5de618=_0x3b074f!==undefined?_0x3b074f:Object[_0x4c582b(0x135)](_0x3390d4)[_0x4c582b(0x122)]>0x0?_0x3390d4:undefined,_0x3dfeb9={'id':_0x3549a0,'type':workflow_1[_0x4c582b(0x154)][_0x4c582b(0x130)],'connector_id':_0xf27eec,'action':_0x360243};if(_0x1414dd!==undefined)_0x3dfeb9['params']=_0x1414dd;if(_0x2f7137!==undefined)_0x3dfeb9[_0x4c582b(0x12e)]=_0x2f7137;if(_0x4ce88e!==undefined)_0x3dfeb9[_0x4c582b(0x15a)]=_0x4ce88e;if(_0x58ef4f!==undefined)_0x3dfeb9[_0x4c582b(0x119)]=_0x58ef4f;if(_0x53a3a6!==undefined)_0x3dfeb9['timeout']=_0x53a3a6;if(_0x3f16cb!==undefined)_0x3dfeb9['files']=_0x3f16cb;if(_0x50b94b!==undefined)_0x3dfeb9[_0x4c582b(0x121)]=_0x50b94b;if(_0x4d4432!==undefined)_0x3dfeb9[_0x4c582b(0x104)]=_0x4d4432;if(_0x5d1dcb!==undefined)_0x3dfeb9[_0x4c582b(0x11f)]=_0x5d1dcb;if(_0x180a78!==undefined&&_0x180a78!=='')_0x3dfeb9[_0x4c582b(0x100)]=String(_0x180a78);if(_0x5de618!==undefined)_0x3dfeb9[_0x4c582b(0x132)]=_0x5de618;return _0x3dfeb9;}function makeDbStep(_0x5ad305,_0x1d48d8,_0x3791e1,_0x53c635){const _0x1e2a96=_0x1728ca,_0x1ebac2=_0x1d48d8==='mongodb'?_0x1e2a96(0x10e):_0x1e2a96(0x129),{connector_version:_0x51a613,connection_id:_0x54f17d,database:_0x43200d,..._0x1b0aad}=_0x53c635,_0x4e0020={'id':_0x5ad305,'type':workflow_1[_0x1e2a96(0x154)]['DB'],'connector_id':_0x1ebac2,'action':_0x3791e1,'body':_0x1b0aad,'params':_0x1b0aad[_0x1e2a96(0x14d)]};if(_0x54f17d)_0x4e0020[_0x1e2a96(0x104)]=_0x54f17d;if(_0x43200d)_0x4e0020[_0x1e2a96(0x11f)]=_0x43200d;return _0x51a613!=null&&String(_0x51a613)['trim']()!==''&&(_0x4e0020[_0x1e2a96(0x100)]=String(_0x51a613)['trim']()),_0x4e0020;}function makeValidatorStep(_0x36c82a,_0x3ec350){const _0x49fd04=_0x1728ca;let _0x4c08a1;return Array[_0x49fd04(0x120)](_0x3ec350)?_0x4c08a1=_0x3ec350:_0x4c08a1=[{'fields':Object['values'](_0x3ec350),'validators':Object[_0x49fd04(0x10b)](_0x3ec350)[_0x49fd04(0x114)](()=>({'name':_0x49fd04(0xfe),'config':{}}))}],{'id':_0x36c82a,'type':workflow_1[_0x49fd04(0x154)][_0x49fd04(0x103)],'validationGroups':_0x4c08a1['map'](_0x2af5fd=>({'fields':_0x2af5fd['fields'],'validators':_0x2af5fd[_0x49fd04(0x13b)][_0x49fd04(0x114)](_0x15c672=>({'name':_0x15c672[_0x49fd04(0x10d)],'config':_0x15c672[_0x49fd04(0x13e)]??{}}))}))};}function makeConditionStep(_0x18792e,_0x28bdd7){const _0x27164f=_0x1728ca;return{'id':_0x18792e,'type':workflow_1[_0x27164f(0x154)][_0x27164f(0x14c)],'mode':'jexl','if':_0x28bdd7};}function makeTransformStep(_0x450789,_0x596351){const _0x46c682=_0x1728ca,_0x4cbc71=!Array[_0x46c682(0x120)](_0x596351);return{'id':_0x450789,'type':workflow_1[_0x46c682(0x154)][_0x46c682(0xff)],..._0x4cbc71?{'mapping':_0x596351}:{'operations':_0x596351}};}function makeResponderStep(_0x373cb0,_0x46f7b8,_0x56ba7f){const _0x5cbbc7=_0x1728ca;return{'id':_0x373cb0,'type':workflow_1[_0x5cbbc7(0x154)][_0x5cbbc7(0x145)],'responder':_0x46f7b8,'config':{'statusCode':_0x56ba7f[_0x5cbbc7(0x136)]??0xc8,'headers':_0x56ba7f[_0x5cbbc7(0x15a)],'body':_0x56ba7f['body'],'contentType':_0x56ba7f[_0x5cbbc7(0x147)],'location':_0x56ba7f[_0x5cbbc7(0x11c)]}};}function makeAuthStep(_0x1e9595,_0x1b0886,_0x4a68ed,_0x3ce353){const _0x166aae=_0x1728ca,{connector_version:_0x2bfbe6,..._0x16a23e}=_0x3ce353,_0x401080={'id':_0x1e9595,'type':workflow_1[_0x166aae(0x154)][_0x166aae(0xfc)],'connector_id':_0x1b0886,'action':_0x4a68ed,'params':_0x16a23e,'body':_0x16a23e};return _0x2bfbe6!=null&&String(_0x2bfbe6)['trim']()!==''&&(_0x401080['connector_version']=String(_0x2bfbe6)['trim']()),_0x401080;}function makeEncryptStep(_0x406e12,_0x1144ff,_0x4e285d,_0x1130fc){const _0x2b63ca=_0x1728ca,{connector_version:_0x5d2007,..._0x323002}=_0x1130fc,_0x398dd3={'id':_0x406e12,'type':workflow_1[_0x2b63ca(0x154)][_0x2b63ca(0x143)],'connector_id':_0x1144ff,'action':_0x4e285d,'params':_0x323002,'body':_0x323002};return _0x5d2007!=null&&String(_0x5d2007)[_0x2b63ca(0x15d)]()!==''&&(_0x398dd3['connector_version']=String(_0x5d2007)[_0x2b63ca(0x15d)]()),_0x398dd3;}function makeCodeStep(_0x52a828,_0x55ffdf,_0x536216,_0x3b2bf3,_0x2c6b7d){const _0x366902=_0x1728ca,_0x285d68=!_0x536216&&!_0x55ffdf[_0x366902(0x101)](_0x366902(0x153))&&!_0x55ffdf['includes']('{{');return{'id':_0x52a828,'type':workflow_1[_0x366902(0x154)][_0x366902(0x123)],..._0x285d68?{'module_ref':_0x55ffdf,'fn':_0x536216||_0x366902(0x13a),'args':_0x3b2bf3||{}}:{'source':_0x55ffdf,'args':_0x3b2bf3||{}},'input_from':_0x2c6b7d?.['input_from'],'timeout':_0x2c6b7d?.[_0x366902(0x134)]??0x3e8};}function makeCallStep(_0x1d591e,_0x1f346d,_0x433d98){return{'id':_0x1d591e,'type':workflow_1['WorkflowStepType']['FUNCTION'],'function_id':_0x1f346d,'function_slug':_0x1f346d,'args':_0x433d98};}function makeCallWorkflowStep(_0x408f8e,_0x3de3b9,_0x450637,_0x5afd3f){const _0x38a23c=_0x1728ca,_0x466595=_0x450637??{},_0x348d55=_0x466595[_0x38a23c(0x128)]??_0x466595['triggerId'],_0x1f3649=_0x466595['environment'],_0x50d5f1=_0x466595[_0x38a23c(0x10f)]??_0x466595[_0x38a23c(0xfd)],_0x3f4474=_0x466595[_0x38a23c(0x14f)]===!![],_0x506bdc=_0x466595[_0x38a23c(0x11b)]??_0x466595[_0x38a23c(0x15e)],_0x4baf67={..._0x466595};for(const _0x2b8f58 of['trigger_id',_0x38a23c(0x109),'environment',_0x38a23c(0x10f),_0x38a23c(0xfd),_0x38a23c(0x14f),'child_workflow_name','workflow_name',_0x38a23c(0x159),_0x38a23c(0x107),'webhook_method',_0x38a23c(0x125)]){delete _0x4baf67[_0x2b8f58];}const _0x1fe9d4=_0x466595[_0x38a23c(0x159)]||_0x466595[_0x38a23c(0x107)]?{'path':String(_0x466595[_0x38a23c(0x159)]??_0x466595[_0x38a23c(0x107)])[_0x38a23c(0x15d)](),'method':String(_0x466595[_0x38a23c(0x112)]??_0x466595[_0x38a23c(0x125)]??'POST')['toUpperCase']()}:undefined,_0x4c13e1=_0x5afd3f?.[_0x38a23c(0x11e)]?{'path':_0x5afd3f['path'][_0x38a23c(0x15d)](),'method':(_0x5afd3f['method']??_0x38a23c(0x152))[_0x38a23c(0x127)]()}:_0x1fe9d4,_0x118d09={'id':_0x408f8e,'type':workflow_1[_0x38a23c(0x154)][_0x38a23c(0x102)],'payload':Object[_0x38a23c(0x135)](_0x4baf67)[_0x38a23c(0x122)]?_0x4baf67:{}};if(_0x3de3b9)_0x118d09[_0x38a23c(0x13d)]=_0x3de3b9;_0x4c13e1?.[_0x38a23c(0x11e)]&&(_0x118d09[_0x38a23c(0x159)]=_0x4c13e1[_0x38a23c(0x11e)],_0x118d09[_0x38a23c(0x112)]=_0x4c13e1['method']);if(!_0x118d09[_0x38a23c(0x13d)]&&!_0x118d09[_0x38a23c(0x159)])throw new Error(_0x38a23c(0x14b));if(_0x348d55)_0x118d09[_0x38a23c(0x128)]=_0x348d55;if(_0x1f3649)_0x118d09[_0x38a23c(0x141)]=_0x1f3649;if(_0x50d5f1&&Object[_0x38a23c(0x135)](_0x50d5f1)[_0x38a23c(0x122)]>0x0)_0x118d09[_0x38a23c(0xfd)]=_0x50d5f1;if(_0x3f4474)_0x118d09[_0x38a23c(0x14f)]=!![];if(_0x506bdc)_0x118d09[_0x38a23c(0x11b)]=_0x506bdc;return _0x118d09;}function _0x38bb(_0x15df7e,_0x2a0a17){_0x15df7e=_0x15df7e-0xfc;const _0x5a6228=_0x5a62();let _0x38bb74=_0x5a6228[_0x15df7e];if(_0x38bb['vdBTFI']===undefined){var _0xcb864e=function(_0x1956c2){const _0x367f3a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5e7bff='',_0x587d3b='';for(let _0xbb43d6=0x0,_0x3f9510,_0x752cfa,_0x2b9039=0x0;_0x752cfa=_0x1956c2['charAt'](_0x2b9039++);~_0x752cfa&&(_0x3f9510=_0xbb43d6%0x4?_0x3f9510*0x40+_0x752cfa:_0x752cfa,_0xbb43d6++%0x4)?_0x5e7bff+=String['fromCharCode'](0xff&_0x3f9510>>(-0x2*_0xbb43d6&0x6)):0x0){_0x752cfa=_0x367f3a['indexOf'](_0x752cfa);}for(let _0x4614d9=0x0,_0x4dd987=_0x5e7bff['length'];_0x4614d9<_0x4dd987;_0x4614d9++){_0x587d3b+='%'+('00'+_0x5e7bff['charCodeAt'](_0x4614d9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x587d3b);};_0x38bb['DBKMQS']=_0xcb864e,_0x38bb['DzVsua']={},_0x38bb['vdBTFI']=!![];}const _0x2bee05=_0x5a6228[0x0],_0x2e423c=_0x15df7e+_0x2bee05,_0x40776b=_0x38bb['DzVsua'][_0x2e423c];return!_0x40776b?(_0x38bb74=_0x38bb['DBKMQS'](_0x38bb74),_0x38bb['DzVsua'][_0x2e423c]=_0x38bb74):_0x38bb74=_0x40776b,_0x38bb74;}function _0x5a62(){const _0x1cab0b=['DhjPz2DLCKLK','Aw5KzxHFyxm','zw50CMLLCW','Bwf4x2L0zxjHDgLVBNm','BMfTzq','Bw9Uz29KyI5ZExn0zw0','zxHLy3v0Aw9UsgvHzgvYCW','DgHLBG','z2v0t3jdCMvHDgvdB25Uzwn0B3jnzxrH','D2vIAg9VA19TzxrOB2q','y2XPB2rVDdPJB25Uzwn0B3jnzxrH','BwfW','nw9Tu0H5rW','mJi1mZnPzefTvhu','Aw5MzxjxB3jRzMXVD0LKrNjVBunSyxnZtMfTzq','AgfZ','DMfYCW','BwfRzunHBgXxB3jRzMXVD1n0zxa','y2HPBgrFD29YA2zSB3DFBMfTzq','Bg9JyxrPB24','BwfRzunVBMrPDgLVBLn0zxa','Cgf0Aa','zgf0ywjHC2u','AxnbCNjHEq','Aw5ZDgfSBgf0Aw9Ux2LK','BgvUz3rO','q09erq','q1vtve9n','D2vIAg9VA01LDgHVza','te9h','Dg9vChbLCKnHC2u','DhjPz2DLCL9Pza','BxLZCwWUC3LZDgvT','BwfRzuf1DgHtDgvW','ndmYnJKWufrPD3Hw','mJa2ntCXmLP5r1Hlza','v09ss0zmt1DFtuvuqv9lrvK','Cgf0AfbHCMfTCW','te9pua','qvbjx0nbteW','zMLSzxm','yM9KEq','zgvMAw5LuhjVCgvYDhK','DgLTzw91Da','A2v5CW','C3rHDhvZq29Kzq','tK9usuzz','q09otKvdve9sx01fvefFs0vz','ntrfquXIA1a','zxHLy3v0zq','DMfSAwrHDg9YCW','BwfRzvzHBgLKyxrVCLn0zxa','D29YA2zSB3DFAwq','y29UzMLN','BwfRzunVzgvtDgvW','CMvWBgfJzq','zw52AxjVBM1LBNq','jdeTjdi','ru5duLLqveLptG','mJiXnZy0nfjRzefVvG','uKvtue9orevs','x19LC01VzhvSzq','y29UDgvUDfr5Cgu','mufltMXHCq','mtrfq3rfr1y','AxrLBq','q2fSBfDVCMTMBg93ihjLCxvPCMvZigeGD29YA2zSB3CGz3jVDxaGAwqSig9YigeGD2vIAg9VAYbWyxrOlcbVCIbIB3rOigLUihbHEwXVywq','q09oreLusu9o','CgfYyw1Z','y2XPB2rVDdP3B3jRzMXVD01LDge','CMvTB3rL','zM9Y','BwfRzu5VDgLMEvn0zxa','ue9tva','CMv0DxjU','v29YA2zSB3DtDgvWvhLWzq','Aw5KzxG','nJqXnZK4suXXrxvO','BwfRzurLBgf5u3rLCa','revmqvK','D2vIAg9VA19WyxrO','AgvHzgvYCW','BwfRzuvUy3j5ChrtDgvW','mtq2nJmZmK9btK9lvG','DhjPBq','D29YA2zSB3DFBMfTzq','BwfRzun1C3rVBvn0zxa','Dg9mB3DLCKnHC2u','qvvusevoveLdqvrjt04','zxHLy3v0Aw9Ux2HLywrLCNm','CMvXDwLYzwq','vfjbtLngt1jn','y29UBMvJDg9Yx3zLCNnPB24','Aw5JBhvKzxm','q0fmtf9xt1jlrKXpvW','vKfmsurbve9s','y29UBMvJDgLVBL9Pza','BwfRzunVBM5Ly3rVCLn0zxa','BwfRzvrYyw5ZzM9YBvn0zxa','D2vIAg9VA1bHDgG','mZyXnJmWvvDjCxzz'];_0x5a62=function(){return _0x1cab0b;};return _0x5a62();}function makeLoopStep(_0x180ef7,_0x3baee0,_0x43f2ac,_0x1f177b){const _0x342c40=_0x1728ca;return{'id':_0x180ef7,'type':workflow_1['WorkflowStepType'][_0x342c40(0x12f)],'over':_0x3baee0,'as':_0x1f177b?.['as']??_0x342c40(0x14a),'index_as':_0x1f177b?.[_0x342c40(0x10a)]??_0x342c40(0x155),'steps':_0x43f2ac,'max_iterations':_0x1f177b?.[_0x342c40(0x10c)]??0x3e8};}function makeLogStep(_0x5bb780,_0x57460c){const _0x30951a=_0x1728ca;return{'id':_0x5bb780,'type':workflow_1[_0x30951a(0x154)][_0x30951a(0x126)],'message':_0x57460c};}function makeDelayStep(_0x6e8ebf,_0x395b83){const _0x4a91ed=_0x1728ca;return{'id':_0x6e8ebf,'type':workflow_1[_0x4a91ed(0x154)][_0x4a91ed(0x158)],'ms':_0x395b83};}function makeNotifyStep(_0x209ea8,_0x410e57,_0x392fc3){const _0x2bb7df=_0x1728ca;return{'id':_0x209ea8,'type':workflow_1['WorkflowStepType'][_0x2bb7df(0x137)],'channel':_0x410e57,'message':_0x392fc3};}function makeCustomStep(_0x2f7bb5){const _0x1da40f=_0x1728ca;return{'id':_0x2f7bb5,'type':workflow_1[_0x1da40f(0x154)][_0x1da40f(0x124)]};}
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CONNECTOR_META_KEY = exports.WORKFLOW_META_KEY = void 0;
4
+ exports.getOrCreateWorkflowMeta = getOrCreateWorkflowMeta;
5
+ exports.getOrCreateConnectorMeta = getOrCreateConnectorMeta;
6
+ exports.sanitizeStepId = sanitizeStepId;
7
+ exports.inferWorkflowIdFromClassName = inferWorkflowIdFromClassName;
8
+ exports.withThenElse = withThenElse;
9
+ exports.makeConnectorStep = makeConnectorStep;
10
+ exports.makeDbStep = makeDbStep;
11
+ exports.makeValidatorStep = makeValidatorStep;
12
+ exports.makeConditionStep = makeConditionStep;
13
+ exports.makeTransformStep = makeTransformStep;
14
+ exports.makeResponderStep = makeResponderStep;
15
+ exports.makeAuthStep = makeAuthStep;
16
+ exports.makeEncryptStep = makeEncryptStep;
17
+ exports.makeCodeStep = makeCodeStep;
18
+ exports.makeCallStep = makeCallStep;
19
+ exports.makeCallWorkflowStep = makeCallWorkflowStep;
20
+ exports.makeLoopStep = makeLoopStep;
21
+ exports.makeLogStep = makeLogStep;
22
+ exports.makeDelayStep = makeDelayStep;
23
+ exports.makeNotifyStep = makeNotifyStep;
24
+ exports.makeCustomStep = makeCustomStep;
25
+ const workflow_1 = require("../types/workflow");
26
+ exports.WORKFLOW_META_KEY = Symbol.for("cliodot:workflowMeta");
27
+ exports.CONNECTOR_META_KEY = Symbol.for("cliodot:connectorMeta");
28
+ function getOrCreateWorkflowMeta(ctor) {
29
+ if (!ctor[exports.WORKFLOW_META_KEY]) {
30
+ ctor[exports.WORKFLOW_META_KEY] = { steps: [] };
31
+ }
32
+ return ctor[exports.WORKFLOW_META_KEY];
33
+ }
34
+ function getOrCreateConnectorMeta(ctor) {
35
+ if (!ctor[exports.CONNECTOR_META_KEY]) {
36
+ ctor[exports.CONNECTOR_META_KEY] = { actions: [] };
37
+ }
38
+ return ctor[exports.CONNECTOR_META_KEY];
39
+ }
40
+ function sanitizeStepId(id) {
41
+ return id.replace(/[.\-\s]/g, "_");
42
+ }
43
+ function inferWorkflowIdFromClassName(className) {
44
+ const raw = className.replace(/Workflow$/i, "").replace(/_/g, " ").trim();
45
+ const kebab = raw
46
+ .replace(/([a-z0-9])([A-Z])/g, "$1-$2")
47
+ .replace(/\s+/g, "-")
48
+ .toLowerCase();
49
+ return sanitizeStepId(kebab);
50
+ }
51
+ function withThenElse(step, thenId, elseId) {
52
+ const then = thenId ? sanitizeStepId(thenId) : undefined;
53
+ const elseStep = elseId ? sanitizeStepId(elseId) : undefined;
54
+ if (then)
55
+ step.then = then;
56
+ if (elseStep)
57
+ step.else = elseStep;
58
+ return step;
59
+ }
60
+ const CONNECTOR_STEP_RESERVED = new Set([
61
+ "body",
62
+ "params",
63
+ "pathParams",
64
+ "headers",
65
+ "vars",
66
+ "timeout",
67
+ "files",
68
+ "installation_id",
69
+ "connection_id",
70
+ "database",
71
+ "connector_version",
72
+ ]);
73
+ function makeConnectorStep(id, connectorId, action, config = {}) {
74
+ const c = config;
75
+ const explicitBody = c.body;
76
+ const params = c.params;
77
+ const pathParams = c.pathParams;
78
+ const headers = c.headers;
79
+ const vars = c.vars;
80
+ const timeout = c.timeout;
81
+ const files = c.files;
82
+ const installation_id = c.installation_id;
83
+ const connection_id = c.connection_id;
84
+ const database = c.database;
85
+ const connector_version = c.connector_version;
86
+ const rest = {};
87
+ for (const k of Object.keys(c)) {
88
+ if (!CONNECTOR_STEP_RESERVED.has(k))
89
+ rest[k] = c[k];
90
+ }
91
+ const body = explicitBody !== undefined
92
+ ? explicitBody
93
+ : Object.keys(rest).length > 0
94
+ ? rest
95
+ : undefined;
96
+ const step = {
97
+ id,
98
+ type: workflow_1.WorkflowStepType.API_CALL,
99
+ connector_id: connectorId,
100
+ action,
101
+ };
102
+ if (params !== undefined)
103
+ step.params = params;
104
+ if (pathParams !== undefined)
105
+ step.pathParams = pathParams;
106
+ if (headers !== undefined)
107
+ step.headers = headers;
108
+ if (vars !== undefined)
109
+ step.vars = vars;
110
+ if (timeout !== undefined)
111
+ step.timeout = timeout;
112
+ if (files !== undefined)
113
+ step.files = files;
114
+ if (installation_id !== undefined)
115
+ step.installation_id = installation_id;
116
+ if (connection_id !== undefined)
117
+ step.connection_id = connection_id;
118
+ if (database !== undefined)
119
+ step.database = database;
120
+ if (connector_version !== undefined && connector_version !== "")
121
+ step.connector_version = String(connector_version);
122
+ if (body !== undefined)
123
+ step.body = body;
124
+ return step;
125
+ }
126
+ function makeDbStep(id, engine, action, config) {
127
+ const connectorId = engine === "mongodb" ? "mongodb.system" : "mysql.system";
128
+ const { connector_version: cvDb, connection_id, database, ...bodyPayload } = config;
129
+ const step = {
130
+ id,
131
+ type: workflow_1.WorkflowStepType.DB,
132
+ connector_id: connectorId,
133
+ action,
134
+ body: bodyPayload,
135
+ params: bodyPayload.params,
136
+ };
137
+ if (connection_id)
138
+ step.connection_id = connection_id;
139
+ if (database)
140
+ step.database = database;
141
+ if (cvDb != null && String(cvDb).trim() !== "") {
142
+ step.connector_version = String(cvDb).trim();
143
+ }
144
+ return step;
145
+ }
146
+ function makeValidatorStep(id, fieldsOrGroups) {
147
+ let validationGroups;
148
+ if (Array.isArray(fieldsOrGroups)) {
149
+ validationGroups = fieldsOrGroups;
150
+ }
151
+ else {
152
+ validationGroups = [
153
+ {
154
+ fields: Object.values(fieldsOrGroups),
155
+ validators: Object.entries(fieldsOrGroups).map(() => ({ name: "required", config: {} })),
156
+ },
157
+ ];
158
+ }
159
+ return {
160
+ id,
161
+ type: workflow_1.WorkflowStepType.VALIDATOR,
162
+ validationGroups: validationGroups.map((g) => ({
163
+ fields: g.fields,
164
+ validators: g.validators.map((v) => ({
165
+ name: v.name,
166
+ config: v.config ?? {},
167
+ })),
168
+ })),
169
+ };
170
+ }
171
+ function makeConditionStep(id, expr) {
172
+ return {
173
+ id,
174
+ type: workflow_1.WorkflowStepType.CONDITION,
175
+ mode: "jexl",
176
+ if: expr,
177
+ };
178
+ }
179
+ function makeTransformStep(id, mappingOrOperations) {
180
+ const isMapping = !Array.isArray(mappingOrOperations);
181
+ return {
182
+ id,
183
+ type: workflow_1.WorkflowStepType.TRANSFORM,
184
+ ...(isMapping
185
+ ? { mapping: mappingOrOperations }
186
+ : { operations: mappingOrOperations }),
187
+ };
188
+ }
189
+ function makeResponderStep(id, type, config) {
190
+ return {
191
+ id,
192
+ type: workflow_1.WorkflowStepType.RESPONDER,
193
+ responder: type,
194
+ config: {
195
+ statusCode: config.statusCode ?? 200,
196
+ headers: config.headers,
197
+ body: config.body,
198
+ contentType: config.contentType,
199
+ location: config.location,
200
+ },
201
+ };
202
+ }
203
+ function makeAuthStep(id, connectorId, action, config) {
204
+ const { connector_version: cvAuth, ...payload } = config;
205
+ const step = {
206
+ id,
207
+ type: workflow_1.WorkflowStepType.AUTHENTICATION,
208
+ connector_id: connectorId,
209
+ action,
210
+ params: payload,
211
+ body: payload,
212
+ };
213
+ if (cvAuth != null && String(cvAuth).trim() !== "") {
214
+ step.connector_version = String(cvAuth).trim();
215
+ }
216
+ return step;
217
+ }
218
+ function makeEncryptStep(id, connectorId, action, config) {
219
+ const { connector_version: cvEnc, ...payload } = config;
220
+ const step = {
221
+ id,
222
+ type: workflow_1.WorkflowStepType.ENCRYPTION,
223
+ connector_id: connectorId,
224
+ action,
225
+ params: payload,
226
+ body: payload,
227
+ };
228
+ if (cvEnc != null && String(cvEnc).trim() !== "") {
229
+ step.connector_version = String(cvEnc).trim();
230
+ }
231
+ return step;
232
+ }
233
+ function makeCodeStep(id, sourceOrModule, fn, args, config) {
234
+ const isModule = !fn && !sourceOrModule.includes("return") && !sourceOrModule.includes("{{");
235
+ return {
236
+ id,
237
+ type: workflow_1.WorkflowStepType.CODE,
238
+ ...(isModule
239
+ ? { module_ref: sourceOrModule, fn: fn || "execute", args: args || {} }
240
+ : { source: sourceOrModule, args: args || {} }),
241
+ input_from: config?.input_from,
242
+ timeout: config?.timeout ?? 1000,
243
+ };
244
+ }
245
+ function makeCallStep(id, functionSlugOrId, args) {
246
+ return {
247
+ id,
248
+ type: workflow_1.WorkflowStepType.FUNCTION,
249
+ function_id: functionSlugOrId,
250
+ function_slug: functionSlugOrId,
251
+ args,
252
+ };
253
+ }
254
+ function makeCallWorkflowStep(id, workflowId, payload, webhook) {
255
+ const raw = payload ?? {};
256
+ const trigger_id = (raw.trigger_id ?? raw.triggerId);
257
+ const environment = raw.environment;
258
+ const executionHeaders = (raw.executionHeaders ?? raw.execution_headers);
259
+ const remote = raw.remote === true;
260
+ const child_workflow_name = (raw.child_workflow_name ?? raw.workflow_name);
261
+ const rest = { ...raw };
262
+ for (const k of [
263
+ "trigger_id",
264
+ "triggerId",
265
+ "environment",
266
+ "executionHeaders",
267
+ "execution_headers",
268
+ "remote",
269
+ "child_workflow_name",
270
+ "workflow_name",
271
+ "webhook_path",
272
+ "webhookPath",
273
+ "webhook_method",
274
+ "webhookMethod",
275
+ ]) {
276
+ delete rest[k];
277
+ }
278
+ const wFromRaw = raw.webhook_path || raw.webhookPath
279
+ ? {
280
+ path: String(raw.webhook_path ?? raw.webhookPath).trim(),
281
+ method: String(raw.webhook_method ?? raw.webhookMethod ?? "POST").toUpperCase(),
282
+ }
283
+ : undefined;
284
+ const webhookResolved = webhook?.path
285
+ ? { path: webhook.path.trim(), method: (webhook.method ?? "POST").toUpperCase() }
286
+ : wFromRaw;
287
+ const step = {
288
+ id,
289
+ type: workflow_1.WorkflowStepType.CALL_WORKFLOW,
290
+ payload: Object.keys(rest).length ? rest : {},
291
+ };
292
+ if (workflowId)
293
+ step.workflow_id = workflowId;
294
+ if (webhookResolved?.path) {
295
+ step.webhook_path = webhookResolved.path;
296
+ step.webhook_method = webhookResolved.method;
297
+ }
298
+ if (!step.workflow_id && !step.webhook_path) {
299
+ throw new Error("CallWorkflow requires a workflow group id, or a webhook path, or both in payload");
300
+ }
301
+ if (trigger_id)
302
+ step.trigger_id = trigger_id;
303
+ if (environment)
304
+ step.environment = environment;
305
+ if (executionHeaders && Object.keys(executionHeaders).length > 0)
306
+ step.execution_headers = executionHeaders;
307
+ if (remote)
308
+ step.remote = true;
309
+ if (child_workflow_name)
310
+ step.child_workflow_name = child_workflow_name;
311
+ return step;
312
+ }
313
+ function makeLoopStep(id, over, steps, config) {
314
+ return {
315
+ id,
316
+ type: workflow_1.WorkflowStepType.LOOP,
317
+ over,
318
+ as: config?.as ?? "item",
319
+ index_as: config?.index_as ?? "index",
320
+ steps,
321
+ max_iterations: config?.max_iterations ?? 1000,
322
+ };
323
+ }
324
+ function makeLogStep(id, message) {
325
+ return { id, type: workflow_1.WorkflowStepType.LOG, message };
326
+ }
327
+ function makeDelayStep(id, ms) {
328
+ return { id, type: workflow_1.WorkflowStepType.DELAY, ms };
329
+ }
330
+ function makeNotifyStep(id, channel, message) {
331
+ return { id, type: workflow_1.WorkflowStepType.NOTIFY, channel, message };
332
+ }
333
+ function makeCustomStep(id) {
334
+ return {
335
+ id,
336
+ type: workflow_1.WorkflowStepType.CUSTOM,
337
+ };
338
+ }
@@ -1 +1,220 @@
1
- 'use strict';const _0x193491=_0x462d;(function(_0xbed5d8,_0x42b7be){const _0x3c321f=_0x462d,_0x19faad=_0xbed5d8();while(!![]){try{const _0x5f44ed=-parseInt(_0x3c321f(0x1c6))/0x1*(-parseInt(_0x3c321f(0x1cd))/0x2)+parseInt(_0x3c321f(0x1f7))/0x3*(parseInt(_0x3c321f(0x1cf))/0x4)+-parseInt(_0x3c321f(0x1e5))/0x5+-parseInt(_0x3c321f(0x1ed))/0x6*(-parseInt(_0x3c321f(0x1db))/0x7)+parseInt(_0x3c321f(0x1ca))/0x8*(parseInt(_0x3c321f(0x1ec))/0x9)+-parseInt(_0x3c321f(0x1e4))/0xa+parseInt(_0x3c321f(0x1eb))/0xb*(-parseInt(_0x3c321f(0x1fd))/0xc);if(_0x5f44ed===_0x42b7be)break;else _0x19faad['push'](_0x19faad['shift']());}catch(_0x2d6d42){_0x19faad['push'](_0x19faad['shift']());}}}(_0x2cd1,0x235e0));Object[_0x193491(0x1d0)](exports,'__esModule',{'value':!![]}),exports[_0x193491(0x1f8)]=Connector,exports['Util']=Util,exports['Db']=Db,exports['Validator']=Validator,exports[_0x193491(0x1e1)]=Condition,exports['Transform']=Transform,exports[_0x193491(0x1d4)]=Auth,exports[_0x193491(0x1de)]=Encrypt,exports[_0x193491(0x1dc)]=Responder,exports[_0x193491(0x1e6)]=Code,exports[_0x193491(0x1ea)]=Call,exports[_0x193491(0x1d3)]=CallWorkflow,exports[_0x193491(0x1d6)]=Loop,exports[_0x193491(0x1f6)]=Log,exports[_0x193491(0x1ee)]=Delay,exports['Notify']=Notify,exports[_0x193491(0x1fa)]=Step;const metadata_1=require(_0x193491(0x1e7)),registry_1=require('../connectors/registry');function Connector(_0x1459c4,_0x448e18,_0x408fa3,_0x2594d3={}){const _0x2aaf3b=_0x408fa3??{};return function(target,_0x10ff86){const _0x4923cd=_0x462d,_0x33d859=(0x0,metadata_1[_0x4923cd(0x1f1)])(target[_0x4923cd(0x1c8)]),_0x16d81c=_0x2594d3['id']??_0x10ff86,_0xdaaa75=_0x2594d3['order']??_0x33d859['steps'][_0x4923cd(0x1f0)];let _0x4cc285,_0x33a66e;if((0x0,registry_1['isTypedConnectorDef'])(_0x1459c4)){_0x4cc285=_0x1459c4['id'];const _0x39244b=_0x448e18,_0x3439a0=_0x1459c4[_0x4923cd(0x1c5)][_0x39244b];if(typeof _0x3439a0!==_0x4923cd(0x1f5))throw new Error(_0x4923cd(0x1f3)+_0x4cc285+':\x20'+String(_0x448e18));_0x33a66e=_0x3439a0;}else{if((0x0,registry_1[_0x4923cd(0x1ce)])(_0x1459c4)){_0x4cc285=_0x1459c4['id'];const _0x307d9f=_0x448e18,_0x2aa196=_0x1459c4[_0x4923cd(0x1c5)][_0x307d9f];if(typeof _0x2aa196!==_0x4923cd(0x1f5))throw new Error('Unknown\x20action\x20key\x20on\x20connector\x20'+_0x4cc285+':\x20'+String(_0x448e18));_0x33a66e=_0x2aa196;}else _0x4cc285=_0x1459c4,_0x33a66e=_0x448e18;}const _0x556c10=_0x1eb97e=>(0x0,metadata_1[_0x4923cd(0x1e8)])(_0x1eb97e,_0x4cc285,_0x33a66e,_0x2aaf3b);_0x33d859[_0x4923cd(0x1e0)]['push']({'stepId':_0x16d81c,'methodKey':_0x10ff86,'orderKey':_0xdaaa75,'stage':_0x2594d3[_0x4923cd(0x1f4)],'then':_0x2594d3[_0x4923cd(0x1d5)],'else':_0x2594d3[_0x4923cd(0x1d1)],'factory':_0x556c10});};}function Util(_0x5ee63c,_0x2bee29,_0x37a1a3={},_0x1f8bbb={}){return Connector(_0x5ee63c,_0x2bee29,_0x37a1a3,_0x1f8bbb);}function Db(_0x26c467,_0x11c8f5,_0x20bbf8,_0x36ca3d={}){return function(target,_0x92d67b){const _0x5b1060=_0x462d,_0x3dc6b2=(0x0,metadata_1[_0x5b1060(0x1f1)])(target[_0x5b1060(0x1c8)]),_0x2e48f9=_0x36ca3d['id']??_0x92d67b,_0x328a58=_0x36ca3d['order']??_0x3dc6b2['steps'][_0x5b1060(0x1f0)],_0x417841=_0x3376a4=>(0x0,metadata_1[_0x5b1060(0x1c7)])(_0x3376a4,_0x26c467,_0x11c8f5,_0x20bbf8);_0x3dc6b2[_0x5b1060(0x1e0)]['push']({'stepId':_0x2e48f9,'methodKey':_0x92d67b,'orderKey':_0x328a58,'stage':_0x36ca3d[_0x5b1060(0x1f4)],'then':_0x36ca3d[_0x5b1060(0x1d5)],'else':_0x36ca3d['else'],'factory':_0x417841});};}function Validator(_0x25f8d5,_0x1f367f={}){return function(target,_0x42a166){const _0x270440=_0x462d,_0x442d83=(0x0,metadata_1[_0x270440(0x1f1)])(target[_0x270440(0x1c8)]),_0x3c8025=_0x1f367f['id']??_0x42a166,_0x34e84c=_0x1f367f['order']??_0x442d83[_0x270440(0x1e0)][_0x270440(0x1f0)],_0x94da30=_0x3a6b62=>(0x0,metadata_1['makeValidatorStep'])(_0x3a6b62,_0x25f8d5);_0x442d83[_0x270440(0x1e0)][_0x270440(0x1d8)]({'stepId':_0x3c8025,'methodKey':_0x42a166,'orderKey':_0x34e84c,'stage':_0x1f367f[_0x270440(0x1f4)],'then':_0x1f367f[_0x270440(0x1d5)],'else':_0x1f367f[_0x270440(0x1d1)],'factory':_0x94da30});};}function _0x2cd1(){const _0x409b84=['q29Kzq','lI9TzxrHzgf0yq','BwfRzunVBM5Ly3rVCLn0zxa','Dg9vChbLCKnHC2u','q2fSBa','ndGXodC3rerjvNDJ','mtq2mtzrzejkDxe','mtC3otq4sgn2rK1j','rgvSyxK','BwfRzuf1DgHtDgvW','BgvUz3rO','z2v0t3jdCMvHDgvxB3jRzMXVD01LDge','D2vIAg9VA1bHDgG','vw5RBM93BIbHy3rPB24GA2v5ig9UignVBM5Ly3rVCIa','C3rHz2u','C3rYAw5N','tg9N','nJG2mdC2zhzotezW','q29UBMvJDg9Y','BwfRzunVBMrPDgLVBLn0zxa','u3rLCa','B3jKzxi','D2vIAg9VA01LDgHVza','odrxuwDvyNa','ywn0Aw9UCW','ntCZnJrmrM9tv3y','BwfRzurIu3rLCa','y29UC3rYDwn0B3i','BwfRzvrYyw5ZzM9YBvn0zxa','ndq4DLrovhnS','BwfRzvjLC3bVBMrLCLn0zxa','BwfRzunVzgvtDgvW','mtbxEKfJBfi','AxndDxn0B21dB25Uzwn0B3jezwy','nejkALPWAq','zgvMAw5LuhjVCgvYDhK','zwXZzq','Cg9ZDa','q2fSBfDVCMTMBg93','qxv0Aa','DgHLBG','tg9VCa','BwfRzunHBgXxB3jRzMXVD1n0zxa','ChvZAa','BwfRzuvUy3j5ChrtDgvW','ue9tva','mJHor21KAvm','uMvZCg9UzgvY','BwfRzuXVB3btDgvW','rw5JCNLWDa','BwfRzun1C3rVBvn0zxa','C3rLChm','q29UzgL0Aw9U','B2jQzwn0','BwfRzuXVz1n0zxa','mtK0mZuWCMHSqNfu','mti3mdCWme5orNj5za'];_0x2cd1=function(){return _0x409b84;};return _0x2cd1();}function Condition(_0x316147,_0x4727bf={}){return function(target,_0x1fd080){const _0x22bf16=_0x462d,_0x12be8b=(0x0,metadata_1[_0x22bf16(0x1f1)])(target['constructor']),_0x11d770=_0x4727bf['id']??_0x1fd080,_0x19bb45=_0x4727bf[_0x22bf16(0x1fb)]??_0x12be8b[_0x22bf16(0x1e0)]['length'],_0x64fe62=_0x1a7ca7=>(0x0,metadata_1[_0x22bf16(0x1f9)])(_0x1a7ca7,_0x316147);_0x12be8b[_0x22bf16(0x1e0)]['push']({'stepId':_0x11d770,'methodKey':_0x1fd080,'orderKey':_0x19bb45,'stage':_0x4727bf[_0x22bf16(0x1f4)],'then':_0x4727bf[_0x22bf16(0x1d5)],'else':_0x4727bf[_0x22bf16(0x1d1)],'factory':_0x64fe62});};}function _0x462d(_0x35a10c,_0x4027c1){_0x35a10c=_0x35a10c-0x1c5;const _0x2cd1b8=_0x2cd1();let _0x462d90=_0x2cd1b8[_0x35a10c];if(_0x462d['hlhWWv']===undefined){var _0x8e144e=function(_0x5154d3){const _0x5f1fd9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1459c4='',_0x448e18='';for(let _0x408fa3=0x0,_0x2594d3,_0x2aaf3b,_0x10ff86=0x0;_0x2aaf3b=_0x5154d3['charAt'](_0x10ff86++);~_0x2aaf3b&&(_0x2594d3=_0x408fa3%0x4?_0x2594d3*0x40+_0x2aaf3b:_0x2aaf3b,_0x408fa3++%0x4)?_0x1459c4+=String['fromCharCode'](0xff&_0x2594d3>>(-0x2*_0x408fa3&0x6)):0x0){_0x2aaf3b=_0x5f1fd9['indexOf'](_0x2aaf3b);}for(let _0x33d859=0x0,_0x16d81c=_0x1459c4['length'];_0x33d859<_0x16d81c;_0x33d859++){_0x448e18+='%'+('00'+_0x1459c4['charCodeAt'](_0x33d859)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x448e18);};_0x462d['DwHMkh']=_0x8e144e,_0x462d['XIqeux']={},_0x462d['hlhWWv']=!![];}const _0x258ba4=_0x2cd1b8[0x0],_0xfc170e=_0x35a10c+_0x258ba4,_0x3d8d1e=_0x462d['XIqeux'][_0xfc170e];return!_0x3d8d1e?(_0x462d90=_0x462d['DwHMkh'](_0x462d90),_0x462d['XIqeux'][_0xfc170e]=_0x462d90):_0x462d90=_0x3d8d1e,_0x462d90;}function Transform(_0x5315b8,_0x3db285={}){return function(target,_0x17429e){const _0x1517a2=_0x462d,_0x2b1732=(0x0,metadata_1['getOrCreateWorkflowMeta'])(target[_0x1517a2(0x1c8)]),_0x254edf=_0x3db285['id']??_0x17429e,_0x307aa7=_0x3db285['order']??_0x2b1732['steps'][_0x1517a2(0x1f0)],_0x173fae=_0x174de3=>(0x0,metadata_1[_0x1517a2(0x1c9)])(_0x174de3,_0x5315b8);_0x2b1732['steps']['push']({'stepId':_0x254edf,'methodKey':_0x17429e,'orderKey':_0x307aa7,'stage':_0x3db285[_0x1517a2(0x1f4)],'then':_0x3db285[_0x1517a2(0x1d5)],'else':_0x3db285[_0x1517a2(0x1d1)],'factory':_0x173fae});};}function Auth(_0x8f2e5c,_0x2cded6,_0x109b32,_0x31e31d={}){return function(target,_0x5b4ec9){const _0xeea623=_0x462d,_0x1f87bf=(0x0,metadata_1[_0xeea623(0x1f1)])(target['constructor']),_0x5ecb4d=_0x31e31d['id']??_0x5b4ec9,_0x4a46fe=_0x31e31d['order']??_0x1f87bf[_0xeea623(0x1e0)][_0xeea623(0x1f0)],_0x2565b2=_0x24c208=>(0x0,metadata_1[_0xeea623(0x1ef)])(_0x24c208,_0x8f2e5c,_0x2cded6,_0x109b32);_0x1f87bf['steps'][_0xeea623(0x1d8)]({'stepId':_0x5ecb4d,'methodKey':_0x5b4ec9,'orderKey':_0x4a46fe,'stage':_0x31e31d[_0xeea623(0x1f4)],'then':_0x31e31d['then'],'else':_0x31e31d[_0xeea623(0x1d1)],'factory':_0x2565b2});};}function Encrypt(_0x427099,_0x369560,_0x1f77ac,_0x418c34={}){return function(target,_0x4766ed){const _0x33cf22=_0x462d,_0xa23e2c=(0x0,metadata_1[_0x33cf22(0x1f1)])(target['constructor']),_0x5f5528=_0x418c34['id']??_0x4766ed,_0x3ba2f8=_0x418c34[_0x33cf22(0x1fb)]??_0xa23e2c[_0x33cf22(0x1e0)][_0x33cf22(0x1f0)],_0x388eb9=_0x585e68=>(0x0,metadata_1[_0x33cf22(0x1d9)])(_0x585e68,_0x427099,_0x369560,_0x1f77ac);_0xa23e2c['steps']['push']({'stepId':_0x5f5528,'methodKey':_0x4766ed,'orderKey':_0x3ba2f8,'stage':_0x418c34[_0x33cf22(0x1f4)],'then':_0x418c34['then'],'else':_0x418c34[_0x33cf22(0x1d1)],'factory':_0x388eb9});};}function Responder(_0x41b8c2,_0x53faef,_0x53a1ac={}){return function(target,_0x4ad7fb){const _0x11ae3f=_0x462d,_0x4b9928=(0x0,metadata_1[_0x11ae3f(0x1f1)])(target[_0x11ae3f(0x1c8)]),_0x33bd77=_0x53a1ac['id']??_0x4ad7fb,_0x158832=_0x53a1ac[_0x11ae3f(0x1fb)]??_0x4b9928[_0x11ae3f(0x1e0)][_0x11ae3f(0x1f0)],_0x4d6b07=_0x545376=>(0x0,metadata_1[_0x11ae3f(0x1cb)])(_0x545376,_0x41b8c2,_0x53faef);_0x4b9928[_0x11ae3f(0x1e0)][_0x11ae3f(0x1d8)]({'stepId':_0x33bd77,'methodKey':_0x4ad7fb,'orderKey':_0x158832,'stage':_0x53a1ac['stage'],'then':_0x53a1ac['then'],'else':_0x53a1ac['else'],'factory':_0x4d6b07});};}function Code(_0x3d2a10,_0x5884ee,_0x1b52c7,_0x4a7ece,_0x5dac13={}){return function(target,_0x10d059){const _0x2eb22b=_0x462d,_0x30f7c2=(0x0,metadata_1[_0x2eb22b(0x1f1)])(target[_0x2eb22b(0x1c8)]),_0x136867=_0x5dac13['id']??_0x10d059,_0x2ec02f=_0x5dac13[_0x2eb22b(0x1fb)]??_0x30f7c2[_0x2eb22b(0x1e0)][_0x2eb22b(0x1f0)],_0x2579a8=_0x6ee77b=>(0x0,metadata_1[_0x2eb22b(0x1cc)])(_0x6ee77b,_0x3d2a10,_0x5884ee,_0x1b52c7,_0x4a7ece);_0x30f7c2[_0x2eb22b(0x1e0)][_0x2eb22b(0x1d8)]({'stepId':_0x136867,'methodKey':_0x10d059,'orderKey':_0x2ec02f,'stage':_0x5dac13[_0x2eb22b(0x1f4)],'then':_0x5dac13[_0x2eb22b(0x1d5)],'else':_0x5dac13[_0x2eb22b(0x1d1)],'factory':_0x2579a8});};}function Call(_0x426a98,_0x35831a,_0x5b7858={}){return function(target,_0x534481){const _0x5e5d18=_0x462d,_0x47e5c2=(0x0,metadata_1[_0x5e5d18(0x1f1)])(target[_0x5e5d18(0x1c8)]),_0x1b90e3=_0x5b7858['id']??_0x534481,_0x4c96aa=_0x5b7858[_0x5e5d18(0x1fb)]??_0x47e5c2[_0x5e5d18(0x1e0)][_0x5e5d18(0x1f0)],_0x19d1e0=_0x3a3be8=>(0x0,metadata_1['makeCallStep'])(_0x3a3be8,_0x426a98,_0x35831a);_0x47e5c2[_0x5e5d18(0x1e0)][_0x5e5d18(0x1d8)]({'stepId':_0x1b90e3,'methodKey':_0x534481,'orderKey':_0x4c96aa,'stage':_0x5b7858['stage'],'then':_0x5b7858[_0x5e5d18(0x1d5)],'else':_0x5b7858['else'],'factory':_0x19d1e0});};}function CallWorkflow(_0x10c9d6,_0x27ab99,_0x3a5e39={}){return function(target,_0x473f1e){const _0x2d5746=_0x462d,_0x296b72=(0x0,metadata_1['getOrCreateWorkflowMeta'])(target[_0x2d5746(0x1c8)]),_0x5a4e78=_0x3a5e39['id']??_0x473f1e,_0x9cbdf3=_0x3a5e39[_0x2d5746(0x1fb)]??_0x296b72['steps']['length'];let _0x47c90b='',_0x57a821;typeof _0x10c9d6===_0x2d5746(0x1e2)&&_0x10c9d6!==null&&_0x2d5746(0x1f2)in _0x10c9d6?_0x57a821={'path':_0x10c9d6[_0x2d5746(0x1f2)],'method':(_0x10c9d6[_0x2d5746(0x1fc)]??_0x2d5746(0x1da))[_0x2d5746(0x1e9)]()}:_0x47c90b=_0x10c9d6;const _0x3ba4b3=_0x195d30=>(0x0,metadata_1[_0x2d5746(0x1d7)])(_0x195d30,_0x47c90b,_0x27ab99,_0x57a821);_0x296b72['steps'][_0x2d5746(0x1d8)]({'stepId':_0x5a4e78,'methodKey':_0x473f1e,'orderKey':_0x9cbdf3,'stage':_0x3a5e39[_0x2d5746(0x1f4)],'then':_0x3a5e39[_0x2d5746(0x1d5)],'else':_0x3a5e39[_0x2d5746(0x1d1)],'factory':_0x3ba4b3});};}function Loop(_0x14deb1,_0x3973f6,_0x1517d7,_0xc76b6e={}){return function(target,_0x53ec22){const _0x1ae56a=_0x462d,_0x127a08=(0x0,metadata_1[_0x1ae56a(0x1f1)])(target[_0x1ae56a(0x1c8)]),_0x24cf09=_0xc76b6e['id']??_0x53ec22,_0x2b3ed4=_0xc76b6e[_0x1ae56a(0x1fb)]??_0x127a08[_0x1ae56a(0x1e0)][_0x1ae56a(0x1f0)],_0x2e1f2e=_0x177c66=>(0x0,metadata_1[_0x1ae56a(0x1dd)])(_0x177c66,_0x14deb1,_0x3973f6,_0x1517d7);_0x127a08[_0x1ae56a(0x1e0)][_0x1ae56a(0x1d8)]({'stepId':_0x24cf09,'methodKey':_0x53ec22,'orderKey':_0x2b3ed4,'stage':_0xc76b6e[_0x1ae56a(0x1f4)],'then':_0xc76b6e[_0x1ae56a(0x1d5)],'else':_0xc76b6e[_0x1ae56a(0x1d1)],'factory':_0x2e1f2e});};}function Log(_0x2d9995,_0xec0db={}){return function(target,_0x3213d7){const _0x3bc982=_0x462d,_0x10f183=(0x0,metadata_1[_0x3bc982(0x1f1)])(target[_0x3bc982(0x1c8)]),_0x4f0a8b=_0xec0db['id']??_0x3213d7,_0x1a0c66=_0xec0db[_0x3bc982(0x1fb)]??_0x10f183[_0x3bc982(0x1e0)][_0x3bc982(0x1f0)],_0x2937e7=_0x55beb1=>(0x0,metadata_1[_0x3bc982(0x1e3)])(_0x55beb1,_0x2d9995);_0x10f183[_0x3bc982(0x1e0)][_0x3bc982(0x1d8)]({'stepId':_0x4f0a8b,'methodKey':_0x3213d7,'orderKey':_0x1a0c66,'stage':_0xec0db[_0x3bc982(0x1f4)],'then':_0xec0db['then'],'else':_0xec0db[_0x3bc982(0x1d1)],'factory':_0x2937e7});};}function Delay(_0x1415e5,_0x4d1b8f={}){return function(target,_0x41456f){const _0x5f5555=_0x462d,_0x3285b2=(0x0,metadata_1['getOrCreateWorkflowMeta'])(target[_0x5f5555(0x1c8)]),_0x48a8d8=_0x4d1b8f['id']??_0x41456f,_0x151d81=_0x4d1b8f[_0x5f5555(0x1fb)]??_0x3285b2['steps']['length'],_0x57acd5=_0x4ddb8b=>(0x0,metadata_1['makeDelayStep'])(_0x4ddb8b,_0x1415e5);_0x3285b2[_0x5f5555(0x1e0)]['push']({'stepId':_0x48a8d8,'methodKey':_0x41456f,'orderKey':_0x151d81,'stage':_0x4d1b8f[_0x5f5555(0x1f4)],'then':_0x4d1b8f['then'],'else':_0x4d1b8f[_0x5f5555(0x1d1)],'factory':_0x57acd5});};}function Notify(_0x4598da,_0x5d5e67,_0x1bbb2e={}){return function(target,_0x16dd0a){const _0x381354=_0x462d,_0x3ebbf9=(0x0,metadata_1[_0x381354(0x1f1)])(target['constructor']),_0x23ce55=_0x1bbb2e['id']??_0x16dd0a,_0x22475b=_0x1bbb2e[_0x381354(0x1fb)]??_0x3ebbf9['steps']['length'],_0x37c6c1=_0xef9d6d=>(0x0,metadata_1['makeNotifyStep'])(_0xef9d6d,_0x4598da,_0x5d5e67);_0x3ebbf9['steps'][_0x381354(0x1d8)]({'stepId':_0x23ce55,'methodKey':_0x16dd0a,'orderKey':_0x22475b,'stage':_0x1bbb2e['stage'],'then':_0x1bbb2e[_0x381354(0x1d5)],'else':_0x1bbb2e[_0x381354(0x1d1)],'factory':_0x37c6c1});};}function Step(_0x1e0fa3={}){return function(target,_0x5d9b0c){const _0x14c6ef=_0x462d,_0x13b443=(0x0,metadata_1[_0x14c6ef(0x1f1)])(target[_0x14c6ef(0x1c8)]),_0x3860d1=_0x1e0fa3['id']??_0x5d9b0c,_0x11f5a5=_0x1e0fa3[_0x14c6ef(0x1fb)]??_0x13b443['steps']['length'],_0x180c43=_0x1e0fa3[_0x14c6ef(0x1f4)]??_0x14c6ef(0x1d2),_0x2478b0=_0x1e581a=>(0x0,metadata_1[_0x14c6ef(0x1df)])(_0x1e581a);_0x13b443[_0x14c6ef(0x1e0)][_0x14c6ef(0x1d8)]({'stepId':_0x3860d1,'methodKey':_0x5d9b0c,'orderKey':_0x11f5a5,'stage':_0x180c43,'then':_0x1e0fa3[_0x14c6ef(0x1d5)],'else':_0x1e0fa3[_0x14c6ef(0x1d1)],'factory':_0x2478b0});};}
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Connector = Connector;
4
+ exports.Util = Util;
5
+ exports.Db = Db;
6
+ exports.Validator = Validator;
7
+ exports.Condition = Condition;
8
+ exports.Transform = Transform;
9
+ exports.Auth = Auth;
10
+ exports.Encrypt = Encrypt;
11
+ exports.Responder = Responder;
12
+ exports.Code = Code;
13
+ exports.Call = Call;
14
+ exports.CallWorkflow = CallWorkflow;
15
+ exports.Loop = Loop;
16
+ exports.Log = Log;
17
+ exports.Delay = Delay;
18
+ exports.Notify = Notify;
19
+ exports.Step = Step;
20
+ const metadata_1 = require("./metadata");
21
+ const registry_1 = require("../connectors/registry");
22
+ function Connector(connectorIdOrDef, actionOrKey, config, options = {}) {
23
+ const resolved = (config ?? {});
24
+ return function (target, propertyKey) {
25
+ const meta = (0, metadata_1.getOrCreateWorkflowMeta)(target.constructor);
26
+ const stepId = options.id ?? propertyKey;
27
+ const orderKey = options.order ?? meta.steps.length;
28
+ let connectorId;
29
+ let action;
30
+ if ((0, registry_1.isTypedConnectorDef)(connectorIdOrDef)) {
31
+ connectorId = connectorIdOrDef.id;
32
+ const key = actionOrKey;
33
+ const mapped = connectorIdOrDef.actions[key];
34
+ if (typeof mapped !== "string") {
35
+ throw new Error(`Unknown action key on connector ${connectorId}: ${String(actionOrKey)}`);
36
+ }
37
+ action = mapped;
38
+ }
39
+ else if ((0, registry_1.isCustomConnectorDef)(connectorIdOrDef)) {
40
+ connectorId = connectorIdOrDef.id;
41
+ const key = actionOrKey;
42
+ const mapped = connectorIdOrDef.actions[key];
43
+ if (typeof mapped !== "string") {
44
+ throw new Error(`Unknown action key on connector ${connectorId}: ${String(actionOrKey)}`);
45
+ }
46
+ action = mapped;
47
+ }
48
+ else {
49
+ connectorId = connectorIdOrDef;
50
+ action = actionOrKey;
51
+ }
52
+ const factory = (id) => (0, metadata_1.makeConnectorStep)(id, connectorId, action, resolved);
53
+ meta.steps.push({ stepId, methodKey: propertyKey, orderKey, stage: options.stage, then: options.then, else: options.else, factory });
54
+ };
55
+ }
56
+ function Util(connectorId, action, config = {}, options = {}) {
57
+ return Connector(connectorId, action, config, options);
58
+ }
59
+ function Db(engine, action, config, options = {}) {
60
+ return function (target, propertyKey) {
61
+ const meta = (0, metadata_1.getOrCreateWorkflowMeta)(target.constructor);
62
+ const stepId = options.id ?? propertyKey;
63
+ const orderKey = options.order ?? meta.steps.length;
64
+ const factory = (id) => (0, metadata_1.makeDbStep)(id, engine, action, config);
65
+ meta.steps.push({ stepId, methodKey: propertyKey, orderKey, stage: options.stage, then: options.then, else: options.else, factory });
66
+ };
67
+ }
68
+ function Validator(fieldsOrGroups, options = {}) {
69
+ return function (target, propertyKey) {
70
+ const meta = (0, metadata_1.getOrCreateWorkflowMeta)(target.constructor);
71
+ const stepId = options.id ?? propertyKey;
72
+ const orderKey = options.order ?? meta.steps.length;
73
+ const factory = (id) => (0, metadata_1.makeValidatorStep)(id, fieldsOrGroups);
74
+ meta.steps.push({ stepId, methodKey: propertyKey, orderKey, stage: options.stage, then: options.then, else: options.else, factory });
75
+ };
76
+ }
77
+ function Condition(expr, options = {}) {
78
+ return function (target, propertyKey) {
79
+ const meta = (0, metadata_1.getOrCreateWorkflowMeta)(target.constructor);
80
+ const stepId = options.id ?? propertyKey;
81
+ const orderKey = options.order ?? meta.steps.length;
82
+ const factory = (id) => (0, metadata_1.makeConditionStep)(id, expr);
83
+ meta.steps.push({ stepId, methodKey: propertyKey, orderKey, stage: options.stage, then: options.then, else: options.else, factory });
84
+ };
85
+ }
86
+ function Transform(mappingOrOperations, options = {}) {
87
+ return function (target, propertyKey) {
88
+ const meta = (0, metadata_1.getOrCreateWorkflowMeta)(target.constructor);
89
+ const stepId = options.id ?? propertyKey;
90
+ const orderKey = options.order ?? meta.steps.length;
91
+ const factory = (id) => (0, metadata_1.makeTransformStep)(id, mappingOrOperations);
92
+ meta.steps.push({ stepId, methodKey: propertyKey, orderKey, stage: options.stage, then: options.then, else: options.else, factory });
93
+ };
94
+ }
95
+ function Auth(connectorId, action, config, options = {}) {
96
+ return function (target, propertyKey) {
97
+ const meta = (0, metadata_1.getOrCreateWorkflowMeta)(target.constructor);
98
+ const stepId = options.id ?? propertyKey;
99
+ const orderKey = options.order ?? meta.steps.length;
100
+ const factory = (id) => (0, metadata_1.makeAuthStep)(id, connectorId, action, config);
101
+ meta.steps.push({ stepId, methodKey: propertyKey, orderKey, stage: options.stage, then: options.then, else: options.else, factory });
102
+ };
103
+ }
104
+ function Encrypt(connectorId, action, config, options = {}) {
105
+ return function (target, propertyKey) {
106
+ const meta = (0, metadata_1.getOrCreateWorkflowMeta)(target.constructor);
107
+ const stepId = options.id ?? propertyKey;
108
+ const orderKey = options.order ?? meta.steps.length;
109
+ const factory = (id) => (0, metadata_1.makeEncryptStep)(id, connectorId, action, config);
110
+ meta.steps.push({ stepId, methodKey: propertyKey, orderKey, stage: options.stage, then: options.then, else: options.else, factory });
111
+ };
112
+ }
113
+ function Responder(type, config, options = {}) {
114
+ return function (target, propertyKey) {
115
+ const meta = (0, metadata_1.getOrCreateWorkflowMeta)(target.constructor);
116
+ const stepId = options.id ?? propertyKey;
117
+ const orderKey = options.order ?? meta.steps.length;
118
+ const factory = (id) => (0, metadata_1.makeResponderStep)(id, type, config);
119
+ meta.steps.push({ stepId, methodKey: propertyKey, orderKey, stage: options.stage, then: options.then, else: options.else, factory });
120
+ };
121
+ }
122
+ function Code(sourceOrModule, fn, args, config, options = {}) {
123
+ return function (target, propertyKey) {
124
+ const meta = (0, metadata_1.getOrCreateWorkflowMeta)(target.constructor);
125
+ const stepId = options.id ?? propertyKey;
126
+ const orderKey = options.order ?? meta.steps.length;
127
+ const factory = (id) => (0, metadata_1.makeCodeStep)(id, sourceOrModule, fn, args, config);
128
+ meta.steps.push({ stepId, methodKey: propertyKey, orderKey, stage: options.stage, then: options.then, else: options.else, factory });
129
+ };
130
+ }
131
+ function Call(functionSlugOrId, args, options = {}) {
132
+ return function (target, propertyKey) {
133
+ const meta = (0, metadata_1.getOrCreateWorkflowMeta)(target.constructor);
134
+ const stepId = options.id ?? propertyKey;
135
+ const orderKey = options.order ?? meta.steps.length;
136
+ const factory = (id) => (0, metadata_1.makeCallStep)(id, functionSlugOrId, args);
137
+ meta.steps.push({ stepId, methodKey: propertyKey, orderKey, stage: options.stage, then: options.then, else: options.else, factory });
138
+ };
139
+ }
140
+ function CallWorkflow(pathOrGroupId, payload, options = {}) {
141
+ return function (target, propertyKey) {
142
+ const meta = (0, metadata_1.getOrCreateWorkflowMeta)(target.constructor);
143
+ const stepId = options.id ?? propertyKey;
144
+ const orderKey = options.order ?? meta.steps.length;
145
+ let workflowId = "";
146
+ let webhook;
147
+ if (typeof pathOrGroupId === "object" && pathOrGroupId !== null && "webhookPath" in pathOrGroupId) {
148
+ webhook = {
149
+ path: pathOrGroupId.webhookPath,
150
+ method: (pathOrGroupId.webhookMethod ?? "POST").toUpperCase(),
151
+ };
152
+ }
153
+ else {
154
+ workflowId = pathOrGroupId;
155
+ }
156
+ const factory = (id) => (0, metadata_1.makeCallWorkflowStep)(id, workflowId, payload, webhook);
157
+ meta.steps.push({ stepId, methodKey: propertyKey, orderKey, stage: options.stage, then: options.then, else: options.else, factory });
158
+ };
159
+ }
160
+ function Loop(over, steps, config, options = {}) {
161
+ return function (target, propertyKey) {
162
+ const meta = (0, metadata_1.getOrCreateWorkflowMeta)(target.constructor);
163
+ const stepId = options.id ?? propertyKey;
164
+ const orderKey = options.order ?? meta.steps.length;
165
+ const factory = (id) => (0, metadata_1.makeLoopStep)(id, over, steps, config);
166
+ meta.steps.push({ stepId, methodKey: propertyKey, orderKey, stage: options.stage, then: options.then, else: options.else, factory });
167
+ };
168
+ }
169
+ function Log(message, options = {}) {
170
+ return function (target, propertyKey) {
171
+ const meta = (0, metadata_1.getOrCreateWorkflowMeta)(target.constructor);
172
+ const stepId = options.id ?? propertyKey;
173
+ const orderKey = options.order ?? meta.steps.length;
174
+ const factory = (id) => (0, metadata_1.makeLogStep)(id, message);
175
+ meta.steps.push({ stepId, methodKey: propertyKey, orderKey, stage: options.stage, then: options.then, else: options.else, factory });
176
+ };
177
+ }
178
+ function Delay(ms, options = {}) {
179
+ return function (target, propertyKey) {
180
+ const meta = (0, metadata_1.getOrCreateWorkflowMeta)(target.constructor);
181
+ const stepId = options.id ?? propertyKey;
182
+ const orderKey = options.order ?? meta.steps.length;
183
+ const factory = (id) => (0, metadata_1.makeDelayStep)(id, ms);
184
+ meta.steps.push({ stepId, methodKey: propertyKey, orderKey, stage: options.stage, then: options.then, else: options.else, factory });
185
+ };
186
+ }
187
+ function Notify(channel, message, options = {}) {
188
+ return function (target, propertyKey) {
189
+ const meta = (0, metadata_1.getOrCreateWorkflowMeta)(target.constructor);
190
+ const stepId = options.id ?? propertyKey;
191
+ const orderKey = options.order ?? meta.steps.length;
192
+ const factory = (id) => (0, metadata_1.makeNotifyStep)(id, channel, message);
193
+ meta.steps.push({ stepId, methodKey: propertyKey, orderKey, stage: options.stage, then: options.then, else: options.else, factory });
194
+ };
195
+ }
196
+ /**
197
+ * Generic step decorator for custom user-defined logic.
198
+ *
199
+ * The method body is extracted at build time and executed as a code step.
200
+ * The method receives a typed `WorkflowContext` and should return a `StepOutput<T>`.
201
+ *
202
+ * @example
203
+ * ```ts
204
+ * @Step({ order: 0 })
205
+ * processData(ctx: WorkflowContext<{ todos: Todo[] }>): StepOutput<{ sorted: Todo[] }> {
206
+ * const sorted = [...ctx.input.todos].sort((a, b) => a.id - b.id);
207
+ * return { out: { sorted } };
208
+ * }
209
+ * ```
210
+ */
211
+ function Step(options = {}) {
212
+ return function (target, propertyKey) {
213
+ const meta = (0, metadata_1.getOrCreateWorkflowMeta)(target.constructor);
214
+ const stepId = options.id ?? propertyKey;
215
+ const orderKey = options.order ?? meta.steps.length;
216
+ const stage = options.stage ?? "post";
217
+ const factory = (id) => (0, metadata_1.makeCustomStep)(id);
218
+ meta.steps.push({ stepId, methodKey: propertyKey, orderKey, stage, then: options.then, else: options.else, factory });
219
+ };
220
+ }