@qwen-code/channel-base 0.19.3 → 0.19.4

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.
@@ -0,0 +1,195 @@
1
+ import * as crypto from 'node:crypto';
2
+ import * as fs from 'node:fs/promises';
3
+ import * as path from 'node:path';
4
+ export class ChannelLoopStore {
5
+ filePath;
6
+ now;
7
+ idFactory;
8
+ pendingUpdate = Promise.resolve();
9
+ constructor(options) {
10
+ this.filePath = options.filePath;
11
+ this.now = options.now ?? (() => new Date());
12
+ this.idFactory = options.idFactory ?? (() => crypto.randomUUID());
13
+ }
14
+ async list() {
15
+ return this.readJobs();
16
+ }
17
+ async listForTarget(channelName, target) {
18
+ const jobs = await this.readJobs();
19
+ return jobs.filter((job) => job.channelName === channelName && sameTarget(job.target, target));
20
+ }
21
+ async create(input) {
22
+ let job;
23
+ await this.updateJobs((jobs) => {
24
+ job = this.buildLoop(input, jobs);
25
+ return [...jobs, job];
26
+ });
27
+ if (!job)
28
+ throw new Error('Failed to create channel loop.');
29
+ return job;
30
+ }
31
+ async createForTarget(input, maxEnabledLoops) {
32
+ let created;
33
+ await this.updateJobs((jobs) => {
34
+ const enabledForTarget = jobs.filter((job) => job.enabled &&
35
+ job.channelName === input.channelName &&
36
+ sameTarget(job.target, input.target)).length;
37
+ if (enabledForTarget >= maxEnabledLoops) {
38
+ return jobs;
39
+ }
40
+ const job = this.buildLoop(input, jobs);
41
+ created = job;
42
+ return [...jobs, job];
43
+ });
44
+ return created;
45
+ }
46
+ async update(id, patch) {
47
+ let found = false;
48
+ await this.updateJobs((jobs) => jobs.map((job) => {
49
+ if (job.id !== id)
50
+ return job;
51
+ found = true;
52
+ return { ...job, ...patch };
53
+ }));
54
+ return found;
55
+ }
56
+ async disable(id) {
57
+ return this.update(id, { enabled: false });
58
+ }
59
+ buildLoop(input, existingLoops) {
60
+ const existingIds = new Set(existingLoops.map((loop) => loop.id));
61
+ const baseId = this.idFactory();
62
+ let id = baseId;
63
+ let suffix = 1;
64
+ while (existingIds.has(id)) {
65
+ id = `${baseId}-${suffix++}`;
66
+ }
67
+ return {
68
+ ...input,
69
+ id,
70
+ target: normalizeTarget(input.target),
71
+ enabled: true,
72
+ createdAt: this.now().toISOString(),
73
+ consecutiveFailures: 0,
74
+ runCount: 0,
75
+ };
76
+ }
77
+ async updateJobs(mutate) {
78
+ const nextUpdate = this.pendingUpdate.then(async () => {
79
+ const jobs = await this.readJobs();
80
+ await this.writeJobs(mutate(jobs));
81
+ });
82
+ this.pendingUpdate = nextUpdate.catch(() => { });
83
+ await nextUpdate;
84
+ }
85
+ async readJobs() {
86
+ let raw;
87
+ try {
88
+ raw = await fs.readFile(this.filePath, 'utf8');
89
+ }
90
+ catch (err) {
91
+ if (err.code === 'ENOENT')
92
+ return [];
93
+ throw err;
94
+ }
95
+ let parsed;
96
+ try {
97
+ parsed = JSON.parse(raw);
98
+ }
99
+ catch {
100
+ throw new Error(`Malformed JSON in ${this.filePath}; fix or delete the file.`);
101
+ }
102
+ if (!Array.isArray(parsed)) {
103
+ throw new Error(`Expected a JSON array in ${this.filePath}; fix or delete the file.`);
104
+ }
105
+ const jobs = [];
106
+ for (const [index, value] of parsed.entries()) {
107
+ if (!isChannelLoop(value)) {
108
+ process.stderr.write(`Invalid channel loop at index ${index} in ${this.filePath}: ${JSON.stringify(value)}\n`);
109
+ continue;
110
+ }
111
+ jobs.push(normalizeJob(value));
112
+ }
113
+ return jobs;
114
+ }
115
+ async writeJobs(jobs) {
116
+ const dir = path.dirname(this.filePath);
117
+ await fs.mkdir(dir, { recursive: true, mode: 0o700 });
118
+ await fs.chmod(dir, 0o700).catch(() => { });
119
+ const tmpPath = `${this.filePath}.${crypto.randomBytes(6).toString('hex')}.tmp`;
120
+ try {
121
+ await fs.writeFile(tmpPath, JSON.stringify(jobs, null, 2), {
122
+ encoding: 'utf8',
123
+ mode: 0o600,
124
+ });
125
+ await fs.rename(tmpPath, this.filePath);
126
+ await fs.chmod(this.filePath, 0o600).catch(() => { });
127
+ }
128
+ catch (err) {
129
+ await fs.rm(tmpPath, { force: true }).catch(() => { });
130
+ throw err;
131
+ }
132
+ }
133
+ }
134
+ function sameTarget(a, b) {
135
+ return (a.channelName === b.channelName &&
136
+ a.senderId === b.senderId &&
137
+ a.chatId === b.chatId &&
138
+ a.threadId === b.threadId &&
139
+ a.isGroup === b.isGroup);
140
+ }
141
+ function normalizeTarget(target) {
142
+ return {
143
+ ...target,
144
+ isGroup: target.isGroup === undefined ? undefined : target.isGroup === true,
145
+ };
146
+ }
147
+ function isSessionTarget(value) {
148
+ if (typeof value !== 'object' || value === null)
149
+ return false;
150
+ const target = value;
151
+ return (typeof target['channelName'] === 'string' &&
152
+ typeof target['senderId'] === 'string' &&
153
+ typeof target['chatId'] === 'string' &&
154
+ (target['threadId'] === undefined ||
155
+ typeof target['threadId'] === 'string') &&
156
+ (target['isGroup'] === undefined || typeof target['isGroup'] === 'boolean'));
157
+ }
158
+ function isChannelLoop(value) {
159
+ if (typeof value !== 'object' || value === null)
160
+ return false;
161
+ const job = value;
162
+ return (typeof job['id'] === 'string' &&
163
+ typeof job['channelName'] === 'string' &&
164
+ isSessionTarget(job['target']) &&
165
+ typeof job['cwd'] === 'string' &&
166
+ typeof job['cron'] === 'string' &&
167
+ typeof job['prompt'] === 'string' &&
168
+ (job['label'] === undefined || typeof job['label'] === 'string') &&
169
+ typeof job['recurring'] === 'boolean' &&
170
+ typeof job['enabled'] === 'boolean' &&
171
+ typeof job['createdBy'] === 'string' &&
172
+ typeof job['createdAt'] === 'string' &&
173
+ (job['lastFiredAt'] === undefined ||
174
+ typeof job['lastFiredAt'] === 'string') &&
175
+ (job['lastFinishedAt'] === undefined ||
176
+ typeof job['lastFinishedAt'] === 'string') &&
177
+ (job['lastResultPreview'] === undefined ||
178
+ typeof job['lastResultPreview'] === 'string') &&
179
+ (job['lastStatus'] === undefined ||
180
+ job['lastStatus'] === 'ok' ||
181
+ job['lastStatus'] === 'error') &&
182
+ (job['lastError'] === undefined || typeof job['lastError'] === 'string') &&
183
+ typeof job['consecutiveFailures'] === 'number' &&
184
+ (job['runningSince'] === undefined ||
185
+ typeof job['runningSince'] === 'string') &&
186
+ (job['runCount'] === undefined || typeof job['runCount'] === 'number'));
187
+ }
188
+ function normalizeJob(job) {
189
+ return {
190
+ ...job,
191
+ target: normalizeTarget(job.target),
192
+ runCount: job.runCount ?? 0,
193
+ };
194
+ }
195
+ //# sourceMappingURL=ChannelLoopStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChannelLoopStore.js","sourceRoot":"","sources":["../src/ChannelLoopStore.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { EventEmitter } from 'node:events';
2
2
  import type { RequestPermissionRequest, RequestPermissionResponse } from '@agentclientprotocol/sdk';
