@braingrid/cli 0.1.3 → 0.2.1

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 (243) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/README.md +54 -39
  3. package/dist/chunk-KNVWIF3L.js +401 -0
  4. package/dist/chunk-KNVWIF3L.js.map +1 -0
  5. package/dist/cli.js +6229 -290
  6. package/dist/cli.js.map +1 -1
  7. package/dist/gh-installer-B65ZOOC4.js +13 -0
  8. package/dist/gh-installer-B65ZOOC4.js.map +1 -0
  9. package/package.json +40 -13
  10. package/dist/build-config.d.ts +0 -26
  11. package/dist/build-config.d.ts.map +0 -1
  12. package/dist/build-config.js +0 -45
  13. package/dist/build-config.js.map +0 -1
  14. package/dist/cli.d.ts +0 -3
  15. package/dist/cli.d.ts.map +0 -1
  16. package/dist/handlers/agent.handlers.d.ts +0 -12
  17. package/dist/handlers/agent.handlers.d.ts.map +0 -1
  18. package/dist/handlers/agent.handlers.js +0 -130
  19. package/dist/handlers/agent.handlers.js.map +0 -1
  20. package/dist/handlers/auth.handlers.d.ts +0 -19
  21. package/dist/handlers/auth.handlers.d.ts.map +0 -1
  22. package/dist/handlers/auth.handlers.js +0 -177
  23. package/dist/handlers/auth.handlers.js.map +0 -1
  24. package/dist/handlers/index.d.ts +0 -14
  25. package/dist/handlers/index.d.ts.map +0 -1
  26. package/dist/handlers/index.js +0 -14
  27. package/dist/handlers/index.js.map +0 -1
  28. package/dist/handlers/init.handlers.d.ts +0 -10
  29. package/dist/handlers/init.handlers.d.ts.map +0 -1
  30. package/dist/handlers/init.handlers.js +0 -638
  31. package/dist/handlers/init.handlers.js.map +0 -1
  32. package/dist/handlers/project.handlers.d.ts +0 -36
  33. package/dist/handlers/project.handlers.d.ts.map +0 -1
  34. package/dist/handlers/project.handlers.js +0 -309
  35. package/dist/handlers/project.handlers.js.map +0 -1
  36. package/dist/handlers/requirement.handlers.d.ts +0 -32
  37. package/dist/handlers/requirement.handlers.d.ts.map +0 -1
  38. package/dist/handlers/requirement.handlers.js +0 -264
  39. package/dist/handlers/requirement.handlers.js.map +0 -1
  40. package/dist/handlers/status.handlers.d.ts +0 -12
  41. package/dist/handlers/status.handlers.d.ts.map +0 -1
  42. package/dist/handlers/status.handlers.js +0 -212
  43. package/dist/handlers/status.handlers.js.map +0 -1
  44. package/dist/handlers/task.handlers.d.ts +0 -29
  45. package/dist/handlers/task.handlers.d.ts.map +0 -1
  46. package/dist/handlers/task.handlers.js +0 -326
  47. package/dist/handlers/task.handlers.js.map +0 -1
  48. package/dist/handlers/types.d.ts +0 -10
  49. package/dist/handlers/types.d.ts.map +0 -1
  50. package/dist/handlers/types.js +0 -5
  51. package/dist/handlers/types.js.map +0 -1
  52. package/dist/handlers/update.handlers.d.ts +0 -16
  53. package/dist/handlers/update.handlers.d.ts.map +0 -1
  54. package/dist/handlers/update.handlers.js +0 -119
  55. package/dist/handlers/update.handlers.js.map +0 -1
  56. package/dist/rpc/registry.d.ts +0 -97
  57. package/dist/rpc/registry.d.ts.map +0 -1
  58. package/dist/rpc/registry.js +0 -119
  59. package/dist/rpc/registry.js.map +0 -1
  60. package/dist/rpc/server.d.ts +0 -78
  61. package/dist/rpc/server.d.ts.map +0 -1
  62. package/dist/rpc/server.js +0 -437
  63. package/dist/rpc/server.js.map +0 -1
  64. package/dist/rpc/transport.d.ts +0 -84
  65. package/dist/rpc/transport.d.ts.map +0 -1
  66. package/dist/rpc/transport.js +0 -296
  67. package/dist/rpc/transport.js.map +0 -1
  68. package/dist/services/__mocks__/utils.d.ts +0 -16
  69. package/dist/services/__mocks__/utils.d.ts.map +0 -1
  70. package/dist/services/__mocks__/utils.js +0 -21
  71. package/dist/services/__mocks__/utils.js.map +0 -1
  72. package/dist/services/agent-service.d.ts +0 -29
  73. package/dist/services/agent-service.d.ts.map +0 -1
  74. package/dist/services/agent-service.js +0 -273
  75. package/dist/services/agent-service.js.map +0 -1
  76. package/dist/services/auth.d.ts +0 -59
  77. package/dist/services/auth.d.ts.map +0 -1
  78. package/dist/services/auth.js +0 -549
  79. package/dist/services/auth.js.map +0 -1
  80. package/dist/services/claude.d.ts +0 -18
  81. package/dist/services/claude.d.ts.map +0 -1
  82. package/dist/services/claude.js +0 -164
  83. package/dist/services/claude.js.map +0 -1
  84. package/dist/services/credential-store.d.ts +0 -47
  85. package/dist/services/credential-store.d.ts.map +0 -1
  86. package/dist/services/credential-store.js +0 -89
  87. package/dist/services/credential-store.js.map +0 -1
  88. package/dist/services/internal/github-service.d.ts +0 -67
  89. package/dist/services/internal/github-service.d.ts.map +0 -1
  90. package/dist/services/internal/github-service.js +0 -81
  91. package/dist/services/internal/github-service.js.map +0 -1
  92. package/dist/services/internal/repository-service.d.ts +0 -79
  93. package/dist/services/internal/repository-service.d.ts.map +0 -1
  94. package/dist/services/internal/repository-service.js +0 -88
  95. package/dist/services/internal/repository-service.js.map +0 -1
  96. package/dist/services/oauth2-auth.d.ts +0 -76
  97. package/dist/services/oauth2-auth.d.ts.map +0 -1
  98. package/dist/services/oauth2-auth.js +0 -451
  99. package/dist/services/oauth2-auth.js.map +0 -1
  100. package/dist/services/project-service.d.ts +0 -24
  101. package/dist/services/project-service.d.ts.map +0 -1
  102. package/dist/services/project-service.js +0 -60
  103. package/dist/services/project-service.js.map +0 -1
  104. package/dist/services/requirement-service.d.ts +0 -32
  105. package/dist/services/requirement-service.d.ts.map +0 -1
  106. package/dist/services/requirement-service.js +0 -91
  107. package/dist/services/requirement-service.js.map +0 -1
  108. package/dist/services/task-service.d.ts +0 -22
  109. package/dist/services/task-service.d.ts.map +0 -1
  110. package/dist/services/task-service.js +0 -52
  111. package/dist/services/task-service.js.map +0 -1
  112. package/dist/types/api.d.ts +0 -16
  113. package/dist/types/api.d.ts.map +0 -1
  114. package/dist/types/api.js +0 -5
  115. package/dist/types/api.js.map +0 -1
  116. package/dist/types/auth.d.ts +0 -73
  117. package/dist/types/auth.d.ts.map +0 -1
  118. package/dist/types/auth.js +0 -2
  119. package/dist/types/auth.js.map +0 -1
  120. package/dist/types/claude.d.ts +0 -22
  121. package/dist/types/claude.d.ts.map +0 -1
  122. package/dist/types/claude.js +0 -2
  123. package/dist/types/claude.js.map +0 -1
  124. package/dist/types/github.d.ts +0 -105
  125. package/dist/types/github.d.ts.map +0 -1
  126. package/dist/types/github.js +0 -6
  127. package/dist/types/github.js.map +0 -1
  128. package/dist/types/local-project.d.ts +0 -30
  129. package/dist/types/local-project.d.ts.map +0 -1
  130. package/dist/types/local-project.js +0 -24
  131. package/dist/types/local-project.js.map +0 -1
  132. package/dist/types/project.d.ts +0 -56
  133. package/dist/types/project.d.ts.map +0 -1
  134. package/dist/types/project.js +0 -5
  135. package/dist/types/project.js.map +0 -1
  136. package/dist/types/requirement.d.ts +0 -69
  137. package/dist/types/requirement.d.ts.map +0 -1
  138. package/dist/types/requirement.js +0 -5
  139. package/dist/types/requirement.js.map +0 -1
  140. package/dist/types/task.d.ts +0 -44
  141. package/dist/types/task.d.ts.map +0 -1
  142. package/dist/types/task.js +0 -5
  143. package/dist/types/task.js.map +0 -1
  144. package/dist/utils/axios-retry.d.ts +0 -25
  145. package/dist/utils/axios-retry.d.ts.map +0 -1
  146. package/dist/utils/axios-retry.js +0 -174
  147. package/dist/utils/axios-retry.js.map +0 -1
  148. package/dist/utils/axios-with-auth.d.ts +0 -10
  149. package/dist/utils/axios-with-auth.d.ts.map +0 -1
  150. package/dist/utils/axios-with-auth.js +0 -118
  151. package/dist/utils/axios-with-auth.js.map +0 -1
  152. package/dist/utils/cli-tools.d.ts +0 -30
  153. package/dist/utils/cli-tools.d.ts.map +0 -1
  154. package/dist/utils/cli-tools.js +0 -199
  155. package/dist/utils/cli-tools.js.map +0 -1
  156. package/dist/utils/command-execution.d.ts +0 -30
  157. package/dist/utils/command-execution.d.ts.map +0 -1
  158. package/dist/utils/command-execution.js +0 -264
  159. package/dist/utils/command-execution.js.map +0 -1
  160. package/dist/utils/command-parser.d.ts +0 -85
  161. package/dist/utils/command-parser.d.ts.map +0 -1
  162. package/dist/utils/command-parser.js +0 -287
  163. package/dist/utils/command-parser.js.map +0 -1
  164. package/dist/utils/config.d.ts +0 -10
  165. package/dist/utils/config.d.ts.map +0 -1
  166. package/dist/utils/config.js +0 -77
  167. package/dist/utils/config.js.map +0 -1
  168. package/dist/utils/error-formatter.d.ts +0 -17
  169. package/dist/utils/error-formatter.d.ts.map +0 -1
  170. package/dist/utils/error-formatter.js +0 -115
  171. package/dist/utils/error-formatter.js.map +0 -1
  172. package/dist/utils/formatting.d.ts +0 -10
  173. package/dist/utils/formatting.d.ts.map +0 -1
  174. package/dist/utils/formatting.js +0 -122
  175. package/dist/utils/formatting.js.map +0 -1
  176. package/dist/utils/gh-installer.d.ts +0 -31
  177. package/dist/utils/gh-installer.d.ts.map +0 -1
  178. package/dist/utils/gh-installer.js +0 -296
  179. package/dist/utils/gh-installer.js.map +0 -1
  180. package/dist/utils/git-installer.d.ts +0 -31
  181. package/dist/utils/git-installer.d.ts.map +0 -1
  182. package/dist/utils/git-installer.js +0 -290
  183. package/dist/utils/git-installer.js.map +0 -1
  184. package/dist/utils/git.d.ts +0 -60
  185. package/dist/utils/git.d.ts.map +0 -1
  186. package/dist/utils/git.js +0 -144
  187. package/dist/utils/git.js.map +0 -1
  188. package/dist/utils/github-repo.d.ts +0 -43
  189. package/dist/utils/github-repo.d.ts.map +0 -1
  190. package/dist/utils/github-repo.js +0 -113
  191. package/dist/utils/github-repo.js.map +0 -1
  192. package/dist/utils/id-normalization.d.ts +0 -26
  193. package/dist/utils/id-normalization.d.ts.map +0 -1
  194. package/dist/utils/id-normalization.js +0 -45
  195. package/dist/utils/id-normalization.js.map +0 -1
  196. package/dist/utils/jwt.d.ts +0 -45
  197. package/dist/utils/jwt.d.ts.map +0 -1
  198. package/dist/utils/jwt.js +0 -64
  199. package/dist/utils/jwt.js.map +0 -1
  200. package/dist/utils/local-store.d.ts +0 -36
  201. package/dist/utils/local-store.d.ts.map +0 -1
  202. package/dist/utils/local-store.js +0 -94
  203. package/dist/utils/local-store.js.map +0 -1
  204. package/dist/utils/logger.d.ts +0 -36
  205. package/dist/utils/logger.d.ts.map +0 -1
  206. package/dist/utils/logger.js +0 -176
  207. package/dist/utils/logger.js.map +0 -1
  208. package/dist/utils/package-manager-installer.d.ts +0 -36
  209. package/dist/utils/package-manager-installer.d.ts.map +0 -1
  210. package/dist/utils/package-manager-installer.js +0 -106
  211. package/dist/utils/package-manager-installer.js.map +0 -1
  212. package/dist/utils/package-manager.d.ts +0 -31
  213. package/dist/utils/package-manager.d.ts.map +0 -1
  214. package/dist/utils/package-manager.js +0 -133
  215. package/dist/utils/package-manager.js.map +0 -1
  216. package/dist/utils/projects.d.ts +0 -23
  217. package/dist/utils/projects.d.ts.map +0 -1
  218. package/dist/utils/projects.js +0 -36
  219. package/dist/utils/projects.js.map +0 -1
  220. package/dist/utils/repository-access.d.ts +0 -89
  221. package/dist/utils/repository-access.d.ts.map +0 -1
  222. package/dist/utils/repository-access.js +0 -132
  223. package/dist/utils/repository-access.js.map +0 -1
  224. package/dist/utils/requirements.d.ts +0 -43
  225. package/dist/utils/requirements.d.ts.map +0 -1
  226. package/dist/utils/requirements.js +0 -79
  227. package/dist/utils/requirements.js.map +0 -1
  228. package/dist/utils/spinner.d.ts +0 -47
  229. package/dist/utils/spinner.d.ts.map +0 -1
  230. package/dist/utils/spinner.js +0 -101
  231. package/dist/utils/spinner.js.map +0 -1
  232. package/dist/utils/status-parser.d.ts +0 -95
  233. package/dist/utils/status-parser.d.ts.map +0 -1
  234. package/dist/utils/status-parser.js +0 -205
  235. package/dist/utils/status-parser.js.map +0 -1
  236. package/dist/utils/tasks.d.ts +0 -21
  237. package/dist/utils/tasks.d.ts.map +0 -1
  238. package/dist/utils/tasks.js +0 -63
  239. package/dist/utils/tasks.js.map +0 -1
  240. package/dist/utils/workspace-manager.d.ts +0 -65
  241. package/dist/utils/workspace-manager.d.ts.map +0 -1
  242. package/dist/utils/workspace-manager.js +0 -98
  243. package/dist/utils/workspace-manager.js.map +0 -1
