@agent-native/core 0.86.0 → 0.86.1

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 (183) hide show
  1. package/corpus/README.md +2 -2
  2. package/corpus/core/CHANGELOG.md +9 -0
  3. package/corpus/core/package.json +2 -1
  4. package/corpus/core/src/client/AgentPanel.tsx +10 -0
  5. package/corpus/core/src/client/AssistantChat.tsx +91 -27
  6. package/corpus/core/src/client/ErrorBoundary.tsx +67 -12
  7. package/corpus/core/src/client/ErrorReportActions.tsx +69 -0
  8. package/corpus/core/src/client/FeedbackButton.tsx +8 -4
  9. package/corpus/core/src/client/db-admin/DbAdminPage.tsx +41 -13
  10. package/corpus/core/src/client/db-admin/SqlEditor.tsx +10 -3
  11. package/corpus/core/src/client/db-admin/TableEditor.tsx +12 -5
  12. package/corpus/core/src/client/db-admin/useAgentSync.ts +10 -3
  13. package/corpus/core/src/client/db-admin/useDbAdmin.ts +65 -16
  14. package/corpus/core/src/client/error-reporting.ts +100 -0
  15. package/corpus/core/src/client/index.ts +11 -0
  16. package/corpus/core/src/client/org/RequireActiveOrg.tsx +12 -0
  17. package/corpus/core/src/client/visual-style-controls.tsx +615 -2
  18. package/corpus/core/src/db-admin/index.ts +26 -0
  19. package/corpus/core/src/db-admin/operations.ts +87 -49
  20. package/corpus/core/src/localization/default-messages.ts +4 -0
  21. package/corpus/core/src/server/builder-design-systems.ts +328 -9
  22. package/corpus/core/src/server/index.ts +15 -0
  23. package/corpus/core/src/templates/default/app/root.tsx +47 -0
  24. package/corpus/templates/analytics/AGENTS.md +6 -4
  25. package/corpus/templates/analytics/actions/delete-db-admin-connection.ts +19 -0
  26. package/corpus/templates/analytics/actions/list-db-admin-connections.ts +18 -0
  27. package/corpus/templates/analytics/actions/navigate.ts +17 -3
  28. package/corpus/templates/analytics/actions/save-db-admin-connection.ts +33 -0
  29. package/corpus/templates/analytics/actions/view-screen.ts +11 -3
  30. package/corpus/templates/analytics/app/hooks/use-navigation-state.ts +11 -2
  31. package/corpus/templates/analytics/app/i18n/zh-TW.ts +23 -2
  32. package/corpus/templates/analytics/app/i18n-data.ts +230 -20
  33. package/corpus/templates/analytics/app/pages/Agents.tsx +398 -4
  34. package/corpus/templates/analytics/changelog/2026-07-03-connect-other-app-databases-from-analytics.md +6 -0
  35. package/corpus/templates/analytics/server/db/schema.ts +27 -0
  36. package/corpus/templates/analytics/server/lib/db-admin-connections.ts +458 -0
  37. package/corpus/templates/analytics/server/plugins/db.ts +35 -0
  38. package/corpus/templates/analytics/server/routes/[base]/_agent-native/analytics-db-admin/[...path].ts +1 -0
  39. package/corpus/templates/analytics/server/routes/_agent-native/analytics-db-admin/[...path].ts +160 -0
  40. package/corpus/templates/content/app/root.tsx +9 -0
  41. package/corpus/templates/content/changelog/2026-07-03-error-screens-now-include-a-feedback-button-with-debug-info.md +6 -0
  42. package/corpus/templates/design/AGENTS.md +13 -7
  43. package/corpus/templates/design/actions/get-design-system.ts +21 -0
  44. package/corpus/templates/design/actions/index-design-system-with-builder.ts +14 -37
  45. package/corpus/templates/design/app/components/design/code-workbench/CodeWorkbench.tsx +3 -3
  46. package/corpus/templates/design/app/components/design/code-workbench/SideBar.tsx +70 -9
  47. package/corpus/templates/design/app/components/design/code-workbench/editor/EditorTabs.tsx +11 -2
  48. package/corpus/templates/design/app/components/design/code-workbench/editor/MonacoHost.tsx +1 -1
  49. package/corpus/templates/design/app/components/design/code-workbench/editor/StatusBar.tsx +1 -1
  50. package/corpus/templates/design/app/components/design/code-workbench/explorer/ExplorerView.tsx +8 -2
  51. package/corpus/templates/design/app/components/design/code-workbench/explorer/FileTree.tsx +7 -3
  52. package/corpus/templates/design/app/components/design/code-workbench/store.tsx +48 -0
  53. package/corpus/templates/design/app/hooks/useDesignHotkeys.ts +6 -0
  54. package/corpus/templates/design/app/i18n/zh-TW.ts +15 -14
  55. package/corpus/templates/design/app/i18n-data.ts +154 -142
  56. package/corpus/templates/design/app/pages/DesignSystemSetup.tsx +32 -14
  57. package/corpus/templates/design/changelog/2026-07-03-design-system-setup-now-indexes-figma-code-and-design-md-sou.md +6 -0
  58. package/corpus/templates/design/changelog/2026-07-03-the-code-editor-is-easier-to-use-with-top-sidebar-tabs-clear.md +6 -0
  59. package/corpus/templates/design/server/lib/builder-design-system-proxy.ts +16 -106
  60. package/corpus/templates/mail/app/root.tsx +60 -1
  61. package/corpus/templates/mail/changelog/2026-07-03-error-screens-now-include-a-feedback-button-with-debug-info.md +6 -0
  62. package/corpus/templates/plan/app/i18n/ar-SA.ts +3 -0
  63. package/corpus/templates/plan/app/i18n/de-DE.ts +4 -0
  64. package/corpus/templates/plan/app/i18n/en-US.ts +4 -0
  65. package/corpus/templates/plan/app/i18n/es-ES.ts +4 -0
  66. package/corpus/templates/plan/app/i18n/fr-FR.ts +4 -0
  67. package/corpus/templates/plan/app/i18n/hi-IN.ts +3 -0
  68. package/corpus/templates/plan/app/i18n/ja-JP.ts +4 -0
  69. package/corpus/templates/plan/app/i18n/ko-KR.ts +4 -0
  70. package/corpus/templates/plan/app/i18n/pt-BR.ts +4 -0
  71. package/corpus/templates/plan/app/i18n/zh-CN.ts +3 -0
  72. package/corpus/templates/plan/app/i18n/zh-TW.ts +3 -0
  73. package/corpus/templates/plan/app/pages/PlansPage.tsx +74 -3
  74. package/corpus/templates/plan/changelog/2026-07-03-error-screens-now-include-a-feedback-button-with-debug-info.md +6 -0
  75. package/corpus/templates/slides/AGENTS.md +7 -3
  76. package/corpus/templates/slides/actions/get-design-system.ts +21 -0
  77. package/corpus/templates/slides/actions/import-file.ts +15 -7
  78. package/corpus/templates/slides/actions/index-design-system-with-builder.ts +14 -37
  79. package/corpus/templates/slides/app/components/design-system/DesignSystemSetup.tsx +32 -8
  80. package/corpus/templates/slides/app/components/editor/EditorSidebar.tsx +2 -2
  81. package/corpus/templates/slides/app/components/editor/EditorToolbar.tsx +2 -4
  82. package/corpus/templates/slides/app/components/editor/SlideEditor.tsx +163 -154
  83. package/corpus/templates/slides/app/components/editor/SlideStyleInspector.tsx +19 -15
  84. package/corpus/templates/slides/app/components/editor/SpeakerNotesPanel.tsx +56 -6
  85. package/corpus/templates/slides/app/components/layout/Layout.tsx +6 -1
  86. package/corpus/templates/slides/app/i18n/ar-SA.ts +8 -7
  87. package/corpus/templates/slides/app/i18n/de-DE.ts +7 -8
  88. package/corpus/templates/slides/app/i18n/en-US.ts +8 -7
  89. package/corpus/templates/slides/app/i18n/es-ES.ts +7 -8
  90. package/corpus/templates/slides/app/i18n/fr-FR.ts +7 -8
  91. package/corpus/templates/slides/app/i18n/hi-IN.ts +8 -7
  92. package/corpus/templates/slides/app/i18n/ja-JP.ts +7 -8
  93. package/corpus/templates/slides/app/i18n/ko-KR.ts +7 -7
  94. package/corpus/templates/slides/app/i18n/pt-BR.ts +7 -8
  95. package/corpus/templates/slides/app/i18n/zh-CN.ts +8 -7
  96. package/corpus/templates/slides/app/i18n/zh-TW.ts +8 -7
  97. package/corpus/templates/slides/app/lib/canvas-zoom.ts +16 -1
  98. package/corpus/templates/slides/app/pages/DeckEditor.tsx +3 -3
  99. package/corpus/templates/slides/changelog/2026-07-03-design-system-setup-now-indexes-figma-code-and-design-md-sou.md +6 -0
  100. package/corpus/templates/slides/changelog/2026-07-03-slide-editing-now-keeps-thumbnails-speaker-notes-styling-and.md +6 -0
  101. package/corpus/templates/slides/server/lib/builder-design-system-proxy.ts +16 -104
  102. package/dist/client/AgentPanel.d.ts.map +1 -1
  103. package/dist/client/AgentPanel.js +2 -1
  104. package/dist/client/AgentPanel.js.map +1 -1
  105. package/dist/client/AssistantChat.d.ts.map +1 -1
  106. package/dist/client/AssistantChat.js +77 -25
  107. package/dist/client/AssistantChat.js.map +1 -1
  108. package/dist/client/ErrorBoundary.d.ts.map +1 -1
  109. package/dist/client/ErrorBoundary.js +37 -2
  110. package/dist/client/ErrorBoundary.js.map +1 -1
  111. package/dist/client/ErrorReportActions.d.ts +13 -0
  112. package/dist/client/ErrorReportActions.d.ts.map +1 -0
  113. package/dist/client/ErrorReportActions.js +14 -0
  114. package/dist/client/ErrorReportActions.js.map +1 -0
  115. package/dist/client/FeedbackButton.d.ts +3 -1
  116. package/dist/client/FeedbackButton.d.ts.map +1 -1
  117. package/dist/client/FeedbackButton.js +6 -5
  118. package/dist/client/FeedbackButton.js.map +1 -1
  119. package/dist/client/db-admin/DbAdminPage.d.ts +9 -1
  120. package/dist/client/db-admin/DbAdminPage.d.ts.map +1 -1
  121. package/dist/client/db-admin/DbAdminPage.js +17 -13
  122. package/dist/client/db-admin/DbAdminPage.js.map +1 -1
  123. package/dist/client/db-admin/SqlEditor.d.ts +3 -1
  124. package/dist/client/db-admin/SqlEditor.d.ts.map +1 -1
  125. package/dist/client/db-admin/SqlEditor.js +3 -3
  126. package/dist/client/db-admin/SqlEditor.js.map +1 -1
  127. package/dist/client/db-admin/TableEditor.d.ts +3 -1
  128. package/dist/client/db-admin/TableEditor.d.ts.map +1 -1
  129. package/dist/client/db-admin/TableEditor.js +6 -6
  130. package/dist/client/db-admin/TableEditor.js.map +1 -1
  131. package/dist/client/db-admin/useAgentSync.d.ts +3 -2
  132. package/dist/client/db-admin/useAgentSync.d.ts.map +1 -1
  133. package/dist/client/db-admin/useAgentSync.js +8 -4
  134. package/dist/client/db-admin/useAgentSync.js.map +1 -1
  135. package/dist/client/db-admin/useDbAdmin.d.ts +11 -7
  136. package/dist/client/db-admin/useDbAdmin.d.ts.map +1 -1
  137. package/dist/client/db-admin/useDbAdmin.js +45 -20
  138. package/dist/client/db-admin/useDbAdmin.js.map +1 -1
  139. package/dist/client/error-reporting.d.ts +19 -0
  140. package/dist/client/error-reporting.d.ts.map +1 -0
  141. package/dist/client/error-reporting.js +71 -0
  142. package/dist/client/error-reporting.js.map +1 -0
  143. package/dist/client/index.d.ts +3 -1
  144. package/dist/client/index.d.ts.map +1 -1
  145. package/dist/client/index.js +3 -1
  146. package/dist/client/index.js.map +1 -1
  147. package/dist/client/org/RequireActiveOrg.d.ts.map +1 -1
  148. package/dist/client/org/RequireActiveOrg.js +2 -1
  149. package/dist/client/org/RequireActiveOrg.js.map +1 -1
  150. package/dist/client/visual-style-controls.d.ts +11 -0
  151. package/dist/client/visual-style-controls.d.ts.map +1 -1
  152. package/dist/client/visual-style-controls.js +350 -1
  153. package/dist/client/visual-style-controls.js.map +1 -1
  154. package/dist/collab/routes.d.ts +1 -1
  155. package/dist/collab/struct-routes.d.ts +1 -1
  156. package/dist/db-admin/index.d.ts +3 -0
  157. package/dist/db-admin/index.d.ts.map +1 -0
  158. package/dist/db-admin/index.js +2 -0
  159. package/dist/db-admin/index.js.map +1 -0
  160. package/dist/db-admin/operations.d.ts +26 -5
  161. package/dist/db-admin/operations.d.ts.map +1 -1
  162. package/dist/db-admin/operations.js +66 -55
  163. package/dist/db-admin/operations.js.map +1 -1
  164. package/dist/localization/default-messages.d.ts +3 -0
  165. package/dist/localization/default-messages.d.ts.map +1 -1
  166. package/dist/localization/default-messages.js +3 -0
  167. package/dist/localization/default-messages.js.map +1 -1
  168. package/dist/notifications/routes.d.ts +1 -1
  169. package/dist/provider-api/corpus-jobs.d.ts +2 -2
  170. package/dist/resources/handlers.d.ts +1 -1
  171. package/dist/secrets/routes.d.ts +9 -9
  172. package/dist/server/builder-design-systems.d.ts +61 -0
  173. package/dist/server/builder-design-systems.d.ts.map +1 -1
  174. package/dist/server/builder-design-systems.js +219 -14
  175. package/dist/server/builder-design-systems.js.map +1 -1
  176. package/dist/server/index.d.ts +1 -1
  177. package/dist/server/index.d.ts.map +1 -1
  178. package/dist/server/index.js +1 -1
  179. package/dist/server/index.js.map +1 -1
  180. package/dist/server/transcribe-voice.d.ts +1 -1
  181. package/dist/templates/default/app/root.tsx +47 -0
  182. package/package.json +2 -1
  183. package/src/templates/default/app/root.tsx +47 -0
