@hainiva/agent-sdk 0.2.0 → 0.3.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/CHANGELOG.md +23 -4
- package/README.md +85 -8
- package/dist/cjs/agent.cjs +4 -0
- package/dist/cjs/agent.d.cts +5 -1
- package/dist/cjs/contract.d.cts +10 -0
- package/dist/cjs/embed.cjs +249 -7
- package/dist/cjs/embed.d.cts +181 -7
- package/dist/cjs/index.cjs +3 -3
- package/dist/cjs/index.d.cts +3 -3
- package/dist/cjs/react-native.cjs +6 -1
- package/dist/cjs/react-native.d.cts +1 -0
- package/dist/cjs/reactNativeDesk.cjs +107 -0
- package/dist/cjs/reactNativeDesk.d.cts +53 -0
- package/dist/cjs/rest.cjs +6 -0
- package/dist/cjs/rest.d.cts +7 -1
- package/dist/esm/agent.d.ts +5 -1
- package/dist/esm/agent.d.ts.map +1 -1
- package/dist/esm/agent.js +4 -0
- package/dist/esm/agent.js.map +1 -1
- package/dist/esm/contract.d.ts +10 -0
- package/dist/esm/contract.d.ts.map +1 -1
- package/dist/esm/contract.js.map +1 -1
- package/dist/esm/embed.d.ts +181 -7
- package/dist/esm/embed.d.ts.map +1 -1
- package/dist/esm/embed.js +243 -5
- package/dist/esm/embed.js.map +1 -1
- package/dist/esm/index.d.ts +3 -3
- package/dist/esm/index.js +3 -3
- package/dist/esm/react-native.d.ts +1 -0
- package/dist/esm/react-native.d.ts.map +1 -1
- package/dist/esm/react-native.js +3 -0
- package/dist/esm/react-native.js.map +1 -1
- package/dist/esm/reactNativeDesk.d.ts +54 -0
- package/dist/esm/reactNativeDesk.d.ts.map +1 -0
- package/dist/esm/reactNativeDesk.js +103 -0
- package/dist/esm/reactNativeDesk.js.map +1 -0
- package/dist/esm/rest.d.ts +7 -1
- package/dist/esm/rest.d.ts.map +1 -1
- package/dist/esm/rest.js +6 -0
- package/dist/esm/rest.js.map +1 -1
- package/package.json +49 -12
package/dist/cjs/embed.d.cts
CHANGED
|
@@ -1,13 +1,187 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @hainiva/agent-sdk/embed — the
|
|
3
|
-
*
|
|
2
|
+
* @hainiva/agent-sdk/embed — the HAINIVA desk inside your web product.
|
|
3
|
+
*
|
|
4
|
+
* import { HainivaAgent } from "@hainiva/agent-sdk";
|
|
5
|
+
* import { mountDesk } from "@hainiva/agent-sdk/embed";
|
|
6
|
+
*
|
|
7
|
+
* const agent = new HainivaAgent({ baseUrl: "https://api.hainiva.com", tenantId, getAssertion });
|
|
8
|
+
* await agent.connect();
|
|
9
|
+
* const desk = mountDesk(document.getElementById("desk")!, {
|
|
10
|
+
* agent, appId: "<your agent app id>", baseUrl: "https://app.hainiva.com",
|
|
11
|
+
* onEnded: (reason) => showSignedOut(reason),
|
|
12
|
+
* });
|
|
13
|
+
* // later: desk.setTheme("dark"); desk.destroy();
|
|
14
|
+
*
|
|
15
|
+
* Your staff member is signed in with YOUR agent session: the SDK exchanges it
|
|
16
|
+
* for a 15-minute desk token (POST /agent/v1/desk-session) and hands that to
|
|
17
|
+
* the desk over postMessage — never in the URL, never stored. The desk asks
|
|
18
|
+
* for a fresh one before it expires; when the session ends (signed out,
|
|
19
|
+
* suspended, app paused) the desk shows "ended" and `onEnded` fires.
|
|
20
|
+
*
|
|
21
|
+
* Your page's origin must be in the agent app's `allowedOrigins`: that list is
|
|
22
|
+
* also the desk's CSP frame-ancestors, so any other site gets a blank frame.
|
|
23
|
+
*
|
|
24
|
+
* Security, both directions:
|
|
25
|
+
* - only messages whose `event.source` is THIS iframe's window and whose
|
|
26
|
+
* `event.origin` is the HAINIVA desk origin are read, and only in the exact
|
|
27
|
+
* message shapes below;
|
|
28
|
+
* - everything we send goes to the desk origin only (never "*").
|
|
4
29
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
30
|
+
import type { AgentDeskSessionDto } from "./contract.cjs";
|
|
31
|
+
export type DeskEndReason = "not_embedded" | "no_host" | "expired" | "revoked" | "host_ended" | "misconfigured"
|
|
32
|
+
/** The desk never answered (wrong origin: the CSP blocked the frame; network). */
|
|
33
|
+
| "load_failed"
|
|
34
|
+
/** Your agent session could not provide a desk token. */
|
|
35
|
+
| "session_ended";
|
|
36
|
+
/** From the desk. */
|
|
37
|
+
export type DeskToHost = {
|
|
38
|
+
v: 1;
|
|
39
|
+
type: "hainiva:ready";
|
|
40
|
+
appId: string;
|
|
41
|
+
} | {
|
|
42
|
+
v: 1;
|
|
43
|
+
type: "hainiva:token-request";
|
|
44
|
+
reason: "expiring" | "unauthorized";
|
|
45
|
+
} | {
|
|
46
|
+
v: 1;
|
|
47
|
+
type: "hainiva:ended";
|
|
48
|
+
reason: Exclude<DeskEndReason, "load_failed" | "session_ended">;
|
|
49
|
+
} | {
|
|
50
|
+
v: 1;
|
|
51
|
+
type: "hainiva:dial";
|
|
52
|
+
number: string;
|
|
53
|
+
contactId?: string;
|
|
54
|
+
} | {
|
|
55
|
+
v: 1;
|
|
56
|
+
type: "hainiva:dialer";
|
|
57
|
+
number?: string;
|
|
58
|
+
contactId?: string;
|
|
59
|
+
} | {
|
|
60
|
+
v: 1;
|
|
61
|
+
type: "hainiva:open-url";
|
|
62
|
+
url: string;
|
|
63
|
+
} | {
|
|
64
|
+
v: 1;
|
|
65
|
+
type: "hainiva:media-error";
|
|
66
|
+
name: string;
|
|
67
|
+
};
|
|
68
|
+
/** To the desk. */
|
|
69
|
+
export type HostToDesk = {
|
|
70
|
+
v: 1;
|
|
71
|
+
type: "hainiva:token";
|
|
72
|
+
token: string;
|
|
73
|
+
expiresAt: string;
|
|
74
|
+
} | {
|
|
75
|
+
v: 1;
|
|
76
|
+
type: "hainiva:theme";
|
|
77
|
+
mode: "light" | "dark";
|
|
78
|
+
} | {
|
|
79
|
+
v: 1;
|
|
80
|
+
type: "hainiva:locale";
|
|
81
|
+
locale: "vi" | "en";
|
|
82
|
+
} | {
|
|
83
|
+
v: 1;
|
|
84
|
+
type: "hainiva:end";
|
|
85
|
+
};
|
|
86
|
+
/** Exactly one of the desk's messages, or null. */
|
|
87
|
+
export declare function parseDeskMessage(data: unknown): DeskToHost | null;
|
|
88
|
+
/** Where the desk token comes from: `HainivaAgent` (its `desk.session()`), or anything shaped like it. */
|
|
89
|
+
export interface DeskTokenSource {
|
|
90
|
+
desk: {
|
|
91
|
+
session(): Promise<AgentDeskSessionDto>;
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
export interface DeskCallbacks {
|
|
95
|
+
/** The desk wants to place a call (React Native: your native call; web: the desk calls itself and never sends this). */
|
|
96
|
+
onDial?: (number: string, contactId?: string) => void;
|
|
97
|
+
/** Open your dialer, optionally pre-filled. */
|
|
98
|
+
onDialer?: (prefill: {
|
|
99
|
+
number?: string;
|
|
100
|
+
contactId?: string;
|
|
101
|
+
}) => void;
|
|
102
|
+
/** The desk's session is over. Show your own signed-out state; mount again after a new sign-in. */
|
|
103
|
+
onEnded?: (reason: DeskEndReason) => void;
|
|
104
|
+
/** A link the desk cannot open itself (React Native). Default: ignored. */
|
|
105
|
+
onOpenUrl?: (url: string) => void;
|
|
106
|
+
/** The microphone/camera was refused (web): check your iframe's `allow` and the browser's permission. */
|
|
107
|
+
onMediaError?: (name: string) => void;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* The host side of the desk protocol, transport-agnostic: `mountDesk` (iframe)
|
|
111
|
+
* and `<HainivaDesk/>` (React Native WebView) both drive one.
|
|
112
|
+
* @internal exported for the React Native entry and tests.
|
|
113
|
+
*/
|
|
114
|
+
export declare class DeskHost {
|
|
115
|
+
private readonly appId;
|
|
116
|
+
private readonly source;
|
|
117
|
+
private readonly send;
|
|
118
|
+
private readonly cb;
|
|
119
|
+
private ended;
|
|
120
|
+
private ready;
|
|
121
|
+
private inflight;
|
|
122
|
+
constructor(appId: string, source: DeskTokenSource, send: (m: HostToDesk) => void, cb: DeskCallbacks);
|
|
123
|
+
get isReady(): boolean;
|
|
124
|
+
get isEnded(): boolean;
|
|
125
|
+
/** A raw message from the desk (already origin/source-checked by the transport). */
|
|
126
|
+
receive(raw: unknown): void;
|
|
127
|
+
/** One desk-session request at a time; the token goes to the desk only. */
|
|
128
|
+
supplyToken(): Promise<void>;
|
|
129
|
+
setTheme(mode: "light" | "dark"): void;
|
|
130
|
+
setLocale(locale: "vi" | "en"): void;
|
|
131
|
+
finish(reason: DeskEndReason, tellDesk: boolean): void;
|
|
132
|
+
}
|
|
133
|
+
/** The desk page for an app. The URL carries the app id ONLY. */
|
|
134
|
+
export declare function deskUrl(baseUrl: string, appId: string, opts?: {
|
|
135
|
+
allowInsecureLocalhost?: boolean;
|
|
136
|
+
}): URL;
|
|
137
|
+
/**
|
|
138
|
+
* The iframe's sandbox — every flag the desk needs and nothing more:
|
|
139
|
+
* allow-scripts the desk is an application;
|
|
140
|
+
* allow-same-origin the desk keeps ITS OWN origin (app.hainiva.com):
|
|
141
|
+
* its same-origin API calls, its session storage
|
|
142
|
+
* and the gateway's Origin check depend on it. It
|
|
143
|
+
* gives the desk no access to your page — that is
|
|
144
|
+
* a different origin;
|
|
145
|
+
* allow-forms the composer and every dialog submit forms;
|
|
146
|
+
* allow-popups links, recordings and help open in a new tab…
|
|
147
|
+
* allow-popups-to-escape-sandbox …as normal pages, not sandboxed copies;
|
|
148
|
+
* allow-downloads call recordings, attachments, exports;
|
|
149
|
+
* allow-modals the desk confirms destructive actions (confirm()).
|
|
150
|
+
* Deliberately NOT: allow-top-navigation(-by-user-activation) — the desk can
|
|
151
|
+
* never navigate your page; allow-pointer-lock, allow-presentation,
|
|
152
|
+
* allow-orientation-lock, allow-storage-access-by-user-activation.
|
|
153
|
+
*/
|
|
154
|
+
export declare const DESK_SANDBOX = "allow-scripts allow-same-origin allow-forms allow-popups allow-popups-to-escape-sandbox allow-downloads allow-modals";
|
|
155
|
+
/** Calls in the iframe are WebRTC: the microphone (and camera for video) must be delegated. */
|
|
156
|
+
export declare const DESK_ALLOW = "microphone; camera; autoplay; clipboard-write";
|
|
157
|
+
export interface MountDeskOptions extends DeskCallbacks {
|
|
158
|
+
/** A connected HainivaAgent (or anything with `desk.session()`). */
|
|
159
|
+
agent: DeskTokenSource;
|
|
160
|
+
/** Your agent app id (its allowedOrigins must list this page's origin). */
|
|
161
|
+
appId: string;
|
|
162
|
+
/** The HAINIVA desk, e.g. https://app.hainiva.com. */
|
|
163
|
+
baseUrl: string;
|
|
164
|
+
theme?: "light" | "dark";
|
|
165
|
+
locale?: "vi" | "en";
|
|
166
|
+
/** The iframe's accessible title. Default "HAINIVA". */
|
|
167
|
+
title?: string;
|
|
168
|
+
/** No `hainiva:ready` within this long = onEnded("load_failed"). Default 20 s. */
|
|
169
|
+
loadTimeoutMs?: number;
|
|
170
|
+
/** Local development only (http://localhost desk). */
|
|
171
|
+
allowInsecureLocalhost?: boolean;
|
|
8
172
|
}
|
|
9
173
|
export interface MountedDesk {
|
|
174
|
+
/** Remove the desk (it is told to drop its token first). */
|
|
10
175
|
destroy(): void;
|
|
176
|
+
setTheme(mode: "light" | "dark"): void;
|
|
177
|
+
setLocale(locale: "vi" | "en"): void;
|
|
178
|
+
/** The iframe, for sizing. */
|
|
179
|
+
readonly iframe: HTMLIFrameElement;
|
|
180
|
+
}
|
|
181
|
+
interface ContainerLike {
|
|
182
|
+
appendChild(n: unknown): unknown;
|
|
183
|
+
ownerDocument?: Document | null;
|
|
11
184
|
}
|
|
12
|
-
/**
|
|
13
|
-
export declare function mountDesk(
|
|
185
|
+
/** Show the HAINIVA desk in `container`, signed in as your agent session's staff member. */
|
|
186
|
+
export declare function mountDesk(container: ContainerLike, o: MountDeskOptions): MountedDesk;
|
|
187
|
+
export {};
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
* Entry points:
|
|
7
7
|
* "@hainiva/agent-sdk" transport-agnostic core (this file) — no LiveKit, no DOM, no React Native
|
|
8
8
|
* "@hainiva/agent-sdk/web" localStorage store (opt-in), LiveKit call media
|
|
9
|
-
* "@hainiva/agent-sdk/react-native" secure-store session, LiveKit call media
|
|
10
|
-
* "@hainiva/agent-sdk/embed" the
|
|
9
|
+
* "@hainiva/agent-sdk/react-native" secure-store session, LiveKit call media, <HainivaDesk/>
|
|
10
|
+
* "@hainiva/agent-sdk/embed" mountDesk(): the HAINIVA desk in your web page (iframe)
|
|
11
11
|
*
|
|
12
12
|
* Start with HainivaAgent (./agent): it wires the session, the REST client,
|
|
13
13
|
* the event socket and the call state machine together. The parts are exported
|
|
@@ -29,7 +29,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
29
29
|
};
|
|
30
30
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
31
|
exports.toCallEvents = exports.ringInfo = exports.isEventFrame = exports.agentSocketBindings = exports.AGENT_CLOSE_CODES = exports.newIdempotencyKey = exports.errorFromResponse = exports.AgentRestClient = exports.HainivaAgent = exports.initialCallsState = exports.ringingCalls = exports.activeCall = exports.transition = exports.CallStore = exports.backoffDelay = exports.ReconnectingSocket = exports.memoryStore = exports.SessionManager = exports.createTokenRefresher = exports.singleFlight = exports.TypedEmitter = exports.assertSafeUrl = exports.safeLogger = exports.redactValue = exports.redactString = exports.Redactor = exports.HainivaAgentError = exports.SDK_VERSION = void 0;
|
|
32
|
-
exports.SDK_VERSION = "0.
|
|
32
|
+
exports.SDK_VERSION = "0.3.0";
|
|
33
33
|
var errors_js_1 = require("./errors.cjs");
|
|
34
34
|
Object.defineProperty(exports, "HainivaAgentError", { enumerable: true, get: function () { return errors_js_1.HainivaAgentError; } });
|
|
35
35
|
var redact_js_1 = require("./redact.cjs");
|
package/dist/cjs/index.d.cts
CHANGED
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
* Entry points:
|
|
6
6
|
* "@hainiva/agent-sdk" transport-agnostic core (this file) — no LiveKit, no DOM, no React Native
|
|
7
7
|
* "@hainiva/agent-sdk/web" localStorage store (opt-in), LiveKit call media
|
|
8
|
-
* "@hainiva/agent-sdk/react-native" secure-store session, LiveKit call media
|
|
9
|
-
* "@hainiva/agent-sdk/embed" the
|
|
8
|
+
* "@hainiva/agent-sdk/react-native" secure-store session, LiveKit call media, <HainivaDesk/>
|
|
9
|
+
* "@hainiva/agent-sdk/embed" mountDesk(): the HAINIVA desk in your web page (iframe)
|
|
10
10
|
*
|
|
11
11
|
* Start with HainivaAgent (./agent): it wires the session, the REST client,
|
|
12
12
|
* the event socket and the call state machine together. The parts are exported
|
|
13
13
|
* too, for apps that want their own wiring.
|
|
14
14
|
*/
|
|
15
|
-
export declare const SDK_VERSION = "0.
|
|
15
|
+
export declare const SDK_VERSION = "0.3.0";
|
|
16
16
|
export { HainivaAgentError } from "./errors.cjs";
|
|
17
17
|
export { Redactor, redactString, redactValue } from "./redact.cjs";
|
|
18
18
|
export { safeLogger, type Logger } from "./log.cjs";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.joinCallRoom = void 0;
|
|
3
|
+
exports.deskBridgeScript = exports.HainivaDesk = exports.joinCallRoom = void 0;
|
|
4
4
|
exports.secureStoreSessionStore = secureStoreSessionStore;
|
|
5
5
|
var livekit_js_1 = require("./livekit.cjs");
|
|
6
6
|
Object.defineProperty(exports, "joinCallRoom", { enumerable: true, get: function () { return livekit_js_1.joinCallRoom; } });
|
|
@@ -25,3 +25,8 @@ function secureStoreSessionStore(secure, o = {}) {
|
|
|
25
25
|
remove: () => secure.deleteItemAsync(key, opts),
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
|
+
// The embedded HAINIVA desk in a WebView (react-native-webview, an optional
|
|
29
|
+
// peer), signed in with your agent session; calls stay native in your app.
|
|
30
|
+
var reactNativeDesk_js_1 = require("./reactNativeDesk.cjs");
|
|
31
|
+
Object.defineProperty(exports, "HainivaDesk", { enumerable: true, get: function () { return reactNativeDesk_js_1.HainivaDesk; } });
|
|
32
|
+
Object.defineProperty(exports, "deskBridgeScript", { enumerable: true, get: function () { return reactNativeDesk_js_1.deskBridgeScript; } });
|
|
@@ -36,3 +36,4 @@ export interface SecureStoreSessionOptions {
|
|
|
36
36
|
* const store = secureStoreSessionStore(SecureStore);
|
|
37
37
|
*/
|
|
38
38
|
export declare function secureStoreSessionStore(secure: SecureStoreModule, o?: SecureStoreSessionOptions): SessionStore;
|
|
39
|
+
export { HainivaDesk, deskBridgeScript, type HainivaDeskProps, type WebViewLike } from "./reactNativeDesk.cjs";
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deskBridgeScript = deskBridgeScript;
|
|
4
|
+
exports.deliverScript = deliverScript;
|
|
5
|
+
exports.HainivaDesk = HainivaDesk;
|
|
6
|
+
/**
|
|
7
|
+
* `<HainivaDesk/>` — the HAINIVA desk inside your React Native app.
|
|
8
|
+
*
|
|
9
|
+
* import { WebView } from "react-native-webview";
|
|
10
|
+
* import { HainivaDesk } from "@hainiva/agent-sdk/react-native";
|
|
11
|
+
*
|
|
12
|
+
* <HainivaDesk agent={agent} appId={APP_ID} baseUrl="https://app.hainiva.com"
|
|
13
|
+
* onDial={(number, contactId) => placeNativeCall(number, contactId)}
|
|
14
|
+
* onEnded={(reason) => goToSignIn(reason)} />
|
|
15
|
+
*
|
|
16
|
+
* The split is the HAINIVA Agent app's: YOUR app rings and carries call audio
|
|
17
|
+
* natively (@hainiva/react-native-call + this SDK's CallStore); the desk shows
|
|
18
|
+
* the work and hands calls to you (`onDial`, `onDialer`).
|
|
19
|
+
*
|
|
20
|
+
* Security:
|
|
21
|
+
* - `originWhitelist` and `onShouldStartLoadWithRequest` keep the WebView on
|
|
22
|
+
* the HAINIVA desk origin; any other URL is refused there (and offered to
|
|
23
|
+
* `onOpenUrl`, if you pass one);
|
|
24
|
+
* - no window.open passthrough (`setSupportMultipleWindows={false}`,
|
|
25
|
+
* `javaScriptCanOpenWindowsAutomatically={false}`);
|
|
26
|
+
* - the bridge is installed before the desk's scripts and ONLY when the page
|
|
27
|
+
* is on the desk origin; the desk token goes in by injectJavaScript, never
|
|
28
|
+
* in the URL, and is not written to storage.
|
|
29
|
+
*/
|
|
30
|
+
const React = require("react");
|
|
31
|
+
const embed_js_1 = require("./embed.cjs");
|
|
32
|
+
/** Runs before the desk's scripts, on the desk origin only: the partner-rn bridge the desk looks for. */
|
|
33
|
+
function deskBridgeScript(deskOrigin, appId) {
|
|
34
|
+
return `(function(){if(location.origin!==${JSON.stringify(deskOrigin)})return;`
|
|
35
|
+
+ `window.__HAINIVA_EMBED__={host:"partner-rn",appId:${JSON.stringify(appId.toLowerCase())},q:[],deliver:function(s){this.q.push(String(s));}};})();true;`;
|
|
36
|
+
}
|
|
37
|
+
/** A message to the desk, as a script: JSON twice (a string literal of the JSON), nothing interpolated raw. */
|
|
38
|
+
function deliverScript(m) {
|
|
39
|
+
return `window.__HAINIVA_EMBED__&&window.__HAINIVA_EMBED__.deliver(${JSON.stringify(JSON.stringify(m))});true;`;
|
|
40
|
+
}
|
|
41
|
+
function defaultWebView() {
|
|
42
|
+
const mod = require("react-native-webview");
|
|
43
|
+
const W = mod.WebView ?? mod.default;
|
|
44
|
+
if (!W)
|
|
45
|
+
throw new Error("@hainiva/agent-sdk: install react-native-webview (or pass the WebView prop) to use <HainivaDesk/>");
|
|
46
|
+
return W;
|
|
47
|
+
}
|
|
48
|
+
function HainivaDesk(props) {
|
|
49
|
+
const url = React.useMemo(() => (0, embed_js_1.deskUrl)(props.baseUrl, props.appId, props.allowInsecureLocalhost ? { allowInsecureLocalhost: true } : {}), [props.baseUrl, props.appId, props.allowInsecureLocalhost]);
|
|
50
|
+
const origin = url.origin;
|
|
51
|
+
const web = React.useRef(null);
|
|
52
|
+
const latest = React.useRef(props);
|
|
53
|
+
latest.current = props;
|
|
54
|
+
const host = React.useMemo(() => new embed_js_1.DeskHost(props.appId, props.agent, (m) => web.current?.injectJavaScript(deliverScript(m)), {
|
|
55
|
+
onDial: (n, c) => latest.current.onDial?.(n, c),
|
|
56
|
+
onDialer: (p) => latest.current.onDialer?.(p),
|
|
57
|
+
onEnded: (r) => latest.current.onEnded?.(r),
|
|
58
|
+
onOpenUrl: (u) => latest.current.onOpenUrl?.(u),
|
|
59
|
+
onMediaError: (n) => latest.current.onMediaError?.(n),
|
|
60
|
+
}),
|
|
61
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
62
|
+
[props.appId, props.agent, origin]);
|
|
63
|
+
React.useEffect(() => { if (props.theme && host.isReady)
|
|
64
|
+
host.setTheme(props.theme); }, [props.theme, host]);
|
|
65
|
+
React.useEffect(() => { if (props.locale && host.isReady)
|
|
66
|
+
host.setLocale(props.locale); }, [props.locale, host]);
|
|
67
|
+
// Unmounted: the desk drops its token.
|
|
68
|
+
React.useEffect(() => () => { if (!host.isEnded)
|
|
69
|
+
web.current?.injectJavaScript(deliverScript({ v: 1, type: "hainiva:end" })); }, [host]);
|
|
70
|
+
const W = props.WebView ?? defaultWebView();
|
|
71
|
+
return React.createElement(W, {
|
|
72
|
+
ref: web,
|
|
73
|
+
source: { uri: url.href },
|
|
74
|
+
style: props.style,
|
|
75
|
+
originWhitelist: [origin],
|
|
76
|
+
injectedJavaScriptBeforeContentLoaded: deskBridgeScript(origin, props.appId),
|
|
77
|
+
onMessage: (e) => {
|
|
78
|
+
// Only from the desk origin (a page elsewhere never gets the bridge, and is refused below anyway).
|
|
79
|
+
const from = e.nativeEvent.url;
|
|
80
|
+
if (typeof from === "string" && !from.startsWith(`${origin}/`))
|
|
81
|
+
return;
|
|
82
|
+
const wasReady = host.isReady;
|
|
83
|
+
host.receive(e.nativeEvent.data);
|
|
84
|
+
if (!wasReady && host.isReady) {
|
|
85
|
+
if (latest.current.theme)
|
|
86
|
+
host.setTheme(latest.current.theme);
|
|
87
|
+
if (latest.current.locale)
|
|
88
|
+
host.setLocale(latest.current.locale);
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
onShouldStartLoadWithRequest: (r) => {
|
|
92
|
+
if (r.url === "about:blank" || r.url.startsWith(`${origin}/`) || r.url.startsWith("blob:") || r.url.startsWith("data:"))
|
|
93
|
+
return true;
|
|
94
|
+
latest.current.onOpenUrl?.(r.url);
|
|
95
|
+
return false;
|
|
96
|
+
},
|
|
97
|
+
setSupportMultipleWindows: false,
|
|
98
|
+
javaScriptCanOpenWindowsAutomatically: false,
|
|
99
|
+
allowFileAccess: false,
|
|
100
|
+
allowUniversalAccessFromFileURLs: false,
|
|
101
|
+
mixedContentMode: "never",
|
|
102
|
+
domStorageEnabled: true,
|
|
103
|
+
sharedCookiesEnabled: false,
|
|
104
|
+
thirdPartyCookiesEnabled: false,
|
|
105
|
+
mediaPlaybackRequiresUserAction: false,
|
|
106
|
+
});
|
|
107
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `<HainivaDesk/>` — the HAINIVA desk inside your React Native app.
|
|
3
|
+
*
|
|
4
|
+
* import { WebView } from "react-native-webview";
|
|
5
|
+
* import { HainivaDesk } from "@hainiva/agent-sdk/react-native";
|
|
6
|
+
*
|
|
7
|
+
* <HainivaDesk agent={agent} appId={APP_ID} baseUrl="https://app.hainiva.com"
|
|
8
|
+
* onDial={(number, contactId) => placeNativeCall(number, contactId)}
|
|
9
|
+
* onEnded={(reason) => goToSignIn(reason)} />
|
|
10
|
+
*
|
|
11
|
+
* The split is the HAINIVA Agent app's: YOUR app rings and carries call audio
|
|
12
|
+
* natively (@hainiva/react-native-call + this SDK's CallStore); the desk shows
|
|
13
|
+
* the work and hands calls to you (`onDial`, `onDialer`).
|
|
14
|
+
*
|
|
15
|
+
* Security:
|
|
16
|
+
* - `originWhitelist` and `onShouldStartLoadWithRequest` keep the WebView on
|
|
17
|
+
* the HAINIVA desk origin; any other URL is refused there (and offered to
|
|
18
|
+
* `onOpenUrl`, if you pass one);
|
|
19
|
+
* - no window.open passthrough (`setSupportMultipleWindows={false}`,
|
|
20
|
+
* `javaScriptCanOpenWindowsAutomatically={false}`);
|
|
21
|
+
* - the bridge is installed before the desk's scripts and ONLY when the page
|
|
22
|
+
* is on the desk origin; the desk token goes in by injectJavaScript, never
|
|
23
|
+
* in the URL, and is not written to storage.
|
|
24
|
+
*/
|
|
25
|
+
import * as React from "react";
|
|
26
|
+
import { type DeskCallbacks, type DeskTokenSource, type HostToDesk } from "./embed.cjs";
|
|
27
|
+
/** The parts of react-native-webview's WebView this component uses. */
|
|
28
|
+
export interface WebViewLike {
|
|
29
|
+
injectJavaScript(script: string): void;
|
|
30
|
+
}
|
|
31
|
+
type WebViewComponent = React.ComponentType<Record<string, unknown> & {
|
|
32
|
+
ref?: React.Ref<WebViewLike>;
|
|
33
|
+
}>;
|
|
34
|
+
export interface HainivaDeskProps extends DeskCallbacks {
|
|
35
|
+
agent: DeskTokenSource;
|
|
36
|
+
appId: string;
|
|
37
|
+
/** The HAINIVA desk, e.g. https://app.hainiva.com. */
|
|
38
|
+
baseUrl: string;
|
|
39
|
+
theme?: "light" | "dark";
|
|
40
|
+
locale?: "vi" | "en";
|
|
41
|
+
/** react-native-webview's WebView. Default: required from "react-native-webview". */
|
|
42
|
+
WebView?: WebViewComponent;
|
|
43
|
+
/** Passed to the WebView. */
|
|
44
|
+
style?: unknown;
|
|
45
|
+
/** Local development only (http://localhost desk). */
|
|
46
|
+
allowInsecureLocalhost?: boolean;
|
|
47
|
+
}
|
|
48
|
+
/** Runs before the desk's scripts, on the desk origin only: the partner-rn bridge the desk looks for. */
|
|
49
|
+
export declare function deskBridgeScript(deskOrigin: string, appId: string): string;
|
|
50
|
+
/** A message to the desk, as a script: JSON twice (a string literal of the JSON), nothing interpolated raw. */
|
|
51
|
+
export declare function deliverScript(m: HostToDesk): string;
|
|
52
|
+
export declare function HainivaDesk(props: HainivaDeskProps): React.ReactElement;
|
|
53
|
+
export {};
|
package/dist/cjs/rest.cjs
CHANGED
|
@@ -210,6 +210,12 @@ class AgentRestClient {
|
|
|
210
210
|
body = { number: target.number, mode: target.mode ?? "warm" };
|
|
211
211
|
return this.request("POST", `/agent/v1/calls/${id(callId, "callId")}/transfer`, { ...o, body });
|
|
212
212
|
}
|
|
213
|
+
/**
|
|
214
|
+
* A 15-minute desk token for the embedded HAINIVA desk (S4): give it to the
|
|
215
|
+
* desk over postMessage only (`@hainiva/agent-sdk/embed` does). Never put it
|
|
216
|
+
* in a URL or storage. Ends with this session.
|
|
217
|
+
*/
|
|
218
|
+
async deskSession(o) { return this.request("POST", "/agent/v1/desk-session", { ...o, body: {} }); }
|
|
213
219
|
/** Re-mint the LiveKit token while still a participant (reconnect, token near expiry). */
|
|
214
220
|
async mediaToken(callId, o) { return this.request("POST", `/agent/v1/calls/${id(callId, "callId")}/media-token`, { ...o, body: {} }); }
|
|
215
221
|
// ── Wrap-up ─────────────────────────────────────────────────────────────────
|
package/dist/cjs/rest.d.cts
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* server's `{error:{code,message}}` envelope, redacted; non-JSON or
|
|
15
15
|
* non-object bodies are handled defensively.
|
|
16
16
|
*/
|
|
17
|
-
import type { AgentAcceptDto, AgentCallDto, AgentConversationDto, AgentDispositionDto, AgentMeDto, AgentMediaTokenDto, AgentMessageDto, AgentPage, AgentPresenceStatus, AgentPushSubscriptionDto, AgentPushSubscriptionInput, AgentRingDto, AgentSessionDto, SupervisorAgentDto, SupervisorLiveCallDto, SupervisorSuperviseDto } from "./contract.cjs";
|
|
17
|
+
import type { AgentAcceptDto, AgentCallDto, AgentConversationDto, AgentDispositionDto, AgentMeDto, AgentMediaTokenDto, AgentMessageDto, AgentPage, AgentPresenceStatus, AgentPushSubscriptionDto, AgentPushSubscriptionInput, AgentRingDto, AgentDeskSessionDto, AgentSessionDto, SupervisorAgentDto, SupervisorLiveCallDto, SupervisorSuperviseDto } from "./contract.cjs";
|
|
18
18
|
import { HainivaAgentError } from "./errors.cjs";
|
|
19
19
|
import { type Logger } from "./log.cjs";
|
|
20
20
|
import { Redactor } from "./redact.cjs";
|
|
@@ -118,6 +118,12 @@ export declare class AgentRestClient {
|
|
|
118
118
|
callId: string;
|
|
119
119
|
transferred: true;
|
|
120
120
|
}>;
|
|
121
|
+
/**
|
|
122
|
+
* A 15-minute desk token for the embedded HAINIVA desk (S4): give it to the
|
|
123
|
+
* desk over postMessage only (`@hainiva/agent-sdk/embed` does). Never put it
|
|
124
|
+
* in a URL or storage. Ends with this session.
|
|
125
|
+
*/
|
|
126
|
+
deskSession(o?: RequestOptions): Promise<AgentDeskSessionDto>;
|
|
121
127
|
/** Re-mint the LiveKit token while still a participant (reconnect, token near expiry). */
|
|
122
128
|
mediaToken(callId: string, o?: RequestOptions): Promise<MediaCredentials>;
|
|
123
129
|
dispositions(channel?: string, o?: RequestOptions): Promise<AgentDispositionDto[]>;
|
package/dist/esm/agent.d.ts
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* (`media`, `WebSocket`, `store`), so the core runs in Node too.
|
|
13
13
|
*/
|
|
14
14
|
import { CallStore, type CallEffect, type CallsState, type TransferTarget } from "./calls.js";
|
|
15
|
-
import type { AgentAcceptDto, AgentCallEndedData, AgentCallRingingData, AgentConversationDto, AgentDispositionDto, AgentMeDto, AgentMessageDto, AgentPage, AgentPushSubscriptionDto, AgentPushSubscriptionInput, AgentRingDto, AgentSessionDto, SupervisorAgentDto, SupervisorLiveCallDto, SupervisorSuperviseDto } from "./contract.js";
|
|
15
|
+
import type { AgentAcceptDto, AgentCallEndedData, AgentDeskSessionDto, AgentCallRingingData, AgentConversationDto, AgentDispositionDto, AgentMeDto, AgentMessageDto, AgentPage, AgentPushSubscriptionDto, AgentPushSubscriptionInput, AgentRingDto, AgentSessionDto, SupervisorAgentDto, SupervisorLiveCallDto, SupervisorSuperviseDto } from "./contract.js";
|
|
16
16
|
import { TypedEmitter } from "./emitter.js";
|
|
17
17
|
import { HainivaAgentError } from "./errors.js";
|
|
18
18
|
import { type AgentEventFrame } from "./events.js";
|
|
@@ -131,6 +131,10 @@ export declare class HainivaAgent {
|
|
|
131
131
|
setStatus(status: AgentStatus, o?: RequestOptions): Promise<{
|
|
132
132
|
status: AgentStatus;
|
|
133
133
|
}>;
|
|
134
|
+
readonly desk: {
|
|
135
|
+
/** A desk token for the embedded desk (`@hainiva/agent-sdk/embed` mountDesk / `<HainivaDesk/>` call this). */
|
|
136
|
+
session: () => Promise<AgentDeskSessionDto>;
|
|
137
|
+
};
|
|
134
138
|
readonly rings: {
|
|
135
139
|
/** Rings waiting for you now (also fed into the call state). */
|
|
136
140
|
pending: () => Promise<AgentRingDto[]>;
|
package/dist/esm/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAC9F,OAAO,KAAK,EACV,cAAc,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/agent.js
CHANGED
|
@@ -30,6 +30,10 @@ export class HainivaAgent {
|
|
|
30
30
|
this.meDto = null;
|
|
31
31
|
this.media = new Map();
|
|
32
32
|
this.offs = [];
|
|
33
|
+
this.desk = {
|
|
34
|
+
/** A desk token for the embedded desk (`@hainiva/agent-sdk/embed` mountDesk / `<HainivaDesk/>` call this). */
|
|
35
|
+
session: () => this.guard(this.rest.deskSession()),
|
|
36
|
+
};
|
|
33
37
|
this.rings = {
|
|
34
38
|
/** Rings waiting for you now (also fed into the call state). */
|
|
35
39
|
pending: () => this.syncRings(),
|
package/dist/esm/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/contract.d.ts
CHANGED
|
@@ -142,6 +142,16 @@ export interface AgentSessionDto {
|
|
|
142
142
|
/** The event socket on the host the app reached; SDKs derive their own from their base URL. */
|
|
143
143
|
wsUrl: string;
|
|
144
144
|
}
|
|
145
|
+
/**
|
|
146
|
+
* POST /agent/v1/desk-session (201) — partner platform S4, the embeddable desk.
|
|
147
|
+
* A 15-minute token for the HAINIVA desk shown inside the partner's product,
|
|
148
|
+
* handed to the desk over postMessage only (never in a URL, never stored).
|
|
149
|
+
* Bound to the agent session it came from: ends when that session ends.
|
|
150
|
+
*/
|
|
151
|
+
export interface AgentDeskSessionDto {
|
|
152
|
+
token: string;
|
|
153
|
+
expiresAt: string;
|
|
154
|
+
}
|
|
145
155
|
/** POST /agent/v1/calls/:id/accept. `media` is null for a call without a room (chat). */
|
|
146
156
|
export interface AgentAcceptDto {
|
|
147
157
|
callId: string;
|