@@ -0,0 +1,13 @@
1
+ import {
2
+ getGhManualInstallInstructions,
3
+ getGhVersion,
4
+ installGh,
5
+ isGhInstalled
6
+ } from "./chunk-KNVWIF3L.js";
7
+ export {
8
+ getGhManualInstallInstructions,
9
+ getGhVersion,
10
+ installGh,
11
+ isGhInstalled
12
+ };
13
+ //# sourceMappingURL=gh-installer-B65ZOOC4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@braingrid/cli",
3
- "version": "0.1.3",
3
+ "version": "0.2.1",
4
4
  "description": "BrainGrid - Turn thoughts into AI-ready specs. Command-line interface for spec-driven development.",
5
5
  "type": "module",
6
6
  "main": "dist/cli.js",
@@ -39,39 +39,62 @@
39
39
  "chalk": "^5.3.0",
40
40
  "commander": "^12.0.0",
41
41
  "conf": "13.0.1",
42
- "ink": "^6.3.1",
43
42
  "node-machine-id": "1.1.12",
44
43
  "open": "^10.1.0",
45
- "zod": "^4.1.11",
46
- "@braingrid/protocol": "0.1.0"
44
+ "zod": "^4.1.11"
47
45
  },
48
46
  "devDependencies": {
49
47
  "@types/node": "^20.19.1",
48
+ "@typescript-eslint/eslint-plugin": "^8.39.1",
49
+ "@typescript-eslint/parser": "^8.39.1",
50
+ "@vitest/coverage-v8": "^3.2.3",
51
+ "@vitest/ui": "^3.2.3",
52
+ "depcheck": "^1.4.7",
53
+ "eslint": "^9.33.0",
54
+ "eslint-config-prettier": "^10.1.8",
55
+ "eslint-plugin-prettier": "^5.5.4",
56
+ "husky": "^9.1.7",
57
+ "knip": "^5.67.1",
58
+ "lint-staged": "^16.2.3",
59
+ "prettier": "^3.6.2",
60
+ "ts-prune": "^0.10.3",
61
+ "tsup": "^8.5.0",
50
62
  "tsx": "^4.16.2",
51
63
  "typescript": "^5.4.0",
52
64
  "vitest": "^3.2.3"
53
65
  },
