riffer-rig 0.4.0 → 0.5.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.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +15 -0
  3. data/lib/riffer/rig/cli.rb +6 -7
  4. data/lib/riffer/rig/coding_agent.rb +1 -6
  5. data/lib/riffer/rig/credentials.rb +7 -7
  6. data/lib/riffer/rig/extension.rb +31 -0
  7. data/lib/riffer/rig/host.rb +52 -0
  8. data/lib/riffer/rig/registrar.rb +23 -0
  9. data/lib/riffer/rig/repl.rb +39 -27
  10. data/lib/riffer/rig/runtime.rb +162 -0
  11. data/lib/riffer/rig/settings/document.rb +23 -0
  12. data/lib/riffer/rig/settings/pricing.rb +11 -0
  13. data/lib/riffer/rig/settings.rb +9 -17
  14. data/lib/riffer/rig/token_tally.rb +1 -1
  15. data/lib/riffer/rig/tools/bash.rb +1 -1
  16. data/lib/riffer/rig/tools/edit.rb +1 -1
  17. data/lib/riffer/rig/tools/read.rb +2 -2
  18. data/lib/riffer/rig/ui/animator.rb +6 -6
  19. data/lib/riffer/rig/ui/cursor.rb +4 -4
  20. data/lib/riffer/rig/ui/renderer.rb +9 -7
  21. data/lib/riffer/rig/ui/smoother.rb +4 -4
  22. data/lib/riffer/rig/ui/theme.rb +2 -2
  23. data/lib/riffer/rig/version.rb +1 -1
  24. data/lib/riffer/rig.rb +31 -0
  25. data/sig/generated/riffer/rig/cli.rbs +8 -8
  26. data/sig/generated/riffer/rig/credentials.rbs +4 -3
  27. data/sig/generated/riffer/rig/extension.rbs +28 -0
  28. data/sig/generated/riffer/rig/host.rbs +42 -0
  29. data/sig/generated/riffer/rig/registrar.rbs +17 -0
  30. data/sig/generated/riffer/rig/repl.rbs +21 -12
  31. data/sig/generated/riffer/rig/runtime.rbs +101 -0
  32. data/sig/generated/riffer/rig/settings/document.rbs +20 -0
  33. data/sig/generated/riffer/rig/settings/pricing.rbs +4 -0
  34. data/sig/generated/riffer/rig/settings.rbs +5 -5
  35. data/sig/generated/riffer/rig/token_tally.rbs +2 -2
  36. data/sig/generated/riffer/rig/tools/bash.rbs +2 -2
  37. data/sig/generated/riffer/rig/tools/edit.rbs +2 -2
  38. data/sig/generated/riffer/rig/tools/read.rbs +3 -3
  39. data/sig/generated/riffer/rig/ui/animator.rbs +8 -8
  40. data/sig/generated/riffer/rig/ui/cursor.rbs +4 -4
  41. data/sig/generated/riffer/rig/ui/renderer.rbs +13 -11
  42. data/sig/generated/riffer/rig/ui/smoother.rbs +4 -4
  43. data/sig/generated/riffer/rig/ui/theme.rbs +2 -2
  44. data/sig/generated/riffer/rig.rbs +19 -0
  45. data/sig/manual/riffer/rig.rbs +11 -0
  46. metadata +22 -5
@@ -7,14 +7,14 @@ class Riffer::Rig::UI::Cursor
7
7
 
8
8
  SHOW: String
9
9
 
10
- @io: untyped
10
+ @io: IO
11
11
 
12
12
  @theme: Riffer::Rig::UI::Theme
13
13
 
14
- # @rbs io: untyped
15
- # @rbs ?theme: Riffer::Rig::UI::Theme
14
+ # @rbs io: IO
15
+ # @rbs theme: Riffer::Rig::UI::Theme
16
16
  # @rbs return: void
17
- def initialize: (?io: untyped, ?theme: untyped) -> void
17
+ def initialize: (?io: IO, ?theme: Riffer::Rig::UI::Theme) -> void
18
18
 
19
19
  # @rbs return: void
20
20
  def hide: () -> void
@@ -13,14 +13,14 @@ class Riffer::Rig::UI::Renderer
13
13
 
14
14
  @theme: Riffer::Rig::UI::Theme
15
15
 
16
- @io: untyped
16
+ @io: IO
17
17
 
