@agent-native/core 0.14.8 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/agent/engine/builder-engine.d.ts.map +1 -1
- package/dist/agent/engine/builder-engine.js +30 -9
- package/dist/agent/engine/builder-engine.js.map +1 -1
- package/dist/agent/engine/registry.d.ts.map +1 -1
- package/dist/agent/engine/registry.js +14 -4
- package/dist/agent/engine/registry.js.map +1 -1
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +71 -4
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/agent/types.d.ts +9 -0
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/appearance/actions/change-appearance.d.ts +3 -0
- package/dist/appearance/actions/change-appearance.d.ts.map +1 -0
- package/dist/appearance/actions/change-appearance.js +29 -0
- package/dist/appearance/actions/change-appearance.js.map +1 -0
- package/dist/chat-threads/store.d.ts +53 -2
- package/dist/chat-threads/store.d.ts.map +1 -1
- package/dist/chat-threads/store.js +172 -12
- package/dist/chat-threads/store.js.map +1 -1
- package/dist/cli/create.d.ts.map +1 -1
- package/dist/cli/create.js +114 -37
- package/dist/cli/create.js.map +1 -1
- package/dist/cli/index.js +30 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/workspace-dev.d.ts +25 -1
- package/dist/cli/workspace-dev.d.ts.map +1 -1
- package/dist/cli/workspace-dev.js +275 -49
- package/dist/cli/workspace-dev.js.map +1 -1
- package/dist/client/AgentPanel.d.ts +23 -4
- package/dist/client/AgentPanel.d.ts.map +1 -1
- package/dist/client/AgentPanel.js +276 -53
- package/dist/client/AgentPanel.js.map +1 -1
- package/dist/client/AppearancePicker.d.ts +11 -0
- package/dist/client/AppearancePicker.d.ts.map +1 -0
- package/dist/client/AppearancePicker.js +16 -0
- package/dist/client/AppearancePicker.js.map +1 -0
- package/dist/client/AssistantChat.d.ts +35 -0
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +315 -32
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/ConnectBuilderCard.d.ts.map +1 -1
- package/dist/client/ConnectBuilderCard.js +5 -2
- package/dist/client/ConnectBuilderCard.js.map +1 -1
- package/dist/client/ErrorBoundary.d.ts.map +1 -1
- package/dist/client/ErrorBoundary.js +8 -10
- package/dist/client/ErrorBoundary.js.map +1 -1
- package/dist/client/FeedbackButton.d.ts.map +1 -1
- package/dist/client/FeedbackButton.js +1 -1
- package/dist/client/FeedbackButton.js.map +1 -1
- package/dist/client/MultiTabAssistantChat.d.ts +13 -1
- package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
- package/dist/client/MultiTabAssistantChat.js +217 -38
- package/dist/client/MultiTabAssistantChat.js.map +1 -1
- package/dist/client/NewWorkspaceAppFlow.d.ts.map +1 -1
- package/dist/client/NewWorkspaceAppFlow.js +37 -14
- package/dist/client/NewWorkspaceAppFlow.js.map +1 -1
- package/dist/client/agent-chat-adapter.d.ts +5 -0
- package/dist/client/agent-chat-adapter.d.ts.map +1 -1
- package/dist/client/agent-chat-adapter.js +4 -0
- package/dist/client/agent-chat-adapter.js.map +1 -1
- package/dist/client/agent-sidebar-state.d.ts +12 -0
- package/dist/client/agent-sidebar-state.d.ts.map +1 -1
- package/dist/client/agent-sidebar-state.js +8 -0
- package/dist/client/agent-sidebar-state.js.map +1 -1
- package/dist/client/analytics.d.ts.map +1 -1
- package/dist/client/analytics.js +175 -3
- package/dist/client/analytics.js.map +1 -1
- package/dist/client/appearance.d.ts +40 -0
- package/dist/client/appearance.d.ts.map +1 -0
- package/dist/client/appearance.js +114 -0
- package/dist/client/appearance.js.map +1 -0
- package/dist/client/builder-frame.d.ts +1 -0
- package/dist/client/builder-frame.d.ts.map +1 -1
- package/dist/client/builder-frame.js +19 -9
- package/dist/client/builder-frame.js.map +1 -1
- package/dist/client/components/CodeRequiredDialog.d.ts.map +1 -1
- package/dist/client/components/CodeRequiredDialog.js +10 -2
- package/dist/client/components/CodeRequiredDialog.js.map +1 -1
- package/dist/client/components/ui/dropdown-menu.js +2 -2
- package/dist/client/components/ui/dropdown-menu.js.map +1 -1
- package/dist/client/components/ui/hover-card.js +1 -1
- package/dist/client/components/ui/hover-card.js.map +1 -1
- package/dist/client/components/ui/popover.js +1 -1
- package/dist/client/components/ui/popover.js.map +1 -1
- package/dist/client/composer/PromptComposer.d.ts +7 -0
- package/dist/client/composer/PromptComposer.d.ts.map +1 -1
- package/dist/client/composer/PromptComposer.js +63 -32
- package/dist/client/composer/PromptComposer.js.map +1 -1
- package/dist/client/composer/TiptapComposer.d.ts +5 -0
- package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
- package/dist/client/composer/TiptapComposer.js +36 -6
- package/dist/client/composer/TiptapComposer.js.map +1 -1
- package/dist/client/composer/useVoiceDictation.d.ts.map +1 -1
- package/dist/client/composer/useVoiceDictation.js +13 -1
- package/dist/client/composer/useVoiceDictation.js.map +1 -1
- package/dist/client/error-format.d.ts +3 -2
- package/dist/client/error-format.d.ts.map +1 -1
- package/dist/client/error-format.js +9 -2
- package/dist/client/error-format.js.map +1 -1
- package/dist/client/extensions/ExtensionViewer.d.ts.map +1 -1
- package/dist/client/extensions/ExtensionViewer.js +24 -2
- package/dist/client/extensions/ExtensionViewer.js.map +1 -1
- package/dist/client/index.d.ts +8 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +7 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/onboarding/OnboardingPanel.js +1 -0
- package/dist/client/onboarding/OnboardingPanel.js.map +1 -1
- package/dist/client/org/InvitationBanner.d.ts.map +1 -1
- package/dist/client/org/InvitationBanner.js +23 -2
- package/dist/client/org/InvitationBanner.js.map +1 -1
- package/dist/client/org/OrgSwitcher.d.ts +5 -4
- package/dist/client/org/OrgSwitcher.d.ts.map +1 -1
- package/dist/client/org/OrgSwitcher.js +57 -9
- package/dist/client/org/OrgSwitcher.js.map +1 -1
- package/dist/client/org/hooks.d.ts.map +1 -1
- package/dist/client/org/hooks.js +10 -6
- package/dist/client/org/hooks.js.map +1 -1
- package/dist/client/org/workspace-app-links.d.ts +31 -0
- package/dist/client/org/workspace-app-links.d.ts.map +1 -0
- package/dist/client/org/workspace-app-links.js +268 -0
- package/dist/client/org/workspace-app-links.js.map +1 -0
- package/dist/client/resources/ResourcesPanel.d.ts.map +1 -1
- package/dist/client/resources/ResourcesPanel.js +18 -5
- package/dist/client/resources/ResourcesPanel.js.map +1 -1
- package/dist/client/resources/use-resources.d.ts +18 -13
- package/dist/client/resources/use-resources.d.ts.map +1 -1
- package/dist/client/resources/use-resources.js +24 -6
- package/dist/client/resources/use-resources.js.map +1 -1
- package/dist/client/settings/BackgroundAgentSection.d.ts.map +1 -1
- package/dist/client/settings/BackgroundAgentSection.js +9 -1
- package/dist/client/settings/BackgroundAgentSection.js.map +1 -1
- package/dist/client/settings/BrowserSection.d.ts.map +1 -1
- package/dist/client/settings/BrowserSection.js +16 -1
- package/dist/client/settings/BrowserSection.js.map +1 -1
- package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
- package/dist/client/settings/SettingsPanel.js +4 -1
- package/dist/client/settings/SettingsPanel.js.map +1 -1
- package/dist/client/settings/VoiceTranscriptionSection.d.ts.map +1 -1
- package/dist/client/settings/VoiceTranscriptionSection.js +5 -5
- package/dist/client/settings/VoiceTranscriptionSection.js.map +1 -1
- package/dist/client/settings/useBuilderStatus.d.ts +8 -0
- package/dist/client/settings/useBuilderStatus.d.ts.map +1 -1
- package/dist/client/settings/useBuilderStatus.js +50 -13
- package/dist/client/settings/useBuilderStatus.js.map +1 -1
- package/dist/client/settings/useBuilderStatus.spec.d.ts +2 -0
- package/dist/client/settings/useBuilderStatus.spec.d.ts.map +1 -0
- package/dist/client/settings/useBuilderStatus.spec.js +64 -0
- package/dist/client/settings/useBuilderStatus.spec.js.map +1 -0
- package/dist/client/sharing/ShareButton.d.ts +5 -0
- package/dist/client/sharing/ShareButton.d.ts.map +1 -1
- package/dist/client/sharing/ShareButton.js +60 -6
- package/dist/client/sharing/ShareButton.js.map +1 -1
- package/dist/client/theme.js +1 -1
- package/dist/client/theme.js.map +1 -1
- package/dist/client/transcription/BuilderTranscriptionCta.d.ts.map +1 -1
- package/dist/client/transcription/BuilderTranscriptionCta.js +2 -3
- package/dist/client/transcription/BuilderTranscriptionCta.js.map +1 -1
- package/dist/client/use-change-version.d.ts +46 -0
- package/dist/client/use-change-version.d.ts.map +1 -0
- package/dist/client/use-change-version.js +135 -0
- package/dist/client/use-change-version.js.map +1 -0
- package/dist/client/use-chat-threads.d.ts +16 -2
- package/dist/client/use-chat-threads.d.ts.map +1 -1
- package/dist/client/use-chat-threads.js +87 -12
- package/dist/client/use-chat-threads.js.map +1 -1
- package/dist/client/use-chat-threads.spec.d.ts +2 -0
- package/dist/client/use-chat-threads.spec.d.ts.map +1 -0
- package/dist/client/use-chat-threads.spec.js +85 -0
- package/dist/client/use-chat-threads.spec.js.map +1 -0
- package/dist/client/use-db-sync.d.ts +5 -2
- package/dist/client/use-db-sync.d.ts.map +1 -1
- package/dist/client/use-db-sync.js +41 -16
- package/dist/client/use-db-sync.js.map +1 -1
- package/dist/client/use-pinch-zoom.d.ts +35 -0
- package/dist/client/use-pinch-zoom.d.ts.map +1 -0
- package/dist/client/use-pinch-zoom.js +105 -0
- package/dist/client/use-pinch-zoom.js.map +1 -0
- package/dist/deploy/workspace-deploy.d.ts.map +1 -1
- package/dist/deploy/workspace-deploy.js +99 -5
- package/dist/deploy/workspace-deploy.js.map +1 -1
- package/dist/extensions/actions.d.ts.map +1 -1
- package/dist/extensions/actions.js +3 -0
- package/dist/extensions/actions.js.map +1 -1
- package/dist/extensions/store.d.ts +5 -0
- package/dist/extensions/store.d.ts.map +1 -1
- package/dist/extensions/store.js +16 -1
- package/dist/extensions/store.js.map +1 -1
- package/dist/file-upload/actions/upload-image.d.ts +3 -0
- package/dist/file-upload/actions/upload-image.d.ts.map +1 -0
- package/dist/file-upload/actions/upload-image.js +145 -0
- package/dist/file-upload/actions/upload-image.js.map +1 -0
- package/dist/file-upload/builder.d.ts.map +1 -1
- package/dist/file-upload/builder.js +31 -11
- package/dist/file-upload/builder.js.map +1 -1
- package/dist/file-upload/index.d.ts +1 -0
- package/dist/file-upload/index.d.ts.map +1 -1
- package/dist/file-upload/index.js +1 -0
- package/dist/file-upload/index.js.map +1 -1
- package/dist/file-upload/pre-upload-attachments.d.ts +39 -0
- package/dist/file-upload/pre-upload-attachments.d.ts.map +1 -0
- package/dist/file-upload/pre-upload-attachments.js +110 -0
- package/dist/file-upload/pre-upload-attachments.js.map +1 -0
- package/dist/file-upload/registry.d.ts.map +1 -1
- package/dist/file-upload/registry.js +8 -7
- package/dist/file-upload/registry.js.map +1 -1
- package/dist/onboarding/default-steps.js +1 -1
- package/dist/onboarding/default-steps.js.map +1 -1
- package/dist/org/context.d.ts +15 -1
- package/dist/org/context.d.ts.map +1 -1
- package/dist/org/context.js +25 -0
- package/dist/org/context.js.map +1 -1
- package/dist/org/handlers.d.ts +2 -2
- package/dist/org/handlers.d.ts.map +1 -1
- package/dist/org/handlers.js +3 -17
- package/dist/org/handlers.js.map +1 -1
- package/dist/org/index.d.ts +1 -1
- package/dist/org/index.d.ts.map +1 -1
- package/dist/org/index.js +1 -1
- package/dist/org/index.js.map +1 -1
- package/dist/resources/handlers.d.ts +6 -0
- package/dist/resources/handlers.d.ts.map +1 -1
- package/dist/resources/handlers.js +30 -6
- package/dist/resources/handlers.js.map +1 -1
- package/dist/resources/script-helpers.d.ts +11 -2
- package/dist/resources/script-helpers.d.ts.map +1 -1
- package/dist/resources/script-helpers.js +20 -3
- package/dist/resources/script-helpers.js.map +1 -1
- package/dist/resources/store.d.ts +28 -3
- package/dist/resources/store.d.ts.map +1 -1
- package/dist/resources/store.js +170 -20
- package/dist/resources/store.js.map +1 -1
- package/dist/scripts/resources/list.d.ts +1 -1
- package/dist/scripts/resources/list.d.ts.map +1 -1
- package/dist/scripts/resources/list.js +16 -4
- package/dist/scripts/resources/list.js.map +1 -1
- package/dist/scripts/resources/write.d.ts +1 -1
- package/dist/scripts/resources/write.d.ts.map +1 -1
- package/dist/scripts/resources/write.js +47 -3
- package/dist/scripts/resources/write.js.map +1 -1
- package/dist/server/action-discovery.d.ts.map +1 -1
- package/dist/server/action-discovery.js +8 -3
- package/dist/server/action-discovery.js.map +1 -1
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +214 -25
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/agent-discovery.d.ts +35 -0
- package/dist/server/agent-discovery.d.ts.map +1 -1
- package/dist/server/agent-discovery.js +139 -8
- package/dist/server/agent-discovery.js.map +1 -1
- package/dist/server/app-url.d.ts +12 -6
- package/dist/server/app-url.d.ts.map +1 -1
- package/dist/server/app-url.js +58 -11
- package/dist/server/app-url.js.map +1 -1
- package/dist/server/auth.d.ts +22 -0
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +272 -59
- package/dist/server/auth.js.map +1 -1
- package/dist/server/better-auth-instance.d.ts +0 -4
- package/dist/server/better-auth-instance.d.ts.map +1 -1
- package/dist/server/better-auth-instance.js +0 -3
- package/dist/server/better-auth-instance.js.map +1 -1
- package/dist/server/builder-browser.d.ts.map +1 -1
- package/dist/server/builder-browser.js +23 -0
- package/dist/server/builder-browser.js.map +1 -1
- package/dist/server/core-routes-plugin.d.ts.map +1 -1
- package/dist/server/core-routes-plugin.js +29 -14
- package/dist/server/core-routes-plugin.js.map +1 -1
- package/dist/server/credential-provider.d.ts +14 -0
- package/dist/server/credential-provider.d.ts.map +1 -1
- package/dist/server/credential-provider.js +88 -11
- package/dist/server/credential-provider.js.map +1 -1
- package/dist/server/google-auth-plugin.d.ts.map +1 -1
- package/dist/server/google-auth-plugin.js +53 -13
- package/dist/server/google-auth-plugin.js.map +1 -1
- package/dist/server/google-oauth.d.ts.map +1 -1
- package/dist/server/google-oauth.js +47 -17
- package/dist/server/google-oauth.js.map +1 -1
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +1 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/oauth-public-origin.d.ts.map +1 -1
- package/dist/server/oauth-public-origin.js +19 -1
- package/dist/server/oauth-public-origin.js.map +1 -1
- package/dist/server/onboarding-html.d.ts.map +1 -1
- package/dist/server/onboarding-html.js +62 -15
- package/dist/server/onboarding-html.js.map +1 -1
- package/dist/server/poll.d.ts.map +1 -1
- package/dist/server/poll.js +20 -5
- package/dist/server/poll.js.map +1 -1
- package/dist/server/request-context.d.ts +8 -0
- package/dist/server/request-context.d.ts.map +1 -1
- package/dist/server/request-context.js.map +1 -1
- package/dist/shared/index.d.ts +2 -0
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +2 -0
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/llm-connection.d.ts +10 -0
- package/dist/shared/llm-connection.d.ts.map +1 -0
- package/dist/shared/llm-connection.js +29 -0
- package/dist/shared/llm-connection.js.map +1 -0
- package/dist/shared/workspace-app-audience.d.ts +25 -0
- package/dist/shared/workspace-app-audience.d.ts.map +1 -0
- package/dist/shared/workspace-app-audience.js +126 -0
- package/dist/shared/workspace-app-audience.js.map +1 -0
- package/dist/shared/workspace-app-id.d.ts +1 -1
- package/dist/shared/workspace-app-id.d.ts.map +1 -1
- package/dist/shared/workspace-app-id.js +1 -0
- package/dist/shared/workspace-app-id.js.map +1 -1
- package/dist/sharing/access.d.ts.map +1 -1
- package/dist/sharing/access.js +46 -5
- package/dist/sharing/access.js.map +1 -1
- package/dist/sharing/actions/list-resource-shares.d.ts.map +1 -1
- package/dist/sharing/actions/list-resource-shares.js +8 -1
- package/dist/sharing/actions/list-resource-shares.js.map +1 -1
- package/dist/sharing/actions/set-resource-visibility.d.ts.map +1 -1
- package/dist/sharing/actions/set-resource-visibility.js +12 -3
- package/dist/sharing/actions/set-resource-visibility.js.map +1 -1
- package/dist/sharing/actions/share-resource.d.ts.map +1 -1
- package/dist/sharing/actions/share-resource.js +50 -1
- package/dist/sharing/actions/share-resource.js.map +1 -1
- package/dist/sharing/registry.d.ts +26 -0
- package/dist/sharing/registry.d.ts.map +1 -1
- package/dist/sharing/registry.js.map +1 -1
- package/dist/styles/agent-native.css +91 -0
- package/dist/templates/default/.agents/skills/adding-a-feature/SKILL.md +72 -0
- package/dist/templates/default/.agents/skills/frontend-design/SKILL.md +60 -37
- package/dist/templates/default/.agents/skills/real-time-sync/SKILL.md +28 -17
- package/dist/templates/default/.agents/skills/shadcn-ui/SKILL.md +79 -0
- package/dist/templates/default/AGENTS.md +22 -19
- package/dist/templates/default/actions/navigate.ts +3 -0
- package/dist/templates/default/app/hooks/use-navigation-state.ts +29 -5
- package/dist/templates/workspace-core/.agents/skills/a2a-protocol/SKILL.md +251 -0
- package/dist/templates/workspace-core/.agents/skills/actions/SKILL.md +264 -0
- package/dist/templates/workspace-core/.agents/skills/adding-a-feature/SKILL.md +130 -0
- package/dist/templates/workspace-core/.agents/skills/address-feedback/SKILL.md +112 -0
- package/dist/templates/workspace-core/.agents/skills/authentication/SKILL.md +88 -0
- package/dist/templates/workspace-core/.agents/skills/automations/SKILL.md +191 -0
- package/dist/templates/workspace-core/.agents/skills/capture-learnings/SKILL.md +74 -0
- package/dist/templates/workspace-core/.agents/skills/client-side-routing/SKILL.md +75 -0
- package/dist/templates/workspace-core/.agents/skills/context-awareness/SKILL.md +190 -0
- package/dist/templates/workspace-core/.agents/skills/create-skill/SKILL.md +168 -0
- package/dist/templates/workspace-core/.agents/skills/delegate-to-agent/SKILL.md +163 -0
- package/dist/templates/workspace-core/.agents/skills/extension-points/SKILL.md +205 -0
- package/dist/templates/workspace-core/.agents/skills/extensions/SKILL.md +720 -0
- package/dist/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +92 -0
- package/dist/templates/workspace-core/.agents/skills/integration-webhooks/SKILL.md +285 -0
- package/dist/templates/workspace-core/.agents/skills/observability/SKILL.md +192 -0
- package/dist/templates/workspace-core/.agents/skills/onboarding/SKILL.md +43 -0
- package/dist/templates/workspace-core/.agents/skills/portability/SKILL.md +84 -0
- package/dist/templates/workspace-core/.agents/skills/qa/SKILL.md +313 -0
- package/dist/templates/workspace-core/.agents/skills/real-time-collab/SKILL.md +112 -0
- package/dist/templates/workspace-core/.agents/skills/real-time-sync/SKILL.md +165 -0
- package/dist/templates/workspace-core/.agents/skills/recurring-jobs/SKILL.md +41 -0
- package/dist/templates/workspace-core/.agents/skills/secrets/SKILL.md +239 -0
- package/dist/templates/workspace-core/.agents/skills/security/SKILL.md +191 -0
- package/dist/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +79 -0
- package/dist/templates/workspace-core/.agents/skills/server-plugins/SKILL.md +73 -0
- package/dist/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +79 -0
- package/dist/templates/workspace-core/.agents/skills/sharing/SKILL.md +217 -0
- package/dist/templates/workspace-core/.agents/skills/storing-data/SKILL.md +132 -0
- package/dist/templates/workspace-core/.agents/skills/tracking/SKILL.md +150 -0
- package/dist/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +124 -0
- package/dist/templates/workspace-core/AGENTS.md +16 -1
- package/dist/templates/workspace-root/AGENTS.md +35 -0
- package/dist/templates/workspace-root/README.md +7 -0
- package/dist/vite/action-types-plugin.d.ts.map +1 -1
- package/dist/vite/action-types-plugin.js +4 -0
- package/dist/vite/action-types-plugin.js.map +1 -1
- package/docs/content/authentication.md +36 -0
- package/docs/content/creating-templates.md +15 -0
- package/docs/content/dispatch.md +3 -3
- package/docs/content/multi-app-workspace.md +5 -0
- package/docs/content/tracking.md +12 -0
- package/docs/content/workspace-management.md +39 -4
- package/package.json +15 -12
- package/src/templates/default/.agents/skills/adding-a-feature/SKILL.md +72 -0
- package/src/templates/default/.agents/skills/frontend-design/SKILL.md +60 -37
- package/src/templates/default/.agents/skills/real-time-sync/SKILL.md +28 -17
- package/src/templates/default/.agents/skills/shadcn-ui/SKILL.md +79 -0
- package/src/templates/default/AGENTS.md +22 -19
- package/src/templates/default/actions/navigate.ts +3 -0
- package/src/templates/default/app/hooks/use-navigation-state.ts +29 -5
- package/src/templates/workspace-core/.agents/skills/a2a-protocol/SKILL.md +251 -0
- package/src/templates/workspace-core/.agents/skills/actions/SKILL.md +264 -0
- package/src/templates/workspace-core/.agents/skills/adding-a-feature/SKILL.md +130 -0
- package/src/templates/workspace-core/.agents/skills/address-feedback/SKILL.md +112 -0
- package/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +88 -0
- package/src/templates/workspace-core/.agents/skills/automations/SKILL.md +191 -0
- package/src/templates/workspace-core/.agents/skills/capture-learnings/SKILL.md +74 -0
- package/src/templates/workspace-core/.agents/skills/client-side-routing/SKILL.md +75 -0
- package/src/templates/workspace-core/.agents/skills/context-awareness/SKILL.md +190 -0
- package/src/templates/workspace-core/.agents/skills/create-skill/SKILL.md +168 -0
- package/src/templates/workspace-core/.agents/skills/delegate-to-agent/SKILL.md +163 -0
- package/src/templates/workspace-core/.agents/skills/extension-points/SKILL.md +205 -0
- package/src/templates/workspace-core/.agents/skills/extensions/SKILL.md +720 -0
- package/src/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +92 -0
- package/src/templates/workspace-core/.agents/skills/integration-webhooks/SKILL.md +285 -0
- package/src/templates/workspace-core/.agents/skills/observability/SKILL.md +192 -0
- package/src/templates/workspace-core/.agents/skills/onboarding/SKILL.md +43 -0
- package/src/templates/workspace-core/.agents/skills/portability/SKILL.md +84 -0
- package/src/templates/workspace-core/.agents/skills/qa/SKILL.md +313 -0
- package/src/templates/workspace-core/.agents/skills/real-time-collab/SKILL.md +112 -0
- package/src/templates/workspace-core/.agents/skills/real-time-sync/SKILL.md +165 -0
- package/src/templates/workspace-core/.agents/skills/recurring-jobs/SKILL.md +41 -0
- package/src/templates/workspace-core/.agents/skills/secrets/SKILL.md +239 -0
- package/src/templates/workspace-core/.agents/skills/security/SKILL.md +191 -0
- package/src/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +79 -0
- package/src/templates/workspace-core/.agents/skills/server-plugins/SKILL.md +73 -0
- package/src/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +79 -0
- package/src/templates/workspace-core/.agents/skills/sharing/SKILL.md +217 -0
- package/src/templates/workspace-core/.agents/skills/storing-data/SKILL.md +132 -0
- package/src/templates/workspace-core/.agents/skills/tracking/SKILL.md +150 -0
- package/src/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +124 -0
- package/src/templates/workspace-core/AGENTS.md +16 -1
- package/src/templates/workspace-root/AGENTS.md +35 -0
- package/src/templates/workspace-root/README.md +7 -0
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: voice-transcription
|
|
3
|
+
description: >-
|
|
4
|
+
Framework-wide voice dictation in the agent sidebar composer. Use when
|
|
5
|
+
changing composer microphone UX, the transcribe-voice route, or the
|
|
6
|
+
Voice Transcription settings section. Covers transcription-source routing,
|
|
7
|
+
cleanup routing, Google realtime gating, and the voice transcription
|
|
8
|
+
application-state keys.
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Voice Transcription
|
|
12
|
+
|
|
13
|
+
Click-to-toggle microphone inside the sidebar composer turns speech into
|
|
14
|
+
text. Users configure live transcription separately from AI cleanup in
|
|
15
|
+
Settings → Voice Transcription. The feature is available in every template
|
|
16
|
+
that renders `TiptapComposer`.
|
|
17
|
+
|
|
18
|
+
## UX rules
|
|
19
|
+
|
|
20
|
+
- **Always show the mic alongside the send button.** Cursor replaces send
|
|
21
|
+
with mic when the composer is empty; their users complain. We keep both
|
|
22
|
+
visible — Lovable does the same.
|
|
23
|
+
- **Click-to-toggle, not push-to-talk.** More forgiving in a sidebar, avoids
|
|
24
|
+
host-app hotkey clashes. Keyboard shortcut is `Cmd/Ctrl+Shift+M` and
|
|
25
|
+
`Escape` cancels mid-recording.
|
|
26
|
+
- **Transcript lands in the composer, editable, never auto-sent.** Insert at
|
|
27
|
+
the caret via `editor.chain().focus().insertContent(text).run()`.
|
|
28
|
+
- **No CSS transitions for the recording state.** Framework rule; use static
|
|
29
|
+
brand color (`#625DF5`) instead of pulses.
|
|
30
|
+
- **Icon:** Tabler `IconMicrophone` (idle) / `IconPlayerStopFilled` (recording).
|
|
31
|
+
Never use a sparkle or robot icon.
|
|
32
|
+
- **Errors via inline alert or toast, never `window.alert`.**
|
|
33
|
+
|
|
34
|
+
## Source And Cleanup
|
|
35
|
+
|
|
36
|
+
Settings must keep these as separate choices:
|
|
37
|
+
|
|
38
|
+
- **Live transcription source**: `mac-native`, `google-realtime`, or `batch`.
|
|
39
|
+
- **AI cleanup**: independent off/on toggle. Cleanup uses Builder Gemini first
|
|
40
|
+
when hosted Gemini is configured, then BYOK Gemini (`GEMINI_API_KEY`).
|
|
41
|
+
Gemini cleanup/title/summary generation is not a live STT source.
|
|
42
|
+
|
|
43
|
+
`application_state["voice-transcription-prefs"]` stores
|
|
44
|
+
`{ transcriptionMode, provider, instructions }`. The legacy `provider` field
|
|
45
|
+
is still written for old clients and batch provider preferences:
|
|
46
|
+
|
|
47
|
+
| Value | Meaning | Needs key |
|
|
48
|
+
| ----------------- | -------------------------------------------------------------- | ---------------------------- |
|
|
49
|
+
| `mac-native` | Native macOS/Tauri speech path; web clients normalize to browser-native where needed | No |
|
|
50
|
+
| `google-realtime` | Dedicated WebSocket → Google Speech-to-Text gRPC `StreamingRecognize` path | `GOOGLE_APPLICATION_CREDENTIALS` |
|
|
51
|
+
| `batch` | Upload audio after stop through the existing batch route | Builder/Gemini/Groq/OpenAI depending on fallback |
|
|
52
|
+
| `auto` provider | Existing batch fallback chain | Any configured batch provider |
|
|
53
|
+
| `builder-gemini` | Builder Gemini Flash-Lite batch/cleanup preference | hosted Gemini provider connected |
|
|
54
|
+
| `gemini` | Direct Google Gemini BYOK batch/cleanup preference | `GEMINI_API_KEY` |
|
|
55
|
+
| `groq` | Groq Whisper batch preference | `GROQ_API_KEY` |
|
|
56
|
+
| `openai` | OpenAI Whisper batch preference | `OPENAI_API_KEY` |
|
|
57
|
+
| `browser` | Legacy native/browser live speech preference | No |
|
|
58
|
+
|
|
59
|
+
Default behavior:
|
|
60
|
+
|
|
61
|
+
- The shared web settings/composer default to Batch / `auto`.
|
|
62
|
+
- Dedicated macOS Tauri-native surfaces may save `mac-native`, but do not
|
|
63
|
+
assume the shared React settings default to it.
|
|
64
|
+
- Old stored `builder` values are treated as `builder-gemini`.
|
|
65
|
+
- Old stored `browser` values are treated as `mac-native`.
|
|
66
|
+
- Saved `google-realtime` preferences must never hit `/_agent-native/transcribe-voice`. They go through the dedicated session bridge `POST /_agent-native/transcribe-stream/session`, which mints an opaque ai-services websocket session and keeps the Google service-account JSON off the client.
|
|
67
|
+
- In the current bridge, the Google option is only actually ready when both the user's `GOOGLE_APPLICATION_CREDENTIALS` secret exists and Builder is connected, because the framework mints the managed ai-services session with Builder auth before streaming begins.
|
|
68
|
+
|
|
69
|
+
## Where the pieces live
|
|
70
|
+
|
|
71
|
+
| File | Purpose |
|
|
72
|
+
| --------------------------------------------------------------------- | --------------------------------------------------- |
|
|
73
|
+
| `packages/core/src/client/composer/useVoiceDictation.ts` | Provider-routing hook (MediaRecorder / Web Speech) |
|
|
74
|
+
| `packages/core/src/client/composer/VoiceButton.tsx` | Mic button + live amplitude + cancel overlay |
|
|
75
|
+
| `packages/core/src/client/composer/TiptapComposer.tsx` | Wires the hook, insertion, and keyboard shortcut |
|
|
76
|
+
| `packages/core/src/client/settings/VoiceTranscriptionSection.tsx` | Live source + cleanup controls in sidebar settings |
|
|
77
|
+
| `packages/core/src/client/transcription/BuilderTranscriptionCta.tsx` | CTA shown when Builder account isn't connected |
|
|
78
|
+
| `packages/core/src/client/transcription/use-live-transcription.ts` | Web Speech live-transcription hook for recordings |
|
|
79
|
+
| `packages/core/src/server/transcribe-voice.ts` | Route handler (routes to Builder/Gemini/Groq/Whisper) |
|
|
80
|
+
| `packages/core/src/transcription/builder-transcription.ts` | Builder proxy transcription client |
|
|
81
|
+
| `packages/core/src/secrets/register-framework-secrets.ts` | Framework-level provider key registration |
|
|
82
|
+
|
|
83
|
+
## Key resolution (server)
|
|
84
|
+
|
|
85
|
+
`transcribe-voice.ts` is batch-only. Do not add realtime streaming to this
|
|
86
|
+
route. Google Speech-to-Text realtime uses a dedicated audio-frame protocol:
|
|
87
|
+
client audio frames → `/_agent-native/transcribe-stream/session` →
|
|
88
|
+
ai-services WebSocket → Google gRPC `StreamingRecognize` → partial / final
|
|
89
|
+
transcript events. Use the canonical docs URL:
|
|
90
|
+
https://cloud.google.com/speech-to-text/v2/docs/streaming-recognize
|
|
91
|
+
|
|
92
|
+
Batch routing is based on the user's provider preference:
|
|
93
|
+
|
|
94
|
+
1. If `builder-gemini` and `resolveHasBuilderPrivateKey()` → calls `transcribeWithBuilder({ model: "gemini-3-1-flash-lite" })` via Builder proxy, or uses Builder Gemini Flash-Lite to clean up a live native/browser transcript when the desktop client sends text instead of audio.
|
|
95
|
+
2. If `builder` and `resolveHasBuilderPrivateKey()` → legacy alias; prefer `builder-gemini`.
|
|
96
|
+
3. If `gemini` → resolves `GEMINI_API_KEY` and calls the direct Google Gemini path.
|
|
97
|
+
4. If `groq` → resolves `GROQ_API_KEY` and calls Groq's Whisper-compatible endpoint.
|
|
98
|
+
5. If `openai` → resolves `OPENAI_API_KEY`:
|
|
99
|
+
- `readAppSecret({ key: "OPENAI_API_KEY", scope: "user", scopeId: session.email })` — user's encrypted secret.
|
|
100
|
+
- `resolveCredential("OPENAI_API_KEY")` — env var + SQL settings fallback.
|
|
101
|
+
|
|
102
|
+
In auto mode / no preference, the route tries Builder Gemini Flash-Lite first
|
|
103
|
+
when Builder is connected, then Gemini BYOK, Groq, and OpenAI.
|
|
104
|
+
When a request includes `instructions`, pass them through to the selected LLM
|
|
105
|
+
provider. Gemini uses them in the transcription prompt, Builder receives them
|
|
106
|
+
as transcription/cleanup instructions, and Whisper-compatible providers receive
|
|
107
|
+
them as provider prompt/context.
|
|
108
|
+
|
|
109
|
+
Never hardcode a shared key. Never log the value. Never echo it back to the
|
|
110
|
+
client.
|
|
111
|
+
|
|
112
|
+
## Overriding per-template
|
|
113
|
+
|
|
114
|
+
Templates can:
|
|
115
|
+
- **Disable the mic**: pass `voiceEnabled={false}` to `TiptapComposer`.
|
|
116
|
+
- **Replace the button**: wrap `TiptapComposer` and render your own `extraActionButton` (the framework mic sits between `extraActionButton` and the send button).
|
|
117
|
+
- **Pre-register provider keys as `required: true`**: call `registerRequiredSecret(...)` from your own server plugin when a template needs a specific BYOK provider in onboarding.
|
|
118
|
+
|
|
119
|
+
## Don'ts
|
|
120
|
+
|
|
121
|
+
- Don't call transcription providers from the client — go through `/_agent-native/transcribe-voice` so the user's secret stays server-side.
|
|
122
|
+
- Don't remove the cancel affordance — mic permission abuse paranoia is real.
|
|
123
|
+
- Don't auto-submit the transcript — users always edit before sending.
|
|
124
|
+
- Don't copy Cursor's "hide send when empty" pattern — it confuses users.
|
|
@@ -11,12 +11,22 @@ agent should know.
|
|
|
11
11
|
|
|
12
12
|
## Shared Conventions
|
|
13
13
|
|
|
14
|
+
- All AI/LLM behavior goes through the app's agent chat. UI and server code
|
|
15
|
+
must not call model providers, AI SDK `generateText()` / `streamText()`, or
|
|
16
|
+
other inline LLM APIs directly. Use `sendToAgentChat()` for local app-agent
|
|
17
|
+
work, and read `.agents/skills/delegate-to-agent/SKILL.md` before building
|
|
18
|
+
agent-driven UI or "AI" features.
|
|
14
19
|
- Put shared code in `packages/shared` only when multiple apps need it.
|
|
15
20
|
- Keep app-specific screens, actions, state, and skills inside `apps/<app>`.
|
|
16
21
|
- Store shared runtime configuration in the workspace root `.env`; use
|
|
17
22
|
`apps/<app>/.env` only for app-specific overrides.
|
|
18
23
|
- Prefer framework defaults until the workspace has a real custom rule,
|
|
19
24
|
component, plugin, action, or skill to share.
|
|
25
|
+
- Keep the Workspace files view for user-authored or user-requested resources.
|
|
26
|
+
Agents may create hidden `agent_scratch` resources for temporary working
|
|
27
|
+
notes, scripts, task plans, or intermediate outputs, but should promote them
|
|
28
|
+
to normal workspace visibility only when the user explicitly asks to keep or
|
|
29
|
+
manage the file.
|
|
20
30
|
|
|
21
31
|
## Adding Apps
|
|
22
32
|
|
|
@@ -33,6 +43,10 @@ Do not implement a new app by adding a route, page, component, or file to
|
|
|
33
43
|
`apps/starter` or another existing app unless the user explicitly asks to modify
|
|
34
44
|
that existing app.
|
|
35
45
|
|
|
46
|
+
Dispatch vault access is workspace-wide by default: every saved vault key is
|
|
47
|
+
available to every workspace app. Only create or request per-app vault grants
|
|
48
|
+
when Dispatch's vault access setting is switched to manual mode.
|
|
49
|
+
|
|
36
50
|
Workspace apps are discovered from `apps/<app-name>/package.json`. There is no
|
|
37
51
|
separate workspace app registry to edit for Dispatch to list the app. Use
|
|
38
52
|
relative workspace links like `/<app-name>` and never hardcode `localhost`,
|
|
@@ -42,7 +56,8 @@ port. React Router apps must preserve `APP_BASE_PATH` / `VITE_APP_BASE_PATH` in
|
|
|
42
56
|
`app/entry.client.tsx` via `appBasePath()` so the app hydrates correctly when
|
|
43
57
|
mounted at `/<app-name>`. Use the framework/template UI stack for standard UI:
|
|
44
58
|
shadcn/ui components and `@tabler/icons-react`. Do not add `lucide-react` or
|
|
45
|
-
another icon library.
|
|
59
|
+
another icon library. Read `.agents/skills/shadcn-ui/SKILL.md` before adding,
|
|
60
|
+
updating, or debugging shadcn components.
|
|
46
61
|
|
|
47
62
|
In local development, run
|
|
48
63
|
`pnpm exec agent-native create <app-name> --template=<template>` from the
|
|
@@ -3,6 +3,27 @@
|
|
|
3
3
|
These instructions apply at the workspace root. App-specific behavior belongs
|
|
4
4
|
in `apps/<app>/AGENTS.md`; shared cross-app behavior belongs in
|
|
5
5
|
`packages/shared/AGENTS.md` or `packages/shared/.agents/skills/`.
|
|
6
|
+
The root `.agents/skills` path points at the shared package's skills so local
|
|
7
|
+
coding agents can discover the same workspace-wide guidance from the root.
|
|
8
|
+
|
|
9
|
+
## Core Agent Rule
|
|
10
|
+
|
|
11
|
+
- All AI/LLM behavior goes through the app's agent chat. UI and server code
|
|
12
|
+
must not call model providers, AI SDK `generateText()` / `streamText()`, or
|
|
13
|
+
other inline LLM APIs directly. Use `sendToAgentChat()` for local app-agent
|
|
14
|
+
work, and read `packages/shared/.agents/skills/delegate-to-agent/SKILL.md`
|
|
15
|
+
before building agent-driven UI or "AI" features.
|
|
16
|
+
|
|
17
|
+
## Workspace Resources
|
|
18
|
+
|
|
19
|
+
- The Workspace files view is for user-authored or user-requested resources
|
|
20
|
+
they intentionally add, edit, or manage.
|
|
21
|
+
- Agents may use hidden `agent_scratch` resources for temporary working notes,
|
|
22
|
+
scripts, task plans, or intermediate outputs. Keep those scratch files hidden
|
|
23
|
+
by default and promote them only when the user explicitly asks to keep or
|
|
24
|
+
manage the file.
|
|
25
|
+
- Durable instructions, skills, jobs, memories, custom agents, and files the
|
|
26
|
+
user explicitly asked to save belong in normal workspace visibility.
|
|
6
27
|
|
|
7
28
|
## Workspace Scope
|
|
8
29
|
|
|
@@ -26,6 +47,9 @@ in `apps/<app>/AGENTS.md`; shared cross-app behavior belongs in
|
|
|
26
47
|
`/<app-id>`.
|
|
27
48
|
- When a user explicitly asks for a new app or workspace app, create the
|
|
28
49
|
separate workspace app.
|
|
50
|
+
- Dispatch vault access is workspace-wide by default: every saved vault key is
|
|
51
|
+
available to every workspace app. Only create or request per-app vault grants
|
|
52
|
+
when Dispatch's vault access setting is switched to manual mode.
|
|
29
53
|
- Do not satisfy a new-app request by adding a route, page, component, or file
|
|
30
54
|
to `apps/starter` or another existing app unless the user explicitly asks to
|
|
31
55
|
modify that existing app.
|
|
@@ -44,6 +68,15 @@ in `apps/<app>/AGENTS.md`; shared cross-app behavior belongs in
|
|
|
44
68
|
base template improvements continue to flow automatically.
|
|
45
69
|
- Workspace apps are discovered from `apps/<app-id>/package.json`. There is no
|
|
46
70
|
separate workspace app registry to edit for Dispatch to list the app.
|
|
71
|
+
- Always save a concise, human-readable `description` in the generated app's
|
|
72
|
+
`apps/<app-id>/package.json`. Dispatch lists and A2A connected-agent context
|
|
73
|
+
use the app name plus this description so other agents understand what the app
|
|
74
|
+
does. Dispatch users can later edit the displayed name/description from the
|
|
75
|
+
Apps page without changing source.
|
|
76
|
+
- All sibling workspace apps are accessible by default over A2A through
|
|
77
|
+
`call-agent`. Agents receive a compact list of available app names and
|
|
78
|
+
descriptions in prompt context; use tool search or app-specific actions only
|
|
79
|
+
when more detail is needed.
|
|
47
80
|
- Use relative workspace links like `/<app-id>`. Never hardcode
|
|
48
81
|
`localhost`, `127.0.0.1`, `8080`, `8100`, or any dev port in app cards,
|
|
49
82
|
instructions, redirects, or navigation; the active workspace gateway/browser
|
|
@@ -53,6 +86,8 @@ in `apps/<app>/AGENTS.md`; shared cross-app behavior belongs in
|
|
|
53
86
|
when mounted at `/<app-id>`.
|
|
54
87
|
- Use the framework/template UI stack for standard UI: shadcn/ui components and
|
|
55
88
|
`@tabler/icons-react`. Do not add `lucide-react` or another icon library.
|
|
89
|
+
Read `packages/shared/.agents/skills/shadcn-ui/SKILL.md` before adding,
|
|
90
|
+
updating, or debugging shadcn components.
|
|
56
91
|
- In local development, scaffold the app from the workspace root with
|
|
57
92
|
`pnpm exec agent-native create <app-id> --template=<template>`. In production
|
|
58
93
|
Dispatch posts the request to Builder branch creation; the Builder branch
|
|
@@ -33,6 +33,9 @@ Apps don't need any configuration to opt in. Discovery happens via the
|
|
|
33
33
|
`agent-native.workspaceCore` field in this root `package.json`, which names
|
|
34
34
|
the shared package (`@{{APP_NAME}}/shared`).
|
|
35
35
|
|
|
36
|
+
The workspace root also links `.agents/skills` to the shared package so coding
|
|
37
|
+
agents launched from the root can discover the same workspace-wide skills.
|
|
38
|
+
|
|
36
39
|
## Getting started
|
|
37
40
|
|
|
38
41
|
```bash
|
|
@@ -49,6 +52,10 @@ watches `apps/`, so newly-created apps are detected without restarting
|
|
|
49
52
|
links should stay relative, such as `/starter` or `/<app-id>`; do not hardcode
|
|
50
53
|
localhost or dev ports because the active gateway origin owns the port.
|
|
51
54
|
|
|
55
|
+
Dispatch vault keys are workspace-wide by default: every saved vault key is
|
|
56
|
+
available to every workspace app and can be synced from Dispatch. Switch the
|
|
57
|
+
Vault page to manual access only when you need explicit per-app key grants.
|
|
58
|
+
|
|
52
59
|
## Workspace org identity
|
|
53
60
|
|
|
54
61
|
Set these root `.env` values before production deploys or when repairing
|