@phenx-inc/ctlsurf 0.3.15 → 0.4.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 (31) hide show
  1. package/out/headless/index.mjs +9 -6
  2. package/out/headless/index.mjs.map +2 -2
  3. package/out/main/index.js +12 -5
  4. package/out/preload/index.js +2 -0
  5. package/out/renderer/assets/{cssMode-D5dPwEy5.js → cssMode-DkmdBgO7.js} +3 -3
  6. package/out/renderer/assets/{freemarker2-c5jJjQ9s.js → freemarker2-CI-gkP-3.js} +1 -1
  7. package/out/renderer/assets/{handlebars-BTbmOxx9.js → handlebars-D5tEqanR.js} +1 -1
  8. package/out/renderer/assets/{html-3cIIQcxO.js → html-fH93EYfn.js} +1 -1
  9. package/out/renderer/assets/{htmlMode-DYbpW1yY.js → htmlMode-CRicxcwK.js} +3 -3
  10. package/out/renderer/assets/{index-D2MUZin7.js → index-BOOvUI7u.js} +192 -23
  11. package/out/renderer/assets/{index-6KvOnYL1.css → index-ezC-iarf.css} +40 -0
  12. package/out/renderer/assets/{javascript-CDuCMm-6.js → javascript-D1Baz4fV.js} +2 -2
  13. package/out/renderer/assets/{jsonMode-COLqbq0s.js → jsonMode-Bquqf3QN.js} +3 -3
  14. package/out/renderer/assets/{liquid-BFcqZizB.js → liquid-ByOcPjBF.js} +1 -1
  15. package/out/renderer/assets/{lspLanguageFeatures-CbkEcL-z.js → lspLanguageFeatures-BxPLl0yy.js} +1 -1
  16. package/out/renderer/assets/{mdx-DyK93oEE.js → mdx-yuNgx0rM.js} +1 -1
  17. package/out/renderer/assets/{python-D4lCwSVr.js → python-2OakgLlA.js} +1 -1
  18. package/out/renderer/assets/{razor-DdkE9XVt.js → razor-DnIVMSwa.js} +1 -1
  19. package/out/renderer/assets/{tsMode-BrQ4Fsc-.js → tsMode-CRIrHuii.js} +1 -1
  20. package/out/renderer/assets/{typescript-BakbYMnC.js → typescript-DJ3C8Yly.js} +1 -1
  21. package/out/renderer/assets/{xml-DHDW9Xhp.js → xml-CalvD5_C.js} +1 -1
  22. package/out/renderer/assets/{yaml-1Ayv_J3q.js → yaml-Cgs8pdVp.js} +1 -1
  23. package/out/renderer/index.html +2 -2
  24. package/package.json +1 -1
  25. package/src/main/index.ts +8 -1
  26. package/src/main/workerWs.ts +8 -6
  27. package/src/preload/index.ts +4 -0
  28. package/src/renderer/App.tsx +1 -0
  29. package/src/renderer/components/TerminalPanel.tsx +95 -2
  30. package/src/renderer/lib/tableToHtml.ts +146 -0
  31. package/src/renderer/styles.css +40 -0
@@ -5471,7 +5471,7 @@ var require_package = __commonJS({
5471
5471
  "package.json"(exports, module) {
5472
5472
  module.exports = {
5473
5473
  name: "@phenx-inc/ctlsurf",
5474
- version: "0.3.15",
5474
+ version: "0.4.0",
5475
5475
  description: "Agent-agnostic terminal and desktop app for ctlsurf \u2014 run Claude Code, Codex, or any coding agent with live session logging and remote control",
5476
5476
  main: "out/main/index.js",
5477
5477
  bin: {
@@ -6110,11 +6110,9 @@ var WorkerWsClient = class {
6110
6110
  workerId = null;
6111
6111
  _status = "disconnected";
6112
6112
  shouldReconnect = false;
6113
- fingerprint;
6114
6113
  constructor(events, baseUrl) {
6115
6114
  this.events = events;
6116
6115
  this.baseUrl = baseUrl || "wss://app.ctlsurf.com";
6117
- this.fingerprint = this.generateFingerprint();
6118
6116
  }
6119
6117
  get status() {
6120
6118
  return this._status;
@@ -6128,8 +6126,12 @@ var WorkerWsClient = class {
6128
6126
  setBaseUrl(url) {
6129
6127
  this.baseUrl = url;
6130
6128
  }
6131
- generateFingerprint() {
6132
- const data = `${os.hostname()}:${os.userInfo().username}:${os.platform()}:${os.arch()}`;
6129
+ // Per-directory fingerprint: each working directory is a distinct worker, so
6130
+ // multiple instances on the same machine (one per project) don't collide as a
6131
+ // single worker server-side. cwd is included so the same folder maps to the
6132
+ // same worker across restarts.
6133
+ generateFingerprint(cwd) {
6134
+ const data = `${os.hostname()}:${os.userInfo().username}:${os.platform()}:${os.arch()}:${cwd}`;
6133
6135
  return crypto.createHash("sha256").update(data).digest("hex").slice(0, 32);
6134
6136
  }
6135
6137
  setStatus(status) {
@@ -6139,7 +6141,8 @@ var WorkerWsClient = class {
6139
6141
  }
6140
6142
  }
6141
6143
  connect(registration) {
6142
- this.registration = { ...registration, fingerprint: this.fingerprint };
6144
+ const fingerprint = this.generateFingerprint(registration.cwd);
6145
+ this.registration = { ...registration, fingerprint };
6143
6146
  this.shouldReconnect = true;
6144
6147
  this.doConnect();
6145
6148
  }