@agent-native/core 0.165.3 → 0.167.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/corpus/README.md +1 -1
  2. package/corpus/templates/analytics/.agents/skills/secrets/SKILL.md +5 -1
  3. package/corpus/templates/analytics/.agents/skills/workspace-conventions/SKILL.md +4 -1
  4. package/corpus/templates/analytics/CHANGELOG.md +740 -2
  5. package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +93 -56
  6. package/corpus/templates/analytics/app/i18n-data.ts +23 -20
  7. package/corpus/templates/analytics/app/pages/Settings.tsx +0 -1
  8. package/corpus/templates/analytics/app/pages/adhoc/explorer/index.tsx +0 -1
  9. package/corpus/templates/analytics/app/pages/adhoc/explorer-dashboard/index.tsx +1 -1
  10. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/SqlChartCard.tsx +2 -1
  11. package/corpus/templates/analytics/app/pages/sessions/SessionsPage.tsx +0 -1
  12. package/corpus/templates/analytics/server/lib/first-party-analytics-backend.ts +0 -32
  13. package/corpus/templates/analytics/server/lib/session-replay.ts +1 -5
  14. package/corpus/templates/assets/.agents/skills/secrets/SKILL.md +5 -1
  15. package/corpus/templates/assets/.agents/skills/workspace-conventions/SKILL.md +4 -1
  16. package/corpus/templates/assets/CHANGELOG.md +204 -2
  17. package/corpus/templates/assets/actions/navigate.ts +2 -2
  18. package/corpus/templates/assets/actions/save-generated-image.ts +0 -5
  19. package/corpus/templates/assets/app/routes/brand-kits.$id.tsx +2 -262
  20. package/corpus/templates/assets/app/routes/library.tsx +1 -1
  21. package/corpus/templates/assets/app/routes/settings.tsx +0 -3
  22. package/corpus/templates/brain/.agents/skills/secrets/SKILL.md +5 -1
  23. package/corpus/templates/brain/.agents/skills/workspace-conventions/SKILL.md +4 -1
  24. package/corpus/templates/brain/CHANGELOG.md +145 -2
  25. package/corpus/templates/brain/actions/ask-brain.ts +0 -1
  26. package/corpus/templates/brain/actions/navigate.ts +2 -2
  27. package/corpus/templates/brain/app/routes/sources.tsx +0 -4
  28. package/corpus/templates/brain/server/lib/capture-sanitization.ts +0 -11
  29. package/corpus/templates/calendar/.agents/skills/secrets/SKILL.md +5 -1
  30. package/corpus/templates/calendar/.agents/skills/workspace-conventions/SKILL.md +4 -1
  31. package/corpus/templates/calendar/CHANGELOG.md +272 -2
  32. package/corpus/templates/calendar/app/components/calendar/EventDetailPopover.tsx +0 -20
  33. package/corpus/templates/calendar/app/pages/CalendarView.tsx +0 -1
  34. package/corpus/templates/chat/.agents/skills/secrets/SKILL.md +5 -1
  35. package/corpus/templates/chat/.agents/skills/workspace-conventions/SKILL.md +4 -1
  36. package/corpus/templates/chat/CHANGELOG.md +89 -2
  37. package/corpus/templates/chat/actions/navigate.ts +2 -2
  38. package/corpus/templates/clips/.agents/skills/secrets/SKILL.md +5 -1
  39. package/corpus/templates/clips/.agents/skills/workspace-conventions/SKILL.md +4 -1
  40. package/corpus/templates/clips/CHANGELOG.md +865 -2
  41. package/corpus/templates/clips/actions/import-loom-recording.ts +16 -4
  42. package/corpus/templates/clips/actions/navigate.ts +2 -2
  43. package/corpus/templates/clips/app/components/editor/stitch-manager.tsx +0 -1
  44. package/corpus/templates/clips/app/components/library/space-dialogs.tsx +0 -1
  45. package/corpus/templates/clips/app/components/meetings/share-meeting-dialog.tsx +0 -1
  46. package/corpus/templates/clips/app/components/player/clips-share-trigger.tsx +17 -0
  47. package/corpus/templates/clips/app/components/player/delete-recording-menu.tsx +3 -3
  48. package/corpus/templates/clips/app/components/player/video-player.tsx +2 -2
  49. package/corpus/templates/clips/app/components/recorder/recorder-engine.ts +0 -1
  50. package/corpus/templates/clips/app/components/settings/ai-setup-section.tsx +0 -1
  51. package/corpus/templates/clips/app/global.css +31 -0
  52. package/corpus/templates/clips/app/hooks/use-playback-position.ts +0 -2
  53. package/corpus/templates/clips/app/lib/download-release-channel.ts +10 -0
  54. package/corpus/templates/clips/app/routes/_app.meetings.$meetingId.tsx +1 -3
  55. package/corpus/templates/clips/app/routes/download.tsx +67 -44
  56. package/corpus/templates/clips/app/routes/r.$recordingId.tsx +7 -12
  57. package/corpus/templates/clips/app/routes/record.tsx +6 -6
  58. package/corpus/templates/clips/app/routes/share.$shareId.tsx +26 -29
  59. package/corpus/templates/clips/changelog/2026-08-20-clip-viewer-share-actions.md +6 -0
  60. package/corpus/templates/clips/changelog/2026-08-20-preparing-recording-countdown-overlay.md +6 -0
  61. package/corpus/templates/clips/chrome-extension/src/background.ts +0 -13
  62. package/corpus/templates/clips/chrome-extension/src/overlay.ts +0 -1
  63. package/corpus/templates/clips/chrome-extension/src/popup.ts +0 -20
  64. package/corpus/templates/clips/desktop/src/app.tsx +6 -18
  65. package/corpus/templates/clips/desktop/src/hooks/useMediaDevices.ts +0 -1
  66. package/corpus/templates/clips/desktop/src/lib/recorder.ts +0 -8
  67. package/corpus/templates/clips/desktop/src/overlays/preparing.tsx +4 -6
  68. package/corpus/templates/clips/desktop/src/styles.css +18 -20
  69. package/corpus/templates/clips/desktop/src-tauri/src/clips/mod.rs +9 -17
  70. package/corpus/templates/content/.agents/skills/secrets/SKILL.md +5 -1
  71. package/corpus/templates/content/.agents/skills/workspace-conventions/SKILL.md +4 -1
  72. package/corpus/templates/content/CHANGELOG.md +503 -2
  73. package/corpus/templates/content/actions/_database-source-utils.ts +0 -3
  74. package/corpus/templates/content/actions/attach-content-database-source.ts +1 -4
  75. package/corpus/templates/content/actions/navigate.ts +2 -2
  76. package/corpus/templates/content/actions/prepare-builder-source-execution.ts +1 -1
  77. package/corpus/templates/content/app/components/editor/DocumentProperties.tsx +0 -6
  78. package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +0 -580
  79. package/corpus/templates/content/app/components/editor/database/FormView.tsx +2 -2
  80. package/corpus/templates/content/app/components/editor/database/filter-sort.ts +1 -1
  81. package/corpus/templates/content/app/components/editor/database/settings.tsx +0 -23
  82. package/corpus/templates/content/app/components/editor/database/sidebar.tsx +0 -1
  83. package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +8 -304
  84. package/corpus/templates/content/app/hooks/use-documents.ts +0 -1
  85. package/corpus/templates/content/shared/api.ts +0 -1
  86. package/corpus/templates/content/shared/builder-mdx.ts +0 -1
  87. package/corpus/templates/content/shared/nfm.ts +1 -7
  88. package/corpus/templates/crm/.agents/skills/secrets/SKILL.md +5 -1
  89. package/corpus/templates/crm/.agents/skills/workspace-conventions/SKILL.md +4 -1
  90. package/corpus/templates/crm/CHANGELOG.md +31 -2
  91. package/corpus/templates/crm/actions/merge-crm-records.ts +0 -4
  92. package/corpus/templates/crm/app/components/crm/record/RecordLists.tsx +0 -1
  93. package/corpus/templates/crm/server/crm/hubspot-adapter.ts +0 -1
  94. package/corpus/templates/crm/server/crm/salesforce-adapter.ts +0 -1
  95. package/corpus/templates/crm/server/db/crm-store.ts +1 -1
  96. package/corpus/templates/design/.agents/skills/secrets/SKILL.md +5 -1
  97. package/corpus/templates/design/.agents/skills/workspace-conventions/SKILL.md +4 -1
  98. package/corpus/templates/design/.generated/bridge/editor-chrome.generated.ts +1 -14
  99. package/corpus/templates/design/AGENTS.md +2 -1
  100. package/corpus/templates/design/CHANGELOG.md +870 -2
  101. package/corpus/templates/design/actions/apply-component-prop-edit.ts +1 -5
  102. package/corpus/templates/design/actions/generate-design.ts +0 -1
  103. package/corpus/templates/design/actions/generate-screens.ts +5 -2
  104. package/corpus/templates/design/actions/go-to-main-component.ts +2 -2
  105. package/corpus/templates/design/actions/list-design-systems.ts +10 -0
  106. package/corpus/templates/design/actions/navigate.ts +2 -2
  107. package/corpus/templates/design/actions/open-component-source.ts +4 -4
  108. package/corpus/templates/design/actions/present-design-variants.ts +1 -2
  109. package/corpus/templates/design/actions/run-design-audit.ts +0 -22
  110. package/corpus/templates/design/actions/show-design-questions.ts +5 -2
  111. package/corpus/templates/design/app/components/design/DesignCanvas.tsx +19 -8
  112. package/corpus/templates/design/app/components/design/EditPanel.tsx +11 -183
  113. package/corpus/templates/design/app/components/design/MultiScreenCanvas.tsx +21 -4
  114. package/corpus/templates/design/app/components/design/QuestionFlow.tsx +1 -5
  115. package/corpus/templates/design/app/components/design/bridge/codegen.ts +1 -1
  116. package/corpus/templates/design/app/components/design/bridge/editor-chrome.bridge.ts +10 -19
  117. package/corpus/templates/design/app/components/design/edit-panel/appearance-properties.tsx +1 -1
  118. package/corpus/templates/design/app/components/design/edit-panel/layout-properties.tsx +13 -3
  119. package/corpus/templates/design/app/components/design/edit-panel/panel-primitives.tsx +38 -32
  120. package/corpus/templates/design/app/components/design/edit-panel/position-layout-properties.tsx +1 -4
  121. package/corpus/templates/design/app/components/design/inspector/AlignmentMatrix.tsx +0 -4
  122. package/corpus/templates/design/app/components/design/inspector/AutoLayoutMatrix.tsx +15 -6
  123. package/corpus/templates/design/app/components/design/inspector/DesignColorPicker.tsx +2 -2
  124. package/corpus/templates/design/app/components/visual-editor/NodeRewriteProposal.tsx +0 -1
  125. package/corpus/templates/design/app/components/visual-editor/ReviewCanvasPins.tsx +1 -1
  126. package/corpus/templates/design/app/i18n-data.ts +122 -0
  127. package/corpus/templates/design/app/lib/clipboard-content-lineage.ts +11 -1
  128. package/corpus/templates/design/app/pages/DesignEditor.tsx +50 -254
  129. package/corpus/templates/design/app/pages/DesignSystemSetup.tsx +163 -8
  130. package/corpus/templates/design/app/pages/Index.tsx +17 -0
  131. package/corpus/templates/design/app/pages/design-editor/canvas-primitive-insert.ts +44 -32
  132. package/corpus/templates/design/app/pages/design-editor/canvas-primitives.ts +10 -0
  133. package/corpus/templates/design/app/pages/design-editor/clone-and-pen-edit.ts +49 -3
  134. package/corpus/templates/design/app/pages/design-editor/clone-idrefs.ts +31 -0
  135. package/corpus/templates/design/app/pages/design-editor/code-layer-state.ts +28 -0
  136. package/corpus/templates/design/app/pages/design-editor/commands/add-auto-layout.ts +3 -3
  137. package/corpus/templates/design/app/pages/design-editor/commands/align-selection.ts +44 -14
  138. package/corpus/templates/design/app/pages/design-editor/commands/apply-local-content-update.ts +16 -5
  139. package/corpus/templates/design/app/pages/design-editor/commands/change-selected-z-index.ts +1 -1
  140. package/corpus/templates/design/app/pages/design-editor/commands/frame-selection.ts +1 -1
  141. package/corpus/templates/design/app/pages/design-editor/commands/group-selection.ts +1 -1
  142. package/corpus/templates/design/app/pages/design-editor/commands/nudge-selection.ts +1 -1
  143. package/corpus/templates/design/app/pages/design-editor/commands/paste-selection.ts +142 -17
  144. package/corpus/templates/design/app/pages/design-editor/commands/screen-visual-duplicate-change.ts +1 -0
  145. package/corpus/templates/design/app/pages/design-editor/commands/ungroup-selection.ts +1 -1
  146. package/corpus/templates/design/app/pages/design-editor/commands/visual-duplicate-change.ts +1 -0
  147. package/corpus/templates/design/app/pages/design-editor/cross-screen-text-color.ts +25 -9
  148. package/corpus/templates/design/app/pages/design-editor/editor-state.ts +1 -0
  149. package/corpus/templates/design/app/pages/design-editor/measure-child-rects.ts +83 -0
  150. package/corpus/templates/design/app/pages/design-editor/paste-placement.ts +66 -0
  151. package/corpus/templates/design/server/routes/[...page].get.ts +0 -1
  152. package/corpus/templates/design/shared/code-layer.ts +120 -70
  153. package/corpus/templates/design/shared/design-surface-index.ts +0 -1
  154. package/corpus/templates/design/shared/pen-path.ts +0 -4
  155. package/corpus/templates/dispatch/.agents/skills/secrets/SKILL.md +5 -1
  156. package/corpus/templates/dispatch/.agents/skills/workspace-conventions/SKILL.md +4 -1
  157. package/corpus/templates/dispatch/CHANGELOG.md +196 -2
  158. package/corpus/templates/dispatch/app/routes/integrations.tsx +0 -109
  159. package/corpus/templates/factory/.agents/skills/secrets/SKILL.md +5 -1
  160. package/corpus/templates/factory/.agents/skills/workspace-conventions/SKILL.md +4 -1
  161. package/corpus/templates/factory/CHANGELOG.md +121 -2
  162. package/corpus/templates/factory/actions/navigate.ts +2 -2
  163. package/corpus/templates/factory/app/components/factory/FactoryAuditView.tsx +0 -13
  164. package/corpus/templates/factory/app/routes/factory.tsx +0 -1
  165. package/corpus/templates/factory/server/factory-graph/store.ts +0 -1
  166. package/corpus/templates/forms/.agents/skills/secrets/SKILL.md +5 -1
  167. package/corpus/templates/forms/.agents/skills/workspace-conventions/SKILL.md +4 -1
  168. package/corpus/templates/forms/CHANGELOG.md +166 -2
  169. package/corpus/templates/macros/.agents/skills/secrets/SKILL.md +5 -1
  170. package/corpus/templates/macros/.agents/skills/workspace-conventions/SKILL.md +4 -1
  171. package/corpus/templates/macros/CHANGELOG.md +49 -2
  172. package/corpus/templates/macros/app/components/layout/AppLayout.tsx +0 -1
  173. package/corpus/templates/mail/.agents/skills/secrets/SKILL.md +5 -1
  174. package/corpus/templates/mail/.agents/skills/workspace-conventions/SKILL.md +4 -1
  175. package/corpus/templates/mail/CHANGELOG.md +201 -2
  176. package/corpus/templates/mail/app/components/email/EmailList.tsx +0 -1
  177. package/corpus/templates/mail/app/components/layout/AppLayout.tsx +2 -2
  178. package/corpus/templates/mail/shared/markdown.ts +3 -0
  179. package/corpus/templates/plan/.agents/skills/secrets/SKILL.md +5 -1
  180. package/corpus/templates/plan/.agents/skills/workspace-conventions/SKILL.md +4 -1
  181. package/corpus/templates/plan/CHANGELOG.md +277 -2
  182. package/corpus/templates/slides/.agents/skills/secrets/SKILL.md +5 -1
  183. package/corpus/templates/slides/.agents/skills/workspace-conventions/SKILL.md +4 -1
  184. package/corpus/templates/slides/CHANGELOG.md +437 -2
  185. package/corpus/templates/slides/actions/add-slide.ts +0 -1
  186. package/corpus/templates/slides/actions/list-decks.ts +1 -1
  187. package/corpus/templates/slides/app/components/editor/EditorSidebar.tsx +1 -4
  188. package/corpus/templates/slides/app/components/editor/SlideContextToolbar.tsx +0 -1
  189. package/corpus/templates/slides/app/components/editor/SlideEditor.tsx +1 -1
  190. package/corpus/templates/slides/app/pages/DeckEditor.tsx +1 -6
  191. package/corpus/templates/tasks/.agents/skills/secrets/SKILL.md +5 -1
  192. package/corpus/templates/tasks/.agents/skills/workspace-conventions/SKILL.md +4 -1
  193. package/corpus/templates/tasks/CHANGELOG.md +32 -2
  194. package/corpus/templates/tasks/app/components/layout/Layout.tsx +0 -1
  195. package/corpus/templates/tasks/app/hooks/use-visible-task-fields.ts +1 -4
  196. package/corpus/templates/tasks/server/custom-fields/store.ts +1 -6
  197. package/corpus/templates/tasks/shared/list-screen-snapshot.ts +2 -2
  198. package/dist/agent/engine/registry.js +27 -14
  199. package/dist/agent/index.d.ts +1 -1
  200. package/dist/agent/production-agent.d.ts +19 -6
  201. package/dist/agent/production-agent.js +57 -16
  202. package/dist/agent/types.d.ts +3 -0
  203. package/dist/changelog/parse.d.ts +3 -3
  204. package/dist/changelog/parse.js +35 -16
  205. package/dist/client/EnvironmentBadge.d.ts +1 -0
  206. package/dist/client/EnvironmentBadge.js +7 -0
  207. package/dist/collab/awareness.d.ts +2 -2
  208. package/dist/collab/routes.d.ts +1 -1
  209. package/dist/collab/struct-routes.d.ts +1 -1
  210. package/dist/config.d.ts +11 -0
  211. package/dist/config.js +248 -0
  212. package/dist/deploy/build.js +12 -1
  213. package/dist/index.d.ts +1 -1
  214. package/dist/notifications/routes.d.ts +3 -3
  215. package/dist/observability/routes.d.ts +6 -6
  216. package/dist/resources/handlers.d.ts +2 -2
  217. package/dist/secrets/routes.d.ts +9 -9
  218. package/dist/server/agent-chat/plugin-options.d.ts +3 -2
  219. package/dist/server/agent-chat-plugin.js +5 -2
  220. package/dist/server/index.d.ts +1 -1
  221. package/dist/server/realtime-token.d.ts +1 -1
  222. package/dist/server/transcribe-voice.d.ts +1 -1
  223. package/dist/templates/chat/.agents/skills/secrets/SKILL.md +5 -1
  224. package/dist/templates/chat/.agents/skills/workspace-conventions/SKILL.md +4 -1
  225. package/dist/templates/chat/CHANGELOG.md +89 -2
  226. package/dist/templates/chat/actions/navigate.ts +2 -2
  227. package/dist/templates/default/.agents/skills/secrets/SKILL.md +5 -1
  228. package/dist/templates/default/.agents/skills/workspace-conventions/SKILL.md +4 -1
  229. package/dist/templates/headless/.agents/skills/secrets/SKILL.md +5 -1
  230. package/dist/templates/workspace-core/.agents/skills/secrets/SKILL.md +5 -1
  231. package/dist/templates/workspace-core/.agents/skills/workspace-conventions/SKILL.md +4 -1
  232. package/dist/vite/agent-native-config-loader.d.ts +1 -0
  233. package/dist/vite/agent-native-config-loader.js +3 -3
  234. package/dist/vite/agents-bundle-plugin.d.ts +1 -1
  235. package/dist/vite/agents-bundle-plugin.js +13 -1
  236. package/dist/vite/client.js +14 -14
  237. package/docs/content/agent-native-config.mdx +62 -11
  238. package/docs/content/agent-surfaces.mdx +6 -0
  239. package/docs/content/environment-variables.mdx +5 -2
  240. package/package.json +3 -3
  241. package/src/templates/chat/.agents/skills/secrets/SKILL.md +5 -1
  242. package/src/templates/chat/.agents/skills/workspace-conventions/SKILL.md +4 -1
  243. package/src/templates/chat/CHANGELOG.md +89 -2
  244. package/src/templates/chat/actions/navigate.ts +2 -2
  245. package/src/templates/default/.agents/skills/secrets/SKILL.md +5 -1
  246. package/src/templates/default/.agents/skills/workspace-conventions/SKILL.md +4 -1
  247. package/src/templates/headless/.agents/skills/secrets/SKILL.md +5 -1
  248. package/src/templates/workspace-core/.agents/skills/secrets/SKILL.md +5 -1
  249. package/src/templates/workspace-core/.agents/skills/workspace-conventions/SKILL.md +4 -1
