@sentry/junior-dashboard 0.90.0 → 0.92.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/dist/app.js +41 -44
- package/dist/client/api.d.ts +4 -4
- package/dist/client/components/ConversationListControls.d.ts +3 -3
- package/dist/client/format.d.ts +11 -11
- package/dist/client/pages/PeoplePage.d.ts +6 -6
- package/dist/client/types.d.ts +9 -9
- package/dist/client.js +6 -6
- package/dist/index.js +41 -44
- package/dist/mock-reporting/conversation.d.ts +2 -2
- package/package.json +3 -3
- package/src/app.ts +1 -1
- package/src/client/api.ts +12 -12
- package/src/client/components/ConversationDurationChart.tsx +3 -3
- package/src/client/components/ConversationListControls.tsx +9 -11
- package/src/client/components/ConversationSummary.tsx +3 -3
- package/src/client/components/TranscriptTurn.tsx +2 -2
- package/src/client/format.ts +34 -34
- package/src/client/markdownExport.ts +5 -13
- package/src/client/pages/ConversationPage.tsx +3 -3
- package/src/client/pages/ConversationsPage.tsx +9 -9
- package/src/client/pages/PeoplePage.tsx +43 -52
- package/src/client/types.ts +13 -13
- package/src/mock-conversations.ts +37 -41
- package/src/mock-release-conversation.ts +3 -3
- package/src/mock-reporting/conversation.ts +4 -4
package/dist/client/api.d.ts
CHANGED
|
@@ -7,10 +7,10 @@ type DashboardCoreData = Omit<DashboardData, "conversations" | "conversationStat
|
|
|
7
7
|
export declare function useDashboardCoreData(): import("@tanstack/react-query").UseQueryResult<NoInfer<DashboardCoreData>, Error>;
|
|
8
8
|
/** Fetch the conversation summary feed used by list-oriented dashboard routes. */
|
|
9
9
|
export declare function useConversationsData(): import("@tanstack/react-query").UseQueryResult<NoInfer<import("@sentry/junior/reporting").ConversationFeed>, Error>;
|
|
10
|
-
/** Fetch the
|
|
11
|
-
export declare function
|
|
12
|
-
/** Fetch one
|
|
13
|
-
export declare function
|
|
10
|
+
/** Fetch the actor directory used by the People dashboard route. */
|
|
11
|
+
export declare function useActorDirectoryData(): import("@tanstack/react-query").UseQueryResult<NoInfer<import("@sentry/junior/api/people/list").ActorDirectoryReport>, Error>;
|
|
12
|
+
/** Fetch one actor profile for the People detail dashboard route. */
|
|
13
|
+
export declare function useActorProfileData(email: string | undefined): import("@tanstack/react-query").UseQueryResult<NoInfer<import("@sentry/junior/api/people/profile").ActorProfileReport>, Error>;
|
|
14
14
|
/** Fetch dashboard data needed by command center and list-oriented routes. */
|
|
15
15
|
export declare function useDashboardData(): {
|
|
16
16
|
data: {
|
|
@@ -18,12 +18,12 @@ export declare function ConversationFilterSelect(props: {
|
|
|
18
18
|
/** Render the conversation list search and facet controls as one compact toolbar. */
|
|
19
19
|
export declare function ConversationListToolbar(props: {
|
|
20
20
|
query: string;
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
actor: string;
|
|
22
|
+
actorOptions: ConversationListFilterOption[];
|
|
23
23
|
source: string;
|
|
24
24
|
sourceOptions: ConversationListFilterOption[];
|
|
25
25
|
onQueryChange(value: string): void;
|
|
26
|
-
|
|
26
|
+
onActorChange(value: string): void;
|
|
27
27
|
onSourceChange(value: string): void;
|
|
28
28
|
onClear?(): void;
|
|
29
29
|
}): import("react/jsx-runtime").JSX.Element;
|
package/dist/client/format.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type BundledLanguage } from "shiki/bundle/web";
|
|
2
|
-
import type { CodeBlock, Conversation, ConversationDetailFeed, ConversationTurn, ConversationFilter, ConversationSummary, MarkupNode,
|
|
2
|
+
import type { CodeBlock, Conversation, ConversationDetailFeed, ConversationTurn, ConversationFilter, ConversationSummary, MarkupNode, ActorIdentity, TurnUsage, VisualStatus } from "./types";
|
|
3
3
|
/** Set the dashboard display timezone returned by the authenticated config API. */
|
|
4
4
|
export declare function setDashboardTimeZone(timeZone: string): void;
|
|
5
5
|
/** Identify summaries that should appear in failed conversation filters. */
|
|
@@ -80,12 +80,12 @@ export declare function conversationRuntimeMs(conversation: Pick<Conversation, "
|
|
|
80
80
|
export declare function conversationIdForSummary(summary: ConversationSummary): string;
|
|
81
81
|
/** Return the display title prepared by the reporting API. */
|
|
82
82
|
export declare function conversationDisplayTitle(conversation: Conversation | undefined): string;
|
|
83
|
-
/** Prefer stable
|
|
84
|
-
export declare function
|
|
85
|
-
/** Derive the conversation owner label from structured
|
|
86
|
-
export declare function
|
|
87
|
-
/** Return the stable
|
|
88
|
-
export declare function
|
|
83
|
+
/** Prefer stable actor identifiers while keeping Slack ids as a last resort. */
|
|
84
|
+
export declare function actorLabel(actor: ActorIdentity | undefined): string | undefined;
|
|
85
|
+
/** Derive the conversation owner label from structured actor identity. */
|
|
86
|
+
export declare function conversationActorLabel(conversation: Conversation | undefined): string | undefined;
|
|
87
|
+
/** Return the stable actor key used by dashboard list filters. */
|
|
88
|
+
export declare function conversationActorKey(conversation: Conversation | undefined): string | undefined;
|
|
89
89
|
/** Format the owner and permalink id line shared by conversation rows and headers. */
|
|
90
90
|
export declare function conversationIdentityMeta(conversation: Conversation | undefined, conversationId: string | undefined): string;
|
|
91
91
|
/** Convert Slack channel ids and names into user-facing location labels. */
|
|
@@ -100,7 +100,7 @@ export declare function visualStatusForConversation(conversation: Conversation):
|
|
|
100
100
|
export declare function unavailableTranscriptLabel(turn: ConversationTurn): string;
|
|
101
101
|
/** Build the canonical permalink route for a conversation id. */
|
|
102
102
|
export declare function conversationPath(conversationId: string): string;
|
|
103
|
-
/** Build the canonical
|
|
103
|
+
/** Build the canonical actor profile route for a trusted email address. */
|
|
104
104
|
export declare function peoplePath(email: string): string;
|
|
105
105
|
/** Detect the syntax highlighter language for raw transcript blocks. */
|
|
106
106
|
export declare function detectLanguage(text: string): BundledLanguage;
|
|
@@ -139,7 +139,7 @@ export declare function conversationFromDetail(detail: ConversationDetailFeed |
|
|
|
139
139
|
export declare function filterConversations(conversations: Conversation[], filter: ConversationFilter): Conversation[];
|
|
140
140
|
export type ConversationListFilters = {
|
|
141
141
|
query?: string;
|
|
142
|
-
|
|
142
|
+
actor?: string;
|
|
143
143
|
source?: string;
|
|
144
144
|
};
|
|
145
145
|
export type ConversationListFilterOption = {
|
|
@@ -148,8 +148,8 @@ export type ConversationListFilterOption = {
|
|
|
148
148
|
};
|
|
149
149
|
/** Return source filter options present in the loaded conversation rows. */
|
|
150
150
|
export declare function conversationSourceOptions(conversations: Conversation[]): ConversationListFilterOption[];
|
|
151
|
-
/** Return
|
|
152
|
-
export declare function
|
|
151
|
+
/** Return actor filter options present in the loaded conversation rows. */
|
|
152
|
+
export declare function conversationActorOptions(conversations: Conversation[]): ConversationListFilterOption[];
|
|
153
153
|
/** Apply lightweight client-side search and facet filters to conversations. */
|
|
154
154
|
export declare function filterConversationList(conversations: Conversation[], filters: ConversationListFilters): Conversation[];
|
|
155
155
|
/** Normalize URL filter params to the supported dashboard filter set. */
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
/** Render the
|
|
1
|
+
import type { ActorDirectory, ActorProfile } from "../types";
|
|
2
|
+
/** Render the actor directory from dashboard reporting data. */
|
|
3
3
|
export declare function PeoplePage(): import("react/jsx-runtime").JSX.Element;
|
|
4
|
-
/** Render loaded, failed, and empty
|
|
4
|
+
/** Render loaded, failed, and empty actor directory states. */
|
|
5
5
|
export declare function PeoplePageContent({ data, error, }: {
|
|
6
|
-
data:
|
|
6
|
+
data: ActorDirectory | undefined;
|
|
7
7
|
error: unknown;
|
|
8
8
|
}): import("react/jsx-runtime").JSX.Element;
|
|
9
|
-
/** Render one
|
|
9
|
+
/** Render one actor's profile and recent conversation history. */
|
|
10
10
|
export declare function PersonProfilePage(): import("react/jsx-runtime").JSX.Element;
|
|
11
11
|
export declare function Profile(props: {
|
|
12
|
-
profile:
|
|
12
|
+
profile: ActorProfile;
|
|
13
13
|
}): import("react/jsx-runtime").JSX.Element;
|
package/dist/client/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { BundledLanguage } from "shiki/bundle/web";
|
|
2
2
|
import type { ConversationStatsItem as ReportingConversationStatsItem, ConversationStatsReport as ReportingConversationStatsReport, ConversationReport as ReportingConversationReport, ConversationSubagentTranscriptReport as ReportingConversationSubagentTranscriptReport, PluginOperationalReportFeed, PluginOperationalReport, ConversationFeed as ReportingConversationFeed, ConversationSummaryReport, ConversationRunReport, ConversationUsage, HealthReport, PluginReport as RuntimePluginReport, RuntimeInfoReport, SkillReport } from "@sentry/junior/reporting";
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
3
|
+
import type { ActorDirectoryReport, ActorIdentity as ApiActorIdentity, ActorSummaryReport, ActorTotalsReport } from "@sentry/junior/api/people/list";
|
|
4
|
+
import type { ActorActivityDayReport, ActorProfileReport } from "@sentry/junior/api/people/profile";
|
|
5
5
|
export type Health = HealthReport;
|
|
6
6
|
export type Runtime = RuntimeInfoReport;
|
|
7
7
|
export type Plugin = RuntimePluginReport;
|
|
@@ -11,12 +11,12 @@ export type PluginReportFeed = PluginOperationalReportFeed;
|
|
|
11
11
|
export type ConversationStatsReport = ReportingConversationStatsReport;
|
|
12
12
|
export type ConversationSubagentTranscript = ReportingConversationSubagentTranscriptReport;
|
|
13
13
|
export type ConversationStatsItem = ReportingConversationStatsItem;
|
|
14
|
-
export type
|
|
15
|
-
export type
|
|
16
|
-
export type
|
|
17
|
-
export type
|
|
18
|
-
export type
|
|
19
|
-
export type
|
|
14
|
+
export type ActorIdentity = ApiActorIdentity;
|
|
15
|
+
export type ActorActivityDay = ActorActivityDayReport;
|
|
16
|
+
export type ActorDirectory = ActorDirectoryReport;
|
|
17
|
+
export type ActorProfile = ActorProfileReport;
|
|
18
|
+
export type ActorSummary = ActorSummaryReport;
|
|
19
|
+
export type ActorTotals = ActorTotalsReport;
|
|
20
20
|
export type TurnUsage = ConversationUsage;
|
|
21
21
|
export type ConversationSummary = ConversationSummaryReport;
|
|
22
22
|
export type TranscriptPart = ConversationRunReport["transcript"][number]["parts"][number];
|
|
@@ -73,7 +73,7 @@ export type Conversation = {
|
|
|
73
73
|
id: string;
|
|
74
74
|
lastProgressAt: string;
|
|
75
75
|
lastSeenAt: string;
|
|
76
|
-
|
|
76
|
+
actorIdentity?: ActorIdentity;
|
|
77
77
|
sentryTraceUrl?: string;
|
|
78
78
|
startedAt: string;
|
|
79
79
|
status: ConversationSummary["status"];
|