@exodus/xqa 6.0.0 → 7.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -73,16 +73,26 @@ export type SuiteId = string & {
73
73
  readonly __brand: "SuiteId";
74
74
  };
75
75
  export interface SpecStep {
76
+ readonly index: number;
76
77
  readonly intent: string;
77
78
  readonly outcome?: string;
78
79
  readonly hint?: string;
80
+ readonly isOptional: boolean;
79
81
  }
82
+ export type SpecStatus = "draft" | "active" | "deprecated";
80
83
  export interface Spec {
84
+ readonly id: SpecId;
81
85
  readonly feature: string;
86
+ readonly owner?: string;
87
+ readonly status: SpecStatus;
88
+ readonly tags: readonly string[];
89
+ readonly requires: readonly string[];
90
+ readonly links: readonly string[];
91
+ readonly scenarioId?: string;
92
+ readonly timeoutSeconds?: number;
82
93
  readonly setup: string;
83
94
  readonly steps: readonly SpecStep[];
84
- readonly assertions?: readonly string[];
85
- readonly timeoutMs?: number;
95
+ readonly assertions: readonly string[];
86
96
  }
87
97
  export interface CatalogSpec {
88
98
  readonly id: SpecId;
@@ -118,14 +128,21 @@ export interface Catalog {
118
128
  getSpecs(): ResultAsync<readonly CatalogSpec[], CatalogError>;
119
129
  getSuites(): ResultAsync<readonly CatalogSuite[], CatalogError>;
120
130
  }
121
- export interface SharedSpecError {
122
- readonly type: "STORED_SPEC_PARSE_FAILED";
123
- readonly reason: string;
124
- readonly cause?: unknown;
125
- }
131
+ export type SpecParseError = {
132
+ type: "MALFORMED_FRONTMATTER";
133
+ cause: unknown;
134
+ } | {
135
+ type: "MISSING_SETUP_SECTION";
136
+ suggestedHeading?: string;
137
+ } | {
138
+ type: "MISSING_STEPS_SECTION";
139
+ suggestedHeading?: string;
140
+ } | {
141
+ type: "EMPTY_STEPS_SECTION";
142
+ };
126
143
  export declare function parseSpecShared(raw: string): Result<{
127
144
  readonly spec: Spec;
128
145
  readonly frontmatter: Record<string, unknown>;
129
- }, SharedSpecError>;
146
+ }, SpecParseError>;
130
147
 
131
148
  export {};