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.
Files changed (108) hide show
  1. package/README.md +35 -27
  2. package/dist/index.js +12728 -339
  3. package/package.json +11 -10
  4. package/dist/api.d.ts +0 -11
  5. package/dist/api.d.ts.map +0 -1
  6. package/dist/api.js +0 -12
  7. package/dist/api.js.map +0 -1
  8. package/dist/commands/auth-login.d.ts +0 -10
  9. package/dist/commands/auth-login.d.ts.map +0 -1
  10. package/dist/commands/auth-login.js +0 -179
  11. package/dist/commands/auth-login.js.map +0 -1
  12. package/dist/commands/auth-logout.d.ts +0 -6
  13. package/dist/commands/auth-logout.d.ts.map +0 -1
  14. package/dist/commands/auth-logout.js +0 -21
  15. package/dist/commands/auth-logout.js.map +0 -1
  16. package/dist/commands/auth-status.d.ts +0 -6
  17. package/dist/commands/auth-status.d.ts.map +0 -1
  18. package/dist/commands/auth-status.js +0 -50
  19. package/dist/commands/auth-status.js.map +0 -1
  20. package/dist/commands/backlog.d.ts +0 -36
  21. package/dist/commands/backlog.d.ts.map +0 -1
  22. package/dist/commands/backlog.js +0 -310
  23. package/dist/commands/backlog.js.map +0 -1
  24. package/dist/commands/feature.d.ts +0 -14
  25. package/dist/commands/feature.d.ts.map +0 -1
  26. package/dist/commands/feature.js +0 -172
  27. package/dist/commands/feature.js.map +0 -1
  28. package/dist/commands/guidelines.d.ts +0 -17
  29. package/dist/commands/guidelines.d.ts.map +0 -1
  30. package/dist/commands/guidelines.js +0 -71
  31. package/dist/commands/guidelines.js.map +0 -1
  32. package/dist/commands/handoff.d.ts +0 -20
  33. package/dist/commands/handoff.d.ts.map +0 -1
  34. package/dist/commands/handoff.js +0 -83
  35. package/dist/commands/handoff.js.map +0 -1
  36. package/dist/commands/init.d.ts +0 -9
  37. package/dist/commands/init.d.ts.map +0 -1
  38. package/dist/commands/init.js +0 -23
  39. package/dist/commands/init.js.map +0 -1
  40. package/dist/commands/messages.d.ts +0 -24
  41. package/dist/commands/messages.d.ts.map +0 -1
  42. package/dist/commands/messages.js +0 -149
  43. package/dist/commands/messages.js.map +0 -1
  44. package/dist/commands/opencode-install.d.ts +0 -29
  45. package/dist/commands/opencode-install.d.ts.map +0 -1
  46. package/dist/commands/opencode-install.js +0 -416
  47. package/dist/commands/opencode-install.js.map +0 -1
  48. package/dist/commands/task-started.d.ts +0 -13
  49. package/dist/commands/task-started.d.ts.map +0 -1
  50. package/dist/commands/task-started.js +0 -107
  51. package/dist/commands/task-started.js.map +0 -1
  52. package/dist/commands/update.d.ts +0 -6
  53. package/dist/commands/update.d.ts.map +0 -1
  54. package/dist/commands/update.js +0 -78
  55. package/dist/commands/update.js.map +0 -1
  56. package/dist/commands/wait-for-task.d.ts +0 -18
  57. package/dist/commands/wait-for-task.d.ts.map +0 -1
  58. package/dist/commands/wait-for-task.js +0 -306
  59. package/dist/commands/wait-for-task.js.map +0 -1
  60. package/dist/config/defaults.d.ts +0 -12
  61. package/dist/config/defaults.d.ts.map +0 -1
  62. package/dist/config/defaults.js +0 -70
  63. package/dist/config/defaults.js.map +0 -1
  64. package/dist/config/loader.d.ts +0 -52
  65. package/dist/config/loader.d.ts.map +0 -1
  66. package/dist/config/loader.js +0 -202
  67. package/dist/config/loader.js.map +0 -1
  68. package/dist/config/schema.d.ts +0 -52
  69. package/dist/config/schema.d.ts.map +0 -1
  70. package/dist/config/schema.js +0 -99
  71. package/dist/config/schema.js.map +0 -1
  72. package/dist/config.d.ts +0 -20
  73. package/dist/config.d.ts.map +0 -1
  74. package/dist/config.js +0 -20
  75. package/dist/config.js.map +0 -1
  76. package/dist/convex-api/api.d.ts +0 -137
  77. package/dist/convex-api/api.js +0 -23
  78. package/dist/convex-api/index.d.ts +0 -102
  79. package/dist/convex-api/index.d.ts.map +0 -1
  80. package/dist/convex-api/index.js +0 -11
  81. package/dist/convex-api/index.js.map +0 -1
  82. package/dist/index.d.ts +0 -9
  83. package/dist/index.d.ts.map +0 -1
  84. package/dist/index.js.map +0 -1
  85. package/dist/infrastructure/auth/middleware.d.ts +0 -20
  86. package/dist/infrastructure/auth/middleware.d.ts.map +0 -1
  87. package/dist/infrastructure/auth/middleware.js +0 -96
  88. package/dist/infrastructure/auth/middleware.js.map +0 -1
  89. package/dist/infrastructure/auth/storage.d.ts +0 -58
  90. package/dist/infrastructure/auth/storage.d.ts.map +0 -1
  91. package/dist/infrastructure/auth/storage.js +0 -242
  92. package/dist/infrastructure/auth/storage.js.map +0 -1
  93. package/dist/infrastructure/convex/client.d.ts +0 -16
  94. package/dist/infrastructure/convex/client.d.ts.map +0 -1
  95. package/dist/infrastructure/convex/client.js +0 -40
  96. package/dist/infrastructure/convex/client.js.map +0 -1
  97. package/dist/infrastructure/history/storage.d.ts +0 -21
  98. package/dist/infrastructure/history/storage.d.ts.map +0 -1
  99. package/dist/infrastructure/history/storage.js +0 -56
  100. package/dist/infrastructure/history/storage.js.map +0 -1
  101. package/dist/utils/file-content.d.ts +0 -29
  102. package/dist/utils/file-content.d.ts.map +0 -1
  103. package/dist/utils/file-content.js +0 -51
  104. package/dist/utils/file-content.js.map +0 -1
  105. package/dist/version.d.ts +0 -14
  106. package/dist/version.d.ts.map +0 -1
  107. package/dist/version.js +0 -43
  108. package/dist/version.js.map +0 -1
