chatroom-cli 1.0.17 → 1.0.19

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 CHANGED
@@ -57,21 +57,21 @@ Once all agents have joined (team shows as "ready"), type your task in the messa
57
57
 
58
58
  ### User Commands
59
59
 
60
- | Command | Description |
61
- | ------------------------ | ------------------------------------------------ |
62
- | `chatroom init` | Initialize configuration file |
63
- | `chatroom update` | Update the CLI to the latest version |
64
- | `chatroom create` | Create chatroom from CLI (alternative to web UI) |
65
- | `chatroom list` | List chatroom history |
66
- | `chatroom complete <id>` | Mark a chatroom as completed |
60
+ | Command | Description |
61
+ | ------------------------ | -------------------------------- |
62
+ | `chatroom init` | Initialize configuration file |
63
+ | `chatroom update` | Update the CLI to the latest version |
64
+ | `chatroom list` | List chatroom history |
65
+ | `chatroom complete <id>` | Mark a chatroom as completed |
66
+
67
+ > **Note:** Chatrooms are created via the WebUI.
67
68
 
68
69
  ### Agent Commands
69
70
 
70
- | Command | Description |
71
- | ------------------------------------------------------------------------------ | ----------------------------------- |
72
- | `chatroom wait-for-message <id> --role=<role>` | Join chatroom and wait for messages |
73
- | `chatroom task-complete <id> --role=<role> --message="..." --next-role=<role>` | Complete task and hand off |
74
- | `chatroom send <id> --message="..." --role=<role>` | Send a message |
71
+ | Command | Description |
72
+ | ------------------------------------------------------------------------ | ----------------------------------- |
73
+ | `chatroom wait-for-message <id> --role=<role>` | Join chatroom and wait for messages |
74
+ | `chatroom handoff <id> --role=<role> --message="..." --next-role=<role>` | Complete task and hand off |
75
75
 
76
76
  ### Backlog Commands
77
77
 
package/dist/api.d.ts CHANGED
@@ -1,142 +1,11 @@
1
1
  /**
2
- * Convex API access following proper conventions
3
- * See: https://docs.convex.dev/client/react
2
+ * Convex API re-exports for CLI
4
3
  *
5
- * We use typed function references to maintain type safety
4
+ * This file re-exports from the synced Convex API types.
5
+ * The convex-api folder is generated by running 'pnpm --filter chatroom-cli sync'
6
+ * which copies the generated types from the backend.
7
+ *
8
+ * @module
6
9
  */
