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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6f49cb24a7e74232499e414200b2b9122a9b4562ad9ed6679280a953454d2f52
4
- data.tar.gz: 35e3a824e53a52913031f4c25ca99265d1a15ab5fd49d5240d80517c5be7b348
3
+ metadata.gz: c0536170a8bdb58035764cfe894282b86535192375a8933b85f6900d7a089197
4
+ data.tar.gz: 898348819cbbd6d92189be96e0d3a29d80b2d8582d66e6f56e544bd604a35ae9
5
5
  SHA512:
6
- metadata.gz: 73bebcbb321f90292398aba4a6c21873e4638277d8e452a27001f46d6c4d62fe858e5acd5eb53e09093a8e99b68d16613585ae1d20172a8d298a786487d35c55
7
- data.tar.gz: facc9d92c39f2742bcf922f4cc6c55cb4abd8b498905bd04078c5b55c7fe5fa1754d14edc09c57f578f5dbfacaa6e5de0e58d67f7c6c5f12da1355805235173e
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!
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Ace
4
4
  module Tmux
5
- VERSION = "0.18.0"
5
+ VERSION = "0.19.0"
6
6
  end
7
7
  end
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.18.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-02 00:00:00.000000000 Z
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.1'
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.1'
81
+ version: '0.2'
82
82
  - !ruby/object:Gem::Dependency
83
83
  name: ace-support-test-helpers
84
84
  requirement: !ruby/object:Gem::Requirement