@giveitsmaller/contracts 0.5.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/availability/availability.json +181 -7
  2. package/dist/openapi/models/AudioWatermarkDecodeRequest.d.ts +1 -1
  3. package/dist/openapi/models/AudioWatermarkDecodeRequest.js +1 -1
  4. package/dist/openapi/models/AudioWatermarkDecodeResponse.d.ts +1 -1
  5. package/dist/openapi/models/AudioWatermarkDecodeResponse.js +1 -1
  6. package/dist/openapi/models/AuthErrorResponse.d.ts +1 -1
  7. package/dist/openapi/models/AuthErrorResponse.js +1 -1
  8. package/dist/openapi/models/AuthErrorType.d.ts +1 -1
  9. package/dist/openapi/models/AuthErrorType.js +1 -1
  10. package/dist/openapi/models/AvailabilityValue.d.ts +1 -1
  11. package/dist/openapi/models/AvailabilityValue.js +1 -1
  12. package/dist/openapi/models/BalanceExhaustedResponse.d.ts +1 -1
  13. package/dist/openapi/models/BalanceExhaustedResponse.js +1 -1
  14. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +1 -1
  15. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +1 -1
  16. package/dist/openapi/models/CallbackEventType.d.ts +1 -1
  17. package/dist/openapi/models/CallbackEventType.js +1 -1
  18. package/dist/openapi/models/ConnectionSource.d.ts +1 -1
  19. package/dist/openapi/models/ConnectionSource.js +1 -1
  20. package/dist/openapi/models/ContactRequest.d.ts +1 -1
  21. package/dist/openapi/models/ContactRequest.js +1 -1
  22. package/dist/openapi/models/ContactSubject.d.ts +1 -1
  23. package/dist/openapi/models/ContactSubject.js +1 -1
  24. package/dist/openapi/models/ContactValidationErrorResponse.d.ts +1 -1
  25. package/dist/openapi/models/ContactValidationErrorResponse.js +1 -1
  26. package/dist/openapi/models/CreateExternalImport403Response.d.ts +1 -1
  27. package/dist/openapi/models/CreateExternalImport403Response.js +1 -1
  28. package/dist/openapi/models/CreateExternalImport422Response.d.ts +1 -1
  29. package/dist/openapi/models/CreateExternalImport422Response.js +1 -1
  30. package/dist/openapi/models/CreateWorkflow422Response.d.ts +1 -1
  31. package/dist/openapi/models/CreateWorkflow422Response.js +1 -1
  32. package/dist/openapi/models/CreditTransaction.d.ts +1 -1
  33. package/dist/openapi/models/CreditTransaction.js +1 -1
  34. package/dist/openapi/models/CreditTransactionSourceBucket.d.ts +1 -1
  35. package/dist/openapi/models/CreditTransactionSourceBucket.js +1 -1
  36. package/dist/openapi/models/CreditsBalanceResponse.d.ts +1 -1
  37. package/dist/openapi/models/CreditsBalanceResponse.js +1 -1
  38. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.d.ts +1 -1
  39. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.js +1 -1
  40. package/dist/openapi/models/CreditsUsageResponse.d.ts +1 -1
  41. package/dist/openapi/models/CreditsUsageResponse.js +1 -1
  42. package/dist/openapi/models/CreditsUsageSuccessEnvelope.d.ts +1 -1
  43. package/dist/openapi/models/CreditsUsageSuccessEnvelope.js +1 -1
  44. package/dist/openapi/models/Delivery.d.ts +1 -1
  45. package/dist/openapi/models/Delivery.js +1 -1
  46. package/dist/openapi/models/DeliveryOutputRef.d.ts +1 -1
  47. package/dist/openapi/models/DeliveryOutputRef.js +1 -1
  48. package/dist/openapi/models/DeliveryPlan.d.ts +1 -1
  49. package/dist/openapi/models/DeliveryPlan.js +1 -1
  50. package/dist/openapi/models/DeliveryPlanOutput.d.ts +1 -1
  51. package/dist/openapi/models/DeliveryPlanOutput.js +1 -1
  52. package/dist/openapi/models/DeliveryPlanReason.d.ts +1 -1
  53. package/dist/openapi/models/DeliveryPlanReason.js +1 -1
  54. package/dist/openapi/models/DeliverySelection.d.ts +1 -1
  55. package/dist/openapi/models/DeliverySelection.js +1 -1
  56. package/dist/openapi/models/EndpointProjection.d.ts +98 -0
  57. package/dist/openapi/models/EndpointProjection.js +78 -0
  58. package/dist/openapi/models/ErrorEnvelope.d.ts +1 -1
  59. package/dist/openapi/models/ErrorEnvelope.js +1 -1
  60. package/dist/openapi/models/EstimateQuality.d.ts +1 -1
  61. package/dist/openapi/models/EstimateQuality.js +1 -1
  62. package/dist/openapi/models/EstimateRange.d.ts +1 -1
  63. package/dist/openapi/models/EstimateRange.js +1 -1
  64. package/dist/openapi/models/ExternalDestination.d.ts +1 -1
  65. package/dist/openapi/models/ExternalDestination.js +1 -1
  66. package/dist/openapi/models/ExternalImportCreatedResponse.d.ts +1 -1
  67. package/dist/openapi/models/ExternalImportCreatedResponse.js +1 -1
  68. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.d.ts +1 -1
  69. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.js +1 -1
  70. package/dist/openapi/models/ExternalImportRequest.d.ts +1 -1
  71. package/dist/openapi/models/ExternalImportRequest.js +1 -1
  72. package/dist/openapi/models/ExternalImportToken.d.ts +1 -1
  73. package/dist/openapi/models/ExternalImportToken.js +1 -1
  74. package/dist/openapi/models/ExternalSource.d.ts +1 -1
  75. package/dist/openapi/models/ExternalSource.js +1 -1
  76. package/dist/openapi/models/FeatureNotAvailableResponse.d.ts +1 -1
  77. package/dist/openapi/models/FeatureNotAvailableResponse.js +1 -1
  78. package/dist/openapi/models/FeatureTierRestrictedResponse.d.ts +1 -1
  79. package/dist/openapi/models/FeatureTierRestrictedResponse.js +1 -1
  80. package/dist/openapi/models/FeatureViolation.d.ts +1 -1
  81. package/dist/openapi/models/FeatureViolation.js +1 -1
  82. package/dist/openapi/models/JobDefinition.d.ts +1 -1
  83. package/dist/openapi/models/JobDefinition.js +1 -1
  84. package/dist/openapi/models/JobDownload.d.ts +1 -1
  85. package/dist/openapi/models/JobDownload.js +1 -1
  86. package/dist/openapi/models/JobInputV2.d.ts +1 -1
  87. package/dist/openapi/models/JobInputV2.js +1 -1
  88. package/dist/openapi/models/JobOutputSource.d.ts +1 -1
  89. package/dist/openapi/models/JobOutputSource.js +1 -1
  90. package/dist/openapi/models/JobResponse.d.ts +1 -1
  91. package/dist/openapi/models/JobResponse.js +1 -1
  92. package/dist/openapi/models/JobStatus.d.ts +1 -1
  93. package/dist/openapi/models/JobStatus.js +1 -1
  94. package/dist/openapi/models/JobType.d.ts +1 -1
  95. package/dist/openapi/models/JobType.js +1 -1
  96. package/dist/openapi/models/LivenessResponse.d.ts +1 -1
  97. package/dist/openapi/models/LivenessResponse.js +1 -1
  98. package/dist/openapi/models/LoginUser200Response.d.ts +1 -1
  99. package/dist/openapi/models/LoginUser200Response.js +1 -1
  100. package/dist/openapi/models/LoginUser200ResponseData.d.ts +1 -1
  101. package/dist/openapi/models/LoginUser200ResponseData.js +1 -1
  102. package/dist/openapi/models/LoginUser200ResponseDataUser.d.ts +1 -1
  103. package/dist/openapi/models/LoginUser200ResponseDataUser.js +1 -1
  104. package/dist/openapi/models/LoginUserRequest.d.ts +1 -1
  105. package/dist/openapi/models/LoginUserRequest.js +1 -1
  106. package/dist/openapi/models/LogoutUser200Response.d.ts +1 -1
  107. package/dist/openapi/models/LogoutUser200Response.js +1 -1
  108. package/dist/openapi/models/MetadataResponse.d.ts +1 -1
  109. package/dist/openapi/models/MetadataResponse.js +1 -1
  110. package/dist/openapi/models/MetadataResponseDimensions.d.ts +1 -1
  111. package/dist/openapi/models/MetadataResponseDimensions.js +1 -1
  112. package/dist/openapi/models/MetadataResponseExif.d.ts +1 -1
  113. package/dist/openapi/models/MetadataResponseExif.js +1 -1
  114. package/dist/openapi/models/MetadataResponseExifGps.d.ts +1 -1
  115. package/dist/openapi/models/MetadataResponseExifGps.js +1 -1
  116. package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +1 -1
  117. package/dist/openapi/models/MetadataSuccessEnvelope.js +1 -1
  118. package/dist/openapi/models/MimeGroupSchema.d.ts +1 -1
  119. package/dist/openapi/models/MimeGroupSchema.js +1 -1
  120. package/dist/openapi/models/MultipartCompleteRequest.d.ts +1 -1
  121. package/dist/openapi/models/MultipartCompleteRequest.js +1 -1
  122. package/dist/openapi/models/MultipartCompleteRequestPartsInner.d.ts +1 -1
  123. package/dist/openapi/models/MultipartCompleteRequestPartsInner.js +1 -1
  124. package/dist/openapi/models/MultipartCompleteResponse.d.ts +1 -1
  125. package/dist/openapi/models/MultipartCompleteResponse.js +1 -1
  126. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.d.ts +1 -1
  127. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.js +1 -1
  128. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.d.ts +1 -1
  129. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.js +1 -1
  130. package/dist/openapi/models/MultipartInitiateResponse.d.ts +1 -1
  131. package/dist/openapi/models/MultipartInitiateResponse.js +1 -1
  132. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +1 -1
  133. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.js +1 -1
  134. package/dist/openapi/models/MultipartKeepaliveResponse.d.ts +1 -1
  135. package/dist/openapi/models/MultipartKeepaliveResponse.js +1 -1
  136. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.d.ts +1 -1
  137. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.js +1 -1
  138. package/dist/openapi/models/MultipartPartListing.d.ts +1 -1
  139. package/dist/openapi/models/MultipartPartListing.js +1 -1
  140. package/dist/openapi/models/MultipartPresignRequest.d.ts +1 -1
  141. package/dist/openapi/models/MultipartPresignRequest.js +1 -1
  142. package/dist/openapi/models/MultipartPresignResponse.d.ts +1 -1
  143. package/dist/openapi/models/MultipartPresignResponse.js +1 -1
  144. package/dist/openapi/models/MultipartPresignSuccessEnvelope.d.ts +1 -1
  145. package/dist/openapi/models/MultipartPresignSuccessEnvelope.js +1 -1
  146. package/dist/openapi/models/MultipartStatusResponse.d.ts +1 -1
  147. package/dist/openapi/models/MultipartStatusResponse.js +1 -1
  148. package/dist/openapi/models/MultipartStatusSuccessEnvelope.d.ts +1 -1
  149. package/dist/openapi/models/MultipartStatusSuccessEnvelope.js +1 -1
  150. package/dist/openapi/models/OperationDefinition.d.ts +1 -1
  151. package/dist/openapi/models/OperationDefinition.js +1 -1
  152. package/dist/openapi/models/OperationDownload.d.ts +1 -1
  153. package/dist/openapi/models/OperationDownload.js +1 -1
  154. package/dist/openapi/models/OperationInputModel.d.ts +1 -1
  155. package/dist/openapi/models/OperationInputModel.js +1 -1
  156. package/dist/openapi/models/OperationResponse.d.ts +1 -1
  157. package/dist/openapi/models/OperationResponse.js +1 -1
  158. package/dist/openapi/models/OperationResult.d.ts +1 -1
  159. package/dist/openapi/models/OperationResult.js +1 -1
  160. package/dist/openapi/models/OperationResultMetrics.d.ts +1 -1
  161. package/dist/openapi/models/OperationResultMetrics.js +1 -1
  162. package/dist/openapi/models/OperationSchemaDefinition.d.ts +1 -1
  163. package/dist/openapi/models/OperationSchemaDefinition.js +1 -1
  164. package/dist/openapi/models/OperationStatus.d.ts +1 -1
  165. package/dist/openapi/models/OperationStatus.js +1 -1
  166. package/dist/openapi/models/OperationType.d.ts +1 -1
  167. package/dist/openapi/models/OperationType.js +1 -1
  168. package/dist/openapi/models/OperationsSchemaResponse.d.ts +29 -1
  169. package/dist/openapi/models/OperationsSchemaResponse.js +4 -1
  170. package/dist/openapi/models/OptionSchema.d.ts +2 -1
  171. package/dist/openapi/models/OptionSchema.js +3 -2
  172. package/dist/openapi/models/PerRoleCardinalityEntry.d.ts +1 -1
  173. package/dist/openapi/models/PerRoleCardinalityEntry.js +1 -1
  174. package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +1 -1
  175. package/dist/openapi/models/PerValueAvailabilityEntry.js +1 -1
  176. package/dist/openapi/models/PresignedUrlPart.d.ts +1 -1
  177. package/dist/openapi/models/PresignedUrlPart.js +1 -1
  178. package/dist/openapi/models/ProbePendingResponse.d.ts +1 -1
  179. package/dist/openapi/models/ProbePendingResponse.js +1 -1
  180. package/dist/openapi/models/ProcessingClass.d.ts +1 -1
  181. package/dist/openapi/models/ProcessingClass.js +1 -1
  182. package/dist/openapi/models/ProcessingClassBandViolation.d.ts +1 -1
  183. package/dist/openapi/models/ProcessingClassBandViolation.js +1 -1
  184. package/dist/openapi/models/ProcessingClassExceedsBandResponse.d.ts +1 -1
  185. package/dist/openapi/models/ProcessingClassExceedsBandResponse.js +1 -1
  186. package/dist/openapi/models/ProcessingClassHint.d.ts +1 -1
  187. package/dist/openapi/models/ProcessingClassHint.js +1 -1
  188. package/dist/openapi/models/ProcessingClassReason.d.ts +1 -1
  189. package/dist/openapi/models/ProcessingClassReason.js +1 -1
  190. package/dist/openapi/models/ProcessingClassRejectReason.d.ts +1 -1
  191. package/dist/openapi/models/ProcessingClassRejectReason.js +1 -1
  192. package/dist/openapi/models/ProcessingPlan.d.ts +1 -1
  193. package/dist/openapi/models/ProcessingPlan.js +1 -1
  194. package/dist/openapi/models/ProcessingPlanJob.d.ts +1 -1
  195. package/dist/openapi/models/ProcessingPlanJob.js +1 -1
  196. package/dist/openapi/models/ReadinessResponse.d.ts +1 -1
  197. package/dist/openapi/models/ReadinessResponse.js +1 -1
  198. package/dist/openapi/models/ResponseEnvelope.d.ts +1 -1
  199. package/dist/openapi/models/ResponseEnvelope.js +1 -1
  200. package/dist/openapi/models/RetryResponse.d.ts +1 -1
  201. package/dist/openapi/models/RetryResponse.js +1 -1
  202. package/dist/openapi/models/RetrySuccessEnvelope.d.ts +1 -1
  203. package/dist/openapi/models/RetrySuccessEnvelope.js +1 -1
  204. package/dist/openapi/models/SseCompletionBase.d.ts +63 -0
  205. package/dist/openapi/models/SseCompletionBase.js +50 -0
  206. package/dist/openapi/models/SseEventType.d.ts +1 -1
  207. package/dist/openapi/models/SseEventType.js +1 -1
  208. package/dist/openapi/models/SseJobCompletedData.d.ts +1 -1
  209. package/dist/openapi/models/SseJobCompletedData.js +1 -1
  210. package/dist/openapi/models/SseJobFailedData.d.ts +1 -1
  211. package/dist/openapi/models/SseJobFailedData.js +1 -1
  212. package/dist/openapi/models/SseMultiOutputCompletion.d.ts +1 -1
  213. package/dist/openapi/models/SseMultiOutputCompletion.js +1 -1
  214. package/dist/openapi/models/SseMultiOutputCompletionMetrics.d.ts +1 -1
  215. package/dist/openapi/models/SseMultiOutputCompletionMetrics.js +1 -1
  216. package/dist/openapi/models/SseMultiOutputCompletionWithKind.d.ts +5 -7
  217. package/dist/openapi/models/SseMultiOutputCompletionWithKind.js +1 -1
  218. package/dist/openapi/models/SseMultiOutputResultEntry.d.ts +1 -1
  219. package/dist/openapi/models/SseMultiOutputResultEntry.js +1 -1
  220. package/dist/openapi/models/SseOperationCompletedData.d.ts +1 -1
  221. package/dist/openapi/models/SseOperationCompletedData.js +1 -1
  222. package/dist/openapi/models/SseOperationCompletionResult.d.ts +41 -1
  223. package/dist/openapi/models/SseOperationCompletionResult.js +1 -1
  224. package/dist/openapi/models/SseOperationFailedData.d.ts +1 -1
  225. package/dist/openapi/models/SseOperationFailedData.js +1 -1
  226. package/dist/openapi/models/SseOperationProgressData.d.ts +1 -1
  227. package/dist/openapi/models/SseOperationProgressData.js +1 -1
  228. package/dist/openapi/models/SseSingleOutputCompletion.d.ts +5 -8
  229. package/dist/openapi/models/SseSingleOutputCompletion.js +1 -1
  230. package/dist/openapi/models/SseWorkflowTerminalData.d.ts +1 -1
  231. package/dist/openapi/models/SseWorkflowTerminalData.js +1 -1
  232. package/dist/openapi/models/TierRestrictionKind.d.ts +1 -1
  233. package/dist/openapi/models/TierRestrictionKind.js +1 -1
  234. package/dist/openapi/models/TierRestrictionResponse.d.ts +1 -1
  235. package/dist/openapi/models/TierRestrictionResponse.js +1 -1
  236. package/dist/openapi/models/UploadConstraintsApplied.d.ts +1 -1
  237. package/dist/openapi/models/UploadConstraintsApplied.js +1 -1
  238. package/dist/openapi/models/UploadDurationExceedsTierResponse.d.ts +1 -1
  239. package/dist/openapi/models/UploadDurationExceedsTierResponse.js +1 -1
  240. package/dist/openapi/models/UploadFile403Response.d.ts +1 -1
  241. package/dist/openapi/models/UploadFile403Response.js +1 -1
  242. package/dist/openapi/models/UploadFile422Response.d.ts +1 -1
  243. package/dist/openapi/models/UploadFile422Response.js +1 -1
  244. package/dist/openapi/models/UploadProbeMediaMetadata.d.ts +1 -1
  245. package/dist/openapi/models/UploadProbeMediaMetadata.js +1 -1
  246. package/dist/openapi/models/UploadProbeProcessingClass.d.ts +1 -1
  247. package/dist/openapi/models/UploadProbeProcessingClass.js +1 -1
  248. package/dist/openapi/models/UploadProbeResponse.d.ts +1 -1
  249. package/dist/openapi/models/UploadProbeResponse.js +1 -1
  250. package/dist/openapi/models/UploadProbeStatus.d.ts +1 -1
  251. package/dist/openapi/models/UploadProbeStatus.js +1 -1
  252. package/dist/openapi/models/UploadProbeSuccessEnvelope.d.ts +1 -1
  253. package/dist/openapi/models/UploadProbeSuccessEnvelope.js +1 -1
  254. package/dist/openapi/models/UploadResponse.d.ts +1 -1
  255. package/dist/openapi/models/UploadResponse.js +1 -1
  256. package/dist/openapi/models/UploadSizeExceedsTierResponse.d.ts +1 -1
  257. package/dist/openapi/models/UploadSizeExceedsTierResponse.js +1 -1
  258. package/dist/openapi/models/UploadSource.d.ts +1 -1
  259. package/dist/openapi/models/UploadSource.js +1 -1
  260. package/dist/openapi/models/UploadSuccessEnvelope.d.ts +1 -1
  261. package/dist/openapi/models/UploadSuccessEnvelope.js +1 -1
  262. package/dist/openapi/models/UploadThresholds.d.ts +1 -1
  263. package/dist/openapi/models/UploadThresholds.js +1 -1
  264. package/dist/openapi/models/UserTier.d.ts +1 -1
  265. package/dist/openapi/models/UserTier.js +1 -1
  266. package/dist/openapi/models/ValidationErrorEnvelope.d.ts +1 -1
  267. package/dist/openapi/models/ValidationErrorEnvelope.js +1 -1
  268. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +1 -1
  269. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js +1 -1
  270. package/dist/openapi/models/WarningType.d.ts +1 -1
  271. package/dist/openapi/models/WarningType.js +1 -1
  272. package/dist/openapi/models/WebhookOperationContext.d.ts +1 -1
  273. package/dist/openapi/models/WebhookOperationContext.js +1 -1
  274. package/dist/openapi/models/WebhookPayload.d.ts +1 -1
  275. package/dist/openapi/models/WebhookPayload.js +1 -1
  276. package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +1 -1
  277. package/dist/openapi/models/WorkflowCancelBillingEffect.js +1 -1
  278. package/dist/openapi/models/WorkflowCancelResponse.d.ts +1 -1
  279. package/dist/openapi/models/WorkflowCancelResponse.js +1 -1
  280. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +1 -1
  281. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +1 -1
  282. package/dist/openapi/models/WorkflowCreateRequest.d.ts +1 -1
  283. package/dist/openapi/models/WorkflowCreateRequest.js +1 -1
  284. package/dist/openapi/models/WorkflowCreateResponse.d.ts +1 -1
  285. package/dist/openapi/models/WorkflowCreateResponse.js +1 -1
  286. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +1 -1
  287. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.js +1 -1
  288. package/dist/openapi/models/WorkflowDownloadResponse.d.ts +1 -1
  289. package/dist/openapi/models/WorkflowDownloadResponse.js +1 -1
  290. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +1 -1
  291. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +1 -1
  292. package/dist/openapi/models/WorkflowEdge.d.ts +1 -1
  293. package/dist/openapi/models/WorkflowEdge.js +1 -1
  294. package/dist/openapi/models/WorkflowExpiredResponse.d.ts +1 -1
  295. package/dist/openapi/models/WorkflowExpiredResponse.js +1 -1
  296. package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +1 -1
  297. package/dist/openapi/models/WorkflowPauseRequiredAction.js +1 -1
  298. package/dist/openapi/models/WorkflowPausedDetail.d.ts +1 -1
  299. package/dist/openapi/models/WorkflowPausedDetail.js +1 -1
  300. package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +1 -1
  301. package/dist/openapi/models/WorkflowPausedDetailLinks.js +1 -1
  302. package/dist/openapi/models/WorkflowProcessing.d.ts +1 -1
  303. package/dist/openapi/models/WorkflowProcessing.js +1 -1
  304. package/dist/openapi/models/WorkflowResumeResponse.d.ts +1 -1
  305. package/dist/openapi/models/WorkflowResumeResponse.js +1 -1
  306. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.d.ts +1 -1
  307. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.js +1 -1
  308. package/dist/openapi/models/WorkflowSource.d.ts +1 -1
  309. package/dist/openapi/models/WorkflowSource.js +1 -1
  310. package/dist/openapi/models/WorkflowStatus.d.ts +1 -1
  311. package/dist/openapi/models/WorkflowStatus.js +1 -1
  312. package/dist/openapi/models/WorkflowStatusResponse.d.ts +1 -1
  313. package/dist/openapi/models/WorkflowStatusResponse.js +1 -1
  314. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +1 -1
  315. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +1 -1
  316. package/dist/openapi/models/WorkflowWarning.d.ts +1 -1
  317. package/dist/openapi/models/WorkflowWarning.js +1 -1
  318. package/dist/openapi/models/WorkflowWarningSeverity.d.ts +1 -1
  319. package/dist/openapi/models/WorkflowWarningSeverity.js +1 -1
  320. package/dist/openapi/models/index.d.ts +2 -0
  321. package/dist/openapi/models/index.js +2 -0
  322. package/dist/openapi/runtime.d.ts +1 -1
  323. package/dist/openapi/runtime.js +1 -1
  324. package/openapi/api.yaml +269 -20
  325. package/operations/schemas/compress.yaml +0 -3
  326. package/operations/schemas/convert.yaml +14 -1
  327. package/package.json +1 -1
