terminalwire 0.3.5.alpha2 → 2.0.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.
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Define the parent namespace before any nested file reopens Terminalwire::V2,
4
+ # so `module Terminalwire::V2` never hits an undefined constant.
5
+ module Terminalwire
6
+ module V2
7
+ end
8
+ end
9
+
10
+ require_relative "v2/version"
11
+ require_relative "v2/errors"
12
+ require_relative "v2/protocol"
13
+ require_relative "v2/codec"
14
+ require_relative "v2/negotiator"
15
+ require_relative "v2/frames"
16
+ require_relative "v2/mux"
17
+ require_relative "v2/window"
18
+ require_relative "v2/transport/memory"
19
+ require_relative "v2/transport/queue"
20
+ require_relative "v2/server/terminal"
21
+ require_relative "v2/server/flow"
22
+ require_relative "v2/server/connection"
23
+ require_relative "v2/server/runtime"
24
+ require_relative "v2/server/context"
25
+ require_relative "v2/server/io"
26
+ require_relative "v2/server/stream_router"
27
+ require_relative "v2/server/redirect"
28
+ require_relative "v2/server/handler"
29
+ require_relative "v2/server/session"
30
+ require_relative "v2/conformance"
31
+
32
+ # Note: terminalwire/v2/server/thor is required on demand (it needs the thor gem),
33
+ # so the protocol core stays dependency-light.
34
+
35
+ # Terminalwire v2 — sans-IO protocol core and Ruby server runtime.
36
+ # See ../../PROTOCOL.md for the wire contract and ../../conformance for the
37
+ # language-neutral test corpus.
38
+ module Terminalwire::V2
39
+ end
metadata CHANGED
@@ -1,48 +1,165 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: terminalwire
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5.alpha2
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brad Gessler
8
- bindir: exe
8
+ bindir: bin
9
9
  cert_chain: []
10
- date: 2025-05-01 00:00:00.000000000 Z
10
+ date: 2026-08-14 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
- name: terminalwire-client
13
+ name: msgpack
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
- - - '='
16
+ - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: 0.3.5.alpha2
18
+ version: '1.7'
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
- - - '='
23
+ - - "~>"
24
24
  - !ruby/object:Gem::Version
25
- version: 0.3.5.alpha2
26
- description: Stream command-line apps from your server without a web API
25
+ version: '1.7'
26
+ - !ruby/object:Gem::Dependency
27
+ name: base64
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '0.2'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '0.2'
40
+ - !ruby/object:Gem::Dependency
41
+ name: jwt
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '2.7'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '2.7'
54
+ - !ruby/object:Gem::Dependency
55
+ name: rake
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '13.0'
61
+ type: :development
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '13.0'
68
+ - !ruby/object:Gem::Dependency
69
+ name: activesupport
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '7.1'
75
+ type: :development
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '7.1'
82
+ - !ruby/object:Gem::Dependency
83
+ name: rspec
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '3.13'
89
+ type: :development
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '3.13'
96
+ - !ruby/object:Gem::Dependency
97
+ name: simplecov
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '0.22'
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '0.22'
110
+ - !ruby/object:Gem::Dependency
111
+ name: thor
112
+ requirement: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '1.3'
117
+ type: :development
118
+ prerelease: false
119
+ version_requirements: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '1.3'
124
+ description: Sans-IO implementation of the Terminalwire v2 protocol, plus a server
125
+ runtime and Thor integration.
27
126
  email:
28
127
  - brad@terminalwire.com
29
- executables:
30
- - terminalwire
31
- - terminalwire-exec
128
+ executables: []
32
129
  extensions: []
33
130
  extra_rdoc_files: []
34
131
  files:
35
- - exe/terminalwire
36
- - exe/terminalwire-exec
37
- homepage: https://terminalwire.com/ruby
132
+ - lib/terminalwire/v2.rb
133
+ - lib/terminalwire/v2/codec.rb
134
+ - lib/terminalwire/v2/conformance.rb
135
+ - lib/terminalwire/v2/errors.rb
136
+ - lib/terminalwire/v2/frames.rb
137
+ - lib/terminalwire/v2/mux.rb
138
+ - lib/terminalwire/v2/negotiator.rb
139
+ - lib/terminalwire/v2/protocol.rb
140
+ - lib/terminalwire/v2/rails.rb
141
+ - lib/terminalwire/v2/server/connection.rb
142
+ - lib/terminalwire/v2/server/context.rb
143
+ - lib/terminalwire/v2/server/dual_thor.rb
144
+ - lib/terminalwire/v2/server/flow.rb
145
+ - lib/terminalwire/v2/server/handler.rb
146
+ - lib/terminalwire/v2/server/io.rb
147
+ - lib/terminalwire/v2/server/rack.rb
148
+ - lib/terminalwire/v2/server/redirect.rb
149
+ - lib/terminalwire/v2/server/runtime.rb
150
+ - lib/terminalwire/v2/server/session.rb
151
+ - lib/terminalwire/v2/server/stream_router.rb
152
+ - lib/terminalwire/v2/server/terminal.rb
153
+ - lib/terminalwire/v2/server/thor.rb
154
+ - lib/terminalwire/v2/transport/memory.rb
155
+ - lib/terminalwire/v2/transport/queue.rb
156
+ - lib/terminalwire/v2/version.rb
157
+ - lib/terminalwire/v2/window.rb
158
+ homepage: https://terminalwire.com
38
159
  licenses:
39
- - AGPL
160
+ - Apache-2.0
40
161
  metadata:
41
- allowed_push_host: https://rubygems.org/
42
- homepage_uri: https://terminalwire.com/ruby
43
- source_code_uri: https://github.com/terminalwire/ruby/tree/main/terminalwire
44
- changelog_uri: https://github.com/terminalwire/ruby/tags
45
- funding_uri: https://terminalwire.com/funding
162
+ allowed_push_host: https://rubygems.org
46
163
  rdoc_options: []
47
164
  require_paths:
48
165
  - lib
@@ -50,7 +167,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
50
167
  requirements:
51
168
  - - ">="
52
169
  - !ruby/object:Gem::Version
53
- version: 3.0.0
170
+ version: 3.2.0
54
171
  required_rubygems_version: !ruby/object:Gem::Requirement
55
172
  requirements:
56
173
  - - ">="
@@ -59,5 +176,5 @@ required_rubygems_version: !ruby/object:Gem::Requirement
59
176
  requirements: []
60
177
  rubygems_version: 3.6.2
61
178
  specification_version: 4
62
- summary: Ship a CLI for your web app. No API required.
179
+ summary: Terminalwire v2 protocol core + Ruby server runtime
63
180
  test_files: []
data/exe/terminalwire DELETED
@@ -1,9 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require "terminalwire/client"
3
-
4
- begin
5
- Terminalwire::Client.websocket(url: "wss://terminalwire.com/terminal")
6
- rescue Terminalwire::Error => e
7
- puts e.message
8
- exit 1
9
- end
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require "terminalwire/client"
3
-
4
- Zeitwerk::Loader.eager_load_all
5
-
6
- begin
7
- Terminalwire::Client::Exec.start
8
- rescue Terminalwire::Error => e
9
- puts e.message
10
- exit 1
11
- end