@boshu2/vibe-check 1.8.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (371) hide show
  1. package/.claude/settings.local.json +1 -1
  2. package/CHANGELOG.md +10 -0
  3. package/Makefile +4 -4
  4. package/bin/vibe-check.js +1 -1
  5. package/claude-progress.json +18 -0
  6. package/dist/analysis/cross-session-analysis.d.ts +1 -1
  7. package/dist/analysis/cross-session-analysis.d.ts.map +1 -1
  8. package/dist/analysis/cross-session-analysis.js +9 -18
  9. package/dist/analysis/cross-session-analysis.js.map +1 -1
  10. package/dist/analysis/index.d.ts +1 -1
  11. package/dist/analysis/index.d.ts.map +1 -1
  12. package/dist/analysis/index.js +1 -11
  13. package/dist/analysis/index.js.map +1 -1
  14. package/dist/analyzers/audit.d.ts +28 -0
  15. package/dist/analyzers/audit.d.ts.map +1 -0
  16. package/dist/analyzers/audit.js +86 -0
  17. package/dist/analyzers/audit.js.map +1 -0
  18. package/dist/analyzers/patterns.d.ts +1 -1
  19. package/dist/analyzers/patterns.d.ts.map +1 -1
  20. package/dist/analyzers/patterns.js +4 -10
  21. package/dist/analyzers/patterns.js.map +1 -1
  22. package/dist/analyzers/quality.d.ts +1 -1
  23. package/dist/analyzers/quality.d.ts.map +1 -1
  24. package/dist/analyzers/quality.js +5 -12
  25. package/dist/analyzers/quality.js.map +1 -1
  26. package/dist/analyzers/sessions.d.ts +1 -1
  27. package/dist/analyzers/sessions.d.ts.map +1 -1
  28. package/dist/analyzers/sessions.js +1 -4
  29. package/dist/analyzers/sessions.js.map +1 -1
  30. package/dist/cli.js +20 -20
  31. package/dist/cli.js.map +1 -1
  32. package/dist/commands/analyze.d.ts.map +1 -1
  33. package/dist/commands/analyze.js +114 -149
  34. package/dist/commands/analyze.js.map +1 -1
  35. package/dist/commands/audit.d.ts +3 -0
  36. package/dist/commands/audit.d.ts.map +1 -0
  37. package/dist/commands/audit.js +77 -0
  38. package/dist/commands/audit.js.map +1 -0
  39. package/dist/commands/cache.js +31 -70
  40. package/dist/commands/cache.js.map +1 -1
  41. package/dist/commands/dashboard.d.ts.map +1 -1
  42. package/dist/commands/dashboard.js +22 -58
  43. package/dist/commands/dashboard.js.map +1 -1
  44. package/dist/commands/forensics.d.ts +2 -2
  45. package/dist/commands/forensics.d.ts.map +1 -1
  46. package/dist/commands/forensics.js +41 -48
  47. package/dist/commands/forensics.js.map +1 -1
  48. package/dist/commands/index.d.ts +14 -13
  49. package/dist/commands/index.d.ts.map +1 -1
  50. package/dist/commands/index.js +14 -33
  51. package/dist/commands/index.js.map +1 -1
  52. package/dist/commands/init-hook.js +26 -32
  53. package/dist/commands/init-hook.js.map +1 -1
  54. package/dist/commands/insights.js +39 -45
  55. package/dist/commands/insights.js.map +1 -1
  56. package/dist/commands/pipeline.js +39 -78
  57. package/dist/commands/pipeline.js.map +1 -1
  58. package/dist/commands/profile.js +68 -74
  59. package/dist/commands/profile.js.map +1 -1
  60. package/dist/commands/session.js +88 -129
  61. package/dist/commands/session.js.map +1 -1
  62. package/dist/commands/sessions.d.ts +1 -1
  63. package/dist/commands/sessions.d.ts.map +1 -1
  64. package/dist/commands/sessions.js +42 -49
  65. package/dist/commands/sessions.js.map +1 -1
  66. package/dist/commands/start.js +22 -67
  67. package/dist/commands/start.js.map +1 -1
  68. package/dist/commands/timeline.js +74 -81
  69. package/dist/commands/timeline.js.map +1 -1
  70. package/dist/commands/watch.js +54 -60
  71. package/dist/commands/watch.js.map +1 -1
  72. package/dist/gamification/achievements.d.ts +1 -1
  73. package/dist/gamification/achievements.d.ts.map +1 -1
  74. package/dist/gamification/achievements.js +7 -13
  75. package/dist/gamification/achievements.js.map +1 -1
  76. package/dist/gamification/index.d.ts +8 -8
  77. package/dist/gamification/index.d.ts.map +1 -1
  78. package/dist/gamification/index.js +8 -28
  79. package/dist/gamification/index.js.map +1 -1
  80. package/dist/gamification/profile.d.ts +2 -2
  81. package/dist/gamification/profile.d.ts.map +1 -1
  82. package/dist/gamification/profile.js +21 -64
  83. package/dist/gamification/profile.js.map +1 -1
  84. package/dist/gamification/stats.d.ts +1 -1
  85. package/dist/gamification/stats.d.ts.map +1 -1
  86. package/dist/gamification/stats.js +4 -10
  87. package/dist/gamification/stats.js.map +1 -1
  88. package/dist/gamification/streaks.d.ts +1 -1
  89. package/dist/gamification/streaks.d.ts.map +1 -1
  90. package/dist/gamification/streaks.js +8 -18
  91. package/dist/gamification/streaks.js.map +1 -1
  92. package/dist/gamification/types.js +3 -6
  93. package/dist/gamification/types.js.map +1 -1
  94. package/dist/gamification/xp.d.ts +1 -1
  95. package/dist/gamification/xp.d.ts.map +1 -1
  96. package/dist/gamification/xp.js +29 -38
  97. package/dist/gamification/xp.js.map +1 -1
  98. package/dist/git.d.ts +1 -1
  99. package/dist/git.d.ts.map +1 -1
  100. package/dist/git.js +15 -27
  101. package/dist/git.js.map +1 -1
  102. package/dist/inner-loop/context-amnesia.d.ts +2 -2
  103. package/dist/inner-loop/context-amnesia.d.ts.map +1 -1
  104. package/dist/inner-loop/context-amnesia.js +7 -10
  105. package/dist/inner-loop/context-amnesia.js.map +1 -1
  106. package/dist/inner-loop/index.d.ts +7 -7
  107. package/dist/inner-loop/index.d.ts.map +1 -1
  108. package/dist/inner-loop/index.js +18 -45
  109. package/dist/inner-loop/index.js.map +1 -1
  110. package/dist/inner-loop/instruction-drift.d.ts +2 -2
  111. package/dist/inner-loop/instruction-drift.d.ts.map +1 -1
  112. package/dist/inner-loop/instruction-drift.js +5 -10
  113. package/dist/inner-loop/instruction-drift.js.map +1 -1
  114. package/dist/inner-loop/logging-only.d.ts +2 -2
  115. package/dist/inner-loop/logging-only.d.ts.map +1 -1
  116. package/dist/inner-loop/logging-only.js +9 -17
  117. package/dist/inner-loop/logging-only.js.map +1 -1
  118. package/dist/inner-loop/tests-passing-lie.d.ts +2 -2
  119. package/dist/inner-loop/tests-passing-lie.d.ts.map +1 -1
  120. package/dist/inner-loop/tests-passing-lie.js +12 -17
  121. package/dist/inner-loop/tests-passing-lie.js.map +1 -1
  122. package/dist/inner-loop/types.js +1 -4
  123. package/dist/inner-loop/types.js.map +1 -1
  124. package/dist/insights/generators.d.ts +4 -4
  125. package/dist/insights/generators.d.ts.map +1 -1
  126. package/dist/insights/generators.js +9 -20
  127. package/dist/insights/generators.js.map +1 -1
  128. package/dist/insights/index.d.ts +4 -4
  129. package/dist/insights/index.d.ts.map +1 -1
  130. package/dist/insights/index.js +23 -27
  131. package/dist/insights/index.js.map +1 -1
  132. package/dist/insights/types.js +1 -2
  133. package/dist/insights/types.js.map +1 -1
  134. package/dist/metrics/code-stability.d.ts +1 -1
  135. package/dist/metrics/code-stability.d.ts.map +1 -1
  136. package/dist/metrics/code-stability.js +1 -4
  137. package/dist/metrics/code-stability.js.map +1 -1
  138. package/dist/metrics/file-churn.d.ts +1 -1
  139. package/dist/metrics/file-churn.d.ts.map +1 -1
  140. package/dist/metrics/file-churn.js +1 -4
  141. package/dist/metrics/file-churn.js.map +1 -1
  142. package/dist/metrics/flow.d.ts +1 -1
  143. package/dist/metrics/flow.d.ts.map +1 -1
  144. package/dist/metrics/flow.js +1 -4
  145. package/dist/metrics/flow.js.map +1 -1
  146. package/dist/metrics/index.d.ts +2 -2
  147. package/dist/metrics/index.d.ts.map +1 -1
  148. package/dist/metrics/index.js +15 -20
  149. package/dist/metrics/index.js.map +1 -1
  150. package/dist/metrics/rework.d.ts +1 -1
  151. package/dist/metrics/rework.d.ts.map +1 -1
  152. package/dist/metrics/rework.js +1 -4
  153. package/dist/metrics/rework.js.map +1 -1
  154. package/dist/metrics/spirals.d.ts +1 -1
  155. package/dist/metrics/spirals.d.ts.map +1 -1
  156. package/dist/metrics/spirals.js +5 -10
  157. package/dist/metrics/spirals.js.map +1 -1
  158. package/dist/metrics/time-spiral.d.ts +1 -1
  159. package/dist/metrics/time-spiral.d.ts.map +1 -1
  160. package/dist/metrics/time-spiral.js +1 -4
  161. package/dist/metrics/time-spiral.js.map +1 -1
  162. package/dist/metrics/trust.d.ts +1 -1
  163. package/dist/metrics/trust.d.ts.map +1 -1
  164. package/dist/metrics/trust.js +3 -6
  165. package/dist/metrics/trust.js.map +1 -1
  166. package/dist/metrics/velocity-anomaly.d.ts +1 -1
  167. package/dist/metrics/velocity-anomaly.d.ts.map +1 -1
  168. package/dist/metrics/velocity-anomaly.js +3 -6
  169. package/dist/metrics/velocity-anomaly.js.map +1 -1
  170. package/dist/metrics/velocity.d.ts +1 -1
  171. package/dist/metrics/velocity.d.ts.map +1 -1
  172. package/dist/metrics/velocity.js +6 -10
  173. package/dist/metrics/velocity.js.map +1 -1
  174. package/dist/output/index.d.ts +4 -4
  175. package/dist/output/index.d.ts.map +1 -1
  176. package/dist/output/index.js +10 -18
  177. package/dist/output/index.js.map +1 -1
  178. package/dist/output/json.d.ts +1 -1
  179. package/dist/output/json.d.ts.map +1 -1
  180. package/dist/output/json.js +1 -4
  181. package/dist/output/json.js.map +1 -1
  182. package/dist/output/markdown.d.ts +1 -1
  183. package/dist/output/markdown.d.ts.map +1 -1
  184. package/dist/output/markdown.js +5 -8
  185. package/dist/output/markdown.js.map +1 -1
  186. package/dist/output/terminal.d.ts +1 -1
  187. package/dist/output/terminal.d.ts.map +1 -1
  188. package/dist/output/terminal.js +55 -62
  189. package/dist/output/terminal.js.map +1 -1
  190. package/dist/output/timeline-html.d.ts +1 -1
  191. package/dist/output/timeline-html.d.ts.map +1 -1
  192. package/dist/output/timeline-html.js +5 -8
  193. package/dist/output/timeline-html.js.map +1 -1
  194. package/dist/output/timeline-markdown.d.ts +1 -1
  195. package/dist/output/timeline-markdown.d.ts.map +1 -1
  196. package/dist/output/timeline-markdown.js +5 -8
  197. package/dist/output/timeline-markdown.js.map +1 -1
  198. package/dist/output/timeline.d.ts +1 -1
  199. package/dist/output/timeline.d.ts.map +1 -1
  200. package/dist/output/timeline.js +46 -52
  201. package/dist/output/timeline.js.map +1 -1
  202. package/dist/patterns/detour.d.ts +1 -1
  203. package/dist/patterns/detour.d.ts.map +1 -1
  204. package/dist/patterns/detour.js +1 -4
  205. package/dist/patterns/detour.js.map +1 -1
  206. package/dist/patterns/flow-state.d.ts +1 -1
  207. package/dist/patterns/flow-state.d.ts.map +1 -1
  208. package/dist/patterns/flow-state.js +1 -4
  209. package/dist/patterns/flow-state.js.map +1 -1
  210. package/dist/patterns/index.d.ts +7 -7
  211. package/dist/patterns/index.d.ts.map +1 -1
  212. package/dist/patterns/index.js +7 -21
  213. package/dist/patterns/index.js.map +1 -1
  214. package/dist/patterns/intervention-effectiveness.d.ts +1 -1
  215. package/dist/patterns/intervention-effectiveness.d.ts.map +1 -1
  216. package/dist/patterns/intervention-effectiveness.js +3 -8
  217. package/dist/patterns/intervention-effectiveness.js.map +1 -1
  218. package/dist/patterns/late-night.d.ts +1 -1
  219. package/dist/patterns/late-night.d.ts.map +1 -1
  220. package/dist/patterns/late-night.js +1 -4
  221. package/dist/patterns/late-night.js.map +1 -1
  222. package/dist/patterns/post-delete-sprint.d.ts +1 -1
  223. package/dist/patterns/post-delete-sprint.d.ts.map +1 -1
  224. package/dist/patterns/post-delete-sprint.js +1 -4
  225. package/dist/patterns/post-delete-sprint.js.map +1 -1
  226. package/dist/patterns/spiral-regression.d.ts +1 -1
  227. package/dist/patterns/spiral-regression.d.ts.map +1 -1
  228. package/dist/patterns/spiral-regression.js +3 -8
  229. package/dist/patterns/spiral-regression.js.map +1 -1
  230. package/dist/patterns/thrashing.d.ts +1 -1
  231. package/dist/patterns/thrashing.d.ts.map +1 -1
  232. package/dist/patterns/thrashing.js +3 -6
  233. package/dist/patterns/thrashing.js.map +1 -1
  234. package/dist/score/index.d.ts +3 -3
  235. package/dist/score/index.d.ts.map +1 -1
  236. package/dist/score/index.js +4 -10
  237. package/dist/score/index.js.map +1 -1
  238. package/dist/score/weights.js +2 -6
  239. package/dist/score/weights.js.map +1 -1
  240. package/dist/sessions/index.js +9 -51
  241. package/dist/sessions/index.js.map +1 -1
  242. package/dist/storage/atomic.js +10 -51
  243. package/dist/storage/atomic.js.map +1 -1
  244. package/dist/storage/commit-log.d.ts +1 -1
  245. package/dist/storage/commit-log.d.ts.map +1 -1
  246. package/dist/storage/commit-log.js +11 -51
  247. package/dist/storage/commit-log.js.map +1 -1
  248. package/dist/storage/index.d.ts +5 -5
  249. package/dist/storage/index.d.ts.map +1 -1
  250. package/dist/storage/index.js +5 -37
  251. package/dist/storage/index.js.map +1 -1
  252. package/dist/storage/schema.js +4 -9
  253. package/dist/storage/schema.js.map +1 -1
  254. package/dist/storage/spiral-history.js +14 -57
  255. package/dist/storage/spiral-history.js.map +1 -1
  256. package/dist/storage/timeline-store.d.ts +2 -2
  257. package/dist/storage/timeline-store.d.ts.map +1 -1
  258. package/dist/storage/timeline-store.js +17 -61
  259. package/dist/storage/timeline-store.js.map +1 -1
  260. package/dist/types.js +1 -2
  261. package/docs/ENHANCEMENT-PLAN.md +361 -0
  262. package/feature-list.json +6 -0
  263. package/package.json +8 -7
  264. package/dist/calibration/ece.d.ts +0 -26
  265. package/dist/calibration/ece.d.ts.map +0 -1
  266. package/dist/calibration/ece.js +0 -93
  267. package/dist/calibration/ece.js.map +0 -1
  268. package/dist/calibration/index.d.ts +0 -3
  269. package/dist/calibration/index.d.ts.map +0 -1
  270. package/dist/calibration/index.js +0 -15
  271. package/dist/calibration/index.js.map +0 -1
  272. package/dist/calibration/storage.d.ts +0 -34
  273. package/dist/calibration/storage.d.ts.map +0 -1
  274. package/dist/calibration/storage.js +0 -188
  275. package/dist/calibration/storage.js.map +0 -1
  276. package/dist/commands/intervene.d.ts +0 -15
  277. package/dist/commands/intervene.d.ts.map +0 -1
  278. package/dist/commands/intervene.js +0 -183
  279. package/dist/commands/intervene.js.map +0 -1
  280. package/dist/commands/learn.d.ts +0 -3
  281. package/dist/commands/learn.d.ts.map +0 -1
  282. package/dist/commands/learn.js +0 -161
  283. package/dist/commands/learn.js.map +0 -1
  284. package/dist/commands/lesson.d.ts +0 -8
  285. package/dist/commands/lesson.d.ts.map +0 -1
  286. package/dist/commands/lesson.js +0 -206
  287. package/dist/commands/lesson.js.map +0 -1
  288. package/dist/commands/level.d.ts +0 -3
  289. package/dist/commands/level.d.ts.map +0 -1
  290. package/dist/commands/level.js +0 -277
  291. package/dist/commands/level.js.map +0 -1
  292. package/dist/gamification/badges.d.ts +0 -29
  293. package/dist/gamification/badges.d.ts.map +0 -1
  294. package/dist/gamification/badges.js +0 -114
  295. package/dist/gamification/badges.js.map +0 -1
  296. package/dist/gamification/challenges.d.ts +0 -42
  297. package/dist/gamification/challenges.d.ts.map +0 -1
  298. package/dist/gamification/challenges.js +0 -184
  299. package/dist/gamification/challenges.js.map +0 -1
  300. package/dist/gamification/hall-of-fame.d.ts +0 -17
  301. package/dist/gamification/hall-of-fame.d.ts.map +0 -1
  302. package/dist/gamification/hall-of-fame.js +0 -64
  303. package/dist/gamification/hall-of-fame.js.map +0 -1
  304. package/dist/gamification/intervention-memory.d.ts +0 -61
  305. package/dist/gamification/intervention-memory.d.ts.map +0 -1
  306. package/dist/gamification/intervention-memory.js +0 -229
  307. package/dist/gamification/intervention-memory.js.map +0 -1
  308. package/dist/gamification/leaderboards.d.ts +0 -49
  309. package/dist/gamification/leaderboards.d.ts.map +0 -1
  310. package/dist/gamification/leaderboards.js +0 -179
  311. package/dist/gamification/leaderboards.js.map +0 -1
  312. package/dist/gamification/pattern-memory.d.ts +0 -45
  313. package/dist/gamification/pattern-memory.d.ts.map +0 -1
  314. package/dist/gamification/pattern-memory.js +0 -188
  315. package/dist/gamification/pattern-memory.js.map +0 -1
  316. package/dist/gamification/share.d.ts +0 -29
  317. package/dist/gamification/share.d.ts.map +0 -1
  318. package/dist/gamification/share.js +0 -57
  319. package/dist/gamification/share.js.map +0 -1
  320. package/dist/learning/cadence.d.ts +0 -15
  321. package/dist/learning/cadence.d.ts.map +0 -1
  322. package/dist/learning/cadence.js +0 -130
  323. package/dist/learning/cadence.js.map +0 -1
  324. package/dist/learning/index.d.ts +0 -19
  325. package/dist/learning/index.d.ts.map +0 -1
  326. package/dist/learning/index.js +0 -35
  327. package/dist/learning/index.js.map +0 -1
  328. package/dist/learning/lessons-storage.d.ts +0 -48
  329. package/dist/learning/lessons-storage.d.ts.map +0 -1
  330. package/dist/learning/lessons-storage.js +0 -266
  331. package/dist/learning/lessons-storage.js.map +0 -1
  332. package/dist/learning/lessons-types.d.ts +0 -83
  333. package/dist/learning/lessons-types.d.ts.map +0 -1
  334. package/dist/learning/lessons-types.js +0 -15
  335. package/dist/learning/lessons-types.js.map +0 -1
  336. package/dist/learning/nudges.d.ts +0 -20
  337. package/dist/learning/nudges.d.ts.map +0 -1
  338. package/dist/learning/nudges.js +0 -68
  339. package/dist/learning/nudges.js.map +0 -1
  340. package/dist/learning/retrospective.d.ts +0 -27
  341. package/dist/learning/retrospective.d.ts.map +0 -1
  342. package/dist/learning/retrospective.js +0 -184
  343. package/dist/learning/retrospective.js.map +0 -1
  344. package/dist/learning/storage.d.ts +0 -44
  345. package/dist/learning/storage.d.ts.map +0 -1
  346. package/dist/learning/storage.js +0 -194
  347. package/dist/learning/storage.js.map +0 -1
  348. package/dist/learning/surfacing.d.ts +0 -36
  349. package/dist/learning/surfacing.d.ts.map +0 -1
  350. package/dist/learning/surfacing.js +0 -255
  351. package/dist/learning/surfacing.js.map +0 -1
  352. package/dist/learning/synthesis.d.ts +0 -17
  353. package/dist/learning/synthesis.d.ts.map +0 -1
  354. package/dist/learning/synthesis.js +0 -293
  355. package/dist/learning/synthesis.js.map +0 -1
  356. package/dist/learning/types.d.ts +0 -60
  357. package/dist/learning/types.d.ts.map +0 -1
  358. package/dist/learning/types.js +0 -17
  359. package/dist/learning/types.js.map +0 -1
  360. package/dist/recommend/index.d.ts +0 -3
  361. package/dist/recommend/index.d.ts.map +0 -1
  362. package/dist/recommend/index.js +0 -14
  363. package/dist/recommend/index.js.map +0 -1
  364. package/dist/recommend/ordered-logistic.d.ts +0 -49
  365. package/dist/recommend/ordered-logistic.d.ts.map +0 -1
  366. package/dist/recommend/ordered-logistic.js +0 -153
  367. package/dist/recommend/ordered-logistic.js.map +0 -1
  368. package/dist/recommend/questions.d.ts +0 -19
  369. package/dist/recommend/questions.d.ts.map +0 -1
  370. package/dist/recommend/questions.js +0 -73
  371. package/dist/recommend/questions.js.map +0 -1
