@mytechtoday/augment-extensions 1.3.0 → 1.4.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 (232) hide show
  1. package/LICENSE +22 -22
  2. package/README.md +105 -6
  3. package/augment-extensions/domain-rules/software-architecture/README.md +143 -143
  4. package/augment-extensions/domain-rules/software-architecture/examples/banking-layered.md +961 -961
  5. package/augment-extensions/domain-rules/software-architecture/examples/ecommerce-microservices.md +990 -990
  6. package/augment-extensions/domain-rules/software-architecture/examples/iot-eventdriven.md +882 -882
  7. package/augment-extensions/domain-rules/software-architecture/examples/monolith-to-microservices-migration.md +703 -703
  8. package/augment-extensions/domain-rules/software-architecture/examples/serverless-imageprocessing.md +957 -957
  9. package/augment-extensions/domain-rules/software-architecture/examples/trading-eventdriven.md +747 -747
  10. package/augment-extensions/domain-rules/software-architecture/module.json +119 -119
  11. package/augment-extensions/domain-rules/software-architecture/rules/challenges-solutions.md +763 -763
  12. package/augment-extensions/domain-rules/software-architecture/rules/definitions-terminology.md +409 -409
  13. package/augment-extensions/domain-rules/software-architecture/rules/design-principles.md +684 -684
  14. package/augment-extensions/domain-rules/software-architecture/rules/evaluation-testing.md +1381 -1381
  15. package/augment-extensions/domain-rules/software-architecture/rules/event-driven-architecture.md +616 -616
  16. package/augment-extensions/domain-rules/software-architecture/rules/fundamentals.md +306 -306
  17. package/augment-extensions/domain-rules/software-architecture/rules/industry-architectures.md +554 -554
  18. package/augment-extensions/domain-rules/software-architecture/rules/layered-architecture.md +776 -776
  19. package/augment-extensions/domain-rules/software-architecture/rules/microservices-architecture.md +503 -503
  20. package/augment-extensions/domain-rules/software-architecture/rules/modeling-documentation.md +1199 -1199
  21. package/augment-extensions/domain-rules/software-architecture/rules/monolithic-architecture.md +351 -351
  22. package/augment-extensions/domain-rules/software-architecture/rules/principles.md +556 -556
  23. package/augment-extensions/domain-rules/software-architecture/rules/quality-attributes.md +797 -797
  24. package/augment-extensions/domain-rules/software-architecture/rules/scalability-performance.md +1345 -1345
  25. package/augment-extensions/domain-rules/software-architecture/rules/security-architecture.md +1039 -1039
  26. package/augment-extensions/domain-rules/software-architecture/rules/serverless-architecture.md +711 -711
  27. package/augment-extensions/domain-rules/software-architecture/rules/skills-development.md +568 -568
  28. package/augment-extensions/domain-rules/software-architecture/rules/tools-methodologies.md +961 -961
  29. package/augment-extensions/visual-design/CHANGELOG.md +132 -132
  30. package/augment-extensions/visual-design/README.md +255 -255
  31. package/augment-extensions/visual-design/__tests__/README.md +119 -119
  32. package/augment-extensions/visual-design/__tests__/style-selector.test.ts +172 -172
  33. package/augment-extensions/visual-design/__tests__/vendor-styles.test.ts +214 -214
  34. package/augment-extensions/visual-design/domains/other/ai-prompt-helper.ts +157 -157
  35. package/augment-extensions/visual-design/domains/other/dotnet-application.ts +156 -156
  36. package/augment-extensions/visual-design/domains/other/linux-platform.ts +156 -156
  37. package/augment-extensions/visual-design/domains/other/mobile-application.ts +157 -157
  38. package/augment-extensions/visual-design/domains/other/motion-picture.ts +156 -156
  39. package/augment-extensions/visual-design/domains/other/os-application.ts +156 -156
  40. package/augment-extensions/visual-design/domains/other/print-campaigns.ts +158 -158
  41. package/augment-extensions/visual-design/domains/other/web-app.ts +157 -157
  42. package/augment-extensions/visual-design/domains/other/website.ts +161 -161
  43. package/augment-extensions/visual-design/domains/other/windows-platform.ts +156 -156
  44. package/augment-extensions/visual-design/domains/web-page-styles/amazon-cloudscape.ts +506 -506
  45. package/augment-extensions/visual-design/domains/web-page-styles/google-modern.ts +615 -615
  46. package/augment-extensions/visual-design/domains/web-page-styles/microsoft-fluent.ts +531 -531
  47. package/augment-extensions/visual-design/examples/README.md +97 -97
  48. package/augment-extensions/visual-design/examples/ai-prompt-generation.md +233 -233
  49. package/augment-extensions/visual-design/examples/basic-usage.md +216 -216
  50. package/augment-extensions/visual-design/examples/domain-workflows.md +257 -257
  51. package/augment-extensions/visual-design/examples/vendor-comparison.md +247 -247
  52. package/augment-extensions/visual-design/module.json +78 -78
  53. package/augment-extensions/visual-design/style-selector.ts +177 -177
  54. package/augment-extensions/visual-design/types.ts +302 -302
  55. package/augment-extensions/visual-design/visual-design-core.ts +469 -469
  56. package/augment-extensions/workflows/adr-support/README.md +227 -227
  57. package/augment-extensions/workflows/adr-support/__tests__/adr-validator.test.ts +203 -203
  58. package/augment-extensions/workflows/adr-support/adr-validator.ts +162 -162
  59. package/augment-extensions/workflows/adr-support/examples/complete-lifecycle-example.md +449 -449
  60. package/augment-extensions/workflows/adr-support/examples/integration-example.md +580 -580
  61. package/augment-extensions/workflows/adr-support/examples/superseding-example.md +436 -436
  62. package/augment-extensions/workflows/adr-support/module.json +112 -112
  63. package/augment-extensions/workflows/adr-support/rules/adr-creation.md +372 -372
  64. package/augment-extensions/workflows/adr-support/rules/beads-integration.md +443 -443
  65. package/augment-extensions/workflows/adr-support/rules/conflict-detection.md +486 -486
  66. package/augment-extensions/workflows/adr-support/rules/decision-detection.md +362 -362
  67. package/augment-extensions/workflows/adr-support/rules/lifecycle-management.md +427 -427
  68. package/augment-extensions/workflows/adr-support/rules/openspec-integration.md +465 -465
  69. package/augment-extensions/workflows/adr-support/rules/template-selection.md +405 -405
  70. package/augment-extensions/workflows/adr-support/rules/validation-rules.md +543 -543
  71. package/augment-extensions/workflows/adr-support/schemas/adr-config.json +191 -191
  72. package/augment-extensions/workflows/adr-support/schemas/adr-metadata.json +172 -172
  73. package/augment-extensions/workflows/adr-support/templates/business-case.md +235 -235
  74. package/augment-extensions/workflows/adr-support/templates/madr-elaborate.md +197 -197
  75. package/augment-extensions/workflows/adr-support/templates/madr-simple.md +68 -68
  76. package/augment-extensions/workflows/adr-support/templates/nygard.md +84 -84
  77. package/augment-extensions/writing-standards/screenplay/rules/file-organization.md +213 -213
  78. package/augment-extensions/writing-standards/screenplay/utils/__tests__/file-organization.test.ts +169 -169
  79. package/augment-extensions/writing-standards/screenplay/utils/file-organization.ts +165 -165
  80. package/cli/dist/commands/agent.d.ts +37 -0
  81. package/cli/dist/commands/agent.d.ts.map +1 -0
  82. package/cli/dist/commands/agent.js +222 -0
  83. package/cli/dist/commands/agent.js.map +1 -0
  84. package/cli/dist/commands/beads.d.ts +64 -0
  85. package/cli/dist/commands/beads.d.ts.map +1 -0
  86. package/cli/dist/commands/beads.js +377 -0
  87. package/cli/dist/commands/beads.js.map +1 -0
  88. package/cli/dist/commands/change.d.ts +54 -0
  89. package/cli/dist/commands/change.d.ts.map +1 -0
  90. package/cli/dist/commands/change.js +243 -0
  91. package/cli/dist/commands/change.js.map +1 -0
  92. package/cli/dist/commands/clean.d.ts +15 -0
  93. package/cli/dist/commands/clean.d.ts.map +1 -0
  94. package/cli/dist/commands/clean.js +63 -0
  95. package/cli/dist/commands/clean.js.map +1 -0
  96. package/cli/dist/commands/clone.d.ts +15 -0
  97. package/cli/dist/commands/clone.d.ts.map +1 -0
  98. package/cli/dist/commands/clone.js +49 -0
  99. package/cli/dist/commands/clone.js.map +1 -0
  100. package/cli/dist/commands/config.d.ts +33 -0
  101. package/cli/dist/commands/config.d.ts.map +1 -0
  102. package/cli/dist/commands/config.js +166 -0
  103. package/cli/dist/commands/config.js.map +1 -0
  104. package/cli/dist/commands/context.d.ts +38 -0
  105. package/cli/dist/commands/context.d.ts.map +1 -0
  106. package/cli/dist/commands/context.js +205 -0
  107. package/cli/dist/commands/context.js.map +1 -0
  108. package/cli/dist/commands/create.d.ts +18 -0
  109. package/cli/dist/commands/create.d.ts.map +1 -0
  110. package/cli/dist/commands/create.js +178 -0
  111. package/cli/dist/commands/create.js.map +1 -0
  112. package/cli/dist/commands/diff.d.ts +19 -0
  113. package/cli/dist/commands/diff.d.ts.map +1 -0
  114. package/cli/dist/commands/diff.js +104 -0
  115. package/cli/dist/commands/diff.js.map +1 -0
  116. package/cli/dist/commands/doctor.d.ts +14 -0
  117. package/cli/dist/commands/doctor.d.ts.map +1 -0
  118. package/cli/dist/commands/doctor.js +62 -0
  119. package/cli/dist/commands/doctor.js.map +1 -0
  120. package/cli/dist/commands/export.d.ts +28 -0
  121. package/cli/dist/commands/export.d.ts.map +1 -0
  122. package/cli/dist/commands/export.js +135 -0
  123. package/cli/dist/commands/export.js.map +1 -0
  124. package/cli/dist/commands/import.d.ts +23 -0
  125. package/cli/dist/commands/import.d.ts.map +1 -0
  126. package/cli/dist/commands/import.js +118 -0
  127. package/cli/dist/commands/import.js.map +1 -0
  128. package/cli/dist/commands/prompt.d.ts +45 -0
  129. package/cli/dist/commands/prompt.d.ts.map +1 -0
  130. package/cli/dist/commands/prompt.js +223 -0
  131. package/cli/dist/commands/prompt.js.map +1 -0
  132. package/cli/dist/commands/spec.d.ts +57 -0
  133. package/cli/dist/commands/spec.d.ts.map +1 -0
  134. package/cli/dist/commands/spec.js +279 -0
  135. package/cli/dist/commands/spec.js.map +1 -0
  136. package/cli/dist/commands/stats.d.ts +18 -0
  137. package/cli/dist/commands/stats.d.ts.map +1 -0
  138. package/cli/dist/commands/stats.js +85 -0
  139. package/cli/dist/commands/stats.js.map +1 -0
  140. package/cli/dist/commands/task.d.ts +65 -0
  141. package/cli/dist/commands/task.d.ts.map +1 -0
  142. package/cli/dist/commands/task.js +282 -0
  143. package/cli/dist/commands/task.js.map +1 -0
  144. package/cli/dist/commands/template.d.ts +17 -0
  145. package/cli/dist/commands/template.d.ts.map +1 -0
  146. package/cli/dist/commands/template.js +55 -0
  147. package/cli/dist/commands/template.js.map +1 -0
  148. package/cli/dist/utils/agent-config.d.ts +129 -0
  149. package/cli/dist/utils/agent-config.d.ts.map +1 -0
  150. package/cli/dist/utils/agent-config.js +297 -0
  151. package/cli/dist/utils/agent-config.js.map +1 -0
  152. package/cli/dist/utils/auto-sync.js +19 -19
  153. package/cli/dist/utils/beads-graph.d.ts +17 -0
  154. package/cli/dist/utils/beads-graph.d.ts.map +1 -0
  155. package/cli/dist/utils/beads-graph.js +150 -0
  156. package/cli/dist/utils/beads-graph.js.map +1 -0
  157. package/cli/dist/utils/beads-integration.d.ts +112 -0
  158. package/cli/dist/utils/beads-integration.d.ts.map +1 -0
  159. package/cli/dist/utils/beads-integration.js +312 -0
  160. package/cli/dist/utils/beads-integration.js.map +1 -0
  161. package/cli/dist/utils/beads-reporter.d.ts +17 -0
  162. package/cli/dist/utils/beads-reporter.d.ts.map +1 -0
  163. package/cli/dist/utils/beads-reporter.js +160 -0
  164. package/cli/dist/utils/beads-reporter.js.map +1 -0
  165. package/cli/dist/utils/cache-manager.d.ts +55 -0
  166. package/cli/dist/utils/cache-manager.d.ts.map +1 -0
  167. package/cli/dist/utils/cache-manager.js +150 -0
  168. package/cli/dist/utils/cache-manager.js.map +1 -0
  169. package/cli/dist/utils/change-manager.d.ts +70 -0
  170. package/cli/dist/utils/change-manager.d.ts.map +1 -0
  171. package/cli/dist/utils/change-manager.js +412 -0
  172. package/cli/dist/utils/change-manager.js.map +1 -0
  173. package/cli/dist/utils/config-manager-enhanced.d.ts +66 -0
  174. package/cli/dist/utils/config-manager-enhanced.d.ts.map +1 -0
  175. package/cli/dist/utils/config-manager-enhanced.js +77 -0
  176. package/cli/dist/utils/config-manager-enhanced.js.map +1 -0
  177. package/cli/dist/utils/context-manager.d.ts +96 -0
  178. package/cli/dist/utils/context-manager.d.ts.map +1 -0
  179. package/cli/dist/utils/context-manager.js +258 -0
  180. package/cli/dist/utils/context-manager.js.map +1 -0
  181. package/cli/dist/utils/diff-engine.d.ts +78 -0
  182. package/cli/dist/utils/diff-engine.d.ts.map +1 -0
  183. package/cli/dist/utils/diff-engine.js +233 -0
  184. package/cli/dist/utils/diff-engine.js.map +1 -0
  185. package/cli/dist/utils/export-system.d.ts +101 -0
  186. package/cli/dist/utils/export-system.d.ts.map +1 -0
  187. package/cli/dist/utils/export-system.js +289 -0
  188. package/cli/dist/utils/export-system.js.map +1 -0
  189. package/cli/dist/utils/health-checker.d.ts +66 -0
  190. package/cli/dist/utils/health-checker.d.ts.map +1 -0
  191. package/cli/dist/utils/health-checker.js +285 -0
  192. package/cli/dist/utils/health-checker.js.map +1 -0
  193. package/cli/dist/utils/import-system.d.ts +74 -0
  194. package/cli/dist/utils/import-system.d.ts.map +1 -0
  195. package/cli/dist/utils/import-system.js +317 -0
  196. package/cli/dist/utils/import-system.js.map +1 -0
  197. package/cli/dist/utils/module-cloner.d.ts +40 -0
  198. package/cli/dist/utils/module-cloner.d.ts.map +1 -0
  199. package/cli/dist/utils/module-cloner.js +136 -0
  200. package/cli/dist/utils/module-cloner.js.map +1 -0
  201. package/cli/dist/utils/prompt-manager.d.ts +90 -0
  202. package/cli/dist/utils/prompt-manager.d.ts.map +1 -0
  203. package/cli/dist/utils/prompt-manager.js +302 -0
  204. package/cli/dist/utils/prompt-manager.js.map +1 -0
  205. package/cli/dist/utils/spec-manager.d.ts +65 -0
  206. package/cli/dist/utils/spec-manager.d.ts.map +1 -0
  207. package/cli/dist/utils/spec-manager.js +329 -0
  208. package/cli/dist/utils/spec-manager.js.map +1 -0
  209. package/cli/dist/utils/stats-collector.d.ts +74 -0
  210. package/cli/dist/utils/stats-collector.d.ts.map +1 -0
  211. package/cli/dist/utils/stats-collector.js +164 -0
  212. package/cli/dist/utils/stats-collector.js.map +1 -0
  213. package/cli/dist/utils/template-engine.d.ts +47 -0
  214. package/cli/dist/utils/template-engine.d.ts.map +1 -0
  215. package/cli/dist/utils/template-engine.js +204 -0
  216. package/cli/dist/utils/template-engine.js.map +1 -0
  217. package/package.json +12 -3
  218. package/augment-extensions/workflows/openspec/README.md +0 -96
  219. package/augment-extensions/workflows/openspec/examples/complete-change-example.md +0 -244
  220. package/augment-extensions/workflows/openspec/module.json +0 -54
  221. package/augment-extensions/workflows/openspec/rules/best-practices.md +0 -272
  222. package/augment-extensions/workflows/openspec/rules/manual-setup.md +0 -231
  223. package/augment-extensions/workflows/openspec/rules/spec-format.md +0 -236
  224. package/augment-extensions/workflows/openspec/rules/workflow.md +0 -214
  225. package/cli/dist/utils/__tests__/adr-validator.example.d.ts +0 -6
  226. package/cli/dist/utils/__tests__/adr-validator.example.d.ts.map +0 -1
  227. package/cli/dist/utils/__tests__/adr-validator.example.js +0 -148
  228. package/cli/dist/utils/__tests__/adr-validator.example.js.map +0 -1
  229. package/cli/dist/utils/adr-validator.d.ts +0 -65
  230. package/cli/dist/utils/adr-validator.d.ts.map +0 -1
  231. package/cli/dist/utils/adr-validator.js +0 -203
  232. package/cli/dist/utils/adr-validator.js.map +0 -1
