@unisphere/genie-types 1.13.0 → 1.13.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.
Files changed (35) hide show
  1. package/index.esm.js +80 -25
  2. package/package.json +3 -3
  3. package/src/lib/admin-demo-runtime/runtime-types.d.ts +9 -0
  4. package/src/lib/admin-runtime/runtime-types.d.ts +25 -0
  5. package/src/lib/application-runtime/runtime-types.d.ts +36 -0
  6. package/src/lib/avatar-runtime/agent-visual-types.d.ts +18 -0
  7. package/src/lib/avatar-runtime/avatar-service-types.d.ts +95 -0
  8. package/src/lib/avatar-runtime/chat-visual-types.d.ts +9 -0
  9. package/src/lib/avatar-runtime/contained-visual-types.d.ts +9 -0
  10. package/src/lib/avatar-runtime/index.d.ts +1 -0
  11. package/src/lib/avatar-runtime/lobby-visual-types.d.ts +33 -1
  12. package/src/lib/avatar-runtime/runtime-types.d.ts +69 -3
  13. package/src/lib/chat-runtime/runtime-flavors/runtime-player-plugin-types.d.ts +42 -0
  14. package/src/lib/chat-runtime/runtime-flavors/runtime-types.d.ts +60 -0
  15. package/src/lib/chat-runtime/shared-settings.d.ts +88 -0
  16. package/src/lib/chat-runtime/types.d.ts +1 -0
  17. package/src/lib/chat-runtime/visuals-types.d.ts +66 -0
  18. package/src/lib/flashcards-tool-runtime/runtime-types.d.ts +27 -0
  19. package/src/lib/flashcards-tool-runtime/visuals-types.d.ts +36 -0
  20. package/src/lib/followups-tool-runtime/avatar-visual-types.d.ts +18 -0
  21. package/src/lib/followups-tool-runtime/runtime-types.d.ts +31 -0
  22. package/src/lib/gtc-agenda-list-tool-runtime/genie-answer-visual-types.d.ts +15 -0
  23. package/src/lib/gtc-agenda-list-tool-runtime/runtime-types.d.ts +15 -0
  24. package/src/lib/gtc-agenda-tool-runtime/genie-answer-visual-types.d.ts +11 -0
  25. package/src/lib/gtc-agenda-tool-runtime/runtime-types.d.ts +15 -0
  26. package/src/lib/kaltura-video-player-tool-runtime/genie-answer-visual-types.d.ts +11 -0
  27. package/src/lib/kaltura-video-player-tool-runtime/runtime-types.d.ts +23 -0
  28. package/src/lib/nvidia-2026-event-tool-runtime/runtime-types.d.ts +45 -0
  29. package/src/lib/shared/chat-customizations-types.d.ts +80 -0
  30. package/src/lib/shared/chat-tools-service-types.d.ts +52 -0
  31. package/src/lib/shared/general-visual-types.d.ts +19 -0
  32. package/src/lib/sources-tool-runtime/runtime-types.d.ts +38 -0
  33. package/src/lib/summary-tool-runtime/runtime-types.d.ts +55 -0
  34. package/src/lib/types.d.ts +57 -0
  35. package/src/lib/widget-types.d.ts +1 -0
@@ -1,12 +1,27 @@
1
1
  import { ValidatorSchema } from '@unisphere/core';
2
2
  import { UnisphereRuntimeBaseType } from '@unisphere/runtime';
3
3
  import { widgetName } from '../widget-types';
4
+ /** Runtime name constant for GTC agenda list tool */
4
5
  export declare const GtcAgendaListToolRuntimeName: "gtc-agenda-list-tool";
6
+ /**
7
+ * GTC agenda list tool runtime for displaying multiple agenda items.
8
+ *
9
+ * Provides list view of conference sessions and events.
10
+ */
5
11
  export type GtcAgendaListToolRuntime = UnisphereRuntimeBaseType<GtcAgendaListToolRuntimeSettings> & {
6
12
  readonly widgetName: typeof widgetName;
7
13
  readonly runtimeName: typeof GtcAgendaListToolRuntimeName;
8
14
  };
