@kenkaiiii/ggcoder 5.6.3 → 5.7.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 (47) hide show
  1. package/dist/app-sidecar.js +124 -2
  2. package/dist/app-sidecar.js.map +1 -1
  3. package/dist/core/progress/engine.d.ts +23 -0
  4. package/dist/core/progress/engine.d.ts.map +1 -0
  5. package/dist/core/progress/engine.js +131 -0
  6. package/dist/core/progress/engine.js.map +1 -0
  7. package/dist/core/progress/engine.test.d.ts +2 -0
  8. package/dist/core/progress/engine.test.d.ts.map +1 -0
  9. package/dist/core/progress/engine.test.js +136 -0
  10. package/dist/core/progress/engine.test.js.map +1 -0
  11. package/dist/core/progress/git-xp.d.ts +16 -0
  12. package/dist/core/progress/git-xp.d.ts.map +1 -0
  13. package/dist/core/progress/git-xp.js +106 -0
  14. package/dist/core/progress/git-xp.js.map +1 -0
  15. package/dist/core/progress/git-xp.test.d.ts +2 -0
  16. package/dist/core/progress/git-xp.test.d.ts.map +1 -0
  17. package/dist/core/progress/git-xp.test.js +88 -0
  18. package/dist/core/progress/git-xp.test.js.map +1 -0
  19. package/dist/core/progress/ranks.d.ts +21 -0
  20. package/dist/core/progress/ranks.d.ts.map +1 -0
  21. package/dist/core/progress/ranks.js +141 -0
  22. package/dist/core/progress/ranks.js.map +1 -0
  23. package/dist/core/progress/ranks.test.d.ts +2 -0
  24. package/dist/core/progress/ranks.test.d.ts.map +1 -0
  25. package/dist/core/progress/ranks.test.js +59 -0
  26. package/dist/core/progress/ranks.test.js.map +1 -0
  27. package/dist/core/progress/rebuild.d.ts +7 -0
  28. package/dist/core/progress/rebuild.d.ts.map +1 -0
  29. package/dist/core/progress/rebuild.js +106 -0
  30. package/dist/core/progress/rebuild.js.map +1 -0
  31. package/dist/core/progress/rebuild.test.d.ts +2 -0
  32. package/dist/core/progress/rebuild.test.d.ts.map +1 -0
  33. package/dist/core/progress/rebuild.test.js +72 -0
  34. package/dist/core/progress/rebuild.test.js.map +1 -0
  35. package/dist/core/progress/store.d.ts +35 -0
  36. package/dist/core/progress/store.d.ts.map +1 -0
  37. package/dist/core/progress/store.js +200 -0
  38. package/dist/core/progress/store.js.map +1 -0
  39. package/dist/core/progress/store.test.d.ts +2 -0
  40. package/dist/core/progress/store.test.d.ts.map +1 -0
  41. package/dist/core/progress/store.test.js +108 -0
  42. package/dist/core/progress/store.test.js.map +1 -0
  43. package/dist/core/progress/types.d.ts +108 -0
  44. package/dist/core/progress/types.d.ts.map +1 -0
  45. package/dist/core/progress/types.js +3 -0
  46. package/dist/core/progress/types.js.map +1 -0
  47. package/package.json +4 -4
