@ginkoai/cli 1.0.0 → 1.4.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 (506) hide show
  1. package/README.md +19 -0
  2. package/dist/analysis/project-analyzer.d.ts.map +1 -1
  3. package/dist/analysis/project-analyzer.js +68 -4
  4. package/dist/analysis/project-analyzer.js.map +1 -1
  5. package/dist/commands/architecture/architecture-pipeline-enhanced.d.ts.map +1 -1
  6. package/dist/commands/architecture/architecture-pipeline-enhanced.js +10 -6
  7. package/dist/commands/architecture/architecture-pipeline-enhanced.js.map +1 -1
  8. package/dist/commands/backlog/base.d.ts.map +1 -1
  9. package/dist/commands/backlog/base.js +3 -0
  10. package/dist/commands/backlog/base.js.map +1 -1
  11. package/dist/commands/backlog/create.js +20 -20
  12. package/dist/commands/backlog/create.js.map +1 -1
  13. package/dist/commands/backlog/index.d.ts.map +1 -1
  14. package/dist/commands/backlog/index.js +6 -1
  15. package/dist/commands/backlog/index.js.map +1 -1
  16. package/dist/commands/changelog/changelog-reflection.d.ts.map +1 -1
  17. package/dist/commands/changelog/changelog-reflection.js +7 -3
  18. package/dist/commands/changelog/changelog-reflection.js.map +1 -1
  19. package/dist/commands/charter.d.ts +28 -0
  20. package/dist/commands/charter.d.ts.map +1 -0
  21. package/dist/commands/charter.js +434 -0
  22. package/dist/commands/charter.js.map +1 -0
  23. package/dist/commands/documentation/documentation-pipeline.d.ts.map +1 -1
  24. package/dist/commands/documentation/documentation-pipeline.js +15 -7
  25. package/dist/commands/documentation/documentation-pipeline.js.map +1 -1
  26. package/dist/commands/git/git-pipeline.d.ts.map +1 -1
  27. package/dist/commands/git/git-pipeline.js +3 -2
  28. package/dist/commands/git/git-pipeline.js.map +1 -1
  29. package/dist/commands/graph/api-client.d.ts +212 -0
  30. package/dist/commands/graph/api-client.d.ts.map +1 -0
  31. package/dist/commands/graph/api-client.js +143 -0
  32. package/dist/commands/graph/api-client.js.map +1 -0
  33. package/dist/commands/graph/config.d.ts +82 -0
  34. package/dist/commands/graph/config.d.ts.map +1 -0
  35. package/dist/commands/graph/config.js +113 -0
  36. package/dist/commands/graph/config.js.map +1 -0
  37. package/dist/commands/graph/explore.d.ts +19 -0
  38. package/dist/commands/graph/explore.d.ts.map +1 -0
  39. package/dist/commands/graph/explore.js +117 -0
  40. package/dist/commands/graph/explore.js.map +1 -0
  41. package/dist/commands/graph/index.d.ts +17 -0
  42. package/dist/commands/graph/index.d.ts.map +1 -0
  43. package/dist/commands/graph/index.js +104 -0
  44. package/dist/commands/graph/index.js.map +1 -0
  45. package/dist/commands/graph/init.d.ts +21 -0
  46. package/dist/commands/graph/init.d.ts.map +1 -0
  47. package/dist/commands/graph/init.js +173 -0
  48. package/dist/commands/graph/init.js.map +1 -0
  49. package/dist/commands/graph/load.d.ts +21 -0
  50. package/dist/commands/graph/load.d.ts.map +1 -0
  51. package/dist/commands/graph/load.js +224 -0
  52. package/dist/commands/graph/load.js.map +1 -0
  53. package/dist/commands/graph/query.d.ts +23 -0
  54. package/dist/commands/graph/query.d.ts.map +1 -0
  55. package/dist/commands/graph/query.js +145 -0
  56. package/dist/commands/graph/query.js.map +1 -0
  57. package/dist/commands/graph/status.d.ts +15 -0
  58. package/dist/commands/graph/status.d.ts.map +1 -0
  59. package/dist/commands/graph/status.js +88 -0
  60. package/dist/commands/graph/status.js.map +1 -0
  61. package/dist/commands/handoff.d.ts +14 -5
  62. package/dist/commands/handoff.d.ts.map +1 -1
  63. package/dist/commands/handoff.js +84 -142
  64. package/dist/commands/handoff.js.map +1 -1
  65. package/dist/commands/init.d.ts.map +1 -1
  66. package/dist/commands/init.js +88 -41
  67. package/dist/commands/init.js.map +1 -1
  68. package/dist/commands/knowledge/create.d.ts +24 -0
  69. package/dist/commands/knowledge/create.d.ts.map +1 -0
  70. package/dist/commands/knowledge/create.js +180 -0
  71. package/dist/commands/knowledge/create.js.map +1 -0
  72. package/dist/commands/knowledge/graph.d.ts +21 -0
  73. package/dist/commands/knowledge/graph.d.ts.map +1 -0
  74. package/dist/commands/knowledge/graph.js +199 -0
  75. package/dist/commands/knowledge/graph.js.map +1 -0
  76. package/dist/commands/knowledge/index.d.ts +25 -0
  77. package/dist/commands/knowledge/index.d.ts.map +1 -0
  78. package/dist/commands/knowledge/index.js +121 -0
  79. package/dist/commands/knowledge/index.js.map +1 -0
  80. package/dist/commands/knowledge/search.d.ts +23 -0
  81. package/dist/commands/knowledge/search.d.ts.map +1 -0
  82. package/dist/commands/knowledge/search.js +157 -0
  83. package/dist/commands/knowledge/search.js.map +1 -0
  84. package/dist/commands/knowledge/sync.d.ts +28 -0
  85. package/dist/commands/knowledge/sync.d.ts.map +1 -0
  86. package/dist/commands/knowledge/sync.js +251 -0
  87. package/dist/commands/knowledge/sync.js.map +1 -0
  88. package/dist/commands/log.d.ts +32 -0
  89. package/dist/commands/log.d.ts.map +1 -0
  90. package/dist/commands/log.js +632 -0
  91. package/dist/commands/log.js.map +1 -0
  92. package/dist/commands/login.d.ts +27 -0
  93. package/dist/commands/login.d.ts.map +1 -0
  94. package/dist/commands/login.js +177 -0
  95. package/dist/commands/login.js.map +1 -0
  96. package/dist/commands/logout.d.ts +15 -0
  97. package/dist/commands/logout.d.ts.map +1 -0
  98. package/dist/commands/logout.js +31 -0
  99. package/dist/commands/logout.js.map +1 -0
  100. package/dist/commands/project/create.d.ts +22 -0
  101. package/dist/commands/project/create.d.ts.map +1 -0
  102. package/dist/commands/project/create.js +69 -0
  103. package/dist/commands/project/create.js.map +1 -0
  104. package/dist/commands/project/delete.d.ts +19 -0
  105. package/dist/commands/project/delete.d.ts.map +1 -0
  106. package/dist/commands/project/delete.js +73 -0
  107. package/dist/commands/project/delete.js.map +1 -0
  108. package/dist/commands/project/index.d.ts +22 -0
  109. package/dist/commands/project/index.d.ts.map +1 -0
  110. package/dist/commands/project/index.js +134 -0
  111. package/dist/commands/project/index.js.map +1 -0
  112. package/dist/commands/project/info.d.ts +15 -0
  113. package/dist/commands/project/info.d.ts.map +1 -0
  114. package/dist/commands/project/info.js +92 -0
  115. package/dist/commands/project/info.js.map +1 -0
  116. package/dist/commands/project/list.d.ts +20 -0
  117. package/dist/commands/project/list.d.ts.map +1 -0
  118. package/dist/commands/project/list.js +82 -0
  119. package/dist/commands/project/list.js.map +1 -0
  120. package/dist/commands/project/members.d.ts +27 -0
  121. package/dist/commands/project/members.d.ts.map +1 -0
  122. package/dist/commands/project/members.js +140 -0
  123. package/dist/commands/project/members.js.map +1 -0
  124. package/dist/commands/project/update.d.ts +24 -0
  125. package/dist/commands/project/update.d.ts.map +1 -0
  126. package/dist/commands/project/update.js +83 -0
  127. package/dist/commands/project/update.js.map +1 -0
  128. package/dist/commands/reflect.js +0 -3
  129. package/dist/commands/reflect.js.map +1 -1
  130. package/dist/commands/ship.d.ts +3 -1
  131. package/dist/commands/ship.d.ts.map +1 -1
  132. package/dist/commands/ship.js +100 -9
  133. package/dist/commands/ship.js.map +1 -1
  134. package/dist/commands/start/index.d.ts.map +1 -1
  135. package/dist/commands/start/index.js +5 -3
  136. package/dist/commands/start/index.js.map +1 -1
  137. package/dist/commands/start/start-reflection.d.ts +2 -1
  138. package/dist/commands/start/start-reflection.d.ts.map +1 -1
  139. package/dist/commands/start/start-reflection.js +265 -43
  140. package/dist/commands/start/start-reflection.js.map +1 -1
  141. package/dist/commands/status.d.ts +1 -1
  142. package/dist/commands/status.d.ts.map +1 -1
  143. package/dist/commands/status.js +41 -1
  144. package/dist/commands/status.js.map +1 -1
  145. package/dist/commands/team/create.d.ts +15 -0
  146. package/dist/commands/team/create.d.ts.map +1 -0
  147. package/dist/commands/team/create.js +48 -0
  148. package/dist/commands/team/create.js.map +1 -0
  149. package/dist/commands/team/index.d.ts +22 -0
  150. package/dist/commands/team/index.d.ts.map +1 -0
  151. package/dist/commands/team/index.js +109 -0
  152. package/dist/commands/team/index.js.map +1 -0
  153. package/dist/commands/team/list.d.ts +15 -0
  154. package/dist/commands/team/list.d.ts.map +1 -0
  155. package/dist/commands/team/list.js +67 -0
  156. package/dist/commands/team/list.js.map +1 -0
  157. package/dist/commands/team/members.d.ts +27 -0
  158. package/dist/commands/team/members.d.ts.map +1 -0
  159. package/dist/commands/team/members.js +135 -0
  160. package/dist/commands/team/members.js.map +1 -0
  161. package/dist/commands/team/projects.d.ts +19 -0
  162. package/dist/commands/team/projects.d.ts.map +1 -0
  163. package/dist/commands/team/projects.js +107 -0
  164. package/dist/commands/team/projects.js.map +1 -0
  165. package/dist/commands/team.d.ts +22 -0
  166. package/dist/commands/team.d.ts.map +1 -0
  167. package/dist/commands/team.js +238 -0
  168. package/dist/commands/team.js.map +1 -0
  169. package/dist/commands/testing/testing-pipeline-enhanced.d.ts.map +1 -1
  170. package/dist/commands/testing/testing-pipeline-enhanced.js +5 -3
  171. package/dist/commands/testing/testing-pipeline-enhanced.js.map +1 -1
  172. package/dist/commands/testing/testing-pipeline.d.ts.map +1 -1
  173. package/dist/commands/testing/testing-pipeline.js +5 -3
  174. package/dist/commands/testing/testing-pipeline.js.map +1 -1
  175. package/dist/commands/whoami.d.ts +15 -0
  176. package/dist/commands/whoami.d.ts.map +1 -0
  177. package/dist/commands/whoami.js +38 -0
  178. package/dist/commands/whoami.js.map +1 -0
  179. package/dist/core/reflection-pattern.d.ts +1 -1
  180. package/dist/core/reflection-pattern.d.ts.map +1 -1
  181. package/dist/core/reflection-pattern.js +2 -12
  182. package/dist/core/reflection-pattern.js.map +1 -1
  183. package/dist/core/session-log-manager.d.ts +44 -4
  184. package/dist/core/session-log-manager.d.ts.map +1 -1
  185. package/dist/core/session-log-manager.js +132 -31
  186. package/dist/core/session-log-manager.js.map +1 -1
  187. package/dist/index.d.ts +1 -1
  188. package/dist/index.js +116 -17
  189. package/dist/index.js.map +1 -1
  190. package/dist/lib/api/projects-client.d.ts +119 -0
  191. package/dist/lib/api/projects-client.d.ts.map +1 -0
  192. package/dist/lib/api/projects-client.js +125 -0
  193. package/dist/lib/api/projects-client.js.map +1 -0
  194. package/dist/lib/api/teams-client.d.ts +73 -0
  195. package/dist/lib/api/teams-client.d.ts.map +1 -0
  196. package/dist/lib/api/teams-client.js +68 -0
  197. package/dist/lib/api/teams-client.js.map +1 -0
  198. package/dist/lib/charter/charter-editor.d.ts +60 -0
  199. package/dist/lib/charter/charter-editor.d.ts.map +1 -0
  200. package/dist/lib/charter/charter-editor.js +559 -0
  201. package/dist/lib/charter/charter-editor.js.map +1 -0
  202. package/dist/lib/charter/charter-storage.d.ts +92 -0
  203. package/dist/lib/charter/charter-storage.d.ts.map +1 -0
  204. package/dist/lib/charter/charter-storage.js +501 -0
  205. package/dist/lib/charter/charter-storage.js.map +1 -0
  206. package/dist/lib/charter/charter-synthesizer.d.ts +94 -0
  207. package/dist/lib/charter/charter-synthesizer.d.ts.map +1 -0
  208. package/dist/lib/charter/charter-synthesizer.js +521 -0
  209. package/dist/lib/charter/charter-synthesizer.js.map +1 -0
  210. package/dist/lib/charter/charter-versioning.d.ts +57 -0
  211. package/dist/lib/charter/charter-versioning.d.ts.map +1 -0
  212. package/dist/lib/charter/charter-versioning.js +283 -0
  213. package/dist/lib/charter/charter-versioning.js.map +1 -0
  214. package/dist/lib/charter/confidence-scorer.d.ts +263 -0
  215. package/dist/lib/charter/confidence-scorer.d.ts.map +1 -0
  216. package/dist/lib/charter/confidence-scorer.js +737 -0
  217. package/dist/lib/charter/confidence-scorer.js.map +1 -0
  218. package/dist/lib/charter/conversation-context.d.ts +99 -0
  219. package/dist/lib/charter/conversation-context.d.ts.map +1 -0
  220. package/dist/lib/charter/conversation-context.js +297 -0
  221. package/dist/lib/charter/conversation-context.js.map +1 -0
  222. package/dist/lib/charter/conversation-facilitator.d.ts +117 -0
  223. package/dist/lib/charter/conversation-facilitator.d.ts.map +1 -0
  224. package/dist/lib/charter/conversation-facilitator.js +360 -0
  225. package/dist/lib/charter/conversation-facilitator.js.map +1 -0
  226. package/dist/lib/charter/question-templates.d.ts +82 -0
  227. package/dist/lib/charter/question-templates.d.ts.map +1 -0
  228. package/dist/lib/charter/question-templates.js +355 -0
  229. package/dist/lib/charter/question-templates.js.map +1 -0
  230. package/dist/lib/charter/signal-detection.d.ts +49 -0
  231. package/dist/lib/charter/signal-detection.d.ts.map +1 -0
  232. package/dist/lib/charter/signal-detection.js +338 -0
  233. package/dist/lib/charter/signal-detection.js.map +1 -0
  234. package/dist/lib/context-loader-events.d.ts +111 -0
  235. package/dist/lib/context-loader-events.d.ts.map +1 -0
  236. package/dist/lib/context-loader-events.js +475 -0
  237. package/dist/lib/context-loader-events.js.map +1 -0
  238. package/dist/lib/event-logger.d.ts +64 -0
  239. package/dist/lib/event-logger.d.ts.map +1 -0
  240. package/dist/lib/event-logger.js +197 -0
  241. package/dist/lib/event-logger.js.map +1 -0
  242. package/dist/lib/event-queue.d.ts +104 -0
  243. package/dist/lib/event-queue.d.ts.map +1 -0
  244. package/dist/lib/event-queue.js +274 -0
  245. package/dist/lib/event-queue.js.map +1 -0
  246. package/dist/lib/session-cursor.d.ts +80 -0
  247. package/dist/lib/session-cursor.d.ts.map +1 -0
  248. package/dist/lib/session-cursor.js +250 -0
  249. package/dist/lib/session-cursor.js.map +1 -0
  250. package/dist/lib/sync/conflict-detector.d.ts +41 -0
  251. package/dist/lib/sync/conflict-detector.d.ts.map +1 -0
  252. package/dist/lib/sync/conflict-detector.js +124 -0
  253. package/dist/lib/sync/conflict-detector.js.map +1 -0
  254. package/dist/lib/sync/logger.d.ts +89 -0
  255. package/dist/lib/sync/logger.d.ts.map +1 -0
  256. package/dist/lib/sync/logger.js +202 -0
  257. package/dist/lib/sync/logger.js.map +1 -0
  258. package/dist/lib/sync/parser.d.ts +32 -0
  259. package/dist/lib/sync/parser.d.ts.map +1 -0
  260. package/dist/lib/sync/parser.js +180 -0
  261. package/dist/lib/sync/parser.js.map +1 -0
  262. package/dist/lib/sync/scanner.d.ts +34 -0
  263. package/dist/lib/sync/scanner.d.ts.map +1 -0
  264. package/dist/lib/sync/scanner.js +97 -0
  265. package/dist/lib/sync/scanner.js.map +1 -0
  266. package/dist/lib/sync/uploader.d.ts +33 -0
  267. package/dist/lib/sync/uploader.d.ts.map +1 -0
  268. package/dist/lib/sync/uploader.js +188 -0
  269. package/dist/lib/sync/uploader.js.map +1 -0
  270. package/dist/lib/write-dispatcher/adapters/graph-adapter.d.ts +77 -0
  271. package/dist/lib/write-dispatcher/adapters/graph-adapter.d.ts.map +1 -0
  272. package/dist/lib/write-dispatcher/adapters/graph-adapter.js +178 -0
  273. package/dist/lib/write-dispatcher/adapters/graph-adapter.js.map +1 -0
  274. package/dist/lib/write-dispatcher/adapters/local-adapter.d.ts +133 -0
  275. package/dist/lib/write-dispatcher/adapters/local-adapter.d.ts.map +1 -0
  276. package/dist/lib/write-dispatcher/adapters/local-adapter.js +324 -0
  277. package/dist/lib/write-dispatcher/adapters/local-adapter.js.map +1 -0
  278. package/dist/lib/write-dispatcher/write-dispatcher.d.ts +151 -0
  279. package/dist/lib/write-dispatcher/write-dispatcher.d.ts.map +1 -0
  280. package/dist/lib/write-dispatcher/write-dispatcher.js +197 -0
  281. package/dist/lib/write-dispatcher/write-dispatcher.js.map +1 -0
  282. package/dist/types/charter.d.ts +330 -0
  283. package/dist/types/charter.d.ts.map +1 -0
  284. package/dist/types/charter.js +76 -0
  285. package/dist/types/charter.js.map +1 -0
  286. package/dist/types/config.d.ts +65 -17
  287. package/dist/types/config.d.ts.map +1 -1
  288. package/dist/types/config.js +50 -21
  289. package/dist/types/config.js.map +1 -1
  290. package/dist/utils/api-client.d.ts +36 -0
  291. package/dist/utils/api-client.d.ts.map +1 -0
  292. package/dist/utils/api-client.js +97 -0
  293. package/dist/utils/api-client.js.map +1 -0
  294. package/dist/utils/auth-storage.d.ts +56 -0
  295. package/dist/utils/auth-storage.d.ts.map +1 -0
  296. package/dist/utils/auth-storage.js +133 -0
  297. package/dist/utils/auth-storage.js.map +1 -0
  298. package/dist/utils/cleanup.d.ts +21 -0
  299. package/dist/utils/cleanup.d.ts.map +1 -0
  300. package/dist/utils/cleanup.js +122 -0
  301. package/dist/utils/cleanup.js.map +1 -0
  302. package/dist/utils/config-loader.d.ts +76 -0
  303. package/dist/utils/config-loader.d.ts.map +1 -0
  304. package/dist/utils/config-loader.js +269 -0
  305. package/dist/utils/config-loader.js.map +1 -0
  306. package/dist/utils/context-loader.d.ts +154 -0
  307. package/dist/utils/context-loader.d.ts.map +1 -0
  308. package/dist/utils/context-loader.js +411 -0
  309. package/dist/utils/context-loader.js.map +1 -0
  310. package/dist/utils/dispatcher-logger.d.ts +30 -0
  311. package/dist/utils/dispatcher-logger.d.ts.map +1 -0
  312. package/dist/utils/dispatcher-logger.js +128 -0
  313. package/dist/utils/dispatcher-logger.js.map +1 -0
  314. package/dist/utils/ginko-root.d.ts +3 -2
  315. package/dist/utils/ginko-root.d.ts.map +1 -1
  316. package/dist/utils/ginko-root.js +35 -2
  317. package/dist/utils/ginko-root.js.map +1 -1
  318. package/dist/utils/helpers.d.ts +1 -0
  319. package/dist/utils/helpers.d.ts.map +1 -1
  320. package/dist/utils/helpers.js +3 -0
  321. package/dist/utils/helpers.js.map +1 -1
  322. package/dist/utils/log-quality.d.ts +55 -0
  323. package/dist/utils/log-quality.d.ts.map +1 -0
  324. package/dist/utils/log-quality.js +297 -0
  325. package/dist/utils/log-quality.js.map +1 -0
  326. package/dist/utils/reference-parser.d.ts +164 -0
  327. package/dist/utils/reference-parser.d.ts.map +1 -0
  328. package/dist/utils/reference-parser.js +363 -0
  329. package/dist/utils/reference-parser.js.map +1 -0
  330. package/dist/utils/synthesis.d.ts +180 -0
  331. package/dist/utils/synthesis.d.ts.map +1 -0
  332. package/dist/utils/synthesis.js +724 -0
  333. package/dist/utils/synthesis.js.map +1 -0
  334. package/dist/utils/team-awareness.d.ts +127 -0
  335. package/dist/utils/team-awareness.d.ts.map +1 -0
  336. package/dist/utils/team-awareness.js +385 -0
  337. package/dist/utils/team-awareness.js.map +1 -0
  338. package/package.json +6 -4
  339. package/dist/commands/handoff/handoff-reflection-pipeline.d.ts +0 -106
  340. package/dist/commands/handoff/handoff-reflection-pipeline.d.ts.map +0 -1
  341. package/dist/commands/handoff/handoff-reflection-pipeline.js +0 -534
  342. package/dist/commands/handoff/handoff-reflection-pipeline.js.map +0 -1
  343. package/dist/commands/handoff/handoff-save.d.ts +0 -16
  344. package/dist/commands/handoff/handoff-save.d.ts.map +0 -1
  345. package/dist/commands/handoff/handoff-save.js +0 -72
  346. package/dist/commands/handoff/handoff-save.js.map +0 -1
  347. package/dist/commands/handoff/index.d.ts +0 -19
  348. package/dist/commands/handoff/index.d.ts.map +0 -1
  349. package/dist/commands/handoff/index.js +0 -55
  350. package/dist/commands/handoff/index.js.map +0 -1
  351. package/dist/commands/handoff-ai-orig.d.ts +0 -27
  352. package/dist/commands/handoff-ai-orig.d.ts.map +0 -1
  353. package/dist/commands/handoff-ai-orig.js +0 -405
  354. package/dist/commands/handoff-ai-orig.js.map +0 -1
  355. package/dist/commands/handoff-ai.d.ts +0 -27
  356. package/dist/commands/handoff-ai.d.ts.map +0 -1
  357. package/dist/commands/handoff-ai.js +0 -405
  358. package/dist/commands/handoff-ai.js.map +0 -1
  359. package/dist/commands/handoff-enhanced-orig.d.ts +0 -25
  360. package/dist/commands/handoff-enhanced-orig.d.ts.map +0 -1
  361. package/dist/commands/handoff-enhanced-orig.js +0 -349
  362. package/dist/commands/handoff-enhanced-orig.js.map +0 -1
  363. package/dist/commands/handoff-enhanced.d.ts +0 -25
  364. package/dist/commands/handoff-enhanced.d.ts.map +0 -1
  365. package/dist/commands/handoff-enhanced.js +0 -349
  366. package/dist/commands/handoff-enhanced.js.map +0 -1
  367. package/dist/commands/handoff-orig.d.ts +0 -10
  368. package/dist/commands/handoff-orig.d.ts.map +0 -1
  369. package/dist/commands/handoff-orig.js +0 -167
  370. package/dist/commands/handoff-orig.js.map +0 -1
  371. package/dist/commands/init-enhanced.d.ts +0 -20
  372. package/dist/commands/init-enhanced.d.ts.map +0 -1
  373. package/dist/commands/init-enhanced.js +0 -430
  374. package/dist/commands/init-enhanced.js.map +0 -1
  375. package/dist/commands/prd/prd-reflection-enhanced.d.ts +0 -63
  376. package/dist/commands/prd/prd-reflection-enhanced.d.ts.map +0 -1
  377. package/dist/commands/prd/prd-reflection-enhanced.js +0 -310
  378. package/dist/commands/prd/prd-reflection-enhanced.js.map +0 -1
  379. package/dist/commands/start-enhanced.d.ts +0 -19
  380. package/dist/commands/start-enhanced.d.ts.map +0 -1
  381. package/dist/commands/start-enhanced.js +0 -434
  382. package/dist/commands/start-enhanced.js.map +0 -1
  383. package/dist/commands/start.d.ts +0 -10
  384. package/dist/commands/start.d.ts.map +0 -1
  385. package/dist/commands/start.js +0 -119
  386. package/dist/commands/start.js.map +0 -1
  387. package/dist/core/config/config-aware-reflection.d.ts +0 -37
  388. package/dist/core/config/config-aware-reflection.d.ts.map +0 -1
  389. package/dist/core/config/config-aware-reflection.js +0 -97
  390. package/dist/core/config/config-aware-reflection.js.map +0 -1
  391. package/dist/core/config/config-loader.d.ts +0 -154
  392. package/dist/core/config/config-loader.d.ts.map +0 -1
  393. package/dist/core/config/config-loader.js +0 -424
  394. package/dist/core/config/config-loader.js.map +0 -1
  395. package/dist/core/config/config-migrator.d.ts +0 -150
  396. package/dist/core/config/config-migrator.d.ts.map +0 -1
  397. package/dist/core/config/config-migrator.js +0 -423
  398. package/dist/core/config/config-migrator.js.map +0 -1
  399. package/dist/core/config/config-schema.d.ts +0 -276
  400. package/dist/core/config/config-schema.d.ts.map +0 -1
  401. package/dist/core/config/config-schema.js +0 -277
  402. package/dist/core/config/config-schema.js.map +0 -1
  403. package/dist/core/config/index.d.ts +0 -260
  404. package/dist/core/config/index.d.ts.map +0 -1
  405. package/dist/core/config/index.js +0 -283
  406. package/dist/core/config/index.js.map +0 -1
  407. package/dist/core/config/interactive-config.d.ts +0 -76
  408. package/dist/core/config/interactive-config.d.ts.map +0 -1
  409. package/dist/core/config/interactive-config.js +0 -315
  410. package/dist/core/config/interactive-config.js.map +0 -1
  411. package/dist/core/config/path-config.d.ts +0 -121
  412. package/dist/core/config/path-config.d.ts.map +0 -1
  413. package/dist/core/config/path-config.js +0 -210
  414. package/dist/core/config/path-config.js.map +0 -1
  415. package/dist/core/config/path-resolver.d.ts +0 -151
  416. package/dist/core/config/path-resolver.d.ts.map +0 -1
  417. package/dist/core/config/path-resolver.js +0 -343
  418. package/dist/core/config/path-resolver.js.map +0 -1
  419. package/dist/core/config/project-detector.d.ts +0 -58
  420. package/dist/core/config/project-detector.d.ts.map +0 -1
  421. package/dist/core/config/project-detector.js +0 -310
  422. package/dist/core/config/project-detector.js.map +0 -1
  423. package/dist/core/config-backup/config-aware-reflection.d.ts +0 -37
  424. package/dist/core/config-backup/config-aware-reflection.d.ts.map +0 -1
  425. package/dist/core/config-backup/config-aware-reflection.js +0 -97
  426. package/dist/core/config-backup/config-aware-reflection.js.map +0 -1
  427. package/dist/core/config-backup/config-loader.d.ts +0 -71
  428. package/dist/core/config-backup/config-loader.d.ts.map +0 -1
  429. package/dist/core/config-backup/config-loader.js +0 -288
  430. package/dist/core/config-backup/config-loader.js.map +0 -1
  431. package/dist/core/config-backup/interactive-config.d.ts +0 -76
  432. package/dist/core/config-backup/interactive-config.d.ts.map +0 -1
  433. package/dist/core/config-backup/interactive-config.js +0 -315
  434. package/dist/core/config-backup/interactive-config.js.map +0 -1
  435. package/dist/core/config-backup/path-config.d.ts +0 -121
  436. package/dist/core/config-backup/path-config.d.ts.map +0 -1
  437. package/dist/core/config-backup/path-config.js +0 -210
  438. package/dist/core/config-backup/path-config.js.map +0 -1
  439. package/dist/core/config-backup/project-detector.d.ts +0 -58
  440. package/dist/core/config-backup/project-detector.d.ts.map +0 -1
  441. package/dist/core/config-backup/project-detector.js +0 -310
  442. package/dist/core/config-backup/project-detector.js.map +0 -1
  443. package/dist/core/documents/document-manager.d.ts +0 -97
  444. package/dist/core/documents/document-manager.d.ts.map +0 -1
  445. package/dist/core/documents/document-manager.js +0 -441
  446. package/dist/core/documents/document-manager.js.map +0 -1
  447. package/dist/core/documents/document-migrator.d.ts +0 -138
  448. package/dist/core/documents/document-migrator.d.ts.map +0 -1
  449. package/dist/core/documents/document-migrator.js +0 -349
  450. package/dist/core/documents/document-migrator.js.map +0 -1
  451. package/dist/core/documents/document-namer.d.ts +0 -111
  452. package/dist/core/documents/document-namer.d.ts.map +0 -1
  453. package/dist/core/documents/document-namer.js +0 -225
  454. package/dist/core/documents/document-namer.js.map +0 -1
  455. package/dist/core/documents/examples.d.ts +0 -74
  456. package/dist/core/documents/examples.d.ts.map +0 -1
  457. package/dist/core/documents/examples.js +0 -273
  458. package/dist/core/documents/examples.js.map +0 -1
  459. package/dist/core/documents/file-system.d.ts +0 -93
  460. package/dist/core/documents/file-system.d.ts.map +0 -1
  461. package/dist/core/documents/file-system.js +0 -432
  462. package/dist/core/documents/file-system.js.map +0 -1
  463. package/dist/core/documents/index.d.ts +0 -97
  464. package/dist/core/documents/index.d.ts.map +0 -1
  465. package/dist/core/documents/index.js +0 -119
  466. package/dist/core/documents/index.js.map +0 -1
  467. package/dist/core/documents/markdown-processor.d.ts +0 -84
  468. package/dist/core/documents/markdown-processor.d.ts.map +0 -1
  469. package/dist/core/documents/markdown-processor.js +0 -302
  470. package/dist/core/documents/markdown-processor.js.map +0 -1
  471. package/dist/core/documents/sequence-manager.d.ts +0 -107
  472. package/dist/core/documents/sequence-manager.d.ts.map +0 -1
  473. package/dist/core/documents/sequence-manager.js +0 -246
  474. package/dist/core/documents/sequence-manager.js.map +0 -1
  475. package/dist/core/documents/template-engine.d.ts +0 -101
  476. package/dist/core/documents/template-engine.d.ts.map +0 -1
  477. package/dist/core/documents/template-engine.js +0 -440
  478. package/dist/core/documents/template-engine.js.map +0 -1
  479. package/dist/core/platform/hook-migration.d.ts +0 -73
  480. package/dist/core/platform/hook-migration.d.ts.map +0 -1
  481. package/dist/core/platform/hook-migration.js +0 -339
  482. package/dist/core/platform/hook-migration.js.map +0 -1
  483. package/dist/core/platform/hook-migrator.d.ts +0 -49
  484. package/dist/core/platform/hook-migrator.d.ts.map +0 -1
  485. package/dist/core/platform/hook-migrator.js +0 -305
  486. package/dist/core/platform/hook-migrator.js.map +0 -1
  487. package/dist/core/platform/path-resolver.d.ts +0 -120
  488. package/dist/core/platform/path-resolver.d.ts.map +0 -1
  489. package/dist/core/platform/path-resolver.js +0 -339
  490. package/dist/core/platform/path-resolver.js.map +0 -1
  491. package/dist/core/platform/platform-templates.d.ts +0 -62
  492. package/dist/core/platform/platform-templates.d.ts.map +0 -1
  493. package/dist/core/platform/platform-templates.js +0 -364
  494. package/dist/core/platform/platform-templates.js.map +0 -1
  495. package/dist/core/pressure-monitor.d.ts +0 -76
  496. package/dist/core/pressure-monitor.d.ts.map +0 -1
  497. package/dist/core/pressure-monitor.js +0 -156
  498. package/dist/core/pressure-monitor.js.map +0 -1
  499. package/dist/core/validators/git-validator.test.d.ts +0 -12
  500. package/dist/core/validators/git-validator.test.d.ts.map +0 -1
  501. package/dist/core/validators/git-validator.test.js +0 -40
  502. package/dist/core/validators/git-validator.test.js.map +0 -1
  503. package/dist/core/validators/temp_index.d.ts +0 -56
  504. package/dist/core/validators/temp_index.d.ts.map +0 -1
  505. package/dist/core/validators/temp_index.js +0 -94
  506. package/dist/core/validators/temp_index.js.map +0 -1
