@kizunajs/openapi 2.0.0-beta.20 → 2.0.0-beta.22

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/dist/index.cjs CHANGED
@@ -224,6 +224,15 @@ const openApiWalk = (options, api) => {
224
224
  schema: valueSchema
225
225
  });
226
226
  }
227
+ const streamsEvents = Object.values(route.responses).some((response) => (0, kizunajs_generator.isStreamResponse)(response) && (0, kizunajs_generator.streamContentType)(response) === "text/event-stream");
228
+ const declaresLastEventId = parameters.some((parameter) => parameter.in === "header" && parameter.name.toLowerCase() === "last-event-id");
229
+ if (streamsEvents && !declaresLastEventId) parameters.push({
230
+ name: "Last-Event-ID",
231
+ in: "header",
232
+ required: false,
233
+ description: "The id of the last event received, to resume a dropped stream after it",
234
+ schema: { type: "string" }
235
+ });
227
236
  if (parameters.length > 0) operation.parameters = parameters;
228
237
  if (route.body && !(0, kizunajs_generator.isVoidSchema)(route.body)) {
229
238
  const contentType = route.contentType ?? "application/json";
package/dist/index.mjs CHANGED
@@ -223,6 +223,15 @@ const openApiWalk = (options, api) => {
223
223
  schema: valueSchema
224
224
  });
225
225
  }
226
+ const streamsEvents = Object.values(route.responses).some((response) => isStreamResponse(response) && streamContentType(response) === "text/event-stream");
227
+ const declaresLastEventId = parameters.some((parameter) => parameter.in === "header" && parameter.name.toLowerCase() === "last-event-id");
228
+ if (streamsEvents && !declaresLastEventId) parameters.push({
229
+ name: "Last-Event-ID",
230
+ in: "header",
231
+ required: false,
232
+ description: "The id of the last event received, to resume a dropped stream after it",
233
+ schema: { type: "string" }
234
+ });
226
235
  if (parameters.length > 0) operation.parameters = parameters;
227
236
  if (route.body && !isVoidSchema(route.body)) {
228
237
  const contentType = route.contentType ?? "application/json";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kizunajs/openapi",
3
- "version": "2.0.0-beta.20",
3
+ "version": "2.0.0-beta.22",
4
4
  "description": "OpenAPI 3.1 generation for Kizuna.js APIs",
5
5
  "keywords": [
6
6
  "kizunajs",
@@ -59,12 +59,12 @@
59
59
  "yaml": "^2.8.4"
60
60
  },
61
61
  "peerDependencies": {
62
- "kizunajs": "2.0.0-beta.20",
62
+ "kizunajs": "2.0.0-beta.22",
63
63
  "zod": "^4.0.0"
64
64
  },
65
65
  "devDependencies": {
66
- "kizunajs": "2.0.0-beta.20",
67
- "@kizunajs/express": "2.0.0-beta.20",
66
+ "kizunajs": "2.0.0-beta.22",
67
+ "@kizunajs/express": "2.0.0-beta.22",
68
68
  "@types/express": "^5.0.0",
69
69
  "express": "^5.0.0",
70
70
  "tsdown": "^0.21.0",