forked from AI45Lab/Code
-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathagent.example.acl
More file actions
132 lines (106 loc) · 3.09 KB
/
Copy pathagent.example.acl
File metadata and controls
132 lines (106 loc) · 3.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# A3S Code Configuration Example
# This file demonstrates all available configuration options
# Default model in "provider/model" format
default_model = "anthropic/claude-sonnet-4-20250514"
# LLM Provider Configuration
providers "anthropic" {
api_key = env("ANTHROPIC_API_KEY")
models "claude-sonnet-4-20250514" {
name = "Claude Sonnet 4"
}
}
providers "openai" {
api_key = env("OPENAI_API_KEY")
models "gpt-4o" {
name = "GPT-4o"
}
}
# Agent-wide task admission. Every session, host-direct tool call, detached
# background child, and host-started workflow shares this capacity boundary.
# Lower task priorities run first; aging eventually promotes old background
# and maintenance work to prevent starvation.
task_scheduler {
max_active = 4
aging_interval_ms = 30000
}
# Optional per-session tool-lane configuration (a3s-lane v0.5 integration).
# This is distinct from the agent-wide task scheduler above.
queue {
# Max concurrency per lane
control_max_concurrency = 2
query_max_concurrency = 10
execute_max_concurrency = 5
generate_max_concurrency = 1
# Basic features
enable_metrics = true
enable_dlq = true
enable_alerts = true
# Optional: persistent storage path
# storage_path = "./queue_data"
# Optional: default timeout in milliseconds
# default_timeout_ms = 60000
# Advanced: Retry policy
retry_policy {
strategy = "exponential" # "exponential", "fixed", or "none"
max_retries = 3
initial_delay_ms = 100
# fixed_delay_ms = 1000 # for "fixed" strategy
}
# Advanced: Rate limiting (requires 'distributed' feature)
rate_limit {
limit_type = "per_second" # "per_second", "per_minute", "per_hour", or "unlimited"
max_operations = 100
}
# Advanced: Priority boost (requires 'distributed' feature)
priority_boost {
strategy = "standard" # "standard", "aggressive", or "disabled"
deadline_ms = 300000 # 5 minutes
}
# Advanced: Pressure threshold for emitting pressure/idle events
# pressure_threshold = 50
# Advanced: Per-lane timeout overrides (milliseconds)
# lane_timeouts {
# query = 30000
# execute = 120000
# }
}
# Search Configuration (a3s-search integration)
search {
# Default timeout in seconds
timeout = 30
# Health monitor configuration
health {
max_failures = 3
suspend_seconds = 60
}
# Engine configurations. Omit this block to use the built-in ddg + wiki
# default; any entries here explicitly replace that default selection.
# AnySearch is opt-in: add `anysearch { enabled = true weight = 1.0 }` here.
engine {
google {
enabled = true
weight = 1.5
}
bing {
enabled = true
weight = 1.0
timeout = 20
}
ddg {
enabled = true
weight = 1.2
}
}
}
# Storage backend: "memory", "file", or "custom"
storage_backend = "file"
# Sessions directory (for file backend)
# sessions_dir = "./sessions"
# Skill directories
# skill_dirs = ["./skills"]
# Agent directories
# agent_dirs = ["./agents"]
# Maximum tool execution rounds per turn
# max_tool_rounds = 50
# Thinking/reasoning budget in tokens
# thinking_budget = 10000