tmux-ide 2.9.13 → 2.9.15

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 (30) hide show
  1. package/bin/cli.js +2054 -1555
  2. package/package.json +1 -1
  3. package/packages/contracts/src/index.ts +1 -0
  4. package/packages/contracts/src/native-browser.ts +43 -0
  5. package/packages/contracts/src/pane-stream.ts +7 -0
  6. package/packages/daemon/dist/command-center/tmux-servers.js +6 -0
  7. package/packages/daemon/dist/lib/daemon-embed.js +15 -0
  8. package/packages/daemon/dist/lib/native-browser-rpc.js +110 -0
  9. package/packages/daemon/dist/lib/tmux-native-browser.js +80 -0
  10. package/packages/daemon/dist/lib/tmux-server-owner.js +9 -0
  11. package/packages/daemon/dist/native/TmuxIdeNotifier.app/Contents/Info.plist +2 -2
  12. package/packages/daemon/dist/native/TmuxIdeNotifier.app/Contents/MacOS/tmux-ide-notifier +0 -0
  13. package/packages/daemon/dist/native/TmuxIdeNotifier.app/Contents/Resources/Assets.car +0 -0
  14. package/packages/daemon/dist/native/TmuxIdeNotifier.app/Contents/_CodeSignature/CodeResources +2 -2
  15. package/packages/daemon/dist/open-browser.js +186 -0
  16. package/packages/daemon/dist/terminal/mirror/session-channel.js +6 -0
  17. package/packages/daemon/dist/terminal/pane-stream/pane-stream-websocket.js +9 -3
  18. package/packages/daemon/dist/terminal/protocol/browser-icon.js +16 -0
  19. package/packages/daemon/dist/terminal/protocol/session-descriptor-discovery.js +5 -2
  20. package/packages/daemon/src/command-center/tmux-servers.ts +11 -0
  21. package/packages/daemon/src/lib/daemon-embed.ts +17 -0
  22. package/packages/daemon/src/lib/native-browser-rpc.ts +118 -0
  23. package/packages/daemon/src/lib/tmux-native-browser.ts +100 -0
  24. package/packages/daemon/src/lib/tmux-server-owner.ts +9 -0
  25. package/packages/daemon/src/open-browser.ts +244 -0
  26. package/packages/daemon/src/terminal/mirror/events.ts +1 -0
  27. package/packages/daemon/src/terminal/mirror/session-channel.ts +6 -0
  28. package/packages/daemon/src/terminal/pane-stream/pane-stream-websocket.ts +10 -4
  29. package/packages/daemon/src/terminal/protocol/browser-icon.ts +14 -0
  30. package/packages/daemon/src/terminal/protocol/session-descriptor-discovery.ts +7 -1
@@ -1,4 +1,7 @@
1
+ import { browserIcon } from "./browser-icon.ts";
2
+
1
3
  export interface SessionPaneDescriptor {
4
+ browserIcon?: string | null;
2
5
  nativePaneBirthId?: string | null;
3
6
  sessionName: string;
4
7
  runtimePaneId: string;
@@ -52,6 +55,7 @@ export const SESSION_PANE_DESCRIPTOR_FORMAT = [
52
55
  "#{session_windows}",
53
56
  "#{pane_birth_id}",
54
57
  "#{qa:@tmux_ide_name_source}",
58
+ "#{qa:@tmux_ide_browser_icon}",
55
59
  ].join("\t");
56
60
 
57
61
  /** Decode the escapes emitted by tmux's `qa` format modifier. */
@@ -131,7 +135,7 @@ export function parseSessionPaneDescriptorReply(
131
135
  continue;
132
136
  }
133
137
  const encoded = utf8Line.split("\t");
134
- if (encoded.length !== 21 && encoded.length !== 22) continue;
138
+ if (encoded.length !== 21 && encoded.length !== 22 && encoded.length !== 23) continue;
135
139
  const [
136
140
  runtimePaneId = "",
137
141
  semanticPaneId = "",
@@ -155,6 +159,7 @@ export function parseSessionPaneDescriptorReply(
155
159
  sessionWindowCountRaw = "",
156
160
  nativePaneBirthId = "",
157
161
  nameSource = "",
162
+ browserIconRaw = "",
158
163
  ] = encoded.map(decodeTmuxArgument);
159
164
  if (!/^%(?:0|[1-9][0-9]*)$/u.test(runtimePaneId) || runtimePaneId.length > 32) continue;
160
165
  if (!/^\$(?:0|[1-9][0-9]*)$/u.test(runtimeSessionId) || runtimeSessionId.length > 32) continue;
@@ -194,6 +199,7 @@ export function parseSessionPaneDescriptorReply(
194
199
  continue;
195
200
  }
196
201
  descriptors.push({
202
+ browserIcon: browserIcon(browserIconRaw),
197
203
  sessionName,
198
204
  runtimePaneId,
199
205
  runtimeSessionId,