diff --git a/.github/workflows/hugo.yml b/.github/workflows/hugo.yml deleted file mode 100644 index 5544a15..0000000 --- a/.github/workflows/hugo.yml +++ /dev/null @@ -1,82 +0,0 @@ -# Sample workflow for building and deploying a Hugo site to GitHub Pages -name: Deploy Hugo site to Pages - -on: - # Runs on pushes targeting the default branch - push: - branches: ["main"] - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - -# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages -permissions: - contents: read - pages: write - id-token: write - -# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. -# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. -concurrency: - group: "pages" - cancel-in-progress: false - -# Default to bash -defaults: - run: - shell: bash - -jobs: - # Build job - build: - runs-on: ubuntu-latest - env: - HUGO_VERSION: 0.114.0 - steps: - - name: Install Hugo CLI - run: | - wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \ - && sudo dpkg -i ${{ runner.temp }}/hugo.deb - - name: Install Dart Sass - run: sudo snap install dart-sass - - name: Checkout - uses: actions/checkout@v3 - with: - submodules: recursive - - name: Setup Pages - id: pages - uses: actions/configure-pages@v3 - - name: Install Node.js dependencies - run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true" - - name: download openapi definition - uses: Legit-Labs/action-download-artifact@v2 - with: - workflow: gradle.yml - name: openapi - path: ./static/openapi/ - repo: orppst/pst-api-service - - name: Build with Hugo - env: - # For maximum backward compatibility with Hugo modules - HUGO_ENVIRONMENT: production - HUGO_ENV: production - run: | - hugo \ - --minify \ - --baseURL "${{ steps.pages.outputs.base_url }}/" - - name: Upload artifact - uses: actions/upload-pages-artifact@v2 - with: - path: ./public - - # Deployment job - deploy: - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-latest - needs: build - steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v2 diff --git a/.github/workflows/site.yml b/.github/workflows/site.yml new file mode 100644 index 0000000..7f6c268 --- /dev/null +++ b/.github/workflows/site.yml @@ -0,0 +1,26 @@ +name: site +on: + push: + branches: + - master + - main +permissions: + contents: write +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: 3.x + - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV + - uses: actions/cache@v3 + with: + key: mkdocs-material-${{ env.cache_id }} + path: .cache + restore-keys: | + mkdocs-material- + - run: pip install mkdocs-material + - name: Deploy site + run: mkdocs gh-deploy --force diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index db177d4..22b0eb1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,12 +8,7 @@ just a few small guidelines you need to follow. Contributions to this project must be accompanied by a Contributor License Agreement. You (or your employer) retain the copyright to your contribution; this simply gives us permission to use and redistribute your contributions as -part of the project. Head over to to see -your current agreements on file or to sign a new one. - -You generally only need to submit a CLA once, so if you've already submitted one -(even if it was for a different project), you probably don't need to do it -again. +part of the project. ## Code reviews @@ -22,7 +17,3 @@ use GitHub pull requests for this purpose. Consult [GitHub Help](https://help.github.com/articles/about-pull-requests/) for more information on using pull requests. -## Community Guidelines - -This project follows -[Google's Open Source Community Guidelines](https://opensource.google.com/conduct/). diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index c4f371f..0000000 --- a/Dockerfile +++ /dev/null @@ -1,3 +0,0 @@ -FROM klakegg/hugo:ext - -RUN git config --global --add safe.directory /src diff --git a/README.md b/README.md index 1d41aee..6adf8ac 100644 --- a/README.md +++ b/README.md @@ -1,75 +1,27 @@ # Polaris Documentation - This **Polaris proposal tool documenation** uses the Docsy -theme component as a hugo module, together with other module dependencies: + This **Polaris proposal tool documentation** uses the mkdocs material theme -```console -$ hugo mod graph -hugo: collected modules in 566 ms -hugo: collected modules in 578 ms -github.com/google/docsy-example github.com/google/docsy@v0.7.1 -github.com/google/docsy-example github.com/google/docsy/dependencies@v0.7.1 -github.com/google/docsy/dependencies@v0.7.1 github.com/twbs/bootstrap@v5.2.3+incompatible -github.com/google/docsy/dependencies@v0.7.1 github.com/FortAwesome/Font-Awesome@v0.0.0-20230327165841-0698449d50f2 -``` +You can find detailed theme instructions in the [mkdodcs material site](https://squidfunk.github.io/mkdocs-material/). -You can find detailed theme instructions in the [Docsy user guide][]. +## plantuml +```shell +pip install plantuml-markdown +``` +https://github.com/neurobin/mdx_include - proper extension structure -> https://github.com/mikitex70/plantuml-markdown need that doing... ## Running the website locally -Building and running the site locally requires a recent `extended` version of [Hugo](https://gohugo.io). -You can find out more about how to install Hugo for your environment in our -[Getting started](https://www.docsy.dev/docs/getting-started/#prerequisites-and-installation) guide. +Building and running the site locally requires python with the `mkdocs-material` package installed. +You can find out more about how to install mkdocs material for your environment in our +[Getting started](https://squidfunk.github.io/mkdocs-material/getting-started/) guide. Once you've made your working copy of the site repo, from the repo root folder, run: ```bash -hugo server +mkdocs server ``` -## Running a container locally - -You can run the guide site inside a [Docker](https://docs.docker.com/) -container, the container runs with a volume bound to the `docsy-example` -folder. This approach doesn't require you to install any dependencies other -than [Docker Desktop](https://www.docker.com/products/docker-desktop) on -Windows and Mac, and [Docker Compose](https://docs.docker.com/compose/install/) -on Linux. - -1. Run the built image - - ```bash - docker compose up - ``` - - -1. Verify that the service is working. - - Open your web browser and type [http://localhost:1313](http://localhost:1313) in your navigation bar, - This opens a local instance of the guide homepage. You can now make - changes to the guide and those changes will immediately show up in your - browser after you save. - -### Cleanup - -To stop Docker Compose, on your terminal window, press **Ctrl + C**. - -To remove the produced images run: - -```bash -docker compose rm -``` -For more information see the [Docker Compose documentation][]. - - - -[alternate dashboard]: https://app.netlify.com/sites/goldydocs/deploys -[deploys]: https://app.netlify.com/sites/docsy-example/deploys -[Docsy user guide]: https://docsy.dev/docs -[Docsy]: https://github.com/google/docsy -[example.docsy.dev]: https://example.docsy.dev -[Hugo theme module]: https://gohugo.io/hugo-modules/use-modules/#use-a-module-for-a-theme -[Netlify]: https://netlify.com -[Docker Compose documentation]: https://docs.docker.com/compose/gettingstarted/ +and navigate to http://127.0.0.1:8000/ diff --git a/assets/scss/_variables_project.scss b/assets/scss/_variables_project.scss deleted file mode 100644 index 2569027..0000000 --- a/assets/scss/_variables_project.scss +++ /dev/null @@ -1,6 +0,0 @@ -/* - -Add styles or override variables from the theme here. - -*/ - diff --git a/config.yaml b/config.yaml deleted file mode 100644 index 9070e38..0000000 --- a/config.yaml +++ /dev/null @@ -1,15 +0,0 @@ -# THIS IS A TEST CONFIG ONLY! -# FOR THE CONFIGURATION OF YOUR SITE USE hugo.yaml. -# -# As of Docsy 0.7.0, Hugo 0.110.0 or later must be used. -# -# The sole purpose of this config file is to detect Hugo-module builds that use -# an older version of Hugo. -# -# DO NOT add any config parameters to this file. You can safely delete this file -# if your project is using the required Hugo version. - -module: - hugoVersion: - extended: true - min: 0.110.0 diff --git a/content/en/_index.md b/content/en/_index.md deleted file mode 100644 index d68140f..0000000 --- a/content/en/_index.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: Polaris ---- - -{{< blocks/cover title="Welcome to Polaris: A proposal management toolkit" image_anchor="top" height="full" >}} - - Learn More - - - Demo - -

Observation proposal management — in the cloud and on the command line!

