Class: AgentCliRuntime::OpenCodePermissionPolicy

Inherits:
Data
  • Object
show all
Defined in:
lib/agent_cli_runtime/values.rb

Constant Summary collapse

ACTIONS =
%w[allow ask deny].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(rules = nil, **keywords) ⇒ OpenCodePermissionPolicy

Returns a new instance of OpenCodePermissionPolicy.

Raises:

  • (ArgumentError)


240
241
242
243
244
245
246
247
# File 'lib/agent_cli_runtime/values.rb', line 240

def initialize(rules = nil, **keywords)
  value = rules || keywords[:rules] || keywords
  normalized = Immutable.hash(value || {})
  raise ArgumentError, "OpenCode permission policy cannot be empty" if normalized.empty?

  validate_actions!(normalized)
  super(rules: normalized)
end

Instance Attribute Details

#rulesObject (readonly)

Returns the value of attribute rules

Returns:

  • (Object)

    the current value of rules



237
238
239
# File 'lib/agent_cli_runtime/values.rb', line 237

def rules
  @rules
end