@agent-native/core 0.102.0 → 0.102.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/corpus/README.md +2 -2
- package/corpus/core/CHANGELOG.md +15 -0
- package/corpus/core/package.json +1 -1
- package/corpus/core/src/client/AgentPanel.tsx +7 -0
- package/corpus/core/src/client/AssistantChat.tsx +7 -0
- package/corpus/core/src/client/agent-chat-adapter.ts +7 -1
- package/corpus/core/src/client/agent-page/AgentTabsPage.tsx +1 -1
- package/corpus/core/src/client/chat/message-components.tsx +17 -3
- package/corpus/core/src/client/composer/ComposerPlusMenu.tsx +96 -6
- package/corpus/core/src/client/composer/asset-picker-url.ts +80 -0
- package/corpus/core/src/client/error-format.ts +24 -0
- package/corpus/core/src/client/resources/McpIntegrationDialog.tsx +8 -1
- package/corpus/templates/analytics/changelog/2026-07-15-fixed-the-agent-discarding-a-successful-dashboard-edit-and-r.md +6 -0
- package/corpus/templates/analytics/server/lib/real-data-actions.ts +30 -1
- package/corpus/templates/analytics/server/plugins/agent-chat.ts +15 -0
- package/corpus/templates/assets/app/routes/library.tsx +69 -0
- package/corpus/templates/assets/changelog/2026-07-15-fixed-top-level-image-picker-selections-returning-to-the-com.md +6 -0
- package/corpus/templates/clips/actions/disconnect-calendar.ts +57 -9
- package/corpus/templates/clips/actions/generate-workflow.ts +102 -59
- package/corpus/templates/clips/actions/get-recording-player-data.ts +64 -1
- package/corpus/templates/clips/actions/regenerate-summary.ts +7 -0
- package/corpus/templates/clips/actions/regenerate-title.ts +29 -11
- package/corpus/templates/clips/app/components/editor/editor-layout.tsx +22 -11
- package/corpus/templates/clips/app/components/editor/thumbnail-picker.tsx +87 -9
- package/corpus/templates/clips/app/components/editor/trim-handles.tsx +15 -0
- package/corpus/templates/clips/app/components/editor/waveform.tsx +21 -8
- package/corpus/templates/clips/app/components/library/folder-tree.tsx +52 -0
- package/corpus/templates/clips/app/components/player/settings-panel.tsx +86 -46
- package/corpus/templates/clips/app/components/player/share-dialog.tsx +43 -37
- package/corpus/templates/clips/app/components/player/video-player.tsx +45 -1
- package/corpus/templates/clips/app/i18n/ar-SA.ts +2 -0
- package/corpus/templates/clips/app/i18n/de-DE.ts +2 -0
- package/corpus/templates/clips/app/i18n/en-US.ts +2 -0
- package/corpus/templates/clips/app/i18n/es-ES.ts +2 -0
- package/corpus/templates/clips/app/i18n/fr-FR.ts +2 -0
- package/corpus/templates/clips/app/i18n/hi-IN.ts +2 -0
- package/corpus/templates/clips/app/i18n/ja-JP.ts +2 -0
- package/corpus/templates/clips/app/i18n/ko-KR.ts +2 -0
- package/corpus/templates/clips/app/i18n/pt-BR.ts +2 -0
- package/corpus/templates/clips/app/i18n/zh-CN.ts +2 -0
- package/corpus/templates/clips/app/i18n/zh-TW.ts +2 -0
- package/corpus/templates/clips/app/lib/timestamp-mapping.ts +14 -0
- package/corpus/templates/clips/app/routes/_app.library._index.tsx +1 -2
- package/corpus/templates/clips/app/routes/_index.tsx +1 -2
- package/corpus/templates/clips/app/routes/r.$recordingId.tsx +71 -31
- package/corpus/templates/clips/app/routes/share.$shareId.tsx +4 -1
- package/corpus/templates/clips/changelog/2026-07-15-ai-workflow-generation-now-stays-visible-avoids-duplicate-re.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-15-clip-playback-and-cta-controls-remain-interactive-through-ed.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-15-clip-titles-no-longer-describe-the-product-as-a-loom-alterna.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-15-description-regeneration-now-opens-the-agent-chat-so-progres.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-15-direct-recording-urls-now-respect-share-link-and-password-ac.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-15-disconnecting-a-calendar-now-clears-unrecorded-synced-meetin.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-15-folders-now-expose-rename-and-delete-actions-directly-in-the.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-15-recording-pages-now-explain-sign-in-access-and-avoid-showing.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-15-the-clips-extension-quick-actions-toolbar-can-be-moved-out-o.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-15-the-editor-now-skips-cut-sections-during-preview-and-keeps-t.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-15-thumbnail-capture-now-updates-previews-while-scrubbing-and-l.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-15-windows-permission-links-open-the-matching-settings-page.md +6 -0
- package/corpus/templates/clips/chrome-extension/src/content-script.ts +117 -2
- package/corpus/templates/clips/chrome-extension/src/overlay.ts +27 -0
- package/corpus/templates/clips/desktop/src-tauri/tauri.conf.json +1 -1
- package/corpus/templates/clips/server/lib/calendar-event-meetings.ts +139 -101
- package/corpus/templates/clips/server/lib/recording-page-access.ts +35 -0
- package/corpus/templates/content/app/components/editor/DescriptionField.tsx +10 -2
- package/corpus/templates/content/changelog/2026-07-15-page-and-database-descriptions-now-use-a-clean-single-line-f.md +6 -0
- package/corpus/templates/design/app/components/design/design-canvas/external-preview.ts +7 -3
- package/corpus/templates/design/changelog/2026-07-15-prototype-print-and-download-buttons-now-work-in-preview.md +6 -0
- package/corpus/templates/slides/actions/extract-pdf.ts +1 -1
- package/corpus/templates/slides/actions/import-file.ts +4 -1
- package/corpus/templates/slides/app/components/editor/ImageGenPanel.tsx +1 -1
- package/corpus/templates/slides/app/components/editor/ImageSearchPanel.tsx +9 -12
- package/corpus/templates/slides/app/components/editor/SlideEditor.tsx +29 -21
- package/corpus/templates/slides/app/i18n/ar-SA.ts +1 -0
- package/corpus/templates/slides/app/i18n/de-DE.ts +1 -0
- package/corpus/templates/slides/app/i18n/en-US.ts +1 -0
- package/corpus/templates/slides/app/i18n/es-ES.ts +1 -0
- package/corpus/templates/slides/app/i18n/fr-FR.ts +1 -0
- package/corpus/templates/slides/app/i18n/hi-IN.ts +1 -0
- package/corpus/templates/slides/app/i18n/ja-JP.ts +1 -0
- package/corpus/templates/slides/app/i18n/ko-KR.ts +1 -0
- package/corpus/templates/slides/app/i18n/pt-BR.ts +1 -0
- package/corpus/templates/slides/app/i18n/zh-CN.ts +1 -0
- package/corpus/templates/slides/app/i18n/zh-TW.ts +1 -0
- package/corpus/templates/slides/changelog/2026-07-15-image-search-and-generation-controls-now-use-the-registered-.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-15-pdf-deck-references-can-be-imported-for-slide-inspiration-ag.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-15-stable-style-inspector-dock.md +6 -0
- package/dist/client/AgentPanel.d.ts.map +1 -1
- package/dist/client/AgentPanel.js +5 -0
- package/dist/client/AgentPanel.js.map +1 -1
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +7 -0
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/agent-chat-adapter.d.ts.map +1 -1
- package/dist/client/agent-chat-adapter.js +8 -1
- package/dist/client/agent-chat-adapter.js.map +1 -1
- package/dist/client/agent-page/AgentTabsPage.js +1 -1
- package/dist/client/agent-page/AgentTabsPage.js.map +1 -1
- package/dist/client/chat/message-components.d.ts +4 -0
- package/dist/client/chat/message-components.d.ts.map +1 -1
- package/dist/client/chat/message-components.js +10 -3
- package/dist/client/chat/message-components.js.map +1 -1
- package/dist/client/composer/ComposerPlusMenu.d.ts.map +1 -1
- package/dist/client/composer/ComposerPlusMenu.js +58 -6
- package/dist/client/composer/ComposerPlusMenu.js.map +1 -1
- package/dist/client/composer/asset-picker-url.d.ts +16 -0
- package/dist/client/composer/asset-picker-url.d.ts.map +1 -0
- package/dist/client/composer/asset-picker-url.js +64 -0
- package/dist/client/composer/asset-picker-url.js.map +1 -0
- package/dist/client/error-format.d.ts.map +1 -1
- package/dist/client/error-format.js +17 -0
- package/dist/client/error-format.js.map +1 -1
- package/dist/client/resources/McpIntegrationDialog.d.ts.map +1 -1
- package/dist/client/resources/McpIntegrationDialog.js +6 -1
- package/dist/client/resources/McpIntegrationDialog.js.map +1 -1
- package/dist/collab/routes.d.ts +1 -1
- package/dist/observability/routes.d.ts +1 -1
- package/dist/provider-api/corpus-jobs.d.ts +2 -2
- package/package.json +1 -1
|
@@ -1141,7 +1141,10 @@ export default function SlideEditor({
|
|
|
1141
1141
|
const selector = getBuilderSelector(el);
|
|
1142
1142
|
el.contentEditable = "true";
|
|
1143
1143
|
el.setAttribute("data-editing-block", "true");
|
|
1144
|
-
|
|
1144
|
+
// Keep the inspector selection mounted while text is being edited. The
|
|
1145
|
+
// inspector is a stable dock, so clearing it here would make the canvas
|
|
1146
|
+
// resize and auto-fit again on the second click.
|
|
1147
|
+
setSelectedElementRect(null);
|
|
1145
1148
|
captureInlineEditDraft(slide.id);
|
|
1146
1149
|
// Mark the deck dirty immediately so SSE/poll refreshes do not replace
|
|
1147
1150
|
// the deck under an active contentEditable edit, even before the user
|
|
@@ -1167,13 +1170,7 @@ export default function SlideEditor({
|
|
|
1167
1170
|
);
|
|
1168
1171
|
}
|
|
1169
1172
|
},
|
|
1170
|
-
[
|
|
1171
|
-
buildSelectionState,
|
|
1172
|
-
captureInlineEditDraft,
|
|
1173
|
-
clearSelectedElement,
|
|
1174
|
-
onInlineEditStart,
|
|
1175
|
-
slide.id,
|
|
1176
|
-
],
|
|
1173
|
+
[buildSelectionState, captureInlineEditDraft, onInlineEditStart, slide.id],
|
|
1177
1174
|
);
|
|
1178
1175
|
|
|
1179
1176
|
// Exit edit mode when switching slides — save pending content first so
|
|
@@ -2053,18 +2050,29 @@ export default function SlideEditor({
|
|
|
2053
2050
|
)}
|
|
2054
2051
|
</div>
|
|
2055
2052
|
|
|
2056
|
-
{
|
|
2057
|
-
<div
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
|
|
2053
|
+
{!readOnly && (
|
|
2054
|
+
<div
|
|
2055
|
+
className="relative z-[70] hidden h-full w-[17rem] shrink-0 border-l border-border/70 bg-background/95 lg:block"
|
|
2056
|
+
data-slide-style-dock="true"
|
|
2057
|
+
>
|
|
2058
|
+
{selectedStyleSnapshot ? (
|
|
2059
|
+
<SlideStyleInspector
|
|
2060
|
+
snapshot={selectedStyleSnapshot}
|
|
2061
|
+
designSystem={designSystem}
|
|
2062
|
+
className="h-full w-full rounded-none border-0 bg-transparent shadow-none"
|
|
2063
|
+
onChange={applySelectedStylePatch}
|
|
2064
|
+
onClose={() => {
|
|
2065
|
+
clearSelectedElement();
|
|
2066
|
+
syncSelectionToAppState(null);
|
|
2067
|
+
}}
|
|
2068
|
+
/>
|
|
2069
|
+
) : (
|
|
2070
|
+
<div className="flex h-11 items-center border-b border-border/70 px-3">
|
|
2071
|
+
<span className="text-[10px] font-semibold uppercase tracking-[0.16em] text-muted-foreground/70">
|
|
2072
|
+
{t("styleInspector.title")}
|
|
2073
|
+
</span>
|
|
2074
|
+
</div>
|
|
2075
|
+
)}
|
|
2068
2076
|
</div>
|
|
2069
2077
|
)}
|
|
2070
2078
|
</div>
|
|
@@ -2082,7 +2090,7 @@ export default function SlideEditor({
|
|
|
2082
2090
|
viewportRect={selectionViewportRect}
|
|
2083
2091
|
/>
|
|
2084
2092
|
)}
|
|
2085
|
-
{selectedElementRect && (
|
|
2093
|
+
{selectedElementRect && !editingEl && (
|
|
2086
2094
|
<ElementSelectionOutline
|
|
2087
2095
|
rect={selectedElementRect}
|
|
2088
2096
|
viewportRect={selectionViewportRect}
|
|
@@ -103,6 +103,7 @@ const messages = {
|
|
|
103
103
|
searchImagesPlaceholder: "Buscar imagens...",
|
|
104
104
|
searchForLogosImagesIcons: "Buscar logos, imagens, ícones...",
|
|
105
105
|
search: "بحث",
|
|
106
|
+
searchFailed: "فشل البحث",
|
|
106
107
|
logoSearchTitle: "بحث عن الشعار",
|
|
107
108
|
searchCompanyLogo: "Busque uma empresa para encontrar seu logo",
|
|
108
109
|
searchCompanyPlaceholder: "Buscar nome da empresa (ex.: Intuit)",
|
|
@@ -106,6 +106,7 @@ const messages = {
|
|
|
106
106
|
searchImagesPlaceholder: "Nach Bildern suchen...",
|
|
107
107
|
searchForLogosImagesIcons: "Nach Logos, Bildern, Icons suchen...",
|
|
108
108
|
search: "Suchen",
|
|
109
|
+
searchFailed: "Suche fehlgeschlagen",
|
|
109
110
|
logoSearchTitle: "Logo-Suche",
|
|
110
111
|
searchCompanyLogo: "Suche nach einem Unternehmen, um sein Logo zu finden",
|
|
111
112
|
searchCompanyPlaceholder: "Unternehmensname suchen (z. B. Intuit)",
|
|
@@ -104,6 +104,7 @@ const messages = {
|
|
|
104
104
|
searchImagesPlaceholder: "Search for images...",
|
|
105
105
|
searchForLogosImagesIcons: "Search for logos, images, icons...",
|
|
106
106
|
search: "Search",
|
|
107
|
+
searchFailed: "Search failed",
|
|
107
108
|
logoSearchTitle: "Logo Search",
|
|
108
109
|
searchCompanyLogo: "Search for a company to find their logo",
|
|
109
110
|
searchCompanyPlaceholder: "Search company name (e.g. Intuit)",
|
|
@@ -105,6 +105,7 @@ const messages = {
|
|
|
105
105
|
searchImagesPlaceholder: "Buscar imágenes...",
|
|
106
106
|
searchForLogosImagesIcons: "Buscar logos, imágenes, iconos...",
|
|
107
107
|
search: "Buscar",
|
|
108
|
+
searchFailed: "Error al buscar",
|
|
108
109
|
logoSearchTitle: "Búsqueda de logos",
|
|
109
110
|
searchCompanyLogo: "Busca una empresa para encontrar su logo",
|
|
110
111
|
searchCompanyPlaceholder: "Buscar nombre de empresa (p. ej. Intuit)",
|
|
@@ -106,6 +106,7 @@ const messages = {
|
|
|
106
106
|
searchImagesPlaceholder: "Rechercher des images...",
|
|
107
107
|
searchForLogosImagesIcons: "Rechercher des logos, images, icônes...",
|
|
108
108
|
search: "Rechercher",
|
|
109
|
+
searchFailed: "Échec de la recherche",
|
|
109
110
|
logoSearchTitle: "Recherche de logo",
|
|
110
111
|
searchCompanyLogo: "Recherchez une entreprise pour trouver son logo",
|
|
111
112
|
searchCompanyPlaceholder: "Rechercher un nom d’entreprise (ex. Intuit)",
|
|
@@ -103,6 +103,7 @@ const messages = {
|
|
|
103
103
|
searchImagesPlaceholder: "Buscar imagens...",
|
|
104
104
|
searchForLogosImagesIcons: "Buscar logos, imagens, ícones...",
|
|
105
105
|
search: "खोजें",
|
|
106
|
+
searchFailed: "खोज विफल",
|
|
106
107
|
logoSearchTitle: "लोगो खोज",
|
|
107
108
|
searchCompanyLogo: "Busque uma empresa para encontrar seu logo",
|
|
108
109
|
searchCompanyPlaceholder: "Buscar nome da empresa (ex.: Intuit)",
|
|
@@ -104,6 +104,7 @@ const messages = {
|
|
|
104
104
|
searchImagesPlaceholder: "画像を検索...",
|
|
105
105
|
searchForLogosImagesIcons: "ロゴ、画像、アイコンを検索...",
|
|
106
106
|
search: "検索",
|
|
107
|
+
searchFailed: "検索に失敗しました",
|
|
107
108
|
logoSearchTitle: "ロゴ検索",
|
|
108
109
|
searchCompanyLogo: "会社を検索してロゴを見つける",
|
|
109
110
|
searchCompanyPlaceholder: "会社名を検索(例: Intuit)",
|
|
@@ -104,6 +104,7 @@ const messages = {
|
|
|
104
104
|
searchImagesPlaceholder: "画像を検索...",
|
|
105
105
|
searchForLogosImagesIcons: "ロゴ、画像、アイコンを検索...",
|
|
106
106
|
search: "검색",
|
|
107
|
+
searchFailed: "검색 실패",
|
|
107
108
|
logoSearchTitle: "로고 검색",
|
|
108
109
|
searchCompanyLogo: "会社を検索してロゴを見つける",
|
|
109
110
|
searchCompanyPlaceholder: "会社名を検索(例: Intuit)",
|
|
@@ -104,6 +104,7 @@ const messages = {
|
|
|
104
104
|
searchImagesPlaceholder: "Buscar imagens...",
|
|
105
105
|
searchForLogosImagesIcons: "Buscar logos, imagens, ícones...",
|
|
106
106
|
search: "Buscar",
|
|
107
|
+
searchFailed: "Falha na pesquisa",
|
|
107
108
|
logoSearchTitle: "Busca de logo",
|
|
108
109
|
searchCompanyLogo: "Busque uma empresa para encontrar seu logo",
|
|
109
110
|
searchCompanyPlaceholder: "Buscar nome da empresa (ex.: Intuit)",
|
|
@@ -102,6 +102,7 @@ const messages = {
|
|
|
102
102
|
searchImagesPlaceholder: "画像を検索...",
|
|
103
103
|
searchForLogosImagesIcons: "ロゴ、画像、アイコンを検索...",
|
|
104
104
|
search: "搜索",
|
|
105
|
+
searchFailed: "搜索失败",
|
|
105
106
|
logoSearchTitle: "徽标搜索",
|
|
106
107
|
searchCompanyLogo: "会社を検索してロゴを見つける",
|
|
107
108
|
searchCompanyPlaceholder: "会社名を検索(例: Intuit)",
|
|
@@ -100,6 +100,7 @@ const messages = {
|
|
|
100
100
|
searchImagesPlaceholder: "搜尋圖片...",
|
|
101
101
|
searchForLogosImagesIcons: "搜尋徽標、圖片、圖示...",
|
|
102
102
|
search: "搜尋",
|
|
103
|
+
searchFailed: "搜尋失敗",
|
|
103
104
|
logoSearchTitle: "徽標搜尋",
|
|
104
105
|
searchCompanyLogo: "搜尋公司以尋找徽標",
|
|
105
106
|
searchCompanyPlaceholder: "搜尋公司名稱(例如:Intuit)",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentPanel.d.ts","sourceRoot":"","sources":["../../src/client/AgentPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAmBH,OAAO,KASN,MAAM,OAAO,CAAC;AAkCf,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAapE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAY7D,OAAO,KAAK,EACV,gCAAgC,EAChC,0BAA0B,EAC3B,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentPanel.d.ts","sourceRoot":"","sources":["../../src/client/AgentPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -48,6 +48,7 @@ import { AGENT_CHAT_VIEW_TRANSITION_CLASS, getAgentChatViewTransitionStyle, } fr
|
|
|
48
48
|
import { RealtimeVoiceModeProvider } from "./composer/useRealtimeVoiceMode.js";
|
|
49
49
|
import { getFramePostMessageTargetOrigin, isTrustedFrameMessage, } from "./frame.js";
|
|
50
50
|
import { useT } from "./i18n.js";
|
|
51
|
+
import { recoverFromStaleChunkError } from "./route-chunk-recovery.js";
|
|
51
52
|
import { AgentNativeRouteWarmup } from "./route-warmup.js";
|
|
52
53
|
import { withBuilderConnectTrackingParams } from "./settings/useBuilderStatus.js";
|
|
53
54
|
import { useScreenRefreshKey } from "./use-db-sync.js";
|
|
@@ -1127,6 +1128,10 @@ class AgentPanelErrorBoundary extends React.Component {
|
|
|
1127
1128
|
return { error };
|
|
1128
1129
|
}
|
|
1129
1130
|
componentDidCatch(error, errorInfo) {
|
|
1131
|
+
if (recoverFromStaleChunkError(error)) {
|
|
1132
|
+
console.warn("[agent-native] Recovering agent panel after stale chunk error");
|
|
1133
|
+
return;
|
|
1134
|
+
}
|
|
1130
1135
|
const recoverableKind = assistantUiRecoverableRenderErrorKind(error);
|
|
1131
1136
|
if (recoverableKind) {
|
|
1132
1137
|
console.warn("[agent-native] Recovering agent panel after assistant UI render error", recoverableKind);
|