@kosuke-ai/cli 0.0.56 → 1.0.0

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 (251) hide show
  1. package/README.md +31 -448
  2. package/dist/commands/auth.js +117 -0
  3. package/dist/generated/commands/deploy/cancel.js +17 -0
  4. package/dist/generated/commands/deploy/messages.js +17 -0
  5. package/dist/generated/commands/deploy/run.js +60 -0
  6. package/dist/generated/commands/index.js +132 -0
  7. package/dist/generated/commands/preview/get.js +25 -0
  8. package/dist/generated/commands/preview/health.js +25 -0
  9. package/dist/generated/commands/preview/reset.js +27 -0
  10. package/dist/generated/commands/preview/share-create.js +36 -0
  11. package/dist/generated/commands/preview/share-delete.js +26 -0
  12. package/dist/generated/commands/preview/share-get.js +26 -0
  13. package/dist/generated/commands/preview/shared.js +17 -0
  14. package/dist/generated/commands/projects/create.js +37 -0
  15. package/dist/generated/commands/projects/delete.js +17 -0
  16. package/dist/generated/commands/projects/env-vars-add.js +21 -0
  17. package/dist/generated/commands/projects/env-vars-remove.js +21 -0
  18. package/dist/generated/commands/projects/get.js +17 -0
  19. package/dist/generated/commands/projects/list.js +15 -0
  20. package/dist/generated/commands/projects/services-add.js +87 -0
  21. package/dist/generated/commands/projects/services-list.js +18 -0
  22. package/dist/generated/commands/projects/services-remove.js +19 -0
  23. package/dist/generated/commands/projects/services-update.js +81 -0
  24. package/dist/generated/commands/projects/settings-get.js +18 -0
  25. package/dist/generated/commands/projects/settings-import.js +91 -0
  26. package/dist/generated/commands/projects/settings-update.js +77 -0
  27. package/dist/generated/commands/projects/skills.js +35 -0
  28. package/dist/generated/commands/projects/update.js +27 -0
  29. package/dist/generated/commands/sessions/activate.js +18 -0
  30. package/dist/generated/commands/sessions/checklist-generate.js +19 -0
  31. package/dist/generated/commands/sessions/checklist-get.js +19 -0
  32. package/dist/generated/commands/sessions/comments-add.js +63 -0
  33. package/dist/generated/commands/sessions/comments-delete.js +20 -0
  34. package/dist/generated/commands/sessions/comments-list.js +19 -0
  35. package/dist/generated/commands/sessions/comments-update.js +23 -0
  36. package/dist/generated/commands/sessions/create.js +126 -0
  37. package/dist/generated/commands/sessions/delete.js +18 -0
  38. package/dist/generated/commands/sessions/diff-files.js +19 -0
  39. package/dist/generated/commands/sessions/diff-patch.js +86 -0
  40. package/dist/generated/commands/sessions/edit-prompt.js +59 -0
  41. package/dist/generated/commands/sessions/files-get.js +27 -0
  42. package/dist/generated/commands/sessions/files-list.js +19 -0
  43. package/dist/generated/commands/sessions/files-write.js +41 -0
  44. package/dist/generated/commands/sessions/get.js +18 -0
  45. package/dist/generated/commands/sessions/git-commit-message.js +19 -0
  46. package/dist/generated/commands/sessions/git-commit.js +29 -0
  47. package/dist/generated/commands/sessions/git-push.js +19 -0
  48. package/dist/generated/commands/sessions/git-state.js +19 -0
  49. package/dist/generated/commands/sessions/jobs-cancel.js +20 -0
  50. package/dist/generated/commands/sessions/jobs-get.js +20 -0
  51. package/dist/generated/commands/sessions/list.js +81 -0
  52. package/dist/generated/commands/sessions/messages.js +18 -0
  53. package/dist/generated/commands/sessions/search.js +23 -0
  54. package/dist/generated/commands/sessions/send.js +98 -0
  55. package/dist/generated/commands/sessions/update.js +72 -0
  56. package/dist/generated/commands/workspaces/access-status.js +29 -0
  57. package/dist/generated/commands/workspaces/ai-provider-get.js +18 -0
  58. package/dist/generated/commands/workspaces/ai-provider-remove.js +42 -0
  59. package/dist/generated/commands/workspaces/ai-provider-set.js +21 -0
  60. package/dist/generated/commands/workspaces/credits.js +17 -0
  61. package/dist/generated/commands/workspaces/get.js +17 -0
  62. package/dist/generated/commands/workspaces/getting-started-get.js +18 -0
  63. package/dist/generated/commands/workspaces/getting-started-update.js +32 -0
  64. package/dist/generated/commands/workspaces/list.js +15 -0
  65. package/dist/generated/commands/workspaces/members.js +25 -0
  66. package/dist/generated/commands/workspaces/sandbox-limit.js +17 -0
  67. package/dist/generated/commands/workspaces/stop-sandboxes.js +27 -0
  68. package/dist/generated/commands/workspaces/usage.js +32 -0
  69. package/dist/index.js +5 -516
  70. package/dist/program.js +46 -0
  71. package/dist/runtime/attach.js +139 -0
  72. package/dist/runtime/attachments.js +58 -0
  73. package/dist/runtime/client.js +12 -0
  74. package/dist/runtime/config.js +49 -0
  75. package/dist/runtime/credentials.js +24 -0
  76. package/dist/runtime/descriptor.js +7 -0
  77. package/dist/runtime/invoke.js +152 -0
  78. package/dist/runtime/runtime.js +41 -0
  79. package/dist/runtime/version.js +5 -0
  80. package/openapi.json +5222 -0
  81. package/package.json +21 -79
  82. package/LICENSE +0 -21
  83. package/claude.costs.json +0 -34
  84. package/dist/__tests__/utils/file-discovery.test.d.ts +0 -5
  85. package/dist/__tests__/utils/file-discovery.test.d.ts.map +0 -1
  86. package/dist/__tests__/utils/file-discovery.test.js +0 -51
  87. package/dist/__tests__/utils/file-discovery.test.js.map +0 -1
  88. package/dist/__tests__/utils/logger-nologs.test.d.ts +0 -5
  89. package/dist/__tests__/utils/logger-nologs.test.d.ts.map +0 -1
  90. package/dist/__tests__/utils/logger-nologs.test.js +0 -34
  91. package/dist/__tests__/utils/logger-nologs.test.js.map +0 -1
  92. package/dist/__tests__/utils/logger.test.d.ts +0 -5
  93. package/dist/__tests__/utils/logger.test.d.ts.map +0 -1
  94. package/dist/__tests__/utils/logger.test.js +0 -243
  95. package/dist/__tests__/utils/logger.test.js.map +0 -1
  96. package/dist/__tests__/utils/validator.test.d.ts +0 -5
  97. package/dist/__tests__/utils/validator.test.d.ts.map +0 -1
  98. package/dist/__tests__/utils/validator.test.js +0 -206
  99. package/dist/__tests__/utils/validator.test.js.map +0 -1
  100. package/dist/index.d.ts +0 -35
  101. package/dist/index.d.ts.map +0 -1
  102. package/dist/index.js.map +0 -1
  103. package/dist/kosuke/commands/analyse.d.ts +0 -15
  104. package/dist/kosuke/commands/analyse.d.ts.map +0 -1
  105. package/dist/kosuke/commands/analyse.js +0 -273
  106. package/dist/kosuke/commands/analyse.js.map +0 -1
  107. package/dist/kosuke/commands/build.d.ts +0 -35
  108. package/dist/kosuke/commands/build.d.ts.map +0 -1
  109. package/dist/kosuke/commands/build.js +0 -659
  110. package/dist/kosuke/commands/build.js.map +0 -1
  111. package/dist/kosuke/commands/getcode.d.ts +0 -29
  112. package/dist/kosuke/commands/getcode.d.ts.map +0 -1
  113. package/dist/kosuke/commands/getcode.js +0 -221
  114. package/dist/kosuke/commands/getcode.js.map +0 -1
  115. package/dist/kosuke/commands/lint.d.ts +0 -21
  116. package/dist/kosuke/commands/lint.d.ts.map +0 -1
  117. package/dist/kosuke/commands/lint.js +0 -321
  118. package/dist/kosuke/commands/lint.js.map +0 -1
  119. package/dist/kosuke/commands/migrate.d.ts +0 -38
  120. package/dist/kosuke/commands/migrate.d.ts.map +0 -1
  121. package/dist/kosuke/commands/migrate.js +0 -284
  122. package/dist/kosuke/commands/migrate.js.map +0 -1
  123. package/dist/kosuke/commands/plan.d.ts +0 -28
  124. package/dist/kosuke/commands/plan.d.ts.map +0 -1
  125. package/dist/kosuke/commands/plan.js +0 -630
  126. package/dist/kosuke/commands/plan.js.map +0 -1
  127. package/dist/kosuke/commands/requirements.d.ts +0 -52
  128. package/dist/kosuke/commands/requirements.d.ts.map +0 -1
  129. package/dist/kosuke/commands/requirements.js +0 -615
  130. package/dist/kosuke/commands/requirements.js.map +0 -1
  131. package/dist/kosuke/commands/review.d.ts +0 -26
  132. package/dist/kosuke/commands/review.d.ts.map +0 -1
  133. package/dist/kosuke/commands/review.js +0 -303
  134. package/dist/kosuke/commands/review.js.map +0 -1
  135. package/dist/kosuke/commands/serve.d.ts +0 -9
  136. package/dist/kosuke/commands/serve.d.ts.map +0 -1
  137. package/dist/kosuke/commands/serve.js +0 -17
  138. package/dist/kosuke/commands/serve.js.map +0 -1
  139. package/dist/kosuke/commands/ship.d.ts +0 -37
  140. package/dist/kosuke/commands/ship.d.ts.map +0 -1
  141. package/dist/kosuke/commands/ship.js +0 -375
  142. package/dist/kosuke/commands/ship.js.map +0 -1
  143. package/dist/kosuke/commands/sync-rules.d.ts +0 -9
  144. package/dist/kosuke/commands/sync-rules.d.ts.map +0 -1
  145. package/dist/kosuke/commands/sync-rules.js +0 -379
  146. package/dist/kosuke/commands/sync-rules.js.map +0 -1
  147. package/dist/kosuke/commands/test.d.ts +0 -42
  148. package/dist/kosuke/commands/test.d.ts.map +0 -1
  149. package/dist/kosuke/commands/test.js +0 -540
  150. package/dist/kosuke/commands/test.js.map +0 -1
  151. package/dist/kosuke/commands/tickets.d.ts +0 -43
  152. package/dist/kosuke/commands/tickets.d.ts.map +0 -1
  153. package/dist/kosuke/commands/tickets.js +0 -499
  154. package/dist/kosuke/commands/tickets.js.map +0 -1
  155. package/dist/kosuke/serve/middleware/error-handler.d.ts +0 -14
  156. package/dist/kosuke/serve/middleware/error-handler.d.ts.map +0 -1
  157. package/dist/kosuke/serve/middleware/error-handler.js +0 -42
  158. package/dist/kosuke/serve/middleware/error-handler.js.map +0 -1
  159. package/dist/kosuke/serve/middleware/validation.d.ts +0 -13
  160. package/dist/kosuke/serve/middleware/validation.d.ts.map +0 -1
  161. package/dist/kosuke/serve/middleware/validation.js +0 -38
  162. package/dist/kosuke/serve/middleware/validation.js.map +0 -1
  163. package/dist/kosuke/serve/routes/build.d.ts +0 -6
  164. package/dist/kosuke/serve/routes/build.d.ts.map +0 -1
  165. package/dist/kosuke/serve/routes/build.js +0 -226
  166. package/dist/kosuke/serve/routes/build.js.map +0 -1
  167. package/dist/kosuke/serve/routes/health.d.ts +0 -6
  168. package/dist/kosuke/serve/routes/health.d.ts.map +0 -1
  169. package/dist/kosuke/serve/routes/health.js +0 -11
  170. package/dist/kosuke/serve/routes/health.js.map +0 -1
  171. package/dist/kosuke/serve/routes/plan.d.ts +0 -6
  172. package/dist/kosuke/serve/routes/plan.d.ts.map +0 -1
  173. package/dist/kosuke/serve/routes/plan.js +0 -106
  174. package/dist/kosuke/serve/routes/plan.js.map +0 -1
  175. package/dist/kosuke/serve/server.d.ts +0 -16
  176. package/dist/kosuke/serve/server.d.ts.map +0 -1
  177. package/dist/kosuke/serve/server.js +0 -67
  178. package/dist/kosuke/serve/server.js.map +0 -1
  179. package/dist/kosuke/serve/validation/build.d.ts +0 -41
  180. package/dist/kosuke/serve/validation/build.d.ts.map +0 -1
  181. package/dist/kosuke/serve/validation/build.js +0 -20
  182. package/dist/kosuke/serve/validation/build.js.map +0 -1
  183. package/dist/kosuke/serve/validation/plan.d.ts +0 -26
  184. package/dist/kosuke/serve/validation/plan.d.ts.map +0 -1
  185. package/dist/kosuke/serve/validation/plan.js +0 -15
  186. package/dist/kosuke/serve/validation/plan.js.map +0 -1
  187. package/dist/kosuke/types.d.ts +0 -469
  188. package/dist/kosuke/types.d.ts.map +0 -1
  189. package/dist/kosuke/types.js +0 -5
  190. package/dist/kosuke/types.js.map +0 -1
  191. package/dist/kosuke/utils/batch-creator.d.ts +0 -14
  192. package/dist/kosuke/utils/batch-creator.d.ts.map +0 -1
  193. package/dist/kosuke/utils/batch-creator.js +0 -76
  194. package/dist/kosuke/utils/batch-creator.js.map +0 -1
  195. package/dist/kosuke/utils/claude-agent.d.ts +0 -145
  196. package/dist/kosuke/utils/claude-agent.d.ts.map +0 -1
  197. package/dist/kosuke/utils/claude-agent.js +0 -504
  198. package/dist/kosuke/utils/claude-agent.js.map +0 -1
  199. package/dist/kosuke/utils/constants.d.ts +0 -40
  200. package/dist/kosuke/utils/constants.d.ts.map +0 -1
  201. package/dist/kosuke/utils/constants.js +0 -54
  202. package/dist/kosuke/utils/constants.js.map +0 -1
  203. package/dist/kosuke/utils/file-discovery.d.ts +0 -15
  204. package/dist/kosuke/utils/file-discovery.d.ts.map +0 -1
  205. package/dist/kosuke/utils/file-discovery.js +0 -80
  206. package/dist/kosuke/utils/file-discovery.js.map +0 -1
  207. package/dist/kosuke/utils/git.d.ts +0 -41
  208. package/dist/kosuke/utils/git.d.ts.map +0 -1
  209. package/dist/kosuke/utils/git.js +0 -145
  210. package/dist/kosuke/utils/git.js.map +0 -1
  211. package/dist/kosuke/utils/github.d.ts +0 -17
  212. package/dist/kosuke/utils/github.d.ts.map +0 -1
  213. package/dist/kosuke/utils/github.js +0 -22
  214. package/dist/kosuke/utils/github.js.map +0 -1
  215. package/dist/kosuke/utils/interactive-input.d.ts +0 -22
  216. package/dist/kosuke/utils/interactive-input.d.ts.map +0 -1
  217. package/dist/kosuke/utils/interactive-input.js +0 -124
  218. package/dist/kosuke/utils/interactive-input.js.map +0 -1
  219. package/dist/kosuke/utils/logger.d.ts +0 -161
  220. package/dist/kosuke/utils/logger.d.ts.map +0 -1
  221. package/dist/kosuke/utils/logger.js +0 -234
  222. package/dist/kosuke/utils/logger.js.map +0 -1
  223. package/dist/kosuke/utils/playwright-mcp-client.d.ts +0 -46
  224. package/dist/kosuke/utils/playwright-mcp-client.d.ts.map +0 -1
  225. package/dist/kosuke/utils/playwright-mcp-client.js +0 -135
  226. package/dist/kosuke/utils/playwright-mcp-client.js.map +0 -1
  227. package/dist/kosuke/utils/pr-orchestrator.d.ts +0 -49
  228. package/dist/kosuke/utils/pr-orchestrator.d.ts.map +0 -1
  229. package/dist/kosuke/utils/pr-orchestrator.js +0 -154
  230. package/dist/kosuke/utils/pr-orchestrator.js.map +0 -1
  231. package/dist/kosuke/utils/repository-manager.d.ts +0 -13
  232. package/dist/kosuke/utils/repository-manager.d.ts.map +0 -1
  233. package/dist/kosuke/utils/repository-manager.js +0 -94
  234. package/dist/kosuke/utils/repository-manager.js.map +0 -1
  235. package/dist/kosuke/utils/repository-resolver.d.ts +0 -12
  236. package/dist/kosuke/utils/repository-resolver.d.ts.map +0 -1
  237. package/dist/kosuke/utils/repository-resolver.js +0 -186
  238. package/dist/kosuke/utils/repository-resolver.js.map +0 -1
  239. package/dist/kosuke/utils/tickets-manager.d.ts +0 -64
  240. package/dist/kosuke/utils/tickets-manager.d.ts.map +0 -1
  241. package/dist/kosuke/utils/tickets-manager.js +0 -331
  242. package/dist/kosuke/utils/tickets-manager.js.map +0 -1
  243. package/dist/kosuke/utils/validator.d.ts +0 -45
  244. package/dist/kosuke/utils/validator.d.ts.map +0 -1
  245. package/dist/kosuke/utils/validator.js +0 -248
  246. package/dist/kosuke/utils/validator.js.map +0 -1
  247. package/dist/lib.d.ts +0 -96
  248. package/dist/lib.d.ts.map +0 -1
  249. package/dist/lib.js +0 -95
  250. package/dist/lib.js.map +0 -1
  251. package/dist/package.json +0 -99
