@agent-phonon/protocol 0.2.0

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 (127) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +70 -0
  3. package/dist/index.d.ts +24 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +24 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/json-schema/_index.json +3794 -0
  8. package/dist/json-schema/connect.hello.json +117 -0
  9. package/dist/json-schema/discovery.changed.json +190 -0
  10. package/dist/json-schema/discovery.get.json +183 -0
  11. package/dist/json-schema/discovery.list.json +182 -0
  12. package/dist/json-schema/document.prepare_upload.json +96 -0
  13. package/dist/json-schema/document.send.json +165 -0
  14. package/dist/json-schema/hook.fired.json +100 -0
  15. package/dist/json-schema/hook.resolve.json +96 -0
  16. package/dist/json-schema/interaction.cancel.json +48 -0
  17. package/dist/json-schema/interaction.request.json +376 -0
  18. package/dist/json-schema/interaction.response.json +68 -0
  19. package/dist/json-schema/project.create.json +89 -0
  20. package/dist/json-schema/project.get.json +76 -0
  21. package/dist/json-schema/project.git.deleteBranch.json +64 -0
  22. package/dist/json-schema/project.list.json +72 -0
  23. package/dist/json-schema/project.remove.json +69 -0
  24. package/dist/json-schema/project.worktree.create.json +88 -0
  25. package/dist/json-schema/project.worktree.list.json +77 -0
  26. package/dist/json-schema/project.worktree.remove.json +61 -0
  27. package/dist/json-schema/session.compress.json +72 -0
  28. package/dist/json-schema/session.create.json +128 -0
  29. package/dist/json-schema/session.inject.json +72 -0
  30. package/dist/json-schema/session.interrupt.json +58 -0
  31. package/dist/json-schema/session.list.json +127 -0
  32. package/dist/json-schema/session.send.json +132 -0
  33. package/dist/json-schema/session.status.json +94 -0
  34. package/dist/json-schema/session.switchModel.json +73 -0
  35. package/dist/json-schema/session.terminate.json +54 -0
  36. package/dist/json-schema/skill.install.json +171 -0
  37. package/dist/json-schema/skill.list.json +101 -0
  38. package/dist/json-schema/skill.uninstall.json +76 -0
  39. package/dist/json-schema/stream.ack.json +36 -0
  40. package/dist/json-schema/stream.event.json +381 -0
  41. package/dist/schemas/capabilities.d.ts +90 -0
  42. package/dist/schemas/capabilities.d.ts.map +1 -0
  43. package/dist/schemas/capabilities.js +59 -0
  44. package/dist/schemas/capabilities.js.map +1 -0
  45. package/dist/schemas/common.d.ts +66 -0
  46. package/dist/schemas/common.d.ts.map +1 -0
  47. package/dist/schemas/common.js +97 -0
  48. package/dist/schemas/common.js.map +1 -0
  49. package/dist/schemas/connect.d.ts +111 -0
  50. package/dist/schemas/connect.d.ts.map +1 -0
  51. package/dist/schemas/connect.js +46 -0
  52. package/dist/schemas/connect.js.map +1 -0
  53. package/dist/schemas/device.d.ts +221 -0
  54. package/dist/schemas/device.d.ts.map +1 -0
  55. package/dist/schemas/device.js +59 -0
  56. package/dist/schemas/device.js.map +1 -0
  57. package/dist/schemas/discovery.d.ts +892 -0
  58. package/dist/schemas/discovery.d.ts.map +1 -0
  59. package/dist/schemas/discovery.js +66 -0
  60. package/dist/schemas/discovery.js.map +1 -0
  61. package/dist/schemas/document.d.ts +351 -0
  62. package/dist/schemas/document.d.ts.map +1 -0
  63. package/dist/schemas/document.js +103 -0
  64. package/dist/schemas/document.js.map +1 -0
  65. package/dist/schemas/env.d.ts +265 -0
  66. package/dist/schemas/env.d.ts.map +1 -0
  67. package/dist/schemas/env.js +44 -0
  68. package/dist/schemas/env.js.map +1 -0
  69. package/dist/schemas/file.d.ts +274 -0
  70. package/dist/schemas/file.d.ts.map +1 -0
  71. package/dist/schemas/file.js +72 -0
  72. package/dist/schemas/file.js.map +1 -0
  73. package/dist/schemas/hook.d.ts +132 -0
  74. package/dist/schemas/hook.d.ts.map +1 -0
  75. package/dist/schemas/hook.js +58 -0
  76. package/dist/schemas/hook.js.map +1 -0
  77. package/dist/schemas/interaction.d.ts +1583 -0
  78. package/dist/schemas/interaction.d.ts.map +1 -0
  79. package/dist/schemas/interaction.js +112 -0
  80. package/dist/schemas/interaction.js.map +1 -0
  81. package/dist/schemas/jsonrpc.d.ts +314 -0
  82. package/dist/schemas/jsonrpc.d.ts.map +1 -0
  83. package/dist/schemas/jsonrpc.js +64 -0
  84. package/dist/schemas/jsonrpc.js.map +1 -0
  85. package/dist/schemas/methods.d.ts +3826 -0
  86. package/dist/schemas/methods.d.ts.map +1 -0
  87. package/dist/schemas/methods.js +311 -0
  88. package/dist/schemas/methods.js.map +1 -0
  89. package/dist/schemas/policy.d.ts +81 -0
  90. package/dist/schemas/policy.d.ts.map +1 -0
  91. package/dist/schemas/policy.js +66 -0
  92. package/dist/schemas/policy.js.map +1 -0
  93. package/dist/schemas/project.d.ts +506 -0
  94. package/dist/schemas/project.d.ts.map +1 -0
  95. package/dist/schemas/project.js +148 -0
  96. package/dist/schemas/project.js.map +1 -0
  97. package/dist/schemas/session.d.ts +730 -0
  98. package/dist/schemas/session.d.ts.map +1 -0
  99. package/dist/schemas/session.js +287 -0
  100. package/dist/schemas/session.js.map +1 -0
  101. package/dist/schemas/skill.d.ts +465 -0
  102. package/dist/schemas/skill.d.ts.map +1 -0
  103. package/dist/schemas/skill.js +103 -0
  104. package/dist/schemas/skill.js.map +1 -0
  105. package/dist/schemas/stream.d.ts +688 -0
  106. package/dist/schemas/stream.d.ts.map +1 -0
  107. package/dist/schemas/stream.js +133 -0
  108. package/dist/schemas/stream.js.map +1 -0
  109. package/package.json +52 -0
  110. package/src/index.ts +24 -0
  111. package/src/schemas/capabilities.ts +62 -0
  112. package/src/schemas/common.ts +119 -0
  113. package/src/schemas/connect.ts +50 -0
  114. package/src/schemas/device.ts +67 -0
  115. package/src/schemas/discovery.ts +80 -0
  116. package/src/schemas/document.ts +121 -0
  117. package/src/schemas/env.ts +60 -0
  118. package/src/schemas/file.ts +97 -0
  119. package/src/schemas/hook.ts +66 -0
  120. package/src/schemas/interaction.ts +135 -0
  121. package/src/schemas/jsonrpc.ts +80 -0
  122. package/src/schemas/methods.ts +414 -0
  123. package/src/schemas/policy.ts +71 -0
  124. package/src/schemas/project.ts +185 -0
  125. package/src/schemas/session.ts +336 -0
  126. package/src/schemas/skill.ts +121 -0
  127. package/src/schemas/stream.ts +149 -0
