specky-sdd 2.2.3 → 2.3.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.
@@ -0,0 +1,489 @@
1
+ /**
2
+ * Turnkey Tool — sdd_turnkey_spec.
3
+ * Generates full EARS specification from a natural language description.
4
+ */
5
+ import { join } from "node:path";
6
+ import { z } from "zod";
7
+ import { CHARACTER_LIMIT, Phase } from "../constants.js";
8
+ function formatError(toolName, error) {
9
+ return `[${toolName}] Error: ${error.message}`;
10
+ }
11
+ function truncate(text) {
12
+ if (text.length <= CHARACTER_LIMIT)
13
+ return text;
14
+ return text.slice(0, CHARACTER_LIMIT) + "\n\n[TRUNCATED]";
15
+ }
16
+ // Inline schema
17
+ const turnkeySpecInputSchema = z.object({
18
+ feature_name: z
19
+ .string()
20
+ .min(1)
21
+ .max(200)
22
+ .describe("Human-readable feature name (e.g. 'user-authentication')"),
23
+ description: z
24
+ .string()
25
+ .min(10)
26
+ .max(10000)
27
+ .describe("Natural language description of the feature. Can be a paragraph, bullet points, or a meeting summary. The tool will extract EARS requirements automatically."),
28
+ feature_number: z
29
+ .string()
30
+ .regex(/^\d{3}$/, "Feature number must be 3 digits, e.g. '001'")
31
+ .default("001")
32
+ .describe("Feature number (zero-padded, e.g. '001')"),
33
+ spec_dir: z
34
+ .string()
35
+ .default(".specs")
36
+ .describe("Spec directory path"),
37
+ force: z
38
+ .boolean()
39
+ .default(false)
40
+ .describe("Overwrite existing files if true"),
41
+ }).strict().describe("Turnkey specification: provide a natural language description and get a complete EARS specification. " +
42
+ "Automatically infers requirements, classifies EARS patterns, generates acceptance criteria, and identifies clarification questions.");
43
+ export function registerTurnkeyTools(server, fileManager, stateMachine, templateEngine, earsValidator) {
44
+ server.registerTool("sdd_turnkey_spec", {
45
+ title: "Turnkey Specification from Description",
46
+ description: "Generates a complete EARS specification from a natural language feature description. " +
47
+ "Automatically extracts requirements, classifies into EARS patterns (ubiquitous, event-driven, " +
48
+ "state-driven, optional, unwanted), generates acceptance criteria, and identifies areas needing clarification. " +
49
+ "This is the fastest way to go from idea to spec.",
50
+ inputSchema: turnkeySpecInputSchema,
51
+ annotations: {
52
+ readOnlyHint: false,
53
+ destructiveHint: false,
54
+ idempotentHint: false,
55
+ openWorldHint: false,
56
+ },
57
+ }, async ({ feature_name, description, feature_number, spec_dir, force }) => {
58
+ try {
59
+ const featureSlug = feature_name.toLowerCase().replace(/\s+/g, "-").replace(/[^a-z0-9-]/g, "");
60
+ const featureDir = join(spec_dir, `${feature_number}-${featureSlug}`);
61
+ // Step 1: Extract requirement candidates from natural language
62
+ const candidates = extractRequirementCandidates(description);
63
+ // Step 2: Convert to EARS notation
64
+ const requirements = candidates.map((candidate, i) => {
65
+ const reqId = `REQ-CORE-${String(i + 1).padStart(3, "0")}`;
66
+ const earsText = convertToEars(candidate);
67
+ const pattern = earsValidator.detectPattern(earsText);
68
+ const validation = earsValidator.validate(earsText);
69
+ const acceptanceCriteria = generateAcceptanceCriteria(candidate, earsText);
70
+ return {
71
+ id: reqId,
72
+ ears_pattern: pattern,
73
+ text: earsText,
74
+ acceptance_criteria: acceptanceCriteria,
75
+ original_text: candidate.text,
76
+ valid: validation.valid,
77
+ issues: validation.issues,
78
+ };
79
+ });
80
+ // Step 3: Generate clarification questions for ambiguous requirements
81
+ const clarifications = generateClarifications(description, requirements);
82
+ // Step 4: Infer non-functional requirements
83
+ const nfrCandidates = inferNonFunctionalRequirements(description);
84
+ const nfrRequirements = nfrCandidates.map((nfr, i) => {
85
+ const reqId = `REQ-NFR-${String(i + 1).padStart(3, "0")}`;
86
+ const earsText = `The system shall ${nfr.text}`;
87
+ return {
88
+ id: reqId,
89
+ ears_pattern: "ubiquitous",
90
+ text: earsText,
91
+ acceptance_criteria: [nfr.criterion],
92
+ original_text: nfr.text,
93
+ valid: true,
94
+ issues: undefined,
95
+ };
96
+ });
97
+ const allRequirements = [...requirements, ...nfrRequirements];
98
+ // Step 5: Build SPECIFICATION.md
99
+ const reqSections = allRequirements.map((req) => {
100
+ return [
101
+ `### ${req.id}: (${req.ears_pattern})`,
102
+ "",
103
+ req.text,
104
+ "",
105
+ "**Acceptance Criteria:**",
106
+ ...req.acceptance_criteria.map((ac) => `- ${ac}`),
107
+ "",
108
+ "---",
109
+ "",
110
+ ].join("\n");
111
+ });
112
+ const acTable = allRequirements
113
+ .map((req) => `| ${req.id} | ${req.text.slice(0, 60)}... | Acceptance test |`)
114
+ .join("\n");
115
+ const content = await templateEngine.renderWithFrontmatter("specification", {
116
+ title: `${feature_name} — Specification`,
117
+ feature_id: `${feature_number}-${featureSlug}`,
118
+ project_name: feature_name,
119
+ requirements_core: reqSections.slice(0, requirements.length).join("\n"),
120
+ requirements_functional: "",
121
+ requirements_nonfunctional: reqSections.slice(requirements.length).join("\n"),
122
+ acceptance_criteria_table: acTable,
123
+ ears_compliance: `${allRequirements.filter(r => r.valid).length}/${allRequirements.length}`,
124
+ testability_score: `${allRequirements.length}/${allRequirements.length}`,
125
+ traceability_score: `${allRequirements.length}/${allRequirements.length}`,
126
+ uniqueness_score: `${allRequirements.length}/${allRequirements.length}`,
127
+ });
128
+ // Ensure directory and write file
129
+ await fileManager.ensureSpecDir(spec_dir);
130
+ const filePath = await fileManager.writeSpecFile(featureDir, "SPECIFICATION.md", content, force);
131
+ // Also initialize if needed
132
+ const state = await stateMachine.loadState(spec_dir);
133
+ if (state.current_phase === Phase.Init && state.features.length === 0) {
134
+ // Auto-init
135
+ const constitutionContent = await templateEngine.renderWithFrontmatter("constitution", {
136
+ title: `${feature_name} — Constitution`,
137
+ feature_id: `${feature_number}-${featureSlug}`,
138
+ project_name: feature_name,
139
+ author: "SDD Pipeline (Turnkey)",
140
+ principles: ["Simplicity", "Traceability", "Quality"],
141
+ constraints: ["Derived from natural language description"],
142
+ description: `Foundational charter for ${feature_name}`,
143
+ license: "MIT",
144
+ scope_in: description.slice(0, 200),
145
+ scope_out: "Features not mentioned in the original description",
146
+ });
147
+ await fileManager.writeSpecFile(featureDir, "CONSTITUTION.md", constitutionContent, force);
148
+ const newState = stateMachine.createDefaultState(feature_name);
149
+ newState.features = [featureDir];
150
+ newState.phases[Phase.Init] = { status: "completed", started_at: new Date().toISOString(), completed_at: new Date().toISOString() };
151
+ newState.phases[Phase.Discover] = { status: "completed", started_at: new Date().toISOString(), completed_at: new Date().toISOString() };
152
+ newState.phases[Phase.Specify] = { status: "completed", started_at: new Date().toISOString(), completed_at: new Date().toISOString() };
153
+ newState.current_phase = Phase.Specify;
154
+ await stateMachine.saveState(spec_dir, newState);
155
+ }
156
+ else {
157
+ await stateMachine.recordPhaseStart(spec_dir, Phase.Specify);
158
+ await stateMachine.recordPhaseComplete(spec_dir, Phase.Specify);
159
+ }
160
+ const validCount = allRequirements.filter(r => r.valid).length;
161
+ const result = {
162
+ status: "turnkey_spec_generated",
163
+ file: filePath,
164
+ total_requirements: allRequirements.length,
165
+ core_requirements: requirements.length,
166
+ nfr_requirements: nfrRequirements.length,
167
+ ears_valid: validCount,
168
+ ears_invalid: allRequirements.length - validCount,
169
+ pattern_distribution: countPatterns(allRequirements),
170
+ clarification_questions: clarifications,
171
+ files_created: state.features.length === 0
172
+ ? ["CONSTITUTION.md", "SPECIFICATION.md", ".sdd-state.json"]
173
+ : ["SPECIFICATION.md"],
174
+ next_steps: clarifications.length > 0
175
+ ? `Review ${clarifications.length} clarification questions below, then call sdd_clarify or sdd_amend to refine. When satisfied, proceed to sdd_write_design.`
176
+ : "Specification looks complete. Review the generated requirements, then proceed to sdd_write_design.",
177
+ learning_note: "Turnkey mode automatically infers EARS patterns from natural language. " +
178
+ "Ubiquitous requirements are always active, event-driven trigger on conditions, " +
179
+ "state-driven apply during states, optional apply to variants, and unwanted handle error cases. " +
180
+ "Review the generated EARS statements — the AI's best guess may need human refinement for edge cases.",
181
+ };
182
+ return {
183
+ content: [{ type: "text", text: truncate(JSON.stringify(result, null, 2)) }],
184
+ };
185
+ }
186
+ catch (error) {
187
+ return {
188
+ content: [{ type: "text", text: formatError("sdd_turnkey_spec", error) }],
189
+ isError: true,
190
+ };
191
+ }
192
+ });
193
+ }
194
+ export function extractRequirementCandidates(description) {
195
+ const candidates = [];
196
+ const sentences = description
197
+ .replace(/\n+/g, ". ")
198
+ .split(/[.!;]\s+/)
199
+ .map(s => s.trim())
200
+ .filter(s => s.length > 10);
201
+ for (const sentence of sentences) {
202
+ const lower = sentence.toLowerCase();
203
+ // Skip meta-sentences that aren't requirements
204
+ if (lower.match(/^(for example|e\.g\.|i\.e\.|note:|fyi|btw)/))
205
+ continue;
206
+ // Functional: explicit requirement language
207
+ if (lower.match(/\b(must|shall|should|needs? to|has to|will|can|allows?|enables?|provides?|supports?)\b/)) {
208
+ candidates.push({
209
+ text: sentence,
210
+ type: "functional",
211
+ confidence: 0.9,
212
+ });
213
+ continue;
214
+ }
215
+ // Behavior: action/verb-driven
216
+ if (lower.match(/\b(user|admin|system|api|service|app|client|server)\b/) &&
217
+ lower.match(/\b(create|read|update|delete|send|receive|process|validate|authenticate|authorize|display|show|return|store|log|notify|upload|download|search|filter|sort|export|import)\b/)) {
218
+ candidates.push({
219
+ text: sentence,
220
+ type: "behavior",
221
+ confidence: 0.8,
222
+ });
223
+ continue;
224
+ }
225
+ // Constraint: limits and boundaries
226
+ if (lower.match(/\b(maximum|minimum|at least|at most|no more than|within|limit|timeout|latency|response time|must not|cannot|never)\b/)) {
227
+ candidates.push({
228
+ text: sentence,
229
+ type: "constraint",
230
+ confidence: 0.85,
231
+ });
232
+ continue;
233
+ }
234
+ // Error handling
235
+ if (lower.match(/\b(error|fail|invalid|unauthorized|forbidden|timeout|retry|fallback|rollback|recover|exception|crash)\b/)) {
236
+ candidates.push({
237
+ text: sentence,
238
+ type: "error_handling",
239
+ confidence: 0.85,
240
+ });
241
+ continue;
242
+ }
243
+ // Lower confidence: any sentence with a verb that looks like a requirement
244
+ if (lower.match(/\b(the|a|an)\s+\w+\s+(should|will|can|must)\b/) ||
245
+ sentence.match(/^[-*]\s+/) ||
246
+ sentence.match(/^\d+[.)]\s+/)) {
247
+ candidates.push({
248
+ text: sentence.replace(/^[-*\d.)]+\s*/, ""),
249
+ type: "functional",
250
+ confidence: 0.6,
251
+ });
252
+ }
253
+ }
254
+ // Deduplicate similar candidates
255
+ return deduplicateCandidates(candidates);
256
+ }
257
+ export function deduplicateCandidates(candidates) {
258
+ const unique = [];
259
+ for (const candidate of candidates) {
260
+ const isDuplicate = unique.some(u => {
261
+ const overlap = calculateOverlap(u.text.toLowerCase(), candidate.text.toLowerCase());
262
+ return overlap > 0.7;
263
+ });
264
+ if (!isDuplicate) {
265
+ unique.push(candidate);
266
+ }
267
+ }
268
+ return unique;
269
+ }
270
+ function calculateOverlap(a, b) {
271
+ const wordsA = new Set(a.split(/\s+/));
272
+ const wordsB = new Set(b.split(/\s+/));
273
+ let intersection = 0;
274
+ for (const word of wordsA) {
275
+ if (wordsB.has(word))
276
+ intersection++;
277
+ }
278
+ return intersection / Math.max(wordsA.size, wordsB.size);
279
+ }
280
+ export function convertToEars(candidate) {
281
+ const text = candidate.text.replace(/^[-*\d.)]+\s*/, "").trim();
282
+ const lower = text.toLowerCase();
283
+ // Already EARS-compliant?
284
+ if (lower.match(/^(when|while|where|if|the system shall)\b/i)) {
285
+ return text.endsWith(".") ? text : text + ".";
286
+ }
287
+ // Error handling → unwanted (If pattern)
288
+ if (candidate.type === "error_handling" || lower.match(/\b(error|fail|invalid|unauthorized|timeout)\b/)) {
289
+ const condition = extractCondition(text, ["error", "fail", "invalid", "unauthorized", "timeout", "crash"]);
290
+ const action = extractAction(text);
291
+ return `If ${condition}, then the system shall ${action}.`;
292
+ }
293
+ // Event-driven: when something happens
294
+ if (lower.match(/\b(when|after|upon|once|trigger|receives?|submits?|clicks?|requests?)\b/)) {
295
+ const trigger = extractTrigger(text);
296
+ const action = extractAction(text);
297
+ return `When ${trigger}, the system shall ${action}.`;
298
+ }
299
+ // State-driven: while in a state
300
+ if (lower.match(/\b(while|during|as long as|in .+ mode|is (logged|connected|active|running))\b/)) {
301
+ const state = extractState(text);
302
+ const action = extractAction(text);
303
+ return `While ${state}, the system shall ${action}.`;
304
+ }
305
+ // Optional: configuration/feature flag
306
+ if (lower.match(/\b(optional|configur|if enabled|where|feature flag|setting)\b/)) {
307
+ const feature = extractFeature(text);
308
+ const action = extractAction(text);
309
+ return `Where ${feature} is enabled, the system shall ${action}.`;
310
+ }
311
+ // Default to ubiquitous
312
+ const action = extractAction(text);
313
+ return `The system shall ${action}.`;
314
+ }
315
+ function extractCondition(text, keywords) {
316
+ const lower = text.toLowerCase();
317
+ for (const keyword of keywords) {
318
+ const idx = lower.indexOf(keyword);
319
+ if (idx !== -1) {
320
+ // Take context around the keyword
321
+ const start = Math.max(0, idx - 30);
322
+ const end = Math.min(text.length, idx + keyword.length + 40);
323
+ const context = text.slice(start, end).trim();
324
+ return context.length > 5 ? `${context} occurs` : `an ${keyword} occurs`;
325
+ }
326
+ }
327
+ return "an unexpected condition occurs";
328
+ }
329
+ function extractTrigger(text) {
330
+ const lower = text.toLowerCase();
331
+ const triggerWords = ["when", "after", "upon", "once"];
332
+ for (const word of triggerWords) {
333
+ const idx = lower.indexOf(word);
334
+ if (idx !== -1) {
335
+ const after = text.slice(idx + word.length).trim();
336
+ const commaIdx = after.indexOf(",");
337
+ if (commaIdx > 0)
338
+ return after.slice(0, commaIdx).trim();
339
+ const verbIdx = after.search(/\b(the system|it|shall|should|must|will)\b/i);
340
+ if (verbIdx > 0)
341
+ return after.slice(0, verbIdx).trim();
342
+ return after.slice(0, 80).trim();
343
+ }
344
+ }
345
+ return "the user performs an action";
346
+ }
347
+ function extractState(text) {
348
+ const lower = text.toLowerCase();
349
+ const stateWords = ["while", "during", "as long as"];
350
+ for (const word of stateWords) {
351
+ const idx = lower.indexOf(word);
352
+ if (idx !== -1) {
353
+ const after = text.slice(idx + word.length).trim();
354
+ const commaIdx = after.indexOf(",");
355
+ if (commaIdx > 0)
356
+ return after.slice(0, commaIdx).trim();
357
+ return after.slice(0, 60).trim();
358
+ }
359
+ }
360
+ return "the system is in the specified state";
361
+ }
362
+ function extractFeature(text) {
363
+ const lower = text.toLowerCase();
364
+ if (lower.includes("optional"))
365
+ return "the optional feature";
366
+ if (lower.includes("configur"))
367
+ return "the configuration option";
368
+ return "the feature";
369
+ }
370
+ function extractAction(text) {
371
+ let action = text.trim();
372
+ // Remove common prefixes
373
+ const prefixes = [
374
+ /^(the\s+)?(system|server|tool|app|application|api|service)\s+(should|must|will|needs?\s+to|has\s+to|shall|can)\s+/i,
375
+ /^(it|this)\s+(should|must|will|shall|can)\s+/i,
376
+ /^(users?\s+)?(should|must|will|can)\s+(be able to\s+)?/i,
377
+ /^(make|ensure|do|create|implement|add|build|enable|allow|support|provide)\s+/i,
378
+ ];
379
+ for (const prefix of prefixes) {
380
+ action = action.replace(prefix, "");
381
+ }
382
+ // Remove trailing punctuation and clean up
383
+ action = action.replace(/[.!;,]+$/, "").trim();
384
+ // Ensure it starts with a verb
385
+ if (action.length > 0 && !action.match(/^[a-z]/)) {
386
+ action = action.charAt(0).toLowerCase() + action.slice(1);
387
+ }
388
+ return action || "perform the specified action";
389
+ }
390
+ export function generateAcceptanceCriteria(candidate, earsText) {
391
+ const criteria = [];
392
+ const lower = candidate.text.toLowerCase();
393
+ // Always add a basic criterion
394
+ criteria.push(`Given a valid request, when the feature is invoked, then ${extractAction(candidate.text)} successfully`);
395
+ // Add type-specific criteria
396
+ if (candidate.type === "error_handling") {
397
+ criteria.push("Given an invalid input, the system returns a descriptive error message");
398
+ criteria.push("Given a failure condition, no data is corrupted or lost");
399
+ }
400
+ if (lower.match(/\b(authent|authoriz|login|permission|role|access)\b/)) {
401
+ criteria.push("Given an unauthenticated user, access is denied with HTTP 401");
402
+ criteria.push("Given an unauthorized user, access is denied with HTTP 403");
403
+ }
404
+ if (lower.match(/\b(store|save|persist|database|create|write)\b/)) {
405
+ criteria.push("Given valid data, the record is persisted and retrievable");
406
+ }
407
+ if (lower.match(/\b(search|filter|query|list|find)\b/)) {
408
+ criteria.push("Given matching criteria, relevant results are returned");
409
+ criteria.push("Given no matching criteria, an empty result set is returned");
410
+ }
411
+ if (lower.match(/\b(notif|email|alert|message|send)\b/)) {
412
+ criteria.push("Given a triggering event, the notification is sent to the correct recipient");
413
+ }
414
+ if (lower.match(/\b(upload|download|import|export|file)\b/)) {
415
+ criteria.push("Given a valid file, the operation completes without data loss");
416
+ criteria.push("Given an invalid file format, a descriptive error is returned");
417
+ }
418
+ return criteria;
419
+ }
420
+ export function generateClarifications(description, requirements) {
421
+ const questions = [];
422
+ const lower = description.toLowerCase();
423
+ let qNum = 1;
424
+ // Check for missing domains
425
+ if (!lower.match(/\b(authent|login|permission|role|security)\b/)) {
426
+ questions.push({
427
+ id: `CQ-${String(qNum++).padStart(3, "0")}`,
428
+ question: "No authentication or authorization requirements were detected. Does this feature require user authentication?",
429
+ context: "Security requirements are often implicit. Clarifying early prevents rework.",
430
+ });
431
+ }
432
+ if (!lower.match(/\b(error|fail|invalid|exception|timeout|retry)\b/)) {
433
+ questions.push({
434
+ id: `CQ-${String(qNum++).padStart(3, "0")}`,
435
+ question: "No error handling scenarios were detected. What should happen when the operation fails?",
436
+ context: "Error paths are the most common source of bugs. Define them early.",
437
+ });
438
+ }
439
+ if (!lower.match(/\b(perform|latency|throughput|concurrent|scale|load|response time)\b/)) {
440
+ questions.push({
441
+ id: `CQ-${String(qNum++).padStart(3, "0")}`,
442
+ question: "No performance requirements were detected. Are there response time or throughput constraints?",
443
+ context: "Performance requirements drive architecture decisions.",
444
+ });
445
+ }
446
+ // Check for invalid EARS requirements
447
+ for (const req of requirements) {
448
+ if (!req.valid && req.issues && qNum <= 5) {
449
+ questions.push({
450
+ id: `CQ-${String(qNum++).padStart(3, "0")}`,
451
+ question: `Requirement ${req.id} has validation issues: ${req.issues.join("; ")}. Can you clarify this requirement?`,
452
+ context: req.text.slice(0, 100),
453
+ });
454
+ }
455
+ }
456
+ return questions.slice(0, 5);
457
+ }
458
+ export function inferNonFunctionalRequirements(description) {
459
+ const nfrs = [];
460
+ const lower = description.toLowerCase();
461
+ // Performance
462
+ if (lower.match(/\b(api|endpoint|request|response|web|server)\b/)) {
463
+ nfrs.push({
464
+ text: "respond to API requests within 500ms at the 95th percentile under normal load",
465
+ criterion: "95% of API requests complete within 500ms under standard load conditions",
466
+ });
467
+ }
468
+ // Logging
469
+ if (lower.match(/\b(create|update|delete|modify|change|write|save)\b/)) {
470
+ nfrs.push({
471
+ text: "log all state-changing operations with timestamp, actor, and action details",
472
+ criterion: "Given any state-changing operation, an audit log entry is created with timestamp, actor ID, and action details",
473
+ });
474
+ }
475
+ // Input validation
476
+ nfrs.push({
477
+ text: "validate all external inputs before processing",
478
+ criterion: "Given malformed or malicious input, the system rejects it with a descriptive error and does not process it",
479
+ });
480
+ return nfrs;
481
+ }
482
+ export function countPatterns(requirements) {
483
+ const counts = {};
484
+ for (const req of requirements) {
485
+ counts[req.ears_pattern] = (counts[req.ears_pattern] || 0) + 1;
486
+ }
487
+ return counts;
488
+ }
489
+ //# sourceMappingURL=turnkey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turnkey.js","sourceRoot":"","sources":["../../src/tools/turnkey.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -485,6 +485,17 @@ export interface EducativeOutput {
485
485
  diagram?: string;
