@epam/ai-dial-chat-shared 1.1.0-dev.8

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 (93) hide show
  1. package/components/DeploymentIcon/DeploymentIcon.d.ts +45 -0
  2. package/components/DeploymentIcon/DeploymentIcon.d.ts.map +1 -0
  3. package/components/Highlight/Highlight.d.ts +26 -0
  4. package/components/Highlight/Highlight.d.ts.map +1 -0
  5. package/components/InitialsAvatar/InitialsAvatar.d.ts +16 -0
  6. package/components/InitialsAvatar/InitialsAvatar.d.ts.map +1 -0
  7. package/components/MarkdownRenderer/CodeBlock/CodeBlock.d.ts +50 -0
  8. package/components/MarkdownRenderer/CodeBlock/CodeBlock.d.ts.map +1 -0
  9. package/components/MarkdownRenderer/CodeBlock/syntax-theme.d.ts +7 -0
  10. package/components/MarkdownRenderer/CodeBlock/syntax-theme.d.ts.map +1 -0
  11. package/components/MarkdownRenderer/MDMessageViewer.d.ts +31 -0
  12. package/components/MarkdownRenderer/MDMessageViewer.d.ts.map +1 -0
  13. package/components/MarkdownRenderer/MarkdownRenderer.d.ts +112 -0
  14. package/components/MarkdownRenderer/MarkdownRenderer.d.ts.map +1 -0
  15. package/components/MarkdownRenderer/Table/MarkdownTable.d.ts +34 -0
  16. package/components/MarkdownRenderer/Table/MarkdownTable.d.ts.map +1 -0
  17. package/components/MarkdownRenderer/TaskCheckbox/MarkdownTaskCheckbox.d.ts +13 -0
  18. package/components/MarkdownRenderer/TaskCheckbox/MarkdownTaskCheckbox.d.ts.map +1 -0
  19. package/components/MarkdownRenderer/markdown-class-names.d.ts +4 -0
  20. package/components/MarkdownRenderer/markdown-class-names.d.ts.map +1 -0
  21. package/components/PanelEmptyState/PanelEmptyState.d.ts +20 -0
  22. package/components/PanelEmptyState/PanelEmptyState.d.ts.map +1 -0
  23. package/constants/dial.d.ts +3 -0
  24. package/constants/dial.d.ts.map +1 -0
  25. package/constants/icon.d.ts +12 -0
  26. package/constants/icon.d.ts.map +1 -0
  27. package/constants/mime-types.d.ts +10 -0
  28. package/constants/mime-types.d.ts.map +1 -0
  29. package/hooks/useCodeCopy.d.ts +14 -0
  30. package/hooks/useCodeCopy.d.ts.map +1 -0
  31. package/hooks/useCollapsedText.d.ts +31 -0
  32. package/hooks/useCollapsedText.d.ts.map +1 -0
  33. package/hooks/useIsMobile.d.ts +3 -0
  34. package/hooks/useIsMobile.d.ts.map +1 -0
  35. package/hooks/useStreamedMarkdownContent.d.ts +3 -0
  36. package/hooks/useStreamedMarkdownContent.d.ts.map +1 -0
  37. package/hooks/useTableScroll.d.ts +16 -0
  38. package/hooks/useTableScroll.d.ts.map +1 -0
  39. package/index.css +2 -0
  40. package/index.d.ts +41 -0
  41. package/index.d.ts.map +1 -0
  42. package/index.js +26490 -0
  43. package/models/annotation.d.ts +78 -0
  44. package/models/annotation.d.ts.map +1 -0
  45. package/models/auth.d.ts +26 -0
  46. package/models/auth.d.ts.map +1 -0
  47. package/models/chat.d.ts +304 -0
  48. package/models/chat.d.ts.map +1 -0
  49. package/models/deployment-configuration.d.ts +61 -0
  50. package/models/deployment-configuration.d.ts.map +1 -0
  51. package/models/deployment-features.d.ts +17 -0
  52. package/models/deployment-features.d.ts.map +1 -0
  53. package/models/deployment.d.ts +31 -0
  54. package/models/deployment.d.ts.map +1 -0
  55. package/models/dial-model.d.ts +19 -0
  56. package/models/dial-model.d.ts.map +1 -0
  57. package/models/import-export.d.ts +23 -0
  58. package/models/import-export.d.ts.map +1 -0
  59. package/models/theme.d.ts +36 -0
  60. package/models/theme.d.ts.map +1 -0
  61. package/package.json +36 -0
  62. package/types/attachment.d.ts +23 -0
  63. package/types/attachment.d.ts.map +1 -0
  64. package/types/code-editor.d.ts +8 -0
  65. package/types/code-editor.d.ts.map +1 -0
  66. package/types/mime-type.d.ts +59 -0
  67. package/types/mime-type.d.ts.map +1 -0
  68. package/types/overlay/overlay-protocol.d.ts +308 -0
  69. package/types/overlay/overlay-protocol.d.ts.map +1 -0
  70. package/utils/avatar-color.d.ts +13 -0
  71. package/utils/avatar-color.d.ts.map +1 -0
  72. package/utils/build-css-vars.d.ts +7 -0
  73. package/utils/build-css-vars.d.ts.map +1 -0
  74. package/utils/copy-to-clipboard.d.ts +15 -0
  75. package/utils/copy-to-clipboard.d.ts.map +1 -0
  76. package/utils/file-download.d.ts +9 -0
  77. package/utils/file-download.d.ts.map +1 -0
  78. package/utils/format-file-size.d.ts +3 -0
  79. package/utils/format-file-size.d.ts.map +1 -0
  80. package/utils/format-last-used.d.ts +8 -0
  81. package/utils/format-last-used.d.ts.map +1 -0
  82. package/utils/initials.d.ts +9 -0
  83. package/utils/initials.d.ts.map +1 -0
  84. package/utils/is-audio-transcription-supported.d.ts +3 -0
  85. package/utils/is-audio-transcription-supported.d.ts.map +1 -0
  86. package/utils/merge-class.d.ts +4 -0
  87. package/utils/merge-class.d.ts.map +1 -0
  88. package/utils/message-attachment-to-display.d.ts +22 -0
  89. package/utils/message-attachment-to-display.d.ts.map +1 -0
  90. package/utils/message.d.ts +10 -0
  91. package/utils/message.d.ts.map +1 -0
  92. package/utils/string-utils.d.ts +5 -0
  93. package/utils/string-utils.d.ts.map +1 -0
