def register() -> Plugin: return Plugin( start=False, spec=Spec( module='app.process_engine.action.v1.traits.delete_trait_action', className='DeleteTraitAction', inputs=['payload'], outputs=["payload"], init={"delete": [ "payload@undefied", "profile@undefined", ]}, version='0.1', license="MIT", author="Risto Kowaczewski"), metadata=MetaData( name='Delete Trait', desc= 'Deletes traits from profile or payload. Accepts dotted notation as definition of a filed to be ' 'deleted. Returns payload.', type='flowNode', width=100, height=100, icon='remove', group=["Traits"]))
def register() -> Plugin: return Plugin( start=False, spec=Spec( module='app.process_engine.action.v1.traits.copy_trait_action', className='CopyTraitAction', inputs=['payload'], outputs=["payload"], init={ "copy": { "target1": "source1", "target2": "source2", } }, version='0.1', license="MIT", author="Risto Kowaczewski" ), metadata=MetaData( name='Copy/Set Trait', desc='Returns payload with copied/set traits.', type='flowNode', width=100, height=100, icon='copy', group=["Traits"] ) )
def register() -> Plugin: return Plugin( start=False, spec=Spec( module='app.process_engine.action.v1.new_profile_action', className='NewProfileAction', inputs=["void"], outputs=['TRUE', 'FALSE'], init=None, manual="new_profile_action", version='0.1', license="MIT", author="Risto Kowaczewski" ), metadata=MetaData( name='New profile', desc='If new profile then it returns true on TRUE output, otherwise returns false on FALSE port.', keywords=['condition'], type='flowNode', width=200, height=100, icon='question', group=["Processing"] ) )
def register() -> Plugin: return Plugin( start=False, debug=False, spec=Spec( module='app.process_engine.action.v1.detect_client_agent_action', className='DetectClientAgentAction', inputs=["void"], outputs=["client-info"], init=None, manual="detect_client_agent_action", version='0.1', license="MIT", author="Risto Kowaczewski"), metadata=MetaData( name='Get client agent', desc= 'It will parse any user agent and detect the browser, operating system, device used (desktop, ' 'tablet, mobile, tv, cars, console, etc.), brand and model. It detects thousands ' 'of user agent strings, even from rare and obscure browsers and devices. It returns an object containing ' 'all the information', type='flowNode', width=100, height=100, icon='browser', group=["Processing"]))
def register() -> Plugin: return Plugin( start=False, spec=Spec( module='app.process_engine.action.v1.if_action', className='IfAction', inputs=["payload"], outputs=["TRUE", "FALSE"], init={"condition": "please-configure-condition"}, manual="if_action", version='0.1', license="MIT", author="Risto Kowaczewski" ), metadata=MetaData( name='If', desc='This a conditional action that conditionally runs a branch of workflow.', keywords=['condition'], type='flowNode', width=200, height=100, icon='if', editor='text', group=['Processing'] ) )
def register() -> Plugin: return Plugin( start=True, debug=True, spec=Spec(module='app.process_engine.action.v1.debug_payload_action', className='DebugPayloadAction', inputs=[], outputs=["event"], init={"event": { "id": "undefined", }}, version='0.1', license="MIT", author="Risto Kowaczewski"), metadata=MetaData( name='Debug', desc= 'Loads debug payload into flow. This action is executed only in debug mode. ' + 'Use it to inject payload defined it config to analyse you workflow.', keywords=['start node'], type='flowNode', width=100, height=100, icon='debug', group=["Input/Output"]))
def decode(self) -> Spec: return Spec( className=self.className, module=self.module, inputs=self.inputs, outputs=self.outputs, init=decrypt(self.init), manual=self.manual )
def register() -> Plugin: return Plugin(spec=Spec(module='task_plugins.debug.debug_plugin', className='DebugPlugin', inputs=[], outputs=["payload"]), metadata=MetaData( name='Debug', desc='Logs payload for debugging purposes.', type='flowNode', width=100, height=100, icon='debug'))
def register() -> Plugin: return Plugin(start=False, spec=Spec(module='app.process_engine.action.v1.end_action', className='EndAction', inputs=["void"], outputs=[], version='0.1', license="MIT", author="Risto Kowaczewski"), metadata=MetaData(name='End', desc='Ends workflow.', type='flowNode', width=100, height=100, icon='stop', group=["Input/Output"]))
def register() -> Plugin: return Plugin( spec=Spec( module='task_plugins.payload.payload_plugin', className='PayloadPlugin', inputs=[], outputs=["payload"] ), metadata=MetaData( name='Start', desc='Loads payload into flow.', type='flowNode', width=100, height=100, icon='payload' ) )
def register() -> Plugin: return Plugin( start=False, spec=Spec( module= 'app.process_engine.action.v1.operations.update_profile_action', className='UpdateProfileAction', inputs=["void"], outputs=[], init=None, manual="update_profile_action"), metadata=MetaData(name='Update profile', desc='Updates profile in storage.', type='flowNode', width=200, height=100, icon='store', group=["Operations"]))
def register() -> Plugin: return Plugin( start=False, spec=Spec( module='app.process_engine.action.v1.traits.cut_out_trait_action', className='CutOutTraitAction', inputs=['payload'], outputs=["trait"], init={"trait": "undefined"}, version='0.1', license="MIT", author="Risto Kowaczewski"), metadata=MetaData(name='Cut out trait', desc='Returns defined property from payload.', type='flowNode', width=200, height=100, icon='property', group=["Traits"]))
def register() -> Plugin: return Plugin( start=False, spec=Spec(module='app.process_engine.action.v1.read_session_action', className='ReadSessionAction', inputs=["void"], outputs=['session'], init=None, manual="read_session_action", version='0.1', license="MIT", author="Risto Kowaczewski"), metadata=MetaData(name='Read session', desc='Loads session data and returns it.', type='flowNode', width=200, height=100, icon='json', group=["Read"]))
def register() -> Plugin: return Plugin(start=False, debug=False, spec=Spec( module='app.process_engine.action.v1.read_event_action', className='ReadEventAction', inputs=['void'], outputs=["event"], init=None, version='0.1', license="MIT", author="Risto Kowaczewski"), metadata=MetaData(name='Read event', desc='Loads event into workflow.', type='flowNode', width=200, height=100, icon='event', group=["Read"]))
def register() -> Plugin: return Plugin( start=False, spec=Spec(module='app.process_engine.action.remote_call_action', className='RemoteCallAction', inputs=['payload'], outputs=["response", "error"], init={ "method": "undefined", "url": "undefined", "payloadIn": "body|params" }, manual="remote_call_action"), metadata=MetaData(name='Remote call', desc='Sends request to remote API endpoint.', type='flowNode', width=200, height=100, icon='cloud', group=["Integration"]))
def register() -> Plugin: return Plugin(start=True, debug=False, spec=Spec(module='app.process_engine.action.v1.start_action', className='StartAction', inputs=["void"], outputs=["payload"], init=None, version='0.1', license="MIT", author="Risto Kowaczewski"), metadata=MetaData( name='Start', desc='Starts workflow and returns empty payload.', type='flowNode', keywords=['start node'], width=200, height=100, icon='start', group=["Input/Output"]))
def register() -> Plugin: return Plugin( start=False, spec=Spec(module='app.process_engine.action.v1.increase_views_action', className='IncreaseViewsAction', inputs=["payload"], outputs=['payload'], init=None, manual="increase_views_action", version='0.1', license="MIT", author="Risto Kowaczewski"), metadata=MetaData( name='Increase views', desc='Increases view field in profile and returns profile.', type='flowNode', width=200, height=100, icon='plus', group=["Stats"]))
def register() -> Plugin: return Plugin( start=False, spec=Spec( module= 'app.process_engine.action.v1.operations.segment_profile_action', className='SegmentProfileAction', inputs=["void"], outputs=["void"], init=None, manual="segment_profiles_action"), metadata=MetaData( name='Segment profile', desc= 'Segment profile when flow ends.This action forces segmentation on profile after flow ends. See ' 'documentation for more information.', type='flowNode', width=200, height=100, icon='segment', group=["Operations"]))
def register() -> Plugin: return Plugin( start=False, spec=Spec( module= 'app.process_engine.action.v1.operations.merge_profiles_action', className='MergeProfilesAction', inputs=["void"], outputs=["void"], init={"mergeBy": []}, manual="merge_profiles_action"), metadata=MetaData( name='Merge profiles', desc= 'Merges profile in storage when flow ends. This operation is expensive so use it with caution, ' 'only where this is new PII information added.', type='flowNode', width=200, height=100, icon='merge', group=["Operations"]))
def register() -> Plugin: return Plugin(start=True, debug=True, spec=Spec( module='app.process_engine.action.v1.inject_action', className='InjectAction', inputs=[], outputs=["value"], init={"inject": {}}, manual='inject_action', version='0.1', license="MIT", author="Risto Kowaczewski"), metadata=MetaData(name='Inject', desc='Injector.', keywords=['start node'], type='flowNode', width=100, height=100, icon='json', group=["Input/Output"]))
def register() -> Plugin: return Plugin( start=False, debug=False, spec=Spec(module='app.process_engine.action.v1.join_action', className='JoinAction', inputs=["payload"], outputs=["payload"], init=None, version='0.1', license="MIT", author="Risto Kowaczewski"), metadata=MetaData( name='Join', desc= 'This action waits for previous actions to finish working. It passes payload ' 'it recevied without any modifications.', type='flowNode', width=100, height=100, icon='join', group=["Flow"]))
def register() -> Plugin: return Plugin( start=False, spec=Spec( module='app.process_engine.action.new_event_action', className='NewEventAction', inputs=["payload"], outputs=['result'], init={ "event": {"type": "undefined", "properties": "undefined"} }, manual="new_event_action" ), metadata=MetaData( name='New event', desc='Raises new event with defined properties. Please define event type and event properties in configuration tab.', type='flowNode', width=200, height=100, icon='event' ) )
def register() -> Plugin: return Plugin( start=False, spec=Spec(module='app.process_engine.action.v1.increment_action', className='IncrementAction', inputs=["payload"], outputs=['payload'], init={ "field": None, "increment": 1 }, manual="increment_action", version='0.1', license="MIT", author="Risto Kowaczewski"), metadata=MetaData( name='Increment counter', desc='Increment profile stats.counters value. Returns payload', type='flowNode', width=200, height=100, icon='plus', group=["Stats"]))
def register() -> Plugin: return Plugin( start=False, spec=Spec( module='app.process_engine.action.v1.traits.append_trait_action', className='AppendTraitAction', inputs=['payload'], outputs=["payload"], init={"append": { "target1": "source1", "target2": "source2", }}, version='0.1', license="MIT", author="Risto Kowaczewski"), metadata=MetaData( name='Append Trait', desc= 'Appends trait if it a value already exists or sets trait if it does not.', type='flowNode', width=100, height=100, icon='append', group=["Traits"]))