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

  1. The Core checks that the Deva is active. If it is not, it returns the offline message.
  2. If the action name is not in the list below, the call is ignored without an error. Check the spelling against the list.
  3. 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.
  4. 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