@epam/ai-dial-chat-hooks 1.3.0-dev.321 → 1.3.0-dev.325

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.
@@ -81,6 +81,8 @@ export interface CreateChatStreamApiDeps {
81
81
  completionsBasePath: string;
82
82
  /** Resolves the caller's current timezone, attached as `X-Timezone` when non-empty. */
83
83
  getTimezone?: () => string | undefined;
84
+ /** Resolves the caller's current UI language, attached as `X-Lang` when non-empty. */
85
+ getLanguage?: () => string | undefined;
84
86
  /** `fetch` implementation to issue requests through. Defaults to the global `fetch`. */
85
87
  fetchImpl?: typeof fetch;
86
88
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"create-chat-stream-api.d.ts","sourceRoot":"","sources":["../../src/conversation/create-chat-stream-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-chat-stream-api.d.ts","sourceRoot":"","sources":["../../src/conversation/create-chat-stream-api.ts"],"names":[],"mappings":"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"}
@@ -66,7 +66,7 @@ var e = { "Content-Type": "application/json" }, t = 409, n = "The response could
66
66
  (async () => {
67
67
  let p;
68
68
  try {
69
- let t = n.getTimezone?.();
69
+ let t = n.getTimezone?.(), a = n.getLanguage?.();
70
70
  p = await i(`${r}/completions`, {
71
71
  method: "POST",
72
72
  credentials: "include",
@@ -74,7 +74,8 @@ var e = { "Content-Type": "application/json" }, t = 409, n = "The response could
74
74
  headers: {
75
75
  ...e,
76
76
  ...n.getCsrfToken() == null ? {} : { "X-CSRF-Token": n.getCsrfToken() },
77
- ...t ? { "X-Timezone": t } : {}
77
+ ...t ? { "X-Timezone": t } : {},
78
+ ...a ? { "X-Lang": a } : {}
78
79
  },
79
80
  body: JSON.stringify({
80
81
  path: c,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@epam/ai-dial-chat-hooks",
3
3
  "description": "Framework-level React hooks extracted from AI DIAL Chat for building custom chat interfaces",
4
- "version": "1.3.0-dev.321",
4
+ "version": "1.3.0-dev.325",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "main": "./index.js",
@@ -131,7 +131,7 @@
131
131
  }
132
132
  },
133
133
  "dependencies": {
134
- "@epam/ai-dial-chat-api-client": "1.3.0-dev.321",
134
+ "@epam/ai-dial-chat-api-client": "1.3.0-dev.325",
135
135
  "dompurify": "3.4.17",
136
136
  "fflate": "^0.8.3",
137
137
  "lru-cache": "^10.4.3",
@@ -140,23 +140,23 @@
140
140
  },
141
141
  "peerDependencies": {
142
142
  "react": "^19.2.8",
143
- "@epam/ai-dial-attachment-canvas": "1.3.0-dev.321",
144
- "@epam/ai-dial-attachment-input": "1.3.0-dev.321",
145
- "@epam/ai-dial-catalog": "1.3.0-dev.321",
146
- "@epam/ai-dial-chat-overlay": "1.3.0-dev.321",
147
- "@epam/ai-dial-chat-shared": "1.3.0-dev.321",
148
- "@epam/ai-dial-conversation-input": "1.3.0-dev.321",
149
- "@epam/ai-dial-mcp-apps": "1.3.0-dev.321",
150
- "@epam/ai-dial-projects": "1.3.0-dev.321",
151
- "@epam/ai-dial-publish-panel": "1.3.0-dev.321",
152
- "@epam/ai-dial-quotations": "1.3.0-dev.321",
143
+ "@epam/ai-dial-attachment-canvas": "1.3.0-dev.325",
144
+ "@epam/ai-dial-attachment-input": "1.3.0-dev.325",
145
+ "@epam/ai-dial-catalog": "1.3.0-dev.325",
146
+ "@epam/ai-dial-chat-overlay": "1.3.0-dev.325",
147
+ "@epam/ai-dial-chat-shared": "1.3.0-dev.325",
148
+ "@epam/ai-dial-conversation-input": "1.3.0-dev.325",
149
+ "@epam/ai-dial-mcp-apps": "1.3.0-dev.325",
150
+ "@epam/ai-dial-projects": "1.3.0-dev.325",
151
+ "@epam/ai-dial-publish-panel": "1.3.0-dev.325",
152
+ "@epam/ai-dial-quotations": "1.3.0-dev.325",
153
153
  "@epam/ai-dial-react-file-manager": "^0.4.0-dev.25",
154
- "@epam/ai-dial-scheduled-tasks": "1.3.0-dev.321",
155
- "@epam/ai-dial-share": "1.3.0-dev.321",
156
- "@epam/ai-dial-skill-editor": "1.3.0-dev.321",
157
- "@epam/ai-dial-source-panel": "1.3.0-dev.321",
154
+ "@epam/ai-dial-scheduled-tasks": "1.3.0-dev.325",
155
+ "@epam/ai-dial-share": "1.3.0-dev.325",
156
+ "@epam/ai-dial-skill-editor": "1.3.0-dev.325",
157
+ "@epam/ai-dial-source-panel": "1.3.0-dev.325",
158
158
  "@epam/ai-dial-ui-kit": "^0.16.0-dev.72",
159
- "@epam/ai-dial-usage-dashboard": "1.3.0-dev.321",
159
+ "@epam/ai-dial-usage-dashboard": "1.3.0-dev.325",
160
160
  "@modelcontextprotocol/sdk": "^1.32.2",
161
161
  "@epam/pdf-highlighter-kit": "^0.0.19"
162
162
  },
@@ -39,7 +39,11 @@ export declare const decomposeLocalizedFields: (displayName: LocalizedText | und
39
39
  /**
40
40
  * Selectable additional-locale options for a locale-picker popup, drawn from
41
41
  * `additionalLocaleCodes` and excluding whichever code is already the
42
- * primary Name/Description field.
42
+ * primary Name/Description field (exact match only, so `en-GB` stays
43
+ * offerable next to a primary `en`).
44
+ *
45
+ * @param formatLabel - Names each option. Defaults to the uppercased code
46
+ * (`pt-BR` → `PT-BR`); a host passes a resolver to show language names.
43
47
  */
44
- export declare const buildAdditionalLocaleOptions: (additionalLocaleCodes: string[], primaryLocale: string) => LocaleOption[];
48
+ export declare const buildAdditionalLocaleOptions: (additionalLocaleCodes: string[], primaryLocale: string, formatLabel?: (code: string) => string) => LocaleOption[];
45
49
  //# sourceMappingURL=locale.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../../src/shared/locale.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EACnB,MAAM,2BAA2B,CAAC;AAEnC,0EAA0E;AAC1E,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,KAAG,MACV,CAAC;AAErC;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5D;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAC/B,OAAO,aAAa,GAAG,SAAS,GAAG,IAAI,EACvC,cAAc,MAAM,EACpB,eAAe,MAAM,KACpB,MAWF,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,EAAE,QAAQ,MAAM,KAAG,MACb,CAAC;AAErD;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,GAC/B,cAAc,kBAAkB,EAAE,EAClC,eAAe,MAAM,KACpB,kBAAkB,EAAE,GAAG,SAczB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,GACnC,aAAa,aAAa,GAAG,SAAS,EACtC,aAAa,aAAa,GAAG,SAAS,EACtC,eAAe,MAAM,KACpB,kBAAkB,EAgBpB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,GACvC,uBAAuB,MAAM,EAAE,EAC/B,eAAe,MAAM,KACpB,YAAY,EAG0C,CAAC"}
1
+ {"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../../src/shared/locale.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EACnB,MAAM,2BAA2B,CAAC;AAEnC,0EAA0E;AAC1E,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,KAAG,MACV,CAAC;AAErC;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5D;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAC/B,OAAO,aAAa,GAAG,SAAS,GAAG,IAAI,EACvC,cAAc,MAAM,EACpB,eAAe,MAAM,KACpB,MAWF,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,EAAE,QAAQ,MAAM,KAAG,MACb,CAAC;AAErD;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,GAC/B,cAAc,kBAAkB,EAAE,EAClC,eAAe,MAAM,KACpB,kBAAkB,EAAE,GAAG,SAczB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,GACnC,aAAa,aAAa,GAAG,SAAS,EACtC,aAAa,aAAa,GAAG,SAAS,EACtC,eAAe,MAAM,KACpB,kBAAkB,EAgBpB,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B,GACvC,uBAAuB,MAAM,EAAE,EAC/B,eAAe,MAAM,EACrB,cAAa,CAAC,IAAI,EAAE,MAAM,KAAK,MAAqC,KACnE,YAAY,EAGyC,CAAC"}
package/shared/locale.js CHANGED
@@ -22,9 +22,9 @@ var e = (e) => e.split("-")[0].toLowerCase(), t = (t, n, r) => {
22
22
  name: r[e] ?? "",
23
23
  description: i[e] ?? ""
24
24
  }));
25
- }, a = (e, t) => e.filter((e) => e !== t).map((e) => ({
25
+ }, a = (e, t, n = (e) => e.toUpperCase()) => e.filter((e) => e !== t).map((e) => ({
26
26
  code: e,
27
- label: e.toUpperCase()
27
+ label: n(e)
28
28
  }));
29
29
  //#endregion
30
30
  export { n as appendLocaleCode, a as buildAdditionalLocaleOptions, r as composeLocalePayload, i as decomposeLocalizedFields, t as resolveLocalizedText, e as toBaseLocale };