- server/policy_overrides.mjs: persistent group/action override store - Group toggle: disabling a group forces all its actions to auto-deny without touching individual overrides; re-enabling restores them intact - Action overrides: cycle auto-accept/queue/auto-deny/clear per action - Effective policy resolution in index.mjs: group > action override > hardcoded default - auth.mjs: add check_can_manage_policies (requires canApprove.length > 0) - Three new endpoints: GET /policies, POST /policies/group/:group, POST /policies/action/:action - client/conduit.mjs: get_policies, set_group_policy, set_action_policy - ccc-queue.mjs: policy view (Tab to switch); group/action panel with space/e/←/→ - actions.mjs: group fields on desktop/email/calendar actions; list-actions includes group - config.example.json: add policy_overrides key - Bump version to 1.3.0 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
19 lines
432 B
JSON
19 lines
432 B
JSON
{
|
|
"secrets": "../secrets.json",
|
|
"mail_perms": "mail-perms.json",
|
|
"smtp": {
|
|
"host": "smtp.example.com",
|
|
"port": 587,
|
|
"secure": false,
|
|
"auth": { "user": "relay@example.com", "pass": "<password>" },
|
|
"from": "agent@example.com"
|
|
},
|
|
"google_calendar": {
|
|
"credentials": "../google-credentials.json",
|
|
"token": "../google-token.json"
|
|
},
|
|
"policy_overrides": "policy-overrides.json",
|
|
"bind": "127.0.0.1",
|
|
"port": 3015
|
|
}
|