mirror of
https://github.com/hansjone/oclaw.git
synced 2026-10-11 21:55:49 +08:00
初始化:独立 oclaw 仓库首提交
- 在 oclaw/ 下重新初始化 Git 仓库 - 补齐子仓库 .gitignore,避免提交本地运行态数据(_local、node_modules、logs 等) - 提交当前工程代码与配置 Made-with: Cursor
This commit is contained in:
commit
ba3836f00f
579 changed files with 83112 additions and 0 deletions
35
extensions/webhooks/runtime_api.py
Normal file
35
extensions/webhooks/runtime_api.py
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
from __future__ import annotations
|
||||
|
||||
from typing import Any
|
||||
|
||||
|
||||
WEBHOOK_RATE_LIMIT_DEFAULTS: dict[str, int] = {
|
||||
"window_ms": 60_000,
|
||||
"max_requests": 120,
|
||||
"max_tracked_keys": 20_000,
|
||||
}
|
||||
|
||||
WEBHOOK_IN_FLIGHT_DEFAULTS: dict[str, int] = {
|
||||
"max_in_flight_per_key": 8,
|
||||
"max_tracked_keys": 20_000,
|
||||
}
|
||||
|
||||
|
||||
def normalize_webhook_path(path: str) -> str:
|
||||
p = str(path or "").strip()
|
||||
if not p:
|
||||
raise ValueError("webhook path is required")
|
||||
if not p.startswith("/"):
|
||||
p = "/" + p
|
||||
while "//" in p:
|
||||
p = p.replace("//", "/")
|
||||
return p.rstrip("/") or "/"
|
||||
|
||||
|
||||
def resolve_configured_secret_input_string(*, value: Any) -> str | None:
|
||||
# Python 重写版先支持直传字符串;ref 由上层配置系统扩展。
|
||||
if isinstance(value, str):
|
||||
s = value.strip()
|
||||
return s or None
|
||||
return None
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue