@adoptai/genui-components 0.1.57 → 0.1.59

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/composites/document-field-extraction/FieldAuditLog.d.ts +27 -0
  2. package/dist/composites/document-field-extraction/FieldAuditLog.d.ts.map +1 -0
  3. package/dist/composites/document-field-extraction/FieldDetail.d.ts +22 -0
  4. package/dist/composites/document-field-extraction/FieldDetail.d.ts.map +1 -0
  5. package/dist/composites/document-field-extraction/FieldDetails.d.ts +18 -0
  6. package/dist/composites/document-field-extraction/FieldDetails.d.ts.map +1 -0
  7. package/dist/composites/document-field-extraction/bboxTransform.d.ts +25 -0
  8. package/dist/composites/document-field-extraction/bboxTransform.d.ts.map +1 -0
  9. package/dist/composites/document-field-extraction/fieldLabels.d.ts +2 -0
  10. package/dist/composites/document-field-extraction/fieldLabels.d.ts.map +1 -0
  11. package/dist/composites/document-field-extraction/resolver.cjs +1920 -0
  12. package/dist/composites/document-field-extraction/resolver.cjs.map +1 -0
  13. package/dist/composites/document-field-extraction/resolver.d.ts +16 -0
  14. package/dist/composites/document-field-extraction/resolver.d.ts.map +1 -0
  15. package/dist/composites/document-field-extraction/resolver.js +1913 -0
  16. package/dist/composites/document-field-extraction/resolver.js.map +1 -0
  17. package/dist/composites/tabby-auth/resolver.cjs +597 -0
  18. package/dist/composites/tabby-auth/resolver.cjs.map +1 -0
  19. package/dist/composites/tabby-auth/resolver.d.ts +3 -0
  20. package/dist/composites/tabby-auth/resolver.d.ts.map +1 -0
  21. package/dist/composites/tabby-auth/resolver.js +595 -0
  22. package/dist/composites/tabby-auth/resolver.js.map +1 -0
  23. package/dist/composites/workflow-stepper/resolver.cjs +86 -18
  24. package/dist/composites/workflow-stepper/resolver.cjs.map +1 -1
  25. package/dist/composites/workflow-stepper/resolver.d.ts.map +1 -1
  26. package/dist/composites/workflow-stepper/resolver.js +86 -18
  27. package/dist/composites/workflow-stepper/resolver.js.map +1 -1
  28. package/dist/index.cjs +2661 -345
  29. package/dist/index.cjs.map +1 -1
  30. package/dist/index.d.ts +5 -0
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +2456 -144
  33. package/dist/index.js.map +1 -1
  34. package/dist/renderer.cjs +2482 -281
  35. package/dist/renderer.cjs.map +1 -1
  36. package/dist/renderer.js +2339 -138
  37. package/dist/renderer.js.map +1 -1
  38. package/dist/resolver.cjs +2481 -280
  39. package/dist/resolver.cjs.map +1 -1
  40. package/dist/resolver.d.ts.map +1 -1
  41. package/dist/resolver.js +2339 -138
  42. package/dist/resolver.js.map +1 -1
  43. package/dist/schemas/document-field-extraction.d.ts +258 -0
  44. package/dist/schemas/document-field-extraction.d.ts.map +1 -0
  45. package/dist/schemas/index.cjs +262 -3
  46. package/dist/schemas/index.cjs.map +1 -1
  47. package/dist/schemas/index.d.ts +376 -0
  48. package/dist/schemas/index.d.ts.map +1 -1
  49. package/dist/schemas/index.js +262 -3
  50. package/dist/schemas/index.js.map +1 -1
  51. package/dist/schemas/tabby-auth.d.ts +58 -0
  52. package/dist/schemas/tabby-auth.d.ts.map +1 -0
  53. package/dist/schemas/workflow-stepper.d.ts +60 -0
  54. package/dist/schemas/workflow-stepper.d.ts.map +1 -1
  55. package/dist/tool-definitions.json +326 -3
  56. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/shared/theme.ts","../../../src/shared/ColumnSettingsPanel.tsx","../../../src/shared/ComponentActions.tsx","../../../src/shared/ThemeContext.tsx","../../../src/shared/brandIcons.ts","../../../src/composites/tabby-auth/resolver.tsx"],"names":["jsxs","jsx","BORDER","MUTED","ACCENT","ACCENT_SOFT","useState"],"mappings":"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","file":"resolver.js","sourcesContent":["export const BORDER = \"#dedede\";\nexport const MUTED = \"#777777\";\nexport const PAPER = \"#f6f6f6\";\nexport const ACCENT = \"#ff5000\";\nexport const ACCENT_SOFT = \"#cc4000\";\nexport const SECONDARY = \"#0364ff\";\n\nexport const ACCOUNT_TYPE_COLORS = {\n asset: { bg: \"#eff6ff\", color: \"#1d4ed8\" },\n liability: { bg: \"#fff7ed\", color: \"#92400e\" },\n equity: { bg: \"#f5f3ff\", color: \"#7c3aed\" },\n revenue: { bg: \"#dcfce7\", color: \"#15803d\" },\n expense: { bg: \"#fef2f2\", color: \"#dc2626\" },\n} as const;\n\nexport const STATUS_COLORS = {\n draft: { bg: \"#fff7ed\", color: \"#92400e\" },\n \"pending-review\": { bg: \"#eff6ff\", color: \"#1d4ed8\" },\n approved: { bg: \"#dcfce7\", color: \"#15803d\" },\n filed: { bg: \"#f5f3ff\", color: \"#7c3aed\" },\n} as const;\n\nexport const CHART_PALETTE = [\n \"#ff5000\",\n \"#0364ff\",\n \"#16a34a\",\n \"#dc2626\",\n \"#7c3aed\",\n \"#0891b2\",\n \"#f59e0b\",\n \"#6366f1\",\n \"#ec4899\",\n \"#84cc16\",\n \"#e11d48\",\n \"#0ea5e9\",\n];\n","\"use client\";\n\nimport React from \"react\";\nimport { BORDER, MUTED, ACCENT } from \"./theme\";\n\ninterface ColumnSettingsPanelProps {\n columns: { key: string; label: string }[];\n hidden: Set<string>;\n onToggle: (key: string) => void;\n onShowAll: () => void;\n onHideAll: () => void;\n}\n\nexport function ColumnSettingsPanel({ columns, hidden, onToggle, onShowAll, onHideAll }: ColumnSettingsPanelProps) {\n return (\n <div style={{ display: \"flex\", flexDirection: \"column\", gap: \"6px\", minWidth: \"180px\" }}>\n <div style={{ display: \"flex\", justifyContent: \"space-between\", paddingBottom: \"4px\", borderBottom: `1px solid ${BORDER}` }}>\n <button\n onClick={onShowAll}\n style={{ background: \"none\", border: \"none\", cursor: \"pointer\", fontSize: \"11px\", color: ACCENT, fontWeight: 500, padding: 0 }}\n >\n Show all\n </button>\n <button\n onClick={onHideAll}\n style={{ background: \"none\", border: \"none\", cursor: \"pointer\", fontSize: \"11px\", color: MUTED, fontWeight: 500, padding: 0 }}\n >\n Hide all\n </button>\n </div>\n {columns.map((col) => (\n <label\n key={col.key}\n style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\", cursor: \"pointer\", fontSize: \"12px\", color: \"var(--foreground)\" }}\n >\n <input\n type=\"checkbox\"\n checked={!hidden.has(col.key)}\n onChange={() => onToggle(col.key)}\n style={{ accentColor: ACCENT, width: \"14px\", height: \"14px\", margin: 0, cursor: \"pointer\" }}\n />\n {col.label}\n </label>\n ))}\n </div>\n );\n}\n","\"use client\";\n\nimport React, { useState, useRef, useEffect, useCallback } from \"react\";\nimport { toPng } from \"html-to-image\";\nimport { ColumnSettingsPanel } from \"./ColumnSettingsPanel\";\nimport { BORDER, MUTED } from \"./theme\";\n\nconst DOT_COLOR = \"#aaaaaa\";\nconst DOT_HOVER = \"#555555\";\n\ninterface ColumnConfig {\n columns: { key: string; label: string }[];\n hidden: Set<string>;\n onToggle: (key: string) => void;\n onShowAll: () => void;\n onHideAll: () => void;\n}\n\ninterface ComponentActionsProps {\n children: React.ReactNode;\n onDownloadCSV?: () => void;\n columnConfig?: ColumnConfig;\n filename?: string;\n}\n\ntype MenuView = \"main\" | \"columns\";\n\nexport function ComponentActions({ children, onDownloadCSV, columnConfig, filename = \"component\" }: ComponentActionsProps) {\n const [open, setOpen] = useState(false);\n const [view, setView] = useState<MenuView>(\"main\");\n const contentRef = useRef<HTMLDivElement>(null);\n const menuRef = useRef<HTMLDivElement>(null);\n const btnRef = useRef<HTMLButtonElement>(null);\n\n const close = useCallback(() => {\n setOpen(false);\n setView(\"main\");\n }, []);\n\n useEffect(() => {\n if (!open) return;\n const handler = (e: MouseEvent) => {\n if (menuRef.current?.contains(e.target as Node)) return;\n if (btnRef.current?.contains(e.target as Node)) return;\n close();\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, [open, close]);\n\n const handleDownloadPNG = useCallback(async () => {\n if (!contentRef.current) return;\n try {\n const url = await toPng(contentRef.current, { backgroundColor: \"white\", pixelRatio: 2 });\n const a = document.createElement(\"a\");\n a.href = url;\n a.download = `${filename}.png`;\n a.click();\n } catch {\n // silent fail\n }\n close();\n }, [filename, close]);\n\n const handleCSV = useCallback(() => {\n onDownloadCSV?.();\n close();\n }, [onDownloadCSV, close]);\n\n return (\n <div style={{ width: \"100%\", display: \"flex\", flexDirection: \"column\" }}>\n <div ref={contentRef} style={{ width: \"100%\" }}>\n {children}\n </div>\n <div style={{ display: \"flex\", justifyContent: \"flex-end\", marginTop: \"4px\", position: \"relative\", zIndex: 10, flexShrink: 0 }}>\n <button\n ref={btnRef}\n onClick={() => { setOpen((o) => !o); setView(\"main\"); }}\n aria-label=\"Component actions\"\n style={{\n background: \"none\",\n border: \"none\",\n cursor: \"pointer\",\n padding: \"4px 8px\",\n display: \"flex\",\n gap: \"3px\",\n alignItems: \"center\",\n borderRadius: \"6px\",\n transition: \"background 0.15s\",\n }}\n onMouseEnter={(e) => {\n e.currentTarget.style.background = \"#f2f2f2\";\n e.currentTarget.querySelectorAll<SVGCircleElement>(\"circle\").forEach((c) => (c.style.fill = DOT_HOVER));\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.background = \"none\";\n e.currentTarget.querySelectorAll<SVGCircleElement>(\"circle\").forEach((c) => (c.style.fill = DOT_COLOR));\n }}\n >\n <svg width=\"20\" height=\"6\" viewBox=\"0 0 20 6\">\n <circle cx=\"3\" cy=\"3\" r=\"2\" style={{ fill: DOT_COLOR, transition: \"fill 0.15s\" }} />\n <circle cx=\"10\" cy=\"3\" r=\"2\" style={{ fill: DOT_COLOR, transition: \"fill 0.15s\" }} />\n <circle cx=\"17\" cy=\"3\" r=\"2\" style={{ fill: DOT_COLOR, transition: \"fill 0.15s\" }} />\n </svg>\n </button>\n\n {open && (\n <div\n ref={menuRef}\n style={{\n position: \"absolute\",\n bottom: \"100%\",\n right: 0,\n marginBottom: \"4px\",\n background: \"white\",\n border: `1px solid ${BORDER}`,\n borderRadius: \"0.75rem\",\n boxShadow: \"0 4px 12px rgba(0,0,0,0.06)\",\n zIndex: 50,\n padding: view === \"columns\" ? \"10px\" : \"4px\",\n minWidth: view === \"columns\" ? \"200px\" : \"160px\",\n }}\n >\n {view === \"main\" ? (\n <div style={{ display: \"flex\", flexDirection: \"column\" }}>\n {columnConfig && (\n <MenuButton label=\"Customize columns\" onClick={() => setView(\"columns\")} />\n )}\n {onDownloadCSV && (\n <MenuButton label=\"Download CSV\" onClick={handleCSV} />\n )}\n <MenuButton label=\"Download PNG\" onClick={handleDownloadPNG} />\n </div>\n ) : (\n <div>\n <button\n onClick={() => setView(\"main\")}\n style={{ background: \"none\", border: \"none\", cursor: \"pointer\", fontSize: \"11px\", color: MUTED, marginBottom: \"6px\", padding: 0 }}\n >\n ← Back\n </button>\n <ColumnSettingsPanel\n columns={columnConfig!.columns}\n hidden={columnConfig!.hidden}\n onToggle={columnConfig!.onToggle}\n onShowAll={columnConfig!.onShowAll}\n onHideAll={columnConfig!.onHideAll}\n />\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n );\n}\n\nfunction MenuButton({ label, onClick }: { label: string; onClick: () => void }) {\n return (\n <button\n onClick={onClick}\n style={{\n background: \"none\",\n border: \"none\",\n cursor: \"pointer\",\n padding: \"8px 12px\",\n fontSize: \"12.5px\",\n color: \"var(--foreground)\",\n textAlign: \"left\",\n borderRadius: \"8px\",\n transition: \"background 0.15s\",\n whiteSpace: \"nowrap\",\n }}\n onMouseEnter={(e) => (e.currentTarget.style.background = \"#f2f2f2\")}\n onMouseLeave={(e) => (e.currentTarget.style.background = \"none\")}\n >\n {label}\n </button>\n );\n}\n","\"use client\";\n\nimport React, { createContext, useContext, useMemo } from \"react\";\nimport {\n BORDER,\n MUTED,\n PAPER,\n ACCENT,\n ACCENT_SOFT,\n SECONDARY,\n CHART_PALETTE,\n} from \"./theme\";\n\nexport interface ThemeTokens {\n BORDER: string;\n MUTED: string;\n PAPER: string;\n ACCENT: string;\n ACCENT_SOFT: string;\n SECONDARY: string;\n CHART_PALETTE: string[];\n}\n\nexport const DEFAULT_TOKENS: ThemeTokens = {\n BORDER,\n MUTED,\n PAPER,\n ACCENT,\n ACCENT_SOFT,\n SECONDARY,\n CHART_PALETTE: [...CHART_PALETTE],\n};\n\nconst GenUIThemeContext = createContext<ThemeTokens>(DEFAULT_TOKENS);\n\nexport interface GenUIThemeProviderProps {\n colors?: Partial<ThemeTokens>;\n children: React.ReactNode;\n}\n\nexport function GenUIThemeProvider({ colors, children }: GenUIThemeProviderProps) {\n const merged = useMemo(\n () => (colors ? { ...DEFAULT_TOKENS, ...colors } : DEFAULT_TOKENS),\n [colors]\n );\n return (\n <GenUIThemeContext.Provider value={merged}>\n {children}\n </GenUIThemeContext.Provider>\n );\n}\n\nexport function useTheme(): ThemeTokens {\n return useContext(GenUIThemeContext);\n}\n","// Built-in brand logos for well-known integrations. Used as a fallback when a\n// payload has no explicit iconUrl (e.g. agent-synthesized \"connect Gmail / Outlook\"\n// suggestions that aren't backed by a catalog row with an image_url). Catalog\n// integrations should still pass their real image_url; this only fills the gap.\n//\n// Logos are served by the simple-icons CDN (https://simpleicons.org) as brand-\n// colored SVGs addressed by slug. Unknown names fall back to a monogram tile.\n\nconst SLUGS: Record<string, string> = {\n gmail: \"gmail\",\n googlemail: \"gmail\",\n outlook: \"microsoftoutlook\",\n microsoftoutlook: \"microsoftoutlook\",\n office365: \"microsoftoffice\",\n slack: \"slack\",\n googledrive: \"googledrive\",\n drive: \"googledrive\",\n googlesheets: \"googlesheets\",\n googledocs: \"googledocs\",\n googlecalendar: \"googlecalendar\",\n gcal: \"googlecalendar\",\n notion: \"notion\",\n salesforce: \"salesforce\",\n hubspot: \"hubspot\",\n github: \"github\",\n gitlab: \"gitlab\",\n jira: \"jira\",\n confluence: \"confluence\",\n atlassian: \"atlassian\",\n asana: \"asana\",\n trello: \"trello\",\n linear: \"linear\",\n zoom: \"zoom\",\n dropbox: \"dropbox\",\n box: \"box\",\n zendesk: \"zendesk\",\n intercom: \"intercom\",\n stripe: \"stripe\",\n shopify: \"shopify\",\n perplexity: \"perplexity\",\n openai: \"openai\",\n anthropic: \"anthropic\",\n fireflies: \"fireflies\",\n zohodesk: \"zoho\",\n zoho: \"zoho\",\n pipedrive: \"pipedrive\",\n workday: \"workday\",\n sap: \"sap\",\n odoo: \"odoo\",\n superset: \"apachesuperset\",\n highradius: \"\",\n zoominfo: \"\",\n};\n\n/** Normalize a display name to a lookup key: lowercase, strip non-alphanumerics. */\nfunction normalize(name: string): string {\n return (name || \"\").toLowerCase().replace(/[^a-z0-9]/g, \"\");\n}\n\n/** Return a brand-logo URL for a known integration name, or undefined. */\nexport function brandIconUrl(name: string): string | undefined {\n const slug = SLUGS[normalize(name)];\n if (!slug) return undefined;\n return `https://cdn.simpleicons.org/${slug}`;\n}\n","\"use client\";\n\nimport React, { useState } from \"react\";\nimport type { SchemaPayload } from \"../../schemas\";\nimport { ComponentActions } from \"../../shared/ComponentActions\";\nimport { useTheme } from \"../../shared/ThemeContext\";\nimport { brandIconUrl } from \"../../shared/brandIcons\";\n\nconst CONNECTED_GREEN = \"#15803d\";\nconst CONNECTED_GREEN_BG = \"#dcfce7\";\nconst PENDING_AMBER = \"#92400e\";\nconst PENDING_AMBER_BG = \"#fff7ed\";\n\n// Hardcoded brand constants — never model-supplied. The trust assurance is a\n// structural element of this card, not free text the LLM owns.\nconst CARD_TITLE = \"Authentication required\";\nconst TRUST_FOOTER = \"Credentials not stored by Adopt\";\n\nconst DEFAULT_STEPS = (app: string, ctaLabel: string, connected: boolean) =>\n connected\n ? [\n `Click ${ctaLabel} below to open ${app} in a new tab.`,\n \"Confirm you are signed in — re-authenticate if prompted.\",\n \"Return here — the request continues automatically.\",\n ]\n : [\n `Click ${ctaLabel} below to open the sign-in page.`,\n `Sign in with your ${app} credentials — SSO is supported.`,\n \"Return here — the request resumes automatically.\",\n ];\n\n// Safety net: call_web_api passes a profile slug (\"sage_intacct\", \"airbnb\").\n// The model is instructed to humanize it, but title-case any slug-looking\n// value here so the card never shows a lowercase / snake-case app name.\nfunction humanizeApp(raw: string): string {\n const v = raw.trim();\n if (!v) return v;\n const looksLikeSlug = /^[a-z0-9]+([_-][a-z0-9]+)*$/.test(v);\n if (!looksLikeSlug) return v; // already has caps / spaces — trust it\n return v\n .split(/[_-]+/)\n .map((w) => w.charAt(0).toUpperCase() + w.slice(1))\n .join(\" \");\n}\n\nfunction ShieldIcon({ color }: { color: string }) {\n return (\n <svg\n width=\"13\"\n height=\"13\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke={color}\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n style={{ flexShrink: 0 }}\n >\n <path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\" />\n <path d=\"m9 12 2 2 4-4\" />\n </svg>\n );\n}\n\nfunction ExternalIcon() {\n return (\n <svg\n width=\"13\"\n height=\"13\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n style={{ flexShrink: 0 }}\n >\n <path d=\"M15 3h6v6\" />\n <path d=\"M10 14 21 3\" />\n <path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\" />\n </svg>\n );\n}\n\nexport function TabbyAuthResolver(p: SchemaPayload<\"tabby-auth\">) {\n const { BORDER, MUTED, ACCENT, ACCENT_SOFT } = useTheme();\n const [cardHovered, setCardHovered] = useState(false);\n const [btnHovered, setBtnHovered] = useState(false);\n const [imgFailed, setImgFailed] = useState(false);\n\n const app = humanizeApp(p.app || \"the app\");\n const connected = p.state === \"connected\";\n const accent = connected ? CONNECTED_GREEN : ACCENT;\n\n const ctaLabel = p.ctaLabel ?? (connected ? `Open ${app}` : `Connect ${app}`);\n const subtitle = p.workspace ? `${app} · ${p.workspace} workspace` : app;\n const steps = p.steps?.length ? p.steps : DEFAULT_STEPS(app, ctaLabel, connected);\n const description =\n p.description ??\n (connected\n ? `Your ${app} session is active. Open ${app} to continue, or re-authenticate if prompted.`\n : `Your ${app} account is not yet connected to this workspace. Complete sign-in once to enable automatic access.`);\n\n const iconSrc = p.iconUrl || brandIconUrl(app);\n const showImg = Boolean(iconSrc) && !imgFailed;\n const initial = app.charAt(0).toUpperCase();\n\n const badge = connected\n ? { label: \"Connected\", bg: CONNECTED_GREEN_BG, color: CONNECTED_GREEN }\n : { label: \"Pending sign-in\", bg: PENDING_AMBER_BG, color: PENDING_AMBER };\n\n const sectionPad = \"13px 16px\";\n\n return (\n <ComponentActions filename={`${app} authentication`}>\n <div style={{ width: \"100%\", display: \"flex\", flexDirection: \"column\", gap: \"10px\" }}>\n <div\n onMouseEnter={() => setCardHovered(true)}\n onMouseLeave={() => setCardHovered(false)}\n style={{\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"stretch\",\n borderRadius: \"0.75rem\",\n border: `1px solid ${cardHovered ? \"#d2d2d2\" : BORDER}`,\n background: \"white\",\n overflow: \"hidden\",\n boxShadow: cardHovered\n ? \"0 1px 3px rgba(0,0,0,0.05), 0 6px 18px rgba(0,0,0,0.06)\"\n : \"0 1px 2px rgba(0,0,0,0.03)\",\n transition: \"box-shadow 0.18s ease, border-color 0.18s ease\",\n }}\n >\n {/* Left accent rail */}\n <div style={{ width: \"3px\", flexShrink: 0, background: accent }} />\n\n <div style={{ flex: 1, minWidth: 0, display: \"flex\", flexDirection: \"column\" }}>\n {/* Header: title + subtitle (left), status badge (right) */}\n <div\n style={{\n display: \"flex\",\n alignItems: \"flex-start\",\n gap: \"12px\",\n padding: sectionPad,\n }}\n >\n <div\n style={{\n position: \"relative\",\n width: \"34px\",\n height: \"34px\",\n borderRadius: \"9px\",\n flexShrink: 0,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n background: showImg ? \"white\" : \"#fff3ee\",\n boxShadow: \"inset 0 0 0 1px rgba(0,0,0,0.06)\",\n overflow: \"hidden\",\n }}\n >\n {showImg ? (\n <img\n src={iconSrc}\n alt={app}\n onError={() => setImgFailed(true)}\n style={{ width: \"22px\", height: \"22px\", objectFit: \"contain\" }}\n />\n ) : (\n <span\n style={{\n fontFamily: \"var(--font-serif)\",\n fontSize: \"17px\",\n fontWeight: 400,\n color: ACCENT,\n lineHeight: 1,\n }}\n >\n {initial}\n </span>\n )}\n </div>\n\n <div style={{ flex: 1, minWidth: 0, display: \"flex\", flexDirection: \"column\", gap: \"2px\" }}>\n <span\n style={{\n fontFamily: \"var(--font-serif)\",\n fontSize: \"15px\",\n fontWeight: 400,\n color: \"var(--foreground)\",\n letterSpacing: \"-0.01em\",\n lineHeight: 1.2,\n }}\n >\n {CARD_TITLE}\n </span>\n <span\n style={{\n fontSize: \"12px\",\n color: MUTED,\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n }}\n >\n {subtitle}\n </span>\n </div>\n\n <span\n style={{\n display: \"inline-flex\",\n alignItems: \"center\",\n gap: \"5px\",\n flexShrink: 0,\n fontSize: \"10.5px\",\n fontWeight: 600,\n padding: \"3px 9px\",\n borderRadius: \"9999px\",\n background: badge.bg,\n color: badge.color,\n whiteSpace: \"nowrap\",\n }}\n >\n <span\n style={{\n width: \"6px\",\n height: \"6px\",\n borderRadius: \"9999px\",\n background: badge.color,\n }}\n />\n {badge.label}\n </span>\n </div>\n\n {/* Body: optional description + numbered steps */}\n <div\n style={{\n borderTop: `1px solid ${BORDER}`,\n padding: sectionPad,\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"12px\",\n }}\n >\n {description && (\n <p style={{ margin: 0, fontSize: \"12.5px\", lineHeight: 1.5, color: \"var(--foreground)\" }}>\n {description}\n </p>\n )}\n <ol style={{ margin: 0, padding: 0, listStyle: \"none\", display: \"flex\", flexDirection: \"column\", gap: \"8px\" }}>\n {steps.map((step, i) => (\n <li key={i} style={{ display: \"flex\", alignItems: \"flex-start\", gap: \"10px\" }}>\n <span\n style={{\n flexShrink: 0,\n width: \"18px\",\n height: \"18px\",\n borderRadius: \"9999px\",\n background: accent,\n color: \"white\",\n fontSize: \"10.5px\",\n fontWeight: 600,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n marginTop: \"1px\",\n }}\n >\n {i + 1}\n </span>\n <span style={{ fontSize: \"12.5px\", lineHeight: 1.45, color: \"var(--foreground)\" }}>{step}</span>\n </li>\n ))}\n </ol>\n </div>\n\n {/* Footer: trust note (left) + CTA (right) */}\n <div\n style={{\n borderTop: `1px solid ${BORDER}`,\n padding: sectionPad,\n background: \"#fbfbfb\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n gap: \"12px\",\n flexWrap: \"wrap\",\n }}\n >\n <span style={{ display: \"inline-flex\", alignItems: \"center\", gap: \"6px\", color: MUTED, fontSize: \"11.5px\" }}>\n <ShieldIcon color={CONNECTED_GREEN} />\n {TRUST_FOOTER}\n </span>\n\n <a\n href={p.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n onMouseEnter={() => setBtnHovered(true)}\n onMouseLeave={() => setBtnHovered(false)}\n style={{\n display: \"inline-flex\",\n alignItems: \"center\",\n gap: \"7px\",\n flexShrink: 0,\n borderRadius: \"8px\",\n padding: \"8px 15px\",\n fontSize: \"12.5px\",\n fontWeight: 600,\n textDecoration: \"none\",\n whiteSpace: \"nowrap\",\n cursor: \"pointer\",\n color: \"white\",\n border: \"1px solid transparent\",\n background: btnHovered\n ? connected\n ? \"#126a33\"\n : ACCENT_SOFT\n : accent,\n transition: \"background 0.15s ease\",\n }}\n >\n <ExternalIcon />\n {ctaLabel}\n </a>\n </div>\n </div>\n </div>\n </div>\n </ComponentActions>\n );\n}\n"]}