15
+ /**
16
+ * Configuration settings for the GTC agenda list tool runtime.
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * const settings: GtcAgendaListToolRuntimeSettings = {};
21
+ * ```
22
+ */
9
23
  export interface GtcAgendaListToolRuntimeSettings {
24
+ /** Settings schema version */
10
25
  schemaVersion?: string;
11
26
  }
12
27
  export declare const gtcAgendaListToolRuntimeSettingsSchema: ValidatorSchema;
@@ -1,5 +1,16 @@
1
1
  import { ValidatorSchema } from '@unisphere/core';
2
+ /**
3
+ * Visual settings for GTC agenda displayed in Genie answers.
4
+ *
5
+ * @example
6
+ * ```typescript
7
+ * const visualSettings: GtcAgendaToolRuntimeGenieAnswerVisualSettings = {
8
+ * id: 'session_123'
9
+ * };
10
+ * ```
11
+ */
2
12
  export interface GtcAgendaToolRuntimeGenieAnswerVisualSettings {
13
+ /** Unique identifier for the agenda session */
3
14
  id: string;
4
15
  }
5
16
  export declare const gtcAgendaToolRuntimeGenieAnswerVisualSettingsSchema: ValidatorSchema;
@@ -1,12 +1,27 @@
1
1
  import { ValidatorSchema } from '@unisphere/core';
2
2
  import { UnisphereRuntimeBaseType } from '@unisphere/runtime';
3
3
  import { widgetName } from '../widget-types';
4
+ /** Runtime name constant for GTC agenda tool */
4
5
  export declare const GtcAgendaToolRuntimeName: "gtc-agenda-tool";
6
+ /**
7
+ * GTC (GPU Technology Conference) agenda tool runtime.
8
+ *
9
+ * Provides conference agenda and schedule functionality.
10
+ */
5
11
  export type GtcAgendaToolRuntime = UnisphereRuntimeBaseType<GtcAgendaToolRuntimeSettings> & {
6
12
  readonly widgetName: typeof widgetName;
7
13
  readonly runtimeName: typeof GtcAgendaToolRuntimeName;
8
14
  };
15
+ /**
16
+ * Configuration settings for the GTC agenda tool runtime.
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * const settings: GtcAgendaToolRuntimeSettings = {};
21
+ * ```
22
+ */
9
23
  export interface GtcAgendaToolRuntimeSettings {
24
+ /** Settings schema version */
10
25
  schemaVersion?: string;
11
26
  }
12
27
  export declare const gtcAgendaToolRuntimeSettingsSchema: ValidatorSchema;
@@ -1,5 +1,16 @@
1
1
  import { ValidatorSchema } from '@unisphere/core';
2
+ /**
3
+ * Visual settings for Kaltura video player displayed in Genie answers.
4
+ *
5
+ * @example
6
+ * ```typescript
7
+ * const visualSettings: KalturaVideoPlayerToolRuntimeGenieAnswerVisualSettings = {
8
+ * id: 'player_123'
9
+ * };
10
+ * ```
11
+ */
2
12
  export interface KalturaVideoPlayerToolRuntimeGenieAnswerVisualSettings {
13
+ /** Unique identifier for the player instance */
3
14
  id: string;
4
15
  }
5
16
  export declare const kalturaVideoPlayerToolRuntimeGenieAnswerVisualSettingsSchema: ValidatorSchema;
@@ -1,15 +1,38 @@
1
1
  import { ValidatorSchema } from '@unisphere/core';
2
2
  import { UnisphereRuntimeBaseType } from '@unisphere/runtime';
3
3
  import { widgetName } from '../widget-types';
4
+ /** Runtime name constant for Kaltura video player tool */
4
5
  export declare const KalturaVideoPlayerToolRuntimeName: "kaltura-video-player-tool";