3
- import type { AvailableCommand } from './AcpBridge.js';
3
+ import type { AvailableCommand, ChannelAgentBridge } from './ChannelAgentBridge.js';
4
4
  import type { SessionScope } from './types.js';
5
5
  export interface DaemonChannelEvent {
6
6
  id?: number;
@@ -66,7 +66,7 @@ type DaemonPermissionOutcome = {
66
66
  outcome: 'selected';
67
67
  optionId: string;
68
68
  };
69
- export declare class DaemonChannelBridge extends EventEmitter {
69
+ export declare class DaemonChannelBridge extends EventEmitter implements ChannelAgentBridge {
70
70
  private readonly options;
71
71
  private readonly sessions;
72
72
  private readonly eventControllers;
@@ -1,4 +1,5 @@
1
1
  import { EventEmitter } from 'node:events';
2
+ import { readAvailableCommandAltNames } from './AcpBridge.js';
2
3
  const MAX_RESPONDED_PERMISSION_REQUESTS = 256;
3
4
  function isRecord(value) {
4
5
  return typeof value === 'object' && value !== null;
@@ -19,7 +20,15 @@ function getSessionUpdate(data) {
19
20
  return data['update'];
20
21
  }
21
22
  function isAvailableCommand(value) {
22
- return isRecord(value) && typeof value['name'] === 'string';
23
+ if (!isRecord(value) || typeof value['name'] !== 'string')
24
+ return false;
25
+ // altNames is optional; when present it MUST be a string[] (so the type guard is
26
+ // honest). A malformed wire payload — e.g. `altNames: 5` — would otherwise survive
27
+ // onto the command and throw at the downstream `altNames.some(...)` recognition
28
+ // site in ChannelBase.matchAgentCommand.
29
+ const altNames = value['altNames'];
30
+ return (altNames === undefined ||
31
+ (Array.isArray(altNames) && altNames.every((n) => typeof n === 'string')));
23
32
  }
24
33
  function isPermissionRequestData(value) {
25
34
  if (!isRecord(value) ||
@@ -362,7 +371,12 @@ export class DaemonChannelBridge extends EventEmitter {
362
371
  }
363
372
  case 'available_commands_update': {
364
373
  if (Array.isArray(update['availableCommands'])) {
365
- const commands = update['availableCommands'].filter(isAvailableCommand);
374
+ const commands = update['availableCommands']
375
+ .filter(isAvailableCommand)
376
+ .map((cmd) => {
377
+ const altNames = readAvailableCommandAltNames(cmd);
378
+ return altNames ? { ...cmd, altNames } : cmd;
379
+ });
366
380
  this.availableCommandsBySession.set(sessionId, commands);
367
381
  this.latestAvailableCommandsSessionId = sessionId;
368
382
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DaemonChannelBridge.js","sourceRoot":"","sources":["../src/DaemonChannelBridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DaemonChannelBridge.js","sourceRoot":"","sources":["../src/DaemonChannelBridge.ts"],"names":[],"mappings":"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"}
@@ -9,5 +9,6 @@ export declare class SenderGate {
9
9
  private allowedUsers;
10
10
  private pairingStore;
11
11
  constructor(policy: SenderPolicy, allowedUsers?: string[], pairingStore?: PairingStore);
12
+ isAllowed(senderId: string): boolean;
12
13
  check(senderId: string, senderName?: string): SenderCheckResult;
13
14
  }
@@ -7,6 +7,19 @@ export class SenderGate {
7
7
  this.allowedUsers = new Set(allowedUsers);
8
8
  this.pairingStore = pairingStore || null;
9
9
  }
10
+ isAllowed(senderId) {
11
+ switch (this.policy) {
12
+ case 'open':
13
+ return true;
14
+ case 'allowlist':
15
+ return this.allowedUsers.has(senderId);
16
+ case 'pairing':
17
+ return (this.allowedUsers.has(senderId) ||
18
+ this.pairingStore?.isApproved(senderId) === true);
19
+ default:
20
+ throw new Error(`Unknown sender policy: ${this.policy}`);
21
+ }
22
+ }
10
23
  check(senderId, senderName) {
11
24
  switch (this.policy) {
12
25
  case 'open':
@@ -1 +1 @@
1
- {"version":3,"file":"SenderGate.js","sourceRoot":"","sources":["../src/SenderGate.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,UAAU;IACb,MAAM,CAAe;IACrB,YAAY,CAAc;IAC1B,YAAY,CAAsB;IAE1C,YACE,MAAoB,EACpB,eAAyB,EAAE,EAC3B,YAA2B;QAE3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,IAAI,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,QAAgB,EAAE,UAAmB;QACzC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,MAAM;gBACT,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3B,KAAK,WAAW;gBACd,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,+BAA+B;gBAC/B,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC3B,CAAC;gBACD,8BAA8B;gBAC9B,IAAI,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC3B,CAAC;gBACD,wBAAwB;gBACxB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,aAAa,CAC3C,QAAQ,EACR,UAAU,IAAI,QAAQ,CACvB,CAAC;gBACF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;YACvD,CAAC;YACD;gBACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"SenderGate.js","sourceRoot":"","sources":["../src/SenderGate.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,UAAU;IACb,MAAM,CAAe;IACrB,YAAY,CAAc;IAC1B,YAAY,CAAsB;IAE1C,YACE,MAAoB,EACpB,eAAyB,EAAE,EAC3B,YAA2B;QAE3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,IAAI,CAAC;IAC3C,CAAC;IAED,SAAS,CAAC,QAAgB;QACxB,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC;YACd,KAAK,WAAW;gBACd,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzC,KAAK,SAAS;gBACZ,OAAO,CACL,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAC/B,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,IAAI,CACjD,CAAC;YACJ;gBACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAgB,EAAE,UAAmB;QACzC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,MAAM;gBACT,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3B,KAAK,WAAW;gBACd,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,+BAA+B;gBAC/B,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC3B,CAAC;gBACD,8BAA8B;gBAC9B,IAAI,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC3B,CAAC;gBACD,wBAAwB;gBACxB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,aAAa,CAC3C,QAAQ,EACR,UAAU,IAAI,QAAQ,CACvB,CAAC;gBACF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;YACvD,CAAC;YACD;gBACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;CACF"}
@@ -1,35 +1,32 @@
1
1
  import type { SessionScope, SessionTarget } from './types.js';
2
- import type { AcpBridge } from './AcpBridge.js';
2
+ import type { ChannelAgentBridge } from './ChannelAgentBridge.js';
3
3
  export declare class SessionRouter {
4
4
  private toSession;
5
5
  private toTarget;
6
6
  private toCwd;
7
+ private creatingSessions;
8
+ private sessionLoadWindows;
7
9
  private bridge;
8
10
  private defaultCwd;
9
11
  private defaultScope;
10
12
  private channelScopes;
11
13
  private persistPath;
12
- constructor(bridge: AcpBridge, defaultCwd: string, scope?: SessionScope, persistPath?: string);
14
+ constructor(bridge: ChannelAgentBridge, defaultCwd: string, scope?: SessionScope, persistPath?: string);
13
15
  /** Replace the bridge instance (used after crash recovery restart). */
14
- setBridge(bridge: AcpBridge): void;
16
+ setBridge(bridge: ChannelAgentBridge): void;
15
17
  /** Set scope override for a specific channel. */
16
18
  setChannelScope(channelName: string, scope: SessionScope): void;
17
19
  private routingKey;
18
- /**
19
- * Sender-scoped key prefix for by-sender (no chatId) scans. The trailing
20
- * ':' delimiter ensures a sender id matches as a whole segment — without it
21
- * sender "bob" would also match another sender "bobby"
22
- * (key `${channelName}:bobby:${chatId}`).
23
- */
24
- private senderPrefix;
25
20
  resolve(channelName: string, senderId: string, chatId: string, threadId?: string, cwd?: string): Promise<string>;
26
21
  getTarget(sessionId: string): SessionTarget | undefined;
27
22
  getSession(channelName: string, senderId: string, chatId: string, threadId?: string): string | undefined;
28
- hasSession(channelName: string, senderId: string, chatId?: string): boolean;
23
+ hasSession(channelName: string, senderId: string, chatId?: string, threadId?: string): boolean;
29
24
  /**
30
25
  * Remove session(s) for the given sender. Returns the removed session IDs.
31
26
  */
32
- removeSession(channelName: string, senderId: string, chatId?: string): string[];
27
+ removeSession(channelName: string, senderId: string, chatId?: string, threadId?: string): string[];
28
+ /** Remove a session mapping by daemon/ACP session ID. */
29
+ removeSessionId(sessionId: string): boolean;
33
30
  private deleteByKey;
34
31
  /** Get all session entries for crash recovery. */
35
32
  getAll(): Array<{
@@ -40,7 +37,7 @@ export declare class SessionRouter {
40
37
  /**
41
38
  * Restore session mappings from a previous bridge.
42
39
  * Called after bridge restart — attempts loadSession for each saved mapping.
43
- * Failed loads are silently dropped (new session on next message).
40
+ * Failed loads are dropped (new session on next message).
44
41
  */
45
42
  restoreSessions(): Promise<{
46
43
  restored: number;
@@ -49,4 +46,8 @@ export declare class SessionRouter {
49
46
  /** Clear in-memory state and delete persist file. Used on clean shutdown. */
50
47
  clearAll(): void;
51
48
  private persist;
49
+ private createLiveSession;
50
+ private beginSessionLoad;
51
+ private createSessionReservation;
52
+ private endSessionLoad;
52
53
  }