tmux-ide 2.9.3 → 2.9.5
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.
- package/LICENSE +1 -1
- package/README.md +120 -139
- package/bin/cli.js +4847 -3585
- package/package.json +16 -9
- package/packages/contracts/src/session-runtime.ts +2 -0
- package/packages/contracts/src/terminal-delivery.ts +4 -0
- package/packages/core/src/terminal-compact-capability.ts +31 -1
- package/packages/core/src/terminal-delivery.ts +234 -32
- package/packages/core/src/terminal-replica-hash-cache.ts +162 -21
- package/packages/core/src/terminal-replica-owned-row.ts +165 -10
- package/packages/core/src/terminal-replica.ts +43 -21
- package/packages/daemon/dist/lib/daemon-embed.js +19 -34
- package/packages/daemon/dist/lib/runtime-trace-writer.js +133 -0
- package/packages/daemon/dist/lib/tmux-client-execution.js +37 -2
- package/packages/daemon/dist/lib/tmux-server-owner.js +20 -4
- package/packages/daemon/dist/native/TmuxIdeNotifier.app/Contents/Info.plist +2 -2
- package/packages/daemon/dist/native/TmuxIdeNotifier.app/Contents/MacOS/tmux-ide-notifier +0 -0
- package/packages/daemon/dist/native/TmuxIdeNotifier.app/Contents/Resources/Assets.car +0 -0
- package/packages/daemon/dist/native/TmuxIdeNotifier.app/Contents/_CodeSignature/CodeResources +2 -2
- package/packages/daemon/dist/native/tmux/darwin-arm64/manifest.json +5 -1
- package/packages/daemon/dist/native/tmux/darwin-arm64/tmux +0 -0
- package/packages/daemon/dist/native/tmux/darwin-x64/manifest.json +5 -1
- package/packages/daemon/dist/native/tmux/darwin-x64/tmux +0 -0
- package/packages/daemon/dist/native/tmux/linux-arm64/manifest.json +5 -1
- package/packages/daemon/dist/native/tmux/linux-arm64/tmux +0 -0
- package/packages/daemon/dist/native/tmux/linux-x64/licenses/libevent_core-2.1.so.7.txt +0 -0
- package/packages/daemon/dist/native/tmux/linux-x64/manifest.json +5 -1
- package/packages/daemon/dist/native/tmux/linux-x64/tmux +0 -0
- package/packages/daemon/dist/terminal/attachments/native-runtime.js +6 -6
- package/packages/daemon/dist/terminal/mirror/control-channel.js +379 -75
- package/packages/daemon/dist/terminal/mirror/mirror-service.js +43 -3
- package/packages/daemon/dist/terminal/mirror/native-grid-projection.js +20 -11
- package/packages/daemon/dist/terminal/mirror/session-channel.js +639 -811
- package/packages/daemon/dist/terminal/mirror/stock-pane-snapshot.js +177 -0
- package/packages/daemon/dist/terminal/session-runtime/causal-cell-ledger.js +1 -1
- package/packages/daemon/dist/terminal/session-runtime/registry.js +145 -15
- package/packages/daemon/dist/terminal/session-runtime/stock-capture-fidelity.js +12 -0
- package/packages/daemon/dist/terminal/session-runtime/terminal-delivery-hub.js +128 -10
- package/packages/daemon/dist/terminal/session-runtime/terminal-replica-interpreter.js +21 -4
- package/packages/daemon/dist/terminal/session-runtime/terminal-replica-owner.js +19 -2
- package/packages/daemon/dist/terminal/session-runtime/xterm-terminal-interpreter-backend.js +17 -19
- package/packages/daemon/dist/tui/integrations/claude-agent-teams.js +264 -0
- package/packages/daemon/dist/tui/mirror/open-tui-workspace-runtime-port.js +64 -4
- package/packages/daemon/dist/tui/mirror/pane-surface.jsx +10 -1
- package/packages/daemon/dist/tui/mirror/reference-performance-trace.js +117 -71
- package/packages/daemon/dist/tui/mirror/runtime/application-terminal-input-ingress.js +27 -3
- package/packages/daemon/dist/tui/mirror/runtime/pane-scoped-terminal-surface.jsx +17 -4
- package/packages/daemon/dist/tui/mirror/runtime/terminal-fast-lane-renderer-adapter.js +19 -0
- package/packages/daemon/dist/tui/mirror/runtime/terminal-input-adapter.js +10 -2
- package/packages/daemon/dist/tui/mirror/testing/styled-frame-oracle.js +156 -0
- package/packages/daemon/src/lib/daemon-embed.ts +22 -34
- package/packages/daemon/src/lib/runtime-trace-writer.ts +132 -0
- package/packages/daemon/src/lib/tmux-client-execution.ts +47 -2
- package/packages/daemon/src/lib/tmux-server-owner.ts +19 -3
- package/packages/daemon/src/terminal/attachments/native-runtime.ts +6 -0
- package/packages/daemon/src/terminal/mirror/control-channel.ts +428 -84
- package/packages/daemon/src/terminal/mirror/events.ts +7 -7
- package/packages/daemon/src/terminal/mirror/mirror-service.ts +49 -3
- package/packages/daemon/src/terminal/mirror/native-grid-projection.ts +21 -11
- package/packages/daemon/src/terminal/mirror/pane-feed.ts +9 -4
- package/packages/daemon/src/terminal/mirror/session-channel.ts +705 -859
- package/packages/daemon/src/terminal/mirror/stock-pane-snapshot.ts +228 -0
- package/packages/daemon/src/terminal/session-runtime/causal-cell-ledger.ts +1 -1
- package/packages/daemon/src/terminal/session-runtime/registry.ts +203 -32
- package/packages/daemon/src/terminal/session-runtime/runtime-observability.ts +7 -0
- package/packages/daemon/src/terminal/session-runtime/stock-capture-fidelity.ts +13 -0
- package/packages/daemon/src/terminal/session-runtime/terminal-delivery-hub.ts +142 -8
- package/packages/daemon/src/terminal/session-runtime/terminal-replica-interpreter.ts +26 -3
- package/packages/daemon/src/terminal/session-runtime/terminal-replica-owner.ts +25 -1
- package/packages/daemon/src/terminal/session-runtime/xterm-terminal-interpreter-backend.ts +26 -20
- package/packages/daemon/src/tui/integrations/claude-agent-teams.ts +334 -0
- package/packages/daemon/src/tui/mirror/open-tui-workspace-runtime-port.ts +63 -4
- package/packages/daemon/src/tui/mirror/pane-surface.tsx +9 -1
- package/packages/daemon/src/tui/mirror/reference-performance-trace.ts +141 -90
- package/packages/daemon/src/tui/mirror/runtime/application-terminal-input-ingress.ts +27 -4
- package/packages/daemon/src/tui/mirror/runtime/pane-scoped-terminal-surface.tsx +61 -31
- package/packages/daemon/src/tui/mirror/runtime/terminal-fast-lane-renderer-adapter.ts +31 -3
- package/packages/daemon/src/tui/mirror/runtime/terminal-input-adapter.ts +9 -6
- package/packages/daemon/src/tui/mirror/testing/styled-frame-oracle.ts +209 -0
- package/packages/daemon-client/src/terminal-fast-lane.ts +53 -4
- package/packages/daemon-client/src/workspace-client-types.ts +1 -0
- package/packages/daemon-client/src/workspace-client.ts +78 -5
- package/packages/tmux-bridge/src/index.ts +1 -0
- package/packages/tmux-bridge/src/runner.ts +25 -1
- package/skill/SKILL.md +30 -30
|
@@ -19,7 +19,8 @@ import { createNativeTmuxSessionCreator } from "./tmux-server-session-create.ts"
|
|
|
19
19
|
import type { WorkspacePaneCreateMutationRequest } from "@tmux-ide/contracts";
|
|
20
20
|
import { createTmuxSessionMutationFence } from "./tmux-session-mutation-fence.ts";
|
|
21
21
|
import { createNativeTmuxSessionOpener } from "./tmux-server-session-open.ts";
|
|
22
|
-
import { randomUUID } from "node:crypto";
|
|
22
|
+
import { createHash, randomUUID } from "node:crypto";
|
|
23
|
+
import { WorkspaceIdSchemaZ } from "@tmux-ide/contracts";
|
|
23
24
|
import { mkdirSync } from "node:fs";
|
|
24
25
|
import { z } from "zod";
|
|
25
26
|
import type { WorkspaceMultiplexerBackend } from "../command-center/actions/handlers/workspace-multiplexer.ts";
|
|
@@ -61,6 +62,22 @@ export interface NativeTmuxServerOwnerOptions {
|
|
|
61
62
|
readonly nativeServerIdentity?: NativeTmuxServerIdentity;
|
|
62
63
|
}
|
|
63
64
|
|
|
65
|
+
/** Native display names are not necessarily valid shared-contract record identities. */
|
|
66
|
+
function discoveredWorkspaceName(registry: WorkspaceRegistry, sessionName: string): string {
|
|
67
|
+
if (WorkspaceIdSchemaZ.safeParse(sessionName).success && !registry.has(sessionName))
|
|
68
|
+
return sessionName;
|
|
69
|
+
// Existing intent wins even if it occupies a derived ID. Each candidate is
|
|
70
|
+
// deterministic; repeated refreshes retain the already-adopted session alias.
|
|
71
|
+
for (let suffix = 0; suffix <= registry.list().length; suffix += 1) {
|
|
72
|
+
const digest = createHash("sha256")
|
|
73
|
+
.update(`tmux-ide.discovered-workspace.v1\0${sessionName}\0${suffix}`)
|
|
74
|
+
.digest("hex");
|
|
75
|
+
const name = `session-${digest}`;
|
|
76
|
+
if (!registry.has(name)) return name;
|
|
77
|
+
}
|
|
78
|
+
throw new Error("Unable to allocate discovered workspace identity");
|
|
79
|
+
}
|
|
80
|
+
|
|
64
81
|
/** Refresh discovered live membership without changing durable workspace intent or aliases. */
|
|
65
82
|
export function createNativeTmuxServerCatalog(
|
|
66
83
|
workspaceRegistry: WorkspaceRegistry,
|
|
@@ -114,11 +131,10 @@ export function createNativeTmuxServerCatalog(
|
|
|
114
131
|
workspaceRegistry.remove(workspace.name);
|
|
115
132
|
for (const { summary, dir } of rows.values())
|
|
116
133
|
if (
|
|
117
|
-
!workspaceRegistry.has(summary.sessionName) &&
|
|
118
134
|
!workspaceRegistry.list().some((workspace) => workspace.sessionName === summary.sessionName)
|
|
119
135
|
)
|
|
120
136
|
workspaceRegistry.add({
|
|
121
|
-
name: summary.sessionName,
|
|
137
|
+
name: discoveredWorkspaceName(workspaceRegistry, summary.sessionName),
|
|
122
138
|
sessionName: summary.sessionName,
|
|
123
139
|
projectDir: dir,
|
|
124
140
|
persistence: "volatile",
|
|
@@ -620,6 +620,7 @@ function analyzeInventoryPanes(panes: readonly NativeTerminalInventoryPaneSnapsh
|
|
|
620
620
|
active: _active,
|
|
621
621
|
role: _role,
|
|
622
622
|
name: _name,
|
|
623
|
+
nameSource: _nameSource,
|
|
623
624
|
type: _type,
|
|
624
625
|
missionStamp: _missionStamp,
|
|
625
626
|
dir: _dir,
|
|
@@ -989,6 +990,7 @@ export async function discoverWorkspaceRegistryTerminalInventory(
|
|
|
989
990
|
active: _active,
|
|
990
991
|
role: _role,
|
|
991
992
|
name: _name,
|
|
993
|
+
nameSource: _nameSource,
|
|
992
994
|
type: _type,
|
|
993
995
|
missionStamp: _missionStamp,
|
|
994
996
|
dir: _dir,
|
|
@@ -1018,6 +1020,7 @@ export async function discoverWorkspaceRegistrySemanticPanes(
|
|
|
1018
1020
|
active: _active,
|
|
1019
1021
|
role: _role,
|
|
1020
1022
|
name: _name,
|
|
1023
|
+
nameSource: _nameSource,
|
|
1021
1024
|
type: _type,
|
|
1022
1025
|
missionStamp: _missionStamp,
|
|
1023
1026
|
dir: _dir,
|
|
@@ -1349,6 +1352,7 @@ export class WorkspaceTerminalInventoryRuntime {
|
|
|
1349
1352
|
active: _active,
|
|
1350
1353
|
role: _role,
|
|
1351
1354
|
name: _name,
|
|
1355
|
+
nameSource: _nameSource,
|
|
1352
1356
|
type: _type,
|
|
1353
1357
|
missionStamp: _missionStamp,
|
|
1354
1358
|
dir: _dir,
|
|
@@ -2066,6 +2070,7 @@ export class NativeTerminalAttachmentRuntime {
|
|
|
2066
2070
|
active: _active,
|
|
2067
2071
|
role: _role,
|
|
2068
2072
|
name: _name,
|
|
2073
|
+
nameSource: _nameSource,
|
|
2069
2074
|
type: _type,
|
|
2070
2075
|
missionStamp: _missionStamp,
|
|
2071
2076
|
dir: _dir,
|
|
@@ -2341,6 +2346,7 @@ export class NativeTerminalAttachmentRuntime {
|
|
|
2341
2346
|
active: _active,
|
|
2342
2347
|
role: _role,
|
|
2343
2348
|
name: _name,
|
|
2349
|
+
nameSource: _nameSource,
|
|
2344
2350
|
type: _type,
|
|
2345
2351
|
missionStamp: _missionStamp,
|
|
2346
2352
|
dir: _dir,
|