-{{< blocks/link-down color="info" >}} -{{< /blocks/cover >}} - - -{{% blocks/lead color="primary" %}} -Polaris provides a web UI for both submitting and managing astronomical observing proposals for -multiple telescopes. - - -In addition, it provides components that enable the export of proposals and to allow their manipulation off-line -{{% /blocks/lead %}} - - -{{% blocks/section color="dark" type="row" %}} -{{% blocks/feature icon="fa-lightbulb" title="Multi Telescope Support!" %}} -Polaris can help you create observing proposals that can be submitted to multiple observatories. - -Please follow [the blog](blog) for updates! -{{% /blocks/feature %}} - -{{% blocks/feature icon="fab fa-github" title="Contributions welcome!" url="https://github.com/orppst/" %}} -We do a Pull Request contributions workflow on **GitHub**. New users are always welcome! -{{% /blocks/feature %}} - - -{{% blocks/feature icon="fab fa-twitter" title="Follow us on Twitter!" url="https://www.twitter.com/ORP_Astro" %}} -For announcement of latest features etc. -{{% /blocks/feature %}} - - -{{% /blocks/section %}} - - -{{% blocks/section %}} - -{.h1 .text-center} - -EU Flag This project has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement No 101004719 -{{% /blocks/section %}} - - - - diff --git a/content/en/about/index.md b/content/en/about/index.md deleted file mode 100644 index 38f08f4..0000000 --- a/content/en/about/index.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: About -linkTitle: About -menu: {main: {weight: 10}} ---- - -{{% blocks/cover title="About Polaris" image_anchor="bottom" height="auto" %}} - -Polaris is a toolkit for creating and managing astronomical proposals for observing time -{.mt-5} - -{{% /blocks/cover %}} - -{{% blocks/lead %}} - -Polaris is a toolkit for creating and managing astronomical observing proposals. - -{{% /blocks/lead %}} - -{{% blocks/section %}} - -# Deployments -{.text-center} - -There is an experimental deployment at - -{{% /blocks/section %}} - -{{% blocks/section %}} - -# History -{.text-center} - -Polaris was created as part of the [](https://www.orp-h2020.eu) - -{{% /blocks/section %}} \ No newline at end of file diff --git a/content/en/blog/_index.md b/content/en/blog/_index.md deleted file mode 100644 index 95ccb91..0000000 --- a/content/en/blog/_index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Blog -menu: {main: {weight: 30}} ---- - -This is the **blog** section. It has two categories: News and Releases. - -Files in these directories will be listed in reverse chronological order. diff --git a/content/en/blog/news/_index.md b/content/en/blog/news/_index.md deleted file mode 100644 index c609aa2..0000000 --- a/content/en/blog/news/_index.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: News -weight: 20 ---- diff --git a/content/en/blog/news/first-post/featured-sunset-get.png b/content/en/blog/news/first-post/featured-sunset-get.png deleted file mode 100644 index db3373c..0000000 Binary files a/content/en/blog/news/first-post/featured-sunset-get.png and /dev/null differ diff --git a/content/en/blog/news/first-post/index.md b/content/en/blog/news/first-post/index.md deleted file mode 100644 index e7a2d53..0000000 --- a/content/en/blog/news/first-post/index.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -date: 2023-11-06 -title: Easy proposals with Polaris -linkTitle: Announcing Polaris -description: > - The Docsy Hugo theme lets project maintainers and contributors focus on content, - not on reinventing a website infrastructure from scratch -author: Riona MacNamara ([@rionam](https://twitter.com/bepsays)) -resources: - - src: "**.{png,jpg}" - title: "Image #:counter" - params: - byline: "Photo: Riona MacNamara / CC-BY-CA" ---- - -**This is a typical blog post that includes images.** - -The front matter specifies the date of the blog post, its title, a short description that will be displayed on the blog landing page, and its author. - -## Including images - -Here's an image (`featured-sunset-get.png`) that includes a byline and a caption. - -{{< imgproc sunset Fill "600x300" >}} -Fetch and scale an image in the upcoming Hugo 0.43. -{{< /imgproc >}} - -The front matter of this post specifies properties to be assigned to all image resources: - -``` -resources: -- src: "**.{png,jpg}" - title: "Image #:counter" - params: - byline: "Photo: Riona MacNamara / CC-BY-CA" -``` - -To include the image in a page, specify its details like this: - -``` -{{< imgproc sunset Fill "600x300" >}} -Fetch and scale an image in the upcoming Hugo 0.43. -{{< /imgproc >}} -``` - -The image will be rendered at the size and byline specified in the front matter. - - diff --git a/content/en/blog/releases/_index.md b/content/en/blog/releases/_index.md deleted file mode 100644 index 9143a23..0000000 --- a/content/en/blog/releases/_index.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Releases -weight: 20 ---- diff --git a/content/en/blog/releases/alpha.md b/content/en/blog/releases/alpha.md deleted file mode 100755 index eeaf122..0000000 --- a/content/en/blog/releases/alpha.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Alpha Release -date: 2023-11-04 -description: > - A short lead description about this content page. Text here can also be - **bold** or _italic_ and can even be split over multiple paragraphs. ---- - -# Alpha - -``` -This is the final element on the page and there should be no margin below this. -``` diff --git a/content/en/community/_index.md b/content/en/community/_index.md deleted file mode 100644 index 3f237b8..0000000 --- a/content/en/community/_index.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Community -menu: {main: {weight: 40}} ---- - - diff --git a/content/en/docs/Concepts/_index.md b/content/en/docs/Concepts/_index.md deleted file mode 100644 index 4a5d175..0000000 --- a/content/en/docs/Concepts/_index.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Concepts -weight: 4 -description: > - What does your user need to understand about your project in order to use it - or potentially contribute to it? ---- - -{{% pageinfo %}} -This is a placeholder page that shows you how to use this template site. -{{% /pageinfo %}} - -For many projects, users may not need much information beyond the information in the [Overview](/docs/overview/), so this section is **optional**. However if there are areas where your users will need a more detailed understanding of a given term or feature in order to do anything useful with your project (or to not make mistakes when using it) put that information in this section. For example, you may want to add some conceptual pages if you have a large project with many components and a complex architecture. - -Remember to focus on what the user needs to know, not just what you think is interesting about your project! If they don’t need to understand your original design decisions to use or contribute to the project, don’t put them in, or include your design docs in your repo and link to them. Similarly, most users will probably need to know more about how features work when in use rather than how they are implemented. Consider a separate architecture page for more detailed implementation and system design information that potential project contributors can consult. diff --git a/content/en/docs/Contribution guidelines/_index.md b/content/en/docs/Contribution guidelines/_index.md deleted file mode 100644 index 1f9fd09..0000000 --- a/content/en/docs/Contribution guidelines/_index.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: Contribution Guidelines -weight: 10 -description: How to contribute to the docs ---- - -{{% pageinfo %}} -These basic sample guidelines assume that your Docsy site is deployed using Netlify and your files are stored in GitHub. You can use the guidelines "as is" or adapt them with your own instructions: for example, other deployment options, information about your doc project's file structure, project-specific review guidelines, versioning guidelines, or any other information your users might find useful when updating your site. [Kubeflow](https://github.com/kubeflow/website/blob/master/README.md) has a great example. - -Don't forget to link to your own doc repo rather than our example site! Also make sure users can find these guidelines from your doc repo README: either add them there and link to them from this page, add them here and link to them from the README, or include them in both locations. -{{% /pageinfo %}} - -We use [Hugo](https://gohugo.io/) to format and generate our website, the -[Docsy](https://github.com/google/docsy) theme for styling and site structure, -and [Netlify](https://www.netlify.com/) to manage the deployment of the site. -Hugo is an open-source static site generator that provides us with templates, -content organisation in a standard directory structure, and a website generation -engine. You write the pages in Markdown (or HTML if you want), and Hugo wraps them up into a website. - -All submissions, including submissions by project members, require review. We -use GitHub pull requests for this purpose. Consult -[GitHub Help](https://help.github.com/articles/about-pull-requests/) for more -information on using pull requests. - -## Quick start with Netlify - -Here's a quick guide to updating the docs. It assumes you're familiar with the -GitHub workflow and you're happy to use the automated preview of your doc -updates: - -1. Fork the [Goldydocs repo](https://github.com/google/docsy-example) on GitHub. -1. Make your changes and send a pull request (PR). -1. If you're not yet ready for a review, add "WIP" to the PR name to indicate - it's a work in progress. (**Don't** add the Hugo property - "draft = true" to the page front matter, because that prevents the - auto-deployment of the content preview described in the next point.) -1. Wait for the automated PR workflow to do some checks. When it's ready, - you should see a comment like this: **deploy/netlify — Deploy preview ready!** -1. Click **Details** to the right of "Deploy preview ready" to see a preview - of your updates. -1. Continue updating your doc and pushing your changes until you're happy with - the content. -1. When you're ready for a review, add a comment to the PR, and remove any - "WIP" markers. - -## Updating a single page - -If you've just spotted something you'd like to change while using the docs, Docsy has a shortcut for you: - -1. Click **Edit this page** in the top right hand corner of the page. -1. If you don't already have an up to date fork of the project repo, you are prompted to get one - click **Fork this repository and propose changes** or **Update your Fork** to get an up to date version of the project to edit. The appropriate page in your fork is displayed in edit mode. -1. Follow the rest of the [Quick start with Netlify](#quick-start-with-netlify) process above to make, preview, and propose your changes. - -## Previewing your changes locally - -If you want to run your own local Hugo server to preview your changes as you work: - -1. Follow the instructions in [Getting started](/docs/getting-started) to install Hugo and any other tools you need. You'll need at least **Hugo version 0.45** (we recommend using the most recent available version), and it must be the **extended** version, which supports SCSS. -1. Fork the [Goldydocs repo](https://github.com/google/docsy-example) repo into your own project, then create a local copy using `git clone`. Don’t forget to use `--recurse-submodules` or you won’t pull down some of the code you need to generate a working site. - - ``` - git clone --recurse-submodules --depth 1 https://github.com/google/docsy-example.git - ``` - -1. Run `hugo server` in the site root directory. By default your site will be available at http://localhost:1313/. Now that you're serving your site locally, Hugo will watch for changes to the content and automatically refresh your site. -1. Continue with the usual GitHub workflow to edit files, commit them, push the - changes up to your fork, and create a pull request. - -## Creating an issue - -If you've found a problem in the docs, but you're not sure how to fix it yourself, please create an issue in the [Goldydocs repo](https://github.com/google/docsy-example/issues). You can also create an issue about a specific page by clicking the **Create Issue** button in the top right hand corner of the page. - -## Useful resources - -* [Docsy user guide](https://www.docsy.dev/docs/): All about Docsy, including how it manages navigation, look and feel, and multi-language support. -* [Hugo documentation](https://gohugo.io/documentation/): Comprehensive reference for Hugo. -* [Github Hello World!](https://guides.github.com/activities/hello-world/): A basic introduction to GitHub concepts and workflow. - - diff --git a/content/en/docs/Developer/_index.md b/content/en/docs/Developer/_index.md deleted file mode 100644 index 9050be2..0000000 --- a/content/en/docs/Developer/_index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Developer -description: Developer level documentation -weight: 8 ---- - -{{% pageinfo %}} -Information for developers -{{% /pageinfo %}} - - diff --git a/content/en/docs/Examples/_index.md b/content/en/docs/Examples/_index.md deleted file mode 100755 index 2b4a0f0..0000000 --- a/content/en/docs/Examples/_index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Examples -weight: 3 -date: 2017-01-05 -description: See your project in action! ---- - -{{% pageinfo %}} -This is a placeholder page that shows you how to use this template site. -{{% /pageinfo %}} - -Do you have any example **applications** or **code** for your users in your repo -or elsewhere? Link to your examples here. diff --git a/content/en/docs/Overview/_index.md b/content/en/docs/Overview/_index.md deleted file mode 100644 index 5c51c56..0000000 --- a/content/en/docs/Overview/_index.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Overview -description: Here's where your user finds out if your project is for them. -weight: 1 ---- - -{{% pageinfo %}} -This is a placeholder page that shows you how to use this template site. -{{% /pageinfo %}} - - -The Overview is where your users find out about your project. Depending on the size of your docset, you can have a separate overview page (like this one) or put your overview contents in the Documentation landing page (like in the Docsy User Guide). - -Try answering these questions for your user in this page: - -## What is it? - -Introduce your project, including what it does or lets you do, why you would use it, and its primary goal (and how it achieves it). This should be similar to your README description, though you can go into a little more detail here if you want. - -## Why do I want it? - -Help your user know if your project will help them. Useful information can include: - -* **What is it good for?**: What types of problems does your project solve? What are the benefits of using it? - -* **What is it not good for?**: For example, point out situations that might intuitively seem suited for your project, but aren't for some reason. Also mention known limitations, scaling issues, or anything else that might let your users know if the project is not for them. - -* **What is it *not yet* good for?**: Highlight any useful features that are coming soon. - -## Where should I go next? - -Give your users next steps from the Overview. For example: - -* [Getting Started](/docs/getting-started/): Get started with $project -* [Examples](/docs/examples/): Check out some example code! - diff --git a/content/en/docs/Reference/_index.md b/content/en/docs/Reference/_index.md deleted file mode 100644 index e414a42..0000000 --- a/content/en/docs/Reference/_index.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Reference -description: Low level reference docs for your project. -weight: 9 ---- - -{{% pageinfo %}} -This is a placeholder page that shows you how to use this template site. -{{% /pageinfo %}} - -If your project has an API, configuration, or other reference - anything that users need to look up that’s at an even lower level than a single task - put (or link to it) here. You can serve and link to generated reference docs created using Doxygen, -Javadoc, or other doc generation tools by putting them in your `static/` directory. Find out more in [Adding static content](https://docsy.dev/docs/adding-content/content/#adding-static-content). For OpenAPI reference, Docsy also provides a [Swagger UI layout and shortcode](https://www.docsy.dev/docs/adding-content/shortcodes/#swaggerui) that renders [Swagger UI](https://swagger.io/tools/swagger-ui/) using any OpenAPI YAML or JSON file as source. diff --git a/content/en/docs/Reference/parameter-reference.md b/content/en/docs/Reference/parameter-reference.md deleted file mode 100644 index 1f3f5cf..0000000 --- a/content/en/docs/Reference/parameter-reference.md +++ /dev/null @@ -1,211 +0,0 @@ ---- -title: Parameter Reference -description: > - A short lead description about this content page. It can be **bold** or _italic_ and can be split over multiple paragraphs. -date: 2017-01-05 ---- - -{{% pageinfo %}} -This is a placeholder page. Replace it with your own content. -{{% /pageinfo %}} - -Text can be **bold**, _italic_, or ~~strikethrough~~. [Links](https://gohugo.io) should be blue with no underlines (unless hovered over). - -There should be whitespace between paragraphs. Vape migas chillwave sriracha poutine try-hard distillery. Tattooed shabby chic small batch, pabst art party heirloom letterpress air plant pop-up. Sustainable chia skateboard art party banjo cardigan normcore affogato vexillologist quinoa meggings man bun master cleanse shoreditch readymade. Yuccie prism four dollar toast tbh cardigan iPhone, tumblr listicle live-edge VHS. Pug lyft normcore hot chicken biodiesel, actually keffiyeh thundercats photo booth pour-over twee fam food truck microdosing banh mi. Vice activated charcoal raclette unicorn live-edge post-ironic. Heirloom vexillologist coloring book, beard deep v letterpress echo park humblebrag tilde. - -90's four loko seitan photo booth gochujang freegan tumeric listicle fam ugh humblebrag. Bespoke leggings gastropub, biodiesel brunch pug fashion axe meh swag art party neutra deep v chia. Enamel pin fanny pack knausgaard tofu, artisan cronut hammock meditation occupy master cleanse chartreuse lumbersexual. Kombucha kogi viral truffaut synth distillery single-origin coffee ugh slow-carb marfa selfies. Pitchfork schlitz semiotics fanny pack, ugh artisan vegan vaporware hexagon. Polaroid fixie post-ironic venmo wolf ramps **kale chips**. - -> There should be no margin above this first sentence. -> -> Blockquotes should be a lighter gray with a border along the left side in the secondary color. -> -> There should be no margin below this final sentence. - -## First Header 2 - -This is a normal paragraph following a header. Knausgaard kale chips snackwave microdosing cronut copper mug swag synth bitters letterpress glossier **craft beer**. Mumblecore bushwick authentic gochujang vegan chambray meditation jean shorts irony. Viral farm-to-table kale chips, pork belly palo santo distillery activated charcoal aesthetic jianbing air plant woke lomo VHS organic. Tattooed locavore succulents heirloom, small batch sriracha echo park DIY af. Shaman you probably haven't heard of them copper mug, crucifix green juice vape *single-origin coffee* brunch actually. Mustache etsy vexillologist raclette authentic fam. Tousled beard humblebrag asymmetrical. I love turkey, I love my job, I love my friends, I love Chardonnay! - -Deae legum paulatimque terra, non vos mutata tacet: dic. Vocant docuique me plumas fila quin afuerunt copia haec o neque. - -On big screens, paragraphs and headings should not take up the full container width, but we want tables, code blocks and similar to take the full width. - -Scenester tumeric pickled, authentic crucifix post-ironic fam freegan VHS pork belly 8-bit yuccie PBR&B. **I love this life we live in**. - - -## Second Header 2 - -> This is a blockquote following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### Header 3 - -``` -This is a code block following a header. -``` - -Next level leggings before they sold out, PBR&B church-key shaman echo park. Kale chips occupy godard whatever pop-up freegan pork belly selfies. Gastropub Belinda subway tile woke post-ironic seitan. Shabby chic man bun semiotics vape, chia messenger bag plaid cardigan. - -#### Header 4 - -* This is an unordered list following a header. -* This is an unordered list following a header. -* This is an unordered list following a header. - -##### Header 5 - -1. This is an ordered list following a header. -2. This is an ordered list following a header. -3. This is an ordered list following a header. - -###### Header 6 - -| What | Follows | -|-----------|-----------------| -| A table | A header | -| A table | A header | -| A table | A header | - ----------------- - -There's a horizontal rule above and below this. - ----------------- - -Here is an unordered list: - -* Liverpool F.C. -* Chelsea F.C. -* Manchester United F.C. - -And an ordered list: - -1. Michael Brecker -2. Seamus Blake -3. Branford Marsalis - -And an unordered task list: - -- [x] Create a Hugo theme -- [x] Add task lists to it -- [ ] Take a vacation - -And a "mixed" task list: - -- [ ] Pack bags -- ? -- [ ] Travel! - -And a nested list: - -* Jackson 5 - * Michael - * Tito - * Jackie - * Marlon - * Jermaine -* TMNT - * Leonardo - * Michelangelo - * Donatello - * Raphael - -Definition lists can be used with Markdown syntax. Definition headers are bold. - -Name -: Godzilla - -Born -: 1952 - -Birthplace -: Japan - -Color -: Green - - ----------------- - -Tables should have bold headings and alternating shaded rows. - -| Artist | Album | Year | -|-------------------|-----------------|------| -| Michael Jackson | Thriller | 1982 | -| Prince | Purple Rain | 1984 | -| Beastie Boys | License to Ill | 1986 | - -If a table is too wide, it should scroll horizontally. - -| Artist | Album | Year | Label | Awards | Songs | -|-------------------|-----------------|------|-------------|----------|-----------| -| Michael Jackson | Thriller | 1982 | Epic Records | Grammy Award for Album of the Year, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Selling Album, Grammy Award for Best Engineered Album, Non-Classical | Wanna Be Startin' Somethin', Baby Be Mine, The Girl Is Mine, Thriller, Beat It, Billie Jean, Human Nature, P.Y.T. (Pretty Young Thing), The Lady in My Life | -| Prince | Purple Rain | 1984 | Warner Brothers Records | Grammy Award for Best Score Soundtrack for Visual Media, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Soundtrack/Cast Recording, Grammy Award for Best Rock Performance by a Duo or Group with Vocal | Let's Go Crazy, Take Me With U, The Beautiful Ones, Computer Blue, Darling Nikki, When Doves Cry, I Would Die 4 U, Baby I'm a Star, Purple Rain | -| Beastie Boys | License to Ill | 1986 | Mercury Records | noawardsbutthistablecelliswide | Rhymin & Stealin, The New Style, She's Crafty, Posse in Effect, Slow Ride, Girls, (You Gotta) Fight for Your Right, No Sleep Till Brooklyn, Paul Revere, Hold It Now, Hit It, Brass Monkey, Slow and Low, Time to Get Ill | - ----------------- - -Code snippets like `var foo = "bar";` can be shown inline. - -Also, `this should vertically align` ~~`with this`~~ ~~and this~~. - -Code can also be shown in a block element. - -``` -foo := "bar"; -bar := "foo"; -``` - -Code can also use syntax highlighting. - -```go -func main() { - input := `var foo = "bar";` - - lexer := lexers.Get("javascript") - iterator, _ := lexer.Tokenise(nil, input) - style := styles.Get("github") - formatter := html.New(html.WithLineNumbers()) - - var buff bytes.Buffer - formatter.Format(&buff, style, iterator) - - fmt.Println(buff.String()) -} -``` - -``` -Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this. -``` - -Inline code inside table cells should still be distinguishable. - -| Language | Code | -|-------------|--------------------| -| Javascript | `var foo = "bar";` | -| Ruby | `foo = "bar"{` | - ----------------- - -Small images should be shown at their actual size. - -![](https://upload.wikimedia.org/wikipedia/commons/thumb/9/9e/Picea_abies_shoot_with_buds%2C_Sogndal%2C_Norway.jpg/240px-Picea_abies_shoot_with_buds%2C_Sogndal%2C_Norway.jpg) - -Large images should always scale down and fit in the content container. - -![](https://upload.wikimedia.org/wikipedia/commons/thumb/9/9e/Picea_abies_shoot_with_buds%2C_Sogndal%2C_Norway.jpg/1024px-Picea_abies_shoot_with_buds%2C_Sogndal%2C_Norway.jpg) - -_The photo above of the Spruce Picea abies shoot with foliage buds: Bjørn Erik Pedersen, CC-BY-SA._ - - -## Components - -### Alerts - -{{< alert >}}This is an alert.{{< /alert >}} -{{< alert title="Note" >}}This is an alert with a title.{{< /alert >}} -{{% alert title="Note" %}}This is an alert with a title and **Markdown**.{{% /alert %}} -{{< alert color="success" >}}This is a successful alert.{{< /alert >}} -{{< alert color="warning" >}}This is a warning.{{< /alert >}} -{{< alert color="warning" title="Warning" >}}This is a warning with a title.{{< /alert >}} - - -## Another Heading diff --git a/content/en/docs/Tasks/Deployment/_index.md b/content/en/docs/Tasks/Deployment/_index.md deleted file mode 100755 index 3594686..0000000 --- a/content/en/docs/Tasks/Deployment/_index.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Deploying Polaris -description: > - A short lead description about this section page. Text here can also be **bold** or _italic_ and can even be split over multiple paragraphs. -date: 2013-11-01 ---- - -{{% pageinfo %}} -This is a placeholder page. Replace it with your own content. -{{% /pageinfo %}} - -Various tasks for time allocation committees. diff --git a/content/en/docs/Tasks/Reviewing Proposals/_index.md b/content/en/docs/Tasks/Reviewing Proposals/_index.md deleted file mode 100755 index 7e6544d..0000000 --- a/content/en/docs/Tasks/Reviewing Proposals/_index.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Reviewing Proposals -description: > - A short lead description about this section page. Text here can also be **bold** or _italic_ and can even be split over multiple paragraphs. -date: 2013-11-01 ---- - -{{% pageinfo %}} -This is a placeholder page. Replace it with your own content. -{{% /pageinfo %}} - -Various tasks for time allocation committees. diff --git a/content/en/docs/Tasks/Reviewing Proposals/tac-chair.md b/content/en/docs/Tasks/Reviewing Proposals/tac-chair.md deleted file mode 100644 index 35a3ca7..0000000 --- a/content/en/docs/Tasks/Reviewing Proposals/tac-chair.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: TAC Chair -description: > - Tasks for the TAC Chair -date: 2017-01-05 -weight: 2 ---- - -{{% pageinfo %}} -This is a placeholder page. Replace it with your own content. -{{% /pageinfo %}} - diff --git a/content/en/docs/Tasks/Reviewing Proposals/tac-member.md b/content/en/docs/Tasks/Reviewing Proposals/tac-member.md deleted file mode 100644 index 01c636a..0000000 --- a/content/en/docs/Tasks/Reviewing Proposals/tac-member.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: TAC Member -description: > - Tasks for TAC Members -date: 2017-01-05 -weight: 3 ---- - -{{% pageinfo %}} -This is a placeholder page. Replace it with your own content. -{{% /pageinfo %}} - diff --git a/content/en/docs/Tasks/_index.md b/content/en/docs/Tasks/_index.md deleted file mode 100755 index 9d2b855..0000000 --- a/content/en/docs/Tasks/_index.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: Core Tasks -description: What can your user do with your project? -date: 2017-01-05 -weight: 6 ---- - -{{% pageinfo %}} -This is a placeholder page that shows you how to use this template site. -{{% /pageinfo %}} - -Think about your project’s features and use cases. Use these to choose your core tasks. Each granular use case (enable x, configure y) should have a corresponding tasks page or tasks page section. Users should be able to quickly refer to your core tasks when they need to find out how to do one specific thing, rather than having to look for the instructions in a bigger tutorial or example. Think of your tasks pages as a cookbook with different procedures your users can combine to create something more substantial. - -You can give each task a page, or you can group related tasks together in a page, such as tasks related to a particular feature. As well as grouping related tasks in single pages, you can also group task pages in nested folders with an index page as an overview, as seen in this example site. Or if you have a small docset like the [Docsy User Guide](https://docsy.dev/docs/) with no Tutorials or Concepts pages, consider adding your feature-specific pages at the top level of your docs rather than in a Tasks section. - -Each task should give the user - -* The prerequisites for this task, if any (this can be specified at the top of a multi-task page if they're the same for all the page's tasks. "All these tasks assume that you understand....and that you have already...."). -* What this task accomplishes. -* Instructions for the task. If it involves editing a file, running a command, or writing code, provide code-formatted example snippets to show the user what to do! If there are multiple steps, provide them as a numbered list. -* If appropriate, links to related concept, tutorial, or example pages. diff --git a/content/en/docs/Tasks/task.md b/content/en/docs/Tasks/task.md deleted file mode 100644 index a413328..0000000 --- a/content/en/docs/Tasks/task.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Another Task -description: > - A short lead description about this content page. It can be **bold** or _italic_ and can be split over multiple paragraphs. -date: 2023-11-01 -weight: 5 ---- - -{{% pageinfo %}} -This is a placeholder page. Replace it with your own content. -{{% /pageinfo %}} - - -Text can be **bold**, _italic_, or ~~strikethrough~~. [Links](https://gohugo.io) should be blue with no underlines (unless hovered over). diff --git a/content/en/docs/Tutorials/_index.md b/content/en/docs/Tutorials/_index.md deleted file mode 100755 index 7cd4d1e..0000000 --- a/content/en/docs/Tutorials/_index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Tutorials -description: Show your user how to work through some end to end examples. -date: 2017-01-04 -weight: 8 ---- - -{{% pageinfo %}} -This is a placeholder page that shows you how to use this template site. -{{% /pageinfo %}} - -Tutorials are **complete worked examples** made up of **multiple tasks** that guide the user through a relatively simple but realistic scenario: building an application that uses some of your project’s features, for example. If you have already created some Examples for your project you can base Tutorials on them. This section is **optional**. However, remember that although you may not need this section at first, having tutorials can be useful to help your users engage with your example code, especially if there are aspects that need more explanation than you can easily provide in code comments. - diff --git a/content/en/docs/Tutorials/create-proposal.md b/content/en/docs/Tutorials/create-proposal.md deleted file mode 100644 index 7aef9cb..0000000 --- a/content/en/docs/Tutorials/create-proposal.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Create Proposal -description: > - A short lead description about this content page. It can be **bold** or _italic_ and can be split over multiple paragraphs. -date: 2023-11-01 -weight: 4 ---- - -{{% pageinfo %}} -This is a placeholder page. Replace it with your own content. -{{% /pageinfo %}} diff --git a/content/en/docs/Tutorials/tutorial2.md b/content/en/docs/Tutorials/tutorial2.md deleted file mode 100644 index f22609a..0000000 --- a/content/en/docs/Tutorials/tutorial2.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Another Tutorial -description: > - A short lead description about this content page. It can be **bold** or _italic_ and can be split over multiple paragraphs. -date: 2017-01-05 -weight: 5 ---- - -{{% pageinfo %}} -This is a placeholder page. Replace it with your own content. -{{% /pageinfo %}} - -Text can be **bold**, _italic_, or ~~strikethrough~~. [Links](https://gohugo.io) should be blue with no underlines (unless hovered over). diff --git a/content/en/docs/_index.md b/content/en/docs/_index.md deleted file mode 100755 index e4a577e..0000000 --- a/content/en/docs/_index.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: Documentation -linkTitle: Docs -menu: {main: {weight: 20}} -weight: 20 ---- - -{{% pageinfo %}} -This is a placeholder page that shows you how to use this template site. -{{% /pageinfo %}} - -This section is where the user documentation for your project lives - all the -information your users need to understand and successfully use your project. - -For large documentation sets we recommend adding content under the headings in -this section, though if some or all of them don’t apply to your project feel -free to remove them or add your own. You can see an example of a smaller Docsy -documentation site in the [Docsy User Guide](https://docsy.dev/docs/), which -lives in the [Docsy theme -repo](https://github.com/google/docsy/tree/master/userguide) if you'd like to -copy its docs section. - -Other content such as marketing material, case studies, and community updates -should live in the [About](/about/) and [Community](/community/) pages. - -Find out how to use the Docsy theme in the [Docsy User -Guide](https://docsy.dev/docs/). You can learn more about how to organize your -documentation (and how we organized this site) in [Organizing Your -Content](https://docsy.dev/docs/best-practices/organizing-content/). diff --git a/content/en/orp_background_image_small.png b/content/en/orp_background_image_small.png deleted file mode 100644 index 7319fbf..0000000 Binary files a/content/en/orp_background_image_small.png and /dev/null differ diff --git a/content/en/search.md b/content/en/search.md deleted file mode 100644 index 394feea..0000000 --- a/content/en/search.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Search Results -layout: search ---- diff --git a/docker-compose.yaml b/docker-compose.yaml deleted file mode 100644 index c6e212f..0000000 --- a/docker-compose.yaml +++ /dev/null @@ -1,13 +0,0 @@ -version: "3.3" - -services: - - site: - image: orppst/guide - build: - context: . - command: server - ports: - - "1313:1313" - volumes: - - .:/src diff --git a/docs/Deployment/index.md b/docs/Deployment/index.md new file mode 100644 index 0000000..3f7d666 --- /dev/null +++ b/docs/Deployment/index.md @@ -0,0 +1,4 @@ +Deploying Polaris +================= + +Polaris is designed to be deployed into a [kubernetes cluster](https://github.com/orppst/k8setup) \ No newline at end of file diff --git a/content/en/docs/Developer/api.md b/docs/Developer/api.md similarity index 100% rename from content/en/docs/Developer/api.md rename to docs/Developer/api.md diff --git a/content/en/docs/Developer/architecture.md b/docs/Developer/architecture.md similarity index 100% rename from content/en/docs/Developer/architecture.md rename to docs/Developer/architecture.md diff --git a/docs/Developer/index.md b/docs/Developer/index.md new file mode 100644 index 0000000..0e5d6de --- /dev/null +++ b/docs/Developer/index.md @@ -0,0 +1,20 @@ +# Starting Development on Polaris + +requirements + +* JDK 17+ installed +* node +* yarn v1.x +* quarkus (is optional) +* Docker + + +Need to clone the following projects in sibling directories + +```shell +git clone git@github.com:orppst/build-logic.git +git clone git@github.com:orppst/pst-lib.git +git clone git@github.com:orppst/pst-api-service.git +git clone https://github.com/orppst/pst-gui +``` + diff --git a/content/en/docs/Developer/use-cases.md b/docs/Developer/use-cases.md similarity index 100% rename from content/en/docs/Developer/use-cases.md rename to docs/Developer/use-cases.md diff --git a/docs/Observatory/index.md b/docs/Observatory/index.md new file mode 100644 index 0000000..509b715 --- /dev/null +++ b/docs/Observatory/index.md @@ -0,0 +1,4 @@ +Observatory Administrators +========================== + +Functions available to observatory administrators \ No newline at end of file diff --git a/content/en/docs/Getting started/Creating Proposals/adding-targets.md b/docs/Observer/Creating Proposals/adding-targets.md similarity index 80% rename from content/en/docs/Getting started/Creating Proposals/adding-targets.md rename to docs/Observer/Creating Proposals/adding-targets.md index 79cff7f..db1546b 100644 --- a/content/en/docs/Getting started/Creating Proposals/adding-targets.md +++ b/docs/Observer/Creating Proposals/adding-targets.md @@ -1,25 +1,14 @@ ---- -title: Adding Targets -date: 2024-03-04 -description: > - _Guide to adding observational **Targets** to your proposal_ -categories: [Examples] -tags: [test, sample, docs] ---- # Add a Target A fresh proposal will have no **Targets** added, and you will be presented with the following page: -add a target -
-
+![add a target](targets_none.png) + To add a **Target** click the _Add +_ button, which will bring up the _New Target_ form. -new target form -
-
+!["new target form](targets_new.png) In the screenshot you will see we have added the [Aladin Lite Sky Atlas](https://aladin.cds.unistra.fr/), and we have found the _Crab Nebula_ using the **Lookup** function. This fills in the corresponding @@ -41,9 +30,8 @@ You may also change the name of the target after you have looked it up and befor **Target**. To save, click the _Save_ button. This will return you to the _Targets_ tab of your proposal now displaying the **Target** you just saved, and any other targets you may have added. -list of targets -
-
+![list of targets](targets_some.png) + Please notice that the _Reference System_ should read _ICRS_ but due to some bug that has yet to be squished it reads _unknown_; did I mention this was the alpha version? @@ -51,7 +39,7 @@ squished it reads _unknown_; did I mention this was the alpha version? You may _Delete_ this target if you so wish, just remember that you need at least one target in order to build an **Observation** for your proposal. -# Next Step +## Next Step If you haven't already added a **Technical Goal** then please follow the guide [here](../adding-technical-goals). If you have now added at least one **Target** and one **Technical Goal** to your proposal then please diff --git a/content/en/docs/Getting started/Creating Proposals/adding-technical-goals.md b/docs/Observer/Creating Proposals/adding-technical-goals.md similarity index 81% rename from content/en/docs/Getting started/Creating Proposals/adding-technical-goals.md rename to docs/Observer/Creating Proposals/adding-technical-goals.md index 6ac0aab..8ae5623 100644 --- a/content/en/docs/Getting started/Creating Proposals/adding-technical-goals.md +++ b/docs/Observer/Creating Proposals/adding-technical-goals.md @@ -11,15 +11,13 @@ tags: [test, sample, docs] A fresh proposal will have no **Technical Goals** and you will be presented with the following page: -no technical goals summary page -
-
+![no technical goals summary page](technical_goals_none.png) + To add a **Technical Goal** click the _Add +_ button, which will bring up the _New Technical Goal_ form. -new technical goals form -
-
+![new technical goals form](technical_goals_new.png) + In the screenshot you can see we have filled out the _Performance Parameters_ with some values and their corresponding units; the values in the screenshot are contrived for this guide. The units are selected via a @@ -31,15 +29,15 @@ are the minimum amount of information required to _Save_ (screenshot reads _Subm After clicking _Save_ you will be brought back to the technical goals summary page, which should now display your newly added **Technical Goal**. -technical goals summary page -
-
+ +![technical goals summary page](technical_goals_some.png) + Unlike **Targets**, you can also _Edit_ and _Copy_ **Technical Goals** as well as _Delete_ them. This allows you to change the attributes of an existing **Technical Goal**, or quickly add other **Technical Goals** that may have similar _Performance Parameters_ and/or _Spectral Windows_ without having to re-input all the data. -# Next Step +## Next Step If you haven't already added a **Target** then please follow the guide [here](../adding-targets). If you have now added at least one **Target** and one **Technical Goal** to your proposal then please follow the diff --git a/content/en/docs/Getting started/Creating Proposals/build-observation.md b/docs/Observer/Creating Proposals/build-observation.md similarity index 86% rename from content/en/docs/Getting started/Creating Proposals/build-observation.md rename to docs/Observer/Creating Proposals/build-observation.md index 1b7272c..1541818 100644 --- a/content/en/docs/Getting started/Creating Proposals/build-observation.md +++ b/docs/Observer/Creating Proposals/build-observation.md @@ -1,26 +1,17 @@ ---- -title: Building Observations -date: 2024-03-04 -description: > - _Guide to building an **Observation** for your proposal_ -categories: [Examples] -tags: [test, sample, docs] ---- # Build an Observation After adding at least one **Target** and at least one **Technical Goal** you will see the following summary page for **Observations**, which will be empty. -empty Observations summary page -
-
+![empty Observations summary page](observations_none.png) + + To build an **Observation** click the _Add +_ button, which will bring up the new observation form. -new Observation form -
-
+![new Observation form](observations_new.png) + In this screenshot we have already selected our **Target**, the "crab", and our **Technical Goal**, and have selected the _Observation Type_ as _Calibration_ and the _Calibration intended use_ as _Pointing_. Notice that @@ -47,9 +38,8 @@ Notice that we assume all times are entered as UTC. With all that information entered, click _Save_ to save the **Observation** to your **Proposal**. This will bring you back to the _Observations_ summary page, that will now contain your newly built **Observation**. -Observations summary page -
-
+![Observations summary page](observations_some.png) + As with **Technical Goals** you may _Edit_ and _Copy_ **Observations** to avoid having to repeat data entry for **Observations** that have similar attributes. For example, using the same **Target** but for different types, diff --git a/content/en/docs/Getting started/Creating Proposals/_index.md b/docs/Observer/Creating Proposals/index.md similarity index 69% rename from content/en/docs/Getting started/Creating Proposals/_index.md rename to docs/Observer/Creating Proposals/index.md index f061af8..92ea524 100644 --- a/content/en/docs/Getting started/Creating Proposals/_index.md +++ b/docs/Observer/Creating Proposals/index.md @@ -1,29 +1,19 @@ ---- -title: Creating Proposals -date: 2023-11-01 -description: > - _Quick start guide to creating a new **Proposal** using Polaris_ -categories: [Examples] -tags: [test, sample, docs] ---- -###### First, Login +## First, Login If you haven't registered with and logged-in to Polaris please do so [now](tbc). ## Click the **Create a new proposal** button -polaris landing page, highlighting the create a new proposal button -
-
+![polaris landing page, highlighting the create a new proposal button](proposal_create.png) + This will bring up the new **Proposal** details form. ## Fill in the proposal details form and click **Create** -create proposal details -
-
+![create proposal details](proposal_create_details.png) + The basic details of an **Observing Proposal** are the title, a brief summary, and the **Kind** of your proposal either _STANDARD_, _SURVEY_, or _T.O.O._ (target-of-opportunity). These attributes can be changed after you create @@ -35,9 +25,8 @@ Now that you have a created a new proposal you can see its **Overview** by click menu for the relevant proposal in the navigation pane on the left, and clicking on the _Overview_ tab. -the proposal overview -
-
+![the proposal overview](proposal_overview.png) + In the screenshot example we have given our proposal the title _An awesome proposal title_, filled in the summary with a very brief summary (literally), and assigned it a **Kind** of _STANDARD_. Notice @@ -49,9 +38,8 @@ username is also _PI_; nobody said we had to be inventive). If you now try to go to the _Observations_ tab you will be presented with the following page: -trying to add observation before adding targets and technical goals -
-
+![trying to add observation before adding targets and technical goals](observations_missing_target_goal.png) + In the Polaris app you must first add at least one observational **Target** and at least one **Technical Goal** before you can generate an **Observation** for your proposal. Notice that the yellow text in the diff --git a/static/images/getting-started/observations_missing_target_goal.png b/docs/Observer/Creating Proposals/observations_missing_target_goal.png similarity index 100% rename from static/images/getting-started/observations_missing_target_goal.png rename to docs/Observer/Creating Proposals/observations_missing_target_goal.png diff --git a/static/images/getting-started/observations_new.png b/docs/Observer/Creating Proposals/observations_new.png similarity index 100% rename from static/images/getting-started/observations_new.png rename to docs/Observer/Creating Proposals/observations_new.png diff --git a/static/images/getting-started/observations_none.png b/docs/Observer/Creating Proposals/observations_none.png similarity index 100% rename from static/images/getting-started/observations_none.png rename to docs/Observer/Creating Proposals/observations_none.png diff --git a/static/images/getting-started/observations_some.png b/docs/Observer/Creating Proposals/observations_some.png similarity index 100% rename from static/images/getting-started/observations_some.png rename to docs/Observer/Creating Proposals/observations_some.png diff --git a/static/images/getting-started/proposal_create.png b/docs/Observer/Creating Proposals/proposal_create.png similarity index 100% rename from static/images/getting-started/proposal_create.png rename to docs/Observer/Creating Proposals/proposal_create.png diff --git a/static/images/getting-started/proposal_create_details.png b/docs/Observer/Creating Proposals/proposal_create_details.png similarity index 100% rename from static/images/getting-started/proposal_create_details.png rename to docs/Observer/Creating Proposals/proposal_create_details.png diff --git a/static/images/getting-started/proposal_overview.png b/docs/Observer/Creating Proposals/proposal_overview.png similarity index 100% rename from static/images/getting-started/proposal_overview.png rename to docs/Observer/Creating Proposals/proposal_overview.png diff --git a/static/images/getting-started/proposal_overview_observation.png b/docs/Observer/Creating Proposals/proposal_overview_observation.png similarity index 100% rename from static/images/getting-started/proposal_overview_observation.png rename to docs/Observer/Creating Proposals/proposal_overview_observation.png diff --git a/static/images/getting-started/targets_new.png b/docs/Observer/Creating Proposals/targets_new.png similarity index 100% rename from static/images/getting-started/targets_new.png rename to docs/Observer/Creating Proposals/targets_new.png diff --git a/static/images/getting-started/targets_none.png b/docs/Observer/Creating Proposals/targets_none.png similarity index 100% rename from static/images/getting-started/targets_none.png rename to docs/Observer/Creating Proposals/targets_none.png diff --git a/static/images/getting-started/targets_some.png b/docs/Observer/Creating Proposals/targets_some.png similarity index 100% rename from static/images/getting-started/targets_some.png rename to docs/Observer/Creating Proposals/targets_some.png diff --git a/static/images/getting-started/technical_goals_new.png b/docs/Observer/Creating Proposals/technical_goals_new.png similarity index 100% rename from static/images/getting-started/technical_goals_new.png rename to docs/Observer/Creating Proposals/technical_goals_new.png diff --git a/static/images/getting-started/technical_goals_none.png b/docs/Observer/Creating Proposals/technical_goals_none.png similarity index 100% rename from static/images/getting-started/technical_goals_none.png rename to docs/Observer/Creating Proposals/technical_goals_none.png diff --git a/static/images/getting-started/technical_goals_some.png b/docs/Observer/Creating Proposals/technical_goals_some.png similarity index 100% rename from static/images/getting-started/technical_goals_some.png rename to docs/Observer/Creating Proposals/technical_goals_some.png diff --git a/content/en/docs/Getting started/Submitting Proposals/_index.md b/docs/Observer/Submitting Proposals/index.md similarity index 76% rename from content/en/docs/Getting started/Submitting Proposals/_index.md rename to docs/Observer/Submitting Proposals/index.md index 8f91652..152437d 100644 --- a/content/en/docs/Getting started/Submitting Proposals/_index.md +++ b/docs/Observer/Submitting Proposals/index.md @@ -1,18 +1,10 @@ ---- -title: Submitting Proposals -date: 2024-03-04 -description: > - _Guide to submitting your **Proposal**_ -categories: [Examples] -tags: [test, sample, docs] ---- - -{{% pageinfo %}} + + Please be aware that the submission functionality of Polaris is under active development such that this page may very well be out-of-date. Please bear with us while we get around to updating this page. Last updated **2024-03-06** Polaris _alpha_ version. -{{% /pageinfo %}} + # Submit your Proposal @@ -20,9 +12,8 @@ Last updated **2024-03-06** Polaris _alpha_ version. Once you are happy with the details of your **Proposal**, and it has passed the server side validation checks you may submit it for review. -proposal submission ready -
-
+![proposal submission ready](proposal_submission_ready.png) + You will have to select the **Proposal Cycle** from the drop-down menu to which you wish to submit your **Proposal**. Once selected the page will display the submission deadline for that cycle. @@ -40,8 +31,6 @@ expect this list to expand significantly as we put Polaris in to beta-testing. If a **Proposal** doesn't pass the validation checks then you will be presented with the following page for the _Submit_ tab of your proposal, which lists the problems. -proposal submission not ready -
-
+![proposal submission not ready](proposal_submission_not_ready.png) Here we have created another proposal but haven't added any **Targets**, **Technical Goals**, or **Observations**. \ No newline at end of file diff --git a/static/images/getting-started/proposal_submission_not_ready.png b/docs/Observer/Submitting Proposals/proposal_submission_not_ready.png similarity index 100% rename from static/images/getting-started/proposal_submission_not_ready.png rename to docs/Observer/Submitting Proposals/proposal_submission_not_ready.png diff --git a/static/images/getting-started/proposal_submission_ready.png b/docs/Observer/Submitting Proposals/proposal_submission_ready.png similarity index 100% rename from static/images/getting-started/proposal_submission_ready.png rename to docs/Observer/Submitting Proposals/proposal_submission_ready.png diff --git a/content/en/docs/Getting started/_index.md b/docs/Observer/index.md similarity index 100% rename from content/en/docs/Getting started/_index.md rename to docs/Observer/index.md diff --git a/docs/TAC/index.md b/docs/TAC/index.md new file mode 100644 index 0000000..2ec30d2 --- /dev/null +++ b/docs/TAC/index.md @@ -0,0 +1,5 @@ +Managing Submitted Proposals +============================ + +Functions available to the Time Allocation Committee (TAC) + diff --git a/content/en/about/ORP_logo.png b/docs/assets/ORP_logo.png similarity index 100% rename from content/en/about/ORP_logo.png rename to docs/assets/ORP_logo.png diff --git a/docs/assets/icons/polaris_square_icon.png b/docs/assets/icons/polaris_square_icon.png new file mode 100644 index 0000000..5ac89a6 Binary files /dev/null and b/docs/assets/icons/polaris_square_icon.png differ diff --git a/assets/icons/logo.svg b/docs/assets/logo.svg similarity index 100% rename from assets/icons/logo.svg rename to docs/assets/logo.svg diff --git a/content/en/about/orp_background_image_small.png b/docs/assets/orp_background_image_small.png similarity index 100% rename from content/en/about/orp_background_image_small.png rename to docs/assets/orp_background_image_small.png diff --git a/content/en/eu-flag.jpg b/docs/eu-flag.jpg similarity index 100% rename from content/en/eu-flag.jpg rename to docs/eu-flag.jpg diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..ab1e129 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,13 @@ +# Welcome to Polaris + +Polaris is a toolkit for creating and managing astronomical observing proposals. + +## Deployment + +There is a [prototype deployment](https://kilburn.jb.man.ac.uk/pst/gui/tool/) - before using please [read this](prototype_information.md) + +## History + +Polaris was created as part of the [](https://www.orp-h2020.eu) + +EU Flag This project has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement No 101004719 \ No newline at end of file diff --git a/docs/prototype_information.md b/docs/prototype_information.md new file mode 100644 index 0000000..7c6525f --- /dev/null +++ b/docs/prototype_information.md @@ -0,0 +1,27 @@ +# Using the POLARIS Prototype + +There is a deployed prototype of the [Polaris web interface](https://kilburn.jb.man.ac.uk/pst/gui/tool/) that can be used for +experimentation and evaluation. There are some things to be aware of + +* The tool is still under development + * There are many "rough edges" + * The prototype will be updated with new features at irregular intervals. + * There is no guarantee that the data in the prototype will be stored long term + +## Example Data in the prototype + +If you simply want to log-in and see an example proposal without registering yourself, then log in as + +* username: pi +* password: pi + +which logs you in as an example Principal Investigator called "John Flamsteed" who already has one proposal prepared. + +Then see [instructions for creating a proposal](Observer/Creating%20Proposals/index.md). + +## Providing feedback + +We welcome feedback on Polaris should that be in the form of bug reports or suggestions for improvement. + +* bug reports should be logged in this [GitHub project](https://github.com/orppst/pst-gui/issues) +* Suggestions are probably best reported in this [GitHub discussion forum](https://github.com/orgs/orppst/discussions) \ No newline at end of file diff --git a/go.mod b/go.mod deleted file mode 100644 index ec0974f..0000000 --- a/go.mod +++ /dev/null @@ -1,9 +0,0 @@ -module github.com/google/docsy-example - -go 1.12 - -require ( - github.com/FortAwesome/Font-Awesome v0.0.0-20230327165841-0698449d50f2 // indirect - github.com/google/docsy v0.7.1 // indirect - github.com/twbs/bootstrap v5.2.3+incompatible // indirect -) diff --git a/go.sum b/go.sum deleted file mode 100644 index e1d4ad4..0000000 --- a/go.sum +++ /dev/null @@ -1,22 +0,0 @@ -github.com/FortAwesome/Font-Awesome v0.0.0-20220831210243-d3a7818c253f h1:bvkUptSRPZBr3Kxuk+bnWCEmQ5MtEJX5fjezyV0bC3g= -github.com/FortAwesome/Font-Awesome v0.0.0-20220831210243-d3a7818c253f/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= -github.com/FortAwesome/Font-Awesome v0.0.0-20221115183454-96cafbd73ec4 h1:xfr9SidRCMEh4A8fdkLhFPcHAVbrdv3Ua0Jp/nSmhhQ= -github.com/FortAwesome/Font-Awesome v0.0.0-20221115183454-96cafbd73ec4/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= -github.com/FortAwesome/Font-Awesome v0.0.0-20230327165841-0698449d50f2 h1:Uv1z5EqCfmiK4IHUwT0m3h/u/WCk+kpRfxvAZhpC7Gc= -github.com/FortAwesome/Font-Awesome v0.0.0-20230327165841-0698449d50f2/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= -github.com/google/docsy v0.5.1 h1:D/ZdFKiE29xM/gwPwQzmkyXhcbQGkReRS6aGrF7lnYk= -github.com/google/docsy v0.5.1/go.mod h1:maoUAQU5H/d+FrZIB4xg1EVWAx7RyFMGSDJyWghm31E= -github.com/google/docsy v0.6.0 h1:43bVF18t2JihAamelQjjGzx1vO2ljCilVrBgetCA8oI= -github.com/google/docsy v0.6.0/go.mod h1:VKKLqD8PQ7AglJc98yBorATfW7GrNVsn0kGXVYF6G+M= -github.com/google/docsy v0.7.0 h1:JaeZ0/KufX/BJ3SyATb/fmZa1DFI7o5d9KU+i6+lLJY= -github.com/google/docsy v0.7.0/go.mod h1:5WhIFchr5BfH6agjcInhpLRz7U7map0bcmKSpcrg6BE= -github.com/google/docsy v0.7.1 h1:DUriA7Nr3lJjNi9Ulev1SfiG1sUYmvyDeU4nTp7uDxY= -github.com/google/docsy v0.7.1/go.mod h1:JCmE+c+izhE0Rvzv3y+AzHhz1KdwlA9Oj5YBMklJcfc= -github.com/google/docsy/dependencies v0.5.1/go.mod h1:EDGc2znMbGUw0RW5kWwy2oGgLt0iVXBmoq4UOqstuNE= -github.com/google/docsy/dependencies v0.6.0/go.mod h1:EDGc2znMbGUw0RW5kWwy2oGgLt0iVXBmoq4UOqstuNE= -github.com/google/docsy/dependencies v0.7.0/go.mod h1:gihhs5gmgeO+wuoay4FwOzob+jYJVyQbNaQOh788lD4= -github.com/google/docsy/dependencies v0.7.1/go.mod h1:gihhs5gmgeO+wuoay4FwOzob+jYJVyQbNaQOh788lD4= -github.com/twbs/bootstrap v4.6.2+incompatible h1:TDa+R51BTiy1wEHSYjmqDb8LxNl/zaEjAOpRE9Hwh/o= -github.com/twbs/bootstrap v4.6.2+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= -github.com/twbs/bootstrap v5.2.3+incompatible h1:lOmsJx587qfF7/gE7Vv4FxEofegyJlEACeVV+Mt7cgc= -github.com/twbs/bootstrap v5.2.3+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= diff --git a/hugo.toml b/hugo.toml deleted file mode 100644 index 60c9eff..0000000 --- a/hugo.toml +++ /dev/null @@ -1,223 +0,0 @@ -baseURL = "https://orppst.github.io/guide/" -title = "Polaris" - -# Language settings -contentDir = "content/en" -defaultContentLanguage = "en" -defaultContentLanguageInSubdir = false -# Useful when translating. -enableMissingTranslationPlaceholders = true - -enableRobotsTXT = true - -# Will give values to .Lastmod etc. -enableGitInfo = true - -# Comment out to enable taxonomies in Docsy -# disableKinds = ["taxonomy", "taxonomyTerm"] - -# You can add your own taxonomies -[taxonomies] -tag = "tags" -category = "categories" - -[params.taxonomy] -# set taxonomyCloud = [] to hide taxonomy clouds -taxonomyCloud = ["tags", "categories"] - -# If used, must have same length as taxonomyCloud -taxonomyCloudTitle = ["Tag Cloud", "Categories"] - -# set taxonomyPageHeader = [] to hide taxonomies on the page headers -taxonomyPageHeader = ["tags", "categories"] - - -# Highlighting config -pygmentsCodeFences = true -pygmentsUseClasses = false -# Use the new Chroma Go highlighter in Hugo. -pygmentsUseClassic = false -#pygmentsOptions = "linenos=table" -# See https://help.farbox.com/pygments.html -pygmentsStyle = "tango" - -# Configure how URLs look like per section. -[permalinks] -blog = "/:section/:year/:month/:day/:slug/" - -# Image processing configuration. -[imaging] -resampleFilter = "CatmullRom" -quality = 75 -anchor = "smart" - -[services] -[services.googleAnalytics] -# Comment out the next line to disable GA tracking. Also disables the feature described in [params.ui.feedback]. -id = "UA-00000000-0" - - -staticDir=['static'] -# Language configuration - -[languages] -[languages.en] -languageName ="English" -# Weight used for sorting. -weight = 1 -[languages.en.params] -title = "Polaris" -description = "the ORP Proposal Submission Tool" - -[markup] - [markup.goldmark] - [markup.goldmark.parser.attribute] - block = true - [markup.goldmark.renderer] - unsafe = true - [markup.highlight] - # See a complete list of available styles at https://xyproto.github.io/splash/docs/all.html - style = "tango" - # Uncomment if you want your chosen highlight style used for code blocks without a specified language - # guessSyntax = "true" - - -# Everything below this are Site Params - -# Comment out if you don't want the "print entire section" link enabled. -[outputs] -section = ["HTML", "print", "RSS"] - -[params] -copyright = "The Polaris Authors" -privacy_policy = "https://policies.google.com/privacy" - -# First one is picked as the Twitter card image if not set on page. -# images = ["images/project-illustration.png"] - -# Menu title if your navbar has a versions selector to access old versions of your site. -# This menu appears only if you have at least one [params.versions] set. -version_menu = "Releases" - -# Flag used in the "version-banner" partial to decide whether to display a -# banner on every page indicating that this is an archived version of the docs. -# Set this flag to "true" if you want to display the banner. -archived_version = false - -# The version number for the version of the docs represented in this doc set. -# Used in the "version-banner" partial to display a version number for the -# current doc set. -version = "0.0" - -# A link to latest version of the docs. Used in the "version-banner" partial to -# point people to the main doc site. -url_latest_version = "https://example.com" - -# Repository configuration (URLs for in-page links to opening issues and suggesting changes) -github_repo = "https://github.com/orppst/guide" -# An optional link to a related project repo. For example, the sibling repository where your product code lives. -github_project_repo = "https://github.com/orppst/pst-all" - -# Specify a value here if your content directory is not in your repo's root directory -# github_subdir = "" - -# Uncomment this if your GitHub repo does not have "main" as the default branch, -# or specify a new value if you want to reference another branch in your GitHub links -github_branch= "main" - -# Google Custom Search Engine ID. Remove or comment out to disable search. -gcs_engine_id = "d72aa9b2712488cc3" - -# Enable Algolia DocSearch -algolia_docsearch = false - -# Enable Lunr.js offline search -offlineSearch = false - -# Enable syntax highlighting and copy buttons on code blocks with Prism -prism_syntax_highlighting = false - -# User interface configuration -[params.ui] -# Set to true to disable breadcrumb navigation. -breadcrumb_disable = false -# Set to true to disable the About link in the site footer -footer_about_disable = false -# Set to false if you don't want to display a logo (/assets/icons/logo.svg) in the top navbar -navbar_logo = true -# Set to true if you don't want the top navbar to be translucent when over a `block/cover`, like on the homepage. -navbar_translucent_over_cover_disable = false -# Enable to show the side bar menu in its compact state. -sidebar_menu_compact = false -# Set to true to hide the sidebar search box (the top nav search box will still be displayed if search is enabled) -sidebar_search_disable = false - -# Adds a H2 section titled "Feedback" to the bottom of each doc. The responses are sent to Google Analytics as events. -# This feature depends on [services.googleAnalytics] and will be disabled if "services.googleAnalytics.id" is not set. -# If you want this feature, but occasionally need to remove the "Feedback" section from a single page, -# add "hide_feedback: true" to the page's front matter. -[params.ui.feedback] -enable = true -# The responses that the user sees after clicking "yes" (the page was helpful) or "no" (the page was not helpful). -yes = 'Glad to hear it!' -no = 'Sorry to hear that. Please tell us how we can improve.' - -# Adds a reading time to the top of each doc. -# If you want this feature, but occasionally need to remove the Reading time from a single page, -# add "hide_readingtime: true" to the page's front matter -[params.ui.readingtime] -enable = false - -[params.links] -# End user relevant links. These will show up on left side of footer and in the community page if you have one. -[[params.links.user]] - name ="Twitter" - url = "https://www.twitter.com/ORP_Astro" - icon = "fab fa-twitter" - desc = "Follow us on Twitter to get the latest news!" - -# Developer relevant links. These will show up on right side of footer and in the community page if you have one. -[[params.links.developer]] - name = "GitHub" - url = "https://github.com/orppst/" - icon = "fab fa-github" - desc = "Development takes place here!" -[[params.links.developer]] - name = "Slack" - url = "https://orp-ja2-slack.slack.com/channels/proposal-tool" - icon = "fab fa-slack" - desc = "Chat with other project developers" -[[params.links.developer]] - name = "Developer mailing list" - url = "https://github.com/orgs/orppst/discussions" - icon = "fa fa-envelope" - desc = "Discuss development issues around the project" - -[params.plantuml] -enable = true -theme = "default" - -# Set url to plantuml server -# default is http://www.plantuml.com/plantuml/svg/ -svg_image_url = "https://www.plantuml.com/plantuml/svg/" - -# By default the plantuml implementation uses tags to display UML diagrams. -# When svg is set to true, diagrams are displayed using tags, maintaining functionality like links e.g. -# default = false -svg = true - - -# hugo module configuration - -[module] - # uncomment line below for temporary local development of module - # replacements = "github.com/google/docsy -> ../../docsy" - [module.hugoVersion] - extended = true - min = "0.110.0" - [[module.imports]] - path = "github.com/google/docsy" - disable = false - [[module.imports]] - path = "github.com/google/docsy/dependencies" - disable = false diff --git a/layouts/404.html b/layouts/404.html deleted file mode 100644 index 1a9bd70..0000000 --- a/layouts/404.html +++ /dev/null @@ -1,7 +0,0 @@ -{{ define "main" -}} -
-

Not found

-

Oops! This page doesn't exist. Try going back to the home page.

-

You can learn how to make a 404 page like this in Custom 404 Pages.

-
-{{- end }} diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..21b74b3 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,48 @@ +site_name: Polaris +repo_url: https://github.com/orppst/guide + +nav: + - Home: index.md + - Observer: + - Getting Started: Observer/index.md + - Creating Proposals: + - Starting : Observer/Creating Proposals/index.md + - Adding Targets: Observer/Creating Proposals/adding-targets.md + - Adding Technical Goals: Observer/Creating Proposals/adding-technical-goals.md + - Building an Observation: Observer/Creating Proposals/build-observation.md + - Submitting Proposals: + - Submitting: Observer/Submitting Proposals/index.md + - TAC: + - Getting Started: TAC/index.md + - Observatory: + - Getting Started: Observatory/index.md + - Developer: + - Getting Started: Developer/index.md + - Reference: + - Use Cases: Developer/use-cases.md + - Architecture: Developer/architecture.md + - API: Developer/api.md + - Deployment: + - Getting Started: Deployment/index.md +theme: + name: material + features: + - navigation.instant + - navigation.tabs + - content.action.edit + logo: assets/logo.svg + favicon: assets/icons/polaris_square_icon.png + +markdown_extensions: + - tables + - footnotes + - pymdownx.superfences: + custom_fences: + - name: mermaid + class: mermaid + format: !!python/name:pymdownx.superfences.fence_code_format + +plugins: + - search + + diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 596e8e7..0000000 --- a/package-lock.json +++ /dev/null @@ -1,2434 +0,0 @@ -{ - "name": "polaris-documenation-site", - "version": "0.1", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "polaris-documenation-site", - "version": "0.1", - "license": "Apache-2.0", - "devDependencies": { - "autoprefixer": "^10.4.14", - "hugo-extended": "0.122.0", - "postcss-cli": "^10.1.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/code-frame/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@sindresorhus/is": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", - "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", - "dev": true, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" - } - }, - "node_modules/@szmarczak/http-timer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", - "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", - "dev": true, - "dependencies": { - "defer-to-connect": "^2.0.1" - }, - "engines": { - "node": ">=14.16" - } - }, - "node_modules/@types/http-cache-semantics": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz", - "integrity": "sha512-V46MYLFp08Wf2mmaBhvgjStM3tPa+2GAdy/iqoX+noX1//zje2x4XmrIU0cAwyClATsTmahbtoQ2EwP7I5WSiA==", - "dev": true - }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.3.tgz", - "integrity": "sha512-ehPtgRgaULsFG8x0NeYJvmyH1hmlfsNLujHe9dQEia/7MAJYdzMSi19JtchUHjmBA6XC/75dK55mzZH+RyieSg==", - "dev": true - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/autoprefixer": { - "version": "10.4.16", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", - "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "browserslist": "^4.21.10", - "caniuse-lite": "^1.0.30001538", - "fraction.js": "^4.3.6", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "dev": true, - "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", - "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001541", - "electron-to-chromium": "^1.4.535", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.13" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dev": true, - "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", - "dev": true - }, - "node_modules/cacheable-lookup": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", - "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", - "dev": true, - "engines": { - "node": ">=14.16" - } - }, - "node_modules/cacheable-request": { - "version": "10.2.14", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", - "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", - "dev": true, - "dependencies": { - "@types/http-cache-semantics": "^4.0.2", - "get-stream": "^6.0.1", - "http-cache-semantics": "^4.1.1", - "keyv": "^4.5.3", - "mimic-response": "^4.0.0", - "normalize-url": "^8.0.0", - "responselike": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - } - }, - "node_modules/cacheable-request/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001559", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001559.tgz", - "integrity": "sha512-cPiMKZgqgkg5LY3/ntGeLFUpi6tzddBNS58A4tnTgQw1zON7u2sZMU7SzOeVH4tj20++9ggL+V6FDOFMTaFFYA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/careful-downloader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/careful-downloader/-/careful-downloader-3.0.0.tgz", - "integrity": "sha512-5KMIPa0Yoj+2tY6OK9ewdwcPebp+4XS0dMYvvF9/8fkFEfvnEpWmHWYs9JNcZ7RZUvY/v6oPzLpmmTzSIbroSA==", - "dev": true, - "dependencies": { - "debug": "^4.3.4", - "decompress": "^4.2.1", - "fs-extra": "^11.1.1", - "got": "^12.6.0", - "is-path-inside": "^4.0.0", - "tempy": "^3.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "dev": true, - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true - }, - "node_modules/crypto-random-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", - "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", - "dev": true, - "dependencies": { - "type-fest": "^1.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/crypto-random-string/node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decompress": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", - "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", - "dev": true, - "dependencies": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "dev": true, - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/decompress-response/node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/decompress-tar": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", - "dev": true, - "dependencies": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tarbz2": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", - "dev": true, - "dependencies": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tarbz2/node_modules/file-type": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-targz": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", - "dev": true, - "dependencies": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-unzip": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", - "dev": true, - "dependencies": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-unzip/node_modules/file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/dependency-graph": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", - "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", - "dev": true, - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.574", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.574.tgz", - "integrity": "sha512-bg1m8L0n02xRzx4LsTTMbBPiUd9yIR+74iPtS/Ao65CuXvhVZHP0ym1kSdDG3yHFDXqHQQBKujlN1AQ8qZnyFg==", - "dev": true - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "dev": true, - "dependencies": { - "pend": "~1.2.0" - } - }, - "node_modules/file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "dev": true, - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/form-data-encoder": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", - "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", - "dev": true, - "engines": { - "node": ">= 14.17" - } - }, - "node_modules/fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "dev": true, - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" - } - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true - }, - "node_modules/fs-extra": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", - "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-stdin": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", - "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", - "dev": true, - "dependencies": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", - "dev": true, - "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/got": { - "version": "12.6.1", - "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", - "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", - "dev": true, - "dependencies": { - "@sindresorhus/is": "^5.2.0", - "@szmarczak/http-timer": "^5.0.1", - "cacheable-lookup": "^7.0.0", - "cacheable-request": "^10.2.8", - "decompress-response": "^6.0.0", - "form-data-encoder": "^2.1.2", - "get-stream": "^6.0.1", - "http2-wrapper": "^2.1.10", - "lowercase-keys": "^3.0.0", - "p-cancelable": "^3.0.0", - "responselike": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" - } - }, - "node_modules/got/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "dev": true - }, - "node_modules/http2-wrapper": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.0.tgz", - "integrity": "sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==", - "dev": true, - "dependencies": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.2.0" - }, - "engines": { - "node": ">=10.19.0" - } - }, - "node_modules/hugo-extended": { - "version": "0.122.0", - "resolved": "https://registry.npmjs.org/hugo-extended/-/hugo-extended-0.122.0.tgz", - "integrity": "sha512-f9kPVSKxk5mq62wmw1tbhg5CV7n93Tbt7jZoy+C3yfRlEZhGqBlxaEJ3MeeNoilz3IPy5STHB7R0Bdhuap7mHA==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "careful-downloader": "^3.0.0", - "log-symbols": "^5.1.0", - "read-pkg-up": "^9.1.0" - }, - "bin": { - "hugo": "lib/cli.js", - "hugo-extended": "lib/cli.js" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dev": true, - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-natural-number": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", - "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", - "dev": true - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-path-inside": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", - "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-unicode-supported": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", - "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "node_modules/locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", - "dev": true, - "dependencies": { - "p-locate": "^6.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-symbols": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz", - "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==", - "dev": true, - "dependencies": { - "chalk": "^5.0.0", - "is-unicode-supported": "^1.1.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lowercase-keys": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", - "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/make-dir/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mimic-response": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", - "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "peer": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", - "dev": true - }, - "node_modules/normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz", - "integrity": "sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==", - "dev": true, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/p-cancelable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", - "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", - "dev": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", - "dev": true, - "dependencies": { - "p-limit": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "dev": true - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", - "dev": true, - "dependencies": { - "pinkie": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "peer": true, - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-cli": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-10.1.0.tgz", - "integrity": "sha512-Zu7PLORkE9YwNdvOeOVKPmWghprOtjFQU3srMUGbdz3pHJiFh7yZ4geiZFMkjMfB0mtTFR3h8RemR62rPkbOPA==", - "dev": true, - "dependencies": { - "chokidar": "^3.3.0", - "dependency-graph": "^0.11.0", - "fs-extra": "^11.0.0", - "get-stdin": "^9.0.0", - "globby": "^13.0.0", - "picocolors": "^1.0.0", - "postcss-load-config": "^4.0.0", - "postcss-reporter": "^7.0.0", - "pretty-hrtime": "^1.0.3", - "read-cache": "^1.0.0", - "slash": "^5.0.0", - "yargs": "^17.0.0" - }, - "bin": { - "postcss": "index.js" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-load-config": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", - "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", - "dev": true, - "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^2.1.1" - }, - "engines": { - "node": ">= 14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/postcss-reporter": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.0.5.tgz", - "integrity": "sha512-glWg7VZBilooZGOFPhN9msJ3FQs19Hie7l5a/eE6WglzYqVeH3ong3ShFcp9kDWJT1g2Y/wd59cocf9XxBtkWA==", - "dev": true, - "dependencies": { - "picocolors": "^1.0.0", - "thenby": "^1.3.4" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "node_modules/pretty-hrtime": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dev": true, - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/read-pkg": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-7.1.0.tgz", - "integrity": "sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg==", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.1", - "normalize-package-data": "^3.0.2", - "parse-json": "^5.2.0", - "type-fest": "^2.0.0" - }, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-9.1.0.tgz", - "integrity": "sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg==", - "dev": true, - "dependencies": { - "find-up": "^6.3.0", - "read-pkg": "^7.1.0", - "type-fest": "^2.5.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", - "dev": true - }, - "node_modules/responselike": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", - "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", - "dev": true, - "dependencies": { - "lowercase-keys": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/seek-bzip": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", - "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", - "dev": true, - "dependencies": { - "commander": "^2.8.1" - }, - "bin": { - "seek-bunzip": "bin/seek-bunzip", - "seek-table": "bin/seek-bzip-table" - } - }, - "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/slash": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", - "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", - "dev": true, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.16", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", - "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", - "dev": true - }, - "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-dirs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", - "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", - "dev": true, - "dependencies": { - "is-natural-number": "^4.0.1" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "dev": true, - "dependencies": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/temp-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-3.0.0.tgz", - "integrity": "sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==", - "dev": true, - "engines": { - "node": ">=14.16" - } - }, - "node_modules/tempy": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-3.1.0.tgz", - "integrity": "sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==", - "dev": true, - "dependencies": { - "is-stream": "^3.0.0", - "temp-dir": "^3.0.0", - "type-fest": "^2.12.2", - "unique-string": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tempy/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/thenby": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/thenby/-/thenby-1.3.4.tgz", - "integrity": "sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==", - "dev": true - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true - }, - "node_modules/to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", - "dev": true - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "dev": true, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/unbzip2-stream": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", - "dev": true, - "dependencies": { - "buffer": "^5.2.1", - "through": "^2.3.8" - } - }, - "node_modules/unique-string": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", - "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", - "dev": true, - "dependencies": { - "crypto-random-string": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/yaml": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.3.tgz", - "integrity": "sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==", - "dev": true, - "engines": { - "node": ">= 14" - } - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", - "dev": true, - "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", - "dev": true, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/package.json b/package.json deleted file mode 100644 index 5db96ec..0000000 --- a/package.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "polaris-documenation-site", - "version": "0.1", - "description": "Documentation site that uses Docsy theme for technical documentation.", - "repository": "github:orppst/guide/", - "homepage": "https://orppst.github.io/guide", - "author": "Polaris Authors", - "license": "Apache-2.0", - "bugs": "https://github.com/orppst/guide/issues", - "spelling": "cSpell:ignore HTMLTEST precheck postbuild -", - "scripts": { - "_build": "npm run _hugo-dev", - "_check:links": "echo IMPLEMENTATION PENDING for check-links; echo", - "_hugo": "hugo --cleanDestinationDir", - "_hugo-dev": "npm run _hugo -- -e dev -DFE", - "_serve": "npm run _hugo-dev -- --minify serve", - "build:preview": "npm run _hugo-dev -- --minify --baseURL \"${DEPLOY_PRIME_URL:-/}\"", - "build:production": "npm run _hugo -- --minify", - "build": "npm run _build", - "check:links:all": "HTMLTEST_ARGS= npm run _check:links", - "check:links": "npm run _check:links", - "clean": "rm -Rf public/* resources", - "make:public": "git init -b main public", - "precheck:links:all": "npm run build", - "precheck:links": "npm run build", - "postbuild:preview": "npm run _check:links", - "postbuild:production": "npm run _check:links", - "serve": "npm run _serve", - "test": "npm run check:links", - "update:pkg:dep": "npm install --save-dev autoprefixer@latest postcss-cli@latest", - "update:pkg:hugo": "npm install --save-dev --save-exact hugo-extended@latest" - }, - "devDependencies": { - "autoprefixer": "^10.4.14", - "hugo-extended": "0.122.0", - "postcss-cli": "^10.1.0" - } -} diff --git a/static/openapi/openapi.yaml b/static/openapi/openapi.yaml new file mode 100644 index 0000000..c8dff85 --- /dev/null +++ b/static/openapi/openapi.yaml @@ -0,0 +1,5009 @@ +--- +openapi: 3.0.3 +info: + title: pst-api-service API + version: "0.1" +servers: +- url: http://localhost:8084 + description: Auto generated value +- url: http://0.0.0.0:8084 + description: Auto generated value +tags: +- name: mapping between AAI user ids and People +- name: observatories +- name: observatory-instruments +- name: observatory-telescopes +- name: organizations +- name: people +- name: proposalCycles +- name: proposalCycles-availableResources +- name: proposalCycles-observingModes +- name: proposals +- name: proposals-investigators +- name: proposals-observations +- name: proposals-supportingDocuments +- name: proposals-technicalGoals +- name: simbad +- name: standard Space Coordinate Systems +- name: standard Space frames +paths: + /pst/api/observatories: + get: + tags: + - observatories + summary: "get all of the Observatories, optionally provide a name to find the\ + \ specific Observatory" + operationId: ObservatoryResource_getObservatories + parameters: + - name: name + in: query + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ObjectIdentifier' + post: + tags: + - observatories + summary: create a new Observatory in the database + operationId: ObservatoryResource_createObservatory + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Observatory' + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Observatory' + /pst/api/observatories/{id}: + get: + tags: + - observatories + summary: get the specified Observatory + operationId: ObservatoryResource_getObservatory + parameters: + - name: id + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Observatory' + delete: + tags: + - observatories + summary: delete the Observatory specified by the 'id' from the database + operationId: ObservatoryResource_deleteObservatory + parameters: + - name: id + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + /pst/api/observatories/{id}/address: + put: + tags: + - observatories + summary: update an Observatory's address + operationId: ObservatoryResource_updateAddress + parameters: + - name: id + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + text/plain: + schema: + type: string + responses: + "200": + description: OK + /pst/api/observatories/{id}/array: + put: + tags: + - observatories + summary: add an existing TelescopeArray to the Observatory + operationId: ObservatoryResource_addArray + parameters: + - name: id + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + text/plain: + schema: + format: int64 + type: integer + responses: + "200": + description: OK + post: + tags: + - observatories + summary: create a TelescopeArray in the database and add it to the Observatory + specified by the 'id' + operationId: ObservatoryResource_createAndAddArray + parameters: + - name: id + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TelescopeArray' + responses: + "200": + description: OK + /pst/api/observatories/{id}/backend: + get: + tags: + - observatories + summary: get all the Backends associated with the Observatory specified by the + 'id' + operationId: ObservatoryResource_getObservatoryBackends + parameters: + - name: id + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Backend' + put: + tags: + - observatories + summary: add an Observatory backend + operationId: ObservatoryResource_addBackend + parameters: + - name: id + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + text/plain: + schema: + format: int64 + type: integer + responses: + "200": + description: OK + post: + tags: + - observatories + summary: create a Backend in the database and add it to the Observatory specified + by the 'id' + operationId: ObservatoryResource_createAndAddBackend + parameters: + - name: id + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Backend' + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Backend' + /pst/api/observatories/{id}/backend/{subId}: + get: + tags: + - observatories + summary: get the specific Backend associated with the Observatory + operationId: ObservatoryResource_getObservatoryBackend + parameters: + - name: id + in: path + required: true + schema: + format: int64 + type: integer + - name: subId + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Backend' + /pst/api/observatories/{id}/backend/{subId}/parallel: + put: + tags: + - observatories + summary: update the 'parallel' status (true/false) of the Backend specified + by the 'subId' + operationId: ObservatoryResource_updateBackendParallel + parameters: + - name: id + in: path + required: true + schema: + format: int64 + type: integer + - name: subId + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + type: boolean + responses: + "200": + description: OK + /pst/api/observatories/{id}/ivoId: + put: + tags: + - observatories + summary: update an Observatory's ivoId + operationId: ObservatoryResource_updateObservatoryIvoId + parameters: + - name: id + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + text/plain: + schema: + type: string + responses: + "200": + description: OK + /pst/api/observatories/{id}/name: + put: + tags: + - observatories + summary: update an Observatory name + operationId: ObservatoryResource_updateObservatoryName + parameters: + - name: id + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + text/plain: + schema: + type: string + responses: + "200": + description: OK + /pst/api/observatories/{id}/wikiId: + put: + tags: + - observatories + summary: update an Observatory's wikiId + operationId: ObservatoryResource_updateObservatoryWikiId + parameters: + - name: id + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + text/plain: + schema: + type: string + responses: + "200": + description: OK + /pst/api/observatories/{observatoryId}/backend/{backendId}/name: + put: + tags: + - observatories + summary: replace the name of the Backend specified by the 'subId' + operationId: ObservatoryResource_replaceBackendName + parameters: + - name: backendId + in: path + required: true + schema: + format: int64 + type: integer + - name: observatoryId + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + text/plain: + schema: + type: string + responses: + "200": + description: OK + /pst/api/observatories/{observatoryId}/instruments: + get: + tags: + - observatory-instruments + summary: "get all Instrument identifiers associated with the given Observatory,\ + \ optionally provide a name to find a specific Instrument" + operationId: InstrumentResource_getObservatoryInstruments + parameters: + - name: observatoryId + in: path + required: true + schema: + format: int64 + type: integer + - name: name + in: query + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ObjectIdentifier' + post: + tags: + - observatory-instruments + summary: create an Instrument in the database and add it to the Observatory + specified by the 'id' + operationId: InstrumentResource_createAndAddInstrumentToObservatory + parameters: + - name: observatoryId + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Instrument' + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Instrument' + /pst/api/observatories/{observatoryId}/instruments/{instrumentId}: + delete: + tags: + - observatory-instruments + summary: "remove the Instrument specified by 'instrumentId' from the given Observatory,\ + \ also removes the instrument from the database" + operationId: InstrumentResource_removeInstrumentFromObservatory + parameters: + - name: instrumentId + in: path + required: true + schema: + format: int64 + type: integer + - name: observatoryId + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + /pst/api/observatories/{observatoryId}/instruments/{instrumentId}/description: + put: + tags: + - observatory-instruments + summary: replace the description of the Instrument specified by the 'instrumentId' + operationId: InstrumentResource_replaceInstrumentDescription + parameters: + - name: instrumentId + in: path + required: true + schema: + format: int64 + type: integer + - name: observatoryId + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + text/plain: + schema: + type: string + responses: + "200": + description: OK + /pst/api/observatories/{observatoryId}/instruments/{instrumentId}/frequencyCoverage: + put: + tags: + - observatory-instruments + summary: replace the frequencyCoverage of the Instrument specified by the 'instrumentId' + operationId: InstrumentResource_replaceInstrumentFrequencyCoverage + parameters: + - name: instrumentId + in: path + required: true + schema: + format: int64 + type: integer + - name: observatoryId + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SpectralWindowSetup' + responses: + "200": + description: OK + /pst/api/observatories/{observatoryId}/instruments/{instrumentId}/kind: + put: + tags: + - observatory-instruments + summary: "replace the 'kind' of the Instrument specified by the 'instrumentId';\ + \ one-of CONTINUUM, SPECTROSCOPIC" + operationId: InstrumentResource_replaceInstrumentKind + parameters: + - name: instrumentId + in: path + required: true + schema: + format: int64 + type: integer + - name: observatoryId + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + text/plain: + schema: + type: string + responses: + "200": + description: OK + /pst/api/observatories/{observatoryId}/instruments/{instrumentId}/name: + put: + tags: + - observatory-instruments + summary: replace the name of the Instrument specified by the 'subId' + operationId: InstrumentResource_replaceInstrumentName + parameters: + - name: instrumentId + in: path + required: true + schema: + format: int64 + type: integer + - name: observatoryId + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + text/plain: + schema: + type: string + responses: + "200": + description: OK + /pst/api/observatories/{observatoryId}/instruments/{instrumentId}/reference: + put: + tags: + - observatory-instruments + summary: replace the reference (external URL) of the Instrument specified by + the 'instrumentId' + operationId: InstrumentResource_replaceInstrumentReference + parameters: + - name: instrumentId + in: path + required: true + schema: + format: int64 + type: integer + - name: observatoryId + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + text/plain: + schema: + type: string + responses: + "200": + description: OK + /pst/api/observatories/{observatoryId}/instruments/{instrumentId}/wikiId: + put: + tags: + - observatory-instruments + summary: replace the wikiId of the Instrument specified by the 'instrumentId' + operationId: InstrumentResource_replaceInstrumentWikiId + parameters: + - name: instrumentId + in: path + required: true + schema: + format: int64 + type: integer + - name: observatoryId + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + text/plain: + schema: + type: string + responses: + "200": + description: OK + /pst/api/observatories/{observatoryId}/telescopes: + get: + tags: + - observatory-telescopes + summary: "get all Telescope identifiers associated with the given Observatory,\ + \ optionally provide a name to find a specific Telescope" + operationId: TelescopeResource_getObservatoryTelescopes + parameters: + - name: observatoryId + in: path + required: true + schema: + format: int64 + type: integer + - name: name + in: query + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ObjectIdentifier' + post: + tags: + - observatory-telescopes + summary: create a new Telescope and add it to the given Observatory + operationId: TelescopeResource_createAndAddTelescopeToObservatory + parameters: + - name: observatoryId + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Telescope' + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Telescope' + /pst/api/observatories/{observatoryId}/telescopes/{telescopeId}: + get: + tags: + - observatory-telescopes + summary: get the Telescope specified by the 'telescopeId' associated with the + given Observatory + operationId: TelescopeResource_getTelescope + parameters: + - name: observatoryId + in: path + required: true + schema: + format: int64 + type: integer + - name: telescopeId + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Telescope' + delete: + tags: + - observatory-telescopes + summary: "remove the Telescope specified by the 'telescopeId' from the given\ + \ Observatory, also removes Telescope entity from the database" + operationId: TelescopeResource_removeTelescopeFromObservatory + parameters: + - name: observatoryId + in: path + required: true + schema: + format: int64 + type: integer + - name: telescopeId + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + /pst/api/observatories/{observatoryId}/telescopes/{telescopeId}/location: + put: + tags: + - observatory-telescopes + summary: update the location of the Telescope specified by 'telescopeId' + operationId: TelescopeResource_updateTelescopeLocation + parameters: + - name: observatoryId + in: path + required: true + schema: + format: int64 + type: integer + - name: telescopeId + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GeocentricPoint' + responses: + "200": + description: OK + /pst/api/observatories/{observatoryId}/telescopes/{telescopeId}/location/coordinateSystem: + put: + tags: + - observatory-telescopes + summary: update the coordinate system of the location of the Telescope specified + by 'telescopeId' + operationId: TelescopeResource_updateTelescopeLocationCoordinateSystem + parameters: + - name: observatoryId + in: path + required: true + schema: + format: int64 + type: integer + - name: telescopeId + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + text/plain: + schema: + format: int64 + type: integer + responses: + "200": + description: OK + /pst/api/observatories/{observatoryId}/telescopes/{telescopeId}/location/x: + put: + tags: + - observatory-telescopes + summary: update the x coordinate of the location of the Telescope specified + by 'telescopeId' + operationId: TelescopeResource_updateTelescopeLocationX + parameters: + - name: observatoryId + in: path + required: true + schema: + format: int64 + type: integer + - name: telescopeId + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RealQuantity' + responses: + "200": + description: OK + /pst/api/observatories/{observatoryId}/telescopes/{telescopeId}/location/xyz: + put: + tags: + - observatory-telescopes + summary: "update the x,y and z coordinates of the location of the Telescope\ + \ specified by 'telescopeId'" + operationId: TelescopeResource_updateTelescopeLocationXYZ + parameters: + - name: observatoryId + in: path + required: true + schema: + format: int64 + type: integer + - name: telescopeId + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RealQuantity' + responses: + "200": + description: OK + /pst/api/observatories/{observatoryId}/telescopes/{telescopeId}/location/y: + put: + tags: + - observatory-telescopes + summary: update the y coordinate of the location of the Telescope specified + by 'telescopeId' + operationId: TelescopeResource_updateTelescopeLocationY + parameters: + - name: observatoryId + in: path + required: true + schema: + format: int64 + type: integer + - name: telescopeId + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RealQuantity' + responses: + "200": + description: OK + /pst/api/observatories/{observatoryId}/telescopes/{telescopeId}/location/z: + put: + tags: + - observatory-telescopes + summary: update the z coordinate of the location of the Telescope specified + by 'telescopeId' + operationId: TelescopeResource_updateTelescopeLocationZ + parameters: + - name: observatoryId + in: path + required: true + schema: + format: int64 + type: integer + - name: telescopeId + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RealQuantity' + responses: + "200": + description: OK + /pst/api/observatories/{observatoryId}/telescopes/{telescopeId}/name: + put: + tags: + - observatory-telescopes + summary: update the name of the Telescope specified by 'telescopeId' + operationId: TelescopeResource_updateTelescopeName + parameters: + - name: observatoryId + in: path + required: true + schema: + format: int64 + type: integer + - name: telescopeId + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + text/plain: + schema: + type: string + responses: + "200": + description: OK + /pst/api/observatories/{observatoryId}/telescopes/{telescopeId}/wikiId: + put: + tags: + - observatory-telescopes + summary: update the wikiId of the Telescope specified by 'telescopeId' + operationId: TelescopeResource_updateTelescopeWikiId + parameters: + - name: observatoryId + in: path + required: true + schema: + format: int64 + type: integer + - name: telescopeId + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + text/plain: + schema: + type: string + responses: + "200": + description: OK + /pst/api/organizations: + get: + tags: + - organizations + summary: get all Organizations stored in the database + operationId: OrganizationResource_getOrganizations + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ObjectIdentifier' + post: + tags: + - organizations + summary: create a new Organization in the database + operationId: OrganizationResource_createOrganization + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Organization' + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Organization' + /pst/api/organizations/{id}: + get: + tags: + - organizations + summary: get the Organization specified by the 'id' + operationId: OrganizationResource_getOrganization + parameters: + - name: id + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Organization' + delete: + tags: + - organizations + summary: delete the Organization specified by the 'id' from the database + operationId: OrganizationResource_deleteOrganization + parameters: + - name: id + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + /pst/api/organizations/{id}/address: + put: + tags: + - organizations + summary: update an Organization's address + operationId: OrganizationResource_updateOrganisationAddress + parameters: + - name: id + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + text/plain: + schema: + type: string + responses: + "200": + description: OK + /pst/api/organizations/{id}/ivoId: + put: + tags: + - organizations + summary: update an Organization's ivoId + operationId: OrganizationResource_updateOrganisationIvoId + parameters: + - name: id + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + text/plain: + schema: + type: string + responses: + "200": + description: OK + /pst/api/organizations/{id}/name: + put: + tags: + - organizations + summary: update an Organization's name + operationId: OrganizationResource_updateOrganisationName + parameters: + - name: id + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + text/plain: + schema: + type: string + responses: + "200": + description: OK + /pst/api/organizations/{id}/wikiId: + put: + tags: + - organizations + summary: update an Organization's wikiId + operationId: OrganizationResource_updateOrganisationWikiId + parameters: + - name: id + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + text/plain: + schema: + type: string + responses: + "200": + description: OK + /pst/api/people: + get: + tags: + - people + summary: "get People from the database, optionally provide a name to find all\ + \ the people with that name" + operationId: PersonResource_getPeople + parameters: + - name: name + in: query + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ObjectIdentifier' + post: + tags: + - people + summary: create a new Person in the database + operationId: PersonResource_createPerson + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Person' + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Person' + /pst/api/people/{id}: + get: + tags: + - people + summary: get the specified Person + operationId: PersonResource_getPerson + parameters: + - name: id + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Person' + delete: + tags: + - people + summary: delete the Person specified by the 'id' from the database + operationId: PersonResource_deletePerson + parameters: + - name: id + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + /pst/api/people/{id}/eMail: + put: + tags: + - people + summary: update a Person's email address + operationId: PersonResource_updateEMail + parameters: + - name: id + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + text/plain: + schema: + type: string + responses: + "200": + description: OK + /pst/api/people/{id}/fullName: + put: + tags: + - people + summary: update a Person's full name + operationId: PersonResource_updateFullName + parameters: + - name: id + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + text/plain: + schema: + type: string + responses: + "200": + description: OK + /pst/api/people/{id}/orcidId: + put: + tags: + - people + summary: update a Person's orcid ID + operationId: PersonResource_updateOrcidId + parameters: + - name: id + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + text/plain: + schema: + type: string + responses: + "200": + description: OK + /pst/api/proposalCycles: + get: + tags: + - proposalCycles + summary: List the ProposalCycles + operationId: ProposalCyclesResource_getProposalCycles + parameters: + - name: includeClosed + in: query + schema: + type: boolean + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ObjectIdentifier' + /pst/api/proposalCycles/{cycleCode}: + get: + tags: + - proposalCycles + summary: Get proposal cycle + operationId: ProposalCyclesResource_getProposalCycle + parameters: + - name: cycleCode + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ProposalCycle' + /pst/api/proposalCycles/{cycleCode}/TAC: + get: + tags: + - proposalCycles + summary: Get the time allocation committee + operationId: ProposalCyclesResource_getTAC + parameters: + - name: cycleCode + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/TAC' + /pst/api/proposalCycles/{cycleCode}/allocatedProposals: + get: + tags: + - proposalCycles + summary: "get identifiers for all the AllocatedProposals in the given ProposalCycle,\ + \ optionally provide a proposal title to get a specific identifier " + operationId: ProposalCyclesResource_getAllocatedProposalsFromCycle + parameters: + - name: cycleCode + in: path + required: true + schema: + format: int64 + type: integer + - name: title + in: query + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ObjectIdentifier' + put: + tags: + - proposalCycles + summary: upgrade a proposal under review to an allocated proposal + operationId: ProposalCyclesResource_allocateProposalToCycle + parameters: + - name: cycleCode + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + text/plain: + schema: + format: int64 + type: integer + responses: + "200": + description: OK + /pst/api/proposalCycles/{cycleCode}/allocatedProposals/{allocatedId}: + post: + tags: + - proposalCycles + summary: add an AllocationBlock to the specific AllocatedProposal + operationId: ProposalCyclesResource_addAllocatedBlockToAllocatedProposal + parameters: + - name: allocatedId + in: path + required: true + schema: + format: int64 + type: integer + - name: cycleCode + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AllocatedBlock' + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/AllocatedBlock' + /pst/api/proposalCycles/{cycleCode}/dates: + get: + tags: + - proposalCycles + summary: Get the dates associated with a given ProposalCycle + operationId: ProposalCyclesResource_getProposalCycleDates + parameters: + - name: cycleCode + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ProposalCycleDates' + /pst/api/proposalCycles/{cycleCode}/grades: + get: + tags: + - proposalCycles + summary: List the possible grades of the given ProposalCycle + operationId: ProposalCyclesResource_getCycleAllocationGrades + parameters: + - name: cycleCode + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ObjectIdentifier' + /pst/api/proposalCycles/{cycleCode}/grades/{gradeId}: + get: + tags: + - proposalCycles + summary: get the specific grade associated with the given ProposalCycle + operationId: ProposalCyclesResource_getCycleAllocatedGrade + parameters: + - name: cycleCode + in: path + required: true + schema: + format: int64 + type: integer + - name: gradeId + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/AllocationGrade' + /pst/api/proposalCycles/{cycleCode}/proposalsInReview: + get: + tags: + - proposalCycles + summary: List the identifiers for the Proposals under review + operationId: ProposalCyclesResource_getReviewedProposals + parameters: + - name: cycleCode + in: path + required: true + schema: + format: int64 + type: integer + - name: title + in: query + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ObjectIdentifier' + post: + tags: + - proposalCycles + summary: upgrade a submitted proposal to a proposal under review + operationId: ProposalCyclesResource_submitProposalForReview + parameters: + - name: cycleCode + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ReviewedProposal' + responses: + "200": + description: OK + /pst/api/proposalCycles/{cycleCode}/proposalsInReview/{reviewCode}: + get: + tags: + - proposalCycles + summary: get a specific proposal under review + operationId: ProposalCyclesResource_getReviewedProposal + parameters: + - name: cycleCode + in: path + required: true + schema: + format: int64 + type: integer + - name: reviewCode + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ReviewedProposal' + post: + tags: + - proposalCycles + summary: add new review of proposal + operationId: ProposalCyclesResource_submitReviewOfProposal + parameters: + - name: cycleCode + in: path + required: true + schema: + format: int64 + type: integer + - name: reviewCode + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProposalReview' + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ProposalReview' + /pst/api/proposalCycles/{cycleCode}/submittedProposals: + get: + tags: + - proposalCycles + summary: list the SubmittedProposals + operationId: ProposalCyclesResource_getSubmittedProposals + parameters: + - name: cycleCode + in: path + required: true + schema: + format: int64 + type: integer + - name: title + in: query + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ObjectIdentifier' + put: + tags: + - proposalCycles + summary: submit a proposal + operationId: ProposalCyclesResource_submitProposal + parameters: + - name: cycleCode + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + text/plain: + schema: + format: int64 + type: integer + responses: + "200": + description: OK + /pst/api/proposalCycles/{cycleId}/availableResources: + get: + tags: + - proposalCycles-availableResources + summary: get all the Resources associated with the given ProposalCycle + operationId: AvailableResourcesResource_getCycleAvailableResources + parameters: + - name: cycleId + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Resource' + /pst/api/proposalCycles/{cycleId}/availableResources/types: + get: + tags: + - proposalCycles-availableResources + summary: get all the ResourceTypes associated with the given ProposalCycle + operationId: AvailableResourcesResource_getCycleResourceTypes + parameters: + - name: cycleId + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ObjectIdentifier' + /pst/api/proposalCycles/{cycleId}/availableResources/types/{typeId}: + get: + tags: + - proposalCycles-availableResources + summary: get the ResourceType specified by 'typeId' + operationId: AvailableResourcesResource_getCycleResourceType + parameters: + - name: cycleId + in: path + required: true + schema: + format: int64 + type: integer + - name: typeId + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ResourceType' + /pst/api/proposalCycles/{cycleId}/observingModes: + get: + tags: + - proposalCycles-observingModes + summary: get all the ObservingMode identifiers associated with the given ProposalCycle + operationId: ObservingModeResource_getCycleObservingModes + parameters: + - name: cycleId + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ObjectIdentifier' + /pst/api/proposalCycles/{cycleId}/observingModes/{modeId}: + get: + tags: + - proposalCycles-observingModes + summary: get the ObservingMode specified by 'modeId' + operationId: ObservingModeResource_getCycleObservingMode + parameters: + - name: cycleId + in: path + required: true + schema: + format: int64 + type: integer + - name: modeId + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ObservingMode' + /pst/api/proposals: + get: + tags: + - proposals + summary: "get the synopsis for each Proposal in the database, optionally provide\ + \ an investigator name and/or a proposal title to see specific proposals" + operationId: ProposalResource_getProposals + parameters: + - name: investigatorName + in: query + schema: + type: string + - name: title + in: query + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ProposalSynopsis' + post: + tags: + - proposals + summary: create a new Proposal in the database + operationId: ProposalResource_createObservingProposal + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ObservingProposal' + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ObservingProposal' + /pst/api/proposals/{proposalCode}: + get: + tags: + - proposals + summary: get the Proposal specified by the 'proposalCode' + operationId: ProposalResource_getObservingProposal + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: get a single Proposal specified by the code + content: + application/json: + schema: + $ref: '#/components/schemas/ObservingProposal' + "403": + description: Not Allowed + "401": + description: Not Authorized + security: + - SecurityScheme: + - default-roles-orppst + delete: + tags: + - proposals + summary: remove the ObservingProposal specified by the 'proposalCode' + operationId: ProposalResource_deleteObservingProposal + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + /pst/api/proposals/{proposalCode}/fields: + get: + tags: + - proposals + summary: "get the list of ObjectIdentifiers for the Fields associated with the\ + \ given ObservingProposal, optionally provide a name as a query to get that\ + \ particular Fields's identifier" + operationId: ProposalResource_getFields + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + - name: fieldName + in: query + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ObjectIdentifier' + post: + tags: + - proposals + summary: add a new Field to the given ObservingProposal + operationId: ProposalResource_addNewField + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Field' + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Field' + /pst/api/proposals/{proposalCode}/fields/{fieldId}: + delete: + tags: + - proposals + summary: remove the Field specified by 'id' from the given ObservingProposal + operationId: ProposalResource_removeField + parameters: + - name: fieldId + in: path + required: true + schema: + format: int64 + type: integer + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + /pst/api/proposals/{proposalCode}/investigators: + get: + tags: + - proposals-investigators + summary: "get the list of ObjectIdentifiers for the Investigators associated\ + \ with the given ObservingProposal, optionally provide a name as a query to\ + \ get that particular Investigator's identifier" + operationId: InvestigatorResource_getInvestigators + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + - name: fullName + in: query + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ObjectIdentifier' + post: + tags: + - proposals-investigators + summary: "add a new Investigator, using an existing Person, to the ObservationProposal\ + \ specified" + operationId: InvestigatorResource_addPersonAsInvestigator + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Investigator' + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Investigator' + /pst/api/proposals/{proposalCode}/investigators/{investigatorId}: + get: + tags: + - proposals-investigators + summary: get the Investigator specified by the 'id' associated with the given + ObservingProposal + operationId: InvestigatorResource_getInvestigator + parameters: + - name: investigatorId + in: path + required: true + schema: + format: int64 + type: integer + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Investigator' + delete: + tags: + - proposals-investigators + summary: remove the Investigator specified by 'id' from the ObservingProposal + identified by 'proposalCode' + operationId: InvestigatorResource_removeInvestigator + parameters: + - name: investigatorId + in: path + required: true + schema: + format: int64 + type: integer + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + /pst/api/proposals/{proposalCode}/investigators/{investigatorId}/forPhD: + put: + tags: + - proposals-investigators + summary: change the 'forPhD' status of the Investigator specified by the 'id' + operationId: InvestigatorResource_changeInvestigatorForPhD + parameters: + - name: investigatorId + in: path + required: true + schema: + format: int64 + type: integer + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + type: boolean + responses: + "200": + description: OK + /pst/api/proposals/{proposalCode}/investigators/{investigatorId}/kind: + put: + tags: + - proposals-investigators + summary: change the 'kind' ('PI' or 'COI') of the Investigator specified by + the 'id' + operationId: InvestigatorResource_changeInvestigatorKind + parameters: + - name: investigatorId + in: path + required: true + schema: + format: int64 + type: integer + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/InvestigatorKind' + responses: + "200": + description: OK + /pst/api/proposals/{proposalCode}/justifications/{which}: + get: + tags: + - proposals + summary: get the technical or scientific justification associated with the ObservingProposal + specified by 'proposalCode' + operationId: ProposalResource_getJustification + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + - name: which + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Justification' + put: + tags: + - proposals + summary: update a technical or scientific Justification in the ObservingProposal + specified by the 'proposalCode' + operationId: ProposalResource_updateJustification + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + - name: which + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Justification' + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Justification' + /pst/api/proposals/{proposalCode}/kind: + get: + tags: + - proposals + summary: get the 'kind' of ObservingProposal specified by the 'proposalCode + operationId: ProposalResource_getObservingProposalKind + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ProposalKind' + put: + tags: + - proposals + summary: "change the 'kind' of the ObservingProposal specified, one-of: STANDARD,\ + \ TOO, SURVEY" + operationId: ProposalResource_changeKind + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + text/plain: + schema: + type: string + responses: + "200": + description: OK + /pst/api/proposals/{proposalCode}/observations: + get: + tags: + - proposals-observations + summary: "get the list of ObjectIdentifiers for the Observations associated\ + \ with the given ObservingProposal, optionally provide a srcName as a query\ + \ to get that particular Observation's identifier" + operationId: ObservationResource_getObservations + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + - name: srcName + in: query + schema: + type: string + - name: type + in: query + schema: + $ref: '#/components/schemas/ObsType' + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ObjectIdentifier' + post: + tags: + - proposals-observations + summary: add a new Observation to the given ObservingProposal + operationId: ObservationResource_addNewObservation + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Observation' + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Observation' + /pst/api/proposals/{proposalCode}/observations/{observationId}: + get: + tags: + - proposals-observations + summary: get the Observation specified by the DB id belonging to the given proposal + operationId: ObservationResource_getObservation + parameters: + - name: observationId + in: path + required: true + schema: + format: int64 + type: integer + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Observation' + delete: + tags: + - proposals-observations + summary: remove the Observation specified by 'observationId' from the given + ObservingProposal + operationId: ObservationResource_removeObservation + parameters: + - name: observationId + in: path + required: true + schema: + format: int64 + type: integer + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + /pst/api/proposals/{proposalCode}/observations/{observationId}/constraints: + get: + tags: + - proposals-observations + summary: get the list of Constraints for the given Observation in the given + ObservingProposal + operationId: ObservationResource_getConstraints + parameters: + - name: observationId + in: path + required: true + schema: + format: int64 + type: integer + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ObservingConstraint' + post: + tags: + - proposals-observations + summary: add a new Constraint to the Observation specified by 'id' in the given + ObservingProposal + operationId: ObservationResource_addNewConstraint + parameters: + - name: observationId + in: path + required: true + schema: + format: int64 + type: integer + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ObservingConstraint' + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ObservingConstraint' + /pst/api/proposals/{proposalCode}/observations/{observationId}/constraints/{constraintId}: + get: + tags: + - proposals-observations + summary: get the constraint referenced by the 'constraintId' for the given observation + operationId: ObservationResource_getConstraint + parameters: + - name: constraintId + in: path + required: true + schema: + format: int64 + type: integer + - name: observationId + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ObservingConstraint' + delete: + tags: + - proposals-observations + summary: remove the specified Constraint from the Observation of the given ObservationProposal + operationId: ObservationResource_removeConstraint + parameters: + - name: constraintId + in: path + required: true + schema: + format: int64 + type: integer + - name: observationId + in: path + required: true + schema: + format: int64 + type: integer + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + /pst/api/proposals/{proposalCode}/observations/{observationId}/field: + put: + tags: + - proposals-observations + summary: replace the Field of the given Observation for the given ObservingProposal + operationId: ObservationResource_replaceField + parameters: + - name: observationId + in: path + required: true + schema: + format: int64 + type: integer + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Field' + responses: + "200": + description: OK + /pst/api/proposals/{proposalCode}/observations/{observationId}/target: + put: + tags: + - proposals-observations + summary: replace the Target of the Observation for the given ObservingProposal + operationId: ObservationResource_replaceTarget + parameters: + - name: observationId + in: path + required: true + schema: + format: int64 + type: integer + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Target' + responses: + "200": + description: OK + /pst/api/proposals/{proposalCode}/observations/{observationId}/technicalGoal: + put: + tags: + - proposals-observations + summary: replace the TechnicalGoal of the given Observation for the given ObservingProposal + operationId: ObservationResource_replaceTechnicalGoal + parameters: + - name: observationId + in: path + required: true + schema: + format: int64 + type: integer + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TechnicalGoal' + responses: + "200": + description: OK + /pst/api/proposals/{proposalCode}/observations/{observationId}/timingWindows/{timingWindowId}: + put: + tags: + - proposals-observations + summary: replaces the timing window referenced by 'timingWindowId' for the given + observation + operationId: ObservationResource_replaceTimingWindow + parameters: + - name: observationId + in: path + required: true + schema: + format: int64 + type: integer + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + - name: timingWindowId + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TimingWindow' + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/TimingWindow' + /pst/api/proposals/{proposalCode}/relatedProposals: + put: + tags: + - proposals + summary: add a RelatedProposal to the ObservingProposal specified by the 'proposalCode' + operationId: ProposalResource_addRelatedProposal + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + text/plain: + schema: + format: int64 + type: integer + responses: + "200": + description: OK + /pst/api/proposals/{proposalCode}/summary: + put: + tags: + - proposals + summary: replace the summary of an ObservingProposal + operationId: ProposalResource_replaceSummary + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + text/plain: + schema: + type: string + responses: + "200": + description: OK + /pst/api/proposals/{proposalCode}/supportingDocuments: + get: + tags: + - proposals-supportingDocuments + summary: "get the list of ObjectIdentifiers for the SupportingDocuments associated\ + \ with the given ObservingProposal, optionally provide a title as a query\ + \ to get that particular SupportingDocument's identifier" + operationId: SupportingDocumentResource_getSupportingDocuments + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + - name: title + in: query + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ObjectIdentifier' + post: + tags: + - proposals-supportingDocuments + summary: upload a new SupportingDocument to the ObservingProposal specified + operationId: SupportingDocumentResource_uploadSupportingDocument + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + document: + $ref: '#/components/schemas/UploadItemSchema' + title: + type: string + encoding: + title: + contentType: application/json + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/SupportingDocument' + /pst/api/proposals/{proposalCode}/supportingDocuments/{id}: + get: + tags: + - proposals-supportingDocuments + summary: get the SupportingDocument specified by the 'id' for the given ObservingProposal + operationId: SupportingDocumentResource_getSupportingDocument + parameters: + - name: id + in: path + required: true + schema: + format: int64 + type: integer + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/SupportingDocument' + put: + tags: + - proposals-supportingDocuments + summary: replace the supporting document with a new file upload + operationId: SupportingDocumentResource_replaceSupportingDocument + parameters: + - name: id + in: path + required: true + schema: + format: int64 + type: integer + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + document: + $ref: '#/components/schemas/UploadItemSchema' + responses: + "200": + description: OK + delete: + tags: + - proposals-supportingDocuments + summary: remove the SupportingDocument specified by 'id' from the given ObservingProposal + operationId: SupportingDocumentResource_removeSupportingDocument + parameters: + - name: id + in: path + required: true + schema: + format: int64 + type: integer + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + /pst/api/proposals/{proposalCode}/supportingDocuments/{id}/get-file: + get: + tags: + - proposals-supportingDocuments + summary: download the document file associated with the SupportingDocument 'id' + operationId: SupportingDocumentResource_downloadSupportingDocument + parameters: + - name: id + in: path + required: true + schema: + format: int64 + type: integer + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + /pst/api/proposals/{proposalCode}/supportingDocuments/{id}/title: + put: + tags: + - proposals-supportingDocuments + summary: replace the title of the SupportingDocument specified by the 'id' + operationId: SupportingDocumentResource_replaceSupportingDocumentTitle + parameters: + - name: id + in: path + required: true + schema: + format: int64 + type: integer + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + text/plain: + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/SupportingDocument' + /pst/api/proposals/{proposalCode}/targets: + get: + tags: + - proposals + summary: "get the list of ObjectIdentifiers for the targets associated with\ + \ the given ObservingProposal, optionally provide a sourceName as a query\ + \ to get that particular Observation's identifier" + operationId: ProposalResource_getTargets + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + - name: sourceName + in: query + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ObjectIdentifier' + post: + tags: + - proposals + summary: add a new Target to the given ObservingProposal + operationId: ProposalResource_addNewTarget + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Target' + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Target' + /pst/api/proposals/{proposalCode}/targets/{targetId}: + get: + tags: + - proposals + summary: get a specific Target for the given ObservingProposal + operationId: ProposalResource_getTarget + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + - name: targetId + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Target' + delete: + tags: + - proposals + summary: remove the Target specified by 'id' from the given ObservingProposal + operationId: ProposalResource_removeTarget + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + - name: targetId + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + /pst/api/proposals/{proposalCode}/technicalGoals: + get: + tags: + - proposals-technicalGoals + summary: get the list of TechnicalGoals associated with the given ObservingProposal + operationId: TechnicalGoalResource_getTechnicalGoals + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ObjectIdentifier' + post: + tags: + - proposals-technicalGoals + summary: add a new technical goal to the given ObservingProposal + operationId: TechnicalGoalResource_addTechnicalGoal + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TechnicalGoal' + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/TechnicalGoal' + /pst/api/proposals/{proposalCode}/technicalGoals/{technicalGoalId}: + get: + tags: + - proposals-technicalGoals + summary: get a specific TechnicalGoal for the given ObservingProposal + operationId: TechnicalGoalResource_getTechnicalGoal + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + - name: technicalGoalId + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/TechnicalGoal' + delete: + tags: + - proposals-technicalGoals + summary: remove the Technical Goal specified by 'technicalGoalId' from the given + ObservingProposal + operationId: TechnicalGoalResource_removeTechnicalGoal + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + - name: technicalGoalId + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + /pst/api/proposals/{proposalCode}/technicalGoals/{technicalGoalId}/performanceParameters: + put: + tags: + - proposals-technicalGoals + summary: replace the PerformanceParameters of the TechnicalGoal referred to + by the 'technicalGoalId + operationId: TechnicalGoalResource_replacePerformanceParameters + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + - name: technicalGoalId + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PerformanceParameters' + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/PerformanceParameters' + /pst/api/proposals/{proposalCode}/technicalGoals/{technicalGoalId}/spectrum: + post: + tags: + - proposals-technicalGoals + summary: add a new spectral window to the TechnicalGoal referred to by the 'technicalGoalId' + operationId: TechnicalGoalResource_addSpectrum + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + - name: technicalGoalId + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScienceSpectralWindow' + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ScienceSpectralWindow' + /pst/api/proposals/{proposalCode}/technicalGoals/{technicalGoalId}/spectrum/{windowIndex}: + put: + tags: + - proposals-technicalGoals + summary: replace the Spectrum at 'windowIndex' of the TechnicalGoal referred + to by the 'technicalGoalId + operationId: TechnicalGoalResource_replaceSpectrum + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + - name: technicalGoalId + in: path + required: true + schema: + format: int64 + type: integer + - name: windowIndex + in: path + required: true + schema: + format: int32 + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScienceSpectralWindow' + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ScienceSpectralWindow' + delete: + tags: + - proposals-technicalGoals + summary: remove the Spectrum at 'windowIndex' of the TechnicalGoal referred + to by the 'technicalGoalId + operationId: TechnicalGoalResource_removeSpectrum + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + - name: technicalGoalId + in: path + required: true + schema: + format: int64 + type: integer + - name: windowIndex + in: path + required: true + schema: + format: int32 + type: integer + responses: + "200": + description: OK + /pst/api/proposals/{proposalCode}/technicalGoals/{technicalGoalId}/spectrum/{windowIndex}/expectedSpectralLine: + post: + tags: + - proposals-technicalGoals + summary: add an expected spectral line to the spectral window at 'windowIndex' + for the given TechnicalGoal + operationId: TechnicalGoalResource_addExpectedSpectralLine + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + - name: technicalGoalId + in: path + required: true + schema: + format: int64 + type: integer + - name: windowIndex + in: path + required: true + schema: + format: int32 + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ExpectedSpectralLine' + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ExpectedSpectralLine' + /pst/api/proposals/{proposalCode}/technicalGoals/{technicalGoalId}/spectrum/{windowIndex}/expectedSpectralLine/{lineIndex}: + delete: + tags: + - proposals-technicalGoals + summary: remove the expected spectral line at 'lineIndex' from the spectral + window at 'windowIndex' of the given TechnicalGoal + operationId: TechnicalGoalResource_removeExpectedSpectralLine + parameters: + - name: lineIndex + in: path + required: true + schema: + format: int32 + type: integer + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + - name: technicalGoalId + in: path + required: true + schema: + format: int64 + type: integer + - name: windowIndex + in: path + required: true + schema: + format: int32 + type: integer + responses: + "200": + description: OK + /pst/api/proposals/{proposalCode}/title: + get: + tags: + - proposals + summary: get the title of the ObservingProposal specified by 'proposalCode' + operationId: ProposalResource_getObservingProposalTitle + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + responses: + "200": + description: OK + put: + tags: + - proposals + summary: change the title of an ObservingProposal + operationId: ProposalResource_replaceTitle + parameters: + - name: proposalCode + in: path + required: true + schema: + format: int64 + type: integer + requestBody: + content: + text/plain: + schema: + type: string + responses: + "200": + description: OK + /pst/api/simbad: + get: + tags: + - simbad + summary: search the SIMBAD online catalogue for the given target name + operationId: SimbadResource_simbadFindTarget + parameters: + - name: targetName + in: query + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/SimbadTargetResult' + /pst/api/spaceFrames/{frameCode}: + get: + tags: + - standard Space frames + summary: get a space frame + operationId: SpaceFrameResource_getSpaceFrame + parameters: + - name: frameCode + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/SpaceFrame' + /pst/api/spaceSystems/{frameCode}: + get: + tags: + - standard Space Coordinate Systems + summary: get a space system + operationId: SpaceSystemResource_getSpaceSystem + parameters: + - name: frameCode + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/SpaceSys' + /pst/api/subjectMap/{id}: + get: + tags: + - mapping between AAI user ids and People + summary: get the SubjectMap specified by the 'id' + operationId: SubjectMapResource_subjectMap + parameters: + - name: id + in: path + required: true + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/SubjectMap' +components: + schemas: + AllocatedBlock: + description: A block of resources that have been allocated + type: object + properties: + resource: + description: the amount of resource + type: object + allOf: + - $ref: '#/components/schemas/Resource' + mode: + description: 'A reference to - ' + type: object + allOf: + - $ref: '#/components/schemas/ObservingMode' + grade: + description: 'A reference to - ' + type: object + allOf: + - $ref: '#/components/schemas/AllocationGrade' + AllocatedProposal: + description: an instance of a proposal that is allocated observing time + type: object + properties: + allocation: + description: what is allocated to the proposal + type: array + items: + $ref: '#/components/schemas/AllocatedBlock' + submitted: + description: A reference to - the proposal + type: object + allOf: + - $ref: '#/components/schemas/SubmittedProposal' + AllocationGrade: + description: The final grade given by the TAC + type: object + properties: + name: + description: the name of the grade + type: string + description: + description: what this grade means + type: string + xmlId: + type: string + xml: + name: id + attribute: true + AstroCoordSystem: + description: The AstroCoordSystem object holds a collection of component coordinate + system descriptions across all represented physical domains. + type: object + properties: + xmlId: + type: string + coordSys: + description: "Coordinate system description for each physical domain (Space,\ + \ Time, etc)." + type: array + items: + $ref: '#/components/schemas/PhysicalCoordSys' + AvailableResources: + description: The list of resources that are available + type: object + properties: + resources: + description: "" + type: array + items: + $ref: '#/components/schemas/Resource' + Axis: + description: "The abstract parent class for all coordinate axis types. We provide\ + \ concrete classes for the most common types of data, Continuous, Binned,\ + \ and Discrete, but allow extension for other types as needed." + type: object + properties: + name: + description: "Freeform string, provides the name or label for the axis." + type: string + Backend: + description: a processing backend /pipeline- e.g. correlator + type: object + properties: + name: + description: the backend name + type: string + parallel: + description: is capable of being run at same time as other backends + type: boolean + xmlId: + type: string + xml: + name: id + attribute: true + BinnedAxis: + description: "Axis description for binned data, where values along the axis\ + \ correspond to a bin number." + type: object + properties: + name: + description: "Freeform string, provides the name or label for the axis." + type: string + length: + format: int32 + description: "The length, or number of bins, along the axis." + type: integer + BinnedCoordinate: + description: "Coordinate value type specifically intended for binned data (e.g.:\ + \ pixel indexes)." + type: object + properties: + coordSys: + description: "A reference to - Provided additional metadata relevant to\ + \ interpreting the coordinate value; for example, the spatial reference\ + \ position, or time scale, axis descriptions." + type: object + allOf: + - $ref: '#/components/schemas/CoordSys' + cval: + format: int32 + description: "The binned coordinate value, expressed as an integer. e.g.:\ + \ bin number, pixel index." + type: integer + CalibrationObservation: + description: An observation that is intended for calibration + type: object + properties: + constraints: + description: any constraints on the observation + type: array + items: + $ref: '#/components/schemas/ObservingConstraint' + target: + description: A reference to - The actual target of the observation + type: object + allOf: + - $ref: '#/components/schemas/Target' + field: + description: A reference to - The Field for the observation + type: object + allOf: + - $ref: '#/components/schemas/Field' + technicalGoal: + description: A reference to - The technical goals of the observation + type: object + allOf: + - $ref: '#/components/schemas/TechnicalGoal' + intent: + description: The use of the calibration observation + type: string + allOf: + - $ref: '#/components/schemas/CalibrationTarget_intendedUse' + CalibrationTarget_intendedUse: + description: "" + enum: + - AMPLITUDE + - ATMOSPHERIC + - BANDPASS + - PHASE + - POINTING + - FOCUS + - POLARIZATION + - DELAY + type: string + CartesianCoordSpace: + description: "Spatial domain, three-dimensional cartesian coordinate space.\ + \ The particulars of the axis descriptions depend on the physical constraints\ + \ of the instance. In Appendix B, we provide the description of a Standard\ + \ Cartesian Coordinate Space instance which applies to many Astronomical cases,\ + \ and may be referenced in serializations." + type: object + properties: + axis: + type: array + items: + $ref: '#/components/schemas/Axis' + writeOnly: true + CelestialTarget: + description: The basic target setup for a celestial Target. + type: object + properties: + xmlId: + type: string + sourceName: + description: A common name for the source + type: string + sourceCoordinates: + description: "" + type: object + allOf: + - $ref: '#/components/schemas/EquatorialPoint' + positionEpoch: + description: the epoch at which the position was measured + type: object + allOf: + - $ref: '#/components/schemas/Epoch' + pmRA: + description: "" + type: object + allOf: + - $ref: '#/components/schemas/RealQuantity' + pmDec: + description: "" + type: object + allOf: + - $ref: '#/components/schemas/RealQuantity' + parallax: + description: "" + type: object + allOf: + - $ref: '#/components/schemas/RealQuantity' + sourceVelocity: + description: "" + type: object + allOf: + - $ref: '#/components/schemas/RealQuantity' + CommitteeMember: + description: a member of the TAC + type: object + properties: + role: + description: "" + type: string + allOf: + - $ref: '#/components/schemas/TacRole' + member: + description: A reference to - the member + type: object + allOf: + - $ref: '#/components/schemas/Reviewer' + ContinuousAxis: + description: "Axis description for continuous data. This object describes the\ + \ domain for a particular axis of the domain space. It allows for the specification\ + \ of the legal domain range (min,max), and a flag indicating if the axis is\ + \ cyclic." + type: object + properties: + name: + description: "Freeform string, provides the name or label for the axis." + type: string + domainMin: + description: "Minimum extent of the axis domain space. If not provided,\ + \ the domain space is considered to have no lower bound (-INFINITY)." + type: object + allOf: + - $ref: '#/components/schemas/Quantity' + domainMax: + description: "Maximum extent of the axis domain space. If not provided,\ + \ the domain space is considered to have no upper bound (+INFINITY)." + type: object + allOf: + - $ref: '#/components/schemas/Quantity' + cyclic: + description: "Flag indicating if the axis is cyclic in nature. If not provided,\ + \ it is assumed to be FALSE." + type: boolean + CoordFrame: + description: "This is the abstract, empty, base class for all coordinate frames.\ + \ Coordinate frames provide metadata associated with the coordinate domain\ + \ space. Typically, this will be related to the origin and orientation of\ + \ the axes, but might include any metadata which pertains to the definition\ + \ of the domain." + type: object + CoordSpace: + description: "This object defines a domain space. i.e.: it describes the set\ + \ of possible coordinate values." + type: object + properties: + axis: + description: Describes an axis of the coordinate space. + type: array + items: + $ref: '#/components/schemas/Axis' + CoordSys: + description: Abstract head of the coordinate system object tree. + type: object + properties: + xmlId: + type: string + xml: + name: id + attribute: true + Coordinate: + description: "Abstract base class for the Coordinate data types which represent\ + \ an absolute location within a coordinate space. Coordinates MUST refer to\ + \ a coordinate system, providing additional metadata relevant to interpreting\ + \ the coordinate value, and its representation." + type: object + properties: + coordSys: + description: "A reference to - Provided additional metadata relevant to\ + \ interpreting the coordinate value; for example, the spatial reference\ + \ position, or time scale, axis descriptions." + type: object + allOf: + - $ref: '#/components/schemas/CoordSys' + CustomRefLocation: + description: A custom reference location in phase space (position and velocity). + Position and velocity are given as coordinates with an associated SpaceFrame. + An epoch MAY be provided to further refine the location. + type: object + properties: + epoch: + description: Epoch for the reference location. + type: object + allOf: + - $ref: '#/components/schemas/Epoch' + position: + description: The spatial coordinates of the reference location. + type: object + allOf: + - $ref: '#/components/schemas/Point1' + velocity: + description: The velocity of the reference location. + type: object + allOf: + - $ref: '#/components/schemas/Point1' + Date: + format: date + type: string + example: 2022-03-10 + DiscreteSetAxis: + description: "Axis type specifically intended for enumerated coordinates. Since\ + \ the content and nature of this axis type is heavily dependent on the use\ + \ case, we define no additional metadata here. Extensions of this type may\ + \ include additional metadata relevant to the particular use cases. For example,\ + \ an extension could include the allowed set of values." + type: object + properties: + name: + description: "Freeform string, provides the name or label for the axis." + type: string + Ellipse: + description: Specialization of a Field for an elliptical map. + type: object + properties: + xmlId: + type: string + name: + description: "" + type: string + semiMajor: + description: "" + type: object + allOf: + - $ref: '#/components/schemas/RealQuantity' + semiMinor: + description: "" + type: object + allOf: + - $ref: '#/components/schemas/RealQuantity' + pAMajor: + description: "" + type: object + allOf: + - $ref: '#/components/schemas/RealQuantity' + Epoch: + description: "We define epoch as a primitive data type with the expected form\ + \ '$type$year' where type = 'J' or 'B' for Julian or Besselian respectively,\ + \ and year is expressed as a decimal year. e.g.: 'B1950', 'J2000.0'" + type: object + properties: + value: + type: string + EquatorialPoint: + description: A Point on the Unit Sphere + type: object + properties: + lon: + description: The longitudinal angle + type: object + allOf: + - $ref: '#/components/schemas/RealQuantity' + lat: + description: The latitudinal angle + type: object + allOf: + - $ref: '#/components/schemas/RealQuantity' + ExpectedSpectralLine: + description: Brief description of a spectral line. + type: object + properties: + restFrequency: + description: "" + type: object + allOf: + - $ref: '#/components/schemas/RealQuantity' + transition: + description: "" + type: string + splatalogId: + description: "" + type: object + allOf: + - $ref: '#/components/schemas/StringIdentifier' + description: + description: "" + type: string + Field: + description: Definition of an observing field pointing + type: object + properties: + name: + description: "" + type: string + xmlId: + type: string + xml: + name: id + attribute: true + FileUpload: + type: object + GenericCoordSpace: + description: "Generic, one-dimensional coordinate space suitable for use with\ + \ most non-spatial properties. In Appendix B, we provide the description of\ + \ a Standard 1D Coordinate Space instance which may be referenced in serializations." + type: object + properties: + axis: + description: Describes an axis of the coordinate space. + type: array + items: + $ref: '#/components/schemas/Axis' + GenericFrame: + description: "The generic coordinate frame is for cases where a domain-specific\ + \ frame (e.g.: Space, Time), is not required, but the relevant reference metadata\ + \ is still needed (e.g.: for Redshift or Spectral data)" + type: object + properties: + refPosition: + description: "Spatial location in phase space (position and velocity) at\ + \ which the observed value is considered to have been taken. This will\ + \ typically be given by a standard reference position, but we allow for\ + \ custom locations as well." + type: object + allOf: + - $ref: '#/components/schemas/RefLocation' + planetaryEphem: + description: "A planetary ephemeris MAY be provided, and SHOULD be provided\ + \ whenever appropriate, to indicate which solar system ephemeris was used.\ + \ If needed, but not provided, it is assumed to be 'DE405'" + type: string + GenericSys: + description: "Specialized coordinate system for generic, one-dimensional domains\ + \ not covered by other, more concrete objects. If a CoordSpace is not provided,\ + \ it is assumed to be represented by a Standard 1-Dimensional Coordinate Space\ + \ as described in Appendix B." + type: object + properties: + xmlId: + type: string + coordSpace: + description: Description of the coordinate space occupied by the property. + type: object + allOf: + - $ref: '#/components/schemas/PhysicalCoordSpace' + GeocentricPoint: + description: ITRS earth coordinate + type: object + properties: + x: + description: cartesian x + type: object + allOf: + - $ref: '#/components/schemas/RealQuantity' + "y": + description: catesian y (+ve in east) + type: object + allOf: + - $ref: '#/components/schemas/RealQuantity' + z: + description: cartesian z + type: object + allOf: + - $ref: '#/components/schemas/RealQuantity' + Handedness: + description: "The handedness of a coordinate space. For most cases, this will\ + \ be a fixed value in the specification of the coordinate space. We provide\ + \ this element to allow this flexibility when needed. In this document, it\ + \ is used in the Pixel domain." + enum: + - LEFT + - RIGHT + type: string + ISOTime: + description: "Extension of TimeInstant for time expressed as a structured datetime\ + \ string. The string representation of a datetime value should follow the\ + \ FITS convention for representing dates (Hanish and Farris et al, 2001).\ + \ The FITS standard is effectively ISO8601 format without the 'Z' tag to indicate\ + \ UTC: YYYY-MM-DD['T'hh:mm:ss[.SSS]]. The TimeScale is provided in the associated\ + \ TimeFrame." + type: object + properties: + date: + description: The ISOTime coordinate value. + type: string + allOf: + - $ref: '#/components/schemas/Date' + Identifier: + description: something that an identifier that can be used as a key for lookup + of an entity that is *outside this datamodel* + type: object + properties: + value: + type: string + Instrument: + description: "An instrument that can be attached to a telescope - e.g. CCD,\ + \ Radio Receiver" + type: object + properties: + name: + description: the instrument name - human readable + type: string + description: + description: short human readable description + type: string + wikiId: + description: the wikidata id for the Instrument + type: object + allOf: + - $ref: '#/components/schemas/WikiDataId' + reference: + description: a URL that points to a more detailed description of the instrument + type: string + kind: + description: the kind of instrument + type: string + allOf: + - $ref: '#/components/schemas/InstrumentKind' + frequencyCoverage: + description: the frequency range that the instrument covers + type: object + allOf: + - $ref: '#/components/schemas/SpectralWindowSetup' + xmlId: + type: string + xml: + name: id + attribute: true + InstrumentKind: + description: "" + enum: + - CONTINUUM + - SPECTROSCOPIC + type: string + IntIdentifier: + description: an integer identifier + type: object + properties: + value: + type: string + IntegerQuantity: + description: An integer number with a unit. Examples of such units that can + be used for attributes are bit/byte/kiloByte etc. + type: object + properties: + unit: + description: The unit of this quantity. + type: object + allOf: + - $ref: '#/components/schemas/Unit' + value: + format: int32 + description: The integer value of this IntegerQuantity. + type: integer + Investigator: + description: "" + type: object + properties: + type: + description: the investigator type + type: string + allOf: + - $ref: '#/components/schemas/InvestigatorKind' + forPhD: + description: is the investigator making proposal for their PhD + type: boolean + person: + description: A reference to - the investigator + type: object + allOf: + - $ref: '#/components/schemas/Person' + InvestigatorKind: + description: "" + enum: + - PI + - COI + type: string + Ivorn: + description: an identifier that can be used as a key to look up in an IVOA registry + - see https://www.ivoa.net/documents/IVOAIdentifiers/ + type: object + properties: + value: + type: string + JD: + description: "Extension of TimeInstant for time expressed in Julian days. Note\ + \ that JD does not properly specify a time stamp unless it is related to a\ + \ time scale and reference position. Precision can easily become an issue\ + \ with JD, as the numbers tend to be large." + type: object + properties: + date: + format: double + description: "The JD coordinate value. JD dates are dimensionless, with\ + \ implied units in days." + type: number + Justification: + description: The justification for the proposal. Note that the justification + is for reading by humans and is not parsed to extract things like source lists + - that sort of information must be entered in the correct place in the model. + type: object + properties: + text: + description: the full text of the justification + type: string + format: + description: the format of the text + type: string + allOf: + - $ref: '#/components/schemas/TextFormats' + MJD: + description: Extension of TimeInstant for time expressed in Modified Julian + Days. T(MJD) = T(JD) - 2400000.5. + type: object + properties: + date: + format: double + description: "The MJD coordinate value. MJD dates are dimensionless, with\ + \ implied units in days." + type: number + ObjectIdentifier: + type: object + properties: + dbid: + format: int64 + type: integer + code: + type: string + name: + type: string + ObsType: + enum: + - TargetObservation + - CalibrationObservation + type: string + Observation: + description: "" + type: object + properties: + constraints: + description: any constraints on the observation + type: array + items: + $ref: '#/components/schemas/ObservingConstraint' + target: + description: A reference to - The actual target of the observation + type: object + allOf: + - $ref: '#/components/schemas/Target' + field: + description: A reference to - The Field for the observation + type: object + allOf: + - $ref: '#/components/schemas/Field' + technicalGoal: + description: A reference to - The technical goals of the observation + type: object + allOf: + - $ref: '#/components/schemas/TechnicalGoal' + Observatory: + description: An organisation that can perform astronomical observations + type: object + properties: + xmlId: + type: string + name: + description: The name of the organization + type: string + address: + description: "" + type: string + ivoid: + description: the registry identifier for the organization + type: object + allOf: + - $ref: '#/components/schemas/Ivorn' + wikiId: + description: the wikidata id for the Organization + type: object + allOf: + - $ref: '#/components/schemas/WikiDataId' + telescopes: + description: the telescopes that the observatory controls + type: array + items: + $ref: '#/components/schemas/Telescope' + instruments: + description: the instruments that are available for the telescopes + type: array + items: + $ref: '#/components/schemas/Instrument' + backends: + description: the backends that exist + type: array + items: + $ref: '#/components/schemas/Backend' + arrays: + description: any arrays of telescopes that typically operate together + type: array + items: + $ref: '#/components/schemas/TelescopeArray' + ObservingConfiguration: + description: A particular observation combination that is possible + type: object + properties: + telescope: + description: 'A reference to - ' + type: object + allOf: + - $ref: '#/components/schemas/Telescope' + instrument: + description: 'A reference to - ' + type: object + allOf: + - $ref: '#/components/schemas/Instrument' + backend: + description: 'A reference to - ' + type: object + allOf: + - $ref: '#/components/schemas/Backend' + ObservingConstraint: + description: a form of constraint on the observation + type: object + ObservingMode: + description: a collection of configs that can be chosen to observe with. + type: object + properties: + name: + description: "" + type: string + description: + description: "" + type: string + configurations: + description: "" + type: array + items: + $ref: '#/components/schemas/ObservingConfiguration' + xmlId: + type: string + xml: + name: id + attribute: true + ObservingProposal: + description: a complete proposal + type: object + properties: + title: + description: the proposal title + type: string + summary: + description: a short summary/abstract of the proposal + type: string + kind: + description: the type of proposal + type: string + allOf: + - $ref: '#/components/schemas/ProposalKind' + submitted: + description: whether the proposal is submitted + type: boolean + scientificJustification: + description: scientific justification + type: object + allOf: + - $ref: '#/components/schemas/Justification' + technicalJustification: + description: technical justification + type: object + allOf: + - $ref: '#/components/schemas/Justification' + investigators: + description: the person(s) making the proposal + type: array + items: + $ref: '#/components/schemas/Investigator' + relatedProposals: + description: "" + type: array + items: + $ref: '#/components/schemas/RelatedProposal' + supportingDocuments: + description: any additional documents + type: array + items: + $ref: '#/components/schemas/SupportingDocument' + targets: + description: the targets of the proposal + type: array + items: + $ref: '#/components/schemas/Target' + fields: + description: the fields observed in the proposal + type: array + items: + $ref: '#/components/schemas/Field' + technicalGoals: + description: the technical goals of the proposal + type: array + items: + $ref: '#/components/schemas/TechnicalGoal' + observations: + description: the proposed observations + type: array + items: + $ref: '#/components/schemas/Observation' + xmlId: + type: string + xml: + name: id + attribute: true + OfferedCycles: + description: "" + type: object + properties: + cycles: + description: "" + type: array + items: + $ref: '#/components/schemas/ProposalCycle' + Organization: + description: An institution that is a collection of people + type: object + properties: + name: + description: The name of the organization + type: string + address: + description: "" + type: string + ivoid: + description: the registry identifier for the organization + type: object + allOf: + - $ref: '#/components/schemas/Ivorn' + wikiId: + description: the wikidata id for the Organization + type: object + allOf: + - $ref: '#/components/schemas/WikiDataId' + xmlId: + type: string + xml: + name: id + attribute: true + PerformanceParameters: + description: The parameters required for observation to be useful for the science + goal + type: object + properties: + desiredAngularResolution: + description: "" + type: object + allOf: + - $ref: '#/components/schemas/RealQuantity' + desiredLargestScale: + description: "" + type: object + allOf: + - $ref: '#/components/schemas/RealQuantity' + desiredSensitivity: + description: "" + type: object + allOf: + - $ref: '#/components/schemas/RealQuantity' + desiredDynamicRange: + description: "" + type: object + allOf: + - $ref: '#/components/schemas/RealQuantity' + representativeSpectralPoint: + description: the the point in the EM where these parameters should be evaluated + type: object + allOf: + - $ref: '#/components/schemas/RealQuantity' + Person: + description: person connected with the proposal + type: object + properties: + fullName: + description: The given names for the person + type: string + eMail: + description: an email that can be used to communicate with the person + type: string + orcidId: + description: orcid id see https://orcid.org + type: object + allOf: + - $ref: '#/components/schemas/StringIdentifier' + homeInstitute: + description: 'A reference to - ' + type: object + allOf: + - $ref: '#/components/schemas/Organization' + xmlId: + type: string + xml: + name: id + attribute: true + PhysicalCoordSpace: + description: Abstract head of coordinate spaces related to physical properties. + type: object + properties: + axis: + description: Describes an axis of the coordinate space. + type: array + items: + $ref: '#/components/schemas/Axis' + PhysicalCoordSys: + description: "Coordinate system description for any physical domain, such as\ + \ Time, Space, Redshift, Temperature, Flux, etc." + type: object + properties: + xmlId: + type: string + coordSpace: + description: Description of the coordinate space occupied by the property. + type: object + allOf: + - $ref: '#/components/schemas/PhysicalCoordSpace' + frame: + description: "" + type: object + allOf: + - $ref: '#/components/schemas/CoordFrame' + PhysicalCoordinate: + description: "The most common type of coordinate value. This type is appropriate\ + \ for any data whose values can be described by an ivoa:Quantity (numeric,\ + \ with unit)." + type: object + properties: + coordSys: + description: "A reference to - Provided additional metadata relevant to\ + \ interpreting the coordinate value; for example, the spatial reference\ + \ position, or time scale, axis descriptions." + type: object + allOf: + - $ref: '#/components/schemas/CoordSys' + cval: + description: This coordinate MUST contain a value expressed as an ivoa:Quantity. + type: object + allOf: + - $ref: '#/components/schemas/Quantity' + PixelCoordSystem: + description: The PixelCoordSystem provides a complete description of the pixel + coordinate space. It SHALL contain one PixelSpace instance describing each + pixel axis. + type: object + properties: + xmlId: + type: string + pixelSpace: + description: The pixel space completely defines the pixel coordinate axes. + Each axis MUST be defined as a BinnedAxis type. + type: object + allOf: + - $ref: '#/components/schemas/PixelSpace' + PixelIndex: + description: Specialized BinnedCoordinate for the pixel domain for a 1-dimensional + pixel index. PixelIndex MUST refer to a PixelCoordSystem. + type: object + properties: + coordSys: + description: "A reference to - Provided additional metadata relevant to\ + \ interpreting the coordinate value; for example, the spatial reference\ + \ position, or time scale, axis descriptions." + type: object + allOf: + - $ref: '#/components/schemas/CoordSys' + cval: + format: int32 + description: "The binned coordinate value, expressed as an integer. e.g.:\ + \ bin number, pixel index." + type: integer + PixelSpace: + description: A PixelSpace SHALL include one or more BinnedAxis objects describing + the pixel coordinate space. A handedness value MAY be provided to specify + the relative orientation of the axes. + type: object + properties: + handedness: + description: Specifies the handedness of the coordinate space. + type: string + allOf: + - $ref: '#/components/schemas/Handedness' + axis: + type: array + items: + $ref: '#/components/schemas/Axis' + writeOnly: true + Point: + description: Single point on the sky + type: object + properties: + xmlId: + type: string + name: + description: "" + type: string + centre: + description: "" + type: object + allOf: + - $ref: '#/components/schemas/Point1' + Point1: + description: "Multi-dimensional spatial coordinate. The Point MUST refer to\ + \ a spatial coordinate system (SpaceSys). The coordinate values map, in order,\ + \ to the axes described by the associated CoordSpace. Values for unused/undefined\ + \ dimensions need not be provided." + type: object + properties: + axis1: + description: "Coordinate value along the first axis of the associated coordinate\ + \ space, expressed as an ivoa:Quantity." + type: object + allOf: + - $ref: '#/components/schemas/Quantity' + axis2: + description: "Coordinate value along the second axis of the associated coordinate\ + \ space, expressed as an ivoa:Quantity." + type: object + allOf: + - $ref: '#/components/schemas/Quantity' + axis3: + description: "Coordinate value along the third axis of the associated coordinate\ + \ space, expressed as an ivoa:Quantity." + type: object + allOf: + - $ref: '#/components/schemas/Quantity' + PointingConstaint: + description: A constraint that limits the telescope pointing + type: object + PolCoordinate: + description: "Abstract head of the polarization coordinate types. Current use\ + \ cases only require support for discrete polarization states, however, we\ + \ include this head class to facilitate extension for other types (eg: polarization\ + \ fraction and angle)." + type: object + properties: + coordSys: + description: "A reference to - Provided additional metadata relevant to\ + \ interpreting the coordinate value; for example, the spatial reference\ + \ position, or time scale, axis descriptions." + type: object + allOf: + - $ref: '#/components/schemas/CoordSys' + PolState: + description: Coordinate type for discrete polarization states. + type: object + properties: + coordSys: + description: "A reference to - Provided additional metadata relevant to\ + \ interpreting the coordinate value; for example, the spatial reference\ + \ position, or time scale, axis descriptions." + type: object + allOf: + - $ref: '#/components/schemas/CoordSys' + cval: + description: The coordinate value MUST be from the PolStateEnum enumerated + set. + type: string + allOf: + - $ref: '#/components/schemas/PolStateEnum' + PolStateEnum: + description: "Polarization states: Stokes, Circular, Linear and Vector states" + enum: + - I + - Q + - U + - V + - RR + - LL + - RL + - LR + - XX + - YY + - XY + - YX + - PF + - PP + - PA + type: string + Polygon: + description: Polygonal map + type: object + properties: + xmlId: + type: string + name: + description: "" + type: string + points: + description: an array of points.... + type: array + items: + $ref: '#/components/schemas/EquatorialPoint' + ProposalCycle: + description: Defines collection of resources and proposals for a particular + observing season + type: object + properties: + title: + description: a human readable description of the cycle + type: string + submissionDeadline: + description: the date by which observing proposals must be submitted to + be considered for this cycle + type: string + allOf: + - $ref: '#/components/schemas/Date' + observationSessionStart: + description: the start date of the observing cycle + type: string + allOf: + - $ref: '#/components/schemas/Date' + observationSessionEnd: + description: the end date of the observing cycle + type: string + allOf: + - $ref: '#/components/schemas/Date' + observingModes: + description: the possible observing modes offered in the cycle + type: array + items: + $ref: '#/components/schemas/ObservingMode' + availableResources: + description: "" + type: object + allOf: + - $ref: '#/components/schemas/AvailableResources' + possibleGrades: + description: The possible grades that can be allocated for this cycle + type: array + items: + $ref: '#/components/schemas/AllocationGrade' + tac: + description: The time allocation committee + type: object + allOf: + - $ref: '#/components/schemas/TAC' + submittedProposals: + description: the proposals that have been submitted in this cycle + type: array + items: + $ref: '#/components/schemas/SubmittedProposal' + reviewedProposals: + description: the proposals that have been reviewed in this cycle + type: array + items: + $ref: '#/components/schemas/ReviewedProposal' + allocatedProposals: + description: the proposals that have been successful and allocated time + type: array + items: + $ref: '#/components/schemas/AllocatedProposal' + observatory: + description: 'A reference to - ' + type: object + allOf: + - $ref: '#/components/schemas/Observatory' + ProposalCycleDates: + type: object + properties: + title: + type: string + submissionDeadline: + $ref: '#/components/schemas/Date' + observationSessionStart: + $ref: '#/components/schemas/Date' + observationSessionEnd: + $ref: '#/components/schemas/Date' + ProposalKind: + description: "" + enum: + - STANDARD + - TOO + - SURVEY + type: string + ProposalReview: + description: A review of a proposal + type: object + properties: + comment: + description: Description + type: string + score: + format: double + description: the review score + type: number + technicalFeasibility: + description: is the proposal technically feasible + type: boolean + reviewDate: + description: the date that the review is submitted + type: string + allOf: + - $ref: '#/components/schemas/Date' + reviewer: + description: A reference to - the reviewer making this review + type: object + allOf: + - $ref: '#/components/schemas/Reviewer' + ProposalSynopsis: + type: object + properties: + code: + format: int64 + type: integer + title: + type: string + summary: + type: string + kind: + $ref: '#/components/schemas/ProposalKind' + submitted: + type: boolean + Quantity: + description: "Meant to represent the value of a numerical physical quantity.\ + \ Can be mapped in VOTables to FIELDrefs and PARAM(ref)s, in which case the\ + \ @unit attribute of those VOTable elements is assumed to be mapped to the\ + \ attribute on the Quantity. Ths is only allowed for these predefined ivoa\ + \ types." + type: object + properties: + unit: + description: The unit of this quantity. + type: object + allOf: + - $ref: '#/components/schemas/Unit' + RealQuantity: + description: A real value with a unit. + type: object + properties: + unit: + description: The unit of this quantity. + type: object + allOf: + - $ref: '#/components/schemas/Unit' + value: + format: double + description: The real value of this quantity + type: number + RefLocation: + description: "RefLocation defines the origin of the spatial coordinate space.\ + \ This location is represented either by a standard reference position (for\ + \ which the absolute location in phase space is known by definition), or a\ + \ specified point in another Spatial frame. This object is used as the origin\ + \ of the SpaceFrame here, but also to specify the Spatial Reference Position\ + \ (refPosition) associated with other domain Frames. For example, in the Time\ + \ domain, the Spatial Reference Position indicates that the 'time' values\ + \ are the time that the 'event' occured at that location, which might be different\ + \ from the detector location." + type: object + RelatedProposal: + description: a related proposal + type: object + properties: + proposal: + description: A reference to - the related proposal + type: object + allOf: + - $ref: '#/components/schemas/ObservingProposal' + Resource: + description: A resource that will be consumed by allocating an observation from + a proposal + type: object + properties: + amount: + format: double + description: The amount of the resource + type: number + type: + description: A reference to - the type of the resource + type: object + allOf: + - $ref: '#/components/schemas/ResourceType' + ResourceBlock: + description: A block of resources that can be allocated + type: object + properties: + resource: + description: the amount of resource + type: object + allOf: + - $ref: '#/components/schemas/Resource' + mode: + description: 'A reference to - ' + type: object + allOf: + - $ref: '#/components/schemas/ObservingMode' + ResourceType: + description: a type of resource + type: object + properties: + name: + description: the name of the resource type + type: string + unit: + description: "" + type: string + xmlId: + type: string + xml: + name: id + attribute: true + ReviewedProposal: + description: an instance of a proposal that is in review + type: object + properties: + successful: + description: the proposal can go on to allocation + type: boolean + reviewsCompleteDate: + description: the date when all the proposals are due + type: string + allOf: + - $ref: '#/components/schemas/Date' + reviews: + description: the reviews + type: array + items: + $ref: '#/components/schemas/ProposalReview' + submitted: + description: 'A reference to - ' + type: object + allOf: + - $ref: '#/components/schemas/SubmittedProposal' + Reviewer: + description: assigned to review the proposal + type: object + properties: + person: + description: A reference to - the person taking on the reviewer role + type: object + allOf: + - $ref: '#/components/schemas/Person' + xmlId: + type: string + xml: + name: id + attribute: true + ScienceSpectralWindow: + description: A spectral window for science use. + type: object + properties: + spectralWindowSetup: + description: "" + type: object + allOf: + - $ref: '#/components/schemas/SpectralWindowSetup' + expectedSpectralLine: + description: "" + type: array + items: + $ref: '#/components/schemas/ExpectedSpectralLine' + SimbadTargetResult: + type: object + properties: + targetName: + type: string + spaceSystemCode: + type: string + epoch: + type: string + raDegrees: + format: double + type: number + decDegrees: + format: double + type: number + SimultaneityConstraint: + description: A constraint that requires that two observations occur simultaneously + type: object + properties: + note: + description: "" + type: string + isAvoidConstraint: + description: "" + type: boolean + SolarSystemTarget: + description: "" + type: object + properties: + xmlId: + type: string + sourceName: + description: A common name for the source + type: string + SpaceFrame: + description: "A SpaceFrame is specified by its reference frame (orientation),\ + \ and a reference position (origin). Currently only standard reference frames\ + \ are allowed. An equinox MUST be provided for pre-ICRS reference frames.\ + \ A planetary ephemeris MAY be provided if relevant. If needed, but not provided,\ + \ it is assumed to be 'DE405'." + type: object + properties: + refPosition: + description: "The spatial location at which the coordinates are considered\ + \ to have been determined. This model supports locations provided as either\ + \ a standard reference position (e.g. GEOCENTER), or a coordinate specifying\ + \ a custom location (e.g. long, lat, height )." + type: object + allOf: + - $ref: '#/components/schemas/RefLocation' + spaceRefFrame: + description: The spatial reference frame. Values MUST be selected from the + controlled vocabulary at the given URL. + type: string + equinox: + description: "Reference date for the frame, required for pre-ICRS reference\ + \ frames." + type: object + allOf: + - $ref: '#/components/schemas/Epoch' + planetaryEphem: + description: Ephemeris file for solar system objects SHOULD be specified + whenever relevant. + type: string + SpaceSys: + description: "Specialized coordinate system for the Spatial domain. This object\ + \ SHOULD include an appropriate SpaceFrame. In Appendix B, we define two standard\ + \ spatial coordinate space instances (Spherical and Cartesian), which may\ + \ be referenced in serializations. If a CoordSpace is not provided, it is\ + \ assumed to be represented by a Standard Spherical Coordinate Space." + type: object + properties: + xmlId: + type: string + coordSpace: + description: Description of the coordinate space occupied by the property. + type: object + allOf: + - $ref: '#/components/schemas/PhysicalCoordSpace' + SpectralWindowSetup: + description: Science oriented definition of a spectral window. + type: object + properties: + start: + description: The start of the spectral window + type: object + allOf: + - $ref: '#/components/schemas/RealQuantity' + end: + description: The end of the spectral window + type: object + allOf: + - $ref: '#/components/schemas/RealQuantity' + spectralResolution: + description: channel width + type: object + allOf: + - $ref: '#/components/schemas/RealQuantity' + isSkyFrequency: + description: represents an observed frequency + type: boolean + polarization: + description: desired polarization + type: string + allOf: + - $ref: '#/components/schemas/PolStateEnum' + SphericalCoordSpace: + description: "Spatial domain, three-dimensional spherical coordinate space.\ + \ The particulars of the axis descriptions depend on the flavor of space being\ + \ instantiated. In Appendix B., we provide a Standard Spherical Coordinate\ + \ Space instance which applies to many Astronomical use cases. It provides\ + \ the default space for SpaceSys instances, and may be referenced in serializations." + type: object + properties: + axis: + type: array + items: + $ref: '#/components/schemas/Axis' + writeOnly: true + SphericalPoint: + description: A point in space expressed in spherical coordinates + type: object + properties: + r: + description: radius + type: object + allOf: + - $ref: '#/components/schemas/RealQuantity' + theta: + description: polar angle + type: object + allOf: + - $ref: '#/components/schemas/RealQuantity' + phi: + description: azimuthal angle + type: object + allOf: + - $ref: '#/components/schemas/RealQuantity' + StdRefLocation: + description: "An absolute a-priori known location in phase space (position and\ + \ velocity). Values are selected from the StdRefPosition vocabulary. Considering\ + \ that the GEOCENTER is really the only place for which we know the absolute\ + \ location at all times, all other locations require the specification of\ + \ a planetary ephemeris. LSR[KD] are reserved for spectral and reshift frames.\ + \ TOPOCENTER (location of the observer) is special in that it assumes that\ + \ the observing location is available through other means (e.g. a geographic\ + \ location or an orbit ephemeris). RELOCATABLE is available for simulations.\ + \ UNKNOWN should only be used if absolutely necessary." + type: object + properties: + position: + description: Standard reference location. Values MUST be selected from the + controlled vocabulary at the given URL. + type: string + StringIdentifier: + description: a string identifier + type: object + properties: + value: + type: string + SubjectMap: + type: object + properties: + _id: + format: int64 + type: integer + person: + description: the person here + type: object + allOf: + - $ref: '#/components/schemas/Person' + oneOf: + - $ref: '#/components/schemas/Person' + - format: int32 + type: integer + uid: + type: string + SubmittedProposal: + description: an instance of a proposal that has been submitted + type: object + properties: + submissionDate: + description: the date that the proposal was submitted + type: string + allOf: + - $ref: '#/components/schemas/Date' + proposal: + description: A reference to - the proposal that was submitted + type: object + allOf: + - $ref: '#/components/schemas/ObservingProposal' + xmlId: + type: string + xml: + name: id + attribute: true + SupportingDocument: + description: a document + type: object + properties: + title: + description: document title + type: string + location: + description: location of document + type: string + TAC: + description: time allocation committee + type: object + properties: + members: + description: members of the committee + type: array + items: + $ref: '#/components/schemas/CommitteeMember' + TacRole: + description: A role within the timeAllocation committee + enum: + - TECHNICALREVIEWER + - SCIENCEREVIEWER + - CHAIR + type: string + Target: + description: A target source + type: object + properties: + sourceName: + description: A common name for the source + type: string + xmlId: + type: string + xml: + name: id + attribute: true + TargetField: + description: the field points to the associated target + type: object + properties: + xmlId: + type: string + name: + description: "" + type: string + TargetObservation: + description: an observation of the scientific target + type: object + properties: + constraints: + description: any constraints on the observation + type: array + items: + $ref: '#/components/schemas/ObservingConstraint' + target: + description: A reference to - The actual target of the observation + type: object + allOf: + - $ref: '#/components/schemas/Target' + field: + description: A reference to - The Field for the observation + type: object + allOf: + - $ref: '#/components/schemas/Field' + technicalGoal: + description: A reference to - The technical goals of the observation + type: object + allOf: + - $ref: '#/components/schemas/TechnicalGoal' + TechnicalGoal: + description: collects together the technical goals of the proposal + type: object + properties: + performance: + description: "" + type: object + allOf: + - $ref: '#/components/schemas/PerformanceParameters' + spectrum: + description: "" + type: array + items: + $ref: '#/components/schemas/ScienceSpectralWindow' + xmlId: + type: string + xml: + name: id + attribute: true + Telescope: + description: "" + type: object + properties: + name: + description: telescope name + type: string + wikiId: + description: the wikidata id for the Instrument + type: object + allOf: + - $ref: '#/components/schemas/WikiDataId' + location: + description: the location of the telescope + type: object + allOf: + - $ref: '#/components/schemas/GeocentricPoint' + xmlId: + type: string + xml: + name: id + attribute: true + TelescopeArray: + description: a set of telescopes that are operated together for an observation + type: object + properties: + name: + description: the array name + type: string + arrayMembers: + description: the telescopes that make up the array + type: array + items: + $ref: '#/components/schemas/TelescopeArrayMember' + TelescopeArrayMember: + description: "" + type: object + properties: + telescope: + description: 'A reference to - ' + type: object + allOf: + - $ref: '#/components/schemas/Telescope' + TextFormats: + description: acceptable text formats for document submission + enum: + - LATEX + - RST + - ASCIIDOC + type: string + TimeFrame: + description: A TimeFrame SHALL include a time scale and reference position. + It MAY also include a reference direction. + type: object + properties: + refPosition: + description: "The spatial location at which the coordinate is considered\ + \ to have been taken. This model supports locations provided as either\ + \ a standard reference position (e.g. GEOCENTER), or a coordinate specifying\ + \ a custom location (e.g. long, lat, height)." + type: object + allOf: + - $ref: '#/components/schemas/RefLocation' + timescale: + description: The time scale sets the reference frame. The value MUST be + selected from the controlled vocabulary at the given URL. + type: string + refDirection: + description: "The reference direction is needed if the time stamps are transformed\ + \ to a time frame with a different reference position. In those situations,\ + \ the solar system ephemeris also comes into play. See: FITS WCS Paper\ + \ IV for details, but in short: The reference direction, presumably the\ + \ direction to the thing being observed, is used in conjunction with the\ + \ reference position and planetary ephemeris to determine the correction\ + \ applied for the path length change. To be fully useful, one also needs\ + \ to know the location at which the observation was made ( i.e. the observatory\ + \ location), which is not considered to be Frame metadata." + type: object + allOf: + - $ref: '#/components/schemas/RefLocation' + TimeInstant: + description: "TimeStamps which specify a specific instant in time. We define\ + \ three subtypes (ISOTime, JD, MJD), which allow users to explicitly identify\ + \ the representation and interpretation of the TimeInstant." + type: object + TimeOffset: + description: Time is given as an offset from a specific point in time (time0). + type: object + properties: + time: + description: The TimeOffset coordinate value. + type: object + allOf: + - $ref: '#/components/schemas/RealQuantity' + time0: + description: "The reference time from which the offset is calculated. This\ + \ MUST be given as a TimeInstant (e.g.: JD, MJD, ISOTime)." + type: object + allOf: + - $ref: '#/components/schemas/TimeInstant' + TimeStamp: + description: "This is the abstract basis for a set of simple time domain coordinates\ + \ which are expected to accommodate the vast majority of use cases. All TimeStamps,\ + \ by definition, exist in a standard 1-D coordinate space, with domainMin|Max\ + \ of +/-Infinity. All TimeStamps MUST refer to an appropriate TimeSys." + type: object + TimeSys: + description: "Specialized coordinate system for the Temporal domain. This object\ + \ SHOULD include an appropriate TimeFrame. If a CoordSpace is not provided,\ + \ it is assumed to be represented by a Standard 1-Dimensional Coordinate Space\ + \ as described in Appendix B." + type: object + properties: + xmlId: + type: string + TimingConstraint: + description: Any specific timing requirements for the observing + type: object + properties: + note: + description: "" + type: string + isAvoidConstraint: + description: "" + type: boolean + TimingWindow: + description: particular time range + type: object + properties: + note: + description: "" + type: string + isAvoidConstraint: + description: "" + type: boolean + startTime: + description: "" + type: string + allOf: + - $ref: '#/components/schemas/Date' + endTime: + description: "" + type: string + allOf: + - $ref: '#/components/schemas/Date' + Unit: + description: Must conform to definition of unit in VOUnit spec. + type: object + properties: + value: + type: string + UploadItemSchema: + format: binary + type: string + WikiDataId: + description: a WikiData identifier + type: object + properties: + value: + type: string + securitySchemes: + SecurityScheme: + type: openIdConnect + description: Authentication + openIdConnectUrl: http://keycloak/aai/realms/orppst/.well-known/openid-configuration