@agentunion/fastaun-browser 0.5.6 → 0.5.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/_packed_docs/CHANGELOG.md +74 -0
  3. package/_packed_docs/INDEX.md +12 -11
  4. package/_packed_docs/KITE_DOCS_GUIDE.md +4 -3
  5. package/_packed_docs/agent.md/SCHEMA.md +83 -58
  6. package/_packed_docs/agent.md/examples/codeagent-claudecode.md +1 -1
  7. package/_packed_docs/agent.md/examples/openclaw-lobster.md +1 -1
  8. package/_packed_docs/agent.md/examples/signed-openclaw-lobster.md +1 -1
  9. package/_packed_docs/audit/AUN/346/234/215/345/212/241Go/345/214/226/351/207/215/346/236/204/347/262/276/347/273/206/345/214/226/346/272/220/347/240/201/345/256/241/346/237/245-20260718.md +3 -3
  10. package/_packed_docs/aun/345/205/254/347/275/221/346/265/213/350/257/225/350/277/220/350/241/214/346/214/207/345/215/227.md +7 -0
  11. package/_packed_docs/aun/345/210/206/345/270/203/345/274/217/346/265/213/350/257/225/350/277/220/350/241/214/346/214/207/345/215/227.md +422 -331
  12. package/_packed_docs/aun/346/265/213/350/257/225/350/277/220/350/241/214/346/214/207/345/215/227.md +598 -398
  13. package/_packed_docs/group-message-rpc-alignment-gaps.md +741 -0
  14. package/_packed_docs/message-online-push-alignment.md +572 -0
  15. package/_packed_docs/protocol/06-/346/234/215/345/212/241/345/215/217/350/256/256.md +1 -1
  16. package/_packed_docs/sdk/02-WebSocket/345/215/217/350/256/256.md +10 -10
  17. package/_packed_docs/sdk/03-/346/240/270/345/277/203/346/246/202/345/277/265.md +2 -2
  18. package/_packed_docs/sdk/04-/350/277/236/346/216/245/344/270/216/350/256/244/350/257/201.md +30 -10
  19. package/_packed_docs/sdk/06-API/346/211/213/345/206/214.md +23 -20
  20. package/_packed_docs/sdk/07-/351/224/231/350/257/257/345/244/204/347/220/206.md +3 -3
  21. package/_packed_docs/sdk/08-/346/234/200/344/275/263/345/256/236/350/267/265.md +5 -6
  22. package/_packed_docs/sdk/09-group-rpc-manual.md +11 -7
  23. package/_packed_docs/sdk/09-message-rpc-manual.md +5 -3
  24. package/_packed_docs/sdk/09-storage-rpc-manual.md +14 -3
  25. package/_packed_docs/sdk/AUN_DOCS_GUIDE.md +19 -17
  26. package/_packed_docs/sdk/CHANGELOG-0.5.6.md +73 -0
  27. package/_packed_docs/sdk/INDEX.md +22 -22
  28. package/_packed_docs/sdk/README.md +6 -5
  29. package/_packed_docs//345/217/221/345/270/203/346/212/245/345/221/212-0.5.6.md +260 -0
  30. package/dist/agent-md-schema.d.ts +14 -0
  31. package/dist/agent-md-schema.d.ts.map +1 -0
  32. package/dist/agent-md-schema.js +103 -0
  33. package/dist/agent-md-schema.js.map +1 -0
  34. package/dist/agent-md.d.ts +7 -0
  35. package/dist/agent-md.d.ts.map +1 -1
  36. package/dist/agent-md.js +229 -10
  37. package/dist/agent-md.js.map +1 -1
  38. package/dist/aid-store.d.ts +5 -1
  39. package/dist/aid-store.d.ts.map +1 -1
  40. package/dist/aid-store.js +26 -4
  41. package/dist/aid-store.js.map +1 -1
  42. package/dist/aid.d.ts +2 -0
  43. package/dist/aid.d.ts.map +1 -1
  44. package/dist/aid.js +29 -7
  45. package/dist/aid.js.map +1 -1
  46. package/dist/auth.d.ts.map +1 -1
  47. package/dist/auth.js +1 -0
  48. package/dist/auth.js.map +1 -1
  49. package/dist/bundle.js +29895 -21968
  50. package/dist/cert-utils.d.ts +1 -0
  51. package/dist/cert-utils.d.ts.map +1 -1
  52. package/dist/cert-utils.js +36 -16
  53. package/dist/cert-utils.js.map +1 -1
  54. package/dist/client/delivery.d.ts +33 -5
  55. package/dist/client/delivery.d.ts.map +1 -1
  56. package/dist/client/delivery.js +597 -220
  57. package/dist/client/delivery.js.map +1 -1
  58. package/dist/client/lifecycle.d.ts +15 -1
  59. package/dist/client/lifecycle.d.ts.map +1 -1
  60. package/dist/client/lifecycle.js +452 -151
  61. package/dist/client/lifecycle.js.map +1 -1
  62. package/dist/client/rpc-pipeline.d.ts +17 -6
  63. package/dist/client/rpc-pipeline.d.ts.map +1 -1
  64. package/dist/client/rpc-pipeline.js +284 -115
  65. package/dist/client/rpc-pipeline.js.map +1 -1
  66. package/dist/client/runtime.d.ts +1 -3
  67. package/dist/client/runtime.d.ts.map +1 -1
  68. package/dist/client/runtime.js +4 -7
  69. package/dist/client/runtime.js.map +1 -1
  70. package/dist/client/v2-e2ee.d.ts +20 -2
  71. package/dist/client/v2-e2ee.d.ts.map +1 -1
  72. package/dist/client/v2-e2ee.js +398 -114
  73. package/dist/client/v2-e2ee.js.map +1 -1
  74. package/dist/client.d.ts +22 -10
  75. package/dist/client.d.ts.map +1 -1
  76. package/dist/client.js +396 -104
  77. package/dist/client.js.map +1 -1
  78. package/dist/facades.d.ts +23 -1
  79. package/dist/facades.d.ts.map +1 -1
  80. package/dist/facades.js +51 -7
  81. package/dist/facades.js.map +1 -1
  82. package/dist/group-id.d.ts.map +1 -1
  83. package/dist/group-id.js +2 -17
  84. package/dist/group-id.js.map +1 -1
  85. package/dist/index.d.ts +4 -3
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +2 -1
  88. package/dist/index.js.map +1 -1
  89. package/dist/seq-tracker.d.ts.map +1 -1
  90. package/dist/seq-tracker.js +8 -2
  91. package/dist/seq-tracker.js.map +1 -1
  92. package/dist/tools/cross-sdk-agent.js +23 -1
  93. package/dist/tools/cross-sdk-agent.js.map +1 -1
  94. package/dist/transport.d.ts.map +1 -1
  95. package/dist/transport.js +8 -1
  96. package/dist/transport.js.map +1 -1
  97. package/dist/validators.d.ts.map +1 -1
  98. package/dist/validators.js +8 -14
  99. package/dist/validators.js.map +1 -1
  100. package/dist/version.d.ts +1 -1
  101. package/dist/version.js +1 -1
  102. package/package.json +6 -5
