specweave 0.26.3 → 0.26.4

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 (41) hide show
  1. package/CLAUDE.md +172 -1413
  2. package/dist/src/cli/commands/plan/plan-orchestrator.js +2 -2
  3. package/dist/src/cli/commands/plan/plan-orchestrator.js.map +1 -1
  4. package/dist/src/cli/helpers/issue-tracker/github-multi-repo.d.ts.map +1 -1
  5. package/dist/src/cli/helpers/issue-tracker/github-multi-repo.js +147 -55
  6. package/dist/src/cli/helpers/issue-tracker/github-multi-repo.js.map +1 -1
  7. package/dist/src/config/types.d.ts +203 -1208
  8. package/dist/src/config/types.d.ts.map +1 -1
  9. package/dist/src/core/increment/completion-validator.d.ts +4 -0
  10. package/dist/src/core/increment/completion-validator.d.ts.map +1 -1
  11. package/dist/src/core/increment/completion-validator.js +36 -0
  12. package/dist/src/core/increment/completion-validator.js.map +1 -1
  13. package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -1
  14. package/dist/src/core/living-docs/living-docs-sync.js +47 -13
  15. package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
  16. package/dist/src/core/us-sync-throttle.d.ts +113 -0
  17. package/dist/src/core/us-sync-throttle.d.ts.map +1 -0
  18. package/dist/src/core/us-sync-throttle.js +195 -0
  19. package/dist/src/core/us-sync-throttle.js.map +1 -0
  20. package/dist/src/init/architecture/types.d.ts +33 -140
  21. package/dist/src/init/architecture/types.d.ts.map +1 -1
  22. package/dist/src/init/compliance/types.d.ts +30 -27
  23. package/dist/src/init/compliance/types.d.ts.map +1 -1
  24. package/dist/src/init/repo/types.d.ts +11 -34
  25. package/dist/src/init/repo/types.d.ts.map +1 -1
  26. package/dist/src/init/research/src/config/types.d.ts +15 -82
  27. package/dist/src/init/research/src/config/types.d.ts.map +1 -1
  28. package/dist/src/init/research/types.d.ts +38 -93
  29. package/dist/src/init/research/types.d.ts.map +1 -1
  30. package/dist/src/init/team/types.d.ts +4 -42
  31. package/dist/src/init/team/types.d.ts.map +1 -1
  32. package/dist/src/utils/external-tool-drift-detector.d.ts +76 -0
  33. package/dist/src/utils/external-tool-drift-detector.d.ts.map +1 -0
  34. package/dist/src/utils/external-tool-drift-detector.js +235 -0
  35. package/dist/src/utils/external-tool-drift-detector.js.map +1 -0
  36. package/package.json +4 -4
  37. package/plugins/specweave/hooks/post-task-completion.sh +6 -6
  38. package/plugins/specweave/hooks/pre-increment-start.sh +6 -1
  39. package/plugins/specweave/lib/hooks/us-completion-orchestrator.js +62 -89
  40. package/plugins/specweave/lib/hooks/us-completion-orchestrator.ts +215 -0
  41. package/plugins/specweave-release/hooks/post-task-completion.sh +5 -1