@@ -0,0 +1,892 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Agent / 模型发现(design §5 / D14)。
4
+ *
5
+ * 发现 = 内部扫描机制(非协议)+ 对外暴露接口(属协议)。本文件只定义
6
+ * **对外接口**的数据形状:服务端借此感知「这台设备上哪些 agent 可用、
7
+ * 各自哪些模型可用」。
8
+ */
9
+ /** 单个模型的可用性描述。 */
10
+ export declare const ModelInfo: z.ZodObject<{
11
+ /** 模型 id,session.create 的 `model` 入参取自这里。 */
12
+ id: z.ZodString;
13
+ /** 展示名(可选)。 */
14
+ displayName: z.ZodOptional<z.ZodString>;
15
+ /** 上下文窗口(token,若已知)。注意:以 phonon 实测/配置为准,不盲信后端返回。 */
16
+ contextWindow: z.ZodOptional<z.ZodNumber>;
17
+ /** 该模型当前是否可用(如鉴权过期会变 false)。 */
18
+ available: z.ZodDefault<z.ZodBoolean>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ id: string;
21
+ available: boolean;
22
+ displayName?: string | undefined;
23
+ contextWindow?: number | undefined;
24
+ }, {
25
+ id: string;
26
+ displayName?: string | undefined;
27
+ contextWindow?: number | undefined;
28
+ available?: boolean | undefined;
29
+ }>;
30
+ export type ModelInfo = z.infer<typeof ModelInfo>;
31
+ /** 单个 agent 的发现条目。 */
32
+ export declare const AgentDescriptor: z.ZodObject<{
33
+ agentId: z.ZodBranded<z.ZodString, "AgentId">;
34
+ /** 展示名,如 "Claude Code" / "OpenClaw"。 */
35
+ displayName: z.ZodString;
36
+ /** 适配器内部名,如 "openclaw" / "claude-code"。 */
37
+ adapter: z.ZodString;
38
+ /** 整体是否可用(已安装 + 可执行 + 凭证就绪)。 */
39
+ available: z.ZodBoolean;
40
+ /** 不可用时的原因(如 "not_installed" / "not_logged_in" / "no_credentials")。 */
41
+ unavailableReason: z.ZodOptional<z.ZodString>;
42
+ /** agent 自身版本(若可探测)。 */
43
+ version: z.ZodOptional<z.ZodString>;
44
+ /** 可用模型列表。 */
45
+ models: z.ZodArray<z.ZodObject<{
46
+ /** 模型 id,session.create 的 `model` 入参取自这里。 */
47
+ id: z.ZodString;
48
+ /** 展示名(可选)。 */
49
+ displayName: z.ZodOptional<z.ZodString>;
50
+ /** 上下文窗口(token,若已知)。注意:以 phonon 实测/配置为准,不盲信后端返回。 */
51
+ contextWindow: z.ZodOptional<z.ZodNumber>;
52
+ /** 该模型当前是否可用(如鉴权过期会变 false)。 */
53
+ available: z.ZodDefault<z.ZodBoolean>;
54
+ }, "strip", z.ZodTypeAny, {
55
+ id: string;
56
+ available: boolean;
57
+ displayName?: string | undefined;
58
+ contextWindow?: number | undefined;
59
+ }, {
60
+ id: string;
61
+ displayName?: string | undefined;
62
+ contextWindow?: number | undefined;
63
+ available?: boolean | undefined;
64
+ }>, "many">;
65
+ /** 能力声明(随 discovery 暴露,见 §7)。 */
66
+ capabilities: z.ZodObject<{
67
+ nativeSession: z.ZodBoolean;
68
+ nativeCompression: z.ZodBoolean;
69
+ contextInjection: z.ZodBoolean;
70
+ proactiveOutput: z.ZodBoolean;
71
+ modelSwitch: z.ZodBoolean;
72
+ interrupt: z.ZodBoolean;
73
+ injectMidTurn: z.ZodBoolean;
74
+ skillManagement: z.ZodBoolean;
75
+ hooks: z.ZodArray<z.ZodEnum<["pre_tool", "post_tool", "pre_command", "pre_file_write", "pre_network", "session_start", "session_end", "notification"]>, "many">;
76
+ streaming: z.ZodBoolean;
77
+ limits: z.ZodOptional<z.ZodObject<{
78
+ maxConcurrentSessions: z.ZodOptional<z.ZodNumber>;
79
+ maxContextTokens: z.ZodOptional<z.ZodNumber>;
80
+ maxMessageBytes: z.ZodOptional<z.ZodNumber>;
81
+ }, "strip", z.ZodTypeAny, {
82
+ maxConcurrentSessions?: number | undefined;
83
+ maxContextTokens?: number | undefined;
84
+ maxMessageBytes?: number | undefined;
85
+ }, {
86
+ maxConcurrentSessions?: number | undefined;
87
+ maxContextTokens?: number | undefined;
88
+ maxMessageBytes?: number | undefined;
89
+ }>>;
90
+ }, "strip", z.ZodTypeAny, {
91
+ nativeSession: boolean;
92
+ nativeCompression: boolean;
93
+ contextInjection: boolean;
94
+ proactiveOutput: boolean;
95
+ modelSwitch: boolean;
96
+ interrupt: boolean;
97
+ injectMidTurn: boolean;
98
+ skillManagement: boolean;
99
+ hooks: ("pre_tool" | "post_tool" | "pre_command" | "pre_file_write" | "pre_network" | "session_start" | "session_end" | "notification")[];
100
+ streaming: boolean;
101
+ limits?: {
102
+ maxConcurrentSessions?: number | undefined;
103
+ maxContextTokens?: number | undefined;
104
+ maxMessageBytes?: number | undefined;
105
+ } | undefined;
106
+ }, {
107
+ nativeSession: boolean;
108
+ nativeCompression: boolean;
109
+ contextInjection: boolean;
110
+ proactiveOutput: boolean;
111
+ modelSwitch: boolean;
112
+ interrupt: boolean;
113
+ injectMidTurn: boolean;
114
+ skillManagement: boolean;
115
+ hooks: ("pre_tool" | "post_tool" | "pre_command" | "pre_file_write" | "pre_network" | "session_start" | "session_end" | "notification")[];
116
+ streaming: boolean;
117
+ limits?: {
118
+ maxConcurrentSessions?: number | undefined;
119
+ maxContextTokens?: number | undefined;
120
+ maxMessageBytes?: number | undefined;
121
+ } | undefined;
122
+ }>;
123
+ /** 最近一次扫描时间。 */
124
+ scannedAt: z.ZodOptional<z.ZodString>;
125
+ }, "strip", z.ZodTypeAny, {
126
+ agentId: string & z.BRAND<"AgentId">;
127
+ displayName: string;
128
+ available: boolean;
129
+ adapter: string;
130
+ models: {
131
+ id: string;
132
+ available: boolean;
133
+ displayName?: string | undefined;
134
+ contextWindow?: number | undefined;
135
+ }[];
136
+ capabilities: {
137
+ nativeSession: boolean;
138
+ nativeCompression: boolean;
139
+ contextInjection: boolean;
140
+ proactiveOutput: boolean;
141
+ modelSwitch: boolean;
142
+ interrupt: boolean;
143
+ injectMidTurn: boolean;
144
+ skillManagement: boolean;
145
+ hooks: ("pre_tool" | "post_tool" | "pre_command" | "pre_file_write" | "pre_network" | "session_start" | "session_end" | "notification")[];
146
+ streaming: boolean;
147
+ limits?: {
148
+ maxConcurrentSessions?: number | undefined;
149
+ maxContextTokens?: number | undefined;
150
+ maxMessageBytes?: number | undefined;
151
+ } | undefined;
152
+ };
153
+ unavailableReason?: string | undefined;
154
+ version?: string | undefined;
155
+ scannedAt?: string | undefined;
156
+ }, {
157
+ agentId: string;
158
+ displayName: string;
159
+ available: boolean;
160
+ adapter: string;
161
+ models: {
162
+ id: string;
163
+ displayName?: string | undefined;
164
+ contextWindow?: number | undefined;
165
+ available?: boolean | undefined;
166
+ }[];
167
+ capabilities: {
168
+ nativeSession: boolean;
169
+ nativeCompression: boolean;
170
+ contextInjection: boolean;
171
+ proactiveOutput: boolean;
172
+ modelSwitch: boolean;
173
+ interrupt: boolean;
174
+ injectMidTurn: boolean;
175
+ skillManagement: boolean;
176
+ hooks: ("pre_tool" | "post_tool" | "pre_command" | "pre_file_write" | "pre_network" | "session_start" | "session_end" | "notification")[];
177
+ streaming: boolean;
178
+ limits?: {
179
+ maxConcurrentSessions?: number | undefined;
180
+ maxContextTokens?: number | undefined;
181
+ maxMessageBytes?: number | undefined;
182
+ } | undefined;
183
+ };
184
+ unavailableReason?: string | undefined;
185
+ version?: string | undefined;
186
+ scannedAt?: string | undefined;
187
+ }>;
188
+ export type AgentDescriptor = z.infer<typeof AgentDescriptor>;
189
+ export declare const DiscoveryListParams: z.ZodObject<{
190
+ /** 可选:只看可用的。 */
191
+ availableOnly: z.ZodOptional<z.ZodBoolean>;
192
+ }, "strip", z.ZodTypeAny, {
193
+ availableOnly?: boolean | undefined;
194
+ }, {
195
+ availableOnly?: boolean | undefined;
196
+ }>;
197
+ export type DiscoveryListParams = z.infer<typeof DiscoveryListParams>;
198
+ export declare const DiscoveryListResult: z.ZodObject<{
199
+ agents: z.ZodArray<z.ZodObject<{
200
+ agentId: z.ZodBranded<z.ZodString, "AgentId">;
201
+ /** 展示名,如 "Claude Code" / "OpenClaw"。 */
202
+ displayName: z.ZodString;
203
+ /** 适配器内部名,如 "openclaw" / "claude-code"。 */
204
+ adapter: z.ZodString;
205
+ /** 整体是否可用(已安装 + 可执行 + 凭证就绪)。 */
206
+ available: z.ZodBoolean;
207
+ /** 不可用时的原因(如 "not_installed" / "not_logged_in" / "no_credentials")。 */
208
+ unavailableReason: z.ZodOptional<z.ZodString>;
209
+ /** agent 自身版本(若可探测)。 */
210
+ version: z.ZodOptional<z.ZodString>;
211
+ /** 可用模型列表。 */
212
+ models: z.ZodArray<z.ZodObject<{
213
+ /** 模型 id,session.create 的 `model` 入参取自这里。 */
214
+ id: z.ZodString;
215
+ /** 展示名(可选)。 */
216
+ displayName: z.ZodOptional<z.ZodString>;
217
+ /** 上下文窗口(token,若已知)。注意:以 phonon 实测/配置为准,不盲信后端返回。 */
218
+ contextWindow: z.ZodOptional<z.ZodNumber>;
219
+ /** 该模型当前是否可用(如鉴权过期会变 false)。 */
220
+ available: z.ZodDefault<z.ZodBoolean>;
221
+ }, "strip", z.ZodTypeAny, {
222
+ id: string;
223
+ available: boolean;
224
+ displayName?: string | undefined;
225
+ contextWindow?: number | undefined;
226
+ }, {
227
+ id: string;
228
+ displayName?: string | undefined;
229
+ contextWindow?: number | undefined;
230
+ available?: boolean | undefined;
231
+ }>, "many">;
232
+ /** 能力声明(随 discovery 暴露,见 §7)。 */
233
+ capabilities: z.ZodObject<{
234
+ nativeSession: z.ZodBoolean;
235
+ nativeCompression: z.ZodBoolean;
236
+ contextInjection: z.ZodBoolean;
237
+ proactiveOutput: z.ZodBoolean;
238
+ modelSwitch: z.ZodBoolean;
239
+ interrupt: z.ZodBoolean;
240
+ injectMidTurn: z.ZodBoolean;
241
+ skillManagement: z.ZodBoolean;
242
+ hooks: z.ZodArray<z.ZodEnum<["pre_tool", "post_tool", "pre_command", "pre_file_write", "pre_network", "session_start", "session_end", "notification"]>, "many">;
243
+ streaming: z.ZodBoolean;
244
+ limits: z.ZodOptional<z.ZodObject<{
245
+ maxConcurrentSessions: z.ZodOptional<z.ZodNumber>;
246
+ maxContextTokens: z.ZodOptional<z.ZodNumber>;
247
+ maxMessageBytes: z.ZodOptional<z.ZodNumber>;
248
+ }, "strip", z.ZodTypeAny, {
249
+ maxConcurrentSessions?: number | undefined;
250
+ maxContextTokens?: number | undefined;
251
+ maxMessageBytes?: number | undefined;
252
+ }, {
253
+ maxConcurrentSessions?: number | undefined;
254
+ maxContextTokens?: number | undefined;
255
+ maxMessageBytes?: number | undefined;
256
+ }>>;
257
+ }, "strip", z.ZodTypeAny, {
258
+ nativeSession: boolean;
259
+ nativeCompression: boolean;
260
+ contextInjection: boolean;
261
+ proactiveOutput: boolean;
262
+ modelSwitch: boolean;
263
+ interrupt: boolean;
264
+ injectMidTurn: boolean;
265
+ skillManagement: boolean;
266
+ hooks: ("pre_tool" | "post_tool" | "pre_command" | "pre_file_write" | "pre_network" | "session_start" | "session_end" | "notification")[];
267
+ streaming: boolean;
268
+ limits?: {
269
+ maxConcurrentSessions?: number | undefined;
270
+ maxContextTokens?: number | undefined;
271
+ maxMessageBytes?: number | undefined;
272
+ } | undefined;
273
+ }, {
274
+ nativeSession: boolean;
275
+ nativeCompression: boolean;
276
+ contextInjection: boolean;
277
+ proactiveOutput: boolean;
278
+ modelSwitch: boolean;
279
+ interrupt: boolean;
280
+ injectMidTurn: boolean;
281
+ skillManagement: boolean;
282
+ hooks: ("pre_tool" | "post_tool" | "pre_command" | "pre_file_write" | "pre_network" | "session_start" | "session_end" | "notification")[];
283
+ streaming: boolean;
284
+ limits?: {
285
+ maxConcurrentSessions?: number | undefined;
286
+ maxContextTokens?: number | undefined;
287
+ maxMessageBytes?: number | undefined;
288
+ } | undefined;
289
+ }>;
290
+ /** 最近一次扫描时间。 */
291
+ scannedAt: z.ZodOptional<z.ZodString>;
292
+ }, "strip", z.ZodTypeAny, {
293
+ agentId: string & z.BRAND<"AgentId">;
294
+ displayName: string;
295
+ available: boolean;
296
+ adapter: string;
297
+ models: {
298
+ id: string;
299
+ available: boolean;
300
+ displayName?: string | undefined;
301
+ contextWindow?: number | undefined;
302
+ }[];
303
+ capabilities: {
304
+ nativeSession: boolean;
305
+ nativeCompression: boolean;
306
+ contextInjection: boolean;
307
+ proactiveOutput: boolean;
308
+ modelSwitch: boolean;
309
+ interrupt: boolean;
310
+ injectMidTurn: boolean;
311
+ skillManagement: boolean;
312
+ hooks: ("pre_tool" | "post_tool" | "pre_command" | "pre_file_write" | "pre_network" | "session_start" | "session_end" | "notification")[];
313
+ streaming: boolean;
314
+ limits?: {
315
+ maxConcurrentSessions?: number | undefined;
316
+ maxContextTokens?: number | undefined;
317
+ maxMessageBytes?: number | undefined;
318
+ } | undefined;
319
+ };
320
+ unavailableReason?: string | undefined;
321
+ version?: string | undefined;
322
+ scannedAt?: string | undefined;
323
+ }, {
324
+ agentId: string;
325
+ displayName: string;
326
+ available: boolean;
327
+ adapter: string;
328
+ models: {
329
+ id: string;
330
+ displayName?: string | undefined;
331
+ contextWindow?: number | undefined;
332
+ available?: boolean | undefined;
333
+ }[];
334
+ capabilities: {
335
+ nativeSession: boolean;
336
+ nativeCompression: boolean;
337
+ contextInjection: boolean;
338
+ proactiveOutput: boolean;
339
+ modelSwitch: boolean;
340
+ interrupt: boolean;
341
+ injectMidTurn: boolean;
342
+ skillManagement: boolean;
343
+ hooks: ("pre_tool" | "post_tool" | "pre_command" | "pre_file_write" | "pre_network" | "session_start" | "session_end" | "notification")[];
344
+ streaming: boolean;
345
+ limits?: {
346
+ maxConcurrentSessions?: number | undefined;
347
+ maxContextTokens?: number | undefined;
348
+ maxMessageBytes?: number | undefined;
349
+ } | undefined;
350
+ };
351
+ unavailableReason?: string | undefined;
352
+ version?: string | undefined;
353
+ scannedAt?: string | undefined;
354
+ }>, "many">;
355
+ }, "strip", z.ZodTypeAny, {
356
+ agents: {
357
+ agentId: string & z.BRAND<"AgentId">;
358
+ displayName: string;
359
+ available: boolean;
360
+ adapter: string;
361
+ models: {
362
+ id: string;
363
+ available: boolean;
364
+ displayName?: string | undefined;
365
+ contextWindow?: number | undefined;
366
+ }[];
367
+ capabilities: {
368
+ nativeSession: boolean;
369
+ nativeCompression: boolean;
370
+ contextInjection: boolean;
371
+ proactiveOutput: boolean;
372
+ modelSwitch: boolean;
373
+ interrupt: boolean;
374
+ injectMidTurn: boolean;
375
+ skillManagement: boolean;
376
+ hooks: ("pre_tool" | "post_tool" | "pre_command" | "pre_file_write" | "pre_network" | "session_start" | "session_end" | "notification")[];
377
+ streaming: boolean;
378
+ limits?: {
379
+ maxConcurrentSessions?: number | undefined;
380
+ maxContextTokens?: number | undefined;
381
+ maxMessageBytes?: number | undefined;
382
+ } | undefined;
383
+ };
384
+ unavailableReason?: string | undefined;
385
+ version?: string | undefined;
386
+ scannedAt?: string | undefined;
387
+ }[];
388
+ }, {
389
+ agents: {
390
+ agentId: string;
391
+ displayName: string;
392
+ available: boolean;
393
+ adapter: string;
394
+ models: {
395
+ id: string;
396
+ displayName?: string | undefined;
397
+ contextWindow?: number | undefined;
398
+ available?: boolean | undefined;
399
+ }[];
400
+ capabilities: {
401
+ nativeSession: boolean;
402
+ nativeCompression: boolean;
403
+ contextInjection: boolean;
404
+ proactiveOutput: boolean;
405
+ modelSwitch: boolean;
406
+ interrupt: boolean;
407
+ injectMidTurn: boolean;
408
+ skillManagement: boolean;
409
+ hooks: ("pre_tool" | "post_tool" | "pre_command" | "pre_file_write" | "pre_network" | "session_start" | "session_end" | "notification")[];
410
+ streaming: boolean;
411
+ limits?: {
412
+ maxConcurrentSessions?: number | undefined;
413
+ maxContextTokens?: number | undefined;
414
+ maxMessageBytes?: number | undefined;
415
+ } | undefined;
416
+ };
417
+ unavailableReason?: string | undefined;
418
+ version?: string | undefined;
419
+ scannedAt?: string | undefined;
420
+ }[];
421
+ }>;
422
+ export type DiscoveryListResult = z.infer<typeof DiscoveryListResult>;
423
+ export declare const DiscoveryGetParams: z.ZodObject<{
424
+ agentId: z.ZodBranded<z.ZodString, "AgentId">;
425
+ }, "strip", z.ZodTypeAny, {
426
+ agentId: string & z.BRAND<"AgentId">;
427
+ }, {
428
+ agentId: string;
429
+ }>;
430
+ export type DiscoveryGetParams = z.infer<typeof DiscoveryGetParams>;
431
+ export declare const DiscoveryGetResult: z.ZodObject<{
432
+ agent: z.ZodObject<{
433
+ agentId: z.ZodBranded<z.ZodString, "AgentId">;
434
+ /** 展示名,如 "Claude Code" / "OpenClaw"。 */
435
+ displayName: z.ZodString;
436
+ /** 适配器内部名,如 "openclaw" / "claude-code"。 */
437
+ adapter: z.ZodString;
438
+ /** 整体是否可用(已安装 + 可执行 + 凭证就绪)。 */
439
+ available: z.ZodBoolean;
440
+ /** 不可用时的原因(如 "not_installed" / "not_logged_in" / "no_credentials")。 */
441
+ unavailableReason: z.ZodOptional<z.ZodString>;
442
+ /** agent 自身版本(若可探测)。 */
443
+ version: z.ZodOptional<z.ZodString>;
444
+ /** 可用模型列表。 */
445
+ models: z.ZodArray<z.ZodObject<{
446
+ /** 模型 id,session.create 的 `model` 入参取自这里。 */
447
+ id: z.ZodString;
448
+ /** 展示名(可选)。 */
449
+ displayName: z.ZodOptional<z.ZodString>;
450
+ /** 上下文窗口(token,若已知)。注意:以 phonon 实测/配置为准,不盲信后端返回。 */
451
+ contextWindow: z.ZodOptional<z.ZodNumber>;
452
+ /** 该模型当前是否可用(如鉴权过期会变 false)。 */
453
+ available: z.ZodDefault<z.ZodBoolean>;
454
+ }, "strip", z.ZodTypeAny, {
455
+ id: string;
456
+ available: boolean;
457
+ displayName?: string | undefined;
458
+ contextWindow?: number | undefined;
459
+ }, {
460
+ id: string;
461
+ displayName?: string | undefined;
462
+ contextWindow?: number | undefined;
463
+ available?: boolean | undefined;
464
+ }>, "many">;
465
+ /** 能力声明(随 discovery 暴露,见 §7)。 */
466
+ capabilities: z.ZodObject<{
467
+ nativeSession: z.ZodBoolean;
468
+ nativeCompression: z.ZodBoolean;
469
+ contextInjection: z.ZodBoolean;
470
+ proactiveOutput: z.ZodBoolean;
471
+ modelSwitch: z.ZodBoolean;
472
+ interrupt: z.ZodBoolean;
473
+ injectMidTurn: z.ZodBoolean;
474
+ skillManagement: z.ZodBoolean;
475
+ hooks: z.ZodArray<z.ZodEnum<["pre_tool", "post_tool", "pre_command", "pre_file_write", "pre_network", "session_start", "session_end", "notification"]>, "many">;
476
+ streaming: z.ZodBoolean;
477
+ limits: z.ZodOptional<z.ZodObject<{
478
+ maxConcurrentSessions: z.ZodOptional<z.ZodNumber>;
479
+ maxContextTokens: z.ZodOptional<z.ZodNumber>;
480
+ maxMessageBytes: z.ZodOptional<z.ZodNumber>;
481
+ }, "strip", z.ZodTypeAny, {
482
+ maxConcurrentSessions?: number | undefined;
483
+ maxContextTokens?: number | undefined;
484
+ maxMessageBytes?: number | undefined;
485
+ }, {
486
+ maxConcurrentSessions?: number | undefined;
487
+ maxContextTokens?: number | undefined;
488
+ maxMessageBytes?: number | undefined;
489
+ }>>;
490
+ }, "strip", z.ZodTypeAny, {
491
+ nativeSession: boolean;
492
+ nativeCompression: boolean;
493
+ contextInjection: boolean;
494
+ proactiveOutput: boolean;
495
+ modelSwitch: boolean;
496
+ interrupt: boolean;
497
+ injectMidTurn: boolean;
498
+ skillManagement: boolean;
499
+ hooks: ("pre_tool" | "post_tool" | "pre_command" | "pre_file_write" | "pre_network" | "session_start" | "session_end" | "notification")[];
500
+ streaming: boolean;
501
+ limits?: {
502
+ maxConcurrentSessions?: number | undefined;
503
+ maxContextTokens?: number | undefined;
504
+ maxMessageBytes?: number | undefined;
505
+ } | undefined;
506
+ }, {
507
+ nativeSession: boolean;
508
+ nativeCompression: boolean;
509
+ contextInjection: boolean;
510
+ proactiveOutput: boolean;
511
+ modelSwitch: boolean;
512
+ interrupt: boolean;
513
+ injectMidTurn: boolean;
514
+ skillManagement: boolean;
515
+ hooks: ("pre_tool" | "post_tool" | "pre_command" | "pre_file_write" | "pre_network" | "session_start" | "session_end" | "notification")[];
516
+ streaming: boolean;
517
+ limits?: {
518
+ maxConcurrentSessions?: number | undefined;
519
+ maxContextTokens?: number | undefined;
520
+ maxMessageBytes?: number | undefined;
521
+ } | undefined;
522
+ }>;
523
+ /** 最近一次扫描时间。 */
524
+ scannedAt: z.ZodOptional<z.ZodString>;
525
+ }, "strip", z.ZodTypeAny, {
526
+ agentId: string & z.BRAND<"AgentId">;
527
+ displayName: string;
528
+ available: boolean;
529
+ adapter: string;
530
+ models: {
531
+ id: string;
532
+ available: boolean;
533
+ displayName?: string | undefined;
534
+ contextWindow?: number | undefined;
535
+ }[];
536
+ capabilities: {
537
+ nativeSession: boolean;
538
+ nativeCompression: boolean;
539
+ contextInjection: boolean;
540
+ proactiveOutput: boolean;
541
+ modelSwitch: boolean;
542
+ interrupt: boolean;
543
+ injectMidTurn: boolean;
544
+ skillManagement: boolean;
545
+ hooks: ("pre_tool" | "post_tool" | "pre_command" | "pre_file_write" | "pre_network" | "session_start" | "session_end" | "notification")[];
546
+ streaming: boolean;
547
+ limits?: {
548
+ maxConcurrentSessions?: number | undefined;
549
+ maxContextTokens?: number | undefined;
550
+ maxMessageBytes?: number | undefined;
551
+ } | undefined;
552
+ };
553
+ unavailableReason?: string | undefined;
554
+ version?: string | undefined;
555
+ scannedAt?: string | undefined;
556
+ }, {
557
+ agentId: string;
558
+ displayName: string;
559
+ available: boolean;
560
+ adapter: string;
561
+ models: {
562
+ id: string;
563
+ displayName?: string | undefined;
564
+ contextWindow?: number | undefined;
565
+ available?: boolean | undefined;
566
+ }[];
567
+ capabilities: {
568
+ nativeSession: boolean;
569
+ nativeCompression: boolean;
570
+ contextInjection: boolean;
571
+ proactiveOutput: boolean;
572
+ modelSwitch: boolean;
573
+ interrupt: boolean;
574
+ injectMidTurn: boolean;
575
+ skillManagement: boolean;
576
+ hooks: ("pre_tool" | "post_tool" | "pre_command" | "pre_file_write" | "pre_network" | "session_start" | "session_end" | "notification")[];
577
+ streaming: boolean;
578
+ limits?: {
579
+ maxConcurrentSessions?: number | undefined;
580
+ maxContextTokens?: number | undefined;
581
+ maxMessageBytes?: number | undefined;
582
+ } | undefined;
583
+ };
584
+ unavailableReason?: string | undefined;
585
+ version?: string | undefined;
586
+ scannedAt?: string | undefined;
587
+ }>;
588
+ }, "strip", z.ZodTypeAny, {
589
+ agent: {
590
+ agentId: string & z.BRAND<"AgentId">;
591
+ displayName: string;
592
+ available: boolean;
593
+ adapter: string;
594
+ models: {
595
+ id: string;
596
+ available: boolean;
597
+ displayName?: string | undefined;
598
+ contextWindow?: number | undefined;
599
+ }[];
600
+ capabilities: {
601
+ nativeSession: boolean;
602
+ nativeCompression: boolean;
603
+ contextInjection: boolean;
604
+ proactiveOutput: boolean;
605
+ modelSwitch: boolean;
606
+ interrupt: boolean;
607
+ injectMidTurn: boolean;
608
+ skillManagement: boolean;
609
+ hooks: ("pre_tool" | "post_tool" | "pre_command" | "pre_file_write" | "pre_network" | "session_start" | "session_end" | "notification")[];
610
+ streaming: boolean;
611
+ limits?: {
612
+ maxConcurrentSessions?: number | undefined;
613
+ maxContextTokens?: number | undefined;
614
+ maxMessageBytes?: number | undefined;
615
+ } | undefined;
616
+ };
617
+ unavailableReason?: string | undefined;
618
+ version?: string | undefined;
619
+ scannedAt?: string | undefined;
620
+ };
621
+ }, {
622
+ agent: {
623
+ agentId: string;
624
+ displayName: string;
625
+ available: boolean;
626
+ adapter: string;
627
+ models: {
628
+ id: string;
629
+ displayName?: string | undefined;
630
+ contextWindow?: number | undefined;
631
+ available?: boolean | undefined;
632
+ }[];
633
+ capabilities: {
634
+ nativeSession: boolean;
635
+ nativeCompression: boolean;
636
+ contextInjection: boolean;
637
+ proactiveOutput: boolean;
638
+ modelSwitch: boolean;
639
+ interrupt: boolean;
640
+ injectMidTurn: boolean;
641
+ skillManagement: boolean;
642
+ hooks: ("pre_tool" | "post_tool" | "pre_command" | "pre_file_write" | "pre_network" | "session_start" | "session_end" | "notification")[];
643
+ streaming: boolean;
644
+ limits?: {
645
+ maxConcurrentSessions?: number | undefined;
646
+ maxContextTokens?: number | undefined;
647
+ maxMessageBytes?: number | undefined;
648
+ } | undefined;
649
+ };
650
+ unavailableReason?: string | undefined;
651
+ version?: string | undefined;
652
+ scannedAt?: string | undefined;
653
+ };
654
+ }>;
655
+ export type DiscoveryGetResult = z.infer<typeof DiscoveryGetResult>;
656
+ export declare const DiscoveryChangedParams: z.ZodObject<{
657
+ /** 变更类型:agent 上/下线、模型增减、能力变化。 */
658
+ kind: z.ZodEnum<["agent_added", "agent_removed", "agent_updated", "models_changed"]>;
659
+ agentId: z.ZodBranded<z.ZodString, "AgentId">;
660
+ /** 变更后的完整快照(可选,便于服务端直接更新缓存)。 */
661
+ snapshot: z.ZodOptional<z.ZodObject<{
662
+ agentId: z.ZodBranded<z.ZodString, "AgentId">;
663
+ /** 展示名,如 "Claude Code" / "OpenClaw"。 */
664
+ displayName: z.ZodString;
665
+ /** 适配器内部名,如 "openclaw" / "claude-code"。 */
666
+ adapter: z.ZodString;
667
+ /** 整体是否可用(已安装 + 可执行 + 凭证就绪)。 */
668
+ available: z.ZodBoolean;
669
+ /** 不可用时的原因(如 "not_installed" / "not_logged_in" / "no_credentials")。 */
670
+ unavailableReason: z.ZodOptional<z.ZodString>;
671
+ /** agent 自身版本(若可探测)。 */
672
+ version: z.ZodOptional<z.ZodString>;
673
+ /** 可用模型列表。 */
674
+ models: z.ZodArray<z.ZodObject<{
675
+ /** 模型 id,session.create 的 `model` 入参取自这里。 */
676
+ id: z.ZodString;
677
+ /** 展示名(可选)。 */
678
+ displayName: z.ZodOptional<z.ZodString>;
679
+ /** 上下文窗口(token,若已知)。注意:以 phonon 实测/配置为准,不盲信后端返回。 */
680
+ contextWindow: z.ZodOptional<z.ZodNumber>;
681
+ /** 该模型当前是否可用(如鉴权过期会变 false)。 */
682
+ available: z.ZodDefault<z.ZodBoolean>;
683
+ }, "strip", z.ZodTypeAny, {
684
+ id: string;
685
+ available: boolean;
686
+ displayName?: string | undefined;
687
+ contextWindow?: number | undefined;
688
+ }, {
689
+ id: string;
690
+ displayName?: string | undefined;
691
+ contextWindow?: number | undefined;
692
+ available?: boolean | undefined;
693
+ }>, "many">;
694
+ /** 能力声明(随 discovery 暴露,见 §7)。 */
695
+ capabilities: z.ZodObject<{
696
+ nativeSession: z.ZodBoolean;
697
+ nativeCompression: z.ZodBoolean;
698
+ contextInjection: z.ZodBoolean;
699
+ proactiveOutput: z.ZodBoolean;
700
+ modelSwitch: z.ZodBoolean;
701
+ interrupt: z.ZodBoolean;
702
+ injectMidTurn: z.ZodBoolean;
703
+ skillManagement: z.ZodBoolean;
704
+ hooks: z.ZodArray<z.ZodEnum<["pre_tool", "post_tool", "pre_command", "pre_file_write", "pre_network", "session_start", "session_end", "notification"]>, "many">;
705
+ streaming: z.ZodBoolean;
706
+ limits: z.ZodOptional<z.ZodObject<{
707
+ maxConcurrentSessions: z.ZodOptional<z.ZodNumber>;
708
+ maxContextTokens: z.ZodOptional<z.ZodNumber>;
709
+ maxMessageBytes: z.ZodOptional<z.ZodNumber>;
710
+ }, "strip", z.ZodTypeAny, {
711
+ maxConcurrentSessions?: number | undefined;
712
+ maxContextTokens?: number | undefined;
713
+ maxMessageBytes?: number | undefined;
714
+ }, {
715
+ maxConcurrentSessions?: number | undefined;
716
+ maxContextTokens?: number | undefined;
717
+ maxMessageBytes?: number | undefined;
718
+ }>>;
719
+ }, "strip", z.ZodTypeAny, {
720
+ nativeSession: boolean;
721
+ nativeCompression: boolean;
722
+ contextInjection: boolean;
723
+ proactiveOutput: boolean;
724
+ modelSwitch: boolean;
725
+ interrupt: boolean;
726
+ injectMidTurn: boolean;
727
+ skillManagement: boolean;
728
+ hooks: ("pre_tool" | "post_tool" | "pre_command" | "pre_file_write" | "pre_network" | "session_start" | "session_end" | "notification")[];
729
+ streaming: boolean;
730
+ limits?: {
731
+ maxConcurrentSessions?: number | undefined;
732
+ maxContextTokens?: number | undefined;
733
+ maxMessageBytes?: number | undefined;
734
+ } | undefined;
735
+ }, {
736
+ nativeSession: boolean;
737
+ nativeCompression: boolean;
738
+ contextInjection: boolean;
739
+ proactiveOutput: boolean;
740
+ modelSwitch: boolean;
741
+ interrupt: boolean;
742
+ injectMidTurn: boolean;
743
+ skillManagement: boolean;
744
+ hooks: ("pre_tool" | "post_tool" | "pre_command" | "pre_file_write" | "pre_network" | "session_start" | "session_end" | "notification")[];
745
+ streaming: boolean;
746
+ limits?: {
747
+ maxConcurrentSessions?: number | undefined;
748
+ maxContextTokens?: number | undefined;
749
+ maxMessageBytes?: number | undefined;
750
+ } | undefined;
751
+ }>;
752
+ /** 最近一次扫描时间。 */
753
+ scannedAt: z.ZodOptional<z.ZodString>;
754
+ }, "strip", z.ZodTypeAny, {
755
+ agentId: string & z.BRAND<"AgentId">;
756
+ displayName: string;
757
+ available: boolean;
758
+ adapter: string;
759
+ models: {
760
+ id: string;
761
+ available: boolean;
762
+ displayName?: string | undefined;
763
+ contextWindow?: number | undefined;
764
+ }[];
765
+ capabilities: {
766
+ nativeSession: boolean;
767
+ nativeCompression: boolean;
768
+ contextInjection: boolean;
769
+ proactiveOutput: boolean;
770
+ modelSwitch: boolean;
771
+ interrupt: boolean;
772
+ injectMidTurn: boolean;
773
+ skillManagement: boolean;
774
+ hooks: ("pre_tool" | "post_tool" | "pre_command" | "pre_file_write" | "pre_network" | "session_start" | "session_end" | "notification")[];
775
+ streaming: boolean;
776
+ limits?: {
777
+ maxConcurrentSessions?: number | undefined;
778
+ maxContextTokens?: number | undefined;
779
+ maxMessageBytes?: number | undefined;
780
+ } | undefined;
781
+ };
782
+ unavailableReason?: string | undefined;
783
+ version?: string | undefined;
784
+ scannedAt?: string | undefined;
785
+ }, {
786
+ agentId: string;
787
+ displayName: string;
788
+ available: boolean;
789
+ adapter: string;
790
+ models: {
791
+ id: string;
792
+ displayName?: string | undefined;
793
+ contextWindow?: number | undefined;
794
+ available?: boolean | undefined;
795
+ }[];
796
+ capabilities: {
797
+ nativeSession: boolean;
798
+ nativeCompression: boolean;
799
+ contextInjection: boolean;
800
+ proactiveOutput: boolean;
801
+ modelSwitch: boolean;
802
+ interrupt: boolean;
803
+ injectMidTurn: boolean;
804
+ skillManagement: boolean;
805
+ hooks: ("pre_tool" | "post_tool" | "pre_command" | "pre_file_write" | "pre_network" | "session_start" | "session_end" | "notification")[];
806
+ streaming: boolean;
807
+ limits?: {
808
+ maxConcurrentSessions?: number | undefined;
809
+ maxContextTokens?: number | undefined;
810
+ maxMessageBytes?: number | undefined;
811
+ } | undefined;
812
+ };
813
+ unavailableReason?: string | undefined;
814
+ version?: string | undefined;
815
+ scannedAt?: string | undefined;
816
+ }>>;
817
+ at: z.ZodString;
818
+ }, "strip", z.ZodTypeAny, {
819
+ at: string;
820
+ agentId: string & z.BRAND<"AgentId">;
821
+ kind: "agent_added" | "agent_removed" | "agent_updated" | "models_changed";
822
+ snapshot?: {
823
+ agentId: string & z.BRAND<"AgentId">;
824
+ displayName: string;
825
+ available: boolean;
826
+ adapter: string;
827
+ models: {
828
+ id: string;
829
+ available: boolean;
830
+ displayName?: string | undefined;
831
+ contextWindow?: number | undefined;
832
+ }[];
833
+ capabilities: {
834
+ nativeSession: boolean;
835
+ nativeCompression: boolean;
836
+ contextInjection: boolean;
837
+ proactiveOutput: boolean;
838
+ modelSwitch: boolean;
839
+ interrupt: boolean;
840
+ injectMidTurn: boolean;
841
+ skillManagement: boolean;
842
+ hooks: ("pre_tool" | "post_tool" | "pre_command" | "pre_file_write" | "pre_network" | "session_start" | "session_end" | "notification")[];
843
+ streaming: boolean;
844
+ limits?: {
845
+ maxConcurrentSessions?: number | undefined;
846
+ maxContextTokens?: number | undefined;
847
+ maxMessageBytes?: number | undefined;
848
+ } | undefined;
849
+ };
850
+ unavailableReason?: string | undefined;
851
+ version?: string | undefined;
852
+ scannedAt?: string | undefined;
853
+ } | undefined;
854
+ }, {
855
+ at: string;
856
+ agentId: string;
857
+ kind: "agent_added" | "agent_removed" | "agent_updated" | "models_changed";
858
+ snapshot?: {
859
+ agentId: string;
860
+ displayName: string;
861
+ available: boolean;
862
+ adapter: string;
863
+ models: {
864
+ id: string;
865
+ displayName?: string | undefined;
866
+ contextWindow?: number | undefined;
867
+ available?: boolean | undefined;
868
+ }[];
869
+ capabilities: {
870
+ nativeSession: boolean;
871
+ nativeCompression: boolean;
872
+ contextInjection: boolean;
873
+ proactiveOutput: boolean;
874
+ modelSwitch: boolean;
875
+ interrupt: boolean;
876
+ injectMidTurn: boolean;
877
+ skillManagement: boolean;
878
+ hooks: ("pre_tool" | "post_tool" | "pre_command" | "pre_file_write" | "pre_network" | "session_start" | "session_end" | "notification")[];
879
+ streaming: boolean;
880
+ limits?: {
881
+ maxConcurrentSessions?: number | undefined;
882
+ maxContextTokens?: number | undefined;
883
+ maxMessageBytes?: number | undefined;
884
+ } | undefined;
885
+ };
886
+ unavailableReason?: string | undefined;
887
+ version?: string | undefined;
888
+ scannedAt?: string | undefined;
889
+ } | undefined;
890
+ }>;
891
+ export type DiscoveryChangedParams = z.infer<typeof DiscoveryChangedParams>;
892
+ //# sourceMappingURL=discovery.d.ts.map