package/openapi/api.yaml CHANGED
@@ -75,7 +75,7 @@ info:
75
75
  of truth instead of hardcoding magic numbers. A runtime
76
76
  `GET /api/uploads/limits` endpoint for dynamic discovery
77
77
  (per-tier / per-environment overrides) is a deferred follow-up.
78
- version: 2.15.3
78
+ version: 2.17.0
79
79
  contact:
80
80
  name: API Support
81
81
 
@@ -103,6 +103,14 @@ tags:
103
103
  - name: AudioWatermark
104
104
  description: Steganographic audio watermark embed and decode
105
105
 
106
+ # Spec-root default per ADR-0016 D2: anonymous-OK unless overridden
107
+ # per-operation. Every inbound operation declares an explicit `security:`
108
+ # block (one of `[]`, `[{bearerAuth: []}, {sessionAuth: []}]`, or
109
+ # `[{}, {bearerAuth: []}, {sessionAuth: []}]`) so the contract is
110
+ # self-documenting — `[]` here protects against future endpoints that
111
+ # accidentally inherit a stricter default.
112
+ security: []
113
+
106
114
  paths:
107
115
  # ============================================
108
116
  # UPLOAD ENDPOINTS
@@ -122,6 +130,7 @@ paths:
122
130
  (10 MB). Files above this size MUST use the multipart upload flow
