Files
hapi/docs/public/schemas/settings.schema.json
T
SSU-WEI HUANGandGitHub c87720ab4d fix(cli): load extra headers from settings (#1041)
* test: reproduce issue #786

* fix: load extra headers from settings (closes #786)

* test: cover extra header precedence and redaction

* fix: redact persisted extra headers in diagnostics

* test: cover runner extra header identity

* fix: restart runner when extra headers change
2026-07-16 12:27:50 +08:00

86 lines
2.5 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://hapi.run/schemas/settings.schema.json",
"title": "HAPI Settings",
"description": "Configuration file for HAPI (~/.hapi/settings.json)",
"type": "object",
"properties": {
"cliApiToken": {
"type": "string",
"description": "Shared secret for CLI authentication. Auto-generated if not set. ENV: CLI_API_TOKEN"
},
"apiUrl": {
"type": "string",
"format": "uri",
"default": "http://localhost:3006",
"description": "Hub URL for CLI connections. ENV: HAPI_API_URL"
},
"extraHeaders": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Extra headers for CLI to hub HTTP and WebSocket requests. ENV: HAPI_EXTRA_HEADERS_JSON"
},
"listenHost": {
"type": "string",
"default": "127.0.0.1",
"description": "Hub HTTP bind address. ENV: HAPI_LISTEN_HOST"
},
"listenPort": {
"type": "integer",
"default": 3006,
"minimum": 1,
"maximum": 65535,
"description": "Hub HTTP port. ENV: HAPI_LISTEN_PORT"
},
"publicUrl": {
"type": "string",
"format": "uri",
"description": "Public URL for external access (e.g., Telegram Mini App). ENV: HAPI_PUBLIC_URL"
},
"corsOrigins": {
"type": "array",
"items": {
"type": "string"
},
"description": "Allowed CORS origins. ENV: CORS_ORIGINS (comma-separated)"
},
"telegramBotToken": {
"type": "string",
"description": "Telegram Bot API token from @BotFather. ENV: TELEGRAM_BOT_TOKEN"
},
"telegramNotification": {
"type": "boolean",
"default": true,
"description": "Enable Telegram notifications. ENV: TELEGRAM_NOTIFICATION"
},
"vapidKeys": {
"type": "object",
"description": "Auto-generated Web Push VAPID keys. Do not edit manually.",
"properties": {
"publicKey": {
"type": "string"
},
"privateKey": {
"type": "string"
}
},
"required": ["publicKey", "privateKey"]
},
"machineId": {
"type": "string",
"description": "Auto-generated unique machine identifier. Do not edit manually."
},
"machineIdConfirmedByServer": {
"type": "boolean",
"description": "Internal flag. Do not edit manually."
},
"runnerAutoStartWhenRunningHappy": {
"type": "boolean",
"description": "Auto-start runner when running hapi command."
}
},
"additionalProperties": false
}