@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
@@ -0,0 +1,197 @@
1
+ /**
2
+ * @fileType: utility
3
+ * @status: current
4
+ * @updated: 2025-11-02
5
+ * @tags: [write-dispatch, adapter-pattern, multi-backend, adr-041]
6
+ * @related: [adapters/graph-adapter.ts, adapters/local-adapter.ts, api/v1/graph/_cloud-graph-client.ts]
7
+ * @priority: critical
8
+ * @complexity: medium
9
+ * @dependencies: []
10
+ */
11
+ /**
12
+ * WriteDispatcher
13
+ *
14
+ * Routes write operations to multiple backends using the adapter pattern.
15
+ * Supports dual-write migration strategy and graceful fallback.
16
+ *
17
+ * Architecture (ADR-041):
18
+ * - Primary adapter (graph) must succeed for write to be considered successful
19
+ * - Secondary adapters (local) run concurrently for dual-write period
20
+ * - Environment variables control which adapters are enabled
21
+ * - Single source of truth: graph for reads, dispatched writes
22
+ *
23
+ * Usage:
24
+ * ```typescript
25
+ * const dispatcher = new WriteDispatcher({ primaryAdapter: 'graph' });
26
+ * dispatcher.registerAdapter(new GraphAdapter());
27
+ * dispatcher.registerAdapter(new LocalAdapter());
28
+ *
29
+ * const result = await dispatcher.dispatch({
30
+ * type: 'ADR',
31
+ * id: 'adr_042',
32
+ * title: 'Use JWT',
33
+ * content: '# ADR-042...',
34
+ * data: { status: 'proposed' }
35
+ * });
36
+ * ```
37
+ */
38
+ export class WriteDispatcher {
39
+ adapters = new Map();
40
+ config;
41
+ constructor(config) {
42
+ this.config = {
43
+ primaryAdapter: config.primaryAdapter,
44
+ enabledAdapters: config.enabledAdapters || [],
45
+ dualWrite: config.dualWrite !== undefined ? config.dualWrite : true,
46
+ failFast: config.failFast !== undefined ? config.failFast : true,
47
+ };
48
+ }
49
+ /**
50
+ * Register a write adapter
51
+ */
52
+ registerAdapter(adapter) {
53
+ this.adapters.set(adapter.name, adapter);
54
+ }
55
+ /**
56
+ * Unregister an adapter
57
+ */
58
+ unregisterAdapter(name) {
59
+ this.adapters.delete(name);
60
+ }
61
+ /**
62
+ * Get list of registered adapters
63
+ */
64
+ getAdapters() {
65
+ return Array.from(this.adapters.keys());
66
+ }
67
+ /**
68
+ * Get enabled adapters based on configuration
69
+ */
70
+ getEnabledAdapters() {
71
+ return Array.from(this.adapters.values()).filter(adapter => {
72
+ // Check if adapter itself is enabled
73
+ if (!adapter.enabled()) {
74
+ return false;
75
+ }
76
+ // If enabledAdapters list is specified, check if adapter is in the list
77
+ if (this.config.enabledAdapters && this.config.enabledAdapters.length > 0) {
78
+ return this.config.enabledAdapters.includes(adapter.name);
79
+ }
80
+ return true;
81
+ });
82
+ }
83
+ /**
84
+ * Dispatch write operation to all enabled adapters
85
+ *
86
+ * Strategy:
87
+ * 1. Execute all enabled adapters concurrently
88
+ * 2. Wait for primary adapter to complete
89
+ * 3. If primary fails, throw error (fail fast)
90
+ * 4. If primary succeeds, return its result
91
+ * 5. Secondary adapter failures are logged but don't block
92
+ *
93
+ * @throws Error if primary adapter fails
94
+ */
95
+ async dispatch(document) {
96
+ const enabledAdapters = this.getEnabledAdapters();
97
+ if (enabledAdapters.length === 0) {
98
+ throw new Error('No enabled adapters available for write dispatch');
99
+ }
100
+ // Find primary adapter
101
+ const primaryAdapter = enabledAdapters.find(a => a.name === this.config.primaryAdapter);
102
+ if (!primaryAdapter) {
103
+ throw new Error(`Primary adapter '${this.config.primaryAdapter}' not found or not enabled`);
104
+ }
105
+ // Execute all adapters concurrently
106
+ const writePromises = enabledAdapters.map(adapter => adapter
107
+ .write(document)
108
+ .then(result => ({ adapter: adapter.name, result, success: true }))
109
+ .catch(error => ({
110
+ adapter: adapter.name,
111
+ error: error instanceof Error ? error.message : String(error),
112
+ success: false,
113
+ })));
114
+ const results = await Promise.all(writePromises);
115
+ // Check primary adapter result
116
+ const primaryResult = results.find(r => r.adapter === this.config.primaryAdapter);
117
+ if (!primaryResult) {
118
+ throw new Error(`Primary adapter '${this.config.primaryAdapter}' not found in results`);
119
+ }
120
+ if (!primaryResult.success) {
121
+ const errorMsg = 'error' in primaryResult ? primaryResult.error : 'Unknown error';
122
+ throw new Error(`Primary adapter '${this.config.primaryAdapter}' failed: ${errorMsg}`);
123
+ }
124
+ // Log secondary adapter failures (non-blocking)
125
+ const secondaryFailures = results.filter((r) => !r.success && r.adapter !== this.config.primaryAdapter);
126
+ if (secondaryFailures.length > 0) {
127
+ for (const failure of secondaryFailures) {
128
+ console.warn(`[WriteDispatcher] Secondary adapter '${failure.adapter}' failed: ${failure.error}`);
129
+ }
130
+ }
131
+ // Return primary adapter result
132
+ return primaryResult.result;
133
+ }
134
+ /**
135
+ * Validate configuration and adapters
136
+ */
137
+ validate() {
138
+ const errors = [];
139
+ // Check if primary adapter is registered
140
+ if (!this.adapters.has(this.config.primaryAdapter)) {
141
+ errors.push(`Primary adapter '${this.config.primaryAdapter}' is not registered`);
142
+ }
143
+ // Check if at least one adapter is enabled
144
+ const enabledAdapters = this.getEnabledAdapters();
145
+ if (enabledAdapters.length === 0) {
146
+ errors.push('No adapters are enabled. Check environment configuration.');
147
+ }
148
+ // Check if primary adapter is enabled
149
+ const primaryEnabled = enabledAdapters.some(a => a.name === this.config.primaryAdapter);
150
+ if (!primaryEnabled && this.adapters.has(this.config.primaryAdapter)) {
151
+ errors.push(`Primary adapter '${this.config.primaryAdapter}' is registered but not enabled`);
152
+ }
153
+ return {
154
+ valid: errors.length === 0,
155
+ errors,
156
+ };
157
+ }
158
+ /**
159
+ * Get dispatcher status
160
+ */
161
+ getStatus() {
162
+ const enabledAdapters = this.getEnabledAdapters();
163
+ return {
164
+ primaryAdapter: this.config.primaryAdapter,
165
+ registeredAdapters: Array.from(this.adapters.keys()),
166
+ enabledAdapters: enabledAdapters.map(a => a.name),
167
+ dualWrite: this.config.dualWrite,
168
+ };
169
+ }
170
+ }
171
+ /**
172
+ * Global dispatcher instance (singleton)
173
+ */
174
+ let globalDispatcher = null;
175
+ /**
176
+ * Initialize global dispatcher
177
+ */
178
+ export function initializeDispatcher(config) {
179
+ globalDispatcher = new WriteDispatcher(config);
180
+ return globalDispatcher;
181
+ }
182
+ /**
183
+ * Get global dispatcher instance
184
+ */
185
+ export function getDispatcher() {
186
+ if (!globalDispatcher) {
187
+ throw new Error('WriteDispatcher not initialized. Call initializeDispatcher() first.');
188
+ }
189
+ return globalDispatcher;
190
+ }
191
+ /**
192
+ * Check if dispatcher is initialized
193
+ */
194
+ export function isDispatcherInitialized() {
195
+ return globalDispatcher !== null;
196
+ }
197
+ //# sourceMappingURL=write-dispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-dispatcher.js","sourceRoot":"","sources":["../../../src/lib/write-dispatcher/write-dispatcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,330 @@
1
+ /**
2
+ * @fileType: model
3
+ * @status: current
4
+ * @updated: 2025-11-10
5
+ * @tags: [types, charter, project-charter, conversation, confidence-scoring]
6
+ * @related: [charter-storage.ts, conversation-facilitator.ts, charter-synthesizer.ts]
7
+ * @priority: high
8
+ * @complexity: medium
9
+ * @dependencies: []
10
+ */
11
+ /**
12
+ * Work modes determine charter depth and conversation style
13
+ */
14
+ export type WorkMode = 'hack-ship' | 'think-build' | 'full-planning';
15
+ /**
16
+ * Charter status lifecycle
17
+ */
18
+ export type CharterStatus = 'draft' | 'active' | 'archived';
19
+ /**
20
+ * Charter aspects tracked for confidence scoring
21
+ */
22
+ export type CharterAspect = 'purpose' | 'users' | 'success' | 'scope';
23
+ /**
24
+ * Version bump types for semantic versioning
25
+ */
26
+ export type VersionBump = 'major' | 'minor' | 'patch';
27
+ /**
28
+ * Scope boundaries: what's in, out, and to be determined
29
+ */
30
+ export interface CharterScope {
31
+ inScope: string[];
32
+ outOfScope: string[];
33
+ tbd: string[];
34
+ }
35
+ /**
36
+ * Main charter content
37
+ */
38
+ export interface CharterContent {
39
+ purpose: string;
40
+ users: string[];
41
+ successCriteria: string[];
42
+ scope: CharterScope;
43
+ constraints?: string;
44
+ timeline?: string;
45
+ team?: string[];
46
+ risks?: string[];
47
+ alternatives?: string[];
48
+ governance?: string;
49
+ }
50
+ /**
51
+ * Score for a single charter aspect (0-100)
52
+ */
53
+ export interface AspectScore {
54
+ score: number;
55
+ signals: string[];
56
+ missing: string[];
57
+ }
58
+ /**
59
+ * Confidence metrics for charter completeness
60
+ */
61
+ export interface CharterConfidence {
62
+ purpose: AspectScore;
63
+ users: AspectScore;
64
+ success: AspectScore;
65
+ scope: AspectScore;
66
+ overall: number;
67
+ }
68
+ /**
69
+ * Confidence thresholds for decision-making
70
+ */
71
+ export declare const CONFIDENCE_THRESHOLDS: {
72
+ readonly CRITICAL: 40;
73
+ readonly WORKABLE: 70;
74
+ readonly EXCELLENT: 90;
75
+ };
76
+ /**
77
+ * Semantic version structure
78
+ */
79
+ export interface CharterVersion {
80
+ major: number;
81
+ minor: number;
82
+ patch: number;
83
+ }
84
+ /**
85
+ * Single changelog entry
86
+ */
87
+ export interface ChangelogEntry {
88
+ version: string;
89
+ date: string;
90
+ changes: string[];
91
+ participants: string[];
92
+ confidence?: number;
93
+ }
94
+ /**
95
+ * Complete project charter
96
+ */
97
+ export interface Charter {
98
+ id: string;
99
+ projectId: string;
100
+ status: CharterStatus;
101
+ workMode: WorkMode;
102
+ version: CharterVersion;
103
+ createdAt: Date;
104
+ updatedAt: Date;
105
+ content: CharterContent;
106
+ confidence: CharterConfidence;
107
+ changelog: ChangelogEntry[];
108
+ graphNodeId?: string;
109
+ embedding?: number[];
110
+ }
111
+ /**
112
+ * A single conversation exchange
113
+ */
114
+ export interface ConversationExchange {
115
+ question: string;
116
+ response: string;
117
+ timestamp: Date;
118
+ aspectsAddressed: CharterAspect[];
119
+ }
120
+ /**
121
+ * Work mode detection signals
122
+ */
123
+ export interface WorkModeSignals {
124
+ hackShip: number;
125
+ thinkBuild: number;
126
+ fullPlanning: number;
127
+ }
128
+ /**
129
+ * Full conversation context during charter creation
130
+ */
131
+ export interface ConversationContext {
132
+ exchanges: ConversationExchange[];
133
+ workModeSignals: WorkModeSignals;
134
+ tbdAspects: Set<CharterAspect>;
135
+ nudgeCount: number;
136
+ lastNudgeTime?: Date;
137
+ stopSignals: boolean;
138
+ }
139
+ /**
140
+ * Extracted content from conversation
141
+ */
142
+ export interface ExtractedContent {
143
+ problemStatements: string[];
144
+ valueStatements: string[];
145
+ userTypes: string[];
146
+ successCriteria: string[];
147
+ inScope: string[];
148
+ outOfScope: string[];
149
+ constraints: string[];
150
+ timeline: string[];
151
+ team: string[];
152
+ risks?: string[];
153
+ alternatives?: string[];
154
+ }
155
+ /**
156
+ * Question template for a specific aspect
157
+ */
158
+ export interface QuestionTemplate {
159
+ aspect: CharterAspect;
160
+ question: string;
161
+ followUps: string[];
162
+ keywords: string[];
163
+ weight: number;
164
+ }
165
+ /**
166
+ * Question selection context
167
+ */
168
+ export interface QuestionContext {
169
+ previousQuestions: string[];
170
+ aspectsCovered: Set<CharterAspect>;
171
+ responseDepth: 'shallow' | 'moderate' | 'deep';
172
+ userTone: 'urgent' | 'exploratory' | 'methodical';
173
+ }
174
+ /**
175
+ * File storage metadata
176
+ */
177
+ export interface FileStorageMetadata {
178
+ path: string;
179
+ exists: boolean;
180
+ lastModified?: Date;
181
+ size?: number;
182
+ }
183
+ /**
184
+ * Graph storage metadata
185
+ */
186
+ export interface GraphStorageMetadata {
187
+ nodeId?: string;
188
+ synced: boolean;
189
+ lastSyncedAt?: Date;
190
+ syncError?: string;
191
+ }
192
+ /**
193
+ * Complete storage status
194
+ */
195
+ export interface CharterStorageStatus {
196
+ file: FileStorageMetadata;
197
+ graph: GraphStorageMetadata;
198
+ inSync: boolean;
199
+ }
200
+ /**
201
+ * Storage operation result
202
+ */
203
+ export interface CharterStorageResult {
204
+ success: boolean;
205
+ charter?: Charter;
206
+ error?: string;
207
+ storageStatus: CharterStorageStatus;
208
+ }
209
+ /**
210
+ * Options for ginko charter command
211
+ */
212
+ export interface CharterOptions {
213
+ view?: boolean;
214
+ edit?: boolean;
215
+ mode?: WorkMode;
216
+ skipConversation?: boolean;
217
+ outputPath?: string;
218
+ }
219
+ /**
220
+ * Options for charter creation
221
+ */
222
+ export interface CharterCreateOptions {
223
+ workMode?: WorkMode;
224
+ skipGraphSync?: boolean;
225
+ customPath?: string;
226
+ }
227
+ /**
228
+ * Options for charter editing
229
+ */
230
+ export interface CharterEditOptions {
231
+ conversational?: boolean;
232
+ directEdit?: boolean;
233
+ aspectToEdit?: CharterAspect;
234
+ }
235
+ /**
236
+ * Charter preview summary
237
+ */
238
+ export interface CharterPreview {
239
+ title: string;
240
+ purpose: string;
241
+ keyPoints: string[];
242
+ confidence: number;
243
+ workMode: WorkMode;
244
+ }
245
+ /**
246
+ * Diff between two charter versions
247
+ */
248
+ export interface CharterDiff {
249
+ versionFrom: string;
250
+ versionTo: string;
251
+ additions: string[];
252
+ deletions: string[];
253
+ modifications: string[];
254
+ significantChange: boolean;
255
+ }
256
+ /**
257
+ * Charter validation result
258
+ */
259
+ export interface CharterValidation {
260
+ valid: boolean;
261
+ errors: string[];
262
+ warnings: string[];
263
+ suggestions: string[];
264
+ }
265
+ /**
266
+ * Validation rules
267
+ */
268
+ export interface ValidationRule {
269
+ name: string;
270
+ description: string;
271
+ check: (charter: Charter) => boolean;
272
+ severity: 'error' | 'warning' | 'info';
273
+ }
274
+ /**
275
+ * Default charter file path
276
+ */
277
+ export declare const DEFAULT_CHARTER_PATH = "docs/PROJECT-CHARTER.md";
278
+ /**
279
+ * Work mode characteristics
280
+ */
281
+ export declare const WORK_MODE_CHARACTERISTICS: {
282
+ readonly 'hack-ship': {
283
+ readonly name: "Hack & Ship";
284
+ readonly description: "Quick prototype, MVP, weekend project";
285
+ readonly conversationDepth: "light";
286
+ readonly targetTime: 5;
287
+ readonly requiredSections: readonly ["purpose", "scope"];
288
+ readonly keywords: readonly ["quick", "prototype", "MVP", "weekend", "validate"];
289
+ };
290
+ readonly 'think-build': {
291
+ readonly name: "Think & Build";
292
+ readonly description: "Team project with process and testing";
293
+ readonly conversationDepth: "standard";
294
+ readonly targetTime: 15;
295
+ readonly requiredSections: readonly ["purpose", "users", "success", "scope", "constraints"];
296
+ readonly keywords: readonly ["team", "process", "testing", "architecture"];
297
+ };
298
+ readonly 'full-planning': {
299
+ readonly name: "Full Planning";
300
+ readonly description: "Enterprise project with stakeholders and governance";
301
+ readonly conversationDepth: "comprehensive";
302
+ readonly targetTime: 30;
303
+ readonly requiredSections: readonly ["purpose", "users", "success", "scope", "constraints", "risks", "alternatives", "governance"];
304
+ readonly keywords: readonly ["stakeholders", "governance", "risks", "alternatives", "compliance"];
305
+ };
306
+ };
307
+ /**
308
+ * Check if value is a valid WorkMode
309
+ */
310
+ export declare function isWorkMode(value: any): value is WorkMode;
311
+ /**
312
+ * Check if value is a valid CharterStatus
313
+ */
314
+ export declare function isCharterStatus(value: any): value is CharterStatus;
315
+ /**
316
+ * Check if value is a valid CharterAspect
317
+ */
318
+ export declare function isCharterAspect(value: any): value is CharterAspect;
319
+ /**
320
+ * Partial charter for updates
321
+ */
322
+ export type CharterUpdate = Partial<Pick<Charter, 'content' | 'status' | 'workMode' | 'confidence'>>;
323
+ /**
324
+ * Charter summary for listings
325
+ */
326
+ export type CharterSummary = Pick<Charter, 'id' | 'status' | 'workMode' | 'version' | 'updatedAt'> & {
327
+ title: string;
328
+ confidenceOverall: number;
329
+ };
330
+ //# sourceMappingURL=charter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"charter.d.ts","sourceRoot":"","sources":["../../src/types/charter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * @fileType: model
3
+ * @status: current
4
+ * @updated: 2025-11-10
5
+ * @tags: [types, charter, project-charter, conversation, confidence-scoring]
6
+ * @related: [charter-storage.ts, conversation-facilitator.ts, charter-synthesizer.ts]
7
+ * @priority: high
8
+ * @complexity: medium
9
+ * @dependencies: []
10
+ */
11
+ /**
12
+ * Confidence thresholds for decision-making
13
+ */
14
+ export const CONFIDENCE_THRESHOLDS = {
15
+ CRITICAL: 40, // Below this needs gentle probing
16
+ WORKABLE: 70, // Above this is good enough to start
17
+ EXCELLENT: 90, // Very comprehensive
18
+ };
19
+ // ============================================================================
20
+ // Helper Functions & Constants
21
+ // ============================================================================
22
+ /**
23
+ * Default charter file path
24
+ */
25
+ export const DEFAULT_CHARTER_PATH = 'docs/PROJECT-CHARTER.md';
26
+ /**
27
+ * Work mode characteristics
28
+ */
29
+ export const WORK_MODE_CHARACTERISTICS = {
30
+ 'hack-ship': {
31
+ name: 'Hack & Ship',
32
+ description: 'Quick prototype, MVP, weekend project',
33
+ conversationDepth: 'light',
34
+ targetTime: 5, // minutes
35
+ requiredSections: ['purpose', 'scope'],
36
+ keywords: ['quick', 'prototype', 'MVP', 'weekend', 'validate'],
37
+ },
38
+ 'think-build': {
39
+ name: 'Think & Build',
40
+ description: 'Team project with process and testing',
41
+ conversationDepth: 'standard',
42
+ targetTime: 15, // minutes
43
+ requiredSections: ['purpose', 'users', 'success', 'scope', 'constraints'],
44
+ keywords: ['team', 'process', 'testing', 'architecture'],
45
+ },
46
+ 'full-planning': {
47
+ name: 'Full Planning',
48
+ description: 'Enterprise project with stakeholders and governance',
49
+ conversationDepth: 'comprehensive',
50
+ targetTime: 30, // minutes
51
+ requiredSections: ['purpose', 'users', 'success', 'scope', 'constraints', 'risks', 'alternatives', 'governance'],
52
+ keywords: ['stakeholders', 'governance', 'risks', 'alternatives', 'compliance'],
53
+ },
54
+ };
55
+ // ============================================================================
56
+ // Type Guards
57
+ // ============================================================================
58
+ /**
59
+ * Check if value is a valid WorkMode
60
+ */
61
+ export function isWorkMode(value) {
62
+ return ['hack-ship', 'think-build', 'full-planning'].includes(value);
63
+ }
64
+ /**
65
+ * Check if value is a valid CharterStatus
66
+ */
67
+ export function isCharterStatus(value) {
68
+ return ['draft', 'active', 'archived'].includes(value);
69
+ }
70
+ /**
71
+ * Check if value is a valid CharterAspect
72
+ */
73
+ export function isCharterAspect(value) {
74
+ return ['purpose', 'users', 'success', 'scope'].includes(value);
75
+ }
76
+ //# sourceMappingURL=charter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"charter.js","sourceRoot":"","sources":["../../src/types/charter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA+EH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,QAAQ,EAAE,EAAE,EAAI,kCAAkC;IAClD,QAAQ,EAAE,EAAE,EAAI,qCAAqC;IACrD,SAAS,EAAE,EAAE,EAAG,qBAAqB;CAC7B,CAAC;AAqQX,+EAA+E;AAC/E,+BAA+B;AAC/B,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,yBAAyB,CAAC;AAE9D;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,WAAW,EAAE;QACX,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,uCAAuC;QACpD,iBAAiB,EAAE,OAAO;QAC1B,UAAU,EAAE,CAAC,EAAE,UAAU;QACzB,gBAAgB,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;QACtC,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC;KAC/D;IACD,aAAa,EAAE;QACb,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,uCAAuC;QACpD,iBAAiB,EAAE,UAAU;QAC7B,UAAU,EAAE,EAAE,EAAE,UAAU;QAC1B,gBAAgB,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,CAAC;QACzE,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,CAAC;KACzD;IACD,eAAe,EAAE;QACf,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,qDAAqD;QAClE,iBAAiB,EAAE,eAAe;QAClC,UAAU,EAAE,EAAE,EAAE,UAAU;QAC1B,gBAAgB,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,CAAC;QAChH,QAAQ,EAAE,CAAC,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,CAAC;KAChF;CACO,CAAC;AAEX,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,KAAU;IACnC,OAAO,CAAC,WAAW,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAU;IACxC,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAU;IACxC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC"}