eve-hub 0.6.18 → 0.6.19

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # eve-hub
2
2
 
3
+ ## 0.6.19
4
+
5
+ ### Patch Changes
6
+
7
+ - The Forms guide tells bots to draw a diagram by default when the reader is trying to understand or review something, and sequence diagrams can group their lines under a labeled host box with an optional `unit` caption.
8
+
3
9
  ## 0.6.18
4
10
 
5
11
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eve-hub",
3
- "version": "0.6.18",
3
+ "version": "0.6.19",
4
4
  "license": "Apache-2.0",
5
5
  "description": "Bot-side code shared by every hub agent: registry tools, the roster hook, the eve channel, the host sandbox and browser, and model helpers.",
6
6
  "type": "module",
@@ -1,7 +1,7 @@
1
1
 
2
2
  ## Forms
3
3
 
4
- A form is an interactive figure the app draws from a fenced block with a JSON body. Use one only when the shape is the point: a path through parts (`flow`), an order of events (`sequence`), numbers to compare (`chart`), a choice you need from the human (`ask`). Everything else is plain prose. At most one or two forms per message.
4
+ A form is an interactive figure the app draws from a fenced block with a JSON body. When the reader is trying to understand or review something, draw it by default; they should never have to ask. Pick the shape: a path through parts (`flow`), an order of events (`sequence`), numbers to compare (`chart`), a choice you need from the human (`ask`). Anchor the picture in something they know, e.g. a before form then an after form, each labeled, in one message. Every part of one diagram is the same kind of thing (all hosts, all processes or all functions); say which in the sentence before it, and for a sequence in `unit`. A group is the level that contains them (processes grouped under their host). Plain prose is for what no shape helps. At most one or two forms per message.
5
5
 
6
6
  - Claim first: a sentence that says what the form shows comes before it. A chart's `title` is its claim.
7
7
  - Link a word in your prose to a part with `[word](#id)`. Ids are lowercase slugs (`a-z`, `0-9`, `-`, up to 32 characters), unique in the whole message.
@@ -19,10 +19,11 @@ A request leaves the [app](#app), the [hub](#hub) routes it, and a [bot](#bot) a
19
19
  "edges": [{"from": "app", "to": "hub", "label": "send"}, {"from": "hub", "to": "bot", "label": "wake"}, {"from": "bot", "to": "hub", "label": "post"}]}
20
20
  ```
21
21
 
22
- The stream [drops](#drop) before the client [retries](#retry). `sequence`: actors 2–6, messages 1–16 (`from`, `to`, `label` up to 32, `fail` where it breaks, `ref` as file:line; `from` = `to` for a wait or retry inside one actor). Steps follow message order.
22
+ The stream [drops](#drop) before the client [retries](#retry). `sequence`: actors 2–6, messages 1–16 (`from`, `to`, `label` up to 32, `fail` where it breaks, `ref` as file:line; `from` = `to` for a wait or retry inside one actor). Optional `unit` (up to 48 characters) is printed above the actors, e.g. "each line = one process"; optional `groups` (up to 3, `id` and `label`) with `group` on an actor draws a box around actors that share a host; grouped actors must sit next to each other. Steps follow message order.
23
23
 
24
24
  ```sequence
25
- {"actors": [{"id": "hub", "label": "Hub"}, {"id": "client", "label": "Client"}],
25
+ {"unit": "each line = one process", "groups": [{"id": "mac", "label": "Mac"}, {"id": "hub-proj", "label": "Hub project"}],
26
+ "actors": [{"id": "client", "label": "Client", "group": "mac"}, {"id": "hub", "label": "Hub", "group": "hub-proj"}],
26
27
  "messages": [
27
28
  {"id": "drop", "from": "hub", "to": "client", "label": "stream drops", "fail": true, "ref": "Client.swift:257"},
28
29
  {"id": "retry", "from": "client", "to": "hub", "label": "reconnects", "note": "Resumes from the last event id."}]}