@agent-native/core 0.94.0 → 0.94.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/corpus/README.md +2 -2
  2. package/corpus/core/CHANGELOG.md +12 -0
  3. package/corpus/core/docs/content/cloneable-saas.mdx +15 -15
  4. package/corpus/core/docs/content/creating-templates.mdx +1 -1
  5. package/corpus/core/docs/content/extensions.mdx +1 -1
  6. package/corpus/core/docs/content/local-file-mode.mdx +6 -6
  7. package/corpus/core/docs/content/locales/ar-SA/voice-input.mdx +2 -2
  8. package/corpus/core/docs/content/locales/de-DE/voice-input.mdx +2 -2
  9. package/corpus/core/docs/content/locales/es-ES/voice-input.mdx +2 -2
  10. package/corpus/core/docs/content/locales/fr-FR/voice-input.mdx +2 -2
  11. package/corpus/core/docs/content/locales/hi-IN/voice-input.mdx +2 -2
  12. package/corpus/core/docs/content/locales/ja-JP/voice-input.mdx +2 -2
  13. package/corpus/core/docs/content/locales/ko-KR/voice-input.mdx +2 -2
  14. package/corpus/core/docs/content/locales/pt-BR/voice-input.mdx +2 -2
  15. package/corpus/core/docs/content/locales/zh-CN/voice-input.mdx +2 -2
  16. package/corpus/core/docs/content/locales/zh-TW/voice-input.mdx +2 -2
  17. package/corpus/core/docs/content/sharing.mdx +4 -4
  18. package/corpus/core/docs/content/template-analytics.mdx +2 -2
  19. package/corpus/core/docs/content/template-calendar.mdx +4 -4
  20. package/corpus/core/docs/content/template-clips.mdx +2 -2
  21. package/corpus/core/docs/content/template-content.mdx +12 -11
  22. package/corpus/core/docs/content/template-mail.mdx +1 -1
  23. package/corpus/core/docs/content/template-slides.mdx +2 -2
  24. package/corpus/core/docs/content/voice-input.mdx +2 -2
  25. package/corpus/core/docs/content/workspace.mdx +1 -1
  26. package/corpus/core/package.json +1 -1
  27. package/corpus/core/src/client/AssistantChat.tsx +75 -1
  28. package/corpus/core/src/client/MultiTabAssistantChat.tsx +19 -1
  29. package/corpus/core/src/client/agent-chat.ts +6 -0
  30. package/corpus/core/src/client/composer/RealtimeVoiceMode.tsx +72 -2
  31. package/corpus/core/src/client/composer/realtime-voice-audio-level.ts +64 -0
  32. package/corpus/core/src/client/composer/realtime-voice-transcript.ts +134 -0
  33. package/corpus/core/src/client/composer/useRealtimeVoiceMode.tsx +220 -6
  34. package/corpus/core/src/client/use-chat-threads.ts +33 -9
  35. package/corpus/core/src/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +11 -5
  36. package/corpus/templates/clips/app/components/player/comments-panel.tsx +98 -1
  37. package/corpus/templates/clips/changelog/2026-07-10-comment-urls-open-as-clickable-links.md +6 -0
  38. package/corpus/templates/clips/changelog/2026-07-10-desktop-recording-uploads-now-show-a-brief-uploaded-state-wi.md +6 -0
  39. package/corpus/templates/clips/changelog/2026-07-10-desktop-recordings-now-retry-saving-their-locally-captured-t.md +6 -0
  40. package/corpus/templates/clips/changelog/2026-07-10-desktop-update-prompts-are-more-compact-and-easier-to-dismiss.md +6 -0
  41. package/corpus/templates/clips/changelog/2026-07-10-quiet-recordings-now-finish-saving-instead-of-getting-stuck.md +6 -0
  42. package/corpus/templates/clips/desktop/src/components/UpdateBanner.tsx +7 -4
  43. package/corpus/templates/clips/desktop/src/lib/recorder.ts +284 -85
  44. package/corpus/templates/clips/desktop/src/overlays/finalizing.tsx +148 -40
  45. package/corpus/templates/clips/desktop/src/overlays/meeting-notification.tsx +13 -13
  46. package/corpus/templates/clips/desktop/src/styles.css +83 -13
  47. package/corpus/templates/clips/desktop/src-tauri/src/clips/mod.rs +43 -28
  48. package/corpus/templates/clips/desktop/src-tauri/src/native_screen.rs +130 -65
  49. package/corpus/templates/clips/desktop/src-tauri/src/notifications.rs +10 -4
  50. package/corpus/templates/clips/server/routes/api/uploads/[recordingId]/chunk.post.ts +82 -1
  51. package/corpus/templates/clips/server/routes/api/uploads/[recordingId]/reset-chunks.post.ts +82 -1
  52. package/dist/client/AssistantChat.d.ts +6 -0
  53. package/dist/client/AssistantChat.d.ts.map +1 -1
  54. package/dist/client/AssistantChat.js +57 -1
  55. package/dist/client/AssistantChat.js.map +1 -1
  56. package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
  57. package/dist/client/MultiTabAssistantChat.js +9 -0
  58. package/dist/client/MultiTabAssistantChat.js.map +1 -1
  59. package/dist/client/agent-chat.d.ts +6 -0
  60. package/dist/client/agent-chat.d.ts.map +1 -1
  61. package/dist/client/agent-chat.js.map +1 -1
  62. package/dist/client/composer/RealtimeVoiceMode.d.ts +3 -1
  63. package/dist/client/composer/RealtimeVoiceMode.d.ts.map +1 -1
  64. package/dist/client/composer/RealtimeVoiceMode.js +32 -3
  65. package/dist/client/composer/RealtimeVoiceMode.js.map +1 -1
  66. package/dist/client/composer/realtime-voice-audio-level.d.ts +14 -0
  67. package/dist/client/composer/realtime-voice-audio-level.d.ts.map +1 -0
  68. package/dist/client/composer/realtime-voice-audio-level.js +47 -0
  69. package/dist/client/composer/realtime-voice-audio-level.js.map +1 -0
  70. package/dist/client/composer/realtime-voice-transcript.d.ts +26 -0
  71. package/dist/client/composer/realtime-voice-transcript.d.ts.map +1 -0
  72. package/dist/client/composer/realtime-voice-transcript.js +103 -0
  73. package/dist/client/composer/realtime-voice-transcript.js.map +1 -0
  74. package/dist/client/composer/useRealtimeVoiceMode.d.ts +14 -0
  75. package/dist/client/composer/useRealtimeVoiceMode.d.ts.map +1 -1
  76. package/dist/client/composer/useRealtimeVoiceMode.js +177 -6
  77. package/dist/client/composer/useRealtimeVoiceMode.js.map +1 -1
  78. package/dist/client/use-chat-threads.d.ts.map +1 -1
  79. package/dist/client/use-chat-threads.js +26 -6
  80. package/dist/client/use-chat-threads.js.map +1 -1
  81. package/dist/provider-api/corpus-jobs.d.ts +2 -2
  82. package/dist/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +11 -5
  83. package/docs/content/cloneable-saas.mdx +15 -15
  84. package/docs/content/creating-templates.mdx +1 -1
  85. package/docs/content/extensions.mdx +1 -1
  86. package/docs/content/local-file-mode.mdx +6 -6
  87. package/docs/content/locales/ar-SA/voice-input.mdx +2 -2
  88. package/docs/content/locales/de-DE/voice-input.mdx +2 -2
  89. package/docs/content/locales/es-ES/voice-input.mdx +2 -2
  90. package/docs/content/locales/fr-FR/voice-input.mdx +2 -2
  91. package/docs/content/locales/hi-IN/voice-input.mdx +2 -2
  92. package/docs/content/locales/ja-JP/voice-input.mdx +2 -2
  93. package/docs/content/locales/ko-KR/voice-input.mdx +2 -2
  94. package/docs/content/locales/pt-BR/voice-input.mdx +2 -2
  95. package/docs/content/locales/zh-CN/voice-input.mdx +2 -2
  96. package/docs/content/locales/zh-TW/voice-input.mdx +2 -2
  97. package/docs/content/sharing.mdx +4 -4
  98. package/docs/content/template-analytics.mdx +2 -2
  99. package/docs/content/template-calendar.mdx +4 -4
  100. package/docs/content/template-clips.mdx +2 -2
  101. package/docs/content/template-content.mdx +12 -11
  102. package/docs/content/template-mail.mdx +1 -1
  103. package/docs/content/template-slides.mdx +2 -2
  104. package/docs/content/voice-input.mdx +2 -2
  105. package/docs/content/workspace.mdx +1 -1
  106. package/package.json +1 -1
  107. package/src/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +11 -5
