Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(pci.ai-notebooks): initializing ai notebooks apps #13544

Draft
wants to merge 9 commits into
base: develop
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,4 @@ packages/manager/core/generator
packages/components/ovh-at-internet/src/ovh-at-internet.ts
packages/manager/apps/container
packages/manager/apps/pci-databases-analytics/src/components/ui
packages/manager/apps/pci-ai-notebooks/src/components/ui
4 changes: 3 additions & 1 deletion .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,6 @@ loader
react
vue
packages/manager/apps/pci-databases-analytics/src/components/ui
packages/manager/apps/pci-databases-analytics/src/lib/utils.ts
packages/manager/apps/pci-databases-analytics/src/lib/utils.ts
packages/manager/apps/pci-ai-notebooks/src/components/ui
packages/manager/apps/pci-ai-notebooks/src/lib/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ export const features = [
'ai-endpoints',
'key-management-service',
'pci-savings-plan',
'pci-ai-notebooks'
];

export function getPciProjectMenu(
Expand Down Expand Up @@ -354,6 +355,7 @@ export function getPciProjectMenu(
'training',
'ai-apps',
'ai-endpoints',
'pci-ai-notebooks',
)
) {
pciMenu.push({
Expand All @@ -373,6 +375,11 @@ export function getPciProjectMenu(
title: 'AI Notebooks',
href: getURL('public-cloud', `#/pci/projects/${projectId}/notebooks`),
},
isFeaturesAvailable('pci-ai-notebooks') && {
id: 'notebooks',
title: 'AI Notebooks React',
href: getURL('public-cloud', `#/pci/projects/${projectId}/ai/notebooks`),
},
isFeaturesAvailable('training') && {
id: 'training',
title: 'AI Training',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -496,7 +496,7 @@ pciNode.children = [
idAttr: 'pci-ai-link',
universe: PUBLICCLOUD_UNIVERSE_ID,
translation: 'sidebar_pci_ai',
features: ['notebooks', 'ai-apps', 'training', 'ai-dashboard'],
features: ['notebooks', 'ai-apps', 'training', 'ai-dashboard', 'pci-ai-notebooks'],
forceVisibility: true,
children: [
{
Expand Down Expand Up @@ -525,6 +525,19 @@ pciNode.children = [
features: ['notebooks'],
forceVisibility: true,
},
{
id: 'pci-ai-notebooks',
idAttr: 'pci-ai-notebooks-link',
universe: PUBLICCLOUD_UNIVERSE_ID,
translation: 'sidebar_pci_ai_notebooks',
serviceType: 'CLOUD_PROJECT_AI_NOTEBOOK',
routing: {
application: 'public-cloud',
hash: '#/pci/projects/{projectId}/ai/notebooks',
},
features: ['pci-ai-notebooks'],
forceVisibility: true,
},
{
id: 'pci-ai-training',
idAttr: 'pci-ai-training-link',
Expand Down
2 changes: 2 additions & 0 deletions packages/manager/apps/pci-ai-notebooks/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
coverage
yarn-error.log
3 changes: 3 additions & 0 deletions packages/manager/apps/pci-ai-notebooks/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# @ovh-ux/manager-pci-ai-notebooks-app

> pci-ai-notebooks project
17 changes: 17 additions & 0 deletions packages/manager/apps/pci-ai-notebooks/components.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"$schema": "https://ui.shadcn.com/schema.json",
"style": "default",
"rsc": false,
"tsx": true,
"tailwind": {
"config": "tailwind.config.ts",
"css": "src/global.css",
"baseColor": "neutral",
"cssVariables": true,
"prefix": ""
},
"aliases": {
"components": "@/components",
"utils": "@/lib/utils"
}
}
23 changes: 23 additions & 0 deletions packages/manager/apps/pci-ai-notebooks/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="mobile-web-app-capable" content="yes" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>OVHcloud</title>
<link rel="shortcut icon" href="images/favicon.png" />
<link rel="apple-touch-icon" href="images/touchicon-180.png" />
</head>

<body>
<noscript>
<strong>
We're sorry but this application doesn't work properly without
JavaScript enabled. Please enable it to continue.
</strong>
</noscript>
<div id="root"></div>
<script type="module" src="./src/main.tsx"></script>
</body>
</html>
100 changes: 100 additions & 0 deletions packages/manager/apps/pci-ai-notebooks/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
{
"name": "@ovh-ux/manager-pci-ai-notebooks-app",
"version": "1.0.0",
"private": true,
"description": "pci-ai-notebooks",
"repository": {
"type": "git",
"url": "git+https://github.com/ovh/manager.git",
"directory": "packages/manager/apps/pci-ai-notebooks"
},
"license": "BSD-3-Clause",
"author": "OVH SAS",
"type": "module",
"scripts": {
"build": "tsc --project tsconfig.build.json && vite build",
"coverage": "vitest run --coverage",
"dev": "tsc && vite",
"start": "lerna exec --stream --scope='@ovh-ux/manager-pci-ai-notebooks-app' --include-dependencies -- npm run build --if-present",
"start:dev": "lerna exec --stream --scope='@ovh-ux/manager-pci-ai-notebooks-app' --include-dependencies -- npm run dev --if-present",
"start:watch": "lerna exec --stream --parallel --scope='@ovh-ux/manager-pci-ai-notebooks-app' --include-dependencies -- npm run dev:watch --if-present",
"test": "vitest",
"test-ui": "vitest --ui --coverage.enabled=true"
},
"dependencies": {
"@hookform/resolvers": "^3.3.4",
"@ovh-ux/manager-config": "^7.4.0",
"@ovh-ux/manager-core-api": "^0.8.0",
"@ovh-ux/manager-react-shell-client": "^0.7.2",
"@ovh-ux/request-tagger": "^0.3.0",
"@ovh-ux/shell": "^3.8.0",
"@ovhcloud/ods-common-core": "^17.1.0",
"@ovhcloud/ods-components": "^17.1.0",
"@ovhcloud/ods-theme-blue-jeans": "^17.1.0",
"@radix-ui/react-accordion": "^1.1.2",
"@radix-ui/react-alert-dialog": "^1.0.5",
"@radix-ui/react-collapsible": "^1.0.3",
"@radix-ui/react-dialog": "^1.0.5",
"@radix-ui/react-dropdown-menu": "^2.0.6",
"@radix-ui/react-label": "^2.0.2",
"@radix-ui/react-popover": "^1.0.7",
"@radix-ui/react-progress": "^1.0.3",
"@radix-ui/react-radio-group": "^1.1.3",
"@radix-ui/react-scroll-area": "^1.0.5",
"@radix-ui/react-select": "^2.0.0",
"@radix-ui/react-slider": "^1.1.2",
"@radix-ui/react-slot": "^1.0.2",
"@radix-ui/react-switch": "^1.0.3",
"@radix-ui/react-tabs": "^1.0.4",
"@radix-ui/react-toast": "^1.1.5",
"@radix-ui/react-tooltip": "^1.0.7",
"@tanstack/react-query": "^5.51.21",
"@tanstack/react-table": "^8.20.1",
"chart.js": "^4.4.2",
"chartjs-adapter-date-fns": "^3.0.0",
"chartjs-plugin-zoom": "^2.0.1",
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.0",
"cmdk": "^0.2.1",
"date-fns": "^3.6.0",
"duration-fns": "^3.0.2",
"i18next": "^23.8.2",
"i18next-http-backend": "^2.4.2",
"lucide-react": "^0.334.0",
"next-themes": "^0.2.1",
"qs": "^6.11.2",
"react": "^18.2.0",
"react-chartjs-2": "^5.2.0",
"react-day-picker": "^8.10.0",
"react-dom": "^18.2.0",
"react-hook-form": "^7.50.1",
"react-i18next": "^14.0.5",
"react-router": "^6.21.3",
"react-router-dom": "^6.3.0",
"sonner": "^1.4.0",
"tailwind-merge": "^2.2.1",
"tailwindcss": "^3.4.4",
"tailwindcss-animate": "^1.0.7",
"zod": "^3.22.4"
},
"devDependencies": {
"@jest/globals": "^29.7.0",
"@ovh-ux/manager-vite-config": "^0.8.0",
"@testing-library/jest-dom": "^6.1.5",
"@testing-library/react": "^14.1.2",
"@testing-library/user-event": "^13.2.1",
"@types/jest": "^29.5.11",
"@types/node": "^20.10.6",
"@types/react": "^18.2.45",
"@types/react-dom": "^18.2.18",
"@vitejs/plugin-react": "^4.2.1",
"@vitest/ui": "^1.4.0",
"typescript": "^5.3.3",
"vite": "4.3.1",
"vitest": "^1.4.0"
},
"regions": [
"CA",
"EU"
]
}
6 changes: 6 additions & 0 deletions packages/manager/apps/pci-ai-notebooks/postcss.config.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
};
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"unitShort-B": "B",
"unitShort-KB": "KB",
"unitShort-MB": "MB",
"unitShort-GB": "GB",
"unitShort-TB": "TB",
"unitShort-PB": "PB",
"unitLong-B_one": "Byte",
"unitLong-B_other": "Byte",
"unitLong-KB_one": "Kilobyte",
"unitLong-KB_other": "Kilobyte",
"unitLong-MB_one": "Megabyte",
"unitLong-MB_other": "Megabyte",
"unitLong-GB_one": "Gigabyte",
"unitLong-GB_other": "Gigabyte",
"unitLong-TB_one": "Terabyte",
"unitLong-TB_other": "Terabyte",
"unitLong-PB_one": "Petabyte",
"unitLong-PB_other": "Petabyte"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"unitShort-B": "B",
"unitShort-KB": "KB",
"unitShort-MB": "MB",
"unitShort-GB": "GB",
"unitShort-TB": "TB",
"unitShort-PB": "PB",
"unitLong-B_one": "byte",
"unitLong-B_other": "bytes",
"unitLong-KB_one": "kilobyte",
"unitLong-KB_other": "kilobytes",
"unitLong-MB_one": "megabyte",
"unitLong-MB_other": "megabytes",
"unitLong-GB_one": "gigabyte",
"unitLong-GB_other": "gigabytes",
"unitLong-TB_one": "terabyte",
"unitLong-TB_other": "terabytes",
"unitLong-PB_one": "petabyte",
"unitLong-PB_other": "petabytes"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"unitShort-B": "B",
"unitShort-KB": "KB",
"unitShort-MB": "MB",
"unitShort-GB": "GB",
"unitShort-TB": "TB",
"unitShort-PB": "PB",
"unitLong-B_one": "byte",
"unitLong-B_other": "bytes",
"unitLong-KB_one": "kilobyte",
"unitLong-KB_other": "kilobytes",
"unitLong-MB_one": "megabyte",
"unitLong-MB_other": "megabytes",
"unitLong-GB_one": "gigabyte",
"unitLong-GB_other": "gigabytes",
"unitLong-TB_one": "terabyte",
"unitLong-TB_other": "terabytes",
"unitLong-PB_one": "petabyte",
"unitLong-PB_other": "petabytes"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"unitShort-B": "o",
"unitShort-KB": "Ko",
"unitShort-MB": "Mo",
"unitShort-GB": "Go",
"unitShort-TB": "To",
"unitShort-PB": "Po",
"unitLong-B_one": "octet",
"unitLong-B_other": "octets",
"unitLong-KB_one": "kilooctet",
"unitLong-KB_other": "kilooctets",
"unitLong-MB_one": "mégaoctet",
"unitLong-MB_other": "mégaoctets",
"unitLong-GB_one": "gigaoctet",
"unitLong-GB_other": "gigaoctets",
"unitLong-TB_one": "téraoctet",
"unitLong-TB_other": "téraoctets",
"unitLong-PB_one": "pétaoctet",
"unitLong-PB_other": "pétaoctets"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"unitShort-B": "o",
"unitShort-KB": "Ko",
"unitShort-MB": "Mo",
"unitShort-GB": "Go",
"unitShort-TB": "To",
"unitShort-PB": "Po",
"unitLong-B_one": "octet",
"unitLong-B_other": "octets",
"unitLong-KB_one": "kilooctet",
"unitLong-KB_other": "kilooctets",
"unitLong-MB_one": "mégaoctet",
"unitLong-MB_other": "mégaoctets",
"unitLong-GB_one": "gigaoctet",
"unitLong-GB_other": "gigaoctets",
"unitLong-TB_one": "téraoctet",
"unitLong-TB_other": "téraoctets",
"unitLong-PB_one": "pétaoctet",
"unitLong-PB_other": "pétaoctets"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"unitShort-B": "b",
"unitShort-KB": "KB",
"unitShort-MB": "MB",
"unitShort-GB": "GB",
"unitShort-TB": "TB",
"unitShort-PB": "PB",
"unitLong-B_one": "byte",
"unitLong-B_other": "byte",
"unitLong-KB_one": "kilobyte",
"unitLong-KB_other": "kilobyte",
"unitLong-MB_one": "megabyte",
"unitLong-MB_other": "megabyte",
"unitLong-GB_one": "gigabyte",
"unitLong-GB_other": "gigabyte",
"unitLong-TB_one": "terabyte",
"unitLong-TB_other": "terabyte",
"unitLong-PB_one": "petabyte",
"unitLong-PB_other": "petabyte"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"unitShort-B": "B",
"unitShort-KB": "KB",
"unitShort-MB": "MB",
"unitShort-GB": "GB",
"unitShort-TB": "TB",
"unitShort-PB": "PB",
"unitLong-B_one": "bajt",
"unitLong-B_other": "bajty",
"unitLong-KB_one": "kilobajt",
"unitLong-KB_other": "kilobajty",
"unitLong-MB_one": "megabajt",
"unitLong-MB_other": "megabajty",
"unitLong-GB_one": "gigabajt",
"unitLong-GB_other": "gigabajty",
"unitLong-TB_one": "terabajt",
"unitLong-TB_other": "terabajty",
"unitLong-PB_one": "petabajt",
"unitLong-PB_other": "petabajty"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"unitShort-B": "B",
"unitShort-KB": "KB",
"unitShort-MB": "MB",
"unitShort-GB": "GB",
"unitShort-TB": "TB",
"unitShort-PB": "PB",
"unitLong-B_one": "byte",
"unitLong-B_other": "bytes",
"unitLong-KB_one": "kilobyte",
"unitLong-KB_other": "kilobytes",
"unitLong-MB_one": "megabyte",
"unitLong-MB_other": "megabytes",
"unitLong-GB_one": "gigabyte",
"unitLong-GB_other": "gigabytes",
"unitLong-TB_one": "terabyte",
"unitLong-TB_other": "terabytes",
"unitLong-PB_one": "petabyte",
"unitLong-PB_other": "petabytes"
}
Loading
Loading