@webless/agent 0.7.5 → 0.8.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/README.md +19 -0
- package/dist/{chunk-CD6TKXGT.js → chunk-JZPXXG76.js} +47 -39
- package/dist/chunk-JZPXXG76.js.map +1 -0
- package/dist/embed.cjs +43 -38
- package/dist/embed.cjs.map +1 -1
- package/dist/embed.css +56 -0
- package/dist/embed.css.map +1 -1
- package/dist/embed.js +1 -1
- package/dist/react.cjs +103 -38
- package/dist/react.cjs.map +1 -1
- package/dist/react.css +56 -0
- package/dist/react.css.map +1 -1
- package/dist/react.d.cts +13 -1
- package/dist/react.d.ts +13 -1
- package/dist/react.js +64 -2
- package/dist/react.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-CD6TKXGT.js.map +0 -1
package/dist/embed.js
CHANGED
package/dist/react.cjs
CHANGED
|
@@ -24,6 +24,7 @@ __export(react_exports, {
|
|
|
24
24
|
AGENT_STRUCTURED_TOOL_INPUT_HEADER: () => AGENT_STRUCTURED_TOOL_INPUT_HEADER,
|
|
25
25
|
AGENT_STRUCTURED_TOOL_INPUT_SCHEMA_VERSION: () => AGENT_STRUCTURED_TOOL_INPUT_SCHEMA_VERSION,
|
|
26
26
|
AgentRail: () => AgentRail,
|
|
27
|
+
AgentTranscript: () => AgentTranscript,
|
|
27
28
|
AgentWidget: () => AgentWidget,
|
|
28
29
|
AssistEdgeTab: () => AssistEdgeTab,
|
|
29
30
|
DEFAULT_AGENT_PLACEMENT: () => DEFAULT_AGENT_PLACEMENT,
|
|
@@ -3577,6 +3578,48 @@ var defaultDarkAgentRailTheme = {
|
|
|
3577
3578
|
danger: "#ff8da1"
|
|
3578
3579
|
};
|
|
3579
3580
|
|
|
3581
|
+
// src/react/lib/agent-theme.ts
|
|
3582
|
+
function agentThemeStyle(theme, resolvedColorScheme) {
|
|
3583
|
+
const brandedTheme = { ...defaultAgentRailTheme, ...theme };
|
|
3584
|
+
const resolvedTheme = resolvedColorScheme === "dark" ? {
|
|
3585
|
+
...brandedTheme,
|
|
3586
|
+
brand: theme?.brand ?? defaultDarkAgentRailTheme.brand,
|
|
3587
|
+
brandDeep: theme?.brandDeep ?? defaultDarkAgentRailTheme.brandDeep,
|
|
3588
|
+
brandSoft: theme?.brandSoft ?? `color-mix(in srgb, ${theme?.brand ?? defaultDarkAgentRailTheme.brand} 18%, ${defaultDarkAgentRailTheme.surface})`,
|
|
3589
|
+
border: theme?.border ?? defaultDarkAgentRailTheme.border,
|
|
3590
|
+
danger: theme?.danger ?? defaultDarkAgentRailTheme.danger,
|
|
3591
|
+
onBrand: theme?.onBrand ?? defaultDarkAgentRailTheme.onBrand,
|
|
3592
|
+
success: theme?.success ?? defaultDarkAgentRailTheme.success,
|
|
3593
|
+
surface: theme?.surface ?? defaultDarkAgentRailTheme.surface,
|
|
3594
|
+
surfaceMuted: theme?.surfaceMuted ?? defaultDarkAgentRailTheme.surfaceMuted,
|
|
3595
|
+
text: theme?.text ?? defaultDarkAgentRailTheme.text,
|
|
3596
|
+
textMuted: theme?.textMuted ?? defaultDarkAgentRailTheme.textMuted,
|
|
3597
|
+
textSubtle: theme?.textSubtle ?? defaultDarkAgentRailTheme.textSubtle,
|
|
3598
|
+
visitorBubble: theme?.visitorBubble ?? theme?.brand ?? defaultDarkAgentRailTheme.visitorBubble
|
|
3599
|
+
} : brandedTheme;
|
|
3600
|
+
return {
|
|
3601
|
+
"--rail-width": resolvedTheme.railMaxWidth,
|
|
3602
|
+
"--as-rail-max-width": resolvedTheme.railMaxWidth,
|
|
3603
|
+
"--as-brand": resolvedTheme.brand,
|
|
3604
|
+
"--as-brand-soft": resolvedTheme.brandSoft,
|
|
3605
|
+
"--as-brand-deep": resolvedTheme.brandDeep,
|
|
3606
|
+
"--as-surface": resolvedTheme.surface,
|
|
3607
|
+
"--as-surface-muted": resolvedTheme.surfaceMuted,
|
|
3608
|
+
"--as-text": resolvedTheme.text,
|
|
3609
|
+
"--as-text-muted": resolvedTheme.textMuted,
|
|
3610
|
+
"--as-text-subtle": resolvedTheme.textSubtle,
|
|
3611
|
+
"--as-border": resolvedTheme.border,
|
|
3612
|
+
"--as-visitor-bubble": resolvedTheme.visitorBubble,
|
|
3613
|
+
"--as-visitor-text": resolvedTheme.visitorText,
|
|
3614
|
+
"--as-on-brand": resolvedTheme.onBrand,
|
|
3615
|
+
"--as-success": resolvedTheme.success,
|
|
3616
|
+
"--as-danger": resolvedTheme.danger,
|
|
3617
|
+
"--as-font-body": resolvedTheme.fontBody,
|
|
3618
|
+
"--as-font-display": resolvedTheme.fontDisplay,
|
|
3619
|
+
colorScheme: resolvedColorScheme
|
|
3620
|
+
};
|
|
3621
|
+
}
|
|
3622
|
+
|
|
3580
3623
|
// src/react/hooks/useAgentColorScheme.ts
|
|
3581
3624
|
var import_react4 = require("react");
|
|
3582
3625
|
var DARK_MODE_QUERY = "(prefers-color-scheme: dark)";
|
|
@@ -6185,44 +6228,7 @@ function AgentRail({
|
|
|
6185
6228
|
const [failedLogoUrl, setFailedLogoUrl] = (0, import_react14.useState)(null);
|
|
6186
6229
|
const showBrandLogo = Boolean(resolvedBrandLogoUrl) && failedLogoUrl !== resolvedBrandLogoUrl;
|
|
6187
6230
|
const resolvedColorScheme = useAgentColorScheme(colorScheme);
|
|
6188
|
-
const
|
|
6189
|
-
const resolvedTheme = resolvedColorScheme === "dark" ? {
|
|
6190
|
-
...brandedTheme,
|
|
6191
|
-
brand: theme?.brand ?? defaultDarkAgentRailTheme.brand,
|
|
6192
|
-
brandDeep: theme?.brandDeep ?? defaultDarkAgentRailTheme.brandDeep,
|
|
6193
|
-
brandSoft: theme?.brandSoft ?? `color-mix(in srgb, ${theme?.brand ?? defaultDarkAgentRailTheme.brand} 18%, ${defaultDarkAgentRailTheme.surface})`,
|
|
6194
|
-
border: theme?.border ?? defaultDarkAgentRailTheme.border,
|
|
6195
|
-
danger: theme?.danger ?? defaultDarkAgentRailTheme.danger,
|
|
6196
|
-
onBrand: theme?.onBrand ?? defaultDarkAgentRailTheme.onBrand,
|
|
6197
|
-
success: theme?.success ?? defaultDarkAgentRailTheme.success,
|
|
6198
|
-
surface: theme?.surface ?? defaultDarkAgentRailTheme.surface,
|
|
6199
|
-
surfaceMuted: theme?.surfaceMuted ?? defaultDarkAgentRailTheme.surfaceMuted,
|
|
6200
|
-
text: theme?.text ?? defaultDarkAgentRailTheme.text,
|
|
6201
|
-
textMuted: theme?.textMuted ?? defaultDarkAgentRailTheme.textMuted,
|
|
6202
|
-
textSubtle: theme?.textSubtle ?? defaultDarkAgentRailTheme.textSubtle,
|
|
6203
|
-
visitorBubble: theme?.visitorBubble ?? theme?.brand ?? defaultDarkAgentRailTheme.visitorBubble
|
|
6204
|
-
} : brandedTheme;
|
|
6205
|
-
const railStyle = {
|
|
6206
|
-
"--rail-width": resolvedTheme.railMaxWidth,
|
|
6207
|
-
"--as-rail-max-width": resolvedTheme.railMaxWidth,
|
|
6208
|
-
"--as-brand": resolvedTheme.brand,
|
|
6209
|
-
"--as-brand-soft": resolvedTheme.brandSoft,
|
|
6210
|
-
"--as-brand-deep": resolvedTheme.brandDeep,
|
|
6211
|
-
"--as-surface": resolvedTheme.surface,
|
|
6212
|
-
"--as-surface-muted": resolvedTheme.surfaceMuted,
|
|
6213
|
-
"--as-text": resolvedTheme.text,
|
|
6214
|
-
"--as-text-muted": resolvedTheme.textMuted,
|
|
6215
|
-
"--as-text-subtle": resolvedTheme.textSubtle,
|
|
6216
|
-
"--as-border": resolvedTheme.border,
|
|
6217
|
-
"--as-visitor-bubble": resolvedTheme.visitorBubble,
|
|
6218
|
-
"--as-visitor-text": resolvedTheme.visitorText,
|
|
6219
|
-
"--as-on-brand": resolvedTheme.onBrand,
|
|
6220
|
-
"--as-success": resolvedTheme.success,
|
|
6221
|
-
"--as-danger": resolvedTheme.danger,
|
|
6222
|
-
"--as-font-body": resolvedTheme.fontBody,
|
|
6223
|
-
"--as-font-display": resolvedTheme.fontDisplay,
|
|
6224
|
-
colorScheme: resolvedColorScheme
|
|
6225
|
-
};
|
|
6231
|
+
const railStyle = agentThemeStyle(theme, resolvedColorScheme);
|
|
6226
6232
|
const pendingInputRequests = (state.pendingInputs ?? []).filter(
|
|
6227
6233
|
(request) => shouldRenderVisitorInputCard(request) && (!state.pendingOffer || request.kind === "tool-approval")
|
|
6228
6234
|
);
|
|
@@ -7118,12 +7124,71 @@ function AgentWidget({
|
|
|
7118
7124
|
) : null
|
|
7119
7125
|
] });
|
|
7120
7126
|
}
|
|
7127
|
+
|
|
7128
|
+
// src/react/components/AgentTranscript/AgentTranscript.tsx
|
|
7129
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
7130
|
+
var timestampFormat = new Intl.DateTimeFormat("en-US", {
|
|
7131
|
+
month: "short",
|
|
7132
|
+
day: "numeric",
|
|
7133
|
+
hour: "numeric",
|
|
7134
|
+
minute: "2-digit",
|
|
7135
|
+
timeZone: "UTC"
|
|
7136
|
+
});
|
|
7137
|
+
function defaultTimestamp(createdAt) {
|
|
7138
|
+
return `${timestampFormat.format(createdAt)} UTC`;
|
|
7139
|
+
}
|
|
7140
|
+
function AgentTranscript({
|
|
7141
|
+
messages,
|
|
7142
|
+
theme,
|
|
7143
|
+
colorScheme,
|
|
7144
|
+
agentLabel = "Agent",
|
|
7145
|
+
visitorLabel = "Visitor",
|
|
7146
|
+
label = "Conversation transcript",
|
|
7147
|
+
formatTimestamp = defaultTimestamp
|
|
7148
|
+
}) {
|
|
7149
|
+
const scheme = useAgentColorScheme(colorScheme);
|
|
7150
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
7151
|
+
"ol",
|
|
7152
|
+
{
|
|
7153
|
+
className: "webless-agent-root agent-transcript not-typeset",
|
|
7154
|
+
"data-not-typeset": "",
|
|
7155
|
+
"data-color-scheme": scheme,
|
|
7156
|
+
"aria-label": label,
|
|
7157
|
+
style: agentThemeStyle(theme, scheme),
|
|
7158
|
+
children: messages.map((message) => {
|
|
7159
|
+
const date = new Date(message.createdAt);
|
|
7160
|
+
const validTimestamp = Number.isFinite(date.getTime());
|
|
7161
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
7162
|
+
"li",
|
|
7163
|
+
{
|
|
7164
|
+
className: `agent-transcript__message agent-transcript__message--${message.role}`,
|
|
7165
|
+
children: [
|
|
7166
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "agent-transcript__meta", children: [
|
|
7167
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { children: message.role === "visitor" ? visitorLabel : agentLabel }),
|
|
7168
|
+
validTimestamp ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("time", { dateTime: date.toISOString(), children: formatTimestamp(message.createdAt) }) : null
|
|
7169
|
+
] }),
|
|
7170
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
7171
|
+
MessageBubble,
|
|
7172
|
+
{
|
|
7173
|
+
message: message.role === "agent" ? { ...message, streaming: false } : message,
|
|
7174
|
+
bookingDisabled: true
|
|
7175
|
+
}
|
|
7176
|
+
)
|
|
7177
|
+
]
|
|
7178
|
+
},
|
|
7179
|
+
message.id
|
|
7180
|
+
);
|
|
7181
|
+
})
|
|
7182
|
+
}
|
|
7183
|
+
);
|
|
7184
|
+
}
|
|
7121
7185
|
// Annotate the CommonJS export names for ESM import in node:
|
|
7122
7186
|
0 && (module.exports = {
|
|
7123
7187
|
AGENT_ANSWER_FEEDBACK_EVENT_TYPE,
|
|
7124
7188
|
AGENT_STRUCTURED_TOOL_INPUT_HEADER,
|
|
7125
7189
|
AGENT_STRUCTURED_TOOL_INPUT_SCHEMA_VERSION,
|
|
7126
7190
|
AgentRail,
|
|
7191
|
+
AgentTranscript,
|
|
7127
7192
|
AgentWidget,
|
|
7128
7193
|
AssistEdgeTab,
|
|
7129
7194
|
DEFAULT_AGENT_PLACEMENT,
|