123
131
  instead (`POST /api/uploads/multipart/initiate`).
124
132
  operationId: uploadFile
133
+ security: [{}, {bearerAuth: []}, {sessionAuth: []}] # optional (anon-OK; auth attribution if present)
125
134
  tags:
126
135
  - Upload
127
136
  requestBody:
@@ -321,6 +330,7 @@ paths:
321
330
 
322
331
  After all parts are uploaded to S3, call the complete endpoint to finalise.
323
332
  operationId: multipartInitiate
333
+ security: [{}, {bearerAuth: []}, {sessionAuth: []}] # optional (anon-tolerant; manifest.userId pinned to caller if authed)
324
334
  tags:
325
335
  - Upload
326
336
  requestBody:
@@ -455,6 +465,8 @@ paths:
455
465
  rule and additionally refuse anonymous-initiated sessions
456
466
  outright (returning 403 `MULTIPART_SESSION_AUTH_REQUIRED`).
457
467
  operationId: multipartComplete
468
+ security: [{}, {bearerAuth: []}, {sessionAuth: []}] # optional (anon-tolerant; ownership-scoped per HxUmVr3Y when manifest.userId set)
469
+ x-identity-scoped: true # session/ownership-scoped per ADR-0016 D3
458
470
  tags:
459
471
  - Upload
