@agent-native/core 0.92.12 → 0.93.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/corpus/README.md +2 -2
- package/corpus/core/CHANGELOG.md +39 -0
- package/corpus/core/docs/content/automation-connectors.mdx +80 -0
- package/corpus/core/docs/content/extensions.mdx +8 -0
- package/corpus/core/docs/content/locales/ar-SA/extensions.mdx +8 -0
- package/corpus/core/docs/content/locales/ar-SA/messaging.mdx +84 -15
- package/corpus/core/docs/content/locales/ar-SA/template-clips.mdx +1 -0
- package/corpus/core/docs/content/locales/ar-SA/template-design.mdx +1 -0
- package/corpus/core/docs/content/locales/de-DE/extensions.mdx +10 -0
- package/corpus/core/docs/content/locales/de-DE/messaging.mdx +92 -15
- package/corpus/core/docs/content/locales/de-DE/template-clips.mdx +1 -0
- package/corpus/core/docs/content/locales/de-DE/template-design.mdx +1 -0
- package/corpus/core/docs/content/locales/es-ES/extensions.mdx +10 -0
- package/corpus/core/docs/content/locales/es-ES/messaging.mdx +91 -15
- package/corpus/core/docs/content/locales/es-ES/template-clips.mdx +1 -0
- package/corpus/core/docs/content/locales/es-ES/template-design.mdx +1 -0
- package/corpus/core/docs/content/locales/fr-FR/extensions.mdx +10 -0
- package/corpus/core/docs/content/locales/fr-FR/messaging.mdx +91 -15
- package/corpus/core/docs/content/locales/fr-FR/template-clips.mdx +1 -0
- package/corpus/core/docs/content/locales/fr-FR/template-design.mdx +1 -0
- package/corpus/core/docs/content/locales/hi-IN/extensions.mdx +8 -0
- package/corpus/core/docs/content/locales/hi-IN/messaging.mdx +81 -15
- package/corpus/core/docs/content/locales/hi-IN/template-clips.mdx +1 -0
- package/corpus/core/docs/content/locales/hi-IN/template-design.mdx +1 -0
- package/corpus/core/docs/content/locales/ja-JP/extensions.mdx +9 -0
- package/corpus/core/docs/content/locales/ja-JP/messaging.mdx +81 -15
- package/corpus/core/docs/content/locales/ja-JP/template-clips.mdx +1 -0
- package/corpus/core/docs/content/locales/ja-JP/template-design.mdx +1 -0
- package/corpus/core/docs/content/locales/ko-KR/extensions.mdx +8 -0
- package/corpus/core/docs/content/locales/ko-KR/messaging.mdx +80 -15
- package/corpus/core/docs/content/locales/ko-KR/template-clips.mdx +1 -0
- package/corpus/core/docs/content/locales/ko-KR/template-design.mdx +1 -0
- package/corpus/core/docs/content/locales/pt-BR/extensions.mdx +9 -0
- package/corpus/core/docs/content/locales/pt-BR/messaging.mdx +88 -15
- package/corpus/core/docs/content/locales/pt-BR/template-clips.mdx +1 -0
- package/corpus/core/docs/content/locales/pt-BR/template-design.mdx +1 -0
- package/corpus/core/docs/content/locales/zh-CN/extensions.mdx +6 -0
- package/corpus/core/docs/content/locales/zh-CN/messaging.mdx +78 -15
- package/corpus/core/docs/content/locales/zh-CN/template-clips.mdx +1 -0
- package/corpus/core/docs/content/locales/zh-CN/template-design.mdx +1 -0
- package/corpus/core/docs/content/locales/zh-TW/extensions.mdx +6 -0
- package/corpus/core/docs/content/locales/zh-TW/messaging.mdx +78 -15
- package/corpus/core/docs/content/locales/zh-TW/template-clips.mdx +1 -0
- package/corpus/core/docs/content/locales/zh-TW/template-design.mdx +1 -0
- package/corpus/core/docs/content/messaging.mdx +227 -45
- package/corpus/core/docs/content/template-clips.mdx +3 -0
- package/corpus/core/docs/content/template-design.mdx +4 -0
- package/corpus/core/package.json +5 -1
- package/corpus/core/src/a2a/artifact-response.ts +131 -2
- package/corpus/core/src/a2a/client.ts +10 -0
- package/corpus/core/src/a2a/handlers.ts +40 -76
- package/corpus/core/src/a2a/types.ts +2 -0
- package/corpus/core/src/agent/durable-background.ts +24 -0
- package/corpus/core/src/agent/production-agent.ts +15 -3
- package/corpus/core/src/agent/run-manager.ts +130 -10
- package/corpus/core/src/agent/run-store.ts +225 -15
- package/corpus/core/src/agent/types.ts +23 -0
- package/corpus/core/src/audit/record.ts +31 -0
- package/corpus/core/src/audit/store.ts +69 -3
- package/corpus/core/src/audit/types.ts +13 -0
- package/corpus/core/src/automation/index.ts +802 -0
- package/corpus/core/src/cli/create.ts +12 -5
- package/corpus/core/src/cli/design-connect.ts +596 -36
- package/corpus/core/src/client/AgentPanel.tsx +51 -6
- package/corpus/core/src/client/AssistantChat.tsx +274 -147
- package/corpus/core/src/client/MultiTabAssistantChat.tsx +3 -0
- package/corpus/core/src/client/RunStuckBanner.tsx +69 -20
- package/corpus/core/src/client/agent-chat-adapter.ts +54 -5
- package/corpus/core/src/client/automation.ts +22 -0
- package/corpus/core/src/client/chat/run-recovery.tsx +67 -50
- package/corpus/core/src/client/composer/TiptapComposer.tsx +8 -0
- package/corpus/core/src/client/index.ts +30 -0
- package/corpus/core/src/client/integrations/api.ts +295 -0
- package/corpus/core/src/client/integrations/index.ts +26 -0
- package/corpus/core/src/client/transcription/use-live-transcription.ts +68 -5
- package/corpus/core/src/client/use-run-stuck-detection.ts +41 -3
- package/corpus/core/src/deploy/build.ts +59 -3
- package/corpus/core/src/deploy/workspace-deploy.ts +37 -2
- package/corpus/core/src/file-upload/types.ts +2 -0
- package/corpus/core/src/index.ts +37 -0
- package/corpus/core/src/integrations/a2a-continuations-store.ts +6 -4
- package/corpus/core/src/integrations/adapters/discord.ts +362 -0
- package/corpus/core/src/integrations/adapters/index.ts +29 -0
- package/corpus/core/src/integrations/adapters/microsoft-teams.ts +411 -0
- package/corpus/core/src/integrations/adapters/slack.ts +861 -27
- package/corpus/core/src/integrations/adapters/telegram.ts +54 -15
- package/corpus/core/src/integrations/adapters/whatsapp.ts +41 -17
- package/corpus/core/src/integrations/catalog.ts +571 -0
- package/corpus/core/src/integrations/controls-store.ts +187 -0
- package/corpus/core/src/integrations/index.ts +100 -0
- package/corpus/core/src/integrations/installations-store.ts +677 -0
- package/corpus/core/src/integrations/integration-memory.ts +187 -0
- package/corpus/core/src/integrations/pending-tasks-retry-job.ts +6 -6
- package/corpus/core/src/integrations/pending-tasks-store.ts +83 -5
- package/corpus/core/src/integrations/plugin.ts +685 -47
- package/corpus/core/src/integrations/scope-store.ts +498 -0
- package/corpus/core/src/integrations/slack-manifest.ts +78 -0
- package/corpus/core/src/integrations/slack-oauth.ts +343 -0
- package/corpus/core/src/integrations/types.ts +179 -0
- package/corpus/core/src/integrations/usage-budget-store.ts +906 -0
- package/corpus/core/src/integrations/webhook-handler.ts +562 -51
- package/corpus/core/src/jobs/scheduler.ts +100 -2
- package/corpus/core/src/jobs/tools.ts +45 -9
- package/corpus/core/src/provider-api/index.ts +72 -1
- package/corpus/core/src/resources/handlers.ts +88 -14
- package/corpus/core/src/resources/script-helpers.ts +36 -7
- package/corpus/core/src/resources/store.ts +59 -52
- package/corpus/core/src/scripts/call-agent.ts +107 -1
- package/corpus/core/src/server/agent-chat-plugin.ts +294 -119
- package/corpus/core/src/server/auth.ts +10 -14
- package/corpus/core/src/server/builder-design-systems.ts +16 -1
- package/corpus/core/src/server/edge.ts +18 -0
- package/corpus/core/src/server/index.ts +26 -0
- package/corpus/core/src/server/request-context.ts +18 -0
- package/corpus/core/src/server/social-og-image.ts +3 -2
- package/corpus/core/src/styles/agent-native.css +62 -44
- package/corpus/core/src/templates/default/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/core/src/templates/default/AGENTS.md +7 -3
- package/corpus/core/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +1 -1
- package/corpus/core/src/templates/workspace-core/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/core/src/templates/workspace-core/.agents/skills/extension-points/SKILL.md +6 -3
- package/corpus/core/src/templates/workspace-core/.agents/skills/extensions/SKILL.md +25 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/integration-webhooks/SKILL.md +15 -0
- package/corpus/core/src/templates/workspace-core/AGENTS.md +3 -2
- package/corpus/core/src/usage/store.ts +37 -2
- package/corpus/templates/analytics/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/analytics/.agents/skills/provider-api/SKILL.md +23 -0
- package/corpus/templates/analytics/.builder/skills/provider-api/SKILL.md +15 -0
- package/corpus/templates/analytics/actions/save-monitor.ts +25 -2
- package/corpus/templates/analytics/app/lib/data-sources.ts +28 -0
- package/corpus/templates/analytics/changelog/2026-07-10-agent-created-uptime-monitors-now-return-a-direct-link-to-th.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-10-dashboard-email-reports-still-arrive-when-screenshot-capture-temporarily-fails.md +6 -0
- package/corpus/templates/analytics/server/jobs/dashboard-report.ts +3 -7
- package/corpus/templates/analytics/server/lib/credential-keys.ts +12 -0
- package/corpus/templates/analytics/server/lib/dashboard-report.ts +5 -1
- package/corpus/templates/analytics/server/lib/provider-credentials.ts +2 -0
- package/corpus/templates/analytics/server/routes/api/test-connection.post.ts +16 -0
- package/corpus/templates/assets/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/brain/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/calendar/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/calendar/app/components/calendar/CommandPalette.tsx +98 -108
- package/corpus/templates/calendar/app/components/calendar/EventAttendeesSection.tsx +97 -90
- package/corpus/templates/calendar/changelog/2026-07-10-event-guest-details-and-option-menus-now-use-valid-accessibl.md +6 -0
- package/corpus/templates/calendar/changelog/2026-07-10-natural-language-event-phrases-stay-available-as-quick-creat.md +6 -0
- package/corpus/templates/chat/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/chat/changelog/2026-07-10-chat-now-makes-ai-connection-setup-clear-without-shifting-th.md +6 -0
- package/corpus/templates/clips/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/clips/.agents/skills/recording/SKILL.md +17 -1
- package/corpus/templates/clips/.agents/skills/video-sharing/SKILL.md +8 -0
- package/corpus/templates/clips/AGENTS.md +8 -3
- package/corpus/templates/clips/actions/finalize-recording.ts +63 -23
- package/corpus/templates/clips/actions/get-recording-player-data.ts +6 -2
- package/corpus/templates/clips/actions/lib/ensure-seekable-video.ts +72 -9
- package/corpus/templates/clips/actions/list-recordings.ts +19 -3
- package/corpus/templates/clips/actions/navigate.ts +2 -0
- package/corpus/templates/clips/actions/reprocess-recording.ts +20 -6
- package/corpus/templates/clips/actions/request-transcript.ts +16 -31
- package/corpus/templates/clips/actions/view-screen.ts +57 -5
- package/corpus/templates/clips/app/components/layout/Header.tsx +1 -0
- package/corpus/templates/clips/app/components/library/empty-state.tsx +2 -0
- package/corpus/templates/clips/app/components/library/library-grid.tsx +69 -42
- package/corpus/templates/clips/app/components/library/library-layout.tsx +15 -1
- package/corpus/templates/clips/app/components/library/recording-card.tsx +81 -68
- package/corpus/templates/clips/app/components/library/search-bar.tsx +4 -3
- package/corpus/templates/clips/app/components/player/delete-recording-menu.tsx +9 -3
- package/corpus/templates/clips/app/components/player/share-dialog.tsx +1 -1
- package/corpus/templates/clips/app/hooks/use-library.ts +1 -1
- package/corpus/templates/clips/app/hooks/use-navigation-state.ts +10 -2
- package/corpus/templates/clips/app/i18n/ar-SA.ts +7 -1
- package/corpus/templates/clips/app/i18n/de-DE.ts +7 -1
- package/corpus/templates/clips/app/i18n/en-US.ts +7 -1
- package/corpus/templates/clips/app/i18n/es-ES.ts +7 -1
- package/corpus/templates/clips/app/i18n/fr-FR.ts +7 -1
- package/corpus/templates/clips/app/i18n/hi-IN.ts +7 -1
- package/corpus/templates/clips/app/i18n/ja-JP.ts +7 -1
- package/corpus/templates/clips/app/i18n/ko-KR.ts +7 -1
- package/corpus/templates/clips/app/i18n/pt-BR.ts +7 -1
- package/corpus/templates/clips/app/i18n/zh-CN.ts +8 -1
- package/corpus/templates/clips/app/i18n/zh-TW.ts +8 -1
- package/corpus/templates/clips/app/lib/recording-visibility.ts +70 -0
- package/corpus/templates/clips/app/routes/_app.shared.tsx +20 -0
- package/corpus/templates/clips/app/routes/download.tsx +24 -8
- package/corpus/templates/clips/app/routes/r.$recordingId.tsx +115 -2
- package/corpus/templates/clips/app/routes/record.tsx +62 -0
- package/corpus/templates/clips/app/routes/share.$shareId.tsx +25 -16
- package/corpus/templates/clips/changelog/2026-07-10-clips-desktop-is-now-available-for-linux-with-appimage-debia.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-clips-downloads-updates-sooner-in-the-background-and-offers-.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-clips-shared-with-you-now-appear-in-a-searchable-shared-with.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-clips-with-missing-mobile-video-frames-can-be-repaired-witho.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-mobile-camera-recordings-pause-while-backgrounded.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-mp4-downloads-now-show-progress-immediately-after-the-option.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-recording-pages-now-open-as-soon-as-you-stop-with-a-share-li.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-recordings-now-seek-smoothly-downloads-use-the-correct-file-.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-s3-compatible-storage-now-saves-hosted-recordings-without-re.md +6 -0
- package/corpus/templates/clips/desktop/README.md +22 -6
- package/corpus/templates/clips/desktop/package.json +1 -1
- package/corpus/templates/clips/desktop/src/app.tsx +32 -19
- package/corpus/templates/clips/desktop/src/components/ReadinessPanel.tsx +15 -9
- package/corpus/templates/clips/desktop/src/lib/finalization-guard.ts +22 -0
- package/corpus/templates/clips/desktop/src/lib/permissions.ts +3 -1
- package/corpus/templates/clips/desktop/src/lib/recorder.ts +97 -120
- package/corpus/templates/clips/desktop/src/lib/updater.ts +26 -4
- package/corpus/templates/clips/desktop/src/overlays/finalizing.tsx +4 -8
- package/corpus/templates/clips/desktop/src-tauri/Cargo.toml +1 -1
- package/corpus/templates/clips/desktop/src-tauri/src/clips/mod.rs +2 -2
- package/corpus/templates/clips/desktop/src-tauri/src/permission_status.rs +11 -7
- package/corpus/templates/clips/desktop/src-tauri/tauri.linux.conf.json +11 -0
- package/corpus/templates/clips/netlify.toml +3 -0
- package/corpus/templates/clips/server/lib/post-finalize-dispatch.ts +106 -0
- package/corpus/templates/clips/server/lib/public-agent-context.ts +9 -1
- package/corpus/templates/clips/server/lib/resumable-upload-provider.ts +52 -0
- package/corpus/templates/clips/server/lib/s3-upload-provider.ts +433 -85
- package/corpus/templates/clips/server/lib/video-remux.ts +114 -0
- package/corpus/templates/clips/server/routes/api/_agent-native-background/post-finalize-worker.post.ts +109 -0
- package/corpus/templates/clips/server/routes/api/clips-updater.json.get.ts +22 -11
- package/corpus/templates/clips/server/routes/api/public-recording.get.ts +4 -2
- package/corpus/templates/clips/server/routes/api/uploads/[recordingId]/abort.post.ts +47 -5
- package/corpus/templates/clips/server/routes/api/uploads/[recordingId]/chunk.post.ts +10 -2
- package/corpus/templates/clips/shared/share-loader-response.ts +12 -0
- package/corpus/templates/clips/shared/transcript-status.ts +40 -0
- package/corpus/templates/content/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/content/.agents/skills/content/SKILL.md +57 -5
- package/corpus/templates/content/AGENTS.md +65 -55
- package/corpus/templates/content/actions/_builder-cms-read-client.ts +10 -16
- package/corpus/templates/content/actions/_database-source-utils.ts +58 -11
- package/corpus/templates/content/actions/_property-utils.ts +30 -2
- package/corpus/templates/content/actions/add-content-database-source-field-property.ts +312 -114
- package/corpus/templates/content/actions/submit-content-database-form.ts +497 -0
- package/corpus/templates/content/actions/update-content-database-view.ts +8 -1
- package/corpus/templates/content/actions/view-screen.ts +4 -1
- package/corpus/templates/content/agent-native.app-skill.json +1 -1
- package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +250 -64
- package/corpus/templates/content/app/components/editor/database/FormView.tsx +460 -0
- package/corpus/templates/content/app/components/editor/database/navigation-state.ts +3 -0
- package/corpus/templates/content/app/components/editor/database/settings.tsx +30 -37
- package/corpus/templates/content/app/components/editor/database/shared.tsx +2 -0
- package/corpus/templates/content/app/components/editor/database/view-config.ts +29 -1
- package/corpus/templates/content/app/components/ui/textarea.tsx +1 -0
- package/corpus/templates/content/app/hooks/use-content-database.ts +22 -0
- package/corpus/templates/content/app/i18n/zh-TW.ts +21 -0
- package/corpus/templates/content/app/i18n-data.ts +225 -0
- package/corpus/templates/content/changelog/2026-07-10-builder-backed-properties-now-load-current-source-values-as-.md +6 -0
- package/corpus/templates/content/changelog/2026-07-10-builder-database-refreshes-now-stay-explicit-and-accurate.md +6 -0
- package/corpus/templates/content/changelog/2026-07-10-database-form-views-now-collect-ordered-required-answers-and.md +6 -0
- package/corpus/templates/content/changelog/2026-07-10-database-tables-now-use-a-quieter-more-compact-layout-with-c.md +6 -0
- package/corpus/templates/content/changelog/2026-07-10-slack-intake-routes-to-content-database-forms.md +6 -0
- package/corpus/templates/content/parity/matrix.md +1 -0
- package/corpus/templates/content/parity/matrix.ts +18 -0
- package/corpus/templates/content/shared/api.ts +27 -1
- package/corpus/templates/content/shared/database-form.ts +53 -0
- package/corpus/templates/design/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/design/.agents/skills/design-generation/SKILL.md +26 -0
- package/corpus/templates/design/.agents/skills/design-systems/SKILL.md +85 -12
- package/corpus/templates/design/AGENTS.md +72 -18
- package/corpus/templates/design/DESIGN.md +1 -1
- package/corpus/templates/design/DEVELOPING.md +1 -1
- package/corpus/templates/design/FIGMA_INTEROPERABILITY.md +116 -0
- package/corpus/templates/design/actions/create-design-from-template.ts +220 -0
- package/corpus/templates/design/actions/create-design-system.ts +92 -16
- package/corpus/templates/design/actions/delete-design-template.ts +28 -0
- package/corpus/templates/design/actions/delete-file.ts +7 -0
- package/corpus/templates/design/actions/edit-design.ts +3 -0
- package/corpus/templates/design/actions/export-design-as-figma-svg.ts +137 -5
- package/corpus/templates/design/actions/export-pdf.ts +1 -1
- package/corpus/templates/design/actions/generate-design.ts +3 -0
- package/corpus/templates/design/actions/get-design-snapshot.ts +9 -0
- package/corpus/templates/design/actions/get-figma-connection-status.ts +26 -0
- package/corpus/templates/design/actions/get-figma-design-context.ts +138 -0
- package/corpus/templates/design/actions/get-figma-styles.ts +2 -2
- package/corpus/templates/design/actions/import-figma-clipboard.ts +112 -16
- package/corpus/templates/design/actions/import-figma-frame.ts +15 -4
- package/corpus/templates/design/actions/index-design-system-with-builder.ts +4 -0
- package/corpus/templates/design/actions/list-design-templates.ts +118 -0
- package/corpus/templates/design/actions/navigate.ts +16 -2
- package/corpus/templates/design/actions/provider-api-request.ts +11 -1
- package/corpus/templates/design/actions/save-design-as-template.ts +156 -0
- package/corpus/templates/design/actions/set-active-breakpoint.ts +13 -4
- package/corpus/templates/design/actions/take-design-screenshot.ts +73 -3
- package/corpus/templates/design/actions/update-file.ts +39 -22
- package/corpus/templates/design/actions/view-screen.ts +36 -1
- package/corpus/templates/design/actions/write-local-file.ts +50 -38
- package/corpus/templates/design/app/components/design/AutoLayoutSuggestionDialog.tsx +151 -0
- package/corpus/templates/design/app/components/design/CanvasContextMenu.tsx +20 -0
- package/corpus/templates/design/app/components/design/DesignCanvas.tsx +251 -22
- package/corpus/templates/design/app/components/design/DesignEditorSkeleton.tsx +3 -3
- package/corpus/templates/design/app/components/design/DesignImportPanel.tsx +384 -9
- package/corpus/templates/design/app/components/design/EditPanel.tsx +105 -32
- package/corpus/templates/design/app/components/design/MultiScreenCanvas.tsx +58 -28
- package/corpus/templates/design/app/components/design/TweaksPanel.tsx +6 -0
- package/corpus/templates/design/app/components/design/bridge/editor-chrome.bridge.ts +539 -53
- package/corpus/templates/design/app/components/design/bridge/embedded-wheel.bridge.ts +40 -0
- package/corpus/templates/design/app/components/design/code-workbench/CodeWorkbench.tsx +1 -0
- package/corpus/templates/design/app/components/design/code-workbench/explorer/ExplorerView.tsx +1 -0
- package/corpus/templates/design/app/components/design/code-workbench/explorer/FileTree.tsx +5 -1
- package/corpus/templates/design/app/components/design/code-workbench/workspace/create-providers.ts +2 -0
- package/corpus/templates/design/app/components/design/code-workbench/workspace/localhost-provider.ts +3 -1
- package/corpus/templates/design/app/components/design/code-workbench/workspace/types.ts +2 -0
- package/corpus/templates/design/app/components/design/edit-panel/element-identity.ts +19 -0
- package/corpus/templates/design/app/components/design/edit-panel/frame-presets-panel.tsx +1 -0
- package/corpus/templates/design/app/components/design/edit-panel/interaction-state-helpers.ts +27 -0
- package/corpus/templates/design/app/components/design/inspector/InteractionStatePanel.tsx +137 -81
- package/corpus/templates/design/app/components/design/inspector/frame-size-presets.ts +25 -5
- package/corpus/templates/design/app/components/design/multi-screen/chrome-transitions.ts +1 -1
- package/corpus/templates/design/app/components/design/multi-screen/frame-geometry.ts +220 -3
- package/corpus/templates/design/app/components/design/multi-screen/overview-layout.ts +13 -0
- package/corpus/templates/design/app/components/design/multi-screen/types.ts +22 -1
- package/corpus/templates/design/app/components/design/types.ts +4 -0
- package/corpus/templates/design/app/components/design-system/ProductionDesignSystemShowcase.tsx +208 -0
- package/corpus/templates/design/app/components/editor/FigmaLinkComposerBubble.tsx +321 -0
- package/corpus/templates/design/app/components/editor/PromptDialog.tsx +24 -4
- package/corpus/templates/design/app/components/layout/Layout.tsx +16 -2
- package/corpus/templates/design/app/components/layout/Sidebar.tsx +2 -0
- package/corpus/templates/design/app/components/templates/TemplatePreview.tsx +72 -0
- package/corpus/templates/design/app/global.css +2 -35
- package/corpus/templates/design/app/hooks/use-navigation-state.ts +10 -0
- package/corpus/templates/design/app/i18n/zh-TW.ts +127 -5
- package/corpus/templates/design/app/i18n-breakpoints.ts +209 -0
- package/corpus/templates/design/app/i18n-data.ts +1317 -59
- package/corpus/templates/design/app/i18n-template-feature.ts +458 -0
- package/corpus/templates/design/app/lib/design-clipboard.ts +202 -0
- package/corpus/templates/design/app/lib/design-file-upload.ts +87 -0
- package/corpus/templates/design/app/lib/design-import.ts +168 -11
- package/corpus/templates/design/app/lib/desktop-design-preview.ts +423 -0
- package/corpus/templates/design/app/lib/figma-clipboard.ts +74 -8
- package/corpus/templates/design/app/lib/figma-connection.ts +161 -0
- package/corpus/templates/design/app/lib/figma-svg-copy.ts +814 -22
- package/corpus/templates/design/app/lib/figma-url.ts +77 -0
- package/corpus/templates/design/app/lib/pending-generation.ts +35 -0
- package/corpus/templates/design/app/pages/DesignSystems.tsx +236 -177
- package/corpus/templates/design/app/pages/Index.tsx +38 -0
- package/corpus/templates/design/app/pages/Templates.tsx +498 -0
- package/corpus/templates/design/app/pages/design-editor/auto-layout-suggestion.ts +328 -0
- package/corpus/templates/design/app/pages/design-editor/clone-idrefs.ts +113 -0
- package/corpus/templates/design/app/pages/design-editor/created-screen-navigation.ts +55 -0
- package/corpus/templates/design/app/pages/design-editor/editor-session.ts +32 -0
- package/corpus/templates/design/app/pages/design-editor/editor-state.ts +49 -2
- package/corpus/templates/design/app/pages/design-editor/export-capture.ts +296 -0
- package/corpus/templates/design/app/pages/design-editor/history.ts +101 -2
- package/corpus/templates/design/app/pages/design-editor/layout-operations.ts +28 -1
- package/corpus/templates/design/app/pages/design-editor/overview-camera.ts +34 -0
- package/corpus/templates/design/app/pages/design-editor/pending-edits.ts +202 -6
- package/corpus/templates/design/app/pages/design-editor/pending-structure-verification.ts +92 -0
- package/corpus/templates/design/app/pages/design-editor/save-failure.ts +58 -0
- package/corpus/templates/design/app/routes/templates.tsx +4 -6
- package/corpus/templates/design/changelog/2026-07-10-app-workspaces-now-use-clean-borderless-main-surfaces-throug.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-ask-chat-what-s-in-a-figma-file-or-frame-structure-screensho.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-canvas-edits-now-reject-malformed-html-before-it-can-corrupt.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-complex-designs-now-export-as-valid-secure-svgs-and-crisp-ra.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-complex-figma-masks-arcs-rich-text-transformed-images-and-ad.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-copied-layers-paste-across-designs-and-browser-tabs.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-copy-and-download-editable-figma-svg.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-copying-design-text-now-pastes-readable-text-into-other-apps.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-deleted-screens-can-be-restored-with-undo-and-removed-again-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-design-changes-now-save-before-switching-apps-and-retry-when.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-design-stays-usable-on-phones-by-keeping-editor-panels-and-f.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-download-all-screens-as-one-multi-page-pdf-from-the-overview.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-duplicated-layers-now-keep-labels-aria-relationships-fragmen.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-fig-import-results-stay-compact.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-figma-imports-now-load-real-fonts-fix-rotated-gradient-dashe.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-figma-links-in-chat-and-the-import-tab-now-offer-secure-one-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-fixed-cmd-z-not-restoring-content-after-an-agent-driven-desi.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-fixed-download-pdf-being-unreachable-from-the-export-panel-e.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-fixed-dragging-a-layer-out-of-an-auto-layout-row-column-no-l.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-fixed-figma-svg-export-text-wrapping-sizing-and-inner-layer.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-fixed-hiding-or-locking-one-layer-no-longer-hides-or-blocks-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-fixed-png-screenshots-of-tall-screens-being-cropped-to-one-v.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-fixed-png-svg-exports-capturing-broken-layout-when-webfonts-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-frame-tool-now-offers-standard-ad-unit-size-presets-medium-r.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-full-view-controls-stay-within-their-frame-instead-of-coveri.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-hover-focus-focus-visible-pressed-and-disabled-states-now-pr.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-layer-drops-now-land-in-the-intended-grid-row-stay-visually-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-local-code-workspaces-now-keep-unsaved-edits-across-panel-sw.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-local-visual-editing-now-keeps-authenticated-sessions-shared.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-long-running-agent-work-no-longer-shows-a-premature-stuck-wa.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-managed-figma-connections-are-recognized-automatically.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-new-designs-can-open-directly-in-the-editor-without-a-pr.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-new-screens-are-selected-and-revealed-immediately.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-new-text-layers-undo-as-one-safe-creation.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-preview-and-apply-inferred-auto-layout-without-changing-yo.md +5 -0
- package/corpus/templates/design/changelog/2026-07-10-print-pdf-exports-and-paper-size-presets-letter-a4-now-match.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-responsive-frame-editing.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-reusable-design-templates.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-screen-overview-frames-now-use-a-clearer-interact-action-wit.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-start-designs-from-source-linked-material-3-carbon-or-primer.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-tweaks-guidance.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-uploaded-fig-files-can-now-become-editable-design-screens-wi.md +6 -0
- package/corpus/templates/design/e2e/helpers.ts +3 -3
- package/corpus/templates/design/package.json +2 -0
- package/corpus/templates/design/scripts/qa-figma-stress-import.ts +96 -0
- package/corpus/templates/design/server/db/index.ts +10 -0
- package/corpus/templates/design/server/db/schema.ts +44 -0
- package/corpus/templates/design/server/handlers/import-design-file.ts +114 -80
- package/corpus/templates/design/server/handlers/index-design-system-with-builder.ts +19 -6
- package/corpus/templates/design/server/lib/design-export.ts +240 -3
- package/corpus/templates/design/server/lib/design-template-data.ts +89 -0
- package/corpus/templates/design/server/lib/design-to-figma-svg.ts +250 -26
- package/corpus/templates/design/server/lib/fig-file-decoder.ts +839 -0
- package/corpus/templates/design/server/lib/fig-file-import.ts +287 -0
- package/corpus/templates/design/server/lib/fig-file-limits.ts +3 -0
- package/corpus/templates/design/server/lib/fig-file-to-html.ts +2568 -0
- package/corpus/templates/design/server/lib/figma-design-context.ts +359 -0
- package/corpus/templates/design/server/lib/figma-node-import.ts +478 -22
- package/corpus/templates/design/server/lib/figma-node-to-html.ts +554 -29
- package/corpus/templates/design/server/lib/local-figma-qa-upload.ts +112 -0
- package/corpus/templates/design/server/lib/verify-write-grant.ts +16 -2
- package/corpus/templates/design/server/lib/visible-clipboard-html.ts +13 -3
- package/corpus/templates/design/server/plugins/agent-chat.ts +7 -0
- package/corpus/templates/design/server/plugins/db.ts +42 -0
- package/corpus/templates/design/server/plugins/local-figma-qa-upload.ts +7 -0
- package/corpus/templates/design/server/register-secrets.ts +8 -8
- package/corpus/templates/design/server/routes/api/qa-figma-import-assets/[assetId].get.ts +46 -0
- package/corpus/templates/design/server/source-workspace.ts +104 -12
- package/corpus/templates/design/shared/code-layer.ts +105 -28
- package/corpus/templates/design/shared/design-system-templates.ts +301 -0
- package/corpus/templates/design/shared/design-template-presets.ts +195 -0
- package/corpus/templates/design/shared/figma-url.ts +8 -0
- package/corpus/templates/design/shared/html-integrity.ts +306 -0
- package/corpus/templates/design/shared/interaction-states.ts +318 -23
- package/corpus/templates/design/shared/locked-layers.ts +151 -0
- package/corpus/templates/dispatch/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/dispatch/app/i18n/zh-TW.ts +48 -0
- package/corpus/templates/dispatch/app/i18n-data.ts +536 -1
- package/corpus/templates/dispatch/changelog/2026-07-10-connect-slack-workspaces-with-oauth-and-manage-channel-ident.md +6 -0
- package/corpus/templates/dispatch/changelog/2026-07-10-microsoft-teams-bots-and-discord-slash-commands-can-now-conn.md +6 -0
- package/corpus/templates/dispatch/changelog/2026-07-10-slack-and-telegram-now-route-uptime-monitor-requests-to-anal.md +6 -0
- package/corpus/templates/forms/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/forms/.agents/skills/form-publishing/SKILL.md +7 -0
- package/corpus/templates/forms/AGENTS.md +4 -0
- package/corpus/templates/forms/actions/create-form.ts +44 -7
- package/corpus/templates/forms/actions/lib/assert-publishable-form.ts +38 -0
- package/corpus/templates/forms/actions/patch-form-fields.ts +4 -0
- package/corpus/templates/forms/actions/update-form.ts +2 -36
- package/corpus/templates/forms/app/i18n/ar-SA.ts +3 -0
- package/corpus/templates/forms/app/i18n/de-DE.ts +3 -0
- package/corpus/templates/forms/app/i18n/en-US.ts +3 -0
- package/corpus/templates/forms/app/i18n/es-ES.ts +3 -0
- package/corpus/templates/forms/app/i18n/fr-FR.ts +3 -0
- package/corpus/templates/forms/app/i18n/hi-IN.ts +3 -0
- package/corpus/templates/forms/app/i18n/ja-JP.ts +3 -0
- package/corpus/templates/forms/app/i18n/ko-KR.ts +3 -0
- package/corpus/templates/forms/app/i18n/pt-BR.ts +3 -0
- package/corpus/templates/forms/app/i18n/zh-CN.ts +2 -0
- package/corpus/templates/forms/app/i18n/zh-TW.ts +3 -0
- package/corpus/templates/forms/app/pages/FormBuilderPage.tsx +17 -0
- package/corpus/templates/forms/changelog/2026-07-10-agent-created-published-forms-now-return-the-anonymous-publi.md +6 -0
- package/corpus/templates/forms/changelog/2026-07-10-published-forms-can-no-longer-be-edited-into-an-unusable-emp.md +6 -0
- package/corpus/templates/forms/server/handlers/submissions.ts +4 -3
- package/corpus/templates/forms/server/plugins/agent-chat.ts +1 -0
- package/corpus/templates/forms/shared/types.ts +5 -0
- package/corpus/templates/mail/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/mail/app/components/layout/AppLayout.tsx +2 -2
- package/corpus/templates/mail/changelog/2026-07-10-mail-navigation-now-uses-a-clean-borderless-drawer.md +6 -0
- package/corpus/templates/plan/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/plan/app/lib/plan-local-bridge.ts +4 -1
- package/corpus/templates/plan/changelog/2026-07-10-local-plans-now-keep-valid-content-visible-when-one-generate.md +6 -0
- package/corpus/templates/plan/server/lib/local-plan-files.ts +4 -1
- package/corpus/templates/slides/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/dist/a2a/artifact-response.d.ts.map +1 -1
- package/dist/a2a/artifact-response.js +88 -2
- package/dist/a2a/artifact-response.js.map +1 -1
- package/dist/a2a/client.d.ts +9 -0
- package/dist/a2a/client.d.ts.map +1 -1
- package/dist/a2a/client.js +1 -0
- package/dist/a2a/client.js.map +1 -1
- package/dist/a2a/handlers.d.ts.map +1 -1
- package/dist/a2a/handlers.js +24 -69
- package/dist/a2a/handlers.js.map +1 -1
- package/dist/a2a/types.d.ts +2 -0
- package/dist/a2a/types.d.ts.map +1 -1
- package/dist/a2a/types.js.map +1 -1
- package/dist/agent/durable-background.d.ts +11 -0
- package/dist/agent/durable-background.d.ts.map +1 -1
- package/dist/agent/durable-background.js +17 -0
- package/dist/agent/durable-background.js.map +1 -1
- package/dist/agent/production-agent.d.ts +2 -2
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +15 -5
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/agent/run-manager.d.ts +44 -2
- package/dist/agent/run-manager.d.ts.map +1 -1
- package/dist/agent/run-manager.js +90 -9
- package/dist/agent/run-manager.js.map +1 -1
- package/dist/agent/run-store.d.ts +109 -0
- package/dist/agent/run-store.d.ts.map +1 -1
- package/dist/agent/run-store.js +206 -15
- package/dist/agent/run-store.js.map +1 -1
- package/dist/agent/types.d.ts +22 -0
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/audit/record.d.ts.map +1 -1
- package/dist/audit/record.js +29 -0
- package/dist/audit/record.js.map +1 -1
- package/dist/audit/store.d.ts.map +1 -1
- package/dist/audit/store.js +62 -3
- package/dist/audit/store.js.map +1 -1
- package/dist/audit/types.d.ts +13 -0
- package/dist/audit/types.d.ts.map +1 -1
- package/dist/audit/types.js.map +1 -1
- package/dist/automation/index.d.ts +193 -0
- package/dist/automation/index.d.ts.map +1 -0
- package/dist/automation/index.js +464 -0
- package/dist/automation/index.js.map +1 -0
- package/dist/cli/create.d.ts.map +1 -1
- package/dist/cli/create.js +10 -3
- package/dist/cli/create.js.map +1 -1
- package/dist/cli/design-connect.d.ts.map +1 -1
- package/dist/cli/design-connect.js +492 -35
- package/dist/cli/design-connect.js.map +1 -1
- package/dist/client/AgentPanel.d.ts +7 -1
- package/dist/client/AgentPanel.d.ts.map +1 -1
- package/dist/client/AgentPanel.js +32 -8
- package/dist/client/AgentPanel.js.map +1 -1
- package/dist/client/AssistantChat.d.ts +15 -0
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +115 -47
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
- package/dist/client/MultiTabAssistantChat.js +1 -1
- package/dist/client/MultiTabAssistantChat.js.map +1 -1
- package/dist/client/RunStuckBanner.d.ts +14 -1
- package/dist/client/RunStuckBanner.d.ts.map +1 -1
- package/dist/client/RunStuckBanner.js +35 -7
- package/dist/client/RunStuckBanner.js.map +1 -1
- package/dist/client/agent-chat-adapter.d.ts +4 -1
- package/dist/client/agent-chat-adapter.d.ts.map +1 -1
- package/dist/client/agent-chat-adapter.js +49 -4
- package/dist/client/agent-chat-adapter.js.map +1 -1
- package/dist/client/automation.d.ts +14 -0
- package/dist/client/automation.d.ts.map +1 -0
- package/dist/client/automation.js +9 -0
- package/dist/client/automation.js.map +1 -0
- package/dist/client/chat/run-recovery.d.ts +4 -0
- package/dist/client/chat/run-recovery.d.ts.map +1 -1
- package/dist/client/chat/run-recovery.js +12 -10
- package/dist/client/chat/run-recovery.js.map +1 -1
- package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
- package/dist/client/composer/TiptapComposer.js +8 -0
- package/dist/client/composer/TiptapComposer.js.map +1 -1
- package/dist/client/index.d.ts +2 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +2 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/integrations/api.d.ts +115 -0
- package/dist/client/integrations/api.d.ts.map +1 -0
- package/dist/client/integrations/api.js +123 -0
- package/dist/client/integrations/api.js.map +1 -0
- package/dist/client/integrations/index.d.ts +1 -0
- package/dist/client/integrations/index.d.ts.map +1 -1
- package/dist/client/integrations/index.js +1 -0
- package/dist/client/integrations/index.js.map +1 -1
- package/dist/client/transcription/use-live-transcription.d.ts.map +1 -1
- package/dist/client/transcription/use-live-transcription.js +59 -5
- package/dist/client/transcription/use-live-transcription.js.map +1 -1
- package/dist/client/use-run-stuck-detection.d.ts +16 -1
- package/dist/client/use-run-stuck-detection.d.ts.map +1 -1
- package/dist/client/use-run-stuck-detection.js +23 -4
- package/dist/client/use-run-stuck-detection.js.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 +49 -4
- package/dist/deploy/build.js.map +1 -1
- package/dist/deploy/workspace-deploy.d.ts.map +1 -1
- package/dist/deploy/workspace-deploy.js +31 -2
- package/dist/deploy/workspace-deploy.js.map +1 -1
- package/dist/file-upload/types.d.ts +2 -0
- package/dist/file-upload/types.d.ts.map +1 -1
- package/dist/file-upload/types.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/integrations/a2a-continuations-store.d.ts.map +1 -1
- package/dist/integrations/a2a-continuations-store.js +6 -4
- package/dist/integrations/a2a-continuations-store.js.map +1 -1
- package/dist/integrations/adapters/discord.d.ts +3 -0
- package/dist/integrations/adapters/discord.d.ts.map +1 -0
- package/dist/integrations/adapters/discord.js +261 -0
- package/dist/integrations/adapters/discord.js.map +1 -0
- package/dist/integrations/adapters/index.d.ts +4 -0
- package/dist/integrations/adapters/index.d.ts.map +1 -0
- package/dist/integrations/adapters/index.js +26 -0
- package/dist/integrations/adapters/index.js.map +1 -0
- package/dist/integrations/adapters/microsoft-teams.d.ts +5 -0
- package/dist/integrations/adapters/microsoft-teams.d.ts.map +1 -0
- package/dist/integrations/adapters/microsoft-teams.js +295 -0
- package/dist/integrations/adapters/microsoft-teams.js.map +1 -0
- package/dist/integrations/adapters/slack.d.ts +8 -2
- package/dist/integrations/adapters/slack.d.ts.map +1 -1
- package/dist/integrations/adapters/slack.js +736 -27
- package/dist/integrations/adapters/slack.js.map +1 -1
- package/dist/integrations/adapters/telegram.d.ts +0 -2
- package/dist/integrations/adapters/telegram.d.ts.map +1 -1
- package/dist/integrations/adapters/telegram.js +49 -15
- package/dist/integrations/adapters/telegram.js.map +1 -1
- package/dist/integrations/adapters/whatsapp.d.ts +0 -2
- package/dist/integrations/adapters/whatsapp.d.ts.map +1 -1
- package/dist/integrations/adapters/whatsapp.js +40 -17
- package/dist/integrations/adapters/whatsapp.js.map +1 -1
- package/dist/integrations/catalog.d.ts +75 -0
- package/dist/integrations/catalog.d.ts.map +1 -0
- package/dist/integrations/catalog.js +451 -0
- package/dist/integrations/catalog.js.map +1 -0
- package/dist/integrations/controls-store.d.ts +44 -0
- package/dist/integrations/controls-store.d.ts.map +1 -0
- package/dist/integrations/controls-store.js +129 -0
- package/dist/integrations/controls-store.js.map +1 -0
- package/dist/integrations/index.d.ts +13 -1
- package/dist/integrations/index.d.ts.map +1 -1
- package/dist/integrations/index.js +9 -0
- package/dist/integrations/index.js.map +1 -1
- package/dist/integrations/installations-store.d.ts +112 -0
- package/dist/integrations/installations-store.d.ts.map +1 -0
- package/dist/integrations/installations-store.js +493 -0
- package/dist/integrations/installations-store.js.map +1 -0
- package/dist/integrations/integration-memory.d.ts +24 -0
- package/dist/integrations/integration-memory.d.ts.map +1 -0
- package/dist/integrations/integration-memory.js +136 -0
- package/dist/integrations/integration-memory.js.map +1 -0
- package/dist/integrations/pending-tasks-retry-job.d.ts.map +1 -1
- package/dist/integrations/pending-tasks-retry-job.js +6 -5
- package/dist/integrations/pending-tasks-retry-job.js.map +1 -1
- package/dist/integrations/pending-tasks-store.d.ts +17 -0
- package/dist/integrations/pending-tasks-store.d.ts.map +1 -1
- package/dist/integrations/pending-tasks-store.js +71 -5
- package/dist/integrations/pending-tasks-store.js.map +1 -1
- package/dist/integrations/plugin.d.ts.map +1 -1
- package/dist/integrations/plugin.js +520 -35
- package/dist/integrations/plugin.js.map +1 -1
- package/dist/integrations/scope-store.d.ts +65 -0
- package/dist/integrations/scope-store.d.ts.map +1 -0
- package/dist/integrations/scope-store.js +361 -0
- package/dist/integrations/scope-store.js.map +1 -0
- package/dist/integrations/slack-manifest.d.ts +66 -0
- package/dist/integrations/slack-manifest.d.ts.map +1 -0
- package/dist/integrations/slack-manifest.js +70 -0
- package/dist/integrations/slack-manifest.js.map +1 -0
- package/dist/integrations/slack-oauth.d.ts +99 -0
- package/dist/integrations/slack-oauth.d.ts.map +1 -0
- package/dist/integrations/slack-oauth.js +226 -0
- package/dist/integrations/slack-oauth.js.map +1 -0
- package/dist/integrations/types.d.ts +144 -0
- package/dist/integrations/types.d.ts.map +1 -1
- package/dist/integrations/types.js +16 -1
- package/dist/integrations/types.js.map +1 -1
- package/dist/integrations/usage-budget-store.d.ts +84 -0
- package/dist/integrations/usage-budget-store.d.ts.map +1 -0
- package/dist/integrations/usage-budget-store.js +650 -0
- package/dist/integrations/usage-budget-store.js.map +1 -0
- package/dist/integrations/webhook-handler.d.ts +4 -0
- package/dist/integrations/webhook-handler.d.ts.map +1 -1
- package/dist/integrations/webhook-handler.js +415 -47
- package/dist/integrations/webhook-handler.js.map +1 -1
- package/dist/jobs/scheduler.d.ts +6 -0
- package/dist/jobs/scheduler.d.ts.map +1 -1
- package/dist/jobs/scheduler.js +83 -4
- package/dist/jobs/scheduler.js.map +1 -1
- package/dist/jobs/tools.d.ts.map +1 -1
- package/dist/jobs/tools.js +43 -11
- package/dist/jobs/tools.js.map +1 -1
- package/dist/observability/routes.d.ts +5 -5
- package/dist/progress/routes.d.ts +1 -1
- package/dist/provider-api/index.d.ts +4 -4
- package/dist/provider-api/index.d.ts.map +1 -1
- package/dist/provider-api/index.js +72 -1
- package/dist/provider-api/index.js.map +1 -1
- package/dist/resources/handlers.d.ts +3 -3
- package/dist/resources/handlers.d.ts.map +1 -1
- package/dist/resources/handlers.js +57 -15
- package/dist/resources/handlers.js.map +1 -1
- package/dist/resources/script-helpers.d.ts.map +1 -1
- package/dist/resources/script-helpers.js +34 -8
- package/dist/resources/script-helpers.js.map +1 -1
- package/dist/resources/store.d.ts +10 -0
- package/dist/resources/store.d.ts.map +1 -1
- package/dist/resources/store.js +54 -47
- package/dist/resources/store.js.map +1 -1
- package/dist/scripts/call-agent.d.ts.map +1 -1
- package/dist/scripts/call-agent.js +106 -1
- package/dist/scripts/call-agent.js.map +1 -1
- package/dist/server/agent-chat-plugin.d.ts +15 -4
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +248 -113
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +10 -14
- package/dist/server/auth.js.map +1 -1
- package/dist/server/builder-design-systems.d.ts +3 -1
- package/dist/server/builder-design-systems.d.ts.map +1 -1
- package/dist/server/builder-design-systems.js +9 -2
- package/dist/server/builder-design-systems.js.map +1 -1
- package/dist/server/edge.d.ts +1 -1
- package/dist/server/edge.d.ts.map +1 -1
- package/dist/server/edge.js +1 -1
- package/dist/server/edge.js.map +1 -1
- package/dist/server/index.d.ts +2 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +2 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/request-context.d.ts +18 -0
- package/dist/server/request-context.d.ts.map +1 -1
- package/dist/server/request-context.js.map +1 -1
- package/dist/server/social-og-image.d.ts.map +1 -1
- package/dist/server/social-og-image.js +3 -2
- package/dist/server/social-og-image.js.map +1 -1
- package/dist/server/transcribe-voice.d.ts +1 -1
- package/dist/styles/agent-native.css +62 -44
- package/dist/templates/default/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/dist/templates/default/AGENTS.md +7 -3
- package/dist/templates/workspace-core/.agents/skills/authentication/SKILL.md +1 -1
- package/dist/templates/workspace-core/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/dist/templates/workspace-core/.agents/skills/extension-points/SKILL.md +6 -3
- package/dist/templates/workspace-core/.agents/skills/extensions/SKILL.md +25 -0
- package/dist/templates/workspace-core/.agents/skills/integration-webhooks/SKILL.md +15 -0
- package/dist/templates/workspace-core/AGENTS.md +3 -2
- package/dist/usage/store.d.ts +7 -0
- package/dist/usage/store.d.ts.map +1 -1
- package/dist/usage/store.js +24 -3
- package/dist/usage/store.js.map +1 -1
- package/docs/content/automation-connectors.mdx +80 -0
- package/docs/content/extensions.mdx +8 -0
- package/docs/content/locales/ar-SA/extensions.mdx +8 -0
- package/docs/content/locales/ar-SA/messaging.mdx +84 -15
- package/docs/content/locales/ar-SA/template-clips.mdx +1 -0
- package/docs/content/locales/ar-SA/template-design.mdx +1 -0
- package/docs/content/locales/de-DE/extensions.mdx +10 -0
- package/docs/content/locales/de-DE/messaging.mdx +92 -15
- package/docs/content/locales/de-DE/template-clips.mdx +1 -0
- package/docs/content/locales/de-DE/template-design.mdx +1 -0
- package/docs/content/locales/es-ES/extensions.mdx +10 -0
- package/docs/content/locales/es-ES/messaging.mdx +91 -15
- package/docs/content/locales/es-ES/template-clips.mdx +1 -0
- package/docs/content/locales/es-ES/template-design.mdx +1 -0
- package/docs/content/locales/fr-FR/extensions.mdx +10 -0
- package/docs/content/locales/fr-FR/messaging.mdx +91 -15
- package/docs/content/locales/fr-FR/template-clips.mdx +1 -0
- package/docs/content/locales/fr-FR/template-design.mdx +1 -0
- package/docs/content/locales/hi-IN/extensions.mdx +8 -0
- package/docs/content/locales/hi-IN/messaging.mdx +81 -15
- package/docs/content/locales/hi-IN/template-clips.mdx +1 -0
- package/docs/content/locales/hi-IN/template-design.mdx +1 -0
- package/docs/content/locales/ja-JP/extensions.mdx +9 -0
- package/docs/content/locales/ja-JP/messaging.mdx +81 -15
- package/docs/content/locales/ja-JP/template-clips.mdx +1 -0
- package/docs/content/locales/ja-JP/template-design.mdx +1 -0
- package/docs/content/locales/ko-KR/extensions.mdx +8 -0
- package/docs/content/locales/ko-KR/messaging.mdx +80 -15
- package/docs/content/locales/ko-KR/template-clips.mdx +1 -0
- package/docs/content/locales/ko-KR/template-design.mdx +1 -0
- package/docs/content/locales/pt-BR/extensions.mdx +9 -0
- package/docs/content/locales/pt-BR/messaging.mdx +88 -15
- package/docs/content/locales/pt-BR/template-clips.mdx +1 -0
- package/docs/content/locales/pt-BR/template-design.mdx +1 -0
- package/docs/content/locales/zh-CN/extensions.mdx +6 -0
- package/docs/content/locales/zh-CN/messaging.mdx +78 -15
- package/docs/content/locales/zh-CN/template-clips.mdx +1 -0
- package/docs/content/locales/zh-CN/template-design.mdx +1 -0
- package/docs/content/locales/zh-TW/extensions.mdx +6 -0
- package/docs/content/locales/zh-TW/messaging.mdx +78 -15
- package/docs/content/locales/zh-TW/template-clips.mdx +1 -0
- package/docs/content/locales/zh-TW/template-design.mdx +1 -0
- package/docs/content/messaging.mdx +227 -45
- package/docs/content/template-clips.mdx +3 -0
- package/docs/content/template-design.mdx +4 -0
- package/package.json +5 -1
- package/src/templates/default/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/src/templates/default/AGENTS.md +7 -3
- package/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +1 -1
- package/src/templates/workspace-core/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/src/templates/workspace-core/.agents/skills/extension-points/SKILL.md +6 -3
- package/src/templates/workspace-core/.agents/skills/extensions/SKILL.md +25 -0
- package/src/templates/workspace-core/.agents/skills/integration-webhooks/SKILL.md +15 -0
- package/src/templates/workspace-core/AGENTS.md +3 -2
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Mensajería"
|
|
3
|
-
description: "Hable con su agente desde Slack,
|
|
3
|
+
description: "Hable con su agente desde Slack, Microsoft Teams, interacciones de Discord, correo electrónico, Telegram o WhatsApp."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Mensajería
|
|
7
7
|
|
|
8
|
-
Conecta tu agente a Slack, correo electrónico, Telegram o WhatsApp
|
|
8
|
+
Conecta tu agente a Slack, Microsoft Teams, interacciones de Discord, correo electrónico, Telegram o WhatsApp. Es el mismo agente, con la misma memoria, herramientas e historial.
|
|
9
|
+
|
|
10
|
+
> **Compatibilidad exacta:** Teams valida los JWT oficiales de Bot Framework y responde en la conversación de origen. Discord admite comandos de barra mediante interacciones HTTP con verificación Ed25519 y respuesta diferida; no recibe mensajes normales del servidor ni mensajes directos sin un runtime Gateway. Telegram conserva `message_thread_id` y WhatsApp usa el `wamid` entrante para respuestas contextuales.
|
|
11
|
+
>
|
|
12
|
+
> Teams requiere `MICROSOFT_TEAMS_APP_ID`, `MICROSOFT_TEAMS_APP_PASSWORD` y `MICROSOFT_TEAMS_ALLOWED_TENANT_IDS`. Discord requiere `DISCORD_APPLICATION_ID` y `DISCORD_PUBLIC_KEY`. Telegram requiere `TELEGRAM_WEBHOOK_SECRET`, y WhatsApp requiere `WHATSAPP_APP_SECRET`, además de sus credenciales existentes.
|
|
9
13
|
|
|
10
14
|
> **¿Estás usando la plantilla de Despacho?** Todo esto está conectado para ti en **Configuración → Mensajería**. Haga clic para conectar cada plataforma; no necesita leer el resto de esta página a menos que esté personalizando o creando su propia plantilla. Ver [Dispatch](/docs/dispatch) o [Dispatch template reference](/docs/template-dispatch).
|
|
11
15
|
|
|
@@ -78,7 +82,6 @@ Conecta tu agente a Slack, correo electrónico, Telegram o WhatsApp para que pue
|
|
|
78
82
|
- `chat:write`: permite al agente enviar mensajes
|
|
79
83
|
- `app_mentions:read`: permite al agente ver cuándo se menciona @ (opcional)
|
|
80
84
|
- `im:history`: permite al agente leer los mensajes directos que se le envían
|
|
81
|
-
- `assistant:write` — opcional; permite que Slack muestre el estado nativo "está pensando..." en los hilos del asistente
|
|
82
85
|
- `users:read.email` — opcional; ayuda a plantillas como Mail a verificar el correo electrónico del remitente Slack para verificar la identidad de la cola de borradores
|
|
83
86
|
3. Haga clic en **Instalar en el espacio de trabajo** en la parte superior de esa página. Slack le dará un **Token de usuario de bot OAuth** que comienza con `xoxb-`. Cópialo.
|
|
84
87
|
4. Vaya a **Información básica** en la barra lateral y copie el **Secreto de firma**.
|
|
@@ -123,12 +126,83 @@ y `link_shared` al controlador de despliegue de clips.
|
|
|
123
126
|
|
|
124
127
|
### Consejos
|
|
125
128
|
|
|
126
|
-
- **Menciones de canales**: el
|
|
127
|
-
- **
|
|
128
|
-
- **
|
|
129
|
+
- **Menciones de canales**: use una @mención para iniciar el trabajo. Las respuestas sin mención solo continúan mientras ese hilo exacto tenga trabajo activo.
|
|
130
|
+
- **Mensajes directos**: los mensajes directos personales aceptados son conversaciones privadas y requieren un miembro verificado de la organización o una identidad de Slack vinculada.
|
|
131
|
+
- **Identidad**: los mensajes directos pueden vincular un correo de Slack verificado al mismo usuario de la aplicación; los canales administrados usan su identidad de servicio y política.
|
|
129
132
|
- **Listas permitidas de producción**: configure `SLACK_ALLOWED_TEAM_IDS` y, para aplicaciones Slack compartidas, `SLACK_ALLOWED_API_APP_IDS` para que un espacio de trabajo inesperado no pueda reutilizar un secreto de firma válido.
|
|
130
133
|
- **La aplicación Clips se despliega**: los clips Agent-Native instalables para Slack utilizan `SLACK_CLIENT_ID`, `SLACK_CLIENT_SECRET`, `SLACK_SIGNING_SECRET` y `/api/slack/oauth/callback`. Cada espacio de trabajo Slack conectado obtiene su propio token de bot cifrado en `app_secrets`; `SLACK_BOT_TOKEN` es solo un respaldo heredado de un único espacio de trabajo.
|
|
131
134
|
|
|
135
|
+
### Add to Slack administrado
|
|
136
|
+
|
|
137
|
+
OAuth administrado es la configuración recomendada. En **Configuración →
|
|
138
|
+
Mensajería**, seleccione **Agent manifest** para descargar el archivo específico
|
|
139
|
+
del host `agent-native-slack-manifest.json` e impórtelo en **App Manifest** de
|
|
140
|
+
Slack. El manifiesto activa la experiencia actual `agent_view` y una pestaña
|
|
141
|
+
**Messages** editable para mensajes directos. Verifique estos alcances de bot:
|
|
142
|
+
|
|
143
|
+
El icono de la aplicación no forma parte del manifiesto. En **Basic Information
|
|
144
|
+
→ Display Information**, cargue el icono de Agent Native para que el selector de
|
|
145
|
+
Agents coincida con la marca del producto. Puede usar el `icon-512.svg` público
|
|
146
|
+
de la aplicación como origen y convertirlo a un formato de carga admitido por
|
|
147
|
+
Slack si es necesario.
|
|
148
|
+
|
|
149
|
+
```text
|
|
150
|
+
assistant:write
|
|
151
|
+
app_mentions:read
|
|
152
|
+
channels:history
|
|
153
|
+
channels:read
|
|
154
|
+
chat:write
|
|
155
|
+
files:read
|
|
156
|
+
groups:history
|
|
157
|
+
groups:read
|
|
158
|
+
im:history
|
|
159
|
+
im:read
|
|
160
|
+
mpim:history
|
|
161
|
+
mpim:read
|
|
162
|
+
pins:read
|
|
163
|
+
reactions:read
|
|
164
|
+
users:read
|
|
165
|
+
users:read.email
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Configure OAuth Redirect URL como
|
|
169
|
+
`https://your-app.example.com/_agent-native/integrations/slack/oauth/callback`,
|
|
170
|
+
Event Subscriptions Request URL como
|
|
171
|
+
`https://your-app.example.com/_agent-native/integrations/slack/webhook` e
|
|
172
|
+
Interactivity Request URL como
|
|
173
|
+
`https://your-app.example.com/_agent-native/integrations/slack/interactions`.
|
|
174
|
+
Suscríbase a `app_home_opened`, `app_context_changed`, `app_mention`,
|
|
175
|
+
`message.channels`, `message.groups`, `message.im` y `message.mpim`.
|
|
176
|
+
Configure `SLACK_CLIENT_ID`, `SLACK_CLIENT_SECRET` y
|
|
177
|
+
`SLACK_SIGNING_SECRET`; después, en **Configuración → Mensajería**, pulse
|
|
178
|
+
**Add to Slack**. Cada instalación guarda su token cifrado y usa claves de
|
|
179
|
+
conversación separadas por espacio, aplicación, canal e hilo.
|
|
180
|
+
|
|
181
|
+
Reinstale la aplicación de Slack después de cambiar el manifiesto, los alcances,
|
|
182
|
+
los eventos, Agent view o la pestaña Messages. `app_home_opened` detecta cuándo se
|
|
183
|
+
abre el DM, `app_context_changed` aporta el contexto visible en Slack y
|
|
184
|
+
`message.im` entrega los mensajes directos. Los administradores de Slack pueden
|
|
185
|
+
ocultar los agentes instalados para toda la organización y cada usuario puede
|
|
186
|
+
ocultarlos de su propia barra superior. Si la instalación funciona pero el agente
|
|
187
|
+
no aparece, revise esos controles o ábralo desde **Tools → Apps**.
|
|
188
|
+
|
|
189
|
+
Los mensajes directos personales de Slack solo se aceptan de un miembro
|
|
190
|
+
verificado de la organización de Agent Native o de una identidad de Slack ya
|
|
191
|
+
vinculada. Las políticas y los presupuestos del principal de servicio del canal
|
|
192
|
+
son independientes.
|
|
193
|
+
|
|
194
|
+
Las respuestas sin mención solo dirigen un hilo con una tarea activa; el resto
|
|
195
|
+
de la conversación del canal no invoca al agente. Se carga un contexto acotado
|
|
196
|
+
con reacciones y referencias de archivo, y una tarjeta nativa muestra el plan,
|
|
197
|
+
el progreso, cancelar y aprobar/rechazar. Los mensajes directos usan la identidad
|
|
198
|
+
personal; los canales administrados usan una identidad de servicio explícita y
|
|
199
|
+
políticas para invitados, Slack Connect y modelo. La memoria del canal es explícita,
|
|
200
|
+
aislada y nunca automática. Las rutinas creadas allí vuelven al mismo Slack. Los
|
|
201
|
+
presupuestos diarios o mensuales por organización, solicitante y canal se aplican
|
|
202
|
+
con linaje de auditoría. `assistant:write` habilita los eventos de contexto de
|
|
203
|
+
Agent View; `chat:write` permite las respuestas y las actualizaciones de estado
|
|
204
|
+
en directo.
|
|
205
|
+
|
|
132
206
|
## Configurar Telegrama {#telegram}
|
|
133
207
|
|
|
134
208
|
### Qué necesitarás
|
|
@@ -435,7 +509,9 @@ POST /_agent-native/integrations/telegram/setup
|
|
|
435
509
|
| Correo electrónico | `EMAIL_AGENT_ADDRESS`, más uno de `RESEND_API_KEY` o `SENDGRID_API_KEY` | `EMAIL_INBOUND_WEBHOOK_SECRET` |
|
|
436
510
|
| WhatsApp | `WHATSAPP_ACCESS_TOKEN`, `WHATSAPP_VERIFY_TOKEN`, `WHATSAPP_PHONE_NUMBER_ID` | — |
|
|
437
511
|
|
|
438
|
-
|
|
512
|
+
Las credenciales de integración se resuelven primero desde secretos con ámbito del propietario de la integración (usuario, organización y después espacio de trabajo); las variables de entorno de despliegue son una alternativa para instalaciones locales o deliberadamente de un solo tenant. La UI de configuración guarda secretos con ámbito; los valores nunca se devuelven al navegador ni se guardan en el código fuente.
|
|
513
|
+
|
|
514
|
+
Los adaptadores de runtime integrados son **Slack**, **Telegram**, **WhatsApp Cloud API** y correo electrónico basado en webhooks de proveedor (Resend o SendGrid). Discord y Microsoft Teams no son conectables hasta implementar y registrar un adaptador verificado.
|
|
439
515
|
|
|
440
516
|
### Subprocesos e identidad {#threading-and-identity}
|
|
441
517
|
|
|
@@ -481,13 +557,13 @@ import type {
|
|
|
481
557
|
import type { EnvKeyConfig } from "@agent-native/core/server";
|
|
482
558
|
|
|
483
559
|
const myAdapter: PlatformAdapter = {
|
|
484
|
-
platform: "
|
|
485
|
-
label: "
|
|
560
|
+
platform: "my-chat",
|
|
561
|
+
label: "My Chat",
|
|
486
562
|
|
|
487
563
|
// Env keys this adapter needs (rendered in the settings UI)
|
|
488
564
|
getRequiredEnvKeys(): EnvKeyConfig[] {
|
|
489
565
|
return [
|
|
490
|
-
{ key: "
|
|
566
|
+
{ key: "MY_CHAT_BOT_TOKEN", label: "My Chat Bot Token", required: true },
|
|
491
567
|
];
|
|
492
568
|
},
|
|
493
569
|
|
|
@@ -507,10 +583,10 @@ const myAdapter: PlatformAdapter = {
|
|
|
507
583
|
// Return null to silently ignore the event (bot messages, edits, etc.).
|
|
508
584
|
async parseIncomingMessage(event: H3Event): Promise<IncomingMessage | null> {
|
|
509
585
|
return {
|
|
510
|
-
platform: "
|
|
586
|
+
platform: "my-chat",
|
|
511
587
|
externalThreadId: "channel-or-thread-id",
|
|
512
588
|
text: "the user's message",
|
|
513
|
-
senderId: "
|
|
589
|
+
senderId: "my-chat-user-id",
|
|
514
590
|
platformContext: { channelId: "channel-id" },
|
|
515
591
|
timestamp: Date.now(),
|
|
516
592
|
};
|
|
@@ -538,10 +614,10 @@ const myAdapter: PlatformAdapter = {
|
|
|
538
614
|
// baseUrl is the app's public URL, used for status checks that need it.
|
|
539
615
|
async getStatus(baseUrl?: string) {
|
|
540
616
|
return {
|
|
541
|
-
platform: "
|
|
542
|
-
label: "
|
|
617
|
+
platform: "my-chat",
|
|
618
|
+
label: "My Chat",
|
|
543
619
|
enabled: true,
|
|
544
|
-
configured: !!process.env.
|
|
620
|
+
configured: !!process.env.MY_CHAT_BOT_TOKEN,
|
|
545
621
|
};
|
|
546
622
|
},
|
|
547
623
|
};
|
|
@@ -77,6 +77,7 @@ Piense en la línea de Loom + Granola + Wispr Flow en una sola aplicación, pero
|
|
|
77
77
|
## Qué puedes hacer con él
|
|
78
78
|
|
|
79
79
|
- **Graba tu pantalla** con una grabadora integrada, superposición de cámara web, captura de audio y pausa/recorte.
|
|
80
|
+
- **Importa vídeos públicos de Loom.** En la web, selecciona **Grabar → Importar Loom** y pega una URL para compartir o incrustar de Loom. Clips guarda una copia en tu biblioteca e importa la transcripción pública cuando está disponible.
|
|
80
81
|
- **Capture reuniones de su calendario.** Conecte Google Calendar, vea las próximas reuniones en la barra lateral y presione grabar en cualquiera. Obtienes una transcripción en vivo más un resumen de IA, notas con viñetas y elementos de acción en el momento en que finaliza.
|
|
81
82
|
- **Dictado pulsar para hablar.** Mantenga presionada la tecla Fn en su máquina, hable y el texto limpio aparecerá en cualquier aplicación que esté usando. Cada dictado se mantiene en un historial con capacidad de búsqueda con originales y versiones limpiadas por IA, una al lado de la otra.
|
|
82
83
|
- **Obtenga un título, un resumen y marcadores de capítulo generados automáticamente** para cada grabación: el agente los completa y los mantiene actualizados.
|
|
@@ -89,6 +89,7 @@ Cuando abre la aplicación, el prototipo generado es el centro del espacio de tr
|
|
|
89
89
|
## Qué puedes hacer con él
|
|
90
90
|
|
|
91
91
|
- **Genere prototipos completos.** Describa la pantalla o página que necesita y el agente creará un documento funcional HTML con estilo Tailwind y Alpine interactions.
|
|
92
|
+
- **Empieza con plantillas reutilizables.** Elige un formato con dimensiones para anuncios, documentos de una página o páginas de destino, o guarda cualquier diseño integrado como plantilla. La indicación ajusta el contenido desbloqueado y conserva logotipos y fondos bloqueados.
|
|
92
93
|
- **Compara variantes.** Comience con varias direcciones, elija la más fuerte y luego continúe perfeccionando.
|
|
93
94
|
- **Ajuste visualmente.** Utilice los controles de ajuste integrados para realizar cambios comunes o solicite al agente actualizaciones de copia, diseño, color, espaciado e interacción.
|
|
94
95
|
- **Aplica sistemas de diseño.** Guarda y reutiliza las preferencias del sistema de diseño para que el trabajo generado esté más cerca de tu marca.
|
|
@@ -11,6 +11,16 @@ Si vous avez utilisé QuickBooks en ligne, vous avez vu le modèle : QBO est li
|
|
|
11
11
|
|
|
12
12
|
Le cadrage est important : une extension n'est pas un bac à sable générique "faites ce que vous voulez". Il s'agit d'une **mini-application qui étend un modèle spécifique** (Mail, Analytics, Calendrier, Clips, Conception) et utilise le actions et les données de ce modèle. Une extension Mail lit les e-mails. Une extension Analytics lit les métriques d'un tableau de bord. Une extension Calendrier agit sur l'événement ouvert. Ils ont l'impression de faire partie du produit hôte car ils _font_ partie du produit hôte.
|
|
13
13
|
|
|
14
|
+
> **Les extensions ajoutent une interface ; elles ne réécrivent pas l'interface
|
|
15
|
+
> de l'application hôte.** Une extension s'affiche sur sa propre page ou dans un
|
|
16
|
+
> [emplacement](#slots) nommé exposé par le modèle. Elle ne peut pas injecter
|
|
17
|
+
> d'éléments dans n'importe quel composant natif — par exemple à côté de chaque
|
|
18
|
+
> participant dans Calendrier — sauf si le modèle expose un emplacement à cet
|
|
19
|
+
> endroit. Pour une personnalisation plus poussée, demandez à l'agent de
|
|
20
|
+
> modifier le code source du modèle. La personnalisation complète du code est
|
|
21
|
+
> une capacité fondamentale d'Agent Native ; les extensions constituent la
|
|
22
|
+
> couche rapide, sans déploiement.
|
|
23
|
+
|
|
14
24
|
Trois éléments font que les extensions fonctionnent :
|
|
15
25
|
|
|
16
26
|
- **Pas de code, pas de déploiement.** L'agent les écrit et ils sont opérationnels en quelques secondes. Stocké dans la base de données, pas dans le dépôt.
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Messagerie"
|
|
3
|
-
description: "Parlez à votre agent depuis Slack,
|
|
3
|
+
description: "Parlez à votre agent depuis Slack, Microsoft Teams, les interactions Discord, l’e-mail, Telegram ou WhatsApp."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Messagerie
|
|
7
7
|
|
|
8
|
-
Connectez votre agent à Slack,
|
|
8
|
+
Connectez votre agent à Slack, Microsoft Teams, aux interactions Discord, à l’e-mail, Telegram ou WhatsApp. Il s’agit du même agent, avec la même mémoire, les mêmes outils et le même historique.
|
|
9
|
+
|
|
10
|
+
> **Périmètre exact :** Teams valide les JWT officiels de Bot Framework et répond dans la conversation d’origine. Discord prend en charge les commandes slash via des interactions HTTP signées Ed25519 avec accusé différé ; les messages serveur ordinaires et les DM nécessitent toujours un runtime Gateway. Telegram conserve `message_thread_id` et WhatsApp utilise le `wamid` entrant pour les réponses contextuelles.
|
|
11
|
+
>
|
|
12
|
+
> Teams requiert `MICROSOFT_TEAMS_APP_ID`, `MICROSOFT_TEAMS_APP_PASSWORD` et `MICROSOFT_TEAMS_ALLOWED_TENANT_IDS`. Discord requiert `DISCORD_APPLICATION_ID` et `DISCORD_PUBLIC_KEY`. Telegram requiert aussi `TELEGRAM_WEBHOOK_SECRET`, et WhatsApp `WHATSAPP_APP_SECRET`.
|
|
9
13
|
|
|
10
14
|
> **Vous utilisez le modèle Dispatch ?** Tout cela est configuré pour vous dans **Paramètres → Messagerie**. Cliquez pour connecter chaque plateforme. Vous n'avez pas besoin de lire le reste de cette page, sauf si vous personnalisez ou créez votre propre modèle. Voir [Dispatch](/docs/dispatch) ou [Dispatch template reference](/docs/template-dispatch).
|
|
11
15
|
|
|
@@ -78,7 +82,6 @@ Connectez votre agent à Slack, à la messagerie électronique, à Telegram ou
|
|
|
78
82
|
- `chat:write` : permet à l'agent d'envoyer des messages
|
|
79
83
|
- `app_mentions:read` — permet à l'agent de voir quand il est @-mentionné (facultatif)
|
|
80
84
|
- `im:history` — permet à l'agent de lire les DM qui lui sont envoyés
|
|
81
|
-
- `assistant:write` — facultatif ; permet à Slack d'afficher le statut natif "pense..." dans les fils de discussion de l'assistant
|
|
82
85
|
- `users:read.email` — facultatif ; aide les modèles tels que Mail à vérifier l'e-mail de l'expéditeur Slack pour l'identité de la file d'attente des brouillons
|
|
83
86
|
3. Cliquez sur **Installer sur Workspace** en haut de cette page. Slack vous donnera un **Jeton OAuth d'utilisateur de robot** qui commence par `xoxb-`. Copiez-le.
|
|
84
87
|
4. Accédez à **Informations de base** dans la barre latérale et copiez le **Secret de signature**.
|
|
@@ -123,12 +126,83 @@ et les événements `link_shared` vers le gestionnaire de déploiement des clips
|
|
|
123
126
|
|
|
124
127
|
### Conseils
|
|
125
128
|
|
|
126
|
-
- **Mentions de canal** : le
|
|
127
|
-
- **
|
|
128
|
-
- **
|
|
129
|
+
- **Mentions de canal** : utilisez une @mention pour démarrer le travail. Les réponses sans mention ne continuent que tant que ce fil précis contient un travail actif.
|
|
130
|
+
- **Messages directs** — les messages directs personnels acceptés restent privés et exigent un membre vérifié de l’organisation ou une identité Slack associée.
|
|
131
|
+
- **Identité** — les DM peuvent associer un e-mail Slack vérifié au même utilisateur de l'application ; les canaux gérés utilisent leur identité de service et leur règle.
|
|
129
132
|
- **Listes autorisées de production** : définissez `SLACK_ALLOWED_TEAM_IDS` et, pour les applications Slack partagées, `SLACK_ALLOWED_API_APP_IDS` afin qu'un secret de signature valide ne puisse pas être réutilisé par un espace de travail inattendu.
|
|
130
133
|
- **L'application Clips se déploie** — Les clips Agent-Native installables pour Slack utilisent `SLACK_CLIENT_ID`, `SLACK_CLIENT_SECRET`, `SLACK_SIGNING_SECRET` et `/api/slack/oauth/callback`. Chaque espace de travail Slack connecté obtient son propre jeton de bot crypté dans `app_secrets` ; `SLACK_BOT_TOKEN` n'est qu'une solution de secours héritée pour un seul espace de travail.
|
|
131
134
|
|
|
135
|
+
### Add to Slack géré
|
|
136
|
+
|
|
137
|
+
OAuth géré est la configuration recommandée. Dans **Paramètres → Messagerie**,
|
|
138
|
+
sélectionnez **Agent manifest** pour télécharger le fichier propre à l’hôte
|
|
139
|
+
`agent-native-slack-manifest.json`, puis importez-le dans **App Manifest** dans
|
|
140
|
+
Slack. Le manifeste active l’expérience `agent_view` actuelle et un onglet
|
|
141
|
+
**Messages** modifiable pour les messages directs. Vérifiez ces portées de bot :
|
|
142
|
+
|
|
143
|
+
L’icône de l’application ne fait pas partie du manifeste. Dans **Basic
|
|
144
|
+
Information → Display Information**, chargez l’icône Agent Native afin que le
|
|
145
|
+
sélecteur Agents respecte l’identité du produit. Vous pouvez partir du fichier
|
|
146
|
+
public `icon-512.svg` de l’application et le convertir dans un format de
|
|
147
|
+
téléversement accepté par Slack si nécessaire.
|
|
148
|
+
|
|
149
|
+
```text
|
|
150
|
+
assistant:write
|
|
151
|
+
app_mentions:read
|
|
152
|
+
channels:history
|
|
153
|
+
channels:read
|
|
154
|
+
chat:write
|
|
155
|
+
files:read
|
|
156
|
+
groups:history
|
|
157
|
+
groups:read
|
|
158
|
+
im:history
|
|
159
|
+
im:read
|
|
160
|
+
mpim:history
|
|
161
|
+
mpim:read
|
|
162
|
+
pins:read
|
|
163
|
+
reactions:read
|
|
164
|
+
users:read
|
|
165
|
+
users:read.email
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Définissez OAuth Redirect URL sur
|
|
169
|
+
`https://your-app.example.com/_agent-native/integrations/slack/oauth/callback`,
|
|
170
|
+
Event Subscriptions Request URL sur
|
|
171
|
+
`https://your-app.example.com/_agent-native/integrations/slack/webhook` et
|
|
172
|
+
Interactivity Request URL sur
|
|
173
|
+
`https://your-app.example.com/_agent-native/integrations/slack/interactions`.
|
|
174
|
+
Abonnez-vous à `app_home_opened`, `app_context_changed`, `app_mention`,
|
|
175
|
+
`message.channels`, `message.groups`, `message.im` et `message.mpim`.
|
|
176
|
+
Configurez `SLACK_CLIENT_ID`, `SLACK_CLIENT_SECRET` et
|
|
177
|
+
`SLACK_SIGNING_SECRET`, puis cliquez sur **Add to Slack** dans
|
|
178
|
+
**Paramètres → Messagerie**. Chaque installation conserve son jeton chiffré et
|
|
179
|
+
isole ses clés par espace, application, canal et fil.
|
|
180
|
+
|
|
181
|
+
Réinstallez l’application Slack après toute modification du manifeste, des
|
|
182
|
+
portées, des événements, de la vue Agent ou de l’onglet Messages.
|
|
183
|
+
`app_home_opened` détecte l’ouverture des messages directs,
|
|
184
|
+
`app_context_changed` fournit le contexte Slack affiché et `message.im` transmet
|
|
185
|
+
les messages directs. Les administrateurs Slack peuvent masquer les agents
|
|
186
|
+
installés pour l’organisation, et chaque membre peut les masquer de sa propre
|
|
187
|
+
barre supérieure. Si l’installation réussit mais que l’agent reste invisible,
|
|
188
|
+
vérifiez ces contrôles ou ouvrez-le via **Tools → Apps**.
|
|
189
|
+
|
|
190
|
+
Les messages directs Slack personnels ne sont acceptés que pour un membre
|
|
191
|
+
vérifié de l’organisation Agent Native ou une identité Slack déjà associée.
|
|
192
|
+
Les règles et budgets du principal de service d’un canal restent distincts.
|
|
193
|
+
|
|
194
|
+
Les réponses sans mention ne pilotent qu'un fil dont la tâche est active ; les
|
|
195
|
+
autres messages du canal n'appellent pas l'agent. Un contexte borné charge les
|
|
196
|
+
réactions et références de fichiers, tandis qu'une carte native affiche plan,
|
|
197
|
+
progression, annulation et approbation/refus. Les DM utilisent l'identité personnelle ;
|
|
198
|
+
les canaux gérés utilisent une identité de service explicite et des règles pour
|
|
199
|
+
invités, Slack Connect et modèle. La mémoire de canal est explicite, isolée et
|
|
200
|
+
jamais automatique. Les routines créées dans le canal y renvoient leurs résultats.
|
|
201
|
+
Des budgets quotidiens ou mensuels par organisation, demandeur et canal sont
|
|
202
|
+
appliqués avec une traçabilité d'audit. `assistant:write` active les événements
|
|
203
|
+
de contexte Agent View ; `chat:write` permet les réponses et les mises à jour
|
|
204
|
+
d’état en direct.
|
|
205
|
+
|
|
132
206
|
## Configurer Telegram {#telegram}
|
|
133
207
|
|
|
134
208
|
### Ce dont vous aurez besoin
|
|
@@ -435,7 +509,9 @@ POST /_agent-native/integrations/telegram/setup
|
|
|
435
509
|
| E-mail | `EMAIL_AGENT_ADDRESS`, plus un parmi `RESEND_API_KEY` ou `SENDGRID_API_KEY` | `EMAIL_INBOUND_WEBHOOK_SECRET` |
|
|
436
510
|
| WhatsApp | `WHATSAPP_ACCESS_TOKEN`, `WHATSAPP_VERIFY_TOKEN`, `WHATSAPP_PHONE_NUMBER_ID` | — |
|
|
437
511
|
|
|
438
|
-
|
|
512
|
+
Les identifiants d’intégration sont d’abord résolus depuis les secrets à portée du propriétaire de l’intégration (utilisateur, organisation, puis espace de travail) ; les variables d’environnement de déploiement servent de secours pour une installation locale ou volontairement mono-tenant. L’UI de configuration enregistre des secrets à portée ; les valeurs ne sont jamais renvoyées au navigateur ni stockées dans le code source.
|
|
513
|
+
|
|
514
|
+
Les adaptateurs d’exécution intégrés sont **Slack**, **Telegram**, **WhatsApp Cloud API** et l’e-mail via webhook de fournisseur (Resend ou SendGrid). Discord et Microsoft Teams ne sont pas connectables tant qu’un adaptateur vérifié n’est pas implémenté et enregistré.
|
|
439
515
|
|
|
440
516
|
### Threading et identité {#threading-and-identity}
|
|
441
517
|
|
|
@@ -481,13 +557,13 @@ import type {
|
|
|
481
557
|
import type { EnvKeyConfig } from "@agent-native/core/server";
|
|
482
558
|
|
|
483
559
|
const myAdapter: PlatformAdapter = {
|
|
484
|
-
platform: "
|
|
485
|
-
label: "
|
|
560
|
+
platform: "my-chat",
|
|
561
|
+
label: "My Chat",
|
|
486
562
|
|
|
487
563
|
// Env keys this adapter needs (rendered in the settings UI)
|
|
488
564
|
getRequiredEnvKeys(): EnvKeyConfig[] {
|
|
489
565
|
return [
|
|
490
|
-
{ key: "
|
|
566
|
+
{ key: "MY_CHAT_BOT_TOKEN", label: "My Chat Bot Token", required: true },
|
|
491
567
|
];
|
|
492
568
|
},
|
|
493
569
|
|
|
@@ -507,10 +583,10 @@ const myAdapter: PlatformAdapter = {
|
|
|
507
583
|
// Return null to silently ignore the event (bot messages, edits, etc.).
|
|
508
584
|
async parseIncomingMessage(event: H3Event): Promise<IncomingMessage | null> {
|
|
509
585
|
return {
|
|
510
|
-
platform: "
|
|
586
|
+
platform: "my-chat",
|
|
511
587
|
externalThreadId: "channel-or-thread-id",
|
|
512
588
|
text: "the user's message",
|
|
513
|
-
senderId: "
|
|
589
|
+
senderId: "my-chat-user-id",
|
|
514
590
|
platformContext: { channelId: "channel-id" },
|
|
515
591
|
timestamp: Date.now(),
|
|
516
592
|
};
|
|
@@ -538,10 +614,10 @@ const myAdapter: PlatformAdapter = {
|
|
|
538
614
|
// baseUrl is the app's public URL, used for status checks that need it.
|
|
539
615
|
async getStatus(baseUrl?: string) {
|
|
540
616
|
return {
|
|
541
|
-
platform: "
|
|
542
|
-
label: "
|
|
617
|
+
platform: "my-chat",
|
|
618
|
+
label: "My Chat",
|
|
543
619
|
enabled: true,
|
|
544
|
-
configured: !!process.env.
|
|
620
|
+
configured: !!process.env.MY_CHAT_BOT_TOKEN,
|
|
545
621
|
};
|
|
546
622
|
},
|
|
547
623
|
};
|
|
@@ -77,6 +77,7 @@ Pensez à l'exemple de Loom + Granola + Wispr Flow regroupés dans une seule app
|
|
|
77
77
|
## Ce que vous pouvez en faire
|
|
78
78
|
|
|
79
79
|
- **Enregistrez votre écran** avec un enregistreur intégré, une superposition de webcam, une capture audio et une pause/recadrage.
|
|
80
|
+
- **Importez des vidéos Loom publiques.** Sur le Web, sélectionnez **Enregistrer → Importer Loom**, puis collez une URL de partage ou d’intégration Loom. Clips enregistre une copie dans votre bibliothèque et importe la transcription publique lorsqu’elle est disponible.
|
|
80
81
|
- **Capturez des réunions à partir de votre calendrier.** Connectez Google Calendar, consultez les réunions à venir dans la barre latérale et cliquez sur Enregistrer sur l'une d'entre elles. Vous obtenez une transcription en direct ainsi qu'un résumé de l'IA, des notes à puces et des éléments d'action dès la fin.
|
|
81
82
|
- **Dictée Push-to-talk.** Maintenez Fn sur votre appareil, parlez et le texte nettoyé apparaît dans l'application que vous utilisez. Chaque dictée est conservée dans un historique consultable avec les originaux et les versions nettoyées par l'IA côte à côte.
|
|
82
83
|
- **Obtenez un titre, un résumé et des marqueurs de chapitre générés automatiquement** pour chaque enregistrement : l'agent les remplit et les tient à jour.
|
|
@@ -89,6 +89,7 @@ Lorsque vous ouvrez l'application, le prototype généré est au centre de l'esp
|
|
|
89
89
|
## Ce que vous pouvez en faire
|
|
90
90
|
|
|
91
91
|
- **Générez des prototypes complets.** Décrivez l'écran ou la page dont vous avez besoin et l'agent crée un document HTML fonctionnel avec le style Tailwind et Alpine interactions.
|
|
92
|
+
- **Commencez avec des modèles réutilisables.** Choisissez un format dimensionné pour une publicité, un document d’une page ou une page d’atterrissage, ou enregistrez un design intégré comme modèle. L’invite adapte le contenu déverrouillé tout en conservant les logos et arrière-plans verrouillés.
|
|
92
93
|
- **Comparez les variantes.** Commencez par plusieurs directions, choisissez la plus forte, puis continuez à affiner.
|
|
93
94
|
- **Ajustez visuellement.** Utilisez les commandes d'ajustement intégrées pour les modifications courantes ou demandez à l'agent des mises à jour de copie, de mise en page, de couleur, d'espacement et d'interaction.
|
|
94
95
|
- **Appliquez les systèmes de conception.** Enregistrez et réutilisez les préférences du système de conception afin que le travail généré reste plus proche de votre marque.
|
|
@@ -11,6 +11,14 @@ description: "आपके उपयोगकर्ता आपके टेम
|
|
|
11
11
|
|
|
12
12
|
फ़्रेमिंग मायने रखती है: एक एक्सटेंशन सामान्य "आप जो चाहें करें" सैंडबॉक्स नहीं है। यह एक **मिनी-ऐप है जो एक विशिष्ट टेम्पलेट** का विस्तार करता है - मेल, एनालिटिक्स, कैलेंडर, क्लिप्स, डिज़ाइन - और उस टेम्पलेट के actions और डेटा का उपयोग करता है। एक मेल एक्सटेंशन ईमेल पढ़ता है. एक एनालिटिक्स एक्सटेंशन डैशबोर्ड के मेट्रिक्स को पढ़ता है। एक कैलेंडर एक्सटेंशन खुले ईवेंट पर कार्य करता है। वे मेजबान उत्पाद का हिस्सा महसूस करते हैं क्योंकि वे मेजबान उत्पाद का हिस्सा हैं।
|
|
13
13
|
|
|
14
|
+
> **एक्सटेंशन UI जोड़ते हैं; वे होस्ट UI को दोबारा नहीं लिखते।** एक्सटेंशन
|
|
15
|
+
> अपने पेज पर या टेम्पलेट द्वारा उपलब्ध कराए गए नामित [स्लॉट](#slots) में
|
|
16
|
+
> दिखाई देता है। वह मनचाहे मूल कॉम्पोनेंट में तत्व नहीं जोड़ सकता—उदाहरण के
|
|
17
|
+
> लिए कैलेंडर में हर सहभागी के बगल में—जब तक टेम्पलेट उस स्थान पर स्लॉट न दे।
|
|
18
|
+
> अधिक गहरे अनुकूलन के लिए एजेंट से टेम्पलेट का स्रोत कोड संपादित करने को कहें।
|
|
19
|
+
> पूरे कोड को अनुकूलित करना Agent Native की मुख्य क्षमता है; एक्सटेंशन तेज़,
|
|
20
|
+
> बिना-तैनाती वाली परत हैं।
|
|
21
|
+
|
|
14
22
|
तीन चीज़ें एक्सटेंशन को कार्यशील बनाती हैं:
|
|
15
23
|
|
|
16
24
|
- **कोई कोड नहीं, कोई तैनाती नहीं।** एजेंट उन्हें लिखता है और वे कुछ ही सेकंड में लाइव हो जाते हैं। डेटाबेस में संग्रहीत, रेपो में नहीं।
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "मैसेजिंग"
|
|
3
|
-
description: "Slack, ईमेल,
|
|
3
|
+
description: "Slack, Microsoft Teams, Discord इंटरैक्शन, ईमेल, Telegram या WhatsApp से अपने एजेंट से बात करें।"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# मैसेजिंग
|
|
7
7
|
|
|
8
|
-
अपने एजेंट को Slack,
|
|
8
|
+
अपने एजेंट को Slack, Microsoft Teams, Discord इंटरैक्शन, ईमेल, Telegram या WhatsApp से कनेक्ट करें। यह वही एजेंट है, जिसकी मेमोरी, टूल और बातचीत का इतिहास समान रहता है।
|
|
9
|
+
|
|
10
|
+
> **सटीक समर्थन सीमा:** Teams आधिकारिक Bot Framework JWT की पुष्टि करता है और मूल बातचीत में उत्तर देता है। Discord, Ed25519-साइन किए गए HTTP इंटरैक्शन के जरिए slash commands और deferred acknowledgement का समर्थन करता है; सामान्य server messages और DMs के लिए Gateway runtime चाहिए। Telegram `message_thread_id` बनाए रखता है और WhatsApp contextual replies के लिए आने वाला `wamid` उपयोग करता है।
|
|
11
|
+
>
|
|
12
|
+
> Teams के लिए `MICROSOFT_TEAMS_APP_ID`, `MICROSOFT_TEAMS_APP_PASSWORD` और `MICROSOFT_TEAMS_ALLOWED_TENANT_IDS` आवश्यक हैं। Discord के लिए `DISCORD_APPLICATION_ID` और `DISCORD_PUBLIC_KEY` आवश्यक हैं। Telegram को `TELEGRAM_WEBHOOK_SECRET` और WhatsApp को `WHATSAPP_APP_SECRET` भी चाहिए।
|
|
9
13
|
|
|
10
14
|
> **डिस्पैच टेम्पलेट का उपयोग कर रहे हैं?** यह सब आपके लिए **सेटिंग्स → मैसेजिंग** में रखा गया है। प्रत्येक प्लेटफ़ॉर्म को कनेक्ट करने के लिए क्लिक करें - जब तक आप अपना स्वयं का टेम्पलेट कस्टमाइज़ या निर्मित नहीं कर रहे हों, तब तक आपको इस पृष्ठ के शेष भाग को पढ़ने की आवश्यकता नहीं है। [Dispatch](/docs/dispatch) या [Dispatch template reference](/docs/template-dispatch) देखें।
|
|
11
15
|
|
|
@@ -78,7 +82,6 @@ description: "Slack, ईमेल, टेलीग्राम, या व्ह
|
|
|
78
82
|
- `chat:write` - एजेंट को संदेश भेजने देता है
|
|
79
83
|
- `app_mentions:read` - एजेंट को यह देखने देता है कि यह कब @-उल्लेखित है (वैकल्पिक)
|
|
80
84
|
- `im:history` - एजेंट को भेजे गए डीएम को पढ़ने देता है
|
|
81
|
-
- `assistant:write` - वैकल्पिक; Slack को सहायक थ्रेड में मूल "सोच रहा है..." स्थिति दिखाने देता है
|
|
82
85
|
- `users:read.email` - वैकल्पिक; ड्राफ्ट-क्यू पहचान के लिए Slack प्रेषक ईमेल को सत्यापित करने वाले मेल जैसे टेम्प्लेट की मदद करता है
|
|
83
86
|
3. उस पेज के शीर्ष पर **वर्कस्पेस पर इंस्टॉल करें** पर क्लिक करें। Slack आपको एक **बॉट उपयोगकर्ता OAuth टोकन** देगा जो `xoxb-` से शुरू होता है। इसे कॉपी करें.
|
|
84
87
|
4. साइडबार में **बुनियादी जानकारी** पर जाएं और **हस्ताक्षर करने का रहस्य** कॉपी करें।
|
|
@@ -123,12 +126,73 @@ https://your-clips.example.com/api/slack/unfurl
|
|
|
123
126
|
|
|
124
127
|
### टिप्स
|
|
125
128
|
|
|
126
|
-
- **चैनल उल्लेख** -
|
|
127
|
-
-
|
|
128
|
-
-
|
|
129
|
+
- **चैनल उल्लेख** - काम शुरू करने के लिए @mention करें। बिना उल्लेख वाले उत्तर केवल उसी समय चलते हैं जब उसी थ्रेड में सक्रिय काम हो।
|
|
130
|
+
- **DM** — स्वीकार किए गए व्यक्तिगत DM निजी बातचीत हैं और उनके लिए सत्यापित संगठन सदस्य या लिंक की गई Slack पहचान आवश्यक है।
|
|
131
|
+
- **पहचान** - DM सत्यापित Slack ईमेल को उसी ऐप उपयोगकर्ता से जोड़ सकते हैं; प्रबंधित चैनल अपनी सेवा पहचान और नीति उपयोग करते हैं।
|
|
129
132
|
- **उत्पादन अनुमति सूचियाँ** - `SLACK_ALLOWED_TEAM_IDS` सेट करें और, साझा Slack ऐप्स के लिए, `SLACK_ALLOWED_API_APP_IDS` ताकि एक वैध हस्ताक्षर रहस्य का अप्रत्याशित कार्यक्षेत्र द्वारा पुन: उपयोग न किया जा सके।
|
|
130
133
|
- **क्लिप्स ऐप खुलता है** - Slack के लिए इंस्टॉल करने योग्य Agent-Native क्लिप्स `SLACK_CLIENT_ID`, `SLACK_CLIENT_SECRET`, `SLACK_SIGNING_SECRET` और `/api/slack/oauth/callback` का उपयोग करता है। प्रत्येक कनेक्टेड Slack कार्यक्षेत्र को `app_secrets` में अपना स्वयं का एन्क्रिप्टेड बॉट टोकन मिलता है; `SLACK_BOT_TOKEN` केवल एक लीगेसी सिंगल-वर्कस्पेस फ़ॉलबैक है।
|
|
131
134
|
|
|
135
|
+
### प्रबंधित Add to Slack
|
|
136
|
+
|
|
137
|
+
प्रबंधित OAuth अनुशंसित सेटअप है। **सेटिंग्स → मैसेजिंग** में **Agent manifest**
|
|
138
|
+
चुनकर होस्ट-विशिष्ट `agent-native-slack-manifest.json` डाउनलोड करें और उसे Slack के
|
|
139
|
+
**App Manifest** में आयात करें। यह मैनिफ़ेस्ट वर्तमान `agent_view` अनुभव और DM के लिए
|
|
140
|
+
लिखने योग्य **Messages** टैब सक्षम करता है। इन Bot Token Scopes की पुष्टि करें:
|
|
141
|
+
|
|
142
|
+
ऐप आइकन मैनिफ़ेस्ट में शामिल नहीं होता। **Basic Information → Display Information**
|
|
143
|
+
में Agent Native आइकन अपलोड करें, ताकि Agents चयनकर्ता उत्पाद की ब्रांडिंग से मेल खाए।
|
|
144
|
+
ऐप के सार्वजनिक `icon-512.svg` को स्रोत बनाकर आवश्यकता होने पर उसे Slack-समर्थित अपलोड
|
|
145
|
+
फ़ॉर्मेट में बदलें।
|
|
146
|
+
|
|
147
|
+
```text
|
|
148
|
+
assistant:write
|
|
149
|
+
app_mentions:read
|
|
150
|
+
channels:history
|
|
151
|
+
channels:read
|
|
152
|
+
chat:write
|
|
153
|
+
files:read
|
|
154
|
+
groups:history
|
|
155
|
+
groups:read
|
|
156
|
+
im:history
|
|
157
|
+
im:read
|
|
158
|
+
mpim:history
|
|
159
|
+
mpim:read
|
|
160
|
+
pins:read
|
|
161
|
+
reactions:read
|
|
162
|
+
users:read
|
|
163
|
+
users:read.email
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
OAuth Redirect URL को
|
|
167
|
+
`https://your-app.example.com/_agent-native/integrations/slack/oauth/callback`,
|
|
168
|
+
Event Subscriptions Request URL को
|
|
169
|
+
`https://your-app.example.com/_agent-native/integrations/slack/webhook`, और
|
|
170
|
+
Interactivity Request URL को
|
|
171
|
+
`https://your-app.example.com/_agent-native/integrations/slack/interactions` पर सेट करें।
|
|
172
|
+
`app_home_opened`, `app_context_changed`, `app_mention`, `message.channels`,
|
|
173
|
+
`message.groups`, `message.im` और `message.mpim` की सदस्यता लें।
|
|
174
|
+
`SLACK_CLIENT_ID`, `SLACK_CLIENT_SECRET` और `SLACK_SIGNING_SECRET`
|
|
175
|
+
सेट करने के बाद **सेटिंग्स → मैसेजिंग** में **Add to Slack** चुनें। हर इंस्टॉल का
|
|
176
|
+
टोकन एन्क्रिप्टेड रहता है और बातचीत की कुंजी कार्यक्षेत्र, ऐप, चैनल और थ्रेड से अलग होती है।
|
|
177
|
+
|
|
178
|
+
मैनिफ़ेस्ट, स्कोप, इवेंट, Agent view या Messages टैब बदलने के बाद Slack ऐप को फिर से
|
|
179
|
+
इंस्टॉल करें। `app_home_opened` DM खुलने का पता लगाता है, `app_context_changed` वर्तमान
|
|
180
|
+
Slack संदर्भ देता है और `message.im` सीधे संदेश पहुँचाता है। Slack व्यवस्थापक इंस्टॉल किए
|
|
181
|
+
गए एजेंटों को पूरे संगठन के लिए छिपा सकते हैं, और सदस्य उन्हें अपनी शीर्ष पट्टी से छिपा सकते हैं।
|
|
182
|
+
इंस्टॉल सफल होने पर भी एजेंट न दिखे तो इन नियंत्रणों की जाँच करें या **Tools → Apps** से खोलें।
|
|
183
|
+
|
|
184
|
+
व्यक्तिगत Slack DM केवल सत्यापित Agent Native संगठन सदस्य या पहले से लिंक की गई Slack
|
|
185
|
+
पहचान से स्वीकार किया जाता है। चैनल सेवा-प्रिंसिपल की नीतियाँ और बजट इससे अलग रहते हैं।
|
|
186
|
+
|
|
187
|
+
बिना उल्लेख का उत्तर केवल सक्रिय थ्रेड को आगे बढ़ाता है; सामान्य चैनल बातचीत एजेंट को
|
|
188
|
+
नहीं बुलाती। सीमित संदर्भ में प्रतिक्रियाएँ और फ़ाइल संदर्भ आते हैं, और नेटिव कार्ड योजना,
|
|
189
|
+
प्रगति, रद्द करें तथा स्वीकृत/अस्वीकृत नियंत्रण दिखाता है। DM व्यक्तिगत पहचान का उपयोग
|
|
190
|
+
करते हैं; प्रबंधित चैनल स्पष्ट सेवा पहचान और अतिथि, Slack Connect तथा मॉडल नीतियाँ उपयोग
|
|
191
|
+
करते हैं। चैनल मेमोरी स्पष्ट अनुरोध पर ही सहेजी या हटाई जाती है और अलग रहती है। चैनल में
|
|
192
|
+
बनी रूटीन उसी Slack गंतव्य पर लौटती हैं। संगठन, अनुरोधकर्ता और चैनल के दैनिक या मासिक
|
|
193
|
+
बजट पूरे ऑडिट वंश के साथ लागू होते हैं। `assistant:write` Agent View संदर्भ इवेंट
|
|
194
|
+
सक्षम करता है; `chat:write` उत्तर और लाइव स्थिति अपडेट चलाता है।
|
|
195
|
+
|
|
132
196
|
## टेलीग्राम सेट करें {#telegram}
|
|
133
197
|
|
|
134
198
|
### आपको क्या चाहिए
|
|
@@ -435,7 +499,9 @@ POST /_agent-native/integrations/telegram/setup
|
|
|
435
499
|
| ईमेल | `EMAIL_AGENT_ADDRESS`, प्लस `RESEND_API_KEY` या `SENDGRID_API_KEY` में से एक | `EMAIL_INBOUND_WEBHOOK_SECRET` |
|
|
436
500
|
| व्हाट्सएप | `WHATSAPP_ACCESS_TOKEN`, `WHATSAPP_VERIFY_TOKEN`, `WHATSAPP_PHONE_NUMBER_ID` | — |
|
|
437
501
|
|
|
438
|
-
|
|
502
|
+
इंटीग्रेशन क्रेडेंशियल पहले इंटीग्रेशन मालिक के scoped secrets (उपयोगकर्ता, संगठन, फिर workspace) से resolve होते हैं; deployment env vars स्थानीय या जानबूझकर single-tenant सेटअप के लिए fallback हैं। सेटअप UI scoped secrets सहेजती है; मान कभी ब्राउज़र को वापस नहीं भेजे जाते और न ही source code में रखे जाते हैं।
|
|
503
|
+
|
|
504
|
+
बिल्ट-इन runtime adapters **Slack**, **Telegram**, **WhatsApp Cloud API**, और provider-webhook email (Resend या SendGrid) हैं। Discord और Microsoft Teams तब तक connectable नहीं हैं जब तक कोई verified adapter लागू और पंजीकृत न हो।
|
|
439
505
|
|
|
440
506
|
### थ्रेडिंग और पहचान {#threading-and-identity}
|
|
441
507
|
|
|
@@ -481,13 +547,13 @@ import type {
|
|
|
481
547
|
import type { EnvKeyConfig } from "@agent-native/core/server";
|
|
482
548
|
|
|
483
549
|
const myAdapter: PlatformAdapter = {
|
|
484
|
-
platform: "
|
|
485
|
-
label: "
|
|
550
|
+
platform: "my-chat",
|
|
551
|
+
label: "My Chat",
|
|
486
552
|
|
|
487
553
|
// Env keys this adapter needs (rendered in the settings UI)
|
|
488
554
|
getRequiredEnvKeys(): EnvKeyConfig[] {
|
|
489
555
|
return [
|
|
490
|
-
{ key: "
|
|
556
|
+
{ key: "MY_CHAT_BOT_TOKEN", label: "My Chat Bot Token", required: true },
|
|
491
557
|
];
|
|
492
558
|
},
|
|
493
559
|
|
|
@@ -507,10 +573,10 @@ const myAdapter: PlatformAdapter = {
|
|
|
507
573
|
// Return null to silently ignore the event (bot messages, edits, etc.).
|
|
508
574
|
async parseIncomingMessage(event: H3Event): Promise<IncomingMessage | null> {
|
|
509
575
|
return {
|
|
510
|
-
platform: "
|
|
576
|
+
platform: "my-chat",
|
|
511
577
|
externalThreadId: "channel-or-thread-id",
|
|
512
578
|
text: "the user's message",
|
|
513
|
-
senderId: "
|
|
579
|
+
senderId: "my-chat-user-id",
|
|
514
580
|
platformContext: { channelId: "channel-id" },
|
|
515
581
|
timestamp: Date.now(),
|
|
516
582
|
};
|
|
@@ -538,10 +604,10 @@ const myAdapter: PlatformAdapter = {
|
|
|
538
604
|
// baseUrl is the app's public URL, used for status checks that need it.
|
|
539
605
|
async getStatus(baseUrl?: string) {
|
|
540
606
|
return {
|
|
541
|
-
platform: "
|
|
542
|
-
label: "
|
|
607
|
+
platform: "my-chat",
|
|
608
|
+
label: "My Chat",
|
|
543
609
|
enabled: true,
|
|
544
|
-
configured: !!process.env.
|
|
610
|
+
configured: !!process.env.MY_CHAT_BOT_TOKEN,
|
|
545
611
|
};
|
|
546
612
|
},
|
|
547
613
|
};
|
|
@@ -77,6 +77,7 @@ search: "क्लिप ब्राउज़र लॉग डेवलपर
|
|
|
77
77
|
## आप इसके साथ क्या कर सकते हैं
|
|
78
78
|
|
|
79
79
|
- **एक अंतर्निर्मित रिकॉर्डर, वेबकैम ओवरले, ऑडियो कैप्चर और पॉज़/ट्रिम के साथ अपनी स्क्रीन रिकॉर्ड करें**।
|
|
80
|
+
- **सार्वजनिक Loom वीडियो आयात करें।** वेब पर **रिकॉर्ड → Loom आयात करें** चुनें, फिर Loom का शेयर या एम्बेड URL पेस्ट करें। Clips आपकी लाइब्रेरी में एक कॉपी सहेजता है और उपलब्ध होने पर सार्वजनिक ट्रांसक्रिप्ट आयात करता है।
|
|
80
81
|
- **अपने कैलेंडर से मीटिंग कैप्चर करें।** Google Calendar कनेक्ट करें, साइडबार में आगामी मीटिंग देखें, और किसी एक पर रिकॉर्ड हिट करें। इसके समाप्त होते ही आपको एक लाइव ट्रांसक्रिप्ट और एआई सारांश, बुलेट नोट्स और एक्शन आइटम मिलते हैं।
|
|
81
82
|
- **पुश-टू-टॉक डिक्टेशन।** अपनी मशीन पर Fn दबाए रखें, बोलें, और साफ़ किया गया टेक्स्ट आपके द्वारा उपयोग किए जा रहे किसी भी ऐप में चला जाएगा। प्रत्येक श्रुतलेख को खोजने योग्य इतिहास में मूल और एआई-साफ किए गए संस्करणों के साथ-साथ रखा जाता है।
|
|
82
83
|
- **प्रत्येक रिकॉर्डिंग के लिए एक स्वतः-निर्मित शीर्षक, सारांश और अध्याय मार्कर प्राप्त करें** - एजेंट उन्हें भरता है और उन्हें चालू रखता है।
|
|
@@ -89,6 +89,7 @@ description: "एक एजेंट-मूल HTML प्रोटोटाइ
|
|
|
89
89
|
## आप इसके साथ क्या कर सकते हैं
|
|
90
90
|
|
|
91
91
|
- **पूर्ण प्रोटोटाइप तैयार करें।** आपको आवश्यक स्क्रीन या पेज का वर्णन करें और एजेंट Tailwind स्टाइल और अल्पाइन इंटरactions के साथ एक कार्यशील HTML दस्तावेज़ बनाता है।
|
|
92
|
+
- **दोबारा उपयोग होने वाले टेम्पलेट से शुरू करें।** विज्ञापन, एक-पेज दस्तावेज़ या लैंडिंग पेज के लिए तय आकार चुनें, या किसी इनलाइन डिज़ाइन को टेम्पलेट के रूप में सहेजें। प्रॉम्प्ट केवल अनलॉक सामग्री बदलता है और लॉक लोगो व पृष्ठभूमि को सुरक्षित रखता है।
|
|
92
93
|
- **वेरिएंट की तुलना करें।** कई दिशाओं से शुरू करें, सबसे मजबूत चुनें, फिर सुधार जारी रखें।
|
|
93
94
|
- **विज़ुअली ट्विक करें।** सामान्य परिवर्तनों के लिए अंतर्निहित ट्विक नियंत्रणों का उपयोग करें, या एजेंट से कॉपी, लेआउट, रंग, रिक्ति और इंटरैक्शन अपडेट के लिए पूछें।
|
|
94
95
|
- **डिज़ाइन सिस्टम लागू करें।** डिज़ाइन-सिस्टम प्राथमिकताओं को सहेजें और पुन: उपयोग करें ताकि उत्पन्न कार्य आपके ब्रांड के करीब रहे।
|