@agent-native/core 0.84.67 → 0.85.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/corpus/README.md +2 -2
- package/corpus/core/CHANGELOG.md +14 -0
- package/corpus/core/docs/content/locales/ar-SA/tracking.mdx +55 -0
- package/corpus/core/docs/content/locales/de-DE/tracking.mdx +55 -0
- package/corpus/core/docs/content/locales/es-ES/tracking.mdx +55 -0
- package/corpus/core/docs/content/locales/fr-FR/tracking.mdx +55 -0
- package/corpus/core/docs/content/locales/hi-IN/tracking.mdx +55 -0
- package/corpus/core/docs/content/locales/ja-JP/tracking.mdx +55 -0
- package/corpus/core/docs/content/locales/ko-KR/tracking.mdx +55 -0
- package/corpus/core/docs/content/locales/pt-BR/tracking.mdx +55 -0
- package/corpus/core/docs/content/locales/zh-CN/tracking.mdx +55 -0
- package/corpus/core/docs/content/locales/zh-TW/tracking.mdx +55 -0
- package/corpus/core/docs/content/tracking.mdx +2 -0
- package/corpus/core/package.json +1 -1
- package/corpus/core/src/agent/production-agent.ts +199 -38
- package/corpus/core/src/agent/run-manager.ts +79 -0
- package/corpus/core/src/agent/run-store.ts +117 -5
- package/corpus/core/src/agent/types.ts +13 -0
- package/corpus/core/src/client/RunStuckBanner.tsx +14 -0
- package/corpus/core/src/client/agent-chat-adapter.ts +475 -0
- package/corpus/core/src/client/analytics.ts +2 -0
- package/corpus/core/src/client/error-format.ts +4 -0
- package/corpus/core/src/client/extensions/ExtensionsSidebarSection.tsx +1 -1
- package/corpus/core/src/client/session-replay.ts +774 -2
- package/corpus/core/src/client/sse-event-processor.ts +65 -9
- package/corpus/core/src/client/use-run-stuck-detection.ts +31 -7
- package/corpus/core/src/db/runtime-diagnostics.ts +331 -0
- package/corpus/core/src/server/agent-chat-plugin.ts +115 -2
- package/corpus/core/src/server/core-routes-plugin.ts +91 -4
- package/corpus/core/src/server/http-response-telemetry.ts +189 -0
- package/corpus/core/src/server/self-dispatch.ts +29 -0
- package/corpus/templates/analytics/.agents/skills/session-replay/SKILL.md +53 -1
- package/corpus/templates/analytics/AGENTS.md +13 -0
- package/corpus/templates/analytics/actions/view-screen.ts +25 -0
- package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +20 -0
- package/corpus/templates/analytics/app/global.css +55 -0
- package/corpus/templates/analytics/app/i18n/zh-TW.ts +100 -1
- package/corpus/templates/analytics/app/i18n-data.ts +1226 -0
- package/corpus/templates/analytics/app/pages/Settings.tsx +3 -0
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/EmailReportDialog.tsx +182 -144
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/index.tsx +11 -18
- package/corpus/templates/analytics/app/pages/analyses/AnalysisDetail.tsx +11 -18
- package/corpus/templates/analytics/app/pages/sessions/SessionDetailPage.tsx +49 -1
- package/corpus/templates/analytics/app/pages/sessions/SessionDevToolsPanel.tsx +557 -0
- package/corpus/templates/analytics/app/pages/sessions/session-replay-devtools.ts +274 -0
- package/corpus/templates/analytics/app/pages/settings/AlertRulesSettingsCard.tsx +974 -0
- package/corpus/templates/analytics/changelog/2026-07-02-alert-rules-can-now-be-viewed-and-managed-from-settings.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-02-recent-ask-chats-show-a-loading-placeholder-while-your-chat-.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-02-session-replays-now-capture-console-logs-and-network-request.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-02-sharing-status-labels-use-neutral-icons-instead-of-colored-d.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-02-the-session-replay-viewer-has-a-dev-tools-panel-with-console.md +6 -0
- package/corpus/templates/analytics/server/db/schema.ts +3 -0
- package/corpus/templates/analytics/server/jobs/analytics-alerts.ts +4 -0
- package/corpus/templates/analytics/server/lib/analytics-alerts.ts +142 -1
- package/corpus/templates/analytics/server/lib/session-replay-agent-context.ts +369 -8
- package/corpus/templates/analytics/server/lib/session-replay.ts +76 -2
- package/corpus/templates/analytics/server/routes/api/session-replay/agent-diagnostics.json.get.ts +101 -0
- package/corpus/templates/analytics/shared/session-replay-diagnostics.ts +78 -0
- package/corpus/templates/design/app/pages/DesignEditor.tsx +24 -12
- package/corpus/templates/design/changelog/2026-07-02-the-temporary-code-tab-is-hidden-from-the-design-editor-side.md +6 -0
- package/corpus/templates/plan/actions/create-visual-recap.ts +1 -1
- package/corpus/templates/plan/actions/update-local-plan-folder.ts +3 -1
- package/corpus/templates/plan/actions/update-visual-plan.ts +1 -1
- package/corpus/templates/plan/changelog/2026-07-02-trying-to-edit-a-recap-or-plan-you-can-only-view-now-explain.md +6 -0
- package/corpus/templates/plan/server/plans.ts +26 -9
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +155 -34
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/agent/run-manager.d.ts +29 -0
- package/dist/agent/run-manager.d.ts.map +1 -1
- package/dist/agent/run-manager.js +73 -0
- package/dist/agent/run-manager.js.map +1 -1
- package/dist/agent/run-store.d.ts +41 -0
- package/dist/agent/run-store.d.ts.map +1 -1
- package/dist/agent/run-store.js +100 -4
- package/dist/agent/run-store.js.map +1 -1
- package/dist/agent/types.d.ts +13 -0
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/client/RunStuckBanner.d.ts.map +1 -1
- package/dist/client/RunStuckBanner.js +13 -0
- package/dist/client/RunStuckBanner.js.map +1 -1
- package/dist/client/agent-chat-adapter.d.ts.map +1 -1
- package/dist/client/agent-chat-adapter.js +410 -0
- package/dist/client/agent-chat-adapter.js.map +1 -1
- package/dist/client/analytics.d.ts +1 -1
- package/dist/client/analytics.d.ts.map +1 -1
- package/dist/client/analytics.js.map +1 -1
- package/dist/client/error-format.d.ts.map +1 -1
- package/dist/client/error-format.js +2 -0
- package/dist/client/error-format.js.map +1 -1
- package/dist/client/extensions/ExtensionsSidebarSection.js +1 -1
- package/dist/client/extensions/ExtensionsSidebarSection.js.map +1 -1
- package/dist/client/session-replay.d.ts +36 -0
- package/dist/client/session-replay.d.ts.map +1 -1
- package/dist/client/session-replay.js +579 -1
- package/dist/client/session-replay.js.map +1 -1
- package/dist/client/sse-event-processor.d.ts +20 -1
- package/dist/client/sse-event-processor.d.ts.map +1 -1
- package/dist/client/sse-event-processor.js +42 -11
- package/dist/client/sse-event-processor.js.map +1 -1
- package/dist/client/use-run-stuck-detection.d.ts +14 -4
- package/dist/client/use-run-stuck-detection.d.ts.map +1 -1
- package/dist/client/use-run-stuck-detection.js +18 -4
- package/dist/client/use-run-stuck-detection.js.map +1 -1
- package/dist/collab/awareness.d.ts +2 -2
- package/dist/collab/awareness.d.ts.map +1 -1
- package/dist/collab/routes.d.ts +2 -2
- package/dist/db/runtime-diagnostics.d.ts +52 -0
- package/dist/db/runtime-diagnostics.d.ts.map +1 -0
- package/dist/db/runtime-diagnostics.js +250 -0
- package/dist/db/runtime-diagnostics.js.map +1 -0
- package/dist/notifications/routes.d.ts +1 -1
- package/dist/observability/routes.d.ts +3 -3
- package/dist/progress/routes.d.ts +1 -1
- package/dist/provider-api/corpus-jobs.d.ts +2 -2
- package/dist/resources/handlers.d.ts +1 -1
- package/dist/secrets/routes.d.ts +3 -3
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +101 -2
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/core-routes-plugin.d.ts +17 -0
- package/dist/server/core-routes-plugin.d.ts.map +1 -1
- package/dist/server/core-routes-plugin.js +65 -5
- package/dist/server/core-routes-plugin.js.map +1 -1
- package/dist/server/http-response-telemetry.d.ts +4 -0
- package/dist/server/http-response-telemetry.d.ts.map +1 -0
- package/dist/server/http-response-telemetry.js +174 -0
- package/dist/server/http-response-telemetry.js.map +1 -0
- package/dist/server/self-dispatch.d.ts +17 -0
- package/dist/server/self-dispatch.d.ts.map +1 -1
- package/dist/server/self-dispatch.js +11 -0
- package/dist/server/self-dispatch.js.map +1 -1
- package/docs/content/locales/ar-SA/tracking.mdx +55 -0
- package/docs/content/locales/de-DE/tracking.mdx +55 -0
- package/docs/content/locales/es-ES/tracking.mdx +55 -0
- package/docs/content/locales/fr-FR/tracking.mdx +55 -0
- package/docs/content/locales/hi-IN/tracking.mdx +55 -0
- package/docs/content/locales/ja-JP/tracking.mdx +55 -0
- package/docs/content/locales/ko-KR/tracking.mdx +55 -0
- package/docs/content/locales/pt-BR/tracking.mdx +55 -0
- package/docs/content/locales/zh-CN/tracking.mdx +55 -0
- package/docs/content/locales/zh-TW/tracking.mdx +55 -0
- package/docs/content/tracking.mdx +2 -0
- package/package.json +1 -1
|
@@ -1233,6 +1233,7 @@ function AnalyticsChatsSection() {
|
|
|
1233
1233
|
const {
|
|
1234
1234
|
threads,
|
|
1235
1235
|
activeThreadId,
|
|
1236
|
+
isLoading: chatsLoading,
|
|
1236
1237
|
createThread,
|
|
1237
1238
|
switchThread,
|
|
1238
1239
|
pinThread,
|
|
@@ -1348,6 +1349,25 @@ function AnalyticsChatsSection() {
|
|
|
1348
1349
|
|
|
1349
1350
|
return (
|
|
1350
1351
|
<div className="ms-4 min-w-0 space-y-0.5">
|
|
1352
|
+
{chatsLoading &&
|
|
1353
|
+
visibleThreads.length === 0 &&
|
|
1354
|
+
Array.from({ length: 3 }).map((_, i) => (
|
|
1355
|
+
<div
|
|
1356
|
+
key={`chat-skeleton-${i}`}
|
|
1357
|
+
className="flex items-center gap-2 px-3 py-1"
|
|
1358
|
+
>
|
|
1359
|
+
<Skeleton
|
|
1360
|
+
className={cn(
|
|
1361
|
+
"h-3.5 w-3.5 shrink-0 rounded-sm",
|
|
1362
|
+
SIDEBAR_SKELETON_CLASS,
|
|
1363
|
+
)}
|
|
1364
|
+
/>
|
|
1365
|
+
<Skeleton
|
|
1366
|
+
className={cn("h-3 rounded", SIDEBAR_SKELETON_CLASS)}
|
|
1367
|
+
style={{ width: `${60 + ((i * 17) % 30)}%` }}
|
|
1368
|
+
/>
|
|
1369
|
+
</div>
|
|
1370
|
+
))}
|
|
1351
1371
|
{visibleThreads.map((thread) => {
|
|
1352
1372
|
const title = threadTitle(thread, t("chat.untitledChat"));
|
|
1353
1373
|
const isActive =
|
|
@@ -215,9 +215,64 @@
|
|
|
215
215
|
}
|
|
216
216
|
|
|
217
217
|
.an-replay-stage-root .replayer-wrapper {
|
|
218
|
+
position: relative;
|
|
218
219
|
transform-origin: top left;
|
|
219
220
|
}
|
|
220
221
|
|
|
222
|
+
/* First-party visitor-cursor styles for rrweb playback. These are bundled
|
|
223
|
+
statically so the cursor stays visible even if the lazily imported
|
|
224
|
+
`@rrweb/replay/dist/style.css` sheet fails to load, and they replace the
|
|
225
|
+
default black arrow sprite with an app-styled indicator. The cursor lives
|
|
226
|
+
inside `.replayer-wrapper`, so it scales with the fit-to-stage transform. */
|
|
227
|
+
.an-replay-stage-root .replayer-mouse {
|
|
228
|
+
position: absolute;
|
|
229
|
+
z-index: 2;
|
|
230
|
+
width: 0.875rem;
|
|
231
|
+
height: 0.875rem;
|
|
232
|
+
border-radius: 9999px;
|
|
233
|
+
background: hsl(217 91% 60%);
|
|
234
|
+
background-image: none;
|
|
235
|
+
box-shadow:
|
|
236
|
+
0 0 0 2px hsl(0 0% 100% / 0.9),
|
|
237
|
+
0 1px 6px hsl(0 0% 0% / 0.35);
|
|
238
|
+
transform: translate(-50%, -50%);
|
|
239
|
+
transition:
|
|
240
|
+
left 80ms linear,
|
|
241
|
+
top 80ms linear;
|
|
242
|
+
pointer-events: none;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
.an-replay-stage-root .replayer-mouse::after {
|
|
246
|
+
content: "";
|
|
247
|
+
position: absolute;
|
|
248
|
+
inset: 0;
|
|
249
|
+
border-radius: 9999px;
|
|
250
|
+
background: hsl(217 91% 60%);
|
|
251
|
+
opacity: 0;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
/* rrweb toggles `.active` on mouse interactions; pulse a click ripple. */
|
|
255
|
+
.an-replay-stage-root .replayer-mouse.active::after {
|
|
256
|
+
animation: an-replay-mouse-click 0.4s ease-out 1;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
@keyframes an-replay-mouse-click {
|
|
260
|
+
0% {
|
|
261
|
+
opacity: 0.5;
|
|
262
|
+
transform: scale(1);
|
|
263
|
+
}
|
|
264
|
+
100% {
|
|
265
|
+
opacity: 0;
|
|
266
|
+
transform: scale(3.5);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
.an-replay-stage-root .replayer-mouse-tail {
|
|
271
|
+
position: absolute;
|
|
272
|
+
inset: 0;
|
|
273
|
+
pointer-events: none;
|
|
274
|
+
}
|
|
275
|
+
|
|
221
276
|
.analytics-session-snippet .plan-code-surface {
|
|
222
277
|
border: 0;
|
|
223
278
|
border-radius: 0;
|
|
@@ -147,6 +147,80 @@ const messages = {
|
|
|
147
147
|
storageRequired: "請輸入必填的儲存欄位。",
|
|
148
148
|
storageSaved: "已儲存儲存設定。",
|
|
149
149
|
storageSaveFailed: "無法儲存儲存設定。",
|
|
150
|
+
alertsTitle: "警示",
|
|
151
|
+
alertsDescription: "管理第一方分析事件規則與通知傳送。",
|
|
152
|
+
alertRunNow: "執行檢查",
|
|
153
|
+
alertNew: "新增警示",
|
|
154
|
+
alertsEmptyTitle: "尚無警示規則",
|
|
155
|
+
alertsEmptyDescription:
|
|
156
|
+
"建立規則來監控事件量、去重使用者數或篩選後的事件片段。",
|
|
157
|
+
alertRuleColumn: "規則",
|
|
158
|
+
alertConditionColumn: "條件",
|
|
159
|
+
alertDeliveryColumn: "傳送",
|
|
160
|
+
alertStatusColumn: "狀態",
|
|
161
|
+
alertActionsColumn: "動作",
|
|
162
|
+
alertToggleLabel: "切換 {{name}}",
|
|
163
|
+
alertSeverityCritical: "嚴重",
|
|
164
|
+
alertSeverityWarning: "警告",
|
|
165
|
+
alertAllEvents: "所有事件",
|
|
166
|
+
alertScopeWithFilters: "{{scope}} + {{count}} 個篩選器",
|
|
167
|
+
alertDistinctThresholdSummary: "{{window}} 內 {{count}} 個不同的 {{field}}",
|
|
168
|
+
alertEventThresholdSummary: "{{window}} 內 {{count}} 個事件",
|
|
169
|
+
alertChannelInbox: "收件匣",
|
|
170
|
+
alertChannelEmail: "電子郵件",
|
|
171
|
+
alertChannelSlack: "Slack",
|
|
172
|
+
alertChannelWebhook: "Webhook",
|
|
173
|
+
alertLastChecked: "檢查於 {{date}}",
|
|
174
|
+
alertNever: "從未",
|
|
175
|
+
alertStatusOk: "正常",
|
|
176
|
+
alertStatusTriggered: "已觸發",
|
|
177
|
+
alertStatusCooldown: "冷卻中",
|
|
178
|
+
alertStatusError: "錯誤",
|
|
179
|
+
alertStatusRunning: "執行中",
|
|
180
|
+
alertStatusNever: "未檢查",
|
|
181
|
+
alertEditLabel: "編輯 {{name}}",
|
|
182
|
+
alertDeleteLabel: "刪除 {{name}}",
|
|
183
|
+
alertDeleteTitle: "刪除警示規則?",
|
|
184
|
+
alertDeleteDescription: "這會刪除「{{name}}」並停止此規則的後續通知。",
|
|
185
|
+
alertEdit: "編輯警示",
|
|
186
|
+
alertCreate: "建立警示",
|
|
187
|
+
alertDialogDescription:
|
|
188
|
+
"警示規則會在第一方分析事件上執行,並通知選定的管道。",
|
|
189
|
+
alertName: "名稱",
|
|
190
|
+
alertNamePlaceholder: "託管應用程式 5xx 激增",
|
|
191
|
+
alertDescription: "描述",
|
|
192
|
+
alertEventName: "事件名稱",
|
|
193
|
+
alertEventNamePlaceholder: "http.response",
|
|
194
|
+
alertSeverity: "嚴重性",
|
|
195
|
+
alertThresholdMode: "閾值模式",
|
|
196
|
+
alertModeEventCount: "事件計數",
|
|
197
|
+
alertModeDistinctCount: "去重計數",
|
|
198
|
+
alertThreshold: "閾值",
|
|
199
|
+
alertDistinctBy: "去重欄位",
|
|
200
|
+
alertWindowMinutes: "時間窗口分鐘數",
|
|
201
|
+
alertCooldownMinutes: "冷卻分鐘數",
|
|
202
|
+
alertFilters: "篩選器 JSON",
|
|
203
|
+
alertChannels: "管道",
|
|
204
|
+
alertCustomChannels: "其他管道",
|
|
205
|
+
alertCustomChannelsPlaceholder: "例如 pagerduty、opsgenie",
|
|
206
|
+
alertEmailRecipients: "電子郵件收件人",
|
|
207
|
+
alertEmailRecipientsPlaceholder: "analytics@example.com, ops@example.com",
|
|
208
|
+
alertEnabled: "已啟用",
|
|
209
|
+
alertEnabledDescription: "停用的規則會保留,但檢查時會略過。",
|
|
210
|
+
alertUpdate: "更新警示",
|
|
211
|
+
alertSave: "儲存警示",
|
|
212
|
+
alertFiltersInvalid: "篩選器 JSON 無效:{{message}}",
|
|
213
|
+
alertNameRequired: "新增警示名稱。",
|
|
214
|
+
alertChannelRequired: "至少選擇一個通知管道。",
|
|
215
|
+
alertSaved: "警示規則已儲存。",
|
|
216
|
+
alertSaveFailed: "無法儲存警示規則:{{message}}",
|
|
217
|
+
alertEnabledToast: "警示已啟用。",
|
|
218
|
+
alertDisabledToast: "警示已停用。",
|
|
219
|
+
alertDeleted: "警示規則已刪除。",
|
|
220
|
+
alertDeleteFailed: "無法刪除警示規則:{{message}}",
|
|
221
|
+
alertRunComplete:
|
|
222
|
+
"警示檢查完成:已檢查 {{processed}} 個,觸發 {{triggered}} 個,失敗 {{failed}} 個。",
|
|
223
|
+
alertRunFailed: "無法執行警示檢查:{{message}}",
|
|
150
224
|
},
|
|
151
225
|
chat: {
|
|
152
226
|
emptyState: "讓我分析儀表板、比較趨勢或深入檢視資料...",
|
|
@@ -683,7 +757,7 @@ const messages = {
|
|
|
683
757
|
emailReports: "電子郵件報告",
|
|
684
758
|
emailReportsDescription: '"{{name}}" 的每日電子郵件快照。',
|
|
685
759
|
existingReportSubscriptions: "訂閱",
|
|
686
|
-
newSubscription: "
|
|
760
|
+
newSubscription: "新增訂閱",
|
|
687
761
|
noReportSubscriptions: "還沒有訂閱。",
|
|
688
762
|
reportName: "名稱",
|
|
689
763
|
reportRecipients: "收件人",
|
|
@@ -854,6 +928,31 @@ const messages = {
|
|
|
854
928
|
storageConnected: "已連線儲存",
|
|
855
929
|
connectBuilder: "使用 Builder.io(免費)",
|
|
856
930
|
configureS3: "設定 S3 儲存",
|
|
931
|
+
devtools: "開發工具",
|
|
932
|
+
devtoolsIssueCount: "偵測到 {{count}} 個問題",
|
|
933
|
+
devtoolsConsoleTab: "主控台({{count}})",
|
|
934
|
+
devtoolsNetworkTab: "網路({{count}})",
|
|
935
|
+
devtoolsFilterAll: "全部({{count}})",
|
|
936
|
+
devtoolsFilterLog: "記錄({{count}})",
|
|
937
|
+
devtoolsFilterInfo: "資訊({{count}})",
|
|
938
|
+
devtoolsFilterWarning: "警告({{count}})",
|
|
939
|
+
devtoolsFilterError: "錯誤({{count}})",
|
|
940
|
+
devtoolsFilterFetch: "Fetch({{count}})",
|
|
941
|
+
devtoolsFilterXhr: "XHR({{count}})",
|
|
942
|
+
devtoolsFilterFailed: "失敗({{count}})",
|
|
943
|
+
devtoolsConsoleSearch: "篩選主控台訊息...",
|
|
944
|
+
devtoolsNetworkSearch: "篩選請求...",
|
|
945
|
+
devtoolsJumpTo: "跳轉",
|
|
946
|
+
devtoolsToggleDetails: "切換詳細資訊",
|
|
947
|
+
devtoolsArgs: "記錄的參數",
|
|
948
|
+
devtoolsStack: "堆疊追蹤",
|
|
949
|
+
devtoolsRepeatCount: "×{{count}}",
|
|
950
|
+
devtoolsFailedStatus: "失敗",
|
|
951
|
+
devtoolsDurationMs: "{{ms}} 毫秒",
|
|
952
|
+
devtoolsNoConsole: "此工作階段未擷取到主控台活動。",
|
|
953
|
+
devtoolsNoNetwork: "此工作階段未擷取到網路活動。",
|
|
954
|
+
devtoolsNoConsoleMatches: "沒有符合目前篩選條件的主控台訊息。",
|
|
955
|
+
devtoolsNoNetworkMatches: "沒有符合目前篩選條件的請求。",
|
|
857
956
|
},
|
|
858
957
|
catalog: {
|
|
859
958
|
description: "需要起點時,可安裝儀表板範本。",
|