460
472
  requestBody:
@@ -550,6 +562,8 @@ paths:
550
562
  Completion-readiness is client-derived (walk all pages, compare
551
563
  the count of returned parts to `total_parts`).
552
564
  operationId: multipartStatus
565
+ security: [{bearerAuth: []}, {sessionAuth: []}] # required (anon-initiated sessions rejected with MULTIPART_SESSION_AUTH_REQUIRED — see ErrorCode.authentication_required prose)
566
+ x-identity-scoped: true # session/ownership-scoped per ADR-0016 D3
553
567
  tags:
554
568
  - Upload
555
569
  parameters:
@@ -674,6 +688,8 @@ paths:
674
688
  **Authentication required.** Same `MULTIPART_SESSION_*` codes
675
689
  apply as on `/status`.
676
690
  operationId: multipartPresign
691
+ security: [{bearerAuth: []}, {sessionAuth: []}] # required (anon-initiated sessions rejected; resume-only endpoint)
692
+ x-identity-scoped: true # session/ownership-scoped per ADR-0016 D3
677
693
  tags:
678
694
  - Upload
679
695
  parameters:
@@ -793,6 +809,8 @@ paths:
793
809
  **Authentication required.** Same `MULTIPART_SESSION_*` codes
794
810
  apply as on `/status` and `/presign`.