package/corpus/README.md CHANGED
@@ -27,5 +27,5 @@ rg -n "defineAction|useActionQuery" node_modules/@agent-native/core/corpus
27
27
 
28
28
  ## Generated Counts
29
29
 
30
- - core files: 2164
31
- - template files: 5359
30
+ - core files: 2166
31
+ - template files: 5364
@@ -1,5 +1,17 @@
1
1
  # @agent-native/core
2
2
 
3
+ ## 0.94.2
4
+
5
+ ### Patch Changes
6
+
7
+ - 725fc27: Keep completed realtime voice turns in their originating chat, restore that chat safely when voice ends, and expose live audio activity to the voice dock.
8
+
9
+ ## 0.94.1
10
+
11
+ ### Patch Changes
12
+
13
+ - bb1e5c8: Prevent delayed errors from older background runs from reappearing after a newer chat response succeeds.
14
+
3
15
  ## 0.94.0
4
16
 
5
17
  ### Minor Changes
@@ -15,21 +15,21 @@ Building a workflow with no browser UI at all — a Slack bot, a nightly report,
15
15
 
16
16
  Each one is a real app you could use today, and the launching pad for your own version of it.
17
17
 
18
- | App | What it is |
19
- | ----------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
20
- | [**Chat**](/docs/template-chat) | Minimal chat-first app with durable threads, actions, auth, and a clean path to custom UI or your own backend. |
21
- | [**Mail**](/docs/template-mail) | Inbox, labels, AI triage, keyboard-first, drafts and sends through the agent. |
22
- | [**Calendar**](/docs/template-calendar) | Events, sync, public booking links, agent-driven scheduling. |
23
- | [**Content**](/docs/template-content) | Local Markdown/MDX editing with a Tiptap editor, Notion sync, and real-time multi-user collab. |
24
- | [**Brain**](/docs/template-brain) | Clean company chat backed by cited institutional memory, approved sources, review gates, and citations. |
25
- | [**Assets**](/docs/template-assets) | Digital asset manager for brand libraries, uploads, references, and on-brand image/video generation. |
26
- | [**Slides**](/docs/template-slides) | React-based decks the agent generates and edits directly. |
27
- | [**Analytics**](/docs/template-analytics) | Connect data sources, prompt for charts, pin to dashboards. |
28
- | [**Clips**](/docs/template-clips) | Async screen + camera recording with transcription, chapters, and AI summaries. |
29
- | [**Design**](/docs/template-design) | Agent-native HTML prototyping studio for interactive Alpine/Tailwind designs. |
30
- | [**Forms**](/docs/template-forms) | Build, share, collect, and route submissions to Slack, Sheets, webhooks, or Discord. |
31
- | [**Plan**](/docs/template-plan) | Visual plans and PR recaps with diagrams, wireframes, and annotations. |
32
- | [**Dispatch**](/docs/template-dispatch) | The workspace control plane: shared secrets, reusable integrations, Slack/Telegram, scheduled jobs. |
18
+ | App | What it is |
19
+ | ----------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
20
+ | [**Chat**](/docs/template-chat) | Minimal chat-first app with durable threads, actions, auth, and a clean path to custom UI or your own backend. |
21
+ | [**Mail**](/docs/template-mail) | An agent-native Superhuman. Inbox, labels, AI triage, keyboard-first, drafts and sends through the agent. |
22
+ | [**Calendar**](/docs/template-calendar) | An agent-native Google Calendar. Events, sync, public booking links, agent-driven scheduling. |
23
+ | [**Content**](/docs/template-content) | Open-source Obsidian for MDX. Local Markdown/MDX editing with a Tiptap editor, Notion sync, and real-time multi-user collab. |
24
+ | [**Brain**](/docs/template-brain) | Clean company chat backed by cited institutional memory, approved sources, review gates, and citations. |
25
+ | [**Assets**](/docs/template-assets) | Digital asset manager for brand libraries, uploads, references, and on-brand image/video generation. |
26
+ | [**Slides**](/docs/template-slides) | An agent-native Google Slides. React-based decks the agent generates and edits directly. |
27
+ | [**Analytics**](/docs/template-analytics) | An agent-native Amplitude/Mixpanel. Connect data sources, prompt for charts, pin to dashboards. |
28
+ | [**Clips**](/docs/template-clips) | Async screen + camera recording with transcription, chapters, and AI summaries. |
29
+ | [**Design**](/docs/template-design) | Agent-native HTML prototyping studio for interactive Alpine/Tailwind designs. |
30
+ | [**Forms**](/docs/template-forms) | An agent-native Typeform. Build, share, collect, and route submissions to Slack, Sheets, webhooks, or Discord. |
31
+ | [**Plan**](/docs/template-plan) | Visual plans and PR recaps with diagrams, wireframes, and annotations. |
32
+ | [**Dispatch**](/docs/template-dispatch) | The workspace control plane: shared secrets, reusable integrations, Slack/Telegram, scheduled jobs. |
33
33
 
34
34
  Don't want a domain app? Use [Chat](/docs/template-chat) when you want a basic app users can talk to immediately and extend with actions, native results, and screens. Use [Automation-First Apps](/docs/pure-agent-apps) only when the workflow truly does not need a browser UI yet.
35
35
 
@@ -527,5 +527,5 @@ workspace pointed at current build output.
527
527
  settings, history, and review surfaces instead of rebuilding them per app.
528
528
  - [**Multi-App Workspace**](/docs/multi-app-workspace) — make the template fit
529
529
  naturally alongside sibling apps and Dispatch.
530
- - [**Cloneable SaaS**](/docs/cloneable-saas) — turn a template into a
530
+ - [**Templates**](/docs/cloneable-saas) — turn a template into a
531
531
  publishable, monetizable product.
@@ -664,7 +664,7 @@ You also won't see this in normal use, but the agent has a third related concept
664
664
 
665
665
  ## What's next
666
666
 
