From 9d1e59292902c4b64200c584361315592916f0e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javis=20V=2E=20P=C3=A9rez?= Date: Tue, 20 Feb 2024 09:39:48 -0400 Subject: [PATCH 1/3] Add the docs folder --- docs/.editorconfig | 10 + docs/.gitignore | 112 ++ docs/.vitepress/config.mts | 132 +++ .../theme/components/PlatformSelect.vue | 183 +++ .../theme/components/PlatformSnippet.vue | 62 + docs/.vitepress/theme/index.ts | 24 + docs/.vitepress/theme/style.css | 155 +++ docs/.vitepress/theme/utils.ts | 21 + docs/env.d.ts | 12 + docs/package.json | 17 + docs/pnpm-lock.yaml | 1032 +++++++++++++++++ docs/src/api-examples.md | 75 ++ docs/src/docs/cli/flags.md | 56 + docs/src/docs/cli/installation.md | 24 + docs/src/docs/cli/usage.md | 30 + docs/src/docs/installation.md | 25 + docs/src/docs/manifest/building-running.md | 21 + docs/src/docs/manifest/overview.md | 99 ++ docs/src/docs/mlops/ci-cd.md | 18 + docs/src/docs/overview.md | 29 + docs/src/guides/index.md | 92 ++ docs/src/index.md | 29 + docs/src/markdown-examples.md | 154 +++ docs/src/public/favicon.ico | Bin 0 -> 5430 bytes docs/src/public/favicons/favicon-16x16.png | Bin 0 -> 617 bytes docs/src/public/favicons/favicon-32x32.png | Bin 0 -> 1206 bytes docs/src/public/logo.png | Bin 0 -> 5777 bytes docs/src/public/logo.svg | 7 + docs/tsconfig.json | 18 + 29 files changed, 2437 insertions(+) create mode 100644 docs/.editorconfig create mode 100644 docs/.gitignore create mode 100644 docs/.vitepress/config.mts create mode 100644 docs/.vitepress/theme/components/PlatformSelect.vue create mode 100644 docs/.vitepress/theme/components/PlatformSnippet.vue create mode 100644 docs/.vitepress/theme/index.ts create mode 100644 docs/.vitepress/theme/style.css create mode 100644 docs/.vitepress/theme/utils.ts create mode 100644 docs/env.d.ts create mode 100644 docs/package.json create mode 100644 docs/pnpm-lock.yaml create mode 100644 docs/src/api-examples.md create mode 100644 docs/src/docs/cli/flags.md create mode 100644 docs/src/docs/cli/installation.md create mode 100644 docs/src/docs/cli/usage.md create mode 100644 docs/src/docs/installation.md create mode 100644 docs/src/docs/manifest/building-running.md create mode 100644 docs/src/docs/manifest/overview.md create mode 100644 docs/src/docs/mlops/ci-cd.md create mode 100644 docs/src/docs/overview.md create mode 100644 docs/src/guides/index.md create mode 100644 docs/src/index.md create mode 100644 docs/src/markdown-examples.md create mode 100644 docs/src/public/favicon.ico create mode 100644 docs/src/public/favicons/favicon-16x16.png create mode 100644 docs/src/public/favicons/favicon-32x32.png create mode 100644 docs/src/public/logo.png create mode 100644 docs/src/public/logo.svg create mode 100644 docs/tsconfig.json diff --git a/docs/.editorconfig b/docs/.editorconfig new file mode 100644 index 00000000..a1b04a26 --- /dev/null +++ b/docs/.editorconfig @@ -0,0 +1,10 @@ +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +trim_trailing_whitespace = false \ No newline at end of file diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 00000000..4f548e6b --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,112 @@ +### OSX ### +# General +.DS_Store +.AppleDouble +.LSOverride + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### Node ### +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# TypeScript v1 declaration files +typings/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# pnpm link folder +pnpm-global + +# dotenv environment variables file +.env +.env.test + +# parcel-bundler cache (https://parceljs.org/) +.cache + +# rollup.js default build output +dist/ + +# vitepress build output +.vitepress/dist +.vitepress/cache + +# Serverless directories +.serverless/ + +# Temporary folders +tmp/ +temp/ +TODOs.md +src/api/index.json +src/examples/data.json +src/tutorial/data.json +draft.md diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts new file mode 100644 index 00000000..d31911e8 --- /dev/null +++ b/docs/.vitepress/config.mts @@ -0,0 +1,132 @@ +import { defineConfig } from 'vitepress' + +// https://vitepress.dev/reference/site-config +export default defineConfig({ + appearance: 'force-dark', + srcDir: 'src', + title: 'AtamaOPS', + titleTemplate: 'AtamaOPS', + description: 'Documentation for the AtamaOPS', + + head: [ + // ['link', { rel: "apple-touch-icon", sizes: "180x180", href: "/favicons/apple-touch-icon.png"}], + ['link', { rel: "icon", type: "image/png", sizes: "32x32", href: "/favicons/favicon-32x32.png"}], + ['link', { rel: "icon", type: "image/png", sizes: "16x16", href: "/favicons/favicon-16x16.png"}], + // ['link', { rel: "manifest", href: "/favicons/site.webmanifest"}], + // ['link', { rel: "mask-icon", href: "/favicons/safari-pinned-tab.svg", color: "#3a0839"}], + ['link', { rel: "shortcut icon", href: "/favicon.ico"}], + // ['meta', { name: "msapplication-TileColor", content: "#3a0839"}], + // ['meta', { name: "msapplication-config", content: "/favicons/browserconfig.xml"}], + // ['meta', { name: "theme-color", content: "#ffffff"}], + ], + + lastUpdated: true, + + // https://vitepress.dev/reference/default-theme-config + themeConfig: { + logo: '/logo.svg', + + externalLinkIcon: true, + + search: { + provider: 'local' + }, + + // lastUpdated: { + // text: 'Updated at', + // formatOptions: { + // dateStyle: 'full', + // timeStyle: 'medium' + // } + // }, + + // Top navigation + nav: [ + { text: 'Docs', activeMatch: `^/docs`, link: '/docs/overview' }, + { text: 'Guides', activeMatch: `^/guides`, link: '/guides/index' } + ], + + // Sidebar nav + sidebar: [ + { + text: 'Getting started', + items: [ + { text: 'Overview', link: '/docs/overview' }, + { text: 'Installation', link: '/docs/installation' }, + ] + }, + { + text: 'CLI', + items: [ + { text: 'Download & Install', link: '/docs/cli/installation' }, + { text: 'Usage', link: '/docs/cli/usage' }, + { text: 'Flags', link: '/docs/cli/flags' }, + ] + }, + { + text: 'Manifest', + items: [ + { text: 'Overview', link: '/docs/manifest/overview' }, + { text: 'Structure', link: '/docs/manifest/overview' }, + { text: 'Building and running', link: '/docs/manifest/building-running' }, + { text: 'Creating a new model', link: '/' }, + { text: 'Training a model', link: '/' }, + { text: 'Strategies', link: '/' }, + ] + }, + { + text: 'MLOps with Atamafile', + items: [ + { text: 'Continuos integration and deployment', link: '/docs/mlops/ci-cd' }, + { text: 'Monitoring and logging', link: '/docs/mlops/ci-cd' }, + { text: 'Orchestration', link: '/docs/mlops/ci-cd' }, + { text: 'Scalability and resources', link: '/docs/mlops/ci-cd' }, + ] + }, + { + text: 'Advanced', + items: [ + { text: 'Fine-tuning', link: '/docs/mlops/ci-cd' }, + { text: 'Multi-models and Multi-tasking', link: '/docs/mlops/ci-cd' }, + { text: 'Parallel training', link: '/docs/mlops/ci-cd' }, + { text: 'Reinforcement and deep RL', link: '/docs/mlops/ci-cd' }, + ] + }, + { + text: 'Contribute', + items: [ + { text: 'Contribute to Atama docs', link: '/' } + ] + }, + { + text: 'Documentation Examples', + items: [ + { text: 'Markdown Examples', link: '/markdown-examples' }, + { text: 'Runtime API Examples', link: '/api-examples' } + ] + } + ], + + socialLinks: [ + { + icon: 'github', + link: 'https://github.com/jozu-ai/atamaml' + }, + { + icon: { + svg: '' + }, + link: 'https://jozu.com', + ariaLabel: 'JOzu Website' + } + ], + + footer: { + license: { + text: 'MIT License', + link: 'https://opensource.org/licenses/MIT' + }, + copyright: `Copyright © ${new Date().getFullYear()} Jozu` + } + } +}) diff --git a/docs/.vitepress/theme/components/PlatformSelect.vue b/docs/.vitepress/theme/components/PlatformSelect.vue new file mode 100644 index 00000000..448298c0 --- /dev/null +++ b/docs/.vitepress/theme/components/PlatformSelect.vue @@ -0,0 +1,183 @@ + + + + + + + diff --git a/docs/.vitepress/theme/components/PlatformSnippet.vue b/docs/.vitepress/theme/components/PlatformSnippet.vue new file mode 100644 index 00000000..65acb361 --- /dev/null +++ b/docs/.vitepress/theme/components/PlatformSnippet.vue @@ -0,0 +1,62 @@ + + + + + diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts new file mode 100644 index 00000000..d95d4aed --- /dev/null +++ b/docs/.vitepress/theme/index.ts @@ -0,0 +1,24 @@ +// https://vitepress.dev/guide/custom-theme +import { h, ref } from 'vue' +import type { Theme } from 'vitepress' +import DefaultTheme from 'vitepress/theme' +import PlatformSelect from './components/PlatformSelect.vue' +import PlatformSnippet from './components/PlatformSnippet.vue' +import Layout from './Layout.vue' +import './style.css' + +const isPlatformModalOpen = ref(false) + +export default { + extends: DefaultTheme, + Layout: () => { + return h(DefaultTheme.Layout, null, { + // https://vitepress.dev/guide/extending-default-theme#layout-slots + 'sidebar-nav-after': () => h(PlatformSelect), + }) + }, + enhanceApp({ app, router, siteData }) { + app.component('PlatformSnippet', PlatformSnippet) + app.provide('isPlatformModalOpen', isPlatformModalOpen) + } +} satisfies Theme diff --git a/docs/.vitepress/theme/style.css b/docs/.vitepress/theme/style.css new file mode 100644 index 00000000..4c514be3 --- /dev/null +++ b/docs/.vitepress/theme/style.css @@ -0,0 +1,155 @@ +/** + * Customize default theme styling by overriding CSS variables: + * https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/styles/vars.css + */ + +/** + * Colors + * + * Each colors have exact same color scale system with 3 levels of solid + * colors with different brightness, and 1 soft color. + * + * - `XXX-1`: The most solid color used mainly for colored text. It must + * satisfy the contrast ratio against when used on top of `XXX-soft`. + * + * - `XXX-2`: The color used mainly for hover state of the button. + * + * - `XXX-3`: The color for solid background, such as bg color of the button. + * It must satisfy the contrast ratio with pure white (#ffffff) text on + * top of it. + * + * - `XXX-soft`: The color used for subtle background such as custom container + * or badges. It must satisfy the contrast ratio when putting `XXX-1` colors + * on top of it. + * + * The soft color must be semi transparent alpha channel. This is crucial + * because it allows adding multiple "soft" colors on top of each other + * to create a accent, such as when having inline code block inside + * custom containers. + * + * - `default`: The color used purely for subtle indication without any + * special meanings attached to it such as bg color for menu hover state. + * + * - `brand`: Used for primary brand colors, such as link text, button with + * brand theme, etc. + * + * - `tip`: Used to indicate useful information. The default theme uses the + * brand color for this by default. + * + * - `warning`: Used to indicate warning to the users. Used in custom + * container, badges, etc. + * + * - `danger`: Used to show error, or dangerous message to the users. Used + * in custom container, badges, etc. + * -------------------------------------------------------------------------- */ + + :root { + --vp-c-default-1: var(--vp-c-gray-1); + --vp-c-default-2: var(--vp-c-gray-2); + --vp-c-default-3: var(--vp-c-gray-3); + --vp-c-default-soft: var(--vp-c-gray-soft); + + --vp-c-brand-1: #3febe0; + --vp-c-brand-2: #34C0B7; + --vp-c-brand-3: #065550; + --vp-c-brand-soft: var(--vp-c-indigo-soft); + + --vp-c-tip-1: var(--vp-c-brand-1); + --vp-c-tip-2: var(--vp-c-brand-2); + --vp-c-tip-3: var(--vp-c-brand-3); + --vp-c-tip-soft: var(--vp-c-brand-soft); + + --vp-c-warning-1: var(--vp-c-yellow-1); + --vp-c-warning-2: var(--vp-c-yellow-2); + --vp-c-warning-3: var(--vp-c-yellow-3); + --vp-c-warning-soft: var(--vp-c-yellow-soft); + + --vp-c-danger-1: var(--vp-c-red-1); + --vp-c-danger-2: var(--vp-c-red-2); + --vp-c-danger-3: var(--vp-c-red-3); + --vp-c-danger-soft: var(--vp-c-red-soft); + + /* Custom jozu branding colors */ + --color-elevation-05: rgba(70, 70, 70, 0.14); +} + +.dark { + --vp-c-text-1: #ECECEC; +} + +/** + * Component: Button + * -------------------------------------------------------------------------- */ + +:root { + --vp-button-brand-border: transparent; + --vp-button-brand-text: var(--vp-c-white); + --vp-button-brand-bg: var(--vp-c-brand-3); + --vp-button-brand-hover-border: transparent; + --vp-button-brand-hover-text: var(--vp-c-white); + --vp-button-brand-hover-bg: var(--vp-c-brand-2); + --vp-button-brand-active-border: transparent; + --vp-button-brand-active-text: var(--vp-c-white); + --vp-button-brand-active-bg: var(--vp-c-brand-1); +} + +/** + * Component: Home + * -------------------------------------------------------------------------- */ + +:root { + --vp-home-hero-name-color: transparent; + --vp-home-hero-name-background: -webkit-linear-gradient( + 120deg, + #bd34fe 30%, + #41d1ff + ); + + --vp-home-hero-image-background-image: linear-gradient( + -45deg, + #bd34fe 50%, + #47caff 50% + ); + --vp-home-hero-image-filter: blur(44px); +} + +@media (min-width: 640px) { + :root { + --vp-home-hero-image-filter: blur(56px); + } +} + +@media (min-width: 960px) { + :root { + --vp-home-hero-image-filter: blur(68px); + } +} + +/** + * Component: Custom Block + * -------------------------------------------------------------------------- */ + +:root { + --vp-custom-block-tip-border: transparent; + --vp-custom-block-tip-text: var(--vp-c-text-1); + --vp-custom-block-tip-bg: var(--vp-c-brand-soft); + --vp-custom-block-tip-code-bg: var(--vp-c-brand-soft); +} + +/** + * Component: Algolia + * -------------------------------------------------------------------------- */ + +.DocSearch { + --docsearch-primary-color: var(--vp-c-brand-1) !important; +} + +.dark h1, +.dark h2, +.dark h3 { + color: #FFF; +} + +*:focus-visible { + outline-color: var(--vp-c-brand-1); +} diff --git a/docs/.vitepress/theme/utils.ts b/docs/.vitepress/theme/utils.ts new file mode 100644 index 00000000..64446ed9 --- /dev/null +++ b/docs/.vitepress/theme/utils.ts @@ -0,0 +1,21 @@ +import { inBrowser } from 'vitepress' + +// Get the current user OS +export function getUserOS(): 'mac' | 'windows' | 'linux' { + // client-code only + if (!inBrowser) { + return + } + + const osName = navigator.userAgent.toLowerCase(); + + if (osName.indexOf('mac') !== -1) { + return 'mac'; + } + + if (osName.indexOf('win') !== -1) { + return 'windows'; + } + + return 'linux'; +} diff --git a/docs/env.d.ts b/docs/env.d.ts new file mode 100644 index 00000000..7bd399cb --- /dev/null +++ b/docs/env.d.ts @@ -0,0 +1,12 @@ +/// + +declare module '@vue/theme/config' { + import { UserConfig } from 'vitepress' + const config: () => Promise + export default config +} + +declare module '@vue/theme/highlight' { + const createHighlighter: () => Promise<(input: string) => string> + export default createHighlighter +} \ No newline at end of file diff --git a/docs/package.json b/docs/package.json new file mode 100644 index 00000000..92787e58 --- /dev/null +++ b/docs/package.json @@ -0,0 +1,17 @@ +{ + "peerDependencies": { + "vue": "^3.4" + }, + "devDependencies": { + "vitepress": "1.0.0-rc.42", + "vue": "^3.4.18" + }, + "scripts": { + "docs:dev": "vitepress dev", + "docs:build": "vitepress build", + "docs:preview": "vitepress preview" + }, + "dependencies": { + "@vueuse/core": "^10.7.2" + } +} \ No newline at end of file diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml new file mode 100644 index 00000000..f8925574 --- /dev/null +++ b/docs/pnpm-lock.yaml @@ -0,0 +1,1032 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +dependencies: + '@vueuse/core': + specifier: ^10.7.2 + version: 10.7.2(vue@3.4.18) + +devDependencies: + vitepress: + specifier: 1.0.0-rc.42 + version: 1.0.0-rc.42(@algolia/client-search@4.22.1)(search-insights@2.13.0) + vue: + specifier: ^3.4.18 + version: 3.4.18 + +packages: + + /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0): + resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} + dependencies: + '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + - search-insights + dev: true + + /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0): + resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} + peerDependencies: + search-insights: '>= 1 < 3' + dependencies: + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) + search-insights: 2.13.0 + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + dev: true + + /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1): + resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + dependencies: + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) + '@algolia/client-search': 4.22.1 + algoliasearch: 4.22.1 + dev: true + + /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1): + resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + dependencies: + '@algolia/client-search': 4.22.1 + algoliasearch: 4.22.1 + dev: true + + /@algolia/cache-browser-local-storage@4.22.1: + resolution: {integrity: sha512-Sw6IAmOCvvP6QNgY9j+Hv09mvkvEIDKjYW8ow0UDDAxSXy664RBNQk3i/0nt7gvceOJ6jGmOTimaZoY1THmU7g==} + dependencies: + '@algolia/cache-common': 4.22.1 + dev: true + + /@algolia/cache-common@4.22.1: + resolution: {integrity: sha512-TJMBKqZNKYB9TptRRjSUtevJeQVXRmg6rk9qgFKWvOy8jhCPdyNZV1nB3SKGufzvTVbomAukFR8guu/8NRKBTA==} + dev: true + + /@algolia/cache-in-memory@4.22.1: + resolution: {integrity: sha512-ve+6Ac2LhwpufuWavM/aHjLoNz/Z/sYSgNIXsinGofWOysPilQZPUetqLj8vbvi+DHZZaYSEP9H5SRVXnpsNNw==} + dependencies: + '@algolia/cache-common': 4.22.1 + dev: true + + /@algolia/client-account@4.22.1: + resolution: {integrity: sha512-k8m+oegM2zlns/TwZyi4YgCtyToackkOpE+xCaKCYfBfDtdGOaVZCM5YvGPtK+HGaJMIN/DoTL8asbM3NzHonw==} + dependencies: + '@algolia/client-common': 4.22.1 + '@algolia/client-search': 4.22.1 + '@algolia/transporter': 4.22.1 + dev: true + + /@algolia/client-analytics@4.22.1: + resolution: {integrity: sha512-1ssi9pyxyQNN4a7Ji9R50nSdISIumMFDwKNuwZipB6TkauJ8J7ha/uO60sPJFqQyqvvI+px7RSNRQT3Zrvzieg==} + dependencies: + '@algolia/client-common': 4.22.1 + '@algolia/client-search': 4.22.1 + '@algolia/requester-common': 4.22.1 + '@algolia/transporter': 4.22.1 + dev: true + + /@algolia/client-common@4.22.1: + resolution: {integrity: sha512-IvaL5v9mZtm4k4QHbBGDmU3wa/mKokmqNBqPj0K7lcR8ZDKzUorhcGp/u8PkPC/e0zoHSTvRh7TRkGX3Lm7iOQ==} + dependencies: + '@algolia/requester-common': 4.22.1 + '@algolia/transporter': 4.22.1 + dev: true + + /@algolia/client-personalization@4.22.1: + resolution: {integrity: sha512-sl+/klQJ93+4yaqZ7ezOttMQ/nczly/3GmgZXJ1xmoewP5jmdP/X/nV5U7EHHH3hCUEHeN7X1nsIhGPVt9E1cQ==} + dependencies: + '@algolia/client-common': 4.22.1 + '@algolia/requester-common': 4.22.1 + '@algolia/transporter': 4.22.1 + dev: true + + /@algolia/client-search@4.22.1: + resolution: {integrity: sha512-yb05NA4tNaOgx3+rOxAmFztgMTtGBi97X7PC3jyNeGiwkAjOZc2QrdZBYyIdcDLoI09N0gjtpClcackoTN0gPA==} + dependencies: + '@algolia/client-common': 4.22.1 + '@algolia/requester-common': 4.22.1 + '@algolia/transporter': 4.22.1 + dev: true + + /@algolia/logger-common@4.22.1: + resolution: {integrity: sha512-OnTFymd2odHSO39r4DSWRFETkBufnY2iGUZNrMXpIhF5cmFE8pGoINNPzwg02QLBlGSaLqdKy0bM8S0GyqPLBg==} + dev: true + + /@algolia/logger-console@4.22.1: + resolution: {integrity: sha512-O99rcqpVPKN1RlpgD6H3khUWylU24OXlzkavUAMy6QZd1776QAcauE3oP8CmD43nbaTjBexZj2nGsBH9Tc0FVA==} + dependencies: + '@algolia/logger-common': 4.22.1 + dev: true + + /@algolia/requester-browser-xhr@4.22.1: + resolution: {integrity: sha512-dtQGYIg6MteqT1Uay3J/0NDqD+UciHy3QgRbk7bNddOJu+p3hzjTRYESqEnoX/DpEkaNYdRHUKNylsqMpgwaEw==} + dependencies: + '@algolia/requester-common': 4.22.1 + dev: true + + /@algolia/requester-common@4.22.1: + resolution: {integrity: sha512-dgvhSAtg2MJnR+BxrIFqlLtkLlVVhas9HgYKMk2Uxiy5m6/8HZBL40JVAMb2LovoPFs9I/EWIoFVjOrFwzn5Qg==} + dev: true + + /@algolia/requester-node-http@4.22.1: + resolution: {integrity: sha512-JfmZ3MVFQkAU+zug8H3s8rZ6h0ahHZL/SpMaSasTCGYR5EEJsCc8SI5UZ6raPN2tjxa5bxS13BRpGSBUens7EA==} + dependencies: + '@algolia/requester-common': 4.22.1 + dev: true + + /@algolia/transporter@4.22.1: + resolution: {integrity: sha512-kzWgc2c9IdxMa3YqA6TN0NW5VrKYYW/BELIn7vnLyn+U/RFdZ4lxxt9/8yq3DKV5snvoDzzO4ClyejZRdV3lMQ==} + dependencies: + '@algolia/cache-common': 4.22.1 + '@algolia/logger-common': 4.22.1 + '@algolia/requester-common': 4.22.1 + dev: true + + /@babel/helper-string-parser@7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + + /@babel/parser@7.23.9: + resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.9 + + /@babel/types@7.23.9: + resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + + /@docsearch/css@3.5.2: + resolution: {integrity: sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==} + dev: true + + /@docsearch/js@3.5.2(@algolia/client-search@4.22.1)(search-insights@2.13.0): + resolution: {integrity: sha512-p1YFTCDflk8ieHgFJYfmyHBki1D61+U9idwrLh+GQQMrBSP3DLGKpy0XUJtPjAOPltcVbqsTjiPFfH7JImjUNg==} + dependencies: + '@docsearch/react': 3.5.2(@algolia/client-search@4.22.1)(search-insights@2.13.0) + preact: 10.19.4 + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/react' + - react + - react-dom + - search-insights + dev: true + + /@docsearch/react@3.5.2(@algolia/client-search@4.22.1)(search-insights@2.13.0): + resolution: {integrity: sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==} + peerDependencies: + '@types/react': '>= 16.8.0 < 19.0.0' + react: '>= 16.8.0 < 19.0.0' + react-dom: '>= 16.8.0 < 19.0.0' + search-insights: '>= 1 < 3' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + react-dom: + optional: true + search-insights: + optional: true + dependencies: + '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0) + '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) + '@docsearch/css': 3.5.2 + algoliasearch: 4.22.1 + search-insights: 2.13.0 + transitivePeerDependencies: + - '@algolia/client-search' + dev: true + + /@esbuild/aix-ppc64@0.19.12: + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64@0.19.12: + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.19.12: + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.19.12: + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.19.12: + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.19.12: + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.19.12: + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.19.12: + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.19.12: + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.19.12: + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.19.12: + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.19.12: + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.19.12: + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.19.12: + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.19.12: + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.19.12: + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.19.12: + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.19.12: + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.19.12: + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.19.12: + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.19.12: + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.19.12: + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.19.12: + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + /@rollup/rollup-android-arm-eabi@4.9.6: + resolution: {integrity: sha512-MVNXSSYN6QXOulbHpLMKYi60ppyO13W9my1qogeiAqtjb2yR4LSmfU2+POvDkLzhjYLXz9Rf9+9a3zFHW1Lecg==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.9.6: + resolution: {integrity: sha512-T14aNLpqJ5wzKNf5jEDpv5zgyIqcpn1MlwCrUXLrwoADr2RkWA0vOWP4XxbO9aiO3dvMCQICZdKeDrFl7UMClw==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.9.6: + resolution: {integrity: sha512-CqNNAyhRkTbo8VVZ5R85X73H3R5NX9ONnKbXuHisGWC0qRbTTxnF1U4V9NafzJbgGM0sHZpdO83pLPzq8uOZFw==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.9.6: + resolution: {integrity: sha512-zRDtdJuRvA1dc9Mp6BWYqAsU5oeLixdfUvkTHuiYOHwqYuQ4YgSmi6+/lPvSsqc/I0Omw3DdICx4Tfacdzmhog==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.9.6: + resolution: {integrity: sha512-oNk8YXDDnNyG4qlNb6is1ojTOGL/tRhbbKeE/YuccItzerEZT68Z9gHrY3ROh7axDc974+zYAPxK5SH0j/G+QQ==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.9.6: + resolution: {integrity: sha512-Z3O60yxPtuCYobrtzjo0wlmvDdx2qZfeAWTyfOjEDqd08kthDKexLpV97KfAeUXPosENKd8uyJMRDfFMxcYkDQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.9.6: + resolution: {integrity: sha512-gpiG0qQJNdYEVad+1iAsGAbgAnZ8j07FapmnIAQgODKcOTjLEWM9sRb+MbQyVsYCnA0Im6M6QIq6ax7liws6eQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.9.6: + resolution: {integrity: sha512-+uCOcvVmFUYvVDr27aiyun9WgZk0tXe7ThuzoUTAukZJOwS5MrGbmSlNOhx1j80GdpqbOty05XqSl5w4dQvcOA==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.9.6: + resolution: {integrity: sha512-HUNqM32dGzfBKuaDUBqFB7tP6VMN74eLZ33Q9Y1TBqRDn+qDonkAUyKWwF9BR9unV7QUzffLnz9GrnKvMqC/fw==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.9.6: + resolution: {integrity: sha512-ch7M+9Tr5R4FK40FHQk8VnML0Szi2KRujUgHXd/HjuH9ifH72GUmw6lStZBo3c3GB82vHa0ZoUfjfcM7JiiMrQ==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.9.6: + resolution: {integrity: sha512-VD6qnR99dhmTQ1mJhIzXsRcTBvTjbfbGGwKAHcu+52cVl15AC/kplkhxzW/uT0Xl62Y/meBKDZvoJSJN+vTeGA==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.9.6: + resolution: {integrity: sha512-J9AFDq/xiRI58eR2NIDfyVmTYGyIZmRcvcAoJ48oDld/NTR8wyiPUu2X/v1navJ+N/FGg68LEbX3Ejd6l8B7MQ==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.9.6: + resolution: {integrity: sha512-jqzNLhNDvIZOrt69Ce4UjGRpXJBzhUBzawMwnaDAwyHriki3XollsewxWzOzz+4yOFDkuJHtTsZFwMxhYJWmLQ==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@shikijs/core@1.1.0: + resolution: {integrity: sha512-mB1uFNMpHD82I6QAi/Sk4+H070czXNqUCXvpobeLQGFQ8LM1jQHK/lbHLcucUNSDpFKxTCNJK4KbU2PjR+KJNA==} + dev: true + + /@shikijs/transformers@1.1.0: + resolution: {integrity: sha512-9lMaSaDaK9gjUMcwMQeG5l2RJnb7eoNqNpR8LYWy3RzUzeIB89zku+00J3FIOrptmuAaBhKLFb/aJ8tqn6NIYA==} + dependencies: + shiki: 1.1.0 + dev: true + + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: true + + /@types/linkify-it@3.0.5: + resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==} + dev: true + + /@types/markdown-it@13.0.7: + resolution: {integrity: sha512-U/CBi2YUUcTHBt5tjO2r5QV/x0Po6nsYwQU4Y04fBS6vfoImaiZ6f8bi3CjTCxBPQSO1LMyUqkByzi8AidyxfA==} + dependencies: + '@types/linkify-it': 3.0.5 + '@types/mdurl': 1.0.5 + dev: true + + /@types/mdurl@1.0.5: + resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==} + dev: true + + /@types/web-bluetooth@0.0.20: + resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} + + /@vitejs/plugin-vue@5.0.3(vite@5.1.1)(vue@3.4.18): + resolution: {integrity: sha512-b8S5dVS40rgHdDrw+DQi/xOM9ed+kSRZzfm1T74bMmBDCd8XO87NKlFYInzCtwvtWwXZvo1QxE2OSspTATWrbA==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 + vue: ^3.2.25 + dependencies: + vite: 5.1.1 + vue: 3.4.18 + dev: true + + /@vue/compiler-core@3.4.18: + resolution: {integrity: sha512-F7YK8lMK0iv6b9/Gdk15A67wM0KKZvxDxed0RR60C1z9tIJTKta+urs4j0RTN5XqHISzI3etN3mX0uHhjmoqjQ==} + dependencies: + '@babel/parser': 7.23.9 + '@vue/shared': 3.4.18 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.0.2 + + /@vue/compiler-dom@3.4.18: + resolution: {integrity: sha512-24Eb8lcMfInefvQ6YlEVS18w5Q66f4+uXWVA+yb7praKbyjHRNuKVWGuinfSSjM0ZIiPi++QWukhkgznBaqpEA==} + dependencies: + '@vue/compiler-core': 3.4.18 + '@vue/shared': 3.4.18 + + /@vue/compiler-sfc@3.4.18: + resolution: {integrity: sha512-rG5tqtnzwrVpMqAQ7FHtvHaV70G6LLfJIWLYZB/jZ9m/hrnZmIQh+H3ewnC5onwe/ibljm9+ZupxeElzqCkTAw==} + dependencies: + '@babel/parser': 7.23.9 + '@vue/compiler-core': 3.4.18 + '@vue/compiler-dom': 3.4.18 + '@vue/compiler-ssr': 3.4.18 + '@vue/shared': 3.4.18 + estree-walker: 2.0.2 + magic-string: 0.30.7 + postcss: 8.4.35 + source-map-js: 1.0.2 + + /@vue/compiler-ssr@3.4.18: + resolution: {integrity: sha512-hSlv20oUhPxo2UYUacHgGaxtqP0tvFo6ixxxD6JlXIkwzwoZ9eKK6PFQN4hNK/R13JlNyldwWt/fqGBKgWJ6nQ==} + dependencies: + '@vue/compiler-dom': 3.4.18 + '@vue/shared': 3.4.18 + + /@vue/devtools-api@7.0.14: + resolution: {integrity: sha512-TluWR9qZ6aO11bwtYK8+fzXxBqLfsE0mWZz1q/EQBmO9k82Cm6deieLwNNXjNFJz7xutazoia5Qa+zTYkPPOfw==} + dependencies: + '@vue/devtools-kit': 7.0.14 + dev: true + + /@vue/devtools-kit@7.0.14: + resolution: {integrity: sha512-wAAJazr4hI0aVRpgWOCVPw+NzMQdthhnprHHIg4njp1MkKrpCNGQ7MtQbZF1AltAA7xpMCGyyt+0kYH0FqTiPg==} + dependencies: + '@vue/devtools-schema': 7.0.14 + '@vue/devtools-shared': 7.0.14 + hookable: 5.5.3 + mitt: 3.0.1 + perfect-debounce: 1.0.0 + speakingurl: 14.0.1 + dev: true + + /@vue/devtools-schema@7.0.14: + resolution: {integrity: sha512-tpUeCLVrdHX+KzWMLTAwx/vAPFbo6jAUi7sr6Q+0mBIqIVSSIxNr5wEhegiFvYva+OtDeM2OrT+f7/X/5bvZNg==} + dev: true + + /@vue/devtools-shared@7.0.14: + resolution: {integrity: sha512-79RP1NDakBVWou9rDpVnT1WMjTbL1lJKm6YEOodjQ0dq5ehf0wsRbeYDhgAlnjehWRzTq5GAYFBFUPYBs0/QpA==} + dependencies: + rfdc: 1.3.1 + dev: true + + /@vue/reactivity@3.4.18: + resolution: {integrity: sha512-7uda2/I0jpLiRygprDo5Jxs2HJkOVXcOMlyVlY54yRLxoycBpwGJRwJT9EdGB4adnoqJDXVT2BilUAYwI7qvmg==} + dependencies: + '@vue/shared': 3.4.18 + + /@vue/runtime-core@3.4.18: + resolution: {integrity: sha512-7mU9diCa+4e+8/wZ7Udw5pwTH10A11sZ1nldmHOUKJnzCwvZxfJqAtw31mIf4T5H2FsLCSBQT3xgioA9vIjyDQ==} + dependencies: + '@vue/reactivity': 3.4.18 + '@vue/shared': 3.4.18 + + /@vue/runtime-dom@3.4.18: + resolution: {integrity: sha512-2y1Mkzcw1niSfG7z3Qx+2ir9Gb4hdTkZe5p/I8x1aTIKQE0vY0tPAEUPhZm5tx6183gG3D/KwHG728UR0sIufA==} + dependencies: + '@vue/runtime-core': 3.4.18 + '@vue/shared': 3.4.18 + csstype: 3.1.3 + + /@vue/server-renderer@3.4.18(vue@3.4.18): + resolution: {integrity: sha512-YJd1wa7mzUN3NRqLEsrwEYWyO+PUBSROIGlCc3J/cvn7Zu6CxhNLgXa8Z4zZ5ja5/nviYO79J1InoPeXgwBTZA==} + peerDependencies: + vue: 3.4.18 + dependencies: + '@vue/compiler-ssr': 3.4.18 + '@vue/shared': 3.4.18 + vue: 3.4.18 + + /@vue/shared@3.4.18: + resolution: {integrity: sha512-CxouGFxxaW5r1WbrSmWwck3No58rApXgRSBxrqgnY1K+jk20F6DrXJkHdH9n4HVT+/B6G2CAn213Uq3npWiy8Q==} + + /@vueuse/core@10.7.2(vue@3.4.18): + resolution: {integrity: sha512-AOyAL2rK0By62Hm+iqQn6Rbu8bfmbgaIMXcE3TSr7BdQ42wnSFlwIdPjInO62onYsEMK/yDMU8C6oGfDAtZ2qQ==} + dependencies: + '@types/web-bluetooth': 0.0.20 + '@vueuse/metadata': 10.7.2 + '@vueuse/shared': 10.7.2(vue@3.4.18) + vue-demi: 0.14.7(vue@3.4.18) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + /@vueuse/integrations@10.7.2(focus-trap@7.5.4)(vue@3.4.18): + resolution: {integrity: sha512-+u3RLPFedjASs5EKPc69Ge49WNgqeMfSxFn+qrQTzblPXZg6+EFzhjarS5edj2qAf6xQ93f95TUxRwKStXj/sQ==} + peerDependencies: + async-validator: '*' + axios: '*' + change-case: '*' + drauu: '*' + focus-trap: '*' + fuse.js: '*' + idb-keyval: '*' + jwt-decode: '*' + nprogress: '*' + qrcode: '*' + sortablejs: '*' + universal-cookie: '*' + peerDependenciesMeta: + async-validator: + optional: true + axios: + optional: true + change-case: + optional: true + drauu: + optional: true + focus-trap: + optional: true + fuse.js: + optional: true + idb-keyval: + optional: true + jwt-decode: + optional: true + nprogress: + optional: true + qrcode: + optional: true + sortablejs: + optional: true + universal-cookie: + optional: true + dependencies: + '@vueuse/core': 10.7.2(vue@3.4.18) + '@vueuse/shared': 10.7.2(vue@3.4.18) + focus-trap: 7.5.4 + vue-demi: 0.14.7(vue@3.4.18) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: true + + /@vueuse/metadata@10.7.2: + resolution: {integrity: sha512-kCWPb4J2KGrwLtn1eJwaJD742u1k5h6v/St5wFe8Quih90+k2a0JP8BS4Zp34XUuJqS2AxFYMb1wjUL8HfhWsQ==} + + /@vueuse/shared@10.7.2(vue@3.4.18): + resolution: {integrity: sha512-qFbXoxS44pi2FkgFjPvF4h7c9oMDutpyBdcJdMYIMg9XyXli2meFMuaKn+UMgsClo//Th6+beeCgqweT/79BVA==} + dependencies: + vue-demi: 0.14.7(vue@3.4.18) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + /algoliasearch@4.22.1: + resolution: {integrity: sha512-jwydKFQJKIx9kIZ8Jm44SdpigFwRGPESaxZBaHSV0XWN2yBJAOT4mT7ppvlrpA4UGzz92pqFnVKr/kaZXrcreg==} + dependencies: + '@algolia/cache-browser-local-storage': 4.22.1 + '@algolia/cache-common': 4.22.1 + '@algolia/cache-in-memory': 4.22.1 + '@algolia/client-account': 4.22.1 + '@algolia/client-analytics': 4.22.1 + '@algolia/client-common': 4.22.1 + '@algolia/client-personalization': 4.22.1 + '@algolia/client-search': 4.22.1 + '@algolia/logger-common': 4.22.1 + '@algolia/logger-console': 4.22.1 + '@algolia/requester-browser-xhr': 4.22.1 + '@algolia/requester-common': 4.22.1 + '@algolia/requester-node-http': 4.22.1 + '@algolia/transporter': 4.22.1 + dev: true + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + /esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.19.12 + '@esbuild/android-arm': 0.19.12 + '@esbuild/android-arm64': 0.19.12 + '@esbuild/android-x64': 0.19.12 + '@esbuild/darwin-arm64': 0.19.12 + '@esbuild/darwin-x64': 0.19.12 + '@esbuild/freebsd-arm64': 0.19.12 + '@esbuild/freebsd-x64': 0.19.12 + '@esbuild/linux-arm': 0.19.12 + '@esbuild/linux-arm64': 0.19.12 + '@esbuild/linux-ia32': 0.19.12 + '@esbuild/linux-loong64': 0.19.12 + '@esbuild/linux-mips64el': 0.19.12 + '@esbuild/linux-ppc64': 0.19.12 + '@esbuild/linux-riscv64': 0.19.12 + '@esbuild/linux-s390x': 0.19.12 + '@esbuild/linux-x64': 0.19.12 + '@esbuild/netbsd-x64': 0.19.12 + '@esbuild/openbsd-x64': 0.19.12 + '@esbuild/sunos-x64': 0.19.12 + '@esbuild/win32-arm64': 0.19.12 + '@esbuild/win32-ia32': 0.19.12 + '@esbuild/win32-x64': 0.19.12 + dev: true + + /estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + /focus-trap@7.5.4: + resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} + dependencies: + tabbable: 6.2.0 + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + dev: true + + /magic-string@0.30.7: + resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + + /mark.js@8.11.1: + resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} + dev: true + + /minisearch@6.3.0: + resolution: {integrity: sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==} + dev: true + + /mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + dev: true + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + /perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + dev: true + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + /postcss@8.4.35: + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + + /preact@10.19.4: + resolution: {integrity: sha512-dwaX5jAh0Ga8uENBX1hSOujmKWgx9RtL80KaKUFLc6jb4vCEAc3EeZ0rnQO/FO4VgjfPMfoLFWnNG8bHuZ9VLw==} + dev: true + + /rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + dev: true + + /rollup@4.9.6: + resolution: {integrity: sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.9.6 + '@rollup/rollup-android-arm64': 4.9.6 + '@rollup/rollup-darwin-arm64': 4.9.6 + '@rollup/rollup-darwin-x64': 4.9.6 + '@rollup/rollup-linux-arm-gnueabihf': 4.9.6 + '@rollup/rollup-linux-arm64-gnu': 4.9.6 + '@rollup/rollup-linux-arm64-musl': 4.9.6 + '@rollup/rollup-linux-riscv64-gnu': 4.9.6 + '@rollup/rollup-linux-x64-gnu': 4.9.6 + '@rollup/rollup-linux-x64-musl': 4.9.6 + '@rollup/rollup-win32-arm64-msvc': 4.9.6 + '@rollup/rollup-win32-ia32-msvc': 4.9.6 + '@rollup/rollup-win32-x64-msvc': 4.9.6 + fsevents: 2.3.3 + dev: true + + /search-insights@2.13.0: + resolution: {integrity: sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==} + dev: true + + /shiki@1.1.0: + resolution: {integrity: sha512-esLKFNE2wwgAU/Ze4u/7qZRi9CwDfPq/4PQNFf7TiAN6+pbgTmibOxBS0eu1xvSW7autXP/g1bOGRGkAQK233w==} + dependencies: + '@shikijs/core': 1.1.0 + dev: true + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + + /speakingurl@14.0.1: + resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} + engines: {node: '>=0.10.0'} + dev: true + + /tabbable@6.2.0: + resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + /vite@5.1.1: + resolution: {integrity: sha512-wclpAgY3F1tR7t9LL5CcHC41YPkQIpKUGeIuT8MdNwNZr6OqOTLs7JX5vIHAtzqLWXts0T+GDrh9pN2arneKqg==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.19.12 + postcss: 8.4.35 + rollup: 4.9.6 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitepress@1.0.0-rc.42(@algolia/client-search@4.22.1)(search-insights@2.13.0): + resolution: {integrity: sha512-VeiVVXFblt/sjruFSJBNChMWwlztMrRMe8UXdNpf4e05mKtTYEY38MF5qoP90KxPTCfMQiKqwEGwXAGuOTK8HQ==} + hasBin: true + peerDependencies: + markdown-it-mathjax3: ^4.3.2 + postcss: ^8.4.34 + peerDependenciesMeta: + markdown-it-mathjax3: + optional: true + postcss: + optional: true + dependencies: + '@docsearch/css': 3.5.2 + '@docsearch/js': 3.5.2(@algolia/client-search@4.22.1)(search-insights@2.13.0) + '@shikijs/core': 1.1.0 + '@shikijs/transformers': 1.1.0 + '@types/markdown-it': 13.0.7 + '@vitejs/plugin-vue': 5.0.3(vite@5.1.1)(vue@3.4.18) + '@vue/devtools-api': 7.0.14 + '@vueuse/core': 10.7.2(vue@3.4.18) + '@vueuse/integrations': 10.7.2(focus-trap@7.5.4)(vue@3.4.18) + focus-trap: 7.5.4 + mark.js: 8.11.1 + minisearch: 6.3.0 + shiki: 1.1.0 + vite: 5.1.1 + vue: 3.4.18 + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/node' + - '@types/react' + - '@vue/composition-api' + - async-validator + - axios + - change-case + - drauu + - fuse.js + - idb-keyval + - jwt-decode + - less + - lightningcss + - nprogress + - qrcode + - react + - react-dom + - sass + - search-insights + - sortablejs + - stylus + - sugarss + - terser + - typescript + - universal-cookie + dev: true + + /vue-demi@0.14.7(vue@3.4.18): + resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + vue: 3.4.18 + + /vue@3.4.18: + resolution: {integrity: sha512-0zLRYamFRe0wF4q2L3O24KQzLyLpL64ye1RUToOgOxuWZsb/FhaNRdGmeozdtVYLz6tl94OXLaK7/WQIrVCw1A==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@vue/compiler-dom': 3.4.18 + '@vue/compiler-sfc': 3.4.18 + '@vue/runtime-dom': 3.4.18 + '@vue/server-renderer': 3.4.18(vue@3.4.18) + '@vue/shared': 3.4.18 diff --git a/docs/src/api-examples.md b/docs/src/api-examples.md new file mode 100644 index 00000000..5752d765 --- /dev/null +++ b/docs/src/api-examples.md @@ -0,0 +1,75 @@ +--- +outline: deep +--- + +# Badges samples + +You can add custom badges like these: + +```html + + + + + + + +``` + +Which renders like these: + + + + + + + + + +--- + +# Runtime API Examples + +This page demonstrates usage of some of the runtime APIs provided by VitePress. + +The main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files: + +```md + + +## Results + +### Theme Data +
{{ theme }}
+ +### Page Data +
{{ page }}
+ +### Page Frontmatter +
{{ frontmatter }}
+``` + + + +## Results + +### Theme Data +
{{ theme }}
+ +### Page Data +
{{ page }}
+ +### Page Frontmatter +
{{ frontmatter }}
+ +## More + +Check out the documentation for the [full list of runtime APIs](https://vitepress.dev/reference/runtime-api#usedata). diff --git a/docs/src/docs/cli/flags.md b/docs/src/docs/cli/flags.md new file mode 100644 index 00000000..d77b8097 --- /dev/null +++ b/docs/src/docs/cli/flags.md @@ -0,0 +1,56 @@ +# Flags + +`atama` supports global and local flags. + +## Global flags + +These flags must be run with no command. + +| Flag | Description | +| ---- | ---- | +| `--config ` | config file (default is `$HOME/.jozu`) | +| `-h`, `--help` | help for atama | + +### Example + + + + + + + + + +## Local flags + +These flags run next to a command. + +| Flag | Description | +| ---- | ---- | +| `-h`, `--help` | help for atama | + +### Example + +`./atama models --help` + +or + +`./atama models -h` diff --git a/docs/src/docs/cli/installation.md b/docs/src/docs/cli/installation.md new file mode 100644 index 00000000..e8b28e98 --- /dev/null +++ b/docs/src/docs/cli/installation.md @@ -0,0 +1,24 @@ +# Installation + +To install the `atama cli` tool please refer to download and install. + +## Download + +You can download the cli in the [github repository page](https://github.com/jozu-ai/atama/releases). + +### Versions + +There are different build versions available depending on your platform: + +| Platform | Release file name | +| --- | --- | +| Mac Silicon (ARM) | [atama-darwin-arm64.tar.gz](https://github.com/jozu-ai/atama/releases/download/nightly/atama-darwin-arm64.tar.gz) | +| Mac Intel (AMD) | [atama-darwin-amd64.tar.gz](https://github.com/jozu-ai/atama/releases/download/nightly/atama-darwin-amd64.tar.gz) | +| Linux (ARM) | [atama-linux-arm64.tar.gz](https://github.com/jozu-ai/atama/releases/download/nightly/atama-linux-arm64.tar.gz) | +| Linux (AMD) | [atama-linux-amd64.tar.gz](https://github.com/jozu-ai/atama/releases/download/nightly/atama-linux-amd64.tar.gz) | +| Windows | [atama-windows-amd64.zip](https://github.com/jozu-ai/atama/releases/download/nightly/atama-windows-amd64.tar.gz) | + +## Installation + +Just download the file and untar it. + diff --git a/docs/src/docs/cli/usage.md b/docs/src/docs/cli/usage.md new file mode 100644 index 00000000..6603ba5e --- /dev/null +++ b/docs/src/docs/cli/usage.md @@ -0,0 +1,30 @@ +# Atama CLI tool + +The `atama CLI` is a tool to easily and quickly manage models. + +## Usage + +```sh +$ ./atama [command] +``` + +Available Commands: + +| Command | Description | +| ---- | --- | +| `build` | Build a model | +| `completion` | Generate the autocompletion script for the specified shell | +| `help` | Help about any command | +| `login` | A brief description of your command | +| `models` | List models | +| `pull` | Pull model from registry | +| `push` | Push model to registry | +| `version` | Display the version information for atama | + +## Example + +To list your available models you can do: + +```sh +$ ./atama models +``` diff --git a/docs/src/docs/installation.md b/docs/src/docs/installation.md new file mode 100644 index 00000000..b888132a --- /dev/null +++ b/docs/src/docs/installation.md @@ -0,0 +1,25 @@ +# Installation + +## Prerequisites + +Nobis maiores nisi asperiores minima hic. Nihil impedit quisquam. Ad et aspernatur dignissimos et rerum ut. Non consectetur id at. Aut sunt porro voluptate animi quis repellat. + +Corporis voluptates placeat repellat saepe ut exercitationem officiis est. In quia suscipit aut ad deserunt. Quia quaerat expedita earum nulla labore qui. Assumenda quos consequatur vero. In ratione error doloremque. + +Quam ex placeat maiores fugiat et corrupti et omnis. Sunt explicabo ipsum praesentium ut et quisquam voluptates voluptatem. Ut repudiandae modi corporis magni quasi. + +## How to install + +Eius ut id quisquam et quia fugiat. Quos quia et hic reprehenderit quasi doloremque nesciunt. Corrupti quos sit dolorem dignissimos ea iure. Eligendi non ea nisi numquam porro. + +Vero qui et maiores quibusdam odio et molestiae. Architecto ea et nulla ducimus nihil unde quae suscipit ut. Rerum ea sed. Vel nulla molestiae qui quaerat voluptatem provident vitae quia. + +Excepturi et eius ipsa occaecati rem. Fuga pariatur et sit reiciendis. Vel sunt et qui. Recusandae vel nesciunt voluptate perferendis reprehenderit. Ducimus dolores reprehenderit nihil dicta. + +## Your first command + +Minima possimus odio consequuntur quam quos tempore eveniet quis. Vel in facere vero deserunt aut libero eius. Qui aliquid velit aut ipsam aliquam. + +Necessitatibus exercitationem eum optio neque culpa. Debitis autem optio vel quam dolor est. Expedita aut ea. Expedita asperiores saepe qui commodi repellat perspiciatis aut error nobis. Quo sit aut illo recusandae et quod ut cupiditate. Eaque enim perferendis quia possimus. + +Qui dolore ut facere soluta omnis ea omnis. Ex est sunt eum omnis accusantium aut nisi totam. Consequatur id earum. Rerum nesciunt ullam perferendis expedita sapiente. diff --git a/docs/src/docs/manifest/building-running.md b/docs/src/docs/manifest/building-running.md new file mode 100644 index 00000000..61a3cde6 --- /dev/null +++ b/docs/src/docs/manifest/building-running.md @@ -0,0 +1,21 @@ +# Building and running + +Some introductory text here + +## Building + +Quo recusandae maxime eum est id error dolore. Voluptas provident accusamus voluptatibus sequi. Quia consequatur adipisci dolores a vel ipsum voluptates debitis atque. + +Voluptatem sit temporibus. Quia quas dolorum rerum. Iure et perferendis qui doloremque voluptates optio. Ratione fugit fuga officiis sed ex molestias tempora quisquam eum. Rerum iste sit omnis cupiditate consequatur possimus dolor ut quis. + +Ex assumenda natus non beatae porro nisi. Impedit et nulla qui beatae qui ex dolorum est. Ut quam sequi rerum voluptatem deserunt nostrum ullam quia assumenda. Provident iure a rerum ullam facilis eaque. + + +## Running an Atamafile + +Veritatis aut quidem aut accusantium. Ab qui odit officiis quibusdam deleniti omnis ea. Dolor molestias dolores molestiae quia ut. + +Ut iusto quidem qui optio rem expedita ut facere. Magnam sed aut sequi non sunt praesentium excepturi et. Consequatur est dolorem sed voluptates et pariatur qui voluptatem iure. Non aliquam debitis repellat dolorum numquam est. + +Culpa dolores incidunt magnam. Molestiae debitis quia et ut esse inventore. Tempora nemo illum inventore est sequi omnis. Nihil provident quas minus dolorem. Exercitationem placeat a ducimus ex dolore. + diff --git a/docs/src/docs/manifest/overview.md b/docs/src/docs/manifest/overview.md new file mode 100644 index 00000000..60a91973 --- /dev/null +++ b/docs/src/docs/manifest/overview.md @@ -0,0 +1,99 @@ +# Manifest + +## Atamafiles + +Atama uses what we call an `atamafile` as its manifest. An `atamafile` is like a little sandbox for your code, and it comes in the form of a `yaml` or `json` file, like `atama.yaml` or `atama.json`, it can even be prefixed with your own name like `myfile.atama.yaml`. This also means that an atamafile doesn't know anything about your computer or files. It runs on the given environment. Atamafiles have everything your code needs to run, even a basic operating system. + +In this walkthrough, you'll view and explore an actual atamafile. + +Before you start, get the latest version of [atama cli](/docs/cli/installation). Atama adds new features regularly and some parts of this guide may work only with the latest version of Atama Desktop. + +The Atamafile supports the following instructions: + +| Instruction | Description | +| ---- | --- | +| `ADD` | Add local or remote files and directories. | +| `ARG` | Use build-time variables. | +| `CMD` | Specify default commands. | +| `COPY` | Copy files and directories. | +| `ENTRYPOINT` | Specify default executable. | +| `ENV` | Set environment variables. | +| `EXPOSE` | Describe which ports your application is listening on. | +| `FROM` | Create a new build stage from a base image. | +| `HEALTHCHECK` | Check a container's health on startup. | +| `LABEL` | Add metadata to an image. | +| `MAINTAINER` | Specify the author of an image. | +| `ONBUILD` | Specify instructions for when the image is used in a build. | +| `RUN` | Execute build commands. | +| `SHELL` | Set the default shell of an image. | +| `STOPSIGNAL` | Specify the system call signal for exiting a container. | +| `USER` | Set user and group ID. | +| `VOLUME` | Create volume mounts. | +| `WORKDIR` | Change working directory. | + +## Format +The format of the atamafile is: + +```yaml +# Comment +INSTRUCTION arguments +``` + +The instruction is not case-sensitive. However, convention is for them to be UPPERCASE to distinguish them from arguments more easily. + +Atama runs instructions in an `atamafile` in order. An atamafile must begin with a FROM instruction. This may be after parser directives, comments, and globally scoped ARGs. The FROM instruction specifies the parent image from which you are building. FROM may only be preceded by one or more ARG instructions, which declare arguments that are used in FROM lines in the Atamafile. + +:::info Note on whitespace +For backward compatibility, leading whitespace before comments (`#`) and instructions (such as `RUN`) are ignored, but discouraged. Leading whitespace is not preserved in these cases, and the following examples are therefore equivalent: + + +```sh + # this is a comment-line + RUN echo hello +RUN echo world +``` + + + +```sh +# this is a comment-line +RUN echo hello +RUN echo world +```` + +Whitespace in instruction arguments, however, isn't ignored. The following example prints hello world with leading whitespace as specified: + +```sh +RUN echo "\ + hello\ + world" +``` +::: + +## Step 1: Set up the walkthrough + +The first thing you need is a running Atamafile. Use the following instructions to run an atamafile. + +## Step 2: Setting up environment variables + +Occaecati repudiandae aliquid nostrum et dolores repellat. Vero corporis ducimus placeat. Deserunt animi alias recusandae in eos aut facere sed praesentium. In eos illo ab tenetur et. Cumque dolor dolorem aut et ea nostrum eos ratione. + +Vel enim impedit in hic ut est sit aut. Suscipit recusandae et delectus quasi aut sapiente ratione. Totam deserunt sunt nemo. Aperiam iste inventore velit. Officiis quas saepe hic quisquam optio rerum non voluptatibus. + +Blanditiis non numquam mollitia. Placeat impedit earum. Non optio quibusdam autem veritatis rerum omnis. Labore cum autem tempora. + +## Step 3: Manage Dependencies + +Eaque et soluta. Eveniet dignissimos modi quasi adipisci nesciunt et iure in eligendi. Perferendis inventore quod placeat ut nostrum occaecati. Quaerat voluptatem ipsum quo et nobis error laboriosam. + +Eveniet ut sunt eius ea atque saepe. Est omnis qui nihil quam dolor. Illum ut excepturi dolorum possimus sed quis asperiores officiis. Qui molestias rerum et quasi eveniet modi. Id et facere quia. Illo possimus officiis reprehenderit adipisci odit dolor praesentium debitis. + +Tenetur eum quos. Reprehenderit est nulla quod autem et officia quasi. Facere dolorem minus nihil. Commodi qui est dolor quia soluta soluta esse. Assumenda et hic modi sequi numquam maiores. Quis aut exercitationem earum occaecati sed placeat. + +## Step 4: Best practices and tips + +Dolorem officiis laborum voluptatem doloribus id suscipit. Non officiis modi dolorem eum quis aut numquam distinctio. Est vero blanditiis vel aliquam dolor. Rerum pariatur hic libero. Esse fuga est dolores dolor provident nobis quis quae eius. Ex consectetur et blanditiis et eveniet aliquid autem. + +Debitis quia quidem omnis quam nihil est recusandae. Odio vitae et deserunt ullam rerum et. Quae quisquam omnis aliquam. + +Saepe consectetur sunt quidem dolorem est et vero. Saepe neque sed quo. Facere commodi explicabo. Perferendis et mollitia consectetur ipsum sint voluptatem accusantium dignissimos. Laborum facilis ut consequatur. Laborum consequatur omnis dolorem ipsam officia omnis explicabo ab. diff --git a/docs/src/docs/mlops/ci-cd.md b/docs/src/docs/mlops/ci-cd.md new file mode 100644 index 00000000..28d7f747 --- /dev/null +++ b/docs/src/docs/mlops/ci-cd.md @@ -0,0 +1,18 @@ +# Continuous Integration and Deployment + +## Continuous integration + +Ipsum rerum harum officia. Quo sit aut ea. Fuga autem non nostrum debitis. Laboriosam enim quisquam consequatur veniam. + +Accusamus et nulla vel. Odio dicta accusantium iste dolores qui doloremque magni rem. In doloremque ullam reiciendis cupiditate nulla corporis et nemo. Blanditiis harum sed expedita ullam consequatur qui. Est iste aut ut. + +Impedit commodi quod excepturi commodi sit ut fugit exercitationem quo. Quia provident rem voluptatem at iusto possimus et earum. Odit vel corrupti omnis quos impedit. Cupiditate illum in debitis. + +## Continuous deployment + +Libero corporis voluptatum cum nihil. Ea expedita aut. Quae occaecati qui maiores cupiditate qui veritatis. Eos eum unde itaque blanditiis sit eligendi. Perferendis nihil occaecati qui voluptas. Quia in similique. + +Rerum unde molestias amet. Dolore minus deleniti ut velit est. Accusamus porro tenetur molestiae quia excepturi quas aut officiis sit. Quisquam aut numquam velit aliquam eos dicta sint. Enim dolorem sunt architecto ipsam aut consequatur. Sequi atque placeat ipsa et aliquam odio sunt ut facere. + +Exercitationem corporis rerum earum dolorem est culpa reprehenderit laborum rem. Nostrum quasi animi corrupti sed sint consequatur temporibus sed. Corporis autem repellat ut a qui quia. Exercitationem maiores voluptatem doloremque aut enim rerum et qui. + diff --git a/docs/src/docs/overview.md b/docs/src/docs/overview.md new file mode 100644 index 00000000..f1dee4ca --- /dev/null +++ b/docs/src/docs/overview.md @@ -0,0 +1,29 @@ +# Getting started + +:::info +Quick TL; DR about what is jozuml and why it is awesome +::: + +## What is Atama? + +Consequatur doloremque enim aliquam. Quo ut saepe quia quidem beatae harum itaque at. Quidem ex placeat maiores autem magnam consectetur sequi ad nostrum. Quia modi hic reprehenderit est corporis eaque perspiciatis architecto veritatis. Soluta fuga libero occaecati qui aliquam iste qui voluptatem. Itaque aliquam et molestias debitis at delectus id et. + +Dolorum aut ut culpa. In voluptatem dolorem quidem. Neque saepe necessitatibus iste aut. Consectetur vitae ducimus asperiores voluptates. Qui eos ex consequatur atque rerum repudiandae hic at. Vel enim occaecati possimus officiis natus commodi laborum libero. + +Sapiente consequatur et alias similique delectus consequuntur accusamus. Veniam temporibus est quod iste error impedit doloribus sapiente. Maxime nobis omnis hic asperiores est. Temporibus recusandae totam quia delectus vel atque. Et consequatur qui. + +## Why use Atama? + +Porro est facere error nulla deserunt. A eos natus voluptate quam neque sit aut vitae iure. Adipisci maiores cumque debitis illum enim. + +Et dolore quisquam natus adipisci nihil minima ipsam dolorum. Reprehenderit reprehenderit ut aliquid labore. Unde natus eligendi accusamus. Aut sapiente vitae iusto exercitationem eveniet. Aspernatur sunt odio at autem quidem enim tenetur veritatis illo. + +Hic est vel reprehenderit dolorem temporibus cumque. Nihil tenetur quo ut. Est tempora magnam architecto minima. Magnam voluptatum et. Quo natus aut inventore voluptas voluptatum autem eveniet nulla ex. + +## Benefits of Atama + +Provident aut ea voluptas error qui perferendis earum. Fuga aut deserunt dolores ut. Dolores dolorum ea quo nulla ut recusandae quo eum aut. Non voluptatem eaque voluptatem magnam quis iusto id deleniti. + +Quas quisquam quisquam quis cumque quae. Ipsum perspiciatis aliquid distinctio rerum consequatur voluptate aliquid. Et ratione sequi hic in. Quasi eligendi et beatae consequatur velit et. Ut inventore est nobis. Aspernatur non earum suscipit. + +Dolore eos in culpa porro vitae aliquam sed omnis. Sapiente nobis fugit laboriosam recusandae nobis sit natus. Repellat aut ut commodi eum est voluptas sit. Suscipit sed ut similique eveniet laudantium. diff --git a/docs/src/guides/index.md b/docs/src/guides/index.md new file mode 100644 index 00000000..1f5540d7 --- /dev/null +++ b/docs/src/guides/index.md @@ -0,0 +1,92 @@ +--- +title: Guides and Walkthroughs +sidebar: false +aside: false +footer: false +prev: false +next: false +--- + +# Guides + +Collection of code samples and walkthroughs for performing common tasks. + +## Databases + +
    +
  • MariaDB
  • +
  • MongoDB
  • +
  • MS-SQL
  • +
  • MySQL
  • +
  • PostgreSQL
  • +
  • Redis
  • +
