@holostaff/sdk 0.4.0 → 0.9.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.
Files changed (51) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +102 -11
  4. package/dist/index.js.map +1 -1
  5. package/dist/presence/chip.d.ts +37 -0
  6. package/dist/presence/chip.d.ts.map +1 -0
  7. package/dist/presence/chip.js +348 -0
  8. package/dist/presence/chip.js.map +1 -0
  9. package/dist/presence/index.d.ts +35 -0
  10. package/dist/presence/index.d.ts.map +1 -0
  11. package/dist/presence/index.js +81 -0
  12. package/dist/presence/index.js.map +1 -0
  13. package/dist/presence/note.d.ts +47 -0
  14. package/dist/presence/note.d.ts.map +1 -0
  15. package/dist/presence/note.js +501 -0
  16. package/dist/presence/note.js.map +1 -0
  17. package/dist/presence/types.d.ts +69 -0
  18. package/dist/presence/types.d.ts.map +1 -0
  19. package/dist/presence/types.js +8 -0
  20. package/dist/presence/types.js.map +1 -0
  21. package/dist/stage/anamFace.d.ts +32 -0
  22. package/dist/stage/anamFace.d.ts.map +1 -0
  23. package/dist/stage/anamFace.js +95 -0
  24. package/dist/stage/anamFace.js.map +1 -0
  25. package/dist/stage/index.d.ts +39 -0
  26. package/dist/stage/index.d.ts.map +1 -0
  27. package/dist/stage/index.js +182 -0
  28. package/dist/stage/index.js.map +1 -0
  29. package/dist/stage/realtime.d.ts +50 -0
  30. package/dist/stage/realtime.d.ts.map +1 -0
  31. package/dist/stage/realtime.js +165 -0
  32. package/dist/stage/realtime.js.map +1 -0
  33. package/dist/stage/ui.d.ts +27 -0
  34. package/dist/stage/ui.d.ts.map +1 -0
  35. package/dist/stage/ui.js +176 -0
  36. package/dist/stage/ui.js.map +1 -0
  37. package/dist/theater/index.d.ts +46 -0
  38. package/dist/theater/index.d.ts.map +1 -0
  39. package/dist/theater/index.js +222 -0
  40. package/dist/theater/index.js.map +1 -0
  41. package/dist/transport.d.ts +6 -0
  42. package/dist/transport.d.ts.map +1 -1
  43. package/dist/transport.js +26 -0
  44. package/dist/transport.js.map +1 -1
  45. package/dist/types.d.ts +46 -0
  46. package/dist/types.d.ts.map +1 -1
  47. package/package.json +5 -2
  48. package/dist/widget.d.ts +0 -38
  49. package/dist/widget.d.ts.map +0 -1
  50. package/dist/widget.js +0 -182
  51. package/dist/widget.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/theater/index.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,12 @@ export declare function resolveTransportConfig(opts: InitOptions): TransportConf
21
21
  * or HTTP error. Errors route to onError; never throws.
22
22
  */
23
23
  export declare function postJson(cfg: TransportConfig, path: string, body: Record<string, unknown>): Promise<boolean>;