6
+ /**
7
+ * Kaltura video player tool runtime for embedded media playback.
8
+ *
9
+ * Provides Kaltura player integration within Genie experiences.
10
+ */
5
11
  export type KalturaVideoPlayerToolRuntime = UnisphereRuntimeBaseType<KalturaVideoPlayerToolRuntimeSettings> & {
6
12
  readonly widgetName: typeof widgetName;
7
13
  readonly runtimeName: typeof KalturaVideoPlayerToolRuntimeName;
8
14
  };
15
+ /**
16
+ * Configuration settings for the Kaltura video player tool runtime.
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * const settings: KalturaVideoPlayerToolRuntimeSettings = {
21
+ * kalturaServerURI: 'https://www.kaltura.com',
22
+ * partnerId: '12345',
23
+ * uiConfId: '54321',
24
+ * ks: 'your-kaltura-session-token'
25
+ * };
26
+ * ```
27
+ */
9
28
  export interface KalturaVideoPlayerToolRuntimeSettings {
29
+ /** Kaltura server URI */
10
30
  kalturaServerURI: string;
31
+ /** Kaltura partner ID */
11
32
  partnerId: string;
33
+ /** UI configuration ID */
12
34
  uiConfId: string;
35
+ /** Kaltura session token for authentication */
13
36
  ks: string;
14
37
  }
15
38
  export declare const kalturaVideoPlayerToolRuntimeSettingsSchema: ValidatorSchema;
@@ -1,37 +1,82 @@
1
1
  import { ValidatorSchema } from '@unisphere/core';
2
2
  import { UnisphereRuntimeBaseType, UnisphereService } from '@unisphere/runtime';
3
3
  import { widgetName } from '../widget-types';
4
+ /** Runtime name constant for NVIDIA 2026 event tool */
4
5
  export declare const Nvidia2026EventToolRuntimeName: "nvidia-2026-event-tool";
6
+ /**
7
+ * NVIDIA 2026 event tool runtime for event session management.
8
+ *
9
+ * Provides access to event session information and schedules.
10
+ */
5
11
  export type Nvidia2026EventToolRuntime = UnisphereRuntimeBaseType<Nvidia2026EventToolRuntimeSettings> & {
6
12
  readonly widgetName: typeof widgetName;
7
13
  readonly runtimeName: typeof Nvidia2026EventToolRuntimeName;
8
14
  };
15
+ /**
16
+ * Configuration settings for the NVIDIA 2026 event tool runtime.
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * const settings: Nvidia2026EventToolRuntimeSettings = {};
21
+ * ```
22
+ */
9
23
  export interface Nvidia2026EventToolRuntimeSettings {
24
+ /** Settings schema version */
10
25
  schemaVersion?: '1';
11
26
  }
12
27
  export declare const nvidia2026EventToolRuntimeSettingsSchema: ValidatorSchema;
28
+ /**
29
+ * NVIDIA event session information.
30
+ *
31
+ * Contains complete details about a conference session including schedule,
32
+ * speakers, and content metadata.
33
+ */
13
34
  export interface NvidiaSession {
35
+ /** Unique session identifier */
14
36
  sessionId: string;
37
+ /** Session title */
15
38
  title: string;
39
+ /** Session description/abstract */
16
40
  summary: string;
41
+ /** Session start date/time */
17
42
  startDate: string;
43
+ /** Session end date/time */
18
44
  endDate: string;
45
+ /** Session topic category */
19
46
  topic: string;
47
+ /** Target industry */
20
48
  industry: string;
49
+ /** Technical difficulty level */
21
50
  technicalLevel: string;
51
+ /** Intended audience description */
22
52
  intendedAudience: string;
53
+ /** NVIDIA technologies covered */
23
54
  nvidiaTechnology: string;
55
+ /** Key learning outcomes */
24
56
  keyTakeaways: string;
57
+ /** Speaker names */
25
58
  speakers: string;
59
+ /** Presentation language */
26
60
  language: string;
61
+ /** Physical location */
27
62
  location: string;
63
+ /** Session type (e.g., keynote, workshop) */
28
64
  type: string;
65
+ /** Room/venue name */
29
66
  room: string;
67
+ /** Associated media entry ID */
30
68
  entryId: string;
31
69
  }
