anbaric 1.71.0 → 1.73.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.
package/docs/api/cli.md CHANGED
@@ -52,7 +52,7 @@ anbaric app status link-media-brief # a different app, from anywhere
52
52
 
53
53
  | Command | Purpose |
54
54
  | --- | --- |
55
- | `anbaric state-machines` | List registered state machines. |
55
+ | `anbaric state-machines` | List registered state machines, with the version of each and when it last registered. |
56
56
  | `anbaric jobs create <sm-id> <start-state> [k=v …]` | Create a job and queue it for processing. |
57
57
  | `anbaric jobs list [state-machine-id]` | List jobs, newest first, a page at a time (100 by default — `--page 1` for the next). Narrow with `--state`, `--status`, `--app`; `--oldest` flips the order. Filters apply on the platform, across every job, before paging. |
58
58
  | `anbaric jobs stats` | Job counts per state and the queue size. |
@@ -82,6 +82,28 @@ anbaric app tail <name> # stream runtime logs
82
82
  anbaric app tear-down <name> # stop and remove the app
83
83
  ```
84
84
 
85
+ ## How work reaches a deployed app
86
+
87
+ The platform queues each step a job is due and pushes it to the app that owns
88
+ the job, at the address the platform itself gave the app when it placed it.
89
+ Nothing in the app chooses or announces that address, and nothing is lost if
90
+ the platform restarts: the route is the deployment.
91
+
92
+ An app answers each push with what it **accepted** and what it **rejected**.
93
+ It rejects a job for a state machine it no longer has - one removed in an
94
+ update, say - and the platform then takes the job off the queue, kills it and
95
+ marks its status **Cancelled**, with why on the audit trail, rather than
96
+ offering it again for ever.
97
+
98
+ When a state machine starts it also **registers** itself: its id, the app it
99
+ belongs to and its definition. That registration is what the console's
100
+ **State machines** page, `anbaric state-machines` and the MCP's
101
+ `anbaric_state_machines` show. The platform keeps it, with when the machine
102
+ last registered and a **version** that advances each time the machine's
103
+ definition changes - the same states, actions and transitions registering
104
+ again, after a restart or a redeploy, keep their version. The console shows
105
+ the latest version.
106
+
85
107
  ## Running your own platform
86
108
 
87
109
  You don't have to use Anbaric Cloud — `anbaric-hosting` runs the whole platform
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "anbaric",
3
- "version": "1.71.0",
3
+ "version": "1.73.0",
4
4
  "description": "Everything needed to write an Anbaric app: state machines, jobs, document and secret stores, local in-memory implementations and the Anbaric Cloud clients",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -24,9 +24,9 @@
24
24
  "prepublishOnly": "npm run build"
25
25
  },
26
26
  "dependencies": {
27
- "anbaric-impl-cloud": "^1.71.0",
28
- "anbaric-data-store": "^1.71.0",
29
- "anbaric-state-machine": "^1.71.0",
30
- "anbaric-tsapi": "^1.71.0"
27
+ "anbaric-impl-cloud": "^1.73.0",
28
+ "anbaric-data-store": "^1.73.0",
29
+ "anbaric-state-machine": "^1.73.0",
30
+ "anbaric-tsapi": "^1.73.0"
31
31
  }
32
32
  }