24
+ /**
25
+ * POST JSON and return the parsed 2xx response body (or null on error).
26
+ * Used where the caller needs the response — e.g. the voice-Stage mint.
27
+ * Never throws; routes errors to onError.
28
+ */
29
+ export declare function postJsonResult<T>(cfg: TransportConfig, path: string, body: Record<string, unknown>): Promise<T | null>;
24
30
  /**
25
31
  * POST via sendBeacon — survives page navigation. Used by the close
26
32
  * path on pagehide/beforeunload. Falls back to fetch with keepalive
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAI7C,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAA;CACjC;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,WAAW,GAAG,eAAe,CAMzE;AAQD;;;GAGG;AACH,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,OAAO,CAAC,CAwBlB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CA2BT;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,eAAe,EACpB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,WAAW,GAAG,IAAI,CAapB"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAI7C,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAA;CACjC;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,WAAW,GAAG,eAAe,CAMzE;AAQD;;;GAGG;AACH,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,OAAO,CAAC,CAwBlB;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAsBnB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CA2BT;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,eAAe,EACpB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,WAAW,GAAG,IAAI,CAapB"}
package/dist/transport.js CHANGED
@@ -50,6 +50,32 @@ export async function postJson(cfg, path, body) {
50
50
  return false;
51
51
  }
52
52
  }
53
+ /**
54
+ * POST JSON and return the parsed 2xx response body (or null on error).
55
+ * Used where the caller needs the response — e.g. the voice-Stage mint.
56
+ * Never throws; routes errors to onError.
57
+ */
58
+ export async function postJsonResult(cfg, path, body) {
59
+ try {
60
+ const res = await fetch(`${cfg.baseUrl}${path}`, {
61
+ method: 'POST',
62
+ headers: buildHeaders(cfg),
63
+ body: JSON.stringify(body),
64
+ credentials: 'omit',
65
+ mode: 'cors',
66
+ });
67
+ if (!res.ok) {
68
+ const text = await res.text().catch(() => '');
69
+ cfg.onError?.(new Error(`HTTP ${res.status} ${res.statusText}${text ? ` — ${text}` : ''}`), { method: 'POST', path });
70
+ return null;
71
+ }
72
+ return await res.json();
73
+ }
74
+ catch (err) {
75
+ cfg.onError?.(err instanceof Error ? err : new Error(String(err)), { method: 'POST', path });
76
+ return null;
77
+ }
78
+ }
53
79
  /**
54
80
  * POST via sendBeacon — survives page navigation. Used by the close
55
81
  * path on pagehide/beforeunload. Falls back to fetch with keepalive
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -21,6 +21,31 @@ export interface ObserveOptions {
21
21
  */
22
22
  rrweb?: Record<string, unknown>;
23
23
  }
24
+ /** Where the presence chip docks. Default bottom-right. */
25
+ export type DockCorner = 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
26
+ export interface PresenceOptions {
27
+ /** Master switch. Default true. */
28
+ enabled?: boolean;
29
+ /** Dock corner. Default 'bottom-right'. */
30
+ dock?: DockCorner;
31
+ /** Pixel offset from the docked corner. Default 16. */
32
+ offset?: number;
33
+ }
34
+ export interface TheaterOptions {
35
+ /** Master switch. Default true (degrades gracefully if CSP-blocked). */
36
+ enabled?: boolean;
37
+ /** Theater service origin. Defaults to the public Holostaff Theater. */
38
+ baseUrl?: string;
39
+ }
40
+ export interface VoiceOptions {
41
+ /**
42
+ * Master switch for the voice Stage (P6). Default true. When on, the
43
+ * chip click + a note's "Talk" CTA open a live voice conversation
44
+ * (needs the host to allow `microphone` for its own origin). Set
45
+ * `voice: { enabled: false }` to ship presence + Theater without voice.
46
+ */
47
+ enabled?: boolean;
48
+ }
24
49
  export interface InitOptions {
25
50
  /**
26
51
  * rrweb session-capture options. Capture is ON by default — the
@@ -30,6 +55,27 @@ export interface InitOptions {
30
55
  * `observe: { enabled: false }` to opt a host out entirely.
31
56
  */
32
57
  observe?: ObserveOptions;
58
+ /**
59
+ * Living-portrait presence chip (P2). On by default. Configure the
60
+ * dock corner here when the default bottom-right collides with a host
61
+ * chat widget: `presence: { dock: 'bottom-left' }`. Set
62
+ * `presence: { enabled: false }` to suppress the chip entirely.
63
+ */
64
+ presence?: PresenceOptions;
65
+ /**
66
+ * Theater presentation overlay (P5). On by default; opens from a
67
+ * note's "Show me" CTA (and the Stage's `present()` in P6). Degrades
68
+ * gracefully if the host's `frame-src` CSP blocks the iframe. Point
69
+ * `theater: { baseUrl }` at a self-hosted Theater service if needed.
70
+ */
71
+ theater?: TheaterOptions;
72
+ /**
73
+ * Live voice Stage (P6). On by default; the chip click + a note's
74
+ * "Talk" open a voice conversation (Realtime brain + Anam face). Needs
75
+ * host `microphone` permission. `voice: { enabled: false }` ships
76
+ * presence + Theater without voice.
77
+ */
78
+ voice?: VoiceOptions;
33
79
  /** The knowledge source id (e.g. 'cli-source-abc'). Provided by the deploy PR. */
34
80
  sourceId: string;
35
81
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,WAAW,GACnB,WAAW,GACX,WAAW,GACX,WAAW,GACX,eAAe,GACf,YAAY,GACZ,UAAU,GACV,WAAW,CAAA;AAEf,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EAQtC,CAAA;AAEV,MAAM,WAAW,cAAc;IAC7B,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,kFAAkF;IAClF,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;CACtE;AAED,MAAM,MAAM,mBAAmB,GAC3B,SAAS,GACT,WAAW,GACX,SAAS,GACT,YAAY,GACZ,SAAS,GACT,SAAS,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,WAAW,GACnB,WAAW,GACX,WAAW,GACX,WAAW,GACX,eAAe,GACf,YAAY,GACZ,UAAU,GACV,WAAW,CAAA;AAEf,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EAQtC,CAAA;AAEV,MAAM,WAAW,cAAc;IAC7B,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAED,2DAA2D;AAC3D,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,aAAa,GAAG,WAAW,GAAG,UAAU,CAAA;AAElF,MAAM,WAAW,eAAe;IAC9B,mCAAmC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,kFAAkF;IAClF,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;CACtE;AAED,MAAM,MAAM,mBAAmB,GAC3B,SAAS,GACT,WAAW,GACX,SAAS,GACT,YAAY,GACZ,SAAS,GACT,SAAS,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@holostaff/sdk",
3
- "version": "0.4.0",
4
- "description": "Holostaff SDK — lifetime identity, stage detection, custom signal probes, and the intervention widget for the Holostaff runtime.",
3
+ "version": "0.9.0",
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.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://docs.holostaff.ai",
7
7
  "type": "module",
@@ -41,5 +41,8 @@
41
41
  },