@@ -0,0 +1,195 @@
1
+ /**
2
+ * US Sync Throttle Manager
3
+ *
4
+ * Prevents excessive US sync operations by implementing a 60-second throttle window.
5
+ * Tracks last sync time per increment to avoid spamming external tools (GitHub/JIRA/ADO).
6
+ *
7
+ * Architecture (v0.26.1):
8
+ * - Safe now that fs.writeFile() confirmed to NOT trigger Claude Code hooks
9
+ * - Allows restoration of automatic US sync while preventing spam
10
+ * - Part of long-term fix to restore seamless UX (ADR-0129)
11
+ *
12
+ * Usage:
13
+ * ```typescript
14
+ * const throttle = USSyncThrottle.getInstance();
15
+ *
16
+ * if (throttle.shouldSkipSync(incrementId)) {
17
+ * logger.log('⏭️ US sync throttled (last sync < 60s ago)');
18
+ * return;
19
+ * }
20
+ *
21
+ * // Perform sync...
22
+ * throttle.recordSync(incrementId);
23
+ * ```
24
+ *
25
+ * See:
26
+ * - Test results: FS-WRITEFILE-HOOK-TEST-RESULTS-2025-11-24.md
27
+ * - ADR-0129: US Sync Guard Rails (long-term fix strategy)
28
+ */
29
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
30
+ import path from 'path';
31
+ /**
32
+ * Singleton throttle manager for US sync operations
33
+ */
34
+ export class USSyncThrottle {
35
+ constructor(config) {
36
+ this.projectRoot = config.projectRoot;
37
+ this.throttleWindowMs = config.throttleWindowMs ?? 60000; // 60 seconds default
38
+ this.stateFile = path.join(this.projectRoot, '.specweave/state/us-sync-throttle.json');
39
+ }
40
+ /**
41
+ * Get singleton instance
42
+ *
43
+ * @param config - Configuration (required for first call)
44
+ * @returns Throttle manager instance
45
+ */
46
+ static getInstance(config) {
47
+ if (!USSyncThrottle.instance) {
48
+ if (!config) {
49
+ throw new Error('USSyncThrottle: config required for first getInstance() call');
50
+ }
51
+ USSyncThrottle.instance = new USSyncThrottle(config);
52
+ }
53
+ return USSyncThrottle.instance;
54
+ }
55
+ /**
56
+ * Reset singleton instance (for testing)
57
+ */
58
+ static resetInstance() {
59
+ USSyncThrottle.instance = null;
60
+ }
61
+ /**
62
+ * Check if sync should be skipped due to throttling
63
+ *
64
+ * @param incrementId - Increment ID (e.g., "0053-safe-feature-deletion")
65
+ * @returns true if sync should be skipped (throttled), false if sync allowed
66
+ */
67
+ shouldSkipSync(incrementId) {
68
+ const state = this.loadState();
69
+ const entry = state.find(s => s.incrementId === incrementId);
70
+ if (!entry) {
71
+ // No previous sync - allow
72
+ return false;
73
+ }
74
+ const timeSinceLastSync = Date.now() - entry.lastSyncTime;
75
+ return timeSinceLastSync < this.throttleWindowMs;
76
+ }
77
+ /**
78
+ * Record a sync operation
79
+ *
80
+ * @param incrementId - Increment ID
81
+ */
82
+ recordSync(incrementId) {
83
+ const state = this.loadState();
84
+ const existingIndex = state.findIndex(s => s.incrementId === incrementId);
85
+ if (existingIndex >= 0) {
86
+ // Update existing entry
87
+ state[existingIndex].lastSyncTime = Date.now();
88
+ state[existingIndex].syncCount++;
89
+ }
90
+ else {
91
+ // Create new entry
92
+ state.push({
93
+ incrementId,
94
+ lastSyncTime: Date.now(),
95
+ syncCount: 1
96
+ });
97
+ }
98
+ this.saveState(state);
99
+ }
100
+ /**
101
+ * Get last sync time for an increment
102
+ *
103
+ * @param incrementId - Increment ID
104
+ * @returns Last sync timestamp (ms since epoch) or null if never synced
105
+ */
106
+ getLastSyncTime(incrementId) {
107
+ const state = this.loadState();
108
+ const entry = state.find(s => s.incrementId === incrementId);
109
+ return entry ? entry.lastSyncTime : null;
110
+ }
111
+ /**
112
+ * Get time since last sync
113
+ *
114
+ * @param incrementId - Increment ID
115
+ * @returns Milliseconds since last sync, or Infinity if never synced
116
+ */
117
+ getTimeSinceLastSync(incrementId) {
118
+ const lastSync = this.getLastSyncTime(incrementId);
119
+ return lastSync ? Date.now() - lastSync : Infinity;
120
+ }
121
+ /**
122
+ * Get sync count for an increment
123
+ *
124
+ * @param incrementId - Increment ID
125
+ * @returns Number of times synced
126
+ */
127
+ getSyncCount(incrementId) {
128
+ const state = this.loadState();
129
+ const entry = state.find(s => s.incrementId === incrementId);
130
+ return entry ? entry.syncCount : 0;
131
+ }
132
+ /**
133
+ * Clear throttle state for an increment
134
+ *
135
+ * @param incrementId - Increment ID
136
+ */
137
+ clearThrottle(incrementId) {
138
+ const state = this.loadState();
139
+ const filtered = state.filter(s => s.incrementId !== incrementId);
140
+ this.saveState(filtered);
141
+ }
142
+ /**
143
+ * Clear all throttle state
144
+ */
145
+ clearAllThrottles() {
146
+ this.saveState([]);
147
+ }
148
+ /**
149
+ * Load throttle state from disk
150
+ */
151
+ loadState() {
152
+ if (!existsSync(this.stateFile)) {
153
+ return [];
154
+ }
155
+ try {
156
+ const content = readFileSync(this.stateFile, 'utf-8');
157
+ const parsed = JSON.parse(content);
158
+ // Validate structure
159
+ if (!Array.isArray(parsed)) {
160
+ return [];
161
+ }
162
+ // Filter out stale entries (> 24 hours old)
163
+ const now = Date.now();
164
+ const maxAge = 24 * 60 * 60 * 1000; // 24 hours
165
+ const filtered = parsed.filter((entry) => {
166
+ if (!entry.incrementId || !entry.lastSyncTime) {
167
+ return false;
168
+ }
169
+ return (now - entry.lastSyncTime) < maxAge;
170
+ });
171
+ return filtered;
172
+ }
173
+ catch (error) {
174
+ // Corrupted state file - return empty
175
+ return [];
176
+ }
177
+ }
178
+ /**
179
+ * Save throttle state to disk
180
+ */
181
+ saveState(state) {
182
+ try {
183
+ const dir = path.dirname(this.stateFile);
184
+ if (!existsSync(dir)) {
185
+ mkdirSync(dir, { recursive: true });
186
+ }
187
+ writeFileSync(this.stateFile, JSON.stringify(state, null, 2), 'utf-8');
188
+ }
189
+ catch (error) {
190
+ // Non-critical - log error but don't throw
191
+ console.warn('Failed to save US sync throttle state:', error);
192
+ }
193
+ }
194
+ }
195
+ //# sourceMappingURL=us-sync-throttle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"us-sync-throttle.js","sourceRoot":"","sources":["../../../src/core/us-sync-throttle.ts"],"names":[],"mappings":"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"}
@@ -82,170 +82,63 @@ export declare const CostEstimateSchema: z.ZodObject<{
82
82
  at10K: z.ZodString;
83
83
  at100K: z.ZodString;
84
84
  at1M: z.ZodString;
85
- }, "strip", z.ZodTypeAny, {
86
- at1K?: string;
87
- at10K?: string;
88
- at100K?: string;
89
- at1M?: string;
90
- }, {
91
- at1K?: string;
92
- at10K?: string;
93
- at100K?: string;
94
- at1M?: string;
95
- }>;
85
+ }, z.core.$strip>;
96
86
  export declare const CloudCreditSchema: z.ZodObject<{
97
87
  provider: z.ZodString;
98
88
  amount: z.ZodString;
99
89
  duration: z.ZodString;
100
90
  requirements: z.ZodOptional<z.ZodString>;
101
91
  url: z.ZodOptional<z.ZodString>;
102
- }, "strip", z.ZodTypeAny, {
103
- provider?: string;
104
- url?: string;
105
- requirements?: string;
106
- amount?: string;
107
- duration?: string;
108
- }, {
109
- provider?: string;
110
- url?: string;
111
- requirements?: string;
112
- amount?: string;
113
- duration?: string;
114
- }>;
92
+ }, z.core.$strip>;
115
93
  export declare const ProjectDefinitionSchema: z.ZodObject<{
116
94
  name: z.ZodString;
117
95
  description: z.ZodString;
118
- stack: z.ZodArray<z.ZodString, "many">;
119
- }, "strip", z.ZodTypeAny, {
120
- name?: string;
121
- stack?: string[];
122
- description?: string;
123
- }, {
124
- name?: string;
125
- stack?: string[];
126
- description?: string;
127
- }>;
96
+ stack: z.ZodArray<z.ZodString>;
97
+ }, z.core.$strip>;
128
98
  export declare const ArchitectureRecommendationSchema: z.ZodObject<{
129
- architecture: z.ZodEnum<["serverless", "traditional-monolith", "microservices", "modular-monolith", "jamstack", "hybrid"]>;
130
- infrastructure: z.ZodArray<z.ZodString, "many">;
99
+ architecture: z.ZodEnum<{
100
+ microservices: "microservices";
101
+ serverless: "serverless";
102
+ "traditional-monolith": "traditional-monolith";
103
+ "modular-monolith": "modular-monolith";
104
+ jamstack: "jamstack";
105
+ hybrid: "hybrid";
106
+ }>;
107
+ infrastructure: z.ZodArray<z.ZodString>;
131
108
  rationale: z.ZodString;
132
109
  costEstimate: z.ZodObject<{
133
110
  at1K: z.ZodString;
134
111
  at10K: z.ZodString;
135
112
  at100K: z.ZodString;
136
113
  at1M: z.ZodString;
137
- }, "strip", z.ZodTypeAny, {
138
- at1K?: string;
139
- at10K?: string;
140
- at100K?: string;
141
- at1M?: string;
142
- }, {
143
- at1K?: string;
144
- at10K?: string;
145
- at100K?: string;
146
- at1M?: string;
147
- }>;
114
+ }, z.core.$strip>;
148
115
  cloudCredits: z.ZodArray<z.ZodObject<{
149
116
  provider: z.ZodString;
150
117
  amount: z.ZodString;
151
118
  duration: z.ZodString;
152
119
  requirements: z.ZodOptional<z.ZodString>;
153
120
  url: z.ZodOptional<z.ZodString>;
154
- }, "strip", z.ZodTypeAny, {
155
- provider?: string;
156
- url?: string;
157
- requirements?: string;
158
- amount?: string;
159
- duration?: string;
160
- }, {
161
- provider?: string;
162
- url?: string;
163
- requirements?: string;
164
- amount?: string;
165
- duration?: string;
166
- }>, "many">;
121
+ }, z.core.$strip>>;
167
122
  projects: z.ZodArray<z.ZodObject<{
168
123
  name: z.ZodString;
169
124
  description: z.ZodString;
170
- stack: z.ZodArray<z.ZodString, "many">;
171
- }, "strip", z.ZodTypeAny, {
172
- name?: string;
173
- stack?: string[];
174
- description?: string;
175
- }, {
176
- name?: string;
177
- stack?: string[];
178
- description?: string;
179
- }>, "many">;
180
- methodology: z.ZodEnum<["agile", "waterfall"]>;
125
+ stack: z.ZodArray<z.ZodString>;
126
+ }, z.core.$strip>>;
127
+ methodology: z.ZodEnum<{
128
+ agile: "agile";
129
+ waterfall: "waterfall";
130
+ }>;
181
131
  alternatives: z.ZodOptional<z.ZodArray<z.ZodObject<{
182
- architecture: z.ZodEnum<["serverless", "traditional-monolith", "microservices", "modular-monolith", "jamstack", "hybrid"]>;
183
- pros: z.ZodArray<z.ZodString, "many">;
184
- cons: z.ZodArray<z.ZodString, "many">;
185
- }, "strip", z.ZodTypeAny, {
186
- architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
187
- pros?: string[];
188
- cons?: string[];
189
- }, {
190
- architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
191
- pros?: string[];
192
- cons?: string[];
193
- }>, "many">>;
194
- }, "strip", z.ZodTypeAny, {
195
- architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
196
- projects?: {
197
- name?: string;
198
- stack?: string[];
199
- description?: string;
200
- }[];
201
- infrastructure?: string[];
202
- alternatives?: {
203
- architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
204
- pros?: string[];
205
- cons?: string[];
206
- }[];
207
- rationale?: string;
208
- costEstimate?: {
209
- at1K?: string;
210
- at10K?: string;
211
- at100K?: string;
212
- at1M?: string;
213
- };
214
- cloudCredits?: {
215
- provider?: string;
216
- url?: string;
217
- requirements?: string;
218
- amount?: string;
219
- duration?: string;
220
- }[];
221
- methodology?: "agile" | "waterfall";
222
- }, {
223
- architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
224
- projects?: {
225
- name?: string;
226
- stack?: string[];
227
- description?: string;
228
- }[];
229
- infrastructure?: string[];
230
- alternatives?: {
231
- architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
232
- pros?: string[];
233
- cons?: string[];
234
- }[];
235
- rationale?: string;
236
- costEstimate?: {
237
- at1K?: string;
238
- at10K?: string;
239
- at100K?: string;
240
- at1M?: string;
241
- };
242
- cloudCredits?: {
243
- provider?: string;
244
- url?: string;
245
- requirements?: string;
246
- amount?: string;
247
- duration?: string;
248
- }[];
249
- methodology?: "agile" | "waterfall";
250
- }>;
132
+ architecture: z.ZodEnum<{
133
+ microservices: "microservices";
134
+ serverless: "serverless";
135
+ "traditional-monolith": "traditional-monolith";
136
+ "modular-monolith": "modular-monolith";
137
+ jamstack: "jamstack";
138
+ hybrid: "hybrid";
139
+ }>;
140
+ pros: z.ZodArray<z.ZodString>;
141
+ cons: z.ZodArray<z.ZodString>;
142
+ }, z.core.$strip>>>;
143
+ }, z.core.$strip>;
251
144
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/init/architecture/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,YAAY,GACZ,sBAAsB,GACtB,eAAe,GACf,kBAAkB,GAClB,UAAU,GACV,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,cAAc,GACd,UAAU,GACV,MAAM,GACN,eAAe,GACf,UAAU,CAAC;AAEf;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IAEb,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IAEd,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAC;IAEf,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC;IAEjB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IAEf,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC;IAEjB,8BAA8B;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,sBAAsB;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IAEb,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IAEpB,uBAAuB;IACvB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,oCAAoC;IACpC,YAAY,EAAE,gBAAgB,CAAC;IAE/B,gCAAgC;IAChC,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAElB,yCAAyC;IACzC,YAAY,EAAE,YAAY,CAAC;IAE3B,8BAA8B;IAC9B,YAAY,EAAE,WAAW,EAAE,CAAC;IAE5B,6BAA6B;IAC7B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAE9B,uCAAuC;IACvC,WAAW,EAAE,OAAO,GAAG,WAAW,CAAC;IAEnC,2CAA2C;IAC3C,YAAY,CAAC,EAAE,KAAK,CAAC;QACnB,YAAY,EAAE,gBAAgB,CAAC;QAC/B,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,IAAI,EAAE,MAAM,EAAE,CAAC;KAChB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAK7B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;EAM5B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;EAIlC,CAAC;AAEH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2B3C,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/init/architecture/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,YAAY,GACZ,sBAAsB,GACtB,eAAe,GACf,kBAAkB,GAClB,UAAU,GACV,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,cAAc,GACd,UAAU,GACV,MAAM,GACN,eAAe,GACf,UAAU,CAAC;AAEf;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IAEb,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IAEd,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAC;IAEf,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC;IAEjB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IAEf,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC;IAEjB,8BAA8B;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,sBAAsB;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IAEb,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IAEpB,uBAAuB;IACvB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,oCAAoC;IACpC,YAAY,EAAE,gBAAgB,CAAC;IAE/B,gCAAgC;IAChC,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAElB,yCAAyC;IACzC,YAAY,EAAE,YAAY,CAAC;IAE3B,8BAA8B;IAC9B,YAAY,EAAE,WAAW,EAAE,CAAC;IAE5B,6BAA6B;IAC7B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAE9B,uCAAuC;IACvC,WAAW,EAAE,OAAO,GAAG,WAAW,CAAC;IAEnC,2CAA2C;IAC3C,YAAY,CAAC,EAAE,KAAK,CAAC;QACnB,YAAY,EAAE,gBAAgB,CAAC;QAC/B,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,IAAI,EAAE,MAAM,EAAE,CAAC;KAChB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;iBAK7B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;iBAM5B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;iBAIlC,CAAC;AAEH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA2B3C,CAAC"}
@@ -57,35 +57,38 @@ export interface ComplianceDetectionResult {
57
57
  export declare const ComplianceStandardSchema: z.ZodObject<{
58
58
  id: z.ZodString;
59
59
  name: z.ZodString;
60
- dataTypes: z.ZodArray<z.ZodEnum<["healthcare", "payment", "personal", "government", "student", "financial", "biometric", "location", "children", "sensitive"]>, "many">;
61
- regions: z.ZodArray<z.ZodString, "many">;
62
- teamImpact: z.ZodArray<z.ZodEnum<["auth-team", "data-team", "devsecops-team", "ciso", "dpo", "privacy-engineering", "payments-team", "compliance-team"]>, "many">;
60
+ dataTypes: z.ZodArray<z.ZodEnum<{
61
+ personal: "personal";
62
+ location: "location";
63
+ payment: "payment";
64
+ healthcare: "healthcare";
65
+ government: "government";
66
+ student: "student";
67
+ financial: "financial";
68
+ biometric: "biometric";
69
+ children: "children";
70
+ sensitive: "sensitive";
71
+ }>>;
72
+ regions: z.ZodArray<z.ZodString>;
73
+ teamImpact: z.ZodArray<z.ZodEnum<{
74
+ "auth-team": "auth-team";
75
+ "data-team": "data-team";
76
+ "devsecops-team": "devsecops-team";
77
+ ciso: "ciso";
78
+ dpo: "dpo";
79
+ "privacy-engineering": "privacy-engineering";
80
+ "payments-team": "payments-team";
81
+ "compliance-team": "compliance-team";
82
+ }>>;
63
83
  costImpact: z.ZodString;
64
84
  certificationRequired: z.ZodBoolean;
65
- auditFrequency: z.ZodEnum<["annual", "quarterly", "continuous", "none"]>;
85
+ auditFrequency: z.ZodEnum<{
86
+ none: "none";
87
+ annual: "annual";
88
+ quarterly: "quarterly";
89
+ continuous: "continuous";
90
+ }>;
66
91
  description: z.ZodOptional<z.ZodString>;
67
92
  documentationUrl: z.ZodOptional<z.ZodString>;
68
- }, "strip", z.ZodTypeAny, {
69
- name?: string;
70
- description?: string;
71
- id?: string;
72
- dataTypes?: ("personal" | "location" | "payment" | "healthcare" | "government" | "student" | "financial" | "biometric" | "children" | "sensitive")[];
73
- regions?: string[];
74
- teamImpact?: ("auth-team" | "data-team" | "devsecops-team" | "ciso" | "dpo" | "privacy-engineering" | "payments-team" | "compliance-team")[];
75
- costImpact?: string;
76
- certificationRequired?: boolean;
77
- auditFrequency?: "none" | "annual" | "quarterly" | "continuous";
78
- documentationUrl?: string;
79
- }, {
80
- name?: string;
81
- description?: string;
82
- id?: string;
83
- dataTypes?: ("personal" | "location" | "payment" | "healthcare" | "government" | "student" | "financial" | "biometric" | "children" | "sensitive")[];
84
- regions?: string[];
85
- teamImpact?: ("auth-team" | "data-team" | "devsecops-team" | "ciso" | "dpo" | "privacy-engineering" | "payments-team" | "compliance-team")[];
86
- costImpact?: string;
87
- certificationRequired?: boolean;
88
- auditFrequency?: "none" | "annual" | "quarterly" | "continuous";
89
- documentationUrl?: string;
90
- }>;
93
+ }, z.core.$strip>;
91
94
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/init/compliance/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,MAAM,QAAQ,GAChB,YAAY,GACZ,SAAS,GACT,UAAU,GACV,YAAY,GACZ,SAAS,GACT,WAAW,GACX,WAAW,GACX,UAAU,GACV,UAAU,GACV,WAAW,CAAC;AAEhB;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB,WAAW,GACX,WAAW,GACX,gBAAgB,GAChB,MAAM,GACN,KAAK,GACL,qBAAqB,GACrB,eAAe,GACf,iBAAiB,CAAC;AAEtB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC;IAEX,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IAEb,4CAA4C;IAC5C,SAAS,EAAE,QAAQ,EAAE,CAAC;IAEtB,0CAA0C;IAC1C,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,uCAAuC;IACvC,UAAU,EAAE,eAAe,EAAE,CAAC;IAE9B,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IAEnB,wCAAwC;IACxC,qBAAqB,EAAE,OAAO,CAAC;IAE/B,sBAAsB;IACtB,cAAc,EAAE,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,MAAM,CAAC;IAE/D,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,iCAAiC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,6BAA6B;IAC7B,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAEhC,oDAAoD;IACpD,gBAAgB,EAAE,eAAe,EAAE,CAAC;IAEpC,6CAA6C;IAC7C,iBAAiB,EAAE,MAAM,CAAC;IAE1B,+BAA+B;IAC/B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BnC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/init/compliance/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,MAAM,QAAQ,GAChB,YAAY,GACZ,SAAS,GACT,UAAU,GACV,YAAY,GACZ,SAAS,GACT,WAAW,GACX,WAAW,GACX,UAAU,GACV,UAAU,GACV,WAAW,CAAC;AAEhB;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB,WAAW,GACX,WAAW,GACX,gBAAgB,GAChB,MAAM,GACN,KAAK,GACL,qBAAqB,GACrB,eAAe,GACf,iBAAiB,CAAC;AAEtB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC;IAEX,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IAEb,4CAA4C;IAC5C,SAAS,EAAE,QAAQ,EAAE,CAAC;IAEtB,0CAA0C;IAC1C,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,uCAAuC;IACvC,UAAU,EAAE,eAAe,EAAE,CAAC;IAE9B,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IAEnB,wCAAwC;IACxC,qBAAqB,EAAE,OAAO,CAAC;IAE/B,sBAAsB;IACtB,cAAc,EAAE,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,MAAM,CAAC;IAE/D,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,iCAAiC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,6BAA6B;IAC7B,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAEhC,oDAAoD;IACpD,gBAAgB,EAAE,eAAe,EAAE,CAAC;IAEpC,6CAA6C;IAC7C,iBAAiB,EAAE,MAAM,CAAC;IAE1B,+BAA+B;IAC/B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA+BnC,CAAC"}
@@ -46,21 +46,18 @@ export interface RepositoryMetadata {
46
46
  * Zod schemas
47
47
  */
48
48
  export declare const RepositorySelectionRuleSchema: z.ZodObject<{
49
- type: z.ZodEnum<["all", "prefix", "owner", "keyword", "combined", "manual"]>;
49
+ type: z.ZodEnum<{
50
+ manual: "manual";
51
+ owner: "owner";
52
+ prefix: "prefix";
53
+ all: "all";
54
+ keyword: "keyword";
55
+ combined: "combined";
56
+ }>;
50
57
  pattern: z.ZodOptional<z.ZodString>;
51
58
  owner: z.ZodOptional<z.ZodString>;
52
- excludePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
53
- }, "strip", z.ZodTypeAny, {
54
- type?: "manual" | "owner" | "prefix" | "all" | "keyword" | "combined";
55
- owner?: string;
56
- pattern?: string;
57
- excludePatterns?: string[];
58
- }, {
59
- type?: "manual" | "owner" | "prefix" | "all" | "keyword" | "combined";
60
- owner?: string;
61
- pattern?: string;
62
- excludePatterns?: string[];
63
- }>;
59
+ excludePatterns: z.ZodOptional<z.ZodArray<z.ZodString>>;
60
+ }, z.core.$strip>;
64
61
  export declare const RepositoryMetadataSchema: z.ZodObject<{
65
62
  name: z.ZodString;
66
63
  url: z.ZodString;
@@ -71,25 +68,5 @@ export declare const RepositoryMetadataSchema: z.ZodObject<{
71
68
  lastUpdated: z.ZodDate;
72
69
  private: z.ZodOptional<z.ZodBoolean>;
73
70
  defaultBranch: z.ZodOptional<z.ZodString>;
74
- }, "strip", z.ZodTypeAny, {
75
- name?: string;
76
- description?: string;
77
- language?: string;
78
- owner?: string;
79
- url?: string;
80
- lastUpdated?: Date;
81
- private?: boolean;
82
- stars?: number;
83
- defaultBranch?: string;
84
- }, {
85
- name?: string;
86
- description?: string;
87
- language?: string;
88
- owner?: string;
89
- url?: string;
90
- lastUpdated?: Date;
91
- private?: boolean;
92
- stars?: number;
93
- defaultBranch?: string;
94
- }>;
71
+ }, z.core.$strip>;
95
72
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/init/repo/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,MAAM,aAAa,GACrB,KAAK,GACL,QAAQ,GACR,OAAO,GACP,SAAS,GACT,UAAU,GACV,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,qBAAqB;IACrB,IAAI,EAAE,aAAa,CAAC;IAEpB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,yBAAyB;IACzB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IAEb,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAC;IAEZ,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IAEd,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IAEpB,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IAEjB,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IAEd,6BAA6B;IAC7B,WAAW,EAAE,IAAI,CAAC;IAElB,iBAAiB;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,qBAAqB;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;EAKxC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUnC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/init/repo/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,MAAM,aAAa,GACrB,KAAK,GACL,QAAQ,GACR,OAAO,GACP,SAAS,GACT,UAAU,GACV,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,qBAAqB;IACrB,IAAI,EAAE,aAAa,CAAC;IAEpB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,yBAAyB;IACzB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IAEb,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAC;IAEZ,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IAEd,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IAEpB,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IAEjB,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IAEd,6BAA6B;IAC7B,WAAW,EAAE,IAAI,CAAC;IAElB,iBAAiB;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,qBAAqB;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;iBAKxC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;iBAUnC,CAAC"}
@@ -4,99 +4,32 @@
4
4
  import { z } from 'zod';
