tmux-ide 2.9.6 → 2.9.7

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 (80) hide show
  1. package/bin/cli.js +2597 -1322
  2. package/package.json +1 -1
  3. package/packages/contracts/src/index.ts +5 -0
  4. package/packages/contracts/src/pane-stream.ts +37 -0
  5. package/packages/contracts/src/terminal-graphics.ts +92 -0
  6. package/packages/contracts/src/terminal-history-anchor.ts +61 -0
  7. package/packages/contracts/src/tmux-server-diagnostics.ts +16 -0
  8. package/packages/core/src/index.ts +1 -0
  9. package/packages/core/src/kitty-placeholders.ts +190 -0
  10. package/packages/daemon/dist/command-center/tmux-server-diagnostics.js +24 -0
  11. package/packages/daemon/dist/command-center/tmux-server-history-anchor.js +48 -0
  12. package/packages/daemon/dist/command-center/tmux-servers.js +11 -0
  13. package/packages/daemon/dist/lib/canonical-daemon-bootstrap.js +23 -1
  14. package/packages/daemon/dist/lib/daemon-embed.js +21 -0
  15. package/packages/daemon/dist/lib/tmux-server-owner.js +10 -1
  16. package/packages/daemon/dist/lib/tmux-session-mutation-fence.js +2 -1
  17. package/packages/daemon/dist/native/TmuxIdeNotifier.app/Contents/Info.plist +2 -2
  18. package/packages/daemon/dist/native/TmuxIdeNotifier.app/Contents/MacOS/tmux-ide-notifier +0 -0
  19. package/packages/daemon/dist/native/TmuxIdeNotifier.app/Contents/Resources/Assets.car +0 -0
  20. package/packages/daemon/dist/native/TmuxIdeNotifier.app/Contents/_CodeSignature/CodeResources +2 -2
  21. package/packages/daemon/dist/native/tmux/darwin-arm64/lib/libevent_core-2.1.7.dylib +0 -0
  22. package/packages/daemon/dist/native/tmux/darwin-arm64/lib/libutf8proc.3.3.0.dylib +0 -0
  23. package/packages/daemon/dist/native/tmux/darwin-arm64/manifest.json +8 -4
  24. package/packages/daemon/dist/native/tmux/darwin-arm64/tmux +0 -0
  25. package/packages/daemon/dist/native/tmux/linux-arm64/manifest.json +5 -1
  26. package/packages/daemon/dist/native/tmux/linux-arm64/tmux +0 -0
  27. package/packages/daemon/dist/native/tmux/linux-x64/manifest.json +5 -1
  28. package/packages/daemon/dist/native/tmux/linux-x64/tmux +0 -0
  29. package/packages/daemon/dist/terminal/graphics/kitty-graphics.js +578 -0
  30. package/packages/daemon/dist/terminal/mirror/control-channel.js +17 -1
  31. package/packages/daemon/dist/terminal/mirror/mirror-service.js +1 -0
  32. package/packages/daemon/dist/terminal/mirror/native-grid-capture.js +8 -0
  33. package/packages/daemon/dist/terminal/mirror/native-grid-reader.js +6 -1
  34. package/packages/daemon/dist/terminal/mirror/session-channel.js +11 -2
  35. package/packages/daemon/dist/terminal/pane-stream/pane-stream-websocket.js +78 -1
  36. package/packages/daemon/dist/terminal/protocol/session-descriptor-discovery.js +3 -2
  37. package/packages/daemon/dist/terminal/session-runtime/history-anchor-owner.js +171 -0
  38. package/packages/daemon/dist/terminal/session-runtime/registry.js +20 -0
  39. package/packages/daemon/dist/terminal/session-runtime/terminal-delivery-hub.js +20 -1
  40. package/packages/daemon/dist/terminal/session-runtime/terminal-replica-interpreter.js +68 -1
  41. package/packages/daemon/dist/terminal/session-runtime/terminal-replica-owner.js +30 -0
  42. package/packages/daemon/dist/terminal/session-runtime/transport-binding.js +49 -21
  43. package/packages/daemon/dist/terminal/session-runtime/xterm-terminal-interpreter-backend.js +11 -0
  44. package/packages/daemon/dist/tui/mirror/runtime/application-home-agents-owner.js +7 -1
  45. package/packages/daemon/dist/tui/mirror/runtime/application-terminal-input-ingress.js +35 -5
  46. package/packages/daemon/dist/tui/mirror/runtime/application-terminal-paste.js +2 -2
  47. package/packages/daemon/dist/tui/mirror/runtime/terminal-input-adapter.js +2 -2
  48. package/packages/daemon/src/command-center/tmux-server-diagnostics.ts +38 -0
  49. package/packages/daemon/src/command-center/tmux-server-history-anchor.ts +69 -0
  50. package/packages/daemon/src/command-center/tmux-servers.ts +11 -0
  51. package/packages/daemon/src/lib/canonical-daemon-bootstrap.ts +20 -2
  52. package/packages/daemon/src/lib/daemon-embed.ts +26 -0
  53. package/packages/daemon/src/lib/tmux-server-owner.ts +10 -0
  54. package/packages/daemon/src/lib/tmux-session-mutation-fence.ts +2 -1
  55. package/packages/daemon/src/terminal/graphics/kitty-graphics.ts +641 -0
  56. package/packages/daemon/src/terminal/mirror/control-channel.ts +18 -1
  57. package/packages/daemon/src/terminal/mirror/mirror-service.ts +3 -0
  58. package/packages/daemon/src/terminal/mirror/native-grid-capture.ts +11 -0
  59. package/packages/daemon/src/terminal/mirror/native-grid-reader.ts +10 -1
  60. package/packages/daemon/src/terminal/mirror/session-channel.ts +14 -1
  61. package/packages/daemon/src/terminal/pane-stream/pane-stream-websocket.ts +82 -0
  62. package/packages/daemon/src/terminal/protocol/session-descriptor-discovery.ts +3 -2
  63. package/packages/daemon/src/terminal/session-runtime/history-anchor-owner.ts +190 -0
  64. package/packages/daemon/src/terminal/session-runtime/registry.ts +20 -0
  65. package/packages/daemon/src/terminal/session-runtime/terminal-delivery-hub.ts +38 -0
  66. package/packages/daemon/src/terminal/session-runtime/terminal-interpreter-backend.ts +4 -0
  67. package/packages/daemon/src/terminal/session-runtime/terminal-replica-interpreter.ts +83 -1
  68. package/packages/daemon/src/terminal/session-runtime/terminal-replica-owner.ts +39 -0
  69. package/packages/daemon/src/terminal/session-runtime/transport-binding.ts +53 -24
  70. package/packages/daemon/src/terminal/session-runtime/xterm-terminal-interpreter-backend.ts +13 -0
  71. package/packages/daemon/src/tui/mirror/runtime/application-home-agents-owner.ts +6 -1
  72. package/packages/daemon/src/tui/mirror/runtime/application-terminal-input-ingress.ts +44 -9
  73. package/packages/daemon/src/tui/mirror/runtime/application-terminal-paste.ts +2 -1
  74. package/packages/daemon/src/tui/mirror/runtime/terminal-input-adapter.ts +5 -2
  75. package/packages/daemon-client/src/fleet-connection-status.ts +1 -1
  76. package/packages/daemon-client/src/pane-creation-refusal.ts +48 -0
  77. package/packages/daemon-client/src/pane-stream-client.ts +29 -0
  78. package/packages/daemon-client/src/tmux-server-client.ts +133 -6
  79. package/packages/daemon/dist/native/tmux/darwin-arm64/lib/libutf8proc.3.2.3.dylib +0 -0
  80. /package/packages/daemon/dist/native/tmux/darwin-arm64/licenses/{libutf8proc.3.2.3.dylib.txt → libutf8proc.3.3.0.dylib.txt} +0 -0
