@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,129 @@
1
+ /**
2
+ * Agent Config for Augment Extensions
3
+ * **CRITICAL** - Agent configuration and capabilities management
4
+ */
5
+ /**
6
+ * Agent profile
7
+ */
8
+ export interface AgentProfile {
9
+ id: string;
10
+ name: string;
11
+ description?: string;
12
+ capabilities: AgentCapability[];
13
+ preferences: AgentPreferences;
14
+ metadata?: {
15
+ version?: string;
16
+ author?: string;
17
+ created?: string;
18
+ updated?: string;
19
+ };
20
+ }
21
+ /**
22
+ * Agent capability
23
+ */
24
+ export interface AgentCapability {
25
+ name: string;
26
+ enabled: boolean;
27
+ config?: {
28
+ [key: string]: any;
29
+ };
30
+ }
31
+ /**
32
+ * Agent preferences
33
+ */
34
+ export interface AgentPreferences {
35
+ /** Preferred context modules */
36
+ preferredModules?: string[];
37
+ /** Maximum token budget */
38
+ maxTokens?: number;
39
+ /** Code style preferences */
40
+ codeStyle?: {
41
+ language?: string;
42
+ framework?: string;
43
+ conventions?: string[];
44
+ };
45
+ /** Output preferences */
46
+ output?: {
47
+ verbosity?: 'minimal' | 'normal' | 'verbose';
48
+ format?: 'text' | 'markdown' | 'json';
49
+ };
50
+ }
51
+ /**
52
+ * Capability test result
53
+ */
54
+ export interface CapabilityTestResult {
55
+ capability: string;
56
+ available: boolean;
57
+ tested: boolean;
58
+ message?: string;
59
+ }
60
+ /**
61
+ * Agent Config class
62
+ */
63
+ export declare class AgentConfig {
64
+ private configManager;
65
+ private profilesDir;
66
+ private currentProfile;
67
+ constructor();
68
+ /**
69
+ * Get current agent profile
70
+ */
71
+ getCurrentProfile(): AgentProfile | null;
72
+ /**
73
+ * Set current agent profile
74
+ */
75
+ setCurrentProfile(profileId: string): boolean;
76
+ /**
77
+ * Create a new agent profile
78
+ */
79
+ createProfile(profile: AgentProfile): boolean;
80
+ /**
81
+ * Update an existing profile
82
+ */
83
+ updateProfile(profileId: string, updates: Partial<AgentProfile>): boolean;
84
+ /**
85
+ * Delete a profile
86
+ */
87
+ deleteProfile(profileId: string): boolean;
88
+ /**
89
+ * List all profiles
90
+ */
91
+ listProfiles(): AgentProfile[];
92
+ /**
93
+ * Get agent capabilities
94
+ */
95
+ getCapabilities(): AgentCapability[];
96
+ /**
97
+ * Test a capability
98
+ */
99
+ testCapability(capabilityName: string): CapabilityTestResult;
100
+ /**
101
+ * Export profile
102
+ */
103
+ exportProfile(profileId: string, outputPath: string): boolean;
104
+ /**
105
+ * Import profile
106
+ */
107
+ importProfile(filePath: string): boolean;
108
+ /**
109
+ * Load profile from file
110
+ */
111
+ private loadProfile;
112
+ /**
113
+ * Load current profile from config
114
+ */
115
+ private loadCurrentProfile;
116
+ /**
117
+ * Save current profile ID to config
118
+ */
119
+ private saveCurrentProfileId;
120
+ /**
121
+ * Create default profile
122
+ */
123
+ private createDefaultProfile;
124
+ /**
125
+ * Get default capabilities
126
+ */
127
+ private getDefaultCapabilities;
128
+ }
129
+ //# sourceMappingURL=agent-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-config.d.ts","sourceRoot":"","sources":["../../src/utils/agent-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,SAAS,CAAC,EAAE;QACV,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;IACF,yBAAyB;IACzB,MAAM,CAAC,EAAE;QACP,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;QAC7C,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;KACvC,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,cAAc,CAAsB;;IAU5C;;OAEG;IACH,iBAAiB,IAAI,YAAY,GAAG,IAAI;IAIxC;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAW7C;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAqB7C;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO;IAgCzE;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAqBzC;;OAEG;IACH,YAAY,IAAI,YAAY,EAAE;IAqB9B;;OAEG;IACH,eAAe,IAAI,eAAe,EAAE;IAQpC;;OAEG;IACH,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,oBAAoB;IAoB5D;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO;IAc7D;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAWxC;;OAEG;IACH,OAAO,CAAC,WAAW;IAenB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAc1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAoB5B;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAW/B"}
@@ -0,0 +1,297 @@
1
+ "use strict";
2
+ /**
3
+ * Agent Config for Augment Extensions
4
+ * **CRITICAL** - Agent configuration and capabilities management
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.AgentConfig = void 0;
41
+ const fs = __importStar(require("fs"));
42
+ const path = __importStar(require("path"));
43
+ const config_manager_enhanced_1 = require("./config-manager-enhanced");
44
+ /**
45
+ * Agent Config class
46
+ */
47
+ class AgentConfig {
48
+ constructor() {
49
+ this.configManager = new config_manager_enhanced_1.EnhancedConfigManager();
50
+ this.profilesDir = path.join(process.cwd(), '.augment', 'agent-profiles');
51
+ fs.mkdirSync(this.profilesDir, { recursive: true });
52
+ this.currentProfile = null;
53
+ this.loadCurrentProfile();
54
+ }
55
+ /**
56
+ * Get current agent profile
57
+ */
58
+ getCurrentProfile() {
59
+ return this.currentProfile;
60
+ }
61
+ /**
62
+ * Set current agent profile
63
+ */
64
+ setCurrentProfile(profileId) {
65
+ const profile = this.loadProfile(profileId);
66
+ if (!profile) {
67
+ return false;
68
+ }
69
+ this.currentProfile = profile;
70
+ this.saveCurrentProfileId(profileId);
71
+ return true;
72
+ }
73
+ /**
74
+ * Create a new agent profile
75
+ */
76
+ createProfile(profile) {
77
+ try {
78
+ const filePath = path.join(this.profilesDir, `${profile.id}.json`);
79
+ if (fs.existsSync(filePath)) {
80
+ return false; // Profile already exists
81
+ }
82
+ profile.metadata = {
83
+ ...profile.metadata,
84
+ created: new Date().toISOString(),
85
+ updated: new Date().toISOString()
86
+ };
87
+ fs.writeFileSync(filePath, JSON.stringify(profile, null, 2));
88
+ return true;
89
+ }
90
+ catch (error) {
91
+ return false;
92
+ }
93
+ }
94
+ /**
95
+ * Update an existing profile
96
+ */
97
+ updateProfile(profileId, updates) {
98
+ try {
99
+ const existing = this.loadProfile(profileId);
100
+ if (!existing) {
101
+ return false;
102
+ }
103
+ const updated = {
104
+ ...existing,
105
+ ...updates,
106
+ id: profileId, // Keep original ID
107
+ metadata: {
108
+ ...existing.metadata,
109
+ ...updates.metadata,
110
+ updated: new Date().toISOString()
111
+ }
112
+ };
113
+ const filePath = path.join(this.profilesDir, `${profileId}.json`);
114
+ fs.writeFileSync(filePath, JSON.stringify(updated, null, 2));
115
+ // Update current profile if it's the one being updated
116
+ if (this.currentProfile?.id === profileId) {
117
+ this.currentProfile = updated;
118
+ }
119
+ return true;
120
+ }
121
+ catch (error) {
122
+ return false;
123
+ }
124
+ }
125
+ /**
126
+ * Delete a profile
127
+ */
128
+ deleteProfile(profileId) {
129
+ try {
130
+ const filePath = path.join(this.profilesDir, `${profileId}.json`);
131
+ if (!fs.existsSync(filePath)) {
132
+ return false;
133
+ }
134
+ fs.unlinkSync(filePath);
135
+ // Clear current profile if it's the one being deleted
136
+ if (this.currentProfile?.id === profileId) {
137
+ this.currentProfile = null;
138
+ this.saveCurrentProfileId('');
139
+ }
140
+ return true;
141
+ }
142
+ catch (error) {
143
+ return false;
144
+ }
145
+ }
146
+ /**
147
+ * List all profiles
148
+ */
149
+ listProfiles() {
150
+ const profiles = [];
151
+ if (!fs.existsSync(this.profilesDir)) {
152
+ return profiles;
153
+ }
154
+ const files = fs.readdirSync(this.profilesDir)
155
+ .filter(f => f.endsWith('.json'));
156
+ for (const file of files) {
157
+ const profileId = path.basename(file, '.json');
158
+ const profile = this.loadProfile(profileId);
159
+ if (profile) {
160
+ profiles.push(profile);
161
+ }
162
+ }
163
+ return profiles;
164
+ }
165
+ /**
166
+ * Get agent capabilities
167
+ */
168
+ getCapabilities() {
169
+ if (!this.currentProfile) {
170
+ return this.getDefaultCapabilities();
171
+ }
172
+ return this.currentProfile.capabilities;
173
+ }
174
+ /**
175
+ * Test a capability
176
+ */
177
+ testCapability(capabilityName) {
178
+ const capability = this.getCapabilities().find(c => c.name === capabilityName);
179
+ if (!capability) {
180
+ return {
181
+ capability: capabilityName,
182
+ available: false,
183
+ tested: true,
184
+ message: 'Capability not found'
185
+ };
186
+ }
187
+ return {
188
+ capability: capabilityName,
189
+ available: capability.enabled,
190
+ tested: true,
191
+ message: capability.enabled ? 'Capability is enabled' : 'Capability is disabled'
192
+ };
193
+ }
194
+ /**
195
+ * Export profile
196
+ */
197
+ exportProfile(profileId, outputPath) {
198
+ try {
199
+ const profile = this.loadProfile(profileId);
200
+ if (!profile) {
201
+ return false;
202
+ }
203
+ fs.writeFileSync(outputPath, JSON.stringify(profile, null, 2));
204
+ return true;
205
+ }
206
+ catch (error) {
207
+ return false;
208
+ }
209
+ }
210
+ /**
211
+ * Import profile
212
+ */
213
+ importProfile(filePath) {
214
+ try {
215
+ const content = fs.readFileSync(filePath, 'utf-8');
216
+ const profile = JSON.parse(content);
217
+ return this.createProfile(profile);
218
+ }
219
+ catch (error) {
220
+ return false;
221
+ }
222
+ }
223
+ /**
224
+ * Load profile from file
225
+ */
226
+ loadProfile(profileId) {
227
+ try {
228
+ const filePath = path.join(this.profilesDir, `${profileId}.json`);
229
+ if (!fs.existsSync(filePath)) {
230
+ return null;
231
+ }
232
+ const content = fs.readFileSync(filePath, 'utf-8');
233
+ return JSON.parse(content);
234
+ }
235
+ catch (error) {
236
+ return null;
237
+ }
238
+ }
239
+ /**
240
+ * Load current profile from config
241
+ */
242
+ loadCurrentProfile() {
243
+ const config = this.configManager.getAgentConfig();
244
+ const profileId = config?.profile;
245
+ if (profileId) {
246
+ this.currentProfile = this.loadProfile(profileId);
247
+ }
248
+ // Create default profile if none exists
249
+ if (!this.currentProfile) {
250
+ this.currentProfile = this.createDefaultProfile();
251
+ }
252
+ }
253
+ /**
254
+ * Save current profile ID to config
255
+ */
256
+ saveCurrentProfileId(profileId) {
257
+ this.configManager.setAgentConfig({ profile: profileId });
258
+ }
259
+ /**
260
+ * Create default profile
261
+ */
262
+ createDefaultProfile() {
263
+ return {
264
+ id: 'default',
265
+ name: 'Default Agent Profile',
266
+ description: 'Default configuration for AI agents',
267
+ capabilities: this.getDefaultCapabilities(),
268
+ preferences: {
269
+ maxTokens: 100000,
270
+ output: {
271
+ verbosity: 'normal',
272
+ format: 'markdown'
273
+ }
274
+ },
275
+ metadata: {
276
+ version: '1.0.0',
277
+ created: new Date().toISOString()
278
+ }
279
+ };
280
+ }
281
+ /**
282
+ * Get default capabilities
283
+ */
284
+ getDefaultCapabilities() {
285
+ return [
286
+ { name: 'code-generation', enabled: true },
287
+ { name: 'code-review', enabled: true },
288
+ { name: 'documentation', enabled: true },
289
+ { name: 'testing', enabled: true },
290
+ { name: 'refactoring', enabled: true },
291
+ { name: 'debugging', enabled: true },
292
+ { name: 'optimization', enabled: true }
293
+ ];
294
+ }
295
+ }
296
+ exports.AgentConfig = AgentConfig;
297
+ //# sourceMappingURL=agent-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-config.js","sourceRoot":"","sources":["../../src/utils/agent-config.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAC7B,uEAAkE;AA2DlE;;GAEG;AACH,MAAa,WAAW;IAKtB;QACE,IAAI,CAAC,aAAa,GAAG,IAAI,+CAAqB,EAAE,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAC1E,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,SAAiB;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,OAAqB;QACjC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;YAEnE,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,OAAO,KAAK,CAAC,CAAC,yBAAyB;YACzC,CAAC;YAED,OAAO,CAAC,QAAQ,GAAG;gBACjB,GAAG,OAAO,CAAC,QAAQ;gBACnB,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACjC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aAClC,CAAC;YAEF,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,SAAiB,EAAE,OAA8B;QAC7D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,OAAO,GAAG;gBACd,GAAG,QAAQ;gBACX,GAAG,OAAO;gBACV,EAAE,EAAE,SAAS,EAAE,mBAAmB;gBAClC,QAAQ,EAAE;oBACR,GAAG,QAAQ,CAAC,QAAQ;oBACpB,GAAG,OAAO,CAAC,QAAQ;oBACnB,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBAClC;aACF,CAAC;YAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;YAClE,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAE7D,uDAAuD;YACvD,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,SAAS,EAAE,CAAC;gBAC1C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;YAChC,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,SAAiB;QAC7B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;YAClE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,OAAO,KAAK,CAAC;YACf,CAAC;YAED,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAExB,sDAAsD;YACtD,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,SAAS,EAAE,CAAC;gBAC1C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;YAChC,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,YAAY;QACV,MAAM,QAAQ,GAAmB,EAAE,CAAC;QAEpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;aAC3C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAEpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,OAAO,EAAE,CAAC;gBACZ,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACvC,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,cAAsB;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;QAE/E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;gBACL,UAAU,EAAE,cAAc;gBAC1B,SAAS,EAAE,KAAK;gBAChB,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,sBAAsB;aAChC,CAAC;QACJ,CAAC;QAED,OAAO;YACL,UAAU,EAAE,cAAc;YAC1B,SAAS,EAAE,UAAU,CAAC,OAAO;YAC7B,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,wBAAwB;SACjF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,SAAiB,EAAE,UAAkB;QACjD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,KAAK,CAAC;YACf,CAAC;YAED,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,QAAgB;QAC5B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM,OAAO,GAAiB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAElD,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,SAAiB;QACnC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;YAElE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;QACnD,MAAM,SAAS,GAAG,MAAM,EAAE,OAAO,CAAC;QAElC,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACpD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,SAAiB;QAC5C,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACK,oBAAoB;QAC1B,OAAO;YACL,EAAE,EAAE,SAAS;YACb,IAAI,EAAE,uBAAuB;YAC7B,WAAW,EAAE,qCAAqC;YAClD,YAAY,EAAE,IAAI,CAAC,sBAAsB,EAAE;YAC3C,WAAW,EAAE;gBACX,SAAS,EAAE,MAAM;gBACjB,MAAM,EAAE;oBACN,SAAS,EAAE,QAAQ;oBACnB,MAAM,EAAE,UAAU;iBACnB;aACF;YACD,QAAQ,EAAE;gBACR,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aAClC;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,sBAAsB;QAC5B,OAAO;YACL,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,IAAI,EAAE;YAC1C,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE;YACtC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE;YACxC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YAClC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE;YACtC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE;YACpC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE;SACxC,CAAC;IACJ,CAAC;CACF;AA7RD,kCA6RC"}
@@ -146,25 +146,25 @@ function watchForChanges(beadsPath = '.beads/issues.jsonl', openspecDir = 'opens
146
146
  */
147
147
  function createGitHook(hookType = 'pre-commit', gitDir = '.git') {
148
148
  const hookPath = path.join(gitDir, 'hooks', hookType);
149
- const hookContent = `#!/bin/sh
150
- # Auto-sync coordination manifest
151
-
152
- # Sync Beads tasks
153
- if [ -f .beads/issues.jsonl ]; then
154
- echo "Syncing Beads tasks to coordination manifest..."
155
- augx sync beads
156
- fi
157
-
158
- # Sync OpenSpec specs
159
- if [ -d openspec ]; then
160
- echo "Syncing OpenSpec specs to coordination manifest..."
161
- augx sync openspec
162
- fi
163
-
164
- # Add coordination manifest to commit if changed
165
- if [ -f .augment/coordination.json ]; then
166
- git add .augment/coordination.json
167
- fi
149
+ const hookContent = `#!/bin/sh
150
+ # Auto-sync coordination manifest
151
+
152
+ # Sync Beads tasks
153
+ if [ -f .beads/issues.jsonl ]; then
154
+ echo "Syncing Beads tasks to coordination manifest..."
155
+ augx sync beads
156
+ fi
157
+
158
+ # Sync OpenSpec specs
159
+ if [ -d openspec ]; then
160
+ echo "Syncing OpenSpec specs to coordination manifest..."
161
+ augx sync openspec
162
+ fi
163
+
164
+ # Add coordination manifest to commit if changed
165
+ if [ -f .augment/coordination.json ]; then
166
+ git add .augment/coordination.json
167
+ fi
168
168
  `;
169
169
  fs.writeFileSync(hookPath, hookContent, { mode: 0o755 });
170
170
  console.log(`Created ${hookType} hook at ${hookPath}`);
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Beads Graph Utility
3
+ *
4
+ * Generates dependency graph visualizations in multiple formats.
5
+ */
6
+ import { BeadsTask } from './beads-integration';
7
+ export interface GraphOptions {
8
+ format?: 'ascii' | 'dot' | 'mermaid' | 'svg';
9
+ filter?: 'open' | 'blocked' | 'all';
10
+ depth?: number;
11
+ showClosed?: boolean;
12
+ }
13
+ /**
14
+ * Generate dependency graph
15
+ */
16
+ export declare function generateGraph(tasks: BeadsTask[], options?: GraphOptions): string;
17
+ //# sourceMappingURL=beads-graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"beads-graph.d.ts","sourceRoot":"","sources":["../../src/utils/beads-graph.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC;IAC7C,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM,CA6BpF"}
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+ /**
3
+ * Beads Graph Utility
4
+ *
5
+ * Generates dependency graph visualizations in multiple formats.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.generateGraph = generateGraph;
9
+ /**
10
+ * Generate dependency graph
11
+ */
12
+ function generateGraph(tasks, options = {}) {
13
+ const format = options.format || 'ascii';
14
+ const filter = options.filter || 'all';
15
+ const depth = options.depth || 999;
16
+ // Filter tasks based on options
17
+ let filteredTasks = tasks;
18
+ if (filter === 'open') {
19
+ filteredTasks = tasks.filter(t => t.status === 'open');
20
+ }
21
+ else if (filter === 'blocked') {
22
+ filteredTasks = tasks.filter(t => t.status === 'blocked' || (t.blocked_by && t.blocked_by.length > 0));
23
+ }
24
+ if (!options.showClosed) {
25
+ filteredTasks = filteredTasks.filter(t => t.status !== 'closed');
26
+ }
27
+ switch (format) {
28
+ case 'ascii':
29
+ return generateASCIIGraph(filteredTasks, depth);
30
+ case 'dot':
31
+ return generateDOTGraph(filteredTasks, depth);
32
+ case 'mermaid':
33
+ return generateMermaidGraph(filteredTasks, depth);
34
+ case 'svg':
35
+ return generateSVGGraph(filteredTasks, depth);
36
+ default:
37
+ throw new Error(`Unsupported format: ${format}`);
38
+ }
39
+ }
40
+ /**
41
+ * Generate ASCII graph
42
+ */
43
+ function generateASCIIGraph(tasks, maxDepth) {
44
+ let graph = 'Dependency Graph\n';
45
+ graph += '================\n\n';
46
+ const visited = new Set();
47
+ const rootTasks = tasks.filter(t => !t.blocked_by || t.blocked_by.length === 0);
48
+ function renderTask(task, depth, prefix = '') {
49
+ if (depth > maxDepth || visited.has(task.id))
50
+ return '';
51
+ visited.add(task.id);
52
+ let output = `${prefix}${task.id}: ${task.title} [${task.status}]\n`;
53
+ // Find tasks that this task blocks
54
+ const blockedTasks = tasks.filter(t => t.blocked_by && t.blocked_by.includes(task.id));
55
+ for (let i = 0; i < blockedTasks.length; i++) {
56
+ const isLast = i === blockedTasks.length - 1;
57
+ const newPrefix = prefix + (isLast ? ' └─ ' : ' ├─ ');
58
+ const childPrefix = prefix + (isLast ? ' ' : ' │ ');
59
+ output += renderTask(blockedTasks[i], depth + 1, newPrefix);
60
+ }
61
+ return output;
62
+ }
63
+ for (const root of rootTasks) {
64
+ graph += renderTask(root, 0);
65
+ }
66
+ return graph;
67
+ }
68
+ /**
69
+ * Generate DOT graph (Graphviz)
70
+ */
71
+ function generateDOTGraph(tasks, maxDepth) {
72
+ let dot = 'digraph BeadsTasks {\n';
73
+ dot += ' rankdir=TB;\n';
74
+ dot += ' node [shape=box, style=rounded];\n\n';
75
+ // Add nodes
76
+ for (const task of tasks) {
77
+ const color = getStatusColor(task.status);
78
+ const label = `${task.id}\\n${task.title}`;
79
+ dot += ` "${task.id}" [label="${label}", fillcolor="${color}", style="filled,rounded"];\n`;
80
+ }
81
+ dot += '\n';
82
+ // Add edges
83
+ for (const task of tasks) {
84
+ if (task.blocked_by) {
85
+ for (const blockerId of task.blocked_by) {
86
+ dot += ` "${blockerId}" -> "${task.id}";\n`;
87
+ }
88
+ }
89
+ }
90
+ dot += '}\n';
91
+ return dot;
92
+ }
93
+ /**
94
+ * Generate Mermaid graph
95
+ */
96
+ function generateMermaidGraph(tasks, maxDepth) {
97
+ let mermaid = 'graph TD\n';
98
+ // Add nodes
99
+ for (const task of tasks) {
100
+ const sanitizedId = task.id.replace(/[.-]/g, '_');
101
+ const label = `${task.id}: ${task.title}`;
102
+ const shape = getStatusShape(task.status);
103
+ mermaid += ` ${sanitizedId}${shape[0]}"${label}"${shape[1]}\n`;
104
+ }
105
+ mermaid += '\n';
106
+ // Add edges
107
+ for (const task of tasks) {
108
+ if (task.blocked_by) {
109
+ for (const blockerId of task.blocked_by) {
110
+ const sanitizedTaskId = task.id.replace(/[.-]/g, '_');
111
+ const sanitizedBlockerId = blockerId.replace(/[.-]/g, '_');
112
+ mermaid += ` ${sanitizedBlockerId} --> ${sanitizedTaskId}\n`;
113
+ }
114
+ }
115
+ }
116
+ return mermaid;
117
+ }
118
+ /**
119
+ * Generate SVG graph (basic implementation)
120
+ */
121
+ function generateSVGGraph(tasks, maxDepth) {
122
+ // For now, generate DOT and suggest using Graphviz to convert to SVG
123
+ const dot = generateDOTGraph(tasks, maxDepth);
124
+ return `<!-- Use Graphviz to convert this DOT to SVG: dot -Tsvg input.dot -o output.svg -->\n${dot}`;
125
+ }
126
+ /**
127
+ * Get color for status
128
+ */
129
+ function getStatusColor(status) {
130
+ switch (status) {
131
+ case 'open': return 'lightblue';
132
+ case 'in_progress': return 'yellow';
133
+ case 'blocked': return 'orange';
134
+ case 'closed': return 'lightgreen';
135
+ default: return 'white';
136
+ }
137
+ }
138
+ /**
139
+ * Get Mermaid shape for status
140
+ */
141
+ function getStatusShape(status) {
142
+ switch (status) {
143
+ case 'open': return ['[', ']'];
144
+ case 'in_progress': return ['([', '])'];
145
+ case 'blocked': return ['{{', '}}'];
146
+ case 'closed': return ['[(', ')]'];
147
+ default: return ['[', ']'];
148
+ }
149
+ }
150
+ //# sourceMappingURL=beads-graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"beads-graph.js","sourceRoot":"","sources":["../../src/utils/beads-graph.ts"],"names":[],"mappings":"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"}