@@ -0,0 +1,78 @@
1
+ /** Selector that targets a character range in a text string. All indices are inclusive. */
2
+ export interface TextCharacterRangeSelector {
3
+ /** Discriminator — always `'text_character_range'`. */
4
+ type: 'text_character_range';
5
+ /** Zero-based start index (inclusive). */
6
+ start: number;
7
+ /** Zero-based end index (inclusive). */
8
+ end: number;
9
+ }
10
+ /** Selector that targets an axis-aligned bounding box on a specific PDF page. */
11
+ export interface PdfBBoxSelector {
12
+ /** Discriminator — always `'pdf_bbox'`. */
13
+ type: 'pdf_bbox';
14
+ /** 1-based PDF page number. */
15
+ page: number;
16
+ /** Left edge coordinate. */
17
+ x1: number;
18
+ /** Top edge coordinate. */
19
+ y1: number;
20
+ /** Right edge coordinate. */
21
+ x2: number;
22
+ /** Bottom edge coordinate. */
23
+ y2: number;
24
+ }
25
+ /**
26
+ * Discriminated union of all recognised annotation selector shapes.
27
+ * Unknown selector types are preserved as an open record to allow forward-compatibility.
28
+ */
29
+ export type AnnotationSelector = TextCharacterRangeSelector | PdfBBoxSelector | {
30
+ type: string;
31
+ [key: string]: unknown;
32
+ };
33
+ /** Identifies the part of the message (or a related resource) that the annotation refers to. */
34
+ export interface AnnotationTarget {
35
+ /** Source resource being targeted. `null` or absent means the first content part of the response. */
36
+ source?: unknown;
37
+ /** Character-range or document-region selector within the targeted source. */
38
+ selector?: AnnotationSelector;
39
+ }
40
+ /** A file attachment referenced by a citation — same shape as `MessageAttachment` but scoped to annotations. */
41
+ export interface AttachmentResource {
42
+ /** MIME type of the attached file (e.g. `'application/pdf'`). */
43
+ type: string;
44
+ /** Remote URL pointing to the file content. */
45
+ url: string;
46
+ /** Human-readable display name for the file. Used in citation markers. */
47
+ title?: string;
48
+ }
49
+ /** Identifies the cited document attached to the annotation. */
50
+ export interface AnnotationSource {
51
+ /** Always `'attachment'` for file-based sources. */
52
+ type: 'attachment';
53
+ /** The cited file — auto-shared by DIAL Core so the recipient can access it. */
54
+ attachment: AttachmentResource;
55
+ }
56
+ /** Payload of the annotation: the cited text excerpt, its source document, and optional styling hints. */
57
+ export interface AnnotationBody {
58
+ /** Human-readable title of the cited section or document. */
59
+ title?: string;
60
+ /** The literal text excerpt being cited. */
61
+ quote?: string;
62
+ /** The cited source document (present when the annotation references a file). */
63
+ source?: AnnotationSource;
64
+ /** Selectors pointing to the cited region within the source document. */
65
+ selector?: AnnotationSelector | AnnotationSelector[];
66
+ /** Client-defined styling hints (e.g. highlight color). Treated as open-ended; unknown keys are preserved. */
67
+ configuration?: Record<string, unknown>;
68
+ }
69
+ /** A single annotation attached to an assistant message, optionally citing a source document. */
70
+ export interface Annotation {
71
+ /** Zero-based position in the annotation list; used to merge streaming delta updates. */
72
+ index?: number;
73
+ /** Which part of the message text (or a request resource) is annotated. */
74
+ target?: AnnotationTarget;
75
+ /** The annotation payload: quoted text, source document, and optional styling. */
76
+ body?: AnnotationBody;
77
+ }
78
+ //# sourceMappingURL=annotation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotation.d.ts","sourceRoot":"","sources":["../../src/models/annotation.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,MAAM,WAAW,0BAA0B;IACzC,uDAAuD;IACvD,IAAI,EAAE,sBAAsB,CAAC;IAC7B,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B,2CAA2C;IAC3C,IAAI,EAAE,UAAU,CAAC;IACjB,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,2BAA2B;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,6BAA6B;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAC1B,0BAA0B,GAC1B,eAAe,GACf;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AAE7C,gGAAgG;AAChG,MAAM,WAAW,gBAAgB;IAC/B,qGAAqG;IACrG,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED,gHAAgH;AAChH,MAAM,WAAW,kBAAkB;IACjC,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,GAAG,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,gEAAgE;AAChE,MAAM,WAAW,gBAAgB;IAC/B,oDAAoD;IACpD,IAAI,EAAE,YAAY,CAAC;IACnB,gFAAgF;IAChF,UAAU,EAAE,kBAAkB,CAAC;CAChC;AAED,0GAA0G;AAC1G,MAAM,WAAW,cAAc;IAC7B,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,yEAAyE;IACzE,QAAQ,CAAC,EAAE,kBAAkB,GAAG,kBAAkB,EAAE,CAAC;IACrD,8GAA8G;IAC9G,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC;AAED,iGAAiG;AACjG,MAAM,WAAW,UAAU;IACzB,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,kFAAkF;IAClF,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB"}
@@ -0,0 +1,26 @@
1
+ /** Authenticated user's profile as returned by the identity provider. */
2
+ export interface UserProfile {
3
+ /** Subject identifier — unique, stable ID for the user within the provider. */
4
+ sub: string;
5
+ /** ID of the identity provider that authenticated the user. */
6
+ providerId: string;
7
+ /**
8
+ * Allowlisted claims, keyed by claim name. A dot-notation provider
9
+ * `rolesClaim` (e.g. `"realm_access.roles"`) is stored under one flat key
10
+ * equal to that literal string, never as a nested object — look it up
11
+ * with `claims[rolesClaim]`, not a nested path.
12
+ */
13
+ claims: Record<string, unknown>;
14
+ /** DIAL Core storage bucket for the authenticated user. Empty string when the bucket has not been resolved yet. */
15
+ bucket?: string;
16
+ /** Whether the user's roles claim intersects the provider's configured adminRoles. */
17
+ isAdmin: boolean;
18
+ }
19
+ /** Describes an available identity provider. */
20
+ export interface ProviderInfo {
21
+ /** Unique provider identifier used in API calls. */
22
+ id: string;
23
+ /** Human-readable display name shown in the UI. */
24
+ label: string;
25
+ }
26
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/models/auth.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,MAAM,WAAW,WAAW;IAC1B,+EAA+E;IAC/E,GAAG,EAAE,MAAM,CAAC;IACZ,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,mHAAmH;IACnH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sFAAsF;IACtF,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,gDAAgD;AAChD,MAAM,WAAW,YAAY;IAC3B,oDAAoD;IACpD,EAAE,EAAE,MAAM,CAAC;IACX,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,304 @@
1
+ import { AttachmentErrorReason, AttachmentType } from '../types/attachment';
2
+ import { MIMEType } from '../types/mime-type';
3
+ import { Annotation } from './annotation';
4
+ import { DeploymentConfigurationSchema } from './deployment-configuration';
5
+ import { ResponseFormat } from './deployment-features';
6
+ /** Metadata returned by the DIAL file/conversation listing API for a single resource node. */
7
+ export interface ConversationMetadata {
8
+ /** Display name of the resource. */
9
+ name: string;
10
+ /** Optional author identifier. */
11
+ author?: string;
12
+ /** Path of the parent folder in the resource tree. */
13
+ parentPath: string;
14
+ /** Storage bucket the resource belongs to. */
15
+ bucket: string;
16
+ /** Full resource URL used to fetch or reference the item. */
17
+ url: string;
18
+ /** Node type as returned by the backend (e.g. `'ITEM'`, `'FOLDER'`). */
19
+ nodeType: string;
20
+ /** Resource type discriminator (e.g. `'Conversation'`). */
21
+ resourceType: string;
22
+ /** ETag for optimistic concurrency / cache validation. */
23
+ etag?: string;
24
+ /** Unix timestamp (ms) when the resource was created. */
25
+ createdAt?: number;
26
+ /** Unix timestamp (ms) of the last modification. */
27
+ updatedAt?: number;
28
+ /** Permission strings granted to the current user for this resource. */
29
+ permissions?: string[];
30
+ }
31
+ /** Identifies the author of a chat message. */
32
+ export declare enum MessageRole {
33
+ User = "user",
34
+ Assistant = "assistant",
35
+ /** In-conversation system event; never sent to DIAL Core. */
36
+ Status = "status"
37
+ }
38
+ /** A user-submitted thumbs-up or thumbs-down rating for an assistant message.
39
+ * Stored as a signed integer that DIAL Core adds to the message's running like count:
40
+ * `Like = 1` increments the count, `Dislike = -1` decrements it. */
41
+ export declare enum MessageRating {
42
+ Like = 1,
43
+ Dislike = -1
44
+ }
45
+ /** Status of a single agent stage. */
46
+ export declare enum StageStatus {
47
+ /** The stage completed successfully. */
48
+ Completed = "completed",
49
+ /** The stage encountered an error. */
50
+ Failed = "failed"
51
+ }
52
+ /** Permitted scalar/array types for a single form field value. */
53
+ export type MessageFormValueType = number | string | boolean | string[];
54
+ /**
55
+ * A key-value map submitted from a form widget embedded in a message.
56
+ * Keys are field identifiers; values are typed form field values (or `undefined` for unset fields).
57
+ */
58
+ export type MessageFormValue = Record<string, MessageFormValueType | undefined>;
59
+ /** Discriminator values for `StatusMessageCustomContent.event_type`. */
60
+ export declare enum StatusEvent {
61
+ ModelChanged = "model_changed"
62
+ }
63
+ /**
64
+ * Extra payload attached to a `MessageRole.Status` message.
65
+ * Discriminated by `event_type`; forward-compatible with future event types.
66
+ */
67
+ export interface StatusMessageCustomContent {
68
+ /** Machine-readable event discriminator. */
69
+ event_type: StatusEvent;
70
+ /** ID of the deployment that was active before the change, or `null` for the first selection. */
71
+ previous_deployment_id: string | null;
72
+ /** ID of the deployment selected after the change. */
73
+ new_deployment_id: string;
74
+ }
75
+ /** Extra DIAL API payload attached to a message. */
76
+ export interface MessageCustomContent {
77
+ /** Files or media items associated with this message. */
78
+ attachments?: MessageAttachment[];
79
+ /** Annotations produced by the model, each optionally citing a source document. */
80
+ annotations?: Annotation[];
81
+ /** Form field values submitted via an embedded form widget. */
82
+ form_value?: MessageFormValue;
83
+ /**
84
+ * JSON Schema for a button/form widget embedded in an assistant response.
85
+ * Populated from the streaming delta's `custom_content.form_schema`.
86
+ */
87
+ form_schema?: DeploymentConfigurationSchema;
88
+ /**
89
+ * Configuration value submitted with the next user turn when a button is selected.
90
+ * Keys match the `propertyKey` from the `form_schema` (e.g. `{ button: 3 }`).
91
+ */
92
+ configuration_value?: Record<string, unknown>;
93
+ /** Accumulated agent execution stages streamed via `custom_content.stages`. */
94
+ stages?: Stage[];
95
+ }
96
+ /** A single message in a conversation. */
97
+ export interface Message {
98
+ /** Who authored the message. */
99
+ role: MessageRole;
100
+ /** Plain-text (or Markdown) message body. */
101
+ content: string;
102
+ /** ISO-8601 timestamp of when the message was created. */
103
+ timestamp: string;
104
+ /** DIAL Core response identifier used for the rate API. Present on the final chunk. */
105
+ responseId?: string;
106
+ /**
107
+ * Extra DIAL API payload attached to the message.
108
+ * Present on both user requests (uploaded files) and assistant responses
109
+ * (generated/referenced files).
110
+ */
111
+ custom_content?: MessageCustomContent;
112
+ /** User-submitted rating for this message. Only meaningful for assistant messages. Stored in-memory only; not persisted. */
113
+ rating?: MessageRating;
114
+ /**
115
+ * ID of the deployment that generated this message.
116
+ * Set on `MessageRole.Assistant` and `MessageRole.Status` messages.
117
+ * Used to render the deployment icon next to assistant responses.
118
+ */
119
+ deploymentId?: string;
120
+ /** Allows extra SDK-level properties to pass through when serializing to DIAL Core. */
121
+ [key: string]: unknown;
122
+ }
123
+ /**
124
+ * An in-conversation system event message produced by the client (never forwarded to DIAL Core).
125
+ * Discriminated from `Message` by `role: MessageRole.Status`.
126
+ * Defined as a standalone interface rather than extending `Message` because
127
+ * `custom_content` has an incompatible type (`StatusMessageCustomContent` vs
128
+ * `MessageCustomContent`), which prevents structural subtyping.
129
+ */
130
+ export interface StatusMessage extends Omit<Message, 'role' | 'custom_content'> {
131
+ /** Always `MessageRole.Status` for status messages. */
132
+ role: MessageRole.Status;
133
+ /** Status event payload. */
134
+ custom_content?: StatusMessageCustomContent;
135
+ }
136
+ /**
137
+ * A single stage entry produced by an agent during a streaming response.
138
+ * Stages are delivered incrementally via `StreamChunkDelta.custom_content.stages`.
139
+ */
140
+ export interface Stage {
141
+ /** Zero-based ordering key; used to merge/upsert incoming stage updates. */
142
+ index: number;
143
+ /** Human-readable label for this stage (e.g. `"Lookup available terms"`). */
144
+ name: string;
145
+ /** `null` while the stage is running; a `StageStatus` value when it has settled. */
146
+ status: StageStatus | null;
147
+ /** Additional text content for this stage, accumulated from streaming chunks. */
148
+ content?: string;
149
+ /** File or content attachments associated with this stage. */
150
+ attachments?: MessageAttachment[];
151
+ /**
152
+ * Short source/category label shown beside the step name (e.g. `"MCP"`).
153
+ * Rendered only when present — never inferred from `name`.
154
+ */
155
+ tag?: string;
156
+ }
157
+ /** Incremental content delta inside a streaming SSE chunk. */
158
+ export interface StreamChunkDelta {
159
+ /** Partial text token appended to the assistant message. */
160
+ content?: string;
161
+ /** Role field — only present in the first chunk of a response. */
162
+ role?: string;
163
+ /** DIAL Core response identifier used for the rate API. Present on the final chunk. */
164
+ responseId?: string;
165
+ /**
166
+ * Partial custom content carried in this chunk.
167
+ * `form_schema`, `attachments`, and `stages` may arrive in separate chunks or together in the final chunk.
168
+ */
169
+ custom_content?: {
170
+ /** Incremental stage updates; merge by `index` into the accumulating stage list. */
171
+ stages?: Stage[];
172
+ /** JSON Schema for a button/form widget; arrives once the model decides to embed a form. */
173
+ form_schema?: DeploymentConfigurationSchema;
174
+ /** AI-generated files produced by the model; typically present in the final chunk. */
175
+ attachments?: MessageAttachment[];
176
+ /** Partial annotation updates; merge by `index` into the accumulating annotation list. */
177
+ annotations?: Annotation[];
178
+ };
179
+ /**
180
+ * Raw custom fields in the DIAL wire format.
181
+ * Annotations here use `pdf_region` selectors and `attachment_index` references
182
+ * and must be normalized to the internal model before use.
183
+ */
184
+ custom_fields?: {
185
+ /** Raw annotations in the DIAL wire format; must be normalized before use. */
186
+ annotations?: unknown[];
187
+ };
188
+ }
189
+ /** A single server-sent event chunk from the streaming completions endpoint. */
190
+ export interface StreamChunk {
191
+ /** Unique identifier for the completion stream. */
192
+ id: string;
193
+ /** Discriminator — always `'chat.completion.chunk'` for streaming responses. */
194
+ object: 'chat.completion.chunk';
195
+ /** One choice per requested completion (usually one entry). */
196
+ choices: Array<{
197
+ /** Partial token delta for this chunk. */
198
+ delta: StreamChunkDelta;
199
+ /** Set to a non-null string (e.g. `'stop'`) when the stream ends. */
200
+ finish_reason: string | null;
201
+ /** Zero-based index of this choice. */
202
+ index: number;
203
+ }>;
204
+ /**
205
+ * Present when DIAL Core signals an error inside the SSE stream instead of
206
+ * (or in addition to) a non-2xx HTTP status.
207
+ */
208
+ error?: {
209
+ /** Human-readable error description. */
210
+ message: string;
211
+ /** Machine-readable error category (e.g. `'invalid_request_error'`). */
212
+ type?: string;
213
+ };
214
+ }
215
+ /** Generic async-operation status, reusable for any request lifecycle. */
216
+ export declare enum RequestStatus {
217
+ /** No request has been made yet. */
218
+ Idle = "idle",
219
+ /** A request is in-flight. */
220
+ Loading = "loading",
221
+ /** The most recent request failed. */
222
+ Error = "error"
223
+ }
224
+ /** Represents a file or content item that can be displayed as an attachment. */
225
+ export interface DisplayAttachment {
226
+ /** Unique client-side identifier. */
227
+ id: string;
228
+ /** Display name (usually the original filename). */
229
+ name: string;
230
+ /** MIME type of the attachment (e.g. `'image/png'`, `'application/pdf'`). */
231
+ contentType: MIMEType | string;
232
+ /** Content category used to select the correct icon and thumbnail. */
233
+ type: AttachmentType;
234
+ /** Upload / processing lifecycle state. */
235
+ status: RequestStatus;
236
+ /** Reason the upload failed; only set when `status === RequestStatus.Error`. */
237
+ errorReason?: AttachmentErrorReason;
238
+ /** Object URL for image preview; only set when `type === AttachmentType.Image`. */
239
+ previewUrl?: string;
240
+ /** Resolved playback URL for audio; only set when `type === AttachmentType.Audio`. */
241
+ playUrl?: string;
242
+ /** Remote URL for an attachment that has already been uploaded. */
243
+ url?: string;
244
+ /** Alternate reference URL (e.g. from the DIAL API `reference_url` field); used when `url` is absent. */
245
+ referenceUrl?: string;
246
+ /** Inline base-64 encoded content; present when the attachment carries data directly rather than via a URL. */
247
+ data?: string;
248
+ }
249
+ /** Attachment selected locally by the user before it is sent to the backend. */
250
+ export interface Attachment extends DisplayAttachment {
251
+ /** The underlying browser `File` object selected by the user. */
252
+ file: File;
253
+ }
254
+ /**
255
+ * Attachment payload stored in message custom content.
256
+ * Used inside `Message.custom_content.attachments` for both user requests
257
+ * and assistant responses.
258
+ */
259
+ export interface MessageAttachment {
260
+ /** Zero-based position in the attachment list. */
261
+ index?: number;
262
+ /** MIME type of the attachment content. May be absent in streamed runtime payloads. */
263
+ type?: MIMEType | string;
264
+ /** Display name shown in the UI. */
265
+ title: string;
266
+ /** Inline base-64 encoded content (mutually exclusive with `url`). */
267
+ data?: string;
268
+ /** Remote URL pointing to the attachment content. */
269
+ url?: string;
270
+ /** MIME type of the referenced resource (used with `reference_url`). */
271
+ reference_type?: MIMEType | string;
272
+ /** URL of an alternate reference resource (e.g. a download link). */
273
+ reference_url?: string;
274
+ }
275
+ /** A full conversation including its messages and configuration. */
276
+ export interface Conversation {
277
+ /** Unique conversation identifier. */
278
+ id: string;
279
+ /** Identifier of the folder this conversation lives in. */
280
+ folderId: string;
281
+ /** Human-readable conversation title. */
282
+ name: string;
283
+ /** The AI model used for this conversation. */
284
+ model: {
285
+ id: string;
286
+ };
287
+ /** System prompt prepended to every request. */
288
+ prompt: string;
289
+ /** Sampling temperature passed to the model (0–1). */
290
+ temperature: number;
291
+ /** Ordered list of messages in the conversation. */
292
+ messages: Message[];
293
+ /** Unix timestamp (ms) of the most recent activity. */
294
+ lastActivityDate: number;
295
+ /** Unix timestamp (ms) of the last save. */
296
+ updatedAt: number;
297
+ /** Add-on IDs enabled for this conversation. */
298
+ selectedAddons: string[];
299
+ /** Override model ID used when an assistant model is selected. */
300
+ assistantModelId: string;
301
+ /** Response format used when rendering messages. */
302
+ responseFormat?: ResponseFormat;
303
+ }
304
+ //# sourceMappingURL=chat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/models/chat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /** DIAL-specific options for a single starter button entry. */
2
+ export interface StarterWidgetOptions {
3
+ /** Text to populate in the input field when the starter is selected. */
4
+ populateText: string | null;
5
+ /** When true, automatically submits the message after populating the input. */
6
+ submit: boolean;
7
+ /** Optional confirmation message shown before submission. */
8
+ confirmationMessage: string | null;
9
+ }
10
+ /**
11
+ * A single entry in the `starter` property's `oneOf` array.
12
+ * Represents one quick-start conversation button.
13
+ */
14
+ export interface StarterOption {
15
+ /** Numeric index used as the schema `const` value. */
16
+ const: number;
17
+ /** Display label for the starter button. */
18
+ title: string;
19
+ /** DIAL widget options controlling input population and auto-submit behaviour. */
20
+ 'dial:widgetOptions': StarterWidgetOptions;
21
+ }
22
+ /**
23
+ * A single property entry within a deployment's configuration JSON Schema.
24
+ * Each key in `DeploymentConfigurationSchema.properties` maps to this shape.
25
+ */
26
+ export interface DeploymentConfigurationSchemaProperty {
27
+ /** Default value for this property. */
28
+ default?: unknown;
29
+ /** Human-readable description of this property. */
30
+ description?: string;
31
+ /** DIAL-specific widget hint (e.g. "buttons"). */
32
+ 'dial:widget'?: string;
33
+ /** List of allowed value variants (JSON Schema oneOf). For the `starter` property these are {@link StarterOption} entries. */
34
+ oneOf?: StarterOption[] | unknown[];
35
+ /** Index signature for additional JSON Schema keywords. */
36
+ [key: string]: unknown;
37
+ }
38
+ /**
39
+ * JSON Schema object returned by the DIAL Core deployment configuration endpoint
40
+ * (`GET /v1/deployments/{deployment_name}/configuration`).
41
+ * Only present for deployments whose `features.configuration` flag is `true`.
42
+ */
43
+ export interface DeploymentConfigurationSchema {
44
+ /** JSON Schema type (typically "object"). */
45
+ type?: string;
46
+ /** Human-readable schema title. */
47
+ title?: string;
48
+ /** Whether additional properties are allowed, or a schema for them. */
49
+ additionalProperties?: boolean | Record<string, unknown>;
50
+ /** Named configuration properties supported by this deployment. */
51
+ properties?: Record<string, DeploymentConfigurationSchemaProperty>;
52
+ /**
53
+ * When `true`, the application does not accept free-form text input.
54
+ * Users interact only via form/action buttons defined in the schema.
55
+ * Mapped from `dial:chatMessageInputDisabled` by the backend.
56
+ */
57
+ isChatMessageInputDisabled?: boolean;
58
+ /** Index signature for additional JSON Schema keywords. */
59
+ [key: string]: unknown;
60
+ }
61
+ //# sourceMappingURL=deployment-configuration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployment-configuration.d.ts","sourceRoot":"","sources":["../../src/models/deployment-configuration.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,MAAM,WAAW,oBAAoB;IACnC,wEAAwE;IACxE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,+EAA+E;IAC/E,MAAM,EAAE,OAAO,CAAC;IAChB,6DAA6D;IAC7D,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,sDAAsD;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,oBAAoB,EAAE,oBAAoB,CAAC;CAC5C;AAED;;;GAGG;AACH,MAAM,WAAW,qCAAqC;IACpD,uCAAuC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8HAA8H;IAC9H,KAAK,CAAC,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,2DAA2D;IAC3D,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,6BAA6B;IAC5C,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,oBAAoB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzD,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qCAAqC,CAAC,CAAC;IACnE;;;;OAIG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,2DAA2D;IAC3D,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
@@ -0,0 +1,17 @@
1
+ /** Response format options for conversation messages. */
2
+ export declare enum ResponseFormat {
3
+ /** Messages are rendered as Markdown. */
4
+ Markdown = "markdown",
5
+ /** Messages are rendered as plain text. */
6
+ PlainText = "plain_text"
7
+ }
8
+ /** Feature flags for a deployment, controlling which per-conversation settings are available. */
9
+ export interface DeploymentFeatures {
10
+ /** Whether the deployment supports a custom system prompt. */
11
+ systemPrompt: boolean;
12
+ /** Whether the deployment supports temperature control. */
13
+ temperature: boolean;
14
+ /** Whether the deployment supports response format selection. */
15
+ responseFormat?: boolean;
16
+ }
17
+ //# sourceMappingURL=deployment-features.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployment-features.d.ts","sourceRoot":"","sources":["../../src/models/deployment-features.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,oBAAY,cAAc;IACxB,yCAAyC;IACzC,QAAQ,aAAa;IACrB,2CAA2C;IAC3C,SAAS,eAAe;CACzB;AAED,iGAAiG;AACjG,MAAM,WAAW,kBAAkB;IACjC,8DAA8D;IAC9D,YAAY,EAAE,OAAO,CAAC;IACtB,2DAA2D;IAC3D,WAAW,EAAE,OAAO,CAAC;IACrB,iEAAiE;IACjE,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B"}
@@ -0,0 +1,31 @@
1
+ import { DeploymentFeatures } from './deployment-features';
2
+ /** A host-agnostic view model for a single deployment shown in UI components. */
3
+ export interface DeploymentItem {
4
+ /** Unique stable identifier from DIAL Core. */
5
+ id: string;
6
+ /** Human-readable display name. Falls back to `id` when absent. */
7
+ displayName?: string;
8
+ /** URL-safe icon reference. Resolved to a usable `<img src>` by the host app before passing. */
9
+ iconUrl?: string;
10
+ /** Deployment kind — used to choose a fallback icon. Typically `'model'` or `'application'`. */
11
+ type?: string;
12
+ /** MIME types accepted as input attachments (e.g. `['audio/*', 'image/*']`). Undefined when not specified by DIAL Core. */
13
+ inputAttachmentTypes?: string[];
14
+ /** Feature flags for this deployment, controlling which per-conversation settings are available. */
15
+ features?: DeploymentFeatures;
16
+ /** Maximum number of attachments allowed per message. Undefined when not specified by DIAL Core. */
17
+ maxInputAttachments?: number;
18
+ /** Human-readable description of the deployment. */
19
+ description?: string;
20
+ /** Timestamp of last update time from DIAL Core (e.g. 1714768496000). */
21
+ updatedAt?: number;
22
+ /** Display version string. */
23
+ displayVersion?: string;
24
+ /** Whether this deployment is featured (configured via env). */
25
+ isFeatured?: boolean;
26
+ /** Whether this deployment is hidden (configured via env). */
27
+ isHidden?: boolean;
28
+ /** Topics associated with the deployment. */
29
+ topics?: string[];
30
+ }
31
+ //# sourceMappingURL=deployment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployment.d.ts","sourceRoot":"","sources":["../../src/models/deployment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,iFAAiF;AACjF,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gGAAgG;IAChG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gGAAgG;IAChG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2HAA2H;IAC3H,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,oGAAoG;IACpG,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,oGAAoG;IACpG,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gEAAgE;IAChE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB"}
@@ -0,0 +1,19 @@
1
+ /** A model entry as returned by the DIAL Core `/v1/models` endpoint. */
2
+ export interface DialModel {
3
+ /** Unique model identifier used in API calls. */
4
+ id: string;
5
+ /** Discriminator — always `'model'`. */
6
+ object: string;
7
+ /** Unix timestamp (s) when the model was created. */
8
+ created?: number;
9
+ /** Identifier of the model owner/provider. */
10
+ owned_by?: string;
11
+ /** Index signature for additional provider-specific fields. */
12
+ [key: string]: unknown;
13
+ }
14
+ /** Response envelope for the DIAL Core model-listing endpoint. */
15
+ export interface DialModelListResponse {
16
+ /** List of available models. */
17
+ data: DialModel[];
18
+ }
19
+ //# sourceMappingURL=dial-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dial-model.d.ts","sourceRoot":"","sources":["../../src/models/dial-model.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,MAAM,WAAW,SAAS;IACxB,iDAAiD;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,kEAAkE;AAClE,MAAM,WAAW,qBAAqB;IACpC,gCAAgC;IAChC,IAAI,EAAE,SAAS,EAAE,CAAC;CACnB"}
@@ -0,0 +1,23 @@
1
+ import { Conversation } from './chat';
2
+ /** A minimal conversation-folder record carried in an export file. */
3
+ export interface ExportFolder {
4
+ /** Unique folder identifier. */
5
+ id: string;
6
+ /** Display name of the folder. */
7
+ name: string;
8
+ /** Identifier of the parent folder, if nested. */
9
+ folderId?: string;
10
+ }
11
+ /**
12
+ * Versioned JSON envelope produced by conversation export, and read back on
13
+ * import.
14
+ */
15
+ export interface ExportFormat {
16
+ /** Format version discriminator. Only `5` is currently produced or accepted. */
17
+ version: 5;
18
+ /** Exported conversations. */
19
+ history: Conversation[];
20
+ /** Folders the exported conversations belong to. */
21
+ folders: ExportFolder[];
22
+ }
23
+ //# sourceMappingURL=import-export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-export.d.ts","sourceRoot":"","sources":["../../src/models/import-export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,sEAAsE;AACtE,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,gFAAgF;IAChF,OAAO,EAAE,CAAC,CAAC;IACX,8BAA8B;IAC9B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,oDAAoD;IACpD,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB"}
@@ -0,0 +1,36 @@
1
+ /** Root theme configuration loaded from the server at startup. */
2
+ export interface ThemeConfiguration {
3
+ /** Available themes the user can switch between. */
4
+ themes: Theme[];
5
+ /** Global image/icon assets shared across all themes. */
6
+ images: ThemeImages;
7
+ }
8
+ /**
9
+ * Theme-specific images and icons
10
+ */
11
+ export interface ThemeImages {
12
+ /** Fallback icon URL used when an add-on has no custom image. */
13
+ 'default-addon': string;
14
+ /** Fallback icon URL used when a model has no custom image. */
15
+ 'default-model': string;
16
+ /** Browser tab favicon URL. */
17
+ favicon: string;
18
+ /** Light theme logo URL */
19
+ 'chat-logo-light'?: string;
20
+ /** Dark theme logo URL */
21
+ 'chat-logo-dark'?: string;
22
+ /** Dynamic favicon URL (PNG format, 32x32 recommended) */
23
+ 'chat-favicon'?: string;
24
+ }
25
+ /** A single selectable UI theme. */
26
+ export interface Theme {
27
+ /** Unique theme identifier (e.g. `'dark'`, `'light'`). */
28
+ id: string;
29
+ /** Human-readable name shown in the theme picker. */
30
+ displayName: string;
31
+ /** CSS custom-property overrides keyed by variable name (without `--` prefix). */
32
+ colors: Record<string, string>;
33
+ /** URL of the application logo asset for this theme. */
34
+ 'app-logo': string;
35
+ }
36
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/models/theme.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,MAAM,WAAW,kBAAkB;IACjC,oDAAoD;IACpD,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,yDAAyD;IACzD,MAAM,EAAE,WAAW,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,iEAAiE;IACjE,eAAe,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,eAAe,EAAE,MAAM,CAAC;IACxB,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0BAA0B;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,oCAAoC;AACpC,MAAM,WAAW,KAAK;IACpB,0DAA0D;IAC1D,EAAE,EAAE,MAAM,CAAC;IACX,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,wDAAwD;IACxD,UAAU,EAAE,MAAM,CAAC;CACpB"}