cline-rb 1.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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +139 -0
- data/README.md +1216 -0
- data/TODO.md +2 -0
- data/lib/cline/cli.rb +373 -0
- data/lib/cline/config.rb +100 -0
- data/lib/cline/configuration.rb +23 -0
- data/lib/cline/data.rb +119 -0
- data/lib/cline/file_content.rb +33 -0
- data/lib/cline/global_settings.rb +17 -0
- data/lib/cline/global_state/api_providers.rb +48 -0
- data/lib/cline/global_state/auto_approval.rb +73 -0
- data/lib/cline/global_state/browser.rb +52 -0
- data/lib/cline/global_state/features.rb +56 -0
- data/lib/cline/global_state/general.rb +77 -0
- data/lib/cline/global_state/models.rb +127 -0
- data/lib/cline/global_state/toggles.rb +33 -0
- data/lib/cline/global_state/workspace.rb +41 -0
- data/lib/cline/global_state.rb +16 -0
- data/lib/cline/log.rb +288 -0
- data/lib/cline/logs.rb +136 -0
- data/lib/cline/mcp_settings.rb +30 -0
- data/lib/cline/model.rb +47 -0
- data/lib/cline/models.rb +11 -0
- data/lib/cline/overlay_hash.rb +125 -0
- data/lib/cline/providers.rb +59 -0
- data/lib/cline/schema.rb +144 -0
- data/lib/cline/secret_string.rb +83 -0
- data/lib/cline/secrets.rb +119 -0
- data/lib/cline/serializable/cline_data.rb +131 -0
- data/lib/cline/serializable/dir.rb +81 -0
- data/lib/cline/serializable/file.rb +106 -0
- data/lib/cline/session.rb +87 -0
- data/lib/cline/session_data.rb +154 -0
- data/lib/cline/session_message.rb +178 -0
- data/lib/cline/session_messages.rb +61 -0
- data/lib/cline/sessions.rb +30 -0
- data/lib/cline/skill.rb +148 -0
- data/lib/cline/skills.rb +8 -0
- data/lib/cline/task.rb +75 -0
- data/lib/cline/task_message.rb +247 -0
- data/lib/cline/task_messages.rb +11 -0
- data/lib/cline/tasks.rb +30 -0
- data/lib/cline/usage.rb +37 -0
- data/lib/cline/utils/enumerable_dir_objects.rb +103 -0
- data/lib/cline/utils/file.rb +71 -0
- data/lib/cline/utils/file_monitor.rb +56 -0
- data/lib/cline/utils/logger.rb +37 -0
- data/lib/cline/utils/os/linux.rb +43 -0
- data/lib/cline/utils/os/mingw32.rb +46 -0
- data/lib/cline/utils/os.rb +31 -0
- data/lib/cline/utils/schema.rb +290 -0
- data/lib/cline/version.rb +6 -0
- data/lib/cline/workspace.rb +25 -0
- data/lib/cline/workspace_settings.rb +29 -0
- data/lib/cline/workspaces.rb +8 -0
- data/lib/cline.rb +22 -0
- metadata +249 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
module Cline
|
|
2
|
+
class GlobalState
|
|
3
|
+
# API provider endpoints and authentication settings
|
|
4
|
+
module ApiProviders
|
|
5
|
+
# Define all the attributes of the included class
|
|
6
|
+
#
|
|
7
|
+
# @param base [Class] Base class including this mixin
|
|
8
|
+
def self.included(base)
|
|
9
|
+
base.class_eval do
|
|
10
|
+
# @!group Public API
|
|
11
|
+
|
|
12
|
+
# @return [Hash] OpenAI custom headers
|
|
13
|
+
attribute :open_ai_headers, Utils::Schema.map(:string)
|
|
14
|
+
|
|
15
|
+
# @return [Boolean] SAP AI Core orchestration mode flag
|
|
16
|
+
attribute :sap_ai_core_use_orchestration_mode, :boolean
|
|
17
|
+
|
|
18
|
+
# @return [String] Anthropic API base URL
|
|
19
|
+
attribute :anthropic_base_url, :string
|
|
20
|
+
|
|
21
|
+
# @return [String] OpenRouter provider sorting preference
|
|
22
|
+
attribute :open_router_provider_sorting, :string
|
|
23
|
+
|
|
24
|
+
# @return [String] AWS authentication method
|
|
25
|
+
attribute :aws_authentication, :string
|
|
26
|
+
|
|
27
|
+
# @return [String] Ollama API context window number
|
|
28
|
+
attribute :ollama_api_options_ctx_num, :string
|
|
29
|
+
|
|
30
|
+
# @return [String] LM Studio base URL
|
|
31
|
+
attribute :lm_studio_base_url, :string
|
|
32
|
+
|
|
33
|
+
# @return [String] LM Studio maximum tokens
|
|
34
|
+
attribute :lm_studio_max_tokens, :string
|
|
35
|
+
|
|
36
|
+
# @return [String] Gemini API base URL
|
|
37
|
+
attribute :gemini_base_url, :string
|
|
38
|
+
|
|
39
|
+
# @return [String] Azure API version
|
|
40
|
+
attribute :azure_api_version, :string
|
|
41
|
+
|
|
42
|
+
# @return [Integer] Request timeout in milliseconds
|
|
43
|
+
attribute :request_timeout_ms, :integer
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
module Cline
|
|
2
|
+
class GlobalState
|
|
3
|
+
# Auto approval and command execution permissions
|
|
4
|
+
module AutoApproval
|
|
5
|
+
# Auto approval configuration settings
|
|
6
|
+
class AutoApprovalSettings < Schema
|
|
7
|
+
# @!group Public API
|
|
8
|
+
|
|
9
|
+
# Auto approval action toggles
|
|
10
|
+
class AutoApprovalActions < Schema
|
|
11
|
+
# @!group Public API
|
|
12
|
+
|
|
13
|
+
# @return [Boolean] Allow reading files
|
|
14
|
+
attribute :read_files, :boolean
|
|
15
|
+
|
|
16
|
+
# @return [Boolean] Allow reading files externally
|
|
17
|
+
attribute :read_files_externally, :boolean
|
|
18
|
+
|
|
19
|
+
# @return [Boolean] Allow editing files
|
|
20
|
+
attribute :edit_files, :boolean
|
|
21
|
+
|
|
22
|
+
# @return [Boolean] Allow editing files externally
|
|
23
|
+
attribute :edit_files_externally, :boolean
|
|
24
|
+
|
|
25
|
+
# @return [Boolean] Allow executing safe commands
|
|
26
|
+
attribute :execute_safe_commands, :boolean
|
|
27
|
+
|
|
28
|
+
# @return [Boolean] Allow executing all commands
|
|
29
|
+
attribute :execute_all_commands, :boolean
|
|
30
|
+
|
|
31
|
+
# @return [Boolean] Allow using browser tools
|
|
32
|
+
attribute :use_browser, :boolean
|
|
33
|
+
|
|
34
|
+
# @return [Boolean] Allow using MCP servers
|
|
35
|
+
attribute :use_mcp, :boolean
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# @return [AutoApprovalActions] Action toggles
|
|
39
|
+
attribute :actions, AutoApprovalActions
|
|
40
|
+
|
|
41
|
+
# @return [Boolean] Auto approval enabled flag
|
|
42
|
+
attribute :enabled, :boolean
|
|
43
|
+
|
|
44
|
+
# @return [Integer] Configuration version
|
|
45
|
+
attribute :version, :integer
|
|
46
|
+
|
|
47
|
+
# @return [Array<String>] Favorite approval entries
|
|
48
|
+
attribute :favorites, Utils::Schema.collection(:string)
|
|
49
|
+
|
|
50
|
+
# @return [Integer] Maximum allowed requests
|
|
51
|
+
attribute :max_requests, :integer
|
|
52
|
+
|
|
53
|
+
# @return [Boolean] Enable notifications
|
|
54
|
+
attribute :enable_notifications, :boolean
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Define all the attributes of the included class
|
|
58
|
+
#
|
|
59
|
+
# @param base [Class] Base class including this mixin
|
|
60
|
+
def self.included(base)
|
|
61
|
+
base.class_eval do
|
|
62
|
+
# @!group Public API
|
|
63
|
+
|
|
64
|
+
# @return [AutoApprovalSettings] Auto approval configuration settings
|
|
65
|
+
attribute :auto_approval_settings, AutoApprovalSettings
|
|
66
|
+
|
|
67
|
+
# @return [Boolean] YOLO mode toggled flag
|
|
68
|
+
attribute :yolo_mode_toggled, :boolean
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
module Cline
|
|
2
|
+
class GlobalState
|
|
3
|
+
# Browser integration and viewport settings
|
|
4
|
+
module Browser
|
|
5
|
+
# Browser configuration settings
|
|
6
|
+
class BrowserSettings < Schema
|
|
7
|
+
# @!group Public API
|
|
8
|
+
|
|
9
|
+
# Browser viewport settings
|
|
10
|
+
class BrowserViewport < Schema
|
|
11
|
+
# @!group Public API
|
|
12
|
+
|
|
13
|
+
# @return [Integer] Viewport width
|
|
14
|
+
attribute :width, :integer
|
|
15
|
+
|
|
16
|
+
# @return [Integer] Viewport height
|
|
17
|
+
attribute :height, :integer
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# @return [BrowserViewport] Browser viewport dimensions
|
|
21
|
+
attribute :viewport, BrowserViewport
|
|
22
|
+
|
|
23
|
+
# @return [Boolean] Remote browser enabled flag
|
|
24
|
+
attribute :remote_browser_enabled, :boolean
|
|
25
|
+
|
|
26
|
+
# @return [String] Remote browser host address
|
|
27
|
+
attribute :remote_browser_host, :string
|
|
28
|
+
|
|
29
|
+
# @return [String] Chrome executable path
|
|
30
|
+
attribute :chrome_executable_path, :string
|
|
31
|
+
|
|
32
|
+
# @return [Boolean] Disable browser tool use
|
|
33
|
+
attribute :disable_tool_use, :boolean
|
|
34
|
+
|
|
35
|
+
# @return [String] Custom browser arguments
|
|
36
|
+
attribute :custom_args, :string
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# Define all the attributes of the included class
|
|
40
|
+
#
|
|
41
|
+
# @param base [Class] Base class including this mixin
|
|
42
|
+
def self.included(base)
|
|
43
|
+
base.class_eval do
|
|
44
|
+
# @!group Public API
|
|
45
|
+
|
|
46
|
+
# @return [BrowserSettings] Browser configuration settings
|
|
47
|
+
attribute :browser_settings, BrowserSettings
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
module Cline
|
|
2
|
+
class GlobalState
|
|
3
|
+
# Feature flags and experimental features
|
|
4
|
+
module Features
|
|
5
|
+
# Focus chain feature settings
|
|
6
|
+
class FocusChainSettings < Schema
|
|
7
|
+
# @!group Public API
|
|
8
|
+
|
|
9
|
+
# @return [Boolean] Focus chain enabled flag
|
|
10
|
+
attribute :enabled, :boolean
|
|
11
|
+
|
|
12
|
+
# @return [Integer] Reminder interval in messages
|
|
13
|
+
attribute :remind_cline_interval, :integer
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Define all the attributes of the included class
|
|
17
|
+
#
|
|
18
|
+
# @param base [Class] Base class including this mixin
|
|
19
|
+
def self.included(base)
|
|
20
|
+
base.class_eval do
|
|
21
|
+
# @!group Public API
|
|
22
|
+
|
|
23
|
+
# @return [FocusChainSettings] Focus chain feature settings
|
|
24
|
+
attribute :focus_chain_settings, FocusChainSettings
|
|
25
|
+
|
|
26
|
+
# @return [Boolean] Flag enabling Cline web tools
|
|
27
|
+
attribute :cline_web_tools_enabled, :boolean
|
|
28
|
+
|
|
29
|
+
# @return [Boolean] Flag enabling double check before completion
|
|
30
|
+
attribute :double_check_completion_enabled, :boolean
|
|
31
|
+
|
|
32
|
+
# @return [Boolean] Flag enabling parallel tool execution
|
|
33
|
+
attribute :enable_parallel_tool_calling, :boolean
|
|
34
|
+
|
|
35
|
+
# @return [Boolean] Flag enabling strict Plan mode enforcement
|
|
36
|
+
attribute :strict_plan_mode_enabled, :boolean
|
|
37
|
+
|
|
38
|
+
# @return [Boolean] Flag enabling subagents feature
|
|
39
|
+
attribute :subagents_enabled, :boolean
|
|
40
|
+
|
|
41
|
+
# @return [Boolean] Flag enabling auto content condensation
|
|
42
|
+
attribute :use_auto_condense, :boolean
|
|
43
|
+
|
|
44
|
+
# @return [Boolean] Flag enabling native tool calling
|
|
45
|
+
attribute :native_tool_call_enabled, :boolean
|
|
46
|
+
|
|
47
|
+
# @return [Boolean] Checkpoints feature enabled flag
|
|
48
|
+
attribute :enable_checkpoints_setting, :boolean
|
|
49
|
+
|
|
50
|
+
# @return [Boolean] Background edit enabled flag
|
|
51
|
+
attribute :background_edit_enabled, :boolean
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
module Cline
|
|
2
|
+
class GlobalState
|
|
3
|
+
# General UI, telemetry and user preferences
|
|
4
|
+
module General
|
|
5
|
+
# Dismissed banner entry
|
|
6
|
+
class DismissedBanner < Schema
|
|
7
|
+
# @!group Public API
|
|
8
|
+
|
|
9
|
+
# @return [String] Banner identifier
|
|
10
|
+
attribute :banner_id, :string
|
|
11
|
+
|
|
12
|
+
# @return [Integer] Timestamp when banner was dismissed
|
|
13
|
+
attribute :dismissed_at, :integer
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Define all the attributes of the included class
|
|
17
|
+
#
|
|
18
|
+
# @param base [Class] Base class including this mixin
|
|
19
|
+
def self.included(base)
|
|
20
|
+
base.class_eval do
|
|
21
|
+
# @!group Public API
|
|
22
|
+
|
|
23
|
+
# @return [Boolean] Flag indicating welcome view has been completed
|
|
24
|
+
attribute :welcome_view_completed, :boolean
|
|
25
|
+
|
|
26
|
+
# @return [String] Custom system prompt text
|
|
27
|
+
attribute :custom_prompt, :string
|
|
28
|
+
|
|
29
|
+
# @return [String] Default terminal profile identifier
|
|
30
|
+
attribute :default_terminal_profile, :string
|
|
31
|
+
|
|
32
|
+
# @return [String] Telemetry collection preference
|
|
33
|
+
attribute :telemetry_setting, :string
|
|
34
|
+
|
|
35
|
+
# @return [String] OCA mode setting
|
|
36
|
+
attribute :oca_mode, :string
|
|
37
|
+
|
|
38
|
+
# @return [String] Current Cline version
|
|
39
|
+
attribute :cline_version, :string
|
|
40
|
+
|
|
41
|
+
# @return [String] Last shown announcement identifier
|
|
42
|
+
attribute :last_shown_announcement_id, :string
|
|
43
|
+
|
|
44
|
+
# @return [String] VS Code terminal execution mode
|
|
45
|
+
attribute :vscode_terminal_execution_mode, :string
|
|
46
|
+
|
|
47
|
+
# @return [Boolean] New user flag
|
|
48
|
+
attribute :is_new_user, :boolean
|
|
49
|
+
|
|
50
|
+
# @return [String] MCP display mode
|
|
51
|
+
attribute :mcp_display_mode, :string
|
|
52
|
+
|
|
53
|
+
# @return [Integer] Last dismissed info banner version
|
|
54
|
+
attribute :last_dismissed_info_banner_version, :integer
|
|
55
|
+
|
|
56
|
+
# @return [Integer] Last dismissed model banner version
|
|
57
|
+
attribute :last_dismissed_model_banner_version, :integer
|
|
58
|
+
|
|
59
|
+
# @return [Integer] Last dismissed CLI banner version
|
|
60
|
+
attribute :last_dismissed_cli_banner_version, :integer
|
|
61
|
+
|
|
62
|
+
# @return [Array<DismissedBanner>] List of dismissed banners
|
|
63
|
+
attribute :dismissed_banners, Utils::Schema.collection(DismissedBanner)
|
|
64
|
+
|
|
65
|
+
# @return [Integer] Terminal output line limit
|
|
66
|
+
attribute :terminal_output_line_limit, :integer
|
|
67
|
+
|
|
68
|
+
# @return [Boolean] Opt out of remote configuration flag
|
|
69
|
+
attribute :opt_out_of_remote_config, :boolean
|
|
70
|
+
|
|
71
|
+
# @return [Integer] VS Code migration version
|
|
72
|
+
attribute :__vscode_migration_version, :integer
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
module Cline
|
|
2
|
+
class GlobalState
|
|
3
|
+
# Model and AI configuration settings
|
|
4
|
+
module Models
|
|
5
|
+
# OpenRouter model information
|
|
6
|
+
class OpenRouterModelInfo < Schema
|
|
7
|
+
# @!group Public API
|
|
8
|
+
|
|
9
|
+
# Thinking configuration for models
|
|
10
|
+
class ThinkingConfig < Schema
|
|
11
|
+
# @!group Public API
|
|
12
|
+
|
|
13
|
+
# @return [Integer] Maximum thinking budget tokens
|
|
14
|
+
attribute :max_budget, :integer
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# @return [String] Model name
|
|
18
|
+
attribute :name, :string
|
|
19
|
+
|
|
20
|
+
# @return [Integer] Maximum tokens allowed per request
|
|
21
|
+
attribute :max_tokens, :integer
|
|
22
|
+
|
|
23
|
+
# @return [Integer] Context window size
|
|
24
|
+
attribute :context_window, :integer
|
|
25
|
+
|
|
26
|
+
# @return [Boolean] Flag indicating image support
|
|
27
|
+
attribute :supports_images, :boolean
|
|
28
|
+
|
|
29
|
+
# @return [Boolean] Flag indicating prompt cache support
|
|
30
|
+
attribute :supports_prompt_cache, :boolean
|
|
31
|
+
|
|
32
|
+
# @return [Float] Input token price
|
|
33
|
+
attribute :input_price, :float
|
|
34
|
+
|
|
35
|
+
# @return [Float] Output token price
|
|
36
|
+
attribute :output_price, :float
|
|
37
|
+
|
|
38
|
+
# @return [Float] Cache reads price
|
|
39
|
+
attribute :cache_reads_price, :float
|
|
40
|
+
|
|
41
|
+
# @return [String] Model description
|
|
42
|
+
attribute :description, :string
|
|
43
|
+
|
|
44
|
+
# @return [ThinkingConfig] Thinking configuration
|
|
45
|
+
attribute :thinking_config, ThinkingConfig
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# Define all the attributes of the included class
|
|
49
|
+
#
|
|
50
|
+
# @param base [Class] Base class including this mixin
|
|
51
|
+
def self.included(base)
|
|
52
|
+
base.class_eval do
|
|
53
|
+
# @!group Public API
|
|
54
|
+
|
|
55
|
+
# @return [OpenRouterModelInfo] OpenRouter model information for Act mode
|
|
56
|
+
attribute :act_mode_open_router_model_info, OpenRouterModelInfo
|
|
57
|
+
|
|
58
|
+
# @return [OpenRouterModelInfo] OpenRouter model information for Plan mode
|
|
59
|
+
attribute :plan_mode_open_router_model_info, OpenRouterModelInfo
|
|
60
|
+
|
|
61
|
+
# @return [OpenRouterModelInfo] Cline model information for Act mode
|
|
62
|
+
attribute :act_mode_cline_model_info, OpenRouterModelInfo
|
|
63
|
+
|
|
64
|
+
# @return [OpenRouterModelInfo] Cline model information for Plan mode
|
|
65
|
+
attribute :plan_mode_cline_model_info, OpenRouterModelInfo
|
|
66
|
+
|
|
67
|
+
# @return [String] API provider used for Act mode
|
|
68
|
+
attribute :act_mode_api_provider, :string
|
|
69
|
+
|
|
70
|
+
# @return [String] API provider used for Plan mode
|
|
71
|
+
attribute :plan_mode_api_provider, :string
|
|
72
|
+
|
|
73
|
+
# @return [String] Cline model identifier for Act mode
|
|
74
|
+
attribute :act_mode_cline_model_id, :string
|
|
75
|
+
|
|
76
|
+
# @return [String] Cline model identifier for Plan mode
|
|
77
|
+
attribute :plan_mode_cline_model_id, :string
|
|
78
|
+
|
|
79
|
+
# @return [String] Reasoning effort level for Act mode
|
|
80
|
+
attribute :act_mode_reasoning_effort, :string
|
|
81
|
+
|
|
82
|
+
# @return [String] Reasoning effort level for Plan mode
|
|
83
|
+
attribute :plan_mode_reasoning_effort, :string
|
|
84
|
+
|
|
85
|
+
# @return [Integer] Thinking budget token limit for Plan mode
|
|
86
|
+
attribute :plan_mode_thinking_budget_tokens, :integer
|
|
87
|
+
|
|
88
|
+
# @return [Integer] Thinking budget token limit for Act mode
|
|
89
|
+
attribute :act_mode_thinking_budget_tokens, :integer
|
|
90
|
+
|
|
91
|
+
# @return [String] OpenRouter model identifier for Act mode
|
|
92
|
+
attribute :act_mode_open_router_model_id, :string
|
|
93
|
+
|
|
94
|
+
# @return [String] OpenRouter model identifier for Plan mode
|
|
95
|
+
attribute :plan_mode_open_router_model_id, :string
|
|
96
|
+
|
|
97
|
+
# @return [String] API model identifier for Plan mode
|
|
98
|
+
attribute :plan_mode_api_model_id, :string
|
|
99
|
+
|
|
100
|
+
# @return [String] API model identifier for Act mode
|
|
101
|
+
attribute :act_mode_api_model_id, :string
|
|
102
|
+
|
|
103
|
+
# @return [String] Ollama model identifier for Plan mode
|
|
104
|
+
attribute :plan_mode_ollama_model_id, :string
|
|
105
|
+
|
|
106
|
+
# @return [String] LM Studio model identifier for Plan mode
|
|
107
|
+
attribute :plan_mode_lm_studio_model_id, :string
|
|
108
|
+
|
|
109
|
+
# @return [String] Fireworks model identifier for Plan mode
|
|
110
|
+
attribute :plan_mode_fireworks_model_id, :string
|
|
111
|
+
|
|
112
|
+
# @return [String] Ollama model identifier for Act mode
|
|
113
|
+
attribute :act_mode_ollama_model_id, :string
|
|
114
|
+
|
|
115
|
+
# @return [String] LM Studio model identifier for Act mode
|
|
116
|
+
attribute :act_mode_lm_studio_model_id, :string
|
|
117
|
+
|
|
118
|
+
# @return [String] Fireworks model identifier for Act mode
|
|
119
|
+
attribute :act_mode_fireworks_model_id, :string
|
|
120
|
+
|
|
121
|
+
# @return [Boolean] Plan/Act separate models setting
|
|
122
|
+
attribute :plan_act_separate_models_setting, :boolean
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module Cline
|
|
2
|
+
class GlobalState
|
|
3
|
+
# Toggles configuration of rules, workflows and skills
|
|
4
|
+
module Toggles
|
|
5
|
+
# Define all the attributes of the included class
|
|
6
|
+
#
|
|
7
|
+
# @param base [Class] Base class including this mixin
|
|
8
|
+
def self.included(base)
|
|
9
|
+
base.class_eval do
|
|
10
|
+
# @!group Public API
|
|
11
|
+
|
|
12
|
+
# @return [Hash] Remote rules toggle states
|
|
13
|
+
attribute :remote_rules_toggles, Utils::Schema.map(:boolean)
|
|
14
|
+
|
|
15
|
+
# @return [Hash] Remote workflow toggle states
|
|
16
|
+
attribute :remote_workflow_toggles, Utils::Schema.map(:boolean)
|
|
17
|
+
|
|
18
|
+
# @return [Hash] Global workflow toggle states
|
|
19
|
+
attribute :global_workflow_toggles, Utils::Schema.map(:boolean)
|
|
20
|
+
|
|
21
|
+
# @return [Hash] Global Cline rules toggle states
|
|
22
|
+
attribute :global_cline_rules_toggles, Utils::Schema.map(:boolean)
|
|
23
|
+
|
|
24
|
+
# @return [Hash] Remote skills toggle states
|
|
25
|
+
attribute :remote_skills_toggles, Utils::Schema.map(:boolean)
|
|
26
|
+
|
|
27
|
+
# @return [Hash] Global skills toggle states
|
|
28
|
+
attribute :global_skills_toggles, Utils::Schema.map(:boolean)
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
module Cline
|
|
2
|
+
class GlobalState
|
|
3
|
+
# Workspace directories and multi-root configuration
|
|
4
|
+
module Workspace
|
|
5
|
+
# Workspace root directory entry
|
|
6
|
+
class WorkspaceRoot < Schema
|
|
7
|
+
# @!group Public API
|
|
8
|
+
|
|
9
|
+
# @return [String] Directory path
|
|
10
|
+
attribute :path, :string
|
|
11
|
+
|
|
12
|
+
# @return [String] Display name
|
|
13
|
+
attribute :name, :string
|
|
14
|
+
|
|
15
|
+
# @return [String] Version control system type
|
|
16
|
+
attribute :vcs, :string
|
|
17
|
+
|
|
18
|
+
# @return [String] Current commit hash
|
|
19
|
+
attribute :commit_hash, :string
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
# Define all the attributes of the included class
|
|
23
|
+
#
|
|
24
|
+
# @param base [Class] Base class including this mixin
|
|
25
|
+
def self.included(base)
|
|
26
|
+
base.class_eval do
|
|
27
|
+
# @!group Public API
|
|
28
|
+
|
|
29
|
+
# @return [Array<WorkspaceRoot>] List of workspace root directories
|
|
30
|
+
attribute :workspace_roots, Utils::Schema.collection(WorkspaceRoot)
|
|
31
|
+
|
|
32
|
+
# @return [Integer] Index of currently active primary workspace root
|
|
33
|
+
attribute :primary_root_index, :integer
|
|
34
|
+
|
|
35
|
+
# @return [Boolean] Flag enabling multi root workspace support
|
|
36
|
+
attribute :multi_root_enabled, :boolean
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
module Cline
|
|
2
|
+
# Global Cline state
|
|
3
|
+
class GlobalState < Schema
|
|
4
|
+
# @!group Public API
|
|
5
|
+
|
|
6
|
+
Serializable::ClineData.include_for(self, 'globalState.json')
|
|
7
|
+
include Models
|
|
8
|
+
include AutoApproval
|
|
9
|
+
include Browser
|
|
10
|
+
include Workspace
|
|
11
|
+
include Features
|
|
12
|
+
include ApiProviders
|
|
13
|
+
include General
|
|
14
|
+
include Toggles
|
|
15
|
+
end
|
|
16
|
+
end
|