795
811
  operationId: multipartKeepalive
812
+ security: [{bearerAuth: []}, {sessionAuth: []}] # required (anon-initiated sessions rejected; resume-only endpoint)
813
+ x-identity-scoped: true # session/ownership-scoped per ADR-0016 D3
796
814
  tags:
797
815
  - Upload
798
816
  parameters:
@@ -868,6 +886,8 @@ paths:
868
886
  - **Audio:** duration, bitrate, channels, sample_rate, codec
869
887
  - **Documents:** page_count, dimensions (for PDF)
870
888
  operationId: getUploadMetadata
889
+ security: [{}, {bearerAuth: []}, {sessionAuth: []}] # optional (anon-OK; identity-scoped to caller's session/identity)
890
+ x-identity-scoped: true # ownership-scoped per ADR-0016 D3
871
891
  tags:
872
892
  - Upload
873
893
  parameters:
@@ -955,6 +975,8 @@ paths:
955
975
  same `probed_at` timestamp + result (cached server-side per
956
976
  upload).
957
977
  operationId: probeUpload
978
+ security: [{bearerAuth: []}, {sessionAuth: []}] # required (explicit 401 in response set; ownership-scoped)
979
+ x-identity-scoped: true # ownership-scoped per ADR-0016 D3
958
980
  tags:
959
981
  - Upload
960
982
  x-availability: planned
@@ -1173,6 +1195,8 @@ paths:
1173
1195
  idempotency-key wire shape for retried reservation attempts
1174
1196
  is deferred per ADR-0001 §1.7 row 5.
1175
1197
  operationId: createWorkflow
1198
+ security: [{}, {bearerAuth: []}, {sessionAuth: []}] # optional (anon-OK on free-tier baseline; auth required for tier-gated operations)
1199
+ x-identity-scoped: true # request body dereferences upload file_ids — cross-identity references return 403 per ADR-0016 D3 (NOTE: §D4 ADR sample showed identity_scoped: false; B3 audit flipped to true per §D3 principle — SDK-acked 2026-05-28)
1176
1200
  tags:
1177
1201
  - Workflow
1178
1202
  requestBody:
@@ -1656,6 +1680,8 @@ paths:
1656
1680
  Each operation includes its current progress and, when completed, its result
1657
1681
  (download URL, size, metrics).
1658
1682
  operationId: getWorkflowStatus
1683
+ security: [{}, {bearerAuth: []}, {sessionAuth: []}] # optional (anon-OK; identity-scoped to workflow owner)
1684
+ x-identity-scoped: true # workflow-ownership-scoped per ADR-0016 D3
1659
1685
  tags:
1660
1686
  - Workflow
1661
1687
  parameters:
@@ -1737,6 +1763,8 @@ paths:
1737
1763
  Each job's operations are listed with their output files and pre-signed
1738
1764
  download URLs.
1739
1765
  operationId: getWorkflowDownloads
1766
+ security: [{}, {bearerAuth: []}, {sessionAuth: []}] # optional (anon-OK; identity-scoped to workflow owner)
1767
+ x-identity-scoped: true # workflow-ownership-scoped per ADR-0016 D3
1740
1768
  tags:
1741
1769
  - Workflow
1742
1770
  parameters:
@@ -1839,6 +1867,8 @@ paths:
1839
1867
  (the `id:` and `event:` lines) is transport-level and intentionally
1840
1868
  **not** schema-described.
1841
1869
  operationId: streamWorkflowEvents
1870
+ security: [{}, {bearerAuth: []}, {sessionAuth: []}] # optional (anon-OK; identity-scoped to workflow owner)
1871
+ x-identity-scoped: true # workflow-ownership-scoped per ADR-0016 D3
1842
1872
  tags:
1843
1873
  - Workflow
1844
1874
  parameters:
@@ -1902,6 +1932,8 @@ paths:
1902
1932
  cancel response is the binding "no further reservations
1903
1933
  will be made" signal.
1904
1934
  operationId: cancelWorkflow
1935
+ security: [{bearerAuth: []}, {sessionAuth: []}] # required (explicit 401 in response set)
1936
+ x-identity-scoped: true # workflow-ownership-scoped per ADR-0016 D3
1905
1937
  tags:
1906
1938
  - Workflow
1907
1939
  parameters:
@@ -2004,6 +2036,8 @@ paths:
2004
2036
  a 409 (no-op — the workflow is already running, terminal,
2005
2037
  or cancelled).
2006
2038
  operationId: resumeWorkflow
2039
+ security: [{bearerAuth: []}, {sessionAuth: []}] # required (explicit 401 in response set)
2040
+ x-identity-scoped: true # workflow-ownership-scoped per ADR-0016 D3
2007
2041
  tags:
2008
2042
  - Workflow
2009
2043
  parameters:
@@ -2125,6 +2159,7 @@ paths:
2125
2159
  on `OptionSchema` (ticket I17). Clients should use these to build
2126
2160
  dynamic forms with availability-aware UX.
2127
2161
  operationId: getOperationsSchema
2162
+ security: [{}, {bearerAuth: []}, {sessionAuth: []}] # optional (anon-OK returns free-tier baseline; auth tier-scopes the response)
2128
2163
  tags:
2129
2164
  - Operations
2130
2165
  parameters:
@@ -2287,6 +2322,8 @@ paths:
2287
2322
  The original failed operation is marked as `retried` and a new operation with
2288
2323
  a new ID is created in `pending` state.
2289
2324
  operationId: retryOperation
2325
+ security: [{}, {bearerAuth: []}, {sessionAuth: []}] # optional (anon-OK; identity-scoped to operation owner)
2326
+ x-identity-scoped: true # operation-ownership-scoped per ADR-0016 D3
2290
2327
  tags:
2291
2328
  - Operations
2292
2329
  parameters:
@@ -2340,6 +2377,7 @@ paths:
2340
2377
  summary: Liveness probe