667
- - [**Apps**](/docs/cloneable-saas) — the host apps extensions extend
667
+ - [**Templates**](/docs/cloneable-saas) — the host apps extensions extend
668
668
  - [**Actions**](/docs/actions) — the operations an extension calls via `appAction`
669
669
  - [**Data Programs**](/docs/data-programs) — the no-UI sibling primitive for cached, refreshable data sources
670
670
  - [**Sharing & Privacy**](/docs/sharing) — how extension visibility, org sharing, and per-user grants work
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "Local File Mode"
3
- description: "Run agent-native apps with local Markdown, MDX, and other repo files as the source of truth - including a repo-native MDX docs workflow with custom components."
3
+ description: "Run agent-native apps with local Markdown, MDX, and other repo files as the source of truth - including Obsidian-style MDX docs with custom components."
4
4
  ---
5
5
 
6
6
  # Local File Mode
@@ -16,16 +16,16 @@ Content editor, and saving writes back to the selected file. The same files can
16
16
  also be edited by Codex, Claude Code, the Agent-Native sidebar agent, or a normal
17
17
  editor.
18
18
 
19
- For Content, this makes the product a repo-native MDX docs tool: your docs
20
- live as files, while the app adds a visual editor, agent actions, shareable
21
- copies, and rich interactive MDX components.
19
+ For Content, this makes the product feel like open-source Obsidian for MDX:
20
+ your docs live as files, while the app adds a visual editor, agent actions,
21
+ shareable copies, and rich interactive MDX components.
22
22
 
23
23
  Use Local File Mode when you want a repo-first workflow:
24
24
 
25
25
  - a docs repo with `docs/*.mdx`
26
26
  - a blog with `blog/*.mdx`
27
27
  - resources such as positioning, messaging, or team notes in `resources/*.md`
28
- - a personal knowledge base with a richer MDX editor
28
+ - a personal Obsidian-style knowledge base with a richer MDX editor
29
29
  - docs that need interactive custom MDX blocks generated from local React code
30
30
  - app artifacts that should be easy for coding agents to inspect and patch
31
31
 
@@ -448,7 +448,7 @@ For v1, local extensions are intentionally conservative:
448
448
  - raw SQL helpers and external `extensionFetch` are disabled
449
449
  - slot targets are declared in `extension.json`, not installed through SQL
450
450
 
451
- This gives local workspaces a lightweight plugin surface without letting an
451
+ This gives local workspaces an Obsidian-like plugin surface without letting an
452
452
  arbitrary repo file inherit every capability of a database-backed extension.
453
453
 
454
454
  ## How Apps Use It
@@ -11,9 +11,9 @@ description: "الإملاء الصوتي في مؤلف دردشة الوكيل
11
11
 
12
12
  ## وضع المحادثة الصوتية الفورية {#realtime-speech-mode}
13
13
 
14
- عند فتح الميكروفون، تتيح نافذة منبثقة الاختيار بين **محادثة صوتية فورية** و**إملاء قابل للتحرير**. يتطلب الوضع الفوري مفتاح `OPENAI_API_KEY` مخصصًا للمستخدم، ويوصل المتصفح بنموذج `gpt-realtime-2.1` عبر WebRTC. تنكمش الدردشة إلى كرة صوتية في الزاوية السفلية اليسرى؛ انقر على الكرة لإظهار الدردشة أو إخفائها من دون إنهاء المحادثة.
14
+ عند فتح الميكروفون، تتيح نافذة منبثقة الاختيار بين **محادثة صوتية فورية** و**إملاء قابل للتحرير**. يتطلب الوضع الفوري مفتاح `OPENAI_API_KEY` مخصصًا للمستخدم، ويوصل المتصفح بنموذج `gpt-realtime-2.1` عبر WebRTC. تنكمش الدردشة إلى كرة صوتية في الزاوية السفلية اليسرى؛ انقر على الكرة لإظهار الدردشة أو إخفائها من دون إنهاء المحادثة. وتبقى الكرة ظاهرة فوق الدردشة حتى إذا فُتحت الدردشة تلقائيًا، ويعرض شكل موجي صغير نشاط صوتك أو صوت المساعد.
15
15
 
16
- يستخدم نموذج المحادثة الصوتية أدوات Agent Native المصادق عليها نفسها التي تستخدمها الدردشة، لذا يمكنه التنقل داخل التطبيق واستدعاء الإجراءات أثناء التحدث. تظل الإجراءات التي تتطلب موافقة معلقة حتى توافق عليها. لا يُخزن الصوت مطلقًا في SQL؛ يحتفظ Agent Native فقط بحالة موجزة للجلسة والنص المنسوخ. لا تتجاوز مدة الجلسة الفورية 60 دقيقة.
16
+ يستخدم نموذج المحادثة الصوتية أدوات Agent Native المصادق عليها نفسها التي تستخدمها الدردشة، لذا يمكنه التنقل داخل التطبيق واستدعاء الإجراءات أثناء التحدث. تظل الإجراءات التي تتطلب موافقة معلقة حتى توافق عليها. تُضاف فقط العبارات النصية المكتملة للمستخدم والمساعد إلى سلسلة الدردشة الأصلية، وعند إنهاء الوضع الصوتي تُفتح الدردشة لتتمكن من المتابعة كتابةً. لا يُخزن الصوت أو أجزاء النص المؤقتة. لا تتجاوز مدة الجلسة الفورية 60 دقيقة.
17
17
 
18
18
  ## كيفية العمل {#how-it-works}
19
19
 
@@ -11,9 +11,9 @@ Das Framework erledigt das alles automatisch. Mit Builder verbundene Benutzer er
11
11
 
12
12
  ## Sprachmodus in Echtzeit {#realtime-speech-mode}
13
13
 
14
- Beim Öffnen des Mikrofons kannst du in einem Popover zwischen **Echtzeitgespräch** und **bearbeitbarem Diktat** wählen. Der Echtzeitmodus benötigt einen benutzerbezogenen `OPENAI_API_KEY` und verbindet den Browser über WebRTC mit `gpt-realtime-2.1`. Der Chat wird zu einer Sprachkugel unten rechts minimiert; mit einem Klick auf die Kugel lässt sich der Chat ein- oder ausblenden, ohne das Gespräch zu beenden.
14
+ Beim Öffnen des Mikrofons kannst du in einem Popover zwischen **Echtzeitgespräch** und **bearbeitbarem Diktat** wählen. Der Echtzeitmodus benötigt einen benutzerbezogenen `OPENAI_API_KEY` und verbindet den Browser über WebRTC mit `gpt-realtime-2.1`. Der Chat wird zu einer Sprachkugel unten rechts minimiert; mit einem Klick auf die Kugel lässt sich der Chat ein- oder ausblenden, ohne das Gespräch zu beenden. Die Kugel bleibt auch dann über dem Chat sichtbar, wenn sich der Chat automatisch öffnet; eine kompakte Wellenform reagiert auf deine Stimme und die Stimme des Assistenten.
15
15
 
