chatroom-cli 1.0.54 → 1.0.64
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 +35 -27
- package/dist/index.js +12728 -339
- package/package.json +11 -10
- package/dist/api.d.ts +0 -11
- package/dist/api.d.ts.map +0 -1
- package/dist/api.js +0 -12
- package/dist/api.js.map +0 -1
- package/dist/commands/auth-login.d.ts +0 -10
- package/dist/commands/auth-login.d.ts.map +0 -1
- package/dist/commands/auth-login.js +0 -179
- package/dist/commands/auth-login.js.map +0 -1
- package/dist/commands/auth-logout.d.ts +0 -6
- package/dist/commands/auth-logout.d.ts.map +0 -1
- package/dist/commands/auth-logout.js +0 -21
- package/dist/commands/auth-logout.js.map +0 -1
- package/dist/commands/auth-status.d.ts +0 -6
- package/dist/commands/auth-status.d.ts.map +0 -1
- package/dist/commands/auth-status.js +0 -50
- package/dist/commands/auth-status.js.map +0 -1
- package/dist/commands/backlog.d.ts +0 -36
- package/dist/commands/backlog.d.ts.map +0 -1
- package/dist/commands/backlog.js +0 -310
- package/dist/commands/backlog.js.map +0 -1
- package/dist/commands/feature.d.ts +0 -14
- package/dist/commands/feature.d.ts.map +0 -1
- package/dist/commands/feature.js +0 -172
- package/dist/commands/feature.js.map +0 -1
- package/dist/commands/guidelines.d.ts +0 -17
- package/dist/commands/guidelines.d.ts.map +0 -1
- package/dist/commands/guidelines.js +0 -71
- package/dist/commands/guidelines.js.map +0 -1
- package/dist/commands/handoff.d.ts +0 -20
- package/dist/commands/handoff.d.ts.map +0 -1
- package/dist/commands/handoff.js +0 -83
- package/dist/commands/handoff.js.map +0 -1
- package/dist/commands/init.d.ts +0 -9
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js +0 -23
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/messages.d.ts +0 -24
- package/dist/commands/messages.d.ts.map +0 -1
- package/dist/commands/messages.js +0 -149
- package/dist/commands/messages.js.map +0 -1
- package/dist/commands/opencode-install.d.ts +0 -29
- package/dist/commands/opencode-install.d.ts.map +0 -1
- package/dist/commands/opencode-install.js +0 -416
- package/dist/commands/opencode-install.js.map +0 -1
- package/dist/commands/task-started.d.ts +0 -13
- package/dist/commands/task-started.d.ts.map +0 -1
- package/dist/commands/task-started.js +0 -107
- package/dist/commands/task-started.js.map +0 -1
- package/dist/commands/update.d.ts +0 -6
- package/dist/commands/update.d.ts.map +0 -1
- package/dist/commands/update.js +0 -78
- package/dist/commands/update.js.map +0 -1
- package/dist/commands/wait-for-task.d.ts +0 -18
- package/dist/commands/wait-for-task.d.ts.map +0 -1
- package/dist/commands/wait-for-task.js +0 -306
- package/dist/commands/wait-for-task.js.map +0 -1
- package/dist/config/defaults.d.ts +0 -12
- package/dist/config/defaults.d.ts.map +0 -1
- package/dist/config/defaults.js +0 -70
- package/dist/config/defaults.js.map +0 -1
- package/dist/config/loader.d.ts +0 -52
- package/dist/config/loader.d.ts.map +0 -1
- package/dist/config/loader.js +0 -202
- package/dist/config/loader.js.map +0 -1
- package/dist/config/schema.d.ts +0 -52
- package/dist/config/schema.d.ts.map +0 -1
- package/dist/config/schema.js +0 -99
- package/dist/config/schema.js.map +0 -1
- package/dist/config.d.ts +0 -20
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -20
- package/dist/config.js.map +0 -1
- package/dist/convex-api/api.d.ts +0 -137
- package/dist/convex-api/api.js +0 -23
- package/dist/convex-api/index.d.ts +0 -102
- package/dist/convex-api/index.d.ts.map +0 -1
- package/dist/convex-api/index.js +0 -11
- package/dist/convex-api/index.js.map +0 -1
- package/dist/index.d.ts +0 -9
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/infrastructure/auth/middleware.d.ts +0 -20
- package/dist/infrastructure/auth/middleware.d.ts.map +0 -1
- package/dist/infrastructure/auth/middleware.js +0 -96
- package/dist/infrastructure/auth/middleware.js.map +0 -1
- package/dist/infrastructure/auth/storage.d.ts +0 -58
- package/dist/infrastructure/auth/storage.d.ts.map +0 -1
- package/dist/infrastructure/auth/storage.js +0 -242
- package/dist/infrastructure/auth/storage.js.map +0 -1
- package/dist/infrastructure/convex/client.d.ts +0 -16
- package/dist/infrastructure/convex/client.d.ts.map +0 -1
- package/dist/infrastructure/convex/client.js +0 -40
- package/dist/infrastructure/convex/client.js.map +0 -1
- package/dist/infrastructure/history/storage.d.ts +0 -21
- package/dist/infrastructure/history/storage.d.ts.map +0 -1
- package/dist/infrastructure/history/storage.js +0 -56
- package/dist/infrastructure/history/storage.js.map +0 -1
- package/dist/utils/file-content.d.ts +0 -29
- package/dist/utils/file-content.d.ts.map +0 -1
- package/dist/utils/file-content.js +0 -51
- package/dist/utils/file-content.js.map +0 -1
- package/dist/version.d.ts +0 -14
- package/dist/version.d.ts.map +0 -1
- package/dist/version.js +0 -43
- package/dist/version.js.map +0 -1
package/dist/commands/backlog.js
DELETED
|
@@ -1,310 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Backlog commands for managing task queue and backlog
|
|
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 tasks in a chatroom
|
|
9
|
-
*/
|
|
10
|
-
export async function listBacklog(chatroomId, options) {
|
|
11
|
-
const client = await getConvexClient();
|
|
12
|
-
// Get session ID for authentication
|
|
13
|
-
const sessionId = getSessionId();
|
|
14
|
-
if (!sessionId) {
|
|
15
|
-
console.error(`❌ Not authenticated. Please run: chatroom auth login`);
|
|
16
|
-
process.exit(1);
|
|
17
|
-
}
|
|
18
|
-
// Validate chatroom ID format
|
|
19
|
-
if (!chatroomId ||
|
|
20
|
-
typeof chatroomId !== 'string' ||
|
|
21
|
-
chatroomId.length < 20 ||
|
|
22
|
-
chatroomId.length > 40) {
|
|
23
|
-
console.error(`❌ Invalid chatroom ID format: ID must be 20-40 characters (got ${chatroomId?.length || 0})`);
|
|
24
|
-
process.exit(1);
|
|
25
|
-
}
|
|
26
|
-
// Validate status filter
|
|
27
|
-
const validStatuses = [
|
|
28
|
-
'pending',
|
|
29
|
-
'in_progress',
|
|
30
|
-
'queued',
|
|
31
|
-
'backlog',
|
|
32
|
-
'completed',
|
|
33
|
-
'cancelled',
|
|
34
|
-
'active',
|
|
35
|
-
'pending_review', // tasks awaiting user review
|
|
36
|
-
'archived', // completed + closed
|
|
37
|
-
'all',
|
|
38
|
-
];
|
|
39
|
-
const statusFilter = options.status;
|
|
40
|
-
if (!statusFilter || !validStatuses.includes(statusFilter)) {
|
|
41
|
-
console.error(`❌ Invalid or missing status: ${statusFilter || '(none)'}. Must be one of: ${validStatuses.join(', ')}`);
|
|
42
|
-
process.exit(1);
|
|
43
|
-
}
|
|
44
|
-
try {
|
|
45
|
-
// Get task counts
|
|
46
|
-
const counts = (await client.query(api.tasks.getTaskCounts, {
|
|
47
|
-
sessionId,
|
|
48
|
-
chatroomId: chatroomId,
|
|
49
|
-
}));
|
|
50
|
-
// Get tasks with filter
|
|
51
|
-
const tasks = (await client.query(api.tasks.listTasks, {
|
|
52
|
-
sessionId,
|
|
53
|
-
chatroomId: chatroomId,
|
|
54
|
-
statusFilter: statusFilter === 'all'
|
|
55
|
-
? undefined
|
|
56
|
-
: statusFilter,
|
|
57
|
-
limit: options.limit || 20,
|
|
58
|
-
}));
|
|
59
|
-
// Display header
|
|
60
|
-
console.log('');
|
|
61
|
-
console.log('══════════════════════════════════════════════════');
|
|
62
|
-
console.log('📋 TASK QUEUE');
|
|
63
|
-
console.log('══════════════════════════════════════════════════');
|
|
64
|
-
console.log(`Chatroom: ${chatroomId}`);
|
|
65
|
-
console.log(`Filter: ${statusFilter}`);
|
|
66
|
-
console.log('');
|
|
67
|
-
// Display counts summary
|
|
68
|
-
console.log('──────────────────────────────────────────────────');
|
|
69
|
-
console.log('📊 SUMMARY');
|
|
70
|
-
console.log('──────────────────────────────────────────────────');
|
|
71
|
-
if (counts.pending > 0)
|
|
72
|
-
console.log(` 🟢 Pending: ${counts.pending}`);
|
|
73
|
-
if (counts.in_progress > 0)
|
|
74
|
-
console.log(` 🔵 In Progress: ${counts.in_progress}`);
|
|
75
|
-
if (counts.queued > 0)
|
|
76
|
-
console.log(` 🟡 Queued: ${counts.queued}`);
|
|
77
|
-
if (counts.backlog > 0)
|
|
78
|
-
console.log(` ⚪ Backlog: ${counts.backlog}`);
|
|
79
|
-
const activeTotal = counts.pending + counts.in_progress + counts.queued + counts.backlog;
|
|
80
|
-
console.log(` 📝 Active Total: ${activeTotal}/100`);
|
|
81
|
-
console.log('');
|
|
82
|
-
// Display tasks
|
|
83
|
-
if (tasks.length === 0) {
|
|
84
|
-
console.log('No tasks found.');
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
console.log('──────────────────────────────────────────────────');
|
|
88
|
-
console.log('📝 TASKS');
|
|
89
|
-
console.log('──────────────────────────────────────────────────');
|
|
90
|
-
for (let i = 0; i < tasks.length; i++) {
|
|
91
|
-
const task = tasks[i];
|
|
92
|
-
const statusEmoji = getStatusEmoji(task.status);
|
|
93
|
-
const date = new Date(task.createdAt).toLocaleString('en-US', {
|
|
94
|
-
month: 'short',
|
|
95
|
-
day: 'numeric',
|
|
96
|
-
hour: '2-digit',
|
|
97
|
-
minute: '2-digit',
|
|
98
|
-
hour12: false,
|
|
99
|
-
});
|
|
100
|
-
// Use full content or truncate based on --full flag
|
|
101
|
-
const displayContent = options.full ? task.content : truncate(task.content, 100);
|
|
102
|
-
console.log(`#${i + 1} [${statusEmoji} ${task.status.toUpperCase()}] ${displayContent}`);
|
|
103
|
-
console.log(` ID: ${task._id}`);
|
|
104
|
-
console.log(` Created: ${date}${task.assignedTo ? ` | Assigned: ${task.assignedTo}` : ''}`);
|
|
105
|
-
console.log('');
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
console.log('──────────────────────────────────────────────────');
|
|
109
|
-
// Calculate total tasks for the current filter to show truncation info
|
|
110
|
-
let totalForFilter;
|
|
111
|
-
if (statusFilter === 'all') {
|
|
112
|
-
totalForFilter =
|
|
113
|
-
counts.pending +
|
|
114
|
-
counts.in_progress +
|
|
115
|
-
counts.queued +
|
|
116
|
-
counts.backlog +
|
|
117
|
-
counts.completed +
|
|
118
|
-
counts.cancelled;
|
|
119
|
-
}
|
|
120
|
-
else if (statusFilter === 'active') {
|
|
121
|
-
totalForFilter = counts.pending + counts.in_progress + counts.queued + counts.backlog;
|
|
122
|
-
}
|
|
123
|
-
else if (statusFilter === 'archived') {
|
|
124
|
-
totalForFilter = counts.completed + counts.cancelled;
|
|
125
|
-
}
|
|
126
|
-
else if (statusFilter === 'pending_review') {
|
|
127
|
-
// pending_review is separate, use tasks.length as best estimate
|
|
128
|
-
totalForFilter = tasks.length;
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
131
|
-
totalForFilter = counts[statusFilter] ?? tasks.length;
|
|
132
|
-
}
|
|
133
|
-
if (tasks.length < totalForFilter) {
|
|
134
|
-
console.log(`Showing ${tasks.length} of ${totalForFilter} task(s) (use --limit=N to see more)`);
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
console.log(`Showing ${tasks.length} task(s)`);
|
|
138
|
-
}
|
|
139
|
-
console.log('');
|
|
140
|
-
}
|
|
141
|
-
catch (error) {
|
|
142
|
-
console.error(`❌ Failed to list tasks: ${error.message}`);
|
|
143
|
-
process.exit(1);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Add a task to the backlog
|
|
148
|
-
*/
|
|
149
|
-
export async function addBacklog(chatroomId, options) {
|
|
150
|
-
const client = await getConvexClient();
|
|
151
|
-
// Get session ID for authentication
|
|
152
|
-
const sessionId = getSessionId();
|
|
153
|
-
if (!sessionId) {
|
|
154
|
-
console.error(`❌ Not authenticated. Please run: chatroom auth login`);
|
|
155
|
-
process.exit(1);
|
|
156
|
-
}
|
|
157
|
-
// Validate chatroom ID format
|
|
158
|
-
if (!chatroomId ||
|
|
159
|
-
typeof chatroomId !== 'string' ||
|
|
160
|
-
chatroomId.length < 20 ||
|
|
161
|
-
chatroomId.length > 40) {
|
|
162
|
-
console.error(`❌ Invalid chatroom ID format: ID must be 20-40 characters (got ${chatroomId?.length || 0})`);
|
|
163
|
-
process.exit(1);
|
|
164
|
-
}
|
|
165
|
-
// Validate content
|
|
166
|
-
if (!options.content || options.content.trim().length === 0) {
|
|
167
|
-
console.error(`❌ Task content cannot be empty`);
|
|
168
|
-
process.exit(1);
|
|
169
|
-
}
|
|
170
|
-
try {
|
|
171
|
-
const result = await client.mutation(api.tasks.createTask, {
|
|
172
|
-
sessionId,
|
|
173
|
-
chatroomId: chatroomId,
|
|
174
|
-
content: options.content.trim(),
|
|
175
|
-
createdBy: options.role,
|
|
176
|
-
isBacklog: true,
|
|
177
|
-
});
|
|
178
|
-
console.log('');
|
|
179
|
-
console.log('✅ Task added to backlog');
|
|
180
|
-
console.log(` ID: ${result.taskId}`);
|
|
181
|
-
console.log(` Status: ${result.status}`);
|
|
182
|
-
console.log(` Position: ${result.queuePosition}`);
|
|
183
|
-
console.log('');
|
|
184
|
-
}
|
|
185
|
-
catch (error) {
|
|
186
|
-
console.error(`❌ Failed to add task: ${error.message}`);
|
|
187
|
-
process.exit(1);
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
/**
|
|
191
|
-
* Complete a backlog task by ID.
|
|
192
|
-
* Use --force to complete stuck in_progress or pending tasks.
|
|
193
|
-
*/
|
|
194
|
-
export async function completeBacklog(chatroomId, options) {
|
|
195
|
-
const client = await getConvexClient();
|
|
196
|
-
// Get session ID for authentication
|
|
197
|
-
const sessionId = getSessionId();
|
|
198
|
-
if (!sessionId) {
|
|
199
|
-
console.error(`❌ Not authenticated. Please run: chatroom auth login`);
|
|
200
|
-
process.exit(1);
|
|
201
|
-
}
|
|
202
|
-
// Validate chatroom ID format
|
|
203
|
-
if (!chatroomId ||
|
|
204
|
-
typeof chatroomId !== 'string' ||
|
|
205
|
-
chatroomId.length < 20 ||
|
|
206
|
-
chatroomId.length > 40) {
|
|
207
|
-
console.error(`❌ Invalid chatroom ID format: ID must be 20-40 characters (got ${chatroomId?.length || 0})`);
|
|
208
|
-
process.exit(1);
|
|
209
|
-
}
|
|
210
|
-
// Validate task ID
|
|
211
|
-
if (!options.taskId || options.taskId.trim().length === 0) {
|
|
212
|
-
console.error(`❌ Task ID is required`);
|
|
213
|
-
process.exit(1);
|
|
214
|
-
}
|
|
215
|
-
try {
|
|
216
|
-
const result = (await client.mutation(api.tasks.completeTaskById, {
|
|
217
|
-
sessionId,
|
|
218
|
-
taskId: options.taskId,
|
|
219
|
-
force: options.force,
|
|
220
|
-
}));
|
|
221
|
-
console.log('');
|
|
222
|
-
if (result.wasForced) {
|
|
223
|
-
console.log('⚠️ Task force-completed (was in_progress or pending)');
|
|
224
|
-
}
|
|
225
|
-
else {
|
|
226
|
-
console.log('✅ Task completed');
|
|
227
|
-
}
|
|
228
|
-
console.log(` ID: ${options.taskId}`);
|
|
229
|
-
if (result.promoted) {
|
|
230
|
-
console.log(` 📤 Next task promoted: ${result.promoted}`);
|
|
231
|
-
console.log('');
|
|
232
|
-
console.log('💡 The next queued task is now pending and ready for processing.');
|
|
233
|
-
}
|
|
234
|
-
console.log('');
|
|
235
|
-
}
|
|
236
|
-
catch (error) {
|
|
237
|
-
console.error(`❌ Failed to complete task: ${error.message}`);
|
|
238
|
-
process.exit(1);
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
/**
|
|
242
|
-
* Reopen a completed backlog task, returning it to pending_user_review status.
|
|
243
|
-
*/
|
|
244
|
-
export async function reopenBacklog(chatroomId, options) {
|
|
245
|
-
const client = await getConvexClient();
|
|
246
|
-
// Get session ID for authentication
|
|
247
|
-
const sessionId = getSessionId();
|
|
248
|
-
if (!sessionId) {
|
|
249
|
-
console.error(`❌ Not authenticated. Please run: chatroom auth login`);
|
|
250
|
-
process.exit(1);
|
|
251
|
-
}
|
|
252
|
-
// Validate chatroom ID format
|
|
253
|
-
if (!chatroomId ||
|
|
254
|
-
typeof chatroomId !== 'string' ||
|
|
255
|
-
chatroomId.length < 20 ||
|
|
256
|
-
chatroomId.length > 40) {
|
|
257
|
-
console.error(`❌ Invalid chatroom ID format: ID must be 20-40 characters (got ${chatroomId?.length || 0})`);
|
|
258
|
-
process.exit(1);
|
|
259
|
-
}
|
|
260
|
-
// Validate task ID
|
|
261
|
-
if (!options.taskId || options.taskId.trim().length === 0) {
|
|
262
|
-
console.error(`❌ Task ID is required`);
|
|
263
|
-
process.exit(1);
|
|
264
|
-
}
|
|
265
|
-
try {
|
|
266
|
-
await client.mutation(api.tasks.reopenBacklogTask, {
|
|
267
|
-
sessionId,
|
|
268
|
-
taskId: options.taskId,
|
|
269
|
-
});
|
|
270
|
-
console.log('');
|
|
271
|
-
console.log('✅ Task reopened');
|
|
272
|
-
console.log(` ID: ${options.taskId}`);
|
|
273
|
-
console.log(` Status: pending_user_review`);
|
|
274
|
-
console.log('');
|
|
275
|
-
console.log('💡 The task is now ready for user review again.');
|
|
276
|
-
console.log('');
|
|
277
|
-
}
|
|
278
|
-
catch (error) {
|
|
279
|
-
console.error(`❌ Failed to reopen task: ${error.message}`);
|
|
280
|
-
process.exit(1);
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
function getStatusEmoji(status) {
|
|
284
|
-
switch (status) {
|
|
285
|
-
case 'pending':
|
|
286
|
-
return '🟢';
|
|
287
|
-
case 'in_progress':
|
|
288
|
-
return '🔵';
|
|
289
|
-
case 'queued':
|
|
290
|
-
return '🟡';
|
|
291
|
-
case 'backlog':
|
|
292
|
-
return '⚪';
|
|
293
|
-
case 'completed':
|
|
294
|
-
return '✅';
|
|
295
|
-
case 'cancelled':
|
|
296
|
-
return '❌';
|
|
297
|
-
case 'pending_user_review':
|
|
298
|
-
return '👀';
|
|
299
|
-
case 'closed':
|
|
300
|
-
return '🔒';
|
|
301
|
-
default:
|
|
302
|
-
return '⚫';
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
function truncate(str, maxLength) {
|
|
306
|
-
if (str.length <= maxLength)
|
|
307
|
-
return str;
|
|
308
|
-
return str.slice(0, maxLength - 3) + '...';
|
|
309
|
-
}
|
|
310
|
-
//# sourceMappingURL=backlog.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"backlog.js","sourceRoot":"","sources":["../../src/commands/backlog.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Feature commands for listing and inspecting features
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* List features in a chatroom
|
|
6
|
-
*/
|
|
7
|
-
export declare function listFeatures(chatroomId: string, options: {
|
|
8
|
-
limit?: number;
|
|
9
|
-
}): Promise<void>;
|
|
10
|
-
/**
|
|
11
|
-
* Inspect a specific feature
|
|
12
|
-
*/
|
|
13
|
-
export declare function inspectFeature(chatroomId: string, messageId: string): Promise<void>;
|
|
14
|
-
//# sourceMappingURL=feature.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"feature.d.ts","sourceRoot":"","sources":["../../src/commands/feature.ts"],"names":[],"mappings":"AAAA;;GAEG;AA+BH;;GAEG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IACP,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,CAAC,IAAI,CAAC,CA6Ef;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyGzF"}
|
package/dist/commands/feature.js
DELETED
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Feature commands for listing and inspecting features
|
|
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 features in a chatroom
|
|
9
|
-
*/
|
|
10
|
-
export async function listFeatures(chatroomId, options) {
|
|
11
|
-
const client = await getConvexClient();
|
|
12
|
-
// Get session ID for authentication
|
|
13
|
-
const sessionId = getSessionId();
|
|
14
|
-
if (!sessionId) {
|
|
15
|
-
console.error(`❌ Not authenticated. Please run: chatroom auth login`);
|
|
16
|
-
process.exit(1);
|
|
17
|
-
}
|
|
18
|
-
// Validate chatroom ID format
|
|
19
|
-
if (!chatroomId ||
|
|
20
|
-
typeof chatroomId !== 'string' ||
|
|
21
|
-
chatroomId.length < 20 ||
|
|
22
|
-
chatroomId.length > 40) {
|
|
23
|
-
console.error(`❌ Invalid chatroom ID format: ID must be 20-40 characters (got ${chatroomId?.length || 0})`);
|
|
24
|
-
process.exit(1);
|
|
25
|
-
}
|
|
26
|
-
try {
|
|
27
|
-
const features = (await client.query(api.messages.listFeatures, {
|
|
28
|
-
sessionId,
|
|
29
|
-
chatroomId: chatroomId,
|
|
30
|
-
limit: options.limit || 10,
|
|
31
|
-
}));
|
|
32
|
-
// Display header
|
|
33
|
-
console.log('');
|
|
34
|
-
console.log('══════════════════════════════════════════════════');
|
|
35
|
-
console.log('📦 FEATURES');
|
|
36
|
-
console.log('══════════════════════════════════════════════════');
|
|
37
|
-
console.log(`Chatroom: ${chatroomId}`);
|
|
38
|
-
console.log('');
|
|
39
|
-
if (features.length === 0) {
|
|
40
|
-
console.log('No features found.');
|
|
41
|
-
console.log('');
|
|
42
|
-
console.log('💡 Features are created when an agent classifies a task as new_feature');
|
|
43
|
-
console.log(' and provides a title, description, and technical specifications.');
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
console.log('──────────────────────────────────────────────────');
|
|
47
|
-
console.log('📝 FEATURE LIST');
|
|
48
|
-
console.log('──────────────────────────────────────────────────');
|
|
49
|
-
for (let i = 0; i < features.length; i++) {
|
|
50
|
-
const feature = features[i];
|
|
51
|
-
const date = new Date(feature.createdAt).toLocaleString('en-US', {
|
|
52
|
-
month: 'short',
|
|
53
|
-
day: 'numeric',
|
|
54
|
-
hour: '2-digit',
|
|
55
|
-
minute: '2-digit',
|
|
56
|
-
hour12: false,
|
|
57
|
-
});
|
|
58
|
-
console.log(`#${i + 1} ${feature.title}`);
|
|
59
|
-
if (feature.descriptionPreview) {
|
|
60
|
-
console.log(` ${feature.descriptionPreview}`);
|
|
61
|
-
}
|
|
62
|
-
console.log(` ID: ${feature.id}`);
|
|
63
|
-
console.log(` Created: ${date}`);
|
|
64
|
-
console.log('');
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
console.log('──────────────────────────────────────────────────');
|
|
68
|
-
console.log(`Showing ${features.length} feature(s)`);
|
|
69
|
-
console.log('');
|
|
70
|
-
console.log('💡 Use `chatroom feature inspect <chatroomId> <messageId>` for full details');
|
|
71
|
-
console.log('');
|
|
72
|
-
}
|
|
73
|
-
catch (error) {
|
|
74
|
-
console.error(`❌ Failed to list features: ${error.message}`);
|
|
75
|
-
process.exit(1);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Inspect a specific feature
|
|
80
|
-
*/
|
|
81
|
-
export async function inspectFeature(chatroomId, messageId) {
|
|
82
|
-
const client = await getConvexClient();
|
|
83
|
-
// Get session ID for authentication
|
|
84
|
-
const sessionId = getSessionId();
|
|
85
|
-
if (!sessionId) {
|
|
86
|
-
console.error(`❌ Not authenticated. Please run: chatroom auth login`);
|
|
87
|
-
process.exit(1);
|
|
88
|
-
}
|
|
89
|
-
// Validate chatroom ID format
|
|
90
|
-
if (!chatroomId ||
|
|
91
|
-
typeof chatroomId !== 'string' ||
|
|
92
|
-
chatroomId.length < 20 ||
|
|
93
|
-
chatroomId.length > 40) {
|
|
94
|
-
console.error(`❌ Invalid chatroom ID format: ID must be 20-40 characters (got ${chatroomId?.length || 0})`);
|
|
95
|
-
process.exit(1);
|
|
96
|
-
}
|
|
97
|
-
// Validate message ID
|
|
98
|
-
if (!messageId || messageId.trim().length === 0) {
|
|
99
|
-
console.error(`❌ Message ID is required`);
|
|
100
|
-
process.exit(1);
|
|
101
|
-
}
|
|
102
|
-
try {
|
|
103
|
-
const result = (await client.query(api.messages.inspectFeature, {
|
|
104
|
-
sessionId,
|
|
105
|
-
chatroomId: chatroomId,
|
|
106
|
-
messageId: messageId,
|
|
107
|
-
}));
|
|
108
|
-
const { feature, thread } = result;
|
|
109
|
-
const date = new Date(feature.createdAt).toLocaleString('en-US', {
|
|
110
|
-
month: 'short',
|
|
111
|
-
day: 'numeric',
|
|
112
|
-
year: 'numeric',
|
|
113
|
-
hour: '2-digit',
|
|
114
|
-
minute: '2-digit',
|
|
115
|
-
hour12: false,
|
|
116
|
-
});
|
|
117
|
-
// Display header
|
|
118
|
-
console.log('');
|
|
119
|
-
console.log('══════════════════════════════════════════════════');
|
|
120
|
-
console.log(`📦 FEATURE: ${feature.title}`);
|
|
121
|
-
console.log('══════════════════════════════════════════════════');
|
|
122
|
-
console.log(`ID: ${feature.id}`);
|
|
123
|
-
console.log(`Created: ${date}`);
|
|
124
|
-
console.log('');
|
|
125
|
-
// Description
|
|
126
|
-
if (feature.description) {
|
|
127
|
-
console.log('──────────────────────────────────────────────────');
|
|
128
|
-
console.log('📝 DESCRIPTION');
|
|
129
|
-
console.log('──────────────────────────────────────────────────');
|
|
130
|
-
console.log(feature.description);
|
|
131
|
-
console.log('');
|
|
132
|
-
}
|
|
133
|
-
// Tech specs
|
|
134
|
-
if (feature.techSpecs) {
|
|
135
|
-
console.log('──────────────────────────────────────────────────');
|
|
136
|
-
console.log('🔧 TECHNICAL SPECIFICATIONS');
|
|
137
|
-
console.log('──────────────────────────────────────────────────');
|
|
138
|
-
console.log(feature.techSpecs);
|
|
139
|
-
console.log('');
|
|
140
|
-
}
|
|
141
|
-
// Original request
|
|
142
|
-
console.log('──────────────────────────────────────────────────');
|
|
143
|
-
console.log('💬 ORIGINAL REQUEST');
|
|
144
|
-
console.log('──────────────────────────────────────────────────');
|
|
145
|
-
console.log(feature.content);
|
|
146
|
-
console.log('');
|
|
147
|
-
// Thread
|
|
148
|
-
if (thread.length > 0) {
|
|
149
|
-
console.log('──────────────────────────────────────────────────');
|
|
150
|
-
console.log('📜 CONVERSATION THREAD');
|
|
151
|
-
console.log('──────────────────────────────────────────────────');
|
|
152
|
-
for (const msg of thread) {
|
|
153
|
-
const msgDate = new Date(msg.createdAt).toLocaleString('en-US', {
|
|
154
|
-
hour: '2-digit',
|
|
155
|
-
minute: '2-digit',
|
|
156
|
-
hour12: false,
|
|
157
|
-
});
|
|
158
|
-
const typeLabel = msg.type === 'handoff' ? ' [handoff]' : '';
|
|
159
|
-
console.log(`[${msgDate}] ${msg.senderRole}${typeLabel}:`);
|
|
160
|
-
console.log(` ${msg.content.substring(0, 200)}${msg.content.length > 200 ? '...' : ''}`);
|
|
161
|
-
console.log('');
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
console.log('══════════════════════════════════════════════════');
|
|
165
|
-
console.log('');
|
|
166
|
-
}
|
|
167
|
-
catch (error) {
|
|
168
|
-
console.error(`❌ Failed to inspect feature: ${error.message}`);
|
|
169
|
-
process.exit(1);
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
//# sourceMappingURL=feature.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"feature.js","sourceRoot":"","sources":["../../src/commands/feature.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Guidelines CLI Commands
|
|
3
|
-
*
|
|
4
|
-
* Commands for viewing review guidelines by type.
|
|
5
|
-
*/
|
|
6
|
-
export interface ViewGuidelinesOptions {
|
|
7
|
-
type: string;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* View guidelines by type
|
|
11
|
-
*/
|
|
12
|
-
export declare function viewGuidelines(options: ViewGuidelinesOptions): Promise<void>;
|
|
13
|
-
/**
|
|
14
|
-
* List available guideline types
|
|
15
|
-
*/
|
|
16
|
-
export declare function listGuidelineTypes(): Promise<void>;
|
|
17
|
-
//# sourceMappingURL=guidelines.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"guidelines.d.ts","sourceRoot":"","sources":["../../src/commands/guidelines.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;CACd;AAID;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkClF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CA8BxD"}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Guidelines CLI Commands
|
|
3
|
-
*
|
|
4
|
-
* Commands for viewing review guidelines by type.
|
|
5
|
-
*/
|
|
6
|
-
import { api } from '../api.js';
|
|
7
|
-
import { getSessionId } from '../infrastructure/auth/storage.js';
|
|
8
|
-
import { getConvexClient } from '../infrastructure/convex/client.js';
|
|
9
|
-
const VALID_TYPES = ['coding', 'security', 'design', 'performance', 'all'];
|
|
10
|
-
/**
|
|
11
|
-
* View guidelines by type
|
|
12
|
-
*/
|
|
13
|
-
export async function viewGuidelines(options) {
|
|
14
|
-
const { type } = options;
|
|
15
|
-
// Validate type
|
|
16
|
-
if (!VALID_TYPES.includes(type)) {
|
|
17
|
-
console.error(`❌ Invalid guideline type: "${type}"`);
|
|
18
|
-
console.error(` Valid types: ${VALID_TYPES.join(', ')}`);
|
|
19
|
-
process.exit(1);
|
|
20
|
-
}
|
|
21
|
-
// Get session ID for authentication
|
|
22
|
-
const sessionId = getSessionId();
|
|
23
|
-
if (!sessionId) {
|
|
24
|
-
console.error(`❌ Not authenticated. Please run: chatroom auth login`);
|
|
25
|
-
process.exit(1);
|
|
26
|
-
}
|
|
27
|
-
const client = await getConvexClient();
|
|
28
|
-
try {
|
|
29
|
-
const result = (await client.query(api.guidelines.getGuidelines, {
|
|
30
|
-
type: type,
|
|
31
|
-
}));
|
|
32
|
-
console.log(`\n${'═'.repeat(60)}`);
|
|
33
|
-
console.log(`📋 ${result.title}`);
|
|
34
|
-
console.log(`${'═'.repeat(60)}\n`);
|
|
35
|
-
console.log(result.content);
|
|
36
|
-
console.log(`\n${'═'.repeat(60)}\n`);
|
|
37
|
-
}
|
|
38
|
-
catch (error) {
|
|
39
|
-
const err = error;
|
|
40
|
-
console.error(`❌ Error fetching guidelines: ${err.message}`);
|
|
41
|
-
process.exit(1);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* List available guideline types
|
|
46
|
-
*/
|
|
47
|
-
export async function listGuidelineTypes() {
|
|
48
|
-
// Get session ID for authentication
|
|
49
|
-
const sessionId = getSessionId();
|
|
50
|
-
if (!sessionId) {
|
|
51
|
-
console.error(`❌ Not authenticated. Please run: chatroom auth login`);
|
|
52
|
-
process.exit(1);
|
|
53
|
-
}
|
|
54
|
-
const client = await getConvexClient();
|
|
55
|
-
try {
|
|
56
|
-
const types = (await client.query(api.guidelines.listGuidelineTypes, {}));
|
|
57
|
-
console.log(`\n📋 Available Guideline Types\n`);
|
|
58
|
-
console.log(`${'─'.repeat(50)}`);
|
|
59
|
-
for (const t of types) {
|
|
60
|
-
console.log(` ${t.type.padEnd(12)} - ${t.description}`);
|
|
61
|
-
}
|
|
62
|
-
console.log(`${'─'.repeat(50)}`);
|
|
63
|
-
console.log(`\nUsage: chatroom guidelines view --type=<type>\n`);
|
|
64
|
-
}
|
|
65
|
-
catch (error) {
|
|
66
|
-
const err = error;
|
|
67
|
-
console.error(`❌ Error fetching guideline types: ${err.message}`);
|
|
68
|
-
process.exit(1);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
//# sourceMappingURL=guidelines.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"guidelines.js","sourceRoot":"","sources":["../../src/commands/guidelines.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +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 HandoffOptions {
|
|
14
|
-
role: string;
|
|
15
|
-
message: string;
|
|
16
|
-
nextRole: string;
|
|
17
|
-
}
|
|
18
|
-
export declare function handoff(chatroomId: string, options: HandoffOptions): Promise<void>;
|
|
19
|
-
export {};
|
|
20
|
-
//# sourceMappingURL=handoff.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handoff.d.ts","sourceRoot":"","sources":["../../src/commands/handoff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA6FxF"}
|