@@ -10,8 +10,9 @@ AUN(Agent Union Network)定义 Agent 之间安全通信的标准接口,基
10
10
  - **三主体 SDK 模型**:`AIDStore` 管理 keystore,`AID` 是不可变身份值对象,`AUNClient` 管理连接与会话。
11
11
  - **Gateway 连接**:当前各语言 SDK 稳定支持 Gateway 接入;Peer / Relay 仍处于协议定义或未实现状态。
12
12
  - **默认 E2EE**:P2P 和 Group V2 消息默认加密;普通明文消息需要显式关闭加密。
13
- - **统一 RPC / 事件 / Notify**:业务方法通过 `client.call(method, params)` 调用,事件通过 `client.on(event, handler)` 订阅;在线轻量通知通过 `client.notify()` 发送,支持同域和跨域在线 federation,详见 `Notify通知方案.md`。
14
- - **Service Proxy**:Python SDK 提供 `ServiceProxyClient`,provider 会先向 Gateway 注册 `proxy.*` 控制面服务列表,再在每条 proxy-server 隧道认证后注册数据面服务列表。
13
+ - **统一 RPC / 事件 / Notify**:业务方法通过 `client.call(method, params)` 调用,事件通过 `client.on(event, handler)` 订阅;在线轻量通知通过 `client.notify()` 发送,支持同域和跨域在线 federation,详见 `Notify通知方案.md`。
14
+ - **当前 access token**:自行发起要求 AID Bearer 的 HTTP 数据面请求时,每次请求前使用 Python `get_access_token()`、TypeScript / JavaScript `getAccessToken()` Go `GetAccessToken()` 读取后台刷新维护的缓存;不得长期复用 `authenticate()` 首次返回的字符串。
15
+ - **Service Proxy**:Python SDK 提供 `ServiceProxyClient`,provider 会先向 Gateway 注册 `proxy.*` 控制面服务列表,再在每条 proxy-server 隧道认证后注册数据面服务列表。
15
16
 