2341
2378
  description: Kubernetes liveness probe endpoint
2342
2379
  operationId: liveness
2380
+ security: [] # anonymous (k8s probe — auth irrelevant)
2343
2381
  tags:
2344
2382
  - Health
2345
2383
  responses:
@@ -2357,6 +2395,7 @@ paths:
2357
2395
  summary: Readiness probe
2358
2396
  description: Kubernetes readiness probe endpoint - checks database and cache connectivity
2359
2397
  operationId: readiness
2398
+ security: [] # anonymous (k8s probe — auth irrelevant)
2360
2399
  tags:
2361
2400
  - Health
2362
2401
  responses:
@@ -2393,6 +2432,7 @@ paths:
2393
2432
  - `429` — infrastructure rate-limit (too many attempts in the current
2394
2433
  window). Distinct from `account_locked`, which is persisted state.
2395
2434
  operationId: loginUser
2435
+ security: [] # anonymous (entry point — you're logging in, no creds yet)
2396
2436
  tags:
2397
2437
  - Auth
2398
2438
  requestBody:
@@ -2580,6 +2620,8 @@ paths:
2580
2620
  endpoint since `AuthController.php:19-22`; this declaration
2581
2621
  catches the contract up).
2582
2622
  operationId: logoutUser
2623
+ security: [{bearerAuth: []}, {sessionAuth: []}] # required (logout requires an authenticated principal to invalidate)
2624
+ x-identity-scoped: true # identity-bound (caller's own session) per ADR-0016 D3 — by symmetry with credits/balance per §D4 sample
2583
2625
  tags:
2584
2626
  - Auth
2585
2627
  responses:
@@ -2674,6 +2716,14 @@ paths:
2674
2716
  per ADR-0001 §1.3); the runtime endpoint returns `404` until
2675
2717
  cross-repo wiring lands.
2676
2718
  operationId: createExternalImport
2719
+ # Auth: REQUIRED defensively. Endpoint is availability:planned (no
2720
+ # controller yet); but the endpoint stores encrypted server-side
2721
+ # secrets (bearer URLs, passwords) and anon-callable secret
2722
+ # storage is almost certainly wrong. Locking the contract here
2723
+ # while we still own the source of truth; runtime tightens to
2724
+ # match when the controller lands. Per ADR-0016 / karen review
2725
+ # on yN309QVb-B2.
2726
+ security: [{bearerAuth: []}, {sessionAuth: []}]
2677
2727
  x-availability: planned
2678
2728
  tags:
2679
2729
  - Upload
@@ -2780,6 +2830,7 @@ paths:
2780
2830
  `feature_not_available` (422) until the Lambda lands. Per
2781
2831
  Tension 1 (ADR-0001 §1.3).
2782
2832
  operationId: decodeAudioWatermark
2833
+ security: [{bearerAuth: []}, {sessionAuth: []}] # required (explicit 401 in response set; tier-gated runtime call)
2783
2834
  tags:
2784
2835
  - AudioWatermark
2785
2836
  x-availability: planned
@@ -2877,6 +2928,8 @@ paths:
2877
2928
  SDKs gate UI on `available_credits` for the spend-now affordance
2878
2929
  and on `tier` for tier-upgrade prompts.
2879
2930
  operationId: getCreditsBalance
2931
+ security: [{bearerAuth: []}, {sessionAuth: []}] # required (identity-scoped to caller's wallet)
2932
+ x-identity-scoped: true # caller's wallet — per ADR-0016 §D4 sample
2880
2933
  tags:
2881
2934
  - Billing
2882
2935
  responses:
@@ -2956,6 +3009,8 @@ paths:
2956
3009
 
2957
3010
  Default page is 20 transactions, ordered most-recent-first.
2958
3011
  operationId: getCreditsUsage
3012
+ security: [{bearerAuth: []}, {sessionAuth: []}] # required (identity-scoped to caller's usage history)
3013
+ x-identity-scoped: true # caller's usage history — per ADR-0016 D3
2959
3014
  tags:
2960
3015
  - Billing
2961
3016
  parameters:
@@ -3139,6 +3194,7 @@ paths:
3139
3194
  On success, returns 204 with no body. The API sends the message via its
3140
3195
  configured delivery channel (e.g. email, queue).
3141
3196
  operationId: submitContact
3197
+ security: [] # anonymous (public contact form)
3142
3198
  tags:
3143
3199
  - Contact
3144
3200
  requestBody:
@@ -3225,6 +3281,38 @@ webhooks:
3225
3281
  description: Callback acknowledged (no body)
3226
3282
 
3227
3283
  components:
3284
+ # Per ADR-0016: auth presence is modeled with OpenAPI-native
3285
+ # `security` / `securitySchemes` (NOT a custom `auth:` field) so codegen,
3286
+ # spectral, and oasdiff understand it natively. Two schemes — the same
3287
+ # Symfony `api` firewall accepts BOTH a bearer API-key and a login-session
3288
+ # cookie. Per-operation `security:` blocks OR the two schemes for the
3289
+ # three idioms (anonymous / required / optional). Spec root carries
3290
+ # `security: []` default (anonymous-OK); per-operation overrides flip
3291
+ # the requirement.
3292
+ securitySchemes:
3293
+ bearerAuth:
3294
+ type: http
3295
+ scheme: bearer
3296
+ description: |
3297
+ API-key bearer authentication. The `ApiKeyAuthenticator`
3298
+ (Symfony `api` firewall) validates
3299
+ `Authorization: Bearer <api-key>` per the prose under
3300
+ `ErrorCode.authentication_required`.
3301
+ sessionAuth:
3302
+ type: apiKey
3303
+ in: cookie
3304
+ name: PHPSESSID
3305
+ description: |
3306
+ Login-session cookie authentication. The `ApiEntryPoint`
3307
+ (Symfony `api` firewall) recognises an authenticated session
3308
+ when the cookie is present and the session has a valid
3309
+ principal. Set by `POST /api/auth/login`; cleared by
3310
+ `POST /api/auth/logout`. Cookie name `PHPSESSID` follows the
3311
+ Symfony / PHP default — no `framework.session.name` override
3312
+ in `compression/config/packages/framework.yaml` as of v2.16.6
3313
+ verification. Update this declaration if the API repo ever
3314
+ adds a `session.name` override.
3315
+
3228
3316
  schemas:
3229
3317
  # ============================================
3230
3318
  # SHARED PRIMITIVES
@@ -7752,6 +7840,63 @@ components:
7752
7840
  discriminator-based dispatch reads the snake_case wire key directly
7753
7841
  (`switch (json['result_kind'])`), avoiding the case-mismatch bug
7754
7842
  entirely.