16
- Das Sprachmodell verwendet dieselben authentifizierten Agent-Native-Werkzeuge wie der Chat. So kann es während des Gesprächs durch die App navigieren und Aktionen aufrufen. Genehmigungspflichtige Aktionen bleiben angehalten, bis du sie freigibst. Audio wird niemals in SQL gespeichert; Agent Native bewahrt nur einen kompakten Sitzungs- und Transkriptstatus auf. Eine Echtzeitsitzung dauert höchstens 60 Minuten.
16
+ Das Sprachmodell verwendet dieselben authentifizierten Agent-Native-Werkzeuge wie der Chat. So kann es während des Gesprächs durch die App navigieren und Aktionen aufrufen. Genehmigungspflichtige Aktionen bleiben angehalten, bis du sie freigibst. Nur abgeschlossene Textäußerungen von dir und dem Assistenten werden an den ursprünglichen Chat-Thread angehängt. Beim Beenden des Sprachmodus wird der Chat geöffnet, damit du per Text fortfahren kannst; Audio und vorläufige Transkriptteile werden nicht gespeichert. Eine Echtzeitsitzung dauert höchstens 60 Minuten.
17
17
 
18
18
  ## Wie es funktioniert {#how-it-works}
19
19
 
@@ -11,9 +11,9 @@ El marco maneja todo esto automáticamente. Los usuarios conectados a Builder ob
11
11
 
12
12
  ## Modo de voz en tiempo real {#realtime-speech-mode}
13
13
 
14
- Al abrir el micrófono, un menú emergente permite elegir entre **Conversación en tiempo real** y **Dictado editable**. El modo en tiempo real requiere una `OPENAI_API_KEY` de ámbito de usuario y conecta el navegador con `gpt-realtime-2.1` mediante WebRTC. El chat se contrae en un orbe de voz situado abajo a la derecha; al pulsarlo puedes mostrar u ocultar el chat sin finalizar la conversación.
14
+ Al abrir el micrófono, un menú emergente permite elegir entre **Conversación en tiempo real** y **Dictado editable**. El modo en tiempo real requiere una `OPENAI_API_KEY` de ámbito de usuario y conecta el navegador con `gpt-realtime-2.1` mediante WebRTC. El chat se contrae en un orbe de voz situado abajo a la derecha; al pulsarlo puedes mostrar u ocultar el chat sin finalizar la conversación. El orbe permanece visible sobre el chat aunque este se abra automáticamente, y una forma de onda compacta reacciona a tu voz y a la del asistente.
15
15
 
16
- El modelo de voz utiliza las mismas herramientas autenticadas de Agent Native que el chat, por lo que puede navegar por la aplicación y ejecutar acciones mientras habla. Las acciones que requieren aprobación permanecen en pausa hasta que las apruebes. El audio nunca se almacena en SQL; Agent Native conserva únicamente un estado compacto de la sesión y la transcripción. Las sesiones en tiempo real duran como máximo 60 minutos.
16
+ El modelo de voz utiliza las mismas herramientas autenticadas de Agent Native que el chat, por lo que puede navegar por la aplicación y ejecutar acciones mientras habla. Las acciones que requieren aprobación permanecen en pausa hasta que las apruebes. Solo las intervenciones de texto completadas del usuario y del asistente se añaden al hilo de chat original. Al finalizar el modo de voz, el chat se abre para que puedas continuar por texto; no se guardan el audio ni los fragmentos provisionales. Las sesiones en tiempo real duran como máximo 60 minutos.
17
17
 
18
18
  ## Cómo funciona {#how-it-works}
19
19
 
@@ -11,9 +11,9 @@ Le framework gère tout cela automatiquement. Les utilisateurs connectés à Bui
11
11
 
12
12
  ## Mode vocal en temps réel {#realtime-speech-mode}
13
13
 
14
- À l’ouverture du micro, une fenêtre contextuelle permet de choisir entre **Conversation en temps réel** et **Dictée modifiable**. Le mode en temps réel nécessite une `OPENAI_API_KEY` propre à l’utilisateur et connecte le navigateur à `gpt-realtime-2.1` par WebRTC. Le chat se réduit à une bulle vocale en bas à droite ; cliquez dessus pour afficher ou masquer le chat sans mettre fin à la conversation.
14
+ À l’ouverture du micro, une fenêtre contextuelle permet de choisir entre **Conversation en temps réel** et **Dictée modifiable**. Le mode en temps réel nécessite une `OPENAI_API_KEY` propre à l’utilisateur et connecte le navigateur à `gpt-realtime-2.1` par WebRTC. Le chat se réduit à une bulle vocale en bas à droite ; cliquez dessus pour afficher ou masquer le chat sans mettre fin à la conversation. La bulle reste visible au-dessus du chat même si celui-ci s’ouvre automatiquement, et une forme d’onde compacte réagit à votre voix comme à celle de l’assistant.
15
15
 
16
- Le modèle vocal utilise les mêmes outils Agent Native authentifiés que le chat. Il peut donc parcourir l’application et appeler des actions tout en parlant. Les actions soumises à approbation restent en pause jusqu’à votre accord. Laudio nest jamais stocké dans SQL ; Agent Native ne conserve quun état compact de la session et de la transcription. Une session en temps réel dure au maximum 60 minutes.
16
+ Le modèle vocal utilise les mêmes outils Agent Native authentifiés que le chat. Il peut donc parcourir l’application et appeler des actions tout en parlant. Les actions soumises à approbation restent en pause jusqu’à votre accord. Seules les interventions textuelles terminées de lutilisateur et de lassistant sont ajoutées au fil de discussion d’origine. À la fin du mode vocal, le chat souvre pour vous permettre de continuer par écrit ; ni l’audio ni les fragments provisoires ne sont enregistrés. Une session en temps réel dure au maximum 60 minutes.
17
17
 
18
18
  ## Comment ça marche {#how-it-works}
19
19
 
@@ -11,9 +11,9 @@ description: "एजेंट चैट कंपोजर में वॉय
11
11
 
12
12
  ## रीयलटाइम स्पीच मोड {#realtime-speech-mode}
13
13
 
14
- माइक्रोफ़ोन खोलने पर एक पॉपओवर आपको **रीयलटाइम बातचीत** और **संपादन योग्य डिक्टेशन** में से चुनने देता है। रीयलटाइम मोड के लिए उपयोगकर्ता के दायरे वाली `OPENAI_API_KEY` चाहिए और यह WebRTC के ज़रिए ब्राउज़र को `gpt-realtime-2.1` से जोड़ता है। चैट नीचे दाईं ओर एक वॉइस ऑर्ब में सिमट जाती है; बातचीत समाप्त किए बिना चैट दिखाने या छिपाने के लिए ऑर्ब पर क्लिक करें।
14
+ माइक्रोफ़ोन खोलने पर एक पॉपओवर आपको **रीयलटाइम बातचीत** और **संपादन योग्य डिक्टेशन** में से चुनने देता है। रीयलटाइम मोड के लिए उपयोगकर्ता के दायरे वाली `OPENAI_API_KEY` चाहिए और यह WebRTC के ज़रिए ब्राउज़र को `gpt-realtime-2.1` से जोड़ता है। चैट नीचे दाईं ओर एक वॉइस ऑर्ब में सिमट जाती है; बातचीत समाप्त किए बिना चैट दिखाने या छिपाने के लिए ऑर्ब पर क्लिक करें। चैट अपने-आप खुलने पर भी ऑर्ब उसके ऊपर दिखाई देता रहता है, और एक छोटा वेवफ़ॉर्म आपकी तथा सहायक की आवाज़ की गतिविधि दिखाता है।
15
15
 
