@monotykamary/localterm-server 2.67.0 → 2.68.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/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -3
- package/dist/index.js.map +1 -1
- package/dist/protocol.d.ts +1 -1
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +1 -1
- package/dist/protocol.js.map +1 -1
- package/dist/schemas.d.ts +12 -0
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +14 -0
- package/dist/schemas.js.map +1 -1
- package/dist/terminal-themes.d.ts +3 -2
- package/dist/terminal-themes.d.ts.map +1 -1
- package/dist/terminal-themes.js +5 -7
- package/dist/terminal-themes.js.map +1 -1
- package/dist/theme-store.d.ts +7 -1
- package/dist/theme-store.d.ts.map +1 -1
- package/dist/theme-store.js +32 -2
- package/dist/theme-store.js.map +1 -1
- package/dist/types.d.ts +2 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGlE,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AA0EhE,OAAO,EAAoB,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAiBtF,OAAO,EAA8B,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAcrF,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -45,7 +45,7 @@ import { ThemeStore } from "./theme-store.js";
|
|
|
45
45
|
import { HerdrThemeSync } from "./herdr-theme-sync.js";
|
|
46
46
|
import { FontStore } from "./font-store.js";
|
|
47
47
|
import { parseImportedTheme } from "./theme-parser.js";
|
|
48
|
-
import { isBuiltinThemeId, BUILTIN_THEME_IDS } from "./terminal-themes.js";
|
|
48
|
+
import { AUTO_THEME_ID, isBuiltinThemeId, BUILTIN_THEME_IDS } from "./terminal-themes.js";
|
|
49
49
|
import { isBuiltinFontId } from "./terminal-fonts.js";
|
|
50
50
|
import { regenerateShims } from "./secret-shims.js";
|
|
51
51
|
import { encryptSecretExport, decryptSecretExport } from "./secret-export.js";
|
|
@@ -53,7 +53,7 @@ import { ProcessActivityWatcher } from "./process-activity-watcher.js";
|
|
|
53
53
|
import { parseCronExpression } from "./cron-expression.js";
|
|
54
54
|
import { createGitWorktree, listGitWorktrees, removeGitWorktree } from "./git-worktrees.js";
|
|
55
55
|
import { defaultSnapshotListeners, isSessionDescendantPid, listSessionListeningPorts, } from "./listening-ports.js";
|
|
56
|
-
import { clientToServerMessageSchema, createAutomationInputSchema, createSessionInputSchema, createWorktreeInputSchema, execInputSchema, execOneShotInputSchema, launchInputSchema, resetAutomationInputSchema, secretEntrySchema, secretSetInputSchema, secretExportRequestSchema, secretImportRequestSchema, sessionInputSchema, sessionResizeSchema, processNameSchema, processSetInputSchema, importThemeInputSchema, setActiveThemeInputSchema, migrateThemesInputSchema, updateFontsInputSchema, migrateFontsInputSchema, updateAutomationInputSchema, updateDaemonConfigInputSchema, updateSessionInputSchema, updateWorktreeConfigInputSchema, worktreeIncludeFileInputSchema, waitInputSchema, mouseInputSchema, updateStatusSchema, } from "./schemas.js";
|
|
56
|
+
import { clientToServerMessageSchema, createAutomationInputSchema, createSessionInputSchema, createWorktreeInputSchema, execInputSchema, execOneShotInputSchema, launchInputSchema, resetAutomationInputSchema, secretEntrySchema, secretSetInputSchema, secretExportRequestSchema, secretImportRequestSchema, sessionInputSchema, sessionResizeSchema, processNameSchema, processSetInputSchema, importThemeInputSchema, setActiveThemeInputSchema, setSystemThemesInputSchema, migrateThemesInputSchema, updateFontsInputSchema, migrateFontsInputSchema, updateAutomationInputSchema, updateDaemonConfigInputSchema, updateSessionInputSchema, updateWorktreeConfigInputSchema, worktreeIncludeFileInputSchema, waitInputSchema, mouseInputSchema, updateStatusSchema, } from "./schemas.js";
|
|
57
57
|
import { createNetworkPolicyMiddleware, isAllowedSourceIp, isLoopbackHost } from "./security.js";
|
|
58
58
|
import { createIdentityProvider } from "./identity/factory.js";
|
|
59
59
|
import { loadOrCreateAuthSecret, signSessionToken } from "./identity/session-cookie.js";
|
|
@@ -739,6 +739,8 @@ const buildApiRoutes = (ctx) => {
|
|
|
739
739
|
// the client reconciles its localStorage cache in a single round-trip.
|
|
740
740
|
api.get("/themes", (context) => context.json({
|
|
741
741
|
activeThemeId: themeStore.getActive(),
|
|
742
|
+
lightThemeId: themeStore.getLightThemeId(),
|
|
743
|
+
darkThemeId: themeStore.getDarkThemeId(),
|
|
742
744
|
customThemes: themeStore.list(),
|
|
743
745
|
initialized: themeStore.isInitialized(),
|
|
744
746
|
}));
|
|
@@ -749,10 +751,12 @@ const buildApiRoutes = (ctx) => {
|
|
|
749
751
|
const parsed = migrateThemesInputSchema.safeParse(await readJsonBody(context));
|
|
750
752
|
if (!parsed.success)
|
|
751
753
|
return context.json({ error: "invalid_body" }, HTTP_STATUS_BAD_REQUEST);
|
|
752
|
-
themeStore.migrate(parsed.data.activeThemeId, parsed.data.customThemes);
|
|
754
|
+
themeStore.migrate(parsed.data.activeThemeId, parsed.data.customThemes, parsed.data.lightThemeId, parsed.data.darkThemeId);
|
|
753
755
|
broadcastThemes();
|
|
754
756
|
return context.json({
|
|
755
757
|
activeThemeId: themeStore.getActive(),
|
|
758
|
+
lightThemeId: themeStore.getLightThemeId(),
|
|
759
|
+
darkThemeId: themeStore.getDarkThemeId(),
|
|
756
760
|
customThemes: themeStore.list(),
|
|
757
761
|
initialized: themeStore.isInitialized(),
|
|
758
762
|
});
|
|
@@ -804,6 +808,19 @@ const buildApiRoutes = (ctx) => {
|
|
|
804
808
|
broadcastThemes();
|
|
805
809
|
return context.json({ activeThemeId });
|
|
806
810
|
});
|
|
811
|
+
api.put("/themes/system", async (context) => {
|
|
812
|
+
const parsed = setSystemThemesInputSchema.safeParse(await readJsonBody(context));
|
|
813
|
+
if (!parsed.success)
|
|
814
|
+
return context.json({ error: "invalid_body" }, HTTP_STATUS_BAD_REQUEST);
|
|
815
|
+
const { lightThemeId, darkThemeId } = parsed.data;
|
|
816
|
+
const isValidThemeId = (id) => id !== AUTO_THEME_ID && (isBuiltinThemeId(id) || Boolean(themeStore.get(id)));
|
|
817
|
+
if (!isValidThemeId(lightThemeId) || !isValidThemeId(darkThemeId)) {
|
|
818
|
+
return context.json({ error: "not_found" }, HTTP_STATUS_NOT_FOUND);
|
|
819
|
+
}
|
|
820
|
+
themeStore.setSystemThemes(lightThemeId, darkThemeId);
|
|
821
|
+
broadcastThemes();
|
|
822
|
+
return context.json({ lightThemeId, darkThemeId });
|
|
823
|
+
});
|
|
807
824
|
// Terminal fonts: the active font id + the user-entered custom family + the
|
|
808
825
|
// Nerd Font / ligatures toggles, stored in ~/.localterm/fonts.json so the
|
|
809
826
|
// `localterm font` CLI and every browser tab share one source of truth
|
|
@@ -1974,6 +1991,8 @@ export const createServer = async (options = {}) => {
|
|
|
1974
1991
|
const payload = {
|
|
1975
1992
|
type: "themes",
|
|
1976
1993
|
activeThemeId: themeStore.getActive(),
|
|
1994
|
+
lightThemeId: themeStore.getLightThemeId(),
|
|
1995
|
+
darkThemeId: themeStore.getDarkThemeId(),
|
|
1977
1996
|
customThemes: themeStore.list(),
|
|
1978
1997
|
initialized: themeStore.isInitialized(),
|
|
1979
1998
|
};
|