@@ -68,7 +68,6 @@ import {
68
68
  IconChartBar,
69
69
  IconCheck,
70
70
  IconChevronDown,
71
- IconCircleDashed,
72
71
  IconClock,
73
72
  IconDatabase,
74
73
  IconEdit,
@@ -473,13 +472,6 @@ function statusLabel(t: Translate, status: WorkspaceConnectionStatus): string {
473
472
  return t(`integrations.status.${status}`);
474
473
  }
475
474
 
476
- function readinessLabel(
477
- t: Translate,
478
- status: WorkspaceConnectionProviderReadinessStatus,
479
- ): string {
480
- return t(`integrations.readiness.${status}`);
481
- }
482
-
483
475
  function scopeLabel(
484
476
  t: Translate,
485
477
  scope: WorkspaceConnectionCredentialRef["scope"],
@@ -742,32 +734,6 @@ function nextAllowedApps(
742
734
  return current.filter((id) => id !== appId);
743
735
  }
744
736
 
745
- function summarizeGrant(
746
- connection: WorkspaceConnection,
747
- grantApps: GrantApp[],
748
- grants: WorkspaceConnectionsResponse["grants"],
749
- t: Translate,
750
- ) {
751
- if (connection.allowedApps.length === 0) return t("integrations.allApps");
752
- const grantedAppIds = Array.from(
753
- new Set([
754
- ...connection.allowedApps,
755
- ...grants
756
- .filter((grant) => grant.connectionId === connection.id)
757
- .map((grant) => grant.appId)
758
- .filter((appId) => appId !== "*"),
759
- ]),
760
- );
761
- const labels = grantedAppIds
762
- .map((appId) => grantApps.find((app) => app.id === appId)?.label ?? appId)
763
- .slice(0, 3);
764
- const suffix =
765
- grantedAppIds.length > labels.length
766
- ? ` +${grantedAppIds.length - labels.length}`
767
- : "";
768
- return `${labels.join(", ")}${suffix}`;
769
- }
770
-
771
737
  function summarizeUserAccess(
772
738
  connection: WorkspaceConnection,
773
739
  t: Translate,
@@ -800,21 +766,6 @@ function summarizeUserAccess(
800
766
  return `${labels.join(", ")}${suffix}`;
801
767
  }
802
768
 
803
- function summarizeAppList(
804
- appIds: string[],
805
- grantApps: GrantApp[],
806
- t: Translate,
807
- ): string {
808
- const labels = appIds
809
- .map((appId) => grantApps.find((app) => app.id === appId)?.label ?? appId)
810
- .slice(0, 3);
811
- const suffix =
812
- appIds.length > labels.length ? ` +${appIds.length - labels.length}` : "";
813
- return labels.length > 0
814
- ? `${labels.join(", ")}${suffix}`
815
- : t("integrations.noApps");
816
- }
817
-
818
769
  function startWorkspaceProviderOAuth(provider: WorkspaceConnectionProvider) {
819
770
  const returnPath = `${window.location.pathname}${window.location.search}`;
820
771
  if (provider.id === "slack") {
@@ -3516,66 +3467,6 @@ export default function WorkspaceIntegrationsRoute() {
3516
3467
  );
3517
3468
  }
3518
3469
 
3519
- function IntegrationOnboarding() {
3520
- const t = useT();
3521
- const steps: Array<{
3522
- icon: IconComponent;
3523
- title: string;
3524
- detail: string;
3525
- }> = [
3526
- {
3527
- icon: IconPlugConnected,
3528
- title: t("integrations.onboardingConnectTitle"),
3529
- detail: t("integrations.onboardingConnectDetail"),
3530
- },
3531
- {
3532
- icon: IconShieldCheck,
3533
- title: t("integrations.onboardingGrantTitle"),
3534
- detail: t("integrations.onboardingGrantDetail"),
3535
- },
3536
- {
3537
- icon: IconDatabase,
3538
- title: t("integrations.onboardingLocalTitle"),
3539
- detail: t("integrations.onboardingLocalDetail"),
3540
- },
3541
- ];
3542
-
3543
- return (
3544
- <section className="rounded-lg bg-muted/30 px-4 py-3">
3545
- <div className="dispatch-onboarding-grid grid gap-3">
3546
- <div>
3547
- <h2 className="text-sm font-semibold text-foreground">
3548
- {t("integrations.onboardingTitle")}
3549
- </h2>
3550
- <p className="mt-1 text-sm leading-5 text-muted-foreground">
3551
- {t("integrations.onboardingDescription")}
3552
- </p>
3553
- </div>
3554
- <div className="dispatch-onboarding-steps-grid grid gap-2">
3555
- {steps.map((step) => {
3556
- const Icon = step.icon;
3557
- return (
3558
- <div key={step.title} className="flex min-w-0 gap-2">
3559
- <div className="mt-0.5 flex size-7 shrink-0 items-center justify-center rounded-md bg-muted/50">
3560
- <Icon size={14} className="text-muted-foreground" />
3561
- </div>
3562
- <div className="min-w-0">
3563
- <div className="text-xs font-medium text-foreground">
3564
- {step.title}
3565
- </div>
3566
- <div className="mt-0.5 text-xs leading-5 text-muted-foreground">
3567
- {step.detail}
3568
- </div>
3569
- </div>
3570
- </div>
3571
- );
3572
- })}
3573
- </div>
3574
- </div>
3575
- </section>
3576
- );
3577
- }
3578
-
3579
3470
  function SummaryCard({
3580
3471
  icon: Icon,
3581
3472
  label,
@@ -38,7 +38,11 @@ connection exists:
38
38
  register a `kind: "oauth"` entry so the shared UI renders Connect and the
39
39
  runtime owns status, refresh, and reauthorization.
40
40
  - **Deploy- or app-level configuration** - use deployment/runtime
41
- configuration, not a per-user secret row.
41
+ configuration, not a per-user secret row. For a non-secret public setting
42
+ already represented by `AgentNativeConfig`, put the default in
43
+ `agent-native.config.ts` and use its `AGENT_NATIVE_CONFIG_<PATH>` alias only
44
+ for a deployment override. Never put a credential or provider key in that
45
+ public namespace.
42
46
  - **Account, customer, manager, or other non-secret identifier** - store it as
43
47
  scoped connection metadata or app data, not as a masked secret field.
44
48
 
@@ -55,7 +55,10 @@ Preview before `--apply`, commit `agent-native.ejections.json`, and never edit
55
55
  ZIPs, screenshots, thumbnails, session replay chunks) in configured file/blob
56
56
  storage and persist only URLs, ids, or handles.
57
57
  - Store shared runtime configuration in the workspace root `.env`; use
58
- `apps/<app>/.env` only for app-specific overrides. Never hardcode API keys,
58
+ `apps/<app>/.env` only for app-specific overrides. For public app behavior,
59
+ prefer the default in `agent-native.config.ts` and use the deterministic
60
+ `AGENT_NATIVE_CONFIG_<UPPER_SNAKE_PATH>` alias only when a non-secret value
61
+ needs a deployment override. Never hardcode API keys,
59
62
  tokens, webhook URLs, signing secrets, private Builder/internal data, customer
60
63
  data, or credential-looking literals in source, docs, prompts, fixtures,
61
64
  application state, action responses, or generated app content. Use
@@ -3,8 +3,6 @@
3
3
  All notable user-facing changes to Chat are documented here. Open it any
4
4
  time from the command menu (Cmd+K → "What's new").
5
5
 
6
- Older updates live in [the changelog folder](./changelog/) and are included in the in-app "What's new" view.
7
-
8
6
  ## 2026-08-11
9
7
 
10
8
  ### Fixed
@@ -34,3 +32,124 @@ Older updates live in [the changelog folder](./changelog/) and are included in t
34
32
  ### Improved
35
33
 
36
34
  - Factory now keeps production automations running, shows scheduler health and run errors, and can email failure diagnostics.
35
+
36
+ ## 2026-08-04
37
+
38
+ ### Added
39
+
40
+ - Added organization-owned Factory automations for Slack bug triage, Builder handoffs, Sentry/GitHub intake, and governed PR approval.
41
+
42
+ ### Improved
43
+
44
+ - Improved Factory automation editing with reliable tab navigation, a model picker that explains Auto, and map selection that no longer creates false unsaved changes.
45
+
46
+ ## 2026-07-31
47
+
48
+ ### Added
49
+
50
+ - Added Factory, an inspectable foundation for agent factories with Slack and pull-request evidence, shadow decisions, feedback, and guarded agent handoffs.
51
+
52
+ ### Improved
53
+
54
+ - Clicking the Agent Native logo now toggles the app sidebar.
55
+
56
+ ## 2026-07-29
57
+
58
+ ### Improved
59
+
60
+ - Sidebar footers now keep Feedback, Search, and Collapse together without a separate language shortcut.
61
+
62
+ ## 2026-07-25
63
+
64
+ ### Improved
65
+
66
+ - Settings navigation now keeps Manage agent as a dedicated linked destination at the bottom.
67
+
68
+ ## 2026-07-24
69
+
70
+ ### Improved
71
+
72
+ - Secondary controls and dashboard surfaces now use quieter borderless styling.
73
+ - Sidebar utility controls now follow a consistent footer order.
74
+
75
+ ## 2026-07-23
76
+
77
+ ### Improved
78
+
79
+ - Full-page chat is better centered, with quieter chat history and a left-aligned New chat action.
80
+
81
+ ## 2026-07-22
82
+
83
+ ### Improved
84
+
85
+ - The sidebar footer now keeps Feedback and the collapse control on one compact row.
86
+ - Manage agent navigation now uses the connected-nodes icon.
87
+ - Recent chats now expand from a compact five-item list with New chat anchored at the bottom.
88
+
89
+ ### Fixed
90
+
91
+ - Full-page chat keeps the active conversation when moving to and from the sidebar.
92
+
93
+ ## 2026-07-17
94
+
95
+ ### Fixed
96
+
97
+ - The agent chat sidebar stays closed until you open it or start a chat handoff.
98
+
99
+ ## 2026-07-15
100
+
101
+ ### Removed
102
+
103
+ - The main navigation is now focused on Chat, Agent, and essential workspace settings.
104
+
105
+ ## 2026-07-14
106
+
107
+ ### Fixed
108
+
109
+ - Chat opens reliably on hosted deployments instead of failing during startup
110
+ - Fixed chat template startup with older core versions
111
+
112
+ ## 2026-07-13
113
+
114
+ ### Added
115
+
116
+ - A full Agent page now brings context, files, connections, jobs, and external access together
117
+
118
+ ## 2026-07-10
119
+
120
+ ### Improved
121
+
122
+ - Chat now makes AI connection setup clear without shifting the composer.
123
+
124
+ ## 2026-07-08
125
+
126
+ ### Improved
127
+
128
+ - Settings are cleaner and searchable, with a consistent navigation that jumps straight to any setting.
129
+
130
+ ## 2026-06-29
131
+
132
+ ### Improved
133
+
134
+ - Chat layouts adapt when the agent sidebar is open.
135
+
136
+ ## 2026-06-28
137
+
138
+ ### Improved
139
+
140
+ - Left sidebar collapse motion and footer controls now feel smoother and use less divider chrome.
141
+
142
+ ## 2026-06-27
143
+
144
+ ### Fixed
145
+
146
+ - Traditional Chinese copy now uses Taiwan terminology and clearer technical wording.
147
+
148
+ ## 2026-06-24
149
+
150
+ ### Added
151
+
152
+ - A new Settings page gives quick access to language, workspace, and agent preferences.
153
+ - Added a language picker and localized app chrome for supported languages.
154
+
155
+ For the full list of updates, see the [changelog folder](./changelog/).
@@ -14,7 +14,7 @@
14
14
  */
15
15
 
16
16
  import { defineAction } from "@agent-native/core/action";
17
- import { writeAppState } from "@agent-native/core/application-state";
17
+ import { writeAppStateForCurrentTab } from "@agent-native/core/application-state";
18
18
  import { z } from "zod";
19
19
 
20
20
  export default defineAction({
@@ -35,7 +35,7 @@ export default defineAction({
35
35
  if (args.path) nav.path = args.path;
36
36
  if (args.threadId) nav.threadId = args.threadId;
37
37
  nav._writeId = `${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
38
- await writeAppState("navigate", nav);
38
+ await writeAppStateForCurrentTab("navigate", nav);
39
39
  return `Navigating to ${args.view || args.path}`;
40
40
  },
41
41
  });
@@ -695,19 +695,6 @@ function formatAuditLabel(value: string): string {
695
695
  .replace(/\b\w/g, (letter) => letter.toUpperCase());
696
696
  }
697
697
 
698
- function formatAuditValue(value: unknown): string {
699
- if (value === null || value === undefined) return "-";
700
- if (typeof value === "string") return value;
701
- if (typeof value === "number" || typeof value === "boolean") {
702
- return String(value);
703
- }
704
- try {
705
- return JSON.stringify(value);
706
- } catch {
707
- return "unreadable";
708
- }
709
- }
710
-
711
698
  function truncateAuditText(value: string, maxLength: number): string {
712
699
  return value.length > maxLength ? `${value.slice(0, maxLength - 1)}…` : value;
713
700
  }
@@ -24,7 +24,6 @@ import { FactoryAgentsView } from "@/components/factory/FactoryAgentsView";
24
24
  import { FactoryAuditView } from "@/components/factory/FactoryAuditView";
25
25
  import {
26
26
  FactoryCanvas,
27
- type FactoryCanvasEdge,
28
27
  type FactoryCanvasGraph,
29
28
  type FactoryCanvasNode,
30
29
  } from "@/components/factory/FactoryCanvas";
@@ -63,7 +63,6 @@ export async function readFactoryDefinition(orgId: string, factoryId: string) {
63
63
  export async function readFactoryMetrics(
64
64
  orgId: string,
65
65
  ): Promise<FactoryMetricSummary> {
66
- const db = getDb();
67
66
  const [
68
67
  totalItems,
69
68
  slackItems,
@@ -38,7 +38,11 @@ connection exists:
38
38
  register a `kind: "oauth"` entry so the shared UI renders Connect and the
39
39
  runtime owns status, refresh, and reauthorization.
40
40
  - **Deploy- or app-level configuration** - use deployment/runtime
41
- configuration, not a per-user secret row.
41
+ configuration, not a per-user secret row. For a non-secret public setting
42
+ already represented by `AgentNativeConfig`, put the default in
43
+ `agent-native.config.ts` and use its `AGENT_NATIVE_CONFIG_<PATH>` alias only
44
+ for a deployment override. Never put a credential or provider key in that
45
+ public namespace.
42
46
  - **Account, customer, manager, or other non-secret identifier** - store it as
43
47
  scoped connection metadata or app data, not as a masked secret field.
44
48
 
@@ -55,7 +55,10 @@ Preview before `--apply`, commit `agent-native.ejections.json`, and never edit
55
55
  ZIPs, screenshots, thumbnails, session replay chunks) in configured file/blob
56
56
  storage and persist only URLs, ids, or handles.
57
57
  - Store shared runtime configuration in the workspace root `.env`; use
58
- `apps/<app>/.env` only for app-specific overrides. Never hardcode API keys,
58
+ `apps/<app>/.env` only for app-specific overrides. For public app behavior,
59
+ prefer the default in `agent-native.config.ts` and use the deterministic
60
+ `AGENT_NATIVE_CONFIG_<UPPER_SNAKE_PATH>` alias only when a non-secret value
61
+ needs a deployment override. Never hardcode API keys,
59
62
  tokens, webhook URLs, signing secrets, private Builder/internal data, customer
60
63
  data, or credential-looking literals in source, docs, prompts, fixtures,
61
64
  application state, action responses, or generated app content. Use
@@ -3,8 +3,6 @@
3
3
  All notable user-facing changes to Agent-Native Forms are documented here. Open it any
4
4
  time from the command menu (Cmd+K → "What's new").
5
5
 
6
- Older updates live in [the changelog folder](./changelog/) and are included in the in-app "What's new" view.
7
-
8
6
  ## 2026-08-11
9
7
 
10
8
  ### Improved
@@ -44,3 +42,169 @@ Older updates live in [the changelog folder](./changelog/) and are included in t
44
42
  ### Improved
45
43
 
46
44
  - The Agent Native logo stays visible when the sidebar is collapsed and toggles the sidebar when clicked.
45
+
46
+ ## 2026-07-29
47
+
48
+ ### Improved
49
+
50
+ - Sidebar footers now keep Feedback, Search, and Collapse together without a separate language shortcut.
51
+
52
+ ## 2026-07-25
53
+
54
+ ### Improved
55
+
56
+ - App branding now uses the product name without the Agent-Native prefix.
57
+ - Response exports now save to file storage and return a downloadable URL.
58
+ - Settings navigation now keeps Manage agent as a dedicated linked destination at the bottom.
59
+
60
+ ### Fixed
61
+
62
+ - Forms can create and update fields without manually supplied IDs.
63
+
64
+ ## 2026-07-24
65
+
66
+ ### Improved
67
+
68
+ - Secondary controls and dashboard surfaces now use quieter borderless styling.
69
+ - Forms sidebar actions now keep search, language, feedback, and collapse controls together.
70
+ - Sidebar utility controls now follow a consistent footer order.
71
+
72
+ ## 2026-07-23
73
+
74
+ ### Improved
75
+
76
+ - Agent settings are clearly labeled Manage agent in the sidebar.
77
+ - Ask Forms is better centered, with quieter chat history and a left-aligned New chat action.
78
+ - Forms can branch into follow-up questions and route responses to configured destinations.
79
+
80
+ ### Fixed
81
+
82
+ - Published form links can be copied without being asked to reconnect the database.
83
+
84
+ ## 2026-07-22
85
+
86
+ ### Improved
87
+
88
+ - Forms now archive with immediate list updates and clear recovery feedback when an archive fails.
89
+ - Manage agent navigation now uses the connected-nodes icon.
90
+
91
+ ### Fixed
92
+
93
+ - Full-page chat keeps the active conversation when moving to and from the sidebar.
94
+
95
+ ## 2026-07-17
96
+
97
+ ### Fixed
98
+
99
+ - Form builder popovers stay within the viewport
100
+ - Form editor loading now matches the current sidebar-free layout.
101
+ - The agent chat sidebar stays closed until you open it or start a chat handoff.
102
+
103
+ ## 2026-07-15
104
+
105
+ ### Fixed
106
+
107
+ - Published forms now reflect field updates immediately at their shared links
108
+ - Response rows now keep every column aligned to the top for consistent scanning
109
+
110
+ ## 2026-07-14
111
+
112
+ ### Added
113
+
114
+ - Forms can email the form owner when new responses arrive
115
+
116
+ ### Fixed
117
+
118
+ - Fixed the Ask Forms loading input appearing above the welcome message.
119
+ - Form social previews now show the form title, description, and owner photo.
120
+
121
+ ## 2026-07-13
122
+
123
+ ### Added
124
+
125
+ - New Agent page: see and manage your agent's context, files, connections, jobs, and external access in one place
126
+
127
+ ### Fixed
128
+
129
+ - Form navigation links now support opening in a new tab.
130
+
131
+ ## 2026-07-12
132
+
133
+ ### Improved
134
+
135
+ - Ask Forms suggestions now sit beneath the composer and prefill it when clicked
136
+ - Builder response tables now fill the view without a redundant response count badge
137
+ - Form builder surfaces are calmer, fields stay stable on hover, and integration icons load correctly
138
+ - Response tables now fill the available pane with a flexible trailing cell
139
+ - Smoother, more tactile controls throughout: animated icon and sort toggles, press feedback on buttons and cards, and larger click targets
140
+
141
+ ## 2026-07-10
142
+
143
+ ### Improved
144
+
145
+ - Agent-created published forms now return the anonymous public response link
146
+
147
+ ### Fixed
148
+
149
+ - Published forms can no longer be edited into an unusable empty or optionless state.
150
+ - Simultaneous edits to different form fields no longer overwrite each other
151
+
152
+ ## 2026-07-08
153
+
154
+ ### Improved
155
+
156
+ - Settings are cleaner and searchable, with a consistent navigation that jumps straight to any setting.
157
+
158
+ ## 2026-07-06
159
+
160
+ ### Removed
161
+
162
+ - The form builder header no longer shows the global notifications bell.
163
+
164
+ ## 2026-06-29
165
+
166
+ ### Fixed
167
+
168
+ - Form lists and response insights now adapt cleanly when the agent sidebar narrows the app.
169
+
170
+ ## 2026-06-28
171
+
172
+ ### Improved
173
+
174
+ - The left sidebar now collapses into an animated icon rail with quieter footer controls.
175
+
176
+ ## 2026-06-27
177
+
178
+ ### Fixed
179
+
180
+ - Anonymous feedback no longer shows internal Agent Native anonymous-owner emails as submitter addresses.
181
+ - Traditional Chinese copy now uses Taiwan terminology and clearer technical wording.
182
+
183
+ ## 2026-06-26
184
+
185
+ ### Improved
186
+
187
+ - Ask Forms opens as a standard app tab with a simpler sidebar.
188
+ - Forms are shown in a tighter row list with a denser sidebar.
189
+
190
+ ## 2026-06-25
191
+
192
+ ### Improved
193
+
194
+ - Form previews now show the content directly on the grid background.
195
+
196
+ ## 2026-06-24
197
+
198
+ ### Added
199
+
200
+ - A new Settings page gives quick access to language, workspace, and agent preferences.
201
+ - Added a language picker and localized app chrome for supported languages.
202
+
203
+ ## 2026-06-23
204
+
205
+ ### Added
206
+
207
+ - Response tables now show the page each submission came from, passed through from embedded feedback widgets
208
+ - Response tables now show whether feedback came from the web, the Electron desktop app, or a Tauri app
209
+
210
+ For the full list of updates, see the [changelog folder](./changelog/).
@@ -38,7 +38,11 @@ connection exists:
38
38
  register a `kind: "oauth"` entry so the shared UI renders Connect and the
39
39
  runtime owns status, refresh, and reauthorization.
40
40
  - **Deploy- or app-level configuration** - use deployment/runtime
41
- configuration, not a per-user secret row.
41
+ configuration, not a per-user secret row. For a non-secret public setting
42
+ already represented by `AgentNativeConfig`, put the default in
43
+ `agent-native.config.ts` and use its `AGENT_NATIVE_CONFIG_<PATH>` alias only
44
+ for a deployment override. Never put a credential or provider key in that
45
+ public namespace.
42
46
  - **Account, customer, manager, or other non-secret identifier** - store it as
43
47
  scoped connection metadata or app data, not as a masked secret field.
44
48
 
@@ -55,7 +55,10 @@ Preview before `--apply`, commit `agent-native.ejections.json`, and never edit
55
55
  ZIPs, screenshots, thumbnails, session replay chunks) in configured file/blob
56
56
  storage and persist only URLs, ids, or handles.
57
57
  - Store shared runtime configuration in the workspace root `.env`; use
58
- `apps/<app>/.env` only for app-specific overrides. Never hardcode API keys,
58
+ `apps/<app>/.env` only for app-specific overrides. For public app behavior,
59
+ prefer the default in `agent-native.config.ts` and use the deterministic
60
+ `AGENT_NATIVE_CONFIG_<UPPER_SNAKE_PATH>` alias only when a non-secret value
61
+ needs a deployment override. Never hardcode API keys,
59
62
  tokens, webhook URLs, signing secrets, private Builder/internal data, customer
60
63
  data, or credential-looking literals in source, docs, prompts, fixtures,
61
64
  application state, action responses, or generated app content. Use
@@ -3,8 +3,6 @@
3
3
  All notable user-facing changes to Agent-Native Macros are documented here. Open it any
4
4
  time from the command menu (Cmd+K → "What's new").
5
5
 
6
- Older updates live in [the changelog folder](./changelog/) and are included in the in-app "What's new" view.
7
-
8
6
  ## 2026-07-29
9
7
 
10
8
  ### Improved
@@ -36,3 +34,52 @@ Older updates live in [the changelog folder](./changelog/) and are included in t
36
34
  ### Added
37
35
 
38
36
  - New Agent page: see and manage your agent's context, files, connections, jobs, and external access in one place
37
+
38
+ ## 2026-07-11
39
+
40
+ ### Improved
41
+
42
+ - Daily tracking now loads immediately and updates progress more smoothly.
43
+
44
+ ### Fixed
45
+
46
+ - Data load failures now show a clear error with a retry action instead of empty nutrition logs or charts.
47
+
48
+ ## 2026-07-08
49
+
50
+ ### Improved
51
+
52
+ - Settings are cleaner and searchable, with a consistent navigation that jumps straight to any setting.
53
+
54
+ ## 2026-06-30
55
+
56
+ ### Fixed
57
+
58
+ - Dashboard loading and chart surfaces now use theme-aware colors in light and dark mode.
59
+
60
+ ## 2026-06-29
61
+
62
+ ### Improved
63
+
64
+ - Macro layouts adapt when the agent sidebar is open.
65
+
66
+ ## 2026-06-28
67
+
68
+ ### Improved
69
+
70
+ - Left sidebar footer controls now use less divider chrome.
71
+
72
+ ## 2026-06-27
73
+
74
+ ### Fixed
75
+
76
+ - Traditional Chinese copy now uses Taiwan terminology and clearer technical wording.
77
+
78
+ ## 2026-06-24
79
+
80
+ ### Added
81
+
82
+ - A new Settings page gives quick access to language, workspace, and agent preferences.
83
+ - Added a language picker and localized app chrome for supported languages.
84
+
85
+ For the full list of updates, see the [changelog folder](./changelog/).
@@ -27,7 +27,6 @@ import {
27
27
  import { useState, useEffect } from "react";
28
28
  import { Link, useLocation, useNavigate } from "react-router";
29
29
 
30
- import { Button } from "@/components/ui/button";
31
30
  import { Sheet, SheetContent, SheetTitle } from "@/components/ui/sheet";
32
31
  import {
33
32
  Tooltip,
@@ -38,7 +38,11 @@ connection exists:
38
38
  register a `kind: "oauth"` entry so the shared UI renders Connect and the
39
39
  runtime owns status, refresh, and reauthorization.
40
40
  - **Deploy- or app-level configuration** - use deployment/runtime
41
- configuration, not a per-user secret row.
41
+ configuration, not a per-user secret row. For a non-secret public setting
42
+ already represented by `AgentNativeConfig`, put the default in
43
+ `agent-native.config.ts` and use its `AGENT_NATIVE_CONFIG_<PATH>` alias only
44
+ for a deployment override. Never put a credential or provider key in that
45
+ public namespace.
42
46
  - **Account, customer, manager, or other non-secret identifier** - store it as
43
47
  scoped connection metadata or app data, not as a masked secret field.
44
48