@ginkoai/cli 1.0.0 → 1.4.2

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 +7 -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
@@ -0,0 +1,475 @@
1
+ /**
2
+ * @fileType: utility
3
+ * @status: current
4
+ * @updated: 2025-11-04
5
+ * @tags: [context-loading, events, adr-043, session-cursor, graph]
6
+ * @related: [context-loader.ts, session-logger.ts, CloudGraphClient]
7
+ * @priority: critical
8
+ * @complexity: high
9
+ * @dependencies: [fs-extra, path]
10
+ */
11
+ /**
12
+ * Event-Based Context Loader (ADR-043)
13
+ *
14
+ * Loads context by reading backwards through event stream from cursor position,
15
+ * replacing handoff-based context loading with continuous event history.
16
+ *
17
+ * Key differences from handoff-based loading:
18
+ * - Reads raw events instead of synthesized summaries
19
+ * - Loads my events + team high-signal events
20
+ * - Extracts document references from event descriptions
21
+ * - Follows graph relationships to load related documents
22
+ * - Target: <30K tokens total (vs 88K with handoff approach)
23
+ *
24
+ * Based on ADR-043 Event Stream Session Model
25
+ */
26
+ import fs from 'fs-extra';
27
+ import path from 'path';
28
+ /**
29
+ * Load context using consolidated API endpoint (performance optimized)
30
+ *
31
+ * Single API call that performs all operations server-side:
32
+ * - Read events backward
33
+ * - Load team events
34
+ * - Extract & load documents
35
+ * - Follow relationships
36
+ * - Get active sprint
37
+ *
38
+ * Performance: ~2-3s vs ~10-15s (4-5 sequential calls)
39
+ */
40
+ async function loadContextConsolidated(cursor, options = {}) {
41
+ const { eventLimit = 50, includeTeam = false, teamEventLimit = 20, categories, documentDepth = 2, teamDays = 7 } = options;
42
+ try {
43
+ const { GraphApiClient } = await import('../commands/graph/api-client.js');
44
+ const client = new GraphApiClient();
45
+ // Build query parameters
46
+ const params = new URLSearchParams({
47
+ cursorId: cursor.current_event_id,
48
+ userId: cursor.user_id,
49
+ projectId: cursor.project_id,
50
+ eventLimit: eventLimit.toString(),
51
+ includeTeam: includeTeam.toString(),
52
+ teamEventLimit: teamEventLimit.toString(),
53
+ teamDays: teamDays.toString(),
54
+ documentDepth: documentDepth.toString(),
55
+ });
56
+ if (categories && categories.length > 0) {
57
+ params.append('categories', categories.join(','));
58
+ }
59
+ if (cursor.branch) {
60
+ params.append('branch', cursor.branch);
61
+ }
62
+ console.log('📡 Using consolidated API endpoint (single call)');
63
+ // Single API call for all context loading
64
+ const response = await client.request('GET', `/api/v1/context/initial-load?${params.toString()}`);
65
+ console.log(`⚡ Consolidated load: ${response.performance.queryTimeMs}ms (${response.event_count} events, ${response.performance.documentsLoaded} docs)`);
66
+ return {
67
+ cursor,
68
+ myEvents: normalizeEvents(response.myEvents || []),
69
+ teamEvents: response.teamEvents ? normalizeEvents(response.teamEvents) : undefined,
70
+ documents: response.documents,
71
+ relatedDocs: response.relatedDocs,
72
+ sprint: response.sprint,
73
+ loaded_at: new Date(response.loaded_at),
74
+ event_count: response.event_count,
75
+ token_estimate: response.token_estimate,
76
+ };
77
+ }
78
+ catch (error) {
79
+ console.log(`⚠️ Consolidated endpoint failed: ${error.message}`);
80
+ throw error; // Re-throw to trigger fallback
81
+ }
82
+ }
83
+ /**
84
+ * Load context from cursor position by reading events backwards
85
+ *
86
+ * @param cursor - Session cursor with current position
87
+ * @param options - Loading options
88
+ * @returns Loaded context with events, documents, and metadata
89
+ */
90
+ export async function loadContextFromCursor(cursor, options = {}) {
91
+ const startTime = Date.now();
92
+ const { eventLimit = 50, includeTeam = false, teamEventLimit = 20, categories, documentDepth = 2, teamDays = 7 } = options;
93
+ // Try consolidated endpoint first (performance optimized)
94
+ try {
95
+ return await loadContextConsolidated(cursor, options);
96
+ }
97
+ catch (error) {
98
+ console.log('⚠️ Falling back to multi-call approach');
99
+ }
100
+ // Fallback: Multi-call approach (original behavior)
101
+ // 1. Read my events backwards from cursor
102
+ const myEvents = await readEventsBackward(cursor.current_event_id, cursor.user_id, cursor.project_id, eventLimit, { categories, branch: cursor.branch });
103
+ // 2. Load team events (optional)
104
+ let teamEvents = [];
105
+ if (includeTeam) {
106
+ teamEvents = await loadTeamEvents(cursor.project_id, cursor.user_id, teamEventLimit, teamDays);
107
+ }
108
+ // 3. Extract document references from events
109
+ const allEvents = [...myEvents, ...teamEvents];
110
+ const documentRefs = extractDocumentReferences(allEvents);
111
+ // 4. Load mentioned documents from graph
112
+ const documents = await loadDocuments(documentRefs);
113
+ // 5. Follow typed relationships (ADR-042)
114
+ const relatedDocs = await followTypedRelationships(documents, documentDepth);
115
+ // 6. Get active sprint context
116
+ const sprint = await getActiveSprint(cursor.project_id);
117
+ // 7. Calculate token estimate
118
+ const tokenEstimate = estimateTokens({
119
+ myEvents,
120
+ teamEvents,
121
+ documents,
122
+ relatedDocs,
123
+ sprint
124
+ });
125
+ const loadedContext = {
126
+ cursor,
127
+ myEvents,
128
+ teamEvents: includeTeam ? teamEvents : undefined,
129
+ documents,
130
+ relatedDocs,
131
+ sprint,
132
+ loaded_at: new Date(),
133
+ event_count: allEvents.length,
134
+ token_estimate: tokenEstimate
135
+ };
136
+ console.log(`⏱️ Context loaded in ${Date.now() - startTime}ms`);
137
+ return loadedContext;
138
+ }
139
+ /**
140
+ * Read events backwards from cursor position (Git log style)
141
+ *
142
+ * @param fromEventId - Starting event ID (cursor position)
143
+ * @param userId - Filter by user
144
+ * @param projectId - Filter by project (multi-tenant)
145
+ * @param limit - Number of events to read
146
+ * @param filters - Additional filters
147
+ * @returns Array of events in reverse chronological order
148
+ */
149
+ async function readEventsBackward(fromEventId, userId, projectId, limit = 50, filters) {
150
+ console.log(`📖 Reading ${limit} events backwards from ${fromEventId} for user ${userId}`);
151
+ try {
152
+ const { GraphApiClient } = await import('../commands/graph/api-client.js');
153
+ const client = new GraphApiClient();
154
+ // Build query parameters
155
+ const params = new URLSearchParams({
156
+ cursorId: fromEventId,
157
+ limit: limit.toString(),
158
+ });
159
+ if (filters?.categories && filters.categories.length > 0) {
160
+ params.append('categories', filters.categories.join(','));
161
+ }
162
+ if (filters?.branch) {
163
+ params.append('branch', filters.branch);
164
+ }
165
+ // Call API endpoint
166
+ const response = await client.request('GET', `/api/v1/events?${params.toString()}`);
167
+ return normalizeEvents(response.events || []);
168
+ }
169
+ catch (error) {
170
+ console.error('Failed to read events:', error);
171
+ return [];
172
+ }
173
+ }
174
+ /**
175
+ * Load team high-signal events (decisions, achievements, git)
176
+ *
177
+ * @param projectId - Project ID for multi-tenant filtering
178
+ * @param excludeUserId - Exclude events from this user
179
+ * @param limit - Number of team events to load
180
+ * @param days - Load events from last N days
181
+ * @returns Array of high-signal team events
182
+ */
183
+ async function loadTeamEvents(projectId, excludeUserId, limit = 20, days = 7) {
184
+ console.log(`👥 Loading ${limit} team events from last ${days} days (excluding ${excludeUserId})`);
185
+ try {
186
+ const { GraphApiClient } = await import('../commands/graph/api-client.js');
187
+ const client = new GraphApiClient();
188
+ // Build query parameters
189
+ const params = new URLSearchParams({
190
+ projectId,
191
+ graphId: '', // Will be populated from context
192
+ limit: limit.toString(),
193
+ days: days.toString(),
194
+ categories: 'decision,achievement,git',
195
+ });
196
+ // Call API endpoint
197
+ const response = await client.request('GET', `/api/v1/events/team?${params.toString()}`);
198
+ return normalizeEvents(response.events || []);
199
+ }
200
+ catch (error) {
201
+ console.error('Failed to load team events:', error);
202
+ return [];
203
+ }
204
+ }
205
+ /**
206
+ * Extract document references from event descriptions
207
+ *
208
+ * Parses event descriptions for references to:
209
+ * - ADR-XXX (Architecture Decision Records)
210
+ * - PRD-XXX (Product Requirements Documents)
211
+ * - Pattern-XXX (Design Patterns)
212
+ * - TASK-XXX (Task references)
213
+ *
214
+ * @param events - Events to parse
215
+ * @returns Array of document IDs referenced in events
216
+ */
217
+ function extractDocumentReferences(events) {
218
+ const refs = new Set();
219
+ // Regex patterns for document references
220
+ const patterns = [
221
+ /ADR-(\d+)/gi,
222
+ /PRD-(\d+)/gi,
223
+ /Pattern-(\d+)/gi,
224
+ /TASK-(\d+)/gi,
225
+ ];
226
+ for (const event of events) {
227
+ const text = event.description;
228
+ for (const pattern of patterns) {
229
+ const matches = text.matchAll(pattern);
230
+ for (const match of matches) {
231
+ refs.add(match[0]); // e.g., "ADR-043"
232
+ }
233
+ }
234
+ }
235
+ console.log(`📎 Extracted ${refs.size} document references from ${events.length} events`);
236
+ return Array.from(refs);
237
+ }
238
+ /**
239
+ * Load documents from graph by ID
240
+ *
241
+ * @param documentIds - Document IDs to load (e.g., ["ADR-043", "PRD-009"])
242
+ * @returns Array of knowledge nodes
243
+ */
244
+ async function loadDocuments(documentIds) {
245
+ if (documentIds.length === 0) {
246
+ return [];
247
+ }
248
+ console.log(`📚 Loading ${documentIds.length} documents: ${documentIds.slice(0, 5).join(', ')}...`);
249
+ try {
250
+ const { GraphApiClient } = await import('../commands/graph/api-client.js');
251
+ const client = new GraphApiClient();
252
+ // Get graphId from environment or config
253
+ const graphId = process.env.GINKO_GRAPH_ID || '';
254
+ // Call batch documents API
255
+ const response = await client.request('POST', '/api/v1/graph/documents/batch', {
256
+ graphId,
257
+ documentIds,
258
+ });
259
+ if (response.notFound && response.notFound.length > 0) {
260
+ console.log(`⚠️ ${response.notFound.length} documents not found: ${response.notFound.slice(0, 3).join(', ')}...`);
261
+ }
262
+ return response.documents;
263
+ }
264
+ catch (error) {
265
+ console.error('Failed to load documents:', error);
266
+ return [];
267
+ }
268
+ }
269
+ /**
270
+ * Follow typed relationships to discover related documents
271
+ *
272
+ * Uses ADR-042 relationship types:
273
+ * - IMPLEMENTS (PRD -> ADR)
274
+ * - REFERENCES (ADR -> ADR, Pattern -> ADR)
275
+ * - DEPENDS_ON (Feature -> Feature)
276
+ *
277
+ * @param documents - Starting documents
278
+ * @param depth - How many hops to follow
279
+ * @returns Array of related documents
280
+ */
281
+ async function followTypedRelationships(documents, depth = 2) {
282
+ if (documents.length === 0 || depth === 0) {
283
+ return [];
284
+ }
285
+ console.log(`🔗 Following relationships ${depth} hops from ${documents.length} documents`);
286
+ try {
287
+ const { GraphApiClient } = await import('../commands/graph/api-client.js');
288
+ const client = new GraphApiClient();
289
+ const relatedDocs = new Set();
290
+ // For each starting document, explore its relationships
291
+ for (const doc of documents.slice(0, 10)) { // Limit to first 10 to avoid too many API calls
292
+ try {
293
+ const response = await client.request('GET', `/api/v1/graph/explore/${doc.id}`);
294
+ // Collect all related documents from typed relationships
295
+ const relationships = response.relationships;
296
+ if (relationships.implements) {
297
+ relationships.implements.forEach((rel) => {
298
+ relatedDocs.add({
299
+ id: rel.id,
300
+ type: rel.type,
301
+ title: rel.title,
302
+ });
303
+ });
304
+ }
305
+ if (relationships.referencedBy) {
306
+ relationships.referencedBy.forEach((rel) => {
307
+ relatedDocs.add({
308
+ id: rel.id,
309
+ type: rel.type,
310
+ title: rel.title,
311
+ });
312
+ });
313
+ }
314
+ // Skip SIMILAR_TO as these are lower signal
315
+ }
316
+ catch (error) {
317
+ console.log(` ⚠️ Could not explore ${doc.id}:`, error.message);
318
+ }
319
+ }
320
+ return Array.from(relatedDocs);
321
+ }
322
+ catch (error) {
323
+ console.error('Failed to follow relationships:', error);
324
+ return [];
325
+ }
326
+ }
327
+ /**
328
+ * Get active sprint for project
329
+ *
330
+ * @param projectId - Project ID
331
+ * @returns Active sprint or undefined
332
+ */
333
+ async function getActiveSprint(projectId) {
334
+ console.log(`🎯 Loading active sprint for project ${projectId}`);
335
+ try {
336
+ // Look for sprint files in docs/sprints/
337
+ const sprintDir = path.join(process.cwd(), 'docs', 'sprints');
338
+ if (!await fs.pathExists(sprintDir)) {
339
+ return undefined;
340
+ }
341
+ // Read CURRENT-SPRINT.md first (optimized for readiness - ADR-043)
342
+ const currentSprintPath = path.join(sprintDir, 'CURRENT-SPRINT.md');
343
+ if (await fs.pathExists(currentSprintPath)) {
344
+ const content = await fs.readFile(currentSprintPath, 'utf-8');
345
+ // CURRENT-SPRINT.md contains all readiness info (WHY, WHAT, HOW, status)
346
+ // No need to read the full sprint file during startup
347
+ // Extract sprint reference (e.g., "**Sprint**: SPRINT-2025-10-27-cloud-knowledge-graph")
348
+ const sprintMatch = content.match(/\*\*Sprint\*\*:\s*(SPRINT-[\w-]+)/);
349
+ const sprintId = sprintMatch ? sprintMatch[1] : 'unknown';
350
+ // Extract title from "Sprint Goal" section
351
+ const titleMatch = content.match(/##\s+Sprint Goal\s+(.+?)(?=\n\n|\*\*|$)/s);
352
+ const title = titleMatch ? titleMatch[1].trim() : 'Active Sprint';
353
+ // Extract progress if available
354
+ const progressMatch = content.match(/\*\*Progress\*\*:\s*(\d+)%/);
355
+ const progress = progressMatch ? parseInt(progressMatch[1], 10) : 0;
356
+ return {
357
+ id: sprintId,
358
+ title,
359
+ goals: [], // Available in CURRENT-SPRINT.md if needed
360
+ progress,
361
+ started: new Date(), // Could parse from CURRENT-SPRINT.md if needed
362
+ };
363
+ }
364
+ // Fallback: scan all sprint files (legacy behavior)
365
+ const files = await fs.readdir(sprintDir);
366
+ const sprintFiles = files.filter(f => f.startsWith('SPRINT-') && f.endsWith('.md'));
367
+ for (const file of sprintFiles) {
368
+ const filePath = path.join(sprintDir, file);
369
+ const content = await fs.readFile(filePath, 'utf-8');
370
+ if (content.toLowerCase().includes('status**: active') ||
371
+ content.toLowerCase().includes('sprint status: active')) {
372
+ const titleMatch = content.match(/^#\s+(.+)$/m);
373
+ const title = titleMatch ? titleMatch[1] : file.replace('.md', '');
374
+ return {
375
+ id: file.replace('.md', ''),
376
+ title,
377
+ goals: [],
378
+ progress: 0,
379
+ started: new Date(),
380
+ };
381
+ }
382
+ }
383
+ return undefined;
384
+ }
385
+ catch (error) {
386
+ console.log('Could not load sprint:', error.message);
387
+ return undefined;
388
+ }
389
+ }
390
+ /**
391
+ * Estimate total token count for loaded context
392
+ *
393
+ * Token estimation:
394
+ * - Events: ~100 tokens each
395
+ * - Documents: ~1000 tokens each (average)
396
+ * - Sprint: ~500 tokens
397
+ *
398
+ * Target: <30K tokens total
399
+ *
400
+ * @param context - Context components
401
+ * @returns Estimated token count
402
+ */
403
+ function estimateTokens(context) {
404
+ const eventTokens = (context.myEvents.length + (context.teamEvents?.length || 0)) * 100;
405
+ const docTokens = context.documents.length * 1000;
406
+ const relatedDocTokens = context.relatedDocs.length * 1000;
407
+ const sprintTokens = context.sprint ? 500 : 0;
408
+ return eventTokens + docTokens + relatedDocTokens + sprintTokens;
409
+ }
410
+ /**
411
+ * Format context summary for display
412
+ *
413
+ * @param context - Loaded context
414
+ * @returns Formatted summary string
415
+ */
416
+ export function formatContextSummary(context) {
417
+ const lines = [];
418
+ lines.push('📊 Context Loaded:');
419
+ lines.push(` - ${context.myEvents.length} my events (last ${daysAgo(context.myEvents[0]?.timestamp)} days)`);
420
+ if (context.teamEvents && context.teamEvents.length > 0) {
421
+ lines.push(` - ${context.teamEvents.length} team events (decisions + achievements)`);
422
+ }
423
+ // Group documents by type
424
+ const docsByType = groupByType(context.documents);
425
+ const totalDocs = context.documents.length;
426
+ const docSummary = Object.entries(docsByType)
427
+ .map(([type, count]) => `${count} ${type}${count > 1 ? 's' : ''}`)
428
+ .join(', ');
429
+ lines.push(` - ${totalDocs} documents (${docSummary})`);
430
+ if (context.relatedDocs.length > 0) {
431
+ lines.push(` - ${context.relatedDocs.length} related documents`);
432
+ }
433
+ if (context.sprint) {
434
+ lines.push(` - Sprint: ${context.sprint.title} (${context.sprint.progress}% complete)`);
435
+ }
436
+ lines.push(` - Estimated tokens: ${context.token_estimate.toLocaleString()}`);
437
+ return lines.join('\n');
438
+ }
439
+ /**
440
+ * Normalize event data from API (convert timestamp strings to Date objects)
441
+ */
442
+ function normalizeEvent(event) {
443
+ return {
444
+ ...event,
445
+ timestamp: event.timestamp ? new Date(event.timestamp) : new Date(),
446
+ };
447
+ }
448
+ /**
449
+ * Normalize array of events from API
450
+ */
451
+ function normalizeEvents(events) {
452
+ return events.map(normalizeEvent);
453
+ }
454
+ /**
455
+ * Calculate days ago from timestamp
456
+ */
457
+ function daysAgo(timestamp) {
458
+ if (!timestamp)
459
+ return 0;
460
+ const now = new Date();
461
+ const diff = now.getTime() - timestamp.getTime();
462
+ return Math.round(diff / (1000 * 60 * 60 * 24));
463
+ }
464
+ /**
465
+ * Group documents by type
466
+ */
467
+ function groupByType(documents) {
468
+ const groups = {};
469
+ for (const doc of documents) {
470
+ const type = doc.type || 'unknown';
471
+ groups[type] = (groups[type] || 0) + 1;
472
+ }
473
+ return groups;
474
+ }
475
+ //# sourceMappingURL=context-loader-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-loader-events.js","sourceRoot":"","sources":["../../src/lib/context-loader-events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * @fileType: utility
3
+ * @status: current
4
+ * @updated: 2025-11-04
5
+ * @tags: [event-logging, dual-write, adr-043, session-events]
6
+ * @related: [event-queue.ts, ../commands/log.ts, ../utils/session-logger.ts]
7
+ * @priority: critical
8
+ * @complexity: medium
9
+ * @dependencies: [fs-extra, uuid]
10
+ */
11
+ /**
12
+ * Event entry structure (aligned with ADR-043)
13
+ */
14
+ export interface EventEntry {
15
+ category: 'fix' | 'feature' | 'decision' | 'insight' | 'git' | 'achievement';
16
+ description: string;
17
+ files?: string[];
18
+ impact?: 'high' | 'medium' | 'low';
19
+ branch?: string;
20
+ tags?: string[];
21
+ shared?: boolean;
22
+ commit_hash?: string;
23
+ }
24
+ /**
25
+ * Internal event structure with metadata
26
+ */
27
+ export interface Event extends EventEntry {
28
+ id: string;
29
+ user_id: string;
30
+ organization_id: string;
31
+ project_id: string;
32
+ timestamp: string;
33
+ pressure?: number;
34
+ synced_to_graph?: boolean;
35
+ }
36
+ /**
37
+ * Log an event with dual-write pattern
38
+ *
39
+ * Pattern (ADR-043):
40
+ * 1. Write to local file immediately (blocking, must succeed)
41
+ * 2. Add to async queue for Neo4j sync (non-blocking)
42
+ * 3. Return immediately (don't wait for sync)
43
+ *
44
+ * @param entry - Event entry data
45
+ * @returns Promise<Event> - The logged event with metadata
46
+ */
47
+ export declare function logEvent(entry: EventEntry): Promise<Event>;
48
+ /**
49
+ * Load all events from local file
50
+ */
51
+ export declare function loadEvents(): Promise<Event[]>;
52
+ /**
53
+ * Mark events as synced to graph
54
+ */
55
+ export declare function markEventsSynced(eventIds: string[]): Promise<void>;
56
+ /**
57
+ * Get events that need syncing (not yet synced to graph)
58
+ */
59
+ export declare function getUnsyncedEvents(): Promise<Event[]>;
60
+ /**
61
+ * Clear events file (for testing)
62
+ */
63
+ export declare function clearEvents(): Promise<void>;
64
+ //# sourceMappingURL=event-logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-logger.d.ts","sourceRoot":"","sources":["../../src/lib/event-logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,KAAK,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,KAAK,GAAG,aAAa,CAAC;IAC7E,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,KAAM,SAAQ,UAAU;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAgGD;;;;;;;;;;GAUG;AACH,wBAAsB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAqChE;AAED;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAgBnD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBxE;AAED;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAG1D;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAOjD"}