openclaw-channel-xiaozhu 2.1.0 → 3.0.1

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 (143) hide show
  1. package/dist/channel.d.ts +393 -18
  2. package/dist/channel.d.ts.map +1 -1
  3. package/dist/channel.js +1572 -31
  4. package/dist/channel.js.map +1 -1
  5. package/dist/index.js +3 -3
  6. package/dist/index.js.map +1 -1
  7. package/dist/relay/client.d.ts.map +1 -1
  8. package/dist/relay/client.js +6 -2
  9. package/dist/relay/client.js.map +1 -1
  10. package/dist/server.d.ts +18 -1
  11. package/dist/server.d.ts.map +1 -1
  12. package/dist/server.js +169 -4
  13. package/dist/server.js.map +1 -1
  14. package/dist/setup.d.ts +63 -0
  15. package/dist/setup.d.ts.map +1 -0
  16. package/dist/setup.js +330 -0
  17. package/dist/setup.js.map +1 -0
  18. package/dist/shared/inbound.js +1 -1
  19. package/dist/shared/inbound.js.map +1 -1
  20. package/dist/shared/security.d.ts +2 -1
  21. package/dist/shared/security.d.ts.map +1 -1
  22. package/dist/shared/security.js +3 -2
  23. package/dist/shared/security.js.map +1 -1
  24. package/dist/types.d.ts +217 -1
  25. package/dist/types.d.ts.map +1 -1
  26. package/dist/utils/openclaw-sessions.d.ts +79 -0
  27. package/dist/utils/openclaw-sessions.d.ts.map +1 -0
  28. package/dist/utils/openclaw-sessions.js +49 -0
  29. package/dist/utils/openclaw-sessions.js.map +1 -0
  30. package/dist/utils/rate-limiter.d.ts.map +1 -1
  31. package/dist/utils/rate-limiter.js +2 -4
  32. package/dist/utils/rate-limiter.js.map +1 -1
  33. package/dist/utils/session-store.d.ts.map +1 -1
  34. package/dist/utils/session-store.js +7 -0
  35. package/dist/utils/session-store.js.map +1 -1
  36. package/openclaw.plugin.json +138 -3
  37. package/package.json +10 -48
  38. package/skills/xiaozhu-cron-job/SKILL.md +6 -6
  39. package/LICENSE +0 -21
  40. package/README.md +0 -499
  41. package/demo/app.js +0 -350
  42. package/demo/index.html +0 -36
  43. package/demo/style.css +0 -249
  44. package/demo/think.css +0 -590
  45. package/demo/think.html +0 -92
  46. package/demo/think.js +0 -532
  47. package/dist/relay/cli.d.ts +0 -10
  48. package/dist/relay/cli.d.ts.map +0 -1
  49. package/dist/relay/cli.js +0 -28
  50. package/dist/relay/cli.js.map +0 -1
  51. package/dist/relay/server.d.ts +0 -16
  52. package/dist/relay/server.d.ts.map +0 -1
  53. package/dist/relay/server.js +0 -322
  54. package/dist/relay/server.js.map +0 -1
  55. package/dist/sdk/index.d.ts +0 -259
  56. package/dist/sdk/index.d.ts.map +0 -1
  57. package/dist/sdk/index.js +0 -415
  58. package/dist/sdk/index.js.map +0 -1
  59. package/dist/sdk/sse.d.ts +0 -18
  60. package/dist/sdk/sse.d.ts.map +0 -1
  61. package/dist/sdk/sse.js +0 -67
  62. package/dist/sdk/sse.js.map +0 -1
  63. package/dist/sdk/types.d.ts +0 -231
  64. package/dist/sdk/types.d.ts.map +0 -1
  65. package/dist/sdk/types.js +0 -5
  66. package/dist/sdk/types.js.map +0 -1
  67. package/dist/shared/errors.d.ts +0 -47
  68. package/dist/shared/errors.d.ts.map +0 -1
  69. package/dist/shared/errors.js +0 -52
  70. package/dist/shared/errors.js.map +0 -1
  71. package/dist/standalone/app.d.ts +0 -16
  72. package/dist/standalone/app.d.ts.map +0 -1
  73. package/dist/standalone/app.js +0 -194
  74. package/dist/standalone/app.js.map +0 -1
  75. package/dist/standalone/auth.d.ts +0 -19
  76. package/dist/standalone/auth.d.ts.map +0 -1
  77. package/dist/standalone/auth.js +0 -45
  78. package/dist/standalone/auth.js.map +0 -1
  79. package/dist/standalone/cli.d.ts +0 -10
  80. package/dist/standalone/cli.d.ts.map +0 -1
  81. package/dist/standalone/cli.js +0 -107
  82. package/dist/standalone/cli.js.map +0 -1
  83. package/dist/standalone/media-store.d.ts +0 -30
  84. package/dist/standalone/media-store.d.ts.map +0 -1
  85. package/dist/standalone/media-store.js +0 -150
  86. package/dist/standalone/media-store.js.map +0 -1
  87. package/dist/standalone/migrate-to-sqlite.d.ts +0 -10
  88. package/dist/standalone/migrate-to-sqlite.d.ts.map +0 -1
  89. package/dist/standalone/migrate-to-sqlite.js +0 -194
  90. package/dist/standalone/migrate-to-sqlite.js.map +0 -1
  91. package/dist/standalone/router.d.ts +0 -34
  92. package/dist/standalone/router.d.ts.map +0 -1
  93. package/dist/standalone/router.js +0 -94
  94. package/dist/standalone/router.js.map +0 -1
  95. package/dist/standalone/routes.d.ts +0 -12
  96. package/dist/standalone/routes.d.ts.map +0 -1
  97. package/dist/standalone/routes.js +0 -508
  98. package/dist/standalone/routes.js.map +0 -1
  99. package/dist/standalone/server-context.d.ts +0 -73
  100. package/dist/standalone/server-context.d.ts.map +0 -1
  101. package/dist/standalone/server-context.js +0 -38
  102. package/dist/standalone/server-context.js.map +0 -1
  103. package/dist/standalone/store.d.ts +0 -36
  104. package/dist/standalone/store.d.ts.map +0 -1
  105. package/dist/standalone/store.js +0 -163
  106. package/dist/standalone/store.js.map +0 -1
  107. package/dist/standalone/thought-db.d.ts +0 -92
  108. package/dist/standalone/thought-db.d.ts.map +0 -1
  109. package/dist/standalone/thought-db.js +0 -677
  110. package/dist/standalone/thought-db.js.map +0 -1
  111. package/dist/standalone/thought-processor.d.ts +0 -36
  112. package/dist/standalone/thought-processor.d.ts.map +0 -1
  113. package/dist/standalone/thought-processor.js +0 -352
  114. package/dist/standalone/thought-processor.js.map +0 -1
  115. package/dist/standalone/thought-routes.d.ts +0 -13
  116. package/dist/standalone/thought-routes.d.ts.map +0 -1
  117. package/dist/standalone/thought-routes.js +0 -326
  118. package/dist/standalone/thought-routes.js.map +0 -1
  119. package/dist/standalone/thought-store-factory.d.ts +0 -12
  120. package/dist/standalone/thought-store-factory.d.ts.map +0 -1
  121. package/dist/standalone/thought-store-factory.js +0 -20
  122. package/dist/standalone/thought-store-factory.js.map +0 -1
  123. package/dist/standalone/thought-store.d.ts +0 -103
  124. package/dist/standalone/thought-store.d.ts.map +0 -1
  125. package/dist/standalone/thought-store.js +0 -502
  126. package/dist/standalone/thought-store.js.map +0 -1
  127. package/dist/standalone/thought-types.d.ts +0 -169
  128. package/dist/standalone/thought-types.d.ts.map +0 -1
  129. package/dist/standalone/thought-types.js +0 -5
  130. package/dist/standalone/thought-types.js.map +0 -1
  131. package/dist/standalone/types.d.ts +0 -105
  132. package/dist/standalone/types.d.ts.map +0 -1
  133. package/dist/standalone/types.js +0 -5
  134. package/dist/standalone/types.js.map +0 -1
  135. package/dist/standalone/ws-handler.d.ts +0 -16
  136. package/dist/standalone/ws-handler.d.ts.map +0 -1
  137. package/dist/standalone/ws-handler.js +0 -183
  138. package/dist/standalone/ws-handler.js.map +0 -1
  139. package/docs/API.md +0 -1844
  140. package/docs/DEVELOPMENT.md +0 -299
  141. package/docs/MILESTONES.md +0 -135
  142. package/docs/RISKS.md +0 -179
  143. package/docs/ROADMAP.md +0 -144
