@terminal3/t3n-sdk 0.10.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/demo.d.ts +25 -0
- package/dist/index.d.ts +347 -172
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/dist/src/client/actions.d.ts +22 -0
- package/dist/src/client/config.d.ts +10 -30
- package/dist/src/client/encryption.d.ts +30 -0
- package/dist/src/client/handlers.d.ts +73 -0
- package/dist/src/client/index.d.ts +4 -0
- package/dist/src/client/request-parser.d.ts +48 -0
- package/dist/src/client/t3n-client.d.ts +113 -26
- package/dist/src/index.d.ts +6 -7
- package/dist/src/types/auth.d.ts +5 -6
- package/dist/src/types/index.d.ts +37 -13
- package/dist/src/utils/index.d.ts +0 -1
- package/dist/src/wasm/interface.d.ts +95 -54
- package/dist/src/wasm/loader.d.ts +25 -55
- package/dist/wasm/generated/interfaces/component-session-client-auth.d.ts +12 -0
- package/dist/wasm/generated/interfaces/component-session-client-handshake.d.ts +12 -0
- package/dist/wasm/generated/interfaces/component-session-cookie.d.ts +8 -0
- package/dist/wasm/generated/interfaces/component-session-session.d.ts +7 -0
- package/dist/wasm/generated/session.core.wasm +0 -0
- package/dist/wasm/generated/session.d.ts +10 -87
- package/dist/wasm/generated/session.js +3254 -6713
- package/package.json +1 -1
- package/dist/src/utils/hkdf.d.ts +0 -36
- package/dist/wasm/generated/interfaces/host-session-interfaces-contract-dispatch.d.ts +0 -2
- package/dist/wasm/generated/interfaces/host-session-interfaces-entropy.d.ts +0 -2
- package/dist/wasm/generated/interfaces/host-session-interfaces-eth-signer.d.ts +0 -2
- package/dist/wasm/generated/interfaces/host-session-interfaces-kem.d.ts +0 -3
- package/dist/wasm/generated/interfaces/host-session-interfaces-oidc-client.d.ts +0 -2
- package/dist/wasm/generated/interfaces/host-session-interfaces-oidc.d.ts +0 -3
- package/dist/wasm/generated/interfaces/host-session-interfaces-session-ops.d.ts +0 -9
- package/dist/wasm/generated/interfaces/host-session-interfaces-transport.d.ts +0 -2
- package/dist/wasm/generated/interfaces/tee-session-client-auth.d.ts +0 -7
- package/dist/wasm/generated/interfaces/tee-session-client-handshake.d.ts +0 -12
- package/dist/wasm/generated/interfaces/tee-session-cookie.d.ts +0 -7
- package/dist/wasm/generated/interfaces/tee-session-server-admin.d.ts +0 -2
- package/dist/wasm/generated/interfaces/tee-session-server-auth.d.ts +0 -10
- package/dist/wasm/generated/interfaces/tee-session-server-handshake.d.ts +0 -15
- package/dist/wasm/generated/interfaces/tee-session-server-webhook.d.ts +0 -6
- package/dist/wasm/generated/interfaces/tee-session-session-crypto.d.ts +0 -3
- package/dist/wasm/generated/session.core2.wasm +0 -0
- package/dist/wasm/generated/session.core3.wasm +0 -0
|
@@ -1,69 +1,110 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* WASM Component Interface
|
|
2
|
+
* WASM Component Interface - Mirrors the WIT specification exactly
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* instantiation); all protocol glue lives inside the contract.
|
|
4
|
+
* This interface works with completely opaque byte arrays, just like the WIT interface.
|
|
5
|
+
* The TypeScript SDK doesn't know about internal state machine phases or details.
|
|
7
6
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
keys: ClientSessionKeys;
|
|
15
|
-
authenticated: boolean;
|
|
16
|
-
did?: string;
|
|
17
|
-
expirySec: bigint;
|
|
7
|
+
/**
|
|
8
|
+
* Result type for WASM next() operations
|
|
9
|
+
*/
|
|
10
|
+
export interface WasmNextResult {
|
|
11
|
+
state: Uint8Array;
|
|
12
|
+
request: Uint8Array;
|
|
18
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Client handshake operations - completely opaque byte arrays only
|
|
16
|
+
*/
|
|
19
17
|
export interface ClientHandshake {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Process next step in handshake
|
|
20
|
+
* @param state - Current handshake state (null for initial call)
|
|
21
|
+
* @param action - Action to process (opaque bytes)
|
|
22
|
+
* @returns Promise with new state and request to send
|
|
23
|
+
*/
|
|
24
|
+
next(state: Uint8Array | null, action: Uint8Array): Promise<WasmNextResult>;
|
|
25
|
+
/**
|
|
26
|
+
* Attempt to finalize handshake
|
|
27
|
+
* @param state - Current handshake state
|
|
28
|
+
* @returns Promise with session bytes if successful
|
|
29
|
+
* @throws Error containing "not yet finalized" if the state machine
|
|
30
|
+
* has not reached its terminal phase. The SDK runtime treats
|
|
31
|
+
* this as the loop's "keep going" signal, not a real error.
|
|
32
|
+
*/
|
|
33
|
+
finish(state: Uint8Array): Promise<Uint8Array>;
|
|
25
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Client authentication operations - completely opaque byte arrays only
|
|
37
|
+
*/
|
|
26
38
|
export interface ClientAuth {
|
|
27
|
-
runEth(sessionKeys: Uint8Array, ethAddress: string, siweDomain: string | undefined, siweUrl: string | undefined, siweChainId: bigint | undefined): AuthOutcome;
|
|
28
39
|
/**
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
40
|
+
* Process next step in authentication
|
|
41
|
+
* @param state - Current auth state (null for initial call)
|
|
42
|
+
* @param action - Action to process (opaque bytes)
|
|
43
|
+
* @returns Promise with new state and request to send
|
|
32
44
|
*/
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
did?: string;
|
|
44
|
-
expirySec: bigint;
|
|
45
|
-
refreshedCookie?: string;
|
|
45
|
+
next(state: Uint8Array | null, action: Uint8Array): Promise<WasmNextResult>;
|
|
46
|
+
/**
|
|
47
|
+
* Attempt to finalize authentication
|
|
48
|
+
* @param state - Current auth state
|
|
49
|
+
* @returns Promise with DID bytes if successful
|
|
50
|
+
* @throws Error containing "not yet finalized" if the state machine
|
|
51
|
+
* has not reached its terminal phase. The SDK runtime treats
|
|
52
|
+
* this as the loop's "keep going" signal, not a real error.
|
|
53
|
+
*/
|
|
54
|
+
finish(state: Uint8Array): Promise<Uint8Array>;
|
|
46
55
|
}
|
|
47
|
-
|
|
48
|
-
|
|
56
|
+
/**
|
|
57
|
+
* Client authentication operations - completely opaque byte arrays only
|
|
58
|
+
*/
|
|
59
|
+
export interface ClientExecute {
|
|
60
|
+
/**
|
|
61
|
+
* Process next step in authentication
|
|
62
|
+
* @param state - Current auth state (null for initial call)
|
|
63
|
+
* @param action - Action to process (opaque bytes)
|
|
64
|
+
* @returns Promise with new state and request to send
|
|
65
|
+
*/
|
|
66
|
+
next(state: Uint8Array | null, action: Uint8Array): Promise<WasmNextResult>;
|
|
67
|
+
/**
|
|
68
|
+
* Attempt to finalize authentication
|
|
69
|
+
* @param state - Current auth state
|
|
70
|
+
* @returns Promise with DID bytes if successful
|
|
71
|
+
* @throws Error containing "not yet finalized" if the state machine
|
|
72
|
+
* has not reached its terminal phase. The SDK runtime treats
|
|
73
|
+
* this as the loop's "keep going" signal, not a real error.
|
|
74
|
+
*/
|
|
75
|
+
finish(state: Uint8Array): Promise<Uint8Array>;
|
|
49
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* Session encryption/decryption operations - completely opaque byte arrays only
|
|
79
|
+
*/
|
|
50
80
|
export interface SessionCrypto {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
81
|
+
/**
|
|
82
|
+
* Encrypt plaintext using session
|
|
83
|
+
* @param session - Session state (opaque bytes)
|
|
84
|
+
* @param plaintext - Data to encrypt
|
|
85
|
+
* @returns Promise with encrypted bytes
|
|
86
|
+
*/
|
|
87
|
+
encrypt(session: Uint8Array, plaintext: Uint8Array): Promise<Uint8Array>;
|
|
88
|
+
/**
|
|
89
|
+
* Decrypt ciphertext using session
|
|
90
|
+
* @param session - Session state (opaque bytes)
|
|
91
|
+
* @param ciphertext - Data to decrypt
|
|
92
|
+
* @returns Promise with decrypted bytes
|
|
93
|
+
*/
|
|
94
|
+
decrypt(session: Uint8Array, ciphertext: Uint8Array): Promise<Uint8Array>;
|
|
61
95
|
}
|
|
62
|
-
/**
|
|
96
|
+
/**
|
|
97
|
+
* Main WASM Component interface - mirrors the WIT interface exactly
|
|
98
|
+
*
|
|
99
|
+
* This is completely opaque to the TypeScript layer. All state machine logic,
|
|
100
|
+
* authentication flows, and cryptographic operations are handled in WASM.
|
|
101
|
+
*/
|
|
63
102
|
export interface WasmComponent {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
103
|
+
/** Client-side state machines exported by the WASM component. */
|
|
104
|
+
flow: {
|
|
105
|
+
handshake: ClientHandshake;
|
|
106
|
+
auth: ClientAuth;
|
|
107
|
+
execute: ClientExecute;
|
|
108
|
+
};
|
|
109
|
+
session: SessionCrypto;
|
|
69
110
|
}
|
|
@@ -1,73 +1,43 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* WASM Component Loader
|
|
2
|
+
* WASM Component Loader
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* `WasmLoadConfig.hostImports` to plug a custom KEM public-key
|
|
8
|
-
* source, ETH signer, etc. Defaults cover the common case for the
|
|
9
|
-
* browser SDK:
|
|
10
|
-
*
|
|
11
|
-
* - `entropy.random`: WebCrypto `getRandomValues`
|
|
12
|
-
* - `kem.mlKemPublicKey`: HTTP fetch of /pubkey (caller sets URL)
|
|
13
|
-
* - `kem.decapsulate`: server-only; client-side stub returns error
|
|
14
|
-
* - `eth-signer.eth-sign`: injected wallet (window.ethereum) if present
|
|
15
|
-
* - `session-ops.now-ms`: Date.now()
|
|
16
|
-
* - `session-ops.tee-address`, `set-cookie`: caller-supplied or stubs
|
|
4
|
+
* This module provides utilities for loading and initializing the WASM component.
|
|
5
|
+
* The actual WASM loading implementation will depend on the build system and
|
|
6
|
+
* deployment environment.
|
|
17
7
|
*/
|
|
18
8
|
import { WasmComponent } from "./interface";
|
|
19
9
|
import { Logger } from "../utils/logger";
|
|
20
|
-
/**
|
|
21
|
-
* Host imports supplied at WASM instantiation. Any subset may be
|
|
22
|
-
* overridden by the caller; unset ones fall back to a safe default
|
|
23
|
-
* (or an error stub for server-only methods like `decapsulate`).
|
|
24
|
-
*/
|
|
25
|
-
export interface SessionHostImports {
|
|
26
|
-
/** Fetch the server's ML-KEM public key (client-side). */
|
|
27
|
-
mlKemPublicKey?: () => Uint8Array | Promise<Uint8Array>;
|
|
28
|
-
/** CSPRNG. Defaults to WebCrypto `getRandomValues`. */
|
|
29
|
-
random?: (len: number) => Uint8Array;
|
|
30
|
-
/** EIP-191 / SIWE signer. Defaults to error (caller must supply). */
|
|
31
|
-
ethSign?: (message: Uint8Array) => Uint8Array | Promise<Uint8Array>;
|
|
32
|
-
/**
|
|
33
|
-
* OIDC user-interaction callback. The contract supplies the
|
|
34
|
-
* server-bound `nonce`; the SDK consumer runs whatever popup /
|
|
35
|
-
* redirect flow is appropriate for `provider` and returns the
|
|
36
|
-
* IdP-signed `id_token`. Defaults to error (caller must supply
|
|
37
|
-
* when using OIDC auth).
|
|
38
|
-
*/
|
|
39
|
-
getIdToken?: (provider: string, nonce: string) => string | Promise<string>;
|
|
40
|
-
/** Current time in ms. Defaults to Date.now() (as bigint). */
|
|
41
|
-
nowMs?: () => bigint;
|
|
42
|
-
/** TEE address — server-only; client stub returns 20 zero bytes. */
|
|
43
|
-
teeAddress?: () => Uint8Array;
|
|
44
|
-
/** Called when the guest emits a refreshed cookie. */
|
|
45
|
-
setCookie?: (value: string) => void;
|
|
46
|
-
/**
|
|
47
|
-
* HTTP transport the contract uses to POST JSON-RPC requests. The
|
|
48
|
-
* SDK wires this to its `Transport` under the hood — the contract
|
|
49
|
-
* supplies the method name and params bytes; the SDK layers on the
|
|
50
|
-
* Session-Id header, JSON-RPC envelope, and returns the raw result
|
|
51
|
-
* bytes.
|
|
52
|
-
*/
|
|
53
|
-
postRpc?: (method: string, sessionId: string, params: string) => string | Promise<string>;
|
|
54
|
-
}
|
|
55
10
|
/**
|
|
56
11
|
* Configuration for WASM component loading
|
|
57
12
|
*/
|
|
58
13
|
export interface WasmLoadConfig {
|
|
59
14
|
/** Path or URL to the WASM module */
|
|
60
15
|
wasmPath?: string;
|
|
16
|
+
/** Custom fetch function for loading WASM */
|
|
17
|
+
fetchFn?: typeof fetch;
|
|
18
|
+
/** Additional initialization options */
|
|
19
|
+
initOptions?: Record<string, unknown>;
|
|
61
20
|
/** Optional logger instance - if not provided, uses global default */
|
|
62
21
|
logger?: Logger;
|
|
63
|
-
/** Overrides for the host-import functions. */
|
|
64
|
-
hostImports?: SessionHostImports;
|
|
65
22
|
}
|
|
66
23
|
/**
|
|
67
|
-
* Load and initialize the T3n WASM component
|
|
24
|
+
* Load and initialize the T3n WASM component
|
|
68
25
|
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
26
|
+
* @param config - Optional configuration for loading the WASM component
|
|
27
|
+
* @returns Promise that resolves to the initialized WASM component
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* const wasmComponent = await loadWasmComponent({
|
|
32
|
+
* wasmPath: '/path/to/t3n.wasm'
|
|
33
|
+
* });
|
|
34
|
+
* ```
|
|
72
35
|
*/
|
|
73
36
|
export declare function loadWasmComponent(config?: WasmLoadConfig): Promise<WasmComponent>;
|
|
37
|
+
/**
|
|
38
|
+
* Load the real T3n WASM component
|
|
39
|
+
*
|
|
40
|
+
* @param logger - Logger instance for WASM operations
|
|
41
|
+
* @returns Promise that resolves to the initialized WASM component
|
|
42
|
+
*/
|
|
43
|
+
export declare function loadRealWasmComponent(logger: Logger): Promise<WasmComponent>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** @module Interface component:session/client-auth@0.1.0 **/
|
|
2
|
+
export function next(state: State | undefined, action: HostToGuest): NewState;
|
|
3
|
+
export function finish(state: State): Did;
|
|
4
|
+
export type GuestToHost = Uint8Array;
|
|
5
|
+
export type State = Uint8Array;
|
|
6
|
+
export type HostToGuest = Uint8Array;
|
|
7
|
+
export type Did = Uint8Array;
|
|
8
|
+
export type Error = Uint8Array;
|
|
9
|
+
export interface NewState {
|
|
10
|
+
state: State,
|
|
11
|
+
request: GuestToHost,
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** @module Interface component:session/client-handshake@0.1.0 **/
|
|
2
|
+
export function next(state: State | undefined, action: HostToGuest): NewState;
|
|
3
|
+
export function finish(state: State): SessionState;
|
|
4
|
+
export type GuestToHost = Uint8Array;
|
|
5
|
+
export type State = Uint8Array;
|
|
6
|
+
export type HostToGuest = Uint8Array;
|
|
7
|
+
export type SessionState = Uint8Array;
|
|
8
|
+
export type Error = Uint8Array;
|
|
9
|
+
export interface NewState {
|
|
10
|
+
state: State,
|
|
11
|
+
request: GuestToHost,
|
|
12
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** @module Interface component:session/cookie@0.1.0 **/
|
|
2
|
+
export function validate(cookieValue: string, teeAddress: Uint8Array, nowSec: bigint): Validation;
|
|
3
|
+
export interface Validation {
|
|
4
|
+
authenticated: boolean,
|
|
5
|
+
did?: string,
|
|
6
|
+
exp: bigint,
|
|
7
|
+
}
|
|
8
|
+
export type Error = Uint8Array;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** @module Interface component:session/session@0.1.0 **/
|
|
2
|
+
export function encrypt(session: Session, plaintext: Plaintext): Ciphertext;
|
|
3
|
+
export function decrypt(session: Session, ciphertext: Ciphertext): Plaintext;
|
|
4
|
+
export type Error = Uint8Array;
|
|
5
|
+
export type Session = Uint8Array;
|
|
6
|
+
export type Plaintext = Uint8Array;
|
|
7
|
+
export type Ciphertext = Uint8Array;
|
|
Binary file
|
|
@@ -1,88 +1,11 @@
|
|
|
1
1
|
// world root:component/root
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
import type * as WasiCliStderr from './interfaces/wasi-cli-stderr.js'; // wasi:cli/stderr@0.2.9
|
|
13
|
-
import type * as WasiIoError from './interfaces/wasi-io-error.js'; // wasi:io/error@0.2.9
|
|
14
|
-
import type * as WasiIoStreams from './interfaces/wasi-io-streams.js'; // wasi:io/streams@0.2.9
|
|
15
|
-
import type * as WasiRandomRandom from './interfaces/wasi-random-random.js'; // wasi:random/random@0.2.9
|
|
16
|
-
import type * as TeeSessionClientHandshake from './interfaces/tee-session-client-handshake.js'; // tee:session/client-handshake@1.0.0
|
|
17
|
-
import type * as TeeSessionClientAuth from './interfaces/tee-session-client-auth.js'; // tee:session/client-auth@1.0.0
|
|
18
|
-
import type * as TeeSessionServerHandshake from './interfaces/tee-session-server-handshake.js'; // tee:session/server-handshake@1.0.0
|
|
19
|
-
import type * as TeeSessionServerAuth from './interfaces/tee-session-server-auth.js'; // tee:session/server-auth@1.0.0
|
|
20
|
-
import type * as TeeSessionServerAdmin from './interfaces/tee-session-server-admin.js'; // tee:session/server-admin@1.0.0
|
|
21
|
-
import type * as TeeSessionServerWebhook from './interfaces/tee-session-server-webhook.js'; // tee:session/server-webhook@1.0.0
|
|
22
|
-
import type * as TeeSessionSessionCrypto from './interfaces/tee-session-session-crypto.js'; // tee:session/session-crypto@1.0.0
|
|
23
|
-
import type * as TeeSessionCookie from './interfaces/tee-session-cookie.js'; // tee:session/cookie@1.0.0
|
|
24
|
-
export interface ImportObject {
|
|
25
|
-
'host:session-interfaces/contract-dispatch@1.0.0': typeof HostSessionInterfacesContractDispatch,
|
|
26
|
-
'host:session-interfaces/entropy@1.0.0': typeof HostSessionInterfacesEntropy,
|
|
27
|
-
'host:session-interfaces/eth-signer@1.0.0': typeof HostSessionInterfacesEthSigner,
|
|
28
|
-
'host:session-interfaces/kem@1.0.0': typeof HostSessionInterfacesKem,
|
|
29
|
-
'host:session-interfaces/oidc-client@1.0.0': typeof HostSessionInterfacesOidcClient,
|
|
30
|
-
'host:session-interfaces/oidc@1.0.0': typeof HostSessionInterfacesOidc,
|
|
31
|
-
'host:session-interfaces/session-ops@1.0.0': typeof HostSessionInterfacesSessionOps,
|
|
32
|
-
'host:session-interfaces/transport@1.0.0': typeof HostSessionInterfacesTransport,
|
|
33
|
-
'wasi:cli/environment@0.2.9': typeof WasiCliEnvironment,
|
|
34
|
-
'wasi:cli/exit@0.2.9': typeof WasiCliExit,
|
|
35
|
-
'wasi:cli/stderr@0.2.9': typeof WasiCliStderr,
|
|
36
|
-
'wasi:io/error@0.2.9': typeof WasiIoError,
|
|
37
|
-
'wasi:io/streams@0.2.9': typeof WasiIoStreams,
|
|
38
|
-
'wasi:random/random@0.2.9': typeof WasiRandomRandom,
|
|
39
|
-
}
|
|
40
|
-
export interface Root {
|
|
41
|
-
'tee:session/client-handshake@1.0.0': typeof TeeSessionClientHandshake,
|
|
42
|
-
clientHandshake: typeof TeeSessionClientHandshake,
|
|
43
|
-
'tee:session/client-auth@1.0.0': typeof TeeSessionClientAuth,
|
|
44
|
-
clientAuth: typeof TeeSessionClientAuth,
|
|
45
|
-
'tee:session/server-handshake@1.0.0': typeof TeeSessionServerHandshake,
|
|
46
|
-
serverHandshake: typeof TeeSessionServerHandshake,
|
|
47
|
-
'tee:session/server-auth@1.0.0': typeof TeeSessionServerAuth,
|
|
48
|
-
serverAuth: typeof TeeSessionServerAuth,
|
|
49
|
-
'tee:session/server-admin@1.0.0': typeof TeeSessionServerAdmin,
|
|
50
|
-
serverAdmin: typeof TeeSessionServerAdmin,
|
|
51
|
-
'tee:session/server-webhook@1.0.0': typeof TeeSessionServerWebhook,
|
|
52
|
-
serverWebhook: typeof TeeSessionServerWebhook,
|
|
53
|
-
'tee:session/session-crypto@1.0.0': typeof TeeSessionSessionCrypto,
|
|
54
|
-
sessionCrypto: typeof TeeSessionSessionCrypto,
|
|
55
|
-
'tee:session/cookie@1.0.0': typeof TeeSessionCookie,
|
|
56
|
-
cookie: typeof TeeSessionCookie,
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Instantiates this component with the provided imports and
|
|
61
|
-
* returns a map of all the exports of the component.
|
|
62
|
-
*
|
|
63
|
-
* This function is intended to be similar to the
|
|
64
|
-
* `WebAssembly.instantiate` function. The second `imports`
|
|
65
|
-
* argument is the "import object" for wasm, except here it
|
|
66
|
-
* uses component-model-layer types instead of core wasm
|
|
67
|
-
* integers/numbers/etc.
|
|
68
|
-
*
|
|
69
|
-
* The first argument to this function, `getCoreModule`, is
|
|
70
|
-
* used to compile core wasm modules within the component.
|
|
71
|
-
* Components are composed of core wasm modules and this callback
|
|
72
|
-
* will be invoked per core wasm module. The caller of this
|
|
73
|
-
* function is responsible for reading the core wasm module
|
|
74
|
-
* identified by `path` and returning its compiled
|
|
75
|
-
* `WebAssembly.Module` object. This would use `compileStreaming`
|
|
76
|
-
* on the web, for example.
|
|
77
|
-
*/
|
|
78
|
-
export function instantiate(
|
|
79
|
-
getCoreModule: (path: string) => WebAssembly.Module,
|
|
80
|
-
imports: ImportObject,
|
|
81
|
-
instantiateCore?: (module: WebAssembly.Module, imports: Record<string, any>) => WebAssembly.Instance
|
|
82
|
-
): Root;
|
|
83
|
-
export function instantiate(
|
|
84
|
-
getCoreModule: (path: string) => WebAssembly.Module | Promise<WebAssembly.Module>,
|
|
85
|
-
imports: ImportObject,
|
|
86
|
-
instantiateCore?: (module: WebAssembly.Module, imports: Record<string, any>) => WebAssembly.Instance | Promise<WebAssembly.Instance>
|
|
87
|
-
): Root | Promise<Root>;
|
|
88
|
-
|
|
2
|
+
export type * as WasiCliEnvironment029 from './interfaces/wasi-cli-environment.js'; // import wasi:cli/environment@0.2.9
|
|
3
|
+
export type * as WasiCliExit029 from './interfaces/wasi-cli-exit.js'; // import wasi:cli/exit@0.2.9
|
|
4
|
+
export type * as WasiCliStderr029 from './interfaces/wasi-cli-stderr.js'; // import wasi:cli/stderr@0.2.9
|
|
5
|
+
export type * as WasiIoError029 from './interfaces/wasi-io-error.js'; // import wasi:io/error@0.2.9
|
|
6
|
+
export type * as WasiIoStreams029 from './interfaces/wasi-io-streams.js'; // import wasi:io/streams@0.2.9
|
|
7
|
+
export type * as WasiRandomRandom029 from './interfaces/wasi-random-random.js'; // import wasi:random/random@0.2.9
|
|
8
|
+
export * as clientAuth from './interfaces/component-session-client-auth.js'; // export component:session/client-auth@0.1.0
|
|
9
|
+
export * as clientHandshake from './interfaces/component-session-client-handshake.js'; // export component:session/client-handshake@0.1.0
|
|
10
|
+
export * as session from './interfaces/component-session-session.js'; // export component:session/session@0.1.0
|
|
11
|
+
export * as cookie from './interfaces/component-session-cookie.js'; // export component:session/cookie@0.1.0
|