5
5
  export declare const ResearchConfigSchema: z.ZodOptional<z.ZodObject<{
6
6
  vision: z.ZodOptional<z.ZodAny>;
7
- compliance: z.ZodOptional<z.ZodArray<z.ZodAny, "many">>;
8
- teams: z.ZodOptional<z.ZodArray<z.ZodAny, "many">>;
9
- repositories: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
7
+ compliance: z.ZodOptional<z.ZodArray<z.ZodAny>>;
8
+ teams: z.ZodOptional<z.ZodArray<z.ZodAny>>;
9
+ repositories: z.ZodOptional<z.ZodArray<z.ZodString>>;
10
10
  architecture: z.ZodOptional<z.ZodAny>;
11
- }, "strip", z.ZodTypeAny, {
12
- architecture?: any;
13
- repositories?: string[];
14
- teams?: any[];
15
- vision?: any;
16
- compliance?: any[];
17
- }, {
18
- architecture?: any;
19
- repositories?: string[];
20
- teams?: any[];
21
- vision?: any;
22
- compliance?: any[];
23
- }>>;
11
+ }, z.core.$strip>>;
24
12
  export declare const SpecWeaveConfigSchema: z.ZodObject<{
25
13
  version: z.ZodString;
26
14
  project: z.ZodObject<{
27
15
  name: z.ZodString;
28
- type: z.ZodEnum<["single", "multi"]>;
29
- }, "strip", z.ZodTypeAny, {
30
- name?: string;
31
- type?: "single" | "multi";
32
- }, {
33
- name?: string;
34
- type?: "single" | "multi";
35
- }>;
16
+ type: z.ZodEnum<{
17
+ single: "single";
18
+ multi: "multi";
19
+ }>;
20
+ }, z.core.$strip>;
36
21
  research: z.ZodOptional<z.ZodObject<{
37
22
  vision: z.ZodOptional<z.ZodAny>;
38
- compliance: z.ZodOptional<z.ZodArray<z.ZodAny, "many">>;
39
- teams: z.ZodOptional<z.ZodArray<z.ZodAny, "many">>;
40
- repositories: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
23
+ compliance: z.ZodOptional<z.ZodArray<z.ZodAny>>;
24
+ teams: z.ZodOptional<z.ZodArray<z.ZodAny>>;
25
+ repositories: z.ZodOptional<z.ZodArray<z.ZodString>>;
41
26
  architecture: z.ZodOptional<z.ZodAny>;
42
- }, "strip", z.ZodTypeAny, {
43
- architecture?: any;
44
- repositories?: string[];
45
- teams?: any[];
46
- vision?: any;
47
- compliance?: any[];
48
- }, {
49
- architecture?: any;
50
- repositories?: string[];
51
- teams?: any[];
52
- vision?: any;
53
- compliance?: any[];
54
- }>>;
27
+ }, z.core.$strip>>;
55
28
  livingDocs: z.ZodOptional<z.ZodObject<{
56
29
  enabled: z.ZodBoolean;
57
30
  baseDir: z.ZodString;
58
- }, "strip", z.ZodTypeAny, {
59
- enabled?: boolean;
60
- baseDir?: string;
61
- }, {
62
- enabled?: boolean;
63
- baseDir?: string;
64
- }>>;
65
- }, "strip", z.ZodTypeAny, {
66
- version?: string;
67
- project?: {
68
- name?: string;
69
- type?: "single" | "multi";
70
- };
71
- livingDocs?: {
72
- enabled?: boolean;
73
- baseDir?: string;
74
- };
75
- research?: {
76
- architecture?: any;
77
- repositories?: string[];
78
- teams?: any[];
79
- vision?: any;
80
- compliance?: any[];
81
- };
82
- }, {
83
- version?: string;
84
- project?: {
85
- name?: string;
86
- type?: "single" | "multi";
87
- };
88
- livingDocs?: {
89
- enabled?: boolean;
90
- baseDir?: string;
91
- };
92
- research?: {
93
- architecture?: any;
94
- repositories?: string[];
95
- teams?: any[];
96
- vision?: any;
97
- compliance?: any[];
98
- };
99
- }>;
31
+ }, z.core.$strip>>;
32
+ }, z.core.$strip>;
100
33
  export type ResearchConfig = z.infer<typeof ResearchConfigSchema>;
101
34
  export type SpecWeaveConfig = z.infer<typeof SpecWeaveConfigSchema>;
102
35
  //# sourceMappingURL=types.d.ts.map