chatroom-cli 1.0.19 → 1.0.22
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/README.md +3 -3
- package/dist/commands/handoff.js +4 -4
- package/dist/commands/handoff.js.map +1 -1
- package/dist/commands/{wait-for-message.d.ts → wait-for-task.d.ts} +4 -4
- package/dist/commands/wait-for-task.d.ts.map +1 -0
- package/dist/commands/{wait-for-message.js → wait-for-task.js} +27 -18
- package/dist/commands/wait-for-task.js.map +1 -0
- package/dist/config.d.ts +2 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +3 -3
- package/dist/config.js.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/commands/create.d.ts +0 -9
- package/dist/commands/create.d.ts.map +0 -1
- package/dist/commands/create.js +0 -57
- package/dist/commands/create.js.map +0 -1
- package/dist/commands/send.d.ts +0 -11
- package/dist/commands/send.d.ts.map +0 -1
- package/dist/commands/send.js +0 -55
- package/dist/commands/send.js.map +0 -1
- package/dist/commands/task-complete.d.ts +0 -21
- package/dist/commands/task-complete.d.ts.map +0 -1
- package/dist/commands/task-complete.js +0 -83
- package/dist/commands/task-complete.js.map +0 -1
- package/dist/commands/wait-for-message.d.ts.map +0 -1
- package/dist/commands/wait-for-message.js.map +0 -1
package/README.md
CHANGED
|
@@ -33,12 +33,12 @@ In the web app, click **+ New** and select a team:
|
|
|
33
33
|
|
|
34
34
|
### 5. Initialize Agents
|
|
35
35
|
|
|
36
|
-
Copy the agent prompt from the web UI sidebar and paste it into your AI assistant. The prompt includes the `wait-for-
|
|
36
|
+
Copy the agent prompt from the web UI sidebar and paste it into your AI assistant. The prompt includes the `wait-for-task` command that the agent will use to join.
|
|
37
37
|
|
|
38
38
|
Each agent needs:
|
|
39
39
|
|
|
40
40
|
```bash
|
|
41
|
-
chatroom wait-for-
|
|
41
|
+
chatroom wait-for-task <chatroom-id> --role=<role>
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
### 6. Send a Task
|
|
@@ -70,7 +70,7 @@ Once all agents have joined (team shows as "ready"), type your task in the messa
|
|
|
70
70
|
|
|
71
71
|
| Command | Description |
|
|
72
72
|
| ------------------------------------------------------------------------ | ----------------------------------- |
|
|
73
|
-
| `chatroom wait-for-
|
|
73
|
+
| `chatroom wait-for-task <id> --role=<role>` | Join chatroom and wait for tasks |
|
|
74
74
|
| `chatroom handoff <id> --role=<role> --message="..." --next-role=<role>` | Complete task and hand off |
|
|
75
75
|
|
|
76
76
|
### Backlog Commands
|
package/dist/commands/handoff.js
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* 5. Updates the sender's participant status to waiting
|
|
11
11
|
* 6. Promotes the next queued task to pending
|
|
12
12
|
*/
|
|
13
|
-
import {
|
|
13
|
+
import { waitForTask } from './wait-for-task.js';
|
|
14
14
|
import { api } from '../api.js';
|
|
15
15
|
import { getSessionId } from '../infrastructure/auth/storage.js';
|
|
16
16
|
import { getConvexClient } from '../infrastructure/convex/client.js';
|
|
@@ -70,14 +70,14 @@ export async function handoff(chatroomId, options) {
|
|
|
70
70
|
console.log(`\n🎉 Workflow complete! Control returned to user.`);
|
|
71
71
|
if (!noWait) {
|
|
72
72
|
console.log(`\n⏳ Waiting for next assignment...`);
|
|
73
|
-
await
|
|
73
|
+
await waitForTask(chatroomId, { role, silent: true });
|
|
74
74
|
}
|
|
75
75
|
return;
|
|
76
76
|
}
|
|
77
|
-
// Auto-wait for next
|
|
77
|
+
// Auto-wait for next task unless --no-wait is specified
|
|
78
78
|
if (!noWait) {
|
|
79
79
|
console.log(`\n⏳ Waiting for next assignment...`);
|
|
80
|
-
await
|
|
80
|
+
await waitForTask(chatroomId, { role, silent: true });
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
//# sourceMappingURL=handoff.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../src/commands/handoff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../src/commands/handoff.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Wait for
|
|
2
|
+
* Wait for tasks in a chatroom
|
|
3
3
|
*/
|
|
4
|
-
interface
|
|
4
|
+
interface WaitForTaskOptions {
|
|
5
5
|
role: string;
|
|
6
6
|
timeout?: number;
|
|
7
7
|
duration?: string;
|
|
@@ -12,6 +12,6 @@ interface WaitForMessageOptions {
|
|
|
12
12
|
* Returns null if the format is invalid.
|
|
13
13
|
*/
|
|
14
14
|
export declare function parseDuration(duration: string): number | null;
|
|
15
|
-
export declare function
|
|
15
|
+
export declare function waitForTask(chatroomId: string, options: WaitForTaskOptions): Promise<void>;
|
|
16
16
|
export {};
|
|
17
|
-
//# sourceMappingURL=wait-for-
|
|
17
|
+
//# sourceMappingURL=wait-for-task.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait-for-task.d.ts","sourceRoot":"","sources":["../../src/commands/wait-for-task.ts"],"names":[],"mappings":"AAAA;;GAEG;AAeH,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA4B7D;AA8BD,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuWhG"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Wait for
|
|
2
|
+
* Wait for tasks in a chatroom
|
|
3
3
|
*/
|
|
4
4
|
import { api, } from '../api.js';
|
|
5
|
-
import { WAIT_POLL_INTERVAL_MS, MAX_SILENT_ERRORS } from '../config.js';
|
|
5
|
+
import { WAIT_POLL_INTERVAL_MS, MAX_SILENT_ERRORS, DEFAULT_WAIT_TIMEOUT_MS } from '../config.js';
|
|
6
6
|
import { getSessionId } from '../infrastructure/auth/storage.js';
|
|
7
7
|
import { getConvexClient } from '../infrastructure/convex/client.js';
|
|
8
8
|
/**
|
|
@@ -53,15 +53,15 @@ function formatDuration(ms) {
|
|
|
53
53
|
return `${seconds}s`;
|
|
54
54
|
}
|
|
55
55
|
/**
|
|
56
|
-
* Print the wait-for-
|
|
56
|
+
* Print the wait-for-task reminder - short but forceful.
|
|
57
57
|
*/
|
|
58
58
|
function printWaitReminder(chatroomId, role) {
|
|
59
59
|
console.log(`${'─'.repeat(50)}`);
|
|
60
|
-
console.log(`⚠️ ALWAYS run \`wait-for-
|
|
61
|
-
console.log(` chatroom wait-for-
|
|
60
|
+
console.log(`⚠️ ALWAYS run \`wait-for-task\` after handoff. If it times out, run it again immediately.`);
|
|
61
|
+
console.log(` chatroom wait-for-task ${chatroomId} --role=${role}`);
|
|
62
62
|
console.log(`${'─'.repeat(50)}`);
|
|
63
63
|
}
|
|
64
|
-
export async function
|
|
64
|
+
export async function waitForTask(chatroomId, options) {
|
|
65
65
|
const client = await getConvexClient();
|
|
66
66
|
const { role, timeout, duration, silent } = options;
|
|
67
67
|
// Get session ID for authentication
|
|
@@ -92,8 +92,8 @@ export async function waitForMessage(chatroomId, options) {
|
|
|
92
92
|
process.exit(1);
|
|
93
93
|
}
|
|
94
94
|
// Calculate readyUntil timestamp for this session
|
|
95
|
-
// If no timeout specified, default
|
|
96
|
-
const effectiveTimeout = timeout ||
|
|
95
|
+
// If no timeout specified, use configured default (10 minutes)
|
|
96
|
+
const effectiveTimeout = timeout || DEFAULT_WAIT_TIMEOUT_MS;
|
|
97
97
|
const readyUntil = Date.now() + effectiveTimeout;
|
|
98
98
|
// Join the chatroom with readyUntil timestamp
|
|
99
99
|
await client.mutation(api.participants.join, {
|
|
@@ -105,8 +105,8 @@ export async function waitForMessage(chatroomId, options) {
|
|
|
105
105
|
if (!silent) {
|
|
106
106
|
console.log(`✅ Joined chatroom as "${role}"`);
|
|
107
107
|
}
|
|
108
|
-
const durationDisplay =
|
|
109
|
-
console.log(`⏳ Waiting for
|
|
108
|
+
const durationDisplay = formatDuration(effectiveTimeout);
|
|
109
|
+
console.log(`⏳ Waiting for tasks (duration: ${durationDisplay})...`);
|
|
110
110
|
console.log('');
|
|
111
111
|
printWaitReminder(chatroomId, role);
|
|
112
112
|
console.log('');
|
|
@@ -119,7 +119,7 @@ export async function waitForMessage(chatroomId, options) {
|
|
|
119
119
|
if (pollTimeout)
|
|
120
120
|
clearTimeout(pollTimeout);
|
|
121
121
|
const durationDisplay = duration || formatDuration(effectiveTimeout);
|
|
122
|
-
const command = `chatroom wait-for-
|
|
122
|
+
const command = `chatroom wait-for-task ${chatroomId} --role=${role}${duration ? ` --duration="${duration}"` : ''}`;
|
|
123
123
|
console.log(`\n✅ WAIT SESSION COMPLETE AFTER ${durationDisplay} of waiting`);
|
|
124
124
|
console.log(`Please continue listening by running \`${command}\``);
|
|
125
125
|
process.exit(0); // Exit with 0 since this is expected behavior
|
|
@@ -254,7 +254,7 @@ export async function waitForMessage(chatroomId, options) {
|
|
|
254
254
|
else {
|
|
255
255
|
console.log(`When your task is complete, run:\n`);
|
|
256
256
|
}
|
|
257
|
-
console.log(` chatroom
|
|
257
|
+
console.log(` chatroom handoff ${chatroomId} \\`);
|
|
258
258
|
console.log(` --role=${role} \\`);
|
|
259
259
|
console.log(` --message="<summary of what you accomplished>" \\`);
|
|
260
260
|
console.log(` --next-role=<target>\n`);
|
|
@@ -314,7 +314,7 @@ export async function waitForMessage(chatroomId, options) {
|
|
|
314
314
|
taskStartedCommand: needsClassification
|
|
315
315
|
? `chatroom task-started ${chatroomId} --role=${role} --classification=<question|new_feature|follow_up>`
|
|
316
316
|
: null,
|
|
317
|
-
taskCompleteCommand: `chatroom
|
|
317
|
+
taskCompleteCommand: `chatroom handoff ${chatroomId} --role=${role} --message="<summary>" --next-role=<target>`,
|
|
318
318
|
availableHandoffRoles: rolePromptInfo.availableHandoffRoles,
|
|
319
319
|
terminationRole: 'user',
|
|
320
320
|
classification: rolePromptInfo.currentClassification,
|
|
@@ -352,13 +352,22 @@ export async function waitForMessage(chatroomId, options) {
|
|
|
352
352
|
};
|
|
353
353
|
// Start polling
|
|
354
354
|
poll();
|
|
355
|
-
// Handle interrupt
|
|
356
|
-
|
|
355
|
+
// Handle interrupt signals
|
|
356
|
+
const handleSignal = (signal) => {
|
|
357
357
|
if (pollTimeout)
|
|
358
358
|
clearTimeout(pollTimeout);
|
|
359
359
|
clearTimeout(timeoutHandle);
|
|
360
|
-
console.log(`\n⚠️
|
|
360
|
+
console.log(`\n⚠️ ${signal} received - process terminated by host`);
|
|
361
|
+
console.log(` The wait session ended before timing out naturally.`);
|
|
362
|
+
console.log(` To resume waiting, run:`);
|
|
363
|
+
console.log(` chatroom wait-for-task ${chatroomId} --role=${role}`);
|
|
361
364
|
process.exit(0);
|
|
362
|
-
}
|
|
365
|
+
};
|
|
366
|
+
// SIGINT: Ctrl+C or interrupt signal
|
|
367
|
+
process.on('SIGINT', () => handleSignal('SIGINT'));
|
|
368
|
+
// SIGTERM: Graceful termination (e.g., container shutdown, AI agent timeout)
|
|
369
|
+
process.on('SIGTERM', () => handleSignal('SIGTERM'));
|
|
370
|
+
// SIGHUP: Hang up signal (terminal closed)
|
|
371
|
+
process.on('SIGHUP', () => handleSignal('SIGHUP'));
|
|
363
372
|
}
|
|
364
|
-
//# sourceMappingURL=wait-for-
|
|
373
|
+
//# sourceMappingURL=wait-for-task.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait-for-task.js","sourceRoot":"","sources":["../../src/commands/wait-for-task.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
*/
|
|
6
6
|
/** Polling interval for the create command (monitoring chatroom) */
|
|
7
7
|
export declare const CREATE_POLL_INTERVAL_MS = 1000;
|
|
8
|
-
/** Polling interval for wait-for-
|
|
8
|
+
/** Polling interval for wait-for-task command */
|
|
9
9
|
export declare const WAIT_POLL_INTERVAL_MS = 500;
|
|
10
|
-
/** Default timeout for wait-for-
|
|
10
|
+
/** Default timeout for wait-for-task (10 minutes) */
|
|
11
11
|
export declare const DEFAULT_WAIT_TIMEOUT_MS: number;
|
|
12
12
|
/** Maximum consecutive errors before logging a warning */
|
|
13
13
|
export declare const MAX_SILENT_ERRORS = 5;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,oEAAoE;AACpE,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,oEAAoE;AACpE,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C,iDAAiD;AACjD,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC,qDAAqD;AACrD,eAAO,MAAM,uBAAuB,QAAiB,CAAC;AAEtD,0DAA0D;AAC1D,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,mDAAmD;AACnD,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C,uCAAuC;AACvC,eAAO,MAAM,eAAe,QAA+C,CAAC"}
|
package/dist/config.js
CHANGED
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
*/
|
|
6
6
|
/** Polling interval for the create command (monitoring chatroom) */
|
|
7
7
|
export const CREATE_POLL_INTERVAL_MS = 1000;
|
|
8
|
-
/** Polling interval for wait-for-
|
|
8
|
+
/** Polling interval for wait-for-task command */
|
|
9
9
|
export const WAIT_POLL_INTERVAL_MS = 500;
|
|
10
|
-
/** Default timeout for wait-for-
|
|
11
|
-
export const DEFAULT_WAIT_TIMEOUT_MS =
|
|
10
|
+
/** Default timeout for wait-for-task (10 minutes) */
|
|
11
|
+
export const DEFAULT_WAIT_TIMEOUT_MS = 10 * 60 * 1000;
|
|
12
12
|
/** Maximum consecutive errors before logging a warning */
|
|
13
13
|
export const MAX_SILENT_ERRORS = 5;
|
|
14
14
|
/** Maximum messages to fetch for context lookup */
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,oEAAoE;AACpE,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAE5C,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,oEAAoE;AACpE,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAE5C,iDAAiD;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAEzC,qDAAqD;AACrD,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEtD,0DAA0D;AAC1D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAEnC,mDAAmD;AACnD,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAE5C,uCAAuC;AACvC,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -95,14 +95,14 @@ program
|
|
|
95
95
|
await completeChatroom(chatroomId);
|
|
96
96
|
});
|
|
97
97
|
program
|
|
98
|
-
.command('wait-for-
|
|
99
|
-
.description('Join a chatroom and wait for
|
|
98
|
+
.command('wait-for-task <chatroomId>')
|
|
99
|
+
.description('Join a chatroom and wait for tasks')
|
|
100
100
|
.requiredOption('--role <role>', 'Role to join as (e.g., builder, reviewer)')
|
|
101
101
|
.option('--timeout <ms>', 'Optional timeout in milliseconds (deprecated, use --duration)')
|
|
102
102
|
.option('--duration <duration>', 'How long to wait (e.g., "1m", "5m", "30s")')
|
|
103
103
|
.action(async (chatroomId, options) => {
|
|
104
104
|
await maybeRequireAuth();
|
|
105
|
-
const {
|
|
105
|
+
const { waitForTask, parseDuration } = await import('./commands/wait-for-task.js');
|
|
106
106
|
// Parse duration if provided, otherwise fall back to timeout
|
|
107
107
|
let timeoutMs;
|
|
108
108
|
if (options.duration) {
|
|
@@ -116,7 +116,7 @@ program
|
|
|
116
116
|
else if (options.timeout) {
|
|
117
117
|
timeoutMs = parseInt(options.timeout, 10);
|
|
118
118
|
}
|
|
119
|
-
await
|
|
119
|
+
await waitForTask(chatroomId, {
|
|
120
120
|
role: options.role,
|
|
121
121
|
timeout: timeoutMs,
|
|
122
122
|
duration: options.duration,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,cAAc,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuD/E"}
|
package/dist/commands/create.js
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Create a new chatroom
|
|
3
|
-
*/
|
|
4
|
-
import { api } from '../api.js';
|
|
5
|
-
import { loadConfig, getTeam, getDefaultTeam, getTeamIds } from '../config/loader.js';
|
|
6
|
-
import { getSessionId } from '../infrastructure/auth/storage.js';
|
|
7
|
-
import { getConvexClient } from '../infrastructure/convex/client.js';
|
|
8
|
-
export async function createChatroom(options = {}) {
|
|
9
|
-
const client = await getConvexClient();
|
|
10
|
-
// Get session ID for authentication
|
|
11
|
-
const sessionId = getSessionId();
|
|
12
|
-
if (!sessionId) {
|
|
13
|
-
console.error(`❌ Not authenticated. Please run: chatroom auth login`);
|
|
14
|
-
process.exit(1);
|
|
15
|
-
}
|
|
16
|
-
// Load configuration
|
|
17
|
-
const { config, configPath } = loadConfig();
|
|
18
|
-
// Determine which team to use
|
|
19
|
-
let teamId;
|
|
20
|
-
let team;
|
|
21
|
-
if (options.team) {
|
|
22
|
-
team = getTeam(config, options.team);
|
|
23
|
-
if (!team) {
|
|
24
|
-
console.error(`❌ Team '${options.team}' not found`);
|
|
25
|
-
console.error(` Available teams: ${getTeamIds(config).join(', ')}`);
|
|
26
|
-
process.exit(1);
|
|
27
|
-
}
|
|
28
|
-
teamId = options.team;
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
teamId = config.defaultTeam;
|
|
32
|
-
team = getDefaultTeam(config);
|
|
33
|
-
}
|
|
34
|
-
// Determine entry point (defaults to first role)
|
|
35
|
-
const entryPoint = team.entryPoint ?? team.roles[0];
|
|
36
|
-
// Create the chatroom with team info
|
|
37
|
-
const chatroomId = await client.mutation(api.chatrooms.create, {
|
|
38
|
-
sessionId,
|
|
39
|
-
teamId,
|
|
40
|
-
teamName: team.name,
|
|
41
|
-
teamRoles: team.roles,
|
|
42
|
-
teamEntryPoint: entryPoint,
|
|
43
|
-
});
|
|
44
|
-
console.log(`\n✅ Chatroom created!`);
|
|
45
|
-
console.log(`📋 Chatroom ID: ${chatroomId}`);
|
|
46
|
-
console.log(`👥 Team: ${team.name} (${team.roles.join(', ')})`);
|
|
47
|
-
if (configPath) {
|
|
48
|
-
console.log(`📁 Config: ${configPath}`);
|
|
49
|
-
}
|
|
50
|
-
console.log(`\n🚀 Next steps:`);
|
|
51
|
-
console.log(` 1. Start agents for each role:`);
|
|
52
|
-
for (const role of team.roles) {
|
|
53
|
-
console.log(` chatroom wait-for-message ${chatroomId} --role=${role}`);
|
|
54
|
-
}
|
|
55
|
-
console.log(`\n 2. Send a message via the WebUI to get started`);
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=create.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAMrE,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,UAAyB,EAAE;IAC9D,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IAEvC,oCAAoC;IACpC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,qBAAqB;IACrB,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAAC;IAE5C,8BAA8B;IAC9B,IAAI,MAAc,CAAC;IACnB,IAAI,IAAI,CAAC;IAET,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,WAAW,OAAO,CAAC,IAAI,aAAa,CAAC,CAAC;YACpD,OAAO,CAAC,KAAK,CAAC,uBAAuB,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;QAC5B,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,iDAAiD;IACjD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEpD,qCAAqC;IACrC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE;QAC7D,SAAS;QACT,MAAM;QACN,QAAQ,EAAE,IAAI,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI,CAAC,KAAK;QACrB,cAAc,EAAE,UAAU;KAC3B,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChE,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,cAAc,UAAU,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,mCAAmC,UAAU,WAAW,IAAI,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;AACrE,CAAC"}
|
package/dist/commands/send.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Send a message to a chatroom
|
|
3
|
-
*/
|
|
4
|
-
interface SendOptions {
|
|
5
|
-
message: string;
|
|
6
|
-
role?: string;
|
|
7
|
-
skipReadyCheck?: boolean;
|
|
8
|
-
}
|
|
9
|
-
export declare function sendMessage(chatroomId: string, options: SendOptions): Promise<void>;
|
|
10
|
-
export {};
|
|
11
|
-
//# sourceMappingURL=send.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../src/commands/send.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAuDzF"}
|
package/dist/commands/send.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Send a message to a chatroom
|
|
3
|
-
*/
|
|
4
|
-
import { api } from '../api.js';
|
|
5
|
-
import { getSessionId } from '../infrastructure/auth/storage.js';
|
|
6
|
-
import { getConvexClient } from '../infrastructure/convex/client.js';
|
|
7
|
-
export async function sendMessage(chatroomId, options) {
|
|
8
|
-
const client = await getConvexClient();
|
|
9
|
-
const role = options.role || 'user';
|
|
10
|
-
// Get session ID for authentication
|
|
11
|
-
const sessionId = getSessionId();
|
|
12
|
-
if (!sessionId) {
|
|
13
|
-
console.error(`❌ Not authenticated. Please run: chatroom auth login`);
|
|
14
|
-
process.exit(1);
|
|
15
|
-
}
|
|
16
|
-
// Validate chatroom ID format
|
|
17
|
-
if (!chatroomId ||
|
|
18
|
-
typeof chatroomId !== 'string' ||
|
|
19
|
-
chatroomId.length < 20 ||
|
|
20
|
-
chatroomId.length > 40) {
|
|
21
|
-
console.error(`❌ Invalid chatroom ID format: ID must be 20-40 characters (got ${chatroomId?.length || 0})`);
|
|
22
|
-
process.exit(1);
|
|
23
|
-
}
|
|
24
|
-
// Check team readiness (unless skipped)
|
|
25
|
-
if (!options.skipReadyCheck && role.toLowerCase() === 'user') {
|
|
26
|
-
const readiness = await client.query(api.chatrooms.getTeamReadiness, {
|
|
27
|
-
sessionId,
|
|
28
|
-
chatroomId: chatroomId,
|
|
29
|
-
});
|
|
30
|
-
if (readiness && !readiness.isReady) {
|
|
31
|
-
console.log(`✅ Team ready: ${readiness.teamName} (${readiness.expectedRoles.join(', ')})`);
|
|
32
|
-
}
|
|
33
|
-
else if (readiness && readiness.missingRoles.length > 0) {
|
|
34
|
-
console.error(`⚠️ Team not ready. Missing: ${readiness.missingRoles.join(', ')}`);
|
|
35
|
-
console.error(' Use --skip-ready-check to send anyway');
|
|
36
|
-
process.exit(1);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
try {
|
|
40
|
-
const messageId = await client.mutation(api.messages.send, {
|
|
41
|
-
sessionId,
|
|
42
|
-
chatroomId: chatroomId,
|
|
43
|
-
senderRole: role,
|
|
44
|
-
content: options.message,
|
|
45
|
-
type: 'message',
|
|
46
|
-
});
|
|
47
|
-
console.log(`✅ Message sent!`);
|
|
48
|
-
console.log(`📋 Message ID: ${messageId}`);
|
|
49
|
-
}
|
|
50
|
-
catch (error) {
|
|
51
|
-
console.error(`❌ Failed to send message: ${error.message}`);
|
|
52
|
-
process.exit(1);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=send.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"send.js","sourceRoot":"","sources":["../../src/commands/send.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,GAAG,EAAW,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAQrE,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAAkB,EAAE,OAAoB;IACxE,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC;IAEpC,oCAAoC;IACpC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,8BAA8B;IAC9B,IACE,CAAC,UAAU;QACX,OAAO,UAAU,KAAK,QAAQ;QAC9B,UAAU,CAAC,MAAM,GAAG,EAAE;QACtB,UAAU,CAAC,MAAM,GAAG,EAAE,EACtB,CAAC;QACD,OAAO,CAAC,KAAK,CACX,kEAAkE,UAAU,EAAE,MAAM,IAAI,CAAC,GAAG,CAC7F,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,wCAAwC;IACxC,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;QAC7D,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE;YACnE,SAAS;YACT,UAAU,EAAE,UAAkC;SAC/C,CAAC,CAAC;QAEH,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,iBAAiB,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7F,CAAC;aAAM,IAAI,SAAS,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,OAAO,CAAC,KAAK,CAAC,gCAAgC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnF,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;YACzD,SAAS;YACT,UAAU,EAAE,UAAkC;YAC9C,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,kBAAkB,SAAS,EAAE,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,6BAA8B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Complete a task and hand off to the next role
|
|
3
|
-
*
|
|
4
|
-
* This command uses the atomic handoff mutation which performs all of
|
|
5
|
-
* these operations in a single transaction:
|
|
6
|
-
* 1. Validates the handoff is allowed (classification rules)
|
|
7
|
-
* 2. Completes all in_progress tasks in the chatroom
|
|
8
|
-
* 3. Sends the handoff message
|
|
9
|
-
* 4. Creates a task for the target agent (if not handing to user)
|
|
10
|
-
* 5. Updates the sender's participant status to waiting
|
|
11
|
-
* 6. Promotes the next queued task to pending
|
|
12
|
-
*/
|
|
13
|
-
interface TaskCompleteOptions {
|
|
14
|
-
role: string;
|
|
15
|
-
message: string;
|
|
16
|
-
nextRole: string;
|
|
17
|
-
noWait?: boolean;
|
|
18
|
-
}
|
|
19
|
-
export declare function taskComplete(chatroomId: string, options: TaskCompleteOptions): Promise<void>;
|
|
20
|
-
export {};
|
|
21
|
-
//# sourceMappingURL=task-complete.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task-complete.d.ts","sourceRoot":"","sources":["../../src/commands/task-complete.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CA8Ef"}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Complete a task and hand off to the next role
|
|
3
|
-
*
|
|
4
|
-
* This command uses the atomic handoff mutation which performs all of
|
|
5
|
-
* these operations in a single transaction:
|
|
6
|
-
* 1. Validates the handoff is allowed (classification rules)
|
|
7
|
-
* 2. Completes all in_progress tasks in the chatroom
|
|
8
|
-
* 3. Sends the handoff message
|
|
9
|
-
* 4. Creates a task for the target agent (if not handing to user)
|
|
10
|
-
* 5. Updates the sender's participant status to waiting
|
|
11
|
-
* 6. Promotes the next queued task to pending
|
|
12
|
-
*/
|
|
13
|
-
import { waitForMessage } from './wait-for-message.js';
|
|
14
|
-
import { api } from '../api.js';
|
|
15
|
-
import { getSessionId } from '../infrastructure/auth/storage.js';
|
|
16
|
-
import { getConvexClient } from '../infrastructure/convex/client.js';
|
|
17
|
-
export async function taskComplete(chatroomId, options) {
|
|
18
|
-
const client = await getConvexClient();
|
|
19
|
-
const { role, message, nextRole, noWait } = options;
|
|
20
|
-
// Get session ID for authentication
|
|
21
|
-
const sessionId = getSessionId();
|
|
22
|
-
if (!sessionId) {
|
|
23
|
-
console.error(`❌ Not authenticated. Please run: chatroom auth login`);
|
|
24
|
-
process.exit(1);
|
|
25
|
-
}
|
|
26
|
-
// Validate chatroom ID format
|
|
27
|
-
if (!chatroomId ||
|
|
28
|
-
typeof chatroomId !== 'string' ||
|
|
29
|
-
chatroomId.length < 20 ||
|
|
30
|
-
chatroomId.length > 40) {
|
|
31
|
-
console.error(`❌ Invalid chatroom ID format: ID must be 20-40 characters (got ${chatroomId?.length || 0})`);
|
|
32
|
-
process.exit(1);
|
|
33
|
-
}
|
|
34
|
-
try {
|
|
35
|
-
// Use atomic handoff mutation - performs all operations in one transaction:
|
|
36
|
-
// - Validates handoff is allowed (classification rules for user handoff)
|
|
37
|
-
// - Completes all in_progress tasks
|
|
38
|
-
// - Sends the handoff message
|
|
39
|
-
// - Creates a task for target agent (if not user)
|
|
40
|
-
// - Updates sender's participant status to waiting
|
|
41
|
-
// - Promotes next queued task to pending
|
|
42
|
-
//
|
|
43
|
-
// Note: We use sendHandoff here for backward compatibility with deployed backend.
|
|
44
|
-
// Once backend is deployed with the new 'handoff' mutation, this can be changed to api.messages.handoff
|
|
45
|
-
await client.mutation(api.messages.sendHandoff, {
|
|
46
|
-
sessionId,
|
|
47
|
-
chatroomId: chatroomId,
|
|
48
|
-
senderRole: role,
|
|
49
|
-
content: message,
|
|
50
|
-
targetRole: nextRole,
|
|
51
|
-
});
|
|
52
|
-
console.log(`✅ Task completed and handed off to ${nextRole}`);
|
|
53
|
-
console.log(`📋 Summary: ${message.substring(0, 100)}${message.length > 100 ? '...' : ''}`);
|
|
54
|
-
}
|
|
55
|
-
catch (error) {
|
|
56
|
-
// Handle handoff validation errors with helpful messages
|
|
57
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
58
|
-
if (errorMessage.includes('Cannot hand off directly to user')) {
|
|
59
|
-
console.error(`\n❌ Cannot hand off directly to user`);
|
|
60
|
-
console.error(` Reason: new_feature requests must be reviewed before returning to user`);
|
|
61
|
-
console.error(`\n💡 Please hand off to: reviewer`);
|
|
62
|
-
console.error(` Example: chatroom task-complete ${chatroomId} --role=${role} --message="<summary>" --next-role=reviewer`);
|
|
63
|
-
process.exit(1);
|
|
64
|
-
}
|
|
65
|
-
// Re-throw other errors
|
|
66
|
-
throw error;
|
|
67
|
-
}
|
|
68
|
-
// Check if handing off to user (workflow completion)
|
|
69
|
-
if (nextRole.toLowerCase() === 'user') {
|
|
70
|
-
console.log(`\n🎉 Workflow complete! Control returned to user.`);
|
|
71
|
-
if (!noWait) {
|
|
72
|
-
console.log(`\n⏳ Waiting for next assignment...`);
|
|
73
|
-
await waitForMessage(chatroomId, { role, silent: true });
|
|
74
|
-
}
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
// Auto-wait for next message unless --no-wait is specified
|
|
78
|
-
if (!noWait) {
|
|
79
|
-
console.log(`\n⏳ Waiting for next assignment...`);
|
|
80
|
-
await waitForMessage(chatroomId, { role, silent: true });
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
//# sourceMappingURL=task-complete.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task-complete.js","sourceRoot":"","sources":["../../src/commands/task-complete.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AASrE,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAkB,EAClB,OAA4B;IAE5B,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAEpD,oCAAoC;IACpC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,8BAA8B;IAC9B,IACE,CAAC,UAAU;QACX,OAAO,UAAU,KAAK,QAAQ;QAC9B,UAAU,CAAC,MAAM,GAAG,EAAE;QACtB,UAAU,CAAC,MAAM,GAAG,EAAE,EACtB,CAAC;QACD,OAAO,CAAC,KAAK,CACX,kEAAkE,UAAU,EAAE,MAAM,IAAI,CAAC,GAAG,CAC7F,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,4EAA4E;QAC5E,yEAAyE;QACzE,oCAAoC;QACpC,8BAA8B;QAC9B,kDAAkD;QAClD,mDAAmD;QACnD,yCAAyC;QACzC,EAAE;QACF,kFAAkF;QAClF,wGAAwG;QACxG,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE;YAC9C,SAAS;YACT,UAAU,EAAE,UAAkC;YAC9C,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,QAAQ;SACrB,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,sCAAsC,QAAQ,EAAE,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,eAAe,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,yDAAyD;QACzD,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE5E,IAAI,YAAY,CAAC,QAAQ,CAAC,kCAAkC,CAAC,EAAE,CAAC;YAC9D,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACtD,OAAO,CAAC,KAAK,CAAC,2EAA2E,CAAC,CAAC;YAC3F,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACnD,OAAO,CAAC,KAAK,CACX,sCAAsC,UAAU,WAAW,IAAI,6CAA6C,CAC7G,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,wBAAwB;QACxB,MAAM,KAAK,CAAC;IACd,CAAC;IAED,qDAAqD;IACrD,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;YAClD,MAAM,cAAc,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO;IACT,CAAC;IAED,2DAA2D;IAC3D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,MAAM,cAAc,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wait-for-message.d.ts","sourceRoot":"","sources":["../../src/commands/wait-for-message.ts"],"names":[],"mappings":"AAAA;;GAEG;AAeH,UAAU,qBAAqB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA4B7D;AA8BD,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CA2Vf"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wait-for-message.js","sourceRoot":"","sources":["../../src/commands/wait-for-message.ts"],"names":[],"mappings":"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"}
|