claude-code-session-manager 0.108.0 → 0.110.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.
Files changed (79) hide show
  1. package/dist/assets/AgentLibrary-Cm6MrOnF.js +2 -0
  2. package/dist/assets/{Button-DC6VzovQ.js → Button-CGVncJ6a.js} +1 -1
  3. package/dist/assets/DataModel-C3hlMoa8.js +1 -0
  4. package/dist/assets/History-CTyfGNKn.js +2 -0
  5. package/dist/assets/Hooks-BXxCBibx.js +3 -0
  6. package/dist/assets/{Library-DLmnlfQt.js → Library-aCs7zxAg.js} +24 -24
  7. package/dist/assets/{ListDetail-YylbvUj_.js → ListDetail-B9Hqk1_f.js} +1 -1
  8. package/dist/assets/{MarkdownEditor-DMPKWHTF.js → MarkdownEditor-Djfgp32k.js} +1 -1
  9. package/dist/assets/{McpServers-Da-Ty5nc.js → McpServers-8HQC6QgR.js} +2 -2
  10. package/dist/assets/{Memory-C3rUQ_cg.js → Memory-c4SVE3l2.js} +5 -5
  11. package/dist/assets/{Panel-CC3JTnOI.js → Panel-BEQTwE4z.js} +1 -1
  12. package/dist/assets/Permissions-BaYzgZtc.js +3 -0
  13. package/dist/assets/Plugins-DnXsVau7.js +2 -0
  14. package/dist/assets/ProvenanceBadge-CT2vWps1.js +1 -0
  15. package/dist/assets/RemoteMachines-DHJZfdJC.js +3 -0
  16. package/dist/assets/{SaveBar-C06rFT34.js → SaveBar-DwcHt3iR.js} +1 -1
  17. package/dist/assets/Scheduler-D6Gcuo0M.js +16 -0
  18. package/dist/assets/{ScopeSwitcher-Cp5mxblN.js → ScopeSwitcher-CgvWDc9Y.js} +1 -1
  19. package/dist/assets/Settings-CJoogVAB.js +4 -0
  20. package/dist/assets/{SkillReferenceGraph-DuWRmT_f.js → SkillReferenceGraph-4fq01kxq.js} +14 -14
  21. package/dist/assets/Skills-BU4ZX4h4.js +2 -0
  22. package/dist/assets/SystemPrompt-BCEyMSEq.js +1 -0
  23. package/dist/assets/TagLibrary-m3It8Oal.js +1 -0
  24. package/dist/assets/{TiptapBody-1r4ODLJ7.js → TiptapBody-DVyBsfsT.js} +1 -1
  25. package/dist/assets/{Toggle-BGT68XHP.js → Toggle-In_AExPV.js} +1 -1
  26. package/dist/assets/{ViewTabs-T0NBc8uv.js → ViewTabs-BLHjKUv-.js} +1 -1
  27. package/dist/assets/historyTotals-BXDd3EzP.js +1 -0
  28. package/dist/assets/index-CuiU3I-8.js +3077 -0
  29. package/dist/assets/{index-tr1w3hHB.css → index-Dutcsly-.css} +1 -1
  30. package/dist/assets/listSkills-C1aWKf0T.js +1 -0
  31. package/dist/assets/{settingsSchema-CvoNk3Ye.js → settingsSchema-DD4bc5cT.js} +1 -1
  32. package/dist/assets/useAgentsDirWatch-DMQ_XZtr.js +1 -0
  33. package/dist/assets/useRemotePeers-C9NfteSD.js +1 -0
  34. package/dist/index.html +2 -2
  35. package/package.json +6 -2
  36. package/plugins/session-manager-dev/skills/develop/SKILL.md +3 -1
  37. package/plugins/session-manager-dev/skills/develop/standards.md +5 -0
  38. package/plugins/session-manager-dev/skills/send-feedback/SKILL.md +48 -15
  39. package/scripts/README.md +7 -0
  40. package/scripts/scheduler-mcp-server.cjs +29 -2
  41. package/src/main/agentLibrary.cjs +20 -9
  42. package/src/main/build-info.json +4 -4
  43. package/src/main/chatRunner.cjs +7 -0
  44. package/src/main/config.cjs +20 -10
  45. package/src/main/historyAggregator.cjs +46 -3
  46. package/src/main/index.cjs +8 -0
  47. package/src/main/ipcSchemas.cjs +30 -0
  48. package/src/main/lib/autoUpdater.cjs +190 -0
  49. package/src/main/lib/crossProjectFeedback.cjs +143 -6
  50. package/src/main/lib/mcpToolCatalog.cjs +12 -3
  51. package/src/main/lib/reaperHelpers.cjs +13 -1
  52. package/src/main/lib/relayClientAuth.cjs +133 -0
  53. package/src/main/lib/remoteClientSessions.cjs +84 -0
  54. package/src/main/lib/remoteE2eCrypto.cjs +109 -0
  55. package/src/main/lib/updaterSettings.cjs +64 -0
  56. package/src/main/pty.cjs +53 -0
  57. package/src/main/remoteClient.cjs +334 -0
  58. package/src/main/remoteClientIpc.cjs +133 -0
  59. package/src/main/scheduler.cjs +16 -0
  60. package/src/main/updaterIpc.cjs +110 -0
  61. package/src/main/webRemote.cjs +341 -215
  62. package/src/preload/api.d.ts +97 -7
  63. package/src/preload/index.cjs +51 -3
  64. package/dist/assets/AgentLibrary-Co54GThg.js +0 -2
  65. package/dist/assets/DataModel-DZ0vyJau.js +0 -1
  66. package/dist/assets/History-Df3YwpPe.js +0 -2
  67. package/dist/assets/Hooks-DplG6roH.js +0 -3
  68. package/dist/assets/Permissions-XvBiMj1-.js +0 -3
  69. package/dist/assets/Plugins-CzHY1mgS.js +0 -2
  70. package/dist/assets/ProvenanceBadge-DaJIWVcg.js +0 -1
  71. package/dist/assets/Scheduler-BehadU-0.js +0 -16
  72. package/dist/assets/Settings-Cg9LIni0.js +0 -4
  73. package/dist/assets/Skills-CMmCZfIv.js +0 -3
  74. package/dist/assets/SystemPrompt-D_-MV025.js +0 -1
  75. package/dist/assets/TagLibrary-D9Tv3yOJ.js +0 -1
  76. package/dist/assets/index-3_AtCAyd.js +0 -3077
  77. package/dist/assets/listSkills-QORduPIk.js +0 -1
  78. package/dist/assets/useAgentsDirWatch-1C2CBBya.js +0 -1
  79. package/dist/assets/useConfigDirWatch-Cd5PnTkB.js +0 -1
