@webless/agent 0.2.0 → 0.2.7
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 +22 -106
- package/dist/{chunk-WLQDMWO6.js → chunk-4QGS7UZY.js} +899 -736
- package/dist/chunk-4QGS7UZY.js.map +1 -0
- package/dist/embed.cjs +709 -612
- package/dist/embed.cjs.map +1 -1
- package/dist/embed.css +156 -148
- package/dist/embed.css.map +1 -1
- package/dist/embed.d.cts +23 -13
- package/dist/embed.d.ts +23 -13
- package/dist/embed.js +72 -131
- package/dist/embed.js.map +1 -1
- package/dist/index.cjs +19 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +10 -3
- package/dist/index.d.ts +10 -3
- package/dist/index.js +19 -6
- package/dist/index.js.map +1 -1
- package/dist/placement-CXW_83AF.d.cts +25 -0
- package/dist/placement-CXW_83AF.d.ts +25 -0
- package/dist/react.cjs +876 -718
- package/dist/react.cjs.map +1 -1
- package/dist/react.css +156 -1
- package/dist/react.css.map +1 -1
- package/dist/react.d.cts +16 -13
- package/dist/react.d.ts +16 -13
- package/dist/react.js +8 -1
- package/dist/react.js.map +1 -1
- package/package.json +5 -5
- package/scripts/build-agent-manifest-bundle-impl.mjs +32 -32
- package/scripts/ensure-css-imports.mjs +53 -0
- package/dist/chunk-WLQDMWO6.js.map +0 -1
package/dist/react.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/react/components/ToolTimeline/ToolTimeline.css","../src/react/components/AgentActivityBubble/AgentActivityBubble.css","../src/react/components/Composer/Composer.css","../src/react/components/FollowUpChips/FollowUpChips.css","../src/react/components/MessageBubble/MessageBubble.css","../src/react/components/AgentRail/AgentRail.css","../src/react/components/AssistEdgeTab/AssistEdgeTab.css"],"sourcesContent":[".tool-timeline {\n width: fit-content;\n max-width: 100%;\n}\n\n.tool-timeline--inline {\n background: transparent;\n border: none;\n border-radius: 0;\n padding: 0;\n}\n\n.tool-timeline:not(.tool-timeline--inline) {\n background: var(--as-surface-muted);\n border: 1px solid var(--as-border);\n border-radius: var(--as-radius-md);\n padding: 12px;\n}\n\n.agent-status {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n min-width: 0;\n animation: agent-status-in 0.22s cubic-bezier(0.22, 1, 0.36, 1);\n}\n\n@keyframes agent-status-in {\n from {\n opacity: 0;\n transform: translateY(4px);\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.agent-status__icon {\n width: 16px;\n height: 16px;\n display: grid;\n place-items: center;\n flex-shrink: 0;\n margin-top: 2px;\n color: var(--as-brand);\n}\n\n.agent-status__icon--error {\n font-size: 12px;\n font-weight: 700;\n color: var(--as-danger);\n}\n\n.agent-status__spinner {\n width: 14px;\n height: 14px;\n animation: as-spin 0.9s linear infinite;\n}\n\n@keyframes as-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n.agent-status__copy {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n\n.agent-status__label {\n font-size: 13px;\n font-weight: 500;\n line-height: 1.4;\n color: var(--as-text-muted);\n word-break: break-word;\n}\n\n.agent-status__detail {\n font-size: 12px;\n line-height: 1.35;\n color: var(--as-text-subtle);\n word-break: break-word;\n}\n\n.tool-timeline__streaming-text {\n display: inline-block;\n width: fit-content;\n max-width: 100%;\n font-size: 13px;\n line-height: 1.5;\n color: var(--as-text);\n word-break: break-word;\n margin: 0;\n padding: 10px 12px;\n background: var(--as-surface-muted);\n border: 1px solid var(--as-border);\n border-radius: var(--as-radius-md);\n border-bottom-left-radius: 4px;\n}\n\n.tool-timeline__streaming-text:not(:first-child) {\n margin-top: 10px;\n}\n\n.tool-timeline__cursor {\n display: inline-block;\n width: 2px;\n height: 14px;\n margin-left: 1px;\n vertical-align: text-bottom;\n background: var(--as-brand);\n animation: as-blink 1s step-end infinite;\n}\n\n@keyframes as-blink {\n 50% {\n opacity: 0;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .agent-status {\n animation: none;\n }\n\n .agent-status__spinner {\n animation: none;\n }\n}\n",".agent-activity-bubble {\n align-self: flex-start;\n width: 100%;\n max-width: 100%;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n}\n\n.agent-activity-bubble__shell {\n width: fit-content;\n max-width: 100%;\n padding: 0;\n background: transparent;\n border: none;\n}\n",".composer {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.composer__field {\n display: flex;\n align-items: flex-end;\n gap: 6px;\n padding: 6px;\n border: 1px solid var(--as-border);\n border-radius: var(--as-radius-lg);\n background: var(--as-surface-muted);\n}\n\n.composer__field:focus-within {\n border-color: rgb(111 22 255 / 0.35);\n box-shadow: 0 0 0 3px rgb(111 22 255 / 0.1);\n}\n\n.composer__input {\n flex: 1;\n min-width: 0;\n border: none;\n background: transparent;\n resize: none;\n padding: 8px 6px 8px 8px;\n font-size: 13px;\n line-height: 1.45;\n color: var(--as-text);\n max-height: 96px;\n}\n\n.composer__input::placeholder {\n color: var(--as-text-subtle);\n}\n\n.composer__input:focus {\n outline: none;\n}\n\n.composer__send {\n appearance: none;\n border: none;\n width: 34px;\n height: 34px;\n border-radius: 999px;\n background: var(--as-brand);\n color: #fff;\n display: grid;\n place-items: center;\n cursor: pointer;\n flex-shrink: 0;\n transition: opacity 0.15s ease, transform 0.15s ease;\n}\n\n.composer__send:hover:not(:disabled) {\n transform: translateY(-1px);\n}\n\n.composer__send:disabled {\n opacity: 0.45;\n cursor: not-allowed;\n}\n\n.composer__send svg {\n width: 14px;\n height: 14px;\n}\n\n.composer--dock .composer__field {\n align-items: center;\n padding: 5px 5px 5px 13px;\n background: var(--as-surface-muted);\n border: 1px solid var(--as-border);\n border-radius: 999px;\n box-shadow: none;\n}\n\n.composer--dock .composer__field:focus-within {\n border-color: rgb(111 22 255 / 0.35);\n box-shadow: 0 0 0 3px rgb(111 22 255 / 0.1);\n}\n\n.composer--dock .composer__input {\n padding: 11px 0;\n font-size: 15px;\n max-height: 48px;\n}\n\n.composer--dock .composer__send {\n width: 40px;\n height: 40px;\n}\n\n.composer--dock .composer__send svg {\n width: 15px;\n height: 15px;\n}\n",".followups {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.followups__label {\n font-size: 12px;\n font-weight: 700;\n color: var(--as-text-subtle);\n letter-spacing: 0.02em;\n}\n\n.followups__list {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.followups__chip {\n appearance: none;\n border: 1px solid var(--as-border);\n background: var(--as-surface);\n color: var(--as-text);\n font-size: 13px;\n font-weight: 600;\n line-height: 1.4;\n text-align: left;\n border-radius: var(--as-radius-sm);\n padding: 10px 12px;\n cursor: pointer;\n transition: border-color 0.15s ease, background 0.15s ease;\n word-break: break-word;\n}\n\n.followups__chip:hover:not(:disabled) {\n border-color: rgb(111 22 255 / 0.25);\n background: var(--as-brand-soft);\n}\n\n.followups__chip:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.followups--dock {\n width: 100%;\n gap: 0;\n}\n\n.followups__scroll {\n display: flex;\n gap: 8px;\n justify-content: flex-start;\n overflow-x: auto;\n padding: 2px;\n scrollbar-width: none;\n -ms-overflow-style: none;\n}\n\n.followups__scroll::-webkit-scrollbar {\n display: none;\n}\n\n.followups__chip--dock {\n display: inline-flex;\n align-items: center;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n padding: 8px 12px;\n border-radius: 999px;\n font-size: 12px;\n font-weight: 600;\n white-space: nowrap;\n text-align: left;\n}\n",".message-bubble {\n display: flex;\n flex-direction: column;\n gap: 8px;\n max-width: 92%;\n}\n\n.message-bubble--visitor {\n align-self: flex-end;\n align-items: flex-end;\n}\n\n.message-bubble--agent {\n align-self: flex-start;\n align-items: flex-start;\n max-width: 100%;\n}\n\n.message-bubble__text {\n margin: 0;\n padding: 10px 12px;\n border-radius: var(--as-radius-md);\n font-size: 13px;\n line-height: 1.5;\n word-break: break-word;\n}\n\n.message-bubble--visitor .message-bubble__text {\n background: var(--as-visitor-bubble);\n color: var(--as-visitor-text);\n border-bottom-right-radius: 4px;\n}\n\n.message-bubble--agent .message-bubble__text {\n background: var(--as-surface-muted);\n color: var(--as-text);\n border: 1px solid var(--as-border);\n border-bottom-left-radius: 4px;\n}\n",".agent-rail {\n --rail-width: var(--as-rail-max-width);\n display: flex;\n flex-direction: column;\n width: var(--rail-width);\n max-width: var(--rail-width);\n min-width: var(--rail-width);\n height: 100%;\n max-height: 100dvh;\n overflow: hidden;\n background: var(--as-surface);\n border-left: 1px solid var(--as-border);\n box-shadow: var(--as-shadow-rail);\n color: var(--as-text);\n font-family: var(--as-font-body);\n position: relative;\n z-index: var(--as-z-rail);\n}\n\n.agent-rail__header {\n flex-shrink: 0;\n display: flex;\n flex-direction: column;\n gap: 10px;\n padding: 14px;\n}\n\n.agent-rail__brand-row {\n display: grid;\n grid-template-columns: 32px 1fr 32px;\n align-items: center;\n min-height: 32px;\n min-width: 0;\n}\n\n.agent-rail__brand-label {\n grid-column: 2;\n grid-row: 1;\n font-family: var(--as-font-display);\n font-size: 14px;\n font-weight: 600;\n letter-spacing: -0.01em;\n line-height: 1;\n text-align: center;\n}\n\n.agent-rail__brand-spacer {\n width: 32px;\n height: 32px;\n}\n\n.agent-rail__collapse,\n.agent-rail__close,\n.agent-rail__expand {\n appearance: none;\n border: none;\n background: transparent;\n color: var(--as-text-subtle);\n width: 32px;\n height: 32px;\n margin: 0;\n padding: 0;\n border-radius: 8px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n flex-shrink: 0;\n grid-row: 1;\n}\n\n.agent-rail__collapse,\n.agent-rail__close {\n grid-column: 1;\n justify-self: start;\n}\n\n.agent-rail__expand {\n grid-column: 3;\n justify-self: end;\n}\n\n.agent-rail__collapse:hover,\n.agent-rail__close:hover,\n.agent-rail__expand:hover {\n background: var(--as-surface-muted);\n color: var(--as-text);\n}\n\n.agent-rail__collapse svg,\n.agent-rail__close svg,\n.agent-rail__expand svg {\n width: 16px;\n height: 16px;\n}\n\n.agent-rail__transcript {\n flex: 1 1 auto;\n min-height: 0;\n overflow-y: auto;\n overflow-x: hidden;\n overscroll-behavior: contain;\n padding: 14px 12px;\n display: flex;\n flex-direction: column;\n gap: 14px;\n scroll-behavior: smooth;\n -webkit-overflow-scrolling: touch;\n}\n\n.agent-rail__timeline-slot,\n.agent-rail__followups-slot {\n flex-shrink: 0;\n}\n\n.agent-rail__composer-wrap {\n flex-shrink: 0;\n padding: 12px 12px 14px;\n border-top: 1px solid var(--as-border);\n background: var(--as-surface);\n}\n\n.agent-rail__footer {\n margin-top: 8px;\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.agent-rail__footer-disclaimer {\n margin: 0;\n text-align: center;\n font-size: 11px;\n color: var(--as-text-subtle);\n line-height: 1.35;\n}\n\n.agent-rail__footer-note {\n margin: 0;\n text-align: center;\n font-size: 11px;\n color: var(--as-text-subtle);\n line-height: 1.35;\n}\n\n.agent-rail--mobile-fullscreen {\n position: fixed;\n inset: 0;\n width: 100%;\n max-width: none;\n min-width: 0;\n height: 100dvh;\n max-height: 100dvh;\n overflow: hidden;\n z-index: var(--as-z-mobile);\n border-left: none;\n box-shadow: none;\n}\n\n.agent-rail--expanded {\n position: fixed;\n top: 50%;\n left: 50%;\n width: 95vw;\n height: 95dvh;\n max-width: none;\n min-width: 0;\n max-height: 95dvh;\n transform: translate(-50%, -50%);\n z-index: calc(var(--as-z-mobile) + 1);\n border: 1px solid var(--as-border);\n border-radius: var(--as-radius-lg);\n box-shadow:\n 0 0 0 1px rgb(42 51 70 / 0.04),\n 0 28px 80px -24px rgb(18 4 62 / 0.35);\n transition:\n width 320ms cubic-bezier(0.22, 1, 0.36, 1),\n height 320ms cubic-bezier(0.22, 1, 0.36, 1),\n transform 320ms cubic-bezier(0.22, 1, 0.36, 1),\n border-radius 320ms cubic-bezier(0.22, 1, 0.36, 1),\n box-shadow 320ms cubic-bezier(0.22, 1, 0.36, 1);\n overflow: hidden;\n}\n\n.agent-rail--expanded .agent-rail__transcript {\n padding: 20px 24px 25px;\n align-items: center;\n}\n\n.agent-rail--expanded .agent-rail__transcript .message-bubble {\n width: 85%;\n max-width: 85%;\n}\n\n.agent-rail--expanded .agent-rail__transcript .message-bubble__text {\n font-size: 16px;\n padding: 12px 14px;\n}\n\n.agent-rail--expanded .agent-rail__transcript .tool-timeline__streaming-text {\n font-size: 16px;\n padding: 12px 14px;\n}\n\n.agent-rail--expanded .agent-rail__transcript .message-bubble--visitor {\n align-self: center;\n align-items: flex-end;\n}\n\n.agent-rail--expanded .agent-rail__transcript .message-bubble--agent {\n align-self: center;\n align-items: flex-start;\n}\n\n.agent-rail--expanded .agent-rail__transcript .agent-activity-bubble,\n.agent-rail--expanded .agent-rail__transcript [role=\"alert\"] {\n align-self: center;\n align-items: flex-start;\n width: 85%;\n max-width: 85%;\n}\n\n.agent-rail--expanded .agent-rail__dock-wrap {\n flex-shrink: 0;\n width: 70%;\n max-width: 70%;\n align-self: center;\n padding: 18px 0 24px;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 10px;\n}\n\n.agent-rail--expanded .agent-rail__dock-followups {\n width: 100%;\n}\n\n.agent-rail--expanded .agent-rail__dock-followups .followups__scroll {\n justify-content: flex-start;\n}\n\n.agent-rail--expanded .agent-rail__dock {\n display: flex;\n flex-direction: column;\n gap: 10px;\n width: 100%;\n padding: 12px;\n border: 1px solid var(--as-border);\n border-radius: calc(var(--as-radius-lg) + 4px);\n background: #fff;\n}\n\n.agent-rail--expanded .agent-rail__footer {\n margin-top: 0;\n width: 100%;\n}\n\n.agent-rail--mobile-fullscreen .agent-rail__close {\n display: grid;\n}\n\n.agent-rail--mobile-fullscreen .agent-rail__collapse {\n display: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .agent-rail--expanded {\n transition: none;\n }\n}\n\n@media (max-width: 767px) {\n .agent-rail {\n position: fixed;\n inset: 0;\n width: 100%;\n max-width: none;\n min-width: 0;\n height: 100dvh;\n max-height: 100dvh;\n overflow: hidden;\n z-index: var(--as-z-mobile);\n border-left: none;\n box-shadow: none;\n }\n\n .agent-rail .agent-rail__close {\n display: grid;\n }\n\n .agent-rail .agent-rail__collapse {\n display: none;\n }\n}\n\n@media (min-width: 768px) {\n .agent-rail .agent-rail__close {\n display: none !important;\n }\n}\n",".assist-edge-tab {\n --tab-ink: var(--as-brand);\n --tab-fill: #fff;\n --tab-line: rgb(111 22 255 / 0.35);\n --tab-along: 50%;\n --tab-inset: 0px;\n position: fixed;\n top: auto;\n right: auto;\n bottom: auto;\n left: auto;\n z-index: calc(var(--as-z-rail) + 1);\n appearance: none;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n border: 1px solid var(--tab-line);\n background: var(--tab-fill);\n color: var(--tab-ink);\n cursor: pointer;\n opacity: 0;\n pointer-events: none;\n box-shadow: -6px 0 20px -12px rgb(18 4 62 / 0.28);\n transition:\n transform 420ms cubic-bezier(0.22, 1, 0.36, 1),\n opacity 240ms ease,\n box-shadow 180ms ease;\n}\n\n.assist-edge-tab.is-visible {\n opacity: 1;\n pointer-events: auto;\n}\n\n.assist-edge-tab:focus-visible {\n outline: 2px solid var(--as-brand);\n outline-offset: 3px;\n}\n\n.assist-edge-tab svg {\n width: 16px;\n height: 16px;\n flex-shrink: 0;\n}\n\n.assist-edge-tab__sparkles {\n width: 18px;\n height: 16px;\n}\n\n.assist-edge-tab__label {\n font-family: var(--as-font-display);\n font-size: 13px;\n font-weight: 600;\n letter-spacing: 0.02em;\n line-height: 1;\n white-space: nowrap;\n}\n\n.assist-edge-tab--right,\n.assist-edge-tab--left {\n flex-direction: column;\n width: 40px;\n min-height: 168px;\n padding: 14px 0 12px;\n}\n\n.assist-edge-tab--right .assist-edge-tab__label,\n.assist-edge-tab--left .assist-edge-tab__label {\n writing-mode: vertical-rl;\n transform: rotate(180deg);\n}\n\n.assist-edge-tab--top,\n.assist-edge-tab--bottom {\n flex-direction: row;\n height: 40px;\n min-width: 168px;\n width: auto;\n padding: 0 14px;\n}\n\n.assist-edge-tab--right {\n top: var(--tab-along);\n right: var(--tab-inset);\n border-right: none;\n border-radius: 999px 0 0 999px;\n transform: translateY(-50%) translateX(calc(100% + 18px));\n}\n\n.assist-edge-tab--right.is-visible {\n transform: translateY(-50%) translateX(0);\n}\n\n.assist-edge-tab--right.is-visible:hover {\n transform: translateY(-50%) translateX(-2px);\n}\n\n.assist-edge-tab--left {\n top: var(--tab-along);\n left: var(--tab-inset);\n border-left: none;\n border-radius: 0 999px 999px 0;\n transform: translateY(-50%) translateX(calc(-100% - 18px));\n}\n\n.assist-edge-tab--left.is-visible {\n transform: translateY(-50%) translateX(0);\n}\n\n.assist-edge-tab--left.is-visible:hover {\n transform: translateY(-50%) translateX(2px);\n}\n\n.assist-edge-tab--top {\n left: var(--tab-along);\n top: var(--tab-inset);\n border-top: none;\n border-radius: 0 0 999px 999px;\n transform: translateX(-50%) translateY(calc(-100% - 18px));\n}\n\n.assist-edge-tab--top.is-visible {\n transform: translateX(-50%) translateY(0);\n}\n\n.assist-edge-tab--top.is-visible:hover {\n transform: translateX(-50%) translateY(2px);\n}\n\n.assist-edge-tab--bottom {\n left: var(--tab-along);\n bottom: var(--tab-inset);\n border-bottom: none;\n border-radius: 999px 999px 0 0;\n transform: translateX(-50%) translateY(calc(100% + 18px));\n}\n\n.assist-edge-tab--bottom.is-visible {\n transform: translateX(-50%) translateY(0);\n}\n\n.assist-edge-tab--bottom.is-visible:hover {\n transform: translateX(-50%) translateY(-2px);\n}\n\n.assist-edge-tab--outline {\n --tab-fill: #f7f6fa;\n --tab-line: rgb(111 22 255 / 0.45);\n}\n\n.assist-edge-tab--outline.assist-edge-tab--right,\n.assist-edge-tab--outline.assist-edge-tab--left {\n min-height: 176px;\n border-radius: 999px;\n border-right: 1px solid var(--tab-line);\n border-left: 1px solid var(--tab-line);\n}\n\n.assist-edge-tab--outline.assist-edge-tab--top,\n.assist-edge-tab--outline.assist-edge-tab--bottom {\n border-radius: 999px;\n border-top: 1px solid var(--tab-line);\n border-bottom: 1px solid var(--tab-line);\n}\n\n.assist-edge-tab--ask {\n --tab-fill: #efe8fb;\n --tab-line: transparent;\n}\n\n.assist-edge-tab--ask.assist-edge-tab--right,\n.assist-edge-tab--ask.assist-edge-tab--left {\n min-height: 196px;\n width: 42px;\n}\n\n.assist-edge-tab--ask.assist-edge-tab--right {\n border-radius: 18px 0 0 18px;\n}\n\n.assist-edge-tab--ask.assist-edge-tab--left {\n border-radius: 0 18px 18px 0;\n}\n\n.assist-edge-tab--fill {\n --tab-fill: var(--as-brand);\n --tab-ink: #fff;\n --tab-line: transparent;\n box-shadow: -8px 0 22px -10px rgb(111 22 255 / 0.55);\n}\n\n.assist-edge-tab--fill.assist-edge-tab--right,\n.assist-edge-tab--fill.assist-edge-tab--left {\n min-height: 180px;\n}\n\n.assist-edge-tab__dots {\n display: grid;\n grid-template-columns: repeat(3, 3px);\n gap: 3px;\n}\n\n.assist-edge-tab--top .assist-edge-tab__dots,\n.assist-edge-tab--bottom .assist-edge-tab__dots {\n grid-template-columns: repeat(4, 3px);\n grid-template-rows: repeat(3, 3px);\n}\n\n.assist-edge-tab__dots i {\n width: 3px;\n height: 3px;\n border-radius: 999px;\n background: currentColor;\n opacity: 0.55;\n}\n\n@media (max-width: 767px) {\n .assist-edge-tab {\n z-index: calc(var(--as-z-mobile) + 2);\n }\n\n .assist-edge-tab--right,\n .assist-edge-tab--left {\n min-height: 148px;\n width: 36px;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .assist-edge-tab,\n .assist-edge-tab.is-visible,\n .assist-edge-tab.is-visible:hover {\n transition: none;\n }\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/react/styles/tokens.css","../src/react/styles/widget.css","../src/react/components/ToolTimeline/ToolTimeline.css","../src/react/components/AgentActivityBubble/AgentActivityBubble.css","../src/react/components/Composer/Composer.css","../src/react/components/FollowUpChips/FollowUpChips.css","../src/react/components/MessageBubble/MessageBubble.css","../src/react/components/AgentRail/AgentRail.css","../src/react/components/AssistEdgeTab/AssistEdgeTab.css"],"sourcesContent":[":root {\n --as-rail-max-width: 450px;\n --as-brand: #6f16ff;\n --as-brand-soft: #f3edff;\n --as-brand-light: #c4b0ff;\n --as-brand-deep: #12043e;\n --as-surface: #ffffff;\n --as-surface-muted: #f4f6fb;\n --as-text: #171b2a;\n --as-text-muted: #5a6378;\n --as-text-subtle: #8a94a8;\n --as-border: rgb(42 51 70 / 0.1);\n --as-visitor-bubble: #6f16ff;\n --as-visitor-text: #ffffff;\n --as-success: #18794e;\n --as-danger: #c94b63;\n --as-radius-sm: 8px;\n --as-radius-md: 12px;\n --as-radius-lg: 16px;\n --as-font-body: \"Mulish\", \"Avenir Next\", \"Segoe UI\", sans-serif;\n --as-font-display: \"Space Grotesk\", sans-serif;\n --as-shadow-rail: 0 0 0 1px rgb(42 51 70 / 0.06), -8px 0 24px -12px rgb(18 4 62 / 0.12);\n --as-z-rail: 40;\n --as-z-mobile: 1000;\n}\n\n.webless-agent-root,\n.webless-agent-root *,\n.webless-agent-root *::before,\n.webless-agent-root *::after {\n box-sizing: border-box;\n}\n\n.webless-agent-root {\n font-family: var(--as-font-body);\n color: var(--as-text);\n -webkit-font-smoothing: antialiased;\n}\n\n.webless-agent-root button,\n.webless-agent-root input,\n.webless-agent-root textarea {\n font: inherit;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .webless-agent-root *,\n .webless-agent-root *::before,\n .webless-agent-root *::after {\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n transition-duration: 0.01ms !important;\n }\n}\n",".webless-agent-root {\n --rail-track: var(--as-rail-max-width);\n --rail-ease: cubic-bezier(0.22, 1, 0.36, 1);\n --rail-duration: 420ms;\n position: fixed;\n inset: 0;\n pointer-events: none;\n z-index: var(--as-z-mobile);\n}\n\n.webless-agent-root__shell {\n position: fixed;\n inset: 0;\n display: grid;\n grid-template-columns: minmax(0, 1fr) var(--rail-track);\n pointer-events: none;\n transition: grid-template-columns var(--rail-duration) var(--rail-ease);\n}\n\n.webless-agent-root__rail-slot {\n min-width: 0;\n height: 100%;\n overflow: hidden;\n justify-self: end;\n pointer-events: auto;\n transform: translateX(0);\n opacity: 1;\n transition:\n transform var(--rail-duration) var(--rail-ease),\n opacity 220ms ease;\n}\n\n.webless-agent-root__shell--collapsed {\n --rail-track: 0px;\n}\n\n.webless-agent-root__shell--collapsed .webless-agent-root__rail-slot {\n transform: translateX(100%);\n opacity: 0;\n pointer-events: none;\n}\n\n.webless-agent-root__shell--expanded:not(.webless-agent-root__shell--collapsed) {\n --rail-track: 0px;\n}\n\n.webless-agent-root__shell--expanded:not(.webless-agent-root__shell--collapsed) .webless-agent-root__rail-slot {\n position: fixed;\n inset: 0;\n width: 100%;\n height: 100%;\n overflow: visible;\n transform: none;\n opacity: 1;\n pointer-events: none;\n z-index: calc(var(--as-z-mobile) + 1);\n}\n\n.webless-agent-root__shell--expanded:not(.webless-agent-root__shell--collapsed) .agent-rail {\n pointer-events: auto;\n width: 95vw;\n min-width: 0;\n max-width: none;\n height: 95dvh;\n max-height: 95dvh;\n}\n\n.webless-agent-root__rail-slot .agent-rail {\n min-width: 0;\n width: var(--as-rail-max-width);\n max-width: none;\n height: 100%;\n}\n\n.webless-agent-root__backdrop {\n position: fixed;\n inset: 0;\n z-index: var(--as-z-mobile);\n border: none;\n padding: 0;\n margin: 0;\n background: rgb(18 4 62 / 0.18);\n cursor: pointer;\n pointer-events: auto;\n}\n\n@media (max-width: 767px) {\n .webless-agent-root__shell {\n grid-template-columns: 1fr;\n }\n\n .webless-agent-root__shell:not(.webless-agent-root__shell--collapsed) .webless-agent-root__rail-slot {\n position: fixed;\n inset: 0;\n width: 100%;\n height: 100%;\n transform: none;\n opacity: 1;\n pointer-events: auto;\n z-index: calc(var(--as-z-mobile) + 1);\n }\n}\n",".tool-timeline {\n width: fit-content;\n max-width: 100%;\n}\n\n.tool-timeline--inline {\n background: transparent;\n border: none;\n border-radius: 0;\n padding: 0;\n}\n\n.tool-timeline:not(.tool-timeline--inline) {\n background: var(--as-surface-muted);\n border: 1px solid var(--as-border);\n border-radius: var(--as-radius-md);\n padding: 12px;\n}\n\n.agent-status {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n min-width: 0;\n animation: agent-status-in 0.22s cubic-bezier(0.22, 1, 0.36, 1);\n}\n\n@keyframes agent-status-in {\n from {\n opacity: 0;\n transform: translateY(4px);\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.agent-status__icon {\n width: 16px;\n height: 16px;\n display: grid;\n place-items: center;\n flex-shrink: 0;\n margin-top: 2px;\n color: var(--as-brand);\n}\n\n.agent-status__icon--error {\n font-size: 12px;\n font-weight: 700;\n color: var(--as-danger);\n}\n\n.agent-status__spinner {\n width: 14px;\n height: 14px;\n animation: as-spin 0.9s linear infinite;\n}\n\n@keyframes as-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n.agent-status__copy {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n\n.agent-status__label {\n font-size: 13px;\n font-weight: 500;\n line-height: 1.4;\n color: var(--as-text-muted);\n word-break: break-word;\n}\n\n.agent-status__detail {\n font-size: 12px;\n line-height: 1.35;\n color: var(--as-text-subtle);\n word-break: break-word;\n}\n\n.tool-timeline__streaming-text {\n display: inline-block;\n width: fit-content;\n max-width: 100%;\n font-size: 13px;\n line-height: 1.5;\n color: var(--as-text);\n word-break: break-word;\n margin: 0;\n padding: 10px 12px;\n background: var(--as-surface-muted);\n border: 1px solid var(--as-border);\n border-radius: var(--as-radius-md);\n border-bottom-left-radius: 4px;\n}\n\n.tool-timeline__streaming-text:not(:first-child) {\n margin-top: 10px;\n}\n\n.tool-timeline__cursor {\n display: inline-block;\n width: 2px;\n height: 14px;\n margin-left: 1px;\n vertical-align: text-bottom;\n background: var(--as-brand);\n animation: as-blink 1s step-end infinite;\n}\n\n@keyframes as-blink {\n 50% {\n opacity: 0;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .agent-status {\n animation: none;\n }\n\n .agent-status__spinner {\n animation: none;\n }\n}\n",".agent-activity-bubble {\n align-self: flex-start;\n width: 100%;\n max-width: 100%;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n}\n\n.agent-activity-bubble__shell {\n width: fit-content;\n max-width: 100%;\n padding: 0;\n background: transparent;\n border: none;\n}\n",".composer {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.composer__field {\n display: flex;\n align-items: flex-end;\n gap: 6px;\n padding: 6px;\n border: 1px solid var(--as-border);\n border-radius: var(--as-radius-lg);\n background: var(--as-surface-muted);\n}\n\n.composer__field:focus-within {\n border-color: rgb(111 22 255 / 0.35);\n box-shadow: 0 0 0 3px rgb(111 22 255 / 0.1);\n}\n\n.composer__input {\n flex: 1;\n min-width: 0;\n border: none;\n background: transparent;\n resize: none;\n padding: 8px 6px 8px 8px;\n font-size: 13px;\n line-height: 1.45;\n color: var(--as-text);\n max-height: 96px;\n}\n\n.composer__input::placeholder {\n color: var(--as-text-subtle);\n}\n\n.composer__input:focus {\n outline: none;\n}\n\n.composer__send {\n appearance: none;\n border: none;\n width: 34px;\n height: 34px;\n border-radius: 999px;\n background: var(--as-brand);\n color: #fff;\n display: grid;\n place-items: center;\n cursor: pointer;\n flex-shrink: 0;\n transition: opacity 0.15s ease, transform 0.15s ease;\n}\n\n.composer__send:hover:not(:disabled) {\n transform: translateY(-1px);\n}\n\n.composer__send:disabled {\n opacity: 0.45;\n cursor: not-allowed;\n}\n\n.composer__send svg {\n width: 14px;\n height: 14px;\n}\n\n.composer--dock .composer__field {\n align-items: center;\n padding: 5px 5px 5px 13px;\n background: var(--as-surface-muted);\n border: 1px solid var(--as-border);\n border-radius: 999px;\n box-shadow: none;\n}\n\n.composer--dock .composer__field:focus-within {\n border-color: rgb(111 22 255 / 0.35);\n box-shadow: 0 0 0 3px rgb(111 22 255 / 0.1);\n}\n\n.composer--dock .composer__input {\n padding: 11px 0;\n font-size: 15px;\n max-height: 48px;\n}\n\n.composer--dock .composer__send {\n width: 40px;\n height: 40px;\n}\n\n.composer--dock .composer__send svg {\n width: 15px;\n height: 15px;\n}\n",".followups {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.followups__label {\n font-size: 12px;\n font-weight: 700;\n color: var(--as-text-subtle);\n letter-spacing: 0.02em;\n}\n\n.followups__list {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.followups__chip {\n appearance: none;\n border: 1px solid var(--as-border);\n background: var(--as-surface);\n color: var(--as-text);\n font-size: 13px;\n font-weight: 600;\n line-height: 1.4;\n text-align: left;\n border-radius: var(--as-radius-sm);\n padding: 10px 12px;\n cursor: pointer;\n transition: border-color 0.15s ease, background 0.15s ease;\n word-break: break-word;\n}\n\n.followups__chip:hover:not(:disabled) {\n border-color: rgb(111 22 255 / 0.25);\n background: var(--as-brand-soft);\n}\n\n.followups__chip:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.followups--dock {\n width: 100%;\n gap: 0;\n}\n\n.followups__scroll {\n display: flex;\n gap: 8px;\n justify-content: flex-start;\n overflow-x: auto;\n padding: 2px;\n scrollbar-width: none;\n -ms-overflow-style: none;\n}\n\n.followups__scroll::-webkit-scrollbar {\n display: none;\n}\n\n.followups__chip--dock {\n display: inline-flex;\n align-items: center;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n padding: 8px 12px;\n border-radius: 999px;\n font-size: 12px;\n font-weight: 600;\n white-space: nowrap;\n text-align: left;\n}\n",".message-bubble {\n display: flex;\n flex-direction: column;\n gap: 8px;\n max-width: 92%;\n}\n\n.message-bubble--visitor {\n align-self: flex-end;\n align-items: flex-end;\n}\n\n.message-bubble--agent {\n align-self: flex-start;\n align-items: flex-start;\n max-width: 100%;\n}\n\n.message-bubble__text {\n margin: 0;\n padding: 10px 12px;\n border-radius: var(--as-radius-md);\n font-size: 13px;\n line-height: 1.5;\n word-break: break-word;\n}\n\n.message-bubble--visitor .message-bubble__text {\n background: var(--as-visitor-bubble);\n color: var(--as-visitor-text);\n border-bottom-right-radius: 4px;\n}\n\n.message-bubble--agent .message-bubble__text {\n background: var(--as-surface-muted);\n color: var(--as-text);\n border: 1px solid var(--as-border);\n border-bottom-left-radius: 4px;\n}\n",".agent-rail {\n --rail-width: var(--as-rail-max-width);\n display: flex;\n flex-direction: column;\n width: var(--rail-width);\n max-width: var(--rail-width);\n min-width: var(--rail-width);\n height: 100%;\n max-height: 100dvh;\n overflow: hidden;\n background: var(--as-surface);\n border-left: 1px solid var(--as-border);\n box-shadow: var(--as-shadow-rail);\n color: var(--as-text);\n font-family: var(--as-font-body);\n position: relative;\n z-index: var(--as-z-rail);\n}\n\n.agent-rail__header {\n flex-shrink: 0;\n display: flex;\n flex-direction: column;\n gap: 10px;\n padding: 14px;\n}\n\n.agent-rail__brand-row {\n display: grid;\n grid-template-columns: 32px 1fr 32px;\n align-items: center;\n min-height: 32px;\n min-width: 0;\n}\n\n.agent-rail__brand-label {\n grid-column: 2;\n grid-row: 1;\n font-family: var(--as-font-display);\n font-size: 14px;\n font-weight: 600;\n letter-spacing: -0.01em;\n line-height: 1;\n text-align: center;\n}\n\n.agent-rail__brand-spacer {\n width: 32px;\n height: 32px;\n}\n\n.agent-rail__collapse,\n.agent-rail__close,\n.agent-rail__expand {\n appearance: none;\n border: none;\n background: transparent;\n color: var(--as-text-subtle);\n width: 32px;\n height: 32px;\n margin: 0;\n padding: 0;\n border-radius: 8px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n flex-shrink: 0;\n grid-row: 1;\n}\n\n.agent-rail__collapse,\n.agent-rail__close {\n grid-column: 1;\n justify-self: start;\n}\n\n.agent-rail__expand {\n grid-column: 3;\n justify-self: end;\n}\n\n.agent-rail__collapse:hover,\n.agent-rail__close:hover,\n.agent-rail__expand:hover {\n background: var(--as-surface-muted);\n color: var(--as-text);\n}\n\n.agent-rail__collapse svg,\n.agent-rail__close svg,\n.agent-rail__expand svg {\n width: 16px;\n height: 16px;\n}\n\n.agent-rail__transcript {\n flex: 1 1 auto;\n min-height: 0;\n overflow-y: auto;\n overflow-x: hidden;\n overscroll-behavior: contain;\n padding: 14px 12px;\n display: flex;\n flex-direction: column;\n gap: 14px;\n scroll-behavior: smooth;\n -webkit-overflow-scrolling: touch;\n}\n\n.agent-rail__timeline-slot,\n.agent-rail__followups-slot {\n flex-shrink: 0;\n}\n\n.agent-rail__composer-wrap {\n flex-shrink: 0;\n padding: 12px 12px 14px;\n border-top: 1px solid var(--as-border);\n background: var(--as-surface);\n}\n\n.agent-rail__footer {\n margin-top: 8px;\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.agent-rail__footer-disclaimer {\n margin: 0;\n text-align: center;\n font-size: 11px;\n color: var(--as-text-subtle);\n line-height: 1.35;\n}\n\n.agent-rail__footer-note {\n margin: 0;\n text-align: center;\n font-size: 11px;\n color: var(--as-text-subtle);\n line-height: 1.35;\n}\n\n.agent-rail--mobile-fullscreen {\n position: fixed;\n inset: 0;\n width: 100%;\n max-width: none;\n min-width: 0;\n height: 100dvh;\n max-height: 100dvh;\n overflow: hidden;\n z-index: var(--as-z-mobile);\n border-left: none;\n box-shadow: none;\n}\n\n.agent-rail--expanded {\n position: fixed;\n top: 50%;\n left: 50%;\n width: 95vw;\n height: 95dvh;\n max-width: none;\n min-width: 0;\n max-height: 95dvh;\n transform: translate(-50%, -50%);\n z-index: calc(var(--as-z-mobile) + 1);\n background: var(--as-surface);\n border: 1px solid var(--as-border);\n border-radius: var(--as-radius-lg);\n box-shadow:\n 0 0 0 1px rgb(42 51 70 / 0.04),\n 0 28px 80px -24px rgb(18 4 62 / 0.35);\n transition:\n width 320ms cubic-bezier(0.22, 1, 0.36, 1),\n height 320ms cubic-bezier(0.22, 1, 0.36, 1),\n transform 320ms cubic-bezier(0.22, 1, 0.36, 1),\n border-radius 320ms cubic-bezier(0.22, 1, 0.36, 1),\n box-shadow 320ms cubic-bezier(0.22, 1, 0.36, 1);\n overflow: hidden;\n}\n\n.agent-rail--expanded .agent-rail__header,\n.agent-rail--expanded .agent-rail__transcript,\n.agent-rail--expanded .agent-rail__dock-wrap {\n background: var(--as-surface);\n}\n\n.agent-rail--expanded .agent-rail__transcript {\n padding: 20px 24px 25px;\n align-items: center;\n}\n\n.agent-rail--expanded .agent-rail__transcript .message-bubble {\n width: 85%;\n max-width: 85%;\n}\n\n.agent-rail--expanded .agent-rail__transcript .message-bubble__text {\n font-size: 16px;\n padding: 12px 14px;\n}\n\n.agent-rail--expanded .agent-rail__transcript .tool-timeline__streaming-text {\n font-size: 16px;\n padding: 12px 14px;\n}\n\n.agent-rail--expanded .agent-rail__transcript .message-bubble--visitor {\n align-self: center;\n align-items: flex-end;\n}\n\n.agent-rail--expanded .agent-rail__transcript .message-bubble--agent {\n align-self: center;\n align-items: flex-start;\n}\n\n.agent-rail--expanded .agent-rail__transcript .agent-activity-bubble,\n.agent-rail--expanded .agent-rail__transcript [role=\"alert\"] {\n align-self: center;\n align-items: flex-start;\n width: 85%;\n max-width: 85%;\n}\n\n.agent-rail--expanded .agent-rail__dock-wrap {\n flex-shrink: 0;\n width: 70%;\n max-width: 70%;\n align-self: center;\n padding: 18px 0 24px;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 10px;\n}\n\n.agent-rail--expanded .agent-rail__dock-followups {\n width: 100%;\n}\n\n.agent-rail--expanded .agent-rail__dock-followups .followups__scroll {\n justify-content: flex-start;\n}\n\n.agent-rail--expanded .agent-rail__dock {\n display: flex;\n flex-direction: column;\n gap: 10px;\n width: 100%;\n padding: 12px;\n border: 1px solid var(--as-border);\n border-radius: calc(var(--as-radius-lg) + 4px);\n background: var(--as-surface);\n}\n\n.agent-rail--expanded .agent-rail__footer {\n margin-top: 0;\n width: 100%;\n}\n\n.agent-rail--mobile-fullscreen .agent-rail__close {\n display: grid;\n}\n\n.agent-rail--mobile-fullscreen .agent-rail__collapse {\n display: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .agent-rail--expanded {\n transition: none;\n }\n}\n\n@media (max-width: 767px) {\n .agent-rail {\n position: fixed;\n inset: 0;\n width: 100%;\n max-width: none;\n min-width: 0;\n height: 100dvh;\n max-height: 100dvh;\n overflow: hidden;\n z-index: var(--as-z-mobile);\n border-left: none;\n box-shadow: none;\n }\n\n .agent-rail .agent-rail__close {\n display: grid;\n }\n\n .agent-rail .agent-rail__collapse {\n display: none;\n }\n}\n\n@media (min-width: 768px) {\n .agent-rail .agent-rail__close {\n display: none !important;\n }\n}\n",".assist-edge-tab {\n --tab-ink: var(--as-brand);\n --tab-fill: #fff;\n --tab-line: rgb(111 22 255 / 0.35);\n --tab-along: 50%;\n --tab-inset: 0px;\n position: fixed;\n top: auto;\n right: auto;\n bottom: auto;\n left: auto;\n z-index: calc(var(--as-z-rail) + 1);\n appearance: none;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n border: 1px solid var(--tab-line);\n background: var(--tab-fill);\n color: var(--tab-ink);\n cursor: pointer;\n opacity: 0;\n pointer-events: none;\n box-shadow: -6px 0 20px -12px rgb(18 4 62 / 0.28);\n transition:\n transform 420ms cubic-bezier(0.22, 1, 0.36, 1),\n opacity 240ms ease,\n box-shadow 180ms ease;\n}\n\n.assist-edge-tab.is-visible {\n opacity: 1;\n pointer-events: auto;\n}\n\n.assist-edge-tab:focus-visible {\n outline: 2px solid var(--as-brand);\n outline-offset: 3px;\n}\n\n.assist-edge-tab svg {\n width: 16px;\n height: 16px;\n flex-shrink: 0;\n}\n\n.assist-edge-tab__sparkles {\n width: 18px;\n height: 16px;\n}\n\n.assist-edge-tab__label {\n font-family: var(--as-font-display);\n font-size: 13px;\n font-weight: 600;\n letter-spacing: 0.02em;\n line-height: 1;\n white-space: nowrap;\n}\n\n.assist-edge-tab--right,\n.assist-edge-tab--left {\n flex-direction: column;\n width: 40px;\n min-height: 168px;\n padding: 14px 0 12px;\n}\n\n.assist-edge-tab--right .assist-edge-tab__label,\n.assist-edge-tab--left .assist-edge-tab__label {\n writing-mode: vertical-rl;\n transform: rotate(180deg);\n}\n\n.assist-edge-tab--top,\n.assist-edge-tab--bottom {\n flex-direction: row;\n height: 40px;\n min-width: 168px;\n width: auto;\n padding: 0 14px;\n}\n\n.assist-edge-tab--right {\n top: var(--tab-along);\n right: var(--tab-inset);\n border-right: none;\n border-radius: 999px 0 0 999px;\n transform: translateY(-50%) translateX(calc(100% + 18px));\n}\n\n.assist-edge-tab--right.is-visible {\n transform: translateY(-50%) translateX(0);\n}\n\n.assist-edge-tab--right.is-visible:hover {\n transform: translateY(-50%) translateX(-2px);\n}\n\n.assist-edge-tab--left {\n top: var(--tab-along);\n left: var(--tab-inset);\n border-left: none;\n border-radius: 0 999px 999px 0;\n transform: translateY(-50%) translateX(calc(-100% - 18px));\n}\n\n.assist-edge-tab--left.is-visible {\n transform: translateY(-50%) translateX(0);\n}\n\n.assist-edge-tab--left.is-visible:hover {\n transform: translateY(-50%) translateX(2px);\n}\n\n.assist-edge-tab--top {\n left: var(--tab-along);\n top: var(--tab-inset);\n border-top: none;\n border-radius: 0 0 999px 999px;\n transform: translateX(-50%) translateY(calc(-100% - 18px));\n}\n\n.assist-edge-tab--top.is-visible {\n transform: translateX(-50%) translateY(0);\n}\n\n.assist-edge-tab--top.is-visible:hover {\n transform: translateX(-50%) translateY(2px);\n}\n\n.assist-edge-tab--bottom {\n left: var(--tab-along);\n bottom: var(--tab-inset);\n border-bottom: none;\n border-radius: 999px 999px 0 0;\n transform: translateX(-50%) translateY(calc(100% + 18px));\n}\n\n.assist-edge-tab--bottom.is-visible {\n transform: translateX(-50%) translateY(0);\n}\n\n.assist-edge-tab--bottom.is-visible:hover {\n transform: translateX(-50%) translateY(-2px);\n}\n\n.assist-edge-tab--outline {\n --tab-fill: #f7f6fa;\n --tab-line: rgb(111 22 255 / 0.45);\n}\n\n.assist-edge-tab--outline.assist-edge-tab--right,\n.assist-edge-tab--outline.assist-edge-tab--left {\n min-height: 176px;\n border-radius: 999px;\n border-right: 1px solid var(--tab-line);\n border-left: 1px solid var(--tab-line);\n}\n\n.assist-edge-tab--outline.assist-edge-tab--top,\n.assist-edge-tab--outline.assist-edge-tab--bottom {\n border-radius: 999px;\n border-top: 1px solid var(--tab-line);\n border-bottom: 1px solid var(--tab-line);\n}\n\n.assist-edge-tab--ask {\n --tab-fill: #efe8fb;\n --tab-line: transparent;\n}\n\n.assist-edge-tab--ask.assist-edge-tab--right,\n.assist-edge-tab--ask.assist-edge-tab--left {\n min-height: 196px;\n width: 42px;\n}\n\n.assist-edge-tab--ask.assist-edge-tab--right {\n border-radius: 18px 0 0 18px;\n}\n\n.assist-edge-tab--ask.assist-edge-tab--left {\n border-radius: 0 18px 18px 0;\n}\n\n.assist-edge-tab--fill {\n --tab-fill: var(--as-brand);\n --tab-ink: #fff;\n --tab-line: transparent;\n box-shadow: -8px 0 22px -10px rgb(111 22 255 / 0.55);\n}\n\n.assist-edge-tab--fill.assist-edge-tab--right,\n.assist-edge-tab--fill.assist-edge-tab--left {\n min-height: 180px;\n}\n\n.assist-edge-tab__dots {\n display: grid;\n grid-template-columns: repeat(3, 3px);\n gap: 3px;\n}\n\n.assist-edge-tab--top .assist-edge-tab__dots,\n.assist-edge-tab--bottom .assist-edge-tab__dots {\n grid-template-columns: repeat(4, 3px);\n grid-template-rows: repeat(3, 3px);\n}\n\n.assist-edge-tab__dots i {\n width: 3px;\n height: 3px;\n border-radius: 999px;\n background: currentColor;\n opacity: 0.55;\n}\n\n@media (max-width: 767px) {\n .assist-edge-tab {\n z-index: calc(var(--as-z-mobile) + 2);\n }\n\n .assist-edge-tab--right,\n .assist-edge-tab--left {\n min-height: 148px;\n width: 36px;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .assist-edge-tab,\n .assist-edge-tab.is-visible,\n .assist-edge-tab.is-visible:hover {\n transition: none;\n }\n}\n"],"mappings":"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","names":[]}
|
package/dist/react.d.cts
CHANGED
|
@@ -1,4 +1,17 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
|
+
import { A as AgentIndexVersion, a as AgentPlacementConfig } from './placement-CXW_83AF.cjs';
|
|
3
|
+
export { b as AssistEdgeTab, c as AssistTabSide, d as AssistTabVariant, D as DEFAULT_AGENT_PLACEMENT, n as normalizeAgentPlacement } from './placement-CXW_83AF.cjs';
|
|
4
|
+
|
|
5
|
+
type AgentWidgetProps = {
|
|
6
|
+
indexId: string;
|
|
7
|
+
customerId: string;
|
|
8
|
+
version?: AgentIndexVersion;
|
|
9
|
+
runtimeOrigin?: string;
|
|
10
|
+
placement?: Partial<AgentPlacementConfig>;
|
|
11
|
+
defaultCollapsed?: boolean;
|
|
12
|
+
registerPanelController?: boolean;
|
|
13
|
+
};
|
|
14
|
+
declare function AgentWidget({ indexId, customerId, version, runtimeOrigin, placement: placementInput, defaultCollapsed, registerPanelController, }: AgentWidgetProps): react.JSX.Element;
|
|
2
15
|
|
|
3
16
|
type ToolStepState = "completed" | "active" | "pending" | "error";
|
|
4
17
|
type ToolStep = {
|
|
@@ -81,25 +94,15 @@ type AgentRailProps = {
|
|
|
81
94
|
};
|
|
82
95
|
declare function AgentRail({ state, theme, brandLabel, poweredByLabel, composerPlaceholder, mobileFullscreen, expanded, onCollapse, onClose, onExpandToggle, onSubmit, onFollowUpSelect, }: AgentRailProps): react.JSX.Element;
|
|
83
96
|
|
|
84
|
-
type AssistTabVariant = "outline" | "ask" | "fill";
|
|
85
|
-
type AssistTabSide = "right" | "left" | "top" | "bottom";
|
|
86
|
-
declare function AssistEdgeTab({ variant, side, along, inset, visible, onOpen, }: {
|
|
87
|
-
variant: AssistTabVariant;
|
|
88
|
-
side: AssistTabSide;
|
|
89
|
-
along: number;
|
|
90
|
-
inset: number;
|
|
91
|
-
visible: boolean;
|
|
92
|
-
onOpen: () => void;
|
|
93
|
-
}): react.JSX.Element;
|
|
94
|
-
|
|
95
97
|
type UseAgentChatOptions = {
|
|
96
98
|
customerId?: string;
|
|
97
99
|
indexId: string;
|
|
100
|
+
version?: AgentIndexVersion;
|
|
98
101
|
runtimeOrigin?: string;
|
|
99
102
|
visitorSessionId?: string;
|
|
100
103
|
storageKeyPrefix?: string;
|
|
101
104
|
};
|
|
102
|
-
declare function useAgentChat({ customerId, indexId, runtimeOrigin, visitorSessionId, storageKeyPrefix, }: UseAgentChatOptions): {
|
|
105
|
+
declare function useAgentChat({ customerId, indexId, version, runtimeOrigin, visitorSessionId, storageKeyPrefix, }: UseAgentChatOptions): {
|
|
103
106
|
state: AgentRailState;
|
|
104
107
|
reset: () => void;
|
|
105
108
|
submit: (visitorText: string) => Promise<void>;
|
|
@@ -110,4 +113,4 @@ declare function hasVisitorMessages(messages: ConversationMessage[]): boolean;
|
|
|
110
113
|
declare function createIdleSuggestions(): FollowUpSuggestion[];
|
|
111
114
|
declare function isAgentBusy(phase: AgentRailPhase): phase is "thinking" | "running-tools" | "streaming";
|
|
112
115
|
|
|
113
|
-
export { AgentRail, type AgentRailPhase, type AgentRailProps, type AgentRailState, type AgentRailTheme,
|
|
116
|
+
export { AgentPlacementConfig, AgentRail, type AgentRailPhase, type AgentRailProps, type AgentRailState, type AgentRailTheme, AgentWidget, type AgentWidgetProps, type Citation, type ConversationMessage, type FollowUpSuggestion, type JourneyContext, type ToolStep, type ToolStepState, type UseAgentChatOptions, createIdleSuggestions, defaultAgentRailTheme, hasVisitorMessages, isAgentBusy, useAgentChat };
|
package/dist/react.d.ts
CHANGED
|
@@ -1,4 +1,17 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
|
+
import { A as AgentIndexVersion, a as AgentPlacementConfig } from './placement-CXW_83AF.js';
|
|
3
|
+
export { b as AssistEdgeTab, c as AssistTabSide, d as AssistTabVariant, D as DEFAULT_AGENT_PLACEMENT, n as normalizeAgentPlacement } from './placement-CXW_83AF.js';
|
|
4
|
+
|
|
5
|
+
type AgentWidgetProps = {
|
|
6
|
+
indexId: string;
|
|
7
|
+
customerId: string;
|
|
8
|
+
version?: AgentIndexVersion;
|
|
9
|
+
runtimeOrigin?: string;
|
|
10
|
+
placement?: Partial<AgentPlacementConfig>;
|
|
11
|
+
defaultCollapsed?: boolean;
|
|
12
|
+
registerPanelController?: boolean;
|
|
13
|
+
};
|
|
14
|
+
declare function AgentWidget({ indexId, customerId, version, runtimeOrigin, placement: placementInput, defaultCollapsed, registerPanelController, }: AgentWidgetProps): react.JSX.Element;
|
|
2
15
|
|
|
3
16
|
type ToolStepState = "completed" | "active" | "pending" | "error";
|
|
4
17
|
type ToolStep = {
|
|
@@ -81,25 +94,15 @@ type AgentRailProps = {
|
|
|
81
94
|
};
|
|
82
95
|
declare function AgentRail({ state, theme, brandLabel, poweredByLabel, composerPlaceholder, mobileFullscreen, expanded, onCollapse, onClose, onExpandToggle, onSubmit, onFollowUpSelect, }: AgentRailProps): react.JSX.Element;
|
|
83
96
|
|
|
84
|
-
type AssistTabVariant = "outline" | "ask" | "fill";
|
|
85
|
-
type AssistTabSide = "right" | "left" | "top" | "bottom";
|
|
86
|
-
declare function AssistEdgeTab({ variant, side, along, inset, visible, onOpen, }: {
|
|
87
|
-
variant: AssistTabVariant;
|
|
88
|
-
side: AssistTabSide;
|
|
89
|
-
along: number;
|
|
90
|
-
inset: number;
|
|
91
|
-
visible: boolean;
|
|
92
|
-
onOpen: () => void;
|
|
93
|
-
}): react.JSX.Element;
|
|
94
|
-
|
|
95
97
|
type UseAgentChatOptions = {
|
|
96
98
|
customerId?: string;
|
|
97
99
|
indexId: string;
|
|
100
|
+
version?: AgentIndexVersion;
|
|
98
101
|
runtimeOrigin?: string;
|
|
99
102
|
visitorSessionId?: string;
|
|
100
103
|
storageKeyPrefix?: string;
|
|
101
104
|
};
|
|
102
|
-
declare function useAgentChat({ customerId, indexId, runtimeOrigin, visitorSessionId, storageKeyPrefix, }: UseAgentChatOptions): {
|
|
105
|
+
declare function useAgentChat({ customerId, indexId, version, runtimeOrigin, visitorSessionId, storageKeyPrefix, }: UseAgentChatOptions): {
|
|
103
106
|
state: AgentRailState;
|
|
104
107
|
reset: () => void;
|
|
105
108
|
submit: (visitorText: string) => Promise<void>;
|
|
@@ -110,4 +113,4 @@ declare function hasVisitorMessages(messages: ConversationMessage[]): boolean;
|
|
|
110
113
|
declare function createIdleSuggestions(): FollowUpSuggestion[];
|
|
111
114
|
declare function isAgentBusy(phase: AgentRailPhase): phase is "thinking" | "running-tools" | "streaming";
|
|
112
115
|
|
|
113
|
-
export { AgentRail, type AgentRailPhase, type AgentRailProps, type AgentRailState, type AgentRailTheme,
|
|
116
|
+
export { AgentPlacementConfig, AgentRail, type AgentRailPhase, type AgentRailProps, type AgentRailState, type AgentRailTheme, AgentWidget, type AgentWidgetProps, type Citation, type ConversationMessage, type FollowUpSuggestion, type JourneyContext, type ToolStep, type ToolStepState, type UseAgentChatOptions, createIdleSuggestions, defaultAgentRailTheme, hasVisitorMessages, isAgentBusy, useAgentChat };
|
package/dist/react.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
|
+
import "./react.css";
|
|
1
2
|
import {
|
|
2
3
|
AgentRail,
|
|
4
|
+
AgentWidget,
|
|
3
5
|
AssistEdgeTab,
|
|
6
|
+
DEFAULT_AGENT_PLACEMENT,
|
|
4
7
|
createIdleSuggestions,
|
|
5
8
|
hasVisitorMessages,
|
|
6
9
|
isAgentBusy,
|
|
10
|
+
normalizeAgentPlacement,
|
|
7
11
|
useAgentChat
|
|
8
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-4QGS7UZY.js";
|
|
9
13
|
|
|
10
14
|
// src/react/types/conversation.ts
|
|
11
15
|
var defaultAgentRailTheme = {
|
|
@@ -26,11 +30,14 @@ var defaultAgentRailTheme = {
|
|
|
26
30
|
};
|
|
27
31
|
export {
|
|
28
32
|
AgentRail,
|
|
33
|
+
AgentWidget,
|
|
29
34
|
AssistEdgeTab,
|
|
35
|
+
DEFAULT_AGENT_PLACEMENT,
|
|
30
36
|
createIdleSuggestions,
|
|
31
37
|
defaultAgentRailTheme,
|
|
32
38
|
hasVisitorMessages,
|
|
33
39
|
isAgentBusy,
|
|
40
|
+
normalizeAgentPlacement,
|
|
34
41
|
useAgentChat
|
|
35
42
|
};
|
|
36
43
|
//# sourceMappingURL=react.js.map
|
package/dist/react.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/react/types/conversation.ts"],"sourcesContent":["export type ToolStepState = \"completed\" | \"active\" | \"pending\" | \"error\";\n\nexport type ToolStep = {\n id: string;\n label: string;\n state: ToolStepState;\n detail?: string;\n};\n\nexport type Citation = {\n id: string;\n label: string;\n url: string;\n};\n\nexport type FollowUpSuggestion = {\n id: string;\n label: string;\n};\n\nexport type JourneyContext = {\n id: string;\n name: string;\n currentStep?: number;\n totalSteps?: number;\n stepLabel?: string;\n};\n\nexport type ConversationMessage =\n | {\n id: string;\n role: \"visitor\";\n text: string;\n createdAt: number;\n }\n | {\n id: string;\n role: \"agent\";\n text: string;\n createdAt: number;\n citations?: Citation[];\n toolReceipts?: string[];\n streaming?: boolean;\n };\n\nexport type AgentRailPhase =\n | \"idle\"\n | \"thinking\"\n | \"running-tools\"\n | \"streaming\"\n | \"complete\";\n\nexport type AgentRailState = {\n phase: AgentRailPhase;\n messages: ConversationMessage[];\n toolSteps: ToolStep[];\n journey: JourneyContext | null;\n followUps: FollowUpSuggestion[];\n streamingText: string;\n error: string | null;\n};\n\nexport type AgentRailTheme = {\n railMaxWidth: string;\n brand: string;\n brandSoft: string;\n brandDeep: string;\n surface: string;\n surfaceMuted: string;\n text: string;\n textMuted: string;\n textSubtle: string;\n border: string;\n visitorBubble: string;\n visitorText: string;\n success: string;\n danger: string;\n};\n\nexport const defaultAgentRailTheme: AgentRailTheme = {\n railMaxWidth: \"450px\",\n brand: \"#6f16ff\",\n brandSoft: \"#f3edff\",\n brandDeep: \"#12043e\",\n surface: \"#ffffff\",\n surfaceMuted: \"#f4f6fb\",\n text: \"#171b2a\",\n textMuted: \"#5a6378\",\n textSubtle: \"#8a94a8\",\n border: \"rgb(42 51 70 / 0.1)\",\n visitorBubble: \"#6f16ff\",\n visitorText: \"#ffffff\",\n success: \"#18794e\",\n danger: \"#c94b63\",\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/react/types/conversation.ts"],"sourcesContent":["export type ToolStepState = \"completed\" | \"active\" | \"pending\" | \"error\";\n\nexport type ToolStep = {\n id: string;\n label: string;\n state: ToolStepState;\n detail?: string;\n};\n\nexport type Citation = {\n id: string;\n label: string;\n url: string;\n};\n\nexport type FollowUpSuggestion = {\n id: string;\n label: string;\n};\n\nexport type JourneyContext = {\n id: string;\n name: string;\n currentStep?: number;\n totalSteps?: number;\n stepLabel?: string;\n};\n\nexport type ConversationMessage =\n | {\n id: string;\n role: \"visitor\";\n text: string;\n createdAt: number;\n }\n | {\n id: string;\n role: \"agent\";\n text: string;\n createdAt: number;\n citations?: Citation[];\n toolReceipts?: string[];\n streaming?: boolean;\n };\n\nexport type AgentRailPhase =\n | \"idle\"\n | \"thinking\"\n | \"running-tools\"\n | \"streaming\"\n | \"complete\";\n\nexport type AgentRailState = {\n phase: AgentRailPhase;\n messages: ConversationMessage[];\n toolSteps: ToolStep[];\n journey: JourneyContext | null;\n followUps: FollowUpSuggestion[];\n streamingText: string;\n error: string | null;\n};\n\nexport type AgentRailTheme = {\n railMaxWidth: string;\n brand: string;\n brandSoft: string;\n brandDeep: string;\n surface: string;\n surfaceMuted: string;\n text: string;\n textMuted: string;\n textSubtle: string;\n border: string;\n visitorBubble: string;\n visitorText: string;\n success: string;\n danger: string;\n};\n\nexport const defaultAgentRailTheme: AgentRailTheme = {\n railMaxWidth: \"450px\",\n brand: \"#6f16ff\",\n brandSoft: \"#f3edff\",\n brandDeep: \"#12043e\",\n surface: \"#ffffff\",\n surfaceMuted: \"#f4f6fb\",\n text: \"#171b2a\",\n textMuted: \"#5a6378\",\n textSubtle: \"#8a94a8\",\n border: \"rgb(42 51 70 / 0.1)\",\n visitorBubble: \"#6f16ff\",\n visitorText: \"#ffffff\",\n success: \"#18794e\",\n danger: \"#c94b63\",\n};\n"],"mappings":";;;;;;;;;;;;;AA+EO,IAAM,wBAAwC;AAAA,EACnD,cAAc;AAAA,EACd,OAAO;AAAA,EACP,WAAW;AAAA,EACX,WAAW;AAAA,EACX,SAAS;AAAA,EACT,cAAc;AAAA,EACd,MAAM;AAAA,EACN,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,eAAe;AAAA,EACf,aAAa;AAAA,EACb,SAAS;AAAA,EACT,QAAQ;AACV;","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webless/agent",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.7",
|
|
4
4
|
"description": "Webless Agent SDK — Eve runtime client, React UI, and embed bundle.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -34,9 +34,10 @@
|
|
|
34
34
|
"./embed.css": "./dist/embed.css"
|
|
35
35
|
},
|
|
36
36
|
"scripts": {
|
|
37
|
-
"build": "tsup",
|
|
37
|
+
"build": "tsup && node ./scripts/ensure-css-imports.mjs",
|
|
38
38
|
"build:bundle": "node ./scripts/build-agent-manifest-bundle.mjs",
|
|
39
39
|
"clean": "rm -rf dist",
|
|
40
|
+
"prepack": "npm run build",
|
|
40
41
|
"test": "vitest run",
|
|
41
42
|
"typecheck": "tsc --noEmit"
|
|
42
43
|
},
|
|
@@ -44,6 +45,7 @@
|
|
|
44
45
|
"access": "public"
|
|
45
46
|
},
|
|
46
47
|
"dependencies": {
|
|
48
|
+
"esbuild": "^0.28.1",
|
|
47
49
|
"eve": "0.40.0"
|
|
48
50
|
},
|
|
49
51
|
"peerDependencies": {
|
|
@@ -53,9 +55,7 @@
|
|
|
53
55
|
"devDependencies": {
|
|
54
56
|
"@types/react": "^19.1.8",
|
|
55
57
|
"@types/react-dom": "^19.1.6",
|
|
56
|
-
"@vitejs/plugin-react": "^4.7.0",
|
|
57
58
|
"react": "^19.1.0",
|
|
58
|
-
"react-dom": "^19.1.0"
|
|
59
|
-
"vite-plugin-css-injected-by-js": "^3.5.2"
|
|
59
|
+
"react-dom": "^19.1.0"
|
|
60
60
|
}
|
|
61
61
|
}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
import { mkdtemp, mkdir, readFile, writeFile } from "node:fs/promises";
|
|
1
|
+
import { mkdtemp, mkdir, readFile, rm, writeFile } from "node:fs/promises";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { tmpdir } from "node:os";
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
5
|
-
import
|
|
6
|
-
import { build as viteBuild } from "vite";
|
|
7
|
-
import cssInjectedByJsPlugin from "vite-plugin-css-injected-by-js";
|
|
5
|
+
import { build } from "esbuild";
|
|
8
6
|
|
|
9
7
|
const packageRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..");
|
|
10
|
-
const repoRoot = path.resolve(packageRoot, "../..");
|
|
11
8
|
const PRODUCTION_NODE_ENV = "production";
|
|
12
9
|
|
|
13
10
|
function createProcessEnvIntro(nodeEnv) {
|
|
@@ -21,7 +18,7 @@ function createManifestBundleEntrySource(input) {
|
|
|
21
18
|
};
|
|
22
19
|
|
|
23
20
|
return [
|
|
24
|
-
`import { createWeblessAgentPublicApi } from ${JSON.stringify(path.join(packageRoot, "
|
|
21
|
+
`import { createWeblessAgentPublicApi } from ${JSON.stringify(path.join(packageRoot, "dist/embed.js"))};`,
|
|
25
22
|
"",
|
|
26
23
|
`const manifest = ${JSON.stringify(manifest)};`,
|
|
27
24
|
"",
|
|
@@ -39,36 +36,39 @@ export async function buildAgentBundleFromManifest(input) {
|
|
|
39
36
|
await writeFile(entryPath, createManifestBundleEntrySource(input), "utf8");
|
|
40
37
|
|
|
41
38
|
try {
|
|
42
|
-
await
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
},
|
|
39
|
+
await build({
|
|
40
|
+
entryPoints: [entryPath],
|
|
41
|
+
outfile: path.join(outDir, fileName),
|
|
42
|
+
bundle: true,
|
|
43
|
+
format: "iife",
|
|
44
|
+
platform: "browser",
|
|
45
|
+
minify: true,
|
|
46
|
+
target: "es2022",
|
|
51
47
|
define: {
|
|
52
48
|
"process.env.NODE_ENV": JSON.stringify(PRODUCTION_NODE_ENV),
|
|
53
49
|
},
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
50
|
+
banner: {
|
|
51
|
+
js: createProcessEnvIntro(PRODUCTION_NODE_ENV),
|
|
52
|
+
},
|
|
53
|
+
plugins: [
|
|
54
|
+
{
|
|
55
|
+
name: "inject-css",
|
|
56
|
+
setup(buildContext) {
|
|
57
|
+
buildContext.onLoad({ filter: /\.css$/ }, async ({ path: cssPath }) => {
|
|
58
|
+
const css = await readFile(cssPath, "utf8");
|
|
59
|
+
return {
|
|
60
|
+
contents: [
|
|
61
|
+
`const css = ${JSON.stringify(css)};`,
|
|
62
|
+
"const style = document.createElement(\"style\");",
|
|
63
|
+
"style.textContent = css;",
|
|
64
|
+
"document.head.append(style);",
|
|
65
|
+
].join("\n"),
|
|
66
|
+
loader: "js",
|
|
67
|
+
};
|
|
68
|
+
});
|
|
68
69
|
},
|
|
69
70
|
},
|
|
70
|
-
|
|
71
|
-
},
|
|
71
|
+
],
|
|
72
72
|
});
|
|
73
73
|
|
|
74
74
|
const bundlePath = path.join(outDir, fileName);
|
|
@@ -82,6 +82,6 @@ export async function buildAgentBundleFromManifest(input) {
|
|
|
82
82
|
indexId: input.manifest.indexId,
|
|
83
83
|
};
|
|
84
84
|
} finally {
|
|
85
|
-
await
|
|
85
|
+
await rm(tempDir, { recursive: true, force: true });
|
|
86
86
|
}
|
|
87
87
|
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { readFile, writeFile } from "node:fs/promises";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { fileURLToPath } from "node:url";
|
|
5
|
+
|
|
6
|
+
const packageRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..");
|
|
7
|
+
const distDir = path.join(packageRoot, "dist");
|
|
8
|
+
|
|
9
|
+
async function ensureSideEffectImport(entryFile, importLine) {
|
|
10
|
+
const entryPath = path.join(distDir, entryFile);
|
|
11
|
+
const entry = await readFile(entryPath, "utf8");
|
|
12
|
+
if (!entry.includes(importLine.trim())) {
|
|
13
|
+
await writeFile(entryPath, `${importLine}${entry}`);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
async function stripCssRequire(entryFile, cssFile) {
|
|
18
|
+
const entryPath = path.join(distDir, entryFile);
|
|
19
|
+
const entry = await readFile(entryPath, "utf8");
|
|
20
|
+
const requireLine = `require("./${cssFile}");\n`;
|
|
21
|
+
if (entry.startsWith(requireLine)) {
|
|
22
|
+
await writeFile(entryPath, entry.slice(requireLine.length));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Bundlers resolve ESM side-effect CSS imports. Do not require CSS from CJS entries:
|
|
27
|
+
// bare Node/SSR would try to execute the CSS file as JavaScript and crash on load.
|
|
28
|
+
const cssSideEffects = [
|
|
29
|
+
{ entry: "react.js", importLine: 'import "./react.css";\n' },
|
|
30
|
+
{ entry: "embed.js", importLine: 'import "./embed.css";\n' },
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
for (const { entry, importLine } of cssSideEffects) {
|
|
34
|
+
await ensureSideEffectImport(entry, importLine);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
await stripCssRequire("react.cjs", "react.css");
|
|
38
|
+
await stripCssRequire("embed.cjs", "embed.css");
|
|
39
|
+
|
|
40
|
+
const embedCss = await readFile(path.join(distDir, "embed.css"), "utf8");
|
|
41
|
+
const reactCss = await readFile(path.join(distDir, "react.css"), "utf8");
|
|
42
|
+
|
|
43
|
+
for (const [label, css] of [
|
|
44
|
+
["embed.css", embedCss],
|
|
45
|
+
["react.css", reactCss],
|
|
46
|
+
]) {
|
|
47
|
+
if (!css.includes("--as-brand:")) {
|
|
48
|
+
throw new Error(`${label} is missing design tokens (--as-brand).`);
|
|
49
|
+
}
|
|
50
|
+
if (!css.includes(".webless-agent-root")) {
|
|
51
|
+
throw new Error(`${label} is missing widget layout styles (.webless-agent-root).`);
|
|
52
|
+
}
|
|
53
|
+
}
|