Adding a feed from a site page now only asks for the URL, purpose (discover / track / promotion) and an optional note. POST /feed-sources with siteId infers the site account (passkey holder first), records the site definition version as parserVersion, defaults the name to "<site> RSS" and polling to 30 minutes, and returns non-blocking warnings when the URL host does not match the site. The dialog shows the redacted URL, fetches once right after saving and reports the item count or the error. The generic feed form on the sources page suggests linking a registered site when the URL host matches (can be undone). name is now optional. Takes effect after the stack is rebuilt. Co-Authored-By: Claude Opus 5.5 <[email protected]>
@umt/contracts
所有 API、SSE 事件与能力(capability)输入输出的唯一定义(zod 4 schema + 推导出的 TS 类型)。web 与 server 共用,任何一端都不得手写重复 DTO;新增接口先在这里加 schema,再由 server 用 @hono/zod-openapi 生成 OpenAPI。
| 文件 | 内容 |
|---|---|
common.ts |
Id、Timestamp、DateOnly、JsonObject、游标分页、错误码、响应信封、ApiScope、ActorType |
content.ts / identity.ts / assets.ts / sources.ts / policy.ts / execution.ts / agent.ts / ops.ts / organization.ts / instances.ts |
每张表的 Row schema(camelCase、日期为 ISO 字符串)+ XxxCreate / XxxUpdate 输入 |
organization.ts |
另含公开整理记录合同:PublicOrganizationRecord、OrganizationChangesQuery/Response(change_seq 游标)、OrganizeRequest |
settings.ts |
GlobalSettings、DEFAULT_SETTINGS、GlobalSettingsUpdate、mergeSettings() |
capability.ts / capabilities-io.ts |
CapabilityDescriptor、首批 14 个能力 ID 与目录、各能力 Input/Output schema、CAPABILITY_IO |
events.ts |
SSE 信封、EventType、EVENT_PAYLOADS、TypedEvent 判别联合 |
files.ts |
文件管理(/files/*)的请求/响应:根与条目、dryRun 计划(planId)、move/copy/organize/delete、回收站 TrashItem、identify/probe/scrape、download |
auth.ts |
登录、会话探测 SessionInfo、改密、TOTP(TotpStatus/TotpAction)、审计动作枚举 |
browser.ts |
BrowserProvider 合同:会话/标签/快照、快照脱敏类别 SnapshotRedactionKind |
redact.ts |
凭证脱敏的唯一键表与规则:SENSITIVE_KEY_PARTS、SENSITIVE_QUERY_PARAMS、isSensitiveKey、isSensitiveQueryParam、redactString、redactUrl(server logger、Agent 模型上下文、adapters 的 rss/browser 共用) |
api.ts |
Api 端点表(method/path/scope/auth/params/query/body/response;auth:"session" 表示只接受管理员控制台会话)、buildPath()、listEndpoints() |
约定:
- Row schema 与
packages/db/src/types.ts的列一一对应(test/db-sync.test.ts校验);只在 DB 存在的列(密文、key_hash、change_xid)不对外。 - 凭证类输入(
credential、url、plaintext、apiKey)只写不回显。 - schema 不用
.default()做可部分更新对象的缺省(zod 4 在 partial 里仍会填默认值);缺省值放常量。