486
486
  recommended_servers?: RecommendedServer[];
487
487
  }
488
+ /** Checkpoint snapshot of spec artifacts */
489
+ export interface Checkpoint {
490
+ id: string;
491
+ label: string;
492
+ created_at: string;
493
+ phase: string;
494
+ phases: Record<string, PhaseStatus>;
495
+ gate_decision: GateDecision | null;
496
+ artifacts: string[];
497
+ artifact_contents: Record<string, string>;
498
+ }
488
499
  /** Re-export for convenience */
489
500
  export type { EarsPatternName, TemplateName, WorkItemPlatform, DiagramType, ComplianceFramework, ChecklistDomain, DocumentFormat, IacProvider, CloudProvider };
490
501
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,KAAK,IAAI,SAAS,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,KAAK,mBAAmB,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEtP,0DAA0D;AAC1D,MAAM,MAAM,KAAK,GAAG,SAAS,CAAC;AAE9B,wCAAwC;AACxC,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,CAAC;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,yCAAyC;AACzC,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,SAAS,GAAG,gBAAgB,GAAG,OAAO,CAAC;IACjD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,mCAAmC;AACnC,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,uDAAuD;AACvD,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,SAAS,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACvC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,aAAa,EAAE,YAAY,GAAG,IAAI,CAAC;CACpC;AAED,4CAA4C;AAC5C,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,gCAAgC;AAChC,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,eAAe,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,oCAAoC;AACpC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED,kCAAkC;AAClC,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,gCAAgC;AAChC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,EAAE,SAAS,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,yCAAyC;AACzC,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,SAAS,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qDAAqD;AACrD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,eAAe,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,sDAAsD;AACtD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED,kCAAkC;AAClC,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,eAAe,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qCAAqC;AACrC,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;CAC9C;AAED,wBAAwB;AACxB,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,yCAAyC;AACzC,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,sDAAsD;AACtD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,sCAAsC;AACtC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,8CAA8C;AAC9C,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAID,kDAAkD;AAClD,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,yCAAyC;AACzC,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAID,wEAAwE;AACxE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,oBAAoB,EAAE,mBAAmB,CAAC;CAC3C;AAED,mCAAmC;AACnC,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,2CAA2C;AAC3C,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,iEAAiE;AACjE,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,kCAAkC;AAClC,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,4CAA4C;AAC5C,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,YAAY,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,gCAAgC;AAChC,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;CAC5D;AAID,oDAAoD;AACpD,MAAM,WAAW,mBAAmB;IAClC,qBAAqB,EAAE,cAAc,EAAE,CAAC;IACxC,sBAAsB,EAAE,cAAc,EAAE,CAAC;IACzC,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,mDAAmD;AACnD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,YAAY,GAAG,SAAS,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC;CAChB;AAID,6BAA6B;AAC7B,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,+BAA+B;AAC/B,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,4CAA4C;AAC5C,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC;CAC1C;AAID,8BAA8B;AAC9B,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,mBAAmB,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,cAAc,EAAE,WAAW,GAAG,eAAe,GAAG,SAAS,CAAC;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,oCAAoC;AACpC,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAID,4BAA4B;AAC5B,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,sDAAsD;AACtD,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;CACzB;AAID,mCAAmC;AACnC,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACpC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,qCAAqC;AACrC,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAID,4BAA4B;AAC5B,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,0BAA0B;AAC1B,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,8BAA8B;AAC9B,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,4BAA4B;AAC5B,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,aAAa,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,oBAAoB,EAAE,mBAAmB,CAAC;IAC1C,WAAW,EAAE,MAAM,CAAC;CACrB;AAID,mCAAmC;AACnC,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,QAAQ,GAAG,YAAY,GAAG,cAAc,CAAC;IAC/C,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,oBAAoB,CAAC,EAAE,mBAAmB,CAAC;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,gCAAgC;AAChC,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,oBAAoB,EAAE,mBAAmB,CAAC;CAC3C;AAED,0BAA0B;AAC1B,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAID,6CAA6C;AAC7C,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,uCAAuC;AACvC,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,uCAAuC;AACvC,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAID,+BAA+B;AAC/B,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,+BAA+B;AAC/B,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,gCAAgC;AAChC,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,0CAA0C;AAC1C,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,YAAY,CAAC;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAID,kEAAkE;AAClE,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,WAAW,GAAG,aAAa,GAAG,UAAU,CAAC;IACjD,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,6BAA6B;AAC7B,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,iBAAiB,EAAE,CAAC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,iEAAiE;AACjE,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC3C;AAED,gCAAgC;AAChC,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specky-sdd",
3
- "version": "2.2.3",
3
+ "version": "2.3.1",
4
4
  "description": "Specky — The open-source MCP server for Spec-Driven Development (SDD). Transforms natural language into production-grade specifications with EARS notation, architecture design, and quality gates.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -17,11 +17,14 @@
17
17
  "test:watch": "vitest",
18
18
  "test:coverage": "vitest run --coverage"
19
19
  },
20
+ "icon": "media/specky-icon-256.png",
20
21
  "files": [
21
22
  "dist/",
22
23
  "templates/",
23
24
  "references/",
24
25
  "hooks/",
26
+ "media/specky-icon-256.png",
27
+ "media/specky-icon-128.png",
25
28
  "README.md",
26
29
  "CHANGELOG.md",
27
30
  "SECURITY.md",