18
- # @rbs io: untyped
19
- # @rbs ?theme: Riffer::Rig::UI::Theme
20
- # @rbs ?tally: Riffer::Rig::TokenTally?
21
- # @rbs ?smoother: Riffer::Rig::UI::Smoother | PassThroughSmoother?
18
+ # @rbs io: IO
19
+ # @rbs theme: Riffer::Rig::UI::Theme
20
+ # @rbs tally: Riffer::Rig::TokenTally?
21
+ # @rbs smoother: Riffer::Rig::UI::Smoother | PassThroughSmoother?
22
22
  # @rbs return: void
23
- def initialize: (?io: untyped, ?theme: untyped, ?tally: untyped, ?smoother: untyped) -> void
23
+ def initialize: (?io: IO, ?theme: Riffer::Rig::UI::Theme, ?tally: Riffer::Rig::TokenTally?, ?smoother: Riffer::Rig::UI::Smoother | PassThroughSmoother?) -> void
24
24
 
25
25
  # @rbs event: Riffer::StreamEvents::Base
26
26
  # @rbs return: void
@@ -53,8 +53,9 @@ class Riffer::Rig::UI::Renderer
53
53
  # so the next group opens with its own gap.
54
54
  #
55
55
  # @rbs indent: Integer
56
+ # @rbs &block: () -> String
56
57
  # @rbs return: void
57
- def render_block: (Integer indent) ?{ (?) -> untyped } -> void
58
+ def render_block: (Integer indent) { () -> String } -> void
58
59
 
59
60
  # The blank line above a prose block is written at the first delta after a
60
61
  # non-prose block. Streaming makes "which block is first?" a stateful
@@ -65,8 +66,9 @@ class Riffer::Rig::UI::Renderer
65
66
  def render_prose: (String content) -> void
66
67
 
67
68
  # @rbs indent: Integer
69
+ # @rbs &block: () -> String
68
70
  # @rbs return: void
69
- def render_tool_activity: (Integer indent) ?{ (?) -> untyped } -> void
71
+ def render_tool_activity: (Integer indent) { () -> String } -> void
70
72
 
71
73
  # Tool-activity lines (⚙ calls, ↳ results) share one blank line above the
72
74
  # group instead of one between each line — the gap goes between groups, not
@@ -86,11 +88,11 @@ class Riffer::Rig::UI::Renderer
86
88
  # Stand-in when no smoother is injected, so a bare Riffer::Rig::UI::Renderer still prints
87
89
  # synchronously.
88
90
  class PassThroughSmoother
89
- @io: untyped
91
+ @io: IO
90
92
 
91
- # @rbs io: untyped
93
+ # @rbs io: IO
92
94
  # @rbs return: void
93
- def initialize: (untyped io) -> void
95
+ def initialize: (IO io) -> void
94
96
 
95
97
  # @rbs content: String
96
98
  # @rbs return: self
@@ -32,13 +32,13 @@ class Riffer::Rig::UI::Smoother
32
32
 
33
33
  @theme: Riffer::Rig::UI::Theme
34
34
 
35
- @io: untyped
35
+ @io: IO
36
36
 
37
- # @rbs io: untyped
38
- # @rbs ?theme: Riffer::Rig::UI::Theme
37
+ # @rbs io: IO
38
+ # @rbs theme: Riffer::Rig::UI::Theme
39
39
  # @rbs clock: singleton(Kernel)
40
40
  # @rbs return: void
41
- def initialize: (?io: untyped, ?theme: untyped, ?clock: singleton(Kernel)) -> void
41
+ def initialize: (?io: IO, ?theme: Riffer::Rig::UI::Theme, ?clock: singleton(Kernel)) -> void
42
42
 
43
43
  # @rbs return: void
44
44
  def start: () -> void
@@ -13,9 +13,9 @@ class Riffer::Rig::UI::Theme
13
13
  # @rbs return: void
14
14
  def initialize: (enabled: bool) -> void
15
15
 
16
- # @rbs io: untyped
16
+ # @rbs io: IO
17
17
  # @rbs return: Riffer::Rig::UI::Theme
18
- def self.for: (untyped io) -> Riffer::Rig::UI::Theme
18
+ def self.for: (IO io) -> Riffer::Rig::UI::Theme
19
19
 
20
20
  # @rbs text: String
21
21
  # @rbs rgb: Array[Integer]
@@ -1,2 +1,21 @@
1
1
  # Generated from lib/riffer/rig.rb with RBS::Inline
2
2
 