@@ -0,0 +1,108 @@
1
+ /** Rank-up event embedded in the file so watcher-side sidecars can re-broadcast it once. */
2
+ export interface LevelUpEvent {
3
+ from: number;
4
+ to: number;
5
+ rankName: string;
6
+ }
7
+ /** Last award event marker — nonce lets other windows dedupe celebrations. */
8
+ export interface ProgressLastEvent {
9
+ nonce: string;
10
+ levelUp: LevelUpEvent | null;
11
+ }
12
+ /** Durable on-disk progress file (~/.gg/progress.json), versioned + HMAC-signed. */
13
+ export interface ProgressFile {
14
+ v: 1;
15
+ xp: number;
16
+ createdAt: string;
17
+ totals: {
18
+ prompts: number;
19
+ commits: number;
20
+ linesShipped: number;
21
+ /** Hashed project cwds the user has earned XP in. */
22
+ projects: string[];
23
+ };
24
+ xpBySource: {
25
+ prompts: number;
26
+ commits: number;
27
+ streakBonus: number;
28
+ };
29
+ streak: {
30
+ current: number;
31
+ best: number;
32
+ /** Local calendar day (YYYY-MM-DD) of the last XP event. */
33
+ lastActiveDay: string;
34
+ };
35
+ rolling: {
36
+ /** Epoch-ms timestamps of prompt awards in the last hour. */
37
+ promptTimes: number[];
38
+ /** Epoch-ms timestamps of XP-earning commits in the last hour. */
39
+ commitTimes: number[];
40
+ /** XP earned so far today (for the daily soft cap). */
41
+ dayXp: number;
42
+ /** Local calendar day (YYYY-MM-DD) dayXp belongs to. */
43
+ dayKey: string;
44
+ };
45
+ /** Per-repo last seen HEAD, keyed by repo-root hash. */
46
+ repos: Record<string, {
47
+ lastHead: string;
48
+ }>;
49
+ /** Ring buffer of git patch-ids already scored (cap 500). */
50
+ patchIds: string[];
51
+ lastEvent: ProgressLastEvent | null;
52
+ /** HMAC-SHA256 of canonical JSON minus this field. */
53
+ sig: string;
54
+ }
55
+ /** One rung of the 50-rank ladder, as sent to the webview. */
56
+ export interface RankLadderEntry {
57
+ level: number;
58
+ name: string;
59
+ tier: number;
60
+ tierName: string;
61
+ effectId: string;
62
+ /** Cumulative XP required to reach this level. */
63
+ xpRequired: number;
64
+ }
65
+ /** What the sidecar broadcasts/serves — the webview renders this verbatim. */
66
+ export interface ProgressSnapshot {
67
+ level: number;
68
+ rankName: string;
69
+ tier: number;
70
+ tierName: string;
71
+ tierGlyph: string;
72
+ effectId: string;
73
+ xp: number;
74
+ xpIntoLevel: number;
75
+ xpForLevel: number;
76
+ /** 0–100 percent toward the next level. */
77
+ percent: number;
78
+ streak: {
79
+ current: number;
80
+ best: number;
81
+ };
82
+ totals: {
83
+ prompts: number;
84
+ commits: number;
85
+ linesShipped: number;
86
+ projects: number;
87
+ };
88
+ xpBySource: {
89
+ prompts: number;
90
+ commits: number;
91
+ streakBonus: number;
92
+ };
93
+ memberSince: string;
94
+ ladder: RankLadderEntry[];
95
+ levelUp: LevelUpEvent | null;
96
+ /** Nonce of the award event this snapshot was produced by (for celebration dedupe). */
97
+ eventNonce: string | null;
98
+ /** True only on the SSE frame sent to the window whose run earned the XP.
99
+ * Gates window-local feedback (sounds, XP chips); absent on GET /progress. */
100
+ origin?: boolean;
101
+ }
102
+ /** A commit that passed detection filters and is ready to be scored. */
103
+ export interface ScoredCommit {
104
+ sha: string;
105
+ patchId: string;
106
+ linesChanged: number;
107
+ }
108
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/progress/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ // Progress ("Ranks") system — shared types for the XP engine, store, and broadcast snapshot.
2
+ export {};
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/progress/types.ts"],"names":[],"mappings":"AAAA,6FAA6F"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kenkaiiii/ggcoder",
3
- "version": "5.6.3",
3
+ "version": "5.7.0",
4
4
  "type": "module",
5
5
  "description": "CLI coding agent with OAuth authentication for Anthropic, OpenAI, and Gemini",
6
6
  "license": "MIT",
@@ -113,9 +113,9 @@
113
113
  "typescript-language-server": "^5.3.0",
114
114
  "wrap-ansi": "^10.0.0",
115
115
  "zod": "^4.4.3",
116
- "@kenkaiiii/gg-ai": "5.6.3",
117
- "@kenkaiiii/gg-core": "5.6.3",
118
- "@kenkaiiii/gg-agent": "5.6.3"
116
+ "@kenkaiiii/gg-agent": "5.7.0",
117
+ "@kenkaiiii/gg-ai": "5.7.0",
118
+ "@kenkaiiii/gg-core": "5.7.0"
119
119
  },
120
120
  "optionalDependencies": {
121
121
  "@huggingface/transformers": "^3.6.0",