chatroom-cli 1.0.45 → 1.0.47
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/commands/messages.d.ts +24 -0
- package/dist/commands/messages.d.ts.map +1 -0
- package/dist/commands/messages.js +149 -0
- package/dist/commands/messages.js.map +1 -0
- package/dist/commands/opencode-install.d.ts +21 -0
- package/dist/commands/opencode-install.d.ts.map +1 -0
- package/dist/commands/opencode-install.js +217 -0
- package/dist/commands/opencode-install.js.map +1 -0
- package/dist/index.js +60 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Messages commands for listing and filtering chatroom messages
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* List messages filtered by sender role
|
|
6
|
+
* Uses the composite index for efficient filtering
|
|
7
|
+
*/
|
|
8
|
+
export declare function listBySenderRole(chatroomId: string, options: {
|
|
9
|
+
role: string;
|
|
10
|
+
senderRole: string;
|
|
11
|
+
limit?: number;
|
|
12
|
+
full?: boolean;
|
|
13
|
+
}): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* List all messages since a given message ID (inclusive)
|
|
16
|
+
* Returns messages in ascending order (oldest first)
|
|
17
|
+
*/
|
|
18
|
+
export declare function listSinceMessage(chatroomId: string, options: {
|
|
19
|
+
role: string;
|
|
20
|
+
sinceMessageId: string;
|
|
21
|
+
limit?: number;
|
|
22
|
+
full?: boolean;
|
|
23
|
+
}): Promise<void>;
|
|
24
|
+
//# sourceMappingURL=messages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/commands/messages.ts"],"names":[],"mappings":"AAAA;;GAEG;AAkBH;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IACP,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GACA,OAAO,CAAC,IAAI,CAAC,CAgFf;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IACP,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GACA,OAAO,CAAC,IAAI,CAAC,CAgFf"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Messages commands for listing and filtering chatroom messages
|
|
3
|
+
*/
|
|
4
|
+
import { api } from '../api.js';
|
|
5
|
+
import { getSessionId } from '../infrastructure/auth/storage.js';
|
|
6
|
+
import { getConvexClient } from '../infrastructure/convex/client.js';
|
|
7
|
+
/**
|
|
8
|
+
* List messages filtered by sender role
|
|
9
|
+
* Uses the composite index for efficient filtering
|
|
10
|
+
*/
|
|
11
|
+
export async function listBySenderRole(chatroomId, options) {
|
|
12
|
+
const client = await getConvexClient();
|
|
13
|
+
// Get session ID for authentication
|
|
14
|
+
const sessionId = getSessionId();
|
|
15
|
+
if (!sessionId) {
|
|
16
|
+
console.error(`❌ Not authenticated. Please run: chatroom auth login`);
|
|
17
|
+
process.exit(1);
|
|
18
|
+
}
|
|
19
|
+
// Validate chatroom ID format
|
|
20
|
+
if (!chatroomId ||
|
|
21
|
+
typeof chatroomId !== 'string' ||
|
|
22
|
+
chatroomId.length < 20 ||
|
|
23
|
+
chatroomId.length > 40) {
|
|
24
|
+
console.error(`❌ Invalid chatroom ID format: ID must be 20-40 characters (got ${chatroomId?.length || 0})`);
|
|
25
|
+
process.exit(1);
|
|
26
|
+
}
|
|
27
|
+
try {
|
|
28
|
+
const messages = (await client.query(api.messages.listBySenderRole, {
|
|
29
|
+
sessionId,
|
|
30
|
+
chatroomId: chatroomId,
|
|
31
|
+
senderRole: options.senderRole,
|
|
32
|
+
limit: options.limit || 10,
|
|
33
|
+
}));
|
|
34
|
+
if (messages.length === 0) {
|
|
35
|
+
console.log(`\n📭 No messages found for sender role: ${options.senderRole}`);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
console.log(`\n📨 Messages from ${options.senderRole} (${messages.length} found):`);
|
|
39
|
+
console.log('─'.repeat(60));
|
|
40
|
+
for (const message of messages) {
|
|
41
|
+
const timestamp = new Date(message._creationTime).toLocaleString();
|
|
42
|
+
const classificationBadge = message.classification
|
|
43
|
+
? ` [${message.classification.toUpperCase()}]`
|
|
44
|
+
: '';
|
|
45
|
+
const statusBadge = message.taskStatus ? ` (${message.taskStatus})` : '';
|
|
46
|
+
console.log(`\n🔹 ID: ${message._id}`);
|
|
47
|
+
console.log(` Time: ${timestamp}`);
|
|
48
|
+
console.log(` Type: ${message.type}${classificationBadge}${statusBadge}`);
|
|
49
|
+
if (message.targetRole) {
|
|
50
|
+
console.log(` Target: ${message.targetRole}`);
|
|
51
|
+
}
|
|
52
|
+
if (message.featureTitle) {
|
|
53
|
+
console.log(` Title: ${message.featureTitle}`);
|
|
54
|
+
}
|
|
55
|
+
// Show content (truncated unless --full)
|
|
56
|
+
const content = message.content;
|
|
57
|
+
if (options.full) {
|
|
58
|
+
console.log(` Content:\n${content
|
|
59
|
+
.split('\n')
|
|
60
|
+
.map((l) => ` ${l}`)
|
|
61
|
+
.join('\n')}`);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
const firstLine = content.split('\n')[0];
|
|
65
|
+
const truncated = firstLine.length > 100 ? firstLine.substring(0, 100) + '...' : firstLine;
|
|
66
|
+
console.log(` Content: ${truncated}`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
console.log('\n' + '─'.repeat(60));
|
|
70
|
+
console.log(`💡 Use --full to see complete message content`);
|
|
71
|
+
console.log(`💡 Use --since-message-id=<id> to get all messages since a specific message`);
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
75
|
+
console.error(`\n❌ Error fetching messages: ${errorMessage}`);
|
|
76
|
+
process.exit(1);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* List all messages since a given message ID (inclusive)
|
|
81
|
+
* Returns messages in ascending order (oldest first)
|
|
82
|
+
*/
|
|
83
|
+
export async function listSinceMessage(chatroomId, options) {
|
|
84
|
+
const client = await getConvexClient();
|
|
85
|
+
// Get session ID for authentication
|
|
86
|
+
const sessionId = getSessionId();
|
|
87
|
+
if (!sessionId) {
|
|
88
|
+
console.error(`❌ Not authenticated. Please run: chatroom auth login`);
|
|
89
|
+
process.exit(1);
|
|
90
|
+
}
|
|
91
|
+
// Validate chatroom ID format
|
|
92
|
+
if (!chatroomId ||
|
|
93
|
+
typeof chatroomId !== 'string' ||
|
|
94
|
+
chatroomId.length < 20 ||
|
|
95
|
+
chatroomId.length > 40) {
|
|
96
|
+
console.error(`❌ Invalid chatroom ID format: ID must be 20-40 characters (got ${chatroomId?.length || 0})`);
|
|
97
|
+
process.exit(1);
|
|
98
|
+
}
|
|
99
|
+
try {
|
|
100
|
+
const messages = (await client.query(api.messages.listSinceMessage, {
|
|
101
|
+
sessionId,
|
|
102
|
+
chatroomId: chatroomId,
|
|
103
|
+
sinceMessageId: options.sinceMessageId,
|
|
104
|
+
limit: options.limit || 100,
|
|
105
|
+
}));
|
|
106
|
+
if (messages.length === 0) {
|
|
107
|
+
console.log(`\n📭 No messages found since message: ${options.sinceMessageId}`);
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
console.log(`\n📨 Messages since ${options.sinceMessageId} (${messages.length} found):`);
|
|
111
|
+
console.log('─'.repeat(60));
|
|
112
|
+
for (const message of messages) {
|
|
113
|
+
const timestamp = new Date(message._creationTime).toLocaleString();
|
|
114
|
+
const roleIndicator = message.senderRole.toLowerCase() === 'user' ? '👤' : '🤖';
|
|
115
|
+
const classificationBadge = message.classification
|
|
116
|
+
? ` [${message.classification.toUpperCase()}]`
|
|
117
|
+
: '';
|
|
118
|
+
const statusBadge = message.taskStatus ? ` (${message.taskStatus})` : '';
|
|
119
|
+
console.log(`\n${roleIndicator} ${message.senderRole}${message.targetRole ? ` → ${message.targetRole}` : ''}`);
|
|
120
|
+
console.log(` ID: ${message._id}`);
|
|
121
|
+
console.log(` Time: ${timestamp}`);
|
|
122
|
+
console.log(` Type: ${message.type}${classificationBadge}${statusBadge}`);
|
|
123
|
+
if (message.featureTitle) {
|
|
124
|
+
console.log(` Title: ${message.featureTitle}`);
|
|
125
|
+
}
|
|
126
|
+
// Show content (truncated unless --full)
|
|
127
|
+
const content = message.content;
|
|
128
|
+
if (options.full) {
|
|
129
|
+
console.log(` Content:\n${content
|
|
130
|
+
.split('\n')
|
|
131
|
+
.map((l) => ` ${l}`)
|
|
132
|
+
.join('\n')}`);
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
const firstLine = content.split('\n')[0];
|
|
136
|
+
const truncated = firstLine.length > 100 ? firstLine.substring(0, 100) + '...' : firstLine;
|
|
137
|
+
console.log(` Content: ${truncated}`);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
console.log('\n' + '─'.repeat(60));
|
|
141
|
+
console.log(`💡 Use --full to see complete message content`);
|
|
142
|
+
}
|
|
143
|
+
catch (error) {
|
|
144
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
145
|
+
console.error(`\n❌ Error fetching messages: ${errorMessage}`);
|
|
146
|
+
process.exit(1);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/commands/messages.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenCode Tool Installation
|
|
3
|
+
*
|
|
4
|
+
* This module installs the chatroom CLI as an OpenCode tool, providing structured
|
|
5
|
+
* command interfaces that avoid timeout issues with long-running bash commands.
|
|
6
|
+
*
|
|
7
|
+
* The tool is installed to ~/.config/opencode/tool/chatroom.ts
|
|
8
|
+
*/
|
|
9
|
+
export interface ToolInstallOptions {
|
|
10
|
+
checkExisting?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface ToolInstallResult {
|
|
13
|
+
success: boolean;
|
|
14
|
+
toolPath?: string;
|
|
15
|
+
message: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Install chatroom as an OpenCode tool
|
|
19
|
+
*/
|
|
20
|
+
export declare function installTool(options?: ToolInstallOptions): Promise<ToolInstallResult>;
|
|
21
|
+
//# sourceMappingURL=opencode-install.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencode-install.d.ts","sourceRoot":"","sources":["../../src/commands/opencode-install.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAeD;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAuM9F"}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenCode Tool Installation
|
|
3
|
+
*
|
|
4
|
+
* This module installs the chatroom CLI as an OpenCode tool, providing structured
|
|
5
|
+
* command interfaces that avoid timeout issues with long-running bash commands.
|
|
6
|
+
*
|
|
7
|
+
* The tool is installed to ~/.config/opencode/tool/chatroom.ts
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Check if chatroom CLI is installed
|
|
11
|
+
*/
|
|
12
|
+
async function isChatroomInstalled() {
|
|
13
|
+
try {
|
|
14
|
+
const { execSync } = await import('child_process');
|
|
15
|
+
execSync('chatroom --version', { stdio: 'pipe' });
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Install chatroom as an OpenCode tool
|
|
24
|
+
*/
|
|
25
|
+
export async function installTool(options = {}) {
|
|
26
|
+
const { checkExisting = true } = options;
|
|
27
|
+
const os = await import('os');
|
|
28
|
+
const fs = await import('fs/promises');
|
|
29
|
+
const path = await import('path');
|
|
30
|
+
const homeDir = os.homedir();
|
|
31
|
+
const toolDir = path.join(homeDir, '.config', 'opencode', 'tool');
|
|
32
|
+
const toolPath = path.join(toolDir, 'chatroom.ts');
|
|
33
|
+
// Generate the tool content
|
|
34
|
+
const toolContent = `import { tool } from "@opencode-ai/plugin";
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Check if chatroom CLI is installed and authenticated
|
|
38
|
+
*/
|
|
39
|
+
async function checkChatroomStatus(): Promise<{ installed: boolean; authenticated: boolean; error?: string }> {
|
|
40
|
+
try {
|
|
41
|
+
// Check if chatroom is installed
|
|
42
|
+
const versionProc = Bun.spawn(['chatroom', '--version'], { stdout: 'pipe', stderr: 'pipe' });
|
|
43
|
+
await versionProc.exited;
|
|
44
|
+
if (versionProc.exitCode !== 0) {
|
|
45
|
+
return { installed: false, authenticated: false, error: 'Chatroom CLI not found' };
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// Check authentication status
|
|
49
|
+
const authProc = Bun.spawn(['chatroom', 'auth', 'status'], { stdout: 'pipe', stderr: 'pipe' });
|
|
50
|
+
const authOutput = await new Response(authProc.stdout).text();
|
|
51
|
+
await authProc.exited;
|
|
52
|
+
|
|
53
|
+
const authenticated = authProc.exitCode === 0 && authOutput.includes('✅');
|
|
54
|
+
|
|
55
|
+
return { installed: true, authenticated };
|
|
56
|
+
} catch (error) {
|
|
57
|
+
return { installed: false, authenticated: false, error: String(error) };
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export default tool({
|
|
62
|
+
description:
|
|
63
|
+
"Wait for tasks in a multi-agent chatroom. This command joins a chatroom with a specific role and waits for tasks to be assigned. It's a long-running operation that polls for pending tasks and handles the complete workflow including authentication, task claiming, and graceful interruption handling. Use this instead of bash 'chatroom wait-for-task' to avoid timeout issues.",
|
|
64
|
+
args: {
|
|
65
|
+
chatroomId: tool.schema
|
|
66
|
+
.string()
|
|
67
|
+
.describe(
|
|
68
|
+
"The chatroom ID to join. This is a unique identifier provided when the chatroom is created (e.g., 'jn7fmvz7sd76z5wwgj1m7ty6vd7z81x2')."
|
|
69
|
+
),
|
|
70
|
+
role: tool.schema
|
|
71
|
+
.string()
|
|
72
|
+
.describe(
|
|
73
|
+
"Your role in the chatroom (e.g., 'builder', 'reviewer', 'architect'). This determines which tasks you'll receive and which agents you can hand off to."
|
|
74
|
+
),
|
|
75
|
+
session: tool.schema
|
|
76
|
+
.number()
|
|
77
|
+
.optional()
|
|
78
|
+
.describe(
|
|
79
|
+
"Current session number for tracking progress across multiple wait sessions. Default is 1. Increment this when restarting after a session timeout to maintain context."
|
|
80
|
+
),
|
|
81
|
+
duration: tool.schema
|
|
82
|
+
.string()
|
|
83
|
+
.optional()
|
|
84
|
+
.describe(
|
|
85
|
+
"How long to wait for tasks before timing out (e.g., '1m', '5m', '30s', '1h'). Default is 10 minutes. After timeout, you'll need to restart with the next session number."
|
|
86
|
+
),
|
|
87
|
+
},
|
|
88
|
+
async execute(args) {
|
|
89
|
+
// Check chatroom installation and authentication
|
|
90
|
+
const status = await checkChatroomStatus();
|
|
91
|
+
|
|
92
|
+
if (!status.installed) {
|
|
93
|
+
return \`Error: Chatroom CLI is not installed.
|
|
94
|
+
|
|
95
|
+
Please install the chatroom CLI globally:
|
|
96
|
+
npm install -g @chatroom/cli@latest
|
|
97
|
+
|
|
98
|
+
(Adapt the command for your preferred package manager)\`;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
if (!status.authenticated) {
|
|
102
|
+
return \`Error: Chatroom CLI is not authenticated.
|
|
103
|
+
|
|
104
|
+
Please authenticate the CLI:
|
|
105
|
+
chatroom auth login
|
|
106
|
+
|
|
107
|
+
After logging in, try this command again.\`;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// Build command arguments
|
|
111
|
+
const cmdArgs = ['wait-for-task', args.chatroomId, '--role', args.role];
|
|
112
|
+
|
|
113
|
+
if (args.session !== undefined) {
|
|
114
|
+
cmdArgs.push('--session', String(args.session));
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
if (args.duration !== undefined) {
|
|
118
|
+
cmdArgs.push('--duration', args.duration);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
// Execute the wait-for-task command
|
|
122
|
+
// This is a long-running operation that polls for tasks
|
|
123
|
+
const proc = Bun.spawn(['chatroom', ...cmdArgs], {
|
|
124
|
+
stdout: 'pipe',
|
|
125
|
+
stderr: 'pipe',
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
// Capture both stdout and stderr
|
|
129
|
+
const [stdout, stderr] = await Promise.all([
|
|
130
|
+
new Response(proc.stdout).text(),
|
|
131
|
+
new Response(proc.stderr).text(),
|
|
132
|
+
]);
|
|
133
|
+
|
|
134
|
+
// Wait for the process to complete
|
|
135
|
+
await proc.exited;
|
|
136
|
+
|
|
137
|
+
// Combine output
|
|
138
|
+
const output = [stdout, stderr].filter(s => s.trim()).join('\\n\\n');
|
|
139
|
+
|
|
140
|
+
if (proc.exitCode !== 0) {
|
|
141
|
+
return \`Error: Command failed with exit code \${proc.exitCode}\\n\\n\${output}\`;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
return output.trim();
|
|
145
|
+
},
|
|
146
|
+
});
|
|
147
|
+
`;
|
|
148
|
+
try {
|
|
149
|
+
// Check if tool already exists
|
|
150
|
+
if (checkExisting) {
|
|
151
|
+
try {
|
|
152
|
+
await fs.access(toolPath);
|
|
153
|
+
const message = `Tool already exists at: ${toolPath}
|
|
154
|
+
|
|
155
|
+
To reinstall, delete the existing file first:
|
|
156
|
+
rm ${toolPath}
|
|
157
|
+
|
|
158
|
+
Then run this command again.`;
|
|
159
|
+
console.log(message);
|
|
160
|
+
return {
|
|
161
|
+
success: false,
|
|
162
|
+
message,
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
catch {
|
|
166
|
+
// Tool doesn't exist, continue with installation
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
// Check if chatroom CLI is installed
|
|
170
|
+
const installed = await isChatroomInstalled();
|
|
171
|
+
if (!installed) {
|
|
172
|
+
const message = `⚠️ Chatroom CLI is not installed.
|
|
173
|
+
|
|
174
|
+
Please install the chatroom CLI globally first:
|
|
175
|
+
npm install -g @chatroom/cli@latest
|
|
176
|
+
|
|
177
|
+
After installation, run this command again.`;
|
|
178
|
+
console.log(message);
|
|
179
|
+
return {
|
|
180
|
+
success: false,
|
|
181
|
+
message,
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
// Create directory if it doesn't exist
|
|
185
|
+
await fs.mkdir(toolDir, { recursive: true });
|
|
186
|
+
// Write the tool file
|
|
187
|
+
await fs.writeFile(toolPath, toolContent, 'utf-8');
|
|
188
|
+
const message = `✅ Installed chatroom OpenCode tool successfully!
|
|
189
|
+
|
|
190
|
+
Location: ${toolPath}
|
|
191
|
+
|
|
192
|
+
The following command is now available in OpenCode:
|
|
193
|
+
• wait-for-task - Join chatroom and wait for tasks (no more timeouts!)
|
|
194
|
+
|
|
195
|
+
To use in OpenCode, the tool will automatically check for:
|
|
196
|
+
✓ Chatroom CLI installation
|
|
197
|
+
✓ Authentication status
|
|
198
|
+
|
|
199
|
+
If you're not authenticated, run:
|
|
200
|
+
chatroom auth login`;
|
|
201
|
+
console.log(message);
|
|
202
|
+
return {
|
|
203
|
+
success: true,
|
|
204
|
+
toolPath,
|
|
205
|
+
message,
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
catch (error) {
|
|
209
|
+
const message = `❌ Error installing OpenCode tool: ${error}`;
|
|
210
|
+
console.error(message);
|
|
211
|
+
return {
|
|
212
|
+
success: false,
|
|
213
|
+
message,
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
//# sourceMappingURL=opencode-install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencode-install.js","sourceRoot":"","sources":["../../src/commands/opencode-install.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH;;GAEG;AACH,KAAK,UAAU,mBAAmB;IAChC,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;QACnD,QAAQ,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAA8B,EAAE;IAChE,MAAM,EAAE,aAAa,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACzC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;IAElC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAEnD,4BAA4B;IAC5B,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiHrB,CAAC;IAEA,IAAI,CAAC;QACH,+BAA+B;QAC/B,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC1B,MAAM,OAAO,GAAG,2BAA2B,QAAQ;;;OAGpD,QAAQ;;6BAEc,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACrB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,OAAO;iBACR,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,iDAAiD;YACnD,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,MAAM,SAAS,GAAG,MAAM,mBAAmB,EAAE,CAAC;QAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,OAAO,GAAG;;;;;4CAKsB,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO;aACR,CAAC;QACJ,CAAC;QAED,uCAAuC;QACvC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7C,sBAAsB;QACtB,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAEnD,MAAM,OAAO,GAAG;;YAER,QAAQ;;;;;;;;;;sBAUE,CAAC;QAEnB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAErB,OAAO;YACL,OAAO,EAAE,IAAI;YACb,QAAQ;YACR,OAAO;SACR,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,qCAAqC,KAAK,EAAE,CAAC;QAC7D,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEvB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO;SACR,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -227,6 +227,54 @@ backlogCommand
|
|
|
227
227
|
await reopenBacklog(chatroomId, options);
|
|
228
228
|
});
|
|
229
229
|
// ============================================================================
|
|
230
|
+
// MESSAGES COMMANDS (auth required)
|
|
231
|
+
// ============================================================================
|
|
232
|
+
const messagesCommand = program
|
|
233
|
+
.command('messages')
|
|
234
|
+
.description('List and filter chatroom messages');
|
|
235
|
+
messagesCommand
|
|
236
|
+
.command('list <chatroomId>')
|
|
237
|
+
.description('List messages by sender role or since a specific message')
|
|
238
|
+
.requiredOption('--role <role>', 'Your role')
|
|
239
|
+
.option('--sender-role <senderRole>', 'Filter by sender role (e.g., user, builder, reviewer)')
|
|
240
|
+
.option('--since-message-id <messageId>', 'Get all messages since this message ID (inclusive)')
|
|
241
|
+
.option('--limit <n>', 'Maximum number of messages to show')
|
|
242
|
+
.option('--full', 'Show full message content without truncation')
|
|
243
|
+
.action(async (chatroomId, options) => {
|
|
244
|
+
// Validate: must specify either --sender-role or --since-message-id
|
|
245
|
+
if (!options.senderRole && !options.sinceMessageId) {
|
|
246
|
+
console.error('❌ Must specify either --sender-role or --since-message-id');
|
|
247
|
+
console.error(' Examples:');
|
|
248
|
+
console.error(' chatroom messages list <id> --role=builder --sender-role=user --limit=3');
|
|
249
|
+
console.error(' chatroom messages list <id> --role=builder --since-message-id=<msgId>');
|
|
250
|
+
process.exit(1);
|
|
251
|
+
}
|
|
252
|
+
// Cannot use both options together
|
|
253
|
+
if (options.senderRole && options.sinceMessageId) {
|
|
254
|
+
console.error('❌ Cannot use both --sender-role and --since-message-id at the same time');
|
|
255
|
+
process.exit(1);
|
|
256
|
+
}
|
|
257
|
+
await maybeRequireAuth();
|
|
258
|
+
if (options.senderRole) {
|
|
259
|
+
const { listBySenderRole } = await import('./commands/messages.js');
|
|
260
|
+
await listBySenderRole(chatroomId, {
|
|
261
|
+
role: options.role,
|
|
262
|
+
senderRole: options.senderRole,
|
|
263
|
+
limit: options.limit ? parseInt(options.limit, 10) : 10,
|
|
264
|
+
full: options.full,
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
else if (options.sinceMessageId) {
|
|
268
|
+
const { listSinceMessage } = await import('./commands/messages.js');
|
|
269
|
+
await listSinceMessage(chatroomId, {
|
|
270
|
+
role: options.role,
|
|
271
|
+
sinceMessageId: options.sinceMessageId,
|
|
272
|
+
limit: options.limit ? parseInt(options.limit, 10) : 100,
|
|
273
|
+
full: options.full,
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
});
|
|
277
|
+
// ============================================================================
|
|
230
278
|
// GUIDELINES COMMANDS (auth required)
|
|
231
279
|
// ============================================================================
|
|
232
280
|
const guidelinesCommand = program
|
|
@@ -249,5 +297,17 @@ guidelinesCommand
|
|
|
249
297
|
const { listGuidelineTypes } = await import('./commands/guidelines.js');
|
|
250
298
|
await listGuidelineTypes();
|
|
251
299
|
});
|
|
300
|
+
// ============================================================================
|
|
301
|
+
// OPENCODE COMMANDS (no auth required)
|
|
302
|
+
// ============================================================================
|
|
303
|
+
const opencodeCommand = program.command('opencode').description('OpenCode integration tools');
|
|
304
|
+
opencodeCommand
|
|
305
|
+
.command('install')
|
|
306
|
+
.description('Install chatroom as an OpenCode tool')
|
|
307
|
+
.option('--force', 'Overwrite existing tool installation')
|
|
308
|
+
.action(async (options) => {
|
|
309
|
+
const { installTool } = await import('./commands/opencode-install.js');
|
|
310
|
+
await installTool({ checkExisting: !options.force });
|
|
311
|
+
});
|
|
252
312
|
program.parse();
|
|
253
313
|
//# sourceMappingURL=index.js.map
|
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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"}
|