{"_id":"@automatey-org/ui-fluent","_rev":"4-9b26b092c06cbe04e8b6610d46d5a432","name":"@automatey-org/ui-fluent","dist-tags":{"latest":"0.1.3"},"versions":{"0.1.1":{"name":"@automatey-org/ui-fluent","version":"0.1.1","license":"MIT","_id":"@automatey-org/ui-fluent@0.1.1","maintainers":[{"name":"maxgolovanov","email":"max.golovanov@gmail.com"}],"dist":{"shasum":"7c6566aa4ac5573106dd760723c46a83ca1dcb28","tarball":"https://registry.npmjs.org/@automatey-org/ui-fluent/-/ui-fluent-0.1.1.tgz","fileCount":42,"integrity":"sha512-HFu5YcHu+WsDLloslIf5GZf42J3PTqeGjaaPU4T+lyS3dTm+nuxIpT9+lz06SyhDFOfMKSHuqXqddgmNMBSwrA==","signatures":[{"sig":"MEQCIGZzIXJS8k/iqMSVpt+vdTofgb3FbjG1bOUSZiD7qTu4AiBMDfwwE4uf698GpOVE20ZSXA9eA6IzOva9iXe7UbkORw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42990},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"3ea423195809db00d5430abb5abb5415bf9528b0","scripts":{"build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"maxgolovanov","email":"max.golovanov@gmail.com"},"deprecated":"Broken for Node ESM (extensionless relative imports); use 0.1.2+.","_npmVersion":"11.12.1","description":"Reusable FluentUI v9 chat components (Markdown, code block, thinking bubble, tool-event card, message card, composer, header) driven by @automatey-org/agent-core callbacks.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.3.1","react-dom":"^18.3.1","remark-gfm":"^4.0.0","typescript":"^5.6.0","@types/react":"^18.3.12","react-markdown":"^9.0.1","@types/react-dom":"^18.3.1","@fluentui/react-icons":"^2.0.331","react-syntax-highlighter":"^15.6.1","@automatey-org/agent-core":"*","@fluentui/react-components":"^9.74.3","@types/react-syntax-highlighter":"^15.5.13"},"peerDependencies":{"react":">=18","react-dom":">=18","remark-gfm":">=4","react-markdown":">=9","@fluentui/react-icons":">=2","react-syntax-highlighter":">=15","@automatey-org/agent-core":">=0.1.0","@fluentui/react-components":">=9"},"_npmOperationalInternal":{"tmp":"tmp/ui-fluent_0.1.1_1783220691771_0.3018583530478971","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@automatey-org/ui-fluent","version":"0.1.2","license":"MIT","_id":"@automatey-org/ui-fluent@0.1.2","maintainers":[{"name":"maxgolovanov","email":"max.golovanov@gmail.com"}],"dist":{"shasum":"89091363bbe56cc3b0b67d56f058dc1ff4f5f0fa","tarball":"https://registry.npmjs.org/@automatey-org/ui-fluent/-/ui-fluent-0.1.2.tgz","fileCount":42,"integrity":"sha512-HeXN4/8kxHVX6jI9elR+imeQFHHtouQWdwvqzUieGTUxWcqCJAO+Ep9d0y/3Qiy58yOXEwIX76FrMh7j0vhO9A==","signatures":[{"sig":"MEQCIFXrn4TRF1s+8/jZvwGCKsMBLPf6mfR3GXV7bIbrPkfEAiBTvXnElwv5ZG4Q+o2ZzW1I59cJJMaIsf+7Cjcz4zfVIw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43085},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"3ea423195809db00d5430abb5abb5415bf9528b0","scripts":{"build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"maxgolovanov","email":"max.golovanov@gmail.com"},"_npmVersion":"11.12.1","description":"Reusable FluentUI v9 chat components (Markdown, code block, thinking bubble, tool-event card, message card, composer, header) driven by @automatey-org/agent-core callbacks.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.3.1","react-dom":"^18.3.1","remark-gfm":"^4.0.0","typescript":"^5.6.0","@types/react":"^18.3.12","react-markdown":"^9.0.1","@types/react-dom":"^18.3.1","@fluentui/react-icons":"^2.0.331","react-syntax-highlighter":"^15.6.1","@automatey-org/agent-core":"*","@fluentui/react-components":"^9.74.3","@types/react-syntax-highlighter":"^15.5.13"},"peerDependencies":{"react":">=18","react-dom":">=18","remark-gfm":">=4","react-markdown":">=9","@fluentui/react-icons":">=2","react-syntax-highlighter":">=15","@automatey-org/agent-core":">=0.1.0","@fluentui/react-components":">=9"},"_npmOperationalInternal":{"tmp":"tmp/ui-fluent_0.1.2_1783225441922_0.8025925048753413","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@automatey-org/ui-fluent","version":"0.1.3","description":"Reusable FluentUI v9 chat components (Markdown, code block, thinking bubble, tool-event card, message card, composer, header) driven by @automatey-org/agent-core callbacks.","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","main":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"sideEffects":false,"scripts":{"build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit"},"peerDependencies":{"@automatey-org/agent-core":">=0.1.3","@fluentui/react-components":">=9","@fluentui/react-icons":">=2","react":">=18","react-dom":">=18","react-markdown":">=9","react-syntax-highlighter":">=15","remark-gfm":">=4"},"devDependencies":{"@automatey-org/agent-core":"*","@fluentui/react-components":"^9.74.3","@fluentui/react-icons":"^2.0.331","@types/react":"^18.3.12","@types/react-dom":"^18.3.1","@types/react-syntax-highlighter":"^15.5.13","react":"^18.3.1","react-dom":"^18.3.1","react-markdown":"^9.0.1","react-syntax-highlighter":"^15.6.1","remark-gfm":"^4.0.0","typescript":"^5.6.0"},"license":"MIT","publishConfig":{"access":"public"},"gitHead":"3ea423195809db00d5430abb5abb5415bf9528b0","_id":"@automatey-org/ui-fluent@0.1.3","_nodeVersion":"24.15.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-dz4zriTlnp9bxmiei1FjfSiDM02m1k+9puDG1VhV05rQqv+VxzqOTJyHCR+d/gPrTIhrqy9VQqXpAAcu94ZwNg==","shasum":"457dc6e2832e82513c19fae8dbd3982d8f612bf1","tarball":"https://registry.npmjs.org/@automatey-org/ui-fluent/-/ui-fluent-0.1.3.tgz","fileCount":42,"unpackedSize":44536,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDsWkePYfkp1dz4gYfYf+UJvJTGs4itvNvzrPy0dMy2bAIhAJg2DjmjPrpz69by4aziMKXPLvJBkTOt6+KWXinMiy0s"}]},"_npmUser":{"name":"maxgolovanov","email":"max.golovanov@gmail.com"},"directories":{},"maintainers":[{"name":"maxgolovanov","email":"max.golovanov@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ui-fluent_0.1.3_1783272703094_0.4872445401559986"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-05T03:04:51.638Z","modified":"2026-07-05T17:31:43.380Z","0.1.1":"2026-07-05T03:04:51.899Z","0.1.2":"2026-07-05T04:24:02.073Z","0.1.3":"2026-07-05T17:31:43.232Z"},"license":"MIT","description":"Reusable FluentUI v9 chat components (Markdown, code block, thinking bubble, tool-event card, message card, composer, header) driven by @automatey-org/agent-core callbacks.","maintainers":[{"name":"maxgolovanov","email":"max.golovanov@gmail.com"}],"readme":"# @automatey-org/ui-fluent\r\n\r\nReusable [FluentUI v9](https://react.fluentui.dev) chat components — the shared presentational\r\nlayer for the Automatey web app, VS Code extension, and Unreal `@madehuman/ux` toolkit. One\r\ncomponent per file, driven purely by data (no business logic), so any host can wire them to an\r\nagent loop (e.g. [`@automatey-org/agent-core`](https://www.npmjs.com/package/@automatey-org/agent-core)).\r\n\r\n## Components\r\n\r\n| Export | Purpose |\r\n|--------|---------|\r\n| `ChatHeader` | Title bar with model label + action slots. |\r\n| `Composer` | Multiline input with send/cancel. |\r\n| `MessageCard` | A single user/assistant message bubble. |\r\n| `MarkdownMessage` | GitHub-flavored Markdown renderer. |\r\n| `CodeBlock` | Syntax-highlighted code with copy. |\r\n| `ThinkingBubble` | Collapsible reasoning/thinking panel. |\r\n| `ToolEventCard` | Tool call/result/error timeline card. |\r\n| `MetricsRow` | Token/latency metrics strip. |\r\n\r\nTypes: `ChatMessage`, `ChatToolEvent`, `ChatToolEventKind`, and each component's `*Props`.\r\n\r\n## Usage\r\n\r\n```tsx\r\nimport { ChatHeader, MessageCard, Composer, type ChatMessage } from '@automatey-org/ui-fluent';\r\n\r\nfunction Chat({ messages, onSend }: { messages: ChatMessage[]; onSend: (t: string) => void }) {\r\n  return (\r\n    <>\r\n      <ChatHeader title=\"Automatey\" modelLabel=\"nemotron\" />\r\n      {messages.map((m) => (\r\n        <MessageCard key={m.id} message={m} />\r\n      ))}\r\n      <Composer onSend={onSend} />\r\n    </>\r\n  );\r\n}\r\n```\r\n\r\n## Peer dependencies\r\n\r\n`react` / `react-dom` (>=18), `@fluentui/react-components` (>=9), `@fluentui/react-icons` (>=2),\r\n`react-markdown` (>=9), `react-syntax-highlighter` (>=15), `remark-gfm` (>=4), and\r\n`@automatey-org/agent-core` (>=0.1.0, type-only). Deduplicate `react`, `react-dom`,\r\n`@fluentui/react-components`, `@fluentui/react-icons`, and `@griffel/react` in your bundler so a\r\nsingle instance is used.\r\n\r\n## License\r\n\r\nMIT\r\n","readmeFilename":"README.md"}