@@ -1,106 +0,0 @@
1
- /**
2
- * @fileType: command
3
- * @status: current
4
- * @updated: 2025-09-15
5
- * @tags: [handoff, reflection, pipeline, builder, session]
6
- * @related: [../../core/simple-pipeline-base.ts, ./handoff-reflection.ts]
7
- * @priority: critical
8
- * @complexity: medium
9
- * @dependencies: [simple-pipeline-base, handoff-quality, simple-git, fs-extra]
10
- */
11
- import { SimplePipelineBase } from '../../core/simple-pipeline-base.js';
12
- /**
13
- * Handoff pipeline using Simple Builder Pattern
14
- * Refactored from HandoffReflectionCommand to use SimplePipelineBase
15
- * Implements ADR-013 for consistent pipeline architecture
16
- */
17
- export declare class HandoffPipeline extends SimplePipelineBase {
18
- private git;
19
- private ginkoDir;
20
- private userEmail;
21
- private userSlug;
22
- private sessionDir;
23
- constructor(intent?: string);
24
- /**
25
- * Initialize pipeline dependencies
26
- */
27
- initialize(): Promise<this>;
28
- /**
29
- * Load handoff-specific template
30
- */
31
- loadTemplate(): this;
32
- /**
33
- * Gather comprehensive context including workstream detection
34
- */
35
- gatherContext(): Promise<this>;
36
- /**
37
- * Detect workstream from git and file patterns
38
- */
39
- detectWorkstream(): Promise<any>;
40
- /**
41
- * Identify critical context modules based on workstream
42
- */
43
- identifyCriticalModules(workstream: any): Promise<string[]>;
44
- /**
45
- * Generate handoff content
46
- */
47
- generateContent(): this;
48
- /**
49
- * Build the actual handoff content
50
- */
51
- private buildHandoffContent;
52
- /**
53
- * Score the quality of generated content
54
- */
55
- scoreQuality(): this;
56
- /**
57
- * Enhance content if quality is below target
58
- */
59
- enhanceIfNeeded(): Promise<this>;
60
- /**
61
- * Save handoff to filesystem
62
- */
63
- save(): Promise<this>;
64
- /**
65
- * Get previous handoff for context
66
- */
67
- private getPreviousHandoff;
68
- /**
69
- * Calculate session duration from previous handoff
70
- */
71
- private calculateSessionDuration;
72
- /**
73
- * Archive existing handoff
74
- */
75
- private archiveExistingHandoff;
76
- /**
77
- * Custom validation for handoff pipeline
78
- */
79
- protected customValidate(): void;
80
- /**
81
- * Custom recovery logic
82
- */
83
- protected customRecover(): void;
84
- /**
85
- * Custom execution logic
86
- */
87
- protected customExecute(): Promise<void>;
88
- /**
89
- * Main build method using fluent interface
90
- */
91
- build(): Promise<string>;
92
- }
93
- /**
94
- * Adapter for CLI command usage
95
- * Maintains backward compatibility with existing command structure
96
- */
97
- export declare class HandoffReflectionCommand {
98
- private pipeline;
99
- constructor();
100
- /**
101
- * Execute the handoff command
102
- */
103
- execute(intent: string, options?: any): Promise<void>;
104
- }
105
- export default HandoffReflectionCommand;
106
- //# sourceMappingURL=handoff-reflection-pipeline.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handoff-reflection-pipeline.d.ts","sourceRoot":"","sources":["../../../src/commands/handoff/handoff-reflection-pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,kBAAkB,EAAmB,MAAM,oCAAoC,CAAC;AAczF;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,kBAAkB;IACrD,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,UAAU,CAAc;gBAEpB,MAAM,GAAE,MAAqD;IAKzE;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAUjC;;OAEG;IACH,YAAY,IAAI,IAAI;IAwCpB;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IA+CpC;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC;IA0CtC;;OAEG;IACG,uBAAuB,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAoCjE;;OAEG;IACH,eAAe,IAAI,IAAI;IAQvB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA8H3B;;OAEG;IACH,YAAY,IAAI,IAAI;IAsBpB;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BtC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B3B;;OAEG;YACW,kBAAkB;IAQhC;;OAEG;YACW,wBAAwB;IAatC;;OAEG;YACW,sBAAsB;IAepC;;OAEG;IACH,SAAS,CAAC,cAAc,IAAI,IAAI;IAYhC;;OAEG;IACH,SAAS,CAAC,aAAa,IAAI,IAAI;IAe/B;;OAEG;cACa,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAY9C;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;CA6B/B;AAED;;;GAGG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAkB;;IAMlC;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAehE;AAGD,eAAe,wBAAwB,CAAC"}
@@ -1,534 +0,0 @@
1
- /**
2
- * @fileType: command
3
- * @status: current
4
- * @updated: 2025-09-15
5
- * @tags: [handoff, reflection, pipeline, builder, session]
6
- * @related: [../../core/simple-pipeline-base.ts, ./handoff-reflection.ts]
7
- * @priority: critical
8
- * @complexity: medium
9
- * @dependencies: [simple-pipeline-base, handoff-quality, simple-git, fs-extra]
10
- */
11
- import { SimplePipelineBase } from '../../core/simple-pipeline-base.js';
12
- import simpleGit from 'simple-git';
13
- import fs from 'fs-extra';
14
- import * as path from 'path';
15
- import chalk from 'chalk';
16
- import { getUserEmail, getGinkoDir } from '../../utils/helpers.js';
17
- import { HandoffQualityScorer, HandoffContextAggregator, HandoffEnhancer } from '../../core/handoff-quality.js';
18
- /**
19
- * Handoff pipeline using Simple Builder Pattern
20
- * Refactored from HandoffReflectionCommand to use SimplePipelineBase
21
- * Implements ADR-013 for consistent pipeline architecture
22
- */
23
- export class HandoffPipeline extends SimplePipelineBase {
24
- git;
25
- ginkoDir = '';
26
- userEmail = '';
27
- userSlug = '';
28
- sessionDir = '';
29
- constructor(intent = 'Generate comprehensive handoff for session') {
30
- super(intent);
31
- this.withDomain('handoff');
32
- }
33
- /**
34
- * Initialize pipeline dependencies
35
- */
36
- async initialize() {
37
- this.git = simpleGit();
38
- this.ginkoDir = await getGinkoDir();
39
- this.userEmail = await getUserEmail();
40
- this.userSlug = this.userEmail.replace('@', '-at-').replace(/\./g, '-');
41
- this.sessionDir = path.join(this.ginkoDir, 'sessions', this.userSlug);
42
- console.log(chalk.cyan('šŸ“‹ Initializing handoff pipeline...'));
43
- return this;
44
- }
45
- /**
46
- * Load handoff-specific template
47
- */
48
- loadTemplate() {
49
- const template = {
50
- requiredSections: [
51
- 'session_summary',
52
- 'active_workstream',
53
- 'critical_context_modules',
54
- 'key_achievements',
55
- 'architectural_decisions',
56
- 'in_progress_work',
57
- 'next_session_instructions',
58
- 'mental_model',
59
- 'known_issues'
60
- ],
61
- contextToConsider: [
62
- 'git_changes',
63
- 'active_prds_adrs_tasks',
64
- 'critical_modules',
65
- 'test_results',
66
- 'session_duration',
67
- 'workstream_focus',
68
- 'recent_commits',
69
- 'uncommitted_changes'
70
- ],
71
- rulesAndConstraints: [
72
- 'Reference ALL active PRDs/ADRs/Tasks by number and title',
73
- 'List ESSENTIAL context modules with explicit filenames',
74
- 'Provide SPECIFIC next actions with exact commands',
75
- 'Preserve architectural rationale and decisions',
76
- 'Enable <30 second flow state achievement',
77
- 'Include command sequences for instant resumption',
78
- 'Capture current mental model and understanding',
79
- 'Note any blockers or issues that need resolution'
80
- ]
81
- };
82
- this.withTemplate(template);
83
- console.log(chalk.gray(' āœ“ Template loaded'));
84
- return this;
85
- }
86
- /**
87
- * Gather comprehensive context including workstream detection
88
- */
89
- async gatherContext() {
90
- console.log(chalk.cyan('šŸ” Gathering context...'));
91
- // Detect workstream from recent activity
92
- const workstream = await this.detectWorkstream();
93
- const criticalModules = await this.identifyCriticalModules(workstream);
94
- // Get git state
95
- const status = await this.git.status();
96
- const branch = await this.git.branchLocal();
97
- const recentCommits = await this.git.log({ maxCount: 20 });
98
- // Get previous handoff for continuity
99
- const previousHandoff = await this.getPreviousHandoff();
100
- // Calculate session metrics
101
- const sessionDuration = await this.calculateSessionDuration(previousHandoff);
102
- // Get uncommitted work details
103
- const uncommittedWork = {
104
- modified: status.modified,
105
- created: status.created,
106
- deleted: status.deleted,
107
- ahead: status.ahead
108
- };
109
- const context = {
110
- gitStatus: status,
111
- currentBranch: branch.current,
112
- activePRDs: workstream.prds,
113
- activeADRs: workstream.adrs,
114
- activeTasks: workstream.tasks,
115
- criticalModules: criticalModules,
116
- recentCommits: recentCommits.all,
117
- previousHandoff: previousHandoff,
118
- sessionDuration: sessionDuration,
119
- uncommittedFiles: [...status.modified, ...status.created, ...status.deleted],
120
- workstreamFocus: workstream.focus,
121
- workstream: workstream,
122
- uncommittedWork: uncommittedWork
123
- };
124
- this.withContext(context);
125
- console.log(chalk.gray(' āœ“ Context gathered'));
126
- return this;
127
- }
128
- /**
129
- * Detect workstream from git and file patterns
130
- */
131
- async detectWorkstream() {
132
- const recentCommits = await this.git.log({ maxCount: 30 });
133
- const commitMessages = recentCommits.all.map((c) => c.message).join(' ');
134
- // Pattern matching for PRDs, ADRs, Tasks
135
- const prdPattern = /PRD-(\d+)[:\s-]*([\w\s-]+)/gi;
136
- const adrPattern = /ADR-(\d+)[:\s-]*([\w\s-]+)/gi;
137
- const taskPattern = /TASK-(\d+)[:\s-]*([\w\s-]+)/gi;
138
- const prds = [];
139
- const adrs = [];
140
- const tasks = [];
141
- let match;
142
- while ((match = prdPattern.exec(commitMessages)) !== null) {
143
- prds.push({ number: `PRD-${match[1]}`, title: match[2].trim() });
144
- }
145
- while ((match = adrPattern.exec(commitMessages)) !== null) {
146
- adrs.push({ number: `ADR-${match[1]}`, title: match[2].trim() });
147
- }
148
- while ((match = taskPattern.exec(commitMessages)) !== null) {
149
- tasks.push({ number: `TASK-${match[1]}`, title: match[2].trim(), priority: 'MEDIUM' });
150
- }
151
- // Determine focus from patterns
152
- let focus = 'General development';
153
- if (prds.length > 0 || adrs.length > 0) {
154
- if (commitMessages.includes('reflection') || commitMessages.includes('pipeline')) {
155
- focus = 'Simple Builder Pattern Implementation';
156
- }
157
- else if (commitMessages.includes('handoff') || commitMessages.includes('quality')) {
158
- focus = 'Handoff Quality Enhancement';
159
- }
160
- }
161
- return {
162
- prds: [...new Set(prds.map(p => JSON.stringify(p)))].map(p => JSON.parse(p)),
163
- adrs: [...new Set(adrs.map(a => JSON.stringify(a)))].map(a => JSON.parse(a)),
164
- tasks: [...new Set(tasks.map(t => JSON.stringify(t)))].map(t => JSON.parse(t)),
165
- focus
166
- };
167
- }
168
- /**
169
- * Identify critical context modules based on workstream
170
- */
171
- async identifyCriticalModules(workstream) {
172
- const modules = [];
173
- // Always critical for reflection work
174
- if (workstream.focus.includes('Pattern') || workstream.focus.includes('Builder')) {
175
- modules.push('simple-builder-pattern');
176
- modules.push('pattern-reflection-pattern-as-dsl');
177
- modules.push('universal-reflection-pattern');
178
- }
179
- // Add modules based on active ADRs
180
- if (workstream.adrs.some((a) => a.number === 'ADR-013')) {
181
- modules.push('simple-builder-pattern');
182
- }
183
- if (workstream.adrs.some((a) => a.number === 'ADR-014')) {
184
- modules.push('handoff-quality-standards');
185
- }
186
- // Check for existing modules in context directory
187
- const contextDir = path.join(this.ginkoDir, 'context', 'modules');
188
- if (await fs.pathExists(contextDir)) {
189
- const files = await fs.readdir(contextDir);
190
- // Add any pattern-related modules
191
- files.filter(f => f.includes('pattern') && f.endsWith('.md'))
192
- .forEach(f => {
193
- const moduleName = f.replace('.md', '');
194
- if (!modules.includes(moduleName)) {
195
- modules.push(moduleName);
196
- }
197
- });
198
- }
199
- return modules.slice(0, 5); // Limit to top 5 most critical
200
- }
201
- /**
202
- * Generate handoff content
203
- */
204
- generateContent() {
205
- console.log(chalk.cyan('šŸ“ Generating handoff content...'));
206
- this.ctx.content = this.buildHandoffContent();
207
- this.adjustConfidence(0.9); // High confidence after successful generation
208
- console.log(chalk.gray(' āœ“ Content generated'));
209
- return this;
210
- }
211
- /**
212
- * Build the actual handoff content
213
- */
214
- buildHandoffContent() {
215
- const context = this.ctx.context;
216
- const date = new Date().toISOString().split('T')[0];
217
- const sessionId = `session-${Date.now()}`;
218
- // Build handoff content following the template structure
219
- const sections = [];
220
- // Header
221
- sections.push(`# Session Handoff: ${context.workstreamFocus || 'Development Session'}\n`);
222
- sections.push(`**Date**: ${date}`);
223
- sections.push(`**Session ID**: ${sessionId}`);
224
- sections.push(`**Next Session Goal**: ${this.ctx.intent || 'Continue development'}\n`);
225
- // Active Workstream
226
- if (context.workstream) {
227
- sections.push(`## šŸŽÆ Active Workstream\n`);
228
- sections.push(`### Current Focus: ${context.workstream.focus}`);
229
- if (context.workstream.prds?.length > 0) {
230
- sections.push(`- **Primary PRDs**:`);
231
- context.workstream.prds.forEach((prd) => {
232
- sections.push(` - ${prd.number}: ${prd.title}`);
233
- });
234
- }
235
- if (context.workstream.adrs?.length > 0) {
236
- sections.push(`- **Key ADRs**:`);
237
- context.workstream.adrs.forEach((adr) => {
238
- sections.push(` - ${adr.number}: ${adr.title}`);
239
- });
240
- }
241
- if (context.workstream.tasks?.length > 0) {
242
- sections.push(`- **Active Tasks**:`);
243
- context.workstream.tasks.forEach((task) => {
244
- sections.push(` - ${task.number}: ${task.title} (${task.priority || 'MEDIUM'})`);
245
- });
246
- }
247
- sections.push('');
248
- }
249
- // Critical Context Modules
250
- if (context.criticalModules?.length > 0) {
251
- sections.push(`## šŸ“š Critical Context Modules to Load\n`);
252
- sections.push(`**ESSENTIAL - Load these immediately for continuity:**`);
253
- sections.push('```bash');
254
- context.criticalModules.forEach((module) => {
255
- sections.push(`ginko context ${module}`);
256
- });
257
- sections.push('```\n');
258
- }
259
- // Current State
260
- sections.push(`## šŸ”„ Current State\n`);
261
- // Git changes
262
- if (context.uncommittedWork) {
263
- const work = context.uncommittedWork;
264
- if (work.modified?.length > 0 || work.created?.length > 0) {
265
- sections.push(`### Uncommitted Changes`);
266
- if (work.modified?.length > 0) {
267
- sections.push(`- Modified: ${work.modified.length} files`);
268
- work.modified.slice(0, 5).forEach((file) => {
269
- sections.push(` - ${file}`);
270
- });
271
- if (work.modified.length > 5) {
272
- sections.push(` - ... and ${work.modified.length - 5} more`);
273
- }
274
- }
275
- if (work.created?.length > 0) {
276
- sections.push(`- Created: ${work.created.length} files`);
277
- work.created.slice(0, 5).forEach((file) => {
278
- sections.push(` - ${file}`);
279
- });
280
- if (work.created.length > 5) {
281
- sections.push(` - ... and ${work.created.length - 5} more`);
282
- }
283
- }
284
- sections.push('');
285
- }
286
- }
287
- // Branch info
288
- if (context.currentBranch) {
289
- sections.push(`### Git Status`);
290
- sections.push(`- **Branch**: ${context.currentBranch}`);
291
- if (context.uncommittedWork?.ahead > 0) {
292
- sections.push(`- **Commits ahead**: ${context.uncommittedWork.ahead}`);
293
- }
294
- sections.push('');
295
- }
296
- // Session Achievements (placeholder - would be enhanced by AI)
297
- sections.push(`## šŸŽÆ Session Achievements\n`);
298
- sections.push(`- Implemented Simple Builder Pattern refactoring`);
299
- sections.push(`- Enhanced handoff quality system`);
300
- sections.push(`- Updated pipeline architecture`);
301
- sections.push('');
302
- // Next Steps
303
- sections.push(`## ⚔ Next Session: Quick Start\n`);
304
- sections.push(`### Immediate Actions`);
305
- sections.push('```bash');
306
- sections.push('ginko start # Resume from this handoff');
307
- sections.push('cd packages/cli # Navigate to work area');
308
- sections.push('npm run build # Verify build');
309
- sections.push('npm test # Run tests');
310
- sections.push('```\n');
311
- // Mental Model (placeholder)
312
- sections.push(`## 🧠 Mental Model\n`);
313
- sections.push(`The Simple Builder Pattern provides a clean, chainable interface for pipeline operations.`);
314
- sections.push(`Each reflector extends SimplePipelineBase and implements domain-specific logic.`);
315
- sections.push(`Quality scoring ensures handoffs maintain high standards for instant resumption.\n`);
316
- // Footer
317
- sections.push('---');
318
- sections.push(`**Handoff Quality**: Generated via Simple Builder Pipeline`);
319
- sections.push(`**Generated**: ${date}`);
320
- sections.push(`**Session Duration**: ${context.sessionDuration || 0} minutes`);
321
- sections.push(`**Confidence**: ${(this.ctx.confidence * 100).toFixed(0)}%`);
322
- return sections.join('\n');
323
- }
324
- /**
325
- * Score the quality of generated content
326
- */
327
- scoreQuality() {
328
- if (!this.ctx.content) {
329
- this.addError('No content to score');
330
- this.adjustConfidence(0.5);
331
- return this;
332
- }
333
- console.log(chalk.cyan('šŸ“Š Scoring handoff quality...'));
334
- const qualityReport = HandoffQualityScorer.score(this.ctx.content);
335
- this.withMetadata({ qualityReport });
336
- if (qualityReport.percentage < HandoffQualityScorer.TARGET_SCORE) {
337
- console.log(chalk.yellow(` Quality: ${qualityReport.percentage}% (Enhancement needed)`));
338
- this.ctx.metadata.needsEnhancement = true;
339
- }
340
- else {
341
- console.log(chalk.green(` ✨ Quality: ${qualityReport.percentage}% (Excellent!)`));
342
- }
343
- HandoffQualityScorer.displayReport(qualityReport);
344
- return this;
345
- }
346
- /**
347
- * Enhance content if quality is below target
348
- */
349
- async enhanceIfNeeded() {
350
- if (!this.ctx.metadata?.needsEnhancement) {
351
- return this;
352
- }
353
- console.log(chalk.cyan('✨ Enhancing handoff quality...'));
354
- const aggregator = new HandoffContextAggregator(process.cwd());
355
- const enrichedContext = await aggregator.gatherContext();
356
- const fullContext = {
357
- ...enrichedContext,
358
- ...this.ctx.context,
359
- focus: this.ctx.context.workstreamFocus || enrichedContext.focus
360
- };
361
- this.ctx.content = await HandoffEnhancer.enhance(this.ctx.content, fullContext);
362
- // Re-score after enhancement
363
- const enhancedReport = HandoffQualityScorer.score(this.ctx.content);
364
- HandoffQualityScorer.displayReport(enhancedReport);
365
- this.withMetadata({ qualityReport: enhancedReport });
366
- console.log(chalk.green(' āœ“ Enhancement complete'));
367
- return this;
368
- }
369
- /**
370
- * Save handoff to filesystem
371
- */
372
- async save() {
373
- if (!this.ctx.content) {
374
- this.addError('No content to save');
375
- this.adjustConfidence(0.3);
376
- return this;
377
- }
378
- console.log(chalk.cyan('šŸ’¾ Saving handoff...'));
379
- // Ensure directory exists
380
- await fs.ensureDir(this.sessionDir);
381
- // Archive existing handoff if present
382
- await this.archiveExistingHandoff();
383
- // Save new handoff
384
- const handoffPath = path.join(this.sessionDir, 'current.md');
385
- await fs.writeFile(handoffPath, this.ctx.content, 'utf-8');
386
- console.log(chalk.green(` āœ… Saved to: ${path.relative(process.cwd(), handoffPath)}`));
387
- console.log(chalk.cyan(' šŸ“‹ Next session will load this automatically with ginko start'));
388
- this.withMetadata({ savedPath: handoffPath });
389
- return this;
390
- }
391
- /**
392
- * Get previous handoff for context
393
- */
394
- async getPreviousHandoff() {
395
- const currentPath = path.join(this.sessionDir, 'current.md');
396
- if (await fs.pathExists(currentPath)) {
397
- return fs.readFile(currentPath, 'utf-8');
398
- }
399
- return null;
400
- }
401
- /**
402
- * Calculate session duration from previous handoff
403
- */
404
- async calculateSessionDuration(previousHandoff) {
405
- if (!previousHandoff)
406
- return 0;
407
- const timestampMatch = previousHandoff.match(/Session ID.*?(\d+)/);
408
- if (timestampMatch) {
409
- const previousTime = parseInt(timestampMatch[1], 10);
410
- const currentTime = Date.now();
411
- return Math.round((currentTime - previousTime) / 60000); // Convert to minutes
412
- }
413
- return 0;
414
- }
415
- /**
416
- * Archive existing handoff
417
- */
418
- async archiveExistingHandoff() {
419
- const currentPath = path.join(this.sessionDir, 'current.md');
420
- if (await fs.pathExists(currentPath)) {
421
- const archiveDir = path.join(this.sessionDir, 'archive');
422
- await fs.ensureDir(archiveDir);
423
- const date = new Date().toISOString().split('T')[0];
424
- const time = new Date().toTimeString().split(' ')[0].replace(/:/g, '-');
425
- const archivePath = path.join(archiveDir, `${date}-${time}-handoff.md`);
426
- await fs.move(currentPath, archivePath);
427
- console.log(chalk.gray(` āœ“ Previous handoff archived`));
428
- }
429
- }
430
- /**
431
- * Custom validation for handoff pipeline
432
- */
433
- customValidate() {
434
- if (!this.ctx.template) {
435
- this.addError('Template required for handoff');
436
- this.adjustConfidence(0.7);
437
- }
438
- if (!this.ctx.context?.workstream) {
439
- console.log(chalk.yellow(' ⚠ No workstream detected (will use defaults)'));
440
- this.adjustConfidence(0.9); // Minor reduction, not critical
441
- }
442
- }
443
- /**
444
- * Custom recovery logic
445
- */
446
- customRecover() {
447
- // If no workstream, create a basic one
448
- if (!this.ctx.context?.workstream) {
449
- this.ctx.context = this.ctx.context || {};
450
- this.ctx.context.workstream = {
451
- focus: 'General development',
452
- prds: [],
453
- adrs: [],
454
- tasks: []
455
- };
456
- this.removeError('No workstream detected');
457
- this.adjustConfidence(1.1); // Slight boost after recovery
458
- }
459
- }
460
- /**
461
- * Custom execution logic
462
- */
463
- async customExecute() {
464
- // Ensure we have content
465
- if (!this.ctx.content) {
466
- this.generateContent();
467
- }
468
- // Ensure quality scoring happened
469
- if (!this.ctx.metadata?.qualityReport) {
470
- this.scoreQuality();
471
- }
472
- }
473
- /**
474
- * Main build method using fluent interface
475
- */
476
- async build() {
477
- try {
478
- console.log(chalk.bold.cyan('\nšŸš€ Building handoff with Simple Pipeline Pattern\n'));
479
- await this
480
- .initialize()
481
- .then(p => p.loadTemplate())
482
- .then(p => p.gatherContext())
483
- .then(p => {
484
- p.generateContent();
485
- p.scoreQuality();
486
- return p;
487
- })
488
- .then(p => p.validate())
489
- .then(p => {
490
- p.recover();
491
- return p;
492
- })
493
- .then(p => p.enhanceIfNeeded())
494
- .then(p => p.save())
495
- .then(p => p.execute());
496
- console.log(chalk.bold.green('\n✨ Handoff pipeline completed successfully!\n'));
497
- return this.ctx.content || '';
498
- }
499
- catch (error) {
500
- console.error(chalk.red(`\nāŒ Pipeline failed: ${error}`));
501
- throw error;
502
- }
503
- }
504
- }
505
- /**
506
- * Adapter for CLI command usage
507
- * Maintains backward compatibility with existing command structure
508
- */
509
- export class HandoffReflectionCommand {
510
- pipeline;
511
- constructor() {
512
- this.pipeline = new HandoffPipeline();
513
- }
514
- /**
515
- * Execute the handoff command
516
- */
517
- async execute(intent, options = {}) {
518
- try {
519
- // Update pipeline intent if provided
520
- if (intent && intent.trim() !== '') {
521
- this.pipeline = new HandoffPipeline(intent);
522
- }
523
- // Build and execute the pipeline
524
- await this.pipeline.build();
525
- }
526
- catch (error) {
527
- console.error(chalk.red(`Handoff failed: ${error}`));
528
- throw error;
529
- }
530
- }
531
- }
532
- // Export for CLI use
533
- export default HandoffReflectionCommand;
534
- //# sourceMappingURL=handoff-reflection-pipeline.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handoff-reflection-pipeline.js","sourceRoot":"","sources":["../../../src/commands/handoff/handoff-reflection-pipeline.ts"],"names":[],"mappings":"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"}