70
+ /**
71
+ * Service interface for NVIDIA 2026 event data access.
72
+ */
32
73
  export interface Nvidia2026EventServiceType extends UnisphereService {
74
+ /** Service identifier */
33
75
  id: 'unisphere.widgets.genie.nvidia-2026-event';
76
+ /** Get media entry ID for a session */
34
77
  getEntryId(sessionId: string): string | null;
78
+ /** Get full session details by ID */
35
79
  getSession(sessionId: string): NvidiaSession | null;
80
+ /** Get multiple sessions by ID list */
36
81
  getSessionsList(sessionIds: string[]): NvidiaSession[];
37
82
  }
@@ -1,36 +1,116 @@
1
1
  import { ValidatorSchema } from '@unisphere/core';
2
2
  import { ChatBranding } from '../chat-runtime';
3
3
  import { AnswerTypeEnum } from '../types';
4
+ /**
5
+ * Chat UI customization options.
6
+ *
7
+ * @example
8
+ * Basic customization:
9
+ * ```typescript
10
+ * const customization: ChatCustomization = {
11
+ * theme: {
12
+ * translucent: true
13
+ * },
14
+ * scroll: 'container'
15
+ * };
16
+ * ```
17
+ *
18
+ * @example
19
+ * Advanced customization with initial page:
20
+ * ```typescript
21
+ * const customization: ChatCustomization = {
22
+ * context: {
23
+ * type: 'entry',
24
+ * entryId: 'video_123'
25
+ * },
26
+ * initialPage: {
27
+ * type: 'banner',
28
+ * title: 'Welcome to AI Chat',
29
+ * initialQuestions: [
30
+ * { text: 'What is this about?', answerType: AnswerTypeEnum.GENERAL },
31
+ * { text: 'Summarize this video' }
32
+ * ],
33
+ * background: {
34
+ * type: 'url',
35
+ * url: 'https://example.com/bg.jpg'
36
+ * }
37
+ * }
38
+ * };
39
+ * ```
40
+ */
4
41
  export interface ChatCustomization {
42
+ /** Context for the chat session (e.g., specific media entry) */
5
43
  context?: {
44
+ /** Context type - currently only 'entry' is supported */
6
45
  type: 'entry';
46
+ /** Media entry ID for context-aware conversations */
7
47
  entryId: string;
8
48
  };
49
+ /** Visual theme customization */
9
50
  theme?: {
51
+ /** Enable translucent/semi-transparent UI elements */
10
52
  translucent?: boolean;
11
53
  };
54
+ /** General behavior settings */
12
55
  general?: {
56
+ /** Use external player for media playback instead of embedded */
13
57
  useExternalPlayer?: boolean;
14
58
  };
59
+ /** New conversation thread settings */
15
60
  newThread?: {
61
+ /** Show/hide the new thread button */
16
62
  buttonVisible?: boolean;
17
63
  };
64
+ /** Default tool to select when chat starts */
18
65
  initialPreferredTool?: string;
66
+ /** Branding options (logo display, etc.) */
19
67
  branding?: ChatBranding;
68
+ /** Scroll container mode: 'body' for page scroll, 'container' for internal scroll, 'modal' for modal dialog */
20
69
  scroll?: 'body' | 'container' | 'modal';
70
+ /** Initial landing page configuration */
21
71
  initialPage?: {
72
+ /** Page layout type: 'default' for standard, 'banner' for hero-style */
22
73
  type?: 'default' | 'banner';
74
+ /** Page title text */
23
75
  title?: string;
76
+ /** Suggested questions to display on landing page */
24
77
  initialQuestions?: InitialQuestion[];
78
+ /** Background image configuration */
25
79
  background?: Background;
26
80
  };
27
81
  }