16
- स्पीच मॉडल चैट वाले उन्हीं प्रमाणीकृत Agent Native टूल का उपयोग करता है, इसलिए वह बोलते समय ऐप में नेविगेट कर सकता है और कार्रवाइयाँ चला सकता है। जिन कार्रवाइयों के लिए स्वीकृति चाहिए, वे आपकी स्वीकृति मिलने तक रुकी रहती हैं। ऑडियो कभी भी SQL में संग्रहीत नहीं होता; Agent Native केवल सत्र और ट्रांसक्रिप्ट की संक्षिप्त स्थिति रखता है। एक रीयलटाइम सत्र अधिकतम 60 मिनट तक चलता है।
16
+ स्पीच मॉडल चैट वाले उन्हीं प्रमाणीकृत Agent Native टूल का उपयोग करता है, इसलिए वह बोलते समय ऐप में नेविगेट कर सकता है और कार्रवाइयाँ चला सकता है। जिन कार्रवाइयों के लिए स्वीकृति चाहिए, वे आपकी स्वीकृति मिलने तक रुकी रहती हैं। केवल उपयोगकर्ता और सहायक के पूरे हुए टेक्स्ट कथन मूल चैट थ्रेड में जोड़े जाते हैं। वॉइस मोड बंद करने पर चैट खुल जाती है ताकि आप टेक्स्ट में आगे बढ़ सकें; ऑडियो या अंतरिम ट्रांसक्रिप्ट अंश सहेजे नहीं जाते। एक रीयलटाइम सत्र अधिकतम 60 मिनट तक चलता है।
17
17
 
18
18
  ## यह कैसे काम करता है {#how-it-works}
19
19
 
@@ -11,9 +11,9 @@ description: "エージェント チャット コンポーザーでの音声デ
11
11
 
12
12
  ## リアルタイム音声モード {#realtime-speech-mode}
13
13
 
14
- マイクを開くと、ポップオーバーで**リアルタイム音声会話**と**編集可能な音声入力**のどちらかを選べます。リアルタイムモードにはユーザー単位の `OPENAI_API_KEY` が必要で、ブラウザから WebRTC 経由で `gpt-realtime-2.1` に接続します。チャットは右下の音声オーブに折りたたまれます。オーブをクリックすると、会話を終了せずにチャットの表示と非表示を切り替えられます。
14
+ マイクを開くと、ポップオーバーで**リアルタイム音声会話**と**編集可能な音声入力**のどちらかを選べます。リアルタイムモードにはユーザー単位の `OPENAI_API_KEY` が必要で、ブラウザから WebRTC 経由で `gpt-realtime-2.1` に接続します。チャットは右下の音声オーブに折りたたまれます。オーブをクリックすると、会話を終了せずにチャットの表示と非表示を切り替えられます。チャットが自動的に開いた場合もオーブはその上に表示され続け、コンパクトな波形がユーザーとアシスタント双方の音声に反応します。
15
15
 
16
- 音声モデルはチャットと同じ認証済みの Agent Native ツールを使用するため、話しながらアプリ内を移動したりアクションを呼び出したりできます。承認が必要なアクションは、承認するまで一時停止したままです。音声は SQL に一切保存されず、Agent Native が保持するのは簡潔なセッション状態と文字起こし状態だけです。リアルタイムセッションの上限は 60 分です。
16
+ 音声モデルはチャットと同じ認証済みの Agent Native ツールを使用するため、話しながらアプリ内を移動したりアクションを呼び出したりできます。承認が必要なアクションは、承認するまで一時停止したままです。完了したユーザーとアシスタントの発話テキストだけが開始時のチャットスレッドに追加されます。音声モードを終了するとチャットが開き、テキストで続けられます。音声や途中の文字起こしは保存されません。リアルタイムセッションの上限は 60 分です。
17
17
 
18
18
  ## 仕組み {#how-it-works}
19
19
 
@@ -11,9 +11,9 @@ description: "에이전트 채팅 작성기의 음성 받아쓰기 — Builder G
11
11
 
12
12
  ## 실시간 음성 모드 {#realtime-speech-mode}
13
13
 
14
- 마이크를 열면 팝오버에서 **실시간 음성 대화**와 **편집 가능한 받아쓰기** 중 하나를 선택할 수 있습니다. 실시간 모드에는 사용자 범위의 `OPENAI_API_KEY`가 필요하며, WebRTC를 통해 브라우저를 `gpt-realtime-2.1`에 연결합니다. 채팅은 오른쪽 아래의 음성 오브로 접힙니다. 오브를 클릭하면 대화를 끝내지 않고 채팅을 표시하거나 숨길 수 있습니다.
14
+ 마이크를 열면 팝오버에서 **실시간 음성 대화**와 **편집 가능한 받아쓰기** 중 하나를 선택할 수 있습니다. 실시간 모드에는 사용자 범위의 `OPENAI_API_KEY`가 필요하며, WebRTC를 통해 브라우저를 `gpt-realtime-2.1`에 연결합니다. 채팅은 오른쪽 아래의 음성 오브로 접힙니다. 오브를 클릭하면 대화를 끝내지 않고 채팅을 표시하거나 숨길 수 있습니다. 채팅이 자동으로 열려도 오브는 채팅 위에 계속 표시되며, 작은 파형이 사용자와 어시스턴트의 실제 음성 활동에 반응합니다.
15
15
 
16
- 음성 모델은 채팅과 동일한 인증된 Agent Native 도구를 사용하므로 말하는 동안 앱을 탐색하고 작업을 호출할 수 있습니다. 승인이 필요한 작업은 사용자가 승인할 때까지 일시 중지된 상태로 유지됩니다. 오디오는 SQL에 저장되지 않으며 Agent Native는 간결한 세션 대화 내용 상태만 보관합니다. 실시간 세션은 최대 60분 동안 지속됩니다.
16
+ 음성 모델은 채팅과 동일한 인증된 Agent Native 도구를 사용하므로 말하는 동안 앱을 탐색하고 작업을 호출할 수 있습니다. 승인이 필요한 작업은 사용자가 승인할 때까지 일시 중지된 상태로 유지됩니다. 완료된 사용자 어시스턴트 발화 텍스트만 처음 시작한 채팅 스레드에 추가됩니다. 음성 모드를 종료하면 채팅이 열려 텍스트로 이어갈 수 있으며, 오디오나 임시 전사 조각은 저장되지 않습니다. 실시간 세션은 최대 60분 동안 지속됩니다.
17
17
 
18
18
  ## 작동 방식 {#how-it-works}
19
19
 
@@ -11,9 +11,9 @@ A estrutura lida com tudo isso automaticamente. Os usuários conectados ao Build
11
11
 
12
12
  ## Modo de voz em tempo real {#realtime-speech-mode}
13
13
 
14
- Ao abrir o microfone, um popover permite escolher entre **Conversa em tempo real** e **Ditado editável**. O modo em tempo real exige uma `OPENAI_API_KEY` no escopo do usuário e conecta o navegador ao `gpt-realtime-2.1` por WebRTC. O chat se recolhe em uma esfera de voz no canto inferior direito; clique nela para mostrar ou ocultar o chat sem encerrar a conversa.
14
+ Ao abrir o microfone, um popover permite escolher entre **Conversa em tempo real** e **Ditado editável**. O modo em tempo real exige uma `OPENAI_API_KEY` no escopo do usuário e conecta o navegador ao `gpt-realtime-2.1` por WebRTC. O chat se recolhe em uma esfera de voz no canto inferior direito; clique nela para mostrar ou ocultar o chat sem encerrar a conversa. A esfera permanece visível sobre o chat mesmo quando ele abre automaticamente, e uma forma de onda compacta reage à sua voz e à voz do assistente.
15
15
 
