specweave 0.28.68 → 0.29.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 (318) hide show
  1. package/CLAUDE.md +3 -2
  2. package/README.md +19 -2
  3. package/dist/src/cli/commands/discrepancies.d.ts +89 -0
  4. package/dist/src/cli/commands/discrepancies.d.ts.map +1 -0
  5. package/dist/src/cli/commands/discrepancies.js +385 -0
  6. package/dist/src/cli/commands/discrepancies.js.map +1 -0
  7. package/dist/src/cli/commands/notifications.d.ts +70 -0
  8. package/dist/src/cli/commands/notifications.d.ts.map +1 -0
  9. package/dist/src/cli/commands/notifications.js +236 -0
  10. package/dist/src/cli/commands/notifications.js.map +1 -0
  11. package/dist/src/cli/commands/sync-logs.d.ts +54 -0
  12. package/dist/src/cli/commands/sync-logs.d.ts.map +1 -0
  13. package/dist/src/cli/commands/sync-logs.js +240 -0
  14. package/dist/src/cli/commands/sync-logs.js.map +1 -0
  15. package/dist/src/cli/commands/sync-monitor.d.ts +42 -0
  16. package/dist/src/cli/commands/sync-monitor.d.ts.map +1 -0
  17. package/dist/src/cli/commands/sync-monitor.js +191 -0
  18. package/dist/src/cli/commands/sync-monitor.js.map +1 -0
  19. package/dist/src/cli/helpers/init/brownfield-analysis.d.ts +45 -0
  20. package/dist/src/cli/helpers/init/brownfield-analysis.d.ts.map +1 -0
  21. package/dist/src/cli/helpers/init/brownfield-analysis.js +431 -0
  22. package/dist/src/cli/helpers/init/brownfield-analysis.js.map +1 -0
  23. package/dist/src/cli/helpers/init/index.d.ts +1 -0
  24. package/dist/src/cli/helpers/init/index.d.ts.map +1 -1
  25. package/dist/src/cli/helpers/init/index.js +2 -0
  26. package/dist/src/cli/helpers/init/index.js.map +1 -1
  27. package/dist/src/cli/workers/brownfield-worker.d.ts +66 -0
  28. package/dist/src/cli/workers/brownfield-worker.d.ts.map +1 -0
  29. package/dist/src/cli/workers/brownfield-worker.js +417 -0
  30. package/dist/src/cli/workers/brownfield-worker.js.map +1 -0
  31. package/dist/src/core/background/brownfield-launcher.d.ts +86 -0
  32. package/dist/src/core/background/brownfield-launcher.d.ts.map +1 -0
  33. package/dist/src/core/background/brownfield-launcher.js +295 -0
  34. package/dist/src/core/background/brownfield-launcher.js.map +1 -0
  35. package/dist/src/core/background/index.d.ts +2 -0
  36. package/dist/src/core/background/index.d.ts.map +1 -1
  37. package/dist/src/core/background/index.js +2 -0
  38. package/dist/src/core/background/index.js.map +1 -1
  39. package/dist/src/core/background/types.d.ts +23 -2
  40. package/dist/src/core/background/types.d.ts.map +1 -1
  41. package/dist/src/core/config/index.d.ts +1 -0
  42. package/dist/src/core/config/index.d.ts.map +1 -1
  43. package/dist/src/core/config/index.js +1 -0
  44. package/dist/src/core/config/index.js.map +1 -1
  45. package/dist/src/core/config/types.d.ts +6 -0
  46. package/dist/src/core/config/types.d.ts.map +1 -1
  47. package/dist/src/core/config/types.js.map +1 -1
  48. package/dist/src/core/dashboard/dashboard-data.d.ts +156 -0
  49. package/dist/src/core/dashboard/dashboard-data.d.ts.map +1 -0
  50. package/dist/src/core/dashboard/dashboard-data.js +191 -0
  51. package/dist/src/core/dashboard/dashboard-data.js.map +1 -0
  52. package/dist/src/core/dashboard/index.d.ts +9 -0
  53. package/dist/src/core/dashboard/index.d.ts.map +1 -0
  54. package/dist/src/core/dashboard/index.js +9 -0
  55. package/dist/src/core/dashboard/index.js.map +1 -0
  56. package/dist/src/core/discrepancy/analyzers/api-route-analyzer.d.ts +77 -0
  57. package/dist/src/core/discrepancy/analyzers/api-route-analyzer.d.ts.map +1 -0
  58. package/dist/src/core/discrepancy/analyzers/api-route-analyzer.js +286 -0
  59. package/dist/src/core/discrepancy/analyzers/api-route-analyzer.js.map +1 -0
  60. package/dist/src/core/discrepancy/analyzers/index.d.ts +8 -0
  61. package/dist/src/core/discrepancy/analyzers/index.d.ts.map +1 -0
  62. package/dist/src/core/discrepancy/analyzers/index.js +8 -0
  63. package/dist/src/core/discrepancy/analyzers/index.js.map +1 -0
  64. package/dist/src/core/discrepancy/analyzers/typescript-analyzer.d.ts +96 -0
  65. package/dist/src/core/discrepancy/analyzers/typescript-analyzer.d.ts.map +1 -0
  66. package/dist/src/core/discrepancy/analyzers/typescript-analyzer.js +247 -0
  67. package/dist/src/core/discrepancy/analyzers/typescript-analyzer.js.map +1 -0
  68. package/dist/src/core/discrepancy/brownfield-manager.d.ts +88 -0
  69. package/dist/src/core/discrepancy/brownfield-manager.d.ts.map +1 -0
  70. package/dist/src/core/discrepancy/brownfield-manager.js +520 -0
  71. package/dist/src/core/discrepancy/brownfield-manager.js.map +1 -0
  72. package/dist/src/core/discrepancy/brownfield-types.d.ts +174 -0
  73. package/dist/src/core/discrepancy/brownfield-types.d.ts.map +1 -0
  74. package/dist/src/core/discrepancy/brownfield-types.js +11 -0
  75. package/dist/src/core/discrepancy/brownfield-types.js.map +1 -0
  76. package/dist/src/core/discrepancy/detector.d.ts +92 -0
  77. package/dist/src/core/discrepancy/detector.d.ts.map +1 -0
  78. package/dist/src/core/discrepancy/detector.js +346 -0
  79. package/dist/src/core/discrepancy/detector.js.map +1 -0
  80. package/dist/src/core/discrepancy/increment-generator.d.ts +51 -0
  81. package/dist/src/core/discrepancy/increment-generator.d.ts.map +1 -0
  82. package/dist/src/core/discrepancy/increment-generator.js +234 -0
  83. package/dist/src/core/discrepancy/increment-generator.js.map +1 -0
  84. package/dist/src/core/discrepancy/index.d.ts +18 -0
  85. package/dist/src/core/discrepancy/index.d.ts.map +1 -0
  86. package/dist/src/core/discrepancy/index.js +24 -0
  87. package/dist/src/core/discrepancy/index.js.map +1 -0
  88. package/dist/src/core/discrepancy/severity-classifier.d.ts +81 -0
  89. package/dist/src/core/discrepancy/severity-classifier.d.ts.map +1 -0
  90. package/dist/src/core/discrepancy/severity-classifier.js +289 -0
  91. package/dist/src/core/discrepancy/severity-classifier.js.map +1 -0
  92. package/dist/src/core/discrepancy/spec-parser.d.ts +74 -0
  93. package/dist/src/core/discrepancy/spec-parser.d.ts.map +1 -0
  94. package/dist/src/core/discrepancy/spec-parser.js +213 -0
  95. package/dist/src/core/discrepancy/spec-parser.js.map +1 -0
  96. package/dist/src/core/discrepancy/update-recommender.d.ts +77 -0
  97. package/dist/src/core/discrepancy/update-recommender.d.ts.map +1 -0
  98. package/dist/src/core/discrepancy/update-recommender.js +323 -0
  99. package/dist/src/core/discrepancy/update-recommender.js.map +1 -0
  100. package/dist/src/core/living-docs/living-docs-sync.d.ts +13 -16
  101. package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -1
  102. package/dist/src/core/living-docs/living-docs-sync.js +31 -112
  103. package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
  104. package/dist/src/core/logs/index.d.ts +10 -0
  105. package/dist/src/core/logs/index.d.ts.map +1 -0
  106. package/dist/src/core/logs/index.js +10 -0
  107. package/dist/src/core/logs/index.js.map +1 -0
  108. package/dist/src/core/logs/log-aggregator.d.ts +130 -0
  109. package/dist/src/core/logs/log-aggregator.d.ts.map +1 -0
  110. package/dist/src/core/logs/log-aggregator.js +206 -0
  111. package/dist/src/core/logs/log-aggregator.js.map +1 -0
  112. package/dist/src/core/logs/log-exporter.d.ts +81 -0
  113. package/dist/src/core/logs/log-exporter.d.ts.map +1 -0
  114. package/dist/src/core/logs/log-exporter.js +141 -0
  115. package/dist/src/core/logs/log-exporter.js.map +1 -0
  116. package/dist/src/core/notifications/command-integration.d.ts +82 -0
  117. package/dist/src/core/notifications/command-integration.d.ts.map +1 -0
  118. package/dist/src/core/notifications/command-integration.js +80 -0
  119. package/dist/src/core/notifications/command-integration.js.map +1 -0
  120. package/dist/src/core/notifications/index.d.ts +12 -0
  121. package/dist/src/core/notifications/index.d.ts.map +1 -0
  122. package/dist/src/core/notifications/index.js +12 -0
  123. package/dist/src/core/notifications/index.js.map +1 -0
  124. package/dist/src/core/notifications/notification-display.d.ts +70 -0
  125. package/dist/src/core/notifications/notification-display.d.ts.map +1 -0
  126. package/dist/src/core/notifications/notification-display.js +177 -0
  127. package/dist/src/core/notifications/notification-display.js.map +1 -0
  128. package/dist/src/core/notifications/notification-manager.d.ts +126 -0
  129. package/dist/src/core/notifications/notification-manager.d.ts.map +1 -0
  130. package/dist/src/core/notifications/notification-manager.js +287 -0
  131. package/dist/src/core/notifications/notification-manager.js.map +1 -0
  132. package/dist/src/core/notifications/notification-types.d.ts +159 -0
  133. package/dist/src/core/notifications/notification-types.d.ts.map +1 -0
  134. package/dist/src/core/notifications/notification-types.js +93 -0
  135. package/dist/src/core/notifications/notification-types.js.map +1 -0
  136. package/dist/src/core/scheduler/index.d.ts +11 -0
  137. package/dist/src/core/scheduler/index.d.ts.map +1 -0
  138. package/dist/src/core/scheduler/index.js +11 -0
  139. package/dist/src/core/scheduler/index.js.map +1 -0
  140. package/dist/src/core/scheduler/job-scheduler.d.ts +179 -0
  141. package/dist/src/core/scheduler/job-scheduler.d.ts.map +1 -0
  142. package/dist/src/core/scheduler/job-scheduler.js +282 -0
  143. package/dist/src/core/scheduler/job-scheduler.js.map +1 -0
  144. package/dist/src/core/scheduler/schedule-persistence.d.ts +83 -0
  145. package/dist/src/core/scheduler/schedule-persistence.d.ts.map +1 -0
  146. package/dist/src/core/scheduler/schedule-persistence.js +180 -0
  147. package/dist/src/core/scheduler/schedule-persistence.js.map +1 -0
  148. package/dist/src/core/scheduler/scheduled-job.d.ts +188 -0
  149. package/dist/src/core/scheduler/scheduled-job.d.ts.map +1 -0
  150. package/dist/src/core/scheduler/scheduled-job.js +182 -0
  151. package/dist/src/core/scheduler/scheduled-job.js.map +1 -0
  152. package/dist/src/core/sync/permission-enforcer.d.ts +206 -0
  153. package/dist/src/core/sync/permission-enforcer.d.ts.map +1 -0
  154. package/dist/src/core/sync/permission-enforcer.js +268 -0
  155. package/dist/src/core/sync/permission-enforcer.js.map +1 -0
  156. package/dist/src/core/sync/sync-audit-logger.d.ts +217 -0
  157. package/dist/src/core/sync/sync-audit-logger.d.ts.map +1 -0
  158. package/dist/src/core/sync/sync-audit-logger.js +327 -0
  159. package/dist/src/core/sync/sync-audit-logger.js.map +1 -0
  160. package/dist/src/core/sync/sync-interceptor.d.ts +190 -0
  161. package/dist/src/core/sync/sync-interceptor.d.ts.map +1 -0
  162. package/dist/src/core/sync/sync-interceptor.js +224 -0
  163. package/dist/src/core/sync/sync-interceptor.js.map +1 -0
  164. package/dist/src/core/types/increment-metadata.d.ts +5 -2
  165. package/dist/src/core/types/increment-metadata.d.ts.map +1 -1
  166. package/dist/src/core/types/sync-config.d.ts +267 -0
  167. package/dist/src/core/types/sync-config.d.ts.map +1 -0
  168. package/dist/src/core/types/sync-config.js +304 -0
  169. package/dist/src/core/types/sync-config.js.map +1 -0
  170. package/dist/src/hooks/index.d.ts +11 -0
  171. package/dist/src/hooks/index.d.ts.map +1 -0
  172. package/dist/src/hooks/index.js +11 -0
  173. package/dist/src/hooks/index.js.map +1 -0
  174. package/dist/src/hooks/platform.d.ts +125 -0
  175. package/dist/src/hooks/platform.d.ts.map +1 -0
  176. package/dist/src/hooks/platform.js +325 -0
  177. package/dist/src/hooks/platform.js.map +1 -0
  178. package/dist/src/hooks/processor.d.ts +20 -0
  179. package/dist/src/hooks/processor.d.ts.map +1 -0
  180. package/dist/src/hooks/processor.js +317 -0
  181. package/dist/src/hooks/processor.js.map +1 -0
  182. package/dist/src/hooks/scheduler-startup.d.ts +19 -0
  183. package/dist/src/hooks/scheduler-startup.d.ts.map +1 -0
  184. package/dist/src/hooks/scheduler-startup.js +92 -0
  185. package/dist/src/hooks/scheduler-startup.js.map +1 -0
  186. package/dist/src/hooks/session-start.d.ts +16 -0
  187. package/dist/src/hooks/session-start.d.ts.map +1 -0
  188. package/dist/src/hooks/session-start.js +92 -0
  189. package/dist/src/hooks/session-start.js.map +1 -0
  190. package/dist/src/importers/duplicate-detector.d.ts +13 -2
  191. package/dist/src/importers/duplicate-detector.d.ts.map +1 -1
  192. package/dist/src/importers/duplicate-detector.js +21 -2
  193. package/dist/src/importers/duplicate-detector.js.map +1 -1
  194. package/dist/src/importers/item-converter.d.ts +41 -2
  195. package/dist/src/importers/item-converter.d.ts.map +1 -1
  196. package/dist/src/importers/item-converter.js +225 -38
  197. package/dist/src/importers/item-converter.js.map +1 -1
  198. package/dist/src/living-docs/fs-id-allocator.d.ts +7 -0
  199. package/dist/src/living-docs/fs-id-allocator.d.ts.map +1 -1
  200. package/dist/src/living-docs/fs-id-allocator.js +30 -4
  201. package/dist/src/living-docs/fs-id-allocator.js.map +1 -1
  202. package/dist/src/sync/ado-sync-wrapper.d.ts +137 -0
  203. package/dist/src/sync/ado-sync-wrapper.d.ts.map +1 -0
  204. package/dist/src/sync/ado-sync-wrapper.js +148 -0
  205. package/dist/src/sync/ado-sync-wrapper.js.map +1 -0
  206. package/dist/src/sync/github-sync-wrapper.d.ts +195 -0
  207. package/dist/src/sync/github-sync-wrapper.d.ts.map +1 -0
  208. package/dist/src/sync/github-sync-wrapper.js +220 -0
  209. package/dist/src/sync/github-sync-wrapper.js.map +1 -0
  210. package/dist/src/sync/jira-sync-wrapper.d.ts +155 -0
  211. package/dist/src/sync/jira-sync-wrapper.d.ts.map +1 -0
  212. package/dist/src/sync/jira-sync-wrapper.js +175 -0
  213. package/dist/src/sync/jira-sync-wrapper.js.map +1 -0
  214. package/dist/src/utils/feature-id-derivation.d.ts +58 -0
  215. package/dist/src/utils/feature-id-derivation.d.ts.map +1 -0
  216. package/dist/src/utils/feature-id-derivation.js +77 -0
  217. package/dist/src/utils/feature-id-derivation.js.map +1 -0
  218. package/package.json +3 -1
  219. package/plugins/specweave/commands/specweave-discrepancies.md +141 -0
  220. package/plugins/specweave/commands/specweave-discrepancy-to-increment.md +160 -0
  221. package/plugins/specweave/commands/specweave-jobs.md +45 -2
  222. package/plugins/specweave/commands/specweave-notifications.md +92 -0
  223. package/plugins/specweave/commands/specweave-sync-logs.md +131 -0
  224. package/plugins/specweave/commands/specweave-sync-monitor.md +57 -0
  225. package/plugins/specweave/hooks/hooks.json +3 -3
  226. package/plugins/specweave/hooks/lib/scheduler-startup.sh +72 -0
  227. package/plugins/specweave/hooks/universal/dispatcher.mjs +246 -0
  228. package/plugins/specweave/hooks/universal/session-start.cmd +16 -0
  229. package/plugins/specweave/hooks/universal/session-start.ps1 +16 -0
  230. package/plugins/specweave/hooks/v2/dispatchers/session-start.sh +14 -5
  231. package/plugins/specweave/lib/vendor/core/types/increment-metadata.d.ts +5 -2
  232. package/plugins/specweave/skills/discrepancy-viewer.md +154 -0
  233. package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +46 -0
  234. package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +69 -0
  235. package/dist/plugins/specweave-github/lib/enhanced-github-sync.d.ts +0 -26
  236. package/dist/plugins/specweave-github/lib/enhanced-github-sync.d.ts.map +0 -1
  237. package/dist/plugins/specweave-github/lib/enhanced-github-sync.js +0 -249
  238. package/dist/plugins/specweave-github/lib/enhanced-github-sync.js.map +0 -1
  239. package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.d.ts +0 -28
  240. package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.d.ts.map +0 -1
  241. package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.js +0 -156
  242. package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.js.map +0 -1
  243. package/dist/src/core/sync/bidirectional-engine.d.ts +0 -119
  244. package/dist/src/core/sync/bidirectional-engine.d.ts.map +0 -1
  245. package/dist/src/core/sync/bidirectional-engine.js +0 -359
  246. package/dist/src/core/sync/bidirectional-engine.js.map +0 -1
  247. package/dist/src/core/sync/conflict-resolver.d.ts +0 -66
  248. package/dist/src/core/sync/conflict-resolver.d.ts.map +0 -1
  249. package/dist/src/core/sync/conflict-resolver.js +0 -108
  250. package/dist/src/core/sync/conflict-resolver.js.map +0 -1
  251. package/dist/src/core/sync/enhanced-content-builder.d.ts +0 -55
  252. package/dist/src/core/sync/enhanced-content-builder.d.ts.map +0 -1
  253. package/dist/src/core/sync/enhanced-content-builder.js +0 -203
  254. package/dist/src/core/sync/enhanced-content-builder.js.map +0 -1
  255. package/dist/src/core/sync/folder-mapper.d.ts +0 -71
  256. package/dist/src/core/sync/folder-mapper.d.ts.map +0 -1
  257. package/dist/src/core/sync/folder-mapper.js +0 -203
  258. package/dist/src/core/sync/folder-mapper.js.map +0 -1
  259. package/dist/src/core/sync/label-detector.d.ts +0 -66
  260. package/dist/src/core/sync/label-detector.d.ts.map +0 -1
  261. package/dist/src/core/sync/label-detector.js +0 -224
  262. package/dist/src/core/sync/label-detector.js.map +0 -1
  263. package/dist/src/core/sync/performance-optimizer.d.ts +0 -153
  264. package/dist/src/core/sync/performance-optimizer.d.ts.map +0 -1
  265. package/dist/src/core/sync/performance-optimizer.js +0 -220
  266. package/dist/src/core/sync/performance-optimizer.js.map +0 -1
  267. package/dist/src/core/sync/profile-selector.d.ts +0 -52
  268. package/dist/src/core/sync/profile-selector.d.ts.map +0 -1
  269. package/dist/src/core/sync/profile-selector.js +0 -179
  270. package/dist/src/core/sync/profile-selector.js.map +0 -1
  271. package/dist/src/core/sync/profile-validator.d.ts +0 -52
  272. package/dist/src/core/sync/profile-validator.d.ts.map +0 -1
  273. package/dist/src/core/sync/profile-validator.js +0 -170
  274. package/dist/src/core/sync/profile-validator.js.map +0 -1
  275. package/dist/src/core/sync/rate-limiter.d.ts +0 -116
  276. package/dist/src/core/sync/rate-limiter.d.ts.map +0 -1
  277. package/dist/src/core/sync/rate-limiter.js +0 -308
  278. package/dist/src/core/sync/rate-limiter.js.map +0 -1
  279. package/dist/src/core/sync/retry-handler.d.ts +0 -98
  280. package/dist/src/core/sync/retry-handler.d.ts.map +0 -1
  281. package/dist/src/core/sync/retry-handler.js +0 -196
  282. package/dist/src/core/sync/retry-handler.js.map +0 -1
  283. package/dist/src/core/sync/retry-logic.d.ts +0 -64
  284. package/dist/src/core/sync/retry-logic.d.ts.map +0 -1
  285. package/dist/src/core/sync/retry-logic.js +0 -165
  286. package/dist/src/core/sync/retry-logic.js.map +0 -1
  287. package/dist/src/core/sync/status-cache.d.ts +0 -91
  288. package/dist/src/core/sync/status-cache.d.ts.map +0 -1
  289. package/dist/src/core/sync/status-cache.js +0 -140
  290. package/dist/src/core/sync/status-cache.js.map +0 -1
  291. package/dist/src/core/sync/status-mapper.d.ts +0 -69
  292. package/dist/src/core/sync/status-mapper.d.ts.map +0 -1
  293. package/dist/src/core/sync/status-mapper.js +0 -90
  294. package/dist/src/core/sync/status-mapper.js.map +0 -1
  295. package/dist/src/core/sync/status-sync-engine.d.ts +0 -162
  296. package/dist/src/core/sync/status-sync-engine.d.ts.map +0 -1
  297. package/dist/src/core/sync/status-sync-engine.js +0 -347
  298. package/dist/src/core/sync/status-sync-engine.js.map +0 -1
  299. package/dist/src/core/sync/sync-event-logger.d.ts +0 -113
  300. package/dist/src/core/sync/sync-event-logger.d.ts.map +0 -1
  301. package/dist/src/core/sync/sync-event-logger.js +0 -141
  302. package/dist/src/core/sync/sync-event-logger.js.map +0 -1
  303. package/dist/src/core/sync/time-range-selector.d.ts +0 -48
  304. package/dist/src/core/sync/time-range-selector.d.ts.map +0 -1
  305. package/dist/src/core/sync/time-range-selector.js +0 -224
  306. package/dist/src/core/sync/time-range-selector.js.map +0 -1
  307. package/dist/src/core/sync/types.d.ts +0 -52
  308. package/dist/src/core/sync/types.d.ts.map +0 -1
  309. package/dist/src/core/sync/types.js +0 -5
  310. package/dist/src/core/sync/types.js.map +0 -1
  311. package/dist/src/core/sync/workflow-detector.d.ts +0 -95
  312. package/dist/src/core/sync/workflow-detector.d.ts.map +0 -1
  313. package/dist/src/core/sync/workflow-detector.js +0 -175
  314. package/dist/src/core/sync/workflow-detector.js.map +0 -1
  315. package/plugins/specweave-github/lib/enhanced-github-sync.js +0 -220
  316. package/plugins/specweave-github/lib/enhanced-github-sync.ts +0 -322
  317. package/plugins/specweave-jira/lib/enhanced-jira-sync.js +0 -134
  318. package/plugins/specweave-jira/lib/enhanced-jira-sync.ts +0 -196