@@ -0,0 +1,110 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * updaterIpc.cjs — wires the autoUpdater.cjs state machine to the real electron-updater instance, the
5
+ * persisted toggle (updaterSettings) and a busy signal (sessionSlots + live PTYs), and registers the
6
+ * `updater:*` IPC handlers. Local renderer only: no remote/relay command (ipcSchemas ALLOWED_COMMANDS)
7
+ * reaches the updater, and no handler accepts a URL, feed or provider — the feed is the app-update.yml
8
+ * electron-builder bakes in.
9
+ */
10
+
11
+ const { z } = require('zod');
12
+ const { isAutoUpdateSupported, createAutoUpdater } = require('./lib/autoUpdater.cjs');
13
+ const { sendIfAlive } = require('./lib/sendToRenderer.cjs');
14
+
15
+ const schemas = {
16
+ install: z.object({ force: z.boolean() }).strict(),
17
+ setEnabled: z.object({ enabled: z.boolean() }).strict(),
18
+ };
19
+
20
+ function validated(schema, handler) {
21
+ return (_event, payload) => handler(schema.parse(payload));
22
+ }
23
+
24
+ function defaultDeps() {
25
+ return {
26
+ loadUpdater: () => require('electron-updater').autoUpdater,
27
+ isPackaged: () => require('./lib/appRuntime.cjs').isPackagedApp(),
28
+ platform: process.platform,
29
+ env: process.env,
30
+ settings: require('./lib/updaterSettings.cjs'),
31
+ sessionSlots: require('./lib/sessionSlots.cjs'),
32
+ currentVersion: () => require('electron').app.getVersion(),
33
+ log: (message, meta) => {
34
+ try {
35
+ require('./logs.cjs').writeLine({ scope: 'updater', level: 'info', message, meta });
36
+ } catch { /* logging must never break the updater */ }
37
+ },
38
+ };
39
+ }
40
+
41
+ /**
42
+ * @param {{ ipcMain: any, getWindow: () => any, ptyManager: any, deps?: object }} opts
43
+ * @returns {{ updater: object, ready: Promise<void> }}
44
+ */
45
+ function registerUpdaterIpc({ ipcMain, getWindow, ptyManager, deps = {} }) {
46
+ const d = { ...defaultDeps(), ...deps };
47
+ const supported = isAutoUpdateSupported({ packaged: d.isPackaged() === true, platform: d.platform, env: d.env });
48
+
49
+ // electron-updater is only ever loaded for a supported build — an unpackaged/npx run never touches it.
50
+ let realUpdater = null;
51
+ if (supported) {
52
+ realUpdater = d.loadUpdater();
53
+ if (realUpdater) realUpdater.logger = null;
54
+ }
55
+
56
+ let enabled = true;
57
+ const isBusy = () => {
58
+ const jobs = d.sessionSlots.inUse();
59
+ const terminals = ptyManager && ptyManager.sessions ? ptyManager.sessions.size : 0;
60
+ return { busy: jobs > 0 || terminals > 0, reason: `${jobs} job(s), ${terminals} terminal(s) running` };
61
+ };
62
+ const currentVersion = typeof d.currentVersion === 'function' ? d.currentVersion() : d.currentVersion;
63
+
64
+ const updater = createAutoUpdater({
65
+ updater: realUpdater,
66
+ supported,
67
+ currentVersion,
68
+ isBusy,
69
+ getEnabled: () => enabled,
70
+ log: d.log,
71
+ });
72
+
73
+ const snapshot = () => ({ ...updater.status(), enabled });
74
+ updater.subscribe(() => sendIfAlive(getWindow(), 'updater:status', snapshot()));
75
+
76
+ ipcMain.handle('updater:status', () => snapshot());
77
+ ipcMain.handle('updater:check', async () => {
78
+ await updater.checkNow();
79
+ return snapshot();
80
+ });
81
+ ipcMain.handle('updater:install', validated(schemas.install, ({ force }) => {
82
+ updater.requestInstall({ force });
83
+ return snapshot();
84
+ }));
85
+ ipcMain.handle('updater:cancel-deferred', () => {
86
+ updater.cancelDeferred();
87
+ return snapshot();
88
+ });
89
+ ipcMain.handle('updater:set-enabled', validated(schemas.setEnabled, async ({ enabled: next }) => {
90
+ await d.settings.save({ enabled: next });
91
+ enabled = next;
92
+ updater.setEnabled(next);
93
+ sendIfAlive(getWindow(), 'updater:status', snapshot());
94
+ return snapshot();
95
+ }));
96
+
97
+ const ready = (async () => {
98
+ try {
99
+ const cfg = await d.settings.load();
100
+ enabled = cfg.enabled !== false;
101
+ if (enabled) updater.start();
102
+ } catch (e) {
103
+ d.log('updater start failed', { error: e && e.message });
104
+ }
105
+ })();
106
+
107
+ return { updater, ready };
108
+ }
109
+
110
+ module.exports = { registerUpdaterIpc };