clitrigger 0.2.21 → 0.2.23

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 (57) hide show
  1. package/dist/client/assets/{FloatingComposerController-5A3GJtK4-aq1FcbTU.js → FloatingComposerController-5A3GJtK4-CWUcBAHE.js} +1 -1
  2. package/dist/client/assets/{index-Dq3KywHj.css → index-DBty5-8m.css} +1 -1
  3. package/dist/client/assets/{index-D7opcM5v.js → index-NHcv0wbo.js} +295 -285
  4. package/dist/client/index.html +2 -2
  5. package/dist/server/data/cli-models-registry.json +3 -10
  6. package/dist/server/db/schema.d.ts.map +1 -1
  7. package/dist/server/db/schema.js +43 -2
  8. package/dist/server/db/schema.js.map +1 -1
  9. package/dist/server/plugins/harness/adapters/antigravity.d.ts +3 -0
  10. package/dist/server/plugins/harness/adapters/antigravity.d.ts.map +1 -0
  11. package/dist/server/plugins/harness/adapters/{gemini.js → antigravity.js} +24 -15
  12. package/dist/server/plugins/harness/adapters/antigravity.js.map +1 -0
  13. package/dist/server/plugins/harness/router.js +4 -4
  14. package/dist/server/plugins/harness/router.js.map +1 -1
  15. package/dist/server/plugins/harness/types.d.ts +1 -1
  16. package/dist/server/plugins/harness/types.d.ts.map +1 -1
  17. package/dist/server/routes/session-settings.d.ts.map +1 -1
  18. package/dist/server/routes/session-settings.js +5 -0
  19. package/dist/server/routes/session-settings.js.map +1 -1
  20. package/dist/server/routes/sessions.js +1 -1
  21. package/dist/server/routes/sessions.js.map +1 -1
  22. package/dist/server/services/claude-manager.js +3 -3
  23. package/dist/server/services/claude-manager.js.map +1 -1
  24. package/dist/server/services/cli-adapters.d.ts +2 -2
  25. package/dist/server/services/cli-adapters.d.ts.map +1 -1
  26. package/dist/server/services/cli-adapters.js +26 -21
  27. package/dist/server/services/cli-adapters.js.map +1 -1
  28. package/dist/server/services/cli-status.js +2 -2
  29. package/dist/server/services/cli-status.js.map +1 -1
  30. package/dist/server/services/clipboard-writer.js +1 -1
  31. package/dist/server/services/clipboard-writer.js.map +1 -1
  32. package/dist/server/services/discussion-extractor.js +3 -3
  33. package/dist/server/services/discussion-extractor.js.map +1 -1
  34. package/dist/server/services/discussion-orchestrator.js +1 -1
  35. package/dist/server/services/discussion-orchestrator.js.map +1 -1
  36. package/dist/server/services/log-streamer.d.ts +2 -2
  37. package/dist/server/services/log-streamer.js +3 -3
  38. package/dist/server/services/log-streamer.js.map +1 -1
  39. package/dist/server/services/memory-ingest.js +2 -2
  40. package/dist/server/services/memory-ingest.js.map +1 -1
  41. package/dist/server/services/model-sync.d.ts.map +1 -1
  42. package/dist/server/services/model-sync.js +3 -2
  43. package/dist/server/services/model-sync.js.map +1 -1
  44. package/dist/server/services/pty-output-filter.d.ts +1 -1
  45. package/dist/server/services/pty-output-filter.js +1 -1
  46. package/dist/server/services/session-manager.d.ts +1 -1
  47. package/dist/server/services/session-manager.js +2 -2
  48. package/dist/server/services/session-manager.js.map +1 -1
  49. package/dist/server/services/tunnel-manager.d.ts.map +1 -1
  50. package/dist/server/services/tunnel-manager.js +29 -6
  51. package/dist/server/services/tunnel-manager.js.map +1 -1
  52. package/electron/main.cjs +53 -0
  53. package/electron/preload.cjs +9 -0
  54. package/package.json +1 -1
  55. package/dist/server/plugins/harness/adapters/gemini.d.ts +0 -3
  56. package/dist/server/plugins/harness/adapters/gemini.d.ts.map +0 -1
  57. package/dist/server/plugins/harness/adapters/gemini.js.map +0 -1
package/electron/main.cjs CHANGED
@@ -24,6 +24,39 @@ const configFile = path.join(userDataDir, 'config.json');
24
24
  const dbPath = path.join(userDataDir, 'clitrigger.db');
25
25
  const migratedFlag = path.join(userDataDir, '.password-migrated');
26
26
 