@@ -1,77 +1,34 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.getProfileDir = getProfileDir;
37
- exports.getProfilePath = getProfilePath;
38
- exports.createInitialProfile = createInitialProfile;
39
- exports.loadProfile = loadProfile;
40
- exports.saveProfile = saveProfile;
41
- exports.recordSession = recordSession;
42
- exports.getAchievementCounts = getAchievementCounts;
43
- exports.getRecentSessions = getRecentSessions;
44
- const fs = __importStar(require("fs"));
45
- const path = __importStar(require("path"));
46
- const os = __importStar(require("os"));
47
- const streaks_1 = require("./streaks");
48
- const xp_1 = require("./xp");
49
- const achievements_1 = require("./achievements");
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+ import * as os from 'os';
4
+ import { createInitialStreak, updateStreak } from './streaks.js';
5
+ import { createInitialXP, addXP, calculateSessionXP } from './xp.js';
6
+ import { checkAchievements, ACHIEVEMENTS } from './achievements.js';
50
7
  const PROFILE_DIR = '.vibe-check';
51
8
  const PROFILE_FILE = 'profile.json';
52
9
  /**
53
10
  * Get profile directory path (in user's home directory)
54
11
  */
55
- function getProfileDir() {
12
+ export function getProfileDir() {
56
13
  return path.join(os.homedir(), PROFILE_DIR);
57
14
  }
58
15
  /**
59
16
  * Get profile file path
60
17
  */
61
- function getProfilePath() {
18
+ export function getProfilePath() {
62
19
  return path.join(getProfileDir(), PROFILE_FILE);
63
20
  }
64
21
  /**
65
22
  * Create initial profile
66
23
  */
67
- function createInitialProfile() {
24
+ export function createInitialProfile() {
68
25
  const now = new Date().toISOString();
69
26
  return {
70
27
  version: '1.0.0',
71
28
  createdAt: now,
72
29
  updatedAt: now,
73
- streak: (0, streaks_1.createInitialStreak)(),
74
- xp: (0, xp_1.createInitialXP)(),
30
+ streak: createInitialStreak(),
31
+ xp: createInitialXP(),
75
32
  achievements: [],
76
33
  sessions: [],
77
34
  preferences: {
@@ -92,7 +49,7 @@ function createInitialProfile() {
92
49
  /**
93
50
  * Load profile from disk
94
51
  */
95
- function loadProfile() {
52
+ export function loadProfile() {
96
53
  const filePath = getProfilePath();
97
54
  if (fs.existsSync(filePath)) {
98
55
  try {
@@ -109,7 +66,7 @@ function loadProfile() {
109
66
  /**
110
67
  * Save profile to disk
111
68
  */
112
- function saveProfile(profile) {
69
+ export function saveProfile(profile) {
113
70
  const dirPath = getProfileDir();
114
71
  const filePath = getProfilePath();
115
72
  if (!fs.existsSync(dirPath)) {
@@ -149,7 +106,7 @@ function isPeriodDuplicate(sessions, periodFrom, periodTo) {
149
106
  /**
150
107
  * Record a new session and update all gamification state
151
108
  */
152
- function recordSession(vibeScore, overall, commits, spirals, periodFrom, periodTo, fixChains, metrics) {
109
+ export function recordSession(vibeScore, overall, commits, spirals, periodFrom, periodTo, fixChains, metrics) {
153
110
  const profile = loadProfile();
154
111
  const now = new Date();
155
112
  // Check for duplicate period (anti-gaming)
@@ -170,7 +127,7 @@ function recordSession(vibeScore, overall, commits, spirals, periodFrom, periodT
170
127
  }
171
128
  // Update streak
172
129
  const oldStreak = profile.streak.current;
173
- profile.streak = (0, streaks_1.updateStreak)(profile.streak, now);
130
+ profile.streak = updateStreak(profile.streak, now);
174
131
  const streakExtended = profile.streak.current > oldStreak;
175
132
  // Check achievements (before recording session)
176
133
  const sessionRecord = {
@@ -186,12 +143,12 @@ function recordSession(vibeScore, overall, commits, spirals, periodFrom, periodT
186
143
  periodTo: periodTo?.toISOString(),
187
144
  metrics, // Include detailed metrics for dashboard
188
145
  };
189
- const newAchievements = (0, achievements_1.checkAchievements)(profile.sessions, profile.streak, profile.xp, sessionRecord, profile.achievements.map(a => a.id));
146
+ const newAchievements = checkAchievements(profile.sessions, profile.streak, profile.xp, sessionRecord, profile.achievements.map(a => a.id));
190
147
  // Calculate and add XP
191
- const xpEarned = (0, xp_1.calculateSessionXP)(sessionRecord, profile.streak, newAchievements.length);
148
+ const xpEarned = calculateSessionXP(sessionRecord, profile.streak, newAchievements.length);
192
149
  sessionRecord.xpEarned = xpEarned;
193
150
  sessionRecord.achievementsUnlocked = newAchievements.map(a => a.id);
194
- const { xp: newXP, leveledUp, newLevel } = (0, xp_1.addXP)(profile.xp, xpEarned);
151
+ const { xp: newXP, leveledUp, newLevel } = addXP(profile.xp, xpEarned);
195
152
  profile.xp = newXP;
196
153
  // Add achievements to profile
197
154
  profile.achievements.push(...newAchievements);
@@ -256,16 +213,16 @@ function migrateProfile(profile) {
256
213
  /**
257
214
  * Get achievement counts
258
215
  */
259
- function getAchievementCounts(profile) {
216
+ export function getAchievementCounts(profile) {
260
217
  return {
261
218
  unlocked: profile.achievements.length,
262
- total: achievements_1.ACHIEVEMENTS.length,
219
+ total: ACHIEVEMENTS.length,
263
220
  };
264
221
  }
265
222
  /**
266
223
  * Get recent sessions (last N days)
267
224
  */
268
- function getRecentSessions(profile, days) {
225
+ export function getRecentSessions(profile, days) {
269
226
  const cutoff = new Date();
270
227
  cutoff.setDate(cutoff.getDate() - days);
271
228
  return profile.sessions.filter(s => new Date(s.date) >= cutoff);
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/gamification/profile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,sCAEC;AAKD,wCAEC;AAKD,oDA4BC;AAKD,kCAcC;AAKD,kCAUC;AA4CD,sCAkHC;AAqCD,oDAKC;AAKD,8CAKC;AApTD,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAUzB,uCAA8D;AAC9D,6BAAkE;AAClE,iDAAiE;AAEjE,MAAM,WAAW,GAAG,aAAa,CAAC;AAClC,MAAM,YAAY,GAAG,cAAc,CAAC;AAEpC;;GAEG;AACH,SAAgB,aAAa;IAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc;IAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,YAAY,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB;IAClC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAErC,OAAO;QACL,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,GAAG;QAEd,MAAM,EAAE,IAAA,6BAAmB,GAAE;QAC7B,EAAE,EAAE,IAAA,oBAAe,GAAE;QACrB,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE,EAAE;QAEZ,WAAW,EAAE;YACX,UAAU,EAAE,CAAC;YACb,iBAAiB,EAAE,IAAI;YACvB,aAAa,EAAE,KAAK;SACrB;QAED,KAAK,EAAE;YACL,aAAa,EAAE,CAAC;YAChB,oBAAoB,EAAE,CAAC;YACvB,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,oBAAoB,EAAE,CAAC;YACvB,cAAc,EAAE,CAAC;SAClB;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW;IACzB,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;IAElC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAgB,CAAC;YAChD,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,oBAAoB,EAAE,CAAC;QAChC,CAAC;IACH,CAAC;IAED,OAAO,oBAAoB,EAAE,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,OAAoB;IAC9C,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;IAElC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7C,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,QAAyB,EACzB,UAAgB,EAChB,QAAc;IAEd,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;IAElC,uDAAuD;IACvD,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAE3C,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACrC,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC3C,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;YAC3D,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;YAEvD,sDAAsD;YACtD,IAAI,WAAW,KAAK,QAAQ,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;gBACrD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,gCAAgC;YAChC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACrD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC,CAAC;YACvD,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,CAAC;YAE1C,IAAI,eAAe,GAAG,CAAC,IAAI,OAAO,GAAG,eAAe,GAAG,GAAG,EAAE,CAAC;gBAC3D,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAC3B,SAAiB,EACjB,OAA4C,EAC5C,OAAe,EACf,OAAe,EACf,UAAiB,EACjB,QAAe,EACf,SAAsB,EACtB,OAAwB;IAWxB,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,2CAA2C;IAC3C,MAAM,WAAW,GAAG,UAAU,IAAI,QAAQ;QACxC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC;QAC3D,CAAC,CAAC,KAAK,CAAC;IAEV,IAAI,WAAW,EAAE,CAAC;QAChB,6CAA6C;QAC7C,OAAO;YACL,OAAO;YACP,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,KAAK;YAChB,oBAAoB,EAAE,EAAE;YACxB,cAAc,EAAE,KAAK;YACrB,cAAc,EAAE,KAAK;YACrB,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,CAAC;IAED,gBAAgB;IAChB,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;IACzC,OAAO,CAAC,MAAM,GAAG,IAAA,sBAAY,EAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnD,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAE1D,gDAAgD;IAChD,MAAM,aAAa,GAAkB;QACnC,IAAI,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACrC,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;QAC5B,SAAS;QACT,OAAO;QACP,OAAO;QACP,OAAO;QACP,QAAQ,EAAE,CAAC,EAAG,kBAAkB;QAChC,oBAAoB,EAAE,EAAE;QACxB,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE;QACrC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE;QACjC,OAAO,EAAG,yCAAyC;KACpD,CAAC;IAEF,MAAM,eAAe,GAAG,IAAA,gCAAiB,EACvC,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,EAAE,EACV,aAAa,EACb,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACpC,CAAC;IAEF,uBAAuB;IACvB,MAAM,QAAQ,GAAG,IAAA,uBAAkB,EAAC,aAAa,EAAE,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAC3F,aAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAClC,aAAa,CAAC,oBAAoB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEpE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAA,UAAK,EAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACvE,OAAO,CAAC,EAAE,GAAG,KAAK,CAAC;IAEnB,8BAA8B;IAC9B,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;IAE9C,yCAAyC;IACzC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACrC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QAClC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,eAAe;IACf,MAAM,cAAc,GAAG,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC;IAC/D,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC;IACjC,OAAO,CAAC,KAAK,CAAC,oBAAoB,IAAI,OAAO,CAAC;IAC9C,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAC/E,OAAO,CAAC,KAAK,CAAC,oBAAoB,IAAI,OAAO,CAAC;IAC9C,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;QACnC,OAAO,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,sBAAsB;IACtB,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACzD,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CACrC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CACxD,CAAC;IAEF,eAAe;IACf,WAAW,CAAC,OAAO,CAAC,CAAC;IAErB,OAAO;QACL,OAAO;QACP,QAAQ;QACR,SAAS;QACT,QAAQ,EAAE,QAAQ,EAAE,IAAI;QACxB,oBAAoB,EAAE,eAAe;QACrC,cAAc;QACd,cAAc;QACd,WAAW,EAAE,KAAK;KACnB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,OAAoB;IAC1C,wCAAwC;IACxC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;IAC5B,CAAC;IAED,0BAA0B;IAC1B,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACzB,OAAO,CAAC,WAAW,GAAG;YACpB,UAAU,EAAE,CAAC;YACb,iBAAiB,EAAE,IAAI;YACvB,aAAa,EAAE,KAAK;SACrB,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,GAAG;YACd,aAAa,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;YAC5C,oBAAoB,EAAE,CAAC;YACvB,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,oBAAoB,EAAE,CAAC;YACvB,cAAc,EAAE,CAAC;SAClB,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,OAAoB;IACvD,OAAO;QACL,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM;QACrC,KAAK,EAAE,2BAAY,CAAC,MAAM;KAC3B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,OAAoB,EAAE,IAAY;IAClE,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;IAC1B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAExC,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/gamification/profile.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { SessionRecord } from './types';
1
+ import { SessionRecord } from './types.js';
2
2
  /**
3
3
  * Create a sparkline from values
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/gamification/stats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAWxD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG;IAAE,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAcjG;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,WAAW,CA6BrE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAc5D"}
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/gamification/stats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAWxD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG;IAAE,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAcjG;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,WAAW,CA6BrE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAc5D"}
@@ -1,13 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createSparkline = createSparkline;
4
- exports.getTrend = getTrend;
5
- exports.getWeeklyStats = getWeeklyStats;
6
- exports.formatWeeklyStats = formatWeeklyStats;
7
1
  /**
8
2
  * Create a sparkline from values
9
3
  */
10
- function createSparkline(values) {
4
+ export function createSparkline(values) {
11
5
  if (values.length === 0)
12
6
  return '';
13
7
  const chars = ['▁', '▂', '▃', '▄', '▅', '▆', '▇', '█'];
@@ -21,7 +15,7 @@ function createSparkline(values) {
21
15
  /**
22
16
  * Get trend indicator
23
17
  */
24
- function getTrend(values) {
18
+ export function getTrend(values) {
25
19
  if (values.length < 2)
26
20
  return { direction: 'stable', emoji: '➡️' };
27
21
  const recent = values.slice(-3);
@@ -38,7 +32,7 @@ function getTrend(values) {
38
32
  /**
39
33
  * Calculate weekly statistics
40
34
  */
41
- function getWeeklyStats(sessions) {
35
+ export function getWeeklyStats(sessions) {
42
36
  const weekStart = getWeekStartDate(new Date());
43
37
  const weekSessions = sessions.filter(s => new Date(s.date) >= weekStart);
44
38
  if (weekSessions.length === 0) {
@@ -68,7 +62,7 @@ function getWeeklyStats(sessions) {
68
62
  /**
69
63
  * Format weekly stats for display
70
64
  */
71
- function formatWeeklyStats(stats) {
65
+ export function formatWeeklyStats(stats) {
72
66
  const lines = [];
73
67
  lines.push('📅 THIS WEEK');
74
68
  lines.push(` Avg Score: ${stats.avgScore}% ${stats.trend.emoji}`);
@@ -1 +1 @@
1
- {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/gamification/stats.ts"],"names":[],"mappings":";;AAKA,0CAWC;AAKD,4BAcC;AAgBD,wCA6BC;AAKD,8CAcC;AAjGD;;GAEG;AACH,SAAgB,eAAe,CAAC,MAAgB;IAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnC,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACvD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;IAE7B,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACpD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAC,MAAgB;IACvC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAEnE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEjC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACpE,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IAEjE,MAAM,IAAI,GAAG,SAAS,GAAG,QAAQ,CAAC;IAElC,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACrD,IAAI,IAAI,GAAG,CAAC,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACxD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAC7C,CAAC;AAaD;;GAEG;AACH,SAAgB,cAAc,CAAC,QAAyB;IACtD,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC;IAEzE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,CAAC;YACX,YAAY,EAAE,CAAC;YACf,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,CAAC;YACd,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;YAC1C,QAAQ,EAAE,CAAC;SACZ,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAElD,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QACvE,QAAQ,EAAE,YAAY,CAAC,MAAM;QAC7B,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,MAAM;QAClE,WAAW,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAChE,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC;QAClC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC;QACvB,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;KAC/D,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,KAAkB;IAClD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACpE,KAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7C,KAAK,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9C,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,UAAU,eAAe,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAE5E,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAU;IAClC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACvB,OAAO,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/gamification/stats.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { StreakState } from './types';
1
+ import { StreakState } from './types.js';
2
2
  /**
3
3
  * Create initial streak state
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"streaks.d.ts","sourceRoot":"","sources":["../../src/gamification/streaks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,WAAW,CASjD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,GAAG,WAAW,CAiDhF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAK3D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAc9D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CA4BxD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAShE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAGzD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAKhE"}
1
+ {"version":3,"file":"streaks.d.ts","sourceRoot":"","sources":["../../src/gamification/streaks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,WAAW,CASjD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,GAAG,WAAW,CAiDhF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAK3D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAc9D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CA4BxD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAShE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAGzD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAKhE"}
@@ -1,17 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createInitialStreak = createInitialStreak;
4
- exports.updateStreak = updateStreak;
5
- exports.isStreakAtRisk = isStreakAtRisk;
6
- exports.getDaysUntilExpiry = getDaysUntilExpiry;
7
- exports.formatStreak = formatStreak;
8
- exports.formatStreakWithRisk = formatStreakWithRisk;
9
- exports.formatFreezes = formatFreezes;
10
- exports.formatWeeklyProgress = formatWeeklyProgress;
11
1
  /**
12
2
  * Create initial streak state
13
3
  */
14
- function createInitialStreak() {
4
+ export function createInitialStreak() {
15
5
  return {
16
6
  current: 0,
17
7
  longest: 0,
@@ -24,7 +14,7 @@ function createInitialStreak() {
24
14
  /**
25
15
  * Update streak based on new session
26
16
  */
27
- function updateStreak(streak, sessionDate) {
17
+ export function updateStreak(streak, sessionDate) {
28
18
  const today = formatDate(sessionDate);
29
19
  const yesterday = formatDate(new Date(sessionDate.getTime() - 24 * 60 * 60 * 1000));
30
20
  const twoDaysAgo = formatDate(new Date(sessionDate.getTime() - 2 * 24 * 60 * 60 * 1000));
@@ -74,7 +64,7 @@ function updateStreak(streak, sessionDate) {
74
64
  /**
75
65
  * Check if streak is at risk (not checked in today)
76
66
  */
77
- function isStreakAtRisk(streak) {
67
+ export function isStreakAtRisk(streak) {
78
68
  if (streak.current === 0)
79
69
  return false;
80
70
  const today = formatDate(new Date());
@@ -83,7 +73,7 @@ function isStreakAtRisk(streak) {
83
73
  /**
84
74
  * Get days until streak expires
85
75
  */
86
- function getDaysUntilExpiry(streak) {
76
+ export function getDaysUntilExpiry(streak) {
87
77
  if (streak.current === 0)
88
78
  return 0;
89
79
  const today = new Date();
@@ -100,7 +90,7 @@ function getDaysUntilExpiry(streak) {
100
90
  /**
101
91
  * Format streak for display with visual progression
102
92
  */
103
- function formatStreak(streak) {
93
+ export function formatStreak(streak) {
104
94
  if (streak.current === 0) {
105
95
  return 'No active streak';
106
96
  }
@@ -128,7 +118,7 @@ function formatStreak(streak) {
128
118
  /**
129
119
  * Format streak with risk indicator
130
120
  */
131
- function formatStreakWithRisk(streak) {
121
+ export function formatStreakWithRisk(streak) {
132
122
  const base = formatStreak(streak);
133
123
  const daysUntil = getDaysUntilExpiry(streak);
134
124
  if (streak.current > 0 && daysUntil <= 1) {
@@ -139,14 +129,14 @@ function formatStreakWithRisk(streak) {
139
129
  /**
140
130
  * Format freezes display
141
131
  */
142
- function formatFreezes(streak) {
132
+ export function formatFreezes(streak) {
143
133
  const freezeIcon = '❄️';
144
134
  return `${freezeIcon} ${streak.freezesRemaining} freeze${streak.freezesRemaining !== 1 ? 's' : ''} available`;
145
135
  }
146
136
  /**
147
137
  * Format weekly progress for display
148
138
  */
149
- function formatWeeklyProgress(streak) {
139
+ export function formatWeeklyProgress(streak) {
150
140
  const filled = '█'.repeat(streak.weeklyProgress);
151
141
  const empty = '░'.repeat(Math.max(0, streak.weeklyGoal - streak.weeklyProgress));
152
142
  return `${streak.weeklyProgress}/${streak.weeklyGoal} days ${filled}${empty}`;
@@ -1 +1 @@
1
- {"version":3,"file":"streaks.js","sourceRoot":"","sources":["../../src/gamification/streaks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streaks.js","sourceRoot":"","sources":["../../src/gamification/streaks.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,6 @@
1
- "use strict";
2
1
  // Gamification Types for Vibe-Check
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.XP_REWARDS = exports.PRESTIGE_TIERS = exports.LEVELS = void 0;
5
2
  // Level progression (including prestige)
6
- exports.LEVELS = [
3
+ export const LEVELS = [
7
4
  { level: 1, name: 'Novice', icon: '🌱', minXP: 0, maxXP: 100 },
8
5
  { level: 2, name: 'Apprentice', icon: '🌿', minXP: 100, maxXP: 300 },
9
6
  { level: 3, name: 'Practitioner', icon: '🌳', minXP: 300, maxXP: 600 },
@@ -12,7 +9,7 @@ exports.LEVELS = [
12
9
  { level: 6, name: 'Grandmaster', icon: '🏔️', minXP: 2000, maxXP: 5000 },
13
10
  ];
14
11
  // Prestige tiers (after Grandmaster)
15
- exports.PRESTIGE_TIERS = [
12
+ export const PRESTIGE_TIERS = [
16
13
  { tier: 1, name: 'Archmage', icon: '🔮', minXP: 5000, maxXP: 10000 },
17
14
  { tier: 2, name: 'Sage', icon: '📿', minXP: 10000, maxXP: 20000 },
18
15
  { tier: 3, name: 'Zenmester', icon: '☯️', minXP: 20000, maxXP: 40000 },
@@ -20,7 +17,7 @@ exports.PRESTIGE_TIERS = [
20
17
  { tier: 5, name: 'Legendary', icon: '💫', minXP: 80000, maxXP: Infinity },
21
18
  ];
22
19
  // XP rewards
23
- exports.XP_REWARDS = {
20
+ export const XP_REWARDS = {
24
21
  dailyCheckIn: 10,
25
22
  eliteSession: 50,
26
23
  highSession: 25,
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/gamification/types.ts"],"names":[],"mappings":";AAAA,oCAAoC;;;AAiKpC,yCAAyC;AAC5B,QAAA,MAAM,GAAG;IACpB,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;IAC9D,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;IACpE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;IACtE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE;IACjE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IAClE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;CAChE,CAAC;AAEX,qCAAqC;AACxB,QAAA,cAAc,GAAG;IAC5B,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;IACpE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;IACjE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;IACtE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;IACzE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE;CACjE,CAAC;AAEX,aAAa;AACA,QAAA,UAAU,GAAG;IACxB,YAAY,EAAE,EAAE;IAChB,YAAY,EAAE,EAAE;IAChB,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,EAAE;IACjB,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,CAAC,EAAY,oBAAoB;IAC9C,eAAe,EAAE,EAAE,EAAO,wBAAwB;IAClD,SAAS,EAAE,EAAE,EAAa,sBAAsB;IAChD,YAAY,EAAE,EAAE,EAAU,uBAAuB;CACzC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/gamification/types.ts"],"names":[],"mappings":"AAAA,oCAAoC;AAiKpC,yCAAyC;AACzC,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;IAC9D,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;IACpE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;IACtE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE;IACjE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IAClE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;CAChE,CAAC;AAEX,qCAAqC;AACrC,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;IACpE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;IACjE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;IACtE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;IACzE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE;CACjE,CAAC;AAEX,aAAa;AACb,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,YAAY,EAAE,EAAE;IAChB,YAAY,EAAE,EAAE;IAChB,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,EAAE;IACjB,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,CAAC,EAAY,oBAAoB;IAC9C,eAAe,EAAE,EAAE,EAAO,wBAAwB;IAClD,SAAS,EAAE,EAAE,EAAa,sBAAsB;IAChD,YAAY,EAAE,EAAE,EAAU,uBAAuB;CACzC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { XPState, LEVELS, PRESTIGE_TIERS, SessionRecord, StreakState } from './types';
1
+ import { XPState, LEVELS, PRESTIGE_TIERS, SessionRecord, StreakState } from './types.js';
2
2
  /**
3
3
  * Create initial XP state
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"xp.d.ts","sourceRoot":"","sources":["../../src/gamification/xp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAc,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAElG;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CASzC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,WAAW,EACnB,oBAAoB,EAAE,MAAM,GAC3B,MAAM,CAkCR;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG;IAC3D,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;CAC7C,CA6BA;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;CAC9C,CAsBA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAUpD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAG/C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAGpD"}
1
+ {"version":3,"file":"xp.d.ts","sourceRoot":"","sources":["../../src/gamification/xp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAc,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAErG;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CASzC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,WAAW,EACnB,oBAAoB,EAAE,MAAM,GAC3B,MAAM,CAkCR;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG;IAC3D,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;CAC7C,CA6BA;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;CAC9C,CAsBA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAUpD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAG/C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAGpD"}
@@ -1,62 +1,53 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createInitialXP = createInitialXP;
4
- exports.calculateSessionXP = calculateSessionXP;
5
- exports.addXP = addXP;
6
- exports.getLevelForXP = getLevelForXP;
7
- exports.formatXPProgress = formatXPProgress;
8
- exports.formatLevel = formatLevel;
9
- exports.getLevelProgress = getLevelProgress;
10
- const types_1 = require("./types");
1
+ import { LEVELS, PRESTIGE_TIERS, XP_REWARDS } from './types.js';
11
2
  /**
12
3
  * Create initial XP state
13
4
  */
14
- function createInitialXP() {
5
+ export function createInitialXP() {
15
6
  return {
16
7
  total: 0,
17
8
  level: 1,
18
- levelName: types_1.LEVELS[0].name,
9
+ levelName: LEVELS[0].name,
19
10
  currentLevelXP: 0,
20
- nextLevelXP: types_1.LEVELS[0].maxXP,
11
+ nextLevelXP: LEVELS[0].maxXP,
21
12
  lastSessionXP: 0,
22
13
  };
23
14
  }
24
15
  /**
25
16
  * Calculate XP earned from a session
26
17
  */
27
- function calculateSessionXP(session, streak, achievementsUnlocked) {
18
+ export function calculateSessionXP(session, streak, achievementsUnlocked) {
28
19
  let xp = 0;
29
20
  // Base XP from rating
30
21
  switch (session.overall) {
31
22
  case 'ELITE':
32
- xp += types_1.XP_REWARDS.eliteSession;
23
+ xp += XP_REWARDS.eliteSession;
33
24
  break;
34
25
  case 'HIGH':
35
- xp += types_1.XP_REWARDS.highSession;
26
+ xp += XP_REWARDS.highSession;
36
27
  break;
37
28
  case 'MEDIUM':
38
- xp += types_1.XP_REWARDS.mediumSession;
29
+ xp += XP_REWARDS.mediumSession;
39
30
  break;
40
31
  case 'LOW':
41
- xp += types_1.XP_REWARDS.lowSession;
32
+ xp += XP_REWARDS.lowSession;
42
33
  break;
43
34
  }
44
35
  // Daily check-in bonus
45
- xp += types_1.XP_REWARDS.dailyCheckIn;
36
+ xp += XP_REWARDS.dailyCheckIn;
46
37
  // Streak bonus
47
- xp += types_1.XP_REWARDS.streakBonus * Math.min(streak.current, 30); // Cap at 30 days
38
+ xp += XP_REWARDS.streakBonus * Math.min(streak.current, 30); // Cap at 30 days
48
39
  // Bonus for no spirals
49
40
  if (session.spirals === 0 && session.commits >= 10) {
50
- xp += types_1.XP_REWARDS.noSpirals;
41
+ xp += XP_REWARDS.noSpirals;
51
42
  }
52
43
  // Achievement bonuses
53
- xp += achievementsUnlocked * types_1.XP_REWARDS.achievementBase;
44
+ xp += achievementsUnlocked * XP_REWARDS.achievementBase;
54
45
  return xp;
55
46
  }
56
47
  /**
57
48
  * Add XP and handle level ups
58
49
  */
59
- function addXP(currentXP, earnedXP) {
50
+ export function addXP(currentXP, earnedXP) {
60
51
  const newTotal = currentXP.total + earnedXP;
61
52
  const { level, levelInfo, prestigeTier, prestigeInfo } = getLevelForXP(newTotal);
62
53
  const leveledUp = level > currentXP.level;
@@ -85,33 +76,33 @@ function addXP(currentXP, earnedXP) {
85
76
  /**
86
77
  * Get level for given XP amount (including prestige)
87
78
  */
88
- function getLevelForXP(xp) {
79
+ export function getLevelForXP(xp) {
89
80
  // Check prestige tiers first
90
81
  if (xp >= 5000) {
91
- for (let i = types_1.PRESTIGE_TIERS.length - 1; i >= 0; i--) {
92
- if (xp >= types_1.PRESTIGE_TIERS[i].minXP) {
82
+ for (let i = PRESTIGE_TIERS.length - 1; i >= 0; i--) {
83
+ if (xp >= PRESTIGE_TIERS[i].minXP) {
93
84
  return {
94
85
  level: 6,
95
- levelInfo: types_1.LEVELS[5],
96
- prestigeTier: types_1.PRESTIGE_TIERS[i].tier,
97
- prestigeInfo: types_1.PRESTIGE_TIERS[i],
86
+ levelInfo: LEVELS[5],
87
+ prestigeTier: PRESTIGE_TIERS[i].tier,
88
+ prestigeInfo: PRESTIGE_TIERS[i],
98
89
  };
99
90
  }
100
91
  }
101
92
  }
102
93
  // Regular levels
103
- for (let i = types_1.LEVELS.length - 1; i >= 0; i--) {
104
- if (xp >= types_1.LEVELS[i].minXP) {
105
- return { level: types_1.LEVELS[i].level, levelInfo: types_1.LEVELS[i] };
94
+ for (let i = LEVELS.length - 1; i >= 0; i--) {
95
+ if (xp >= LEVELS[i].minXP) {
96
+ return { level: LEVELS[i].level, levelInfo: LEVELS[i] };
106
97
  }
107
98
  }
108
- return { level: 1, levelInfo: types_1.LEVELS[0] };
99
+ return { level: 1, levelInfo: LEVELS[0] };
109
100
  }
110
101
  /**
111
102
  * Format XP progress for display
112
103
  */
113
- function formatXPProgress(xp) {
114
- const levelInfo = types_1.LEVELS.find(l => l.level === xp.level);
104
+ export function formatXPProgress(xp) {
105
+ const levelInfo = LEVELS.find(l => l.level === xp.level);
115
106
  const progress = xp.currentLevelXP / xp.nextLevelXP;
116
107
  const barLength = 20;
117
108
  const filled = Math.round(progress * barLength);
@@ -122,14 +113,14 @@ function formatXPProgress(xp) {
122
113
  /**
123
114
  * Format level for compact display
124
115
  */
125
- function formatLevel(xp) {
126
- const levelInfo = types_1.LEVELS.find(l => l.level === xp.level);
116
+ export function formatLevel(xp) {
117
+ const levelInfo = LEVELS.find(l => l.level === xp.level);
127
118
  return `Level ${xp.level} ${levelInfo.name} ${levelInfo.icon}`;
128
119
  }
129
120
  /**
130
121
  * Get progress percentage to next level
131
122
  */
132
- function getLevelProgress(xp) {
123
+ export function getLevelProgress(xp) {
133
124
  if (xp.nextLevelXP === Infinity)
134
125
  return 100;
135
126
  return Math.round((xp.currentLevelXP / xp.nextLevelXP) * 100);
@@ -1 +1 @@
1
- {"version":3,"file":"xp.js","sourceRoot":"","sources":["../../src/gamification/xp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xp.js","sourceRoot":"","sources":["../../src/gamification/xp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,MAAM,EAAE,cAAc,EAAE,UAAU,EAA8B,MAAM,YAAY,CAAC;AAErG;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO;QACL,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;QACzB,cAAc,EAAE,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK;QAC5B,aAAa,EAAE,CAAC;KACjB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAsB,EACtB,MAAmB,EACnB,oBAA4B;IAE5B,IAAI,EAAE,GAAG,CAAC,CAAC;IAEX,sBAAsB;IACtB,QAAQ,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,KAAK,OAAO;YACV,EAAE,IAAI,UAAU,CAAC,YAAY,CAAC;YAC9B,MAAM;QACR,KAAK,MAAM;YACT,EAAE,IAAI,UAAU,CAAC,WAAW,CAAC;YAC7B,MAAM;QACR,KAAK,QAAQ;YACX,EAAE,IAAI,UAAU,CAAC,aAAa,CAAC;YAC/B,MAAM;QACR,KAAK,KAAK;YACR,EAAE,IAAI,UAAU,CAAC,UAAU,CAAC;YAC5B,MAAM;IACV,CAAC;IAED,uBAAuB;IACvB,EAAE,IAAI,UAAU,CAAC,YAAY,CAAC;IAE9B,eAAe;IACf,EAAE,IAAI,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAE,iBAAiB;IAE/E,uBAAuB;IACvB,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QACnD,EAAE,IAAI,UAAU,CAAC,SAAS,CAAC;IAC7B,CAAC;IAED,sBAAsB;IACtB,EAAE,IAAI,oBAAoB,GAAG,UAAU,CAAC,eAAe,CAAC;IAExD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,SAAkB,EAAE,QAAgB;IAOxD,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,GAAG,QAAQ,CAAC;IAC5C,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAEjF,MAAM,SAAS,GAAG,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;IAC1C,MAAM,WAAW,GAAG,YAAY,KAAK,SAAS;QAC5C,CAAC,SAAS,CAAC,YAAY,KAAK,SAAS,IAAI,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;IAElF,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;IAClE,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;IAElE,MAAM,KAAK,GAAY;QACrB,KAAK,EAAE,QAAQ;QACf,KAAK;QACL,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI;QAC5D,cAAc,EAAE,QAAQ,GAAG,KAAK;QAChC,WAAW,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK;QAC1D,aAAa,EAAE,QAAQ;QACvB,YAAY;QACZ,YAAY,EAAE,YAAY,EAAE,IAAI;KACjC,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,KAAK;QACT,SAAS;QACT,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAC3C,WAAW;QACX,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;KACpD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,EAAU;IAMtC,6BAA6B;IAC7B,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACpD,IAAI,EAAE,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;gBAClC,OAAO;oBACL,KAAK,EAAE,CAAC;oBACR,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;oBACpB,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI;oBACpC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC;iBAChC,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,IAAI,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAW;IAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,KAAK,CAAE,CAAC;IAC1D,MAAM,QAAQ,GAAG,EAAE,CAAC,cAAc,GAAG,EAAE,CAAC,WAAW,CAAC;IACpD,MAAM,SAAS,GAAG,EAAE,CAAC;IACrB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;IAEjC,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEnD,OAAO,SAAS,EAAE,CAAC,KAAK,IAAI,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC,cAAc,IAAI,EAAE,CAAC,WAAW,KAAK,CAAC;AACnH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,EAAW;IACrC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,KAAK,CAAE,CAAC;IAC1D,OAAO,SAAS,EAAE,CAAC,KAAK,IAAI,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAW;IAC1C,IAAI,EAAE,CAAC,WAAW,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,cAAc,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC;AAChE,CAAC"}
package/dist/git.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Commit } from './types';
1
+ import { Commit } from './types.js';
2
2
  export declare function getCommits(repoPath: string, since?: string, until?: string): Promise<Commit[]>;
3
3
  export declare function isGitRepo(repoPath: string): Promise<boolean>;
4
4
  /**
package/dist/git.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAIjC,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,EAAE,CAAC,CAuBnB;AA+BD,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQlE;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ3E;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,EAAE,CAAC,CAWnB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQnF;AAED,MAAM,WAAW,SAAS;IACxB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACtC,SAAS,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACvD;AAED,MAAM,WAAW,WAAW;IAC1B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACtC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3E;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,SAAS,CAAC,CAmDpB;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,CAgDtB"}
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAIpC,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,EAAE,CAAC,CAuBnB;AA+BD,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQlE;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ3E;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,EAAE,CAAC,CAWnB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQnF;AAED,MAAM,WAAW,SAAS;IACxB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACtC,SAAS,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACvD;AAED,MAAM,WAAW,WAAW;IAC1B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACtC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3E;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,SAAS,CAAC,CAmDpB;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,CAgDtB"}