agents-reverse-engineer 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +238 -0
  3. package/dist/change-detection/detector.d.ts +24 -0
  4. package/dist/change-detection/detector.d.ts.map +1 -0
  5. package/dist/change-detection/detector.js +114 -0
  6. package/dist/change-detection/detector.js.map +1 -0
  7. package/dist/change-detection/index.d.ts +9 -0
  8. package/dist/change-detection/index.d.ts.map +1 -0
  9. package/dist/change-detection/index.js +8 -0
  10. package/dist/change-detection/index.js.map +1 -0
  11. package/dist/change-detection/types.d.ts +39 -0
  12. package/dist/change-detection/types.d.ts.map +1 -0
  13. package/dist/change-detection/types.js +5 -0
  14. package/dist/change-detection/types.js.map +1 -0
  15. package/dist/cli/discover.d.ts +52 -0
  16. package/dist/cli/discover.d.ts.map +1 -0
  17. package/dist/cli/discover.js +125 -0
  18. package/dist/cli/discover.js.map +1 -0
  19. package/dist/cli/generate.d.ts +41 -0
  20. package/dist/cli/generate.d.ts.map +1 -0
  21. package/dist/cli/generate.js +179 -0
  22. package/dist/cli/generate.js.map +1 -0
  23. package/dist/cli/index.d.ts +12 -0
  24. package/dist/cli/index.d.ts.map +1 -0
  25. package/dist/cli/index.js +182 -0
  26. package/dist/cli/index.js.map +1 -0
  27. package/dist/cli/init.d.ts +38 -0
  28. package/dist/cli/init.d.ts.map +1 -0
  29. package/dist/cli/init.js +94 -0
  30. package/dist/cli/init.js.map +1 -0
  31. package/dist/cli/update.d.ts +28 -0
  32. package/dist/cli/update.d.ts.map +1 -0
  33. package/dist/cli/update.js +296 -0
  34. package/dist/cli/update.js.map +1 -0
  35. package/dist/config/defaults.d.ts +38 -0
  36. package/dist/config/defaults.d.ts.map +1 -0
  37. package/dist/config/defaults.js +89 -0
  38. package/dist/config/defaults.js.map +1 -0
  39. package/dist/config/loader.d.ts +66 -0
  40. package/dist/config/loader.d.ts.map +1 -0
  41. package/dist/config/loader.js +158 -0
  42. package/dist/config/loader.js.map +1 -0
  43. package/dist/config/schema.d.ts +235 -0
  44. package/dist/config/schema.d.ts.map +1 -0
  45. package/dist/config/schema.js +80 -0
  46. package/dist/config/schema.js.map +1 -0
  47. package/dist/discovery/filters/binary.d.ts +46 -0
  48. package/dist/discovery/filters/binary.d.ts.map +1 -0
  49. package/dist/discovery/filters/binary.js +157 -0
  50. package/dist/discovery/filters/binary.js.map +1 -0
  51. package/dist/discovery/filters/custom.d.ts +26 -0
  52. package/dist/discovery/filters/custom.d.ts.map +1 -0
  53. package/dist/discovery/filters/custom.js +50 -0
  54. package/dist/discovery/filters/custom.js.map +1 -0
  55. package/dist/discovery/filters/gitignore.d.ts +24 -0
  56. package/dist/discovery/filters/gitignore.d.ts.map +1 -0
  57. package/dist/discovery/filters/gitignore.js +53 -0
  58. package/dist/discovery/filters/gitignore.js.map +1 -0
  59. package/dist/discovery/filters/index.d.ts +85 -0
  60. package/dist/discovery/filters/index.d.ts.map +1 -0
  61. package/dist/discovery/filters/index.js +98 -0
  62. package/dist/discovery/filters/index.js.map +1 -0
  63. package/dist/discovery/filters/vendor.d.ts +30 -0
  64. package/dist/discovery/filters/vendor.d.ts.map +1 -0
  65. package/dist/discovery/filters/vendor.js +57 -0
  66. package/dist/discovery/filters/vendor.js.map +1 -0
  67. package/dist/discovery/types.d.ts +66 -0
  68. package/dist/discovery/types.d.ts.map +1 -0
  69. package/dist/discovery/types.js +8 -0
  70. package/dist/discovery/types.js.map +1 -0
  71. package/dist/discovery/walker.d.ts +24 -0
  72. package/dist/discovery/walker.d.ts.map +1 -0
  73. package/dist/discovery/walker.js +35 -0
  74. package/dist/discovery/walker.js.map +1 -0
  75. package/dist/generation/budget/chunker.d.ts +38 -0
  76. package/dist/generation/budget/chunker.d.ts.map +1 -0
  77. package/dist/generation/budget/chunker.js +73 -0
  78. package/dist/generation/budget/chunker.js.map +1 -0
  79. package/dist/generation/budget/counter.d.ts +26 -0
  80. package/dist/generation/budget/counter.d.ts.map +1 -0
  81. package/dist/generation/budget/counter.js +45 -0
  82. package/dist/generation/budget/counter.js.map +1 -0
  83. package/dist/generation/budget/index.d.ts +4 -0
  84. package/dist/generation/budget/index.d.ts.map +1 -0
  85. package/dist/generation/budget/index.js +4 -0
  86. package/dist/generation/budget/index.js.map +1 -0
  87. package/dist/generation/budget/tracker.d.ts +63 -0
  88. package/dist/generation/budget/tracker.d.ts.map +1 -0
  89. package/dist/generation/budget/tracker.js +96 -0
  90. package/dist/generation/budget/tracker.js.map +1 -0
  91. package/dist/generation/complexity.d.ts +43 -0
  92. package/dist/generation/complexity.d.ts.map +1 -0
  93. package/dist/generation/complexity.js +156 -0
  94. package/dist/generation/complexity.js.map +1 -0
  95. package/dist/generation/detection/detector.d.ts +23 -0
  96. package/dist/generation/detection/detector.d.ts.map +1 -0
  97. package/dist/generation/detection/detector.js +62 -0
  98. package/dist/generation/detection/detector.js.map +1 -0
  99. package/dist/generation/detection/patterns.d.ts +21 -0
  100. package/dist/generation/detection/patterns.d.ts.map +1 -0
  101. package/dist/generation/detection/patterns.js +115 -0
  102. package/dist/generation/detection/patterns.js.map +1 -0
  103. package/dist/generation/executor.d.ts +95 -0
  104. package/dist/generation/executor.d.ts.map +1 -0
  105. package/dist/generation/executor.js +352 -0
  106. package/dist/generation/executor.js.map +1 -0
  107. package/dist/generation/orchestrator.d.ts +126 -0
  108. package/dist/generation/orchestrator.d.ts.map +1 -0
  109. package/dist/generation/orchestrator.js +222 -0
  110. package/dist/generation/orchestrator.js.map +1 -0
  111. package/dist/generation/prompts/builder.d.ts +31 -0
  112. package/dist/generation/prompts/builder.d.ts.map +1 -0
  113. package/dist/generation/prompts/builder.js +136 -0
  114. package/dist/generation/prompts/builder.js.map +1 -0
  115. package/dist/generation/prompts/index.d.ts +5 -0
  116. package/dist/generation/prompts/index.d.ts.map +1 -0
  117. package/dist/generation/prompts/index.js +4 -0
  118. package/dist/generation/prompts/index.js.map +1 -0
  119. package/dist/generation/prompts/templates.d.ts +11 -0
  120. package/dist/generation/prompts/templates.d.ts.map +1 -0
  121. package/dist/generation/prompts/templates.js +247 -0
  122. package/dist/generation/prompts/templates.js.map +1 -0
  123. package/dist/generation/prompts/types.d.ts +71 -0
  124. package/dist/generation/prompts/types.d.ts.map +1 -0
  125. package/dist/generation/prompts/types.js +23 -0
  126. package/dist/generation/prompts/types.js.map +1 -0
  127. package/dist/generation/types.d.ts +72 -0
  128. package/dist/generation/types.d.ts.map +1 -0
  129. package/dist/generation/types.js +5 -0
  130. package/dist/generation/types.js.map +1 -0
  131. package/dist/generation/writers/agents-md.d.ts +63 -0
  132. package/dist/generation/writers/agents-md.d.ts.map +1 -0
  133. package/dist/generation/writers/agents-md.js +235 -0
  134. package/dist/generation/writers/agents-md.js.map +1 -0
  135. package/dist/generation/writers/claude-md.d.ts +13 -0
  136. package/dist/generation/writers/claude-md.d.ts.map +1 -0
  137. package/dist/generation/writers/claude-md.js +33 -0
  138. package/dist/generation/writers/claude-md.js.map +1 -0
  139. package/dist/generation/writers/index.d.ts +5 -0
  140. package/dist/generation/writers/index.d.ts.map +1 -0
  141. package/dist/generation/writers/index.js +5 -0
  142. package/dist/generation/writers/index.js.map +1 -0
  143. package/dist/generation/writers/sum.d.ts +37 -0
  144. package/dist/generation/writers/sum.d.ts.map +1 -0
  145. package/dist/generation/writers/sum.js +98 -0
  146. package/dist/generation/writers/sum.js.map +1 -0
  147. package/dist/generation/writers/supplementary.d.ts +53 -0
  148. package/dist/generation/writers/supplementary.d.ts.map +1 -0
  149. package/dist/generation/writers/supplementary.js +195 -0
  150. package/dist/generation/writers/supplementary.js.map +1 -0
  151. package/dist/integration/detect.d.ts +28 -0
  152. package/dist/integration/detect.d.ts.map +1 -0
  153. package/dist/integration/detect.js +64 -0
  154. package/dist/integration/detect.js.map +1 -0
  155. package/dist/integration/generate.d.ts +36 -0
  156. package/dist/integration/generate.d.ts.map +1 -0
  157. package/dist/integration/generate.js +107 -0
  158. package/dist/integration/generate.js.map +1 -0
  159. package/dist/integration/templates.d.ts +42 -0
  160. package/dist/integration/templates.d.ts.map +1 -0
  161. package/dist/integration/templates.js +203 -0
  162. package/dist/integration/templates.js.map +1 -0
  163. package/dist/integration/types.d.ts +44 -0
  164. package/dist/integration/types.d.ts.map +1 -0
  165. package/dist/integration/types.js +8 -0
  166. package/dist/integration/types.js.map +1 -0
  167. package/dist/output/logger.d.ts +86 -0
  168. package/dist/output/logger.d.ts.map +1 -0
  169. package/dist/output/logger.js +107 -0
  170. package/dist/output/logger.js.map +1 -0
  171. package/dist/state/database.d.ts +9 -0
  172. package/dist/state/database.d.ts.map +1 -0
  173. package/dist/state/database.js +66 -0
  174. package/dist/state/database.js.map +1 -0
  175. package/dist/state/index.d.ts +8 -0
  176. package/dist/state/index.d.ts.map +1 -0
  177. package/dist/state/index.js +7 -0
  178. package/dist/state/index.js.map +1 -0
  179. package/dist/state/migrations.d.ts +12 -0
  180. package/dist/state/migrations.d.ts.map +1 -0
  181. package/dist/state/migrations.js +39 -0
  182. package/dist/state/migrations.js.map +1 -0
  183. package/dist/state/types.d.ts +54 -0
  184. package/dist/state/types.d.ts.map +1 -0
  185. package/dist/state/types.js +2 -0
  186. package/dist/state/types.js.map +1 -0
  187. package/dist/types/index.d.ts +39 -0
  188. package/dist/types/index.d.ts.map +1 -0
  189. package/dist/types/index.js +5 -0
  190. package/dist/types/index.js.map +1 -0
  191. package/dist/update/index.d.ts +10 -0
  192. package/dist/update/index.d.ts.map +1 -0
  193. package/dist/update/index.js +9 -0
  194. package/dist/update/index.js.map +1 -0
  195. package/dist/update/orchestrator.d.ts +91 -0
  196. package/dist/update/orchestrator.d.ts.map +1 -0
  197. package/dist/update/orchestrator.js +204 -0
  198. package/dist/update/orchestrator.js.map +1 -0
  199. package/dist/update/orphan-cleaner.d.ts +30 -0
  200. package/dist/update/orphan-cleaner.d.ts.map +1 -0
  201. package/dist/update/orphan-cleaner.js +151 -0
  202. package/dist/update/orphan-cleaner.js.map +1 -0
  203. package/dist/update/types.d.ts +59 -0
  204. package/dist/update/types.d.ts.map +1 -0
  205. package/dist/update/types.js +2 -0
  206. package/dist/update/types.js.map +1 -0
  207. package/package.json +60 -0