@@ -0,0 +1,233 @@
1
+ "use strict";
2
+ /**
3
+ * Diff Engine for Augment Extensions
4
+ * Compares modules and versions
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.DiffEngine = void 0;
41
+ const fs = __importStar(require("fs"));
42
+ const path = __importStar(require("path"));
43
+ const module_system_1 = require("./module-system");
44
+ /**
45
+ * Diff Engine class
46
+ */
47
+ class DiffEngine {
48
+ /**
49
+ * Compare two modules
50
+ */
51
+ async compareModules(module1Name, module2Name, options = {}) {
52
+ try {
53
+ const mod1 = await (0, module_system_1.loadModule)(module1Name);
54
+ const mod2 = await (0, module_system_1.loadModule)(module2Name);
55
+ if (!mod1 || !mod2) {
56
+ return {
57
+ success: false,
58
+ differences: [],
59
+ summary: this.createEmptySummary(),
60
+ errors: [
61
+ !mod1 ? `Module not found: ${module1Name}` : '',
62
+ !mod2 ? `Module not found: ${module2Name}` : ''
63
+ ].filter(Boolean)
64
+ };
65
+ }
66
+ const differences = this.computeDifferences(mod1, mod2, options);
67
+ const summary = this.computeSummary(differences);
68
+ return {
69
+ success: true,
70
+ differences: options.onlyDifferences
71
+ ? differences.filter(d => d.status !== 'unchanged')
72
+ : differences,
73
+ summary
74
+ };
75
+ }
76
+ catch (error) {
77
+ return {
78
+ success: false,
79
+ differences: [],
80
+ summary: this.createEmptySummary(),
81
+ errors: [error instanceof Error ? error.message : String(error)]
82
+ };
83
+ }
84
+ }
85
+ /**
86
+ * Compare module versions
87
+ */
88
+ async compareVersions(moduleName, version1, version2, options = {}) {
89
+ // For now, this is a placeholder
90
+ // In a real implementation, you'd load different versions from git or version history
91
+ return {
92
+ success: false,
93
+ differences: [],
94
+ summary: this.createEmptySummary(),
95
+ errors: ['Version comparison not yet implemented']
96
+ };
97
+ }
98
+ /**
99
+ * Compute differences between two modules
100
+ */
101
+ computeDifferences(mod1, mod2, options) {
102
+ const differences = [];
103
+ // Compare metadata
104
+ differences.push(...this.compareMetadata(mod1.metadata, mod2.metadata));
105
+ // Compare rules
106
+ differences.push(...this.compareFiles(mod1.rules, mod2.rules, 'rules', options.includeContent));
107
+ // Compare examples
108
+ differences.push(...this.compareFiles(mod1.examples, mod2.examples, 'examples', options.includeContent));
109
+ return differences;
110
+ }
111
+ /**
112
+ * Compare metadata objects
113
+ */
114
+ compareMetadata(meta1, meta2) {
115
+ const differences = [];
116
+ const allKeys = new Set([...Object.keys(meta1), ...Object.keys(meta2)]);
117
+ for (const key of allKeys) {
118
+ const val1 = meta1[key];
119
+ const val2 = meta2[key];
120
+ if (val1 === undefined && val2 !== undefined) {
121
+ differences.push({
122
+ type: 'metadata',
123
+ field: key,
124
+ newValue: val2,
125
+ status: 'added'
126
+ });
127
+ }
128
+ else if (val1 !== undefined && val2 === undefined) {
129
+ differences.push({
130
+ type: 'metadata',
131
+ field: key,
132
+ oldValue: val1,
133
+ status: 'removed'
134
+ });
135
+ }
136
+ else if (JSON.stringify(val1) !== JSON.stringify(val2)) {
137
+ differences.push({
138
+ type: 'metadata',
139
+ field: key,
140
+ oldValue: val1,
141
+ newValue: val2,
142
+ status: 'modified'
143
+ });
144
+ }
145
+ else {
146
+ differences.push({
147
+ type: 'metadata',
148
+ field: key,
149
+ oldValue: val1,
150
+ newValue: val2,
151
+ status: 'unchanged'
152
+ });
153
+ }
154
+ }
155
+ return differences;
156
+ }
157
+ /**
158
+ * Compare file lists
159
+ */
160
+ compareFiles(files1, files2, type, includeContent = false) {
161
+ const differences = [];
162
+ const names1 = files1.map(f => path.basename(f));
163
+ const names2 = files2.map(f => path.basename(f));
164
+ const allNames = new Set([...names1, ...names2]);
165
+ for (const name of allNames) {
166
+ const file1 = files1.find(f => path.basename(f) === name);
167
+ const file2 = files2.find(f => path.basename(f) === name);
168
+ if (!file1 && file2) {
169
+ differences.push({
170
+ type,
171
+ field: name,
172
+ newValue: includeContent ? fs.readFileSync(file2, 'utf-8') : name,
173
+ status: 'added'
174
+ });
175
+ }
176
+ else if (file1 && !file2) {
177
+ differences.push({
178
+ type,
179
+ field: name,
180
+ oldValue: includeContent ? fs.readFileSync(file1, 'utf-8') : name,
181
+ status: 'removed'
182
+ });
183
+ }
184
+ else if (file1 && file2) {
185
+ const content1 = fs.readFileSync(file1, 'utf-8');
186
+ const content2 = fs.readFileSync(file2, 'utf-8');
187
+ if (content1 !== content2) {
188
+ differences.push({
189
+ type,
190
+ field: name,
191
+ oldValue: includeContent ? content1 : name,
192
+ newValue: includeContent ? content2 : name,
193
+ status: 'modified'
194
+ });
195
+ }
196
+ else {
197
+ differences.push({
198
+ type,
199
+ field: name,
200
+ status: 'unchanged'
201
+ });
202
+ }
203
+ }
204
+ }
205
+ return differences;
206
+ }
207
+ /**
208
+ * Compute summary statistics
209
+ */
210
+ computeSummary(differences) {
211
+ return {
212
+ totalDifferences: differences.length,
213
+ added: differences.filter(d => d.status === 'added').length,
214
+ removed: differences.filter(d => d.status === 'removed').length,
215
+ modified: differences.filter(d => d.status === 'modified').length,
216
+ unchanged: differences.filter(d => d.status === 'unchanged').length
217
+ };
218
+ }
219
+ /**
220
+ * Create empty summary
221
+ */
222
+ createEmptySummary() {
223
+ return {
224
+ totalDifferences: 0,
225
+ added: 0,
226
+ removed: 0,
227
+ modified: 0,
228
+ unchanged: 0
229
+ };
230
+ }
231
+ }
232
+ exports.DiffEngine = DiffEngine;
233
+ //# sourceMappingURL=diff-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff-engine.js","sourceRoot":"","sources":["../../src/utils/diff-engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Export System for Augment Extensions
3
+ * Handles exporting modules, configurations, and workspaces
4
+ * Also serves as the backup mechanism for AI context modules
5
+ */
6
+ /**
7
+ * Export format types
8
+ */
9
+ export type ExportFormat = 'json' | 'yaml' | 'tar' | 'zip';
10
+ /**
11
+ * Export options
12
+ */
13
+ export interface ExportOptions {
14
+ /** Output file path (default: stdout) */
15
+ output?: string;
16
+ /** Output path (alias for output) */
17
+ outputPath?: string;
18
+ /** Export format */
19
+ format?: ExportFormat;
20
+ /** Include dependencies */
21
+ includeDeps?: boolean;
22
+ /** Include linked modules */
23
+ includeLinked?: boolean;
24
+ /** Include configuration */
25
+ includeConfig?: boolean;
26
+ /** Create bundled archive */
27
+ bundle?: boolean;
28
+ /** Compress output */
29
+ compress?: boolean;
30
+ }
31
+ /**
32
+ * Export result
33
+ */
34
+ export interface ExportResult {
35
+ success: boolean;
36
+ outputPath?: string;
37
+ format: ExportFormat;
38
+ size?: number;
39
+ errors?: string[];
40
+ metadata?: {
41
+ format: string;
42
+ size: number;
43
+ };
44
+ }
45
+ /**
46
+ * Module export data
47
+ */
48
+ export interface ModuleExportData {
49
+ metadata: any;
50
+ rules: {
51
+ [filename: string]: string;
52
+ };
53
+ examples: {
54
+ [filename: string]: string;
55
+ };
56
+ dependencies?: string[];
57
+ }
58
+ /**
59
+ * Export System class
60
+ */
61
+ export declare class ExportSystem {
62
+ private modulesDir;
63
+ constructor();
64
+ /**
65
+ * Export a single module
66
+ */
67
+ exportModule(moduleName: string, options?: ExportOptions): Promise<ExportResult>;
68
+ /**
69
+ * Export configuration
70
+ */
71
+ exportConfig(options?: ExportOptions): Promise<ExportResult>;
72
+ /**
73
+ * Export all linked modules
74
+ */
75
+ exportLinked(options?: ExportOptions): Promise<ExportResult>;
76
+ /**
77
+ * Export entire workspace
78
+ */
79
+ exportWorkspace(options?: ExportOptions): Promise<ExportResult>;
80
+ /**
81
+ * Prepare module export data
82
+ */
83
+ private prepareModuleExport;
84
+ /**
85
+ * Write export data to file or stdout
86
+ */
87
+ private writeExport;
88
+ /**
89
+ * Create archive (tar or zip)
90
+ */
91
+ private createArchive;
92
+ /**
93
+ * Convert object to YAML format (simple implementation)
94
+ */
95
+ private toYAML;
96
+ /**
97
+ * Get linked modules from .augment directory
98
+ */
99
+ private getLinkedModules;
100
+ }
101
+ //# sourceMappingURL=export-system.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-system.d.ts","sourceRoot":"","sources":["../../src/utils/export-system.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6BAA6B;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,4BAA4B;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE;QACT,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,GAAG,CAAC;IACd,KAAK,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACtC,QAAQ,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAS;;IAM3B;;OAEG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IAsB1F;;OAEG;IACG,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IActE;;OAEG;IACG,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IAsBtE;;OAEG;IACG,eAAe,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IAmBzE;;OAEG;YACW,mBAAmB;IA6BjC;;OAEG;YACW,WAAW;IAyCzB;;OAEG;YACW,aAAa;IA8C3B;;OAEG;IACH,OAAO,CAAC,MAAM;IAoBd;;OAEG;YACW,gBAAgB;CAY/B"}
@@ -0,0 +1,289 @@
1
+ "use strict";
2
+ /**
3
+ * Export System for Augment Extensions
4
+ * Handles exporting modules, configurations, and workspaces
5
+ * Also serves as the backup mechanism for AI context modules
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
40
+ var __importDefault = (this && this.__importDefault) || function (mod) {
41
+ return (mod && mod.__esModule) ? mod : { "default": mod };
42
+ };
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.ExportSystem = void 0;
45
+ const fs = __importStar(require("fs"));
46
+ const path = __importStar(require("path"));
47
+ const archiver_1 = __importDefault(require("archiver"));
48
+ const module_system_1 = require("./module-system");
49
+ const config_system_1 = require("./config-system");
50
+ /**
51
+ * Export System class
52
+ */
53
+ class ExportSystem {
54
+ constructor() {
55
+ this.modulesDir = (0, module_system_1.getModulesDir)();
56
+ }
57
+ /**
58
+ * Export a single module
59
+ */
60
+ async exportModule(moduleName, options = {}) {
61
+ try {
62
+ const module = await (0, module_system_1.loadModule)(moduleName);
63
+ if (!module) {
64
+ return {
65
+ success: false,
66
+ format: options.format || 'json',
67
+ errors: [`Module not found: ${moduleName}`]
68
+ };
69
+ }
70
+ const exportData = await this.prepareModuleExport(module, options.includeDeps);
71
+ return await this.writeExport(exportData, options);
72
+ }
73
+ catch (error) {
74
+ return {
75
+ success: false,
76
+ format: options.format || 'json',
77
+ errors: [error instanceof Error ? error.message : String(error)]
78
+ };
79
+ }
80
+ }
81
+ /**
82
+ * Export configuration
83
+ */
84
+ async exportConfig(options = {}) {
85
+ try {
86
+ const configManager = new config_system_1.ConfigManager();
87
+ const config = configManager.getConfig();
88
+ return await this.writeExport(config, options);
89
+ }
90
+ catch (error) {
91
+ return {
92
+ success: false,
93
+ format: options.format || 'json',
94
+ errors: [error instanceof Error ? error.message : String(error)]
95
+ };
96
+ }
97
+ }
98
+ /**
99
+ * Export all linked modules
100
+ */
101
+ async exportLinked(options = {}) {
102
+ try {
103
+ const linkedModules = await this.getLinkedModules();
104
+ const exportData = {};
105
+ for (const moduleName of linkedModules) {
106
+ const module = await (0, module_system_1.loadModule)(moduleName);
107
+ if (module) {
108
+ exportData[moduleName] = await this.prepareModuleExport(module, false);
109
+ }
110
+ }
111
+ return await this.writeExport(exportData, options);
112
+ }
113
+ catch (error) {
114
+ return {
115
+ success: false,
116
+ format: options.format || 'json',
117
+ errors: [error instanceof Error ? error.message : String(error)]
118
+ };
119
+ }
120
+ }
121
+ /**
122
+ * Export entire workspace
123
+ */
124
+ async exportWorkspace(options = {}) {
125
+ try {
126
+ const workspaceData = {
127
+ config: new config_system_1.ConfigManager().getConfig(),
128
+ linkedModules: await this.exportLinked({ ...options, output: undefined }),
129
+ timestamp: new Date().toISOString(),
130
+ version: '1.0.0'
131
+ };
132
+ return await this.writeExport(workspaceData, options);
133
+ }
134
+ catch (error) {
135
+ return {
136
+ success: false,
137
+ format: options.format || 'json',
138
+ errors: [error instanceof Error ? error.message : String(error)]
139
+ };
140
+ }
141
+ }
142
+ /**
143
+ * Prepare module export data
144
+ */
145
+ async prepareModuleExport(module, includeDeps = false) {
146
+ const exportData = {
147
+ metadata: module.metadata,
148
+ rules: {},
149
+ examples: {}
150
+ };
151
+ // Read rule files
152
+ for (const ruleFile of module.rules) {
153
+ const content = fs.readFileSync(ruleFile, 'utf-8');
154
+ const filename = path.basename(ruleFile);
155
+ exportData.rules[filename] = content;
156
+ }
157
+ // Read example files
158
+ for (const exampleFile of module.examples) {
159
+ const content = fs.readFileSync(exampleFile, 'utf-8');
160
+ const filename = path.basename(exampleFile);
161
+ exportData.examples[filename] = content;
162
+ }
163
+ // Include dependencies if requested
164
+ if (includeDeps && module.metadata.dependencies) {
165
+ exportData.dependencies = module.metadata.dependencies;
166
+ }
167
+ return exportData;
168
+ }
169
+ /**
170
+ * Write export data to file or stdout
171
+ */
172
+ async writeExport(data, options) {
173
+ const format = options.format || 'json';
174
+ if (options.bundle && (format === 'tar' || format === 'zip')) {
175
+ return await this.createArchive(data, options);
176
+ }
177
+ let output;
178
+ switch (format) {
179
+ case 'json':
180
+ output = JSON.stringify(data, null, 2);
181
+ break;
182
+ case 'yaml':
183
+ output = this.toYAML(data);
184
+ break;
185
+ default:
186
+ return {
187
+ success: false,
188
+ format,
189
+ errors: [`Unsupported format for non-archive export: ${format}`]
190
+ };
191
+ }
192
+ if (options.output) {
193
+ fs.writeFileSync(options.output, output, 'utf-8');
194
+ return {
195
+ success: true,
196
+ outputPath: options.output,
197
+ format,
198
+ size: Buffer.byteLength(output, 'utf-8')
199
+ };
200
+ }
201
+ else {
202
+ console.log(output);
203
+ return {
204
+ success: true,
205
+ format,
206
+ size: Buffer.byteLength(output, 'utf-8')
207
+ };
208
+ }
209
+ }
210
+ /**
211
+ * Create archive (tar or zip)
212
+ */
213
+ async createArchive(data, options) {
214
+ return new Promise((resolve, reject) => {
215
+ if (!options.output) {
216
+ resolve({
217
+ success: false,
218
+ format: options.format || 'tar',
219
+ errors: ['Archive export requires output path']
220
+ });
221
+ return;
222
+ }
223
+ const format = options.format === 'zip' ? 'zip' : 'tar';
224
+ const archive = (0, archiver_1.default)(format, {
225
+ zlib: options.compress ? { level: 9 } : undefined
226
+ });
227
+ const output = fs.createWriteStream(options.output);
228
+ let totalSize = 0;
229
+ output.on('close', () => {
230
+ resolve({
231
+ success: true,
232
+ outputPath: options.output,
233
+ format: options.format || 'tar',
234
+ size: totalSize
235
+ });
236
+ });
237
+ archive.on('error', (err) => {
238
+ resolve({
239
+ success: false,
240
+ format: options.format || 'tar',
241
+ errors: [err.message]
242
+ });
243
+ });
244
+ archive.on('data', (chunk) => {
245
+ totalSize += chunk.length;
246
+ });
247
+ archive.pipe(output);
248
+ archive.append(JSON.stringify(data, null, 2), { name: 'export.json' });
249
+ archive.finalize();
250
+ });
251
+ }
252
+ /**
253
+ * Convert object to YAML format (simple implementation)
254
+ */
255
+ toYAML(obj, indent = 0) {
256
+ const spaces = ' '.repeat(indent);
257
+ let yaml = '';
258
+ for (const [key, value] of Object.entries(obj)) {
259
+ if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
260
+ yaml += `${spaces}${key}:\n${this.toYAML(value, indent + 2)}`;
261
+ }
262
+ else if (Array.isArray(value)) {
263
+ yaml += `${spaces}${key}:\n`;
264
+ for (const item of value) {
265
+ yaml += `${spaces} - ${item}\n`;
266
+ }
267
+ }
268
+ else {
269
+ yaml += `${spaces}${key}: ${value}\n`;
270
+ }
271
+ }
272
+ return yaml;
273
+ }
274
+ /**
275
+ * Get linked modules from .augment directory
276
+ */
277
+ async getLinkedModules() {
278
+ const augmentDir = path.join(process.cwd(), '.augment');
279
+ const linkedFile = path.join(augmentDir, 'linked-modules.json');
280
+ if (!fs.existsSync(linkedFile)) {
281
+ return [];
282
+ }
283
+ const content = fs.readFileSync(linkedFile, 'utf-8');
284
+ const linked = JSON.parse(content);
285
+ return linked.modules || [];
286
+ }
287
+ }
288
+ exports.ExportSystem = ExportSystem;
289
+ //# sourceMappingURL=export-system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-system.js","sourceRoot":"","sources":["../../src/utils/export-system.ts"],"names":[],"mappings":"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"}