82
+ /**
83
+ * Suggested question for initial chat page.
84
+ *
85
+ * @example
86
+ * ```typescript
87
+ * const question: InitialQuestion = {
88
+ * text: 'What topics are covered?',
89
+ * answerType: AnswerTypeEnum.GENERAL
90
+ * };
91
+ * ```
92
+ */
28
93
  export type InitialQuestion = {
94
+ /** Question text to display */
29
95
  text: string;
96
+ /** Preferred answer type for this question */
30
97
  answerType?: AnswerTypeEnum;
31
98
  };
99
+ /**
100
+ * Background image configuration.
101
+ *
102
+ * @example
103
+ * ```typescript
104
+ * const bg: Background = {
105
+ * type: 'url',
106
+ * url: 'https://example.com/image.jpg'
107
+ * };
108
+ * ```
109
+ */
32
110
  export type Background = {
111
+ /** Background type - currently only 'url' is supported */
33
112
  type: 'url';
113
+ /** Image URL */
34
114
  url: string;
35
115
  };
36
116
  export declare const chatCustomizationSchema: ValidatorSchema;
@@ -2,43 +2,95 @@ import { UnisphereService } from '@unisphere/runtime';
2
2
  import { TinyPubSub } from '@unisphere/core';
3
3
  import { AnswerModel, AnswerType } from '../types';
4
4
  import { GlobalChatSettings } from '../chat-runtime';
5
+ /**
6
+ * Parameters for generating clip player URLs.
7
+ */
5
8
  type ClassGenieGetClipPlayerUrlData = {
9
+ /** Media entry ID */
6
10
  entryId: string;
11
+ /** Clip start time in seconds */
7
12
  startTime?: number;
13
+ /** Clip end time in seconds */
8
14
  endTime?: number;
15
+ /** Initial playback position in seconds */
9
16
  playFrom?: number;
10
17
  };
18
+ /**
19
+ * Parameters for generating clip poster/thumbnail URLs.
20
+ */
11
21
  type ClassGenieGetClipPlayerPosterUrlData = {
22
+ /** Media entry ID */
12
23
  entryId: string;
24
+ /** Thumbnail timestamp in seconds */
13
25
  startTime?: number;
14
26
  };
27
+ /**
28
+ * Genie chat service interface providing chat functionality and media integration.
29
+ *
30
+ * This service enables AI chat interactions, manages conversation state,
31
+ * and integrates with Kaltura media players.
32
+ */
15
33
  export interface GenieChatServiceType extends UnisphereService {
34
+ /** Service identifier */
16
35
  id: 'unisphere.widgets.genie.chat';
36
+ /** Generate URL for video clip player with time range */
17
37
  getClipPlayerUrl?: (source: ClassGenieGetClipPlayerUrlData) => string | null;
38
+ /** Generate poster/thumbnail URL for video clip */
18
39
  getClipPlayerPosterUrl: (source: ClassGenieGetClipPlayerPosterUrlData) => string;
40
+ /** Generate source URL for media entry with optional start time */
19
41
  getEntrySourceUrl: (entryId: string, startTime?: number) => string;
42
+ /** Observable for submitting questions and getting AI answers */
20
43
  getAnswer: TinyPubSub<{
44
+ /** Question text to ask */
21
45
  question: string;
46
+ /** Clear chat history before answering */
22
47
  clearPreviousChat?: boolean;
48
+ /** Preferred answer type */
23
49
  answerType?: AnswerType;
50
+ /** Preferred answer model */
24
51
  answerModel?: AnswerModel;
52
+ /** Block ID for retry operations */
53
+ retryBlockId?: string;
25
54
  }>;
55
+ /** Observable for fetching thread messages */
56
+ getThreadMessages: TinyPubSub<{
57
+ /** Optional thread ID to fetch messages from */
58
+ threadId?: string;
59
+ /** Block ID for retry operations */
60
+ retryBlockId?: string;
61
+ }>;
62
+ /** Observable for stopping active answer generation */
26
63
  stopAnswer: TinyPubSub<void>;
64
+ /** Observable that fires when answer type changes */
27
65
  answerTypeChanged: TinyPubSub<AnswerType>;
66
+ /** Set the preferred answer type */
28
67
  setAnswerType(type: AnswerType): void;
68
+ /** Get the current answer type */
29
69
  getAnswerType(): AnswerType;
70
+ /** Observable that fires when answer model changes */
30
71
  answerModelChanged: TinyPubSub<AnswerModel | undefined>;
72
+ /** Set the preferred answer model */
31
73
  setAnswerModel(model: AnswerModel | undefined): void;
74
+ /** Get the current answer model */
32
75
  getAnswerModel(): AnswerModel | undefined;
76
+ /** Get UI configuration ID */
33
77
  getUiconfId(): string | null;
78
+ /** Get Kaltura player initialization parameters */
34
79
  getKalturaPlayerParams(): {
80
+ /** Kaltura server URI */
35
81
  kalturaServerURI: string;
82
+ /** Partner ID */
36
83
  partnerId: string;
84
+ /** UI configuration ID */
37
85
  uiConfId: string;
86
+ /** Kaltura session token */
38
87
  ks: string;
39
88
  };
89
+ /** Set reference to the container DOM element */
40
90
  setContainerRef(ref: HTMLDivElement | null): void;
91
+ /** Get reference to the container DOM element */
41
92
  getContainerRef(): HTMLDivElement | null;
93
+ /** Global chat configuration settings */
42
94
  get globalChatSettings(): GlobalChatSettings;
43
95
  }
