Core - Actions What actions are in the Deva Core, when to set one, and the full list of available actions. What an action is An action says what the Deva is doing right now: encrypting, returning data, hashing, talking to a listener. Each time you set one, the Core records it and broadcasts a devacore:action event, so you can log it, watch it, or audit it later. If you also set a state (the condition) and an intent (the purpose), you get a complete record of an operation from start to finish. How to use it this.action(<action>, <emit_value>) <action> is a key from the list below, such as 'return' or 'hash'. <emit_value> is optional extra text added to the record. Use it to say what the action applies to, such as an id or a function name. this.action('return', `_getFeature:${key}`); // marks that the function is returning this.action('hash', `${label}:${algo}:${uid}`); // marks a hashing step What happens when you call it The Core checks that the Deva is active. If it is not, it returns the offline message. If the action name is not in the list below, the call is ignored without an error. Check the spelling against the list. Otherwise the Core sets the current action and builds a record with a unique id, the action key, the label plus your extra text, the agent, the client, and a timestamp. The record is hashed with md5, sha256 and sha512, emitted as devacore:action, and returned to you. Good habits Set the action at the start of the work and set return just before you return, so the trail shows both ends. Put the function name and an id in the extra text, so entries can be matched to a request. Donβt set an action from inside the state functions themselves, since logging an action calls them again. Available actions There are 93 actions. consent: βοΈ Consent client: π¨ Client agent: π΅οΈββοΈ Agent encrypt: π Encrypt decrypt: π Decrypt license: πͺͺ License feecting: π Feecting data: πΎ Data error: β Error log: πͺ΅ Log report: ποΈ Report legal: ποΈ Legal security: π¨ Security support: πΌ Support services: π οΈ Services systems: π₯οΈ Systems talk: π’ Talk listen: π Listen once: π Once ignore: π¦― Ignore question: π Question answer: π‘ Answer ask: π£ Ask call: π Call wait: βοΈ Wait init: π Init start: π’ Start enter: πͺ Enter finish: π Finish stop: π΄ Stop close: π¦ Close leave: π«£ Leave exit: πͺ Exit shutdown: π Shutdown method: β€οΈβπ₯ Method func: π¦ Func onfunc: ποΈ onFunction actions: ποΈ Actions features: π₯ Features contexts: π Contexts zones: πͺ Zones load: π¦ Load unload: π₯‘ Unload states: π States core: π Core info: βΉοΈ Info status: π₯ Status help: π Help done: βοΈ Done ready: βοΈ Ready complete: β Complete insert: π Insert update: π Update save: πΎ Save delete: ποΈ Delete parse: π© Parse return: π€Ώ Return resolve: π€ Resolve reject: π§± Reject invoke: π€ Invoke sign: ποΈοΈ Sign emergency: π Emergency honest: π Honest dishonest: π€₯ Dishonest relay: π«± Relay salute: π«‘ Salute handshake: π€ Handshake intake: π₯ Intake handoff: π Handoff transport: π Transport research: π¬ Research collect: πͺ£ Collect alert: π¨ Alert process: ποΈ Process true: π True false: π False safe: π€ Safe unsafe: π€ Unsafe correct: π· Correct incorrect: β¦οΈ Incorrect like: π Like dislike: π Dislike positive: β Positive negative: β Negative learn: π Learn unlearn: π Unlearn find: π¦ Find locate: π Locate abandon: ποΈ Abandon target: π― Target mature: π§ Mature immature: π§ Immature hash: #οΈβ£ Hash