@holostaff/sdk 0.12.8 → 0.12.9

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.
Files changed (2) hide show
  1. package/README.md +41 -20
  2. package/package.json +3 -3
package/README.md CHANGED
@@ -1,7 +1,10 @@
1
1
  # @holostaff/sdk
2
2
 
3
- Lifetime identity, stage detection, custom signal probes, and the
4
- intervention widget for the Holostaff runtime.
3
+ The Holostaff runtime for your app: the autopilot offer, the handover
4
+ loop, and the safety envelope, in the user's own session. A workflow
5
+ autopilot is a computer-use agent that lives inside your product; this
6
+ SDK is the part that lives in the page. It also carries lifetime
7
+ identity, stage detection, and custom signal probes.
5
8
 
6
9
  ## Install
7
10
 
@@ -31,10 +34,6 @@ holostaff.clearIdentity()
31
34
 
32
35
  // On host-app events the scan detected as worth observing.
33
36
  holostaff.emitSignal('first_resource_created', { kind: 'project' })
34
-
35
- // Only needed if you render interventions yourself — the built-in
36
- // widget reports outcomes automatically.
37
- holostaff.reportOutcome(interventionId, 'engaged')
38
37
  ```
39
38
 
40
39
  Calls made before `init()` queue and replay once it runs, so import
@@ -42,28 +41,50 @@ order is not load-bearing. All methods are fail-soft — they never throw
42
41
  into your code. Errors route to the optional `onError` callback you
43
42
  pass to `init()`.
44
43
 
45
- ## What this SDK does (and doesn't)
44
+ ## The autopilot layer
45
+
46
+ When a workflow is enabled and certified, the SDK renders everything the
47
+ user sees of its autopilot:
48
+
49
+ - **The offer card** on the workflow, carrying the task's name (or the
50
+ display name your team set). Nothing happens unless the user accepts:
51
+ handover is always the user's explicit act.
52
+ - **The intent overlay**: the few specifics the task needs, collected at
53
+ handover.
54
+ - **The run itself**: one small action at a time, in the user's own
55
+ session and tab, with every target highlighted before anything happens.
56
+ - **Questions** anchored beside the field they concern, never a modal
57
+ over the form.
58
+ - **The Allow pill** on consequential clicks (pay, delete, submit, send,
59
+ sign). No answer means no.
60
+ - **The progress panel** with an always-visible Stop.
61
+
62
+ ## The safety envelope
63
+
64
+ Enforced in the executor and the server, never only in a prompt:
65
+
66
+ - The autopilot runs with the user's own auth and permissions, same
67
+ origin only. No credentials ever pass through Holostaff.
68
+ - Password, payment, and code fields are hard-refused: the autopilot
69
+ points, the user types.
70
+ - Any keystroke from the user pauses the run. Per-workflow step budgets
71
+ cap every run.
72
+
73
+ ## What this SDK also does
46
74
 
47
- **Does**
48
75
  - Mint and persist a lifetime device id (localStorage + first-party cookie).
49
76
  - Open / close a session bound to page lifecycle.
50
77
  - POST identity / stage / signal / outcome events to the Holostaff runtime.
51
78
  - Track the current SPA route and last-user-activity time, and forward
52
79
  them to the runtime on route changes plus a low-frequency heartbeat.
53
80
  - **Record the session with rrweb** (DOM, canvas at ~2 fps, media playback
54
- state, inlined images/fonts) and batch it to the runtime, where the
55
- vision pipeline watches the session and decides when the copilot should
56
- step in. Password / email / tel inputs are always masked; mark rendered
57
- PII with the `holostaff-mask` (text) or `holostaff-block` (region) CSS
58
- classes; opt out entirely with `init({ observe: { enabled: false } })`.
59
- - Hold a server-sent-events channel open and render `text` interventions
60
- as a shadow-DOM pill (dismiss / engage / 30s auto-ignore), reporting
61
- outcomes back automatically.
62
-
63
- **Does not (yet)**
64
- - Render non-text modalities (voice / email / sms / phone /
65
- screen automation) — those events are surfaced to `onError` and skipped.
81
+ state, inlined images/fonts) and batch it to the runtime. Password /
82
+ email / tel inputs are always masked; mark rendered PII with the
83
+ `holostaff-mask` (text) or `holostaff-block` (region) CSS classes; opt
84
+ out entirely with `init({ observe: { enabled: false } })`.
66
85
 
67
86
  ## References
68
87
 
69
88
  - [docs.holostaff.ai](https://docs.holostaff.ai)
89
+ - [What a workflow autopilot is](https://docs.holostaff.ai/autopilots/index.html)
90
+ - [The safety envelope](https://docs.holostaff.ai/how-it-works/guarded-actions.html)
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@holostaff/sdk",
3
- "version": "0.12.8",
4
- "description": "Holostaff SDK lifetime identity, stage detection, custom signal probes, and the living-portrait presence layer (chip, note, Theater, voice Stage) for the Holostaff runtime.",
3
+ "version": "0.12.9",
4
+ "description": "The Holostaff runtime for your app: the autopilot offer, the handover loop, and the safety envelope, in the user's own session.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://docs.holostaff.ai",
7
7
  "type": "module",
@@ -55,4 +55,4 @@
55
55
  "optional": true
56
56
  }
57
57
  }
58
- }
58
+ }