@agent-native/core 0.7.13 → 0.7.14
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/dist/a2a/client.d.ts +44 -1
- package/dist/a2a/client.d.ts.map +1 -1
- package/dist/a2a/client.js +88 -11
- package/dist/a2a/client.js.map +1 -1
- package/dist/a2a/handlers.d.ts +10 -0
- package/dist/a2a/handlers.d.ts.map +1 -1
- package/dist/a2a/handlers.js +287 -62
- package/dist/a2a/handlers.js.map +1 -1
- package/dist/a2a/server.d.ts.map +1 -1
- package/dist/a2a/server.js +95 -17
- package/dist/a2a/server.js.map +1 -1
- package/dist/a2a/task-store.d.ts +11 -1
- package/dist/a2a/task-store.d.ts.map +1 -1
- package/dist/a2a/task-store.js +38 -2
- package/dist/a2a/task-store.js.map +1 -1
- package/dist/agent/engine/builder-engine.d.ts +1 -1
- package/dist/agent/engine/builder-engine.d.ts.map +1 -1
- package/dist/agent/engine/builder-engine.js +7 -25
- package/dist/agent/engine/builder-engine.js.map +1 -1
- package/dist/agent/engine/builtin.js +1 -1
- package/dist/agent/engine/builtin.js.map +1 -1
- package/dist/chat-threads/store.d.ts +3 -0
- package/dist/chat-threads/store.d.ts.map +1 -1
- package/dist/chat-threads/store.js +32 -0
- package/dist/chat-threads/store.js.map +1 -1
- package/dist/cli/templates-meta.d.ts.map +1 -1
- package/dist/cli/templates-meta.js +11 -0
- package/dist/cli/templates-meta.js.map +1 -1
- package/dist/client/AgentPanel.d.ts +3 -1
- package/dist/client/AgentPanel.d.ts.map +1 -1
- package/dist/client/AgentPanel.js +21 -10
- package/dist/client/AgentPanel.js.map +1 -1
- package/dist/client/AgentTaskCard.d.ts.map +1 -1
- package/dist/client/AgentTaskCard.js +2 -0
- package/dist/client/AgentTaskCard.js.map +1 -1
- package/dist/client/AssistantChat.d.ts +2 -0
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +111 -75
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/ErrorBoundary.d.ts +1 -3
- package/dist/client/ErrorBoundary.d.ts.map +1 -1
- package/dist/client/ErrorBoundary.js +37 -9
- package/dist/client/ErrorBoundary.js.map +1 -1
- package/dist/client/FeedbackButton.d.ts.map +1 -1
- package/dist/client/FeedbackButton.js +4 -3
- package/dist/client/FeedbackButton.js.map +1 -1
- package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
- package/dist/client/MultiTabAssistantChat.js +145 -49
- package/dist/client/MultiTabAssistantChat.js.map +1 -1
- package/dist/client/agent-chat.d.ts +11 -0
- package/dist/client/agent-chat.d.ts.map +1 -1
- package/dist/client/agent-chat.js +1 -1
- package/dist/client/agent-chat.js.map +1 -1
- package/dist/client/components/AgentPresenceChip.d.ts +12 -0
- package/dist/client/components/AgentPresenceChip.d.ts.map +1 -0
- package/dist/client/components/AgentPresenceChip.js +42 -0
- package/dist/client/components/AgentPresenceChip.js.map +1 -0
- package/dist/client/components/PresenceBar.d.ts +17 -0
- package/dist/client/components/PresenceBar.d.ts.map +1 -0
- package/dist/client/components/PresenceBar.js +118 -0
- package/dist/client/components/PresenceBar.js.map +1 -0
- package/dist/client/composer/ComposerPlusMenu.d.ts +6 -1
- package/dist/client/composer/ComposerPlusMenu.d.ts.map +1 -1
- package/dist/client/composer/ComposerPlusMenu.js +22 -83
- package/dist/client/composer/ComposerPlusMenu.js.map +1 -1
- package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
- package/dist/client/composer/TiptapComposer.js +237 -16
- package/dist/client/composer/TiptapComposer.js.map +1 -1
- package/dist/client/composer/types.d.ts +1 -0
- package/dist/client/composer/types.d.ts.map +1 -1
- package/dist/client/composer/useVoiceDictation.d.ts +2 -0
- package/dist/client/composer/useVoiceDictation.d.ts.map +1 -1
- package/dist/client/composer/useVoiceDictation.js +85 -10
- package/dist/client/composer/useVoiceDictation.js.map +1 -1
- package/dist/client/index.d.ts +3 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +5 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/org/RequireActiveOrg.d.ts.map +1 -1
- package/dist/client/org/RequireActiveOrg.js +15 -10
- package/dist/client/org/RequireActiveOrg.js.map +1 -1
- package/dist/client/org/TeamPage.d.ts.map +1 -1
- package/dist/client/org/TeamPage.js +125 -4
- package/dist/client/org/TeamPage.js.map +1 -1
- package/dist/client/org/hooks.d.ts +30 -0
- package/dist/client/org/hooks.d.ts.map +1 -1
- package/dist/client/org/hooks.js +65 -0
- package/dist/client/org/hooks.js.map +1 -1
- package/dist/client/org/index.d.ts +2 -2
- package/dist/client/org/index.d.ts.map +1 -1
- package/dist/client/org/index.js +1 -1
- package/dist/client/org/index.js.map +1 -1
- package/dist/client/resources/ResourcesPanel.d.ts.map +1 -1
- package/dist/client/resources/ResourcesPanel.js +5 -1
- package/dist/client/resources/ResourcesPanel.js.map +1 -1
- package/dist/client/settings/AutomationsSection.d.ts.map +1 -1
- package/dist/client/settings/AutomationsSection.js +1 -0
- package/dist/client/settings/AutomationsSection.js.map +1 -1
- package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
- package/dist/client/settings/SettingsPanel.js +24 -11
- package/dist/client/settings/SettingsPanel.js.map +1 -1
- package/dist/client/sse-event-processor.d.ts.map +1 -1
- package/dist/client/sse-event-processor.js +10 -0
- package/dist/client/sse-event-processor.js.map +1 -1
- package/dist/client/tools/ToolEditor.d.ts +5 -0
- package/dist/client/tools/ToolEditor.d.ts.map +1 -0
- package/dist/client/tools/ToolEditor.js +98 -0
- package/dist/client/tools/ToolEditor.js.map +1 -0
- package/dist/client/tools/ToolViewer.d.ts +5 -0
- package/dist/client/tools/ToolViewer.d.ts.map +1 -0
- package/dist/client/tools/ToolViewer.js +309 -0
- package/dist/client/tools/ToolViewer.js.map +1 -0
- package/dist/client/tools/ToolViewerPage.d.ts +2 -0
- package/dist/client/tools/ToolViewerPage.d.ts.map +1 -0
- package/dist/client/tools/ToolViewerPage.js +23 -0
- package/dist/client/tools/ToolViewerPage.js.map +1 -0
- package/dist/client/tools/ToolsListPage.d.ts +2 -0
- package/dist/client/tools/ToolsListPage.d.ts.map +1 -0
- package/dist/client/tools/ToolsListPage.js +72 -0
- package/dist/client/tools/ToolsListPage.js.map +1 -0
- package/dist/client/tools/ToolsSidebarSection.d.ts +2 -0
- package/dist/client/tools/ToolsSidebarSection.d.ts.map +1 -0
- package/dist/client/tools/ToolsSidebarSection.js +188 -0
- package/dist/client/tools/ToolsSidebarSection.js.map +1 -0
- package/dist/client/tools/index.d.ts +6 -0
- package/dist/client/tools/index.d.ts.map +1 -0
- package/dist/client/tools/index.js +6 -0
- package/dist/client/tools/index.js.map +1 -0
- package/dist/client/use-chat-threads.d.ts +1 -0
- package/dist/client/use-chat-threads.d.ts.map +1 -1
- package/dist/client/use-chat-threads.js +29 -0
- package/dist/client/use-chat-threads.js.map +1 -1
- package/dist/client/use-db-sync.js +6 -6
- package/dist/client/use-db-sync.js.map +1 -1
- package/dist/collab/agent-identity.d.ts +15 -0
- package/dist/collab/agent-identity.d.ts.map +1 -0
- package/dist/collab/agent-identity.js +14 -0
- package/dist/collab/agent-identity.js.map +1 -0
- package/dist/collab/agent-presence.d.ts +59 -0
- package/dist/collab/agent-presence.d.ts.map +1 -0
- package/dist/collab/agent-presence.js +165 -0
- package/dist/collab/agent-presence.js.map +1 -0
- package/dist/collab/awareness.d.ts +7 -0
- package/dist/collab/awareness.d.ts.map +1 -1
- package/dist/collab/awareness.js +2 -2
- package/dist/collab/awareness.js.map +1 -1
- package/dist/collab/client-struct.d.ts +43 -0
- package/dist/collab/client-struct.d.ts.map +1 -0
- package/dist/collab/client-struct.js +272 -0
- package/dist/collab/client-struct.js.map +1 -0
- package/dist/collab/client.d.ts +2 -0
- package/dist/collab/client.d.ts.map +1 -1
- package/dist/collab/client.js +15 -1
- package/dist/collab/client.js.map +1 -1
- package/dist/collab/index.d.ts +6 -1
- package/dist/collab/index.d.ts.map +1 -1
- package/dist/collab/index.js +11 -1
- package/dist/collab/index.js.map +1 -1
- package/dist/collab/json-to-yjs.d.ts +72 -0
- package/dist/collab/json-to-yjs.d.ts.map +1 -0
- package/dist/collab/json-to-yjs.js +456 -0
- package/dist/collab/json-to-yjs.js.map +1 -0
- package/dist/collab/struct-routes.d.ts +52 -0
- package/dist/collab/struct-routes.d.ts.map +1 -0
- package/dist/collab/struct-routes.js +74 -0
- package/dist/collab/struct-routes.js.map +1 -0
- package/dist/collab/ydoc-manager.d.ts +19 -0
- package/dist/collab/ydoc-manager.d.ts.map +1 -1
- package/dist/collab/ydoc-manager.js +49 -0
- package/dist/collab/ydoc-manager.js.map +1 -1
- package/dist/deploy/build.js +1 -1
- package/dist/file-upload/builder.d.ts.map +1 -1
- package/dist/file-upload/builder.js +2 -1
- package/dist/file-upload/builder.js.map +1 -1
- package/dist/integrations/adapters/email.d.ts +17 -0
- package/dist/integrations/adapters/email.d.ts.map +1 -0
- package/dist/integrations/adapters/email.js +620 -0
- package/dist/integrations/adapters/email.js.map +1 -0
- package/dist/integrations/adapters/telegram.d.ts.map +1 -1
- package/dist/integrations/adapters/telegram.js +19 -3
- package/dist/integrations/adapters/telegram.js.map +1 -1
- package/dist/integrations/index.d.ts +1 -0
- package/dist/integrations/index.d.ts.map +1 -1
- package/dist/integrations/index.js +1 -0
- package/dist/integrations/index.js.map +1 -1
- package/dist/integrations/internal-token.d.ts +18 -0
- package/dist/integrations/internal-token.d.ts.map +1 -0
- package/dist/integrations/internal-token.js +86 -0
- package/dist/integrations/internal-token.js.map +1 -0
- package/dist/integrations/pending-tasks-retry-job.d.ts +15 -0
- package/dist/integrations/pending-tasks-retry-job.d.ts.map +1 -0
- package/dist/integrations/pending-tasks-retry-job.js +199 -0
- package/dist/integrations/pending-tasks-retry-job.js.map +1 -0
- package/dist/integrations/pending-tasks-store.d.ts +40 -0
- package/dist/integrations/pending-tasks-store.d.ts.map +1 -0
- package/dist/integrations/pending-tasks-store.js +151 -0
- package/dist/integrations/pending-tasks-store.js.map +1 -0
- package/dist/integrations/plugin.d.ts.map +1 -1
- package/dist/integrations/plugin.js +151 -9
- package/dist/integrations/plugin.js.map +1 -1
- package/dist/integrations/task-queue-stats.d.ts +22 -0
- package/dist/integrations/task-queue-stats.d.ts.map +1 -0
- package/dist/integrations/task-queue-stats.js +117 -0
- package/dist/integrations/task-queue-stats.js.map +1 -0
- package/dist/integrations/types.d.ts +2 -0
- package/dist/integrations/types.d.ts.map +1 -1
- package/dist/integrations/webhook-handler.d.ts +23 -4
- package/dist/integrations/webhook-handler.d.ts.map +1 -1
- package/dist/integrations/webhook-handler.js +217 -59
- package/dist/integrations/webhook-handler.js.map +1 -1
- package/dist/mcp-client/manager.d.ts +3 -0
- package/dist/mcp-client/manager.d.ts.map +1 -1
- package/dist/mcp-client/manager.js +5 -0
- package/dist/mcp-client/manager.js.map +1 -1
- package/dist/oauth-tokens/google-refresh.d.ts.map +1 -1
- package/dist/oauth-tokens/google-refresh.js +6 -0
- package/dist/oauth-tokens/google-refresh.js.map +1 -1
- package/dist/onboarding/default-steps.d.ts.map +1 -1
- package/dist/onboarding/default-steps.js +10 -3
- package/dist/onboarding/default-steps.js.map +1 -1
- package/dist/org/context.d.ts +35 -0
- package/dist/org/context.d.ts.map +1 -1
- package/dist/org/context.js +136 -0
- package/dist/org/context.js.map +1 -1
- package/dist/org/handlers.d.ts +76 -0
- package/dist/org/handlers.d.ts.map +1 -1
- package/dist/org/handlers.js +411 -2
- package/dist/org/handlers.js.map +1 -1
- package/dist/org/index.d.ts +2 -2
- package/dist/org/index.d.ts.map +1 -1
- package/dist/org/index.js +2 -2
- package/dist/org/index.js.map +1 -1
- package/dist/org/migrations.d.ts.map +1 -1
- package/dist/org/migrations.js +8 -0
- package/dist/org/migrations.js.map +1 -1
- package/dist/org/plugin.d.ts +6 -0
- package/dist/org/plugin.d.ts.map +1 -1
- package/dist/org/plugin.js +71 -7
- package/dist/org/plugin.js.map +1 -1
- package/dist/org/schema.d.ts +38 -0
- package/dist/org/schema.d.ts.map +1 -1
- package/dist/org/schema.js +2 -0
- package/dist/org/schema.js.map +1 -1
- package/dist/org/types.d.ts +7 -0
- package/dist/org/types.d.ts.map +1 -1
- package/dist/scripts/call-agent.d.ts.map +1 -1
- package/dist/scripts/call-agent.js +90 -18
- package/dist/scripts/call-agent.js.map +1 -1
- package/dist/scripts/db/index.d.ts.map +1 -1
- package/dist/scripts/db/index.js +2 -0
- package/dist/scripts/db/index.js.map +1 -1
- package/dist/scripts/db/migrate-user-api-keys.d.ts +24 -0
- package/dist/scripts/db/migrate-user-api-keys.d.ts.map +1 -0
- package/dist/scripts/db/migrate-user-api-keys.js +224 -0
- package/dist/scripts/db/migrate-user-api-keys.js.map +1 -0
- package/dist/scripts/db/wipe-leaked-builder-keys.d.ts +27 -0
- package/dist/scripts/db/wipe-leaked-builder-keys.d.ts.map +1 -0
- package/dist/scripts/db/wipe-leaked-builder-keys.js +163 -0
- package/dist/scripts/db/wipe-leaked-builder-keys.js.map +1 -0
- package/dist/secrets/register-framework-secrets.d.ts +5 -0
- package/dist/secrets/register-framework-secrets.d.ts.map +1 -1
- package/dist/secrets/register-framework-secrets.js +7 -44
- package/dist/secrets/register-framework-secrets.js.map +1 -1
- package/dist/secrets/substitution.d.ts.map +1 -1
- package/dist/secrets/substitution.js +14 -2
- package/dist/secrets/substitution.js.map +1 -1
- package/dist/server/action-discovery.d.ts.map +1 -1
- package/dist/server/action-discovery.js +39 -0
- package/dist/server/action-discovery.js.map +1 -1
- package/dist/server/action-routes.js +1 -1
- package/dist/server/action-routes.js.map +1 -1
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +192 -45
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/auth.d.ts +14 -0
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +232 -17
- package/dist/server/auth.js.map +1 -1
- package/dist/server/builder-browser.d.ts +1 -1
- package/dist/server/builder-browser.d.ts.map +1 -1
- package/dist/server/builder-browser.js +12 -12
- package/dist/server/builder-browser.js.map +1 -1
- package/dist/server/collab-plugin.d.ts +4 -0
- package/dist/server/collab-plugin.d.ts.map +1 -1
- package/dist/server/collab-plugin.js +30 -4
- package/dist/server/collab-plugin.js.map +1 -1
- package/dist/server/core-routes-plugin.d.ts.map +1 -1
- package/dist/server/core-routes-plugin.js +106 -100
- package/dist/server/core-routes-plugin.js.map +1 -1
- package/dist/server/credential-provider.d.ts +43 -2
- package/dist/server/credential-provider.d.ts.map +1 -1
- package/dist/server/credential-provider.js +115 -2
- package/dist/server/credential-provider.js.map +1 -1
- package/dist/server/design-token-utils.d.ts +132 -0
- package/dist/server/design-token-utils.d.ts.map +1 -0
- package/dist/server/design-token-utils.js +714 -0
- package/dist/server/design-token-utils.js.map +1 -0
- package/dist/server/email.d.ts +10 -0
- package/dist/server/email.d.ts.map +1 -1
- package/dist/server/email.js +63 -16
- package/dist/server/email.js.map +1 -1
- package/dist/server/framework-request-handler.d.ts.map +1 -1
- package/dist/server/framework-request-handler.js +38 -3
- package/dist/server/framework-request-handler.js.map +1 -1
- package/dist/server/google-oauth.d.ts +18 -1
- package/dist/server/google-oauth.d.ts.map +1 -1
- package/dist/server/google-oauth.js +21 -4
- package/dist/server/google-oauth.js.map +1 -1
- package/dist/server/index.d.ts +3 -3
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +3 -3
- package/dist/server/index.js.map +1 -1
- package/dist/server/onboarding-html.d.ts.map +1 -1
- package/dist/server/onboarding-html.js +14 -1
- package/dist/server/onboarding-html.js.map +1 -1
- package/dist/server/transcribe-voice.d.ts.map +1 -1
- package/dist/server/transcribe-voice.js +89 -24
- package/dist/server/transcribe-voice.js.map +1 -1
- package/dist/sharing/schema.d.ts +1 -1
- package/dist/styles/agent-native.css +5 -0
- package/dist/templates/default/app/root.tsx +50 -13
- package/dist/templates/default/react-router.config.ts +3 -0
- package/dist/terminal/terminal-plugin.d.ts.map +1 -1
- package/dist/terminal/terminal-plugin.js +23 -3
- package/dist/terminal/terminal-plugin.js.map +1 -1
- package/dist/tools/actions.d.ts +3 -0
- package/dist/tools/actions.d.ts.map +1 -0
- package/dist/tools/actions.js +140 -0
- package/dist/tools/actions.js.map +1 -0
- package/dist/tools/fetch-tool.js +1 -1
- package/dist/tools/fetch-tool.js.map +1 -1
- package/dist/tools/html-shell.d.ts +2 -0
- package/dist/tools/html-shell.d.ts.map +1 -0
- package/dist/tools/html-shell.js +387 -0
- package/dist/tools/html-shell.js.map +1 -0
- package/dist/tools/routes.d.ts +2 -0
- package/dist/tools/routes.d.ts.map +1 -0
- package/dist/tools/routes.js +576 -0
- package/dist/tools/routes.js.map +1 -0
- package/dist/tools/schema.d.ts +575 -0
- package/dist/tools/schema.d.ts.map +1 -0
- package/dist/tools/schema.js +112 -0
- package/dist/tools/schema.js.map +1 -0
- package/dist/tools/store.d.ts +40 -0
- package/dist/tools/store.d.ts.map +1 -0
- package/dist/tools/store.js +190 -0
- package/dist/tools/store.js.map +1 -0
- package/dist/tools/theme.d.ts +2 -0
- package/dist/tools/theme.d.ts.map +1 -0
- package/dist/tools/theme.js +67 -0
- package/dist/tools/theme.js.map +1 -0
- package/dist/transcription/builder-transcription.d.ts.map +1 -1
- package/dist/transcription/builder-transcription.js +26 -14
- package/dist/transcription/builder-transcription.js.map +1 -1
- package/dist/vite/action-types-plugin.d.ts.map +1 -1
- package/dist/vite/action-types-plugin.js +10 -2
- package/dist/vite/action-types-plugin.js.map +1 -1
- package/dist/vite/client.d.ts.map +1 -1
- package/dist/vite/client.js +26 -6
- package/dist/vite/client.js.map +1 -1
- package/docs/content/a2a-protocol.md +2 -2
- package/docs/content/authentication.md +51 -0
- package/docs/content/cloneable-saas.md +59 -62
- package/docs/content/faq.md +73 -43
- package/docs/content/getting-started.md +37 -61
- package/docs/content/mcp-clients.md +14 -1
- package/docs/content/messaging.md +284 -0
- package/docs/content/pure-agent-apps.md +55 -28
- package/docs/content/template-calendar.md +61 -56
- package/docs/content/template-clips.md +22 -18
- package/docs/content/template-content.md +36 -26
- package/docs/content/template-dispatch.md +2 -1
- package/docs/content/template-forms.md +13 -11
- package/docs/content/template-slides.md +43 -31
- package/docs/content/template-video.md +49 -22
- package/docs/content/tools.md +107 -0
- package/docs/content/what-is-agent-native.md +89 -105
- package/package.json +4 -1
- package/src/templates/default/app/root.tsx +50 -13
- package/src/templates/default/react-router.config.ts +3 -0
- package/docs/content/integrations.md +0 -198
|
@@ -1,36 +1,40 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Clips
|
|
3
|
-
description: "
|
|
2
|
+
title: "Clips"
|
|
3
|
+
description: "Record your screen, get an AI-generated title, summary, and chapter markers automatically, and search across every recording you've ever made."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Clips
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
A screen-recording app where the agent does the post-production work for you. Record your screen, and Clips transcribes it, suggests a title and summary, builds chapter markers, and tags the content automatically. Ask "find the clip where we discussed the rollout plan" and the agent searches across every transcript you've ever made.
|
|
9
9
|
|
|
10
|
-
Think
|
|
10
|
+
Think along the lines of products that record short async videos for your team — but the agent is a first-class editor, and the recordings are yours, not a SaaS vendor's.
|
|
11
11
|
|
|
12
|
-
## What
|
|
12
|
+
## What you can do with it
|
|
13
13
|
|
|
14
|
-
- **Record your screen
|
|
15
|
-
- **
|
|
16
|
-
- **
|
|
17
|
-
- **
|
|
18
|
-
- **
|
|
19
|
-
- **
|
|
14
|
+
- **Record your screen** with a built-in recorder, webcam overlay, audio capture, and pause/trim.
|
|
15
|
+
- **Get an auto-generated title, summary, and chapter markers** for every recording — the agent fills them in and keeps them current.
|
|
16
|
+
- **Search across every transcript** with full-text search. "Find the clip where we discussed the rollout plan."
|
|
17
|
+
- **Share clips** with per-clip permissions (public, team, private). Link tracking and threaded comments work too.
|
|
18
|
+
- **Smart library views.** Group by project, filter by speaker, auto-tag based on content.
|
|
19
|
+
- **Edit the transcript through chat.** "Fix the mis-transcribed word at 1:42." "Pull three quotes for a blog post." The agent edits the transcript and the UI updates live.
|
|
20
20
|
|
|
21
|
-
## Why it's interesting
|
|
21
|
+
## Why it's interesting
|
|
22
22
|
|
|
23
|
-
Three things make
|
|
23
|
+
Three things make Clips a good showcase of what agent-native enables:
|
|
24
24
|
|
|
25
25
|
1. **The agent edits the transcript.** Fix a mis-transcribed word, generate chapter timestamps, pull quotes for a blog post — all in natural language, in the chat, with the UI updating live via polling.
|
|
26
26
|
2. **Context awareness on recordings.** When you're viewing a clip, the agent knows the clip id, the current playhead, and the selected transcript range. Ask "summarize from here to the end" and it understands what "here" means.
|
|
27
|
-
3. **Clips you own, not a vendor.**
|
|
27
|
+
3. **Clips you own, not a vendor.** The recordings live in your storage, the transcripts live in your SQL, and the agent is yours. Fork the template, change how chapters get built, wire it to your own CDN — it's your code.
|
|
28
28
|
|
|
29
|
-
##
|
|
29
|
+
## For developers
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
The rest of this doc is for anyone forking the Clips template or extending it.
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
### Naming note
|
|
34
|
+
|
|
35
|
+
In the template, always say **"Clip"** in user-facing strings and agent messages. Internal table / variable names (`recordings`, `recording_transcripts`, etc.) stay as-is.
|
|
36
|
+
|
|
37
|
+
### Scaffolding
|
|
34
38
|
|
|
35
39
|
```bash
|
|
36
40
|
pnpm dlx @agent-native/core create my-clips --template clips --standalone
|
|
@@ -38,7 +42,7 @@ pnpm dlx @agent-native/core create my-clips --template clips --standalone
|
|
|
38
42
|
|
|
39
43
|
Clips is a larger template with a native recorder (it ships a desktop companion for local capture). See the template `README.md` for setup specifics around screen-capture permissions and storage configuration.
|
|
40
44
|
|
|
41
|
-
|
|
45
|
+
### Customize it
|
|
42
46
|
|
|
43
47
|
Ask the agent:
|
|
44
48
|
|
|
@@ -1,19 +1,43 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Content
|
|
3
|
-
description: "A Notion-style document editor with an AI agent that can read, write,
|
|
2
|
+
title: "Content"
|
|
3
|
+
description: "A Notion-style document editor with an AI agent that can read, write, reorganize, and publish your pages — all in plain English."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Content
|
|
6
|
+
# Content
|
|
7
7
|
|
|
8
|
-
A
|
|
8
|
+
A Notion-style document workspace where the agent can read, write, reorganize, and publish pages for you. Open a doc, ask "rewrite this paragraph to be more concise" or "create a page called Q4 Planning with sub-pages for Goals, Metrics, and Risks" — same result whether you do it yourself or ask.
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
When you open the app, you'll see a sidebar tree of pages on the left, the editor in the middle, and the agent in the sidebar on the right. The agent always knows which page you're viewing and what text you have selected.
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
## What you can do with it
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
- **Write rich text** with headings, lists, tables, code blocks, images, and links. Slash commands (`/`) insert blocks; selecting text pops up a formatting toolbar.
|
|
15
|
+
- **Organize pages in a tree** — nest infinitely, drag to reorder, favorite pages you use often.
|
|
16
|
+
- **Search across everything** with full-text search across titles and content.
|
|
17
|
+
- **Sync with Notion.** Link a local doc to a Notion page and pull or push content in either direction. Comments sync both ways too.
|
|
18
|
+
- **Collaborate in real time.** Multiple people (and the agent) can edit the same doc at the same time.
|
|
19
|
+
- **Share docs** with teammates or make them public — private by default, with viewer / editor / admin roles.
|
|
20
|
+
- **Ask the agent for anything**: "Rewrite this paragraph." "Add a TL;DR at the top." "Find all my meeting notes from last week." "Make this tone more formal."
|
|
15
21
|
|
|
16
|
-
##
|
|
22
|
+
## Getting started
|
|
23
|
+
|
|
24
|
+
Live demo: [content.agent-native.com](https://content.agent-native.com).
|
|
25
|
+
|
|
26
|
+
When you open the app, click **+ New page** in the sidebar, give it a title, and start writing. To use the agent, type in the sidebar:
|
|
27
|
+
|
|
28
|
+
- "Create a page called Onboarding and add three sub-pages under it."
|
|
29
|
+
- "Rewrite this paragraph to be more concise." (with a page open)
|
|
30
|
+
- "Add a section about pricing with three bullet points."
|
|
31
|
+
- "Summarize this doc into a TL;DR at the top."
|
|
32
|
+
- "Pull the latest from Notion." (after linking a Notion page)
|
|
33
|
+
|
|
34
|
+
Select text and hit Cmd+I to focus the agent with that selection pre-loaded — "make this punchier" then operates on exactly what you highlighted.
|
|
35
|
+
|
|
36
|
+
## For developers
|
|
37
|
+
|
|
38
|
+
The rest of this doc is for anyone forking the Content template or extending it.
|
|
39
|
+
|
|
40
|
+
### Quick start
|
|
17
41
|
|
|
18
42
|
Scaffold a new workspace with the Content template:
|
|
19
43
|
|
|
@@ -26,9 +50,7 @@ pnpm dev
|
|
|
26
50
|
|
|
27
51
|
Open `http://localhost:8080` and create your first page. The agent panel is on the right — try asking it to "create a page called Onboarding and add three sub-pages under it".
|
|
28
52
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
## Key features {#key-features}
|
|
53
|
+
### Key features (technical) {#key-features}
|
|
32
54
|
|
|
33
55
|
### Hierarchical pages
|
|
34
56
|
|
|
@@ -92,27 +114,15 @@ See the `sharing` skill.
|
|
|
92
114
|
|
|
93
115
|
A dedicated team page at `/team` (see `app/routes/_app.team.tsx`) uses the framework's `TeamPage` component for creating orgs and managing members.
|
|
94
116
|
|
|
95
|
-
|
|
117
|
+
### Working with the agent
|
|
96
118
|
|
|
97
119
|
Because the agent sees your current screen, most prompts don't need you to reference a document explicitly. When you have a page open, "this" means that page.
|
|
98
120
|
|
|
99
|
-
Example prompts:
|
|
100
|
-
|
|
101
|
-
- "Rewrite this paragraph to be more concise."
|
|
102
|
-
- "Add a section about pricing with three bullet points."
|
|
103
|
-
- "Create a page called Q4 Planning with sub-pages for Goals, Metrics, and Risks."
|
|
104
|
-
- "Summarize this doc into a TL;DR at the top."
|
|
105
|
-
- "Find all my meeting notes from last week."
|
|
106
|
-
- "Change the tone of this page to be more formal."
|
|
107
|
-
- "Pull the latest from Notion."
|
|
108
|
-
- "Share this doc with hbikna@gmail.com as an editor."
|
|
109
|
-
- "Move this page under Onboarding."
|
|
110
|
-
|
|
111
121
|
For small edits, the agent uses `edit-document --find ... --replace ...` so only the changed text flows through Yjs — you'll see the diff applied in place rather than the whole page re-render. For bigger rewrites it uses `update-document --content ...`.
|
|
112
122
|
|
|
113
123
|
If you select text and press Cmd+I (or focus the agent panel), the selection travels with your next message as context, so "make this punchier" operates on exactly what you highlighted.
|
|
114
124
|
|
|
115
|
-
|
|
125
|
+
### Data model
|
|
116
126
|
|
|
117
127
|
Four core tables, all defined in `server/db/schema.ts`:
|
|
118
128
|
|
|
@@ -126,7 +136,7 @@ Content is stored as markdown. The editor converts to and from the Tiptap JSON m
|
|
|
126
136
|
|
|
127
137
|
All ownable tables include `owner_email` and `org_id` via `ownableColumns()`, so a local-mode workspace (`local@localhost`) can be upgraded to a real account without losing history.
|
|
128
138
|
|
|
129
|
-
|
|
139
|
+
### Customizing it
|
|
130
140
|
|
|
131
141
|
The four places to look when changing behavior:
|
|
132
142
|
|
|
@@ -11,7 +11,7 @@ If you're running an [multi-app workspace](/docs/multi-app-workspace) with many
|
|
|
11
11
|
|
|
12
12
|
## What it does {#what-it-does}
|
|
13
13
|
|
|
14
|
-
- **Central inbox.** Slack DMs, Telegram messages, email notifications, A2A requests from other agents — all land in one place. The Dispatch agent triages and either handles them itself or delegates.
|
|
14
|
+
- **Central inbox.** Slack DMs, Telegram messages, email notifications, A2A requests from other agents — all land in one place. The Dispatch agent triages and either handles them itself or delegates. See [Messaging](/docs/messaging) for how to wire Slack, email, and Telegram into your workspace.
|
|
15
15
|
- **Orchestrator, not specialist.** Dispatch does _not_ try to be the email app or the analytics app. When someone asks "summarize last week's signups," Dispatch calls the analytics agent over A2A and returns the answer. When someone asks "draft a reply to Alice," Dispatch calls the mail agent.
|
|
16
16
|
- **Secrets vault.** A central store for API keys, OAuth tokens, and shared credentials. Apps in the workspace resolve secrets from Dispatch instead of duplicating them in every `.env`. Requests + approvals for sensitive access.
|
|
17
17
|
- **Integrations catalog.** One page showing every third-party integration — Slack, Telegram, SendGrid, Apollo, etc. — with a "configured / not configured / pending approval" status per app.
|
|
@@ -52,6 +52,7 @@ Dispatch is a full cloneable SaaS like any other template — see [Cloneable Saa
|
|
|
52
52
|
|
|
53
53
|
## What's next
|
|
54
54
|
|
|
55
|
+
- [**Messaging**](/docs/messaging) — connecting Slack, email, and Telegram so you can talk to your agent from anywhere
|
|
55
56
|
- [**Multi-App Workspace**](/docs/multi-app-workspace) — running Dispatch alongside multiple apps
|
|
56
57
|
- [**A2A Protocol**](/docs/a2a-protocol) — how Dispatch delegates to specialist agents
|
|
57
58
|
- [**MCP Clients — Hub Mode**](/docs/mcp-clients#hub) — sharing MCP servers across the workspace
|
|
@@ -5,24 +5,26 @@ description: "Agent-native form builder — create, edit, and analyze forms thro
|
|
|
5
5
|
|
|
6
6
|
# Forms
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
A form builder where the form builder _is_ the agent. Drag fields around in the editor, or just say "add a 'how did you hear about us' dropdown with five options and make it required" — same result, same underlying data. Think Typeform, but you can build, edit, and analyze forms by talking to the agent.
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
When you open the app, you'll see a list of your forms on the left and the editor in the middle. Open a form and you can click any field to fine-tune it, or ask the agent to make changes for you.
|
|
11
11
|
|
|
12
|
-
## What
|
|
12
|
+
## What you can do with it
|
|
13
13
|
|
|
14
|
-
- **Build forms conversationally.** "Create a contact form," "add
|
|
14
|
+
- **Build forms conversationally.** "Create a contact form," "add an NPS score question," "make the email field required." The agent updates the schema and the preview updates live.
|
|
15
15
|
- **Click-to-edit fine-tuning.** Every field in the preview is editable in place — label, placeholder, validation, conditional logic — with the usual GUI controls.
|
|
16
|
-
- **Field types
|
|
17
|
-
- **Responses dashboard.** Per-response view
|
|
16
|
+
- **Field types out of the box:** short text, long text, email, phone, URL, number, date, single-select, multi-select, rating, file upload, section header, conditional branch.
|
|
17
|
+
- **Responses dashboard.** Per-response view plus an aggregate dashboard the agent can pivot on request: "show me signups from the last 30 days grouped by source."
|
|
18
18
|
- **Agent-driven analysis.** Ask the agent to cluster free-text responses, extract sentiments, or draft a reply to everyone who scored the NPS below 7.
|
|
19
|
-
- **
|
|
19
|
+
- **Publish anywhere.** Public share link, embed snippet, branded thank-you page, webhook on submit.
|
|
20
20
|
|
|
21
|
-
## Why it's interesting
|
|
21
|
+
## Why it's interesting
|
|
22
22
|
|
|
23
|
-
Forms is a clear example of the [ladder](/docs/what-is-agent-native#the-ladder) rung
|
|
23
|
+
Forms is a clear example of the [ladder](/docs/what-is-agent-native#the-ladder) rung-3 payoff. The hard part of a form builder isn't the editor UI — it's everything around it: schema evolution, response analytics, conditional logic, publishing, notifications, integrations. Most of that is just prompting the agent, because every capability is an action the agent can call.
|
|
24
24
|
|
|
25
|
-
##
|
|
25
|
+
## For developers
|
|
26
|
+
|
|
27
|
+
### Scaffolding
|
|
26
28
|
|
|
27
29
|
```bash
|
|
28
30
|
pnpm dlx @agent-native/core create my-forms --template forms --standalone
|
|
@@ -34,7 +36,7 @@ For a workspace with forms alongside other apps:
|
|
|
34
36
|
pnpm dlx @agent-native/core create my-platform # pick Forms + other templates
|
|
35
37
|
```
|
|
36
38
|
|
|
37
|
-
|
|
39
|
+
### Customize it
|
|
38
40
|
|
|
39
41
|
Ask the agent:
|
|
40
42
|
|
|
@@ -1,25 +1,51 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Slides
|
|
3
|
-
description: "
|
|
2
|
+
title: "Slides"
|
|
3
|
+
description: "Generate decks from a prompt, edit visually, and present full-screen. An open-source replacement for Google Slides, Pitch, and PowerPoint."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Slides
|
|
6
|
+
# Slides
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Generate full presentation decks from a prompt, edit slides visually, and present full-screen. Ask the agent for "a 10-slide pitch deck for a coffee subscription service" and watch it stream slide-by-slide into the editor in seconds. An open-source replacement for Google Slides, Pitch, and PowerPoint.
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
When you open the app, you'll see your deck list. Click into a deck and you get a slide editor in the middle, a sidebar of slides on the left, and the agent on the right.
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
## What you can do with it
|
|
13
13
|
|
|
14
|
-
- Generate
|
|
15
|
-
- Edit slides visually
|
|
16
|
-
- Generate images with
|
|
17
|
-
-
|
|
18
|
-
-
|
|
14
|
+
- **Generate decks from a prompt.** "Generate a 10-slide pitch deck for a coffee subscription service, audience is investors."
|
|
15
|
+
- **Edit slides visually** — double-click text to edit, click a block for the bubble menu, use `/` for the slash menu to insert blocks.
|
|
16
|
+
- **Generate images with AI.** Hero images, product mockups, illustrations — generated with Gemini, multiple variations per request.
|
|
17
|
+
- **Search stock photos and company logos.** "Find the logo for stripe.com and add it to slide 2."
|
|
18
|
+
- **Present full-screen** with keyboard navigation, auto-hiding controls, and speaker notes.
|
|
19
|
+
- **Comment, collaborate, and share.** Multiple people can edit the same deck in real time. Generate a public read-only URL or share with specific teammates.
|
|
20
|
+
- **Import from PDF.** Turn a PDF into a starter deck — the agent parses it and lays out the content.
|
|
19
21
|
|
|
20
|
-
|
|
22
|
+
## Getting started
|
|
21
23
|
|
|
22
|
-
|
|
24
|
+
Live demo: [slides.agent-native.com](https://slides.agent-native.com).
|
|
25
|
+
|
|
26
|
+
When you open the app:
|
|
27
|
+
|
|
28
|
+
1. Click **New deck**.
|
|
29
|
+
2. In the agent sidebar, ask: "Generate a 10-slide pitch deck for a coffee subscription service, audience is investors."
|
|
30
|
+
3. Watch slides stream in. Click any slide to edit, or keep asking the agent to refine.
|
|
31
|
+
|
|
32
|
+
### Useful prompts
|
|
33
|
+
|
|
34
|
+
- "Generate a 10-slide pitch deck for a coffee subscription service, audience is investors."
|
|
35
|
+
- "Add a pricing slide after slide 3."
|
|
36
|
+
- "Make the title on this slide bigger and change the accent color to green."
|
|
37
|
+
- "Generate a hero image for the current slide — dark, minimal, cinematic."
|
|
38
|
+
- "Find the logo for stripe.com and add it to slide 2."
|
|
39
|
+
- "Replace the word 'customers' with 'members' everywhere in this deck."
|
|
40
|
+
- "Summarize this PDF as a 6-slide deck." (attach the PDF)
|
|
41
|
+
|
|
42
|
+
Select text on a slide and hit Cmd+I to focus the agent with that selection — it'll act only on what you selected.
|
|
43
|
+
|
|
44
|
+
## For developers
|
|
45
|
+
|
|
46
|
+
The rest of this doc is for anyone forking the Slides template or extending it.
|
|
47
|
+
|
|
48
|
+
### Quick start
|
|
23
49
|
|
|
24
50
|
Create a new Slides app from the CLI:
|
|
25
51
|
|
|
@@ -29,11 +55,7 @@ cd my-slides
|
|
|
29
55
|
pnpm dev
|
|
30
56
|
```
|
|
31
57
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
Once running, open the app, click "New deck", and ask the agent in the sidebar: "Generate a 10-slide pitch deck for a coffee subscription service."
|
|
35
|
-
|
|
36
|
-
## Key features {#key-features}
|
|
58
|
+
### Key features (technical) {#key-features}
|
|
37
59
|
|
|
38
60
|
### Prompt-to-deck generation
|
|
39
61
|
|
|
@@ -91,20 +113,10 @@ Cmd+Z and Cmd+Shift+Z work across the whole deck, with a labeled history panel (
|
|
|
91
113
|
|
|
92
114
|
Turn a PDF into a starter deck. The `extract-pdf` action parses the file and hands the content to the agent for layout.
|
|
93
115
|
|
|
94
|
-
|
|
116
|
+
### Working with the agent
|
|
95
117
|
|
|
96
118
|
The agent chat lives in the sidebar. It can create decks, edit individual slides, generate images, search logos, and navigate the UI — all using the same actions you'd run from the CLI.
|
|
97
119
|
|
|
98
|
-
### Example prompts
|
|
99
|
-
|
|
100
|
-
- "Generate a 10-slide pitch deck for a coffee subscription service, audience is investors."
|
|
101
|
-
- "Add a pricing slide after slide 3."
|
|
102
|
-
- "Make the title on this slide bigger and change the accent color to green."
|
|
103
|
-
- "Generate a hero image for the current slide — dark, minimal, cinematic."
|
|
104
|
-
- "Find the logo for stripe.com and add it to slide 2."
|
|
105
|
-
- "Replace the word 'customers' with 'members' everywhere in this deck."
|
|
106
|
-
- "Summarize this PDF as a 6-slide deck." (attach the PDF)
|
|
107
|
-
|
|
108
120
|
### What the agent sees
|
|
109
121
|
|
|
110
122
|
When a deck is open, the agent automatically sees:
|
|
@@ -123,7 +135,7 @@ Select text on a slide and hit Cmd+I to focus the agent with that selection pre-
|
|
|
123
135
|
|
|
124
136
|
The agent can embed a live slide preview directly in a chat reply using the framework's embed fence. It renders a chromeless iframe via `app/routes/slide.tsx` so you can see the result without leaving the conversation.
|
|
125
137
|
|
|
126
|
-
|
|
138
|
+
### Data model
|
|
127
139
|
|
|
128
140
|
All deck data lives in SQL via Drizzle ORM. Schema: `templates/slides/server/db/schema.ts`.
|
|
129
141
|
|
|
@@ -169,7 +181,7 @@ Each slide inside `decks.data` is:
|
|
|
169
181
|
|
|
170
182
|
`content` is raw HTML — the renderer (`app/components/deck/SlideRenderer.tsx`) provides the black background and fixed aspect ratio, and the HTML provides everything inside. Rich embedding is supported too: Excalidraw diagrams via `ExcalidrawSlide.tsx` and Mermaid charts via `MermaidRenderer.tsx`.
|
|
171
183
|
|
|
172
|
-
|
|
184
|
+
### Customizing it
|
|
173
185
|
|
|
174
186
|
The Slides template is fully forkable. Key places to look when extending it:
|
|
175
187
|
|
|
@@ -1,19 +1,58 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Video
|
|
3
|
-
description: "A
|
|
2
|
+
title: "Video"
|
|
3
|
+
description: "A programmatic video studio for motion graphics, product demos, and kinetic text. Generate animations from a prompt and tune them on a timeline."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Video
|
|
6
|
+
# Video
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
A programmatic video studio for the kind of motion graphics, product demos, and kinetic-text videos that are a pain to keyframe by hand. Ask the agent for "a 6-second logo reveal that fades in at 2 seconds" and it builds the animation. Tune timing, easing, and camera moves on a timeline, then render to MP4 or WebM.
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
When you open the studio, you'll see a list of compositions on the home screen. Click into one and you get a player on top, a timeline at the bottom, and a properties panel on the right. The agent always knows which composition you have open.
|
|
11
|
+
|
|
12
|
+
## What you can do with it
|
|
13
|
+
|
|
14
|
+
- **Generate animations from a prompt.** "Add a title card that fades in at 2 seconds and holds until 5." The agent edits the composition.
|
|
15
|
+
- **Tune timing on a timeline.** Drag and resize animation tracks, scrub through frames, set easing curves visually.
|
|
16
|
+
- **Animate the camera.** Pan, zoom, and tilt with on-screen tools. Click the tool, drag in the preview, and a keyframe is auto-created.
|
|
17
|
+
- **Built-in compositions to start from.** Twelve examples ship: kinetic text, logo reveals, particle bursts, interactive UI demos, slideshows.
|
|
18
|
+
- **Edit easing curves visually.** 30+ curves shipped — power, back, bounce, circ, elastic, expo, sine, plus spring physics.
|
|
19
|
+
- **Render to MP4 or WebM** at 1x, 2x, or 3x supersampling for crisp text and vectors during camera zoom.
|
|
20
|
+
|
|
21
|
+
This is more of a developer-flavored tool than other templates — compositions are React components, so power users (or the agent) can write whole new animation types from scratch. But everyday tweaks ("make the typing slower," "drop the particle count to 12") are just chat.
|
|
22
|
+
|
|
23
|
+
## Getting started
|
|
24
|
+
|
|
25
|
+
Live demo: [videos.agent-native.com](https://videos.agent-native.com).
|
|
26
|
+
|
|
27
|
+
When you open the studio:
|
|
28
|
+
|
|
29
|
+
1. Pick a composition from the home screen.
|
|
30
|
+
2. Try the agent: "add a logo reveal that fades in at 2 seconds." Watch the timeline update.
|
|
31
|
+
3. Drag tracks to retime, click the camera tool, scrub the player.
|
|
32
|
+
|
|
33
|
+
### Useful prompts
|
|
34
|
+
|
|
35
|
+
- "Add a title card that fades in at 2 seconds and holds until 5."
|
|
36
|
+
- "Change the camera to zoom 2x on the logo between frames 60 and 90."
|
|
37
|
+
- "Make the typing reveal slower — 40% longer."
|
|
38
|
+
- "The particle burst is too dense. Drop the count to 12."
|
|
39
|
+
- "Create a new composition called intro-loop, 1080x1080, 6 seconds."
|
|
40
|
+
- "Add a click animation on the button zone and animate the cursor to it."
|
|
41
|
+
- "Give this track a spring easing instead of ease-out."
|
|
42
|
+
|
|
43
|
+
If you select a track in the timeline and hit Cmd+I, the agent picks up that selection — "make this one snappier" just works.
|
|
44
|
+
|
|
45
|
+
## For developers
|
|
46
|
+
|
|
47
|
+
The rest of this doc is for anyone forking the Video template or extending it. This template is more code-forward than the others — every composition is a React component and every animation is data on a track.
|
|
48
|
+
|
|
49
|
+
### Architecture
|
|
11
50
|
|
|
12
51
|
Everything you see in the studio is code. A composition is a `CompositionEntry` in `app/remotion/registry.ts` that points at a React component in `app/remotion/compositions/`. Every animation in that component reads from an `AnimationTrack` so users can drag, resize, and retime it in the timeline UI. The agent can create new compositions, add tracks, tune easing, and write whole React components that plug into the registry.
|
|
13
52
|
|
|
14
53
|
The studio runs on Remotion's `<Player>` for preview and the Remotion CLI for final render. Output defaults to 1920x1080 at 30fps.
|
|
15
54
|
|
|
16
|
-
|
|
55
|
+
### Quick start
|
|
17
56
|
|
|
18
57
|
Create a workspace with the Video app scaffolded:
|
|
19
58
|
|
|
@@ -33,7 +72,7 @@ Open the studio in your browser and pick a composition from the home screen. Ask
|
|
|
33
72
|
|
|
34
73
|
Live demo: [videos.agent-native.com](https://videos.agent-native.com).
|
|
35
74
|
|
|
36
|
-
|
|
75
|
+
### Key features (technical)
|
|
37
76
|
|
|
38
77
|
### React-based compositions
|
|
39
78
|
|
|
@@ -81,25 +120,13 @@ Composition size, fps, and render quality are per-composition in the Properties
|
|
|
81
120
|
|
|
82
121
|
User edits (track values, parameter values, prop overrides, composition settings) persist to localStorage per composition. The **Save** button in the top-right of the composition view writes the current state back to `app/remotion/registry.ts` as TypeScript — so new users and sessions pick up the changes.
|
|
83
122
|
|
|
84
|
-
|
|
123
|
+
### Working with the agent
|
|
85
124
|
|
|
86
125
|
The agent always knows which composition you have open. Navigation state (`{ view, compositionId }`) is written to the framework's `application_state` table, and the `view-screen` action returns it plus a hint pointing at `app/remotion/registry.ts`. You don't have to tell the agent which composition you're on — ask it to act on "this one" and it will.
|
|
87
126
|
|
|
88
|
-
Example prompts:
|
|
89
|
-
|
|
90
|
-
- "Add a title card that fades in at 2 seconds and holds until 5."
|
|
91
|
-
- "Change the camera to zoom 2x on the logo between frames 60 and 90."
|
|
92
|
-
- "Make the typing reveal slower — 40% longer."
|
|
93
|
-
- "The particle burst is too dense. Drop the count to 12."
|
|
94
|
-
- "Create a new composition called intro-loop, 1080x1080, 6 seconds."
|
|
95
|
-
- "Add a click animation on the button zone and animate the cursor to it."
|
|
96
|
-
- "Give this track a spring easing instead of ease-out."
|
|
97
|
-
|
|
98
127
|
Under the hood the agent calls actions like `navigate`, `create-composition`, `generate-animated-component`, and edits `app/remotion/registry.ts` and `app/remotion/compositions/*.tsx` directly. Every change shows up in the timeline.
|
|
99
128
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
## Data model {#data-model}
|
|
129
|
+
### Data model
|
|
103
130
|
|
|
104
131
|
Server-side schema is in `templates/videos/server/db/schema.ts`:
|
|
105
132
|
|
|
@@ -116,7 +143,7 @@ Core TypeScript shapes (`app/types.ts`):
|
|
|
116
143
|
|
|
117
144
|
Compositions are private by default. Visibility can be `private`, `org`, or `public`, and share grants give `viewer`, `editor`, or `admin` roles — wired through the framework's sharing primitive.
|
|
118
145
|
|
|
119
|
-
|
|
146
|
+
### Customizing it
|
|
120
147
|
|
|
121
148
|
The template folder is `templates/videos/` (the user-facing slug is `video`, but the folder is plural).
|
|
122
149
|
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Tools"
|
|
3
|
+
description: "Lightweight interactive apps — dashboards, widgets, calculators, monitors — that the agent creates for you instantly, without changing your app's code."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Tools
|
|
7
|
+
|
|
8
|
+
Tools are lightweight interactive apps that live inside your agent-native app. Think dashboards, widgets, calculators, API monitors, data lookups — anything you'd otherwise build by hand.
|
|
9
|
+
|
|
10
|
+
The key difference from the rest of your app: **tools don't require code changes.** The agent creates and updates them at runtime, they're stored in the database, and they're ready to use immediately. No deploys, no builds, no pull requests.
|
|
11
|
+
|
|
12
|
+
## Tools vs. editing the app {#tools-vs-code}
|
|
13
|
+
|
|
14
|
+
Your agent-native app has a full codebase — React components, routes, actions, styles. When the agent edits that code, it's changing the app itself. That's powerful, but it requires a build step and a deploy.
|
|
15
|
+
|
|
16
|
+
Tools are different:
|
|
17
|
+
|
|
18
|
+
| | App code | Tools |
|
|
19
|
+
| --------------------- | --------------------------------------- | -------------------------------------------------- |
|
|
20
|
+
| **Created by** | Developer or agent editing source files | Agent or user, instantly from chat |
|
|
21
|
+
| **Stored in** | Git repository | Database |
|
|
22
|
+
| **Requires a build** | Yes | No |
|
|
23
|
+
| **Requires a deploy** | Yes | No |
|
|
24
|
+
| **Scope** | Part of the app for all users | Private by default, shareable |
|
|
25
|
+
| **Best for** | Core app features | Personal dashboards, utilities, quick integrations |
|
|
26
|
+
|
|
27
|
+
Use app code for features that are core to the product. Use tools for everything else — one-off utilities, personal dashboards, quick integrations, monitors, and things you want to spin up in seconds.
|
|
28
|
+
|
|
29
|
+
## Creating a tool {#creating}
|
|
30
|
+
|
|
31
|
+
### From the sidebar
|
|
32
|
+
|
|
33
|
+
Click the **+** button in the Tools section of the sidebar. Describe what you want in plain language — "a dashboard that shows my open GitHub PRs" — and the agent builds it for you.
|
|
34
|
+
|
|
35
|
+
### From chat
|
|
36
|
+
|
|
37
|
+
Just ask: "Create a tool that monitors our API health" or "Make me a calculator for shipping costs." The agent handles the rest.
|
|
38
|
+
|
|
39
|
+
### Updating a tool
|
|
40
|
+
|
|
41
|
+
Ask the agent: "Update my PR dashboard to also show draft PRs" or "Add a dark mode toggle to the weather widget." The agent makes surgical edits without regenerating the whole thing.
|
|
42
|
+
|
|
43
|
+
## What tools can do {#capabilities}
|
|
44
|
+
|
|
45
|
+
Tools are fully capable despite being lightweight. They can:
|
|
46
|
+
|
|
47
|
+
- **Call external APIs** — GitHub, Stripe, weather services, any REST API. Requests go through a secure server-side proxy that keeps your API keys safe.
|
|
48
|
+
- **Call your app's actions** — anything your agent can do, a tool can trigger.
|
|
49
|
+
- **Query your app's database** — read and write data directly.
|
|
50
|
+
- **Store their own data** — each tool has built-in persistent storage, no setup required. Save notes, preferences, cached results — whatever the tool needs.
|
|
51
|
+
- **Call any endpoint in your app** — hit custom API routes, webhooks, or internal services.
|
|
52
|
+
|
|
53
|
+
All of this works out of the box. No configuration, no new files, no schema changes.
|
|
54
|
+
|
|
55
|
+
## Persistent storage {#persistent-storage}
|
|
56
|
+
|
|
57
|
+
Every tool has access to a built-in key-value store. Data is automatically scoped per tool and per user — your data stays yours.
|
|
58
|
+
|
|
59
|
+
When you ask the agent to "add persistence" or "remember state" in a tool, it uses this built-in storage. No database tables to create, no migrations to run.
|
|
60
|
+
|
|
61
|
+
## API keys and secrets {#secrets}
|
|
62
|
+
|
|
63
|
+
When a tool needs an API key (for GitHub, OpenAI, a weather service, etc.), the agent will tell you what's needed and where to get it. You add the key through the Settings UI in the agent sidebar.
|
|
64
|
+
|
|
65
|
+
Keys are encrypted and stored securely. Each key is restricted to specific domains — a GitHub token can only be sent to `api.github.com`, never anywhere else.
|
|
66
|
+
|
|
67
|
+
## Sharing {#sharing}
|
|
68
|
+
|
|
69
|
+
Tools are **private by default** — only you can see and use a tool you create.
|
|
70
|
+
|
|
71
|
+
You can share tools with your team:
|
|
72
|
+
|
|
73
|
+
- **Org-visible** — everyone in your organization can use it.
|
|
74
|
+
- **Per-user sharing** — grant access to specific people as viewers, editors, or admins.
|
|
75
|
+
|
|
76
|
+
Shared tools have their own URLs, so you can link to them directly.
|
|
77
|
+
|
|
78
|
+
## Security {#security}
|
|
79
|
+
|
|
80
|
+
Tools run in a secure sandbox:
|
|
81
|
+
|
|
82
|
+
- **Isolated** — tools can't access your app's cookies, session, or page content.
|
|
83
|
+
- **API keys stay server-side** — secrets are injected by the server, never exposed to the browser.
|
|
84
|
+
- **Domain-restricted secrets** — each API key can only be sent to its approved domains.
|
|
85
|
+
- **Private network protection** — tools can't reach internal/private network addresses.
|
|
86
|
+
- **Authentication required** — only logged-in users can use tools.
|
|
87
|
+
|
|
88
|
+
## Examples {#examples}
|
|
89
|
+
|
|
90
|
+
Here are some things people build as tools:
|
|
91
|
+
|
|
92
|
+
- **GitHub PR dashboard** — see open PRs, review status, and CI checks at a glance
|
|
93
|
+
- **API health monitor** — check if your services are up with a single click
|
|
94
|
+
- **Weather widget** — quick weather lookup for any city
|
|
95
|
+
- **Stripe payment lookup** — search recent payments and refunds
|
|
96
|
+
- **Database explorer** — browse and query your app's data
|
|
97
|
+
- **Shipping cost calculator** — compute rates based on weight and destination
|
|
98
|
+
- **Meeting notes summarizer** — paste notes, get action items
|
|
99
|
+
- **Social media scheduler** — draft and schedule posts across platforms
|
|
100
|
+
|
|
101
|
+
To create any of these, just describe what you want in the agent chat.
|
|
102
|
+
|
|
103
|
+
## What's next
|
|
104
|
+
|
|
105
|
+
- [**Actions**](/docs/actions) — the operations that tools (and the agent) can call
|
|
106
|
+
- [**Workspace**](/docs/workspace) — the broader workspace system tools live alongside
|
|
107
|
+
- [**Security**](/docs/security) — the framework's data scoping and access control
|