@phenx-inc/ctlsurf 0.1.21 → 0.3.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 (35) hide show
  1. package/out/headless/index.mjs +409 -99
  2. package/out/headless/index.mjs.map +4 -4
  3. package/out/main/index.js +419 -77
  4. package/out/preload/index.js +12 -8
  5. package/out/renderer/assets/{cssMode-C6bY9C4O.js → cssMode-DiOmyihM.js} +3 -3
  6. package/out/renderer/assets/{freemarker2-CkAJiX1K.js → freemarker2-BAfv60yb.js} +1 -1
  7. package/out/renderer/assets/{handlebars-DnLXVUXp.js → handlebars-Ult17NzQ.js} +1 -1
  8. package/out/renderer/assets/{html-Ds5-qvDh.js → html-DCxh4J-1.js} +1 -1
  9. package/out/renderer/assets/{htmlMode-DYFYy4MK.js → htmlMode-CQ5Xenrg.js} +3 -3
  10. package/out/renderer/assets/{index-DwSsD_Xm.js → index-BnCJ1IaZ.js} +308 -101
  11. package/out/renderer/assets/{index-DK9wLFFm.css → index-CrTu3Z4M.css} +132 -0
  12. package/out/renderer/assets/{javascript-CiHhG2a9.js → javascript-U5dsRcHx.js} +2 -2
  13. package/out/renderer/assets/{jsonMode-DdDRlbXP.js → jsonMode-DshPNyVy.js} +3 -3
  14. package/out/renderer/assets/{liquid-BP5mb-uD.js → liquid-jHHLYTlB.js} +1 -1
  15. package/out/renderer/assets/{lspLanguageFeatures-Dljhj5Gh.js → lspLanguageFeatures-CUafmPGy.js} +1 -1
  16. package/out/renderer/assets/{mdx-D4u3N7dt.js → mdx-Ct-tiY6g.js} +1 -1
  17. package/out/renderer/assets/{python-BQDHXVwp.js → python-wD3UwKPV.js} +1 -1
  18. package/out/renderer/assets/{razor-BfXW9cDc.js → razor-11ECS4oH.js} +1 -1
  19. package/out/renderer/assets/{tsMode-BGTjG8Ow.js → tsMode-D-7JexQ_.js} +1 -1
  20. package/out/renderer/assets/{typescript-422MU_YO.js → typescript-Cvna1mak.js} +1 -1
  21. package/out/renderer/assets/{xml-B6EKhHiy.js → xml-JsEaImjA.js} +1 -1
  22. package/out/renderer/assets/{yaml-LkO_eGYb.js → yaml-B8pCNDb_.js} +1 -1
  23. package/out/renderer/index.html +2 -2
  24. package/package.json +1 -1
  25. package/src/main/ctlsurfApi.ts +26 -0
  26. package/src/main/headless.ts +40 -34
  27. package/src/main/index.ts +95 -13
  28. package/src/main/orchestrator.ts +160 -55
  29. package/src/main/timeTracker.ts +223 -0
  30. package/src/main/tui.ts +25 -5
  31. package/src/preload/index.ts +23 -15
  32. package/src/renderer/App.tsx +197 -43
  33. package/src/renderer/components/SettingsDialog.tsx +38 -1
  34. package/src/renderer/components/TerminalPanel.tsx +109 -59
  35. package/src/renderer/styles.css +132 -0
@@ -1,19 +1,20 @@
1
1
  "use strict";
2
2
  const electron = require("electron");