@@ -0,0 +1,267 @@
1
+ /**
2
+ * Sync Configuration Types
3
+ *
4
+ * Extended sync configuration for the Unified Sync Orchestration feature.
5
+ * Supports job scheduling, permission enforcement, discrepancy detection,
6
+ * and proactive notifications.
7
+ *
8
+ * @module core/types/sync-config
9
+ */
10
+ /**
11
+ * Platform types for sync operations
12
+ */
13
+ export type SyncPlatform = 'github' | 'jira' | 'ado';
14
+ /**
15
+ * Scheduler configuration - controls recurring background jobs
16
+ */
17
+ export interface SyncSchedulerConfig {
18
+ /**
19
+ * Master switch for scheduler
20
+ * @default false
21
+ */
22
+ enabled: boolean;
23
+ /**
24
+ * Run sync check on session start
25
+ * @default true (when scheduler enabled)
26
+ */
27
+ runOnStartup: boolean;
28
+ /**
29
+ * Individual job configurations
30
+ */
31
+ jobs: {
32
+ /**
33
+ * External tool sync (GitHub/JIRA/ADO)
34
+ */
35
+ externalSync: {
36
+ enabled: boolean;
37
+ /** Interval in minutes between sync runs */
38
+ intervalMinutes: number;
39
+ };
40
+ /**
41
+ * Code-to-spec discrepancy detection
42
+ */
43
+ discrepancyCheck: {
44
+ enabled: boolean;
45
+ /** Interval in minutes between checks */
46
+ intervalMinutes: number;
47
+ };
48
+ /**
49
+ * Living docs synchronization
50
+ */
51
+ livingDocsSync: {
52
+ enabled: boolean;
53
+ /** Interval in minutes between syncs */
54
+ intervalMinutes: number;
55
+ };
56
+ /**
57
+ * Notification cleanup
58
+ */
59
+ notificationCleanup: {
60
+ enabled: boolean;
61
+ /** Interval in minutes between cleanups */
62
+ intervalMinutes: number;
63
+ };
64
+ };
65
+ }
66
+ /**
67
+ * Per-platform sync permissions
68
+ */
69
+ export interface PlatformSyncPermissions {
70
+ /**
71
+ * Can read/pull changes from external tool
72
+ * @default true
73
+ */
74
+ canRead: boolean;
75
+ /**
76
+ * Can update status field only
77
+ * @default false
78
+ */
79
+ canUpdateStatus: boolean;
80
+ /**
81
+ * Can create/update (upsert) items
82
+ * @default false
83
+ */
84
+ canUpsert: boolean;
85
+ /**
86
+ * Can delete items (dangerous!)
87
+ * @default false
88
+ */
89
+ canDelete: boolean;
90
+ }
91
+ /**
92
+ * Sync permissions configuration - per-platform permission control
93
+ */
94
+ export interface SyncPermissionsConfig {
95
+ /**
96
+ * GitHub permissions
97
+ */
98
+ github: PlatformSyncPermissions;
99
+ /**
100
+ * JIRA permissions
101
+ */
102
+ jira: PlatformSyncPermissions;
103
+ /**
104
+ * Azure DevOps permissions
105
+ */
106
+ ado: PlatformSyncPermissions;
107
+ }
108
+ /**
109
+ * Discrepancy detection configuration
110
+ */
111
+ export interface SyncDiscrepancyConfig {
112
+ /**
113
+ * Enable discrepancy detection
114
+ * @default false
115
+ */
116
+ enabled: boolean;
117
+ /**
118
+ * Automatically update trivial changes (typos, formatting)
119
+ * @default false
120
+ */
121
+ autoUpdateTrivial: boolean;
122
+ /**
123
+ * Severity levels that require manual review
124
+ * @default ['major', 'breaking']
125
+ */
126
+ requireReviewFor: Array<'trivial' | 'minor' | 'major' | 'breaking'>;
127
+ /**
128
+ * Types of checks to run
129
+ * @default ['api-routes', 'types', 'functions']
130
+ */
131
+ checkTypes: Array<'api-routes' | 'types' | 'functions' | 'config'>;
132
+ /**
133
+ * Glob patterns for paths to ignore
134
+ * @default ['node_modules/**', 'dist/**', '*.test.ts']
135
+ */
136
+ ignorePaths: string[];
137
+ }
138
+ /**
139
+ * Notification type
140
+ */
141
+ export type NotificationType = 'import-complete' | 'discrepancy' | 'sync-failure' | 'drift' | 'job-complete';
142
+ /**
143
+ * Notification preferences configuration
144
+ */
145
+ export interface SyncNotificationsConfig {
146
+ /**
147
+ * Enable notification system
148
+ * @default true
149
+ */
150
+ enabled: boolean;
151
+ /**
152
+ * Commands that trigger notification display
153
+ * @default ['next', 'progress', 'status', 'done']
154
+ */
155
+ showOnCommands: string[];
156
+ /**
157
+ * Per-type notification settings
158
+ */
159
+ types: {
160
+ importComplete: boolean;
161
+ discrepancy: boolean;
162
+ syncFailure: boolean;
163
+ drift: boolean;
164
+ jobComplete: boolean;
165
+ };
166
+ }
167
+ /**
168
+ * Logging verbosity levels
169
+ */
170
+ export type SyncLoggingVerbosity = 'minimal' | 'normal' | 'verbose';
171
+ /**
172
+ * Sync logging configuration
173
+ */
174
+ export interface SyncLoggingConfig {
175
+ /**
176
+ * Logging verbosity level
177
+ * @default 'normal'
178
+ */
179
+ verbosity: SyncLoggingVerbosity;
180
+ /**
181
+ * Days to retain logs before cleanup
182
+ * @default 30
183
+ */
184
+ retentionDays: number;
185
+ }
186
+ /**
187
+ * Complete sync configuration
188
+ *
189
+ * This is the root configuration under `config.json -> sync.orchestration`
190
+ */
191
+ export interface SyncOrchestrationConfig {
192
+ /**
193
+ * Scheduler settings for recurring jobs
194
+ */
195
+ scheduler: SyncSchedulerConfig;
196
+ /**
197
+ * Per-platform permissions
198
+ */
199
+ permissions: SyncPermissionsConfig;
200
+ /**
201
+ * Discrepancy detection settings
202
+ */
203
+ discrepancy: SyncDiscrepancyConfig;
204
+ /**
205
+ * Notification preferences
206
+ */
207
+ notifications: SyncNotificationsConfig;
208
+ /**
209
+ * Logging settings
210
+ */
211
+ logging: SyncLoggingConfig;
212
+ }
213
+ /**
214
+ * Default platform permissions (safe defaults - read-only)
215
+ */
216
+ export declare const DEFAULT_PLATFORM_PERMISSIONS: PlatformSyncPermissions;
217
+ /**
218
+ * Default scheduler configuration (disabled by default)
219
+ */
220
+ export declare const DEFAULT_SCHEDULER_CONFIG: SyncSchedulerConfig;
221
+ /**
222
+ * Default permissions configuration (all platforms read-only)
223
+ */
224
+ export declare const DEFAULT_PERMISSIONS_CONFIG: SyncPermissionsConfig;
225
+ /**
226
+ * Default discrepancy configuration (disabled)
227
+ */
228
+ export declare const DEFAULT_DISCREPANCY_CONFIG: SyncDiscrepancyConfig;
229
+ /**
230
+ * Default notifications configuration (enabled)
231
+ */
232
+ export declare const DEFAULT_NOTIFICATIONS_CONFIG: SyncNotificationsConfig;
233
+ /**
234
+ * Default logging configuration
235
+ */
236
+ export declare const DEFAULT_LOGGING_CONFIG: SyncLoggingConfig;
237
+ /**
238
+ * Get default sync orchestration configuration
239
+ *
240
+ * All scheduler features disabled by default for safety.
241
+ * Notifications enabled for user awareness.
242
+ */
243
+ export declare function getDefaultSyncOrchestrationConfig(): SyncOrchestrationConfig;
244
+ /**
245
+ * Validation error for sync config
246
+ */
247
+ export interface SyncConfigValidationError {
248
+ path: string;
249
+ message: string;
250
+ value?: unknown;
251
+ }
252
+ /**
253
+ * Validate sync orchestration configuration
254
+ *
255
+ * @param config - Partial configuration to validate
256
+ * @returns Array of validation errors (empty if valid)
257
+ */
258
+ export declare function validateSyncOrchestrationConfig(config: Partial<SyncOrchestrationConfig>): SyncConfigValidationError[];
259
+ /**
260
+ * Deep merge sync orchestration configs
261
+ *
262
+ * @param base - Base configuration
263
+ * @param override - Override configuration (partial)
264
+ * @returns Merged configuration
265
+ */
266
+ export declare function mergeSyncOrchestrationConfig(base: SyncOrchestrationConfig, override: Partial<SyncOrchestrationConfig>): SyncOrchestrationConfig;
267
+ //# sourceMappingURL=sync-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-config.d.ts","sourceRoot":"","sources":["../../../../src/core/types/sync-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,IAAI,EAAE;QACJ;;WAEG;QACH,YAAY,EAAE;YACZ,OAAO,EAAE,OAAO,CAAC;YACjB,4CAA4C;YAC5C,eAAe,EAAE,MAAM,CAAC;SACzB,CAAC;QAEF;;WAEG;QACH,gBAAgB,EAAE;YAChB,OAAO,EAAE,OAAO,CAAC;YACjB,yCAAyC;YACzC,eAAe,EAAE,MAAM,CAAC;SACzB,CAAC;QAEF;;WAEG;QACH,cAAc,EAAE;YACd,OAAO,EAAE,OAAO,CAAC;YACjB,wCAAwC;YACxC,eAAe,EAAE,MAAM,CAAC;SACzB,CAAC;QAEF;;WAEG;QACH,mBAAmB,EAAE;YACnB,OAAO,EAAE,OAAO,CAAC;YACjB,2CAA2C;YAC3C,eAAe,EAAE,MAAM,CAAC;SACzB,CAAC;KACH,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,MAAM,EAAE,uBAAuB,CAAC;IAEhC;;OAEG;IACH,IAAI,EAAE,uBAAuB,CAAC;IAE9B;;OAEG;IACH,GAAG,EAAE,uBAAuB,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,gBAAgB,EAAE,KAAK,CAAC,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC,CAAC;IAEpE;;;OAGG;IACH,UAAU,EAAE,KAAK,CAAC,YAAY,GAAG,OAAO,GAAG,WAAW,GAAG,QAAQ,CAAC,CAAC;IAEnE;;;OAGG;IACH,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,iBAAiB,GACjB,aAAa,GACb,cAAc,GACd,OAAO,GACP,cAAc,CAAC;AAEnB;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB;;OAEG;IACH,KAAK,EAAE;QACL,cAAc,EAAE,OAAO,CAAC;QACxB,WAAW,EAAE,OAAO,CAAC;QACrB,WAAW,EAAE,OAAO,CAAC;QACrB,KAAK,EAAE,OAAO,CAAC;QACf,WAAW,EAAE,OAAO,CAAC;KACtB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,SAAS,EAAE,oBAAoB,CAAC;IAEhC;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,SAAS,EAAE,mBAAmB,CAAC;IAE/B;;OAEG;IACH,WAAW,EAAE,qBAAqB,CAAC;IAEnC;;OAEG;IACH,WAAW,EAAE,qBAAqB,CAAC;IAEnC;;OAEG;IACH,aAAa,EAAE,uBAAuB,CAAC;IAEvC;;OAEG;IACH,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,4BAA4B,EAAE,uBAK1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,mBAqBtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,qBAIxC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,qBAMxC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,EAAE,uBAU1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,iBAGpC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,iCAAiC,IAAI,uBAAuB,CAY3E;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA4ID;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,GACvC,yBAAyB,EAAE,CAwB7B;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,uBAAuB,EAC7B,QAAQ,EAAE,OAAO,CAAC,uBAAuB,CAAC,GACzC,uBAAuB,CAyDzB"}
@@ -0,0 +1,304 @@
1
+ /**
2
+ * Sync Configuration Types
3
+ *
4
+ * Extended sync configuration for the Unified Sync Orchestration feature.
5
+ * Supports job scheduling, permission enforcement, discrepancy detection,
6
+ * and proactive notifications.
7
+ *
8
+ * @module core/types/sync-config
9
+ */
10
+ /**
11
+ * Default platform permissions (safe defaults - read-only)
12
+ */
13
+ export const DEFAULT_PLATFORM_PERMISSIONS = {
14
+ canRead: true,
15
+ canUpdateStatus: false,
16
+ canUpsert: false,
17
+ canDelete: false,
18
+ };
19
+ /**
20
+ * Default scheduler configuration (disabled by default)
21
+ */
22
+ export const DEFAULT_SCHEDULER_CONFIG = {
23
+ enabled: false,
24
+ runOnStartup: true,
25
+ jobs: {
26
+ externalSync: {
27
+ enabled: true,
28
+ intervalMinutes: 15,
29
+ },
30
+ discrepancyCheck: {
31
+ enabled: false,
32
+ intervalMinutes: 60,
33
+ },
34
+ livingDocsSync: {
35
+ enabled: false,
36
+ intervalMinutes: 30,
37
+ },
38
+ notificationCleanup: {
39
+ enabled: true,
40
+ intervalMinutes: 1440, // Once per day
41
+ },
42
+ },
43
+ };
44
+ /**
45
+ * Default permissions configuration (all platforms read-only)
46
+ */
47
+ export const DEFAULT_PERMISSIONS_CONFIG = {
48
+ github: { ...DEFAULT_PLATFORM_PERMISSIONS },
49
+ jira: { ...DEFAULT_PLATFORM_PERMISSIONS },
50
+ ado: { ...DEFAULT_PLATFORM_PERMISSIONS },
51
+ };
52
+ /**
53
+ * Default discrepancy configuration (disabled)
54
+ */
55
+ export const DEFAULT_DISCREPANCY_CONFIG = {
56
+ enabled: false,
57
+ autoUpdateTrivial: false,
58
+ requireReviewFor: ['major', 'breaking'],
59
+ checkTypes: ['api-routes', 'types', 'functions'],
60
+ ignorePaths: ['node_modules/**', 'dist/**', '*.test.ts', '*.spec.ts'],
61
+ };
62
+ /**
63
+ * Default notifications configuration (enabled)
64
+ */
65
+ export const DEFAULT_NOTIFICATIONS_CONFIG = {
66
+ enabled: true,
67
+ showOnCommands: ['next', 'progress', 'status', 'done'],
68
+ types: {
69
+ importComplete: true,
70
+ discrepancy: true,
71
+ syncFailure: true,
72
+ drift: true,
73
+ jobComplete: false, // Too noisy by default
74
+ },
75
+ };
76
+ /**
77
+ * Default logging configuration
78
+ */
79
+ export const DEFAULT_LOGGING_CONFIG = {
80
+ verbosity: 'normal',
81
+ retentionDays: 30,
82
+ };
83
+ /**
84
+ * Get default sync orchestration configuration
85
+ *
86
+ * All scheduler features disabled by default for safety.
87
+ * Notifications enabled for user awareness.
88
+ */
89
+ export function getDefaultSyncOrchestrationConfig() {
90
+ return {
91
+ scheduler: { ...DEFAULT_SCHEDULER_CONFIG },
92
+ permissions: {
93
+ github: { ...DEFAULT_PLATFORM_PERMISSIONS },
94
+ jira: { ...DEFAULT_PLATFORM_PERMISSIONS },
95
+ ado: { ...DEFAULT_PLATFORM_PERMISSIONS },
96
+ },
97
+ discrepancy: { ...DEFAULT_DISCREPANCY_CONFIG },
98
+ notifications: { ...DEFAULT_NOTIFICATIONS_CONFIG },
99
+ logging: { ...DEFAULT_LOGGING_CONFIG },
100
+ };
101
+ }
102
+ /**
103
+ * Validate scheduler configuration
104
+ */
105
+ function validateSchedulerConfig(config, errors) {
106
+ if (config.enabled !== undefined && typeof config.enabled !== 'boolean') {
107
+ errors.push({
108
+ path: 'scheduler.enabled',
109
+ message: 'Must be a boolean',
110
+ value: config.enabled,
111
+ });
112
+ }
113
+ if (config.jobs) {
114
+ const jobTypes = ['externalSync', 'discrepancyCheck', 'livingDocsSync', 'notificationCleanup'];
115
+ for (const jobType of jobTypes) {
116
+ const job = config.jobs[jobType];
117
+ if (job?.intervalMinutes !== undefined) {
118
+ if (typeof job.intervalMinutes !== 'number' || job.intervalMinutes < 1) {
119
+ errors.push({
120
+ path: `scheduler.jobs.${jobType}.intervalMinutes`,
121
+ message: 'Must be a positive number (minutes)',
122
+ value: job.intervalMinutes,
123
+ });
124
+ }
125
+ }
126
+ }
127
+ }
128
+ }
129
+ /**
130
+ * Validate permissions configuration
131
+ */
132
+ function validatePermissionsConfig(config, errors) {
133
+ const platforms = ['github', 'jira', 'ado'];
134
+ const permissionFields = ['canRead', 'canUpdateStatus', 'canUpsert', 'canDelete'];
135
+ for (const platform of platforms) {
136
+ const platformConfig = config[platform];
137
+ if (platformConfig) {
138
+ for (const field of permissionFields) {
139
+ const value = platformConfig[field];
140
+ if (value !== undefined && typeof value !== 'boolean') {
141
+ errors.push({
142
+ path: `permissions.${platform}.${field}`,
143
+ message: 'Must be a boolean',
144
+ value,
145
+ });
146
+ }
147
+ }
148
+ }
149
+ }
150
+ }
151
+ /**
152
+ * Validate discrepancy configuration
153
+ */
154
+ function validateDiscrepancyConfig(config, errors) {
155
+ const validSeverities = ['trivial', 'minor', 'major', 'breaking'];
156
+ const validCheckTypes = ['api-routes', 'types', 'functions', 'config'];
157
+ if (config.requireReviewFor) {
158
+ for (const severity of config.requireReviewFor) {
159
+ if (!validSeverities.includes(severity)) {
160
+ errors.push({
161
+ path: 'discrepancy.requireReviewFor',
162
+ message: `Invalid severity: ${severity}. Valid: ${validSeverities.join(', ')}`,
163
+ value: severity,
164
+ });
165
+ }
166
+ }
167
+ }
168
+ if (config.checkTypes) {
169
+ for (const checkType of config.checkTypes) {
170
+ if (!validCheckTypes.includes(checkType)) {
171
+ errors.push({
172
+ path: 'discrepancy.checkTypes',
173
+ message: `Invalid check type: ${checkType}. Valid: ${validCheckTypes.join(', ')}`,
174
+ value: checkType,
175
+ });
176
+ }
177
+ }
178
+ }
179
+ }
180
+ /**
181
+ * Validate notifications configuration
182
+ */
183
+ function validateNotificationsConfig(config, errors) {
184
+ if (config.showOnCommands && !Array.isArray(config.showOnCommands)) {
185
+ errors.push({
186
+ path: 'notifications.showOnCommands',
187
+ message: 'Must be an array of command names',
188
+ value: config.showOnCommands,
189
+ });
190
+ }
191
+ }
192
+ /**
193
+ * Validate logging configuration
194
+ */
195
+ function validateLoggingConfig(config, errors) {
196
+ const validVerbosities = ['minimal', 'normal', 'verbose'];
197
+ if (config.verbosity && !validVerbosities.includes(config.verbosity)) {
198
+ errors.push({
199
+ path: 'logging.verbosity',
200
+ message: `Invalid verbosity: ${config.verbosity}. Valid: ${validVerbosities.join(', ')}`,
201
+ value: config.verbosity,
202
+ });
203
+ }
204
+ if (config.retentionDays !== undefined) {
205
+ if (typeof config.retentionDays !== 'number' || config.retentionDays < 1) {
206
+ errors.push({
207
+ path: 'logging.retentionDays',
208
+ message: 'Must be a positive number (days)',
209
+ value: config.retentionDays,
210
+ });
211
+ }
212
+ }
213
+ }
214
+ /**
215
+ * Validate sync orchestration configuration
216
+ *
217
+ * @param config - Partial configuration to validate
218
+ * @returns Array of validation errors (empty if valid)
219
+ */
220
+ export function validateSyncOrchestrationConfig(config) {
221
+ const errors = [];
222
+ if (config.scheduler) {
223
+ validateSchedulerConfig(config.scheduler, errors);
224
+ }
225
+ if (config.permissions) {
226
+ validatePermissionsConfig(config.permissions, errors);
227
+ }
228
+ if (config.discrepancy) {
229
+ validateDiscrepancyConfig(config.discrepancy, errors);
230
+ }
231
+ if (config.notifications) {
232
+ validateNotificationsConfig(config.notifications, errors);
233
+ }
234
+ if (config.logging) {
235
+ validateLoggingConfig(config.logging, errors);
236
+ }
237
+ return errors;
238
+ }
239
+ /**
240
+ * Deep merge sync orchestration configs
241
+ *
242
+ * @param base - Base configuration
243
+ * @param override - Override configuration (partial)
244
+ * @returns Merged configuration
245
+ */
246
+ export function mergeSyncOrchestrationConfig(base, override) {
247
+ return {
248
+ scheduler: {
249
+ ...base.scheduler,
250
+ ...override.scheduler,
251
+ jobs: {
252
+ ...base.scheduler.jobs,
253
+ ...override.scheduler?.jobs,
254
+ externalSync: {
255
+ ...base.scheduler.jobs.externalSync,
256
+ ...override.scheduler?.jobs?.externalSync,
257
+ },
258
+ discrepancyCheck: {
259
+ ...base.scheduler.jobs.discrepancyCheck,
260
+ ...override.scheduler?.jobs?.discrepancyCheck,
261
+ },
262
+ livingDocsSync: {
263
+ ...base.scheduler.jobs.livingDocsSync,
264
+ ...override.scheduler?.jobs?.livingDocsSync,
265
+ },
266
+ notificationCleanup: {
267
+ ...base.scheduler.jobs.notificationCleanup,
268
+ ...override.scheduler?.jobs?.notificationCleanup,
269
+ },
270
+ },
271
+ },
272
+ permissions: {
273
+ github: {
274
+ ...base.permissions.github,
275
+ ...override.permissions?.github,
276
+ },
277
+ jira: {
278
+ ...base.permissions.jira,
279
+ ...override.permissions?.jira,
280
+ },
281
+ ado: {
282
+ ...base.permissions.ado,
283
+ ...override.permissions?.ado,
284
+ },
285
+ },
286
+ discrepancy: {
287
+ ...base.discrepancy,
288
+ ...override.discrepancy,
289
+ },
290
+ notifications: {
291
+ ...base.notifications,
292
+ ...override.notifications,
293
+ types: {
294
+ ...base.notifications.types,
295
+ ...override.notifications?.types,
296
+ },
297
+ },
298
+ logging: {
299
+ ...base.logging,
300
+ ...override.logging,
301
+ },
302
+ };
303
+ }
304
+ //# sourceMappingURL=sync-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-config.js","sourceRoot":"","sources":["../../../../src/core/types/sync-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAiPH;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAA4B;IACnE,OAAO,EAAE,IAAI;IACb,eAAe,EAAE,KAAK;IACtB,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,KAAK;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAwB;IAC3D,OAAO,EAAE,KAAK;IACd,YAAY,EAAE,IAAI;IAClB,IAAI,EAAE;QACJ,YAAY,EAAE;YACZ,OAAO,EAAE,IAAI;YACb,eAAe,EAAE,EAAE;SACpB;QACD,gBAAgB,EAAE;YAChB,OAAO,EAAE,KAAK;YACd,eAAe,EAAE,EAAE;SACpB;QACD,cAAc,EAAE;YACd,OAAO,EAAE,KAAK;YACd,eAAe,EAAE,EAAE;SACpB;QACD,mBAAmB,EAAE;YACnB,OAAO,EAAE,IAAI;YACb,eAAe,EAAE,IAAI,EAAE,eAAe;SACvC;KACF;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAA0B;IAC/D,MAAM,EAAE,EAAE,GAAG,4BAA4B,EAAE;IAC3C,IAAI,EAAE,EAAE,GAAG,4BAA4B,EAAE;IACzC,GAAG,EAAE,EAAE,GAAG,4BAA4B,EAAE;CACzC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAA0B;IAC/D,OAAO,EAAE,KAAK;IACd,iBAAiB,EAAE,KAAK;IACxB,gBAAgB,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;IACvC,UAAU,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC;IAChD,WAAW,EAAE,CAAC,iBAAiB,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC;CACtE,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAA4B;IACnE,OAAO,EAAE,IAAI;IACb,cAAc,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC;IACtD,KAAK,EAAE;QACL,cAAc,EAAE,IAAI;QACpB,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,IAAI;QACjB,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,KAAK,EAAE,uBAAuB;KAC5C;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAsB;IACvD,SAAS,EAAE,QAAQ;IACnB,aAAa,EAAE,EAAE;CAClB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,iCAAiC;IAC/C,OAAO;QACL,SAAS,EAAE,EAAE,GAAG,wBAAwB,EAAE;QAC1C,WAAW,EAAE;YACX,MAAM,EAAE,EAAE,GAAG,4BAA4B,EAAE;YAC3C,IAAI,EAAE,EAAE,GAAG,4BAA4B,EAAE;YACzC,GAAG,EAAE,EAAE,GAAG,4BAA4B,EAAE;SACzC;QACD,WAAW,EAAE,EAAE,GAAG,0BAA0B,EAAE;QAC9C,aAAa,EAAE,EAAE,GAAG,4BAA4B,EAAE;QAClD,OAAO,EAAE,EAAE,GAAG,sBAAsB,EAAE;KACvC,CAAC;AACJ,CAAC;AAWD;;GAEG;AACH,SAAS,uBAAuB,CAC9B,MAAoC,EACpC,MAAmC;IAEnC,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACxE,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,mBAAmB;YAC5B,KAAK,EAAE,MAAM,CAAC,OAAO;SACtB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,CAAC,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAC/F,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAI,MAAM,CAAC,IAAgC,CAAC,OAAO,CAA6C,CAAC;YAC1G,IAAI,GAAG,EAAE,eAAe,KAAK,SAAS,EAAE,CAAC;gBACvC,IAAI,OAAO,GAAG,CAAC,eAAe,KAAK,QAAQ,IAAI,GAAG,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;oBACvE,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,kBAAkB,OAAO,kBAAkB;wBACjD,OAAO,EAAE,qCAAqC;wBAC9C,KAAK,EAAE,GAAG,CAAC,eAAe;qBAC3B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB,CAChC,MAAsC,EACtC,MAAmC;IAEnC,MAAM,SAAS,GAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5D,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAElF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,cAAc,EAAE,CAAC;YACnB,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;gBACrC,MAAM,KAAK,GAAI,cAAqD,CAAC,KAAK,CAAC,CAAC;gBAC5E,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;oBACtD,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,eAAe,QAAQ,IAAI,KAAK,EAAE;wBACxC,OAAO,EAAE,mBAAmB;wBAC5B,KAAK;qBACN,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB,CAChC,MAAsC,EACtC,MAAmC;IAEnC,MAAM,eAAe,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAClE,MAAM,eAAe,GAAG,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAEvE,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC/C,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,8BAA8B;oBACpC,OAAO,EAAE,qBAAqB,QAAQ,YAAY,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC9E,KAAK,EAAE,QAAQ;iBAChB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1C,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,wBAAwB;oBAC9B,OAAO,EAAE,uBAAuB,SAAS,YAAY,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACjF,KAAK,EAAE,SAAS;iBACjB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,2BAA2B,CAClC,MAAwC,EACxC,MAAmC;IAEnC,IAAI,MAAM,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;QACnE,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,8BAA8B;YACpC,OAAO,EAAE,mCAAmC;YAC5C,KAAK,EAAE,MAAM,CAAC,cAAc;SAC7B,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAC5B,MAAkC,EAClC,MAAmC;IAEnC,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAE1D,IAAI,MAAM,CAAC,SAAS,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACrE,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,sBAAsB,MAAM,CAAC,SAAS,YAAY,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACxF,KAAK,EAAE,MAAM,CAAC,SAAS;SACxB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACvC,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;YACzE,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,uBAAuB;gBAC7B,OAAO,EAAE,kCAAkC;gBAC3C,KAAK,EAAE,MAAM,CAAC,aAAa;aAC5B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,+BAA+B,CAC7C,MAAwC;IAExC,MAAM,MAAM,GAAgC,EAAE,CAAC;IAE/C,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,uBAAuB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,yBAAyB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,yBAAyB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,2BAA2B,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,qBAAqB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B,CAC1C,IAA6B,EAC7B,QAA0C;IAE1C,OAAO;QACL,SAAS,EAAE;YACT,GAAG,IAAI,CAAC,SAAS;YACjB,GAAG,QAAQ,CAAC,SAAS;YACrB,IAAI,EAAE;gBACJ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI;gBACtB,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI;gBAC3B,YAAY,EAAE;oBACZ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY;oBACnC,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,YAAY;iBAC1C;gBACD,gBAAgB,EAAE;oBAChB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB;oBACvC,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,gBAAgB;iBAC9C;gBACD,cAAc,EAAE;oBACd,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc;oBACrC,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc;iBAC5C;gBACD,mBAAmB,EAAE;oBACnB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB;oBAC1C,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,mBAAmB;iBACjD;aACF;SACF;QACD,WAAW,EAAE;YACX,MAAM,EAAE;gBACN,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM;gBAC1B,GAAG,QAAQ,CAAC,WAAW,EAAE,MAAM;aAChC;YACD,IAAI,EAAE;gBACJ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI;gBACxB,GAAG,QAAQ,CAAC,WAAW,EAAE,IAAI;aAC9B;YACD,GAAG,EAAE;gBACH,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG;gBACvB,GAAG,QAAQ,CAAC,WAAW,EAAE,GAAG;aAC7B;SACF;QACD,WAAW,EAAE;YACX,GAAG,IAAI,CAAC,WAAW;YACnB,GAAG,QAAQ,CAAC,WAAW;SACxB;QACD,aAAa,EAAE;YACb,GAAG,IAAI,CAAC,aAAa;YACrB,GAAG,QAAQ,CAAC,aAAa;YACzB,KAAK,EAAE;gBACL,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK;gBAC3B,GAAG,QAAQ,CAAC,aAAa,EAAE,KAAK;aACjC;SACF;QACD,OAAO,EAAE;YACP,GAAG,IAAI,CAAC,OAAO;YACf,GAAG,QAAQ,CAAC,OAAO;SACpB;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Cross-Platform Hooks Module
3
+ *
4
+ * Provides platform-independent hook implementations for SpecWeave.
5
+ * Works on Windows (native), macOS, and Linux.
6
+ *
7
+ * @module hooks
8
+ */
9
+ export * from './platform.js';
10
+ export { checkScheduledJobs } from './scheduler-startup.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Cross-Platform Hooks Module
3
+ *
4
+ * Provides platform-independent hook implementations for SpecWeave.
5
+ * Works on Windows (native), macOS, and Linux.
6
+ *
7
+ * @module hooks
8
+ */
9
+ export * from './platform.js';
10
+ export { checkScheduledJobs } from './scheduler-startup.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC"}