@agent-native/core 0.91.1 → 0.91.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/blueprints/action/crud.md +1 -1
- package/blueprints/channel/discord.md +1 -1
- package/blueprints/provider/stripe.md +1 -1
- package/blueprints/sandbox/docker.md +1 -1
- package/corpus/README.md +1 -1
- package/corpus/core/CHANGELOG.md +14 -0
- package/corpus/core/blueprints/action/crud.md +1 -1
- package/corpus/core/blueprints/channel/discord.md +1 -1
- package/corpus/core/blueprints/provider/stripe.md +1 -1
- package/corpus/core/blueprints/sandbox/docker.md +1 -1
- package/corpus/core/package.json +6 -5
- package/corpus/core/src/agent/run-manager.ts +23 -2
- package/corpus/core/src/agent/run-store.ts +2 -2
- package/corpus/core/src/cli/add.ts +1 -1
- package/corpus/core/src/cli/create.ts +8 -3
- package/corpus/core/src/cli/index.ts +5 -4
- package/corpus/core/src/client/extensions/ExtensionSlot.tsx +7 -0
- package/corpus/core/src/client/session-replay.ts +97 -3
- package/corpus/core/src/jobs/scheduler.ts +30 -1
- package/corpus/core/src/localization/default-messages.ts +21 -0
- package/corpus/core/src/templates/default/app/i18n/ar-SA.ts +21 -0
- package/corpus/core/src/templates/default/app/i18n/de-DE.ts +21 -0
- package/corpus/core/src/templates/default/app/i18n/en-US.ts +21 -0
- package/corpus/core/src/templates/default/app/i18n/es-ES.ts +21 -0
- package/corpus/core/src/templates/default/app/i18n/fr-FR.ts +21 -0
- package/corpus/core/src/templates/default/app/i18n/hi-IN.ts +20 -0
- package/corpus/core/src/templates/default/app/i18n/ja-JP.ts +21 -0
- package/corpus/core/src/templates/default/app/i18n/ko-KR.ts +20 -0
- package/corpus/core/src/templates/default/app/i18n/pt-BR.ts +21 -0
- package/corpus/core/src/templates/default/app/i18n/zh-CN.ts +20 -0
- package/corpus/core/src/templates/default/app/i18n/zh-TW.ts +19 -0
- package/corpus/core/src/templates/default/package.json +2 -2
- package/corpus/core/src/templates/headless/package.json +3 -3
- package/corpus/core/src/templates/workspace-core/package.json +6 -6
- package/corpus/core/src/templates/workspace-root/package.json +2 -2
- package/corpus/core/src/triggers/dispatcher.ts +30 -2
- package/corpus/core/src/vite/client.ts +96 -1
- package/corpus/templates/analytics/.agents/skills/session-replay/SKILL.md +21 -2
- package/corpus/templates/analytics/app/global.css +26 -10
- package/corpus/templates/analytics/app/i18n/zh-TW.ts +2 -0
- package/corpus/templates/analytics/app/i18n-data.ts +25 -0
- package/corpus/templates/analytics/app/pages/sessions/SessionDetailPage.tsx +548 -237
- package/corpus/templates/analytics/app/pages/sessions/SessionDevToolsPanel.tsx +285 -294
- package/corpus/templates/analytics/changelog/2026-07-08-console-details-expand-inline-under-each-row-and-the-event-t.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-08-session-replay-clamps-ultra-wide-viewports-while-keeping-the.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-08-session-replay-keeps-a-usable-stage-when-dev-tools-is-open-a.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-08-session-replay-resumes-after-scrubbing-and-expands-console-r.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-08-session-replays-wait-for-full-load-keep-a-normal-viewport-an.md +6 -0
- package/corpus/templates/analytics/package.json +2 -2
- package/corpus/templates/assets/package.json +2 -2
- package/corpus/templates/brain/package.json +2 -2
- package/corpus/templates/calendar/AGENTS.md +10 -0
- package/corpus/templates/calendar/actions/create-event.ts +5 -1
- package/corpus/templates/calendar/actions/event-action-helpers.ts +41 -0
- package/corpus/templates/calendar/actions/get-attendee-timezones.ts +28 -0
- package/corpus/templates/calendar/actions/set-attendee-timezone.ts +68 -0
- package/corpus/templates/calendar/app/components/calendar/EventAttendeesSection.tsx +150 -11
- package/corpus/templates/calendar/app/components/calendar/EventDetailPanel.tsx +36 -1
- package/corpus/templates/calendar/app/components/calendar/EventDetailPopover.tsx +32 -0
- package/corpus/templates/calendar/app/hooks/use-attendee-timezones.ts +24 -0
- package/corpus/templates/calendar/app/i18n/zh-TW.ts +2 -0
- package/corpus/templates/calendar/app/i18n-data.ts +20 -0
- package/corpus/templates/calendar/app/lib/attendee-local-time.ts +122 -0
- package/corpus/templates/calendar/changelog/2026-07-08-event-details-now-support-extension-widgets-and-you-can-see-.md +6 -0
- package/corpus/templates/calendar/changelog/2026-07-08-when-you-invite-guests-to-a-new-event-you-now-appear-in.md +6 -0
- package/corpus/templates/calendar/package.json +2 -2
- package/corpus/templates/calendar/server/handlers/events.ts +5 -1
- package/corpus/templates/calendar/shared/api.ts +6 -0
- package/corpus/templates/chat/package.json +2 -2
- package/corpus/templates/clips/.agents/skills/meetings/SKILL.md +6 -2
- package/corpus/templates/clips/actions/create-meeting.ts +8 -3
- package/corpus/templates/clips/actions/list-meetings.ts +31 -3
- package/corpus/templates/clips/changelog/2026-07-08-after-finishing-a-desktop-recording-reopening-clips-restor.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-08-clips-now-pops-up-to-take-notes-when-you-join-an-adhoc-zoom-.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-08-desktop-clip-recordings-are-louder-after-capture-mic-only.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-08-meeting-reminders-now-appear-1-minute-before-start-stay-unti.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-08-the-desktop-meetings-panel-has-room-for-its-drop-shadow-and-.md +6 -0
- package/corpus/templates/clips/chrome-extension/package.json +2 -2
- package/corpus/templates/clips/desktop/package.json +2 -2
- package/corpus/templates/clips/desktop/src/app.tsx +91 -34
- package/corpus/templates/clips/desktop/src/hooks/useMeetingTranscription.ts +15 -5
- package/corpus/templates/clips/desktop/src/lib/meeting-notification-timing.ts +83 -0
- package/corpus/templates/clips/desktop/src/lib/native-recording-warm.ts +21 -0
- package/corpus/templates/clips/desktop/src/lib/recorder.ts +98 -20
- package/corpus/templates/clips/desktop/src/overlays/meeting-notification.tsx +174 -50
- package/corpus/templates/clips/desktop/src/styles.css +128 -53
- package/corpus/templates/clips/desktop/src-tauri/src/adhoc_meetings_watcher.rs +364 -0
- package/corpus/templates/clips/desktop/src-tauri/src/clips/mod.rs +1 -1
- package/corpus/templates/clips/desktop/src-tauri/src/lib.rs +5 -0
- package/corpus/templates/clips/desktop/src-tauri/src/meetings_watcher.rs +91 -11
- package/corpus/templates/clips/desktop/src-tauri/src/native_screen.rs +69 -19
- package/corpus/templates/clips/desktop/src-tauri/src/native_speech.rs +36 -1
- package/corpus/templates/clips/desktop/src-tauri/src/notifications.rs +62 -10
- package/corpus/templates/clips/desktop/src-tauri/src/silence_detector.rs +1 -24
- package/corpus/templates/clips/desktop/src-tauri/src/util.rs +36 -1
- package/corpus/templates/clips/package.json +2 -2
- package/corpus/templates/content/actions/_content-database-personal-view.ts +80 -0
- package/corpus/templates/content/actions/get-content-database-personal-view.ts +27 -0
- package/corpus/templates/content/actions/update-content-database-personal-view.ts +31 -0
- package/corpus/templates/content/actions/update-content-database-view.ts +3 -0
- package/corpus/templates/content/app/components/editor/DocumentProperties.tsx +1 -1
- package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +2584 -546
- package/corpus/templates/content/app/components/editor/database/filter-sort.ts +220 -18
- package/corpus/templates/content/app/hooks/use-content-database.ts +32 -0
- package/corpus/templates/content/app/i18n/zh-TW.ts +16 -0
- package/corpus/templates/content/app/i18n-data.ts +154 -0
- package/corpus/templates/content/changelog/2026-07-08-database-filters-now-support-notion-style-reset-save-for-eve.md +6 -0
- package/corpus/templates/content/changelog/2026-07-08-date-filters-can-now-target-a-between-range.md +6 -0
- package/corpus/templates/content/package.json +2 -2
- package/corpus/templates/content/parity/matrix.md +1 -1
- package/corpus/templates/content/parity/matrix.ts +2 -0
- package/corpus/templates/content/shared/api.ts +24 -0
- package/corpus/templates/design/package.json +2 -2
- package/corpus/templates/dispatch/app/i18n/zh-TW.ts +34 -1
- package/corpus/templates/dispatch/app/i18n-data.ts +387 -10
- package/corpus/templates/dispatch/app/routes/automations.tsx +1 -0
- package/corpus/templates/dispatch/changelog/2026-07-08-added-an-automations-page-to-review-pause-and-create.md +6 -0
- package/corpus/templates/dispatch/changelog/2026-07-08-destinations-now-shows-outbound-delivery-queue-health.md +6 -0
- package/corpus/templates/dispatch/package.json +2 -2
- package/corpus/templates/forms/package.json +2 -2
- package/corpus/templates/macros/package.json +2 -2
- package/corpus/templates/mail/app/hooks/use-emails.ts +56 -44
- package/corpus/templates/mail/app/lib/gmail-mutation-queue.ts +325 -0
- package/corpus/templates/mail/changelog/2026-07-08-rapid-archive-and-mark-read-now-batch-gmail-updates-so-the-i.md +6 -0
- package/corpus/templates/mail/package.json +2 -2
- package/corpus/templates/plan/package.json +2 -2
- package/corpus/templates/slides/app/components/editor/ImageDropPromptPopover.tsx +46 -29
- package/corpus/templates/slides/app/context/DeckContext.tsx +45 -18
- package/corpus/templates/slides/app/i18n/ar-SA.ts +4 -0
- package/corpus/templates/slides/app/i18n/de-DE.ts +4 -0
- package/corpus/templates/slides/app/i18n/en-US.ts +4 -0
- package/corpus/templates/slides/app/i18n/es-ES.ts +4 -0
- package/corpus/templates/slides/app/i18n/fr-FR.ts +4 -0
- package/corpus/templates/slides/app/i18n/hi-IN.ts +4 -0
- package/corpus/templates/slides/app/i18n/ja-JP.ts +4 -0
- package/corpus/templates/slides/app/i18n/ko-KR.ts +4 -0
- package/corpus/templates/slides/app/i18n/pt-BR.ts +4 -0
- package/corpus/templates/slides/app/i18n/zh-CN.ts +4 -0
- package/corpus/templates/slides/app/i18n/zh-TW.ts +4 -0
- package/corpus/templates/slides/app/lib/image-drop-to-agent.ts +115 -0
- package/corpus/templates/slides/app/pages/DeckEditor.tsx +22 -13
- package/corpus/templates/slides/changelog/2026-07-08-dropping-an-image-onto-a-slide-and-sending-it-to-the-agent-w.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-08-undo-works-after-the-agent-edits-a-slide-so-you-can-reverse.md +6 -0
- package/corpus/templates/slides/package.json +2 -2
- package/dist/agent/run-manager.d.ts.map +1 -1
- package/dist/agent/run-manager.js +23 -2
- package/dist/agent/run-manager.js.map +1 -1
- package/dist/agent/run-store.js +2 -2
- package/dist/agent/run-store.js.map +1 -1
- package/dist/catalog.json +2 -2
- package/dist/cli/add.js +1 -1
- package/dist/cli/add.js.map +1 -1
- package/dist/cli/create.d.ts.map +1 -1
- package/dist/cli/create.js +8 -3
- package/dist/cli/create.js.map +1 -1
- package/dist/cli/index.js +5 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/client/extensions/ExtensionSlot.js +6 -0
- package/dist/client/extensions/ExtensionSlot.js.map +1 -1
- package/dist/client/session-replay.d.ts +8 -0
- package/dist/client/session-replay.d.ts.map +1 -1
- package/dist/client/session-replay.js +80 -3
- package/dist/client/session-replay.js.map +1 -1
- package/dist/collab/struct-routes.d.ts +1 -1
- package/dist/file-upload/actions/upload-image.d.ts +1 -1
- package/dist/jobs/scheduler.js +26 -1
- package/dist/jobs/scheduler.js.map +1 -1
- package/dist/localization/default-messages.d.ts +19 -0
- package/dist/localization/default-messages.d.ts.map +1 -1
- package/dist/localization/default-messages.js +19 -0
- package/dist/localization/default-messages.js.map +1 -1
- package/dist/provider-api/corpus-jobs.d.ts +2 -2
- package/dist/resources/handlers.d.ts +2 -2
- package/dist/templates/default/app/i18n/ar-SA.ts +21 -0
- package/dist/templates/default/app/i18n/de-DE.ts +21 -0
- package/dist/templates/default/app/i18n/en-US.ts +21 -0
- package/dist/templates/default/app/i18n/es-ES.ts +21 -0
- package/dist/templates/default/app/i18n/fr-FR.ts +21 -0
- package/dist/templates/default/app/i18n/hi-IN.ts +20 -0
- package/dist/templates/default/app/i18n/ja-JP.ts +21 -0
- package/dist/templates/default/app/i18n/ko-KR.ts +20 -0
- package/dist/templates/default/app/i18n/pt-BR.ts +21 -0
- package/dist/templates/default/app/i18n/zh-CN.ts +20 -0
- package/dist/templates/default/app/i18n/zh-TW.ts +19 -0
- package/dist/templates/default/package.json +2 -2
- package/dist/templates/headless/package.json +3 -3
- package/dist/templates/workspace-core/package.json +6 -6
- package/dist/templates/workspace-root/package.json +2 -2
- package/dist/triggers/dispatcher.js +27 -2
- package/dist/triggers/dispatcher.js.map +1 -1
- package/dist/vite/client.d.ts.map +1 -1
- package/dist/vite/client.js +70 -1
- package/dist/vite/client.js.map +1 -1
- package/package.json +7 -6
- package/src/templates/default/app/i18n/ar-SA.ts +21 -0
- package/src/templates/default/app/i18n/de-DE.ts +21 -0
- package/src/templates/default/app/i18n/en-US.ts +21 -0
- package/src/templates/default/app/i18n/es-ES.ts +21 -0
- package/src/templates/default/app/i18n/fr-FR.ts +21 -0
- package/src/templates/default/app/i18n/hi-IN.ts +20 -0
- package/src/templates/default/app/i18n/ja-JP.ts +21 -0
- package/src/templates/default/app/i18n/ko-KR.ts +20 -0
- package/src/templates/default/app/i18n/pt-BR.ts +21 -0
- package/src/templates/default/app/i18n/zh-CN.ts +20 -0
- package/src/templates/default/app/i18n/zh-TW.ts +19 -0
- package/src/templates/default/package.json +2 -2
- package/src/templates/headless/package.json +3 -3
- package/src/templates/workspace-core/package.json +6 -6
- package/src/templates/workspace-root/package.json +2 -2
|
@@ -41,6 +41,8 @@ const messages = {
|
|
|
41
41
|
destinations: "Destinations",
|
|
42
42
|
identities: "Identities",
|
|
43
43
|
approvals: "الموافقات",
|
|
44
|
+
automations: "الأتمتة",
|
|
45
|
+
delivery: "التسليم",
|
|
44
46
|
audit: "Audit",
|
|
45
47
|
dreams: "Dreams",
|
|
46
48
|
threadDebug: "تصحيح الموضوع",
|
|
@@ -159,6 +161,22 @@ const messages = {
|
|
|
159
161
|
activeUsers: "المستخدمين النشطين",
|
|
160
162
|
workspaceAppsStat: "تطبيقات مساحة العمل",
|
|
161
163
|
chatThreads: "مواضيع الدردشة",
|
|
164
|
+
also: "أيضًا",
|
|
165
|
+
workspaceShortcutsAria: "اختصارات مساحة العمل",
|
|
166
|
+
deliveryQueue: "قائمة انتظار التسليم",
|
|
167
|
+
failedLastHour: "{{count}} فشل خلال الساعة الماضية",
|
|
168
|
+
processingCount: "{{count}} قيد المعالجة",
|
|
169
|
+
queued: "في الانتظار",
|
|
170
|
+
active: "نشط",
|
|
171
|
+
done1h: "تم خلال ساعة",
|
|
172
|
+
failed1h: "فشل خلال ساعة",
|
|
173
|
+
oldestQueued: "الأقدم في الانتظار: {{age}}",
|
|
174
|
+
queueAgeNone: "لا شيء",
|
|
175
|
+
queueFailureHint:
|
|
176
|
+
"تحقق من بيانات الاعتماد والوجهات وأخطاء قائمة الانتظار الأخيرة.",
|
|
177
|
+
unknownPlatform: "غير معروف",
|
|
178
|
+
attemptsCount: "{{count}} محاولات",
|
|
179
|
+
noErrorMessage: "(لا توجد رسالة خطأ)",
|
|
162
180
|
},
|
|
163
181
|
},
|
|
164
182
|
agentPanel: {
|
|
@@ -346,6 +364,9 @@ const messages = {
|
|
|
346
364
|
contactSidebarWidget: "الاتصال القطعة الشريط الجانبي",
|
|
347
365
|
contactSidebarDescription:
|
|
348
366
|
"يظهر بجانب المحادثة الحالية مع سياق جهة الاتصال وسلسلة المحادثات.",
|
|
367
|
+
eventDetailWidget: "أداة تفاصيل الحدث",
|
|
368
|
+
eventDetailDescription:
|
|
369
|
+
"تظهر أسفل حدث التقويم المفتوح مع سياق الحدث والحضور.",
|
|
349
370
|
addWidgetHere: "أضف القطعة هنا",
|
|
350
371
|
back: "رجوع",
|
|
351
372
|
editExtension: "تحرير التمديد",
|
|
@@ -43,6 +43,8 @@ const messages = {
|
|
|
43
43
|
destinations: "Destinations",
|
|
44
44
|
identities: "Identities",
|
|
45
45
|
approvals: "Zulassungen",
|
|
46
|
+
automations: "Automatisierungen",
|
|
47
|
+
delivery: "Zustellung",
|
|
46
48
|
audit: "Audit",
|
|
47
49
|
dreams: "Dreams",
|
|
48
50
|
threadDebug: "Thread-Debug",
|
|
@@ -160,6 +162,22 @@ const messages = {
|
|
|
160
162
|
activeUsers: "Aktive Benutzer",
|
|
161
163
|
workspaceAppsStat: "Workspace-Apps",
|
|
162
164
|
chatThreads: "Chat-Threads",
|
|
165
|
+
also: "Außerdem",
|
|
166
|
+
workspaceShortcutsAria: "Workspace-Kurzbefehle",
|
|
167
|
+
deliveryQueue: "Zustellungswarteschlange",
|
|
168
|
+
failedLastHour: "{{count}} fehlgeschlagen in der letzten Stunde",
|
|
169
|
+
processingCount: "{{count}} in Bearbeitung",
|
|
170
|
+
queued: "Warteschlange",
|
|
171
|
+
active: "Aktiv",
|
|
172
|
+
done1h: "Erledigt 1 Std.",
|
|
173
|
+
failed1h: "Fehlgeschlagen 1 Std.",
|
|
174
|
+
oldestQueued: "Älteste Warteschlange: {{age}}",
|
|
175
|
+
queueAgeNone: "keine",
|
|
176
|
+
queueFailureHint:
|
|
177
|
+
"Prüfe Anmeldedaten, Ziele und aktuelle Warteschlangenfehler.",
|
|
178
|
+
unknownPlatform: "unbekannt",
|
|
179
|
+
attemptsCount: "{{count}} Versuche",
|
|
180
|
+
noErrorMessage: "(keine Fehlermeldung)",
|
|
163
181
|
},
|
|
164
182
|
},
|
|
165
183
|
agentPanel: {
|
|
@@ -339,6 +357,9 @@ const messages = {
|
|
|
339
357
|
contactSidebarWidget: "Kontakt-Sidebar-Widget",
|
|
340
358
|
contactSidebarDescription:
|
|
341
359
|
"Erscheint neben der aktuellen Konversation mit Kontakt- und Thread-Kontext.",
|
|
360
|
+
eventDetailWidget: "Ereignisdetail-Widget",
|
|
361
|
+
eventDetailDescription:
|
|
362
|
+
"Erscheint unter dem geöffneten Kalenderereignis mit Ereignis- und Teilnehmerkontext.",
|
|
342
363
|
addWidgetHere: "Widget hier hinzufügen",
|
|
343
364
|
back: "Zurück",
|
|
344
365
|
editExtension: "Erweiterung bearbeiten",
|
|
@@ -42,6 +42,8 @@ const messages = {
|
|
|
42
42
|
destinations: "Destinations",
|
|
43
43
|
identities: "Identities",
|
|
44
44
|
approvals: "Approvals",
|
|
45
|
+
automations: "Automations",
|
|
46
|
+
delivery: "Delivery",
|
|
45
47
|
audit: "Audit",
|
|
46
48
|
dreams: "Dreams",
|
|
47
49
|
threadDebug: "Thread Debug",
|
|
@@ -156,6 +158,22 @@ const messages = {
|
|
|
156
158
|
activeUsers: "Active users",
|
|
157
159
|
workspaceAppsStat: "Workspace apps",
|
|
158
160
|
chatThreads: "Chat threads",
|
|
161
|
+
also: "Also",
|
|
162
|
+
workspaceShortcutsAria: "Workspace shortcuts",
|
|
163
|
+
deliveryQueue: "Delivery queue",
|
|
164
|
+
failedLastHour: "{{count}} failed in the last hour",
|
|
165
|
+
processingCount: "{{count}} processing",
|
|
166
|
+
queued: "Queued",
|
|
167
|
+
active: "Active",
|
|
168
|
+
done1h: "Done 1h",
|
|
169
|
+
failed1h: "Failed 1h",
|
|
170
|
+
oldestQueued: "Oldest queued: {{age}}",
|
|
171
|
+
queueAgeNone: "none",
|
|
172
|
+
queueFailureHint:
|
|
173
|
+
"Check credentials, destinations, and recent queue errors.",
|
|
174
|
+
unknownPlatform: "unknown",
|
|
175
|
+
attemptsCount: "{{count}} attempts",
|
|
176
|
+
noErrorMessage: "(no error message)",
|
|
159
177
|
},
|
|
160
178
|
},
|
|
161
179
|
agentPanel: {
|
|
@@ -330,6 +348,9 @@ const messages = {
|
|
|
330
348
|
contactSidebarWidget: "Contact sidebar widget",
|
|
331
349
|
contactSidebarDescription:
|
|
332
350
|
"Appears beside the current conversation with contact and thread context.",
|
|
351
|
+
eventDetailWidget: "Event detail widget",
|
|
352
|
+
eventDetailDescription:
|
|
353
|
+
"Appears below the open calendar event with event and attendee context.",
|
|
333
354
|
addWidgetHere: "Add widget here",
|
|
334
355
|
back: "Back",
|
|
335
356
|
editExtension: "Edit Extension",
|
|
@@ -43,6 +43,8 @@ const messages = {
|
|
|
43
43
|
destinations: "Destinations",
|
|
44
44
|
identities: "Identities",
|
|
45
45
|
approvals: "Aprobaciones",
|
|
46
|
+
automations: "Automatizaciones",
|
|
47
|
+
delivery: "Entrega",
|
|
46
48
|
audit: "Audit",
|
|
47
49
|
dreams: "Dreams",
|
|
48
50
|
threadDebug: "Depuración de subprocesos",
|
|
@@ -161,6 +163,22 @@ const messages = {
|
|
|
161
163
|
activeUsers: "Usuarios activos",
|
|
162
164
|
workspaceAppsStat: "Aplicaciones de espacio de trabajo",
|
|
163
165
|
chatThreads: "Hilos de chat",
|
|
166
|
+
also: "También",
|
|
167
|
+
workspaceShortcutsAria: "Accesos directos del espacio de trabajo",
|
|
168
|
+
deliveryQueue: "Cola de entrega",
|
|
169
|
+
failedLastHour: "{{count}} fallos en la última hora",
|
|
170
|
+
processingCount: "{{count}} en proceso",
|
|
171
|
+
queued: "En cola",
|
|
172
|
+
active: "Activo",
|
|
173
|
+
done1h: "Hecho 1 h",
|
|
174
|
+
failed1h: "Fallido 1 h",
|
|
175
|
+
oldestQueued: "Más antiguo en cola: {{age}}",
|
|
176
|
+
queueAgeNone: "ninguno",
|
|
177
|
+
queueFailureHint:
|
|
178
|
+
"Revisa las credenciales, los destinos y los errores recientes de la cola.",
|
|
179
|
+
unknownPlatform: "desconocido",
|
|
180
|
+
attemptsCount: "{{count}} intentos",
|
|
181
|
+
noErrorMessage: "(sin mensaje de error)",
|
|
164
182
|
},
|
|
165
183
|
},
|
|
166
184
|
agentPanel: {
|
|
@@ -344,6 +362,9 @@ const messages = {
|
|
|
344
362
|
contactSidebarWidget: "Widget de la barra lateral de contacto",
|
|
345
363
|
contactSidebarDescription:
|
|
346
364
|
"Aparece junto a la conversación actual con el contexto del contacto y del hilo.",
|
|
365
|
+
eventDetailWidget: "Widget de detalle del evento",
|
|
366
|
+
eventDetailDescription:
|
|
367
|
+
"Aparece debajo del evento de calendario abierto con el contexto del evento y los asistentes.",
|
|
347
368
|
addWidgetHere: "Añadir widget aquí",
|
|
348
369
|
back: "Volver",
|
|
349
370
|
editExtension: "Editar extensión",
|
|
@@ -43,6 +43,8 @@ const messages = {
|
|
|
43
43
|
destinations: "Destinations",
|
|
44
44
|
identities: "Identities",
|
|
45
45
|
approvals: "Approbations",
|
|
46
|
+
automations: "Automatisations",
|
|
47
|
+
delivery: "Livraison",
|
|
46
48
|
audit: "Audit",
|
|
47
49
|
dreams: "Dreams",
|
|
48
50
|
threadDebug: "Débogage du fil de discussion",
|
|
@@ -161,6 +163,22 @@ const messages = {
|
|
|
161
163
|
activeUsers: "Utilisateurs actifs",
|
|
162
164
|
workspaceAppsStat: "Applications d'espace de travail",
|
|
163
165
|
chatThreads: "Fils de discussion",
|
|
166
|
+
also: "Aussi",
|
|
167
|
+
workspaceShortcutsAria: "Raccourcis de l’espace de travail",
|
|
168
|
+
deliveryQueue: "File de livraison",
|
|
169
|
+
failedLastHour: "{{count}} échecs au cours de la dernière heure",
|
|
170
|
+
processingCount: "{{count}} en cours",
|
|
171
|
+
queued: "En file",
|
|
172
|
+
active: "Actif",
|
|
173
|
+
done1h: "Terminé 1 h",
|
|
174
|
+
failed1h: "Échoué 1 h",
|
|
175
|
+
oldestQueued: "Plus ancien en file : {{age}}",
|
|
176
|
+
queueAgeNone: "aucun",
|
|
177
|
+
queueFailureHint:
|
|
178
|
+
"Vérifiez les identifiants, les destinations et les erreurs récentes de la file.",
|
|
179
|
+
unknownPlatform: "inconnu",
|
|
180
|
+
attemptsCount: "{{count}} tentatives",
|
|
181
|
+
noErrorMessage: "(aucun message d’erreur)",
|
|
164
182
|
},
|
|
165
183
|
},
|
|
166
184
|
agentPanel: {
|
|
@@ -342,6 +360,9 @@ const messages = {
|
|
|
342
360
|
contactSidebarWidget: "Widget de la barre latérale des contacts",
|
|
343
361
|
contactSidebarDescription:
|
|
344
362
|
"Apparaît à côté de la conversation en cours avec le contexte du contact et du fil de discussion.",
|
|
363
|
+
eventDetailWidget: "Widget de détail d'événement",
|
|
364
|
+
eventDetailDescription:
|
|
365
|
+
"Apparaît sous l'événement de calendrier ouvert avec le contexte de l'événement et des participants.",
|
|
345
366
|
addWidgetHere: "Ajouter un widget ici",
|
|
346
367
|
back: "Retour",
|
|
347
368
|
editExtension: "Modifier l'extension",
|
|
@@ -41,6 +41,8 @@ const messages = {
|
|
|
41
41
|
destinations: "Destinations",
|
|
42
42
|
identities: "Identities",
|
|
43
43
|
approvals: "स्वीकृतियाँ",
|
|
44
|
+
automations: "ऑटोमेशन",
|
|
45
|
+
delivery: "डिलीवरी",
|
|
44
46
|
audit: "Audit",
|
|
45
47
|
dreams: "Dreams",
|
|
46
48
|
threadDebug: "थ्रेड डिबग",
|
|
@@ -152,6 +154,21 @@ const messages = {
|
|
|
152
154
|
activeUsers: "सक्रिय उपयोगकर्ता",
|
|
153
155
|
workspaceAppsStat: "कार्यक्षेत्र ऐप्स",
|
|
154
156
|
chatThreads: "चैट सूत्र",
|
|
157
|
+
also: "और भी",
|
|
158
|
+
workspaceShortcutsAria: "कार्यस्थान शॉर्टकट",
|
|
159
|
+
deliveryQueue: "डिलीवरी कतार",
|
|
160
|
+
failedLastHour: "पिछले घंटे में {{count}} विफल",
|
|
161
|
+
processingCount: "{{count}} प्रोसेस हो रहे हैं",
|
|
162
|
+
queued: "कतार में",
|
|
163
|
+
active: "सक्रिय",
|
|
164
|
+
done1h: "पूर्ण 1घं",
|
|
165
|
+
failed1h: "विफल 1घं",
|
|
166
|
+
oldestQueued: "सबसे पुराना कतार में: {{age}}",
|
|
167
|
+
queueAgeNone: "कोई नहीं",
|
|
168
|
+
queueFailureHint: "क्रेडेंशियल, गंतव्य और हाल की कतार त्रुटियाँ जाँचें।",
|
|
169
|
+
unknownPlatform: "अज्ञात",
|
|
170
|
+
attemptsCount: "{{count}} प्रयास",
|
|
171
|
+
noErrorMessage: "(कोई त्रुटि संदेश नहीं)",
|
|
155
172
|
},
|
|
156
173
|
},
|
|
157
174
|
agentPanel: {
|
|
@@ -327,6 +344,9 @@ const messages = {
|
|
|
327
344
|
contactSidebarWidget: "साइडबार विजेट से संपर्क करें",
|
|
328
345
|
contactSidebarDescription:
|
|
329
346
|
"संपर्क और थ्रेड संदर्भ के साथ वर्तमान वार्तालाप के बगल में दिखाई देता है।",
|
|
347
|
+
eventDetailWidget: "इवेंट विवरण विजेट",
|
|
348
|
+
eventDetailDescription:
|
|
349
|
+
"खुले कैलेंडर इवेंट के नीचे इवेंट और उपस्थित लोगों के संदर्भ के साथ दिखाई देता है।",
|
|
330
350
|
addWidgetHere: "यहां विजेट जोड़ें",
|
|
331
351
|
back: "वापस",
|
|
332
352
|
editExtension: "एक्सटेंशन संपादित करें",
|
|
@@ -43,6 +43,8 @@ const messages = {
|
|
|
43
43
|
destinations: "Destinations",
|
|
44
44
|
identities: "Identities",
|
|
45
45
|
approvals: "承認",
|
|
46
|
+
automations: "自動化",
|
|
47
|
+
delivery: "配信",
|
|
46
48
|
audit: "Audit",
|
|
47
49
|
dreams: "Dreams",
|
|
48
50
|
threadDebug: "スレッドのデバッグ",
|
|
@@ -157,6 +159,22 @@ const messages = {
|
|
|
157
159
|
activeUsers: "アクティブユーザー",
|
|
158
160
|
workspaceAppsStat: "ワークスペースアプリ",
|
|
159
161
|
chatThreads: "チャットスレッド",
|
|
162
|
+
also: "その他",
|
|
163
|
+
workspaceShortcutsAria: "ワークスペースのショートカット",
|
|
164
|
+
deliveryQueue: "配信キュー",
|
|
165
|
+
failedLastHour: "過去 1 時間で {{count}} 件失敗",
|
|
166
|
+
processingCount: "{{count}} 件処理中",
|
|
167
|
+
queued: "待機中",
|
|
168
|
+
active: "実行中",
|
|
169
|
+
done1h: "完了 1h",
|
|
170
|
+
failed1h: "失敗 1h",
|
|
171
|
+
oldestQueued: "最古の待機: {{age}}",
|
|
172
|
+
queueAgeNone: "なし",
|
|
173
|
+
queueFailureHint:
|
|
174
|
+
"認証情報、送信先、最近のキューエラーを確認してください。",
|
|
175
|
+
unknownPlatform: "不明",
|
|
176
|
+
attemptsCount: "{{count}} 回試行",
|
|
177
|
+
noErrorMessage: "(エラーメッセージなし)",
|
|
160
178
|
},
|
|
161
179
|
},
|
|
162
180
|
agentPanel: {
|
|
@@ -332,6 +350,9 @@ const messages = {
|
|
|
332
350
|
contactSidebarWidget: "連絡先サイドバー ウィジェット",
|
|
333
351
|
contactSidebarDescription:
|
|
334
352
|
"現在の会話の横に連絡先とスレッドのコンテキストが表示されます。",
|
|
353
|
+
eventDetailWidget: "予定詳細ウィジェット",
|
|
354
|
+
eventDetailDescription:
|
|
355
|
+
"開いているカレンダー予定の下に、予定と出席者のコンテキストとともに表示されます。",
|
|
335
356
|
addWidgetHere: "ここにウィジェットを追加",
|
|
336
357
|
back: "戻る",
|
|
337
358
|
editExtension: "拡張子の編集",
|
|
@@ -42,6 +42,8 @@ const messages = {
|
|
|
42
42
|
destinations: "Destinations",
|
|
43
43
|
identities: "Identities",
|
|
44
44
|
approvals: "승인",
|
|
45
|
+
automations: "자동화",
|
|
46
|
+
delivery: "전달",
|
|
45
47
|
audit: "Audit",
|
|
46
48
|
dreams: "Dreams",
|
|
47
49
|
threadDebug: "스레드 디버그",
|
|
@@ -154,6 +156,21 @@ const messages = {
|
|
|
154
156
|
activeUsers: "활성 사용자",
|
|
155
157
|
workspaceAppsStat: "작업 공간 앱",
|
|
156
158
|
chatThreads: "채팅 스레드",
|
|
159
|
+
also: "또한",
|
|
160
|
+
workspaceShortcutsAria: "워크스페이스 바로가기",
|
|
161
|
+
deliveryQueue: "전달 대기열",
|
|
162
|
+
failedLastHour: "지난 1시간 동안 {{count}}건 실패",
|
|
163
|
+
processingCount: "{{count}}건 처리 중",
|
|
164
|
+
queued: "대기 중",
|
|
165
|
+
active: "진행 중",
|
|
166
|
+
done1h: "완료 1시간",
|
|
167
|
+
failed1h: "실패 1시간",
|
|
168
|
+
oldestQueued: "가장 오래된 대기: {{age}}",
|
|
169
|
+
queueAgeNone: "없음",
|
|
170
|
+
queueFailureHint: "자격 증명, 대상, 최근 대기열 오류를 확인하세요.",
|
|
171
|
+
unknownPlatform: "알 수 없음",
|
|
172
|
+
attemptsCount: "{{count}}회 시도",
|
|
173
|
+
noErrorMessage: "(오류 메시지 없음)",
|
|
157
174
|
},
|
|
158
175
|
},
|
|
159
176
|
agentPanel: {
|
|
@@ -326,6 +343,9 @@ const messages = {
|
|
|
326
343
|
contactSidebarWidget: "연락처 사이드바 위젯",
|
|
327
344
|
contactSidebarDescription:
|
|
328
345
|
"연락처 및 스레드 컨텍스트가 포함된 현재 대화 옆에 표시됩니다.",
|
|
346
|
+
eventDetailWidget: "일정 상세 위젯",
|
|
347
|
+
eventDetailDescription:
|
|
348
|
+
"열린 캘린더 일정 아래에 일정 및 참석자 컨텍스트와 함께 표시됩니다.",
|
|
329
349
|
addWidgetHere: "여기에 위젯 추가",
|
|
330
350
|
back: "뒤로",
|
|
331
351
|
editExtension: "확장 편집",
|
|
@@ -43,6 +43,8 @@ const messages = {
|
|
|
43
43
|
destinations: "Destinations",
|
|
44
44
|
identities: "Identities",
|
|
45
45
|
approvals: "Aprovações",
|
|
46
|
+
automations: "Automações",
|
|
47
|
+
delivery: "Entrega",
|
|
46
48
|
audit: "Audit",
|
|
47
49
|
dreams: "Dreams",
|
|
48
50
|
threadDebug: "Depuração de thread",
|
|
@@ -161,6 +163,22 @@ const messages = {
|
|
|
161
163
|
activeUsers: "Usuários ativos",
|
|
162
164
|
workspaceAppsStat: "Aplicativos de espaço de trabalho",
|
|
163
165
|
chatThreads: "Tópicos de bate-papo",
|
|
166
|
+
also: "Também",
|
|
167
|
+
workspaceShortcutsAria: "Atalhos do espaço de trabalho",
|
|
168
|
+
deliveryQueue: "Fila de entrega",
|
|
169
|
+
failedLastHour: "{{count}} falhas na última hora",
|
|
170
|
+
processingCount: "{{count}} em processamento",
|
|
171
|
+
queued: "Na fila",
|
|
172
|
+
active: "Ativo",
|
|
173
|
+
done1h: "Concluído 1 h",
|
|
174
|
+
failed1h: "Falhou 1 h",
|
|
175
|
+
oldestQueued: "Mais antigo na fila: {{age}}",
|
|
176
|
+
queueAgeNone: "nenhum",
|
|
177
|
+
queueFailureHint:
|
|
178
|
+
"Verifique credenciais, destinos e erros recentes da fila.",
|
|
179
|
+
unknownPlatform: "desconhecido",
|
|
180
|
+
attemptsCount: "{{count}} tentativas",
|
|
181
|
+
noErrorMessage: "(sem mensagem de erro)",
|
|
164
182
|
},
|
|
165
183
|
},
|
|
166
184
|
agentPanel: {
|
|
@@ -341,6 +359,9 @@ const messages = {
|
|
|
341
359
|
contactSidebarWidget: "Widget da barra lateral de contato",
|
|
342
360
|
contactSidebarDescription:
|
|
343
361
|
"Aparece ao lado da conversa atual com o contexto do contato e do tópico.",
|
|
362
|
+
eventDetailWidget: "Widget de detalhes do evento",
|
|
363
|
+
eventDetailDescription:
|
|
364
|
+
"Aparece abaixo do evento aberto do calendário com o contexto do evento e dos participantes.",
|
|
344
365
|
addWidgetHere: "Adicione widget aqui",
|
|
345
366
|
back: "Voltar",
|
|
346
367
|
editExtension: "Editar extensão",
|
|
@@ -41,6 +41,8 @@ const messages = {
|
|
|
41
41
|
destinations: "Destinations",
|
|
42
42
|
identities: "Identities",
|
|
43
43
|
approvals: "批准",
|
|
44
|
+
automations: "自动化",
|
|
45
|
+
delivery: "投递",
|
|
44
46
|
audit: "Audit",
|
|
45
47
|
dreams: "Dreams",
|
|
46
48
|
threadDebug: "线程调试",
|
|
@@ -150,6 +152,21 @@ const messages = {
|
|
|
150
152
|
activeUsers: "活跃用户",
|
|
151
153
|
workspaceAppsStat: "工作区应用程序",
|
|
152
154
|
chatThreads: "聊天话题",
|
|
155
|
+
also: "还有",
|
|
156
|
+
workspaceShortcutsAria: "工作区快捷入口",
|
|
157
|
+
deliveryQueue: "投递队列",
|
|
158
|
+
failedLastHour: "过去一小时失败 {{count}} 次",
|
|
159
|
+
processingCount: "{{count}} 个处理中",
|
|
160
|
+
queued: "排队中",
|
|
161
|
+
active: "进行中",
|
|
162
|
+
done1h: "完成 1 小时",
|
|
163
|
+
failed1h: "失败 1 小时",
|
|
164
|
+
oldestQueued: "最早排队:{{age}}",
|
|
165
|
+
queueAgeNone: "无",
|
|
166
|
+
queueFailureHint: "请检查凭据、目的地和最近的队列错误。",
|
|
167
|
+
unknownPlatform: "未知",
|
|
168
|
+
attemptsCount: "{{count}} 次尝试",
|
|
169
|
+
noErrorMessage: "(无错误消息)",
|
|
153
170
|
},
|
|
154
171
|
},
|
|
155
172
|
agentPanel: {
|
|
@@ -316,6 +333,9 @@ const messages = {
|
|
|
316
333
|
buildNewWidget: "构建一个新的小部件",
|
|
317
334
|
contactSidebarWidget: "联系侧边栏小部件",
|
|
318
335
|
contactSidebarDescription: "显示在当前对话旁边,包含联系人和线程上下文。",
|
|
336
|
+
eventDetailWidget: "活动详情小部件",
|
|
337
|
+
eventDetailDescription:
|
|
338
|
+
"显示在打开的日历活动下方,包含活动和与会者上下文。",
|
|
319
339
|
addWidgetHere: "在这里添加小部件",
|
|
320
340
|
back: "返回",
|
|
321
341
|
editExtension: "编辑扩展名",
|
|
@@ -41,6 +41,8 @@ const messages = {
|
|
|
41
41
|
destinations: "Destinations",
|
|
42
42
|
identities: "Identities",
|
|
43
43
|
approvals: "核准",
|
|
44
|
+
automations: "自動化",
|
|
45
|
+
delivery: "投遞",
|
|
44
46
|
audit: "Audit",
|
|
45
47
|
dreams: "Dreams",
|
|
46
48
|
threadDebug: "對話串偵錯",
|
|
@@ -148,6 +150,21 @@ const messages = {
|
|
|
148
150
|
activeUsers: "活躍使用者",
|
|
149
151
|
workspaceAppsStat: "工作區應用程式",
|
|
150
152
|
chatThreads: "聊天話題",
|
|
153
|
+
also: "還有",
|
|
154
|
+
workspaceShortcutsAria: "工作區快捷入口",
|
|
155
|
+
deliveryQueue: "投遞佇列",
|
|
156
|
+
failedLastHour: "過去一小時失敗 {{count}} 次",
|
|
157
|
+
processingCount: "{{count}} 個處理中",
|
|
158
|
+
queued: "排隊中",
|
|
159
|
+
active: "進行中",
|
|
160
|
+
done1h: "完成 1 小時",
|
|
161
|
+
failed1h: "失敗 1 小時",
|
|
162
|
+
oldestQueued: "最早排隊:{{age}}",
|
|
163
|
+
queueAgeNone: "無",
|
|
164
|
+
queueFailureHint: "請檢查憑證、目的地和最近的佇列錯誤。",
|
|
165
|
+
unknownPlatform: "未知",
|
|
166
|
+
attemptsCount: "{{count}} 次嘗試",
|
|
167
|
+
noErrorMessage: "(無錯誤訊息)",
|
|
151
168
|
},
|
|
152
169
|
},
|
|
153
170
|
agentPanel: {
|
|
@@ -316,6 +333,8 @@ const messages = {
|
|
|
316
333
|
buildNewWidget: "建置一個新的小工具",
|
|
317
334
|
contactSidebarWidget: "聯絡側邊欄小工具",
|
|
318
335
|
contactSidebarDescription: "顯示在目前對話旁邊,包含聯絡人和對話串脈絡。",
|
|
336
|
+
eventDetailWidget: "活動詳情小工具",
|
|
337
|
+
eventDetailDescription: "顯示在開啟的日曆活動下方,包含活動與出席者脈絡。",
|
|
319
338
|
addWidgetHere: "在這裡新增小工具",
|
|
320
339
|
back: "返回",
|
|
321
340
|
editExtension: "編輯擴充功能名",
|
|
@@ -31,7 +31,6 @@
|
|
|
31
31
|
"@types/node": "^24.2.1",
|
|
32
32
|
"@types/react": "catalog:",
|
|
33
33
|
"@types/react-dom": "catalog:",
|
|
34
|
-
"@typescript/native-preview": "catalog:",
|
|
35
34
|
"class-variance-authority": "^0.7.1",
|
|
36
35
|
"clsx": "^2.1.1",
|
|
37
36
|
"next-themes": "^0.4.6",
|
|
@@ -43,7 +42,8 @@
|
|
|
43
42
|
"tailwind-merge": "^3.5.0",
|
|
44
43
|
"tailwindcss": "^4.1.18",
|
|
45
44
|
"tsx": "^4.20.3",
|
|
46
|
-
"typescript": "
|
|
45
|
+
"typescript": "catalog:",
|
|
46
|
+
"typescript-7": "catalog:",
|
|
47
47
|
"vite": "^8.0.0"
|
|
48
48
|
}
|
|
49
49
|
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"agent": "agent-native agent",
|
|
8
8
|
"script": "agent-native script",
|
|
9
9
|
"skills:update": "agent-native skills update scaffold --project",
|
|
10
|
-
"typecheck": "
|
|
10
|
+
"typecheck": "tsc --noEmit"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@agent-native/core": "latest",
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
18
|
"@types/node": "^24.2.1",
|
|
19
|
-
"@typescript/native-preview": "catalog:",
|
|
20
19
|
"oxfmt": "catalog:",
|
|
21
20
|
"tsx": "^4.20.3",
|
|
22
|
-
"typescript": "
|
|
21
|
+
"typescript": "catalog:",
|
|
22
|
+
"typescript-7": "catalog:"
|
|
23
23
|
}
|
|
24
24
|
}
|
|
@@ -26,13 +26,13 @@
|
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
"scripts": {
|
|
29
|
-
"build": "
|
|
30
|
-
"dev": "
|
|
31
|
-
"typecheck": "
|
|
32
|
-
"prepare": "
|
|
29
|
+
"build": "tsc",
|
|
30
|
+
"dev": "tsc --watch --preserveWatchOutput",
|
|
31
|
+
"typecheck": "tsc --noEmit",
|
|
32
|
+
"prepare": "tsc"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"
|
|
36
|
-
"typescript": "
|
|
35
|
+
"typescript": "catalog:",
|
|
36
|
+
"typescript-7": "catalog:"
|
|
37
37
|
}
|
|
38
38
|
}
|
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
19
|
"@types/node": "^24.2.1",
|
|
20
|
-
"@typescript/native-preview": "catalog:",
|
|
21
20
|
"oxfmt": "catalog:",
|
|
22
21
|
"tsx": "catalog:",
|
|
23
|
-
"typescript": "
|
|
22
|
+
"typescript": "catalog:",
|
|
23
|
+
"typescript-7": "catalog:"
|
|
24
24
|
},
|
|
25
25
|
"packageManager": "pnpm@10.14.0",
|
|
26
26
|
"agent-native": {
|
|
@@ -325,7 +325,7 @@ async function dispatchAgentic(resource, meta, body, payload, eventMeta, apiKey)
|
|
|
325
325
|
(await getStoredModelForEngine(engine, { appId: _deps.appId })) ??
|
|
326
326
|
engine.defaultModel;
|
|
327
327
|
const model = normalizeModelForEngine(engine, modelCandidate);
|
|
328
|
-
await createThread(jobUserEmail, {
|
|
328
|
+
const thread = await createThread(jobUserEmail, {
|
|
329
329
|
title: `Trigger: ${triggerName} — ${now.toLocaleDateString()}`,
|
|
330
330
|
});
|
|
331
331
|
let payloadStr;
|
|
@@ -355,8 +355,9 @@ ${body}`;
|
|
|
355
355
|
const controller = new AbortController();
|
|
356
356
|
const timeout = setTimeout(() => controller.abort(), 5 * 60 * 1000);
|
|
357
357
|
const events = [];
|
|
358
|
+
let triggerUsage = null;
|
|
358
359
|
try {
|
|
359
|
-
await runAgentLoop({
|
|
360
|
+
triggerUsage = await runAgentLoop({
|
|
360
361
|
engine,
|
|
361
362
|
model,
|
|
362
363
|
systemPrompt,
|
|
@@ -365,11 +366,35 @@ ${body}`;
|
|
|
365
366
|
actions,
|
|
366
367
|
send: (event) => events.push(event),
|
|
367
368
|
signal: controller.signal,
|
|
369
|
+
threadId: thread.id,
|
|
368
370
|
});
|
|
369
371
|
}
|
|
370
372
|
finally {
|
|
371
373
|
clearTimeout(timeout);
|
|
372
374
|
}
|
|
375
|
+
if (triggerUsage &&
|
|
376
|
+
(triggerUsage.inputTokens > 0 ||
|
|
377
|
+
triggerUsage.outputTokens > 0 ||
|
|
378
|
+
triggerUsage.cacheReadTokens > 0 ||
|
|
379
|
+
triggerUsage.cacheWriteTokens > 0)) {
|
|
380
|
+
try {
|
|
381
|
+
const { recordUsage } = await import("../usage/store.js");
|
|
382
|
+
await recordUsage({
|
|
383
|
+
ownerEmail: jobUserEmail,
|
|
384
|
+
inputTokens: triggerUsage.inputTokens,
|
|
385
|
+
outputTokens: triggerUsage.outputTokens,
|
|
386
|
+
cacheReadTokens: triggerUsage.cacheReadTokens,
|
|
387
|
+
cacheWriteTokens: triggerUsage.cacheWriteTokens,
|
|
388
|
+
model: triggerUsage.model,
|
|
389
|
+
label: `automation:${triggerName}`,
|
|
390
|
+
app: _deps.appId,
|
|
391
|
+
refId: eventMeta.eventId,
|
|
392
|
+
});
|
|
393
|
+
}
|
|
394
|
+
catch {
|
|
395
|
+
// Usage attribution must not break automation dispatch.
|
|
396
|
+
}
|
|
397
|
+
}
|
|
373
398
|
meta.lastStatus = "success";
|
|
374
399
|
await resourcePut(resource.owner, resource.path, buildTriggerContent(meta, body));
|
|
375
400
|
console.log(`[triggers] "${triggerName}" completed successfully`);
|