16
- O modelo de voz usa as mesmas ferramentas autenticadas do Agent Native que o chat, portanto pode navegar pelo aplicativo e chamar ações enquanto fala. Ações que exigem aprovação permanecem pausadas até você aprová-las. O áudio nunca é armazenado no SQL; o Agent Native mantém apenas um estado compacto da sessão e da transcrição. Uma sessão em tempo real dura no máximo 60 minutos.
16
+ O modelo de voz usa as mesmas ferramentas autenticadas do Agent Native que o chat, portanto pode navegar pelo aplicativo e chamar ações enquanto fala. Ações que exigem aprovação permanecem pausadas até você aprová-las. Somente as falas de texto concluídas do usuário e do assistente são adicionadas à conversa original. Ao encerrar o modo de voz, o chat é aberto para você continuar por texto; o áudio e os trechos provisórios da transcrição não são armazenados. Uma sessão em tempo real dura no máximo 60 minutos.
17
17
 
18
18
  ## Como funciona {#how-it-works}
19
19
 
@@ -11,9 +11,9 @@ description: "代理聊天编辑器中的语音听写 - Builder Gemini、BYOK
11
11
 
12
12
  ## 实时语音模式 {#realtime-speech-mode}
13
13
 
14
- 打开麦克风后,弹出菜单让你在**实时语音对话**和**可编辑听写**之间选择。实时模式需要用户范围的 `OPENAI_API_KEY`,并通过 WebRTC 将浏览器连接到 `gpt-realtime-2.1`。聊天会收起为右下角的语音球;点击语音球即可显示或隐藏聊天,而不会结束对话。
14
+ 打开麦克风后,弹出菜单让你在**实时语音对话**和**可编辑听写**之间选择。实时模式需要用户范围的 `OPENAI_API_KEY`,并通过 WebRTC 将浏览器连接到 `gpt-realtime-2.1`。聊天会收起为右下角的语音球;点击语音球即可显示或隐藏聊天,而不会结束对话。即使聊天自动打开,语音球也会保持显示在聊天上方;紧凑的波形会实时响应你和助手的声音。
15
15
 
16
- 语音模型使用与聊天相同的、经过身份验证的 Agent Native 工具,因此可以一边说话,一边在应用中导航和调用操作。需要审批的操作会保持暂停,直到你批准为止。音频绝不会存储到 SQL 中;Agent Native 只保留精简的会话和转录状态。实时会话最长可持续 60 分钟。
16
+ 语音模型使用与聊天相同的、经过身份验证的 Agent Native 工具,因此可以一边说话,一边在应用中导航和调用操作。需要审批的操作会保持暂停,直到你批准为止。只有用户和助手已经完成的文本话语会追加到开始语音时的聊天线程。结束语音模式后,聊天会自动打开,方便你继续输入文字;音频和临时转录片段都不会保存。实时会话最长可持续 60 分钟。
17
17
 
18
18
  ## 它是如何工作的 {#how-it-works}
19
19
 
@@ -11,9 +11,9 @@ description: "代理聊天編輯器中的語音聽寫 - Builder Gemini、BYOK
11
11
 
12
12
  ## 即時語音模式 {#realtime-speech-mode}
13
13
 
14
- 開啟麥克風後,彈出式選單會讓您在**即時語音對話**和**可編輯聽寫**之間選擇。即時模式需要使用者範圍的 `OPENAI_API_KEY`,並透過 WebRTC 將瀏覽器連線到 `gpt-realtime-2.1`。聊天會收合為右下角的語音球;點選語音球即可顯示或隱藏聊天,而不會結束對話。
14
+ 開啟麥克風後,彈出式選單會讓您在**即時語音對話**和**可編輯聽寫**之間選擇。即時模式需要使用者範圍的 `OPENAI_API_KEY`,並透過 WebRTC 將瀏覽器連線到 `gpt-realtime-2.1`。聊天會收合為右下角的語音球;點選語音球即可顯示或隱藏聊天,而不會結束對話。即使聊天自動開啟,語音球也會持續顯示在聊天上方;精簡的波形會即時回應您和助理的聲音。
15
15
 
16
- 語音模型使用與聊天相同且經過驗證的 Agent Native 工具,因此可以一邊說話,一邊在應用程式中導覽和呼叫動作。需要核准的動作會維持暫停,直到您核准為止。音訊絕不會儲存到 SQL 中;Agent Native 只保留精簡的工作階段和轉錄狀態。即時工作階段最長可持續 60 分鐘。
16
+ 語音模型使用與聊天相同且經過驗證的 Agent Native 工具,因此可以一邊說話,一邊在應用程式中導覽和呼叫動作。需要核准的動作會維持暫停,直到您核准為止。只有使用者和助理已完成的文字發言會附加到開始語音時的聊天討論串。結束語音模式後,聊天會自動開啟,方便您繼續輸入文字;音訊和暫時的轉錄片段都不會儲存。即時工作階段最長可持續 60 分鐘。
17
17
 
18
18
  ## 它是如何工作的 {#how-it-works}
19
19
 
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  title: "Sharing & Privacy"
3
- description: "Familiar, consistent sharing built into the framework. Every user-created resource — docs, dashboards, designs, decks, clips, recordings, forms — gets the same private-by-default model with one consistent share UI."
3
+ description: "Google-Docs-style sharing, built into the framework. Every user-created resource — docs, dashboards, designs, decks, clips, recordings, forms — gets the same private-by-default model with one consistent share UI."
4
4
  ---
5
5
 
6
6
  # Sharing & Privacy
7
7
 
8
8
  Every resource a user creates in an agent-native app — a document, a dashboard, a design, a deck, a screen recording, a meeting transcript, a form, a booking link — is **private to the creator by default**. Other people see it only when the creator explicitly shares it, or changes its visibility to `org` or `public`.
9
9
 
10
- It's one familiar sharing model everywhere: the same share button, the same dialog, the same three-tier visibility model, the same per-user/per-org grants — across every template, with no per-app reinvention.
10
+ It looks and works like Google Docs. The same share button, the same dialog, the same three-tier visibility model, the same per-user/per-org grants — across every template, with no per-app reinvention.
11
11
 
12
12
  ## Why one model {#why}
13
13
 
@@ -92,7 +92,7 @@ Every template that stores user-authored work uses this model. Concretely:
92
92
  - **Content** — documents
93
93
  - **Slides** — decks
94
94
  - **Design** — designs and assets
95
- - **Clips** — screen recordings
95
+ - **Clips** — screen recordings (Loom-style)
96
96
  - **Plan** — visual plans and PR recaps
97
97
  - **Forms** — form definitions
98
98
  - **Calendar** — events and booking links
@@ -115,7 +115,7 @@ Every shareable resource gets a share button in its header. Clicking it opens a
115
115
 
116
116
  - Visibility selector (`Private` / `Organization` / `Public link`).