@@ -1,40 +0,0 @@
1
- /**
2
- * Constants used across Kosuke CLI
3
- */
4
- /**
5
- * Directory for cached GitHub repositories and local project workspaces
6
- */
7
- export declare const REPOS_DIR: string;
8
- /**
9
- * Directory for Playwright trace files (video/screenshots)
10
- */
11
- export declare const TRACES_DIR: string;
12
- /**
13
- * Default Anthropic Claude model (can be overridden via ANTHROPIC_MODEL env var)
14
- */
15
- export declare const DEFAULT_ANTHROPIC_MODEL: string;
16
- /**
17
- * Default database URL for PostgreSQL (can be overridden via POSTGRES_URL env var)
18
- */
19
- export declare const DEFAULT_DB_URL: string;
20
- /**
21
- * Default test URL for E2E tests (can be overridden via TEST_URL env var)
22
- */
23
- export declare const DEFAULT_TEST_URL: string;
24
- /**
25
- * Default server port for serve command (can be overridden via PORT env var)
26
- */
27
- export declare const DEFAULT_SERVER_PORT: number;
28
- /**
29
- * Kosuke API base URL for logging (optional)
30
- */
31
- export declare const KOSUKE_BASE_URL: string;
32
- /**
33
- * Kosuke API key for logging (optional)
34
- */
35
- export declare const KOSUKE_API_KEY: string;
36
- /**
37
- * Kosuke project ID for logging (optional)
38
- */
39
- export declare const KOSUKE_PROJECT_ID: string;
40
- //# sourceMappingURL=constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../kosuke/utils/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH;;GAEG;AACH,eAAO,MAAM,SAAS,QAA0B,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,UAAU,QAAwB,CAAC;AAMhD;;GAEG;AACH,eAAO,MAAM,uBAAuB,QAA6D,CAAC;AAElG;;GAEG;AACH,eAAO,MAAM,cAAc,QACyD,CAAC;AAErF;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAkD,CAAC;AAEhF;;GAEG;AACH,eAAO,MAAM,mBAAmB,QAA2D,CAAC;AAM5F;;GAEG;AACH,eAAO,MAAM,eAAe,QAAoC,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,cAAc,QAAmC,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAsC,CAAC"}
@@ -1,54 +0,0 @@
1
- /**
2
- * Constants used across Kosuke CLI
3
- */
4
- // ============================================================================
5
- // File System & Cache Directories
6
- // ============================================================================
7
- /**
8
- * Base cache directory for Kosuke CLI (can be overridden via KOSUKE_CACHE_DIR env var)
9
- * Internal constant - not exported
10
- */
11
- const CACHE_DIR = process.env.KOSUKE_CACHE_DIR || '.kosuke';
12
- /**
13
- * Directory for cached GitHub repositories and local project workspaces
14
- */
15
- export const REPOS_DIR = `${CACHE_DIR}/projects`;
16
- /**
17
- * Directory for Playwright trace files (video/screenshots)
18
- */
19
- export const TRACES_DIR = `${CACHE_DIR}/traces`;
20
- // ============================================================================
21
- // API & Service Configuration
22
- // ============================================================================
23
- /**
24
- * Default Anthropic Claude model (can be overridden via ANTHROPIC_MODEL env var)
25
- */
26
- export const DEFAULT_ANTHROPIC_MODEL = process.env.ANTHROPIC_MODEL || 'claude-haiku-4-5-20251001';
27
- /**
28
- * Default database URL for PostgreSQL (can be overridden via POSTGRES_URL env var)
29
- */
30
- export const DEFAULT_DB_URL = process.env.POSTGRES_URL || 'postgres://postgres:postgres@localhost:5432/postgres';
31
- /**
32
- * Default test URL for E2E tests (can be overridden via TEST_URL env var)
33
- */
34
- export const DEFAULT_TEST_URL = process.env.TEST_URL || 'http://localhost:3000';
35
- /**
36
- * Default server port for serve command (can be overridden via PORT env var)
37
- */
38
- export const DEFAULT_SERVER_PORT = process.env.PORT ? parseInt(process.env.PORT, 10) : 3000;
39
- // ============================================================================
40
- // Kosuke API Configuration (Optional Logging)
41
- // ============================================================================
42
- /**
43
- * Kosuke API base URL for logging (optional)
44
- */
45
- export const KOSUKE_BASE_URL = process.env.KOSUKE_BASE_URL || '';
46
- /**
47
- * Kosuke API key for logging (optional)
48
- */
49
- export const KOSUKE_API_KEY = process.env.KOSUKE_API_KEY || '';
50
- /**
51
- * Kosuke project ID for logging (optional)
52
- */
53
- export const KOSUKE_PROJECT_ID = process.env.KOSUKE_PROJECT_ID || '';
54
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../kosuke/utils/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,+EAA+E;AAC/E,kCAAkC;AAClC,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,SAAS,CAAC;AAE5D;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,SAAS,WAAW,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,SAAS,SAAS,CAAC;AAEhD,+EAA+E;AAC/E,8BAA8B;AAC9B,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,2BAA2B,CAAC;AAElG;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GACzB,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,sDAAsD,CAAC;AAErF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,uBAAuB,CAAC;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAE5F,+EAA+E;AAC/E,8CAA8C;AAC9C,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;AAEjE;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC"}
@@ -1,15 +0,0 @@
1
- /**
2
- * File discovery utilities for Kosuke CLI
3
- */
4
- interface DiscoverFilesOptions {
5
- include?: string[];
6
- scope?: string;
7
- types?: string[];
8
- cwd?: string;
9
- }
10
- /**
11
- * Discover files to analyze, respecting .kosukeignore
12
- */
13
- export declare function discoverFiles(options?: DiscoverFilesOptions): Promise<string[]>;
14
- export {};
15
- //# sourceMappingURL=file-discovery.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-discovery.d.ts","sourceRoot":"","sources":["../../../kosuke/utils/file-discovery.ts"],"names":[],"mappings":"AAAA;;GAEG;AA0BH,UAAU,oBAAoB;IAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA8DzF"}
@@ -1,80 +0,0 @@
1
- /**
2
- * File discovery utilities for Kosuke CLI
3
- */
4
- import { existsSync, readFileSync } from 'fs';
5
- import { join } from 'path';
6
- import { glob } from 'glob';
7
- import ignore from 'ignore';
8
- const KOSUKEIGNORE_FILE = '.kosukeignore';
9
- /**
10
- * Read .kosukeignore file and return ignore patterns
11
- */
12
- function readKosukeignore(cwd = process.cwd()) {
13
- const kosukeignorePath = join(cwd, KOSUKEIGNORE_FILE);
14
- if (!existsSync(kosukeignorePath)) {
15
- return [];
16
- }
17
- const content = readFileSync(kosukeignorePath, 'utf-8');
18
- return content
19
- .split('\n')
20
- .map((line) => line.trim())
21
- .filter((line) => line && !line.startsWith('#'));
22
- }
23
- /**
24
- * Discover files to analyze, respecting .kosukeignore
25
- */
26
- export async function discoverFiles(options = {}) {
27
- const cwd = options.cwd || process.cwd();
28
- // Default patterns to include
29
- const defaultPatterns = ['**/*.ts', '**/*.tsx', '**/*.py'];
30
- // Build include patterns
31
- let includePatterns;
32
- if (options.scope) {
33
- // Scope: specific directories
34
- const scopes = options.scope.split(',').map((s) => s.trim());
35
- if (options.types) {
36
- includePatterns = scopes.flatMap((scope) => options.types.map((type) => `${scope}/**/*.${type}`));
37
- }
38
- else {
39
- includePatterns = scopes.flatMap((scope) => defaultPatterns.map((pattern) => `${scope}/${pattern}`));
40
- }
41
- }
42
- else if (options.types) {
43
- // Types: specific file extensions
44
- includePatterns = options.types.map((type) => `**/*.${type}`);
45
- }
46
- else {
47
- // Default: all supported types
48
- includePatterns = options.include || defaultPatterns;
49
- }
50
- // Load .kosukeignore patterns
51
- const kosukeignorePatterns = readKosukeignore(cwd);
52
- // Always exclude these (gitignore-style patterns)
53
- const alwaysExclude = [
54
- 'node_modules',
55
- '.next',
56
- 'dist',
57
- 'build',
58
- '*.tsbuildinfo',
59
- 'drizzle',
60
- '__pycache__',
61
- '*.pyc',
62
- '.pytest_cache',
63
- 'engine/uv.lock',
64
- ];
65
- const ig = ignore().add([...kosukeignorePatterns, ...alwaysExclude]);
66
- // Find all matching files
67
- const allFiles = [];
68
- for (const pattern of includePatterns) {
69
- const files = await glob(pattern, {
70
- cwd,
71
- nodir: true,
72
- });
73
- allFiles.push(...files);
74
- }
75
- // Filter with .kosukeignore
76
- const filteredFiles = allFiles.filter((file) => !ig.ignores(file));
77
- // Remove duplicates and sort
78
- return [...new Set(filteredFiles)].sort();
79
- }
80
- //# sourceMappingURL=file-discovery.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-discovery.js","sourceRoot":"","sources":["../../../kosuke/utils/file-discovery.ts"],"names":[],"mappings":"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"}
@@ -1,41 +0,0 @@
1
- /**
2
- * Git utilities for Kosuke CLI
3
- */
4
- import type { GitInfo } from '../types.js';
5
- /**
6
- * Get current repository info from git remote
7
- */
8
- export declare function getCurrentRepo(cwd?: string): Promise<GitInfo>;
9
- /**
10
- * Detect if running in kosuke-template repository itself
11
- */
12
- export declare function isKosukeTemplateRepo(cwd?: string): Promise<boolean>;
13
- /**
14
- * Create and checkout a new branch
15
- */
16
- export declare function createBranch(branchName: string, baseBranch?: string, cwd?: string): Promise<void>;
17
- /**
18
- * Commit changes with a message
19
- */
20
- export declare function commit(message: string, cwd?: string): Promise<void>;
21
- /**
22
- * Push current branch to origin
23
- */
24
- export declare function push(branchName: string, cwd?: string): Promise<void>;
25
- /**
26
- * Get the current branch name
27
- */
28
- export declare function getCurrentBranch(cwd?: string): Promise<string>;
29
- /**
30
- * Get git diff of current changes (staged and unstaged)
31
- */
32
- export declare function getGitDiff(cwd?: string): Promise<string>;
33
- /**
34
- * Check if there are any uncommitted changes
35
- */
36
- export declare function hasUncommittedChanges(cwd?: string): Promise<boolean>;
37
- /**
38
- * Stage all changes (including untracked files) so they appear in git diff
39
- */
40
- export declare function stageAllChanges(cwd?: string): Promise<void>;
41
- //# sourceMappingURL=git.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../../kosuke/utils/git.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAgD3C;;GAEG;AACH,wBAAsB,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAmBnE;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOzE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,MAAe,EAC3B,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKzE;AAED;;GAEG;AACH,wBAAsB,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG1E;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIpE;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAU9D;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAI1E;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGjE"}
@@ -1,145 +0,0 @@
1
- /**
2
- * Git utilities for Kosuke CLI
3
- */
4
- import simpleGit from 'simple-git';
5
- let gitIdentityConfigured = false;
6
- /**
7
- * Get SimpleGit instance for the given directory
8
- */
9
- function getGitInstance(cwd) {
10
- return cwd ? simpleGit(cwd) : simpleGit();
11
- }
12
- /**
13
- * Configure git identity for commits (required in CI environments)
14
- */
15
- async function ensureGitIdentity(cwd) {
16
- if (gitIdentityConfigured) {
17
- return;
18
- }
19
- const git = getGitInstance(cwd);
20
- try {
21
- // Check if git identity is already configured
22
- const userName = await git.raw(['config', 'user.name']).catch(() => '');
23
- const userEmail = await git.raw(['config', 'user.email']).catch(() => '');
24
- if (userName.trim() && userEmail.trim()) {
25
- gitIdentityConfigured = true;
26
- return;
27
- }
28
- // Configure git identity using environment variables or defaults
29
- const name = process.env.GIT_AUTHOR_NAME || process.env.GIT_COMMITTER_NAME || 'kosuke-bot';
30
- const email = process.env.GIT_AUTHOR_EMAIL ||
31
- process.env.GIT_COMMITTER_EMAIL ||
32
- 'kosuke-bot@users.noreply.github.com';
33
- await git.addConfig('user.name', name, false, 'local');
34
- await git.addConfig('user.email', email, false, 'local');
35
- console.log(`✅ Configured git identity: ${name} <${email}>`);
36
- gitIdentityConfigured = true;
37
- }
38
- catch (error) {
39
- console.warn('⚠️ Could not configure git identity, commits may fail:', error);
40
- }
41
- }
42
- /**
43
- * Get current repository info from git remote
44
- */
45
- export async function getCurrentRepo(cwd) {
46
- const git = getGitInstance(cwd);
47
- const remotes = await git.getRemotes(true);
48
- const origin = remotes.find((r) => r.name === 'origin');
49
- if (!origin?.refs?.push) {
50
- throw new Error('Could not determine repository from git remote origin');
51
- }
52
- // Parse GitHub URL (supports both HTTPS and SSH)
53
- const match = origin.refs.push.match(/github\.com[/:]([\w-]+)\/([\w-]+?)(?:\.git)?$/) ||
54
- origin.refs.push.match(/^([\w-]+)\/([\w-]+)$/);
55
- if (!match) {
56
- throw new Error(`Could not parse GitHub repository from URL: ${origin.refs.push}`);
57
- }
58
- return { owner: match[1], repo: match[2] };
59
- }
60
- /**
61
- * Detect if running in kosuke-template repository itself
62
- */
63
- export async function isKosukeTemplateRepo(cwd) {
64
- try {
65
- const { owner, repo } = await getCurrentRepo(cwd);
66
- return owner === 'Kosuke-Org' && repo === 'kosuke-template';
67
- }
68
- catch {
69
- return false;
70
- }
71
- }
72
- /**
73
- * Create and checkout a new branch
74
- */
75
- export async function createBranch(branchName, baseBranch = 'main', cwd) {
76
- const git = getGitInstance(cwd);
77
- await git.checkout(baseBranch);
78
- await git.pull('origin', baseBranch);
79
- // Delete local branch if exists
80
- try {
81
- const branches = await git.branchLocal();
82
- if (branches.all.includes(branchName)) {
83
- await git.deleteLocalBranch(branchName, true);
84
- }
85
- }
86
- catch {
87
- // Branch doesn't exist, continue
88
- }
89
- await git.checkoutLocalBranch(branchName);
90
- }
91
- /**
92
- * Commit changes with a message
93
- */
94
- export async function commit(message, cwd) {
95
- const git = getGitInstance(cwd);
96
- await ensureGitIdentity(cwd);
97
- await git.add(['-A']);
98
- await git.commit(message, ['--no-verify']);
99
- }
100
- /**
101
- * Push current branch to origin
102
- */
103
- export async function push(branchName, cwd) {
104
- const git = getGitInstance(cwd);
105
- await git.push('origin', branchName, ['--set-upstream']);
106
- }
107
- /**
108
- * Get the current branch name
109
- */
110
- export async function getCurrentBranch(cwd) {
111
- const git = getGitInstance(cwd);
112
- const branch = await git.revparse(['--abbrev-ref', 'HEAD']);
113
- return branch.trim();
114
- }
115
- /**
116
- * Get git diff of current changes (staged and unstaged)
117
- */
118
- export async function getGitDiff(cwd) {
119
- const git = getGitInstance(cwd);
120
- try {
121
- // Get diff of both staged and unstaged changes
122
- const diff = await git.diff(['HEAD']);
123
- return diff;
124
- }
125
- catch (error) {
126
- console.warn('⚠️ Could not get git diff:', error);
127
- return '';
128
- }
129
- }
130
- /**
131
- * Check if there are any uncommitted changes
132
- */
133
- export async function hasUncommittedChanges(cwd) {
134
- const git = getGitInstance(cwd);
135
- const status = await git.status();
136
- return status.files.length > 0;
137
- }
138
- /**
139
- * Stage all changes (including untracked files) so they appear in git diff
140
- */
141
- export async function stageAllChanges(cwd) {
142
- const git = getGitInstance(cwd);
143
- await git.add('.');
144
- }
145
- //# sourceMappingURL=git.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../kosuke/utils/git.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- /**
2
- * GitHub API utilities for Kosuke CLI
3
- */
4
- interface CreatePROptions {
5
- owner: string;
6
- repo: string;
7
- title: string;
8
- body: string;
9
- head: string;
10
- base: string;
11
- }
12
- /**
13
- * Create a pull request
14
- */
15
- export declare function createPullRequest(options: CreatePROptions): Promise<string>;
16
- export {};
17
- //# sourceMappingURL=github.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../../kosuke/utils/github.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAWjF"}
@@ -1,22 +0,0 @@
1
- /**
2
- * GitHub API utilities for Kosuke CLI
3
- */
4
- import { Octokit } from '@octokit/rest';
5
- const octokit = new Octokit({
6
- auth: process.env.GITHUB_TOKEN,
7
- });
8
- /**
9
- * Create a pull request
10
- */
11
- export async function createPullRequest(options) {
12
- const { data: pr } = await octokit.pulls.create({
13
- owner: options.owner,
14
- repo: options.repo,
15
- title: options.title,
16
- head: options.head,
17
- base: options.base,
18
- body: options.body,
19
- });
20
- return pr.html_url;
21
- }
22
- //# sourceMappingURL=github.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"github.js","sourceRoot":"","sources":["../../../kosuke/utils/github.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;IAC1B,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;CAC/B,CAAC,CAAC;AAWH;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAwB;IAC9D,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;QAC9C,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC,CAAC;IAEH,OAAO,EAAE,CAAC,QAAQ,CAAC;AACrB,CAAC"}
@@ -1,22 +0,0 @@
1
- /**
2
- * Interactive CLI input utilities
3
- *
4
- * Provides consistent multi-line input handling across commands.
5
- * Works reliably in Docker and all terminal environments.
6
- */
7
- /**
8
- * Ask a question with multi-line support
9
- *
10
- * Controls:
11
- * - Enter: Submit input
12
- * - Ctrl+J: New line (works in Docker)
13
- * - Ctrl+C: Exit
14
- * - Ctrl+D: Exit if empty
15
- * - Backspace: Delete character
16
- * - Tab: Insert 2 spaces
17
- *
18
- * @param prompt - The prompt to display (e.g., "You: ")
19
- * @returns The user's input (trimmed)
20
- */
21
- export declare function askQuestion(prompt: string): Promise<string>;
22
- //# sourceMappingURL=interactive-input.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interactive-input.d.ts","sourceRoot":"","sources":["../../../kosuke/utils/interactive-input.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA0H3D"}
@@ -1,124 +0,0 @@
1
- /**
2
- * Interactive CLI input utilities
3
- *
4
- * Provides consistent multi-line input handling across commands.
5
- * Works reliably in Docker and all terminal environments.
6
- */
7
- /**
8
- * Ask a question with multi-line support
9
- *
10
- * Controls:
11
- * - Enter: Submit input
12
- * - Ctrl+J: New line (works in Docker)
13
- * - Ctrl+C: Exit
14
- * - Ctrl+D: Exit if empty
15
- * - Backspace: Delete character
16
- * - Tab: Insert 2 spaces
17
- *
18
- * @param prompt - The prompt to display (e.g., "You: ")
19
- * @returns The user's input (trimmed)
20
- */
21
- export function askQuestion(prompt) {
22
- return new Promise((resolve) => {
23
- const lines = [];
24
- let currentLine = '';
25
- let escapeBuffer = '';
26
- console.log('(Enter to submit, Ctrl+J for new line, Ctrl+C to exit)\n');
27
- process.stdout.write(prompt);
28
- // Store original stdin state
29
- const wasRaw = process.stdin.isRaw;
30
- // Enable raw mode to capture key combinations
31
- if (process.stdin.isTTY) {
32
- process.stdin.setRawMode(true);
33
- }
34
- // Remove existing listeners
35
- process.stdin.removeAllListeners('data');
36
- process.stdin.resume();
37
- process.stdin.setEncoding('utf8');
38
- const onData = (key) => {
39
- // Handle escape sequences (for Shift+Enter and other special keys)
40
- if (escapeBuffer.length > 0 || key === '\x1b') {
41
- escapeBuffer += key;
42
- // Check for Shift+Enter sequences
43
- // Common sequences: \x1b[13;2~ or \x1b\r or \x1bOM
44
- if (escapeBuffer === '\x1b\r' ||
45
- escapeBuffer === '\x1b\n' ||
46
- escapeBuffer.match(/\x1b\[13;2~/)) {
47
- // Shift+Enter - add new line
48
- lines.push(currentLine);
49
- currentLine = '';
50
- process.stdout.write('\n' + ' '.repeat(prompt.length));
51
- escapeBuffer = '';
52
- return;
53
- }
54
- // If escape sequence is incomplete, wait for more
55
- if (escapeBuffer.length < 6) {
56
- return;
57
- }
58
- // Unknown escape sequence, ignore it
59
- escapeBuffer = '';
60
- return;
61
- }
62
- // Ctrl+C - exit
63
- if (key === '\u0003') {
64
- cleanup();
65
- process.exit(0);
66
- }
67
- // Ctrl+D (EOF)
68
- if (key === '\u0004') {
69
- if (currentLine === '' && lines.length === 0) {
70
- cleanup();
71
- resolve('');
72
- return;
73
- }
74
- }
75
- // Ctrl+J (linefeed) - new line (works in Docker)
76
- if (key === '\n') {
77
- lines.push(currentLine);
78
- currentLine = '';
79
- process.stdout.write('\n' + ' '.repeat(prompt.length));
80
- return;
81
- }
82
- // Regular Enter key (without Shift) - submit
83
- if (key === '\r') {
84
- if (currentLine.length > 0) {
85
- lines.push(currentLine);
86
- }
87
- process.stdout.write('\n');
88
- cleanup();
89
- resolve(lines.join('\n').trim());
90
- return;
91
- }
92
- // Backspace
93
- if (key === '\u007f' || key === '\b' || key === '\x08') {
94
- if (currentLine.length > 0) {
95
- currentLine = currentLine.slice(0, -1);
96
- process.stdout.write('\b \b');
97
- }
98
- return;
99
- }
100
- // Tab - insert 2 spaces
101
- if (key === '\t') {
102
- currentLine += ' ';
103
- process.stdout.write(' ');
104
- return;
105
- }
106
- // Ignore other control characters (except printable ones)
107
- if (key.charCodeAt(0) < 32) {
108
- return;
109
- }
110
- // Regular character
111
- currentLine += key;
112
- process.stdout.write(key);
113
- };
114
- const cleanup = () => {
115
- process.stdin.removeListener('data', onData);
116
- if (process.stdin.isTTY) {
117
- process.stdin.setRawMode(wasRaw || false);
118
- }
119
- process.stdin.pause();
120
- };
121
- process.stdin.on('data', onData);
122
- });
123
- }
124
- //# sourceMappingURL=interactive-input.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interactive-input.js","sourceRoot":"","sources":["../../../kosuke/utils/interactive-input.ts"],"names":[],"mappings":"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"}