Compare commits

...

45 Commits
v1.8.0 ... main

Author SHA1 Message Date
Simon Rey 7b333d6132
feat: add Qwen3 4B to the catalog (#3485)
Signed-off-by: Simon Rey <sfbrey+eqqe@gmail.com>
2025-08-25 17:46:14 +02:00
dependabot[bot] 260e009ee1
build(deps): bump openai from 5.13.1 to 5.15.0 (#3479)
Bumps [openai](https://github.com/openai/openai-node) from 5.13.1 to 5.15.0.
- [Release notes](https://github.com/openai/openai-node/releases)
- [Changelog](https://github.com/openai/openai-node/blob/master/CHANGELOG.md)
- [Commits](https://github.com/openai/openai-node/compare/v5.13.1...v5.15.0)

---
updated-dependencies:
- dependency-name: openai
  dependency-version: 5.15.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-22 20:18:18 +02:00
dependabot[bot] 7078043b31
build(deps-dev): bump @tsconfig/svelte from 5.0.4 to 5.0.5 (#3481)
Bumps [@tsconfig/svelte](https://github.com/tsconfig/bases/tree/HEAD/bases) from 5.0.4 to 5.0.5.
- [Commits](https://github.com/tsconfig/bases/commits/HEAD/bases)

---
updated-dependencies:
- dependency-name: "@tsconfig/svelte"
  dependency-version: 5.0.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-22 20:17:45 +02:00
dependabot[bot] c9904b72ba
build(deps-dev): bump @testing-library/jest-dom from 6.7.0 to 6.8.0 (#3482)
Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 6.7.0 to 6.8.0.
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v6.7.0...v6.8.0)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  dependency-version: 6.8.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-22 20:17:23 +02:00
Simon Rey e758c2c7b5
revert: "fix: migrate JSON catalogs to Typesript (#3475)" (#3477)
This reverts commit fe2803eedc.

Signed-off-by: Simon Rey <51708585+eqqe@users.noreply.github.com>
2025-08-21 17:50:37 +02:00
Simon Rey fe2803eedc
fix: migrate JSON catalogs to Typesript (#3475)
* fix: migrate JSON catalogs to Typesript

Signed-off-by: Simon Rey <sfbrey+eqqe@gmail.com>

* fix: migrate JSON catalogs to Typesript

Signed-off-by: Simon Rey <sfbrey+eqqe@gmail.com>

---------

Signed-off-by: Simon Rey <sfbrey+eqqe@gmail.com>
2025-08-21 14:55:12 +00:00
dependabot[bot] edb858b924
build(deps): bump openai from 5.12.2 to 5.13.1 (#3471)
Bumps [openai](https://github.com/openai/openai-node) from 5.12.2 to 5.13.1.
- [Release notes](https://github.com/openai/openai-node/releases)
- [Changelog](https://github.com/openai/openai-node/blob/master/CHANGELOG.md)
- [Commits](https://github.com/openai/openai-node/compare/v5.12.2...v5.13.1)

---
updated-dependencies:
- dependency-name: openai
  dependency-version: 5.13.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-20 18:39:32 +00:00
dependabot[bot] bbad58e7e7
build(deps-dev): bump @playwright/test from 1.54.2 to 1.55.0 (#3473)
Bumps [@playwright/test](https://github.com/microsoft/playwright) from 1.54.2 to 1.55.0.
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](https://github.com/microsoft/playwright/compare/v1.54.2...v1.55.0)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-version: 1.55.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-20 20:38:43 +02:00
Tibor Dancs 4fe5d75d37
chore(tests): hotfix - fix startRecipeButton locator causing failures for certain apps (#3470)
Signed-off-by: Tibor Dancs <tdancs@redhat.com>
2025-08-20 16:05:23 +00:00
dependabot[bot] e67ebb773d
build(deps-dev): bump @typescript-eslint/eslint-plugin (#3463)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 8.39.0 to 8.40.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.40.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.40.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-20 07:04:59 +02:00
dependabot[bot] 0847ffd6fe
build(deps-dev): bump @podman-desktop/tests-playwright (#3466)
Bumps [@podman-desktop/tests-playwright](https://github.com/podman-desktop/podman-desktop) from 1.20.2 to 1.21.0.
- [Release notes](https://github.com/podman-desktop/podman-desktop/releases)
- [Changelog](https://github.com/podman-desktop/podman-desktop/blob/main/RELEASE.md)
- [Commits](https://github.com/podman-desktop/podman-desktop/compare/v1.20.2...v1.21.0)

---
updated-dependencies:
- dependency-name: "@podman-desktop/tests-playwright"
  dependency-version: 1.21.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-20 06:53:48 +02:00
dependabot[bot] baa3f6fa16
build(deps-dev): bump vite from 7.1.2 to 7.1.3 (#3467)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.1.2 to 7.1.3.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.1.3/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.1.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-20 06:53:15 +02:00
dependabot[bot] 8aec87aec3
build(deps-dev): bump @typescript-eslint/parser from 8.39.1 to 8.40.0 (#3453)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-19 17:52:19 +02:00
dependabot[bot] ee838d4337
build(deps-dev): bump @tailwindcss/vite from 4.1.11 to 4.1.12 (#3451)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-19 16:48:31 +02:00
dependabot[bot] 1a65ce7309
build(deps-dev): bump @types/node from 22.17.1 to 22.17.2 (#3452)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-19 14:23:02 +00:00
Podman Desktop Bot 8ee204265c
chore: update ramalama image references 0.12.0 (#3439)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-19 08:56:15 +02:00
dependabot[bot] d12fbe7077
build(deps-dev): bump tailwindcss from 4.1.11 to 4.1.12 (#3445)
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) from 4.1.11 to 4.1.12.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.1.12/packages/tailwindcss)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-version: 4.1.12
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-19 08:28:27 +02:00
dependabot[bot] f2e50a9d96
build(deps-dev): bump svelte from 5.38.1 to 5.38.2 (#3446)
Bumps [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte) from 5.38.1 to 5.38.2.
- [Release notes](https://github.com/sveltejs/svelte/releases)
- [Changelog](https://github.com/sveltejs/svelte/blob/main/packages/svelte/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/svelte/commits/svelte@5.38.2/packages/svelte)

---
updated-dependencies:
- dependency-name: svelte
  dependency-version: 5.38.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-19 08:28:06 +02:00
dependabot[bot] 7c56784f17
build(deps): bump isomorphic-git from 1.32.3 to 1.33.0 (#3441)
Bumps [isomorphic-git](https://github.com/isomorphic-git/isomorphic-git) from 1.32.3 to 1.33.0.
- [Release notes](https://github.com/isomorphic-git/isomorphic-git/releases)
- [Changelog](https://github.com/isomorphic-git/isomorphic-git/blob/main/docs/in-the-news.md)
- [Commits](https://github.com/isomorphic-git/isomorphic-git/compare/v1.32.3...v1.33.0)

---
updated-dependencies:
- dependency-name: isomorphic-git
  dependency-version: 1.33.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-19 06:51:56 +02:00
dependabot[bot] d7bef61a17
build(deps-dev): bump @testing-library/jest-dom from 6.6.4 to 6.7.0 (#3442)
Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 6.6.4 to 6.7.0.
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v6.6.4...v6.7.0)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  dependency-version: 6.7.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-19 06:51:03 +02:00
dependabot[bot] dfb0d129a2
build(deps-dev): bump typescript-eslint from 8.39.1 to 8.40.0 (#3443)
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.39.1 to 8.40.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.40.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.40.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-19 06:50:10 +02:00
dependabot[bot] d8b30d9056 build(deps-dev): bump eslint from 9.32.0 to 9.33.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.32.0 to 9.33.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.32.0...v9.33.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.33.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-18 09:41:11 +02:00
dependabot[bot] ec4a50926b build(deps-dev): bump @typescript-eslint/parser from 8.39.0 to 8.39.1
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 8.39.0 to 8.39.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.39.1/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.39.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-18 09:28:06 +02:00
dependabot[bot] 0f51ac9fb8
build(deps-dev): bump vite from 7.1.1 to 7.1.2 (#3435)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.1.1 to 7.1.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.1.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.1.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-18 07:26:09 +00:00
dependabot[bot] 95d855d5dc
build(deps-dev): bump svelte from 5.38.0 to 5.38.1 (#3436)
Bumps [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte) from 5.38.0 to 5.38.1.
- [Release notes](https://github.com/sveltejs/svelte/releases)
- [Changelog](https://github.com/sveltejs/svelte/blob/main/packages/svelte/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/svelte/commits/svelte@5.38.1/packages/svelte)

---
updated-dependencies:
- dependency-name: svelte
  dependency-version: 5.38.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-18 09:12:56 +02:00
Tibor Dancs 92cd8d54a6
Fix playground tests, system out of storage errors (#3428)
* chore(tests): fixing model deletion logic

Signed-off-by: Tibor Dancs <tdancs@redhat.com>

* chore(tests): removing playground-incompatible models

Signed-off-by: Tibor Dancs <tdancs@redhat.com>

---------

Signed-off-by: Tibor Dancs <tdancs@redhat.com>
2025-08-13 10:00:25 +00:00
dependabot[bot] 383bc584bd
build(deps-dev): bump typescript from 5.8.3 to 5.9.2 (#3427)
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.8.3 to 5.9.2.
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release-publish.yml)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.8.3...v5.9.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-version: 5.9.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-12 13:17:57 +00:00
dependabot[bot] b201805cd8
build(deps-dev): bump @types/node from 22.17.0 to 22.17.1 (#3426)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.17.0 to 22.17.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 22.17.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-12 13:01:51 +00:00
dependabot[bot] 3ec5fa9d99
build(deps): bump isomorphic-git from 1.32.2 to 1.32.3 (#3425)
Bumps [isomorphic-git](https://github.com/isomorphic-git/isomorphic-git) from 1.32.2 to 1.32.3.
- [Release notes](https://github.com/isomorphic-git/isomorphic-git/releases)
- [Changelog](https://github.com/isomorphic-git/isomorphic-git/blob/main/docs/in-the-news.md)
- [Commits](https://github.com/isomorphic-git/isomorphic-git/compare/v1.32.2...v1.32.3)

---
updated-dependencies:
- dependency-name: isomorphic-git
  dependency-version: 1.32.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-12 14:44:26 +02:00
dependabot[bot] 26589bf7c0
build(deps-dev): bump @eslint/compat from 1.3.1 to 1.3.2 (#3424)
Bumps [@eslint/compat](https://github.com/eslint/rewrite/tree/HEAD/packages/compat) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/eslint/rewrite/releases)
- [Changelog](https://github.com/eslint/rewrite/blob/main/packages/compat/CHANGELOG.md)
- [Commits](https://github.com/eslint/rewrite/commits/compat-v1.3.2/packages/compat)

---
updated-dependencies:
- dependency-name: "@eslint/compat"
  dependency-version: 1.3.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-12 11:19:29 +02:00
dependabot[bot] 8f87998e72
build(deps-dev): bump openapi-typescript from 7.8.0 to 7.9.1 (#3417)
Bumps [openapi-typescript](https://github.com/openapi-ts/openapi-typescript/tree/HEAD/packages/openapi-typescript) from 7.8.0 to 7.9.1.
- [Release notes](https://github.com/openapi-ts/openapi-typescript/releases)
- [Changelog](https://github.com/openapi-ts/openapi-typescript/blob/main/packages/openapi-typescript/CHANGELOG.md)
- [Commits](https://github.com/openapi-ts/openapi-typescript/commits/openapi-typescript@7.9.1/packages/openapi-typescript)

---
updated-dependencies:
- dependency-name: openapi-typescript
  dependency-version: 7.9.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-12 08:28:29 +00:00
dependabot[bot] 3dff4f9493
build(deps-dev): bump typescript-eslint from 8.39.0 to 8.39.1 (#3418)
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.39.0 to 8.39.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.39.1/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.39.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-12 10:11:59 +02:00
dependabot[bot] 38b8a27a61
build(deps): bump openai from 5.12.0 to 5.12.2 (#3419)
Bumps [openai](https://github.com/openai/openai-node) from 5.12.0 to 5.12.2.
- [Release notes](https://github.com/openai/openai-node/releases)
- [Changelog](https://github.com/openai/openai-node/blob/master/CHANGELOG.md)
- [Commits](https://github.com/openai/openai-node/compare/v5.12.0...v5.12.2)

---
updated-dependencies:
- dependency-name: openai
  dependency-version: 5.12.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-12 10:11:18 +02:00
dependabot[bot] 7758d94952
build(deps): bump actions/checkout from 4 to 5 (#3421)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-12 10:10:55 +02:00
dependabot[bot] bba111a748
build(deps-dev): bump lint-staged from 16.1.4 to 16.1.5 (#3423)
Bumps [lint-staged](https://github.com/lint-staged/lint-staged) from 16.1.4 to 16.1.5.
- [Release notes](https://github.com/lint-staged/lint-staged/releases)
- [Changelog](https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lint-staged/lint-staged/compare/v16.1.4...v16.1.5)

---
updated-dependencies:
- dependency-name: lint-staged
  dependency-version: 16.1.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-12 10:10:26 +02:00
dependabot[bot] be7ca31004
build(deps-dev): bump svelte from 5.37.3 to 5.38.0 (#3411)
Bumps [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte) from 5.37.3 to 5.38.0.
- [Release notes](https://github.com/sveltejs/svelte/releases)
- [Changelog](https://github.com/sveltejs/svelte/blob/main/packages/svelte/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/svelte/commits/svelte@5.38.0/packages/svelte)

---
updated-dependencies:
- dependency-name: svelte
  dependency-version: 5.38.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-11 07:58:27 +00:00
dependabot[bot] b7f5074429
build(deps-dev): bump @typescript-eslint/eslint-plugin (#3409)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 8.38.0 to 8.39.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.39.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.39.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-11 09:41:44 +02:00
dependabot[bot] 900c4478f6
build(deps): bump @huggingface/hub from 2.4.0 to 2.4.1 (#3412)
Bumps [@huggingface/hub](https://github.com/huggingface/huggingface.js) from 2.4.0 to 2.4.1.
- [Release notes](https://github.com/huggingface/huggingface.js/releases)
- [Commits](https://github.com/huggingface/huggingface.js/commits)

---
updated-dependencies:
- dependency-name: "@huggingface/hub"
  dependency-version: 2.4.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-11 09:40:46 +02:00
dependabot[bot] d191cdd38a
build(deps-dev): bump vite from 7.0.6 to 7.1.1 (#3415)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.0.6 to 7.1.1.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.1.1/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.1.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-11 09:40:08 +02:00
dependabot[bot] 576830d438
build(deps): bump @huggingface/gguf from 0.2.0 to 0.2.1 (#3392)
Bumps [@huggingface/gguf](https://github.com/huggingface/huggingface.js) from 0.2.0 to 0.2.1.
- [Release notes](https://github.com/huggingface/huggingface.js/releases)
- [Commits](https://github.com/huggingface/huggingface.js/commits)

---
updated-dependencies:
- dependency-name: "@huggingface/gguf"
  dependency-version: 0.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-07 09:03:33 +02:00
dependabot[bot] 27d5f6e726
build(deps-dev): bump typescript-eslint from 8.38.0 to 8.39.0 (#3393)
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.38.0 to 8.39.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.39.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.39.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-07 09:03:04 +02:00
dependabot[bot] 16fd59fd1d
build(deps): bump openai from 5.11.0 to 5.12.0 (#3397)
Bumps [openai](https://github.com/openai/openai-node) from 5.11.0 to 5.12.0.
- [Release notes](https://github.com/openai/openai-node/releases)
- [Changelog](https://github.com/openai/openai-node/blob/master/CHANGELOG.md)
- [Commits](https://github.com/openai/openai-node/compare/v5.11.0...v5.12.0)

---
updated-dependencies:
- dependency-name: openai
  dependency-version: 5.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-07 09:02:30 +02:00
dependabot[bot] 8a9df3c634
build(deps-dev): bump svelte from 5.37.2 to 5.37.3 (#3399)
Bumps [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte) from 5.37.2 to 5.37.3.
- [Release notes](https://github.com/sveltejs/svelte/releases)
- [Changelog](https://github.com/sveltejs/svelte/blob/main/packages/svelte/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/svelte/commits/svelte@5.37.3/packages/svelte)

---
updated-dependencies:
- dependency-name: svelte
  dependency-version: 5.37.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-07 09:02:06 +02:00
Tibor Dancs c640a95eab
chore(ci,test): fix model download timeouts (#3401)
Signed-off-by: Tibor Dancs <tdancs@redhat.com>
2025-08-06 11:58:01 +00:00
SoniaSandler 6bab97b462 chore: bump version to 1.9.0
Signed-off-by: SoniaSandler <runner@pkrvmjbmru5nbw0.25nck5mkgfoenofczkdl0zm0ze.cx.internal.cloudapp.net>
2025-08-05 20:23:20 +02:00
18 changed files with 969 additions and 960 deletions

View File

@ -26,7 +26,7 @@ jobs:
build:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: pnpm/action-setup@v4
name: Install pnpm

View File

@ -15,7 +15,7 @@ jobs:
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
# Runs a single command using the runners shell
- name: Compute model size
run: ./tools/compute-model-sizes.sh

View File

@ -46,20 +46,20 @@ jobs:
name: Run E2E tests ${{ github.event_name == 'schedule' && '[nightly]' || '' }}
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
if: github.event_name == 'workflow_dispatch'
with:
repository: ${{ github.event.inputs.organization }}/${{ github.event.inputs.repositoryName }}
ref: ${{ github.event.inputs.branch }}
path: ${{ github.event.inputs.repositoryName }}
- uses: actions/checkout@v4
- uses: actions/checkout@v5
if: github.event_name == 'push' || github.event_name == 'schedule'
with:
path: podman-desktop-extension-ai-lab
# Checkout podman desktop
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
repository: containers/podman-desktop
ref: main

View File

@ -30,7 +30,7 @@ jobs:
name: publish
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 #v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 #v5.0.0
with:
repository: meta-llama/llama-stack
ref: ${{ github.event.inputs.version }}

View File

@ -29,7 +29,7 @@ jobs:
matrix:
os: [windows-2022, ubuntu-22.04, macos-14]
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: pnpm/action-setup@v4
name: Install pnpm
@ -74,7 +74,7 @@ jobs:
env:
SKIP_INSTALLATION: true
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
path: podman-desktop-extension-ai-lab
# Set up pnpm
@ -88,7 +88,7 @@ jobs:
with:
node-version: 22
# Checkout podman desktop
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
repository: containers/podman-desktop
ref: main

View File

@ -36,7 +36,7 @@ jobs:
env:
SKIP_INSTALLATION: true
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
path: podman-desktop-extension-ai-lab
# Set up pnpm
@ -50,7 +50,7 @@ jobs:
with:
node-version: 22
# Checkout podman desktop
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
repository: podman-desktop/podman-desktop
ref: main

View File

@ -41,7 +41,7 @@ jobs:
releaseId: ${{ steps.create_release.outputs.id}}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ github.event.inputs.branch }}
- name: Generate tag utilities
@ -116,7 +116,7 @@ jobs:
needs: [tag]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ needs.tag.outputs.githubTag }}

View File

@ -32,7 +32,7 @@ jobs:
update-references:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Get latest ramalama version
id: get_ramalama_version

View File

@ -3,7 +3,7 @@
"displayName": "ai-lab-monorepo",
"description": "ai-lab-monorepo",
"publisher": "redhat",
"version": "1.8.0-next",
"version": "1.9.0-next",
"license": "Apache-2.0",
"private": true,
"engines": {
@ -46,14 +46,14 @@
"devDependencies": {
"@commitlint/cli": "^19.8.1",
"@commitlint/config-conventional": "^19.8.1",
"@eslint/compat": "^1.3.0",
"@typescript-eslint/eslint-plugin": "^8.38.0",
"@typescript-eslint/parser": "^8.39.0",
"@eslint/compat": "^1.3.2",
"@typescript-eslint/eslint-plugin": "^8.40.0",
"@typescript-eslint/parser": "^8.40.0",
"@vitest/coverage-v8": "^3.2.3",
"autoprefixer": "^10.4.21",
"commitlint": "^19.8.1",
"concurrently": "^9.1.2",
"eslint": "^9.32.0",
"eslint": "^9.33.0",
"eslint-import-resolver-custom-alias": "^1.3.2",
"eslint-import-resolver-typescript": "^4.3.5",
"eslint-plugin-etc": "^2.0.3",
@ -66,14 +66,14 @@
"eslint-plugin-unicorn": "^60.0.0",
"globals": "^16.1.0",
"husky": "^9.1.7",
"lint-staged": "^16.1.4",
"lint-staged": "^16.1.5",
"prettier": "^3.5.3",
"prettier-plugin-svelte": "^3.4.0",
"svelte-check": "^4.3.1",
"svelte-eslint-parser": "^1.3.1",
"typescript": "5.8.3",
"typescript-eslint": "^8.38.0",
"vite": "^7.0.6",
"typescript": "5.9.2",
"typescript-eslint": "^8.40.0",
"vite": "^7.1.3",
"vitest": "^3.0.5"
},
"workspaces": {

View File

@ -2,7 +2,7 @@
"name": "ai-lab",
"displayName": "Podman AI Lab",
"description": "Podman AI Lab lets you work with LLMs locally, exploring AI fundamentals, experimenting with models and prompts, and serving models while maintaining data security and privacy.",
"version": "1.8.0-next",
"version": "1.9.0-next",
"icon": "icon.png",
"type": "module",
"publisher": "redhat",
@ -111,15 +111,15 @@
},
"dependencies": {
"@ai-sdk/openai-compatible": "^0.2.16",
"@huggingface/gguf": "^0.2.0",
"@huggingface/hub": "^2.4.0",
"@huggingface/gguf": "^0.2.1",
"@huggingface/hub": "^2.4.1",
"ai": "^4.3.19",
"express": "^4.21.2",
"express-openapi-validator": "^5.5.8",
"isomorphic-git": "^1.32.2",
"isomorphic-git": "^1.33.0",
"js-yaml": "^4.1.0",
"mustache": "^4.2.0",
"openai": "^5.11.0",
"openai": "^5.15.0",
"postman-code-generators": "^1.14.1",
"postman-collection": "^5.1.0",
"semver": "^7.7.2",
@ -140,7 +140,7 @@
"@types/supertest": "^6.0.3",
"@types/swagger-ui-dist": "^3.30.5",
"@types/swagger-ui-express": "^4.1.8",
"openapi-typescript": "^7.8.0",
"openapi-typescript": "^7.9.1",
"supertest": "^7.1.4",
"vitest": "^3.0.5"
}

File diff suppressed because one or more lines are too long

View File

@ -1,12 +1,12 @@
{
"whispercpp": {
"default": "quay.io/ramalama/ramalama-whisper-server@sha256:8986b418c1cd576a214f81dd42c9c7c340debf9b930ac782be08aeacec7feaea"
"default": "quay.io/ramalama/ramalama-whisper-server@sha256:010aa34d8734e5e698fb4c5e852e43e5909baa928e3b6e991e1038a1973909ba"
},
"llamacpp": {
"default": "quay.io/ramalama/ramalama-llama-server@sha256:3ca009ed7c1bf97c79f1f8314117dc3f1eced88c8fcfe8b216797bef84b6e440",
"cuda": "quay.io/ramalama/cuda-llama-server@sha256:567a284fcf4c210f767e18ae1e5528b0f418889ec4b630996229ab3e49741ee3"
"default": "quay.io/ramalama/ramalama-llama-server@sha256:4409a5c964382408f3bc08be1314754edaf2dfec1626f31974e34379bfeec41e",
"cuda": "quay.io/ramalama/cuda-llama-server@sha256:5e1a3a2508e4b802c8d8c3ecb97ad1778a1b4288fd114562b51fd411bad91841"
},
"openvino": {
"default": "quay.io/ramalama/openvino@sha256:4142ab5d661bdbcbe3b39e2579caa364680dab561a41958bafc9fd95ba324581"
"default": "quay.io/ramalama/openvino@sha256:705f3e0a44dcdc2c7b81c3931e42d5ee19d2502bdb5ebddf3f186932a2658e83"
}
}

View File

@ -1,7 +1,7 @@
{
"name": "frontend-app",
"displayName": "UI for AI Lab",
"version": "1.8.0-next",
"version": "1.9.0-next",
"type": "module",
"license": "Apache-2.0",
"scripts": {
@ -26,24 +26,24 @@
"devDependencies": {
"@sveltejs/vite-plugin-svelte": "5.1.0",
"@tailwindcss/typography": "^0.5.16",
"@tailwindcss/vite": "^4.1.7",
"@tailwindcss/vite": "^4.1.12",
"@testing-library/dom": "^10.4.1",
"@testing-library/jest-dom": "^6.6.4",
"@testing-library/jest-dom": "^6.8.0",
"@testing-library/svelte": "^5.2.8",
"@testing-library/user-event": "^14.6.1",
"@tsconfig/svelte": "^5.0.4",
"@tsconfig/svelte": "^5.0.5",
"@types/humanize-duration": "^3.27.4",
"@typescript-eslint/eslint-plugin": "8.38.0",
"@typescript-eslint/eslint-plugin": "8.40.0",
"jsdom": "^26.1.0",
"monaco-editor": "^0.52.2",
"postcss": "^8.5.6",
"postcss-load-config": "^6.0.1",
"svelte": "5.37.2",
"svelte": "5.38.2",
"svelte-fa": "^4.0.4",
"svelte-select": "^5.8.3",
"svelte-markdown": "^0.4.1",
"svelte-preprocess": "^6.0.3",
"tailwindcss": "^4.1.8",
"tailwindcss": "^4.1.12",
"vitest": "^3.0.5"
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{
"name": "ai-lab-tests-playwright",
"version": "1.8.0-next",
"version": "1.9.0-next",
"description": "Podman Desktop AI Lab extension Playwright E2E tests",
"scripts": {
"test:e2e": "xvfb-maybe --auto-servernum --server-args='-screen 0 1280x960x24' -- npx playwright test src/",
@ -10,10 +10,10 @@
"author": "Red Hat",
"license": "Apache-2.0",
"devDependencies": {
"@playwright/test": "^1.54.2",
"@podman-desktop/tests-playwright": "1.20.2",
"@playwright/test": "^1.55.0",
"@podman-desktop/tests-playwright": "1.21.0",
"@types/node": "^22",
"typescript": "^5.8.3",
"typescript": "^5.9.2",
"xvfb-maybe": "^0.2.1"
},
"type": "module"

View File

@ -227,7 +227,7 @@ test.describe.serial(`AI Lab extension installation and verification`, () => {
// This test is currently failing due to a known issue: https://github.com/containers/podman-desktop-extension-ai-lab/issues/2925
test.skip(`Download ${model} via API`, async ({ request }) => {
test.setTimeout(300_000);
test.setTimeout(610_000);
const catalogPage = await aiLabPage.navigationBar.openCatalog();
await catalogPage.waitForLoad();
console.log(`Downloading ${model}...`);
@ -241,7 +241,7 @@ test.describe.serial(`AI Lab extension installation and verification`, () => {
insecure: false,
stream: true,
},
timeout: 300_000,
timeout: 600_000,
});
const body = await response.body();
@ -297,24 +297,24 @@ test.describe.serial(`AI Lab extension installation and verification`, () => {
});
test(`Download ${modelName} model`, async () => {
test.setTimeout(310_000);
test.setTimeout(610_000);
if (!(await catalogPage.isModelDownloaded(modelName))) {
await catalogPage.downloadModel(modelName);
}
await playExpect
// eslint-disable-next-line sonarjs/no-nested-functions
.poll(async () => await waitForCatalogModel(modelName), { timeout: 300_000, intervals: [5_000] })
.poll(async () => await waitForCatalogModel(modelName), { timeout: 600_000, intervals: [5_000] })
.toBeTruthy();
});
test(`Delete ${modelName} model`, async () => {
test.skip(isWindows, 'Model deletion is currently very buggy in azure cicd');
test.setTimeout(310_000);
test.setTimeout(610_000);
playExpect(await catalogPage.isModelDownloaded(modelName)).toBeTruthy();
await catalogPage.deleteModel(modelName);
await playExpect
// eslint-disable-next-line sonarjs/no-nested-functions
.poll(async () => await waitForCatalogModel(modelName), { timeout: 300_000, intervals: [2_500] })
.poll(async () => await waitForCatalogModel(modelName), { timeout: 600_000, intervals: [2_500] })
.toBeFalsy();
});
});
@ -421,20 +421,17 @@ test.describe.serial(`AI Lab extension installation and verification`, () => {
.toBe('RUNNING');
});
test(`Delete model service for ${modelName}`, async () => {
test(`Delete model service and model for ${modelName}`, async () => {
test.setTimeout(150_000);
const modelServicePage = await modelServiceDetailsPage.deleteService();
await playExpect(modelServicePage.heading).toBeVisible({ timeout: 120_000 });
await cleanupServices();
await deleteAllModels();
});
});
});
[
'ibm-granite/granite-3.3-8b-instruct-GGUF',
'instructlab/granite-7b-lab-GGUF',
'instructlab/merlinite-7b-lab-GGUF',
'TheBloke/Mistral-7B-Instruct-v0.2-GGUF',
].forEach(modelName => {
// Do not use non-instruct models in playground tests.
// They break out of guilderails and fail the tests.
['ibm-granite/granite-3.3-8b-instruct-GGUF', 'TheBloke/Mistral-7B-Instruct-v0.2-GGUF'].forEach(modelName => {
test.describe.serial(`AI Lab playground creation and deletion for ${modelName}`, { tag: '@smoke' }, () => {
let catalogPage: AILabCatalogPage;
let playgroundsPage: AILabPlaygroundsPage;
@ -453,7 +450,7 @@ test.describe.serial(`AI Lab extension installation and verification`, () => {
});
test(`Download ${modelName} model if not available`, async () => {
test.setTimeout(310_000);
test.setTimeout(610_000);
if (!(await catalogPage.isModelDownloaded(modelName))) {
await catalogPage.downloadModel(modelName);
}
@ -515,7 +512,8 @@ test.describe.serial(`AI Lab extension installation and verification`, () => {
test.afterAll(`Cleaning up service model`, async () => {
test.setTimeout(60_000);
await cleanupServiceModels();
await cleanupServices();
await deleteAllModels();
});
});
});
@ -640,14 +638,15 @@ test.describe.serial(`AI Lab extension installation and verification`, () => {
await restartApp(appName);
await stopAndDeleteApp(appName);
await cleanupServiceModels();
await cleanupServices();
});
test.afterAll(`Ensure cleanup of "${appName}" app, related service, and images`, async ({ navigationBar }) => {
test.setTimeout(150_000);
await stopAndDeleteApp(appName);
await cleanupServiceModels();
await cleanupServices();
await deleteAllModels();
await deleteUnusedImages(navigationBar);
});
});
@ -716,7 +715,7 @@ test.describe.serial(`AI Lab extension installation and verification`, () => {
});
});
async function cleanupServiceModels(): Promise<void> {
async function cleanupServices(): Promise<void> {
try {
const modelServicePage = await aiLabPage.navigationBar.openServices();
await modelServicePage.waitForLoad();
@ -727,6 +726,12 @@ async function cleanupServiceModels(): Promise<void> {
}
}
async function deleteAllModels(): Promise<void> {
const modelCatalogPage = await aiLabPage.navigationBar.openCatalog();
await modelCatalogPage.waitForLoad();
await modelCatalogPage.deleteAllModels();
}
async function restartApp(appName: string): Promise<void> {
const aiRunningAppsPage = await aiLabPage.navigationBar.openRunningApps();
const aiApp = await aiRunningAppsPage.getRowForApp(appName);

View File

@ -50,6 +50,12 @@ export class AILabCatalogPage extends AILabBasePage {
return undefined;
}
async getModelNameByRow(row: Locator): Promise<string> {
const modelNameCell = row.getByLabel('Model Name');
const modelName = await modelNameCell.textContent();
return modelName?.trim() ?? '';
}
async downloadModel(modelName: string): Promise<void> {
const modelRow = await this.getModelRowByName(modelName);
if (!modelRow) {
@ -75,16 +81,35 @@ export class AILabCatalogPage extends AILabBasePage {
}
async deleteModel(modelName: string): Promise<void> {
if (!modelName || modelName.trim() === '') {
console.warn('Model name is empty, skipping deletion.');
return;
}
const modelRow = await this.getModelRowByName(modelName);
if (!modelRow) {
throw new Error(`Model ${modelName} not found`);
}
const deleteButton = modelRow.getByRole('button', { name: 'Delete Model' });
await playExpect(deleteButton).toBeEnabled();
await playExpect.poll(async () => await deleteButton.isEnabled(), { timeout: 10_000 }).toBeTruthy();
await deleteButton.focus();
await deleteButton.click();
await this.page.waitForTimeout(1_000);
await handleConfirmationDialog(this.page, podmanAILabExtension.extensionName, true, 'Confirm');
await playExpect.poll(async () => await this.isModelDownloaded(modelName), { timeout: 30_000 }).toBeFalsy();
}
async deleteAllModels(): Promise<void> {
const modelRows = await this.getAllModelRows();
if (modelRows.length === 0) {
return;
}
for (const modelRow of modelRows) {
const modelName = await this.getModelNameByRow(modelRow);
if (await this.isModelDownloaded(modelName)) {
await this.deleteModel(modelName);
}
}
}
async isModelDownloaded(modelName: string): Promise<boolean> {

View File

@ -33,7 +33,7 @@ export class AILabStartRecipePage extends AILabBasePage {
super(page, webview, 'Start recipe');
this.recipeStatus = this.webview.getByRole('status');
this.applicationDetailsPanel = this.webview.getByLabel('application details panel');
this.startRecipeButton = this.webview.getByRole('button', { name: /Start(\s+([a-z]+\s+)+)recipe/i });
this.startRecipeButton = this.webview.getByRole('button', { name: /^Start .+ recipe$/i });
this.openAIAppButton = this.applicationDetailsPanel.getByRole('button', { name: 'Open AI App' });
this.deleteAIAppButton = this.applicationDetailsPanel.getByRole('button', { name: 'Delete AI App' });
}