package/package.json CHANGED
@@ -1,30 +1,31 @@
1
1
  {
2
2
  "name": "chatroom-cli",
3
- "version": "1.0.54",
3
+ "version": "1.0.64",
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",
12
- "build": "tsc",
10
+ "build": "bun run typecheck && bun build src/index.ts --outdir dist --target node --format esm",
13
11
  "dev": "bun run src/index.ts",
14
- "typecheck": "npm run sync && tsc --noEmit",
12
+ "typecheck": "tsc --noEmit",
13
+ "test": "vitest run",
14
+ "test:watch": "vitest",
15
15
  "chatroom": "bun run src/index.ts",
16
- "prepublishOnly": "npm run build"
16
+ "prepublishOnly": "bun run build"
17
17
  },
18
18
  "dependencies": {
19
19
  "commander": "^14.0.0",
20
- "convex": "^1.31.0",
21
- "node-notifier": "^10.0.0"
20
+ "convex": "^1.31.0"
22
21
  },
23
22
  "devDependencies": {
24
23
  "@types/bun": "latest",
25
24
  "@types/node": "^20.0.0",
26
- "@types/node-notifier": "^8.0.5",
27
- "typescript": "^5.0.0"
25
+ "@workspace/backend": "workspace:*",
26
+ "typescript": "^5.0.0",
27
+ "vite": "^6.3.5",
28
+ "vitest": "^4.0.6"
28
29
  },
