@agent-native/core 0.90.3 → 0.90.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/bin/agent-native.js +25 -3
  2. package/corpus/README.md +1 -1
  3. package/corpus/core/CHANGELOG.md +9 -0
  4. package/corpus/core/bin/agent-native.js +25 -3
  5. package/corpus/core/package.json +1 -1
  6. package/corpus/core/src/agent/engine/index.ts +1 -0
  7. package/corpus/core/src/agent/engine/registry.ts +63 -2
  8. package/corpus/core/src/cli/create.ts +35 -0
  9. package/corpus/core/src/cli/design-connect.ts +248 -0
  10. package/corpus/core/src/cli/index.ts +84 -7
  11. package/corpus/core/src/cli/workspacify.ts +34 -0
  12. package/corpus/core/src/client/history/VersionHistoryPanel.tsx +77 -47
  13. package/corpus/core/src/client/history/index.ts +3 -0
  14. package/corpus/core/src/client/history/use-history.ts +28 -0
  15. package/corpus/core/src/client/index.ts +8 -0
  16. package/corpus/core/src/client/review/index.ts +5 -0
  17. package/corpus/core/src/client/review/use-review.ts +40 -2
  18. package/corpus/core/src/history/actions/create-resource-version.ts +11 -8
  19. package/corpus/core/src/history/index.ts +0 -1
  20. package/corpus/core/src/history/registry.ts +24 -12
  21. package/corpus/core/src/history/store.ts +84 -53
  22. package/corpus/core/src/review/actions/consume-review-feedback.ts +15 -5
  23. package/corpus/core/src/review/actions/delete-review-comment.ts +15 -3
  24. package/corpus/core/src/review/actions/resolve-review-thread.ts +12 -5
  25. package/corpus/core/src/review/index.ts +0 -5
  26. package/corpus/core/src/review/registry.ts +24 -12
  27. package/corpus/core/src/review/store.ts +10 -7
  28. package/corpus/core/src/server/agent-chat-plugin.ts +6 -0
  29. package/corpus/core/src/server/credential-provider.ts +13 -3
  30. package/corpus/templates/assets/actions/_preset-skeleton-validation.ts +11 -11
  31. package/corpus/templates/assets/actions/generate-image.ts +64 -28
  32. package/corpus/templates/assets/app/components/generation/GenerationResults.tsx +1 -1
  33. package/corpus/templates/assets/app/routes/brand-kits.$id_.presets.$presetId.tsx +91 -74
  34. package/corpus/templates/assets/server/lib/generation.ts +29 -4
  35. package/corpus/templates/assets/server/lib/image-processing.ts +131 -0
  36. package/corpus/templates/calendar/.agents/skills/event-management/SKILL.md +24 -2
  37. package/corpus/templates/calendar/AGENTS.md +3 -0
  38. package/corpus/templates/calendar/actions/create-event.ts +8 -34
  39. package/corpus/templates/calendar/actions/event-action-helpers.ts +52 -0
  40. package/corpus/templates/calendar/actions/manage-event-draft.ts +7 -34
  41. package/corpus/templates/calendar/actions/update-event.ts +10 -23
  42. package/corpus/templates/calendar/app/components/calendar/AttendeeAutocomplete.tsx +47 -0
  43. package/corpus/templates/calendar/app/components/calendar/CreateEventDialog.tsx +23 -0
  44. package/corpus/templates/calendar/app/components/calendar/EventAttendeesSection.tsx +59 -2
  45. package/corpus/templates/calendar/app/components/calendar/EventDetailPanel.tsx +40 -1
  46. package/corpus/templates/calendar/app/components/calendar/EventDetailPopover.tsx +34 -1
  47. package/corpus/templates/calendar/app/hooks/use-events.ts +6 -0
  48. package/corpus/templates/calendar/app/i18n/zh-TW.ts +4 -0
  49. package/corpus/templates/calendar/app/i18n-data.ts +40 -0
  50. package/corpus/templates/calendar/changelog/2026-07-07-you-can-mark-event-guests-as-optional-while-inviting-them-or.md +6 -0
  51. package/corpus/templates/calendar/server/handlers/events.ts +1 -0
  52. package/corpus/templates/calendar/server/lib/google-calendar.ts +4 -0
  53. package/corpus/templates/calendar/server/plugins/agent-chat.ts +1 -1
  54. package/corpus/templates/calendar/shared/api.ts +2 -0
  55. package/corpus/templates/clips/.agents/skills/ai-video-tools/SKILL.md +29 -3
  56. package/corpus/templates/clips/actions/generate-workflow.ts +19 -8
  57. package/corpus/templates/clips/actions/get-clips-ai-prefs.ts +36 -0
  58. package/corpus/templates/clips/actions/lib/clips-ai-prefs.ts +28 -0
  59. package/corpus/templates/clips/actions/regenerate-chapters.ts +21 -7
  60. package/corpus/templates/clips/actions/regenerate-summary.ts +26 -8
  61. package/corpus/templates/clips/actions/regenerate-title.ts +44 -7
  62. package/corpus/templates/clips/actions/update-clips-ai-prefs.ts +50 -0
  63. package/corpus/templates/clips/app/components/meetings/meeting-card.tsx +7 -2
  64. package/corpus/templates/clips/app/hooks/use-auto-title.ts +25 -10
  65. package/corpus/templates/clips/app/i18n/ar-SA.ts +28 -6
  66. package/corpus/templates/clips/app/i18n/de-DE.ts +28 -6
  67. package/corpus/templates/clips/app/i18n/en-US.ts +29 -6
  68. package/corpus/templates/clips/app/i18n/es-ES.ts +29 -6
  69. package/corpus/templates/clips/app/i18n/fr-FR.ts +30 -6
  70. package/corpus/templates/clips/app/i18n/hi-IN.ts +26 -6
  71. package/corpus/templates/clips/app/i18n/ja-JP.ts +27 -6
  72. package/corpus/templates/clips/app/i18n/ko-KR.ts +28 -6
  73. package/corpus/templates/clips/app/i18n/pt-BR.ts +28 -6
  74. package/corpus/templates/clips/app/i18n/zh-CN.ts +26 -6
  75. package/corpus/templates/clips/app/i18n/zh-TW.ts +25 -6
  76. package/corpus/templates/clips/app/routes/_app.meetings._index.tsx +73 -0
  77. package/corpus/templates/clips/app/routes/_app.settings._index.tsx +1 -0
  78. package/corpus/templates/clips/app/routes/r.$recordingId.tsx +70 -2
  79. package/corpus/templates/clips/changelog/2026-07-07-ai-tools-can-include-the-full-video-not-just-the-transcript-.md +6 -0
  80. package/corpus/templates/clips/changelog/2026-07-07-clips-desktop-now-surfaces-meetings-and-dictate-directly-in-.md +6 -0
  81. package/corpus/templates/clips/changelog/2026-07-07-meeting-notes-now-explain-exactly-how-to-start-granola-style.md +6 -0
  82. package/corpus/templates/clips/changelog/2026-07-07-meeting-start-alerts-now-include-separate-start-notes-and-jo.md +6 -0
  83. package/corpus/templates/clips/changelog/2026-07-07-recordings-start-more-predictably-and-newly-saved-clips-refr.md +6 -0
  84. package/corpus/templates/clips/chrome-extension/public/manifest.json +1 -1
  85. package/corpus/templates/clips/desktop/src/app.tsx +435 -105
  86. package/corpus/templates/clips/desktop/src/lib/recorder.ts +27 -21
  87. package/corpus/templates/clips/desktop/src/overlays/meeting-notification.tsx +23 -22
  88. package/corpus/templates/clips/desktop/src/styles.css +167 -2
  89. package/corpus/templates/clips/desktop/src-tauri/src/native_screen.rs +1 -1
  90. package/corpus/templates/clips/desktop/src-tauri/src/notifications.rs +3 -7
  91. package/corpus/templates/clips/desktop/src-tauri/src/tray_meetings.rs +5 -4
  92. package/corpus/templates/clips/server/routes/_agent-native/clips/user-prefs.put.ts +16 -8
  93. package/corpus/templates/clips/shared/clips-ai-prefs.ts +81 -0
  94. package/corpus/templates/design/.agents/skills/visual-edit/SKILL.md +16 -1
  95. package/corpus/templates/design/actions/add-localhost-screens.ts +1 -0
  96. package/corpus/templates/design/app/components/design/DesignCanvas.tsx +345 -11
  97. package/corpus/templates/design/app/components/design/bridge/editor-chrome.bridge.ts +89 -14
  98. package/corpus/templates/design/app/components/design/bridge-security.ts +7 -1
  99. package/corpus/templates/design/app/components/design/multi-screen/types.ts +1 -1
  100. package/corpus/templates/design/app/i18n/zh-TW.ts +3 -0
  101. package/corpus/templates/design/app/i18n-data.ts +41 -0
  102. package/corpus/templates/design/changelog/2026-07-07-local-visual-edit-uses-live-app-iframes-for-click-to-edit-pr.md +6 -0
  103. package/dist/agent/engine/index.d.ts +1 -1
  104. package/dist/agent/engine/index.d.ts.map +1 -1
  105. package/dist/agent/engine/index.js +1 -1
  106. package/dist/agent/engine/index.js.map +1 -1
  107. package/dist/agent/engine/registry.d.ts +14 -0
  108. package/dist/agent/engine/registry.d.ts.map +1 -1
  109. package/dist/agent/engine/registry.js +56 -2
  110. package/dist/agent/engine/registry.js.map +1 -1
  111. package/dist/cli/create.d.ts.map +1 -1
  112. package/dist/cli/create.js +31 -0
  113. package/dist/cli/create.js.map +1 -1
  114. package/dist/cli/design-connect.d.ts.map +1 -1
  115. package/dist/cli/design-connect.js +186 -0
  116. package/dist/cli/design-connect.js.map +1 -1
  117. package/dist/cli/index.js +76 -9
  118. package/dist/cli/index.js.map +1 -1
  119. package/dist/cli/workspacify.d.ts.map +1 -1
  120. package/dist/cli/workspacify.js +30 -0
  121. package/dist/cli/workspacify.js.map +1 -1
  122. package/dist/client/history/VersionHistoryPanel.d.ts +1 -1
  123. package/dist/client/history/VersionHistoryPanel.d.ts.map +1 -1
  124. package/dist/client/history/VersionHistoryPanel.js +12 -5
  125. package/dist/client/history/VersionHistoryPanel.js.map +1 -1
  126. package/dist/client/history/index.d.ts +1 -1
  127. package/dist/client/history/index.d.ts.map +1 -1
  128. package/dist/client/history/index.js +1 -1
  129. package/dist/client/history/index.js.map +1 -1
  130. package/dist/client/history/use-history.d.ts +12 -0
  131. package/dist/client/history/use-history.d.ts.map +1 -1
  132. package/dist/client/history/use-history.js +6 -0
  133. package/dist/client/history/use-history.js.map +1 -1
  134. package/dist/client/index.d.ts +2 -2
  135. package/dist/client/index.d.ts.map +1 -1
  136. package/dist/client/index.js +2 -2
  137. package/dist/client/index.js.map +1 -1
  138. package/dist/client/review/index.d.ts +1 -1
  139. package/dist/client/review/index.d.ts.map +1 -1
  140. package/dist/client/review/index.js +1 -1
  141. package/dist/client/review/index.js.map +1 -1
  142. package/dist/client/review/use-review.d.ts +23 -0
  143. package/dist/client/review/use-review.d.ts.map +1 -1
  144. package/dist/client/review/use-review.js +8 -0
  145. package/dist/client/review/use-review.js.map +1 -1
  146. package/dist/collab/awareness.d.ts +2 -2
  147. package/dist/collab/awareness.d.ts.map +1 -1
  148. package/dist/collab/routes.d.ts +1 -1
  149. package/dist/history/actions/create-resource-version.js +7 -4
  150. package/dist/history/actions/create-resource-version.js.map +1 -1
  151. package/dist/history/index.d.ts +1 -1
  152. package/dist/history/index.d.ts.map +1 -1
  153. package/dist/history/index.js +1 -1
  154. package/dist/history/index.js.map +1 -1
  155. package/dist/history/registry.d.ts.map +1 -1
  156. package/dist/history/registry.js +14 -12
  157. package/dist/history/registry.js.map +1 -1
  158. package/dist/history/store.d.ts.map +1 -1
  159. package/dist/history/store.js +74 -49
  160. package/dist/history/store.js.map +1 -1
  161. package/dist/observability/routes.d.ts +3 -3
  162. package/dist/progress/routes.d.ts +1 -1
  163. package/dist/review/actions/consume-review-feedback.d.ts +1 -0
  164. package/dist/review/actions/consume-review-feedback.js +8 -2
  165. package/dist/review/actions/consume-review-feedback.js.map +1 -1
  166. package/dist/review/actions/delete-review-comment.d.ts +2 -1
  167. package/dist/review/actions/delete-review-comment.js +11 -3
  168. package/dist/review/actions/delete-review-comment.js.map +1 -1
  169. package/dist/review/actions/resolve-review-thread.d.ts +2 -1
  170. package/dist/review/actions/resolve-review-thread.js +5 -2
  171. package/dist/review/actions/resolve-review-thread.js.map +1 -1
  172. package/dist/review/index.d.ts +1 -1
  173. package/dist/review/index.d.ts.map +1 -1
  174. package/dist/review/index.js +1 -1
  175. package/dist/review/index.js.map +1 -1
  176. package/dist/review/registry.d.ts.map +1 -1
  177. package/dist/review/registry.js +14 -12
  178. package/dist/review/registry.js.map +1 -1
  179. package/dist/review/store.d.ts +3 -3
  180. package/dist/review/store.d.ts.map +1 -1
  181. package/dist/review/store.js +7 -4
  182. package/dist/review/store.js.map +1 -1
  183. package/dist/secrets/routes.d.ts +9 -9
  184. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  185. package/dist/server/agent-chat-plugin.js +5 -0
  186. package/dist/server/agent-chat-plugin.js.map +1 -1
  187. package/dist/server/credential-provider.d.ts +2 -0
  188. package/dist/server/credential-provider.d.ts.map +1 -1
  189. package/dist/server/credential-provider.js +13 -3
  190. package/dist/server/credential-provider.js.map +1 -1
  191. package/package.json +1 -1
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Update Clips AI preferences for the current user.
3
+ *
4
+ * Merges into the shared `clips-user-prefs` object so playback/transcript
5
+ * preferences from Settings are preserved.
6
+ *
7
+ * Usage:
8
+ * pnpm action update-clips-ai-prefs --includeFullVideoInAi=true
9
+ */
10
+
11
+ import { defineAction } from "@agent-native/core";
12
+ import { getRequestUserEmail } from "@agent-native/core/server/request-context";
13
+ import { getUserSetting, putUserSetting } from "@agent-native/core/settings";
14
+ import { z } from "zod";
15
+
16
+ import {
17
+ CLIPS_USER_PREFS_KEY,
18
+ type ClipsUserPrefs,
19
+ } from "../shared/clips-ai-prefs.js";
20
+
21
+ export default defineAction({
22
+ description:
23
+ "Update Clips AI tool preferences for the current user. When includeFullVideoInAi is true, default title/description generation and AI tools watch the full recording instead of relying on transcript alone. Full-video understanding requires a Gemini model (Builder Gemini or GEMINI_API_KEY).",
24
+ schema: z.object({
25
+ includeFullVideoInAi: z
26
+ .boolean()
27
+ .describe(
28
+ "When true, Clips AI tools watch the full video (screen + audio) with a Gemini model, not just the transcript.",
29
+ ),
30
+ }),
31
+ run: async (args) => {
32
+ const email = getRequestUserEmail();
33
+ if (!email) throw new Error("Sign in required");
34
+
35
+ const existing = ((await getUserSetting(email, CLIPS_USER_PREFS_KEY)) ??
36
+ {}) as ClipsUserPrefs;
37
+ const next: ClipsUserPrefs = {
38
+ ...existing,
39
+ includeFullVideoInAi: args.includeFullVideoInAi,
40
+ };
41
+ await putUserSetting(
42
+ email,
43
+ CLIPS_USER_PREFS_KEY,
44
+ next as Record<string, unknown>,
45
+ );
46
+ return {
47
+ includeFullVideoInAi: next.includeFullVideoInAi === true,
48
+ };
49
+ },
50
+ });
@@ -209,7 +209,7 @@ function relativeStartLabel(
209
209
  /**
210
210
  * <UpcomingMeetingCard /> — a not-yet-recorded calendar event (Granola-style).
211
211
  * Recording is a native Clips desktop-app gesture, so the card just opens the
212
- * meeting's notes ("Open") and links out to the call ("Join"). Buttons are
212
+ * meeting's notes ("Open notes") and links out to the call ("Join"). Buttons are
213
213
  * NavLink/<a> siblings (never nested anchors) so the markup stays valid.
214
214
  */
215
215
  export function UpcomingMeetingCard({
@@ -272,6 +272,11 @@ export function UpcomingMeetingCard({
272
272
  <span>– {formatTime(meeting.scheduledEnd)}</span>
273
273
  )}
274
274
  </div>
275
+ <p className="mt-1.5 text-[11px] leading-snug text-muted-foreground">
276
+ {soon || isLive
277
+ ? t("meetingCard.startFromDesktopNow")
278
+ : t("meetingCard.startFromDesktopLater")}
279
+ </p>
275
280
  </NavLink>
276
281
 
277
282
  <div className="flex items-center justify-between gap-2 pt-1">
@@ -302,7 +307,7 @@ export function UpcomingMeetingCard({
302
307
  className="h-7 gap-1 px-2.5 text-xs cursor-pointer"
303
308
  >
304
309
  <NavLink to={`/meetings/${meeting.id}`}>
305
- {isLive ? t("meetingCard.openNotes") : t("meetingCard.open")}
310
+ {t("meetingCard.openNotes")}
306
311
  </NavLink>
307
312
  </Button>
308
313
  </div>
@@ -16,6 +16,7 @@ import {
16
16
  callAction,
17
17
  sendToAgentChat,
18
18
  } from "@agent-native/core/client";
19
+ import { fullVideoAiModelSelection } from "@shared/clips-ai-prefs";
19
20
  import { useEffect, useRef } from "react";
20
21
 
21
22
  import { useRecordings, type RecordingSummary } from "./use-library";
@@ -53,6 +54,7 @@ interface AiRequest {
53
54
  agentsContext?: string;
54
55
  thresholdMs?: number;
55
56
  message?: string;
57
+ includeFullVideoInAi?: boolean;
56
58
  }
57
59
 
58
60
  const DISPATCHABLE_REQUESTS = new Set([
@@ -139,16 +141,7 @@ export function useAutoTitleBridge(): void {
139
141
  if (dispatched.current.has(dispatchKey)) continue;
140
142
  dispatched.current.add(dispatchKey);
141
143
 
142
- sendToAgentChat({
143
- message:
144
- request.message ??
145
- `Handle queued ${request.kind} work for recording ${rec.id}.`,
146
- context: JSON.stringify(buildRequestContext(rec, request)),
147
- submit: true,
148
- openSidebar: false,
149
- newTab: true,
150
- background: true,
151
- });
144
+ dispatchAiRequest(rec, request);
152
145
 
153
146
  void clearRequest(rec.id);
154
147
  } else if (isAutoTitleReplaceable(rec.title, rec.titleSource)) {
@@ -203,10 +196,32 @@ function buildRequestContext(rec: RecordingSummary, request: AiRequest) {
203
196
  agentsContext: request.agentsContext ?? "",
204
197
  transcriptStatus: request.transcriptStatus ?? "ready",
205
198
  transcriptSegments: parseJsonArray(request.segmentsJson),
199
+ includeFullVideoInAi: request.includeFullVideoInAi === true,
206
200
  request,
207
201
  };
208
202
  }
209
203
 
204
+ function dispatchAiRequest(rec: RecordingSummary, request: AiRequest) {
205
+ const includeFullVideo = request.includeFullVideoInAi === true;
206
+ const gemini = includeFullVideo ? fullVideoAiModelSelection() : null;
207
+ sendToAgentChat({
208
+ message:
209
+ request.message ??
210
+ `Handle queued ${request.kind} work for recording ${rec.id}.`,
211
+ context: JSON.stringify(buildRequestContext(rec, request)),
212
+ submit: true,
213
+ openSidebar: false,
214
+ newTab: true,
215
+ background: true,
216
+ ...(gemini
217
+ ? {
218
+ engine: gemini.engine,
219
+ model: gemini.model,
220
+ }
221
+ : {}),
222
+ });
223
+ }
224
+
210
225
  function parseJsonArray(raw: string | undefined): unknown[] {
211
226
  if (!raw) return [];
212
227
  try {
@@ -197,6 +197,11 @@ const messages = {
197
197
  edit: "تحرير",
198
198
  aiTools: "أدوات الذكاء الاصطناعي",
199
199
  enhanceRecording: "تعزيز هذا التسجيل",
200
+ includeFullVideo: "تضمين الفيديو الكامل",
201
+ includeFullVideoDescription:
202
+ "عند التشغيل، تشاهد أدوات الذكاء الاصطناعي التسجيل (Gemini فقط) لسياق الشاشة — وليس نسخة الصوت النصية فقط. ينطبق أيضاً على إنشاء العنوان والوصف الافتراضيين. يتطلب نموذج Gemini عبر Builder أو GEMINI_API_KEY.",
203
+ includeFullVideoOn: "ستستخدم أدوات الذكاء الاصطناعي الفيديو الكامل (Gemini)",
204
+ includeFullVideoOff: "ستستخدم أدوات الذكاء الاصطناعي النص فقط",
200
205
  regenerateTitle: "إعادة إنشاء العنوان",
201
206
  regenerateDescription: "إعادة إنشاء الوصف",
202
207
  autoChapters: "فصول السيارات",
@@ -322,7 +327,7 @@ const messages = {
322
327
  removing: "جارٍ الإزالة...",
323
328
  remove: "يزيل",
324
329
  desktopHint:
325
- "قم بتسجيل الملاحظات المباشرة لهذا الاجتماع من تطبيق سطح المكتب Clips - سيظهر النص وملاحظات الذكاء الاصطناعي هنا تلقائيًا.",
330
+ "لبدء الملاحظات، افتح Clips Desktop من شريط القوائم واختر Start Meeting Notes، أو انقر على Start notes عند ظهور التذكير. يلتقط Clips الميكروفون وصوت النظام ويكتب النص هنا.",
326
331
  getDesktopApp: "احصل على تطبيق سطح المكتب",
327
332
  generateNotesFailed: "تعذر إنشاء الملاحظات. حاول ثانية.",
328
333
  attendee_one: "الحضور {{count}}",
@@ -996,7 +1001,11 @@ const messages = {
996
1001
  inHours: "بعد {{count}} س",
997
1002
  join: "انضمام",
998
1003
  openNotes: "فتح الملاحظات",
999
- open: "فتح",
1004
+ open: "فتح الملاحظات",
1005
+ startFromDesktopNow:
1006
+ "ابدأ الملاحظات المباشرة من تذكير سطح المكتب أو شريط القوائم.",
1007
+ startFromDesktopLater:
1008
+ "سيعرض Clips Desktop زر Start notes عندما يحين الوقت.",
1000
1009
  },
1001
1010
  transcriptBubbles: {
1002
1011
  listening: "يستمع…",
@@ -1427,10 +1436,10 @@ const messages = {
1427
1436
  "Google Calendar needs to be reconnected to keep showing your upcoming meetings. (مترجم)",
1428
1437
  connectGoogleCalendar: "Connect Google Calendar (مترجم)",
1429
1438
  desktopReminder:
1430
- "Get a desktop reminder when meetings start so recorded notes land in this history automatically. (مترجم)",
1439
+ "Connect Google Calendar, keep Clips Desktop open, then click Start notes from the reminder or the menu bar when your meeting begins. (مترجم)",
1431
1440
  getDesktopApp: "Get desktop app (مترجم)",
1432
1441
  requiredForReminders:
1433
- "Required for meeting reminders and transcription. (مترجم)",
1442
+ "Desktop captures mic + system audio for meeting transcription. (مترجم)",
1434
1443
  calendarConnected: "Calendar connected (مترجم)",
1435
1444
  calendarDisconnected: "Calendar disconnected (مترجم)",
1436
1445
  calendarSettings: "Calendar settings (مترجم)",
@@ -1438,14 +1447,27 @@ const messages = {
1438
1447
  "Connect Google Calendar for meeting reminders. (مترجم)",
1439
1448
  disconnectGoogleCalendarTitle: "Disconnect Google Calendar? (مترجم)",
1440
1449
  title: "Meetings (مترجم)",
1441
- intro: "Upcoming calendar meetings and your recorded notes. (مترجم)",
1450
+ intro:
1451
+ "Upcoming calendar meetings and your recorded notes. Start live notes from Clips Desktop at meeting time. (مترجم)",
1442
1452
  searchPlaceholder: "Search meetings... (مترجم)",
1443
1453
  clearSearch: "Clear search (مترجم)",
1444
1454
  noMeetingsYet: "No meetings yet (مترجم)",
1445
1455
  noMeetingsDescription:
1446
- "Upcoming calendar meetings show up here, and finished recordings land here once you take notes. (مترجم)",
1456
+ "Connect your calendar and keep Clips Desktop open. When a meeting starts, use Start notes from the reminder or menu bar. (مترجم)",
1447
1457
  noMeetingsMatch: 'No meetings match "{{query}}" (مترجم)',
1448
1458
  refreshing: "Refreshing… (مترجم)",
1459
+ howToTriggerTitle: "How to trigger meeting notes (مترجم)",
1460
+ howToTriggerDescription:
1461
+ "Meeting notes are the Granola-style flow in Clips: calendar events appear here, the desktop app captures mic and system audio, and the transcript plus AI notes land back in this history. (مترجم)",
1462
+ guideCalendarTitle: "Connect Google Calendar (مترجم)",
1463
+ guideCalendarDescription:
1464
+ "Meetings are pulled from your calendar so Clips knows when to remind you. (مترجم)",
1465
+ guideDesktopTitle: "Keep Clips Desktop open (مترجم)",
1466
+ guideDesktopDescription:
1467
+ "Desktop capture is required for mic plus system-audio transcription. (مترجم)",
1468
+ guideStartTitle: "Click Start notes (مترجم)",
1469
+ guideStartDescription:
1470
+ "Use the desktop reminder or the menu-bar Start Meeting Notes item when the call begins. (مترجم)",
1449
1471
  },
1450
1472
  };
1451
1473
 
@@ -208,6 +208,11 @@ const messages = {
208
208
  edit: "Bearbeiten",
209
209
  aiTools: "KI-Tools",
210
210
  enhanceRecording: "Verbessern Sie diese Aufnahme",
211
+ includeFullVideo: "Vollständiges Video einbeziehen",
212
+ includeFullVideoDescription:
213
+ "Wenn aktiviert, sehen sich KI-Tools die Aufnahme (nur Gemini) für Bildschirmkontext an — nicht nur das Audio-Transkript. Gilt auch für die Standardtitel- und -beschreibungsgenerierung. Erfordert ein Gemini-Modell über Builder oder GEMINI_API_KEY.",
214
+ includeFullVideoOn: "KI-Tools nutzen das vollständige Video (Gemini)",
215
+ includeFullVideoOff: "KI-Tools nutzen nur das Transkript",
211
216
  regenerateTitle: "Titel neu generieren",
212
217
  regenerateDescription: "Beschreibung neu generieren",
213
218
  autoChapters: "Automatische Kapitel",
@@ -339,7 +344,7 @@ const messages = {
339
344
  removing: "Entfernen...",
340
345
  remove: "Entfernen",
341
346
  desktopHint:
342
- "Zeichnen Sie Live-Notizen für dieses Meeting über die Clips-Desktop-App auf das Transkript und die KI-Notizen werden hier automatisch angezeigt.",
347
+ "Um Notizen zu starten, öffnen Sie Clips Desktop über die Menüleiste und wählen Sie Start Meeting Notes, oder klicken Sie auf Start notes, wenn die Erinnerung erscheint. Clips erfasst Mikrofon und Systemaudio und schreibt das Transkript hier.",
343
348
  getDesktopApp: "Holen Sie sich die Desktop-App",
344
349
  generateNotesFailed:
345
350
  "Notizen konnten nicht generiert werden. Versuchen Sie es erneut.",
@@ -1023,7 +1028,11 @@ Alle sichtbaren Änderungen für Clips-Nutzer werden hier dokumentiert. Du kanns
1023
1028
  inHours: "in {{count}} Std.",
1024
1029
  join: "Beitreten",
1025
1030
  openNotes: "Notizen öffnen",
1026
- open: "Öffnen",
1031
+ open: "Notizen öffnen",
1032
+ startFromDesktopNow:
1033
+ "Starten Sie Live-Notizen über die Desktop-Erinnerung oder die Menüleiste.",
1034
+ startFromDesktopLater:
1035
+ "Clips Desktop zeigt Start notes an, wenn es Zeit ist.",
1027
1036
  },
1028
1037
  transcriptBubbles: {
1029
1038
  listening: "Hört zu…",
@@ -1458,10 +1467,10 @@ Alle sichtbaren Änderungen für Clips-Nutzer werden hier dokumentiert. Du kanns
1458
1467
  "Google Calendar needs to be reconnected to keep showing your upcoming meetings. (Lokalisiert)",
1459
1468
  connectGoogleCalendar: "Connect Google Calendar (Lokalisiert)",
1460
1469
  desktopReminder:
1461
- "Get a desktop reminder when meetings start so recorded notes land in this history automatically. (Lokalisiert)",
1470
+ "Connect Google Calendar, keep Clips Desktop open, then click Start notes from the reminder or the menu bar when your meeting begins. (Lokalisiert)",
1462
1471
  getDesktopApp: "Get desktop app (Lokalisiert)",
1463
1472
  requiredForReminders:
1464
- "Required for meeting reminders and transcription. (Lokalisiert)",
1473
+ "Desktop captures mic + system audio for meeting transcription. (Lokalisiert)",
1465
1474
  calendarConnected: "Calendar connected (Lokalisiert)",
1466
1475
  calendarDisconnected: "Calendar disconnected (Lokalisiert)",
1467
1476
  calendarSettings: "Calendar settings (Lokalisiert)",
@@ -1469,14 +1478,27 @@ Alle sichtbaren Änderungen für Clips-Nutzer werden hier dokumentiert. Du kanns
1469
1478
  "Connect Google Calendar for meeting reminders. (Lokalisiert)",
1470
1479
  disconnectGoogleCalendarTitle: "Disconnect Google Calendar? (Lokalisiert)",
1471
1480
  title: "Meetings (Lokalisiert)",
1472
- intro: "Upcoming calendar meetings and your recorded notes. (Lokalisiert)",
1481
+ intro:
1482
+ "Upcoming calendar meetings and your recorded notes. Start live notes from Clips Desktop at meeting time. (Lokalisiert)",
1473
1483
  searchPlaceholder: "Search meetings... (Lokalisiert)",
1474
1484
  clearSearch: "Clear search (Lokalisiert)",
1475
1485
  noMeetingsYet: "No meetings yet (Lokalisiert)",
1476
1486
  noMeetingsDescription:
1477
- "Upcoming calendar meetings show up here, and finished recordings land here once you take notes. (Lokalisiert)",
1487
+ "Connect your calendar and keep Clips Desktop open. When a meeting starts, use Start notes from the reminder or menu bar. (Lokalisiert)",
1478
1488
  noMeetingsMatch: 'No meetings match "{{query}}" (Lokalisiert)',
1479
1489
  refreshing: "Refreshing… (Lokalisiert)",
1490
+ howToTriggerTitle: "How to trigger meeting notes (Lokalisiert)",
1491
+ howToTriggerDescription:
1492
+ "Meeting notes are the Granola-style flow in Clips: calendar events appear here, the desktop app captures mic and system audio, and the transcript plus AI notes land back in this history. (Lokalisiert)",
1493
+ guideCalendarTitle: "Connect Google Calendar (Lokalisiert)",
1494
+ guideCalendarDescription:
1495
+ "Meetings are pulled from your calendar so Clips knows when to remind you. (Lokalisiert)",
1496
+ guideDesktopTitle: "Keep Clips Desktop open (Lokalisiert)",
1497
+ guideDesktopDescription:
1498
+ "Desktop capture is required for mic plus system-audio transcription. (Lokalisiert)",
1499
+ guideStartTitle: "Click Start notes (Lokalisiert)",
1500
+ guideStartDescription:
1501
+ "Use the desktop reminder or the menu-bar Start Meeting Notes item when the call begins. (Lokalisiert)",
1480
1502
  },
1481
1503
  };
1482
1504
 
@@ -199,6 +199,11 @@ const messages = {
199
199
  edit: "Edit",
200
200
  aiTools: "AI tools",
201
201
  enhanceRecording: "Enhance this recording",
202
+ includeFullVideo: "Include full video",
203
+ includeFullVideoDescription:
204
+ "When on, AI tools watch the recording (Gemini only) for on-screen context — not just the audio transcript. Also applies to default title and description generation. Requires a Gemini model via Builder or GEMINI_API_KEY.",
205
+ includeFullVideoOn: "AI tools will use the full video (Gemini)",
206
+ includeFullVideoOff: "AI tools will use the transcript only",
202
207
  regenerateTitle: "Regenerate title",
203
208
  regenerateDescription: "Regenerate description",
204
209
  autoChapters: "Auto chapters",
@@ -324,7 +329,7 @@ const messages = {
324
329
  removing: "Removing...",
325
330
  remove: "Remove",
326
331
  desktopHint:
327
- "Record live notes for this meeting from the Clips desktop app the transcript and AI notes will appear here automatically.",
332
+ "To start notes, open Clips Desktop from the menu bar and choose Start Meeting Notes, or click Start notes when the reminder appears. Clips captures mic + system audio and writes the transcript here.",
328
333
  getDesktopApp: "Get desktop app",
329
334
  generateNotesFailed: "Couldn't generate notes. Try again.",
330
335
  attendee_one: "{{count}} attendee",
@@ -991,7 +996,11 @@ All notable user-facing changes to Clips are documented here. Open it any time f
991
996
  inHours: "in {{count}} hr",
992
997
  join: "Join",
993
998
  openNotes: "Open notes",
994
- open: "Open",
999
+ open: "Open notes",
1000
+ startFromDesktopNow:
1001
+ "Start live notes from the desktop reminder or menu bar.",
1002
+ startFromDesktopLater:
1003
+ "Clips Desktop will show Start notes when it is time.",
995
1004
  },
996
1005
  transcriptBubbles: {
997
1006
  listening: "Listening…",
@@ -1417,23 +1426,37 @@ All notable user-facing changes to Clips are documented here. Open it any time f
1417
1426
  "Google Calendar needs to be reconnected to keep showing your upcoming meetings.",
1418
1427
  connectGoogleCalendar: "Connect Google Calendar",
1419
1428
  desktopReminder:
1420
- "Get a desktop reminder when meetings start so recorded notes land in this history automatically.",
1429
+ "Connect Google Calendar, keep Clips Desktop open, then click Start notes from the reminder or the menu bar when your meeting begins.",
1421
1430
  getDesktopApp: "Get desktop app",
1422
- requiredForReminders: "Required for meeting reminders and transcription.",
1431
+ requiredForReminders:
1432
+ "Desktop captures mic + system audio for meeting transcription.",
1423
1433
  calendarConnected: "Calendar connected",
1424
1434
  calendarDisconnected: "Calendar disconnected",
1425
1435
  calendarSettings: "Calendar settings",
1426
1436
  connectCalendarReminder: "Connect Google Calendar for meeting reminders.",
1427
1437
  disconnectGoogleCalendarTitle: "Disconnect Google Calendar?",
1428
1438
  title: "Meetings",
1429
- intro: "Upcoming calendar meetings and your recorded notes.",
1439
+ intro:
1440
+ "Upcoming calendar meetings and your recorded notes. Start live notes from Clips Desktop at meeting time.",
1430
1441
  searchPlaceholder: "Search meetings...",
1431
1442
  clearSearch: "Clear search",
1432
1443
  noMeetingsYet: "No meetings yet",
1433
1444
  noMeetingsDescription:
1434
- "Upcoming calendar meetings show up here, and finished recordings land here once you take notes.",
1445
+ "Connect your calendar and keep Clips Desktop open. When a meeting starts, use Start notes from the reminder or menu bar.",
1435
1446
  noMeetingsMatch: 'No meetings match "{{query}}"',
1436
1447
  refreshing: "Refreshing…",
1448
+ howToTriggerTitle: "How to trigger meeting notes",
1449
+ howToTriggerDescription:
1450
+ "Meeting notes are the Granola-style flow in Clips: calendar events appear here, the desktop app captures mic and system audio, and the transcript plus AI notes land back in this history.",
1451
+ guideCalendarTitle: "Connect Google Calendar",
1452
+ guideCalendarDescription:
1453
+ "Meetings are pulled from your calendar so Clips knows when to remind you.",
1454
+ guideDesktopTitle: "Keep Clips Desktop open",
1455
+ guideDesktopDescription:
1456
+ "Desktop capture is required for mic plus system-audio transcription.",
1457
+ guideStartTitle: "Click Start notes",
1458
+ guideStartDescription:
1459
+ "Use the desktop reminder or the menu-bar Start Meeting Notes item when the call begins.",
1437
1460
  },
1438
1461
  };
1439
1462
 
@@ -206,6 +206,12 @@ const messages = {
206
206
  edit: "Editar",
207
207
  aiTools: "herramientas de inteligencia artificial",
208
208
  enhanceRecording: "Mejorar esta grabación",
209
+ includeFullVideo: "Incluir el video completo",
210
+ includeFullVideoDescription:
211
+ "Cuando está activado, las herramientas de IA miran la grabación (solo Gemini) para el contexto en pantalla, no solo la transcripción de audio. También se aplica a la generación predeterminada del título y la descripción. Requiere un modelo Gemini vía Builder o GEMINI_API_KEY.",
212
+ includeFullVideoOn:
213
+ "Las herramientas de IA usarán el video completo (Gemini)",
214
+ includeFullVideoOff: "Las herramientas de IA usarán solo la transcripción",
209
215
  regenerateTitle: "Regenerar título",
210
216
  regenerateDescription: "Regenerar descripción",
211
217
  autoChapters: "capítulos automáticos",
@@ -334,7 +340,7 @@ const messages = {
334
340
  removing: "Eliminando...",
335
341
  remove: "Eliminar",
336
342
  desktopHint:
337
- "Grabe notas en vivo para esta reunión desde la aplicación de escritorio Clips: la transcripción y las notas de IA aparecerán aquí automáticamente.",
343
+ "Para iniciar notas, abre Clips Desktop desde la barra de menús y elige Start Meeting Notes, o haz clic en Start notes cuando aparezca el recordatorio. Clips captura micrófono y audio del sistema, y escribe la transcripción aquí.",
338
344
  getDesktopApp: "Obtener aplicación de escritorio",
339
345
  generateNotesFailed: "No se pudieron generar notas. Intentar otra vez.",
340
346
  attendee_one: "asistente {{count}}",
@@ -1014,7 +1020,11 @@ Todos los cambios visibles para los usuarios de Clips se documentan aquí. Puede
1014
1020
  inHours: "en {{count}} h",
1015
1021
  join: "Unirse",
1016
1022
  openNotes: "Abrir notas",
1017
- open: "Abrir",
1023
+ open: "Abrir notas",
1024
+ startFromDesktopNow:
1025
+ "Inicia notas en vivo desde el recordatorio de escritorio o la barra de menús.",
1026
+ startFromDesktopLater:
1027
+ "Clips Desktop mostrará Start notes cuando sea la hora.",
1018
1028
  },
1019
1029
  transcriptBubbles: {
1020
1030
  listening: "Escuchando…",
@@ -1449,10 +1459,10 @@ Todos los cambios visibles para los usuarios de Clips se documentan aquí. Puede
1449
1459
  "Google Calendar needs to be reconnected to keep showing your upcoming meetings. (Localizado)",
1450
1460
  connectGoogleCalendar: "Connect Google Calendar (Localizado)",
1451
1461
  desktopReminder:
1452
- "Get a desktop reminder when meetings start so recorded notes land in this history automatically. (Localizado)",
1462
+ "Connect Google Calendar, keep Clips Desktop open, then click Start notes from the reminder or the menu bar when your meeting begins. (Localizado)",
1453
1463
  getDesktopApp: "Get desktop app (Localizado)",
1454
1464
  requiredForReminders:
1455
- "Required for meeting reminders and transcription. (Localizado)",
1465
+ "Desktop captures mic + system audio for meeting transcription. (Localizado)",
1456
1466
  calendarConnected: "Calendar connected (Localizado)",
1457
1467
  calendarDisconnected: "Calendar disconnected (Localizado)",
1458
1468
  calendarSettings: "Calendar settings (Localizado)",
@@ -1460,14 +1470,27 @@ Todos los cambios visibles para los usuarios de Clips se documentan aquí. Puede
1460
1470
  "Connect Google Calendar for meeting reminders. (Localizado)",
1461
1471
  disconnectGoogleCalendarTitle: "Disconnect Google Calendar? (Localizado)",
1462
1472
  title: "Meetings (Localizado)",
1463
- intro: "Upcoming calendar meetings and your recorded notes. (Localizado)",
1473
+ intro:
1474
+ "Upcoming calendar meetings and your recorded notes. Start live notes from Clips Desktop at meeting time. (Localizado)",
1464
1475
  searchPlaceholder: "Search meetings... (Localizado)",
1465
1476
  clearSearch: "Clear search (Localizado)",
1466
1477
  noMeetingsYet: "No meetings yet (Localizado)",
1467
1478
  noMeetingsDescription:
1468
- "Upcoming calendar meetings show up here, and finished recordings land here once you take notes. (Localizado)",
1479
+ "Connect your calendar and keep Clips Desktop open. When a meeting starts, use Start notes from the reminder or menu bar. (Localizado)",
1469
1480
  noMeetingsMatch: 'No meetings match "{{query}}" (Localizado)',
1470
1481
  refreshing: "Refreshing… (Localizado)",
1482
+ howToTriggerTitle: "How to trigger meeting notes (Localizado)",
1483
+ howToTriggerDescription:
1484
+ "Meeting notes are the Granola-style flow in Clips: calendar events appear here, the desktop app captures mic and system audio, and the transcript plus AI notes land back in this history. (Localizado)",
1485
+ guideCalendarTitle: "Connect Google Calendar (Localizado)",
1486
+ guideCalendarDescription:
1487
+ "Meetings are pulled from your calendar so Clips knows when to remind you. (Localizado)",
1488
+ guideDesktopTitle: "Keep Clips Desktop open (Localizado)",
1489
+ guideDesktopDescription:
1490
+ "Desktop capture is required for mic plus system-audio transcription. (Localizado)",
1491
+ guideStartTitle: "Click Start notes (Localizado)",
1492
+ guideStartDescription:
1493
+ "Use the desktop reminder or the menu-bar Start Meeting Notes item when the call begins. (Localizado)",
1471
1494
  },
1472
1495
  };
1473
1496
 
@@ -205,6 +205,13 @@ const messages = {
205
205
  edit: "Modifier",
206
206
  aiTools: "Outils d'IA",
207
207
  enhanceRecording: "Améliorer cet enregistrement",
208
+ includeFullVideo: "Inclure la vidéo complète",
209
+ includeFullVideoDescription:
210
+ "Lorsque c'est activé, les outils d'IA regardent l'enregistrement (Gemini uniquement) pour le contexte à l'écran — pas seulement la transcription audio. S'applique aussi à la génération par défaut du titre et de la description. Nécessite un modèle Gemini via Builder ou GEMINI_API_KEY.",
211
+ includeFullVideoOn:
212
+ "Les outils d'IA utiliseront la vidéo complète (Gemini)",
213
+ includeFullVideoOff:
214
+ "Les outils d'IA utiliseront uniquement la transcription",
208
215
  regenerateTitle: "Régénérer le titre",
209
216
  regenerateDescription: "Régénérer la description",
210
217
  autoChapters: "Chapitres automatiques",
@@ -334,7 +341,7 @@ const messages = {
334
341
  removing: "Suppression...",
335
342
  remove: "Retirer",
336
343
  desktopHint:
337
- "Enregistrez des notes en direct pour cette réunion à partir de l'application de bureau Clips la transcription et les notes AI apparaîtront ici automatiquement.",
344
+ "Pour démarrer les notes, ouvrez Clips Desktop dans la barre de menus et choisissez Start Meeting Notes, ou cliquez sur Start notes lorsque le rappel apparaît. Clips capture le micro et l'audio système, puis écrit la transcription ici.",
338
345
  getDesktopApp: "Obtenir l'application de bureau",
339
346
  generateNotesFailed: "Impossible de générer des notes. Essayer à nouveau.",
340
347
  attendee_one: "participant {{count}}",
@@ -1016,7 +1023,11 @@ Tous les changements visibles par les utilisateurs de Clips sont documentés ici
1016
1023
  inHours: "dans {{count}} h",
1017
1024
  join: "Rejoindre",
1018
1025
  openNotes: "Ouvrir les notes",
1019
- open: "Ouvrir",
1026
+ open: "Ouvrir les notes",
1027
+ startFromDesktopNow:
1028
+ "Démarrez les notes en direct depuis le rappel bureau ou la barre de menus.",
1029
+ startFromDesktopLater:
1030
+ "Clips Desktop affichera Start notes au moment voulu.",
1020
1031
  },
1021
1032
  transcriptBubbles: {
1022
1033
  listening: "Écoute…",
@@ -1451,10 +1462,10 @@ Tous les changements visibles par les utilisateurs de Clips sont documentés ici
1451
1462
  "Google Calendar needs to be reconnected to keep showing your upcoming meetings. (Localisé)",
1452
1463
  connectGoogleCalendar: "Connect Google Calendar (Localisé)",
1453
1464
  desktopReminder:
1454
- "Get a desktop reminder when meetings start so recorded notes land in this history automatically. (Localisé)",
1465
+ "Connect Google Calendar, keep Clips Desktop open, then click Start notes from the reminder or the menu bar when your meeting begins. (Localisé)",
1455
1466
  getDesktopApp: "Get desktop app (Localisé)",
1456
1467
  requiredForReminders:
1457
- "Required for meeting reminders and transcription. (Localisé)",
1468
+ "Desktop captures mic + system audio for meeting transcription. (Localisé)",
1458
1469
  calendarConnected: "Calendar connected (Localisé)",
1459
1470
  calendarDisconnected: "Calendar disconnected (Localisé)",
1460
1471
  calendarSettings: "Calendar settings (Localisé)",
@@ -1462,14 +1473,27 @@ Tous les changements visibles par les utilisateurs de Clips sont documentés ici
1462
1473
  "Connect Google Calendar for meeting reminders. (Localisé)",
1463
1474
  disconnectGoogleCalendarTitle: "Disconnect Google Calendar? (Localisé)",
1464
1475
  title: "Meetings (Localisé)",
1465
- intro: "Upcoming calendar meetings and your recorded notes. (Localisé)",
1476
+ intro:
1477
+ "Upcoming calendar meetings and your recorded notes. Start live notes from Clips Desktop at meeting time. (Localisé)",
1466
1478
  searchPlaceholder: "Search meetings... (Localisé)",
1467
1479
  clearSearch: "Clear search (Localisé)",
1468
1480
  noMeetingsYet: "No meetings yet (Localisé)",
1469
1481
  noMeetingsDescription:
1470
- "Upcoming calendar meetings show up here, and finished recordings land here once you take notes. (Localisé)",
1482
+ "Connect your calendar and keep Clips Desktop open. When a meeting starts, use Start notes from the reminder or menu bar. (Localisé)",
1471
1483
  noMeetingsMatch: 'No meetings match "{{query}}" (Localisé)',
1472
1484
  refreshing: "Refreshing… (Localisé)",
1485
+ howToTriggerTitle: "How to trigger meeting notes (Localisé)",
1486
+ howToTriggerDescription:
1487
+ "Meeting notes are the Granola-style flow in Clips: calendar events appear here, the desktop app captures mic and system audio, and the transcript plus AI notes land back in this history. (Localisé)",
1488
+ guideCalendarTitle: "Connect Google Calendar (Localisé)",
1489
+ guideCalendarDescription:
1490
+ "Meetings are pulled from your calendar so Clips knows when to remind you. (Localisé)",
1491
+ guideDesktopTitle: "Keep Clips Desktop open (Localisé)",
1492
+ guideDesktopDescription:
1493
+ "Desktop capture is required for mic plus system-audio transcription. (Localisé)",
1494
+ guideStartTitle: "Click Start notes (Localisé)",
1495
+ guideStartDescription:
1496
+ "Use the desktop reminder or the menu-bar Start Meeting Notes item when the call begins. (Localisé)",
1473
1497
  },
1474
1498
  };
1475
1499
 
@@ -197,6 +197,11 @@ const messages = {
197
197
  edit: "संपादित करें",
198
198
  aiTools: "एआई उपकरण",
199
199
  enhanceRecording: "इस रिकॉर्डिंग को बेहतर बनाएं",
200
+ includeFullVideo: "पूरी वीडियो शामिल करें",
201
+ includeFullVideoDescription:
202
+ "चालू होने पर, AI टूल रिकॉर्डिंग देखते हैं (केवल Gemini) ऑन-स्क्रीन संदर्भ के लिए — केवल ऑडियो ट्रांसक्रिप्ट नहीं। यह डिफ़ॉल्ट शीर्षक और विवरण जनरेशन पर भी लागू होता है। Builder या GEMINI_API_KEY के ज़रिए Gemini मॉडल आवश्यक है।",
203
+ includeFullVideoOn: "AI टूल पूरी वीडियो का उपयोग करेंगे (Gemini)",
204
+ includeFullVideoOff: "AI टूल केवल ट्रांसक्रिप्ट का उपयोग करेंगे",
200
205
  regenerateTitle: "शीर्षक पुन: उत्पन्न करें",
201
206
  regenerateDescription: "विवरण पुनर्जीवित करें",
202
207
  autoChapters: "ऑटो अध्याय",
@@ -322,7 +327,7 @@ const messages = {
322
327
  removing: "हटाया जा रहा है...",
323
328
  remove: "निकालना",
324
329
  desktopHint:
325
- "Clips डेस्कटॉप ऐप से इस मीटिंग के लिए लाइव नोट्स रिकॉर्ड करें - ट्रांसक्रिप्ट और एआई नोट्स स्वचालित रूप से यहां दिखाई देंगे।",
330
+ "नोट्स शुरू करने के लिए, मेनू बार से Clips Desktop खोलें और Start Meeting Notes चुनें, या रिमाइंडर आने पर Start notes पर क्लिक करें। Clips माइक्रोफ़ोन और सिस्टम ऑडियो कैप्चर करके यहां ट्रांसक्रिप्ट लिखता है।",
326
331
  getDesktopApp: "डेस्कटॉप ऐप प्राप्त करें",
327
332
  generateNotesFailed: "नोट जनरेट नहीं किए जा सके. पुनः प्रयास करें।",
328
333
  attendee_one: "{{count}} सहभागी",
@@ -985,7 +990,9 @@ Clips में उपयोगकर्ताओं को दिखने व
985
990
  inHours: "{{count}} घंटे में",
986
991
  join: "जुड़ें",
987
992
  openNotes: "नोट्स खोलें",
988
- open: "खोलें",
993
+ open: "नोट्स खोलें",
994
+ startFromDesktopNow: "डेस्कटॉप रिमाइंडर या मेनू बार से लाइव नोट्स शुरू करें।",
995
+ startFromDesktopLater: "समय होने पर Clips Desktop Start notes दिखाएगा।",
989
996
  },
990
997
  transcriptBubbles: {
991
998
  listening: "सुन रहा है…",
@@ -1418,10 +1425,10 @@ Clips में उपयोगकर्ताओं को दिखने व
1418
1425
  "Google Calendar needs to be reconnected to keep showing your upcoming meetings. (स्थानीयकृत)",
1419
1426
  connectGoogleCalendar: "Connect Google Calendar (स्थानीयकृत)",
1420
1427
  desktopReminder:
1421
- "Get a desktop reminder when meetings start so recorded notes land in this history automatically. (स्थानीयकृत)",
1428
+ "Connect Google Calendar, keep Clips Desktop open, then click Start notes from the reminder or the menu bar when your meeting begins. (स्थानीयकृत)",
1422
1429
  getDesktopApp: "Get desktop app (स्थानीयकृत)",
1423
1430
  requiredForReminders:
1424
- "Required for meeting reminders and transcription. (स्थानीयकृत)",
1431
+ "Desktop captures mic + system audio for meeting transcription. (स्थानीयकृत)",
1425
1432
  calendarConnected: "Calendar connected (स्थानीयकृत)",
1426
1433
  calendarDisconnected: "Calendar disconnected (स्थानीयकृत)",
1427
1434
  calendarSettings: "Calendar settings (स्थानीयकृत)",
@@ -1429,14 +1436,27 @@ Clips में उपयोगकर्ताओं को दिखने व
1429
1436
  "Connect Google Calendar for meeting reminders. (स्थानीयकृत)",
1430
1437
  disconnectGoogleCalendarTitle: "Disconnect Google Calendar? (स्थानीयकृत)",
1431
1438
  title: "Meetings (स्थानीयकृत)",
1432
- intro: "Upcoming calendar meetings and your recorded notes. (स्थानीयकृत)",
1439
+ intro:
1440
+ "Upcoming calendar meetings and your recorded notes. Start live notes from Clips Desktop at meeting time. (स्थानीयकृत)",
1433
1441
  searchPlaceholder: "Search meetings... (स्थानीयकृत)",
1434
1442
  clearSearch: "Clear search (स्थानीयकृत)",
1435
1443
  noMeetingsYet: "No meetings yet (स्थानीयकृत)",
1436
1444
  noMeetingsDescription:
1437
- "Upcoming calendar meetings show up here, and finished recordings land here once you take notes. (स्थानीयकृत)",
1445
+ "Connect your calendar and keep Clips Desktop open. When a meeting starts, use Start notes from the reminder or menu bar. (स्थानीयकृत)",
1438
1446
  noMeetingsMatch: 'No meetings match "{{query}}" (स्थानीयकृत)',
1439
1447
  refreshing: "Refreshing… (स्थानीयकृत)",
1448
+ howToTriggerTitle: "How to trigger meeting notes (स्थानीयकृत)",
1449
+ howToTriggerDescription:
1450
+ "Meeting notes are the Granola-style flow in Clips: calendar events appear here, the desktop app captures mic and system audio, and the transcript plus AI notes land back in this history. (स्थानीयकृत)",
1451
+ guideCalendarTitle: "Connect Google Calendar (स्थानीयकृत)",
1452
+ guideCalendarDescription:
1453
+ "Meetings are pulled from your calendar so Clips knows when to remind you. (स्थानीयकृत)",
1454
+ guideDesktopTitle: "Keep Clips Desktop open (स्थानीयकृत)",
1455
+ guideDesktopDescription:
1456
+ "Desktop capture is required for mic plus system-audio transcription. (स्थानीयकृत)",
1457
+ guideStartTitle: "Click Start notes (स्थानीयकृत)",
1458
+ guideStartDescription:
1459
+ "Use the desktop reminder or the menu-bar Start Meeting Notes item when the call begins. (स्थानीयकृत)",
1440
1460
  },
1441
1461
  };
1442
1462