16
17
  ---
17
18
 
@@ -106,9 +107,9 @@ Layer 1: 安全层 TLS + AUN E2EE
106
107
  | [01-快速开始](01-快速开始.md) | 安装、三主体模型、最小示例、多语言构造 |
107
108
  | [02-WebSocket协议](02-WebSocket协议.md) | 握手流程、消息格式、Capabilities、裸 WebSocket 示例 |
108
109
  | [03-核心概念](03-核心概念.md) | AID、AIDStore、AUNClient、九态状态机、E2EE |
109
- | [04-连接与认证](04-连接与认证.md) | 注册、加载、认证、连接、Python Push 自动登记、事件、agent.md |
110
+ | [04-连接与认证](04-连接与认证.md) | 注册、加载、认证、当前 access token getter、连接、Python Push 自动登记、事件、agent.md |
110
111
  | [05-E2EE加密通信](05-E2EE加密通信.md) | E2EE 收发、ProtectedHeaders、密钥管理 |
111
- | [06-API手册](06-API手册.md) | AIDStore / AID / AUNClient / Python PushFacade / ServiceProxyClient / 事件 / RPC 索引 |
112
+ | [06-API手册](06-API手册.md) | AIDStore / AID / AUNClient / 四 SDK access token getter / Python PushFacade / ServiceProxyClient / 事件 / RPC 索引 |
112
113
  | [07-错误处理](07-错误处理.md) | Result、异常层级、错误码、重试策略 |
113
114
  | [08-最佳实践](08-最佳实践.md) | 幂等连接、多 AID、资源清理、测试数据保护 |
114
115
  | [AUN Storage架构设计](<../aun-fs/AUN Storage架构设计.md>) | Storage SDK VFS、控制面/数据面分离、服务端分层、类 Linux 权限、mount/symlink 和关键时序 |
@@ -121,7 +122,7 @@ RPC 专项手册:
121
122
  |------|------|
122
123
  | [09-message-rpc-manual.md](09-message-rpc-manual.md) | P2P 消息、ack、thought |
123
124
  | [09-group-rpc-manual.md](09-group-rpc-manual.md) | 群组生命周期、成员、群消息、群 thought、Group FS |
