Các mục xuất của gói
Orbz tách riêng việc truy cập API thuần, đăng ký có kiểm tra môi trường trình duyệt và gói trình duyệt độc lập. Mọi framework đều hiển thị phần tử gốc <orb-z>.
Bảng điểm vào
| Đường dẫn nhập | Nội dung cung cấp | Tác dụng phụ |
|---|---|---|
@neongate-ai/orbz | Phần tử gốc, kiểu của bộ thực thi hội thoại, hằng số, bộ màu có sẵn, hàm hỗ trợ chuẩn hóa, orbzElementClassFactory() và defineOrbz() | Không đăng ký thẻ |
@neongate-ai/orbz/browser | Toàn bộ nội dung của điểm vào gốc | Gọi defineOrbz() |
@neongate-ai/orbz/react-types | Phần mở rộng kiểu JSX tùy chọn của React cho thẻ gốc <orb-z> | Không có |
@neongate-ai/orbz/standalone | Bản dựng trình duyệt độc lập của điểm vào trình duyệt | Gọi defineOrbz() |
@neongate-ai/orbz/index.css | Cùng bảng định kiểu nguồn được nhúng trong Shadow Root đóng | Không có |
@neongate-ai/orbz/package.json | Siêu dữ liệu của gói đã phát hành | Không có |
Các điểm vào trình duyệt và standalone được đánh dấu là có tác dụng phụ trong tệp khai báo gói, để công cụ đóng gói giữ lại lệnh gọi đăng ký.
react-types không chứa thành phần React hay bộ chuyển đổi khi chạy. Chỉ nhập mục này trong dự án TypeScript dùng React hoặc Next.js cần nhận biết <orb-z> trong JSX.
Điểm vào gốc
Dùng điểm vào gốc để đăng ký rõ ràng và sử dụng các kiểu miền có thể tái sử dụng:
import {
DEFAULT_ORBZ_PRESET,
defineOrbz,
ORBZ_PRESETS,
ORBZ_STATES,
type OrbzElement,
type OrbzPresetName,
type OrbzState,
} from "@neongate-ai/orbz";
defineOrbz();
const nextState: OrbzState = "listening";
const preset: OrbzPresetName = DEFAULT_ORBZ_PRESET;
const colors = ORBZ_PRESETS[preset];
const orb = document.querySelector<OrbzElement>("orb-z");
if (orb) orb.state = nextState;Chỉ nhập mô-đun gốc sẽ không bao giờ đăng ký orb-z. Gọi defineOrbz() hoặc nhập /browser khi trang cần kích hoạt thẻ thành phần tử tùy chỉnh.
Hằng số
| Mục xuất | Ý nghĩa |
|---|---|
ORBZ_TAG_NAME | Chuỗi "orb-z" |
ORBZ_OBSERVED_ATTRIBUTES | Tên các thuộc tính gốc có phản ứng với thay đổi |
ORBZ_STATES | Tất cả trạng thái trợ lý được hỗ trợ |
ORBZ_REDUCED_MOTION_MODES | system, always và never |
ORBZ_PRESET_NAMES | Sáu tên bộ màu chuẩn, bắt đầu bằng neongate |
ORBZ_PRESETS | Giá trị màu được đóng băng cho từng bộ màu chuẩn; giữ lại một bí danh cũ bắt nguồn từ tên tài khoản, không thể liệt kê |
ORBZ_COLOR_ATTRIBUTES | Ánh xạ từ khóa màu đến tên thuộc tính gốc |
ORBZ_COLOR_KEYS | Năm khóa màu |
DEFAULT_ORBZ_STATE | idle |
DEFAULT_ORBZ_SIZE | 16rem |
DEFAULT_ORBZ_SPEED | 1 |
DEFAULT_ORBZ_REDUCED_MOTION | system |
DEFAULT_ORBZ_PRESET | neongate; xem cách đặt tên bộ màu |
DEFAULT_ORBZ_COLORS | Các màu của bộ màu Neongate |
config | Không gian tên được đóng băng cung cấp các hằng số của gói, gồm config.ORBZ_STATES |
talk | Đối tượng tương thích rỗng đóng băng ({}); định nghĩa bước hội thoại trong ứng dụng |
DEFAULT_TALK_FLOW | Mảng rỗng đóng băng ([]); không có lời chào, nhân vật hay hội thoại tích hợp |
Các mảng và bản ghi bộ màu giúp tạo bộ điều khiển với giá trị hợp lệ mà không cần sao chép các giá trị gói chấp nhận.
import { DEFAULT_ORBZ_PRESET, ORBZ_PRESET_NAMES, ORBZ_STATES } from "@neongate-ai/orbz";
for (const state of ORBZ_STATES) {
stateSelect.add(new Option(state, state));
}
for (const preset of ORBZ_PRESET_NAMES) {
const label = preset === DEFAULT_ORBZ_PRESET ? "Neongate" : preset;
presetSelect.add(new Option(label, preset));
}Kiểu
| Mục xuất | Cấu trúc |
|---|---|
OrbzState | Kiểu hợp của năm tên trạng thái |
OrbzReducedMotion | "system" | "always" | "never" |
OrbzPresetName | Kiểu hợp của sáu tên chuẩn và một bí danh đầu vào cũ bắt nguồn từ tên tài khoản |
OrbzSize | number | string |
OrbzColors | Các chuỗi bắt buộc primary, secondary, accent, highlight và background |
OrbzColorOverrides | OrbzColors dạng một phần |
OrbzBaseOptions | Tùy chọn trạng thái, kích thước, tốc độ, tạm dừng, bóng nổi và giảm chuyển động |
OrbzPresetOptions | Chế độ bộ màu có sẵn; các khóa màu tùy chỉnh là never |
OrbzCustomColorOptions | Chế độ màu tùy chỉnh; preset là never |
OrbzColorSelection | Kiểu hợp của chế độ bộ màu có sẵn và màu tùy chỉnh |
OrbzOptions | Các tùy chọn cơ bản kết hợp với kiểu hợp lựa chọn màu |
OrbzElement | Thuộc tính của phần tử gốc và các phương thức phát |
OrbzElementConstructor | Hàm tạo phần tử tùy chỉnh có kiểu |
OrbzTalkStep | Bước hội thoại có kiểu, với hành vi xác định hoặc được hỗ trợ bởi cơ chế thông minh |
OrbzTalkContext | Các giá trị do bộ thực thi hội thoại thu thập và lưu trong bộ nhớ |
OrbzVoiceOptions | Cấu hình tùy chọn cho bộ máy giọng nói, luồng hội thoại và cơ chế thông minh |
OrbzVoiceEnginePort | Hợp đồng cho đầu ra giọng nói do bên triển khai cung cấp |
OrbzIntelligencePort | Hợp đồng cho phản hồi tùy chọn có kết quả không cố định |
WebSpeechAdapterOptions | Tùy chọn ngôn ngữ và vùng, giọng nói ưu tiên, tốc độ, cao độ, âm lượng và tải giọng nói |
OpenAISpeechAdapterOptions | Tùy chọn điểm cuối an toàn, mô hình giọng nói OpenAI, giọng nói, chỉ dẫn và định dạng |
Bộ chuyển đổi giọng nói
| Mục xuất | Mục đích |
|---|---|
WebSpeechAdapter | Tổng hợp giọng nói của trình duyệt với lựa chọn rõ ràng về ngôn ngữ, vùng và giọng nói |
OpenAISpeechAdapter | Giọng nói chất lượng OpenAI qua điểm cuối an toàn do bên triển khai quản lý |
OpenAISpeechAdapter mặc định dùng gpt-4o-mini-tts, marin và MP3. Khóa API OpenAI được giữ tại điểm cuối và không bao giờ được đưa vào mã trình duyệt.
Hàm kiểm tra và chuẩn hóa
| Mục xuất | Mục đích |
|---|---|
isOrbzState() | Hàm kiểm tra kiểu cho trạng thái được hỗ trợ |
isOrbzPresetName() | Hàm kiểm tra kiểu chấp nhận tên chuẩn và một bí danh cũ bắt nguồn từ tên tài khoản |
isOrbzReducedMotion() | Hàm kiểm tra kiểu cho giá trị giảm chuyển động |
normalizeOrbzState() | Đầu vào không được hỗ trợ trở thành idle |
normalizeOrbzPreset() | Chuẩn hóa đầu vào cũ bắt nguồn từ tên tài khoản thành neongate; đầu vào không được hỗ trợ trở thành DEFAULT_ORBZ_PRESET |
normalizeOrbzReducedMotion() | Đầu vào không được hỗ trợ trở thành system |
normalizeOrbzSize() | Chuyển số thành pixel; đầu vào số không hợp lệ hoặc rỗng trở thành 16rem |
normalizeOrbzSpeed() | Đầu vào không dương hoặc không hữu hạn trở thành 1 |
mergeOrbzColors() | Gộp các giá trị ghi đè hợp lệ, không rỗng vào bộ màu cơ sở |
Chuẩn hóa cấu hình không đáng tin cậy trước khi lưu:
import {
normalizeOrbzPreset,
normalizeOrbzSpeed,
normalizeOrbzState,
} from "@neongate-ai/orbz";
const config = {
preset: normalizeOrbzPreset(payload.preset),
speed: normalizeOrbzSpeed(payload.speed),
state: normalizeOrbzState(payload.state),
};Hàm hỗ trợ đăng ký
defineOrbz() là API thông thường để đăng ký rõ ràng. API này an toàn với SSR và có tính lũy đẳng:
import { defineOrbz } from "@neongate-ai/orbz";
const constructor = defineOrbz();orbzElementClassFactory() chỉ tạo và lưu lớp vào bộ nhớ đệm khi globalThis.HTMLElement tồn tại. Hàm này được xuất cho các tích hợp nâng cao; phần lớn ứng dụng nên gọi defineOrbz().
import { orbzElementClassFactory } from '@neongate-ai/orbz'
const constructor = orbzElementClassFactory()
// undefined on a server; an OrbzElementConstructor in a browserCả hai hàm đều tránh đánh giá lớp con của HTMLElement khi không có DOM.