@@ -501,12 +501,12 @@ const messages = {
501
501
  newTitle: "New Design System",
502
502
  editDescription: "Update your brand identity.",
503
503
  newDescription:
504
- "Provide any combination of sources the more context, the better the result.",
504
+ "Connect Figma, code, and optional design.md guidance through Builder DSI.",
505
505
  companyBrand: "Company / Brand",
506
506
  companyBrandPlaceholder: "Acme Inc. — We build developer tools...",
507
- figmaFile: "Figma file",
508
- parsingFigmaFile: "Starting Builder indexing...",
509
- uploadFigDescription: "Upload a .fig local copy to index it with Builder",
507
+ figmaFile: "Connect Figma",
508
+ parsingFigmaFile: "Starting Builder DSI indexing...",
509
+ uploadFigDescription: "Upload a .fig local copy for Builder DSI",
510
510
  builderIndexingStarted: "Builder indexing started",
511
511
  builderIndexingDescription:
512
512
  "Builder is indexing {{title}} into a reusable design system.",
@@ -516,9 +516,10 @@ const messages = {
516
516
  websiteUrl: "Website URL",
517
517
  websitePlaceholder: "example.com or Nike",
518
518
  add: "Add",
519
- githubRepository: "GitHub Repository",
520
- codeFiles: "Code Files",
521
- codeFilesDrop: "CSS, Tailwind config, theme files — drop or click",
519
+ githubRepository: "Connect Code: GitHub repository",
520
+ codeFiles: "Connect Code Files",
521
+ codeFilesDrop:
522
+ "CSS, Tailwind config, theme files, design.md — drop or click",
522
523
  documents: "Documents & Presentations",
523
524
  documentsDrop: "PPTX, DOCX, PDF, Markdown, TXT — brand guides, design docs",
524
525
  visualReferences: "Screenshots & Visual References",
@@ -514,14 +514,13 @@ const messages = {
514
514
  newTitle: "Nuevo sistema de diseño",
515
515
  editDescription: "Actualiza la identidad de tu marca.",
516
516
  newDescription:
517
- "Proporciona cualquier combinación de fuentes; cuanto más contexto, mejor será el resultado.",
517
+ "Conecta Figma, código y guía opcional de design.md mediante Builder DSI.",
518
518
  companyBrand: "Empresa / Marca",
519
519
  companyBrandPlaceholder:
520
520
  "Acme Inc. — Creamos herramientas para desarrolladores...",
521
- figmaFile: "Archivo de Figma",
522
- parsingFigmaFile: "Iniciando indexación de Builder...",
523
- uploadFigDescription:
524
- "Sube una copia local .fig para indexarla con Builder",
521
+ figmaFile: "Conectar Figma",
522
+ parsingFigmaFile: "Iniciando indexación de Builder DSI...",
523
+ uploadFigDescription: "Sube una copia local .fig para Builder DSI",
525
524
  builderIndexingStarted: "Indexación de Builder iniciada",
526
525
  builderIndexingDescription:
527
526
  "Builder is indexing {{title}} into a reusable design system.",
@@ -531,10 +530,10 @@ const messages = {
531
530
  websiteUrl: "URL del sitio web",
532
531
  websitePlaceholder: "example.com o Nike",
533
532
  add: "Añadir",
534
- githubRepository: "Repositorio de GitHub",
535
- codeFiles: "Archivos de código",
533
+ githubRepository: "Conectar código: repositorio de GitHub",
534
+ codeFiles: "Conectar archivos de código",
536
535
  codeFilesDrop:
537
- "CSS, configuración de Tailwind, archivos de tema — suelta o haz clic",
536
+ "CSS, configuración de Tailwind, archivos de tema, design.md — suelta o haz clic",
538
537
  documents: "Documentos y presentaciones",
539
538
  documentsDrop:
540
539
  "PPTX, DOCX, PDF, Markdown, TXT — guías de marca, documentos de diseño",
@@ -518,14 +518,13 @@ const messages = {
518
518
  newTitle: "Nouveau système de design",
519
519
  editDescription: "Mettez à jour votre identité de marque.",
520
520
  newDescription:
521
- "Fournissez n’importe quelle combinaison de sources ; plus il y a de contexte, meilleur sera le résultat.",
521
+ "Connectez Figma, le code et les consignes design.md facultatives via Builder DSI.",
522
522
  companyBrand: "Entreprise / Marque",
523
523
  companyBrandPlaceholder:
524
524
  "Acme Inc. — Nous créons des outils pour développeurs...",
525
- figmaFile: "Fichier Figma",
526
- parsingFigmaFile: "Démarrage de l’indexation Builder...",
527
- uploadFigDescription:
528
- "Importez une copie locale .fig pour l’indexer avec Builder",
525
+ figmaFile: "Connecter Figma",
526
+ parsingFigmaFile: "Démarrage de l’indexation Builder DSI...",
527
+ uploadFigDescription: "Importez une copie locale .fig pour Builder DSI",
529
528
  builderIndexingStarted: "Indexation Builder démarrée",
530
529
  builderIndexingDescription:
531
530
  "Builder is indexing {{title}} into a reusable design system.",
@@ -535,10 +534,10 @@ const messages = {
535
534
  websiteUrl: "URL du site web",
536
535
  websitePlaceholder: "example.com ou Nike",
537
536
  add: "Ajouter",
538
- githubRepository: "Dépôt GitHub",
539
- codeFiles: "Fichiers de code",
537
+ githubRepository: "Connecter le code : dépôt GitHub",
538
+ codeFiles: "Connecter des fichiers de code",
540
539
  codeFilesDrop:
541
- "CSS, configuration Tailwind, fichiers de thème — déposer ou cliquer",
540
+ "CSS, configuration Tailwind, fichiers de thème, design.md — déposer ou cliquer",
542
541
  documents: "Documents et présentations",
543
542
  documentsDrop:
544
543
  "PPTX, DOCX, PDF, Markdown, TXT — chartes de marque, docs de design",
@@ -495,12 +495,12 @@ const messages = {
495
495
  newTitle: "नया डिज़ाइन सिस्टम",
496
496
  editDescription: "अपनी ब्रांड पहचान अपडेट करें।",
497
497
  newDescription:
498
- "स्रोतों का कोई भी संयोजन दें; जितना अधिक संदर्भ होगा, परिणाम उतना बेहतर होगा।",
498
+ "Figma, कोड और वैकल्पिक design.md मार्गदर्शन को Builder DSI से कनेक्ट करें.",
499
499
  companyBrand: "कंपनी / ब्रांड",
500
500
  companyBrandPlaceholder: "Acme Inc. — हम डेवलपर टूल बनाते हैं...",
501
- figmaFile: "Figma फ़ाइल",
502
- parsingFigmaFile: "Builder indexing शुरू की जा रही है...",
503
- uploadFigDescription: "Builder से index करने के लिए स्थानीय .fig कॉपी अपलोड करें",
501
+ figmaFile: "Figma कनेक्ट करें",
502
+ parsingFigmaFile: "Builder DSI indexing शुरू की जा रही है...",
503
+ uploadFigDescription: "Builder DSI के लिए स्थानीय .fig कॉपी अपलोड करें",
504
504
  builderIndexingStarted: "Builder indexing शुरू हुई",
505
505
  builderIndexingDescription:
506
506
  "Builder is indexing {{title}} into a reusable design system.",
@@ -510,9 +510,10 @@ const messages = {
510
510
  websiteUrl: "वेबसाइट URL",
511
511
  websitePlaceholder: "example.com या Nike",
512
512
  add: "जोड़ें",
513
- githubRepository: "GitHub रिपॉज़िटरी",
514
- codeFiles: "कोड फ़ाइलें",
515
- codeFilesDrop: "CSS, Tailwind कॉन्फ़िग, थीम फ़ाइलें — ड्रॉप करें या क्लिक करें",
513
+ githubRepository: "कोड कनेक्ट करें: GitHub रिपॉज़िटरी",
514
+ codeFiles: "कोड फ़ाइलें कनेक्ट करें",
515
+ codeFilesDrop:
516
+ "CSS, Tailwind कॉन्फ़िग, थीम फ़ाइलें, design.md — ड्रॉप करें या क्लिक करें",
516
517
  documents: "दस्तावेज़ और प्रेज़ेंटेशन",
517
518
  documentsDrop: "PPTX, DOCX, PDF, Markdown, TXT — ब्रांड गाइड, डिज़ाइन डॉक्स",
518
519
  visualReferences: "स्क्रीनशॉट और विज़ुअल रेफ़रेंस",
@@ -496,13 +496,12 @@ const messages = {
496
496
  newTitle: "新しいデザインシステム",
497
497
  editDescription: "ブランドアイデンティティを更新します。",
498
498
  newDescription:
499
- "任意のソースを組み合わせてください。コンテキストが多いほど結果が良くなります。",
499
+ "Figma、コード、任意の design.md ガイドを Builder DSI で接続します。",
500
500
  companyBrand: "会社 / ブランド",
501
501
  companyBrandPlaceholder: "Acme Inc. — 開発者向けツールを作っています...",
502
- figmaFile: "Figma ファイル",
503
- parsingFigmaFile: "Builder インデックス作成を開始しています...",
504
- uploadFigDescription:
505
- "Builder でインデックス作成するためにローカル .fig コピーをアップロード",
502
+ figmaFile: "Figma を接続",
503
+ parsingFigmaFile: "Builder DSI のインデックス作成を開始しています...",
504
+ uploadFigDescription: "Builder DSI 用にローカル .fig コピーをアップロード",
506
505
  builderIndexingStarted: "Builder インデックス作成を開始しました",
507
506
  builderIndexingDescription:
508
507
  "Builder is indexing {{title}} into a reusable design system.",
@@ -512,10 +511,10 @@ const messages = {
512
511
  websiteUrl: "Web サイト URL",
513
512
  websitePlaceholder: "example.com または Nike",
514
513
  add: "追加",
515
- githubRepository: "GitHub リポジトリ",
516
- codeFiles: "コードファイル",
514
+ githubRepository: "コードを接続: GitHub リポジトリ",
515
+ codeFiles: "コードファイルを接続",
517
516
  codeFilesDrop:
518
- "CSS、Tailwind 設定、テーマファイル — ドロップまたはクリック",
517
+ "CSS、Tailwind 設定、テーマファイル、design.md — ドロップまたはクリック",
519
518
  documents: "ドキュメントとプレゼンテーション",
520
519
  documentsDrop:
521
520
  "PPTX、DOCX、PDF、Markdown、TXT — ブランドガイド、デザイン文書",
@@ -492,12 +492,12 @@ const messages = {
492
492
  newTitle: "새 디자인 시스템",
493
493
  editDescription: "브랜드 아이덴티티를 업데이트하세요.",
494
494
  newDescription:
495
- "소스를 자유롭게 조합해 제공하세요. 맥락이 많을수록 결과가 좋아집니다.",
495
+ "Figma, 코드, 선택적 design.md 지침을 Builder DSI로 연결하세요.",
496
496
  companyBrand: "회사 / 브랜드",
497
497
  companyBrandPlaceholder: "Acme Inc. — 개발자 도구를 만듭니다...",
498
- figmaFile: "Figma 파일",
499
- parsingFigmaFile: "Builder 색인 생성을 시작하는 중...",
500
- uploadFigDescription: "Builder 색인 생성할 로컬 .fig 사본을 업로드하세요",
498
+ figmaFile: "Figma 연결",
499
+ parsingFigmaFile: "Builder DSI 색인 생성을 시작하는 중...",
500
+ uploadFigDescription: "Builder DSI용 로컬 .fig 사본 업로드",
501
501
  builderIndexingStarted: "Builder 색인 생성 시작됨",
502
502
  builderIndexingDescription:
503
503
  "Builder is indexing {{title}} into a reusable design system.",
@@ -507,9 +507,9 @@ const messages = {
507
507
  websiteUrl: "웹사이트 URL",
508
508
  websitePlaceholder: "example.com 또는 Nike",
509
509
  add: "추가",
510
- githubRepository: "GitHub 저장소",
511
- codeFiles: "코드 파일",
512
- codeFilesDrop: "CSS, Tailwind 설정, 테마 파일 — 드롭하거나 클릭",
510
+ githubRepository: "코드 연결: GitHub 저장소",
511
+ codeFiles: "코드 파일 연결",
512
+ codeFilesDrop: "CSS, Tailwind 설정, 테마 파일, design.md — 드롭하거나 클릭",
513
513
  documents: "문서 및 프레젠테이션",
514
514
  documentsDrop:
515
515
  "PPTX, DOCX, PDF, Markdown, TXT — 브랜드 가이드, 디자인 문서",
@@ -509,14 +509,13 @@ const messages = {
509
509
  newTitle: "Novo sistema de design",
510
510
  editDescription: "Atualize sua identidade de marca.",
511
511
  newDescription:
512
- "Forneça qualquer combinação de fontes; quanto mais contexto, melhor o resultado.",
512
+ "Conecte Figma, código e orientações opcionais de design.md pelo Builder DSI.",
513
513
  companyBrand: "Empresa / Marca",
514
514
  companyBrandPlaceholder:
515
515
  "Acme Inc. — Criamos ferramentas para desenvolvedores...",
516
- figmaFile: "Arquivo Figma",
517
- parsingFigmaFile: "Iniciando indexação do Builder...",
518
- uploadFigDescription:
519
- "Envie uma cópia local .fig para indexá-la com o Builder",
516
+ figmaFile: "Conectar Figma",
517
+ parsingFigmaFile: "Iniciando indexação do Builder DSI...",
518
+ uploadFigDescription: "Envie uma cópia local .fig para o Builder DSI",
520
519
  builderIndexingStarted: "Indexação do Builder iniciada",
521
520
  builderIndexingDescription:
522
521
  "Builder is indexing {{title}} into a reusable design system.",
@@ -526,10 +525,10 @@ const messages = {
526
525
  websiteUrl: "URL do site",
527
526
  websitePlaceholder: "example.com ou Nike",
528
527
  add: "Adicionar",
529
- githubRepository: "Repositório GitHub",
530
- codeFiles: "Arquivos de código",
528
+ githubRepository: "Conectar código: repositório GitHub",
529
+ codeFiles: "Conectar arquivos de código",
531
530
  codeFilesDrop:
532
- "CSS, configuração do Tailwind, arquivos de tema — solte ou clique",
531
+ "CSS, configuração do Tailwind, arquivos de tema, design.md — solte ou clique",
533
532
  documents: "Documentos e apresentações",
534
533
  documentsDrop:
535
534
  "PPTX, DOCX, PDF, Markdown, TXT — guias de marca, docs de design",
@@ -487,12 +487,13 @@ const messages = {
487
487
  editTitle: "编辑设计系统",
488
488
  newTitle: "新建设计系统",
489
489
  editDescription: "更新你的品牌标识。",
490
- newDescription: "提供任意来源组合;上下文越多,结果越好。",
490
+ newDescription:
491
+ "通过 Builder DSI 连接 Figma、代码和可选的 design.md 指引。",
491
492
  companyBrand: "公司 / 品牌",
492
493
  companyBrandPlaceholder: "Acme Inc. — 我们构建开发者工具...",
493
- figmaFile: "Figma 文件",
494
- parsingFigmaFile: "正在启动 Builder 索引...",
495
- uploadFigDescription: "上传本地 .fig 副本以使用 Builder 建立索引",
494
+ figmaFile: "连接 Figma",
495
+ parsingFigmaFile: "正在启动 Builder DSI 索引...",
496
+ uploadFigDescription: "上传本地 .fig 副本以用于 Builder DSI",
496
497
  builderIndexingStarted: "Builder 索引已启动",
497
498
  builderIndexingDescription:
498
499
  "Builder is indexing {{title}} into a reusable design system.",
@@ -502,9 +503,9 @@ const messages = {
502
503
  websiteUrl: "网站 URL",
503
504
  websitePlaceholder: "example.com 或 Nike",
504
505
  add: "添加",
505
- githubRepository: "GitHub 仓库",
506
- codeFiles: "代码文件",
507
- codeFilesDrop: "CSS、Tailwind 配置、主题文件 — 拖放或点击",
506
+ githubRepository: "连接代码:GitHub 仓库",
507
+ codeFiles: "连接代码文件",
508
+ codeFilesDrop: "CSS、Tailwind 配置、主题文件、design.md — 拖放或点击",
508
509
  documents: "文档和演示文稿",
509
510
  documentsDrop: "PPTX、DOCX、PDF、Markdown、TXT — 品牌指南、设计文档",
510
511
  visualReferences: "截图和视觉参考",
@@ -482,12 +482,13 @@ const messages = {
482
482
  editTitle: "編輯設計系統",
483
483
  newTitle: "新建設計系統",
484
484
  editDescription: "更新你的品牌識別。",
485
- newDescription: "提供任意來源組合;脈絡越多,結果越好。",
485
+ newDescription:
486
+ "透過 Builder DSI 連接 Figma、程式碼和選用的 design.md 指引。",
486
487
  companyBrand: "公司 / 品牌",
487
488
  companyBrandPlaceholder: "Acme Inc. — 我們建置開發者工具...",
488
- figmaFile: "Figma 檔案",
489
- parsingFigmaFile: "正在啟動 Builder 索引...",
490
- uploadFigDescription: "上傳本機 .fig 副本以使用 Builder 建立索引",
489
+ figmaFile: "連接 Figma",
490
+ parsingFigmaFile: "正在啟動 Builder DSI 索引...",
491
+ uploadFigDescription: "上傳本機 .fig 副本以用於 Builder DSI",
491
492
  builderIndexingStarted: "Builder 索引已啟動",
492
493
  builderIndexingDescription:
493
494
  "Builder is indexing {{title}} into a reusable design system.",
@@ -497,9 +498,9 @@ const messages = {
497
498
  websiteUrl: "網站 URL",
498
499
  websitePlaceholder: "example.com 或 Nike",
499
500
  add: "新增",
500
- githubRepository: "GitHub 倉庫",
501
- codeFiles: "程式碼檔案",
502
- codeFilesDrop: "CSS、Tailwind 設定、主題檔案 — 拖放或點選",
501
+ githubRepository: "連接程式碼:GitHub 倉庫",
502
+ codeFiles: "連接程式碼檔案",
503
+ codeFilesDrop: "CSS、Tailwind 設定、主題檔案、design.md — 拖放或點選",
503
504
  documents: "檔案和簡報",
504
505
  documentsDrop: "PPTX、DOCX、PDF、Markdown、TXT — 品牌指南、設計檔案",
505
506
  visualReferences: "截圖和視覺參考",
@@ -3,14 +3,20 @@ export const MAX_CANVAS_ZOOM = 400;
3
3
 
4
4
  export function computeCanvasFitZoom({
5
5
  viewportWidth,
6
+ viewportHeight,
6
7
  canvasWidth,
8
+ canvasHeight,
7
9
  horizontalPadding = 0,
10
+ verticalPadding = 0,
8
11
  minZoom = MIN_CANVAS_ZOOM,
9
12
  maxZoom = 100,
10
13
  }: {
11
14
  viewportWidth: number;
15
+ viewportHeight?: number;
12
16
  canvasWidth: number;
17
+ canvasHeight?: number;
13
18
  horizontalPadding?: number;
19
+ verticalPadding?: number;
14
20
  minZoom?: number;
15
21
  maxZoom?: number;
16
22
  }) {
@@ -24,9 +30,18 @@ export function computeCanvasFitZoom({
24
30
 
25
31
  const availableWidth = viewportWidth - Math.max(0, horizontalPadding);
26
32
  if (availableWidth <= 0) return minZoom;
33
+ const widthZoom = (availableWidth / canvasWidth) * 100;
34
+ const heightZoom =
35
+ typeof viewportHeight === "number" &&
36
+ Number.isFinite(viewportHeight) &&
37
+ typeof canvasHeight === "number" &&
38
+ Number.isFinite(canvasHeight) &&
39
+ canvasHeight > 0
40
+ ? ((viewportHeight - Math.max(0, verticalPadding)) / canvasHeight) * 100
41
+ : widthZoom;
27
42
 
28
43
  return Math.max(
29
44
  minZoom,
30
- Math.min(maxZoom, Math.floor((availableWidth / canvasWidth) * 100)),
45
+ Math.min(maxZoom, Math.floor(Math.min(widthZoom, heightZoom))),
31
46
  );
32
47
  }
@@ -776,7 +776,7 @@ export default function DeckEditor() {
776
776
 
777
777
  return (
778
778
  <div
779
- className="flex-1 flex flex-col overflow-hidden bg-background"
779
+ className="flex h-full min-h-0 flex-1 flex-col overflow-hidden bg-background"
780
780
  onDragOver={editorDragOver}
781
781
  onDrop={editorDrop}
782
782
  >
@@ -878,14 +878,14 @@ export default function DeckEditor() {
878
878
  }}
879
879
  />
880
880
 
881
- <div className="flex-1 flex overflow-hidden relative">
881
+ <div className="relative flex min-h-0 flex-1 overflow-hidden">
882
882
  {sidebarOpen && (
883
883
  <>
884
884
  <div
885
885
  className="md:hidden fixed inset-0 bg-black/50 z-30"
886
886
  onClick={() => setSidebarOpen(false)}
887
887
  />
888
- <div className="absolute md:relative z-40 h-full">
888
+ <div className="absolute z-40 h-full min-h-0 md:relative">
889
889
  <DndContext
890
890
  sensors={sensors}
891
891
  collisionDetection={closestCenter}
@@ -0,0 +1,6 @@
1
+ ---
2
+ type: improved
3
+ date: 2026-07-03
4
+ ---
5
+
6
+ Design system setup now indexes Figma, code, and design.md sources through Builder DSI.
@@ -0,0 +1,6 @@
1
+ ---
2
+ type: improved
3
+ date: 2026-07-03
4
+ ---
5
+
6
+ Slide editing now keeps thumbnails, speaker notes, styling, and the canvas in stable resizable panes with cleaner top controls.
@@ -1,91 +1,13 @@
1
+ import {
2
+ createBuilderDesignSystemProxyFields,
3
+ localBuilderDesignSystemId,
4
+ type BuilderDesignSystemIndexResult,
5
+ } from "@agent-native/core/server";
1
6
  import { eq } from "drizzle-orm";
2
7
  import { nanoid } from "nanoid";
3
8
 
4
9
  import { getDb, schema } from "../db/index.js";
5
10
 
6
- type BuilderDesignSystemIndexResult = {
7
- designSystemId: string;
8
- jobId: string;
9
- builderUrl: string;
10
- };
11
-
12
- function localBuilderDesignSystemId(builderDesignSystemId: string): string {
13
- const slug = builderDesignSystemId
14
- .replace(/[^a-zA-Z0-9_-]+/g, "-")
15
- .replace(/^-+|-+$/g, "")
16
- .slice(0, 96);
17
- return `builder-${slug || "design-system"}`;
18
- }
19
-
20
- function builderProxyData({
21
- builderDesignSystemId,
22
- jobId,
23
- builderUrl,
24
- projectName,
25
- description,
26
- }: {
27
- builderDesignSystemId: string;
28
- jobId: string;
29
- builderUrl: string;
30
- projectName?: string;
31
- description?: string;
32
- }) {
33
- return JSON.stringify({
34
- source: "builder",
35
- builderDesignSystemId,
36
- builderJobId: jobId,
37
- builderUrl,
38
- colors: {
39
- primary: "var(--primary)",
40
- secondary: "var(--secondary)",
41
- accent: "var(--accent)",
42
- background: "var(--background)",
43
- surface: "var(--card)",
44
- text: "var(--foreground)",
45
- textMuted: "var(--muted-foreground)",
46
- },
47
- typography: {
48
- headingFont: "inherit",
49
- bodyFont: "inherit",
50
- headingWeight: "700",
51
- bodyWeight: "400",
52
- headingSizes: { h1: "48px", h2: "32px", h3: "24px" },
53
- },
54
- spacing: { elementGap: "24px", slidePadding: "48px" },
55
- borders: { radius: "12px", accentWidth: "1px" },
56
- logos: [],
57
- notes: [
58
- "This is a local proxy for a Builder-indexed design system.",
59
- `Builder design system id: ${builderDesignSystemId}`,
60
- `Builder indexing job id: ${jobId}`,
61
- `Builder URL: ${builderUrl}`,
62
- projectName ? `Requested name: ${projectName}` : "",
63
- description ? `Context: ${description}` : "",
64
- "Use Builder as the source of truth for extracted tokens and guidance.",
65
- ]
66
- .filter(Boolean)
67
- .join("\n"),
68
- });
69
- }
70
-
71
- function builderProxyInstructions({
72
- builderDesignSystemId,
73
- jobId,
74
- builderUrl,
75
- }: {
76
- builderDesignSystemId: string;
77
- jobId: string;
78
- builderUrl: string;
79
- }) {
80
- return [
81
- "This design system is indexed and owned by Builder.",
82
- `Builder design system id: ${builderDesignSystemId}`,
83
- `Builder job id: ${jobId}`,
84
- `Builder URL: ${builderUrl}`,
85
- "When generating slides, treat Builder as the source of truth for the final extracted tokens, assets, and guidance.",
86
- ].join("\n");
87
- }
88
-
89
11
  export async function upsertBuilderProxyDesignSystem({
90
12
  result,
91
13
  ownerEmail,
@@ -104,18 +26,11 @@ export async function upsertBuilderProxyDesignSystem({
104
26
  const baseLocalDesignSystemId = localBuilderDesignSystemId(
105
27
  result.designSystemId,
106
28
  );
107
- const title = projectName?.trim() || "Builder indexed design system";
108
- const localData = builderProxyData({
109
- builderDesignSystemId: result.designSystemId,
110
- jobId: result.jobId,
111
- builderUrl: result.builderUrl,
29
+ const proxyFields = createBuilderDesignSystemProxyFields({
30
+ result,
112
31
  projectName,
113
32
  description,
114
- });
115
- const customInstructions = builderProxyInstructions({
116
- builderDesignSystemId: result.designSystemId,
117
- jobId: result.jobId,
118
- builderUrl: result.builderUrl,
33
+ surface: "slides",
119
34
  });
120
35
  const [existing] = await db
121
36
  .select({
@@ -133,13 +48,11 @@ export async function upsertBuilderProxyDesignSystem({
133
48
  await db
134
49
  .update(schema.designSystems)
135
50
  .set({
136
- title,
137
- description:
138
- description ??
139
- `Builder indexed design system ${result.designSystemId}`,
140
- data: localData,
51
+ title: proxyFields.title,
52
+ description: proxyFields.description,
53
+ data: proxyFields.data,
141
54
  assets: "[]",
142
- customInstructions,
55
+ customInstructions: proxyFields.customInstructions,
143
56
  updatedAt: now,
144
57
  })
145
58
  .where(eq(schema.designSystems.id, existing.id));
@@ -151,12 +64,11 @@ export async function upsertBuilderProxyDesignSystem({
151
64
  .limit(1);
152
65
  await db.insert(schema.designSystems).values({
153
66
  id: localDesignSystemId,
154
- title,
155
- description:
156
- description ?? `Builder indexed design system ${result.designSystemId}`,
157
- data: localData,
67
+ title: proxyFields.title,
68
+ description: proxyFields.description,
69
+ data: proxyFields.data,
158
70
  assets: "[]",
159
- customInstructions,
71
+ customInstructions: proxyFields.customInstructions,
160
72
  isDefault: !ownedSystem,
161
73
  ownerEmail,
162
74
  orgId: orgId ?? null,
@@ -1 +1 @@
1
- {"version":3,"file":"AgentPanel.d.ts","sourceRoot":"","sources":["../../src/client/AgentPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentPanel.d.ts","sourceRoot":"","sources":["../../src/client/AgentPanel.tsx"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@ import { IconMessageCircle, IconMessageDots, IconTerminal2, IconSettings, IconLa
26
26
  import React, { useState, useEffect, useRef, useCallback, useMemo, lazy, Suspense, startTransition, } from "react";
27
27
  import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuTrigger, } from "./components/ui/dropdown-menu.js";
28
28
  import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, normalizeTooltipText, } from "./components/ui/tooltip.js";
29
+ import { ErrorReportActions } from "./ErrorReportActions.js";
29
30
  import { FeedbackButton } from "./FeedbackButton.js";
30
31
  import { RunsTrayMenuItem } from "./progress/RunsTray.js";
31
32
  // Lazy-load the full assistant-ui chat stack (tiptap composer + react-markdown +
@@ -1057,7 +1058,7 @@ class AgentPanelErrorBoundary extends React.Component {
1057
1058
  return (_jsxs("div", { className: "flex h-full flex-col items-center justify-center gap-3 p-6 text-center", children: [_jsxs("div", { className: "max-w-[260px] space-y-1", children: [_jsx("p", { className: "text-sm font-medium text-foreground", children: "Agent panel hit an internal UI error." }), _jsx("p", { className: "text-xs leading-relaxed text-muted-foreground", children: "The app is still usable. Reset the panel to reload the chat UI." })] }), _jsx("button", { type: "button", className: "rounded-md border border-border bg-background px-3 py-1.5 text-xs font-medium text-foreground hover:bg-accent", onClick: () => {
1058
1059
  this.setState({ error: null, staleIndexRecoveryCount: 0 });
1059
1060
  this.props.onReset();
1060
- }, children: "Reset agent panel" })] }));
1061
+ }, children: "Reset agent panel" }), _jsx(ErrorReportActions, { appName: "Agent panel", title: "Agent panel UI error", details: this.state.error.message, issueTitle: "Agent panel UI error", className: "max-w-[260px]", feedbackClassName: "h-7", githubClassName: "h-7" })] }));
1061
1062
  }
1062
1063
  }
1063
1064
  export function AgentPanel(props) {