66
+ "lint-staged": {
67
+ "*.{ts,tsx}": [
68
+ "eslint --fix",
69
+ "prettier --write"
70
+ ],
71
+ "*.{json,md}": [
72
+ "prettier --write"
73
+ ]
74
+ },
54
75
  "engines": {
55
- "node": ">=20.0.0"
76
+ "node": ">=20.0.0",
77
+ "pnpm": ">=9.0.0"
56
78
  },
57
79
  "publishConfig": {
58
80
  "access": "public"
59
81
  },
60
82
  "scripts": {
61
- "build": "tsc -p .",
62
- "build:local": "NODE_ENV=local tsc -p .",
63
- "build:dev": "NODE_ENV=development tsc -p .",
64
- "build:prod": "NODE_ENV=production tsc -p .",
83
+ "build": "tsup",
84
+ "build:local": "BUILD_ENV=development tsup",
85
+ "build:dev": "BUILD_ENV=development tsup",
86
+ "build:prod": "BUILD_ENV=production tsup",
65
87
  "dev": "tsx src/cli.ts",
66
88
  "dev:local": "NODE_ENV=local tsx src/cli.ts",
67
89
  "docs:fetch-openapi": "mkdir -p docs && gh api repos/BrainGridAI/braingrid-app/contents/public/openapi.json | jq -r '.content' | base64 -D > docs/openapi.json",
68
90
  "docs:sync": "bash scripts/sync-docs-to-braingrid.sh",
69
- "start": "NODE_ENV=production node dist/cli.js",
70
- "start:local": "NODE_ENV=local node dist/cli.js",
71
- "start:dev": "NODE_ENV=development node dist/cli.js",
91
+ "start": "node dist/cli.js",
92
+ "start:local": "node dist/cli.js",
93
+ "start:dev": "node dist/cli.js",
72
94
  "lint": "eslint 'src/**/*.{ts,tsx}'",
73
95
  "lint:fix": "eslint 'src/**/*.{ts,tsx}' --fix",
74
96
  "format": "prettier --write 'src/**/*.{ts,tsx}'",
97
+ "validate:fix": "pnpm lint:fix && pnpm format && pnpm type-check",
75
98
  "type-check": "tsc --noEmit",
76
99
  "test": "vitest",
77
100
  "test:watch": "vitest --watch",
@@ -80,6 +103,10 @@
80
103
  "test:all": "vitest run",
81
104
  "test:cli": "bash scripts/test-cli.sh",
82
105
  "test:cli:verbose": "bash scripts/test-cli.sh --verbose",
83
- "clean": "rm -rf dist"
106
+ "clean": "rm -rf dist",
107
+ "preversion": "pnpm validate:fix && pnpm test:all",
108
+ "release:patch": "npm version patch && git push && git push --tags",
109
+ "release:minor": "npm version minor && git push && git push --tags",
110
+ "release:major": "npm version major && git push && git push --tags"
84
111
  }
