diff --git a/CHANGELOG.md b/CHANGELOG.md index aa3037c00..22cde5d5d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,13 +16,20 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). * Added a field to specify the Context type that intent can return to the AppD Application schema and extended the findIntent API calls to be able to use it for resolution. ([#499](https://github.com/finos/FDC3/pull/499)) * Added the ability to return a Channel from an intent (via the `IntentResult` type), resolver support for intents that return Channels and the concept of PrivateChannels. ([#508](https://github.com/finos/FDC3/pull/508)) * Added error `UserCancelled` to the `ResolveError` enumeration to be used when user closes the resolver UI or otherwise cancels resolution of a raised intent ([#522](https://github.com/finos/FDC3/pull/522)) +* Added `IntentDeliveryFailed` to the `ResolveError` enumeration to be used when delivery of an intent and context to a targetted app or instance fails. ([#601](https://github.com/finos/FDC3/pull/601)) * Added an `instanceId` (and optional `instanceMetadata`) field to `AppMetadata` allowing it to refer to specific app instances and thereby supporting targetting of intents to specific app instances. Also added a `findInstances()` function to the desktop agent and `TargetAppUnavailable` and `TargetInstanceUnavailable` Errors to the `ResolveError` enumeration. ([#509]((https://github.com/finos/FDC3/pull/509)) * Added a References and Bibliography section to the Standard's documentation to hold links to 'normative references' and other documentation that is useful for understanding the standard ([#530](https://github.com/finos/FDC3/pull/530)) * `IntentResolution` now requires the name of the intent raised to included, allowing it to be used to determine the intent raised via `fdc3.raiseIntentForContext()`. ([#507](https://github.com/finos/FDC3/pull/507)) * A Trademarks page was added to acknowledge trademarks used within the Standard not owned by FINOS or the Linux Foundation ([#534](https://github.com/finos/FDC3/pull/534)) * Added details of FDC3's existing versioning and deprecation policies to the FDC3 compliance page ([#539](https://github.com/finos/FDC3/pull/539)) * Added a new experimental features policy, which exempts features designated as experimental from the versioning and deprecation policies, to the FDC3 compliance page ([#549](https://github.com/finos/FDC3/pull/549)) -* Added `IntentDeliveryFailed` to the `ResolveError` enumeration to be used when delivery of an intent and context to a targetted app or instance fails. ([#601](https://github.com/finos/FDC3/pull/601)) +* Added a definition for "app directory record" to the FDC3 glossary to be used to refer to a single appD record ([#658](https://github.com/finos/FDC3/pull/658)) +* Added `/v2/` paths to the AppD's specification, allowing a single implementation to support serving both FDC3 v1.2 and v2.0 application records, enabling simpler migration ([#666](https://github.com/finos/FDC3/pull/666)) +* Added a `moreInfo` URL field to AppD application records to enable linking to a web page with more information on an app ([#669](https://github.com/finos/FDC3/pull/669)) +* Added `lang` field to AppD application records to specify the primary language of an app and its appD record. ([#670](https://github.com/finos/FDC3/pull/670)) +* Added `localizedVersions` field to AppD application records to support localized versions of descriptive fields in the app records and alternative launch details for localized versions of the applications themselves. ([#670](https://github.com/finos/FDC3/pull/670)) +* Added `type` and `details` elements to AppD application records to support vendor-agnostic launch details for both web and native apps ([#671](https://github.com/finos/FDC3/pull/671)) +* Added `categories` field and recommended categories list to AppD application records to enable category based browsing of AppDs ([#673](https://github.com/finos/FDC3/pull/673)) * Added `AppIdentifier` type, which is a new parent of `AppMetadata` and clarifies required fields for API call parameters which now prefer `appId` and `instanceId` over `name` ([#722](https://github.com/finos/FDC3/pull/722)) ### Changed @@ -36,6 +43,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). * Moved the Icon type definition into the Types documentation page for consistency with other types. ([#493](https://github.com/finos/FDC3/pull/493) * The `fdc3.joinChannel()`, `fdc3.getCurrentChannel()` and `fdc3.leaveCurrentChannel()` functions have been made optional for FDC3 API compliance, but are recommended through the application of the SHOULD keyword. ([#512](https://github.com/finos/FDC3/pull/512)) * All DesktopAgent and Channel API functions are now async for consistency, changing the return type of the `broadcast`, `addIntentListener`, `addContextListener` and `getInfo` functions ([#516](https://github.com/finos/FDC3/pull/516)) +* App Directory `images` field was replaced with `screenshots` to better align the application record with web application manifest and match its format to that used by `icons` ([#675](https://github.com/finos/FDC3/pull/675)) +* App Directory endpoint for creating applications was removed as these will often be implementation dependent and should not be required for compliance ([#695](https://github.com/finos/FDC3/pull/695)) +* App Directory endpoint for searching applications was removed as searches over multiple app directories are better implemented by retrieving all the records and searching over the resulting combined dataset ([#696](https://github.com/finos/FDC3/pull/696)) ### Deprecated diff --git a/docs/app-directory/overview.md b/docs/app-directory/overview.md index d04ccf69e..39feefd3e 100644 --- a/docs/app-directory/overview.md +++ b/docs/app-directory/overview.md @@ -60,6 +60,12 @@ As a vendor, you prefer for all your customers to run your latest software. Howe By hosting our own appD we can easily combine applications from various providers into one cohesive directory. Alternatively, we can connect to directories from multiple providers (in standardized format) and provide a single view over them. This reduces fragmentation in the market, allows end-users more flexibility in what apps to include in their smart desktop, and obviates the need for vendors to provide application details in diverse formats or for their customers to work out these details for themselves. +## Relationship to Other Standards + +The App Directory's application record is similar to application manifests defined in other standards, in particular the W3C's [Web Application Manifest](https://www.w3.org/TR/appmanifest/). However, the App Directory, and by extension the application record, serve a different set of use-cases specific to application interoperability on financial services desktops, which other standards do not fully address. + +Wherever possible, FDC3 seeks to draw inspiration from, align itself with and reference other standards - ensuring that conventions and best practices developed by those standards are reused, along with the standard itself (e.g. data formats in ISO standard formats, external links to technology-specific manifest file formats etc.). For a list of standards that FDC3 references, see the [References](../references) page. + ## Use Cases An application directory provides information about an application's identifiers, publisher details, intents that it supports, and metadata necessary to launch and integrate the application in a desktop agent. diff --git a/docs/app-directory/spec.md b/docs/app-directory/spec.md index f28823ec1..f2b77ab28 100644 --- a/docs/app-directory/spec.md +++ b/docs/app-directory/spec.md @@ -10,6 +10,10 @@ View the [full specification](/schemas/next/app-directory) in [OpenAPI v3.0](htt Endpoint | Method | Description ------------------ | ------ | ----------- - `/v1/apps` | POST | Create a new application definition - `/v1/apps/{appId}` | GET | Retrieve an application defintion - `/v1/apps/search` | GET | Retrieve a list of applications + `/v2/apps` | GET | Retrieve all application definitions + `/v2/apps/{appId}` | GET | Retrieve an application defintion + `/v1/apps` | POST | (deprecated v1 API version) Create a new application definition + `/v1/apps/{appId}` | GET | (deprecated v1 API version) Retrieve an application defintion + `/v1/apps/search` | GET | (deprecated v1 API version) Retrieve a list of applications + +App Directory implementations MAY extend the list of endpoints to provide other necessary functionality. However, FDC3 Desktop Agent implementations MUST support connection to app directories that only provide the minimum endpoints listed here. diff --git a/docs/fdc3-glossary.md b/docs/fdc3-glossary.md index 8dc31c6ce..c76d11add 100644 --- a/docs/fdc3-glossary.md +++ b/docs/fdc3-glossary.md @@ -7,9 +7,11 @@ sidebar_label: Glossary For the purposes of this Standard, the following definitions apply. Other terms are defined when first used, at which place they appear in bold and italic type. Terms explicitly defined in this Standard are not to be presumed to refer implicitly to similar terms defined elsewhere. Terms not defined are assumed to be well-known in the financial services or software industries. -- **app directory**: A repository of application metadata supporting discovery, for example via name or intent, and retrieval of metadata necessary to launch an application. - **app**: Shorthand for application. +- **app directory**: A repository of application metadata supporting discovery, for example via name or intent, and retrieval of metadata necessary to launch an application. +- **app directory record**: Metadata relating to a single application, encoded in JSON. - **appD**: Shorthand for app directory. +- **appD record**: Shorthand for app directory record. - **application**: Any endpoint on the desktop that is registered with/known by a Desktop Agent, launchable by a Desktop Agent, addressable by a Desktop Agent or otherwise able to interact with the Desktop Agent. - **application, hybrid**: Any web application running within the context of a standalone native application that embeds a web view, typically based on Chromium. - **application, native**: A non-web-based application; i.e., one that runs outside the context of web browser, web view or web container. A user-written program—typically implemented in a language such as C++, C#, Java, or Python, rather than JavaScript or TypeScript. diff --git a/docs/references.md b/docs/references.md index f961db6b6..316eff842 100644 --- a/docs/references.md +++ b/docs/references.md @@ -15,8 +15,9 @@ The following normative documents contain provisions, which, through reference i - **OpenAPI Standard v3.0**, [https://www.openapis.org/]. - **RFC 2119**, _Keywords for use in RFCs to Indicate Requirement Levels, March 1997_, [https://datatracker.ietf.org/doc/html/rfc2119]. - **RFC 2782**, _A DNS RR for specifying the location of services (DNS SRV), February 2000_, [https://datatracker.ietf.org/doc/html/rfc2782]. +- **RFC 5646**, _Tags for Identifying Languages, September 2009_, [https://datatracker.ietf.org/doc/html/rfc5646]. - **TypeScript Programming Language**, [https://www.typescriptlang.org/]. - +- **Web Application Manifest**, _W3C Working Draft_, February 2022 [https://www.w3.org/TR/appmanifest/] The following documents may be useful in understanding certain aspects of this Standard; however, knowledge of them is not essential to the creation of a compliant implementation of this Standard: diff --git a/src/app-directory/README.md b/src/app-directory/README.md index 1e002229c..5e1db685b 100644 --- a/src/app-directory/README.md +++ b/src/app-directory/README.md @@ -12,8 +12,8 @@ The purpose of the Application Directory specification within FDC3 is to: ## Specification -* [View the OpenAPI Specification in Swagger](https://editor.swagger.io/?url=https://fdc3.finos.org/schemas/1.1/app-directory.yaml) -* [More about the Specification on the FDC3 Website](https://fdc3.finos.org/docs/1.1/app-directory/overview) +* [View the OpenAPI Specification in Swagger](https://editor.swagger.io/?url=https://fdc3.finos.org/schemas/1.2/app-directory.yaml) +* [More about the Specification on the FDC3 Website](https://fdc3.finos.org/docs/1.2/app-directory/overview) ## Directory structure diff --git a/src/app-directory/specification/appd.yaml b/src/app-directory/specification/appd.yaml index bece799ed..c2a7e4913 100644 --- a/src/app-directory/specification/appd.yaml +++ b/src/app-directory/specification/appd.yaml @@ -1,7 +1,7 @@ openapi: 3.0.0 info: title: FDC3 Application Directory - version: next + version: 'next' description: > Application Directory specification providing both interface definition and objects necessary to construct an application directory @@ -12,9 +12,9 @@ info: security: - bearerAuth: [] paths: - '/v1/apps/{appId}': + '/v2/apps/{appId}': get: - summary: Retrieve an application defintion + summary: Retrieve an application definition parameters: - name: appId in: path @@ -53,8 +53,83 @@ paths: $ref: '#/components/schemas/ErrorDTO' tags: - Application + /v2/apps: + get: + summary: Retrieve all application definitions + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/AllApplicationsResponse' + examples: + FDC3WorkbenchAppDefinitionAllAppsResponse: + $ref: '#/components/examples/FDC3WorkbenchAppDefinitionAllAppsResponse' + '400': + description: Bad request. + content: + '*/*': + schema: + $ref: '#/components/schemas/ErrorDTO' + '403': + description: >- + Forbidden: Certificate authentication is not allowed for the + requested user. + content: + '*/*': + schema: + $ref: '#/components/schemas/ErrorDTO' + '500': + description: 'Server error, see response body for further details.' + content: + '*/*': + schema: + $ref: '#/components/schemas/ErrorDTO' + tags: + - Application + '/v1/apps/{appId}': + get: + deprecated: true + summary: Retrieve an application definition + parameters: + - name: appId + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationV1' + '400': + description: Bad request. + content: + '*/*': + schema: + $ref: '#/components/schemas/ErrorDTO' + '403': + description: >- + Forbidden: Certificate authentication is not allowed for the + requested user. + content: + '*/*': + schema: + $ref: '#/components/schemas/ErrorDTO' + '500': + description: 'Server error, see response body for further details.' + content: + '*/*': + schema: + $ref: '#/components/schemas/ErrorDTO' + tags: + - Application /v1/apps: post: + deprecated: true summary: Create a new application definition responses: '200': @@ -62,10 +137,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ApplicationSearchResponse' - examples: - FDC3WorkbenchAppDefinitionSearchResponse: - $ref: '#/components/examples/FDC3WorkbenchAppDefinitionSearchResponse' + $ref: '#/components/schemas/ApplicationSearchResponseV1' '400': description: Bad request. content: @@ -92,13 +164,11 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Application' - examples: - FDC3WorkbenchAppDefinition: - $ref: '#/components/examples/FDC3WorkbenchAppDefinition' + $ref: '#/components/schemas/ApplicationV1' required: true /v1/apps/search: get: + deprecated: true summary: Retrieve a list of applications based on parameters provided. Depending on implementation, parameter values should self describe search format and type (e.g. Regex) parameters: @@ -179,10 +249,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ApplicationSearchResponse' - examples: - FDC3WorkbenchAppDefinitionSearchResponse: - $ref: '#/components/examples/FDC3WorkbenchAppDefinitionSearchResponse' + $ref: '#/components/schemas/ApplicationSearchResponseV1' '400': description: Bad request. content: @@ -223,6 +290,145 @@ components: format: int32 message: type: string + BaseApplication: + properties: + appId: + type: string + description: > + The unique application identifier located within a specific + application directory instance. + name: + type: string + description: > + The name of the application. + + The name should be unique within an FDC3 App Directory instance. The + exception to the uniqueness constraint is that an App Directory can + hold definitions for multiple versions of the same app. + + The same appName could occur in other directories. We are not + currently specifying app name conventions in the document. + type: + $ref: '#/components/schemas/Type' + details: + $ref: '#/components/schemas/LaunchDetails' + version: + type: string + description: >- + Version of the application. This allows multiple app versions to be + defined using the same app name. This can be a triplet but can also + include things like 1.2.5 (BETA) + title: + type: string + description: >- + Optional title for the application, if missing use appName, + typically used in a launcher UI. + tooltip: + type: string + description: Optional tooltip description e.g. for a launcher + lang: + type: string + pattern: '^[a-z]{2}(-[a-zA-Z0-9]{2,8}){0,1}$' + description: >- + A language tag that specifies the primary language of both the + application and its AppD entry, as defined by IETF RFC 5646. + description: + type: string + description: >- + Description of the application. This will typically be a 1-2 + paragraph style blurb about the application. + categories: + description: | + An array of string categories that describe the application. + These are meant as a hint to catalogs or stores listing FDC3-enabled + apps and it is expected that these will make a best effort to find + appropriate categories (or category) under which to list the app. + AppD record authors are encouraged to use lower-case and, where + possible, to select categories from the following list: + + - allocations + - analytics + - charts + - chat + - communication + - compliance + - crm + - developer tools + - events + - execution management + - file sharing + - market data + - news + - networking + - office apps + - order management + - other + - portfolio management + - presentation + - pricing + - productivity + - research + - risk + - screen sharing + - security + - spreadsheet + - trade cost analysis + - trading system + - training + - travel + - video + - visualisation + - weather + type: array + items: + type: string + icons: + type: array + description: >- + Holds Icons used for the application, a Launcher may be able to use + multiple Icon sizes or there may be a 'button' Icon + items: + $ref: '#/components/schemas/Icon' + screenshots: + type: array + description: >- + Array of images to show the user when they are looking at app + description. Each image can have an optional description/tooltip + items: + $ref: '#/components/schemas/Screenshot' + contactEmail: + type: string + format: email + description: Optional e-mail to receive queries about the application + supportEmail: + type: string + format: email + description: Optional e-mail to receive support requests for the application + moreInfo: + type: string + format: uri + description: Optional URL that provides more infomation about the application + publisher: + type: string + description: >- + The name of the company that owns the application. The publisher has + control over their namespace/app/signature. + customConfig: + type: array + description: >- + An optional set of name value pairs that can be used to deliver + custom data from an App Directory to a launcher. + items: + $ref: '#/components/schemas/NameValuePair' + intents: + type: array + description: > + The list of intents implemented by the Application as defined by + https://github.com/FDC3/Intents/blob/master/src/Intent.yaml + items: + $ref: '#/components/schemas/Intent' + hostManifests: + $ref: '#/components/schemas/HostManifests' Application: description: > Defines an application retrieved from an FDC3 App Directory, which can @@ -231,10 +437,29 @@ components: Launching typically means running for a user on a desktop. The details around 'launching' including who or what might do it, and how the launch action is initiated are discussed elsewhere in the FDC3 App Directory spec. - required: # details are not required as the host type applications use the hostsManifests mapping instead + required: - appId - name - type + - details + allOf: + - $ref: '#/components/schemas/BaseApplication' + - type: object + properties: + localizedVersions: + $ref: '#/components/schemas/LocalizedVersions' + ApplicationV1: + description: > + (Deprecated v1 API version) Defines an application retrieved from an FDC3 App Directory, which can + then be launched. + Launching typically means running for a user on a desktop. + The details around 'launching' including who or what might do it, and how the launch action is initiated are + discussed elsewhere in the FDC3 App Directory spec. + required: + - appId + - name + - manifest + - manifestType properties: appId: type: string @@ -245,21 +470,23 @@ components: type: string description: > The name of the application. - The name should be unique within an FDC3 App Directory instance. The exception to the uniqueness constraint is that an App Directory can hold definitions for multiple versions of the same app. - The same appName could occur in other directories. We are not currently specifying app name conventions in the document. - type: - $ref: '#/components/schemas/Type' - details: - description: >- - The type specific details of the application. Currently only the "browser" type is standardized. - "host" type applications should use the hostManifest's object for all application details. - oneOf: - - $ref: '#/components/schemas/BrowserDetails' + manifest: + type: string + description: > + URI or full JSON of the application manifest providing all details related to launch + and use requirements as described by the vendor. + The format of this manifest is vendor specific, but can be identified by + the manifestType attribute. + manifestType: + type: string + description: > + The manifest type which relates to the format and structure of the manifest content. + The definition is based on the vendor specific format and definition outside of this specification. version: type: string description: >- @@ -285,12 +512,14 @@ components: Array of images to show the user when they are looking at app description. Each image can have an optional description/tooltip items: - $ref: '#/components/schemas/AppImage' + $ref: '#/components/schemas/AppImageV1' contactEmail: type: string + format: email description: Optional e-mail to receive queries about the application supportEmail: type: string + format: email description: Optional e-mail to receive support requests for the application publisher: type: string @@ -303,7 +532,7 @@ components: Holds Icons used for the application, a Launcher may be able to use multiple Icon sizes or there may be a 'button' Icon items: - $ref: '#/components/schemas/Icon' + $ref: '#/components/schemas/IconV1' customConfig: type: array description: >- @@ -317,10 +546,8 @@ components: The list of intents implemented by the Application as defined by https://github.com/FDC3/Intents/blob/master/src/Intent.yaml items: - $ref: '#/components/schemas/Intent' - hostManifests: - $ref: '#/components/schemas/HostManifests' - ApplicationSearchResponse: + $ref: '#/components/schemas/IntentV1' + AllApplicationsResponse: properties: applications: type: array @@ -332,6 +559,18 @@ components: type: string description: | Response message providing status of query + ApplicationSearchResponseV1: + properties: + applications: + type: array + description: | + List of applications + items: + $ref: '#/components/schemas/ApplicationV1' + message: + type: string + description: | + Response message providing status of query NameValuePair: description: Simple name value pair properties: @@ -346,18 +585,43 @@ components: properties: src: type: string + format: uri + description: Icon URL + size: + type: string + description: Icon dimension formatted as `x` + type: + type: string + description: Image media type. If not present the Desktop Agent may use the src file extension + IconV1: + description: (Deprecated v1 API version) Icon holder + properties: + icon: + type: string + format: uri description: Icon URL + Screenshot: + description: Images representing the app in common usage scenarios + properties: + src: + type: string + format: uri + description: App Image URL size: type: string - description: Icon dimension formatted as "x" + description: Icon dimension formatted as `x` type: type: string description: Image media type. If not present the Desktop Agent may use the src file extension - AppImage: + label: + type: string + description: Optional caption for the image + AppImageV1: description: App Image holder properties: url: type: string + format: uri description: App Image URL Intent: description: >- @@ -391,31 +655,118 @@ components: description: >- Custom configuration for the intent that may be required for a particular desktop agent. + IntentV1: + description: >- + (Deprecated v1 API version) An intent definition as defined by spec + https://github.com/FDC3/Intents/blob/master/src/Intent.yaml + required: + - name + properties: + name: + type: string + description: The name of the intent to 'launch'. In this case the name of an Intent supported by an Application. + displayName: + type: string + description: An optional display name for the intent that may be used in UI instead of the name. + contexts: + type: array + items: + type: string + description: >- + A comma separated list of the types of contexts the intent offered by the application can process. + where the first part of the context type is the namespace e.g."fdc3.contact, org.symphony.contact" + customConfig: + type: object + description: >- + Custom configuration for the intent that may be required for a + particular desktop agent. Type: type: string - description: >- - Enumeration describing the supported application types. Currently only the browser application type is officially supported. - The host application type allows for host specific application types (e.g. exe, workspaces, citrix, etc.). + description: | + The technology type that is used to launch and run the application. + Each application type implies a particular set of launch `details`. + The supported types include: + + - `web`: Web applications launched via a URL + - `native`: Native applications pre-installed on a device and launch via a filesystem path + - `citrix`: Apps virtualized via Citrix + - `onlineNative`: Native apps that have an online launcher, e.g. online ClickOnce app deployments. + - `other`: Used to represent apps that do not conform to or cannot be launched via the other types, and are likely to be defined solely by a hostManifest. + + FDC3 Desktop Agents MUST support at least the `web` application type and MAY support any or all of the other types. enum: - - browser - - host - BrowserDetails: - description: Properties common to all browser applications. + - web + - native + - citrix + - onlineNative + - other + LaunchDetails: + description: >- + The type specific launch details of the application. These details are intended to be + vendor-agnostic and MAY be duplicated or overridden by details provided in the hostManifests + object for a specific host. + oneOf: + - $ref: '#/components/schemas/WebAppDetails' + - $ref: '#/components/schemas/NativeAppDetails' + - $ref: '#/components/schemas/CitrixAppDetails' + - $ref: '#/components/schemas/OnlineNativeAppDetails' + - $ref: '#/components/schemas/OtherAppDetails' + WebAppDetails: + description: 'Properties used to launch apps with `type: web`.' required: - url properties: url: type: string + formt: uri + description: Application start URL. + additionalProperties: false + NativeAppDetails: + description: 'Properties used to launch apps with `type: native` that are already installed on the device.' + required: + - path + properties: + path: + type: string + description: The path on disk from which the application is launched. + arguments: + type: string + description: Arguments that must be passed on the command line to launch the app in the expected configuration. + additionalProperties: false + CitrixAppDetails: + description: 'Properties used to launch apps virtualized apps with `type: citrix`.' + required: + - alias + properties: + alias: + type: string + description: The Citrix alias / name of the virtual app (passed to the Citrix SelfService qlaunch parameter). + arguments: + type: string + description: Arguments that must be passed on the command line to launch the app in the expected configuration. + additionalProperties: false + OnlineNativeAppDetails: + description: 'Properties used to launch a native apps with `type: onlineNative` that have an online launcher, e.g. online ClickOnce app deployments.' + required: + - url + properties: + url: + type: string + format: uri description: Application URL. additionalProperties: false + OtherAppDetails: + description: 'Apps with `type: other` are defined by a hostManifest and do not require other details.' + additionalProperties: false HostManifests: type: object description: >- - A mapping from host string to a host-specific application manifest object or URI - from which that manifest can be retrieved. The manifest should provide all details required to - launch and use the application within the specified host. + A mapping from host name to a host-specific application manifest object or URI + from which that manifest can be retrieved. The manifest should provide details required to + launch and use the application within the specified host. The manifest _MAY_ duplicate or + override information provided in the `details` field. additionalProperties: - x-additionalPropertiesName: Host + x-additionalPropertiesName: Host name oneOf: - type: string # URI pointing to a JSON containing all host specific properties format: uri @@ -424,6 +775,15 @@ components: type: object description: >- Object containing all host specific properties. + LocalizedVersions: + type: object # keys should be constrained to valid language tags '^[a-z]{2}(-[a-zA-Z0-9]{2,8}){0,1}$' - not possible to express in OpenAPI without moving to v3.1.0 and the javascript/jsonschema version + description: > + Provides localized alternatives to any field of the AppD record, which may also refer to an alternative + version of the application that is also localized (e.g. by providing customConfig or an alternative URL). + The keys to this object should be language tags as defined by IETF RFC 5646, e.g. en, en-GB or fr-FR. + additionalProperties: + x-additionalPropertiesName: Language tag + $ref: '#/components/schemas/BaseApplication' # due to a bug in redoc this may display as a recursive definition, it is not. It will render correctly in swagger and other OpenAPI parsers. examples: FDC3WorkbenchAppDefinition: value: @@ -431,22 +791,25 @@ components: name: fdc3-workbench title: FDC3 Workbench description: Development and test tool for FDC3 desktop agents and apps + categories: [developer tools, training] version: 1.0.0 tooltip: FDC3 Workbench + lang: en-US icons: - src: http://fdc3.finos.org/toolbox/fdc3-workbench/fdc3-icon-256.png - images: - - url: https://fdc3.finos.org/docs/assets/fdc3-logo.png - tooltip: FDC3 logo + screenshots: + - src: https://fdc3.finos.org/docs/assets/fdc3-logo.png + label: FDC3 logo contactEmail: fdc3@finos.org supportEmail: fdc3-maintainers@finos.org + moreInfo: https://fdc3.finos.org #update to point to implementations page when it exists publisher: FDC3 intents: [{ name: ViewChart, displayName: View Chart, contexts: [fdc3.instrument] }] - type: browser + type: web details: url: https://fdc3.finos.org/toolbox/fdc3-workbench/ hostManifests: { @@ -499,21 +862,29 @@ components: }, Web App Manifest: https://example.com/fdc3-workbench.json } + localizedVersions: { + fr-FR: { + title: FDC3 Table de travail, + description: Outil de développement et de test pour les desktop agents et applications FDC3 + } + } summary: A sample app definition for the FDC3 Workbench application - FDC3WorkbenchAppDefinitionSearchResponse: + FDC3WorkbenchAppDefinitionAllAppsResponse: value: - applications: + applications: # you can't $ref inside a $ref so example is repeated here for search response - appId: fdc3-workbench name: fdc3-workbench title: FDC3 Workbench - description: Development and test tool for FDC3 desktop agents and apps, + description: Development and test tool for FDC3 desktop agents and apps + categories: [developer tools, training] version: 1.0.0 tooltip: FDC3 Workbench + lang: en-US icons: - src: http://fdc3.finos.org/toolbox/fdc3-workbench/fdc3-icon-256.png - images: - - url: https://fdc3.finos.org/docs/assets/fdc3-logo.png, - tooltip: FDC3 logo + screenshots: + - src: https://fdc3.finos.org/docs/assets/fdc3-logo.png, + label: FDC3 logo contactEmail: fdc3@finos.org, supportEmail: fdc3-maintainers@finos.org, publisher: FDC3, @@ -522,7 +893,7 @@ components: displayName: View Chart, contexts: [fdc3.instrument] }] - type: browser + type: web details: url: https://fdc3.finos.org/toolbox/fdc3-workbench/ hostManifests: { @@ -575,5 +946,11 @@ components: }, Web App Manifest: https://example.com/fdc3-workbench.json } + localizedVersions: { + fr-FR: { + title: FDC3 Table de travail, + description: Outil de développement et de test pour les desktop agents et applications FDC3 + } + } message: OK - summary: A sample application search response containing the FDC3 Workbench application + summary: A sample 'all applications' listing response containing the FDC3 Workbench application diff --git a/website/package.json b/website/package.json index 00a9bd6f1..9bf5471c8 100644 --- a/website/package.json +++ b/website/package.json @@ -26,7 +26,7 @@ "del-cli": "4.0.1", "docusaurus": "1.14.7", "docusaurus-delete-version": "0.1.1", - "redoc-cli": "0.10.1", + "redoc-cli": "0.13.10", "replace-in-files-cli": "1.0.0", "replace-json-property": "1.6.3", "rimraf": "3.0.2" diff --git a/website/pages/schemas/1.1/app-directory.html b/website/pages/schemas/1.1/app-directory.html index a149a1725..f9ebbf171 100644 --- a/website/pages/schemas/1.1/app-directory.html +++ b/website/pages/schemas/1.1/app-directory.html @@ -1,24 +1,9 @@ - - - - ReDoc - - - - - - - - - - - - - \ No newline at end of file + + + + diff --git a/website/pages/schemas/1.2/app-directory.html b/website/pages/schemas/1.2/app-directory.html index a149a1725..7ff93048f 100644 --- a/website/pages/schemas/1.2/app-directory.html +++ b/website/pages/schemas/1.2/app-directory.html @@ -1,24 +1,9 @@ - - - - ReDoc - - - - - - - - - - - - - \ No newline at end of file + + + + diff --git a/website/pages/schemas/next/app-directory.html b/website/pages/schemas/next/app-directory.html index a149a1725..faebf3691 100644 --- a/website/pages/schemas/next/app-directory.html +++ b/website/pages/schemas/next/app-directory.html @@ -1,24 +1,9 @@ - - - - ReDoc - - - - - - - - - - - - - \ No newline at end of file + + + + \ No newline at end of file diff --git a/website/static/schemas/1.1/app-directory.yaml b/website/static/schemas/1.1/app-directory.yaml index e1ccdacfd..ac034f4c2 100644 --- a/website/static/schemas/1.1/app-directory.yaml +++ b/website/static/schemas/1.1/app-directory.yaml @@ -1,7 +1,7 @@ openapi: 3.0.0 info: title: FDC3 Application Directory - version: 1.1 + version: '1.1' description: > Application Directory specification providing both interface definition and objects necessary to construct an application directory diff --git a/website/static/schemas/1.2/app-directory.yaml b/website/static/schemas/1.2/app-directory.yaml index 762f275e9..7d06b2692 100644 --- a/website/static/schemas/1.2/app-directory.yaml +++ b/website/static/schemas/1.2/app-directory.yaml @@ -1,7 +1,7 @@ openapi: 3.0.0 info: title: FDC3 Application Directory - version: 1.2 + version: '1.2' description: > Application Directory specification providing both interface definition and objects necessary to construct an application directory diff --git a/website/static/schemas/next/app-directory.yaml b/website/static/schemas/next/app-directory.yaml index bece799ed..c2a7e4913 100644 --- a/website/static/schemas/next/app-directory.yaml +++ b/website/static/schemas/next/app-directory.yaml @@ -1,7 +1,7 @@ openapi: 3.0.0 info: title: FDC3 Application Directory - version: next + version: 'next' description: > Application Directory specification providing both interface definition and objects necessary to construct an application directory @@ -12,9 +12,9 @@ info: security: - bearerAuth: [] paths: - '/v1/apps/{appId}': + '/v2/apps/{appId}': get: - summary: Retrieve an application defintion + summary: Retrieve an application definition parameters: - name: appId in: path @@ -53,8 +53,83 @@ paths: $ref: '#/components/schemas/ErrorDTO' tags: - Application + /v2/apps: + get: + summary: Retrieve all application definitions + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/AllApplicationsResponse' + examples: + FDC3WorkbenchAppDefinitionAllAppsResponse: + $ref: '#/components/examples/FDC3WorkbenchAppDefinitionAllAppsResponse' + '400': + description: Bad request. + content: + '*/*': + schema: + $ref: '#/components/schemas/ErrorDTO' + '403': + description: >- + Forbidden: Certificate authentication is not allowed for the + requested user. + content: + '*/*': + schema: + $ref: '#/components/schemas/ErrorDTO' + '500': + description: 'Server error, see response body for further details.' + content: + '*/*': + schema: + $ref: '#/components/schemas/ErrorDTO' + tags: + - Application + '/v1/apps/{appId}': + get: + deprecated: true + summary: Retrieve an application definition + parameters: + - name: appId + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationV1' + '400': + description: Bad request. + content: + '*/*': + schema: + $ref: '#/components/schemas/ErrorDTO' + '403': + description: >- + Forbidden: Certificate authentication is not allowed for the + requested user. + content: + '*/*': + schema: + $ref: '#/components/schemas/ErrorDTO' + '500': + description: 'Server error, see response body for further details.' + content: + '*/*': + schema: + $ref: '#/components/schemas/ErrorDTO' + tags: + - Application /v1/apps: post: + deprecated: true summary: Create a new application definition responses: '200': @@ -62,10 +137,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ApplicationSearchResponse' - examples: - FDC3WorkbenchAppDefinitionSearchResponse: - $ref: '#/components/examples/FDC3WorkbenchAppDefinitionSearchResponse' + $ref: '#/components/schemas/ApplicationSearchResponseV1' '400': description: Bad request. content: @@ -92,13 +164,11 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Application' - examples: - FDC3WorkbenchAppDefinition: - $ref: '#/components/examples/FDC3WorkbenchAppDefinition' + $ref: '#/components/schemas/ApplicationV1' required: true /v1/apps/search: get: + deprecated: true summary: Retrieve a list of applications based on parameters provided. Depending on implementation, parameter values should self describe search format and type (e.g. Regex) parameters: @@ -179,10 +249,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ApplicationSearchResponse' - examples: - FDC3WorkbenchAppDefinitionSearchResponse: - $ref: '#/components/examples/FDC3WorkbenchAppDefinitionSearchResponse' + $ref: '#/components/schemas/ApplicationSearchResponseV1' '400': description: Bad request. content: @@ -223,6 +290,145 @@ components: format: int32 message: type: string + BaseApplication: + properties: + appId: + type: string + description: > + The unique application identifier located within a specific + application directory instance. + name: + type: string + description: > + The name of the application. + + The name should be unique within an FDC3 App Directory instance. The + exception to the uniqueness constraint is that an App Directory can + hold definitions for multiple versions of the same app. + + The same appName could occur in other directories. We are not + currently specifying app name conventions in the document. + type: + $ref: '#/components/schemas/Type' + details: + $ref: '#/components/schemas/LaunchDetails' + version: + type: string + description: >- + Version of the application. This allows multiple app versions to be + defined using the same app name. This can be a triplet but can also + include things like 1.2.5 (BETA) + title: + type: string + description: >- + Optional title for the application, if missing use appName, + typically used in a launcher UI. + tooltip: + type: string + description: Optional tooltip description e.g. for a launcher + lang: + type: string + pattern: '^[a-z]{2}(-[a-zA-Z0-9]{2,8}){0,1}$' + description: >- + A language tag that specifies the primary language of both the + application and its AppD entry, as defined by IETF RFC 5646. + description: + type: string + description: >- + Description of the application. This will typically be a 1-2 + paragraph style blurb about the application. + categories: + description: | + An array of string categories that describe the application. + These are meant as a hint to catalogs or stores listing FDC3-enabled + apps and it is expected that these will make a best effort to find + appropriate categories (or category) under which to list the app. + AppD record authors are encouraged to use lower-case and, where + possible, to select categories from the following list: + + - allocations + - analytics + - charts + - chat + - communication + - compliance + - crm + - developer tools + - events + - execution management + - file sharing + - market data + - news + - networking + - office apps + - order management + - other + - portfolio management + - presentation + - pricing + - productivity + - research + - risk + - screen sharing + - security + - spreadsheet + - trade cost analysis + - trading system + - training + - travel + - video + - visualisation + - weather + type: array + items: + type: string + icons: + type: array + description: >- + Holds Icons used for the application, a Launcher may be able to use + multiple Icon sizes or there may be a 'button' Icon + items: + $ref: '#/components/schemas/Icon' + screenshots: + type: array + description: >- + Array of images to show the user when they are looking at app + description. Each image can have an optional description/tooltip + items: + $ref: '#/components/schemas/Screenshot' + contactEmail: + type: string + format: email + description: Optional e-mail to receive queries about the application + supportEmail: + type: string + format: email + description: Optional e-mail to receive support requests for the application + moreInfo: + type: string + format: uri + description: Optional URL that provides more infomation about the application + publisher: + type: string + description: >- + The name of the company that owns the application. The publisher has + control over their namespace/app/signature. + customConfig: + type: array + description: >- + An optional set of name value pairs that can be used to deliver + custom data from an App Directory to a launcher. + items: + $ref: '#/components/schemas/NameValuePair' + intents: + type: array + description: > + The list of intents implemented by the Application as defined by + https://github.com/FDC3/Intents/blob/master/src/Intent.yaml + items: + $ref: '#/components/schemas/Intent' + hostManifests: + $ref: '#/components/schemas/HostManifests' Application: description: > Defines an application retrieved from an FDC3 App Directory, which can @@ -231,10 +437,29 @@ components: Launching typically means running for a user on a desktop. The details around 'launching' including who or what might do it, and how the launch action is initiated are discussed elsewhere in the FDC3 App Directory spec. - required: # details are not required as the host type applications use the hostsManifests mapping instead + required: - appId - name - type + - details + allOf: + - $ref: '#/components/schemas/BaseApplication' + - type: object + properties: + localizedVersions: + $ref: '#/components/schemas/LocalizedVersions' + ApplicationV1: + description: > + (Deprecated v1 API version) Defines an application retrieved from an FDC3 App Directory, which can + then be launched. + Launching typically means running for a user on a desktop. + The details around 'launching' including who or what might do it, and how the launch action is initiated are + discussed elsewhere in the FDC3 App Directory spec. + required: + - appId + - name + - manifest + - manifestType properties: appId: type: string @@ -245,21 +470,23 @@ components: type: string description: > The name of the application. - The name should be unique within an FDC3 App Directory instance. The exception to the uniqueness constraint is that an App Directory can hold definitions for multiple versions of the same app. - The same appName could occur in other directories. We are not currently specifying app name conventions in the document. - type: - $ref: '#/components/schemas/Type' - details: - description: >- - The type specific details of the application. Currently only the "browser" type is standardized. - "host" type applications should use the hostManifest's object for all application details. - oneOf: - - $ref: '#/components/schemas/BrowserDetails' + manifest: + type: string + description: > + URI or full JSON of the application manifest providing all details related to launch + and use requirements as described by the vendor. + The format of this manifest is vendor specific, but can be identified by + the manifestType attribute. + manifestType: + type: string + description: > + The manifest type which relates to the format and structure of the manifest content. + The definition is based on the vendor specific format and definition outside of this specification. version: type: string description: >- @@ -285,12 +512,14 @@ components: Array of images to show the user when they are looking at app description. Each image can have an optional description/tooltip items: - $ref: '#/components/schemas/AppImage' + $ref: '#/components/schemas/AppImageV1' contactEmail: type: string + format: email description: Optional e-mail to receive queries about the application supportEmail: type: string + format: email description: Optional e-mail to receive support requests for the application publisher: type: string @@ -303,7 +532,7 @@ components: Holds Icons used for the application, a Launcher may be able to use multiple Icon sizes or there may be a 'button' Icon items: - $ref: '#/components/schemas/Icon' + $ref: '#/components/schemas/IconV1' customConfig: type: array description: >- @@ -317,10 +546,8 @@ components: The list of intents implemented by the Application as defined by https://github.com/FDC3/Intents/blob/master/src/Intent.yaml items: - $ref: '#/components/schemas/Intent' - hostManifests: - $ref: '#/components/schemas/HostManifests' - ApplicationSearchResponse: + $ref: '#/components/schemas/IntentV1' + AllApplicationsResponse: properties: applications: type: array @@ -332,6 +559,18 @@ components: type: string description: | Response message providing status of query + ApplicationSearchResponseV1: + properties: + applications: + type: array + description: | + List of applications + items: + $ref: '#/components/schemas/ApplicationV1' + message: + type: string + description: | + Response message providing status of query NameValuePair: description: Simple name value pair properties: @@ -346,18 +585,43 @@ components: properties: src: type: string + format: uri + description: Icon URL + size: + type: string + description: Icon dimension formatted as `x` + type: + type: string + description: Image media type. If not present the Desktop Agent may use the src file extension + IconV1: + description: (Deprecated v1 API version) Icon holder + properties: + icon: + type: string + format: uri description: Icon URL + Screenshot: + description: Images representing the app in common usage scenarios + properties: + src: + type: string + format: uri + description: App Image URL size: type: string - description: Icon dimension formatted as "x" + description: Icon dimension formatted as `x` type: type: string description: Image media type. If not present the Desktop Agent may use the src file extension - AppImage: + label: + type: string + description: Optional caption for the image + AppImageV1: description: App Image holder properties: url: type: string + format: uri description: App Image URL Intent: description: >- @@ -391,31 +655,118 @@ components: description: >- Custom configuration for the intent that may be required for a particular desktop agent. + IntentV1: + description: >- + (Deprecated v1 API version) An intent definition as defined by spec + https://github.com/FDC3/Intents/blob/master/src/Intent.yaml + required: + - name + properties: + name: + type: string + description: The name of the intent to 'launch'. In this case the name of an Intent supported by an Application. + displayName: + type: string + description: An optional display name for the intent that may be used in UI instead of the name. + contexts: + type: array + items: + type: string + description: >- + A comma separated list of the types of contexts the intent offered by the application can process. + where the first part of the context type is the namespace e.g."fdc3.contact, org.symphony.contact" + customConfig: + type: object + description: >- + Custom configuration for the intent that may be required for a + particular desktop agent. Type: type: string - description: >- - Enumeration describing the supported application types. Currently only the browser application type is officially supported. - The host application type allows for host specific application types (e.g. exe, workspaces, citrix, etc.). + description: | + The technology type that is used to launch and run the application. + Each application type implies a particular set of launch `details`. + The supported types include: + + - `web`: Web applications launched via a URL + - `native`: Native applications pre-installed on a device and launch via a filesystem path + - `citrix`: Apps virtualized via Citrix + - `onlineNative`: Native apps that have an online launcher, e.g. online ClickOnce app deployments. + - `other`: Used to represent apps that do not conform to or cannot be launched via the other types, and are likely to be defined solely by a hostManifest. + + FDC3 Desktop Agents MUST support at least the `web` application type and MAY support any or all of the other types. enum: - - browser - - host - BrowserDetails: - description: Properties common to all browser applications. + - web + - native + - citrix + - onlineNative + - other + LaunchDetails: + description: >- + The type specific launch details of the application. These details are intended to be + vendor-agnostic and MAY be duplicated or overridden by details provided in the hostManifests + object for a specific host. + oneOf: + - $ref: '#/components/schemas/WebAppDetails' + - $ref: '#/components/schemas/NativeAppDetails' + - $ref: '#/components/schemas/CitrixAppDetails' + - $ref: '#/components/schemas/OnlineNativeAppDetails' + - $ref: '#/components/schemas/OtherAppDetails' + WebAppDetails: + description: 'Properties used to launch apps with `type: web`.' required: - url properties: url: type: string + formt: uri + description: Application start URL. + additionalProperties: false + NativeAppDetails: + description: 'Properties used to launch apps with `type: native` that are already installed on the device.' + required: + - path + properties: + path: + type: string + description: The path on disk from which the application is launched. + arguments: + type: string + description: Arguments that must be passed on the command line to launch the app in the expected configuration. + additionalProperties: false + CitrixAppDetails: + description: 'Properties used to launch apps virtualized apps with `type: citrix`.' + required: + - alias + properties: + alias: + type: string + description: The Citrix alias / name of the virtual app (passed to the Citrix SelfService qlaunch parameter). + arguments: + type: string + description: Arguments that must be passed on the command line to launch the app in the expected configuration. + additionalProperties: false + OnlineNativeAppDetails: + description: 'Properties used to launch a native apps with `type: onlineNative` that have an online launcher, e.g. online ClickOnce app deployments.' + required: + - url + properties: + url: + type: string + format: uri description: Application URL. additionalProperties: false + OtherAppDetails: + description: 'Apps with `type: other` are defined by a hostManifest and do not require other details.' + additionalProperties: false HostManifests: type: object description: >- - A mapping from host string to a host-specific application manifest object or URI - from which that manifest can be retrieved. The manifest should provide all details required to - launch and use the application within the specified host. + A mapping from host name to a host-specific application manifest object or URI + from which that manifest can be retrieved. The manifest should provide details required to + launch and use the application within the specified host. The manifest _MAY_ duplicate or + override information provided in the `details` field. additionalProperties: - x-additionalPropertiesName: Host + x-additionalPropertiesName: Host name oneOf: - type: string # URI pointing to a JSON containing all host specific properties format: uri @@ -424,6 +775,15 @@ components: type: object description: >- Object containing all host specific properties. + LocalizedVersions: + type: object # keys should be constrained to valid language tags '^[a-z]{2}(-[a-zA-Z0-9]{2,8}){0,1}$' - not possible to express in OpenAPI without moving to v3.1.0 and the javascript/jsonschema version + description: > + Provides localized alternatives to any field of the AppD record, which may also refer to an alternative + version of the application that is also localized (e.g. by providing customConfig or an alternative URL). + The keys to this object should be language tags as defined by IETF RFC 5646, e.g. en, en-GB or fr-FR. + additionalProperties: + x-additionalPropertiesName: Language tag + $ref: '#/components/schemas/BaseApplication' # due to a bug in redoc this may display as a recursive definition, it is not. It will render correctly in swagger and other OpenAPI parsers. examples: FDC3WorkbenchAppDefinition: value: @@ -431,22 +791,25 @@ components: name: fdc3-workbench title: FDC3 Workbench description: Development and test tool for FDC3 desktop agents and apps + categories: [developer tools, training] version: 1.0.0 tooltip: FDC3 Workbench + lang: en-US icons: - src: http://fdc3.finos.org/toolbox/fdc3-workbench/fdc3-icon-256.png - images: - - url: https://fdc3.finos.org/docs/assets/fdc3-logo.png - tooltip: FDC3 logo + screenshots: + - src: https://fdc3.finos.org/docs/assets/fdc3-logo.png + label: FDC3 logo contactEmail: fdc3@finos.org supportEmail: fdc3-maintainers@finos.org + moreInfo: https://fdc3.finos.org #update to point to implementations page when it exists publisher: FDC3 intents: [{ name: ViewChart, displayName: View Chart, contexts: [fdc3.instrument] }] - type: browser + type: web details: url: https://fdc3.finos.org/toolbox/fdc3-workbench/ hostManifests: { @@ -499,21 +862,29 @@ components: }, Web App Manifest: https://example.com/fdc3-workbench.json } + localizedVersions: { + fr-FR: { + title: FDC3 Table de travail, + description: Outil de développement et de test pour les desktop agents et applications FDC3 + } + } summary: A sample app definition for the FDC3 Workbench application - FDC3WorkbenchAppDefinitionSearchResponse: + FDC3WorkbenchAppDefinitionAllAppsResponse: value: - applications: + applications: # you can't $ref inside a $ref so example is repeated here for search response - appId: fdc3-workbench name: fdc3-workbench title: FDC3 Workbench - description: Development and test tool for FDC3 desktop agents and apps, + description: Development and test tool for FDC3 desktop agents and apps + categories: [developer tools, training] version: 1.0.0 tooltip: FDC3 Workbench + lang: en-US icons: - src: http://fdc3.finos.org/toolbox/fdc3-workbench/fdc3-icon-256.png - images: - - url: https://fdc3.finos.org/docs/assets/fdc3-logo.png, - tooltip: FDC3 logo + screenshots: + - src: https://fdc3.finos.org/docs/assets/fdc3-logo.png, + label: FDC3 logo contactEmail: fdc3@finos.org, supportEmail: fdc3-maintainers@finos.org, publisher: FDC3, @@ -522,7 +893,7 @@ components: displayName: View Chart, contexts: [fdc3.instrument] }] - type: browser + type: web details: url: https://fdc3.finos.org/toolbox/fdc3-workbench/ hostManifests: { @@ -575,5 +946,11 @@ components: }, Web App Manifest: https://example.com/fdc3-workbench.json } + localizedVersions: { + fr-FR: { + title: FDC3 Table de travail, + description: Outil de développement et de test pour les desktop agents et applications FDC3 + } + } message: OK - summary: A sample application search response containing the FDC3 Workbench application + summary: A sample 'all applications' listing response containing the FDC3 Workbench application diff --git a/website/yarn.lock b/website/yarn.lock index 061d52c78..eb48d854e 100644 --- a/website/yarn.lock +++ b/website/yarn.lock @@ -926,7 +926,7 @@ pirates "^4.0.5" source-map-support "^0.5.16" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.8.4": +"@babel/runtime@^7.17.8", "@babel/runtime@^7.8.4": version "7.17.9" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.9.tgz#d19fbf802d01a8cb6cf053a64e472d42c434ba72" integrity sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg== @@ -1058,6 +1058,32 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@redocly/ajv@^8.6.4": + version "8.6.4" + resolved "https://registry.yarnpkg.com/@redocly/ajv/-/ajv-8.6.4.tgz#94053e7a9d4146d1a4feacd3813892873f229a85" + integrity sha512-y9qNj0//tZtWB2jfXNK3BX18BSBp9zNR7KE7lMysVHwbZtY392OJCjm6Rb/h4UHH2r1AqjNEHFD6bRn+DqU9Mw== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +"@redocly/openapi-core@^1.0.0-beta.88": + version "1.0.0-beta.94" + resolved "https://registry.yarnpkg.com/@redocly/openapi-core/-/openapi-core-1.0.0-beta.94.tgz#7fc3a34aea8b0ee12ae2de26bedf90a4cf717366" + integrity sha512-xTklcobv+51bQVkUOpUiNY0GztL+0u3yGsy2BtldaHpcnNGMu3lu/utsoOHkiNTpgVEGyEWVZzBtF6Sz5v/Fkg== + dependencies: + "@redocly/ajv" "^8.6.4" + "@types/node" "^14.11.8" + colorette "^1.2.0" + js-levenshtein "^1.1.6" + js-yaml "^4.1.0" + lodash.isequal "^4.5.0" + minimatch "^3.0.4" + node-fetch "^2.6.1" + pluralize "^8.0.0" + yaml-ast-parser "0.0.43" + "@redocly/react-dropdown-aria@^2.0.11": version "2.0.12" resolved "https://registry.yarnpkg.com/@redocly/react-dropdown-aria/-/react-dropdown-aria-2.0.12.tgz#2e3af2b1b8e9123487109400d6117f0d4a8445a6" @@ -1103,10 +1129,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.30.tgz#2c6e8512acac70815e8176aa30c38025067880ef" integrity sha512-oNBIZjIqyHYP8VCNAV9uEytXVeXG2oR0w9lgAXro20eugRQfY002qr3CUl6BAe+Yf/z3CRjPdz27Pu6WWtuSRw== -"@types/node@^13.11.1": - version "13.13.52" - resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.52.tgz#03c13be70b9031baaed79481c0c0cfb0045e53f7" - integrity sha512-s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ== +"@types/node@^14.11.8": + version "14.18.13" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.13.tgz#6ad4d9db59e6b3faf98dcfe4ca9d2aec84443277" + integrity sha512-Z6/KzgyWOga3pJNS42A+zayjhPbf2zM3hegRQaOPnLOzEi86VV++6FLDWgR1LGrVCRufP/ph2daa3tEa5br1zA== "@types/normalize-package-data@^2.4.0": version "2.4.1" @@ -1159,16 +1185,6 @@ airbnb-prop-types@^2.16.0: prop-types-exact "^1.2.0" react-is "^16.13.1" -ajv@^5.5.2: - version "5.5.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" - integrity sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU= - dependencies: - co "^4.6.0" - fast-deep-equal "^1.0.0" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.3.0" - ajv@^6.12.3: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" @@ -1252,6 +1268,11 @@ argparse@^1.0.10, argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" @@ -1516,19 +1537,6 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" -better-ajv-errors@^0.6.1, better-ajv-errors@^0.6.7: - version "0.6.7" - resolved "https://registry.yarnpkg.com/better-ajv-errors/-/better-ajv-errors-0.6.7.tgz#b5344af1ce10f434fe02fc4390a5a9c811e470d1" - integrity sha512-PYgt/sCzR4aGpyNy5+ViSQ77ognMnWq7745zM+/flYO4/Yisdtp9wDQW2IKCyVYPUxQt3E/b5GBSwfhd1LPdlg== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/runtime" "^7.0.0" - chalk "^2.4.1" - core-js "^3.2.1" - json-to-ast "^2.0.3" - jsonpointer "^4.0.1" - leven "^3.1.0" - big-integer@^1.6.17: version "1.6.51" resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" @@ -2075,7 +2083,7 @@ cheerio@^1.0.0-rc.3: parse5-htmlparser2-tree-adapter "^6.0.1" tslib "^2.2.0" -chokidar@^3.4.1: +chokidar@^3.5.1: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== @@ -2108,7 +2116,7 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -classnames@^2.2.6: +classnames@^2.2.6, classnames@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== @@ -2118,15 +2126,6 @@ clean-stack@^2.0.0: resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - cliui@^7.0.2: version "7.0.4" resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" @@ -2157,11 +2156,6 @@ clsx@^1.1.0: resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188" integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA== -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - coa@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" @@ -2171,11 +2165,6 @@ coa@^2.0.2: chalk "^2.4.1" q "^1.1.2" -code-error-fragment@0.0.230: - version "0.0.230" - resolved "https://registry.yarnpkg.com/code-error-fragment/-/code-error-fragment-0.0.230.tgz#d736d75c832445342eca1d1fedbf17d9618b14d7" - integrity sha512-cadkfKp6932H8UkhzE/gcUqhRMNf8jHzkAN7+5Myabswaghu4xABTgPHDCjW+dBAJxj/SpkTYokpzDqY4pCzQw== - coffee-script@^1.12.4: version "1.12.7" resolved "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.12.7.tgz#c05dae0cb79591d05b3070a8433a98c9a89ccc53" @@ -2229,6 +2218,11 @@ color@^3.0.0: color-convert "^1.9.3" color-string "^1.6.0" +colorette@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" + integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== + combined-stream@^1.0.6, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -2358,11 +2352,6 @@ core-js@^2.6.5: resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== -core-js@^3.2.1: - version "3.22.3" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.22.3.tgz#498c41d997654cb00e81c7a54b44f0ab21ab01d5" - integrity sha512-1t+2a/d2lppW1gkLXx3pKPVGbBdxXAkqztvWb1EJ8oF8O2gIGiytzflNiFEehYwVK/t2ryUsGBoOFFvNx95mbg== - core-util-is@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -3052,7 +3041,7 @@ domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: dependencies: domelementtype "^2.2.0" -dompurify@^2.0.12: +dompurify@^2.2.8: version "2.3.6" resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.3.6.tgz#2e019d7d7617aacac07cbbe3d88ae3ad354cf875" integrity sha512-OFP2u/3T1R5CEgWCEONuJ1a5+MFKnOYpkywpUSxv/dj1LeBT1erK+JwM7zK0ROy2BRhqVCf0LRw/kHqKuMkVGg== @@ -3374,7 +3363,7 @@ etag@~1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= -eventemitter3@^4.0.4: +eventemitter3@^4.0.7: version "4.0.7" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== @@ -3552,11 +3541,6 @@ extsprintf@^1.2.0: resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== -fast-deep-equal@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" - integrity sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ= - fast-deep-equal@^3.1.1: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -3812,11 +3796,6 @@ form-data@~2.3.2: combined-stream "^1.0.6" mime-types "^2.1.12" -format-util@^1.0.3: - version "1.0.5" - resolved "https://registry.yarnpkg.com/format-util/-/format-util-1.0.5.tgz#1ffb450c8a03e7bccffe40643180918cc297d271" - integrity sha512-varLbTj0e0yVyRpqQhuWV+8hlePAgaoFRhNFj50BNjEIrw1/DphHSObtqwskVCPWNgzwPoQrZAbfa/SBiicNeg== - forwarded@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" @@ -3918,7 +3897,7 @@ gensync@^1.0.0-beta.2: resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== -get-caller-file@^2.0.1, get-caller-file@^2.0.5: +get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== @@ -4172,11 +4151,6 @@ graceful-fs@^4.1.10, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== -grapheme-splitter@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" - integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== - gray-matter@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-2.1.1.tgz#3042d9adec2a1ded6a7707a9ed2380f8a17a430e" @@ -4205,7 +4179,7 @@ gzip-size@5.1.1: duplexer "^0.1.1" pify "^4.0.1" -handlebars@^4.7.6: +handlebars@^4.7.7: version "4.7.7" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== @@ -5065,12 +5039,17 @@ jpegtran-bin@^4.0.0: bin-wrapper "^4.0.0" logalot "^2.0.0" +js-levenshtein@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" + integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== + "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@^3.12.1, js-yaml@^3.13.1, js-yaml@^3.8.1: +js-yaml@^3.13.1, js-yaml@^3.8.1: version "3.14.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== @@ -5078,6 +5057,13 @@ js-yaml@^3.12.1, js-yaml@^3.13.1, js-yaml@^3.8.1: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" @@ -5108,32 +5094,23 @@ json-parse-even-better-errors@^2.3.0: resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== -json-pointer@0.6.2, json-pointer@^0.6.0: +json-pointer@0.6.2, json-pointer@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/json-pointer/-/json-pointer-0.6.2.tgz#f97bd7550be5e9ea901f8c9264c9d436a22a93cd" integrity sha512-vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw== dependencies: foreach "^2.0.4" -json-schema-ref-parser@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/json-schema-ref-parser/-/json-schema-ref-parser-6.1.0.tgz#30af34aeab5bee0431da805dac0eb21b574bf63d" - integrity sha512-pXe9H1m6IgIpXmE5JSb8epilNTGsmTb2iPohAXpOdhqGFbQjNeHHsZxU+C8w6T81GZxSPFLeUoqDJmzxx5IGuw== - dependencies: - call-me-maybe "^1.0.1" - js-yaml "^3.12.1" - ono "^4.0.11" - -json-schema-traverse@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" - integrity sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A= - json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + json-schema@0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" @@ -5144,14 +5121,6 @@ json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= -json-to-ast@^2.0.3: - version "2.1.0" - resolved "https://registry.yarnpkg.com/json-to-ast/-/json-to-ast-2.1.0.tgz#041a9fcd03c0845036acb670d29f425cea4faaf9" - integrity sha512-W9Lq347r8tA1DfMvAGn9QNcgYm4Wm7Yc+k8e6vezpMnRT+NHbtlxgNBXRVjXe9YM6eTn6+p/MKOlV/aABJcSnQ== - dependencies: - code-error-fragment "0.0.230" - grapheme-splitter "^1.0.4" - json5@^2.1.2, json5@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" @@ -5182,11 +5151,6 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -jsonpointer@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.1.0.tgz#501fb89986a2389765ba09e6053299ceb4f2c2cc" - integrity sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg== - jsprim@^1.2.2: version "1.4.2" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" @@ -5245,11 +5209,6 @@ lazy-cache@^2.0.2: dependencies: set-getter "^0.1.0" -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - lines-and-columns@^1.1.6: version "1.2.4" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" @@ -5510,10 +5469,10 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lunr@2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.8.tgz#a8b89c31f30b5a044b97d2d28e2da191b6ba2072" - integrity sha512-oxMeX/Y35PNFuZoHp+jUj5OSEmLCaIH4KTFJh7a93cHBoFmpw2IoPs22VIz7vyO2YUnx2Tn9dzIwO2P/4quIRg== +lunr@^2.3.9: + version "2.3.9" + resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" + integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== make-dir@^1.0.0, make-dir@^1.2.0: version "1.3.0" @@ -5587,10 +5546,10 @@ markdown-toc@^1.2.0: repeat-string "^1.6.1" strip-color "^0.1.0" -marked@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/marked/-/marked-0.7.0.tgz#b64201f051d271b1edc10a04d1ae9b74bb8e5c0e" - integrity sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg== +marked@^4.0.10: + version "4.0.14" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.14.tgz#7a3a5fa5c80580bac78c1ed2e3b84d7bd6fc3870" + integrity sha512-HL5sSPE/LP6U9qKgngIIPTthuxC0jrfxpYMZ3LdGDD3vTnLs59m2Z7r6+LNDR3ToqEQdkKd6YaaEfJhodJmijQ== math-random@^1.0.1: version "1.0.4" @@ -5621,11 +5580,6 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= -memoize-one@~5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.1.1.tgz#047b6e3199b508eaec03504de71229b8eb1d75c0" - integrity sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA== - meow@^10.1.0: version "10.1.2" resolved "https://registry.yarnpkg.com/meow/-/meow-10.1.2.tgz#62951cb69afa69594142c8250806bc30a3912e4d" @@ -5846,14 +5800,14 @@ mobx-react-lite@^3.3.0: resolved "https://registry.yarnpkg.com/mobx-react-lite/-/mobx-react-lite-3.3.0.tgz#7174e807201943beff6f9d3701492314c9fc0db3" integrity sha512-U/kMSFtV/bNVgY01FuiGWpRkaQVHozBq5CEBZltFvPt4FcV111hEWkgwqVg9GPPZSEuEdV438PEz8mk8mKpYlA== -mobx-react@^7.0.5: +mobx-react@^7.2.0: version "7.3.0" resolved "https://registry.yarnpkg.com/mobx-react/-/mobx-react-7.3.0.tgz#a17dedb71b75dad2337e3f95eb753179f6cfe732" integrity sha512-RGEcwZokopqyJE5JPwXKB9FWMSqFM9NJVO2QPI+z6laJTJeBHqvPicjnKgY5mvihxTeXB1+72TnooqUePeGV1g== dependencies: mobx-react-lite "^3.3.0" -mobx@^6.0.4: +mobx@^6.3.2: version "6.5.0" resolved "https://registry.yarnpkg.com/mobx/-/mobx-6.5.0.tgz#dc2d028b1882737f6e813fc92454381e438b7ad3" integrity sha512-pHZ/cySF00FVENDWIDzJyoObFahK6Eg4d0papqm6d7yMkxWTZ/S/csqJX1A3PsYy4t5k3z2QnlwuCfMW5lSEwA== @@ -5932,6 +5886,13 @@ node-fetch-h2@^2.3.0: dependencies: http2-client "^1.2.5" +node-fetch@^2.6.1: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" + node-libs-browser@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" @@ -6063,7 +6024,7 @@ oas-kit-common@^1.0.8: dependencies: fast-safe-stringify "^2.0.7" -oas-linter@^3.1.3: +oas-linter@^3.2.2: version "3.2.2" resolved "https://registry.yarnpkg.com/oas-linter/-/oas-linter-3.2.2.tgz#ab6a33736313490659035ca6802dc4b35d48aa1e" integrity sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ== @@ -6072,7 +6033,7 @@ oas-linter@^3.1.3: should "^13.2.1" yaml "^1.10.0" -oas-resolver@^2.4.3: +oas-resolver@^2.5.6: version "2.5.6" resolved "https://registry.yarnpkg.com/oas-resolver/-/oas-resolver-2.5.6.tgz#10430569cb7daca56115c915e611ebc5515c561b" integrity sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ== @@ -6088,21 +6049,19 @@ oas-schema-walker@^1.1.5: resolved "https://registry.yarnpkg.com/oas-schema-walker/-/oas-schema-walker-1.1.5.tgz#74c3cd47b70ff8e0b19adada14455b5d3ac38a22" integrity sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ== -oas-validator@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/oas-validator/-/oas-validator-4.0.8.tgz#4f1a4d6bd9e030ad07db03fd7a7bc3a91aabcc7d" - integrity sha512-bIt8erTyclF7bkaySTtQ9sppqyVc+mAlPi7vPzCLVHJsL9nrivQjc/jHLX/o+eGbxHd6a6YBwuY/Vxa6wGsiuw== +oas-validator@^5.0.8: + version "5.0.8" + resolved "https://registry.yarnpkg.com/oas-validator/-/oas-validator-5.0.8.tgz#387e90df7cafa2d3ffc83b5fb976052b87e73c28" + integrity sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw== dependencies: - ajv "^5.5.2" - better-ajv-errors "^0.6.7" call-me-maybe "^1.0.1" oas-kit-common "^1.0.8" - oas-linter "^3.1.3" - oas-resolver "^2.4.3" + oas-linter "^3.2.2" + oas-resolver "^2.5.6" oas-schema-walker "^1.1.5" - reftools "^1.1.5" + reftools "^1.1.9" should "^13.2.1" - yaml "^1.8.3" + yaml "^1.10.0" oauth-sign@~0.9.0: version "0.9.0" @@ -6215,13 +6174,6 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: dependencies: wrappy "1" -ono@^4.0.11: - version "4.0.11" - resolved "https://registry.yarnpkg.com/ono/-/ono-4.0.11.tgz#c7f4209b3e396e8a44ef43b9cedc7f5d791d221d" - integrity sha512-jQ31cORBFE6td25deYeD80wxKBMj+zBmHTrVxnc6CKhx8gho6ipmWM5zj/oeoqioZ99yqBls9Z/9Nss7J26G2g== - dependencies: - format-util "^1.0.3" - open@^7.0.2: version "7.4.2" resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" @@ -6230,10 +6182,10 @@ open@^7.0.2: is-docker "^2.0.0" is-wsl "^2.1.1" -openapi-sampler@^1.0.0-beta.18: - version "1.2.3" - resolved "https://registry.yarnpkg.com/openapi-sampler/-/openapi-sampler-1.2.3.tgz#753b69c4f45b54682469f2343399a10bc60ec993" - integrity sha512-dH2QYXqakorV5dxkP/f1BV3Ku4yNn21YmBsqJunnyrHLw7mnCNZZldftgrEpv/66b1m5oaUAmiJoJN+FqBEkJg== +openapi-sampler@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/openapi-sampler/-/openapi-sampler-1.2.1.tgz#2ca9eea527f8f2ddb32c3ae1dda31afd8bf0833f" + integrity sha512-mHrYmyvcLD0qrfqPkPRBAL2z16hGT2rW0d0B7nklfoTcc3pmkJLkSZlKSeFgerUM41E5c7jlxf0Y19xrM7mWQQ== dependencies: "@types/json-schema" "^7.0.7" json-pointer "0.6.2" @@ -6479,6 +6431,11 @@ path-browserify@0.0.1: resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== +path-browserify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" + integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== + path-dirname@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" @@ -6563,7 +6520,7 @@ pend@~1.2.0: resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= -perfect-scrollbar@^1.4.0: +perfect-scrollbar@^1.5.1: version "1.5.5" resolved "https://registry.yarnpkg.com/perfect-scrollbar/-/perfect-scrollbar-1.5.5.tgz#41a211a2fb52a7191eff301432134ea47052b27f" integrity sha512-dzalfutyP3e/FOpdlhVryN4AJ5XDVauVWxybSkLZmakFE2sS3y3pc4JnSprw8tGmHvkaG5Edr5T7LBTZ+WWU2g== @@ -6634,12 +6591,17 @@ pkg-up@3.1.0: dependencies: find-up "^3.0.0" -polished@^3.6.5: - version "3.7.2" - resolved "https://registry.yarnpkg.com/polished/-/polished-3.7.2.tgz#ec5ddc17a7d322a574d5e10ddd2a6f01d3e767d1" - integrity sha512-pQKtpZGmsZrW8UUpQMAnR7s3ppHeMQVNyMDKtUyKwuvDmklzcEyM5Kllb3JyE/sE/x7arDmyd35i+4vp99H6sQ== +pluralize@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" + integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== + +polished@^4.1.3: + version "4.2.2" + resolved "https://registry.yarnpkg.com/polished/-/polished-4.2.2.tgz#2529bb7c3198945373c52e34618c8fe7b1aa84d1" + integrity sha512-Sz2Lkdxz6F2Pgnpi9U5Ng/WdWAUZxmHrNPoVlm3aAemxoy2Qy7LGjQg4uf8qKelDAUW94F4np3iH2YPf2qefcQ== dependencies: - "@babel/runtime" "^7.12.5" + "@babel/runtime" "^7.17.8" portfinder@^1.0.28: version "1.0.28" @@ -6951,7 +6913,7 @@ pretty-bytes@^5.6.0: resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== -prismjs@^1.20.0, prismjs@^1.22.0: +prismjs@^1.22.0, prismjs@^1.27.0: version "1.28.0" resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.28.0.tgz#0d8f561fa0f7cf6ebca901747828b149147044b6" integrity sha512-8aaXdYvl1F7iC7Xm1spqSaY/OJBpYW3v+KJ+F17iYxvdc8sfjW194COK5wVhMZX45tGteiBQgdvD/nhxcRwylw== @@ -7198,7 +7160,7 @@ react-dev-utils@^11.0.1: strip-ansi "6.0.0" text-table "0.2.0" -react-dom@^16.13.1, react-dom@^16.8.4: +react-dom@^16.8.4: version "16.14.0" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.14.0.tgz#7ad838ec29a777fb3c75c3a190f661cf92ab8b89" integrity sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw== @@ -7208,6 +7170,15 @@ react-dom@^16.13.1, react-dom@^16.8.4: prop-types "^15.6.2" scheduler "^0.19.1" +react-dom@^17.0.1: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" + integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + scheduler "^0.20.2" + react-error-overlay@^6.0.9: version "6.0.11" resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.11.tgz#92835de5841c5cf08ba00ddd2d677b6d17ff9adb" @@ -7218,7 +7189,7 @@ react-is@^16.13.1, react-is@^16.7.0, react-is@^16.8.6: resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -react-tabs@^3.1.1: +react-tabs@^3.2.2: version "3.2.3" resolved "https://registry.yarnpkg.com/react-tabs/-/react-tabs-3.2.3.tgz#ccbb3e1241ad3f601047305c75db661239977f2f" integrity sha512-jx325RhRVnS9DdFbeF511z0T0WEqEoMl1uCE3LoZ6VaZZm7ytatxbum0B8bCTmaiV0KsU+4TtLGTGevCic7SWg== @@ -7236,7 +7207,7 @@ react-test-renderer@^16.0.0-0: react-is "^16.8.6" scheduler "^0.19.1" -react@^16.13.1, react@^16.8.4: +react@^16.8.4: version "16.14.0" resolved "https://registry.yarnpkg.com/react/-/react-16.14.0.tgz#94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d" integrity sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g== @@ -7245,6 +7216,14 @@ react@^16.13.1, react@^16.8.4: object-assign "^4.1.1" prop-types "^15.6.2" +react@^17.0.1: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" + integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + read-pkg-up@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" @@ -7367,52 +7346,50 @@ redent@^4.0.0: indent-string "^5.0.0" strip-indent "^4.0.0" -redoc-cli@0.10.1: - version "0.10.1" - resolved "https://registry.yarnpkg.com/redoc-cli/-/redoc-cli-0.10.1.tgz#56861390f607abf8eb88cade2712e8dcb4368ff8" - integrity sha512-RZqE1dFdIB3hBvxpBc+CRTjD10xDdPIUk3xA4moHzQMP5Gp2MeGCiRWyt747+4CV42s7oUQbxSMeeY1IMz0vAQ== +redoc-cli@0.13.10: + version "0.13.10" + resolved "https://registry.yarnpkg.com/redoc-cli/-/redoc-cli-0.13.10.tgz#188a9b0f3b43a80bc0ad62ee0b12bb6352179aa0" + integrity sha512-txYchKO6rpXJapD6Kg/Vd6mEg3ZJDz+TLCev8dvj8cGQxiSZDJ/V/x3uRfg03EH5FrC71kHC4ETI97MUlye9NQ== dependencies: - chokidar "^3.4.1" - handlebars "^4.7.6" + chokidar "^3.5.1" + handlebars "^4.7.7" isarray "^2.0.5" mkdirp "^1.0.4" - mobx "^6.0.4" + mobx "^6.3.2" node-libs-browser "^2.2.1" - react "^16.13.1" - react-dom "^16.13.1" - redoc "2.0.0-rc.47" - styled-components "^5.1.1" - tslib "^2.0.0" - yargs "^15.4.1" - -redoc@2.0.0-rc.47: - version "2.0.0-rc.47" - resolved "https://registry.yarnpkg.com/redoc/-/redoc-2.0.0-rc.47.tgz#4c1998684bfd80529027393ee0d00b2451a780a3" - integrity sha512-weoRsJngABqWOuign5wXqVHLE0WRpODNQqwsZqtdKqCQ/paLxJRMBqSklAQdUnx4x5SEYvLxXatUGnw1mp2o4g== - dependencies: + react "^17.0.1" + react-dom "^17.0.1" + redoc "2.0.0-rc.66" + styled-components "^5.3.0" + yargs "^17.3.1" + +redoc@2.0.0-rc.66: + version "2.0.0-rc.66" + resolved "https://registry.yarnpkg.com/redoc/-/redoc-2.0.0-rc.66.tgz#f38495c408ab1b9d1f9bd5db2cdae09a21047018" + integrity sha512-ZjmZhYkg46QAkza4SYCouY3TEuqnkjf50uyJBiz6Dyaz55RLClofAKokPoy5uEBo0RkPjxebKf9HTGyrxNqJ8A== + dependencies: + "@redocly/openapi-core" "^1.0.0-beta.88" "@redocly/react-dropdown-aria" "^2.0.11" - "@types/node" "^13.11.1" - classnames "^2.2.6" + classnames "^2.3.1" decko "^1.2.0" - dompurify "^2.0.12" - eventemitter3 "^4.0.4" - json-pointer "^0.6.0" - json-schema-ref-parser "^6.1.0" - lunr "2.3.8" + dompurify "^2.2.8" + eventemitter3 "^4.0.7" + json-pointer "^0.6.2" + lunr "^2.3.9" mark.js "^8.11.1" - marked "^0.7.0" - memoize-one "~5.1.1" - mobx-react "^7.0.5" - openapi-sampler "^1.0.0-beta.18" - perfect-scrollbar "^1.4.0" - polished "^3.6.5" - prismjs "^1.20.0" + marked "^4.0.10" + mobx-react "^7.2.0" + openapi-sampler "^1.2.1" + path-browserify "^1.0.1" + perfect-scrollbar "^1.5.1" + polished "^4.1.3" + prismjs "^1.27.0" prop-types "^15.7.2" - react-tabs "^3.1.1" - slugify "^1.4.4" + react-tabs "^3.2.2" + slugify "~1.4.7" stickyfill "^1.1.1" - swagger2openapi "^6.2.1" - tslib "^2.0.0" + style-loader "^3.3.1" + swagger2openapi "^7.0.6" url-template "^2.0.8" reflect.ownkeys@^0.2.0: @@ -7420,7 +7397,7 @@ reflect.ownkeys@^0.2.0: resolved "https://registry.yarnpkg.com/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz#749aceec7f3fdf8b63f927a04809e90c5c0b3460" integrity sha1-dJrO7H8/34tj+SegSAnpDFwLNGA= -reftools@^1.1.5, reftools@^1.1.9: +reftools@^1.1.9: version "1.1.9" resolved "https://registry.yarnpkg.com/reftools/-/reftools-1.1.9.tgz#e16e19f662ccd4648605312c06d34e5da3a2b77e" integrity sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w== @@ -7571,10 +7548,10 @@ require-directory@^2.1.1: resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== resolve-from@^3.0.0: version "3.0.0" @@ -7699,6 +7676,14 @@ scheduler@^0.19.1: loose-envify "^1.1.0" object-assign "^4.1.1" +scheduler@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" + integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + seek-bzip@^1.0.5: version "1.0.6" resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.6.tgz#35c4171f55a680916b52a07859ecf3b5857f21c4" @@ -7769,11 +7754,6 @@ serve-static@1.15.0: parseurl "~1.3.3" send "0.18.0" -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - set-getter@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/set-getter/-/set-getter-0.1.1.tgz#a3110e1b461d31a9cfc8c5c9ee2e9737ad447102" @@ -7954,10 +7934,10 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== -slugify@^1.4.4: - version "1.6.5" - resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.6.5.tgz#c8f5c072bf2135b80703589b39a3d41451fbe8c8" - integrity sha512-8mo9bslnBO3tr5PEVFzMPIWwWnipGS0xVbYf65zxDqfNwmzYn1LpiKNrR6DlClusuvo+hDHd1zKpmfAe83NQSQ== +slugify@~1.4.7: + version "1.4.7" + resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.4.7.tgz#e42359d505afd84a44513280868e31202a79a628" + integrity sha512-tf+h5W1IrjNm/9rKKj0JU2MDMruiopx0jjVA5zCdBtcGjfp0+c5rHw/zADLC3IeKlGHtVbHtpfzvYA0OYT+HKg== snapdragon-node@^2.0.1: version "2.1.1" @@ -8284,7 +8264,12 @@ strip-outer@^1.0.0: dependencies: escape-string-regexp "^1.0.2" -styled-components@^5.1.1: +style-loader@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.1.tgz#057dfa6b3d4d7c7064462830f9113ed417d38575" + integrity sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ== + +styled-components@^5.3.0: version "5.3.5" resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-5.3.5.tgz#a750a398d01f1ca73af16a241dec3da6deae5ec4" integrity sha512-ndETJ9RKaaL6q41B69WudeqLzOpY1A/ET/glXkNZ2T7dPjPqpPCXXQjDFYZWwNnE5co0wX+gTCqx9mfxTmSIPg== @@ -8352,22 +8337,22 @@ svgo@^1.0.0, svgo@^1.3.2: unquote "~1.1.1" util.promisify "~1.0.0" -swagger2openapi@^6.2.1: - version "6.2.3" - resolved "https://registry.yarnpkg.com/swagger2openapi/-/swagger2openapi-6.2.3.tgz#4a8059f89d851aee4c9ab178f9b7190debd904e2" - integrity sha512-cUUktzLpK69UwpMbcTzjMw2ns9RZChfxh56AHv6+hTx3StPOX2foZjPgds3HlJcINbxosYYBn/D3cG8nwcCWwQ== +swagger2openapi@^7.0.6: + version "7.0.8" + resolved "https://registry.yarnpkg.com/swagger2openapi/-/swagger2openapi-7.0.8.tgz#12c88d5de776cb1cbba758994930f40ad0afac59" + integrity sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g== dependencies: - better-ajv-errors "^0.6.1" call-me-maybe "^1.0.1" + node-fetch "^2.6.1" node-fetch-h2 "^2.3.0" node-readfiles "^0.2.0" oas-kit-common "^1.0.8" - oas-resolver "^2.4.3" + oas-resolver "^2.5.6" oas-schema-walker "^1.1.5" - oas-validator "^4.0.8" - reftools "^1.1.5" - yaml "^1.8.3" - yargs "^15.3.1" + oas-validator "^5.0.8" + reftools "^1.1.9" + yaml "^1.10.0" + yargs "^17.0.1" tapable@^1.0.0: version "1.1.3" @@ -8527,6 +8512,11 @@ tr46@^1.0.1: dependencies: punycode "^2.1.0" +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= + "traverse@>=0.3.0 <0.4": version "0.3.9" resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" @@ -8571,7 +8561,7 @@ truncate-html@^1.0.3: "@types/cheerio" "^0.22.8" cheerio "0.22.0" -tslib@^2.0.0, tslib@^2.2.0, tslib@^2.3.0: +tslib@^2.2.0, tslib@^2.3.0: version "2.4.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== @@ -8863,6 +8853,11 @@ vm-browserify@^1.0.1: resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= + webidl-conversions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" @@ -8882,6 +8877,14 @@ websocket-extensions@>=0.1.1: resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + whatwg-url@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" @@ -8902,11 +8905,6 @@ which-boxed-primitive@^1.0.2: is-string "^1.0.5" is-symbol "^1.0.3" -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - which@^1.2.9, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" @@ -8938,15 +8936,6 @@ worker-rpc@^0.1.0: dependencies: microevent.ts "~0.1.1" -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" @@ -8988,11 +8977,6 @@ xtend@^4.0.0, xtend@~4.0.1: resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - y18n@^5.0.5: version "5.0.8" resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" @@ -9008,7 +8992,12 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.10.0, yaml@^1.8.3: +yaml-ast-parser@0.0.43: + version "0.0.43" + resolved "https://registry.yarnpkg.com/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz#e8a23e6fb4c38076ab92995c5dca33f3d3d7c9bb" + integrity sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A== + +yaml@^1.10.0: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== @@ -9021,7 +9010,7 @@ yamljs@^0.2.1: argparse "^1.0.7" glob "^7.0.5" -yargs-parser@^18.1.2, yargs-parser@^18.1.3: +yargs-parser@^18.1.3: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== @@ -9039,24 +9028,7 @@ yargs-parser@^21.0.0: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35" integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg== -yargs@^15.3.1, yargs@^15.4.1: - version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" - -yargs@^17.0.1: +yargs@^17.0.1, yargs@^17.3.1: version "17.4.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.4.1.tgz#ebe23284207bb75cee7c408c33e722bfb27b5284" integrity sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==