@@ -265,6 +265,8 @@ var STATUS_COLORS = {
265
265
  done: "#15803d",
266
266
  active: "",
267
267
  // filled from theme ACCENT at render time
268
+ running: "",
269
+ // filled from theme ACCENT at render time (executor in flight)
268
270
  review: "#f59e0b",
269
271
  pending: "#9ca3af",
270
272
  blocked: "#b45309",
@@ -273,6 +275,7 @@ var STATUS_COLORS = {
273
275
  var STATUS_LABELS = {
274
276
  done: "Complete",
275
277
  active: "In progress",
278
+ running: "Running",
276
279
  review: "In review",
277
280
  pending: "Pending",
278
281
  blocked: "Blocked",
@@ -376,6 +379,26 @@ function IndexDot({ step, index, accent }) {
376
379
  if (step.status === "failed") {
377
380
  return /* @__PURE__ */ jsxRuntime.jsx("div", { style: __spreadProps(__spreadValues({}, base), { background: "#dc2626", color: "white" }), children: /* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontSize: 10 }, children: "!" }) });
378
381
  }
382
+ if (step.status === "running") {
383
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { style: __spreadProps(__spreadValues({}, base), { position: "relative", background: `${accent}1f`, color: accent }), children: [
384
+ /* @__PURE__ */ jsxRuntime.jsx(
385
+ "span",
386
+ {
387
+ className: "wfs-anim",
388
+ "aria-hidden": "true",
389
+ style: {
390
+ position: "absolute",
391
+ inset: 0,
392
+ borderRadius: "50%",
393
+ border: `1.5px solid ${accent}33`,
394
+ borderTopColor: accent,
395
+ animation: "wfsSpin 0.8s linear infinite"
396
+ }
397
+ }
398
+ ),
399
+ /* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontSize: 9 }, children: n })
400
+ ] });
401
+ }
379
402
  if (step.status === "active") {
380
403
  return /* @__PURE__ */ jsxRuntime.jsx("div", { style: __spreadProps(__spreadValues({}, base), { background: accent, color: "white" }), children: n });
381
404
  }
@@ -384,6 +407,44 @@ function IndexDot({ step, index, accent }) {
384
407
  }
385
408
  return /* @__PURE__ */ jsxRuntime.jsx("div", { style: __spreadProps(__spreadValues({}, base), { background: "#f2f2f2", color: "#9ca3af" }), children: n });
386
409
  }
410
+ function EvalBadge({ step }) {
411
+ var _a;
412
+ const ev = step.eval;
413
+ if (!ev || ev.judge_ok === false) return null;
414
+ const score = typeof ev.score === "number" ? ev.score : null;
415
+ const flags = (_a = ev.data_quality_flags) != null ? _a : [];
416
+ const bad = ev.verdict === "bad" || score !== null && score < 0.8;
417
+ const tip = flags.length > 0 ? flags.map((f) => {
418
+ var _a2;
419
+ return `${(_a2 = f.severity) != null ? _a2 : "?"}: ${f.details || f.issue || f.field || "issue"}`;
420
+ }).join("\n") : ev.reasoning || void 0;
421
+ const label = score !== null ? score.toFixed(2) : bad ? "flagged" : "ok";
422
+ return /* @__PURE__ */ jsxRuntime.jsxs(
423
+ "span",
424
+ {
425
+ title: tip,
426
+ "data-testid": `workflow-stepper-eval-${step.id}`,
427
+ style: {
428
+ display: "inline-flex",
429
+ alignItems: "center",
430
+ gap: 3,
431
+ fontSize: 9,
432
+ fontWeight: 700,
433
+ padding: "1px 6px",
434
+ borderRadius: 9999,
435
+ background: bad ? "#fff7ed" : "#dcfce7",
436
+ color: bad ? "#b45309" : "#15803d",
437
+ whiteSpace: "nowrap",
438
+ flexShrink: 0
439
+ },
440
+ children: [
441
+ /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", children: bad ? "\u26A0" : "\u2713" }),
442
+ label,
443
+ flags.length > 0 ? ` \xB7 ${flags.length}` : ""
444
+ ]
445
+ }
446
+ );
447
+ }
387
448
  var CARD_MIN = 132;
388
449
  var CARD_GAP = 16;
389
450
  var AUTO_COMPACT_BELOW = 360;
@@ -408,6 +469,7 @@ var KEYFRAMES = `
408
469
  @keyframes wfsLampPulse{0%,100%{box-shadow:0 0 0 0 var(--wfs-accent,#6366f1)73}50%{box-shadow:0 0 0 4px transparent}}
409
470
  @keyframes wfsRise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
410
471
  @keyframes wfsShimmer{0%{background-position:-200px 0}100%{background-position:calc(200px + 100%) 0}}
472
+ @keyframes wfsSpin{to{transform:rotate(360deg)}}
411
473
  .wfs-rise{animation:wfsRise 0.32s cubic-bezier(0.22,1,0.36,1) both}
412
474
  @media (prefers-reduced-motion: reduce){
413
475
  .wfs-anim,.wfs-rise,.wfs-shim{animation:none !important}
@@ -488,7 +550,7 @@ function WorkflowStepperRenderer({
488
550
  const steps = (_a = data.steps) != null ? _a : [];
489
551
  const activeStepId = (_d = (_c = data.active_step) != null ? _c : (_b = steps.find((s) => s.status === "active")) == null ? void 0 : _b.id) != null ? _d : null;
490
552
  const interactive = typeof onSelectStep === "function";
491
- const statusColor = (s) => s === "active" ? ACCENT2 : STATUS_COLORS[s];
553
+ const statusColor = (s) => s === "active" || s === "running" ? ACCENT2 : STATUS_COLORS[s];
492
554
  const doneCount = steps.filter((s) => s.status === "done").length;
493
555
  const rootRef = React4__default.default.useRef(null);
494
556
  const containerW = useContainerWidth(rootRef);
@@ -716,6 +778,7 @@ function WorkflowStepperRenderer({
716
778
  var _a2;
717
779
  const isSelected = selectedStep === step.id;
718
780
  const isActive = step.status === "active";
781
+ const isRunning = step.status === "running";
719
782
  const reached = step.status !== "pending";
720
783
  const clickable = interactive && reached;
721
784
  const color = statusColor(step.status);
@@ -812,36 +875,41 @@ function WorkflowStepperRenderer({
812
875
  }
813
876
  }
814
877
  ),
815
- /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between" }, children: [
816
- /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", alignItems: "center", gap: 6 }, children: [
878
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", gap: 4 }, children: [
879
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", alignItems: "center", gap: 6, minWidth: 0 }, children: [
817
880
  /* @__PURE__ */ jsxRuntime.jsx(IndexDot, { step, index: i, accent: ACCENT2 }),
818
881
  /* @__PURE__ */ jsxRuntime.jsx(
819
882
  "span",
820
883
  {
821
- className: isActive ? "wfs-anim" : void 0,
884
+ className: isActive || isRunning ? "wfs-anim" : void 0,
822
885
  style: {
823
886
  width: 6,
824
887
  height: 6,
825
888
  borderRadius: "50%",
826
889
  background: color,
827
- animation: isActive ? "wfsLampPulse 1.8s ease-in-out infinite" : "none"
890
+ flexShrink: 0,
891
+ animation: isActive || isRunning ? "wfsLampPulse 1.8s ease-in-out infinite" : "none"
828
892
  }
829
893
  }
830
894
  )
831
895
  ] }),
832
- /* @__PURE__ */ jsxRuntime.jsx(
833
- "span",
834
- {
835
- style: {
836
- fontSize: 9,
837
- fontWeight: 600,
838
- letterSpacing: "0.05em",
839
- textTransform: "uppercase",
840
- color
841
- },
842
- children: STATUS_LABELS[step.status]
843
- }
844
- )
896
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", alignItems: "center", gap: 4, minWidth: 0 }, children: [
897
+ /* @__PURE__ */ jsxRuntime.jsx(EvalBadge, { step }),
898
+ /* @__PURE__ */ jsxRuntime.jsx(
899
+ "span",
900
+ {
901
+ style: {
902
+ fontSize: 9,
903
+ fontWeight: 600,
904
+ letterSpacing: "0.05em",
905
+ textTransform: "uppercase",
906
+ color,
907
+ whiteSpace: "nowrap"
908
+ },
909
+ children: STATUS_LABELS[step.status]
910
+ }
911
+ )
912
+ ] })
845
913
  ] }),
846
914
  /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { minWidth: 0 }, children: [
847
915
  /* @__PURE__ */ jsxRuntime.jsx(