3
+ module Riffer::Rig
4
+ self.@extensions: Hash[String, Riffer::Rig::Extension]
5
+
6
+ # Records an extension block in the process registry and returns the
7
+ # extension object. Re-recording a name replaces the block.
8
+ #
9
+ # Riffer::Rig.extension('git') do |rig|
10
+ # rig.tool GitLog
11
+ # end
12
+ #
13
+ # @rbs name: String
14
+ # @rbs requires: String?
15
+ # @rbs &block: (::Riffer::Rig::Registrar) -> void
16
+ # @rbs return: Riffer::Rig::Extension
17
+ def self.extension: (String name, ?requires: String?) { (::Riffer::Rig::Registrar) -> void } -> Riffer::Rig::Extension
18
+
19
+ # @rbs return: Hash[String, Riffer::Rig::Extension]
20
+ def self.extensions: () -> Hash[String, Riffer::Rig::Extension]
21
+ end
@@ -0,0 +1,11 @@
1
+ # rbs-inline emits the `def self.extension` / `def self.extensions`
2
+ # declarations in `sig/generated/riffer/rig.rbs`, but Steep binds them to the
3
+ # file that first declares the module in RBS (`lib/riffer/rig/version.rb`'s
4
+ # empty reopen), so it reports MethodDefinitionMissing at that reopen. Making
5
+ # the generated declarations visible there without duplicating them needs a
6
+ # `...` alias per method.
7
+
8
+ module Riffer::Rig
9
+ def self.extension: ...
10
+ def self.extensions: ...
11
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: riffer-rig
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jake Bottrall
@@ -55,16 +55,22 @@ dependencies:
55
55
  name: riffer
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
- - - "~>"
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0.45'
61
+ - - "<"
59
62
  - !ruby/object:Gem::Version
60
- version: 0.45.0
63
+ version: '0.48'
61
64
  type: :runtime
62
65
  prerelease: false
63
66
  version_requirements: !ruby/object:Gem::Requirement
64
67
  requirements:
65
- - - "~>"
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: '0.45'
71
+ - - "<"
66
72
  - !ruby/object:Gem::Version
67
- version: 0.45.0
73
+ version: '0.48'
68
74
  - !ruby/object:Gem::Dependency
69
75
  name: zeitwerk
70
76
  requirement: !ruby/object:Gem::Requirement
@@ -95,8 +101,13 @@ files:
95
101
  - lib/riffer/rig/cli.rb
96
102
  - lib/riffer/rig/coding_agent.rb
97
103
  - lib/riffer/rig/credentials.rb
104
+ - lib/riffer/rig/extension.rb
105
+ - lib/riffer/rig/host.rb
106
+ - lib/riffer/rig/registrar.rb
98
107
  - lib/riffer/rig/repl.rb
108
+ - lib/riffer/rig/runtime.rb
99
109
  - lib/riffer/rig/settings.rb
110
+ - lib/riffer/rig/settings/document.rb
100
111
  - lib/riffer/rig/settings/pricing.rb
101
112
  - lib/riffer/rig/token_tally.rb
102
113
  - lib/riffer/rig/tools/bash.rb
@@ -115,8 +126,13 @@ files:
115
126
  - sig/generated/riffer/rig/cli.rbs
116
127
  - sig/generated/riffer/rig/coding_agent.rbs
117
128
  - sig/generated/riffer/rig/credentials.rbs
129
+ - sig/generated/riffer/rig/extension.rbs
130
+ - sig/generated/riffer/rig/host.rbs
131
+ - sig/generated/riffer/rig/registrar.rbs
118
132
  - sig/generated/riffer/rig/repl.rbs
133
+ - sig/generated/riffer/rig/runtime.rbs
119
134
  - sig/generated/riffer/rig/settings.rbs
135
+ - sig/generated/riffer/rig/settings/document.rbs
120
136
  - sig/generated/riffer/rig/settings/pricing.rbs
121
137
  - sig/generated/riffer/rig/token_tally.rbs
122
138
  - sig/generated/riffer/rig/tools/bash.rbs
@@ -131,6 +147,7 @@ files:
131
147
  - sig/generated/riffer/rig/ui/smoother.rbs
132
148
  - sig/generated/riffer/rig/ui/theme.rbs
133
149
  - sig/generated/riffer/rig/version.rbs
150
+ - sig/manual/riffer/rig.rbs
134
151
  - sig/manual/riffer/rig/cli.rbs
135
152
  - sig/manual/riffer/rig/credentials.rbs
136
153
  - sig/manual/riffer/rig/settings.rbs