@codeledger/cli 0.6.8 → 0.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 (156) hide show
  1. package/dist/commands/activate.d.ts.map +1 -1
  2. package/dist/commands/activate.js +94 -26
  3. package/dist/commands/activate.js.map +1 -1
  4. package/dist/commands/ci.d.ts +16 -0
  5. package/dist/commands/ci.d.ts.map +1 -0
  6. package/dist/commands/ci.js +323 -0
  7. package/dist/commands/ci.js.map +1 -0
  8. package/dist/commands/commit-msg.d.ts +58 -0
  9. package/dist/commands/commit-msg.d.ts.map +1 -0
  10. package/dist/commands/commit-msg.js +461 -0
  11. package/dist/commands/commit-msg.js.map +1 -0
  12. package/dist/commands/compare.d.ts.map +1 -1
  13. package/dist/commands/compare.js +8 -0
  14. package/dist/commands/compare.js.map +1 -1
  15. package/dist/commands/context.d.ts +17 -0
  16. package/dist/commands/context.d.ts.map +1 -0
  17. package/dist/commands/context.js +687 -0
  18. package/dist/commands/context.js.map +1 -0
  19. package/dist/commands/doctor.d.ts.map +1 -1
  20. package/dist/commands/doctor.js +65 -0
  21. package/dist/commands/doctor.js.map +1 -1
  22. package/dist/commands/enable.d.ts +7 -0
  23. package/dist/commands/enable.d.ts.map +1 -0
  24. package/dist/commands/enable.js +75 -0
  25. package/dist/commands/enable.js.map +1 -0
  26. package/dist/commands/features.d.ts +2 -0
  27. package/dist/commands/features.d.ts.map +1 -0
  28. package/dist/commands/features.js +182 -0
  29. package/dist/commands/features.js.map +1 -0
  30. package/dist/commands/init.d.ts.map +1 -1
  31. package/dist/commands/init.js +22 -1
  32. package/dist/commands/init.js.map +1 -1
  33. package/dist/commands/intent.d.ts +5 -3
  34. package/dist/commands/intent.d.ts.map +1 -1
  35. package/dist/commands/intent.js +135 -4
  36. package/dist/commands/intent.js.map +1 -1
  37. package/dist/commands/ledger.d.ts +14 -0
  38. package/dist/commands/ledger.d.ts.map +1 -0
  39. package/dist/commands/ledger.js +128 -0
  40. package/dist/commands/ledger.js.map +1 -0
  41. package/dist/commands/license.d.ts +45 -0
  42. package/dist/commands/license.d.ts.map +1 -0
  43. package/dist/commands/license.js +240 -0
  44. package/dist/commands/license.js.map +1 -0
  45. package/dist/commands/orchestrate.d.ts +12 -0
  46. package/dist/commands/orchestrate.d.ts.map +1 -0
  47. package/dist/commands/orchestrate.js +119 -0
  48. package/dist/commands/orchestrate.js.map +1 -0
  49. package/dist/commands/policy-simulate.d.ts +9 -0
  50. package/dist/commands/policy-simulate.d.ts.map +1 -0
  51. package/dist/commands/policy-simulate.js +46 -0
  52. package/dist/commands/policy-simulate.js.map +1 -0
  53. package/dist/commands/pr-summary.d.ts +59 -0
  54. package/dist/commands/pr-summary.d.ts.map +1 -0
  55. package/dist/commands/pr-summary.js +524 -0
  56. package/dist/commands/pr-summary.js.map +1 -0
  57. package/dist/commands/provenance.d.ts +10 -0
  58. package/dist/commands/provenance.d.ts.map +1 -0
  59. package/dist/commands/provenance.js +87 -0
  60. package/dist/commands/provenance.js.map +1 -0
  61. package/dist/commands/replay.d.ts +2 -0
  62. package/dist/commands/replay.d.ts.map +1 -0
  63. package/dist/commands/replay.js +181 -0
  64. package/dist/commands/replay.js.map +1 -0
  65. package/dist/commands/serve.d.ts +3 -0
  66. package/dist/commands/serve.d.ts.map +1 -1
  67. package/dist/commands/serve.js +73 -1
  68. package/dist/commands/serve.js.map +1 -1
  69. package/dist/commands/session-cleanup.js +1 -0
  70. package/dist/commands/session-cleanup.js.map +1 -1
  71. package/dist/commands/session-summary.d.ts.map +1 -1
  72. package/dist/commands/session-summary.js +180 -3
  73. package/dist/commands/session-summary.js.map +1 -1
  74. package/dist/commands/setup-ci.d.ts +17 -1
  75. package/dist/commands/setup-ci.d.ts.map +1 -1
  76. package/dist/commands/setup-ci.js +202 -51
  77. package/dist/commands/setup-ci.js.map +1 -1
  78. package/dist/commands/share.js +1 -1
  79. package/dist/commands/share.js.map +1 -1
  80. package/dist/commands/stats.d.ts +8 -0
  81. package/dist/commands/stats.d.ts.map +1 -0
  82. package/dist/commands/stats.js +164 -0
  83. package/dist/commands/stats.js.map +1 -0
  84. package/dist/commands/team-ledger.d.ts +11 -0
  85. package/dist/commands/team-ledger.d.ts.map +1 -0
  86. package/dist/commands/team-ledger.js +74 -0
  87. package/dist/commands/team-ledger.js.map +1 -0
  88. package/dist/commands/team-metrics.d.ts +8 -0
  89. package/dist/commands/team-metrics.d.ts.map +1 -0
  90. package/dist/commands/team-metrics.js +57 -0
  91. package/dist/commands/team-metrics.js.map +1 -0
  92. package/dist/commands/upgrade.d.ts +6 -0
  93. package/dist/commands/upgrade.d.ts.map +1 -0
  94. package/dist/commands/upgrade.js +39 -0
  95. package/dist/commands/upgrade.js.map +1 -0
  96. package/dist/commands/verify.d.ts.map +1 -1
  97. package/dist/commands/verify.js +35 -3
  98. package/dist/commands/verify.js.map +1 -1
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/index.js +256 -36
  101. package/dist/index.js.map +1 -1
  102. package/dist/intent/extractor.d.ts +15 -0
  103. package/dist/intent/extractor.d.ts.map +1 -0
  104. package/dist/intent/extractor.js +149 -0
  105. package/dist/intent/extractor.js.map +1 -0
  106. package/dist/intent/fetcher.d.ts +33 -0
  107. package/dist/intent/fetcher.d.ts.map +1 -0
  108. package/dist/intent/fetcher.js +364 -0
  109. package/dist/intent/fetcher.js.map +1 -0
  110. package/dist/intent/loader.d.ts +26 -0
  111. package/dist/intent/loader.d.ts.map +1 -0
  112. package/dist/intent/loader.js +80 -0
  113. package/dist/intent/loader.js.map +1 -0
  114. package/dist/intent/types.d.ts +33 -0
  115. package/dist/intent/types.d.ts.map +1 -0
  116. package/dist/intent/types.js +9 -0
  117. package/dist/intent/types.js.map +1 -0
  118. package/dist/project-config.d.ts +38 -0
  119. package/dist/project-config.d.ts.map +1 -0
  120. package/dist/project-config.js +206 -0
  121. package/dist/project-config.js.map +1 -0
  122. package/dist/review-intelligence/detectors/architecture-graph.d.ts +18 -0
  123. package/dist/review-intelligence/detectors/architecture-graph.d.ts.map +1 -0
  124. package/dist/review-intelligence/detectors/architecture-graph.js +73 -0
  125. package/dist/review-intelligence/detectors/architecture-graph.js.map +1 -0
  126. package/dist/review-intelligence/detectors/pack-rules.d.ts +16 -0
  127. package/dist/review-intelligence/detectors/pack-rules.d.ts.map +1 -0
  128. package/dist/review-intelligence/detectors/pack-rules.js +107 -0
  129. package/dist/review-intelligence/detectors/pack-rules.js.map +1 -0
  130. package/dist/review-intelligence/fixes/index.d.ts +18 -0
  131. package/dist/review-intelligence/fixes/index.d.ts.map +1 -1
  132. package/dist/review-intelligence/fixes/index.js +198 -9
  133. package/dist/review-intelligence/fixes/index.js.map +1 -1
  134. package/dist/review-intelligence/index.d.ts +4 -1
  135. package/dist/review-intelligence/index.d.ts.map +1 -1
  136. package/dist/review-intelligence/index.js +20 -3
  137. package/dist/review-intelligence/index.js.map +1 -1
  138. package/dist/review-intelligence/invariants.d.ts +15 -0
  139. package/dist/review-intelligence/invariants.d.ts.map +1 -1
  140. package/dist/review-intelligence/invariants.js +36 -5
  141. package/dist/review-intelligence/invariants.js.map +1 -1
  142. package/dist/review-intelligence/types.d.ts +16 -12
  143. package/dist/review-intelligence/types.d.ts.map +1 -1
  144. package/dist/review-intelligence/types.js +9 -1
  145. package/dist/review-intelligence/types.js.map +1 -1
  146. package/dist/templates/claude-md.d.ts.map +1 -1
  147. package/dist/templates/claude-md.js +32 -127
  148. package/dist/templates/claude-md.js.map +1 -1
  149. package/dist/templates/config.js +4 -4
  150. package/dist/templates/config.js.map +1 -1
  151. package/dist/templates/hooks.d.ts +3 -1
  152. package/dist/templates/hooks.d.ts.map +1 -1
  153. package/dist/templates/hooks.js +101 -2
  154. package/dist/templates/hooks.js.map +1 -1
  155. package/package.json +11 -10
  156. package/LICENSE +0 -27