29
30
  "keywords": [
30
31
  "cli",
package/dist/api.d.ts DELETED
@@ -1,11 +0,0 @@
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
- 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';
11
- //# sourceMappingURL=api.d.ts.map
package/dist/api.d.ts.map DELETED
@@ -1 +0,0 @@
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 DELETED
@@ -1,12 +0,0 @@
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';
12
- //# sourceMappingURL=api.js.map
package/dist/api.js.map DELETED
@@ -1 +0,0 @@
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,10 +0,0 @@
1
- /**
2
- * Auth login command
3
- * Implements device authorization flow for CLI authentication
4
- */
5
- interface AuthLoginOptions {
6
- force?: boolean;
7
- }
8
- export declare function authLogin(options: AuthLoginOptions): Promise<void>;
9
- export {};
10
- //# sourceMappingURL=auth-login.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-login.d.ts","sourceRoot":"","sources":["../../src/commands/auth-login.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAmBH,UAAU,gBAAgB;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA+DD,wBAAsB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmIxE"}
@@ -1,179 +0,0 @@
1
- /**
2
- * Auth login command
3
- * Implements device authorization flow for CLI authentication
4
- */
5
- import { api } from '../api.js';
6
- import { saveAuthData, getDeviceName, getCliVersion, isAuthenticated, getAuthFilePath, } from '../infrastructure/auth/storage.js';
7
- import { getConvexClient, getConvexUrl } from '../infrastructure/convex/client.js';
8
- // Poll interval for checking auth status
9
- const AUTH_POLL_INTERVAL_MS = 2000;
10
- // Production URLs
11
- const PRODUCTION_CONVEX_URL = 'https://chatroom-cloud.duskfare.com';
12
- const PRODUCTION_WEBAPP_URL = 'https://chatroom.duskfare.com';
13
- /**
14
- * Get the webapp URL for the auth page
15
- *
16
- * For production Convex URL, uses production webapp.
17
- * For non-production Convex URL, requires CHATROOM_WEB_URL to be set explicitly.
18
- */
19
- function getWebAppUrl() {
20
- const convexUrl = getConvexUrl();
21
- // Production Convex → Production webapp
22
- if (convexUrl === PRODUCTION_CONVEX_URL) {
23
- return PRODUCTION_WEBAPP_URL;
24
- }
25
- // Non-production: require explicit CHATROOM_WEB_URL
26
- const webAppUrlOverride = process.env.CHATROOM_WEB_URL;
27
- if (webAppUrlOverride) {
28
- return webAppUrlOverride;
29
- }
30
- // Error: non-production Convex URL without CHATROOM_WEB_URL
31
- console.error(`\n${'═'.repeat(50)}`);
32
- console.error(`❌ CHATROOM_WEB_URL Required`);
33
- console.error(`${'═'.repeat(50)}`);
34
- console.error(`\nYou are using a non-production Convex backend:`);
35
- console.error(` CHATROOM_CONVEX_URL=${convexUrl}`);
36
- console.error(`\nTo authenticate with a local/dev backend, you must also set`);
37
- console.error(`the webapp URL where the auth page is hosted:`);
38
- console.error(`\n CHATROOM_WEB_URL=http://localhost:3000 \\`);
39
- console.error(` CHATROOM_CONVEX_URL=${convexUrl} \\`);
40
- console.error(` chatroom auth login`);
41
- console.error(`\n${'═'.repeat(50)}\n`);
42
- process.exit(1);
43
- }
44
- /**
45
- * Open URL in the default browser
46
- */
47
- async function openBrowser(url) {
48
- const { exec } = await import('node:child_process');
49
- const { promisify } = await import('node:util');
50
- const execAsync = promisify(exec);
51
- const platform = process.platform;
52
- try {
53
- if (platform === 'darwin') {
54
- await execAsync(`open "${url}"`);
55
- }
56
- else if (platform === 'win32') {
57
- await execAsync(`start "" "${url}"`);
58
- }
59
- else {
60
- // Linux and others
61
- await execAsync(`xdg-open "${url}"`);
62
- }
63
- }
64
- catch {
65
- // If opening browser fails, user can manually visit the URL
66
- console.log(`\n⚠️ Could not open browser automatically.`);
67
- console.log(` Please visit the URL manually.`);
68
- }
69
- }
70
- export async function authLogin(options) {
71
- // Check if already authenticated
72
- if (isAuthenticated() && !options.force) {
73
- console.log(`✅ Already authenticated.`);
74
- console.log(` Auth file: ${getAuthFilePath()}`);
75
- console.log(`\n Use --force to re-authenticate.`);
76
- return;
77
- }
78
- const client = await getConvexClient();
79
- // Get device info
80
- const deviceName = getDeviceName();
81
- const cliVersion = getCliVersion();
82
- // Get the Convex URL being used
83
- const convexUrl = getConvexUrl();
84
- console.log(`\n${'═'.repeat(50)}`);
85
- console.log(`🔐 CHATROOM CLI AUTHENTICATION`);
86
- console.log(`${'═'.repeat(50)}`);
87
- console.log(`\nDevice: ${deviceName}`);
88
- console.log(`CLI Version: ${cliVersion}`);
89
- // Show environment info for non-production
90
- if (convexUrl !== PRODUCTION_CONVEX_URL) {
91
- console.log(`\n📍 Environment: Custom`);
92
- console.log(` Convex URL: ${convexUrl}`);
93
- }
94
- // Create auth request
95
- console.log(`\n⏳ Creating authentication request...`);
96
- const result = (await client.mutation(api.cliAuth.createAuthRequest, {
97
- deviceName,
98
- cliVersion,
99
- }));
100
- const { requestId, expiresAt } = result;
101
- const expiresInSeconds = Math.round((expiresAt - Date.now()) / 1000);
102
- console.log(`\n✅ Auth request created`);
103
- console.log(` Request ID: ${requestId.substring(0, 8)}...`);
104
- console.log(` Expires in: ${expiresInSeconds} seconds`);
105
- // Get the webapp URL (reads from .env.local PORT or uses defaults)
106
- const webAppUrl = getWebAppUrl();
107
- // The auth page should be at /cli-auth
108
- const authUrl = `${webAppUrl}/cli-auth?request=${requestId}`;
109
- console.log(`\n${'─'.repeat(50)}`);
110
- console.log(`📱 AUTHORIZATION REQUIRED`);
111
- console.log(`${'─'.repeat(50)}`);
112
- console.log(`\nOpening browser for authorization...`);
113
- console.log(`\nIf the browser doesn't open, visit this URL:`);
114
- console.log(`\n ${authUrl}`);
115
- console.log(`\n${'─'.repeat(50)}`);
116
- // Open browser
117
- await openBrowser(authUrl);
118
- // Poll for approval
119
- console.log(`\n⏳ Waiting for authorization...`);
120
- console.log(` (Press Ctrl+C to cancel)\n`);
121
- let pollCount = 0;
122
- const maxPolls = Math.ceil((expiresAt - Date.now()) / AUTH_POLL_INTERVAL_MS);
123
- const poll = async () => {
124
- pollCount++;
125
- try {
126
- const status = (await client.query(api.cliAuth.getAuthRequestStatus, {
127
- requestId,
128
- }));
129
- if (status.status === 'approved' && status.sessionId) {
130
- // Success! Save the session
131
- saveAuthData({
132
- sessionId: status.sessionId,
133
- createdAt: new Date().toISOString(),
134
- deviceName,
135
- cliVersion,
136
- });
137
- console.log(`\n${'═'.repeat(50)}`);
138
- console.log(`✅ AUTHENTICATION SUCCESSFUL`);
139
- console.log(`${'═'.repeat(50)}`);
140
- console.log(`\nSession stored at: ${getAuthFilePath()}`);
141
- console.log(`\nYou can now use chatroom commands.`);
142
- return true;
143
- }
144
- if (status.status === 'denied') {
145
- console.log(`\n❌ Authorization denied by user.`);
146
- process.exit(1);
147
- }
148
- if (status.status === 'expired' || status.status === 'not_found') {
149
- console.log(`\n❌ Authorization request expired.`);
150
- console.log(` Please try again: chatroom auth login`);
151
- process.exit(1);
152
- }
153
- // Still pending
154
- if (pollCount % 5 === 0) {
155
- const remainingSeconds = Math.round((expiresAt - Date.now()) / 1000);
156
- process.stdout.write(`\r Waiting... (${remainingSeconds}s remaining) `);
157
- }
158
- if (pollCount >= maxPolls) {
159
- console.log(`\n❌ Authorization request expired.`);
160
- console.log(` Please try again: chatroom auth login`);
161
- process.exit(1);
162
- }
163
- return false;
164
- }
165
- catch (error) {
166
- const err = error;
167
- console.error(`\n⚠️ Error polling for authorization: ${err.message}`);
168
- return false;
169
- }
170
- };
171
- // Start polling loop
172
- while (true) {
173
- const success = await poll();
174
- if (success)
175
- break;
176
- await new Promise((resolve) => setTimeout(resolve, AUTH_POLL_INTERVAL_MS));
177
- }
178
- }
179
- //# sourceMappingURL=auth-login.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-login.js","sourceRoot":"","sources":["../../src/commands/auth-login.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,GAAG,EAAkD,MAAM,WAAW,CAAC;AAChF,OAAO,EACL,YAAY,EACZ,aAAa,EACb,aAAa,EACb,eAAe,EACf,eAAe,GAChB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEnF,yCAAyC;AACzC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAEnC,kBAAkB;AAClB,MAAM,qBAAqB,GAAG,qCAAqC,CAAC;AACpE,MAAM,qBAAqB,GAAG,+BAA+B,CAAC;AAM9D;;;;;GAKG;AACH,SAAS,YAAY;IACnB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAEjC,wCAAwC;IACxC,IAAI,SAAS,KAAK,qBAAqB,EAAE,CAAC;QACxC,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED,oDAAoD;IACpD,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IACvD,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,4DAA4D;IAC5D,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC7C,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACnC,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;IAClE,OAAO,CAAC,KAAK,CAAC,0BAA0B,SAAS,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;IAC/E,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAC/D,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAChE,OAAO,CAAC,KAAK,CAAC,0BAA0B,SAAS,KAAK,CAAC,CAAC;IACxD,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACxC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,WAAW,CAAC,GAAW;IACpC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACpD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAElC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAElC,IAAI,CAAC;QACH,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,SAAS,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YAChC,MAAM,SAAS,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,mBAAmB;YACnB,MAAM,SAAS,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,4DAA4D;QAC5D,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAyB;IACvD,iCAAiC;IACjC,IAAI,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,iBAAiB,eAAe,EAAE,EAAE,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IAEvC,kBAAkB;IAClB,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,gCAAgC;IAChC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAEjC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,aAAa,UAAU,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC;IAE1C,2CAA2C;IAC3C,IAAI,SAAS,KAAK,qBAAqB,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,kBAAkB,SAAS,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,sBAAsB;IACtB,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IAEtD,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE;QACnE,UAAU;QACV,UAAU;KACX,CAAC,CAAsB,CAAC;IAEzB,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IACxC,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IAErE,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,kBAAkB,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,kBAAkB,gBAAgB,UAAU,CAAC,CAAC;IAE1D,mEAAmE;IACnE,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAEjC,uCAAuC;IACvC,MAAM,OAAO,GAAG,GAAG,SAAS,qBAAqB,SAAS,EAAE,CAAC;IAE7D,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAEnC,eAAe;IACf,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;IAE3B,oBAAoB;IACpB,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAE7C,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,qBAAqB,CAAC,CAAC;IAE7E,MAAM,IAAI,GAAG,KAAK,IAAsB,EAAE;QACxC,SAAS,EAAE,CAAC;QAEZ,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE;gBACnE,SAAS;aACV,CAAC,CAAsB,CAAC;YAEzB,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrD,4BAA4B;gBAC5B,YAAY,CAAC;oBACX,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,UAAU;oBACV,UAAU;iBACX,CAAC,CAAC;gBAEH,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,wBAAwB,eAAe,EAAE,EAAE,CAAC,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;gBACpD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACjE,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;gBAClD,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;gBACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,gBAAgB;YAChB,IAAI,SAAS,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;gBACrE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,gBAAgB,iBAAiB,CAAC,CAAC;YAC9E,CAAC;YAED,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;gBAClD,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;gBACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAc,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,0CAA0C,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACvE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IAEF,qBAAqB;IACrB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,MAAM,IAAI,EAAE,CAAC;QAC7B,IAAI,OAAO;YAAE,MAAM;QACnB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Auth logout command
3
- * Clears CLI authentication
4
- */
5
- export declare function authLogout(): Promise<void>;
6
- //# sourceMappingURL=auth-logout.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-logout.d.ts","sourceRoot":"","sources":["../../src/commands/auth-logout.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAehD"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Auth logout command
3
- * Clears CLI authentication
4
- */
5
- import { clearAuthData, getAuthFilePath, isAuthenticated } from '../infrastructure/auth/storage.js';
6
- export async function authLogout() {
7
- if (!isAuthenticated()) {
8
- console.log(`ℹ️ Not currently authenticated.`);
9
- return;
10
- }
11
- const cleared = clearAuthData();
12
- if (cleared) {
13
- console.log(`✅ Logged out successfully.`);
14
- console.log(` Removed: ${getAuthFilePath()}`);
15
- }
16
- else {
17
- console.error(`❌ Failed to clear authentication data.`);
18
- process.exit(1);
19
- }
20
- }
21
- //# sourceMappingURL=auth-logout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-logout.js","sourceRoot":"","sources":["../../src/commands/auth-logout.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEpG,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAEhC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,eAAe,eAAe,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Auth status command
3
- * Shows current authentication status
4
- */
5
- export declare function authStatus(): Promise<void>;
6
- //# sourceMappingURL=auth-status.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-status.d.ts","sourceRoot":"","sources":["../../src/commands/auth-status.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CA6ChD"}
@@ -1,50 +0,0 @@
1
- /**
2
- * Auth status command
3
- * Shows current authentication status
4
- */
5
- import { api } from '../api.js';
6
- import { loadAuthData, getAuthFilePath, isAuthenticated } from '../infrastructure/auth/storage.js';
7
- import { getConvexClient } from '../infrastructure/convex/client.js';
8
- export async function authStatus() {
9
- console.log(`\n${'═'.repeat(50)}`);
10
- console.log(`🔐 AUTHENTICATION STATUS`);
11
- console.log(`${'═'.repeat(50)}`);
12
- const authData = loadAuthData();
13
- if (!isAuthenticated() || !authData) {
14
- console.log(`\n❌ Not authenticated`);
15
- console.log(`\n Run: chatroom auth login`);
16
- return;
17
- }
18
- console.log(`\n📁 Auth file: ${getAuthFilePath()}`);
19
- console.log(`📅 Created: ${authData.createdAt}`);
20
- if (authData.deviceName) {
21
- console.log(`💻 Device: ${authData.deviceName}`);
22
- }
23
- if (authData.cliVersion) {
24
- console.log(`📦 CLI Version: ${authData.cliVersion}`);
25
- }
26
- // Validate session with backend
27
- console.log(`\n⏳ Validating session...`);
28
- try {
29
- const client = await getConvexClient();
30
- const validation = (await client.query(api.cliAuth.validateSession, {
31
- sessionId: authData.sessionId,
32
- }));
33
- if (validation.valid) {
34
- console.log(`\n✅ Session is valid`);
35
- if (validation.userName) {
36
- console.log(`👤 User: ${validation.userName}`);
37
- }
38
- }
39
- else {
40
- console.log(`\n❌ Session is invalid: ${validation.reason}`);
41
- console.log(`\n Run: chatroom auth login`);
42
- }
43
- }
44
- catch (error) {
45
- const err = error;
46
- console.log(`\n⚠️ Could not validate session: ${err.message}`);
47
- console.log(` Session may still be valid. Try running a command.`);
48
- }
49
- }
50
- //# sourceMappingURL=auth-status.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-status.js","sourceRoot":"","sources":["../../src/commands/auth-status.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,GAAG,EAA0B,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAErE,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAEjC,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAEhC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,mBAAmB,eAAe,EAAE,EAAE,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,eAAe,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;IACjD,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,cAAc,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,mBAAmB,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,gCAAgC;IAChC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAEzC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE;YAClE,SAAS,EAAE,QAAQ,CAAC,SAAS;SAC9B,CAAC,CAAsB,CAAC;QAEzB,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YACpC,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,YAAY,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,2BAA2B,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,KAAc,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,qCAAqC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;IACvE,CAAC;AACH,CAAC"}
@@ -1,36 +0,0 @@
1
- /**
2
- * Backlog commands for managing task queue and backlog
3
- */
4
- /**
5
- * List tasks in a chatroom
6
- */
7
- export declare function listBacklog(chatroomId: string, options: {
8
- role: string;
9
- status: string;
10
- limit?: number;
11
- full?: boolean;
12
- }): Promise<void>;
13
- /**
14
- * Add a task to the backlog
15
- */
16
- export declare function addBacklog(chatroomId: string, options: {
17
- role: string;
18
- content: string;
19
- }): Promise<void>;
20
- /**
21
- * Complete a backlog task by ID.
22
- * Use --force to complete stuck in_progress or pending tasks.
23
- */
24
- export declare function completeBacklog(chatroomId: string, options: {
25
- role: string;
26
- taskId: string;
27
- force?: boolean;
28
- }): Promise<void>;
29
- /**
30
- * Reopen a completed backlog task, returning it to pending_user_review status.
31
- */
32
- export declare function reopenBacklog(chatroomId: string, options: {
33
- role: string;
34
- taskId: string;
35
- }): Promise<void>;
36
- //# sourceMappingURL=backlog.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"backlog.d.ts","sourceRoot":"","sources":["../../src/commands/backlog.ts"],"names":[],"mappings":"AAAA;;GAEG;AAkCH;;GAEG;AACH,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IACP,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GACA,OAAO,CAAC,IAAI,CAAC,CA4Jf;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IACP,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,GACA,OAAO,CAAC,IAAI,CAAC,CAgDf;AASD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IACP,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GACA,OAAO,CAAC,IAAI,CAAC,CAsDf;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IACP,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,CAAC,IAAI,CAAC,CA8Cf"}