7
- import type { FunctionReference } from 'convex/server';
8
- export type Id<TableName extends string> = string & {
9
- __tableName: TableName;
10
- };
11
- export interface Chatroom {
12
- _id: Id<'chatroom_rooms'>;
13
- status: 'active' | 'interrupted' | 'completed';
14
- ownerId: Id<'users'>;
15
- teamId?: string;
16
- teamName?: string;
17
- teamRoles?: string[];
18
- teamEntryPoint?: string;
19
- _creationTime?: number;
20
- }
21
- export interface Message {
22
- _id: Id<'chatroom_messages'>;
23
- chatroomId: Id<'chatroom_rooms'>;
24
- senderRole: string;
25
- content: string;
26
- type: 'message' | 'handoff' | 'interrupt' | 'join';
27
- targetRole?: string;
28
- claimedByRole?: string;
29
- classification?: 'question' | 'new_feature' | 'follow_up';
30
- taskOriginMessageId?: Id<'chatroom_messages'>;
31
- taskId?: Id<'chatroom_tasks'>;
32
- _creationTime?: number;
33
- }
34
- export interface Task {
35
- _id: Id<'chatroom_tasks'>;
36
- chatroomId: Id<'chatroom_rooms'>;
37
- createdBy: string;
38
- content: string;
39
- status: 'pending' | 'in_progress' | 'queued' | 'backlog' | 'completed' | 'cancelled';
40
- assignedTo?: string;
41
- sourceMessageId?: Id<'chatroom_messages'>;
42
- createdAt: number;
43
- updatedAt: number;
44
- startedAt?: number;
45
- completedAt?: number;
46
- queuePosition: number;
47
- }
48
- export interface TaskWithMessage {
49
- task: Task;
50
- message: Message | null;
51
- }
52
- export interface AllowedHandoffRoles {
53
- availableRoles: string[];
54
- canHandoffToUser: boolean;
55
- restrictionReason: string | null;
56
- currentClassification: 'question' | 'new_feature' | 'follow_up' | null;
57
- }
58
- export interface ContextWindow {
59
- originMessage: Message | null;
60
- contextMessages: Message[];
61
- classification: 'question' | 'new_feature' | 'follow_up' | null;
62
- }
63
- export interface RolePromptResponse {
64
- prompt: string;
65
- currentClassification: 'question' | 'new_feature' | 'follow_up' | null;
66
- availableHandoffRoles: string[];
67
- canHandoffToUser: boolean;
68
- restrictionReason: string | null;
69
- }
70
- export interface Participant {
71
- _id: Id<'chatroom_participants'>;
72
- chatroomId: Id<'chatroom_rooms'>;
73
- role: string;
74
- status: 'active' | 'waiting' | 'idle';
75
- _creationTime?: number;
76
- }
77
- export interface TeamReadinessInfo {
78
- isReady: boolean;
79
- teamName: string;
80
- expectedRoles: string[];
81
- presentRoles: string[];
82
- missingRoles: string[];
83
- }
84
- export declare const api: {
85
- chatrooms: {
86
- get: FunctionReference<"query", "public">;
87
- create: FunctionReference<"mutation", "public">;
88
- updateStatus: FunctionReference<"mutation", "public">;
89
- interrupt: FunctionReference<"mutation", "public">;
90
- getTeamReadiness: FunctionReference<"query", "public">;
91
- };
92
- messages: {
93
- send: FunctionReference<"mutation", "public">;
94
- list: FunctionReference<"query", "public">;
95
- getLatestForRole: FunctionReference<"query", "public">;
96
- claimMessage: FunctionReference<"mutation", "public">;
97
- taskStarted: FunctionReference<"mutation", "public">;
98
- getAllowedHandoffRoles: FunctionReference<"query", "public">;
99
- getContextWindow: FunctionReference<"query", "public">;
100
- getRolePrompt: FunctionReference<"query", "public">;
101
- };
102
- participants: {
103
- join: FunctionReference<"mutation", "public">;
104
- updateStatus: FunctionReference<"mutation", "public">;
105
- list: FunctionReference<"query", "public">;
106
- };
107
- cliAuth: {
108
- createAuthRequest: FunctionReference<"mutation", "public">;
109
- getAuthRequestStatus: FunctionReference<"query", "public">;
110
- validateSession: FunctionReference<"query", "public">;
111
- touchSession: FunctionReference<"mutation", "public">;
112
- };
113
- tasks: {
114
- createTask: FunctionReference<"mutation", "public">;
115
- startTask: FunctionReference<"mutation", "public">;
116
- completeTask: FunctionReference<"mutation", "public">;
117
- completeTaskById: FunctionReference<"mutation", "public">;
118
- cancelTask: FunctionReference<"mutation", "public">;
119
- updateTask: FunctionReference<"mutation", "public">;
120
- moveToQueue: FunctionReference<"mutation", "public">;
121
- listTasks: FunctionReference<"query", "public">;
122
- getActiveTask: FunctionReference<"query", "public">;
123
- getTaskCounts: FunctionReference<"query", "public">;
124
- getPendingTasksForRole: FunctionReference<"query", "public">;
125
- };
126
- };
127
- export interface AuthRequestResult {
128
- requestId: string;
129
- expiresAt: number;
130
- }
131
- export interface AuthRequestStatus {
132
- status: 'pending' | 'approved' | 'denied' | 'expired' | 'not_found';
133
- sessionId?: string;
134
- expiresAt?: number;
135
- }
136
- export interface SessionValidation {
137
- valid: boolean;
138
- userId?: string;
139
- userName?: string;
140
- reason?: string;
141
- }
10
+ export { api, type Id, type Chatroom, type Message, type Task, type TaskWithMessage, type AllowedHandoffRoles, type ContextWindow, type RolePromptResponse, type Participant, type TeamReadinessInfo, type AuthRequestResult, type AuthRequestStatus, type SessionValidation, } from './convex-api/index.js';
142
11
  //# sourceMappingURL=api.d.ts.map
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EACL,GAAG,EACH,KAAK,EAAE,EACP,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,IAAI,EACT,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,GACvB,MAAM,uBAAuB,CAAC"}
package/dist/api.js CHANGED
@@ -1,46 +1,12 @@
1
- // Create typed function references for the chatroom-related APIs
2
- // This follows Convex conventions while avoiding backend dependency issues
3
- export const api = {
4
- chatrooms: {
5
- get: 'chatrooms:get',
6
- create: 'chatrooms:create',
7
- updateStatus: 'chatrooms:updateStatus',
8
- interrupt: 'chatrooms:interrupt',
9
- getTeamReadiness: 'chatrooms:getTeamReadiness',
10
- },
11
- messages: {
12
- send: 'messages:send',
13
- list: 'messages:list',
14
- getLatestForRole: 'messages:getLatestForRole',
15
- claimMessage: 'messages:claimMessage',
16
- taskStarted: 'messages:taskStarted',
17
- getAllowedHandoffRoles: 'messages:getAllowedHandoffRoles',
18
- getContextWindow: 'messages:getContextWindow',
19
- getRolePrompt: 'messages:getRolePrompt',
20
- },
21
- participants: {
22
- join: 'participants:join',
23
- updateStatus: 'participants:updateStatus',
24
- list: 'participants:list',
25
- },
26
- cliAuth: {
27
- createAuthRequest: 'cliAuth:createAuthRequest',
28
- getAuthRequestStatus: 'cliAuth:getAuthRequestStatus',
29
- validateSession: 'cliAuth:validateSession',
30
- touchSession: 'cliAuth:touchSession',
31
- },
32
- tasks: {
33
- createTask: 'tasks:createTask',
34
- startTask: 'tasks:startTask',
35
- completeTask: 'tasks:completeTask',
36
- completeTaskById: 'tasks:completeTaskById',
37
- cancelTask: 'tasks:cancelTask',
38
- updateTask: 'tasks:updateTask',
39
- moveToQueue: 'tasks:moveToQueue',
40
- listTasks: 'tasks:listTasks',
41
- getActiveTask: 'tasks:getActiveTask',
42
- getTaskCounts: 'tasks:getTaskCounts',
43
- getPendingTasksForRole: 'tasks:getPendingTasksForRole',
44
- },
45
- };
1
+ /**
2
+ * Convex API re-exports for CLI
3
+ *
4
+ * This file re-exports from the synced Convex API types.
5
+ * The convex-api folder is generated by running 'pnpm --filter chatroom-cli sync'
6
+ * which copies the generated types from the backend.
7
+ *
8
+ * @module
9
+ */
10
+ // Re-export everything from the synced convex-api
11
+ export { api, } from './convex-api/index.js';
46
12
  //# sourceMappingURL=api.js.map
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AA8FA,iEAAiE;AACjE,2EAA2E;AAC3E,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,SAAS,EAAE;QACT,GAAG,EAAE,eAAkE;QACvE,MAAM,EAAE,kBAAwE;QAChF,YAAY,EAAE,wBAA8E;QAC5F,SAAS,EAAE,qBAA2E;QACtF,gBAAgB,EAAE,4BAGjB;KACF;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,eAAqE;QAC3E,IAAI,EAAE,eAAkE;QACxE,gBAAgB,EAAE,2BAGjB;QACD,YAAY,EAAE,uBAA6E;QAC3F,WAAW,EAAE,sBAA4E;QACzF,sBAAsB,EAAE,iCAGvB;QACD,gBAAgB,EAAE,2BAGjB;QACD,aAAa,EAAE,wBAA2E;KAC3F;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,mBAAyE;QAC/E,YAAY,EAAE,2BAAiF;QAC/F,IAAI,EAAE,mBAAsE;KAC7E;IACD,OAAO,EAAE;QACP,iBAAiB,EAAE,2BAGlB;QACD,oBAAoB,EAAE,8BAGrB;QACD,eAAe,EAAE,yBAA4E;QAC7F,YAAY,EAAE,sBAA4E;KAC3F;IACD,KAAK,EAAE;QACL,UAAU,EAAE,kBAAwE;QACpF,SAAS,EAAE,iBAAuE;QAClF,YAAY,EAAE,oBAA0E;QACxF,gBAAgB,EAAE,wBAGjB;QACD,UAAU,EAAE,kBAAwE;QACpF,UAAU,EAAE,kBAAwE;QACpF,WAAW,EAAE,mBAAyE;QACtF,SAAS,EAAE,iBAAoE;QAC/E,aAAa,EAAE,qBAAwE;QACvF,aAAa,EAAE,qBAAwE;QACvF,sBAAsB,EAAE,8BAGvB;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,kDAAkD;AAClD,OAAO,EACL,GAAG,GAcJ,MAAM,uBAAuB,CAAC"}
@@ -1 +1 @@
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,CAwD/E"}
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"}
@@ -52,7 +52,6 @@ export async function createChatroom(options = {}) {
52
52
  for (const role of team.roles) {
53
53
  console.log(` chatroom wait-for-message ${chatroomId} --role=${role}`);
54
54
  }
55
- console.log(`\n 2. Send a message to get started:`);
56
- console.log(` chatroom send ${chatroomId} --message="Your task here"`);
55
+ console.log(`\n 2. Send a message via the WebUI to get started`);
57
56
  }
