Compare commits

...
Author SHA1 Message Date
LukeGus 6377798d45 feat: client cert on the sync link types (sdk 1.0.18) 2026-10-19 23:27:58 -05:00
5 changed files with 31 additions and 4 deletions

No files matched your search

+8
View File
@@ -1,5 +1,13 @@
# Changelog
## 1.0.18
Plugin API 1.10.0.
### Added
- `clientCert` on the sync link, link patch and remote target, and the `client_cert` remote error kind, so a sync plugin can link to a server that needs mutual TLS
## 1.0.17
Plugin API 1.9.0.
+1 -1
View File
@@ -1,6 +1,6 @@
# Termix plugin guide
SDK 1.0.17 | Plugin API 1.9.0
SDK 1.0.18 | Plugin API 1.10.0
This guide is for anyone, person or AI coding tool, building a Termix plugin. It ships inside
`@termix-ssh/plugin-sdk`, so the copy in your `node_modules` always matches the SDK you have installed.
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@termix-ssh/plugin-sdk",
"version": "1.0.17",
"version": "1.0.18",
"description": "The contract between Termix core and a plugin: types, the capability catalog and the manifest schema.",
"license": "Apache-2.0",
"repository": {
+20 -1
View File
@@ -308,6 +308,15 @@ export interface SyncBasicAuth {
password: string;
}
/** A client certificate for a server that asks for mutual TLS. */
export interface SyncClientCert {
/** Base64 of the PFX/P12 file. */
pfx: string;
passphrase: string;
/** The file name, to show which certificate is saved. */
name: string | null;
}
/** Extra per server connection options. Kept open so new ones need no migration. */
export type SyncLinkOptions = Record<string, unknown>;
@@ -323,6 +332,7 @@ export interface SyncLinkInfo {
customHeaders: SyncProxyHeader[];
basicAuth: SyncBasicAuth | null;
allowInvalidCertificate: boolean;
clientCert: SyncClientCert | null;
remoteUserId: string | null;
remoteUsername: string | null;
account: {
@@ -352,6 +362,7 @@ export interface SyncLinkCreate {
customHeaders?: SyncProxyHeader[];
basicAuth?: SyncBasicAuth | null;
allowInvalidCertificate?: boolean;
clientCert?: SyncClientCert | null;
remoteUserId?: string | null;
remoteUsername?: string | null;
}
@@ -365,6 +376,7 @@ export type SyncLinkPatch = Partial<
| "customHeaders"
| "basicAuth"
| "allowInvalidCertificate"
| "clientCert"
| "remoteUserId"
| "remoteUsername"
| "account"
@@ -379,7 +391,13 @@ export type SyncLinkPatch = Partial<
>;
export type SyncRemoteErrorKind =
"offline" | "tls" | "proxy" | "basic_auth" | "signed_out" | "server";
| "offline"
| "tls"
| "client_cert"
| "proxy"
| "basic_auth"
| "signed_out"
| "server";
export interface SyncRemoteError extends Error {
readonly kind: SyncRemoteErrorKind;
@@ -392,6 +410,7 @@ export interface SyncRemoteTarget {
customHeaders?: SyncProxyHeader[];
basicAuth?: SyncBasicAuth | null;
allowInvalidCertificate?: boolean;
clientCert?: SyncClientCert | null;
}
export interface SyncRemoteRequest {
+1 -1
View File
@@ -37,7 +37,7 @@ export {
* "^1.2" needs 1.2 or later). engine.termix is checked against the core
* version by the server.
*/
export const PLUGIN_API_VERSION = "1.9.0";
export const PLUGIN_API_VERSION = "1.10.0";
/** The API major, the default engine.api for a new plugin. */
export const SUPPORTED_PLUGIN_API_VERSION = String(