lobstah 0.6.6 → 0.6.7
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/dist/main.js +1515 -987
- package/dist/runner.js +336 -176
- package/docs/man.md +19 -1
- package/docs/vocabulary.md +1 -1
- package/package.json +1 -1
package/docs/man.md
CHANGED
|
@@ -486,6 +486,22 @@ only a trap id in a same-origin, token-protected POST. The ⚙ popover's two
|
|
|
486
486
|
preferences — table or cards, and whether lobsters crawl the page — are
|
|
487
487
|
per-browser, kept in that browser's localStorage and never on disk.
|
|
488
488
|
|
|
489
|
+
Each open glass page, and each report's page, reports its presence: every
|
|
490
|
+
poll, and every 30 s while its tab is hidden, it sends the server a random
|
|
491
|
+
page id and whether it is visible; the server reads the browser's user
|
|
492
|
+
agent from the request and forgets a page three minutes after it last
|
|
493
|
+
reported, or at once when the page closes. `lobstah glass show '<#hash>'`
|
|
494
|
+
asks the page most likely in front of you (the latest visible one, else the
|
|
495
|
+
latest seen) to show a tab (`#prs`), a decision (`#decision/<key>`), or a
|
|
496
|
+
report (`#report/<key>`). The page applies each show once, on its next poll
|
|
497
|
+
or as soon as its tab is visible again. The command prints whether a page
|
|
498
|
+
was seen and in which app (`claude` for the Claude desktop app's Browser
|
|
499
|
+
pane, `chrome`, `safari`, `firefox`, `edge`, `electron`, or `other`);
|
|
500
|
+
`--json` prints the same as JSON for the desktop pet. `POST /api/show` is
|
|
501
|
+
local only: it needs the secret in `~/.lobstah/state/glass-show.secret`
|
|
502
|
+
(user-only, created by the first `glass show`), the glass's own Host, and no
|
|
503
|
+
`Origin` header, so no web page can send one.
|
|
504
|
+
|
|
489
505
|
On a card, the title and the badge share one line. The title shrinks first,
|
|
490
506
|
with an ellipsis, but always keeps its PR number or 8-character id. A badge of
|
|
491
507
|
12 characters or fewer always shows whole. A longer badge truncates only
|
|
@@ -770,7 +786,9 @@ it under the inbox.
|
|
|
770
786
|
**Acknowledging, display-only.** Clicking a desktop pet opens its target and
|
|
771
787
|
runs `lobstah attention ack <item-key> --by pet`, so that pet stops walking
|
|
772
788
|
the item until its state changes (a new status entry, head, failed check, or
|
|
773
|
-
thread count
|
|
789
|
+
thread count; a ready PR changes only by becoming ready again after it was
|
|
790
|
+
not). The pet also hides the clicked item itself until its state changes, so
|
|
791
|
+
an ack that times out does not leave it walking. The ack changes only what the pet and the glass lobs display:
|
|
774
792
|
`man tend --json` still lists the item (marked `acked`), and `man wait`, the
|
|
775
793
|
park, and reminders ignore acks entirely — a human having seen a question
|
|
776
794
|
must never hide it from the orchestrator that has to answer it. The glass,
|
package/docs/vocabulary.md
CHANGED
|
@@ -563,7 +563,7 @@ reminder loop apply the same predicate.
|
|
|
563
563
|
|
|
564
564
|
| Word | Meaning |
|
|
565
565
|
| ---- | ------- |
|
|
566
|
-
| ack | `~/.lobstah/acks/<item-key>.json` — `{ key, kind, stateHash, at, by }`, written only by `lobstah attention ack` (removed by `unack`, by the CLI's `man tend` / `attention` when its `stateHash` goes stale, and by `cull` when the item is gone). **Display-only**: it hides the item from the desktop pet and the glass lobs while the item's `stateHash` is unchanged; `man tend --json` keeps the item with `acked: { at, by }`, and `man wait`, the park, reminders, and `notifyCommand` never read acks. Item keys: `<lane>:<uuid>` (question, landed), `decision:<rid>`, `pr:<owner>/<repo>#<n>` (all of a PR's `pr:*` kinds — one ack covers them), `watch:<key>`. `stateHash` covers the status entry (question, landed) or the PR's head sha plus every evidence field a `pr:*` kind stands on (not `observedAt`). |
|
|
566
|
+
| ack | `~/.lobstah/acks/<item-key>.json` — `{ key, kind, stateHash, at, by }`, written only by `lobstah attention ack` (removed by `unack`, by the CLI's `man tend` / `attention` when its `stateHash` goes stale, and by `cull` when the item is gone). **Display-only**: it hides the item from the desktop pet and the glass lobs while the item's `stateHash` is unchanged; `man tend --json` keeps the item with `acked: { at, by }`, and `man wait`, the park, reminders, and `notifyCommand` never read acks. Item keys: `<lane>:<uuid>` (question, landed), `decision:<rid>`, `pr:<owner>/<repo>#<n>` (all of a PR's `pr:*` kinds — one ack covers them), `watch:<key>`. `stateHash` covers the status entry (question, landed) or the PR's head sha plus every evidence field a `pr:*` kind stands on (not `observedAt`); for a ready PR, only when `pr:ready` began standing (its `standingSince`), so repeat observations of the same ready state keep the ack and ready → not ready → ready re-stands it once. |
|
|
567
567
|
| pet state | `~/.lobstah/pet/state.json` — `{ pid, at, ok, command, reason, consecutiveFailures, items, lastOkAt }`. The desktop pet's one write: it rewrites the file after each attention read (about every six seconds). `command` is the command that worked (`attention --json`, or `man tend --json` from an older CLI). `reason` says why the last read failed (timed out, non-zero exit, output that does not decode). Only `lobstah doctor` reads it, for its `pet` row: running means `pid` is alive and `at` is less than two minutes old. |
|
|
568
568
|
| budget stop | A headless runner's `failed` verb with a `budget:` note means its progress-extended active-work window reached the hard ceiling. This is out of time, not a code failure: the runner checkpoints eligible changes, pushes when enabled, names the saved branch/commit/draft PR, and invites `lobstah send <id> "continue"`. Paused `--waiting-on` time is excluded. |
|
|
569
569
|
|