@agent-native/core 0.130.2 → 0.131.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/corpus/README.md +2 -2
- package/corpus/core/CHANGELOG.md +79 -0
- package/corpus/core/docs/content/agent-surfaces.mdx +4 -4
- package/corpus/core/docs/content/automations.mdx +61 -12
- package/corpus/core/docs/content/deployment.mdx +11 -4
- package/corpus/core/docs/content/extensions.mdx +39 -33
- package/corpus/core/docs/content/recurring-jobs.mdx +41 -19
- package/corpus/core/docs/content/template-dispatch-operations.mdx +19 -7
- package/corpus/core/package.json +3 -1
- package/corpus/core/src/a2a/types.ts +6 -0
- package/corpus/core/src/action.ts +68 -0
- package/corpus/core/src/agent/engine/builder-engine.ts +8 -4
- package/corpus/core/src/agent/production-agent.ts +175 -100
- package/corpus/core/src/agent/tool-search.ts +36 -0
- package/corpus/core/src/automations/service.ts +506 -0
- package/corpus/core/src/browser-context/index.ts +392 -0
- package/corpus/core/src/client/AgentPanel.tsx +2 -1
- package/corpus/core/src/client/FeedbackButton.tsx +37 -4
- package/corpus/core/src/client/MultiTabAssistantChat.tsx +21 -0
- package/corpus/core/src/client/agent-chat.ts +31 -3
- package/corpus/core/src/client/agent-page/AgentJobsTab.tsx +438 -310
- package/corpus/core/src/client/agent-page/AgentTabsPage.tsx +4 -4
- package/corpus/core/src/client/agent-page/use-jobs.ts +7 -0
- package/corpus/core/src/client/analytics-session.ts +13 -0
- package/corpus/core/src/client/extensions/ExtensionViewer.tsx +67 -0
- package/corpus/core/src/client/settings/AutomationsSection.tsx +27 -499
- package/corpus/core/src/client/settings/SettingsPanel.tsx +32 -11
- package/corpus/core/src/client/settings/index.ts +2 -0
- package/corpus/core/src/client/use-agent-chat.ts +35 -3
- package/corpus/core/src/client/use-chat-threads.ts +8 -25
- package/corpus/core/src/deploy/build.ts +2 -0
- package/corpus/core/src/deploy/workspace-deploy.ts +2 -0
- package/corpus/core/src/extensions/actions.ts +115 -3
- package/corpus/core/src/extensions/fetch-tool.ts +11 -0
- package/corpus/core/src/extensions/routes.ts +16 -1
- package/corpus/core/src/extensions/web-content.ts +96 -1
- package/corpus/core/src/integrations/computer-supervision.ts +33 -1
- package/corpus/core/src/integrations/index.ts +6 -0
- package/corpus/core/src/integrations/integration-durable-dispatch-config.ts +10 -0
- package/corpus/core/src/integrations/integration-durable-dispatch.ts +4 -0
- package/corpus/core/src/integrations/plugin.ts +94 -41
- package/corpus/core/src/integrations/remote-browser-actions.ts +621 -0
- package/corpus/core/src/jobs/actions/list-recurring-jobs.ts +5 -7
- package/corpus/core/src/jobs/actions/manage-recurring-job.ts +3 -7
- package/corpus/core/src/jobs/background-automation-runner.ts +437 -0
- package/corpus/core/src/jobs/frontmatter.ts +308 -0
- package/corpus/core/src/jobs/scheduler.ts +89 -598
- package/corpus/core/src/jobs/tools.ts +22 -3
- package/corpus/core/src/localization/default-messages.ts +45 -45
- package/corpus/core/src/mcp-client/index.ts +6 -0
- package/corpus/core/src/notifications/actions.ts +5 -0
- package/corpus/core/src/progress/actions.ts +5 -0
- package/corpus/core/src/provider-api/actions/github-repo-files.ts +11 -0
- package/corpus/core/src/provider-api/actions/provider-api.ts +13 -0
- package/corpus/core/src/server/action-discovery.ts +7 -0
- package/corpus/core/src/server/agent-capabilities.ts +43 -8
- package/corpus/core/src/server/agent-chat/action-filters-a2a.ts +63 -1
- package/corpus/core/src/server/agent-chat/browser-team-tools.ts +126 -3
- package/corpus/core/src/server/agent-chat/framework-prompts.ts +7 -11
- package/corpus/core/src/server/agent-chat/plugin-options.ts +3 -3
- package/corpus/core/src/server/agent-chat/script-entries.ts +52 -1
- package/corpus/core/src/server/agent-chat-plugin.ts +25 -5
- package/corpus/core/src/server/attribution.ts +22 -0
- package/corpus/core/src/server/auth.ts +20 -6
- package/corpus/core/src/server/better-auth-instance.ts +10 -2
- package/corpus/core/src/server/core-routes-plugin.ts +10 -1
- package/corpus/core/src/server/csrf.ts +25 -0
- package/corpus/core/src/server/google-oauth.ts +21 -1
- package/corpus/core/src/server/onboarding-html.ts +18 -0
- package/corpus/core/src/server/prompts/framework-core-compact.ts +3 -3
- package/corpus/core/src/server/prompts/framework-core.ts +3 -3
- package/corpus/core/src/server/prompts/shared-rules.ts +3 -3
- package/corpus/core/src/settings/index.ts +1 -0
- package/corpus/core/src/shared/analytics-anonymous-id.ts +35 -0
- package/corpus/core/src/templates/default/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/core/src/templates/default/app/i18n/ar-SA.ts +26 -0
- package/corpus/core/src/templates/default/app/i18n/de-DE.ts +28 -0
- package/corpus/core/src/templates/default/app/i18n/en-US.ts +27 -0
- package/corpus/core/src/templates/default/app/i18n/es-ES.ts +28 -0
- package/corpus/core/src/templates/default/app/i18n/fr-FR.ts +28 -0
- package/corpus/core/src/templates/default/app/i18n/hi-IN.ts +25 -0
- package/corpus/core/src/templates/default/app/i18n/ja-JP.ts +27 -0
- package/corpus/core/src/templates/default/app/i18n/ko-KR.ts +27 -0
- package/corpus/core/src/templates/default/app/i18n/pt-BR.ts +27 -0
- package/corpus/core/src/templates/default/app/i18n/zh-CN.ts +24 -0
- package/corpus/core/src/templates/default/app/i18n/zh-TW.ts +24 -0
- package/corpus/core/src/templates/headless/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/agent-page/SKILL.md +10 -7
- package/corpus/core/src/templates/workspace-core/.agents/skills/automations/SKILL.md +53 -8
- package/corpus/core/src/templates/workspace-core/.agents/skills/browser-sessions/SKILL.md +131 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/extension-points/SKILL.md +13 -4
- package/corpus/core/src/templates/workspace-core/.agents/skills/extensions/SKILL.md +23 -15
- package/corpus/core/src/templates/workspace-core/.agents/skills/recurring-jobs/SKILL.md +33 -18
- package/corpus/core/src/tracking/providers.ts +1 -0
- package/corpus/core/src/tracking/registry.ts +2 -1
- package/corpus/core/src/tracking/types.ts +1 -0
- package/corpus/core/src/triggers/actions/list-automations.ts +43 -44
- package/corpus/core/src/triggers/actions/manage-automation.ts +17 -48
- package/corpus/core/src/triggers/actions.ts +218 -127
- package/corpus/core/src/triggers/dispatcher.ts +181 -367
- package/corpus/core/src/triggers/routes.ts +84 -27
- package/corpus/core/src/triggers/types.ts +9 -23
- package/corpus/templates/analytics/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/analytics/AGENTS.md +5 -0
- package/corpus/templates/analytics/actions/hubspot-deals.ts +1 -0
- package/corpus/templates/analytics/actions/hubspot-records.ts +1 -0
- package/corpus/templates/analytics/actions/install-dashboard-template.ts +13 -4
- package/corpus/templates/analytics/actions/rename-dashboard.ts +8 -3
- package/corpus/templates/analytics/actions/restore-dashboard-revision.ts +8 -3
- package/corpus/templates/analytics/actions/update-dashboard.ts +22 -5
- package/corpus/templates/analytics/app/components/dashboard/DashboardPanelSkeleton.tsx +7 -1
- package/corpus/templates/analytics/app/components/layout/CommandPalette.tsx +1 -82
- package/corpus/templates/analytics/app/components/layout/NewDashboardDialog.tsx +4 -4
- package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +23 -13
- package/corpus/templates/analytics/app/global.css +21 -0
- package/corpus/templates/analytics/app/i18n-data.ts +165 -101
- package/corpus/templates/analytics/app/lib/custom-block-promotion.ts +62 -0
- package/corpus/templates/analytics/app/pages/adhoc/explorer-dashboard/index.tsx +17 -2
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/PanelEditorDialog.tsx +3 -1
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/SqlChartCard.tsx +77 -12
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/dashboard-save-queue.ts +34 -0
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/index.tsx +42 -26
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/types.ts +15 -0
- package/corpus/templates/analytics/app/pages/analyses/AnalysisDetail.tsx +1 -1
- package/corpus/templates/analytics/changelog/2026-07-29-chat-history-now-closes-smoothly-and-stays-ready-when-you-re.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-29-chat-history-stays-visible-when-you-return-to-the-dashboard.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-29-custom-dashboard-blocks-now-identify-one-off-agent-patches-a.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-29-dashboard-chart-deletions-now-save-in-order-so-removed-rows-.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-29-dashboard-chart-loaders-are-easier-to-see-and-animate-more-s.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-29-plan-mode-can-now-query-connected-analytics-sources-while-ke.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-29-plan-mode-can-use-clips-as-read-only-prompt-context.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-29-signup-entry-pages-now-show-the-first-page-viewed-before-eac.md +6 -0
- package/corpus/templates/analytics/seeds/dashboards/agent-native-templates-first-party.json +26 -1
- package/corpus/templates/analytics/server/lib/agent-chat-plan-mode.ts +0 -33
- package/corpus/templates/analytics/server/lib/analytics-connector-catalog.ts +2 -0
- package/corpus/templates/analytics/server/lib/canonical-first-party-dashboard-repair.ts +13 -3
- package/corpus/templates/analytics/server/lib/dashboard-catalog.ts +9 -1
- package/corpus/templates/analytics/server/lib/first-party-analytics.ts +44 -1
- package/corpus/templates/analytics/server/lib/first-party-metric-catalog.ts +96 -16
- package/corpus/templates/analytics/server/plugins/agent-chat.ts +18 -27
- package/corpus/templates/analytics/server/plugins/core-routes.ts +1 -0
- package/corpus/templates/assets/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/assets/app/components/layout/Sidebar.tsx +4 -8
- package/corpus/templates/assets/changelog/2026-07-29-chat-history-now-closes-smoothly-and-stays-ready-when-you-re.md +6 -0
- package/corpus/templates/assets/changelog/2026-07-29-chat-history-stays-visible-when-you-return-to-the-workspace.md +6 -0
- package/corpus/templates/assets/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/templates/brain/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/brain/app/components/layout/Sidebar.tsx +3 -7
- package/corpus/templates/brain/app/root.tsx +0 -3
- package/corpus/templates/brain/changelog/2026-07-29-chat-history-now-closes-smoothly-and-stays-ready-when-you-re.md +6 -0
- package/corpus/templates/brain/changelog/2026-07-29-chat-history-stays-visible-when-you-return-to-ask-brain.md +6 -0
- package/corpus/templates/brain/changelog/2026-07-29-extensions-are-no-longer-shown-as-a-default-command-menu-des.md +6 -0
- package/corpus/templates/brain/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/templates/calendar/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/calendar/.agents/skills/event-management/SKILL.md +25 -5
- package/corpus/templates/calendar/AGENTS.md +5 -0
- package/corpus/templates/calendar/actions/create-event.ts +43 -13
- package/corpus/templates/calendar/actions/event-action-helpers.ts +131 -1
- package/corpus/templates/calendar/actions/get-event.ts +1 -0
- package/corpus/templates/calendar/actions/manage-event-draft.ts +65 -2
- package/corpus/templates/calendar/app/components/calendar/CreateEventDialog.tsx +438 -258
- package/corpus/templates/calendar/app/components/calendar/DayView.tsx +19 -3
- package/corpus/templates/calendar/app/components/calendar/EventDetailPanel.tsx +7 -3
- package/corpus/templates/calendar/app/components/calendar/EventDetailPopover.tsx +14 -19
- package/corpus/templates/calendar/app/components/calendar/MonthView.tsx +24 -0
- package/corpus/templates/calendar/app/components/calendar/WeekView.tsx +15 -2
- package/corpus/templates/calendar/app/components/layout/Sidebar.tsx +1 -5
- package/corpus/templates/calendar/app/hooks/use-events.ts +51 -5
- package/corpus/templates/calendar/app/i18n-data.ts +50 -0
- package/corpus/templates/calendar/app/lib/all-day-layout.ts +9 -2
- package/corpus/templates/calendar/app/lib/event-form-initialization.ts +4 -8
- package/corpus/templates/calendar/app/lib/event-form-utils.ts +43 -8
- package/corpus/templates/calendar/app/lib/location-suggestions.ts +36 -0
- package/corpus/templates/calendar/app/lib/out-of-office.ts +87 -1
- package/corpus/templates/calendar/app/pages/CalendarView.tsx +82 -20
- package/corpus/templates/calendar/changelog/2026-07-26-out-of-office-events-now-default-to-full-days-with-a-ready.md +6 -0
- package/corpus/templates/calendar/changelog/2026-07-29-recent-calendar-locations-now-appear-as-address-suggestions-.md +6 -0
- package/corpus/templates/calendar/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/templates/calendar/changelog/2026-07-29-unnamed-events-now-use-a-title-placeholder.md +6 -0
- package/corpus/templates/calendar/server/lib/find-time.ts +29 -5
- package/corpus/templates/calendar/server/lib/google-calendar.ts +2 -0
- package/corpus/templates/calendar/server/lib/ical-fetcher.ts +1 -0
- package/corpus/templates/calendar/shared/api.ts +4 -0
- package/corpus/templates/chat/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/chat/app/components/layout/Sidebar.tsx +1 -5
- package/corpus/templates/chat/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/templates/clips/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/clips/app/components/library/library-layout.tsx +1 -5
- package/corpus/templates/clips/changelog/2026-07-29-fixed-system-audio-recordings-picking-up-your-microphone-in-.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-29-the-desktop-camera-preview-now-closes-after-a-recording-fin.md +6 -0
- package/corpus/templates/clips/desktop/src/app.tsx +14 -15
- package/corpus/templates/clips/desktop/src/lib/bubble-session.ts +11 -0
- package/corpus/templates/clips/desktop/src/lib/recorder.ts +9 -4
- package/corpus/templates/clips/desktop/src/lib/transcription-capture.ts +11 -0
- package/corpus/templates/clips/server/jobs/transactional-emails.ts +47 -23
- package/corpus/templates/clips/server/lib/transactional-email-store.ts +16 -6
- package/corpus/templates/content/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/content/.agents/skills/content-product-development/SKILL.md +103 -0
- package/corpus/templates/content/.agents/skills/content-product-development/references/verification.md +57 -0
- package/corpus/templates/content/AGENTS.md +2 -0
- package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +1 -6
- package/corpus/templates/content/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/templates/content/docs/product/README.md +115 -0
- package/corpus/templates/content/docs/product/architecture.md +98 -0
- package/corpus/templates/content/docs/product/capabilities/content.access.page-database.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.access.row-private.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.access.safe-aggregate.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.access.visibility-closure.md +79 -0
- package/corpus/templates/content/docs/product/capabilities/content.action.button.md +67 -0
- package/corpus/templates/content/docs/product/capabilities/content.agent.action-parity.md +73 -0
- package/corpus/templates/content/docs/product/capabilities/content.agent.audience-safe.md +91 -0
- package/corpus/templates/content/docs/product/capabilities/content.agent.automation.md +67 -0
- package/corpus/templates/content/docs/product/capabilities/content.agent.expression-authoring.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.agent.presence.md +103 -0
- package/corpus/templates/content/docs/product/capabilities/content.agent.resource-consent.md +90 -0
- package/corpus/templates/content/docs/product/capabilities/content.agent.skill-catalog.md +67 -0
- package/corpus/templates/content/docs/product/capabilities/content.api.cms.md +70 -0
- package/corpus/templates/content/docs/product/capabilities/content.author.code.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.author.document-editor.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.author.footnotes.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.author.math.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.author.media.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.author.mermaid.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.automation.scheduled.md +67 -0
- package/corpus/templates/content/docs/product/capabilities/content.capture.enrich.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.command.fabric.md +67 -0
- package/corpus/templates/content/docs/product/capabilities/content.comment.page-owned.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.diff.ai-assist.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.diff.filtered-review.md +79 -0
- package/corpus/templates/content/docs/product/capabilities/content.diff.in-place.md +80 -0
- package/corpus/templates/content/docs/product/capabilities/content.discussion.page.md +80 -0
- package/corpus/templates/content/docs/product/capabilities/content.embed.host-grant.md +70 -0
- package/corpus/templates/content/docs/product/capabilities/content.embed.mcp-app.md +69 -0
- package/corpus/templates/content/docs/product/capabilities/content.embed.surface.md +74 -0
- package/corpus/templates/content/docs/product/capabilities/content.event.committed.md +85 -0
- package/corpus/templates/content/docs/product/capabilities/content.expression.cached-result.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.expression.catalog.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.expression.language.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.feedback.signal.md +67 -0
- package/corpus/templates/content/docs/product/capabilities/content.form.shared-engine.md +72 -0
- package/corpus/templates/content/docs/product/capabilities/content.history.queryable.md +79 -0
- package/corpus/templates/content/docs/product/capabilities/content.home.global.md +80 -0
- package/corpus/templates/content/docs/product/capabilities/content.job.durable.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.knowledge.graph.md +67 -0
- package/corpus/templates/content/docs/product/capabilities/content.knowledge.links.md +67 -0
- package/corpus/templates/content/docs/product/capabilities/content.knowledge.search.md +67 -0
- package/corpus/templates/content/docs/product/capabilities/content.layout.responsive.md +80 -0
- package/corpus/templates/content/docs/product/capabilities/content.navigation.sidebar.md +86 -0
- package/corpus/templates/content/docs/product/capabilities/content.notification.source.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.object.block.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.object.blocks-field.md +79 -0
- package/corpus/templates/content/docs/product/capabilities/content.object.database.md +92 -0
- package/corpus/templates/content/docs/product/capabilities/content.object.multi-membership.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.object.page.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.object.reference.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.object.transclusion.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.organization.teams.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.portability.pdf-export.md +78 -0
- package/corpus/templates/content/docs/product/capabilities/content.portability.roundtrip.md +154 -0
- package/corpus/templates/content/docs/product/capabilities/content.portability.source-representation.md +70 -0
- package/corpus/templates/content/docs/product/capabilities/content.portability.vault-export.md +80 -0
- package/corpus/templates/content/docs/product/capabilities/content.presentation.mode.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.preset.catalog.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.property.actor.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.property.catalog.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.property.constraints.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.property.guarded-change.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.property.location.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.property.typed.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.publish.public.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.publish.reading.md +74 -0
- package/corpus/templates/content/docs/product/capabilities/content.query.object.md +114 -0
- package/corpus/templates/content/docs/product/capabilities/content.reader.documents.md +69 -0
- package/corpus/templates/content/docs/product/capabilities/content.reader.surface.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.relationship.edge.md +183 -0
- package/corpus/templates/content/docs/product/capabilities/content.renderer.artifact-block.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.renderer.custom-block.md +81 -0
- package/corpus/templates/content/docs/product/capabilities/content.renderer.graph.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.renderer.typed.md +92 -0
- package/corpus/templates/content/docs/product/capabilities/content.research.annotation.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.research.citation.md +70 -0
- package/corpus/templates/content/docs/product/capabilities/content.review.code.md +67 -0
- package/corpus/templates/content/docs/product/capabilities/content.revision.suggestions.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.rule.deterministic.md +79 -0
- package/corpus/templates/content/docs/product/capabilities/content.schedule.constraints.md +81 -0
- package/corpus/templates/content/docs/product/capabilities/content.security.private-vault.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.share.views.md +140 -0
- package/corpus/templates/content/docs/product/capabilities/content.source.adapters.md +154 -0
- package/corpus/templates/content/docs/product/capabilities/content.source.builder-codec.md +70 -0
- package/corpus/templates/content/docs/product/capabilities/content.source.catalog.md +149 -0
- package/corpus/templates/content/docs/product/capabilities/content.source.file-folder.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.source.local-bridge.md +156 -0
- package/corpus/templates/content/docs/product/capabilities/content.source.local-project.md +70 -0
- package/corpus/templates/content/docs/product/capabilities/content.source.page-link.md +70 -0
- package/corpus/templates/content/docs/product/capabilities/content.source.row-union.md +69 -0
- package/corpus/templates/content/docs/product/capabilities/content.source.spaces-files.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.source.sync-policy.md +161 -0
- package/corpus/templates/content/docs/product/capabilities/content.system.dependencies.md +80 -0
- package/corpus/templates/content/docs/product/capabilities/content.system.my-tasks.md +75 -0
- package/corpus/templates/content/docs/product/capabilities/content.system.project-status.md +77 -0
- package/corpus/templates/content/docs/product/capabilities/content.system.research-workspace.md +80 -0
- package/corpus/templates/content/docs/product/capabilities/content.system.task-project.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.template.governance.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.template.graph.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.template.item-body.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.template.update.md +71 -0
- package/corpus/templates/content/docs/product/capabilities/content.time.types.md +85 -0
- package/corpus/templates/content/docs/product/capabilities/content.version.branching.md +151 -0
- package/corpus/templates/content/docs/product/capabilities/content.version.field-history.md +103 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.canvas.md +94 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.chart.md +91 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.dynamic-create.md +137 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.fast-capture.md +82 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.graph.md +95 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.grouping-aggregation.md +83 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.map.md +77 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.personal-state.md +99 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.pivot.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.query.md +106 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.renderer-conformance.md +77 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.scale.md +77 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.source-query.md +159 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.timeline.md +86 -0
- package/corpus/templates/content/docs/product/capabilities/content.view.tree.md +77 -0
- package/corpus/templates/content/docs/product/capabilities/content.workspace.multi-scope.md +80 -0
- package/corpus/templates/content/docs/product/capabilities/content.workspace.session-restore.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.workspace.view-instance.md +76 -0
- package/corpus/templates/content/docs/product/capabilities/content.workspace.working-set.md +77 -0
- package/corpus/templates/content/docs/product/chapters/content.chapter.capture-research.md +20 -0
- package/corpus/templates/content/docs/product/chapters/content.chapter.connected-sources.md +20 -0
- package/corpus/templates/content/docs/product/chapters/content.chapter.consensus.md +19 -0
- package/corpus/templates/content/docs/product/chapters/content.chapter.durable-home.md +21 -0
- package/corpus/templates/content/docs/product/chapters/content.chapter.publishing-portability.md +21 -0
- package/corpus/templates/content/docs/product/chapters/content.chapter.working-systems.md +27 -0
- package/corpus/templates/content/docs/product/encyclopedia.md +559 -0
- package/corpus/templates/content/docs/product/features/content.feature.bring-your-local-work.md +39 -0
- package/corpus/templates/content/docs/product/features/content.feature.build-living-dashboards.md +34 -0
- package/corpus/templates/content/docs/product/features/content.feature.build-new-surfaces.md +33 -0
- package/corpus/templates/content/docs/product/features/content.feature.capture-into-action.md +34 -0
- package/corpus/templates/content/docs/product/features/content.feature.cite-what-you-found.md +34 -0
- package/corpus/templates/content/docs/product/features/content.feature.collaborate-in-context.md +59 -0
- package/corpus/templates/content/docs/product/features/content.feature.collect-structured-input.md +38 -0
- package/corpus/templates/content/docs/product/features/content.feature.connect-your-sources.md +38 -0
- package/corpus/templates/content/docs/product/features/content.feature.data-that-keeps-itself-right.md +45 -0
- package/corpus/templates/content/docs/product/features/content.feature.durable-foundations.md +48 -0
- package/corpus/templates/content/docs/product/features/content.feature.evolve-systems-safely.md +38 -0
- package/corpus/templates/content/docs/product/features/content.feature.explore-alternatives-safely.md +39 -0
- package/corpus/templates/content/docs/product/features/content.feature.find-your-place-again.md +40 -0
- package/corpus/templates/content/docs/product/features/content.feature.keep-your-private-vault-private.md +39 -0
- package/corpus/templates/content/docs/product/features/content.feature.living-references.md +38 -0
- package/corpus/templates/content/docs/product/features/content.feature.make-the-workspace-yours.md +40 -0
- package/corpus/templates/content/docs/product/features/content.feature.move-without-starting-over.md +38 -0
- package/corpus/templates/content/docs/product/features/content.feature.plan-work-across-time.md +39 -0
- package/corpus/templates/content/docs/product/features/content.feature.publish-with-confidence.md +43 -0
- package/corpus/templates/content/docs/product/features/content.feature.put-your-organizations-know-how-to-work.md +38 -0
- package/corpus/templates/content/docs/product/features/content.feature.read-and-annotate-anything.md +38 -0
- package/corpus/templates/content/docs/product/features/content.feature.review-changes-in-place.md +39 -0
- package/corpus/templates/content/docs/product/features/content.feature.run-projects-your-way.md +44 -0
- package/corpus/templates/content/docs/product/features/content.feature.see-your-information-your-way.md +44 -0
- package/corpus/templates/content/docs/product/features/content.feature.share-how-your-organization-works.md +38 -0
- package/corpus/templates/content/docs/product/features/content.feature.sketch-connections-keep-whats-true.md +39 -0
- package/corpus/templates/content/docs/product/features/content.feature.take-the-whole-vault-with-you.md +39 -0
- package/corpus/templates/content/docs/product/features/content.feature.trust-your-connected-sources.md +40 -0
- package/corpus/templates/content/docs/product/features/content.feature.understand-what-your-data-says.md +39 -0
- package/corpus/templates/content/docs/product/features/content.feature.when-this-happens-that-follows.md +43 -0
- package/corpus/templates/content/docs/product/features/content.feature.work-across-every-workspace.md +37 -0
- package/corpus/templates/content/docs/product/features/content.feature.work-on-content-inside-another-application.md +37 -0
- package/corpus/templates/content/docs/product/roadmap.md +878 -0
- package/corpus/templates/crm/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/crm/app/components/layout/CrmSidebar.tsx +1 -7
- package/corpus/templates/crm/app/i18n/en-US.ts +4 -0
- package/corpus/templates/crm/app/routes/settings.tsx +33 -8
- package/corpus/templates/crm/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/templates/design/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/design/.generated/bridge/editor-chrome.generated.ts +133 -63
- package/corpus/templates/design/.generated/bridge/embedded-wheel.generated.ts +19 -2
- package/corpus/templates/design/app/components/design/DesignCanvas.tsx +51 -14
- package/corpus/templates/design/app/components/design/DesignExtensionsPanel.tsx +41 -26
- package/corpus/templates/design/app/components/design/MultiScreenCanvas.tsx +22 -4
- package/corpus/templates/design/app/components/design/bridge/editor-chrome.bridge.ts +216 -116
- package/corpus/templates/design/app/components/design/bridge/embedded-wheel.bridge.ts +21 -2
- package/corpus/templates/design/app/components/design/code-workbench/CodeWorkbench.tsx +5 -1
- package/corpus/templates/design/app/components/design/code-workbench/CodeWorkbenchLoader.tsx +10 -2
- package/corpus/templates/design/app/components/design/code-workbench/code-workbench-shell.ts +2 -0
- package/corpus/templates/design/app/components/design/code-workbench/explorer/ExplorerView.tsx +60 -55
- package/corpus/templates/design/app/components/design/design-canvas/content-size-report.ts +88 -2
- package/corpus/templates/design/app/components/design/multi-screen/board-surface-html.ts +3 -2
- package/corpus/templates/design/app/components/design/types.ts +4 -0
- package/corpus/templates/design/app/components/layout/Sidebar.tsx +1 -5
- package/corpus/templates/design/app/pages/design-editor/clipboard-layer-source.ts +28 -0
- package/corpus/templates/design/app/pages/design-editor/clone-and-pen-edit.ts +117 -0
- package/corpus/templates/design/app/pages/design-editor/code-layer-state.ts +3 -1
- package/corpus/templates/design/app/pages/design-editor/pending-edits.ts +120 -74
- package/corpus/templates/design/app/pages/design-editor/pending-structure-verification.ts +11 -0
- package/corpus/templates/design/app/pages/design-editor/react-semantic-handoff.ts +2 -0
- package/corpus/templates/design/app/pages/design-editor/source-location.ts +1 -1
- package/corpus/templates/design/changelog/2026-07-29-copy-rendered-ui-between-live-local-apps-and-design-files-wh.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-design-boards-stay-dark-and-viewport-height-content-keeps-it.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-design-frames-no-longer-grow-continuously-when-their-content.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-the-code-panel-and-apply-design-update-control-now-use-clear.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-the-tools-panel-now-keeps-extension-creation-and-discovery-h.md +6 -0
- package/corpus/templates/design/shared/source-mode.ts +7 -1
- package/corpus/templates/dispatch/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/dispatch/app/i18n-data.ts +171 -0
- package/corpus/templates/dispatch/app/routes/browser-chat.tsx +4 -0
- package/corpus/templates/dispatch/app/routes/browser-connect.tsx +4 -0
- package/corpus/templates/dispatch/changelog/2026-07-29-browser-chat-can-securely-connect-the-agent-native-chrome-ex.md +6 -0
- package/corpus/templates/forms/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/forms/app/components/layout/Sidebar.tsx +1 -6
- package/corpus/templates/forms/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/templates/macros/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/macros/app/components/layout/AppLayout.tsx +1 -5
- package/corpus/templates/macros/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/templates/mail/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/mail/app/components/layout/AppLayout.tsx +1 -9
- package/corpus/templates/mail/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/templates/plan/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/plan/app/components/layout/Sidebar.tsx +3 -7
- package/corpus/templates/plan/app/pages/PlansPage.tsx +2 -2
- package/corpus/templates/plan/changelog/2026-07-29-chat-history-now-closes-smoothly-and-stays-ready-when-you-re.md +6 -0
- package/corpus/templates/plan/changelog/2026-07-29-chat-history-stays-visible-when-you-return-to-ask-plan.md +6 -0
- package/corpus/templates/plan/changelog/2026-07-29-fixed-plan-pages-crashing-when-recent-activity-is-unavailabl.md +6 -0
- package/corpus/templates/plan/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/templates/slides/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/slides/.agents/skills/analytics-data-for-decks/SKILL.md +48 -0
- package/corpus/templates/slides/.agents/skills/create-deck/SKILL.md +60 -4
- package/corpus/templates/slides/.agents/skills/design-systems/SKILL.md +20 -0
- package/corpus/templates/slides/.agents/skills/slide-editing/SKILL.md +30 -1
- package/corpus/templates/slides/.agents/skills/slide-images/SKILL.md +3 -1
- package/corpus/templates/slides/AGENTS.md +25 -24
- package/corpus/templates/slides/actions/check-image-gen.ts +8 -2
- package/corpus/templates/slides/actions/create-deck.ts +4 -12
- package/corpus/templates/slides/actions/export-pptx.ts +25 -3
- package/corpus/templates/slides/actions/generate-image-api.ts +4 -2
- package/corpus/templates/slides/actions/generate-slides-ai.ts +1 -1
- package/corpus/templates/slides/actions/get-deck-reference-context.ts +136 -0
- package/corpus/templates/slides/actions/get-workspace-defaults.ts +55 -0
- package/corpus/templates/slides/actions/image-gen-status.ts +10 -1
- package/corpus/templates/slides/actions/import-file.ts +53 -38
- package/corpus/templates/slides/actions/list-decks.ts +2 -0
- package/corpus/templates/slides/actions/patch-deck.ts +2 -0
- package/corpus/templates/slides/actions/set-workspace-defaults.ts +50 -0
- package/corpus/templates/slides/actions/view-screen.ts +6 -0
- package/corpus/templates/slides/app/components/comments/SlideCommentsPanel.tsx +1 -1
- package/corpus/templates/slides/app/components/deck/DeckCard.tsx +67 -3
- package/corpus/templates/slides/app/components/deck/SlideRenderer.tsx +40 -8
- package/corpus/templates/slides/app/components/design-system/DesignSystemCard.tsx +33 -8
- package/corpus/templates/slides/app/components/editor/EditorSidebar.tsx +6 -2
- package/corpus/templates/slides/app/components/editor/EditorToolbar.tsx +114 -128
- package/corpus/templates/slides/app/components/editor/ExportMenu.tsx +74 -9
- package/corpus/templates/slides/app/components/editor/ImageGenPanel.tsx +1 -1
- package/corpus/templates/slides/app/components/editor/SlideEditor.tsx +1193 -267
- package/corpus/templates/slides/app/components/editor/SlideStyleInspector.tsx +302 -102
- package/corpus/templates/slides/app/components/editor/rich-text-selection.ts +270 -0
- package/corpus/templates/slides/app/components/editor/slide-escape-arbiter.ts +34 -0
- package/corpus/templates/slides/app/components/editor/slide-object-interactions.ts +368 -0
- package/corpus/templates/slides/app/components/editor/slide-presence.ts +13 -0
- package/corpus/templates/slides/app/components/layout/AgentWorkIndicator.tsx +23 -3
- package/corpus/templates/slides/app/components/layout/Layout.tsx +39 -6
- package/corpus/templates/slides/app/components/layout/Sidebar.tsx +1 -6
- package/corpus/templates/slides/app/components/layout/layout-route-policy.ts +23 -0
- package/corpus/templates/slides/app/components/visual-editor/DrawOverlay.tsx +0 -2
- package/corpus/templates/slides/app/context/DeckContext.tsx +2 -0
- package/corpus/templates/slides/app/global.css +60 -0
- package/corpus/templates/slides/app/hooks/use-agent-generating.ts +76 -5
- package/corpus/templates/slides/app/hooks/use-workspace-defaults.ts +26 -0
- package/corpus/templates/slides/app/i18n/en-US.ts +39 -3
- package/corpus/templates/slides/app/lib/generation-state.ts +13 -3
- package/corpus/templates/slides/app/lib/slide-image-replacement.ts +27 -6
- package/corpus/templates/slides/app/lib/text-tool-shortcut.ts +62 -0
- package/corpus/templates/slides/app/pages/DeckEditor.tsx +197 -83
- package/corpus/templates/slides/app/pages/DesignSystems.tsx +95 -0
- package/corpus/templates/slides/app/pages/Index.tsx +348 -53
- package/corpus/templates/slides/changelog/2026-07-28-pick-an-existing-deck-as-a-style-reference-when-creating-a-n.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-29-ai-editing-status-is-now-quieter-and-only-shows-slide-presen.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-29-design-systems-and-reference-decks-are-easier-to-choose-toge.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-29-generated-decks-now-receive-a-concise-relevant-title-before-.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-29-google-slides-exports-can-connect-your-google-account-direct.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-29-new-deck-prompts-reuse-empty-chats.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-29-new-deck-setup-now-stays-in-the-editor-with-closable-style-a.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-29-selected-words-and-text-runs-can-now-be-styled-independently.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-29-slide-annotation-tools-are-clearer-and-escape-now-exits-anno.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-29-slide-editing-now-opens-with-the-app-navigation-collapsed-fo.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-29-slide-editing-stays-visually-clean-on-hover-without-a-canvas.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-29-slides-now-appear-one-by-one-while-ai-builds-a-deck-with-ste.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-29-text-boxes-now-select-move-duplicate-resize-and-style-like-a.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-29-untitled-decks-now-use-a-clearer-this-deck-label-in-the-agen.md +6 -0
- package/corpus/templates/slides/server/handlers/google-docs-auth.ts +4 -2
- package/corpus/templates/slides/server/handlers/image-providers/builder.ts +305 -0
- package/corpus/templates/slides/server/handlers/image-providers/index.ts +6 -3
- package/corpus/templates/slides/server/plugins/agent-chat.ts +1 -0
- package/corpus/templates/slides/server/workspace-defaults.ts +169 -0
- package/corpus/templates/tasks/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/corpus/templates/tasks/app/components/layout/Sidebar.tsx +31 -8
- package/corpus/templates/tasks/app/i18n/en-US.ts +7 -0
- package/corpus/templates/tasks/app/routes/settings.tsx +25 -2
- package/corpus/templates/tasks/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/corpus/toolkit/CHANGELOG.md +15 -0
- package/corpus/toolkit/README.md +2 -2
- package/corpus/toolkit/package.json +1 -1
- package/corpus/toolkit/src/app-shell/sidebar-footer-actions.tsx +0 -3
- package/corpus/toolkit/src/chat-history.css +1 -0
- package/corpus/toolkit/src/composer/ComposerPlusMenu.tsx +35 -14
- package/corpus/toolkit/src/composer/PromptComposer.tsx +6 -0
- package/corpus/toolkit/src/composer/TiptapComposer.tsx +11 -3
- package/corpus/toolkit/src/design-tweaks/visual-style-controls.tsx +64 -11
- package/dist/a2a/types.d.ts +6 -0
- package/dist/a2a/types.d.ts.map +1 -1
- package/dist/a2a/types.js.map +1 -1
- package/dist/action.d.ts +57 -0
- package/dist/action.d.ts.map +1 -1
- package/dist/action.js +9 -0
- package/dist/action.js.map +1 -1
- package/dist/agent/engine/builder-engine.js +6 -4
- package/dist/agent/engine/builder-engine.js.map +1 -1
- package/dist/agent/production-agent.d.ts +11 -1
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +131 -90
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/agent/tool-search.d.ts +4 -0
- package/dist/agent/tool-search.d.ts.map +1 -1
- package/dist/agent/tool-search.js +30 -0
- package/dist/agent/tool-search.js.map +1 -1
- package/dist/automations/service.d.ts +85 -0
- package/dist/automations/service.d.ts.map +1 -0
- package/dist/automations/service.js +332 -0
- package/dist/automations/service.js.map +1 -0
- package/dist/browser-context/index.d.ts +579 -0
- package/dist/browser-context/index.d.ts.map +1 -0
- package/dist/browser-context/index.js +331 -0
- package/dist/browser-context/index.js.map +1 -0
- package/dist/client/AgentPanel.d.ts.map +1 -1
- package/dist/client/AgentPanel.js +1 -1
- package/dist/client/AgentPanel.js.map +1 -1
- package/dist/client/FeedbackButton.d.ts +6 -2
- package/dist/client/FeedbackButton.d.ts.map +1 -1
- package/dist/client/FeedbackButton.js +20 -3
- package/dist/client/FeedbackButton.js.map +1 -1
- package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
- package/dist/client/MultiTabAssistantChat.js +19 -2
- package/dist/client/MultiTabAssistantChat.js.map +1 -1
- package/dist/client/agent-chat.d.ts +15 -0
- package/dist/client/agent-chat.d.ts.map +1 -1
- package/dist/client/agent-chat.js +13 -3
- package/dist/client/agent-chat.js.map +1 -1
- package/dist/client/agent-page/AgentJobsTab.d.ts +1 -0
- package/dist/client/agent-page/AgentJobsTab.d.ts.map +1 -1
- package/dist/client/agent-page/AgentJobsTab.js +186 -98
- package/dist/client/agent-page/AgentJobsTab.js.map +1 -1
- package/dist/client/agent-page/AgentTabsPage.js +4 -4
- package/dist/client/agent-page/AgentTabsPage.js.map +1 -1
- package/dist/client/agent-page/use-jobs.d.ts +7 -0
- package/dist/client/agent-page/use-jobs.d.ts.map +1 -1
- package/dist/client/agent-page/use-jobs.js.map +1 -1
- package/dist/client/analytics-session.d.ts.map +1 -1
- package/dist/client/analytics-session.js +13 -0
- package/dist/client/analytics-session.js.map +1 -1
- package/dist/client/extensions/ExtensionViewer.d.ts.map +1 -1
- package/dist/client/extensions/ExtensionViewer.js +29 -6
- package/dist/client/extensions/ExtensionViewer.js.map +1 -1
- package/dist/client/settings/AutomationsSection.d.ts +0 -9
- package/dist/client/settings/AutomationsSection.d.ts.map +1 -1
- package/dist/client/settings/AutomationsSection.js +9 -168
- package/dist/client/settings/AutomationsSection.js.map +1 -1
- package/dist/client/settings/SettingsPanel.d.ts +9 -1
- package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
- package/dist/client/settings/SettingsPanel.js +19 -11
- package/dist/client/settings/SettingsPanel.js.map +1 -1
- package/dist/client/settings/index.d.ts +1 -1
- package/dist/client/settings/index.d.ts.map +1 -1
- package/dist/client/settings/index.js +1 -1
- package/dist/client/settings/index.js.map +1 -1
- package/dist/client/use-agent-chat.d.ts.map +1 -1
- package/dist/client/use-agent-chat.js +20 -3
- package/dist/client/use-agent-chat.js.map +1 -1
- package/dist/client/use-chat-threads.d.ts.map +1 -1
- package/dist/client/use-chat-threads.js +4 -17
- package/dist/client/use-chat-threads.js.map +1 -1
- package/dist/collab/awareness.d.ts +2 -2
- package/dist/collab/awareness.d.ts.map +1 -1
- package/dist/collab/struct-routes.d.ts +1 -1
- package/dist/deploy/build.d.ts.map +1 -1
- package/dist/deploy/build.js +2 -1
- package/dist/deploy/build.js.map +1 -1
- package/dist/deploy/workspace-deploy.d.ts.map +1 -1
- package/dist/deploy/workspace-deploy.js +2 -1
- package/dist/deploy/workspace-deploy.js.map +1 -1
- package/dist/extensions/actions.d.ts.map +1 -1
- package/dist/extensions/actions.js +82 -6
- package/dist/extensions/actions.js.map +1 -1
- package/dist/extensions/fetch-tool.d.ts.map +1 -1
- package/dist/extensions/fetch-tool.js +11 -0
- package/dist/extensions/fetch-tool.js.map +1 -1
- package/dist/extensions/routes.d.ts +5 -1
- package/dist/extensions/routes.d.ts.map +1 -1
- package/dist/extensions/routes.js +7 -1
- package/dist/extensions/routes.js.map +1 -1
- package/dist/extensions/web-content.d.ts +1 -0
- package/dist/extensions/web-content.d.ts.map +1 -1
- package/dist/extensions/web-content.js +82 -1
- package/dist/extensions/web-content.js.map +1 -1
- package/dist/file-upload/actions/upload-image.d.ts +1 -1
- package/dist/integrations/computer-supervision.d.ts.map +1 -1
- package/dist/integrations/computer-supervision.js +22 -1
- package/dist/integrations/computer-supervision.js.map +1 -1
- package/dist/integrations/index.d.ts +3 -2
- package/dist/integrations/index.d.ts.map +1 -1
- package/dist/integrations/index.js +3 -2
- package/dist/integrations/index.js.map +1 -1
- package/dist/integrations/integration-durable-dispatch-config.d.ts +2 -0
- package/dist/integrations/integration-durable-dispatch-config.d.ts.map +1 -1
- package/dist/integrations/integration-durable-dispatch-config.js +4 -0
- package/dist/integrations/integration-durable-dispatch-config.js.map +1 -1
- package/dist/integrations/integration-durable-dispatch.d.ts +2 -2
- package/dist/integrations/integration-durable-dispatch.d.ts.map +1 -1
- package/dist/integrations/integration-durable-dispatch.js +2 -2
- package/dist/integrations/integration-durable-dispatch.js.map +1 -1
- package/dist/integrations/plugin.d.ts.map +1 -1
- package/dist/integrations/plugin.js +84 -39
- package/dist/integrations/plugin.js.map +1 -1
- package/dist/integrations/remote-browser-actions.d.ts +7 -0
- package/dist/integrations/remote-browser-actions.d.ts.map +1 -0
- package/dist/integrations/remote-browser-actions.js +482 -0
- package/dist/integrations/remote-browser-actions.js.map +1 -0
- package/dist/jobs/actions/list-recurring-jobs.d.ts.map +1 -1
- package/dist/jobs/actions/list-recurring-jobs.js +4 -6
- package/dist/jobs/actions/list-recurring-jobs.js.map +1 -1
- package/dist/jobs/actions/manage-recurring-job.js +3 -6
- package/dist/jobs/actions/manage-recurring-job.js.map +1 -1
- package/dist/jobs/background-automation-runner.d.ts +76 -0
- package/dist/jobs/background-automation-runner.d.ts.map +1 -0
- package/dist/jobs/background-automation-runner.js +288 -0
- package/dist/jobs/background-automation-runner.js.map +1 -0
- package/dist/jobs/frontmatter.d.ts +63 -0
- package/dist/jobs/frontmatter.d.ts.map +1 -0
- package/dist/jobs/frontmatter.js +216 -0
- package/dist/jobs/frontmatter.js.map +1 -0
- package/dist/jobs/scheduler.d.ts +6 -60
- package/dist/jobs/scheduler.d.ts.map +1 -1
- package/dist/jobs/scheduler.js +67 -484
- package/dist/jobs/scheduler.js.map +1 -1
- package/dist/jobs/tools.d.ts.map +1 -1
- package/dist/jobs/tools.js +24 -3
- package/dist/jobs/tools.js.map +1 -1
- package/dist/localization/default-messages.d.ts +28 -33
- package/dist/localization/default-messages.d.ts.map +1 -1
- package/dist/localization/default-messages.js +34 -39
- package/dist/localization/default-messages.js.map +1 -1
- package/dist/mcp/screen-memory-stdio.d.ts +7 -7
- package/dist/mcp/screen-memory-stdio.d.ts.map +1 -1
- package/dist/mcp-client/index.d.ts.map +1 -1
- package/dist/mcp-client/index.js +4 -0
- package/dist/mcp-client/index.js.map +1 -1
- package/dist/notifications/actions.d.ts.map +1 -1
- package/dist/notifications/actions.js +5 -0
- package/dist/notifications/actions.js.map +1 -1
- package/dist/notifications/routes.d.ts +3 -3
- package/dist/progress/actions.d.ts.map +1 -1
- package/dist/progress/actions.js +5 -0
- package/dist/progress/actions.js.map +1 -1
- package/dist/provider-api/actions/custom-provider-registration.d.ts +14 -14
- package/dist/provider-api/actions/github-repo-files.d.ts.map +1 -1
- package/dist/provider-api/actions/github-repo-files.js +9 -0
- package/dist/provider-api/actions/github-repo-files.js.map +1 -1
- package/dist/provider-api/actions/provider-api.d.ts +16 -16
- package/dist/provider-api/actions/provider-api.d.ts.map +1 -1
- package/dist/provider-api/actions/provider-api.js +14 -0
- package/dist/provider-api/actions/provider-api.js.map +1 -1
- package/dist/provider-api/corpus-jobs.d.ts +2 -2
- package/dist/resources/handlers.d.ts +1 -1
- package/dist/server/action-discovery.d.ts.map +1 -1
- package/dist/server/action-discovery.js +5 -0
- package/dist/server/action-discovery.js.map +1 -1
- package/dist/server/agent-capabilities.d.ts.map +1 -1
- package/dist/server/agent-capabilities.js +32 -3
- package/dist/server/agent-capabilities.js.map +1 -1
- package/dist/server/agent-chat/action-filters-a2a.d.ts +17 -1
- package/dist/server/agent-chat/action-filters-a2a.d.ts.map +1 -1
- package/dist/server/agent-chat/action-filters-a2a.js +50 -1
- package/dist/server/agent-chat/action-filters-a2a.js.map +1 -1
- package/dist/server/agent-chat/browser-team-tools.d.ts.map +1 -1
- package/dist/server/agent-chat/browser-team-tools.js +90 -3
- package/dist/server/agent-chat/browser-team-tools.js.map +1 -1
- package/dist/server/agent-chat/framework-prompts.d.ts.map +1 -1
- package/dist/server/agent-chat/framework-prompts.js +7 -11
- package/dist/server/agent-chat/framework-prompts.js.map +1 -1
- package/dist/server/agent-chat/plugin-options.d.ts +3 -3
- package/dist/server/agent-chat/plugin-options.js.map +1 -1
- package/dist/server/agent-chat/script-entries.d.ts.map +1 -1
- package/dist/server/agent-chat/script-entries.js +43 -1
- package/dist/server/agent-chat/script-entries.js.map +1 -1
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +24 -5
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/attribution.d.ts +6 -0
- package/dist/server/attribution.d.ts.map +1 -1
- package/dist/server/attribution.js +14 -14
- package/dist/server/attribution.js.map +1 -1
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +5 -2
- package/dist/server/auth.js.map +1 -1
- package/dist/server/better-auth-instance.d.ts +2 -1
- package/dist/server/better-auth-instance.d.ts.map +1 -1
- package/dist/server/better-auth-instance.js +6 -3
- package/dist/server/better-auth-instance.js.map +1 -1
- package/dist/server/core-routes-plugin.d.ts +7 -0
- package/dist/server/core-routes-plugin.d.ts.map +1 -1
- package/dist/server/core-routes-plugin.js +3 -1
- package/dist/server/core-routes-plugin.js.map +1 -1
- package/dist/server/csrf.d.ts.map +1 -1
- package/dist/server/csrf.js +25 -0
- package/dist/server/csrf.js.map +1 -1
- package/dist/server/google-oauth.d.ts +3 -0
- package/dist/server/google-oauth.d.ts.map +1 -1
- package/dist/server/google-oauth.js +12 -1
- package/dist/server/google-oauth.js.map +1 -1
- package/dist/server/onboarding-html.d.ts.map +1 -1
- package/dist/server/onboarding-html.js +18 -0
- package/dist/server/onboarding-html.js.map +1 -1
- package/dist/server/prompts/framework-core-compact.js +3 -3
- package/dist/server/prompts/framework-core-compact.js.map +1 -1
- package/dist/server/prompts/framework-core.js +3 -3
- package/dist/server/prompts/framework-core.js.map +1 -1
- package/dist/server/prompts/shared-rules.js +3 -3
- package/dist/server/prompts/shared-rules.js.map +1 -1
- package/dist/settings/index.d.ts +1 -1
- package/dist/settings/index.d.ts.map +1 -1
- package/dist/settings/index.js +1 -1
- package/dist/settings/index.js.map +1 -1
- package/dist/shared/analytics-anonymous-id.d.ts +12 -0
- package/dist/shared/analytics-anonymous-id.d.ts.map +1 -0
- package/dist/shared/analytics-anonymous-id.js +29 -0
- package/dist/shared/analytics-anonymous-id.js.map +1 -0
- package/dist/templates/chat/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/dist/templates/chat/app/components/layout/Sidebar.tsx +1 -5
- package/dist/templates/chat/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/dist/templates/default/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/dist/templates/default/app/i18n/ar-SA.ts +26 -0
- package/dist/templates/default/app/i18n/de-DE.ts +28 -0
- package/dist/templates/default/app/i18n/en-US.ts +27 -0
- package/dist/templates/default/app/i18n/es-ES.ts +28 -0
- package/dist/templates/default/app/i18n/fr-FR.ts +28 -0
- package/dist/templates/default/app/i18n/hi-IN.ts +25 -0
- package/dist/templates/default/app/i18n/ja-JP.ts +27 -0
- package/dist/templates/default/app/i18n/ko-KR.ts +27 -0
- package/dist/templates/default/app/i18n/pt-BR.ts +27 -0
- package/dist/templates/default/app/i18n/zh-CN.ts +24 -0
- package/dist/templates/default/app/i18n/zh-TW.ts +24 -0
- package/dist/templates/headless/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/dist/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/dist/templates/workspace-core/.agents/skills/agent-page/SKILL.md +10 -7
- package/dist/templates/workspace-core/.agents/skills/automations/SKILL.md +53 -8
- package/dist/templates/workspace-core/.agents/skills/browser-sessions/SKILL.md +131 -0
- package/dist/templates/workspace-core/.agents/skills/extension-points/SKILL.md +13 -4
- package/dist/templates/workspace-core/.agents/skills/extensions/SKILL.md +23 -15
- package/dist/templates/workspace-core/.agents/skills/recurring-jobs/SKILL.md +33 -18
- package/dist/tracking/providers.d.ts.map +1 -1
- package/dist/tracking/providers.js +1 -0
- package/dist/tracking/providers.js.map +1 -1
- package/dist/tracking/registry.d.ts +1 -0
- package/dist/tracking/registry.d.ts.map +1 -1
- package/dist/tracking/registry.js +1 -0
- package/dist/tracking/registry.js.map +1 -1
- package/dist/tracking/types.d.ts +1 -0
- package/dist/tracking/types.d.ts.map +1 -1
- package/dist/tracking/types.js.map +1 -1
- package/dist/triggers/actions/list-automations.d.ts +7 -0
- package/dist/triggers/actions/list-automations.d.ts.map +1 -1
- package/dist/triggers/actions/list-automations.js +29 -41
- package/dist/triggers/actions/list-automations.js.map +1 -1
- package/dist/triggers/actions/manage-automation.js +15 -33
- package/dist/triggers/actions/manage-automation.js.map +1 -1
- package/dist/triggers/actions.d.ts.map +1 -1
- package/dist/triggers/actions.js +184 -95
- package/dist/triggers/actions.js.map +1 -1
- package/dist/triggers/dispatcher.d.ts +3 -9
- package/dist/triggers/dispatcher.d.ts.map +1 -1
- package/dist/triggers/dispatcher.js +134 -304
- package/dist/triggers/dispatcher.js.map +1 -1
- package/dist/triggers/routes.d.ts.map +1 -1
- package/dist/triggers/routes.js +76 -17
- package/dist/triggers/routes.js.map +1 -1
- package/dist/triggers/types.d.ts +4 -23
- package/dist/triggers/types.d.ts.map +1 -1
- package/dist/triggers/types.js.map +1 -1
- package/docs/content/agent-surfaces.mdx +4 -4
- package/docs/content/automations.mdx +61 -12
- package/docs/content/deployment.mdx +11 -4
- package/docs/content/extensions.mdx +39 -33
- package/docs/content/recurring-jobs.mdx +41 -19
- package/docs/content/template-dispatch-operations.mdx +19 -7
- package/package.json +4 -2
- package/src/a2a/types.ts +6 -0
- package/src/action.ts +68 -0
- package/src/agent/engine/builder-engine.ts +8 -4
- package/src/agent/production-agent.ts +175 -100
- package/src/agent/tool-search.ts +36 -0
- package/src/automations/service.ts +506 -0
- package/src/browser-context/index.ts +392 -0
- package/src/client/AgentPanel.tsx +2 -1
- package/src/client/FeedbackButton.tsx +37 -4
- package/src/client/MultiTabAssistantChat.tsx +21 -0
- package/src/client/agent-chat.ts +31 -3
- package/src/client/agent-page/AgentJobsTab.tsx +438 -310
- package/src/client/agent-page/AgentTabsPage.tsx +4 -4
- package/src/client/agent-page/use-jobs.ts +7 -0
- package/src/client/analytics-session.ts +13 -0
- package/src/client/extensions/ExtensionViewer.tsx +67 -0
- package/src/client/settings/AutomationsSection.tsx +27 -499
- package/src/client/settings/SettingsPanel.tsx +32 -11
- package/src/client/settings/index.ts +2 -0
- package/src/client/use-agent-chat.ts +35 -3
- package/src/client/use-chat-threads.ts +8 -25
- package/src/deploy/build.ts +2 -0
- package/src/deploy/workspace-deploy.ts +2 -0
- package/src/extensions/actions.ts +115 -3
- package/src/extensions/fetch-tool.ts +11 -0
- package/src/extensions/routes.ts +16 -1
- package/src/extensions/web-content.ts +96 -1
- package/src/integrations/computer-supervision.ts +33 -1
- package/src/integrations/index.ts +6 -0
- package/src/integrations/integration-durable-dispatch-config.ts +10 -0
- package/src/integrations/integration-durable-dispatch.ts +4 -0
- package/src/integrations/plugin.ts +94 -41
- package/src/integrations/remote-browser-actions.ts +621 -0
- package/src/jobs/actions/list-recurring-jobs.ts +5 -7
- package/src/jobs/actions/manage-recurring-job.ts +3 -7
- package/src/jobs/background-automation-runner.ts +437 -0
- package/src/jobs/frontmatter.ts +308 -0
- package/src/jobs/scheduler.ts +89 -598
- package/src/jobs/tools.ts +22 -3
- package/src/localization/default-messages.ts +45 -45
- package/src/mcp-client/index.ts +6 -0
- package/src/notifications/actions.ts +5 -0
- package/src/progress/actions.ts +5 -0
- package/src/provider-api/actions/github-repo-files.ts +11 -0
- package/src/provider-api/actions/provider-api.ts +13 -0
- package/src/server/__snapshots__/agent-chat-plugin.surface.spec.ts.snap +4 -4
- package/src/server/action-discovery.ts +7 -0
- package/src/server/agent-capabilities.ts +43 -8
- package/src/server/agent-chat/action-filters-a2a.ts +63 -1
- package/src/server/agent-chat/browser-team-tools.ts +126 -3
- package/src/server/agent-chat/framework-prompts.ts +7 -11
- package/src/server/agent-chat/plugin-options.ts +3 -3
- package/src/server/agent-chat/script-entries.ts +52 -1
- package/src/server/agent-chat-plugin.ts +25 -5
- package/src/server/attribution.ts +22 -0
- package/src/server/auth.ts +20 -6
- package/src/server/better-auth-instance.ts +10 -2
- package/src/server/core-routes-plugin.ts +10 -1
- package/src/server/csrf.ts +25 -0
- package/src/server/google-oauth.ts +21 -1
- package/src/server/onboarding-html.ts +18 -0
- package/src/server/prompts/framework-core-compact.ts +3 -3
- package/src/server/prompts/framework-core.ts +3 -3
- package/src/server/prompts/shared-rules.ts +3 -3
- package/src/settings/index.ts +1 -0
- package/src/shared/analytics-anonymous-id.ts +35 -0
- package/src/templates/chat/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/src/templates/chat/app/components/layout/Sidebar.tsx +1 -5
- package/src/templates/chat/changelog/2026-07-29-sidebar-footers-now-keep-feedback-search-and-collapse-togeth.md +6 -0
- package/src/templates/default/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/src/templates/default/app/i18n/ar-SA.ts +26 -0
- package/src/templates/default/app/i18n/de-DE.ts +28 -0
- package/src/templates/default/app/i18n/en-US.ts +27 -0
- package/src/templates/default/app/i18n/es-ES.ts +28 -0
- package/src/templates/default/app/i18n/fr-FR.ts +28 -0
- package/src/templates/default/app/i18n/hi-IN.ts +25 -0
- package/src/templates/default/app/i18n/ja-JP.ts +27 -0
- package/src/templates/default/app/i18n/ko-KR.ts +27 -0
- package/src/templates/default/app/i18n/pt-BR.ts +27 -0
- package/src/templates/default/app/i18n/zh-CN.ts +24 -0
- package/src/templates/default/app/i18n/zh-TW.ts +24 -0
- package/src/templates/headless/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/src/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +5 -0
- package/src/templates/workspace-core/.agents/skills/agent-page/SKILL.md +10 -7
- package/src/templates/workspace-core/.agents/skills/automations/SKILL.md +53 -8
- package/src/templates/workspace-core/.agents/skills/browser-sessions/SKILL.md +131 -0
- package/src/templates/workspace-core/.agents/skills/extension-points/SKILL.md +13 -4
- package/src/templates/workspace-core/.agents/skills/extensions/SKILL.md +23 -15
- package/src/templates/workspace-core/.agents/skills/recurring-jobs/SKILL.md +33 -18
- package/src/tracking/providers.ts +1 -0
- package/src/tracking/registry.ts +2 -1
- package/src/tracking/types.ts +1 -0
- package/src/triggers/actions/list-automations.ts +43 -44
- package/src/triggers/actions/manage-automation.ts +17 -48
- package/src/triggers/actions.ts +218 -127
- package/src/triggers/dispatcher.ts +181 -367
- package/src/triggers/routes.ts +84 -27
- package/src/triggers/types.ts +9 -23
|
@@ -117,6 +117,11 @@ in the moment of agent use.
|
|
|
117
117
|
missing-secret states, OAuth grants, and provider connection health.
|
|
118
118
|
- **Agent UX kit**: sidebar, composer, staged context, mentions, voice, human
|
|
119
119
|
approval, generative UI, progress, and screen-state exposure.
|
|
120
|
+
- **Custom block kit**: optional extension creation, viewer chrome, slots, and
|
|
121
|
+
promotion affordances. Apps must opt in; Core keeps the sandbox, SQL storage,
|
|
122
|
+
access checks, and compatibility routes, while Toolkit owns reusable adoption
|
|
123
|
+
UI. Analytics may expose this as one-off **Custom Blocks**; durable behavior
|
|
124
|
+
should be promoted to app code.
|
|
120
125
|
- **Chat history kit**: presentational chat lists and recent-chat rails belong
|
|
121
126
|
in Toolkit; Core keeps thread persistence, agent execution, transport, and
|
|
122
127
|
page-to-sidebar handoff. Use Toolkit's `ChatHistoryRail` for the standard
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
} from "@agent-native/core/client/agent-chat";
|
|
6
6
|
import { appPath } from "@agent-native/core/client/api-path";
|
|
7
7
|
import { DevDatabaseLink } from "@agent-native/core/client/db-admin";
|
|
8
|
-
import {
|
|
8
|
+
import { useT } from "@agent-native/core/client/i18n";
|
|
9
9
|
import { openCommandMenu } from "@agent-native/core/client/navigation";
|
|
10
10
|
import { OrgSwitcher } from "@agent-native/core/client/org";
|
|
11
11
|
import { FeedbackButton } from "@agent-native/core/client/ui";
|
|
@@ -114,9 +114,6 @@ export function Sidebar() {
|
|
|
114
114
|
<TooltipContent side="right">{t("root.searchForms")}</TooltipContent>
|
|
115
115
|
</Tooltip>
|
|
116
116
|
);
|
|
117
|
-
const translateButton = (
|
|
118
|
-
<LanguagePicker variant="ghost-icon" label={t("settings.languageLabel")} />
|
|
119
|
-
);
|
|
120
117
|
const feedbackButton = (
|
|
121
118
|
<FeedbackButton
|
|
122
119
|
variant={effectiveCollapsed ? "icon" : "sidebar"}
|
|
@@ -340,7 +337,6 @@ export function Sidebar() {
|
|
|
340
337
|
<SidebarFooterActions
|
|
341
338
|
collapsed
|
|
342
339
|
feedback={feedbackButton}
|
|
343
|
-
translate={translateButton}
|
|
344
340
|
search={searchButton}
|
|
345
341
|
collapse={collapseButton}
|
|
346
342
|
/>
|
|
@@ -468,7 +464,6 @@ export function Sidebar() {
|
|
|
468
464
|
</div>
|
|
469
465
|
<SidebarFooterActions
|
|
470
466
|
feedback={feedbackButton}
|
|
471
|
-
translate={translateButton}
|
|
472
467
|
search={searchButton}
|
|
473
468
|
collapse={collapseButton}
|
|
474
469
|
className="px-0 py-0"
|
|
@@ -117,6 +117,11 @@ in the moment of agent use.
|
|
|
117
117
|
missing-secret states, OAuth grants, and provider connection health.
|
|
118
118
|
- **Agent UX kit**: sidebar, composer, staged context, mentions, voice, human
|
|
119
119
|
approval, generative UI, progress, and screen-state exposure.
|
|
120
|
+
- **Custom block kit**: optional extension creation, viewer chrome, slots, and
|
|
121
|
+
promotion affordances. Apps must opt in; Core keeps the sandbox, SQL storage,
|
|
122
|
+
access checks, and compatibility routes, while Toolkit owns reusable adoption
|
|
123
|
+
UI. Analytics may expose this as one-off **Custom Blocks**; durable behavior
|
|
124
|
+
should be promoted to app code.
|
|
120
125
|
- **Chat history kit**: presentational chat lists and recent-chat rails belong
|
|
121
126
|
in Toolkit; Core keeps thread persistence, agent execution, transport, and
|
|
122
127
|
page-to-sidebar handoff. Use Toolkit's `ChatHistoryRail` for the standard
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AgentSidebar } from "@agent-native/core/client/agent-chat";
|
|
2
2
|
import { agentNativePath, appPath } from "@agent-native/core/client/api-path";
|
|
3
3
|
import { DevDatabaseLink } from "@agent-native/core/client/db-admin";
|
|
4
|
-
import {
|
|
4
|
+
import { useT } from "@agent-native/core/client/i18n";
|
|
5
5
|
import { openCommandMenu } from "@agent-native/core/client/navigation";
|
|
6
6
|
import { OrgSwitcher } from "@agent-native/core/client/org";
|
|
7
7
|
import { FeedbackButton } from "@agent-native/core/client/ui";
|
|
@@ -232,9 +232,6 @@ function SidebarContent({
|
|
|
232
232
|
<TooltipContent side="right">{t("root.search")}</TooltipContent>
|
|
233
233
|
</Tooltip>
|
|
234
234
|
);
|
|
235
|
-
const translateButton = (
|
|
236
|
-
<LanguagePicker variant="ghost-icon" label={t("settings.languageLabel")} />
|
|
237
|
-
);
|
|
238
235
|
const feedbackButton = (
|
|
239
236
|
<FeedbackButton
|
|
240
237
|
variant={collapsed ? "icon" : "sidebar"}
|
|
@@ -352,7 +349,6 @@ function SidebarContent({
|
|
|
352
349
|
<SidebarFooterActions
|
|
353
350
|
collapsed={collapsed}
|
|
354
351
|
feedback={feedbackButton}
|
|
355
|
-
translate={translateButton}
|
|
356
352
|
search={searchButton}
|
|
357
353
|
collapse={collapseButton}
|
|
358
354
|
/>
|
|
@@ -117,6 +117,11 @@ in the moment of agent use.
|
|
|
117
117
|
missing-secret states, OAuth grants, and provider connection health.
|
|
118
118
|
- **Agent UX kit**: sidebar, composer, staged context, mentions, voice, human
|
|
119
119
|
approval, generative UI, progress, and screen-state exposure.
|
|
120
|
+
- **Custom block kit**: optional extension creation, viewer chrome, slots, and
|
|
121
|
+
promotion affordances. Apps must opt in; Core keeps the sandbox, SQL storage,
|
|
122
|
+
access checks, and compatibility routes, while Toolkit owns reusable adoption
|
|
123
|
+
UI. Analytics may expose this as one-off **Custom Blocks**; durable behavior
|
|
124
|
+
should be promoted to app code.
|
|
120
125
|
- **Chat history kit**: presentational chat lists and recent-chat rails belong
|
|
121
126
|
in Toolkit; Core keeps thread persistence, agent execution, transport, and
|
|
122
127
|
page-to-sidebar handoff. Use Toolkit's `ChatHistoryRail` for the standard
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
import { agentNativePath } from "@agent-native/core/client/api-path";
|
|
6
6
|
import { appApiPath } from "@agent-native/core/client/api-path";
|
|
7
7
|
import { DevDatabaseLink } from "@agent-native/core/client/db-admin";
|
|
8
|
-
import {
|
|
8
|
+
import { useT } from "@agent-native/core/client/i18n";
|
|
9
9
|
import { openCommandMenu } from "@agent-native/core/client/navigation";
|
|
10
10
|
import { InvitationBanner, OrgSwitcher } from "@agent-native/core/client/org";
|
|
11
11
|
import { FeedbackButton } from "@agent-native/core/client/ui";
|
|
@@ -427,9 +427,6 @@ function AppLayoutInner({ children }: AppLayoutProps) {
|
|
|
427
427
|
<TooltipContent side="right">{t("mail.search.label")}</TooltipContent>
|
|
428
428
|
</Tooltip>
|
|
429
429
|
);
|
|
430
|
-
const translateButton = (
|
|
431
|
-
<LanguagePicker variant="ghost-icon" label={t("settings.languageLabel")} />
|
|
432
|
-
);
|
|
433
430
|
const feedbackButton = (
|
|
434
431
|
<FeedbackButton
|
|
435
432
|
variant={showCollapsedSidebar ? "icon" : "sidebar"}
|
|
@@ -1801,7 +1798,6 @@ function AppLayoutInner({ children }: AppLayoutProps) {
|
|
|
1801
1798
|
<SidebarFooterActions
|
|
1802
1799
|
collapsed={showCollapsedSidebar}
|
|
1803
1800
|
feedback={feedbackButton}
|
|
1804
|
-
translate={translateButton}
|
|
1805
1801
|
search={searchButton}
|
|
1806
1802
|
collapse={collapseButton}
|
|
1807
1803
|
className={showCollapsedSidebar ? undefined : "px-0 py-0"}
|
|
@@ -2030,9 +2026,6 @@ function StandardLayout({ children }: AppLayoutProps) {
|
|
|
2030
2026
|
<TooltipContent side="right">{t("mail.search.label")}</TooltipContent>
|
|
2031
2027
|
</Tooltip>
|
|
2032
2028
|
);
|
|
2033
|
-
const translateButton = (
|
|
2034
|
-
<LanguagePicker variant="ghost-icon" label={t("settings.languageLabel")} />
|
|
2035
|
-
);
|
|
2036
2029
|
const feedbackButton = (
|
|
2037
2030
|
<FeedbackButton variant="sidebar" side="right" className="min-w-0" />
|
|
2038
2031
|
);
|
|
@@ -2198,7 +2191,6 @@ function StandardLayout({ children }: AppLayoutProps) {
|
|
|
2198
2191
|
</div>
|
|
2199
2192
|
<SidebarFooterActions
|
|
2200
2193
|
feedback={feedbackButton}
|
|
2201
|
-
translate={translateButton}
|
|
2202
2194
|
search={searchButton}
|
|
2203
2195
|
collapse={collapseButton}
|
|
2204
2196
|
className="px-0 py-0"
|
|
@@ -117,6 +117,11 @@ in the moment of agent use.
|
|
|
117
117
|
missing-secret states, OAuth grants, and provider connection health.
|
|
118
118
|
- **Agent UX kit**: sidebar, composer, staged context, mentions, voice, human
|
|
119
119
|
approval, generative UI, progress, and screen-state exposure.
|
|
120
|
+
- **Custom block kit**: optional extension creation, viewer chrome, slots, and
|
|
121
|
+
promotion affordances. Apps must opt in; Core keeps the sandbox, SQL storage,
|
|
122
|
+
access checks, and compatibility routes, while Toolkit owns reusable adoption
|
|
123
|
+
UI. Analytics may expose this as one-off **Custom Blocks**; durable behavior
|
|
124
|
+
should be promoted to app code.
|
|
120
125
|
- **Chat history kit**: presentational chat lists and recent-chat rails belong
|
|
121
126
|
in Toolkit; Core keeps thread persistence, agent execution, transport, and
|
|
122
127
|
page-to-sidebar handoff. Use Toolkit's `ChatHistoryRail` for the standard
|
|
@@ -10,7 +10,7 @@ import { appPath } from "@agent-native/core/client/api-path";
|
|
|
10
10
|
import { PromptComposer } from "@agent-native/core/client/composer";
|
|
11
11
|
import { DevDatabaseLink } from "@agent-native/core/client/db-admin";
|
|
12
12
|
import { useSession } from "@agent-native/core/client/hooks";
|
|
13
|
-
import {
|
|
13
|
+
import { useT } from "@agent-native/core/client/i18n";
|
|
14
14
|
import { openCommandMenu } from "@agent-native/core/client/navigation";
|
|
15
15
|
import { OrgSwitcher } from "@agent-native/core/client/org";
|
|
16
16
|
import {
|
|
@@ -584,9 +584,6 @@ export function Sidebar({
|
|
|
584
584
|
</TooltipContent>
|
|
585
585
|
</Tooltip>
|
|
586
586
|
);
|
|
587
|
-
const translateButton = (
|
|
588
|
-
<LanguagePicker variant="ghost-icon" label={t("settings.languageLabel")} />
|
|
589
|
-
);
|
|
590
587
|
const feedbackButton = (
|
|
591
588
|
<FeedbackButton
|
|
592
589
|
variant={collapsed ? "icon" : "sidebar"}
|
|
@@ -669,8 +666,8 @@ export function Sidebar({
|
|
|
669
666
|
return (
|
|
670
667
|
<div key={item.href}>
|
|
671
668
|
{link}
|
|
672
|
-
{item.href === "/"
|
|
673
|
-
<PlanChatsSection collapsed={collapsed} open />
|
|
669
|
+
{item.href === "/" ? (
|
|
670
|
+
<PlanChatsSection collapsed={collapsed} open={isActive} />
|
|
674
671
|
) : null}
|
|
675
672
|
{item.href === "/plans" && isActive ? (
|
|
676
673
|
<PlansSidebarSection collapsed={collapsed} />
|
|
@@ -746,7 +743,6 @@ export function Sidebar({
|
|
|
746
743
|
<SidebarFooterActions
|
|
747
744
|
collapsed={collapsed}
|
|
748
745
|
feedback={feedbackButton}
|
|
749
|
-
translate={translateButton}
|
|
750
746
|
search={searchButton}
|
|
751
747
|
collapse={collapseButton}
|
|
752
748
|
/>
|
|
@@ -1467,7 +1467,7 @@ function resolveInlineCommentPosition(input: {
|
|
|
1467
1467
|
};
|
|
1468
1468
|
}
|
|
1469
1469
|
|
|
1470
|
-
function buildPlanAgentContext(input: {
|
|
1470
|
+
export function buildPlanAgentContext(input: {
|
|
1471
1471
|
bundle: PlanBundle & { html?: string };
|
|
1472
1472
|
documentHtml: string;
|
|
1473
1473
|
url: string;
|
|
@@ -1563,7 +1563,7 @@ function buildPlanAgentContext(input: {
|
|
|
1563
1563
|
.join("\n");
|
|
1564
1564
|
})
|
|
1565
1565
|
.join("\n");
|
|
1566
|
-
const recentReviewEvents = input.bundle.events
|
|
1566
|
+
const recentReviewEvents = (input.bundle.events ?? [])
|
|
1567
1567
|
.filter((event) => event.type === "plan.updated")
|
|
1568
1568
|
.slice(-6)
|
|
1569
1569
|
.map((event) => {
|
|
@@ -117,6 +117,11 @@ in the moment of agent use.
|
|
|
117
117
|
missing-secret states, OAuth grants, and provider connection health.
|
|
118
118
|
- **Agent UX kit**: sidebar, composer, staged context, mentions, voice, human
|
|
119
119
|
approval, generative UI, progress, and screen-state exposure.
|
|
120
|
+
- **Custom block kit**: optional extension creation, viewer chrome, slots, and
|
|
121
|
+
promotion affordances. Apps must opt in; Core keeps the sandbox, SQL storage,
|
|
122
|
+
access checks, and compatibility routes, while Toolkit owns reusable adoption
|
|
123
|
+
UI. Analytics may expose this as one-off **Custom Blocks**; durable behavior
|
|
124
|
+
should be promoted to app code.
|
|
120
125
|
- **Chat history kit**: presentational chat lists and recent-chat rails belong
|
|
121
126
|
in Toolkit; Core keeps thread persistence, agent execution, transport, and
|
|
122
127
|
page-to-sidebar handoff. Use Toolkit's `ChatHistoryRail` for the standard
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: analytics-data-for-decks
|
|
3
|
+
description: >-
|
|
4
|
+
Route customer, account, CRM, HubSpot, pipeline, renewal, usage, product
|
|
5
|
+
activity, Gong, and other analytics-backed deck requests through the
|
|
6
|
+
Analytics agent. Use when generating or updating Slides content that needs
|
|
7
|
+
external or first-party data.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Analytics data for decks
|
|
11
|
+
|
|
12
|
+
When a deck needs customer or product data, ask the Analytics agent over A2A
|
|
13
|
+
before creating or changing Slides content. The user's wording can be direct,
|
|
14
|
+
such as "ask the analytics agent to ...", or implicit in a request for customer,
|
|
15
|
+
account, CRM, HubSpot, pipeline, renewal, usage, product-activity, Gong, or
|
|
16
|
+
other analytics data.
|
|
17
|
+
|
|
18
|
+
## Delegation
|
|
19
|
+
|
|
20
|
+
- For a known, read-only operation, use `call-agent` with `agent: "analytics"`,
|
|
21
|
+
the exact `action`, and complete `input`. This invokes Analytics directly
|
|
22
|
+
without starting a second model loop.
|
|
23
|
+
- For ambiguous, multi-source, or narrative questions, use `call-agent` with a
|
|
24
|
+
natural-language `message` and let Analytics decide which source or sources
|
|
25
|
+
to use.
|
|
26
|
+
- Useful Analytics operations include `hubspot-records` for bounded CRM
|
|
27
|
+
records and `hubspot-deals` for pipeline and deal metrics,
|
|
28
|
+
`account-deep-dive` for a named account or renewal/risk review, `gong-calls`
|
|
29
|
+
for quotes/counts/transcripts and coverage, and `gong-native-insights` for
|
|
30
|
+
bounded narrative synthesis. For first-party product activity, send a
|
|
31
|
+
natural-language message and let Analytics choose its query.
|
|
32
|
+
- Slides must not write SQL, choose a warehouse or provider, call HubSpot/Gong
|
|
33
|
+
directly, or interpret a provider schema itself. Analytics owns source
|
|
34
|
+
selection, data dictionary interpretation, filters, joins, and query
|
|
35
|
+
execution using its own instructions and connected-source status.
|
|
36
|
+
|
|
37
|
+
## Evidence and deck behavior
|
|
38
|
+
|
|
39
|
+
- Preserve the question, source, filters, date window, coverage, counts,
|
|
40
|
+
pagination, and limitations from Analytics. Never invent customer data or
|
|
41
|
+
claim a lookup succeeded when it failed.
|
|
42
|
+
- If a source is unavailable, name the missing source and continue only with
|
|
43
|
+
clearly labeled data that Analytics actually returned. Do not expose
|
|
44
|
+
credentials or raw provider payloads.
|
|
45
|
+
- Before generation, call `get-workspace-defaults` when no reference deck or
|
|
46
|
+
design system is named, then follow `creative-context` for approved brand
|
|
47
|
+
context and provenance. For updates, preserve the existing deck structure
|
|
48
|
+
and make focused slide edits.
|
|
@@ -11,10 +11,19 @@ description: How to create a new deck with slides from scratch. Read this before
|
|
|
11
11
|
|
|
12
12
|
1. Read the `creative-context` skill and retrieve factual evidence separately
|
|
13
13
|
from presentation structure. Respect `contextMode: "off"`.
|
|
14
|
-
2.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
2. Unless the user named a reference deck or design system, call
|
|
15
|
+
`get-workspace-defaults` and use what it returns. See "Workspace Defaults".
|
|
16
|
+
3. Plan the slides (deck title, title slide, section dividers, content slides).
|
|
17
|
+
4. Call `create-deck --title "..." --slides '[]'` with a concise, specific
|
|
18
|
+
title derived from the user's request and source material. Never use
|
|
19
|
+
`Untitled Deck` or another placeholder title for a generated deck.
|
|
20
|
+
5. Navigate to the new deck.
|
|
21
|
+
6. Call `add-slide` once per slide in slide order, waiting for each result.
|
|
22
|
+
|
|
23
|
+
When the UI has already created the empty deck, keep its id and rename it before
|
|
24
|
+
adding the first slide. Call `patch-deck` with a `patch-deck-fields` operation
|
|
25
|
+
whose `fields.title` is the generated title. Do not leave the pre-created deck's
|
|
26
|
+
placeholder title in place.
|
|
18
27
|
|
|
19
28
|
Follow the creative-context reuse ladder before inventing a slide language:
|
|
20
29
|
reuse an approved native template unchanged, compose approved pieces, lightly
|
|
@@ -37,6 +46,53 @@ sub-agents to write into the same deck at the same time. Sub-agents may research
|
|
|
37
46
|
or draft slide copy, but one writer should call `add-slide` sequentially so the
|
|
38
47
|
editor stays stable and the user can watch progress.
|
|
39
48
|
|
|
49
|
+
## Reference Decks
|
|
50
|
+
|
|
51
|
+
The user can pick an existing deck as a style reference when starting a new one.
|
|
52
|
+
When they do, a `## Reference Deck` block is already in your context holding one
|
|
53
|
+
worked HTML example per layout.
|
|
54
|
+
|
|
55
|
+
Treat it as a pattern library, not an outline. The most common failure here is
|
|
56
|
+
walking the reference deck slide by slide and swapping in new copy, which
|
|
57
|
+
produces a deck with the wrong shape for its own content. Instead:
|
|
58
|
+
|
|
59
|
+
1. Plan the new deck from the user's request alone — story, slide count, order.
|
|
60
|
+
2. For each slide you decided to write, pick the pattern that fits that content.
|
|
61
|
+
3. Reuse a pattern as often as the content warrants, or never.
|
|
62
|
+
4. When nothing fits, compose a new slide from the same type scale, spacing,
|
|
63
|
+
color, and markup conventions rather than bending content to a near-miss.
|
|
64
|
+
|
|
65
|
+
The block deliberately omits the reference deck's slide sequence. Call
|
|
66
|
+
`get-deck --id <reference deck id>` if you need to see how that deck handled a
|
|
67
|
+
case the patterns do not cover.
|
|
68
|
+
|
|
69
|
+
A reference deck and a design system are independent: the design system wins on
|
|
70
|
+
tokens (color, type, spacing), the reference deck wins on slide-level
|
|
71
|
+
composition and markup idiom. Apply both when both are present.
|
|
72
|
+
|
|
73
|
+
Decks the user has starred are their intended reference decks. `list-decks`
|
|
74
|
+
reports `starred` so you can offer them when the user asks for something "like
|
|
75
|
+
our usual deck".
|
|
76
|
+
|
|
77
|
+
## Workspace Defaults
|
|
78
|
+
|
|
79
|
+
A workspace admin can flag one deck and one design system as the workspace
|
|
80
|
+
default, so a bare "make a deck about X" still comes out on brand. When the user
|
|
81
|
+
did not name a reference deck or design system, call `get-workspace-defaults`
|
|
82
|
+
before planning slides.
|
|
83
|
+
|
|
84
|
+
- `referenceDeck` — call `get-deck-reference-context --id <id>` and treat the
|
|
85
|
+
result exactly like a user-picked reference deck.
|
|
86
|
+
- `designSystem` — pass its id as `designSystemId` to `create-deck`, unless the
|
|
87
|
+
caller already has a personal default, which `create-deck` applies on its own.
|
|
88
|
+
- Either field can come back `{ unavailable: true }`. That means the default
|
|
89
|
+
exists but this user cannot open it, which is a misconfiguration, not an
|
|
90
|
+
absent default. Generate without it and tell the user their workspace default
|
|
91
|
+
is not shared with them, rather than silently producing an off-brand deck.
|
|
92
|
+
|
|
93
|
+
An explicit request always wins over the workspace default. Do not re-apply a
|
|
94
|
+
workspace default to an existing deck the user is editing.
|
|
95
|
+
|
|
40
96
|
If the user provides a Google Docs URL as source material, call
|
|
41
97
|
`import-google-doc --url <url>` first and build from the returned text. If the
|
|
42
98
|
action cannot read a private document, the user can connect Google Docs and
|
|
@@ -40,6 +40,26 @@ Do not call `create-design-system` locally from `.fig` uploads. Do not call
|
|
|
40
40
|
`import-document` for `.fig` files; it only handles metadata and will miss the
|
|
41
41
|
Builder indexing flow.
|
|
42
42
|
|
|
43
|
+
### Source: connected code, GitHub, or `design.md`
|
|
44
|
+
|
|
45
|
+
For any other reusable source — connected code, a GitHub repo, local
|
|
46
|
+
code/design files, or an optional `design.md` — use Builder-backed DSI
|
|
47
|
+
indexing through `index-design-system-with-builder`. Pass readable `design.md`
|
|
48
|
+
content as `designMd`, and use the returned local design system id in the rest
|
|
49
|
+
of the Slides flow. Call `get-design-system` before generation so Builder docs
|
|
50
|
+
and tokens are hydrated when available.
|
|
51
|
+
|
|
52
|
+
Never create a duplicate local design system from raw Figma or code sources.
|
|
53
|
+
Builder owns the indexed brand kit; a second local copy drifts from it and
|
|
54
|
+
nothing records which one a deck was actually built from.
|
|
55
|
+
|
|
56
|
+
### Source: workspace default
|
|
57
|
+
|
|
58
|
+
A workspace admin can flag one design system as the workspace default, used by
|
|
59
|
+
members who have not set their own. `create-deck` resolves it server-side, so
|
|
60
|
+
call `get-workspace-defaults` only to name it or answer what the default is.
|
|
61
|
+
See the `create-deck` skill.
|
|
62
|
+
|
|
43
63
|
## Deleting a Design System
|
|
44
64
|
|
|
45
65
|
`delete-design-system` requires admin access or higher (owner or admin share
|
|
@@ -5,7 +5,11 @@ description: How to edit individual slides -- content formatting, HTML styling r
|
|
|
5
5
|
|
|
6
6
|
# Slide Editing
|
|
7
7
|
|
|
8
|
-
Slides are HTML content stored inside the deck JSON. Each slide's `content`
|
|
8
|
+
Slides are HTML content stored inside the deck JSON. Each slide's `content`
|
|
9
|
+
field is a self-contained HTML string rendered at the intrinsic dimensions for
|
|
10
|
+
its aspect ratio: 16:9 is 960x540, 1:1 is 1080x1080, 9:16 is 540x960, and 4:5
|
|
11
|
+
is 864x1080. These canonical dimensions come from the shared aspect-ratio
|
|
12
|
+
registry; do not assume a fixed 1920x1080 canvas.
|
|
9
13
|
|
|
10
14
|
## Slide HTML Structure
|
|
11
15
|
|
|
@@ -56,6 +60,31 @@ If retrieval produces a new immutable context pack, keep its `contextPackId`
|
|
|
56
60
|
and reuse labels with the deck provenance. Existing slide HTML is not proof of
|
|
57
61
|
which source version influenced it.
|
|
58
62
|
|
|
63
|
+
## Freeform Canvas Objects
|
|
64
|
+
|
|
65
|
+
Manual text boxes and other freeform canvas objects are absolutely positioned
|
|
66
|
+
children of `.fmd-slide`. Give each one a stable `data-slide-object-id`:
|
|
67
|
+
|
|
68
|
+
```html
|
|
69
|
+
<div
|
|
70
|
+
class="fmd-text-box"
|
|
71
|
+
data-slide-object-id="slide-object-unique-id"
|
|
72
|
+
style="position: absolute; left: 160px; top: 120px; width: 420px;"
|
|
73
|
+
>
|
|
74
|
+
Editable text
|
|
75
|
+
</div>
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
- Preserve `data-slide-object-id` when updating, moving, resizing, or styling an
|
|
79
|
+
existing object.
|
|
80
|
+
- Mint a new unique object ID when duplicating an object.
|
|
81
|
+
- Do not use runtime-only `data-builder-id` values in saved slide HTML.
|
|
82
|
+
- Keep generated flex and grid content in normal flow. Do not silently
|
|
83
|
+
absolute-position a nested layout child just to make it draggable; create a
|
|
84
|
+
deliberate freeform object instead.
|
|
85
|
+
- Build editable shapes with styled HTML elements such as `div`. Do not use
|
|
86
|
+
inline SVG, which the slide sanitizer removes.
|
|
87
|
+
|
|
59
88
|
## Image Placeholders
|
|
60
89
|
|
|
61
90
|
For visual elements (diagrams, charts, photos), use placeholder divs:
|
|
@@ -22,7 +22,9 @@ The standard workflow for generating slide images:
|
|
|
22
22
|
|
|
23
23
|
1. User clicks "Image" in the editor or asks the agent
|
|
24
24
|
2. Agent runs `pnpm action generate-image --prompt "..." --count 3`
|
|
25
|
-
3. Agent shows
|
|
25
|
+
3. Agent shows each variation as an inline rendered preview using markdown
|
|
26
|
+
image syntax (``), not a plain link (`[Variation 1](url)`)
|
|
27
|
+
— the chat renders `![]()` as an actual image but `[]()` as a bare link
|
|
26
28
|
4. User picks a favorite
|
|
27
29
|
5. Agent writes the chosen image into the slide content
|
|
28
30
|
6. User can follow up: "make it darker", "try a different angle"
|
|
@@ -27,21 +27,17 @@ ladder.
|
|
|
27
27
|
current layout is unclear.
|
|
28
28
|
- Preserve deck structure and visual consistency. Prefer focused slide edits over
|
|
29
29
|
regenerating whole decks unless requested.
|
|
30
|
+
- Preserve freeform objects and their `data-slide-object-id` values. They are
|
|
31
|
+
absolutely positioned `.fmd-slide` children; keep generated flex/grid in
|
|
32
|
+
normal flow and mint ids only for duplicates. Use styled HTML, not inline SVG.
|
|
30
33
|
- Follow linked design-system tokens and custom instructions.
|
|
31
|
-
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
- Treat import/export actions as shortcuts, not capability limits. When the
|
|
39
|
-
exact Google Drive endpoint, file metadata field, export format, pagination
|
|
40
|
-
mode, or API version matters, use `provider-api-catalog`,
|
|
41
|
-
`provider-api-docs`, and `provider-api-request` against the real provider
|
|
42
|
-
API. Slides resolves Google Drive auth from the user's connected Google Docs
|
|
43
|
-
OAuth account. For large scans, stage results with `stageAs` and analyze them
|
|
44
|
-
with `query-staged-dataset`.
|
|
34
|
+
- Build reusable design systems from Figma, code, GitHub, or `design.md` via
|
|
35
|
+
Builder-backed DSI indexing, never a duplicate local copy. Read
|
|
36
|
+
`design-systems` for the per-source actions.
|
|
37
|
+
- Import/export actions are shortcuts, not capability limits. For exact Google
|
|
38
|
+
Drive API needs, use `provider-api-catalog`, `provider-api-docs`, and
|
|
39
|
+
`provider-api-request`; auth comes from the user's Google Docs OAuth. Stage
|
|
40
|
+
large scans with `stageAs` and analyze them via `query-staged-dataset`.
|
|
45
41
|
- Use image-generation and image-selection actions only when the deck genuinely
|
|
46
42
|
needs imagery; keep citations/asset provenance when available.
|
|
47
43
|
- Use framework sharing actions for deck visibility and grants.
|
|
@@ -49,15 +45,15 @@ ladder.
|
|
|
49
45
|
and `input` (or `invokeAgentAction`) instead of starting the sibling agent's
|
|
50
46
|
model loop. In Analytics, use `gong-native-insights` for provider-synthesized
|
|
51
47
|
briefs and `gong-calls` for quotes, counts, transcripts, and coverage claims.
|
|
52
|
-
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
`
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
48
|
+
- For data requests, read `.agents/skills/analytics-data-for-decks/SKILL.md` and
|
|
49
|
+
delegate via Analytics over A2A; do not write SQL or call providers directly.
|
|
50
|
+
- When the user names no reference deck or design system, call
|
|
51
|
+
`get-workspace-defaults` first so a bare "make a deck about X" is still on
|
|
52
|
+
brand.
|
|
53
|
+
- Before generation, follow `.agents/skills/creative-context/SKILL.md`: explicit
|
|
54
|
+
request/current deck, then pinned/current pack, then narrow library search.
|
|
55
|
+
Respect `contextMode: "off"`. Submit governed context through the Context tab
|
|
56
|
+
or `manage-context-membership`; reuse only its opaque clone reference.
|
|
61
57
|
|
|
62
58
|
## Persistence Model
|
|
63
59
|
|
|
@@ -89,6 +85,10 @@ extending the editor's save path, enqueue a granular op (`patch-slide`,
|
|
|
89
85
|
- Browser PowerPoint export uses the rendered slide DOM to generate native,
|
|
90
86
|
editable PPTX text/shapes/images. Do not replace it with full-slide images
|
|
91
87
|
unless the user explicitly asks for non-editable visual snapshots.
|
|
88
|
+
- The server-side `export-pptx` action cannot measure browser-rendered
|
|
89
|
+
freeform geometry. It must fail clearly for positioned objects and direct the
|
|
90
|
+
user to the editor's Export > PowerPoint path instead of silently reflowing
|
|
91
|
+
them.
|
|
92
92
|
- Google Slides export is a PPTX import workflow: generate the same editable
|
|
93
93
|
PPTX and have the user import it into Google Slides. Creating a native Google
|
|
94
94
|
Slides file directly requires a separate Google Slides API batchUpdate path.
|
|
@@ -97,10 +97,11 @@ extending the editor's save path, enqueue a granular op (`patch-slide`,
|
|
|
97
97
|
|
|
98
98
|
Read the relevant skill before deeper work:
|
|
99
99
|
|
|
100
|
-
- `create-deck` for new decks
|
|
100
|
+
- `create-deck` for new decks, reference decks, workspace defaults, outlines.
|
|
101
101
|
- `slide-editing` for targeted slide changes.
|
|
102
102
|
- `deck-management` for organization, sharing, import/export, and metadata.
|
|
103
103
|
- `slide-images` and `image-generation-via-a2a` for image work.
|
|
104
104
|
- `design-systems`, `frontend-design`, `shadcn-ui`, and `actions` as needed.
|
|
105
105
|
- `creative-context` for cross-app source reuse, pinned packs, provenance, and
|
|
106
106
|
context opt-out.
|
|
107
|
+
- `analytics-data-for-decks` for delegated data.
|
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
import { defineAction } from "@agent-native/core";
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
resolveBuilderCredentials,
|
|
4
|
+
resolveSecret,
|
|
5
|
+
} from "@agent-native/core/server";
|
|
3
6
|
import { z } from "zod";
|
|
4
7
|
|
|
5
8
|
export default defineAction({
|
|
6
9
|
description:
|
|
7
|
-
"Check which image generation providers are configured (Gemini API key status).",
|
|
10
|
+
"Check which image generation providers are configured (Builder connection, Gemini/OpenAI API key status).",
|
|
8
11
|
schema: z.object({}),
|
|
9
12
|
http: { method: "GET" },
|
|
10
13
|
run: async () => {
|
|
14
|
+
const builderCreds = await resolveBuilderCredentials();
|
|
11
15
|
return {
|
|
16
|
+
builder: !!(builderCreds.privateKey && builderCreds.publicKey),
|
|
12
17
|
gemini: !!(await resolveSecret("GEMINI_API_KEY")),
|
|
18
|
+
openai: !!(await resolveSecret("OPENAI_API_KEY")),
|
|
13
19
|
};
|
|
14
20
|
},
|
|
15
21
|
});
|
|
@@ -11,13 +11,14 @@ import {
|
|
|
11
11
|
validateGenerationCreativeContext,
|
|
12
12
|
} from "@agent-native/creative-context/server";
|
|
13
13
|
import type { CreativeContextElementProvenance } from "@agent-native/creative-context/types";
|
|
14
|
-
import {
|
|
14
|
+
import { eq } from "drizzle-orm";
|
|
15
15
|
import { z } from "zod";
|
|
16
16
|
|
|
17
17
|
import { normalizeSlidePadding } from "../app/lib/normalize-slide-padding.js";
|
|
18
18
|
import { getDb, schema } from "../server/db/index.js";
|
|
19
19
|
import { notifyClients } from "../server/handlers/decks.js";
|
|
20
20
|
import { createDeckVersionSnapshot } from "../server/lib/deck-versions.js";
|
|
21
|
+
import { resolveDefaultDesignSystemId } from "../server/workspace-defaults.js";
|
|
21
22
|
import { ASPECT_RATIO_VALUES } from "../shared/aspect-ratios.js";
|
|
22
23
|
import { getDeckUrl } from "./_app-url.js";
|
|
23
24
|
|
|
@@ -286,17 +287,8 @@ export default defineAction({
|
|
|
286
287
|
if (resolvedDesignSystemId) {
|
|
287
288
|
await assertAccess("design-system", resolvedDesignSystemId, "viewer");
|
|
288
289
|
} else {
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
.from(schema.designSystems)
|
|
292
|
-
.where(
|
|
293
|
-
and(
|
|
294
|
-
eq(schema.designSystems.ownerEmail, ownerEmail),
|
|
295
|
-
eq(schema.designSystems.isDefault, true),
|
|
296
|
-
),
|
|
297
|
-
)
|
|
298
|
-
.limit(1);
|
|
299
|
-
resolvedDesignSystemId = defaults[0]?.id;
|
|
290
|
+
resolvedDesignSystemId =
|
|
291
|
+
(await resolveDefaultDesignSystemId(ownerEmail)) ?? undefined;
|
|
300
292
|
}
|
|
301
293
|
|
|
302
294
|
const id = `deck-${Date.now()}-${Math.random().toString(36).slice(2, 7)}`;
|