117
117
  - "Add people or teams" autocomplete — search users in the org or paste an email.
118
- - A `Notify people` checkbox for individual email grants.
118
+ - A Google Docs-style `Notify people` checkbox for individual email grants.
119
119
  - A list of current grants with role pickers and a remove control.
120
120
  - A copy-link button that respects the current visibility.
121
121
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "Analytics"
3
- description: "Ask analytics questions in plain English, get charts and dashboards back — connect your own warehouse and event sources, and own the code and the data."
3
+ description: "Ask analytics questions in plain English, get charts and dashboards back — an open-source replacement for Amplitude, Mixpanel, and Looker that connects your own warehouse and event sources."
4
4
  ---
5
5
 
6
6
  # Analytics
@@ -16,7 +16,7 @@ Ask analytics questions in plain English, get charts and dashboards back. The ag
16
16
  />
17
17
  </WireframeBlock>
18
18
 
19
- It's an open-source analytics stack for teams that want to own the code, the queries, and the data.
19
+ It's an open-source replacement for Amplitude, Mixpanel, and Looker — for teams that want to own the code, the queries, and the data.
20
20
 
21
21
  <Diagram id="doc-block-9n9ub7" title="Question to chart" summary="The agent consults the data dictionary, writes SQL, validates it against the warehouse, then renders a chart or saves a panel.">
22
22
 
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  title: "Calendar"
3
- description: "An agent-powered calendar with Google Calendar sync and shareable booking pages. Schedule, find slots, and manage availability through plain English."
3
+ description: "An agent-powered calendar with Google Calendar sync and Calendly-style booking links. Schedule, find slots, and manage availability through plain English."
4
4
  ---
5
5
 
6
6
  # Calendar
7
7
 
8
- An agent-powered calendar app. Connect your Google Calendar and the agent can read your schedule, find free slots, create events, and manage shareable booking links — all in plain English. It brings your calendar and public booking pages into one app you own.
8
+ An agent-powered calendar app. Connect your Google Calendar and the agent can read your schedule, find free slots, create events, and manage Calendly-style booking links — all in plain English. It replaces the Google Calendar + Calendly combo with one app you own.
9
9
 
10
10
  <WireframeBlock id="doc-block-6wsrao">
11
11
  <Screen
@@ -167,7 +167,7 @@ Under the hood the agent calls actions like `list-events`, `check-availability`,
167
167
  Defined in `templates/calendar/server/db/schema.ts`. Only non-event data is stored locally:
168
168
 
169
169
  - `bookings` — confirmed appointments from public booking pages. Stores name, email, start, end, slug, optional notes, custom field responses, meeting link, a `cancelToken` for the public manage URL, and a `confirmed` or `cancelled` status.
170
- - `booking_links` — the booking-page link definitions. Slug, title, description, primary `duration`, optional `durations` list, `customFields`, `conferencing`, `color`, and an `isActive` flag. Uses the framework's `ownableColumns` so the sharing system applies.
170
+ - `booking_links` — the Calendly-style link definitions. Slug, title, description, primary `duration`, optional `durations` list, `customFields`, `conferencing`, `color`, and an `isActive` flag. Uses the framework's `ownableColumns` so the sharing system applies.
171
171
  - `booking_slug_redirects` — remembers old slugs when a link is renamed so existing public URLs keep working.
172
172
  - `booking_link_shares` — share grants for booking links.
173
173
 