58
57
  //# sourceMappingURL=create.js.map
@@ -1 +1 @@
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,wCAAwC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,uBAAuB,UAAU,6BAA6B,CAAC,CAAC;AAC9E,CAAC"}
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"}
@@ -0,0 +1,21 @@
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
+ noWait?: boolean;
18
+ }
19
+ export declare function handoff(chatroomId: string, options: HandoffOptions): Promise<void>;
20
+ export {};
21
+ //# sourceMappingURL=handoff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handoff.d.ts","sourceRoot":"","sources":["../../src/commands/handoff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA8ExF"}
@@ -0,0 +1,83 @@
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 handoff(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 handoff ${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=handoff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../src/commands/handoff.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,14 @@
1
1
  /**
2
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
3
12
  */
4
13
  interface TaskCompleteOptions {
5
14
  role: string;
@@ -1 +1 @@
1
- {"version":3,"file":"task-complete.d.ts","sourceRoot":"","sources":["../../src/commands/task-complete.ts"],"names":[],"mappings":"AAAA;;GAEG;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,CAwFf"}
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,5 +1,14 @@
1
1
  /**
2
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
3
12
  */
4
13
  import { waitForMessage } from './wait-for-message.js';
5
14
  import { api } from '../api.js';
@@ -22,47 +31,40 @@ export async function taskComplete(chatroomId, options) {
22
31
  console.error(`❌ Invalid chatroom ID format: ID must be 20-40 characters (got ${chatroomId?.length || 0})`);
23
32
  process.exit(1);
24
33
  }
25
- // Check if handoff to user is allowed based on classification
26
- if (nextRole.toLowerCase() === 'user') {
27
- const allowedRoles = (await client.query(api.messages.getAllowedHandoffRoles, {
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, {
28
46
  sessionId,
29
47
  chatroomId: chatroomId,
30
- role,
31
- }));
32
- if (!allowedRoles.canHandoffToUser) {
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')) {
33
59
  console.error(`\n❌ Cannot hand off directly to user`);
34
- console.error(` Reason: ${allowedRoles.restrictionReason}`);
35
- console.error(`\n📋 Current classification: ${allowedRoles.currentClassification}`);
36
- console.error(`\n💡 Available handoff roles: ${allowedRoles.availableRoles.join(', ')}`);
37
- console.error(`\n Please hand off to: reviewer`);
60
+ console.error(` Reason: new_feature requests must be reviewed before returning to user`);
61
+ console.error(`\n💡 Please hand off to: reviewer`);
38
62
  console.error(` Example: chatroom task-complete ${chatroomId} --role=${role} --message="<summary>" --next-role=reviewer`);
39
63
  process.exit(1);
40
64
  }
65
+ // Re-throw other errors
66
+ throw error;
41
67
  }
42
- // Complete the current in_progress task and promote queued tasks
43
- await client.mutation(api.tasks.completeTask, {
44
- sessionId,
45
- chatroomId: chatroomId,
46
- role,
47
- });
48
- // Send handoff message
49
- await client.mutation(api.messages.send, {
50
- sessionId,
51
- chatroomId: chatroomId,
52
- senderRole: role,
53
- content: message,
54
- targetRole: nextRole,
55
- type: 'handoff',
56
- });
57
- // Update participant status to waiting
58
- await client.mutation(api.participants.updateStatus, {
59
- sessionId,
60
- chatroomId: chatroomId,
61
- role,
62
- status: 'waiting',
63
- });
64
- console.log(`✅ Task completed and handed off to ${nextRole}`);
65
- console.log(`📋 Summary: ${message.substring(0, 100)}${message.length > 100 ? '...' : ''}`);
66
68
  // Check if handing off to user (workflow completion)
67
69
  if (nextRole.toLowerCase() === 'user') {
68
70
  console.log(`\n🎉 Workflow complete! Control returned to user.`);
@@ -1 +1 @@
1
- {"version":3,"file":"task-complete.js","sourceRoot":"","sources":["../../src/commands/task-complete.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-complete.js","sourceRoot":"","sources":["../../src/commands/task-complete.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * Generated `api` utility.
4
+ *
5
+ * THIS CODE IS AUTOMATICALLY GENERATED.
6
+ *
7
+ * To regenerate, run `npx convex dev`.
8
+ * @module
9
+ */
10
+
11
+ import type * as appinfo from "../appinfo.js";
12
+ import type * as attendance from "../attendance.js";
13
+ import type * as auth from "../auth.js";
14
+ import type * as auth_google from "../auth/google.js";
15
+ import type * as chatrooms from "../chatrooms.js";
16
+ import type * as checklists from "../checklists.js";
17
+ import type * as cleanupTasks from "../cleanupTasks.js";
18
+ import type * as cliAuth from "../cliAuth.js";
19
+ import type * as crypto from "../crypto.js";
20
+ import type * as discussions from "../discussions.js";
21
+ import type * as lib_cliSessionAuth from "../lib/cliSessionAuth.js";
22
+ import type * as lib_hierarchy from "../lib/hierarchy.js";
23
+ import type * as messages from "../messages.js";
24
+ import type * as migration from "../migration.js";
25
+ import type * as participants from "../participants.js";
26
+ import type * as presentations from "../presentations.js";
27
+ import type * as prompts_generator from "../prompts/generator.js";
28
+ import type * as prompts_index from "../prompts/index.js";
29
+ import type * as prompts_templates from "../prompts/templates.js";
30
+ import type * as serviceDesk from "../serviceDesk.js";
31
+ import type * as system_auth_google from "../system/auth/google.js";
32
+ import type * as tasks from "../tasks.js";
33
+
34
+ import type {
35
+ ApiFromModules,
36
+ FilterApi,
37
+ FunctionReference,
38
+ } from "convex/server";
39
+
40
+ declare const fullApi: ApiFromModules<{
41
+ appinfo: typeof appinfo;
42
+ attendance: typeof attendance;
43
+ auth: typeof auth;
44
+ "auth/google": typeof auth_google;
45
+ chatrooms: typeof chatrooms;
46
+ checklists: typeof checklists;
47
+ cleanupTasks: typeof cleanupTasks;
48
+ cliAuth: typeof cliAuth;
49
+ crypto: typeof crypto;
50
+ discussions: typeof discussions;
51
+ "lib/cliSessionAuth": typeof lib_cliSessionAuth;
52
+ "lib/hierarchy": typeof lib_hierarchy;
53
+ messages: typeof messages;
54
+ migration: typeof migration;
55
+ participants: typeof participants;
56
+ presentations: typeof presentations;
57
+ "prompts/generator": typeof prompts_generator;
58
+ "prompts/index": typeof prompts_index;
59
+ "prompts/templates": typeof prompts_templates;
60
+ serviceDesk: typeof serviceDesk;
61
+ "system/auth/google": typeof system_auth_google;
62
+ tasks: typeof tasks;
63
+ }>;
64
+
65
+ /**
66
+ * A utility for referencing Convex functions in your app's public API.
67
+ *
68
+ * Usage:
69
+ * ```js
70
+ * const myFunctionReference = api.myModule.myFunction;
71
+ * ```
72
+ */
73
+ export declare const api: FilterApi<
74
+ typeof fullApi,
75
+ FunctionReference<any, "public">
76
+ >;
77
+
78
+ /**
79
+ * A utility for referencing Convex functions in your app's internal API.
80
+ *
81
+ * Usage:
82
+ * ```js
83
+ * const myFunctionReference = internal.myModule.myFunction;
84
+ * ```
85
+ */
86
+ export declare const internal: FilterApi<
87
+ typeof fullApi,
88
+ FunctionReference<any, "internal">
89
+ >;
90
+
91
+ export declare const components: {};
@@ -0,0 +1,23 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * Generated `api` utility.
4
+ *
5
+ * THIS CODE IS AUTOMATICALLY GENERATED.
6
+ *
7
+ * To regenerate, run `npx convex dev`.
8
+ * @module
9
+ */
10
+
11
+ import { anyApi, componentsGeneric } from "convex/server";
12
+
13
+ /**
14
+ * A utility for referencing Convex functions in your app's API.
15
+ *
16
+ * Usage:
17
+ * ```js
18
+ * const myFunctionReference = api.myModule.myFunction;
19
+ * ```
20
+ */
21
+ export const api = anyApi;
22
+ export const internal = anyApi;
23
+ export const components = componentsGeneric();
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Convex API types for CLI
3
+ *
4
+ * This file is auto-generated by scripts/sync-cli-api.ts
5
+ * Do not edit directly - run 'pnpm --filter chatroom-cli sync' to regenerate.
6
+ *
7
+ * @module
8
+ */
9
+ export { api } from './api.js';
10
+ export type Id<TableName extends string> = string & {
11
+ __tableName: TableName;
12
+ };
13
+ export interface Chatroom {
14
+ _id: Id<'chatroom_rooms'>;
15
+ status: 'active' | 'interrupted' | 'completed';
16
+ ownerId: Id<'users'>;
17
+ teamId?: string;
18
+ teamName?: string;
19
+ teamRoles?: string[];
20
+ teamEntryPoint?: string;
21
+ _creationTime?: number;
22
+ }
23
+ export interface Message {
24
+ _id: Id<'chatroom_messages'>;
25
+ chatroomId: Id<'chatroom_rooms'>;
26
+ senderRole: string;
27
+ content: string;
28
+ type: 'message' | 'handoff' | 'interrupt' | 'join';
29
+ targetRole?: string;
30
+ claimedByRole?: string;
31
+ classification?: 'question' | 'new_feature' | 'follow_up';
32
+ taskOriginMessageId?: Id<'chatroom_messages'>;
33
+ taskId?: Id<'chatroom_tasks'>;
34
+ _creationTime?: number;
35
+ }
36
+ export interface Task {
37
+ _id: Id<'chatroom_tasks'>;
38
+ chatroomId: Id<'chatroom_rooms'>;
39
+ createdBy: string;
40
+ content: string;
41
+ status: 'pending' | 'in_progress' | 'queued' | 'backlog' | 'completed' | 'cancelled';
42
+ assignedTo?: string;
43
+ sourceMessageId?: Id<'chatroom_messages'>;
44
+ createdAt: number;
45
+ updatedAt: number;
46
+ startedAt?: number;
47
+ completedAt?: number;
48
+ queuePosition: number;
49
+ }
50
+ export interface TaskWithMessage {
51
+ task: Task;
52
+ message: Message | null;
53
+ }
54
+ export interface AllowedHandoffRoles {
55
+ availableRoles: string[];
56
+ canHandoffToUser: boolean;
57
+ restrictionReason: string | null;
58
+ currentClassification: 'question' | 'new_feature' | 'follow_up' | null;
59
+ }
60
+ export interface ContextWindow {
61
+ originMessage: Message | null;
62
+ contextMessages: Message[];
63
+ classification: 'question' | 'new_feature' | 'follow_up' | null;
64
+ }
65
+ export interface RolePromptResponse {
66
+ prompt: string;
67
+ currentClassification: 'question' | 'new_feature' | 'follow_up' | null;
68
+ availableHandoffRoles: string[];
69
+ canHandoffToUser: boolean;
70
+ restrictionReason: string | null;
71
+ }
72
+ export interface Participant {
73
+ _id: Id<'chatroom_participants'>;
74
+ chatroomId: Id<'chatroom_rooms'>;
75
+ role: string;
76
+ status: 'active' | 'waiting' | 'idle';
77
+ _creationTime?: number;
78
+ }
79
+ export interface TeamReadinessInfo {
80
+ isReady: boolean;
81
+ teamName: string;
82
+ expectedRoles: string[];
83
+ presentRoles: string[];
84
+ missingRoles: string[];
85
+ }
86
+ export interface AuthRequestResult {
87
+ requestId: string;
88
+ expiresAt: number;
89
+ }
90
+ export interface AuthRequestStatus {
91
+ status: 'pending' | 'approved' | 'denied' | 'expired' | 'not_found';
92
+ sessionId?: string;
93
+ expiresAt?: number;
94
+ }
95
+ export interface SessionValidation {
96
+ valid: boolean;
97
+ userId?: string;
98
+ userName?: string;
99
+ reason?: string;
100
+ }
101
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/convex-api/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Convex API types for CLI
3
+ *
4
+ * This file is auto-generated by scripts/sync-cli-api.ts
5
+ * Do not edit directly - run 'pnpm --filter chatroom-cli sync' to regenerate.
6
+ *
7
+ * @module
8
+ */
9
+ // Re-export the generated API
10
+ export { api } from './api.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/convex-api/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,8BAA8B;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -78,15 +78,6 @@ program
78
78
  // ============================================================================
79
79
  // CHATROOM COMMANDS (auth required unless --skip-auth)
80
80
  // ============================================================================
81
- program
82
- .command('create')
83
- .description('Create a new chatroom')
84
- .option('-t, --team <teamId>', 'Team to use (default: from config)')
85
- .action(async (options) => {
86
- await maybeRequireAuth();
87
- const { createChatroom } = await import('./commands/create.js');
88
- await createChatroom(options);
89
- });
90
81
  program
91
82
  .command('list')
92
83
  .description('List chatroom history')
@@ -131,17 +122,6 @@ program
131
122
  duration: options.duration,
132
123
  });
133
124
  });
134
- program
135
- .command('send <chatroomId>')
136
- .description('Send a message to a chatroom')
137
- .requiredOption('--message <message>', 'Message content to send')
138
- .option('--role <role>', 'Sender role', 'user')
139
- .option('--skip-ready-check', 'Send even if team is not ready')
140
- .action(async (chatroomId, options) => {
141
- await maybeRequireAuth();
142
- const { sendMessage } = await import('./commands/send.js');
143
- await sendMessage(chatroomId, options);
144
- });
145
125
  program
146
126
  .command('task-started <chatroomId>')
147
127
  .description('Acknowledge a task and classify the user message')
@@ -161,16 +141,19 @@ program
161
141
  });
162
142
  });
