@webless/agent 0.12.0 → 0.12.1

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/README.md CHANGED
@@ -45,6 +45,12 @@ Agent Studio generates a live preview of the agent on your pages, so you can che
45
45
 
46
46
  `@webless/agent` is published for Webless tooling and internal use. It powers the script bundle served from the console install flow.
47
47
 
48
+ ### Embedded human handoff
49
+
50
+ Set `handoffEnabled: true` in the embed manifest or React `AgentWidget` props only for a runtime with handoff support. It defaults to false. The runtime decides whether the visitor can request a person; the widget displays representative replies and requires an explicit return to AI after resolution.
51
+
52
+ For opted-in conversations, an unavailable ownership lookup blocks sending until ownership is confirmed. This prevents the AI from replying while a person may own the conversation. Widgets without the opt-in make no handoff requests and retain their existing chat behavior.
53
+
48
54
  ### Location-aware tool requests
49
55
 
50
56
  The built-in widget advertises `locationConsent: "v1"` during bootstrap. A compatible runtime can then pause on `request_location`, which the widget renders as a toggle rather than a generic approval card. Headless clients should set `createAgentClient({ locationConsent: true, ... })` only if they implement that UI and resolve its pending request IDs.
@@ -7989,6 +7989,7 @@ function AgentWidget({
7989
7989
  previewBuildId,
7990
7990
  version,
7991
7991
  runtimeOrigin,
7992
+ handoffEnabled = false,
7992
7993
  placement: placementInput,
7993
7994
  defaultCollapsed = true,
7994
7995
  pageShift = true,
@@ -8015,6 +8016,7 @@ function AgentWidget({
8015
8016
  });
8016
8017
  const {
8017
8018
  state,
8019
+ handoff,
8018
8020
  reset,
8019
8021
  retry,
8020
8022
  regenerate,
@@ -8024,6 +8026,7 @@ function AgentWidget({
8024
8026
  visitorSessionId,
8025
8027
  sessionId
8026
8028
  } = useAgentChat({
8029
+ handoffEnabled,
8027
8030
  customerId,
8028
8031
  getUnpublishedPreviewGrant,
8029
8032
  indexId,
@@ -8150,6 +8153,7 @@ function AgentWidget({
8150
8153
  answerReceipt: branding?.answerReceipt,
8151
8154
  readAloud: branding?.readAloud,
8152
8155
  state,
8156
+ handoff,
8153
8157
  mobileFullscreen: isMobile && !railCollapsed,
8154
8158
  expanded: railExpanded,
8155
8159
  onCollapse: !isMobile ? () => setRailCollapsed(true) : void 0,
@@ -8234,4 +8238,4 @@ export {
8234
8238
  sendAgentAnswerFeedback,
8235
8239
  AgentWidget
8236
8240
  };
8237
- //# sourceMappingURL=chunk-EVWZF34F.js.map
8241
+ //# sourceMappingURL=chunk-HKQFEO6R.js.map