7843
+
7844
+ **v2.16.1 attempted PHP-template fix (superseded by v2.16.5).**
7845
+ The v2.16.1 cut introduced the shared `SseCompletionBase`
7846
+ schema declaring `result_kind: { enum: [single, multi] }` (both
7847
+ literal values together) and had the branch wrappers
7848
+ allOf-merge it. The intent was to fix the v2.15.3 design where
7849
+ `result_kind` was declared only as `enum: [single]` /
7850
+ `enum: [multi]` inside each branch's inline `allOf` block —
7851
+ which made the openapi-generator PHP template flatten only one
7852
+ branch's enum into `getResultKindAllowableValues()`. The
7853
+ v2.16.1 verification at the time confirmed PHP emitted both
7854
+ values, but against the v2.15.3-generated tree, not against a
7855
+ fresh v2.16.1 regen. SDKs later caught (via codex on the
7856
+ v2.16.3 regen, surfaced by ChSmslxj) that v2.16.1's shared-base
7857
+ fix did NOT actually propagate through the PHP template — the
7858
+ template visits each oneOf branch's allOf and only flattens the
7859
+ per-branch single-value enum, NOT the shared base's full-union
7860
+ enum. PHP root model still emitted `RESULT_KIND_MULTI` only
7861
+ (the second branch's value). SseCompletionBase is RETAINED in
7862
+ v2.16.5 for documentation + JSON Schema branch identification
7863
+ + consumers that traverse the allOf chain, but on its own it
7864
+ is NOT load-bearing for PHP correctness.
7865
+
7866
+ **v2.16.5 ChSmslxj PHP-template fix (load-bearing).**
7867
+ Declares `result_kind` with the full `enum: [single, multi]`
7868
+ directly on the ROOT `SseOperationCompletionResult` schema as
7869
+ a sibling of `oneOf` and `discriminator` (with `type: object`
7870
+ + `required: [result_kind]`). The openapi-generator PHP
7871
+ template flattens this root enum cleanly into
7872
+ `getResultKindAllowableValues()`, emitting both
7873
+ `RESULT_KIND_SINGLE` and `RESULT_KIND_MULTI`. The triple
7874
+ declaration (root + SseCompletionBase + per-branch wrappers)
7875
+ is harmless redundancy: the root carries the full union for
7876
+ the PHP template; SseCompletionBase carries the full union
7877
+ for allOf-chain consumers; per-branch wrappers pin to a
7878
+ single literal value for OpenAPI discriminator semantics +
7879
+ JSON Schema branch identification. TypeScript dispatch is
7880
+ unchanged (`switch (json['result_kind'])` reads the
7881
+ snake_case wire key directly — verified on openapi-generator-
7882
+ cli v7.21.0).
7883
+ type: object
7884
+ required:
7885
+ - result_kind
7886
+ properties:
7887
+ result_kind:
7888
+ type: string
7889
+ enum: [single, multi]
7890
+ description: |
7891
+ Discriminator field. The full `[single, multi]` enum is
7892
+ declared directly on the root (this object) so the
7893
+ openapi-generator PHP template flattens both literal
7894
+ values into `getResultKindAllowableValues()` per
7895
+ ChSmslxj. Also declared on the shared `SseCompletionBase`
7896
+ (retained for consumers that traverse the allOf chain)
7897
+ and on each per-branch wrapper (single-value enum pinning
7898
+ the branch). The triple declaration is harmless redundancy
7899
+ necessary for PHP template flattening.
7755
7900
  oneOf:
7756
7901
  - $ref: '#/components/schemas/SseSingleOutputCompletion'
7757
7902
  - $ref: '#/components/schemas/SseMultiOutputCompletionWithKind'
@@ -7761,46 +7906,71 @@ components:
7761
7906
  single: '#/components/schemas/SseSingleOutputCompletion'
7762
7907
  multi: '#/components/schemas/SseMultiOutputCompletionWithKind'
7763
7908
 
7909
+ SseCompletionBase:
7910
+ type: object
7911
+ description: |
7912
+ Shared base schema for the two `SseOperationCompletionResult`
7913
+ branches. Declares the `result_kind` discriminator field as a
7914
+ `[single, multi]` enum with both literal values, then each branch
7915
+ wrapper allOf-merges this base + its body schema.
7916
+
7917
+ **Rationale (v2.16.1):** the v2.15.3 design declared `result_kind`
7918
+ as a single-value `enum [single]` / `enum [multi]` inside each
7919
+ branch's inline `allOf` block. The openapi-generator PHP template
7920
+ for this shape flattens only the FIRST branch's discriminator enum
7921
+ into the root `getResultKindAllowableValues()` list, so PHP
7922
+ deserialisation rejects the other branch's wire value as invalid.
7923
+ Promoting `result_kind` to a shared base with the full union
7924
+ `enum [single, multi]` makes PHP accept both values; the
7925
+ per-branch `enum [single]` / `enum [multi]` (kept on the wrappers
7926
+ for JSON Schema-level branch identification + OpenAPI
7927
+ discriminator semantics) does not regress. TypeScript dispatch
7928
+ continues to use `switch (json['result_kind'])` — confirmed by
7929
+ codegen verification on openapi-generator-cli v7.21.0.
7930
+ required:
7931
+ - result_kind
7932
+ properties:
7933
+ result_kind:
7934
+ type: string
7935
+ enum: [single, multi]
7936
+ description: |
7937
+ Discriminator field on `SseOperationCompletionResult`. The
7938
+ API SSE serializer emits `"single"` for single-output
7939
+ completion payloads and `"multi"` for multi-output payloads;
7940
+ generated SDK dispatch routes on this value to pick the
7941
+ correct branch deserializer.
7942
+
7764
7943
  SseSingleOutputCompletion:
7765
7944
  description: |
7766
7945
  Single-output branch of `SseOperationCompletionResult` — wraps
7767
- `OperationResult` with a `result_kind: "single"` discriminator field
7768
- so the openapi-generator dispatch can route by wire-format key
7769
- (`result_kind`) rather than by structural property presence.
7770
- See `SseOperationCompletionResult` description for the rationale.
7946
+ `OperationResult` + the shared `SseCompletionBase` + pins
7947
+ `result_kind` to the literal `"single"`. See
7948
+ `SseOperationCompletionResult` description for the rationale +
7949
+ codegen-quirk context.
7771
7950
  allOf:
7772
7951
  - $ref: '#/components/schemas/OperationResult'
7952
+ - $ref: '#/components/schemas/SseCompletionBase'
7773
7953
  - type: object
7774
- required:
7775
- - result_kind
7776
7954
  properties:
7777
7955
  result_kind:
7778
7956
  type: string
7779
7957
  enum: [single]
7780
- description: |
7781
- Discriminator. Always the literal `"single"` for this branch.
7782
- Emitted by the API SSE serializer; consumed by
7783
- `SseOperationCompletionResult` dispatch.
7784
7958
 
7785
7959
  SseMultiOutputCompletionWithKind:
7786
7960
  description: |
7787
7961
  Multi-output branch of `SseOperationCompletionResult` — wraps
7788
- `SseMultiOutputCompletion` with a `result_kind: "multi"` discriminator
7789
- field. See `SseOperationCompletionResult` description for the
7790
- rationale.
7962
+ `SseMultiOutputCompletion` + the shared `SseCompletionBase` +
7963
+ pins `result_kind` to the literal `"multi"`. See
7964
+ `SseOperationCompletionResult` description for the rationale +
7965
+ codegen-quirk context.
7791
7966
  allOf:
7792
7967
  - $ref: '#/components/schemas/SseMultiOutputCompletion'
7968
+ - $ref: '#/components/schemas/SseCompletionBase'
7793
7969
  - type: object
7794
- required:
7795
- - result_kind
7796
7970
  properties:
7797
7971
  result_kind:
7798
7972
  type: string
7799
7973
  enum: [multi]
7800
- description: |
7801
- Discriminator. Always the literal `"multi"` for this branch.
7802
- Emitted by the API SSE serializer; consumed by
7803
- `SseOperationCompletionResult` dispatch.
7804
7974
 
7805
7975
  SseMultiOutputCompletion:
7806
7976
  type: object
@@ -8115,6 +8285,84 @@ components:
8115
8285
  availability metadata per I1 / I17).