+ +## Frameworks +
    +
  • .NET
  • +
  • Angular
  • +
  • Django
  • +
  • Express
  • +
  • FastAPI
  • +
  • Flask
  • +
  • Node.js
  • +
  • React
  • +
  • Rails
  • +
  • Spark
  • +
  • Spring Boot
  • +
  • Vue.js
  • +
+ +## Languages +
    +
  • Go
  • +
  • Java
  • +
  • JavaScript
  • +
  • PHP
  • +
  • Python
  • +
  • Ruby
  • +
  • Rust
  • +
  • TypeScript
  • +
+ +## Platforms +
    +
  • Gitea
  • +
  • Nextcloud
  • +
  • Portainer
  • +
  • Prometheus
  • +
  • WordPress
  • +
+ +## Other +Sint suscipit aut incidunt provident nobis incidunt ut veniam. Consequuntur in quas non autem in. Placeat sed id exercitationem labore nisi a. Nihil qui voluptatibus voluptatem fugiat laborum. Reprehenderit atque ut nemo velit animi consequuntur qui optio. + + + diff --git a/docs/src/index.md b/docs/src/index.md new file mode 100644 index 00000000..f7cbbd52 --- /dev/null +++ b/docs/src/index.md @@ -0,0 +1,29 @@ +--- +# https://vitepress.dev/reference/default-theme-home-page +layout: home + +hero: + name: "AtamaOps" + text: "Documentation for the AtamaOps" + tagline: The simple and standard way to build, package, and manage AI / ML models for deploying anywhere. + actions: + - theme: brand + text: What exactly is AtamaOps? + link: /docs/overview + - theme: alt + text: Install + link: /docs/cli/installation + - theme: alt + text: Guides + link: /guides + +features: + - title: Simple + details: Create, share, and deploy to any infrastructure while maintaining traceability and provenance for the datasets, models, and applications. + - title: Open source + details: Open source CLI and packaging file that tracks models, datasets, parameters, configuration, and test results from a Jupyter Notebook to Production. + - title: More visible + details: Unified visibility and provenance across ML and App teams for datasets, models, and application dependencies. + +--- + diff --git a/docs/src/markdown-examples.md b/docs/src/markdown-examples.md new file mode 100644 index 00000000..caba1ff2 --- /dev/null +++ b/docs/src/markdown-examples.md @@ -0,0 +1,154 @@ +# Markdown Extension Examples + +This page demonstrates some of the built-in markdown extensions provided by VitePress. + +## Syntax Highlighting + +VitePress provides Syntax Highlighting powered by [Shiki](https://github.com/shikijs/shiki), with additional features like line-highlighting: + +**Input** + +````md +```js{4} +export default { + data () { + return { + msg: 'Highlighted!' + } + } +} +``` +```` + +**Output** + +```js{4} +export default { + data () { + return { + msg: 'Highlighted!' + } + } +} +``` + +## Dynamic platform code snippet + +Dynamic snippets that depends on the selected platform needs to be wrapped into a `PlatformSnippet` tag, which is a custom-made Vue component. Then each language snippet must be inside a `