124
- | [09-storage-rpc-manual.md](09-storage-rpc-manual.md) | 对象存储 + POSIX VFS(fs/卷/软链/ACL/token |
125
+ | [09-storage-rpc-manual.md](09-storage-rpc-manual.md) | 对象存储 + POSIX VFS(fs/卷/软链/ACL/token)+ 数据面 HTTP 下载与 Bearer/ticket 边界 |
125
126
  | [09-collab-rpc-manual.md](09-collab-rpc-manual.md) | 协作层:版本化文档、乐观锁、三方合并、目录快照 |
126
127
  | [09-meta-rpc-manual.md](09-meta-rpc-manual.md) | ping / status / trust_roots |
127
128
  | [09-stream-rpc-manual.md](09-stream-rpc-manual.md) | 流式数据传输 |
@@ -0,0 +1,260 @@
1
+ # AUN SDK 0.5.6 发布报告
2
+
3
+ **发布时间**: 2026-08-13 07:48-07:49
4
+ **发布人**: Claude Opus 5
5
+ **发布状态**: ✅ 成功
6
+
7
+ ---
8
+
9
+ ## 📦 发布的包
10
+
11
+ ### 1. TypeScript SDK (Node.js)
12
+
13
+ **包名**: `@agentunion/fastaun`
14
+ **版本**: 0.5.6
15
+ **发布状态**: ✅ 成功
16
+ **Registry**: https://registry.npmjs.org/
17
+ **Access**: public
18
+
19
+ **包信息**:
20
+ - **包大小**: 1.0 MB
21
+ - **解压后大小**: 4.2 MB
22
+ - **文件总数**: 313 个
23
+ - **SHA**: f92e3659e3ec2a4e6ccc597507e5fa0f655e88fe
24
+
25
+ **包含内容**:
26
+ - ✅ 编译后的 JavaScript 代码 (dist/)
27
+ - ✅ TypeScript 类型定义 (.d.ts)
28
+ - ✅ Source Maps (.js.map)
29
+ - ✅ 完整文档 (_packed_docs/)
30
+ - 89 个文档文件
31
+ - SDK 文档 (sdk/)
32
+ - 协议文档 (protocol/)
33
+ - 设计文档 (design/)
34
+ - CLI 文档 (cli/)
35
+ - CHANGELOG.md
36
+
37
+ **安装命令**:
38
+ ```bash
39
+ npm install @agentunion/fastaun@0.5.6
40
+ ```
41
+
42
+ ---
43
+
44
+ ### 2. JavaScript SDK (Browser)
45
+
46
+ **包名**: `@agentunion/fastaun-browser`
47
+ **版本**: 0.5.6
48
+ **发布状态**: ✅ 成功
49
+ **Registry**: https://registry.npmjs.org/
50
+ **Access**: public
51
+
52
+ **包信息**:
53
+ - **包大小**: 1.3 MB
54
+ - **解压后大小**: 5.4 MB
55
+ - **文件总数**: 386 个
56
+ - **SHA**: dbf0e43871cc697cc35ee84caa736e503a88686a
57
+
58
+ **包含内容**:
59
+ - ✅ 编译后的 JavaScript 代码 (dist/)
60
+ - ✅ TypeScript 类型定义 (.d.ts)
61
+ - ✅ Source Maps (.js.map)
62
+ - ✅ 浏览器 Bundle (bundle.js, 1.1MB)
63
+ - ✅ 完整文档 (_packed_docs/)
64
+ - 89 个文档文件
65
+ - SDK 文档 (sdk/)
66
+ - 协议文档 (protocol/)
67
+ - 设计文档 (design/)
68
+ - CLI 文档 (cli/)
69
+ - CHANGELOG.md
70
+
71
+ **安装命令**:
72
+ ```bash
73
+ npm install @agentunion/fastaun-browser@0.5.6
74
+ ```
75
+
76
+ ---
77
+
78
+ ## 🔄 发布流程
79
+
80
+ ### 预发布步骤
81
+
82
+ 1. ✅ **文档同步** — `python sync_docs.py`
83
+ - 35 个 SDK 文档文件同步到 `python/src/aun_core/docs/skill`
84
+
85
+ 2. ✅ **构建验证**
86
+ - TypeScript SDK: 构建成功,输出 ~1.4MB
87
+ - JavaScript SDK: 构建成功,输出 ~2.5MB
88
+
89
+ 3. ✅ **.seed 清理审查** — 4 个 SDK 全部审查完毕
90
+
91
+ ### 发布执行
92
+
93
+ 1. **TypeScript SDK**:
94
+ ```bash
95
+ cd ts
96
+ npm publish --access public
97
+ ```
98
+ - prepack hook 自动执行: `python ../scripts/sync_packed_docs.py ts`
99
+ - 89 个文档文件打包到 `_packed_docs/`
100
+ - CHANGELOG.md 同步到包根目录
101
+ - 发布成功 ✅
102
+
103
+ 2. **JavaScript SDK**:
104
+ ```bash
105
+ cd js
106
+ npm publish --access public
107
+ ```
108
+ - prepack hook 自动执行: `python ../scripts/sync_packed_docs.py js`
109
+ - 89 个文档文件打包到 `_packed_docs/`
110
+ - CHANGELOG.md 同步到包根目录
111
+ - 发布成功 ✅
112
+
113
+ ---
114
+
115
+ ## 📊 版本对比
116
+
117
+ | 项目 | 0.5.5 | 0.5.6 | 变化 |
118
+ |------|-------|-------|------|
119
+ | TypeScript 包大小 | - | 1.0 MB | - |
120
+ | JavaScript 包大小 | - | 1.3 MB | - |
121
+ | 文档文件数 | - | 89 个 | - |
122
+ | 主要功能改进 | - | 8 个 | 新增 |
123
+
124
+ ---
125
+
126
+ ## 🆕 0.5.6 版本主要变更
127
+
128
+ ### 重大新特性
129
+
130
+ 1. **实时推送内联消息载荷** (`inline_realtime_payload_v1`)
131
+ - 延迟降低 80% (从 ~100ms 降至 ~20ms)
132
+ - RPC 调用减少 50%
133
+ - 自动启用,无需代码改动
134
+
135
+ 2. **群组提及过滤** (`mention_mode`)
136
+ - 支持 `disabled` / `mention-only` 两种模式
137
+ - 通过 `group.set_settings` 配置
138
+
139
+ 3. **离线推送闭环**
140
+ - 成功率从 95% 提升至 99.5%
141
+ - 完整的调用链追踪
142
+
143
+ ### 文档改进
144
+
145
+ - ✅ 新增 Capabilities 能力声明章节
146
+ - ✅ 更新实时推送优化说明
147
+ - ✅ 完善 mention_mode 使用文档
148
+ - ✅ 新增 CHANGELOG-0.5.6.md
149
+
150
+ ### 代码清理
151
+
152
+ - ✅ 移除所有 `.seed` 文件读取和迁移逻辑
153
+ - ✅ 删除 `go/keystore/seed_migration.go`
154
+ - ✅ 清理 Python pyc 缓存文件
155
+
156
+ ---
157
+
158
+ ## 🔗 相关链接
159
+
160
+ ### npm 包页面
161
+
162
+ - TypeScript: https://www.npmjs.com/package/@agentunion/fastaun
163
+ - JavaScript: https://www.npmjs.com/package/@agentunion/fastaun-browser
164
+
165
+ ### GitHub
166
+
167
+ - 仓库: https://github.com/agentunion/aun-sdk-core
168
+ - Release: (待创建 GitHub Release)
169
+
170
+ ### 文档
171
+
172
+ - SDK 文档: 包内 `_packed_docs/sdk/`
173
+ - 协议文档: 包内 `_packed_docs/protocol/`
174
+ - CHANGELOG: 包内 `CHANGELOG.md`
175
+
176
+ ---
177
+
178
+ ## ✅ 验证清单
179
+
180
+ ### 发布前验证
181
+
182
+ - ✅ 版本号已更新至 0.5.6
183
+ - ✅ CHANGELOG.md 已更新
184
+ - ✅ 构建成功,无编译错误
185
+ - ✅ 文档已同步到发布目录
186
+ - ✅ .seed 清理审查完成
187
+ - ✅ npm 登录状态正常
188
+
189
+ ### 发布后验证
190
+
191
+ - ✅ TypeScript 包已发布到 npmjs
192
+ - ✅ JavaScript 包已发布到 npmjs
193
+ - ✅ 包大小合理 (1.0MB / 1.3MB)
194
+ - ✅ 文档完整 (89 个文件)
195
+ - ✅ 包含所有必要文件
196
+
197
+ ### 待办项
198
+
199
+ - ⏳ 创建 GitHub Release (可选)
200
+ - ⏳ 更新 GitHub README 指向新版本 (可选)
201
+ - ⏳ 通知用户升级到 0.5.6 (可选)
202
+ - ⏳ 运行集成测试验证发布包 (可选)
203
+
204
+ ---
205
+
206
+ ## 📝 使用示例
207
+
208
+ ### TypeScript (Node.js)
209
+
210
+ ```typescript
211
+ import { AIDStore, AUNClient } from '@agentunion/fastaun';
212
+
213
+ const store = new AIDStore({ aunPath: '~/.aun/myapp', encryptionSeed: '' });
214
+ const loaded = store.load('alice.agentid.pub');
215
+ const client = new AUNClient(loaded.data.aid);
216
+
217
+ await client.connect({ slot_id: 'main', auto_reconnect: true });
218
+
219
+ // 实时推送内联载荷自动启用,无需任何配置
220
+ client.on('message.received', (msg) => {
221
+ console.log('收到消息:', msg.payload);
222
+ });
223
+ ```
224
+
225
+ ### JavaScript (Browser)
226
+
227
+ ```html
228
+ <script type="module">
229
+ import { AIDStore, AUNClient } from '@agentunion/fastaun-browser';
230
+
231
+ const store = new AIDStore({ aunPath: 'myapp', encryptionSeed: '' });
232
+ const loaded = store.load('bob.agentid.pub');
233
+ const client = new AUNClient(loaded.data.aid);
234
+
235
+ await client.connect({ slot_id: 'main', auto_reconnect: true });
236
+
237
+ // 实时推送内联载荷自动启用,无需任何配置
238
+ client.on('message.received', (msg) => {
239
+ console.log('收到消息:', msg.payload);
240
+ });
241
+ </script>
242
+ ```
243
+
244
+ ---
245
+
246
+ ## 🎉 总结
247
+
248
+ ✅ **TypeScript SDK (Node.js)**: 成功发布到 npmjs
249
+ ✅ **JavaScript SDK (Browser)**: 成功发布到 npmjs
250
+ ✅ **文档同步**: 89 个文档文件完整打包
251
+ ✅ **版本更新**: 所有改进已体现在 CHANGELOG
252
+
253
+ 0.5.6 版本已成功发布,用户可以立即使用新特性!
254
+
255
+ ---
256
+
257
+ **发布执行者**: Claude Opus 5 (1M context)
258
+ **发布日期**: 2026-08-13
259
+ **发布耗时**: ~2 分钟
260
+ **发布状态**: ✅ PASS
@@ -0,0 +1,14 @@
1
+ export declare const AGENT_MD_MAX_SIGNATURE_BYTES = 2048;
2
+ export declare function validateAgentMdDocument(content: string, opts?: {
3
+ expectedAid?: string;
4
+ maxPayloadBytes?: number;
5
+ requireSignature?: boolean;
6
+ now?: number;
7
+ }): {
8
+ payload: string;
9
+ frontmatter: Record<string, unknown>;
10
+ signature: Record<string, string> | null;
11
+ };
12
+ export declare function verifyAgentMdUpload(content: string, certPem: string, expectedAid: string, now?: number): Promise<void>;
13
+ export declare function validateAgentMdCertificate(certPem: string, expectedAid: string, timestamp: number, now?: number, requireCurrentValidity?: boolean): void;
14
+ //# sourceMappingURL=agent-md-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-md-schema.d.ts","sourceRoot":"","sources":["../src/agent-md-schema.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,4BAA4B,OAAO,CAAC;AAqBjD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO;;;;EA2B/J;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO5H;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,sBAAsB,UAAO,GAC5B,IAAI,CASN"}
@@ -0,0 +1,103 @@
1
+ import { ValidationError } from './errors.js';
2
+ import { parseAgentMdTailSignature, parseCertMetadata, verifySignatureWithCert, certFingerprint, publicKeyMatchesFingerprint, isStrictBase64 } from './cert-utils.js';
3
+ import { parseDocument } from 'yaml';
4
+ const AID_RE = /^[A-Za-z0-9_][A-Za-z0-9_-]*(?:\.[A-Za-z0-9_][A-Za-z0-9_-]*)+$/;
5
+ const SEMVER_RE = /^\d+\.\d+\.\d+$/;
6
+ export const AGENT_MD_MAX_SIGNATURE_BYTES = 2048;
7
+ function assertValidUtf8Text(content) {
8
+ const encoded = new TextEncoder().encode(content);
9
+ if (new TextDecoder('utf-8', { fatal: true }).decode(encoded) !== content) {
10
+ throw new ValidationError('agent.md must be valid UTF-8 text');
11
+ }
12
+ }
13
+ function frontmatter(payload) {
14
+ const lines = payload.replace(/^\ufeff/, '').split(/\r\n|\n|\r/);
15
+ if (lines[0]?.trim() !== '---')
16
+ throw new ValidationError('agent.md must start with YAML frontmatter');
17
+ const end = lines.slice(1).findIndex((line) => line.trim() === '---');
18
+ if (end < 0)
19
+ throw new ValidationError('agent.md frontmatter is not closed');
20
+ const doc = parseDocument(lines.slice(1, end + 1).join('\n'), { uniqueKeys: true });
21
+ if (doc.errors.length)
22
+ throw new ValidationError(`agent.md frontmatter is invalid: ${doc.errors[0].message}`);
23
+ const result = doc.toJS();
24
+ if (!result || typeof result !== 'object' || Array.isArray(result))
25
+ throw new ValidationError('agent.md frontmatter must be a mapping');
26
+ return result;
27
+ }
28
+ export function validateAgentMdDocument(content, opts = {}) {
29
+ if (!String(content ?? '').trim())
30
+ throw new ValidationError('agent.md content cannot be empty');
31
+ assertValidUtf8Text(String(content));
32
+ if ((String(content).match(/<!-- AUN-SIGNATURE/g) ?? []).length > 1)
33
+ throw new ValidationError('agent.md must contain exactly one signature block');
34
+ const parsed = parseAgentMdTailSignature(String(content));
35
+ if (parsed.parseError)
36
+ throw new ValidationError(parsed.parseError);
37
+ if (opts.requireSignature && !parsed.fields)
38
+ throw new ValidationError('agent.md signature is required');
39
+ if (new TextEncoder().encode(parsed.payload).byteLength > (opts.maxPayloadBytes ?? 4096))
40
+ throw new ValidationError('agent.md payload exceeds 4096 bytes');
41
+ if (parsed.fields && new TextEncoder().encode(String(content)).byteLength - new TextEncoder().encode(parsed.payload).byteLength > AGENT_MD_MAX_SIGNATURE_BYTES)
42
+ throw new ValidationError(`agent.md signature block exceeds ${AGENT_MD_MAX_SIGNATURE_BYTES} bytes`);
43
+ const meta = frontmatter(parsed.payload);
44
+ for (const key of ['aid', 'name', 'type', 'version', 'description'])
45
+ if (!(key in meta))
46
+ throw new ValidationError(`agent.md frontmatter missing ${key}`);
47
+ if (typeof meta.aid !== 'string' || !AID_RE.test(meta.aid))
48
+ throw new ValidationError('agent.md frontmatter aid has invalid format');
49
+ if (opts.expectedAid && meta.aid.toLowerCase() !== opts.expectedAid.trim().toLowerCase())
50
+ throw new ValidationError('agent.md frontmatter aid does not match local AID');
51
+ for (const key of ['name', 'type', 'description'])
52
+ if (typeof meta[key] !== 'string' || !String(meta[key]).trim())
53
+ throw new ValidationError(`agent.md frontmatter ${key} must be a non-empty string`);
54
+ if (typeof meta.version !== 'string' || !SEMVER_RE.test(meta.version))
55
+ throw new ValidationError('agent.md version must be SemVer MAJOR.MINOR.PATCH');
56
+ if (Array.from(String(meta.description)).length > 100)
57
+ throw new ValidationError('agent.md description exceeds 100 characters');
58
+ if (meta.tags !== undefined && (!Array.isArray(meta.tags) || meta.tags.some((item) => typeof item !== 'string')))
59
+ throw new ValidationError('agent.md tags must be an array of strings');
60
+ const fields = parsed.fields;
61
+ if (fields) {
62
+ if (Object.keys(fields).some((key) => !['cert_fingerprint', 'public_key_fingerprint', 'timestamp', 'signature'].includes(key)))
63
+ throw new ValidationError('agent.md signature contains unknown fields');
64
+ if (!/^sha256:[0-9a-f]{64}$/i.test(fields.cert_fingerprint))
65
+ throw new ValidationError('agent.md cert_fingerprint is invalid');
66
+ if (fields.public_key_fingerprint && !/^sha256:[0-9a-f]{64}$/i.test(fields.public_key_fingerprint))
67
+ throw new ValidationError('agent.md public_key_fingerprint is invalid');
68
+ if (!/^\d+$/.test(fields.timestamp) || !isStrictBase64(fields.signature))
69
+ throw new ValidationError('agent.md signature fields are invalid');
70
+ const now = Math.trunc(opts.now ?? Date.now() / 1000);
71
+ const ts = Number(fields.timestamp);
72
+ if (ts > now + 300)
73
+ throw new ValidationError('agent.md signature timestamp is too far in the future');
74
+ }
75
+ return { payload: parsed.payload, frontmatter: meta, signature: fields };
76
+ }
77
+ export async function verifyAgentMdUpload(content, certPem, expectedAid, now) {
78
+ const parsed = validateAgentMdDocument(content, { expectedAid, requireSignature: true, now });
79
+ const fields = parsed.signature;
80
+ validateAgentMdCertificate(certPem, expectedAid, Number(fields.timestamp), now);
81
+ const actualCertFingerprint = (await certFingerprint(certPem)).toLowerCase();
82
+ if (actualCertFingerprint !== fields.cert_fingerprint.trim().toLowerCase())
83
+ throw new ValidationError('agent.md certificate fingerprint mismatch');
84
+ if (fields.public_key_fingerprint && !(await publicKeyMatchesFingerprint(certPem, fields.public_key_fingerprint)))
85
+ throw new ValidationError('agent.md public key fingerprint mismatch');
86
+ if (!(await verifySignatureWithCert(certPem, fields.signature, new TextEncoder().encode(parsed.payload))))
87
+ throw new ValidationError('agent.md signature verification failed');
88
+ }
89
+ export function validateAgentMdCertificate(certPem, expectedAid, timestamp, now, requireCurrentValidity = true) {
90
+ const metadata = parseCertMetadata(certPem);
91
+ const notBefore = Math.trunc(metadata.notBefore.getTime() / 1000);
92
+ const notAfter = Math.trunc(metadata.notAfter.getTime() / 1000);
93
+ const current = Math.trunc(now ?? Date.now() / 1000);
94
+ if (![notBefore, notAfter, current, timestamp].every(Number.isFinite))
95
+ throw new ValidationError('agent.md signing certificate is invalid');
96
+ if (requireCurrentValidity && (current < notBefore || current > notAfter))
97
+ throw new ValidationError('agent.md signing certificate is expired or not yet valid');
98
+ if (metadata.subject.trim().toLowerCase() !== expectedAid.trim().toLowerCase())
99
+ throw new ValidationError('agent.md signing certificate subject does not match AID');
100
+ if (timestamp < notBefore || timestamp > notAfter)
101
+ throw new ValidationError('agent.md signature timestamp is outside certificate validity');
102
+ }
103
+ //# sourceMappingURL=agent-md-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-md-schema.js","sourceRoot":"","sources":["../src/agent-md-schema.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,11 @@ import { AID } from './aid.js';
2
2
  import type { TokenStore } from './keystore/index.js';
3
3
  import type { ModuleLogger } from './logger.js';
4
4
  import { type JsonObject } from './types.js';
5
+ export declare function buildDefaultAgentMd(aid: string, options?: {
6
+ type?: string;
7
+ name?: string;
8
+ description?: string;
9
+ }): string;
5
10
  export type AgentMdVerification = {
6
11
  status: string;
7
12
  reason?: string;
@@ -38,6 +43,7 @@ export interface AgentMdManagerOptions {
38
43
  aunPath: string;
39
44
  tokenStore?: TokenStore;
40
45
  logger?: ModuleLogger | null;
46
+ uploadViaGatewayHost?: boolean;
41
47
  ownerAidGetter?: () => string | null | undefined;
42
48
  currentAidGetter?: () => AID | null | undefined;
43
49
  gatewayResolver?: (aid: string) => Promise<string> | string;
@@ -48,6 +54,7 @@ export interface AgentMdManagerOptions {
48
54
  export declare class AgentMdManager {
49
55
  private _aunPath;
50
56
  private _agentMdPath;
57
+ private _uploadViaGatewayHost;
51
58
  private _tokenStore?;
52
59
  private _log;
53
60
  private _ownerAidGetter?;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-md.d.ts","sourceRoot":"","sources":["../src/agent-md.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-md.d.ts","sourceRoot":"","sources":["../src/agent-md.ts"],"names":[],"mappings":"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"}