Gitignores
This commit is contained in:
parent
ba2a28c34a
commit
43f028a1f6
13 changed files with 1914 additions and 15 deletions
282
wasm/pkg/mtp_wasm.d.ts
vendored
Normal file
282
wasm/pkg/mtp_wasm.d.ts
vendored
Normal file
|
|
@ -0,0 +1,282 @@
|
|||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
|
||||
export class ConnectionConfig {
|
||||
free(): void;
|
||||
[Symbol.dispose](): void;
|
||||
constructor(url: string);
|
||||
client_id: bigint;
|
||||
set server_certificate_hashes(value: string[]);
|
||||
readonly url: string;
|
||||
}
|
||||
|
||||
export enum ConnectionState {
|
||||
Disconnected = 0,
|
||||
Connecting = 1,
|
||||
Connected = 2,
|
||||
Failed = 3,
|
||||
}
|
||||
|
||||
export class WasmChaCha20Poly1305 {
|
||||
free(): void;
|
||||
[Symbol.dispose](): void;
|
||||
/**
|
||||
* Decrypt `nonce || ciphertext` with `aad`.
|
||||
*/
|
||||
decrypt(ciphertext: Uint8Array, aad: Uint8Array): Uint8Array;
|
||||
/**
|
||||
* Encrypt `plaintext` with `aad`.
|
||||
* Returns `nonce || ciphertext`.
|
||||
*/
|
||||
encrypt(plaintext: Uint8Array, aad: Uint8Array): Uint8Array;
|
||||
/**
|
||||
* Create a new cipher with a 32-byte key.
|
||||
*/
|
||||
constructor(key: Uint8Array);
|
||||
}
|
||||
|
||||
export class WasmClient {
|
||||
free(): void;
|
||||
[Symbol.dispose](): void;
|
||||
/**
|
||||
* Authenticated login with an existing client ID.
|
||||
* Exchanges Identification + signatures and verifies the host response.
|
||||
*
|
||||
* - `host_public_key_bytes`: serialized PublicKeyBundle from the server
|
||||
* - `keyring_bytes`: serialized Keyring of this client (must match `client_id`)
|
||||
* - `client_id`: previously assigned client ID
|
||||
*
|
||||
* Returns the confirmed (same) client ID on success.
|
||||
*/
|
||||
auth_connect(config: ConnectionConfig, host_public_key_bytes: Uint8Array, keyring_bytes: Uint8Array, client_id: bigint): Promise<bigint>;
|
||||
/**
|
||||
* Authenticated registration with a fresh keyring.
|
||||
* The server assigns a new client ID.
|
||||
*
|
||||
* - `host_public_key_bytes`: serialized PublicKeyBundle from the server
|
||||
* - `keyring_bytes`: serialized Keyring (must include ed25519 secret key)
|
||||
*
|
||||
* Returns the newly assigned client ID.
|
||||
*/
|
||||
auth_register(config: ConnectionConfig, host_public_key_bytes: Uint8Array, keyring_bytes: Uint8Array): Promise<bigint>;
|
||||
/**
|
||||
* Unauthenticated connect (sends basic Identification, enables receive loop).
|
||||
*/
|
||||
connect(config: ConnectionConfig): Promise<void>;
|
||||
disconnect(): void;
|
||||
static is_supported(): boolean;
|
||||
constructor(on_state_change: Function, on_message: Function, on_error: Function);
|
||||
send(frame: Uint8Array): Promise<void>;
|
||||
readonly state: number;
|
||||
}
|
||||
|
||||
export class WasmEd25519Signer {
|
||||
free(): void;
|
||||
[Symbol.dispose](): void;
|
||||
/**
|
||||
* Load a signer from its 32-byte secret key.
|
||||
*/
|
||||
constructor(secret_key: Uint8Array);
|
||||
/**
|
||||
* Sign `message` and return the signature bytes.
|
||||
*/
|
||||
sign(message: Uint8Array): Uint8Array;
|
||||
/**
|
||||
* Verify `signature` against `message`.
|
||||
*/
|
||||
verify(message: Uint8Array, signature: Uint8Array): void;
|
||||
}
|
||||
|
||||
export class WasmKeyring {
|
||||
private constructor();
|
||||
free(): void;
|
||||
[Symbol.dispose](): void;
|
||||
/**
|
||||
* Deserialise a keyring from bytes.
|
||||
*/
|
||||
static from_bytes(bytes: Uint8Array): WasmKeyring;
|
||||
/**
|
||||
* Return the public half of this keyring as a bundle.
|
||||
*/
|
||||
public_key_bundle(): WasmPublicKeyBundle;
|
||||
/**
|
||||
* Serialise the keyring to bytes.
|
||||
*/
|
||||
to_bytes(): Uint8Array;
|
||||
}
|
||||
|
||||
export class WasmPublicKeyBundle {
|
||||
private constructor();
|
||||
free(): void;
|
||||
[Symbol.dispose](): void;
|
||||
static from_bytes(bytes: Uint8Array): WasmPublicKeyBundle;
|
||||
to_bytes(): Uint8Array;
|
||||
readonly kem_public_key: Uint8Array;
|
||||
readonly sig_cl_public_key: Uint8Array;
|
||||
readonly sig_pq_public_key: Uint8Array;
|
||||
}
|
||||
|
||||
/**
|
||||
* Build a demo Ping frame with encrypted and signed containers
|
||||
* (mirrors the Rust client example but uses only reserved data types).
|
||||
*/
|
||||
export function build_demo_message(client_id: bigint, keyring_bytes: Uint8Array, host_bundle_bytes: Uint8Array): Uint8Array;
|
||||
|
||||
/**
|
||||
* Build a simple Ping frame with description, timestamp, and optional data.
|
||||
*/
|
||||
export function build_ping_frame(client_id: bigint, description: string, timestamp: bigint, data: Uint8Array): Uint8Array;
|
||||
|
||||
/**
|
||||
* Build a request frame with the given communication type name, request ID, and JSON data.
|
||||
*
|
||||
* - `comm_type`: communication type name (e.g. "get_model", "rank_models") or PascalCase
|
||||
* - `id`: request ID for response correlation
|
||||
* - `json_data`: JSON-stringified request payload
|
||||
*/
|
||||
export function build_request_frame(comm_type: string, id: number, json_data: string): Uint8Array;
|
||||
|
||||
/**
|
||||
* Generate a fresh Ed25519 keypair.
|
||||
*
|
||||
* Returns `{ signer: WasmEd25519Signer, secretKey: Uint8Array, publicKey: Uint8Array }`.
|
||||
*/
|
||||
export function ed25519_generate(): any;
|
||||
|
||||
/**
|
||||
* Standalone Ed25519 signature verification.
|
||||
*/
|
||||
export function ed25519_verify(public_key: Uint8Array, message: Uint8Array, signature: Uint8Array): void;
|
||||
|
||||
/**
|
||||
* Parse any MTP frame into the human-readable CommunicationValue display form.
|
||||
*/
|
||||
export function format_frame(frame: Uint8Array): string;
|
||||
|
||||
/**
|
||||
* Build a [`Keyring`] containing only an Ed25519 keypair (no KEM, no ML-DSA).
|
||||
*
|
||||
* Takes the Ed25519 secret key and public key, each 32 bytes.
|
||||
* Returns the serialised keyring bytes, suitable for passing to `WasmClient.auth_register`.
|
||||
*/
|
||||
export function keyring_from_ed25519(secret_key: Uint8Array, public_key: Uint8Array): Uint8Array;
|
||||
|
||||
export function main(): void;
|
||||
|
||||
/**
|
||||
* Parse an auth response frame into a JS object.
|
||||
*/
|
||||
export function parse_auth_response(response: Uint8Array): any;
|
||||
|
||||
/**
|
||||
* Parse a response frame into a JSON string containing `_id`, `_type`, and data fields.
|
||||
*/
|
||||
export function parse_response_frame(frame: Uint8Array): string;
|
||||
|
||||
/**
|
||||
* Derive a 32-byte encryption key from `ikm` with `salt` and `context`.
|
||||
*/
|
||||
export function wasm_derive_encryption_key(ikm: Uint8Array, salt: Uint8Array, context: Uint8Array): Uint8Array;
|
||||
|
||||
/**
|
||||
* HKDF-expand: derive `len` bytes from `ikm` with `salt` and `info`.
|
||||
*/
|
||||
export function wasm_hkdf_expand(ikm: Uint8Array, salt: Uint8Array, info: Uint8Array, len: number): Uint8Array;
|
||||
|
||||
/**
|
||||
* SHA-256 digest.
|
||||
*/
|
||||
export function wasm_sha256(data: Uint8Array): Uint8Array;
|
||||
|
||||
/**
|
||||
* Double SHA-256 (SHA-256 applied twice).
|
||||
*/
|
||||
export function wasm_sha256_double(data: Uint8Array): Uint8Array;
|
||||
|
||||
export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
|
||||
|
||||
export interface InitOutput {
|
||||
readonly memory: WebAssembly.Memory;
|
||||
readonly __wbg_wasmchacha20poly1305_free: (a: number, b: number) => void;
|
||||
readonly __wbg_wasmed25519signer_free: (a: number, b: number) => void;
|
||||
readonly __wbg_wasmkeyring_free: (a: number, b: number) => void;
|
||||
readonly __wbg_wasmpublickeybundle_free: (a: number, b: number) => void;
|
||||
readonly ed25519_generate: () => [number, number, number];
|
||||
readonly ed25519_verify: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
||||
readonly keyring_from_ed25519: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
||||
readonly wasm_derive_encryption_key: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
||||
readonly wasm_hkdf_expand: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
||||
readonly wasm_sha256: (a: number, b: number) => [number, number];
|
||||
readonly wasm_sha256_double: (a: number, b: number) => [number, number];
|
||||
readonly wasmchacha20poly1305_decrypt: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
||||
readonly wasmchacha20poly1305_encrypt: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
||||
readonly wasmchacha20poly1305_new: (a: number, b: number) => [number, number, number];
|
||||
readonly wasmed25519signer_new: (a: number, b: number) => [number, number, number];
|
||||
readonly wasmed25519signer_sign: (a: number, b: number, c: number) => [number, number, number, number];
|
||||
readonly wasmed25519signer_verify: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
||||
readonly wasmkeyring_from_bytes: (a: number, b: number) => [number, number, number];
|
||||
readonly wasmkeyring_public_key_bundle: (a: number) => number;
|
||||
readonly wasmkeyring_to_bytes: (a: number) => [number, number];
|
||||
readonly wasmpublickeybundle_from_bytes: (a: number, b: number) => [number, number, number];
|
||||
readonly wasmpublickeybundle_kem_public_key: (a: number) => [number, number];
|
||||
readonly wasmpublickeybundle_sig_cl_public_key: (a: number) => [number, number];
|
||||
readonly wasmpublickeybundle_sig_pq_public_key: (a: number) => [number, number];
|
||||
readonly wasmpublickeybundle_to_bytes: (a: number) => [number, number];
|
||||
readonly build_demo_message: (a: bigint, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
||||
readonly build_ping_frame: (a: bigint, b: number, c: number, d: bigint, e: number, f: number) => [number, number, number, number];
|
||||
readonly build_request_frame: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
||||
readonly format_frame: (a: number, b: number) => [number, number, number, number];
|
||||
readonly parse_auth_response: (a: number, b: number) => [number, number, number];
|
||||
readonly parse_response_frame: (a: number, b: number) => [number, number, number, number];
|
||||
readonly main: () => void;
|
||||
readonly __wbg_connectionconfig_free: (a: number, b: number) => void;
|
||||
readonly __wbg_wasmclient_free: (a: number, b: number) => void;
|
||||
readonly connectionconfig_client_id: (a: number) => bigint;
|
||||
readonly connectionconfig_new: (a: number, b: number) => number;
|
||||
readonly connectionconfig_set_client_id: (a: number, b: bigint) => void;
|
||||
readonly connectionconfig_set_server_certificate_hashes: (a: number, b: number, c: number) => void;
|
||||
readonly connectionconfig_url: (a: number) => [number, number];
|
||||
readonly wasmclient_auth_connect: (a: number, b: number, c: number, d: number, e: number, f: number, g: bigint) => any;
|
||||
readonly wasmclient_auth_register: (a: number, b: number, c: number, d: number, e: number, f: number) => any;
|
||||
readonly wasmclient_connect: (a: number, b: number) => any;
|
||||
readonly wasmclient_disconnect: (a: number) => void;
|
||||
readonly wasmclient_is_supported: () => number;
|
||||
readonly wasmclient_new: (a: any, b: any, c: any) => number;
|
||||
readonly wasmclient_send: (a: number, b: number, c: number) => any;
|
||||
readonly wasmclient_state: (a: number) => number;
|
||||
readonly wasm_bindgen__convert__closures_____invoke__h6588d25cdde23584: (a: number, b: number, c: any) => [number, number];
|
||||
readonly wasm_bindgen__convert__closures_____invoke__h5c81efa430e34369: (a: number, b: number, c: any) => [number, number];
|
||||
readonly wasm_bindgen__convert__closures_____invoke__h5c81efa430e34369_2: (a: number, b: number, c: any) => [number, number];
|
||||
readonly wasm_bindgen__convert__closures_____invoke__h4bf2427f775cf424: (a: number, b: number, c: any, d: any) => void;
|
||||
readonly __wbindgen_malloc: (a: number, b: number) => number;
|
||||
readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|
||||
readonly __wbindgen_exn_store: (a: number) => void;
|
||||
readonly __externref_table_alloc: () => number;
|
||||
readonly __wbindgen_externrefs: WebAssembly.Table;
|
||||
readonly __wbindgen_free: (a: number, b: number, c: number) => void;
|
||||
readonly __wbindgen_destroy_closure: (a: number, b: number) => void;
|
||||
readonly __externref_table_dealloc: (a: number) => void;
|
||||
readonly __wbindgen_start: () => void;
|
||||
}
|
||||
|
||||
export type SyncInitInput = BufferSource | WebAssembly.Module;
|
||||
|
||||
/**
|
||||
* Instantiates the given `module`, which can either be bytes or
|
||||
* a precompiled `WebAssembly.Module`.
|
||||
*
|
||||
* @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated.
|
||||
*
|
||||
* @returns {InitOutput}
|
||||
*/
|
||||
export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput;
|
||||
|
||||
/**
|
||||
* If `module_or_path` is {RequestInfo} or {URL}, makes a request and
|
||||
* for everything else, calls `WebAssembly.instantiate` directly.
|
||||
*
|
||||
* @param {{ module_or_path: InitInput | Promise<InitInput> }} module_or_path - Passing `InitInput` directly is deprecated.
|
||||
*
|
||||
* @returns {Promise<InitOutput>}
|
||||
*/
|
||||
export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise<InitInput> } | InitInput | Promise<InitInput>): Promise<InitOutput>;
|
||||
1412
wasm/pkg/mtp_wasm.js
Normal file
1412
wasm/pkg/mtp_wasm.js
Normal file
File diff suppressed because it is too large
Load diff
BIN
wasm/pkg/mtp_wasm_bg.wasm
Normal file
BIN
wasm/pkg/mtp_wasm_bg.wasm
Normal file
Binary file not shown.
63
wasm/pkg/mtp_wasm_bg.wasm.d.ts
vendored
Normal file
63
wasm/pkg/mtp_wasm_bg.wasm.d.ts
vendored
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
export const memory: WebAssembly.Memory;
|
||||
export const __wbg_wasmchacha20poly1305_free: (a: number, b: number) => void;
|
||||
export const __wbg_wasmed25519signer_free: (a: number, b: number) => void;
|
||||
export const __wbg_wasmkeyring_free: (a: number, b: number) => void;
|
||||
export const __wbg_wasmpublickeybundle_free: (a: number, b: number) => void;
|
||||
export const ed25519_generate: () => [number, number, number];
|
||||
export const ed25519_verify: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
||||
export const keyring_from_ed25519: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
||||
export const wasm_derive_encryption_key: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
||||
export const wasm_hkdf_expand: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
||||
export const wasm_sha256: (a: number, b: number) => [number, number];
|
||||
export const wasm_sha256_double: (a: number, b: number) => [number, number];
|
||||
export const wasmchacha20poly1305_decrypt: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
||||
export const wasmchacha20poly1305_encrypt: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
||||
export const wasmchacha20poly1305_new: (a: number, b: number) => [number, number, number];
|
||||
export const wasmed25519signer_new: (a: number, b: number) => [number, number, number];
|
||||
export const wasmed25519signer_sign: (a: number, b: number, c: number) => [number, number, number, number];
|
||||
export const wasmed25519signer_verify: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
||||
export const wasmkeyring_from_bytes: (a: number, b: number) => [number, number, number];
|
||||
export const wasmkeyring_public_key_bundle: (a: number) => number;
|
||||
export const wasmkeyring_to_bytes: (a: number) => [number, number];
|
||||
export const wasmpublickeybundle_from_bytes: (a: number, b: number) => [number, number, number];
|
||||
export const wasmpublickeybundle_kem_public_key: (a: number) => [number, number];
|
||||
export const wasmpublickeybundle_sig_cl_public_key: (a: number) => [number, number];
|
||||
export const wasmpublickeybundle_sig_pq_public_key: (a: number) => [number, number];
|
||||
export const wasmpublickeybundle_to_bytes: (a: number) => [number, number];
|
||||
export const build_demo_message: (a: bigint, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
||||
export const build_ping_frame: (a: bigint, b: number, c: number, d: bigint, e: number, f: number) => [number, number, number, number];
|
||||
export const build_request_frame: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
||||
export const format_frame: (a: number, b: number) => [number, number, number, number];
|
||||
export const parse_auth_response: (a: number, b: number) => [number, number, number];
|
||||
export const parse_response_frame: (a: number, b: number) => [number, number, number, number];
|
||||
export const main: () => void;
|
||||
export const __wbg_connectionconfig_free: (a: number, b: number) => void;
|
||||
export const __wbg_wasmclient_free: (a: number, b: number) => void;
|
||||
export const connectionconfig_client_id: (a: number) => bigint;
|
||||
export const connectionconfig_new: (a: number, b: number) => number;
|
||||
export const connectionconfig_set_client_id: (a: number, b: bigint) => void;
|
||||
export const connectionconfig_set_server_certificate_hashes: (a: number, b: number, c: number) => void;
|
||||
export const connectionconfig_url: (a: number) => [number, number];
|
||||
export const wasmclient_auth_connect: (a: number, b: number, c: number, d: number, e: number, f: number, g: bigint) => any;
|
||||
export const wasmclient_auth_register: (a: number, b: number, c: number, d: number, e: number, f: number) => any;
|
||||
export const wasmclient_connect: (a: number, b: number) => any;
|
||||
export const wasmclient_disconnect: (a: number) => void;
|
||||
export const wasmclient_is_supported: () => number;
|
||||
export const wasmclient_new: (a: any, b: any, c: any) => number;
|
||||
export const wasmclient_send: (a: number, b: number, c: number) => any;
|
||||
export const wasmclient_state: (a: number) => number;
|
||||
export const wasm_bindgen__convert__closures_____invoke__h6588d25cdde23584: (a: number, b: number, c: any) => [number, number];
|
||||
export const wasm_bindgen__convert__closures_____invoke__h5c81efa430e34369: (a: number, b: number, c: any) => [number, number];
|
||||
export const wasm_bindgen__convert__closures_____invoke__h5c81efa430e34369_2: (a: number, b: number, c: any) => [number, number];
|
||||
export const wasm_bindgen__convert__closures_____invoke__h4bf2427f775cf424: (a: number, b: number, c: any, d: any) => void;
|
||||
export const __wbindgen_malloc: (a: number, b: number) => number;
|
||||
export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|
||||
export const __wbindgen_exn_store: (a: number) => void;
|
||||
export const __externref_table_alloc: () => number;
|
||||
export const __wbindgen_externrefs: WebAssembly.Table;
|
||||
export const __wbindgen_free: (a: number, b: number, c: number) => void;
|
||||
export const __wbindgen_destroy_closure: (a: number, b: number) => void;
|
||||
export const __externref_table_dealloc: (a: number) => void;
|
||||
export const __wbindgen_start: () => void;
|
||||
15
wasm/pkg/package.json
Normal file
15
wasm/pkg/package.json
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"name": "mtp-wasm",
|
||||
"type": "module",
|
||||
"version": "0.1.0",
|
||||
"files": [
|
||||
"mtp_wasm_bg.wasm",
|
||||
"mtp_wasm.js",
|
||||
"mtp_wasm.d.ts"
|
||||
],
|
||||
"main": "mtp_wasm.js",
|
||||
"types": "mtp_wasm.d.ts",
|
||||
"sideEffects": [
|
||||
"./snippets/*"
|
||||
]
|
||||
}
|
||||
Loading…
Reference in a new issue