42
42
  "dependencies": {
43
43
  "rrweb": "^2.0.0-alpha.4"
44
+ },
45
+ "optionalDependencies": {
46
+ "@anam-ai/js-sdk": "^3.0.0"
44
47
  }
45
48
  }
package/dist/widget.d.ts DELETED
@@ -1,38 +0,0 @@
1
- /**
2
- * Widget — Wave 3e.
3
- *
4
- * Listens to the SSE command channel for `fire_intervention` events
5
- * and renders a minimal text pill in the customer's host page. Wires
6
- * dismiss / engage user actions back to /outcome.
7
- *
8
- * Wave 3e scope:
9
- * - `text` modality only. Other modalities (voice / email / sms /
10
- * phone / screen_automation) are logged and ignored — Wave 6.
11
- * - Single visible widget at a time. A new event while one is open
12
- * replaces it (and reports 'ignored' for the prior).
13
- * - No theming. Inline-styled floating pill, fixed lower-right.
14
- *
15
- * The widget keeps zero dependencies on host CSS — it injects its own
16
- * styles into the shadow root of a top-level container so host page
17
- * rules can't bleed in or out.
18
- */
19
- import { type TransportConfig } from './transport.js';
20
- export interface WidgetBindingDeps {
21
- cfg: TransportConfig;
22
- /** Resolves the current session id at event time (may rotate after clearIdentity). */
23
- getSessionId: () => string;
24
- /** Common body builder — tenantId/sourceId/deviceId/hostUserId. */
25
- buildBody: () => Record<string, unknown>;
26
- /** SSE source — the same EventSource the SDK already opened. */
27
- source: EventSource | null;
28
- }
29
- export interface WidgetBinding {
30
- dispose(): void;
31
- }
32
- /**
33
- * Start the widget subsystem. Subscribes to the SSE `fire_intervention`
34
- * event and shows the text pill when one arrives. Idempotent in the
35
- * sense that the SDK singleton ensures one binding per session.
36
- */
37
- export declare function startWidget(deps: WidgetBindingDeps): WidgetBinding;
38
- //# sourceMappingURL=widget.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../src/widget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAY,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAS/D,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,eAAe,CAAA;IACpB,sFAAsF;IACtF,YAAY,EAAE,MAAM,MAAM,CAAA;IAC1B,mEAAmE;IACnE,SAAS,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACxC,gEAAgE;IAChE,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,IAAI,IAAI,CAAA;CAChB;AAUD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,iBAAiB,GAAG,aAAa,CAiDlE"}
package/dist/widget.js DELETED
@@ -1,182 +0,0 @@
1
- /**
2
- * Widget — Wave 3e.
3
- *
4
- * Listens to the SSE command channel for `fire_intervention` events
5
- * and renders a minimal text pill in the customer's host page. Wires
6
- * dismiss / engage user actions back to /outcome.
7
- *
8
- * Wave 3e scope:
9
- * - `text` modality only. Other modalities (voice / email / sms /
10
- * phone / screen_automation) are logged and ignored — Wave 6.
11
- * - Single visible widget at a time. A new event while one is open
12
- * replaces it (and reports 'ignored' for the prior).
13
- * - No theming. Inline-styled floating pill, fixed lower-right.
14
- *
15
- * The widget keeps zero dependencies on host CSS — it injects its own
16
- * styles into the shadow root of a top-level container so host page
17
- * rules can't bleed in or out.
18
- */
19
- import { postJson } from './transport.js';
20
- /** Auto-dismiss timeout — runtime doc §9.1 'ignored' outcome. */
21
- const AUTO_DISMISS_MS = 30000;
22
- /** Container id — single instance per page. */
23
- const CONTAINER_ID = 'holostaff-widget-root';
24
- /**
25
- * Start the widget subsystem. Subscribes to the SSE `fire_intervention`
26
- * event and shows the text pill when one arrives. Idempotent in the
27
- * sense that the SDK singleton ensures one binding per session.
28
- */
29
- export function startWidget(deps) {
30
- if (typeof window === 'undefined' || !deps.source) {
31
- return { dispose: () => { } };
32
- }
33
- let currentWidget = null;
34
- const onFire = (rawEvent) => {
35
- let parsed = null;
36
- try {
37
- const data = JSON.parse(rawEvent.data);
38
- if (!data || typeof data.interventionId !== 'string')
39
- return;
40
- parsed = data;
41
- }
42
- catch {
43
- return;
44
- }
45
- if (!parsed)
46
- return;
47
- // Modality gate — only text is supported in v1.
48
- if (parsed.modality !== 'text') {
49
- deps.cfg.onError?.(new Error(`Modality '${parsed.modality}' is not supported in this SDK build`), { method: 'WIDGET', path: '(fire_intervention)' });
50
- return;
51
- }
52
- // If a widget is already up, evict it as 'ignored' before showing the new one.
53
- if (currentWidget) {
54
- currentWidget.reportAndClose('ignored');
55
- }
56
- currentWidget = renderWidget(deps, parsed, () => {
57
- if (currentWidget && currentWidget.event.interventionId === parsed.interventionId) {
58
- currentWidget = null;
59
- }
60
- });
61
- };
62
- deps.source.addEventListener('fire_intervention', onFire);
63
- return {
64
- dispose() {
65
- deps.source?.removeEventListener('fire_intervention', onFire);
66
- if (currentWidget) {
67
- currentWidget.detach();
68
- currentWidget = null;
69
- }
70
- },
71
- };
72
- }
73
- function renderWidget(deps, event, onClosed) {
74
- const container = ensureContainer();
75
- const root = container.shadowRoot;
76
- // Clear any prior content (defensive — single-widget invariant).
77
- root.innerHTML = '';
78
- const wrapper = document.createElement('div');
79
- wrapper.className = 'pill';
80
- wrapper.setAttribute('role', 'dialog');
81
- wrapper.setAttribute('aria-live', 'polite');
82
- wrapper.setAttribute('data-intervention-id', event.interventionId);
83
- const message = document.createElement('div');
84
- message.className = 'message';
85
- message.textContent = event.content || event.goal;
86
- const actions = document.createElement('div');
87
- actions.className = 'actions';
88
- const dismissBtn = document.createElement('button');
89
- dismissBtn.className = 'btn dismiss';
90
- dismissBtn.type = 'button';
91
- dismissBtn.textContent = 'Dismiss';
92
- const engageBtn = document.createElement('button');
93
- engageBtn.className = 'btn engage';
94
- engageBtn.type = 'button';
95
- engageBtn.textContent = 'Got it';
96
- actions.appendChild(dismissBtn);
97
- actions.appendChild(engageBtn);
98
- wrapper.appendChild(message);
99
- wrapper.appendChild(actions);
100
- root.appendChild(styleNode());
101
- root.appendChild(wrapper);
102
- let closed = false;
103
- let timeoutId = setTimeout(() => {
104
- instance.reportAndClose('ignored');
105
- }, AUTO_DISMISS_MS);
106
- const reportOutcome = (outcome) => {
107
- const body = {
108
- ...deps.buildBody(),
109
- interventionId: event.interventionId,
110
- outcome,
111
- };
112
- void postJson(deps.cfg, `/api/runtime/sessions/${deps.getSessionId()}/outcome`, body);
113
- };
114
- const close = (outcome) => {
115
- if (closed)
116
- return;
117
- closed = true;
118
- if (timeoutId != null) {
119
- clearTimeout(timeoutId);
120
- timeoutId = null;
121
- }
122
- if (outcome)
123
- reportOutcome(outcome);
124
- try {
125
- root.removeChild(wrapper);
126
- }
127
- catch { /* removed already */ }
128
- onClosed();
129
- };
130
- dismissBtn.addEventListener('click', () => close('dismissed'));
131
- engageBtn.addEventListener('click', () => close('engaged'));
132
- const instance = {
133
- event,
134
- reportAndClose(outcome) { close(outcome); },
135
- detach() { close(null); },
136
- };
137
- return instance;
138
- }
139
- function ensureContainer() {
140
- let el = document.getElementById(CONTAINER_ID);
141
- if (el)
142
- return el;
143
- el = document.createElement('div');
144
- el.id = CONTAINER_ID;
145
- el.style.cssText = 'position:fixed;right:16px;bottom:16px;z-index:2147483647;pointer-events:none';
146
- el.attachShadow({ mode: 'open' });
147
- document.body.appendChild(el);
148
- return el;
149
- }
150
- function styleNode() {
151
- const node = document.createElement('style');
152
- // Inline styles only — shadow-DOM scoped, no host page leakage.
153
- node.textContent = `
154
- .pill {
155
- pointer-events: auto;
156
- max-width: 360px;
157
- background: #111;
158
- color: #fafafa;
159
- border-radius: 14px;
160
- box-shadow: 0 12px 32px rgba(0,0,0,0.32), 0 2px 8px rgba(0,0,0,0.12);
161
- padding: 14px 16px 12px;
162
- font: 14px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
163
- }
164
- .message { margin-bottom: 12px; }
165
- .actions { display: flex; gap: 8px; justify-content: flex-end; }
166
- .btn {
167
- appearance: none;
168
- border: 0;
169
- padding: 6px 12px;
170
- border-radius: 8px;
171
- font: inherit;
172
- font-size: 13px;
173
- cursor: pointer;
174
- }
175
- .btn.dismiss { background: transparent; color: #c7c7c7; }
176
- .btn.dismiss:hover { color: #fff; }
177
- .btn.engage { background: #4f8bff; color: #fff; }
178
- .btn.engage:hover { background: #6aa0ff; }
179
- `;
180
- return node;
181
- }
182
- //# sourceMappingURL=widget.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"widget.js","sourceRoot":"","sources":["../src/widget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,QAAQ,EAAwB,MAAM,gBAAgB,CAAA;AAG/D,iEAAiE;AACjE,MAAM,eAAe,GAAG,KAAM,CAAA;AAE9B,+CAA+C;AAC/C,MAAM,YAAY,GAAG,uBAAuB,CAAA;AAwB5C;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,IAAuB;IACjD,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAClD,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAA;IAC9B,CAAC;IAED,IAAI,aAAa,GAA0B,IAAI,CAAA;IAE/C,MAAM,MAAM,GAAG,CAAC,QAAsB,EAAQ,EAAE;QAC9C,IAAI,MAAM,GAAqB,IAAI,CAAA;QACnC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAc,CAAA;YACnD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ;gBAAE,OAAM;YAC5D,MAAM,GAAG,IAAI,CAAA;QACf,CAAC;QAAC,MAAM,CAAC;YACP,OAAM;QACR,CAAC;QACD,IAAI,CAAC,MAAM;YAAE,OAAM;QAEnB,gDAAgD;QAChD,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC/B,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAChB,IAAI,KAAK,CAAC,aAAa,MAAM,CAAC,QAAQ,sCAAsC,CAAC,EAC7E,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAClD,CAAA;YACD,OAAM;QACR,CAAC;QAED,+EAA+E;QAC/E,IAAI,aAAa,EAAE,CAAC;YAClB,aAAa,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;QACzC,CAAC;QACD,aAAa,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;YAC9C,IAAI,aAAa,IAAI,aAAa,CAAC,KAAK,CAAC,cAAc,KAAK,MAAO,CAAC,cAAc,EAAE,CAAC;gBACnF,aAAa,GAAG,IAAI,CAAA;YACtB,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,MAAuB,CAAC,CAAA;IAE1E,OAAO;QACL,OAAO;YACL,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,mBAAmB,EAAE,MAAuB,CAAC,CAAA;YAC9E,IAAI,aAAa,EAAE,CAAC;gBAClB,aAAa,CAAC,MAAM,EAAE,CAAA;gBACtB,aAAa,GAAG,IAAI,CAAA;YACtB,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC;AAcD,SAAS,YAAY,CACnB,IAAuB,EACvB,KAAgB,EAChB,QAAoB;IAEpB,MAAM,SAAS,GAAG,eAAe,EAAE,CAAA;IACnC,MAAM,IAAI,GAAG,SAAS,CAAC,UAAW,CAAA;IAElC,iEAAiE;IACjE,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;IAEnB,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAC7C,OAAO,CAAC,SAAS,GAAG,MAAM,CAAA;IAC1B,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACtC,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;IAC3C,OAAO,CAAC,YAAY,CAAC,sBAAsB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAA;IAElE,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAC7C,OAAO,CAAC,SAAS,GAAG,SAAS,CAAA;IAC7B,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAA;IAEjD,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAC7C,OAAO,CAAC,SAAS,GAAG,SAAS,CAAA;IAE7B,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IACnD,UAAU,CAAC,SAAS,GAAG,aAAa,CAAA;IACpC,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAA;IAC1B,UAAU,CAAC,WAAW,GAAG,SAAS,CAAA;IAElC,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IAClD,SAAS,CAAC,SAAS,GAAG,YAAY,CAAA;IAClC,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAA;IACzB,SAAS,CAAC,WAAW,GAAG,QAAQ,CAAA;IAEhC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;IAC/B,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;IAE9B,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;IAC5B,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;IAC5B,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAA;IAC7B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;IAEzB,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,SAAS,GAAyC,UAAU,CAAC,GAAG,EAAE;QACpE,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;IACpC,CAAC,EAAE,eAAe,CAAC,CAAA;IAEnB,MAAM,aAAa,GAAG,CAAC,OAA4B,EAAQ,EAAE;QAC3D,MAAM,IAAI,GAAG;YACX,GAAG,IAAI,CAAC,SAAS,EAAE;YACnB,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,OAAO;SACR,CAAA;QACD,KAAK,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,yBAAyB,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;IACvF,CAAC,CAAA;IAED,MAAM,KAAK,GAAG,CAAC,OAAmC,EAAQ,EAAE;QAC1D,IAAI,MAAM;YAAE,OAAM;QAClB,MAAM,GAAG,IAAI,CAAA;QACb,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACtB,YAAY,CAAC,SAAS,CAAC,CAAA;YACvB,SAAS,GAAG,IAAI,CAAA;QAClB,CAAC;QACD,IAAI,OAAO;YAAE,aAAa,CAAC,OAAO,CAAC,CAAA;QACnC,IAAI,CAAC;YAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC;QACjE,QAAQ,EAAE,CAAA;IACZ,CAAC,CAAA;IAED,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAA;IAC9D,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;IAE3D,MAAM,QAAQ,GAAmB;QAC/B,KAAK;QACL,cAAc,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC;QAC1C,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC;KACzB,CAAA;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,eAAe;IACtB,IAAI,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;IAC9C,IAAI,EAAE;QAAE,OAAO,EAAE,CAAA;IACjB,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAClC,EAAE,CAAC,EAAE,GAAG,YAAY,CAAA;IACpB,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,8EAA8E,CAAA;IACjG,EAAE,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;IACjC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IAC7B,OAAO,EAAE,CAAA;AACX,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IAC5C,gEAAgE;IAChE,IAAI,CAAC,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BlB,CAAA;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}