8116
8286
  additionalProperties:
8117
8287
  $ref: '#/components/schemas/OperationSchemaDefinition'
8288
+ endpoints:
8289
+ type: object
8290
+ description: |
8291
+ Flat per-endpoint auth/identity projection per
8292
+ [ADR-0016](../docs/decisions/0016-per-endpoint-auth-identity-modeling.md)
8293
+ §D4. Keys are `<METHOD> <PATH>` literals (e.g.
8294
+ `"POST /api/workflows"`); values declare the auth axis +
8295
+ identity-scoping + reserved tier/availability slots +
8296
+ operation_id for SDK ergonomic-layer consumption.
8297
+
8298
+ Webhook operations are EXCLUDED per ADR-0016 §D5 — outbound
8299
+ HMAC-signed callbacks use a separate auth model.
8300
+
8301
+ **Optional in the wire envelope** to keep the runtime
8302
+ endpoint's mirroring obligation incremental: the
8303
+ committed sidecar (yN309QVb-B3 / v2.17.0+) emits this
8304
+ block authoritatively; the runtime `GET /api/operations/
8305
+ schema` MAY mirror it once the API team's runtime
8306
+ generator catches up. Consumers MUST tolerate absent
8307
+ `endpoints` from the runtime endpoint (read the sidecar
8308
+ instead) and MUST tolerate present `endpoints` from
8309
+ either source.
8310
+ additionalProperties:
8311
+ $ref: '#/components/schemas/EndpointProjection'
8312
+
8313
+ EndpointProjection:
8314
+ type: object
8315
+ description: |
8316
+ Per-endpoint projection entry per ADR-0016 §D4. Five fields;
8317
+ `required_tier` and `availability` at endpoint level are
8318
+ reserved/null today (operation-level `required_tier` continues
8319
+ to flow via `operations.*.required_tier`; every shipped
8320
+ endpoint is currently `availability: stable`).
8321
+ required:
8322
+ - auth
8323
+ - identity_scoped
8324
+ - required_tier
8325
+ - availability
8326
+ - operation_id
8327
+ properties:
8328
+ auth:
8329
+ type: string
8330
+ enum: [anonymous, optional, required]
8331
+ description: |
8332
+ 3-value projection of the operation's `security:` block:
8333
+ `anonymous` (`security: []`), `optional` (`security`
8334
+ contains the empty requirement `{}`), `required`
8335
+ (otherwise).
8336
+ identity_scoped:
8337
+ type: boolean
8338
+ description: |
8339
+ Value of the `x-identity-scoped` vendor extension on the
8340
+ operation (default `false`). True iff the operation
8341
+ targets an identity-bound resource and cross-identity
8342
+ access returns 403 — OR acts on the caller's implicit
8343
+ identity-scoped data (credits balance, own session).
8344
+ required_tier:
8345
+ description: |
8346
+ Endpoint-level entitlement gate. Reserved/null today —
8347
+ operation-level `required_tier` flows via
8348
+ `operations.*.required_tier` and is NOT duplicated here.
8349
+ oneOf:
8350
+ - $ref: '#/components/schemas/UserTier'
8351
+ - type: 'null'
8352
+ availability:
8353
+ type: string
8354
+ enum: [stable, beta, experimental, planned, deprecated]
8355
+ description: |
8356
+ Endpoint-level availability tag. Currently always
8357
+ `"stable"` for shipped endpoints. Reserved for future
8358
+ `planned` / `deprecated` endpoint-level annotation.
8359
+ operation_id:
8360
+ type: string
8361
+ description: |
8362
+ OpenAPI `operationId` for the operation. SDK code
8363
+ generators anchor on this for method naming; including
8364
+ it in the sidecar saves a round-trip to `openapi/api.yaml`.
8365
+ Per the SDK ask at ADR-0016 B1 sign-off.
8118
8366
 
8119
8367
  OperationSchemaDefinition:
8120
8368
  type: object
@@ -8291,6 +8539,7 @@ components:
8291
8539
  - boolean
8292
8540
  - enum
8293
8541
  - string
8542
+ - array
8294
8543
  description:
8295
8544
  type: string
8296
8545
  description: Human-readable description
@@ -15,10 +15,7 @@ operation:
15
15
  - image/webp
16
16
  - image/svg+xml
17
17
  - image/tiff
18
- - image/bmp
19
- - image/vnd.microsoft.icon
20
18
  - image/avif
21
- - image/heic
22
19
  options:
23
20
  mode:
24
21
  type: enum
@@ -117,7 +117,20 @@ operation:
117
117
  pages:
118
118
  type: string
119
119
  default: "1"
120
- description: "Page selection (e.g. '1-5,8'). Each page produces a separate output file."
120
+ description: |
121
+ Page selection (e.g. '1-5,8'). Each resolved page produces a
122
+ separate output file. **Maximum 200 resolved entries per
123
+ request** — aligns with the `OperationResult.outputs[]`
124
+ `maxItems: 200` cap per ADR-0009 §D5
125
+ (`docs/decisions/0009-multi-output-result-envelope.md`).
126
+ Expressions resolving to more than 200 entries (e.g.
127
+ `'1-201'`, `'1-100,102-205'`) are out of contract.
128
+ Duplicate or overlapping entries (e.g. `'1,1'`,
129
+ `'1-100,50-150'`) are counted toward the cap as parsed;
130
+ deduplication, if any, is a runtime concern and is NOT part
131
+ of this contract. Enforcement at the API edge validator and
132
+ the Lambda runtime is tracked under WgCqnMRa follow-ups
133
+ (cross-repo: API + Lambdas `bFlEXizR`).
121
134
  dpi:
122
135
  type: integer
123
136
  min: 72
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@giveitsmaller/contracts",
3
- "version": "0.5.0",
3
+ "version": "0.7.0",
4
4
  "description": "Generated contract types for GISL (Give It Smaller)",
5
5
  "license": "MIT",
6
6
  "type": "module",