@@ -17,7 +17,7 @@ import { createNativeTmuxSessionOpener } from "./tmux-server-session-open.js";
17
17
  import { observedAgentSchema } from "./tmux-server-agent-admission.js";
18
18
  import { createPaneEditorContextResolver } from "./tmux-pane-editor-context.js";
19
19
  import { createHash, randomUUID } from "node:crypto";
20
- import { WorkspaceIdSchemaZ, WindowLinkTargetSchemaZ, } from "@tmux-ide/contracts";
20
+ import { TmuxServerVersionSchemaZ, WorkspaceIdSchemaZ, WindowLinkTargetSchemaZ, } from "@tmux-ide/contracts";
21
21
  import { WindowSplitLayoutUnavailable } from "../terminal/mirror/window-split-authority.js";
22
22
  import { mkdirSync } from "node:fs";
23
23
  import { z } from "zod";
@@ -483,6 +483,15 @@ export async function createNativeTmuxServerOwner(options) {
483
483
  throw error;
484
484
  }
485
485
  return {
486
+ readServerVersion: async (signal) => {
487
+ assertOpen();
488
+ const combined = AbortSignal.any([credentialLifetime.signal, ...(signal ? [signal] : [])]);
489
+ combined.throwIfAborted();
490
+ const output = await generationRunAsync(["display-message", "-p", "#{version}"], combined);
491
+ combined.throwIfAborted();
492
+ assertOpen();
493
+ return TmuxServerVersionSchemaZ.parse(output.trim());
494
+ },
486
495
  serverId: options.serverId,
487
496
  generation,
488
497
  resolvePaneEditorContext,
@@ -23,7 +23,8 @@ export function createTmuxSessionMutationFence() {
23
23
  const output = run([
24
24
  "if-shell",
25
25
  "-t",
26
- `=${selected.name}`,
26
+ // if-shell resolves a pane target: the colon selects this exact session.
27
+ `=${selected.name}:`,
27
28
  "-F",
28
29
  `#{&&:#{==:#{session_id},${selected.id}},#{==:#{session_created},${selected.created}}}`,
29
30
  args.map((arg) => (arg === ";" ? ";" : shellEscape(arg))).join(" "),
@@ -21,9 +21,9 @@
21
21
  <key>CFBundlePackageType</key>
22
22
  <string>APPL</string>
23
23
  <key>CFBundleShortVersionString</key>
24
- <string>2.9.6</string>
24
+ <string>2.9.7</string>
25
25
  <key>CFBundleVersion</key>
26
- <string>2.9.6</string>
26
+ <string>2.9.7</string>
27
27
  <key>LSMinimumSystemVersion</key>
28
28
  <string>11.0</string>
29
29
  <key>LSUIElement</key>
@@ -10,7 +10,7 @@
10
10
  </data>
11
11
  <key>Resources/Assets.car</key>
12
12
  <data>
13
- EvwqetqXdPImCl5x7nS2kIPD49Y=
13
+ Qm5AzGjCw77rGEStuJKTDz8K1aw=
14
14
  </data>
15
15
  </dict>
16
16
  <key>files2</key>
@@ -26,7 +26,7 @@
26
26
  <dict>
27
27
  <key>hash2</key>
28
28
  <data>
29
- SkyYNOjv6tCr/MP0BYaswjWbcppNxwnvXBYKtGTpF4w=
29
+ ZcHZD0tqsRi0ialJfr0XsFGJNpXz+YpfH7HT9lYpqVI=
30
30
  </data>
31
31
  </dict>
32
32
  </dict>
@@ -22,6 +22,10 @@
22
22
  {
23
23
  "patch": "split-resize.patch",
24
24
  "patchSha256": "4d010271fb4eb52cf36fd29b66e7b3c52c44f6ba90296b944014d74bf3d4222a"
25
+ },
26
+ {
27
+ "patch": "kitty-graphics.patch",
28
+ "patchSha256": "4a9a34701f0e31e48fe5ccc27bc31a53cb50b7bf24a871ba99cb1c72a411ea43"
25
29
  }
26
30
  ],
27
31
  "experimentalExtensions": [
@@ -40,12 +44,12 @@
40
44
  "platform": "darwin",
41
45
  "arch": "arm64",
42
46
  "files": {
43
- "tmux": "83024593f485cd4ed363aff6f898823f4401fc7e34c9a46e5732ae6fb8588666",
44
- "lib/libutf8proc.3.2.3.dylib": "9d044f05ab5e8b19ae954485cfd8b7dd06e0cb66f0e02fe80be99533b21168ae",
47
+ "tmux": "e06c32b2173353c53e2b3e3e6cfb3db4aba06164e1d923d3463e3b72edc4f976",
48
+ "lib/libutf8proc.3.3.0.dylib": "da17133f84767a9873ff61402ac1a9d6a19ddfc1efb90cffc7c894df68532ce2",
45
49
  "lib/libncursesw.6.dylib": "c9b3c77b5874b0c694590774f7b7b1568b2bb13e82707bdf29cb7296446fe596",
46
- "lib/libevent_core-2.1.7.dylib": "5d8dc45957013ce78a17dbacd6f5ed80cec148983d8c7eeeb4408d2f7f74743e",
50
+ "lib/libevent_core-2.1.7.dylib": "65a205eee103b07356c1d6b1102b6b6ca08b0abaad44d960a0dad809722d0a9d",
47
51
  "licenses/interaction-journal.txt": "9f02e74957c4c5efb1b65cf35d14b291a7e83807d89e8afedf6e9cb5dbfed39c",
48
- "licenses/libutf8proc.3.2.3.dylib.txt": "3b510150d34f248a221bb88e1d811238d6c6c18b51231822c42974c39bb07256",
52
+ "licenses/libutf8proc.3.3.0.dylib.txt": "3b510150d34f248a221bb88e1d811238d6c6c18b51231822c42974c39bb07256",
49
53
  "licenses/libncursesw.6.dylib.txt": "708999f95527e1ffa670c6fce288c6c600cb477dd04afcc1171422b3dd4ee226",
50
54
  "licenses/libevent_core-2.1.7.dylib.txt": "ff02effc9b331edcdac387d198691bfa3e575e7d244ad10cb826aa51ef085670",
51
55
  "share/terminfo/31/1178": "e7172b912d33529169b2f877bf18009c2947d7045a845ec2178ada7bba2b8b48",
@@ -22,6 +22,10 @@
22
22
  {
23
23
  "patch": "split-resize.patch",
24
24
  "patchSha256": "4d010271fb4eb52cf36fd29b66e7b3c52c44f6ba90296b944014d74bf3d4222a"
25
+ },
26
+ {
27
+ "patch": "kitty-graphics.patch",
28
+ "patchSha256": "4a9a34701f0e31e48fe5ccc27bc31a53cb50b7bf24a871ba99cb1c72a411ea43"
25
29
  }
26
30
  ],
27
31
  "experimentalExtensions": [
@@ -68,7 +72,7 @@
68
72
  "platform": "linux",
69
73
  "arch": "arm64",
70
74
  "files": {
71
- "tmux": "eb7c528ae08224bde1142be8b904d62cbf9e8dcba303fcc782c32acabb860938",
75
+ "tmux": "d6e98ac909428ddd6e0038437cf78a4e8e4b21ecd12c1d800cfe7c8864307d8f",
72
76
  "lib/libutf8proc.so.3": "83cd7bce65037a46494b154b0f7bfd2479bc1659f56321b9ec896f4b64fb490c",
73
77
  "lib/libtinfo.so.6": "22952a4f434fd0f356fad23b92de42084e6666d8a594eadd11511b059cc5bb66",
74
78
  "lib/libevent_core-2.1.so.7": "80ad9f14cdea14f65c7a778fef4d831d51d23edc55efd263d7f265587eab73d4",
@@ -22,6 +22,10 @@
22
22
  {
23
23
  "patch": "split-resize.patch",
24
24
  "patchSha256": "4d010271fb4eb52cf36fd29b66e7b3c52c44f6ba90296b944014d74bf3d4222a"
25
+ },
26
+ {
27
+ "patch": "kitty-graphics.patch",
28
+ "patchSha256": "4a9a34701f0e31e48fe5ccc27bc31a53cb50b7bf24a871ba99cb1c72a411ea43"
25
29
  }
26
30
  ],
27
31
  "experimentalExtensions": [
@@ -68,7 +72,7 @@
68
72
  "platform": "linux",
69
73
  "arch": "x64",
70
74
  "files": {
71
- "tmux": "4fc64502841e5944e6f26a0afed510203d0dfeb3ea63844366c4ee036da8583e",
75
+ "tmux": "5e1c6631e090ce04ce3712b9f0143a492d74f9ff45624f4d8e838ad07596c6d3",
72
76
  "lib/libutf8proc.so.3": "a5aa10c99ac2e9a30c4e01fa4baa85a03dadf71eb73119c76fb3f9f54798962d",
73
77
  "lib/libtinfo.so.6": "170db4dd0c324ee73d8d5440a38708726066e1288aba942d57191c6f002240d9",
74
78
  "lib/libevent_core-2.1.so.7": "adf343350b739d3dba2b8a6cccbe0729cd9e9ee32b38ba69c08bd14f24a8431e",