@@ -0,0 +1,203 @@
1
+ /**
2
+ * Template generators for AI coding assistant integration files
3
+ *
4
+ * Generates command file templates for Claude Code, OpenCode, and session hooks.
5
+ */
6
+ /**
7
+ * Get Claude Code command file templates
8
+ *
9
+ * Returns templates for:
10
+ * - generate.md: Full documentation generation command
11
+ * - update.md: Incremental documentation update command
12
+ * - init.md: Initialize agents-reverse-engineer in a project
13
+ *
14
+ * @returns Array of Claude Code command templates
15
+ */
16
+ export function getClaudeTemplates() {
17
+ return [
18
+ {
19
+ filename: 'generate.md',
20
+ path: '.claude/commands/are/generate.md',
21
+ content: `---
22
+ name: are:generate
23
+ description: Generate AI-friendly documentation for the entire codebase
24
+ argument-hint: "[--budget N] [--dry-run] [--verbose]"
25
+ ---
26
+
27
+ Generate comprehensive documentation for this codebase using agents-reverse-engineer.
28
+
29
+ <execution>
30
+ Run the agents-reverse-engineer generate command:
31
+
32
+ \`\`\`bash
33
+ npx are generate $ARGUMENTS
34
+ \`\`\`
35
+
36
+ After completion, summarize:
37
+ - Number of files analyzed
38
+ - Token budget used
39
+ - Any files skipped due to budget
40
+ - Location of generated CLAUDE.md and AGENTS.md files
41
+
42
+ If budget concerns arise, suggest \`--budget N\` to adjust.
43
+ </execution>
44
+ `,
45
+ },
46
+ {
47
+ filename: 'update.md',
48
+ path: '.claude/commands/are/update.md',
49
+ content: `---
50
+ name: are:update
51
+ description: Incrementally update documentation for changed files
52
+ argument-hint: "[--uncommitted] [--dry-run] [--verbose]"
53
+ ---
54
+
55
+ Update documentation for files that changed since last run.
56
+
57
+ <execution>
58
+ Run the agents-reverse-engineer update command:
59
+
60
+ \`\`\`bash
61
+ npx are update $ARGUMENTS
62
+ \`\`\`
63
+
64
+ After completion, summarize:
65
+ - Files updated
66
+ - Files unchanged
67
+ - Any orphaned docs cleaned up
68
+
69
+ Use \`--uncommitted\` to include staged but uncommitted changes.
70
+ </execution>
71
+ `,
72
+ },
73
+ {
74
+ filename: 'init.md',
75
+ path: '.claude/commands/are/init.md',
76
+ content: `---
77
+ name: are:init
78
+ description: Initialize agents-reverse-engineer configuration and integration
79
+ argument-hint: "[--integration]"
80
+ ---
81
+
82
+ Initialize agents-reverse-engineer in this project.
83
+
84
+ <execution>
85
+ Run the agents-reverse-engineer init command:
86
+
87
+ \`\`\`bash
88
+ npx are init $ARGUMENTS
89
+ \`\`\`
90
+
91
+ This creates:
92
+ - \`.agents-reverse-engineer.yaml\` configuration file
93
+ - With \`--integration\`: command files for detected AI assistants
94
+ </execution>
95
+ `,
96
+ },
97
+ ];
98
+ }
99
+ /**
100
+ * Get OpenCode command file templates
101
+ *
102
+ * Returns templates for:
103
+ * - are-generate.md: Full documentation generation command
104
+ * - are-update.md: Incremental documentation update command
105
+ *
106
+ * @returns Array of OpenCode command templates
107
+ */
108
+ export function getOpenCodeTemplates() {
109
+ return [
110
+ {
111
+ filename: 'are-generate.md',
112
+ path: '.opencode/commands/are-generate.md',
113
+ content: `---
114
+ description: Generate AI-friendly documentation for the entire codebase
115
+ agent: build
116
+ ---
117
+
118
+ Generate comprehensive documentation for this codebase using agents-reverse-engineer.
119
+
120
+ Run: \`npx are generate $ARGUMENTS\`
121
+
122
+ Arguments supported:
123
+ - \`--budget N\` - Override token budget
124
+ - \`--dry-run\` - Show plan without writing files
125
+ - \`--verbose\` - Show detailed output
126
+ `,
127
+ },
128
+ {
129
+ filename: 'are-update.md',
130
+ path: '.opencode/commands/are-update.md',
131
+ content: `---
132
+ description: Incrementally update documentation for changed files
133
+ agent: build
134
+ ---
135
+
136
+ Update documentation for files that changed since last run.
137
+
138
+ Run: \`npx are update $ARGUMENTS\`
139
+
140
+ Arguments supported:
141
+ - \`--uncommitted\` - Include staged but uncommitted changes
142
+ - \`--dry-run\` - Show plan without writing files
143
+ - \`--verbose\` - Show detailed output
144
+ `,
145
+ },
146
+ ];
147
+ }
148
+ /**
149
+ * Get session-end hook template for automatic documentation updates
150
+ *
151
+ * The hook:
152
+ * - Checks ARE_DISABLE_HOOK env var for temporary disable
153
+ * - Checks config file for permanent disable (hook_enabled: false)
154
+ * - Checks git status and exits silently if no changes
155
+ * - Spawns are update --quiet in background (detached, unref'd)
156
+ *
157
+ * Uses CommonJS (require) since hooks run via node directly.
158
+ *
159
+ * @returns JavaScript hook code as a string
160
+ */
161
+ export function getHookTemplate() {
162
+ return `#!/usr/bin/env node
163
+ // .claude/hooks/are-session-end.js
164
+ // Triggers are update when session ends (if there are uncommitted changes)
165
+
166
+ const { execSync, spawn } = require('child_process');
167
+ const fs = require('fs');
168
+
169
+ // Check for disable flag
170
+ if (process.env.ARE_DISABLE_HOOK === '1') {
171
+ process.exit(0);
172
+ }
173
+
174
+ // Check config file for permanent disable
175
+ const configPath = '.agents-reverse-engineer.yaml';
176
+ if (fs.existsSync(configPath)) {
177
+ const config = fs.readFileSync(configPath, 'utf-8');
178
+ if (config.includes('hook_enabled: false')) {
179
+ process.exit(0);
180
+ }
181
+ }
182
+
183
+ // Check git status - skip if no changes
184
+ try {
185
+ const status = execSync('git status --porcelain', { encoding: 'utf-8' });
186
+ if (!status.trim()) {
187
+ // No changes since last run - exit silently
188
+ process.exit(0);
189
+ }
190
+ } catch {
191
+ // Not a git repo or git not available - exit silently
192
+ process.exit(0);
193
+ }
194
+
195
+ // Run update in background (don't block session close)
196
+ const child = spawn('npx', ['are', 'update', '--quiet'], {
197
+ stdio: 'ignore',
198
+ detached: true,
199
+ });
200
+ child.unref();
201
+ `;
202
+ }
203
+ //# sourceMappingURL=templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/integration/templates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL;YACE,QAAQ,EAAE,aAAa;YACvB,IAAI,EAAE,kCAAkC;YACxC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;CAuBd;SACI;QACD;YACE,QAAQ,EAAE,WAAW;YACrB,IAAI,EAAE,gCAAgC;YACtC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;CAsBd;SACI;QACD;YACE,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,8BAA8B;YACpC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;CAmBd;SACI;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL;YACE,QAAQ,EAAE,iBAAiB;YAC3B,IAAI,EAAE,oCAAoC;YAC1C,OAAO,EAAE;;;;;;;;;;;;;CAad;SACI;QACD;YACE,QAAQ,EAAE,eAAe;YACzB,IAAI,EAAE,kCAAkC;YACxC,OAAO,EAAE;;;;;;;;;;;;;CAad;SACI;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCR,CAAC;AACF,CAAC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Integration types for AI coding assistant environments
3
+ *
4
+ * Defines types for detecting AI assistant environments (Claude Code, OpenCode, etc.)
5
+ * and generating appropriate integration templates (command files, hooks).
6
+ */
7
+ /**
8
+ * Supported AI coding assistant environment types
9
+ */
10
+ export type EnvironmentType = 'claude' | 'opencode' | 'aider';
11
+ /**
12
+ * Result of detecting an AI coding assistant environment
13
+ */
14
+ export interface DetectedEnvironment {
15
+ /** Type of AI assistant detected */
16
+ type: EnvironmentType;
17
+ /** Configuration directory for this environment (e.g., '.claude', '.opencode') */
18
+ configDir: string;
19
+ /** Whether this environment was detected in the project */
20
+ detected: boolean;
21
+ }
22
+ /**
23
+ * Template for integration files (command files, hooks, etc.)
24
+ */
25
+ export interface IntegrationTemplate {
26
+ /** File name (e.g., 'generate.md') */
27
+ filename: string;
28
+ /** Relative path from project root (e.g., '.claude/commands/ar/generate.md') */
29
+ path: string;
30
+ /** Template content to write to the file */
31
+ content: string;
32
+ }
33
+ /**
34
+ * Result of generating integration files for an environment
35
+ */
36
+ export interface IntegrationResult {
37
+ /** Environment type that was configured */
38
+ environment: EnvironmentType;
39
+ /** Files that were successfully created */
40
+ filesCreated: string[];
41
+ /** Files that were skipped (already exist) */
42
+ filesSkipped: string[];
43
+ }
44
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/integration/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,oCAAoC;IACpC,IAAI,EAAE,eAAe,CAAC;IACtB,kFAAkF;IAClF,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,WAAW,EAAE,eAAe,CAAC;IAC7B,2CAA2C;IAC3C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,8CAA8C;IAC9C,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Integration types for AI coding assistant environments
3
+ *
4
+ * Defines types for detecting AI assistant environments (Claude Code, OpenCode, etc.)
5
+ * and generating appropriate integration templates (command files, hooks).
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/integration/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Terminal logger for agents-reverse
3
+ *
4
+ * Provides colored output with verbose/quiet modes.
5
+ * Output format follows CONTEXT.md human-readable specification.
6
+ */
7
+ /**
8
+ * Logger interface for discovery output.
9
+ *
10
+ * All methods respect the configured verbosity levels.
11
+ */
12
+ export interface Logger {
13
+ /** Log an informational message */
14
+ info(message: string): void;
15
+ /** Log a discovered file (verbose mode only) */
16
+ file(path: string): void;
17
+ /** Log an excluded file (--show-excluded mode only) */
18
+ excluded(path: string, reason: string, filter: string): void;
19
+ /** Log discovery summary (always shown unless quiet) */
20
+ summary(included: number, excluded: number): void;
21
+ /** Log a warning message */
22
+ warn(message: string): void;
23
+ /** Log an error message (always shown) */
24
+ error(message: string): void;
25
+ }
26
+ /**
27
+ * Options for creating a logger instance.
28
+ */
29
+ export interface LoggerOptions {
30
+ /**
31
+ * Show verbose output (each file as discovered).
32
+ * @default true per CONTEXT.md
33
+ */
34
+ verbose: boolean;
35
+ /**
36
+ * Suppress all output except errors.
37
+ * @default false
38
+ */
39
+ quiet: boolean;
40
+ /**
41
+ * Use colors in terminal output.
42
+ * @default true
43
+ */
44
+ colors: boolean;
45
+ /**
46
+ * Show each excluded file (with --show-excluded flag).
47
+ * @default false
48
+ */
49
+ showExcluded: boolean;
50
+ }
51
+ /**
52
+ * Create a logger instance with the given options.
53
+ *
54
+ * Output format per CONTEXT.md (human-readable):
55
+ * - file: green " +" prefix + relative path
56
+ * - excluded: dim " -" prefix + path + reason (when shown)
57
+ * - summary: bold count + dim excluded count
58
+ * - warn: yellow "Warning:" prefix
59
+ * - error: red "Error:" prefix
60
+ *
61
+ * @param options - Logger configuration
62
+ * @returns Logger instance
63
+ *
64
+ * @example
65
+ * ```typescript
66
+ * const log = createLogger({
67
+ * verbose: true,
68
+ * quiet: false,
69
+ * colors: true,
70
+ * showExcluded: false,
71
+ * });
72
+ *
73
+ * log.file('src/index.ts');
74
+ * log.summary(42, 10);
75
+ * ```
76
+ */
77
+ export declare function createLogger(options: LoggerOptions): Logger;
78
+ /**
79
+ * Create a silent logger that produces no output.
80
+ *
81
+ * Useful for testing or programmatic usage.
82
+ *
83
+ * @returns Logger instance with all no-op methods
84
+ */
85
+ export declare function createSilentLogger(): Logger;
86
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/output/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACrB,mCAAmC;IACnC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B,gDAAgD;IAChD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,uDAAuD;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7D,wDAAwD;IACxD,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAElD,4BAA4B;IAC5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B,0CAA0C;IAC1C,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,KAAK,EAAE,OAAO,CAAC;IAEf;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,YAAY,EAAE,OAAO,CAAC;CACvB;AA6BD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CA0C3D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAU3C"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Terminal logger for agents-reverse
3
+ *
4
+ * Provides colored output with verbose/quiet modes.
5
+ * Output format follows CONTEXT.md human-readable specification.
6
+ */
7
+ import pc from 'picocolors';
8
+ /**
9
+ * Identity function for no-color mode
10
+ */
11
+ const identity = (s) => s;
12
+ /**
13
+ * No-color formatter that returns strings unchanged
14
+ */
15
+ const noColor = {
16
+ green: identity,
17
+ dim: identity,
18
+ red: identity,
19
+ bold: identity,
20
+ yellow: identity,
21
+ };
22
+ /**
23
+ * Create a logger instance with the given options.
24
+ *
25
+ * Output format per CONTEXT.md (human-readable):
26
+ * - file: green " +" prefix + relative path
27
+ * - excluded: dim " -" prefix + path + reason (when shown)
28
+ * - summary: bold count + dim excluded count
29
+ * - warn: yellow "Warning:" prefix
30
+ * - error: red "Error:" prefix
31
+ *
32
+ * @param options - Logger configuration
33
+ * @returns Logger instance
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * const log = createLogger({
38
+ * verbose: true,
39
+ * quiet: false,
40
+ * colors: true,
41
+ * showExcluded: false,
42
+ * });
43
+ *
44
+ * log.file('src/index.ts');
45
+ * log.summary(42, 10);
46
+ * ```
47
+ */
48
+ export function createLogger(options) {
49
+ const { verbose, quiet, colors, showExcluded } = options;
50
+ // Select color functions based on colors option
51
+ const c = colors ? pc : noColor;
52
+ return {
53
+ info(message) {
54
+ if (quiet)
55
+ return;
56
+ console.log(message);
57
+ },
58
+ file(path) {
59
+ if (quiet)
60
+ return;
61
+ if (!verbose)
62
+ return;
63
+ console.log(c.green(' +') + ' ' + path);
64
+ },
65
+ excluded(path, reason, filter) {
66
+ if (quiet)
67
+ return;
68
+ if (!showExcluded)
69
+ return;
70
+ console.log(c.dim(' -') + ' ' + path + c.dim(` (${reason}: ${filter})`));
71
+ },
72
+ summary(included, excluded) {
73
+ if (quiet)
74
+ return;
75
+ console.log(c.bold(`\nDiscovered ${included} files`) +
76
+ c.dim(` (${excluded} excluded)`));
77
+ },
78
+ warn(message) {
79
+ if (quiet)
80
+ return;
81
+ console.warn(c.yellow('Warning: ') + message);
82
+ },
83
+ error(message) {
84
+ // Error is always shown, even in quiet mode
85
+ console.error(c.red('Error: ') + message);
86
+ },
87
+ };
88
+ }
89
+ /**
90
+ * Create a silent logger that produces no output.
91
+ *
92
+ * Useful for testing or programmatic usage.
93
+ *
94
+ * @returns Logger instance with all no-op methods
95
+ */
96
+ export function createSilentLogger() {
97
+ const noop = () => { };
98
+ return {
99
+ info: noop,
100
+ file: noop,
101
+ excluded: noop,
102
+ summary: noop,
103
+ warn: noop,
104
+ error: noop,
105
+ };
106
+ }
107
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/output/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,YAAY,CAAC;AAmE5B;;GAEG;AACH,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC;AAE1C;;GAEG;AACH,MAAM,OAAO,GAAmB;IAC9B,KAAK,EAAE,QAAQ;IACf,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;IACb,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,YAAY,CAAC,OAAsB;IACjD,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IAEzD,gDAAgD;IAChD,MAAM,CAAC,GAAmB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IAEhD,OAAO;QACL,IAAI,CAAC,OAAe;YAClB,IAAI,KAAK;gBAAE,OAAO;YAClB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,IAAY;YACf,IAAI,KAAK;gBAAE,OAAO;YAClB,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;QAC3C,CAAC;QAED,QAAQ,CAAC,IAAY,EAAE,MAAc,EAAE,MAAc;YACnD,IAAI,KAAK;gBAAE,OAAO;YAClB,IAAI,CAAC,YAAY;gBAAE,OAAO;YAC1B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,MAAM,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO,CAAC,QAAgB,EAAE,QAAgB;YACxC,IAAI,KAAK;gBAAE,OAAO;YAClB,OAAO,CAAC,GAAG,CACT,CAAC,CAAC,IAAI,CAAC,gBAAgB,QAAQ,QAAQ,CAAC;gBACtC,CAAC,CAAC,GAAG,CAAC,KAAK,QAAQ,YAAY,CAAC,CACnC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,OAAe;YAClB,IAAI,KAAK;gBAAE,OAAO;YAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,CAAC;QAChD,CAAC;QAED,KAAK,CAAC,OAAe;YACnB,4CAA4C;YAC5C,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC;QAC5C,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,IAAI,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC;IAC5B,OAAO;QACL,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;KACZ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { StateDatabase } from './types.js';
2
+ /**
3
+ * Opens the state database, applying migrations if needed.
4
+ * Uses WAL mode for performance.
5
+ *
6
+ * @param dbPath - Path to the SQLite database file
7
+ */
8
+ export declare function openDatabase(dbPath: string): StateDatabase;
9
+ //# sourceMappingURL=database.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/state/database.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAyB,aAAa,EAAE,MAAM,YAAY,CAAC;AAGvE;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAuF1D"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * SQLite state database with prepared statements
3
+ */
4
+ import Database from 'better-sqlite3';
5
+ import { CURRENT_SCHEMA_VERSION, migrateSchema } from './migrations.js';
6
+ /**
7
+ * Opens the state database, applying migrations if needed.
8
+ * Uses WAL mode for performance.
9
+ *
10
+ * @param dbPath - Path to the SQLite database file
11
+ */
12
+ export function openDatabase(dbPath) {
13
+ const db = new Database(dbPath);
14
+ // Enable WAL mode for better concurrent read performance
15
+ db.pragma('journal_mode = WAL');
16
+ // Check and apply migrations
17
+ const version = db.pragma('user_version', { simple: true });
18
+ if (version < CURRENT_SCHEMA_VERSION) {
19
+ migrateSchema(db, version, CURRENT_SCHEMA_VERSION);
20
+ }
21
+ // Prepared statements for performance
22
+ const getFileStmt = db.prepare('SELECT path, content_hash, sum_generated_at, last_analyzed_commit FROM files WHERE path = ?');
23
+ const upsertFileStmt = db.prepare(`
24
+ INSERT INTO files (path, content_hash, sum_generated_at, last_analyzed_commit)
25
+ VALUES (?, ?, ?, ?)
26
+ ON CONFLICT(path) DO UPDATE SET
27
+ content_hash = excluded.content_hash,
28
+ sum_generated_at = excluded.sum_generated_at,
29
+ last_analyzed_commit = excluded.last_analyzed_commit
30
+ `);
31
+ const deleteFileStmt = db.prepare('DELETE FROM files WHERE path = ?');
32
+ const getAllFilesStmt = db.prepare('SELECT path, content_hash, sum_generated_at, last_analyzed_commit FROM files');
33
+ const getLastRunStmt = db.prepare('SELECT id, commit_hash, completed_at, files_analyzed, files_skipped FROM runs ORDER BY id DESC LIMIT 1');
34
+ const insertRunStmt = db.prepare(`
35
+ INSERT INTO runs (commit_hash, completed_at, files_analyzed, files_skipped)
36
+ VALUES (?, ?, ?, ?)
37
+ `);
38
+ return {
39
+ getFile(path) {
40
+ return getFileStmt.get(path);
41
+ },
42
+ upsertFile(record) {
43
+ upsertFileStmt.run(record.path, record.content_hash, record.sum_generated_at, record.last_analyzed_commit);
44
+ },
45
+ deleteFile(path) {
46
+ deleteFileStmt.run(path);
47
+ },
48
+ getAllFiles() {
49
+ return getAllFilesStmt.all();
50
+ },
51
+ getLastRun() {
52
+ return getLastRunStmt.get();
53
+ },
54
+ insertRun(run) {
55
+ const result = insertRunStmt.run(run.commit_hash, run.completed_at, run.files_analyzed, run.files_skipped);
56
+ return Number(result.lastInsertRowid);
57
+ },
58
+ close() {
59
+ db.close();
60
+ },
61
+ getDb() {
62
+ return db;
63
+ },
64
+ };
65
+ }
66
+ //# sourceMappingURL=database.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/state/database.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAExE;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEhC,yDAAyD;IACzD,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAEhC,6BAA6B;IAC7B,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAW,CAAC;IACtE,IAAI,OAAO,GAAG,sBAAsB,EAAE,CAAC;QACrC,aAAa,CAAC,EAAE,EAAE,OAAO,EAAE,sBAAsB,CAAC,CAAC;IACrD,CAAC;IAED,sCAAsC;IACtC,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAC5B,6FAA6F,CAC9F,CAAC;IAEF,MAAM,cAAc,GAAG,EAAE,CAAC,OAAO,CAAiD;;;;;;;GAOjF,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,EAAE,CAAC,OAAO,CAC/B,kCAAkC,CACnC,CAAC;IAEF,MAAM,eAAe,GAAG,EAAE,CAAC,OAAO,CAChC,8EAA8E,CAC/E,CAAC;IAEF,MAAM,cAAc,GAAG,EAAE,CAAC,OAAO,CAC/B,wGAAwG,CACzG,CAAC;IAEF,MAAM,aAAa,GAAG,EAAE,CAAC,OAAO,CAAmC;;;GAGlE,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,CAAC,IAAY;YAClB,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,UAAU,CAAC,MAAkB;YAC3B,cAAc,CAAC,GAAG,CAChB,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,gBAAgB,EACvB,MAAM,CAAC,oBAAoB,CAC5B,CAAC;QACJ,CAAC;QAED,UAAU,CAAC,IAAY;YACrB,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAED,WAAW;YACT,OAAO,eAAe,CAAC,GAAG,EAAE,CAAC;QAC/B,CAAC;QAED,UAAU;YACR,OAAO,cAAc,CAAC,GAAG,EAAE,CAAC;QAC9B,CAAC;QAED,SAAS,CAAC,GAA0B;YAClC,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAC9B,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,YAAY,EAChB,GAAG,CAAC,cAAc,EAClB,GAAG,CAAC,aAAa,CAClB,CAAC;YACF,OAAO,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACxC,CAAC;QAED,KAAK;YACH,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC;QAED,KAAK;YACH,OAAO,EAAE,CAAC;QACZ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * State management module
3
+ *
4
+ * Provides SQLite-based state persistence for tracking file generation.
5
+ */
6
+ export { openDatabase } from './database.js';
7
+ export type { FileRecord, RunRecord, StateDatabase } from './types.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * State management module
3
+ *
4
+ * Provides SQLite-based state persistence for tracking file generation.
5
+ */
6
+ export { openDatabase } from './database.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/state/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Schema migrations using SQLite user_version pragma
3
+ */
4
+ import type Database from 'better-sqlite3';
5
+ /** Current schema version */
6
+ export declare const CURRENT_SCHEMA_VERSION = 1;
7
+ /**
8
+ * Apply schema migrations from `fromVersion` to `toVersion`.
9
+ * Uses transaction for atomicity.
10
+ */
11
+ export declare function migrateSchema(db: Database.Database, fromVersion: number, toVersion: number): void;
12
+ //# sourceMappingURL=migrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/state/migrations.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,6BAA6B;AAC7B,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,IAAI,CAoCN"}
@@ -0,0 +1,39 @@
1
+ /** Current schema version */
2
+ export const CURRENT_SCHEMA_VERSION = 1;
3
+ /**
4
+ * Apply schema migrations from `fromVersion` to `toVersion`.
5
+ * Uses transaction for atomicity.
6
+ */
7
+ export function migrateSchema(db, fromVersion, toVersion) {
8
+ const migrate = db.transaction(() => {
9
+ if (fromVersion < 1) {
10
+ // Initial schema
11
+ db.exec(`
12
+ CREATE TABLE files (
13
+ path TEXT PRIMARY KEY,
14
+ content_hash TEXT NOT NULL,
15
+ sum_generated_at TEXT,
16
+ last_analyzed_commit TEXT
17
+ )
18
+ `);
19
+ db.exec(`
20
+ CREATE TABLE runs (
21
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
22
+ commit_hash TEXT NOT NULL,
23
+ completed_at TEXT NOT NULL,
24
+ files_analyzed INTEGER NOT NULL,
25
+ files_skipped INTEGER NOT NULL
26
+ )
27
+ `);
28
+ // Index for faster queries by commit
29
+ db.exec(`
30
+ CREATE INDEX idx_runs_commit ON runs(commit_hash)
31
+ `);
32
+ }
33
+ // Future migrations would go here:
34
+ // if (fromVersion < 2) { ... }
35
+ db.pragma(`user_version = ${toVersion}`);
36
+ });
37
+ migrate();
38
+ }
39
+ //# sourceMappingURL=migrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/state/migrations.ts"],"names":[],"mappings":"AAKA,6BAA6B;AAC7B,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,EAAqB,EACrB,WAAmB,EACnB,SAAiB;IAEjB,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;QAClC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACpB,iBAAiB;YACjB,EAAE,CAAC,IAAI,CAAC;;;;;;;OAOP,CAAC,CAAC;YAEH,EAAE,CAAC,IAAI,CAAC;;;;;;;;OAQP,CAAC,CAAC;YAEH,qCAAqC;YACrC,EAAE,CAAC,IAAI,CAAC;;OAEP,CAAC,CAAC;QACL,CAAC;QAED,mCAAmC;QACnC,+BAA+B;QAE/B,EAAE,CAAC,MAAM,CAAC,kBAAkB,SAAS,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,CAAC;AACZ,CAAC"}