specweave 1.0.488 → 1.0.489

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 (147) hide show
  1. package/README.md +1 -1
  2. package/dist/plugins/specweave-ado/lib/ado-ac-checkbox-sync.d.ts +13 -5
  3. package/dist/plugins/specweave-ado/lib/ado-ac-checkbox-sync.d.ts.map +1 -1
  4. package/dist/plugins/specweave-ado/lib/ado-ac-checkbox-sync.js +28 -26
  5. package/dist/plugins/specweave-ado/lib/ado-ac-checkbox-sync.js.map +1 -1
  6. package/dist/plugins/specweave-ado/lib/ado-client.d.ts +10 -0
  7. package/dist/plugins/specweave-ado/lib/ado-client.d.ts.map +1 -1
  8. package/dist/plugins/specweave-ado/lib/ado-client.js +14 -0
  9. package/dist/plugins/specweave-ado/lib/ado-client.js.map +1 -1
  10. package/dist/plugins/specweave-ado/lib/ado-pull-sync.d.ts +35 -0
  11. package/dist/plugins/specweave-ado/lib/ado-pull-sync.d.ts.map +1 -0
  12. package/dist/plugins/specweave-ado/lib/ado-pull-sync.js +53 -0
  13. package/dist/plugins/specweave-ado/lib/ado-pull-sync.js.map +1 -0
  14. package/dist/plugins/specweave-ado/lib/ado-rate-limiter.d.ts +46 -0
  15. package/dist/plugins/specweave-ado/lib/ado-rate-limiter.d.ts.map +1 -0
  16. package/dist/plugins/specweave-ado/lib/ado-rate-limiter.js +65 -0
  17. package/dist/plugins/specweave-ado/lib/ado-rate-limiter.js.map +1 -0
  18. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts +7 -1
  19. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts.map +1 -1
  20. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js +25 -1
  21. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js.map +1 -1
  22. package/dist/plugins/specweave-ado/lib/ado-status-sync.d.ts +17 -1
  23. package/dist/plugins/specweave-ado/lib/ado-status-sync.d.ts.map +1 -1
  24. package/dist/plugins/specweave-ado/lib/ado-status-sync.js +51 -9
  25. package/dist/plugins/specweave-ado/lib/ado-status-sync.js.map +1 -1
  26. package/dist/plugins/specweave-github/lib/github-client-v2.js +1 -1
  27. package/dist/plugins/specweave-github/lib/github-client-v2.js.map +1 -1
  28. package/dist/plugins/specweave-github/lib/github-push-sync.d.ts.map +1 -1
  29. package/dist/plugins/specweave-github/lib/github-push-sync.js +15 -3
  30. package/dist/plugins/specweave-github/lib/github-push-sync.js.map +1 -1
  31. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts +31 -1
  32. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts.map +1 -1
  33. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js +170 -97
  34. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js.map +1 -1
  35. package/dist/plugins/specweave-jira/lib/jira-status-sync.d.ts +36 -1
  36. package/dist/plugins/specweave-jira/lib/jira-status-sync.d.ts.map +1 -1
  37. package/dist/plugins/specweave-jira/lib/jira-status-sync.js +185 -82
  38. package/dist/plugins/specweave-jira/lib/jira-status-sync.js.map +1 -1
  39. package/dist/src/adapters/adapter-loader.d.ts.map +1 -1
  40. package/dist/src/adapters/adapter-loader.js +8 -2
  41. package/dist/src/adapters/adapter-loader.js.map +1 -1
  42. package/dist/src/adapters/codex/adapter.d.ts.map +1 -1
  43. package/dist/src/adapters/codex/adapter.js +1 -0
  44. package/dist/src/adapters/codex/adapter.js.map +1 -1
  45. package/dist/src/adapters/cursor/adapter.d.ts.map +1 -1
  46. package/dist/src/adapters/cursor/adapter.js +1 -0
  47. package/dist/src/adapters/cursor/adapter.js.map +1 -1
  48. package/dist/src/adapters/generic/adapter.d.ts +6 -3
  49. package/dist/src/adapters/generic/adapter.d.ts.map +1 -1
  50. package/dist/src/adapters/generic/adapter.js +53 -47
  51. package/dist/src/adapters/generic/adapter.js.map +1 -1
  52. package/dist/src/adapters/kimi/adapter.d.ts +21 -0
  53. package/dist/src/adapters/kimi/adapter.d.ts.map +1 -0
  54. package/dist/src/adapters/kimi/adapter.js +57 -0
  55. package/dist/src/adapters/kimi/adapter.js.map +1 -0
  56. package/dist/src/adapters/opencode/adapter.d.ts +24 -0
  57. package/dist/src/adapters/opencode/adapter.d.ts.map +1 -0
  58. package/dist/src/adapters/opencode/adapter.js +71 -0
  59. package/dist/src/adapters/opencode/adapter.js.map +1 -0
  60. package/dist/src/adapters/registry.yaml +59 -0
  61. package/dist/src/adapters/trae/adapter.d.ts +21 -0
  62. package/dist/src/adapters/trae/adapter.d.ts.map +1 -0
  63. package/dist/src/adapters/trae/adapter.js +64 -0
  64. package/dist/src/adapters/trae/adapter.js.map +1 -0
  65. package/dist/src/cli/commands/init.d.ts.map +1 -1
  66. package/dist/src/cli/commands/init.js +156 -5
  67. package/dist/src/cli/commands/init.js.map +1 -1
  68. package/dist/src/cli/commands/update-instructions.d.ts.map +1 -1
  69. package/dist/src/cli/commands/update-instructions.js +10 -0
  70. package/dist/src/cli/commands/update-instructions.js.map +1 -1
  71. package/dist/src/cli/helpers/init/index.d.ts +1 -0
  72. package/dist/src/cli/helpers/init/index.d.ts.map +1 -1
  73. package/dist/src/cli/helpers/init/index.js +2 -0
  74. package/dist/src/cli/helpers/init/index.js.map +1 -1
  75. package/dist/src/cli/helpers/init/next-steps.d.ts.map +1 -1
  76. package/dist/src/cli/helpers/init/next-steps.js +52 -0
  77. package/dist/src/cli/helpers/init/next-steps.js.map +1 -1
  78. package/dist/src/cli/helpers/init/skill-creator-installer.d.ts +24 -0
  79. package/dist/src/cli/helpers/init/skill-creator-installer.d.ts.map +1 -0
  80. package/dist/src/cli/helpers/init/skill-creator-installer.js +54 -0
  81. package/dist/src/cli/helpers/init/skill-creator-installer.js.map +1 -0
  82. package/dist/src/core/ado-description-updater.d.ts +22 -0
  83. package/dist/src/core/ado-description-updater.d.ts.map +1 -0
  84. package/dist/src/core/ado-description-updater.js +46 -0
  85. package/dist/src/core/ado-description-updater.js.map +1 -0
  86. package/dist/src/core/closure-dispatcher.d.ts +96 -0
  87. package/dist/src/core/closure-dispatcher.d.ts.map +1 -0
  88. package/dist/src/core/closure-dispatcher.js +116 -0
  89. package/dist/src/core/closure-dispatcher.js.map +1 -0
  90. package/dist/src/core/config/types.d.ts +2 -0
  91. package/dist/src/core/config/types.d.ts.map +1 -1
  92. package/dist/src/core/config/types.js.map +1 -1
  93. package/dist/src/core/errors/sync-error.d.ts +12 -0
  94. package/dist/src/core/errors/sync-error.d.ts.map +1 -0
  95. package/dist/src/core/errors/sync-error.js +19 -0
  96. package/dist/src/core/errors/sync-error.js.map +1 -0
  97. package/dist/src/core/skill-gen/rule-collector.d.ts +28 -0
  98. package/dist/src/core/skill-gen/rule-collector.d.ts.map +1 -0
  99. package/dist/src/core/skill-gen/rule-collector.js +112 -0
  100. package/dist/src/core/skill-gen/rule-collector.js.map +1 -0
  101. package/dist/src/core/skill-gen/signal-collector.d.ts +2 -1
  102. package/dist/src/core/skill-gen/signal-collector.d.ts.map +1 -1
  103. package/dist/src/core/skill-gen/signal-collector.js +21 -5
  104. package/dist/src/core/skill-gen/signal-collector.js.map +1 -1
  105. package/dist/src/core/sync/persistent-circuit-breaker.d.ts +22 -0
  106. package/dist/src/core/sync/persistent-circuit-breaker.d.ts.map +1 -0
  107. package/dist/src/core/sync/persistent-circuit-breaker.js +65 -0
  108. package/dist/src/core/sync/persistent-circuit-breaker.js.map +1 -0
  109. package/dist/src/core/sync/retry-wrapper.d.ts +13 -0
  110. package/dist/src/core/sync/retry-wrapper.d.ts.map +1 -0
  111. package/dist/src/core/sync/retry-wrapper.js +37 -0
  112. package/dist/src/core/sync/retry-wrapper.js.map +1 -0
  113. package/dist/src/importers/ac-parser.d.ts +27 -0
  114. package/dist/src/importers/ac-parser.d.ts.map +1 -0
  115. package/dist/src/importers/ac-parser.js +47 -0
  116. package/dist/src/importers/ac-parser.js.map +1 -0
  117. package/dist/src/sync/types.d.ts +8 -0
  118. package/dist/src/sync/types.d.ts.map +1 -1
  119. package/dist/src/sync/types.js +12 -0
  120. package/dist/src/sync/types.js.map +1 -1
  121. package/package.json +1 -1
  122. package/plugins/specweave/skills/code-reviewer/agents/reviewer-silent-failures.md +65 -0
  123. package/plugins/specweave/skills/code-reviewer/agents/reviewer-spec-compliance.md +83 -0
  124. package/plugins/specweave/skills/code-reviewer/agents/reviewer-types.md +68 -0
  125. package/plugins/specweave/skills/skill-gen/SKILL.md +20 -3
  126. package/plugins/specweave/skills/team-lead/agents/architect.md +52 -0
  127. package/plugins/specweave/skills/team-lead/agents/pm.md +50 -0
  128. package/plugins/specweave/skills/team-lead/agents/researcher.md +64 -0
  129. package/plugins/specweave-ado/lib/ado-ac-checkbox-sync.js +23 -21
  130. package/plugins/specweave-ado/lib/ado-ac-checkbox-sync.ts +37 -29
  131. package/plugins/specweave-ado/lib/ado-client.js +14 -0
  132. package/plugins/specweave-ado/lib/ado-client.ts +18 -0
  133. package/plugins/specweave-ado/lib/ado-pull-sync.js +35 -0
  134. package/plugins/specweave-ado/lib/ado-pull-sync.ts +74 -0
  135. package/plugins/specweave-ado/lib/ado-rate-limiter.js +56 -0
  136. package/plugins/specweave-ado/lib/ado-rate-limiter.ts +86 -0
  137. package/plugins/specweave-ado/lib/ado-spec-sync.js +25 -1
  138. package/plugins/specweave-ado/lib/ado-spec-sync.ts +32 -2
  139. package/plugins/specweave-ado/lib/ado-status-sync.js +52 -14
  140. package/plugins/specweave-ado/lib/ado-status-sync.ts +64 -16
  141. package/plugins/specweave-github/lib/github-client-v2.ts +1 -1
  142. package/plugins/specweave-github/lib/github-push-sync.js +11 -3
  143. package/plugins/specweave-github/lib/github-push-sync.ts +16 -3
  144. package/plugins/specweave-jira/lib/jira-spec-sync.js +60 -1
  145. package/plugins/specweave-jira/lib/jira-spec-sync.ts +93 -1
  146. package/plugins/specweave-jira/lib/jira-status-sync.js +151 -109
  147. package/plugins/specweave-jira/lib/jira-status-sync.ts +161 -39
