@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,283 @@
1
+ /**
2
+ * @fileType: utility
3
+ * @status: current
4
+ * @updated: 2025-11-10
5
+ * @tags: [charter, versioning, semantic-versioning, changelog]
6
+ * @related: [charter-storage.ts, charter.ts]
7
+ * @priority: high
8
+ * @complexity: medium
9
+ * @dependencies: []
10
+ */
11
+ // ============================================================================
12
+ // Version Utilities
13
+ // ============================================================================
14
+ /**
15
+ * Parse version string (e.g., "1.2.3") into CharterVersion
16
+ */
17
+ export function parseVersion(versionString) {
18
+ const parts = versionString.split('.').map(Number);
19
+ if (parts.length !== 3 || parts.some(isNaN)) {
20
+ throw new Error(`Invalid version format: ${versionString}`);
21
+ }
22
+ return {
23
+ major: parts[0],
24
+ minor: parts[1],
25
+ patch: parts[2],
26
+ };
27
+ }
28
+ /**
29
+ * Convert CharterVersion to string (e.g., "1.2.3")
30
+ */
31
+ export function versionToString(version) {
32
+ return `${version.major}.${version.minor}.${version.patch}`;
33
+ }
34
+ /**
35
+ * Create initial version (1.0.0)
36
+ */
37
+ export function createInitialVersion() {
38
+ return { major: 1, minor: 0, patch: 0 };
39
+ }
40
+ /**
41
+ * Bump version based on type
42
+ */
43
+ export function bumpVersion(current, bump) {
44
+ switch (bump) {
45
+ case 'major':
46
+ return { major: current.major + 1, minor: 0, patch: 0 };
47
+ case 'minor':
48
+ return { major: current.major, minor: current.minor + 1, patch: 0 };
49
+ case 'patch':
50
+ return { major: current.major, minor: current.minor, patch: current.patch + 1 };
51
+ }
52
+ }
53
+ // ============================================================================
54
+ // Change Detection
55
+ // ============================================================================
56
+ /**
57
+ * Detect appropriate version bump based on changes between charters
58
+ */
59
+ export function detectVersionBump(oldCharter, newCharter) {
60
+ // Major: Significant scope redefinition or work mode change
61
+ if (hasMajorChanges(oldCharter, newCharter)) {
62
+ return 'major';
63
+ }
64
+ // Minor: New details, refinements, additional sections
65
+ if (hasMinorChanges(oldCharter, newCharter)) {
66
+ return 'minor';
67
+ }
68
+ // Patch: Typo fixes, clarifications, minor wording changes
69
+ return 'patch';
70
+ }
71
+ /**
72
+ * Check for major changes (scope redefinition, work mode change)
73
+ */
74
+ function hasMajorChanges(oldCharter, newCharter) {
75
+ // Work mode change is major
76
+ if (oldCharter.workMode !== newCharter.workMode) {
77
+ return true;
78
+ }
79
+ // Significant scope change (50%+ of in-scope items changed)
80
+ const oldInScope = new Set(oldCharter.content.scope.inScope);
81
+ const newInScope = new Set(newCharter.content.scope.inScope);
82
+ const intersection = new Set([...oldInScope].filter(x => newInScope.has(x)));
83
+ const scopeChangePercent = 1 - (intersection.size / Math.max(oldInScope.size, 1));
84
+ if (scopeChangePercent > 0.5) {
85
+ return true;
86
+ }
87
+ // Purpose completely rewritten (>80% content change)
88
+ const oldPurpose = oldCharter.content.purpose;
89
+ const newPurpose = newCharter.content.purpose;
90
+ const similarity = calculateSimilarity(oldPurpose, newPurpose);
91
+ if (similarity < 0.2) {
92
+ return true;
93
+ }
94
+ return false;
95
+ }
96
+ /**
97
+ * Check for minor changes (new details, refinements)
98
+ */
99
+ function hasMinorChanges(oldCharter, newCharter) {
100
+ // New sections added
101
+ if ((!oldCharter.content.risks && newCharter.content.risks) ||
102
+ (!oldCharter.content.alternatives && newCharter.content.alternatives) ||
103
+ (!oldCharter.content.governance && newCharter.content.governance)) {
104
+ return true;
105
+ }
106
+ // New success criteria added
107
+ if (newCharter.content.successCriteria.length > oldCharter.content.successCriteria.length) {
108
+ return true;
109
+ }
110
+ // Significant TBD items resolved
111
+ const oldTbdCount = oldCharter.content.scope.tbd.length;
112
+ const newTbdCount = newCharter.content.scope.tbd.length;
113
+ if (oldTbdCount > 0 && newTbdCount < oldTbdCount - 2) {
114
+ return true;
115
+ }
116
+ return false;
117
+ }
118
+ /**
119
+ * Calculate text similarity (simple Jaccard similarity on words)
120
+ */
121
+ function calculateSimilarity(text1, text2) {
122
+ const words1 = new Set(text1.toLowerCase().split(/\s+/));
123
+ const words2 = new Set(text2.toLowerCase().split(/\s+/));
124
+ const intersection = new Set([...words1].filter(x => words2.has(x)));
125
+ const union = new Set([...words1, ...words2]);
126
+ return intersection.size / union.size;
127
+ }
128
+ // ============================================================================
129
+ // Change Summarization
130
+ // ============================================================================
131
+ /**
132
+ * Generate list of changes between two charters
133
+ */
134
+ export function generateChangeList(oldCharter, newCharter) {
135
+ const changes = [];
136
+ // Work mode change
137
+ if (oldCharter.workMode !== newCharter.workMode) {
138
+ changes.push(`Changed work mode from ${oldCharter.workMode} to ${newCharter.workMode}`);
139
+ }
140
+ // Purpose changes
141
+ if (oldCharter.content.purpose !== newCharter.content.purpose) {
142
+ changes.push('Updated purpose statement');
143
+ }
144
+ // Users changes
145
+ if (JSON.stringify(oldCharter.content.users) !== JSON.stringify(newCharter.content.users)) {
146
+ changes.push('Updated user personas');
147
+ }
148
+ // Success criteria changes
149
+ const oldCriteria = oldCharter.content.successCriteria.length;
150
+ const newCriteria = newCharter.content.successCriteria.length;
151
+ if (newCriteria > oldCriteria) {
152
+ changes.push(`Added ${newCriteria - oldCriteria} success criteria`);
153
+ }
154
+ else if (newCriteria < oldCriteria) {
155
+ changes.push(`Removed ${oldCriteria - newCriteria} success criteria`);
156
+ }
157
+ // Scope changes
158
+ const scopeChanges = detectScopeChanges(oldCharter.content.scope, newCharter.content.scope);
159
+ changes.push(...scopeChanges);
160
+ // New optional sections
161
+ if (!oldCharter.content.risks && newCharter.content.risks) {
162
+ changes.push('Added risks section');
163
+ }
164
+ if (!oldCharter.content.alternatives && newCharter.content.alternatives) {
165
+ changes.push('Added alternatives section');
166
+ }
167
+ if (!oldCharter.content.governance && newCharter.content.governance) {
168
+ changes.push('Added governance section');
169
+ }
170
+ // Confidence changes
171
+ const oldConfidence = oldCharter.confidence.overall;
172
+ const newConfidence = newCharter.confidence.overall;
173
+ const confidenceDelta = newConfidence - oldConfidence;
174
+ if (Math.abs(confidenceDelta) >= 5) {
175
+ changes.push(`Confidence ${confidenceDelta > 0 ? 'increased' : 'decreased'} to ${newConfidence}%`);
176
+ }
177
+ return changes;
178
+ }
179
+ /**
180
+ * Detect scope changes
181
+ */
182
+ function detectScopeChanges(oldScope, newScope) {
183
+ const changes = [];
184
+ // In-scope additions/removals
185
+ const oldInScope = new Set(oldScope.inScope);
186
+ const newInScope = new Set(newScope.inScope);
187
+ const addedInScope = [...newInScope].filter(x => !oldInScope.has(x));
188
+ const removedInScope = [...oldInScope].filter(x => !newInScope.has(x));
189
+ if (addedInScope.length > 0) {
190
+ changes.push(`Added ${addedInScope.length} items to scope`);
191
+ }
192
+ if (removedInScope.length > 0) {
193
+ changes.push(`Removed ${removedInScope.length} items from scope`);
194
+ }
195
+ // Out-of-scope changes
196
+ const oldOutOfScope = oldScope.outOfScope.length;
197
+ const newOutOfScope = newScope.outOfScope.length;
198
+ if (newOutOfScope > oldOutOfScope) {
199
+ changes.push(`Clarified ${newOutOfScope - oldOutOfScope} out-of-scope boundaries`);
200
+ }
201
+ // TBD resolution
202
+ const oldTbd = oldScope.tbd.length;
203
+ const newTbd = newScope.tbd.length;
204
+ if (newTbd < oldTbd) {
205
+ changes.push(`Resolved ${oldTbd - newTbd} TBD items`);
206
+ }
207
+ return changes;
208
+ }
209
+ // ============================================================================
210
+ // Changelog Generation
211
+ // ============================================================================
212
+ /**
213
+ * Create initial changelog entry for new charter
214
+ */
215
+ export function createInitialChangelog(charter, participants) {
216
+ return {
217
+ version: versionToString(charter.version),
218
+ date: new Date().toISOString().split('T')[0],
219
+ changes: [
220
+ 'Created from conversation during ginko init',
221
+ `Work mode: ${charter.workMode}`,
222
+ `Confidence: ${charter.confidence.overall}%`,
223
+ ],
224
+ participants,
225
+ confidence: charter.confidence.overall,
226
+ };
227
+ }
228
+ /**
229
+ * Create changelog entry for charter update
230
+ */
231
+ export function createUpdateChangelog(oldCharter, newCharter, participants) {
232
+ const changes = generateChangeList(oldCharter, newCharter);
233
+ return {
234
+ version: versionToString(newCharter.version),
235
+ date: new Date().toISOString().split('T')[0],
236
+ changes,
237
+ participants,
238
+ confidence: newCharter.confidence.overall,
239
+ };
240
+ }
241
+ /**
242
+ * Format changelog for markdown display
243
+ */
244
+ export function formatChangelogForMarkdown(changelog) {
245
+ const lines = ['## Changelog', ''];
246
+ lines.push('All changes to this charter are tracked here for transparency.');
247
+ lines.push('');
248
+ for (const entry of changelog) {
249
+ lines.push(`### v${entry.version} - ${entry.date}`);
250
+ for (const change of entry.changes) {
251
+ lines.push(`- ${change}`);
252
+ }
253
+ if (entry.participants.length > 0) {
254
+ lines.push(`- Participants: ${entry.participants.join(', ')}`);
255
+ }
256
+ if (entry.confidence !== undefined) {
257
+ lines.push(`- Confidence: ${entry.confidence}%`);
258
+ }
259
+ lines.push('');
260
+ }
261
+ return lines.join('\n');
262
+ }
263
+ // ============================================================================
264
+ // Version Comparison
265
+ // ============================================================================
266
+ /**
267
+ * Compare two versions
268
+ * Returns: -1 if v1 < v2, 0 if equal, 1 if v1 > v2
269
+ */
270
+ export function compareVersions(v1, v2) {
271
+ if (v1.major !== v2.major)
272
+ return v1.major - v2.major;
273
+ if (v1.minor !== v2.minor)
274
+ return v1.minor - v2.minor;
275
+ return v1.patch - v2.patch;
276
+ }
277
+ /**
278
+ * Check if version is newer than another
279
+ */
280
+ export function isNewerVersion(v1, v2) {
281
+ return compareVersions(v1, v2) > 0;
282
+ }
283
+ //# sourceMappingURL=charter-versioning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"charter-versioning.js","sourceRoot":"","sources":["../../../src/lib/charter/charter-versioning.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,263 @@
1
+ /**
2
+ * @fileType: utility
3
+ * @status: specification
4
+ * @updated: 2025-11-10
5
+ * @tags: [charter, confidence-scoring, conversation-quality, design-spec]
6
+ * @related: [conversation-facilitator.ts, charter-synthesizer.ts]
7
+ * @priority: critical
8
+ * @complexity: high
9
+ * @dependencies: []
10
+ */
11
+ /**
12
+ * Confidence Scoring Specification for Charter Conversations
13
+ *
14
+ * This module defines the algorithm for assessing how well each charter aspect
15
+ * is understood during conversational charter creation. It tracks confidence
16
+ * across four critical aspects (purpose, users, success, scope) and determines
17
+ * when additional probing is needed versus when to accept TBD.
18
+ *
19
+ * Philosophy:
20
+ * - Confidence scoring guides conversation depth, not bureaucratic completeness
21
+ * - Low confidence triggers gentle probing (max 1 per aspect, 3 total)
22
+ * - TBD is acceptable when user doesn't have clarity yet
23
+ * - Scoring is transparent and shown to user
24
+ */
25
+ /**
26
+ * Overall confidence assessment for charter
27
+ */
28
+ export interface CharterConfidence {
29
+ purpose: AspectScore;
30
+ users: AspectScore;
31
+ success: AspectScore;
32
+ scope: AspectScore;
33
+ overall: number;
34
+ workMode?: WorkMode;
35
+ qualityLevel: ConfidenceLevel;
36
+ }
37
+ /**
38
+ * Confidence score for a specific charter aspect
39
+ */
40
+ export interface AspectScore {
41
+ score: number;
42
+ signals: string[];
43
+ missing: string[];
44
+ needsProbing: boolean;
45
+ markedTBD: boolean;
46
+ }
47
+ /**
48
+ * High-level confidence indicator
49
+ */
50
+ export type ConfidenceLevel = 'insufficient' | 'workable' | 'good' | 'excellent';
51
+ /**
52
+ * Detected work mode from conversation signals
53
+ */
54
+ export type WorkMode = 'hack-ship' | 'think-build' | 'full-planning';
55
+ /**
56
+ * Conversation context passed to scorer
57
+ */
58
+ export interface ConversationContext {
59
+ exchanges: Exchange[];
60
+ workModeSignals: WorkModeSignals;
61
+ nudgeHistory: NudgeRecord[];
62
+ userStopSignals: string[];
63
+ }
64
+ export interface Exchange {
65
+ question: string;
66
+ answer: string;
67
+ timestamp: Date;
68
+ aspect?: CharterAspect;
69
+ }
70
+ export interface WorkModeSignals {
71
+ hackShip: number;
72
+ thinkBuild: number;
73
+ fullPlanning: number;
74
+ }
75
+ export interface NudgeRecord {
76
+ aspect: CharterAspect;
77
+ timestamp: Date;
78
+ response: 'clarified' | 'stayed-vague' | 'declined' | 'frustrated';
79
+ }
80
+ export type CharterAspect = 'purpose' | 'users' | 'success' | 'scope';
81
+ /**
82
+ * Keyword patterns for detecting understanding in each aspect
83
+ */
84
+ export declare const SIGNAL_PATTERNS: {
85
+ readonly purpose: {
86
+ readonly problem: readonly ["problem", "pain", "frustration", "challenge", "issue", "difficulty", "bottleneck", "blocker", "friction"];
87
+ readonly value: readonly ["value", "benefit", "impact", "improve", "save", "enable", "unlock", "empower", "efficiency"];
88
+ readonly motivation: readonly ["because", "why", "need", "want", "goal", "vision", "mission", "opportunity"];
89
+ readonly urgency: readonly ["now", "urgent", "critical", "blocking", "immediately", "asap"];
90
+ };
91
+ readonly users: {
92
+ readonly userTypes: readonly ["users", "developers", "team", "engineers", "designers", "customers", "clients", "people", "myself", "we", "they"];
93
+ readonly needs: readonly ["needs", "wants", "requires", "looking for", "expects", "jobs to be done", "use cases"];
94
+ readonly outcomes: readonly ["achieve", "accomplish", "complete", "finish", "succeed", "get", "make", "do"];
95
+ };
96
+ readonly success: {
97
+ readonly qualitative: readonly ["happy", "satisfied", "delighted", "easy", "fast", "simple", "intuitive", "reliable", "quality"];
98
+ readonly quantitative: readonly ["time", "minutes", "hours", "seconds", "faster", "reduce", "increase", "percent", "number", "count", "metric"];
99
+ readonly outcomes: readonly ["results in", "leads to", "enables", "allows", "means", "demonstrates", "proves"];
100
+ };
101
+ readonly scope: {
102
+ readonly inScope: readonly ["includes", "covers", "handles", "supports", "provides", "features", "capabilities", "building", "creating", "implementing"];
103
+ readonly outOfScope: readonly ["not", "excluding", "skip", "defer", "later", "phase 2", "future", "won't", "don't"];
104
+ readonly boundaries: readonly ["only", "just", "limited to", "focused on", "specifically", "explicitly", "solely"];
105
+ };
106
+ };
107
+ /**
108
+ * Work mode detection patterns
109
+ */
110
+ export declare const WORK_MODE_SIGNALS: {
111
+ readonly hackShip: readonly ["quick", "prototype", "mvp", "proof of concept", "poc", "weekend", "hackathon", "experiment", "validate", "test", "ship", "launch", "try", "explore"];
112
+ readonly thinkBuild: readonly ["team", "process", "testing", "architecture", "maintainable", "scalable", "quality", "users", "feedback", "iteration", "production", "release"];
113
+ readonly fullPlanning: readonly ["stakeholders", "governance", "approval", "risks", "mitigations", "alternatives", "enterprise", "compliance", "security", "roadmap", "quarters", "phases", "strategy"];
114
+ };
115
+ /**
116
+ * User stop signals (wants to conclude conversation)
117
+ */
118
+ export declare const STOP_SIGNALS: readonly ["that's enough", "let's move on", "good enough", "skip", "skip this", "not sure", "don't know", "can we continue", "let's just start", "i'll figure it out"];
119
+ /**
120
+ * Core confidence scorer class
121
+ */
122
+ export declare class ConfidenceScorer {
123
+ private context;
124
+ private scores;
125
+ constructor(context: ConversationContext);
126
+ /**
127
+ * Initialize confidence scores with zero state
128
+ */
129
+ private initializeScores;
130
+ private createEmptyScore;
131
+ /**
132
+ * Update all confidence scores based on current conversation context
133
+ */
134
+ update(): CharterConfidence;
135
+ /**
136
+ * Get current confidence scores
137
+ */
138
+ getScores(): CharterConfidence;
139
+ /**
140
+ * Score purpose & value understanding
141
+ *
142
+ * Signals:
143
+ * - Problem statement mentioned
144
+ * - Business value articulated
145
+ * - Motivation clear
146
+ * - Urgency/timing indicated
147
+ *
148
+ * Scoring:
149
+ * - 0-20: No clear problem or value
150
+ * - 20-40: Problem mentioned, value implied
151
+ * - 40-60: Problem clear, value mentioned
152
+ * - 60-80: Problem, value, and motivation all clear
153
+ * - 80-100: Comprehensive with urgency and impact
154
+ */
155
+ private scorePurpose;
156
+ /**
157
+ * Score user & persona understanding
158
+ *
159
+ * Signals:
160
+ * - User types identified
161
+ * - User needs described
162
+ * - User outcomes mentioned
163
+ *
164
+ * Scoring:
165
+ * - 0-20: No user identification
166
+ * - 20-40: Vague user mention ("users", "people")
167
+ * - 40-60: Specific user type identified
168
+ * - 60-80: User type + needs described
169
+ * - 80-100: Multiple users with clear needs and outcomes
170
+ */
171
+ private scoreUsers;
172
+ /**
173
+ * Score success criteria understanding
174
+ *
175
+ * Signals:
176
+ * - Qualitative criteria mentioned
177
+ * - Quantitative criteria mentioned
178
+ * - User outcomes described
179
+ *
180
+ * Scoring:
181
+ * - 0-20: No success criteria
182
+ * - 20-40: Vague success mention
183
+ * - 40-60: Qualitative criteria clear
184
+ * - 60-80: Both qualitative and quantitative
185
+ * - 80-100: Comprehensive with timeframes and user outcomes
186
+ */
187
+ private scoreSuccess;
188
+ /**
189
+ * Score scope & boundaries understanding
190
+ *
191
+ * Signals:
192
+ * - In-scope features mentioned
193
+ * - Out-of-scope explicitly stated
194
+ * - Boundaries clear
195
+ *
196
+ * Scoring:
197
+ * - 0-20: No scope definition
198
+ * - 20-40: Vague scope mention
199
+ * - 40-60: In-scope features clear
200
+ * - 60-80: In-scope + some out-of-scope
201
+ * - 80-100: Both in/out scope with clear boundaries
202
+ */
203
+ private scoreScope;
204
+ /**
205
+ * Calculate overall confidence as weighted average
206
+ *
207
+ * Weights:
208
+ * - Purpose: 30% (most critical)
209
+ * - Scope: 25% (prevents drift)
210
+ * - Success: 25% (measurability)
211
+ * - Users: 20% (important but can be inferred)
212
+ */
213
+ private calculateOverall;
214
+ /**
215
+ * Determine quality level from overall score
216
+ */
217
+ private determineQualityLevel;
218
+ /**
219
+ * Detect work mode from conversation signals
220
+ */
221
+ private detectWorkMode;
222
+ /**
223
+ * Check if conversation needs more depth for critical aspects
224
+ */
225
+ needsAdditionalProbing(): boolean;
226
+ /**
227
+ * Get the aspect that most needs probing
228
+ */
229
+ getMostUnclearAspect(): CharterAspect | null;
230
+ /**
231
+ * Check if ready to synthesize charter
232
+ */
233
+ isReadyToSynthesize(): boolean;
234
+ private allCriticalAspectsCovered;
235
+ private hasUserStopSignals;
236
+ private maxNudgesReached;
237
+ /**
238
+ * Get all answers for a specific aspect
239
+ */
240
+ private getAnswersForAspect;
241
+ /**
242
+ * Get all conversation text (questions + answers)
243
+ */
244
+ private getAllConversationText;
245
+ /**
246
+ * Detect signal keywords in text
247
+ */
248
+ private detectSignals;
249
+ /**
250
+ * Check if aspect has been marked TBD by user
251
+ */
252
+ private isMarkedTBD;
253
+ /**
254
+ * Check if aspect has already been nudged
255
+ */
256
+ private hasBeenNudged;
257
+ /**
258
+ * Get human-readable confidence summary
259
+ */
260
+ getConfidenceSummary(): string;
261
+ }
262
+ export default ConfidenceScorer;
263
+ //# sourceMappingURL=confidence-scorer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confidence-scorer.d.ts","sourceRoot":"","sources":["../../../src/lib/charter/confidence-scorer.ts"],"names":[],"mappings":"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"}