Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion KERNEL_REV
Original file line number Diff line number Diff line change
@@ -1 +1 @@
80b68e1eef3b613910183a50dfa4dace854d50dd
fcc459bbf3f39bf57e2ee02f14b99c0ec7a70123
35 changes: 34 additions & 1 deletion lib/contracts/InternalConnectionOptions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,49 @@ export interface InternalConnectionOptions {
/**
* SEA-only: verify the server's TLS certificate. Secure-by-default — omit
* to keep full chain + hostname verification; set `false` only to opt into
* the insecure accept-anything mode.
* the insecure accept-anything mode. This is the master verify toggle:
* `false` also subsumes the hostname check (see
* `checkServerCertificateHostname`). Mirrors the Python connector's
* `_tls_no_verify` (inverted).
* @internal SEA path only.
*/
checkServerCertificate?: boolean;

/**
* SEA-only: verify that the server certificate matches the host
* (hostname-vs-SNI check), independently of full chain validation. Omit
* to keep the secure default (on); set `false` to skip only the hostname
* check while still validating the chain — e.g. connecting via an IP
* literal or a host the cert wasn't issued for. No-op when
* `checkServerCertificate` is `false` (that disables everything). Mirrors
* the Python connector's `_tls_verify_hostname`.
* @internal SEA path only.
*/
checkServerCertificateHostname?: boolean;

/**
* SEA-only: PEM-encoded CA certificate (string or `Buffer`) added to the
* trust store on top of the system roots — for TLS-inspecting proxies or
* on-prem internal CAs. Honoured regardless of `checkServerCertificate`.
* @internal SEA path only.
*/
customCaCert?: Buffer | string;

/**
* SEA-only: PEM-encoded client certificate (string or `Buffer`) for
* mutual TLS (mTLS). Must be supplied together with `clientKeyPem`; a
* leaf cert optionally followed by its intermediate chain is accepted.
* Mirrors the Python connector's `_tls_client_cert_file`.
* @internal SEA path only.
*/
clientCertPem?: Buffer | string;

/**
* SEA-only: PEM-encoded private key (string or `Buffer`) for the mTLS
* client certificate. Must be supplied together with `clientCertPem`.
* For portability supply a PKCS#8 key (`BEGIN PRIVATE KEY`). Mirrors the
* Python connector's `_tls_client_cert_key_file`.
* @internal SEA path only.
*/
clientKeyPem?: Buffer | string;
}
29 changes: 29 additions & 0 deletions lib/contracts/OperationStatus.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,33 @@ export interface OperationStatus {
* to `WaitUntilReadyOptions.callback` for the consumer to interpret.
*/
progressUpdateResponse?: unknown;

/**
* Number of rows modified by a DML statement (UPDATE / INSERT / DELETE /
* MERGE). `undefined`/`null` for SELECT and on backends/warehouses that do
* not surface the counter. Mirrors Thrift's
* `TGetOperationStatusResp.numModifiedRows`.
*/
numModifiedRows?: number | null;

/**
* Server-supplied user-facing message, when the backend exposes one. Mirrors
* Thrift's `TGetOperationStatusResp.displayMessage`. May contain SQL
* fragments or parameter values — treat as potentially sensitive.
*/
displayMessage?: string | null;

/**
* Server-supplied diagnostic detail (multi-line operator / stack context),
* when available. Mirrors Thrift's `TGetOperationStatusResp.diagnosticInfo`.
* For support surfaces, not user-facing.
*/
diagnosticInfo?: string | null;

/**
* Server-supplied JSON blob with extended error details, when available.
* Mirrors Thrift's `TGetOperationStatusResp.errorDetailsJson`. Pass-through
* string — callers parse with `JSON.parse` if they need structured access.
*/
errorDetailsJson?: string | null;
}
Loading
Loading