ant-design-x-vue-next
Version:
Ant Design X for Vue — community continuation aligned with @ant-design/x
38 lines (37 loc) • 1.36 kB
JavaScript
import { AbstractChatProvider as i } from "./AbstractChatProvider.mjs";
import { toOpenAIMessages as c, transformOpenAIMessage as f } from "./openaiTransform.mjs";
class u extends i {
constructor(s = {}) {
super(s);
}
/**
* Vue useXChat usually passes `{ message }`; SDK-style callers may pass `{ messages }`.
*/
transformLocalMessage(s) {
var t;
const e = s;
return (t = e.messages) != null && t.length ? e.messages : typeof e.message == "string" ? { role: "user", content: e.message } : e.message && typeof e.message == "object" ? e.message : { role: "user", content: "" };
}
/**
* Prefer history already held by useXChat (includes the just-appended user message).
* Falls back to merging history + local message when called standalone.
*/
transformParams(s, e) {
var o, a, n;
const t = e ?? this.getMessages(), r = this.transformLocalMessage(s), g = Array.isArray(r) ? r[r.length - 1] : r, m = ((o = s.messages) != null && o.length ? s.messages : void 0) ?? (t.length ? t : c([], g));
return {
...((n = (a = this.request) == null ? void 0 : a.options) == null ? void 0 : n.params) || {},
...this.config.params || {},
...s,
stream: s.stream ?? !0,
messages: m
};
}
transformMessage(s) {
return f(s);
}
}
export {
u as OpenAIChatProvider,
u as default
};