@epam/ai-dial-chat-shared 1.1.0-dev.23 → 1.1.0-dev.230
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/components/CopyButton/CopyButton.d.ts +17 -0
- package/components/CopyButton/CopyButton.d.ts.map +1 -0
- package/components/DeploymentIcon/DeploymentIcon.d.ts +1 -10
- package/components/DeploymentIcon/DeploymentIcon.d.ts.map +1 -1
- package/components/EntityHeader/EntityHeader.d.ts +32 -0
- package/components/EntityHeader/EntityHeader.d.ts.map +1 -0
- package/components/EntityTypeLabel/EntityTypeLabel.d.ts +16 -0
- package/components/EntityTypeLabel/EntityTypeLabel.d.ts.map +1 -0
- package/components/FeaturedChip/FeaturedChip.d.ts +14 -0
- package/components/FeaturedChip/FeaturedChip.d.ts.map +1 -0
- package/components/InitialsAvatar/InitialsAvatar.d.ts +3 -4
- package/components/InitialsAvatar/InitialsAvatar.d.ts.map +1 -1
- package/components/ItemHeader/ItemHeader.d.ts +36 -0
- package/components/ItemHeader/ItemHeader.d.ts.map +1 -0
- package/components/MarkdownRenderer/CodeBlock/CodeBlock.d.ts +9 -6
- package/components/MarkdownRenderer/CodeBlock/CodeBlock.d.ts.map +1 -1
- package/components/MarkdownRenderer/MarkdownRenderer.d.ts +23 -12
- package/components/MarkdownRenderer/MarkdownRenderer.d.ts.map +1 -1
- package/components/MarkdownRenderer/Table/MarkdownTable.d.ts +8 -5
- package/components/MarkdownRenderer/Table/MarkdownTable.d.ts.map +1 -1
- package/components/MarkdownRenderer/TaskCheckbox/MarkdownTaskCheckbox.d.ts +1 -5
- package/components/MarkdownRenderer/TaskCheckbox/MarkdownTaskCheckbox.d.ts.map +1 -1
- package/components/MarkdownRenderer/markdown-class-names.d.ts.map +1 -1
- package/components/MarkdownWithPlaceholders/MarkdownWithPlaceholders.d.ts +15 -0
- package/components/MarkdownWithPlaceholders/MarkdownWithPlaceholders.d.ts.map +1 -0
- package/components/ResourceSummary/ResourceSummary.d.ts +35 -0
- package/components/ResourceSummary/ResourceSummary.d.ts.map +1 -0
- package/constants/entity-colors.d.ts +6 -0
- package/constants/entity-colors.d.ts.map +1 -0
- package/constants/icon.d.ts +2 -0
- package/constants/icon.d.ts.map +1 -1
- package/constants/mime-types.d.ts +3 -6
- package/constants/mime-types.d.ts.map +1 -1
- package/hooks/useCodeCopy.d.ts +1 -9
- package/hooks/useCodeCopy.d.ts.map +1 -1
- package/hooks/useCollapsedText.d.ts +3 -7
- package/hooks/useCollapsedText.d.ts.map +1 -1
- package/hooks/useTableScroll.d.ts +1 -0
- package/hooks/useTableScroll.d.ts.map +1 -1
- package/index.css +1 -1
- package/index.d.ts +16 -2
- package/index.d.ts.map +1 -1
- package/index.js +32556 -8208
- package/models/chat.d.ts +19 -38
- package/models/chat.d.ts.map +1 -1
- package/models/custom-visualizer.d.ts +61 -0
- package/models/custom-visualizer.d.ts.map +1 -0
- package/models/deployment-configuration.d.ts +2 -8
- package/models/deployment-configuration.d.ts.map +1 -1
- package/models/entity.d.ts +15 -0
- package/models/entity.d.ts.map +1 -0
- package/models/tool-menu-item.d.ts +13 -0
- package/models/tool-menu-item.d.ts.map +1 -0
- package/package.json +13 -4
- package/types/entity-type.d.ts +10 -0
- package/types/entity-type.d.ts.map +1 -0
- package/types/mime-type.d.ts +9 -9
- package/types/mime-type.d.ts.map +1 -1
- package/utils/avatar-color.d.ts +3 -6
- package/utils/avatar-color.d.ts.map +1 -1
- package/utils/build-css-vars.d.ts +1 -4
- package/utils/build-css-vars.d.ts.map +1 -1
- package/utils/copy-to-clipboard.d.ts +6 -11
- package/utils/copy-to-clipboard.d.ts.map +1 -1
- package/utils/file-download.d.ts +4 -0
- package/utils/file-download.d.ts.map +1 -1
- package/utils/format-last-used.d.ts +1 -6
- package/utils/format-last-used.d.ts.map +1 -1
- package/utils/format-price.d.ts +5 -0
- package/utils/format-price.d.ts.map +1 -0
- package/utils/initials.d.ts +1 -7
- package/utils/initials.d.ts.map +1 -1
- package/utils/latex.d.ts +11 -0
- package/utils/latex.d.ts.map +1 -0
- package/utils/message-attachment-to-display.d.ts +1 -1
- package/utils/message-attachment-to-display.d.ts.map +1 -1
- package/utils/message.d.ts +1 -7
- package/utils/message.d.ts.map +1 -1
- package/utils/mime-type.d.ts +11 -0
- package/utils/mime-type.d.ts.map +1 -0
- package/utils/prompt-variables.d.ts +38 -0
- package/utils/prompt-variables.d.ts.map +1 -0
- package/components/Highlight/Highlight.d.ts +0 -26
- package/components/Highlight/Highlight.d.ts.map +0 -1
- package/types/overlay/overlay-protocol.d.ts +0 -308
- package/types/overlay/overlay-protocol.d.ts.map +0 -1
package/models/chat.d.ts
CHANGED
|
@@ -35,9 +35,7 @@ export declare enum MessageRole {
|
|
|
35
35
|
/** In-conversation system event; never sent to DIAL Core. */
|
|
36
36
|
Status = "status"
|
|
37
37
|
}
|
|
38
|
-
/**
|
|
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. */
|
|
38
|
+
/** User-submitted thumbs-up or thumbs-down rating for an assistant message. */
|
|
41
39
|
export declare enum MessageRating {
|
|
42
40
|
Like = 1,
|
|
43
41
|
Dislike = -1
|
|
@@ -51,19 +49,13 @@ export declare enum StageStatus {
|
|
|
51
49
|
}
|
|
52
50
|
/** Permitted scalar/array types for a single form field value. */
|
|
53
51
|
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
|
-
*/
|
|
52
|
+
/** Key-value map of field identifiers to form field values, submitted from an embedded form widget. */
|
|
58
53
|
export type MessageFormValue = Record<string, MessageFormValueType | undefined>;
|
|
59
54
|
/** Discriminator values for `StatusMessageCustomContent.event_type`. */
|
|
60
55
|
export declare enum StatusEvent {
|
|
61
56
|
ModelChanged = "model_changed"
|
|
62
57
|
}
|
|
63
|
-
/**
|
|
64
|
-
* Extra payload attached to a `MessageRole.Status` message.
|
|
65
|
-
* Discriminated by `event_type`; forward-compatible with future event types.
|
|
66
|
-
*/
|
|
58
|
+
/** Extra payload attached to a `MessageRole.Status` message. */
|
|
67
59
|
export interface StatusMessageCustomContent {
|
|
68
60
|
/** Machine-readable event discriminator. */
|
|
69
61
|
event_type: StatusEvent;
|
|
@@ -92,6 +84,11 @@ export interface MessageCustomContent {
|
|
|
92
84
|
configuration_value?: Record<string, unknown>;
|
|
93
85
|
/** Accumulated agent execution stages streamed via `custom_content.stages`. */
|
|
94
86
|
stages?: Stage[];
|
|
87
|
+
/**
|
|
88
|
+
* Opaque app-managed state echoed back verbatim on the next turn, per the DIAL
|
|
89
|
+
* stateful-app contract. Overwritten (not merged) by each new streaming delta.
|
|
90
|
+
*/
|
|
91
|
+
state?: Record<string, unknown>;
|
|
95
92
|
}
|
|
96
93
|
/** A single message in a conversation. */
|
|
97
94
|
export interface Message {
|
|
@@ -103,40 +100,24 @@ export interface Message {
|
|
|
103
100
|
timestamp: string;
|
|
104
101
|
/** DIAL Core response identifier used for the rate API. Present on the final chunk. */
|
|
105
102
|
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
|
-
*/
|
|
103
|
+
/** Extra DIAL API payload; present on user requests and assistant responses. */
|
|
111
104
|
custom_content?: MessageCustomContent;
|
|
112
|
-
/** User-submitted rating for this message.
|
|
105
|
+
/** User-submitted rating for this message. */
|
|
113
106
|
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
|
-
*/
|
|
107
|
+
/** Deployment ID on `MessageRole.Assistant` and `MessageRole.Status` messages. */
|
|
119
108
|
deploymentId?: string;
|
|
109
|
+
streamErrorMessage?: string;
|
|
120
110
|
/** Allows extra SDK-level properties to pass through when serializing to DIAL Core. */
|
|
121
111
|
[key: string]: unknown;
|
|
122
112
|
}
|
|
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
|
-
*/
|
|
113
|
+
/** In-conversation system event message, always with `role: MessageRole.Status`. */
|
|
130
114
|
export interface StatusMessage extends Omit<Message, 'role' | 'custom_content'> {
|
|
131
115
|
/** Always `MessageRole.Status` for status messages. */
|
|
132
116
|
role: MessageRole.Status;
|
|
133
117
|
/** Status event payload. */
|
|
134
118
|
custom_content?: StatusMessageCustomContent;
|
|
135
119
|
}
|
|
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
|
-
*/
|
|
120
|
+
/** A single agent execution stage produced during a streaming response. */
|
|
140
121
|
export interface Stage {
|
|
141
122
|
/** Zero-based ordering key; used to merge/upsert incoming stage updates. */
|
|
142
123
|
index: number;
|
|
@@ -175,12 +156,10 @@ export interface StreamChunkDelta {
|
|
|
175
156
|
attachments?: MessageAttachment[];
|
|
176
157
|
/** Partial annotation updates; merge by `index` into the accumulating annotation list. */
|
|
177
158
|
annotations?: Annotation[];
|
|
159
|
+
/** Opaque app-managed state for the DIAL stateful-app contract; overwrites any previous value. */
|
|
160
|
+
state?: Record<string, unknown>;
|
|
178
161
|
};
|
|
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
|
-
*/
|
|
162
|
+
/** Raw custom fields in the DIAL wire format. */
|
|
184
163
|
custom_fields?: {
|
|
185
164
|
/** Raw annotations in the DIAL wire format; must be normalized before use. */
|
|
186
165
|
annotations?: unknown[];
|
|
@@ -288,6 +267,8 @@ export interface Conversation {
|
|
|
288
267
|
prompt: string;
|
|
289
268
|
/** Sampling temperature passed to the model (0–1). */
|
|
290
269
|
temperature: number;
|
|
270
|
+
/** Optional Responses-API output-token cap, forwarded as `max_output_tokens`. Never derived from deployment limits or Chat Completions defaults. */
|
|
271
|
+
maxOutputTokens?: number;
|
|
291
272
|
/** Ordered list of messages in the conversation. */
|
|
292
273
|
messages: Message[];
|
|
293
274
|
/** Unix timestamp (ms) of the most recent activity. */
|
package/models/chat.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/models/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,8FAA8F;AAC9F,MAAM,WAAW,oBAAoB;IACnC,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,GAAG,EAAE,MAAM,CAAC;IACZ,wEAAwE;IACxE,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,YAAY,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,+CAA+C;AAC/C,oBAAY,WAAW;IACrB,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,6DAA6D;IAC7D,MAAM,WAAW;CAClB;AAED
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/models/chat.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A single MIME → visualizer mapping from the `CUSTOM_VISUALIZERS` registry.
|
|
3
|
+
* Field semantics are fixed by already-deployed visualizer applications and
|
|
4
|
+
* operator configurations — see `design.md` D9/D10 in the
|
|
5
|
+
* `add-custom-visualizers` change for why `title` is required and
|
|
6
|
+
* `contentType` accepts a comma-separated list.
|
|
7
|
+
*/
|
|
8
|
+
export interface CustomVisualizer {
|
|
9
|
+
/**
|
|
10
|
+
* The postMessage protocol namespace, NOT a display label. Every message
|
|
11
|
+
* exchanged with the iframe is prefixed `${title}/…`, and the iframe-side
|
|
12
|
+
* visualizer application must be constructed with this identical string
|
|
13
|
+
* as its `appName`. A mismatch is a silent failure — the iframe loads but
|
|
14
|
+
* never receives data.
|
|
15
|
+
*/
|
|
16
|
+
title: string;
|
|
17
|
+
/** Human-readable description of the visualizer (kept for parity with the development schema; not consumed by host UI). */
|
|
18
|
+
description?: string;
|
|
19
|
+
/** Icon URL or identifier for the visualizer (kept for parity with the development schema; not consumed by host UI). */
|
|
20
|
+
icon?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Comma-separated list of one or more MIME types this entry matches (e.g.
|
|
23
|
+
* `'application/vnd.plotly.v1+json'` or
|
|
24
|
+
* `'application/vnd.plotly.v1+json, application/vnd.vega.v5+json'`).
|
|
25
|
+
* Stored verbatim; splitting happens at lookup time.
|
|
26
|
+
*/
|
|
27
|
+
contentType: string;
|
|
28
|
+
/** Absolute HTTP(S) URL of the visualizer iframe. */
|
|
29
|
+
url: string;
|
|
30
|
+
/** Milliseconds to wait for a `send()` request's `/RESPONSE` before rejecting. Defaults to `10000`. Does NOT bound the initial handshake. */
|
|
31
|
+
requestTimeout?: number;
|
|
32
|
+
/** Suggested initial width of the canvas panel in pixels. Forwarded as-is in `CustomVisualizerDataLayout`. */
|
|
33
|
+
width?: number;
|
|
34
|
+
/** Suggested initial height of the canvas panel in pixels. Forwarded as-is in `CustomVisualizerDataLayout`. */
|
|
35
|
+
height?: number;
|
|
36
|
+
/** Suggested canvas panel height on mobile viewports in pixels. Forwarded as-is in `CustomVisualizerDataLayout`. */
|
|
37
|
+
mobileHeight?: number;
|
|
38
|
+
/** Whether the host should pass auth info to the visualizer. Accepted for schema parity with development but auth forwarding is not yet wired. */
|
|
39
|
+
passAuthInfo?: boolean;
|
|
40
|
+
/** Whether the host should pass an explicit access token. Accepted for schema parity with development but auth forwarding is not yet wired. */
|
|
41
|
+
passExplicitToken?: boolean;
|
|
42
|
+
}
|
|
43
|
+
/** Presentation-only layout hints forwarded to the visualizer inside `SEND_VISUALIZE_DATA`. */
|
|
44
|
+
export interface CustomVisualizerDataLayout {
|
|
45
|
+
/** Suggested width of the canvas panel in pixels (from the registry entry). */
|
|
46
|
+
width?: number;
|
|
47
|
+
/** Suggested height of the canvas panel in pixels (from the registry entry). */
|
|
48
|
+
height?: number;
|
|
49
|
+
/** Suggested height on mobile-sized screens in pixels (from the registry entry). */
|
|
50
|
+
mobileHeight?: number;
|
|
51
|
+
/** Id of the host's currently active theme. */
|
|
52
|
+
themeId: string;
|
|
53
|
+
}
|
|
54
|
+
/** Payload of a `SEND_VISUALIZE_DATA` request: presentation layout plus the opaque attachment payload. */
|
|
55
|
+
export interface CustomVisualizerData {
|
|
56
|
+
/** Presentation layout hints. */
|
|
57
|
+
layout: CustomVisualizerDataLayout;
|
|
58
|
+
/** Opaque attachment payload consumed by the third-party visualizer. */
|
|
59
|
+
[key: string]: unknown;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=custom-visualizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-visualizer.d.ts","sourceRoot":"","sources":["../../src/models/custom-visualizer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,2HAA2H;IAC3H,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wHAAwH;IACxH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAC;IACZ,6IAA6I;IAC7I,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8GAA8G;IAC9G,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+GAA+G;IAC/G,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oHAAoH;IACpH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kJAAkJ;IAClJ,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,+IAA+I;IAC/I,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,+FAA+F;AAC/F,MAAM,WAAW,0BAA0B;IACzC,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,0GAA0G;AAC1G,MAAM,WAAW,oBAAoB;IACnC,iCAAiC;IACjC,MAAM,EAAE,0BAA0B,CAAC;IACnC,wEAAwE;IACxE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
|
|
@@ -7,10 +7,7 @@ export interface StarterWidgetOptions {
|
|
|
7
7
|
/** Optional confirmation message shown before submission. */
|
|
8
8
|
confirmationMessage: string | null;
|
|
9
9
|
}
|
|
10
|
-
/**
|
|
11
|
-
* A single entry in the `starter` property's `oneOf` array.
|
|
12
|
-
* Represents one quick-start conversation button.
|
|
13
|
-
*/
|
|
10
|
+
/** A quick-start conversation button entry in the `starter` property's `oneOf` array. */
|
|
14
11
|
export interface StarterOption {
|
|
15
12
|
/** Numeric index used as the schema `const` value. */
|
|
16
13
|
const: number;
|
|
@@ -19,10 +16,7 @@ export interface StarterOption {
|
|
|
19
16
|
/** DIAL widget options controlling input population and auto-submit behaviour. */
|
|
20
17
|
'dial:widgetOptions': StarterWidgetOptions;
|
|
21
18
|
}
|
|
22
|
-
/**
|
|
23
|
-
* A single property entry within a deployment's configuration JSON Schema.
|
|
24
|
-
* Each key in `DeploymentConfigurationSchema.properties` maps to this shape.
|
|
25
|
-
*/
|
|
19
|
+
/** A single property entry in a deployment's configuration JSON Schema. */
|
|
26
20
|
export interface DeploymentConfigurationSchemaProperty {
|
|
27
21
|
/** Default value for this property. */
|
|
28
22
|
default?: unknown;
|
|
@@ -1 +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
|
|
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,yFAAyF;AACzF,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,2EAA2E;AAC3E,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,15 @@
|
|
|
1
|
+
import { CatalogEntityType } from '../types/entity-type';
|
|
2
|
+
/** Minimal entity identity fields rendered by `EntityHeader`. */
|
|
3
|
+
export interface EntityHeaderItem {
|
|
4
|
+
/** Entity category. */
|
|
5
|
+
type: CatalogEntityType;
|
|
6
|
+
/** Display name. */
|
|
7
|
+
name: string;
|
|
8
|
+
/** Version string shown next to the name. */
|
|
9
|
+
version: string;
|
|
10
|
+
/** URL of the icon displayed inside the logo mark. */
|
|
11
|
+
iconUrl?: string;
|
|
12
|
+
/** Whether the entity is marked as featured. */
|
|
13
|
+
isFeatured?: boolean;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=entity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/models/entity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAC/B,uBAAuB;IACvB,IAAI,EAAE,iBAAiB,CAAC;IACxB,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
/** Resolved tool toggle item rendered in the conversation input tools submenu. */
|
|
3
|
+
export interface ToolMenuItem {
|
|
4
|
+
/** Unique tool identifier matching the deployment configuration schema property key. */
|
|
5
|
+
id: string;
|
|
6
|
+
/** Human-readable label displayed next to the tool icon. */
|
|
7
|
+
label: string;
|
|
8
|
+
/** Icon element rendered inline before the label. */
|
|
9
|
+
icon: ReactNode;
|
|
10
|
+
/** Whether the tool is currently toggled on. */
|
|
11
|
+
isSelected: boolean;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=tool-menu-item.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-menu-item.d.ts","sourceRoot":"","sources":["../../src/models/tool-menu-item.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,kFAAkF;AAClF,MAAM,WAAW,YAAY;IAC3B,wFAAwF;IACxF,EAAE,EAAE,MAAM,CAAC;IACX,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,IAAI,EAAE,SAAS,CAAC;IAChB,gDAAgD;IAChD,UAAU,EAAE,OAAO,CAAC;CACrB"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@epam/ai-dial-chat-shared",
|
|
3
3
|
"description": "Shared domain models, utilities, and UI components for AI DIAL Chat libraries",
|
|
4
|
-
"version": "1.1.0-dev.
|
|
4
|
+
"version": "1.1.0-dev.230",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./index.js",
|
|
@@ -17,16 +17,25 @@
|
|
|
17
17
|
},
|
|
18
18
|
"peerDependencies": {
|
|
19
19
|
"react": "^19.2.6",
|
|
20
|
-
"@epam/ai-dial-ui-kit": "0.12.0-dev.36",
|
|
21
20
|
"vitest": "~4.1.0",
|
|
22
21
|
"@tabler/icons-react": "^3.44.0",
|
|
23
22
|
"react-syntax-highlighter": "^16.1.1",
|
|
24
23
|
"react-markdown": "^10.1.0",
|
|
25
|
-
"remark-
|
|
24
|
+
"remark-breaks": "^4.0.0",
|
|
25
|
+
"remark-gfm": "^4.0.1",
|
|
26
|
+
"remark-math": "^6.0.0",
|
|
27
|
+
"rehype-katex": "^7.0.1",
|
|
28
|
+
"katex": "^0.16.22",
|
|
29
|
+
"@epam/ai-dial-ui-kit": "^0.13.0-dev.26"
|
|
26
30
|
},
|
|
27
31
|
"dependencies": {
|
|
28
32
|
"classnames": "2.5.1",
|
|
29
|
-
"
|
|
33
|
+
"dompurify": "3.4.13",
|
|
34
|
+
"rehype-stringify": "^10.0.1",
|
|
35
|
+
"remark-parse": "^11.0.0",
|
|
36
|
+
"remark-rehype": "^11.1.2",
|
|
37
|
+
"tailwind-merge": "^3.6.0",
|
|
38
|
+
"unified": "^11.0.5"
|
|
30
39
|
},
|
|
31
40
|
"repository": {
|
|
32
41
|
"type": "git",
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** Entity type for a catalog item. Values are uppercase for direct color-map lookup. */
|
|
2
|
+
export declare enum CatalogEntityType {
|
|
3
|
+
Model = "MODEL",
|
|
4
|
+
Agent = "AGENT",
|
|
5
|
+
Toolset = "TOOLSET",
|
|
6
|
+
Skill = "SKILL",
|
|
7
|
+
/** Reusable text prompt. Carries a body instead of a runtime. */
|
|
8
|
+
Prompt = "PROMPT"
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=entity-type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-type.d.ts","sourceRoot":"","sources":["../../src/types/entity-type.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,oBAAY,iBAAiB;IAC3B,KAAK,UAAU;IACf,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,iEAAiE;IACjE,MAAM,WAAW;CAClB"}
|
package/types/mime-type.d.ts
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Well-known MIME type constants used in DIAL API attachments.
|
|
3
|
-
* For arbitrary subtypes, pass a plain `string` alongside this enum.
|
|
4
|
-
*/
|
|
1
|
+
/** Well-known MIME type constants used in DIAL API attachments. */
|
|
5
2
|
export declare enum MIMEType {
|
|
6
3
|
/** GitHub-flavoured Markdown. */
|
|
7
4
|
Markdown = "text/markdown",
|
|
@@ -40,12 +37,15 @@ export declare enum MIMEType {
|
|
|
40
37
|
/** BMP bitmap image. */
|
|
41
38
|
BMP = "image/bmp",
|
|
42
39
|
/** SVG vector image. */
|
|
43
|
-
SVG = "image/svg+xml"
|
|
40
|
+
SVG = "image/svg+xml",
|
|
41
|
+
/** MPEG audio (`.mp3`). */
|
|
42
|
+
MP3 = "audio/mpeg",
|
|
43
|
+
/** WAV audio. */
|
|
44
|
+
WAV = "audio/wav",
|
|
45
|
+
/** Ogg audio. */
|
|
46
|
+
OGG = "audio/ogg"
|
|
44
47
|
}
|
|
45
|
-
/**
|
|
46
|
-
* Well-known file extension constants used as fallback when a MIME type is
|
|
47
|
-
* unavailable or unreliable.
|
|
48
|
-
*/
|
|
48
|
+
/** Well-known file extension constants used as fallback when a MIME type is unavailable. */
|
|
49
49
|
export declare enum FileExtension {
|
|
50
50
|
/** PDF document. */
|
|
51
51
|
PDF = "pdf",
|
package/types/mime-type.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mime-type.d.ts","sourceRoot":"","sources":["../../src/types/mime-type.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"mime-type.d.ts","sourceRoot":"","sources":["../../src/types/mime-type.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,oBAAY,QAAQ;IAElB,iCAAiC;IACjC,QAAQ,kBAAkB;IAC1B,8BAA8B;IAC9B,KAAK,eAAe;IACpB,mBAAmB;IACnB,IAAI,cAAc;IAClB,oBAAoB;IACpB,KAAK,0BAA0B;IAC/B,8BAA8B;IAC9B,GAAG,aAAa;IAChB,yBAAyB;IACzB,UAAU,oBAAoB;IAC9B,wDAAwD;IACxD,UAAU,oBAAoB;IAC9B,4BAA4B;IAC5B,GAAG,aAAa;IAGhB,iBAAiB;IACjB,IAAI,qBAAqB;IACzB,uCAAuC;IACvC,GAAG,oBAAoB;IACvB,oBAAoB;IACpB,GAAG,oBAAoB;IACvB,mBAAmB;IACnB,GAAG,oBAAoB;IACvB,4BAA4B;IAC5B,IAAI,qBAAqB;IAGzB,yBAAyB;IACzB,IAAI,eAAe;IACnB,wBAAwB;IACxB,GAAG,cAAc;IACjB,iBAAiB;IACjB,GAAG,cAAc;IACjB,kBAAkB;IAClB,IAAI,eAAe;IACnB,wBAAwB;IACxB,GAAG,cAAc;IACjB,wBAAwB;IACxB,GAAG,kBAAkB;IAGrB,2BAA2B;IAC3B,GAAG,eAAe;IAClB,iBAAiB;IACjB,GAAG,cAAc;IACjB,iBAAiB;IACjB,GAAG,cAAc;CAClB;AAED,4FAA4F;AAC5F,oBAAY,aAAa;IACvB,oBAAoB;IACpB,GAAG,QAAQ;IACX,iCAAiC;IACjC,QAAQ,OAAO;IACf,4DAA4D;IAC5D,WAAW,aAAa;IACxB,qBAAqB;IACrB,IAAI,SAAS;CACd"}
|
package/utils/avatar-color.d.ts
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
/** A background/foreground colour pair for an initials avatar badge. */
|
|
2
2
|
export interface AvatarColorEntry {
|
|
3
|
-
/** CSS
|
|
3
|
+
/** CSS colour value for the badge background — a theme token with a hex fallback. */
|
|
4
4
|
background: string;
|
|
5
|
-
/** CSS
|
|
5
|
+
/** CSS colour value for the initials text — a theme token with a hex fallback. */
|
|
6
6
|
foreground: string;
|
|
7
7
|
}
|
|
8
|
-
/**
|
|
9
|
-
* Deterministically maps a display name to a palette entry using a
|
|
10
|
-
* char-code-sum hash. The same name always returns the same colours.
|
|
11
|
-
*/
|
|
8
|
+
/** Returns a deterministic colour-pair for the given display name. */
|
|
12
9
|
export declare const pickAvatarColor: (name: string) => AvatarColorEntry;
|
|
13
10
|
//# sourceMappingURL=avatar-color.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatar-color.d.ts","sourceRoot":"","sources":["../../src/utils/avatar-color.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,MAAM,WAAW,gBAAgB;IAC/B
|
|
1
|
+
{"version":3,"file":"avatar-color.d.ts","sourceRoot":"","sources":["../../src/utils/avatar-color.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,MAAM,WAAW,gBAAgB;IAC/B,qFAAqF;IACrF,UAAU,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,UAAU,EAAE,MAAM,CAAC;CACpB;AAsCD,sEAAsE;AACtE,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,gBAM9C,CAAC"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import { CSSProperties } from 'react';
|
|
2
|
-
/**
|
|
3
|
-
* Builds a `CSSProperties` object from a record mapping CSS custom property
|
|
4
|
-
* names to values. Entries with `undefined` or empty-string values are omitted.
|
|
5
|
-
*/
|
|
2
|
+
/** Builds a `CSSProperties` object from a record of CSS custom property names to values, omitting entries with `undefined` or empty-string values. */
|
|
6
3
|
export declare const buildCssVars: (vars: Record<string, string | number | undefined>) => CSSProperties;
|
|
7
4
|
//# sourceMappingURL=build-css-vars.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-css-vars.d.ts","sourceRoot":"","sources":["../../src/utils/build-css-vars.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C
|
|
1
|
+
{"version":3,"file":"build-css-vars.d.ts","sourceRoot":"","sources":["../../src/utils/build-css-vars.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,sJAAsJ;AACtJ,eAAO,MAAM,YAAY,GACvB,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,KAChD,aAQF,CAAC"}
|
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copies `
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* Strategy:
|
|
7
|
-
* 1. Async Clipboard API (`navigator.clipboard.writeText`) — the preferred
|
|
8
|
-
* path on modern browsers. Requires a secure context (HTTPS) and the page
|
|
9
|
-
* to be focused.
|
|
10
|
-
* 2. `execCommand('copy')` fallback — used when the Clipboard API is
|
|
11
|
-
* unavailable (HTTP, older browsers) or rejects. Uses `setSelectionRange`
|
|
12
|
-
* instead of `select()` because iOS Safari ignores `textarea.select()`.
|
|
2
|
+
* Copies markdown `content` to the clipboard as rich text: pasting into a
|
|
3
|
+
* rich-text target (Word, Gmail, Slack) preserves formatting, while
|
|
4
|
+
* plain-text targets fall back to the raw markdown source. Falls back to
|
|
5
|
+
* {@link copyToClipboard} when the multi-format Clipboard API isn't available.
|
|
13
6
|
*/
|
|
7
|
+
export declare const copyMarkdownAsRichText: (content: string) => Promise<boolean>;
|
|
8
|
+
/** Copies `text` to the clipboard; returns `true` on success, `false` when both the Clipboard API and the `execCommand` fallback fail. */
|
|
14
9
|
export declare const copyToClipboard: (text: string) => Promise<boolean>;
|
|
15
10
|
//# sourceMappingURL=copy-to-clipboard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy-to-clipboard.d.ts","sourceRoot":"","sources":["../../src/utils/copy-to-clipboard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"copy-to-clipboard.d.ts","sourceRoot":"","sources":["../../src/utils/copy-to-clipboard.ts"],"names":[],"mappings":"AASA;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,GAAI,SAAS,MAAM,KAAG,OAAO,CAAC,OAAO,CAqCvE,CAAC;AAEF,0IAA0I;AAC1I,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,OAAO,CAAC,OAAO,CAY7D,CAAC"}
|
package/utils/file-download.d.ts
CHANGED
|
@@ -4,6 +4,10 @@ export declare const getFileExtensionForLanguage: (language: string) => string;
|
|
|
4
4
|
export declare const triggerAnchorDownload: (href: string, filename: string) => void;
|
|
5
5
|
/** Triggers a browser download of `blob`, using a temporary object URL that is revoked afterward. */
|
|
6
6
|
export declare const triggerBlobDownload: (blob: Blob, filename: string) => void;
|
|
7
|
+
/** Decodes a base64 string into raw bytes, or `undefined` if the string is not valid base64. */
|
|
8
|
+
export declare const tryBase64ToBytes: (base64: string) => Uint8Array | undefined;
|
|
9
|
+
/** Decodes an inline `data` payload into a `Blob` of `mimeType`, treating the payload as raw UTF-8 text when it is not valid base64. */
|
|
10
|
+
export declare const base64ToBlob: (data: string, mimeType: string) => Blob;
|
|
7
11
|
/** Triggers a browser download of `content` as a text file named `filename`. */
|
|
8
12
|
export declare const downloadTextFile: (content: string, filename: string) => void;
|
|
9
13
|
//# sourceMappingURL=file-download.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-download.d.ts","sourceRoot":"","sources":["../../src/utils/file-download.ts"],"names":[],"mappings":"AAyCA,2HAA2H;AAC3H,eAAO,MAAM,2BAA2B,GAAI,UAAU,MAAM,KAAG,MACT,CAAC;
|
|
1
|
+
{"version":3,"file":"file-download.d.ts","sourceRoot":"","sources":["../../src/utils/file-download.ts"],"names":[],"mappings":"AAyCA,2HAA2H;AAC3H,eAAO,MAAM,2BAA2B,GAAI,UAAU,MAAM,KAAG,MACT,CAAC;AASvD,iGAAiG;AACjG,eAAO,MAAM,qBAAqB,GAAI,MAAM,MAAM,EAAE,UAAU,MAAM,KAAG,IAWtE,CAAC;AAEF,qGAAqG;AACrG,eAAO,MAAM,mBAAmB,GAAI,MAAM,IAAI,EAAE,UAAU,MAAM,KAAG,IAIlE,CAAC;AAEF,gGAAgG;AAChG,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,UAAU,GAAG,SAW9D,CAAC;AAEF,wIAAwI;AACxI,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,UAAU,MAAM,KAAG,IAG7D,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,EAAE,UAAU,MAAM,KAAG,IAKpE,CAAC"}
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Converts a timestamp to a human-readable "last used" string,
|
|
3
|
-
* e.g. "just now", "5 min ago", "3 hours ago", "2 days ago".
|
|
4
|
-
*
|
|
5
|
-
* Returns an empty string when the input is falsy or not a valid date.
|
|
6
|
-
*/
|
|
1
|
+
/** Converts a timestamp to a relative time string (e.g. `'5 min ago'`, `'2 days ago'`); returns an empty string when the input is falsy or invalid. */
|
|
7
2
|
export declare const formatLastUsed: (timestamp?: number) => string;
|
|
8
3
|
//# sourceMappingURL=format-last-used.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-last-used.d.ts","sourceRoot":"","sources":["../../src/utils/format-last-used.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"format-last-used.d.ts","sourceRoot":"","sources":["../../src/utils/format-last-used.ts"],"names":[],"mappings":"AAAA,uJAAuJ;AACvJ,eAAO,MAAM,cAAc,GAAI,YAAY,MAAM,KAAG,MA2BnD,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Formats an amount as USD, keeping up to six decimals for sub-dollar values (e.g. `$3`, `$0.3`). */
|
|
2
|
+
export declare const formatPrice: (value: number) => string;
|
|
3
|
+
/** Formats a per-unit price string for display, e.g. `$3/M tokens` or `$0.5/char without whitespace`. */
|
|
4
|
+
export declare const formatUnitPrice: (price: string | undefined, unit: string | undefined) => string | undefined;
|
|
5
|
+
//# sourceMappingURL=format-price.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-price.d.ts","sourceRoot":"","sources":["../../src/utils/format-price.ts"],"names":[],"mappings":"AAwBA,sGAAsG;AACtG,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,MAK3C,CAAC;AASF,yGAAyG;AACzG,eAAO,MAAM,eAAe,GAC1B,OAAO,MAAM,GAAG,SAAS,EACzB,MAAM,MAAM,GAAG,SAAS,KACvB,MAAM,GAAG,SAWX,CAAC"}
|
package/utils/initials.d.ts
CHANGED
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Returns 1–2 uppercase initials derived from a display name.
|
|
3
|
-
*
|
|
4
|
-
* - Empty/whitespace-only → `"?"`
|
|
5
|
-
* - Two or more words → first letter of each of the first two words (skipping leading punctuation like `[` or `(`)
|
|
6
|
-
* - Single word → first two letter characters of that word
|
|
7
|
-
*/
|
|
1
|
+
/** Returns 1–2 uppercase initials derived from a display name, or `'?'` when the name is empty. */
|
|
8
2
|
export declare const extractInitials: (name: string) => string;
|
|
9
3
|
//# sourceMappingURL=initials.d.ts.map
|
package/utils/initials.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initials.d.ts","sourceRoot":"","sources":["../../src/utils/initials.ts"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"initials.d.ts","sourceRoot":"","sources":["../../src/utils/initials.ts"],"names":[],"mappings":"AAGA,mGAAmG;AACnG,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,MAa9C,CAAC"}
|
package/utils/latex.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Escapes currency-looking dollar signs and converts single-dollar LaTeX math delimiters
|
|
3
|
+
* (`$...$`) to the double-dollar form (`$$...$$`) that `remark-math`/KaTeX render, leaving
|
|
4
|
+
* code blocks and already-escaped `\$` untouched.
|
|
5
|
+
*
|
|
6
|
+
* The `\(...\)`/`\[...\]` delimiters LLMs commonly emit are deliberately left as-is: they are
|
|
7
|
+
* recognized directly by `micromark-extension-llm-math`, which the consuming app's bundler
|
|
8
|
+
* config aliases in place of the default `micromark-extension-math` used by `remark-math`.
|
|
9
|
+
*/
|
|
10
|
+
export declare const preprocessLaTeX: (content: string) => string;
|
|
11
|
+
//# sourceMappingURL=latex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"latex.d.ts","sourceRoot":"","sources":["../../src/utils/latex.ts"],"names":[],"mappings":"AA8EA;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,MAAM,KAAG,MAuCjD,CAAC"}
|
|
@@ -17,6 +17,6 @@ export interface AttachmentDisplayResolvers {
|
|
|
17
17
|
* the optional `resolvers` argument rather than performed here.
|
|
18
18
|
*/
|
|
19
19
|
export declare const messageAttachmentToDisplayAttachment: (dto: MessageAttachment, resolvers?: AttachmentDisplayResolvers) => DisplayAttachment;
|
|
20
|
-
/** Maps a list of {@link MessageAttachment} DTOs to display-only attachment models. */
|
|
20
|
+
/** Maps a list of {@link MessageAttachment} DTOs to display-only attachment models. Entries with duplicate `id` values are deduplicated — first occurrence wins. */
|
|
21
21
|
export declare const messageAttachmentsToDisplayAttachments: (dtos: MessageAttachment[] | undefined, resolvers?: AttachmentDisplayResolvers) => DisplayAttachment[];
|
|
22
22
|
//# sourceMappingURL=message-attachment-to-display.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-attachment-to-display.d.ts","sourceRoot":"","sources":["../../src/utils/message-attachment-to-display.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACvB,MAAM,gBAAgB,CAAC;AAIxB;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC,gFAAgF;IAChF,iBAAiB,CAAC,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/D,iFAAiF;IACjF,cAAc,CAAC,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAAC;CAC7D;
|
|
1
|
+
{"version":3,"file":"message-attachment-to-display.d.ts","sourceRoot":"","sources":["../../src/utils/message-attachment-to-display.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACvB,MAAM,gBAAgB,CAAC;AAIxB;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC,gFAAgF;IAChF,iBAAiB,CAAC,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/D,iFAAiF;IACjF,cAAc,CAAC,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAAC;CAC7D;AAYD;;;;;GAKG;AACH,eAAO,MAAM,oCAAoC,GAC/C,KAAK,iBAAiB,EACtB,YAAW,0BAA+B,KACzC,iBA4CF,CAAC;AAEF,oKAAoK;AACpK,eAAO,MAAM,sCAAsC,GACjD,MAAM,iBAAiB,EAAE,GAAG,SAAS,EACrC,YAAW,0BAA+B,KACzC,iBAAiB,EAYnB,CAAC"}
|
package/utils/message.d.ts
CHANGED
|
@@ -1,10 +1,4 @@
|
|
|
1
1
|
import { Message, StatusMessage } from '../models/chat';
|
|
2
|
-
/**
|
|
3
|
-
* Narrows a `Message` to `StatusMessage` when its role is `MessageRole.Status`.
|
|
4
|
-
* The parameter accepts `Message | StatusMessage` because `StatusMessage.custom_content`
|
|
5
|
-
* is not assignable to `Message.custom_content`, so `StatusMessage` cannot be a
|
|
6
|
-
* structural subtype of `Message`. Callers with `Message`-typed values can still pass
|
|
7
|
-
* them directly since `Message` is assignable to the union.
|
|
8
|
-
*/
|
|
2
|
+
/** Returns `true` when `msg` is a `StatusMessage`. */
|
|
9
3
|
export declare const isStatusMessage: (msg: Message | StatusMessage) => msg is StatusMessage;
|
|
10
4
|
//# sourceMappingURL=message.d.ts.map
|
package/utils/message.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/utils/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/E
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/utils/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/E,sDAAsD;AACtD,eAAO,MAAM,eAAe,GAC1B,KAAK,OAAO,GAAG,aAAa,KAC3B,GAAG,IAAI,aAAgD,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AttachmentType } from '../types/attachment';
|
|
2
|
+
import { MIMEType } from '../types/mime-type';
|
|
3
|
+
/**
|
|
4
|
+
* Infers a `MIMEType` from a file path's extension, ignoring any query string
|
|
5
|
+
* or `#` fragment. Returns `undefined` when the path has no extension or the
|
|
6
|
+
* extension is not recognized.
|
|
7
|
+
*/
|
|
8
|
+
export declare const inferMimeTypeFromPath: (path: string) => MIMEType | undefined;
|
|
9
|
+
/** Classifies a MIME type into an `AttachmentType` by prefix (`image/*` / `audio/*`), defaulting to `File`. */
|
|
10
|
+
export declare const getAttachmentTypeFromMime: (mimeType: string | undefined) => AttachmentType;
|
|
11
|
+
//# sourceMappingURL=mime-type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mime-type.d.ts","sourceRoot":"","sources":["../../src/utils/mime-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAoF9C;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,MAAM,MAAM,KAAG,QAAQ,GAAG,SAM/D,CAAC;AAEF,+GAA+G;AAC/G,eAAO,MAAM,yBAAyB,GACpC,UAAU,MAAM,GAAG,SAAS,KAC3B,cAIF,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Matches a `{{name}}` placeholder. The inner run excludes braces so a stray
|
|
3
|
+
* `{{` cannot swallow the rest of the document, and it must be non-empty so a
|
|
4
|
+
* literal `{{}}` stays plain text.
|
|
5
|
+
*/
|
|
6
|
+
export declare const PROMPT_PARAM_PATTERN: RegExp;
|
|
7
|
+
/** Class applied to each highlighted placeholder. The host owns its styling. */
|
|
8
|
+
export declare const PROMPT_VARIABLE_CLASS_NAME = "cat-prompt-variable";
|
|
9
|
+
/** Minimal hast shapes this plugin reads and writes. */
|
|
10
|
+
interface HastNode {
|
|
11
|
+
type: string;
|
|
12
|
+
tagName?: string;
|
|
13
|
+
value?: string;
|
|
14
|
+
properties?: Record<string, unknown>;
|
|
15
|
+
children?: HastNode[];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Rehype plugin that wraps every `{{name}}` placeholder in a span so it can be
|
|
19
|
+
* styled apart from the surrounding prose. Placeholders inside code are left
|
|
20
|
+
* alone.
|
|
21
|
+
*
|
|
22
|
+
* The spans are built as hast nodes rather than injected as raw HTML, so a
|
|
23
|
+
* placeholder that contains markup cannot escape into the document.
|
|
24
|
+
*/
|
|
25
|
+
export declare const rehypePromptVariables: () => (tree: HastNode) => void;
|
|
26
|
+
/**
|
|
27
|
+
* Returns the distinct `{{param}}` names found in `content`, in first-occurrence
|
|
28
|
+
* order. Single-brace sequences (e.g. `{name}`) are not parameters.
|
|
29
|
+
*/
|
|
30
|
+
export declare const extractPromptParams: (content: string) => string[];
|
|
31
|
+
/**
|
|
32
|
+
* Replaces every `{{param}}` occurrence in `content` with the matching entry
|
|
33
|
+
* in `values` (keyed by parameter name). A token whose name is missing from
|
|
34
|
+
* `values` is left unchanged.
|
|
35
|
+
*/
|
|
36
|
+
export declare const resolvePromptParams: (content: string, values: Record<string, string>) => string;
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=prompt-variables.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-variables.d.ts","sourceRoot":"","sources":["../../src/utils/prompt-variables.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,QAAsB,CAAC;AAExD,gFAAgF;AAChF,eAAO,MAAM,0BAA0B,wBAAwB,CAAC;AAEhE,wDAAwD;AACxD,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAoDD;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,SAAU,MAAM,QAAQ,SAEzD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,SAAS,MAAM,KAAG,MAAM,EAW3D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,EACf,QAAQ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC7B,MAC4E,CAAC"}
|