cline-rb 1.1.1 → 1.1.4

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: b9ffcd701050dde2cc6c08b8b9f221e68bf7d7f5f160ad61cead26e3804e8ff4
4
- data.tar.gz: 7f41f36985a52c31e0cb7da7d50a7bbd4962a164bdfcc7b397ebf9a9b9eea1f5
3
+ metadata.gz: 0cae03339b133588a9f0a4e04d66bf789cade5365495513a17a94839402d814f
4
+ data.tar.gz: 63d588d57d86ffad47a0c5e385f32d6b35118e0452696fb13b2fa17af9bcbed1
5
5
  SHA512:
6
- metadata.gz: 2817ccba453c3b396108efc6276ce1e8e3a1693ef8befd052c72f2273a63478126f9ad60b540be2995e4082b599e9903de1f90ebc52be14165cd5f910618f84a
7
- data.tar.gz: 67f07326c44c48f907937e5d57628fd4cb4132bf8a8f7bd96aa6e295c7e499026ebba9ea5879c13db1ffdebbdb049abc9da2311c9974f3ef983722914fa770aa
6
+ metadata.gz: a3c9ce62b490930ce6b43a602221bf9ec6a26671f3cf8dc18ebfa5fd24b20836cd46524b2369d9e64b7625349c089f9051d1d282e23269c56cda122457cd3153
7
+ data.tar.gz: 778623fac356f2d8a3369b08ac23a6aacf871ad162bdbd239d8734ed2c5c36946fc89a00f49a3dca602bbfe397c5fd501c4f727125bf6cf9aa49ff8e55558af2
data/CHANGELOG.md CHANGED
@@ -1,3 +1,21 @@
1
+ # [v1.1.4](https://github.com/Muriel-Salvan/cline-rb/compare/v1.1.3...v1.1.4) (2026-10-22 09:34:43)
2
+
3
+ ### Patches
4
+
5
+ * [feat(cli): use temp prompt file when a single arg exceeds per-arg limit](https://github.com/Muriel-Salvan/cline-rb/commit/52c9486a2f97af29d4c10afbc596bef7f61994f3)
6
+
7
+ # [v1.1.3](https://github.com/Muriel-Salvan/cline-rb/compare/v1.1.2...v1.1.3) (2026-10-14 15:38:46)
8
+
9
+ ### Patches
10
+
11
+ * [ci: Configure RubyGems credentials via trusted publishing](https://github.com/Muriel-Salvan/cline-rb/commit/7194a95dec2200166dcba19f2e210377f6d7ad1d)
12
+
13
+ # [v1.1.2](https://github.com/Muriel-Salvan/cline-rb/compare/v1.1.1...v1.1.2) (2026-10-14 15:29:12)
14
+
15
+ ### Patches
16
+
17
+ * [fix: make config data getters nil-safe](https://github.com/Muriel-Salvan/cline-rb/commit/25f72bac6c624f73ed89025c15b143b8e121da60)
18
+
1
19
  # [v1.1.1](https://github.com/Muriel-Salvan/cline-rb/compare/v1.1.0...v1.1.1) (2026-07-01 15:14:42)
2
20
 
3
21
  ### Patches
data/lib/cline/cli.rb CHANGED
@@ -133,7 +133,11 @@ module Cline
133
133
  task_args = parse_task_options(**kwargs)
134
134
  # Use a prompt temporary file if the prompt is too long to fit in the command line.
135
135
  (
136
- if stripped_prompt && stripped_prompt.size + 2 > Utils::Os.max_cmd_length - (Utils::Os.cline_exe + task_args).map { |arg| "\"#{arg}\"" }.join(' ').size
136
+ if stripped_prompt && (
137
+ stripped_prompt.bytesize + 2 > Utils::Os.max_cmd_length -
138
+ (Utils::Os.cline_exe + task_args).map { |arg| "\"#{arg}\"" }.join(' ').bytesize ||
139
+ stripped_prompt.bytesize + 2 > Utils::Os.max_arg_length
140
+ )
137
141
  proc do |&run_block|
138
142
  Utils::File.with_temp_dir do |tmp_dir|
139
143
  prompt_file = "#{tmp_dir}/prompt.txt"
data/lib/cline/config.rb CHANGED
@@ -1,5 +1,3 @@
1
- require 'forwardable'
2
-
3
1
  module Cline
4
2
  # Accesses all configuration of a Cline directory.
5
3
  # Wraps for example the content of ~/.cline.
@@ -7,8 +5,6 @@ module Cline
7
5
  # - include_project_config [Boolean] Do we include the project-specific objects as well in this
8
6
  # configuration? Defaults to `true`.
9
7
  class Config
10
- extend Forwardable
11
-
12
8
  # @!group Public API
13
9
 
14
10
  # Get the main Cline config.
@@ -35,8 +31,14 @@ module Cline
35
31
 
36
32
  include Serializable::Dir
37
33
 
38
- # Give access to the data getters
39
- def_delegators :data, *%i[global_settings global_state logs mcp_settings providers sessions tasks workspaces]
34
+ # Give access to the data getters.
35
+ # Getters are nil-safe: they return nil when the data directory does not exist yet (instead of raising),
36
+ # so that callers can wait for the data directory to appear (see the session monitor thread in Cline::Cli#task).
37
+ %i[global_settings global_state logs mcp_settings providers sessions tasks workspaces].each do |data_getter|
38
+ define_method(data_getter) do |*args, **kwargs, &block|
39
+ data&.public_send(data_getter, *args, **kwargs, &block)
40
+ end
41
+ end
40
42
 
41
43
  # Get skills from this config
42
44
  #
@@ -1,3 +1,4 @@
1
+ require 'forwardable'
1
2
  require 'secret_string'
2
3
 
3
4
  module Cline
@@ -37,6 +37,11 @@ module Cline
37
37
  def max_cmd_length
38
38
  @max_cmd_length ||= Integer(`getconf ARG_MAX`.strip)
39
39
  end
40
+
41
+ # @return [Integer] Maximum length a single command-line argument can have
42
+ def max_arg_length
43
+ @max_arg_length ||= [131_072, max_cmd_length].min
44
+ end
40
45
  end
41
46
  end
42
47
  end
@@ -40,6 +40,11 @@ module Cline
40
40
  def max_cmd_length
41
41
  8191
42
42
  end
43
+
44
+ # @return [Integer] Maximum length a single command-line argument can have
45
+ def max_arg_length
46
+ 8191
47
+ end
43
48
  end
44
49
  end
45
50
  end
data/lib/cline/version.rb CHANGED
@@ -2,5 +2,5 @@ module Cline
2
2
  # @!group Public API
3
3
 
4
4
  # Gem version
5
- VERSION = '1.1.1'
5
+ VERSION = '1.1.4'
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cline-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Muriel Salvan