package/dist/channel.d.ts CHANGED
@@ -1,8 +1,12 @@
1
1
  /**
2
- * Channel 插件对象 — config / gateway / outbound / status 四个适配器
2
+ * Channel 插件对象 — 主适配器集合(含 config / setup / onboarding / gateway /
3
+ * outbound / status / messaging / groups / mentions / pairing / security /
4
+ * auth / elevated / commands / streaming / threading / agentPrompt /
5
+ * directory / resolver / actions / heartbeat)
3
6
  */
4
- import type { HttpApiAccount, PluginRuntime, ChannelConfig, GatewayContext } from "./types.js";
5
- export declare function setRuntime(rt: PluginRuntime): void;
7
+ import { type SetupInput } from "./setup.js";
8
+ import type { ChannelAuthLoginParams, ChannelMessageActionContext, ChannelPollContext, ChannelPollResult, ChannelResolveTargetParams, ChannelStatusIssue, ChannelConfig, ChannelDirectoryListGroupMembersParams, ChannelDirectoryEntry, ChannelDirectoryListParams, ChannelDirectorySelfParams, ChannelGroupContext, ChannelHeartbeatRecipientsParams, ChannelThreadingContext, ChannelThreadingToolContext, ChannelToolSend, ChannelResolverParams, ChannelSecurityContext, ChannelSecurityDmPolicy, GatewayContext, HttpApiAccount, Logger, PluginRuntime } from "./types.js";
9
+ export declare function setRuntime(rt: PluginRuntime, logger?: Logger): void;
6
10
  export declare const httpChannelPlugin: {
7
11
  id: string;
8
12
  meta: {
@@ -10,27 +14,117 @@ export declare const httpChannelPlugin: {
10
14
  label: string;
11
15
  selectionLabel: string;
12
16
  blurb: string;
17
+ docsPath: string;
13
18
  order: number;
14
19
  aliases: string[];
15
20
  };
16
21
  capabilities: {
17
22
  chatTypes: readonly ["direct", "group"];
18
23
  reactions: boolean;
24
+ polls: boolean;
25
+ edit: boolean;
26
+ unsend: boolean;
27
+ reply: boolean;
28
+ effects: boolean;
29
+ groupManagement: boolean;
19
30
  threads: boolean;
20
31
  media: boolean;
21
32
  nativeCommands: boolean;
22
33
  blockStreaming: boolean;
23
- fileUpload: boolean;
24
- sessionManagement: boolean;
25
- stt: boolean;
26
- tts: boolean;
27
- typing: boolean;
28
- heartbeat: boolean;
29
- webhookSigning: boolean;
34
+ };
35
+ defaults: {
36
+ queue: {
37
+ debounceMs: number;
38
+ };
39
+ };
40
+ onboarding: {
41
+ channel: string;
42
+ getStatus: ({ cfg }: {
43
+ cfg: ChannelConfig;
44
+ }) => Promise<{
45
+ channel: string;
46
+ configured: boolean;
47
+ statusLines: string[];
48
+ selectionHint: string;
49
+ quickstartScore: number;
50
+ }>;
51
+ configure: (ctx: {
52
+ cfg: ChannelConfig;
53
+ prompter?: unknown;
54
+ input?: SetupInput;
55
+ accountOverrides?: Record<string, string>;
56
+ forceAllowFrom?: boolean;
57
+ }) => Promise<{
58
+ cfg: ChannelConfig;
59
+ accountId: string;
60
+ }>;
61
+ configureInteractive: (ctx: {
62
+ cfg: ChannelConfig;
63
+ configured: boolean;
64
+ prompter?: unknown;
65
+ input?: SetupInput;
66
+ accountOverrides?: Record<string, string>;
67
+ forceAllowFrom?: boolean;
68
+ }) => Promise<{
69
+ cfg: ChannelConfig;
70
+ accountId: string;
71
+ } | "skip">;
72
+ configureWhenConfigured: (ctx: {
73
+ cfg: ChannelConfig;
74
+ configured: boolean;
75
+ prompter?: unknown;
76
+ input?: SetupInput;
77
+ accountOverrides?: Record<string, string>;
78
+ forceAllowFrom?: boolean;
79
+ }) => Promise<{
80
+ cfg: ChannelConfig;
81
+ accountId: string;
82
+ } | "skip">;
83
+ dmPolicy: {
84
+ label: string;
85
+ channel: string;
86
+ policyKey: string;
87
+ allowFromKey: string;
88
+ getCurrent: (cfg: ChannelConfig) => "open" | "allowlist";
89
+ setPolicy: (cfg: ChannelConfig, policy: "open" | "allowlist") => ChannelConfig;
90
+ promptAllowFrom: ({ cfg, prompter, accountId, }: {
91
+ cfg: ChannelConfig;
92
+ prompter?: unknown;
93
+ accountId?: string;
94
+ }) => Promise<ChannelConfig>;
95
+ };
96
+ disable: (cfg: ChannelConfig) => ChannelConfig;
97
+ };
98
+ setup: {
99
+ resolveAccountId: ({ cfg, accountId, input }: {
100
+ cfg: ChannelConfig;
101
+ accountId?: string;
102
+ input?: SetupInput;
103
+ }) => string;
104
+ resolveBindingAccountId: ({ cfg, agentId, accountId }: {
105
+ cfg: ChannelConfig;
106
+ agentId: string;
107
+ accountId?: string;
108
+ }) => string | undefined;
109
+ applyAccountName: ({ cfg, accountId, name }: {
110
+ cfg: ChannelConfig;
111
+ accountId: string;
112
+ name?: string;
113
+ }) => ChannelConfig;
114
+ applyAccountConfig: ({ cfg, accountId, input }: {
115
+ cfg: ChannelConfig;
116
+ accountId: string;
117
+ input: SetupInput;
118
+ }) => ChannelConfig;
119
+ validateInput: ({ accountId, input }: {
120
+ cfg: ChannelConfig;
121
+ accountId: string;
122
+ input: SetupInput;
123
+ }) => string | null;
30
124
  };
31
125
  config: {
32
126
  listAccountIds: (cfg: ChannelConfig) => string[];
33
- resolveAccount: (cfg: ChannelConfig, accountId: string) => HttpApiAccount;
127
+ resolveAccount: (cfg: ChannelConfig, accountId?: string | null) => HttpApiAccount;
34
128
  defaultAccountId: (_cfg: ChannelConfig) => string;
35
129
  isConfigured: (account: HttpApiAccount) => boolean;
36
130
  describeAccount: (account: HttpApiAccount) => {
@@ -38,11 +132,6 @@ export declare const httpChannelPlugin: {
38
132
  name: string;
39
133
  enabled: boolean;
40
134
  configured: boolean;
41
- features: {
42
- perIpRateLimit: boolean;
43
- webhookSigning: boolean;
44
- commands: boolean;
45
- };
46
135
  };
47
136
  setAccountEnabled: ({ cfg, accountId, enabled }: {
48
137
  cfg: ChannelConfig;
@@ -50,7 +139,7 @@ export declare const httpChannelPlugin: {
50
139
  enabled: boolean;
51
140
  }) => {
52
141
  channels: {
53
- "channel-xiaozhu": {
142
+ "openclaw-channel-xiaozhu": {
54
143
  accounts: {
55
144
  [x: string]: Record<string, unknown>;
56
145
  };
@@ -58,7 +147,7 @@ export declare const httpChannelPlugin: {
58
147
  };
59
148
  } | {
60
149
  channels: {
61
- "channel-xiaozhu": {
150
+ "openclaw-channel-xiaozhu": {
62
151
  enabled: boolean;
63
152
  };
64
153
  };
@@ -71,13 +160,53 @@ export declare const httpChannelPlugin: {
71
160
  [x: string]: Record<string, unknown>;
72
161
  };
73
162
  };
163
+ resolveAllowFrom: ({ cfg, accountId }: {
164
+ cfg: ChannelConfig;
165
+ accountId?: string | null;
166
+ }) => string[] | undefined;
167
+ formatAllowFrom: ({ allowFrom }: {
168
+ cfg: ChannelConfig;
169
+ accountId?: string | null;
170
+ allowFrom: Array<string | number>;
171
+ }) => string[];
172
+ resolveDefaultTo: () => string | undefined;
74
173
  };
75
174
  gateway: {
76
175
  startAccount: (ctx: GatewayContext) => Promise<void>;
176
+ stopAccount: (ctx: GatewayContext) => Promise<void>;
177
+ loginWithQrStart: ({ accountId }: {
178
+ accountId?: string;
179
+ }) => Promise<{
180
+ message: string;
181
+ }>;
182
+ loginWithQrWait: ({ accountId }: {
183
+ accountId?: string;
184
+ }) => Promise<{
185
+ connected: boolean;
186
+ message: string;
187
+ }>;
188
+ logoutAccount: ({ accountId }: {
189
+ accountId: string;
190
+ }) => Promise<{
191
+ cleared: boolean;
192
+ loggedOut: boolean;
193
+ stopped: boolean;
194
+ message: string;
195
+ }>;
77
196
  };
78
197
  outbound: {
79
198
  deliveryMode: "direct";
80
199
  textChunkLimit: number;
200
+ pollMaxOptions: number;
201
+ chunker: (text: string, limit: number) => string[];
202
+ chunkerMode: "markdown";
203
+ resolveTarget: (params: ChannelResolveTargetParams) => {
204
+ ok: true;
205
+ to: string;
206
+ } | {
207
+ ok: false;
208
+ error: Error;
209
+ };
81
210
  sendText: (opts: Record<string, unknown>) => Promise<{
82
211
  channel: string;
83
212
  ok: boolean;
@@ -96,6 +225,23 @@ export declare const httpChannelPlugin: {
96
225
  ok: boolean;
97
226
  error?: undefined;
98
227
  }>;
228
+ sendPayload: (ctx: Record<string, unknown>) => Promise<{
229
+ channel: string;
230
+ ok: boolean;
231
+ error: Error;
232
+ messageId?: undefined;
233
+ } | {
234
+ channel: string;
235
+ ok: boolean;
236
+ error: Error;
237
+ messageId: string;
238
+ } | {
239
+ channel: string;
240
+ ok: boolean;
241
+ messageId: string;
242
+ error?: undefined;
243
+ }>;
244
+ sendPoll: (ctx: ChannelPollContext) => Promise<ChannelPollResult>;
99
245
  };
100
246
  status: {
101
247
  defaultRuntime: {
@@ -103,7 +249,10 @@ export declare const httpChannelPlugin: {
103
249
  running: boolean;
104
250
  connected: boolean;
105
251
  lastStartAt: null;
252
+ lastStopAt: null;
106
253
  lastError: null;
254
+ lastInboundAt: null;
255
+ lastOutboundAt: null;
107
256
  };
108
257
  probeAccount: ({ account, timeoutMs }: {
109
258
  account: HttpApiAccount;
@@ -112,6 +261,232 @@ export declare const httpChannelPlugin: {
112
261
  ok: boolean;
113
262
  latencyMs: number;
114
263
  }>;
264
+ buildAccountSnapshot: ({ account, runtime }: {
265
+ account: HttpApiAccount;
266
+ cfg: ChannelConfig;
267
+ runtime?: Record<string, unknown>;
268
+ }) => {
269
+ accountId: string;
270
+ name: string;
271
+ enabled: boolean;
272
+ configured: boolean;
273
+ running: boolean;
274
+ connected: boolean;
275
+ lastStartAt: number | null;
276
+ lastStopAt: number | null;
277
+ lastError: string | null;
278
+ mode: "webhook" | "cloud";
279
+ lastInboundAt: number | null;
280
+ lastOutboundAt: number | null;
281
+ };
282
+ buildChannelSummary: ({ snapshot }: {
283
+ account: HttpApiAccount;
284
+ cfg: ChannelConfig;
285
+ defaultAccountId: string;
286
+ snapshot: Record<string, unknown>;
287
+ }) => {
288
+ configured: boolean;
289
+ running: boolean;
290
+ connected: boolean;
291
+ mode: string;
292
+ lastStartAt: {} | null;
293
+ lastStopAt: {} | null;
294
+ lastError: {} | null;
295
+ lastInboundAt: {} | null;
296
+ lastOutboundAt: {} | null;
297
+ };
298
+ resolveAccountState: ({ configured, enabled }: {
299
+ account: HttpApiAccount;
300
+ cfg: ChannelConfig;
301
+ configured: boolean;
302
+ enabled: boolean;
303
+ }) => "enabled" | "disabled" | "not configured";
304
+ collectStatusIssues: (accounts: Array<Record<string, unknown>>) => ChannelStatusIssue[];
305
+ };
306
+ messaging: {
307
+ normalizeTarget: (raw: string) => string | undefined;
308
+ targetResolver: {
309
+ looksLikeId: (raw: string, _normalized?: string) => boolean;
310
+ hint: string;
311
+ };
312
+ formatTargetDisplay: ({ target, display }: {
313
+ target: string;
314
+ display?: string;
315
+ kind?: string;
316
+ }) => string;
317
+ };
318
+ resolver: {
319
+ resolveTargets: ({ cfg, accountId, inputs, kind, runtime: _runtime, }: ChannelResolverParams) => Promise<({
320
+ input: string;
321
+ resolved: boolean;
322
+ note: string;
323
+ id?: undefined;
324
+ name?: undefined;
325
+ } | {
326
+ input: string;
327
+ resolved: boolean;
328
+ id: string;
329
+ name: string;
330
+ note: string;
331
+ })[]>;
332
+ };
333
+ groups: {
334
+ resolveRequireMention: ({ cfg, accountId }: {
335
+ cfg: ChannelConfig;
336
+ accountId?: string | null;
337
+ }) => boolean | undefined;
338
+ resolveGroupIntroHint: ({ cfg, accountId }: {
339
+ cfg: ChannelConfig;
340
+ accountId?: string | null;
341
+ }) => string | undefined;
342
+ resolveToolPolicy: ({ cfg, accountId }: ChannelGroupContext) => {
343
+ deny?: string[] | undefined;
344
+ alsoAllow?: string[] | undefined;
345
+ allow?: string[] | undefined;
346
+ } | undefined;
347
+ };
348
+ mentions: {
349
+ stripPatterns: () => string[];
350
+ stripMentions: ({ text }: {
351
+ text: string;
352
+ }) => string;
353
+ };
354
+ pairing: {
355
+ idLabel: string;
356
+ normalizeAllowEntry: (entry: string) => string;
357
+ notifyApproval: () => Promise<void>;
358
+ };
359
+ security: {
360
+ resolveDmPolicy: ({ cfg, accountId, account, }: ChannelSecurityContext<HttpApiAccount>) => ChannelSecurityDmPolicy;
361
+ collectWarnings: ({ account }: ChannelSecurityContext<HttpApiAccount>) => string[];
362
+ };
363
+ elevated: {
364
+ allowFromFallback: ({ cfg, accountId }: {
365
+ cfg: ChannelConfig;
366
+ accountId?: string | null;
367
+ }) => string[] | undefined;
368
+ };
369
+ auth: {
370
+ login: ({ cfg, accountId, runtime, verbose, channelInput, }: ChannelAuthLoginParams) => Promise<void>;
371
+ };
372
+ commands: {
373
+ enforceOwnerForCommands: boolean;
374
+ skipWhenConfigEmpty: boolean;
375
+ };
376
+ streaming: {
377
+ blockStreamingCoalesceDefaults: {
378
+ minChars: number;
379
+ idleMs: number;
380
+ };
381
+ };
382
+ threading: {
383
+ resolveReplyToMode: ({ cfg, accountId }: {
384
+ cfg: ChannelConfig;
385
+ accountId?: string | null;
386
+ chatType?: string | null;
387
+ }) => "off" | "first" | "all";
388
+ allowExplicitReplyTagsWhenOff: boolean;
389
+ allowTagsWhenOff: boolean;
390
+ buildToolContext: ({ cfg, accountId, context, hasRepliedRef, }: {
391
+ cfg: ChannelConfig;
392
+ accountId?: string | null;
393
+ context: ChannelThreadingContext;
394
+ hasRepliedRef?: {
395
+ value: boolean;
396
+ };
397
+ }) => ChannelThreadingToolContext;
398
+ };
399
+ agentPrompt: {
400
+ messageToolHints: () => string[];
401
+ };
402
+ agentTools: ({ cfg }: {
403
+ cfg?: ChannelConfig;
404
+ }) => {
405
+ label: string;
406
+ name: string;
407
+ ownerOnly: boolean;
408
+ description: string;
409
+ parameters: {
410
+ type: string;
411
+ properties: {
412
+ action: {
413
+ type: string;
414
+ enum: string[];
415
+ };
416
+ accountId: {
417
+ type: string;
418
+ };
419
+ input: {
420
+ type: string;
421
+ };
422
+ inputs: {
423
+ type: string;
424
+ items: {
425
+ type: string;
426
+ };
427
+ };
428
+ token: {
429
+ type: string;
430
+ };
431
+ verbose: {
432
+ type: string;
433
+ };
434
+ limit: {
435
+ type: string;
436
+ minimum: number;
437
+ maximum: number;
438
+ };
439
+ };
440
+ required: string[];
441
+ additionalProperties: boolean;
442
+ };
443
+ execute: (_toolCallId: string, rawArgs: unknown) => Promise<{
444
+ content: Array<{
445
+ type: "text";
446
+ text: string;
447
+ }>;
448
+ details: unknown;
449
+ }>;
450
+ }[];
451
+ directory: {
452
+ self: ({ accountId }: ChannelDirectorySelfParams) => Promise<ChannelDirectoryEntry | null>;
453
+ listPeers: ({ accountId, query, limit }: ChannelDirectoryListParams) => Promise<ChannelDirectoryEntry[]>;
454
+ listPeersLive: (params: ChannelDirectoryListParams) => Promise<ChannelDirectoryEntry[]>;
455
+ listGroups: ({ accountId, query, limit }: ChannelDirectoryListParams) => Promise<ChannelDirectoryEntry[]>;
456
+ listGroupsLive: (params: ChannelDirectoryListParams) => Promise<ChannelDirectoryEntry[]>;
457
+ listGroupMembers: (params: ChannelDirectoryListGroupMembersParams) => Promise<ChannelDirectoryEntry[]>;
458
+ };
459
+ actions: {
460
+ listActions: () => string[];
461
+ supportsAction: ({ action }: {
462
+ action: string;
463
+ }) => boolean;
464
+ supportsButtons: () => boolean;
465
+ supportsCards: () => boolean;
466
+ extractToolSend: ({ args }: {
467
+ args: Record<string, unknown>;
468
+ }) => ChannelToolSend | null;
469
+ handleAction: (ctx: ChannelMessageActionContext) => Promise<{
470
+ content: Array<{
471
+ type: "text";
472
+ text: string;
473
+ }>;
474
+ details: Record<string, unknown>;
475
+ isError?: boolean;
476
+ }>;
477
+ };
478
+ heartbeat: {
479
+ checkReady: ({ cfg, accountId }: {
480
+ cfg: ChannelConfig;
481
+ accountId?: string | null;
482
+ }) => Promise<{
483
+ ok: boolean;
484
+ reason: string;
485
+ }>;
486
+ resolveRecipients: ({ cfg, opts }: ChannelHeartbeatRecipientsParams) => {
487
+ recipients: string[];
488
+ source: string;
489
+ };
115
490
  };
116
491
  };
117
492
  //# sourceMappingURL=channel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAU,MAAM,YAAY,CAAC;AAQvG,wBAAgB,UAAU,CAAC,EAAE,EAAE,aAAa,QAE3C;AAwCD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;8BA8BJ,aAAa,KAAG,MAAM,EAAE;8BAcxB,aAAa,aAAa,MAAM,KAAG,cAAc;iCAc9C,aAAa,KAAG,MAAM;gCAEvB,cAAc,KAAG,OAAO;mCAIrB,cAAc;;;;;;;;;;;yDAYQ;YAAE,GAAG,EAAE,aAAa,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,OAAO,CAAA;SAAE;;;;;;;;;;;;;;;4CAYxE;YAAE,GAAG,EAAE,aAAa,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE;;;;;;;4BAiBnD,cAAc;;;;;yBA8EjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;0BAoCtB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;+CA0CF;YAAE,OAAO,EAAE,cAAc,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;CAa/F,CAAC"}
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,EASL,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EACV,sBAAsB,EACtB,2BAA2B,EAC3B,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,EAC1B,kBAAkB,EAClB,aAAa,EACb,sCAAsC,EACtC,qBAAqB,EACrB,0BAA0B,EAC1B,0BAA0B,EAC1B,mBAAmB,EACnB,gCAAgC,EAChC,uBAAuB,EACvB,2BAA2B,EAC3B,eAAe,EAEf,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,MAAM,EACN,aAAa,EAEd,MAAM,YAAY,CAAC;AAuCpB,wBAAgB,UAAU,CAAC,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,MAAM,QAG5D;AA0mBD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAoCC;YAAE,GAAG,EAAE,aAAa,CAAA;SAAE;;;;;;;yBAmB1B;YACrB,GAAG,EAAE,aAAa,CAAC;YACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,KAAK,CAAC,EAAE,UAAU,CAAC;YACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC1C,cAAc,CAAC,EAAE,OAAO,CAAC;SAC1B;;;;oCAgEiC;YAChC,GAAG,EAAE,aAAa,CAAC;YACnB,UAAU,EAAE,OAAO,CAAC;YACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,KAAK,CAAC,EAAE,UAAU,CAAC;YACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC1C,cAAc,CAAC,EAAE,OAAO,CAAC;SAC1B;;;;uCAQoC;YACnC,GAAG,EAAE,aAAa,CAAC;YACnB,UAAU,EAAE,OAAO,CAAC;YACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,KAAK,CAAC,EAAE,UAAU,CAAC;YACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC1C,cAAc,CAAC,EAAE,OAAO,CAAC;SAC1B;;;;;;;;;8BASmB,aAAa;6BAId,aAAa,UAAU,MAAM,GAAG,WAAW;6DAYzD;gBACD,GAAG,EAAE,aAAa,CAAC;gBACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;gBACnB,SAAS,CAAC,EAAE,MAAM,CAAC;aACpB;;uBAaY,aAAa;;;sDASkB;YAC5C,GAAG,EAAE,aAAa,CAAC;YACnB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,KAAK,CAAC,EAAE,UAAU,CAAC;SACpB;+DASsD;YACrD,GAAG,EAAE,aAAa,CAAC;YACnB,OAAO,EAAE,MAAM,CAAC;YAChB,SAAS,CAAC,EAAE,MAAM,CAAC;SACpB;qDAS4C;YAC3C,GAAG,EAAE,aAAa,CAAC;YACnB,SAAS,EAAE,MAAM,CAAC;YAClB,IAAI,CAAC,EAAE,MAAM,CAAC;SACf;wDAS+C;YAC9C,GAAG,EAAE,aAAa,CAAC;YACnB,SAAS,EAAE,MAAM,CAAC;YAClB,KAAK,EAAE,UAAU,CAAC;SACnB;8CAsCqC;YACpC,GAAG,EAAE,aAAa,CAAC;YACnB,SAAS,EAAE,MAAM,CAAC;YAClB,KAAK,EAAE,UAAU,CAAC;SACnB;;;8BAOqB,aAAa,KAAG,MAAM,EAAE;8BAcxB,aAAa,cAAc,MAAM,GAAG,IAAI,KAAG,cAAc;iCAetD,aAAa,KAAG,MAAM;gCAEvB,cAAc,KAAG,OAAO;mCAIrB,cAAc;;;;;;yDAOQ;YAAE,GAAG,EAAE,aAAa,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,OAAO,CAAA;SAAE;;;;;;;;;;;;;;;4CAUxE;YAAE,GAAG,EAAE,aAAa,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE;;;;;+CAYtC;YAAE,GAAG,EAAE,aAAa,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,KAAG,MAAM,EAAE,GAAG,SAAS;yCAK9E;YAAE,GAAG,EAAE,aAAa,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,SAAS,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;SAAE,KAAG,MAAM,EAAE;gCAI1G,MAAM,GAAG,SAAS;;;4BAKd,cAAc;2BA8Ff,cAAc;0CAkBC;YAAE,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE;;;yCAMvB;YAAE,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE;;;;uCAOxB;YAAE,SAAS,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;wBAgB1C,MAAM,SAAS,MAAM,KAAG,MAAM,EAAE;;gCAGxB,0BAA0B,KAAG;YAAE,EAAE,EAAE,IAAI,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,GAAG;YAAE,EAAE,EAAE,KAAK,CAAC;YAAC,KAAK,EAAE,KAAK,CAAA;SAAE;yBAuCpF,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;0BAmCtB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;2BA+BtB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;wBAyC1B,kBAAkB,KAAG,OAAO,CAAC,iBAAiB,CAAC;;;;;;;;;;;;;+CAkDxB;YAAE,OAAO,EAAE,cAAc,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE;;;;qDAiB/C;YAAE,OAAO,EAAE,cAAc,CAAC;YAAC,GAAG,EAAE,aAAa,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE;;;;;;;;;;;;;;4CAe3F;YAAE,OAAO,EAAE,cAAc,CAAC;YAAC,GAAG,EAAE,aAAa,CAAC;YAAC,gBAAgB,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE;;;;;;;;;;;uDAYjG;YAC7C,OAAO,EAAE,cAAc,CAAC;YACxB,GAAG,EAAE,aAAa,CAAC;YACnB,UAAU,EAAE,OAAO,CAAC;YACpB,OAAO,EAAE,OAAO,CAAC;SAClB,KAAG,SAAS,GAAG,UAAU,GAAG,gBAAgB;wCAKb,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAG,kBAAkB,EAAE;;;+BA2D9D,MAAM,KAAG,MAAM,GAAG,SAAS;;+BAK7B,MAAM,gBAAgB,MAAM,KAAG,OAAO;;;mDAGhB;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,KAAG,MAAM;;;+EAapG,qBAAqB;;;;;;;;;;;;;;;oDAqGoB;YAAE,GAAG,EAAE,aAAa,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,KAAG,OAAO,GAAG,SAAS;oDAIvE;YAAE,GAAG,EAAE,aAAa,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,KAAG,MAAM,GAAG,SAAS;gDAI1E,mBAAmB;;;;;;;6BAkBxC,MAAM,EAAE;kCAKD;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,KAAG,MAAM;;;;qCAQtB,MAAM,KAAG,MAAM;8BAClB,OAAO,CAAC,IAAI,CAAC;;;wDAWpC,sBAAsB,CAAC,cAAc,CAAC,KAAG,uBAAuB;uCAYpC,sBAAsB,CAAC,cAAc,CAAC,KAAG,MAAM,EAAE;;;gDAaxC;YAAE,GAAG,EAAE,aAAa,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE;;;qEA6BtF,sBAAsB;;;;;;;;;;;;;iDAwBgB;YAAE,GAAG,EAAE,aAAa,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,KAAG,KAAK,GAAG,OAAO,GAAG,KAAK;;;wEAY3I;YACD,GAAG,EAAE,aAAa,CAAC;YACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC1B,OAAO,EAAE,uBAAuB,CAAC;YACjC,aAAa,CAAC,EAAE;gBAAE,KAAK,EAAE,OAAO,CAAA;aAAE,CAAC;SACpC,KAAG,2BAA2B;;;gCAwBT,MAAM,EAAE;;0BAOV;QAAE,GAAG,CAAC,EAAE,aAAa,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BA6BV,MAAM,WAAW,OAAO;qBA/zCP,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC;qBAAW,OAAO;;;;8BA07C7E,0BAA0B,KAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;iDAO/C,0BAA0B,KAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;gCAW9E,0BAA0B,KAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;kDAG3C,0BAA0B,KAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;iCAQ9E,0BAA0B,KAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;mCAG3D,sCAAsC,KAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;;;2BAYzF,MAAM,EAAE;qCACI;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,KAAG,OAAO;+BACpC,OAAO;6BACT,OAAO;oCACE;YAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,KAAG,eAAe,GAAG,IAAI;4BAqB5D,2BAA2B;qBA3uD9C,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC;qBACrC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;sBACtB,OAAO;;;;yCAg0DwB;YAAE,GAAG,EAAE,aAAa,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,KAAG,OAAO,CAAC;YAAE,EAAE,EAAE,OAAO,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;2CAchG,gCAAgC,KAAG;YAAE,UAAU,EAAE,MAAM,EAAE,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE;;CAiBjH,CAAC"}