mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-13 04:48:53 +00:00
52 lines
2.0 KiB
TypeScript
52 lines
2.0 KiB
TypeScript
import serverNativeModule, { type Tokenizer } from '@affine/server-native';
|
|
|
|
export const mergeUpdatesInApplyWay = serverNativeModule.mergeUpdatesInApplyWay;
|
|
|
|
export const verifyChallengeResponse = async (
|
|
response: any,
|
|
bits: number,
|
|
resource: string
|
|
) => {
|
|
if (typeof response !== 'string' || !response || !resource) return false;
|
|
return serverNativeModule.verifyChallengeResponse(response, bits, resource);
|
|
};
|
|
|
|
export const mintChallengeResponse = async (resource: string, bits: number) => {
|
|
if (!resource) return null;
|
|
return serverNativeModule.mintChallengeResponse(resource, bits);
|
|
};
|
|
|
|
const ENCODER_CACHE = new Map<string, Tokenizer>();
|
|
|
|
export function getTokenEncoder(model?: string | null): Tokenizer | null {
|
|
if (!model) return null;
|
|
const cached = ENCODER_CACHE.get(model);
|
|
if (cached) return cached;
|
|
if (model.startsWith('gpt')) {
|
|
const encoder = serverNativeModule.fromModelName(model);
|
|
if (encoder) ENCODER_CACHE.set(model, encoder);
|
|
return encoder;
|
|
} else if (model.startsWith('dall')) {
|
|
// dalle don't need to calc the token
|
|
return null;
|
|
} else {
|
|
// c100k based model
|
|
const encoder = serverNativeModule.fromModelName('gpt-4');
|
|
if (encoder) ENCODER_CACHE.set('gpt-4', encoder);
|
|
return encoder;
|
|
}
|
|
}
|
|
|
|
export const getMime = serverNativeModule.getMime;
|
|
export const parseDoc = serverNativeModule.parseDoc;
|
|
export const htmlSanitize = serverNativeModule.htmlSanitize;
|
|
export const parseYDocFromBinary = serverNativeModule.parseDocFromBinary;
|
|
export const parseYDocToMarkdown = serverNativeModule.parseDocToMarkdown;
|
|
export const parsePageDocFromBinary = serverNativeModule.parsePageDoc;
|
|
export const parseWorkspaceDocFromBinary = serverNativeModule.parseWorkspaceDoc;
|
|
export const readAllDocIdsFromRootDoc =
|
|
serverNativeModule.readAllDocIdsFromRootDoc;
|
|
export const AFFINE_PRO_PUBLIC_KEY = serverNativeModule.AFFINE_PRO_PUBLIC_KEY;
|
|
export const AFFINE_PRO_LICENSE_AES_KEY =
|
|
serverNativeModule.AFFINE_PRO_LICENSE_AES_KEY;
|