44
96
  export {};
@@ -1,11 +1,30 @@
1
1
  import { ValidatorSchema } from '@unisphere/core';
2
2
  import { ChatCustomization } from './chat-customizations-types';
3
+ /** Visual block loading and status states */
3
4
  type UnisphereToolStatuses = 'loading' | 'ready' | 'error';
5
+ /**
6
+ * Context information for rendering visual blocks in chat.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * const context: BlockVisualContext = {
11
+ * threadId: 'thread-123',
12
+ * messageId: 'msg-456',
13
+ * status: 'ready',
14
+ * groupIndex: 0
15
+ * };
16
+ * ```
17
+ */
4
18
  export interface BlockVisualContext {
19
+ /** Thread identifier for the conversation */
5
20
  threadId?: string;
21
+ /** Message identifier within the thread */
6
22
  messageId?: string;
23
+ /** Current loading/display status */
7
24
  status: UnisphereToolStatuses;
25
+ /** Index within a group of related blocks */
8
26
  groupIndex?: number;
27
+ /** Custom UI styling and behavior options */
9
28
  customization?: ChatCustomization;
10
29
  }
11
30
  export declare const blockVisualContextSchema: ValidatorSchema;
@@ -3,17 +3,55 @@ import { UnisphereRuntimeBaseType } from '@unisphere/runtime';
3
3
  import { widgetName } from '../widget-types';
4
4
  import { SourcesItemType } from '../types';
5
5
  import { BlockVisualContext } from '../shared/general-visual-types';
6
+ /** Runtime name constant for sources tool */
6
7
  export declare const SourcesToolRuntimeName: "sources-tool";
8
+ /**
9
+ * Sources tool runtime interface for displaying content references.
10
+ *
11
+ * Provides visual display of source materials (videos, documents) referenced in AI answers.
12
+ */
7
13
  export type SourcesToolRuntime = UnisphereRuntimeBaseType<SourcesToolRuntimeSettings> & {
8
14
  readonly widgetName: typeof widgetName;
9
15
  readonly runtimeName: typeof SourcesToolRuntimeName;
10
16
  };
17
+ /**
18
+ * Configuration settings for the sources tool runtime.
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * const settings: SourcesToolRuntimeSettings = {};
23
+ * ```
24
+ */
11
25
  export interface SourcesToolRuntimeSettings {
26
+ /** Settings schema version */
12
27
  schemaVersion?: string;
13
28
  }
14
29
  export declare const sourcesToolRuntimeSettingsSchema: ValidatorSchema;