27
+ // IME diagnostics — toggleable from Settings ▸ Terminal (the renderer sends
28
+ // ime:set-debug), or seeded from the CLITRIGGER_IME_DEBUG env var. When
29
+ // enabled, JSON lines are appended to userData/ime-debug.log so the packaged
30
+ // exe can be observed without DevTools — opening DevTools un-occludes the
31
+ // window and masks the very occlusion bug this log exists to diagnose.
32
+ let imeDebugEnabled = !!process.env.CLITRIGGER_IME_DEBUG;
33
+ const imeDebugLogFile = path.join(userDataDir, 'ime-debug.log');
34
+ function imeDebugLog(source, data) {
35
+ if (!imeDebugEnabled) return;
36
+ try {
37
+ fs.appendFileSync(imeDebugLogFile, `${JSON.stringify({ t: new Date().toISOString(), source, ...data })}\n`);
38
+ } catch { /* best-effort diagnostics */ }
39
+ }
40
+ function logImeStartup() {
41
+ imeDebugLog('startup', {
42
+ isPackaged: app.isPackaged,
43
+ platform: process.platform,
44
+ electron: process.versions.electron,
45
+ chrome: process.versions.chrome,
46
+ disableFeatures: app.commandLine.getSwitchValue('disable-features'),
47
+ });
48
+ }
49
+ // Attach listeners unconditionally so a runtime toggle takes effect without
50
+ // recreating the window — imeDebugLog itself gates on the current flag.
51
+ function attachImeWindowLogging(win, label) {
52
+ for (const ev of ['focus', 'blur', 'show', 'hide']) {
53
+ win.on(ev, () => {
54
+ if (win.isDestroyed()) return;
55
+ imeDebugLog(label, { event: ev, visible: win.isVisible(), focused: win.isFocused() });
56
+ });
57
+ }
58
+ }
59
+
27
60
  function readOrInitConfig() {
28
61
  fs.mkdirSync(userDataDir, { recursive: true });
29
62
  let config = {};
@@ -114,6 +147,7 @@ async function bootServer() {
114
147
  }
115
148
 
116
149
  function createWindow(port) {
150
+ logImeStartup();
117
151
  mainWindow = new BrowserWindow({
118
152
  width: 1400,
119
153
  height: 900,
@@ -219,8 +253,11 @@ function createWindow(port) {
219
253
  childWin.on('focus', () => {
220
254
  if (!childWin.isDestroyed()) childWin.webContents.focus();
221
255
  });
256
+ attachImeWindowLogging(childWin, 'popout');
222
257
  });
223
258
 
259
+ attachImeWindowLogging(mainWindow, 'mainWindow');
260
+
224
261
  mainWindow.loadURL(`http://127.0.0.1:${port}`);
225
262
 
226
263
  if (!app.isPackaged) {
@@ -239,6 +276,22 @@ function createWindow(port) {
239
276
  });
240
277
  }
241
278
 
279
+ ipcMain.on('ime:log', (_event, payload) => {
280
+ imeDebugLog('renderer', payload && typeof payload === 'object' ? payload : { payload });
281
+ });
282
+
283
+ ipcMain.on('ime:set-debug', (_event, enabled) => {
284
+ const on = !!enabled;
285
+ // Log a fresh startup snapshot on each enable so the log always opens with
286
+ // the runtime state (occlusion switch value, versions) even mid-session.
287
+ if (on && !imeDebugEnabled) {
288
+ imeDebugEnabled = true;
289
+ logImeStartup();
290
+ } else {
291
+ imeDebugEnabled = on;
292
+ }
293
+ });
294
+
242
295
  ipcMain.on('ime:reset', (event) => {
243
296
  // Route the focus call to the sender's webContents so popout child
244
297
  // windows reclaim their own keyboard focus, not the main window's.
@@ -5,6 +5,15 @@ const { contextBridge, ipcRenderer } = require('electron');
5
5
  // after a session has been interacted with — Korean IME on Windows EXE
6
6
  // otherwise requires the user to alt-tab away and back to type into the
7
7
  // SessionForm inputs.
8
+ // `imeLog` forwards renderer-side IME diagnostics to the main process, which
9
+ // appends them to userData/ime-debug.log — but only when CLITRIGGER_IME_DEBUG
10
+ // is set. The packaged exe has no visible console, and opening DevTools masks
11
+ // the occlusion bug (an un-occluded window never reproduces it), so a file log
12
+ // is the only way to observe compositionstart state during a real repro.
8
13
  contextBridge.exposeInMainWorld('electronAPI', {
9
14
  imeReset: () => ipcRenderer.send('ime:reset'),
15
+ imeLog: (payload) => ipcRenderer.send('ime:log', payload),
16
+ // Toggle IME file logging at runtime (Settings ▸ Terminal). Persisted in
17
+ // session settings; the renderer re-sends the saved value on startup.
18
+ imeSetDebug: (enabled) => ipcRenderer.send('ime:set-debug', enabled),
10
19
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clitrigger",
3
- "version": "0.2.21",
3
+ "version": "0.2.23",
4
4
  "description": "Spawn isolated git worktrees and orchestrate Claude/Gemini/Codex CLI tasks in parallel from a web UI.",
5
5
  "keywords": [
6
6
  "claude",
@@ -1,3 +0,0 @@
1
- import type { HarnessAdapter } from '../types.js';
2
- export declare const geminiHarnessAdapter: HarnessAdapter;
3
- //# sourceMappingURL=gemini.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../../../src/server/plugins/harness/adapters/gemini.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAA+C,MAAM,aAAa,CAAC;AAmF/F,eAAO,MAAM,oBAAoB,EAAE,cAiElC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../../../src/server/plugins/harness/adapters/gemini.ts"],"names":[],"mappings":"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"}