ace-tmux 0.18.0 → 0.19.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/lib/ace/tmux/native_runtime_backend.rb +9 -0
- data/lib/ace/tmux/runtime_adapter.rb +16 -1
- data/lib/ace/tmux/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c0536170a8bdb58035764cfe894282b86535192375a8933b85f6900d7a089197
|
|
4
|
+
data.tar.gz: 898348819cbbd6d92189be96e0d3a29d80b2d8582d66e6f56e544bd604a35ae9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b8cb0173511b48a1d99cc18cea00bb0c61fe556228e9cb281f1123cfb798e5fb619c6b94b5c7264576ba53d3c0b4557833c425c523fb9dfda18207994d6d0348
|
|
7
|
+
data.tar.gz: 240d71c6487b3e81a327c62ac43d169b8530bd5eb4ab34b2dbc8bf0b5c5f733926869fcabc03f3ddc048556a0e392e1c47ba269d6b7e7d9fd09b0d15c88bedee
|
data/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.19.0] - 2026-10-05
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Expose native session/pane/shell identity for managed assignment owner verification.
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- Declare the required direct dependencies and minimum producer versions for this coordinated release: `ace-runtime ~> 0.2`.
|
|
19
|
+
|
|
10
20
|
## [0.18.0] - 2026-10-02
|
|
11
21
|
|
|
12
22
|
### Added
|
|
@@ -32,6 +32,15 @@ module Ace
|
|
|
32
32
|
{in_runtime: false, session: nil, window: nil, pane: nil}
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
+
def process_target(pane)
|
|
36
|
+
value = query(B.display_message_target(pane, "\#{session_id}\t\#{pane_id}\t\#{pane_pid}", tmux: tmux))
|
|
37
|
+
session, id, pid = value.split("\t", -1)
|
|
38
|
+
return nil unless session.to_s.match?(/\A\$[0-9]+\z/) && id.to_s.match?(/\A%[0-9]+\z/) &&
|
|
39
|
+
pid.to_s.match?(/\A[0-9]+\z/)
|
|
40
|
+
|
|
41
|
+
{"session" => session, "pane" => id, "shell_pid" => pid.to_i}
|
|
42
|
+
end
|
|
43
|
+
|
|
35
44
|
def available!
|
|
36
45
|
raise Ace::Tmux::NotInTmuxError unless executor.tmux_available?(tmux: tmux)
|
|
37
46
|
|
|
@@ -7,8 +7,9 @@ module Ace
|
|
|
7
7
|
SEND = Ace::Runtime::Atoms::SendContract
|
|
8
8
|
LIFECYCLE = SEND::LIFECYCLE_CONDITIONS
|
|
9
9
|
|
|
10
|
-
def initialize(backend: NativeRuntimeBackend.new)
|
|
10
|
+
def initialize(backend: NativeRuntimeBackend.new, process_identity: Ace::Runtime::Molecules::ProcessIdentity.new)
|
|
11
11
|
@backend = backend
|
|
12
|
+
@process_identity = process_identity
|
|
12
13
|
end
|
|
13
14
|
|
|
14
15
|
def send_profile = :plain_pane
|
|
@@ -17,6 +18,20 @@ module Ace
|
|
|
17
18
|
backend.context
|
|
18
19
|
end
|
|
19
20
|
|
|
21
|
+
def process_binding(pane:, caller_pid:)
|
|
22
|
+
return nil unless caller_pid.is_a?(Integer) && caller_pid.positive?
|
|
23
|
+
|
|
24
|
+
with_errors do
|
|
25
|
+
target = backend.process_target(pane)
|
|
26
|
+
next nil unless target
|
|
27
|
+
|
|
28
|
+
owner = @process_identity.owner(shell_pid: target["shell_pid"], caller_pid: caller_pid)
|
|
29
|
+
next nil unless owner
|
|
30
|
+
|
|
31
|
+
target.slice("session", "pane").merge("runtime" => "tmux").merge(owner)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
20
35
|
def ensure_window(name:, root:, preset: nil)
|
|
21
36
|
with_errors do
|
|
22
37
|
backend.available!
|
data/lib/ace/tmux/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ace-tmux
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.19.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Michal Czyz
|
|
8
8
|
bindir: exe
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date: 2026-10-
|
|
10
|
+
date: 2026-10-05 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: ace-support-cli
|
|
@@ -71,14 +71,14 @@ dependencies:
|
|
|
71
71
|
requirements:
|
|
72
72
|
- - "~>"
|
|
73
73
|
- !ruby/object:Gem::Version
|
|
74
|
-
version: '0.
|
|
74
|
+
version: '0.2'
|
|
75
75
|
type: :runtime
|
|
76
76
|
prerelease: false
|
|
77
77
|
version_requirements: !ruby/object:Gem::Requirement
|
|
78
78
|
requirements:
|
|
79
79
|
- - "~>"
|
|
80
80
|
- !ruby/object:Gem::Version
|
|
81
|
-
version: '0.
|
|
81
|
+
version: '0.2'
|
|
82
82
|
- !ruby/object:Gem::Dependency
|
|
83
83
|
name: ace-support-test-helpers
|
|
84
84
|
requirement: !ruby/object:Gem::Requirement
|