30
+ /**
31
+ * Visual settings for source citations displayed in Genie answers.
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * const visualSettings: SourcesToolRuntimeGenieAnswerVisualSettings = {
36
+ * variant: 'compact',
37
+ * sources: [
38
+ * {
39
+ * type: 'video',
40
+ * title: 'Introduction to AI',
41
+ * entry_id: 'video_123',
42
+ * duration: 600,
43
+ * has_short: true
44
+ * }
45
+ * ]
46
+ * };
47
+ * ```
48
+ */
15
49
  export type SourcesToolRuntimeGenieAnswerVisualSettings = {
50
+ /** Visual block context for rendering */
16
51
  blockContext?: BlockVisualContext;
52
+ /** Array of source items to display */
17
53
  sources?: SourcesItemType[];
54
+ /** Display variant: 'default' for full display, 'compact' for condensed view */
55
+ variant?: 'default' | 'compact';
18
56
  };
19
57
  export declare const sourcesToolRuntimeGenieAnswerVisualSettingsSchema: ValidatorSchema;
@@ -2,23 +2,78 @@ import { ValidatorSchema } from '@unisphere/core';
2
2
  import { UnisphereRuntimeBaseType } from '@unisphere/runtime';
3
3
  import { widgetName } from '../widget-types';
4
4
  import { BlockVisualContext } from '../shared/general-visual-types';
5
+ /** Runtime name constant for summary tool */
5
6
  export declare const SummaryToolRuntimeName: "summary-tool";
7
+ /**
8
+ * Summary tool runtime interface for content summarization.
9
+ *
10
+ * Provides AI-generated summaries and chapter breakdowns for media content.
11
+ */
6
12
  export type SummaryToolRuntime = UnisphereRuntimeBaseType<SummaryToolRuntimeSettings> & {
7
13
  readonly widgetName: typeof widgetName;
8
14
  readonly runtimeName: typeof SummaryToolRuntimeName;
9
15
  };
16
+ /**
17
+ * Configuration settings for the summary tool runtime.
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * const settings: SummaryToolRuntimeSettings = {};
22
+ * ```
23
+ */
10
24
  export interface SummaryToolRuntimeSettings {
25
+ /** Settings schema version */
11
26
  schemaVersion?: string;
12
27
  }
13
28
  export declare const summaryToolRuntimeSettingsSchema: ValidatorSchema;
29
+ /**
30
+ * Chapter information for content navigation.
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * const chapter: Chapter = {
35
+ * start_time: '120',
36
+ * title: 'Introduction to Machine Learning',
37
+ * description: 'Basic concepts and definitions'
38
+ * };
39
+ * ```
40
+ */
14
41
  export interface Chapter {
42
+ /** Chapter start time in seconds (as string) */
15
43
  start_time: string;
44
+ /** Chapter title */
16
45
  title: string;
46
+ /** Optional chapter description */
17
47
  description?: string;
18
48
  }
49
+ /**
50
+ * Visual settings for content summaries displayed in Genie answers.
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * const visualSettings: summaryToolRuntimeGenieAnswerVisualSettings = {
55
+ * summary: 'This video covers the fundamentals of AI...',
56
+ * chapters: [
57
+ * {
58
+ * start_time: '0',
59
+ * title: 'Introduction',
60
+ * description: 'Course overview'
61
+ * },
62
+ * {
63
+ * start_time: '120',
64
+ * title: 'Core Concepts',
65
+ * description: 'Key terminology'
66
+ * }
67
+ * ]
68
+ * };
69
+ * ```
70
+ */
19
71
  export interface summaryToolRuntimeGenieAnswerVisualSettings {
72
+ /** Visual block context for rendering */
20
73
  blockContext?: BlockVisualContext;
74
+ /** Text summary of the content */
21
75
  summary?: string;
76
+ /** Array of chapter markers with timestamps */
22
77
  chapters?: Chapter[];
23
78
  }
24
79
  export declare const summaryToolRuntimeGenieAnswerVisualSettingsSchema: ValidatorSchema;