@agent-native/core 0.98.4 → 0.98.6
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/corpus/README.md +2 -2
- package/corpus/core/CHANGELOG.md +28 -0
- package/corpus/core/docs/content/durable-background-runs.mdx +37 -0
- package/corpus/core/docs/content/external-agents.mdx +62 -7
- package/corpus/core/docs/content/locales/ar-SA/external-agents.mdx +38 -7
- package/corpus/core/docs/content/locales/ar-SA/tracking.mdx +2 -0
- package/corpus/core/docs/content/locales/de-DE/external-agents.mdx +39 -7
- package/corpus/core/docs/content/locales/de-DE/tracking.mdx +2 -0
- package/corpus/core/docs/content/locales/es-ES/external-agents.mdx +39 -7
- package/corpus/core/docs/content/locales/es-ES/tracking.mdx +2 -0
- package/corpus/core/docs/content/locales/fr-FR/external-agents.mdx +39 -7
- package/corpus/core/docs/content/locales/fr-FR/tracking.mdx +4 -2
- package/corpus/core/docs/content/locales/hi-IN/external-agents.mdx +38 -7
- package/corpus/core/docs/content/locales/hi-IN/tracking.mdx +2 -0
- package/corpus/core/docs/content/locales/ja-JP/external-agents.mdx +38 -7
- package/corpus/core/docs/content/locales/ja-JP/tracking.mdx +2 -0
- package/corpus/core/docs/content/locales/ko-KR/external-agents.mdx +38 -7
- package/corpus/core/docs/content/locales/ko-KR/tracking.mdx +2 -0
- package/corpus/core/docs/content/locales/pt-BR/external-agents.mdx +39 -7
- package/corpus/core/docs/content/locales/pt-BR/tracking.mdx +2 -0
- package/corpus/core/docs/content/locales/zh-CN/external-agents.mdx +37 -7
- package/corpus/core/docs/content/locales/zh-CN/tracking.mdx +2 -0
- package/corpus/core/docs/content/locales/zh-TW/durable-background-runs.mdx +14 -0
- package/corpus/core/docs/content/locales/zh-TW/external-agents.mdx +37 -7
- package/corpus/core/docs/content/locales/zh-TW/tracking.mdx +2 -0
- package/corpus/core/docs/content/tracking.mdx +2 -0
- package/corpus/core/package.json +1 -1
- package/corpus/core/src/a2a/handlers.ts +95 -21
- package/corpus/core/src/a2a/task-store.ts +65 -3
- package/corpus/core/src/agent/durable-background.ts +16 -16
- package/corpus/core/src/agent/engine/ai-sdk-engine.ts +25 -8
- package/corpus/core/src/agent/engine/anthropic-engine.ts +17 -3
- package/corpus/core/src/agent/engine/output-tokens.ts +6 -6
- package/corpus/core/src/agent/production-agent.ts +200 -27
- package/corpus/core/src/agent/run-manager.ts +81 -1
- package/corpus/core/src/agent/run-store.ts +301 -41
- package/corpus/core/src/client/AgentPanel.tsx +6 -2
- package/corpus/core/src/client/AssistantChat.tsx +364 -69
- package/corpus/core/src/client/agent-chat-adapter.ts +169 -1
- package/corpus/core/src/client/chat/message-components.tsx +3 -0
- package/corpus/core/src/client/chat/tool-call-display.tsx +20 -36
- package/corpus/core/src/client/conversation/use-near-bottom-autoscroll.ts +7 -0
- package/corpus/core/src/client/extensions/AgentNativeExtensionFrame.tsx +2 -0
- package/corpus/core/src/client/extensions/EmbeddedExtension.tsx +2 -0
- package/corpus/core/src/client/extensions/ExtensionEditor.tsx +9 -2
- package/corpus/core/src/client/extensions/ExtensionViewer.tsx +2 -0
- package/corpus/core/src/client/extensions/InlineExtensionFrame.tsx +2 -0
- package/corpus/core/src/client/extensions/portable-extension.ts +2 -0
- package/corpus/core/src/client/session-replay.ts +361 -29
- package/corpus/core/src/client/sse-event-processor.ts +43 -1
- package/corpus/core/src/demo/actions/toggle-demo-mode.ts +1 -1
- package/corpus/core/src/demo/config.ts +6 -6
- package/corpus/core/src/demo/fetch-interceptor.ts +13 -4
- package/corpus/core/src/demo/redact.ts +13 -149
- package/corpus/core/src/extensions/html-shell.ts +3 -0
- package/corpus/core/src/extensions/session-replay-iframe.ts +131 -0
- package/corpus/core/src/integrations/adapters/slack.ts +123 -13
- package/corpus/core/src/integrations/identity-links-store.ts +210 -0
- package/corpus/core/src/integrations/identity.ts +132 -0
- package/corpus/core/src/integrations/index.ts +6 -0
- package/corpus/core/src/integrations/plugin.ts +58 -1
- package/corpus/core/src/integrations/types.ts +7 -0
- package/corpus/core/src/mcp/build-server.ts +127 -22
- package/corpus/core/src/mcp/external-agent-policy.ts +18 -0
- package/corpus/core/src/mcp/index.ts +1 -0
- package/corpus/core/src/scripts/agent-engines/list-agent-engines.ts +1 -20
- package/corpus/core/src/server/agent-chat/plugin-options.ts +12 -1
- package/corpus/core/src/server/agent-chat/script-entries.ts +20 -3
- package/corpus/core/src/server/agent-chat-plugin.ts +3 -0
- package/corpus/core/src/session-replay-iframe-protocol.ts +58 -0
- package/corpus/core/src/shared/reasoning-effort.ts +35 -0
- package/corpus/core/src/styles/agent-conversation.css +26 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/external-agents/SKILL.md +34 -5
- package/corpus/core/src/templates/workspace-core/.agents/skills/observability/SKILL.md +0 -15
- package/corpus/templates/analytics/.agents/skills/session-replay/SKILL.md +30 -21
- package/corpus/templates/analytics/AGENTS.md +27 -0
- package/corpus/templates/analytics/actions/create-session-replay-agent-link.ts +0 -1
- package/corpus/templates/analytics/actions/get-error-issue.ts +1 -0
- package/corpus/templates/analytics/actions/get-session-replay-summary.ts +1 -0
- package/corpus/templates/analytics/actions/get-session-replay-timeline.ts +40 -0
- package/corpus/templates/analytics/actions/list-error-issues.ts +13 -0
- package/corpus/templates/analytics/actions/list-session-recordings.ts +1 -0
- package/corpus/templates/analytics/actions/query-agent-native-analytics.ts +4 -0
- package/corpus/templates/analytics/app/global.css +2 -2
- package/corpus/templates/analytics/app/hooks/use-dashboard-chat-context.ts +41 -4
- package/corpus/templates/analytics/app/pages/sessions/SessionDetailPage.tsx +52 -203
- package/corpus/templates/analytics/app/pages/sessions/SessionsPage.tsx +69 -16
- package/corpus/templates/analytics/changelog/2026-07-12-analytics-chat-retries-before-showing-a-generic-no-data-mess.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-12-analytics-sessions-search-no-longer-loses-fast-keystrokes-an.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-12-chart-selection-respects-chat-state.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-12-connected-external-agents-can-now-look-up-sessions-error-iss.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-12-demo-mode-anonymizes-error-reporting-emails.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-12-session-identities-stay-visible-when-demo-mode-is-off.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-12-session-replays-show-iframe-content.md +6 -0
- package/corpus/templates/analytics/netlify.toml +0 -3
- package/corpus/templates/analytics/server/lib/analytics-connector-catalog.ts +14 -0
- package/corpus/templates/analytics/server/lib/error-capture.ts +101 -2
- package/corpus/templates/analytics/server/lib/real-data-actions.ts +24 -0
- package/corpus/templates/analytics/server/lib/session-replay-agent-context.ts +49 -17
- package/corpus/templates/analytics/server/lib/session-replay.ts +18 -16
- package/corpus/templates/analytics/server/plugins/agent-chat.ts +43 -6
- package/corpus/templates/analytics/server/plugins/db.ts +15 -0
- package/corpus/templates/assets/app/global.css +1 -1
- package/corpus/templates/brain/app/global.css +2 -2
- package/corpus/templates/brain/changelog/2026-07-12-fix-long-response-progress.md +6 -0
- package/corpus/templates/forms/app/components/CloudUpgrade.tsx +1 -1
- package/corpus/templates/forms/app/components/ThemeToggle.tsx +22 -6
- package/corpus/templates/forms/app/components/builder/FieldPropertiesPanel.tsx +5 -5
- package/corpus/templates/forms/app/components/builder/FieldRenderer.tsx +3 -3
- package/corpus/templates/forms/app/components/layout/Sidebar.tsx +16 -16
- package/corpus/templates/forms/app/global.css +164 -13
- package/corpus/templates/forms/app/pages/AskPage.tsx +35 -13
- package/corpus/templates/forms/app/pages/FormBuilderPage.tsx +143 -67
- package/corpus/templates/forms/app/pages/FormFillPage.tsx +44 -11
- package/corpus/templates/forms/app/pages/FormsListPage.tsx +42 -24
- package/corpus/templates/forms/app/pages/ResponseInsightsPage.tsx +28 -15
- package/corpus/templates/forms/app/pages/ResponsesPage.tsx +46 -20
- package/corpus/templates/forms/app/routes/_app.settings.tsx +1 -1
- package/corpus/templates/forms/changelog/2026-07-12-ask-forms-suggestions-now-sit-beneath-the-composer-for-a-tig.md +6 -0
- package/corpus/templates/forms/changelog/2026-07-12-builder-response-tables-now-fill-the-view-without-a-redundan.md +6 -0
- package/corpus/templates/forms/changelog/2026-07-12-form-builder-surfaces-are-calmer-fields-stay-stable-on-hover.md +6 -0
- package/corpus/templates/forms/changelog/2026-07-12-response-tables-now-fill-the-available-pane-with-a-flexible-.md +6 -0
- package/corpus/templates/forms/changelog/2026-07-12-smoother-more-tactile-controls-throughout-animated-icon-and-.md +6 -0
- package/corpus/templates/mail/AGENTS.md +3 -1
- package/corpus/templates/mail/app/components/email/EmailThread.tsx +21 -13
- package/corpus/templates/mail/app/components/email/email-iframe-document.ts +18 -0
- package/corpus/templates/mail/server/lib/mail-integrations.ts +3 -0
- package/dist/a2a/handlers.d.ts.map +1 -1
- package/dist/a2a/handlers.js +84 -15
- package/dist/a2a/handlers.js.map +1 -1
- package/dist/a2a/task-store.d.ts +20 -1
- package/dist/a2a/task-store.d.ts.map +1 -1
- package/dist/a2a/task-store.js +57 -4
- package/dist/a2a/task-store.js.map +1 -1
- package/dist/agent/durable-background.d.ts +10 -10
- package/dist/agent/durable-background.d.ts.map +1 -1
- package/dist/agent/durable-background.js +16 -16
- package/dist/agent/durable-background.js.map +1 -1
- package/dist/agent/engine/ai-sdk-engine.d.ts.map +1 -1
- package/dist/agent/engine/ai-sdk-engine.js +19 -8
- package/dist/agent/engine/ai-sdk-engine.js.map +1 -1
- package/dist/agent/engine/anthropic-engine.d.ts.map +1 -1
- package/dist/agent/engine/anthropic-engine.js +11 -3
- package/dist/agent/engine/anthropic-engine.js.map +1 -1
- package/dist/agent/engine/output-tokens.js +6 -6
- package/dist/agent/engine/output-tokens.js.map +1 -1
- package/dist/agent/production-agent.d.ts +52 -0
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +154 -26
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/agent/run-manager.d.ts +9 -0
- package/dist/agent/run-manager.d.ts.map +1 -1
- package/dist/agent/run-manager.js +71 -1
- package/dist/agent/run-manager.js.map +1 -1
- package/dist/agent/run-store.d.ts +9 -0
- package/dist/agent/run-store.d.ts.map +1 -1
- package/dist/agent/run-store.js +243 -48
- package/dist/agent/run-store.js.map +1 -1
- package/dist/client/AgentPanel.d.ts.map +1 -1
- package/dist/client/AgentPanel.js +6 -2
- package/dist/client/AgentPanel.js.map +1 -1
- package/dist/client/AssistantChat.d.ts +21 -0
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +298 -67
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/agent-chat-adapter.d.ts.map +1 -1
- package/dist/client/agent-chat-adapter.js +146 -1
- package/dist/client/agent-chat-adapter.js.map +1 -1
- package/dist/client/chat/message-components.d.ts.map +1 -1
- package/dist/client/chat/message-components.js +2 -1
- package/dist/client/chat/message-components.js.map +1 -1
- package/dist/client/chat/tool-call-display.d.ts +3 -1
- package/dist/client/chat/tool-call-display.d.ts.map +1 -1
- package/dist/client/chat/tool-call-display.js +13 -37
- package/dist/client/chat/tool-call-display.js.map +1 -1
- package/dist/client/conversation/use-near-bottom-autoscroll.d.ts +1 -0
- package/dist/client/conversation/use-near-bottom-autoscroll.d.ts.map +1 -1
- package/dist/client/conversation/use-near-bottom-autoscroll.js +6 -0
- package/dist/client/conversation/use-near-bottom-autoscroll.js.map +1 -1
- package/dist/client/extensions/AgentNativeExtensionFrame.d.ts.map +1 -1
- package/dist/client/extensions/AgentNativeExtensionFrame.js +2 -1
- package/dist/client/extensions/AgentNativeExtensionFrame.js.map +1 -1
- package/dist/client/extensions/EmbeddedExtension.d.ts.map +1 -1
- package/dist/client/extensions/EmbeddedExtension.js +2 -1
- package/dist/client/extensions/EmbeddedExtension.js.map +1 -1
- package/dist/client/extensions/ExtensionEditor.d.ts.map +1 -1
- package/dist/client/extensions/ExtensionEditor.js +5 -2
- package/dist/client/extensions/ExtensionEditor.js.map +1 -1
- package/dist/client/extensions/ExtensionViewer.d.ts.map +1 -1
- package/dist/client/extensions/ExtensionViewer.js +2 -1
- package/dist/client/extensions/ExtensionViewer.js.map +1 -1
- package/dist/client/extensions/InlineExtensionFrame.d.ts.map +1 -1
- package/dist/client/extensions/InlineExtensionFrame.js +2 -1
- package/dist/client/extensions/InlineExtensionFrame.js.map +1 -1
- package/dist/client/extensions/portable-extension.d.ts.map +1 -1
- package/dist/client/extensions/portable-extension.js +2 -0
- package/dist/client/extensions/portable-extension.js.map +1 -1
- package/dist/client/session-replay.d.ts.map +1 -1
- package/dist/client/session-replay.js +308 -29
- package/dist/client/session-replay.js.map +1 -1
- package/dist/client/sse-event-processor.d.ts +5 -0
- package/dist/client/sse-event-processor.d.ts.map +1 -1
- package/dist/client/sse-event-processor.js +37 -1
- package/dist/client/sse-event-processor.js.map +1 -1
- package/dist/collab/routes.d.ts +1 -1
- package/dist/demo/actions/toggle-demo-mode.js +1 -1
- package/dist/demo/actions/toggle-demo-mode.js.map +1 -1
- package/dist/demo/config.js +6 -6
- package/dist/demo/config.js.map +1 -1
- package/dist/demo/fetch-interceptor.d.ts.map +1 -1
- package/dist/demo/fetch-interceptor.js +13 -4
- package/dist/demo/fetch-interceptor.js.map +1 -1
- package/dist/demo/redact.d.ts +7 -7
- package/dist/demo/redact.d.ts.map +1 -1
- package/dist/demo/redact.js +8 -145
- package/dist/demo/redact.js.map +1 -1
- package/dist/extensions/html-shell.d.ts.map +1 -1
- package/dist/extensions/html-shell.js +2 -0
- package/dist/extensions/html-shell.js.map +1 -1
- package/dist/extensions/session-replay-iframe.d.ts +10 -0
- package/dist/extensions/session-replay-iframe.d.ts.map +1 -0
- package/dist/extensions/session-replay-iframe.js +121 -0
- package/dist/extensions/session-replay-iframe.js.map +1 -0
- package/dist/file-upload/actions/upload-image.d.ts +1 -1
- package/dist/integrations/adapters/slack.d.ts.map +1 -1
- package/dist/integrations/adapters/slack.js +98 -13
- package/dist/integrations/adapters/slack.js.map +1 -1
- package/dist/integrations/identity-links-store.d.ts +23 -0
- package/dist/integrations/identity-links-store.d.ts.map +1 -0
- package/dist/integrations/identity-links-store.js +158 -0
- package/dist/integrations/identity-links-store.js.map +1 -0
- package/dist/integrations/identity.d.ts +11 -0
- package/dist/integrations/identity.d.ts.map +1 -0
- package/dist/integrations/identity.js +100 -0
- package/dist/integrations/identity.js.map +1 -0
- package/dist/integrations/index.d.ts +2 -0
- package/dist/integrations/index.d.ts.map +1 -1
- package/dist/integrations/index.js +2 -0
- package/dist/integrations/index.js.map +1 -1
- package/dist/integrations/plugin.d.ts.map +1 -1
- package/dist/integrations/plugin.js +43 -1
- package/dist/integrations/plugin.js.map +1 -1
- package/dist/integrations/types.d.ts +6 -0
- package/dist/integrations/types.d.ts.map +1 -1
- package/dist/integrations/types.js.map +1 -1
- package/dist/mcp/build-server.d.ts +9 -2
- package/dist/mcp/build-server.d.ts.map +1 -1
- package/dist/mcp/build-server.js +97 -20
- package/dist/mcp/build-server.js.map +1 -1
- package/dist/mcp/external-agent-policy.d.ts +19 -0
- package/dist/mcp/external-agent-policy.d.ts.map +1 -0
- package/dist/mcp/external-agent-policy.js +2 -0
- package/dist/mcp/external-agent-policy.js.map +1 -0
- package/dist/mcp/index.d.ts +1 -0
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js.map +1 -1
- package/dist/notifications/routes.d.ts +1 -1
- package/dist/scripts/agent-engines/list-agent-engines.d.ts.map +1 -1
- package/dist/scripts/agent-engines/list-agent-engines.js +1 -19
- package/dist/scripts/agent-engines/list-agent-engines.js.map +1 -1
- package/dist/server/agent-chat/plugin-options.d.ts +11 -1
- package/dist/server/agent-chat/plugin-options.d.ts.map +1 -1
- package/dist/server/agent-chat/plugin-options.js.map +1 -1
- package/dist/server/agent-chat/script-entries.d.ts.map +1 -1
- package/dist/server/agent-chat/script-entries.js +16 -2
- package/dist/server/agent-chat/script-entries.js.map +1 -1
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +3 -0
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/agent-engine-api-key-route.d.ts +1 -1
- package/dist/server/transcribe-voice.d.ts +1 -1
- package/dist/session-replay-iframe-protocol.d.ts +36 -0
- package/dist/session-replay-iframe-protocol.d.ts.map +1 -0
- package/dist/session-replay-iframe-protocol.js +24 -0
- package/dist/session-replay-iframe-protocol.js.map +1 -0
- package/dist/shared/reasoning-effort.d.ts +11 -0
- package/dist/shared/reasoning-effort.d.ts.map +1 -1
- package/dist/shared/reasoning-effort.js +36 -0
- package/dist/shared/reasoning-effort.js.map +1 -1
- package/dist/styles/agent-conversation.css +26 -0
- package/dist/templates/workspace-core/.agents/skills/external-agents/SKILL.md +34 -5
- package/dist/templates/workspace-core/.agents/skills/observability/SKILL.md +0 -15
- package/docs/content/durable-background-runs.mdx +37 -0
- package/docs/content/external-agents.mdx +62 -7
- package/docs/content/locales/ar-SA/external-agents.mdx +38 -7
- package/docs/content/locales/ar-SA/tracking.mdx +2 -0
- package/docs/content/locales/de-DE/external-agents.mdx +39 -7
- package/docs/content/locales/de-DE/tracking.mdx +2 -0
- package/docs/content/locales/es-ES/external-agents.mdx +39 -7
- package/docs/content/locales/es-ES/tracking.mdx +2 -0
- package/docs/content/locales/fr-FR/external-agents.mdx +39 -7
- package/docs/content/locales/fr-FR/tracking.mdx +4 -2
- package/docs/content/locales/hi-IN/external-agents.mdx +38 -7
- package/docs/content/locales/hi-IN/tracking.mdx +2 -0
- package/docs/content/locales/ja-JP/external-agents.mdx +38 -7
- package/docs/content/locales/ja-JP/tracking.mdx +2 -0
- package/docs/content/locales/ko-KR/external-agents.mdx +38 -7
- package/docs/content/locales/ko-KR/tracking.mdx +2 -0
- package/docs/content/locales/pt-BR/external-agents.mdx +39 -7
- package/docs/content/locales/pt-BR/tracking.mdx +2 -0
- package/docs/content/locales/zh-CN/external-agents.mdx +37 -7
- package/docs/content/locales/zh-CN/tracking.mdx +2 -0
- package/docs/content/locales/zh-TW/durable-background-runs.mdx +14 -0
- package/docs/content/locales/zh-TW/external-agents.mdx +37 -7
- package/docs/content/locales/zh-TW/tracking.mdx +2 -0
- package/docs/content/tracking.mdx +2 -0
- package/package.json +2 -2
- package/src/templates/workspace-core/.agents/skills/external-agents/SKILL.md +34 -5
- package/src/templates/workspace-core/.agents/skills/observability/SKILL.md +0 -15
- package/corpus/core/src/observability/hosted-model-experiment.ts +0 -118
- package/dist/observability/hosted-model-experiment.d.ts +0 -39
- package/dist/observability/hosted-model-experiment.d.ts.map +0 -1
- package/dist/observability/hosted-model-experiment.js +0 -90
- package/dist/observability/hosted-model-experiment.js.map +0 -1
|
@@ -204,14 +204,14 @@ export function FieldRenderer({
|
|
|
204
204
|
key={star}
|
|
205
205
|
type="button"
|
|
206
206
|
onClick={() => !disabled && handleChange(star)}
|
|
207
|
-
className="cursor-pointer p-2
|
|
207
|
+
className="flex size-11 cursor-pointer items-center justify-center rounded-md p-2 transition-[color,transform] duration-150 ease-out active:scale-[0.96] motion-reduce:active:scale-100 disabled:cursor-not-allowed sm:size-10 sm:p-1.5"
|
|
208
208
|
disabled={disabled}
|
|
209
209
|
aria-label={`${star} star${star !== 1 ? "s" : ""}`}
|
|
210
210
|
>
|
|
211
211
|
{(value as number) >= star ? (
|
|
212
|
-
<IconStarFilled className="h-7 w-7 sm:h-6 sm:w-6
|
|
212
|
+
<IconStarFilled className="h-7 w-7 text-amber-400 sm:h-6 sm:w-6" />
|
|
213
213
|
) : (
|
|
214
|
-
<IconStar className="h-7 w-7 sm:h-6 sm:w-6
|
|
214
|
+
<IconStar className="h-7 w-7 text-muted-foreground/30 sm:h-6 sm:w-6" />
|
|
215
215
|
)}
|
|
216
216
|
</button>
|
|
217
217
|
))}
|
|
@@ -131,7 +131,7 @@ export function Sidebar() {
|
|
|
131
131
|
|
|
132
132
|
const newFormButton = (
|
|
133
133
|
<PopoverTrigger asChild>
|
|
134
|
-
<button className="flex min-h-[44px] w-full cursor-pointer items-center gap-2.5 rounded-
|
|
134
|
+
<button className="forms-sidebar-nav-item flex min-h-[44px] w-full cursor-pointer items-center gap-2.5 rounded-lg px-3 py-2 text-sm text-muted-foreground active:scale-[0.96] transition-[background-color,box-shadow,color,transform] hover:bg-accent/50 hover:text-foreground">
|
|
135
135
|
<IconPlus className="h-4 w-4 shrink-0" />
|
|
136
136
|
<span>{t("sidebar.newForm")}</span>
|
|
137
137
|
</button>
|
|
@@ -143,7 +143,7 @@ export function Sidebar() {
|
|
|
143
143
|
side="right"
|
|
144
144
|
align="start"
|
|
145
145
|
sideOffset={8}
|
|
146
|
-
className="w-80 p-0
|
|
146
|
+
className="forms-new-form-popover w-80 rounded-2xl p-0"
|
|
147
147
|
>
|
|
148
148
|
<div className="p-4 pb-3">
|
|
149
149
|
<p className="text-sm font-semibold">{t("sidebar.newForm")}</p>
|
|
@@ -168,7 +168,7 @@ export function Sidebar() {
|
|
|
168
168
|
<Button
|
|
169
169
|
variant="link"
|
|
170
170
|
size="sm"
|
|
171
|
-
className="h-
|
|
171
|
+
className="min-h-10 px-2 text-xs text-muted-foreground active:scale-[0.96] transition-[background-color,color,transform]"
|
|
172
172
|
onClick={handleSkip}
|
|
173
173
|
>
|
|
174
174
|
{t("sidebar.skipPrompt")}
|
|
@@ -180,7 +180,7 @@ export function Sidebar() {
|
|
|
180
180
|
<Button
|
|
181
181
|
variant="secondary"
|
|
182
182
|
size="icon"
|
|
183
|
-
className="
|
|
183
|
+
className="size-10 rounded-lg transition-[background-color,box-shadow,transform] active:scale-[0.96] motion-reduce:active:scale-100"
|
|
184
184
|
onClick={handleSubmitPrompt}
|
|
185
185
|
disabled={!prompt.trim() || promptRun.isActivePrompt(prompt)}
|
|
186
186
|
aria-label={t("sidebar.sendPrompt")}
|
|
@@ -200,7 +200,7 @@ export function Sidebar() {
|
|
|
200
200
|
<button
|
|
201
201
|
type="button"
|
|
202
202
|
onClick={() => setCollapsed(false)}
|
|
203
|
-
className="flex
|
|
203
|
+
className="forms-sidebar-nav-item flex size-10 items-center justify-center rounded-lg text-muted-foreground/55 transition-[background-color,box-shadow,color,transform] duration-150 ease-out hover:bg-accent/50 hover:text-muted-foreground active:scale-[0.96] motion-reduce:active:scale-100"
|
|
204
204
|
aria-label={t("sidebar.expandSidebar")}
|
|
205
205
|
>
|
|
206
206
|
<IconLayoutSidebarLeftExpand className="h-4 w-4 rtl:-scale-x-100" />
|
|
@@ -219,7 +219,7 @@ export function Sidebar() {
|
|
|
219
219
|
onClick={navigateHomeChat}
|
|
220
220
|
aria-label={t("navigation.askForms")}
|
|
221
221
|
className={cn(
|
|
222
|
-
"flex
|
|
222
|
+
"forms-sidebar-nav-item flex size-10 items-center justify-center rounded-lg active:scale-[0.96] transition-[background-color,box-shadow,color,transform]",
|
|
223
223
|
location.pathname === "/ask" || location.pathname === "/"
|
|
224
224
|
? "bg-accent text-accent-foreground"
|
|
225
225
|
: "text-muted-foreground hover:bg-accent/50 hover:text-foreground",
|
|
@@ -239,7 +239,7 @@ export function Sidebar() {
|
|
|
239
239
|
to="/forms"
|
|
240
240
|
aria-label={t("navigation.allForms")}
|
|
241
241
|
className={cn(
|
|
242
|
-
"flex
|
|
242
|
+
"forms-sidebar-nav-item flex size-10 items-center justify-center rounded-lg active:scale-[0.96] transition-[background-color,box-shadow,color,transform]",
|
|
243
243
|
location.pathname.startsWith("/forms")
|
|
244
244
|
? "bg-accent text-accent-foreground"
|
|
245
245
|
: "text-muted-foreground hover:bg-accent/50 hover:text-foreground",
|
|
@@ -260,7 +260,7 @@ export function Sidebar() {
|
|
|
260
260
|
<button
|
|
261
261
|
type="button"
|
|
262
262
|
aria-label={t("sidebar.newForm")}
|
|
263
|
-
className="flex
|
|
263
|
+
className="forms-sidebar-nav-item flex size-10 items-center justify-center rounded-lg text-muted-foreground transition-[background-color,box-shadow,color,transform] duration-150 ease-out hover:bg-accent/50 hover:text-foreground active:scale-[0.96] motion-reduce:active:scale-100"
|
|
264
264
|
>
|
|
265
265
|
<IconPlus className="h-4 w-4" />
|
|
266
266
|
</button>
|
|
@@ -279,7 +279,7 @@ export function Sidebar() {
|
|
|
279
279
|
to="/settings"
|
|
280
280
|
aria-label={t("navigation.settings")}
|
|
281
281
|
className={cn(
|
|
282
|
-
"flex
|
|
282
|
+
"forms-sidebar-nav-item flex size-10 items-center justify-center rounded-lg active:scale-[0.96] transition-[background-color,box-shadow,color,transform]",
|
|
283
283
|
location.pathname === "/settings"
|
|
284
284
|
? "bg-accent text-accent-foreground"
|
|
285
285
|
: "text-muted-foreground hover:bg-accent/50 hover:text-foreground",
|
|
@@ -310,7 +310,7 @@ export function Sidebar() {
|
|
|
310
310
|
<button
|
|
311
311
|
type="button"
|
|
312
312
|
aria-label={t("sidebar.openAskFullScreen")}
|
|
313
|
-
className="flex min-w-0 items-center gap-2 rounded-
|
|
313
|
+
className="flex min-h-10 min-w-0 items-center gap-2 rounded-lg px-2 text-base font-semibold tracking-tight text-muted-foreground/80 active:scale-[0.96] transition-[color,transform] hover:text-foreground/80 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"
|
|
314
314
|
onClick={toggleLogoView}
|
|
315
315
|
>
|
|
316
316
|
<img
|
|
@@ -337,7 +337,7 @@ export function Sidebar() {
|
|
|
337
337
|
<Button
|
|
338
338
|
variant="ghost"
|
|
339
339
|
size="icon"
|
|
340
|
-
className="
|
|
340
|
+
className="size-10 transition-[background-color,box-shadow,transform] active:scale-[0.96] motion-reduce:active:scale-100"
|
|
341
341
|
onClick={() => setMobileOpen(false)}
|
|
342
342
|
>
|
|
343
343
|
<IconX size={18} />
|
|
@@ -349,7 +349,7 @@ export function Sidebar() {
|
|
|
349
349
|
<Button
|
|
350
350
|
variant="ghost"
|
|
351
351
|
size="icon"
|
|
352
|
-
className="
|
|
352
|
+
className="size-10 text-muted-foreground/55 transition-[background-color,box-shadow,color,transform] hover:bg-accent/50 hover:text-muted-foreground active:scale-[0.96] motion-reduce:active:scale-100"
|
|
353
353
|
onClick={() => setCollapsed(true)}
|
|
354
354
|
aria-label={t("sidebar.collapseSidebar")}
|
|
355
355
|
>
|
|
@@ -374,7 +374,7 @@ export function Sidebar() {
|
|
|
374
374
|
to="/ask"
|
|
375
375
|
onClick={navigateHomeChat}
|
|
376
376
|
className={cn(
|
|
377
|
-
"flex min-h-[44px] w-full min-w-0 max-w-full items-center gap-2.5 overflow-hidden rounded-
|
|
377
|
+
"forms-sidebar-nav-item flex min-h-[44px] w-full min-w-0 max-w-full items-center gap-2.5 overflow-hidden rounded-lg px-3 py-2 text-sm active:scale-[0.96] transition-[background-color,box-shadow,color,transform] hover:text-primary",
|
|
378
378
|
location.pathname === "/ask" || location.pathname === "/"
|
|
379
379
|
? "bg-accent text-accent-foreground"
|
|
380
380
|
: "text-muted-foreground hover:bg-accent/50 hover:text-foreground",
|
|
@@ -390,7 +390,7 @@ export function Sidebar() {
|
|
|
390
390
|
to="/forms"
|
|
391
391
|
onClick={() => isMobile && setMobileOpen(false)}
|
|
392
392
|
className={cn(
|
|
393
|
-
"flex min-h-[44px] w-full min-w-0 max-w-full items-center gap-2.5 overflow-hidden rounded-
|
|
393
|
+
"forms-sidebar-nav-item flex min-h-[44px] w-full min-w-0 max-w-full items-center gap-2.5 overflow-hidden rounded-lg px-3 py-2 text-sm active:scale-[0.96] transition-[background-color,box-shadow,color,transform] hover:text-primary",
|
|
394
394
|
location.pathname.startsWith("/forms")
|
|
395
395
|
? "bg-accent text-accent-foreground"
|
|
396
396
|
: "text-muted-foreground hover:bg-accent/50 hover:text-foreground",
|
|
@@ -415,7 +415,7 @@ export function Sidebar() {
|
|
|
415
415
|
to="/settings"
|
|
416
416
|
onClick={() => isMobile && setMobileOpen(false)}
|
|
417
417
|
className={cn(
|
|
418
|
-
"flex w-full items-center gap-2.5 rounded-
|
|
418
|
+
"forms-sidebar-nav-item flex min-h-[44px] w-full items-center gap-2.5 rounded-lg px-3 py-2 text-sm active:scale-[0.96] transition-[background-color,box-shadow,color,transform]",
|
|
419
419
|
location.pathname === "/settings"
|
|
420
420
|
? "bg-accent text-accent-foreground"
|
|
421
421
|
: "text-muted-foreground hover:bg-accent/50 hover:text-foreground",
|
|
@@ -449,7 +449,7 @@ export function Sidebar() {
|
|
|
449
449
|
<Button
|
|
450
450
|
variant="ghost"
|
|
451
451
|
size="icon"
|
|
452
|
-
className="fixed top-2 start-2 z-40
|
|
452
|
+
className="fixed top-2 start-2 z-40 size-10 active:scale-[0.96] transition-[background-color,box-shadow,transform] md:hidden"
|
|
453
453
|
onClick={() => setMobileOpen(true)}
|
|
454
454
|
aria-label={t("sidebar.openSidebar")}
|
|
455
455
|
>
|
|
@@ -28,6 +28,21 @@
|
|
|
28
28
|
--input: 0 0% 90%;
|
|
29
29
|
--ring: 0 0% 40%;
|
|
30
30
|
--radius: 0.5rem;
|
|
31
|
+
--forms-radius-control: 0.625rem;
|
|
32
|
+
--forms-radius-surface: 0.75rem;
|
|
33
|
+
--forms-radius-floating: 1rem;
|
|
34
|
+
--forms-shadow-surface:
|
|
35
|
+
0 0 0 1px hsl(var(--foreground) / 0.04),
|
|
36
|
+
0 1px 2px -1px hsl(var(--foreground) / 0.08);
|
|
37
|
+
--forms-shadow-surface-hover:
|
|
38
|
+
0 0 0 1px hsl(var(--foreground) / 0.08),
|
|
39
|
+
0 2px 6px -3px hsl(var(--foreground) / 0.1);
|
|
40
|
+
--forms-shadow-control: 0 0 0 1px hsl(var(--foreground) / 0.035);
|
|
41
|
+
--forms-shadow-floating:
|
|
42
|
+
0 0 0 1px hsl(var(--foreground) / 0.06),
|
|
43
|
+
0 6px 16px -10px hsl(var(--foreground) / 0.12);
|
|
44
|
+
--forms-shadow-focus:
|
|
45
|
+
0 0 0 3px hsl(var(--ring) / 0.18), 0 0 0 1px hsl(var(--ring) / 0.55);
|
|
31
46
|
|
|
32
47
|
--sidebar-background: 0 0% 97%;
|
|
33
48
|
--sidebar-foreground: 0 0% 45%;
|
|
@@ -59,6 +74,12 @@
|
|
|
59
74
|
--border: 0 0% 24%;
|
|
60
75
|
--input: 0 0% 24%;
|
|
61
76
|
--ring: 0 0% 60%;
|
|
77
|
+
--forms-shadow-surface: 0 0 0 1px hsl(var(--foreground) / 0.08);
|
|
78
|
+
--forms-shadow-surface-hover: 0 0 0 1px hsl(var(--foreground) / 0.14);
|
|
79
|
+
--forms-shadow-control: 0 0 0 1px hsl(var(--foreground) / 0.07);
|
|
80
|
+
--forms-shadow-floating: 0 0 0 1px hsl(var(--foreground) / 0.1);
|
|
81
|
+
--forms-shadow-focus:
|
|
82
|
+
0 0 0 3px hsl(var(--ring) / 0.2), 0 0 0 1px hsl(var(--ring) / 0.65);
|
|
62
83
|
|
|
63
84
|
--sidebar-background: 0 0% 10%;
|
|
64
85
|
--sidebar-foreground: 0 0% 60%;
|
|
@@ -94,13 +115,73 @@
|
|
|
94
115
|
background: hsl(var(--muted-foreground) / 0.4);
|
|
95
116
|
}
|
|
96
117
|
|
|
118
|
+
.forms-list-shell,
|
|
119
|
+
.forms-selection-toolbar,
|
|
120
|
+
.forms-settings-card {
|
|
121
|
+
border-radius: var(--forms-radius-surface);
|
|
122
|
+
box-shadow: var(--forms-shadow-surface);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.forms-settings-card {
|
|
126
|
+
border: 0;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.forms-list-shell {
|
|
130
|
+
transition-property: box-shadow;
|
|
131
|
+
transition-duration: 180ms;
|
|
132
|
+
transition-timing-function: ease-out;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.forms-list-shell:hover,
|
|
136
|
+
.forms-settings-card:hover {
|
|
137
|
+
box-shadow: var(--forms-shadow-surface-hover);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.forms-selection-toolbar {
|
|
141
|
+
transition-property: box-shadow;
|
|
142
|
+
transition-duration: 150ms;
|
|
143
|
+
transition-timing-function: ease-out;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.forms-list-row {
|
|
147
|
+
transition-property: background-color, box-shadow, opacity;
|
|
148
|
+
transition-duration: 150ms;
|
|
149
|
+
transition-timing-function: ease-out;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
.forms-list-row:hover {
|
|
153
|
+
box-shadow: var(--forms-shadow-control);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.forms-list-row:focus-visible {
|
|
157
|
+
outline: none;
|
|
158
|
+
box-shadow: var(--forms-shadow-focus);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.forms-empty-state {
|
|
162
|
+
box-shadow: var(--forms-shadow-control);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.forms-sidebar-nav-item {
|
|
166
|
+
border-radius: var(--forms-radius-control);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.forms-sidebar-nav-item:hover {
|
|
170
|
+
box-shadow: var(--forms-shadow-control);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
.forms-new-form-popover {
|
|
174
|
+
border: 0;
|
|
175
|
+
box-shadow: var(--forms-shadow-floating);
|
|
176
|
+
}
|
|
177
|
+
|
|
97
178
|
.forms-ask-chat-panel {
|
|
98
179
|
width: 100%;
|
|
99
180
|
}
|
|
100
181
|
|
|
101
182
|
.forms-ask-chat-panel [data-agent-empty-state="centered"] {
|
|
102
183
|
justify-content: center;
|
|
103
|
-
padding-bottom: clamp(
|
|
184
|
+
padding-bottom: clamp(2rem, 6vh, 4rem);
|
|
104
185
|
}
|
|
105
186
|
|
|
106
187
|
.forms-ask-chat-panel [data-agent-empty-state="centered"] .agent-chat-scroll {
|
|
@@ -122,11 +203,12 @@
|
|
|
122
203
|
|
|
123
204
|
@container agent-native-main (min-width: 720px) {
|
|
124
205
|
.forms-list-skeleton-row {
|
|
125
|
-
grid-template-columns: minmax(0, 1fr)
|
|
206
|
+
grid-template-columns: minmax(0, 1fr) 100px 110px 140px 88px 40px;
|
|
207
|
+
align-items: center;
|
|
126
208
|
}
|
|
127
209
|
|
|
128
210
|
.forms-list-row {
|
|
129
|
-
grid-template-columns: minmax(0, 1fr) 110px 140px 88px 40px;
|
|
211
|
+
grid-template-columns: minmax(0, 1fr) 100px 110px 140px 88px 40px;
|
|
130
212
|
align-items: center;
|
|
131
213
|
}
|
|
132
214
|
}
|
|
@@ -150,14 +232,36 @@
|
|
|
150
232
|
}
|
|
151
233
|
|
|
152
234
|
.forms-ask-chat-panel .agent-composer-root--hero {
|
|
153
|
-
border-radius:
|
|
235
|
+
border-radius: var(--forms-radius-floating);
|
|
154
236
|
background: hsl(var(--background));
|
|
155
|
-
box-shadow:
|
|
237
|
+
box-shadow: var(--forms-shadow-floating);
|
|
238
|
+
transition-property: border-color, box-shadow, transform;
|
|
239
|
+
transition-duration: 180ms;
|
|
240
|
+
transition-timing-function: ease-out;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
.forms-ask-chat-panel .agent-composer-root--hero:hover {
|
|
244
|
+
box-shadow: var(--forms-shadow-surface-hover);
|
|
245
|
+
transform: translateY(-1px);
|
|
156
246
|
}
|
|
157
247
|
|
|
158
248
|
.forms-ask-chat-panel .agent-composer-root--hero:focus-within {
|
|
159
249
|
border-color: hsl(var(--ring) / 0.9);
|
|
160
|
-
box-shadow:
|
|
250
|
+
box-shadow: var(--forms-shadow-focus), var(--forms-shadow-floating);
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
@media (prefers-reduced-motion: reduce) {
|
|
254
|
+
.forms-list-shell,
|
|
255
|
+
.forms-selection-toolbar,
|
|
256
|
+
.forms-list-row,
|
|
257
|
+
.forms-sidebar-nav-item,
|
|
258
|
+
.forms-ask-chat-panel .agent-composer-root--hero {
|
|
259
|
+
transition: none;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
.forms-ask-chat-panel .agent-composer-root--hero:hover {
|
|
263
|
+
transform: none;
|
|
264
|
+
}
|
|
161
265
|
}
|
|
162
266
|
|
|
163
267
|
.forms-chat-intro {
|
|
@@ -165,12 +269,28 @@
|
|
|
165
269
|
}
|
|
166
270
|
|
|
167
271
|
.forms-ask-chat-panel [data-agent-empty-state="centered"] .forms-chat-intro {
|
|
168
|
-
display:
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
272
|
+
display: contents;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
.forms-ask-chat-panel [data-agent-empty-state="centered"] .forms-chat-intro h1,
|
|
276
|
+
.forms-ask-chat-panel [data-agent-empty-state="centered"] .forms-chat-intro p {
|
|
277
|
+
width: 100%;
|
|
173
278
|
text-align: center;
|
|
279
|
+
order: 1;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
.forms-ask-chat-panel [data-agent-empty-state="centered"] .forms-chat-intro h1 {
|
|
283
|
+
margin: 0 0 0.5rem;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
.forms-ask-chat-panel [data-agent-empty-state="centered"] .forms-chat-intro p {
|
|
287
|
+
margin: 0 auto 1rem;
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
.forms-ask-chat-panel
|
|
291
|
+
[data-agent-empty-state="centered"]
|
|
292
|
+
.agent-composer-stack {
|
|
293
|
+
order: 2;
|
|
174
294
|
}
|
|
175
295
|
|
|
176
296
|
.forms-chat-intro h1 {
|
|
@@ -193,20 +313,51 @@
|
|
|
193
313
|
flex-wrap: wrap;
|
|
194
314
|
justify-content: center;
|
|
195
315
|
gap: 0.5rem;
|
|
196
|
-
|
|
316
|
+
order: 3;
|
|
317
|
+
margin: 0.75rem auto 0;
|
|
197
318
|
}
|
|
198
319
|
|
|
199
|
-
.forms-chat-pill-row
|
|
320
|
+
.forms-chat-pill-row button {
|
|
200
321
|
display: inline-flex;
|
|
201
322
|
align-items: center;
|
|
202
323
|
gap: 0.375rem;
|
|
203
324
|
border: 1px solid hsl(var(--border));
|
|
204
325
|
border-radius: 999px;
|
|
205
326
|
background: hsl(var(--background) / 0.78);
|
|
327
|
+
box-shadow: var(--forms-shadow-control);
|
|
206
328
|
padding: 0.375rem 0.625rem;
|
|
207
329
|
color: hsl(var(--muted-foreground));
|
|
330
|
+
cursor: pointer;
|
|
208
331
|
font-size: 0.75rem;
|
|
209
332
|
font-weight: 600;
|
|
333
|
+
transition-property: background-color, border-color, color, scale;
|
|
334
|
+
transition-duration: 150ms;
|
|
335
|
+
transition-timing-function: ease-out;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
.forms-chat-pill-row button:hover {
|
|
339
|
+
border-color: hsl(var(--foreground) / 0.2);
|
|
340
|
+
background: hsl(var(--background));
|
|
341
|
+
color: hsl(var(--foreground));
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
.forms-chat-pill-row button:focus-visible {
|
|
345
|
+
outline: none;
|
|
346
|
+
box-shadow: var(--forms-shadow-focus);
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
.forms-chat-pill-row button:active {
|
|
350
|
+
scale: 0.96;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
@media (prefers-reduced-motion: reduce) {
|
|
354
|
+
.forms-chat-pill-row button {
|
|
355
|
+
transition: none;
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
.forms-chat-pill-row button:active {
|
|
359
|
+
scale: 1;
|
|
360
|
+
}
|
|
210
361
|
}
|
|
211
362
|
|
|
212
363
|
@media (min-width: 640px) {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AgentChatSurface,
|
|
3
3
|
markAgentChatHomeHandoff,
|
|
4
|
+
sendToAgentChat,
|
|
4
5
|
useT,
|
|
5
6
|
} from "@agent-native/core/client";
|
|
6
7
|
import { IconChartBar, IconDatabase, IconSettings } from "@tabler/icons-react";
|
|
@@ -26,6 +27,28 @@ export function AskPage() {
|
|
|
26
27
|
};
|
|
27
28
|
}, []);
|
|
28
29
|
|
|
30
|
+
function prefillSuggestion(message: string) {
|
|
31
|
+
sendToAgentChat({ message, submit: false, chatTarget: "local" });
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const suggestions = [
|
|
35
|
+
{
|
|
36
|
+
label: t("home.pillForms"),
|
|
37
|
+
prompt: "@forms",
|
|
38
|
+
icon: IconDatabase,
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
label: t("home.pillAnalytics"),
|
|
42
|
+
prompt: "analytics",
|
|
43
|
+
icon: IconChartBar,
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
label: t("home.pillConfiguration"),
|
|
47
|
+
prompt: "configuration",
|
|
48
|
+
icon: IconSettings,
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
|
|
29
52
|
return (
|
|
30
53
|
<div className="flex h-full min-h-0 flex-col bg-background">
|
|
31
54
|
<AgentChatSurface
|
|
@@ -48,19 +71,18 @@ export function AskPage() {
|
|
|
48
71
|
<div className="forms-chat-intro">
|
|
49
72
|
<h1>{t("home.heading")}</h1>
|
|
50
73
|
<p>{t("home.description")}</p>
|
|
51
|
-
<div className="forms-chat-pill-row"
|
|
52
|
-
|
|
53
|
-
<
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
</span>
|
|
74
|
+
<div className="forms-chat-pill-row">
|
|
75
|
+
{suggestions.map(({ icon: Icon, label, prompt }) => (
|
|
76
|
+
<button
|
|
77
|
+
key={prompt}
|
|
78
|
+
type="button"
|
|
79
|
+
className="forms-chat-pill"
|
|
80
|
+
onClick={() => prefillSuggestion(prompt)}
|
|
81
|
+
>
|
|
82
|
+
<Icon className="size-3.5" />
|
|
83
|
+
{label}
|
|
84
|
+
</button>
|
|
85
|
+
))}
|
|
64
86
|
</div>
|
|
65
87
|
</div>
|
|
66
88
|
}
|