3
3
  const api = {
4
- // Pty operations
5
- spawnAgent: (agent, cwd) => electron.ipcRenderer.invoke("pty:spawn", agent, cwd),
6
- writePty: (data) => electron.ipcRenderer.invoke("pty:write", data),
7
- resizePty: (cols, rows) => electron.ipcRenderer.invoke("pty:resize", cols, rows),
8
- killPty: () => electron.ipcRenderer.invoke("pty:kill"),
9
- // Pty events
4
+ // Pty operations (multi-tab: all take tabId)
5
+ spawnAgent: (tabId, agent, cwd) => electron.ipcRenderer.invoke("pty:spawn", tabId, agent, cwd),
6
+ writePty: (tabId, data) => electron.ipcRenderer.invoke("pty:write", tabId, data),
7
+ resizePty: (tabId, cols, rows) => electron.ipcRenderer.invoke("pty:resize", tabId, cols, rows),
8
+ killPty: (tabId) => electron.ipcRenderer.invoke("pty:kill", tabId),
9
+ setActiveTab: (tabId) => electron.ipcRenderer.invoke("pty:setActiveTab", tabId),
10
+ // Pty events (multi-tab: callbacks receive tabId)
10
11
  onPtyData: (callback) => {
11
- const listener = (_event, data) => callback(data);
12
+ const listener = (_event, tabId, data) => callback(tabId, data);
12
13
  electron.ipcRenderer.on("pty:data", listener);
13
14
  return () => electron.ipcRenderer.removeListener("pty:data", listener);
14
15
  },
15
16
  onPtyExit: (callback) => {
16
- const listener = (_event, code) => callback(code);
17
+ const listener = (_event, tabId, code) => callback(tabId, code);
17
18
  electron.ipcRenderer.on("pty:exit", listener);
18
19
  return () => electron.ipcRenderer.removeListener("pty:exit", listener);
19
20
  },
@@ -34,6 +35,9 @@ const api = {
34
35
  saveProfile: (profileId, data) => electron.ipcRenderer.invoke("profiles:save", profileId, data),
35
36
  switchProfile: (profileId) => electron.ipcRenderer.invoke("profiles:switch", profileId),
36
37
  deleteProfile: (profileId) => electron.ipcRenderer.invoke("profiles:delete", profileId),
38
+ // Tracking (active tab)
39
+ getTracking: () => electron.ipcRenderer.invoke("tracking:get"),
40
+ setTracking: (enabled) => electron.ipcRenderer.invoke("tracking:set", enabled),
37
41
  // Filesystem
38
42
  readDir: (dirPath) => electron.ipcRenderer.invoke("fs:readDir", dirPath),
39
43
  readFile: (filePath) => electron.ipcRenderer.invoke("fs:readFile", filePath),
@@ -1,6 +1,6 @@
1
- import { c as createWebWorker, l as languages } from "./index-DwSsD_Xm.js";
2
- import { C as CompletionAdapter, H as HoverAdapter, D as DocumentHighlightAdapter, a as DefinitionAdapter, R as ReferenceAdapter, b as DocumentSymbolAdapter, c as RenameAdapter, d as DocumentColorAdapter, F as FoldingRangeAdapter, e as DiagnosticsAdapter, S as SelectionRangeAdapter, f as DocumentFormattingEditProvider, g as DocumentRangeFormattingEditProvider } from "./lspLanguageFeatures-Dljhj5Gh.js";
3
- import { h, i, j, t, k } from "./lspLanguageFeatures-Dljhj5Gh.js";
1
+ import { c as createWebWorker, l as languages } from "./index-BnCJ1IaZ.js";
2
+ import { C as CompletionAdapter, H as HoverAdapter, D as DocumentHighlightAdapter, a as DefinitionAdapter, R as ReferenceAdapter, b as DocumentSymbolAdapter, c as RenameAdapter, d as DocumentColorAdapter, F as FoldingRangeAdapter, e as DiagnosticsAdapter, S as SelectionRangeAdapter, f as DocumentFormattingEditProvider, g as DocumentRangeFormattingEditProvider } from "./lspLanguageFeatures-CUafmPGy.js";
3
+ import { h, i, j, t, k } from "./lspLanguageFeatures-CUafmPGy.js";
4
4
  const STOP_WHEN_IDLE_FOR = 2 * 60 * 1e3;
5
5
  class WorkerManager {
6
6
  constructor(defaults) {
@@ -1,4 +1,4 @@
1
- import { l as languages } from "./index-DwSsD_Xm.js";
1
+ import { l as languages } from "./index-BnCJ1IaZ.js";
2
2
  const EMPTY_ELEMENTS = [
3
3
  "assign",
4
4
  "flush",
@@ -1,4 +1,4 @@
1
- import { l as languages } from "./index-DwSsD_Xm.js";
1
+ import { l as languages } from "./index-BnCJ1IaZ.js";
2
2
  const EMPTY_ELEMENTS = [
3
3
  "area",
4
4
  "base",
@@ -1,4 +1,4 @@
1
- import { l as languages } from "./index-DwSsD_Xm.js";
1
+ import { l as languages } from "./index-BnCJ1IaZ.js";
2
2
  const EMPTY_ELEMENTS = [
3
3
  "area",
4
4
  "base",
@@ -1,6 +1,6 @@
1
- import { c as createWebWorker, l as languages } from "./index-DwSsD_Xm.js";
2
- import { H as HoverAdapter, D as DocumentHighlightAdapter, h as DocumentLinkAdapter, F as FoldingRangeAdapter, b as DocumentSymbolAdapter, S as SelectionRangeAdapter, c as RenameAdapter, f as DocumentFormattingEditProvider, g as DocumentRangeFormattingEditProvider, C as CompletionAdapter } from "./lspLanguageFeatures-Dljhj5Gh.js";
3
- import { a, e, d, R, i, j, t, k } from "./lspLanguageFeatures-Dljhj5Gh.js";
1
+ import { c as createWebWorker, l as languages } from "./index-BnCJ1IaZ.js";
2
+ import { H as HoverAdapter, D as DocumentHighlightAdapter, h as DocumentLinkAdapter, F as FoldingRangeAdapter, b as DocumentSymbolAdapter, S as SelectionRangeAdapter, c as RenameAdapter, f as DocumentFormattingEditProvider, g as DocumentRangeFormattingEditProvider, C as CompletionAdapter } from "./lspLanguageFeatures-CUafmPGy.js";
3
+ import { a, e, d, R, i, j, t, k } from "./lspLanguageFeatures-CUafmPGy.js";
4
4
  const STOP_WHEN_IDLE_FOR = 2 * 60 * 1e3;
5
5
  class WorkerManager {
6
6
  constructor(defaults) {