85
112
  }
@@ -1,26 +0,0 @@
1
- /**
2
- * BUILD_ENV determines which configuration to use.
3
- * - 'production': Uses production URLs (when NODE_ENV=production)
4
- * - 'development': Uses development/local URLs (default)
5
- */
6
- export declare const BUILD_ENV: 'production' | 'development';
7
- export declare const CLI_VERSION: string;
8
- /**
9
- * Production configuration
10
- * Used when BUILD_ENV === 'production' (npm published package)
11
- */
12
- export declare const PRODUCTION_CONFIG: {
13
- readonly apiUrl: "https://app.braingrid.ai";
14
- readonly workosAuthUrl: "https://sensitive-harvest-60.authkit.app";
15
- readonly workosClientId: "client_01K6H010C9K69HSDPM9CQM85S7";
16
- };
17
- /**
18
- * Development configuration
19
- * Used when BUILD_ENV === 'development' (local development)
20
- */
21
- export declare const DEVELOPMENT_CONFIG: {
22
- readonly apiUrl: "https://app.dev.braingrid.ai";
23
- readonly workosAuthUrl: "https://balanced-celebration-78-staging.authkit.app";
24
- readonly workosClientId: "client_01K6H04GF21T4JXNS3JDQM3YNE";
25
- };
26
- //# sourceMappingURL=build-config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-config.d.ts","sourceRoot":"","sources":["../src/build-config.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,YAAY,GAAG,aAC8B,CAAC;AAgBtE,eAAO,MAAM,WAAW,QAAe,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC"}
@@ -1,45 +0,0 @@
1
- import { readFileSync } from 'node:fs';
2
- import { join, dirname } from 'node:path';
3
- import { fileURLToPath } from 'node:url';
4
- const __filename = fileURLToPath(import.meta.url);
5
- const __dirname = dirname(__filename);
6
- /**
7
- * BUILD_ENV determines which configuration to use.
8
- * - 'production': Uses production URLs (when NODE_ENV=production)
9
- * - 'development': Uses development/local URLs (default)
10
- */
11
- export const BUILD_ENV = process.env.NODE_ENV === 'production' ? 'production' : 'development';
12
- /**
13
- * CLI_VERSION read from package.json at runtime
14
- * Used for update checks and version display
15
- */
16
- function getVersion() {
17
- try {
18
- const packagePath = join(__dirname, '..', 'package.json');
19
- const pkg = JSON.parse(readFileSync(packagePath, 'utf-8'));
20
- return pkg.version;
21
- }
22
- catch {
23
- return 'unknown';
24
- }
25
- }
26
- export const CLI_VERSION = getVersion();
27
- /**
28
- * Production configuration
29
- * Used when BUILD_ENV === 'production' (npm published package)
30
- */
31
- export const PRODUCTION_CONFIG = {
32
- apiUrl: 'https://app.braingrid.ai',
33
- workosAuthUrl: 'https://sensitive-harvest-60.authkit.app',
34
- workosClientId: 'client_01K6H010C9K69HSDPM9CQM85S7',
35
- };
36
- /**
37
- * Development configuration
38
- * Used when BUILD_ENV === 'development' (local development)
39
- */
40
- export const DEVELOPMENT_CONFIG = {
41
- apiUrl: 'https://app.dev.braingrid.ai',
42
- workosAuthUrl: 'https://balanced-celebration-78-staging.authkit.app',
43
- workosClientId: 'client_01K6H04GF21T4JXNS3JDQM3YNE',
44
- };
45
- //# sourceMappingURL=build-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-config.js","sourceRoot":"","sources":["../src/build-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GACrB,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;AAEtE;;;GAGG;AACH,SAAS,UAAU;IAClB,IAAI,CAAC;QACJ,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3D,OAAO,GAAG,CAAC,OAAO,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,EAAE,CAAC;AAExC;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAChC,MAAM,EAAE,0BAA0B;IAClC,aAAa,EAAE,0CAA0C;IACzD,cAAc,EAAE,mCAAmC;CAC1C,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IACjC,MAAM,EAAE,8BAA8B;IACtC,aAAa,EAAE,qDAAqD;IACpE,cAAc,EAAE,mCAAmC;CAC1C,CAAC"}
package/dist/cli.d.ts DELETED
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
@@ -1,12 +0,0 @@
1
- /**
2
- * Agent Conversation Handlers
3
- *
4
- * Handles agent conversation streaming commands
5
- */
6
- import type { HandlerResult } from './types.js';
7
- import type { AgentConversationStreamParams } from '@braingrid/protocol';
8
- /**
9
- * Handle agent conversation stream request
10
- */
11
- export declare function handleAgentConversationStream(params: AgentConversationStreamParams): Promise<HandlerResult>;
12
- //# sourceMappingURL=agent.handlers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent.handlers.d.ts","sourceRoot":"","sources":["../../src/handlers/agent.handlers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,6BAA6B,EAAuB,MAAM,qBAAqB,CAAC;AAc9F;;GAEG;AACH,wBAAsB,6BAA6B,CAClD,MAAM,EAAE,6BAA6B,GACnC,OAAO,CAAC,aAAa,CAAC,CA4HxB"}
@@ -1,130 +0,0 @@
1
- /**
2
- * Agent Conversation Handlers
3
- *
4
- * Handles agent conversation streaming commands
5
- */
6
- import chalk from 'chalk';
7
- import { BraingridAuth } from '../services/auth.js';
8
- import { AgentService } from '../services/agent-service.js';
9
- import { workspaceManager } from '../utils/workspace-manager.js';
10
- import { getConfig } from '../utils/config.js';
11
- import { formatError } from '../utils/error-formatter.js';
12
- import { getLogger } from '../utils/logger.js';
13
- const logger = getLogger();
14
- function getServices() {
15
- const config = getConfig();
16
- const auth = new BraingridAuth(config.apiUrl);
17
- const agentService = new AgentService(config.apiUrl, auth);
18
- return { auth, agentService };
19
- }
20
- /**
21
- * Handle agent conversation stream request
22
- */
23
- export async function handleAgentConversationStream(params) {
24
- try {
25
- const { auth, agentService } = getServices();
26
- // Check authentication
27
- const isAuthenticated = await auth.isAuthenticated();
28
- if (!isAuthenticated) {
29
- return {
30
- success: false,
31
- message: chalk.red('❌ Not authenticated. Please run `braingrid login` first.'),
32
- };
33
- }
34
- // Get project ID from workspace
35
- const workspace = await workspaceManager.getProject(params.project);
36
- if (!workspace.success) {
37
- return {
38
- success: false,
39
- message: workspace.error,
40
- };
41
- }
42
- const projectId = workspace.projectId;
43
- // Validate message
44
- if (!params.message || params.message.trim().length === 0) {
45
- return {
46
- success: false,
47
- message: chalk.red('❌ Message cannot be empty'),
48
- };
49
- }
50
- // Merge context from context manager and explicit params
51
- // Explicit params take precedence over context manager
52
- const mergedContext = {
53
- ...params.context,
54
- };
55
- // Auto-include active requirement from workspace if available and not explicitly provided
56
- if (!mergedContext.requirementId) {
57
- const activeRequirementId = workspaceManager.getActiveRequirement();
58
- if (activeRequirementId) {
59
- mergedContext.requirementId = activeRequirementId;
60
- }
61
- }
62
- // Stream the conversation
63
- logger.debug('[Agent] Sending conversation request', {
64
- project: projectId,
65
- messageLength: params.message.length,
66
- conversationId: params.conversationId,
67
- hasContext: Object.keys(mergedContext).length > 0,
68
- });
69
- // Display streaming header
70
- console.log(chalk.bold('\n💬 Agent Response:\n'));
71
- const response = await agentService.streamConversation({
72
- project: projectId,
73
- message: params.message,
74
- conversationId: params.conversationId,
75
- context: Object.keys(mergedContext).length > 0 ? mergedContext : undefined,
76
- });
77
- logger.debug('[Agent] Received complete response from streaming endpoint', {
78
- status: response.status,
79
- conversationId: response.conversationId,
80
- messageContentLength: response.message?.content?.length,
81
- });
82
- // Format the response
83
- let output = '\n';
84
- if (response.status === 'error') {
85
- return {
86
- success: false,
87
- message: chalk.red(`❌ Agent error: ${response.message?.content ?? 'Unknown error'}`),
88
- data: response,
89
- };
90
- }
91
- // Display additional metadata (content was already streamed)
92
- if (response.conversationRecovered) {
93
- output += chalk.yellow('\n⚠️ Conversation recovered from interruption\n');
94
- }
95
- if (response.tokenUsage) {
96
- output += chalk.dim(`\nToken usage: ${response.tokenUsage.total} tokens`);
97
- }
98
- output += chalk.dim(`\nConversation ID: ${response.conversationId}\n`);
99
- return {
100
- success: true,
101
- message: output,
102
- data: response,
103
- };
104
- }
105
- catch (error) {
106
- // Handle network timeouts
107
- if (error && typeof error === 'object' && 'code' in error && error.code === 'ECONNABORTED') {
108
- return {
109
- success: false,
110
- message: chalk.red('❌ Request timed out. The agent may be processing a complex request.\n' +
111
- chalk.dim('Please try again or simplify your message.')),
112
- };
113
- }
114
- // Handle authentication errors
115
- if (error && typeof error === 'object' && 'message' in error) {
116
- const errorMessage = String(error.message);
117
- if (errorMessage.includes('Authentication expired')) {
118
- return {
119
- success: false,
120
- message: chalk.red(`❌ ${errorMessage}`),
121
- };
122
- }
123
- }
124
- return {
125
- success: false,
126
- message: chalk.red(`❌ ${formatError(error, 'starting agent conversation')}`),
127
- };
128
- }
129
- }
130
- //# sourceMappingURL=agent.handlers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent.handlers.js","sourceRoot":"","sources":["../../src/handlers/agent.handlers.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- /**
2
- * Auth Handlers
3
- *
4
- * Handles authentication-related commands:
5
- * - login: Authenticate with BrainGrid
6
- * - logout: Sign out from BrainGrid
7
- * - whoami: Show current user information
8
- */
9
- import type { HandlerResult } from './types.js';
10
- import type { MethodContext } from '../rpc/registry.js';
11
- export declare function handleLogin(context?: MethodContext): Promise<HandlerResult>;
12
- export declare function handleLogout(): Promise<HandlerResult>;
13
- /**
14
- * Complete the RPC login flow after user has authenticated in browser
15
- * This waits for the OAuth callback and completes the session
16
- */
17
- export declare function handleCompleteLogin(context?: MethodContext): Promise<HandlerResult>;
18
- export declare function handleWhoami(): Promise<HandlerResult>;
19
- //# sourceMappingURL=auth.handlers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.handlers.d.ts","sourceRoot":"","sources":["../../src/handlers/auth.handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAwBxD,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CA4DjF;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,aAAa,CAAC,CAgB3D;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAiCzF;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,aAAa,CAAC,CAyC3D"}
@@ -1,177 +0,0 @@
1
- /**
2
- * Auth Handlers
3
- *
4
- * Handles authentication-related commands:
5
- * - login: Authenticate with BrainGrid
6
- * - logout: Sign out from BrainGrid
7
- * - whoami: Show current user information
8
- */
9
- import chalk from 'chalk';
10
- import { BraingridAuth } from '../services/auth.js';
11
- import { getConfig } from '../utils/config.js';
12
- import { formatError } from '../utils/error-formatter.js';
13
- import { getGitUser } from '../utils/git.js';
14
- import { getLogger } from '../utils/logger.js';
15
- // Map to store auth instances per RPC context (for OAuth handler state persistence)
16
- const rpcAuthInstances = new WeakMap();
17
- const logger = getLogger();
18
- function getAuth(context) {
19
- const config = getConfig();
20
- // In RPC mode (when context is provided), use per-context instance
21
- // This maintains OAuth handler state within a single RPC connection
22
- if (context !== undefined) {
23
- let authInstance = rpcAuthInstances.get(context);
24
- if (!authInstance) {
25
- authInstance = new BraingridAuth(config.apiUrl);
26
- rpcAuthInstances.set(context, authInstance);
27
- }
28
- return authInstance;
29
- }
30
- // In CLI mode, create new instance each time
31
- return new BraingridAuth(config.apiUrl);
32
- }
33
- export async function handleLogin(context) {
34
- try {
35
- const auth = getAuth(context);
36
- const isRpcMode = context !== undefined;
37
- if (isRpcMode) {
38
- // RPC mode: Prepare auth URL and return it
39
- // The client will open the browser, then call braingrid.auth.complete to finish
40
- const { authUrl, redirectUri } = await auth.startLoginForRpc();
41
- return {
42
- success: true,
43
- message: 'Please open the authentication URL in your browser',
44
- data: {
45
- authUrl,
46
- redirectUri,
47
- instructions: 'Open this URL in your browser, then call braingrid.auth.complete to finish login',
48
- },
49
- };
50
- }
51
- else {
52
- // CLI mode: Open browser automatically
53
- console.log(chalk.blue('🔐 Starting OAuth2 authentication flow...'));
54
- console.log(chalk.dim('Your browser will open to complete authentication.\n'));
55
- // Capture git user info (best effort - won't fail if git not configured)
56
- const gitUser = await getGitUser();
57
- // Set up callback to display auth URL if browser fails to open
58
- const session = await auth.login((authUrl) => {
59
- console.log(chalk.dim("If your browser didn't open automatically, visit:"));
60
- console.log(chalk.bold.cyan(authUrl));
61
- console.log(chalk.dim('\nWaiting for authentication...\n'));
62
- }, gitUser);
63
- if (!session) {
64
- return {
65
- success: false,
66
- message: chalk.red('❌ Login failed. Please try again.'),
67
- };
68
- }
69
- // Debug: Log JWT token
70
- const storedSession = await auth.getStoredSession();
71
- if (storedSession) {
72
- logger.debug('[AUTH_HANDLER] Login successful', { jwt: storedSession.sealed_session });
73
- }
74
- return {
75
- success: true,
76
- message: chalk.green('✅ Successfully logged in to BrainGrid!'),
77
- data: session,
78
- };
79
- }
80
- }
81
- catch (error) {
82
- return {
83
- success: false,
84
- message: chalk.red(`❌ Login failed: ${formatError(error)}`),
85
- };
86
- }
87
- }
88
- export async function handleLogout() {
89
- try {
90
- const auth = getAuth();
91
- await auth.clearSession();
92
- return {
93
- success: true,
94
- message: chalk.green('✅ Successfully logged out.'),
95
- };
96
- }
97
- catch (error) {
98
- return {
99
- success: false,
100
- message: chalk.red(`❌ Logout failed: ${formatError(error)}`),
101
- };
102
- }
103
- }
104
- /**
105
- * Complete the RPC login flow after user has authenticated in browser
106
- * This waits for the OAuth callback and completes the session
107
- */
108
- export async function handleCompleteLogin(context) {
109
- try {
110
- const auth = getAuth(context);
111
- // Wait for OAuth callback and complete authentication
112
- const session = await auth.completeLoginForRpc();
113
- if (!session) {
114
- return {
115
- success: false,
116
- message: 'Login failed. Please try again.',
117
- };
118
- }
119
- // Debug: Log JWT token
120
- const storedSession = await auth.getStoredSession();
121
- if (storedSession) {
122
- logger.debug('[AUTH_HANDLER] Complete login successful', {
123
- jwt: storedSession.sealed_session,
124
- });
125
- }
126
- return {
127
- success: true,
128
- message: 'Successfully logged in to BrainGrid!',
129
- data: session,
130
- };
131
- }
132
- catch (error) {
133
- return {
134
- success: false,
135
- message: `Login failed: ${formatError(error)}`,
136
- };
137
- }
138
- }
139
- export async function handleWhoami() {
140
- try {
141
- const auth = getAuth();
142
- const isAuthenticated = await auth.isAuthenticated();
143
- if (!isAuthenticated) {
144
- return {
145
- success: false,
146
- message: chalk.yellow('⚠️ Not logged in. Run `braingrid login` to authenticate.'),
147
- };
148
- }
149
- const session = await auth.getStoredSession();
150
- if (!session) {
151
- return {
152
- success: false,
153
- message: chalk.red('❌ No session found.'),
154
- };
155
- }
156
- // Debug: Log JWT token
157
- logger.debug('[AUTH_HANDLER] whoami - Current session', { jwt: session.sealed_session });
158
- let output = chalk.bold('\n👤 Current User\n\n');
159
- output += `${chalk.bold('User ID:')} ${session.user.id}\n`;
160
- output += `${chalk.bold('Email:')} ${session.user.email}\n`;
161
- output += `${chalk.bold('Name:')} ${session.user.firstName} ${session.user.lastName}\n`;
162
- output += `${chalk.bold('Org ID:')} ${session.organization_id}\n`;
163
- output += `${chalk.bold('Session:')} ${new Date(session.created_at).toLocaleString()}\n`;
164
- return {
165
- success: true,
166
- message: output,
167
- data: session,
168
- };
169
- }
170
- catch (error) {
171
- return {
172
- success: false,
173
- message: chalk.red(`❌ ${formatError(error)}`),
174
- };
175
- }
176
- }
177
- //# sourceMappingURL=auth.handlers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.handlers.js","sourceRoot":"","sources":["../../src/handlers/auth.handlers.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Handlers Index
3
- * Exports all handler functions
4
- */
5
- export * from './types.js';
6
- export * from './project.handlers.js';
7
- export * from './requirement.handlers.js';
8
- export * from './task.handlers.js';
9
- export * from './auth.handlers.js';
10
- export * from './status.handlers.js';
11
- export * from './init.handlers.js';
12
- export * from './update.handlers.js';
13
- export * from './agent.handlers.js';
14
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Handlers Index
3
- * Exports all handler functions
4
- */
5
- export * from './types.js';
6
- export * from './project.handlers.js';
7
- export * from './requirement.handlers.js';
8
- export * from './task.handlers.js';
9
- export * from './auth.handlers.js';
10
- export * from './status.handlers.js';
11
- export * from './init.handlers.js';
12
- export * from './update.handlers.js';
13
- export * from './agent.handlers.js';
14
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Init Handler
3
- * Handles the `braingrid init` command for initializing a repository with a BrainGrid project
4
- */
5
- import type { HandlerResult } from './types.js';
6
- export declare function handleInit(opts: {
7
- project?: string;
8
- force?: boolean;
9
- }): Promise<HandlerResult>;
10
- //# sourceMappingURL=init.handlers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.handlers.d.ts","sourceRoot":"","sources":["../../src/handlers/init.handlers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA+BH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAuahD,wBAAsB,UAAU,CAAC,IAAI,EAAE;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB,GAAG,OAAO,CAAC,aAAa,CAAC,CA6VzB"}