@ai-ecoverse/slicc-kernel 1.153.0 → 1.154.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.
@@ -18,6 +18,7 @@ export interface TlsClientInfo {
18
18
  verified: boolean;
19
19
  handshakeAt: number;
20
20
  substitutes?: boolean;
21
+ keylog?: string[];
21
22
  }
22
23
  export interface TlsClientOptions {
23
24
  engine: TlsEngine;
@@ -30,6 +31,7 @@ export interface TlsClientOptions {
30
31
  session?: TlsSession;
31
32
  clientCertificate?: boolean;
32
33
  bundled?: boolean;
34
+ keylog?: boolean;
33
35
  }
34
36
  export declare function clientFlags(o: TlsClientOptions): number;
35
37
  export declare function openSession(o: TlsClientOptions): TlsSession;
@@ -46,6 +48,7 @@ export interface TlsServerInfo {
46
48
  authorizationError?: string;
47
49
  peerCertificates: Uint8Array[];
48
50
  cipher: TlsCipher;
51
+ keylog?: string[];
49
52
  }
50
53
  export interface ServerOffer {
51
54
  servername: string;
@@ -58,7 +61,7 @@ export interface ServerChoice {
58
61
  done?: () => void;
59
62
  }
60
63
  export type ServerSelect = (offer: ServerOffer) => Promise<ServerChoice>;
61
- export declare function tlsServer(conn: UplinkConn, session: TlsSession, clientCerts: boolean, select?: ServerSelect): Promise<{
64
+ export declare function tlsServer(conn: UplinkConn, session: TlsSession, clientCerts: boolean, select?: ServerSelect, keylog?: boolean): Promise<{
62
65
  conn: UplinkConn;
63
66
  info: TlsServerInfo;
64
67
  }>;
@@ -1,6 +1,6 @@
1
1
  type TlsExport = 'malloc' | 'free' | 'tls_last_error' | 'tls_strerror' | 'tls_leaf_new' | 'tls_leaf_spki' | 'tls_leaf_add_cert' | 'tls_leaf_free' | 'tls_session_new' | 'tls_feed' | 'tls_feed_eof' | 'tls_in_room' | 'tls_read' | 'tls_write' | 'tls_out_size' | 'tls_out_take' | 'tls_close' | 'tls_alpn_http11' | 'tls_session_free';
2
2
  type TlsClientExport = 'tls_ca_new' | 'tls_ca_add_der' | 'tls_ca_add_bundle' | 'tls_ca_free' | 'tls_client_new' | 'tls_handshake' | 'tls_verify_result' | 'tls_verify_info' | 'tls_alpn' | 'tls_version' | 'tls_peer_count' | 'tls_peer_der';
3
- type TlsSessionExport = 'tls_leaf_import' | 'tls_server_new' | 'tls_sni' | 'tls_server_select' | 'tls_server_refuse' | 'tls_client_alpn' | 'tls_client_cert' | 'tls_ciphersuite' | 'tls_name_mismatch' | 'tls_last_alert' | 'tls_chain_verify';
3
+ type TlsSessionExport = 'tls_leaf_import' | 'tls_server_new' | 'tls_sni' | 'tls_server_select' | 'tls_server_refuse' | 'tls_client_alpn' | 'tls_keylog' | 'tls_client_cert' | 'tls_ciphersuite' | 'tls_name_mismatch' | 'tls_last_alert' | 'tls_chain_verify';
4
4
  export type TlsEngineModule = {
5
5
  readonly HEAPU8: Uint8Array;
6
6
  } & {
@@ -20,6 +20,7 @@ export declare const TLS_SERVER_REQUEST_CERT = 1;
20
20
  export declare const TLS_SERVER_REQUIRE_CERT = 2;
21
21
  export declare const TLS_SERVER_SELECT = 4;
22
22
  export declare const TLS_HANDSHAKE_SELECT = 2;
23
+ export declare const TLS_KEYLOG = 8;
23
24
  export declare class TlsError extends Error {
24
25
  readonly code: number;
25
26
  constructor(code: number, message: string);
@@ -35,11 +36,12 @@ export declare class TlsEngine {
35
36
  session(leaf: TlsLeaf, host: string): TlsSession;
36
37
  get serverSessions(): boolean;
37
38
  importLeaf(chain: Uint8Array, key: Uint8Array, pass: Uint8Array): TlsLeaf;
39
+ get keylogs(): boolean;
38
40
  get serverSelect(): boolean;
39
41
  serverSession(leaf: TlsLeaf | undefined, alpn: readonly string[], clientCa: TlsStore | undefined, flags: number): TlsSession;
40
42
  withBytes<T>(bytes: Uint8Array, fn: (ptr: number) => T): T;
41
43
  withSecret<T>(bytes: Uint8Array, fn: (ptr: number) => T): T;
42
- intoScratch(fn: (ptr: number, max: number) => number): number | Uint8Array;
44
+ intoScratch(fn: (ptr: number, max: number) => number, secret?: boolean): number | Uint8Array;
43
45
  get sessionControls(): boolean;
44
46
  get client(): TlsClientModule | undefined;
45
47
  private clientModule;
@@ -87,6 +89,7 @@ export declare class TlsSession {
87
89
  refuse(alert: number): void;
88
90
  get verifyResult(): number;
89
91
  get version(): number;
92
+ keylog(): string[];
90
93
  get sni(): string;
91
94
  get alpn(): string | undefined;
92
95
  ownCert(chain: Uint8Array, key: Uint8Array, pass: Uint8Array): void;
@@ -12,6 +12,7 @@ export interface ServeRequest {
12
12
  alpn?: string[];
13
13
  handshakeTimeout?: number;
14
14
  select?: boolean;
15
+ keylog?: boolean;
15
16
  listener?: KernelSocket;
16
17
  }
17
18
  export interface SelectRequest {
@@ -28,6 +29,7 @@ export interface ServedSession {
28
29
  authorizationError?: string;
29
30
  peerCertificates: string[];
30
31
  cipher: TlsCipher;
32
+ keylog?: string[];
31
33
  }
32
34
  interface Server {
33
35
  engine: TlsEngine;
@@ -17,6 +17,7 @@ export interface SecureRequest {
17
17
  sni?: false;
18
18
  checkHostname?: false;
19
19
  clientCert?: ClientCertRequest;
20
+ keylog?: boolean;
20
21
  }
21
22
  export interface ClientCertRequest {
22
23
  chain: string[];
@@ -57,6 +58,7 @@ export interface SecureSession {
57
58
  hostnameChecked?: boolean;
58
59
  hostnameMatches?: boolean;
59
60
  chainError?: string;
61
+ keylog?: string[];
60
62
  }
61
63
  export declare function encryptedKey(key: Uint8Array): boolean;
62
64
  export declare function keyRefused(err: unknown, locked: boolean): KernelError;
@@ -70,6 +70,7 @@ export type SocketSyscall = {
70
70
  sni?: false;
71
71
  checkHostname?: false;
72
72
  clientCert?: ClientCertRequest;
73
+ keylog?: boolean;
73
74
  path?: 'kernel' | 'transport';
74
75
  } | {
75
76
  op: 'sock-tls-upgrade';
@@ -81,6 +82,7 @@ export type SocketSyscall = {
81
82
  sni?: false;
82
83
  checkHostname?: false;
83
84
  clientCert?: ClientCertRequest;
85
+ keylog?: boolean;
84
86
  } | {
85
87
  op: 'sock-tls-serve' | 'sock-tls-listen';
86
88
  fd: number;
@@ -92,6 +94,7 @@ export type SocketSyscall = {
92
94
  alpn?: string[];
93
95
  handshakeTimeout?: number;
94
96
  select?: boolean;
97
+ keylog?: boolean;
95
98
  } | {
96
99
  op: 'sock-tls-context';
97
100
  cert?: ClientCertRequest;
@@ -21,6 +21,7 @@ export interface JsTlsSession {
21
21
  readonly hostnameChecked?: boolean;
22
22
  readonly hostnameMatches?: boolean;
23
23
  readonly chainError?: string;
24
+ readonly keylog?: readonly string[];
24
25
  }
25
26
  export interface JsTlsCipher {
26
27
  readonly name: string;
@@ -42,6 +43,7 @@ export interface JsTlsOptions {
42
43
  server?: boolean;
43
44
  requestCert?: boolean;
44
45
  handshakeTimeout?: number;
46
+ keylog?: boolean;
45
47
  select?: JsTlsSelect;
46
48
  }
47
49
  export interface JsTlsOffer {
@@ -72,6 +74,7 @@ export interface JsTlsServerSession {
72
74
  readonly authorizationError?: string;
73
75
  readonly peerCertificates: readonly Uint8Array[];
74
76
  readonly cipher: JsTlsCipher;
77
+ readonly keylog?: readonly string[];
75
78
  }
76
79
  export interface JsConnection {
77
80
  readonly fd: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-ecoverse/slicc-kernel",
3
- "version": "1.153.0",
3
+ "version": "1.154.0",
4
4
  "description": "SLICC's wasm-realm kernel: run Emscripten programs in the browser against OPFS, with fork, spawn, pipes and waitpid",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -64,7 +64,7 @@
64
64
  },
65
65
  "devDependencies": {
66
66
  "@ai-ecoverse/py-numpy": "2.5.4-4",
67
- "@ai-ecoverse/slicc-cdp": "1.39.2",
67
+ "@ai-ecoverse/slicc-cdp": "1.40.0",
68
68
  "@ai-ecoverse/slicc-node": "2.5.2",
69
69
  "@ai-ecoverse/slicc-scrub": "1.1.0",
70
70
  "@ai-ecoverse/slicc-shared-web": "2.11.3",
@@ -80,9 +80,9 @@
80
80
  "@ai-ecoverse/wasm-git": "2.55.0-22",
81
81
  "@ai-ecoverse/wasm-gmake": "4.4.1-9",
82
82
  "@ai-ecoverse/wasm-procps": "4.0.7-5",
83
- "@ai-ecoverse/wasm-sqlite3": "3.54.0-8",
83
+ "@ai-ecoverse/wasm-sqlite3": "3.54.1-1",
84
84
  "@ai-ecoverse/wasm-tar": "1.35.0-9",
85
- "@ai-ecoverse/wasm-tls-engine": "4.2.0-9",
85
+ "@ai-ecoverse/wasm-tls-engine": "4.2.0-10",
86
86
  "@ai-ecoverse/wasm-util-linux": "2.42.4-7",
87
87
  "@biomejs/biome": "2.5.15",
88
88
  "@types/node": "24.19.2",