Module: Aidp::AutoUpdate

Defined in:
lib/aidp/auto_update.rb,
lib/aidp/auto_update/errors.rb,
lib/aidp/auto_update/checkpoint.rb,
lib/aidp/auto_update/coordinator.rb,
lib/aidp/auto_update/update_check.rb,
lib/aidp/auto_update/update_logger.rb,
lib/aidp/auto_update/update_policy.rb,
lib/aidp/auto_update/bundler_adapter.rb,
lib/aidp/auto_update/failure_tracker.rb,
lib/aidp/auto_update/checkpoint_store.rb,
lib/aidp/auto_update/version_detector.rb,
lib/aidp/auto_update/rubygems_api_adapter.rb

Overview

Auto-update functionality for Aidp in devcontainers

Defined Under Namespace

Classes: BundlerAdapter, Checkpoint, CheckpointError, CheckpointStore, Coordinator, FailureTracker, RubyGemsAPIAdapter, UpdateCheck, UpdateError, UpdateLogger, UpdateLoopError, UpdatePolicy, VersionDetector, VersionPolicyError

Constant Summary collapse

UPDATE_EXIT_CODE =

Exit code used to signal supervisor to perform update

75

Class Method Summary collapse

Class Method Details

.coordinator(project_dir: Dir.pwd) ⇒ Coordinator

Create coordinator from project configuration

Parameters:

  • project_dir (String) (defaults to: Dir.pwd)

    Project root directory

Returns:



24
25
26
27
28
29
# File 'lib/aidp/auto_update.rb', line 24

def self.coordinator(project_dir: Dir.pwd)
  config = Aidp::Config.load_harness_config(project_dir)
  auto_update_config = config[:auto_update] || config["auto_update"] || {}

  Coordinator.from_config(auto_update_config, project_dir: project_dir)
end

.enabled?(project_dir: Dir.pwd) ⇒ Boolean

Check if auto-update is enabled in configuration

Parameters:

  • project_dir (String) (defaults to: Dir.pwd)

    Project root directory

Returns:

  • (Boolean)


34
35
36
37
38
39
40
# File 'lib/aidp/auto_update.rb', line 34

def self.enabled?(project_dir: Dir.pwd)
  config = Aidp::Config.load_harness_config(project_dir)
  auto_update_config = config[:auto_update] || config["auto_update"] || {}

  policy = UpdatePolicy.from_config(auto_update_config)
  !policy.disabled?
end

.policy(project_dir: Dir.pwd) ⇒ UpdatePolicy

Get auto-update policy from configuration

Parameters:

  • project_dir (String) (defaults to: Dir.pwd)

    Project root directory

Returns:



45
46
47
48
49
50
# File 'lib/aidp/auto_update.rb', line 45

def self.policy(project_dir: Dir.pwd)
  config = Aidp::Config.load_harness_config(project_dir)
  auto_update_config = config[:auto_update] || config["auto_update"] || {}

  UpdatePolicy.from_config(auto_update_config)
end