163
143
  program
164
- .command('task-complete <chatroomId>')
165
- .description('Complete a task and hand off to the next role')
144
+ .command('handoff <chatroomId>')
145
+ .description('Complete your task and hand off to the next role')
166
146
  .requiredOption('--role <role>', 'Your role')
167
147
  .requiredOption('--message <message>', 'Completion message/summary')
168
148
  .requiredOption('--next-role <nextRole>', 'Role to hand off to')
169
149
  .option('--no-wait', 'Exit instead of waiting for next message')
170
150
  .action(async (chatroomId, options) => {
171
151
  await maybeRequireAuth();
172
- const { taskComplete } = await import('./commands/task-complete.js');
173
- await taskComplete(chatroomId, { ...options, noWait: options.wait === false });
152
+ const { handoff } = await import('./commands/handoff.js');
153
+ await handoff(chatroomId, {
154
+ ...options,
155
+ noWait: options.wait === false,
156
+ });
174
157
  });
175
158
  // ============================================================================
176
159
  // BACKLOG COMMANDS (auth required)
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,15 +1,17 @@
1
1
  {
2
2
  "name": "chatroom-cli",
3
- "version": "1.0.17",
3
+ "version": "1.0.19",
4
4
  "description": "CLI for multi-agent chatroom collaboration",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "chatroom": "./dist/index.js"
8
8
  },
9
9
  "scripts": {
10
+ "sync": "bun ../../scripts/sync-cli-api.ts",
11
+ "prebuild": "npm run sync",
10
12
  "build": "tsc",
11
13
  "dev": "bun run src/index.ts",
12
- "typecheck": "tsc --noEmit",
14
+ "typecheck": "npm run sync && tsc --noEmit",
13
15
  "chatroom": "bun run src/index.ts",
14
16
  "prepublishOnly": "npm run build"
15
17
  },