combox-api
v0.1.2
Published
TypeScript client library for ComBox frontend applications.
Readme
ComBox API SDK
TypeScript client library для фронтендов ComBox. Она оборачивает backend HTTP endpoints, auth/session storage, realtime helpers, normalized model helpers и message-content utilities.
Что умеет
- register / login / refresh / logout
- profile, password, email change, profile settings
- chats, messages, reactions, channels/topics
- media attachments и sessions
- GIF integration helpers
- bot tokens и bot webhooks
- presence helpers
- локальное хранение auth/profile
- WebSocket/realtime helpers
- normalized message/profile helpers
Поверхность пакета
Основные exports:
comboxApi.ts- functional APIclient.ts- class wrapperComboxClientrealtime.ts- realtime helpersmessageContent.ts- content parsing/formatting helpersnormalized.ts- normalization utilitiesstorage.ts- local storage helperscomboxApi.types.ts- общие публичные типы
Точка входа:
import { ComboxClient, login, getProfile, connectRealtime } from 'combox-api'Сборка
npm install
npm run buildСкрипты
npm run check- TypeScript-проверка без генерации файловnpm run build- компиляция TypeScript вdist/npm run prepare- сборка на package prepare
Runtime-поведение
По умолчанию пакет выводит URL из browser environment:
- API base по умолчанию
/api/private/v1 - WS base по умолчанию вычисляется из browser websocket endpoint
Поддерживаемые env overrides:
VITE_API_BASE_URLVITE_WS_BASE_URL
Основные концепции
Functional API
Можно использовать прямые функции:
login
register
getProfile
updateProfile
listChats
listMessages
createMessage
ComboxClient
ComboxClient даёт объектную обёртку над тем же API. Это удобно, когда приложению нужен один client instance вместо множества импортируемых функций.
Auth persistence
Пакет хранит:
- auth snapshot в local storage
- local profile snapshot для удобства фронтенда
Есть helpers:
getCurrentUser()getAccessToken()isAuthenticated()forceRefreshSession()clearAuth()
Структура проекта
src/index.ts- export surface пакетаsrc/comboxApi.ts- основной functional APIsrc/client.ts-ComboxClientsrc/realtime.ts- realtime transport helperssrc/messageContent.ts- parsing содержимого сообщенийsrc/normalized.ts- normalization helperssrc/storage.ts- storage helperssrc/comboxApi.types.ts- публичные типы
Выход сборки
Артефакты сборки пишутся в:
dist/index.jsdist/index.d.ts
Пакет экспортирует только dist/.
Заметки
- пакет ориентирован на browser runtime
- он предполагает наличие
window,localStorage,fetchи браузерной семантикиWebSocket, где это нужно - class API и functional API должны оставаться совместимыми по контракту
Релизы
- публикация автоматизирована через release.yml
- создай GitHub Release с тегом
vX.Y.Z, который совпадает с версией вpackage.json - обычные релизы публикуются в npm с тегом
latest - prerelease публикуются в npm с тегом
next - в репозитории должен быть secret
NPM_TOKENс правом публикации пакета
