fix(grid-agent): move setup into YAML preferences (#135)
Some checks failed
CI / rust-skia (Rust only) (push) Successful in 2m46s
CI / required (push) Failing after 54s

This commit is contained in:
2026-08-18 21:34:14 +02:00
parent b56b28043f
commit db25a977b7
27 changed files with 1242 additions and 482 deletions

View File

@@ -1,75 +0,0 @@
{
"schema_version": 1,
"integrated": false,
"split": false,
"llm": {
"endpoint_url": "https://llm.example.invalid/v1/chat/completions",
"api_key": "<set-via-environment-or-restricted-secret-file>"
},
"authorized_avatar_uuids": [],
"timeouts": {
"startup_seconds": 30,
"shutdown_seconds": 10,
"request_seconds": 60
},
"limits": {
"grid_event_queue": 256,
"control_queue": 32,
"observable_queue": 512,
"max_body_bytes": 1048576,
"max_message_bytes": 16384,
"max_conversation_messages": 64,
"max_tool_calls": 16,
"max_authorized_avatars": 128,
"max_background_tasks": 2
},
"storage_path": "data/grid-agent",
"behavior": {
"heartbeat_seconds": 30,
"settle_milliseconds": 2000,
"response_delay_min_milliseconds": 350,
"response_delay_max_milliseconds": 1200,
"attention_dwell_milliseconds": 4000,
"idle_interval_seconds": 120,
"action_timeout_seconds": 15,
"max_walk_duration_seconds": 10,
"stuck_timeout_seconds": 3,
"min_action_interval_milliseconds": 750,
"max_walk_distance_meters": 8,
"max_attention_distance_meters": 96,
"idle_look_enabled": true
},
"reconnect": {
"initial_delay_milliseconds": 1000,
"maximum_delay_seconds": 60,
"stable_reset_seconds": 120,
"jitter_basis_points": 2000,
"offline_work_capacity": 128
},
"conversation": {
"persistence_enabled": false,
"max_active_sessions": 512,
"max_turns_per_session": 64,
"max_session_bytes": 262144,
"max_total_bytes": 8388608,
"max_tool_results_per_session": 16,
"max_tool_result_bytes": 16384,
"max_persisted_bytes": 16777216,
"max_summary_bytes": 8192
},
"interaction": {
"aliases": ["metacrate"],
"debounce_milliseconds": 250,
"model_timeout_seconds": 30,
"public_rate_milliseconds": 750,
"im_rate_milliseconds": 250,
"public_followup_seconds": 120,
"max_response_bytes": 2048,
"grid_chunk_bytes": 1023,
"max_active_senders": 512,
"max_queued_per_sender": 16,
"max_concurrent_inference": 4,
"max_duplicate_ids": 4096,
"max_debounce_fragments": 8
}
}

View File

@@ -0,0 +1,52 @@
schema_version: 1
integrated: false
split: false
llm:
endpoint_url: https://llm.example.invalid/v1/chat/completions
api_key: <replace-in-private-config>
model: <endpoint-model-name>
authorized_avatar_uuids: []
storage_path: data/grid-agent
timeouts:
startup_seconds: 30
shutdown_seconds: 10
request_seconds: 60
limits:
grid_event_queue: 256
control_queue: 32
observable_queue: 512
max_body_bytes: 1048576
max_message_bytes: 16384
max_conversation_messages: 64
max_tool_calls: 16
max_authorized_avatars: 128
max_background_tasks: 2
behavior:
heartbeat_seconds: 30
settle_milliseconds: 2000
response_delay_min_milliseconds: 350
response_delay_max_milliseconds: 1200
attention_dwell_milliseconds: 4000
idle_interval_seconds: 120
action_timeout_seconds: 15
max_walk_duration_seconds: 10
stuck_timeout_seconds: 3
min_action_interval_milliseconds: 750
max_walk_distance_meters: 8
max_attention_distance_meters: 96
idle_look_enabled: true
reconnect:
initial_delay_milliseconds: 1000
maximum_delay_seconds: 60
stable_reset_seconds: 120
jitter_basis_points: 2000
offline_work_capacity: 128
conversation:
persistence_enabled: false
interaction:
aliases: [metacrate]
debounce_milliseconds: 250
model_timeout_seconds: 30
public_rate_milliseconds: 750
im_rate_milliseconds: 250
public_followup_seconds: 120

View File

@@ -1,20 +0,0 @@
{
"schema_version": 1,
"integrated": true,
"split": false,
"llm": {
"endpoint_url": "https://llm.example.invalid/v1/chat/completions"
},
"grid": {
"login_url": "https://grid.example.invalid/login",
"avatar_name": "Service Avatar"
},
"secret_files": {
"llm_api_key": "secrets/llm-api-key",
"grid_password": "secrets/grid-password"
},
"authorized_avatar_uuids": [
"00000000-0000-4000-8000-000000000001"
],
"storage_path": "data/grid-agent"
}

View File

@@ -0,0 +1,15 @@
schema_version: 1
integrated: true
split: false
llm:
endpoint_url: https://llm.example.invalid/v1/chat/completions
api_key: <replace-in-private-config>
model: <endpoint-model-name>
grid:
login_url: https://grid.example.invalid/login
avatar_name: Service Avatar
password: <replace-in-private-config>
# These UUIDs are the only users allowed to request privileged mutations.
authorized_avatar_uuids:
- 00000000-0000-4000-8000-000000000001
storage_path: data/grid-agent

View File

@@ -1,25 +0,0 @@
{
"schema_version": 1,
"integrated": false,
"split": true,
"llm": {
"endpoint_url": "https://llm.example.invalid/v1/chat/completions"
},
"grid": {
"login_url": "https://grid.example.invalid/login",
"avatar_name": "Service Avatar"
},
"secret_files": {
"llm_api_key": "secrets/llm-api-key",
"grid_password": "secrets/grid-password",
"control_operator_token": "secrets/control-operator-token",
"control_observer_token": "secrets/control-observer-token"
},
"authorized_avatar_uuids": [
"00000000-0000-4000-8000-000000000001"
],
"storage_path": "data/grid-agent",
"control": {
"listen": "127.0.0.1:9764"
}
}

View File

@@ -0,0 +1,18 @@
schema_version: 1
integrated: false
split: true
llm:
endpoint_url: https://llm.example.invalid/v1/chat/completions
api_key: <replace-in-private-config>
model: <endpoint-model-name>
grid:
login_url: https://grid.example.invalid/login
avatar_name: Service Avatar
password: <replace-in-private-config>
authorized_avatar_uuids:
- 00000000-0000-4000-8000-000000000001
storage_path: data/grid-agent
control:
listen: 127.0.0.1:9764
operator_token: <replace-in-private-config>
observer_token: <replace-in-private-config-with-distinct-value>