@@ -0,0 +1,22 @@
1
+ /**
2
+ * ADO Description Updater — HTML section manipulation
3
+ *
4
+ * Manages the Acceptance Criteria section within ADO work item
5
+ * HTML descriptions using sentinel comments (not regex on content).
6
+ *
7
+ * @module core/ado-description-updater
8
+ */
9
+ export declare class AdoDescriptionUpdater {
10
+ /**
11
+ * Replace or append the AC section in an HTML description.
12
+ *
13
+ * Uses sentinel comments to identify the section boundaries.
14
+ * Preserves all content outside the section byte-for-byte.
15
+ */
16
+ updateAcSection(html: string, newAcHtml: string): string;
17
+ /**
18
+ * Format AC statuses as an HTML checkbox list.
19
+ */
20
+ formatACCheckboxes(acStatus: Map<string, boolean>): string;
21
+ }
22
+ //# sourceMappingURL=ado-description-updater.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ado-description-updater.d.ts","sourceRoot":"","sources":["../../../src/core/ado-description-updater.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,qBAAa,qBAAqB;IAChC;;;;;OAKG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAoBxD;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;CAS3D"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * ADO Description Updater — HTML section manipulation
3
+ *
4
+ * Manages the Acceptance Criteria section within ADO work item
5
+ * HTML descriptions using sentinel comments (not regex on content).
6
+ *
7
+ * @module core/ado-description-updater
8
+ */
9
+ const AC_START = '<!-- AC_SECTION_START -->';
10
+ const AC_END = '<!-- AC_SECTION_END -->';
11
+ export class AdoDescriptionUpdater {
12
+ /**
13
+ * Replace or append the AC section in an HTML description.
14
+ *
15
+ * Uses sentinel comments to identify the section boundaries.
16
+ * Preserves all content outside the section byte-for-byte.
17
+ */
18
+ updateAcSection(html, newAcHtml) {
19
+ const startIdx = html.indexOf(AC_START);
20
+ const endIdx = html.indexOf(AC_END);
21
+ const wrapped = `${AC_START}\n${newAcHtml}\n${AC_END}`;
22
+ if (startIdx !== -1 && endIdx !== -1) {
23
+ // Replace existing section
24
+ const before = html.substring(0, startIdx);
25
+ const after = html.substring(endIdx + AC_END.length);
26
+ return `${before}${wrapped}${after}`;
27
+ }
28
+ // Append new section
29
+ if (html.length > 0) {
30
+ return `${html}\n${wrapped}`;
31
+ }
32
+ return wrapped;
33
+ }
34
+ /**
35
+ * Format AC statuses as an HTML checkbox list.
36
+ */
37
+ formatACCheckboxes(acStatus) {
38
+ if (acStatus.size === 0)
39
+ return '';
40
+ const items = [...acStatus.entries()]
41
+ .map(([acId, completed]) => `<li>${completed ? '☑' : '☐'} ${acId}</li>`)
42
+ .join('\n');
43
+ return `<h3>Acceptance Criteria</h3>\n<ul>\n${items}\n</ul>`;
44
+ }
45
+ }
46
+ //# sourceMappingURL=ado-description-updater.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ado-description-updater.js","sourceRoot":"","sources":["../../../src/core/ado-description-updater.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,QAAQ,GAAG,2BAA2B,CAAC;AAC7C,MAAM,MAAM,GAAG,yBAAyB,CAAC;AAEzC,MAAM,OAAO,qBAAqB;IAChC;;;;;OAKG;IACH,eAAe,CAAC,IAAY,EAAE,SAAiB;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEpC,MAAM,OAAO,GAAG,GAAG,QAAQ,KAAK,SAAS,KAAK,MAAM,EAAE,CAAC;QAEvD,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YACrC,2BAA2B;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YACrD,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,EAAE,CAAC;QACvC,CAAC;QAED,qBAAqB;QACrB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC;QAC/B,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,QAA8B;QAC/C,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEnC,MAAM,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;aAClC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,OAAO,CAAC;aACvE,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO,uCAAuC,KAAK,SAAS,CAAC;IAC/D,CAAC;CACF"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Closure Hook Dispatcher
3
+ *
4
+ * Dispatches increment closure to external tool providers (GitHub, JIRA, ADO)
5
+ * using the function-map pattern per ADR-0240.
6
+ *
7
+ * Design:
8
+ * - Each provider is a function, not an adapter class
9
+ * - Partial failures are isolated — one provider crashing doesn't block others
10
+ * - incrementClosed is always true (closure is a local SpecWeave operation;
11
+ * external sync failures are non-blocking)
12
+ * - Provider functions are injected for testability; production wiring
13
+ * lazy-imports plugin modules
14
+ *
15
+ * @module core/closure-dispatcher
16
+ */
17
+ /**
18
+ * Context passed to each provider close function.
19
+ */
20
+ export interface ClosureContext {
21
+ projectRoot: string;
22
+ incrementId: string;
23
+ }
24
+ /**
25
+ * Per-provider toggle config for closure hooks.
26
+ */
27
+ export interface ClosureConfig {
28
+ github: boolean;
29
+ jira: boolean;
30
+ ado: boolean;
31
+ }
32
+ /**
33
+ * Result from a single provider close function.
34
+ */
35
+ export interface ProviderCloseResult {
36
+ closed: string[];
37
+ provider: string;
38
+ }
39
+ /**
40
+ * Signature for a provider close function.
41
+ */
42
+ export type ProviderCloseFn = (context: ClosureContext) => Promise<ProviderCloseResult>;
43
+ /**
44
+ * Failure detail for a single provider.
45
+ */
46
+ export interface ClosureFailure {
47
+ provider: string;
48
+ error: string;
49
+ }
50
+ /**
51
+ * Aggregate result from dispatching closure to all providers.
52
+ */
53
+ export interface ClosureResult {
54
+ /** Always true — increment closure is a local operation */
55
+ incrementClosed: boolean;
56
+ /** Providers that succeeded */
57
+ successes: ProviderCloseResult[];
58
+ /** Providers that failed (non-blocking) */
59
+ failures: ClosureFailure[];
60
+ }
61
+ /**
62
+ * Dispatch closure to all enabled providers.
63
+ *
64
+ * Each provider runs independently — failures are captured, not propagated.
65
+ * The function-map pattern (ADR-0240) keeps this flat and simple:
66
+ * no adapter interfaces, no orchestrator classes.
67
+ *
68
+ * @param context - Project root and increment ID
69
+ * @param config - Per-provider enable/disable flags
70
+ * @param closeFns - Map of provider name → close function (injected for testing)
71
+ */
72
+ export declare function dispatchClosure(context: ClosureContext, config: ClosureConfig, closeFns: Record<string, ProviderCloseFn>): Promise<ClosureResult>;
73
+ /**
74
+ * Build production close functions that lazy-import plugin modules.
75
+ *
76
+ * Called by SyncCoordinator to get the real provider functions.
77
+ * Each function lazy-imports its plugin to avoid loading unused providers.
78
+ */
79
+ export declare function buildProductionCloseFns(): Record<string, ProviderCloseFn>;
80
+ /**
81
+ * Build closure config from SpecWeave hooks configuration.
82
+ *
83
+ * Reads the post_increment_done section and maps legacy flag names
84
+ * to per-provider booleans. All default to true when not specified.
85
+ */
86
+ export declare function buildClosureConfigFromHooks(hooks?: {
87
+ post_increment_done?: {
88
+ close_github_issue?: boolean;
89
+ close_jira_issue?: boolean;
90
+ close_ado_work_item?: boolean;
91
+ close_external_issue?: boolean;
92
+ };
93
+ }, syncSettings?: {
94
+ canUpdateExternalItems?: boolean;
95
+ }): ClosureConfig;
96
+ //# sourceMappingURL=closure-dispatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"closure-dispatcher.d.ts","sourceRoot":"","sources":["../../../src/core/closure-dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAExF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,eAAe,EAAE,OAAO,CAAC;IACzB,+BAA+B;IAC/B,SAAS,EAAE,mBAAmB,EAAE,CAAC;IACjC,2CAA2C;IAC3C,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAID;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GACxC,OAAO,CAAC,aAAa,CAAC,CAwBxB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAuCzE;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,CAAC,EAAE;IACN,mBAAmB,CAAC,EAAE;QACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAChC,CAAC;CACH,EACD,YAAY,CAAC,EAAE;IAAE,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAE,GAClD,aAAa,CAaf"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Closure Hook Dispatcher
3
+ *
4
+ * Dispatches increment closure to external tool providers (GitHub, JIRA, ADO)
5
+ * using the function-map pattern per ADR-0240.
6
+ *
7
+ * Design:
8
+ * - Each provider is a function, not an adapter class
9
+ * - Partial failures are isolated — one provider crashing doesn't block others
10
+ * - incrementClosed is always true (closure is a local SpecWeave operation;
11
+ * external sync failures are non-blocking)
12
+ * - Provider functions are injected for testability; production wiring
13
+ * lazy-imports plugin modules
14
+ *
15
+ * @module core/closure-dispatcher
16
+ */
17
+ const PROVIDERS = ['github', 'jira', 'ado'];
18
+ /**
19
+ * Dispatch closure to all enabled providers.
20
+ *
21
+ * Each provider runs independently — failures are captured, not propagated.
22
+ * The function-map pattern (ADR-0240) keeps this flat and simple:
23
+ * no adapter interfaces, no orchestrator classes.
24
+ *
25
+ * @param context - Project root and increment ID
26
+ * @param config - Per-provider enable/disable flags
27
+ * @param closeFns - Map of provider name → close function (injected for testing)
28
+ */
29
+ export async function dispatchClosure(context, config, closeFns) {
30
+ const successes = [];
31
+ const failures = [];
32
+ const tasks = PROVIDERS
33
+ .filter((p) => config[p])
34
+ .filter((p) => closeFns[p] != null)
35
+ .map(async (provider) => {
36
+ try {
37
+ const result = await closeFns[provider](context);
38
+ successes.push(result);
39
+ }
40
+ catch (error) {
41
+ const msg = error instanceof Error ? error.message : String(error);
42
+ failures.push({ provider, error: msg });
43
+ }
44
+ });
45
+ await Promise.all(tasks);
46
+ return {
47
+ incrementClosed: true,
48
+ successes,
49
+ failures,
50
+ };
51
+ }
52
+ /**
53
+ * Build production close functions that lazy-import plugin modules.
54
+ *
55
+ * Called by SyncCoordinator to get the real provider functions.
56
+ * Each function lazy-imports its plugin to avoid loading unused providers.
57
+ */
58
+ export function buildProductionCloseFns() {
59
+ return {
60
+ github: async (ctx) => {
61
+ const { SyncCoordinator } = await import('../sync/sync-coordinator.js');
62
+ const coordinator = new SyncCoordinator({
63
+ projectRoot: ctx.projectRoot,
64
+ incrementId: ctx.incrementId,
65
+ });
66
+ const result = await coordinator.syncIncrementClosure();
67
+ return {
68
+ closed: (result?.closedIssues ?? []).map(String),
69
+ provider: 'github',
70
+ };
71
+ },
72
+ jira: async (ctx) => {
73
+ const { SyncCoordinator } = await import('../sync/sync-coordinator.js');
74
+ const coordinator = new SyncCoordinator({
75
+ projectRoot: ctx.projectRoot,
76
+ incrementId: ctx.incrementId,
77
+ });
78
+ const result = await coordinator.syncIncrementClosure();
79
+ return {
80
+ closed: (result?.closedIssues ?? []).map(String),
81
+ provider: 'jira',
82
+ };
83
+ },
84
+ ado: async (ctx) => {
85
+ const { SyncCoordinator } = await import('../sync/sync-coordinator.js');
86
+ const coordinator = new SyncCoordinator({
87
+ projectRoot: ctx.projectRoot,
88
+ incrementId: ctx.incrementId,
89
+ });
90
+ const result = await coordinator.syncIncrementClosure();
91
+ return {
92
+ closed: (result?.closedIssues ?? []).map(String),
93
+ provider: 'ado',
94
+ };
95
+ },
96
+ };
97
+ }
98
+ /**
99
+ * Build closure config from SpecWeave hooks configuration.
100
+ *
101
+ * Reads the post_increment_done section and maps legacy flag names
102
+ * to per-provider booleans. All default to true when not specified.
103
+ */
104
+ export function buildClosureConfigFromHooks(hooks, syncSettings) {
105
+ const canUpdate = syncSettings?.canUpdateExternalItems ?? true;
106
+ const done = hooks?.post_increment_done;
107
+ if (!canUpdate || !done) {
108
+ return { github: false, jira: false, ado: false };
109
+ }
110
+ return {
111
+ github: done.close_github_issue ?? done.close_external_issue ?? true,
112
+ jira: done.close_jira_issue ?? done.close_external_issue ?? true,
113
+ ado: done.close_ado_work_item ?? done.close_external_issue ?? true,
114
+ };
115
+ }
116
+ //# sourceMappingURL=closure-dispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"closure-dispatcher.js","sourceRoot":"","sources":["../../../src/core/closure-dispatcher.ts"],"names":[],"mappings":"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"}
@@ -224,6 +224,8 @@ export interface HookConfiguration {
224
224
  sync_to_github_project?: boolean;
225
225
  close_github_issue?: boolean;
226
226
  close_jira_issue?: boolean;
227
+ close_ado_work_item?: boolean;
228
+ /** Generic flag — applies to all providers as fallback */
227
229
  close_external_issue?: boolean;
228
230
  update_living_docs_first?: boolean;
229
231
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/config/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/config/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/config/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/config/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { SpecWeaveError } from './index.js';
2
+ /**
3
+ * Error thrown when an external sync operation fails.
4
+ * Captures provider, HTTP status, and response body for diagnostics.
5
+ */
6
+ export declare class SyncError extends SpecWeaveError {
7
+ readonly provider: string;
8
+ readonly httpStatus: number;
9
+ readonly responseBody: string;
10
+ constructor(provider: string, httpStatus: number, responseBody: string, detail: string);
11
+ }
12
+ //# sourceMappingURL=sync-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-error.d.ts","sourceRoot":"","sources":["../../../../src/core/errors/sync-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAa,MAAM,YAAY,CAAC;AAEvD;;;GAGG;AACH,qBAAa,SAAU,SAAQ,cAAc;IAC3C,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,YAAY,EAAE,MAAM,CAAC;gBAEzB,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAWvF"}
@@ -0,0 +1,19 @@
1
+ import { SpecWeaveError, ErrorCode } from './index.js';
2
+ /**
3
+ * Error thrown when an external sync operation fails.
4
+ * Captures provider, HTTP status, and response body for diagnostics.
5
+ */
6
+ export class SyncError extends SpecWeaveError {
7
+ constructor(provider, httpStatus, responseBody, detail) {
8
+ const label = provider.toUpperCase();
9
+ super(`[${label}] sync failed: ${httpStatus} ${detail}`, {
10
+ code: ErrorCode.SYNC_FAILED,
11
+ context: { provider, httpStatus, responseBody },
12
+ });
13
+ this.name = 'SyncError';
14
+ this.provider = provider;
15
+ this.httpStatus = httpStatus;
16
+ this.responseBody = responseBody;
17
+ }
18
+ }
19
+ //# sourceMappingURL=sync-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-error.js","sourceRoot":"","sources":["../../../../src/core/errors/sync-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvD;;;GAGG;AACH,MAAM,OAAO,SAAU,SAAQ,cAAc;IAK3C,YAAY,QAAgB,EAAE,UAAkB,EAAE,YAAoB,EAAE,MAAc;QACpF,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,KAAK,kBAAkB,UAAU,IAAI,MAAM,EAAE,EAAE;YACvD,IAAI,EAAE,SAAS,CAAC,WAAW;YAC3B,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE;SAChD,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;CACF"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Rule Collector — gathers existing project rules for dedup context in skill-gen.
3
+ *
4
+ * Reads CLAUDE.md, .cursorrules, .github/copilot-instructions.md, .claude/skills,
5
+ * and .cursor/rules to provide existing-rules context so the LLM avoids suggesting
6
+ * patterns that duplicate already-documented conventions.
7
+ *
8
+ * @module core/skill-gen/rule-collector
9
+ */
10
+ export declare const MAX_RULES_TOKENS = 10000;
11
+ export declare const MAX_PER_FILE_TOKENS = 2000;
12
+ export declare class RuleCollector {
13
+ private projectRoot;
14
+ constructor(projectRoot: string);
15
+ /**
16
+ * Collect existing rule content from known locations.
17
+ * Returns formatted string for injection into the LLM prompt, or empty string if none found.
18
+ */
19
+ collectExistingRules(): Promise<string>;
20
+ /**
21
+ * Recursively collect files matching given extensions from a directory.
22
+ * Returns empty array if directory doesn't exist.
23
+ */
24
+ private collectFiles;
25
+ private readFileSafe;
26
+ private truncateToTokens;
27
+ }
28
+ //# sourceMappingURL=rule-collector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-collector.d.ts","sourceRoot":"","sources":["../../../../src/core/skill-gen/rule-collector.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,eAAO,MAAM,gBAAgB,QAAS,CAAC;AACvC,eAAO,MAAM,mBAAmB,OAAQ,CAAC;AAazC,qBAAa,aAAa;IACxB,OAAO,CAAC,WAAW,CAAS;gBAEhB,WAAW,EAAE,MAAM;IAI/B;;;OAGG;IACG,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;IA0C7C;;;OAGG;YACW,YAAY;YAkBZ,YAAY;IAS1B,OAAO,CAAC,gBAAgB;CAMzB"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Rule Collector — gathers existing project rules for dedup context in skill-gen.
3
+ *
4
+ * Reads CLAUDE.md, .cursorrules, .github/copilot-instructions.md, .claude/skills,
5
+ * and .cursor/rules to provide existing-rules context so the LLM avoids suggesting
6
+ * patterns that duplicate already-documented conventions.
7
+ *
8
+ * @module core/skill-gen/rule-collector
9
+ */
10
+ import { readFile, readdir } from 'fs/promises';
11
+ import { join } from 'path';
12
+ import { estimateTokenCount } from './utils.js';
13
+ export const MAX_RULES_TOKENS = 10000;
14
+ export const MAX_PER_FILE_TOKENS = 2000;
15
+ const RULE_FILE_PATHS = [
16
+ 'CLAUDE.md',
17
+ '.cursorrules',
18
+ '.github/copilot-instructions.md',
19
+ ];
20
+ const RULE_DIRS = [
21
+ { dir: '.claude/skills', extensions: ['.md'] },
22
+ { dir: '.cursor/rules', extensions: ['.mdc'] },
23
+ ];
24
+ export class RuleCollector {
25
+ constructor(projectRoot) {
26
+ this.projectRoot = projectRoot;
27
+ }
28
+ /**
29
+ * Collect existing rule content from known locations.
30
+ * Returns formatted string for injection into the LLM prompt, or empty string if none found.
31
+ */
32
+ async collectExistingRules() {
33
+ const rules = [];
34
+ let totalTokens = 0;
35
+ // 1. Read known file paths
36
+ for (const relPath of RULE_FILE_PATHS) {
37
+ if (totalTokens >= MAX_RULES_TOKENS)
38
+ break;
39
+ const content = await this.readFileSafe(join(this.projectRoot, relPath));
40
+ if (content) {
41
+ const truncated = this.truncateToTokens(content, MAX_PER_FILE_TOKENS);
42
+ const tokens = estimateTokenCount(truncated);
43
+ if (totalTokens + tokens <= MAX_RULES_TOKENS) {
44
+ rules.push({ path: relPath, content: truncated });
45
+ totalTokens += tokens;
46
+ }
47
+ }
48
+ }
49
+ // 2. Read rule directories (.claude/skills, .cursor/rules)
50
+ for (const { dir, extensions } of RULE_DIRS) {
51
+ if (totalTokens >= MAX_RULES_TOKENS)
52
+ break;
53
+ const files = await this.collectFiles(join(this.projectRoot, dir), extensions);
54
+ for (const file of files) {
55
+ if (totalTokens >= MAX_RULES_TOKENS)
56
+ break;
57
+ const content = await this.readFileSafe(file);
58
+ if (content) {
59
+ const truncated = this.truncateToTokens(content, MAX_PER_FILE_TOKENS);
60
+ const tokens = estimateTokenCount(truncated);
61
+ if (totalTokens + tokens <= MAX_RULES_TOKENS) {
62
+ const relPath = file.slice(this.projectRoot.length + 1);
63
+ rules.push({ path: relPath, content: truncated });
64
+ totalTokens += tokens;
65
+ }
66
+ }
67
+ }
68
+ }
69
+ if (rules.length === 0)
70
+ return '';
71
+ return rules.map(r => `--- rule: ${r.path} ---\n${r.content}`).join('\n');
72
+ }
73
+ /**
74
+ * Recursively collect files matching given extensions from a directory.
75
+ * Returns empty array if directory doesn't exist.
76
+ */
77
+ async collectFiles(dir, extensions) {
78
+ const results = [];
79
+ try {
80
+ const entries = await readdir(dir, { withFileTypes: true });
81
+ for (const entry of entries) {
82
+ const fullPath = join(dir, entry.name);
83
+ if (entry.isDirectory()) {
84
+ results.push(...(await this.collectFiles(fullPath, extensions)));
85
+ }
86
+ else if (extensions.some(ext => entry.name.endsWith(ext))) {
87
+ results.push(fullPath);
88
+ }
89
+ }
90
+ }
91
+ catch {
92
+ // Directory doesn't exist or is unreadable
93
+ }
94
+ return results;
95
+ }
96
+ async readFileSafe(path) {
97
+ try {
98
+ const content = await readFile(path, 'utf-8');
99
+ return content.trim() || null;
100
+ }
101
+ catch {
102
+ return null;
103
+ }
104
+ }
105
+ truncateToTokens(text, maxTokens) {
106
+ const maxChars = maxTokens * 4; // rough: 1 token ~ 4 chars
107
+ return text.length > maxChars
108
+ ? text.slice(0, maxChars) + '\n[...truncated]'
109
+ : text;
110
+ }
111
+ }
112
+ //# sourceMappingURL=rule-collector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-collector.js","sourceRoot":"","sources":["../../../../src/core/skill-gen/rule-collector.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ export declare class SignalCollector {
17
17
  private projectRoot;
18
18
  private maxSignals;
19
19
  private minSignalCount;
20
+ private ruleCollector;
20
21
  constructor(projectRoot: string, options?: CollectorOptions);
21
22
  /**
22
23
  * Collect signals from living docs for the given increment.
@@ -34,7 +35,7 @@ export declare class SignalCollector {
34
35
  */
35
36
  private detectPatternsLLM;
36
37
  /**
37
- * Build the user prompt with <documents> block.
38
+ * Build the user prompt with <documents> block and optional <existing-rules> dedup context.
38
39
  */
39
40
  private buildPrompt;
40
41
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"signal-collector.d.ts","sourceRoot":"","sources":["../../../../src/core/skill-gen/signal-collector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAkBH,UAAU,gBAAgB;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAwBD,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAS;gBAEnB,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAM3D;;;OAGG;IACG,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BjD;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAmDlC;;;OAGG;YACW,iBAAiB;IAgF/B;;OAEG;IACH,OAAO,CAAC,WAAW;IAenB;;OAEG;IACH,OAAO,CAAC,YAAY;IA8DpB;;OAEG;IACH,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,cAAc;CAGvB"}
1
+ {"version":3,"file":"signal-collector.d.ts","sourceRoot":"","sources":["../../../../src/core/skill-gen/signal-collector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAmBH,UAAU,gBAAgB;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAwBD,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,aAAa,CAAgB;gBAEzB,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAO3D;;;OAGG;IACG,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BjD;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAmDlC;;;OAGG;YACW,iBAAiB;IAmF/B;;OAEG;IACH,OAAO,CAAC,WAAW;IAgCnB;;OAEG;IACH,OAAO,CAAC,YAAY;IA8DpB;;OAEG;IACH,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,cAAc;CAGvB"}