@cisco_open/linting-orchestrator 1.0.0-rc.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.
- package/LICENSE +201 -0
- package/NOTICE +5 -0
- package/README.md +43 -0
- package/build/cli/api-client.d.ts +170 -0
- package/build/cli/api-client.d.ts.map +1 -0
- package/build/cli/api-client.js +284 -0
- package/build/cli/api-client.js.map +1 -0
- package/build/cli/commands/agents.d.ts +7 -0
- package/build/cli/commands/agents.d.ts.map +1 -0
- package/build/cli/commands/agents.js +694 -0
- package/build/cli/commands/agents.js.map +1 -0
- package/build/cli/commands/completion.d.ts +9 -0
- package/build/cli/commands/completion.d.ts.map +1 -0
- package/build/cli/commands/completion.js +177 -0
- package/build/cli/commands/completion.js.map +1 -0
- package/build/cli/commands/config.d.ts +10 -0
- package/build/cli/commands/config.d.ts.map +1 -0
- package/build/cli/commands/config.js +284 -0
- package/build/cli/commands/config.js.map +1 -0
- package/build/cli/commands/health.d.ts +11 -0
- package/build/cli/commands/health.d.ts.map +1 -0
- package/build/cli/commands/health.js +38 -0
- package/build/cli/commands/health.js.map +1 -0
- package/build/cli/commands/help.d.ts +6 -0
- package/build/cli/commands/help.d.ts.map +1 -0
- package/build/cli/commands/help.js +20 -0
- package/build/cli/commands/help.js.map +1 -0
- package/build/cli/commands/history.d.ts +11 -0
- package/build/cli/commands/history.d.ts.map +1 -0
- package/build/cli/commands/history.js +50 -0
- package/build/cli/commands/history.js.map +1 -0
- package/build/cli/commands/jobs.d.ts +12 -0
- package/build/cli/commands/jobs.d.ts.map +1 -0
- package/build/cli/commands/jobs.js +84 -0
- package/build/cli/commands/jobs.js.map +1 -0
- package/build/cli/commands/lint.d.ts +15 -0
- package/build/cli/commands/lint.d.ts.map +1 -0
- package/build/cli/commands/lint.js +384 -0
- package/build/cli/commands/lint.js.map +1 -0
- package/build/cli/commands/ps.d.ts +8 -0
- package/build/cli/commands/ps.d.ts.map +1 -0
- package/build/cli/commands/ps.js +74 -0
- package/build/cli/commands/ps.js.map +1 -0
- package/build/cli/commands/reproduce.d.ts +9 -0
- package/build/cli/commands/reproduce.d.ts.map +1 -0
- package/build/cli/commands/reproduce.js +31 -0
- package/build/cli/commands/reproduce.js.map +1 -0
- package/build/cli/commands/reset.d.ts +5 -0
- package/build/cli/commands/reset.d.ts.map +1 -0
- package/build/cli/commands/reset.js +13 -0
- package/build/cli/commands/reset.js.map +1 -0
- package/build/cli/commands/results.d.ts +13 -0
- package/build/cli/commands/results.d.ts.map +1 -0
- package/build/cli/commands/results.js +129 -0
- package/build/cli/commands/results.js.map +1 -0
- package/build/cli/commands/rulesets/check.d.ts +12 -0
- package/build/cli/commands/rulesets/check.d.ts.map +1 -0
- package/build/cli/commands/rulesets/check.js +226 -0
- package/build/cli/commands/rulesets/check.js.map +1 -0
- package/build/cli/commands/rulesets/index.d.ts +5 -0
- package/build/cli/commands/rulesets/index.d.ts.map +1 -0
- package/build/cli/commands/rulesets/index.js +6 -0
- package/build/cli/commands/rulesets/index.js.map +1 -0
- package/build/cli/commands/rulesets/view.d.ts +16 -0
- package/build/cli/commands/rulesets/view.d.ts.map +1 -0
- package/build/cli/commands/rulesets/view.js +100 -0
- package/build/cli/commands/rulesets/view.js.map +1 -0
- package/build/cli/commands/start.d.ts +16 -0
- package/build/cli/commands/start.d.ts.map +1 -0
- package/build/cli/commands/start.js +167 -0
- package/build/cli/commands/start.js.map +1 -0
- package/build/cli/commands/status.d.ts +9 -0
- package/build/cli/commands/status.d.ts.map +1 -0
- package/build/cli/commands/status.js +46 -0
- package/build/cli/commands/status.js.map +1 -0
- package/build/cli/commands/stop.d.ts +11 -0
- package/build/cli/commands/stop.d.ts.map +1 -0
- package/build/cli/commands/stop.js +78 -0
- package/build/cli/commands/stop.js.map +1 -0
- package/build/cli/config-manager.d.ts +134 -0
- package/build/cli/config-manager.d.ts.map +1 -0
- package/build/cli/config-manager.js +288 -0
- package/build/cli/config-manager.js.map +1 -0
- package/build/cli/formatters.d.ts +62 -0
- package/build/cli/formatters.d.ts.map +1 -0
- package/build/cli/formatters.js +715 -0
- package/build/cli/formatters.js.map +1 -0
- package/build/cli/history-manager.d.ts +97 -0
- package/build/cli/history-manager.d.ts.map +1 -0
- package/build/cli/history-manager.js +201 -0
- package/build/cli/history-manager.js.map +1 -0
- package/build/cli/index.d.ts +16 -0
- package/build/cli/index.d.ts.map +1 -0
- package/build/cli/index.js +335 -0
- package/build/cli/index.js.map +1 -0
- package/build/cli/list-rulesets.d.ts +15 -0
- package/build/cli/list-rulesets.d.ts.map +1 -0
- package/build/cli/list-rulesets.js +193 -0
- package/build/cli/list-rulesets.js.map +1 -0
- package/build/cli/utils/connection-error.d.ts +9 -0
- package/build/cli/utils/connection-error.d.ts.map +1 -0
- package/build/cli/utils/connection-error.js +30 -0
- package/build/cli/utils/connection-error.js.map +1 -0
- package/build/cli/utils/embedded-server.d.ts +21 -0
- package/build/cli/utils/embedded-server.d.ts.map +1 -0
- package/build/cli/utils/embedded-server.js +61 -0
- package/build/cli/utils/embedded-server.js.map +1 -0
- package/build/cli/utils/mode-validator.d.ts +13 -0
- package/build/cli/utils/mode-validator.d.ts.map +1 -0
- package/build/cli/utils/mode-validator.js +31 -0
- package/build/cli/utils/mode-validator.js.map +1 -0
- package/build/cli/utils/port-checker.d.ts +20 -0
- package/build/cli/utils/port-checker.d.ts.map +1 -0
- package/build/cli/utils/port-checker.js +49 -0
- package/build/cli/utils/port-checker.js.map +1 -0
- package/build/config.d.ts +57 -0
- package/build/config.d.ts.map +1 -0
- package/build/config.js +527 -0
- package/build/config.js.map +1 -0
- package/build/document-accessor.d.ts +79 -0
- package/build/document-accessor.d.ts.map +1 -0
- package/build/document-accessor.js +148 -0
- package/build/document-accessor.js.map +1 -0
- package/build/formatters/reproduce-markdown.d.ts +14 -0
- package/build/formatters/reproduce-markdown.d.ts.map +1 -0
- package/build/formatters/reproduce-markdown.js +182 -0
- package/build/formatters/reproduce-markdown.js.map +1 -0
- package/build/formatters/sarif-builder.d.ts +86 -0
- package/build/formatters/sarif-builder.d.ts.map +1 -0
- package/build/formatters/sarif-builder.js +276 -0
- package/build/formatters/sarif-builder.js.map +1 -0
- package/build/index.d.ts +3 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +174 -0
- package/build/index.js.map +1 -0
- package/build/logger.d.ts +38 -0
- package/build/logger.d.ts.map +1 -0
- package/build/logger.js +105 -0
- package/build/logger.js.map +1 -0
- package/build/mock-server.d.ts +2 -0
- package/build/mock-server.d.ts.map +1 -0
- package/build/mock-server.js +290 -0
- package/build/mock-server.js.map +1 -0
- package/build/orchestrator.d.ts +149 -0
- package/build/orchestrator.d.ts.map +1 -0
- package/build/orchestrator.js +874 -0
- package/build/orchestrator.js.map +1 -0
- package/build/ruleset-loader.d.ts +79 -0
- package/build/ruleset-loader.d.ts.map +1 -0
- package/build/ruleset-loader.js +514 -0
- package/build/ruleset-loader.js.map +1 -0
- package/build/schemas.d.ts +2568 -0
- package/build/schemas.d.ts.map +1 -0
- package/build/schemas.js +674 -0
- package/build/schemas.js.map +1 -0
- package/build/server.d.ts +39 -0
- package/build/server.d.ts.map +1 -0
- package/build/server.js +834 -0
- package/build/server.js.map +1 -0
- package/build/storage/memory-storage.d.ts +190 -0
- package/build/storage/memory-storage.d.ts.map +1 -0
- package/build/storage/memory-storage.js +629 -0
- package/build/storage/memory-storage.js.map +1 -0
- package/build/storage/redis-storage.d.ts +134 -0
- package/build/storage/redis-storage.d.ts.map +1 -0
- package/build/storage/redis-storage.js +236 -0
- package/build/storage/redis-storage.js.map +1 -0
- package/build/storage/storage-adapter.d.ts +189 -0
- package/build/storage/storage-adapter.d.ts.map +1 -0
- package/build/storage/storage-adapter.js +36 -0
- package/build/storage/storage-adapter.js.map +1 -0
- package/build/types.d.ts +981 -0
- package/build/types.d.ts.map +1 -0
- package/build/types.js +5 -0
- package/build/types.js.map +1 -0
- package/build/utils/version.d.ts +40 -0
- package/build/utils/version.d.ts.map +1 -0
- package/build/utils/version.js +94 -0
- package/build/utils/version.js.map +1 -0
- package/build/validation.d.ts +95 -0
- package/build/validation.d.ts.map +1 -0
- package/build/validation.js +150 -0
- package/build/validation.js.map +1 -0
- package/build/worker-pool.d.ts +137 -0
- package/build/worker-pool.d.ts.map +1 -0
- package/build/worker-pool.js +549 -0
- package/build/worker-pool.js.map +1 -0
- package/build/worker.d.ts +2 -0
- package/build/worker.d.ts.map +1 -0
- package/build/worker.js +427 -0
- package/build/worker.js.map +1 -0
- package/package.json +110 -0
- package/rulesets/CHANGELOG.md +25 -0
- package/rulesets/config/rulesets.yaml +96 -0
- package/rulesets/sources/README.md +47 -0
- package/rulesets/sources/example/oas-recommended/v1.0.0/ruleset.yaml +6 -0
- package/rulesets/sources/example/oas-recommended/v2.0.0/ruleset.yaml +14 -0
|
@@ -0,0 +1,2568 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAPI/JSON Schema definitions for all orchestrator API responses.
|
|
3
|
+
*
|
|
4
|
+
* These schemas are consumed by @fastify/swagger to auto-generate the
|
|
5
|
+
* OpenAPI 3.0 specification from running code. They also double as
|
|
6
|
+
* Fastify response-validation schemas at runtime (opt-in).
|
|
7
|
+
*
|
|
8
|
+
* Naming convention: Schema* → reusable $ref building-blocks
|
|
9
|
+
* *Schema → full route-level response/request schemas
|
|
10
|
+
*
|
|
11
|
+
* @module schemas
|
|
12
|
+
*/
|
|
13
|
+
export declare const ErrorResponseSchema: {
|
|
14
|
+
readonly $id: "ErrorResponse";
|
|
15
|
+
readonly type: "object";
|
|
16
|
+
readonly description: "Standard error response returned by all endpoints on failure";
|
|
17
|
+
readonly required: readonly ["error", "timestamp"];
|
|
18
|
+
readonly properties: {
|
|
19
|
+
readonly error: {
|
|
20
|
+
readonly type: "string";
|
|
21
|
+
readonly description: "Error category (e.g., Not Found, Validation Error, Internal Server Error)";
|
|
22
|
+
readonly example: "Not Found";
|
|
23
|
+
};
|
|
24
|
+
readonly message: {
|
|
25
|
+
readonly type: "string";
|
|
26
|
+
readonly description: "Human-readable error message with context";
|
|
27
|
+
readonly example: "Document not found: abc-123";
|
|
28
|
+
};
|
|
29
|
+
readonly details: {
|
|
30
|
+
readonly type: "object";
|
|
31
|
+
readonly description: "Additional error details such as validation errors or field-level issues";
|
|
32
|
+
readonly additionalProperties: true;
|
|
33
|
+
};
|
|
34
|
+
readonly timestamp: {
|
|
35
|
+
readonly type: "string";
|
|
36
|
+
readonly format: "date-time";
|
|
37
|
+
readonly description: "ISO 8601 timestamp when the error occurred";
|
|
38
|
+
readonly example: "2026-03-05T12:00:00.000Z";
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
export declare const JobStatusSchema: {
|
|
43
|
+
readonly $id: "JobStatus";
|
|
44
|
+
readonly type: "string";
|
|
45
|
+
readonly description: "Lifecycle status of a lint job";
|
|
46
|
+
readonly enum: readonly ["queued", "running", "completed", "completed_with_errors", "failed", "timeout", "cancelled"];
|
|
47
|
+
readonly example: "completed";
|
|
48
|
+
};
|
|
49
|
+
export declare const JobProgressSchema: {
|
|
50
|
+
readonly $id: "JobProgress";
|
|
51
|
+
readonly type: "object";
|
|
52
|
+
readonly description: "Task-level progress breakdown for a lint job";
|
|
53
|
+
readonly properties: {
|
|
54
|
+
readonly totalTasks: {
|
|
55
|
+
readonly type: "integer";
|
|
56
|
+
readonly description: "Total number of tasks in the job";
|
|
57
|
+
readonly example: 1;
|
|
58
|
+
};
|
|
59
|
+
readonly completedTasks: {
|
|
60
|
+
readonly type: "integer";
|
|
61
|
+
readonly description: "Number of tasks that completed successfully";
|
|
62
|
+
readonly example: 1;
|
|
63
|
+
};
|
|
64
|
+
readonly failedTasks: {
|
|
65
|
+
readonly type: "integer";
|
|
66
|
+
readonly description: "Number of tasks that failed with errors";
|
|
67
|
+
readonly example: 0;
|
|
68
|
+
};
|
|
69
|
+
readonly timeoutTasks: {
|
|
70
|
+
readonly type: "integer";
|
|
71
|
+
readonly description: "Number of tasks that exceeded the execution timeout";
|
|
72
|
+
readonly example: 0;
|
|
73
|
+
};
|
|
74
|
+
readonly runningTasks: {
|
|
75
|
+
readonly type: "integer";
|
|
76
|
+
readonly description: "Number of tasks currently being executed";
|
|
77
|
+
readonly example: 0;
|
|
78
|
+
};
|
|
79
|
+
readonly queuedTasks: {
|
|
80
|
+
readonly type: "integer";
|
|
81
|
+
readonly description: "Number of tasks waiting in the queue";
|
|
82
|
+
readonly example: 0;
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
export declare const SourcePositionSchema: {
|
|
87
|
+
readonly $id: "SourcePosition";
|
|
88
|
+
readonly type: "object";
|
|
89
|
+
readonly description: "A position in a text document identified by line and character offset";
|
|
90
|
+
readonly properties: {
|
|
91
|
+
readonly line: {
|
|
92
|
+
readonly type: "integer";
|
|
93
|
+
readonly description: "Zero-based line number in the source document";
|
|
94
|
+
readonly example: 62;
|
|
95
|
+
};
|
|
96
|
+
readonly character: {
|
|
97
|
+
readonly type: "integer";
|
|
98
|
+
readonly description: "Zero-based character offset within the line";
|
|
99
|
+
readonly example: 20;
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
export declare const SourceRangeSchema: {
|
|
104
|
+
readonly $id: "SourceRange";
|
|
105
|
+
readonly type: "object";
|
|
106
|
+
readonly description: "Source location range within the document (line and character positions)";
|
|
107
|
+
readonly properties: {
|
|
108
|
+
readonly start: {
|
|
109
|
+
readonly $ref: "SourcePosition#";
|
|
110
|
+
};
|
|
111
|
+
readonly end: {
|
|
112
|
+
readonly $ref: "SourcePosition#";
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
export declare const LintIssueSchema: {
|
|
117
|
+
readonly $id: "LintIssue";
|
|
118
|
+
readonly type: "object";
|
|
119
|
+
readonly description: "A single lint issue found in the document";
|
|
120
|
+
readonly properties: {
|
|
121
|
+
readonly ruleId: {
|
|
122
|
+
readonly type: "string";
|
|
123
|
+
readonly description: "Unique identifier of the rule that triggered this issue";
|
|
124
|
+
readonly example: "error-status-code";
|
|
125
|
+
};
|
|
126
|
+
readonly code: {
|
|
127
|
+
readonly type: "string";
|
|
128
|
+
readonly description: "Machine-readable issue code from the ruleset";
|
|
129
|
+
readonly example: "error-status-code";
|
|
130
|
+
};
|
|
131
|
+
readonly message: {
|
|
132
|
+
readonly type: "string";
|
|
133
|
+
readonly description: "Human-readable description of the issue";
|
|
134
|
+
readonly example: "responses should include at least one error status code (4xx or 5xx)";
|
|
135
|
+
};
|
|
136
|
+
readonly severity: {
|
|
137
|
+
readonly type: "integer";
|
|
138
|
+
readonly enum: readonly [0, 1, 2, 3];
|
|
139
|
+
readonly description: "Severity level: 0=error, 1=warn, 2=info, 3=hint";
|
|
140
|
+
readonly example: 1;
|
|
141
|
+
};
|
|
142
|
+
readonly path: {
|
|
143
|
+
readonly type: "array";
|
|
144
|
+
readonly description: "JSONPath segments to the location of the issue in the document";
|
|
145
|
+
readonly items: {
|
|
146
|
+
readonly oneOf: readonly [{
|
|
147
|
+
readonly type: "string";
|
|
148
|
+
}, {
|
|
149
|
+
readonly type: "integer";
|
|
150
|
+
}];
|
|
151
|
+
};
|
|
152
|
+
readonly example: readonly ["paths", "/health", "get", "responses"];
|
|
153
|
+
};
|
|
154
|
+
readonly range: {
|
|
155
|
+
readonly $ref: "SourceRange#";
|
|
156
|
+
};
|
|
157
|
+
readonly suggestions: {
|
|
158
|
+
readonly type: "array";
|
|
159
|
+
readonly description: "Suggested fixes or improvements for the issue";
|
|
160
|
+
readonly items: {
|
|
161
|
+
readonly type: "string";
|
|
162
|
+
};
|
|
163
|
+
readonly example: readonly ["Add a 4xx or 5xx response to this operation"];
|
|
164
|
+
};
|
|
165
|
+
};
|
|
166
|
+
};
|
|
167
|
+
export declare const ResultSummarySchema: {
|
|
168
|
+
readonly $id: "ResultSummary";
|
|
169
|
+
readonly type: "object";
|
|
170
|
+
readonly description: "Aggregated issue counts by severity level";
|
|
171
|
+
readonly properties: {
|
|
172
|
+
readonly totalIssues: {
|
|
173
|
+
readonly type: "integer";
|
|
174
|
+
readonly description: "Total number of issues found across all severity levels";
|
|
175
|
+
readonly example: 13;
|
|
176
|
+
};
|
|
177
|
+
readonly errorCount: {
|
|
178
|
+
readonly type: "integer";
|
|
179
|
+
readonly description: "Number of issues with error severity (must fix)";
|
|
180
|
+
readonly example: 5;
|
|
181
|
+
};
|
|
182
|
+
readonly warningCount: {
|
|
183
|
+
readonly type: "integer";
|
|
184
|
+
readonly description: "Number of issues with warning severity (should fix)";
|
|
185
|
+
readonly example: 8;
|
|
186
|
+
};
|
|
187
|
+
readonly infoCount: {
|
|
188
|
+
readonly type: "integer";
|
|
189
|
+
readonly description: "Number of informational issues";
|
|
190
|
+
readonly example: 0;
|
|
191
|
+
};
|
|
192
|
+
readonly hintCount: {
|
|
193
|
+
readonly type: "integer";
|
|
194
|
+
readonly description: "Number of hint-level suggestions";
|
|
195
|
+
readonly example: 0;
|
|
196
|
+
};
|
|
197
|
+
};
|
|
198
|
+
};
|
|
199
|
+
export declare const RulesetExecutionResultSchema: {
|
|
200
|
+
readonly $id: "RulesetExecutionResult";
|
|
201
|
+
readonly type: "object";
|
|
202
|
+
readonly description: "Execution details for a single ruleset run against a document";
|
|
203
|
+
readonly properties: {
|
|
204
|
+
readonly rulesetName: {
|
|
205
|
+
readonly type: "string";
|
|
206
|
+
readonly description: "Name of the executed ruleset";
|
|
207
|
+
readonly example: "pubhub";
|
|
208
|
+
};
|
|
209
|
+
readonly rulesetVersion: {
|
|
210
|
+
readonly type: "string";
|
|
211
|
+
readonly description: "Version of the executed ruleset";
|
|
212
|
+
readonly example: "1.1.0";
|
|
213
|
+
};
|
|
214
|
+
readonly executionTime: {
|
|
215
|
+
readonly type: "number";
|
|
216
|
+
readonly description: "Execution time in milliseconds for this ruleset";
|
|
217
|
+
readonly example: 277;
|
|
218
|
+
};
|
|
219
|
+
readonly success: {
|
|
220
|
+
readonly type: "boolean";
|
|
221
|
+
readonly description: "Whether the ruleset execution completed without internal errors";
|
|
222
|
+
readonly example: true;
|
|
223
|
+
};
|
|
224
|
+
readonly error: {
|
|
225
|
+
readonly type: "string";
|
|
226
|
+
readonly description: "Error message if the ruleset execution failed internally";
|
|
227
|
+
readonly example: "";
|
|
228
|
+
};
|
|
229
|
+
readonly issueCount: {
|
|
230
|
+
readonly type: "integer";
|
|
231
|
+
readonly description: "Total number of issues found by this ruleset";
|
|
232
|
+
readonly example: 0;
|
|
233
|
+
};
|
|
234
|
+
readonly issues: {
|
|
235
|
+
readonly type: "array";
|
|
236
|
+
readonly description: "List of issues found by this ruleset";
|
|
237
|
+
readonly items: {
|
|
238
|
+
readonly $ref: "LintIssue#";
|
|
239
|
+
};
|
|
240
|
+
};
|
|
241
|
+
readonly metadata: {
|
|
242
|
+
readonly type: "object";
|
|
243
|
+
readonly description: "Execution metadata for this ruleset run";
|
|
244
|
+
readonly properties: {
|
|
245
|
+
readonly ruleEngine: {
|
|
246
|
+
readonly type: "string";
|
|
247
|
+
readonly description: "Name of the rule engine that executed the ruleset";
|
|
248
|
+
readonly example: "spectral";
|
|
249
|
+
};
|
|
250
|
+
readonly documentId: {
|
|
251
|
+
readonly type: "string";
|
|
252
|
+
readonly description: "Identifier of the linted document";
|
|
253
|
+
readonly example: "41c1d4aa-5825-4313-8ae5-737490707b5b";
|
|
254
|
+
};
|
|
255
|
+
readonly cacheHit: {
|
|
256
|
+
readonly type: "boolean";
|
|
257
|
+
readonly description: "Whether the result was served from cache";
|
|
258
|
+
readonly example: false;
|
|
259
|
+
};
|
|
260
|
+
};
|
|
261
|
+
};
|
|
262
|
+
};
|
|
263
|
+
};
|
|
264
|
+
export declare const RuleInfoSchema: {
|
|
265
|
+
readonly $id: "RuleInfo";
|
|
266
|
+
readonly type: "object";
|
|
267
|
+
readonly description: "Metadata for a single lint rule within a ruleset";
|
|
268
|
+
readonly properties: {
|
|
269
|
+
readonly name: {
|
|
270
|
+
readonly type: "string";
|
|
271
|
+
readonly description: "Unique rule identifier within the ruleset";
|
|
272
|
+
readonly example: "operationId-required-and-unique";
|
|
273
|
+
};
|
|
274
|
+
readonly severity: {
|
|
275
|
+
readonly type: "string";
|
|
276
|
+
readonly enum: readonly ["error", "warn", "info", "hint"];
|
|
277
|
+
readonly description: "Default severity level of the rule";
|
|
278
|
+
readonly example: "error";
|
|
279
|
+
};
|
|
280
|
+
readonly message: {
|
|
281
|
+
readonly type: "string";
|
|
282
|
+
readonly description: "Message template shown when the rule is triggered";
|
|
283
|
+
readonly example: "Every operation must have a unique operationId";
|
|
284
|
+
};
|
|
285
|
+
readonly description: {
|
|
286
|
+
readonly type: "string";
|
|
287
|
+
readonly description: "Detailed explanation of what the rule checks and why";
|
|
288
|
+
readonly example: "Ensures every operation has a unique operationId for code generation";
|
|
289
|
+
};
|
|
290
|
+
readonly recommended: {
|
|
291
|
+
readonly type: "boolean";
|
|
292
|
+
readonly description: "Whether this rule is recommended to be enabled";
|
|
293
|
+
readonly example: true;
|
|
294
|
+
};
|
|
295
|
+
};
|
|
296
|
+
};
|
|
297
|
+
export declare const DocumentSummarySchema: {
|
|
298
|
+
readonly $id: "DocumentSummary";
|
|
299
|
+
readonly type: "object";
|
|
300
|
+
readonly description: "Summary metadata for an uploaded document";
|
|
301
|
+
readonly properties: {
|
|
302
|
+
readonly documentId: {
|
|
303
|
+
readonly type: "string";
|
|
304
|
+
readonly description: "Unique document identifier";
|
|
305
|
+
readonly example: "41c1d4aa-5825-4313-8ae5-737490707b5b";
|
|
306
|
+
};
|
|
307
|
+
readonly title: {
|
|
308
|
+
readonly type: "string";
|
|
309
|
+
readonly description: "Title from the document info section";
|
|
310
|
+
readonly example: "My API";
|
|
311
|
+
};
|
|
312
|
+
readonly version: {
|
|
313
|
+
readonly type: "string";
|
|
314
|
+
readonly description: "API version from the document";
|
|
315
|
+
readonly example: "1.0.0";
|
|
316
|
+
};
|
|
317
|
+
readonly format: {
|
|
318
|
+
readonly type: "string";
|
|
319
|
+
readonly description: "Document format (json or yaml)";
|
|
320
|
+
readonly example: "json";
|
|
321
|
+
};
|
|
322
|
+
readonly uploadedAt: {
|
|
323
|
+
readonly type: "string";
|
|
324
|
+
readonly format: "date-time";
|
|
325
|
+
readonly description: "ISO 8601 timestamp when the document was uploaded";
|
|
326
|
+
readonly example: "2026-03-05T12:00:00.000Z";
|
|
327
|
+
};
|
|
328
|
+
};
|
|
329
|
+
};
|
|
330
|
+
export declare const RuleOverridesSchema: {
|
|
331
|
+
readonly $id: "RuleOverrides";
|
|
332
|
+
readonly type: "object";
|
|
333
|
+
readonly description: "Map of rule IDs to override severity. Use \"off\" to exclude a rule, or a severity level to change it.";
|
|
334
|
+
readonly additionalProperties: {
|
|
335
|
+
readonly type: "string";
|
|
336
|
+
readonly enum: readonly ["off", "error", "warn", "info", "hint"];
|
|
337
|
+
};
|
|
338
|
+
readonly example: {
|
|
339
|
+
readonly 'operationId-required': "off";
|
|
340
|
+
readonly 'error-status-code': "warn";
|
|
341
|
+
};
|
|
342
|
+
};
|
|
343
|
+
export declare const HealthResponseSchema: {
|
|
344
|
+
readonly $id: "HealthResponse";
|
|
345
|
+
readonly type: "object";
|
|
346
|
+
readonly description: "Server health status including uptime, configuration, and runtime statistics";
|
|
347
|
+
readonly properties: {
|
|
348
|
+
readonly status: {
|
|
349
|
+
readonly type: "string";
|
|
350
|
+
readonly enum: readonly ["ok"];
|
|
351
|
+
readonly description: "Server health status indicator";
|
|
352
|
+
readonly example: "ok";
|
|
353
|
+
};
|
|
354
|
+
readonly version: {
|
|
355
|
+
readonly type: "string";
|
|
356
|
+
readonly description: "Orchestrator server version (semver)";
|
|
357
|
+
readonly example: "0.11.0";
|
|
358
|
+
};
|
|
359
|
+
readonly timestamp: {
|
|
360
|
+
readonly type: "string";
|
|
361
|
+
readonly format: "date-time";
|
|
362
|
+
readonly description: "Current server time in ISO 8601 format";
|
|
363
|
+
readonly example: "2026-03-05T12:00:00.000Z";
|
|
364
|
+
};
|
|
365
|
+
readonly uptime: {
|
|
366
|
+
readonly type: "integer";
|
|
367
|
+
readonly description: "Server uptime in seconds since last start";
|
|
368
|
+
readonly example: 3600;
|
|
369
|
+
};
|
|
370
|
+
readonly mode: {
|
|
371
|
+
readonly type: "string";
|
|
372
|
+
readonly enum: readonly ["standalone", "embedded", "companion", "mcp"];
|
|
373
|
+
readonly description: "Current deployment mode of the server";
|
|
374
|
+
readonly example: "standalone";
|
|
375
|
+
};
|
|
376
|
+
readonly server: {
|
|
377
|
+
readonly type: "object";
|
|
378
|
+
readonly description: "HTTP server configuration details";
|
|
379
|
+
readonly properties: {
|
|
380
|
+
readonly port: {
|
|
381
|
+
readonly type: "integer";
|
|
382
|
+
readonly description: "Port the server is listening on";
|
|
383
|
+
readonly example: 3003;
|
|
384
|
+
};
|
|
385
|
+
readonly host: {
|
|
386
|
+
readonly type: "string";
|
|
387
|
+
readonly description: "Host address the server is bound to";
|
|
388
|
+
readonly example: "0.0.0.0";
|
|
389
|
+
};
|
|
390
|
+
readonly startedAt: {
|
|
391
|
+
readonly type: "string";
|
|
392
|
+
readonly format: "date-time";
|
|
393
|
+
readonly description: "ISO 8601 timestamp when the server started";
|
|
394
|
+
readonly example: "2026-03-05T11:00:00.000Z";
|
|
395
|
+
};
|
|
396
|
+
};
|
|
397
|
+
};
|
|
398
|
+
readonly documentStore: {
|
|
399
|
+
readonly type: "object";
|
|
400
|
+
readonly description: "Document storage backend configuration";
|
|
401
|
+
readonly properties: {
|
|
402
|
+
readonly type: {
|
|
403
|
+
readonly type: "string";
|
|
404
|
+
readonly enum: readonly ["local", "passthrough"];
|
|
405
|
+
readonly description: "Type of document store in use";
|
|
406
|
+
readonly example: "local";
|
|
407
|
+
};
|
|
408
|
+
readonly baseDir: {
|
|
409
|
+
readonly type: "string";
|
|
410
|
+
readonly description: "Relative base directory for document storage";
|
|
411
|
+
readonly example: "./uploads";
|
|
412
|
+
};
|
|
413
|
+
readonly fullPath: {
|
|
414
|
+
readonly type: "string";
|
|
415
|
+
readonly description: "Absolute resolved path to the document storage directory";
|
|
416
|
+
readonly example: "/home/user/spectify/uploads";
|
|
417
|
+
};
|
|
418
|
+
};
|
|
419
|
+
};
|
|
420
|
+
readonly stats: {
|
|
421
|
+
readonly type: "object";
|
|
422
|
+
readonly description: "Orchestrator runtime statistics snapshot (active jobs, worker counts, etc.)";
|
|
423
|
+
readonly additionalProperties: true;
|
|
424
|
+
readonly example: {
|
|
425
|
+
readonly activeJobs: 0;
|
|
426
|
+
readonly totalJobsProcessed: 42;
|
|
427
|
+
};
|
|
428
|
+
};
|
|
429
|
+
readonly runtime: {
|
|
430
|
+
readonly type: "object";
|
|
431
|
+
readonly description: "Runtime environment information (Node.js version, Spectral library versions, active resolver).";
|
|
432
|
+
readonly properties: {
|
|
433
|
+
readonly nodeVersion: {
|
|
434
|
+
readonly type: "string";
|
|
435
|
+
readonly description: "Node.js runtime version";
|
|
436
|
+
readonly example: "v22.18.0";
|
|
437
|
+
};
|
|
438
|
+
readonly spectralCore: {
|
|
439
|
+
readonly type: "string";
|
|
440
|
+
readonly description: "Installed @stoplight/spectral-core version";
|
|
441
|
+
readonly example: "1.19.0";
|
|
442
|
+
};
|
|
443
|
+
readonly spectralRulesets: {
|
|
444
|
+
readonly type: "string";
|
|
445
|
+
readonly description: "Installed @stoplight/spectral-rulesets version";
|
|
446
|
+
readonly example: "1.22.0";
|
|
447
|
+
};
|
|
448
|
+
readonly spectralCli: {
|
|
449
|
+
readonly type: "string";
|
|
450
|
+
readonly description: "Installed @stoplight/spectral-cli version";
|
|
451
|
+
readonly example: "6.16.0";
|
|
452
|
+
};
|
|
453
|
+
readonly resolver: {
|
|
454
|
+
readonly type: readonly ["string", "null"];
|
|
455
|
+
readonly description: "Active custom $ref resolver name, or null when using Spectral default resolver";
|
|
456
|
+
readonly example: "ignore-external-refs";
|
|
457
|
+
};
|
|
458
|
+
};
|
|
459
|
+
};
|
|
460
|
+
readonly reportService: {
|
|
461
|
+
readonly type: "object";
|
|
462
|
+
readonly description: "Report Service connection status. Only present when configured.";
|
|
463
|
+
readonly additionalProperties: true;
|
|
464
|
+
readonly example: {
|
|
465
|
+
readonly connected: true;
|
|
466
|
+
readonly url: "http://localhost:3010";
|
|
467
|
+
};
|
|
468
|
+
};
|
|
469
|
+
};
|
|
470
|
+
};
|
|
471
|
+
export declare const DocumentUploadResponseSchema: {
|
|
472
|
+
readonly $id: "DocumentUploadResponse";
|
|
473
|
+
readonly type: "object";
|
|
474
|
+
readonly description: "Response after successfully uploading a document";
|
|
475
|
+
readonly properties: {
|
|
476
|
+
readonly documentId: {
|
|
477
|
+
readonly type: "string";
|
|
478
|
+
readonly description: "Unique identifier assigned to the uploaded document";
|
|
479
|
+
readonly example: "41c1d4aa-5825-4313-8ae5-737490707b5b";
|
|
480
|
+
};
|
|
481
|
+
readonly version: {
|
|
482
|
+
readonly type: "string";
|
|
483
|
+
readonly description: "Version identifier of the stored document";
|
|
484
|
+
readonly example: "1";
|
|
485
|
+
};
|
|
486
|
+
readonly message: {
|
|
487
|
+
readonly type: "string";
|
|
488
|
+
readonly description: "Human-readable confirmation message";
|
|
489
|
+
readonly example: "Document uploaded successfully";
|
|
490
|
+
};
|
|
491
|
+
};
|
|
492
|
+
};
|
|
493
|
+
export declare const DocumentUploadRequestSchema: {
|
|
494
|
+
readonly $id: "DocumentUploadRequest";
|
|
495
|
+
readonly type: "object";
|
|
496
|
+
readonly description: "Request body for uploading a document";
|
|
497
|
+
readonly required: readonly ["content"];
|
|
498
|
+
readonly properties: {
|
|
499
|
+
readonly content: {
|
|
500
|
+
readonly type: "string";
|
|
501
|
+
readonly description: "Raw document content as a JSON or YAML string";
|
|
502
|
+
readonly example: "{\"openapi\":\"3.0.0\",\"info\":{\"title\":\"My API\",\"version\":\"1.0\"},\"paths\":{}}";
|
|
503
|
+
};
|
|
504
|
+
readonly format: {
|
|
505
|
+
readonly type: "string";
|
|
506
|
+
readonly enum: readonly ["json", "yaml"];
|
|
507
|
+
readonly default: "json";
|
|
508
|
+
readonly description: "Format of the document content being uploaded";
|
|
509
|
+
readonly example: "json";
|
|
510
|
+
};
|
|
511
|
+
readonly metadata: {
|
|
512
|
+
readonly type: "object";
|
|
513
|
+
readonly description: "Optional metadata to associate with the uploaded document";
|
|
514
|
+
readonly additionalProperties: true;
|
|
515
|
+
readonly example: {
|
|
516
|
+
readonly team: "platform";
|
|
517
|
+
readonly tags: readonly ["internal"];
|
|
518
|
+
};
|
|
519
|
+
};
|
|
520
|
+
};
|
|
521
|
+
};
|
|
522
|
+
export declare const DocumentListResponseSchema: {
|
|
523
|
+
readonly $id: "DocumentListResponse";
|
|
524
|
+
readonly type: "object";
|
|
525
|
+
readonly description: "Paginated list of uploaded documents with metadata";
|
|
526
|
+
readonly properties: {
|
|
527
|
+
readonly documents: {
|
|
528
|
+
readonly type: "array";
|
|
529
|
+
readonly description: "Array of document summary objects";
|
|
530
|
+
readonly items: {
|
|
531
|
+
readonly $ref: "DocumentSummary#";
|
|
532
|
+
};
|
|
533
|
+
};
|
|
534
|
+
readonly total: {
|
|
535
|
+
readonly type: "integer";
|
|
536
|
+
readonly description: "Total number of documents matching the query";
|
|
537
|
+
readonly example: 42;
|
|
538
|
+
};
|
|
539
|
+
readonly limit: {
|
|
540
|
+
readonly type: "integer";
|
|
541
|
+
readonly description: "Maximum number of results returned in this page";
|
|
542
|
+
readonly example: 50;
|
|
543
|
+
};
|
|
544
|
+
readonly offset: {
|
|
545
|
+
readonly type: "integer";
|
|
546
|
+
readonly description: "Number of results skipped for pagination";
|
|
547
|
+
readonly example: 0;
|
|
548
|
+
};
|
|
549
|
+
};
|
|
550
|
+
};
|
|
551
|
+
export declare const DocumentResponseSchema: {
|
|
552
|
+
readonly $id: "DocumentResponse";
|
|
553
|
+
readonly type: "object";
|
|
554
|
+
readonly description: "Full document object including content and metadata";
|
|
555
|
+
readonly properties: {
|
|
556
|
+
readonly documentId: {
|
|
557
|
+
readonly type: "string";
|
|
558
|
+
readonly description: "Unique document identifier";
|
|
559
|
+
readonly example: "41c1d4aa-5825-4313-8ae5-737490707b5b";
|
|
560
|
+
};
|
|
561
|
+
readonly content: {
|
|
562
|
+
readonly type: "string";
|
|
563
|
+
readonly description: "Raw document content as stored";
|
|
564
|
+
readonly example: "{\"openapi\":\"3.0.0\",\"info\":{\"title\":\"My API\",\"version\":\"1.0\"},\"paths\":{}}";
|
|
565
|
+
};
|
|
566
|
+
readonly format: {
|
|
567
|
+
readonly type: "string";
|
|
568
|
+
readonly description: "Document format (json or yaml)";
|
|
569
|
+
readonly example: "json";
|
|
570
|
+
};
|
|
571
|
+
readonly metadata: {
|
|
572
|
+
readonly type: "object";
|
|
573
|
+
readonly description: "User-supplied metadata associated with the document";
|
|
574
|
+
readonly additionalProperties: true;
|
|
575
|
+
readonly example: {
|
|
576
|
+
readonly team: "platform";
|
|
577
|
+
};
|
|
578
|
+
};
|
|
579
|
+
readonly uploadedAt: {
|
|
580
|
+
readonly type: "string";
|
|
581
|
+
readonly format: "date-time";
|
|
582
|
+
readonly description: "ISO 8601 timestamp when the document was uploaded";
|
|
583
|
+
readonly example: "2026-03-05T12:00:00.000Z";
|
|
584
|
+
};
|
|
585
|
+
};
|
|
586
|
+
};
|
|
587
|
+
export declare const LintJobSubmitResponseSchema: {
|
|
588
|
+
readonly $id: "LintJobSubmitResponse";
|
|
589
|
+
readonly type: "object";
|
|
590
|
+
readonly description: "Response returned when a lint job is successfully queued";
|
|
591
|
+
readonly properties: {
|
|
592
|
+
readonly jobId: {
|
|
593
|
+
readonly type: "string";
|
|
594
|
+
readonly format: "uuid";
|
|
595
|
+
readonly description: "Unique job identifier for tracking progress and retrieving results";
|
|
596
|
+
readonly example: "94c9db52-92fc-4733-806a-fe6d206109aa";
|
|
597
|
+
};
|
|
598
|
+
readonly status: {
|
|
599
|
+
readonly type: "string";
|
|
600
|
+
readonly enum: readonly ["queued"];
|
|
601
|
+
readonly description: "Initial status of the newly created job";
|
|
602
|
+
readonly example: "queued";
|
|
603
|
+
};
|
|
604
|
+
readonly message: {
|
|
605
|
+
readonly type: "string";
|
|
606
|
+
readonly description: "Human-readable confirmation message";
|
|
607
|
+
readonly example: "Job submitted successfully";
|
|
608
|
+
};
|
|
609
|
+
};
|
|
610
|
+
};
|
|
611
|
+
export declare const CapacityExceededResponseSchema: {
|
|
612
|
+
readonly $id: "CapacityExceededResponse";
|
|
613
|
+
readonly type: "object";
|
|
614
|
+
readonly description: "Response returned when the server cannot accept new jobs due to capacity limits";
|
|
615
|
+
readonly properties: {
|
|
616
|
+
readonly error: {
|
|
617
|
+
readonly type: "string";
|
|
618
|
+
readonly description: "Error type identifier";
|
|
619
|
+
readonly example: "Too Many Requests";
|
|
620
|
+
};
|
|
621
|
+
readonly message: {
|
|
622
|
+
readonly type: "string";
|
|
623
|
+
readonly description: "Human-readable explanation of the capacity limit";
|
|
624
|
+
readonly example: "Server at capacity with 50 active jobs (max 50)";
|
|
625
|
+
};
|
|
626
|
+
readonly activeJobs: {
|
|
627
|
+
readonly type: "integer";
|
|
628
|
+
readonly description: "Number of currently active (queued or running) jobs";
|
|
629
|
+
readonly example: 50;
|
|
630
|
+
};
|
|
631
|
+
readonly maxJobs: {
|
|
632
|
+
readonly type: "integer";
|
|
633
|
+
readonly description: "Maximum number of concurrent jobs the server allows";
|
|
634
|
+
readonly example: 50;
|
|
635
|
+
};
|
|
636
|
+
readonly retryAfter: {
|
|
637
|
+
readonly type: "integer";
|
|
638
|
+
readonly description: "Suggested number of seconds to wait before retrying";
|
|
639
|
+
readonly example: 5;
|
|
640
|
+
};
|
|
641
|
+
};
|
|
642
|
+
};
|
|
643
|
+
export declare const LintJobStatusSchema: {
|
|
644
|
+
readonly $id: "LintJobStatus";
|
|
645
|
+
readonly type: "object";
|
|
646
|
+
readonly description: "Current status and progress of a lint job";
|
|
647
|
+
readonly properties: {
|
|
648
|
+
readonly jobId: {
|
|
649
|
+
readonly type: "string";
|
|
650
|
+
readonly format: "uuid";
|
|
651
|
+
readonly description: "Unique job identifier";
|
|
652
|
+
readonly example: "94c9db52-92fc-4733-806a-fe6d206109aa";
|
|
653
|
+
};
|
|
654
|
+
readonly documentId: {
|
|
655
|
+
readonly type: "string";
|
|
656
|
+
readonly description: "Identifier of the document being linted";
|
|
657
|
+
readonly example: "41c1d4aa-5825-4313-8ae5-737490707b5b";
|
|
658
|
+
};
|
|
659
|
+
readonly rulesetName: {
|
|
660
|
+
readonly type: "string";
|
|
661
|
+
readonly description: "Name of the ruleset used for linting";
|
|
662
|
+
readonly example: "pubhub";
|
|
663
|
+
};
|
|
664
|
+
readonly rulesetVersion: {
|
|
665
|
+
readonly type: "string";
|
|
666
|
+
readonly description: "Version of the ruleset used for linting";
|
|
667
|
+
readonly example: "1.1.0";
|
|
668
|
+
};
|
|
669
|
+
readonly ruleOverrides: {
|
|
670
|
+
readonly $ref: "RuleOverrides#";
|
|
671
|
+
};
|
|
672
|
+
readonly status: {
|
|
673
|
+
readonly $ref: "JobStatus#";
|
|
674
|
+
};
|
|
675
|
+
readonly progress: {
|
|
676
|
+
readonly $ref: "JobProgress#";
|
|
677
|
+
};
|
|
678
|
+
readonly startTime: {
|
|
679
|
+
readonly type: "string";
|
|
680
|
+
readonly format: "date-time";
|
|
681
|
+
readonly description: "ISO 8601 timestamp when the job started processing";
|
|
682
|
+
readonly example: "2026-03-05T12:00:00.000Z";
|
|
683
|
+
};
|
|
684
|
+
readonly endTime: {
|
|
685
|
+
readonly type: "string";
|
|
686
|
+
readonly format: "date-time";
|
|
687
|
+
readonly description: "ISO 8601 timestamp when the job finished";
|
|
688
|
+
readonly example: "2026-03-05T12:00:01.000Z";
|
|
689
|
+
};
|
|
690
|
+
};
|
|
691
|
+
};
|
|
692
|
+
export declare const LintJobResultSchema: {
|
|
693
|
+
readonly $id: "LintJobResult";
|
|
694
|
+
readonly type: "object";
|
|
695
|
+
readonly description: "Complete results of a finished lint job including all issues and execution metadata";
|
|
696
|
+
readonly properties: {
|
|
697
|
+
readonly jobId: {
|
|
698
|
+
readonly type: "string";
|
|
699
|
+
readonly format: "uuid";
|
|
700
|
+
readonly description: "Unique job identifier";
|
|
701
|
+
readonly example: "94c9db52-92fc-4733-806a-fe6d206109aa";
|
|
702
|
+
};
|
|
703
|
+
readonly documentId: {
|
|
704
|
+
readonly type: "string";
|
|
705
|
+
readonly description: "Identifier of the document that was linted";
|
|
706
|
+
readonly example: "41c1d4aa-5825-4313-8ae5-737490707b5b";
|
|
707
|
+
};
|
|
708
|
+
readonly rulesetName: {
|
|
709
|
+
readonly type: "string";
|
|
710
|
+
readonly description: "Name of the ruleset used for linting";
|
|
711
|
+
readonly example: "pubhub";
|
|
712
|
+
};
|
|
713
|
+
readonly rulesetVersion: {
|
|
714
|
+
readonly type: "string";
|
|
715
|
+
readonly description: "Version of the ruleset used for linting";
|
|
716
|
+
readonly example: "1.1.0";
|
|
717
|
+
};
|
|
718
|
+
readonly ruleOverrides: {
|
|
719
|
+
readonly $ref: "RuleOverrides#";
|
|
720
|
+
};
|
|
721
|
+
readonly status: {
|
|
722
|
+
readonly $ref: "JobStatus#";
|
|
723
|
+
};
|
|
724
|
+
readonly timestamp: {
|
|
725
|
+
readonly type: "string";
|
|
726
|
+
readonly format: "date-time";
|
|
727
|
+
readonly description: "ISO 8601 timestamp when the job completed";
|
|
728
|
+
readonly example: "2026-03-05T12:00:01.000Z";
|
|
729
|
+
};
|
|
730
|
+
readonly totalExecutionTime: {
|
|
731
|
+
readonly type: "number";
|
|
732
|
+
readonly description: "Total execution time of the job in milliseconds";
|
|
733
|
+
readonly example: 321;
|
|
734
|
+
};
|
|
735
|
+
readonly summary: {
|
|
736
|
+
readonly $ref: "ResultSummary#";
|
|
737
|
+
};
|
|
738
|
+
readonly results: {
|
|
739
|
+
readonly type: "array";
|
|
740
|
+
readonly description: "List of all lint issues found in the document";
|
|
741
|
+
readonly items: {
|
|
742
|
+
readonly $ref: "LintIssue#";
|
|
743
|
+
};
|
|
744
|
+
};
|
|
745
|
+
readonly executionDetails: {
|
|
746
|
+
readonly $ref: "RulesetExecutionResult#";
|
|
747
|
+
};
|
|
748
|
+
};
|
|
749
|
+
};
|
|
750
|
+
export declare const ReportGenerationRequestSchema: {
|
|
751
|
+
readonly $id: "ReportGenerationRequest";
|
|
752
|
+
readonly type: "object";
|
|
753
|
+
readonly description: "Request body to generate a report from a completed lint job";
|
|
754
|
+
readonly required: readonly ["format"];
|
|
755
|
+
readonly properties: {
|
|
756
|
+
readonly format: {
|
|
757
|
+
readonly type: "string";
|
|
758
|
+
readonly enum: readonly ["sarif"];
|
|
759
|
+
readonly description: "Output format for the report. Currently only SARIF is supported.";
|
|
760
|
+
readonly example: "sarif";
|
|
761
|
+
};
|
|
762
|
+
readonly options: {
|
|
763
|
+
readonly type: "object";
|
|
764
|
+
readonly description: "Optional report generation settings";
|
|
765
|
+
readonly properties: {
|
|
766
|
+
readonly includeSnippets: {
|
|
767
|
+
readonly type: "boolean";
|
|
768
|
+
readonly description: "Include source code snippets in the report for each issue";
|
|
769
|
+
readonly example: true;
|
|
770
|
+
};
|
|
771
|
+
readonly fingerprintSchemes: {
|
|
772
|
+
readonly type: "array";
|
|
773
|
+
readonly description: "List of fingerprint scheme names to include for result deduplication";
|
|
774
|
+
readonly items: {
|
|
775
|
+
readonly type: "string";
|
|
776
|
+
};
|
|
777
|
+
readonly example: readonly ["v1"];
|
|
778
|
+
};
|
|
779
|
+
};
|
|
780
|
+
};
|
|
781
|
+
};
|
|
782
|
+
};
|
|
783
|
+
export declare const SarifReportSchema: {
|
|
784
|
+
readonly $id: "SarifReport";
|
|
785
|
+
readonly type: "object";
|
|
786
|
+
readonly description: "SARIF v2.1.0 (Static Analysis Results Interchange Format) report";
|
|
787
|
+
readonly properties: {
|
|
788
|
+
readonly version: {
|
|
789
|
+
readonly type: "string";
|
|
790
|
+
readonly description: "SARIF format version";
|
|
791
|
+
readonly example: "2.1.0";
|
|
792
|
+
};
|
|
793
|
+
readonly $schema: {
|
|
794
|
+
readonly type: "string";
|
|
795
|
+
readonly description: "SARIF JSON schema URI";
|
|
796
|
+
readonly example: "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/main/sarif-2.1/schema/sarif-schema-2.1.0.json";
|
|
797
|
+
};
|
|
798
|
+
readonly runs: {
|
|
799
|
+
readonly type: "array";
|
|
800
|
+
readonly description: "Array of analysis runs. Each lint job produces one run.";
|
|
801
|
+
readonly items: {
|
|
802
|
+
readonly type: "object";
|
|
803
|
+
readonly description: "A single SARIF analysis run containing tool info and results";
|
|
804
|
+
readonly properties: {
|
|
805
|
+
readonly tool: {
|
|
806
|
+
readonly type: "object";
|
|
807
|
+
readonly description: "Information about the analysis tool and its rules";
|
|
808
|
+
readonly properties: {
|
|
809
|
+
readonly driver: {
|
|
810
|
+
readonly type: "object";
|
|
811
|
+
readonly description: "The primary analysis tool driver";
|
|
812
|
+
readonly properties: {
|
|
813
|
+
readonly name: {
|
|
814
|
+
readonly type: "string";
|
|
815
|
+
readonly description: "Tool name";
|
|
816
|
+
readonly example: "cisco-linting-orchestrator";
|
|
817
|
+
};
|
|
818
|
+
readonly version: {
|
|
819
|
+
readonly type: "string";
|
|
820
|
+
readonly description: "Tool version";
|
|
821
|
+
readonly example: "0.11.0";
|
|
822
|
+
};
|
|
823
|
+
};
|
|
824
|
+
};
|
|
825
|
+
};
|
|
826
|
+
};
|
|
827
|
+
readonly results: {
|
|
828
|
+
readonly type: "array";
|
|
829
|
+
readonly description: "Array of analysis results (issues found)";
|
|
830
|
+
readonly items: {
|
|
831
|
+
readonly type: "object";
|
|
832
|
+
readonly description: "A single analysis result";
|
|
833
|
+
readonly properties: {
|
|
834
|
+
readonly ruleId: {
|
|
835
|
+
readonly type: "string";
|
|
836
|
+
readonly description: "Identifier of the rule that produced this result";
|
|
837
|
+
readonly example: "error-status-code";
|
|
838
|
+
};
|
|
839
|
+
readonly message: {
|
|
840
|
+
readonly type: "object";
|
|
841
|
+
readonly description: "Message describing the result";
|
|
842
|
+
readonly properties: {
|
|
843
|
+
readonly text: {
|
|
844
|
+
readonly type: "string";
|
|
845
|
+
readonly description: "Plain text message";
|
|
846
|
+
readonly example: "responses should include at least one error status code";
|
|
847
|
+
};
|
|
848
|
+
};
|
|
849
|
+
};
|
|
850
|
+
};
|
|
851
|
+
};
|
|
852
|
+
};
|
|
853
|
+
};
|
|
854
|
+
};
|
|
855
|
+
};
|
|
856
|
+
};
|
|
857
|
+
};
|
|
858
|
+
export declare const JobSummarySchema: {
|
|
859
|
+
readonly $id: "JobSummary";
|
|
860
|
+
readonly type: "object";
|
|
861
|
+
readonly description: "Lightweight summary of a lint job for list views";
|
|
862
|
+
readonly properties: {
|
|
863
|
+
readonly jobId: {
|
|
864
|
+
readonly type: "string";
|
|
865
|
+
readonly format: "uuid";
|
|
866
|
+
readonly description: "Unique job identifier";
|
|
867
|
+
readonly example: "94c9db52-92fc-4733-806a-fe6d206109aa";
|
|
868
|
+
};
|
|
869
|
+
readonly documentId: {
|
|
870
|
+
readonly type: "string";
|
|
871
|
+
readonly description: "Identifier of the linted document";
|
|
872
|
+
readonly example: "41c1d4aa-5825-4313-8ae5-737490707b5b";
|
|
873
|
+
};
|
|
874
|
+
readonly rulesetName: {
|
|
875
|
+
readonly type: "string";
|
|
876
|
+
readonly description: "Name of the ruleset used for linting";
|
|
877
|
+
readonly example: "pubhub";
|
|
878
|
+
};
|
|
879
|
+
readonly rulesetVersion: {
|
|
880
|
+
readonly type: "string";
|
|
881
|
+
readonly description: "Version of the ruleset used for linting";
|
|
882
|
+
readonly example: "1.1.0";
|
|
883
|
+
};
|
|
884
|
+
readonly status: {
|
|
885
|
+
readonly $ref: "JobStatus#";
|
|
886
|
+
};
|
|
887
|
+
readonly timestamp: {
|
|
888
|
+
readonly type: "string";
|
|
889
|
+
readonly format: "date-time";
|
|
890
|
+
readonly description: "ISO 8601 timestamp when the job completed";
|
|
891
|
+
readonly example: "2026-03-05T12:00:01.000Z";
|
|
892
|
+
};
|
|
893
|
+
readonly totalExecutionTime: {
|
|
894
|
+
readonly type: "number";
|
|
895
|
+
readonly description: "Total execution time in milliseconds";
|
|
896
|
+
readonly example: 321;
|
|
897
|
+
};
|
|
898
|
+
readonly summary: {
|
|
899
|
+
readonly $ref: "ResultSummary#";
|
|
900
|
+
};
|
|
901
|
+
};
|
|
902
|
+
};
|
|
903
|
+
export declare const JobListResponseSchema: {
|
|
904
|
+
readonly $id: "JobListResponse";
|
|
905
|
+
readonly type: "object";
|
|
906
|
+
readonly description: "Paginated list of lightweight job summaries";
|
|
907
|
+
readonly properties: {
|
|
908
|
+
readonly jobs: {
|
|
909
|
+
readonly type: "array";
|
|
910
|
+
readonly description: "Array of job summary objects";
|
|
911
|
+
readonly items: {
|
|
912
|
+
readonly $ref: "JobSummary#";
|
|
913
|
+
};
|
|
914
|
+
};
|
|
915
|
+
readonly pagination: {
|
|
916
|
+
readonly type: "object";
|
|
917
|
+
readonly description: "Pagination metadata";
|
|
918
|
+
readonly properties: {
|
|
919
|
+
readonly total: {
|
|
920
|
+
readonly type: "integer";
|
|
921
|
+
readonly description: "Total number of jobs matching the filter criteria";
|
|
922
|
+
readonly example: 10;
|
|
923
|
+
};
|
|
924
|
+
readonly limit: {
|
|
925
|
+
readonly type: "integer";
|
|
926
|
+
readonly description: "Maximum number of results returned in this page";
|
|
927
|
+
readonly example: 50;
|
|
928
|
+
};
|
|
929
|
+
readonly offset: {
|
|
930
|
+
readonly type: "integer";
|
|
931
|
+
readonly description: "Number of results skipped for pagination";
|
|
932
|
+
readonly example: 0;
|
|
933
|
+
};
|
|
934
|
+
readonly hasMore: {
|
|
935
|
+
readonly type: "boolean";
|
|
936
|
+
readonly description: "Whether more results are available beyond this page";
|
|
937
|
+
readonly example: false;
|
|
938
|
+
};
|
|
939
|
+
};
|
|
940
|
+
};
|
|
941
|
+
readonly sessionId: {
|
|
942
|
+
readonly type: "string";
|
|
943
|
+
readonly description: "Runtime session ID used to filter stale jobs from previous server instances";
|
|
944
|
+
readonly example: "a1b2c3d4-e5f6-7890-abcd-ef1234567890";
|
|
945
|
+
};
|
|
946
|
+
};
|
|
947
|
+
};
|
|
948
|
+
export declare const JobListDetailedResponseSchema: {
|
|
949
|
+
readonly $id: "JobListDetailedResponse";
|
|
950
|
+
readonly type: "object";
|
|
951
|
+
readonly description: "Paginated list of jobs with full document metadata attached";
|
|
952
|
+
readonly properties: {
|
|
953
|
+
readonly jobs: {
|
|
954
|
+
readonly type: "array";
|
|
955
|
+
readonly description: "Array of detailed job objects including document metadata";
|
|
956
|
+
readonly items: {
|
|
957
|
+
readonly type: "object";
|
|
958
|
+
readonly description: "A job summary enriched with document metadata";
|
|
959
|
+
readonly properties: {
|
|
960
|
+
readonly jobId: {
|
|
961
|
+
readonly type: "string";
|
|
962
|
+
readonly format: "uuid";
|
|
963
|
+
readonly description: "Unique job identifier";
|
|
964
|
+
readonly example: "94c9db52-92fc-4733-806a-fe6d206109aa";
|
|
965
|
+
};
|
|
966
|
+
readonly documentId: {
|
|
967
|
+
readonly type: "string";
|
|
968
|
+
readonly description: "Identifier of the linted document";
|
|
969
|
+
readonly example: "41c1d4aa-5825-4313-8ae5-737490707b5b";
|
|
970
|
+
};
|
|
971
|
+
readonly rulesetName: {
|
|
972
|
+
readonly type: "string";
|
|
973
|
+
readonly description: "Name of the ruleset used for linting";
|
|
974
|
+
readonly example: "pubhub";
|
|
975
|
+
};
|
|
976
|
+
readonly rulesetVersion: {
|
|
977
|
+
readonly type: "string";
|
|
978
|
+
readonly description: "Version of the ruleset used for linting";
|
|
979
|
+
readonly example: "1.1.0";
|
|
980
|
+
};
|
|
981
|
+
readonly status: {
|
|
982
|
+
readonly $ref: "JobStatus#";
|
|
983
|
+
};
|
|
984
|
+
readonly timestamp: {
|
|
985
|
+
readonly type: "string";
|
|
986
|
+
readonly format: "date-time";
|
|
987
|
+
readonly description: "ISO 8601 timestamp when the job completed";
|
|
988
|
+
readonly example: "2026-03-05T12:00:01.000Z";
|
|
989
|
+
};
|
|
990
|
+
readonly totalExecutionTime: {
|
|
991
|
+
readonly type: "number";
|
|
992
|
+
readonly description: "Total execution time in milliseconds";
|
|
993
|
+
readonly example: 321;
|
|
994
|
+
};
|
|
995
|
+
readonly summary: {
|
|
996
|
+
readonly $ref: "ResultSummary#";
|
|
997
|
+
};
|
|
998
|
+
readonly document: {
|
|
999
|
+
readonly type: "object";
|
|
1000
|
+
readonly description: "Document metadata from the document store";
|
|
1001
|
+
readonly properties: {
|
|
1002
|
+
readonly documentId: {
|
|
1003
|
+
readonly type: "string";
|
|
1004
|
+
readonly description: "Document identifier";
|
|
1005
|
+
};
|
|
1006
|
+
readonly name: {
|
|
1007
|
+
readonly type: "string";
|
|
1008
|
+
readonly description: "Document name or filename";
|
|
1009
|
+
readonly example: "my-api.yaml";
|
|
1010
|
+
};
|
|
1011
|
+
readonly version: {
|
|
1012
|
+
readonly type: "string";
|
|
1013
|
+
readonly description: "version from the document";
|
|
1014
|
+
readonly example: "1.0.0";
|
|
1015
|
+
};
|
|
1016
|
+
readonly organization: {
|
|
1017
|
+
readonly type: "string";
|
|
1018
|
+
readonly description: "Organization that owns the document";
|
|
1019
|
+
};
|
|
1020
|
+
readonly format: {
|
|
1021
|
+
readonly type: "string";
|
|
1022
|
+
readonly enum: readonly ["json", "yaml"];
|
|
1023
|
+
readonly description: "Document format";
|
|
1024
|
+
};
|
|
1025
|
+
readonly operationCount: {
|
|
1026
|
+
readonly type: "integer";
|
|
1027
|
+
readonly description: "Number of operations in the document";
|
|
1028
|
+
};
|
|
1029
|
+
readonly size: {
|
|
1030
|
+
readonly type: "integer";
|
|
1031
|
+
readonly description: "Document size in bytes";
|
|
1032
|
+
};
|
|
1033
|
+
};
|
|
1034
|
+
};
|
|
1035
|
+
};
|
|
1036
|
+
};
|
|
1037
|
+
};
|
|
1038
|
+
readonly pagination: {
|
|
1039
|
+
readonly type: "object";
|
|
1040
|
+
readonly description: "Pagination metadata";
|
|
1041
|
+
readonly properties: {
|
|
1042
|
+
readonly total: {
|
|
1043
|
+
readonly type: "integer";
|
|
1044
|
+
readonly description: "Total number of jobs matching the filter criteria";
|
|
1045
|
+
readonly example: 10;
|
|
1046
|
+
};
|
|
1047
|
+
readonly limit: {
|
|
1048
|
+
readonly type: "integer";
|
|
1049
|
+
readonly description: "Maximum number of results returned in this page";
|
|
1050
|
+
readonly example: 50;
|
|
1051
|
+
};
|
|
1052
|
+
readonly offset: {
|
|
1053
|
+
readonly type: "integer";
|
|
1054
|
+
readonly description: "Number of results skipped for pagination";
|
|
1055
|
+
readonly example: 0;
|
|
1056
|
+
};
|
|
1057
|
+
readonly hasMore: {
|
|
1058
|
+
readonly type: "boolean";
|
|
1059
|
+
readonly description: "Whether more results are available beyond this page";
|
|
1060
|
+
readonly example: false;
|
|
1061
|
+
};
|
|
1062
|
+
};
|
|
1063
|
+
};
|
|
1064
|
+
readonly sessionId: {
|
|
1065
|
+
readonly type: "string";
|
|
1066
|
+
readonly description: "Runtime session ID used to filter stale jobs";
|
|
1067
|
+
readonly example: "a1b2c3d4-e5f6-7890-abcd-ef1234567890";
|
|
1068
|
+
};
|
|
1069
|
+
};
|
|
1070
|
+
};
|
|
1071
|
+
export declare const CacheInvalidationResponseSchema: {
|
|
1072
|
+
readonly $id: "CacheInvalidationResponse";
|
|
1073
|
+
readonly type: "object";
|
|
1074
|
+
readonly description: "Response confirming cache invalidation for a document";
|
|
1075
|
+
readonly properties: {
|
|
1076
|
+
readonly message: {
|
|
1077
|
+
readonly type: "string";
|
|
1078
|
+
readonly description: "Human-readable confirmation message";
|
|
1079
|
+
readonly example: "Cache invalidated for document: abc-123";
|
|
1080
|
+
};
|
|
1081
|
+
};
|
|
1082
|
+
};
|
|
1083
|
+
export declare const RulesetSummarySchema: {
|
|
1084
|
+
readonly $id: "RulesetSummary";
|
|
1085
|
+
readonly type: "object";
|
|
1086
|
+
readonly description: "Summary metadata for an available ruleset";
|
|
1087
|
+
readonly properties: {
|
|
1088
|
+
readonly name: {
|
|
1089
|
+
readonly type: "string";
|
|
1090
|
+
readonly description: "Unique ruleset identifier (kebab-case)";
|
|
1091
|
+
readonly example: "pubhub";
|
|
1092
|
+
};
|
|
1093
|
+
readonly version: {
|
|
1094
|
+
readonly type: "string";
|
|
1095
|
+
readonly description: "Default version of the ruleset";
|
|
1096
|
+
readonly example: "1.1.0";
|
|
1097
|
+
};
|
|
1098
|
+
readonly defaultVersion: {
|
|
1099
|
+
readonly type: "string";
|
|
1100
|
+
readonly description: "Default version used when no version is specified";
|
|
1101
|
+
readonly example: "1.1.0";
|
|
1102
|
+
};
|
|
1103
|
+
readonly description: {
|
|
1104
|
+
readonly type: "string";
|
|
1105
|
+
readonly description: "Brief description of what the ruleset validates";
|
|
1106
|
+
readonly example: "Validates documents for PubHub publishing readiness";
|
|
1107
|
+
};
|
|
1108
|
+
readonly availableVersions: {
|
|
1109
|
+
readonly type: "array";
|
|
1110
|
+
readonly description: "List of all available version identifiers for this ruleset";
|
|
1111
|
+
readonly items: {
|
|
1112
|
+
readonly type: "string";
|
|
1113
|
+
};
|
|
1114
|
+
readonly example: readonly ["1.0.0", "1.1.0"];
|
|
1115
|
+
};
|
|
1116
|
+
readonly displayName: {
|
|
1117
|
+
readonly type: "string";
|
|
1118
|
+
readonly description: "Human-friendly display name for the ruleset";
|
|
1119
|
+
readonly example: "PubHub Publishing Readiness";
|
|
1120
|
+
};
|
|
1121
|
+
readonly category: {
|
|
1122
|
+
readonly type: "string";
|
|
1123
|
+
readonly enum: readonly ["publishing", "contract", "security", "documentation", "validation", "other"];
|
|
1124
|
+
readonly description: "Classification category of the ruleset";
|
|
1125
|
+
readonly example: "publishing";
|
|
1126
|
+
};
|
|
1127
|
+
readonly ruleCount: {
|
|
1128
|
+
readonly type: "integer";
|
|
1129
|
+
readonly description: "Number of rules in the default version of this ruleset";
|
|
1130
|
+
readonly example: 60;
|
|
1131
|
+
};
|
|
1132
|
+
readonly tags: {
|
|
1133
|
+
readonly type: "array";
|
|
1134
|
+
readonly description: "Tags for filtering or grouping rulesets";
|
|
1135
|
+
readonly items: {
|
|
1136
|
+
readonly type: "string";
|
|
1137
|
+
};
|
|
1138
|
+
readonly example: readonly ["api-insights", "documentation"];
|
|
1139
|
+
};
|
|
1140
|
+
};
|
|
1141
|
+
};
|
|
1142
|
+
export declare const RulesetDetailsSchema: {
|
|
1143
|
+
readonly $id: "RulesetDetails";
|
|
1144
|
+
readonly type: "object";
|
|
1145
|
+
readonly description: "Detailed information about a ruleset including all individual rules";
|
|
1146
|
+
readonly properties: {
|
|
1147
|
+
readonly name: {
|
|
1148
|
+
readonly type: "string";
|
|
1149
|
+
readonly description: "Unique ruleset identifier (kebab-case)";
|
|
1150
|
+
readonly example: "pubhub";
|
|
1151
|
+
};
|
|
1152
|
+
readonly displayName: {
|
|
1153
|
+
readonly type: "string";
|
|
1154
|
+
readonly description: "Human-friendly display name for the ruleset";
|
|
1155
|
+
readonly example: "PubHub Publishing Readiness";
|
|
1156
|
+
};
|
|
1157
|
+
readonly version: {
|
|
1158
|
+
readonly type: "string";
|
|
1159
|
+
readonly description: "Version of the loaded ruleset";
|
|
1160
|
+
readonly example: "1.1.0";
|
|
1161
|
+
};
|
|
1162
|
+
readonly description: {
|
|
1163
|
+
readonly type: "string";
|
|
1164
|
+
readonly description: "Brief description of what the ruleset validates";
|
|
1165
|
+
readonly example: "Validates documents for PubHub publishing readiness";
|
|
1166
|
+
};
|
|
1167
|
+
readonly category: {
|
|
1168
|
+
readonly type: "string";
|
|
1169
|
+
readonly enum: readonly ["publishing", "contract", "security", "documentation", "validation", "other"];
|
|
1170
|
+
readonly description: "Classification category";
|
|
1171
|
+
readonly example: "publishing";
|
|
1172
|
+
};
|
|
1173
|
+
readonly ruleCount: {
|
|
1174
|
+
readonly type: "integer";
|
|
1175
|
+
readonly description: "Total number of rules in this ruleset version";
|
|
1176
|
+
readonly example: 60;
|
|
1177
|
+
};
|
|
1178
|
+
readonly releaseDate: {
|
|
1179
|
+
readonly type: "string";
|
|
1180
|
+
readonly description: "Release date of this ruleset version";
|
|
1181
|
+
readonly example: "2025-11-19";
|
|
1182
|
+
};
|
|
1183
|
+
readonly deprecated: {
|
|
1184
|
+
readonly type: "boolean";
|
|
1185
|
+
readonly description: "Whether this ruleset version is deprecated";
|
|
1186
|
+
readonly example: false;
|
|
1187
|
+
};
|
|
1188
|
+
readonly tags: {
|
|
1189
|
+
readonly type: "array";
|
|
1190
|
+
readonly description: "Tags for filtering or grouping rulesets";
|
|
1191
|
+
readonly items: {
|
|
1192
|
+
readonly type: "string";
|
|
1193
|
+
};
|
|
1194
|
+
readonly example: readonly ["api-insights", "documentation"];
|
|
1195
|
+
};
|
|
1196
|
+
readonly rules: {
|
|
1197
|
+
readonly type: "array";
|
|
1198
|
+
readonly description: "List of all individual rules in this ruleset version";
|
|
1199
|
+
readonly items: {
|
|
1200
|
+
readonly $ref: "RuleInfo#";
|
|
1201
|
+
};
|
|
1202
|
+
};
|
|
1203
|
+
};
|
|
1204
|
+
};
|
|
1205
|
+
export declare const StatsResponseSchema: {
|
|
1206
|
+
readonly $id: "StatsResponse";
|
|
1207
|
+
readonly type: "object";
|
|
1208
|
+
readonly description: "Combined storage and orchestrator statistics";
|
|
1209
|
+
readonly properties: {
|
|
1210
|
+
readonly storage: {
|
|
1211
|
+
readonly type: "object";
|
|
1212
|
+
readonly description: "Statistics about the lint result storage backend";
|
|
1213
|
+
readonly properties: {
|
|
1214
|
+
readonly totalJobs: {
|
|
1215
|
+
readonly type: "integer";
|
|
1216
|
+
readonly description: "Total number of jobs stored";
|
|
1217
|
+
readonly example: 42;
|
|
1218
|
+
};
|
|
1219
|
+
readonly totalResults: {
|
|
1220
|
+
readonly type: "integer";
|
|
1221
|
+
readonly description: "Total number of lint results stored";
|
|
1222
|
+
readonly example: 42;
|
|
1223
|
+
};
|
|
1224
|
+
readonly storageSize: {
|
|
1225
|
+
readonly type: "number";
|
|
1226
|
+
readonly description: "Approximate storage size in bytes";
|
|
1227
|
+
readonly example: 102400;
|
|
1228
|
+
};
|
|
1229
|
+
};
|
|
1230
|
+
};
|
|
1231
|
+
readonly orchestrator: {
|
|
1232
|
+
readonly type: "object";
|
|
1233
|
+
readonly description: "Orchestrator runtime statistics including active jobs and worker pool state";
|
|
1234
|
+
readonly additionalProperties: true;
|
|
1235
|
+
readonly example: {
|
|
1236
|
+
readonly activeJobs: 0;
|
|
1237
|
+
readonly totalJobsProcessed: 42;
|
|
1238
|
+
readonly workerPoolSize: 4;
|
|
1239
|
+
};
|
|
1240
|
+
};
|
|
1241
|
+
readonly timestamp: {
|
|
1242
|
+
readonly type: "string";
|
|
1243
|
+
readonly format: "date-time";
|
|
1244
|
+
readonly description: "ISO 8601 timestamp when the statistics were collected";
|
|
1245
|
+
readonly example: "2026-03-05T12:00:00.000Z";
|
|
1246
|
+
};
|
|
1247
|
+
};
|
|
1248
|
+
};
|
|
1249
|
+
export declare const DocumentListQuerySchema: {
|
|
1250
|
+
readonly type: "object";
|
|
1251
|
+
readonly description: "Query parameters for listing or searching documents";
|
|
1252
|
+
readonly properties: {
|
|
1253
|
+
readonly limit: {
|
|
1254
|
+
readonly type: "integer";
|
|
1255
|
+
readonly default: 50;
|
|
1256
|
+
readonly description: "Maximum number of results to return";
|
|
1257
|
+
};
|
|
1258
|
+
readonly offset: {
|
|
1259
|
+
readonly type: "integer";
|
|
1260
|
+
readonly default: 0;
|
|
1261
|
+
readonly description: "Number of results to skip for pagination";
|
|
1262
|
+
};
|
|
1263
|
+
readonly sortBy: {
|
|
1264
|
+
readonly type: "string";
|
|
1265
|
+
readonly default: "uploadedAt";
|
|
1266
|
+
readonly description: "Field to sort by";
|
|
1267
|
+
};
|
|
1268
|
+
readonly sortOrder: {
|
|
1269
|
+
readonly type: "string";
|
|
1270
|
+
readonly enum: readonly ["asc", "desc"];
|
|
1271
|
+
readonly default: "desc";
|
|
1272
|
+
readonly description: "Sort direction";
|
|
1273
|
+
};
|
|
1274
|
+
readonly search: {
|
|
1275
|
+
readonly type: "string";
|
|
1276
|
+
readonly description: "Text search query across document metadata";
|
|
1277
|
+
};
|
|
1278
|
+
readonly organization: {
|
|
1279
|
+
readonly type: "string";
|
|
1280
|
+
readonly description: "Filter by organization";
|
|
1281
|
+
};
|
|
1282
|
+
readonly tags: {
|
|
1283
|
+
readonly type: "string";
|
|
1284
|
+
readonly description: "Comma-separated list of tags to filter by";
|
|
1285
|
+
};
|
|
1286
|
+
readonly format: {
|
|
1287
|
+
readonly type: "string";
|
|
1288
|
+
readonly description: "Filter by document format (json, yaml)";
|
|
1289
|
+
};
|
|
1290
|
+
};
|
|
1291
|
+
};
|
|
1292
|
+
export declare const JobListQuerySchema: {
|
|
1293
|
+
readonly type: "object";
|
|
1294
|
+
readonly description: "Query parameters for listing lint jobs";
|
|
1295
|
+
readonly properties: {
|
|
1296
|
+
readonly status: {
|
|
1297
|
+
readonly type: "string";
|
|
1298
|
+
readonly description: "Filter by job status. Comma-separated for multiple values.";
|
|
1299
|
+
};
|
|
1300
|
+
readonly documentId: {
|
|
1301
|
+
readonly type: "string";
|
|
1302
|
+
readonly description: "Filter by document ID";
|
|
1303
|
+
};
|
|
1304
|
+
readonly rulesetName: {
|
|
1305
|
+
readonly type: "string";
|
|
1306
|
+
readonly description: "Filter by ruleset name";
|
|
1307
|
+
};
|
|
1308
|
+
readonly startDate: {
|
|
1309
|
+
readonly type: "string";
|
|
1310
|
+
readonly format: "date-time";
|
|
1311
|
+
readonly description: "Filter jobs created after this date (ISO 8601)";
|
|
1312
|
+
};
|
|
1313
|
+
readonly endDate: {
|
|
1314
|
+
readonly type: "string";
|
|
1315
|
+
readonly format: "date-time";
|
|
1316
|
+
readonly description: "Filter jobs created before this date (ISO 8601)";
|
|
1317
|
+
};
|
|
1318
|
+
readonly limit: {
|
|
1319
|
+
readonly type: "integer";
|
|
1320
|
+
readonly default: 50;
|
|
1321
|
+
readonly description: "Maximum number of results";
|
|
1322
|
+
};
|
|
1323
|
+
readonly offset: {
|
|
1324
|
+
readonly type: "integer";
|
|
1325
|
+
readonly default: 0;
|
|
1326
|
+
readonly description: "Pagination offset";
|
|
1327
|
+
};
|
|
1328
|
+
readonly sortBy: {
|
|
1329
|
+
readonly type: "string";
|
|
1330
|
+
readonly default: "timestamp";
|
|
1331
|
+
readonly description: "Field to sort by";
|
|
1332
|
+
};
|
|
1333
|
+
readonly sortOrder: {
|
|
1334
|
+
readonly type: "string";
|
|
1335
|
+
readonly enum: readonly ["asc", "desc"];
|
|
1336
|
+
readonly default: "desc";
|
|
1337
|
+
readonly description: "Sort direction";
|
|
1338
|
+
};
|
|
1339
|
+
};
|
|
1340
|
+
};
|
|
1341
|
+
export declare const RulesetNameParamSchema: {
|
|
1342
|
+
readonly type: "object";
|
|
1343
|
+
readonly required: readonly ["name"];
|
|
1344
|
+
readonly properties: {
|
|
1345
|
+
readonly name: {
|
|
1346
|
+
readonly type: "string";
|
|
1347
|
+
readonly description: "Ruleset name (e.g., pubhub, api-insights-completeness)";
|
|
1348
|
+
};
|
|
1349
|
+
};
|
|
1350
|
+
};
|
|
1351
|
+
export declare const RulesetVersionQuerySchema: {
|
|
1352
|
+
readonly type: "object";
|
|
1353
|
+
readonly properties: {
|
|
1354
|
+
readonly version: {
|
|
1355
|
+
readonly type: "string";
|
|
1356
|
+
readonly description: "Specific version to load. Defaults to the ruleset's default version.";
|
|
1357
|
+
};
|
|
1358
|
+
};
|
|
1359
|
+
};
|
|
1360
|
+
export declare const sharedSchemas: ({
|
|
1361
|
+
readonly $id: "ErrorResponse";
|
|
1362
|
+
readonly type: "object";
|
|
1363
|
+
readonly description: "Standard error response returned by all endpoints on failure";
|
|
1364
|
+
readonly required: readonly ["error", "timestamp"];
|
|
1365
|
+
readonly properties: {
|
|
1366
|
+
readonly error: {
|
|
1367
|
+
readonly type: "string";
|
|
1368
|
+
readonly description: "Error category (e.g., Not Found, Validation Error, Internal Server Error)";
|
|
1369
|
+
readonly example: "Not Found";
|
|
1370
|
+
};
|
|
1371
|
+
readonly message: {
|
|
1372
|
+
readonly type: "string";
|
|
1373
|
+
readonly description: "Human-readable error message with context";
|
|
1374
|
+
readonly example: "Document not found: abc-123";
|
|
1375
|
+
};
|
|
1376
|
+
readonly details: {
|
|
1377
|
+
readonly type: "object";
|
|
1378
|
+
readonly description: "Additional error details such as validation errors or field-level issues";
|
|
1379
|
+
readonly additionalProperties: true;
|
|
1380
|
+
};
|
|
1381
|
+
readonly timestamp: {
|
|
1382
|
+
readonly type: "string";
|
|
1383
|
+
readonly format: "date-time";
|
|
1384
|
+
readonly description: "ISO 8601 timestamp when the error occurred";
|
|
1385
|
+
readonly example: "2026-03-05T12:00:00.000Z";
|
|
1386
|
+
};
|
|
1387
|
+
};
|
|
1388
|
+
} | {
|
|
1389
|
+
readonly $id: "JobStatus";
|
|
1390
|
+
readonly type: "string";
|
|
1391
|
+
readonly description: "Lifecycle status of a lint job";
|
|
1392
|
+
readonly enum: readonly ["queued", "running", "completed", "completed_with_errors", "failed", "timeout", "cancelled"];
|
|
1393
|
+
readonly example: "completed";
|
|
1394
|
+
} | {
|
|
1395
|
+
readonly $id: "JobProgress";
|
|
1396
|
+
readonly type: "object";
|
|
1397
|
+
readonly description: "Task-level progress breakdown for a lint job";
|
|
1398
|
+
readonly properties: {
|
|
1399
|
+
readonly totalTasks: {
|
|
1400
|
+
readonly type: "integer";
|
|
1401
|
+
readonly description: "Total number of tasks in the job";
|
|
1402
|
+
readonly example: 1;
|
|
1403
|
+
};
|
|
1404
|
+
readonly completedTasks: {
|
|
1405
|
+
readonly type: "integer";
|
|
1406
|
+
readonly description: "Number of tasks that completed successfully";
|
|
1407
|
+
readonly example: 1;
|
|
1408
|
+
};
|
|
1409
|
+
readonly failedTasks: {
|
|
1410
|
+
readonly type: "integer";
|
|
1411
|
+
readonly description: "Number of tasks that failed with errors";
|
|
1412
|
+
readonly example: 0;
|
|
1413
|
+
};
|
|
1414
|
+
readonly timeoutTasks: {
|
|
1415
|
+
readonly type: "integer";
|
|
1416
|
+
readonly description: "Number of tasks that exceeded the execution timeout";
|
|
1417
|
+
readonly example: 0;
|
|
1418
|
+
};
|
|
1419
|
+
readonly runningTasks: {
|
|
1420
|
+
readonly type: "integer";
|
|
1421
|
+
readonly description: "Number of tasks currently being executed";
|
|
1422
|
+
readonly example: 0;
|
|
1423
|
+
};
|
|
1424
|
+
readonly queuedTasks: {
|
|
1425
|
+
readonly type: "integer";
|
|
1426
|
+
readonly description: "Number of tasks waiting in the queue";
|
|
1427
|
+
readonly example: 0;
|
|
1428
|
+
};
|
|
1429
|
+
};
|
|
1430
|
+
} | {
|
|
1431
|
+
readonly $id: "SourcePosition";
|
|
1432
|
+
readonly type: "object";
|
|
1433
|
+
readonly description: "A position in a text document identified by line and character offset";
|
|
1434
|
+
readonly properties: {
|
|
1435
|
+
readonly line: {
|
|
1436
|
+
readonly type: "integer";
|
|
1437
|
+
readonly description: "Zero-based line number in the source document";
|
|
1438
|
+
readonly example: 62;
|
|
1439
|
+
};
|
|
1440
|
+
readonly character: {
|
|
1441
|
+
readonly type: "integer";
|
|
1442
|
+
readonly description: "Zero-based character offset within the line";
|
|
1443
|
+
readonly example: 20;
|
|
1444
|
+
};
|
|
1445
|
+
};
|
|
1446
|
+
} | {
|
|
1447
|
+
readonly $id: "SourceRange";
|
|
1448
|
+
readonly type: "object";
|
|
1449
|
+
readonly description: "Source location range within the document (line and character positions)";
|
|
1450
|
+
readonly properties: {
|
|
1451
|
+
readonly start: {
|
|
1452
|
+
readonly $ref: "SourcePosition#";
|
|
1453
|
+
};
|
|
1454
|
+
readonly end: {
|
|
1455
|
+
readonly $ref: "SourcePosition#";
|
|
1456
|
+
};
|
|
1457
|
+
};
|
|
1458
|
+
} | {
|
|
1459
|
+
readonly $id: "LintIssue";
|
|
1460
|
+
readonly type: "object";
|
|
1461
|
+
readonly description: "A single lint issue found in the document";
|
|
1462
|
+
readonly properties: {
|
|
1463
|
+
readonly ruleId: {
|
|
1464
|
+
readonly type: "string";
|
|
1465
|
+
readonly description: "Unique identifier of the rule that triggered this issue";
|
|
1466
|
+
readonly example: "error-status-code";
|
|
1467
|
+
};
|
|
1468
|
+
readonly code: {
|
|
1469
|
+
readonly type: "string";
|
|
1470
|
+
readonly description: "Machine-readable issue code from the ruleset";
|
|
1471
|
+
readonly example: "error-status-code";
|
|
1472
|
+
};
|
|
1473
|
+
readonly message: {
|
|
1474
|
+
readonly type: "string";
|
|
1475
|
+
readonly description: "Human-readable description of the issue";
|
|
1476
|
+
readonly example: "responses should include at least one error status code (4xx or 5xx)";
|
|
1477
|
+
};
|
|
1478
|
+
readonly severity: {
|
|
1479
|
+
readonly type: "integer";
|
|
1480
|
+
readonly enum: readonly [0, 1, 2, 3];
|
|
1481
|
+
readonly description: "Severity level: 0=error, 1=warn, 2=info, 3=hint";
|
|
1482
|
+
readonly example: 1;
|
|
1483
|
+
};
|
|
1484
|
+
readonly path: {
|
|
1485
|
+
readonly type: "array";
|
|
1486
|
+
readonly description: "JSONPath segments to the location of the issue in the document";
|
|
1487
|
+
readonly items: {
|
|
1488
|
+
readonly oneOf: readonly [{
|
|
1489
|
+
readonly type: "string";
|
|
1490
|
+
}, {
|
|
1491
|
+
readonly type: "integer";
|
|
1492
|
+
}];
|
|
1493
|
+
};
|
|
1494
|
+
readonly example: readonly ["paths", "/health", "get", "responses"];
|
|
1495
|
+
};
|
|
1496
|
+
readonly range: {
|
|
1497
|
+
readonly $ref: "SourceRange#";
|
|
1498
|
+
};
|
|
1499
|
+
readonly suggestions: {
|
|
1500
|
+
readonly type: "array";
|
|
1501
|
+
readonly description: "Suggested fixes or improvements for the issue";
|
|
1502
|
+
readonly items: {
|
|
1503
|
+
readonly type: "string";
|
|
1504
|
+
};
|
|
1505
|
+
readonly example: readonly ["Add a 4xx or 5xx response to this operation"];
|
|
1506
|
+
};
|
|
1507
|
+
};
|
|
1508
|
+
} | {
|
|
1509
|
+
readonly $id: "ResultSummary";
|
|
1510
|
+
readonly type: "object";
|
|
1511
|
+
readonly description: "Aggregated issue counts by severity level";
|
|
1512
|
+
readonly properties: {
|
|
1513
|
+
readonly totalIssues: {
|
|
1514
|
+
readonly type: "integer";
|
|
1515
|
+
readonly description: "Total number of issues found across all severity levels";
|
|
1516
|
+
readonly example: 13;
|
|
1517
|
+
};
|
|
1518
|
+
readonly errorCount: {
|
|
1519
|
+
readonly type: "integer";
|
|
1520
|
+
readonly description: "Number of issues with error severity (must fix)";
|
|
1521
|
+
readonly example: 5;
|
|
1522
|
+
};
|
|
1523
|
+
readonly warningCount: {
|
|
1524
|
+
readonly type: "integer";
|
|
1525
|
+
readonly description: "Number of issues with warning severity (should fix)";
|
|
1526
|
+
readonly example: 8;
|
|
1527
|
+
};
|
|
1528
|
+
readonly infoCount: {
|
|
1529
|
+
readonly type: "integer";
|
|
1530
|
+
readonly description: "Number of informational issues";
|
|
1531
|
+
readonly example: 0;
|
|
1532
|
+
};
|
|
1533
|
+
readonly hintCount: {
|
|
1534
|
+
readonly type: "integer";
|
|
1535
|
+
readonly description: "Number of hint-level suggestions";
|
|
1536
|
+
readonly example: 0;
|
|
1537
|
+
};
|
|
1538
|
+
};
|
|
1539
|
+
} | {
|
|
1540
|
+
readonly $id: "RulesetExecutionResult";
|
|
1541
|
+
readonly type: "object";
|
|
1542
|
+
readonly description: "Execution details for a single ruleset run against a document";
|
|
1543
|
+
readonly properties: {
|
|
1544
|
+
readonly rulesetName: {
|
|
1545
|
+
readonly type: "string";
|
|
1546
|
+
readonly description: "Name of the executed ruleset";
|
|
1547
|
+
readonly example: "pubhub";
|
|
1548
|
+
};
|
|
1549
|
+
readonly rulesetVersion: {
|
|
1550
|
+
readonly type: "string";
|
|
1551
|
+
readonly description: "Version of the executed ruleset";
|
|
1552
|
+
readonly example: "1.1.0";
|
|
1553
|
+
};
|
|
1554
|
+
readonly executionTime: {
|
|
1555
|
+
readonly type: "number";
|
|
1556
|
+
readonly description: "Execution time in milliseconds for this ruleset";
|
|
1557
|
+
readonly example: 277;
|
|
1558
|
+
};
|
|
1559
|
+
readonly success: {
|
|
1560
|
+
readonly type: "boolean";
|
|
1561
|
+
readonly description: "Whether the ruleset execution completed without internal errors";
|
|
1562
|
+
readonly example: true;
|
|
1563
|
+
};
|
|
1564
|
+
readonly error: {
|
|
1565
|
+
readonly type: "string";
|
|
1566
|
+
readonly description: "Error message if the ruleset execution failed internally";
|
|
1567
|
+
readonly example: "";
|
|
1568
|
+
};
|
|
1569
|
+
readonly issueCount: {
|
|
1570
|
+
readonly type: "integer";
|
|
1571
|
+
readonly description: "Total number of issues found by this ruleset";
|
|
1572
|
+
readonly example: 0;
|
|
1573
|
+
};
|
|
1574
|
+
readonly issues: {
|
|
1575
|
+
readonly type: "array";
|
|
1576
|
+
readonly description: "List of issues found by this ruleset";
|
|
1577
|
+
readonly items: {
|
|
1578
|
+
readonly $ref: "LintIssue#";
|
|
1579
|
+
};
|
|
1580
|
+
};
|
|
1581
|
+
readonly metadata: {
|
|
1582
|
+
readonly type: "object";
|
|
1583
|
+
readonly description: "Execution metadata for this ruleset run";
|
|
1584
|
+
readonly properties: {
|
|
1585
|
+
readonly ruleEngine: {
|
|
1586
|
+
readonly type: "string";
|
|
1587
|
+
readonly description: "Name of the rule engine that executed the ruleset";
|
|
1588
|
+
readonly example: "spectral";
|
|
1589
|
+
};
|
|
1590
|
+
readonly documentId: {
|
|
1591
|
+
readonly type: "string";
|
|
1592
|
+
readonly description: "Identifier of the linted document";
|
|
1593
|
+
readonly example: "41c1d4aa-5825-4313-8ae5-737490707b5b";
|
|
1594
|
+
};
|
|
1595
|
+
readonly cacheHit: {
|
|
1596
|
+
readonly type: "boolean";
|
|
1597
|
+
readonly description: "Whether the result was served from cache";
|
|
1598
|
+
readonly example: false;
|
|
1599
|
+
};
|
|
1600
|
+
};
|
|
1601
|
+
};
|
|
1602
|
+
};
|
|
1603
|
+
} | {
|
|
1604
|
+
readonly $id: "RuleInfo";
|
|
1605
|
+
readonly type: "object";
|
|
1606
|
+
readonly description: "Metadata for a single lint rule within a ruleset";
|
|
1607
|
+
readonly properties: {
|
|
1608
|
+
readonly name: {
|
|
1609
|
+
readonly type: "string";
|
|
1610
|
+
readonly description: "Unique rule identifier within the ruleset";
|
|
1611
|
+
readonly example: "operationId-required-and-unique";
|
|
1612
|
+
};
|
|
1613
|
+
readonly severity: {
|
|
1614
|
+
readonly type: "string";
|
|
1615
|
+
readonly enum: readonly ["error", "warn", "info", "hint"];
|
|
1616
|
+
readonly description: "Default severity level of the rule";
|
|
1617
|
+
readonly example: "error";
|
|
1618
|
+
};
|
|
1619
|
+
readonly message: {
|
|
1620
|
+
readonly type: "string";
|
|
1621
|
+
readonly description: "Message template shown when the rule is triggered";
|
|
1622
|
+
readonly example: "Every operation must have a unique operationId";
|
|
1623
|
+
};
|
|
1624
|
+
readonly description: {
|
|
1625
|
+
readonly type: "string";
|
|
1626
|
+
readonly description: "Detailed explanation of what the rule checks and why";
|
|
1627
|
+
readonly example: "Ensures every operation has a unique operationId for code generation";
|
|
1628
|
+
};
|
|
1629
|
+
readonly recommended: {
|
|
1630
|
+
readonly type: "boolean";
|
|
1631
|
+
readonly description: "Whether this rule is recommended to be enabled";
|
|
1632
|
+
readonly example: true;
|
|
1633
|
+
};
|
|
1634
|
+
};
|
|
1635
|
+
} | {
|
|
1636
|
+
readonly $id: "DocumentSummary";
|
|
1637
|
+
readonly type: "object";
|
|
1638
|
+
readonly description: "Summary metadata for an uploaded document";
|
|
1639
|
+
readonly properties: {
|
|
1640
|
+
readonly documentId: {
|
|
1641
|
+
readonly type: "string";
|
|
1642
|
+
readonly description: "Unique document identifier";
|
|
1643
|
+
readonly example: "41c1d4aa-5825-4313-8ae5-737490707b5b";
|
|
1644
|
+
};
|
|
1645
|
+
readonly title: {
|
|
1646
|
+
readonly type: "string";
|
|
1647
|
+
readonly description: "Title from the document info section";
|
|
1648
|
+
readonly example: "My API";
|
|
1649
|
+
};
|
|
1650
|
+
readonly version: {
|
|
1651
|
+
readonly type: "string";
|
|
1652
|
+
readonly description: "API version from the document";
|
|
1653
|
+
readonly example: "1.0.0";
|
|
1654
|
+
};
|
|
1655
|
+
readonly format: {
|
|
1656
|
+
readonly type: "string";
|
|
1657
|
+
readonly description: "Document format (json or yaml)";
|
|
1658
|
+
readonly example: "json";
|
|
1659
|
+
};
|
|
1660
|
+
readonly uploadedAt: {
|
|
1661
|
+
readonly type: "string";
|
|
1662
|
+
readonly format: "date-time";
|
|
1663
|
+
readonly description: "ISO 8601 timestamp when the document was uploaded";
|
|
1664
|
+
readonly example: "2026-03-05T12:00:00.000Z";
|
|
1665
|
+
};
|
|
1666
|
+
};
|
|
1667
|
+
} | {
|
|
1668
|
+
readonly $id: "RuleOverrides";
|
|
1669
|
+
readonly type: "object";
|
|
1670
|
+
readonly description: "Map of rule IDs to override severity. Use \"off\" to exclude a rule, or a severity level to change it.";
|
|
1671
|
+
readonly additionalProperties: {
|
|
1672
|
+
readonly type: "string";
|
|
1673
|
+
readonly enum: readonly ["off", "error", "warn", "info", "hint"];
|
|
1674
|
+
};
|
|
1675
|
+
readonly example: {
|
|
1676
|
+
readonly 'operationId-required': "off";
|
|
1677
|
+
readonly 'error-status-code': "warn";
|
|
1678
|
+
};
|
|
1679
|
+
} | {
|
|
1680
|
+
readonly $id: "HealthResponse";
|
|
1681
|
+
readonly type: "object";
|
|
1682
|
+
readonly description: "Server health status including uptime, configuration, and runtime statistics";
|
|
1683
|
+
readonly properties: {
|
|
1684
|
+
readonly status: {
|
|
1685
|
+
readonly type: "string";
|
|
1686
|
+
readonly enum: readonly ["ok"];
|
|
1687
|
+
readonly description: "Server health status indicator";
|
|
1688
|
+
readonly example: "ok";
|
|
1689
|
+
};
|
|
1690
|
+
readonly version: {
|
|
1691
|
+
readonly type: "string";
|
|
1692
|
+
readonly description: "Orchestrator server version (semver)";
|
|
1693
|
+
readonly example: "0.11.0";
|
|
1694
|
+
};
|
|
1695
|
+
readonly timestamp: {
|
|
1696
|
+
readonly type: "string";
|
|
1697
|
+
readonly format: "date-time";
|
|
1698
|
+
readonly description: "Current server time in ISO 8601 format";
|
|
1699
|
+
readonly example: "2026-03-05T12:00:00.000Z";
|
|
1700
|
+
};
|
|
1701
|
+
readonly uptime: {
|
|
1702
|
+
readonly type: "integer";
|
|
1703
|
+
readonly description: "Server uptime in seconds since last start";
|
|
1704
|
+
readonly example: 3600;
|
|
1705
|
+
};
|
|
1706
|
+
readonly mode: {
|
|
1707
|
+
readonly type: "string";
|
|
1708
|
+
readonly enum: readonly ["standalone", "embedded", "companion", "mcp"];
|
|
1709
|
+
readonly description: "Current deployment mode of the server";
|
|
1710
|
+
readonly example: "standalone";
|
|
1711
|
+
};
|
|
1712
|
+
readonly server: {
|
|
1713
|
+
readonly type: "object";
|
|
1714
|
+
readonly description: "HTTP server configuration details";
|
|
1715
|
+
readonly properties: {
|
|
1716
|
+
readonly port: {
|
|
1717
|
+
readonly type: "integer";
|
|
1718
|
+
readonly description: "Port the server is listening on";
|
|
1719
|
+
readonly example: 3003;
|
|
1720
|
+
};
|
|
1721
|
+
readonly host: {
|
|
1722
|
+
readonly type: "string";
|
|
1723
|
+
readonly description: "Host address the server is bound to";
|
|
1724
|
+
readonly example: "0.0.0.0";
|
|
1725
|
+
};
|
|
1726
|
+
readonly startedAt: {
|
|
1727
|
+
readonly type: "string";
|
|
1728
|
+
readonly format: "date-time";
|
|
1729
|
+
readonly description: "ISO 8601 timestamp when the server started";
|
|
1730
|
+
readonly example: "2026-03-05T11:00:00.000Z";
|
|
1731
|
+
};
|
|
1732
|
+
};
|
|
1733
|
+
};
|
|
1734
|
+
readonly documentStore: {
|
|
1735
|
+
readonly type: "object";
|
|
1736
|
+
readonly description: "Document storage backend configuration";
|
|
1737
|
+
readonly properties: {
|
|
1738
|
+
readonly type: {
|
|
1739
|
+
readonly type: "string";
|
|
1740
|
+
readonly enum: readonly ["local", "passthrough"];
|
|
1741
|
+
readonly description: "Type of document store in use";
|
|
1742
|
+
readonly example: "local";
|
|
1743
|
+
};
|
|
1744
|
+
readonly baseDir: {
|
|
1745
|
+
readonly type: "string";
|
|
1746
|
+
readonly description: "Relative base directory for document storage";
|
|
1747
|
+
readonly example: "./uploads";
|
|
1748
|
+
};
|
|
1749
|
+
readonly fullPath: {
|
|
1750
|
+
readonly type: "string";
|
|
1751
|
+
readonly description: "Absolute resolved path to the document storage directory";
|
|
1752
|
+
readonly example: "/home/user/spectify/uploads";
|
|
1753
|
+
};
|
|
1754
|
+
};
|
|
1755
|
+
};
|
|
1756
|
+
readonly stats: {
|
|
1757
|
+
readonly type: "object";
|
|
1758
|
+
readonly description: "Orchestrator runtime statistics snapshot (active jobs, worker counts, etc.)";
|
|
1759
|
+
readonly additionalProperties: true;
|
|
1760
|
+
readonly example: {
|
|
1761
|
+
readonly activeJobs: 0;
|
|
1762
|
+
readonly totalJobsProcessed: 42;
|
|
1763
|
+
};
|
|
1764
|
+
};
|
|
1765
|
+
readonly runtime: {
|
|
1766
|
+
readonly type: "object";
|
|
1767
|
+
readonly description: "Runtime environment information (Node.js version, Spectral library versions, active resolver).";
|
|
1768
|
+
readonly properties: {
|
|
1769
|
+
readonly nodeVersion: {
|
|
1770
|
+
readonly type: "string";
|
|
1771
|
+
readonly description: "Node.js runtime version";
|
|
1772
|
+
readonly example: "v22.18.0";
|
|
1773
|
+
};
|
|
1774
|
+
readonly spectralCore: {
|
|
1775
|
+
readonly type: "string";
|
|
1776
|
+
readonly description: "Installed @stoplight/spectral-core version";
|
|
1777
|
+
readonly example: "1.19.0";
|
|
1778
|
+
};
|
|
1779
|
+
readonly spectralRulesets: {
|
|
1780
|
+
readonly type: "string";
|
|
1781
|
+
readonly description: "Installed @stoplight/spectral-rulesets version";
|
|
1782
|
+
readonly example: "1.22.0";
|
|
1783
|
+
};
|
|
1784
|
+
readonly spectralCli: {
|
|
1785
|
+
readonly type: "string";
|
|
1786
|
+
readonly description: "Installed @stoplight/spectral-cli version";
|
|
1787
|
+
readonly example: "6.16.0";
|
|
1788
|
+
};
|
|
1789
|
+
readonly resolver: {
|
|
1790
|
+
readonly type: readonly ["string", "null"];
|
|
1791
|
+
readonly description: "Active custom $ref resolver name, or null when using Spectral default resolver";
|
|
1792
|
+
readonly example: "ignore-external-refs";
|
|
1793
|
+
};
|
|
1794
|
+
};
|
|
1795
|
+
};
|
|
1796
|
+
readonly reportService: {
|
|
1797
|
+
readonly type: "object";
|
|
1798
|
+
readonly description: "Report Service connection status. Only present when configured.";
|
|
1799
|
+
readonly additionalProperties: true;
|
|
1800
|
+
readonly example: {
|
|
1801
|
+
readonly connected: true;
|
|
1802
|
+
readonly url: "http://localhost:3010";
|
|
1803
|
+
};
|
|
1804
|
+
};
|
|
1805
|
+
};
|
|
1806
|
+
} | {
|
|
1807
|
+
readonly $id: "DocumentUploadResponse";
|
|
1808
|
+
readonly type: "object";
|
|
1809
|
+
readonly description: "Response after successfully uploading a document";
|
|
1810
|
+
readonly properties: {
|
|
1811
|
+
readonly documentId: {
|
|
1812
|
+
readonly type: "string";
|
|
1813
|
+
readonly description: "Unique identifier assigned to the uploaded document";
|
|
1814
|
+
readonly example: "41c1d4aa-5825-4313-8ae5-737490707b5b";
|
|
1815
|
+
};
|
|
1816
|
+
readonly version: {
|
|
1817
|
+
readonly type: "string";
|
|
1818
|
+
readonly description: "Version identifier of the stored document";
|
|
1819
|
+
readonly example: "1";
|
|
1820
|
+
};
|
|
1821
|
+
readonly message: {
|
|
1822
|
+
readonly type: "string";
|
|
1823
|
+
readonly description: "Human-readable confirmation message";
|
|
1824
|
+
readonly example: "Document uploaded successfully";
|
|
1825
|
+
};
|
|
1826
|
+
};
|
|
1827
|
+
} | {
|
|
1828
|
+
readonly $id: "DocumentUploadRequest";
|
|
1829
|
+
readonly type: "object";
|
|
1830
|
+
readonly description: "Request body for uploading a document";
|
|
1831
|
+
readonly required: readonly ["content"];
|
|
1832
|
+
readonly properties: {
|
|
1833
|
+
readonly content: {
|
|
1834
|
+
readonly type: "string";
|
|
1835
|
+
readonly description: "Raw document content as a JSON or YAML string";
|
|
1836
|
+
readonly example: "{\"openapi\":\"3.0.0\",\"info\":{\"title\":\"My API\",\"version\":\"1.0\"},\"paths\":{}}";
|
|
1837
|
+
};
|
|
1838
|
+
readonly format: {
|
|
1839
|
+
readonly type: "string";
|
|
1840
|
+
readonly enum: readonly ["json", "yaml"];
|
|
1841
|
+
readonly default: "json";
|
|
1842
|
+
readonly description: "Format of the document content being uploaded";
|
|
1843
|
+
readonly example: "json";
|
|
1844
|
+
};
|
|
1845
|
+
readonly metadata: {
|
|
1846
|
+
readonly type: "object";
|
|
1847
|
+
readonly description: "Optional metadata to associate with the uploaded document";
|
|
1848
|
+
readonly additionalProperties: true;
|
|
1849
|
+
readonly example: {
|
|
1850
|
+
readonly team: "platform";
|
|
1851
|
+
readonly tags: readonly ["internal"];
|
|
1852
|
+
};
|
|
1853
|
+
};
|
|
1854
|
+
};
|
|
1855
|
+
} | {
|
|
1856
|
+
readonly $id: "DocumentListResponse";
|
|
1857
|
+
readonly type: "object";
|
|
1858
|
+
readonly description: "Paginated list of uploaded documents with metadata";
|
|
1859
|
+
readonly properties: {
|
|
1860
|
+
readonly documents: {
|
|
1861
|
+
readonly type: "array";
|
|
1862
|
+
readonly description: "Array of document summary objects";
|
|
1863
|
+
readonly items: {
|
|
1864
|
+
readonly $ref: "DocumentSummary#";
|
|
1865
|
+
};
|
|
1866
|
+
};
|
|
1867
|
+
readonly total: {
|
|
1868
|
+
readonly type: "integer";
|
|
1869
|
+
readonly description: "Total number of documents matching the query";
|
|
1870
|
+
readonly example: 42;
|
|
1871
|
+
};
|
|
1872
|
+
readonly limit: {
|
|
1873
|
+
readonly type: "integer";
|
|
1874
|
+
readonly description: "Maximum number of results returned in this page";
|
|
1875
|
+
readonly example: 50;
|
|
1876
|
+
};
|
|
1877
|
+
readonly offset: {
|
|
1878
|
+
readonly type: "integer";
|
|
1879
|
+
readonly description: "Number of results skipped for pagination";
|
|
1880
|
+
readonly example: 0;
|
|
1881
|
+
};
|
|
1882
|
+
};
|
|
1883
|
+
} | {
|
|
1884
|
+
readonly $id: "DocumentResponse";
|
|
1885
|
+
readonly type: "object";
|
|
1886
|
+
readonly description: "Full document object including content and metadata";
|
|
1887
|
+
readonly properties: {
|
|
1888
|
+
readonly documentId: {
|
|
1889
|
+
readonly type: "string";
|
|
1890
|
+
readonly description: "Unique document identifier";
|
|
1891
|
+
readonly example: "41c1d4aa-5825-4313-8ae5-737490707b5b";
|
|
1892
|
+
};
|
|
1893
|
+
readonly content: {
|
|
1894
|
+
readonly type: "string";
|
|
1895
|
+
readonly description: "Raw document content as stored";
|
|
1896
|
+
readonly example: "{\"openapi\":\"3.0.0\",\"info\":{\"title\":\"My API\",\"version\":\"1.0\"},\"paths\":{}}";
|
|
1897
|
+
};
|
|
1898
|
+
readonly format: {
|
|
1899
|
+
readonly type: "string";
|
|
1900
|
+
readonly description: "Document format (json or yaml)";
|
|
1901
|
+
readonly example: "json";
|
|
1902
|
+
};
|
|
1903
|
+
readonly metadata: {
|
|
1904
|
+
readonly type: "object";
|
|
1905
|
+
readonly description: "User-supplied metadata associated with the document";
|
|
1906
|
+
readonly additionalProperties: true;
|
|
1907
|
+
readonly example: {
|
|
1908
|
+
readonly team: "platform";
|
|
1909
|
+
};
|
|
1910
|
+
};
|
|
1911
|
+
readonly uploadedAt: {
|
|
1912
|
+
readonly type: "string";
|
|
1913
|
+
readonly format: "date-time";
|
|
1914
|
+
readonly description: "ISO 8601 timestamp when the document was uploaded";
|
|
1915
|
+
readonly example: "2026-03-05T12:00:00.000Z";
|
|
1916
|
+
};
|
|
1917
|
+
};
|
|
1918
|
+
} | {
|
|
1919
|
+
readonly $id: "LintJobSubmitResponse";
|
|
1920
|
+
readonly type: "object";
|
|
1921
|
+
readonly description: "Response returned when a lint job is successfully queued";
|
|
1922
|
+
readonly properties: {
|
|
1923
|
+
readonly jobId: {
|
|
1924
|
+
readonly type: "string";
|
|
1925
|
+
readonly format: "uuid";
|
|
1926
|
+
readonly description: "Unique job identifier for tracking progress and retrieving results";
|
|
1927
|
+
readonly example: "94c9db52-92fc-4733-806a-fe6d206109aa";
|
|
1928
|
+
};
|
|
1929
|
+
readonly status: {
|
|
1930
|
+
readonly type: "string";
|
|
1931
|
+
readonly enum: readonly ["queued"];
|
|
1932
|
+
readonly description: "Initial status of the newly created job";
|
|
1933
|
+
readonly example: "queued";
|
|
1934
|
+
};
|
|
1935
|
+
readonly message: {
|
|
1936
|
+
readonly type: "string";
|
|
1937
|
+
readonly description: "Human-readable confirmation message";
|
|
1938
|
+
readonly example: "Job submitted successfully";
|
|
1939
|
+
};
|
|
1940
|
+
};
|
|
1941
|
+
} | {
|
|
1942
|
+
readonly $id: "CapacityExceededResponse";
|
|
1943
|
+
readonly type: "object";
|
|
1944
|
+
readonly description: "Response returned when the server cannot accept new jobs due to capacity limits";
|
|
1945
|
+
readonly properties: {
|
|
1946
|
+
readonly error: {
|
|
1947
|
+
readonly type: "string";
|
|
1948
|
+
readonly description: "Error type identifier";
|
|
1949
|
+
readonly example: "Too Many Requests";
|
|
1950
|
+
};
|
|
1951
|
+
readonly message: {
|
|
1952
|
+
readonly type: "string";
|
|
1953
|
+
readonly description: "Human-readable explanation of the capacity limit";
|
|
1954
|
+
readonly example: "Server at capacity with 50 active jobs (max 50)";
|
|
1955
|
+
};
|
|
1956
|
+
readonly activeJobs: {
|
|
1957
|
+
readonly type: "integer";
|
|
1958
|
+
readonly description: "Number of currently active (queued or running) jobs";
|
|
1959
|
+
readonly example: 50;
|
|
1960
|
+
};
|
|
1961
|
+
readonly maxJobs: {
|
|
1962
|
+
readonly type: "integer";
|
|
1963
|
+
readonly description: "Maximum number of concurrent jobs the server allows";
|
|
1964
|
+
readonly example: 50;
|
|
1965
|
+
};
|
|
1966
|
+
readonly retryAfter: {
|
|
1967
|
+
readonly type: "integer";
|
|
1968
|
+
readonly description: "Suggested number of seconds to wait before retrying";
|
|
1969
|
+
readonly example: 5;
|
|
1970
|
+
};
|
|
1971
|
+
};
|
|
1972
|
+
} | {
|
|
1973
|
+
readonly $id: "LintJobStatus";
|
|
1974
|
+
readonly type: "object";
|
|
1975
|
+
readonly description: "Current status and progress of a lint job";
|
|
1976
|
+
readonly properties: {
|
|
1977
|
+
readonly jobId: {
|
|
1978
|
+
readonly type: "string";
|
|
1979
|
+
readonly format: "uuid";
|
|
1980
|
+
readonly description: "Unique job identifier";
|
|
1981
|
+
readonly example: "94c9db52-92fc-4733-806a-fe6d206109aa";
|
|
1982
|
+
};
|
|
1983
|
+
readonly documentId: {
|
|
1984
|
+
readonly type: "string";
|
|
1985
|
+
readonly description: "Identifier of the document being linted";
|
|
1986
|
+
readonly example: "41c1d4aa-5825-4313-8ae5-737490707b5b";
|
|
1987
|
+
};
|
|
1988
|
+
readonly rulesetName: {
|
|
1989
|
+
readonly type: "string";
|
|
1990
|
+
readonly description: "Name of the ruleset used for linting";
|
|
1991
|
+
readonly example: "pubhub";
|
|
1992
|
+
};
|
|
1993
|
+
readonly rulesetVersion: {
|
|
1994
|
+
readonly type: "string";
|
|
1995
|
+
readonly description: "Version of the ruleset used for linting";
|
|
1996
|
+
readonly example: "1.1.0";
|
|
1997
|
+
};
|
|
1998
|
+
readonly ruleOverrides: {
|
|
1999
|
+
readonly $ref: "RuleOverrides#";
|
|
2000
|
+
};
|
|
2001
|
+
readonly status: {
|
|
2002
|
+
readonly $ref: "JobStatus#";
|
|
2003
|
+
};
|
|
2004
|
+
readonly progress: {
|
|
2005
|
+
readonly $ref: "JobProgress#";
|
|
2006
|
+
};
|
|
2007
|
+
readonly startTime: {
|
|
2008
|
+
readonly type: "string";
|
|
2009
|
+
readonly format: "date-time";
|
|
2010
|
+
readonly description: "ISO 8601 timestamp when the job started processing";
|
|
2011
|
+
readonly example: "2026-03-05T12:00:00.000Z";
|
|
2012
|
+
};
|
|
2013
|
+
readonly endTime: {
|
|
2014
|
+
readonly type: "string";
|
|
2015
|
+
readonly format: "date-time";
|
|
2016
|
+
readonly description: "ISO 8601 timestamp when the job finished";
|
|
2017
|
+
readonly example: "2026-03-05T12:00:01.000Z";
|
|
2018
|
+
};
|
|
2019
|
+
};
|
|
2020
|
+
} | {
|
|
2021
|
+
readonly $id: "LintJobResult";
|
|
2022
|
+
readonly type: "object";
|
|
2023
|
+
readonly description: "Complete results of a finished lint job including all issues and execution metadata";
|
|
2024
|
+
readonly properties: {
|
|
2025
|
+
readonly jobId: {
|
|
2026
|
+
readonly type: "string";
|
|
2027
|
+
readonly format: "uuid";
|
|
2028
|
+
readonly description: "Unique job identifier";
|
|
2029
|
+
readonly example: "94c9db52-92fc-4733-806a-fe6d206109aa";
|
|
2030
|
+
};
|
|
2031
|
+
readonly documentId: {
|
|
2032
|
+
readonly type: "string";
|
|
2033
|
+
readonly description: "Identifier of the document that was linted";
|
|
2034
|
+
readonly example: "41c1d4aa-5825-4313-8ae5-737490707b5b";
|
|
2035
|
+
};
|
|
2036
|
+
readonly rulesetName: {
|
|
2037
|
+
readonly type: "string";
|
|
2038
|
+
readonly description: "Name of the ruleset used for linting";
|
|
2039
|
+
readonly example: "pubhub";
|
|
2040
|
+
};
|
|
2041
|
+
readonly rulesetVersion: {
|
|
2042
|
+
readonly type: "string";
|
|
2043
|
+
readonly description: "Version of the ruleset used for linting";
|
|
2044
|
+
readonly example: "1.1.0";
|
|
2045
|
+
};
|
|
2046
|
+
readonly ruleOverrides: {
|
|
2047
|
+
readonly $ref: "RuleOverrides#";
|
|
2048
|
+
};
|
|
2049
|
+
readonly status: {
|
|
2050
|
+
readonly $ref: "JobStatus#";
|
|
2051
|
+
};
|
|
2052
|
+
readonly timestamp: {
|
|
2053
|
+
readonly type: "string";
|
|
2054
|
+
readonly format: "date-time";
|
|
2055
|
+
readonly description: "ISO 8601 timestamp when the job completed";
|
|
2056
|
+
readonly example: "2026-03-05T12:00:01.000Z";
|
|
2057
|
+
};
|
|
2058
|
+
readonly totalExecutionTime: {
|
|
2059
|
+
readonly type: "number";
|
|
2060
|
+
readonly description: "Total execution time of the job in milliseconds";
|
|
2061
|
+
readonly example: 321;
|
|
2062
|
+
};
|
|
2063
|
+
readonly summary: {
|
|
2064
|
+
readonly $ref: "ResultSummary#";
|
|
2065
|
+
};
|
|
2066
|
+
readonly results: {
|
|
2067
|
+
readonly type: "array";
|
|
2068
|
+
readonly description: "List of all lint issues found in the document";
|
|
2069
|
+
readonly items: {
|
|
2070
|
+
readonly $ref: "LintIssue#";
|
|
2071
|
+
};
|
|
2072
|
+
};
|
|
2073
|
+
readonly executionDetails: {
|
|
2074
|
+
readonly $ref: "RulesetExecutionResult#";
|
|
2075
|
+
};
|
|
2076
|
+
};
|
|
2077
|
+
} | {
|
|
2078
|
+
readonly $id: "ReportGenerationRequest";
|
|
2079
|
+
readonly type: "object";
|
|
2080
|
+
readonly description: "Request body to generate a report from a completed lint job";
|
|
2081
|
+
readonly required: readonly ["format"];
|
|
2082
|
+
readonly properties: {
|
|
2083
|
+
readonly format: {
|
|
2084
|
+
readonly type: "string";
|
|
2085
|
+
readonly enum: readonly ["sarif"];
|
|
2086
|
+
readonly description: "Output format for the report. Currently only SARIF is supported.";
|
|
2087
|
+
readonly example: "sarif";
|
|
2088
|
+
};
|
|
2089
|
+
readonly options: {
|
|
2090
|
+
readonly type: "object";
|
|
2091
|
+
readonly description: "Optional report generation settings";
|
|
2092
|
+
readonly properties: {
|
|
2093
|
+
readonly includeSnippets: {
|
|
2094
|
+
readonly type: "boolean";
|
|
2095
|
+
readonly description: "Include source code snippets in the report for each issue";
|
|
2096
|
+
readonly example: true;
|
|
2097
|
+
};
|
|
2098
|
+
readonly fingerprintSchemes: {
|
|
2099
|
+
readonly type: "array";
|
|
2100
|
+
readonly description: "List of fingerprint scheme names to include for result deduplication";
|
|
2101
|
+
readonly items: {
|
|
2102
|
+
readonly type: "string";
|
|
2103
|
+
};
|
|
2104
|
+
readonly example: readonly ["v1"];
|
|
2105
|
+
};
|
|
2106
|
+
};
|
|
2107
|
+
};
|
|
2108
|
+
};
|
|
2109
|
+
} | {
|
|
2110
|
+
readonly $id: "SarifReport";
|
|
2111
|
+
readonly type: "object";
|
|
2112
|
+
readonly description: "SARIF v2.1.0 (Static Analysis Results Interchange Format) report";
|
|
2113
|
+
readonly properties: {
|
|
2114
|
+
readonly version: {
|
|
2115
|
+
readonly type: "string";
|
|
2116
|
+
readonly description: "SARIF format version";
|
|
2117
|
+
readonly example: "2.1.0";
|
|
2118
|
+
};
|
|
2119
|
+
readonly $schema: {
|
|
2120
|
+
readonly type: "string";
|
|
2121
|
+
readonly description: "SARIF JSON schema URI";
|
|
2122
|
+
readonly example: "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/main/sarif-2.1/schema/sarif-schema-2.1.0.json";
|
|
2123
|
+
};
|
|
2124
|
+
readonly runs: {
|
|
2125
|
+
readonly type: "array";
|
|
2126
|
+
readonly description: "Array of analysis runs. Each lint job produces one run.";
|
|
2127
|
+
readonly items: {
|
|
2128
|
+
readonly type: "object";
|
|
2129
|
+
readonly description: "A single SARIF analysis run containing tool info and results";
|
|
2130
|
+
readonly properties: {
|
|
2131
|
+
readonly tool: {
|
|
2132
|
+
readonly type: "object";
|
|
2133
|
+
readonly description: "Information about the analysis tool and its rules";
|
|
2134
|
+
readonly properties: {
|
|
2135
|
+
readonly driver: {
|
|
2136
|
+
readonly type: "object";
|
|
2137
|
+
readonly description: "The primary analysis tool driver";
|
|
2138
|
+
readonly properties: {
|
|
2139
|
+
readonly name: {
|
|
2140
|
+
readonly type: "string";
|
|
2141
|
+
readonly description: "Tool name";
|
|
2142
|
+
readonly example: "cisco-linting-orchestrator";
|
|
2143
|
+
};
|
|
2144
|
+
readonly version: {
|
|
2145
|
+
readonly type: "string";
|
|
2146
|
+
readonly description: "Tool version";
|
|
2147
|
+
readonly example: "0.11.0";
|
|
2148
|
+
};
|
|
2149
|
+
};
|
|
2150
|
+
};
|
|
2151
|
+
};
|
|
2152
|
+
};
|
|
2153
|
+
readonly results: {
|
|
2154
|
+
readonly type: "array";
|
|
2155
|
+
readonly description: "Array of analysis results (issues found)";
|
|
2156
|
+
readonly items: {
|
|
2157
|
+
readonly type: "object";
|
|
2158
|
+
readonly description: "A single analysis result";
|
|
2159
|
+
readonly properties: {
|
|
2160
|
+
readonly ruleId: {
|
|
2161
|
+
readonly type: "string";
|
|
2162
|
+
readonly description: "Identifier of the rule that produced this result";
|
|
2163
|
+
readonly example: "error-status-code";
|
|
2164
|
+
};
|
|
2165
|
+
readonly message: {
|
|
2166
|
+
readonly type: "object";
|
|
2167
|
+
readonly description: "Message describing the result";
|
|
2168
|
+
readonly properties: {
|
|
2169
|
+
readonly text: {
|
|
2170
|
+
readonly type: "string";
|
|
2171
|
+
readonly description: "Plain text message";
|
|
2172
|
+
readonly example: "responses should include at least one error status code";
|
|
2173
|
+
};
|
|
2174
|
+
};
|
|
2175
|
+
};
|
|
2176
|
+
};
|
|
2177
|
+
};
|
|
2178
|
+
};
|
|
2179
|
+
};
|
|
2180
|
+
};
|
|
2181
|
+
};
|
|
2182
|
+
};
|
|
2183
|
+
} | {
|
|
2184
|
+
readonly $id: "JobSummary";
|
|
2185
|
+
readonly type: "object";
|
|
2186
|
+
readonly description: "Lightweight summary of a lint job for list views";
|
|
2187
|
+
readonly properties: {
|
|
2188
|
+
readonly jobId: {
|
|
2189
|
+
readonly type: "string";
|
|
2190
|
+
readonly format: "uuid";
|
|
2191
|
+
readonly description: "Unique job identifier";
|
|
2192
|
+
readonly example: "94c9db52-92fc-4733-806a-fe6d206109aa";
|
|
2193
|
+
};
|
|
2194
|
+
readonly documentId: {
|
|
2195
|
+
readonly type: "string";
|
|
2196
|
+
readonly description: "Identifier of the linted document";
|
|
2197
|
+
readonly example: "41c1d4aa-5825-4313-8ae5-737490707b5b";
|
|
2198
|
+
};
|
|
2199
|
+
readonly rulesetName: {
|
|
2200
|
+
readonly type: "string";
|
|
2201
|
+
readonly description: "Name of the ruleset used for linting";
|
|
2202
|
+
readonly example: "pubhub";
|
|
2203
|
+
};
|
|
2204
|
+
readonly rulesetVersion: {
|
|
2205
|
+
readonly type: "string";
|
|
2206
|
+
readonly description: "Version of the ruleset used for linting";
|
|
2207
|
+
readonly example: "1.1.0";
|
|
2208
|
+
};
|
|
2209
|
+
readonly status: {
|
|
2210
|
+
readonly $ref: "JobStatus#";
|
|
2211
|
+
};
|
|
2212
|
+
readonly timestamp: {
|
|
2213
|
+
readonly type: "string";
|
|
2214
|
+
readonly format: "date-time";
|
|
2215
|
+
readonly description: "ISO 8601 timestamp when the job completed";
|
|
2216
|
+
readonly example: "2026-03-05T12:00:01.000Z";
|
|
2217
|
+
};
|
|
2218
|
+
readonly totalExecutionTime: {
|
|
2219
|
+
readonly type: "number";
|
|
2220
|
+
readonly description: "Total execution time in milliseconds";
|
|
2221
|
+
readonly example: 321;
|
|
2222
|
+
};
|
|
2223
|
+
readonly summary: {
|
|
2224
|
+
readonly $ref: "ResultSummary#";
|
|
2225
|
+
};
|
|
2226
|
+
};
|
|
2227
|
+
} | {
|
|
2228
|
+
readonly $id: "JobListResponse";
|
|
2229
|
+
readonly type: "object";
|
|
2230
|
+
readonly description: "Paginated list of lightweight job summaries";
|
|
2231
|
+
readonly properties: {
|
|
2232
|
+
readonly jobs: {
|
|
2233
|
+
readonly type: "array";
|
|
2234
|
+
readonly description: "Array of job summary objects";
|
|
2235
|
+
readonly items: {
|
|
2236
|
+
readonly $ref: "JobSummary#";
|
|
2237
|
+
};
|
|
2238
|
+
};
|
|
2239
|
+
readonly pagination: {
|
|
2240
|
+
readonly type: "object";
|
|
2241
|
+
readonly description: "Pagination metadata";
|
|
2242
|
+
readonly properties: {
|
|
2243
|
+
readonly total: {
|
|
2244
|
+
readonly type: "integer";
|
|
2245
|
+
readonly description: "Total number of jobs matching the filter criteria";
|
|
2246
|
+
readonly example: 10;
|
|
2247
|
+
};
|
|
2248
|
+
readonly limit: {
|
|
2249
|
+
readonly type: "integer";
|
|
2250
|
+
readonly description: "Maximum number of results returned in this page";
|
|
2251
|
+
readonly example: 50;
|
|
2252
|
+
};
|
|
2253
|
+
readonly offset: {
|
|
2254
|
+
readonly type: "integer";
|
|
2255
|
+
readonly description: "Number of results skipped for pagination";
|
|
2256
|
+
readonly example: 0;
|
|
2257
|
+
};
|
|
2258
|
+
readonly hasMore: {
|
|
2259
|
+
readonly type: "boolean";
|
|
2260
|
+
readonly description: "Whether more results are available beyond this page";
|
|
2261
|
+
readonly example: false;
|
|
2262
|
+
};
|
|
2263
|
+
};
|
|
2264
|
+
};
|
|
2265
|
+
readonly sessionId: {
|
|
2266
|
+
readonly type: "string";
|
|
2267
|
+
readonly description: "Runtime session ID used to filter stale jobs from previous server instances";
|
|
2268
|
+
readonly example: "a1b2c3d4-e5f6-7890-abcd-ef1234567890";
|
|
2269
|
+
};
|
|
2270
|
+
};
|
|
2271
|
+
} | {
|
|
2272
|
+
readonly $id: "JobListDetailedResponse";
|
|
2273
|
+
readonly type: "object";
|
|
2274
|
+
readonly description: "Paginated list of jobs with full document metadata attached";
|
|
2275
|
+
readonly properties: {
|
|
2276
|
+
readonly jobs: {
|
|
2277
|
+
readonly type: "array";
|
|
2278
|
+
readonly description: "Array of detailed job objects including document metadata";
|
|
2279
|
+
readonly items: {
|
|
2280
|
+
readonly type: "object";
|
|
2281
|
+
readonly description: "A job summary enriched with document metadata";
|
|
2282
|
+
readonly properties: {
|
|
2283
|
+
readonly jobId: {
|
|
2284
|
+
readonly type: "string";
|
|
2285
|
+
readonly format: "uuid";
|
|
2286
|
+
readonly description: "Unique job identifier";
|
|
2287
|
+
readonly example: "94c9db52-92fc-4733-806a-fe6d206109aa";
|
|
2288
|
+
};
|
|
2289
|
+
readonly documentId: {
|
|
2290
|
+
readonly type: "string";
|
|
2291
|
+
readonly description: "Identifier of the linted document";
|
|
2292
|
+
readonly example: "41c1d4aa-5825-4313-8ae5-737490707b5b";
|
|
2293
|
+
};
|
|
2294
|
+
readonly rulesetName: {
|
|
2295
|
+
readonly type: "string";
|
|
2296
|
+
readonly description: "Name of the ruleset used for linting";
|
|
2297
|
+
readonly example: "pubhub";
|
|
2298
|
+
};
|
|
2299
|
+
readonly rulesetVersion: {
|
|
2300
|
+
readonly type: "string";
|
|
2301
|
+
readonly description: "Version of the ruleset used for linting";
|
|
2302
|
+
readonly example: "1.1.0";
|
|
2303
|
+
};
|
|
2304
|
+
readonly status: {
|
|
2305
|
+
readonly $ref: "JobStatus#";
|
|
2306
|
+
};
|
|
2307
|
+
readonly timestamp: {
|
|
2308
|
+
readonly type: "string";
|
|
2309
|
+
readonly format: "date-time";
|
|
2310
|
+
readonly description: "ISO 8601 timestamp when the job completed";
|
|
2311
|
+
readonly example: "2026-03-05T12:00:01.000Z";
|
|
2312
|
+
};
|
|
2313
|
+
readonly totalExecutionTime: {
|
|
2314
|
+
readonly type: "number";
|
|
2315
|
+
readonly description: "Total execution time in milliseconds";
|
|
2316
|
+
readonly example: 321;
|
|
2317
|
+
};
|
|
2318
|
+
readonly summary: {
|
|
2319
|
+
readonly $ref: "ResultSummary#";
|
|
2320
|
+
};
|
|
2321
|
+
readonly document: {
|
|
2322
|
+
readonly type: "object";
|
|
2323
|
+
readonly description: "Document metadata from the document store";
|
|
2324
|
+
readonly properties: {
|
|
2325
|
+
readonly documentId: {
|
|
2326
|
+
readonly type: "string";
|
|
2327
|
+
readonly description: "Document identifier";
|
|
2328
|
+
};
|
|
2329
|
+
readonly name: {
|
|
2330
|
+
readonly type: "string";
|
|
2331
|
+
readonly description: "Document name or filename";
|
|
2332
|
+
readonly example: "my-api.yaml";
|
|
2333
|
+
};
|
|
2334
|
+
readonly version: {
|
|
2335
|
+
readonly type: "string";
|
|
2336
|
+
readonly description: "version from the document";
|
|
2337
|
+
readonly example: "1.0.0";
|
|
2338
|
+
};
|
|
2339
|
+
readonly organization: {
|
|
2340
|
+
readonly type: "string";
|
|
2341
|
+
readonly description: "Organization that owns the document";
|
|
2342
|
+
};
|
|
2343
|
+
readonly format: {
|
|
2344
|
+
readonly type: "string";
|
|
2345
|
+
readonly enum: readonly ["json", "yaml"];
|
|
2346
|
+
readonly description: "Document format";
|
|
2347
|
+
};
|
|
2348
|
+
readonly operationCount: {
|
|
2349
|
+
readonly type: "integer";
|
|
2350
|
+
readonly description: "Number of operations in the document";
|
|
2351
|
+
};
|
|
2352
|
+
readonly size: {
|
|
2353
|
+
readonly type: "integer";
|
|
2354
|
+
readonly description: "Document size in bytes";
|
|
2355
|
+
};
|
|
2356
|
+
};
|
|
2357
|
+
};
|
|
2358
|
+
};
|
|
2359
|
+
};
|
|
2360
|
+
};
|
|
2361
|
+
readonly pagination: {
|
|
2362
|
+
readonly type: "object";
|
|
2363
|
+
readonly description: "Pagination metadata";
|
|
2364
|
+
readonly properties: {
|
|
2365
|
+
readonly total: {
|
|
2366
|
+
readonly type: "integer";
|
|
2367
|
+
readonly description: "Total number of jobs matching the filter criteria";
|
|
2368
|
+
readonly example: 10;
|
|
2369
|
+
};
|
|
2370
|
+
readonly limit: {
|
|
2371
|
+
readonly type: "integer";
|
|
2372
|
+
readonly description: "Maximum number of results returned in this page";
|
|
2373
|
+
readonly example: 50;
|
|
2374
|
+
};
|
|
2375
|
+
readonly offset: {
|
|
2376
|
+
readonly type: "integer";
|
|
2377
|
+
readonly description: "Number of results skipped for pagination";
|
|
2378
|
+
readonly example: 0;
|
|
2379
|
+
};
|
|
2380
|
+
readonly hasMore: {
|
|
2381
|
+
readonly type: "boolean";
|
|
2382
|
+
readonly description: "Whether more results are available beyond this page";
|
|
2383
|
+
readonly example: false;
|
|
2384
|
+
};
|
|
2385
|
+
};
|
|
2386
|
+
};
|
|
2387
|
+
readonly sessionId: {
|
|
2388
|
+
readonly type: "string";
|
|
2389
|
+
readonly description: "Runtime session ID used to filter stale jobs";
|
|
2390
|
+
readonly example: "a1b2c3d4-e5f6-7890-abcd-ef1234567890";
|
|
2391
|
+
};
|
|
2392
|
+
};
|
|
2393
|
+
} | {
|
|
2394
|
+
readonly $id: "CacheInvalidationResponse";
|
|
2395
|
+
readonly type: "object";
|
|
2396
|
+
readonly description: "Response confirming cache invalidation for a document";
|
|
2397
|
+
readonly properties: {
|
|
2398
|
+
readonly message: {
|
|
2399
|
+
readonly type: "string";
|
|
2400
|
+
readonly description: "Human-readable confirmation message";
|
|
2401
|
+
readonly example: "Cache invalidated for document: abc-123";
|
|
2402
|
+
};
|
|
2403
|
+
};
|
|
2404
|
+
} | {
|
|
2405
|
+
readonly $id: "RulesetSummary";
|
|
2406
|
+
readonly type: "object";
|
|
2407
|
+
readonly description: "Summary metadata for an available ruleset";
|
|
2408
|
+
readonly properties: {
|
|
2409
|
+
readonly name: {
|
|
2410
|
+
readonly type: "string";
|
|
2411
|
+
readonly description: "Unique ruleset identifier (kebab-case)";
|
|
2412
|
+
readonly example: "pubhub";
|
|
2413
|
+
};
|
|
2414
|
+
readonly version: {
|
|
2415
|
+
readonly type: "string";
|
|
2416
|
+
readonly description: "Default version of the ruleset";
|
|
2417
|
+
readonly example: "1.1.0";
|
|
2418
|
+
};
|
|
2419
|
+
readonly defaultVersion: {
|
|
2420
|
+
readonly type: "string";
|
|
2421
|
+
readonly description: "Default version used when no version is specified";
|
|
2422
|
+
readonly example: "1.1.0";
|
|
2423
|
+
};
|
|
2424
|
+
readonly description: {
|
|
2425
|
+
readonly type: "string";
|
|
2426
|
+
readonly description: "Brief description of what the ruleset validates";
|
|
2427
|
+
readonly example: "Validates documents for PubHub publishing readiness";
|
|
2428
|
+
};
|
|
2429
|
+
readonly availableVersions: {
|
|
2430
|
+
readonly type: "array";
|
|
2431
|
+
readonly description: "List of all available version identifiers for this ruleset";
|
|
2432
|
+
readonly items: {
|
|
2433
|
+
readonly type: "string";
|
|
2434
|
+
};
|
|
2435
|
+
readonly example: readonly ["1.0.0", "1.1.0"];
|
|
2436
|
+
};
|
|
2437
|
+
readonly displayName: {
|
|
2438
|
+
readonly type: "string";
|
|
2439
|
+
readonly description: "Human-friendly display name for the ruleset";
|
|
2440
|
+
readonly example: "PubHub Publishing Readiness";
|
|
2441
|
+
};
|
|
2442
|
+
readonly category: {
|
|
2443
|
+
readonly type: "string";
|
|
2444
|
+
readonly enum: readonly ["publishing", "contract", "security", "documentation", "validation", "other"];
|
|
2445
|
+
readonly description: "Classification category of the ruleset";
|
|
2446
|
+
readonly example: "publishing";
|
|
2447
|
+
};
|
|
2448
|
+
readonly ruleCount: {
|
|
2449
|
+
readonly type: "integer";
|
|
2450
|
+
readonly description: "Number of rules in the default version of this ruleset";
|
|
2451
|
+
readonly example: 60;
|
|
2452
|
+
};
|
|
2453
|
+
readonly tags: {
|
|
2454
|
+
readonly type: "array";
|
|
2455
|
+
readonly description: "Tags for filtering or grouping rulesets";
|
|
2456
|
+
readonly items: {
|
|
2457
|
+
readonly type: "string";
|
|
2458
|
+
};
|
|
2459
|
+
readonly example: readonly ["api-insights", "documentation"];
|
|
2460
|
+
};
|
|
2461
|
+
};
|
|
2462
|
+
} | {
|
|
2463
|
+
readonly $id: "RulesetDetails";
|
|
2464
|
+
readonly type: "object";
|
|
2465
|
+
readonly description: "Detailed information about a ruleset including all individual rules";
|
|
2466
|
+
readonly properties: {
|
|
2467
|
+
readonly name: {
|
|
2468
|
+
readonly type: "string";
|
|
2469
|
+
readonly description: "Unique ruleset identifier (kebab-case)";
|
|
2470
|
+
readonly example: "pubhub";
|
|
2471
|
+
};
|
|
2472
|
+
readonly displayName: {
|
|
2473
|
+
readonly type: "string";
|
|
2474
|
+
readonly description: "Human-friendly display name for the ruleset";
|
|
2475
|
+
readonly example: "PubHub Publishing Readiness";
|
|
2476
|
+
};
|
|
2477
|
+
readonly version: {
|
|
2478
|
+
readonly type: "string";
|
|
2479
|
+
readonly description: "Version of the loaded ruleset";
|
|
2480
|
+
readonly example: "1.1.0";
|
|
2481
|
+
};
|
|
2482
|
+
readonly description: {
|
|
2483
|
+
readonly type: "string";
|
|
2484
|
+
readonly description: "Brief description of what the ruleset validates";
|
|
2485
|
+
readonly example: "Validates documents for PubHub publishing readiness";
|
|
2486
|
+
};
|
|
2487
|
+
readonly category: {
|
|
2488
|
+
readonly type: "string";
|
|
2489
|
+
readonly enum: readonly ["publishing", "contract", "security", "documentation", "validation", "other"];
|
|
2490
|
+
readonly description: "Classification category";
|
|
2491
|
+
readonly example: "publishing";
|
|
2492
|
+
};
|
|
2493
|
+
readonly ruleCount: {
|
|
2494
|
+
readonly type: "integer";
|
|
2495
|
+
readonly description: "Total number of rules in this ruleset version";
|
|
2496
|
+
readonly example: 60;
|
|
2497
|
+
};
|
|
2498
|
+
readonly releaseDate: {
|
|
2499
|
+
readonly type: "string";
|
|
2500
|
+
readonly description: "Release date of this ruleset version";
|
|
2501
|
+
readonly example: "2025-11-19";
|
|
2502
|
+
};
|
|
2503
|
+
readonly deprecated: {
|
|
2504
|
+
readonly type: "boolean";
|
|
2505
|
+
readonly description: "Whether this ruleset version is deprecated";
|
|
2506
|
+
readonly example: false;
|
|
2507
|
+
};
|
|
2508
|
+
readonly tags: {
|
|
2509
|
+
readonly type: "array";
|
|
2510
|
+
readonly description: "Tags for filtering or grouping rulesets";
|
|
2511
|
+
readonly items: {
|
|
2512
|
+
readonly type: "string";
|
|
2513
|
+
};
|
|
2514
|
+
readonly example: readonly ["api-insights", "documentation"];
|
|
2515
|
+
};
|
|
2516
|
+
readonly rules: {
|
|
2517
|
+
readonly type: "array";
|
|
2518
|
+
readonly description: "List of all individual rules in this ruleset version";
|
|
2519
|
+
readonly items: {
|
|
2520
|
+
readonly $ref: "RuleInfo#";
|
|
2521
|
+
};
|
|
2522
|
+
};
|
|
2523
|
+
};
|
|
2524
|
+
} | {
|
|
2525
|
+
readonly $id: "StatsResponse";
|
|
2526
|
+
readonly type: "object";
|
|
2527
|
+
readonly description: "Combined storage and orchestrator statistics";
|
|
2528
|
+
readonly properties: {
|
|
2529
|
+
readonly storage: {
|
|
2530
|
+
readonly type: "object";
|
|
2531
|
+
readonly description: "Statistics about the lint result storage backend";
|
|
2532
|
+
readonly properties: {
|
|
2533
|
+
readonly totalJobs: {
|
|
2534
|
+
readonly type: "integer";
|
|
2535
|
+
readonly description: "Total number of jobs stored";
|
|
2536
|
+
readonly example: 42;
|
|
2537
|
+
};
|
|
2538
|
+
readonly totalResults: {
|
|
2539
|
+
readonly type: "integer";
|
|
2540
|
+
readonly description: "Total number of lint results stored";
|
|
2541
|
+
readonly example: 42;
|
|
2542
|
+
};
|
|
2543
|
+
readonly storageSize: {
|
|
2544
|
+
readonly type: "number";
|
|
2545
|
+
readonly description: "Approximate storage size in bytes";
|
|
2546
|
+
readonly example: 102400;
|
|
2547
|
+
};
|
|
2548
|
+
};
|
|
2549
|
+
};
|
|
2550
|
+
readonly orchestrator: {
|
|
2551
|
+
readonly type: "object";
|
|
2552
|
+
readonly description: "Orchestrator runtime statistics including active jobs and worker pool state";
|
|
2553
|
+
readonly additionalProperties: true;
|
|
2554
|
+
readonly example: {
|
|
2555
|
+
readonly activeJobs: 0;
|
|
2556
|
+
readonly totalJobsProcessed: 42;
|
|
2557
|
+
readonly workerPoolSize: 4;
|
|
2558
|
+
};
|
|
2559
|
+
};
|
|
2560
|
+
readonly timestamp: {
|
|
2561
|
+
readonly type: "string";
|
|
2562
|
+
readonly format: "date-time";
|
|
2563
|
+
readonly description: "ISO 8601 timestamp when the statistics were collected";
|
|
2564
|
+
readonly example: "2026-03-05T12:00:00.000Z";
|
|
2565
|
+
};
|
|
2566
|
+
};
|
|
2567
|
+
})[];
|
|
2568
|
+
//# sourceMappingURL=schemas.d.ts.map
|