@@ -181,7 +181,7 @@ Defined in `templates/calendar/server/db/schema.ts`. Only non-event data is stor
181
181
  {
182
182
  id: "booking_links",
183
183
  name: "booking_links",
184
- note: "Booking-page link definitions (ownable)",
184
+ note: "Calendly-style link definitions (ownable)",
185
185
  fields: [
186
186
  {
187
187
  name: "id",
@@ -17,7 +17,7 @@ A capture-everything app: screen recordings, meeting notes from your calendar, a
17
17
  />
18
18
  </WireframeBlock>
19
19
 
20
- Async screen recordings, calendar-synced meeting notes, and push-to-talk voice dictation rolled into one app — the agent is a first-class editor across every surface, and the recordings, meetings, and dictations are yours, not a SaaS vendor's. Clips also makes shared recordings agent-readable: paste a public Clips share link or a temporary **Copy for agent** link into an agent and it can "hear" the transcript as text and "see" timestamped screen frames as images — no raw video needed. Frame-viewing works in any image-capable agent (ChatGPT, Claude Code, Cursor, Codex); text-only web chats still get the full transcript and can take a frame you upload.
20
+ Think along the lines of Loom + Granola + Wispr Flow rolled into one app: async screen recordings, calendar-synced meeting notes, and push-to-talk voice dictation but the agent is a first-class editor across every surface, and the recordings, meetings, and dictations are yours, not a SaaS vendor's. Clips also makes shared recordings agent-readable: paste a public Clips share link or a temporary **Copy for agent** link into an agent and it can "hear" the transcript as text and "see" timestamped screen frames as images — no raw video needed. Frame-viewing works in any image-capable agent (ChatGPT, Claude Code, Cursor, Codex); text-only web chats still get the full transcript and can take a frame you upload.
21
21
 
22
22
  <Diagram id="doc-block-pqnd4p" title="Capture, transcribe, reuse" summary={"Three capture types land in one library; the agent transcribes, titles, and summarizes, then every transcript is searchable and shareable."}>
23
23
 
@@ -85,7 +85,7 @@ Async screen recordings, calendar-synced meeting notes, and push-to-talk voice d
85
85
  - **Get an auto-generated title, summary, and chapter markers** for every recording — the agent fills them in and keeps them current.
86
86
  - **Search across every transcript** — screen recordings, meetings, and dictations all in one library. "Find the clip where we discussed the rollout plan."
87
87
  - **Share clips** with per-clip permissions (public, team, private). Link tracking and threaded comments work too.
88
- - **Preview public clips in Slack** with a playable video unfurl after the
88
+ - **Preview public clips in Slack** with a Loom-style playable unfurl after the
89
89
  workspace installs your Clips Slack app.
90
90
  - **Capture browser logs with the Chrome extension.** Browser recordings can
91
91
  attach redacted console logs and fetch/XHR metadata, which is helpful for
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  title: "Content"
3
- description: "A local-file-friendly document workspace: edit Markdown/MDX files, generate rich interactive custom blocks, and write together with an AI agent."
3
+ description: "Open-source Obsidian for MDX: edit local Markdown/MDX files, generate rich interactive custom blocks, and write with an AI agent."
4
4
  ---
5
5
 
6
6
  # Content
7
7
 
8
- Content is a local-file-friendly document workspace where the agent can read,
9
- write, reorganize, and publish pages for you. Open a doc, ask "rewrite this
10
- paragraph to be more concise" or "create a page called Q4 Planning with
11
- sub-pages for Goals, Metrics, and Risks" - same result whether you do it
12
- yourself or ask.
8
+ Content is open-source Obsidian for MDX: a local-file-friendly document
9
+ workspace where the agent can read, write, reorganize, and publish pages for
10
+ you. Open a doc, ask "rewrite this paragraph to be more concise" or "create a
11
+ page called Q4 Planning with sub-pages for Goals, Metrics, and Risks" - same
12
+ result whether you do it yourself or ask.
13
13
 
14
14
  <WireframeBlock id="doc-block-1i1ubpx">
15
15
  <Screen
@@ -90,7 +90,7 @@ When you open the app, you'll see a page tree next to the editor. The agent alwa
90
90
  - **Write rich text** with headings, lists, tables, code blocks, images, and links. Slash commands (`/`) insert blocks; selecting text pops up a formatting toolbar.
91
91
  - **Organize pages in a tree** — nest infinitely, drag to reorder, favorite pages you use often.
92
92
  - **Search across everything** with full-text search across titles and content.
93
- - **Edit local Markdown/MDX files with your own tools.** Use the `/local-files` view
93
+ - **Edit local Markdown/MDX files like Obsidian.** Use the `/local-files` view
94
94
  to export your workspace to files, edit them in your own tools, preview
95
95
  changes, and import them back. In Local File Mode, Content writes straight to
96
96
  the selected `.md` or `.mdx` file.
@@ -119,8 +119,9 @@ Select text and hit Cmd+I to focus the agent with that selection pre-loaded —
119
119
  ## Local Markdown/MDX files {#local-files}
120
120
 
121
121
  Content can round-trip documents through local files without cloning or running
122
- the Content app locally. Files stay inspectable and editable on disk, while the
123
- app gives you a rich editor, agent actions, sharing, and custom blocks. Open
122
+ the Content app locally. It feels like Obsidian for MDX: files stay inspectable
123
+ and editable on disk, while the app gives you a rich editor, agent actions,
124
+ sharing, and custom blocks. Open
124
125
  `/local-files`, choose a folder in your browser or Agent Native Desktop, and
125
126
  export the current document tree as Markdown/MDX under `content/`.
126
127
 
@@ -141,7 +142,7 @@ truth instead of SQL documents. Add `agent-native.json` to a repo, set
141
142
  `content/`, and `resources/`. The standard Content editor then populates its
142
143
  left sidebar from those local `.md`/`.mdx` files and writes edits back to the
143
144
  selected file through the normal document actions. Use this for repo-first docs,
144
- blogs, resource libraries, or a personal MDX-powered notes vault; switch back to
145
+ blogs, resource libraries, or an Obsidian-style personal MDX-powered notes vault; switch back to
145
146
  database mode when you want hosted collaboration and SQL-backed sharing. See [Local File Mode](/docs/local-file-mode) for the
146
147
  standalone repo layout, configuration, custom MDX components, local
147
148
  `extensions/` widgets, and production safety guide.
@@ -218,7 +219,7 @@ Local file workspaces can also provide repo-local React components through the
218
219
  configured `components` folder. The Content dev server imports PascalCase
219
220
  exports from those files, renders matching MDX tags such as `<ImpactCounter />`
220
221
  inside the editor, and exposes them in the slash menu under Local components.
221
- This is the local-first custom-block layer: custom MDX blocks stay local to the
222
+ This is the "Obsidian for MDX" layer: custom MDX blocks stay local to the
222
223
  workspace, but the editor can render them and the agent can generate or update
223
224
  their source without cloning the Content app. A minimal workspace component can
224
225
  be:
@@ -5,7 +5,7 @@ description: "An agent-powered email client. Connect your Gmail and the agent ca
5
5
 
6
6
  # Mail
7
7
 
8
- An agent-powered email client. Connect your Gmail account and the agent can read, draft, send, and organize email for you — alongside a fast, keyboard-first inbox you can drive yourself, with the agent as a first-class citizen and the codebase yours to own.
8
+ An agent-powered email client. Connect your Gmail account and the agent can read, draft, send, and organize email for you — alongside a fast, keyboard-first inbox you can drive yourself. Think Superhuman, but the agent is a first-class citizen and the codebase is yours to own.
9
9
 
10
10
  <WireframeBlock id="doc-block-ofadgy">
11
11
  <Screen
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  title: "Slides"
3
- description: "Generate decks from a prompt, edit visually, and present full-screen — an open-source deck editor with import/export, design systems, and real-time collaboration built in."
3
+ description: "Generate decks from a prompt, edit visually, and present full-screen — an open-source replacement for Google Slides, Pitch, and PowerPoint, with import/export, design systems, and real-time collaboration built in."
4
4
  ---
5
5
 
6
6
  # Slides
7
7
 
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. It's an open-source deck editor you own end to end generate, import, edit, present, and export without a subscription.
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. It's an open-source replacement for Google Slides, Pitch, and PowerPoint — a deck editor you own end to end: generate, import, edit, present, and export without a subscription.
9
9
 
10
10
  <WireframeBlock id="doc-block-eqogw6">
11
11
  <Screen
@@ -125,9 +125,9 @@ You don't need to call this directly — the composer does. If you're building a
125
125
 
126
126
  ## Realtime speech mode {#realtime-speech-mode}
127
127
 
128
- Beyond one-shot dictation, the composer also offers a live, hands-free conversation mode. When the mic opens, a popover lets you choose **Realtime speech** or **Editable dictation**. Realtime speech requires a user-scoped `OPENAI_API_KEY` and connects the browser to `gpt-realtime-2.1` over WebRTC. The chat collapses into a speech orb in the bottom-end corner; click the orb to show or hide chat without ending the conversation.
128
+ Beyond one-shot dictation, the composer also offers a live, hands-free conversation mode. When the mic opens, a popover lets you choose **Realtime speech** or **Editable dictation**. Realtime speech requires a user-scoped `OPENAI_API_KEY` and connects the browser to `gpt-realtime-2.1` over WebRTC. The chat collapses into a speech orb in the bottom-end corner; click the orb to show or hide chat without ending the conversation. The orb stays visible above the chat even if the chat opens automatically, and its compact waveform reacts to your voice and the assistant's voice.
129
129
 
130
- The speech model uses the same authenticated Agent Native tools as chat, so it can navigate the app and call actions while it talks. Approval-gated actions remain paused until you approve them. Audio is never stored in SQL; Agent Native keeps only compact session and transcript state. A realtime session lasts at most 60 minutes.
130
+ The speech model uses the same authenticated Agent Native tools as chat, so it can navigate the app and call actions while it talks. Approval-gated actions remain paused until you approve them. Only completed user and assistant text turns are appended to the original chat thread. Ending voice mode opens that chat so you can continue over text; audio and interim transcript fragments are never stored. A realtime session lasts at most 60 minutes.
131
131
 
132
132
  ## Customizing the provider {#customizing}
133
133
 
@@ -86,7 +86,7 @@ The twist: **it's SQL rows, not filesystem files.** Each user gets their own wor
86
86
  | Per-project `CLAUDE.md` / skills | Per-app `AGENTS.md` + workspace memory resources |
87
87
  | MCP config in a JSON file | MCP config in JSON _or_ the settings UI, per scope |
88
88
 
89
- Same capabilities. Different economics. See [Apps](/docs/cloneable-saas) for why this matters for SaaS.
89
+ Same capabilities. Different economics. See [Templates](/docs/cloneable-saas) for why this matters for SaaS.
90
90
 
91
91
  ## Overview {#overview}
92
92
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-native/core",
3
- "version": "0.94.0",
3
+ "version": "0.94.2",
4
4
  "description": "Framework for agent-native application development — where AI agents and UI share SQL state, actions, and context",
5
5
  "homepage": "https://github.com/BuilderIO/agent-native#readme",
6
6
  "bugs": {