chore: rename the plugin sdk to @termix-ssh/plugin-sdk

This commit is contained in:
LukeGus committed 2026-10-05 18:23:03 -05:00
1 parent 0c4f673318
commit e608505b39
132 files changed
+250 -1336

No files matched your search

+1 -1
View File
@@ -1,6 +1,6 @@
/* eslint-disable react-refresh/only-export-components */
/* eslint-disable react-hooks/exhaustive-deps */
import type { TabHandle } from "@termix/plugin-sdk/frontend";
import type { TabHandle } from "@termix-ssh/plugin-sdk/frontend";
import { toast } from "sonner";
import { useTranslation } from "react-i18next";
import { Sheet, SheetContent } from "@/components/sheet";
+1 -1
View File
@@ -84,7 +84,7 @@ export interface PluginContributions {
export {
isRedactedSecret,
type RedactedSecret,
} from "@termix/plugin-sdk/settings";
} from "@termix-ssh/plugin-sdk/settings";
export type PluginSettingsValues = Record<string, unknown>;
@@ -8,7 +8,7 @@ import {
useState,
} from "react";
import type React from "react";
import { useConnectionRetry } from "@termix/plugin-sdk/frontend";
import { useConnectionRetry } from "@termix-ssh/plugin-sdk/frontend";
import {
ConnectionLogProvider,
useConnectionLog,
+1 -1
View File
@@ -12,7 +12,7 @@
* - Electron pointed at a remote Termix server, for hosts whose connection
* origin resolves there.
*
* A7 re-exports both through @termix/plugin-sdk/frontend. They live here for
* A7 re-exports both through @termix-ssh/plugin-sdk/frontend. They live here for
* now because plugin frontends are still bundled with the shell.
*/
+1 -1
View File
@@ -2,7 +2,7 @@ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
import { useTranslation } from "react-i18next";
import { KeyRound, LibraryBig, Plus, Server, Trash2 } from "lucide-react";
import { toast } from "sonner";
import type { HostDraft } from "@termix/plugin-sdk/frontend";
import type { HostDraft } from "@termix-ssh/plugin-sdk/frontend";
import { Button } from "@/components/button";
import { EmptyState } from "@/components/empty-state";
import { FakeSwitch } from "@/components/section-card";
+1 -1
View File
@@ -1,4 +1,4 @@
import type { HostDraft } from "@termix/plugin-sdk/frontend";
import type { HostDraft } from "@termix-ssh/plugin-sdk/frontend";
import type { HostDefaultsLevel } from "@/types/host-defaults";
export type ManageMode = "hosts" | "credentials" | "defaults";
+1 -1
View File
@@ -3,7 +3,7 @@ import type {
Disposer,
PluginManifest,
TermixApp,
} from "@termix/plugin-sdk/frontend";
} from "@termix-ssh/plugin-sdk/frontend";
import {
PLUGIN_SETTINGS_CHANGED_EVENT,
type PluginContributions,
+1 -1
View File
@@ -2,7 +2,7 @@ import type { ComponentType } from "react";
import type {
LoginMethodUIProps,
SecondFactorUIProps,
} from "@termix/plugin-sdk/frontend";
} from "@termix-ssh/plugin-sdk/frontend";
import { createRegistry } from "@/lib/registry";
/**
+1 -1
View File
@@ -15,7 +15,7 @@ import {
type PluginHostRecord,
type SettingsScope,
type SettingsState,
} from "@termix/plugin-sdk/frontend";
} from "@termix-ssh/plugin-sdk/frontend";
import { usePermissions } from "@/hooks/use-permissions";
import { useTheme } from "@/components/theme-provider";
import { createPluginApi, pluginApiFor } from "@/lib/plugin-transport";
+1 -1
View File
@@ -2,7 +2,7 @@ import type { ResourceKey } from "i18next";
import type {
FrontendModule,
PluginManifest,
} from "@termix/plugin-sdk/frontend";
} from "@termix-ssh/plugin-sdk/frontend";
import i18n, { setPluginLocaleResolver } from "@/i18n/i18n";
import { getPlugins, type PluginSummary } from "@/api/plugins-api";
import { getBackendUrl } from "@/main-axios";
+2 -2
View File
@@ -1,5 +1,5 @@
/**
* @termix/plugin-sdk/ui: the shell's components, for plugins.
* @termix-ssh/plugin-sdk/ui: the shell's components, for plugins.
*
* Everything exported here is public API. A plugin builds its UI from these
* so it looks like the rest of the app and picks up theme changes, and it
@@ -244,7 +244,7 @@ export { remoteServerUrl as linkedServerUrl } from "@/plugin-host/desktop";
// Dashboard reads. The calls a plugin makes on the user's behalf (recent
// activity, sudo autofill, open tabs, keybindings) are typed in
// @termix/plugin-sdk/frontend instead.
// @termix-ssh/plugin-sdk/frontend instead.
export {
getRecentActivity,
getUptime,
+3 -3
View File
@@ -1,5 +1,5 @@
/**
* The Termix side of @termix/plugin-sdk/testing's renderWithApp.
* The Termix side of @termix-ssh/plugin-sdk/testing's renderWithApp.
*
* Activates a plugin against the real registries, the real app object and
* the real SDK bridge, then renders whatever it registered with Testing
@@ -12,13 +12,13 @@ import { render } from "@testing-library/react";
import type {
HostActionContribution,
PluginManifest,
} from "@termix/plugin-sdk/frontend";
} from "@termix-ssh/plugin-sdk/frontend";
import type {
FrontendPluginModule,
RenderWithAppOptions,
RenderedPluginApp,
ShellCall,
} from "@termix/plugin-sdk/testing";
} from "@termix-ssh/plugin-sdk/testing";
import i18n from "@/i18n/i18n";
import type { PluginSummary } from "@/api/plugins-api";
import { ThemeProvider } from "@/components/theme-provider";
+1 -1
View File
@@ -1,4 +1,4 @@
import { isFieldActive } from "@termix/plugin-sdk/settings";
import { isFieldActive } from "@termix-ssh/plugin-sdk/settings";
import type { PluginSettingsField } from "@/api/plugins-api";
/**
+1 -1
View File
@@ -1,6 +1,6 @@
import type { ConfirmOptions } from "@/components/surface/surface-scope";
import type { ComponentType, Ref } from "react";
import type { HostDraft } from "@termix/plugin-sdk/frontend";
import type { HostDraft } from "@termix-ssh/plugin-sdk/frontend";
import type { Host, Tab } from "@/types/ui-types";
import { createRegistry } from "@/lib/registry";
import { viewOwner } from "@/plugin-host/view-ownership";
+2 -2
View File
@@ -90,8 +90,8 @@ import {
import { useSshAuthEditors } from "@/plugin-host/auth-registry";
import { useSshAuthProviders } from "@/hooks/useSshAuthProviders";
import { SshAuthProviderFields } from "./SshAuthProviderFields";
import type { PluginSettingsField } from "@termix/plugin-sdk/manifest";
import type { HostDraft } from "@termix/plugin-sdk/frontend";
import type { PluginSettingsField } from "@termix-ssh/plugin-sdk/manifest";
import type { HostDraft } from "@termix-ssh/plugin-sdk/frontend";
import { PluginComponent } from "@/plugin-host/component-registry";
import {
toCredentialOption,
+1 -1
View File
@@ -5,7 +5,7 @@ import {
type HostDraft,
type HostProtocolAuthForm,
type HostProtocolAuthSummary,
} from "@termix/plugin-sdk/frontend";
} from "@termix-ssh/plugin-sdk/frontend";
import type { DefaultOverrides } from "@/types/host-defaults";
import {
listHostProtocols,
+1 -1
View File
@@ -1,6 +1,6 @@
import { useEffect, useRef, useState } from "react";
import { useTranslation } from "react-i18next";
import type { PluginSettingsField } from "@termix/plugin-sdk/manifest";
import type { PluginSettingsField } from "@termix-ssh/plugin-sdk/manifest";
import { SettingsFieldRow } from "@/settings/SettingsFields";
import {
getPluginHostSettings,
+1 -1
View File
@@ -7,7 +7,7 @@ import {
} from "@/components/surface/prompt-styles";
import { Shield, Loader2 } from "lucide-react";
import { useTranslation } from "react-i18next";
import type { MFAPromptMode } from "@termix/plugin-sdk/frontend";
import type { MFAPromptMode } from "@termix-ssh/plugin-sdk/frontend";
export type { MFAPromptMode };
+1 -1
View File
@@ -18,7 +18,7 @@ import {
import type {
LoginMethodUIProps,
SecondFactorUIProps,
} from "@termix/plugin-sdk/frontend";
} from "@termix-ssh/plugin-sdk/frontend";
const mainAxios = vi.hoisted(() => ({
loginUser: vi.fn(),
+2 -2
View File
@@ -17,7 +17,7 @@ import {
renderWithApp,
type FrontendPluginModule,
type RenderedPluginApp,
} from "@termix/plugin-sdk/testing";
} from "@termix-ssh/plugin-sdk/testing";
import { resetPanels } from "@/shell/panel-registry";
import { resetPluginStore } from "@/plugin-host/plugin-store";
@@ -48,7 +48,7 @@ afterAll(async () => {
describe("a CLI-built plugin bundle", () => {
it("leaves React and the SDK out of the bundle", () => {
expect(bundle).toMatch(/from\s*"react"/);
expect(bundle).toMatch(/from\s*"@termix\/plugin-sdk\/frontend"/);
expect(bundle).toMatch(/from\s*"@termix-ssh\/plugin-sdk\/frontend"/);
expect(bundle).not.toMatch(/react\.production|react\.development/);
});
@@ -1,5 +1,8 @@
import { useState } from "react";
import { useTranslation, type TermixApp } from "@termix/plugin-sdk/frontend";
import {
useTranslation,
type TermixApp,
} from "@termix-ssh/plugin-sdk/frontend";
function Counter() {
const { t } = useTranslation();
+3 -3
View File
@@ -6,12 +6,12 @@ import {
useHost,
type PluginHostRecord,
type TermixApp,
} from "@termix/plugin-sdk/frontend";
} from "@termix-ssh/plugin-sdk/frontend";
import {
renderWithApp,
type RenderedPluginApp,
} from "@termix/plugin-sdk/testing";
import type { PluginManifest } from "@termix/plugin-sdk/manifest";
} from "@termix-ssh/plugin-sdk/testing";
import type { PluginManifest } from "@termix-ssh/plugin-sdk/manifest";
import {
scopeHost,
scopeHostArgs,
+4 -1
View File
@@ -1,6 +1,9 @@
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
import { Puzzle } from "lucide-react";
import type { FrontendModule, TermixApp } from "@termix/plugin-sdk/frontend";
import type {
FrontendModule,
TermixApp,
} from "@termix-ssh/plugin-sdk/frontend";
import type { PluginSummary } from "@/api/plugins-api";
import {
configurePluginLoader,
+3 -3
View File
@@ -10,12 +10,12 @@ import {
usePermission,
useTranslation,
type TermixApp,
} from "@termix/plugin-sdk/frontend";
} from "@termix-ssh/plugin-sdk/frontend";
import {
renderWithApp,
type RenderedPluginApp,
} from "@termix/plugin-sdk/testing";
import type { PluginManifest } from "@termix/plugin-sdk/manifest";
} from "@termix-ssh/plugin-sdk/testing";
import type { PluginManifest } from "@termix-ssh/plugin-sdk/manifest";
import { NavigationVisibilityToggles } from "@/sidebar/NavigationVisibilityToggles";
import {
hostActionsFor,
@@ -1,7 +1,7 @@
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
import { render, screen } from "@testing-library/react";
import { Puzzle } from "lucide-react";
import type { FrontendModule } from "@termix/plugin-sdk/frontend";
import type { FrontendModule } from "@termix-ssh/plugin-sdk/frontend";
import type { PluginSummary } from "@/api/plugins-api";
import {
configurePluginLoader,
@@ -1,10 +1,13 @@
import { afterEach, describe, expect, it } from "vitest";
import { render, screen } from "@testing-library/react";
import { useTranslation, type TermixApp } from "@termix/plugin-sdk/frontend";
import {
useTranslation,
type TermixApp,
} from "@termix-ssh/plugin-sdk/frontend";
import {
renderWithApp,
type RenderedPluginApp,
} from "@termix/plugin-sdk/testing";
} from "@termix-ssh/plugin-sdk/testing";
import { ComponentSlot } from "@/shell/ActionSlot";
import { resetActionRegistry } from "@/shell/action-registry";
import { resetPluginStore } from "@/plugin-host/plugin-store";
+1 -1
View File
@@ -9,7 +9,7 @@ import {
type HostProtocols,
} from "../../sidebar/HostEditorData";
import type { Host } from "@/types/ui-types";
import { HOST_PROTOCOL_SECRET_KEPT } from "@termix/plugin-sdk/frontend";
import { HOST_PROTOCOL_SECRET_KEPT } from "@termix-ssh/plugin-sdk/frontend";
const sshOnly: HostProtocols = {
enableSsh: true,