@@ -0,0 +1,58 @@
1
+ /**
2
+ * codeledger commit-msg — Generate a structured commit message from staged changes.
3
+ *
4
+ * Architecture:
5
+ * 1. collectGitContext() — gather staged diff, file list, branch, recent commits
6
+ * 2. analyzeDiff() — classify change type, infer scope, extract structural changes
7
+ * 3. renderMessage() — build conventional commit message from analysis
8
+ * 4. injectSignature() — optionally append "Generated with CodeLedger AI"
9
+ *
10
+ * Flags:
11
+ * --ticket <id> Ticket/issue reference (or auto-extracted from branch)
12
+ * --notes "..." Extra context to include in body
13
+ * --json Output structured JSON instead of plain text
14
+ * --apply Write message to .git/COMMIT_EDITMSG (for hook integration)
15
+ * --signature on|off Append "Generated with CodeLedger AI" (default: off)
16
+ * --format full|minimal Full message with bullets vs subject-only
17
+ */
18
+ import type { IssueIntent } from '../intent/types.js';
19
+ export interface GitContext {
20
+ diff: string;
21
+ stagedFiles: string[];
22
+ branchName: string;
23
+ recentCommits: string[];
24
+ }
25
+ export interface DiffAnalysis {
26
+ filesChanged: string[];
27
+ additions: number;
28
+ deletions: number;
29
+ changeType: string;
30
+ scope: string;
31
+ summary: string;
32
+ bullets: string[];
33
+ ticket: string;
34
+ isTrivial: boolean;
35
+ addedSymbols: SymbolChanges;
36
+ removedSymbols: SymbolChanges;
37
+ }
38
+ interface SymbolChanges {
39
+ functions: string[];
40
+ classes: string[];
41
+ interfaces: string[];
42
+ }
43
+ export interface CommitMessageOptions {
44
+ ticket: string;
45
+ notes: string;
46
+ signature: boolean;
47
+ format: 'full' | 'minimal';
48
+ intent: IssueIntent | null;
49
+ }
50
+ export declare function collectGitContext(cwd: string): GitContext;
51
+ export declare function inferScope(files: string[]): string;
52
+ export declare function analyzeDiff(ctx: GitContext, flagTicket: string): DiffAnalysis;
53
+ export declare function renderMessage(analysis: DiffAnalysis, opts: CommitMessageOptions): string;
54
+ export declare function injectSignature(message: string, enabled: boolean, isTrivial: boolean): string;
55
+ export declare function runCommitMsg(cwd: string, flags: Record<string, string>): Promise<void>;
56
+ export declare function installPrepareCommitMsgHook(cwd: string, flags: Record<string, string>): void;
57
+ export {};
58
+ //# sourceMappingURL=commit-msg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commit-msg.d.ts","sourceRoot":"","sources":["../../src/commands/commit-msg.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMtD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,aAAa,CAAC;IAC5B,cAAc,EAAE,aAAa,CAAC;CAC/B;AAED,UAAU,aAAa;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;CAC5B;AAID,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAsCzD;AAyDD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAkClD;AAsBD,wBAAgB,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,CA+B7E;AA2FD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAuDxF;AAID,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM,CAG7F;AAID,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAiE5F;AAuBD,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAuC5F"}
@@ -0,0 +1,461 @@
1
+ /**
2
+ * codeledger commit-msg — Generate a structured commit message from staged changes.
3
+ *
4
+ * Architecture:
5
+ * 1. collectGitContext() — gather staged diff, file list, branch, recent commits
6
+ * 2. analyzeDiff() — classify change type, infer scope, extract structural changes
7
+ * 3. renderMessage() — build conventional commit message from analysis
8
+ * 4. injectSignature() — optionally append "Generated with CodeLedger AI"
9
+ *
10
+ * Flags:
11
+ * --ticket <id> Ticket/issue reference (or auto-extracted from branch)
12
+ * --notes "..." Extra context to include in body
13
+ * --json Output structured JSON instead of plain text
14
+ * --apply Write message to .git/COMMIT_EDITMSG (for hook integration)
15
+ * --signature on|off Append "Generated with CodeLedger AI" (default: off)
16
+ * --format full|minimal Full message with bullets vs subject-only
17
+ */
18
+ import { execSync } from 'node:child_process';
19
+ import { existsSync, writeFileSync, mkdirSync, chmodSync } from 'node:fs';
20
+ import { join } from 'node:path';
21
+ import { loadIntent } from '../intent/loader.js';
22
+ import { loadProjectConfig } from '../project-config.js';
23
+ // ── 1. Git Context Collection ────────────────────────────────────────────────
24
+ export function collectGitContext(cwd) {
25
+ let diff;
26
+ try {
27
+ diff = execSync('git diff --staged', { cwd, encoding: 'utf-8', maxBuffer: 10 * 1024 * 1024 });
28
+ }
29
+ catch {
30
+ console.error('Failed to run git diff --staged. Are you in a git repository?');
31
+ process.exit(1);
32
+ }
33
+ if (!diff.trim()) {
34
+ console.error('No staged changes found. Stage files with `git add` first.');
35
+ process.exit(1);
36
+ }
37
+ let stagedFiles;
38
+ try {
39
+ const nameOnly = execSync('git diff --staged --name-only', { cwd, encoding: 'utf-8' });
40
+ stagedFiles = nameOnly.trim().split('\n').filter(Boolean);
41
+ }
42
+ catch {
43
+ stagedFiles = [];
44
+ }
45
+ let branchName = '';
46
+ try {
47
+ branchName = execSync('git rev-parse --abbrev-ref HEAD', { cwd, encoding: 'utf-8' }).trim();
48
+ }
49
+ catch {
50
+ // Not on a branch — ignore
51
+ }
52
+ let recentCommits = [];
53
+ try {
54
+ const log = execSync('git log --oneline -5', { cwd, encoding: 'utf-8' });
55
+ recentCommits = log.trim().split('\n').filter(Boolean);
56
+ }
57
+ catch {
58
+ // No commits yet — ignore
59
+ }
60
+ return { diff, stagedFiles, branchName, recentCommits };
61
+ }
62
+ // ── 2. Diff Analysis ─────────────────────────────────────────────────────────
63
+ const TYPE_SIGNALS = {
64
+ test: {
65
+ patterns: [/\.test\.|\.spec\.|__tests__/],
66
+ dirs: [/^tests?\//],
67
+ },
68
+ docs: {
69
+ patterns: [/\.md$|\.txt$|\.rst$/],
70
+ dirs: [/^docs?\//],
71
+ },
72
+ chore: {
73
+ patterns: [/package\.json$|tsconfig|\.eslint|\.prettier|Dockerfile|\.github\/|\.yml$|\.yaml$/],
74
+ dirs: [/^\.github\/|^scripts?\//],
75
+ },
76
+ };
77
+ function classifyChangeType(files, diffContent) {
78
+ const testSig = TYPE_SIGNALS['test'];
79
+ const docsSig = TYPE_SIGNALS['docs'];
80
+ const choreSig = TYPE_SIGNALS['chore'];
81
+ const allTest = files.length > 0 && files.every((f) => testSig.patterns.some((p) => p.test(f)) ||
82
+ testSig.dirs.some((p) => p.test(f)));
83
+ if (allTest)
84
+ return 'test';
85
+ const allDocs = files.length > 0 && files.every((f) => docsSig.patterns.some((p) => p.test(f)) ||
86
+ docsSig.dirs.some((p) => p.test(f)));
87
+ if (allDocs)
88
+ return 'docs';
89
+ const allChore = files.length > 0 && files.every((f) => choreSig.patterns.some((p) => p.test(f)) ||
90
+ choreSig.dirs.some((p) => p.test(f)));
91
+ if (allChore)
92
+ return 'chore';
93
+ // New files → feat
94
+ if (/^new file mode/m.test(diffContent))
95
+ return 'feat';
96
+ // New exports/functions/classes → feat
97
+ if (/^\+.*export\s+(function|class|const|interface|type)\b/m.test(diffContent))
98
+ return 'feat';
99
+ // Ratio-based: mostly deletions → refactor; mostly additions → feat; mixed → fix
100
+ const addLines = (diffContent.match(/^\+[^+]/gm) || []).length;
101
+ const delLines = (diffContent.match(/^-[^-]/gm) || []).length;
102
+ if (delLines > addLines * 2)
103
+ return 'refactor';
104
+ if (addLines > delLines * 2)
105
+ return 'feat';
106
+ return 'fix';
107
+ }
108
+ export function inferScope(files) {
109
+ if (files.length === 0)
110
+ return '';
111
+ const dirs = files.map((f) => {
112
+ const parts = f.split('/');
113
+ parts.pop();
114
+ return parts;
115
+ });
116
+ if (dirs.length === 0)
117
+ return '';
118
+ const first = dirs[0];
119
+ let commonLen = 0;
120
+ for (let i = 0; i < first.length; i++) {
121
+ if (dirs.every((d) => d[i] === first[i])) {
122
+ commonLen = i + 1;
123
+ }
124
+ else {
125
+ break;
126
+ }
127
+ }
128
+ const commonPath = first.slice(0, commonLen);
129
+ const GENERIC = new Set(['src', 'packages', 'lib', 'dist', 'build']);
130
+ const meaningful = commonPath.filter((p) => !GENERIC.has(p));
131
+ if (meaningful.length > 0) {
132
+ return meaningful[meaningful.length - 1];
133
+ }
134
+ if (commonPath.length > 0) {
135
+ return commonPath[commonPath.length - 1];
136
+ }
137
+ return '';
138
+ }
139
+ function extractSymbols(diffContent) {
140
+ const added = {
141
+ functions: [...diffContent.matchAll(/^\+.*(?:export\s+)?(?:async\s+)?function\s+(\w+)/gm)].map((m) => m[1]),
142
+ classes: [...diffContent.matchAll(/^\+.*(?:export\s+)?class\s+(\w+)/gm)].map((m) => m[1]),
143
+ interfaces: [...diffContent.matchAll(/^\+.*(?:export\s+)?(?:interface|type)\s+(\w+)/gm)].map((m) => m[1]),
144
+ };
145
+ const removed = {
146
+ functions: [...diffContent.matchAll(/^-.*(?:export\s+)?(?:async\s+)?function\s+(\w+)/gm)].map((m) => m[1]),
147
+ classes: [...diffContent.matchAll(/^-.*(?:export\s+)?class\s+(\w+)/gm)].map((m) => m[1]),
148
+ interfaces: [...diffContent.matchAll(/^-.*(?:export\s+)?(?:interface|type)\s+(\w+)/gm)].map((m) => m[1]),
149
+ };
150
+ return { added, removed };
151
+ }
152
+ function extractTicket(branchName, flagTicket) {
153
+ if (flagTicket)
154
+ return flagTicket;
155
+ const match = branchName.match(/([A-Z]+-\d+|\b\d{3,6}\b)/);
156
+ return match ? match[1] : '';
157
+ }
158
+ export function analyzeDiff(ctx, flagTicket) {
159
+ const { diff, stagedFiles, branchName } = ctx;
160
+ const changeType = classifyChangeType(stagedFiles, diff);
161
+ const scope = inferScope(stagedFiles);
162
+ const { added, removed } = extractSymbols(diff);
163
+ const ticket = extractTicket(branchName, flagTicket);
164
+ const addLines = (diff.match(/^\+[^+]/gm) || []).length;
165
+ const delLines = (diff.match(/^-[^-]/gm) || []).length;
166
+ const isTrivial = (addLines + delLines) <= 5 && stagedFiles.length <= 2;
167
+ // Build bullets from structural changes
168
+ const bullets = buildBullets(stagedFiles, added, removed);
169
+ // Generate summary
170
+ const summary = buildSummary(stagedFiles, changeType, scope, added);
171
+ return {
172
+ filesChanged: stagedFiles,
173
+ additions: addLines,
174
+ deletions: delLines,
175
+ changeType,
176
+ scope,
177
+ summary,
178
+ bullets,
179
+ ticket,
180
+ isTrivial,
181
+ addedSymbols: added,
182
+ removedSymbols: removed,
183
+ };
184
+ }
185
+ function buildBullets(files, added, removed) {
186
+ const bullets = [];
187
+ if (added.functions.length > 0 && added.functions.length <= 5) {
188
+ bullets.push(`Add ${added.functions.join(', ')} function${added.functions.length > 1 ? 's' : ''}`);
189
+ }
190
+ else if (added.functions.length > 5) {
191
+ bullets.push(`Add ${added.functions.length} new functions`);
192
+ }
193
+ if (added.classes.length > 0) {
194
+ bullets.push(`Add ${added.classes.join(', ')} class${added.classes.length > 1 ? 'es' : ''}`);
195
+ }
196
+ if (added.interfaces.length > 0 && added.interfaces.length <= 5) {
197
+ bullets.push(`Add ${added.interfaces.join(', ')} type${added.interfaces.length > 1 ? 's' : ''}`);
198
+ }
199
+ if (removed.functions.length > 0 && removed.functions.length <= 5) {
200
+ bullets.push(`Remove ${removed.functions.join(', ')}`);
201
+ }
202
+ // Fall back to file-group descriptions if no structural changes
203
+ if (bullets.length === 0) {
204
+ const dirGroups = new Map();
205
+ for (const f of files) {
206
+ const parts = f.split('/');
207
+ const filename = parts.pop() ?? f;
208
+ const dir = parts.join('/') || '.';
209
+ const group = dirGroups.get(dir);
210
+ if (group) {
211
+ group.push(filename);
212
+ }
213
+ else {
214
+ dirGroups.set(dir, [filename]);
215
+ }
216
+ }
217
+ for (const [dir, fileNames] of dirGroups) {
218
+ if (fileNames.length <= 3) {
219
+ bullets.push(`Update ${fileNames.join(', ')}${dir !== '.' ? ` in ${dir}` : ''}`);
220
+ }
221
+ else {
222
+ bullets.push(`Update ${fileNames.length} files in ${dir}`);
223
+ }
224
+ }
225
+ }
226
+ return bullets;
227
+ }
228
+ function buildSummary(files, changeType, scope, added) {
229
+ let summary;
230
+ if (files.length === 1) {
231
+ const filename = files[0].split('/').pop() ?? files[0];
232
+ const base = filename.replace(/\.\w+$/, '');
233
+ switch (changeType) {
234
+ case 'fix':
235
+ summary = `fix ${base} issue`;
236
+ break;
237
+ case 'feat':
238
+ summary = `add ${added.functions[0] ?? added.classes[0] ?? 'new functionality'}`;
239
+ break;
240
+ case 'refactor':
241
+ summary = `refactor ${base}`;
242
+ break;
243
+ case 'test':
244
+ summary = `add tests for ${scope || base}`;
245
+ break;
246
+ case 'docs':
247
+ summary = `update ${filename}`;
248
+ break;
249
+ case 'chore':
250
+ summary = `update ${filename}`;
251
+ break;
252
+ case 'perf':
253
+ summary = `optimize ${base}`;
254
+ break;
255
+ default: summary = `update ${filename}`;
256
+ }
257
+ }
258
+ else {
259
+ const target = scope || `${files.length} files`;
260
+ switch (changeType) {
261
+ case 'fix':
262
+ summary = `fix issues in ${target}`;
263
+ break;
264
+ case 'feat':
265
+ summary = `add new functionality to ${target}`;
266
+ break;
267
+ case 'refactor':
268
+ summary = `refactor ${target}`;
269
+ break;
270
+ case 'test':
271
+ summary = `add tests for ${target}`;
272
+ break;
273
+ case 'docs':
274
+ summary = `update documentation`;
275
+ break;
276
+ case 'chore':
277
+ summary = `update build/config for ${target}`;
278
+ break;
279
+ case 'perf':
280
+ summary = `optimize ${target}`;
281
+ break;
282
+ default: summary = `update ${target}`;
283
+ }
284
+ }
285
+ // Enforce 72-char limit on subject portion
286
+ const prefixLen = changeType.length + (scope ? scope.length + 2 : 0) + 2;
287
+ const maxSummary = 72 - prefixLen;
288
+ if (summary.length > maxSummary) {
289
+ summary = summary.slice(0, maxSummary - 3) + '...';
290
+ }
291
+ return summary;
292
+ }
293
+ // ── 3. Message Rendering ─────────────────────────────────────────────────────
294
+ export function renderMessage(analysis, opts) {
295
+ const { changeType, scope, summary, bullets, isTrivial } = analysis;
296
+ const parts = [];
297
+ // Subject line
298
+ const scopePart = scope ? `(${scope})` : '';
299
+ parts.push(`${changeType}${scopePart}: ${summary}`);
300
+ // For minimal format, return subject only
301
+ if (opts.format === 'minimal') {
302
+ return parts.join('\n');
303
+ }
304
+ // Body bullets (skip for trivial changes)
305
+ if (bullets.length > 0 && !isTrivial) {
306
+ parts.push('');
307
+ for (const bullet of bullets.slice(0, 8)) {
308
+ parts.push(`* ${bullet}`);
309
+ }
310
+ }
311
+ // Intent context — explain "why" when issue data is available
312
+ if (opts.intent) {
313
+ parts.push('');
314
+ parts.push(`Why: ${opts.intent.goal}`);
315
+ if (opts.intent.source_id) {
316
+ parts.push(`Issue: ${opts.intent.source_id}`);
317
+ }
318
+ }
319
+ // User notes
320
+ if (opts.notes) {
321
+ parts.push('');
322
+ parts.push(opts.notes);
323
+ }
324
+ // Footer
325
+ const footerParts = [];
326
+ if (opts.ticket) {
327
+ footerParts.push(`Refs: ${opts.ticket}`);
328
+ }
329
+ if (!isTrivial && analysis.filesChanged.length > 10) {
330
+ const topDirs = new Set(analysis.filesChanged.map((f) => f.split('/')[0]));
331
+ footerParts.push(`Touches ${analysis.filesChanged.length} files across ${topDirs.size} top-level directories`);
332
+ }
333
+ if (footerParts.length > 0) {
334
+ parts.push('');
335
+ for (const fp of footerParts) {
336
+ parts.push(fp);
337
+ }
338
+ }
339
+ return parts.join('\n');
340
+ }
341
+ // ── 4. Signature Injection ───────────────────────────────────────────────────
342
+ export function injectSignature(message, enabled, isTrivial) {
343
+ if (!enabled || isTrivial)
344
+ return message;
345
+ return message + '\n\nGenerated with CodeLedger AI';
346
+ }
347
+ // ── Main command ─────────────────────────────────────────────────────────────
348
+ export async function runCommitMsg(cwd, flags) {
349
+ // --install-hook: set up prepare-commit-msg git hook (no staged changes needed)
350
+ if (flags['install-hook'] === 'true') {
351
+ installPrepareCommitMsgHook(cwd, flags);
352
+ return;
353
+ }
354
+ // 1. Collect git context
355
+ const ctx = collectGitContext(cwd);
356
+ // 2. Analyze the diff
357
+ const analysis = analyzeDiff(ctx, flags['ticket'] ?? '');
358
+ // 2.5. Load intent (from --issue, --intent-file, or branch inference)
359
+ const projectCfg = loadProjectConfig(cwd);
360
+ const intent = await loadIntent({
361
+ issue: flags['issue'],
362
+ intentFile: flags['intent-file'],
363
+ trackerPrefix: projectCfg.intent.tracker_prefix || undefined,
364
+ });
365
+ // 3. Build options (CLI flags override .codeledger.yml defaults)
366
+ const opts = {
367
+ ticket: analysis.ticket || (intent?.source_id ?? ''),
368
+ notes: flags['notes'] ?? '',
369
+ signature: flags['signature'] !== undefined
370
+ ? flags['signature'] === 'on'
371
+ : projectCfg.commit_msg.signature,
372
+ format: flags['format'] !== undefined
373
+ ? (flags['format'] === 'minimal' ? 'minimal' : 'full')
374
+ : projectCfg.commit_msg.format,
375
+ intent,
376
+ };
377
+ // 4. Render message
378
+ let message = renderMessage(analysis, opts);
379
+ // 5. Inject signature (off by default)
380
+ message = injectSignature(message, opts.signature, analysis.isTrivial);
381
+ // 6. --apply: write to .git/COMMIT_EDITMSG
382
+ if (flags['apply'] === 'true') {
383
+ try {
384
+ const gitDir = execSync('git rev-parse --git-dir', { cwd, encoding: 'utf-8' }).trim();
385
+ const commitEditmsgPath = join(cwd, gitDir, 'COMMIT_EDITMSG');
386
+ writeFileSync(commitEditmsgPath, message + '\n', 'utf-8');
387
+ console.log(`Commit message written to ${commitEditmsgPath}`);
388
+ }
389
+ catch {
390
+ console.error('Failed to write to .git/COMMIT_EDITMSG. Is this a git repository?');
391
+ process.exit(1);
392
+ }
393
+ return;
394
+ }
395
+ // 7. Output
396
+ if (flags['json'] === 'true') {
397
+ console.log(JSON.stringify({
398
+ message,
399
+ analysis,
400
+ recentCommits: ctx.recentCommits,
401
+ branchName: ctx.branchName,
402
+ }, null, 2));
403
+ }
404
+ else {
405
+ console.log(message);
406
+ }
407
+ }
408
+ // ── Hook Installer ───────────────────────────────────────────────────────────
409
+ const HOOK_SCRIPT = `#!/bin/sh
410
+ # prepare-commit-msg hook installed by CodeLedger
411
+ # Generates a conventional commit message from staged changes.
412
+ # Edit the message in your editor after it's generated.
413
+
414
+ COMMIT_MSG_FILE="$1"
415
+ COMMIT_SOURCE="$2"
416
+
417
+ # Only run for normal commits (not merge, squash, or amend)
418
+ if [ -n "$COMMIT_SOURCE" ]; then
419
+ exit 0
420
+ fi
421
+
422
+ # Generate message and write to the commit message file
423
+ npx codeledger commit-msg --apply 2>/dev/null
424
+
425
+ exit 0
426
+ `;
427
+ export function installPrepareCommitMsgHook(cwd, flags) {
428
+ let gitDir;
429
+ try {
430
+ gitDir = execSync('git rev-parse --git-dir', { cwd, encoding: 'utf-8' }).trim();
431
+ }
432
+ catch {
433
+ console.error('Not a git repository. Run this from inside a git repo.');
434
+ process.exit(1);
435
+ }
436
+ const hooksDir = join(cwd, gitDir, 'hooks');
437
+ const hookPath = join(hooksDir, 'prepare-commit-msg');
438
+ if (!existsSync(hooksDir)) {
439
+ mkdirSync(hooksDir, { recursive: true });
440
+ }
441
+ if (existsSync(hookPath) && flags['force'] !== 'true') {
442
+ console.error(`Hook already exists at ${hookPath}`);
443
+ console.error('Use --force to overwrite.');
444
+ process.exit(1);
445
+ }
446
+ // Build hook content with user's flags forwarded
447
+ let hookFlags = '';
448
+ if (flags['signature'] === 'on')
449
+ hookFlags += ' --signature on';
450
+ if (flags['format'] === 'minimal')
451
+ hookFlags += ' --format minimal';
452
+ if (flags['ticket'])
453
+ hookFlags += ` --ticket ${flags['ticket']}`;
454
+ const hookContent = HOOK_SCRIPT.replace('npx codeledger commit-msg --apply', `npx codeledger commit-msg --apply${hookFlags}`);
455
+ writeFileSync(hookPath, hookContent, 'utf-8');
456
+ chmodSync(hookPath, 0o755);
457
+ console.log(`prepare-commit-msg hook installed at ${hookPath}`);
458
+ console.log('The hook will generate a commit message from staged changes.');
459
+ console.log('You can still edit the message in your editor before committing.');
460
+ }
461
+ //# sourceMappingURL=commit-msg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commit-msg.js","sourceRoot":"","sources":["../../src/commands/commit-msg.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAuCzD,gFAAgF;AAEhF,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,QAAQ,CAAC,mBAAmB,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;IAChG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,WAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,+BAA+B,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACvF,WAAW,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,WAAW,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,CAAC;QACH,UAAU,GAAG,QAAQ,CAAC,iCAAiC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9F,CAAC;IAAC,MAAM,CAAC;QACP,2BAA2B;IAC7B,CAAC;IAED,IAAI,aAAa,GAAa,EAAE,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,QAAQ,CAAC,sBAAsB,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACzE,aAAa,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,0BAA0B;IAC5B,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;AAC1D,CAAC;AAED,gFAAgF;AAEhF,MAAM,YAAY,GAA2D;IAC3E,IAAI,EAAE;QACJ,QAAQ,EAAE,CAAC,6BAA6B,CAAC;QACzC,IAAI,EAAE,CAAC,WAAW,CAAC;KACpB;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,CAAC,qBAAqB,CAAC;QACjC,IAAI,EAAE,CAAC,UAAU,CAAC;KACnB;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,CAAC,kFAAkF,CAAC;QAC9F,IAAI,EAAE,CAAC,yBAAyB,CAAC;KAClC;CACF,CAAC;AAEF,SAAS,kBAAkB,CAAC,KAAe,EAAE,WAAmB;IAC9D,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAE,CAAC;IACtC,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAE,CAAC;IAExC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CACpD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CACpC,CAAC;IACF,IAAI,OAAO;QAAE,OAAO,MAAM,CAAC;IAE3B,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CACpD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CACpC,CAAC;IACF,IAAI,OAAO;QAAE,OAAO,MAAM,CAAC;IAE3B,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CACrD,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CACrC,CAAC;IACF,IAAI,QAAQ;QAAE,OAAO,OAAO,CAAC;IAE7B,mBAAmB;IACnB,IAAI,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC;QAAE,OAAO,MAAM,CAAC;IAEvD,uCAAuC;IACvC,IAAI,wDAAwD,CAAC,IAAI,CAAC,WAAW,CAAC;QAAE,OAAO,MAAM,CAAC;IAE9F,iFAAiF;IACjF,MAAM,QAAQ,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IAC/D,MAAM,QAAQ,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IAC9D,IAAI,QAAQ,GAAG,QAAQ,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IAC/C,IAAI,QAAQ,GAAG,QAAQ,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IAE3C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAe;IACxC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,KAAK,CAAC,GAAG,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;IACvB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,MAAM;QACR,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;IAC5C,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;IAC5C,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,cAAc,CAAC,WAAmB;IACzC,MAAM,KAAK,GAAkB;QAC3B,SAAS,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,oDAAoD,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;QAC5G,OAAO,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;QAC1F,UAAU,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,iDAAiD,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;KAC3G,CAAC;IACF,MAAM,OAAO,GAAkB;QAC7B,SAAS,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;QAC3G,OAAO,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;QACzF,UAAU,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,gDAAgD,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;KAC1G,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,aAAa,CAAC,UAAkB,EAAE,UAAkB;IAC3D,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAClC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC3D,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAe,EAAE,UAAkB;IAC7D,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;IAE9C,MAAM,UAAU,GAAG,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACtC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAErD,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IACxD,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IACvD,MAAM,SAAS,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC;IAExE,wCAAwC;IACxC,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAE1D,mBAAmB;IACnB,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAEpE,OAAO;QACL,YAAY,EAAE,WAAW;QACzB,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,QAAQ;QACnB,UAAU;QACV,KAAK;QACL,OAAO;QACP,OAAO;QACP,MAAM;QACN,SAAS;QACT,YAAY,EAAE,KAAK;QACnB,cAAc,EAAE,OAAO;KACxB,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAe,EAAE,KAAoB,EAAE,OAAsB;IACjF,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrG,CAAC;SAAM,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,gBAAgB,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnG,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,gEAAgE;IAChE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC9C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAClC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;YACnC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,SAAS,EAAE,CAAC;YACzC,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,UAAU,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnF,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,UAAU,SAAS,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,YAAY,CAAC,KAAe,EAAE,UAAkB,EAAE,KAAa,EAAE,KAAoB;IAC5F,IAAI,OAAe,CAAC;IAEpB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,CAAC,CAAE,CAAC;QACzD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC5C,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,KAAK;gBAAE,OAAO,GAAG,OAAO,IAAI,QAAQ,CAAC;gBAAC,MAAM;YACjD,KAAK,MAAM;gBAAE,OAAO,GAAG,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,mBAAmB,EAAE,CAAC;gBAAC,MAAM;YACrG,KAAK,UAAU;gBAAE,OAAO,GAAG,YAAY,IAAI,EAAE,CAAC;gBAAC,MAAM;YACrD,KAAK,MAAM;gBAAE,OAAO,GAAG,iBAAiB,KAAK,IAAI,IAAI,EAAE,CAAC;gBAAC,MAAM;YAC/D,KAAK,MAAM;gBAAE,OAAO,GAAG,UAAU,QAAQ,EAAE,CAAC;gBAAC,MAAM;YACnD,KAAK,OAAO;gBAAE,OAAO,GAAG,UAAU,QAAQ,EAAE,CAAC;gBAAC,MAAM;YACpD,KAAK,MAAM;gBAAE,OAAO,GAAG,YAAY,IAAI,EAAE,CAAC;gBAAC,MAAM;YACjD,OAAO,CAAC,CAAC,OAAO,GAAG,UAAU,QAAQ,EAAE,CAAC;QAC1C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,KAAK,IAAI,GAAG,KAAK,CAAC,MAAM,QAAQ,CAAC;QAChD,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,KAAK;gBAAE,OAAO,GAAG,iBAAiB,MAAM,EAAE,CAAC;gBAAC,MAAM;YACvD,KAAK,MAAM;gBAAE,OAAO,GAAG,4BAA4B,MAAM,EAAE,CAAC;gBAAC,MAAM;YACnE,KAAK,UAAU;gBAAE,OAAO,GAAG,YAAY,MAAM,EAAE,CAAC;gBAAC,MAAM;YACvD,KAAK,MAAM;gBAAE,OAAO,GAAG,iBAAiB,MAAM,EAAE,CAAC;gBAAC,MAAM;YACxD,KAAK,MAAM;gBAAE,OAAO,GAAG,sBAAsB,CAAC;gBAAC,MAAM;YACrD,KAAK,OAAO;gBAAE,OAAO,GAAG,2BAA2B,MAAM,EAAE,CAAC;gBAAC,MAAM;YACnE,KAAK,MAAM;gBAAE,OAAO,GAAG,YAAY,MAAM,EAAE,CAAC;gBAAC,MAAM;YACnD,OAAO,CAAC,CAAC,OAAO,GAAG,UAAU,MAAM,EAAE,CAAC;QACxC,CAAC;IACH,CAAC;IAED,2CAA2C;IAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,EAAE,GAAG,SAAS,CAAC;IAClC,IAAI,OAAO,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;QAChC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;IACrD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,gFAAgF;AAEhF,MAAM,UAAU,aAAa,CAAC,QAAsB,EAAE,IAA0B;IAC9E,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;IACpE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,eAAe;IACf,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,GAAG,SAAS,KAAK,OAAO,EAAE,CAAC,CAAC;IAEpD,0CAA0C;IAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,0CAA0C;IAC1C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,aAAa;IACb,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,SAAS;IACT,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,WAAW,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,WAAW,CAAC,IAAI,CAAC,WAAW,QAAQ,CAAC,YAAY,CAAC,MAAM,iBAAiB,OAAO,CAAC,IAAI,wBAAwB,CAAC,CAAC;IACjH,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,gFAAgF;AAEhF,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,OAAgB,EAAE,SAAkB;IACnF,IAAI,CAAC,OAAO,IAAI,SAAS;QAAE,OAAO,OAAO,CAAC;IAC1C,OAAO,OAAO,GAAG,kCAAkC,CAAC;AACtD,CAAC;AAED,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAW,EAAE,KAA6B;IAC3E,gFAAgF;IAChF,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,MAAM,EAAE,CAAC;QACrC,2BAA2B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IAED,yBAAyB;IACzB,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAEnC,sBAAsB;IACtB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAEzD,sEAAsE;IACtE,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;QAC9B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;QACrB,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC;QAChC,aAAa,EAAE,UAAU,CAAC,MAAM,CAAC,cAAc,IAAI,SAAS;KAC7D,CAAC,CAAC;IAEH,iEAAiE;IACjE,MAAM,IAAI,GAAyB;QACjC,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC;QACpD,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;QAC3B,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,SAAS;YACzC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI;YAC7B,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS;QACnC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,SAAS;YACnC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAuB;YAC5E,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM;QAChC,MAAM;KACP,CAAC;IAEF,oBAAoB;IACpB,IAAI,OAAO,GAAG,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAE5C,uCAAuC;IACvC,OAAO,GAAG,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEvE,2CAA2C;IAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,yBAAyB,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACtF,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;YAC9D,aAAa,CAAC,iBAAiB,EAAE,OAAO,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,6BAA6B,iBAAiB,EAAE,CAAC,CAAC;QAChE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;YACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO;IACT,CAAC;IAED,YAAY;IACZ,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,MAAM,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YACzB,OAAO;YACP,QAAQ;YACR,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,UAAU,EAAE,GAAG,CAAC,UAAU;SAC3B,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACf,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;CAiBnB,CAAC;AAEF,MAAM,UAAU,2BAA2B,CAAC,GAAW,EAAE,KAA6B;IACpF,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,QAAQ,CAAC,yBAAyB,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IAEtD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC;QACtD,OAAO,CAAC,KAAK,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,iDAAiD;IACjD,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI;QAAE,SAAS,IAAI,iBAAiB,CAAC;IAChE,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,SAAS;QAAE,SAAS,IAAI,mBAAmB,CAAC;IACpE,IAAI,KAAK,CAAC,QAAQ,CAAC;QAAE,SAAS,IAAI,aAAa,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;IAEjE,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CACrC,mCAAmC,EACnC,oCAAoC,SAAS,EAAE,CAChD,CAAC;IAEF,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAC9C,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE3B,OAAO,CAAC,GAAG,CAAC,wCAAwC,QAAQ,EAAE,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;AAClF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"compare.d.ts","sourceRoot":"","sources":["../../src/commands/compare.ts"],"names":[],"mappings":"AA6EA,wBAAsB,UAAU,CAC9B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CAoIf"}
1
+ {"version":3,"file":"compare.d.ts","sourceRoot":"","sources":["../../src/commands/compare.ts"],"names":[],"mappings":"AAiFA,wBAAsB,UAAU,CAC9B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CAoIf"}
@@ -20,6 +20,10 @@ function isInsideAgentSession() {
20
20
  return 'Cursor';
21
21
  if (process.env['CODEX_SESSION'])
22
22
  return 'Codex';
23
+ if (process.env['KIRO_SESSION'])
24
+ return 'Kiro';
25
+ if (process.env['WINDSURF_SESSION'])
26
+ return 'Windsurf';
23
27
  if (process.env['AI_AGENT_SESSION'])
24
28
  return process.env['AI_AGENT_SESSION'];
25
29
  // Strategy 2: process-tree heuristic (Linux/macOS)
@@ -32,6 +36,10 @@ function isInsideAgentSession() {
32
36
  return 'Cursor';
33
37
  if (procTree.some((name) => name.includes('codex')))
34
38
  return 'Codex';
39
+ if (procTree.some((name) => name.includes('kiro')))
40
+ return 'Kiro';
41
+ if (procTree.some((name) => name.includes('windsurf')))
42
+ return 'Windsurf';
35
43
  }
36
44
  catch {
37
45
  // Non-fatal: skip if /proc or ps not available
@@ -1 +1 @@
1
- {"version":3,"file":"compare.js","sourceRoot":"","sources":["../../src/commands/compare.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compare.js","sourceRoot":"","sources":["../../src/commands/compare.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * context — DCOL v2 context introspection subcommand
3
+ *
4
+ * Subcommands:
5
+ * explain Why each file/symbol was selected
6
+ * diff Show context change between two bundle iterations
7
+ * graph Output Mermaid dependency diagram
8
+ * validate Run execution-aware context validation
9
+ *
10
+ * Usage:
11
+ * codeledger context explain [--bundle <path>] [--json]
12
+ * codeledger context diff [--from <bundle-id>] [--to <bundle-id>] [--json]
13
+ * codeledger context graph [--bundle <path>] [--output <path>]
14
+ * codeledger context validate [--bundle <path>] [--json]
15
+ */
16
+ export declare function runContext(cwd: string, flags: Record<string, string>): Promise<void>;
17
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAkBH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CAiBf"}