openclaw-channel-xiaozhu 3.0.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.
package/dist/channel.d.ts CHANGED
@@ -1,10 +1,12 @@
1
1
  /**
2
- * Channel 插件对象 — 16 个适配器(config / gateway / outbound / status +
3
- * messaging / groups / mentions / pairing / security / commands /
4
- * streaming / threading / agentPrompt / directory / actions / heartbeat)
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)
5
6
  */
6
- import type { HttpApiAccount, PluginRuntime, ChannelConfig, GatewayContext } from "./types.js";
7
- 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;
8
10
  export declare const httpChannelPlugin: {
9
11
  id: string;
10
12
  meta: {
@@ -19,6 +21,12 @@ export declare const httpChannelPlugin: {
19
21
  capabilities: {
20
22
  chatTypes: readonly ["direct", "group"];
21
23
  reactions: boolean;
24
+ polls: boolean;
25
+ edit: boolean;
26
+ unsend: boolean;
27
+ reply: boolean;
28
+ effects: boolean;
29
+ groupManagement: boolean;
22
30
  threads: boolean;
23
31
  media: boolean;
24
32
  nativeCommands: boolean;
@@ -29,6 +37,91 @@ export declare const httpChannelPlugin: {
29
37
  debounceMs: number;
30
38
  };
31
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;
124
+ };
32
125
  config: {
33
126
  listAccountIds: (cfg: ChannelConfig) => string[];
34
127
  resolveAccount: (cfg: ChannelConfig, accountId?: string | null) => HttpApiAccount;
@@ -80,12 +173,40 @@ export declare const httpChannelPlugin: {
80
173
  };
81
174
  gateway: {
82
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
+ }>;
83
196
  };
84
197
  outbound: {
85
198
  deliveryMode: "direct";
86
199
  textChunkLimit: number;
200
+ pollMaxOptions: number;
87
201
  chunker: (text: string, limit: number) => string[];
88
202
  chunkerMode: "markdown";
203
+ resolveTarget: (params: ChannelResolveTargetParams) => {
204
+ ok: true;
205
+ to: string;
206
+ } | {
207
+ ok: false;
208
+ error: Error;
209
+ };
89
210
  sendText: (opts: Record<string, unknown>) => Promise<{
90
211
  channel: string;
91
212
  ok: boolean;
@@ -120,6 +241,7 @@ export declare const httpChannelPlugin: {
120
241
  messageId: string;
121
242
  error?: undefined;
122
243
  }>;
244
+ sendPoll: (ctx: ChannelPollContext) => Promise<ChannelPollResult>;
123
245
  };
124
246
  status: {
125
247
  defaultRuntime: {
@@ -173,11 +295,18 @@ export declare const httpChannelPlugin: {
173
295
  lastInboundAt: {} | null;
174
296
  lastOutboundAt: {} | null;
175
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[];
176
305
  };
177
306
  messaging: {
178
307
  normalizeTarget: (raw: string) => string | undefined;
179
308
  targetResolver: {
180
- looksLikeId: (raw: string) => boolean;
309
+ looksLikeId: (raw: string, _normalized?: string) => boolean;
181
310
  hint: string;
182
311
  };
183
312
  formatTargetDisplay: ({ target, display }: {
@@ -186,6 +315,21 @@ export declare const httpChannelPlugin: {
186
315
  kind?: string;
187
316
  }) => string;
188
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
+ };
189
333
  groups: {
190
334
  resolveRequireMention: ({ cfg, accountId }: {
191
335
  cfg: ChannelConfig;
@@ -195,6 +339,11 @@ export declare const httpChannelPlugin: {
195
339
  cfg: ChannelConfig;
196
340
  accountId?: string | null;
197
341
  }) => string | undefined;
342
+ resolveToolPolicy: ({ cfg, accountId }: ChannelGroupContext) => {
343
+ deny?: string[] | undefined;
344
+ alsoAllow?: string[] | undefined;
345
+ allow?: string[] | undefined;
346
+ } | undefined;
198
347
  };
199
348
  mentions: {
200
349
  stripPatterns: () => string[];
@@ -208,10 +357,17 @@ export declare const httpChannelPlugin: {
208
357
  notifyApproval: () => Promise<void>;
209
358
  };
210
359
  security: {
211
- resolveDmPolicy: () => null;
212
- collectWarnings: ({ account }: {
213
- account: HttpApiAccount;
214
- }) => string[];
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>;
215
371
  };
216
372
  commands: {
217
373
  enforceOwnerForCommands: boolean;
@@ -227,34 +383,78 @@ export declare const httpChannelPlugin: {
227
383
  resolveReplyToMode: ({ cfg, accountId }: {
228
384
  cfg: ChannelConfig;
229
385
  accountId?: string | null;
386
+ chatType?: string | null;
230
387
  }) => "off" | "first" | "all";
231
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;
232
398
  };
233
399
  agentPrompt: {
234
400
  messageToolHints: () => string[];
235
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
+ }[];
236
451
  directory: {
237
- self: ({ accountId }: {
238
- accountId?: string;
239
- }) => Promise<{
240
- id: string;
241
- name: string;
242
- kind: string;
243
- } | null>;
244
- listPeers: ({ accountId }: {
245
- accountId?: string;
246
- }) => Promise<{
247
- id: string;
248
- name: string;
249
- kind: string;
250
- }[]>;
251
- listGroups: ({ accountId }: {
252
- accountId?: string;
253
- }) => Promise<{
254
- id: string;
255
- name: string;
256
- kind: string;
257
- }[]>;
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[]>;
258
458
  };
259
459
  actions: {
260
460
  listActions: () => string[];
@@ -263,6 +463,17 @@ export declare const httpChannelPlugin: {
263
463
  }) => boolean;
264
464
  supportsButtons: () => boolean;
265
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
+ }>;
266
477
  };
267
478
  heartbeat: {
268
479
  checkReady: ({ cfg, accountId }: {
@@ -272,10 +483,7 @@ export declare const httpChannelPlugin: {
272
483
  ok: boolean;
273
484
  reason: string;
274
485
  }>;
275
- resolveRecipients: ({ cfg, accountId }: {
276
- cfg: ChannelConfig;
277
- accountId?: string | null;
278
- }) => {
486
+ resolveRecipients: ({ cfg, opts }: ChannelHeartbeatRecipientsParams) => {
279
487
  recipients: string[];
280
488
  source: string;
281
489
  };
@@ -1 +1 @@
1
- {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"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"}