From 4690f232f1abb19e8ed673e8889f60d8158ade09 Mon Sep 17 00:00:00 2001 From: ModeIO Local Date: Sun, 26 Apr 2026 02:55:06 +0800 Subject: [PATCH] Release 0.2.0 --- .gitignore | 3 +- README.md | 249 +- assets/Skill-Manager-Hero-shadow.svg | 100 - assets/Skill-Manager-Marketplace.png | Bin 993398 -> 0 bytes assets/Skill-Manager.png | Bin 1014597 -> 0 bytes assets/skill-manager-mark.svg | 19 + assets/skill-manager-marketplace.png | Bin 0 -> 527758 bytes assets/skill-manager-mcp-matrix.png | Bin 0 -> 185898 bytes assets/skill-manager-mcp-translation.svg | 120 + assets/skill-manager-overview.png | Bin 0 -> 380933 bytes assets/skill-manager-skill-matrix.png | Bin 0 -> 234691 bytes assets/skill-manager-skill-unification.svg | 135 + assets/skill_manager_before_after.svg | 111 - assets/skill_manager_logo.svg | 18 + frontend/e2e/smoke.spec.ts | 139 - frontend/index.html | 1 + frontend/public/favicon.svg | 19 + frontend/src/App.test.tsx | 184 + frontend/src/App.tsx | 90 +- frontend/src/__tests__/App.test.tsx | 617 --- frontend/src/api/generated.ts | 1908 ++++++++- frontend/src/api/http.ts | 4 + frontend/src/api/openapi.json | 3784 ++++++++++++++++- .../import-boundary.test.ts | 41 + frontend/src/app/capability-registry/index.ts | 20 + .../capability-registry/invalidation.test.ts | 20 + .../app/capability-registry/invalidation.ts | 15 + .../app/capability-registry/overview.test.ts | 32 + .../src/app/capability-registry/overview.ts | 466 ++ .../src/app/capability-registry/sidebar.ts | 126 + frontend/src/components/AppShell.tsx | 55 - frontend/src/components/BulkActionBar.tsx | 147 + .../components/ConfirmActionDialog.test.tsx | 62 + .../ConfirmActionDialog.tsx} | 33 +- frontend/src/components/FilterBar.tsx | 64 + frontend/src/components/PageHeader.tsx | 19 + frontend/src/components/SearchInput.tsx | 48 - frontend/src/components/Shell.tsx | 20 + frontend/src/components/Sidebar.tsx | 297 ++ frontend/src/components/Toast.tsx | 55 + frontend/src/components/ViewModeToggle.tsx | 42 + .../src/components/cards/CardMenu.test.tsx | 32 + frontend/src/components/cards/CardMenu.tsx | 82 + .../components/cards/CardSelectCheckbox.tsx | 59 + .../src/components/cards/NeedsReviewRow.tsx | 108 + .../detail/DetailBindingIdentity.tsx | 63 + .../components/detail/DetailDisclosure.tsx | 29 +- .../src/components/detail/DetailHeader.tsx | 3 - frontend/src/components/detail/DetailNote.tsx | 11 + .../src/components/detail/DetailSection.tsx | 32 + .../components/detail/DetailSourceLinks.tsx | 61 +- frontend/src/components/detail/index.css | 61 +- .../src/components/harness/HarnessAvatar.tsx | 32 + .../components/harness/harnessPresentation.ts | 10 +- .../matrix/MatrixHarnessCellTarget.tsx | 61 + .../components/matrix/MatrixHarnessHeader.tsx | 20 + .../components/matrix/MatrixHarnessIcon.tsx | 24 + .../matrix/MatrixSortableHeader.tsx | 61 + .../components/matrix/MatrixTable.test.tsx | 54 + .../src/components/matrix/MatrixTable.tsx | 45 + frontend/src/components/matrix/index.ts | 6 + frontend/src/components/matrix/matrix.css | 334 ++ frontend/src/components/ui/HelpPopover.tsx | 51 - frontend/src/components/ui/HoverTooltip.tsx | 54 - .../ui/OverflowTooltipText.test.tsx | 117 + .../src/components/ui/OverflowTooltipText.tsx | 109 + .../src/components/ui/SelectionMenu.test.tsx | 37 + frontend/src/components/ui/SelectionMenu.tsx | 79 + frontend/src/components/ui/UiTooltip.test.tsx | 56 + frontend/src/components/ui/UiTooltip.tsx | 73 + .../src/components/ui/UiTooltipProvider.tsx | 29 + .../ui/UiTooltipTriggerBoundary.test.tsx | 62 + .../ui/UiTooltipTriggerBoundary.tsx | 60 + .../src/components/ui/useHoverSurfaceState.ts | 50 - .../features/marketplace/api/cli-client.ts | 64 + .../features/marketplace/api/cli-queries.ts | 53 + .../src/features/marketplace/api/cli-types.ts | 5 + .../features/marketplace/api/mcp-client.ts | 76 + .../features/marketplace/api/mcp-queries.ts | 110 + .../src/features/marketplace/api/mcp-types.ts | 18 + .../src/features/marketplace/api/queries.ts | 34 +- .../components/CliMarketplaceCard.tsx | 102 + .../components/CliMarketplaceDetailSheet.tsx | 48 + .../components/CliMarketplaceDetailView.tsx | 288 ++ .../components/MarketplaceCard.test.tsx | 88 - .../components/MarketplaceCard.tsx | 120 +- .../components/MarketplaceDetailSheet.tsx | 4 +- .../components/MarketplaceDetailSkeleton.tsx | 4 +- .../components/MarketplaceDetailView.test.tsx | 11 +- .../components/MarketplaceDetailView.tsx | 67 +- .../components/MarketplaceFeedPane.test.tsx | 157 + .../components/MarketplaceFeedPane.tsx | 81 + .../components/MarketplaceLayout.tsx | 275 ++ .../components/McpInstallButton.test.tsx | 188 + .../components/McpInstallButton.tsx | 176 + .../components/McpMarketplaceCard.test.tsx | 236 + .../components/McpMarketplaceCard.tsx | 103 + .../components/McpMarketplaceDetailSheet.tsx | 49 + .../McpMarketplaceDetailView.test.tsx | 137 + .../components/McpMarketplaceDetailView.tsx | 371 ++ .../marketplace/components/McpToolEntry.tsx | 97 + frontend/src/features/marketplace/lazy.ts | 53 + .../features/marketplace/model/formatters.ts | 10 + .../marketplace/model/installed-lookup.ts | 42 + .../marketplace/model/installing-context.tsx | 65 + .../marketplace/model/mcp-install-action.ts | 98 + .../model/use-cli-marketplace-controller.ts | 93 + .../model/use-marketplace-controller.ts | 35 +- .../model/use-mcp-marketplace-controller.ts | 132 + frontend/src/features/marketplace/public.ts | 9 + .../screens/MarketplaceCliPage.test.tsx | 219 + .../screens/MarketplaceCliPage.tsx | 90 + .../screens/MarketplaceMcpPage.test.tsx | 119 + .../screens/MarketplaceMcpPage.tsx | 95 + .../screens/MarketplacePage.loading.test.tsx | 56 - .../screens/MarketplacePage.test.tsx | 194 +- .../marketplace/screens/MarketplacePage.tsx | 163 +- .../src/features/marketplace/styles/cards.css | 117 + .../src/features/marketplace/styles/index.css | 412 -- .../marketplace/styles/mcp-detail.css | 557 +++ .../src/features/marketplace/styles/panes.css | 24 + frontend/src/features/mcp/api/invalidation.ts | 7 + frontend/src/features/mcp/api/keys.ts | 9 + .../src/features/mcp/api/management-client.ts | 78 + .../features/mcp/api/management-queries.ts | 96 + .../src/features/mcp/api/management-types.ts | 23 + .../features/mcp/components/McpFilterMenu.tsx | 36 + .../mcp/components/McpHarnessLogoStack.tsx | 65 + .../components/McpNeedsReviewServerList.tsx | 33 + .../components/McpNeedsReviewServerRow.tsx | 85 + .../features/mcp/components/McpServerCard.tsx | 158 + .../mcp/components/McpServerCardList.tsx | 44 + .../components/McpServerMatrixView.test.tsx | 143 + .../mcp/components/McpServerMatrixView.tsx | 238 ++ .../components/detail/McpBindingMatrix.tsx | 162 + .../mcp/components/detail/McpDetailShell.tsx | 35 + .../mcp/components/detail/McpEnvTable.tsx | 36 + .../detail/McpMarketplaceLinkChip.tsx | 32 + .../detail/McpNeedsReviewDetailSheet.tsx | 47 + .../detail/McpNeedsReviewDetailView.test.tsx | 102 + .../detail/McpNeedsReviewDetailView.tsx | 165 + .../detail/McpServerDetailSheet.tsx | 51 + .../detail/McpServerDetailView.test.tsx | 226 + .../components/detail/McpServerDetailView.tsx | 288 ++ .../edit/McpConfigChoiceDialog.test.tsx | 107 + .../components/edit/McpConfigChoiceDialog.tsx | 236 + .../src/features/mcp/model/selectors.test.ts | 362 ++ frontend/src/features/mcp/model/selectors.ts | 311 ++ .../model/use-mcp-management-controller.ts | 249 ++ .../features/mcp/model/useMcpInUseViewMode.ts | 17 + frontend/src/features/mcp/public.ts | 27 + .../mcp/screens/McpInUsePage.test.tsx | 349 ++ .../src/features/mcp/screens/McpInUsePage.tsx | 298 ++ .../mcp/screens/McpNeedsReviewPage.test.tsx | 216 + .../mcp/screens/McpNeedsReviewPage.tsx | 212 + .../src/features/mcp/styles/detail-sheet.css | 299 ++ .../src/features/mcp/styles/edit-dialogs.css | 242 ++ frontend/src/features/mcp/styles/pages.css | 87 + .../components/ExtensionPortfolio.tsx | 76 + .../components/HarnessCoverageMap.tsx | 96 + .../overview/components/MarketplacePanel.tsx | 49 + .../overview/components/ReviewQueue.tsx | 42 + .../overview/components/StatisticsBand.tsx | 39 + .../overview/screens/OverviewPage.test.tsx | 302 ++ .../overview/screens/OverviewPage.tsx | 81 + .../src/features/overview/styles/overview.css | 500 +++ .../components/SettingsHarnessCard.tsx | 73 +- frontend/src/features/settings/public.ts | 10 + .../src/features/settings/queries.test.tsx | 71 + frontend/src/features/settings/queries.ts | 9 +- .../settings/screens/SettingsPage.tsx | 78 +- .../src/features/settings/styles/index.css | 93 - .../src/features/settings/styles/settings.css | 70 + .../src/features/skills/api/cache-patches.ts | 78 + frontend/src/features/skills/api/client.ts | 18 +- .../src/features/skills/api/invalidation.ts | 11 + frontend/src/features/skills/api/keys.ts | 11 + frontend/src/features/skills/api/mappers.ts | 3 +- frontend/src/features/skills/api/queries.ts | 194 +- frontend/src/features/skills/api/types.ts | 125 +- .../skills/components/board/BoardColumn.tsx | 49 + .../components/board/BoardSkillCard.tsx | 79 + .../components/board/BoardView.test.tsx | 83 + .../skills/components/board/BoardView.tsx | 241 ++ .../skills/components/cards/CardTitleRow.tsx | 33 + .../components/cards/HarnessChipStack.tsx | 52 + .../cards/ManagedSkillCard.test.tsx | 88 - .../components/cards/ManagedSkillCard.tsx | 64 - .../components/cards/ManagedSkillCardBody.tsx | 13 - .../components/cards/ManagedSkillsList.tsx | 42 - .../components/cards/SkillCardFrame.test.tsx | 28 - .../components/cards/SkillCardFrame.tsx | 27 - .../components/cards/SkillCardHeader.tsx | 36 - .../components/cards/SkillInUseCard.test.tsx | 83 + .../components/cards/SkillInUseCard.tsx | 123 + .../components/cards/SkillNeedsReviewCard.tsx | 67 + .../components/cards/SkillStatusIndicator.tsx | 91 - .../components/cards/SkillsInUseList.tsx | 54 + ...illsList.tsx => SkillsNeedsReviewList.tsx} | 12 +- .../cards/UnmanagedSkillCard.test.tsx | 51 - .../components/cards/UnmanagedSkillCard.tsx | 60 - .../cards/UnmanagedSkillCardBody.tsx | 13 - .../detail/SkillDetailActionBar.tsx | 71 - .../detail/SkillDetailContent.test.tsx | 147 +- .../components/detail/SkillDetailContent.tsx | 252 +- .../components/detail/SkillDetailDrawer.tsx | 50 - .../detail/SkillDetailHarnessMatrix.test.tsx | 31 +- .../detail/SkillDetailHarnessMatrix.tsx | 137 +- .../components/detail/SkillDetailModal.tsx | 58 + .../components/detail/SkillDetailPanel.tsx | 132 - .../detail/SkillDetailRemoveAction.test.tsx | 58 + .../detail/SkillDetailRemoveAction.tsx | 52 + .../components/detail/SkillDetailShell.tsx | 35 + .../detail/SkillDetailSkeleton.test.tsx | 15 - .../components/detail/SkillDetailSkeleton.tsx | 77 +- .../SkillDetailStopManagingAction.test.tsx | 49 - .../detail/SkillDetailStopManagingAction.tsx | 40 - .../detail/SkillDetailUpdateControl.test.tsx | 26 +- .../detail/SkillDetailUpdateControl.tsx | 10 +- .../detail/SkillDetailView.test.tsx | 72 +- .../components/detail/SkillDetailView.tsx | 60 +- .../dialogs/SkillActionConfirmDialog.tsx | 76 + .../components/dialogs/SkillDeleteDialog.tsx | 41 - .../dialogs/SkillStopManagingDialog.tsx | 41 - .../components/harness/BulkManageHelp.tsx | 18 - .../skills/components/harness/HarnessMark.tsx | 24 - .../harness/HarnessStateChip.test.tsx | 69 - .../components/harness/HarnessStateChip.tsx | 64 - .../ManagedSkillHarnessCluster.test.tsx | 70 - .../harness/ManagedSkillHarnessCluster.tsx | 88 - .../skills/components/matrix/MatrixRow.tsx | 114 + .../components/matrix/MatrixView.test.tsx | 94 + .../skills/components/matrix/MatrixView.tsx | 118 + .../matrix/SkillMatrixHarnessCell.tsx | 57 + .../components/pane/SkillsEmptyState.tsx | 7 +- .../components/pane/SkillsPaneChrome.test.tsx | 73 - .../components/pane/SkillsPaneChrome.tsx | 57 - .../pane/SkillsPaneScaffold.test.tsx | 64 - .../components/pane/SkillsPaneScaffold.tsx | 78 - .../components/pane/SkillsPaneTransition.tsx | 23 - .../pane/SkillsWorkspaceTabs.test.tsx | 23 - .../components/pane/SkillsWorkspaceTabs.tsx | 25 - .../skills/model/bucketForRow.test.ts | 58 + .../src/features/skills/model/bucketForRow.ts | 29 + .../features/skills/model/selectors.test.ts | 72 +- .../src/features/skills/model/selectors.ts | 58 +- .../features/skills/model/session.test.tsx | 20 +- .../src/features/skills/model/session.tsx | 106 +- .../features/skills/model/sortRows.test.ts | 66 + .../src/features/skills/model/sortRows.ts | 74 + .../features/skills/model/status-mappings.ts | 17 - frontend/src/features/skills/model/types.ts | 10 +- .../model/use-skill-detail-controller.ts | 22 +- .../model/use-skill-workspace-selection.ts | 94 + .../use-skills-workspace-controller.test.tsx | 149 + .../model/use-skills-workspace-controller.ts | 404 +- .../skills/model/useInUseViewMode.test.tsx | 63 + .../features/skills/model/useInUseViewMode.ts | 32 + .../skills/model/workspace-context.ts | 30 + frontend/src/features/skills/public.ts | 26 + .../skills/screens/ManagedSkillsPage.tsx | 118 - .../skills/screens/SkillsInUsePage.test.tsx | 160 + .../skills/screens/SkillsInUsePage.tsx | 290 ++ .../skills/screens/SkillsNeedsReviewPage.tsx | 113 + .../skills/screens/SkillsWorkspacePage.tsx | 109 +- .../skills/screens/UnmanagedSkillsPage.tsx | 98 - frontend/src/features/skills/styles/board.css | 180 + frontend/src/features/skills/styles/cards.css | 217 - .../src/features/skills/styles/detail.css | 247 +- .../src/features/skills/styles/harness.css | 161 - frontend/src/features/skills/styles/index.css | 6 - frontend/src/features/skills/styles/pane.css | 194 - .../src/features/skills/styles/responsive.css | 156 - .../src/features/skills/styles/workspace.css | 232 - frontend/src/lib/product-language.ts | 20 + frontend/src/lib/query/flattenPages.ts | 22 + frontend/src/lib/query/index.ts | 3 + frontend/src/lib/query/options.ts | 7 + .../lib/query/useInfiniteScrollSentinel.ts | 44 + frontend/src/lib/usePersistentViewMode.ts | 107 + frontend/src/main.tsx | 27 +- frontend/src/styles/README.md | 106 + frontend/src/styles/app.css | 302 -- .../src/styles/components/action-pill.css | 152 + frontend/src/styles/components/bulk-bar.css | 174 + frontend/src/styles/components/buttons.css | 118 + frontend/src/styles/components/cards.css | 181 + frontend/src/styles/components/chips.css | 42 + .../src/styles/components/detail-sheet.css | 194 + .../src/styles/components/empty-panel.css | 81 + .../src/styles/components/error-banner.css | 36 + frontend/src/styles/components/filter.css | 143 + frontend/src/styles/components/harness.css | 32 + .../styles/components/needs-review-row.css | 99 + frontend/src/styles/components/note.css | 18 + frontend/src/styles/components/page.css | 119 + frontend/src/styles/components/popup.css | 208 + frontend/src/styles/components/sidebar.css | 238 ++ frontend/src/styles/components/spinner.css | 47 + frontend/src/styles/components/toast.css | 45 + .../styles/components/view-mode-toggle.css | 38 + frontend/src/styles/dialogs.css | 269 +- frontend/src/styles/drawers.css | 31 - frontend/src/styles/index.css | 49 + frontend/src/styles/scrollbars.css | 62 +- frontend/src/styles/tokens.css | 84 + frontend/src/styles/ui.css | 197 - frontend/src/styles/utilities.css | 114 + frontend/src/styles/variables.css | 31 - frontend/src/test/fetch.ts | 87 + frontend/src/test/fixtures/marketplace.ts | 12 + frontend/src/test/fixtures/mcp.ts | 34 + frontend/src/test/fixtures/skills.ts | 17 + frontend/src/test/render.tsx | 77 + frontend/src/test/setup.ts | 11 + package-lock.json | 169 +- package.json | 7 +- packaging/npm/package.json | 2 +- playwright.config.ts | 16 - pyproject.toml | 1 + requirements.txt | 1 + scripts/ci_validate.sh | 1 - scripts/dump_openapi.py | 2 +- scripts/validate_npm_wrapper.sh | 5 + scripts/validate_release_artifact.py | 14 + skill_manager/VERSION | 2 +- skill_manager/api/app.py | 3 +- skill_manager/api/routers/__init__.py | 4 +- skill_manager/api/routers/marketplace.py | 57 +- skill_manager/api/routers/marketplace_clis.py | 45 + skill_manager/api/routers/marketplace_mcp.py | 61 + .../api/routers/marketplace_skills.py | 55 + skill_manager/api/routers/mcp.py | 115 + skill_manager/api/routers/skills.py | 41 +- skill_manager/api/schemas.py | 25 - skill_manager/api/schemas/__init__.py | 141 + skill_manager/api/schemas/cli_marketplace.py | 41 + skill_manager/api/schemas/common.py | 18 + skill_manager/api/schemas/mcp.py | 347 ++ skill_manager/api/schemas/skills.py | 174 + .../application/cli_marketplace/__init__.py | 4 + .../application/cli_marketplace/catalog.py | 351 ++ .../application/cli_marketplace/client.py | 117 + skill_manager/application/container.py | 128 +- skill_manager/application/invalidation.py | 23 + .../cache.py => marketplace_cache.py} | 0 skill_manager/application/marketplace_http.py | 32 + skill_manager/application/mcp/__init__.py | 62 + skill_manager/application/mcp/adapters.py | 417 ++ skill_manager/application/mcp/contracts.py | 113 + skill_manager/application/mcp/enrichment.py | 147 + skill_manager/application/mcp/env.py | 31 + skill_manager/application/mcp/identity.py | 122 + skill_manager/application/mcp/installers.py | 161 + skill_manager/application/mcp/inventory.py | 73 + skill_manager/application/mcp/mappers.py | 318 ++ .../application/mcp/marketplace/__init__.py | 4 + .../application/mcp/marketplace/catalog.py | 395 ++ .../application/mcp/marketplace/client.py | 106 + skill_manager/application/mcp/mutations.py | 447 ++ skill_manager/application/mcp/names.py | 14 + skill_manager/application/mcp/planner.py | 29 + skill_manager/application/mcp/query.py | 244 ++ skill_manager/application/mcp/read_models.py | 130 + skill_manager/application/mcp/stdio.py | 77 + skill_manager/application/mcp/store.py | 273 ++ .../application/read_model_service.py | 128 - .../application/settings/mutations.py | 15 +- .../application/settings/presenters.py | 10 +- skill_manager/application/settings/queries.py | 16 +- skill_manager/application/skills/adapters.py | 252 ++ skill_manager/application/skills/contracts.py | 48 + .../{ => skills}/document_utils.py | 0 .../{domain => application/skills}/health.py | 0 .../skills}/identity.py | 2 +- skill_manager/application/skills/inventory.py | 53 +- .../{store => application/skills}/manifest.py | 26 +- .../{ => skills}/marketplace/__init__.py | 0 .../{ => skills}/marketplace/catalog.py | 6 +- .../{ => skills}/marketplace/client.py | 28 +- .../{ => skills}/marketplace/documents.py | 4 +- .../{ => skills}/marketplace/installs.py | 2 +- .../{ => skills}/marketplace/models.py | 0 .../{ => skills}/marketplace/queries.py | 8 +- .../marketplace/repo_snapshots.py | 3 +- .../{ => skills}/marketplace/resolver.py | 0 .../{ => skills}/marketplace/skillssh.py | 0 skill_manager/application/skills/mutations.py | 130 +- .../skills}/observations.py | 23 +- .../{domain => application/skills}/package.py | 0 skill_manager/application/skills/policy.py | 22 +- .../application/skills/presenters.py | 25 +- skill_manager/application/skills/queries.py | 18 +- .../application/skills/read_models.py | 119 + .../source_fetch.py} | 0 .../skills/store.py} | 75 +- .../{store/_atomic.py => atomic_files.py} | 0 skill_manager/domain/__init__.py | 32 - skill_manager/harness/__init__.py | 42 +- skill_manager/harness/catalog.py | 246 +- skill_manager/harness/contracts.py | 162 +- skill_manager/harness/drivers.py | 153 - skill_manager/harness/kernel.py | 103 + skill_manager/harness/managers.py | 89 - skill_manager/harness/registry.py | 35 - .../support_store.py} | 2 +- skill_manager/paths.py | 10 +- skill_manager/store/__init__.py | 13 - tests/README.md | 10 + tests/integration/test_cli_marketplace_api.py | 96 + tests/integration/test_http_api.py | 31 +- tests/integration/test_mcp_routes.py | 754 ++++ ..._api.py => test_skills_marketplace_api.py} | 12 +- ..._mutations.py => test_skills_mutations.py} | 171 +- tests/support/app_harness.py | 20 +- tests/support/fake_home.py | 45 +- tests/support/marketplace_fixture.py | 10 +- tests/unit/test_adapters.py | 65 - tests/unit/test_atomic.py | 2 +- ...n_service.py => test_backend_container.py} | 73 +- tests/unit/test_cli_marketplace.py | 198 + tests/unit/test_github_repo_metadata.py | 4 +- tests/unit/test_marketplace_client.py | 14 +- tests/unit/test_mcp_adapters.py | 386 ++ tests/unit/test_mcp_enrichment.py | 83 + tests/unit/test_mcp_env.py | 38 + tests/unit/test_mcp_identity.py | 171 + tests/unit/test_mcp_installers.py | 41 + tests/unit/test_mcp_mappers.py | 151 + tests/unit/test_mcp_stdio.py | 34 + tests/unit/test_mcp_store.py | 175 + tests/unit/test_paths.py | 6 +- ...est_manifest.py => test_skill_manifest.py} | 13 +- .../{test_skills.py => test_skill_package.py} | 8 +- .../{test_store.py => test_skill_store.py} | 37 +- ...rent.py => test_skill_store_concurrent.py} | 7 +- tests/unit/test_skills_adapters.py | 113 + ....py => test_skills_marketplace_catalog.py} | 12 +- tests/unit/test_smithery_catalog.py | 361 ++ tests/unit/test_sources.py | 2 +- tests/unit/test_symlink_harness_manager.py | 202 - tests/unit/test_test_support_structure.py | 25 - tsconfig.json | 2 +- vite.config.ts | 2 +- 444 files changed, 36553 insertions(+), 8933 deletions(-) delete mode 100644 assets/Skill-Manager-Hero-shadow.svg delete mode 100644 assets/Skill-Manager-Marketplace.png delete mode 100644 assets/Skill-Manager.png create mode 100644 assets/skill-manager-mark.svg create mode 100644 assets/skill-manager-marketplace.png create mode 100644 assets/skill-manager-mcp-matrix.png create mode 100644 assets/skill-manager-mcp-translation.svg create mode 100644 assets/skill-manager-overview.png create mode 100644 assets/skill-manager-skill-matrix.png create mode 100644 assets/skill-manager-skill-unification.svg delete mode 100644 assets/skill_manager_before_after.svg create mode 100644 assets/skill_manager_logo.svg delete mode 100644 frontend/e2e/smoke.spec.ts create mode 100644 frontend/public/favicon.svg create mode 100644 frontend/src/App.test.tsx delete mode 100644 frontend/src/__tests__/App.test.tsx create mode 100644 frontend/src/app/capability-registry/import-boundary.test.ts create mode 100644 frontend/src/app/capability-registry/index.ts create mode 100644 frontend/src/app/capability-registry/invalidation.test.ts create mode 100644 frontend/src/app/capability-registry/invalidation.ts create mode 100644 frontend/src/app/capability-registry/overview.test.ts create mode 100644 frontend/src/app/capability-registry/overview.ts create mode 100644 frontend/src/app/capability-registry/sidebar.ts delete mode 100644 frontend/src/components/AppShell.tsx create mode 100644 frontend/src/components/BulkActionBar.tsx create mode 100644 frontend/src/components/ConfirmActionDialog.test.tsx rename frontend/src/{features/skills/components/dialogs/SkillActionDialog.tsx => components/ConfirmActionDialog.tsx} (68%) create mode 100644 frontend/src/components/FilterBar.tsx create mode 100644 frontend/src/components/PageHeader.tsx delete mode 100644 frontend/src/components/SearchInput.tsx create mode 100644 frontend/src/components/Shell.tsx create mode 100644 frontend/src/components/Sidebar.tsx create mode 100644 frontend/src/components/Toast.tsx create mode 100644 frontend/src/components/ViewModeToggle.tsx create mode 100644 frontend/src/components/cards/CardMenu.test.tsx create mode 100644 frontend/src/components/cards/CardMenu.tsx create mode 100644 frontend/src/components/cards/CardSelectCheckbox.tsx create mode 100644 frontend/src/components/cards/NeedsReviewRow.tsx create mode 100644 frontend/src/components/detail/DetailBindingIdentity.tsx create mode 100644 frontend/src/components/detail/DetailNote.tsx create mode 100644 frontend/src/components/detail/DetailSection.tsx create mode 100644 frontend/src/components/harness/HarnessAvatar.tsx rename frontend/src/{features/skills => }/components/harness/harnessPresentation.ts (68%) create mode 100644 frontend/src/components/matrix/MatrixHarnessCellTarget.tsx create mode 100644 frontend/src/components/matrix/MatrixHarnessHeader.tsx create mode 100644 frontend/src/components/matrix/MatrixHarnessIcon.tsx create mode 100644 frontend/src/components/matrix/MatrixSortableHeader.tsx create mode 100644 frontend/src/components/matrix/MatrixTable.test.tsx create mode 100644 frontend/src/components/matrix/MatrixTable.tsx create mode 100644 frontend/src/components/matrix/index.ts create mode 100644 frontend/src/components/matrix/matrix.css delete mode 100644 frontend/src/components/ui/HelpPopover.tsx delete mode 100644 frontend/src/components/ui/HoverTooltip.tsx create mode 100644 frontend/src/components/ui/OverflowTooltipText.test.tsx create mode 100644 frontend/src/components/ui/OverflowTooltipText.tsx create mode 100644 frontend/src/components/ui/SelectionMenu.test.tsx create mode 100644 frontend/src/components/ui/SelectionMenu.tsx create mode 100644 frontend/src/components/ui/UiTooltip.test.tsx create mode 100644 frontend/src/components/ui/UiTooltip.tsx create mode 100644 frontend/src/components/ui/UiTooltipProvider.tsx create mode 100644 frontend/src/components/ui/UiTooltipTriggerBoundary.test.tsx create mode 100644 frontend/src/components/ui/UiTooltipTriggerBoundary.tsx delete mode 100644 frontend/src/components/ui/useHoverSurfaceState.ts create mode 100644 frontend/src/features/marketplace/api/cli-client.ts create mode 100644 frontend/src/features/marketplace/api/cli-queries.ts create mode 100644 frontend/src/features/marketplace/api/cli-types.ts create mode 100644 frontend/src/features/marketplace/api/mcp-client.ts create mode 100644 frontend/src/features/marketplace/api/mcp-queries.ts create mode 100644 frontend/src/features/marketplace/api/mcp-types.ts create mode 100644 frontend/src/features/marketplace/components/CliMarketplaceCard.tsx create mode 100644 frontend/src/features/marketplace/components/CliMarketplaceDetailSheet.tsx create mode 100644 frontend/src/features/marketplace/components/CliMarketplaceDetailView.tsx delete mode 100644 frontend/src/features/marketplace/components/MarketplaceCard.test.tsx create mode 100644 frontend/src/features/marketplace/components/MarketplaceFeedPane.test.tsx create mode 100644 frontend/src/features/marketplace/components/MarketplaceFeedPane.tsx create mode 100644 frontend/src/features/marketplace/components/MarketplaceLayout.tsx create mode 100644 frontend/src/features/marketplace/components/McpInstallButton.test.tsx create mode 100644 frontend/src/features/marketplace/components/McpInstallButton.tsx create mode 100644 frontend/src/features/marketplace/components/McpMarketplaceCard.test.tsx create mode 100644 frontend/src/features/marketplace/components/McpMarketplaceCard.tsx create mode 100644 frontend/src/features/marketplace/components/McpMarketplaceDetailSheet.tsx create mode 100644 frontend/src/features/marketplace/components/McpMarketplaceDetailView.test.tsx create mode 100644 frontend/src/features/marketplace/components/McpMarketplaceDetailView.tsx create mode 100644 frontend/src/features/marketplace/components/McpToolEntry.tsx create mode 100644 frontend/src/features/marketplace/lazy.ts create mode 100644 frontend/src/features/marketplace/model/installed-lookup.ts create mode 100644 frontend/src/features/marketplace/model/installing-context.tsx create mode 100644 frontend/src/features/marketplace/model/mcp-install-action.ts create mode 100644 frontend/src/features/marketplace/model/use-cli-marketplace-controller.ts create mode 100644 frontend/src/features/marketplace/model/use-mcp-marketplace-controller.ts create mode 100644 frontend/src/features/marketplace/public.ts create mode 100644 frontend/src/features/marketplace/screens/MarketplaceCliPage.test.tsx create mode 100644 frontend/src/features/marketplace/screens/MarketplaceCliPage.tsx create mode 100644 frontend/src/features/marketplace/screens/MarketplaceMcpPage.test.tsx create mode 100644 frontend/src/features/marketplace/screens/MarketplaceMcpPage.tsx delete mode 100644 frontend/src/features/marketplace/screens/MarketplacePage.loading.test.tsx create mode 100644 frontend/src/features/marketplace/styles/cards.css delete mode 100644 frontend/src/features/marketplace/styles/index.css create mode 100644 frontend/src/features/marketplace/styles/mcp-detail.css create mode 100644 frontend/src/features/marketplace/styles/panes.css create mode 100644 frontend/src/features/mcp/api/invalidation.ts create mode 100644 frontend/src/features/mcp/api/keys.ts create mode 100644 frontend/src/features/mcp/api/management-client.ts create mode 100644 frontend/src/features/mcp/api/management-queries.ts create mode 100644 frontend/src/features/mcp/api/management-types.ts create mode 100644 frontend/src/features/mcp/components/McpFilterMenu.tsx create mode 100644 frontend/src/features/mcp/components/McpHarnessLogoStack.tsx create mode 100644 frontend/src/features/mcp/components/McpNeedsReviewServerList.tsx create mode 100644 frontend/src/features/mcp/components/McpNeedsReviewServerRow.tsx create mode 100644 frontend/src/features/mcp/components/McpServerCard.tsx create mode 100644 frontend/src/features/mcp/components/McpServerCardList.tsx create mode 100644 frontend/src/features/mcp/components/McpServerMatrixView.test.tsx create mode 100644 frontend/src/features/mcp/components/McpServerMatrixView.tsx create mode 100644 frontend/src/features/mcp/components/detail/McpBindingMatrix.tsx create mode 100644 frontend/src/features/mcp/components/detail/McpDetailShell.tsx create mode 100644 frontend/src/features/mcp/components/detail/McpEnvTable.tsx create mode 100644 frontend/src/features/mcp/components/detail/McpMarketplaceLinkChip.tsx create mode 100644 frontend/src/features/mcp/components/detail/McpNeedsReviewDetailSheet.tsx create mode 100644 frontend/src/features/mcp/components/detail/McpNeedsReviewDetailView.test.tsx create mode 100644 frontend/src/features/mcp/components/detail/McpNeedsReviewDetailView.tsx create mode 100644 frontend/src/features/mcp/components/detail/McpServerDetailSheet.tsx create mode 100644 frontend/src/features/mcp/components/detail/McpServerDetailView.test.tsx create mode 100644 frontend/src/features/mcp/components/detail/McpServerDetailView.tsx create mode 100644 frontend/src/features/mcp/components/edit/McpConfigChoiceDialog.test.tsx create mode 100644 frontend/src/features/mcp/components/edit/McpConfigChoiceDialog.tsx create mode 100644 frontend/src/features/mcp/model/selectors.test.ts create mode 100644 frontend/src/features/mcp/model/selectors.ts create mode 100644 frontend/src/features/mcp/model/use-mcp-management-controller.ts create mode 100644 frontend/src/features/mcp/model/useMcpInUseViewMode.ts create mode 100644 frontend/src/features/mcp/public.ts create mode 100644 frontend/src/features/mcp/screens/McpInUsePage.test.tsx create mode 100644 frontend/src/features/mcp/screens/McpInUsePage.tsx create mode 100644 frontend/src/features/mcp/screens/McpNeedsReviewPage.test.tsx create mode 100644 frontend/src/features/mcp/screens/McpNeedsReviewPage.tsx create mode 100644 frontend/src/features/mcp/styles/detail-sheet.css create mode 100644 frontend/src/features/mcp/styles/edit-dialogs.css create mode 100644 frontend/src/features/mcp/styles/pages.css create mode 100644 frontend/src/features/overview/components/ExtensionPortfolio.tsx create mode 100644 frontend/src/features/overview/components/HarnessCoverageMap.tsx create mode 100644 frontend/src/features/overview/components/MarketplacePanel.tsx create mode 100644 frontend/src/features/overview/components/ReviewQueue.tsx create mode 100644 frontend/src/features/overview/components/StatisticsBand.tsx create mode 100644 frontend/src/features/overview/screens/OverviewPage.test.tsx create mode 100644 frontend/src/features/overview/screens/OverviewPage.tsx create mode 100644 frontend/src/features/overview/styles/overview.css create mode 100644 frontend/src/features/settings/public.ts create mode 100644 frontend/src/features/settings/queries.test.tsx delete mode 100644 frontend/src/features/settings/styles/index.css create mode 100644 frontend/src/features/settings/styles/settings.css create mode 100644 frontend/src/features/skills/api/cache-patches.ts create mode 100644 frontend/src/features/skills/api/invalidation.ts create mode 100644 frontend/src/features/skills/api/keys.ts create mode 100644 frontend/src/features/skills/components/board/BoardColumn.tsx create mode 100644 frontend/src/features/skills/components/board/BoardSkillCard.tsx create mode 100644 frontend/src/features/skills/components/board/BoardView.test.tsx create mode 100644 frontend/src/features/skills/components/board/BoardView.tsx create mode 100644 frontend/src/features/skills/components/cards/CardTitleRow.tsx create mode 100644 frontend/src/features/skills/components/cards/HarnessChipStack.tsx delete mode 100644 frontend/src/features/skills/components/cards/ManagedSkillCard.test.tsx delete mode 100644 frontend/src/features/skills/components/cards/ManagedSkillCard.tsx delete mode 100644 frontend/src/features/skills/components/cards/ManagedSkillCardBody.tsx delete mode 100644 frontend/src/features/skills/components/cards/ManagedSkillsList.tsx delete mode 100644 frontend/src/features/skills/components/cards/SkillCardFrame.test.tsx delete mode 100644 frontend/src/features/skills/components/cards/SkillCardFrame.tsx delete mode 100644 frontend/src/features/skills/components/cards/SkillCardHeader.tsx create mode 100644 frontend/src/features/skills/components/cards/SkillInUseCard.test.tsx create mode 100644 frontend/src/features/skills/components/cards/SkillInUseCard.tsx create mode 100644 frontend/src/features/skills/components/cards/SkillNeedsReviewCard.tsx delete mode 100644 frontend/src/features/skills/components/cards/SkillStatusIndicator.tsx create mode 100644 frontend/src/features/skills/components/cards/SkillsInUseList.tsx rename frontend/src/features/skills/components/cards/{UnmanagedSkillsList.tsx => SkillsNeedsReviewList.tsx} (75%) delete mode 100644 frontend/src/features/skills/components/cards/UnmanagedSkillCard.test.tsx delete mode 100644 frontend/src/features/skills/components/cards/UnmanagedSkillCard.tsx delete mode 100644 frontend/src/features/skills/components/cards/UnmanagedSkillCardBody.tsx delete mode 100644 frontend/src/features/skills/components/detail/SkillDetailActionBar.tsx delete mode 100644 frontend/src/features/skills/components/detail/SkillDetailDrawer.tsx create mode 100644 frontend/src/features/skills/components/detail/SkillDetailModal.tsx delete mode 100644 frontend/src/features/skills/components/detail/SkillDetailPanel.tsx create mode 100644 frontend/src/features/skills/components/detail/SkillDetailRemoveAction.test.tsx create mode 100644 frontend/src/features/skills/components/detail/SkillDetailRemoveAction.tsx create mode 100644 frontend/src/features/skills/components/detail/SkillDetailShell.tsx delete mode 100644 frontend/src/features/skills/components/detail/SkillDetailSkeleton.test.tsx delete mode 100644 frontend/src/features/skills/components/detail/SkillDetailStopManagingAction.test.tsx delete mode 100644 frontend/src/features/skills/components/detail/SkillDetailStopManagingAction.tsx create mode 100644 frontend/src/features/skills/components/dialogs/SkillActionConfirmDialog.tsx delete mode 100644 frontend/src/features/skills/components/dialogs/SkillDeleteDialog.tsx delete mode 100644 frontend/src/features/skills/components/dialogs/SkillStopManagingDialog.tsx delete mode 100644 frontend/src/features/skills/components/harness/BulkManageHelp.tsx delete mode 100644 frontend/src/features/skills/components/harness/HarnessMark.tsx delete mode 100644 frontend/src/features/skills/components/harness/HarnessStateChip.test.tsx delete mode 100644 frontend/src/features/skills/components/harness/HarnessStateChip.tsx delete mode 100644 frontend/src/features/skills/components/harness/ManagedSkillHarnessCluster.test.tsx delete mode 100644 frontend/src/features/skills/components/harness/ManagedSkillHarnessCluster.tsx create mode 100644 frontend/src/features/skills/components/matrix/MatrixRow.tsx create mode 100644 frontend/src/features/skills/components/matrix/MatrixView.test.tsx create mode 100644 frontend/src/features/skills/components/matrix/MatrixView.tsx create mode 100644 frontend/src/features/skills/components/matrix/SkillMatrixHarnessCell.tsx delete mode 100644 frontend/src/features/skills/components/pane/SkillsPaneChrome.test.tsx delete mode 100644 frontend/src/features/skills/components/pane/SkillsPaneChrome.tsx delete mode 100644 frontend/src/features/skills/components/pane/SkillsPaneScaffold.test.tsx delete mode 100644 frontend/src/features/skills/components/pane/SkillsPaneScaffold.tsx delete mode 100644 frontend/src/features/skills/components/pane/SkillsPaneTransition.tsx delete mode 100644 frontend/src/features/skills/components/pane/SkillsWorkspaceTabs.test.tsx delete mode 100644 frontend/src/features/skills/components/pane/SkillsWorkspaceTabs.tsx create mode 100644 frontend/src/features/skills/model/bucketForRow.test.ts create mode 100644 frontend/src/features/skills/model/bucketForRow.ts create mode 100644 frontend/src/features/skills/model/sortRows.test.ts create mode 100644 frontend/src/features/skills/model/sortRows.ts delete mode 100644 frontend/src/features/skills/model/status-mappings.ts create mode 100644 frontend/src/features/skills/model/use-skill-workspace-selection.ts create mode 100644 frontend/src/features/skills/model/use-skills-workspace-controller.test.tsx create mode 100644 frontend/src/features/skills/model/useInUseViewMode.test.tsx create mode 100644 frontend/src/features/skills/model/useInUseViewMode.ts create mode 100644 frontend/src/features/skills/public.ts delete mode 100644 frontend/src/features/skills/screens/ManagedSkillsPage.tsx create mode 100644 frontend/src/features/skills/screens/SkillsInUsePage.test.tsx create mode 100644 frontend/src/features/skills/screens/SkillsInUsePage.tsx create mode 100644 frontend/src/features/skills/screens/SkillsNeedsReviewPage.tsx delete mode 100644 frontend/src/features/skills/screens/UnmanagedSkillsPage.tsx create mode 100644 frontend/src/features/skills/styles/board.css delete mode 100644 frontend/src/features/skills/styles/cards.css delete mode 100644 frontend/src/features/skills/styles/harness.css delete mode 100644 frontend/src/features/skills/styles/index.css delete mode 100644 frontend/src/features/skills/styles/pane.css delete mode 100644 frontend/src/features/skills/styles/responsive.css delete mode 100644 frontend/src/features/skills/styles/workspace.css create mode 100644 frontend/src/lib/product-language.ts create mode 100644 frontend/src/lib/query/flattenPages.ts create mode 100644 frontend/src/lib/query/index.ts create mode 100644 frontend/src/lib/query/options.ts create mode 100644 frontend/src/lib/query/useInfiniteScrollSentinel.ts create mode 100644 frontend/src/lib/usePersistentViewMode.ts create mode 100644 frontend/src/styles/README.md delete mode 100644 frontend/src/styles/app.css create mode 100644 frontend/src/styles/components/action-pill.css create mode 100644 frontend/src/styles/components/bulk-bar.css create mode 100644 frontend/src/styles/components/buttons.css create mode 100644 frontend/src/styles/components/cards.css create mode 100644 frontend/src/styles/components/chips.css create mode 100644 frontend/src/styles/components/detail-sheet.css create mode 100644 frontend/src/styles/components/empty-panel.css create mode 100644 frontend/src/styles/components/error-banner.css create mode 100644 frontend/src/styles/components/filter.css create mode 100644 frontend/src/styles/components/harness.css create mode 100644 frontend/src/styles/components/needs-review-row.css create mode 100644 frontend/src/styles/components/note.css create mode 100644 frontend/src/styles/components/page.css create mode 100644 frontend/src/styles/components/popup.css create mode 100644 frontend/src/styles/components/sidebar.css create mode 100644 frontend/src/styles/components/spinner.css create mode 100644 frontend/src/styles/components/toast.css create mode 100644 frontend/src/styles/components/view-mode-toggle.css delete mode 100644 frontend/src/styles/drawers.css create mode 100644 frontend/src/styles/index.css create mode 100644 frontend/src/styles/tokens.css delete mode 100644 frontend/src/styles/ui.css create mode 100644 frontend/src/styles/utilities.css delete mode 100644 frontend/src/styles/variables.css create mode 100644 frontend/src/test/fetch.ts create mode 100644 frontend/src/test/fixtures/marketplace.ts create mode 100644 frontend/src/test/fixtures/mcp.ts create mode 100644 frontend/src/test/fixtures/skills.ts create mode 100644 frontend/src/test/render.tsx delete mode 100644 playwright.config.ts create mode 100644 skill_manager/api/routers/marketplace_clis.py create mode 100644 skill_manager/api/routers/marketplace_mcp.py create mode 100644 skill_manager/api/routers/marketplace_skills.py create mode 100644 skill_manager/api/routers/mcp.py delete mode 100644 skill_manager/api/schemas.py create mode 100644 skill_manager/api/schemas/__init__.py create mode 100644 skill_manager/api/schemas/cli_marketplace.py create mode 100644 skill_manager/api/schemas/common.py create mode 100644 skill_manager/api/schemas/mcp.py create mode 100644 skill_manager/api/schemas/skills.py create mode 100644 skill_manager/application/cli_marketplace/__init__.py create mode 100644 skill_manager/application/cli_marketplace/catalog.py create mode 100644 skill_manager/application/cli_marketplace/client.py create mode 100644 skill_manager/application/invalidation.py rename skill_manager/application/{marketplace/cache.py => marketplace_cache.py} (100%) create mode 100644 skill_manager/application/marketplace_http.py create mode 100644 skill_manager/application/mcp/__init__.py create mode 100644 skill_manager/application/mcp/adapters.py create mode 100644 skill_manager/application/mcp/contracts.py create mode 100644 skill_manager/application/mcp/enrichment.py create mode 100644 skill_manager/application/mcp/env.py create mode 100644 skill_manager/application/mcp/identity.py create mode 100644 skill_manager/application/mcp/installers.py create mode 100644 skill_manager/application/mcp/inventory.py create mode 100644 skill_manager/application/mcp/mappers.py create mode 100644 skill_manager/application/mcp/marketplace/__init__.py create mode 100644 skill_manager/application/mcp/marketplace/catalog.py create mode 100644 skill_manager/application/mcp/marketplace/client.py create mode 100644 skill_manager/application/mcp/mutations.py create mode 100644 skill_manager/application/mcp/names.py create mode 100644 skill_manager/application/mcp/planner.py create mode 100644 skill_manager/application/mcp/query.py create mode 100644 skill_manager/application/mcp/read_models.py create mode 100644 skill_manager/application/mcp/stdio.py create mode 100644 skill_manager/application/mcp/store.py delete mode 100644 skill_manager/application/read_model_service.py create mode 100644 skill_manager/application/skills/adapters.py create mode 100644 skill_manager/application/skills/contracts.py rename skill_manager/application/{ => skills}/document_utils.py (100%) rename skill_manager/{domain => application/skills}/health.py (100%) rename skill_manager/{domain => application/skills}/identity.py (86%) rename skill_manager/{store => application/skills}/manifest.py (75%) rename skill_manager/application/{ => skills}/marketplace/__init__.py (100%) rename skill_manager/application/{ => skills}/marketplace/catalog.py (98%) rename skill_manager/application/{ => skills}/marketplace/client.py (86%) rename skill_manager/application/{ => skills}/marketplace/documents.py (94%) rename skill_manager/application/{ => skills}/marketplace/installs.py (93%) rename skill_manager/application/{ => skills}/marketplace/models.py (100%) rename skill_manager/application/{ => skills}/marketplace/queries.py (95%) rename skill_manager/application/{ => skills}/marketplace/repo_snapshots.py (98%) rename skill_manager/application/{ => skills}/marketplace/resolver.py (100%) rename skill_manager/application/{ => skills}/marketplace/skillssh.py (100%) rename skill_manager/{domain => application/skills}/observations.py (74%) rename skill_manager/{domain => application/skills}/package.py (100%) create mode 100644 skill_manager/application/skills/read_models.py rename skill_manager/application/{source_fetch_service.py => skills/source_fetch.py} (100%) rename skill_manager/{store/shared_store.py => application/skills/store.py} (72%) rename skill_manager/{store/_atomic.py => atomic_files.py} (100%) delete mode 100644 skill_manager/domain/__init__.py delete mode 100644 skill_manager/harness/drivers.py create mode 100644 skill_manager/harness/kernel.py delete mode 100644 skill_manager/harness/managers.py delete mode 100644 skill_manager/harness/registry.py rename skill_manager/{store/harness_support.py => harness/support_store.py} (96%) delete mode 100644 skill_manager/store/__init__.py create mode 100644 tests/README.md create mode 100644 tests/integration/test_cli_marketplace_api.py create mode 100644 tests/integration/test_mcp_routes.py rename tests/integration/{test_marketplace_api.py => test_skills_marketplace_api.py} (95%) rename tests/integration/{test_mutations.py => test_skills_mutations.py} (59%) delete mode 100644 tests/unit/test_adapters.py rename tests/unit/{test_application_service.py => test_backend_container.py} (84%) create mode 100644 tests/unit/test_cli_marketplace.py create mode 100644 tests/unit/test_mcp_adapters.py create mode 100644 tests/unit/test_mcp_enrichment.py create mode 100644 tests/unit/test_mcp_env.py create mode 100644 tests/unit/test_mcp_identity.py create mode 100644 tests/unit/test_mcp_installers.py create mode 100644 tests/unit/test_mcp_mappers.py create mode 100644 tests/unit/test_mcp_stdio.py create mode 100644 tests/unit/test_mcp_store.py rename tests/unit/{test_manifest.py => test_skill_manifest.py} (77%) rename tests/unit/{test_skills.py => test_skill_package.py} (96%) rename tests/unit/{test_store.py => test_skill_store.py} (84%) rename tests/unit/{test_shared_store_concurrent.py => test_skill_store_concurrent.py} (86%) create mode 100644 tests/unit/test_skills_adapters.py rename tests/unit/{test_marketplace_service.py => test_skills_marketplace_catalog.py} (96%) create mode 100644 tests/unit/test_smithery_catalog.py delete mode 100644 tests/unit/test_symlink_harness_manager.py delete mode 100644 tests/unit/test_test_support_structure.py diff --git a/.gitignore b/.gitignore index 53802ba..b595913 100644 --- a/.gitignore +++ b/.gitignore @@ -6,10 +6,9 @@ node_modules/ frontend/dist/ build/ dist/ +*.egg-info/ packaging/npm/vendor/ .artifacts/runtime/ -playwright-report/ -test-results/ .artifacts/ task_plan.md findings.md diff --git a/README.md b/README.md index 08f5e09..3fd50e7 100644 --- a/README.md +++ b/README.md @@ -1,61 +1,89 @@ # skill-manager

- skill-manager hero + Skill Manager

+

+ A local-first control center for AI extensions.
+ Use, review, and discover Skills, MCP servers, and CLI tools across agent harnesses. +

License: MIT - Release v0.1.0 + Latest release npm version Install with Homebrew macOS - Local-first + Local-first

-Manage AI skills across Codex, Claude, Cursor, OpenCode, and OpenClaw from one local app. +![skill-market-overview](./assets/skill-manager-skill-unification.svg) -If you use more than one agent harness, skills end up scattered across different folders, install flows, and local states. `skill-manager` gives you one place to see what is installed, bring unmanaged skills under control, enable or disable skills per harness, and install new ones safely without turning your local setup into guesswork. +## Why it exists -## Why skill-manager exists +AI extensions are scattered across harness-specific folders, MCP config files, and marketplace sources. Skill Manager gives those pieces one local control surface: -- Skills get duplicated across multiple harness folders. -- Local skill copies drift out of sync and become hard to reason about. -- It is easy to lose track of what is managed, unmanaged, built in, or custom. -- Editing local skill directories by hand is risky when you are not sure which tool depends on which copy. +| Product idea | What it means | +|---|---| +| **In use** | Skill Manager controls the item and can enable or disable it across harnesses. | +| **Needs review** | Skill Manager found local state, config differences, or inventory issues that need a decision. | +| **Discover** | Browse marketplaces and preview external tools. | ## What you can do -- Discover supported harnesses on your machine automatically. -- See managed and unmanaged skills in one inventory. -- Bring local unmanaged skills under management without losing visibility. -- Enable or disable managed skills per harness. -- Install new skills from the marketplace and open them directly in `Skills`. +- See what is in use, what needs review, and where extensions are active. +- Adopt local Skills into one shared inventory, then enable or disable them per harness. +- Install or adopt MCP server configs, resolve differences, and enable them where supported. +- Discover Skills, MCP servers, and preview-only CLI tools from marketplace sources. ## Product tour -

- skill-manager managed skills view -

+### Overview -The `Skills` workspace gives you one place to review managed and unmanaged skills, inspect local state, and control harness access. +Start with the whole extension portfolio: what is in use, what needs review, what can be discovered, and where extensions are active. -

- skill-manager marketplace view -

+![skill-market-overview](./assets/skill-manager-overview.png) -The `Marketplace` view lets you browse, preview, and install new skills without leaving the app. +### Skills + +Use Skills as shared local packages instead of maintaining separate copies per harness. Typical flow: -1. Open `Skills` to see what is already installed across your supported harnesses. -2. Bring an unmanaged skill under management so it becomes part of one shared local inventory. -3. Enable that managed skill only for the harnesses you want. +1. Review a Skill found in a harness or install one from the marketplace. +2. Adopt it into the Skill Manager inventory. +3. Enable it only where it should be available. +4. Update, remove, or delete it from one place. + +![skill-market-skill-matrxi](./assets/skill-manager-skill-matrix.png) + +### MCP servers + +Use MCP servers as one normalized config that can be written into each harness shape. + +Typical flow: + +1. Review an MCP server found in a harness or install one from the marketplace. +2. Adopt it into the Skill Manager inventory. +3. Enable it where the server should be available. +4. Resolve config differences, disable harness bindings, or uninstall it from one place. + +![skill-market-skill-matrxi](./assets/skill-manager-mcp-matrix.png) + +### Marketplace + +Marketplace is the discovery surface: + +- **Skills Marketplace**: browse and install Skills. +- **MCP Marketplace**: browse and install MCP servers. +- **CLI Marketplace**: preview external CLI tools from CLIs.dev. This is display-only; Skill Manager does not install or manage CLIs. + +![skill-market-skill-matrxi](./assets/skill-manager-marketplace.png) ## Install -### Homebrew (Recommended) +### Homebrew (recommended) ```bash brew tap mode-io/tap @@ -63,8 +91,6 @@ brew install skill-manager skill-manager start ``` -Use one global install channel at a time. If you previously installed `@mode-io/skill-manager` with npm, uninstall it before switching to Homebrew. - ### npm ```bash @@ -72,8 +98,6 @@ npm install -g @mode-io/skill-manager skill-manager start ``` -Global npm ownership is exclusive. If `skill-manager` is already installed with Homebrew, run `brew uninstall skill-manager` first or keep using the Homebrew install. - ## Supported harnesses @@ -106,28 +130,78 @@ Global npm ownership is exclusive. If `skill-manager` is already installed with
-## Safety +| Harness | Skills | MCP servers | +|---|---:|---:| +| Codex CLI | Yes | Yes | +| Claude Code | Yes | Yes | +| Cursor | Yes | Yes | +| OpenCode | Yes | Yes | +| OpenClaw | Yes | Not Yet | + +## Local-first safety -`skill-manager` is a local-first desktop-style tool. It reads from, and can mutate, local harness skill directories on your machine. +Skill Manager is a local configuration-management tool. It runs on your machine and reads or writes local harness extension state. -Actions that change local state include: +Actions that can change local state include: -- `Bring Under Management` -- enable or disable for managed harness links -- `Update From Source` -- `Stop Managing` -- `Delete Skill` -- marketplace installs into the managed local inventory +- adopting a local skill folder +- enabling or disabling a skill for a harness +- updating a source-backed skill +- removing or deleting a skill +- installing an MCP server into a source harness +- adopting an existing MCP config +- enabling, disabling, resolving, or uninstalling an MCP server +- changing harness support settings -Use it like any other local configuration-management tool: point it at the correct skill roots, understand what is managed versus unmanaged, and review destructive actions before confirming them. +App-owned files live under `~/Library/Application Support/skill-manager` on macOS. ## How it works -Before you bring a skill under management, each harness just points at its own local copy. After you bring that skill under management, `skill-manager` stores one managed copy in its shared local inventory and rewires each supported harness to that shared copy with symlinks. That gives you one canonical package to update, disable, or delete while still controlling harness access individually. +### Skills -

- Before and after skill management flow -

+Before adoption, each harness points at its own local skill folder. After adoption, Skill Manager keeps one canonical package in its shared local store and exposes it to selected harnesses with local links. Disabling a harness removes that harness binding without deleting the package. + +![skill-market-overview](./assets/skill-manager-skill-unification.svg) + +### MCP servers + +MCP servers are stored as normalized Skill Manager records, then translated into the config shape each harness expects: + +- Codex uses TOML under `mcp_servers`. +- Claude Code and Cursor use `mcpServers` JSON entries. +- OpenCode uses typed local/remote MCP entries. +- OpenClaw MCP writes are not yet supported. + +When Skill Manager finds different configs for the same MCP server, it asks you to resolve the source of truth first. + +![skill-market-overview](./assets/skill-manager-mcp-translation.svg) + +### CLIs + +CLI marketplace entries are preview-only. + +## Configuration + +On macOS, app-owned files live under `~/Library/Application Support/skill-manager`. + +Useful paths: + +- shared skills store: `~/Library/Application Support/skill-manager/shared` +- MCP manifest: `~/Library/Application Support/skill-manager/mcp/manifest.json` +- marketplace cache: `~/Library/Application Support/skill-manager/marketplace` +- app settings: `~/Library/Application Support/skill-manager/settings.json` + +Most users do not need to change these locations. If you manage skills in a custom environment, you can override individual skill roots with environment variables. + +| Harness | Env var | Default Skill Manager skill root | +|---|---|---| +| Codex | `SKILL_MANAGER_CODEX_ROOT` | `~/.agents/skills` | +| Claude | `SKILL_MANAGER_CLAUDE_ROOT` | `~/.claude/skills` | +| Cursor | `SKILL_MANAGER_CURSOR_ROOT` | `~/.cursor/skills` | +| OpenCode | `SKILL_MANAGER_OPENCODE_ROOT` | `~/.config/opencode/skills` | +| OpenClaw | `n/a` | `~/.openclaw/skills` | + +MCP config locations are harness-owned. Skill Manager writes only to verified config paths and skips unsupported harness writes. ## From source @@ -137,7 +211,7 @@ Before you bring a skill under management, each harness just points at its own l - Node.js 18+ - npm -`skill-manager` supports Python 3.11+. CI validates backend compatibility on Python 3.11 through 3.14, while packaging and release builds stay pinned to Python 3.11 for determinism. GitHub-hosted workflows track the latest stable major versions of the GitHub-maintained actions, while the project build toolchain remains pinned separately inside each workflow. +`skill-manager` supports Python 3.11+. CI validates backend compatibility on Python 3.11 through 3.14, while packaging and release builds stay pinned to Python 3.11 for determinism. ### Contributor setup @@ -157,20 +231,7 @@ Stop the managed local instance: scripts/stop-dev.sh ``` -The traditional split dev flow is still available when you want Vite hot reload: - -```bash -npm run dev -npm run dev:backend -``` - -If you stop the local dev app and want to bring it back: - -```bash -scripts/start-dev.sh -``` - -If you are using the split dev flow instead, restart both sides: +The split dev flow is available when you want Vite hot reload: ```bash npm run dev @@ -183,36 +244,7 @@ Default local URLs: - Backend: `http://127.0.0.1:8000` - Health: `http://127.0.0.1:8000/api/health` -## Configuration - -`skill-manager` stores its own app data in standard per-user locations. - -On macOS, app-owned files live under `~/Library/Application Support/skill-manager`. - -Useful paths: - -- shared managed store: `~/Library/Application Support/skill-manager/shared` -- marketplace cache: `~/Library/Application Support/skill-manager/marketplace` -- app settings: `~/Library/Application Support/skill-manager/settings.json` - -Most users do not need to change these locations. If you manage skills in a custom environment, you can override individual harness roots with environment variables. - -| Harness | Env var | Default managed root | -| --- | --- | --- | -| Codex | `SKILL_MANAGER_CODEX_ROOT` | `~/.agents/skills` | -| Claude | `SKILL_MANAGER_CLAUDE_ROOT` | `~/.claude/skills` | -| Cursor | `SKILL_MANAGER_CURSOR_ROOT` | `~/.cursor/skills` | -| OpenCode | `SKILL_MANAGER_OPENCODE_ROOT` | `~/.config/opencode/skills` | -| OpenClaw | `n/a` | `~/.openclaw/skills` | - -## Troubleshooting - -- If Marketplace requests fail with `Marketplace is temporarily unavailable`, verify your network connection and try reinstalling `skill-manager` if the problem persists. -- If `npm install -g @mode-io/skill-manager` reports that Homebrew already owns `skill-manager`, uninstall the Homebrew formula first. The inverse also applies: uninstall the npm package before switching back to Homebrew. - -## Development - -Useful local commands: +Validation: ```bash scripts/install-dev.sh @@ -220,28 +252,33 @@ npm run typecheck bash scripts/test_backend.sh npm test npm run build -./.venv/bin/python -m skill_manager serve --host 127.0.0.1 --port 8000 --no-open-browser -scripts/ci_validate.sh ``` -Test coverage currently includes: +## Troubleshooting -- frontend unit tests -- backend unit and integration tests -- Playwright smoke coverage +- If Marketplace requests fail with `Marketplace is temporarily unavailable`, verify your network connection and try again. +- If `npm install -g @mode-io/skill-manager` reports that Homebrew already owns `skill-manager`, uninstall the Homebrew formula first. The inverse also applies: uninstall the npm package before switching back to Homebrew. +- If an MCP harness is shown as unavailable, Skill Manager has detected that the local client is missing or does not support the required config surface. -## Community +## More to come -- See [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines. -- See [SECURITY.md](SECURITY.md) to report vulnerabilities privately. +### Extension families + +- [ ] Hook support +- [ ] Slash command support +- [ ] Plugin support -## Limitations +### Harness expansion -- This is a local-first app, not a hosted service. -- Source-backed operations are currently centered on GitHub-backed skills. -- Marketplace content is sourced from `skills.sh`. -- Public distribution is currently macOS-only. +- [ ] GitHub Copilot +- [ ] Gemini CLI +- [ ] Cline +- [ ] Windsurf +- [ ] Qwen Code +- [ ] Kimi Code +- [ ] Qoder -## Project status +## Community -This repository is in active development as the public `skill-manager` project, with npm and Homebrew distribution backed by native release artifacts. +- See [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines. +- See [SECURITY.md](SECURITY.md) to report vulnerabilities privately. diff --git a/assets/Skill-Manager-Hero-shadow.svg b/assets/Skill-Manager-Hero-shadow.svg deleted file mode 100644 index 03188d0..0000000 --- a/assets/Skill-Manager-Hero-shadow.svg +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/Skill-Manager-Marketplace.png b/assets/Skill-Manager-Marketplace.png deleted file mode 100644 index 666d962c67a33712bb3c0cd80db60c761f0965e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 993398 zcmeEubyQVb*EcDpfZ_p>I&>UD>E;NEG)gxT2c)~Z6{Jg~1P)zFHz-Pnbax!OJHL(h z-skFlpXdF?_{RADdl=)Kz0Y22uf1ZfIe+sv=jQDTx#xGVA7UdRA>EObc&Y##B#@9W zUSZw>u6&|=9*cy80x?livsaUq;Wx0dVAV6U(uc7+TUZ0-NJxSr&enPcW-xoOKFrv} zQiy81wvh^KVkktV$|d_q)>;hq+C;+D7N+Pbr)1!2X254iB_fP1=*$l^U;(q&13O!o zTiWqE3sL=SmmfI4xy(id{#nJ|Oo&QN_61nX$`%IZW_`r^h)Nh6ENE+J#INvF{Lh<# zUqV!`?d`4k+1Q+%oLHSWSgmZ0*&g%p@v%K(XJcn)0cx<=xmeokIkQ;WQQtK2M;lLJ zb_TX4*7hb=mf)K<_4KVA?1iYPfO7Dkjl-Nx{%+mU?$6-^6Tx;Tl~8D_5b)Wia2X$N#ch>C;r(W9TO{VZ0tgV~B%SpcO#pA-#jVL-Ll zR`!2a_<6tjFZVy@<>mcZeDg4Vbp@E6mAS*s=!B>qb8@mh{<}==e<}OBNZHZ^cr-f| z+s&l2{W!5+FTBRvxnDU?L`dP+yvui*!)07LoJ*tM>#G(!{)5;Pqw zN7RAtf`5&MG|d#zv4;$nqO=l*=;nPhqa2R>f<#&La$W{xsXT8FYT#WVAZiXcxr=1z zAgmjQkmRmLldSO9 zd#4H1YO$RkBT>KEny`BHT&ss&TewsQ&+!%LDfUJMd}FW+ba0E|pq6<%MCl2U41eRV zMuK#o2nXXb_I*Mo=3CX%3~m%YqT$=q#@=#Kh?c#;lLwR{;M@9QZ#ZbG@6L${KO>$8 zXW|u5Xi)YbzCS6zunCnQe;}}EC&Nu`w>noh@6ARo6L8u zBq;2dyMm?t-(%ZAeRwHR^zXc(UgZ0%CnlU5pg#FVk0OCeJRt=A8+#tZ|#K ze&B@@qCLp2H4OIF<*wL?f~Shsn>>|KYGkiRp6_vn>7%UYgB+gj!FT4g{L{Um%3HkZ zG;hO|cdJr3XGFxg2rHwP#qXRhT%}LGqP4nZlT-(GbT)q?td+#%QTOx%1t>e1ptx%} zNIZA`%dwAj6FRat`u$Ite#BssHv+DSu5+<@^q4z7w+&J5T0hVad`^RVBr*G#@V@U1 zU zf%_-(^3F0VG=g9)TKl_}azsS!;?MYq?VntJOgn>nX;VyMo7T)?8};R0j<+Y&ODnhR7c7W$?ay(eWUd;=9p-#2tYct!p5R-rs0D~ zSG(t~;=R3>d1s=|xFnlzJ%Y%ZAr9o-6VK$~W=0S>? zp%_}Lf5PCnv1)*<$c`eDqw1TmC=0_gX- z4pig@zLlNT0gRR=($OaOBp;F;6i+a|zpn&7M${M12Ofl42=+%fU8o^XuozGwU-(~O zRd{cHytRRT{)FH)dg~XqS-~pIBHsz?Lwi5ON4&aQ6!>VAl$`!PE7WvvX!XN+sm;G( zU_JdB`GAI4QjGmBRyuTonzG7R3QYe1>F?7Y|K+qMmDVmyb`Jid=5uH&m-z)QX zA6TZq+<5LM8GGN&e)@`Zzq_aUL_l=kr$H^PQix%FBej?+J+;F@2o7s-| z1&t?hWBBo0Di)_N<(HIM$=SP6mVulu&!(eaZRgJxN;l9k>uY11=4>?AI)LIOe}0gG-ei zLAyw0%jd##ig|kP6zdfAS+u_7F8ry2e+*v?D26PCumfF+X9-m~#8mb$tL0^BZb&X@ z&~=S*jcg6V#l^+Jg;)NX>+?8OId-{+sqx@ee!b#|N~IzqFFOx17@xnbAd=;&cnJy> zFHJw~Q+Rz^wp6Aujx{bcu6ZXgFyofISkC7c8B!T97ou8l_ya5@5kIo~a8{QNP!Dhp zbYz3GV(C<)i>slfQu`6h4&9zCfx~Ep5`}_=Fpb*s9#f$qIulJ33{#x)kn&2i)E}O0 zO%IlDvx+sTeI5P6`+a4Ya!qZ0$G*g&!~ST^e&t}*biHPUZl!0quwSTP;`_JvDl+68 z@zuW7sVGUq?b^Eb?(iYxfhND>^{8fGPFk|wyE(1q&A`pTOYs)*FX9Rrcf{%6 zxrQdRc(#nSn1zNvIDY>~#$DzcotbRd2SJ0?65awW74&tQ{NBMIoZpo6YP!ps5Bw6! z)$7zF)&0h_?eh301e@IpT@qbV1Kxf&3~?cJAgp9&j5F_K?mUdkW|>h_*QC|(FdH&F z9MtIjV66RG+t{Nu&}hMoV<2mMIhds{&LYvEw*4rb%oJf74^xFXeIYM*DkYk*D%mD| z{s8eh9c$94;BIC}eMlRuwDXQ?;JV?6mG*>|NOg5>`{de` z>mqm4WVh58kc3at>cU4&M%Nwv&xYH$>Hdy(T*~% zD;CS$$J5JGOU-+d`(tYZOJ-}G$Aw28v&LKW2NSEu{sx`x%NuibJ5GD?rxXWX&4-IU z2y&bz6kk*+RDP6l)CE)s>Na`;I_%aE`XPGlt=>Drgrb;OIO-tVWaDoHJEkrkX|L3Hv~NXvg`OpQ(oF z%%;o#z02cl1LDsE22QOFVf*2lcbx>L>2&VS#6jgHWOHPlqaQ?6@qdPxxc6Vc_uFr^ z&o3_DSCA6z=!v;v^idp^U6pf?Ws$7s9&%mV$TiL;mg!7(bmsTq_d4_86xGll-zp2g zknrSc6iJS6cw8^v1S%jBBs#+y!FGE(oj#OKPdrVW&yix}YFyO5(Z1Ks)Vl_<`yM+V zKSnvGSu(Tuba|tLxJ|apqKz7nxkMKATH2O|-uOZ9d!Yas{Q z=C|6dJKyKquVjG|!r5MHzHa#BtaqF~`;03jH^h$cT4PbEtY)Q{_N}x=aA+_QNaTX< zB(dgR=sorJL#z6RsXel*fMBA6m)_$}`QbHF!Lx#%$yFSk`mbLF=_lUm+iO z)XdeY=L}#fOG8Z8d4ZvUB=MH+rIJ;v{YH)5hnnvyVk}%5mFo^$DrPN0hg61^Cf-iq zRESJRep)!d+n_LYdbq(nacUB8sH!R})7`FdJU%`ZSgSgi<`7(yB9!aKx^-uCLTmd) zW1-L3iwe9A#SOP3gYoc@qo7SIfhOS>*U?MzBzWw&aokj)b`Q@#lzgc95S=K17eH=m zwrk3FQo7Jvt0AkIkGoE;W8?1%KWS^~`u;77+=_Gd=_=?ROOJK>h{V_TdzG)V#W#+hWt?r-_qbio$*yW% zR&s5RZp$^wyI(Ih7lgyZL8;~<mn zpLOJbmKlN{)qBd?K=`5QU5x}cm8z~ad9={lxn!z538b;!35(kqf9P85o)?E{{jy$6vqnLvT=u8 z*EI+U1rzN3=hqd%>~ZXMf!Lmm7MPOHobw?v8a@>1KYsbVxF;bFWr_(5si2BbLr#H8 z6eQ^$88}~j?UKZ|rf=Fr$OXXuZXG!DMxb0Y>`gLDZhk?Jf(It{Q2q7j->UtqPxzR~ zC<;C=5J{LP+TQf|7jj$eSj6P=Wut`1#n{&8F0s*ml)tn9y+=5EtbC9B!rwj_hlWzh z-0xp4{Zi}KYn7Bx=o-B~REkK~X*`kbJkmVip6N?qr0wtBH&hkuQ=bKc=K zOzA?$8WBOt{V?>`rvB#$pbS{}5!ji1>4lgy8bJ5&$s)qZh{?Se>~PU0f$mqs^eBIs zeN6D|XQakrK{{y-0c#(c!riRO|JmkmPeg-ydn+OR;G;#kBAUfQyH0eo77uJiW#)d? zREsj{IeobJ`qvgB?9op=V(nXnp9mpPB=HGIex1AD8vauvp!4XM613A{LU%DKf#t+1Yk%NfV|JmC1GU*K2y*hvL?e_>1(Wjv39)vlM(_v^F&&HVdEAtC3!c*rsy z3{6LOMxpGpzZ#94+YMqzK${AYDpNHH34a$4avWg#4NBnUs6-O|53O87{#~E{z6M1? z!<0ZrN>-$r^#Xdo(^!pRZ0Ic5q_2op2LXgrTRtrC@7hQxlB(V_s*+9{1cP?05onJ; z-~DZE{>=brbb#rf-y9|I!N2!Yc$ohyJbzEp(EumPjnI8Euq4PYJ;_J{BO*6{!C z44QL;dCKo*)MGl+G(}^O+n}2o1TwzZOCmy^J6fRn9ZuF!H*G__0JRzbfyzFvLs z*P8za>Hk6ng)*s$`#OSWm620;cbKw^@mj1;HQp~!0Mj}k3k%iDbs*pUWo5u`0jXkoi|a00+l?Oe zg0bQ^k^46t@Og@jrVPz9TxIW{eQPWWeKkKi$EqD19317C?3TDRAmXALMlNhP{T%)# zg1gwE(n91oWYubHwZ@%RsTmcXcKEuK!aB3=R5%=2MbXQ%7T1%PPC4x(+LpbpN(zTPRt7D+ zErct0RFz(t^jGm{sZ^R?*TCgd`}9sv?TnWe+YL(WCR9$>!)NC2@UI?Csn*9$>Sn|l zc1B85QByCS9h%whoje|^+qF_}JR%xvvj~N{`rd_T*ePa>Z>oHOgcj2z}E?njIN;pop~v<+T-&X~MQPRN&d z<7uh4iVJtiXxx~oou~_!A!f{=b2ps03U@GD9KfR+UoPYUL1yS>H7mGEg#;R@R9OX7 zO#3JUaJA1h5?jy4i`VmQufDnj9a;z+MciZZE;s!i&hECHjk{iu;2RJkg&;?LmPv02 z?Zve{+8{QI#iq`TcxmNjo*2Ft))XNRovz2b;d>ky7!=K=K?4UBxYOWYy$m>czPGd5Lg zJ!b5hFxz7Vim@t~&u!8sEZoZ<1z>mEuf$a~tiRG&t?g*A z%>3dUFM-|V-M(pRS9WiNWMJLt%q8FDf)i}&Ln>L%&_J>{2gj@3at*p1wfurb7%Oz69(eXtHbYsHmvA*g3XL6ZQwI z5#YX5`dwKo+)e7BBvF+!j!*ir=LS>C7^g;g=UPEj3HTD&D1xc6_r(*0e^sL1B4{Tb zOL$B8LKsBP-{6vVi~prB|2=O4E<^ju4$jQ)zfJN(R*qC)?a{+sbhy0)gU8wJ3XcyL z#fA4FIts%D8mu7=mmL)sT?qrMAbrz8S2cUCw1w8Nwog}6<`d(Mxr)~|ij>l-0mNKg zkKe#3BF;`OcT22}S-Z7f>68A_)4|ZaDCZJiGhX=8b@hBN3bUu%O2a6vLt)~ zBYUJ7melXG^V%WFAd1pJye~H4%-#f|nz2wMLD1$MBQ}G$m^jYIT6fbz&OHkkV!`8a zRzTmiS5CWIVpY8Ue$85?=JvI=o$O{&b%5i@q&m+?5;xwV_h7<6_Tmp8kG(7SwWvKK zwPO2^zUZYWY^k*$y6(uihHLs1j|Az!&QAl*Y?s>Uqg%rxEY==6rX-;%TzjbSs;KYL zfDiRMRWp6Db;(tp6iw#k4dCG*5~OT<5EZE-n=1l_?+lfYpH4M~Pm@^XAHX4fQ`!wt zg8S|qE(R~;`K*ZGWnp^g@VH!Ti_Un~3c}jDH4m#v>)XNV$hjiQL#4gO?&e4BksR@- z1y#>IR1CZ0n$gb0aaUQ4hfW?*;%}h{W`MS+Wv+i+^CsOJrYqk5O>z(p^|xE^mVXtS z-|Y4uSOLEVMUN<=KaGK`zb`GTH_K!85j!9nq}(bTg}Uo>nOk+5Dmh5Lxa8lt)W3l1 zyFcoXEtMs{dUDQMuRNO<<95$X; zYEj8?jue-6SNg6MZroID#Y8dpc2Ky7YCl{Ovhe)Q%O`mjtm}s;WKa8iqN=h!;0?vo zr?@;($qAMkD?vOOiWT;Bs=GKu)Kob}LvO(?v$sE^!%c@Qz~MaZI_b)fHm0yL?g^%( zXxTmF97I*&A7U^6tevAGZXu&176OWCNQc!A_nH-V{-ip%}S$KoABHf zuA!w5rFas_FZ5c>`D_!;VZ&vNxD#}o;8;O*|Jx)S>gh^IFN5kdDz}Y%6{r_-oe!af zu6r@qN-6v{TGOP%&x^Eb7Og#nGW_1wJRB}xc^&Tn41A8q&T!Yanst3a;}tr*Z0I0- z+Gdn90~>xw&a0sCER&nEm}1ZvM1V5KihrzIZoMsZ`8y7&qrZWt>Ve-QtH59NAFQJN zUyMc?4Zb6CZgFE0Iyb91B` zM`B7hqeAdp6sOwr@`L*$mn8GCvM-+TyfgIW-Z2eC{D%*~sj|sbW}a`cj_L=qO7F9( zXc@_R=<0YL9y+5c98$QoD6MInU83}*rEXmYcIHOY8(OEzu?`<0GoJSbQ?8ZHcdbTO zY!W<-sL6P0Vlq-)nTyM9`3;Gf-LwQQ9j}vI8)Dl0cw%>B2L9$v%vE!10@5IWv1Gq9 z?(X>9)diHGzzs?Wj;~YnyxvqzIQv3#p0!Wz^XdN1&Jm6@Du2Llo5ooT;OeGd-1alD zru6@(vHt~V{-KV2CO{GiOj7;ET?N=S@aX%Ij8@0il-1XVW_?VFwoiIeg;@Gj2~uC~ z!uM}B;gclNYTHgRJQ1V32Ofu~oQXljs0#AJ6Hm#NKvpuaxbT_sWYtDS^_q8Ot3R|^ zwRqVsYs&3%zb$rp#}wV>G909N`{vD~*iZJ)n9n6K_yfaI%n4y8AMlJZB>9McyeMD8p& z2rovq3UhkEx}I-)RJ6@a4$Gu{b$b8eeG0{oQokf2J1JjA@S$sJT2v#Ha^X4+`{eOY zC0O|%l^}jjJdhE8ku=qUYb9yHp#v$i+lUyl* zG^Q02{509CoQw&6^hGt`O04EViXGP&5j`o9S3){=59(S;gxSj1xFcp%u9-Q6U3&GB zQ$FKKcmV2=&v7xLliT&n?!t4}_Es|Mx;;9B_8pVqGCae>y!TRq!{W!v#f-gNCMHJo zVPvcV6&4jLV>;)!Dxg%`#TbIM6J5`vT=R*N$34(!i|4gGv3W|-bk}Aq6WrI-fKB2w zJHsP`sF%Rvu`+@>0BF5g;pk41;~iu9ee+;S7+h|!Ze%jO#w8iYoFH?(LZ)8KwByWA zTkfrt%`LmM8yG74=~HTrvDA$Eu$CDAMvSPkW(XTNmQR|S_~X{$O1>%pK!lWZazQPOs#^R+vs^Mdv#@(TszP< z1c_gw;6bj>VwniW-Ae#x*T`*VlUDCZY(KI3@GPVu84|MG`&qZ!4ehH!Q}YBH^PQFZ zziG(XI{@l-5qtbC{L3@^c~pu0Uwy!vt+|r|Ra)bW;`V5vxzz1EPBA*6XwPG|-n~#) z)|-uz7f2G2)?m~ICoXozJz>w3T^g{nu|~sxbC=g{H;A$d z0@n{0!>@p*xFb>Q?ENS8 z0%1@4<0h)%TZ&Hu}PlhDQ_hG~iePE6>%w?K{;4o-xO( z{VJBzHI&5chEZRv} zd%N8xuxoi3sTA5ieP$w!W0Klv)`NA##mA33#{KCtY#dp;lK>FiQd0li5*=PJoy62hQU1!Tsgwn0oh-+n{6J()iBqC`K}{q!_jVXdcj;f_T8_~&e_ ztZmda^P^MmxkoYPN$N3GdX*T-hG z+Zf-@(aRIxro>n%3!6!qDlt6`uW(rp1x1V(3gaDZja#xfItvwVozsRa3os7=I9JL` zZpBSgzD6Uy$UQ4x!(yuJ$+Ek!vRta5-taCP+E?wSQu$Tuk&j-##T|e^0}vB+uKhF` zjRR&5jFkH)b!T0R!nc1vCWmviOOG}8`q6eQB!02Rl{^5;rwUCW2SJ*V-v7pPOIlu) zRXZXhsE*{L^IpTe!Xvj^b{7lAZ23~$txG5BGb;J)^b5L}VDK16*30XaH4F97mgxn= z;<|1{K#a_h)+w!Q&HG;btA>EVAAM?Q-%i~E*&q*AjX&euXR#RUP2zvT+p&5!K$#0D zwuH=}UvR%Lrph0H4t9TEnlvPIMpb6SUp1bo3x|iwROV;S|e}E#D3W zv476W$zdQCUe=Z@>h}a%{G73My^iaHE1|x5Shjrx;A7K>kOjcV&_h=1Wf+Mvf8e=aW@1F6hnm&so zNkl({gvShatiCJji=r^hC!Bhfc5$}PKEX$BHL7;wn((ijtYQ#YbQbaezNpli$Wa;g z9r7zS&Xa9a8tUl}=~5xt72L5RUb>LfI-W1wR`s7z6mS|7s6&Xl$_eRLhOi}8d$BHE z(z0(8b0mz2VH|g=GLha`a*p1{pOir3f20J!!WcwQd^}v)-(3oPXp;zv%2E!=NO9*_ zX*Q<#X^>DsPdde`p7)PKp5_=+)T>K&G}sRA-8sh;4;WGwGZvNnXz#O85uwDO995$1 zH@B_Hplw+OLMB2!-zILzdu8ZB(cr$Cu2pBbfcB4tc)2oi=uK<(p8TD?<1E9#{F(dHziQ{K#$$1jloa6fkjn0UH15is)@-U zJabaBJ}bAW%y75TvUj=Ad$7QSqHRsNvzyPJD+Plh&&rpghH5B>vVO_;jLpuOeN{@q zfx<;}O=$eb#?jGxy%M`~!gw*kKMmebe)N%5Me|wKwHbA_Eh4n^`pdnD5-VrXGeC`9 zsa3WR2D*H56jFREt-3%gR8UMRWZQQ2$)@4>-~+@-p4OzV#;9t zq0lJV3)RD5(qjG)w#s1`MQPQ77Q|m}Vj7mJsm!(xST}-C1E3lErNR>?i7CZh9g{0t z0Xwh8^CN~J$Kf1xRi+uuDXsAB`pYbf?m14>2y;xXSUa;-y{IgUH_yJ$-5joW<_Wh_o=?&?|Gy@v53Q~4k zYc@Xj74PY9u)SwcsnnNQvj8i{OZsbmd^;}2WU_fT3?0NPUD*V-4dWqFGtBct; zaJ9>N)`X`3n@k=u<0k&yNKwnFy37K7lxG0xp<_NKr|eoYlJGD;Oy@q!$F1lMmR>8RD)JtzA2OB9$YLSuS+ZPC-le`_31lJ`h?yD!^a<4K1w7{;~J7Z|#j7DU03T4wpeD_!~a zxw$9*eI-F#9Cc;FM6E%_l)`rXojh-)T?ME1d@{E;xLo!Y+Yf~w4JBL^3Ua{ZiTGUh zsv_S&z?pth{GaU42C>w6uOTjJE|AjjVkU`IzY*2Bz#tOA+#a6i!}&}s9zkKTiuCer zuapz$D%w?%89f?A141OT$x#=VLrK`(U*PfCY`iw_e&bMGgrfYpOf{RPO3stxZ6%`xU$lo^=(?j>ynjdN=dx7RtvrKYT>x0 zQ`hUl2$wK_M#_TW)=%2>XM#l9H0?p$k`wKcy^JgRTm1Su!!&*O%Ui%C9y`s|3HUBAO^b zlK8y9OSiK{M(ca^Tp`-WYt~8DVieh7~wb&|5$@V^yJI*G98*5 zf~@07vfJ$#ZGnmoAYP#oYorsU4DpN^;}GFOI3Ba<-hv;Tj@J##N=>^|7F;@HuFU%F z!}G~kkrd6Ni$s;-YBobb@=CgKyyiyeU(2@PHded^rAD`Idr7k!x1079PRt6Tvx6N3 zJi=MPndjMJw&UU$tu5~!fP-*1?6xX8>l_M;)N0fk&b~f=vt067*3lmZglz2On1UT<+f`45z|~Pp5Ei2&-n07gSuru|Gx=j+a1G%T4qFy^ zY=>Ku;zcu6%eF~$EaMV@|9w@zY{1m}9RT|nuP-&6`VbB$1=iRSnKB7dfuSxVXxDV_ z$n&=LSy&N8wlk>xRbvpk_k1}{^zn!CJf?Jj%f^KO2p#7iXmEQmioD}0!Lva-AdvWy zc(}1Pj|!yN*O^Jc30fse(UHMPe#5%nsW;II`juBgcZi^$!ftPh-uU3Zuw_kb zD8tPkTf;~XI!}2ePjD97Vn^)v93eRN?&;}#J@F#7!V93Q-~)W0S&(yhWaRV+|W$pG<{LBj7T*ceiv?@ zMn(oU9m^`kV*BRL*D?;D$B_Urs)+L2Z<MwyIp6!xVS8KHZ}=0vG~-vRyq>pSvGXQ>*pt zP<>FcNUMRlzP9Y;$U8G{27@eS_SfIg1|E9!k_vtrDS}bCdUz?Tvr;|7K82m$OSl}P zuju8kpNsD0jsyS|o7Yu?im(gYGVc+_%A{Sy3V8Xe)pFZBy4|Mg_wxpm&WfyuNev^} z`PeEwia_WGeobQa)-y9WrWAL7j-hE^bB;If0P9yVK%s2f&WGk;^zl_A`M!Si8v9q3 za)TbOh(3|uq6IGjN<%24l3a@p3@TE^yu@|@a&^;$eak3(eh}^qAKx}cUl(``=tSby zQyM_xwb``Fs_X~#=s@iJt|uQirmJNGFsWn@skHUhH0;aXJs4D!OA)k;4rT*q@{}=w z)dc|BdbQ~b5WCY%lz0fT?nl1m(F0LsornupLNr?M`dUm+CDO5IB(8C}CQmmyjc~6G zm3M@e7kfb0`ZGha)*{M#P8}{1{T9Eyy*?`*!E-mLGweuuW+ZzKRVmikstZZjo;2{r zR=yw2)mRYGn4w!TKr*YoAoeRiebWm-d^=RT1+f^`k6Y`R@v}xdqs<7sayA6?e0H*DaRDxt`+yh6_UZOt*f`8uvUwSJ`^2 z)~caQ*M4GK`^@v{q0sXSj}iJXpwb9}O>I<(K)UFw!i*PBZ{}vDTemt0u2du5lm9uy z?BQ@@ezQYCWjSE-m{iYdLM-^xx1K4kGF03VRND&0R=5lbi)J1xNo3LlI0sv|qcW3$ zP9T0Z^jwnN#jWenShYuKO`Kv!PNfL@MB+|wF+}TV^GA8(Y29a)1AA-7p4%;2=ff38#X@KGdS7jD5Vd%ZryP!j`VYK{rIgkNv-$^9v;`I~s!IW8`3a+n z;BsTw&P}Gmh;C1rNP&wLI{ctMeLG>4u72AU70Ph=1PHL!9SSv9j|@BMqbT&ShwV!O=DM~xpKKNTaSc=C zWtqVQA?VHf<$GTxC7^kO+OSNA^P-AoK-8-9IbjoDwqzTNiaT7CW9f==-2<5VH)4;B zqTe&|WGswpq4Ox@%(k@JSQ-?P=J~SHhw-U+OG!Z2ZUSpaYDCp83xT&4mEm$JyhdaS zro%2zJ7SAz&~ZRqbDR^{hs%TQ1X)tufN^ugl2R&Gf1YAFDASWHM2+g|Xr1G0;Pvh= zznT1QTAoR$@=)2;CtVg5Xop@}Vgg8-DDlO+MCG?SF{2IZ1T8?AVnT3w$0b*}(#OVY zz5B}z1g#&H!Kzp% zfA{?%#9pgaqecj+PN8>9vnUTos{Hi}Pwnb1Jy}r{g;jRL806*|_PI77OM$-evZjCT zK^OS{*`GmP*LwlHH9+ELEl~Q0da_i#b%{j;sHZvhr~_1=ANOz66JlC(<}H>4Ung%5 zeY!9A}!n+`pclg-DQ7R_}u%24Chb?WCb*MQQRL$2U;o%b>Ws-WquQgYY*ghXGO^ zu(#rpwyA}r16{=br`i~KqQ%k!6yf+y9Jr>ZwK7R~ASnXc} zSoMyfMz;gr@~B0U2Y<69KrwsJfd7Ez!-FCqYi*9d=b;lw|B(4&gwfdjiy@q(^pWIjKLeyVt^zf`;nib5E97p1qiCXi}x z-Fc4*hq&PdG2=LKAkYCl-W>biZ44D)W4u3M^hyFY#+dmv);~LdjQ_I(Af$^&LYaSb zAd3id3fl$f0Huh(J(5qvA2tTKf^G?9{o4)Bs_h-3pH$Tag z{&lb8yU&EdlTZBO@|Q9;+yG+%A+Y+PRt|9NwYW+Hk# z$laZIq{{S0INxv475`cw+4QT2|H3K-5mXRb@Xu5xa2@*3=?FOHJuh{dcC}9MjuCkt zYDXDi4Q$FkGGlide!~CCt}{8(6@bwdci8x$WB;hbv!62e6{gfFB{(+adL;9*ZJ!(% z-%ch{YE{GF(kP}ga}&$zV`72d$tg>KnqP{eU1eTGk>EFwmH%h7$C~<;&}}Jb#~s{| zd$fPR0ovfyWc;0KBxJ@^0y`8SR4CS@Im3}8ujfIJYY$y3C05k_`cg%6q(B`Kn#fsd zgt{jM1!N%U{!Mp$knn;}kYdHCtldy1<0=uY)4wj4w>K@IHKnQEHrOK5^!a2@{8k9a z&NoaoJimJp^T9iD-al2=QsLb>UQB0IATQTRi0>iF4JA@|Ly43(5MTglV36mlUImgE z=_>hN8}aoY0bWb}BOPG5q7ZdJ+ul6r&Jy1eKak=e7h_qQxrRoe{u(}q-Xoel1`z>= zkLUmF3604gHc;}6ea95>Q*s!Kad9xjn#@qp;C15dKKM}ZU6kpwlsR|PbpabNs>0Dw zMvMG=hBFEw<(SHJeg zyYa@gWLpIb;SoV2aBp}2y3=k<55Rf@u4UT&h>j?(#7X6>0_3wL1jzRCtbC$HDv>og zrlIs5Uk}Cl$al9ceW#cRz`v_XaylPoDY0wij$hg$95mah>YN9>!S?xpeeJlQeiSRA zDj6t~O@%T3dYTy= zRchSZ)=ofgI58|+;xZt9cvUsg6VK!kU*=pLs?L+6i&t&Gn?A8AsQ$hY`ov@=H*pLm zajj!J_w|(5$!lfqIXvvF)#c1{uCin?=vhz5R8Kf5i6W@Ua|wt#W~z?h9)*Z*)dO;S zqzYa0VMou@-_>e4l{#=p;Pk53+$S=dqUB?6^~Z4}6{Ou)v2v=_{z%j?lGYH@7XNIy zXq;{VaY?wcjJ9zhQa|=>X_7}7>9b020&A!GYyz+wRoTcs)n|*+27&lL+Ff0^@By%p zl;8eE0LjI5LL~KbIhQnbX&~rWEH-hpJpmz@dARh6S<6Uj#-WnaYD@~{@R*Z|N;Ji) zf3hXF81?dU`Q)>~S}L{e;*MUm`)QPgkd@$1K!V@^K%EC!ME}r7e#h5r`6C5fvOhp+ z2k?01m+J?HxA6=Si;~9<`S0T5hg)tD-1O4=$?R?7BvDXWnl!^GSHf z;b>LQgy!`Pep@8q&BVsS$r76604*d*$LNSaZn_B({06ix9Ohq}g`9q3pR^&>DN(vf0IGzEv$qIN1gk&|?gQ!y#fzETG ze=fz)^Uh8?t}Bv|VFJSTVN`lD8vAEid>#*__7>Z__ELGsBN|d!okr=@jDW11q059k zg=}}dJ{>=!f&<9Q@AEF^h}!&D+$Jxx-_}G=y@SL=Uq!suS0I|@ zmR(atx_tf%R|VvA%{mQjVh5gFX(3Sxdvj9UsF+_WAaDO%1qe760QIYbMFclEiYbVTw-qcUE={2~3Oo{Y(Y0AUFr@ulK?z=J zB3PH{MQp{ofd4+kUAK8Et$0! z14N@@0LogTPyc(j91)vVgiS_Zeun}=3vYgj7RWh>Ou4+3m?3w0;xSe=XT_FE$%{v{ z(wGf2!jgCuS*XeV_9`rr%MG_ZzR`Qdrf;B!Y{GEuxuT47_efN)@Qf0ZN)Z#u)s zD}vd%h*ue0#{BxoHp7nb)O;&kmj{~;FwUFinDh_V{b4l=S;KL;-qJ+F( z$m1+V<^c!r)F6mrGmz9v5qGl*oS>!y)6r4X ziVv$j_p><3cgyoOc6C$f$_gQwd&aRdPNb1cwEORaC6pr0dg&{i(BS&fSer{|aIMx} zVKCR9nz312d8?4_PO8T=^SQyL6}wprkZ|wuI73XmP-hc-)@%+<-SWhmKS`%ZA?J9H zq9DS2CFiMht)>`!pAl|Ze@h`_S&Ru9-{t?!VM$U~e%Of(MZre;M%w^li_5*bqX1HV zDJ5US9+RR{tPU|76glH+kfi7xm$%9nQ$BM(ngfjKE@O%CD(0w1t~`HoR`yS`oyO3V zTJVCDYy2G&43^~o*Z%_eMXl^&pPaOYh2v3J9gqGh<9~@fxatO{0yDcdSy;K)k^I~~ zHY)(9LGu1BV53*qul7sF6{yo{pWU`S?SIB+xBM~jaztf z?8-WirKX5(#qB5_Ggm(MwYm*~tp=2CH?lS9x9;kOTX`1jp3_#99zE|&6eas6)fd;w z*Gu+)m{h0h5b(P|z#!sCEve;RqpxNHxG7O)JeG82SVpxIx!_oCCIwq#NqY5x>_}X;xZxM6A6cTATw#H|o+xd0%Q59ake3{<* zQuS+%?NW(J^HOKLkcqEq<>3vBA+G*Y1kcP{lr+IiMc6NUEcWbmg0hVA>{ca%3LoZ! z<0|QyByQd^J5}+{rgmTN?E49%>zJBSS&D6KAN?gqH?jp#a1_@+c6aCeoi80 zna&J12&LG2@KfXh%`-zdv+hyGjqbnJN(` zfJs^GPV9wgyW>G>H$D=g<@v^V&emRK$iL6i=-K3V*z>nxQq(f+J2LRoonfVZ zXn^GWcw`F5lqbZv6KY5=b<%DPU8!ah88U9_u#0b**t@8{Ti+DsQ?fh{lDH(@Cn-Jz zdL~2H70{+RZ+9aXxRvXOdADE~bqE-h+$R27G=8Li&L`uVcb3GKUo12YKYlXKH^~SP zD61Q#^`7a04DJ**)Z3?cbS*uBDLw67Nt?-cnybBS#fKH+M3^(p+oN!?P*B1q)6ilv)@KJTrGr} ziLOQo5M^9#=H19(@_Rj9+PDM6zqVvlcZ5 zkfDhAV)>he)%f<&^Fp5y%sxCiMN!rKWi+5u{JZ&y7Tlwh($0TT`3gTH1K@-r_S)^(vL|2MK!h1_g8z2{*1(b(;1P2 zQVw}IuZBXF2Ies0%28jsc(t}$N^P_ErLBAb$^B4YtXfy6%C!=K>^(=s0+)ZfJhH_i zvGdAygbRdU(^zYp=1cFa0H1HgGo6al!=Ua2EDW1(6hF2|Qj8&dK13G^NS8yAb&No! zVi`e?f*N~cAGlR`pADJ+OwwS^8^)LGxKKj7RgUb9u3+Sf>*zMB=9HP1&klM(Td9#J zt~=@Z+2dgyx!LAFlXjb=n_tUvU&%u8Sg3frbp6aL9`I`B&B4SdSUU>DDdnM#SAZBL zRrwVWT~8nT2Z-&K)Ucm~s{0d4%J;ZzHNV^ zC#yq9KiQtOU*yQHx_1lW_RdVNXa_80Xu+oFL&f@sF0(2Iez~4$l7HLY&2+}ASX8Vt z$>^HouEc!m|HW6Ddg35G9&JfZx*Icb=nduGIWp{v5 z>9PNk5k?F0#G&LONN@Ujv2hmufdnPMev`bX7>jHzg8Njw8Qq3P}-tO%H7$MhQ*cqo~=Fa@rS|X z&I(8YYVqWtam{wm0=Q?9Td@uYIO4aqj=PPa6J|Sm@?UbdPiXJb?nL6Ik*eBZ_CEs! z<|}c5MHPT$xHFUfa4^ogW0#F}>&L3^dr{o|-2s#4i+`{Ptcf|ZO@bTvGAuWFFF zB9n$6+X7so8;ZdcUI}2Z@wMUpj$}^QMnkKcK**X~k>$IBEj7QjZ$4f7b|9|8kBBg6 zaY2@HWs5}xV8yiJqe`2iKCXG(vn>!e0D{p7lv;O1q}OLbgujj+NKmG}^jt1omhbAa z>O0r?QIj>_|E4W6rKg9GlT5%(ggTEj33&hR7?u7V>ZffqQ5q3DGJz(@BGdXBzxB4A zs3h_H{cxbcG7*NGR|cv|KqN8MBuJh*mJt1^^h%GpQq)02pS;Vov&HuAbDsF$NckH* zuLJ;i`U$|(gzecbPx@;r)9k+4kAhs*=GE4%^1I7kBO7pLNwhc~82_ z%*>Qx!FPwYdF$>kd* z-QwxHDyhFeEKZNf3b+|v3y6RGuYyPyTQVfGcFNXMH};&;>>7f{?yGxDn}QUJ=4C;> z0Rj4rM7rTLX2@&)B|G>8)Lu&umD`(M8kye|sb4xa+Ca6?6o;s`tohZx?zu$|Pqe3e zk7^ftx={-)ZbF?&kUCMEdPyFk2EJG5i{olb^gmxYYS zZEq>5fx9H!W$(ZCRD9HJv$(RY4l*s-(sGU_0Z$+#iyVGf-pf1wTH&R?Re$M({nY8W zD1%cMa~k&E7x7Su*_<*PYic^AHA{$2IC!1nhGKsDPT~L~dvC@@y#d>oe1}2b- zEE_xu(EI&!gxlNRWr$}*kDsv>uUPO-u8iRvT75yJ&YaG{ z1}66w<(nnZ4H&GguKQ+}0H=AOl#tS%4Z?J$ zc*S&tPRESxNPOZv9mX=_|2qP4;-7NRBV11Z2)iROUEkFWeSjZ@}%gKQ$DM8B0(Sz`!*a}O#yuL zfEpgH_lNUrDuY3Ki4xEYMmei4g8nzuKaPDmAsTgj!=_0?2@$5*oiNSHBgNM+gC zQ7;Ym{Z+rUU+=g2e|lmr+xE+W()=I2-<|qiNh+(?1tir##tUndk-86E*NO{zUFXlNRFVJa# zYWCVn+5h@QG|l4KRr;gE3P@J)iK#a=6vIHb=1=3(eKv&-i~AR1`4xLDkXQ$Si39jI z)^A7wYGj{5AUlMTLv)PG4OkQWHCi&vZyhpgx2?3~`c6ni86Bd-XjMmJ)y7Rw>cE!e z@T6TvPTn}I`tw>Ef6Yc*-PT%$*n^t%RJ`zSX$u2LTik&2P-=#u=a^x73;Bizv^|iT z_FTsI+apA@QdlI8dvjBm<%8G^t3JyQ#S^IGih$SBv`^r@^9AhQ)K{9* zOboOV%DLUR7qMVcB-m#F;;1S&04u%|i;h00B&f-O5$Tl*%UzbEc;uq>k-r<~I^->U|{Ja#flaFq~K+thKFX`<;0&}!yb~QZk!{-1h zU(!&zGZTI^OY!pTNmF{0cyrP$ulw&zksI&tyt@Mj&?LqBS6P$?N#`$iU zZNbKopIPazmZU;r<=pn-?eJ)|*kIUS<=by@OlATN>bjNCAj`y=|K*}!WB}Lj z5C(PWm47Yd`SJ7lR{IwVZuKgA$I5a=Ehw}B+PFV?xK*ON@108N;o*vLFS%vbFSnn8nd<1yZ};41eB!hnO)LRTSGXlK z$^>>YtcOh&7_OzVwSW_LeGun?TYDMMGS+!Anfe`m{P5&2{ksM9=}x#hMCyvfzw4Rb zrO>03D_ybt0{rrP-{ubeA$9$mIeo$(bc^wq_bDQdkIGq~RBX`%dwWxwKY*up%L zie6k>Ej4{x483U#$e;KdNh%uh6&}q4uc1}5gD8?c&nq|UsqMG-1p?GM? zKD1(CyuuuiZ}>VtBm%-ByORc)6imu&f6`h__@dtvE0D7{sprGaPPAp!04Sp|nqHJWRv-Y+tAbx2MzfSgy`C;U;? zf6Dr=7bc(EWL>8KH=fkU9N~IPf{4OJvHEVvW>c65K%FeOcsa*S-(a2^U_K%YqsB~c zNjWrleyQ!CTlaZmorxDk&GO>Br#q5C;{59RmoHt)vt4G4SM)o}8ERj+R|y@%>Qa}+ zOJhP>w&JALft$csUrR_5NB0e|up`U?_vqzvSHqM5535?fN!Zyda)Nz%VEyV^yC6>3 z{K&iV5&Xz-aWva^w;lsvsN#9_`Mw*c@23}jod)zb89HrlT(m>jRABoR6>7~?kb>81A(ouE?*T0vkyq^mnl z`1xB}50(6sBjs?+FZ7R`fAUCbI7isZ=8rhW$)Df;9WsB43Jsiqd*;M#4MMe5wJ+&< zQoded)D~t&I#u1uQo{CEUD_ZpFF}}{EsmFQ7AuE5DAs)XKtoUc<}N@@pv<{w_S&@qSTWy74*YiFW>DZWE+S26OcA`KjIAvhugib)<4C_`1?Rv^2`Nzwbz9w?Ih%B;ynWOwRhtyCq^b1i~J7;Qs{H5`)p=qT@CBgsShdhC%SRNA15?rYSI) z%@A`E-W&>Ug0ZELfQA73+Nc?=r9A`9=sLrn9E#UT-uc19)Msy)fwPFnHDIshQ-@jj zSG*;)hFM&cq1_h+Y@z%i0gFFA;BUy@Yu3?CkS_%WF^`*9blWVw8UQG{4Q~GGov87P zA~6C9rryV4iUCF-!;&riQvNTKHO7{Y>{vwua;4B=Hmru88hWf%JZdA>W`#yje!Z;y z8YS1ZnOt^{w9XD{sSGI#2OZhmes$p5#`XNu$MRY5F9dIpQ=zby{=3ipeY%Bq|JO zq~FgGAr(NaIVKfpWEUqsfF2nwgdq&rrkVwT1qki*fZFJc+Wt!9t#KeY3M99*Eum^x z6NdY5+|T}-@FE+7Q`LwQ(g6hS_%ZDc!hT~I?>y`%#HW_Ah?;r5bmblx^@B`!Q(NaQFl7d7X+v_C&&X@Qji@ClLb(&byF)k z;-!&{U5q(p-t2xw#}hz+Oh`NbkX>cBhr<~tRI0MSeH9u%qQkEoe7iB4Fa3usZArb? z;>I>*hHH&tXbGElC(r?a;P-0D(YI_=aNb_O53^_rNJHh1h8D5UIxBcvUq3zT_I5Ar6WtSrjhGO zqu`p4X^ZOj;tX_NeQD8D-qvjGE0h{h`>ZG_l%G4X$|SDsx_UfxZZW z<@k-sdZ15~w*JiVARRDJ9ALe-D0wt(#dHR@IWR82xHZ)Xp7?2Tt1~Lhi6@P zN5rg#aPLUsm?-qNt_Hzgh)O%q1CspW=7wB(2+gOywli+P2N@5swzd%;pjWwh6yh}x z(Tl|ruXBlo{9SJmU|5tG-wpF;c_l4dgZ;kVK$xvPztpr6!@vO!YnW_a=dlF=`++wS{2gmf*b8h9I9Nqn_KmRw zNPA_C(%lSdRy+Na*7i$ubbzw?U-9|*&c#;k7uB{_REO$(zAo~0yh9{B&=8ZkR4ri< zk$mPdBTQ#nLu1C2xrOic3pt@Gcib&7UhOpqNSSZ` z$IS_GsrgLe>a7G9Y;e0x%AyyXk+JANxLQ8468;R%rwEMT1VX}NMKB4z8h_kEz*Psh zk?^BfX5uZDtAUM=lm7|Mzf+&C!KVqvqPi`%RCnfm*JZUI1y?&*W7M1VF=DyzkLZ+L zejr_j!}H(fH0>G;!I(NO)C*J5WgaEr=kzTsPIlcc5oBU}8@|!;a?h1IKH~*nrXpxw zv?Xdi4Y&2JI&EwyYqw)`oWJcWbLod@wX8WuurX>x88c}GT> z&F>Yor?+qoj82uvJ=z~b!iA*=Y%Vrtow%-nDg&=Jq1m0Sc7irv5lLMN<%hcEteeeJ zlz?O0 zghQBpg?W|APv6ctQJzSuyVKOB_jy}?<@fo{21w5we^}m>t7l+j8U0pE)!Q9{z0;1)URD?NLg4#(h1%9 z`ctUZy-TghlIx>0gyIsh8Hj&TITI+AD-SmIHPah|a2_@`Csk&kDVgF|{YG^Qb&2-# zO2xk8@Bw~sTDT=wS^Wdm)66$tADNGSy*(3e!R!q z!=CM|e2oPUd^o%$SY#@ElWf9yg^PAK++y@?CgvKWu=SbgyOPW&uhuZc7QW>K+>-w{ z_X4;6)DN1~7gi?z#1;0pLH_{w-~3a9#FnU}L7wU%z6Lr%O2x{ET@ts;;a6=0=~5dU zj44xosE3Vek=fLQ;|NN=l1MVg%}tZ7urGn<>3E{k_b9G8 zTNDZa1Kyf1@hz3~<|WGK zPE8@`EqcOn1TWH&IPAcf&m`J+>(t0ditj*i4xxM*xmX9=p9wDwX#pRqOeFQ;TU52w z6S&nkEyK$7_4+*J&w0{M3?v`I%}EZZtVgt^^6uoF>yO(05@N$c#xHXU-B*7)7z>y-f+H{2v*vukrWugSxH8C368$2t+( zf?!s`^L2V2LlYY*i`jPKkbI8lt;39FL%H{v@;pl&ja5Lw6no?8jbWt(DM4opV(`bieB+6* z4pp`NHcpu(+hxCkp!KuZtz=tWOu#@& zi=jjwI!vJN2ie+(0BbOI95ZLQ+ z_5#_2Dm#HM#eIIhHsfgQ8x`3=jrYUIpCow6-z1>#y5MI9B@Mz8fq|(0GTTnLxNG6O zI?p37fot$IjgKt}GK@2-!Ib2$F*j`%X!5nE1WAvN1#a!aC-P_|J%05Y^SRut9DIUL zSOuhbJwG(~HCs6#Bx6;n#z9M43)h#`wHpT31~B5r;TDiv0Sn#(m02ZDVIQg#=~YoD9&PAc(AsKb*1+C= z?^!|T*oqm&ugttRu18oqgzh;6?Yw5)DU6Fi@?9y0+si`6+e)gOMC?Zv3yaj#!=Lxw zcFMpd)J~kErX#@fu*|g0@g9RvT*e7&8+%z|7mM=HU*iE#*q7DoO*soCNAAZ~h-+KF zyYupF3&jeO4BE{+Cgn3+7r6Rhi!_sy`Par``;`UsSV$g!WZl}^I$916OFmnk`-Vk_ zGCu?c@POO(j-YZZqU0zl?K=ETiN|AKPr)|v%T29~V@kTTzL6wJ4FZ+EbqJSSk6ZZ3 ztdZqAz$@cLz-0gY5D)I2{iTIVfY4z9ghC?t3MVrAvLCl((hV!9_?S{flBJ~Ca?cY? zSXn=VXb76#v8g^+-AL%DJ}YG}h3{}!h@KxhmP|;axnMe`*yFaHMv2&<<-YIeD>uT( z65!UGRC_0rEZQgA>>rZESDP~OALgDr!eEyE*xIv_MX=%P#LO%|id|Y`WoHN%c5C#ZjArc_7A<|+i&G_cou#jR zwT{_$tCWB=eDSfXHCJ8_^S)ARx9MaVo~Rm@uvFYKVW5!#jXhzVajo4B-WcjO_O{4> zuJdmHwPK4Qjj}fa#&Nva0&c~LP5=^SD0+q`B02<+X711OQ|trps%`&35L^1^y7bwV z*B;KumethQgvpEVwO!M^)o%Oo+WLfY3re`T;B}D0s|%DjD*J5-*)@9x)l7NA>DBv4 zwWZr&$94+_qO`hk!W@2Qp>ASfrhFHFVrn;F+CW67ZNiJ!&iP4+!QnKuU2YK_LRd$D zY!0*-rt_VlEt^t2>N9@=`|#&2B<1#D9p@Y9f_q=!lbL(v6A`}9%GgCcJDAEK^z-8_ znWYTOceMOazK0d3UBzg07A=#j=?k;Y(0Z0n$FuIBSG}}sA^o$hJ3;H2YGpGGw2qPT z^!xafEX3#U-6)XQ5d!rmM}kO;dodjLxV*q<%hV-xZw|MW%&g-)=geJY702Ub8NlOa z2^VW@WHbA2@@gwnAWY7z2JX=0*Z+=1;NsVbb4#MfGJ?o+uFi#7ur|Dk+Klh~C#S3zYlW*xOF2_g=s7$~|>N zFisK(?UARy%}oCT$hqf$idyWsd-P1+lLz0XEdCRX8JM4nK;-j zH#zxm{{HR;XAn6jmU+=AWd!*MF)&8+6?TQ&Kr8%nds_E{jnw#7y|$}{?Mtfrhp{u` zbV9nzgP?hNXr|U8^Gd69y4i zn6>Sn)I*&xu!LruACbTMuz7ZQYUyGQLCbaNGO!Uw+5>Rr6o7p3M{Tg0w&t!KDU)6T z!Y`9uEPZ1r{jHaN1@ft`okqNb1Uje0QT&f-FO9hsQ3gYl8HYi9$ zbVrBMUQb9Vh%~6G;KNjD>DDu<7(D(ZAG=Q?y7n!&F_m@P5O*5_efBTc)XOp2yn_z> zh49O6=tkC#SFq@~)$dl4g|wH4nvVK+%Vcz<<8IsU2G*$n)Bq}>)6vf2mKFBtEcWYN zNcU$*a4x^C074dIFaH_tC=zTn+~pYc`m|tDDUUp`BtZpGbH1T%9$LMw*(0}RhTG82 zLp2C{yR3x9j15C%%xoC%-~%g%k2!7$!bY9HGTne6^mJTc)2&^oEL`}|gYGT~BG(tZ z`pEc=voSV-sKyUif8zPCV1s9FOzl%uKQXgXSoh=KGX_NbWTeiSBMb|}0ID|uDvF{~QuJsgdh@SdU*YKVCldAqiypy3*yw(|#A3&7G}vCu#{;X29SQ z+N1kJ_7gdw&c+?B156dhYvH=gS*lbX@hcrmG1=#joLljR&((_@(h&$#k z9SJQxGb}9lZ-~VQnHXrROULdbk)!3g@;yo?(UXP zGacvC>BI_m3&;$LNMA&m!j8X?ix*WlI$N7=DXLJroyZ>vBVnGoR21bD7@exE0W0FF z8eBJ*HSwIpOtp5rc=8Ty0>MdEk$*3G^+QYjEenWsHY~T6|T-`wiUG%BcefI zHG7zR^z1W&DF-8S6hMKBnm=V8j5z*Z8ub2m(GvN;6)m$)opb8OrK1^B9eQFX2fmSH z*>y_OS9e}K;*8P{POvL^$OObs6zn=6U^6h99WFBkhN>T&egTYe;1##Cs;n8!_CR?% z1MnGEe)*gAGKtAEoP0^e4cQ{@df^tgHJS1*F}Vi_Tfb)prk1W4gg2RgQF=Q4r)Hq> z9T2v}e?s(Gh3cL>yzrm0mPs{}()mP&BEsUN*#y{*Gv#QUSO8IIGMHIM=$(MO2SC#+ z<~|%8g5=2o+Hs^ZMcJo}DQ_cKzO%(k{vM&;EKzcTkT?YGeIH8#YCh8VD5Dt+-`}Sc z-0<4P;kp9wHiRgW3K)cCEgQ6|J90VNF0L= z4VhCHtCria2&k&Fwm?AM@eo96p~R{4!q!*b@;(ICbvqqf2_(qBVgARfxcVGWO`_iL zOe)Uhp1ZEd^`DO!uA%n#bB6Zbtdx(a5|-i=1ZDV=mH9cA!LkRIgz9<3uzI37CSz z*Cg)SN2PhMFq-iz`6sGnY`pdwtI?+|jpYZ-%df2y)muLTnOHYLgb;aIEso697lAkl z54WhTT+Gw$Daf9egkWz^OQ+^YiCcwRB%p-5>w?z(l^0%;$?o7fr!w>Y_okO+f8btU zPz}+U>Bw@Pjy}J(OXGC<_Ttpqh&MinJY+ymvI1)3LDPO44@uXFLE^qhPAtE;p9`@= zN&bDVTaQaOB5SGpoi@kZP;tr}zF!79EVuQ2XCHX?$t?-OET90w$Vaz?3gq5SG{pu| z)0}MUB{Wt8Pe3(-)^@)wJO83hv?A5%29_n(uR#j$KiL;*6SIq8)CD2&Fx!jj#`K{b zWP0e@+_^Ma4@;B2Oj4;$MZDoQHOWw6(X~;Zb8EU7ULbwb5hj+&0^_MqmCcdw)Sye*IPK z;YQ!T&f{UlC{#Q@e7I$G3c+RME3D$0?E@ z7Kev~<(J_1wt=!*wu_l7D_|Nd$7JD_WqY&caaigxC|bF0pL*!{5BZyQ38 zD^EXaU9;71>pTE~^}Q|WZQx$2r(LMt9}n?ksT&JiZ};8&sU1j$Jlfk@8+;er%&xq2 zb-+F(tHhCM$ln$RmrhfFqg`}Q>68H3;`GQ3xql4Ri5Y}XI2>IzQM&q*|MvPHQ1dU) zi6C%ww&XJFfV>1!wmW{MR~dv`6otghUp#3P&QSEoh!0q)|NYeOTM+Q~EvPhH0`LRM zcZ2LGIzu+CR6QZ1fhq)lo~fR3i0d;n(HU&#|2Bo@l-D3Xbp8G|m!YVA8!EOR`m4p}N%}^O{JA+8r}fmt zLbb8tqMRa;`AFaNFARM0l|r+m!q}8FY|YlQB1vUq!F(v`ysS&~akXDZ(kSx=Rz*4{;k~!ZqXyLtSFC!3 z$CJ8_#I3Eo*8OmB_M?h&C;p5}F}>esZ}eX}djJG0A+DKWsC6Wq7y2j>qUfHd+gg32 zilJz_J-xMaATp9IY!%+t^iDlli(N@4xyJGm8>e6eZJge`%b}85@r#IYxq~`H9WfR* z*pxyPZJ!mSeCKw|U+3{?MirN&H$>)ge~rXT85+d3N!2c#_J2{h^XujQB@We<@WKTS zN9GqF2=}0}FO^;By$xi@l8^%rD-E`Hn4180%~_OU+ue?8 zl_uI~wvN*#jnzck)8&r^WWTj!lj@#1d#p zB5(;hA8L+~FD?im_lnMc1d7?$CUGW=(@3F@jt|fN3B?wf08F1A&-XX^qWog|&us($ zav3Cv=O$<#jYEy9Nl~)C-|$IeC^Dn*4QL5w0_^B#=1n$$hFtzlL*_S>eNHpweT2%J z5LoUGm5xT34i~U+3sMGJ_k=~V{ITQs1Sxy$ZTrxlLFeh;xy|b9Z2ITQV)z2@A?HS` z%V%z8C{7c#TRQJ+^^gJ%12PXTO=Ta$oquP2dQOS@{mZjs&ObB{P2u-<+sy4JnDSI! z5oOou%lOtPF7Z4RO3c-ex3he=a)jUw2%qEXo}0YgIPVF6dxxFP$ygb$ott1&h@=N* z4AgJytvW{19dJOZ0;rU1e)fzY34QNSZb7Qwh@ZUI=wQA0?l4Oj|Bb*$N_h83b{Y2# zk#3Z8tAAR<=Jq_s8JG(1{^(|2_{t;ohs-{;U16fRLwV_kXxL=Cg7f4nU?gI#ee+PB z<#lmWgq$yMA|vwi7CnW=a3Fw5!SeO1FB^8Vv}#s7X^8ULmC70(2uB7<8EpAYNQ)5nj@jn(3s_Tu%W zl34|+Cd~WMQ01VxB&%{J=mo^o{pyu3$GV&P&kFW^XYMhI6@=THOK|FUa!Bh zE06k>EM}~Cs9M&alO;SzJ5M zd+w&!=uOTu1J*354HW~9T7q*-ZTot`99?SvsBX?Mh9QOOMCNjz!cVsUzbmhS-np2S zhRBoCf}m=I9a;IM$1fR1v-~ARbfm^jMt~G6`T!q}IHP?)TKD?rfYohzJ2K;;PuSwz z$50ia%6rOX5!aWXow@2Q%HH@zDPMa5_|8$^?_5^F1QA0j%U9;ZIfZf@GHoVA#yhNDkk} zMWb9S$Io4bj|ZgGHU}ZL=L%c=h$@qHYM)BT0mOP*a18K&IXJC{Wkj9mUh~GVpBKyU zZm2Fi2)cw3gL`pfj{#|eVdV26Rzj0YfY3gSh@iDHvhw{9tt`G*+EZFAVO!ZIivQWj zOM3BHJ2)nYlw>vabTWpLIAq{gjvajZR|2+iijj2z7&?i&kI~16?PAG$Tg{)>fZq^8 zfOhr;3^+*3>$Kvl59N7&7^+>a&k2C=@==IQ0_#>uQjl7L@_vwl2dD)2yL7!!M_Gy` zHOPQqnwSyY`fV9cW5zl|UNAAAzWQkg!wh3H{BuJ~MAVrB#i2Ioe^DI#Wv()sC5<%Y zH5c?MsoSG8jom}Qn1zXc9Z&^l$ApoTktWqI5svH?2IZ9Y^1eT%m-=Jk;)OzMdtm% zFRIi*^L}f;6U4n!m+v;iC!0bDo-XE`n{vI(8e2Hc$b!ez;Y#Q{Gi8gWPMy8%`*~}I z{xU0c1h(k3A>xR&obqMWIdSu;vkc}hR z<88g`+Yxi020|7ZGNSqEK^+XD9{u(6!;152o1K@jwDFJ->X62pC#>u%iHhfCKmTef zQr886l3XW%%Y2Dr6rNKkVO0Q>huCQw550qml_;FioWrhaQG*`4G2aQudkSOz??yc> zl?fG#A0}hg+RBN}i^D%TMp`$0Cb5Lw!}5O4={7gcfHhi_I_j#7n862=42Lb;x&-$%G!5J%+U(%R!UABKC@%oSj}?(*sb(m*+RTC9_y2mx@{3xPjAmuOXvz<7a9`qL6$ z$(uj(5~jS7wRYu3WcIk4^`%H%nzg~9?EM>%Pr$KTsgUhal=!(oPI1ih>fmDnIE4H9aB@_I(0RL!LNZJL=5<|{hE96 z*ov*h&wAtke~O=vD)X14Ck44W{(1+<(KmnVU^pW@C#N7OWp$d@EZnTd0G_T-|5UOWc@qSyjsyKq3c8n>n4ghM09qypn z2-fb~Gnw#gKr;xM3q^DH2M&I?-(5&->_8bVIqIDf?CXujXkQ31fQ<*a((=pg_g5x4 z))r)msrN9l`MMxZ;$96?UNCG~sx?KL*6ZWS&U4db?>^JV(F|n`au$3dfzoeFtgrns zFyd8SVX(7D2SkvA0!jPC1-q5%q8A#9%&E&D_5k!hEzK`hLL`2^3;(aeWHW=P&_jUd zEHuzBJg^!Wax2Wr0~K4=h+oT+agJK3n`Fn{`^hwuIt&mD!9MDUcTNDhNg%|cLtPyn zXAA%%%Z1PvqmL#H!O&LFhY2-$bBaSuk`^n!FmBYhcqXpeZ-x*&PhCrNn?~0zzXrN9 z5Bqf;0)GZ6QW6tXosAj|K5Y7sjmvW|}w2<=pyic{a!^}_GQl+^f5x4i~r z3DDhFe4>s`F-fbFjV(YOBW$d;YhW2?Cd!oORXe%71_0*u;w*U$x7p4&9b}7r`i|e0 z8`)weRabp)mU*#S{9$;nn#*An>xIzf`qrTORw?Dy0f(?O5c)7Isq~n1ozCwl5B~8c z(pjJf1IRo{_4J(ms+YIw!&bi|TU2D(z3R4H6n9oGs{|}49^_}^^XHl4#XhNE@~HpZ zW*+ez*f5HHN|XCvJVLWhCQNx^xLAFJtB;|bFt80+wTW`_h=@kG#Z8fzTMQAuj(h`_ zKujp@8Ufx6hsF%=PDV4YC_r7r`sAo#7hxmHpUrHc^`L%~TJX-PNC9E*hAnRq-ZMa1 ziMJPvRoi(Hy}6<_2TZ?M2AJ{Il@DZxq~6OWs*>c*Q4B>T$0Dy@g#%(qqu+8pjrwuJ zkMp5_^XEg(=%euf!92k)d_YhNs|Fd(fGiL%jo-U#X&>ZF49E%nbySg-Sq^+Wsa{q$ zUBO$5Q`jgz$*3Uh>sX?=x{D?^rQjoEMh&>(sNzwr*Y zgJ*}&bJzWHqMA5Rm7oeGasZKf>!FWlH*?)`TV6#B_0O&V1JeoMbBiuVmtFrmaz`qI zC_Y+YA{R(}qmIUNb&Wh1B7mc_yc@IAY3?GsI9!?FM^tx+QKeRuAb^YaYSf1gH3|X< zB2ZtmS5K3RGj~}pbUG|G(8f#rLf2YEu=`?V!Y#&hSQ;>M&nI256}ldu&2xpncofl!EY>XSrQizLP>mfj5~PPOEzO;Q5?g8 zyj*N|2pF{RS{#ks4>uKvjRzJk=m!K;AX7?ufbTrf_KvuXR+YKt0Quxz`IkO^mwa)W zeArIl(0%&i=$)W?VGS{9DR!e&2EV$~{TJm9%rXDd4dTgTz_*_sU;M9vz9s-k`bC--`k~>V;4$}-bRQ@xxWGKFp3Ba1FSWNN-3BMyZ&Y)xnTX85q`KwYSKd8dc{*9)_Pqg3`s z{lFv`pZeOMBeq2tp-OLzK7YAsXX|QVG=nI|iL~G=pLWo}ym_Y7BV$_$cgBB~SfS~Sqqouv|<7;dlV4=uH0OC(hw7mG{U@6dn z32B?Q^%TW4Y^NjUh6;$O7e~CyE7}~csYAvE59PTFTkYJWh!mj+{DOTS-DJ1Iy7Njv zuP=mboT~m*vOyYGDy>XE&QGl=sh&<>dN4zQz{fk0Wdz(KF4E$ih6T>>6sS-N2@%G0f}AjB5y z|5s+%u-n@5&#%rc@j@L^9>~@2+^wr3*|TcBK?o9;RWk&>_ch2c+~O?9Vao0BEeIv= z-9zC&nVCf$1D<$#{QLhB1|M7o?9KY}irTgVYAmE3?5hDRT;D~q-_Qs7N{g0j<6QT|e5m%}wwnD|F368RPEZKoydF2y!%-BA&d>;`X! zil3G!yptQv@eF=Sb9-KD);PHku9(AGjZ(TR{Kid`d! zw?60fx&kEpB!BCQCo_YGkDb-Yc_p9tUH_~y31D#x5wvky_yT@^FWYY@8uAwbt&`8o z_;b)yI>%&x zk*@VZG3D!uztO`1U=QA;ADsCiOjBx7KwbA=81~1jw-&*sie5=0E@rXU=~&yJ;yr|S zZvY1b9IJdZsBd2FBto~)9S12ei16&T-1km=RqrkJ;bw$h%+Q=B=8XifY3`*m(iq46 zk5y)geCwzKOA#(BJtAg-m8u08sJdFUWKcH*P!&w1<51rV*@*<5vTIzw2T$a^tJp)%cxX0$j59A-E%EtyZ0Q%g#v(fK~% zIb19M?tykyn40yMGj9u>F0Ps_o&2Kxdeq(^QOaquPVYNunUJ6UDCr{u_~P5{;CY`Z zJY(&0r?Aq&$D^8~+R4OKSNHE>{Qk@1UF1Rx731=Hg6vBQMEpDYm2NZ;YVX}_eK+RK z>>@;}9~VC**@i@kHtsRKD|Sz`0KN^7^>O96jpF+Ikgti&;Vj%$b$2c-yS$T#w+t(; zcG-_S=RQ&1)=tZxA>hB>ScB=ip#Hqwt&Lp-b(rOQ033mF<5APL%qT!omD=hgclHJi zz!v=P6`dYFBD1|&Z&G>7oN}!!+%6>ZZk@HvI0#R35MCW^+^@8tG#d^`^+$=XYh{byj5GOut|iGZ&y^?TR205+AqRDjC;~NGiEU zEXDX}*##xI*rA~59nV;ayhGYx*G6IzAc|z}ue>uL?(*ZQHLIM*fp$4*?OS(z6N_;f zj|px7$cfQW8kusY<9ZbhIAJUOo_GA2Jw2Q5m^%H4)d-_c*>s(4eHD-EQ8ZKGlsDRc zSP^ytHaksHp98pN(z_nHMh75#o;LdJCJC1|XnT)278GO0x$}Ldd^LK+i>?usT+%Y0 z40P!K$T(CzzqmCa*}E4p-%O&)a2vOeR~hi1^vVkh^UQeABk44xSqoH5=Ehx{VsoNY z%u5@06bvTCn$8N>uh$h7=t^eZx~nHzyM>f^Jfm8!W?U;%KQ^koJ0T)#;gfl}cLQ{S zT65kgrK6;zSR7L&`bU*QUV&P_JquEbxOaGtKX`i7a~l*D$ls+jqE)uhXJu4S9d z`}of(Rx&36n`a1$+|6t4iMviWmkj6AP(dD0gB}gut@C!mo*v~!q&I4~WlI<|+h zzbp}~BMBvyC$T+ScSkC;2^oz>0b5H<8b`7;Y=wu>#|#`Tt)JQ-u+8+cD-pG{E2$cZ zW8hF|*L_#fn}9IBUwFsG0T3i49!=Ev$vK`5KFfd8Q#P==_KsGe8PaN?&Qv&6;(lR( z!~!$_6(Mcr+0yz{$JrY|epB|_ikT+2M-cXM$mI(O$M2tRivqO7*dyyk#lumfUVM+r zt_8DzcT>R%Q0z+}7bz0(k{k-&3G^cn$cXgey35msh3<5I2y8nsV0#r;UiYZk_M6uR|b40 zy*cBV&Rkn6ZXV0^ptJH0ovos)yuO{;i*jZHK0x?|3i?|16-r{3O-N#rh$Ya~w^=-I z<@IRe&9e&6j_*g$3*4v5Nt1THAYxwaembJ|X|gvnrIAp7pD~}|X{jS@(oQ_Rhgir! zwTsh|u5t%}nsaYIgmeSPt2*9Pn0#-* z&hn?MK!u6}(^1dH%ztsWg9PFf*iFkWuo!Q-9x+#dFz&8+GCWXZCWa_1?DR@$0K{PT z32_a~gvNy<^p-(wChA<26X0Jw{20%5U_GL>6c*&&r$%|@^zZ)vUk*iz8mNu2T@?dO zUW(^?YPTthT3&XZOR3Sh@N@1L#$Wh#)Hpqcc=Xgtf2Gv@lWR3i;1U!@93HZwI!iL z*nfR&ZbMPvxf69%=De1&V+`4!|7qUeb&X%A-7pO3jWWH5JUYo7&-2tS{MHokZJs-g z9`=qyZ)3YsmG3_2P2&ajMiUv^mJ>gcDA1f!#N?mo|63Vt|0glnW&5kF^1qDY^J#9? z!jw8K1zBdExS{ivG?dhvCucSiL1$k4j)B*K0^OZcZnJXI9H(Dg#Qg5$|8B#d@4hVn zo@aP4>P!8oZcKZ6bP4h1;m6=Yx2ArGX zd+f(vCsl;{uTDS_d=Y3SEq?jlEhCK~Ts_v~uc!W>sbI($@c3oNw)x42e42B5H)yC& zYCflkM%ryrmHht5WTGst`d6a$KQH)?d#Z}l9E%ake-zi#O&!LwebhybB3Oy~Nx*#Y z=hweX1b}0wfc4I;YZG$%dZ5p*+vWeunf-kv%LpJ~wku~hAIUKDZ1UwC0eWlIgWAj_ z_JeQz{>VT~?48a2D{}w)RRL8!1+X8Bv8)#6!P9GTej(Ms=s1rkHElM3H~bA=vtI(y zCVcS`dqIB4cf&dM-yY~UL;rI)+a^E6_@wVS}N9>;BX4G2$`Q?gOU zgKBO9?*IFIK@sdH1PHUrtM41q0UI`SyajCBK@OEjXg165j|^xEDo6j10k5+*l|42g zE1TmOw_y-PblH)dga8v(P(O*}Edo2x|2iL17C%vX{V&V4|9<^{ptQ(tZR+WpYn(It09^>7h^{z$ zQvUbN2!Ow$dhe-TUJzW&zPIfD=+B}3dsP2xWgi?$cal5t2ZPXCU)|>dFJEZ`xS>nQ z>DaNtY7TS^{%fk~4Sou29)BgU{p*tdcoi-PSWw*Si`yf5! z*${w}gUgJ??(Ev2#Gjx0^|t>Sz%Q?Ot^p1m>Ur&Qw>8tX%aIvC!*?8SbB@RzqMGxs zbC>-Mz@*FH0{^ny^;gIt*xOD0(#Xk!{H5gA6wx(I_dEoDo6GDofC-16#)n#Z8Z!9> z%lvz2{QHH0M@rBF1}*WS4SI)9^^<-l?I~66b4Qe>;`$jYkNh@y0Q9%CQT(4Kl{_U` zW^QdncNKsop}=*uUv}sHIu{hd<^XBCMW@f?-LIy#NHg|d4DsKe!jKOL@J?#3gZrrz zrxXSGuTccs9sBV_=LWd%_;1reb`377zZCXRXr{n!2asS7e{|L_iAoD*V>OaW* z7e_J5H1pV{m4X@|-MHs?(<%;(b!6UTrh1!LIp#cPj%#l$b!@7M*yooU#8SJh)Y z3~FT7*?ys!N(prQ`u{Es8eRpc#!t@j7I{S1^(|6aqyG2xC4st=bbwr;Z|{xB`T34X z5a_*j%d6&sbmSVI3!xsmj8_au3Mx@E7Mbu_;`H z$qs%KH`r7;E07!kgYg~K%d1H4v!zbg_=cbb>yMZsujK{yzR5wt0s@axEKNJh;rWZ=D{h!1U@SpwPuDLS}`;e6*Mpa$7s*ITvh>sHE`Mw5}Lr+=40BX8oQWSpQ$T;4O%#CR@a6(@){!WaBQ~( zM>KF%6c`>KB$ftz9T)3&ktdWc45y)Ik86EI!RX}u=h3v-0=S0I8~oN22{8*u@0PPU zr{nU0<$lA$Gh!2_r$96t-A|WxMt&UxoM5&L%9W84K+azncmjv*w~9&)PxbFVTd2y) zC*d4@_lCB@a}d%}$k|>JKG=%4)C8IM(!}-ld1heBVjQjDTsLj1R{gTB;>^WbO=`Ci z)Ou);>s4jaxEq6xsEcVaZ!aw9N>&3-6VVwP+Zkj(Dc;5=gCWHkbX78M5 z1*WCU(T^}Juhw;RXtX&pZNu4WI1w%Ah*%p+OWm&ndl}TBpm|HQ3Sabs-Ufyg#puU$ z2qTBPeKYpS0fW=+{??OUv()MA;RQ3Cny&xW29HYrfhh9T7o!H8MI~S9(5NxrwPtHi zLd-pIDnGhtbowjHOb#xIPH!7`2Me07QW74fOqnGnrpep;q;!uWebO$iv(Jse&8)D` zbOw7-ew^I!CE0p zA!*0_T;-=Bb?@X5?u(-#o90&GL)D+5(Ax~V;43qjei<|G!tZ{`-!@Zwrxi%SCy6r% z>_IkXvV9@tC|iFH{KFFg7`=!W2sH}ZIPX?xfqt^#E&?=;jF+g7tlh~eY z!=B0&4DQ;CI5WfXsM1~qc+9vwzY8AYRZwF8?A3hVK*{kAl98|`4e=Es$+>VutJhgkj|~FCLQL!Rf#%F< zNNIzWY}SyX+Ev9SQl7%=>-Oe=11R|vRuP%QLvRS%Rs@TQgwuyM^oX;<#Fi2edA-8J zbk2F?Sj;!!PYE?wQ?)s+w>?!wwx&*sP=S>M5a?+Ok{>Kx6(1J5^v{y*$Thg90$#53 zUo8)s^=wUCV@O92E^kmG^i6gQtamWm@5>y4(xe`Dj4vsbLOJs#d&)ka6!w#i1Ftl=TA2#k?63jq(_A7uFfjYmqd z+7Ik2kShJRZjmP#-&A10n7NqYYK6@kXnjC)_aFdhF-v~B3q}F}evhbQ3T!BglQ&jX z8NAT5TF`WuO2NY4Jf6{8gEGOF)fh)DAlyqUo0?!AlREO9+VcgoH`c|4U5{rpKkx{G zs?2v`-AbiQ)r8LgbF+*$#&@mDngxYV1r1(7Z;TmYT6Kv)$}qEVdNev}1ZUp4??jkC zpPh`y(I`WfaUzND4y)?uZFEpD%fseqk78td-|)a-0$*8MJ|`2Y*WZR7eusKvzR&Z+Y5+PutU{3*xq&K zm$%Y4{^!5ezm7(29XHxXBRcOCH)PeAII1w)dFabYa4W$1m!X-xIXD>E;mO92eZVJ| z3j1KpZ*@9td1inN@K(y2I=eyrJ_&E0;1nq3-pNV_qv2?CzX0zkMM^mji!FB!>owYs zGOE4c54WRrtP0cQk3O-Ie5e5Bi$nJWxvc6eO>=^+7`#~>dI+A^+^s6s9R|9k222aD};F}p$kdBYLStEyb zpPEcH!Ca<}rsPd6N{1=ON=guYMOWG~Kkl84A>jBI0x zd%ioUI8t<47>Ri$Kg@WPc#n+SF^-9}hSgl$2nxwTNy=@hnLE4AQ|V4#2l5ZVy#c=J z>u*yydPvOyddicK__R->gxNOW9@?=$QqObHb4R{jKkD*&VYn9x8-ZTdb`o8T)EK0| z5ac(_!RRkd~)1wGYa0Jc&MrwMbwYQK2hd5H1WUuHXjB9kTw}o2Wi^PP953ltZkIZco@5aHhZ=CzC zy=}D>P}+bKKbs&s-+4-!o`~rkI}^X)P&&wozCgcl-;Z#eK$@^_4v-CpGxGFahWb9m zGqm-B;_T0$ls*K!n8i?aNJc=iteZY=;DYB;KZ_Y$nf|tiSKaLTp3I-J{+JNJ?fYQk z3v-u`98@Jn>D}Hu?SdjZm`gM34q=lT#}W0{mmTjTIsqG2Ank<3N)lLNz8?r5jFCDa z)5;1Ao=+cc0cb`m>__UF%+)qx*4--9(yQ7YYXaP4T#6Xvc#Jucg-^ir>?GI4^}W8(FDz6+Wgv%C0VXEv1MvM_)-<#qLW+q0R&4#cf^RsiRUuIu zcU{}-O@);#fJE|xX<-3%7vuF;zRWpieOaRIk?x)Mw1SV5Fje{|b+^N^&72Aeb%{EKq+=naOCUxEUBJPzpxQ(`ri2_OfJSDs}uV&YzQk zE9moI!7^XR&FgwOIW6E5m(Kz@i7q}L3@$8zKN|Z+8bX1i8|+(=2-a%FEhfK!7Ngz+ zv+=@*KPeq%wKff#`eOyfp)48&q#x#J<=a_E3C7;9B*;;-Hdaj?R&hz(<6tS$(^4T7Fc zd3`lOTE`F@QU<_UJVH`gF5kPYrp=#}AUxbNf+ah}1tSjFJlvY;O?ef&ktF+oMrb$I z&8q+bJEh=ZAp}q5uAVqycK+q-L4rHi`V?G2!lR*S)8Gj?5Beo8hn{6A>?q)03_bos z{5?aqZ^#~B`&=>__bDT7Q2uVzE>gy97c?(9d&y$`K`UenMv2Pb?y*HztIHm)I{5PD z(l6lc6)H=6A(_b;24ixKPfeVjdUubT&(0|!7%nT5q57Q>$72%Z(%g2YEkmL3dPbX9 z13z*;Piqipq*J}_T5N&fk{e`jrSRpW5I4OPZ-5w1MEXXiciv2#>;=QHKs;ob719rD zlM()^Q7^SiqwMMq8E#XAUSyH;|GZ|E%OlPMybX@}iF5Q@BjBFKj{A7lQ<5Lh z3SCczP|E7kanTz%7O_Ep1QQToMU03h81?`TPx``!a@gGazh-EEvb#r%v%S=sUX`&& zr|@cC^TY+xEb+j$0}BxZWp<&!iM^hWEe?+~S%G)AJze)u-_UG+O?Cjq_YO<3E~XMu z9Htdn&Qe7BW7DkJy--#fpOim*opxIF6=6(A&u(ga-F75%Hsm$OV&+dTdR-~^+Hd&AOKv17op8OAofC%oRc zcf)^%ps6fcDn%p|-J#?OvfQZ=Org^`viF{ z%jX)LQ&y21zBJh@c0e3mSfzHEgun*PkEY;iXUDh_dOcMIp5I0tE*)GHpzjaBoHT~G ziuI0bfp?E1Fiuvga?zZzTG%fKvV-648pFRB9Nb+O1-RP^T3N&Z_DYf^<6GeYPScoW zo7yYS?|b$v;lN`qlg=sd-Siv>*n?_VM%Cc_+=PP@%A*bN95Xk>g~u`l8q&4{GXYKn zJe7%ssk2pK{u)3^YW0Mj2G0+s1K~T3vN8KHg5wb%_NU_%^}CikG*$P=5mkZY&J!tw zIJO$VVPjAZYdjD@T?pvRBEMl&gTIACQAFkg!W$A^r~GbO7jBld1oGp54rl)cg@2%% zAQ5|O{_-uW-Xg@IpE;*lS{Ao6=_v%maylXH=(DtDyGQNvFv>P(DkARLW;fRNyXF^Z zwSGw|Lq%PXj-{`%D5awj=ao_B=f<-pVV|R64J3 zBAg+TI$t4Ygi>}@SZdufrU=^8P^+n@F_OHCd~s8B)j7PL7vWgx0~897UsQd%(u5^Bkt>*Vybsk=>e1GRJ-0CVY|d<}kHKPVhpHm4~~ zF~-Hc+KY9o9ZW-3Ef5gIriRx(CZ1$i4McP(+|8KP={=XwDoc7=YB)N-%<4_Et~4#Z z{|KQt%zXZlJ%PNwx`4p!rZXhgO;M1D=E%2*r%Tt5cRM$Z8542GiTQcHu(7W!*~PF& zhQ*Z+>{2%p_d(v|WlUyaCW;CN7)5Fujoz#?4m`YN_9Q43=Z0W^E-U~!cstaeqBRMF zW;dRc@se)yZ6Yf_OoLl{msFA2YoC$a)tXNeviU{hev5NZyW^a!-zCV(LS5aLvbq+tq{%y0yA zEDreB6ywaY6?oqYU^6l$3se(UTKa@4CYty5<(qgtwO+>CWAknqYK>xjEBPguX(V|Y zv}tqOAgTN>pZV7~9J0ow(aGUCfEOYgE`hh(;eb2gmP1vz>gSq|l(Z9H~98QcM6{uN9zX7^~Naoum=6M}OBb zHS2xr%K>Av&YyS7^((oS>!&`J0z};lUEDsQ&*r8>p$mH72IpsS%6NW2hkD+n)_-ur zYzH>eGWqtY6=+%XzS=7S30t1IqEV0%D|BFc-1B(f?k<~SJKVJgg!#6E?uSkOQ z#_JUH|9b67UbmhO23DUp_2WY8_R+(n>c#Wd_)`|4ha2Q^em5HA?hU={k)vSnQLE~M zIj4jx@gZ?uK}{EHdap1<{TmQd%JIv4MTg9~7P5)6c?_UQmY>=gU$cGfxfe1&T4YNH zeJ#tickMC8{t^csm=I*PG}bsRE1OxSxnLwr^62HEPu*a3qq$mOgE$=8e&WVqz7CN|!NAYm-ocs42A;XnC!A>G+#GJDYM1^6yZC-qD$S8sAbKw-){Kt^-3#4 z9wM?dHPit-RR1ZZUAZhZ%=w2JaAW{@atvHXTah~v-Hh#;8iI4}0hSau3XIyLDkJ(T zm!2kviPJR>Zuw-mjjY93}F@(dsTWQ&EznuGKLxc({IK+BVo1z1rq`x3Gu| z7rsmbT?evb7!9ViJa(66u{4Fh#{U{c_R1BQ9Z!iq1pe8@vpnq)0 zk31y(;p);;7HFt)bUtaeO3BZ>ZiBV4q$*SG#cNKo-u`}|uNT~y?U+57PUh103g45y zrMO!4+79eXkSY}`mqzg`K}$m(*WgTUKq}20Xf*}a8zcbc#fDEk1EVT0F{dcNFBQ6u znK@V~mh!#YK7deHm(|QVH}xcoY8Q@G^s zn__9Tla`+~(swn$EMY+Io|y>4?hR!QPrNPqwjXG^Yxc0P5y>b-By`KF8XQhs^k^D_ z`z*rEa*ZbMb~x@6ivS62s+d6xpaAhHPIo0gUNVgXh97^as%CX+07|c-I$FX+@_GX1 zc0>y`#(Yt4UP{PJCHfh=fL_MqBG8$=4v&8=DR;> z*v*AQ&M!r5JrX<~D}7f1;*qfsk(>so>lb6>QMG`Y7B{pTqN}nE)tQ%EpH>3gd%8>^ z?!0zkW6|#2MQU4RgT2ZJXY+)~1%=ZH8NQrYp$&2x1Z;GdmN{~}ReJb*k1TTgr+NnG zQn1>J0~}85Mj^U1LMJ-n68(CCPqCQ@kh-L{;RZl4XZr(kI)F@*{!q~1lEZaR9rTpx zACEBRnoLa;dEDLc&;}zX9J|rCFdkh=2b)XF(&QE9nvUMcsJ495R+^gQ-Uh4Z^XE59 z*N-;d?Jk0s&XmlT7c7MKJdvV*+-eZj02LWBmz-wIgaU6f3@j~v>2J6Owhk9A3 zSM=Vz5iR67Ewhz-! z_7-ywe;`;s?t_eu9B$gt+)fxbo<2JkRfj{!YEB+Lb#uBJo@G!_?w}(5`WiBANNRA* za?~Z3YhM7~rW~J7>{L>_%HQQMNY?6qs%SO;RM9Gc8rWdvLV&`z zud>1NMEq;!$iRa^1BDVut_lBTe}1X-tdiQSHKcS&>Q~l=r^elri_{M4@kX0qln18D zzM>6Yn*By2<~fVNFs^s^QQyt1NBL{fBGUYY&R5^TP*A;Y`==g!&6lqQ)i6w4H69-L z$#0GfcI|o4EXuDA#b&=MRYo!=ZHF-dHh0h6SA6?}wr^}B6;SnVx)41FiQ)^Hy_Cvu zE$8*98KSuuK-`H%HOV1jE33)4>ZfVQ`Olh?>%iXU*TqFm95Kb`1eR+W7PxNrj}IYz zNexN%1#AwtaJBXfKR~+ZMD$B3A}OCM8_}yiXic;}p-qRU&;x58_s9G!i;CPTYL5zp_;D>wn< zKNm#S$NYUlkthz1qK4V@k1TUsCokZ%Z2d_~pm3GwKg5=mjBy#N2?V@j9Bd}gmXxt! z7F8b&)g!z)_x*ofCiu4!1G#FDMuBj6Y2$>2$YRU?sM0ft?xU<9KGMbLk=L4vxU?-L znz_uQ@0T%M!n*BJBeZ-p9~SAKX?9=e$wvzU({NAIi;xI=s#TfZ|Lu)Ec@5|7#7CWW zct06?&`Q=sbWh%0D}o0$WC`}r_N0c%e-J@qlca}f#f2>54Gj9+js)ng%h%XUaW~Ok z*;v?C5HC>Jv*-q58GlwR{Tz%y*VhR*Fc)rhkEChR48XijQN6&;+AB8> z-}#6x$L7eLUen*F_kJ*SD6dG&Gdp$|R9;@YcPmV(zC_`eoBS~~i}wUkMmg<9_CAK~ z;;&dgcy98QB|0sP1voF`v7k3CGo}1UWEhk=ex2>yceqOS)wZ>`E84_U2cV}r<@PQ_ z%In(7M)@0J)sH?a8}4XNP##!CPO8s6Jk*^&o6W>WRHfxOeWxXN`hw$K?OwAx;QUvt zmZxby@^Cy8Z2NNZP#@Zy4tj?JReR_*i3(z)Tea?-99H>w8k0Nw?$U>=DsoLp zX!Hi^{&cD4(mbPB{wrSH{iV3$xoT{1?Ub#MxrapVD?8flpPE>0eGs92MtQYUwuE){ z9oSkE1uLU9CS^;J$4w9gQ`^Tg$-D`9LfV0GBTj<_H_GOtY@jJ~-r+lDi&Vm}r`zkY zH?u|`zK_bm7`y8>nZ^bAuVU?YnwGWQcmZA6x1NN*4=%q(0)?eIPbD2`Z5fphJ z`uJ*&x(vrjTOlI@vDP(JEtBkaV8R7b_qi$)cwE#WEx9nzIdpWR?3F9`cyGA}KKI?E z!7=eQ-gM`d2bX2oZhC2@F0v)ZQ+2JQrsgTRd_xl0`xa)nKuI3D+1!C)7eI{N_ekr-4XRWfeXI&r0M1p5sBZI}AaevQG?D`rEe0Z=6M+F>`28^1TGdZp>p&k>p7~6Zc zd`VPSFuprIhbv2h7}|=Zpo<>mbDFh)ukRk&ETx$3k$i76^F8PXXKNH;^*zzr4Ili{ zOwroHJwOXh#b1UBPW*8V6`q$Ncg1)nJ~VMTePKPE*pSsQb%KA=xSmPBtNp5vyY4?~tj1$5YNm30IcTIx16BK)HZ^p0@l64C9=Zb49Tl8)jLtl}B1{h|f!DpJA7=Xgpi5Me>88y{>Z^ zeq-!q>7eSzQw_@VP1l`H${YVi>EIT6?u=6+3j(sL^F-U8Cu)novpBI04{><~5#}On z9Ch_;TWJ?x`e=0AP&WDa5KQ1PWBmFB_nqDIc9RkpxI=HuNuYP{tt`YHocgrE#K(aE z_i=MJpU>3Ge#-vVe(r zLdVb5r-f)=3sbGCl5mU~VI=8G?7=5tOKje=$cSodI|7YRoyu95WhKp}Suw-@?GJm{ zHzH@x!Ggm}8CxN&E+5+W=uA8VuaN2-=x($^vfp4sHqh7aUXdUjVX@?jM2U_)jon~< zySQ&n@ajJk8HrN8jt2dAmk#tH&Cwejw)>!}AfruIO?b*tv@`6`45tiPk`%jW;6ZW^ z{6uQ*P}wQzoPM7$>+G-RYKsjdHl9`FR}VrcTR#>5m~1-$xjB%0v?USTfdqM$q13L* zngW@@M{_J`0K4b0hXv12&6Yhr5rs43G<4$^l^2>fAc=}Efpi#nFk}R25|!szp#x>G zrc7Zr(x`&74xXsSfV!T99Ji&4=GCq1n1RW1oh-`Kn{!UO7sKVyQ+`y!jdq(;2ryZE z2FI1w)wQ_ylH0&N8Dq9dpbe=ydJpT=W5zAH@C$fFfmSiFp*$btRmM8}++JL0y?J03 zj4D~5aIfXDvTo0Un9H*)dL?Y>9Neb7J}3QrxAH25Cy|in#bbH7G7OHp>j8- z!|^~>73sQpNo4`kEHaFHZC32HwS4Hw57lywgC3gP+v(Z@vYh0dMX~WcET-oU8w^N0 zRJJ1vf78$D$-{h5ZmVW-`2u#%XvzY1`auw$#3?lMLW`lHxi9o1CCBbjHda*$B706!K!R*M8L-d-y!BR|mp+Vj9iLDr>^~fXQKmh( z7{9P20Dufc4Vt)@98CkgrZC9UHm8n?;0*!KtjzmA2}uBFb98oW)_V2`+X6{VR!5;` zxlbxc7XS!byO%K76DqX${PXu(O3K$-IH)z2xQ>PUm92O0Q$_SEpwTrduVCfguE0NX z37wNU4w!}OqU>((*0bQk&vWNv`qWPWxWp1yo$L92`{TFu-5}YA+~(+clob#*9P{(75svcl8)a zvU@>3CA;zK$2;CGFB-q*S-6dR?V6B|1wHaf$nZL*`hx9o-1b^@|KZoe{)%OC+lOdN2Ph z@MbA>Wa>cxyZZ;=nsF(t(ppB8B+e%=-0Cjdla#u3GSb(F5l(YErCf3ohz2ZwRv?s!^0{+L^ zq0acSe>dX?@Vr-PGfeWh%Jn30Hb=LGiKD*HjW zgM)gdAD1=^7#uwMkc8)jcuIQ)ia7Ah(v0MLtE+2SpmiXp2Kc5PW=^ntXBh^(P^04> zA^!N5nuKFalnl$7&8G5A;ByBHek-@;iuSlZs<9@egmhnvcz0#q4^Pth4kzr!DrIZ1 z=kh|XF8fg(e79~)2~MATeE=pjsgHQ`J459#fj1N$x^|eQqV5L1H}*LL+oKA+YpvCe zE)ddHOa8Kbv<;s=0qe(WP(2Gi$46AuZV09@^-~pFZlu{2FT*s^$SrdeO)nkC)$Gtu z8F(umeI!qSHal<6eVI#hr6wKadfZjGFH@EUW@mKr6ZZyb3w9=Yx0&`%bCmc)Gh3&> z0;%S22NEc0cO4AFHw7AZ%I3bKQfN823@cLUg)uRJ?B;_)tKojPcsMRX09q>C{-jyZ zS2ZZuey!@>N>i|sQ1g#w)`a1EZnzG5`S=yK0ZTykAgdP6ukQ~wcn zK~bm{$|_vL;Jg3|b^8MwB9Cf026|Kg_Vn<*Y>;lO(nGsjo3fynIY+uLb=qvrM(&W3 zQItH(jn|_D3oeHl%mE1>8B@u-t{2r|cIhLbimFxGQ)H8x#Kw4bR_yfcmR!gMN1ZhT zfP|c?$O50u9sw3RAL3|U$c+N*Hvu(AdB4VLk*bqmBkWELUUa<6w)N`vTeFceF`EHN zK||yO99UKe+ch3q_NQS+K0JK=%z96eNIzxtx~@h_mH6!FTuQ(qoacg=+mm^NA6zx0 zEI&2s#I1WPF}}XJH62e-AIF1t?e>EtcF+0o9=MVxBQG?rxO%J2GE!ME&DUi3wN|k*iy%BiFYsD(TA7wA#@_=Ls+j^vG%7fiPTV(ql_V ztVQ&ng-Ksd#GQrRf8-?93Zd7TS89c%rn9};F#BjEAH89=kblGW@BH|5CfGM*2)t?e zcu9C1Z2%jgI+GLdy*arm|W_-Iyt6N^LTFPae6bl~d@`{ukk+z8?X zmU1!++>)n&+>TP;^f8RIKVgSDfql`Wc6?0$$!hx|Ve!eR-6V*`@b2$NjB+Yh{gB!CE9X2j(gR+B@$wpg8N9NUFUR{NXdCCYT zVP8LoPl;TMC%ph~0ClME!YVngI*a4=6Z)8r3f zkNtjASH8VL31A`i>{q@8eA3kp+0KadbVy?8*%rP{A5SPcs~F2m^rI4ZugB@vY?qkw zd`I(Eqd);54+IA!QpCTHuP|!Kt1mjwJbPch75^QKASzUAI_b1#?fKjCnp=8j>zx7evLAFj zcwQ87P3?+mIgI;d?q1LvgRm!=Rmy?WLJP~@ICS~^6h#Y-|BN~hM@|`#>8}5jR@{#O z1e=Q2^QIkbJoH(v$lb|9A*@D5@D|(iyTBMHpxW>=;U^EDH2b?Arifm-e3>N<1eJS2 zuVSLjGax6p+V3uTg4ykG-PoP|jQ)w1ma|MPFOaja*E-42xAVxkZmBawm$>jeH8$j* z3Jaj^{Hd@Q3YC1^n|`r!Xu&@7opOa87y%E%=e;=)U)!7_q~(U^$=+#7SL>4VrSEm) z4qqE3cZ8NQjU0fk7LbU1_}&%$0rrxDP%Riu2chwhveC@idGyAtYloIj_y)RVL;|@{ zGndQzdC%F#ITgKk*L@)F9-*qNs>_)mBJZdrPBQ;$z93CX%Baje3ln)Lf@6c}=$jiw zqRvz&`MyH&@{0(zLg?;(X=t5}i%&W|i+omc-|D};{N|seWwi6NSq*0(3p*$U(p&&< zZ$Raydx9idDC^@H&w6mvpzgLg$e#pQ3hYe&MD3^e?;CO3RIPK0Cf`d>k42RGzs%q` znd2(>L9_&b<7Z3?h>B1xu=W_0%9Sbp+5J;oCvS^|ol;M?Vc-N+Elz&0Ej3rhv+;rw zaa3KvQYJYe?5&%kd^3TBwX73#)H(@pRF+G4{(Mq*Fr`PrW;+l z8yerI^Gq+fr&(Pf@wz@Xam}W@I({OabgkoLO`S&;++AqSm=OIfyFOHd)aGIO;`P>PB`<@#G|O3KZiA1&l@QGXj9JC_*j`^ zq_Q`zNtR&B{*YjJ_i1^XA4F*x@cK3-I{FmtdbzwVYBiIc`Ce9Zx?VPq5zIC>7qU@j09?J)=?&SoC4Q|8F`B z6{Kj>Yq=>w?2bJs$Zq1n_QHP1V?R~zTZh_sDFHBQFkBFnIv!6t?(VG`Tie>4`Al$^ zuD$5U2@v#kap>n&{+d~e$HJ|pmPW>S%46)pokg5|5g?O`>XkLx%fU=vlXrISm8g_M zJ{uX_m$b*p4w$=ui};ta@?~evacJQL-&82RTZr`LuPG48Ra{v>eq1_l(r)h#4=(x+ zd3+)*R9){jv6p_1fp3~6ZhLy2G55p14U;j|cY+?nS40RO$HSJdfsFDH@Yz7#6WkRn z{P}|#U#|fxXF!D=w{q>k*rlM@uiVfAnTvZHBy8n9<9>Kt;)m>$=CgHgf2OQ~>I`60 zw7Hvv&-9EXL9cH`a!AzhH{Pt6DT_(GvXr=qKByNJ0H6!@vQ(4vWe-~vd+kWJw5y9@3oI$mhMeBB4o>z?}!@Na`UDW16`)sPcXt}z#hCpuIr=1Dg!k}Xj0 zHz{2{CrFB>qF_$DFq}=gPxPY+-q#`f%*9^>Z}UuY(@qF|Bw_?fE~Cb1ZCs`DA}am_ zN%lRAq@R%&C`~ew83Uh(t!Ct%X@zv&IIy2ZX1*J0+0z+yIDAN`@<=j23lluQ3V((2 z?lGd96}z89e7Aw_x#MI*$a`1`lOc`C>xe|65?<}}wn7x`5zjV~EBZ;Jd(N24RagGI zixU8-k<}z#njYOuTtUa=N3xXaDpSTIdwWo%+q-(6HC-Y=6sQ0yD^4Nhciux) zeqo2vg4w1IBKV6qa{{X|d_LFOwpUGItB&(#Q~SV=7}81kbd(e<@8I29SX1cw%E%3z zms}s0AQrP8TLsOm_*0!3lCJjII?YbdQ7IE0)(V5gi6>m*GA~COn&;v|0HVCb($S(7 z0x;m?qh}6NzS?Wuh#*T9ZCdB(@5eKJ_;4u1S(a_)AEzLi==o9`cqh@l8oF{yvarB4 zfh-~kynZ3nd^fHE@#&B>5pc-sGPrN=_k8EFZtXvmnbuN3nTaVa@Ua9kqmOu{C6Ji9 zd$UIN#%&$$x)NM)?+Tp6&cntDD~_*F%FnB}Tc>5f{^ql;(XU+^|IUx26k&r@ zM)NrLlkMma_O{FN+SP=o{1`U<*ntbmK0MT=NpP&$6@G^y&Zh#50c8zaK^;Qko@H0H z&-_7rf&k(ZGTt|DuG{3+aUPMv#o2~GxUja)`6&f!ydr%Q6_rCHj|!b@raPf0$KLmi zl54X>`-0h0EN$*S5REe09i?Ui4W^gFG+w!Hfe-2S?#}PGUUvn=AXG>|;$DsHnMg(a zncGYcu>Q31R)W*h^OPDJJ`4^>fUm2RmCLOJNM+me;I4LWU$-QC*W5C^0iuPK1qgH66OoHlRC1z+pg>8;ER zUjF=5T63{Em&~sRsuMVCpmGlxpGaOTGkNiG{|hNP^Aw$yaI0v%QcO3q3gD=MMoQOb z^DhUPL!aA-s{B|qcF$OwQG$VCg#PUiCfyNR=ICcazXpS*dxE0^d=j&L2Vwh7sN_617JLw1>@!} zS(9UB!3iSobd@gl!~1erf?B`_B@vI2pF%ovKJHObx~8%4-$?d31TQ?%ZYU&R5}!%? z65$}H@vMAEi7U|^w$)%I|6+5xNTEBFdJw@=Nk534mpJ8p=pC7J`q$zi!o=rBn6=Ri zDc`?%iLW`5q*OYuFg@d8q_<5`V_yGUlCg)ABd&m@*G3%!qr0t+t0DNA%J}bX7*C|ZThZ{n~9w2b>hFNT$qdk4e0B*#|2RWp&~nn4A@!d`#N$ za!OX4(u?j6OyM8$!LXZtW^O7Zs&(5}uT)OQzo7hRS9w@{O3=sF2A5bSss6TU@%N6L z9C%l`?Kr4TV}jxSd*pv|=Dn^0N$gyD8ebBrrEr?oEw!}WO9G&?Kj`%w00xCz8mP95 zgH1UGnyosk+(F`X}`IG+I3y_yL30eZ+Q*CO-YuT!@< z(YzAdklN!b%BL!Rpdx%JQ>>ciJSzK+Gq!sFy4zs>w>sO`Qy*)`#rX7al9aGhwA|QSw(3CLJ;DGQO zaIspCeEOo?CkB`-ebf6VP;Ho~L{PLfHkp-N=_||*d6xRwR{cn*8M=1wx@0hYrUrj0t~+ z)(2l^oRbNf?8inoeO2?4+JAneu#&c^zL)eSdr{8>U0-la1hfX%yF3n8fe|vSl6^79 za9)0UO8MMIZr6UwsM3>LlhORK)>$wtBs3@f+_12w>N7mYoo_x;;N>75_YN19TdJ_K zJ|=VXBe#~+mPU5?b!*s~oU|}D%f|N2Oa_ymQu=hW_@PFo)Q+7>ruQM#Bf z6S}D#J&#v1gs~UiMNRe@Lh;+V(F7WZv=Qwng(JMzmgigOKv=41BCK}maLCDHl`RuO zGBOVGd(&@r2}xssaj|{e&~{tGB(WyhyD)iVWw*6b8r@LoPdvO2*jolC)mfI_DP}9w zOUBCJe5??7jJ*DN#BcBwjF3)}BXynX5y9g9sE$j%PVP%HkFQ&b%WjKFvSWgy(n!-fXr&UQD4&H*;2XF?fp} zIUI#CA084mc0)^doRF-tx16z_`jIV{)ZPT!c{&dhfyeHvC+E}-X5=oA7OG3jPoOT! zx|()KDIsqrA%ovvD2cw-BS3FBYYLX%;X})Y%^LLCZW zljkR&HE!am2 zTO_;Vi|o|vnbaf(J#}kNw9LdSuQSm@M$^@gK*gq`<1noa%Z^W4#WgCzLt#fyPR6px zF+Y=jlx7MLauvqDsS?FZ!&NIpdnyC;^T6)+Krg5?`IWwWYq!_08b0?T=C3VC;W6-7 zjY`}_?jR9H058gvg_HlQbw<;IGz6(%nYJ(1;~q3u_#a*%d$|ujyDy$r!f^H0Sm?4= zY#ZNa&Jo6i&gwcdgbuv$O+Hm_MW-)}m3Fk+(jz;QCfxOhcW{z9{hbr4<3>+0Uwl_S zMuY=Rh_6OhojUEavAx-k3phu^di|XCbw7??rKS3^Fdd;_i>2AugKNrgs352XbtVdT zR1`m-Mtn$lxPZgjz_`U813tg~&m=G6NqQ2zEgz2ah%DJ85C$fy<_(f30 z>`||Y#9~Ls)<{rMW=HnBZ|=v(YBTM}+J{1a9}xdPlTQD)RawpgzfSjLlkV#UMQ?Wb zdE-{()BrK}=u1jdf9mX@zMNlW+jy67Uy=~>Wfx6vu~4tc=Zv$>B0XguYep1{6+GxN zReiFw1*!L)p=C3LV!lY@XBm!Mvf$2*_WW#ElY~l0^L4Cz0O>D9pBJ^;$bEuw^%*** z=^8Taq|Iamsw7~v`D&+uF5Fwh69y~EwhQ*= z^JuNy$yo&WI^xep$=3yf5^k*z_hj&~nkBOV1;Wjo)OqI5*pNBYi*pm2%yMm@M)syk zhM|FE_-?DfPAOXnv!2|uLG`GS>F8@aPhHdMVT4hZLeJepIDU=4i~+Z{n@d7j$vJme zsGE&~NT0sMSqp;I<%2e{Hywa&Knp{c7|%WtZ5i0<9TkEXANny1wk^i{Uatv$G4~^h zoL~#u6t#B(B+BeJE`8T*!&5vT$l(*Bj0+-1bjug?jb;f+*?R`5h%SNf_euWUYw|pK z67$NPLKmgB74*zSZe-8PNucNkB#LS3s%r0+1eUw2Q65XLrL3m;uFEL3>`U>Oryse| z+Z69fwKzK}1%8+IycfDQAl`TZO5`E(CD+wwlk$6haK9Oj$fmGniZWU##S|YFTKdP7 zhcPO!^BGrI>>7tQ`L!>JoJ{7s9>JCUlzg|$lTv8!hq7(~b0Xaiw}t1}AAjB6^&9h9 z)k;K#emv>zTq_n5xiyn27vR+k|34G8GZJh?2G0eADS&yYD>UcuY}`}ids+0momG@i5dikG!uS>zp% zeVv>r2;8rbFdiyuN`6x-Z#kMgyN8Lu^c6wEgV0*shhOs7?<3Y;JnVgnOWM!u{+hKT ziD)rmEqz*VVA%f=Ry$6(PuFuL^FF*9Zj@mgaHL{3)ks}_vP$q>o+3TP^gX~w1l-b- z_O6T$KPf3bYwmC2^!{rCLAW6+QMhrH-Lkic>fQOZMrcCrz ze=kcdskMw97PkLR?fY#?uF2V^XMibt_}lX)Ia^3yg^)xGE#j}$52I@|ow3Ei628!W zE{f;2vu@2#XA0J*mc1&nA0JWF!E?e|bvU=KU&K@k+4x^cD(w1WQm){PP8>O8(cJ%2 zm9wgde8-l5J=U)7>dezs4&~+WjWoBL@Ijwf)Bh@llWH%#h6g>#yS$+pxjm$%VBnF4jWf zL8U1f+2d`hjK43~c;R8uB#&_+X7I#vr?5&;oa)u-6J+>ktY1FAcJsnIWmuiAxC%WQ zylDNGl<+s{M`E7WYI2CBs~1)iOtEyNs#cl#!BlXh4QV^c@eYy6 zh5h37lQ5)+RI0Jr1-osL&prtbgjA7W3!R9P&lywr=w3yRM4LzvMXIqshv33PB0o4v-`N8O z9(;!iPS4)$9$KF(_TlcSl>?^&b6$Q#t*if}G-iu~S*pFFujyugfNxcsHCN5zwjF34 zmReluF2~beAK;PxKk<1MN~THYV6N%Z4Au3sLpkySOy?ncpE_n_PPNaOb-qj`p{n>H zpm1QJK*OCM8yop=-irtZ1vW#93?eV?f)@EbV=5n}@L&TX=2-w>p*t<^)QUXmx%ArM z{_r{qOw9HucgwM112<;JsM-oy!~pW<*kFdEDmwH2%E%Kich|RHvG=9M>(pEDagR%! z7V^8f&!X=s%(p_~`wLK69!^fCs@*H=Qe4Wnx=3aB&W2iW4AnmE)=vnY5t^8GLLm|d zkB+ghi=7$)!mnZPxYPajJ$eMxO?>m8HHr_0iz8Z%kV9Q|;``fexSVA@$bj7jeG@EChi4s3oPLA4AAG*1EiY22aqv*X*k2R*RMsYVG!NKF80ifUJT1CnX=yo{ z(vLBi6Tg`SIEeO_9T%N2Exhr&@`z#-ZoAd4uFAU$(9Qa@`==e>8RUQeULl!bqbvUG zAn}B;FZgBUPun+hnr@l*R5Pq$-s@M2EcZq*A8+&gJa;p}XKx#J1T}9d{iwQsb_`xQQ|=U?cIv4)ay{L;fJm3KH8*gR-A_of$HPW|M6gb zxYL~4vV&taLcN8y61SLGCGrw%Bh<&+)R%Pwq474y0sF6TfPnPx9}?(qM`!4E;(St* z?&5N6p2E*`ZS1EV3_I|UAU^xs9!6lCS)ctr%r9?~$4d@slln-|sQhMF9Qyp1ss?r8<( zPeItCHYOZ*q*R@qJHgWHL*=H5j+;3S%;%OS5s`d*PYa^>iz)dB9EYIHkoS{9r1*Gh ze&BNIT>nZJ-%Ijjzf=(#Gx7+u>qCu1k4c^iPJC>|Jco8THIhoS_TS8Gn9dkMfz#z> z+cBo6gFR7$DZJZp7-jr7eFY_=x`GjVqY*8VJ6KxU;%Cp!g|uLyVC|JjG_zo@-w$m3 z!K3?_48S$SgMWLxeI7kDz)vp-HZsSE<+qw+sFiM0>CnBjuS^UMl!UTjhnO+0p22#` z{u)CWDeHUXGBSIU6GLolX3q)Qjb2T%^Gi~-My1(F!#63g5vZ0(Vq5U8q8+~NBJ0id zMLJd_PswZ56nwGq*gcuq6lQ_PGXd z9I|H+N7+^*xyvnJSI?Hwo^vj}zyx==a0I2}c!Fn5T7a$v-~j0&Dr#dr+6R*MB7(5y z%H=FlDXt+JsVp@{8KcV{#maa36%E~5%=8ghEL}wpdd}XqKqq_DRpW8apT)0BU%%qSrgH@^^Ra?RhFkSC*s@5hO-iDC#g`ka z0iCbuixfk3+yw0l3w*RH!LmJmLmZx}MCur(d9rHy#c~-Y%xL!bH|URHyTfjER_+*U z{#}WbdbcRHlFhf7h~J_A9W}9NHGoNBn4wj#@?hzM8g?R+s9H;O_eBPJ67i^;7o&mC z?Yg=P75|Tyvg<{zHG@?&TV?n1o1nyf(d2OZvPw_A=F`_fgO+r zSds~p&46P!gE9R>-AEY22}(T#3Gmi?lNUsjga2YxHhNKB)kt`uOB@H<++ zStwDgnoxz+e*EACylSj!?+Su{f(~{)7Zs#)lO1CmRBFOP)kqN*1SLca)F>ox)R8=0 zV}{c<;tL&0fq@*+GOA-IYq09NnmKa0%vaIr0w>t$VnfWjaZ|&1iWg)Ow-?(0UCSV> zOz#EL#Ngeq#j0Yv5PWT~-}+Bg9l^U?UOt$*GWL2FJvP67%E)Nk(DImG?6Mvg3vOc1 za%5mL%A)hK!>%a1RXo?M!|78V__Ky1dl4pfcT`9Swq5FkJte1=Z)X3i3&5iPwGHf7 za~i~CNm)>75ntvZ8G!@pXP@E6^EVc+1HDQNRU8mS&1tU?k)q-QS~ycL?8gz@Ya z%1!M}lL{(Sq2*p4I>y>K>$1+cqIXbdd{V8lB@EV{nGXT47wnY8-Y&t1@aQt^T$H=I z_jUBXszVYPhb;KAB&hhpgDX3Ys@}tXu2@42ut>3puIAinpW~T3_}oADFC(b`c-mmx zo4;tigFAZ|bQNv z0=JL6#QzZ$!HpZdUl}2ktTL4XCo4>bwmV7qU3d;JyU!C5S`&2ji5A9uT4I-QOB_a* zk4iNhev&n)sNYfSx8{Z&+H^YfBrjK38wY~P!Z02uE|e6B`-}eaHQ+F!UL0{ebr;@j{5|!`7ycIrTy|x;;8qC z!%$%4C^u+Hctb;ag;*RSyB1b4G28iuM7$PXOhtCFG=`# z{cTHv=M%ti__W*}AZIM>j=}~Q2iiP4mdUis07V@f`)8sZ(qsmTC%7~%G zX&nU)6ZX_LSd~T_Rz{|l;TiS|s3}2e&QR_d1@87sx>xBFXXb>nwUT_S`s}LvzMB$R z$aS;AU#=m=+#0h3F5AEWabqGU2oeq?R(2Q1{(m-={TF!F#w+Nm9tqr@5PNm|Y4t0_ z`JU8fl8TYs7Tyf<;6B0I)hGy_I_2PrL_GZaP zu$S2JY$xmbnq*8>1|lYjzs;*8;@%9LiXbL3Ly>zrRY&=Q0pS}FvG3llCN};;y&L*Y zd0xhHXNDU71_cR(`zD*g5g}9YHTA*|6B;7g{-y+tux5|}TPP*G!rCya7si;L7Ga%h z7%xN(KsjrawpCkGo9>#j3L~-OTJtbGMJCwLD5aE@%ze%SYeEd-Xi=r-5?k2gh{t?u zxJ~(mZtsXRNg}e!xT;*?{P0P=mCa503R_Cw1%0CQNjx|N&zZzkf7+qDA=mJZV4BEE z)cn=BrbwKWm54$@+jwueSykt;Oi(^eq(ggz;3NnWS;1b|U#?E`_BKnU2SG`KPsYQ? zIbQw8ESF>-qo0j&IwjUljYZV(Pve}1ix$k`ekYT-n(Qq1*^PW<%$DL5h&R(Muf5zr zrD%V~W7_6mj3=VJX^VkGRY7e9v61=-0!bOUwt{+WRC>A3C^0VAR%?`4d&;4lX5V0^ zmP)g~_Eu||6xrME+W0!i5|BH66*_EG?_RdNdoblf`z8|z~{h1>R_!_3%mjRS- z%yh<5j^HiJVki;^e5dQN@-{hF|CetssGv(x6&Y#>Vd_AbTU*11=i!<{(O~41!$S;I zOk~OA^3|Dc(*mIl)DF+eg|ER!jY=@TBE?nadBuUco(rAA(lK)p4v_uIk)uiwssRVKdzYIM>f{Q zCO;L}F184G$Csg#%Lv|8%%6>ii9;KjXX4#(+1gtt|))4Wa`@n z!iie}qF^#u%6`-Hc$Fy(FNzmd5%_YlP3-Tu1>brKw0hVRGKj6%8EOZV!YpGv+yrg% z?*T|gCD%|(Ld;t9yrW__tMfa0h5Vg7(Z}IAjLME)nSsvpx1!wJ*BU@RybSlWABf;E zydctg_DqqVfiBQ7``J5?v!w?+LQvtcvuM86TDViRp5GRg2@sE+&rV>cCbJrsqcAJL zhz*;aHQQi|R%%k74lwKil{s#KQqKkDQ}Yg`SK|TPwk+e}roUg}MzofazLIuc7}QgO zBzbuMRM(n{rt7v-CMa+w=m0*iCm`{2Ji|)#6x*w}1VvK4v;W+%i2r%)7+MB}9T)&B z*gdsFfB0oG!$t(!E@RtKJf5B2?-Gft&Z3=X0T#jETaL#QUL&MdC_~g=Xo&xuF?zb0 zuuNwitGou;t<>tQ2<77$T^1~s*~82s=Z5mP6%@3@w;VstXN>WXf(%9aE>~u$8k0S) zPOtC-wFDj{euqN6j!L6yd!&ld)p$Zj@Q4(@3^5iCoK#uqnv25eGRiNZX=MyBC60Aa zBcF$!L>^pO4}VlFtj8>$O=Fw+-D3Pf+}byS z8lAm7-mD6$KeoAB$Wxs;G#xzyE6oEK2llA$AJy`3_VE!4JCdfW^HU!K3(AXa>|1{k zrRrv%`o*T8d!PP0inNc#X3@I-2ZsF3X)58_1JdOYvO_Y=cWOGM=w;T`dCmMxGe(q2YZ;GySSK*yKyWauFVeCSm`k!TnS z@PJ)@hb)dfJ*yliWQG%B{K}OH$wk2w4a@?{^4E_x|JkUy8`iU8`?Cna)(Uml%M(Tf z8PQuX^R+8?xmv^pURp0=^j;k&hbtor*~ej7a4}IL)W;zq{NOE0<=oo0!N+3VYFyG- z2tsB(RzEIG97;l*^AXflU)Nma1MeJ;7*w1$rE1o7WKuUWw_ohBf_ak)C%u#;Cqh_^ zw~WFT(ummFgkKV`iURUtKvm$?0mZ%xBB75xTqvkV(j(C|;4vWgrQzv7i*M2Mrw#3Q zUL`1W$G@jwoWhr73k%H0q{@usT#X*Ugb&Axbz$n=JeV@rce6ko$vxoulEM^utbqU1 zP72dD0$Q2z`>O<UDtXQWP#al zKi}>IN=|*8JOFkFygPjeyp?{r-Hrc|Zkut7|7(8DBdaS11EGLHI>v+p9mU8)RH(lm``2pNPPP9jY zL_Hf1sW*96UOzItjokel8EE|kXYZuEw~6}bxbWVo-^)LRRm!qNw+B8Of_>?s!Iq&_ z^RHmH9LAB0or@h`aFKc@2eio>R|~m}Y*QXjTS2R=f=!dh!AYAvwsatZBTnX=kUqbv zFRq3i)ZK>^jDwPExJCC(yl#Eu=H5owE09k@am#8nVoDHyqruzr|FQPAsrEFo{Gx!7 zGqA@z?y&=$)zO%~x={IaS|%Mnq&&jvnvQOB&i6;KXY~d~#KHts%D%nqy2y83$%DmT zjDxMvP*GUP_bA+B3nDyBgufbE9XmV@M~>qYw^(Kw)zT91u!pI%$PDfWz_i1xbs<1;PS^7jub!G%VU4s;t`Kk z;}OC-H~<#*%d;chV^_H^UBz%VjOp_0Bh1iEFeZ9r^hQG<#3L3<0DTVdKBb zanKQeIiyBVdkb=1BGKX4y@eki)9x>%!jq+{pE3)C5#m0X5fm~_6geYyP_Y5_@a=#6 zap5H#2iVBj2D#|nT$Y$byrfS(TTL)oS;V>zz^S3L{MIWE$c7@qjWG1Ih zyTN%&_PR^`nI8iF5GM|FIhUCmyMoNm0@1_fv`C;Mcm4BqAxoF`=LNy%Hflvg8n65= zVOhQK;3-a$xWIx5{1NrK>u)=BNd9#-!qPp_ah)CrHljMBVG59^mQ=PuM!q-GNMoya zaFLCBq(hI2+=NFl)Pbrs|^*$#Y+t+ zy)7PrfVPnFZ4QsmYdh*$Xwb?P*iX<`|K zkDrb=NLYZkVGC1=bZ@lduQqDmGING^i<{5(=B4VUV`FOM)7ZoOdu4?CwBy&(**SV| z<54?pz7{R3axgea=pyzBQ6K#2A8?NEOT#JQP`9aDh`s_Z#Aj*}Lzp+ET0)Oyn}HH> zvy2d0fin3AYT|TU4L{_OfIh^%TrqU$1Du-B7w5x%G%L_FV2bhr_(5@i`v0KoD-0FB zj2I4$Gt0;lv$!9NghTk}g|(WO_P!P5TtU|_5&hJTH}f=S8!`$ou-h{rF?Jb-X$W z5Y7=Vv8=A63@Zpa4U6}o%4wiQ5dMOHW!xJR&V8OHaBUDga;NNU*aHf7vZ%>6R~0H3 z7J*6Xeyk7WV&yK7R1L;+cI~H7UIWNCHX}%Zs-rxK()ScFA0WIEV0{Im;MWSsYO+O$ zzNZZE8Kc_S$EVU7KvMfZ2#VwJ7eTSgXUqQK>3pvX9e^L71kv+Y@+5d-6*rkyvQOx5YP5f*;R%4H*rl<34BZ}Vq(F*Z zM7}F$-f-pQny&DpI)mujqk7-Mj^d7fsqH&EUBn^}!i#){#IeSotBG8D!CKI#&Gk;@ zpT|P*9v7WZVpF(Z?%=x}NsFS1Ur-i+Ch#)^AK?s(sWwP_glI=}QHBySZ5lmXA$%d7 zydzSq`#Rhl0L!V3Fbfx^ttLhB(%o&SHC2@KdMRs|uCt#ewik9Y!L%M6e|*txjBY>6 z|J8PQ`H+=P$Mmjk?@lHq_~!w_PvUE>f(X0Er^~|}$GDz#o0W}Ln@5a0rG`xCyFAu- zHC;W3X;|f2{u2Rr#T+K!-a$XAS_v>md?R{3;4+kg_jU0j0jbp^? zK7}xPbWn{l{|URO_r#Y%$1-y*cb-y)QD^v={UCI-U14ynKQXyTB?UZuc4 zyM5i4@AAjVr6;=RN=kL+gN#QS*8qxhoHN&&BL`I^Jp#*PDY%7~IsYXS+;Zr)hSP_0 zf{Wfy-iuiL6};M=By>^MjF)W~Ik={RSuSjSJMgS~G0*rnuw|FXm9${$(ZllEUf0Vv zA!vE>F0A!q=Y>RAkBVV?ze71fd!Wkgv9}yA@mfHzB~qh8SVbI|5{}dB-ef8Mq0&ie z$FlF5w`;cF-0Ok?0B{M({@M3W@4|@+$qzoECq~?q!idkOg--MpcLv`@2PQpR4QhQT zTC_`xOA7d_oX$zMB}y=HrJUJjBri4FF&8PReDGA~g|4PhoUl3~iY)5F+I%U*qzHd< z!_{Y&=Moi)0PUNopl<)lCx5={OgA+59>EsWI75bkCOiCICBmz;q;iN0c$#0vVK)c_ zUL)(}&%wUPRo?Abyvlf5ur;}vyVdPlA9v+IOcGp*&~p7^;oB9_NVcknlk}xRf2R!9 z2$)XOQj9;3pI&YpmZ!SiVn`)v9~-tp=10n3NAb{WR8;r zTS+k5=ZjU1p7qz%6&hZcxo_zgL6+#gr@~zUg+36JlP10|n4dv$?Gsz6JXA-Ja`&|> zvHw@vEB=!OYr2BY`aYysXJ4m6Pud{2ZI^tjP(`OuQULA@?iK6SDT9f`HC0ovSf*Bv7GlX_G61f6o629!bbLgRY3BePT{|` z+l0rVV&Jd}2V8*#R}pd(f^%afSIKk^$u#{&^ivH3A1^;=mJMaDJmHLI{BFgWwhL9n zQo^HmML%4X6lW^kaw{)fXe&={ zD}WBs1PJ>Vha_-Sc+GS|5+DiAXg5c#HQ)GLgxRq6{!O&;pco*CX z#uT#e3m+;`9I;W$a%>kGg;iI(fV<2eSoiklMxetjY=K{|gVvA*XBYWNNTqe=to)9l zgOnGldg)Ze)T-i|JDTP74_D0_!Yzv2la{ zi!)oTL|z}d#`t`t!5BAFaMyfg3&4v=+vRzv9;=f>6jmc6GXjw>YmXaJTO0f7i!=u4*gkl zBDxvY?NZ(qhvo~Ov!(cZe((km9|&`c**FGDit3A*x;)DA>*o>GfHWJYdFw&$o7r^h zCrUuLpqVSl0-6L;y6s=O(bHa6YxpTkG}KVb^j-( zTQKVeWi#4&lUr%WN7VSbwYkGUIB!zG?(QL1aDL}gVUHanjsk-MeUU&x!>1mPe-L92 z1~8kX=8^t|8iz^%X_$0lt}3>d_@7|#h%N)Dp3v=sAi13M|D@em=E0Z&8hpP;z@1-0 zck@UXiEvH1ULh0pJjY6+>Mz$e0dsA0SN2Gr1hdXBY+~u-zaE*m@|M0HisV0>yFgBU zG!zUYM|l|6s8}Gh;c(&UM8vrjv6H0QtFGqMcW`5eU+5Sz8xu}(YAx)@hIg*w7X8dA zRcx%`Q_73-`sGUhcga_&PjbWKcU7OirqI!at@J|#7aClAj9K&cKFnI2w|JTQ;5}KU z#+vNt-`ZG+hs%bnSC`k1xVFhp?EFllG1=#~q1LF^7e@Ox-UzQc2)j#ekLApw?|ENe zliQkceTC8omlC}8k7>X`qB^yy$|_Wu#E`%kEE)WdOh<_Du7O&dq!+1`A$GAxY&rU6 z7fNRuzHf)@3~;PxPV7yGx!-!sYo3L7^6KV$<7!t_*y~3gU;LIPhfJorm9yo`+MQE*h@iIS@Jpr;<*jqC@TaLHy z&4G_>%&LaFrLbtWuJ@zmpL;W3>@a@<<)NUpS6U8B|DSd{{2$10$%}2PDY+EglcFvS z!SdhE#+`dLc|W`07x#V$Vq)FX=NR8cvBH{#(5@Fl`c^LhDVuS;jkH*W{VLKNE4%F* zO1kw{HEOj?60Jzws9ma@44?D{E0zh~fZe+E)kP)G4}rB!qXbq;n{yr}3ae}PK6(_K zbDEt#7Z4r_RI0AF6YhlRx9C4sg@?bcHHWI(+ft^5>aqhYy+xDmE&D1YR1>8?{f&U+ z{EdK6TEG(%R=pIZ@#40L$xI7siqD0~tZg4ek~|aCdu|6NQbbop^SRL7UI8b~js>iF zBLAtOOhFU5?bo&ClBSClU%mATD5@BzFoTXK@EG~0ZRA2X<@dv5fBQz1*p?Q9nuC;E z(5e1~q?mP@Q+2%oa4{^r1(T8(v3Cb7xN&1bcbVxh$F$3~TQxSRc-TEa=CMBH^lX+w zxi9Azvnw+A3CE7aq7X1(tAb~3+n9oI30;bq^9}yM`xcKnD}xP^UFL;32)Im7(G#z{ zi?9q|L9odC_N>AvfZ7iX3PcM^p=C8EOEs5;+c8!nr@+t$aCRYb^K63#IIrLM6vsr6 zJ;i@`nFO<#+7IB~v;_-RRUl+iXzY~X!;6_XKDd$h=~rwpQ8As;4wx*a-`NScj9!EN zzAl?%E@eRfo@c-hT21@UlJisYS5iLqJZC6ZxMjD)agKbKB#!@m#Rwm5ex0xi?&^<8 zjs-S#Y@*U*HPq3Y8tpbJ29KLV#YZZ&9rk{P%RZkbl2u`CL3Ai6yz;lI$*Uw4SbQH; zo)<~neHa~+uRP-%}>QHV|YOZI@` zmg2-UuPw}7{?#l}ch~&{eDRhhuO0N+IBt!CiDH9l;Ty}BNRMIy!YzO|*&jbH#5qI; z|4rIDM@6Zdroe_;E#*VGwAOio`~#lb3R=yV6c(cUW6f}`Xf6z*%tJ~kaTfvsA%ZUs&# zR>9WtgXauXnDD4dO^U%qEnRI#ZXQEUIiui`H_c&=AU2Kr2=m9<#|!QjQNbi+U)sn) ziVbXrLjdHnj&Pi8kNo-|`(ckIv7sPF@cEFjcmc{tQ-2t*U~nBzSTSo7tkV_ZLwng5 zWH<&K#Lj#3;{hqMfXl#tK?x(=okoEK0-6f)eQ>`B!!Bixb7qc zKnXNIghk{^L`3Ljsteh@RHBDxBwba^H9L&6L z&VX}1;%d-wc0U?;0ayf0FeU@_-LnzLvjv1s8(rl3+eVU(Jyv8jN3E4ha+%+OiGbbh z-R&?`G!r~55s21P6Ue}Aa7N$<=YoECkmT7Xjl7z^tJ{-n3PP+OzC&8@s>-f|m-%$V z3I5f36#Xe}8(#%yB_K$?4T1Zp5(753xklp!k8Y=`H#qB3GWk9<)6v9+ogV9M^G+bU znW`5BHcJhQw)`YPI$M`^IF%0j^t#$RRcU^g{U+vH7%>>ZV3Jy!fk_a9~(BeW0snS!z^aba?cx1}2Jf z#9G;i(}DU-`6W>DdMdb4444rtF6mtdYxy|BP8uFe?LESy7URAtkC!rTMhVKtJ4yHe z1Lr@d1sjb(yc1tMolBJzsB;mx18}TL_iGk4Xq@sMPsU-R}wp>ARRoNK3gO!-2G>SUQNoFhI{+)u@A-RgJJ!C-jH&S$8Q4zdrDGU+afiUWj-Jf z#ftNqp9uI*dU>~NX9Js^0a+a|ZiTr$kcs_3krZdH4|xL2L5-25#zIPUyre!IQpybQ z&%?QbH=%4tL4`Q!+6 z?vG^yvT&xCo%9GhaD72{*a(vOmGL+EJE#lY0pq@}{;=WzZZ!*>4v`kP?tlG#*bK@8 z@ckkfK8TTyCcqXize%pkf7k*+^Hmy=ZW7RXs&+mxchGX){Z|jPmbeHw;*9XnL*nK< z{$$`EqMZ2`Z-J!QE>}#5@aY#rU2To^hx^BFCm!68_1A#*9$QI#LH4XMflJV|{_=-c z558MXKy-dF;x_q3d>CJRQvRhS)ayR%0^F~Lb*hLpeewZ@k`~2Bf59+t+>LwrD)*Rt z&`O5wg>4S@>}ojbJA?=ka*^s?9^e1}Mj+~3nQ~s$&FV~YBhS71R2X4lv(M>r!10ZG zX7Hdrrr->h^Z>~bo;%M+WYX9FnWH|tl2NK_tz0$r-C5x zm0Wgm?yUI5>+bB6zzGZ1?vOw53?k;Kl^(qSOMeDRcP(Dnbl% z{)EyV=O?1I-};`}xP%zt>1=wBMb%|p+G~}#ep?7^C=yN7Jp<{Fi3P$Yz8cuXcXgFR z+%S~12S$Li5*FrptLFKW;`7i{i}1jv@|(7BFUTIX+g1_~_!1ORyL|Q5>D6v=hdueD zs7>Os74X4+zwKU0zlPIR9#34MLc^x4fKJI>VfQ|e23&&wOD1Afgsj|vs(+rUCXjBzz)=YeSlDTZv`NmK6;IeSDf_X?^wSVQ9U!e_ymc3Lia9Qcf_;M^r zuX3%+`M~s>mW4^nM<+A)3^=o_2CYc(s}&~CbUjay#A_ahz`Ofj=A8AU!zX<{TN%%c zx7H5Dde<6Xsb!xym@AEL@9Ek-<9pYe-t#Bkv(oO$w`C-r@}@I;@f~I#7=;jxzNci_ z^99d-;)^#hOjD8Z;Vaj)4rW4@$I?Wm!sUAGUUwTD>iCY097IpOVu@wHKDl%4j;0fl z!yeluF*+}HuHlE_eUxM@1D6N0C=UdlwdGc#Oq43$p1p}?V;le|Mb|hYuUG{H^P@{D zexHb?ccTsi>3ZjO=F`=t;QnQcw9_Yb!f)_7_eh8Lx~B%81G7WmqT4{~=p6RQOJzjq zM{2Ccelm`b@wu|PjSslY2*8b?l$kRy=jjYd zj}R810ok*)aqDlWzcZRv$@g*+>Ef3B6Hn@3B?}CAhi*j(7#g zYjJ5H(hvFt#M22??~HGasIp_!7P@A+)NiOPUalkWGH6MQK6@19CFeTQawgctal_rq z3ftFfh~6W6DhHmf#;-hjIVUxJ?ewD~s47Q=K-wF!veJQH}=#f*5jX%4% zN}^U1{LVFa{0#acZ#}=h(~xkqP-#FLIA)MXc%V7$^j8-Z;^zI!Rzw1Chs^8y+7lSc-6%YLPIGm&!)=$;3NI6ljNrTHBgMLv$f zWKb5YkN?&#?1*XV5j(s(Li(Hn?W8rImLW8jSUSa-kjj)AXZN@Rah9=8!PadV$ z54oZC$5Fy0W+NOkA;zziDJ6Hb!RqOP22jHnSgj}yX*wysphCP|u~3fDio#iu0u z)6XkmaIZPkK=T_pFHJtAg9QA-^dvLI40pU z9x9gg9RQpr6X9Mywf`VztIcm4#858OPjKKQChB7&`?l*HJe8e6|MB#{{@ZXv7JL(h zN#K69jrcL(sejTQ>D|DS&HmhxgTqo?5PTznBnuQ}T!>J?YY^Sb_U#QhDh8QPI|S^% z7Z{4;t~GS3|76=PWWy4PE)nJgzouRR?Z3j{x|%9Gs=jQ;wl|DLN-GHOAQ^=6)F@jZ z70QwVL(=#RWCt7_f;ubmZHmahM^4Y8rw7q{8n9`pSc&cjX1uKeB6h+4HFZpE-}0so zJ6@ay6by5xOm-sc1*=W0Euqb$>E+sS^2n6CmgFnKI zT2)mCK`jOYsC*c;N1@UwJ0SdbYHn-3?qm-eD{57q(NM=14rEFt+k86%ylmdypfN{$ z>p#u6o6K!kwOF3!XD~PIGT!u@v8$eHBq*Ws<`u&1Dh_&9%WGzv z1k;&bMo3TtJohy5M2%J8<7<9XFll(L^!pw&$8t?&E?uo5ueTYOVNN2R^iq zUQqzNNy9G$MGLA)Y|(CA??PxBDZAyE?!3AEvKtq>m}t)YPH`3ZOB&2!lnEnhj^P4h zdnPXl?_1|Gp&vL=6_KuM8$Y26S_p(x!5lD|z4}=rf63N(I)%)x=ppA$MVYr^wO8F3 zbP0j;tV=O?lfQNpJ8aN{`rUK4z(ajDX<2nT5V~~&7-XyR>~x9fIKlwr1c*+2KPzN2 zzn0P>5N6%Tqr!?h6+;u4P}~SJWzcZ;C;M;rf$U)5%>yWX&fGV|vakRv>iA1CHOKgu zs@?~{&hS_}-vr}4;ZX{_m`-1GhWsY^`@SPBdMGT3kjerm3Y=osB2WFQrF3%rCcyW7 znCk=Xgwaj-wl7G~jYX({XWU)_i?dp4@|%jX_~s^XGjf8~;L?WRbPJ4r4+AwghBK{+ z+3rGXg4=HvViqTW)d#VHQuwbBOeYlqU%MLcJt*p_nY3SUe#WB~BL9}n9{U#RNE==w zdmZh)+PEBY4Q5FPFCErcCfv@U>}GNU@&~1+#;`q;oLO4Xvd9aG+a=RQx-NI@+D>)S zE?rxDKLobn*(xwLvAbAjVE0tF@sv{~?8lO7>{Gost#ul9c@q@fXNNo!i00kPJ$B5Z z!!a9jR?CF#0=lI3IIo4L#iTKz1A_Iz;un1zJ5f%5LeqaviYq=NS`~|*XL*vQMN&YLgx?FShwgwoN}NVf|(R z1s@y|Bii@2Lop>O?;)k_dI9#@f8*`V!=ZftxA9~xF^QrqLy}NUN=?EH$x^-Tl`S)s z3Wareh< zx{aCpzOL7GzRuTqov#C9%k^LBkvfiwyDC*2Pk0ytq)PakM)=)dj)~*B902e7B%Zwx z1EiR~Q#|oU2Isp~4gfnRz=r@55A@S%PHi>y5YK?WTIM7&=cNIkZ*1DyvAjpV0w`Kv z-U;pYBGK}%1ACUOZr&dSb}M(7X`SRb?a!En@@7K69h}6cd=5hY$6scxaJZaRGKSaD zK@y9sa*%*7J>+VfWg~_pN*1wtV|n0{24rZ)?XekOU@!BP;P@=~;Me>th%y!+M2{r{ zo;dNBbxYLwDXq=)%S-CYJuee||N5Dh0GD(p(kX}5;_@G63qRc=&^1PLbee?hs`Rs| zyvt%d4bkUO@EJwXLlxR|ol9?^XNdXt$MnqlP9HA@Hw(f#Q~iJ@Ng2;~{bsV41PA|8 z2g=vA;A!JU=G2MhwN1tOnW79r$MF$@wdEUP_d@3h=251-cBV1BP9~fya;@S5;7(X! z3haULNwI!5oTgv1qJae+nHl)HhaMIf#@KY4AKEk0I9|#yt2S0!G0XvosV%P@_u2z| zp;-{4ZQt`laFcJB=4t>F$*okevSMpzJ^l+i&kModHMux=))nCV0v-T0`A}&|iq$6O z#IY|g;d!~ZL!kS)fA5I-QsSYIB5d7CJkeG!suXtV#jI4vbcF1sXWeYv63z{D*0d^Y z@NTw0ZzXVZY(d^lmacPoS6;=!G2pWp`TFyPq01?|_HF=~sM$ra{C`oWE?bt(%L++K zYF!cR{f!qd0sAf@eq8=#S`04+e`Q3&h=hnoibfFMu<~0^6SLMc)LK=!>5r`D1QrEf zJf;f_s_U-RHa~G{6WAe{exvNTM%a2d3TKcL-UYxG zMHS=laRGy!(@!pFHLUDa3-gjwp0=VACFQmpn160LFmK)dWJDvbZfjgjo%%sE1SogI zHf_i9UonLjff5GLF2Wo}-}W^yv4Q(b;Ep7Va`FaKh!H_j6YrLFrQD8wG#MNF#L2%^m^{I4S+eC4|v=|CLWbToIsZ@EX@T->Dt` zv|9p*itNPK&qBtoe8Fsh98Oq6jyy7W9Oi-9u~>76b@k}M{wcgQ2NkT(JO z)y&e7>+PaLs#FbHKprSy5ODtSwnWw#wTS+$WXu3GnYFtkzpCxEBkt@^RS({3gJq7% zuHC%9FgLB3eG_`A&gGDMta*FXrr2si$Md9eIon)o>meBArD z-#TJXStsg7W$|bu(8m0C{*66SE1w&bp>M?4}GZKl;ah&n$46Xv;6&3#P(` zPciWw7d)+RG{N6XyU15ML@=M|`E&Ab`cRl(138}howoOq9!0^V{_F(K?lfV^+-}QIB*b1BaNY( z%#13dSoIc0bNBV{3p5VNl`r&0;Y0#7ynK`qhc;=0ti2^SP||{FoOr^}4_52=x0M~# zuxSaMZ(3hwnFaL#VYoZa2GHId4C;f76{*&?9}~PV-FPYM#v_!W@5sb02GC?p`jD5W zqU6$xmus7|>&Wn@K2Bl#vRYE)Q+@Y1X?p$!>`RcoH9dW~gz(h`tpOiFLBK?HRPBz) zeM0SyGw(wq6tVkXF&dRCK>z~b5_69 zY;-MRG(Q{X1W z<%KM&!B!-}F#ZEdvss1c+u&Wg#2UckG+6}nb@L32&Pg@UJVjyHZJ@?wLD zSz{OBpEWj$b3c9Ci&^TFCVbQXys6em?P8w^4qN7_>FbWgyTlnYUr%v}+_2iyOz4{P zDo$~SE?5_%$1>4hT*G#8Re3!V$eSE-u3j5|=k#hH=1n!U+VWV_q~{B9HqejMkFQQq zP%0611$C_R;y-j{L950B<^=bJ@Zax^aow}|VV$}e*WfLPBYm=5ixaE?WxOaZ5Bw7o#h>$g#_hUIA|xV2)w=ZFtmQ1UFehnBHvzT~px9?O zk*M)i?3&0u4=6?Tx9r7Q7|Uf3MzZ@M|1pcp3%-YK$e-fXXs|seV$MCWP8o9yeI5+Q zjDVh$vmsLfNAr0q^QS`cEjjIX+|cF370r2#eFkzNYxS%@Tyc_1Avr!5G064EOcF|q z1xJZ0Os|r=xL3W243Dt2ap$~ahAjOfN&of&z+Z%XfP4hM7{_-K&R*}vO>lhc{^Ub> zho8n1>^Po8Ogq1gpB&M_ESp7!1pggx;Wx+LGs~dx&Gj=F^{3|=i9p(#9AU}-lY#sH zeMR%A@-$(Pj?||LPkFWi&WS(?sD(Qr9uTuWh=n~bRS-+yPq?Rj1~%PQN3@a<9mxEA z#jTDmv%aqvaz=nM%eQRpmY+iu?IyDJ2A%~57Y-RCKLz6@t|ic!|s!&-WFZO$smwnPuUuVpq;$7oU| z9mozupHE9D!&F5;$(?`pjD6O%*XDwIEi_*7m9w^Bn#Y%HE-zz1&B{9?$NupEi z1C~(`<##c`+S`C6gR$w{DxaK7mt{?jX!sZG0hgkG$7osH2*jqYzu1yMS3syU!@5R-x|1gGTexi}2NP00#q4R&E7tqV!w zW`+isPb6iy0jAT3t4vQ~j`2)jo`H2%l9Sk=)A5V>W6;?$y|aw*WN^i)Lu_%nH-kXXUG<(#>VfX5}NAWh99JKtU@Y{sqK^(U5vbc}x8>pg*a`F3AFea=cXV;5KIFTKm)Y262vL~eY8u|1Ji zef}FxV4m3WHV|ixEjwRoR}B58bOP^+7v*e$6U( zH+Fruq7f0q_|bAS7=0rPUp}j75~L3eM?5nN)@rZd|2`+xg7ve8!@I?;+eA_DXr^;3 z&5pA&FJtivJ_xo6V{Ib-Qkq!YxU4$I)L`f8^B~_~2gAUqVwb6a3%&7{0tFuh<>FbtcVM z=iv*;a+=KgfB%H!I;N?bkLx%u9d7;IS8Otk=3N_o6P_#o{E<-MwI3H%1m9zZKYXbC zA**v;X+^@qHVyu2^fUW{bV0OfWRHcA#=8fRJ{23f>xs~Wx1mj!ZLaK^wxk>>J3Lq* z|2!fSt_;J5W;^;$EpDsdacuznp=RwirHLdI`s&<~WdWyJt;oihN z=$7B(Cp+U>j#G1ep30apsqPiDlN{w5^X@-qR)Glno z11X!oVu`A_+?tVhW6lqkK*ts!PO|7AH+kyb_j%d*qP0aIRYb88vQ+u{f;Yb;4C^mC zEwaRWDD4Ju(TH4)ZDy(xt4nyU1moH7sc%8>_L_9iR8?NWodtg%z4Q9ri`mU$wuY*$ zH*BYZM+mO#Io@`b08I$nI+gy*H5rn^1zrKOKiqiZ@wm0vR z&{O|FSLbN`u?XCE_;~>7_=8qT zJNYE`tf=Eh6RQOLQBYN|yB7~6E^#dz7?F>Yaq2ph9{2|7!uoZgUo%8xE&i3*70;A5 z;N-yezHjwBA;LYeD?R(z(wq+}))vl7R%=C14NrT0hW|fYpeeR1)IFx2+yl8b2KsQt z$vKPnB33qZT^3H@R`@1sUtXETznUFF{4jnv+ZJ=cTV96~Xz<00wb~jpJ5+lNt>LR_ z(Mp$heYtpHSKi$@cwG{SVY52hp~m)%1R)gs-QN*z0Oi}3Blr-`^?L{Y>Htemd)Z^!l&iA3#%+G+gqggq4)loF<0Ev(>+uQ$b8_ZJmkdt8!*` zqjjmyfuEJOt?277Wkml)cuyw3m1Mdu?8tKNoJ;&N! zif$w+M5OrO>SUix{lN?dnb3WB&&&>`9Uc9Y(W@kF6t(nnMt5DSxf$cBXBMQiy41=b z?nZU*w`wzc?~|ns_TCURYYCgRG6)@I4qf02vpab^Xpdh~f&^v9>lgRmFy_VTn{Auf zNoU!Vh7MHB8}>>MsB`gvYP}+pueGaqYoQsxE;@eH%$gbHQylZEpf1S3e+=PfA@iF z-`V(6II=7BJ}iRNuEwZ&D5UWz6;vQI0@>S+rHpsEVh&75G+2(_R-%JSCR=6`XDF&x_*<)cP{S z(T{O$NYm_LP6U1Z5~iF;j!>HqPi7ixiac<)38>jFdWH2Bvm$)3hX<@G-5T#z2siE` zhUKyaH91(2SUSA&YpLPN?CMdFTZI2sgwTp|%;|hqCMq=3DXu>JAapzPBRDGbh|Riz z=e7iFK|Sg?p`_;r=!U5T5Rojh-97crRz!gZPxcnnffhxB#l)WlR_^wwKQs%?U5ik- zX9Vm1>RVSK`)!ccM3UM`u;Ts_zY(1IEO1G+1a^YB28}Mf?_(U`*TpB9B@b7Q2@h(B6p(V$^?xs}B*3N$^;43h zMFI@N*NnfmbSt!z92Y#%quvXl?ug7@gRvXzBr6-CmI+asX_&vB*^a?b4M7wr0a7-s znVtQ!fUHcoj?DVCm}NxNxiV?S^%K2d5nMcLEhm!vvj9H0y=J!rt$}ys@i9f~nd^*g zCUxq#MrC5j+lz+9L4TNf4t1=En+r1a;W-@Oq1Ya&yE5fU>0zfGe4Usk^?-4;@MAX+ULd4l5r==LWGkAx{9^L zn>I5UWA-Aa^HmwTM_WRrIW5^UenRkQlUJz6$o;)V)qyHmXb zeaHIYxyQJ=w{6h>+nZ;OzaZBfoNTCSjJ`3NaT&s*zn-XHwAKp^lFSlKXP*w)H=>-O zNCsf6uL%*mu3~r^-HZM6)s-O;f!=Ficp}ZaX4+l96ZmbJ=g-Es>2}xBB)+^s z^)ER(k<(;nE%dC>Z(hp}WmW>q&0%YFZTgUQ#@bh!Jywux4OZ-Js_PNZS|+;>`w<4I z+L!`bBLl&@xK7%HdNHo>qkV75_{)7qxvn;m#A7Kl%-{6rz&w&sJzw`t>)0!Kc$?Pq zqDG=x7RcF=y=$$Bv?G=)RTkN5MP0(ar5h0&cUESlnUcpFdDvF7AI1r{Lc55-v-wL1 z{C%jHE6#aU3i(nu#TpIcM>G5PVnjnWW^kqOQMhZShh{y{pDQXbFCfB+Q^}>3ltBj^ zMIJF~`8N$7^NTXfeh3$iTKz&v0SE+tF!M4i^sL_@@a}hf;%gHE+#Qkr$VbQ~)oo1& z{w*`Hx&xPH2E+RI;qDCV<%I5gv;iH)@ZaO3Ye2lV{FTks`&C&i>Tu{c@>izoVhRFW ztBQP%YWrzIGn%}5BWxjyTT8x5&p(ncSO0L=63SS=n`R3eYbSaQ(_}Y8pY%*l-@wGL z18exT*f90}2;dvu%S#8X#Q}3!YFe;G9|P5~6vreAa@H?UZr3J{YY@}SC( zs)0Ls<&xxiym8>?q9|-IYFa=kc;7L*}~&4KTy`&}9OQ5m1K&j}--H2fDriFv?6;Ov1{*l6x6?y2xv^p6xM+g*M2 zuvO}X%*il)j>|c0XuU?sL+*=qF|nBQ-W$X=Q1>cm)5kYyhL-#q6?i?NiF`Y@pEY7J zPCt2xnaO=;W<7s5fOZDVd~Fzkq;rwd!FD+kCz1=q?oV1D47@D}-$TI6Z_4+7^otd> z(HUya8sQy>V|T6@s{dB4iu$#h9RZ9Em+V~AF5asJZ5~M4;DYvnmjSV6Kj=0C5|?&S z%!!vja=TWc*@-4yPe0lEiKRRRW>B`S)c5|afTC}+@kyA7E;$sQ2@ZtM$vayQzeB6)b%*IR} zMZAXI+TPwWPHm6x)USSzUULTruET#5)sku@T2-GLc!n7B@)RKH>0-8T;2HrNsh`Ml zKVFE1%i3LkA~1_B;QG-%kE^(4{VbjhkqVju7gRcNk;44P@^9)k_KsMimc{j#fPbJ+ zv@RjACHxjoZgk$bL&IbiLe&e&4fYGWqDHy|5FRP0JY)MT693TwFyr!bP~haprlL-? zy21Iqj)Jc&6n)!J-vy5o*FJ?dwTD8f=V{O{s3H*C75a;Ar1TZ#hFQZ^^Uvr$_zGVW zr?pdw^iSXhOgTL+h*v_m!TIGYUAS!#dQkQRaj-Ir#u5)w?+<|T3@DhA&4R{_&8H2J zFIE*iDaj_Vg>|Fd_Q_sx-3D2@CjxZC7hOL!LdA68y3TrrXja3nmBI($3sC(bD3h4D zh%8%MTxUsdq}|>AWV#wI$siq>NFD*3RnjpsMzN|F6LPx4Z(y4BXQWplb-ow!&g&_n zII)xM=O!52eY2pI@X4m*3gfXug+T~NCPp!v3|fL@hVAF?V7G1%uV72f#!!Rv{m?p) zBKz_xZr&in$Zbl6GlsW@GqSj_n&4j>4ZI#|0)IPdR(!f=aW6ew;f*u)1a2WA;5J{@ z8K=W@Cm@Jps2iZWPtM%|%kh_}@kk$j>&X*u$po8?F`gV?6nH*B6tbH}l`~uKlRRs+PPK8?7P5+usJKgL{!9h*sI; zfFQIcBy&V7e9KL%IJ1-eYjghYrFA);~X`Fo%k`n5+D&SCJgtzr(Rj zxP(5Rgu&O+2JZ24K483mRu_Z&mWK{QdcY((q&@gi8S^Ya7tbDh9E$EVyHuy%J; z3YMxDw=BKz^4{s9TifjWM9&<_2iAH88Ofgu5)8S0SN2aNi~@=L-P-t2k8j60-7PD4 zo#*ZaeOda!HmwuUVz$=UsT&@m#xLSbKO8ER&o+kx5lU5NQH*Y!wn|xRb3g%*@zr4x zGCSo?m!og8;KHm~FyGD-lcHKv+W6}$x*{%O-;_aaLHdC_Grixc25;kmxceUU$s{Pb zM|jYHeTwbiw}b733#f|=gH&1o;rNTjr46oPH?1>|UuU=(yWOG}JW2nV6d54+GM}BY znIAQSDrOEw)H4qIL;5Q(JWN1{F86aj=60)~h2A5E z+7Of4CgfwY`hnSduxmz+dgl<*p{-*dNc<4)_Rxox5w_H^duS3fh}3D)f_ZAp_K9dDGn&~x`hOC&nF zz~$vzs$F2J&hq4%{C%e$)?0(e$kLm8IR72#`F~CDL&}H#1rMR)6C%Ua?*l*U^@FR` zQrV57R~SMi04}5g9FA-+9yA|jXx900;<-FQ`6gvC(w`I-UNic@0{G7K=J2MdAeu#OXp^% z%jS>ZGh`O`mL)B20YQ;_l-2=wop&)NZmDrL0WU2R_~>`_4Rv7;1Si}s{TJld@fK>Q zmU-?o%V#oF1Tc4WHLz-CPbb87Jy%;OmCAbSy9?E?-I3N}=Qy~c3~7RPRsRAQ&^#DB zazw&nCq_uW_UrOz390~?k@CX2_*4S<8(SM^R(;s^*TqR$XTmqG6pq1t8tU>6U>wQ7 za7vURYK?*aMvS9h*JzTPoO%O(&BK?KGDPW@TN5qi7IJ{nZyL)Cr|V99y=jU56O6kcMGoj{{bZLrfA-iXteE+G;g7&0fWUpH z%rz5vHRsgPf{^`3xeqsk&W#S^U)8Ilmg*&F?vDuF-@4p5#7C(1=MIpG>E)CpS zClWsTpm!^+y=>#F96a)N!=1ZNsj88cl4q#2c=cJnG{ z5C52C9HM1#b;5nnjngyS@0ZPZmbP+o3lbFbRUt*)#D37irUHvQ4y)Orp&MwB^AhL2 zhsV)he{J4XC8sdRdj`(qo>HHToMG#ChZuFGI?xh&Pc6*g+1&oG4LaqwitXJG29D(~ zV@3AO*J~&xCqg@?Z_^IvwgM0$Z=YvmoMR;+d*8H0#F6qn00-Ij+|uT`5)j*r@vzt~ zqZnW&W~<&JB0GzAoBT1zaX+EC^*@@Q3mNDPM*%_Xacy;Zvz&pdlG5c-B$;FS6JC6t_3K6#7 zcz1g*$JS8eRte}s8Ou94IqUaZ|!7GvFIp}W-Di}HRlvvGfg&rkynD6H7dO5ZxlcLOnJJsHhNuN73;lV7BUx$rsAJl^1U4>&Y%Z7e73OC> zAH0vbwIhZzhq9YqM3pBv-JQR4pVrAIAu$#%VSOp@*jr&5yw_hIOn`aeLTP7DKWmg{ zE3RGhZu`}&S}mzNGdmkFay5)m2iD$b{FuY{xquBI2bpCC@BE_xJ>iA^1yjLNc%i*4 z6=G0}0*Pe7KXRc`pf|%~0wI&~OS)eo zCWl&s0%P&~rPjCo9$}1AmQnnk{S0^)BftxY;K?NQ(C#I@a`fjPCai>@cO6*E#l{)w z8T+ygq61t2ydBP_9#2gY`Nl?%~csZhs-E#zf(9&pSHd^7Vkz{r98`auw_=d9+ zyx}2pW-}^Dk8g^;GAW9=71)%Ck!;@4Q$Tj1VGPRPk*>GHzVpYlUyMb77%%l9=rwo_ zRXLh)K5T69WgRS(|66}`)s~cBP@Cz5xfg~``2w4tu@jYM8(TiX8S)RHa2NSIFgv!O zY=Pb&d``?NIlIw*m2ePatkKyh;C-QZJJR$8_cN@-i>vo%FL#ov62NO_KI}CUbahhb zndQ)%_V3`iM=GB*Tr~5mO@1*pqG^VMq3u*xG}&%_vSToKAzzV!E3QnM=E$%OK~4qUw8+ET3_IREK+;> zo#n=CdjxXH3OMi_PT@KJhlN&73R8<_KZC+=fUa`wuZI0YPS88}K~i}P&;TQ8xidS^ zsBL&`w1PKYzjMqP;2d>h2j`=N(Ui6q{^?MtT!q;62F+hgT634AwOy7^6pOygE9y?r zT;C;aMQe9UCGqR_2hD#72$zh!s}Wf~0@xxK)Z=dn<-Mu9<7vt}Y@>5r909~SSv2Kj z2sdou8@Cr)?Q`MN-KEb%pB84}1a&jSsctu1NY-HBq{b^IGB?r~m;UW-Yg(Yn^TaJ8 z!Imwk(!G^OUm|8uR7(ZG=V&mZKKr>7W~8)T&=M_$B}oL^{I!LRhbhmFRq{>}r4&>^ zc2~0Qj9;BD$bYq-pLYFyzk_RgYQyJti>$LbYE|+()*=hEfH3QSNtnux`F=e#N5sQZ zY^|UFNcFL5+n1xl<$tp%0Dvhf=iNQ6b|&>A?3n}r>Dli`Ma+=rtpb9a+b-UaeMx+DBE zzd6&&I?g}~iz^wmpl z#Jl(NAd!O^(2dzFf?;lbwX)nN9f{qK|8$UZD*3ItGrMfMu=V&lHsS5^LK;UB&f%G~ z3W|t-el%xp$g{NmI$~^L@m3NZ6YhBT`hT8F{XY@4Pxa7(anI#9mB`QIyPk6V<_95=~(5ck{ z;yfjO8tc82#M_N7(MVo0FOywvuAQZ0N-npp0xXxMwL;}M^Vf7V!-Ktyul8Xic<)8g zmfKEQ+UMKksjq9r!8nVJz2!cWgURj}&K4(LMG%_uX#yIt2d6QN@ZR9X;uLu}fe=Ij z$wp{U2|A#lm0bO%xNdFNh7VrfNBUDEsp+E_K6fF&3RbvyQA?J6&|9?Cxbk8&+_ZXo zWmaPo+}_3a&)!-=+oZ$AH@IjTr;IkVM!pzJ*)>g@2Bw`v=Rh|PyVgEPsKM330FjBc`j_6t33|B$*5{!;+FK|b}`wW?<_trYh5&2fP93po+1yn7tPrYuVU71k1* z(~`LV)lrN26Pi=-Ns!x@#w-QSAD> zFd^enJ2lyUNO9`#ng4}8nI{Z~=@#XX5WQmU`u6e57^#}VnAL1*3U`h8?+`{DmGN%Lxq2YcpE&qy>s}Gn} z<_$s#C$0znZ#lqmpeJPhKZHW?EdRcc#s!&^5Ocf8IWYO5^NRpk#r(zSX&yJ- zJpz}N293NDf7cXf({apDG zpSxK|T;=F$p3x*oaM#RWA66>avvbzY_f*YIrf<5&1=q;F{dT@Iu5+r>XYs3%R;HQg z^(WFvkA0PAwfOls@C)U7(YzM)!dHUtvGfx+AHNRj`B>OurWjPtYQ{n?rO;1mTL~4q zrw-f&xK8``SGHMMIa}_;N~CtUoiYsu`g{B|()+@5>djae-WEML)k>qJ6BGnqaK(<+ zaA5A!38UgI=;uST|K@W|2w#ID$>ArZ?hj3o7R9D6&?K;ShP=ae-_8hETW@A^>AX$n zjG4vp$CVdl7+1;s(}ni+Lyx_{I>0($WcFOHkYo^0)Bn-UVRl!2BrvaNcO#;dET#&! z>njVQG&tG^64T78k9XdZT0e14L-L?@-Iu8&qFZGe){)`k|8Tf*`h@c%iU1nlxrN3r z`xPwlx7qLGG^Ls5I6naxT*J7opTO8Rd1C?SJ$5zm35CHw6p|V9PuBjr(v+U&JVzKqI^NcE^5d^9x;%zINft zJd|nvQzC;MEpHt%h^}lB3Vk(8a2MqNoVuyKC{=(TA!dMsQ!5>WfV&dp&sRaYR=7Id$DVBF|YHh z=a@!Z3CbY>tH>cj=JrM)q+{9p0y?=jjT-#1*nZ%Gaz(adV$gXUHA4d;8* z*vY=5vDw+&oKn;*SeyTyeADbvOCeb;q?M=qScV94<=X@Whr05O~D=%_M$lKIt10&oKa(UL_S-(+?;U{J~Y)TgCA9Uhz z?I=o-)~# zSXq7U$F#wZQuPA?9Vp2?x?I1YHry}79@f0?5`T<*o`=umfAHd&`lFU1zwLgyAOowd z;dJzNW{5^3!?t26bdoadGqqvV5vpTZIxd?cs$T+s!WYH{AG2DnV|a$dwah{>Z+pC?T=!FBZaK?e`M`SL9F23+A!JqM=E zOPl!XECLG|yff81UXZDc*&b3dNg81e-Gk55XUhn87wY)qn~)h02gDLpDtCa*z|SoZ zN~$mT*Rr8i;K;CW^}%*}VJ8q};f{+*5E8HG)rKHD92dcLfE@sTCHu0S*E)duuo6>Z z&WNYPg+=oVG~EcldEHF)3D;@k4xZfd+zL;Q2ck!Fa+BmaYaC&gH^#M5lqR^S6^P+6 zd~vH(&XaL{GD;s;&aK4d_*D?{nS!ImR@zFu$RogDNj&(V3(g>D^4dRQ=*##e zhRO2x!0<*!g!It&!_t}dy2qVG1>^L_)zEq43y zRrr?~x76$Z)`C$g@E!#G7moeaAO9wiWB9q^rj*dEg8JM>BIyHb({izurLq`Z4A#b| z5HQUOw*q(h@HKc=!1_TL2wnZc|0`Wa#UdS+%|n1Rd0J?^0G_&qk}FQS4Ao&L3~1=1{_pX!RQ|M z5vd>Kw+rn(a&KBdm&*GRf;butm4A!N{Ish{&$RFcm-F&N zZ-3G+SJwHgmJo^iy)5yw+6DkFTim|f3upn(%MQcj5W?v9M?h5*GN*4M0rgf^^kFVo zq}pD_-HsdVqEYKQ_Va>xJNe5#rwlCEg8-?tFsYp|m%5tBQ9aW14?SK(yw>H|U4N~yPnq*2j>0J| z1V@wKyg&1~Yk3dng9P?JRK?p5T`{QEkcDP1%HnI;GLUQR`LVDdL57r{{OL_AvzIMH zN>kF8(&DAjPXxW!j?!6{(G-ZlKrl&%=Uzl<48F zGw%I>RRgadp2>JQ1ZWCD$+kAg>Zin(eW1pdg( z-UX|1J1&@7e`IMl4X7zp$tTaMlts^iNTO(`3^7|s<=SJXP)faY#p6k=o@plB^=F@% zF06{{7EpL6&E;0kW$EC@@P#w=p~h9fFo`;{ zv>$zDVwsa^0liT_li|Xz(5z!t@g5JxuX8riK4E>I9*6>;2jt7WT%O`LcHnc2$|c_Q)ruyJdzFmR zqV!Z@D3qjHY#gMqB*}~+ZJ32lF!xd)rTkj0?Enh)mu>YS5tzTL(|<%5LC->X6Is|X z-HXpAf&{04FZo9Xt;Xl|wL#$UmcoQvh#O%q0vGuud}DwjZ;Kw_bTOpx7?P2t3|g}l zqk?n<;IqXrGKX*RuAg^ugJ|J}!4Ii1ZdPfU2@`zFYgYiN7ibXyDHy;FAR$YZ9OUT= zX`s-8=y3iF2M)pk9Ax~5ZCc?H|3ka$KP0%!-%xvz{K(;d$JUUa@y%WAr|!=Z9lvm@rjAD)&X#caY0`DAHw{34fWU#ol+V__HFvdL-@qXkI$F54+1u;E7F9JL z@olxZ*OJ`cDQ1DHW*(-$<8GX09cj!JN3TULkg(iqge#!wG(_-4?)*Ib!&P|IfyASw zQh9HEOV)ZaN`Gekt%K0|gb1J*G}4OCIF{PN6&fMnI11> zWx-2d?E#^h_BWvt?bJ$E9OQg*%u>)R# zP)rhZEQ2gM>_hXZ>=GnfTuQwVKTbZj7BCN}eyt)zcKyO;Pqd1!1-lrb-_F-fcdMXI zngndK--%zwPDMsOT%S8A{&SiJ5a1>*Ua#Yh#^?N_rj2~OtV|6TMGx}a#}W{4CX6)t zE3PSt7a+{MgpU&vlI~>e`lv(2T-yrp65mF}Y~?bG_d8sD5!_SWE2@!_ zac-vJ(N7O))VA@%4D_rSu*H8Ea3w?aup1#T3b;la;C<%n)hn~HP)%cfUJX{v){$xA zjVRuhRf9S+65axJ76cEQFVX^Y*@sJvQ`Bi}`Q>wS#{f^~1Sa)@MbPZkY$qX!lP6Q*U4V;!(X% zKDz7L;4t3AWr)3J@#n)CjuUlf%DQ7GJNk8P-pz2nQ49J&LWWpWv094! zVd*a7B3Hdy5M-BJ?nJF{b}Sv zpFQ$$TW~2_jz6&wP#F_wIQf3L^}>~LuAwf>Ul6vGveccDb{sX!4(b@iKh~heNGeo!aafK;FVAQ2hDDo0xAH?+X5|Rw<92tg)_7 zPJyGcc5G%q)N$hEM*|aI8oO>fTECtD+W#D8I4hs2@TYa{Ga;SdO&~9f(AP|J;Kfqv70G3A4xVdcQAxMA z2~rtl;=SRk?sTjOTp#0+l0o^6miL{7F9&YA^Iocg_z2B4eIX*m5940_B+$!BoB1q3 zb-nr}W|GZ*_d&nE;@qaQf8~KM$X}dxHYeL-dG%3<5MhEiJ3+7lsA-5dXe5jHk3LR= z-TZXP>I*00-*r!a9@ET#xcG(RX!Bn%wY(n&ywW4AEoSEodwWAc#{c8sjr%Ta(tO3igwJeJ-S_xa*NYY}Z;s@xj$ zCA6|Vo^)sndTK^FW_JUt$U&z?iH2?8?PUhCw-y!O&M)c?+Pex4La?D#fWCKMWm8&o zYCXj2PgTpQM}t6WY+JGVz33c@#k`jlG;>i0m03!%CUTciG2hNUY|4o)grMhJDTf|) zUnJYgdw=`P>Q#rQn7cKYzI=QrSSoJ#B))MF-!K{~quK2L~jugmj zCe4_>is3t_5u>ke42OVA>HR|mcT$;tF1q>Xm_8entvp$44y;w zYA<9__-$AvgG*uF`7Y}>@qt`Mhl)R{ihh^AIh&Px$iY9c;}o&-Ufjp;z}En3Ru4ax z_HG9|Y+HDJavz4()3dNIR>;369{OQxx+QlQPDWC95vZC)A3nP_y5IF!SWPffihsT% zm{Je7*&Gf_vk2MvLjW!&+ob~eJ+^4sf1ry>fshU8x5JvA_v~{Ri@dkc8`kHvSX>07 zc3}&m_FXr33!|6X_Zfp==3Iiw$b*s6d;P_Zl!K4SnBe9+TU@BRrPxBfFs&U*7z}Ma z_DHwr6U*bAOj+Q1c*j)m>_|Y<45D+=w{f|wXc14iR`r)u&)QAD{Z~V4qUXB#bmYCb z_A+Z+PUKT*b&E>_j75Hs3yG%irzUK3wCH%n(jI!hGfKEv<%XI~y=&u(t9mO8T^C|L ztn}m`vb&CrT?3=b43q0!dGq~GW~zMOW&V4ZjoFN~(Cb@!ZGBD@dE2ZD(f^jl`g?N2 zU2-me)Hld}hcOReBX-##bg2<6mU+PGdafc{5ofl;LuYjrG)X+MW{@46DZsjdaU2C; zklDC*e<`M8DD!m&_$%pzf?<{PR*gW~3w8cg5G8UXyZxBH+Jzybuf?d z_F1beG}kVQ)KhaKe&*&`RW@J;4Wf^W%|8%jWryB-%e$fcHOLj?SCg8B{Jak);!;Q1 zRN==2r0ZoQmC*v^R{0+WqU*8f$mV>-?bSxFD<$C!c=Grxu~ijmk$lGVx~&~t62NpP zT@U?_%CP@y>EP5bMc(1|aQWuhL;-I@66A*c^t|vZM%?hRY1tGuQ+$o{_zYp&3;83` z%bM055BlUa8Gqy>=A*WK7Y#8koo{akEs{M$9N(=22g^1_KoaHI<$ z7N{@^Qu5{M!^^8HIp4Uyr1Jd#c$hs}yNUGF?e!b8C%paiuFh-@Zw0AZ+DV`9yB44) z$lCa!_}z|tcH+qCAnMeGbEkmPb(-{Snv1_~tly(2PMAmu=k*~qeLjb_(4uwR-i@}H&K+BL?4x9qy>p-(_|e&w(O#aDJrs-?8{6@LY6|xHn!}tM0R7z5;68Q z#y*VQm@)gDx4ys6_uS6^!nttH`JY=CV&;~a$@~3!y`Im<{qcArhSd;DJfnqKF$y2W z9|3!~{Mp<5gVNt>Ew?k$Gf}6n_nLNq{fnZ{w=LcscQ*Cxl^-;X{G#+c*e^l+YTzt) zU112XyhhZ6PT@}7p1a}i=Z|!Nb2qBje{}ZFVju6#;0p9Q|55)>ZT5}(IWzUG#=2(M zQX?4#&so-;zuog(2gm4#ASv9QODkB@7^NMqs46EzOXb*@)8Atiwr13afLrv8(s`T( zsjILgFH)BLp?0fE2AZ zPjEX<3Kc%vUleEj<{~N#oK3$NY`P$5Ma~mmh;e{T2(De$NM(ExO1VvW>!&cHxO@F4 zU?X5K<@n5Er*A(O=_lzRG-$a3HZZM-U#1k-Z(8@mc1)5a&cGG`&_==%#c19V|I@dLJ^{qaZwc;sr(`^PG zfDGMr?XPBW7sqG|PB?B70mQv*_AlZt19Ze1cDw(xaTn7LuB|2+>@)5A@^RG)qQG>0 z-vjx#v1LF>%t@5~`!&G2>+hMSI{p{4^z1@=)cy(56nsEd{$sBwkRSd!d-t40U=|B*iojShtTd{-sG^^(0rg42mj?RL6SGHBnP~gQIK@*f@U-lcvwF(v6vL40^L|W}0zHv|VYnYENs*5wb z@g>KZr1ZLt@;K^ms!(1a=}VF}nw$$W*Ajhs>m+!XKPyXWVkpZ{DSw*PxMwAT$ng0Z zKEG1hmEia_!MuEhY`ZU?0C6r7Dij@0<{`oSL$GQwv!kXeGZmBH>hh3G0&1yE_fm7Z zx{xdt`g~5q(|YFh&_y8^RZjCe1$rgb1sBBmp&XpqeR(T5c=}Ck`OZ*wlTN{0xXMf+ zK0SmtT;f6_*1fw2{~ChS(Q2KOG};DDE*f_T7kXg>F+T1ao5G%}-S7$clsC3PMj_D{ z)h!&WfC8ZIvljzyez~TZDsoGVm?ToU^luixuV4Jb_ENS3M|Nu{UIH<>E3JiI{y!B~>-%_bP7wSwI{ae0y~0dptP?v73d@ zL_I9}Wa*fnIlN3Sso#m1d*>DdW1c#um=K-e@CcWts9s!-FZhc0#ph%58%Sf;+s*2X zpk%e@n!d|&5jhVyypN&W-HX5%gAcvF#tb_r^|G(Dyz2nocIwu(03~_2)aN` z?Gd6M?&Ngm2rdm+}5WSY|>#Pi_CDd_%ItmhcYg|Q>g-+ z8QzV)i=Cs&N4?*l0d5PzfD#&MY_BDC=DqIz5%Gk+5;EvPs3i5UFW@&8l$yDnFhej} zj?b8~g7xuNlmmT-XMKMFV`wz#)sxpinVTP9Iym*ValVHTZk`tTd*heBkvm@3?|Sd2HgoLm~YXXv;d= z{opA`OJ#2LhkrOPG_k`pj;s3ZNx6F5`I)v;?;C_!kpMtCb&C1RXyF-gt|3!d*KfW0 zFXv(6h1okxZFfXgRJ%=m)-7!LN_Dr*T$7N&sCWIkOc3JmV&!a|Z^)}UE)x`%^6GEV zXrCJBYHPnm!?I9G<=bzU()p--{Rxt{hdf8IpF3G&b}{+IRrI1-Qtg+BMP{xwM?TQ{ zyFK-CRN0XUKt97q2_Tg%>B{SxZF7Pt+jEy4fFEw z8WYZ?nh1X&8!P~hRgnEh&CxVM?4*L2=TkuwRcrcFzUiY6+ zYFsGqp45mvv$^}Iqo1yX|7^GXXr?hQ=f>hyY75Rg=bZ`qeNSRGcCppi!X~izjG~wG zir@Y1C@9t_*`+qzj|4&XBc}H{z~m;*<>NC^YKpy9lsH4CxeI#g2VSNCBFrbfR5FX> zA4*i5*0|NVq*$}j3K=?mmWw8cWZH^aMG)UPYgJ_d7n_Zdn+lsD&0nlUnDTC^9aMct za_z9s{@xXG5T&rr!(cDwhQ*J{A7#D69s$~vLAEMu@+KHSYULsi z0@z3!Jp{Sq3%ptj;&_=Z&6f->f~myp%JxUo5s}4)P3XNLf_KxD2|R6q@9|N_fz7oT z@#SWg$Ga9##(s~CDn&m{Pc;nmz3H~qN)TKy%=ipCRRTN#v>dsq$_YMceDjs?uDN_+ zGQ{T9IJ${-w&9pQS$gK~5EgkBYn1*O{RKd3e2#@8T4U~g1z>JQ?7nJ0fO_{Ah5EV% zr9Ej#{7W{K{Kgj0$cSOVf43(D5q@t{=HKn<9zz?AkNh7S7934232KuJj&BIB=7t`f zZ}&ybwfn+E>LHl!`NNn1=uFnlYYx;=KlMh4+oc$MZk4WtPx5#QaiaJnGf;jIF*+HP1b zK=qOqhm`;P^#odvTWYq~^dcdAr{Ie4QygyZj|;EpPv(_Q&g^e>vpGYVz^3Fsq_A3) zd}&@oMa;7^2rjoOJo{q$n1a~JcVd-H1*g@3F^MA5%J6U~jFO)eChqn%kbI@fKyf2| z+Gift&zAXwBLUcN^hEsW+s_L^2brWQbb$;Md$$27F3qci__A-cj4k(Pxuj|~)>9`6 z_Z1>@VKu4sIEmo+lB$IPy+Xy!dWl;X5zNcX4{%uK59~APGv4oOvj|4$l17qW%&6X_Z#}(hU>(^ zc+pQd@E5CUbXhdu{3d z>jHmWh%#wRe<~1%vGsbgrU`BtTl*ef4`&WA9hZI!9o34pjNmQ!C5!#-^m81DUdqJ{tdA}@LFI^wO!&%fsSpdj|Y1p-p-|$*AP)3sR zj*gS2Xn$Qsn7D>a-I}{&S59)l;wLMWN)-bo+8VgPEs&rQF=Fe=oVM+j8Mcj-%{eC{ z^MiZ>Xk_f>=~n#-i1S-+=5*1>!7?^<_CNTzdyWxD{;S?EqD4?yA0`Di{0fOQkf~fS zi8%M}X`pQVOn~R_eyt9Y)y5qW0m`rpTKzf-+mT z)izF=-&b>~n&Nf*{rRezh>EihX3G0PT^Pg88Z!sjH*S;w!jYxaNJA%Bto%zVx&kq# zt$QDtbf*laS_epRb*e#NajxBg#?t7wl50oYw;HmWAd11S38z}ozw;OHT9{14oP+Z_AZQ_} z$MhqJ-||@QXk^bODBkq*05yBhyF%r;e|WLQgZdxm7B(+@rKE3nTLL65;E4h4P`Me= zM&!y^26YE$`2p4si{od36-61csLTz6e9^~%w*H*gC@XoZ1iYJs_B2=%Mj{Wg&jlR_ zo${wC{1Z-t~HPQRnZaCv4Ikm4e@Wa1N(5_7=g<;+f>IBFEtIIfxj6=tFaQNeOkIxcZouzeN2dQ6 zv+dTfLjr~MaJ~fU30}=t14-;F8P1H9P3o*0!F$|#!`rYBB^G+fb8_9=C^yC3GV}5k zpv{r5Kwk}8Nj(1n>;Y&B#))uWx$=w4>LBGjuRn;%F{;zZybixq@X+sFE|c(s?`HkT zTLY$sDmoBu-U5j?TS#CDLA`_|eNcoaF(*rFz0O zOl0_MnDDbfI)vWB%1L(4PRntyXXf7J$cO)-NmmY;=utHDy|IB7E;par5p!WIsb{cf zpQ3Wq0|qf@)#ADhd&}Khvjjz?!Ia)B9ZZ*lUvy61V|3=SGth$6AEvZ|5hbK4dpF|m z>zFad!Bw}?*>=3YeM*MP6&9xnQ8u03u0!-yMJjXc@Uv-;S66g_^%7pvXz*&K2ReO) zsNrh2_PGq74J14Wxm3J#RF3Jtwf*>V^%suN!+(taTCmT(b{5(v_GAwhN*&-!G7=`+ zn4CI@zyKY_QNy6O*Tq8M*MidutK`r+FR7nKS5NNn^YDNHinE^{zp=vnxv>1LJ!WU$ zn4L$AXivgHp@2`HUvg=)H0D4sEf>jWTxS4*ar%&@8;8{UPlq{<9Vqw^b25QYXm3+lWAB9ArSUY7p7&n# zx@nbrK(*$=^9&s1?4u979N&F_(chUg$!owpZIEI5_NF~UHKs2TxYzgbJsVKZI;%9j z=@k(8kr-w&T9c^HywSl-dT&zg5)40;taPFo0@9sT`v3jwkAIys^X=OS^#VbmHe)&& z9#1Rq_5jhR{AsepZKikv=C`el?h}=k2#SGpMCx|J6NMMwbnPu(6@@H>%tb-AR77;D zLJ5(U8A5-)?}kMRLv7h%TTLa-9BjZzgWD1%3{^OHJ9gHWPUg6R9dmZQ+a4Kc&`SzR zM)iwsxzaOG*$Y0MjStTYEC)qr*R<}aiKrFG!9O8J7pk|xw>0aE;e-#Y8Rnh(=8o-l zkm591umcyTh@3WNY0ZC|G_(__%{Wau;7@#h+Si;TpSEJuvEje=HCldy{8JQYfY!p- zE9OZR!k@LdoJaKrGCslwW-aEUY0SL6RRcpzxXA_pwIea zvZCe9*DFU=WGD|Br)!-Cn?InJ-9KP^V)i8QC&BIyYBl#D*{xym^fD8aP+pa!0zdwcCLmPyvE}nX9rKex_g+pBdKF7*7s{oFB~-SIEn=RXcoc7X0c6$61!MeOmf&y#XAskhaz)Dh@#jeyQk z#zBC5BF;z34iTTzo+{?}RRs1m+5@%a@WyKa@XyItRgk;~-|bJ+I+Wfme}j{Q6}FSH z1B+RyFa3VC!R}$n6Oa9{ZA3fPuuAZdPjU?5I}j1@`!>F;1NC0e1r2{iyoYaM2ZxWsRNb>QbaKPLfZu?g(*tJh;L!93fDWW!?gp&5=0Mfzq7=#KB|MJf8MXNStS5&uT8sD% zV;#hgC~g?(<^H}P`=n3?Y7xU+8oeP~QKi!#qjgyFqBnC&M z*TxJv;TqAtC-;y_=v%4XAxZ}G1ZY~c-vg9Dc=oE5{F)F&ys=bxQ57Y*x!F@Yrt6Cs zx~K&+25;9guG-8WpO-`Y3=@An#$*?aSxN|7W1Bx%W4IdMsuD3~Va{^=4g*>2Di$)S z3uAk>X%*BCUD~Px`UpBw+r*1?7pOy$4h^V1pUtH7Cv9}|y*#=C?8fN`M0Uu@WAL=-cFGPzGXa z-@naCB%BkuQ6;>3bex|AjQ==E;i-d#fSal6^){^Z&HjQ_!zu(iloWOfJhMEQ)7is} zz}1wgZ^R7 zeV7B6p!1tM?1n~8;Ln2AX|Q`Z@Gd_F>Hy=k*@LvVZoZy7tf|COSCD*haC6Yh-3C;H z$SDdVUNw+m243o*C*UxP?G{_z6xxj|FhF!Q+}u1!>VM9<^w%377HBWMzDqB(Z2ZrW z!wM&Z7&S|Ur;hwvF~iByD6a|DZf(H7Y&(G=O17cp8jM2zEu6Q!Rn{wj#xbRJip6vJ z4p2()fc#wIwLwy@X`ss1MBL)bklZ>p?C$jvm5C7gx|DmIdIqxk*K~iTI}BOnGo-%R z8zr1iYbMXKJ4peD5A&l0o|AvmkGgfFrydmXHeQM(yof!6vdxA^iuF~5kDKXb`n1m9FiS26%8(}gPg zK3_HGgfq8+1Gb!0<~@3w#B|;^TmGsmmsTvGXbKL06EKbhiL6A4__{a98Y>1e>rc;e znFK5^((F@V`M!)+fZf6~yk{3>KK|yCYOIdSboH?En~`RKD^IQN9EY z*kV&K`(YhfWja|5)LNy}N!#Z!NbPSf(TqE&9*LySER%afMGpGICO zaOOlY)|T=qhJfVixpX?0)B6LrOm(_ntaE^9#BIQ*5=uEDeK~g;ffFf4&Zvdul?ZR$ zgC#GawOrwwVOJh5-+rf6J88%+x>gbi_;9{T9-$F|hL6&X4c5+r_w^oPy^3-=Pe_Du z0}zvO)&?56D`vQupOTaWA7!5I8CHHThs8NLdVSkqU;jU8Ph1KW&%J^{-b-6FhIb- zVQV`>ZJ_}HkvkHvcD$J42Nm`mz|hZzK>5$xHC41zM!pxVYW?*jBb__swiVCjRtQV4 ztGOnDO=@MaCLlI3w_d`L+A(V(chGOpf8q-Xh-P_l@_$phfPh+8gO5HE@fDWDdjav2 zOJPPGviw;{GR%ghplqYxjQLZ9Z!bwe6}lk~i!SBBRk$9lomR4b;^g`+C)vM8f6tQ; zpk5YvytxVm*k(`J*{Iok>d^n$2kxq`2}*RmG6J2kqp!5v2HGKxmas?kRj&#~>P(+c zvk4d=Ih?y2zwit7CGPh!OdMOW^BKK#c;37w8RT50Af|rLd_fLVJHkPFH!mj%B);ycZZQ(qe9fFjr=d+5LkC_9A%Ys-TzQg8VGmZutEQ zZiQs+KNaO7t{qjyyfCc-g%F7LY6`d9|7=SX6jzPk?B~4_pz0VkY+mM*LDz}9Sg>k8 z9qcUQ5w>1s4C>Fgu)sO}obI8r-_`Q$aH+}<%-NVUQIYtaA&4Vk-3n^gN35(SI*858 zTftoxyz~Nv<#ct^?s2=lsUc-=*6+D|x8vE4A40JVMSeE#9LPe@+9#vO(AAR0y=*w{9HD?qIh|j-U;9tE zO_&YZD5HR|GKYrn?ZUx~Qa#xQrONjJ+o2Zdmtd&r*N2P|_q5Ic#Zh#HE1d`4oRmZ( z?fm5t4Lmo^a?{+C&Qxu+Anql>*7`z*pC;OT%-dvgikj+9Aad{vcZ?^qq) z2e zccSszq3EBR!}UrrcJjy-YHDW5Ue;LR2Oy5l_f*{I&*XP^`|IC{U*1+|N6V3+T;SzJ zVqB7DJOb61_>U;_=+1FN^8B8~AM|4cnc0mKiSA{6s*EWhC42>X%)EI`EC-r24pfeJ ziV&WUB)uV%$#FH6Mc(YY^w1746Y?3wF(JB56ASI2eq9e=$gi(LcoO%(Ypw8@h@Gpn z0t|D9+Ho0a*^8W`M1H|-P~KsL6kqKW1ki!(hT~~yvJ(BoLa`G4UIc6OLwbPkyAFj9 z78^KBbH`HHhL+8AGK^8qy3UvSI@bynz|y?pfaE}q=%kHur=hoyzq6F}tv8cK8mV+_ zpG}E6={)(dvNV(lID^6hRUz~$0GS1#*=UBW%R|4buGbo|zfzcnASj=JCdP|4 zpw~iOJgcm>0%C1%+QgGzTEG zitG!m7`^0M$o>ul&>46(eISZYtpt$B*rU3xE1KG7?v^X9=uf$^UT{c7eE!LqP1euu z{#I{UT;5f%9Ginxn!P1w*X|*ML+4FtgxRY!wvaW_Tz*X7R;DInV|`SgYQ|m@^1eK? zzM_GRZqmO@_+zF9H57PiANG#p z^evK|l`hC_W_X;!0d=uiOJ|;5c=0jEmb2Tr-dmdMR z@Y<~yG<1^}`*moixnkJddOTsh1g)~^ev>S8M^yiEw~(@i^KFi7BM$Qgfbub@?d3A8 zIri(!rBWi#`QJh;Ej}|_zWc_y!Al~t3r^yiVJ$B{3ro4%#&Sy0W6|l) zw)&>#&C(2nk zC!n65oQX7AHvg-hUa$D^S3ONOJk$g|haNHi=>dJb^bF)x}WS=2P)ZCIjlzi_5{j$K-;Ls_;^c(jo=Zm%|3sL;InXAh4=yxgZX4qxXDp81EIdzsAgLS3N7rqB zmcRky*35?l!==WGKF<8FKm3?Cu#8Flc`@k`0o#2$vCjHR;$@IrbmE+i=?d=;(i_E4lvqQJ4Sj*t|x3LD(GU09(;Fr z$T?Iw+T+Zx=6HK|?n7%^{ksKnc-+N&5ifd5k`g7(k+PU*LHKg5eY;*u@@I0=BU6jItb8Ed6v3!AJ3$ zbSW0~T|PU-%OB*Z8il%|Hsxaqm_P)LIiyI5H?YU$k9rLD+`MOxQV&}(QL%EVk=GRW zzmXB9twCk9oXk@JiO=VN(87%4ZME$Ca6*bG!_K>xhe zVUBXR2X(xJVR|=hu_T3I{KPKF?Ez)-7eAA``h;dpEa*Z6u~o$AE%JDheF_kI=_L*j zLB30;NoPGx|Kse4XFPLe4eAAyFV*cAmJJn#e;UJ`36fFE67ew>M&Al?1fbGEcZHX+r`005X9HBMpDx}Ty4rzCZ;wI6N}`Y1 zozwP(+yJ=zRo7~%O6_Pmf!N9`x2mvPy76@j*F!dTX~<43vT+Fvybb^HZ6{szQWyc3-Dmini+E{`$|gIj*O{XCq@B)g^^@01q_**}8T zZ8qwy*U$uiA6kmfDrJQpT!|J^G*{k9?l4`=m)@T54!pblxO0x@>pxBPff4Oz8-UgN za9`~RXl=0n>v7Qa*Y&pyVO+DgYm$dgQ1)T7zDFEEmOPNK<`vJQ%cj5;cp%0T`U!T= zV9`rb84z8EM5gAa9lmb;QdADgZw9)t(_2B0BjtlH5&;yP&MZrBi~h|<)fpfxv1Wte2xkz?Ew6d%C1CuKY1uezOb@U20B2#M{6 zf~E*U1i}21&%0awu(@R70N4K}P$z=v>couJg*f*mj>K6oBn;EU*3cx0jtszlDMXa>x-}RRYWARKM5G6wNqS>!#Tt)Wq zY&3CtanYNk%e}{7YbpkXzlhw~Wjm=2$y9asg%Bm_;GsYudlJVGkGz~I>bKDUNu))= zsU(9*UHc9&Y9M2{{7lmu`WiUxs{xh7njn_k=a357bgf&@h*lxpk^|yuHOALJ3&I18 zqePW00hdY6h2%)F#r7E5sBG|14KAg)k%*RYC^BJi(UBI5JJypkT4A6lb z`6u&4vA_sEKtsMK$ROuBwnXrouIlJ5T&2!~fth<&u9O>P*Z8t!e-K@+J&jP81afDdhs0W z3FSVkZEq*VkwL4Jxsp!wXy)2k-z14*Wd ztjjp~c0l`X7#+m+3#0bCkuPAuO;Tj%yh{SXCbavD@+m)NFivS1HW?=cMoe#SUH@k7 z0H-oXFfrR9hzIh!0TDY4kGZR`QfAvy3~7+9h6vaaS&!3Rw=Y@vapWCkYSF&TQC|Xv zvbN%|XDPziXY^e^D1Bjs351kxwKirZ@WKMh>F60jMx%^85@?cQC|@>cg8$jF*6izG ztn!i3%QgS1vS(oZNTzf*`suHKCwu^`s}lMWfo||`4fa3Alx5~-$7~~$_dgX_SG9$E zr!l`;mxe0d1Gc>*i(df%TyA5(s|N*d=i(_l`*cMWtfCaq z^Jq9yyuoa1aQyN$Q7ubOnLNWjEN5YpfpFjc>KG+As@s{fURPDi0Mfjfa-%(F(!~`f z;-Kp#4a_9!&+L;fDoT<7DPg!OsaRj;u=hpI=@WHdW)$^bGxlUP>=h_VM)WOO*kpl} zDSk*64LfY<6rkY6y1{sqiHy5wU^d!QKaTlE`QC`kQJ^fu?RpEIJ@mjzq;Hqdtra_G z0{5jnt(>+WF)wK#ow?M1!xdTe$1BVduz^S{cwRHz8`qn9sTgIwHki+4BIHt<=0{zD zwL2a~GG@nd1yaebpOPM1l#lv*{=6>H%dd7xg+^v;3H7+;2xvktLpd551Qg56P=#Ve zY+^^7cr(`Qfyyz_97gRA&94C|?>_QuTTDD%mvz*_=IKe##e1XKOAV{NiYv#*T>Z|4 zgRfn=51a|!MW0r@!&vH7l7fRQ(h)7etuuK_1Fzt~!mSm@3wkyoidpmkm#7X3@0 z*mLW1{LLwE612m>G|xNv$MZ%}Ss;Kr2>T-DfNfP=|I8a7#lU6m5-ZXkCxh9h@X261 z>{wP9Lk$0`HTh_YijN)HIOJha=kmTXdg@oY_cKkJOYG(? z0Q2Uh3u~FK->bnYJ!NQwYGGwmFkJegrU?gH+@W&mB;E3=)JJjhNwq?`l9|y6oew|; zA(v&b?;*7L-H2>1gl3;(k2JZ`*5o`;p9Pyc*)*4&j1!j%hVxZe5{@E@KMUya(Ie7_ zlPtEJ+OoAHW-K_0N9zCYUm|`s8qk~tT<6v-bRmaV1V7lW<0j#he;&L75b-^Ncchkb zplX~1*Eu>heQG20Mt!w;l=w%1uAXjoV68j=72XT36(aORRX(0h8S~z;1(e_*MY3(Y zTLUgR1-K6#{w)9Dj}T&bW+#sEFpr25vZ5YhhmOfFLfU|%1_ZRSL~>qb*&_OfR(GC@ z63$R;1E^8Ivkl!QUQmw6uRKP01V7V^tp!NzmkrKUSjO~e07&|wzjj2nhMbG49R+7^H9saoD4ssu(f3Y0aiAuUBX&)|Q(X^1atU2E~uujzkqo zL(mWR*QkiB4{hs@8i-IMSnW)U*_1j+{=PM0{Hrmu#u0emS?`?DIz6g&!4zS@vUex#qIJfGh6C{vnp?Z2Mic=fyUuA+9-MyCG-|&Fcuw38$^- zM0Un57ndw-pOpMx3B!&z1V`TxOflbAD4 z=fwpVc8=Wch257w$m0mniF%;$pSf839MiG8xsrYA|K)8b!B8Rau^7y`hHwFwo?tKq zpWfsqsd@aff(!Zu2at?av=OPfFir$4O7n)duCgtHrQ8SA;EagcX2n~CH8|?tYB9fN ze5RnmvOXdK$V`bCVW*}gX@AK1R>y4Duzp029qd(HPfw$*!aZxouJj4@d}1v&piT5- zD+SEb!hAGr?_s@g|#Q^<6H;5RP}aCE`$ku9i?*|bFhIvw~ZZa$&OAS>%~L8e}>oSK096tlZ-QvJ(%H(IQd;dK>4A=?>`=i zuXaL5K*y{~B->By4@;@aIA$n&&xKb&8uR7%dqg$?z1WQ!q1;&pMh z)S3CMvLXzqGEb#!HW$lV*cf}zq1fFGeO9SYHsW(w; zFVU@9VtNcb_2@2iMo~UW5qssX`+FF{viIk7x{D158`h_0rO^qtU5hkEikGEG;YQ)ZY5|E7*sM^J)nnj>&IgL61~(#>hR ziUjpH3S4~6KGYm0{HYW43>}zTVC7n)gRcI1PQE|j;`dx3>@S-vz?U5mv+cVuFVRQF zriiKmyFJJP))*_Uy|OdTG72?Qp|{2B=jOfYO%1wuaT(Ynvq`9%_o_x0!jSFcB%*U+ zag}i{>I)(kFRyU?nRv(r2JJ$kb;f=$sYc-M(jNV!(t~o>Ys*rfT}EruIL7rSeCP?h z^kV(6@K}`Pov+ozH>0R?(JFWJQ)}JytW#c`0!|`p<$5Qmz$v@VGKg3HYv72Lw+Imj zgSimw0@WE=T9~YJMo}5;Cd_?g!d&`WY5jEWOD4)DAbj8G&2Ua)Ei8oNzb4w0Gmnzq z|DLI-8exjFI(+YcbMwpHRFZBI^6=XP&#!CI%9l#4S(!|Z(T>Z$znQ)Y?@y`G?32L4 zK__3^As(p&Z&s&F^n!=Nwhy{xKU11zy_!#)1%KbN_n#weaguHXH_}KQ>&?`T9mGSV z-njk6#uX+%8JG!V_xcok9zI3RS*_}dV`79)8BpQm!Z)k|nyKAO%Wr$R?X2M3pxm2x z7Q+^tC4^Uw?3^kg+SRwocYzaEwGGTrKM0a@Cw2(M`mw8A|NO)(ahVJ$i5`~dpgQg( zk8~`Q8pfCS3;uwgSOu+3e$qNgpf_=@zYz}LU+iVRB@semSuOOS6yNu5qAWR84Ez>y zX%jTD{G6si8Dq8i6hSf=Vhi^{k2YuOWOIKw(H$5=tJk;bYW_tGn!DqzkrL_}qy+hU zr(}^Xk%no4U2{vre%=wYN502NTt*4a&&EV{asnaX0f9gWRb(O9y@>PK?kVsZI%~TU zV}Cc=xkd>7yQGMrnUjK)EK}>(q79A(97O5$wrP+$3Au0*Qn+6V-?#yzNs|nls)|^b z%3*^ugUA_hjj|GQmL=BV*Wq3Pc@;qOU=&TDsdRAF&w#i5%wYHeNUs+RB=CfwmqS^{ z|7P%9rvW4RVB=`BWWe1uGpfhB@SkZK=+)eR3*jzW-P(~JPQqCX!Oj<9)Pn@vY~UrU zFBAz{q9f_tzD+a*m|MATcvo;@f-7P)jJ}v8=nF2%s({Cv6 zABvD$eMSz-+f~mG=y|Ij5x*MgN$T%OjqQ`N?TZWwP2d{FF?R z+sF}<(YlSwsXMAW@U7C;g`eM8YnK}R29u}nE7Ko?zI4Wj?3^qK@bn}kg8|I!bB9u` z-@22{`npqy>9drBq%MobOzM1xvO#-{KnIWI&WP4@j$ePI%^%+qP~cX`aO!42Zu`b# z&|uigMew7aMqp?Ewr+S@eatiqhh#Lkf48Yj_!UE|(&S@py5ZvisM-%4RzGiZMq%!jC);JP z6eRSjI#_S-_3K-2m_h9d zxs{G!&Dg$ayEX!98XHg@x zGZ@xLU20@O>b6CD(Y8H3;i}Oy7v}#re>Y$m7?jv>{na5@zUZ`AE#*G;Q}KE~bcS$# zBL4j(L@2i9uw-ECI{VfMIvoksKWQVb5%U_Qg`yZ z!9{$yE_KN^u(ho5L*OkEQ+Q3{>dNX_qRZ@rtFl_U@AX%V_9f%8#(wzx>#fx;&uWBe z#dL`&7$;cdcJ0&W!G+DA3+n9@9Y`YH)N~sX?Hx?y`Hi>usZ4(%dJ%i={L5Q3j{I6> zKXHt{o8R{u>Cnk3(#_#q7(;4>)zm69P5!id#AK)RC_PVUJ6z)4Ud?7%>KG>{ECAB3 z?5=4#Bx}?_n6fvshz~QW{pN!=#C_;Wpy&4;9Ych>=kKd~Y31kC zz+C=>gSz)gvYfqVv8LevX1FoKinj?f1$%* zQ3|3^T)XZPgRcnOfGg$tjeJiV9}__+Z?8kEL~R`(r26;P>|7ZZDMYfC(NN0dp8Ref z;a&-ihRk#I2@(2H)Y8Fkcq_wiyxZpTx?`L7s7kx?3R@jND5=^Ab!9wAh~>2OJgV?4 zvT7PtI?y2ds1fyv%MVG&H21dFUz7JVK?*B?aeRT-AKK~+9^Y_mpJ!*f}S$0ax*4oJUp)y9H#Sw zJP@66s!muQ@Eq0mB_#8m3PPBTgPweLtX5w9_pg*A&hS`ytj+E8#VW({#l zdwqAdAbFacSojK~Y%%*&Zj~c{wOieHn+Q1dt83SuLWCqN>{;YBeBL=X>%jG*?|4t^ zPWLD$n?k?ELK{=Y8iwht{a%H!JrA~O*hxSt@_BoMyTfy`h&S6w% zh^u|dOFv@6CSr7Ik3Kg)fdlz%sVjinso_f6-reV1Z2~PsZwz*~8NRFL?ART#Jx318GH1CWKbGoI zWY(6x9}`x1^nQu3%1d84;^#p>`sDiKU%LL6ajzo|bv0pgScpp1kIw{L{tw>XJRHhB{vSTAj)YDs zWEqksNkW;jO{Ee-QFca2DlyiqGZR9xFIlpTLb4}hpRtZDOSVy#!Pp05Fw8#B?VRuV zUeEK-@2~TFuKD907iNb0zTcnM_I`g@JyKw82bM$ZC7B2cBsl%>drI>4fynbX!eMvi z2RPV4U6pSlD3y-Rd!i`O(>)!J|Knd^WE#OMM_Gi24lZAH!7 zlUl<6s!fHVvqm6?;3VEV8)%pP0&tOSVnI`-R=q{Fq<6Y!Su&Lo8X%Fpfp$V69w(so zHX!$5a577Ttaj)ue`hZSSFhx+|Mkkv&G~?tUx~JBh44$Z-?cCVjq#Hp&K|MfFkmh~ zt|RLrazbqU7FrTClgu}wziG`?(weSoDrU5=I`u*6;5)uZBoP9)$=IGr)>~R4AvW#} zYp(e%{KkrSKct32FkUzS@P0@EQJYdA^-IMWke>`JdzJg3Va@qIt*rJ7|Q^EGq{5a8X5#I3y-y6lajrH z9(Z!G{w-+*ViW7Pg?0|S><&M!BSB9a7RJ(UK}xFT_Unkg8t${Eof`Hha08bg3pa>Z z-vF&tT58>vC_$RJr))y~Q)UVR_)Mi8+WJZ!^R7kra$1M2hLSAAvc zeaV*ouqfGA5%_I04CDQB8i5v?{)&nnuH(?rg~`~J+_hObL@>=6?mf1gXkwW5O;>iY z<+^ag;w^R1-gnMh(w~GowVyoVB+<;;y)`K-Pa$=_FO7kH1fWF%*zL;*mQzLwWgr>* zsdl&+i8zNnlP)W$!=4~Cl=zKVO&U9+>ulIF4@<1s95Uf!EqfK!P1Vo4pFw*g6fLY} zdvwhVPu{NLt}d6tT)WPjRN1n&@;KRQv;EqIFjgDPJufWx@YbGkC~8|JZCiyqanlgt z-{S;BD|;-#STiUyG;@5R0K{1j8&>21!7F@R*g?U%{ztlEDC6Ny&S@cv4$To!COjiU z`KXCWqZ_2S`DKtjk%_#OO*;0JLpRUFeToQV#K-$D+N>F zQOQEvat+%~Gp+oN=zj1>>13Zd+OQO!xApr1y|>?YuN-pZ;|^GP7^&cgYEB5?#(sb1 zs|FhEtNnbNY}oZj1oV!%>t?c|V)G2>g4UT0_$SmH6Gl29zoo5-{6P5{N_4bkx>H;8 zFci{j7UvUEhb5+gT@J_%;A`)VvD!2XUJ{&X=!LttxbDrei{dF9AcDrBC5ntBR0yr= z8MiwsW^=~rl$I(5Ph#^L{b-@`8Wz*uP4*>R$I44Kl4T7v5=0g@A`nIR(L7-6gfN$R z?{_8@GN)1^HeNuO4fmo3{M>@Q;MlQWW43kX({Pfu?o=;MPQ#)VvAweJGV-K#OzFXH z+AlRJEczX`gvsdZv9EwFlU$twK7zzir(OS)Xh1=qw?p#{-@=SDBOKKTT|88eEt&-5 z;2_2{z?E{io`>2Uf$~p45o72t%(*8~IKnw%DIEMvmEJNhxcfw8V@GNCcs3QfER?eh9S8QF z*F4SUHGZEib$s$#=e2~VwN5YZ)^t<{4EXC-sXPz8wadT?9X9t*N3ZK>Zx_Bn{zeB% zpyIh%8||0-G6S4WyYUqyMsz|Rd~a8*;D0|P!8~>bq1f@1^?e5BUAHJ*A!E-qFh5k< zE%B~xZInmr3xFKFs_Gt)0rPy+Vt%&m0+OoOxM zBIx?V_Xkj1GMGD7gXtG)-?KLb&5N(ZWXB}4kE5fm z{tTzLpc@YWwC2$#no(F?EygKgsiJ)X{r~sppV+-<==B2MY-e`PxhqL7 z`(j^ig%36%sBWACcHVoVhWfC3F28^+BXeYk+i@7d9B7jcZ7dFKzT@i8PJ8FXjeP}B zmYM-!bn??&^Qbz7z4rybmE}v)$aPZ%rG~ClhzMD>r~|YY=z@I#0hF&Q8FIRgbjPupn0Yo=NIfK zYQre@5EX$JCFdh`4ZrEyw2LERmNgwSr|E&had01^)zfq-uho23RboPbEn^@#&n4k5 zUZ@DO9@1x~145McYC!6nriTS*Ps`CveXG-x68x@pp{1yfLiFiUeE@wA&xH7~=3s0u z>KK--p5Zmp$^%{G{0+YI>BK73f_Gs8n!b_>=9A?sJ`Po5>I|3dG#F7!-Gh#CbQ*x# zRLW&8n<3|Lo9_y@_T(pI(pu;D=V!ZkKcEJg7_L^RQ+UA-P+M~4!CgJ1z?@C@D%nB|*H5c-RiJ+a)<kfsb2!Fuj6_~a#`tQ|Rd z)72a`)qXYJZK6I7gF!`hCd-uLQ7)6gf^phPuSilrWXJKs8Fa@>j;F25ufN)3x40U2 zF}Ln43o}h3J0YRs5l|nijMKgSeVUXk>X-D)Qy9`npL@`QE2;0O&to|^^XVx8d~x4Q zz1%9aKE6w+AL7|U(o8%)>8sd&Cb})~DjIN1(?6)JZAWvby}RG9FBrzYpcn-_)(A?L z3x;+EbO*?Are-Yo>H?-@yTi%wAKG%f*u}8NDNIVeBrGE?ifi zm)V2@5A4X!hml(U_w^UG7Iek1sz|e?ynooXD(XjC-gd#{zYE&-i-0uzg@2Yd3s#yi zc;q2!Y5?l3>-#asGmF)p_DdM-tK_$gv?t9~1ZxYpt!}^@W4d8xcN=0e6;;_d#jmRo zay+7A2_^ASgM6rcR~0?y=7AICbjrV>DJ5Fu+_V4_VCk}YwGmc96sYE&=%>YnIcr0T zfYuQD1{)GXaJcjt(_SX%W5?K^Uq`6)!)m;|Ih$k2xY#Q}-r{NG%}?0m7r?%vW|#K~ zEXAKucVEbql2zZhaw;p%=*p6AgXH2B>X7h5Bko|HDR#3CYo^KU#fDJb&xQgYU2z3drI2*`zm( zg`khgTmXcVkvplKgNa*D@?_v_v0KA1wa06Qmv&r7* zWfe4i%Q}M8p{s*pF5^vwYu0Z)onQ3`8fsYc@}xqcG$geEUtdz&e?ak4xpgA?eeI;x z3WnYTj~|lrFpPc2kFu=}7_^!+wORQj9Pu#2obKOPwv(^LUNSOstlt5)@htJl%@6QX z!vk*z+xg=Id9`yATe1!mA+9qytaa-)Fo_)Xa98*)=tHiRPZm}OE~b0mq?x${BrNBE zHEU|;FPC0^*yqc;%d~TfcM2;sXF6eD^XbzRhZG=RSreHnF4-QWW*fScuiB1F#H z(%li*arWZURb}S>z+38{)AHw~b7nVCAIwM$N9F{V1xUW$W7`A+Vw8vr(TGGYNXx+sj4;S6Z=hdYjM>8tW}T=DsEua)d>^-q zTry%Mub4anBYY_kGm=O`8T)yaE95!uE1XI~)Ywi+ou`hzmrz2=ytGCZEkw1<8j%nY z!M0^CM+PCrB(aL0M$V1L8wk}|tT)U{^qnBgoKy+hr6u%|*@c}qZa2t)p#I0gxDNZU zmWEAF__^z__VU|`B4Hle@&n9y!x%?5A2V#?BpthRusxZj?IG^6)IwXQQ}^7LfQ}vI zzEE4H%uz3J4>OMLCpx=xV4qb+#j0P^(12l{5+o1y=%ra3-UBq`|f;*1!h}w zEhZQcm*E`UZ5$^G?&q`tC_*;v(4wCYxrF*2=hPA)37N)e#W5G;u~D3^Hm&^Y&fc4D8~?q8?-StV?Rb3 zYOdxE!&&piW4EgNV2q9A0;`Fcc@^e@8!8}x+Q_5j)0OlF>$e8GW0N_}vK>r>LB{8T zM~F#P)wjH6bd5?%+}{@#_{{_NAq%~H0L89fZp+Is&G28lT4L+o_@;i^s%v;7=Nc4N z@pVzrJuc#*AhJWd(0&a;UJeqjwp-A&JrBO4scRU!F_&&8;X8DHm=ES->1eCzwh}pL zR4Ra-q!zSmtx<;m(qX-D)G`=SgOY1da^MFI)xRgT%zpRn>zf?>;A6V8QfSMrU49C| z(jWLTUiVGoF;53LN0Y0cP#1}kCKGcd-X385-Q!Zc3z_~d)bCZ8T)zQbuqiMEUGVf= z{W4I`ZhPVD2-))f)O;hhju$gK`j~BH-ZJC+GHRL+R_(XgB56Cp)Y|D$<6l_;p=}yy zLniW6-r@+`k8FYOzs>BIjx=C<4|rplnuR(N-qzG|VWvfCI)yCEVe$=^XHp!8#|WGl z1J>Zm??W?r-wP+N}#%c@Wcwecn`s8V^&>nMw0| zH>mPRE{SW6RH!bsefw<9O#KYlZ{+yuP@RxVhvEPNy;uJa?NaIs^kOdDb-*O&dlhxR z9YOFq%znkj>5}B|T(EsZj*v^D*Zn%WwN|ZsG<;mR!IA$ax8iHSkb8~ka}Wy-=OSa@ z!G7~}LH+QA_>p1mmOQ)k3X>UjY>{E%ToF)nKbXoX7E|TiBe*`_6xq`Es*qa=BX~+_8N5x!3|Xbc;t;6-*Y+Op zd235nr!()$XFeZa%_qEIbDC?@HXa4}@SK4K=OU5Fd)t?W@hvh<4b+b)8()*{GTVy+ z(`$r}jsaPM6H9FQ+~j~L)Jz|(w8P7W`&W!ON|`gh13lpWT;*BGKqKn`1pWw%T5O=6 z;w(8zVEs@wT(|o%2lboBIT?7a{{yHkE7+L~QmB23gH^^)*OamCS?{T6K<6)ZXQgpd zfyXaa9Sk3~%Y-dhH7|5nXI0f{%^QUp0vusg z5vKSAy=-lD4}<@K*$toGdyx|z#*pfz+p1NAx1JnIh)%z9>ieWfd*~I_uH5wly{JGv zP-5-!a0#%NNpgv`4MRCOAHyz&KlCdY@bA^gW;8MhkTRtsYjTh%&F;mPNHOD)Ig@oP zFzUo>IKT|E@vxxKhP^yIT>6T-TwsQ^^tyF*c=6@cVUjw2IpNk@9g?F3!h&i zyTt#^xgoVb70t{TA+RqOJW{(&p)8LjP(1?)O(SZs1#aCis1qZzs<`!Zkoy1hsx>u2;E? zi|NFS8Qj8#q6aVnBt`#$aKq@WLJ)UxW!Z|rF{MV8q8j{w8uYMXN7IqPll}B^*74gn z4umYLv2TRge5w6F>liL|R=Hd@9} zm*RjoOHXvaU)CCc+#mQZz!>+8wmsb=!z$AzDkYyUtoLDFMEga>-4kLy?`INN)e4z7kh5#YI!NUVYx3aus1bQ9Y( z*3+b^t2m*>Jd zH0cKZb7=MX(uB`nMc^Y}2t8s@`>2Q#_Y}B@FkrSS&wg%&GMp!7%~{im6@BzVMp-L@ zy6+-A-kdFtLd(R|PTcS0$%($o$Q({}%v{4M&0Qvm6yswlJ+u~ER}pM0c0?_TWq4Hh zC*b|9@?X7*no=zGeNAudGzYDhENTY~`PPd;IA*0fxYpJ>2VDD8)-vlO(juk`hh@%4 z6N4xhzdvE!a{&Sdp)YApl3(ot4E0$1k-&L-*pbMM!~B`r4XRf#JSwpt!XmLS&3NLS-AD{$J#=-$&w%kU?Yk8BMA1b(xCOsZEWGp$Mq1dHrP}8@X*9)s=WV)A zuv?eXov?1>yH}k~FBujjHs{FHO=j_Hb|(#GFoD~SB$Y-15(f=lU%+vyHo_V~;(sMU zQ#zw96OFC+CS=M9#_=0kmO%I1>@pfvQpyJS1CK6mqf6$~V0)tZ(@{NZd?|JsHZvs@Wm#U65vuO9Khj8|x)Hm2wPQJRBrxs_U+_FuMeL(3M`GswT z9_u$VmU^}C;&IpG!hrs(sU0oGRhzN3yD|jHwk^(FdIYwZxTP67@*|O{V^wN?1XH-{2XvMP-C4f{Ze{*^jKpg@R45GPvI)FZz#X6the({jz*nN zef`BzIH_RS2C{UB)uR>Ym+-sdM=hW+ycGM7xYECz>mSZU4R!kRa=U$qS7T3gxZkQ> zF%}aT@1$61G*;2U5siQ%hy`n6KlSO!!k4PPVl1oyX2e|rt z7MaoVg)ju?@S9J@Mk4ZT8N6X0e!tG18s^=0`n1#IeQAkv;=-I0hqfdMt8I#gi1@?P z#9@A7EU%x8e#vR*3$)h7)=EPP&~#r_vTD-X;Bac%I~tj9c{uzuTRwDGDfR}lsR;wNd&gEVe4tvm&01pNUh zezPHXm_t&g{k2NG<@yYUa`1bLvc|ad^lcG^7=n?;HYHdX zauIYu!x}rxV9O>7uayeE=wq;NlY~jy_3IKEPV6PR7zWAD@@DFM$6Q8Qb3@m**b!PM zp-z>YL0s2xBwTQU=DukYOd^NzCvlRthg zdM1hrVUtJn)66&{)P#G-$q=3G| zFvv2&>_+pMHb_)wIcsc&0Bo&|RYvYsZBth20w`j{iY32kMC_wk&Cyi3D!`+h4Buuu zqgGMVOkbcLb6YN=u1TKrD$6(Pnsf?AijEq%x@TvIg1_8@Eten32Y5kLwP{EV{Im74 zn9tJNhq{bVCQvrQA8-ee&@W)uVoHemy*6t=Ywaw7JR8(3%UR3WU1Sd|v5Zd67_Hxb zYAmez7I_vYV3C}s63y8leV^Km915TJYRcw=Eyp#dOXUiVe!FL=C%PyL);REL+5O~q zjn9swi^@%)pRdWK@sVQueB6FpM_n8B4-3Bs2aGOx-`->vajRGF{VK4v zp5VQUF^G*Mu#tQJ+!RG50V`0|)}H%rXANUdAuJixCwI`e5-CwE@>ge=NW!Ev`)*|5 zrQB`Lk+PbU0R31tVApsX%UszFXhwl^tHje1Q+5I9D^~W(`#a};^Z=r9(rNGrO0EhR zrq|OlYnAmz(j~4rr%G1UzGJQjR3Y_{^!M^8o+`mjxnfQOTp&#crl5vgC|(KS%c+Vk zRxC{bSk=e>E5S_J(xD;9sHzy&EXtupP;4Y4k~FAY3hx_v<>2fZ(|vhmQVYWipvG{j z!B<+(E^0I;2$WKPC-I#3F^gF~4D-l>{bG_P z>STRbE{vg!1QukaoE}gl_mTT~&U$hVs(||rozO?$JaYHysa>2n%x8GD(j&z8$IqRj zNssxZwVv6YaB+92jZRNX53O($l0wm`wQEOD`4YV!vu|G&imx_+0wFTzP;nx3vPO(&*$?O(0{L$)I$T6;)OySZ{1k6YYC&CMJr@X8IV#PiUIv zO`OnZTduD;?l?uB23sPdq%*y7iawL}@$?oXR*>CS|6V2v`>0+iW>;kGz0v~1CH-SM z6no8u7Q~JGzesbdrs;#I%g}EJ#R<%2_fD$IBl-Vs-I8t)BaIde)c&+$twKK5}#* zKi?cXlOa^pRfddtgn-Jq{jmkqDv@28osq^%5V@V~GWiM8dflUp6l==qzi!{JQk7am ztTOX>6Y6kj-*+>)uxP@=5#Nk8epLF@or!fcpykxlopBpK`P| z3ZzFDeT-NtXf@~?g?(z5!-|*cafC}?gmL8m`7L(TQEU72pIdGlb|J}Alg_Z zo#%%qF$O!sdg;pVhrNFpHyVcuNS~DI#*KcAm-slEcX8?5PS3%zafyOnX-hF+Xu0^Q zMfO3kZ{rQaDR-uRP)mht2R1RvQ0;K-a$tEjIS{<)blm7Kn<}De`K&VNVs^<87`Vyy z>$1xEAK!;h$9jF+gssy4Y$5daHd*u~Q>=gO&3#Zk+4SSK!%TSlb@E_eA%FtEEQcs+ zM4d6{u#d**c;S}vn3opTk0_UnTW#_j>y0=9qyU6Y7bWaau_$l9h4$c{Ye+&6qTcEa2|b~yyH{lNX)khB0(NaR#Q?1H6?P?o%+FrGf8wOuNb z02gvt$2K%vuiIY!90Al?>r@s;`oK`PQj(R)s9etNUbH*Bx+~zTu;6Q7kvf4?GU`(L z4Ztj_LeK6<&Rp{O=}tOw^|}RTkWl)<$laWr26Qm!S7+cq?&cdl7yow}A8|GbR=pt{oBo@?kCuxEKO>s}y+LbrDK)LmY5F z9etu@S4+d+H{QW`-a$fEAO8)GqUWAbj9hM3#*O;}JrHNQ3^Gy7^&a=5X}~L3c12ts zuQgz`(hJ);dsKc+T~K_sI1uJuyE?|GovIb5c%rhUDE9_-&GBo7T2lt(A7XC61rQv$ znV^*kC>KD;MJwrLJ9Mq#h;E2n08pU~W?RW-6$-DCflDy_Xl=CvP;6z(But_qsC)J= zfc19w{2(-+2yw^xkgk{F?jA0B(|F6c+O_91>os*J(x4u<32fGe@Xd(ADhotGiKUT& z%1)dA&5^`j+buHNVtH(WBMG8c$FKd8b-$C~1<`?)H6iwq`fei>ll!=}>s9j6HN(r$ zm|)N+!h6IYRx@7~!49%Z5d-9ros9F`#*rj_!sM?K2<{`{c)cw1bcKy2tnGIu-4Cre z%5xZGd4chLT!WqDS-Vj&xSr?sB^yyUVAx4&4_}mUnIjFg(+@-hKSTR6MY?HY@7a+a z)X}!1%qtQaIx$=)^~%g%SOsQEP3scvb-I)ky#GXfLxT*`lw?H=rhQ{jvR5fod)5Hv zwKh9{Cr2EHy+G-!@?dQj^Py-UlHiOgb?i7w*z6VMKD(J{nqEph6`!G;}^^;3A^!f?QU zN}#vUAsktv?2oGEgqHPvq0q036D;27xghEm%qgHp43)vaDO#?25I+rb{H#@3H9Y4( zQzx-+O|Cu-|7cZM%qnLsAKvo(;7Mn_;*cBUN?ruo{Pq6{XEjt>u zOIy!Dqh+>6?q+Qth}AdtQE>Bq0cu)0*D-w?UmC*=p@Dop+H`PM`8YPFm>9EZPOBnq zEQwaNNIRY^XmkNtIiL4>+Tb+fVXu({sa-)-Tdi+xk)`g*8KA|dpmEFGjSa_kGoX{> z6^&ZluC|6?-6XS1qSY^ZcYWk=nl(O)Fm)~3^X_W8g>S4w2J&Rt*XrLnZM#-Z3{Z)cjFeCZ?poiz0M+`J zfbtQ40i7IB@Iu3ITUDpu-JO^y*e;vJdk6fcDTtx}p}SB2rn^-&n}z>;*O|q*a*@sU zwG9|0G1wgDb%3%SK0-I*Xjx z_@?|c9OER!=*WC#Bfk{mVg?jJ_oG&X@GcG zHzV|8-XlaOR;8JvD0EiVHNuvAs{4IJXELB2_SE@-43A7<&PP7pRdV;cLX66l&Ngc` zk~G#f0UkDZRCyulbwI-ocHeMQuwT%xr#4}de$TuD`K-T|4=ki_nk)!qbp0jd(GI_4 zx$I^AFk`lb^|)`LYsB-&fKRIYDOs_5Ld3PTE8q z8T9*wcV&SX@u4ZUBqPT0_3`d;;IDj9!rG?sAK%l0-h@)sJF}3Z=Rx-8MVoIonPNnj zqFSnh-~)f z>`nrl-4W;tn&01kx9(zp?v3ge4c&=Opg`lbUzDG4`->}3!Y1?N7Pl*%brct;5%liV`?M=wCOnyf4;uYp%TEFV8D!v^FvDF-t)%}qM=Ej$XfQ~0{emhnu%Qr` z!~jy!ZX{#%2W=l$4G*iabzo1yt!RUOu9O8t+lLE^p&8kZ+D^{|SL1b#v}%p;Xq05S z$8Fr^gfkN)bLv}u4aa15`#FU$#+hbgG% z(s>@F2VZR$>XXLWW&Y8J*FWxR=LmyKHA%~el7$cNQ0AVHDwq83V|02#yH37ZruMYG zz}=!AcTyw906QjqHQ_#G#ZM+pa$B79C6&!ey?*kk$9z^=>bL@3>Ug*uj#5SSiwznx z+v$18FN&cMmNV&~_fH5C3~KDfHcG@N>=AJ+`!P&R84WJuX&+d~n;*Eg5W8n*&|Y}9 zh=#$=3)Z*)b@)iF?^H~VFJsE_2WU*0TX5XW4o!!)%IWFMY<&ApQ2(k+aKYia$Y&a)o`H3jYDM?AN3WT^ZX{q}}rPPHH&|4P3n-Fo%a zX>56^TS;bSpyovmU$jFyDr2jOJ0Mnpui~ zPq6Nzr7l|pR%_#MZdq@;W2my``yy>U2(K;Sf8LptA5lDHav}auVDkB7#z9;0NB56j zkVBotUC@5Ygx$7~wQv>d>S&v_djAr8J%%OzRkj^T1IcGPPZtytoUQfk; zWWl9B&P@oGKT7%YfB+{?FvY;-yshe)H8fKDe5~+@|nv8g(Z<;mhBsH zMRJj%40D%C$s-Pvq$JMuN;_y&s$E0F_%B54Nj08>eX&~h&iJ7KEu71NZvv>kdz-~Ux)wD2n^{j zp1wxL>bs1sHs6Ke?F&{P7m@qPUF1-O+eVM5j#Q#wrYmP6q!V&YGIqmryq5VE zkg5HD{&FlsMEO{M-;j`$=#{63OU~ zxDAr$8J2HKK=z$oLph02z2Wy5)aaGzh}p~(v)?e#UyRb!irTf6i|LTWv~w|@2{lAv zNN5>w9+u+8^bTZH{b(%VU*vNrr3*tO&q;%JJA3xc`fzl{A8i4pcCBKz*R4K6iH?i? z1^)9A-~7?A_K#}f{XJF+h(mQ_5t!b^n*3%UwN{?s3kuGm-cwQZUwxq7~>Qw$$ zCm+6q3+^=(_{aTv{x!xs;Z%AGf$;UU0Ts%w-w?|AGWzK>|7X^&Hfs0-l<#6?s^(1G zEkvJ(K3`Zq#aZ>`%AYyXo-Gx#4^;#9G3kA4{BB@Cm2!yX%pjW;J|fWMi4#Cvy-Vb5 zIp9$JC&x)L2Z-mN%XV!j-qGjTT-bU5r}1B@RcV2_ah^92><*zAuTu$ky1t)P&5Dka z6BbQ2V$kB%+r*yQ-^Ga6II6zQeU+u=eH7a@tlsW4M{YHKwwi?u783mO#&gR_mfe2{ zuw#m!#ya?EFdjeFq`S|h2&UXmj@$9RzhbF3LqHOwaG@|YIbjF~3|Lz+uPovbwH&1K z5@fwRwo=GLe8;Q#`MzLQF4y91K4|)$IOXqjjkHo`2=QKY7 z^q}rUePABe*!*9rMn+eG72p%F0!RP@I()CCzEIRNhI9cLhGh9ir@ipzWF;aVYFDU0 zT<#^D7jL%}QHI@fIh0^~);Ft`uy2&AY(0M!4(rUn7uHb$R{Zm)kjNXg_LGd$CEej$ z7mcn06~Z>QiMu^=aCK<$V_$!A*BMS3Cqe8AH!g@YXC6EemV^;XHhmVi9SfQHqjLv( z^0w^%=<9t+(>tfpg7q(JyxyjtlI7BcPt&8rQGMZVs~>$H>o>QZw$}dNSpf9{nR$8X zf5}c_`P7E>tPYmtl>HqHTr*D=Jr3q2E~G_*&zvRqc~&twN25 zS6D_{JYMXo5#cu`oo-5E36!GU3t`gkZn|aSlR!N>@V`XyR;h^N97MCcHznpGit0+k zQ8fhU;FQm0Hx?7EI~f5kxc=X%l+MV7sn-`PYAnBHC&%O0Jx7IXQYv${=48GLnD^ zb>G+n_p_h;GaWd$bGm-P>VOMtuN#H(Q(zt7f8b-gZ(&K!@oyz>2*DmNOy$Xc3}Sq> zcq0zyWZfEa2kr+IK)`##Sr;<4fzLoS1vBMB)EzGfjHfCt`d+i#EbRPjOQaJ%E8jDP z1CUqVKI_MC)_-_>)R-Z4xw2`@dH+C^7E2x&C9ZREZ-eX>eNnk_5tIIk&=4hJ*I?@Sr_xp=o+)^p5i z#_DZyd)jRBRzJ20`Q5gCE@|`;p?Qs?u+jye<{yGP^O6Q8Gn}W5#$>oP+hjdv)w0{i zfU~_n`KEbt?k2-l+X7EULRI}JW=reOHD4_{jgQ9U#B`?xdgn^m5F;pc3SyoQKrFKj zecx^|Xmj~EG*WO?r>U3{G08;rL#n^SU7ZP22NtJGH}{9ijze3+8exNz{MA4cf(Zr2 zwh&L+R_7*dt8%PJV%&#CepE1hY9pfIO~~toMKM&-s%%j;#mINjW;{;pBm5#;dRwc+ zhnb_*OPIz6LIHQv^>ZH!{{z&+Ds*%31%sl{G@t$<7|Uom3=xi@V4V@y{y_$PQcnArow=QXH|MHFg1&DdC5tzAhIQy-+=6c5 z$}~b{^hx;7Fxm>0-}W^sg!3M`bQT+q^1zX2*rj#I&1LL)#5rUWK^cSUM;X+=V0D-B zWMFkckj?kKicVT6XNg$hHyu|de$s`xPsT@9o#u_U2JS7yEH=pxlW0kPO{hNF65g?C zvb3)v0|Wg@?vi*5UgkN;JVqiba(2>m8#c$DBEZO_zpAK3P&u^k*QOFgIBjhvZ3GqP z2Sq_B-isM*-<=u^A{k<0lsfB6)}!?ZbubYIuEu6wnA* z8w*PLJK{Y|`niWv=gE5i``^JV~w2`PvpeH&8u!Vs>$19T1YXXUn=Sv>=mLWyW(NaT6Xf+P6HBD^2MPX+sZwScy8L9C9^x4u+7{7CFsvdYhSbX{w zV5BqXob+z&4k37lWrXkh{qjPsqTR&n&y;sxQ~<3D=Dy&`$|fd((}ea5xChzWy=Bbn zkA4R3_4&HP*6#i;b!UGSU_4GY6`{RnnPHP7HXG8z;|{8&4-J-% zg+(~&+OkyKFhur$3PxMS~$nmgRr#kV>e3AN}y>dzkR>blGUf<_0s zih8*J-SOzbab9ED14VVk{6`4d+T3wLl=`h0 zH&sV*ek--JPo0mDMtzz>BYeMkw7)2tMh%u=|)Hstr~!%esm`yPExrjUNsW*0O;Bb6nMB;ei1XB%pyb9KTODkbhR78=}gT>qa*tKN~ zfI{+LkA};TdU*TM=gX*6LkDtU%qG}%uqpj@D_e+uAIxnw3{BKr^1tcQb&wYi+cNME z3;IlLOH>JZ$$~e5X;Ut{PAp-6zVm&~4F8$US|Ne$F7ge;{WP-MayQfh8{=pQD&viPE zUvGfASNL(p$87uMa;J*;I}){T0X~76-r}1-ntHkW;SApBn*txMC@dYhRIVfztL=hy zOJQcAE1Oby+S=oNF3thCk*Gh~82DI}v;a&Gv=sEQSFZD44DE@p;QwtoYOrG$mp`8n zEv~@n)C3@$vF0v>JJZ2d=6*}hF)|jx-hhV42J*N(V95M-2(GKoY61;M+0Nuz@yy$w zv4d$r;!moF?dyy6xp*8-*m0nRTyR$pl$gi|g6np7e z>i&M`1Mc&H{Ti|X^djF*l--IpkIMg)w1BEPe6Q^Rav;tPIgl)qMq99556%vMviGs< z?!_)g^^P{c06&%X!?<=02m6pF9z{uRF;ifb~ae0e66yt`*3ZeByIy-Ggd4@ETwEroLQX{@8 z@~I>1q)XL?L}@$9YT~-GDTw6Z=Lz%pg>H`$am`DHa1cIOqtXPBySBl>63+CG6Rn;6 zB-dEpXhY)mjn%xe1+4WKLt4K?E&ViF5`Mf8;{Nmu*%^NElRe$7E5Kt>s|Wv9{8!yh zEU@5Lxk}Q)&RtwoRLs1HRKEqg2$@;De2(DDQQaQ76mkl`c%Wt|vI+&IgW(GF11jP8 zSWSD#LfIbj0MTD!Lx`1&!AKDIJeh6}Ss;09rA1SQAp={5RD_Z`+?XyCC1-dq#2V0+ zIT(Xr;l`$UG}vZv0aT9o}bpL+8tQ6%#~t? znFhYG5{p}}eH-f<8#h~2x8YNa#(TQ>F4Va@D z9OtVZLYw5`4 zA=zqXAqF9i*P}X+cFGaRa8fEXHrHbtgoLRNP#GTrqYiE9mCb)pW_-~pEy?||CIJdzNn*y=Q(#Zc{r?R@gc&S5R%AR$cP!W}F z@|Y<#N^GC>QEj4|K{&@G=JsIfMSLMO@Pd#b}QhluaBC_b9I+N6?b*73aHT6yKFYOSq zW~^FH4CgzH6T)BdxdX~HN#U^mnaBpgAC`i!uW9s!;K1O{rL^RMo}(ZCb(s?8lDR zr$&YUw)wbO<0<~TJRTYrmWgdQRdG~Hr` z-&)-SZi@c_y~(ZPn5iIRwNyw%+ls=zfF|IXgegUpXGriyaG5L}v!TQWQFy>wvScCX zPeZfp6a=z%bPI?|+`v zKEHs3g{>ameESL`G*a|~Do+~U)UK5z>d28*IFD$j@*tzl_tac!2T(&u_B+Cl$9T3* z5I_8>yL%Lewb9g#&It3j$pctK&q5pMDNgQq0eN_D)TtPc`3PrVpiMbU_SE$RYtg^9 zyq#EcAjRki0H+&MvTZK_B~Yv@ryp7Adik)?f$XsiGXO390WZQ8LQ3DCKK`f8mT4a* z=l7>ZV<`B+HJK|t05UP`3LDjU4%}`2JwX>`_=+%i$B(=3PPJ^YyJvNmy#oZVvDvr% zi{`hpoqhlXJFW3f+92B_h$VB~CZ+czTa@VkvdVhpG-z?Dp zkn|DYeqagMFtabfq4gwKMEn8zL)b@n_T@do9S`La4t>&e-t8gq+4#R@4`a_*%{899 zk%0Sr*gAJ@IR0M1Z#wzvRyRieU`m{jkv z-?Gd}mpzsXowWMP)s|j0vBsJ>z@wi}wH`QE46-VAFo=rZA9gUWey|)COCS!e+>0fB z_gUypD7=62{Qt=g#tC#FQdaOX-TtEA*g0d+OG_xwejI^p6H|7fMMi(%^Q3^aSzg*+O zAtw;QXQa{RI_<1B0GSlFoMfo;8YjLi>{N>S_+*_9z)*!nAz!IHY@3GUm zby^B&9RF6nz?avVP?h&dfO-H(2UGNGHs^2mU+p(k)g7#7KYIT8F!lh7JN&H9k?(3> z05Wbj2cK`lD0M)ucO!)@;HNK&6+9xZQT}Q~d)a2I%JW4&>!Dl(rSo+GEop z!Gglu$^7qq*0ch>@`4ujC_||s#%FkodmJ^?I+rZe_1tA!PyRWk>vgDb#C!Mf6QG;| z@74}Idbm2EnTU)FBIHCvFO_z4E}pm3JNUc{K#|JmT|ke0r2Fhl_UfM_&q^eNG*~~h z&w_zdy;7ce;p;)Q7!vtf(BVjX`)Ru&b@3IWm|?D7j=`oHDmmI*`h{J|4&B{O@_Iqd zj_Ez@?h3Ztsko?$0)3A8f0bhac(H)v>)e=wqf|p?GB| zuh=Yd?@`^I6RaseGiBZP%)O|_n`$}(HfDBE)Atv#bAB`h=^o@6dT&JpvIC85$*P~?$5%Pf-)wK9 zMdTG2vQ67|6UL*)PdxlY*Xb1_Xl;>F= z3~)&a&^T$kRVAcP3`hM#;hj(!+-X_jXT$X^gscr}1cYXtHwIjQU(q`Y0?WYn1s75@ z=YBE_=)|3yYv7pGVfLUEk^DE2P+OHCxbu1jymBu_WX~we_bYPmh@x8N483rvdvpY? zmFG_s8|NinlFnn1*m;V#cKDBygZdCLh*`wDOe{1+qaCU+3rt`Sy}uAU%@!QmY_SNq z6<7hM>Wln$3SuC{y{4ut`kRkXbL_nkcZTSxPBF?ycN-CZNeGK9g5}5xkzEdx6cNO0 zg}h$ChL^Ce!65Shcx@7ZtYtu|_JlFSoFy_d88D!?1EwrZ*m^XM8-Bz;w#241We*_7 z2xK2*@2YKx)52Z=Z_uK<5(LmD{k3N)OEG(ivD$cPW)dY2Sm+jch5RQCp#zI)qrwJ> z4vv)nHp{BB$hI`b1G^&YP#AWHqKrYVjAH*IvKXJVWTjim^65W|~j!p#JR-bf*OX zrSU%rfdKT<-&ei!rfxVC@Erv|k&$NB7HM^d;9Bhlbj*~;*FhYXK*vC=quDpW6`M_N zWAgMGJ$B_C zYOuJ;)B1=xL&E{%=m&EbSZ{u}(}$%jV<{TBwM?tiGWFClR+b#6`b8}|zX z4W>QzK=D?nk6m-QoEcLrgYPHRu6rHy(Z6j`ObDFm^5~R`%IaYql%R{>G`3G)n({|74av{JyzEwZS3Z6@BeS9%#|%Qc zeWRZmyNJ}V8H;5+?mwmOBwwPqB$Z$icNgHK9@ZucM5Wxle$P*TO$$(Y@v(4Rf_9A5 z)Vg2nV3VAP_s1S;yrK)c2+O98gth95=hQdE@rLHUY`xO-7hviO|9N%Dz;-A;NG-9c z1qGRtE=pP1y)UxT#mVg(!}COicD8ufRxJc^#hw5_6@cMU`tc?cFnIslJv)>Ed2qy% zzQ8GWEmTN+sgJuEkgtn*X|Td%kN^EKoy+l>k`$|m1Hj)9D^5Br8EvTEN0(!fzfW@H z*!q|hzvtfl*Lyt>-36dm>6AKV*zd$_*YEyBv*Y?fBT+eX&wQsDXYmK4D{ExldaAsv zH60HpH2&*#`2Igas{L(&c5m0_rv_ol*KH=g%>*O0aJ(ei_0SQXGY8K;A^$EOBbH!u z;@zFBP_%h7Jxu*_99OUG6^xomcE4&Kmmq5e8VAZX&j$ebEH%()(5 zm|GHfnu$s$P(d4NIRRg%QZX*4G(~w2DwQtyuK~JUxk4G8pG23y6U3eHg$ofMZ_x5)EHE|)E3wm=tXqWYatx_rBo2x-B? z-ibXm)K_~i$dDC?39G_h7qr{G{MX@N9Ql`D1C|m1zxG-+PXAI25G4$r>ytK`(E%7b zoaUR8)q>6c6%{hLAfkLmwS-#qOMvBx>_y&GUM~gKeWq@%Kr7TU)#KgIgV?!J*h9N( zmb;kn3nOPD&Y~T@YcJ#jPS4dhZZdIvNaz#) zZUF!{KRKD@-##S~X`abizIFSlF+~shclZYRors{}RlZYFSpb@RBspF4indEy%!T#< zHU@_RU=SQs8C07ORAu8CN)*z~+RHc^X_;F`ya=CZSjxQwuYKsdD$lG7>@rYfdVRt5 zJJ5ZJ329FB|pxz-3oS6dQAK^7faGorcD+>DfwF=|NlGK z`j=B{xN~W!xewuO9~R?wbYb#pA|R1cKNF3VU@$; zmT)b+c~;X#>C$I7ABoAHROI9Uh;*ah4RI8M>xW>``qJq+rjVp+93mo=Tb-JtwSr%6 zsyB}fLg-srm&THW`SBU#*9_dQkbp43DRiK^lb4A);9=rXtG7_5R*kPhXtOUh9Q){_ z=b+CNSBxN!lczePX2D~~XkbheyQC+f??6^QQsG(S8gk)mCe32vq@ zkP4o%rV>aWaXXOM#enmBFz~Rc$SMkA#`-2<{hcc|%bo6Cui5g%ZK2ztp-Pr-;C<63 z*7rjK6X_IcU}FqvaSIt;EPIAolop169frCx1(+)#tW*J(PsWvwV3tKcRiz1PN)v>f zxz4W$S^e7@U9B#WWp)Rd2=Ix~@NGj}MH^kc5JqBi#6__9d!e-qs4(0Cg)Y@3 zGR}=TuvcV~@L~XACkirq(jbjTUYk|GD}T|kzi$u50B0uUt4b#Zn64{yb;KPOLRvJ1 z!9DQ~8{$nX#jN(187O`%5&(AbI}1&ax>;aQUBH#he{B1yng<9L!vyu2jCKr0yA7bo zT4;?Z;Rb$EugE?vGAIVQMo4EWGjRt$IA#vKPwed=hA3Eoz2k)o++y~!y6GrDoAgW- z`1kMMc`_|v{lL7kv53{(iTn%sZo$6(+Z}b?qW^y&ZW)dkbwAE*MR+lprE3I!V)tLQ z8ZTUE0l9TpQm|3-w&weJ(ZjJ(wY;}v5I##9U`pN6qz3!yeJ@iUeC2=OUBTg)rS`v$ zd&Z6VPy4_`4|oE6;c#T&eq#MSy=w2j1fI5@a*JNh-eJktJxP@x=zl@ponixenojOi zem3|i6tE6NC+?iYB$5SQB5@)ZKue*``q`62T3fi{EVqA$f;R$iXu z=-~>e_YL*`5Y%4`Q5so)sk}Ch?&*%D5KbUM2XgbDYM|Wx)v0~B;I^g3<>%|RjA+h| zy{cn{tobw~+RQe6%ZeO(fNfbj{ID*93cPC5b)UwN?qsPwx}Ojb4v;WFdd{O$9y_rr zwQTDv>OorF=#FA7bBY$1bXaCk#P1PxPiQA0CY|lquiC<=GZ!R2>79c-2(l`yI-9>! zpPXc6o3kxYz!nYxK%GAT>SSvh(zD3nFE3a;=$oc0K6U#=XpWM-H2zV5(@6QNF4UaP z4VL$0J&TQwlhLmE%krs;&?unP=I@5Kn#3xe+Of66`F=U)cLEdQ23)7PLk+v=^DuZ; zS~6e^3+gr9H0~pm&!6g{5hlW#91P9#v(YCNEY@Ki>c>Xwjlfd^gVn1g` zIZ@T!;eQU*+4*|VSGQ|MUD(9I{fI)8n;JwwYa*sXP*C{spz^o!_&n)F>f;h-LP8B1 zFcPc%shSW?uD2aiE!|ktTlPOWIpqIB@~TR?k5)QlEN{n1S*7-O4LRX1h?$mMtym%H}&4>X-jieSuisMyY3WT;m9dwgYUDR)EOu z0g$q`!N)Qx>Nd!8TLQFe!Fre8Klw`!3;Hs1wvN5?Nyi6ZYy%%ZvUE}k?4(FKd_1F8 z3poB_1czBQ{tvm#2swGSYdO5xN_5+rd--{X95*mM81eK|3x(`j!XE-|eQcxmaN2F$ zPk#8iy$V1cF9X-IA|A9Y2agu_dV1CI@mlwA=_UKb_Xca60!uR*E)0ZcwO|*qY==yzdd#)CSLF)cJ7$H=+`N3`8!$4$rS%%UV%0 zUQv73>@xo9&3%pq5;>bSz{@ZH2(pIF^fg1{!(wTtIt_r1JGE;&IH?){ktvrIGjY`C zaKlMQ@HatLQ#Pf+q4g;|q=}e;zDRJQ#|U3T$RKEYaXwtvfT#G2*9b|ZGWV*h7Pi&x z(&5Mv9A58XgfK1;dwLelH!Gi}cwMBL@H1127rgtOzuwF@UmyBtrOLYy1e+&bP1|T; z^K=b*NV@(~#9`(v(?_tv%_`4#E_b`SSf=SZlm1l)DNiA!1TAb@H=OUlS}zq88vKt7 z!~e4bKpqa1p&!oi@aHR_ZmBqZ1_$f-r1Bbw0miAeh%6qb0bJw^M*`dD;6q0ZUa55c zRpF0RjexJ~h|^t}oX3Kq#-xuM7pL&R%RT!yb+6i#wp4>U-CD|n!?xezPWo%+*3Cw{ zo%pC1*l!3o55)^OJjK$f&qtp_8Aha?SZ3kW(`BU5`<#nyb&GMS`ke<` zE6w{mJA&e-j4asf2qNN!8R7?z$~T@0h0^!NP&C0FM?6`^3r%NJ!-`G3Sr z0g5-`(g#pb8LoyebLA7Q1Wnf=?earPCOY$XNU_4iY}^@$e?D&7yFWiOs8wuS2mN}h z{jBKL2GGZ?>rNBi!H;gj$h?-|Svqe?F_RSP5YEUnj}PRzXiRXr%<{mVy=L_?pH=m# zn|YAvpov{(Oy@zKH!gI*t)}kWD@gqYVM?M4WCF6<3J`Q);Lf@P_*E%9M#a`*+X|dTU|OcE zybK>pQWybVk`LLu{<-)yW%V}c&-qwGKaCrPmSDjXp9exUb2_70T^xs^u}1ViyJOX~ z8Qho-BeR|bO%E|5Rh7VMMXV}61d*C|I9CL)bWDNz?D7TER%|-80mmo8s=m|bE?gQ% z33K8}%3q0VdJwql4P9^pD(it6X~CHJqOw4NsqDcND!TIVo$$dn>X~U1PH|cTh)fYl z{Uh#nb5Ua6uyzNAB47A2hC? zMn0Qammzz-0;!Wq3JgOwu+yv7tO3y|U^#lE+fIZEFND_Zjuv>sf*$z-6EHFfVE=jh=4dRiWYQiiMK*NFJ4aHdWd=(7W(_asfp{QY}D_%v&1BYDsNdv^jb z+vQwAgb4X?3i-1LO_x*+3bwV&ql3GPl3@KL6kip@9ODV6pCyCuA>AQ6JMfXAb`i(Z z>%hBWwX01hrAXL+Vc6;|%c~P&3TM@s{#pHo_7@b)y?ra|52GabAi4ljGu2pt0Ai>u zXPU?v1QYmfyNIuRr1Fv;E9UW05h4HY^+nV{DeIsI zp69$4pgRWVO`3%WAwDE2WpHZ}bJ~Ha2LxV2-L@3;{oAEsS}(!$viJW|K>i=WxYIs%#B$fc z^5@LUM!(WAsA1{cr2gix(()d)08R5DADNC3qCl zJJ#*(zS2`xB#8QEgfPA1R$O9D z`(#`Qrw!09!M|gdj!&IV&632~;6wO`$|k_xH6cHl#L7K=GVNAkx5 z(T#8%LY-b~7;33xgqLGnS!avyD1z;iX0n;nzO7NkuO}U zGF9Kq&Pz5Pq%Aq`>QFx;Xhwt2lHlX>K(!I?OA(o(?aW0jAtZo~?aV7VU?5vI5L#Vk z%CIw}SKtzSkwDNXmkJ+!lXuHcWFpR=J0+L*PdX_HWUwX_2mk3GCZ4t9zSl&X;dGUT z1Gb^?>5>+)=vcd$P&3~Q{LG)HctbRvtRxxG3o&T(_qZLA2=TWR%gFc@rJx9TlFsZFxxk`_6$D! z@JN3kk38PmJePPMXlck`g_9Do=!@U4cXPeB^5f0@l}i;2^PjVbgQZgXX8~mL zKI6yJ%lwceUh%s!o{(zI!|JesNI_Sa=aFhUkEJYpo!hAr=EfxTec6pjn^}0)$6*8t zorgX}(8nWIsfImPx!r|@R@kCZ;Vn=(68xU#W*eHX9mGngdFnr)C4BKk>!NTV>sVtX zC;?r9KC_dXgW+mW6sC}%8OR($l<6_BBJWO*e9kfi9|-c^SR?luBS1S-a!aIks|~FX ze4&4J+$6>C@$6G^nC3xztbeyMlTlb84-B)w(J+)8m|N3!sXc*D2L3_nX>2lA#vb(m z39kv7h|HYYE9pd{z)!}~Q}#f10UKhm=V)reT@i~2AFm4Grx}-=;B^5@Y1O4WzWF_t zzk?b^3`*dtiy5QX#(nn$GJ-<;7zNtH<;cMP`Bg|*jQFiTw6b2}MRI<|8~C2U-L+Lr z2wj~THGTbJ-4-NXEm>b=-2bHzxHRAg~>&3UPKGElbNJSzQU5-(1%7_(_>&OA1E`SCyzC4B*Hvs z3s#|1F%1nt*e@)N02uTzJd{Bgy7j2UtID}nfVr)1$ns91vL@=!yeSHo(GYjM^UrHg zQqG3+jeGlwCSymlDz9(Snm{*PA4nQKxmtc!`}@raF?+qMiQ*JjZRV<~H@cBHOPFaQ zJZlB-^{e|Qt9!p%>76F4qeCBjy-{kFSasot?**}>>v*ves`~8nA0;wY>2^%++uaso z!vutlwZ(b1Y%g`lkG)v6$@pbr0c6YghI)Bu1FF~({tNkfkq-|V!(wZj7AgE_WB@Y| zJveweBoLGlAB?J)#!Ecqbo69!Qog{Qe%6ib6Moi=MGhd~aH7Dp z@8s)YqYe_a_)Oi2LzDYI+ww?s{?-g-mQUx;XIh?HaT=2OOLDMf-{?L$w$aB;X0&{Y z+oH1h50UfN%?8fOn6xL}u&_>-QLtSMFX>y$YV1vxwrIC~DD-JUMlCL1EKOh~FHCOe z!<`!jO(x5H#dcv?i|J5!L5=^6o9>vWY|FfieciqS?s%7pHQ}>ruL4WWN5o}cx(TvZ zKkDOZ$1dVl#5&69YpXrb;RrM`* ziz+&vNZ)U9O1K|7sj;3lZ21NL51(jKZb18!?qZ9WeSl}f3fuOIlIrzPqE%p@jj^nr z+a+D}#lysVi%cTds>rJNkiGDN{!opz;hFns&E{FIw-GINbnsm>tIC!?$>nb+*&J&S zgZO{=FdSjZbk`|#A_qG7?XorQiO%s*YL^oc*8@srF$fM7K*+79 zfkf-cqoYjkg$Y*Gyt?$wzQB>3*y-5Y^^$yHfr*&=FYQ=f7XHezds`7$!QXB(PLtR{ zmFkX)e)w{g@)5TDw_rN|v(k4yjxy@~Vr;sNl>xS6WdnF=Ki=uBulN!=Z8P zi?T!V^Mj2BLG2fu`GPlgKtJ7%#^ENLYT=>5u&!58yI#nKe&j>v5i2n{;K=WT8NH2Bq?G46>t5|t{k)7`$1>(E{B^4sGx&PtXI1Gj=qsU|p3`_xhTpBc4rseJSUY-*T zSAJbltJy4<`eq7#kiInzJG>bepfd9@QcZE|?6AIi`NU(xp_SdBQkcB@1!s$@CKJy_ zrvH1Hu#q3U2Isi4O*TbOtw&XW6jm(*YTqQJ64p@;Y5bYNx1PoeV*JOL@r#{s@{x>E zYxNNC_{+rwc4M5WXqSai5tLQx@H$=#G3W^$#e(;%f+13 zJESJcr=e$gCVkJubMTJt9ZAz~D?L_by|!`GQzwi*hjL0<#Ik8j8 zzv06i8#PQ4juxIog*5H+J$>^&m|rS{B=Cjo>uRD($@0Y*@6&#wQtxhginG58FEmnICjn=z zc)mX!zWN6IiFN&D-0sEpQx3s?xdV=nb73aCem^@EMmxh8rtGgiu3ypzwhg&dkqdi%mnET3$p5&$+H{z%@Rq1MUTIQLV~uuB9b#s+ZhPJw_0(Unuoftl@5#Sa zy?ChW6*I#Kf5Mpc^}d(?E!{?L&iwT6p9T^eI;$+HkKrOl^}lvpT32kejNT;L-`usn z`Sw_XK_CPC&*h8R7tYKTad8O3918oH_(35lN*nWN&na# zj820afZ1rnvD!j#dLKwPfpc>%_T3S=*lnXr-DrrNaA?@Y+Uga#I`l&B*!T z;^i0)-JBP3FM@}2&P_Rp5WY;M5}IaglvsZpwi>!(2B2;hUT4^il+FAGBvv$B&ddBc z7H5>4O+eDd_Bg{vim%kaV|JVV+F%LCrBqle)%CuLD$kclmnfn3RNl8ru39$+?vMw~ zqUYS&AgYTkYrNV=FkRg*kywiobt7|W1O zg?9->sr!g5$m%|qxK!Pj+_HA5Rsr7<+$T`dxN(he3#(NqiE?_FRE%lMvX8qY!>}N+ zvl*Qn2=6Jfs=lMi@rb-{FcLe9EJ2=#SGEmQ^Sm~KTzQ4K2Y zE-7X^912UEEE26g@-t%btDzRA#cXqI|G4j5Ws|_AYK74lwMSnSzByPBIWA?GXvdU9G&B_R3@PS9soGQ2tqV#R2 z>?oGQlxgVX*v&fltqa*_MM=$9)iy!ol>GDPYY&f=-nJ;0BoxRQ5IfwQsMyotcao+G zdA{spH+>NeW5e0@&F6=6T(79>x#30_k9uBDi@-w$L#35%*|s^ugpX56D?bfEYoSJ{ z&32w4Mos@~R~zd^b2t8@-sE?uguqr4fzi&YJZ+?P(uP)4@@r%L>`!>o^{m-2TP1u7 zTmC)H{FiK!)niw&RV`l=F*V7Nr&ibuaNEn5A099s&~izCH@AG>*7-1Lx>ZyhB>zX- z_T^Jw$9xk{Yu-rvINa3~>9DhGMpJq!tbk{eSi7l>e^Sh9hH6)BL|zL&@+R6dGYe4W zw;X~#a_Fl954&#P*YMu21j4bj%Gd5EReya|sBPRX;2BCJ6OE{)vSlr4YWI5ohi)JT-C{X$yij`w=J3-(cl3 z%M2&>90Zt7{SdTq!ZL53vn8qe9M!wWxo#}alj*4mxwRGKY5(iNXp=`!e~r@s&QM6! z1ktrv06BECTq>5fz4A-4G8@}%HobdyOw=b8T&C}K(+PQfuWrYxcR=(k z;)=oA|EwEzrcIJ4hv<0lk9DcJcFpp?RD$AoAHIZG+7D~)J#YgHr zmOc|tZ@zkEh;W$=2+hwx>Vh8IC>y^-H};}|>`VBNn~jhy`ANry6ObOV-$cl*S3?k{2r&EKJU#n(2l??j5flC6#zq+7TMbibBCW@lu7F z0hothWY1tHZiifXJ)DE&jl)fpU8EM#J{TAZ8BQDGth|4yGPA!L5ytDOUqH=fm5uv| zE81iQB=bk>(rP`+OE(&M$9So`Qe%cNiJ8eMQOF{P&clSDKXgU=g`Za`95mM+iCBH{ zgE&%iRGgm`*TLd!W80=zwA$P@U!2!>6sI4#bXN2BgJE%bO@$^27l9T%77ZI~q?z6y zz+Ma;LHg>mZO8A{!5u>{>8R5wQC`7YwaR10nhi%7I#)%#ug^p)H`IRNjk`2b7)F`r zlGP2Q_=8F#CK_$-{2E4_!D05cgY+*sM2NaTr)1s=2m3UDJ;6cL%36-lC;auxLre;F zk#fZ7Tl3Z{bmM-z=FaCM2J@Fl`TM74NT?}e)1jK)XD8~?SQ|u;oI{4cq`TdHo=w*= zc$v~=@Y7K3G8mu_HXVO>@`VTd4YtZvt17YXc z;8mVJ8NXn|@m3LKhN$129%oKv;V}`SY-sh2pK?cwQ`s@my6Fua^Gy5)qn{qO#;1t5 zyuLKBz`3aEzAVr4-#Cp?-24;61h@^sYh^X4wC*I1d+G#>{^|5tTFRbAKgj%%JaayVD+0Bi!DlChO@I|V_FVlxTY8@T?&63{A^#B zT<=5S=AY5uUxe6J7%e+k?2rFAm3o2I{6)&0#xKyzxVw)4m$I7O>S<}Y5;N`%CtovP z(6*#j9k!gOJglF7cpX%(f}VPq!blN%cR+C+NjHl8z0dh^22L=mSZG{k!a7$S%HOzA zTPDpV5s?%${X^v0@IIOA&L8pDLBx~{aXTPdv`vY1&^XTPD68ob`Zm-xNGBM3&Bt-d zWN0%m>Ub5!xT98#bG0HQ94(SAV&MUuMBH8LaYxb@G6*(0cPYai6I}gsGakZA4Z|t~ z<$#fwN`1c$Ux)3!f0Ef)Mj1Wn#B^EEa5y{V0G$wHwbQHir2<1=#$6dm+-*;f=#509 z4dbEZw-H}99OC*(Q^ooaR`0|`m#SOV)@1cVrAQ=7rbFRVns5xELtf(6OK;(azlFcS z;LH@2ZPDSTDYn|xo=E<$suk>UyF-0Y%EPiyvOMH%sKXQ#zH-p0jo?*8w&z^4Kz4Gs z!ss7%Eq=RR;3*LSuxDkp*(8B;$VpVk_ib8oqDFIbzF|9#(J z@jFxkEC_l>oIbxn4#~}ZKdjha*0&j`WEJXFp+MG8v1VIUEd~dk<~f^B`@ALc0@--H zl3@*n?b%v5wxf0xu^el3(NJ<3#5Yo zHv(tCZ_V0H#{`cQ*}CE+!mkqM=$*-<4ZU-bRZ7tp_h1RCDV~|8%<;Mocc>E8n}Dk7 z($1zj2u$xav>X1i=8JkB{d`12)&F;(@QJN?D(!^uB1blr?2-~^?SuXfAb@K~E1=Z6 zz+2vZ*cKQ>lwb22MwBuSEZE3elt$g4L`%pt$gw)GAKk~;okW&uDq0_1Wntkg#XE?u z$u{hpVz<|*HOZ*KRtLmhP)Y;b9J1QOUdlo;sA&^X*!k8?UOXs0^TuqgL+O3>s^7i4 zMyi_QO!GX1D{ia;^ysVVrZrpkJAR2S!aEfaX5|;8^Ae+>Tq=DPp!|doCR9dAHj1i` zgvs~CngM`3VUu6I2i8smWx{vp+?f%#Ch%6$;QwO$8esloftP>72R96UAC1;I)Rgrg<$$MH4G0*6t;Y*U^eh_@ggEJ5TdIjAh&?#`q`6 zDg!)V^~1J23X^-j_!jFH&Rin>Rqtukkqw`h4XTqIx_udpH-Vw+k+b{u!}bE7kDY3l zdZsoqJ^ia_q+vdd^lD^Icvhr8{`7>?nC6tA*Fk&&Q*>NrO~t!A-?ulv3N06WZVJZ?|ox@49(hg=PY*NfG5Qpq<0Oug(oP_zI*P0f@_~*>-GsM}czyJ<-|5US_ zuZXu-pM38VROZY57O-Q_btK12qGG2FrLYELQPSp^IQQ+IB&Sdn!Is^qFbgk9j(MPx zIX$7urc1&deslH{*Nk55r+Dvt2WN(;`5+L{>VRBBo8o9c~e$KQ!-N&MKer0 z^xIRJ{xee8XY8Viq}lq$!jCPdbwpxopIFEYIUan}$qkb`_D1y2GMm~ad+=S^#qEft3RyhQrcc~LlFNfc8(Qf~~@)YYg4BBCP-$P3$)_*-MH&HcieCBGrJRrsvQ+~2_n%@jEx$rKZsht*><;C+252rEJT56|pdS+4g_DWi*wNj*OjwL+<)!@xCjJoe12zHY zF-`8^<=R{KBN4&f8pI{Bl_ldxWY@MZa&%JJ_r9W_B~LTrxf8Bzn{z>xaMg|OG#UAC zm`A@eAReVNK5;XAkK6%P@8YD@gy7=^(XzY|F(Eq$ZBMLXu1kl#fM#9)Md2m%WJ%E3 z{SNsoR9J`PXL6R<;wu&7;TA@fePo|09wROdPR`-%r29~fXDGu1a zYy?9xcu&P0L4A5e$7@2xPA(shGir7yuS>8hd$BnU5a`?~x3B<20K1!%HD|o0n zzD+;G`63t^8d&yx$Bk{s8!r}z`zmlVc=VJ1Y+}U|&o`Hp{qvojXyX zXqJ)6qHUqP+f{ENY6#YaY{|ZYyE0JL9c(dSax1Q z)fm6#K0JK^cXSi2?OT$lK~MF=s;p7@L-aR1M#W;1E6!uq^+6gA&ze|DyMK7(!%eNH z%=){r>M!6wM||Vr%}Hz8d0p zS-|c&Y7F*q-^=>d3)|(ooakSk<{61fyXVH^zp=WeItnFzxN1O>JBeYL%H#aSj1Sx^ zfr}AQYJvw3&I?x^vzoFP$VO}}OFj9XUAwefSjM%q>e?F_c|Mi5Od^7~6BTr0KO-Th z$L_=#%$oB+hq`;i`AkjKg~M~ED7BlW^EOx*-!zRG?7k4lu^&w2eYO3kYv^QV7$Hq% z=(kq!oET}ZRJFlpi`&;jX)#Dbk7Se;5h>jism3eg7ryS37 zY|`3}3K^^A@4EP4l?|;4g;!bcH;dPZY-+iEaCozCMbnon#-p}141$dt@4FfozYsS* z>zCmjz3Qup*Ch8YI%48yS%-TuZ80jx9ex}SCq~?*?QB`}^y$BVG_@t!v~Hao=uN`R zUZvb%|J5lkY=5Lbk3RF|%~#a>nFkW@czWh2#9nXE*~Xt43*Nh(?oCP}a}#ejtI**e zmsPS}|KM$V9(T*Wb;irO@Pl&|x^gv6n@vT7bl{@r54rJ7?ePB3TuF{#pU3$_yBg>+ zGYYeQWm!D3S+tkvGJ9`jFo%>Qiw`{QAds|RBU1X=Cgy|8MZ_2KPu`#N z29%pH-!_XS<~gaSJ8RmRp;kLx^)Vf^D6ffF)7k=g_@R^u@uiGIaFl-LFks4{7aE}4VC@z z&-VR%zy8R#@FU>Y&{LI1G=6*_p>}Ve=Buw23&d#2(Uq#!X@owfX>Ymy*I2jdH&}CA zYMAV^!;@$@PEI;mPGfO{d*`OvQy+9$ZmDKyf5uMpJymaF&;`*Bir0!N|5v+G_^zck zZF@7kL=J+{tsh%d{{7IaRnHQoV^?e^w78)+uLk2d6CY`O~ zQ6Gs@0BxH+KKAA8R$eKqW6?CII*Z)WbaZ9_|F~qKmNgDVwqz=ek=)M>sBr`Mpa<;c zNSGVQB(R+eY$S=vr>tk|0s37FAZESMQNVdGo6|o3biW&p@0HebAE+Ciqw={>p4dbC zruiJzmSrqmR9Af_yzYQP!<;jWlI=C0Y@J;9QRip>s4L}03_(J;XuNSq(Z6)EHW)X} zcOnC5PBK=fr>Qk+qcg>~M6*%zCpeM`Ojd5U`61hLyblqsh41xDf32E0UwTsAx7S2~wi zuhz!^fNE>u3z&-JlFsx}pUhh0!xV>`B0LU!$m+;>38xW93yV!(XEz_%t!S>V=7^5X z{DyD~$(}G@hf8AoI$AhUX`z$GErSc!(Q=P%(wCgjTUBZft*iMiDM2!SI^K2BD%+z- zhJ?aAx6|_Xm4wRQw^sbjFEHZO?K*XFfs_R9lY!Sua7j+GX}Sg}1|1^O#a$xDZ5Lip zmp@CE$yNJjG#(~9J!6m~N)gk&5g*70$CS8io?}Vv=!^9Qs_iFYj;ByB_rR= z_kE^CS~qqTP5dh2_@3vLs-YG7ff^DOc=GOZt|d)U$J66>xuX(H0O`X|nS6W^uGrw` zg=fdNS>KtZZ&!28%R9X7s4D{XJjJP@4VeyoEx_2d^pMyKuC6J`sxLXEFYFAZwG z7vI(`mRe@nzta>pIMyu| zb@-ei_;*0vCYwPZ=s+E)CEBb;GUxHV?AYQUDr$TuP9=P{#e9A$8s&}0nZwBykq~MZ zvi#jjH;N2>zT%Kp4DqO@=p}hy9ZQd9X$UA;ch)QRZWba_J^puLb3*I@7P-&kg!Tk-(%{3*bfu!H zRUBv8N_W@EuFpp%BrWqCN*9s`@7E8?CdLQdoVU}Fj^YfJ3xw{c{5m%x!o<opaUqi3tpXUfW#b3fR5aMHx>hOVQlP|~vG zV-Qe4Lyp88WD5b)d}qYutFF=#eOQccyfLY+NxWtt(5G8k`~KazSXc~O^b%2t4#a)| zK0L-PDv+`y!-BA8!X)4 zUXtQ~$&W1W8j(xy{{Zd$aQBT{`5!0&82Dq9&wbWuf((wKDrZgn4s0Mi=3w|wsZyRd zXc?2@C$MpJA!Jo*OUQ|T5qoDcx=`TlR-OL4t(T969hiBHbD*{;Fpk=Uo=3_z7rJbq z<#}+YMr&Asa?KCv-%p@qR!{%&9R^T!cw%E?XpwyU4-k(i1J=Fa{?V8-&oY(EL8 z*78a0Qp?a8mOQV-Mr&rADUHI#H$4}VTx*FSg81tms=Z!cZiG2P9vSdE_@_DlOM%gN*`9^?V_}|m(J66W>?}ycH}cuftQ*L!PDTa zTdVi-3SSg9PVI>+7m!NYIRXA7IX~a;Gy(c1`YCRA;@E%4SMjxDooKAg{60A$Vy>1o z-+J=ej~EKtU@u9kn`~RmimS6~g&n`aS0yGWolnY)hm~aW#hv!K#6)J^F!~ec({v)? z6g;4lPZTo%4-0tY?=OiX+rsBj9AS}Y3z$+yu<*VZz^rn*5G5C8_2XNh;MxNYt|e?| z3^y_uV8ZT9Upw7&Msz8ELU4?j;P@LY5n6c^1p3+FJ&Pg2k0>@{*U!9I_ zpw=cGeQ(Eg)6dhcCGx8tB6|8n!R^})q33rxcAPEO1a0)0->(W;^aHX&U*%<`1($!C zb0~5X!#whgsf%qO)gHnJ+sMGO8Easoyll`-H<2O=}E!!V*#LM~g&03RFNCsxVR4LGIp9fzRp98JN2XD7RMpi7P32YbwPQNx30U5+;I9gYyeIM<4Qo)(0us6kHwy*+EG%6rez>#2?}jt^b* zm9eDDBr$&izoOS8#?O^|?gL*|C}}7EE3E8f{%%Y@6_^Q}EWdcU_BZSs3|2tPNpHj= zFEK^2xe`ZEb7b%K|7O1Ky8a*|@p{RK;$oWXj%T7cf8Jz6 z&z0m`)Xc}yGl3ecYOY+a)|o9n3J%q>zMKIp+VUbnDajF=e}6;zfKNEaab`a~aaH0W z9G(W17cu1(qBqysr^7Rs4C|4qmaa%D?=;GA9A~F5!+c0Ri9xyH7h&puJl;(1E(EfM zUgBk`S}N1TIf!tYRgO4#<50hG;QFb2*GzXT?b_~QZrr}qDtp`G98oS`*Hif+pA$n( z_z7dIzn0X&`59$g(e~ma^mS-d2J(fwX07Q(MSF56WSnH4HbRKbt{{j6$vi_pZP4_=d5nxqLAJ7(i~{y0)8C3MeEqd&hpN-3S>6NM`IF zb0#I9ttP1tUwp0d_Bg4Q)eoz&0KGe2rm@^C@w;1X%*4vg`O+s(x=wq~Sq~~@>8l2_ zk=p$a)!Qsm2gE|%pUDyBG-?*E+4#Y#PxGqxUvw0OnE1UvxAqJ6@o=r%)00e;F_O1t z0@j0$)C<;VhgsTWCv5CERuAr$LFfU??ITZE@kkW8I$tYh^8)bmZpg`3QhG)VsPqy6 zrFb2MF=lUt^H9=8v5q;%6^%iiPL&#cVypOIA*}4}I{`PO+kbZ-1tJi^96V6zJI7|> zevj2h06VApR{wF7D~7TIwd6Re8@SNuzGz!g$bSz{;3wWEYDwO9yFhi;w=2)VZX4a# zJ3JIl{_*L`3lQnIHU67<#Yc!$O74_?1A0uW>ghehgS4fcHpZ!)TCe{FMl9;B(1Irs=(F0MRfq_s`R5g0G}cq%jc$wcRvG( zW!MOYLY*Xx*137~btoGne)xpf*t#wSs4&{J<1k3Mf{0gtmgAP3^3vJp?f`)PLUVGC zs<_^(x4IFMU#W<~#JX%IKTQr*==%qs{J|mZDMM88TyB(f5f{aNu7A~N$N8I9*C#D6 z=^r-^f3l4i(RHC0=y)w&$@LCO3LJEq8jx9loUq8iocso6&@!Ae;UWN`>uQ)hz*F8or6b(p$B5CV~bKA4%aos)a&~-t%m=qgd+fJs-`Y&FzTHB{I^B(iCwSOsm*lft} z$9TbB&-u4TLzUq6PX!;W zJQ%X&SUZopW~l)9buyhmulHVg>`h_azu(#hY%Ua-NJfbQK^M``CTjZ-zBXQ|lNL*! zSyKRn>K>JG=?{!X_|ReXY7!-nA<*2VC&)@p+dyKLM9Qx73)p88oO2>`U^M68@vZ%h z5ulsD|5}Dhd0!~f+~*Ov8R%o~u+Jas_UER<%#cSV1uKV8n5((UiSr#xCd_HSKH}SK zdaBF`KMEje(;SO}WF(`_@%MG{{GR%b)s#Nex?#g zlOs$YGe565bI(uZgD{t>?q1Yzv+u*N&)&i0kN$Em-RsW2f0YL!(ti}N<5=K0%B!f@ zU({=~d}mj|WrWU&T=Iu>Quo#JaH^5#ye}$M%U;t)=){piwOWgN$fk-p+Fuh!`eMz; zoX+P>3U87d3f}xz@r@chLna#qoGd7|30t4XHt?W#C{t$K*?`!0Y&hzz5b@`JI}^kq zw)o}qz^4?G*G?~0_j96b&M!OVT^=>x)PiiUB&yFtAP;6Nznu2jtZMyKqpD=1R zToVzK39a-`m%PaK(YS8@|1<@SP;fL2peUx({uK|P(A97sVv0>q38rebYkpD@OHqw? z!F#9f;8B)1Ns-z1&6+dbNnUNRZarFB2c4PLVf(R7#K^<<01VqW4U84Su|GO6{mGV6cr{SEZvGm`$u&n0eYXp@!PKWCSaPx35-jc#i0YC zo4~PLgqw6|0tm7!4Qln(Fc@hC^8RE6xcPy;d`8ZaeMMe({9A5nFFi4rPV)OQqh+RL zk8`o}P6fwwBQc|*{=@!J)g4sV2V(Q$l~RuATvCdWh^?}>;@O=frea~ks0zZ?zMagV zNS7o4Q?1W464lp6898;5=+B7z&MxLzVsB6&4y(v|02U=uItePrTxMB_MS0J&Q;y`} z;!aH?e(Ggculw!6{Kt9zr9?>27#0i4-H`)cy+bnO;xT5d+(Qm|Q5ye?f@t%u*J4lA zJfE0Q7`opai_PbG2X zn`H*1!iV7~^(UJde_`6q66d{l7_ig)a5`461>aiA^0vlo?C$uFYibYpbpY1WrYu^!h-Kz59$_mu?@2@OdY5OPb&T zML@C2+sfF|*;>!_UEy;>vD_)zc+6{|EMlQ>mN}~QwmYA2F@4jj9X`}0f6RSNuj2&t zi`w7!loKKvYt<0L6=tNu@2!843h&t4U&h>OD@!Ch+rdz*TCL0R-VF{GYUo7)8s;CO zofe8W5&<3n(_Exjgs@G!{q0T*L}GyFtZdi??OKX~?|j@kY1c=ft83RHrq#5+BUB&* zLVN~_-W^Zs0&`nkj2B$)uIk>D=aIF?^DmSBi%VHvc^27+(uru!B9M%VQs zn&>?tHcw6aTl!4chI`jRS4l6Tyhh{uA1$u~a1h)<`27ZN_aSMX_pq(Om^FE&YL#so z85-J9?%N3c;4^gMrw+Q9yx9=9Hu`SNR9d>5((=cUk<80mLp8FREJbMZOB zcLi-{!->_~Gwve}ia7&byqoa+tg{ zb+nf#>c724-_|D;n7O+JA|dRBX^2)zww3&8KBIc7CoI6OSQare*Cq>h6v+`6hBBPR zKqKB7XfcZrOtJ1_3Smr}WKMo~^^Dw=nHpPTR`5$Ui0$`SieOX2@xNe}QyRX0WNGrg zrWJQOZbfR}e_vGgnYI5tZT#Y(F+u){{$fF4C$xGoixO}W~CPLm$}tU5v;+RNz~44@FA_=|;Hb9jG5>tn4W zY^)qK!$aOyb1r|An8{CwZE;Owq}Lkb6GKutGW-2if7~aUdR2*f;5}W;7R`w_z(6Z- z1oR=xJO@3P{#KMm1u1@*x_}-i!p9`Su_9cAqt>cDnf*);0E`V(D(>Am_OP`#Zc#1T zFQOrd8|2S&E|LHI1bSsp07iLd_WBp>4oDj{nFMn7eOW4gzl8s1q0Ii!3-NK2c&976 zfb@(&zav4{b|K(wzMl}a7BNL_dC??_?IJ4Z@D~eJN=08$8;)MYbAWh{k&}!7%J7{P zc$dX>v6Jp`9`65ZB6u+WRz@xowECR{lw#I9G)i)&gYL7oSc`EVy?=`<;C7dHT3wN8 zHu>*9-7;AOYIJ-x!D~2jXZoF63=ytKov#C#HHL%1OMJyxQ~eVjJOCdvl02PFrNibOh>XZH34cosJ2Pk~Djd%5EICU0HWk2VpGt41Cag`S~q z1RwgJH%Kbus5-94J5r8a#Ux9banzPoPfc7bRr^{jgReeA0$h`iQNDmrW$}Ydz_IYk zsg_h6LGM`4n}eYVJ{S_ZdF(wV^Fs1#6uCqob9y{(C@evy@z-0xx3WUh_+?sqJ4~oG zQYj0vj~h2to_Z`&sBI}1Ko2nu86&2soLlD>1E~C&BMD_EH_LOKb<(o~juE?)i2c?~Bz;jL zt|*;0rs@W2ZQd<{yRo{Z^T4%szKnT0*&tCNLDneJ@xC!aizSpZ7$X>7WwWUB&GnGU zClYnH+Ego6JYVG4R6XL{NZc`OTR3W_96>J}{#!zMk^VYDM zcuih7OeA+PGs~lJO(QZd>4Mh_)43DVag1C0tS-jP7Vmy#`0V%*YciN(&O(tI1&y^@ zzm$McZfbW$2fi#3hMvOyHcteVb0QPQZRE+TT9#T%o}+X@^kX^anO-3!_PGn$cPqBH z6p)>G{iD~iftE%OqkDm7jY&wB&fAlJWOgf7{|Sos{2a<9z_3CN5uHO{a+WY^P&<7S zdfwyI)=0SIVKe+2v6HnQCjB5Vn78e#`e_>e-ZPy|Y(7IOP0_-6c??RciSkdhghy;!$KtmA`SbJP2a z{gd}|Ix}=Qr(|dHNNk}VpuP?SD1AL0f}sTZS2mkg9SPz5dhOYsQy1H2O4H_L;Qo4k z!m|4lV4xYQ$V=LAIMtV1Jbrt*9SR_wRJh}a0SHebk3wx1K&mGU8!oW?)-9uqNNL5R zH%jZlo(G9-oOeD}vneM)kjRJHj@BzVle!sRoH~j(9umZ^0wfT=tqqB>lt1*!xerL` zJ|FQ3MYm%Md^R*T_$sE)$uGubKY2Y-#2@;P>19{i;ax8_Ot?Pd-2cEf3}ARJS81PUX$5hefyupw#Kx#0o)2-@2sDR z88dcFeTu`6R-~N*z$4(@8?LI`S!c?!U+-VIusvAOIR7>rC2SswX5}DCxfQ&8NjNn# zxLxDV+FUIH+i5Z6nd>|_=T&*;Q9&mr5zJobb($ax&k3e^RnrIWE+ba_ne!$V+wtiF zLC0MOA@IJ)yPped-(rQgUUB@?9B%p}0bus%v?n+EID_ZbYWCzDE*855@UDM zlUmr-0ay_B{VFT>GLUuGz@_K6_9#_Nz@2-6aEYs~m+Ad*&su`MrMH9&KQ$~?;?&IP z{b8`+6a0oM``0Drn@`WS6|;~XM+4*5UEyNt&dA+hWZ3n7A!Wl`0jx^P6w{+R>J5ce;n>3NlZ4T6ctjU?S=> zgU*u`_luC!VCh3zZV`ITRCzo!*20#93@&vYd~XKFa9(#$x;j#JI<+`MCd>yiw9>ax zPp*jf%wBHRW4xCWLl&PbuJGBm_dWu(H6w*FQ)ho=x&|HxPN33m{**HkW~c)KRBy+(JeJlkffL z6wNQ5$t@hLA#o)r32=TMcp;2;B|GM%iF%Isw_5yeahlRgO0BcTr)aS&k479lI;F{e zw&%OhzHga(Ltw|-w4h0g?6cifY^HZTuZFxIX>`j{+POE1#w5b3Uf++irbVTisFX!h zB7x_~Y}+kdj7zL5ulBDqt2&|^Ra_l*JmNMQS|o4q6lw>%4l}`QR~!?H|Lvm#Ig8 zNQ;M*%Dm2xJL+C60HBCOd03m;tFq{iTDgsTnX{S}A*w-e#C~Yu{YX(^G{GE?u949C zE2P3?=}0HuSu&nKjQNOtCk{rp2|03?MTW(qS6D2Y7GWsgcjCa3O)RjC-;`G6|P_ytZvYR!n}iPgEN@ zrA1sKr}gQxM_&|I8{IO9DA?DY{QBoN;WvqO9$#`ec#yWg&$nXRnaM>YiC^DC zb5e|4?CZ}2z6{2QFf>O)us($?9OGIvxdZf)5&})dss(dVJAaB?_ZfD1b5J9i%yuZo zvVTKE{y4OE{;=5}M_&|=-RoWb8~clGlu@E(1prDC=7~a8poh}TyK39d;1~^tyawX5 zuHo3x#wlq%a$ZfK(Z|z+lQvv{smZ4n-VzUa@OfvVS8lX)nQ}T7K)VUH#I`?~^WA9I zsN`CNp+~oeGTSbt>qcz`Mn{v|c1>|wHQl*(_CCN~R!)cREqC#OM}Et@V$0`QUJ3a4gdk}+3H{>nOoUmN(hS#~D-#*%pL+poqbr>-`${g9++ z=}3rdJuZP?DOO_nvD@=-z#hP}I6m+@&tg<9 z$)OBIA@5HQw|+9=s}S+MF=>|7KPw(5;dQwUbh4m0JrN$Csxh9|^>zvFnLyhKErJb&P%Qlb>XJttkuKl9TyO$lb-|nzMlZ z24%rU8qV{WqiB#k?|WxD=g^x1#0G?vrjkrd?&N zWI{}-$AV~sk8U_K5q&6>9IGb+J2yMEpuComClGq-RKQ*>l9g~AhNZ?hyF~po_`6ql z9Vno`aIxucSRLz<(~=HX1C){M!U-mw%t$qzt|1#)cQa_U4q6RLrXXgNd9H|HgZVvM+8)vC@&|EldwVJQJus*4g3UpOvgqkIC1dU23GY=0xl0 zyA{he&gb1G)t4M$z+(fpo$JxI?^b)hU4N7u+7<y9JknAt;x8Ff&tPW!p_ zM9Ot0Oy6 zMiTlqcECwGPfQO^fmC)xK{#SX+I6u~_K1tT3cs5-#U{558>|sCd*Vxp z50x{Sz0mTtL1XpVFpQCo%*!>R$@FpInEo{$?QjmwudBz2HrNWEfVg=& z$IR{>z5?{#3HXm1`J9-xM)qY2`umCAyMN`~?4!XoIlTaDB@JHSo}5`u)2I=5 zI0>`*Ev={eOQ4@4O=bqY2XoxT>Oaa*%_~bII;jPZ*v5r3bWG;rI2&tKNnb> zWcTS})6UBHlAk*O2C(PLHZugF0jU<&%xJhmv$1eQUY&%^BdA@WT<3DE)0%Lh+{l

bMg?;A=5e*UP9cR$her8|ucB8M4h4UNyIs{g@};M?mv5g~}kx!AreY9mQ0^ zXC#-%M!7S2sX!5%Bxyykk`a@LPpVLLa=*7*Yu^*2@<%<{Z~tmpoN#uwB^9kumWi%L?3w zc*d=O5u7;A`3h-;6x;FDEw%&r2Qj11fTo~=k$F5(cf)r(4E`MULO$<3Sv>hJ+-?lE zP^X^#H!JwJ#?^5>VJ8vdr3;{92M_}xhxc_733TRRK~YrVX;a*V3yiNdM!Lv>d6zej z@uC)17%0Ay8AIF02xKzb&L^;XZ~cUEpL4uJ&+QW*5qDC+fk9rFxHsuFVIKdw1iTrf z@gFn{bmPee1W)31cbmum>Z=aYOIr|!6Hd)^z!j{|(8{ev{ELzh80d9&)L9_xJxu`X zv4dc>j$@}93U!c61e=+|>nLJ#1kT_IuArBHhgPa#Ki;BuEEKlVjAg%jm%Fe;f?{G`GAlavL2YE0XSgjJO|Q0f+@`7snLyi9*(v@d7C5 zt9BPqnAcktK=3EAotFrJcSqrvFhhBGgZj>U?DqkHaw3P03mci%4f@p*nSs%wx73-e zxqc5dLXx(vWAt)^f8={SN#5&FS;*EVCLDy+BEftwg+w87BKse}7MWw$KiSq%WpO4& z$_QFA?xr`Fsc<3a$&bu2{3yH>*Z;2zz@hFWwiyO#$vXdel=s3Pvr8G+N}ZJTjbyxz z8=AAc99wbq8wF&v>=6Jwt6_&MOZvjI)no7o(nO+8%^z@T+;@o=XL!EJAD>Cc)A$5g zyDDL`-u^uMand1#6iKh}B>-L;Tet2-X2|J97arqld;ceKo!U;}XLn?OM+-7})acJD zvkU}jjTKxI;eIk5&M}razY}(B3<35~(nQxu%#P5PA?M#yI3UeaqXMF-2KXOxcK>)> z;}#X&UIw**P`wzobh(_Q(yP}0#uU;;;HWu&I;{mzl9u?pSNUXce-VVAkt` zwj{;knxb85u*c1$*YybV4YD|U1(R|$iyqcOn73LXGV%ay?3o4y6%^cd?OB#1 zKNc!vVTGV54H7fNGej?6HCbT}QPm<_@*BRCWiX|uaCilp_Ss}HA^Nu5oDhtA`^QX; z9LG;gP#w-mALPYXGke_T;G~X9Z-KScF`SjG9Jwv_7oXkw)pAeU*KT7L<2md8^mS(IpFUwFGRlI0@~0h|D%!j`HPJ-*5waC7KQti@&oS^}I%O zFl6IC4jnmw>X|D?&&kl#bUsMO2To#^lt}AOV+qosV9rrbp``Go?4bMGV$x3-m^ko!A=oq~e395D&4sH~CTm(JbP~Tpp1g4L zSXEa}D}g)sm5xZ{nL{>dTa)eff-$WfUe@D_vy@lOg3$n*b~~yRq$+VTOc#?A~_4H2}EVE1@!)6nNOt zw9$Q=m$h%XXgRD?C!gQDZ8xuZ6)$F7b~yqJ8_dFf)P}Yz{l+!>@gET0wdVX)qI~e~ zdT>QAy-z%o56|ISQ#nYwwIKjRK(FvKRXiUr5?C)g_(o*-=*eoMJz-;_uZ#wjv{&>u z%1X~o;g@iOF05nYp`OwdUMv8sdHgc2)VzNmb7UXO29ji+{7U_GGN*CR>U1T7*o{^x zKwo)ke(h3@5I6`R;~+b51jsG3-F&RvMt*h;42#>seL^79Dy_LT$r%j??Q_tQsPKAEWPyn zrer~XR5RU??yXR$O}=(Q^lGlsXm({5^^0^?dFp+z9TnX-=C4bs6p^JLYETmhlQj8 zoaX;IPC@N7#$)J!Gf5PXhrW_eEPeb712@=8LKr?hSRjEJ@A#k#%|wiT6c4i{&%TbO zZILu1U|F3c0>wE_m4&Kk!_gqV4Q~4E8`aw%v^4sgosCeG zQT~>K;AB%O%gCMf$-AtrgGDwjw8aSCfOTpZLQ1zqRZd)+Xdmsc4qZKA8z*dhn)s}j z*%v1^NHBiey~{I0S}VZr<=@Fr7ngDtA$U8>b1Mse=3o(lJ`>{->Py$$i`?J<)H=4z z#{9-2=S@u~HUUbcY*^|3z3j>Ysn3P8z7EG#Vy3enT~UI61}M zz3-%(G|EPZi2ey0R|p0Jmo5HGirv0;0S>0{(&X_5jny}d^cK)aZ9Os5@nbt0%_aM!{%&ww%jNtCeJM2(F;gCznQ1;1JB(h1Uuf?vh55M5jLkBJ`F!=R3a5c zYxO(@crKf@baDT%*{B!);Sxi1ET0ZXxq{dKh0_2~lM(3uOz~JY#fb;AP>*_uv`x8q z(^%*$x@CK&u{*=rVaUA%xr@<&65qe9E|NT%;ue2e#ABn@gsk!LKh-CzW>Iti-lmJK zarGjTY3z(hh;*3}T|{RT^h4@NgbzAI@zKXprS^5pFZz!n&*8J)z5d6B}Ar3k!q&tJ^A{dwOuv8$y| z=YydioaXj0FH1BKhJ3zG)~J0V|Cl1EKYO(25cJ$*8IN=~Wf|Wqq*0izF$t!M8EQCkxo$Ixd2X>kgT8)nIE-A696f{i6mT%oHS)W`G1>~ zMY@~afMa|UKkYwE{767%%n1`&4B_x09b&H|pjTXZ7cId-Wywh}+QTp1*rDX4we7FO zAZ6oSlKl_ORuJ(olvbht3g6n<6YFbjYqUkUz}(KX zi|o9(pO#zt_@?`7dURV*a~P7n%JC=J(kFo^O$Q?17lMu!C+W0@Rvl=Om3~f2HgRYh z(^cb7=U{NJOlsE~o+hO&&l^M7BaOv)`V)0C0=$($Yn8oeV3Oc^ntEVc#7{~4rZP!G1^_3N z*Uj9o41Ndt`&$2PsDRnS9A;@*{E->;PD|D$&LkEBYSr}`!m`JGyY#eDiQ1^UF_0p%lpF1VlI#iwg?g8pE=;i10+qQ#p#wngtM4v`p z_HSyK^1`F7u;8lj!Gp!Oh3uYIy2VG^sQ2POEESucaV`tm;^}kJDi`d@$0db^A1XP^ zgsH-4!usxCNDdAGzr0Y633NdH(s&FC#4Bps6G_&H!3_;9EQit9*6v|9PGF_Rj7k~8j@a8 zIn~$e?KadeqbXNs?ErtIAkwD0_Gerj)lz9JY5#(>!fwyL3HWwMNC&u0b}VMOZ0)JV z`NxMwg8#%x=viy+O!VdYUlL~BG%41uyx3Cm^P7FmkKY?KuSkqS;DrUmC9>%f=G5y_ zD#dl6m(u6iXIY~3$@^F;C@5Ygqkc#U0i6@!=fN1eK?oDaps{LerRz&lU=ii|u_}cy z3V;x-@0m*px-41Q^lo`M33E7S+N*lL&OZvt$IA8|3zQD5J^l@yFvZ{Cy1pa+OtK%k z9P8-4h46>TaqA`gwF&rV)wPX|L2ef(j&)G+#0`qCO&zwGMvXN>?HDkc79W)$M}_|y{;J-2zm4d?TqzmhcSsU6Kz zs$80_?bd&5Qj-laxu^UPnqKdMNa?E!s3=^nx5Xh+eD_s& zUdmNCH(8k(^+eSX>){O9!xD12!{l|8n_mMueEJHGQgIx4IqIwN=(e2$`u|X;JkaKT zacCb3Zyu_WJmOX;IT}KYWV)eIT=R^DD^yEVWwHN`|7zOR2rycfT)!E>qC7sF=8Dr0 z8KFDrAj!IkV|P3V0gISpX1Q8|q_d-)m+%Fm#s*#5e zA6c-V6DZZ_OvLE{Ml$MPS&SdQX0g8m~Fcpw=jWW?Pk>Gm^4?y<=GR9ydAw7QtfOU;N|2_m( zW8@(t-nEaM_KOjK^KUn$dsT+DAA8b+%0Rs?$kl*V3ACyoc70_sn3(eHBw z;8qW=_St>XGYBOqun6A}Arnh0^J_P06)+*p973=(;U`Hl+7nI zd?~NnY6-x&e^z}v4*6k)fiR%y?pU>1#XYh>4C-#*M1_b7F8Ox6D7EzS6wC7N8G&8; z=MO`=8yw-GOW57)qr(gx6Hpy=6?Y2LWrbR|I`cy=ips(EUl%&Av8h%*-VmZv6a*Z~^XkW|Up{1IW-q}tuY zW>196kmSJY&g~FB%y>CV=jAgz!1V8LdD|$gI(c~%Le9VbaU@8O-i$Y@Kc@1n((H}= zbG{>#uY2rtG;*>VPLyrCdVBn#)?cH?zZk&EOPtU#PlCiva%Wz}Jo#frXsGELpmuf# zU=@911sBIz(T|;z{gVT*g|VJCzGNVPnIOe%^0F=+@ouB@BWl{**I*I7x-+sXd=3-W>we(OpNor5i( zdKgKMM8QpgemE(ji^I=0{7j8jiU*3{Zr^&^g`Gus;_O+ zU6>S{5yvwEE$TJjaf(hG276~T_}0h~wE!W(t*XRn$p>QkNS1Qq5S46{DRiB+dht(X zsY)3+k%w#~pa5!N_l`T?@;e`mL1N=;U?x|8;e_0PNQ z%xSi7b9g+%oO^hdB_`-BiZP3AB~IObEB4_bp=h>JpMWrhRZr?1ChN9i&EmZ&=xHX2 zBgeA%pj*}!7cgw+|Hau`2elo(U!r&@p5h*$K%ula1Pv5zixeqRibH`yakl`$305dB z#i3B7P~3vM7k7%gOMq;?zrDLNcW3VG-u*X|Niy?(@;>J|&w0+-8Ql`v@&>4E3FtMr zC}FaFY)f+M95D&nXjbk9eSZu6sKnvUnxsocmc8Bg`(LC%n?x^uTpC6|V&Qc}eT>(1 zZoN3kD5TDC28>anVbdO*$rzxW{0xKZYnwqGQpy0Ygyo@efN3ph)8m)%+)Rh~=SIRf z0znP_7TfHcvx9+ZJqdvJ(e&ss_qL&Hsu(FRea=u8e|Pi6I;-jc@C$Mg$0NEH5Y8_N zA@9L2i-^kdn}3;g^6(iTzg3QnRln!6&Eb=!es9Q?^Hlz(>08#ep<Q`91`vD-#z#I!vDMHo)xq0lGMt>qsJcSxNT4Rv&Zx_gX2#;}Zg%kTBLn=ICz z2zM~a!(Ds(=Kt-^w}lp{y&Q)8$DI#ZC--TKdGDPktZKT6TrQK!dl2pa-dY-rbK?k3 z3>^HLe8pbZS+My?XgYm$e5`{fmA~_(;2W#IWv9XFiA&_aG`WDOiSF9qt!vJ3-E8U# zmyzx*yJONT+qLIHRCdg+0XbGlgCO=Hx%F_oFp2!*9?^QX{5;1MQ}Ql-v=@yCK|1cF zm(&N(v`+bpA@b^BwB7pVc7;J(&S;WgrImz}wA3LHAGM)7I|fc$3VK2|Sn?>sx2@ep z-_iCuU9laQN=?7y9M+7;R+E8Yl)v2y@Zd?2$G>=Q#aWuadVakEC2yZTAC-=%yL?pN zv*b>ddyC)_;C1Ftp6EN9Kp5|!bJ9A?URVV-v$Oqm;fW57c(yR z6Al%?(!5fv8ue@=(eh@Xl?bUq^|QLYtKdhoAJgYYc<2xq|dgklT_fErup`V;Zrs9~TMdr>~}XC4X!ols=_{eYnN(vR}Ap ze(1&Q`kptV{p>M67lrj5;KaNB!Z;;YBcRF8O1%z0PTA4@_d%IV8zT<=N}pr=%qg4P zLK$ts;bSTBD61q1k+D@~w%5ZL=FN6C^fy8LGQHredE8mxSOQevtxGHe!_UGU9P*1tXde#!NZ3(*H9 zDi9?Gju=^*`r&)D7hMwNnv6cgkOA+f4o2|=mn3h8lOLmsy7x-1&k-?R>Wksi6jVvD zS}Bs*k!-8S=v#qdlp_8iPRqZu0EM3EVKH)R`SUm7w;#@3F@EkDb6(zH2zLDp1O}); zy?{ZicM@=|%L+XFQEUvd;70pHt0%)_Tk(|d5YO1~E-P!n!;SyhnzVr|fNky_&(|V7 zFfYUw7pFUZ2gcn7Tp8nB{%FcAaLfS7SYFT(7j=(fI8QE2%w0y7+MlHUw6jETUOx}I zNt9&)f-H}f@LuA|I6`#D%-%;K40Z{zKa&$k_e z7Rig@U*Cu{3F5r1(?%>sl};WS>C>^sKFd;-Gkt_iW2>yiGSGpXB=mLwG&3M@a)z^XU8sSYR% zvdx7Jb&2y&{mBcYSy7(@oCYdrM6Lg}hH)9R=4$_K1Gru;;k|*>59Ac;zZk@?rWsl5 zXFxsC)I?j24}e0>cM2+LU6mlLN??;k7=j&<@u+On-_n}XVsWwB1KvgDx>z^ zl61TdLDM~*J@4qx&&JhhidyBy+i)04O|Xud(nTGT_GOzcNv<9b+o!zW_iH*Aa^imr zNc#Lsf)JD?_QY=E&dQ6hZ~6=&^jxbvXe}+rQF>X>yV!S>02JcF5MssQc2R(RlDt1X zaH-9lyfK%jb6EY%YrWny<^1?g-$rR~!}2N4OAhjR<)D&=qW996gIQ=Z=hXDTcv;M! zg?!D*p3R~LEaWV+eG()+g z?kMV)eD5$s^3}BaK!1nK<0fqB(bixW-Bw!Se@HPg5@x==vB}tQ!OFK&n{SIDfoX@4 z!L+IQtWIeYY=ts<=+IFOIJIeaXifT$&69^Y(pLOHjFU@GOj-NjAH=__-!u7Gh^K^Z z6}|Kq3TTS9?{*Qk0AhTw;N-@k(!?S=LqNml@6C2(aT@Z|()#exl=W zZp=keochf2*9$G_vb8ZvK6|)!4f6ba``xec&#0_KB^@dlTuEAF z?+bnET~shNc}CqNPs)96gw-b&Of#I_B(+8myzE1emO#QdI!Ih z`25eD4YY#=#569K;1@Ok_06ICR5y-L08_Y# z%^Wrf%U}`@&Sa-h+lYnn+x6k$52cL6faITr_lWP#e0^i7&i8$o#n&GCTQBD?_$&u> z<9_ZOjEdIo`wmdFqK@d3G;nAwrC5ftna@dCXsvw(*Yle&N=96Rx`QTsoB1&{2TU%; zYJ7+T!L_n!Kvf0l68}ntw;PS~fGl|`qm=XU94Hq?2 zze2Clp*0AWfdW@|PMq4JfF$mX6^VPx{_}JGLW~Q~hc^~+Sm_uTnpv;eRYpO$=#;8u z=cvt;7dTFO@tCKr^p)?Y1a!TLG_m5+P{G-S#W=;QL0| zNNp|_vTqnH!7>=TEsALu9N|IA4jr)*KAab?RF(Tse$~jsk)z_<-uoCe^aYKtk3Jn-ys_QcDb6Y|B2ZqB&IFtP_Jt{V3Dfe=#J|mU?he>;-Y2hXe zVM9p5wxgI)%S{gE%$`q2upID?TOUL+LXAR!kG%+gJvrY_=>$gEFKl4RRE)zP4HkBzGj62a#3Iw<*`VtxUB4ZWIo;~K&$$AyOL~-SGSx|rYjNj z?T{t`L?L1=QNh>I7c~lr#=6peqa50N=;$&8ggal0=SuoXn8@RCh^Ksd3rOG)thzpt zTXp?i98W9pC3_X^gxt05-=pU{8{UbnaJcSuC(eLRJ9qGKy&N*RLyvfNa48D`zh)+< zQ>i|1Js2!p84s+*%^-u;?9mna2|nr?z2@&Jz$Q(!s?HFp4Ke zeee$3=jf8VqQD!@P%Y(Bm8(d%Sp@Ji?L6kc(lAga_tKszp7fsP4L_(4uGH{$!&HbXe8=LG&b#r&KNp)* zG4d^4=t)?mu1(5DT&D}{ipW3v4y#6gb!EH{fEjwPap;~GnzzmDu1(Xhw-GCiPePAY zI=jZ@@{5t@+0VtRJhRs_t2saFRGEIbUW}2Ly4^Y_Jqf}Ve=&{-;fi3e&?9fyZ|ezs z;T$*bUCafhRJ`Mrye48lF@A1KVCMg&QYv@An(2-YP+7$D$Q-{=N5YL~uTqb?ja{mzKYT}&pZ7A}L=;uZs$gkwOz3Y_K>$D z?P{0mInrNsck(FOvG~0snV+F==M|l_wIL2yiDBfKbUjbTo21}#vKgi6%!GJ0Rc)af z+Ze6rzV*Y;w6y0S`8w0a-Oy5CriesGVWX{5T<*pbwsRFxle<-Gd6Zdh`O*_Wjlga; zs-EkHK^(oMcKBH#P8^VyNmgLaljPg?LplidPT?%`Di|@%8+QiDCmQi6(rkZzpg#Bl+xZ zyzf>~z!_`Z>y1)&v&DYOAxQWK?tY4oR6;Z)bAGokW%I{`6NzTtm7q&vnBfbC{K&m_ zMbDC9^*ooG^$06GQaY=#=B&Tlq6T?a4CDHZ2J0&Tkr6RyhtYM>n=Z1JY||AhFr>SoRY}sQ=9y{0vdA z0bCEb4b&4q@v`Du6zralz3}`+IqZVD%tJO+5fLz@Vssc;xc{P!T7%Z!T6z5sLR)xD zM

kZX@E!4X6mJyVRkRPe!~qP8DJ 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 LrYW<@76 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

n@-olgfVkr$Qf0Z1 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℞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≦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

SMmYgZ$pSepJNh zI9ci}zcCki`G{Tm$dP#NynwNY7S(aK_Y>8Y@8tvWmZ*!5^4mo;cs^nf!39G|ZB^(j zk3fQQ!>)0b^#eR*5H1>=7|ISQ4i#0s$VgiU;0Mow{ooX>&9s55JUTTVhlQe#M2;SN zfOis$+_De!`*xX(2c%NA7_5+YOQU%d?k<_OAkPea1{`BiK4y2;OtCxFTh$z%FMA9qwOd z74G0+F)!FZ>IXfDzI})sALatIevUNTCOFTh1@YD=ARIG=N|oBP*sdJ~RO>KgIq|xX z%K*r{P7wi}iR6*}l~0nC=+cXSCt)>4A)%uN+|rU?qW(qXN&bg9yxxz-ZxhbA205fb zfDF$Ehc22#(}J@imPZ`A9XjnM?za&(L2id7h5+&kPr-^8lOOzCAc+-TY&XdT3|S%B zHw6%x(U(vBC_Zt%bmO3N->p`r1g7rMZ`-dz%Ag{>#_2zpNO%*yBX5~DrXUL^KQ@`m zVG$J4)1EL^53i(CE~4X|qcJqiA+tbjUT(*D3G;)sof{Pq;AbVg926#fa%g#`ErU2| z|E=SS)@2V3f@Km5fhZv0wzCbwpeGVQg1XI$s{;=UDkzEgIlI)9d6ln*sHL#zv8BVbnbMIKm+y&}W6j z372uQZ|`{<5Ii6wqf@-7HypV{J}BlOgB)21syMTqOS9H9J%$LxB(@RAxT%GUlP^x~ zd1%*(&OWpWQb^noLnxDV28BJYwm-IzxvD^^Nf)z)Ervq6^eLAd%{AyW3rDYVIUX3s zg*Tubt->qT`#0lMV^kQB$akoypz{kUKtjIFI@GaU2_VDFiAtb%Iw8FBQIq@>R&CR! z%NXws5cC~hw9841BYY4~@~Obb0q1SU5hpVY!Ctr-lN!{_mI5&Z?PO+XU1QG&>(kSq zZ4m%r2%k}YxF_Xyn}niXd+0O-2u@#bI8wKpZ38(unPFqYK=a|n`$#7 zSmr<7wRykBz;6ENmv5TxSgWi|hCU8V`=RJT;omTS@dYE2XNjkPVSNK8V-uDwf&R#T z$GoNM=v-zkR%IDd2ZGk)h!miEs&AaT$S3i?-9BO))pj`P#uFgH|4|jZ_664WSM*`s z6IuB*kIx>EoQd_x<6NC2r!MdM)lKqHwJbc zj<_)=h`c*w5UuLN;!768-Fi@<5|OE(30u53%r#Aug~vd%)xFm`VcM8n zin}bwSgvW&v{l6PzCt4?(DKAVOd-q2y!T#Qcs*=d*HxG2!T~;!TGc1ky2bxv>|oo3 zj5j{oea3rEebZbZ5wVH@-#K%D7Db<84S$A`^}9VfjeNTj;$^^uL|I!tq6W_!S8ZkY zY9Np~S=t%Vjy#i@HhRQT?67co*#!_uc^VAnp(qmT+QXk;kE>EE z1x9$-lDzdioyl+{IkZ~NHH|7mIAWlFC!$izcl|IvWC}y%({TuMjxW;xcst0H;~6cT z;k^P5DDJ^T2@%vSeyXc)lI;X>$5R*~+X5|Z3@!Ypf{~9M_7jv*$ZhZbR)53usRd`? zs+8RunU=rRU+@Z0l|uF9C{Ok8#;lnd|zUgJ1pf1DQ2?e$ljh8!ZVFBlN7nPM>5r>&NO<@DQOmOY|s~D1UYUJq{nKim`RROcn9C#G2n4Spr?S?Mhja zy_nI?zY~jT5Hm^hc|c7c+N95KMJ3H#g|ispm@?pXcOE*OcL39v(vWRrMY zBVs}5mc{r*9A92?_@Z*!XyeD0d2M416;{>*d31oBoI}AqPll+}I{X@eY+L7Ql48XO zBoyBQfgpy@=ra1o4yP^9zYb&8rsG>CFzV=CyA(J}Q2_Aa{P2zMLm*?iomqHSE|sB& zI-r&ykQ8Fla$b@`cmmY<=blcNIj4s;X8DxT5sy`E4!gc@o%em;Bl!XB!<-7e)l1)P zyKGEm@NJ`8yZ&xC4n12rgrGI7S&h6a<&W^Yr={8r?7Rb3P~Nn}aPsKIdmR8#ri(pS zn2p~PYQX%_cwD_7E{WbDGEYl`{1Q`-J>$kMXjbRi!`iQge5xif$-I_I@9HPz*bLp#vQ*X{U%!c)Y4 zyUBhT$NQ_|pe#_o5*yk&Rw9xNdQS-*RcXI);|%0SMoL)<{}$AL{(Jj(ZggkT8yM5J zho%Kc6<<6iLzeVOpHMxuszy)|KBh|&o2TUZu$lmshS*!{ zME)bI?@q&!s!0!&stvCP{KH^QJsAx*A!t=hft-iRmxn&%)s>Xa*&~%U_p3o*65O%- znAn*_-bE<@2L|5bME54w#P}fgt-X6VU%Ogu0p|F8+%mz}aliPQ0KPXEKv;3fN^}BH-0n0@Fe*6bT*@Q66hTR68IDET@r%&Tg z>$h_{_d6XJrd9Q2#YE+wfZ}I>_|go1X_+FD9e;yf8Es4kI_msH>`38rKUKuYM|xo1 z#KP0h>gG94n8X) zL|20DH^xWM?^x_ViYarU6wbfXoJVw>U2T_7EuJ!G!ASkI8d?BeM=$kOEQ` z^RQ&nAcC<@3eOMlhzKNaU``&L6UO!SdOG#$xTuT9;QKGF)cpmHPrfY?J*61p8~q8u zltpc2oJ{7~r~9+WnJRaDUsI=GJ#Rjoby`t1iWMCyZ{Lpfn!Il~cBvo=BZ#*UleSQz zJ4MrlMAf+2$~5J-kYFlfqb$Fi{4DkB9n0RJ@p;&bTB?!CZcMu0IQ5$4AekZrlQ zQ%v2;qR|iu#mhgzIW7xsZL#mYj0!S4u|9WQccj-_x>uYDj=DVNG0*2Sf8V{U!Y_|g zK6@#J`P9SR@y3wEx0i|M%J<l=vwX8h+YQ9 zFn2&V3lyalHN-DH%JzuQ8Q;3^RX%Sr`M@8Cxg)Ma$=P@n3j83?atV&fIUc2+|D^xK z_dU8jGsqwxVU1|1fpIua>i+WSAQj#NryIYQbUfxKju2C(^M#F|hyV_5cSymEdp6>@ z7EPuaBrLA50uGRg#l`LRQ>LX8|GI>z4@_vBjtVa`1*<*;of=k!<=Kdo7D31!L+V-_NmE4u@?8B{nWC7PN`3=dAaCOvn#b{yat1tsMc@0f+)x` zp}gyZGIc&Guf4m=BGBNo4#Ka8X2@Zk-@ZxEQmA>URy`(XZ8)vf_te_9(=2T* zqbn#X=*%fwKe@+Kd~;9D7qA!)TvMq;+@LEu`s{k6)#YV9y`IWFEBYbZG~WDI=ZOrZ z%qv|E7$xt~oE$kh8m)*uU0s>+M&q+r7vU=VO8ZEetfx2}{Z~2P>faVAtVue)4)OH& z*qa|(&Ws>_w^}pfl)J|658>QL8I-FYrQ0lw$mO<9!*6(yY2?*YnM5=y%|$&QscaPe zZQ;)T%*dY=a{cz=sgdX7ZvAOXgF|9vkPL!gP99JFX}s{b8%Mt5oC9@U zu6USD*f+9AiRoIKAJjidk`jL@Dx^$heMC}wh+;(Wfk5!_d4nhb+8A;YEPOr_MhqWc z5?NRbTSmy@gx-7o+Xv24{Q>^#6e?)zgq|>SXRZnS-dp#zh0>Wi>ezRh(cul0}b7$gey!dt|!IC}(yp#yXLz}PrPSc94Z{+ggDq~=lz z&(As?ubRe#+0fTXQ(;nAA46ns3)sOYCd>qhkdsw+pkNRF#6BDt{fq?KB*cI)MX1D! zjgt*EZ4tS)pV~EZC5dm$Hk~K3t6>j{owD6uD*4YJk-xZ|@5P~o6$5cFqEo#>%>n?z zL^1{ZgxBSWKLiwk$nP=g^lVFuDb?AB`!$r?52AB-QXbJ+lSMMr17A7QL#{T1epEZ2 zeF>u@KmEiE`R7s({-8z-fdlXT|Go5)A;a1}{s4xyV)=+@;Vn%P1%lBpOBg6x zu@pW?+z!SMUv+k1lwE}3Ad?Z^8s8f$IYy!U5lVqqWDvf}ugqz1u)(S#D-HtXJga6y z;b=$z^rnTUHUFejxk8^TBs@GDh$$%oFm8LjADgYfhMbt&jq=TJCkKM^mNJf16Tt!g z!N;7ltx@jA5*qDauQ0Ij#p>A1#F4i~fe|v7rUwIAP7xGQ@@3@gmQxXS$GoB)MYx04 zHt&dUkND}7>zS!2W3vZTikrF=kT*y2nE2Dz>)kR0qRF1cS0wKtn*Prd12^gUCD4P} zeoeooPC<BW+?8sde-Z0_xM9M6Ga?|&H0jP`JWl7^fHD#*1-NDiAzRV{-x?Dg~ zZwswFedpA*Xp2TN*cw}RgPZE>F_jNQhFjHzsT9w3OO zr6HLdwOF%c|ED7Us0)o4AEh2W4J<}F*gs4Cjsup`9n**Zv%5an2<-x+|KkZifAvw~ z!}xHIJEAH&_pgtX1^JvLU~57e|F=;An*unnyox|uPGbIfxZmV}B4w;>$9i508WC8^ zH{6fh_wQ|Z-jx~2=MAi^(TINW_bq?^6CY?q{ripou@jY);0>&#)K*4%-ZFY%sphO7 zXwL^g4cOSU|M7$f)PKowN@-a2zvMVY0FYzqYN&z#*0R8R4Aei?0q$1;#h-_37lFbM z*D>;?dR_`13s?%85LVp0wBD)=XY5rDiaxB4=% z-lfL~ZH=TNzy3kPdmAIgm?>3hs#YWS;S22$){j(yh?IA04;7hOs;<)$3Bl+^RFYd zB>@XviWnT#^Dh8tLdfZm!2fH{KT88&gp5M?pF0Kth4u%EMZfgc(Q6`EESpHNf`DLH zln@qFp3W&8Rps(d+n(&lc340DFxOy6_)xXaq1o!|ww?x1y@tK|*EUO$<3qT`{I}@$H*>SQb5C7wm=rIP z)QTT zzVZlfH=q@Adh|GdwIq_bT%Y)0zB-zd(34FR2Fe?euhog78W6hhX+?4ARa66(D$TLo zt7h<&VNa_Bip0{%$_$%oZ7?}}CxHQ$Vhx4{G#lDTuQlIJ$K@{~r()mHj$)HXN$#H) zX`P~fk8VQ1pb8_JO9zGuug*OUArBXB;;I!ove+%BHc!-`BZH#GU~W-fN_=M+!thl- zIy_+Ia_?QIPBTKne_b?iHhS8&J%j07&Wj;FJE1&A7sWc7zTwT38~G|s2D*B-n0O{z zVfR7xhz(ZJ6Fxla+l)GvuX0Xz7#VVoy7oein75A1MU&y3YOCI*{rsk-2#j&d9jd*n z)7SdDnY)SKUctKPO=V6x7DG@iDGhe6;f9BA-8WGlSohqM*zMs`69}Mr{19^BB3*h7 zi@l5ONTlx!Sc!S4;N4@-~y?{V)`TMdZLKPZ{MgF|B!WSV*(v+5F2;PFmO!-DeMHRr8_%<#6 zp{8pgY=c4ccamn!4uHv(YLZSaly48V5(TH2DPR>B-B2?Ik$S$q;BY?p$y#uFYmWh= z_$V(#l#lHrKvxrx#P?V-xHnJO2|o_B8Z0D@;MBMK#}X#_sDh%%E3w48H~OU{pmo(4 zMpL=P_&uLcsj6I@xI@375%Xl!nmYQ%D%)X%CSO+d^{3k&IM(b$Q!A#+Ie6$n6}oXQ zi(c{Cj#(D*P>5?GtP#)Gj(<1oEzr*tQm$72RHSr-*BHwyvva)2sW)C;<@K|;Oi#{t z^48IEJ0-w*NV~z_zLAQCkuh>lT|>QBH)qMyGAH+X;I#psRxof4@GNDO;s0q2+JAsG zv>h`!4(gv@fKUJpjRdVsiTLNb=#zr4!K@l|&cCby1XL^HU)LZ{z+x(7gKcGTEWW+c zcu+I}k3l$&UM>4Bi7i*V!LHbamUe49l~b&Oy09j`_k-akHE^I;94M+Fl^nBAAualp zErz|ST<*8kSJD;mFdfnv(n78SJ-YIW>ai=dNJ#d-A|y$m3d77J%y7jw*0=JosHEuo z02ed2rRnRUPXe7z{G7vfUTtun$^N$T_gDf6y<+nA*;cEn2Kvr~gL4p-U&a1xRWa8+ z^BVo_P4Cft(I|3xbzaewWsGYxr*G`)d@DUB|ET0l=RJQCb3}}@RoxIh(7Z5NG3Mz2 z6jKyEu+sWe_xGS4jy9!173OrI@$m|64C?v3Tv!U)U7Bokkf;vO&LP7p}rp`I1Hv_V6IKSD~2{-s_CfS2E&9Q9*}wN}!s6bPA<_&QA>LbAp}lRJmH5m;_h5oYIKJk2)=W zMasp65wmSJOsKo_yu&BMnl<@IaYY3OmeVC!=u7U&BPo1wuhO>QPUNZ5iYWI@B6U0A zE>#C_^)jGnJs12Vc_cU&T)t{9Hhu0UrkuLsTI^%D7dU*gx*wa}l@*?~JV(G*Kr#xqVVlf160 zZ&Ufbmn_o^gxwL{#Q{YYHvP8M38CrR%v-Kc_utCRyp9Hmv8D25)5JMjm0%RdH@B2V zs`7)XcH$ef${`&zez|dl4jR z?T+s&ORU3X)xEmz@SWF%O0!p}41<{W5i$ zxDaAYgbOjUX{u-3Xv8BY5ciEu<*kO9KeRiykGrC3LniOpT5JMK(USQdyvpT;#?rt>Uc>~qI;%kn#cDg8vdP5C#kwx`s?%)2sW&W_WD|Y$~6H6ysdHPUaln z#`I^<5(pC`Tv!qxKGe%Hq8;dl`;8S*Sz!*O5rIt0@;ES(ogtE)Gep6wllv%_PQ_Aw zY?Uf@8e$fp9iY{$+9kaOhM>Pjwa{zT_i+QTT+;oRyGe}o;0C>FCeTSEWre-AZtVT~ z(*aZ8QYFdi>?2i)=J&A8k;ecq`a&gKd>>b=s^*CGz2mYp*?iM^`RA=;v5GeB+3UI` z34m53j}>u49V05$>0m}stM=o%i(VDWg97g8JU=GHWZMk~oeGyP(B>cmfQjv)#EEM2 zPB*~gFViC6oiLl()}_;GB@Ycz++M5`i>~gx;QR#yU5brDpAE6w!+x)A;2N?j$ zjL~jui3Pj)ROLcRcHDBa?^qV;FGxbaiFB+-QvZy8|5Rw~{kXwoOM9_xKlWZ|`ttPx z49TmtZse^oJt=$z%#o`eE=~oggu1uWdML@xhclw{wI8$6y;4?QMGW@t@L#Um7tw6Y zU z^3q*B!1_53i@Og$8sk~b)yLDRl*zJ})hiOyZGGiD(WY_4vH1k<5(gX1u=4y$c^dSo zVsHAmHG8SusN}1I*;Hw*2JN%0`<|_dSH(s3wGtYKjZG|6vBd%bNZp|uEpyZlKUVoS z$ADqs-wqu=$&?ZnXok}l7!|TI#7bWnIY)I%4L<4$*?T{!ASP-P0QAgyIWO27@4Orj zHb4CM^7##ed zRfVXF$(OpOJ*QqK6zgCwd4_g-$pMC8MY)jU zunc{|^C;78NEuC?t&Y1B(G$G*P_w6ynry8ArGcp~aUD6&=Q=H$)VsBuq%!D9^`YS? z*i@I&+;C?rM=usMJu871MZ)d&`IYBeU8}ErZ8}>d7OpH+$$+0gNsigjreZY8rbyC& zE>2n#cUO?O>@7pBas8WsPPIrB_2p6_$7sq)P2-cw=G`3c6@QnuWWnQsOyr$;!Ic8{ zp}z_5I#=1?0m!pzA$_Fc*jetBQL}xkdO>QPsB}3algnr)E5Q1}FHWH7*M(!j(r{hT znNZhTYPpmQt9g#9V>kAP%d;UL7JS+9Z_+89@2svD}$S5~z-6Wci?59svo|~!^>y2#b>mE)N7h2hsFOFO! zFdtnl*NJ>~U<ThUzEHp zV>KR7IQvDce7Wp#@$TVqPfk_jq*3PZM#ueJ?QVlWF)dZsdQ7zR>AaKk{^ND{w4rgY z)bRZAnHuU86S`5P0=YqqK2?;({CD^`8Wqh0^d9bnAZn(z&shq@8oC`1jvZ*Q*ExTf zncY)(0YsC>d~&Rd`_g)7@KPq3c zez+jYg#Ad~CoZ`!&ctDPfVH8Xd$kcOF;K5_>-SCKFFwBCOTxL;Rr7+U43eBAq#C>a-PSfTLYk3qg4*` zYQI5UKt2j)--73p|3{D1#nK@+5tQq0?6Jiw-U5ybxn0R8VsYH^owuii7Q}a8*X~|c zqtmyI3@!4pW{TNl27!(!M}5VScMm?=v>jV2qvMp_@683d7cz%ks9@2LrM+) zB98OvSvag6@;oYEuz6x$EB0x208%EZek66(j3q%q)q3S47Q_45IY&B8CRFL8OfIEg ztB<&C!ZVZ@E?GKN7`R;Tckrk35EmZFPl3*zyfPZ{G!|Gzrv^48#fTjo1*yRk@dQI{P$(EurKP?w zt{tRK^Aa4cE}b|S{DQhIKX-N2}J-7ZjrceBA8>`srS+1nzJJD|F*t9N#?tgnAf)P81jj zIfGB8AUIavS40Yg4?g9izyY0b9o`s(Wpe~wRUOFqVfua&YAC*4wghBxJ{-!}6qSfa z5pa0VfDi!yi11nB;cY^g;=yEx?JG77Jns_WuEt|;X0XM8X#+Y?q%1zTa%A(h)|pbX zO`lydFqxQHzJD*;==RY>DdhEk5$L=>K5tw=|K$fToK#*n_H<)Zj@?3cht&t~NYVy{ zw4mz^7qMsCg^7I0+6{fwT#Y?^C`t(3r^%O$fi8SO8(e)=>Y2z(A0sLfkT5NR5^zpF zlj-K8Rk(=kYL^L7B?vwYc*l>yuk~(|*L&?PO!~a!bnV*EG2P(zrY~n-&86_=RZuC> zRym1-<|w&K;B$F8U`vy%Mi4_mb3T|UYo-o@%yNmC9bAoQ-e(a>TdZ-WVL5y;xQci1 zu)Awnu9ha)WgqQg9tFaV2r|V*tn#`ap^{Z39KXR260qpKELD!-6%BSK!;EcF~H%MNnobAN&t+n(+5qyOv=Vay!yon$mv!$c9f|&jrYRBmxXgw={ z*TB5H3Fo|>6~i-)3~kPT@<^qtMHxiq;;}+*F*|U*9KmJb??L-sJB>$@fokiD^%BcI zh&QOe1~mO0Pey_pb$^04oRhwRuj{w2dsxh6)SlR9>yr}^@i}Qdegh(Y3m0!Z?KDNl zuimUD!6& zk~{;rD|?cDF8ppb`(~RJI;DHwKuCkk-Lk<~M2m~a$b#SXTh^tzS&&GiJ-3X3p zP+&IZ``g`h?JQ(^U*&>_awGC1#Lvl}C-UXSmZk8&YOj$ue?4o!x-xxdzoB@yb2UYAniA4|W6ldl(rN_I^}^s~E(9$nHE5OuDdx!qsI@@Y3i z?mo&lgMw`jV6K*9(qO)>03|ouimjZ%WSQqb2sukO>>uk-9j^HCj(2W@f+Tsa6Mx`{ zzfO7L4mM>X?#hlouOd&0(VzC5jJV5)6`K<{e647MxC*Nlpj z3ZuxChOi$0^g!({GnZAyyR+utF2x5X9ms_jnBAhEc^!q6OUgD%ssy6)%sxl7i=14Q zJDH*0iv64$`t*CxI8^i3!}q$aMEP>|e&NsG$no&eZLomYx{O_U9G_YCXqR0;obA?z&><7$INH(ZYei)>}fl$*aSii#JYjI)|R< zy2m5*($fGa3CS0pmh#dzX4u5qN&5{5kslT~iu=3+c)bFAyqMK0@i5@F2b1H-~Gw zRp;%A;=$5bCkX}}z0?Cj7S=Q?ip0D*_rXT(KEqWw#>ezcaI<{ zGvq&z`1=3Ff>P-gkwB-ATcMXSyOO5^5kRD^A( z^Td}ZCU?!^Jv%~9rNf(SI{-5NCzBCC9u<>!@XHcHN0nK(<}~o*!Ye;m;-T-6AD^!M zohMw*UTe_#CY`+rF*Z30uO*Q80E=|$?gs?m7aNH}$x7rtk&=U}TOB4(r(?0%5TfsdTxt0_WmopgzONweaM;WCM>S zHBJCVF($Sm+U?Zj75g%P3zRD(*DIx$dgXC6Dn!!x>L*c zwTXtwX%~5wiC3{Rt&K$Kyt9%4-z?2^m~@08l2=#8ivs7GaA8)mp3y}2w6f6rh(M{ ziP7-g8_EjjZZ*x;csEbG`HPj{q#<`7+NhXX+_B$BJnzD#0t?f&&6 zK9k#AReTr0cw7EQG#axtk#~KP!bR9;)Bdp$q|#tOsJit%g|n2=W#j%JA(74SRyj3w zPff2_b@Yvswk0c}*L2#04#|`-3}}^lLdtk0t6P14&M)M+9BtVyMSxnJb@}~(eeikR zru*xLtI%no;$yqPT85I6csGFlo4et#2A+BJDr!7ks*Ul7eY(n=uQjqLh-ym+uzA{^ zXuE+R*LWJZUua4a`AW;3mvss1T(6k}-RTS%y%*6FO=f{O*?J4%7c~w98 zSti5TSbJJZ!$Nt#wBJJG$5bBZROm#1Qe>(yl_3HH)7&rrXg7p>0ZAT3wGw3w_NjQ8 zWbLJN$N5~&+Mg%KfBskqoU5sZd)93Z;FvSG*y>M>inJI=5zfuYH)ht{cvBkDKp&Kr zWaKnh^HfI85`*+A2vajMhpbG4&GBVg520JrRJr*AkQczs{8_7`S%Kkr#4b-oF8XCIRU-dZ{X@#UfgdqyS78cj{2m zYeAHKyrEPXu}Bhof`d6nt8aiW8p9IK{6Jgb5`GO-ka=f`iV#^9!1*dGvvJY^xsKoR zfBCHmv@{5tUXxjlVhQybaWD6+a>M7UBY6o? z52rh8n$%AeC(G>7skks~NGR0XncC6>n^PPNvvo1!h&CTQHC|-;w=Ui$@x>)+uThnZQVp3)Dszs2Y_kOC;pygd8ng?LHB*r6-hzZ zaW`@}f|2xl$BFCr%^oQF<$P&=SQ0}XtrNOL+KIP79a( zfLSAW!GW*ei8qPo9NO%ma8%V5LNv?zm5D zvYc=+wJtF~2a&KXJ~)Z-3Ah-Ajvp>>|=}TVtty&OTnrkMSdFXqVv! z4i}yQlLoPdJ{1(|iOK2hZ^{iSNs;qwXP{zH;Q}1}v9= zZYZqkK7mq~`-zJf7H!f)(p)dDZH`N#?7+FFJftDDDqhnco9z$c2DRUQ^c zvIaP!KB~U- z$^_waTseynXb1GCo)rdM74;On!y@_?R&n#ij73(~c@N&>G#m?1Pm|>fPH>I2zjTE8 z6S1!s2XZ)}3>D9LL!j~s40Mo1JkvC;Nzy*3`{}%4`L#AHb>yB=D5=CFhO3|b0V-Pc-^|cNo5EaDHy=w{7HPKR zC26RV+E7K&eU(qE{LZ3|w6*q*qKf|p6v6JhrDrWN)z#V%II zI$>S#_cubvFx8ow%y2tDwn8YLYl5Wz4qpK{l{(EexFus!QM}te*o8Uz=k*Vs4<=-c)gX@ka9vvOE(98eXS{cUp~f=2Sfkg*i~@M@M{P`f^5tKzTdp)BX*edHbG) zN>9VX%zQAx_?sc-wOdWJF8|md&fAMaNuWZmQhJ<+sYIB$6$SUe=wqG0z(-^jG}0k# z)o)px*rH_%4O8nNyD%6fkg+LoO=ijZ2dbCR2UtTA7Cf+w2TkWruH02v)wy{B1HW5j z?ha$AZFH#|JPfZPYW5&6F{nM`U`}Qzmb98-l~TUDPQbljE5I+xGf}*f9x?@xY zVPF?EN^+OwP)(S)?`GyB2mlTrF#x%!BzGZ4yWG9;w>FgXjde|hop?%0)504`mQl)= zX03A6ig!kkfEH7<<}2@hqolYha-^4sc>yHK&3N2Zs&>6ad_YSqltC{h&)wGI6BEEd zFTcTNcQ&`w_#NfVm+-^f`J-mFjrCcvL?~KJSajl_gNn>%)1JymA9_72c##c4aG45s zjW!zO4(gAOx=pMKBx_z;3?~Q-B+Q7TSwC99)9JA|ZaTXYLxCH& zBQOwnkd9iar=8^bc6AwiuYDT167Y7i+W(y{PdOgLi*hvH3h(my&qSM^^8@~|<)6ed zjA<3C-*)$GC)}I35lVwA}H>Snl+t5Wwk}?T5qIV zYLIXplNVSIB>&L^i%12$U{oMX3go%7%7+yU!6BMH|P`xNzX zdT&yE=O`&j58W;Z^FFJvezlE5{!+MP;=vx-UC9drgxi5MQDGhy;m>?RaH-Ji55V0= z$XTfP(wv1l1ynf@P+@^9dwetgu4KqW%1LuC#8oLzq#J)cJ(Cy+&1L&SyRb9pm)yzF ze1a>iOu0&qm^U*oEf%KPUC;hAt+5Z;n2M=XpK`FKt{}{+eb( zDv>XwW4Dakt?5Y*ervrNEO_WBgTk6>GMut9(2FB}gXPu-Ngjoj86M{ws6nkKM6cGP ziwA`%o=g3ag%=C3m}b<5O|XgvleZR4j3K{C&$fQzr+cmknCzPHN(7VuvdO(yfND$? z$#{_Dj+=_}S~Z5t;ecvvMr*__>G;sBh5;%K^1YZ6P!czF+upjk0}-g0x)rp;;KGXIJ7Rha@ zG^gB>R-t}H#BSgzjxsHp3S2am+H^HGW(Gv6 zc6F;h&ME?N-g-;-0%Tu=93Z%!v*PdOK0KbH-(MBUidyQav-Rpp{xDmyPyWc?j`)i7 zHt$q@duL}1sRLXA?Yw-IF}E>$>A1(4ahJ?fbUAEjqYv=8Gux~HH57{BgXPLi6WIIe zxtZbk#_2jxh5EOG{roAwo|e@RHQ0>_92Qd%{l1cbzG;amw_QYa+*#>OQ&rf<0geY} z!pbd1BuZlOMu*3J@0==%wL65o3^%$omF$IYtjjmeDhpVdPVI63>|+?JPAkjR9(ymLPJ+m?z$T!NCGXl#< zFHSvEA!{)Ed}G0S6^y=q@~;O4U~i$@T|N>m=Fp;n)u-l zf6c|U^EzqtfYs9R5h`J9Ge0`{CSqGw;m3G?shF|K&c&d*e!S4w{P zgWH##@oawF5T=r}z(z;2#KSi!=3yr{`Pk+_69An|YDCHP>0Ac6`~M3Z1LOSpr|-Av z8T$Dvkn(lkHjNl&e&;S&GK=R;Aaz5Xo9Mx&PpYW$OfH7#zCs=rHI*q_UPW0jcQ%Pg zO$SpT_4?qxv}@-!y(`VH_L^g5;9=G&qXbe`UT(}nn?{v^8Y}&)YqcQoT5d*PX;pt<&ufJk#&V zlX2wZ_Z<>E#XX*JWxZ^7E+Lp~5J)^j-XJZdk;)Pj)r^h(+-BEgdpG^kOvEA#eTBj-go@{P ze-b=Bh27eaCqcS9brK|N;Q0})8cc_?BtZ^0A+ zdG=A}b?&QA)%>MSq1;EMjG^8KO@XUot%r<-S<@ zSrKaK_kiLZu_t@klsHQlFQ899o}iNUC6F?&#qC=+)2Iuc39ZT$%r;Mf)Z~xe5`9A1X7{CxAuow_Ut(*JAeBK_PdGBBanC7;w44;eP4OX{y@JU z>#}(M22wW9W3ATxDZdCL>;9Q`lp7D9`p%Cx7`% z+;9dtuk84KugfTH70S0^xn}h9l}^)qCl}0fw@%0IU*UF+?>+vC%6+|~38rjTtO6BC z1=Id^y@xaFY-e97>4th9nq|W>2!KF%2{>i^72aARbr1jn5C8$E5%@pNNFq^_GYu91 O00005i17s1k61 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⪰PZZ+6thmS;IPJcB2rP6#C3XEIXKV+d~ur#zW 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É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

m*W~ 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%0DdCN5BUoADc|)v6JOF(O}7BqYfo8Ehn#@Z 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

3>h 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 TyOjZ71{S9SNA_3jJA36X2gJ6G diff --git a/assets/skill-manager-mark.svg b/assets/skill-manager-mark.svg new file mode 100644 index 0000000..bae5a5c --- /dev/null +++ b/assets/skill-manager-mark.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/assets/skill-manager-marketplace.png b/assets/skill-manager-marketplace.png new file mode 100644 index 0000000000000000000000000000000000000000..dd07b3a132fe1c7dcba0a18f4d598648fa18f638 GIT binary patch literal 527758 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 z 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%0Dk%RK9^%l)I1_caZdAtht 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 z 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 Bgm~ z)*Zz?l}jW7dgPA-as`-tj3$NU9DnkSFQB$dlP*^lY^>i6O7iy#|&z&T;} z=Fu*r5t6=$7USPH?C`Ue3l3e=hv|i{%5109Jd|zdsX+fE_{x!r$atMwlNCZ~>PuC3 zf!o|JZ3h2^(gzg5%BS1;IyHHQ$TNTITtM~UY2tKN*silb#mwGhg4Jv&YzE~r02N>8?lqi&Nybg829gJ@%z6y)pF@s9EocbB&#`Wb;N4e|6@V1Q3P zUIw;Ol^VW^KCzLF4EM$byP1lo=jV4juMBb)IPzZ@?-#;?(GD4Ch#Cv`{dVZ*8@hpg zQFj=z{+Q)JjQK)>Z~^MdurliqP(@%gmjijxv_eg5+`a+!u}m;5!;R;If$Ep)_kw;M za5EUdZqvmjK&aKBQhQe{KnK1B)f`H<3`v1p84nLX&GNDQ zLofKz2c3|eog0EdQXmLd9y0MO?j; zuuiZpP87@_)CK&DKrOY}<$cm$PQ5I6lmt<_C(W5s^wYCoi!cX5w9!qhr>dRRi}IOs z4r^86al8MFxn)k!=2qjy5t5^At+BHEYWQ4bbB78=i%cSf&zn|(5FN(dhT$h;6t(*0wAz>$ZJmy42=h0^ef9!C6(*2rcw zp|N}RfWf-!D{2K0r?Eu_jAhSt6#Nbt5CQt>H{r`Fg`-SW@z~q&%uhIM=x+V(I6%@p z(KjY-GbW~XiP{5ZKmH%g{scxbMQ0gRmyQSPryL6?MrY2U1@>`p0z@06d1=Q@RL8Nw zTx}Ro8C{U8;&@!r%pz=8K?oqr!*?AaIR)^kFjWN(?;awmPY~y`Lt*B07vPnxYYM5O z{F{ya9Dqfja>?C5kX060qng&9a^41(*3ONye!G;&m{vsg?TPZOhH#a^Hv zLo~hGCC4m`?NMLCcn}A#qXrpbjy%riSctQ8)nvh@gK)~;-v1LCughT!?>Q zv>Wj7%I+NEvRyK4Kzo%5wtk};wF3*^h6~#ljsZJhvb94+Dq&6ugbs(%4b%~~Gn=qp zIH*d@C^4Ybor!KaRj94>kse|&JDA6yt{!VWUR_jR1#SkI$h%gWYG?h^_z(S_g>G0;>4g2v3l4NN6d8RI7UjZE zuuub>#Pe_>88zl7;#dJWMLiftI6pG9N{>|+rkHb83p8S%AJ5#oEN665TbsR#$5OjC zi>)V@9oVp`-7rhFqa2M`F8@^`OsDJ2fH6%wrT7;j0Zyi`7=R`A*PC-WwbE|e#BHp~MYzCTe7tjb6VK+*b3h zKjwvBBObt=O@qtk9>&Y=3*zV#H3aTQpM65iIPk#nZVFv|j>jNfVkw_=2$ODGR4F>zNBz6;a*HNqG+q1JAqjtVm}LcHw%*#kGy zzXLRZfl}aqT#Frc0>mnBA%&1v7rNjzI0gvh4sf~1dh@GbUdHI7D@m^ok>H>FZ}GS8 z0N_fMugch=AP@~ATSYqR36QZf%_^6od>yxUg{S+<1CI+D9|r_qoCP6-rU1gykX+IV z4*PE%uN~Gk?R&_h={}uampz^hZrleR{;ViB_TS`_{v6G)223;uKS|AYv@qA~qVJxvJPdkE&0 zRX!H`_^(#`$035>0w_{%ktHIe^dhV@=Jx@c>m{N6Z%z#MP~wM~@11dp7rK@S7DfmP zAipd?;H3ILg~H$GmV%|k%WyB&WqKXE6c^joOgFebb(^Jfg^i9*e*_DNz6sAr`0qQ3 z!%&FnBne_Kr1zhvlM0$fk_tMN3jG}Hx9f^pJn%^XooexF>=&|QiW0fpGS-K)LUijK zvXb_C_n0DNs~3`oENZt;Ki25kK2AAas%hRPV%NtL+Nk`Z-~!s^+k?`1Cs(M~Q=0~& z;mr^sSlc%sA3wuz5~^%Z_3x@t(MFPIKF? z_M5pYtS^(-@d3G0uRPyb|4ov?IpLj8s#}ykCn5d^InzHX(oP1$cN=F_5*IuO)yA6l<>-UbOzaSd#`)ph#99<{hM;jZ2E1-qeU{--;NKHprnW(dbi zv(ZdqfA4#o|B$b-9>05-vVE2bCa#MYZaK}5I~^MnmLe!y8*Gw9co*w(0OKDp{GW4~ zFRa5!!Yta=Bg#d)N}Cd3L3(P8QJ$^jY=NP~p$+cwcLVENPS*_T>`exCrnei{DGm)< zetXSu%Hx73L15Q-DBFR2YQ3h_PbI4d?dola7hh9YMrKDYKcY3&|NK1vw`*_$^q4SW zH2l~vIjw2{y=i>jtc#q+gC^gj((H`i)}Dd^*ig>S8&$o~;r!6yqNqn8*1CK}w)_-n|eoWizNP1dVWj+3TF%{6l z8=COL9>=9#=V{lC*P}@aCy90jx#{W!8pVofvvwNH zhTC#I<;mCSVrTVOk8kbqP}k;Tni`7%3LiFfJD**}xxJpW+5`3(p>1w7^C~#-AEZoY zO1c_sml}yx-qz%`nfUI#TVYVIsjp2^lLD6?u?hf^SuIy!fsJFZ=`_4shD zZ5*2JC)sdE?3#dCR1pwT&HF`^wZsPQ0%Jt*fPCOve#vYSpS?|u-Q$!;MJa+jXj03)3G1NPl=tu;$_#y6z9mtH#N%j{ zp&{-3r)05w63Cm=G;p0eIXHxQdGpLHFF6iK4bFp;fHIhFbgMW%;%iw3-H|97mT)@` z_*%|1!R%GV8qao_!@8DVESd%el+y#SHzz+Ckd;y$<&oxb$+G`9d<4@Uv90IVuUt7l z_tCRj|1*n55kXdJW2*;J+@z``x=Y3 z7Z1!{K|)e~BFY=CmmhN~_TU^t*1r=JiDTN z7L%U(L~b{qD|;V3sgH??;XiI;Yy8=UKU}1%`FkZ(aWPwWtFqj(&K2rb@jff7t5DnV z`@C#PoO}`n3wiT)vqzWD)8?@$?~@>l&-3lF$@fhpBBCCk)(fAC?l7*l<7 z@A-YM#W4HfMmI+{=M!4Djh!6-@Gr68-M94Gku2QXI$?KT`rm z))|8Fo>{F@&f?|e?`TxMSCIehj}h_K=ncQJm(;C>gRbh8NWLpvS7Mez9@RU5j)sAadvv#CG2{t$;CCiSTncO z^){p=Dl9ws8Pk+snR__)Y!a)sw)R-vzynvO+Arldkx+0TRH0Y=%8ZmIUjF-oQ~5$} zBBONhJ~J%z65+ac&vee~APVWKOElC4s_fwCxcOK`M~8Xf{&7Yl*Os$IQWFjdiIDxS zuEV)kjV@C49$<6{1E*Iu6Qv*ebyj(Z{K{&e?*1E1;}m0c%_nnwTu+7xe*ccYrJ`>q z|41(n%LZ}!JsiW2jAVFknigjPb>i!z1P7vJpFFnqv8(QA$ z3Kz0rzj}R(0krXDtS?^myG|J`P5+CBW74k-L|E`z=GZ4EC&%nkCS6WmO8aTEuys;% zRC_g4?|!B^lu8;aO4(anT<+;js90Q1%hA2}wOGHYW3m%|WXLN3_C|a_L@*@$yC1nt zkm2hc)lZ-@;leI&-|W3yiS1c0X}JTsc4JIZOpm4t*Tm`C)k_GvY#8>D3H^%9d|z8T zA&^H-vTifcnC>Q#;#1a})I#MHUqKPls>ODnfk9G1coF3mpt9j|Gt6br`mgNZRchOZ z75l-@w*&+>7*m}X0N|0m0NwO^(B&!Ie|dD+*VdRLfBKbS2a zve-%KZS^Bv>zJOx;RmGdC||Z{^jy#B)yZzp4Uc$~YaPv8b}u}Cw>({Z6Sx%@6GNa~ zZBv)*c7PfcUo+c9S&LK9s&!1JU!qw(nH~6ZuDN8RcHw}_u+?t<-Zb~AO|emB9T6Uk zYX1MA0HCpouV5c{bE+zKQ@%7e+rXkfDvRE?s(!?|;O_3OtfICym`iM*!2cvT8j2Nq z>O4kf9iRo}{P|gIF)D<;a`(g#*`2-VL~!T$w4d|fVc}Ji&Ao{da>2@IYdPN%uTA3c zX1#31v?tq3gn(A0tdNjRqK^(7cmA!Mff2ql0ToAe__Hbj(BtHd%kVmTNaw$*5e=TlUIItXR2d(dZf$B4rgYFJ}l5@8E^^|bGad|e-v|Crz|DfUp5Hhp{0AyY6 z%XN1Dn(%?-Jwn4F(WPwCAv^vo<|=!Bb_z&atDlrdV(I)$aw4E6ws{3M!n)D{i{|jF5zEZSzhnhYM#F9(8D$^ zZ7xxNa#-#0-5>h_hG1IpM#aE+S5b}LQ(KX}LQK=y6V%w&FAzqqRMu?sG$q%^tfA^Mp8;gC$VaC zhavTieTl*iK{0Tv#5}QMm)+hk*s^wZ#RLQdpS71yB+t$~${al_ubQZ;sxDUTu*(!^ zu$i77?K_MMV|TH)$i+7{?hogwN=`b*r+n}Iq8LXn?`Sr;yXdfCpTqBL1izpQ?1HD{ zt@||pNw@j7PSod)?vSJi?@tx5NB8#jTFEl9vBe5)yF+HN?_ITa_AAp_@kMI*{MdDd znj%8-Oy_4rvRD7B@+YeAoSOk|tlnM4o>44rUc(!r(v}z0-K=lC|75l>p{m%YNV`I! zxZzAA;rF_Y1t}(sxyvzeKpV&HE5(%mUcf@q?*c(LCSF9*=>%$&`-PWpOu9@{3}-v9 zr$;$yjQ-v`i`>Dd?=GoWLfNd)w897-^~_1*RZ$Rfe((I*BF*OsYSx+zE3!$|jNRjg z&t~zDX`4KrGCU~Jk)WpS>vAlQ~0W(D0`=+*u&puZgt771JTcHn_8icSr7crnA6|DV9g z3E$XNd0z)1xzd*xcl1vq11;H2ww z`%mDEhJka{&Vda9P8zU7+YB>v@PDCBYQLA*q4Khd#3h~U)G8o*1P<1H`#n?V*(u&yO8ZjgD6z$^TP4B66d^{4;Paj|=;lE`?$O|;s6$IBq%LE-SE`d~o zxgu94Xkycd?^m|dd^Pz$itsRMjkg-6{s@%&V-OG$CQKTi-gNJO#z4ct zn~X7yz{Kkk-)dX02Ya3C_z~kYz>w^no8Ni!PslTRuY0%E|&>)O;`txC~*9p9})xhR8-<8Xg)3 zJUDUxaNwMY2O*Q?imM%{2)kEY<{y4r&PVd93BNVvgKjcPS*^H}S zAF|79AeV%xqYD_}S$w-A{s$WPRVAmW_=@KQ5UVL6gj=!6BG^j51rR zzLJJEu{FWuh%bMVg9tr&pOr10|C=WDZA!q4OZ!2nlv+<{HC0qt+n2DB%KbQE|#{-y@BPcp5&w{=Zl zn8*f)m^cT#yc^Fe`*7|7bHrcp7}P?stWon|cv7R*^HJe1j3S{Jvja*x=tzd6Ib8!e z>@J5!iM~a+JSTa06UEaa4)6pEyBmZX^<>eTi6>=qhFi7J%L}Dr3a=3Xa2#DE@S)|+ty)dy5eYmR{w7soTo(dW3o|A*Ho{Cg> zI==M#XMog+Qmbm0p;GdfKF(#0?6r;SzHNixc}qVDN)l^-_xsfPB?CtbJMN#Xkn*BN2=w{Js+m`f6>ODm=Vwb{%5I#KlP& z8NEAZx!r!-+|=}~sF`Y}7Pa_g)em7swXFH15?_89`RUEbT@&VcCAT`^Uce(sswc=M znIFZO5Xa%h0#*uXr`LC8_;qF&BH!2vzRel_FyrMKaQo8gN>z|2LFnOZGT~pfrdZWm zuqP1W7>-ciB(QVs?=2<1OH_>`mCcLk3fE(;!oV7@U)EQ`NBsV_9B?ZBLZCElt6Z71 zQ$?NHU*GnVV2HetnQ%|lCevfuLG*9jOVb0s?y}>L5BZC&d?7E;X~mN0KG>m;iUXkC zhMCb}XGD&Eh_9&;0T-0mu{QxqJx39n3#%VY`^9;#sx!q0l;QHl?j3$qKoD0 z-f!A__gLJJY90Q%B{=IFh_doK5EkXmV8N4?myZP#4kVoA_24$+#r|Ea;K~Wx55{47 z=0aWj9;4niNoqe`8^HmbCZz!Oir#B>9EJa0`Yy1yqFRt@Jz+cf<)S}t((mf-4%cxb z_=l?5A!cNpVDxSgIU@{uc+;}t5z-rK1d!lLqw>%_AJ`TzJ*IK;%Nf}gk@9t-nb zM?nj9hO)hTh&b3MeSp^qQpaoXjlbi3?(QWhVW$(g8&`12?4^=MIWfypDSe`vS*tU} z8aB`CfcxiS;EHN^=}?uRmp3ncMD>;0uVcjA9+yQO&S7Y{!0<(Rsg8hTlqlHMw6;f& z1}-EEQB}SS(+aZ*kLA3BL*S42f9(%Zwto{tK-~GQcSwlNHf}{*1s+ejfU6xrI&{9H z;bF=pAV6A)EN|En9qT-YkrvLg96(!JjqD>B2m$vN1BZlERUbnV_Dd;bq=-(MN$pAM zrPzPKEKDiAQST>TrNdt0>mXiP>RFyOgg}RH3}FMzGlCboarwf7>B#7_=1-JZ6arv> zq{IL)y#A@XL* z;vITz%Ir%p2ro<%1W2?n-gX%SOI)f}+vG{br(Jo`$xEBm%K5s4^w^<|UNT&+_)+*RkC1gJ!?yJ|jyeDmLu0hixa~B&9 z;)@^1sJyn!k>%y(t@6c>v-{?!bj8{)QSR$JfaABjDj-4QZyb-PQoWgC-EUOGf>W#| z1Z+i$lcb8+`706lFVuk{_d4u5kPLL-KS)_wS!Jjv9bK~Pd?CUpGBPsnb8|~6=(uOz zRchbvPec$6VyCb4z(%#JCmlh(eBOtsczJzzI<8}ILY!fN7#4bL-{cX4>p3cO0R4{8 zIE0;dyAGnEQT@DWR>C`0kK*zLP%wU-dNVOjkkocn^;Bx>d06L?T>3pHVLBA=4?kXz zrJp+ntx8f>YJB%MI3#W|0!qGW?8uCuj~U?X7wT@I>|a>UfQMPY<3Ny_+1fw+Rb{-1 zTKmkH_~T499h=~HeR!mrGH{uI*oI0O7yEeti=AsyFeV~XgaSH?&pZ{q{Pr zn+!M=?&H0qss48@-AtQ!qx$Fn>^J-Cj^0Uaq2S?jI-f>No)jWq)BXLjP+edpDS1O{ z&m*>gTfh!CFT$+Smtxpi!!gIgrNXYC!2@9PXWW8<68^^k*G`hR8sJMQ{~v(Ni+hWc zhTeak)CK^!lT#$1A|+zpaP#vEPo13X)=AK~eZ#EAeEs@LMO8Jra))|5(H?6$`B6%C z@qf;)G$jD)#I7lRO;?FFW)!uKSSxG4u#C$McU>PhNCZ-i17(}NU*qBg&yKgldlF@h znhqC?62xJNbBp!fX}KOrPJaIx_JEJ{z$<6Z+<$m}!aNcM$W`dadscrzHNu>@nMP?c z>&}-`$yG;hE*F}&yN5orpvPsQ+%XB$qkwL}YmO8)VZi)1+5$GA{YKHuo_H`t%T2rS zJNE8Hcxmm4igK5tw_{jV)&G7!$;Ax*>Aek{y+ifR`h;rl!{4rq!pAk%Q;9XP5`I6R zTR<+QGg-2^t%^1I_J5ZWNp-bBjl%guedYj==FNnl?O%5O=oRq|uCRajyIB(6CP_oH z4z!BWMt}LJiatbE7F7zH-2;rl|3;8$XOe1nw4+Os)z2dtkiyH9?hVJ20!)^Qc4sHd zu=&Zu^OO2t+s5lkzkR;+G!4d#3zF&!o}ha6mOa&Lg|T*d!RT6A&a3~1{b^-aY8p|4 z`V&CO!qrE>Pgif@9=QX}P?3X381JH;|8Z@H>xI$jBIWY_dOb}QP0fn(qmy|Ni-lw+ zx*^8EI@fjc-U&nJiV6-f{*h$&#-i@-IF2)cIGJrjlPksU=9A9N&%WoVmpfSm@R=Z= z9Q#!SoO7{=tHe2Lg=IvY503!7qXm}>Y&$zE>kFoVQ(-GEF1S}j$KLc`vElhJiB=Mq zWlb51n0jADm&DG_W_)ZiagsDMG^`VaP7YQMY0WzOY5ebI0mxi4rPnT2gSF;NZW&jt ziKo+OVF#lU`58iM_5BDids1`?&wtVGe%)Ifj_>oj>Ir~}0haW@&J9>UD5>9xV?l1< zlVN+whg-YV@{+4!{Gv8dyg$PwdpdJK^D_Ih&|a^a4=^uyGy=ZFRa-kY16QrRTmodd zK5YH&Yc~8|JR|Y}Ep5y?p=)f+2l7Mk4ncZKc&Kpa*lP?Z_eH_>6n{zlvs)z9ZX)|$ z4N*~vJYpYOZ7gXz6qCVObb*La9>p&r*% zO97zr86xd0C<=>jtszOKGLru?^S{e8eL|~V;``eP_qfFrZzW(mYSoj`%T#ORI2|oR zx~ivq1rbwma_b;G5fbu0VBRn#lGa?-j7qOU$+l8a~adyzMWI+|5qC3$)%e7=vpK}OM8ek z$wG$-3|Z{Ri&pOVBDQLI%&eW&QAsipBQw~b61KBkR&^}nopSv;tf0(`>9&!UR!>iv z*z?H$s)u(H&#@p!Jh=CIz3sfnCZSqJ@5@4?qqhOmZCrtyG&szS5c=OE?h!i>5?wn~ zA4zz_rS2oU{O%3xE=`#1QM^ThB${G|nAQG!5T`x9I1Yp>S1)Ru1J6}40If5X416EM z-{waB&!ZkU+RKz6Nib1dm|D&cuiH+ zNOZAb*V_qr)J^_GgLc2O-_!}hE*dW+i_Ujdjq2MLefJ4E+jAZsaf{S`#j@mandy*j z5w~Y6FMANny-WcqOeMeeeDbzH3}Xdk#8p3VT@zIC03kPfOLDjJx8=%k-~1kdEhcJk zmT7fb0yO;}@&0@q0zO`I^oGz#R2k?N8{4PY+z=ZscAEDb92``4v@_B}hd%$yvWZkp z)D$>2BByY4lc_v_G57QF+qcPnpm(`)xeq`VBnI1R@yg(I1Z%t689Y?GstpP_=R0@aoq>pAv<2;<3pEq>r zpkK|#hH((7L)B>($JLe-YG_a4&m)SM=q@&8yFn)XfmM6Rs~w4-TTxZ+Wc6Mb@H}L; z8vdZy;m~|$I`kUt$Kq2^g1I(ux#NFg;YV-J5j7iC{@OQXZgG*kgJa`OG^aWTSGCO+ zspI@PHlKgc2mn%x$QE-+vqrBRp{GNHa*l_ao||t|HPVxxpI2hyu;=GBUTR%XOj3(} z>5V(9pvW@rg_nR!wS5Kp1w(CBFi3+R+yGv- zQ$Js1G)etNUhvim)ZugQ6V>x)`oBs>%LJ+YlI6NE%Y#86rjN{#lSRg=wkNaKuQvsc zFlG)%b25Z6v8VbI0=a)sTbQa3mfW77H&xM8jifHs^Kz&TO?LjpU2c+Uy0yBKFj%g` ze7F!SX!%PJls#<5lhl)@21OS~#}s0oCA34xi;hmLM#4U=tE$9h(qWZ9raFe$O=K2& z_}Xl>{Os$ZvS?3;L>HE(n(V#-LG5Z8V-Wv4nMLH|lLkL&V6lUP*9^*hY>FHdpTtb% zz`RvdRMhjNwEr9S2ebmwpw@QdD$se~=OO+i5%h6x)KZDs#B7d%o{rh691=Ey5vAu( zikubhGm+7F0Ba?0d-(ftAZ@Iqi(l}j!T-r53JY_tzW%%E?$`p8rxaR#^lt6KP)5cZ zPv5P2=h;8$v%)`H)Kevu{SKUzVkjYC@I%k$(>;g{_P!p_iI`DbNE|>ijazpj|o)Ty2sS zeE%GA82|>e`XlK{%sKoT3r>I3Sm5RcBlR6DE82LLOzYPlKoEXWVz;!q(fq9taOlZu zs+IGkBtzGaHdWCru@;j+d+jWhA6PJ9ENDL*@=Hy*Xk2L3`I~8L6&1 z11)_PRP2##PKdLK_^!zOjT;Od?+&-Ejx>kn5&3K#u0xSO9Ki76WSPOvN_L0F=ZXRSciJcta3Q_Km57n<~e2pHKN<-!TdJA zpLTvDguyJE?TF%{|B)Q7G81WbJ>XrP5P5UpBnBBzR!Ggd9-lUP{G)?nr>Ml7zZ(LM zK|TAYQ{;D=7pmeWNZe+e%&J|}LtUVDu6(7SSMJ|u6@Z%=_ony6RbL52Jvkphq8zQS zP)w4|B8`k*KqVUffnw%6qd2-PEgnA}wtvrJZfI=GBN*mu^6|FMTi3OI-77sIQl(Ae zipQsaW#Ig#PV|KD` zRi4R-3{v-0>R>bmGpt;O%6@Roa~|v@Irv5492&Jx4BgAGWzylDI?pRyq!0SByCB9rkV-q`YuDe&s0*Gfe(75i- zN%aOVo8L};2=iIpE}tYtZbrwYi?mEN&9_~4UKrHc#)Pm)n=bScWZz|uBNQoZnLTG6 zB^}Rv=NHX#x>XnIfOOgK_2=5szyRL)49Kak{I`?hRk;0PQ@X^;)hIeEW?TO! zVduDHeHCC`%x@cwjHk?O}t>uAM6h zGx?XIMi?z5a-Hd^SH(Oz#MB!&AEJM&#$2PPPHKiDdJ@HqOnvsq4?WQ`ov5CO3Qd-~ zfO9Q2N8KgctsWf}8TqgC|wt~(%Io{NT+!{VA?E$6lBjY(&8LheJ% z>1KOsr;A{S8+xLqzgknUcBM--xd0U}th!#eNCKIFQDID7YHvG@-qoloY1-pF?06W> zWSR!lnQi@Q)k}VK@PUe<^Ao)$)h*W|xLe&Rme&#o^OmBVaQqD`pAMHt>{{~=??|#Z zcigGnJSt2cQcsjoTyMZNre4m?;3E#d3J)MSA2Iv)2rG97(v9o+=DcmR0{8S+k^6BA zM;o?^Bpm2(CbaV! z$C)xtKe`7ysn?5C2)=Bd!<*&KK#zzR1@Jj${2_9S_oZS+=d^JA+@FivSrb4dNlY>tw@ zdCE^%t4gw~S3hVO{Z6(YDFDz$tlOc8(^mcK(tIQ{-fPtfpcgqgIbAbBtPl9rDRF>h zzqp}Fmf^3^#-ssAG#@J#)XwoBRQb*%qNj>w8T7p*l9MJxcJ8h3{QDW@XZ3JcHmqJ8 zosNzBkrZola_BuUwYBWc){z3fno}|%ogjNxmcKGJXe?{9(kQA?D-!d*-CnZi;;$97 zGc-wHnY!F&c8Jju#fA{tBa}8pxlhHvp~zq1XjC`1^YSVXQ-B#JUe4Lg>4=(#&d&|? zMf%4H;GDadV!PB{6v;*0*Ae{F`xTR=o`lxO38a&KjxI7-En0m7bd!KQTqUe9d z|KUSV2lM;Zf4gPw7ZdqpD{wn_YPIgT{q<4_prC|Py_#B!zSOJrcZ2e6xu+$KME z(Ni9(>ou!>kcm*L`t|Z?nWI0A8Y4}>jfIS|3s;Eiu(W9_*>0jSNxN9@S0g8#+;L4s z?~|XGZ+|piF^|jj!0KIwD(DuS0sn_x3AY6TLOB)lD7pU*b?~t8sV9V3V&R z*D51uv14DpH*b~uuURUM1W>ME7c7C!m_SU`zjSeS!hl@|^18U-gh|Or;nn`6FN5TE zCH;L~X>BQ2Ya?N3(SjJt9Dy2%i{<~&mR)YQDL+_d0^-dZv1f-06}4Zivkh5Yi2HJq zbXF3tf}CyDbzED(FWjkkNhj{_K>M`{t=?ZK!LQJe&sc8T_MGwThw5OV9^JAPsU@z` z#zyBknMGVlS6pOnvH{?dZ_c+RW?b0N6T zjw?n(D?^(!r1Hj~zs zJ)npuB7Z}@5I-MrZuv?JAX;7MPQDYgvmK`7Mj%&4>zxBB8gyB18R=^Y@M7XRv7z(j z12Q=e#7WATdJ=7aNvdmZKKppt9;F5Xea~4|`*v@Pb6RW=B5Nb(QY0z&^Xuxq>CxOb;*8M6^-<8nZ2(KJ6nalb&U}rQ>c5MO;&{aSZGF- zJUvRHvZ-pbY4c;DWyklxqI;(zf$HH8XG90&#?KiwAcq4Aq1G91*2Qx?{YZ3Hh6R)r z8zLiKE7Ky^_vz$OUzb5(>3vhS#84T(_^h0q_?Kpjof1vn3OqJ zsd-9E(Pfa5S?HA*vVQ=J>q{T1u^3g^*@GL!nz1kqmqq>v!RDjyrt{|lN=r5nP1NoD zdcl7_e|l7{_0hHPEOB3M+Zgy-Bf|LMifCsi>ITag(xhHjSJ{B~VB})7mn#MKm9~AY zS=Sf0Z=AA$N|pA0#i%h+R`kWzqwa3YfgjD5hvin~Ct=dhke9o}Amv|1w8Vta(TUuJ zy2VjrLy!(QZchl-%?WN^=9^WIQ&iRMvH??k&0aWo7M+qvdmsi?9CS)cmzqEu8#$j- z3gX8)pix6YJ*o|2`AyU)zw=BYO^1RTO$Zt~Yq0So=#?6m-y@iu%p#+esdNSJWlVLo zm^bQID7k&Ut`=G$b$g?B@q$6^o0y(Mn0+HPQ$Z+e=c1^Dg!0~TGl_`rk(vS0N3pRa zIPm-+d&3KyqFz&y75*_f;A@|rX{jW1bkSJtd1S=U8dT@2`I(t=GNTS2?WvW;h$PS) z**%4Xj!dIPxAk)rk$Tt#FAlDsMpk2RNiVxEk^)>mA*7c0;xbPZAm2{X1fK{94)U+?(KwS~SwBt@HK1hm@bNH#9l1U7aX3W3xe5=KGwW+`(YSZ8q}16)3NW zde`SJMXgIj?fOw5k^HTR%hs!IFQ9(BD>bRt0LmF4qrO!W)|BxSy|)UjsHJDkZAJ=e z=N26zF4IrJzW}0|+b@0f=*f5jdFa+B!8Yn}`;zum5GXW0=+kKiO%9oF+2ur3R6=ua%(g(yXk{Qq z*E0Oi#yxOO!AqW~Ffy8vW#q4}sQ(C$j_Ln8F}F6NnoT?~{+cd?SJK|jG5V_PV9S7v!Vb&&|Mimw1Sq`Z% zGN~o|rk6PqrM<&-Wp||5SFj{G=>cU@px#OEbz8*F#J*gtf1GYeiPu3y0GKlsUGCFn z>$!^HuV~g~xFu~~jp%vSf-}r?YL@ABeJUW3zhB>5Qhjp=V-}ok9^HGVl4JSkS7_4Q zhCg8TN@qL``~S`&d~)a7uDkdvCp)W4$D%h{&bK-`q{nr6JUehnoJOPS&1;D>Sfd^7 zr;%yhaQarm`lN4m%OZy!STg5h6=_vNu(CnfJq!csShO&(Nh)=KO$i@@$CHNNL2Z`E}r-Z`!QHSNJdJD(eIX zznD%=-+_+nbeW?{_tIc(g>|D|sR4U;tU$HhkNIMIqu4`Ou0jwzW8Wq)e`=QFtZQWi zS|ELYt*Nq7blDngV2dd!z8()f8S3$|GjkXv8~t~JQ-zC|TG+I&0IHKtlrx$F%CH(x zAWH97(JeB*0gs(rTjT3QbvkX8bazt`ZVR%rPb40;_U82o>*)?@4D5vUn&Wz?W zIM&c@`2paLRWr&!R7&74!z^sP-(=UyyQx&c0#{BtdO936bVg2)AmH55hm`>h5<0Yo z#7|ZQ8~47vrAzJODmJRBta$FE^0~;M!fLvp|0L-Ol_KP3MKqF9+I`(}qR(^N&%LW^ zzkNk#YTL+d`3*&@Jr5x13Rx=+74@ju4Bp2`RyAQ<(`=+aARTrO-E}s8_Lqy_v=hPq z;@=p1k*c+wP>_$G>hf@3A0D8-w?HpOWfz3z5E8$cI+PglWPf#oYtMnpb}-+95@c;i zxjGf;G{cPwdmZiaOVOZES5F2Wwd|esiI8zB(d~Fw`9b&v1WJ(W>5DYSrn&h1 z;-398pv+RduSB=2;jlRf#=h)6UtGOzpK`-BqIP=$kbhJQWg$x%vf+MQ_E0Rj@%_wpI|DOhLxy}=bb2gRdTMaX ze$>tEzR?{}zMEeCyjZeelx}E8J8ecxSrZNU}vxthBk80BOjq}#SHqUCJj)pbte6$M&l%@vG(`g#of&TGhIM> zR3e(+ttw?%K;&$4g^+K2Mh0{gC%HJwM^x34Js_|sVOQ2are-ZgA?fcvDVQ2Jtr{NU6m{JtsD!h zS;2vbv)YY@t;r;ZZb+)1fVTY6tLJKq1K2ELRbtK0J?C{vNPL1rJ*C?NiS5}g=OK8? z*4``6nKr$rxWkd`K#Fz2b{3G@(f)=WHx3BjtY+sV<`M2w?o#GK;DYtn{??QE8)~8? zB}P(0bgUwL4<1w%lp`l{avP3kwbR>l4E+aOTRe8ka*OflSWm@&{@n`zfn)Pr<7Omu zdDH>|#(YE|o%6dwv2T08eVQ&^gOsa3Ke7sNh2MS+7P5y<#*sKsL_>2t=^EuWX%3fu z_t{qBak+8Hj>k^rQ%&9mENscq@gH;w^^%U%A|!geyVgUPYvdgbr1w%ij?0`!(qhibTYl^R%jXjCi~E1jmCyvBtD)DD`w`WtOTN$9Pt6z&pPz1e zUFixG(zsNQ6-m$a!#ISS_sq_a#x+DthlZK|Hp19-GiI+~w}2&&lEw9H$SuE+o#jT8 zemQ*nY4=Wo^VCUr#}m+}7d6+h@c83jM$YXf``xDA>v#2x{a*IB$Y7g}Mk_C;dL4Pv z->-jY?6fB52VY_#M(MJSkI6W~ zCBb>z4tXOaa*nCAcXrBba5BeB+K<0S2Y9Z{A5}hfsGG4ZWC6#y;diS$D(U3Q^bmS9 z6mo}IzvuOblty~%;DgiXYIWxQ??G(Uq^VpQqg$o}1n*wYOni~<+uw7aOCPRo`2UGC z_WxZxScpN2fOj5@rJwEf%84O_U1DX94u(YhPe~!(q70RpTfk+awkFM!M$*L~GA-FR z>+?nnbsuSD)k^ASuXzKmgmG20chBUD5%1wiwgV$JXm^lQFr zf1(j50aUpCRdz^1-3CxR+Y3HHJtp&Zs5_+P)n^}U8P)gIz<>F`WMf3wlisLs*Sqqz zd3Vnns0ZFKJcEZwZKy5xH#J7$FT-xy&j4=A#uOZ+8 zg`TO$>DWU3iI9p|H+&Fsv9D1`cgNezO@)$0>L`!BSl%$aCF`;E8DWLl)9uI8!_D?D z+vMwKJDKi^lwSD)C=s&w6u*T--PpvYB=T78R4*IJ^u;ge{e~7PrSjX@n{o&JnMExN z(2}}gFQqJBNBqvlU^aRi@C;2A2wxB~oRZj`q?4Tmq*)m6WxF`*7e&a+DLyNnhilt{ zcpk&j{c*R#wTk^Sau`*0IYut9h$Q$2KG@P|Y4OcbNP_cTZ6@l`OT=6bb4lc64nMZ+GU%6V#4U>7w)=#mN_{P zb8a~;&Qd2VfTuZ{8563j*XmX$bI1aFwV+a8mTJ`$c@~OB1XAZ`ce8^9WtDZ~!!E^z zG^zO|iYa#;k5DFmoIJHA|79zyDSP--l2A1CPRitciYCTCNm{c+yaM-;S=g9O%G4cY zl|#Q2Fhfg&%|Y~4{dTT-8KS^exAOC}Wz36|>We#&QfLg5+V5%MQ870!3VY_$t&TCQ zcua0}r9uS%Gkm^|*}izoJ(OPU&Z@t_!|Gq&SqP&_`s%O_R)J-;7w+Tm%%umrBiU07 z$9E;hU6c6qTNGwjl1I;LvVd;T4F8JeFNGAJ(q9F(8LuE4yD|+ZaMfM|JGQ;am0G2T zz*Og|UAppcq<1nCi1x-D1g-z%`f(wn;m%kV*XD8(49jHA4__9*7s(AfTboLLN) z`XlI4MQ4B5Fw-q*OwSk3kr)Oe*q|f1?W1L@I5VIliwOJpx|G9EZ}t9!OVZ9NF1Jgh z(sys=;4_dFbC>p93p?)ph@z5`UTe&eLEOl#tAyjF3V)upr}~(38;N4m(pjQ^0_p9L z{Qbl*%nSvroHzUNH}^^3<`DmRPw(g(2gWAmYn9=0k!2R`-O=Il*5K$a*DxyM{#E(a zajHz#wW2_o3I7c|_`)}SvZv%JdU3#2qc;j=myj*`G{zW>W2U$N2;8`FqcdK$B+8}7 zfj(egO&Zaccw*Flx9lj{_Ch`4iF~^l`L9VQj4!&GJYXGeuvZALX?EPnehsl5k{Pfr zRsOwgg^AN6(vV1^Am(3vk0xZ|m6m|#hlK>CXXZsycJZg0pNk4#J1fYRv_2hKnUUKz zzOQ)pMQFK9y+^Nbz1WBIV1$cFh*=;zerhfW?4=fASJUW*y9ua(u=*wUUo97kf%Y+x zT(lD3^A|79Uv|F%H{G6$t_R-Sks z87vwF-k=%v#iSJl1e6grs;iAX58ED-iIQ8<>JPv_o!Va&7+DxAq}VfcULNT^DGhdC zA_y3p+xf0s_X^!Tk$BNPl;Gh|zx$ENKevC%iPe9Wk@u5KC2J8euBW+6@<7JyhY%Y~xafFM1?-ku&nEu=;=)vora)s||eFnw(=skXl_B>w5+4dNn5Cvwpx zobvo%E_$EHMXP8+U|`adUYX^G1`u$sO#em5QBiL!)BBZ}gRSoqHl9jghwp-?2-;@gac@9Fa?EGg)4^v)UYF39(9gt3O228nV>* zr?1&EJAuV=mDMEMjd{p(cuqZxDc z*>6&&Xe#$1Y^3Z~ItEOn+^>vtO!@5x9xrBe2O^iB>(J@DDP^||WZ=o%a)vAVPQsU| zXR0L(O4I2~ely-GWckA8eau*BnvS^Jbg;#H*enY#9nQzlh5%;OtwAbH-IZGzp!yZ+ z1{37UZBbBZisf3(<*ojon)-`W$E)xEY41`5b7u5sA-z~n=;LFL>tFQ>(Jd&DeR2CW zmYeERqjfq0MeFZBkl^C_cFUl_IkJ4nQx91Kq0| z>Ctx!SMA{7xtFi}qiKU|waISGd8{&DD6hi51|WSt8u$bRtg^q)Nj;#9-ZaS$%*kr_ z+g$g^=tnl^B{@;W!baB6K0WIReWHK++$X;4&JEDTUCsw^g)+I8OB&3?8wy&-*LwBV7gpp9VB zg+x^KmCx%0cdG0^*ENhs7?mqFTnCyQu~=3b4CSCfu`OSKRzfT0@eC)qTN|fR1PIWO zo|hciboO1@`6RTO;wD!*$y+H^DA$nO;G?pF!QuTJgXWV}^ZXHx6I0JYZbA=SI` z<^4e?i_~a140jQRi77~-Y_z1f;Wby5n|vI3@z<#o6zSRfa$v7;xjy0M?a*^ZSFo`! z!(So5y<=ctoy7mg+tvI~FzK-mtKUv%i#po5vdKa2bm^pgTSNL{Ole=nLT{1-suc?e zGHJe2zc+&gLo1LvySIgxE>v8@Gg`PUSivwjG8rAK+})a`SzblT@GENR_`Y!YLp53% z^X3*lbUDkdLK5t6GvDtC+=lKel5u>8dZG_aC`V|LH}&>S;B8e~z`crkJQX}3SP%rf z1lpM1nLlenc5Nm3#}`V8AAB<3=-)R1=CzUxgFJcjk_2Mr7o zod2YqWMxa1=JYim>n@x%^-sbYvAgISq!xkJ`b1yQHA5h6{JzQe)p-|(I~qh;+Z1ry zg>xx}NzPr6JX-o`HPRI`*yYOfC;Na$NnFC0Jy9GLgIu`l`$cfXT4~haN2M^nsIDg8 zF*e-R-J%7iYv~{y$~o9(4SY_(i0`MaN~>&&uQeB z1S^?HFE61s8VF5a6E%7gE2C?}ZkHgq*Ibbak*;+K2JIR_EMDJ?{qZ-55iH_)Rpv*y z@svFdW;xw*GS^BUMz!*+gyn9f!c+4rzDrEOEu$^lvL~$yV!cY4hYHdPqgG2H8rWrh zwxd;ZW2&L26zBObBSyd+P(#1pFz zrTAQ8*8E)tVMzOfHb^9DZtQ;{Vuxgd) zTzy0`kcS045skUY_9e2eXg!4b(wd91H0COk9k9vXVyh<;c(ze?EmC>IHo1Ta+qmdZ zDZKW{un5y~xvFw^nKB&>&kEjsDtdqF>>0S{K*uX-Z#*r4vO`#zjq$6pUW)H22S^pO z-MiPnZ*Bb|FM5FQyfWivC}gguy^&tt-778Sx%L5gcp!pTpm`EX>~3_lvhfJ}@pS5}sqEeIZgs?&u}8@g z6YXB6@5T&6Vwpm1gTi(AsMR^H3vyEdLFW($dF znDS|10fccgA72#P!cEo3>4&ASTV{@KKW%qaQ{8+9u2aS)jG0%je!Yh% zsfm<+FEcSbC`k4c=N;iy7m;}#2r1;Q8!XWW+8A&hE~d6^HQ7)e+onWYvvmPIH#>{Q znhmDtOg#@1(xy&`su0lNj|@7^>WlscyrMy$3E<~{!=SfJuv&5#M&(UOu==jq9L`nr zp+JRdlE>cytwz7GCvO}Z(y=`2umDdr?l%SX?2oV!Qx(n~(*bDr@|L%a1Xhoyzcl0L zlFb+@QCU-+Ygw3`cL_IiAyp%3lP2zC1|L~H^8ja2?01OhA59$jQNsfvg!kUE^N|gg zWYP~=&>%w0R{~)B1$s-hm1}i=eM1(jiBD2vY$Sn@HHrbXj}kDyB3p7)6~8>UmV3xI@UBJR|hn zQOrkAx4l6*%j_)u4y2$SOn|ca9+>9(&0te|d!_i^6O65eE5LpK(72*oFgH<2-KT^N zcCG}7XDxWzO4>$fUbr3T6ING%Q^2LxsZY^kZxWUl&CU}|+hBF|+9{*d;{L~pu8y~T z_iX9FNwJAM7&G?|hrTn9_`9AnUH4v|$BY)Dp*4_FtbnIxYGWe2hL%Eh_?XrCdtOB# z#U>5SdT}U`fr|=>8@dgOYl)uHP}7tkAlOAF%OWxzn?Yo(T(Azi^fCy&E!fcdH~DQX zM64cSqJBqz?u~z{2!MZ{5Zd??V7b&Wx7#q4wd#|FJ6$oX;MC-7lpHarW;pNF1v9J` zmG511U=qQ8H?TxuWe#EMqz3hH1mowT){Cfx_?OnA_#it`gO$|67mQs!6mcvC{z3FstRF9Im5{A=QDk(zd>Tr$OjUQvy_ngki8U z)H?=|a?{6Fzcjbj8!%ZYWN{X>a9xCuIW<4b-W#=mGBU`v6)K7W z%Cond#h~cU33|EMV}bf-?R)Ckb`v}{%{zLMgw}LjT~vwkftE;XbPBho+}3-U(;n4@ z*YMX*#e$W9pnvHEokX9!y{xdS5dIJijDhR@e|9#kW-@(A=XB{``ZAye7W$969uzulEX; z?7nd&8W>ZlL84oRfo8>?W3JD>LBdVq;<$oX{ED{!`29&En~zOG_B_u-{1CkDYtv6{ zXqeI~C%V^`iz3v$c_Dmave=Os7I%YJmm($13J8#h?v-cPh&5oJ+>_e)0Va{(5Omm^ zZ}a^f`D3!;*6m_I3Dht4Us{U*dMm0m5l)pC2T#4b-E<$N+4pah?zzu$rTUqs_^xws zO)=)C@-1HM`Lc6NWiby38E$)&NN6SKkR#3nMjj!>C@z@n-pj~&$vLZ{Hs`GrDsT6s zPccrfPD0OAPAN!W!*0VVmT3T1-UD_e~H#E2EDtv-e%6IiOKf zrja%-0i^gAbzPxc3OB3@?(#;%E_Ok@%JU`^d{Jt5#|6=w1DC79&;reIN2ew&$&YNA zUusvLOBf1d7Hoch?8kho`TNp~;lnC1rLv+OTC2BI0P%uO9tmC@H1HrD8q$=rt0Ke0 z(l;J^d&A7Ce(zN7Pkk*a;#+)y$X+Ud+B>81ANntVCs_Mh^b!1fwYh9ng^iPJd(BA4HgY}^hC8~?&VRgCHpcl-y!~Q(qDO;Nu0Hv%-a}Z) z2*o9z*f)A2JML!;W~>nM3M>JycOq9x7KaUJ_2)k_3S)Nq(pWzjQdY-4?#@p`U4M}A zWlRqrD0WHE_2YAvhYQ9-lV#dV6|5}g3wUn&WO%?r{qGV&@ptz%iya*td7tdIb$>;; zV}Sp_m5@+y;}7y*=v{BqG!rdootv;YjB;D~7Qk z12+uxn>MULVagqt*?|J>%2S$#b!_+iABAe_Ubj{J{wKM58g;4uubc!)_a(K_^g{z; zIic2}GWK4I`YfQ8N$J_o46JchsMCm8 zM4~>ZujGhdvv>5&2Lw`M7`psO`opWQ#r~`Lr(&5`%ucfsLfzU=I7ULc@Iav1!?@9f zh)ac%TBy@Tm)$E>_TdzQTfEL6_rUXStyhMtL6-j@)QYIakIy;$^||oe#vA%Y$xeIZ z=%x9`%!LL6Eqx5B-ak6iD^gh9dOl}7E=^Z~czfYT7>dSR*L*Dm8lN{2a|>dxNi8Jo z`69?DS?oib)?YQzQn^q1Rjf5n#YPS})GUj8Zk*5+M``tZ!m_C$Zi^c3=1~d6viToz ztR?&kVdY@V0d3lWW*gw52QD*DxU3~aSh}mi-Ej2BX6oi#XqvAt)O19rn7ZR zsJPxl8exY}#EGb#Z`iKB=p(n+;rke*mEwm!6oH~|^Exc`NJwR_0Agq5-iOm{7QNkKBX@5~Ue1RI2Hk5_=Wk@zWinDJxgeM$Lib8ez zMh0A6!|nrDHuNwaaB^`Og+RMGql; z>uqP_C+9u*11@9=gA%54|w`t95lUS5{KMH8P zv9h5HJdqUhT0yAaCUnmB5sz3vxl3$pR{_m;oS14;!fW`J9(lQV^THw{iK0}nZ^SJu06fQAiE|DUe-o>qiGturZ2$%a6s>YAYw~9O>sS zsekz3+|u&1DBweKDERIU0S$OiB8l;ZC8G@(bKFO6gq35;^6d4zK?2dpK~YWA!8quD zHBQ^1;RE0A23}C)6%tR}y#nhSS@cfvlW-U-$hLSf@@~qEQ#F>42Ft>fc7R=to=+jL z(so&tzNe5|ZFxj&);?)s^DVz%GRf}Ya_q*oDKBx{S`H|- zqb4fqkWgJj#-YPBhlRjbAiHQ~Rv^|9cN$AC^(iJgfVl1Mgb@v4t&tzK&kbS2#BM`U zX(RJj0W*C8(0tovs*$n-u>O6XI<6CkA2VycdS$%)is)|%kizN%y^4wD!C8viIghPu z#)46Fm*h`(3g`4dUF9YYvhgjWcb*Vc%YgU9wjAjWY%%A35k5sfYLHG)22S0I?_m#} zKiw9eyEDY8Rt0`DVm_pSkd6<^9?M~WZvfJ+(A}Bumkm&nc7AV9HQsDx-~z}|K_Z^$ z!oe~N2k0G@Oz~y$%-DKVTRhLY^0IW3j;XuzGmctyW z2W$5~Z9AI-idV{6Qz+!rXiFZq87`5zQYsN2VsIZ%jCOBk{i?{a>w?EfQd2c0N*&U?xdW=MFgGEe6MQ_vA;7w-y z!}9&6z}4#^gv}raRr^Pjq%4f}HCbC5LSD0t`$zJOzB8V>EIXw^te#JRR^#6dAb|hy zG_`U2LP*96_KymD$eZ0YV)A8~#pA0aijNaTA7|yg9X+{z<7Juq+5_>ck6-+A@#(8? z3@z_S2fb^i~j;`IUhr_E}$ZYc?!5|9ng4HA;87f7x?bh~u1zCtMt z7HfX>S6B7i`^)r8o9(cS+RyY{gTwjSEVq-%Hir{ALSn45gKzeX2)stgLv5}LF0tpo z%={=y_~{gns(x`wB__tblM2K2pl)-okknea@X zFG=C?`(NS7C!pVrHil1Goqphl=b!U46%9msts?QFj(;veP!ASUe2!nQ_$;>>HeJ$C z^x#p+P#3U@%;mD_k6^a$M#G*D07X~*^+Vn47gg?Kg9Y(3SF@F1?mKy_Hai_NE9nZY z`k9%3=rv^*fh%|aaoP#yI@#GSeg6J-m6I9lg-!cXd=YRLsLe!FrgmcvJlA+z5m8s~ z!&L&gyQ@F(k zz!4?Lli3Wvp>2P+&*s+Pk?e;Z6x(6L!{ED_*MiDRY%CwXgoRzf)v8}t_IE3>kI5^i z(Z6jZZ*Z@@i!a3Y%eSi>N@b2{PdCDkkL>=JEasCo%ezbAM@CJX?*5-Gxg#H$WaBtP zI1C;rs{eGT`3zVX({3}7zxCe7Yu|kFvb(_O^274A?!FNPY^5g^O>K#flbYC1Yi~vz z2utpu<{dQY>Hg7h;x+Gp)ev;Jzjw+RH?f0rD6F)ocwYt%>$dJY+(KZoUAVkv%YrIb z-KyBBP;k6yQ^c3Apx&4X_cP0*1>8om_(08o&CWp3#^}6>kBxg*pWut$gxy91P$Px! z-v7hbTR=tGec_{iiUJ}a-Jo=rbfe_Z-5}E4EntAu0MgRkIi$1_Lw9#cmvj&J9pL-@ zzyG>--L+V=*32yB<(#wke)hAUeRdaP{l1IGc(dj)mG|w9LIeKxGt6{1@h+A0H9@yI ziJQx5Cx`LVnx5udFPc~qPCU;e62>Ps)LBFtw4_{`4N0C&*dMr zXf6<_hv2rfwD4qrUifRZZcH99avdKPw*O?4f*awZe{NrXVjUOO9ioT-lTW|8FJCpPO9`e zp2YB6ozpNk+f#qeP(2)Dc9y}wyf2#G0QMl5YGBF|zff=?n`-bNlJoW@CFy2LuSgtC zCki;r-q@hE_<@CD^iIY`P>P#zr%D1k^yExFqZS31o@(~SD35zTw|*HVw9|E1etPdejA*ImoT zEw_jibE~Km_JL0iuU(bcjV%5!T3G^yF_a#N-YBPW))ae6#*?SY&8O^Jf6ebYoV-(R zk@@E5yu_ip6kW)i6gG&{W&slQ>;-WNDW7${zAK&J=?3L)1KWq4dPWYLzAq|vkwfwG z8bqql_s+88C`K$z8;?CtHxI2!rG9+uYA4~X>&M<5rpJWV8EG~9=p}IH>f*oOnVGrr zxGFZX82kmB#$WegPX$ylRJ)Tuovv(F%m=G(Dn~wJLxTf>u`x6C3{UES5|a7UL{Alj zz)dLSMu^i|(SW}g4|;hd$T@uuJv*i1eHO22bmWw`gj8l*C<9iVDOK zkKUjsz_Z36lC@^zB(O=>&`*>g>phq18?T1iv8>d@$FH!TuI{>}yl9d!JMx1(2>_=7 zty3};XwtY}E)Cn2algeew0fNohyikMnu=!bj(LIL5;Cqf!xxSjU=6zYCU2UX%PSBS z-}ZuaNDr^kp=zE*EUP;CjQ)IMjRXEP#6jSScY14VB6`4!aCacsny_kVgpez(uw+XV z=(Bl+!P4Wk!My1YiAnZynJ7891fMoFmGB!DX&JEtVk5@yH*4D}`QG(hmpy~0A?~Z+ zZn>8DRG-l-FrOS{_E_kwJ{R(4_{p?$G z+aU1`j%RDdiF6S(EWj+8{;1xD7q#rU47c`VG+dWk7Z)DUeM3fASXiBwsO#ig=9C|b z`iJ~jUUQHqj9)jVNQ9<{Xw^<#ni8M(VM0Nz%RCp0H)r2@1b@n~2f;R06h;cvd@b8a z7dC!cP*{S&bTYgNx~hi!(r{}#jq%7SaU1e6SMoJ0AA%i|KkSGg|Ar! z|NeTC@Wk4}f=(`;-JjHRBmI+bs_Ap1)fvw}fritZ(qh@duxlL*r{Fx5NW!Ysp#ZX1 z5Pr%=7Uu6^A0p*Ixk58)_kGXf_v$)uJ%)8&XAi}Gm!hkg^{jzd?fxV|30N3M4hRh^$Hd8# z-__Q>=-vrT_St)yyjyVo;VbB!M2B%B>$v-FbE&S}3eBv^L^JFcz8*KeKLomd6v~}D z!oS})YVd6i#;V_7DZug}J4fWXQRqOJm{)AxKuM&MKsp|jkoTu$>zIeze!kM*_aDPU zmr;zGAWc3mpl-S>;FEyHz3r=PGX7Kec}WB2s?ROM6g zPh)tTzjwTy7H4p>nE0ndAfP3N=l6)vXk~Sbyd9=!6{ZKQ{X3cbNp2Zaq`Gzz3t+~S7 zSd%1Sb{TxDwV%D0{ZS!%!&3r=JK1r1(!9JSnGj~!7ra0agy|)fcgSBYgh5kZyWp1& zuUJ~%oaQLGI_V7OvIX_QHjEU8QUtGd$^~#N0ch$%g`k0GqPr-?gJQ=?0GOp8Bq9Q% z+YYDveM}*xQ#){hk?T=_r(x01DO(eN$+U~>yvn@t1dn84IKI{RkKSt{TBER_pd5Z% zG6fAiEg=o2^-$>_zNb@f6D|*lq7&oHdZBE0u{;@Wn?8u2(C!bQEEQmz`8-4TcTpR_ zZNMy6sCxL7pVF7R*pGnsS%g1cgA#0`p35b8zBq?XfRis4fMcfP;F_nFi%Ufboq8Xv z7~>BK>k9fZ22p%!Hd*^6xxa^zya{z_lSBHM8_L1(cNGDyRbf3Jq>dQ1@=^M7lhW|P zznY$_?HZd^HS@efIhET#da~Ip!24;jzS?KZdew=(y=yqhzpWTvhknNHUyQ zK2uV!R6n-7ZzV|G;n94xH)3f*<5!qoeTt|4RPr;ljl!4_6eE6pd*;T!x*lzleLB^{ zi|G_q{t0;`yFhVn!W7nN$gmv>mEb8=qs*)-G`03bYq<<|Pdr2akVuIHt)ngBN6Hej2H(#OA#R-J+ zvzu_|vs+SUr6}{+$svv;yiuhnp@d?w>jTyAb+^C%p{J);PpB8CkniJ~_IEy@!khQIJa{5^RC;{mYg(2osKN_k;vq>_I%JuQR zeqXE)hYZBcC}DPKkYCn;1nbnL$nwwa%<0zNL6_jYHQ!XPd~J35%&z43CaQ1y*qgz;JGw)$csT>X5v$N z3(R=itXWW}i_;iunLL~K&xfXeIcX%o!;_5DosHPtLCIrcsf>=?x#m0j>w-$^`DAr{}@<-u0kAEz&Sm?%;h+egR8r=427%W~z(+a)OW7{IKb3#ec2aLK40iTDD$ z1N<~$0Dzy{Cl3|=2EJjDkNhBGht-CI_wWCqerZnQMb(v6D)wD4 z;?U8_f=Y7rVtt`%w8@5u@2Ch3n*_^+e4_e8Ef}Pp$F$N3dF_b$kr)?4=88RRa3g|y zD92_-A=+*B2jJIFUy_kY?#@(Y>uVTDIqM5eaV3PQ=7 zh+Q2!+3eHZ8B3RA`I>3z`F!vjKOTPHdh2wqO>Jf6x226RuD)d{rSejR@?Z#qp>>6+ zocY?-s&#O1@J5FGoOH$~H7=%G&xmr%a_#+cTa755D~kK%3!Y4U;{Vshd~eajXzfqt zkE?Ur-#f--)++bAJl=eFak1K;E01z{kQLve35kpScz{erLqkUa+gx987fp%VsPL$W zUg_ZY|Ljq9x(g)}WbxyR@q5HNzy&{TPKBWjmP#QWnS zh43jl^lZ|gMRQ3J=hV|=p2h6!**e^nznVn;W$WM@Ab!5~W6uMA2&m2e>_u(3Mrpbr~6`yBzi5?4c*DUI4wRl78HUT%~DY7wji`M zm-`WeEOYk|nmDqVd}hjboSUM_>Wele%aXbuZ$Be=yluxYW_=Glzzd(D`(ieK8&o1# z)eWl4ub>x9jeSPeJv?!g7wmDWii&C2#lic1+MFYs*0^6!w?}$x4T%YU9kDdMtyuq< z0TzelgB4W@Rf9-Yyk4uFJXSDLfqL{;ZNoA#DD1|A33e6SS~N46n4Mz7?MG)*eJ<6k z6y`4Mp);eE(nbIY(F?+@iZmu3=~nX{{He1y+O2My%ia(=kerfupC~Y(VNRV_enZ7M za80!;QTL%4j&q^mn22i?f+LL|(yu0MaNm^T*gQ}Ssetc*nSn_k!s@FHBw!k~a}B~1 zxa$GZxn~HEca8Tz_zY-6>keWgM3Sfsc$fasN(lUlAdjjmV{upQkQg#GAAInz@ z;Y;%2LtUa3Sz5x-)~JqfNEGlnAd7e%@J&0YCDUR&z-glv&mgnm<9dI+DT`pE=@lOAiBvx7k1YnO62hjYz?S5zAPM2 z33xLwSbmIQMAgz07b2X=qlZuiS=k3BE#HoIZ@cX^?=yqUXrijN$4Ba1h@^;NC@3f~ zdeqhvdH~#)~D&h1@eelv>T!U;ia^R z0W6-=iI3A_R*IL@tB2$mD1BD9Rtz*3AsJM)G>kOq5qWO+#Z{?T!L(#Dq2P%yh6*F+ ztk`x3%EJ)0$KNaIhU|nc+^K=VJ(hZ^*h(r48>W)vnT%JCLjL|Sl9P2SB|*n43e7yD zk?R(hI;E4ybfG{JRze2ip5sw2yn^RF+jh}20@@N(u5ieL0zj5|Y2BT?Y?(C`YgrHD zbYQTtoK{{ZkARl_<`dkZ@lp+qp63#V)`{axa7Qx&r5%VCNL?{wOf2*d;C_C+?9!`>ZU29nnA~? z(ttPjo~(FI3f_kZ`$J%56W$)pe*AaIu`2f+G0FxIqgUZ^^datqI+r$9uMeiv&@5Kh z9$z|y$~mupw^&9_QBDghrpUATYLEC&(T1UdOqF7zamZKu@ouYJYH=N@YMkr>TxhpI zmxhc`g^p&0N*n_xhLQNn*gDbEPcU348WG=jXgGsG+G@D)ZB8O|K8Gx_dZA3zJK@ch zV9I5ApC1k$UKFE#fkD{_qhS%iJNO_HHe*$x{7EjrhB7Zo)vNFCpZy`e{BIF;AYWVGU>hkvC*R#?!c4MLWJ5iL(k6Gsy-}moA4C3WLj32D~=y z_*3V=QAndn`6$m|bq81w^=IPteimQX_-PpUhRomos!od=f3@Ga@Y$|O`OLMSdC;>M2qB(Tmx=Av=me=3uI z;iXe8lk#!8VhX|+fv(5~-ZxBoK3Zn0?#oZmMU-c)*r4?vmEffs2_2YRTFNN+k)hgzKM}(ki^^SCSb_L4W`L`uqZ>4-1FsAF&jl z?;#fZ4Y_`QLFcs6S2I1u>F9Hqb+z#vcB-y|u~1_x=&9mbEw*sTL_pzUYD}E*`JL@6 ztzN0rZ!btiYUY(mQ6&!nM8xM}X))wMWnc}^v2vdJRoG&C zp=vvZ-E=DLj!{wP^W6CDwb{*3XR#7_X4or-Rq2pNphD{LiFtooTu`<8H!V2kGt;?s z_36iM2#+8-i4b(pC%E|fx0l^CvUhfo5$cBm)Fr` zW>oaYlhkg2hrx)-O4i^ZKSU%Z&`Moi{;-)Dzt1CfID}$!^DkUVZPBdQajBSRx$*ve z7rj;S?tEB2z*3a!x5HMbE-g^9f3xd%9bJWrt1kacdCH_2BctOQdt0*agV414Eg)df z-=;;2m}u$MC)A3URrxmASw9Z<39D+5WN4{6HmLPSU$j;i_(O&phtODktTqB@GX%Ay z%t(9f(W zGF9S0x9!IeMWsrGFw8H-H~k|ss4s70rnlFD;ELUcrobrDM(w##cJs{M&p030D)-db zumvj7;0yg7$+mBn?ENP|xrXlXEDC?hfRa2BU5l;RN(37iU&zn4$s(GMnEkn&$r6dy zCrKbq+bwyN9v*Ia*wsMK-cDl>xek8Eh&FsFPdFu|wc>Jzp(ckiOLB)O0%YERJfqut zQM5*_Wr0?n3>s3e&b>-~d(n2qM->lw6+ewz4fkM+bf4eXXbCi; zMc)@1kk9}^=UIpMFWLual?DPlpicJBA%Z)~=a=-`2ZtBB#hE637M5!sR^;>+w~)u0 zk`l`B$Kh-e#QL=2uXr;{%c!rH*5^68#7ZB+(Nam4#&hhkHS?BBV{GX2TX=aDSwFi7>@ZJrG^OQD zC7qRaG{7HaTo?B5T>t?vw*i}I{mgIUqX88{IdS?vdi=3cQWa*6R_juYm*K*-y+oA` zE2gX3Ot>g|GtKCsMBEZs+iR<s&ph-12$-J8+;rmd|F0+_67ETrI@ zL#P!CpKjN<&5Xt3A_m&}YTGBDi9tO#`N2am*^ALPEW>VqP+l^eRHZ+pV)drMJ(Q6& zi+ZJ|X2?~sN1A{6WxeHC>L@TuMSs5PP0*7^aWZwno7JA+pgxJ9#;yTa67)x_0YLq$mmqp>3btX>LJ z(VE>Zs_0joN4Ai$bJI}AXZSFVKJOisz-?FHDn2|RS+PC@ugU_8R_1i$F$&yeS$_s% z0xIy`yuOXO5=0Bd3-mr$CEJ`|@OOQEpXgk!)OXdr5(!{3^F#-jLhi4);eCiu(*vL*WX6wPA=!guAr6Rb4 zgP>HXokRRP_w~m3lu>ed|@~eY2qdL#*o(*F( zxmjZB=;6K^mJEpz$YdQqX9N*II$}T8%0g@?$XjCEl8HO#JtI}1m)nm_Koi0AD zh>@kl>Q~8i>6j$R!6pvHj^db0T+x)4I|0O^Cf!&Abh}fa*jp=!HcgA&sodPbc03nG zyB}w5(kIQRL{s@0KuxGtNF|AwlD-chl}~avFU-g^)Pt+}yAUM~3KI4iF^m3mWu1BL zH!Qtek|@r#y}h&cIYWqVgvzZD5${1h@S2PE`MujXQe__|lA*P% z>7#$h9?t}|b8dTbkqSPR6tuH=ZoyzU4b+ICqD`kdaTz~TH_+*1gA?Bw0 z^(32iZOy{Pr<}%<5?4lka#of>9t&tU5rN(lu?nv-SdI0Z#Jhk{bzBd%fiBnI z*SxAxczj&cS}#r``!y6_H$R!D23WZx11+s7N|Y`s$9DNc+u9Rb69?@nU^ijTG~gK8 z90T8~!LYA?wR(n9Oyo;#633%^ouKUBS_9anfoo3LfqHR6VeQ21tZr~{*s_+%RkO#! z?O&{r7&2AAZp-@eljxd*+BX0YW~zW1Ll;CaCP8h+M$^r=pU5R*KW3(Ws%R#IUh+JH zdnDhNKn~qbHUZ|kFW6s80uJmJBHr_0O)o0}2ZlPW^Y!yRn}@&#FBd?G@^ zwM*Ns^(&Pq>ur+5)Nw+&gfvc)M zt3>^a^88p`Tl|oZTTobdcus3Q->%m0ozB?h=Bwn^(J$8=!CpcMGsU|X+c!0md_%kN zmsAfW7u-=Kd2S{&RrzDh$OjKR=WiOjGP>gT<50dOBWq_jAql5?I6hBy z)qbMUXR)5G2eCUIGNBxKK{UGYV@DRB!P}*AN4ai)oPX}ETUd6D1 z7b}WUyAO%m5k8?nUNi2lgs&XA{ZG4PSVPF=0CK(IlZ#f zZ`g8S>LD^LQjPUuyGRdm9rCD>@Q@V4t|`9}45Z+4S?<)hKl#FdBU=0opt9uL&yD8iugeD`Ew@y!x&G{6d*z@!F6C$!Dk?uSo1*F`u+}wa2mDS{uPQ{( z@vi4pGi#ab?rnrMIdaZ9tb40=hL90O<-!U7H+RyY6}vRuT*gly0Yz8R^o=JPd0p&+ z(ERQDSX>vK)bKk=)?aRTW_s;?V@`G_1p1{5WTpu{Sj7*8E|IENj|{D=e#+rf-esmD z-!YJY9_}}W*0hq!-ag%81u8XRB*lsm1?5;0p2dXGNs-1qM#5q23jUDgUxv+jC3;t` zh-fBi`{*6dh=W1zzC|sEDdmU(Cke|YI!4)ClhR+JZJ2?jQMOdpE6%^^G>i_Y>1Jz4 zvpcwxgs^P0=>)wkpvDllU1*B(x!85{jOtJtqVJny-hcb#(jc?Qv#2`VmfLn(_DJX= z371i~i04h-da_OX(q-N2Cpd_3=>|GJeD%a%sJ4)5pNmaTWCBHw=z_KXo2vQWBXiT@QJyFfcFM^&X!@Oti7EY-^uGUqsy_}T<47AJD&CzZczFz!%vl&dP=Yey=Q}2k0 zp-FsYkZ{Q-i8^l_7x3hNDWgjGgEPsuG_(dr@0d@On~atjwt@t~z-1J<0E8P}>q}%% z8<=PT+(~fe(Y1o<6spa}-=WF~JSukT%y&mafMoazXX2-Gr}}n?Q_dtOrcwnU2HUbQ zVF;lN>U0@eF5PH6GgDTISRrSJ`m`^pS@xYtCs}FDpqzCNeKwh2{u8Hd!Z59(96H_QaP>TRAKYNv-Nn?jL z$Wm3$4?_PALs;KIoLf9C=_Og|TA(+}V14{T_j5U5aEL}^tg02gt!j2asv3#i*(#2cf z_&E#`#UXu~#0)68TPj(cewdkW^}@InTQpt3ADmt^RI}Xf`KH^7YU=DoP)JJS{{0BF z5y#kRRE5=X`h=(fC+sqAe+TC6rIIS7;pD7y_4Ms3(f+!DPwte{8n4)bYDbAJRf5sJ zzQ!=Eei;>Kwt#0&;3Oatm9KZ*cleRY=98Fj(=|TfaIwv=AS|J98v3~Xh|e_#30HgG zX~JeSTZX2dH#fQ7mBC3ql|@t4aK!YZ9q12SLzmW5@9L_#s7@YlJ6|4(>jUwlCmhf+ zOBSt>!gB&oVc7FxFXW`9)rt8`yrPr2Pa&Ph zfXcZl5oDt>wW*=5KHr13QEpk$964(cFCZr^PwjxY&>FUBdQ1~Wf+?y_J$JS@H-O>h z#;XUJ8rjBtT{@e3e9RG6mnc_1#r9`#Nwx-SzJEH_i)pu$Q>R#+s_wui%#U$^@2;)| z*C{+gLV8H5lw(>n9X=&gX-EJhUE36Z=^m zp6txkD_|^N9`3T7Mpee7=zm@2W#28)^O7PiZ~xrL-o;2%$?mkeBBO^aO&vEw(ZnK8l`9?%i?)${l{jJ;#p#^n7wWPJdJns z_)KjO31A5WsF8$T#m-u2oc;?7m@#&WZI*Hg9lSX>sTzqojnSw%7afUHFN*q z_V!;=cX;Re^a?gQ;OotDMKY$J9&rXKy&la8i)qn9DpbJKBvbeVDG^F026&ZI6krua+;P>ZzNM%IQr5kRLr{U%mhY#q5T24OS) zJTB;UdSTq0z+2L-AJE*>lcbV4La6*f`3w6xWeB(0c=elYuQz;r34~mE3esIc!HtYg z?_)?p0^_&Kis>h)P{uuvb~fVcF`)$}l*{>n4(&NOiMoDKFwmh+7$cODtD?82yOEyh z#0O1Y_$DzH)f-;y(x7;Qu}evsSiY|u=% z5I;ur;UZHyZn+rM;LWYqr?o@+0Z>Xwb+aF&j=AiAbtYgF?Sru%N=<5XV4JZ5945WG z=yqe5Mo)UT{du{$I+skB?Qsvag+vg|SJv^wZHeT?*RRk9fNP$e2`(fh=!a@4%fSi2 zNF;EIhi!o;zO#-4Uu+=c7Lqoq=DC(H853w^32Ve6Q_eul@0h%oR06#b5|3O%uK2Yh zSh+&{Aye{x5dJqZ=0~EE@I%zj;pQ>MxVOC1O*m1dT=OP_mb}+zoRW*&Z+fCa*-sST zYLyoc1FHQZ!g#Fut2lmP7@`i~W)_fCDZwYjE~9rD8}PwC&=u9UJg1h9dyl5l;ED>` z!wtNLZFns8sAcj|i{!+85;qnrl9t??jBNByGwrgwB8s=g1l6mAkBpI7prqT~F!3otFhJVkGjt)Jl7D=#4 zN##*_4vRS%lZu9rIj%Bmj|Ytuj?#8W6kmZ)uKP3Yf!>|x`1HvQ;R`U{V-S#-AsbN@ zEGODENpsKIe|6(N6f52w$sLj7p39n)72^D3Xo6%Uh~WPr2g`h>n)76PB!o}T@%63z zOK}CEo5$XlQ;!3DCZq+@AzFlvU|updept=%*BEo+tExm z>$t6Vygz+{*2;g|;Iz?>m+~j|wY9Jq_JJK`V+lc?*cTUCFxEqwYae;1JeE+W1^1a5 zTBon<1jra#Q==GZAjsp-H2C1_xq4>3GuA{hniEFseEM0%9|!}v-N{fF_{NKzki+fb zBqM0({v3$lhnU^VF#r*`DBLE#aFfKnxU-4HHxC&!bz9qTB8zaom`W8^VtHVd)=`eC zs%qzlarR(vusS(ZT^(OXS6TMzj3ldAr&@V!Nj6L*Q9>?}JH4_Jd-=SW#t(v%ugmat z9`|c?R%Kw5_91Ft@)2E#qf8zP|6l#FTpARk74y|@PUqGQ2+%TVJi+P*apkcGjN^Yl zi--^Mv+M#th=#7i)4o*URG<~;V_lE9xcF$jo1J!pJ49jEU7MgqQ$adCX$ql#%l=v8 zWw%oTkLolqAI$P{w??hfXk9)yEG!4O7iEaE(Tl!CtLkx3_gKXb*D|$SG)paul)2JTQTu6+RV)8!7otcCkK*}I1ZmJFz%Ww7oc!{uOBAqz zs1>1QdbqP%G^POdsHY1`G;yavrQruU6%PeTYRy3<&l)-MP^+>AB#rgK2>&vljS0FFNk`b z?XBdo7+D--P;qPyUFEypJgYRB(chZzrNt@R&`5m+9vk^}SERiU$e%t5|Jxl|@DiGn zlQRt5sJ;OdJJ?roOSP+lfmsv3hbYkFhg0e$fWJ%<(E~*I;3^ogZBVb6Njl|D+_*L}o!N-$*j8k-EKAaM#Z5WqT~f*1xQ z=2)LttLqj-!FP$GygVFkB_)kIsKL*q{UPQj*3&xupH)b$VQ2_#){NUVWZWHkY@x4gg*)+a4pW97^-CRJ3GR%fIM zm)C{It--0$F|C=)A1vBB4J(5)yE&}JqoK3zPqc~+X9Jq#ywa^aj!OFD;=bz#J*^#{ z&N(5nICn9k<>d5FNxbA>N@@ zj*HuAoY?cEswOWhtIeiX#H@S44|d}@LK{X(gh#aP$m4NwaeR(7Fg#q^G8;9oDs zen)%Q0$z-XHgo5Ta)5*@8C`lPB5`v#yAx=mk;RD^ArB4p$H%uhru|k}qU)TY_U61T zAUJlx)O=K^z9jjZBVYwCk~mgiruCmBK5MwsSZ~xcGe`=4PlUG9w!bJ3K$YhtI3v-J{bcBa9dMlSl zBBaW3>d%H^$%?1QOK6?xSK^m>VF*C5+&nBvu1YsEF}c&vgxxFgf&Ke@hv{DZNK?4C zxqY~bN|1l_zF_s}vn5c{nzZ!VX0^Zj{_`Wu2kK`1s6Qvsj`X)`+kvQYS+$KLh`hb6 zP0`x=g)~A|ULLJDK2Zz#xH3OZp|<4Hp4wS4QPFfDCwJca7{<QTpj9&3-f~)DJ>o~smkrW}DCjyB; z!n+A{BI%j4oeC?Q7EOL)p1VfX2e0w>$wRKP3`mdLKcoZ029?7}1+VSRf?^r9-fHN% z#28Q*zs28<(+QBc=e_S8+zX(7f&U2~jRBse#||BQ>QFe^>CvTYzf6}6P_VN3F@#rEyoFenlI3<#cJ0&c2vygbijs`ed5SGSOt>I)*SA5i(9 z5d+c-mbb%^O4fzdwlg52*Tdi5Eql(^j4m{}AfncudOl}j%EV;0L#`O^Td~VZpFmH4 zBI#(+=E6OA+V~R6_o@x~VRi3Tx*5>k-3hs1n9$%G*7v_2B?x*|8|;^gh2EU6gxk1= zlX(JGg0499e*wWKKxTy|wIdGz+CCG*9X6Vl$rX?6N=r$Ip3c^99Rm{wKhOAuzrF?W zn4md6F%`$6Oj@qj^nTN$)#c}74rtV2;*}79n+>J-#yT#A(DC5-?(mE$0QeKzcecg7 z?mvaW`=5L-GF%>>8wmuL%dFb`PP^aiFG&x6iAA77aL#i(RJMOUJ{|nD1eIufJr6Rp zs){q0->1~#Q0!FoLoP{MRaMNcK_FBp{w8P{Tc1`YStfQks<`xu`X;<&%iABzuxL8g z`XubtsnKZM@aa42mRa&J5dYexL#0`Vd^ZbyPTq!j0?&nh-Enz;<*gzvDgg)hltidV zEs8`8T-Eyde`FrKE+Y)oW&T}XF6+tfLVyec7_E~`wrA-P<$HaA=(0bb%+AizW;q ztTVGLgCOjgd_8O`3I5;@nLL=*JqhX{utRT1Z-A!|L~n_q!n~4?oWRevsWn?rcQr`6WMHWKPSE zgyIqs<@Rdjyr9BPZQi=V>r^YlqT>AW;SZOvda})_j+E@>Yw~XT&dl;*W$`t7Au`Cp z0f!rmF<1etG0pMZ$)>oo*-}AS23APxpsJ1A@y-6vWNOouKdIMW2YNcj98WogOgw$> zSj?zMi;kvNXPahGXGZRU5;h>X*)RTI0Ra6WO9>J7gW!hv@6~NHd;W=#q!kdDMR%)e z=%SDe8$6jXP(ZI}L&)y7Hv(b$TzyzfMu1J)UGwvA(c1 z!id?Lcp^A7=C*yf8GieG&TZ#iN#F+^&KH?s#pJZ#D4GeQ#@>!LmBcJlyd#0ytS(Cr z;YJqIAOorRL!^~RS=}s0TGHLNn~LOjv=EGn^)?`iXELx zvpzmT*PHjC!U)iKp!sx}3m)nQcl7gMk11EZFRbc_PwM}>WInH7?(`FWuGYGK4F(vl zbf8W4dz}j~$CcN!EtJA%XqmX_ zAOUoSEi5`HbOS*!myss&%Vj*s>!e=)Xt&)leFVubHor3_L$t+#gaLAc#1LX?rK5Gd zmG?2`jWn?+*Q~Ul#@ElR<2VFKh<9p@`HgKTgWd@+X%lX`up^&z|t z-!PgQ5)g~!iX)zilbuO-l)qR9iskfyFE#pNi#gd-d|)@|gq)@VF=d+ne|ZBgaM?yw zWMnjL2{JM=>}NKbjj6HmAei9I#`(btnnzO#VA2|2^3eaAF#eAlik(+FvVM z(@rQXB9%uNZZU>LJxfXgHWwK?>Aof8Vclck>z<>}NO%t{|H5JDO&C7OL;54~7wA&s zI^RQFVqf7<|B0Y|ybsR}M#j@>m514PMqoLuzXU`;Uw z8b&th%Htjr=PN;UWs8W$0AxRi?RWBjgE&00{KEbhNRqW^s@Up&=Xh*r{e2ec#gqSY za^)TGGTQe*VS+%*L{*ns#%(%R4l&qb0;A(->cWKMc0#wilMzz7xT=I7qBUSaAaAqf zucRuLH!_v9@%N>rUe8+yqmLkjG=Ds?cfL*1U)h;T95M`8KB2_U!vfve|9Q||S8$y* z$2}TZqybLvB{E~e)B7X-`8_pInqyrc0i)hM-Ydz|0MFf&B~&# zFz1Rtddu_HicX8Cyhsvg+!8NXwpW6_Rb!&7_f#rU*JN0}LX&Y5_bQ|gVkWYrvXUk5 zOE|y~BmGo|kiTf$uB&gTrsriw+yQu4$nqg+X z%Tu#q5Z7Go6zYn1$L$HWA5TOuEaDzjMEpNHA(F-p_ow;2RcVZO4pd|j@TWxQUY{`j zJ!diSoV7b5^W9yf`yBP@0XJwdgWP6W1N-^*iJylcty7E*iB_9nV_}KAY>%lUK!DC} zY)j--&C+yL_3jIhQdL7eQC9GWv2xhU7QW3?oCfW1#$MDaiSL~BVfyZuz`Wf{FYOd< ztQO4}ggd?Ozbp+5V3+P(B#>6!{t?CBPCWBS%kptl@DTygSC zkV_;Z_Nv&q<&vcXV{qspxpL7o7EoD3w*K$$yB3Fcc=_saPv7s>Uv#)(w&E23o4zOl z3&xdahyD!l-Y~Q73{w@qXC4oAdo<^t#=0Ti^_12>liQ-}EQW?GL7pdD%FfP|CT35y(gx?Q@vyFpmGyFClUzlyDs(t7oATV>?DaRco}m9@NKpFa_pr$S2V41s z1Sx@VxRXZE(bMHcSc>UeD!@;)wD&rK`kCYooi>5g`q&9IG(?xDNRQP$$*3BB*!g8w zUQ(`+YC@l4&*DpfYXz}H!rW9dig|*0&OkMKSt#yaz$v$apfX&O$-v15O1C;gb`HXS zAshYzh_0}aj&#jC%+G%%+O)Eg|PS;V6MB8cfMh$jN&;XuoMJK0E6)F-f7L$=5GSHZ4J;HaB zMNNvL@-$#r4Ss=u?NQ;ABmgbMK$QJw%75b2m;a2^0cQ534-^Y{h<^Q#_k{q>-y;gx zM?-N}7NRFLG=zPept@x%CCYR-;z$>fXn!kG;JBv#!De`1$bo<_?jz- zf-H4DVGgA<@l(#PIr$VaZfa)4h zqQkJWRR5Alz#zB_ROuw8BsR4+aihJ~mLYSC9nm|Ns6$mw>(Yp!{37zxIQ zoPp9HIK!Yz;=efoI=~4a+uE=oGPxz7KJ55w|M&Y2kQ(^-1iC&gY(xRs*8*jA17P4N z2^pUOIK-A56Jqk12n6k2)+iLbem}Lc@Z#E9adRj{YZ|h~OT#vlK6gQQqyKhtPXIfz zhcnCuwfwaQ6*<6>N=>2&|3xd}HNex}-q3w}@%N`nNg&cYFn@tC#$Lph?{VCo2uzpW zh9tk{%W=UpvvgH|*V`isR2I+x@tc|^j)?n<0Mi5$#^`g2f-!*(cfJvug!R{u#)xE5 zY~KoAj`X^!T!zxc9n_@x1ylt~aVj;0ScPEu4<1PYXXbl>7_z{=2=;b9@cYChj%#*b zM%7@9|2y`D1opZAUywq>xl;H3uw~by2Buzf@HwQ;O&0`5UH3B!88nDrsO8=bVo65U zp~yuxOXHI#ZRF8nj5&?S0zEh~7>ECQaQ>L`yFaWApCRh+6Y@&~!c~`-4L~q+6zmroApn|G^uym7FqR;edg+d#ky)xkt znK1YQATV$I#!DXT4o?(4Uno{6k8n~OGkQg62>kmm$ua&%O#FkCcy;ip|Mqe#a{$kx z44;GZKT6m)NH{vVenIv(92I;2dpN2gh2#_y&8YsxR;`W7Seiq=YAVPGX}c<w{Ss2=m2xDC>YY{hqC3Da?^{iF83H1+jdWXl@~6(x=EDQ2*~vIp2Z*bkb&Ef@%) z(yYC~YdN0SDXFF!w=w}7sn=inza0tvpYZ?3(G35ejs~=${Asvvgb_JhOh}20*rcdm ze-RFrIyk51jJwJu3;C%ImxeWdP7Db3#_)D{B&zT2Nj2W!VWZ{>Csh<9>z$EATm};E z{dcr;6@+AexyqOST+uHWVnYrLjA;LU!(wI#Kf*D0{0qx%(ICBEZmzBYXwuVkidY>p zQgV3;-(eMpljuNqr84HFRe5l-d3o~_qzUGQv!8q|;ldSf`L6n6;3`PJO#g&mE9=3--kU_K2a9ZzjNQ3nHkkwcCk1I^;t%3X1iCieRA+ zL4h^3F=iqXlH!JQ&2VX-8*|S(wgHltuGwI{Z^80EXw?fSYlvrVIG+ss8x-J#1odUQ zuFwAh-nVB6YTyH3{6&SfXMdimx;ltU!F7$Q%jl=lr0K|yj;TT~JP}j#Hat>4%%bpL z3FMNpvcGoA*_kX=RoQ{12?~aW`Ed+1$;k;Ab(?{g0p4r@mK_99ep+B6Oadt>dk(Y@ zs#7&0Fd`5#bQ*d}YfqQ^7LR?BWxP|=r)qH^Jg4=PdwrpR`$sP66*mWrlA$4VgU#a4 z^`Yw{E^(k~$O#mUJ{`}$Ik~4KEDU`(-rr6C&c&5HQ@L8q z7x-u{yjCA{NkzgN#f(I-ZSwe8j_mp(qa-#-@Mjg1)m(F8R4rL{Yk&)b_o!<7lQ=X&s zQGTYs4p#)>FLs=!>HjQ86Jj}s6vz$%OTRL|BE+)A{#`&pEfu0Eu~K_jI_J#Pv3mPjnz>L`}*D*q~*&EbRgNCG9`>nfTbiY;}5VhJ(FumvoT}MH8ehi zpOISeB!$Ah_HcUFQ@Vk>G4fFebA4fGQ8JWxhMjnRK@o>5IUy2H-Oe~0tJ8w? zLbFpEsk_Q>^Foqs`-Z_4hyx}b^ycDtbGNv5JL`G(dfLZBxTjlcOshhF$SdhS62lYv z?zA<1Aop}@^-)l(@$ka^bF#K0y@;5|1fRvnA4fd*ZPt|UsF4VNgy-hTJ?L;UWk(35 zT-;(0a}(+cyEZ@Q8|r(-uJ)i3BEN?DeMXP1@aW#~TTd5deRlQvA~dAvSUMa4j@^i3 z_PZ9pYmd#;V2(p@#H?pID85gbFIOn-B>>mNb*3>TBG{usEV~SLSp;7 zcSmVc^pXJA!={fr>S>Dz)4*&JudZ=}>j`Zc;Os!#*RMSGgkOUZzHFU zC%p@r;OgTI-q!Z^ZPRyRoA#EuC1dYs7w)Q84VDuDPm9%o-Va8J!(6|HxzIygmbLaA?#<>@W-$C(MYlJ-YGd$wirb%(EpoQf1U8BDR@^+PP4+D|IyrCx1AxD6w-xRz zyA-n)E-yTmk~u^@qwgKV<#8Z*Ro3lKb@%Ke+#mdvoeJR6#?)oTH~;BV83DS2%W*I! zUjG5A-%3P@e~jTWrx3n}Qj12f;vbWWyWVsD;B>qYXs}`6Ca4QtaW#k)*$|P}6QrbV z$xT5)Y3qwZ7gnBt1&d_2D<9BMz-~v=pRO__(Gj9o5R>bYh>jGxIYOP%DBf^qSwiEt z^z*0ULg(=dujfN#R<9Wo$CCkl`t24GAZF5rVJaM!eEF5xciyfNFP$2$c!r8&9zrbk+|GGFUH5!$+;QubYdaZaUgnd|mtHQiK1r zXxaWmhxEx~UGL8(>$;!1T?aaT?LQl$Y6{r_JtP=n2}4)w{SzBsk^oeXzdBFpPmuF9|5HBj zV<6?u{fR*_WZ9Y|v%7&fR^V)<<={ByYAs|~aiE=ZUWMXY9x{>u7eT8UDHpQyXo^PJ zD{rM?Uw|>Y6P6p@aQLA$Ok0)1C0D`7Avfk{V?~>(smL3x7`*`~o~LLsw(V`h$t$`= zvtBtGv)gMvrM?MpV>jWGmc06!{$PCPT)~0sggQP0H7ZkM3+Q*|gUk3O=1hfBc*b3Y zBk?BV7SPH_zx#eC%sQjkxxz7uv>`K3qQXw8_Rgq8A&8phD2S20`KTc!>Sm>b#b1M# z4v7a~jh7c~Uav2$J^?Ke+3x?T`!x1iJF7*fY4qlmYm`+^28NZozALhHxuXI-0lVg2 zdfZ#-TlO#8RRaxGk~7&)YBZe`w6}X)3w17?t?OB6ZqvQn?B^cbY!nh2J^QYz>;#;i zJ)8Fjhg|5zE=!w;LIRNIT5JH3AzwxBz+BH%-OqZF=v0k_~$Md^4XiWtekgiU`i zupGT$-5U(28S2if+o8{g%G_b4Nr5br^H@sb5dG@y8J%{Ck^N`l`Ol8;QTx3mc50>*lwR*WEs|G3pP&v&A!S^7QEYB^Uu1FYj znj-h0OjW&$9bA8SfTE_O$=U3WqUlygLX(1V`&w^0p{V(EpXGS6Mnb*4Taze3f&ZcL z3t1oOJe(_wnT}4nqg`}6WlU%V-q zWCc=bqpGdxV=IZPt*D9QebP8w9ATH z)A8GkZaUx- z-}oui4jNw4b6uzvg@H0J;t9E+xHDE2vo3CKh&rM=aawP`&+{d+*VhNJg=DvMNvSq1 zm9N#s@}c||e7dXAftHPmRdZfdew$m1fKf!z)Y4t5jMl8d-I zVL3D_;C6HbLB1)#@2UW8ag! zBa+E->(TbiAGG{q#NDI~v&!}E&B9w;Scnq=E7F0gg#W0bwze>^Jg+S2dREWBGFCVI z`C|mns*E^1yxoG!=ec*4ah~ymAKheSGtWl%%hNs6@=tsQA7nCypS9>#;XH0U7M5K? z8CC`N-u>bdy_5arUBGiIx-zODvb8v%b7tIT?%`|yv*MsB@Z**L-k0{hXrJ9K_F7KwAIvJ%z;@`IvRG{$8<0R16K!|F zTJvG5X80>Gc_z=knAc|*G-_p8$K1d2P`EyP-5ep){7#8}QLKA(QhDA*)M_@(WeHEz z+~-dThrb#C4vMD)=F_DVboYD1VTibrhFi%Bx(Xi{UQj!bRL0Zdmm=tjyucen)hC-H zhuf_91q0r5cXQEfvTpw^6o2c7VoZD${*Z}-Wn8epHkoJ>+?`9hoC zv%vh3th1r8fLzJy$x6c#|F)trz{ewTm3neg@%QfOX1(1cd$M!%2>b^JIG|PCW+vq! zl6o_~22V*{{heO$VUxk2#bQgKeVbRm^+K~-nvUJ2$Il~jq5-xco6|n>wxxMv^V^{a zwLNhk2?_Xxwx|bP+F9aGqT!831N4@A8NI{Vw2Bdl`E4S_gq=^%Pj41n)`-Wkr}H7u zSfml?^x@HI(7{Qo_HJL0WU2JtNtQ-@Ua?N|C-z1{R&9o}VRqPeaB}f}mNFZo3{P^E(*w(00Ec)NHme|t*>e*Qb2ivoyD zkm{7TFp~i!VS^fg;*^K^s*g6$U(EbL63C587k!(xe?zP%Dasq!ZTpw1QESxk4ZM_@ zphy%ueMN4rSNRH$Ee#(MDV-)oSicNC+d0k+?22Q_+3VGsf8Erk4QH?{d2*J1le%mFCp`WH|v~H_+{8N4H zYM}}X=W#lVdUlFHc*nyGNvGFhlB095Gxvno=OoXDZW2A8?n#OLb)mcJO@ZFA+l`ac zUbKEDiL5>Hb`S}}c>d++&f1&ztlC~k9&3C-- z%@Fm2dOWT!p=9qzd#(d;U=|xKz<(xG@81XE_5UIKX>WyGvvUSSpT9)BVb1 zOQf1M>IYEQAFIXOAyOOn1N{uSVUG>O?IV{J<*R!)tHHXf?|)BqJe13jOao;EUPhh0 zRC}tV)qaTF02z&_Me|@%G@4DPuQp6hn_D-9yGeW89w#t`p35AUJ&mt;h?U}cHFKucpt|wA6F7Lq~;=bUGBzv-I3)m!?E+Ya?f2>WYW^sc1>|y5O=-eQD8aL z+WIUGgDLDs4#%9*^^0hk!jBjQ&hsTPnCz%!uQwLN;<8MAq#JyHbkUm z!`AM7b+Z_{;0k5&X`p=f6c$q$Y*{rKx_#9*+$>=!pQD43m2Wpfj_GWNG@JCb;A^NF z{l7hf-QEive8OI`0aB`Bh-KE%&k`^fn{cL?t^GL`=&)S3NrG>@t+Usmhlr{RXmdTt z&8SnYTGS>L=WjVmsgAl4s1i8lIOl?o;lDz)UDo)HnO3lSDg^)Sgz=uU8ACHYOE24e znqFLM6t0iS?m?W+u?K|59;?@NgAA@CXuT@iq|CEIiMS6!Cdfts^=e%-3-_g?l-(sV zf=QH+p|sz`bpBp$b(~@^)Ue?t$qo4OQ%ljTs)VLIzH*-Lz=RnbUVY^c>AAEOhIKYy zt#nd$AOY#td0UL|zU6Wb=N!0a$S}eO8O*&P_-wS2o7my&1ng`p5FNPO`KT()W-_Lu zyy)^oBK!Mkmc24(g_*t{(UNm6-#wk4?}6Rtt8-~n6TAg_w*V2?9D1_LF6ixV6SXoJ zG;i>!6p1);XfHXVE#wl^sd2&@?kUm2~KFkd>SCJ&J8KT`LE!1)EL>U4_yTZA42o z=IdOAy=B!2E?yCso6s?esnqU_V*b>X`dncJ46(Zxfay7-*)AIo%9dKPL0IusbgB5vT-ZsyxR$R&5Xf9SW4cszc3$3m zw!FYxEt%Gz6sk|O)^uXxMVzIb_UHu6%yLVnWx)L)<8|CpEba8^dFRl{}!)0829gfOz;vKhf3|oa+ z?L1XWv^CyMsS+$UDX3L0|A>0I0tOr4%GOa0ki+jF2$R~(=a%eE|KszWnYSSWXhCodmi^0;kG67t?@GwGsPYEeBtCMhxz=Y}Ln06T;t-V9c5ISd zn-~p*c>|{3QNUT1Z>YM5XPV&&jYmklzdm0fMv`i=})_^g&zQQCM7curNy3=iz-l1BA) z=m*r;avm?0WEdYgU4`QFWA#N6RuTloOu&xq+KRtq2;tO{N+T)PZnLat57!k9Dw@xd znecMaV}2$~F0Tj8ipEVesYO@barj!8R)97=qzVITLUvcgYoWd{SNqsJ()xcQuxdhF zh}d7%vSb=aBJdD#aGal0D1^vO8Md z&cW_n>|I)9;N*y1kG0rb9dVVjg#V8Gd4fFVbeC|d`PuvT85`Yakt+s6R8dhzZjUwA zU)S29TOrX7-@dNdj0~}*IkGd^C`~$z2RQWSQJ(` za32@5YWG}zrD0T{5VNJP8`?lGeM#f&R3aq!GE9#f_F?HC!jirC=2}}Ck{M0NS3qz@ z!pZ;XUBu4%0H4eH8JfYQa-X#>do#PqXnMXC3mgea$OTO`8S2HaI73Ylta34C_C7XW zJ620@#C|nlmt7l-APgL=?IQu7lPc`TQj%jzMpfZL8uXApxp#Oo?^(OmBfiJxz{}ph z+xd_7es$Sz5hT13i z5O!VjC754T5qeXgaEhI|%3iQ9DmcpXOBx)Db6tNgoMqUlQPUXOkCR9Ine{x%%Owmb zQv>T?MXOl9U23<>QFp6aBgB|yxZi_2_J4|oTyr{EmhG@IRy8>G9wTfDDlxtmsa94x zAtcNdH#~2%Wm-^e)pD&8uI4*{#d|ZaslaG5Q6-1mo-Y0luduy%ZbXa+?Ma2gl^Uv1 zH>rlB?_7tgY4$jciMRg?E<3nos3^W~FFU&I-h5DBfQ5AhoMHqirfUr+-)(<-a- z3eA1w^e9J4%@b1!%fi>4&l-pKp%#}?DX=do+xmToeSID!slhTVJKLCj-MWNyx!MVl z%*dZ_**fE*PF)KFYV>#V9>&u4#esbG8M-$9^FF(jv!YQMB)<{6z{|f&YxNpup?rx( z{1RNzxeu&Rj0*2&-?R zQ1Wi!w|UWF9pH|M`4^jw)Re#9UH&e)yErP$__;2BqKW@ahA9dzW#pYjRHPipf}a~c zIErF;cAl?ShdutnM)=+1*)$EEXMKiXH4Ag-f}c=`0SRm4_$q#WMaVPC>D_eM>>jq= zT7QvF{bVC(ac_-#O(L3lhZ2w)cG#yy`T^c> zhYz%#*;ovEX^r~`f;yn_8=WH2HN3L%!z+Cp11r!OIZZ_1yVEiarG`9Y(unUl-BtX* zo_1_Z%(}YY+m(Ynjub;j<&(3>-lR*d8J_XiUeaG0?pw{&*Q9dmCsZQJ3W-vgQ;*j( z&fw2_deh~if$GUxrxMFPj_fsOp)!S724=q)2-=SvL)vk@;0lDGy z`PEWM358{tvv53!`$8;rKJN7GL#!7z=_}Ctc^Ct<3z8!`r5`~IylJ#PG^M*DDX?=$Fg*50lGxz&9V2ug8u0ovti%eUy4wre0MW2(I(bbMg<8sRy42 zH~iLM79gV!qq=fI?RO6!tdBZ<+sEO|G|wI@g3zI*0)r@?}B?_Te;{QLVS4vD?r^B zkQFKp++J`wR)d2BCj)`XnMXYc1r6#oT$xW=r*tRwiM9W6bqW)f=fVHG7U-l34G+oA5P;!gr{g9p96# z7QP#|RWdLR^W~mnCKf;Z8qAC>EMY?SMCD|T2t(pR;o65 zXohx}8_Q{qr{ywv8NgfZ?iuq)zW6dHylrGp8|Ni=1Z5uw5G}bz7}j)}vLXv;yq?F4 zqbc%=p*I5HT*irl53-=>HhIpP^kili`_TIef9kRj1^T-l^0u}1dO{t*))Vc-Mxo*O z404@|pn0BWvdQ^!Sa5GyJI2m7~^O3GaN_Bc@{RD zzC}%UxbBnq-6tQDjFlH>T*Oig(4+T9PvMxx<~Rp}CSmDpV=DECa=#-ZFaLh@nahmnr7(=QQ6roQ37SMv{N%v8zj8m4 zRsAR8O#c`?4@)u65CVC%;HwJET5Ns{#Qx%JiUS@YeM|Z7r6_3oKd7W~p0-NZQA6F8 z>*PyI8vtj=frF3YDzOKG1qv~~rgu}Pnyw+VVk@7SQIG|RLq74qEr1d5{ZE^a4$s4o zM%isQf>=K8J*+1OQut}l0iF4PD<9uine2Wh7+7*#ldp+y;V>>AcdVbC%6QwYKB?L{ z?t0~KcMwc`IqO!fug~T~B}(;{iIo{|o+7a(O$Ry2PG)0asrA@axsl=6IkbbU8c7(| z=YTI4iIA6YzD)~z@P@Uy3TwJsRZR6mEAgcAa|h2QbrmB!X4(%pu+@&^eY3GN0Yiv_ zdfFnd?2oPLV^(<|&i+k(g46F&{qbM>mGm*{iJA!@Od^5ppGta|7hZDVoqKq{$^Gk~HQfbmpbr{p!H=$Ju-jh}T+1;|MV3CI32~(C2P-A-^n$<3W5+2pSm6&l%e; zi35n)3;6uV&la-VASSq5YPCvI(s=|kF1chHcbbWOy-shH?hhmxR@PJ1zNzd+<&|eY z*3tLYV$nA+o~YMJq#OB&2UPWG@im_Ii(n++31fO| zi93@FCq|TPsbe0xaWSF44P1f6EIz*Je6(+gQYNIyE14gA3P9)WX>3+QlF%b9D_LEJ zqTKT|iw=Dq{TKt!mI752fEd>>tc9Y()9FkX>Yi29`{IURC&WSIc4r(>G6d%Wd4^A4 z*c%1x!{d>PUuQ49?#}_u>?p8?(2peCzDlnl?;nCxAh0=qwTmOPqk0J41O{@A-K-)k|yMXZbWO_Y1lCcn# zCc7R!@3Zo;T11l)lMR08nnu0G4fV@UUSB+3-v>JNeDrzsQ0Xu=EC@v|?+ph@zqzA+ zBQ?lJ*pjxv8`67QJLV^R@uezdC7e$C!_B3&&#%oi?|V&@E^eI8XO{OyzJ|wYqQ*e` zO2lA30nm1MXMey31y9g1WaLVVqK=BUee+d>93xUC@urYrq7T)kN$VeH&f$c)HJ=%g zXi3%U9ppAGyaOD$ewnc8X*T-20bFxC`qXn%EK>LWsx)Aj>-r!%g@A2jj#T5m3*^y{ zMvX`54eB7HLcUv00J3u-l4oj%-(du=_bqeH+qY?D+1ZVyiOEIg19Nk2v)`KEZElkF z%bLCP=Rm3)w$|b5d-Kg;@vPAb4d4y^Y~6E{CiKO0i`QSKW5++BiZ&gGzy%qC`xnvtws%mTHmXZ8;8H zm$bE3+(v|9rT==o0^ZGk)D=M3GajT*wWRx_p8&bH?KLDTLlQGA1oQi6j48eUlZeGr zK8MS0Z|761mExnSr#NjLqR)TQ?Yv!^(n;Mh!Pm2U6ViIL(pqJ``XM1A85>hr&KoAh zjQB;HSF1do&TZ@Jd-EwcLq1C~(s~+F!9~>hJ`ib7s`AINA@6x|vcxt$I2N;vi1-B=JNFrGzS-Bg!crczdTC+R#ghGvIPI-ZoZ{AkPHp#dYCW=HrBEGG?9Z;-p~U?TKRrv6^n;o=lpcoPE|X*l7E7Xo z-^vesx&&l11wNBj#w)c!~}0R-sc0nQgp66N;CPeKj0gL}nUGC|NbedWcGo*ka| z({E6dRnKn=ewDVKX=}B4W;}Hn-cf%|e8#Q%g6(%OUMLeo>(slU8Deisu-xIGmci}C zTZz&K+7PltHla~^2sqnrQqR&q!kNOHLCxx(Q|IZrB$t2sPx-o zg+8pl*93?S*7MqtL|od@m`uiRG=EO$I+SP2w!CjGoo5&@Y2*Jm7(v&)fGqmL_F~Sg z!Q$8#O(y6SC;o&&n^)4%+$e919X0X>cVxE6a;vilf#lVE1Hn2wDN>HiOjn8)Nhh4)lzhlw|OBO&vp3ZfPN5iomeY%nE+m`KT zGhK)P!+I6@TD{$LjOhQ)xk2eLo;_L!-QGV6@T`=_TM0;Jsze8fe@F1s&hyRj-s;n# z-gmVa7>}p>PC$#TdVcg_o>3%=2=s#DqR^EvIxz0*1@M=uS{0_r3_gcv%-&p1M~@3n7kNG3Xlx2tz4536!cA3>`98S{QvLCEe@-bcRB10nd4ZNb$#Aj(Mn3 z#E87qKS+HKx=8j~un0y3>E2*&<{x1;r^2sUV)l`O-`9#zP=`SA{6-%voXpP|BZkgl z3iv#(*A{Yd9Fp_O@%8*AX+%R^73uK%T7#S$qslO+gF+eHk`L%&`&msAs^!@B<*qRC z$EN5D3tz$au4zd(6(=jN=$^hK54`5woRo76(h}C~|H@16o~zsDS#s^a*?W@nczG7x zNiREBX(;0DiseZW#fc*N)FB|;7uUcdZZ^?Y0xEHt!pWjmxg(ZtV~~#7dNqnqh$T%qC)5TaHl7qR;C4}3MrGL zy28e+p7f*_3{&X!k|gW)BZAhOGot5oysyq+tLV#7iv4%^+o!a?;utuH#KmklODMO5 zOI>chV(%;#OlxuaxuS00j#qa+{YLcShC{Hvt7co=I1eF=-v=AfGzWaE>#}gYhI;%xjT@Huvu$9Q1gqTQ>-D1c=74E3yd%y)durY zssj*Pt8}Yf8(N-;HM0qw4~(P0mGBXl+ar3q8>vi-DRN}OpFg2H5529Sw6l5_#3Rfa z{-(U&2*33^TAyqRNOUo-CcWEk+2?-C(d(VoADQrwP4=+nrcmo$T9gIj2-n+mo4*L& ze}$#cXT;=($C4#cQtW)zAJDqS`Es^@v2u|PSTm;LbHAuJt)}O_?yg2T-LbkoqVjx7 z^eo>Woh5GGsr-?>doJ+|>BimfI-vwoXqm(6^XB%2@nTP5YR3Lti@_K?GDloJQKXQ>Er)+xFO%mS*xT2$`KX_Y4%+r z<=3~gzWg|z^e2;lhGqq-CT=AEi3Vp7L#ZAw&J6)GDd^+~iX7t8osViL7+R}^kF2zN zl!-Xnh+t^Vz$lb!v0Bh7^e&brk>ZvUYd`i_c#$KTck=Qie)Py)_Le>X`#q1$hi`<` zaGfcUib1p79%D|4QdeVjOKakZT@uT_n8`^<$?vq=Y}BkV&U=hMw)a3)h{8gp5Vp2u z|13YH^|aNhQ5q+Fe1!mxl4tcmBcA(|)~WP@x~K=+`3Ioh?^I8!Q$T#TD|v*Yt7>O-cCq^I8+GTSPSkx)% zWl@rzvR7z^ywb#*&KBVDYTJz48kUOyNPmmby&xCHF~#mB8;abT6~1*Ncs># zcUighQk>WXqMOCiu_Hp;0*4>u8T7c5$CJ@$H&lc%cJ6uu?a-jBRmxOVRLWG6$ITT| z##rXP<9`#p{3M&nOW6g&l_E}6aBq7YUZPkitX=f4Ssp<3cl;bi|-`YCsrPM$BWBsT=e=)l2F24fUB+uQwyqXLWG7c-CNO_Ntzw ze1bY~_a?36``lMbxh%Cs=L5DfFFukNPwrQ&hZvpCkE%|$l8&MV2ZjNKy7~uHU!A!I z*gUV&4TV;4Gv4Cd&!^Y{-I1m2`atallZt6%P}=rmZ)D`H~&Dk?fttlY|hzG}1I3gdJ?__FZT zAz8E4xx$@XfMhuLoj$Ff#YVecTO0sJBErAJf%U7tS##JQBp^lX&Gy+)oKrz5SjQgJ z6|I_NU0Nr907R%m8CD{r6&2W&=(9|p^5a!cCY`M<6}7acBUKafkm4rC__Yur*lQYK zAwsasT&;*wpv5a+YM-VjbtAvRD9W+Dkt4!<; zN)|{mzrs(&QR5Rj5r;1g%@!00n?L?l;(#FV(LagNA)=To@znLlZE^O_x5K}fyVn1Y z=q_(a^EZ#b0o?X2y!T(a9m9`=n$5@_%$Zgs`InEgL(Oj(W;UW5i%`Hh?vpCy!(LDC z$HMnxIj6$AORGO$EN-CP8}vG&3bJF=tiK%mRX0BL%Rgi*L|a!KP{=e@nKv#%^k0#C zm~mnDpz1dpY9IbA$>8+b_FJg+inifuqv4WRCK_hi2z772Uu#XtN2ZPtF|;^9FSBA3 z>A7n#W_d$TLi zuoEo=-!$Iy8Z7o!$!f9w$A&qG#4X&eCpZS%Pd9;c!xE(AD#X}%{0)^3l&$csjtQ5F)GkWzp6|9(vAnP<5oy?%^ux2YEZ(ZyI=c3>uXMaABXeN6((?d&e=8z zsMiXRd$iy3444QTrUWp~5YEzRlXjUO!6K^0M_r{l_^qM)abZLV9eiRiPWyTDhOMj9M_TDU*LwB0-X@|psA-4^QO zPff|Y#Y1P-XXC45)JRJ>l;;)j+h}s1v~uk&L?ZX5ry;_#g?DBhc_AEg;+1zb*>MQL z*Dg-?Qv)+N@aU3yxn=7sBcz<<5fWFHzQXVCg;Dh39Dw0d9Ov`Rei4LowBuhsKyv|Z zJd^2{uUvBs4%n4&`1Li=Q`aW__irtxOAB<{TyqG;d)Pr; zIxU_J!sI5cCARht;W5H=zc6wDm5$g5nQpw)KCJ zF|xcHTx%(E2%ITRt}EPoKcZJJxp-2@UAr5F4AWZ^PxoAOaZ3*Vy?qYJag zP8aplxv>m+-K4l1!-?V}w~5`<{foI{y)dvX9fvcDez~2d>qW7++>{s_X&<&>cLrkz z$l$7K0}iGBi^N@aw>nFX_txH9nAp;$i{nKluc@*do!~6SnFC}>XhZt9sb)iqaty)kqcw=unjR?%|>0QI~+HrjE3Qd`5cdA}_nbzOWie<#s>jwbxTp7n^14CHP4` zPt?ij6|W?={0(4**7%Ngg|# zJ|TH**hKA_9_UFg4#4c&(1c$DF_Z5qR$yt$5j)lRi^sIxR@3G0pa%Z?NKc&Id_)s)N&Pp1Bo<=+#0;b z-gj@o4T#uPrI%@v2yh2?)s}sY)n4lXPrz3AVj1ZfaQOv78{S9r>`#2zpR^y=y2#os zpM0sXHq#X#DAzM^+^jA3ryP!!y}V&i z^~*Xf4zn)^C?h>~!+~Y`e$G~{4uG6O&!S2q`O&~fdOLI~a4~yo5#LyFTKg+0iy7Gy zuaW{8od>@0mU=YF4q{x9RwRO)q&Ib&LA{tYYdr$||xY~GMF31F0Q0M|@X=|aa z%PX7@7OJAMxY2DU`8z3aEmAo?G86$DCB)a3PZu(mTaT+b9e)XTZwCHxNY+S+eph^_ zl>II)BBQA9a(@NrGl6eTX$7A0+Zump>k&#eW8<4UPKK%$T;}R5Lvhm*YH?-iPAJ$J zzAFO79eVAndkvLxb%n=62EDyiMy6)39iooKUd@!fr<%Pj_y4HcfNMKnplkgR3&_{7 zUUH_iP7@VOr_Ru&(MUJyC45$~wXYujA>gIbR7v1em;nGMbyCiHyDz=@m!%D9q+_Td zyWFzO7xktq!m!^3jb&Q-LBS)5D5&m~?)P5g8g{&Ul^>Be1}wwt8V6gU3{7OnBZS!r z4YveN(ew9+JfE22F9ZT>KEVd%9;55;BLun-71mo$NJkQ|DcALLb~=AM^=Sl=ew%+@ zx*axO9BXf3kS5q|dh&8F5fYOV7P+M#sHzYdcEyIuq0Vg(GBiyFDD(%z$G53Qvn#VU z^B^NKFj}p_JkqLH0pGo3XKI|aJ}orrWv>D$PK}T+$fZ7x7vy!7i?n3C5H#Mnq0M{c zwN1gNUu2i>TZdBVp>-2_-gCR5D=6$_(>SHSA-<}D|C{7WyVgLbXB|%P3=mb#1V9Th zz&fo0Nh5--cFl&;y?jv914)Vqn1eEhS1G0ed)~ulm0r1Q#wx5ObA)|moY5fWxHGfl zMyYS1&_t8p`xYM&yLd_ouL(ijhIHi(yi%4Gw?Ji+x zAEN}560hDOs$D#8IPG?~PpIJgeS6b&_fw(8%Wt8{U3oSI}51+jlgT6gbSO&Zbj!G!F9DkFL^m@b8zDpgazi+WGdr06jF7Bh|p-tV*QMv6ZLMUT===f7FOj z1C5L?*5-=Fb>+31jw9!|fW`Z&Hw1p4I$y{FZ1YnV$t2pIF3=0rqUE~kaYxZHTS4=( zpb#52VWHM4+PZ2UxD-;4xv2&O0j&K(Y5a;$t;_MmlVudd(~~B>FYOo!gT%4HvcTJr zVpoLFH4%5=6%lvoe$#W8Q{+CE>J^P85H%X3(H%JwU2uQnM;GmdWF5HTd-|7duuZxOn*PtmT(t>S$HDEjY}{D9iGS(RIs&!+J9*Kru1H<`~X(?nQX-L{f4V5IfG!SWDuNiN-2G8stgCPSBcU0 zH(d#WmeTU-BBA%co)>yRWHVOtscC?qA$}-pl$}fx881FX)MH`1%0!A_ zMTxX4iQii#*{A^rhd00#pxJPS@xOTc>Zqu?H(Wtlx)Ess1!-w1rBkF^T4_XDT1tkJ zmQqw&Qo6fAdgunF2Bf6#9tZudzx)4P%f%WQ&e><5{q8rP=iMcfFE_t2J#NhSt0`jK{Y8(c5_Caai*da?=>uk;LlgqNt-TT$j(yejr) z!4acEJF33#n}G_s&zFKuQbW@@NjtW_6_l9~P-UkUHjyVWgrz+goX7$#?6at}ypu}r zFVfmhVgCR`RX8~HWbL}~zUD0v2mP;PNfC4f(?#yVf-jeelm&(}BNDc-ZnOTNOl6~3 zlo|;Yl?YvtG|W=2C$%@B)ZZJon|=cDoueI6>RtkbO@pG*oTR6&WD5sTN7J*i!qf_0 zcVr^dhniK++xGAz-|>j0(&FyRhrOWb78Xjmj#V<%jMS#r93tUxjzcjbqZMdV4oYvs z=M(vIrsttfAkNWl*4{@d5gI2Z5Gi2Z7v?sTPzME0DzEdUi$gT1HT@CMtz)|Gw$k~` z5OHcUlAPL`yvtN(^`wtK+5@mF<=(`+$fe|5IOny+nTJ(|G@%0MFkwfw1s$yD{gSwb zQ!M61!9|AB?X_X%?@sk@KXOkDP?|G8y%a|?yjvLKS`kCT!S=&(tu|`HhBlYmV zndsGPnP~lOvj><>zfHRN>QXe2{i%u{8hwJ|N+D?S_)|5|R(W28w{IJULa9p#xO+?# zBN_&OCF4+{mAlu7a$w?E7zBzlH1#}!}YRq?nkzF28S2sQTugev`kSMDmC z{&T*_SD8bzvWz9)#M?8|m2c*CBox(9i+bk=R#(`~?WTs69pTj6dTA5==KLwjwIauF zK1ZL$>}RV#TD>tC%+Mk7sxL;40VOj^5Y|EO8?G{S|2Jp2dwkS{e7 zT;KMY+hOn#&Tg<9)GPa#csBUEu9Qk$(=D~YITs~xiNxJuK14^Uz%Vl=JIijdpvg`QpxBCm$LqJ&SOqbivaf%14(ojm(u0#D$&{N zVkkcq--oV;Z%%gVkJbdkmip5b6OIX?IYouWmgsCb5D@1i!}l-$Atka2n{GK1;WOff z&(;qjs%@qizu#gwyzyHHVs#kP{f}O@X-GM?=_vcwOfg0|#H< zy{zmm>HVtqqis#3VUXfypVY>u{HGL)J9 z_1;~knP@6viN(JI`iw&MdA_z`Y%3r zldPLKZ7esChL9yTNIA>CfIb0ZG#E+gj4#0dx|MX^6~=HEJRWk zVIgW4$6;D8`6fC~h{^CNUVWdhf0vbmHQ08vC6>`PU?hj)0r$cCGt3Ud4%|TkfdIoU z?97Jy4%LHK`j+?JoJBoFq8B%_4Oi8x3!DWH zxmdr^S&mumTY1$ltvJ@y&kToWN&O8mNO$yiS$E;32<|kc3$xgIpRH@CInzAeTa9~e zQ5ZkyMmqK|P@{ic?zZSR^nDx)tU~+9GEW8sWeuL<^wnR=Bf;(+b_H;jol!f3ipR z1uGV_z7CR%);%YTGFx;5r37CnEvm7ue7J0aX;Zs%6R&CMo5cCcr#DM+(=ntSm%q!2 zY=0e3UMbq*Jxx{-FvQ!O)4Nr)A&pFeURJ6|)#Z&wrT4lFlpwAx8KPV^B@RM<&`}4T zSDPM*ilpt9i)=!1kUQ<`f2rS~gJZpHHSA}K>lyHICqw2{GT*0y1FLGihjC}bIU7Ya41C)-gk0Mq4HgPeQUwtC#(0E_ zg=Olfh;sC3o{s1~-p2AlUiFKEYIqI~S2VR~c-6Fx#L; zu1Ll{sy7=apF`M{2H*3?*D@x3&mMX5u%M&$K`C%%2hUG$$|j7+Tf%J3&>Epe(|gAE z4wXikS{=FYdx-}$7 zjmOjR42nt-nI!}wwYIBBZIcNO6`FZD@jJ-s6oLCjMFRw7Ip#eUCm~a=+i{q6rCgB_ zazi;W9nZ5K2t4aIDAE^swJ%WOmD@a~eiV8C^$mn0r6UK5mHC@|eD8i&E8asezjf6@ zglSuXgBctpylqoM(fSt>qhvCrLO%Kvhd`s~P!IXJIq7m=MEPT9qQ1?+Ok!BLWoW42 zU7wP*BXv0J`Jw>-h*6KW{q?Vc%n*vE^@Wdk6QWC_sKI7z{;~Nj$Se=Xi7++$*%*XQl-7@tUEM6Qss>xo?Yjvg`Q7+CsvbHX`-l4?jthOXgf}q&R!KE*y@{SJsOwC2by*h7N!ro!3AXkixh3kr_l> z2Qm|NhO(ppVdL`I1*dF5QtcD3o2z*m?~TOxN@~>i97j&S%&}&7+?61Juq>I;TD;@~;{Wde9EGA9{~fPwMyBG;FOe=M zy{KjG8wIar+7*03=4@zcOUyxiOW5Id2_AM!!}*HBITe9Zg#u}~nLPLDTG&UHjG`t9 z0^E;B+aghz-KYHx`*K0(74XcQpFRUf3KSd&3?v}HE>tMr&C+n+dF|AVL|$os zBE4rwk;6q{Y;DGDP1kt=S}Un9wPS06PU@wH_Y5Va6T*{Sb3rT;_bZ$gQF54O76+{- zy;?~TMTSZlU**;9157Zr%McL+8E%<#{Pm=h2efuH_>mZcNGr|>Op z*#$hKF{XOX6Di(U-|jp7b~BiIv;oa@mle7Tr-U$Zaw@3{An3#RUA zs#VFt_sQ)jQ~*hgQ_f9F$O0$HXRMFi{bt~D+4RVHYf>qcfy3D7PcML9`}f%lv_CvV zJvir2&jEDlTvjdn>``m}&-(WG#@4j~w#FIysXk6YJg7z3pYYqyYC1Do+q9g} z$C9Y@fWxY~s%!viWG2M*&V}^v(dTJ_KSZ@j%oqAwh8o?GUvj(Fhe5@!)*GH!2CJ@t z$T!{{-L_l-4{fga-nnPh>I}LdWIdcJ9GLsPYk1N9!XjJ)^vW z-6-)10B?D6=+#JiRlogR@dck-;VPK0X5}mpF}xJAAO|GyPB|bb(eFzt;q@1Hq&hH(m>#zNg` zG)t4s`m!U7SVLyM&wElf9V(JI{t`Me#3H0H0*NU#XbA#B44y(j5l9TKD{eC4o%|MG zFiQ#mC51;N*!n0BP{8sg5oBu>M%?79Ot*r*ug}%qZJE9(UE>%jUdkE;+?tW83Rri( z*8@%j3=OmLp|49At4Nc}|IGOp9Iv)(%`=V|yix&B<%&~<%7=9xpI3jsI7eUKPulYq zV=OC>2&lGN{R$wT2b2|gdt~g)Wes!fVA9^F&<(<^%bD@?oSVG4IW02Exig-4(35 zsKGWX7BWN;u*6rq|Ar|#&UZC#z5E{nT{kzFv3SMM&uu`N=N+f_r`cC+xd-%2byP3M z6Q>vn%iE`S&+$SJFZWza&AE$9KrZ_+n@%~Os`FVYLe=%a^C0F_?W>3_FCYOHQ2FI` zN{Rn#GC)kF5jM!&<@rwIf3pPBoyP_yp#LQ*C4ij%ojv^baP{4m)uk_m*d3hkSc4V< zNG;LtxS!|OV`~=98Z3)c%i5h_@sBOU9)H6g-4h`14TxK&33|ClpEi^O)kuqyQ{I znwO)0`}h9rM27F1t&!r?T)m12d##y(9@6#(KlP%{^EAI?oOq9@mD!K$f?{}N?sDpmpwnT-WU+NR$mMH{ z*qem9)(aoB5>VTr~;+`NB4E!MjB7$eO7Ar(`vr>pGR+00*sjHO|tSg zzpqC?PQlOjiJ%02;}oG$X=^Z+YdJ}0P#tadR+ZF2Zld~VTg(j{LtK+Ys+wPQE7RvB z6rM!#IQtcPVmte!RA|96FTPJhLW1pJwNKdjto29dp~UMi(cxaCZzmf3LxL#pXXm}U zZa}W1oY~K^+`ws1}Xw7EEvCbI&*-b=8y4 z^6NE)me~Nco!e7#esf|V*6j5c3z}1&xbr>h@h1#2*qTc3?vH4&8&w&CWcXA;S`R|T zBZ%H}j_u-_>>(Z}<+eDp6LU>qIQ?%?M;IhpKM0)84~%y^J1TX^KkpwX_nNke0^^o{ zrsIq98onyRe^&)4kPjE#J$VHdK8HCW`mA}(DrvcZEtZ?WVbmt#0W+K#X}qXA;G^W* zehjKKZ*0=v6p_T;o}_6QkH!XTI1_nm*znnGK47~!LJZ4nI}Du{mvv4puM!Oc%7A## zAso`j@cXeH-hv`(>Lw}Qzp}!8rJ*Qlh}~%aSr~_S5Mx=^1mPgAznV7S62YB^&D+2K z)^8IIl0rMp1K!m7(!%uv0+^WFr?LE*e2~LCE`P5#9$^KYzmV5>yx!CzW3{k2y55(} zA8kv7smDOst{qb06Sk@}`m4A_1D>PHWUCoTDkYO28On6NF=6rAu;E$PP3MXo!%*8w ze}oJfz>UZhzYWE2Z4Y1qz=+t*6`B8|oT4zVj7Y0Sqv=0-&UXq}i^{)7=#LYy3?Oc{ z@%k{DG%@&n%_!kYciI$Cnl-kjD#m2I_Ex_Ld2ahxzgnq=?-IZ*e$ziR`Pm6wqrs4> zuCLT`VD#;Z^#RO9&DMAW5DagdZcvL3w>ebj zt(sSErWCL_b_eKszlpnl-#`-ZXy8tRq7lIZ>VJ$P@Jm5&Z?9%jgx&x9W?sP=D?dMc z)<+0*ShYKYXh4k3>KvfFud77Ev6R5CA#Qg;TSBN94DoxIxu83lc^0?;>jwAvCF`k)h3le(@>zzBSfRZbp73>r%a7C-^>ULFE4LW`6DXcrqVU`4iw3kwK=bmfV( zxcnpeAo~36DlqblBSrq}hp~fjVe!A~{|*mVeRThq>T@|D(^I(e;GVmNCy&AZw~c^n*kzX_s$za9c1g2LZt{%ha-p3no8@I*eV z&k8ZBd?*<9GfMo``;PMM0m9^5vUCT;l2Ae^f| zl9qt^&Cc<^>k)SWKY>$uh;Ze_UEoN)|4=}*eqRBSfsc(`2lMv}6^{Ta!#%=TK;>UA z@4*#x><6d!A8EK+5KyUL{7)GFymuYAEHQ>XF3CZxGC=)n8=_sUcvJw~!Dv!myNif7 zKEVUEy9{Qie)=AA=Jmeit5t-Tgdlaa9QYED4em zPmp`A-Z#7%4zP67!Zwt@Ckud`z|vU_6dC+GFvXRn>veAY_|K*S3j{3P-|PPl40l01 z5$+0b41ql{IBy$6Y@#S}UHC6ZA^EQn_ND`llTOrE3LB(&#yQY4ZC+ER_`tm*frf4I)A=L+{BFc$_qbOX=}d< zt*=&97vr0q+}~&ZvukcYmWLO`0(ri;-y1_5Y?Gdz zKce;`3d~aw`s0B)Le0biRrtXCb^f345jQD$hZwWu0Z8;?ay|K{SMU28W+iCbq@CayY>nM6SiNO(u&8U=!Fw;|8jX=jSkxcK zv1(}+8rHq2jI+6Uwa~F*h|PO<#yY~ZXlSKpvM2u9W*G2`*Dt%v86W)aI)%aj$3%{T z>StVn)*})36Lk=h>CMK};+FGN(EGhm26jpiHqR|u2jaQx1P*ZYB&3FJeMjQ-6Kz8| zNQb56s#m@B0C3KkYA>1gOV~?;ujm<3KW|_z-$#lljoG*;dF74fb;0Z^JyFU#H)^3` zbX+z9QZ0pj2&CWbd3aZ>nJvn4$kqFk4~N^lpm-9*euy47NKB z4AU9~1X;xZ_)Y;lp_suBgRG7W5d z=5)Qgj56A^L+{y4Nfnr=cpZ_^DtLAo+neS6+43dJH#QgI+1{;>QHy%WgBdU>=x$5% z=v7!1NQaZ>SA9A53ah`Ed8T9a#h1rEL3!&XW07;AK?6x;Gk6`{o}suNr_G*tBP*=q z*I|0pd=T@<#c7ayer&7DKc3~j-E4l&{^9FDRVD_FFz5+{7vQb9zukP{=_Hl5;<}PV zUHBEAUI93uK)T?Fl#q(&@8?*0POH;Igf?tBjH*6h!DjHj8kJD;S`W$c+D(hYT$Z7C z4^Euz9-QtR*^18@=4uVFt9FiknagB1INrIqy)NTT=Lh%18MT9#Qr(ls*!HL298qnA zkrjUZezCj6{L}kTq6o|BX&%z~@-ZvSjpo6t{P=rD%s!svQSb9>L}b&&1$bRXI7e%B zmSmmgLTL}P1QpB-w*y%eJZZ-s7=QX8SdVY7pLX~DVagULlaD;Ax-9)t*~mqiXg(}3 z6=x|^yJiUjVn%Wa1FG7!@4Lev*!|pKHU1ASA5q;`aFHLcnFQ3B>}uz|QFx{qAi+wO zH+y7w4E`6L;FMM9o_VF(@ZoML3hGtjS(cU)X*{KO1JDNABPj~3!j{sE{7m=jugk~_ z$eh~hX>Lru8Sa7(w(KvgvFYbfi?XCCvf*1EPw+4Y+l`$l36G#ArI;U!Kb>551o7Po zjb^L1$9|=37@Jey4}P==Zi92sNsF66>wSM}!zVtw36keGT5krR9}dnfOxI}NirO@J zodsK_dzw)<)sQgy;(Dm0nCbej&V|U3r^ZJ#=nQjJ;>cb2z5&v0Z%Fpp@sCR3nnpYm z?lmvG>oYl00KW$?cx5g8CvHPSd92p9&!a7356Q7#U7Tc1oVYRH ze)jFq;FP{2qJr~9EA42p7p2JdX$PLuM?M@qOLaz_pQy?OEy4TaU(RB<>#JcQscBZTMc`Dk|y2wAy7dReYVbe4c7`9Vqxm_x z@hEW*1+Q2la~9Fg@X`W$X0`i9gl@gnBQq~3Y6yD$rAN@L7Xbaq_f?TDew&2_u$-Mu z5gu$F?-eOURHeIj_#WMG8<>CCBusE-z=!IG)WKVIOf&9){uRFY5jsdd7T$1VR z;>eFZtR@jB1B{dNaUKS~nRjy)pnBuP>Ly#n%37+2`XeT3nCUxh%`=LN6tOtP4FG<8 z0vNty;cN)mwYXdD`PFUdr()S;TIso0i;MH_&rwAxA=?f|KhsI&Ok&pVOviH8fe5#O zfe!&ExuC(oy7(%bYLL6OSO>%Ud4}iw?cT)Q!J5hUSzH#&_@f23tW?=TNk`HW8*47b z@cuQec7i@vDcESZ?{J7Ug-G*>BY%dsD13s}yN)oO-Hh-KHd8%4#{?~CECOgONv%PN z1QX0rjwBI2N{ptj9rYh&$_ZfCd#o5PZ)?YBhU^G>Z(_`CU^LJL5M}7hMMjgj9L)wS zCLYt(#Mny-mJbOWi;J)JWriuXbk>_-rG$@nE%T-7Vn>%8LwHq^m_(KK+(=iOSgbio%tEcg%*7KkNw zR`R&+)iI0k&3<_D#!Lk6ZRwZj)TV}iKV51kMsMS4=rj77+X@{y)6`5aeqH=o1nmZ^ z$!E^;U-F@AceFLfpYTzU=_pEvcHW#|8n=VyZp#I!Yjs0aACZ*!&|7b0e71gTH})Qh zCMRtsjK`H7-+0rDpcCz`8gsa+(oOym*b~4S5wPTTyvbL*sd^T%VZQh)@*uNEvp@@A z(0FU&*4IGON{!*n@Y|m0(6^2$Zve#dbN$&X`A=+8QYxeNdkIqYo@Dq@SZiVa*PPIC zr7Y(T?P!)g-3i*qa$*WC`Vv2>xX++_rFos z!UwNNDHNq~!g`B&{huY$a|!OBjsiY6Yaj>gM)|QpT5w`y*XU2xLOVFoCbwv(9xxsm zt`iD4(A{2-@qdLWd8*?`JGnsVu27wxL_w=m16EAX{Gco#2y~+%L$ocy*8)hgQ<5uGbRgJ48mP!9%R#79|bH9 zab>0&16E_EFHG>djLo3Bi07d`;GTq9XD!=!LShE4ha!vm?B)_~_2#KQO7W)5UU-BK zPf~|G>d~WOJ8SQoVk}>I(~B>=ymM{0#wb&fEU>t9^Z0=5t(Q`o61-IpynS1`afqzX z!A+^nq^gYWan(BzHly>dQaV4I-xi;hFU%-Cf>K1k1e;IGl5xZ2yxN)gwJflcj{!CR zaH_U<3?NkAp~a1nLqK;LfobNz;)Tiy&xM<>vwL}sb#j}bpiq%LaQhLd{5MP76xN2c zgB;T46hTi_+u8Cd={TaE-Az>#(`0VPudCOJxg~p&?tmi$G~i93g5Om<`|R;+rx<2j z^YShB(4$jpRUYKL54{FO^qCn(r|xFZJyMUKhany`+i<5%`)l-J_r6`<$O1`B@5%fXVe-0bh6Msb40?D0ymM9i@7 za_t*LQ<}Qfi>}V6${%1lv2h~!7HQv(P`ZC~!?jjwiO7XXJ5*71;LLH;yFbXWTwx$W zdtd;F#v)7T(b>S6hB}{&VjL1k77p7B9+&ii2{FZ!6A&)eDd)cRkwm&)v> zJqMkv-nG>R(m(cE=6I~cpO1F1kxP;8oskEcaij}5uIIz(+GXPxT;7`hIt%QfH?hjt z;eU1oXMa^eBW6))1t9DG-+qAZIaw?Agn`BN*~2A6^|+c}X7URREQ`K;^)+W)f#)Ef z8rM78Wz=Whk%w88~df`bvfIw(EbtkfouYE5`q^v`q&97AY?AA$xZiZXSbD%XJ}yi?sN)2cz#T2eQ3$?zfALxkR&X@_YdA}#P3J2#sm5zcGdDy3a$v=y_Qh7vEZ>+I zJnj96peRG1$O0hK!pfdcADBwNF)cAGs%Je~FzISERuBS7KS)gL22vnQ7SnC z1PDJ5ZJQkh&R2?`Y<&)q0Kr+N3R3^P(x>y$Wud#Zu10hlaWi%)YCP^1emH4@{PuII zZmS=B2uY^X-7*(-b65sY^dpa!$#+YnKfmx<(Es_V4!^ybj>dd#`}+Dyo|eaP_vpsY zY3~mS$9Qnd6pQxTTPW74-K=rheh*q~XU%pcu6N9lcFlz&V=nS&+Q-YjT;)I99gBqh z(wlo&BKYCET1FJAZ}Az2<)*5rs?@)bT7H07WEp!EDIQ z>yuw9IxN9KPI0^LyHKpD#NCxJGLF`ussh&*Xkn6>Qcuh&?vf}}TEZ6f>y0HVsM|nm zePiWW0i*|T1#J1{oIz`q*UTgghdAETwYHJ7t1~qf>zh>ys#6`OCSgeNg_HP4=cwyR zbQuF^L+F+LpiO1(_%=2V?x86rE?ZlHG|eqhk0(=kvreJq&*#=RK75_y0$%$d-`C?k z3L*Ynx{YJGJd^VG+CZ5wAb3P(! zQwd~d$p@lSPqWO@DZQJa-6p|H)y?My8nYrIZ(W}!w0Sq}aoSLPt4LU%$;+EPUz>}U zoTxbTO5OCt!RXo;FU(r+uA9xXBr~{dQy3p%bdU5~^lHe`>J~HJ4*Tw6I5cn<`s!D5 zM8l{X)53YA`gNp6pa?i`&~bFCv^4N`Bq+ z?DcVASi(xx_pY&s24^?T(YKC#?Hc4Cm#7Rf2v;edxATzKxDU*o#TPi5W*mC@bj*D) zTO~NVKx=BZ29TsPtutJ~L4nDsAWkQyS)sS*HKvtQUM3guAMGH4yHu!64`*x1+TXeJ z>LS zu@>$$Mi0X$n~gx5=1i6fWT_9dt(wHw-P(l!$5(l`RL!P1gIR^xpZWpz&ZcClaawvN z+b_jYW%)7D;z(PLDOlNCD$9@5r|u;CB9T=zy*zh1r|V`cN;i)-We+LrE@yc6zGQlz z^2`c%fXL^4Gqea+)9ci7sxLX!XaD0Q89O;sC#L-bhPqAmz(IwMoZO;mU!%!w>8i8^1vp(N#K>7Vg0^ ztB`+AJ>hKH2c0f-=i{(~TCr{vgla8O=Z zM(8;+lA^f#jn>5E^6jDi@!7dv*G+yKSs#(;$i4C#5w5G7sBG%3C~-y-l+w5~pC&`z zPn6cU#G;6q32+fDdONr3CO~3T(r0JXLAMlV4G>M{1`f@7z#H_-bOoFG8PK{2xcr2G zvrL}F@&Lell4z5t!}s>r#7rKwsLgdsZwJRh$ZH#z*CU6AXljmbeT&$i_1dx~nur%J zx6gwS!H!Kz?AqRib5ZGV?Lr&uRlEi~BK@ovN0RpF*Qa1pSwV69dAaEUY$$Wm`immC z^^Y)WJ!UMH=}IqcDZE(ZTTZeER1*ty^Yf56twcy7=my{Cf;tAFI5}RH!R%T1RS*0>qrF# zw1mxNR4Qg~^5q|)AH;Nhzj;{TLD76ef6C$TFkXGT5H!mi(Mhj$eg{*~I-^#*ZBo9# z47VO7NS~jE{ODg8KaI-{E*0sxAVlIx8IWnI!!+6%%b3vCzPuI{_N0g_M-d{=Q zX;Jks%_q7KggOH*OwI$u#Xm~_x-<}T_+AMyj%+1vKPh8K;z}IFo|6*Ls(Q!8m(~}; z)dD8j<;LUENMeRT&GpjPC3Y|ELHo_8KAWx2VJfO~rV}*y%wG%|G2WZYanev9i#*d*UBw<<5t<$ePt2Hsq3f_vk}KulJDj;-+Jj$LMlix*%IQ(e@G z`SY&(;w-Wq{_0Ie8i8;ukk?59b;u!1_bbj)J7S(SxuUH;fo_DHwLE0*SR{I0Ke??u z06I)OjaSKW_GUcoXsX>1-IH+O7W79^4jl$qlzW1wrCld$k7OFpABQTnLP<3k0=>b19r?3Ld-%6z?;39uhUW9S%Xw8# z=lK=4X6@5@<-@ulObe1cI=A>+LNDmo*NTn;XZiurIvaHJE|}{}>UPWr+{RX~H9y;h zky?i?tI}i)<0n1?WH8t`PZb*8jR4RBQYzwy!JWRNSF@&|-+~(`DeV&OUZw%-Fyeb; zY1DV3j&36%UhPa-eyn-R{_K{0f7`_=(gNFTTSWZP+rw9=vkj)bs0;cyn4h>oQjO{> zJLp3n+q86-GuN9yU4g{TBT0;1jG~unT*NHIC*2@Grv&y~JL~U=lMcUUh3pHr($*p>! zZ^JXKN$d3KiE1Yo8w0ns?Tc;q@}~JKGi%MOQPw1C>P&AsdC$7jdtL&o(Mu-r3om(u z-3`sykQjM)f+x)OlQxCvu<^hmG$$==#@lmZwNj}76-t7SJSD|WR5eftZ<=}1Z*MZC zo|f)$$(>eMGCA)NGTTQ!^DFVkBjwPqdzcQJ!uTLzvev96r^UWyb0iVPPp3?{o9wn{M znr^&XWT1O5PO@vaXTb&GbX6Rz%7e9f-WJ$_C`e++ zfI!z_y7EuS4pa#N&ZYVk>V}AqxasHL#2mlB07)kiA#1D}$q`p|$#ml|5y6PAf5{bIyz`eEsM#Po5=+2%4h! zKE>>iH2Wy7DXaKtH14uUBt?XaD*)5ZzUdPzHq?}uJ~QK~31xqQ!!oLZWR6r7+hC5? zWxbB&)*$QbWx&Y-O1R>eJDsa;YE1q`>7lFP2j9^ZC7Jc!I{qv!ywR}9;Zjb;NYoaB z5e8A}l+{_Ndqw~uW7AQ4_|mE%iPj6*a)W?d2bC`|s{H`7!&4xe*6AMBiP=SlhN_Ng zk?1oY+8*MP*a?d0q6U#@%wQ*hi49Ll`muUa%WIO~Wny2%E(-Bk$uQO}o{KpYrSh5U zwa#iSe(Fyum@AQQrB?CbmEYTOXNq7ML+w_A7lK^v!%2n+?mc2 zZi!njRHGa*`$xP{2R$16-fP_AQ%rgwER;I_)*N!LNX5_XT)p;-#L7G%{m15=)>WSv6&ym6q~u6NVM&Z}NH=*v zx<9yocZp$~vcy&*DjZXBO3o}#K>imdc5^x97Di2B(q_98R{ywxP#K4Jnj9&!nI7*N zwhXPAQhO=h0Hrulc>c1_k2cabiXTQsxTbyT>R zq<4s8wI8aS1GI{21hM&%am4;RH6Gh0b?G(w-?)Fig^M%&g%_*k9(5 z9l=R*9b-v3gbH6BZKWvWesa$*vZ-IY>r52Hjz%9EcPaB>H<%%Mj^{0Olr8|=C_E~t z5>M~>YSsBQ{}D^Oeg)%4>GA%pvOdVB#CI*T2`sC$a$27z!k~w!MOt&1T7pDF;O%aVe=%!B_kX6&F;sJl< zOX=a{)Msv7zI(d`^99g&-KY2B#JtZW7gG4%JYq`GRP~?y`uQND32JTVNo?D~LpV{U zda>7WO#j&JV?v)8h<`Gv8&o(?K@a%z;pWfQ@@Al7^f3(AD)2}MU#D4=OM+<8HWJGx zX0t*{^AKo0%ELKq=(|n_EIWK>kb;o0TzrTou15P+{9Cq}!ee8b5*Y9N{scM3FI8#PS3ah;8 zZjNYz>BafmBNR8gq&4b`3)-jg6|sk&qOjdxsVKFegzgsl%SUB3wJHb6CwS)wV_-ks zTTgv4)uDIS$ybo<6xKnFDLQP#9k5i#+a8E9Yup~#X$1~p!E(13RBp&>bu|-x6r_m4 zFeufo>6X4h7R4E7`H5lxO0U?`eiq+dIXDv6YYBBnIkm@c^~PAFS0gxq;mt1bzkQ$3 z9?>M=VU3;k%$miC2`Uzcuw<+Dg6riS!;{Ev@1&B%D{+UCq4=TA)=r6p+=y&K)o7~|Pq&-tgN&%Ju>zCmyNxU) zxXJdkU{R3!Y?~Q0VG{|fRudr`A;=?-=!EJSY;Ia`M+Q07unzRgn?z3S6%~!gf0=xr z-Y|Re#N9j7iutoiy4yg@tBN^mR4U7kSB9vs224-rJ0BE3&zj3R-}KEUL3$D66*T4J z+Vc?fi9Tg-SZgpghug284(_5af2cnY3#;au3tp3abWDjk>&EOTGfUFEsw7PwR?Rtw zPDx#l=0tigk^-Y9?w2y{cO)!-R{BnQ`HYJIKoYW5J*xP68QvR6FZ^Iu%DDemRV}mC zc&51`=sb7GKAE&G60=@<-PWNDRF5jV!?zHykR3Q3ON^}G3RUCxLJ63$7c+Ga1QBKn zfZN{02;N%bd~SA2p2M)3Nk=9P1JDl5oeIx4S`;hhZMNonT>K35g#WVRc>LC z-81+yUu#9i<4$7zkaVh#iMxaVpMHj4#=NT;rr%!bUHosx z&8S3pYyC!=lx@*aJ*Eg6iqPH&8&a8w)Ywpuq^@ZHJ82FDTOcWLfy>2{a=yv!CQdW@ z(KD;_HV;ZsW-71wPii9V5a~DmAyAMat8i7ROo7BiCP4!q^%d@Ae60V7vm}i-K8}-8 zd?cqyBtY^0sXr!xaX1kd{Y%)aCugqh>bs_HH!uG=0>7L6q7Gw?2S2uA;4Sl!Ma7s~ zCC|CUnWi}9f?qu0ZnlXLtq2qOfYtFlgr6XkCdTVd8-WFSZn>@QcNjiJv(7NFJ}YSX z@Lq}(N~4@j#%{<2Qdr$Xz3zFo|mSu;_yaf83*EdP+9;$wRM zed?+P$P#ZqYCmD(11Sk6)MO{m&>dl2dLPQHguNkjrX}u^PP1o043sHdY1+!)@Htfo z*1RM$I?95xJMfp^ozq27aU3B_PC7ge5TAQOiZ1y)qrfY2~PwSuVQ2{XL(0rKNL+s2EuC5mqJ{8cf31s zmRjp+Z-5Q8!wcz&I~0#>Kah--k#yXLus)_GpJrdOf^a;Zza8GoM?P#^Yw7O^?+^zp z8hY4Xq=+4^sfvl>ja|-L=b*Jdvm`$Ln=;~Ht7#bw>1C4khbeEcAK_cgkeyQVv8K2y z`F-Sn4Z10$iF&b5)Ws*J?`MgK?oBe$v?mnuIzekdr;s<$nrAfr59r<#W3{(g*ko&U ziecOzkwPh}6xA%8%1<5XvoCVZl8?Fz$%_uPhz_CJDrPvL0mq_D?dm~IY_4zOof3Mj zXu+$BscQ=ls-NlX?>?bIr;J~%M8`}2#)peM=B5DRuB!x|GS6y935`sP5QHj7XesV8 zz3#}NGy^&otbk7>DAzB6gi0W(Dk)B&`nWN_!)d#2ZSJJrb3kxa{64)beyF^(zb~!e z+P!)EI^O)gNs*a4PuOjC+?rA^~fl!lIv zjIJA??Qy~C)K)&+ux0%|qt=3s<2HOqc{mkVMR%P4OAr1@Y1r~H>xP2K^Vk?U)|2?aZQspOF+HsRrD3uR;*NWX$w7@j#$3va!X zn}kIyQfo3b4!*^?JQ7Ry^nZ?T6ejhUMqHbUXQB4(0mlO}Mpan58}`PFnQE7xw)4S^ zJ&!ulgzVa0{h}%Q7CFtWFKOkH5J)s_c;+>Q7dWKRJ1;Wu6~=_~zKzraR2>{t%W3iPz0B zts>)?^(hGx8`6_|Ka==4LKu{ZWgvagWNu`$wdOL$5xJl9-62s`c^Bs%$IqI_sD=;I zb^GJK%RN7c5wO`eeCz1ab-~i~ATl0xR?jL`dzjSas~37V$sSHv_h!qMYejizu}-gR z+rgy=M<2fqe;V>dk)E$oy;P+rsS@aC#1mpw*P&=Y8@ zfMQYFY=sJ51F2qFl}VhkLGD>mP_}g{?Jy{mSks*s`AA&sgpYXB^$Nex_2LiXi^+sx zwD72m|12n7#$?S5#J~qlGEn3h#7%6TL&*IR{|yljc;wp(MbrA!i%&p{Ea{6ef{g6W z%^lp-f}#Uy%?QAf%{#@TCWWyC*QuhAvM-_3gqrfJC?1-AIQZnoiuq=yi`U`%%I^mqIqoO)HstATny!&t*z!` z0j~GoISl#5C4>CF#1lYR=W)>eQ|F6mDT&Dq71K{@nRSB*Gy@g_8e(o9f3+Rf#jqdn zc!U>)A%Uijl(U`6Z@3$_OuO2=GjQ{sbtR^WnQy8_aiy>twp70A*D;FM;jBb83{9coy8;K00VI)X6~ zc(j1-Md5db{W0miBFW;bEM=-%E*6L}3xWODvv=fdVI=TglTlVgX0@ zu_FSgzjL%VKlF_~*@s11kal+QVgCfAO!Eqr^-#tgYl8=L%b|ip1E{EICXrpG*<#tl zT7|Prt$BW2lRqlvI4~K}Ovhikq2hwWQDe6653HN;|GX*9-sC)wdqyX5T~t57xU71}ZTlIQfc(t?_bN1!q-?F6Qyz8J<8m*rDF$@_vL zCN_LaD`aP@bd}O3`Fqsa@;@N7y8ic3>t3|2m)Ql|2z~T-9OI;LdZ?MN%WP=iy8fk^ zU|AdD$;BQ(uq2b-$2!FIavGW8WfXl&$di^}ocKO>YW7x&+wGZD<0SME0&;mO&B;WN zExIYQJ-R5L0AvH3_MVsrn8-)|t=i=K5?QEKq-pv2;|k$DHx0b+2}~&&Z2r3U48y)7 zfs)^TFKFjx7PZ9CH7+tj>6gK-s-FmgI`Vub-ba!|&^qiBF?2i%jy!h9$@4Uqf}l$L zoT)I}t+s=np%Di3+57U`hP+I2xn)z_N=|9I#VMCDyjb-v#WZ9{re%n-HeMRnldb$7BQ*oExR{lL%FgIclc<<&gK>j_n{jM3$9~C= zCu>owJeC7DifbRt=naRuzWUWQO+V9Hz9GNLi=V~l@j6-%(opUkNGg>+Z*B&tVs&e%=xr{w^o9 zUHGz&C2_oHPOg1I?j-NY-h=Xci({cJL(d8)>OT&NPJ6osY-k@EI66h}QB4N_DE&X2 zy=7cgPt*n~4bmYTxAl)Dx=g?B3fYMzO(hW*?w{({@+e zu5Hcok+UI|nO7g15H5dK{?ax7!R7jj^Z|@jWdLyAPCk76@F$Kxa`dC{a?GZ%6mbB{ z!ye)0!66=-nP6p(#8!mOXn<*qlv^IVN_WAtV6YB`x*K*pZ?SLU?G%N_rf)8qHKAk^ z3_br0ck6Ynt1Wurtcd$mfv7Y9y@EFY0Bu8pn;#qcGbRZ>c5d)@gEEyj`#(s+je>MF zL@!r*12&#Emddaoe=RCwH<2Q0987QC6nVlXugsaDZ-3r58ht&R?v1-=$hGUCTN}=K z?EeLhFs*Fo893Ys7Z*8)olK2*s5#o*m}JclIT8iHy@|kHl_R?EZyFr(Ej~Y0V{nCY z9bMmBp?A)dRz6Pt1};N5O_dmXWQiZ70Ak3S3hrAfxh6rD0hJjqQ!XT%sVz04N*XVb zug|NMKdvsV4Hn6IipDWPf)VV|f8^6qI3k0}I|WAp$w}xb3q?UYa?bNRtxVCccdBv4 zo2WGaW7B%#kbUi`nRsV@7eLwgr9ni0JB)ly9P3dmyvqchzP#{t&M!*6!ho!eB`4!_ zk~L(k%~fHf4Bdh(Ik%7Idq#Y&iq(3v+_u|KNb~|1?%k{Po(n4aD2EM8kYSUgw$pZM z*ECTYW}%SE!M)f*SW;7`hy0c@D*F0^7La9Cq}W0v&v8zrfj1fgqipg9fxAzr|1%6M zj;QK|*(w|PNFQ$Cz`~EWzgx?c8_%{XJ;|6>b)o&#;&H0^&UD0qTV8EZpy>O-Mg8-d zYTL!N#L~BWfl3BO8a>%DJ{9h&@$&epH_6;m`{f!F<+b@rPTdYwY z3>*fjx?gv8>8!~DoZkj~3JOZl&?M;#U#hgP>~2Ou1tAV)RwEF zV~)hD<`(}D2x0OWTY2J=CXEe=7}cX>)vE~!Gbi~#c}jfhha;~V;9H^>pMdHwkXmr4 zM*2g1(SHG<^#;Y6GU3~8$gP8 zS`by=`!AqI?>iW6K)!;zx`a#5SFYBw7TK1Z&VE+WNN}!{0(jbw^1twujmKP%tZqB$ zvqqJZ@ftM!OdDIt!?nNDSM;khypXischAq0+5ubN5N`$aeGe2r6*WDzIwZapDgmtJ zS0J=E2h=4myCZqYyewzV#a(8%`7-iZogKSuisp-Jx_(ET4Z_AAT$vxw>X`s8-J`_ zo0$eG-E2t*N&X_DP+NvzFLfDB>J!dGGVQ32vvkYTtZ!Fxap0*tZmUn9zcojE+z=Q1 z#`3ZlKj~%Vp3t*Bm}$!!UjAD<&8&&JaS4;qhm>yf$Bc+QpMOaZ z$a?nGRC4EU?2{(F&BnT&>(!t3hZ%5KAhC6y+d#0JSD>vAg^Z9dI-YUmkXxk%m*o{! z>LfUA1As+Zvsd^JI4B7-V!3%6Ucev_uv#-(X@DOBS>KvLAIw@S9RCL56l?YJu$g*u zw`qazh3D_#l!TrgmOUyZ5Xa7P6@Q$DgH7@HJS)O|Hz1HlrAt`1;qmjHm9&=>VdcsT z2HcU#GFjvyIhq(`A~s>7G&V6y=My_`bkU~;sy?*3jd`7VxMKuw3^7?wsy9qFsH`=v z3sIxC3B6NMrlkz3G10i``l{x21Vw1~K%Ll4x}&3bau>e&elBkTq}Jl#xKG=?wE;1mi&qFt-U?z&MeaS zl0>RcHp!O&oug9hrm`BE!C^DQFn?Ylql*_JWMv`#p-(!WO*O3$ULAU?sDwUqtau_yGHtxm z4rJ*MB4s$_k5YIN0BPVYBJm<8j26}()YqvsZKga-vlTuigr67mu)6_G)@$&g97sBu zw!Z!U1V->>2kOBZsV5q$kVdI4^D|DNrbtdiW}e@}sHhox7~Wej*8_&6HUdPRh5pEq~Fou4=~F+@o}@rj95+^fml|(IQHp@u^5<=u3+{^ zi-3br5E~qoAIrB={`E>~h?%i1ubg|}e#&hKpC5}nDlJruKY=B@JdvMRx+ReB10n1F zN!sF)?av5X{Di1Lmm(}(WaJZNl_*70!cdWPvncA9l$c)nhi|hzHQCeh77xjIx4xI( zRgcrkfRAHH?|Nda^lE2nteN$+q;d)1MUe_}ouf7)Ap zv&Z+N>&-S8!mGIr&`1zp0wIEI0tvNqmm9pQ6cbGra+5b8cY+|zfaE=V`N;Il37y?@ z*wKRCdD9vH~X)siV&%y?2bfd*%1{;QB9I+}+jj2t~jm+Qw$eP(TF0@_Gw zBB*e&if)J1UH`jL?=ob1u};SH)g<5mQz}d)3xk@Yw3izN_(LYkTu1YGnr&F#aUW^ydmPsua zxRTKzRu0#onpH2pXkj^>{^pUNxDA4IZCFF`sq*K*A`~f3kG@mN0uFe03zktNI}C8+Og&{0v=}8OI_L#>$mn zqsA7W)+Fv1Hsf1uzN|K{z~kyEIRo1FFT=`#+WV8+p3f_|yf*ljx`h~|g`EkD7v-6z z#ye>u^J-hAGgQpUt~ctbAxj_ge=nmNH{V{6e<(W}Dw=tf?IXh;>2dSf?K6FJGKT`- z!sEcv;6ws;;_%cV)&pPyh9d-KI96MvaQrnK#bJgcMWPx@lgplC^Uh>$(hi$m;K!ae za+Ba)GAxxZ5ogjz!?`DO*}cPAeDyeHZelVzb?#4eV#d#x!nkiwDD5xgskV&DUv)lz zixg?k^Xd?FRR$#9729;0Lbo+q#&6^gZ^GeT9k9&qYkb7TByO~Oe{+i&efE3NRfy$N z0`nn8cGj5nWQ6d6Kmo8QS^UlJZLJf}aX5OQm%Au9Jji2nsFM+sh-gyR zjpwB19w(X^z2hX}rGP2CQu<&7igrKO%6pA@+U}@&gq0tJ4*Jb{rnLn}tD1@)o6ify z?HlEGa!5MfH(dK2_}RrT4=R`Bl?vCnI84ETD3Dk@bSd-Djf!;LKMQOK9jwWZo?JnR zggyBB@^srj2+lOo_A#@jp&Sv{<7TFZ9S6LBN82I93r$orfckBZY3UOgXky1nCi{zA zwfw;E{{DP~t)KX zGaq%L`b>;3I5p2LP>6u&l+>(O3;<%34!~~TiM+gIsr~-}j#&UT1Q9_F>JvcGWBYyU zg1xT=ZFvRy$p)OLX%eo4dZI*JYOI5;M0t3DORtd1>u`^RAWNLe?P^qXyPh;c+O9lM*N_kP3apV5~th5wHcdBd3q_Z0-OyYd6-)a@|j_O{3|u$0ua! zHmPBSGVanlD(}cXnG{8B^bT9%iZE&Qaab&p@h#$em)@1AVvlaflOHskD4w6YUA(Dda*|u9BRb7(prbRu1c-GI3}Q~qa-N(&6+{W+wJ9YS|TXb)#kCy zN=IUQCnPDtImFM0oy!@srz^>1?y>I6$)|y-jtTM2d1rJ`zx&@4&ZQ`tarp!7J5^t> zg*T-m$<%*+Q7bi^hfl52X?AEgV{;_uwVkg_MZPUF3EnihhAde7OtgTsAUYiP)IM zL63426Tb&3k{7IvNA0c5kdI{A4h|rgj+;H(6C%h3Q=R~^O=6*($Oo&h0A?1tymJ2= z>I7n&F!vc*zoU=p0S3n&!D5?Aal-D8d|c<=7@^KexVASuP17|CPwFT@8t;}7S)uUV zggc+?Z=SoqPaibOtVH%?4mLnXa7dtoXt=ftSS%6MXl5OtQdkFo&@*q#l_DK)uYVuw zJ>3&3e-HPS6s%@st{g_+)kbyFeD}Mc*$$KCHW=}K_XI6~D4+$MozOong5;74j2fnH zCwu!omJ2MpPsH}^t&$DslQEb?gK`?BdMDB-B+4Uo#O7j;+u_|y0zw&>4|}}sZjkIP5MC6lSCnZG zb!gV3A9N|q&JFJHUYfXm;PhQfoD8Jw*l9__DMjEFRo+m7lI)j3Y*oaGTiTyq6|%#r zv#)H8e2>>htTHrU5BywV2zo+rDjrBlwnRZTH5nftcy0)7KFuAMN>f_ycN=k1LJ3T~ z5%yb-9tU%3e6(vQiZfp&Y~w+&iovhRDDDEVzsOgVyCh3yw+G6L{^P4pEGU)0BZL-S zlFAzK*sds+@iWpYpL;lq%({0~%V&Ov0^k~2T1Ha#pR&bsM_)YA^4=KjM$Ow@{xl)o zhk9K(G(W`y^WE5s)dZ#?IAYP+;p0Iv({}ho!w2#Pr!vWv=#NygLvjz@t6q0y;G~A! zCn#97@k$K4VG&~Uf>6X+I3{vlv@-~VMDBb|lh0M+Ju|WC(2W3xvTsK+LP3!7b7R^N z0i1?n1N`(+^8ru1XW&~gt5gugtxXoEj-25D*Hx;p3s@uM2F`1 z^6PZ5x8J?jBK#7z+1&3#(+8eHb$Q6&Ql7buWRjyW5*H@Tnj?)GreiNauE{?cGikVC zcj<;x5JGA9Ye=>V$~`O1BockRLKYFJ`zn(?AvEwDnZO zMgTGW)@RVS#$qdCY3(ZzY%2zt2jd#|_Un&%;^AejDx6_KtP7f-#ws?p8>Nwv${Ddr zqM0g_Mo6ud^6pUZ`bY^G*K?4(*= zE76tX!C;EMLd&`SlLsbP)9RD$XspR6GTyJH~nh` zm!t|_I+vEscsi?N=6kr-myKR7rP9!G#|p#vPdnh(>bA%SMOg>3aT9e|@ot~9OOBSW z!yjB!FrqA!6`L)D0hVL|EVLmi94d}#aROQ{@dq!q3M!Tc?Ta__5xW=JPvOY)J}fou zwsuzw+QjPMzjt1rOv?&AVK1*oMsa(uP~mP$^eM0_!~r5@XxUozk*X_-@;WF+FPMPY z@#<8o#(0B5>kzy(kS3&m_;M`Q4V#)obgNy{h~@cB4a-ei;a17K*L<95p--~o-PQ>T zHu=$lPdsp?t>LHcECaFx&?VyP5Rxa$#NelE-9y(+`&~z$vEZI90}j{(2rt3g%-!Mh+$&3v@veRk>D*BD^*oRVx%8= z?z{s%Kf1`xvwklgH17XUs_#Jfg?EHVOn+#HZp1>DoT#$(+CE6T`fgplSc~#3VroY) zO2NoE2Uj8Ws)0|hgCAK>t+>UaQpLzdKrquMH*L0G-B;(X@>-#*T^ar}Zr3-e0|duL2ylK!lU59Mue6F0F34}d+2eS-x$J! z-}s31lfB5U^Pqj>63u%;~aEP3n9vrkJ*gi!eRSDQOi(~Q38$b?Id&3!8B zjOYM3c9Vgm#d>^3C87ZHVf(4yZ@23odF!Pgef9H8Ci*1NCZV|f5mdPLK1*%pdE9pB z$6FQTYt*D1{pTCk*_MwfDlGzA`7cvZKR_OxC7Oh(ahjJ%La0)zKOH%ZeT3Zljse!3 z0wo%72s4+%xlK3#V>Zbz2YdfGo=6a1N55Sm(B)g9g*0YTL4S4>xq7p>PB#F*Ub0Ad z!gA7~1LxW-0Ugh8OVkAaBs7{xmqpTVBT4B=?+o@SE3P&$rBXAmAnW>Z4u!h87@p7v z_fu9;^ynE_ui>$=@TMr`pd;%?KDSauuht#&p>dbYT(<@HPJ04Gqvi5dM$^hfV&6BK zHaFi_YqmX|RPRP6goV~4J!{%9+Cb~>Fyvd*+N`uZ32^>^*LjpxG~A!YC(2u!IDCf? zO5T(G3;@1JnP|B)I&F2WVhu}@-SRR1`cHSytkO^pMk{*aK-!j+X}{_r+}-^GGa@Wg ze$r=y>d^(xP3T(@5zS-5a~k1S427Y)OI;&ZpMj15`tu(jNg%b!3#X@b#DH1nlD^t_1yU0F!LhHd51LJnMY| zT5ID!pDK^H12_!5K49gGmr(Bj+-Q$ujsq8b^o#qucV;};f~|*!%`OfsdjX8lPy;H= z6?zQqSPIq}$Dc3UcGcOqKCagWzrqYOCg59sYFGmx@^Y1Q*jmA1dln>IcF@)UQZc{cYHQ+bU@{1Mm z>H1Lz`dNzJhUjx;~5mqm{-$q zQ~<5fu6~z|K~?PUsf%Mgo*IHzV>g#~T)ofryzg42pU0?3M_FY+%MwA_qpNi+K#rkB$ZbC$ zP~7B$CN>FREv{1{`>`L7W9r-Ju$qc2_fO_r$h*ivt1R0*{*CWqyN<2DcWC={KYy>jE{fu zy_@FN{F^Xj{DLrKi0KJ(UlLtH9Rn=52EbE9IO{e0XKveOn@0Y`D__fx0o^P!2JDJ= z4Df3-FrU$AZ6L*MXJ%T#x9O!@xl_2iw!rE}9uLv=Z62DD&5Q`%C6siq~b%bNbQWJ)@7HUDsaf zR}TN#y1|})meyA(R*kNF$w~{!1G*K(x4T+ie;n( ze-@Tv1w#a6QlqjurdZbN-<#^(Q~t3wed71r*lbRo`cT*+q|O_*|Kje@+%qrHy&ko{ zL18-<41L1G2;#HzyvpyMLqNE?GBI*u=^$me5ZN^I0TLMi@uiR#Khds{aMH~p`Tv)H z$j*6=o**7FoX#z zvw@F7i(YGJ5QO?GqaDNc4d?lhSA*2#Jr6vnY7H68pE zS=X4U)e+`nfmnLjRFxgf?1XU4u}8)-5Tf<8rsnstN8^P@dQvXAwx?{A;c&7;F_e%{ zO`S%I2JBhqt+qYjI*SJ7%0`sc6!|2!deQr$g_4hQUK0AKO7P7G(;I}WjS4dcq}8!a;l zcDJ3;KaJ0bm7Dn;oD>7nM&$7Wtm)T~Ka>@0LG*}r&rz+zK=*}d$~_N8Id}SG&CCvi z@<1`Pc1~GfOZZ@O$|cKt)9UWC{^?+D+Nnl3W!7C<uhUp+ zk*iKlih0)65%zzn5kF>Gs2ZCvaAlz*vwAV6*W7e}8sLATBmCgC?YQnLuE1m%^3*Ta z)4?ra2rGXn?H_x4o!;l#PC@c31e2WZs>}5J2NA#`Zl)pEf(BMa2Fk)oNPVCix3qSQ z`a(7@%tD#4ZD{BqrTa!{9{50f^{{Tk#oU4KlSW_DpvnEo9EC*Bsh{Tw=ja^O8qp== zr(!-DGrsL4n?`}CeOicTIzE$JO1<9kHWzeWF&;i3Pg|9IYk)SlN0aZHmptXm2L)Ll zXb27_on8m~J^?LVyUp~ak9C35S6XRt!zA8&$`f#QPWGm7bx)nHB>@&H+1=$v`ab$F z^RABR|3*eaACozEhW#`ty$wffGVn^1cG=iM!DhnQw}heNnK)%DQH~%N|{78uVm20D#%kd6pRrJPpgmWv;|kKaWW*M-1|K=?CAF8Z`z) z3jdf57w#cDV6h4OFgqlld(j$#Kh1`@y~|ZGfS5Ve3GLVJ=pAGuJxvrPByNBt z$+&xcgEyM|K*ZpVEmoT*W5g2X0OUp6`;h2SGK&Cc2`0sMpMC)IybiSeA z3Sh)&55*>5acBwf26>3P6-qVU9gYg%RY!dLoCPjhQ)`E}U29C14P?7nT-;6e` z+Q@F~cB*0|-1qii!W|1ePBS@ZczBo1@RLL3Tj$Z>jtEzi6DU$IF@yqAw7&XS4AX7iJFZzmM0`R>j#E8N#jqj;z#MV6nzMe4F z`feU_aE$1aVc=bBZ&2WDwkvh?P9@A{&9Iz4-;raP>b7nhsfJ{2jh!cOP7Qw5S3JIL zlYX5H5&K-@gez-q+jsJm0*vR+gqT+&N&UuKxBIntg|Pz@qhyVu-6tE9N2NY7RKp7G zJ2hy{%v!Ky1rRne85H-%4f$J!=Js?V})hn)rjx^ zo0pga@)Ci-E=If)etB^ezu#+5q?W2L%V`%$+r{uhKmUxbKfNTM0_?0BR?bSsD}(77 z5NwA$SOH}5on+{hri$omT?>wuL4QEB1anzfSE4#V~mi~fyhCMoVp3)Ffaik%ZK1&hqLb*uoNY31|H4Oa!l z+_d2+U*E8S2#z&`X_h^ll!M<2t zOpvF=JYK~_mHkAe-&TeX36EiKVirt)1tRMR?{RzMah)4=L z1#TXYIcP*c7h<;vEN30T$V|#j11;~z1;5svLc=r0MQQMA=|w?ACKqzOd*0pdJ4^tI zCb-J}DCPXOdrDiIF};znvVWg{LjoQS^+F=jPp|C$&!{*wy8)um&1E=Ly^f*gFX{do zR=X8gXe2y40rdM{D1&4+Pb5I%v-=FT*UO<4r)OyA;_BVP%vM3s)>Qq0c?d>=+n7CN zQwkIzcQF~}h1^?;CpK}N``-Y1a)?1WnG5mRt~oVe$as$(AY&rGGWY9oHM)d)&sMmxf?^ zkLhQYbIhydv~fwmH5I+dO{t_bY4mTy;7EAqT9IFfk2qbs+M42j4Uan$YFH>Rt^hVC zR6=sy`@68#2MmYl?P-SkSNe+zMRe*!(q2willfohw^ zgJRg(2^*V@QJRnBfrzc1XGXWgL5MH5y(rb}!s3@ksCKBAu{2--$Acga*QsCasj!p1 zT55?ATM9Kwua0PrLwTXDZp&@-2j$~!wwUD{IiZZEV<=8 zFy%GTu)H?eFI%6?a~ zy7dy=MdS0k-fU7kE=mDc=EIaDDxNV=QN&<>Z(H+Xwk!_Fb>A+h-@CVqhE(N5rq)a| z(VQeX3(L`3KQ(UP)Ay0{yYhH!bAwM{i{MEf#Jc(35HG12;5RNL!a|2Tzd*G1)4x-T zME8>}6Y=%@It0mhE!*Cv!>W5&Mn0*hOOXMARsI!82QUzLqJ$Xh!Jmj|c6aK$R!Sj) zFDKr5U!++zP&zup50v;=o@GghQiuQa)I+#@#W^5dD;_oJy-MuN98=jPo5vai$*;r`o(2>NYB|S-cDMZ7TAr zd0s($`AD?eQ;+v5#EwWBs!({aGH*HiYNiRnvZoM6A7{3EMf8yG4uWkx{LdR+{@aVh z|LjH2^~|FF?nS8nU{H$n#F7FM-7C=B4m9Xb!^6j%TFG;aUF2-dr=QM0=ARq(V618- z#4`@omNs2ekCfp^&O0cHE~729vGZyiAhI4>PwS+a6xzCX&043egQ~Q4Xr881k0RvE|j> zM~d{?%ReD0ouL*EA}E2}0-X!tB@h?z*T3@?fy=^>X;IlKEb4#dzFRSylgMcz?PfA! zS>W>Bjb9jg+pb@yDn&8jif-)6!fky13-H63C|QQAd5`W?C=8bSL3Hm>--VzoEZI%p znFaWwnTP?4=rBYhpmKc0P&G#Gnwib?gRkZHR8cYHH?tMSoDg49Cc zNS084r5s`XD4wxD66)BdhJj5+K&MrG_@k?`aS1(CJH(i3pRH@>bBo(ZTCiRFX7V3X zBk$>-L^{f6(~B}{UuY2Lh1ne*b;}cbF+4S1D%92?6g=ruZ>v*Tj_O^aEB>z9UQ@D1 z_UJL}Ml4+g@r+T-?tPN{N;z>HNL@%5c0SD(DK^KPeWVhJ^3Y-vj1cZ1GgB^AIz?6kD5D32T01v;OkU=SqILG^WX z#_Shxu^45Dj4o7EEk+cFig{cM2fOQn>RX|~$>-^l^_{^UzoM9Fi3wZN-rS zA&$;&sb-&Y$J+yrq;9JhUg09UY%m|u5Yi8IE_!)|@RdjWdACdSK-oXQTO-~O@CX}WUuX#XU!SS%dq z$Vi`WegCY{#U(e1yUT}K$IP2G&S75G$9@p*LTs}_%wRe33P=Crf#TD-N~$iJNXzb= zFxpo(0ztUO{{8at47G}%3wSHhwmD&`_{mOOAl_GYvpnxU0fA0`oro`hSH1O9b0!+^ z6&q=vF?zjw@fcwE(xkdd%jMr>7kiPL`fLY>4-yo=n7N8>!cL8CDWstT=n^}Yr&?fa zxzwZr&9-~ys44d|C9Qf-6N~Y#flaoEpIQ`)PgAFFYP}VPJ+X}xX8m%;<3~0bm-7hp z6*vdF@C|Phin&nn`35shW9c~ve>oN*sn3MwroasOmuG{P8xMv&r^?ea1!+qEevDMU zW(~@xWa1H>I@?3k*gw}j8sFd>b5J6)m0A(`+waen5)v#BfuHi&Nu&}BnSEHi5lin3 zaZFYk|6YSxv5dC#D{1w*Otrj8Y_#sG!9@;mez9U{$)@`0ffor+QVlL zPzo?8VU$YDI`!yULJx51H^`Uc!P8E&1o=PCQ}nQvK%l8`C$>%4l6% z$e!x?UZGB_W7gwfNw3s*pf3Vg1PLDG_mABP#6Bfb;@*3V{E>aGb71T6?qXki)KLK{ zwXk&SdNVb=a1w#H{_YmYSYhdzEUS%r5yo08cW4Gt-Yh*rd4V8L*zUrTV>9<{d~cx= zTa*?FVsOY{<@QC!07t>_Q}pK|=A)22X_0IUQCfV$T7M)1&~D%(OC(4-I~M#fjwRO1 z@91fV3uhg9%j1U)RMHEFcj5DmtA}CC(U>X}hfSmm4(KVo-UI+|_dQc2x8};DnTZ)p zZLk*3S{x4t;Xw!^f;(3*5eX`k=N^Am0A<0td;VCm@%r4y?kJl1)@kkTh5qS;^&4SJ zxHSZXr7ZYTG^*_vuLqT@pJ_G(i9f}VW=Yg+=};VE|B1xG`)a>w=lL|Qdu_}IFG4~= zT&%T6tLJK>rRNkIZE2l6phhgeU(`phW^==CBFV=Fe>`v7+=!WE2WlPx78{Vk2UrA` z!7^g*=K8=QTA$Y~~u~y~;3~;+y|) zGqkAxWc4>$N(bGCz5Ii)j)u)o3W)Kf6Ofwd51It}{dSJX{m+Lo40e&&C=QqW?diMx zrw~y|50_H0l^9_NTGBp*w)hD(69WK_h;vg*A3lN?m4fGTtFOzgIUCrTSA#pT3hj;MGOLC33n`i zYO0<#cEq3>O{fpY1Qu--Q#&aVA4>mR^JVv^|y6>+N&D+dVZuVT)H3 zd?NCkO_EvJ(5JJgmgifHl=!7Jd-kMBy-rlbWFn3_J$ucP1H#`Dc<+C$(&`Z5pxaMp z`_(MT9OQSH=LPt+Yyt(j&!I;e5Js!bCvsUM4)0W0Y)Mvt$jBd_Q;lVp$6H|*kp7r` zOpbC56&3k=Zyd($H8jH|R%9n42Nla^Lrmvof1CxkF0jDJ8RllT#o|Rs>kDUk71E9= z_W9FV@7xXKrqP6INbMaXMtl}Bkelm`U1XD+0uticO}8XM>F-Y`$H4j^-Uewz7J%!- zLNdGokTo&<70}BZ7{HmW^-KH0ezNtVzrqPx%M6=oy9eoEoOT%NN!I?O2q%p7G`ON_ zHD}SzAY5ufPJMydmh)*fop?{sg#doNn1gW}9^7M8a<%*Yr2I#|bH5~Q@oD{=$LB>r z1Lia3`Rn5pfonJ+T(WYbxr)c61`^me$Fr1=1x?}{n7g>L!^*RdiE7eJP69Ed%A(-H zKc-qR>VeD~bfma3?S7iBwt2+CfVNn>>Xh`0!JT+U0bc&KOs5kIFXHW+2D;|+-_Cx* z5g_=ml6tHXvzFJ`MrKq5ZCE+86pC1Vi`On0lJiEScJ*as&DRyVQ9qi2Z=NdI zS8}SpyJuOeHemc|efs2$VHiK)Iz8I#QbBw4bU9%_pzF*q`^wxP1*qV8epl<|UiuO! zbX-@u`YA|t_3_#SfwyQloj{17C{nM{wSQ2`R2(Yxk$ay19*tD?2g9f`V6X?7i+hq^ z4Q0?cvh~akZLni!k=jV&8so}jUp-F?&a&ik7qMOR=RanGMNGnoMpu|Mx(#Y6DusdhViYGDdQer@twv3ERpki-ElPzXB9s{?_9s0}b=nwA%06#>UzxBJ)vsFeV~T(-uvdbgNhZUd1`CX>@{WEj z-BpJuX@TYRN9~0n6nce({he986dg0-rgi8_WO%%cLuH{$hN`v3Zv1C7`CwQH#PyTv z5CuC$=<`QkU+T)+Mg|ruYA>#XMz#%Ibi1zZimos_M)hVG*ZGG~CVtNat>=!=ULBZK zOv8awrF=rI3U%rFUl86_-1_Q1v7a>0-hIa+v)v2U7w|Be@}>py>y&Gms~gD+e)h(H2{3kzQ(i3sHKd1PUA^i*DnTj{=UziW>B zL4T$JIj)m(StGyOa=?9)Mx5eUH22PzKki#*9C-2<7qB#}I1iwy5B^yNjKI9hVG4b) zNyHExVfDY?*=QL41`{2_#EdyO2dPhA;Q@9E540u7LFsDVcbRo>G(|sFQ?uQj%k!_f z(hSRx1`5jG7Hhu}z}nz-i)k$HHS3Ksn*fK>ybV%<@} ze?bM7@e70#8sHn{sISu_gG2ek#Tum^(G97PmNas#(l?hM0vJ3G)VNQ~HgGOiMT;%C zB+keL+0(&V!tv(@mUJqzu!#IWPc#iyu_w&R&+vDo+XQeVDU(lcyaiz62zt~o{wiJY zhrm(XD}-wj_>^J1Kj0u1C{A_IMKY#E@=DEEngkdAJnVdxkInbKvU}{qjQ%MY9MjfB2@|t~F)|}@U*Pzw0Apee#yPmCDwd)py z>+5qAQfpx)dG!ZPy}GsTKYT=XNZnSuB5m}$rv7vpc%7RH=HZEd&W2OtHOn5Rdh}w& z@(n{BA?wF$@WD*uQtXqB(<1NbytRIhh&B#ZtZH6&|C+avCbfcu8&|8xzJYi-qf1nXOSJ? z^5^xp5scGtx1QISbNe`Wd)e|y^L+w~-wPe1B@p9iVgL);QUvrjxNz(b=;|dCO3weB zH6rr%nfJf50E%G>P~6s^^pJBDLlA#2y^fhhm4XR$bS`We`^WR<7msCi8a?}2bsFY? z(!HX0k&F+sCx68&TflA4cu#^R!^N23fdwjo-w%1{NQ^e1L;beH?1uk3W`zZ`YmKGd_3A;>F^K@Z z=9{Z99ROD93xi*o*!5}i^>x;McUy{S;5}Z5|7|cjP#KER#|9`qtQG$X+@AV!WS7JW z$Omj3|2e8h_GAbsrw+hbD({NlR-aOs*e}#BE2axGQV0yxHu{mhyZ%l2Q^7L@=YNJt z)r|Vu{)hcEyXmEPhEr~oFM?c_#gB^d{gqDnOF6PP5{TQxz@T@u{5if$W?&%Jxi&3g zQgF9aS8T%RbEJ9b>Qyix z;dVxAHVFN0K z28X79r9uM8;LVF3)PE~yOcW4Pv7c!d0X`h8Ut;sLVzei9YzR4jd-FdJ(!=)Ai~*IT zs=$MPOl{x=7=`;%3}7vY{PfSK`rEs|ze`e)!BAj1e_ici%stHTbY1IJCdtnq{s!>nqN~ zP#R^Z4g}>JQId)O^oyGl7^xJ;CQJ|;yIr~jW(V4}h3 zfv?RiWve1R{v?0@y+H+^0NV&S=Pn3XonT{Cy@00$X zK`;f$D@#^=n2R1vcy7)?1!Z>X|1<>P4xm>sr5DU6^nUu^@ANzYEO|#YvR4@Y{hbOP zIQ*id5;3kf{h_fKC)jHAfaCD^*SHltY&F8Gb;$ zH3$$ob3i2aKa$16WcnimlNia9SIM1R&;`Z$Bh)_?128Cvz|B}t;c)i;yW9Uyr~TiG z!KBVA)}rz7hFAz}gQZS}M*LM9F&}XN-LF(sUNJs={udfB^o@M(WWonY{1fHt>%S{; zZxXHPe{Yh&aDQO}=g4?4B)O<+ClJ7>3Yb3iRTLa zfctmfrWFIwJu)LEMe4s_$N4+>4gw1M|1&Sr0YGX(T4kt@;b8#(rY0{J6^L@@=az9! z!zAJ_4XbR8tlmsBU{?4F~)ahrbwA7cNjav{ot$>{&> zRtz#QaLb|9%Kyq7U_@}kHUKNZduaN@lvGFo(`<8OV)O6GZ6rVsCLl&eG!J?}Wey-9 z*c_?t*S`Tgbin_u^n)p5^ER{CaA39)*-THm-^AQ` zR-8!sUbTa&Qlir;)5f>&SqpK5t*3*NT{Sd5&xl`4psF6<4hUjGqyN`zpTWVljx)Fy zIe%B49RM1;wk+;{$pn%a!!QA7KD9FY@bDU^BrvDM0YCEo2Mhj)PD~h(O&5vBgcdB0 zHd$(~G@0YVJXv9iuJr$K_LX5#zQMa9h@cYENF&{$APv$jASER%ozft%NC`-{NJ)2h zOGtMuy>!FUOD&ui^>?oGKiBzmKJMTO;NG^Dh`oaGaWOY%_94`vpsZRYy)T0AFh?rdBo?InaztO0@e13S9~0FpL; zF2+7Be=fc-5=f5MG}Ksc!1@VNYQR2k#X@frfPH=ApPPOAirx5ft(V*OJmKVN>+YOv z;JJ-n#DSh?1+UG_@|-03@kpT=FYm!Nz31l*_M1^M5ql=AUdu8IH}gYL2mrjuH<2Gl zyqfmpi46sIpv@~L3brjc4hz`=-4ffmaJ_({g_){+kBjujH!!bjtj3sJCBg$*q2O!% z-@k`llJJ&q0zrJ6t)V;OPx5OgY#4ugF-K>ylu*bVdq#7N^j?L43Fy2L>k=Z38^HRV zm2h$as)pgXvX4y!qF?xR9z?#lNtBA%nY{!<^3?)ICKj456B-@P3L4#xDg+!(zi%z@ zzU?@=Pl5hk*+}yHv)gv;A^K;FJon5Gp3#lQ|Bhx21-Oxps@Mvsf4?-rjB;#ktY7-Y z*yz7Yi~aBPB>$Y=g!ab?#B`70fe(_`??(Ock?6-rPKd7Jw`{YF5=}|zhGY8Hkdm+@ zfICZp@vQmoWVGm;AVSg2v}$)QH&?*2r&6=>b67R=%`K8@}pF5pr$$ zbk|&)+jyT}+@-dDN~FgnwB_-Q0Z8wTrHV;=y?#Ax&tjMJk03Sz3tts=c3B@{36Bhi z5etpw-XS7P8w=lx_V_6zb9DI_Kb~RnUzlvQ?h&teVf|v!>jd8w)(pS6YH~PhKusF{ z8qJBFm`3z^-fYu9vTL))^bwOQ)T`D5wr_E}smu({H%AVrgQ@G@WY5}+=O}tM+(t)G z%234KP)Ft@pCmEo6xG~Ey}2O5R`vrOpUCX1wL0+63&ps*ovG@|B!H_!`|_77=+39Z zwzoq4bxWd3Z|8*J18d#UtX?wVM=JbQAjphmrQ6t+N`w&q1O^Fzp0UH-%}E3Ffyp2{ ziTu~%QY5)E$+Oo63cUZ$1?!J*!NN zMM}Rs8Q|&;`tPX!o+ALSg8vCSec3v@sZ?$ZC!57D6LP)vy&rEN!soRIDtk`%5_)xy zeMdE+tRf|Je?_m?z3J(-uAYFAp}oKzbccH zGN6pn7oufxD0~f+B4X+gCF{C6Qy(L8f*7ZcDs>4V>gXxGfzF+P^NxaIOUY=rqLDSC z;34IXG8mj}1%?XQ{w{E~-8^UxcxEhV{Ot-b9D{;|+x=pTmGyJmT9aM7#c>;|QNdoa zhZcQ&u8D@eJI{bX=#1LzZ9iZ85ct`8?Gd6He3hNkPYK!jP+7eRGP;OJ8h%7?d|LJ2 zqJn~3I}Oz`yBPc^_F$==M*hS6JlYMWhpK`v8i#V;OmuOEk(&gU=bCgBCP}4rn(7yK zCUMPv=?hP36|iN>lt0ueV1M#;)9yc~t^Fsf>~G@whoMIUsq#( znf4qJu^Cj`@#Ba^ckW{r=T^yfm2VT~D(tKI1O4&oI1-WI@^$L?h(kj!hj@t`xs?d3 zS{mWC%tabm$^6fFnnSWHX5YJf0HEU;>!@WA9vin4BY%dhy*7jc0#*zxgQ1PB3?HzO z=c;Vizdn1h#9fq&IK)NG?Rt%yhC}Tp<)|X*U!JI1tb6^>A6OKn0?0;yFf^w96^mp~>Y4X6 zVY^-9c~D?nTEGC&!OY1}j^e`8VUbmS*PX47Qr+f7M8kgV-ct@gqPU;#a)SK>Kd$vq zITyn-{_|f?|M{=m^Fb*vDlAyY!^ycjJjLmxMSJ?=hzw|C;iKqBDN>*_my0v;DvD9@ zhDLZI?Q?ui@~$#l;@A%g8Z_iVPIsc>)h(pBOP1Pc>a0#9|whB+<}z z@$l&GFtu8o=BajS4XRa|x;7BfhryHF+SHB#^3IeF#s+XJEjfryr2ZN_Wx_oM?WHwW z_?Hs_H_gbJ=2g?bSzd{s%lB_|uiTav4ka;_i0*SO~n=wh(l{U`;--+`@!`2gtWu?k5? z#tx+tlaOmcDw1`#rKPCpS5?2beMyYrFmJcgDmRfGyklT^4*4LmsZ_UKXGeGVK=08o z!NCu=rbqD%xx2i!ZZI8?RK%%D%iXB8>)C8|&(?BrUUODveb#n+fIQ|p2G&6KECIDd zqb0PYKw(5!Ia5I?&3A-M`$P0HI$a;mgn6ehXfjm1I(G@fq^$s4}d zKzWq9bakFzFb9|j!)zyIXpjFO#Rx?Q_m!USDBmUOzQ8926~t3;Y5NM~bjBrnpWv)G z@KgkQUs?sGiD+swXmr|+_GB)+ss?*~ZlH^vVpd%Qls|>pZ*VIuHoF{ zP;Hj~oYfjoup&y_B&DPKKXVblxxdo-!yzI}F#$$U4-#`J;AbCi+f5d=-pFRVS$Dp( zbNf~X2={48eDgRyl3rL6Ll#^<%N*X2l;SlxMuE8#NTk`d8mQtOOlsRP-qZBQLivNJ z7xGPrTVV2Crx7eqBa5?En(M#D_tV?%I#1-Wn9CVE$^4X!K;Z(gMMAp?tpi&~iGWT2 z0KM=9YS*|7a+!ZyJ$@F_Vu)s`HcU4EoP3D&_U_U=9_R%GdARi;2YeJMU0CC>UDUWp zS)+NPOvLDY*TDs;ca+xrM)Z`ry{=r@P1WQu1sJ(^rKInC?h^Ry#TL2u-t)&eR_|PH z&KrSdLP{j_x3Fwh0+q!OF{uZmm|r0p*pP^R2-@?@vg>OB?wjJ@V=gYR8BH|P)jN0~ z_re#j*L+@7N5P~(zjB{t)N$HC~N*v5yE@HxNUQJSOP9`x7k7&UMRGME|12b zb-5k=c0krJmcx^KPBdqL*3&^jydqoP=J|_(+?milELwHnG`ETbo3TSCBM8?9!x@p@ zhAf0Ga6uk9=HrMLg}t0PE2jt-qU3K^b1fT|_yIt@r}FDMNDgIj92L=vSc}L$$CsO_ z=bdgCelKUyuXcgGU(@{oj>X=T8nZBU4)9#=9N=8eZ^Oyv`++I8AYM1$ic8xzRqso_ zw)EQ56kZw|3QvA|7w$(GAsB?hSJt-H(@O$JBv6$q_azEE>~77wicvUKo5z*FfjhQ_ zhK$$KT|!o{2#faexRCypW)%|tM18hMu}dS02lggMDiU9zOjf^EIe#*dX+IJa2YaeJ zf=sX2TO9GW@j);j15b)b@kRF5oXsl4p=Q{R@@q{HEMYL=D<3m7jJ99nQt`#<4|3-s zq>KfCI@I%hlasg1JIxYAjXm*2CDwS9{yl&EH#s#>lTtHn%Y;~wCv1P4OW1NnHkC;E z(IZd_02WRXI9;x-ryy;V`ra3fosNN_mEbsgw%OM-MPv!%^pDfJzcLJmdsLKJgwmmq z7<#_skFX8Tgv5~c15=JI-oV)P-4JXR5eSp^1(f3!X2JXSSk4Fe>f$JgtRJKn$li)* zi@_-$?E&ViPP4R=P_5UF0qP}!?!kG3Q0dyWiX6Sq;Ko=;2=d*V_AW55IqO#B=_w0s#(*6{vu1 z)R=$g_=^sEI3KzLJxWdqg%|%5`k0UWLq1P~5&>LyM*dXf!dU6IeyFvHoRM+pA)vq_ z_ATXVrLrUi+f03F`}C_D$Txu(+eECQo?2=KXov*SbhQ_50<(J_>?%RhLLTipG|vvH zD9HvdKl{L6Y_rc_nT56c87I`;6#BdpsLhJNxFe_d zAi+5a;hyhJspxENupWm_?x~JR(W0oT!<@x+cKcMhfW4U`{UZ(5*z=$`NWfmG<2~HWuh)khbW&iT!=_G94o~EaAdK=iq{L$PNjZRR9f=aB4*(## zri%Cy)Dkm7)pG56xL3d)77FQz{o5bw2*~6#P-tfa2NNL0ROfD9eLhd33eI z+s7F`_#u*IY}BMX6aDPM^y_m2BB&0eXh<@U=GsrF#4b17nFz!iqdjG2@1wPkMB!=J zrF{@uHaFXey23sy`NmI=1TKriwBH#LM?J|+25b?&oj}x2S{y%S--|rhu?`Dg57MxtgdC} z204!e5ex0vEts>$K2==y?L^ScRel*pdZlC+Z#gJBtnh=Y3bb4s>1y)lggVp@jD)C; z#|k3YQXUC(5rw{7ATLW|zeM$UPb;HQvG(2r%WDCfks_8gXj(dg46c7Wfy=XktbHfF z`bYUBQ4DJ5r(MYkObE|jJNeZ^9{N^#cvlY zjQY*OBJHGw`6nRSr-g?vfTh*)6r_t*VqZKYudq+8E-+w6l-+neO{%<+uCeL(bKY#a zRr9!|<;ut{FSq;(IX}g##h%Fu>k?1>d5{T)UGkcp?#(y*&F9C(! zQ?NnN(0fHv`=8#@KbG56S~pd^%m}>R{wR+fR0fIUE~+-5HgOygi_rPf!-h>Y=$nOk zjJ}hcANmCZ2_seteQRBt(YP2|{IEmW<6F}qb_t`>*WkWy?=Z+R8C&6m4chiaG>xX4sDLH_9!cEnZ77?C@>rigH9!#Wjm|lCq zz^!eAB&ACBiYA^BM?-w0ia)Kk>YlGgvbSolT?;EFkuxK}c}hmDnOpRwKr1;@pN)hz zk5FY_Iy0y|E=TO-=c-@T=d>SG@YugGxLcZBJc;*d5sjn=t5?gk`LKCkDCV*mB7-l_d*6Xbhx>;H8_dBpdH17clb z=6_zuNB6!%QxXyw{EugpOdU!1@+7&v!}$MdMW6z720*Smqp}I0Iw)UVfuLfwA4ioF zCqh)Ex~`(-g3FbKIoo5#v4@8iJbs5jOAnfedc{R8eF@cxniugZFa+&<=kZU8<_ds% zY^UFICK(z^0UtDUB)&>%INRbl?vR+2uPfDV{@9Cv$Gt)Jmzu~HM7~gaY1}r?M89s` zxPyg)#ite1*5y&3I7bIS})C_ z=bTitzFDXo_E_rsCr z$~WRohwo8fL6lZMOT<@#$|)U52_ljYh0%Ojv-&(v7$CW>u6HDh;bIC(OnHv?^g9Ih z%Hzwa4Xkb7-15cdhD!!N_s-u{`%l*S6~}%WdsGo)Z$*-$2_i)hyk!oZp)&Va2O^HD zhoqoZ+Y+LRsEwUqMWAPi378YUK(Byi%WF27DL3bKtL~$w#sp%Jt@+tSefH-u{EZ`c zz9+O4U#z7jks6@+YQj0|IZgD8!BA~PW5b@uQt_o2)opsIALM-`f%+1<`#0?U(UuYD za4K)>$T^EPqs)gY_+fLT(U~&|&6Bf%P@adwQ448gXG-lP}et@#$pGCZ6NPl?PaXjyk#1RQL^g$5hKLVa1sr$P*h z5zW?PW1g0G@=M{7{*)*sYC8X3lJT`NcE(Yvq`c;ZJ<^q3)uTx3rF;S}vYp?AjxA?v zUS5HUW@X_s7k*v|tR$gr@x88?Fij-)XHd1%s77z-=Jm7Yz|8R1BZR9u0e0K*#R5+* zz6jnVN7{*&1uQjYu95;vY_j)p$HKE;kqH`!2c6V^rNa9Blqcs4<^v>70u*iLaf8$~ zbhvrHd1KpoP}vo$&!$Er)jM5*F30RE<7>h8jydiY^-YsZEVL`@E&7Jh2TjWC0DS~1 ze>IGA%Q4h>AtYCJiFwK*!(lz^Vs-u6GX~Nx#jo@Gnhgb1vzU<^8dFYt>?zR|N@n7R zliFOCp96*+n4SLD%Z{u>wau; z+Vb(oK1|S4x?&{LI<|H-~6xGRsr-0`Q@iBO+5d;^R5!8&*@ZNaJl?fe5;oL z5ST8(Q(VcvU2Z;UO02FIe1So|e;wPO9>aZ483RZa0SzEYv&(zQ*Rg;zx#$|BPGaJ@ zI%cXaU%~VENFUJ&BqYlNO{hn7S{UJGOd18faXb@_4nQ*|eICx&>8-ErB5`(j1Fi5w6aj=w0DdFdjVEtIRKu@ zF>0k;%fzOAGNmzjPB1be=}AG6eC%rrm%LE32C|t0G>4w$F1gYUBKft6mqd;e0<|DN}rN2$U;I@neQ-YjW8h(P>CU6P?e+v7k9WO?oYEBRv9 zSG6zKyAnh}E;+jB=lg2F?edYbL}xRwKjc@A9V~TGhq*~fAB`$m$DyqoSc^lgOmD#} z19?Mrcu#A?B^I-mO!5B-bAu0BwA{9NEU-{fG1bpJt~-Mv<+CfxHzP4#>|TaEU0Y~4 z@L0qz&HeT1gn;V$PF3MtdQ9xg9wavqn1E+TZt#L(zk@IpI>?qvsJyq15b|HYsGoE-pL+&+BYx4g1fJp zeq;I13_pS|!AsI6oFg@;Jnr5wNL22Sc;>mjsS5D+epC65_b`<8aVO%;HAMW{u8OgW zwTEXW@*xRB-n3J^+K|ofInFB-Y#8BPT{|exen*A(q1bJ?N&r5Y)zWO&;9C}4BkOk~ zt$vYM+6~s#Pz8yOtbJT;<=OJsoB(Nn{WXDP?R$8>tL8NVNRihU&lUE3ulo`vdYDqj zxbL>QQH;6v#<~I+Hz{fYYOu;VcYu_ovMM;ZO51l5a3y(J{Thr z6!$*iz0sjd2Apmoz5J4W)g zMZ8s48DOpp=D-meh!RYFn{f%>C{%0W6?BX6*VM+pcO@^o?p=u(zsKF`%nQBI=QJ!t z#NxiGMu39SOL8*lOAoQJqE@%vG+Hc{I44-_X<;4}f6&jMOx=~jE?nn{i;kv~Wn#B1 z(vj9$`gI??pZa`$N7ZiD+Fkqa*41pPo$5iQZ%?P*URi=;F~) z?f{WKA~q6e_q|hgkrP5E;+VVW5`Nu>K|0cnTLCP>DQst@wOww%c_i}L$Y9wt7&j!K zIE1pn7Y#jwTX1K{-~wc5t7U>?6p^s6HAYr65xh8|0$JCIxQJ|_2BP#Hd&VicRhqd&+ zuYR?)nEP|VkhK^|nohv7Z;uY1^=fj%28n3~vy6J>#Ktn32_>5*;DTIEWh9s8_%*{lDh^rxFE4S|4mM`CejY^I{Z7bSUaMtk-FPK;mpl*k_NG+O9am0M(*+_luH~E z!f6+^p_31_%g*P1%A0s-b2Xm-cFb5A><-&dv^bpcD{En)Rv1^@uQ?I&vm%=Fj;B7` z{Yr8ec@c#TiOaGYCoTf#T^oLOi<4PVVp{KfY-X5qgSsQ92Ed#TrCP?^ zqLk+7jXC2hwypOz0dd;N2WL-0!gK)1Kka2I+ES1j;c4J>5DL`EEnu?7vb8+KBnIPj zhUt$DMvd;B93BQ8d3>Md39Hg(A2nRwe?6Dr6KN^bWt9BwrrHWJd$u)IT^1}|b~ls( zWG$>)VH)FBXVuz{ttSoN7spq7qyrnIJNt!rwtwY3V$${$!Pb0XWUXNVP*gnth$vn|w1jLX2W+W5T_tYWk zX;1wBGL)u!_J_Wl?>6Nh(t*#FzbJX=z%H)7!hcE3zu0bW{-=}z=wF4tzuSb_xxosP zctpG8~76{+BMP6KLQPcKVy;YH`b8WD!$8v=zT4?AUe z)-OuVsc5k!9}NFIhI=t8ssU%m?%!$~^QD9YzS^0Glryw!cb1eG%H@ZofW71({;VLH z`m5Q~jQwo=%W)k*n4mwzxAjjpzvY#ixwY;)2kMIp_r(r+fb;rNqJzvxx3zRhn~SEP zf-R1^tA%#47~i##H1Z;!bz(<>A-`EfB?R!z^8eF7s$Lp*hRW6(YZ zmruEo>sJR(~OREllT~2HRdg&F z1{vvJcO%Q0wBt7ajCj5IgTVuKV_@2N(;IcJeyVkru8W#;=MpPRCh}!*UanOvACDN? z34>L~oa1$hKjEHVpd3hV`y{^Tc<_ccz@d7*(sTX8(L_UkOMBWJ*mikkedYDJXf?;7 zpzzsmGsIbG=W6xYmd*7r1I*?H)fJ^%y8m>!-(T=8s0mBD$Bf&g z$>H|gO|tvNmZKPx+OYwLQt`_+44f)O%~|?sexoC_7K+x)E>%NAlHJ!kti5vJ&X;4D zK+(B3cKV}~(6p7;SBTvfEvz|g5bxl0u_Pkx&H76S=d{7fBa*C%LP!a|{tHO>^E^D_ zL17AM?5ee?It=g=bZ+`{ZAZT2R|8K!696q3D}#afFzTVjMTWPyCqF~Yx8?qJZgoy?(}@(DQo&b3d^7&fR<&MzE`Y4ZBX&scX=9cUEGX&#NX8re%( zEl*rA1rfI`8I@1_FULYbA=Ix#qL*yWBu~}M)8b_ETk@jcT>i&5^~t&~CCL83x)&_J zryP3To8|vW1%6j}kI4%^o%~}UkBDOT_(i!R`$W(DwcP&=!Ow91L2!5YpyqrteDNi@ zB)kDAWn;2hxf%LO^D=Wh2q5H_vB3cuB)?j`-^~G^di>TnSs~@7Xm=uC{B=b6BXMi@ zi`ig_>omXu^P?<|_$Je>2sUB&QbG}kR9-~GgG zF?)w?$M-Z;lhq9;MbJKZm-(#WhA+YbpDIm#yJ>v|0*>w0? zU+^ZSE1!@=gzZZaAor~8x;AaEjDljp8+w5kAek@(Z%oi9g01S;$)JI*3vjz`6fa%9 zyU!OJUx2%xgZ!NJ(z;b-L5E|f_xn2RX!##gH33zUmF=PszsF2&9sad*KRcg;m~Axg zI#H2S>1)4f_Tf|MGrq<+eEW!f&O8$+8>>9NIzQOHCmD!V+0b?xxWO>xfCEx$MDGfK z&bt0;Yt7;c89IUn#r z`4-5l)$vsDP$cm>zZj!OI}Y)=ciXk=PUsgUyA(GsUJ81Ye!w>!yd3(V{<@&cF4V}s ze3Zwu@iwaw90cNQpH{7=T0n?7C3DYsjh=BSLLkmrcrNdAzyT(gXdpti50)-_^<@?- z+`1>PUP7!ij=ik&im(?|JUC~jo}6tQC+_RU%99l#BcX{tc!`oz|MvQ~3-*@> zD3tF+P_VnEuw2id{QWpj^C22&7hgmm5cu$c4-+jmA^i!{Z|O>^2Y(;<^QAMCm4l+^ zgh}ghgd4zc{A{CI?r?)L0eipueB*b}l{}nu9CBN=SP_1pV4WmO^h2wc&R0u3aVz#Y z!-p|GoPJ_`r6cKxA8OZQ4NCi?`>)BkJn76ry&P^bZBO&kdkf7FB`n|j-eyMkG775Q zjh`_$oG4(9rQeO7RVp&8O=S$X6jc5==QNuB$ZOs6fcG<0THB?%Nj8R#j>U7b^apE5zQzyhnVeWjwZxoQd!|^0n-2bZ{nU34> z&g6Xm-1OAv9ghXVisjxD6)3`k59rh!*7_Sh?qy?!KHo4FIaOhTnJgk zGdeAIl&$(Rv@8v+Te^*VI(36MG-iI#3kpxkek5VV!A%o#UA#Mxnzhft!SC9b>oQ+3 z;+y~495;#>G@@Rd!z@d}~K2RTFQn!VN0kI3?^6({iJ zOzpYE?VJ3M50sU`?Ti;PXs>XtXh*{z(lhv7{6ccAlu7tNL;@ZUNX2a@3gp?mB5qFT zb58o8h1Ez4R{>v#5qfE?M>=!PcWjaCwOg4)Vayo%g{6OCp$gfH5V8A|RC|zD*2HbH%mhg_lxGHBZg17UYEWea*Cq~G85;aX1BsJ3+okSb z#T;CvyWqVHWmP8`TcAKux*9NsOG4yd>p>w=47qRj^WG!mQVH?9c0RZPjF(QPiiHg! zfez>W+1|Z3PX(){{maeB@w&cR=^J&B(nZ5SA8ZwB-locMA(j3$E85Ax~B&vw~(M+aMiw&-Fw zUVU)y*?N&YmDvwi)v%Z8kKM`2#zxQe0uQ)BniQ}5$Ior@j$Tq-#)f;-qaBLLJYA)C z+ndbuXCx4cX`ac@lTCIyQ!|Gr!xMK-2)XyxxQV1$;&GX|grLO3l_aJlMGt_3dL;dnTOoX&^4KNTX6ad==Ytt>N|aFr;c`zw0xsq-{U0K8 z6u3BIdlz020@lQ$>l5J7A!+_8b$yRZK1hpKWAsyyI=uDn%$Z$dp&HOVtG6sR&1UKQ z$ZS|7*8=DI0i6k@LBpn$*{IY~QKn$v zvN!JbQ!sme_!epYs?H`$Fh1>%DZx17C0frv&hK!ReuCjug(|)O1i~jS@ zg6*N*(W`#iQ1zEN%3ggKFQy@Bo6ttynq|-I6ZqY1HP=lzPS_Av`t`#Fio7N}YCQCb z6UIyHQv3HmpT%um(&M&{#H&65wO(C$q@@TFG?B_*Jm!3Im*You^)(Z_V}niBUn!L`&>i4Qy;j6hx*@n``P84TNAcji^3{` zM=NY#uGV*Qw4sR4>o0J-$e&GKDL;yEJDJ?vPo5Y^6L&gjaX&Flah5x39CXruDggLD zoo~B=vnrt+HScX?T)na1Y;(sf5bCi5ZpJ`5qg$;2s$Mm?+#+$3;qu-o#c5o{a8Cfn zTJSP-l4tZfs6#qj`&Y3YMP30Oy!`iJI4X;_N&9(QWevHk%^#KM{j}z25 z7;Pn@h4t6q!~la6?DEn0XIo771}JG?$^9n^np2{ztQaqfej3C0^ZK6=zbE@=fGX$e zCht^cDklBKL~;pHC9!<9$LSmI*Vk+JhL?$1Gn?(*fz1q^D*4B~!6&r23L-!#&Q(fX z`ie=uw5y`QV4^OszGi&miq65x4XWVKc#FqZQ_y3tfmwAKub{NNj@PA>_^Qp!UEL-5 z4!oHufjZ|omuBn5HyPn=9qLL4;cvB_HuBaPFHUs;^BC^!mJT@LaIZ&azgggn4)*So z%1&hDOq4KTnvqZu%PMrv#9Sz53CXWW$d};exgw^$$OX9{{sJFtGb&%q(tJbQ^xNUQ z&IM6LeNE2ICY&#Kj2Pxgnr5(ADVLUR=q4vy-;@fl_z_ido5iG?P7LY}BQu-}KcAG< zbzWJ^Un@YsMVilj(fxJeB#ExO3QzPJYiwA=SNY&ax$@4E z?M73oUn89+l?uVkXrF>kE*B(rpN)&jWWo5^=|fD~KW_`KdLCF8#m!UAM=(rn%2z zx8>eXyeuzA+5c-j`9+T29v(heXrB&8RJ;+gwEE;+dEP7Y20&~s-}G0Vm(K?2g`AY@ zI8dBLx~st3D<0)2x{p0hsp&kXsX9Y~m_6*ykoJ#Ev<{wd<(z@Fv zg1bNPCK0jDof~=s=WR)$BDRUzPkr0p%(7y5mwmC2BTyRPwZ;8e|E{}{Lf{dKEL%i4 zu^~_3!kzX=!rcW7jvFFxk9cPSgfsccuTJpC!9%kW>Fv{Rbfx7Cr6skql7{F)Ctawf z{c_Z1;J+8U3Hk+oENBrI#??1OM(^vsmr1eyhx&Tr?xU0Lb=&7Zs1F+pKzXa2m{kw| z*b3!472q}Vx1^N6(FvLA9`&L6#@PNdo zc)J)dp@Ib;7+})9WNf)T59B{Hy^dBSx?b~_UI1X67ivd9Nc>f3V*XC(H|)4xm4~J8xQ?)P*N$fj z)`e6GgQdNp)x%!bUOUff_)QnJIH0m`iU2^ibL~sGSr<+=r-M53*cxE0|51Mq#ZN~k=z%=ymrNTg( zXJT~BPV^V?x0rFB0p;G;Cx!80^}#0J7S^YV^fq^8ZVB<*0IPFEEHL<$58>j>-46`e zAMA`@Kc}B!O5{>!1fAl>tLSX5cSuLj4n05fI`3q7JO>j?w>Vn;_f&%W|e~&y`57VU_)ZH(x-xWp|pwyW)W{ z9G3%uPj8+d8l{^MKwfh|GeZ3uFoQg5_7Q&S&I56hMYDx&81-Y@t5{?svF%SBIviMSUa1o@qfZu zIv!j#JIYu1oNM)F@z6!s7vTd+>D0LQ&2233n%JGIWmDq{gcNr=gdf2L{q z(7sk%Zoy#3?;dC#ICvxfrv>11j3Y{4q3dgZ(WTeT-n*xJ_~($R7ImdkkmCLw`+|v91dpy!eA=NH?s_hNxrxiRcJ`)7-lCXbZ!LPr z@MXM3d7z2zd)b87Jg1Bki7cUHoStRlb%iqKtZmK?QLEST@hSCw!Pn>eB5N($&IX@Y zp4WEH@p4Jb^NRRr;Cu#B|5M1CvRw{0~+Y{EkEXarBr@UD>GS)>u+~( z4kBjhG+@)zU95RyojKIYe$g6IZAH(nrDwT0xJEsCcEiW5m#ego$S^jvW@{x0%ax!O z6J?Eh_o)F=!OKeIGi1d-ygToHG`7BGTE{{D;jnkb(u@J+1>E&mh9bDdVK0k|nR+)b6!sNd!Bav5 z2G9>nrG7a3fR??`9@A02N987KofulryFU>b<#pAx2jgVAqpAq*2?f6=i_N=-#gLJw zF7n`)MUj+lMhZ5K)h8~E{9-EJ|8rF(ab(l@s4Z8I@?^l;o7gv z+lzoHG_1o}VxK*LEc-K8+*b3p08IN+v=!VhMxr)G20Zc$4378R>M=#jp1z(|JtP-) zicAtbvWI3lx%gXq&UjXIt1Td#3J~TyloT3HT>Aehw5Z|&=v8&+R+Zv!Hkt6Cefsz~ z+vP7h6=gxE3=LZ^8)5kKI*8Bb4PRn6DgNLepYX3RBkD(k?P?ZQH^cH$ahmrC9rs*& zLjm7}S{-!|5C?W&{_3wG)Zoh5rVeS$(9$tm&9OPyG~m5Fi@9q)12%HS&WweadC!&i z?{joJo9M^YS?BRtGw<#(;{KFnh>zgVxIVIJrhgl|rJg7OC^1_bwa>Nav%;pTLxw*B zD@l@K0hhoY=cD#kJh&5Fv!@bRJPgdzRNe9%zwMP(7TT!nKo~x(51`WsHMQkB$*LO)$wVy9X!rE3?oY}Yj5h#f!piG-L(>A%QZ2e?-*6dwqb%F$`xbnZ5y z@b$f?_em!Grc_u; z#WZjsesz^q64JBj-4=^T-Sok4O;#xM*b}yu$OOK>gA>EPmlQ?eFvv>SAC1vM7Q!>d z;)|6NJ)Ep%{IjE3LMNN@>E4c%7vt=_alQ(L`E{1{T@a(>jfTd55Me5c+fw#D2IhS( zp+CSL1)9{Facc^_Gg=a4*R<#F2}W1xmH5$FY0)M*Uv63>Y~M4nhK7Ap1whHx)J@%x z*?#Oh(bi#=cs;j~FD*)~;wJ8FfgBo$@LRUEpcYUrSqzZ>O!b+T0Q3giz3tzQHj;2l8a|(C8zrvswPE(u7V+_R+5yC z&Yj?+h|fONQ@~On)VXdi&ejd*vMbsHj7`il!`2jmI7OxK3y>6+GU?-diHtMngQ)Mz zicisghJLvU+kwCI**V*VAoxCH9Cvqzov%7`gIMnW^wfrYB%C2fi1JR;`ePY(e{fH zD<7_R%-rQ%c!VFEY)7i4y5sA1KQ!L`qViUptY~x5kJXYKpWVEsNW{LLLRcy0?2DVO zs=WMqbuw>wUCbyG;H&N*9c-YL3*198fhRA@!K-$`V3+-|nGio|3|^I@@=5-NoW%xb zk-5(~E~fkpHF;;VEI1_j%F`VnmZBEoe zfkh!LPF|nke#*PXAPo|$?2ol;ykjayxi#;x3DM^=B_W#VBhDBqqjvi#a6($Hd}+ww zsle3dnW5g98m#LAe+~_}asykn9dropoNkgM=y3p^>NWDdFIT0f{eA)pX$I$!jXq0j zgzv${FiLc=2_DU(Lw+dm=rGPk9^6uX8Z%38*RmlA+?C1SV>qMN>s1G;VClRpZxXEC z^-4u9E>8H{zJ6NX@5j%tY8EjaKY&*JXaJfmV z!UhztbTu=pzJLAyazAzV?uYRIaz8Kc-Orm@76+$P;WI|aG-)q4ey|@{yLBeyj%Gzh zodzZL@V!ySdy~P4)~lkg$O?N2r5qZVoyyAY?IE3S7c2uM@Y^oE{DNK9M_9@Y3PQ_g zmD;IH?5*c&ob$Ruyffb7ot;VJM$kPS;NlA~a{#)aepQ{(eOxcD3Nd?@4SavRJJp-< zru`8{5EfPw_kba`u*SB3qh?rX;R(-4o2Wbu6P&DWjBVtp9Pnrobg|@jB3rLW~^D(NJ~OP zU$V%n5JAhZylep^YQx>V$7{f?0+ckLf?jWMr>3r5!FSi;rQVt)^Z4$&yhRmW-L~wX zw&v?WGydgQ`-1R+Q;9B(eRvHS@(X19@%oQ55NP6-XAxo926JfKp;HOsfdBhDNy%I# z6OXAIO3xS~4a^g!eE;$vX*;f&eHoiJWQF|QIZP4Xi9R1xjyIYAVy|_X=ZFgGtVov; zEH0|yM~#v9O7TEFhk-T`^sqbfq6JMwqB$;yp_n&nn}P^^@!tEY^0-Tbex5heD73Z3 zs!1b>Qga49M!wlc7|i80L(ku;n}!NnkBd} zo^>JQ#O!)+!LU9&Wb26fKt8^>2v?B0D9Q5LxF%OQ%`wfZzWs4N+T1obZflu7fEVQB zOR5}4)ovF>&**E_R+iXXucpl6Fs~tIf2^6A;Y$gzPj=Vd50f^v9A5n349HBgMo*p& zreV>!+8$r}cMrx#=30kiq^~;&gEO(n`EgpNCg=g&(6LY<`4oPh#7;XDb%kKcQ+7za z9;lLd7Y$|IYO96beQ)}9mkJ~c_!TKJl{OSEAJBonh(G9*%Cu|D**d4NSv@jr1mKz6 z@4M3G-HtA;nFAZ66$4xyA;EHVNx+IE8vr;UPm;+2ot(NqnfoL1d|^lYE=wIf?zk|0 zT6Ka8qXSULdNEJ$fxGF(`+oBUaRZ>!(-J&G(ncORm>yc&2q#A?q!F%638^cgd&i0N zC*qq>V!I|~Khw*R`vVFXUIOUf#9w~$FWUF11Cj$0NL0Gs-;Cevp}iAV1ULIE>OZ*f z$L_yMQ63Dvu&>sRjk2pl--<0)QyL%5cqY)unz>rD-+FBwKWdVn6PIt6Y$Cg7n<(NZ z%47Uy0TiB!Lrg#&ig6tsWHFGp?8-g9n8esN1nhzG+Q;y^7Iit~_3ZF@Eia($aS%QM%c3;g0{on>vdRVFB5-(p@H7;RuA zfgSmkRO1wG)QZ#k1^I^L^X7hcCZx;cRhdDN=v9(PzsIS+r;X##I9Z=40)e-dZk;9i zh9sN`+4PTzeu?-KIAeX^{UeoU>6n! z_6HCu%1h)y#k|l#;@+M5-Qra+esYM-^h&@sPB~DiDs+(vDm?Kay~#8(HA(qUeMQgS zp#4#M8t6G0815}xB{f*k9qf%ac6%8Xu-18A77z+DTb)7gjtevtnL{Tl6k3zQ&KqUd zWlHzos(e*9DO1KbE*7=uu9m$k7RaU3l9X zrHFMO>zKq&xlt1XFGTaOzL3e7TO-?~5PNFX-bUYXVNp)L+<&$@8{x0m_o{fHnyG;e zG2Hl+0z2|5;9NN|E;p%6%>Q(8t%m<>d$Slr2^L3Sk$(N-?V;xq7^I zQEnT#a3>d;S26mq{iew_Gi}JY@)Cc~fb&oBdS}Xv69~i34PZbe}^pX^a-F%*!4d;Ee8Z*p%Oyd0O-ftx5|Ha;4#znogf1t1;D512p(kUTb z5=ts5p>#TQC@m?7BHbX8f^>I-k^<5l1Jcb%4$WD^u-*IqJa3-!`utx`uJyat)$v^$ z_t`+>M3z^~*Ja$*XBqb46|*&8LMV2T)glc~2Do|Wf{}{gX1X(virspg$Kzc5X%!){mpwfD<(^Ou~r1=53qa!cx0|lYA z!kB$?f(pF>3nVj|^44Z?nMQliYB@?v-XOgq8iEAKH(5;7SOpmQB zCu(x_aAmBx9ztU|OUNqT?$*#)y8@GL&+;7=Qd(Axic@K?mHa;E(ckm6vo6sxyU;$= zhh(L$aCg7jetB~$TEDS$Uuk}@qfLfp6N`8aq#`R=ihO%8gs>x9@AWr;gi&+1$CA0& zI#$>39IK6VR?MuF-7lWRLL=-tb)TP$C)UA=>O;u)rD#+!Ce}*75xA@-r39kEtL!-* z{!s5)(CV3kn?5FuqSo-HR>AntRehoC43f%EVCfExZ=qb`qjo=RvXlCI_Y-v3L|FEm zwL8x5x}Am9GYLz0TVPf%tLOvUQT?`cQAh<-IA<#F$yw`EdyG#d3QNb*Q2EQz@4HUD zalPda2dh7=TaZ9Rk*pMjI%iWFRZ=*F%mOVkzI#}48Z>?bS!kqk0(HqY8(A~l%hzhx zy)9mI6`}<3;33mZ$Sje%9KtM&v8ub7^}j|}yL%mjiJqdDj_zDr~px%iu0!B5- zeuQ^`erbwYaX}XAwn)VXghjfJuEq?QU0vuk5BcSe)}pT|F6{>-Ctej&k-R>Q;Po5v z>C-rPWY@fJDy10vfzB0XB^SeuWqr^29xbQth188K4v~vIh`IGTw@~BB52G#=%|=a% z$jP71=;Bn|*CACNiys7gG~4=Dg%?3tz7GkC1t* zAxQhpf_wM!ZK?(YDV?p%NRgyXu|kx5@37rP%J2<_cad*z+}El3AA?JQ$f4her}umO z>Mpu?3KI&n#>r`S>DTLEa(=r?+nH^nY7j71gTic;N%xm(c3q(wPFlZer_G7OGpeiy znEd1tDXFOU`8eGgMe9#tZVP{?3qZYXYhdxg*82}~8*tCsRO{@KMCzdYk#I|w%{Ciz z7vpE4|9y_WFt7&`bJ@IAEUJm&~;t*GH@?kNxzgV72gcT|YEX@2*3C zBx(~y&hPXp_4#Pw%5#69tEri$22gwFk>+LWCCx`yx zelgl5k%t%obL>A&_PFAPHGhyNaYgC1LGpeM#_v~p!_6}DmoKl*O_>K#)H5h06lqZd z{IwvPVm_E*^DE1+0Q5&~%{p1@cEzwINIIDICORW#&?lWX>`XT!Q2;CAcyEUWJ9)T@ zfNR0(Ruz*)*ZD3g20=Z(+EobmeGIt&uJx%wUdc`^B^1(CCFd>ff&1Mi8)t2U;J?y@ z`~SB3f?ym{*&3v_zjEhLt~ma?Hw2V0Q_N5l$oQQqZD!bO?z3D~FU3<_P{!C=xxd{+ zp4}B8Q`|2#LgDhz?Mr!EL>xGUTK3f*aqYnY7>kPYAnT?^Pp>iVYG7jp|MwikTaj#= zZsdm|{68O9VHi}lIGLG|AZ6f+Mkzl<$E;v3T9L%Jtvnay}u7TP#nWs$PEgJNW;_ zhgUQiq5=%VE3o1~dU+xN2%+pp&;CcGFA1WqaHZ`$T>4%9OS&juP$+-;PzB?^t5GR4 zAdGeAkaf=Gmc6;~fc|1AQo}+z)}Oe+if``UyK=PO(1R8KHh%nbBwUCjymz-s-2A)x z|4J5B4|u@2M?z(H{)d4;ZmVM@BA8;rA4_W&EuJ%qm4xx>hRV%ZJF1Oq%3F`E5 z-&NR>HtZpeS~?!-l^BS^@N10c443F<9C@ZH9LccqW- z-}k`BR9k#lw5XTg8D)Y)-t4+UoE0O(wEL8yF@v>>6c#z)>y4IwDeFOP-;&%}BoA>V(V=vDV$h1Hl zac~&sf0ecJ@D-;F`w<6U_T*hXpZHUtFQZUtqyIkbU69HgG2#Q?! z6{Q3SKv1~c|JC~PHSSBWV!PujGvfa;IEw^Q9HIrW#}F3cYC+J$BoC}&PnyK!f8GNI zq-v5i=*pWQ2CEJ8>Xjjnl1dpLs1`Y&@Mo7lNNGa{+S&MqqVs=6I!qF|+S40tS0)E3 zBS3IBV#p{QYLH6nYX2;kj~Adkpms^ZhX`wZ`)WIY{)Sd}u!VGyDXmn5E#P_bS2-eB zSX}+eaH&)3@!bFK;Q=v%s^ABy{g-_}QfqV)iL4lswh!F_Iw*GGp9}pQR&L@}O`#;6`e~J^y z2>+)zuc7{*;`~3w`G1P@|2)qBuX&tggx+nzS zPq+PQjlH~9c6;tQpBz|UyiC;{a^rpDJo4Qn8!q8{^RI8{?SlaV;2`$GJH^^NP3kex z#oC=d(a-)mV&YN=Z<3OmPwt4c^wy4frvdI5OGNAF`)-v-5*C-iocBi=;BGaOtGXh6cif+d zmfjbVc~_p6%e!kmWH?lYH~;#qpYC0Uytkex%eJ&g)ll%WJJCB(fp88dbA4G0RnbB* z+Tz~PGSP!9@AuDdauaeknxl+^t506gd-)a{(jgl&kSd2M>KdQi*M(=5_nhQbHHcIQ zU|N`8+xY&vb15YtY-8yXerr3%+97#()sH2s1or33$9nZxJQ~1TCEw^9;JhRQsMjR$ zcB04T{Cfx(=(4zzd79kB3q|q)`ZL!Io8v9d_ZkIPs@Rt%yh)9-tsI&3Te@-|{5o{>ee#(p& z`8|-0LN^X$Sk56tfu2kldM4vc7Jh6R`TwN zrCg30Zlo7^|sm6KYs#yShkthruz$@eJ~lc8|K#CQrx*k4)=M;w?!*? z@;8v~6VlmuHnRK>Qk=qI2wFP#TrQ%zGIGi0>of zaSvnZz^j9h0uh$>KVgSA8Qr^5>Ax`vU?!>&RDerrGS`{W5X`Tjmi;R&YK;_iwtt@Mn)evqcN2eT7~v4rMvPBUI`oq>n|XiHzgdhSED%h% z{?HppG%AfEWQ;}zB+-byL2gLfU+pa&k@+Dc%)W6M`B(%4c`4_c+xsV10K(-@LKZsw zoQnzs>MA*r;;IDv{QTji&!$?70i*1aq+Qh(!E>aD0%{H2+TYnEs7-gUdONBj6f<-s zm*BJm=z;vQ{y4M>?Z!_oPC>3K5US0}7?{X3*cN zMxOzO`ZWfFk?I z57T*L9U-CpgBwY-nptv1=wY2luK zOElh17;4QP*0c4wn{43M^ERbJ2Y8Y&#L=ixBI0I#lQI%yNUF>OUjNOjWIYCCv;1$; ztC*%Q>pAUc4n%Gy0|56{A?|C+@!-jDK~ae3a|C76-MhNguEWr3`^>{_?TQoZX|xmLz9g<6|l^|;xFIfPRCZ{EV&2xRpL)5&lChiwJRmyvN7)W}{oXatgE$Sw=i& zbEpAeGX>_63|kfcMulGl_!QAV2rd1-;$JczB6xk~b5yR>7~6-)MP0esjWK*AVF0b7 ze1M{0W@>B1wu(6n#bZOZ&kZ2w)s^SXx z=>7RHpd8trp36U4OQ+aX)Mt(-Oj5eehQ~{R{=F%d?KGX#(shmU=F5CaKH=dnUjU^TYF>Y_ODbKLEWey|lP#-n}# zXm%EQo$V^e2}t*b4(R^&=geO5McSCgziMLus_Nap`)7&)G%H5UwRN+KStIAxLZ(!X zfToHUcn<)+ zW4_mAk&97Fe}OlzD|h~jY=_8odN5VW-g%$JyN_%~V37avI6vJ2>eeMlB3&EgaLwm7 zkg0PP1)xsS{Y%BJj{G)4o&2EcL%n>RB?LM!MplN3>(@cgE1``59cRdLr%T8MplgfB~9LPswL{a#{^M-BX*z=_4o_$2#);mH_ zujl+~YVX{#Rf<_JmXm2HTRYiL>sJF1vX9()7iaPm^Y}g1R0{z1!&YB-n$20;4F2wJ zqM13IDwv$tZnQw(xpJeSqyejG>{KQt_}(p%4bO)7vvRL0>n4-%`Zt>s`%!mAw+}T& zf3}H?Mz~Y52+#HRJ6ro$Ia*B^!7I=bv@wfYi_}Ykr474^)&EMYvJlFh4ii#-r*G?! z-auPW)`?-)R~M4q*BGQda6j69ljecdaPAb02CcSynNbSCG-m-#LPK*01yU61<^I^rKcbkB*`#$?4S&cMl9L?Gqq58r8jQX+nzqZ#1mfdbJk#FucP2)?-ujRaB;PeC#w|f3v~O3 zRnM6#gL~>c&pw`jIVKs?MILCi>MeeFoVloq%g#-H+vy!^VV4!N9U5>&5IG!-kDZ-H z=Z@6qx*doWDSoE*R8n*q^17SL5tA=JIa3rYy11}oYs*p8D=qqdTx{m7MYr({ZOyZK zc{%ris;9<`OX(p6)5XorHi+5QMk3Fep+tXyUDWW)t2AHgd+Bp{m}Xwebl+=?vZA1` z3L6u-mYWLpJq1fU2jm<=5O6EUMOa{f?1SOVkqQ`R8cZn2YOWT|A_1P^lV#86PhPet0y<*2<(Cao4;spwHzQ#W7c}jMT)xS? z4Au4Np_Nh6_;&IjM!oz!WMgertHNp)Evf5QzYb|fL?DfioCDcf*!R7@S>v9)3UJ5l zeGEp7?u)f`n2L~xd?L?}Rqu|TvZtl@QVxdYT2Q4QM-3Z&&D-XSy^0FVH?zM z)}`FC``S`J;@ltWg~M>&|}9o^x|hc8Ik_20e;fsGCnzNmihM|qno!ZveIFf!9_?q{VVV7wSZ6K*Ib5Gvc!(mV==As!!L4v$8p=1h@DB2O;DiXGs#=tYtETo?^6u1HPogl6gWB~hH9r&yXoE-lBqgZJ z@3y~Ao)$?&d6%QP8M#_;mb>)Hy>6L8r?+}Yd|xJTFh57qE+xtvVq{7aZUyH3@D zXr(g=_52$3lB6+%G78Q6?w#`n?5GUh^zyhNzP5Ki^Od*fv-@n zUaQ2FTYb;#{5(Vdl=1?8CZBt^?6#rR<1tpIXL1}7brz(?w%SW$$E@ha_GujP3*9f5 zPfj+~6c_TXfJ<)9Od`z8%l1=^jjH$;n&$VF}?{b zy_qwEH?MN%7}A_ns4GY+Fq_8aLc}YOWjz6WGc!Km6f}i$ZNyBCw}SWp{hayv#=zYf z5!`D-jWTZsrqeWDcfX3K-Q)X2L+GHIijH;zQwl~2#_tDA4M*xe#Pn~-t4MQ?OJTln zJv+X`(IE1La78UnuN(*RT(5DPztZMxN!eqhmx}DDxdd8pYLh=%4;N3g-t%0Ji&OQ0 zW|vGDH5xPy2^t(C;|+BM!1Qdh_hoLV=#v^Zix}`?7`I}@OA#_5&lwlA^I3mNdzO4< zb2Sl}G?Y(BSNEDXA(%za+aB2Mtzu6UKF*p=_H1}0B?rUOU;Oh&4CZOoG;k89O#jGZ zw|tpx_k~=g?FBW=Dm*9Rci306*$b`1qZ_0XdR~wux5L>Ao92ue)(GdV9+K>XyNUc} zDG=u`$5EkL=i8ZGQ{(o_X@O^D6jDQ?(Tn_LuVCACCh6b!1+G`wKbJ`DPTkH>QD z6Uy6_B-qeuX^g_|=L`8^bLimS`e2vi#@LVYN;hsu=yRtYVD#yI0)LV^&k@YCVkzDl z&DS>758m3w*5adp_>PxB+!Ax>E!5f+$|Xom)G{X=e{%g|Fx_NxZqwk+6AgJUBu=A` z+a_)B>NAC~YgPQ8Lz3j^6-tv(9i{D)&EZl%XzZj&J%rtL`AkZ&Y1zHA%Y@jm0ZxAO zYP&=zo@G9aYvg{Vm2AxnhdT2JQS*x*#dT`!H2X+)cSj#;ueT7ij&W!jyB<@nLdwH2 zVL#NZ?JNLcUo-Z87WI60F8u-GVr&zA3I*YZ_;BVENIUi>6vVf6-6a>_4V`D_(p&h_ zWUw8ryNQ6>e{H0Pj(IfCLGI4iQv}+M7;L~$eu2b^pYHld{!}@bsHvaX61g?SmMf;k z63+SJBsbKUdZKrQ$4M?qdd+;i12NvKM_991nP{`Aw60q4c{T0?`cAx8TbydSL4P-J zvcVpH!?BD<`yv=^Hvz@drkpBMOrvN}IV$b|HgXfgmfvQ2$y2YAnKfru5KJj13-amD zO5s{jh&Tr8`A~FN3D;Hyu}e&cMYG?4*7|vc(&&EyEo?QBnY~r@ zC)f-xHU}rIs7kF>##upkmFM?LsS4Rq_QX1zE;g(-nwi)c=gobX4u14>JQFzR%?xnR z3!WcgpbzDV@YR6a8X^J|YV&__6^}kcB!8d2Q9(A}fk3nh-FW{`oj*iL_0=|*#>)7{ zf%hSyLS6J^&eC39C{9DEsqe_%^blr;A6x2@lWI2GiJ42|hc2iq+0}Tl$U8cg8kK2( z_^BYi*WoqKkz?}<`1(gSbNgCo^8A_(7~Rl!4X+1y{vdI560b%k?vpXv{_?n zzjgYdrQ%4QNjpl<$ZY00=Tma~7S~Q+MwZ+c7q3DzD(fR(h*=iurK~{OIlC5Woi85G zd~^V}UgTwyk2MxT`qvCN^e5s;Rx+GPgw1>i{f$$lLOAUf`bD3FuV^lY<<~;>n&^lj zV{4<8nf1Qa4_uzNP0`APo@{*2E?IWk_*10)XFx~4yGbdwhTF7B^3Uq&a z7F0^Pj zqU<&Z3A%%gL(V^QH!I|xNS-3xA^#Kre$;wZxq0AVO;%XXn+%L-N$@Hy!{(N?RUb>nSz!y@{IKC+3VBBml?I?+Mq>y2u4jLBG4_xYo zvUL%;u_&_o|L%>9G4%2-9%*E*!XB7Rf^TKlmQ5I(_ zj|8bigx75<#vn1{Pn$N)o>Niy^UwtynhfLgOGzmZBRrC+*3f*FA;X`@Og1hz%AIbL zr;I^&;AbTmBibn~rY7=laClv_dd#eN-+ZO$OOt}{s4@mCz4{fzK4?G4YdLzf9RB5E zu5P@*a#XQj9e?oRtVaezShAOzQEa~oB5V<^ai2j&WOrC3At^cMbUm$?z-X#36X4j? zIEx+fs6GD!MoYF<<_s!jmCr^jIS!=@HL8!Vy9w_t`M0;%aGIn6kf$FWdmY4v6&DEx zU9TD+bghHVRaH~XJvk6%){{KxJ%q=T&=UGXPBfKSqni(`&I8cWpQ-P$&-rf~C!%~k zUltQ}p)ydF*D;_=NnG%P6!80vzED)5$CD-<sz*&v4CTo#ccJt@au&Bx-Hr;TyL{ zbJTU?A2)F7j|qn?SeBt2{UlPkmaTqmkyliNO~ z+U7~}LaLBSyuBuH>>`MdV2#!@i?m}i)%NXP7hV?!A1O1{9z1wf-_rH08#_dx!H-HD%Q=9kR-W> z!p8QbGSzim2(Q3xam&L4(|B=cd>rK|)0i(xitH(I!T4HZf*^2{lb^3H5+^xgo>DJQ z%v4-#-AH0$IeutQp}s_xe=^G`_se|b?Q(y}k}v10KIo@aKWxff_-o8hcoYwBYQ<;> zdSx*kwik$;KzX&NySE_H*rj<2OYnxtC67`IYa^0@%jiVbDr(u+w?1IRbCN_Sf7$J( zZ}D4fy^q6=g(q!3N1nk82BM^VyMcOd4MT{1*FDb(u;wClnzk8>k9yZtgx@jRs^-Ar zK#Uw+6IHCfw(}ban*~OJKbn-jB4}f=j6ls^mZ!`5?NP!BKt4acYCPMLfuC%7`2TRX zYf4j$Gf;QfjJ-E7fI@{pV0y~R#5w6l$+2yu4oSC$c%w=5{g|wT(QPg6JyPQf-=Ze2 z6Bso;s(mNXr?-fY( z4%~{%cW*((liNsqQs(>nWhY;5Ug;tWccy~fjbnI)v9K7PGj9C4Gdx{nS4n;E{7Ekc zyXMj|TvSKLH2T>%hnL6tU4nYPUD%^k3VNT!!v$kefwh6f+^JoAQxPhg=kND7o-8M+ zT^Hy&DvPOWkV6C5`Jm`~@$5hr(MgeTH&uO49$LusM4)rJzcTqkL* zXvw8vRzBUSLJk~Rsc<1;4qc}bEWKi9{(HZcCHR7;p-kxY?pD&DDU|>~LfyTxKZ6`+ z=cjE49FGRsGanMg)AubQJB`W6K=5`)b;sW6_oDL}8kMCY8(v3x(i0zIuIEVj9UK^? zIS46nG7hCh%@&4+ft5yZ0AV0L~P4k-Qy1q1> zFoADPY7ZH{wQL==AB&)OnfYL6qk9;^r_?H9RXe=4EvWNPie^`r_S;hIFPDZIh_35- zvA9x~uIw&4e)(!uVcWPJ(QEM_lO0m6!the?<=!TAup?ZKe$9$I#fx%PZ7Rr|;H+eQ z)b`K{>o`^DNris>ii`ON4lQuu2fPjE8b5~zRoEY_TFBVGw9;kqc`R@|M@UT|~iH;31(x8jZo z+j7KaJTD@9v+f@gQ9R!Fh-RCtwk*`An_W-VbDLIrVBh(|9vw$&bQ6)IfL-UanqIos zTrLmyE36Y}FRU2yiDx44DEn!sJ02SaF+bwZU4NK-*do9`z|~;}QgJ7A#hOB8{1cCRw3z2PR7L&x zBBo0OzERF>&jaL`l~OmbObJ(=HsnZ%tO_#y@hMe%WeEk^b8 zH@M`aEL+L-8x}EJ`EtiHzKb9BeFM=uXYR@>&<7vHDO^R_P9!`@0wYlPSqx49qK7UH zmOzetX*-*oHIu97=`z3m4y=A;%aaD`AAFy8Xf?eqRkPsGNulXFlf!cBQK>En2HYLa z9iBHe*UU=Q`o@82-`l1222Yxl?_zM2H!jflEf0&G&K+zBf39QNgi{|F&8~J3xT9Lv zJM>|FD9{xaDLQBCvdF2Bv-+Yl6vMAqAOH3l2id}2fqZeNUJ8DKT0~_R+zqI~;iJ}) z=opb%m&CQSIQ+c!tJK8D&gY&tV zWKqL(7Et-DJ0q9E`o{zwG12q|ri|((ttVPFXz!Lz7TYVO20TgNjT%>YzMDRAW;9+Y z8Yr3iB!0!VDPGfwf;q4`Q|<+wq;S9E)y(|_Ltl-fCFSYtz~addvQC9>q92MepMk5( z`e|+rH`X1M^nNevF4)e6>CP`wix#0|rT`oJ#Zv}KwOPT z{6de~WB+X5z~UmigGwec?eHt~KIhO=fmuo;I`zFl4svJ)+hpWY#(7RqXRy3-w)j`q z(A|~Kc%m!4=kI0Y9UAzkw`A)bq1BjC%-3sB05^6@VHNC2xz<{>5F_GJ&y^day9-mF6 zXBoNx0F{X?^XcBkQ@d45RRy;lK@|6X|M_52}p3A{2L^FsC z!UCeUT3iVa2x5gS<>LgVnYogG9rw+hXFusLQg7gVv$j=#i))ji zSU#Mal9IpE)Un3?q(aq1OHh?LK91tHtHukhGiH_A1RlBy`4GFLjXcgi-weAa=#UQ( zhOycU;V}hrxWZcTP57sZ}@Fl_x-iXJxUB-bd>-Y zmXI-KeD|L;xo`WqKpm(c7P10u7z_#Jg@=X$8A(+%g~h*P7#Ea08J45OFlN4bel^rR zAHDRUrm<1tv9mD2I3krE{i+pFjjC^93Lf9lAz#K#;WYhLPk+o(zx5pRM=io{k}l2b zx~|sr1bUK{P$a)s%O-sC=H!w6QXYgkJgCg3Lx$u5;|#d|L6aeaFJ?0%A17#_1cIeM zE0e5okZ$i>%JIQ1_MfP&xVbM=w-#O-y;P@d#XMRZW?PHfwj{UlV;{nZ$XJg;X_nUS zU+5pWsVINe3E(30yC#xdaz8f&pvY(}CDo?B@rXsA|8~Y+pxd~0F9V_^`zSZUy?5Po zX`4e|`?fZH{lgby#p*i(hZ@LX5F?2c9eDOW1mVK2#Vr5>yKw#dvAD~8n*vM<%{3d;Jd5C{+O(uUQXQo-n@{2&D*3!Xqf+NvdJ-_r zc)JoVLvWum-o-RBt9_!ubN)qT2UmYaNe2rA=<6T_xL&4n?|qvdZlx3Uvw3JJTi{-> zB)rMCP6wvtfNcRh&fePzW2^NT_xKT6uIaX?o-%D9s?_=$RWglwSa^&fq)$xi73^Wp zw1*$w;oA8YD8!t-ggCr3agIK~skFz^`?8Mc+&D9YsUJ{2+L&owNerC6mCjNPLY`6T zcqv%gM49`xQ$*P~a#Dte5M`JyNW>WDD03`95l*c`N}s zJGp$?lGU^xej%8Yr`eSDpex)C4vgFs|e2Z5lzs&-e&bAy; z-DFb$05=i;j#tZ}vDA6yF;-Mbb&rP%@XuN*I;FWCeqPHAO6sTinol92wkAjNAe)2K z_zd^k8S%?_`ib9hgA78Dt$xn^MXtc_wg-|0QrORgw&)#n_l|a=;(0mSVId45)|Pys zk~kgL0f5t^nGK9#TE>G`{k+%hN(s+2Usl8cFq6wb@K@8Ad|k0RSHIy^2JoL)kl|Jf z#s+;2xv=YJFFkUA*EntY1x-JSz_n}&l#=d=+Wkrjv{4lJ=C=qiRX`x*2-3B?q!!J5 z$3YXU`^-VDHvS>c)>f+~+3?Fn#hf#UdG8Ck|6<5t`^dOQ!}D zJ^BFbf!d{dugcO6lzba#1$VK4Ji=T7Xw{yRm|?aizOv`AtSCnXdckIGj|R*BlU#m% zkLg>23ZA!GYGWR{x+6Oe=|PFOmY&$qiib+^_f!{(#jko|Wm=Y?VLPA5hHE{d(Z)t}vZm-Zc6#HpJ7K_=lhmUh3aITtsUCdYUZdKdk|v zWhtKV;ft%WGZKV#`ng>j4$)O{u)x4`( z_A?71vuxUkN)GtUoJlVj04`CaSrl3|5jBeYyaZ5Oi3`un>nDw9My(cCJCx`ql30HQ z*-VzpnZoBzH9ccm(p>TIo(*YA><&2#eq+*J4cs+xd)(fi#yEv<-xO+xF}Zvk7x<9x z=)<$Jt*|5Ot`U$T?_DPdq+{^hTzt#$r8+)bq33>QmD?{a-Fw1sNZvxoV88%~$0{Snj>vHx?vH7ZI=Hsa!-1Zl%&#M%P z5|&j>8$b;8%%(}hD%w5d$p~^>;FzJW&niX*%eeV)W!z{+wBG$AouI$m!z`N2KLAXl zMlmHqzG*DH`BtsJlIT)pz0pArHNj}7lc4i?>Nwjn6cIaeQwsDEONA`g;MGZG`jTm^n5q_t& zTON|Y$m2qhEgk^toZz2|Abz6y|f~+BVGoHIrjol_)M7yAJwx%ZXohG9< zkI^uXYdpuJvimJO=N{I+CT<&%qL?d3gJ<)LN}J}Gga?t$AryYX8cquYjEc2N-GcRF zsq>oc`}9~TyVHKjceQnmPUI27VPeQy@oes)5z^X$*>Q;h;W$(LwvSd{Fl*q8FLQtOpT0=77=Pk*J}7tY=7DZptc@=b?nqMr)6y!pF#o}8 zsu?ykLKL-{bF#O)D4J%GgS`*3K_c9i0s2vEq+Sm3tE$O%?{6OLqfCHX%ilOWA2CO3 z`0}dpE{1rNh|@OlgEjPyLG={*9NRjsUS7V(ZJ;d3`mjHgIT;|6vj36)q57NdjszG7ulO3wbapk=uz+aK!4A_vyIg|`O!F4>kUi~|clS6t zGIdv5ON%jAdk&Yt(A13f-viiqAI6!*?wV_JY*pHvK+pcn7c!4_@NlCuC?yHa>l41x zdfAoQvjdB_uPLd^c+jblk@uXDt?7uyUKxXaEib%I9(zBaXFSb~I63(DU~gm2{0iRM z&qeM%HbFaQhU?~K(?F3GCD8=K*WLIdeYn0eH&t^iecO2tnT6Km+Yn6y^`R%?b{NYO zpvI23Q9RGc`lL>ZvEHRahADb5u*BsKKeYnzFuroIY4JFpu|DwSns9`Tj7xUsH>KWc z>GnsHN0y4a3Cs*bx;uZmbffS~-b?Dj$k6gFu2E86*a7V*N8(JFDR|Fzm%69)FZKeQ zxn`=~*0Rm45IdILX28-*n9poHp5V%+5TM}O9$i5eB}YC9HCrsbvR~>G@#&OFc3&;! zG}pqe>EyCM+EIsZ-AcBI;rLN)Ji2vev*>Kuyx}9dcsic?*8Z{;mrd$sk`D{pYg*88 z>>VidU~{ax-J^18xsHXb4>Y6+TBpt|1wv+Onqx@w#v*?5nTRD`ob<@hi?n|$1uc>T zSjNTb0V1j6$cgB+K!ivn+__SUOy^{eyd{8 z8*MH_s}(Gu`Z18IpNbNp`u#;M&&|T?bE}+t8D{W~!m>`+ zX=^Wv*X_zyj^?LKlMYHnEAlooVG!%sKk5x6pqI#@QBxUawmRAF^YvF9`E4ohx7hbY z*NAT!=B+8~_HzNWZ&+vq%b|N$4AHOUJ6KD`*MF@`fYu=Vd(0Wg25@RHn=u(C9r@4v zlpP2#_+*r?!Vla}xS!HWrN6z!krx#_f6nhZqb6q6(fF(U(|M?p z`^UbPrk}pPfxra#B$pa3lDR$fdRW3!*+HBXzgQE8u7Yzz-eiG!n7}V4yA? z1JTT-sUNNNJ!dsXL93?Q(d%C&H{8ihYO_k)I@K+qpqfL_#q-sZnV^6|v?sZ7MO3eD zDB<_6z2tL|Xxugnv9CY3bG;fxZBDED3#=zcmLA!+*Ta7pIrGwBgG}e0ai4vBGtenG zRc%lFWZ%D+Ig&wR@8~)`aT|lvYuhIrpYK;T$bQR6ne_Dp@2+5*&D3dpqga^ndoEzo1cx{VMLut}s?`~cQ0S>Uoi~i; z>(%y{28Cz6_@R8hnU6Nz&nL(fz}2V}$1^S5X)y@^7T4zml*Lr<`W9zry-FIL2^o$X zWSrcdpGvB~1?A86EV7b>f0&A^Qj;m_=qD@UV%GH>rpE9Z*e>=%aom4@ zmS0~kWld!Jm>;1>5||&+i`Q0j={@5zqU^sZ)KZL3k7^nNJux->`fk(AvdJY)Ynq#m zrRxq}jBX49`Gwkztt~Fv1kE+yx6TONl~Y^jR-E zTT0IbC1N>x-(tk|0>vOWS3Ie#)UWrlDK#*_Z)b?*C;A1N{mYrFAM(8wtFwH{(Byns zfRL3+5#3Vnf>eU*MTGme;t3_6hvvny=`UhW6Er?+5wf44gY{B*MR+xw6yr=YH~3q# zk{mrDXiEau8%+w9Xam1w1f>aQ7k(>Q>m3}?4om&qqqpbFnl*8E7LK8n2gR+1UFP#v zsL9j*S0>0(ZV&gsaQ2=mgCd3RKXVHth4 zyO2G&M7LwzxtZ2;eUk0L5M1!phX|_qO@2KdL+Qa=323Rp)#R;HzT_i*3%{<9C-AB% z@wkZ>SO;$D4=xh5bv|YlaF>F!8UDy~qxo#6rjk!U(M;Ik5R9RlD%Eq}E3)*X;L$5G zcvv>L6f-b3PgX6QnZQPf$Z%ddIO^+x;^CLWp|0dgJ+FS@RI9Q)Jh8&bD2+B$WZg_0 zb-`?6prmcOV*TfEu45@ybf9u|0`HI>bh*r8c*omnb-X0^qouoD#&K+t7sIUNn@I}p zp1Ai?eg`-wmbnLv%l2r^pQcrrZiFN-s5^MPNWqm-e;EgvYen2|Vh)wit8*A1Wqh2! zwg%1h(|-X#%;oH}Y^~q~nCKCQ|=&oB(pC2ldawU-h<8{y7mJ#ddaPqOLY0M`B6=v_39~GQ0t2hr@gDb z*E#u=uj8!Xq7I9xC*N@uy83mn=dCBpc6z;dmEcCn@rUXMGEAY9+^cWkT%4UT{Z1Dr zg;HA+(oMU>1kEqsWgF-+aJ0*s0 zqxvi76(w&n4^FoQVl1B$kgj)boV+mm?%b_*Eh?IbRpQ5zuy$V(F{@?XDHqShuW|cx z-Pmd9iYKgQ7+P$6;)(}i61tCJ7?<*5W`L;H6kSgjzDl_2AgVPV@YgS$8Zgp}4;m#t z(oD-KQ=8s_oJSbDu(aEWSa|^;dX50uMJ7)BV>rLIIkI(oeTb_Hts=r?QWuxw= zHQ38CFJtLD_DVsN>vUU(O=&-(lg_`DHKGPhg*eR^GC!KN7S;jW^0lF9>+zbw{Ijk_^Lv+ojPmP=He>+0S(sa&06qQQtHFWNv9oWx2*_)v7&M z(BX5bG_!B9u?&uLvmbT|vCQaHrd-Tqv4w3gjTFc4g}u~Ir!$2|t=2Qu!X;5pks9f{ zE{e5QW!_cgAr(y4K1wFWTjB|mN4u0?L4WoUgo z)C+ZhkGc!~KJUF?-zfaVtKbVP; zi(Q{CJ&wD3?gyH@e|JvM%e)b^T~9if!^*PnYRNew3~uzD#}S(vxhH1ht=&*XSw*ia zf}h-I{o^GU8VcDfqe*ksJ%4$@Aw!U@k|il|g46=thq9g41UFRSPiMU%O&KKXXB zH!hIleMz9;*sTJR8q)H;2JK>eZAo$!^0!kY^E=(Em)i9SH1(UGh@8Y^*;a{YkCb() zbYYWo@t<96KySUHlNx{cd&1p6i0Y}Do${~iH!vffr{YVZsnLB3zzpyqQGU+pVWO=3 z9rg3$hq!kirZD+nGT=T2^ zHQ4TFN|*ca?yZ7$_{DMMWK;Q5O%5@G-X_6r#h|;DEqYm=T}|~d8k1wT9I|sh!S^pd z;}XaktE^a8&OCRN7;zmUo29R9%zAyw;dNH~$1mO{$-(9{_;gjtV=k)Qs_KWUVf(!# zZ5J5a>(HL-%>s-uky3xmB2Xbxy(3A-1(uWRb=P6cq;eD&QFruU0_F^z+xWUeBKg}#A?FTX5WvH?}2q-p+F;a4&6MuKj+lerYWHO{aM*$TbmrC5= z=5_yK?rU%3uOU{Jrw)t$LDm}AV0`!DWacE2a?b0e?CoG~&-Ux{oE@Ob`aR|IFWg%s zt-dW)_!_GfYb+1^>LWEd<~iTIIM0n7mNG7pm>QAm@lxDLyGVVtbly*gH#gaVX@nzM zR<*a+^!uP{z%)VX(R~5}f%)!t0xplRZ;m@ewtrCI_tcq95QCmpzTPh%jZW0p$z~ln zA}2mgv8ve7$UHlkV9P5TXlhz-d}=Zilq+`!oBd9xVuWbrl>0mnbA_Gw<2u>$_q=o0 z&OG!=?s_M!&Q`dScP33$pCXOU`J~(8f!y7An@>b+wtoT+cTUJH_e# zZ`7q8I1jvt(p0|5lDCu?qD8#zJhym+vQ+%l=qr#VKyip0Y9DG#8XAq0U$53eo+g*dTWwv!TTk}=}BS;SO(DZaXDB75Bz@67^6ZR8Gv#gmz&y6KUN zVeLpaTw2yfLrn+MYiP{IM!A@)>%~}ZnY^Eq(%Qz>!h|T_f>$zB=g%W{G;Bt4+g;dE z1{vI=@05D%;?Ce7?LfKkBv)0Vkc#SsS7&SHVs8vCqRZcKTLkaaq##TKLKohY+qUuj zkY&wZHj62^rLy_nVZkr`iW*zeZ)K^JtcMrxktA2jCip^f(<3g{_(;R7dTxa!z2xgW z<#YhEi-)g;cmzF@Od1j5v7#v#zljU?2i;sQxsml1Cw9}YNPWfG+{$4OJH$oP8`}%P zgiLsmrjCDpcm!ZB#_4%fzVQfErbLZVnr^&!8kDhCyh)LqPD&Fk#kuh&m6wHzRw;Jt zr>tvmW#>rX@tNG3_wEW+$eXS^HKKvsrf1QEXfamyN^w4vb1)lCnvS{!uZ+B^fXbv7 zShLbYSf|@4MX_L;c4s-nyg_T{p|T#oj6aD^o-%?-_-RA=ms=LEQq7#_kmaTC%JJ%4 zcUAWTT2(WczWQD?pIdvpl4jt58U;D|75bH$(Ch+*ftpXImK`MhwwCGfUnf35R53h9 znBSN}hPYj|LrGgBRk=VOG}xcOd~v{FLZ(@*MAy8ncPS8~#&yDBJeI+|Lz{`ZwUVro zRl3sVDo{njXGJe7yAlG6=^(`M;?2Mx%@|; z*B8C6jn{M{>3nIKjh?JfuiHJ1siw9a(6B=+iY7DE z5eXv3?Zt6s78UxCm`oqOC*KOBgU(Z$T`F0OaXxkQC(0r|dyA|^%`ugyVzt*qEze6V z;zPD_zMVSN9~uMB^u8qOlyfcK$!AOL@@Md^3sKFEr;ZM?G^qVtA~_=$YASd8xeALa z7cXOOWrvG5%auFrxBRBfv7z;V;nBt{y^5!~x-X@t^F!&KJB4@H>01UKdsKGWedrHVDF3Zu zkXpWibkz=6-CSQfCEl@MKi#RNi7qbx9=Fza? z{UfJtv0CoUkz7>5=hkwT!%l{KqNQhoKPXc|%FEX?J;-y|V%{#IlEL%_eKPM>l6FUe zsy0`qmomeaSkFZWgY$?8vvU+|o4;`(gS#{JhBPHNn`sf47X5HT>(+vzuCp9{yp@g= zRjG@b_k0Z4#TA9qq>_AVYP$4_$3(6fuZ6C7C6X})`0QLQr6qD5Lu@7)H4rHo6m=2} z`mrE`gQ-!UL&+(buCSSAx>)4)*$u{887XeI0WiEbVAM@7uI#d%C(E(?aM=f~sLj2U z#F8%m;QBTuHQz%)QT1v{W_405jb~=2R-e(;Evp_TXv>8s->Hp${w*^0PNgT2BlitN zPe%L)K9R;q5=cPlT32z1bb8CYdHkV|DCqp%e^A6Xd9f5%cUS9V=}2AoQKR}bkHE}w zq^z#@PMNW$q$oPbjBJ0Z`{S3$bWN!yOCrDE)|54(^rDKz@^)JY(@f0;_UMHilky&; zbd^y4Y&)@tGuN8MXp~My8hT&LG|TL+u9L{$VM&ot6{xUZSmUFkPpe&Ct1zH@zGFw=#aEiDZ+hU7PYnN|@GGZ(Ms<-9EwSyxN$_RY6? zN9B<*TcH^nOS;DgLVpQ#kP;I{ZTTdgCpw7)KLy2lMoV-DGZD+e;Mv$~hMv|X-QcMw zN=DV^bkeinnngM#AjgLx=uDtsw`WCP>a2Hl)~Fnp^{mTmR=SzOfjj) zDp^fBBC`#B3iK4!-Ct*$r!z2SmD%M}>np5(Bht}1vVitl3*P|8BPC^3c1dR}qe1y1 z=#z6aZMSIaiBwUJL28?4wk#-32^D2$(Uot07gTjI4BYla8zJw+a`C41B^7oOO_4H5 z_$Jqo&gE8$^PuYUY#E8)YPwd?HYmojX~wB6NXCJs1S#y(8LHh|9GlxKKI>++BS`~4 zqmmGat$ttk7NzUyO4=!oY7FRbtOr!jGA+3st+|!#p6XA1(`VQEnd_Zi zqwqlI!s|K-Q?BPPl5SE|>7YluWy&??x}>=N zICltO+OS^d_l>ozbjz-jh`E-a7X%@5treqoFnVd}SZG(V8{ zk}Jg%L1V$xi|lmzb&dqhsoTil!otE%?i)7@U|9g48Ilm@|6&eBELE|tPhI0-gjVZ@ z0If9a8oapJ>~Z?)(K37>xPs@wMVcI#lL(pNwNDeI;Pmd65eI(EAB zrwIsJ3RCVyg|7Ud&xUB@oH-bJwE|`U9&}lA^&~r{1XHii zOOo8>{xco7wj-36rS7Z%Xydo<{BKL1ze!z>@5W>4jt=}i@7156cIwNRBhtqbVBW^O@Gt@m*7Nm(D9 zm__G2^uF$not&6Dwm@VDH~#4*v{hbBl_KYVGVKa|o;{@b&d0 zQ{14IrO7Vy_49N8@#BY-(&NT}iP?wz&=vt%ULUVyU7vKakkr9Q_O&T%#qTNIC=jl& zWc8&M;_T~#eI$@L(iMYkW%u4N#JbZIjKI1+%{c`_CogH}4KvO0nHeJ#sUZbS05D(> zhifPcfe^J4?(+$?x}bE?cZZRYak0OEsi2Es@A7(th75-Dh=Ls84Jumo#@5o-?MCtHo4M^ z4^vanB+)7!l_1K#{+GfBn6N+!1%T#Go)+*xR#z{d643tORPv>4j9scL{Rr7tkuED~mB3qBdE_vgGgNiopoY3Htcw`;*e3FXVORIT8ELfCW# zv#JDKHxp`?K6hAc=r~hfhU%$C6_s8!{YE(wfe(yRShMFIQG@Z{sZk6bKR8!T2!P+! zN!e5^Dk?y%_Nu!HfB#9q_gBa9@$1e94$SWn0V1yn3t^xWE^f&1XJ_qTb*n&$J%`~W z;n!kdh-bf?+QmqS4l(a>?7dVbyNvI`{t|@gyyVIY@CtO^5RJN6CSj`B6OxmMl5K2k zEXpZZAD%%5=kn#t0NYd|C5()@z~(oYBX
    eIltc80h=7HP=Dy+&$$)5&h4 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 literal 0 HcmV?d00001 diff --git a/assets/skill-manager-mcp-matrix.png b/assets/skill-manager-mcp-matrix.png new file mode 100644 index 0000000000000000000000000000000000000000..7f1da6ccc608efa10e2a4e9a628bb33e1674bd23 GIT binary patch literal 185898 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

    YKao0(ke*Q$7=c$V*fNxA?;`5(+Ioi>i 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%0Dowq6_ZH!vXeZz8X$|xrX4~DHdR7L3;k@2eOmC4) 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 BiQ^ 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 +How Skill Manager translates MCP server configs across harnesses +Skill Manager imports a valid config from the source harness, normalizes it into a single record with named fields, then projects that record into each harness's own config format using verified codecs. OpenClaw is capability-gated and may be skipped if the local client doesn't support the required config surface. + + + + + + + + + + +SOURCE HARNESS +Where you installed the MCP server + + + + + + +Codex CLI · ~/.codex/config.toml +TOML +[mcp_servers.fs] +command = "npx" +args = ["-y", "@mcp/fs"] + + + + + + +import + normalize + + + +SKILL MANAGER +One normalized record, source of truth + + + +NORMALIZED RECORD +"fs" + + +name + +command + +args + +env + +transport + + + + + + + +project · verified codecs + + + +PROJECTED CONFIGS +Each harness gets its own format + + + + + +Claude Code + + +"mcpServers" +{ "fs": {...} } + + +written · JSON + + + + + +Cursor + + +"mcpServers" +{ "fs": {...} } + + +written · JSON + + + + + +OpenCode + + +mcp.fs +type, command... + + +written · typed + + + + + +OpenClaw + + +capability-gated + +⚠ may be skipped + + + \ No newline at end of file diff --git a/assets/skill-manager-overview.png b/assets/skill-manager-overview.png new file mode 100644 index 0000000000000000000000000000000000000000..cfad00f19a66e840b0c648bb4c2b22018d869255 GIT binary patch literal 380933 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 z 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ℜQ(7hbmtwkPRPZD9g(e% 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"eTg79cMUsC03ls$hfJ7s{+PUCv(ctK+_S*spO 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

    xy{lN5`ueX_IEY0k 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

    -hr2j<3~h2K)_sP+*&b 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

    QL%Ks0O@V`?s0fJPyd3kr$g%a-7$Xsza=kaKO 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 s?cJ!>R1Q)5P2NIC2t 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�ZzUtFmqnPq>rrrJy41`rmmVfw)@#U>>|f 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ξ5%fNAiax6SoyPFF>2Nq(@Lj3#l8u)YzVD zILo_^l{3EGZ*{_C;ot^<<~bNZAU*L$kQmf<6K|l(j_px?tTm`=;bV7xohIOm%i}e3 zZ&oQKK5!T0_bsLiR-~8x0NWJm78OG(_}t*v19@hY5NqGhV8(0R!!JnOIzb^GzFWjy zzEZy#g>BvJb&W{8?&&?b=~DG|BPl;^kqRUBL1y=B1U5p*I$T=q4)&JN>Js-Dx-D9E zt~tH-;)Q%V2Nd7eqQpEv-DE@?BuZuG|53koFba(xL^NMOuB%!ZB20lO@iC;L7wt6? z>V&GC>#`|RAvj?NB6{f(zCv4;P7?+-Ap9kULdW`p0ZQgqfD+Jwb{RAgP2w?X^%w5Ez)i`3xaptnNojv0w$ z%rG`08w{!z!rW~UI0Hm8?2C4;M@On>5nEpi6g*$AH<6zaWN^)|eN%pE=1I%x&u5-G zC@Ayry_mn1sPo0zT_UJb@9e<&n?WDNu^&~gI=#J)0yoJ`xHK9aUTre*Po+7v7O_f3Nq>j!K&-7=r5qmpA@LU-kJ zERm$JnG;jA!pBJOzpF^M}mxZX#c<=cJfCkA%>bU=seA6I69#u^Adk@ zD2aN5xk=@v?Vwz-cD^qo+v*bKNM`?`V0ey6w)tKD|px#IoP^_`Q@M|F0?^w_*{ zEc(f=jjFg4O^B622;bRWhpGU30x6rDd$v0G>}!FVSY07dT9RQ|ezM&u*#U6p`TBz! z&S;V_p|!ik$4eN95SZ0oPVWSghY)-tEai4-vrB7W8{V_?f~WqP*k<2z9`*IwPp5%( z3Gu_=44fdw#70SAH1Y!V%n^F&eWjiz7O}A3EG^>TVOpx8t4|V3wVcE!jdupaLl_N^Mo@a?}Qw0~W*vVPEIX`$| zzVaz5dB&MVVrd1Q8nB7+HoAYQZ*nFJkV7^4jC`B#X8*Bz-OHXA2KO#S+AAAdUGuv4 zaRyNQ+&;-3(OL*x0@Ym$n$m+VaOd81`0zTnxf#bdD(slhYPUAb_l27B{a*xbV|g|D7dW_+S%2n^d`|uFiQV8IxSvV&gY0T{W`9#LLiXJJ z`tcau%M1=5LzP+69C7-R(^ZDBddKKxq{(-;5LVcAUu|@Lg74%*+e@h#8UE_JefRhU z94|t?)OeS0^Vxg`r)W(#Nb-s zOpiAjh(_}L(9JUThhXl~{xy2*=9Td%2MCn1-V42qi=Rjq4- zk4+flXDl}F`2~Z4DMm$Vmse1=MG^MD*%C3e-YvVsxn(fDlDcUooK7cr-zL&!E*DVo zHM#98r~#JUWSe1nkNSFI6fAvCB-xwKOi}V;z^M zOuO;8r2gJXkBt~c>T77*DE*c|xKXvwD}dMM3}0b1>j)KWetci^1aT$<3xsy3$XMF} zQir|~fV|)9=*OmPuWpVw<;w=?h?U-@JwOH2u6bL|xK!SzXd`;ipUD^8w{%dI(lxQ` zMZvmu5(51vqqt`_q&S1G-=(`|Q({~{pn9pTwJrMonyD~HMTSE$7XZWKGY$1ceESav zcB(3VPmpF=jN!==0Z@-0qMg z2{psdjKvVBU4F!zhEU~E(DxZ~r4wP1Cp<%O?l z%(Bn9aXjixZW?miu`EvO-_1;)@u!z0V4BCv9@t{a6{++017)1$cQWqh58%j+Tb=+p z)=dgmof9jn84#B;EjQLRV0j^C?j@qj5B)I*?_Cs%XntocKuSkv_b$JynTv8 zJprmeJ$c|_m>ORmG<${`d?^m;w3nZec)inr%OH6IjF1mTsc>r0htGf!B)jy30#xTn z|B-yRE{eqxl)JV-k3n+f!&-!CqZB+c)>HH5{?m?y?el!iH{WJ=7jXs_fT5IAbq4Ou zd|;^ESjly}DB0D=Jp8`S;7cDx_K!O`*qrJczVDzW9@*^kOnOT<-Ho{*ff{?5sX{%BS!ZF z^d?XBL;?D_M`m3NQMbRp>8s&^-)wgrEzg?F&7qh2th%#AcW@>E4HR$9BesUKF}85T zI3OxIPqj79t>2Zlfu-Kwu%os^hhI0@#-T|P6Q%ZvF83@3BQ;u1tO`UqZsK3OZBA1? zG0|ZJN!!TG0_&UAR2Q?4Tn}vOap#1;=e*@3RGY)BKiceRUps-2${^m4 zMiN1rwnkGyx@E?5vIlOub&2i$`mS4xiY9tyQ&yhZGtU&Ce7~vHD(O3R=PiYue|+MtIjCZ|*Q9p$@{I(<|0Cz%gV$w00NYzb*AgPrIi#Lsm?S%SodhY!z-EUG06 zn>IrW4q2F2lYA5)UgJN4H&vVaH+h9AA1n@l~hzLZ947e>riGuO%WY zRs6>mY&pT!EuSL8tL*lktLQE8~*~gYUs-$b~gZLG8c$x5}F1ZeZ+2;g?%>?>jwS~)x zI^n6svc@t^w4HIggefMM4J!1?(unfA>sCX-n(<^h^-VEHjxIKmcyFfZMv7&N=CvCP znZElY7nag~Wc_~v9PdD#&6wi2bY>>z*{uNK#j!vvn?&!X?S)Yu1 zsr6|$*k85mU^04=1$uWZNMvxteDevd>yRK}*27H>WO=XA0rJFrhl zGm&0OR#w@0jyn4O=^aw=MBRiPRc@?Kq)#vu`&{Gvdki631xf28nt7B=XhsTE{a_Xp zn)$(9tuM^$;<_g7E&CI4yeQZhF!|LTPvJl0bdt4@Ao$^#-YaD?`c=6bRS)l!D^iQm z_f$1oLGWr7dHIAc^~4=T#jf^NqpO((!EqdRHM0P(TOKDB@Hd=DW^nZ1DdvqbFvUnb zS5y|((3UxtyzGD*!{2R$=SCQ&BG~cwcPhqpaGe#9O^Z6)t``JA_MThe#Ui9~4wr$8 zY2K7)YBxy*E-)4W05;~{M2<_9{&q-FvnWAz!!kql88K{3l$rbVv0|YJ$SR z9h9REVKt2~o8~7$T0H~L4P2aLebAIjw;tC;c4>P8R068eysS>l_6*uChr^Es7v(ZmKT zr=zTLp~Dzr$eblXUXSwjc<(VlpY&U|YQjNn*7ZNl=K`A(I+G@gBa|n!IcFX6Eppw5 z+6qoJA7IWr9f8H@mhi*2Z&KVrpS7t_>OGSl3Ie92D6RNfUNXS(=gD?FDmX;U_47^1Vm&Je5uz zyhEzM1(L6`v8(N=%|1WkU(}17Y`cS6pZOjMbJIXF1?*mPpXfW+8{|TVtyu+$a|ok0 zS)AFN@pWqQV`GATL(>M$7fF6`h&77a1UeuOn%i0`);@hG^$VZ_|~(?>{)0nNI2%>AK5|ZUL)gNzP)C*A-61 zbJC0pSs6%74Uk!aMq@lbV``zO@o8@l=uF@u#kPYk!r zwAeRgq*}fB!w-QS4PbnmehN4Hrt9tP^(NdU>nZB{>Q~?3@6`D-?UK8PiZ4On^{aEc!Io+~;=G8fkjp{pn*6e9% zhd-x~vr>JpyjsLuVQJZ2cxxT(ghqgnV*i(=x(VN9IVjH*-P`(J5m|kXPbHK!3(l9^t?#h+Z|m zi?o+{gXWOH$AnDC8R3#Y54vXq@#?(nn>nmdfNz}IJ{2~|ITR=fctZTa1<^M!{2!h`7QgS;SurX3^t@BVXP%WT}N`KFR#$IIFwd{ue0aNFnuPq zsz!Z4lz|$k7;!fh^@yguZ`N|IrnN&qi&DxSh)*PB%X6h4{YLw8f7zmstjd z!`mJ!uTzN~`MX+t6e63A&rL=YLtF4U()bF0Zf3tU<9oB?LR0nl5pKP<%vaa&mscnC zf;VSe8F7`Cp{18wYogFo7#6Z5JJlA?-w&R~CHdXS_a3%Oo9k+zkHu>%4wQSUm6ulp zP5GE&NV0{cDQLhu3OnnMW-F}}7Yy4`TKcHkvz{4Q&_hedU~8}VoZ&=;p2XDOjD?c@ zYnw{HQEj$mRKh7`mK9Zv;?u8q zo^sgn3Tf?yR$0uc{qcr&;lR_hQ?~ZjX+51#(zBOEtmWP~v6@bPBAEQK8(|W5+~HCY z5gc`QY6dX;49$VDU7QZ&{Hg*(tZbJe7dJp2mmtyQ+=TAH#FJ zd$E8U^Tv2eq&BoPkR@m+h1A?M(_n5ei*U-KjnBwiYfV6v9Wn>rzD=8ieudT!WiiFq z+YnOTS8iHv8?q<`9tARjkJuKiYX9)(!zEYT>H-53nSsj;apo)IZG&rU4+{&~9cWA+ zW7=DiuX_yqMn_3b5h;m=NpN{IZVFFxOr z-|mo!RH%4k^dK-DkH zL|%k_R3Bm93r;yj5GH!X9MyGIf;A9|oCZJklyYe8nJhbc>_z6qGPUlU8wKkdZPUcm z^MY-Y7d}Vm&mU^IQktc_uR3Xo_+k&0qV>*1`$U;}GFrW7S(r6rNWYjP zo-h!tOoC-fDCRAQ6q%{YoZxQ9?}?MFFMsLzBt|~!iK@7>As-7bvgAcxobA78#L5RY zpR3-!bL@mgdeHlEY;h@aLzeH#t-r69&?K9nahA!5hG8P=n+JMG(UaY9rHdRq$dvs26pz>FD?afVzFu|f$iU<&C`TPpH!PP6zBW|+2zvt| z>}HW!Oa#%Yf02qyMU)a0&itJ#CW7N_fq%Q%kZiS976PqDxYTwECYW_;UaJeYj@9^6 zWkwwTecAB0e3nG?W^-vG9jk1o!iW=NnbC3Y<^U1NIJKC)xH&le^{kSD!r?x%%?qZ- zva+hM^Iy@nmy^i(cU~}YPvBk%-i23AWA`*Mw58xzofZn;gmXMs4>qe9&mqP$2JCMW zq8fCE=}oO9fyLQXc&McxRDifmhI91-995CBn1?*W%Gw`4AK5Y6h(*slab?%o)FFK{ zP#0I2pn%)|h`4Q5b(_AaoM9uke6xrc)zbR%-@ zCPg5H+=>0Vaw+j_&}a`QWM9mv?|LgQiRN(^bv@*=$1YEfpEEZ&y*~c_WTkqHto6El zSuqfd7c@yi%4GK30@R}V%Et=D!w!2*1UL)f$B7S4)`KxG)A;ku${lE+2|4h=^Eq)K zr74FplHw7qdSkzX3VmGl6bt&MCpQ&9XS4+19jx6P=t*CZbp!XcMpfgc_g7xdTZ;)f zLs+l55A*IFl?4?|8XC1#Fq&ebZw@O<<(~RfSs(i;kx8_hU(_~$k)j&CCvB?%;1T~* zc;f6el%U^Fy9Ov)iIY>dz$IQfT?tCiH4vt#FW212XV_ zzE4eOGHT{yj^K*3R!$qWSTBbhG>Ynz0$;9dQJbvuyU(%P^{aP>_vs&{qQrX=r5^bk zg#62&k7+j8JGiS8^>%1Cp~r>^DYNCDoz#$1exUvHM5X!f8fS#6cY7yPa@hRTL+;1i zSG%isFN^;guglP9`5WDF^oIAy=*6#34W;~UC5J0i`y}Ti8&z3Za%TpRaO(t;#c&rq z1f9t^U;l4k`zu7d0p5gH3<-tT|I(8)lGjeF%?*H+O`#ILN!gfvx!@P;hjtHZ>Eu(? zGo{VO5@)_H?>`wWrmz`lH<>RxwFuR{gJ4 zYjgnj+9Gk@*+gWayTV!W2O6vj7e{t#0|T~7|15?4dRQEh2*#=9c@HgR&&fb;A1Vs* z7N*c5$JA%Cd`x+})fNWADsB=mGcvbsl?r*ZZKG12{fJnyUo=q?*ZWvwLqL!>e1%O8 z|EUWjt^WwE;QreAfv8ES)yaZq|AtkQwg#=ILRCd`Gj2Vsn)e`Y6$b>HeT zq-)zpzHHU4j?zAJ;e-5lu9<8cn=PN|KM9e2TBXWi=e3l~p+rUjwe~!UQ-8(^CX2^j zf-a@4gv4IVOYJ-m{)kr4#uOaZeHENGV{SPP3C*X=Li9QZM@T68%H%dcMfdH*icLk11 z0HICNTNClBVDo@s{-*AHk6aYW<P)-; zMU9B5@HuvWz%G^+$rK*bz)R|XO# zqG6n$5*D?T2D%|_&GF|CTZdshaxY7DpeFO^4D-nJookJVjN9FkGzyS1&S*cck)DyH zZngaQG(%>GJS^5Xq~7?sjLpif^!0yLW)jeBSm}-drV&F4ZJu1`9MPdLSWhwoe2v6> zf7+*EweH=tgyz3vIA-!e^(2eySdd)fiht?J=_CyuV*jk*)ZocYqzjWU+t1ivEX%#9 z$&lNvy)h5da=Vq7lM8iaM)}Kfwjp~XUu1;+%c?)>eNK98>ALvm!~xOdUXij~$}~dX zTi-B2uODNWB|M=m;N%vPZyY7U*6uE8i{D0=JG|rOns#NrAQlYV%;28m|6+9}@PK@S z&%If^R`!h1d*S15P`SwCyLzy(*>cA*&g9pwjNB+==8(W`v{lN#&7tSZg7}=ZrKbL1 z{h-XrJzlIk?xmAw)Cu%xFGQ;{$zarJpyAPn7)_xERG)#V1;Mn^Jq_w#KVXz>D6t>L&3tUS79rw z0G9NN)U;LATkrO~9!iRx!_0bVQ}o!s?k0k+fhu8- zc?3At$SpGu@Ai&q&X@(4U^Ph}hZx&nuY1qIQ8v+OS%O=ucaUnwR%9{&U0ci~Bv-fk zu+h5)O2b<*Sfa@|6dsN^Re!{ZMuZ^{%RY)l4X!!&>Z8U?Y)5E&)Q>gZ2|v~8MSmp3 zt|~jLflbL0aPGKYfnTY`mg-}7W~6yT9E*?lp0>Ae+`3>o`^UPMhw`QfzcAx}L>eUXA3%Hcn9~#e zPciz-t_f-aDw5z}ZtGt|(Z5DY|H>l({x}H=1zZDSqe)4dPf_EF&7(kJg&&@Vj;Oqj z;IH$Kvtp+fj-Hjx$J7i$JwQ78r&qqH;2=dYW5A(f53pFY@?v4u(%HbmVk9#nyB)!r z#!7s{lt+->e%Pe*5SPQ2ct1TXU0La$)bn1Y;Og|Gj{=EWK_`(0wmJW669LzH+oN}c zg!6u|a)!;HZI0QfSQ%yMNV?Y>cYdK3IM_HVNj?RGE=Ukml(m6_O4(@?ORU#4Nht={ z+akoZs_k;&FhU$v;$hAcdEZp4OBKbRm3Ows)>IH%p`l%FMTzZ`02j#2GyP`xUE`)P z-c|8>vT-0Alc@)657Da0vZ2<|e;Wq_X2-yl-;jeuf;k3DfDZ~j3_q#8QB}!0n)Xn zFXXq{`XSKLiVI!)I8D@}W0~?`P+U6AQDM4X>jjSolOgj%m;Ag}g%-G&LX4Pk5AzLy zP`#bg;mHs;=v;>W=;M4A(tOQ(0uNs{8OA)6kgVx(BG?r&I_ zX!ImnqvQF09I1AhKo2J<-X$!$CeqJ*O^wwMpMD!@>1C?>M~lpkFQt_At`)Y(1TQuOP;VbuEda99h$SYVaDe~{iStZ-r7XY>DvjpM~9Wy z3AUS5vIy|31mv;wF9;hu!H zL;O5=-kfuv;j-cX1-@E@zOMqD;&+pP$MgS72t{9M6S=2?x!^`;(8I6cD;sJtulj3x zs1s8LX5XwAO#4ZqaV~f^th0_RJ}A3H4n7LMZCn_CUbb&-?c=$7m%Bima>$rR)O|x5 z#2*k{=%?;^t8*VEQ<)ao%^Q-N2Bn?A|3x)%H&d(UXkNly?3b~$2l4tSu(XgW%vy{^ zqo9Ub>}7{B^Bc5}X$Q6EfwnOt&C6?IR;h6~jdfg%^fuL{{2E#d>s4ktl8)%Cx>z!u zI8i~Ic12YPDqYjN_+yboXl`V~e@?k`_pdkXUn6Y*vmmfAUgrNhf&NPin4EiPl}F;) zu0#YI5W5WvCWg=HWA~JmsZCxZ?nh!kZpej0^$8>q^oCS&)ger?_COGcbzc0roIuw3 zy2hub-ru+4+duKaTdAXN)8`x(kJ!GtM9dz%x~v6URkQ`1t^|PEzR90QNgu0VZ`L;8 zM)4=Ki6Qt%vBRuP*8Sz>!G2y4YyNV*4LXTC1+bC#|x{O#x< z_KNr4e(TI%M8wPeQ^}gkqWm-{`CYtF#@kFK*Nyh+z;4>X*ap)&@8SlbNM0FiRX{^edY<*ogi}*>B&D?y&isR(k4}QK&h|fH!Qn!`A z9vg3jP4kprE_`+;-1m+fhjYj8rJv>i<)4o{3Icr2e+Nrya;~3X{zmITdFuJ%y2ehv zSZJ+e350sIa3Rfs6Q0tQN0;)uXf!0ri>$buO zx?7q(jctxf|Mu@Yx4XU6CVOK#``vAz5@{5}hC5_k)FRa^*^=4$1J8j5QtiCl&wCXc z^b^e2=&=kk3Vr+w(34lr%be$ND9-#J0{J#Y&TfUYz<4m=Ko(TXC`7*G+z}y|8vNMp zr2z8g*jT0a5cTu=gu&WFh{)=|;4g~KjvBq^W*2;OBfm01%3Nx6c|Rg`f{o79zWY^tb?7}xm^sM zWyf~wj6~GB=Thf2)DO6w9&Vs}66GH8bgHvePUqpXZ{G=$8svw_85%nekBvUTw}lfb z3i5tWxb@;*YY3h|9KVymmf$G56;i0dXtfCYNEQcnU&W#URMo~&fvKfdU2al2bd%Mj z`nTa=Y?W8Wai(4pXEp^7L@tQ)XxVxJRi3lr#+KA6A5Zr^RRgPHlnJC*n=$G2a;tID+C%RtMJW!Kgl0F--4p`TOK3P-6G%KyMh2on-7ZbtTq6i16kf`>#9dr$Hq zpKxtdH6h7R3I3Lb$A``{-$&qgN_*>r-roM}e{FCFtn#jNc+HLf6;Wtlyhbh7z!2Caxm2<(@6$bn+#D*sb+&v6gZWaiKzr^YMOk7!|n`tEDgS)>)K z{R^i2(<`egQ_#XijGhSW^geZ+CDBSoHka13DAI!SA?csn6Py8|Y>ZJNz z8v9B1BnZ(WgAL&^{A|59Hjso@6cTg~s;UpB%Bf8(FMu01-hlZ$ts4M$bFMW@xXm;% zoJU&)t7SSUgX^0XS7k6f=>{!+S))kF%inq|!sVoi0hmL*uvaCAR(ri8QT0=?!VfSr zFZ~F+5yi8}eYyzQ&zT=g-oJ2L7zqhhsb-~TH$1XK7}ssqb)t*Lp*u3TP0_~rD-^gOSv}4No6U8tHfN@Wq%u9hBPWL6j1X<{{ia@;za@%J z;~&WXyu(zh^FU_l6f~5nXCd$>e;*yO&ybRMgqqySWU#jTHCaf5R6!jIe%QaVcfg)H z$!m~H_;N+Ij4x%#7}Z-)_N41p!m56f#qPo59BV0l#D79hKl}CudMc4&OkaGth0K&O z{WpQQZ476;9Sj+AUe>!$91n9-Jr>9$$sVC+7$0z3em)ieAFHuJ#|XyF_?RwhqM#VS z5HYJ(^!15dcW_xW6ZdY zTwB8Ts-=ft8&M(i89{uIho8q9Yw^I;OyO7g4c0cTm#Ef``T-mLp zS37yH9(BT3L|6q)rj|uYN`Za8-0iExPK&iQZOEov7>XO<74=3x_I`B1-AjA~&JkX! zuL2|pX`ks1^4ALM#I>2d#V)n;CS>&V1hF6er@igRo;o8q=MEy69r2z0dxq{1yQl}R z{|^}9ve)2-W>VXq@sO1!Jzfe4qaKh9Kej+e76ZoxxiywF2{!JitqxLZnk$HTGuPG+ zy75D}2Q5KsxJn0CNG|6`_Z-qxGWwQWUONOh+Uw%M<=tx4UHhy9C0p=I_qyp%OK8JU zr@p3igwYZ#t0Ojw&&gmsV>nN_BJNc}D$aRZLQ1FC;lD*uEF&yxOrnTkpZQ&lhrZ0Q z1P%Y60F9`l>H%4N&&s%_S#18J}EeYN~f3iwu1BAA-)rvx1dAsG~93uY% zp$gbr#{WRb>I#J5KAQdi8-xU|Ku92T=k9+XM0)M?GjnLrOMWvTXEisOX?;(7&VPTd zREfJ*TR_u_QY_ifijkD?XvXP%<-$y?wST@H;fK4W$vVrdx4L-sXA5kFNN1 z$eV2z5{>!pGiwHbF(KB$@PEnufSJHX(SZ|W+~s7w99XXkNLDKQ5VKmQg+>MBEP#} zX~?z23Wukmxi2qg3Odg8Q3x^z>7g&6jU)~=@ z)o#|!Lid`@2u!4c7Ap#3{IFddW)HHtU4^$&0_+pTsJ)dBF2rOPE07?L~AaSBJ{p3I_50$Bfe(#0dgqSC9TJ%^Wy-GK1i zi>;?WndDAJZ6GJzaT0G(L94^&>&yWM{q-vt#wX=HHM*wRw|Es?U;d(e&o}+Ub#~%` z^f>>8pv6&k)gZc~r99%pIE*Nb>X&d?lkmpJLY6F*vrK z?;|N#0$_2SX?Qb-;FlX5U6CQ$hV2P!kGj{}+!B%(Co_evw8 z#=@wDFNery+-HyK2(_N(>U*Msq0Y!+CVphp%jA4B3VN041e}2og|tU-Syn)eC%e=I z9}~GAV)BxJ%H6d3dgd$XigbtYPs#4Ny-ZeJ1FwuK9E?KpA0rW_D4(9)T2dTzgox)dCBy z&yo@oO58SHdVS7rRc>rnu!_%nRljXGlbaHji$?VIsD!26fW50F`gVGS9SO+nvW#!Q z3H6{9^RKOIA>sH`28}K~`@a1TW^>q~4p4mxSYJyK7R;mOg$;|G4@rdFk&i)>-Q2Og(*3ORFCSi>+ z%iMrcpI$HVz#8Nbi@evs6?D>^86G_>8Pa@Sk2f-E6JTOcUB-vUlY-asd;E7AgSZ-1 z5Td5R^J7BAdA1rvhj&$(Zwv25Jw4D?KYupjJQ?v0pKPqCOyHMxFM_5^UIN%#@>oFxs>B4(e%@5{{N|oC*9U z8CxzHoj_NH8|Tcqx9hYOL}bf1gR9e)>aDc+q^9VfF~e{$s?rHzfjJl`R+?Dttoo$y zbQXk6XJ8ng)?Ye2i})Wy+5a~!>GTf(Y4rajYX035|GEC+84EqW!*f7}rRixg%rP3{ zMwkL6vMxYv&uBIc7$`vQjn>osxSj-N)a zmxGGZJC3*oNq=<5k88|iPHq7M^o07TRah|cVw3VR-?Jg`WGYk1o9a6laH+_*Gle%M zIa>RR```LBUheHdW&bgJk7d^(^|23QiyvlFsMX&>{r%LhbO5MQC^Vm98^(^z?Bn>y z+BhHckKBcrxvgECN6mz@I@Jmkz#5Am!H~sKzos-A)tXn-UuNjo5hLuG9ZId;*mDx8 zxwZPrEEv>&m=AlzqxBZjp@`7-iv|OoYm_BvHV%3=Jc6NSd*L=B@oQ(|~WTVh|HKt}QQQvXqFFdEl0x)+dymdTaoXXM<}ewrNeq3RAR&b6R`cGG z(Ql690_uRvz`J)QYw^7W9wO@D<1^OkqP2{NY%<}@RwZHy|0*_srrvT0Tj%G2a z+BU4qsS}Y5v9>6+rnWTyd91TT7rf)9Cdak^ugCu-*8k2+{~3xtyawDvJU#K{|1((m z-1^*IiXJp>Az=o0l51B~dRZxOuu860=vx5QL}5O@ytho8)`$!3MGP|FKqjV*>8^RO zcjjB4nFhC6fDxsyXu;e#^09g!2sb`xnj_~aG=*jEcE9sb_XTnlK4XI?w%5g+m6Rt# zw#r}hX<4zJ;J26C&UXU2W1*gpKM0U6X^xg#jH|! zvoSk`-xwe7Z|#|eDj?J$V{ok`Hrf->4oy-{^&~0hZrwP-tliV69;h&Bw+eu+Qlh#8 zAj+-s#2N~PlQe)s>!@7QmI)}YA+)0TjS!1(|8x}0Dv~6W*r~`Qj7~MSXP-eSU!HCh zYcWgIZa!(NoDH!%V4}+N2c+P+t!6yDzog1_4YS5z?bjcmIf!Xq`?e#8J2++H>uP18E-bCuMMnLEOPyz0_QXB+Q~+SDsDYucBR*87b_%S*Z(EPHtH zAwRT~{YnQFOw@+Mo~_5Cls0{1{e@t^A$aGbA!{I^YFVeWHw|1TNsE?Dcz zJErC(i14UxkFpvO$gG5R-(Vly>VuG!mCxp%-Yweq5k=4yup@sC&Y+o$kFt9lnt?P`HLQrs>8Z%c}h8Ya?|w zsW$8@E2+1kRU9R{@g#S;`K7IBHVV>Lb^bVy#YvaLkkbV$g5Ayo4Fv(M zyJucuV==>y4Go#sV{t}qB}HK`lAC3)`;qB`JqJ=3&Fil&gC-v2i_nMxzTR{V`0sd? zkm2BYsScmsKr7wGQj~# zmEE}3CeRJx7nU3G*~5}AgY)~EiUNzEG)#@U>cDq6+%gq`;D@4tQfoI&88c3rTLs4ri5GO%sQt;G!TYYA^+ns8G3&IOj&(f1H}~KJDqj{UdD; zCX=ut+CzMpICsFcufU1-o3?sXJ@P%|mg;Y{!(23UHq1tQ8G>)mHQ5%V>LOxzM|ixKfwtUaBddRfqibB-f6hI$Cj!N|kyndWk# zR@R`;K})4;b3>+Ii9&qh{RhLUCHGcORksrQlj^qJ~oi9w) zI6*HP%&DFA%eYD1oNhM(9Ovc`v}_Ha*XVJd4MvkhXFcG=uN$+yp3VhSnWF^_%z08M zEXy%B?@WtxJRy`Hw^>daR@5CVyA??o0;A=0TlAeN?pyAfCFl_0mrh~juY->A3p%qD z!8(9|$Lp8;&iQ5g0<5mT` zL$l?@{-iTE(;D2df)JBL6`le~;8&BhQkq>l{kIDMhH~fQ8E->$J9;{a*P;-DH)tyt zl4(!y`|{nb*n-*Mx_PRBzOaP$x->6Sx#08zi1c`X@%{GOy~Num^V7$w!!%gh z2r((8|9Uj!3ZfsU;oq5xH0JGTXM8RyDFiGVJWp>vwb!yI=*;X$=UMB@BBae}2?|-8 za`#@AVLv=0^9qpo?G*u&0DQySc`xr3o4Q*dPZTxGDANKLi;&;qF)eL+=bCx?$bqF( z;O6Km(&g(aktG8nusEA~Q>(rFZ`zDzyTBAsDO|6QQ!=L&g)(Hmd~7xFVsjt&tzfh# z(Lqma((Aht%&4mVh4_aVlRO!YrOQHIr*(^D0I44X)j!SRIBN&K}t*b3^)7s$KrYEgs4&6!)aU1P{FQlg!K~5YJ6uQaXuyEu~NP_t$a#m;J zq4h)t#OgmW)^#ZBbP~1zeu2jRE@(~F8yHdW@b;U3nxC^6F7`tD&9*Kkg)~vYQrOJw za@ZwWWpxKOLYJZV4Z`%%| z6jBEAGK>%s<=H$T087lioUsEii{7(J8NjCvwJ|dnMrPoH0vmEO4TPV-NIp3hG*|#M z<7Z>V0w;NI;Xp##8^-5r4D|I;)HmQ>nTr_=?#=u#VVxiRb~FK26Ro#vQk7yM{Q~ZY zfXZ2!WQ}trXF5xBleUyAc|!$LGYjJ@&@X_~4OhW`e=Y1~hkStk8ui5c{V&_#|APAW zmn&06AU}_%=~wdYUr(VjX zm%#W@dZ(z~J;wqSK^=83%8h24r@Y#5&gZXvpcYbF%9mqBgW<%6RBGC%PFa5?kble; z69qn5Z7VSIsa;d1wOF=c(f8ScKHY4%5o^4GGHNqf*F+9vtsHrcyrt|+r5rsYo+nb= z26{=FvwgRAh#4fJB={4lXaQi?+pT4DGeX8B^HQo+FX>;tk``3^1FE3w%vhKg#j3n% zqnma`M_N|Im(Hm#{v;Z!+k7IpU2g|~x_53eD&Qa)6;n@bcd&PCF5K4`ZakLEeLY=J zvzkvZv6hiHp9U%(ueHffDUgnT&0Et~n-j4HsBrATP?2eUGjK|;%kO9*Tm}zkAz!{6 zskZZ${!G$BKcnzH?(znJ=XuQEvT03!BU8YVp6H`tC2ZL&Mdhq@Hh7|V<;#n(CoXoI z+7iKgjT}oPB7jQa0&}G=@~cb9T4Q z_1{*xCuuGIjI>J zFv+BuZ_x1?tM?5wJ|W#66s_&K0aYQL5yE5Gd6hWU3IzTR*tC}p$Dtja9^pt{baR#s zlD87ak#G)I`XEpTI{z-77~#I0l-@3>jRYX|D zDeTeWh2LhZc9u_j2RO(WbjMmh#}~I0Q~wgnQU9W(WQ;RoXZ!AgsHBWbe_Pz66%TUR zcL{WHq}Sy5$w8c181~{nSvmccVps_d#?59O30#S8TY>U0{y9@UPFG4G2E393dA_nz zm70%DXsgks&lb1+jSCZh4Chnk03LUI-6{)y+eA`J>7CxsQCYhYp)86(!mLzVre2@?c@zSoChMX$gXpl%uW}wiqe4dmk2LqGO9M1->LUzUf`Po)=C_2I zud9`f@T68^{6lcp=%2ikqfHQl^~o_lncOaNAlG1Y6tDH$H%vUVYNgC^ypWBA!LD%Y zk;lh|wp!pt0F~zDAMF2{Q^^tbX4y|-e{|Ox2>3D%OnNX@jfGt8^C)`15r)7Y*2S)R zagArLyUX2IomkvVq2B)TKzr7z?GKzpMu9`3-L_m4piK2smGzB_% zCv!33%804^CXEE8%3NOMnr?4pFQ~sEr_Kq?%8emD-H}Cv{1Mr;`Ng1|i@V%ktWUEi zwY}RuhDB8l%D8W2RWy9}A~PkUm(VVjBRE3w^$it{F2f|R%b<~~Qbo@BjNIKdelhwA zIg3^SKB@VXtr8$}4i=5_8XB>ouCF_Ic&Lsq;hd`8T=?4p&6A>kidn{qf-w^{MfUxs7UiReI4DP!y8aD#~`w}^vvJDhVcqdAhi-3tr5OeR#<$l@<* z-}!%TRD;it28X`|eO#$ZuTHF(*3cDu=p9egL=sps*jO= z*l!=o+d$A#UpQ!A@t!Q;a7b6a-cMP$jeuw}Q7{8GoI3fwqHbuQ@wC;tVBUZpG(rIN z4QG|Tesa$bNbhvk6z=A#R9x|^YQPUs0N6eWElK*yJXp=fT&YAjK$uDs#`>D^FCyzX z10qot+JMx|B6QqRae@7pF-%zTwyDpPYf9Ov)!&G=xZ!(7Ol-d@PU6PP>#Z?uc7)WV z;}591c-|lDO+>o$!J#g?e?+UeXxnFvw$*aX0tlNM)Bd*gSQzWV&=;@HChsYg(!fACx+#m-33wcM6nrTdT6FH! zjs{;G70YNW8|HWlzDb&`@@65uTY{wku5((iGUa}Z;BfE^uA$=^VYnIaVeq#qBO}q9 zEiM+6r7h(`zJ!7A5zu>mT*g_-|k8|wyUHl|sg z63DOXP;LbPztvB(4?_1>?N~Etvo1XnKH93fVrupAjqe9e?biAj@e^ z*?*OhWY{dh>Tv@nohN1H<&*RH-OtBQ2gr{GI-$f6Eb8-_ww$7V_Q*i4rMbI#5o6V?D0-Xl1erj>A~|;FPzh@`&)b$}%VCci z9{I$5D$+g;EkF6!vp23%KbmqSqfvBJ+<`?CXH)b`yLp3LB_(!6^t#pOPSi_we^s3nWum$2II6z2s0-d?9k zSs519QdHifuiJJyOE>NV8h0l5wSNSb4-cBBQOC{Wmh&!*$)HA~qvyC^bKqQIF#JfsplU!Ek_o9u-$X7MPD?a|MeS4(1eV0}=7rj2QXZK0DJYLEh)GFQMtj@1I zlLlnvpTetO6csWyu-ps=#zNUy2^O+iBpqI5qI!xI?hY8%7W>#G5@yc`Sea#59RRi3 zT)U#g^lfkXE5T3mSic?Y)UHpt+{BaP-;APcVki z(?UZ9%AmCllUSg8$A+Vb=ywr9V?DJQEQdg9*+?C$HkRe4jK5en4nEjIYOv#Tiuasm z#kZj}L_fUNTyOV_t|wkOoyAwg}n_%Z&xqSTv12viq){F2{2GYob;%>1pL+N znylKNZ(tW%xi9EcAyW_<<#&kuh58ReS$?whBhz1d7vQ|~5Z{h6)E3Z7CL z&mK5}KB9^=1}%et9)1e|TP~t$r3Dj1#T>^>E?KX$ztL1RggI`_p*+Tuo837f?( zLhz)Txc-uDyR58Z1b1{``TF8*;gI~|ij2Xq%Hc4(EX>3%{DLWefxBw_#TL4SPTvPh zrI29t%Te5A*MfK@Gwl1*FN>D)yHvxUJuNCek_qh5D9ACasgZJXy4vI;dYVaCoho55 zVBWzDG{%dc=k%qLeuz1*Fs|5SF5EO{hqW7Z*1@8ziUFP!urF9&7Ivm4)-K`78=-OM zF`f*B@opYW-Agy@X>rFMSEy7e*MM7H?zBQ8Z1qcu^G?z6=^{q4gRuGXTg22u)%y2m z9l7E~m0qeK>sz-gjFH>LAY464l#5~IYu%UX9f^)I_nvz9G7}9PcYiZWovN^ys?h2P zsITgl$sg-5s!z9wW%E+dg2S#C6r7Pzu~LeUYg;&)l0Ti+WJ?+?4Iqw6|>9ttbZm zoTW*8?7oxLR3*@bknG07QylPOtS&ljN#!Lk@2$UNM}A#a-nuG4!KsiU`AY%H&r7Hl zUf6i_)%4d{PuNE)sks7xA1CeL+Cg!>q`IJ-0)!b+@0qfoynK=D(+=OGfdlPu`b)J?IP8gL-RY zX&crUxt>ksgKYIZc&D#sMNX?YTJM#mK})~ozrzMY#qpjYqn2hV>Tn%^zKQ<6Lt z5azMDPbTJ_={kaxL=V~uC9{;g=}Umx~odA97m zD^Vz|CI9PJ0a1iy`v4o<_o?0?dJl>%D^}$0TUxL>Q`*#=)!Pp^TrFKoc#154Q+hh< z4fvLS&K z#f~rTL$ZJpU|dYq>lK;t3R&Xuyiuox&jN3*W@sFB^SZzVKSam?1#-8GpX}c&Z@rrw zh)7P|okaxBMglo}U@jSn7cje2JN{i%0I-FbtgO_y?F!^b1t>dPbUEqC?EzAqi0PJ=TZ9RLm`7%Td`WW-ek<3*)rko}Z z=;fET2E;;#^=KYtJjb1xJHIBj{_8Apa5**bWaYV79KSVz{_FGo5!dBtfaf4;) zfFC4V$h(j83mpDcm;Pr>$N%XE{r8Ukv#|dwqyNh2|F^nk$%zhl#0`B>(eMA569122 zgi3lo!KO)?Vv*+;5Szwa8H<=v(X1;hxex_fi1al}ZvQ_(n3C-)`#qg+FY{YT{yo#& zs~?%mE!p^cE!qDqW(Jnx3yX82w$aF^y;yisV+U{p%VYMm5Bez*v(@?p(32Wv+0pA@VV3W3OT0) zZW6u2Z_=;BbK3Vf6Q*r$amS+mCGLfxz^~h4QjP`W+hgSaM5dbLCyI) zokmR2bpJuq{Do~M?9P1_hvNFPmmAJ-J;B-14hr2fWNMSwS&*V^)8x6$N@s`%$*rj@~38s09RSD@4fL;c-9e6n0rx zcb5Avl4;S;wOda}MJ==WChOeiU|Lb*GBn zjL6H`ri+BSjn(P@*Pd~{^SfW&CTdrBGvkTHm}QkqmkMHJc%b&2(&brV-FnO34jfh0 zgmW%jmojUX9qMSm>h)r+HtV9a0_dM!Xu3G?c4naPwrs9>wIJ#|)MZkG^N`0E#%PL; zeer+u5}*KOIRR-sFlI+@@+1eUO4_y|W6ZucTmR~n{>hF0bP}f@ zK&+GaEB*07z^0PGPKLO@b_%=$NM5VdA9*jXux6{OnfbeXyYIrfeQ_Sni1<+ecc3-g zto9JKU#KOLP9_MfsQSJ@_KRr#`Fs8qL`t}U$+m_TMY`R834oQ*0ZLa&w_*QV@v!OM zRXF9VRTJ_!mCPAtTmF#Cv`QuJuHfRt&}BTg#Vp{px4@6Lr)r$Gr=tO_JNghQ>gS`7 z#K-p-mvOziUwi#~L)|8FZR+{uxwunx-u7Mot$RgQvw6|LuJyQ`>=ZAoac-b~ z5eNv(0yQSUPL0@FU?*)g5O^?NMS@Tle27hpB9A!(4`S?YC26y(rx}MRrz&k*SC0&ZvExovZ{K5K>{f zOSSRK=D!d7{VU^zKE7IWMHuxEPH{C3`ctu1UF9l|^3*oJ!&{36k?wY>rd1Mpkze>W z*n9Q;y-Xi}d-dQRnzyZ#sL^1d#gc%yOB>Vx>aFvfqm6&8nn3k@8uN^#sxVt7wRk8J z0Rvr(*(Sl9cZGJ~m&e7kkaUTd#XjT@3m&tf%^ehy5;a_?-_+FW810nKDKb~ z?qZ0Ek{)wi395p5jU(ZxJ=CrYzHr^RzGsocWTc|t(&Z}r(s09B%=v74XdKz+eWE`z zNPS)_`94QAJ|nA8FiR+m%D{dY-#JiIDN^nEpE^?;o=OwzXxH zZ{f$Dp>S|ys@y|&ip0+EW@g-H(R>#n@#z--uQLnf1H!Rt9iKFR`xl5BT5utheLIq5 zhw}13xTbEWy36s9;>l18=YSCWvK4mena2}=^u@LJzG!W#2C5gcbbmCSU%ER3c)CI1 zx|=+73e3PrbZIHwX}VnUwoBr3WXepbX(!`*0qo?ZNcdc3^Om=_yO7Sds3g1cl44o&)VYl?YfVoa(_f%v;R`OXzD!-zSrtjW6L_TU$F@{W}Hx{0d5vPpIBM zXNSDQR3p5B#h50g6d~0=>5cp`lWmjKIJ@SM;%@zHMt^U?DX%E+Qr*$)B$D-j23h}k68`$e{T)DS2xTU4&P7{dp@M$+UZHH?z z_##mastl}?b9L)}WCm+YiXEdwAwc{72FtkCNo2ydqHJ4p9f2yTqBpgUzSqqiC)lt? z*1>DWr+4gaL2-wOCbwzai#-unharMFCxhYvAPM#ejP~~*6D~+O-(kgg)lQEGXx`-T z=E0&Al`OiBfiFEK#P=2kH{*~J>0T_MX`6}q%YmGi6?r4Ms@i!E!^KbSR#w`&2tK9N zzQ-;Px%X%y=VfMIqJZnrCCq#N9oZ8UiPSsvUmp$zFhpW?%Y_~@?Aq1m5#HNx*Cq)~ zR1L(ab%80|PPl`w}LR*$PP!6b0HrfTGw{-(KK3ci(ZPhLQ&+; z8~yEe|Lxz2yy$!nMB2ls5wd=FKR?S$JjKnQxL9fN@h+MEl&NJzbse7(43&+&6Eq&w zfAhEw4M$Ka)i=VwDg#VQQ9MNYP?R2nYd5EKF_2Ic8&1l_=7iqn2VQE1e9&_!`s;6O zqXmQ~pcf>6^)h+ouYp#8cG1WHB4*M{eHbO5gOU#X zws^Rrnc^_fjW@E;>shmIhvh}jk>lPS+dMr;VPt95IY50i=R7zUNYA@dKdeB6FY27P z;z-I@Qc!f>)BLa00ad3Cm3Ql$ULiI;`9`7l9M)}vIud?!##vt9pn+X4M{%Lwdo7wW zgq)vVHl~q|S)(xKMZORohUCbmq*p;(ygt-+cU~k{t2~Q%dp=dnuIt^`$KLns{y2}$ z)H+x9|F@rKv=}pC~=0$crXjkZ@v-iHECpk^qU3pK3CTVKJR z$#OxL9SmS$2llu%@evNolvR~nnD@z~V!dGz*sw)@ya(jHhdWmaLv~Ou=jIMKSUG1J zwB9OPu83{Woy0e#`l^2kOX>Q!$Kzslu5p)Ah(;FXAxq)r5>bG>2+U~pf=CRBltU)@ ze6b%=ONNl`QSMjH@^w{$Z^RLCZnMTOP%^+Qo7 z0zGW?qXVGqNpoCL&rdk=z)PshMdEfgsGEx@2^nvRchkkVH&P>m6G8Ee@UfoOC$%bT z@?4;#;c}&x=8iKt`^EG`CK|Rq_E!RnM^8PbKS|xbOMx$!)A?60zZVR=vG32=?_Z(m zGRyVeM5S_L)=h{3d@k+uIxxG#O+5oRQP&|)QVVWrU@J|blcM%ga62PalkXP9w+BD$ z+AQuxgq+?aEqqxS28Y>aI}2DE&Dn#x>v~|Iw=Q6m7snii1l!K6D$|QRwfSdGV1dI; z*hRhoKl~=#g%5Izra$gH@dD_MEp!g?{#F>7cF&ZmNv?Q6U)}mYLgz9)1o8n+d;#j- z&D+a>ps>5py@c!CbBRnZJT9@YxFYiNo7H34h^1oh@DWd>m`kcbe6vIV@MNqGVj8SQ z%(<`3QKG6}q4`W4%%@yF!WBAsl|jfjDAhiaCBNBrSL4+}(Nc~#zfB55`;(4_qvz(w zWH$QA{;l+p#LffB4O$7$ZX=Y-`f%qoN0y6E?m$+~G!1mU2(n;)lCg2P_ zIwfehVy;;vy-KEeG$7132GN8xk|7k~1Plrjp9u2Rx&r+sTssP{wd(Tt0f@GmbYmL# zAsV3Cp($a4?g7RsgU_=rWdEcdCU>u6arGzGE=OOPH82$faFHjG{LWqvT?DlG1DR7S zqpKK)0OLi+I=DWRSuU4yR_z>@ukK9)xQu~S+eI^O2QH@_-Y2zbX{hXfz*H*84Bgwfy+qqdXxdTo!jS950(+S)a(btTqd@^8Vg16} z;3J7!W*ipRTOn~$8TQg3mcb{BL6junw?3M{NLrD0E8SY|s20oN4-$5|&nNS=t3m(< z#h_&gAqbvFYY7D6N|UIg&C%G%Y=x;Ve2ekiBr+I7|FgIA@3vq~`iEpAHihxrR<@QS z^IfdFI?Ux83VD6>XXhaD_^hpRgl1d`Qr*ZMJD zyheR~3i4tdXxfda3XTR|L1%r-hMgB85ZeB z8Mn2P%3K9=D!) z%wvGR?H?NevbMzHDzo*JzPWPicjot3V)H+)!Torq(~ZS5uj@^kpFCaQCR;6dqQh3Z z9lROaMSvUH&#Nx};uRKGK!D}(@b=IO+7frVeJTN45Lk>eTZvYLrVRXng6qph)H*%^ z`qX>?eaVe!3C+FHaeYjnoc70PkA(JqJHFZXG9OPNtpO5OTY@{~9f{?Rn`3BeTvk(r zp=Hl&rF6vRe(>-+ty8f5l|hJNC_(YieCw|MZC;LANvGx0Vs|#zcp&pFMl;B*XUN4h zL{A$gk6Y)H^KZr82gUpC5mo3bn=`rTM3RR;Mq2|vL|bBTF{$NH9q1=AvublynTb7P zzg*=PfZTLi>`0ZQyexOv92;%_n)0b?j*il!q{TWL-*kkX(^G)o-7R8z$&VuLk+<8f zjowR5fTJd$1zYOqtBBNy{HbIAo@a$|qE9_AXuk#sOa5GlPG$9RXi&KPVVc3DDpZ+9 z{)tmo)tp_q+~+4k$F3p_iO+0lOr5tpBkAR1fc>p)LU1`g>N0Sv%V71mKUW#ax(F?W z{H9=fC9swKJ#*!tqem#L%qURM>v+;cd+!@Sr!!m+R^NA#zc5MN!^2y%gf%ua^U9O* zl&-nh9(*LJ#Q~85l{S@YNx9xYaScuE-Riap{x4y~YfY9QU=gv&%0%gs$q%}N+Fy3L zOzs_8Fv|@iyQ}9@n!+HAeVbOj|Jcf7cE9@dyCJH<9ALqH{mBfA*&wu0TaLMZq6+nn z%WS4|M}P0T%!ZQzF-YMlI;qswS?PF}F!C%`uU7Na4tYzfbkWdkx-!^dV@QihBX5~p zlDA#4es)@cZV;TICkTq@ilm6xZ}(wqG2?9Q*mj<FLlMod|z06Y99=^<44wPOZ}Hk@QPDplqV+1skVGoa0Od2m6@EkLbUZ+6Dn zwGvGz+(&TMLmyUd5=zEv*T#Q4l4Yz=wF)fsv~ksHXlie}YL3@rs+$gZ)=7&is5xJD zhV$T!%QkCC3jZ%bOHug)Kq8`69ePER`l-;q(Iqk#dC1t0{wC*Z%ow1{vo&EX0R?m) zVCqND5zj15puX1}eTK`#nmL(ea| zLcOV+VbP!;C#wnM9Cn8|Wi~Lcgb+ZU_e}|p&+6~2VEspkP`GDmC14WNWDygeb1O#6 z=pp2GU%w?8?2A{N0MZ$YtNAlpa7m1M?QuR>O!mc)Xz<2x_8kFJC8)Ak{-c$By(N() zN#VxvL;aNk6JI-Hv<7&Pt@qH-VUTSI0MIha(ziE9at)soIPQxRc$ES(*f!t_Jt7AU z$cgWUDm8XSxi9i#5QCV+P96-mgC&EOIzsO>dXMKUSP;-}L+ueevka5_#*q%CboI&= z<}X}#CP~`uB@WQ&Qo-rh@OOS47by|oP!qm&@&74m^k1S*x)L?b;5AThmMt6?9?tA{ zSEd@oeLi1Am`v|=nh)#jPvSQk?dTEw0uW-;_nzm6G3W5}(!|l!2Bfkif|B1!uJL41 zHcrqvS%A~9a_2Zk8J(1fNi8fpC7y-YVP`oB(Vbu1(|}qtahe9e`3@IXt6Z_-z}jD^ z(4QybFHV#c6%WS61*|G2{{7`8@y%dKS^0&4QmPGfQp2pK?P%jM9M6U$%YqEq^R)ww z&TcFBvhWxE*$c#`^Y5vK-o`qmf4&SN<5dCr(d8f#tSRhX7%2C^mJjVextr#otcVic zF-0c=3(w&~4n`~v#e0;tTm8|WWj~aGkmA@Tulkdzddc-Gj$-oiB(Bt=8d;fe0~ClB z3}%^;{sRQ>i2`E1_hja$-)VyNyD2o0X^3ib9Lduf4&bIT*Q`6X=QT&i|3<$E;zTM94cBH3F2h;MH^GHEc=|I*tq`S!w6rrjANHEjj6ACV> zp-yAy?clfZ@(Enw-7lE5L3F!ni#N+(&Ux4)+8%_wYH9z}ko1fi&Xtgo5F3l@6fZU5 zTPX4^fM~nYO$o9Va^oDg^ZHT)ZEUOSS`sa1wqoh{0|#-shejo>$pIy`@w z2wnw1P-Mm6`zcoka0ri)ZQ;4?O5~24YvO0OF>pBCzX5d5m&IYOt zLHA$zL@(gt8cMIIiT8Gf-*`YV@f9j7AiP|QaQsGVor(k+sMlI5M*I&mqr^78ZG0?%E6g0Z?Fe0w_5BGlY}>ia#=1|E|FS36ux4f9s?F1_6xI z=r1cbnGNBI(f3;l+doK5-(Rt+?+6AP8sfQqKS|M7hF%{eG|jMz$)ph_g!tb7!stUv zD;Y9k$vF7rQJUM}1Agm*Ao2v8oE;ICw(j0IPNUVJxNsFlX0%|y2up2GRYdyWdQpFz zEKNcWx%ITTZ$?K=Oh~qtxibEA)+xeg1M!zT!mp zkonrc})*QvDj~zIQ_KbGw1=b&y;me33-H9 zCI3+1zw+9DxmK#g)baR+wA*VwHwgW4+M^`=U^%C2~6U@mv8%mX~xWNJ~Rab*Kxm@+ac-DhO4Lt%3 zF0ZplN}@Qh;lv=sZfA1a=&aYZ44GgvTxLF-=d%Z8m#egbQG-}r=$>2xShO;@Knv-p zj{HL@p(mJtDZA*6qrEzagv`Gq+&8SyxbXkvA_D&*$`!34_*r`FDJ9(udmb=(@*s`f zY{zy|>A4ES;W{cb+$Cq6b5AnV)9#p5}6Os3s>G-d@7u zI@~YYkZ(Ooh8#W~^nW}Ey^UiPBVJjcnq4`PM?^LF3Sp4ke9_>~&T`04Wzx~wE z{lV{U7x#Ebw2jjiqY9)QvGbYgUW35lI$;k7uI+l7eTTi#VDshv{l)I$GkQ(CUu_-=Y=6!LQSPf#Ba=+yhp>1m&RN_;c=X(cqx_b5d~A z1gBxyGX#gT8g&M?UrgV=Pt=Vs?L4upA^Qjx(aEI>@r|h{5yfdjU}wkz(OO7*we6Cn zV{P4P5klK)@e^NEnQ*T>4u49G3h!`^)Y}!t2v>?1``Xs{-qV zyE?W~J(PVv#XHQ96)B~@S7X%w>edZ@nSFpx%QOTweD(&NR5D~agxC+D2QjxVcj2D` zdAw08FfY(>*1(r(@fDGD+w@y@!$;|FW@8_&_?!kd)TIVEke&Ec<((7&e!fY_=0!3R#BZ`!QN`=}pO zwQ%ts?eBb#&h$(s4whUci#kTif%_^zyl`4BIViTEd%{6pT4EPA|s_!q_ zmlrVJT0yQaz2E>Q3NIgS3|F3r(+yVVXcKS1ieu}~&a}(yj^d?qe6efQ_>!F~>tFY4 z5$z>PVRGXCl24mn186hUvG3z91*5wH zF#sSbLu?ABx+ZpE$+96rTTL>ar=@B>QVLd`20%_npvf&bnOsnDY&+5vk{utKJ?|FY~g}()cFnZu9pvSJhk~MYJ_j zBm30)?4`QLh4fc9`Dm)pU+6^03q*nf$k;ir3?U?f?ss4MjTwjYABN&@>?fp5YW`T? z@{_})hMtPF@3E{u=i3%VZ|_G#u5l9a7jRY%LGHDFfN8De^)kN&j@CWnd129Fy@q;+ z;lhufINws-B;C77y5Z8ndlyc^8B83^n9AZhcr7%Z+g$4C$7o^f9ile1TopP96JQ|1 zBhZQNxjgEZJFYdLrN8UKKJ(=u#J$5~k9w%IZXf*-5M%CoY%38OSla_ks<-rbO;@y( zDoNj!LUEDMK#x=ySXf74>SjOeIss^>$+< zz&vE$KqRh*i#N8>NLNEfW~+0ge$z{Fnq%;s)9byYL;+is<82s-h?zdwc^4ecoC*ZU zIGo3Zhl+HywU>hv8Y7g`ZNdyYLZ+>*B#7hE|L%71ixdxfU>0DOakP``>AS`(@{#Z> z543yK;!W}1m8(T$HeDNyU0;x*R-_{>q+O?QpT$kk>SfTMq7VQi$w<-P`!fk36ZAX4 z;os;A`X>O_%>@xLG?tEx@f0P|anz!#`BCNpClNl8|L!&b7P&t_N(-~pyZTDa+vThD=8W5X{c%x<& zb$@QEZ32%4jiH1t-AYevZ0_({cNM?0Py5O*&4VmnWgPcPjTNrWnG($(_=fS^Smqya zH87fQGmh{Se)mE=BzpM=1QXJJr#LxkO|@Ndv9WcCc7W7QCW-^8Jb{C)Hy3wMi}w^Gab#taQI={l<56k zk-)dh9GY0=afleT)JoCz5KY#07$Plyd1E!qWrJ-Cq#Du{Fq$nk47t8t;HRA>yBfqh zm#Ni&HqOzg&A&19#TtUlH0T&1diZALxFJW~`Jm|S@;3YlPa zhVMPfm$c)a+Uuz&^uCjIlSSMCh2aXnWR;!sV8}P)Wd9|pULaZ;PQsJ?6S8>4pn0xc z`C8@b;Q&u9eYVzO2zvw#AL5w+w%f1n?d{KqOpTIeC5(2|To2>+2w52F2v4 zt1N0?JDvf+CYYv)#s}hvB{mn(Z$n=#T~iX)C`Ij)hNq7{5eUdd0yelsIXBijEiUD$E7o zDScCcN$InDCS*WjA39<3E9Ulh7ZA?q=5HT@!0DxUrp=WE5=C@hE?ytq*gx&Q-LKXg zUJL+GXO0Y48jxLbSXVL|%8-^YlA#-X+hB4+fN&oMB-aQ|Ph>Yo^*_iqF_gw7y}Tdq z^-zzClq&}={#^Ib&7)*Is!DLZ62w>7i^lHN1>nnfhto<%lnJWxcpWGufz$x&(9;T7w~(`2q!mwEIERqt;}b*e>_tVAd|0sQCKFgN)oS!po?b2G;>dOMB>&^1n^?WQXvmG{eJwClDC8VCCS{H-&TIVsq(ZT^%s>Lo*v%ivI z7Ac|rq{4p9Iu5xdYxl8|zqFczkLzMb+x!CtFJ$f&tKl}0S!!8`1Y{LLBqSQ5K3#{+!@wQrJUaa=6kAwwLemd$LpNnF~ZDnXY! zvwLUqk79eMfoxC_u|rf3Xqy=TV-2AT(-#t&d1|>Vu}5&)tL%O}cm6cj@zyLu0*_5( z70fkdF(@c!|IzP=&BzCM5`^U1S#tl#wEu3^-umLLk2(8}m<=+(^Iqj8ntU@y5Y8Sq z>h`?(HjPQU!HI3A4!WI&LnMctaFHiJJ&QOvWqxA>M1RAw@A?a?ePl-+L!MGP>#Ku) zU`tsZu5Z3MbWF$cq%%MZW}M^XI+(Oy?cSQScPQ^=Tf*RK59up<5=6npVdIo6)r!G+ zZ%hB6gW$Cbf0F0r(lZd; z`2o`CXX$JDnH^qu`3gw%1{3>yydCufBJp{mWp#_#@&uiv=+%eCpq9}WKo#6dGCxCi zS0uwqc$ey(*ari@&UPmW@D7*dUX()r5$X8Deq=(xn|Be?fyct!x4OmihbPJ|y_fSr zl#DpBiJV4PAry@l2G2=>${Ir3TRtRTt!QGdlC1BkW9H}LU1@Nd7_b#TL&{El9!#vb z_3w7JCU1e^tGwgfp#^YI`)!60ky*R;JCl7t*qMoax^|H#E zx^ojqGwz=fZ*HF}Iu&PFW~kp!{%({`f5$u8@{W&5C*f6`g9-~0vmGSWdciYR^g1ib zIf`_0a;|LQ`lRJ0=kEo1bR_%)slNKqQjgR9sMsg&{W?qBh6>%!jE-IbJ`NM3o-Z1Mskz|h4ECWlfgHl4c}KKO-Rih!|nS4xxIbxXLyB*6L_C*+JjAg zcbvia5O&&P{OT;7l6CG$@A+3l?9S<;K3E)XZEx!~Yhv%;pBi*)rfbMFTWa55En6vb zoaV7s*BQV=JNhve{`JP~&c++Jf%(A2(<-fl>tmQp845`+_mBDEJ^KjZ?(lpA_H=xV zJcQa>viIC1hr?jzn9|1gj_j^a1Pm(Tpra1bkzxi79j8xQlXV*R8)`?GLFZh!;-v*2 zN5wQ(4Lnsf`PP!$V;nXd8Vit%vZpSi*#=!P0mvG)vFc_QeIEkagtt#OLOved-sorU z>yQj3V7hHfJ|KFA~?Z%UztPiCJ5efnhQsF~hEIz$W~I|J8^pU0m$OHms-Au=%NG|S zrl?p0v0E}n=A&W@OUW-26$>YP3c9$&}?E_Z%U*Q>8) zwjC<83_A70C1sgk{Og)XFIoiwx67s5GBJGt`7YSQ< zv6>ZiPDmM2Ap;RHExGJMv~0QOuIG^Y#bQ`y%%f33y-<(#!>!}kGsn$tez>P;dyTf; zajoWCd`2sD^U)33iXX?}##UbOM`>2mhr(r!1UE@-zXB95RATP!a-^QCPG$ zU2MW-E*E8NG1IWP+7%zzc-_e{C`NyZ+9e~rpGF~U?j`23-^I`xAwAWEXim+rvVKI+ z41dIJJ`&b#j0RQ=TEJkfpSbkQVIjC!1FCyffV#Uyq(Z#^x2C@$jqO#1gx~$8-wTz% z7!da+@4Du9D_yzeZxG21)TPgv)C(AeYuD7>FW`~c-P8xI5(X_f7R6Cd3$?rLL2OY+ z4;z`}R0OI%VsKfHfURr2qPC_QB(nqrr(@74zuPpOx&g`8torjgEUn|6+jMGt#@cG= z?|%rs&`aV^wh)F=3VVstlR(-_mpW9%2hP|Zm~(M+`nL{xO&^o{C^Tsex7#5yNMb_h2%bFv1vxfxucU?EAtOrqL{}2fF&^ znHHR}-K5Wp6ybsBNA@oCDZNBP)-b7y z$voobNve%Do#J@cZo)JxkpBcb%Bt46ImeYyW0D%3#JkmTb@t2qUhh+G{>D2@OLU&@GNC)VMgz&79HT+w zy9Ro#eM=n}*gtIbU!}c69klXqrTS4MspLpwEM~YXSKZ0*Zkij@d^O6D(shZvZM2kC zyv6Ti8=6$yVD1mJH@wu-*$wb0wf^v$sY2GO&e}URuf#y$!&ys-tpTvE#IkKvEJJsC zOg-#6`yl4!+|ygp{p7y7ItU^6Xc)0Td;r1=DiJ&t4}PPFmTzZk6N^kQ5ps*{N4v7rI=>a%P% z&bUbE(1PBh%Md`~D}t3;{khG@8Ydpqt=`_UuQHe*GjgB(VQcr+ySju=_;%4LkPum5 zh$rh=2)Gww|m9G81qLT|(;z=;0>sytKxgs{|a+%t2T z7oJ%CXA9!R~8vdwDRmH8+i@t2DJ8 z7&vMOt(|bG(?o7eiLT)pYpNvPBJ*kVr;&pyY`?Tiz%wHkaFLp4&&(0k6wK%b<=9}! zG891+^E?92G})rL{lAe{%`sM(kA-z)^@ah(V+`U8p3xs^%|2L0yhXRpFxM7AioBxX zEmQ3{DEi8QKGD}#a5CLA8Gfi-mH`yEa1zYnHaQ2f4(n5R>3pG_yX>pt@La8bv?wwj zO}KzP-T5Xc`Z1bO!VdWp^RsVS$9L)+B6@Bemc9;nEHSb~sh>6*+OWg))uNNLd{v9q z62WIp%A-QcW6d~hEMO7(I8Ye1&CcukBkCddm|LR5k&s$3$z@Q0{gy}89j@l5{@G&? zeuIz4l3vu6OT{eX*t<5UK({^{O}xYIM>g!;E^0CjWAVAz1r4FnQ7-7|(t^rATEjV5aIX9o1|S~Iv@5E9QI zM*-0pujih&J@gBHa$^zuSHuYLHXvJ9rRV%)algfL!6Xb&%BRC5Yd{XK{h>_r3UM~I zI{0|zg($jR;T+&g&G|<357KF8cC|G#Fv3e57D-RgGj(;&?Q#o5fpOxD)`-ZHgKZuNRnEo0xv8(xZxl`HIWk_`>$G~$F&){Iyieqzmmym4_izBBbp5$>_ zx!*oeZ`X6K_+mOY;&$yL1NgzX1`uAoM1UeMlnt#qq&2>gaT*KTG`O^NGxmh{ya&@_ zXesGGc*=&&r;o^8-vV+g``JwjW3zOPy+`gDjMr75%25uj!~M&bShDgd20PUZJN(ME zh%u-TO@V;VtbR;;L0rjuzwkN1x-JWwdREHfGqoZTAx*w7Him)*UscHf<_?5ROlP)) z%qF(7U+ZlaP`%vOF{_^DueuD~nm7jU-QU9QD+H>ukGs{arPY(Q{4Ju;LQfHWu z%|m8K^YJV&?I#SLzc94AD;mqDm?iPkYf_THT=(m9Xy*m$Z9acGtheWzpcDs6W7+tf zw__B?JlHxy$eF=BTZU_yu{xGs^B{&|kS;xUo<`(BZ!ZF9sN~>Gr-%qnc&c5Doh@qo z^xIanNrjDt$@4-JVYbx1N!VPc>Rum`!IzJ5C39uzz@B zY=0Q5)l=yX*E@At$sVe7lr=Nyw^C|KuCG6FR9zL*bNw-%Z($r|VWt(u;|e9yFM>U) zLu?%_KG%hOm(GvrlPA%RCy{3AJ|>5ej(6(=#iSK0S(}oW*a=sLTefKPCi%_N;)^%I zTT{`fy=!<^jsf{pMR&}_!FP3jkxBz;g!_8G?w)(C`Nh&TIy z=1Jcq8q?z4_`w1*f=Cl0&IFXfTi@tB()%9T|8h4Mnx$43vF%C=8{U|eQWE&>Zk&fGa5_R|Y= zzgFJrz{Nt!ZTf2ZPS8UhucL}WZItK2s-MN}11BqOEjYcY;e?+P-u=ZfcTK)2Ya}A7 zG7^Y>(%tSu&ZfC?PA9X=uBsn|lP6wq(pXR^?;IU(zf7pLdaPUL@FhEm&$Zia@R`-w zdmcH|qVF@ER&3dpGcKMKsAI zv=|H)_IX$P+&vIK?O4~~=$(Ml{RitKPlV@}NOp5w?^2s4*q>*WIH-`EJU8=x+8QQo zy5#Am`{q1?E=v(2lJcD`E^}8@~ggYKax;SMu zj(^urW|f!ME>Ni{E7Tv+P-@bd@cPzp|1f`D|A<1IcR}O^;@TA1dw2a*Ica2DrOlg$ zjp5ca%tT5fo%c`uDz78fY#Nai3U{z?ux+pcPQkrHt@GX!8kx@J%MiYhx0401-4`mh z@t^lJI}Z9wt+pC)g%!Fw1@RDflM|}_*h5;d7gN0VG8^Yb>Hwo3WTZnHUNvsJyb+!bj(B)$0n@u~nDBnXtwN7~3C7f1pRW}(~X>Cq{K zE|-h0fr!8o6N@Gx!OSue=8lbr9OQ=Lxy&H4oKDX>6R z_Jf2xyU^6FcEtT298ScnUQ$=lKO;0_WoVlsXggP>bPa(3VcZ}1G1xzs&Mc&7we$UA zPxooc*G`^DcBcM2Sl^JBz8uw#83PU|eq|-CQqT|g{AtNHPh1gC@zYuQ?$6v?d^1RE z)O%aJGvfLibxnA+dta{^9^P+XB0Q7o6)I>Fqu_NL2{s@9u7LCGoF6N>ZpQ^1?bFd} zReOsIlqoFL#&2w!=Ad4(iPy4o<^83epuuTc$DG3{ktB+&BBl9rKKz>?deeqiy<70s z)24>n)BsnW&EdMb(qNE@SJUN0zDr-QoMx%0?= zol)@lLz$TqYdsy19vV(UbAkkKuKLnzUb}U2UXQnNWI|CF2^M=X{x#v?4Z3+^b1*b@ zj&q$m{q2ziL}KA2daRtfzZqV>8?={n>c^fBJFg@%{cQ6U!~X+36Q~`2X%V$@)zI?u z(ceF-);4Q3zW4RstzAah+Iz+Y`D+WU zvnLNFx{?LYmp|olI#vs0pYjRXS3nOYhZy^j-plCY=xvLV!RxuXE0|zP;Bu-}!xh>_1#r zawQ~h$$0L2++&Pqom%*|SZHYK!>HXhyI+zj{oAFtKORDtXHpxi+Oj4;lF=DTf$xV- ze?9A0A8A~em?uvihy%*dDyxxY{WJ;CW@+D+&W3c{3 z+&YVG`1tLfAY7U98_2jsX5&iF3kSz({|0j8LUswK-hv?m{k5y$SI3By;j1OmR)Cy3 zSMlC-qg6v+fOE6t+cxFO1h?!`QIh24-`&3o(1G~Q<|aRl(lnN2sYcO<8X+)tH{1}3 zm8|DxrN4QnJYXGdPJv5;qZlD@PhbFHjyPjj++F0A!sc{eWM}ZEVVjzNYkV3tZ2CuA zXd1;e8avgCK33YCD1?#=!e}0U+MixyA!Dz}u$uGil3~UT>Xow=g9Wut4@O6=zWMF4il;p<|5RPBnI`WRIImpy zo+a=cW<9ZAeLmv1`C^|P^$7YN@xI^2l@I#dDEhtPjXh#ymMv%9Suk4KV)(6c)ZU2omckOWliygLW<}iH zxaNGfC2J#nnRq9Akd4yzw0$%)?9S)?{)$1x$cexkJJ?Oss%`>j`K{kgw!eC+KIOg!`mbbr zUOy|{kjN*mG(yx4r^Igjvp4{6kA4KG!t-;$e;Gi4PUk7Z5Pix9-2Ew)#6gE*Cle&F za-?s)<$?Y4LOz?+@ri*)h@`DN&Gfie*W=C?Z8DkJZ5f?>;kwM$xXwP8#2b$9k_tG* z{k&z)jiC~gV{Ar!iTk1QC2Jdf=>XF^KEM&l`g-qTOO$A2>%Bq+QDjKz4R(snx*f4p zUA06d(#Y&Y6Lz%~m*ytpW>n)3*yT2gt%1}5NeC^z=L*!eP?3*E8$7d|y;O~neZ^cd z+Lwl!0`EW}a0*vC_`5Oj(0JPWOyH*_VqCY(X?zaW-3S+%6?H6D4^m1Xb_#I5Ml#3Q zgQ_Mua6E2nw0D&rdKY}2L!D@ciFD(|6m=xBvWG^`At^by`0G6}uSUco?N-A~u7rRT zmf9{{74L$^KT5q_iAegv4B-$Z-8zjZz0rS_evsQfn)ov>-RJ{7>VY`#x7yAxq+ymV z!~E8X>^3wN+`&_?P>aAwWa@C_+Y9#%M-=^G1B9h*A$||~HH}fEad%{?m9_N`+bLVf z9Zn|m?nVztMQ@e`QlxK%?*P-J>A-NcLzfIqO%Edb&F&SpU9k4k{!%kCA-~B|@hSus8yss7c832Nyw}i_ z)O5f(IHlJ6wwXM@X{ag2k4AjFLC!Jg9_k=L&4*I^*{*A_Li1-vt%xN zVOpE{Y~YW_tp*`VwF?!C8?&o|cO7w<0h0+zmH1uToE~N~ znyCBIAY>3AMKHeC9=WBCkmDE5$M#XUx}n(^0}+=lA`C{llhW0+Zj)S z?CcD9e|ZjcZ4fiRJ+yA;TR#{ga%gHf@V41uVcG|Zp3>@S&R1s+*+?XVT2zh-_xnj& z%XcM0oIq}()}Hbbbe)lK|9bq!>Q zfIKH&)$t$b zwFqMAkiDX6KF?PA%?If%*}`uwcEK1s5AidsD0@81#Bh1h`x9qwDhSbq7H?r$kgpUV z=^WjykFo)y$p>ZEgtm0Aq@B&;XKH;Z_5?SH23@MU1gf!V#IhQzb}eq(?-u$c!k-AMqrrDQgfgl|?>8c_LjS8OE+bw1jFI-415m{D|cKUD8 zEMWHxl;`FRHE7Pi&9Lu9FP?*`C7tO4NzDNgHrmYo4 zD`FVB_feKtDrPGRGRaLssFFMC4o~WsgBb5BbE<8MbaxhE66feHDz?tLcd6dAQ2<-6 z>Pl{Rih`qCQ^-`gWJq}qqar-iSOLj`+oTC^e~R=?^V$giUB=U)#g0|zQl53>WT)ni z$Te1}U#|%ts4FDfHMB@+^hD#hI>~lu0u7})jU25f@$BUmEik{b`gw~v!OW7@WVhTsa&dE&)U6xf5oV@mjI(+Ah_HwA zY295s)kPfomtt36(1P^JYf{3J6q_e!Q; z)Fp*O>b*7u)cXS#rSFFi6HRL7USXO0$cmKrJERgDju%bq*9NF2!2ObC>a&_#oNFL* zry2`2>!Y@Vy_@16tvA$DfCrwg)BJ88GsXHz{C`6A;~eJSY`oCmRO^LOaZ? zO@Y>PI1OIT1E(8K__k*|)_8jMHkZA!ae0EhxNQ@f3)!8gHnb6ufQ^AK)uH8P1D8r; zq&PR0 zY{5k&#HhweyN8cc8-I`Cs`O3ec@SJJ@TkeCh(Dd;TOm(IAe< zXqlakeHPI0NlC$Su_l^5?vlCG>piaFKvZ#xChBc^gfnz0w(aFX4b%}{b*4O{&o{^g zr_CZZhxtpEX6)UKaX5!~$T>E~?1$dZg^p!ZmX+q9=ik@79u2%eIB0g8pD$As%JKWt zAgsw>kDF)FX?_l!DEpnaWyWm_mN^=^KKPEo(nI|IDG0Y^h%IA4)hY7}@5R!7lIC;T zn-`bi>Zs^btcy(XvNO`|Dit`f2~a~~_;+Ow0ANj={{d{f;;xPm_`RBfL{Yhi@+A+S zyxnh**;JpA>!D~9LykCi=bZk9sPnfWz{ z{&uu}Vk9|Pmys8 z@4NcW_k&f`_cB6~@_+$#ndC{Q(2k7k*Oat|k}Oh6UOvTpb8L;ZUFCGp;U;UZhmx<_ z6eNqnmDAXsShj%9GS=CQxP^@c8)M|ejtg>P-^+AdZJ{HEov@32OEk-wj*-|DKbkaAt^mhm4vC6|Yqo*ikd<8u$wTi4 zO3`t4O@z@&r@yeQWa`mi$R4FCzeu$^qC>oH@)?zcL`#_!!=%R~lb3eX3S(u9(d58u zyYqL&iI>_h(|V&}adrHKMm(rM@!s!>t?aa$a{!8I289s-VEFa!mBb(*Bv`7VTRN$Q8};?gZH*g4 zlrX%t6Guw9h9=`hB903&c zbeA0#ecTknI*|DS>N)}icK?G-$v$%uMw)8uWi=<)>ajc)z8l1hc@|fp@x&K{ zIN|IA;iG;>Kz~Dgrc(35r`|j>>H5OHr>WdZ>SkK7&xIEDb)P=jx=$sliwPLwz0p7t zNq5X!qWl3k~12)onJn4}DQ zzxO0~;gZCd1_Tn>eDqpnr~qku&0=hAAf^}+XdFiQrD(;Cc4kghl=M10QzVW>^%9$! zsrYkLwVjpCm5wM?@Ir_FizXJ^Mvq>g9JBWbWksbY%8WkV$#OOU)GwyHS@umz{wLFG z6Z%(3!ZJjNAl`M6ij1}+nQr%o7{jWfkZM`#fcoz|5b&<4;wqcNcKN7}xB>2`jTf@< zF2w2som{MWu9u<>$LP?oPZL;deS`$ruI%|P*0BZ*g@S)rMCyE^7LVRJ^0HZ=FqQ;G zD1%TMpE5vd`R@K;x=V>Su!ly@@6QPIhKo^1-E3y>RR=J7E`Z=8yS2`QeB71RL~!)D z&Az!R2|Z=G5^3yKz^qwo%04!Plsux7k)BiVX|Xl8?kIj)Q=NK~tD?KcdAvPsm2KKC zP~-{CEq*!L)_lvATgy%>h??!=hyr}s>!>OtCw}3+pdUWMH>bRnGRQJN21(7=;$eWN z=6T6RN!NT{gqs_FQVet1^X=iAm1&!*ilr;whZcQaz6o}*yM4dkC(X$U-W#}dn zL6P$ea>t}(8VuJk=%z{Vr~cn`dEy>>*G}}74owW{=XYjr0Mp@DHc!<*G6Zwpbsb88 zSw5TjVx*oNGjFSng`A(U)tr%Ez3#F$-T~ZH0cn7a&wy~8fb6dM=zm`F=5RX1pad%t zzk*uv`EdBb^czh3B?&Pn zKevD37sZLcw&dYZIlbI1A^#QHSG=g$PRyTTt6%6>Y)pDK_!iPmHfiFehA0#}vDNNQ zKd2aV)HYY6kCobKc%!hN7Px94J8+O5hM93`Zi8pq8*1AS_S0B*pL^Bq)khIH@Uo#e zTN~t-&swl9>R7Ei2iktMe^GbEe(Q|82R@t>Q+`Rjxr&AHxB7HFwCjC-1WdTQQlY(P zX`X)h*{={c4ie%yXz@nI)vJtp;qV~ouYbx6=<9|M?T?Hain&D0xj zcOSjZqtci?*XY1Xk$+AF}WtzNPf4JzEUXRXRzI}dIV*S*E0MuGk-+)T%5jZ6us9FD} zVUH{28wOo&d+REOWyk1N$q}s{Hnn7OD9|Wk7O%0nlucprzX}>h=a?9p>(h=-edBX60;k{S6t@xu zoE0xR=d<|Wokns#{D_`UUYyfyqH1ugYF;9ilsKUS?$mEs8xm_7sAT`aRArkg`sq*a8i-i$)~@>k(B(R@8sYrAQQCNfc^Z$z=gN&3kDYZ@lL9^oHdc$}Nb`!{hXi8v zWM|3=Zmen}BJoI??Zk_W$~GGZgO5tB-aX};+*dOWyBKuhWK{EMM~!mqo0Yg=>oAau zlm7nFD%2_BEpum6?C46K_^bNJv4{fi+p$3fnCowKKlzmmpx33ZzVj>1W3ugBN#4NK zPDXlySxp>KcdebnU4PPw*egNSE=hRAcR0;>Yb5gIzvVLyQPagqqgbpTXM}9Uj(Xe4 z*Upyh46tDouO7?}dz@m#w~23Nh^JPrHG|UEYBJS++4zQU?ZlAHIK;TKqzWq+NowaD}F_v0uc{IGTX3O2KQ24jcs5!F#*f8G>0 zTm5y=+vh$tyC0BbrQysW-4460yJx7c7%Ijcj!SUclKWt|YsRVA07|pKG38-ipXZj#fW_-og`F1uSK zJQ=AQ_02UaNw|V5W9?Ytyb|g!C!HN$8_-Z~B8~a#a=Qi_x1(S}zm<)vH%YT_lPu1# zx)l-`^Y9d1H|z1dXzh|y$B7HRQDCbM7E3lxTO#djL;mg zhcoUvrl|9%ugg2yc=%8)z@Fh|Gprsq{tI7#PSY8(C^n=p89?8*2M}iqU!FttfG}L$ zlZ1?YZdALA6K9`G-Y!Y*#g=r-(5sEuNGgd?)XjlOziSC(Y`RBQ6+vEIsy%Y!BN%>( zG$LO(=6U<$CdFC2l$J^YP#{I&n(pR_ti=8`)rV>Qlic{p1So<&&DF1c{;z>TS8o5Y zD8&mu{6!=rGVoKUW5*W4!u;FrXGWWKp(+bV;K*kRHITi=(WH7> zCFqlLS|T}vxc7Yt5>ig^%WF!B7qTZkcv5vE*`|->ZEfq17Us}>m2)HD;Trql*}m(B zy{jJs`i+051Pjmob1z>SVvMtrz`h>UuLiLS=^Q?|}^lW2N0q-*@ zO6n)+3Qjg|Q7>u3sT;gL_MYG$CjZbMq&KopTHGM1V5cCjTn1p}YTUdxvKP6GWWZM< zK&IYvUUAP04PWrdCnbiQe-kV%11*=Z(5UJ`Z76x;6Hgv9dtp#c5AH-WO`5lA;b$vk zyFaVksQ^_PA#4&$rCqAhs1LViY~ZTiDbs^psOnX8*T(PBEmzut&lY^Ro%l%;dWRZ| zfZ(*kfX9jD`eT0bfESdhB*_%8)5kL-lqG0ZU4>gIErG}kjL`f-^XQn(R{ZUv#GlNz zt?!rOsi2r9*^NCr=htW%xtP}dXu+Y@wybrRN+7FCiPQ>#0>Eg2!)GWs|EqhRJAyyI z3!!Jr<>!q67|QL3Y_H;#(^#g;Sf7J(yIlFJ9FXTyXp=zmv{cHHOzpp*Y0Xso zlN;Gmmy^+-<_%osyD#;}nNh88aTXnauc&2gS$E5Lnc}wR={DOy#JKjC>Nq(=uCDN`1JNihIU4<*FKk3p$bzB%$Ea4>cmcVToKYBPX(b10Z39*X#5SwK8&Jz(`$2~ z-(ML~E;H2~jp92MSU!g1Hd1{KAZr#<Mp!K*jx2wVgfrS3luK9f%{MQFsPO^F1bd1w zaFY{I-7q^{8!vr1Nu&#LyPUSc-iNI{I%^}+S;*~XDPqRbagKu)?l*lDnPBX z?fUB0KLybjrFwelxBQwJ!~YE5C%_^x%H~s1klTZRdeRS+X$TV9nk=<}534^;RBA`O zqaRA#D;oU4G99ZYG8W3C{w)L2M$aWD6sth=2+0R3c1CcJ+D`~SP+<1>Sc4sH*xeDP zY9_LM1HUf~gBtx+sgl5O+j@~Aw!js@kgPZ9bLDu9?R2v|ntKrfNMP9 zJvyRpj3MhIDd7TzS|@gPt?#gS#ousg78HD0Dhdi@(rjRKpb41m%PCRbx`>NBdB?WI zMpL`7*>~*HvfnHe)UqJd52%7oTSv|=q}*xY4pFn%oV#7xP||n`+WiY()FyTUvb#=u zpW|V-fJ|sGMyYSYi5_=+GmSTc`LWA$r7e*{fL#GvW^@f%LVYc(33C$D4-k?F?E%H z6@lY5M3xbs#u5@NJa=N(oVSjqC3k5W%y6je%2Z9lr5eWw1N! zZ37HZl5_8jrg;q2(IxBIf&I8|&~b95$=gIZ#Lr0?YP0ge{yPcSZplP(BypxQEQHT` zgzmRtZm8vM?51)@6Uan+9Ju>`TqhB^wc~RLdYO(|2O9k!KE=Ta(a(_F^Dfa5u_%#i z1;%wBMW=iw2A*QIN9Q8Tf70(XkF%wcvG(PcX9BCUWP3h6#7A_wS~1_^GR^rPGnaf3 zL{0I?^{Y^TU)}kYf)^E$No_SD%r0NLnJ836!EIf;*8R!dY~nK~KjV%;fY_0o+1|&H z``LU9JA%=WNxVbRdezj5jM}+X61r;6;T^#o&GfuRvL9FJh}LYL-Yd5GmAg>@47HxN z>d<9|GETPofJxqLh^I?d{KQVIqhHq^`vAj_i_q(JPh+^Wz=egPn8MsX27{xpfuob* z9_?Sa8@(Ut!Z;fv&G}a7^@=LfC>2chBLI>Ck>hhD5}nkkohD}mKeWDH<$$2XUL(NU z7_1M*879q@20MQHd25!T&CMBVUCuA!-{J+BNYr_e@hd)F@** z@AY5Ga5PWB5^wz{Q-?TV+*5gd0t!b6T_R51GCTrKC$UBKu#t|S>o@Yg!n1;~J zOf|%&81Y0`ujqT)#H-E!+hUk0&|TV z(Nj|6H6lauiB9TaOMu>jF7dSSK@~w z8H3N@H%n?yFE1M`Gxy`ge1kX7$9#sMfQeYqg-^Mua*hZRS@0fB%{y$o=9AhHjeDphn&*Q00) zkc7O-o^cP2s4T+*ZVkBxJ$t=;GLz^>v!y)96`;_096(|BwO24@a6uEGx}o}iQQiE} zMzaLIIX?#-Sq}rUrl?oH8)!!~C9OU8JtjwS!bbrMkHjyws_~*G=6S{+3!$ZXPVp2z zpMOkso%>LxW5ag(;Vux|GxlpB|X4{_~FGDP557y!HlBIL-f*sY_6S* zO+*hu%?pO+W7DVEk(UF6cPwa4EIQA}D(|Izu=!I#(QkIR=*&&@U6Ef(&aD0>(p&LX z)Ud{$XA%LnrX|Y*s|W&>(7F%tp4hLq7Y})PtoNStK9lFFd>+Q?-)9JT!Cmy~Dr73- zELKVRX$}B-Wc=HUUol3`mEwB}=OfqL5H@=}PVI*K#- zvp*w-hsTkR)wlHei@PsC)ETqDaATKE5)#^$HZYuyM?tB%lwIX}EL_>3-c>nozi5w@ z#+O@f_ql*-v8Ow>Q2c|}Gox~4vM+4cv( zMfiPVFnQl{gr-)5+OFO8(2e)w&;d87-hQ1K>4$vC3x@GLeD5BUM8%LrXFLd>9wdLO zVD1kRX3y`afWM4QLbg(b(gp>)$@%WO2Z zF#XNG0Ajt$OoxzH?K#6N;jT%beI-UZXP^@8bdiJ@UNuvupcJPQMlq=`6bFclC$fq` zZ`i~Z0Rn2>)1n~F*u03Go=qfoB3Qv;x0Q&jP_82Z0(!~9G)UEq8Ms@It_0}5yQ+ne zoRF%3L9ZILC}j(rq;Q8pjl%-;z*yO*Pks$|<^F6_i8>g0dT05M^=7C&8mAW9*aJH^ zC|mbDcErdC&u2)n#6KB2i+f1e7o#@_d6}Kk6QN@Fb{`oso1AC;qLzC@h5-DB+z{7k;q==%(HGK~E2l>&`3m?%)!EthZt=}0T zn7=g%nkc=gDN?n0(i2>D#pDh!EQnTLOY-Bluw|c!T`*+)3nBmEuL|45EF6dZOvkb=jx1ahTGl?N^+(qI5e!THX}=a$znHNI#Tf#mh;XcykW2`rzAT zx5sQ&uQzEg9($)UK3YJ(yEW9E1GJV~hu$SRtfpO8lL$sC9RFs#KF>V50C3Qkyz z*#ilo-dv6J%S~Wq`L;!Q3arlwLEyxTQhU$wL3g~;@{;LXaaRj4xl8zU4~%U}NclbFp|<#Tm2`T*ii~wFCwAk0zp-$My}rxj)+z{6@SN7f6ET_7UzP zeBTl!^^9odYUz3+9>-Y66^it~X zy4+&7zyZgBQe4PSnloBvmcXR{%5nLRtWBj*fW&vC`d95q{zvPO>h=WC6h8=7?yMD^ zq@-~bF=C@Z#R4l9oHkjb1B5GTwb*grk5lN52sj%4-6}{Tr?4%JCXsTPcBW-9r;I53 z)$iR$<64NRCk`i(TllwFZAm%Q#wMi#t*@YEqe$yx^2TebR7Yjr#YqpZK-%fJHoKpGCR0Ren*f78Q4nmt@5j^ z(4?C3;;7{cAvpYDWqs<+W_1(DQMbYP3qhA&1+2N`qM#e~FKR z#p=+SA1|%U=)^LeEBfIt@;~rZa6MhDRg;IkEVwp8mczn$(NFm;Epx-L?PZBK$SacP zR}jP3k#tf;&&#tc-@Fyb;?BxHFwNm;0ydsYYVvk=cE(qu(dapsBiB*1@4R=jxU6gg zL1BN>lD1?Ba$ZT}L`K}OaZlxbqd_9^?UhY$;$!uDv`Zc>m7*#4gm#)Y-BO4rGZ6!f zb5RvfAVR2jp+wgrg%g#+`VHT&h&2!PpblUQNSS2*5xmEtYI;l&PN9da!M5}|%-M*|t>Odyu5XHQC*VeRp@r^03X`0-elN@;a3-xF1{7LP~ zwe$)8*$nNLA|U$0Jpk4xC+~Y65*p08Rph%qs%<9PWO5Xx<5{(_?Jx()$lNOaYzoEw zOhHY(D8-&ABgao#sk--Z!n^wMq25*=9@yoP6G>)8o> z+h-LuZLjku9fa1NR8C$p!&#=$R-2*wLM1`KKpg1T=8c=h&2~y9 z9bbf3d-KuaI%9sw6+yj*hXTTEc~IfUDjZrC^mxtWs>9s!JudWbPt@U227Z39MdJ1=-oAlUO&6=&y*yBx{e>2^ z%L5q+kx3ESjJuAZ#Sl)sI6js2T9YaT zzQWJDM}0eQCGtf#yZfzGOg&{XZ}A)C+OMl=mXJcIzf2iSgVD3w1*-{7dim|ZO1%wV z(!QENTOU|l64&DHY(Gugzi*Na2wqga(pqKqzM~!*!ojq&LM%|r?*dm}1kqj|#ojt- zdWsD&^>vDLZ?=O0r?!RE;oZ3rmnm;sjF!;aBY~T^NrDUQlaWEKlYmIjvh#^uMa9E> z_r6t@%_e@-pi#0}?RN>SYx7~yI`wfGGWJJX`zaGQ5{-mPQYDUV|U5516oAgW0MX)Cg z22Zax^z~=Wr(eIOl%0I6>D$koa5rT3#5J{Glv?2#49hPu^!n@su~V|qL4DvSITsrR z36feO6tR~y%^nwJtxQE7*Cs_KQm(%IIB8R?Ryp}5ZLZ&DC2cNLVOuTi8m>*@ z;a$D`>>6)MTt{qiERkXIhs5bR8bg-%A-{Tc64Do>-#A8Q=)c_GlQfZMh7)a)@z`-~ z90m6p*j5jN&e9VXXq>n?`ZH*;4Jm37sQdvcIuT_EN+nuKsu|Yz-~ow*#GlQb-zpT( zD?~g`u*)tZr*28O=e|~_oj1DTH3WG=z;7%{fk#(R`TFeEK@wZy!=M4L=*qTe;)3*) z+}V@#Yt|G_s=2g%2T^)1%VrGyqAez z-YG8hmKpP9-;^t#LH&i}<&6`#fRQ z|NW*w%X{aJsrM01+N3AMtfs>wih$$>sj@xkPvsl;$Hz-*N^$0hUy=x^@7vC>q+zk` z46HmVLxq$bCqG2@A)a}=-g19876)_xSQqcL?fPX@N7sxZR&KB8nR6L*bq;OHe|nKE znGZ#{?9z;KeV8t`O|P?;d(&BFV$xdz&-i27c1{=^7_;A8fSufLzQZxb_H75FMX!MA zXHvs?W@1NAxQc0w&u!472X8jm);H*fh8kgB*jpG>wHFDZa<3Gm94L9tE}qVtm$YSk zZ9x7uKZ+2oKUl1T=VCiJX;V+{xjLFLEgN1RGbQoEL^%82s#J?P6i+-Zx0y|ozu#mE zmG{o7(<3W{3iXC!5~S005U(T=Ac;e1`8pqL6b_YJ8np!bF`TEh#Z*S0LfBK+9Qq=~ za6p%rf={SkJ-eaL@KxF*f5T^|+_I^KR*%JDtI3-texN}pt-cE;*SIo6;5aM#DxVVW z_r3bCEFZ5hY}zZyjj7BeO^w_~J%03%<|ob2(20Xci$GC3?nm)9}Eoe zyW7Nif~|Wu<3c;Ih58zH{Dtd?CI^4%1g$tZD{bs~9KlFoYs)%pI)ka(`g3j^%bJ>l zw31Jf_YFkHBxR|9#Tju)#bZ-s`E8Y*t`=0&{dHoD&V$fM5QB6KR%b>9S$IGftk4W=ye&paEaoSQBZ>siXnI zU=*a^3r11hTNTwTt~pr4cK7#b@93pDhYfrz+d^^3YV{g@gGs&{kf`=+Q}E8~=EviM zAFA`RbT*oL!;U|9;--zPb0(<*)(0ba2SwB0;beoVmn!BsUVcEZQ@6EBo6dl`_Yhw8$vr)>g8q zNM#pAz-60SW%euf$0y+r0xmDLg;8`kJ>5Q0>L5JQUCGvdJ1S$_VIHvg`g#~qq)487 zTU`GAdTcftRQ|ycB7{)bsEgU~RP~dbc7|Ph<2@8G0_h1Qf2tZ+BPB4&U$>dzyAj*9 z2y!~gQv9-6J%fnFyvV7=0NNC%@BMXUfaN+IOeUz!&bPs&i;I$dWW6)?JOM65_aqgJoRQfgxrs74ThzI$4y1UzyC;6EWI5Jp~0#xtvnz z$KF?|`ZRDSGbf)99j<>^dyD4ZT=T)O3Np^O>1TgDYW&=dU(mmXozqc~^gkD_vyE!8XWjJF#ljFMZ2hpdvN0?63w-WS%2OP6vfU?B88xd!YWTl&GaQsdnPk{h=(ngVTw z9}FLG=#O~b>OVa;ZIZy0e<6l_-{~UvW;-7Dx4*i+-cS*ExX;6X)?0O^UkWVA!-9#LHsl*)y{SvKDFJLugTlLvix%t{a(^xk_8pdO2!~y zs$`~qLe|d{2GWS*qfO=Jr}eU=q-4lwO9IXc^8@pP2OX(gU%4RX#t){g4w*vo$$Sv1 zKOR^DZ?y;sA%*o)rJ{N(gf&IyKRXI8jyzTLYksMH234hH{Ezbu?0)>6TPax0;O?U_ z#=j0QM1cH==jJ1kkG#Q35sck^-R~{d((WMGC0!4XfsMGodt()T{w!GRTU+52Mf9w7 zCje`x2;a5<$s2}z-KJz?$<=Gpg<2_6y`48pe`a<>%~>%AgkC_r4Fr{)Q$DA;h$-G) zn?!v0@i?Iu?yXn^mhCsa#t;FVe1S5Jw--nrGJ?GZHlEfzxy_0{c=zz8@Hq9NAMUy0 z{W1Fga{m8y&VemfZ9gHFRd4@&T+u)*vpDGSN~MG^6iEQ0)id*}Z;1Z60*qua4l{-^ zPIFJ~Cwo2sapYD;J6=G-MWH|b%+jDG5c+`I9KxuPuLLCL=cI3Bu4dF>^;;~m{jEa3 zP!0%a`XdX%uJiJmpkZq&_goj07C-m>xj|PnxaH+de*gac<$T4qW{R2YGGD91b&F50 z!Y`0eF$|e9c;3}?ZCY-{Z_<$l{pY>@=Ta75&%J+A63N{J+?H>#(T1Z*5#kL_ic&WROrwNu@gk=@L++Ra#QIhfoyhuAwBA z5|A8*5s~hYPH6@hddT6o@zL-3zUOzI=e+NK@AY2iA1~?8XYaMwy4St#y;h)hfF<~t zo&aD&`TBqdvH$E6{^P4r%pf-O<=wsT+yDIEwLt&zoc~Av`yYpiga1Ek@IPyC=Jo%_ z4*s881NsEX(3KzA#?5?A*Nd(EGXnfv7G&wF6-vtQ>!o&~nEDu#y>XmgbcEn~Y#aC}Li9H&fm#cwB8>Z5)h1)GMLXU%3=8aC> z1^ZMK-u`dKyT2Ytvicf5NbhKMT}aO26#WS9$jHdnT$SA1>n@t$t0%q9WpjtrK95X< zh&7a^zi7T~Il-KC77nDX9|kKYiFT%NEeG{+N<^LXevUXYI?USslI$ zrW?Lmu=>#!IXgzflCNDH`NL|k#SXa|95ogKGfh(gb?M{8n#XARbA7uvirTcj6)S4&^ zhzSmSG|)?;`Jv@<<85sI6F9c@VuZZOK}l6j-T_5oVj^g;McgU^Tf9l_S#;Px;*Nd= z4ybwwHkS1C|-)akR(eCC7_iWqoXt=1y;_FqgJ*G5Xe@?T>f?zBg+aCqwv`y_zab zm&jomPL6ho^p=qm+iHm$-;RF!kxT^cI=fQ2p!ODg&pE`&veD< zpdk&rn$t_PmNL85&KVhfe#fzIICfOhXTg)MrN3L8i}*VGmtf-16Vue5!tjB6IF!cF z14khYtZe+a!ghk$sN+Oqy&B^)^7&PCvRrf6+Wb6a>Z`>7m8FUkRfvYkW3-`|NymI< zwh?ktqxHC~VWCrRu8<1d0>vK5_ngPZvT4WJEkJFf+bL$#!0_2!BO&LdXVvrC0t#hj zDk;wHIZ~&tQ{G&fM(&RdJ={x^#fM)*CfypG`%b2goo{H$q>O`C96BuI@FO-}i8vZbvr{E;xbNmZ(-_o+lI&IyA)$U%a=g(H z-c^8v$=rnMT{8aH3Hh(j6l={n9Ed4~r03jwFqF1Rz^LrT;eaJv1&Lx!XDVMs5fwy8AE-WzG|w*H>)HzS6JFaUxjc9h*^fz9lzXW zQY|VIjXOtLi0PC#)ya4k^We=~w>7UA>-gr8$bA0@LH&)IwkgTekGU*>Eo`6Xf?|z7 zTfV`7ScBIL6H`-27=q%+=?;~?=P@VOh??~i9wkyZKRROyj!}jy z+oV13F#D98DMJ6avVNt^>4=J^i!GpHicCnIsvQ$dm?RKN*bSYiYH*__Nm5 zUmelWu{G2g(TOr$02DQsTp0d!)R#*x)&b&s>tk$V9Su~=LJZU2jsE;G`s+Bjye}RZ zQ~&jeEds395Z(CX4G@L%9&qMADRfyZZ}!#BL9TZk1u%j2Om#wyHmc-POr8t1Dz1Cr za}Z2TTsZVB1lYF1_VwngM57n3YfW=){}`H#aqJRrXmw0m-r^NO9%}l50j`(_skt@gXdp&rOZ_m z%`$c3hq@6KI-1GmXca>8+P}S-Qh0l*8Lr^3Q^S^-06gAi&67gi$CD}d4R(TsMe>f! z9qS@OcAUWd`CP4H!-=9OZ9{JZAJ^uT_1e=aeBz#}m9}@~TOJ6qx}WL#+Ew;^_m5LPLZst@p9Q!OKankuvje zi_71@=-KSY`ElINecN5NovV{jQF_R;45Kh!3w0yeup7(**i~Kls5Mf%OW5_b_3-Cj zgX;wy;o_-GWXDIhbZXs#DAMmOZ1p-c?E3kVOsFHXmVcN>fHB7XopLPV$-9071v(8n zdlMhfrr+~=-wdLZ+v7M)M&~HUJ?!|@hO4lFMlIj$kdA#TSj%v7Bz*0OtDcRo#NOc8 zggcbpx2PxA)uQM7srcdd0jqcl<;@|9(~s(Em%EkSq|ThN09{G~|G`7cv5HXm>KOXE z5F)fA5V^DyplXKPNvy z=ds~K)q^aKUg*h?b{I`;fNejb+z$_ykj(Ts@!0AL(Pm=f>F1aY6)#TkP zJT{eAn`HHNI5OJF7)|pY2uYkuXrXpg%74$nL|FR`79I*dP#c%uKD{!x2 z{oQ$sVJSSm3w@sXb7M0 z^BpG2Q5|>ppI56<-B8EHweNVR$8eai)8~{}LOKsET6ZUy2%4tou4tqAkp8zd?M1Z<=MOrDs2?)oKq^o7u2(zlJX95b+u6_mg(d93h|7MvoWgbL zz?16!v8V`JZklslKhHbP4MNv#@`unCDO*kZj ziR{Wlax5!JhMcMr&hISFbzvmfUHk*BaZg`u5?X}R?c*LytRX8}=LySB2q=vV=k(!Q z@7w1FOWt^nT%b(9(!S}+_U)|v@;9hhf!x9rmpkwhqEYl+e)uxcgbf2Krf3`7X;U*l zOmSUzY&w=Y=l20OMcA1aVdiwF^c!{hb8Ygx=S&}{DblZ`Xn)EXlw>CD>G35I0J3!I z&RVX70QyiZvC#qI-)^Gq{aN6gmw%)NJTW~E?qP7DQ{7gPeU)llu54>5 z(w@s3WM^2EYzo>grsm}R3I_tt9<;jS@6Vok6z-6b#6#VRm9@LKpT3h#XIh1$v6_>e zWP=;lUm0<)>C!(frZS8GvD!t<5Ax)8>HRZQlKqm^<}{<2lJt8|J!#jw=aUos5s}G5 zU>tC;=)3N_Ark*#HH{Z9r$1sRV*?c?zb#Nr|CIkYpA&#-rc&uq;)eAJxQwS_UW;@A z4n$ku8Q~>vZhNIBiO(wO**na{JT{%!^&$2(zl)tZvW_RW`GaP>p~IZ~^cW@7S2mAZ z#KoG63oKQ{{qS9yOvhfIZ`OX*_ibG1^%<_gtN{*2EJl+>LX7}hl$}qli?>E z&5QPkQUzu9#T%eyD~kAaSHkP!%@owXQG5 zXUP=OCdDQmHWFBT_c)&DNc{WaRQhXzBEEX6QL8|#uyF(T3mT-kzW{Gq;!f$KZ*rll znh)vqp9L1013O5P4d4Z6{Uw(0)Vpn=;pyvhp{1VJtLmw0i2ayx%;r=DMHW(AbEUH| z#h5ONtQq?)!at!JG;ux`npY)%mdwYf_$BcaQRjAv!94Q^Z z>#}-bG97OH>7fzoDIPCptw{*`)6bvf{R(x?PegDntS@OU4@j$rp)xR>XNY-vmIE%s4sX4mV#=NBXHR-SP7zyl;MPe<#N z&5xppJ-%(2VK$(25q>PYu9WV0yx5bk2yT-Nde@21GnB1l5}YoJ2nutUxYjxxQ@s8` z24uaTj%BJ>x>B4MEVs=2gJqw*OE0Xg6-^Yuu(_|li8loaPZh23j07k49I4&8?!Qz{sHLoUWj3B7k=yZ{wvq0?vFc^FdcH8BN*DE$=+y{-n3;}W;)WR zW;{|mZrA_umCf=%-V??3MSs%j(r02)xREzuw*u6NcJMDt{j|q{@DqFVexD;#>v@PWh8bv^8k!9xXL-(hoebNDVp-%YCOuiAPAip*pM zxgl~mV~ptOPT*EUw%gG7Xu5x^oPIltgOl&Bg7Ybvc)f>(1>iYpUO@(dN|U;CKoeX+ zkyT7m*kZws8^UU@v#<5l7#CD)-wl7f$c_qLT&XLCZ6a4}5|G6ma$IW=pqJ_hu zEkZBFJf6^_L-2)1PhL#V0of$NXwtKC8uOO>yXJ?-h{ceiyVU8MW0eb6(yuHmxvmU6 z5_Vp_%=~!f2iTV3!V3eR$shjOA*bz5hkliMx-4zpp_Vw&{pocTYX{*?-7H=bwTj z=ip^O!Ux_&lE8Z7^`318LO?fiMdKM?@|JO@Z=B|fWo1e%zcCe`8*ZADj;&5GDh zr(5$#LH-Rz&Vc&g1v{CGU{}(Wi3jqvr#_x8bV|f7`7q|g$R~mXdDNVI1D`aHQP=xW zJnM&dx0ZH$N&TcduD{u?T@b_5&3Qpl-pp4vTQSxI&{oOmDU!t`Y)^`!c)EnAjOIUY z10VrBXHngX1JzNxKTAyrbVcW2@uWVjX{!hLx@ff(^dJXVyI(u8-t{J-rS;=o*9ibA zh20{OU;Je34{n<9GvqyPZlp_}LEoQqMIto~6R|bP@hL!EQd29iP5NCxVrMy?Bukkfv|61p8wr0h34 zGV~U6ht^!z$M1rf_7TF)9sF-E3Dw^?6e&vX&Tb}vPzfxSzk0*}%DSxt&kRBJ;^fhUyU1oGa-3-~)iEa}R*sgM zg$#>%w&nEMA%Z_?JTNP_W>ei-mL0}9 z)nt5SZ?~(xMz!J*%7d5Bns{ZC!ZqR}v{$*VskZ9lx@uord;GJ^<;kRvdCu`l+!)OL z7b1YUH+|d+_r(6Rg@gQ_N_-{iHo{^bPsj-mmsg+v@5#e9UrEP)&nD9$=3ER(dx^t{ zwfn-R|68Y#`D@O~zOo}iTfb5GJNUOve2d|4L<1M(Wp1WF_vqO_=oAn_X42kAuvs*m z-ZtJ&wrAQdZgEJStW2flT^+e`@D!>i5Yjb`Z@!)#7t(b?PrTF2LT;CU+ zet+EBc*&UlOgAXnPfOEMSE zVvr1O>qVIS6QL_>PIsAD!9LE0i9BIO9>cP-vxPik&FdJe+jmSh7WC}e*C#w-EQTa> zE@8)qgGM!;g$5C+-s|!@WiBajcCe}a%t$a|x8l{dICQRY>jWcFvn||PV(jU@d63K0 z=_Qog0Os<{t)P530i)@(u&c(f-Pna(M>e0_=I_QgvzY!K9vm-dc^16RTUeN3g`t&8 zo(D%_n0D>$h2XgUGIQ61Z3AdTAStd`m*BN~Q1UD3k-s2%_tbh^S+{V*`iJrD@T2)e zb0ho3U48g&oROd(kIPH|nHX!hsBl-}?wMZ<^jXFn?kMzCy<&h@gG;TGurhRud0J=W zLTC6DQu5`o+<5q;>gDw3OgH`(wr7=oz0Z7ama*Te={|>N^2-&wTcay{?z849zDpjY_*&0EGdy|bO#WUF*BxZ&Zfn*YUVIA7MCU|0B_0E8_)#BGLVVy zKa+8)7FjN-UlVJf=FPAZGwY#$U)$iGW0Rr7&ibJrT2zA_Z%B8aW4j^&PU>q#g7uHMl^f%GCHIahA#2ips8%buTM&ncD8lcjg&rg zLEpV#_7Pk*b)Wcg_p1I3$79c)VKX1RNh_bl$^h|@;wP$w5%pB6!kU9QX>E2~kdwo` zxMn&Ii0FXp*Jrb_Rv-VvT>m}gE9HtP_!?vq8{Hgf?Jr*%DE7qBg+t+*+Y3bH)+)y>VV@5ZO)!Q_Jh zfo2K6Na-4VuiiTc<;zSAY-~#A(w9b)TZi@R;!WG*;FibDOhA{+y#6Eq?eX>`Qhsf; ze8Oh!^jO6Seo%_gQZ2%WMvEiR2mNQWZZisSrKb!Ox|9 z{eW%T95DYGIu$ma1>@M{l0Jl-Kqbrh!sdD7qUdTPpT~I@160LZ@#FQE2H;Ws2-j!3 z8Pab}Ksj%#ry)G}yv05tlwJ}PHIkrq6ucYT)Wuu_N`c~6=3`ZBx_v6q*A?p zKCfgA0xfUM5?Z#5oy(nt4wo|L!p5L$t7QVi%v@Y*PZDwoyhW`lj*q6uTI)`Z)|k77 zq52O9EG%A};3~nPYi9b?ycYDM{cU6t*gM5_hdC4>vl3iHJ$Ga}N&Yhs{ew#--xD1# z6r*59!e4^&*QheTG-0qs7PGxqXB8ElzY$o3xGif|(nfQw&Z@G!xUD~l^tMW6e@eHM zA$ny#c3$)t2U5cY$(o@N;ZZnroOEAo1<~w6Pu`X1zJWwt`_)8!_C>BaQcxy}gat!F zV^}U>Xp7n&40aPpg{g+WQnP0$`F9Xr7h!|hz$8h`SvQ(VckIbM2Cv7*NApYMH7Hxz z2YTBZ(+_QJVg^eD+GDl#uRECou+;YL!S7_~!kOma!j0=^L1q3Sy^bG6D{F4;&3L!H z%&_Iibj$uGRo5&)yGH^Qb=%&W$j?^p1)H)`?rcyNQ!T!V60nXifM2Xp-Zj^SyKq?c zRh0~YlGPW&H(<sicOW5472C?kBNawJE9C+D%9CV#mdQ;5q0Y;~%Cv1n=BGooET6zXso_RTj!o zNK#Jlk$h4_x;YjQx^$rwQFiCsE>|e^t^D|F_;jz^ifXx7Br~mV&H(PJVxe_iMcT8w z=M>-K-N1WZ$p8RtmXl&$fgBUC*h*Vra|#*HE^2z{X7f@+Kfir<^)h4LH-ogaj+7yr z_gP#|QC#iUXR}(m*$N$!vT}1p4)AfEJ4S06N{tsUjZ{0v7d}qBN#{CV!o8eL^nr|> zgr8AZGE+OeNENIe^h$wX+%Gvk06bKbpdt}MC;2HHoVeE%@=vB^O52Dkkp*(+{07bx z;58(?h`J89qlt)#vAW}*Jbfk7p1I#f9px5_5c3-|4IfMJ2L7Rp68@DV2Sbuu@`*J4 z0ylP+bfoJ#1hyGM)OR6XJazZ97QFb?l7&IN;k>y;BEE$TZThR_ z?D)1NCAl%_*oe*7MBS~96wER)+Us3CWJDo%0=Q#9d<%@Sq>aj}C$Gm^slO(T=$T-> zP;75@apA=8hTnGrRLa3|;fdvT!2R*s?ZvXvGF+V7QmD8^QG9z;Md^r@`kAg@t(ru(a^YBwJlAU{KR4RgIAisEoXe6AnN1kl=e%{oA{dl*rVe5|&@=I%R2 z$%X~>C_l(zifbxI;5kx;E0$ys2D#9fN13uhE~8J3X8Tt!qmI7^QJD69SKv>6(R__b zGV@8{&5yu_dcKl)H?;Dc?w+tT9G} z?5*6Lcr}S+Hphi7*Y*p1kH%os@!^~ot`o)Cp0yMn57zWAd_ncwLB{w4WrJN2}bc8SV-tIt^T$Wro#YAYO^$4p`S27o93l{~0CG{0rQCj{eeFOKIs`KVv z_=Ga8_kXj_{rA!Ivivna!vNdJ)ZB4$i`GvZ(d7nK5wC)oEgc#^E9Z`~DRV*8RCy2< z_zILSk1XQUs3aZ?vY+xkey3PS3#1efZ!H2jiu4RBs|eX-ejC{7qib5qFYM4%Ng=en zABcNy2$k+P%{2B98f4c~MKfPXpJ{Au?L8L?x#drfTTf-{8@Rk#PXimi;BCwu;41t% zYl)k5=R!qS=eHDl4a*f?O+z!Y-c+$#KL*{(0K!X(pmfWR;l6J>UKLp@?j5D|QKRuA zx&tGAnY3sB2N%@v1r8)PO;{c@n!n4XlEg{PkG(p$yp)-gM9Zrhze~;En#?mvoFoq7 zmCI4S}l|SL^EZVC>aK*fFAcyJpYf=s8wcHkqd2t{dTb{i==R)UETVGCI zw(LN@UTHscW;1J#dDWm4kU7wHb0Yg;WGNR>X@UF)4c(37+WE$~WBr8PMqB-+C$gZx ztFIb+^n5mVuYXGCq@5|de=c-&b=5!AsjarT>K5hX z^05{~aOToMe-}A)^w?yw)=5MpEjD&OCf3}e!@jKpEz~fU-vszR6E!Mga<{n*XsZI= zp^yyR1r72ps=L$zHmqRFP(_e6e1xd5tv^M?EN$9l3YsuGwgAH2cr^6sZJx=KdorxQ zqTiXxvJzcRk5rTks5x67rr$tE6IaG0=CaQtg??yUz5LJ^ zM%4Ei=SF?s+xFtB-F{%iR&45A5IX~*JF%+4RVatUXmoRmoKEXmp%M<=JpXbZtf|+p zHEo~`mkBAykgPpqh`QyvxGoxRx%g1kX*y=U% zMR{*+OxuAVis$bj7`PF1)uQi1ILx(iPEs=Pyjen1zUuVryA4DG8=XduJ~j z#psoW=B_1+>-%I37V{x2l%b_RcRon@20ALnwn}UQ(47*-q;7n?&oW;=WLU0KWsLjF z5AeN=G0wHY>>irGeY&_T)o}4Tt-yV#S z#@2?_F2A=#U4upyvS|+UB7IsW_wZbDr?|VJEP7kT6yhk2K z#hZIvxG$|hVBv)7Q#iz|-9keJm9Dev&&6C@@9wE*Y29otkHmEFPsvoNREg@Gp@d&1 z$_5s*^)O20?BK5aCQY(0DH8m%o{Tj{a@N?ReI$OK&>}%>s3PCiS2p6{mN&PF1^O#R z7hOt~QCz_uK5(9NoXDSp5}S)T%+2rbgB-vm-0?OpFBm?|2-I}ol!=S5zI%o+w>S@Q z0%iJrhq;!#@dls zx(nVXHod;EpWG%izbz@I3dAZVRb`yBgTMUSb;cAiXa6m~^2=#z$@t~l8ks{%M!%AP zaDUu?zT{2w?c80Zc+I2p{yYPgt71o@%irwiE*x(xS}g|Kp3Y5ytHb$=v&(9AMo;o- zoe{I3y8V^pq*ywfR_r#XgqD4v8Q8`c97v|@d4Tuh@z+}G5!gmSH8Mzs+UyFmWF}b0 zu#)oWHe}u%$d4; zr2<#6U1RaZR2s>G1(1bHf&em>sv3)6Y4Llcm2ak72s=@OxX5UFx zR@R3~E(-{ifYx%pF1`wfVg{FWE8srNWFZ`$vamWeh%}6L3lQ3>EOEan>ZX1sL0w+< z!-%Z;eJCIS6=-goE#kfp4;^#c&M5fj4O}r`oQmM~o|*!_g+({jXh4&|ln)o$dn1U0 zb#;FZ$GgKlf*#u%CIEgDsAyS!KhBZe{p2uF0P-F9M2fta!PS&TDk5Z<1dxHOde z76vXB*WRBM1EN}Y-sC{#v8-3pRQFev6_k{s7mbpbC2S_ixjESWtdaZK8g(Z{{aT|d zeWDsQew8FX?=DgmLP=T29 zf38t%NaJpO>{zNcwM4iSqM|jb-H6hQxoVewzGS5OVw_vNJRWTRvJ8=Ap9{>M;Bo&FiNNipgsv8@= z{fYu2cYhuI7*ftqfqH7>6)0d(MdRuA4d-BGtl`#n?=g$mAgDsjn|bFp zl?Si3Ga2a0=gOA9XIFbe(A}-aNz6YNSkUIbdu`G62k74QrJ3Y}&K9IS#(S$H4&7py ztI5}JAiabZTHH8hqizyc04BV%x5Hkl0U)OfRo7+CmfI3vA58iC6F6SI*m5C0ULyQ> zN3Sw&0;O$9V4>C86$cO=$63nArJA&UvrXoNs;4;DNh~ANiw~ONwbN=I)E4LU$E+@a ztnlYoW6iT#5&H#`WHR?3`9pVlr-`WXOF@O3Vjfw{{#jk_pZpnE>krqLpiPV)hpJqA z*1AOaq{FNp>lnHprF$U<@SnWCp}L&RxeKG^eZY7xm@Kg~xAyUI!%$tCE0X2LT z<;#bG_41kG@%kJMihh)ry3v?o3$kvRKC3_hG^q7k4HaEGDQ;+{gRUN9Z0&OY!gr%g zFA5Om%G?MG8E&l|S}?`Rvo}w>vZw)cS^Y+xka0JdxNf7EI8yxcFymeUS3AOd$u{PR zuk09q;oOdz{IW<|?z$|C`&$wb z^i9`B-)Oa1n=$2L`KD!i!&JCvU(l_9L#3nHv9=gXyS9~b)a?mnZtgynZt8f&`8G># zY+}60P|?Jjican|mnMB-#ZOwTak7P4S9QDpP>3;MXBqOW>c=zGp+Uf^UBnJr zsd6oCao1-9hWAYP#IQ&8-!CKLyjqknsmJ15^Wl4;bK&t`j>uyRtoDu{Q1HAu4>U8X zV!K+F!=Ilk$8vE>HUOen!Vzi*`2*ABB`o!~L2M99+xzgS(l+I5;N&@CyJvw#yG6v@ zbnKTKNWZnH(cP%N0OaK@UTd`@H!(FeD= zAaj+mq$ONYYceXULE8ucGtg@GlJJtytI3gE#aUTW*d(7}!oH$Y>}|e3_$%QIf5|E} zovp+Qk%_svl8ei=+~#1J0aeer;Yz#W1G@c<_;;eMc>f45&iQFwvzYKH_`-dvAREf-XPMJX zPeG#Ix+9)WdN`X1Xx7iUFMIGugJpA;?`Nn-yy23}>=Ev4r2agU(#3V_>ETziH+a0P z8lagR6jYkddLOjQg~wcD8){)I?rez<_lnUh3ncn3sPb~CD^mLHC6W3Yv3;xxnSr}0 zL$g32W7@`M*Je1nE)%Ax_?N3uJkxfNpJ(>`Z#>UmmT`v;w;Y9uD>`9L;^bi!3N^$t zuuPCGP)O>Y;MS`ovHr-{cHSC} zgBuJM=y0X^@W)SwBxsHNbz9mmiUI_^IqO!cf3}L>Uu{d2jIWDk%(X>lp?|ng!0y{! zucw-s=Cf!xuMES^9jQ8?OQ-7i)UL}=rC%w?y+n%rEOi6q+bwsS;q3ZiY@>%W4c+lG zi)6u`mC|P}+B1;Dt8KuN+q6wfMDKZXFTO6MU0o3iLr*UnY4zh~Ih6FL)GktMAkN{WJ2+bUUu_xyD-~1B3@(F6Ff~ zqIWpIpIk!|Sj2!R=fGcAJ^s75)ljF;Rkd3laQv`6;9!$yO?@YR!0l*or1a$`UX)c6 z$qYel{S8o7#VESGcf;fJ2k$cK+4SLIu=2Ae-h-|XDwz*}lXN44P_VRudhTsul4=oG zxtOBcOrH!9HOmigAqitH;Bp-M-N3q+JH{_3Cz_{Dhxp1BK>Pdp<_`0@Vu78vg5EH6 zR{Yj~l6_NU@DAKAU-LMBANs%Noz6;4F-2c{3!4Jj7aT}z$F7p6rTq5quX=BjHGe4V?Y(`73?* zlC!=hzn+EWOpwr3@*(FpOq#v|f^FF9C_)cV5@?;IVFm9Md5}>>!M){P@TjWWel$el zuQ88YWr&E3yj5Fu6$A2G|(tVk16(>Ar_%9cJ;wsyrI?J8o?o0C!O z1xb9L+8=c$DXOZHo)rz)4}D5*3VR9aG{)yUv~3;PxC`e-duwdc>T&-(ob?7hWIK<> z&4j!Ji%l-x8hU*(=B@D)+PzyDgs~lf^~=VuGE(~3AY}?XgIQ?QUhPJNR+%!!7) zx2eD}{}SZ`H7L}TQiCM*k=EJIa%{2SvPlSFHknxqG0!KBXT=K#pix|?VaK+1eF@5ZV!ke_Q}R-URZGH}<^fH#J$26L{a{mx z2W!%wt(-0OQLFdwbe7uCD895dGU}}jkJU105#aZG??e({K>b3K82LEwsQhU$VRMD; zvKLFW$%wW zvg??${oP$HoXSOf9MHjN%9HNPDIlo#x@SLFvB2d6Mcc;R)C`2#@xduJ=^{M7)cGB+ z6h8>LYNW_4fq;Hfp zN7+it%CfXEMXJVgBWX~b(I1hHT{l@d^loz4b-1Zr=h9gp$ZgoPG2KYVg3B9HRCYkk zYa?hdUiY$LvYm^{(ntPE;#OO7wnK*o!YA9ufiVNOz6;5CRWI+|q!?Tw?%>7lHrGO{ z;kIcx%}$czyeXwT>2{2lLHxyHZN17Z?z)-Lc2Ja;rlrQ{-#U^(8wH%-o%{J{QAmya z)V4Rg)V4u(q=ru$w6D6``;dtdslI6PfLrYuGwI4uY%mv)jDQ=?pfM&<)L8?@gQe(hhELM9 zL5e8v1kA8oI83m9g)&4?j{oG#Lqj+Bq~sY(W;f;HaH}Dk2n9_e*ZBBBzWzer#Ir6_ z3(kXDlc)A^>`$v&;GbG{@@CAHqMJxN&Ecm)Vpp#zs4Eih+`<7lTCZcf{A}T z7$Oj1enU=>NaWn%P&;pra3fH*$`&!ZB*f4(*QDKrOKY*u;5H&E8Efxx z%g{^V{;)ca%lGNW>f<}jE6i>TanD=7Ju0N04$a~L!S1pk8k+hVt$s6AiCL;OM6n~mdI{YtqW2q6z_(e1;k?S zUg#(!SymLHb&%$aJ}cQ*!1ksoViZ6G(6zn|%x$-vFxVyM%9ir>-2R)XlV_Ci`@{VD z6P0#IQGTpY5h>ASG8c)<>te#aq(?7ot|qoPjvD5(KJX1p<*#jS!u%{5x((EA=Q;WA zBW7)et6F#bU0XP^z7!?e5_HJ8U+A%zDk>xq%0_yfHjpRIpu|`Q?r%cylP>{7$X018 z{dYsC`8Pw@1%`0=+2+L`Ls(5^7VqKLKk=U^ZuAfX-M?V`sP-huS7;7X8>2ifT-Kh? z%TFzPcC@b;vm2TC^SF@1uG~-Hx`hJ~kKpE~E)pQ62Fh45fFqX3c!3K`j(x+iBeK>J zqAVaeo9_NDqTar zm$>7*%ndN5Y`)!n>gttVmd%xDkulma#R}W@So5?reMS{lcKJQBshPcMM(UQ_(Yiwp z;AF6eam@!&qNlfae>N}4XOpLK>fk`|4)h~82VNE*IdYh>ju4A6z-^3= zE&2G*`rZj)3NlJT``Sd|lTMj+a(8$9ZwNU;s~yyc=t^s!^;JtYYAb0exHtQ(mK$AI z_M|mM4PmG{f3|by&fwc~q{Xr;s?Fr-S6YAgplT62izw>ae)84-}+5B@v zpyCI8#ggZ?VvJtZQISln@ivi*&1X~;U)Zh(podGtF3&S60iP3R^25*JviujxfF|Q? z!`Yt!y!^#bN&Z5lMDIiGmSbVQqP10w|L)lM30Xyl0hQS|Ta=pFHm0bu{n#=wT$Nrc zJrFGNc(o=keZwWq98k+OQ!XzHVL0pT_8^ZtP8pCNx<7WZG6IO|dVE91*T(R+51@`O z2TAZP5_U(+nhg6X1aKg4-X%!=VIzK$gP-LT=l_dlrKh)Fe%O$0J26`NZ05H6X@kx! z9Uvo|Ph#VYD=1KQ2hDs(s+L(;)_Udmu90p%t#}c;&3HUmn4}bJ92V6U%hryv>tv7l z<;(>s<}!?uR;R!V+KsSIaUS+6qq$m^zKk15FPpkidvtgq^k^a#j>fM|~c zHE0*{jCA{DlA(A_O3x#g^-(5Ar0#UPLYC^9u0uy}rwl5=Y)>h4r*#K%BU3u-$OGI^ z19t|Q=@QeE8{U$MjE$D^6&E89R9_C}agN@o&;j}$#882O9i%ZSRr3Lf$E78TAI=i_ zTCLp8FDeUk%LYHDt>N4nJS^v3?76?7e`vWK7olb~6i8|iIx$l#+WYLbUe1%sn&rJG zo_-(oa^o~TC*;;hn`+(+XTPKL>~<7O1MQC$!(I*!#OOU9uz91CgZQvdI3zlhknC7m zEmZN+a0td@*L~arBZN<=><~BaE$A0pdBn;K6sN5*Bk3r)_|z;f)eerot_!m0l9=Ef zuAb>Eg{IMdX!eM+w1)yo8=BQz7h`~tGD`OBpiBkT{5W)-(W;l!OA6GhzS$qu{hM6? z?G6cwSqwX>QM#iyg4zx*6EDX`2!(+Pene)cm3gL6u|%4PT69$a zW_;AjL%oMLxTD(ntJlFg-ReQ+!8%AzlK3rGVey9p`_4Jq*AaW3o_F8R!M>O-l~@c_ zgz|DX^R(BZmz)iZF!@6TWeVdZr=w@t$>L!;qG8EOyRskUmUoMRp+R3MNwE1|L+v_$ z0%j0>orAx*EJxp~{@zHbbF#AAbH%*QiTORgX{cRLg%3bdHbsq{Bel-e3X@8F~Y+MB#tAh)5F+f%zdb|6x!-B+HzOdaNO!g9JTe$wWH6S3~{K9 zM=Hr@jYd0<6byP(&AxPbbnZ?mjaixGVTNBm&KJZadxZAnb}xIQFcO@xvZN@HA*3_V zB$Js^N}niQFC^>|WRY+|9wS zQuPXuSGUEwty4a@OMD)4YxbDX!b8NX35cCrc{YW&y4wL&zI}3YR>Ex3VYe*GP;<9D z5A(=_3%Qxw*;S1`fz3=X4>)BF`JDQ=ZTEw|$N8TU&tK3DM|XG^U&`34_bjZyC}OQr z1fZvY`dCIOV;)QJta!e5T^h(p*-mVPiuLe5?&Qk?!y;hargYw0iDik%Rg2=X-r7Z7 zild~>xNEH^@vdP1&VXNs9vD;LiQW^YS@$lfIj|l?SeY*dWu!qL?bGU2hVMBSE*dLs zCl*&9*vg?Zc20&T?Fc-*WeyYNP~_I{=CPbfL!U7>IQ0xSsFYECJ^FZI66;SF%QqUe zjVNoLXn%}a^P0+DOi0BXCTdOL`FnG2pySsy88HSfa0~I%Q5*kI#8BX=9lG|k{7$Lu z)O#JAM#;+!3D>l=Lf-kl(|Pm=zbrGes}_ASk7dD3y2>^e)pll|^XHJebDp1|WT z%-S_ECA``!?EUFzdEN1AK*1Kn3GCA2ANl#NkDUw41@;n!cFnF+xdwG6-az-*EeBC#D^b;3X6zGcI%>TLZ8E1vJe^1hwzaKdCg>eQ^#Z4>icyloh(=+c8Zo0i2T@!SQ2r_XHc z{JiZt!gXdvlLn9?v;D#qLQuPu1)hn0?ElBsUxzi_cz?jSA_|BI0|lf@LP5Gmw-PEU zAOcbX!syt9F)0}hf+DSmB1%Yi#|U8{NDVf+#~86OMm+PrKlktY{+{dkch|Ll-h1zL z&MVG2_YsNRmXA+z%7SKH9=aTF1uQ^h(e^F(opVTDFhK z&Kh?hGS(G`Fm#+zJ6=eYbGWtZB1I*^ZdiIw1yu?WR-5Q@$*qfzGkwF0=&K- z*dvxoMa5<-Q{w+AJ~ePA6s7swaz_i1e}^2RwHs5IJE$=0zo_YJe@4WdCEJ9Ms*kVG zRdAiHvIs3H3txedbBMdqGKR5&2~Owg#q#)mq7_%?e`YO;YZpF5{|HWfRj_*i-Iks> zdoj?ls^gbOOFzU^yWQksN_d}g$;i1N+a}?W0^#F@h8diselm1!9zkVPxY67bw`)3y zuK?KpJcRbvjp*0V|9N?miWp$rk=|M|LU2eIL?~^Nr$SG=Ev8C>W?0}?Og0srcG^64 z3ml6XPOnXy#7cR$wFp*12|V^7=TH$mBXv%U0q^+5+AsHDgSqm6UyEjHEEcsRxF@Qx z-6;?!-6#W%@`~pBb``FFdI* zMKxfP;>67HfF0`YWI2W(qQlzFj5!wX5&T^lM3-)bM4s&^oQ8o}&j1wm8&RF_mq8PaRv$LwOPgbsna;b#I$B5S8LcT&) z!^YmMy_meC>O`C&KIf}HGMZ~{0A#z&_!|WNrZcF`l@3>m^bykajOGGPN1AOOI+sY` zCQM{qqJlnGkB0JDs*<`Kwd?VrXnwT8^ypLfl8lqR-|h{`z{>z0y;JBrVDkN%?eB4^Pa^N9S|t{py)%fPRPb;W@`2y>>9~pqJ`}n`t(rPm zs{IN+$|h{79oeJyTAQ*h8wchQ-4Z$sbQskB8FLKMBen;z=`g@O$#S_k$4SJ zH(61p^OI0w&_0pLHA#Ip`3^RBk11^yJdhLi4TRJhLc$wPr<*o+L#O(tV z_K0O1v!rKi!0ThkR5&NUm6sk6T05({htxQ8z@1dFTB+BN?!j!Hx-~6L%*gGTvSgXk z5`;@{FSV#{Hz0eVIekrdWxN;64wA@Z-`G?p+|-C)QB{dyZ5~`g$&nn+*kwH&s1}v@ z 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 +How Skill Manager unifies skills across harnesses +Before adoption, each harness keeps its own copy of the same skill, and over time the copies drift to different versions. After adoption, Skill Manager keeps one canonical copy in a shared store and each enabled harness links back to it; per-harness toggles control which harnesses see the skill. + + + + + + + + + +BEFORE +Each harness keeps its own copy + + + + +copies drift over time + + + + +Codex +~/.agents/skills + + + + +code-review +v1.2.0 + + + + +Claude Code +~/.claude/skills + + + + +code-review +v1.0.3 + + + + +Cursor +~/.cursor/skills + + + + +code-review +v1.2.0 + + + + +OpenCode +~/.config/opencode + + + + +code-review +v1.1.5 + + +Same skill, four local copies — versions diverging + + + + +adopt + + + + +AFTER +One canonical copy, harnesses link to it + + + +SHARED STORE + + + + +code-review +v1.2.0 · canonical + + + + + + + + + +Codex + + + + + + + + +Claude Code + + + + + + + + +Cursor + + + + + + + + +OpenCode + + + + + + + \ No newline at end of file diff --git a/assets/skill_manager_before_after.svg b/assets/skill_manager_before_after.svg deleted file mode 100644 index 84a6c5a..0000000 --- a/assets/skill_manager_before_after.svg +++ /dev/null @@ -1,111 +0,0 @@ - -Before and after skill management across five harnesses -Before: skills are duplicated with version drift across Codex CLI, Claude Code, Cursor, OpenCode, and OpenClaw. After: one managed inventory, harnesses symlink in. - - - - - - -Before management -Each harness keeps its own copies — versions drift - - - -Codex CLI - -Superpowers - -Frontend Design - -Remotion -mixed versions - - - -Claude Code - -Superpowers - -Frontend Design - -Syst. Debug -mixed versions - - - -Cursor - -Superpowers - -Remotion - -Syst. Debug -mixed versions - - - -OpenCode - -Superpowers - -Frontend Design -mixed versions - - - -OpenClaw - -Remotion - -Syst. Debug -mixed versions - - - - - -After management -One canonical copy per skill — harnesses symlink in - - - -Managed inventory - - -Superpowers - -Frontend Design - -Remotion - -Systematic Debugging - -Update once, every harness gets it - - - -Codex CLI - -Claude Code - -Cursor - -OpenCode - -OpenClaw - - - - - - - - - -symlink -symlink -symlink -symlink -symlink - \ No newline at end of file diff --git a/assets/skill_manager_logo.svg b/assets/skill_manager_logo.svg new file mode 100644 index 0000000..7080ff2 --- /dev/null +++ b/assets/skill_manager_logo.svg @@ -0,0 +1,18 @@ + + Skill Manager logo, refined lockup + Refined horizontal lockup. Custom-drawn square brackets with subtle pixel-style outer chamfers flank a small amber rounded-corner square at the bracket mark's center. To the right, a monospace wordmark sets skill and manager separated by a second identical amber rounded square. The two amber squares align at x-height center and share the same geometry as the favicon's grid cells, unifying the system. + + + + + + + + + + skill + + + + manager + diff --git a/frontend/e2e/smoke.spec.ts b/frontend/e2e/smoke.spec.ts deleted file mode 100644 index dc142f9..0000000 --- a/frontend/e2e/smoke.spec.ts +++ /dev/null @@ -1,139 +0,0 @@ -import { expect, test } from "@playwright/test"; - -test("renders the managed skills page", async ({ page }) => { - await page.goto("/"); - await expect(page.getByRole("heading", { name: "Skills", exact: true })).toBeVisible(); - await expect(page.getByRole("heading", { name: "Managed skills" })).toBeVisible(); - await expect(page.getByPlaceholder("Search managed skills by name, description, or state")).toBeVisible(); - await expect(page.getByLabel("Managed skills list")).toBeVisible(); - await expect(page.getByRole("switch").first()).toBeVisible(); - await expect(page.getByText("Shared Audit")).toBeVisible(); - await expect(page.getByRole("navigation", { name: "Skills views" }).getByRole("link", { name: /Unmanaged/i })).toBeVisible(); -}); - -test("keeps managed skills scroll contained to the list surface on desktop", async ({ page }) => { - await page.setViewportSize({ width: 1440, height: 900 }); - await page.goto("/"); - await expect(page.getByLabel("Managed skills list")).toBeVisible(); - - const metrics = await page.evaluate(() => { - const scroller = document.querySelector(".skills-pane__scroll") as HTMLDivElement | null; - const chrome = document.querySelector(".skills-pane__chrome") as HTMLElement | null; - const content = document.querySelector(".skills-pane__content") as HTMLElement | null; - if (!scroller || !chrome) { - throw new Error("Skills pane scaffold was not rendered."); - } - if (content) { - content.style.minHeight = `${scroller.clientHeight + 640}px`; - } - const chromeTop = Math.round(chrome.getBoundingClientRect().top); - scroller.scrollTop = 320; - window.scrollTo(0, 240); - - return { - windowScrollY: window.scrollY, - bodyScrollHeight: document.body.scrollHeight, - viewportHeight: window.innerHeight, - chromeTop, - chromeTopAfterScroll: Math.round(chrome.getBoundingClientRect().top), - scrollerClientHeight: scroller.clientHeight, - scrollerScrollHeight: scroller.scrollHeight, - scrollerScrollTop: scroller.scrollTop, - }; - }); - - expect(metrics.windowScrollY).toBe(0); - expect(metrics.bodyScrollHeight).toBe(metrics.viewportHeight); - expect(metrics.scrollerScrollHeight).toBeGreaterThan(metrics.scrollerClientHeight); - expect(metrics.scrollerScrollTop).toBe(320); - expect(metrics.chromeTopAfterScroll).toBe(metrics.chromeTop); -}); - -test("keeps managed skills scroll contained to the list surface below the old breakpoint", async ({ page }) => { - await page.setViewportSize({ width: 1100, height: 900 }); - await page.goto("/"); - await expect(page.getByLabel("Managed skills list")).toBeVisible(); - - const metrics = await page.evaluate(() => { - const scroller = document.querySelector(".skills-pane__scroll") as HTMLDivElement | null; - const content = document.querySelector(".skills-pane__content") as HTMLElement | null; - if (!scroller) { - throw new Error("Skills pane scroller was not rendered."); - } - if (content) { - content.style.minHeight = `${scroller.clientHeight + 520}px`; - } - scroller.scrollTop = 260; - window.scrollTo(0, 180); - - return { - windowScrollY: window.scrollY, - bodyScrollHeight: document.body.scrollHeight, - viewportHeight: window.innerHeight, - scrollerClientHeight: scroller.clientHeight, - scrollerScrollHeight: scroller.scrollHeight, - scrollerScrollTop: scroller.scrollTop, - }; - }); - - expect(metrics.windowScrollY).toBe(0); - expect(metrics.bodyScrollHeight).toBe(metrics.viewportHeight); - expect(metrics.scrollerScrollHeight).toBeGreaterThan(metrics.scrollerClientHeight); - expect(metrics.scrollerScrollTop).toBe(260); -}); - -test("renders the unmanaged intake page", async ({ page }) => { - await page.goto("/skills/unmanaged"); - await expect(page.getByRole("heading", { name: "Unmanaged skills" })).toBeVisible(); - await expect(page.getByPlaceholder("Search unmanaged skills by name, description, or tool")).toBeVisible(); - await expect(page.getByLabel("Unmanaged skills list")).toBeVisible(); - await expect(page.getByText("Trace Lens")).toBeVisible(); - await expect(page.getByRole("button", { name: "Bring all eligible skills under management" })).toBeVisible(); -}); - -test("restores managed list scroll after switching tabs", async ({ page }) => { - await page.setViewportSize({ width: 1440, height: 900 }); - await page.goto("/"); - await expect(page.getByLabel("Managed skills list")).toBeVisible(); - - await page.evaluate(() => { - const style = document.createElement("style"); - style.textContent = ".skills-pane__content { min-height: 1200px; }"; - document.head.appendChild(style); - const scroller = document.querySelector(".skills-pane__scroll") as HTMLDivElement | null; - if (!scroller) { - throw new Error("Managed skills scroller was not rendered."); - } - scroller.scrollTop = 280; - }); - - const skillsTabs = page.getByRole("navigation", { name: "Skills views" }); - await skillsTabs.getByRole("link", { name: /^Unmanaged/i }).click(); - await expect(page.getByRole("heading", { name: "Unmanaged skills" })).toBeVisible(); - await skillsTabs.getByRole("link", { name: /^Managed/i }).click(); - await expect(page.getByRole("heading", { name: "Managed skills" })).toBeVisible(); - - await expect - .poll(async () => { - return page.evaluate(() => { - const scroller = document.querySelector(".skills-pane__scroll") as HTMLDivElement | null; - return scroller?.scrollTop ?? 0; - }); - }) - .toBe(280); -}); - -test("opens the Settings drawer", async ({ page }) => { - await page.goto("/"); - await page.getByRole("link", { name: "Open settings" }).click(); - await expect(page.getByRole("heading", { name: "Settings" })).toBeVisible(); - await expect(page.getByRole("heading", { name: "Harnesses" })).toBeVisible(); -}); - -test("navigates to Marketplace", async ({ page }) => { - await page.goto("/"); - await page.getByRole("link", { name: "Marketplace" }).click(); - await expect(page.getByRole("heading", { name: "Marketplace" })).toBeVisible(); - await expect(page.getByRole("heading", { name: "All-time leaderboard" })).toBeVisible(); - await expect(page.getByRole("link", { name: "mode-io/skills" }).first()).toBeVisible(); -}); diff --git a/frontend/index.html b/frontend/index.html index fdb9fd1..6368f3c 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -6,6 +6,7 @@ + Skill Manager diff --git a/frontend/public/favicon.svg b/frontend/public/favicon.svg new file mode 100644 index 0000000..bae5a5c --- /dev/null +++ b/frontend/public/favicon.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/App.test.tsx b/frontend/src/App.test.tsx new file mode 100644 index 0000000..de87f40 --- /dev/null +++ b/frontend/src/App.test.tsx @@ -0,0 +1,184 @@ +import { fireEvent, screen, waitFor } from "@testing-library/react"; +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; + +import { App } from "./App"; +import { createRouteFetchMock, okJson } from "./test/fetch"; +import { mcpInventoryEntry, mcpInventoryPayload } from "./test/fixtures/mcp"; +import { skillsPayload } from "./test/fixtures/skills"; +import { renderWithRouter, stubDesktopMatchMedia } from "./test/render"; + +const fetchMock = vi.fn(); + +function renderApp(initialRoute = "/") { + return renderWithRouter(, { route: initialRoute }); +} + +function stubEmptyApi() { + fetchMock.mockImplementation( + createRouteFetchMock( + [ + { match: "/api/skills", response: skillsPayload() }, + { match: "/api/mcp/servers", response: mcpInventoryPayload() }, + { match: "/api/settings", response: { harnesses: [] } }, + { + match: (url) => + url.startsWith("/api/marketplace/popular") || + url.startsWith("/api/marketplace/search") || + url.startsWith("/api/marketplace/clis/popular") || + url.startsWith("/api/marketplace/clis/search"), + response: { items: [], nextOffset: null, hasMore: false }, + }, + ], + () => okJson({}), + ), + ); +} + +describe("App shell", () => { + beforeEach(() => { + stubDesktopMatchMedia(); + stubEmptyApi(); + vi.stubGlobal("fetch", fetchMock); + }); + + afterEach(() => { + fetchMock.mockReset(); + vi.unstubAllGlobals(); + }); + + it("renders the sidebar with primary nav groups", async () => { + renderApp("/skills/use"); + await waitFor(() => expect(screen.getByLabelText(/primary navigation/i)).toBeInTheDocument()); + expect(screen.getByText(/skill-manager/)).toBeInTheDocument(); + expect(screen.getByRole("link", { name: /^Overview$/i })).toBeInTheDocument(); + expect(screen.getByRole("button", { name: /Skills/i })).toBeInTheDocument(); + expect(screen.getByRole("button", { name: /MCP Servers/i })).toBeInTheDocument(); + expect(screen.getByRole("button", { name: /Marketplace/i })).toBeInTheDocument(); + expect(screen.getByRole("link", { name: /^Settings$/i })).toBeInTheDocument(); + }); + + it("renders right-aligned section counts for skills and MCP servers", async () => { + fetchMock.mockImplementation(async (input: RequestInfo | URL) => { + const url = typeof input === "string" ? input : input.toString(); + if (url === "/api/skills") { + return okJson(skillsPayload({ managed: 10, unmanaged: 3 })); + } + if (url === "/api/mcp/servers") { + return okJson( + mcpInventoryPayload([ + mcpInventoryEntry({ name: "exa", kind: "managed" }), + mcpInventoryEntry({ name: "context7", kind: "managed" }), + mcpInventoryEntry({ name: "firecrawl", kind: "unmanaged" }), + ]), + ); + } + if (url === "/api/settings") { + return okJson({ harnesses: [] }); + } + return okJson({}); + }); + + renderApp("/settings"); + + await waitFor(() => { + expect(screen.getByRole("button", { name: "Skills 13" })).toBeInTheDocument(); + expect(screen.getByRole("button", { name: "MCP Servers 3" })).toBeInTheDocument(); + }); + expect(screen.getByRole("link", { name: "In use 10" })).toBeInTheDocument(); + expect(screen.getByRole("link", { name: "Needs review 3" })).toBeInTheDocument(); + expect(screen.getByRole("link", { name: "In use 2" })).toBeInTheDocument(); + expect(screen.getByRole("link", { name: "Needs review 1" })).toBeInTheDocument(); + expect(screen.getByRole("button", { name: "Marketplace" })).toBeInTheDocument(); + expect(screen.getByRole("link", { name: "Skills" })).toBeInTheDocument(); + expect(screen.getByRole("link", { name: "MCP" })).toBeInTheDocument(); + expect(screen.getByRole("link", { name: "CLIs" })).toBeInTheDocument(); + }); + + it("omits sidebar counts before query data resolves", () => { + fetchMock.mockImplementation( + () => new Promise(() => { + // Keep the query pending so the sidebar renders its unloaded state. + }), + ); + + renderApp("/settings"); + + expect(screen.getByRole("button", { name: "Skills" })).toBeInTheDocument(); + expect(screen.getByRole("button", { name: "MCP Servers" })).toBeInTheDocument(); + expect(screen.getByRole("button", { name: "Marketplace" })).toBeInTheDocument(); + }); + + it.each([ + ["/overview", "Overview"], + ["/skills/use", "Skills in use"], + ["/skills/review", "Skills to review"], + ["/mcp/use", "MCP servers in use"], + ["/mcp/review", "MCP configs to review"], + ["/marketplace/skills", "Marketplace"], + ["/marketplace/clis", "Marketplace"], + ["/settings", "Settings"], + ])("renders the expected page heading for %s", async (route, heading) => { + renderApp(route); + await waitFor(() => + expect(screen.getByRole("heading", { name: heading })).toBeInTheDocument(), + ); + }); + + it.each([ + ["/skills/managed", "Skills in use"], + ["/skills/unmanaged", "Skills to review"], + ["/mcp/managed", "MCP servers in use"], + ["/mcp/unmanaged", "MCP configs to review"], + ])("redirects compatibility route %s to the new concept route", async (route, heading) => { + renderApp(route); + await waitFor(() => + expect(screen.getByRole("heading", { name: heading })).toBeInTheDocument(), + ); + }); + + it("shows the preview-only note only on the CLI marketplace tab", async () => { + const note = "Preview only · Skill Manager does not install or manage CLIs"; + + const cliView = renderApp("/marketplace/clis"); + await waitFor(() => + expect(screen.getByRole("heading", { name: "Marketplace" })).toBeInTheDocument(), + ); + const previewNote = screen.getByText(note); + expect(previewNote).toBeInTheDocument(); + expect(previewNote.closest(".page-header")).toBeInTheDocument(); + cliView.unmount(); + + renderApp("/marketplace/skills"); + await waitFor(() => + expect(screen.getByRole("heading", { name: "Marketplace" })).toBeInTheDocument(), + ); + expect(screen.queryByText(note)).not.toBeInTheDocument(); + }); + + it("redirects / to /overview", async () => { + renderApp("/"); + await waitFor(() => + expect(screen.getByRole("heading", { name: "Overview" })).toBeInTheDocument(), + ); + }); + + it("redirects retired /harnesses to /overview", async () => { + renderApp("/harnesses"); + await waitFor(() => + expect(screen.getByRole("heading", { name: "Overview" })).toBeInTheDocument(), + ); + }); + + it("navigates to overview from the skill-manager brand", async () => { + renderApp("/settings"); + await waitFor(() => + expect(screen.getByRole("heading", { name: "Settings" })).toBeInTheDocument(), + ); + + fireEvent.click(screen.getByRole("link", { name: /skill-manager/i })); + + await waitFor(() => + expect(screen.getByRole("heading", { name: "Overview" })).toBeInTheDocument(), + ); + }); +}); diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 4274981..3f423c2 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -2,18 +2,21 @@ import { QueryClient, QueryClientProvider, useQueryClient } from "@tanstack/reac import { lazy, Suspense, useState } from "react"; import { Navigate, Route, Routes } from "react-router-dom"; -import { AppShell } from "./components/AppShell"; import RouteLoadingPanel from "./components/RouteLoadingPanel"; -import { invalidateMarketplaceQueries } from "./features/marketplace/api/queries"; -import { invalidateSettingsQueries } from "./features/settings/queries"; +import { Shell } from "./components/Shell"; +import { ToastProvider } from "./components/Toast"; +import { UiTooltipProvider } from "./components/ui/UiTooltipProvider"; +import { invalidateCapabilityQueries } from "./app/capability-registry"; import { SkillsWorkspaceSessionProvider } from "./features/skills/model/session"; -import { invalidateSkillsQueries } from "./features/skills/api/queries"; -import ManagedSkillsPage from "./features/skills/screens/ManagedSkillsPage"; +import SkillsNeedsReviewPage from "./features/skills/screens/SkillsNeedsReviewPage"; +import SkillsInUsePage from "./features/skills/screens/SkillsInUsePage"; import SkillsWorkspacePage from "./features/skills/screens/SkillsWorkspacePage"; -import UnmanagedSkillsPage from "./features/skills/screens/UnmanagedSkillsPage"; -const MarketplacePage = lazy(() => import("./features/marketplace/screens/MarketplacePage")); +const MarketplaceLayout = lazy(() => import("./features/marketplace/components/MarketplaceLayout")); +const OverviewPage = lazy(() => import("./features/overview/screens/OverviewPage")); const SettingsPage = lazy(() => import("./features/settings/screens/SettingsPage")); +const McpNeedsReviewPage = lazy(() => import("./features/mcp/screens/McpNeedsReviewPage")); +const McpInUsePage = lazy(() => import("./features/mcp/screens/McpInUsePage")); export function App() { const [queryClient] = useState( @@ -29,7 +32,11 @@ export function App() { return ( - + + + + + ); } @@ -41,11 +48,7 @@ function AppContent() { async function handleRefreshData() { setRefreshPending(true); try { - await Promise.all([ - invalidateSkillsQueries(queryClient), - invalidateSettingsQueries(queryClient), - invalidateMarketplaceQueries(queryClient), - ]); + await invalidateCapabilityQueries(queryClient); } finally { setRefreshPending(false); } @@ -53,22 +56,65 @@ function AppContent() { return ( - + - } /> + } /> + + }> + + + } + /> + }> - } /> - } /> - } /> + } /> + } /> + } /> + } /> + } /> + + } /> + }> + + + } + /> + }> + + + } + /> + } /> + } /> + }> - + } - /> + > + } /> + {/* Child routes exist only so /marketplace/skills, /marketplace/mcp, + and /marketplace/clis + are valid URLs and NavLink active matching works. + MarketplaceLayout renders the panes itself — no Outlet. */} + + + + + } /> + + } /> - + ); } diff --git a/frontend/src/__tests__/App.test.tsx b/frontend/src/__tests__/App.test.tsx deleted file mode 100644 index 2ac80f6..0000000 --- a/frontend/src/__tests__/App.test.tsx +++ /dev/null @@ -1,617 +0,0 @@ -import { fireEvent, render, screen, waitFor, within } from "@testing-library/react"; -import { MemoryRouter } from "react-router-dom"; -import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; - -import { App } from "../App"; -import { createMarketplaceItem } from "../features/marketplace/test-fixtures"; - -const fetchMock = vi.fn(); - -function renderApp(initialRoute = "/") { - return render( - - - , - ); -} - -function stubDesktopMatchMedia() { - Object.defineProperty(window, "matchMedia", { - writable: true, - configurable: true, - value: vi.fn().mockImplementation((query: string) => ({ - matches: false, - media: query, - onchange: null, - addEventListener: vi.fn(), - removeEventListener: vi.fn(), - addListener: vi.fn(), - removeListener: vi.fn(), - dispatchEvent: vi.fn(), - })), - }); -} - -function mockSkillsPage(options?: { codexSupportEnabled?: boolean }) { - let sharedAuditState: "managed" | "unmanaged" | "deleted" = "managed"; - let codexSupportEnabled = options?.codexSupportEnabled ?? true; - - fetchMock.mockImplementation(async (input: RequestInfo | URL, init?: RequestInit) => { - const url = typeof input === "string" ? input : input.toString(); - if (url === "/api/skills") { - return { - ok: true, - json: async () => ({ - summary: { - managed: sharedAuditState === "managed" ? 1 : 0, - unmanaged: sharedAuditState === "unmanaged" ? 2 : 1, - custom: 1, - builtIn: 1, - }, - harnessColumns: codexSupportEnabled ? [{ harness: "codex", label: "Codex", logoKey: "codex" }] : [], - rows: [ - ...(sharedAuditState === "managed" ? [{ - skillRef: "shared:shared-audit", - name: "Shared Audit", - description: "Shared audit workflow", - displayStatus: "Managed", - attentionMessage: null, - actions: { canManage: false }, - cells: codexSupportEnabled ? [{ harness: "codex", label: "Codex", logoKey: "codex", state: "disabled", interactive: true }] : [], - }] : []), - ...(sharedAuditState === "unmanaged" ? [{ - skillRef: "unmanaged:shared-audit-restored", - name: "Shared Audit", - description: "Shared audit workflow", - displayStatus: "Unmanaged", - attentionMessage: null, - actions: { canManage: true }, - cells: codexSupportEnabled ? [{ harness: "codex", label: "Codex", logoKey: "codex", state: "found", interactive: false }] : [], - }] : []), - { - skillRef: "shared:audit-skill", - name: "Audit Skill", - description: "Custom audit workflow", - displayStatus: "Custom", - attentionMessage: "Modified locally; source updates are disabled.", - actions: { canManage: false }, - cells: codexSupportEnabled ? [{ harness: "codex", label: "Codex", logoKey: "codex", state: "enabled", interactive: true }] : [], - }, - { - skillRef: "unmanaged:trace-lens", - name: "Trace Lens", - description: "Trace review workflow", - displayStatus: "Unmanaged", - attentionMessage: null, - actions: { canManage: true }, - cells: codexSupportEnabled ? [{ harness: "codex", label: "Codex", logoKey: "codex", state: "found", interactive: false }] : [], - }, - { - skillRef: "builtin:review-helper", - name: "Review Helper", - description: "Bundled with OpenCode", - displayStatus: "Built-in", - attentionMessage: null, - actions: { canManage: false }, - cells: [{ harness: "opencode", label: "OpenCode", state: "builtin", interactive: false }], - }, - ], - }), - }; - } - if (url === "/api/skills/shared%3Ashared-audit/delete") { - sharedAuditState = "deleted"; - return { - ok: true, - json: async () => ({ ok: true }), - }; - } - if (url === "/api/skills/shared%3Ashared-audit/unmanage") { - sharedAuditState = "unmanaged"; - return { - ok: true, - json: async () => ({ ok: true }), - }; - } - if (url === "/api/skills/shared%3Ashared-audit/source-status") { - return { - ok: true, - json: async () => ({ updateStatus: "no_update_available" }), - }; - } - if (url.startsWith("/api/skills/")) { - if (sharedAuditState !== "managed" && url === "/api/skills/shared%3Ashared-audit") { - return { - ok: false, - status: 404, - statusText: "Not Found", - json: async () => ({ error: "unknown skill ref: shared:shared-audit" }), - }; - } - return { - ok: true, - json: async () => ({ - skillRef: "shared:shared-audit", - name: "Shared Audit", - description: "Shared audit workflow", - displayStatus: "Managed", - attentionMessage: null, - actions: { - canManage: false, - stopManagingStatus: "available", - stopManagingHarnessLabels: ["Codex"], - canDelete: true, - deleteHarnessLabels: ["Codex"], - }, - harnessCells: [ - { harness: "codex", label: "Codex", state: "disabled", interactive: true }, - { harness: "claude", label: "Claude", state: "disabled", interactive: true }, - { harness: "cursor", label: "Cursor", state: "disabled", interactive: true }, - { harness: "opencode", label: "OpenCode", state: "disabled", interactive: true }, - { harness: "openclaw", label: "OpenClaw", state: "disabled", interactive: true }, - ], - locations: [ - { - kind: "shared", - harness: null, - label: "Shared Store", - scope: null, - path: "/tmp/shared-audit", - revision: "abc", - sourceKind: "github", - sourceLocator: "github:mode-io/shared-audit", - detail: null, - }, - { - kind: "harness", - harness: "codex", - label: "Codex", - scope: "canonical", - path: "/tmp/home/.agents/skills/shared-audit", - revision: "abc", - sourceKind: "github", - sourceLocator: "github:mode-io/shared-audit", - detail: null, - }, - ], - sourceLinks: { - repoLabel: "mode-io/shared-audit", - repoUrl: "https://github.com/mode-io/shared-audit", - folderUrl: "https://github.com/mode-io/shared-audit/tree/main/shared-audit", - }, - documentMarkdown: "# Shared Audit\n\n## Use when\n\nRun the shared audit workflow.\n", - }), - }; - } - if (url === "/api/marketplace/items/skillssh%3Amode-io%2Fshared-audit%3Ashared-audit/document") { - return { - ok: true, - json: async () => ({ - status: "ready", - documentMarkdown: "# Shared Audit", - }), - }; - } - if (url.startsWith("/api/marketplace/popular")) { - return { - ok: true, - json: async () => ({ - items: [ - createMarketplaceItem({ - id: "skillssh:mode-io/shared-audit:shared-audit", - name: "Shared Audit", - description: "Shared audit workflow", - installs: 44, - stars: 33, - repoLabel: "mode-io/shared-audit", - installToken: "token-shared-audit", - }), - ], - nextOffset: null, - hasMore: false, - }), - }; - } - if (url === "/api/settings") { - return { - ok: true, - json: async () => ({ - harnesses: [ - { - harness: "codex", - label: "Codex", - logoKey: "codex", - supportEnabled: codexSupportEnabled, - installed: true, - managedLocation: "/tmp/home/.agents/skills", - }, - ], - }), - }; - } - if (url === "/api/settings/harnesses/codex/support") { - const body = init?.body && typeof init.body === "string" ? JSON.parse(init.body) : null; - codexSupportEnabled = body?.enabled ?? codexSupportEnabled; - return { - ok: true, - json: async () => ({ ok: true, enabled: codexSupportEnabled }), - }; - } - return { ok: true, json: async () => ({ ok: true }) }; - }); -} - -describe("App routing", () => { - beforeEach(() => { - vi.stubGlobal("fetch", fetchMock); - stubDesktopMatchMedia(); - }); - - afterEach(() => { - vi.unstubAllGlobals(); - fetchMock.mockReset(); - }); - - it("renders Skills page at /", async () => { - mockSkillsPage(); - renderApp("/"); - await waitFor(() => expect(screen.getByLabelText("Managed skills list")).toBeInTheDocument()); - expect(document.querySelector(".app-main")).toHaveClass("app-main--skills"); - expect(screen.getByRole("heading", { name: "Managed skills" })).toBeInTheDocument(); - expect(screen.getByLabelText("Managed skills list")).toBeInTheDocument(); - expect(screen.getByText("Shared Audit")).toBeInTheDocument(); - expect(screen.getByPlaceholderText("Search managed skills by name, description, or state")).toBeInTheDocument(); - expect(screen.getByRole("switch", { name: "Enable Shared Audit for Codex" })).toBeInTheDocument(); - expect(screen.getByText("Audit Skill")).toBeInTheDocument(); - expect(screen.getByRole("heading", { name: "Built-in skills" })).toBeInTheDocument(); - expect(screen.getByText("Review Helper")).toBeInTheDocument(); - expect(screen.queryByRole("combobox")).not.toBeInTheDocument(); - expect(screen.queryByRole("button", { name: "Bring All Eligible Skills Under Management" })).not.toBeInTheDocument(); - }); - - it("renders the unmanaged intake page", async () => { - mockSkillsPage(); - renderApp("/skills/unmanaged"); - await waitFor(() => expect(screen.getByLabelText("Unmanaged skills list")).toBeInTheDocument()); - expect(screen.getByLabelText("Unmanaged skills list")).toBeInTheDocument(); - expect(screen.getByText("Trace Lens")).toBeInTheDocument(); - expect(screen.getByRole("heading", { name: "Unmanaged skills" })).toBeInTheDocument(); - expect(screen.getByRole("link", { name: /Unmanaged/i })).toBeInTheDocument(); - expect(screen.getByRole("button", { name: "Bring All Eligible Skills Under Management" })).toBeInTheDocument(); - expect(screen.getByRole("button", { name: "What happens when you manage all eligible skills" })).toBeInTheDocument(); - expect( - screen.queryByText("Review skills discovered in local tool folders and bring the ones you want into the shared managed store."), - ).not.toBeInTheDocument(); - expect(screen.queryByRole("combobox")).not.toBeInTheDocument(); - expect(screen.queryByRole("switch")).not.toBeInTheDocument(); - }); - - it("shows the bulk-manage help popover on the unmanaged page", async () => { - mockSkillsPage(); - renderApp("/skills/unmanaged"); - - await waitFor(() => expect(screen.getByLabelText("Unmanaged skills list")).toBeInTheDocument()); - - fireEvent.mouseEnter(screen.getByRole("button", { name: "What happens when you manage all eligible skills" })); - - await waitFor(() => expect(screen.getByText("Bulk Manage")).toBeInTheDocument()); - expect( - screen.getByText("Moves local copies into the Shared Store, then replaces tool-folder copies with managed links."), - ).toBeInTheDocument(); - }); - - it("renders Marketplace page at /marketplace", async () => { - mockSkillsPage(); - renderApp("/marketplace"); - await waitFor(() => expect(screen.getByText("Shared Audit")).toBeInTheDocument()); - expect(document.querySelector(".app-main")).not.toHaveClass("app-main--skills"); - expect(screen.getByText("All-time leaderboard")).toBeInTheDocument(); - expect(screen.getByAltText("Avatar for mode-io/shared-audit")).toBeInTheDocument(); - expect(screen.getByRole("link", { name: "mode-io/shared-audit" })).toBeInTheDocument(); - }); - - it("shows the manual refresh spinner inside the header button only", async () => { - const pendingRefresh = deferred<{ - ok: boolean; - json: () => Promise; - }>(); - let skillsRequestCount = 0; - - fetchMock.mockImplementation(async (input: RequestInfo | URL) => { - const url = typeof input === "string" ? input : input.toString(); - if (url === "/api/skills") { - skillsRequestCount += 1; - if (skillsRequestCount === 1) { - return { - ok: true, - json: async () => ({ - summary: { managed: 1, unmanaged: 0, custom: 0, builtIn: 0 }, - harnessColumns: [{ harness: "codex", label: "Codex", logoKey: "codex" }], - rows: [{ - skillRef: "shared:shared-audit", - name: "Shared Audit", - description: "Shared audit workflow", - displayStatus: "Managed", - attentionMessage: null, - actions: { canManage: false }, - cells: [{ harness: "codex", label: "Codex", logoKey: "codex", state: "enabled", interactive: true }], - }], - }), - }; - } - return pendingRefresh.promise; - } - throw new Error(`Unhandled URL ${url}`); - }); - - renderApp("/"); - - await waitFor(() => expect(screen.getByText("Shared Audit")).toBeInTheDocument()); - - const refreshButton = screen.getByRole("button", { name: "Refresh Data" }); - fireEvent.click(refreshButton); - - await waitFor(() => expect(refreshButton).toHaveAttribute("aria-busy", "true")); - expect(refreshButton).toBeDisabled(); - expect(within(refreshButton).getByRole("status", { name: "Refreshing data" })).toBeInTheDocument(); - expect(screen.queryByLabelText("Refreshing skills")).not.toBeInTheDocument(); - - pendingRefresh.resolve({ - ok: true, - json: async () => ({ - summary: { managed: 1, unmanaged: 0, custom: 0, builtIn: 0 }, - harnessColumns: [{ harness: "codex", label: "Codex", logoKey: "codex" }], - rows: [{ - skillRef: "shared:shared-audit", - name: "Shared Audit", - description: "Shared audit workflow", - displayStatus: "Managed", - attentionMessage: null, - actions: { canManage: false }, - cells: [{ harness: "codex", label: "Codex", logoKey: "codex", state: "enabled", interactive: true }], - }], - }), - }); - - await waitFor(() => expect(refreshButton).not.toBeDisabled()); - expect(screen.getByRole("button", { name: "Refresh Data" })).toBeInTheDocument(); - }); - - it("navigates to the Settings page", async () => { - mockSkillsPage(); - renderApp("/"); - fireEvent.click(screen.getByRole("link", { name: "Open settings" })); - await waitFor(() => expect(screen.getByRole("heading", { name: "Harnesses" })).toBeInTheDocument()); - expect(screen.getByRole("heading", { name: "Settings" })).toBeInTheDocument(); - expect(screen.getByRole("heading", { name: "Harnesses" })).toBeInTheDocument(); - expect(screen.getByRole("switch", { name: "Enable Codex support" })).toBeInTheDocument(); - expect(screen.getByText("/tmp/home/.agents/skills")).toBeInTheDocument(); - expect(screen.queryByText("Support toggles are non-destructive.")).not.toBeInTheDocument(); - expect(screen.queryByText("Ready for skill discovery and management on this computer.")).not.toBeInTheDocument(); - expect(screen.queryByRole("heading", { name: "Store Network" })).not.toBeInTheDocument(); - expect(screen.queryByText("filesystem")).not.toBeInTheDocument(); - }); - - it("shows the enabled-state harness support tooltip on toggle focus", async () => { - mockSkillsPage(); - renderApp("/settings"); - - const codexSwitch = await screen.findByRole("switch", { name: "Enable Codex support" }); - fireEvent.focus(codexSwitch); - - expect( - screen.getByText("Turn off to make skill-manager ignore this harness. Your local files stay unchanged."), - ).toBeInTheDocument(); - }); - - it("shows the disabled-state harness support tooltip on toggle focus", async () => { - mockSkillsPage({ codexSupportEnabled: false }); - renderApp("/settings"); - - const codexSwitch = await screen.findByRole("switch", { name: "Enable Codex support" }); - fireEvent.focus(codexSwitch); - - expect( - screen.getByText("Turn on to let skill-manager discover and manage skills for this harness. Nothing is moved or deleted."), - ).toBeInTheDocument(); - }); - - it("clears settings toggle pending state after a successful support update", async () => { - mockSkillsPage(); - renderApp("/settings"); - - const codexSwitch = await screen.findByRole("switch", { name: "Enable Codex support" }); - fireEvent.click(codexSwitch); - - await waitFor(() => expect(codexSwitch).not.toBeDisabled()); - }); - - it("reuses the cached skills workspace and preserves managed search when returning from marketplace", async () => { - mockSkillsPage(); - renderApp("/skills/managed"); - - await waitFor(() => expect(screen.getByLabelText("Search managed skills")).toBeInTheDocument()); - - fireEvent.change(screen.getByLabelText("Search managed skills"), { - target: { value: "Audit" }, - }); - - fireEvent.click(screen.getByRole("link", { name: "Marketplace" })); - await waitFor(() => expect(screen.getByText("All-time leaderboard")).toBeInTheDocument()); - - fireEvent.click(screen.getByRole("link", { name: "Skills" })); - await waitFor(() => expect(screen.getByLabelText("Search managed skills")).toBeInTheDocument()); - - expect(screen.getByDisplayValue("Audit")).toBeInTheDocument(); - expect(screen.queryByText("Loading managed skills")).not.toBeInTheDocument(); - - const skillListRequests = fetchMock.mock.calls.filter(([input]) => { - const url = typeof input === "string" ? input : input.toString(); - return url === "/api/skills"; - }); - expect(skillListRequests).toHaveLength(1); - }); - - it("opens the inline detail panel from the skills URL query param", async () => { - mockSkillsPage(); - const scrollSpy = vi.fn(); - Object.defineProperty(window, "scrollTo", { - writable: true, - configurable: true, - value: scrollSpy, - }); - renderApp("/skills/managed?skill=shared:shared-audit"); - - await waitFor(() => expect(screen.getByLabelText("Skill details panel")).toBeInTheDocument()); - await waitFor(() => - expect( - screen.getByText("Run the shared audit workflow."), - ).toBeInTheDocument(), - ); - const panel = screen.getByLabelText("Skill details panel"); - expect(within(panel).getByRole("button", { name: /SKILL\.md/i })).toHaveAttribute("aria-expanded", "true"); - expect(within(panel).getByText("Source")).toBeInTheDocument(); - expect(within(panel).getByRole("link", { name: /mode-io\/shared-audit/i })).toHaveAttribute("href", "https://github.com/mode-io/shared-audit"); - expect(within(panel).getByRole("link", { name: /Open skill folder/i })).toHaveAttribute("href", "https://github.com/mode-io/shared-audit/tree/main/shared-audit"); - expect(within(panel).getByText("No Update Available")).toBeInTheDocument(); - expect(within(panel).getByText("Harness access")).toBeInTheDocument(); - expect(within(panel).getByRole("switch", { name: "Enable Shared Audit for Codex" })).toBeInTheDocument(); - expect(within(panel).getByRole("switch", { name: "Enable Shared Audit for Claude" })).toBeInTheDocument(); - expect(within(panel).getByRole("switch", { name: "Enable Shared Audit for Cursor" })).toBeInTheDocument(); - expect(within(panel).getByRole("switch", { name: "Enable Shared Audit for OpenCode" })).toBeInTheDocument(); - expect(within(panel).getByRole("switch", { name: "Enable Shared Audit for OpenClaw" })).toBeInTheDocument(); - expect(within(panel).getByRole("button", { name: "Stop Managing" })).toBeInTheDocument(); - expect(within(panel).getByRole("button", { name: "Delete Skill" })).toBeInTheDocument(); - expect(within(panel).queryByRole("button", { name: /Advanced details/i })).not.toBeInTheDocument(); - expect(within(panel).queryByText("Overview")).not.toBeInTheDocument(); - expect(within(panel).getByText("Shared Store is the canonical physical package. Tool locations are symlinks to it when enabled.")).toBeInTheDocument(); - expect(within(panel).getByText("Canonical physical package")).toBeInTheDocument(); - expect(within(panel).getByText("Symlink to Shared Store")).toBeInTheDocument(); - expect(screen.queryByLabelText("Skill details drawer")).not.toBeInTheDocument(); - expect(scrollSpy).not.toHaveBeenCalled(); - }); - - it("routes detail-panel harness toggles through the enable mutation endpoint", async () => { - mockSkillsPage(); - renderApp("/skills/managed?skill=shared:shared-audit"); - - const panel = await screen.findByLabelText("Skill details panel"); - await waitFor(() => expect(within(panel).getByText("Harness access")).toBeInTheDocument()); - const toggle = within(panel).getByRole("switch", { name: "Enable Shared Audit for Codex" }); - - fireEvent.click(toggle); - - await waitFor(() => - expect( - fetchMock.mock.calls.some(([input, init]) => { - const url = typeof input === "string" ? input : input.toString(); - return url === "/api/skills/shared%3Ashared-audit/enable" && init?.method === "POST"; - }), - ).toBe(true), - ); - }); - - it("confirms destructive delete from the detail panel and removes the skill", async () => { - mockSkillsPage(); - renderApp("/skills/managed?skill=shared:shared-audit"); - - const panel = await screen.findByLabelText("Skill details panel"); - const deleteButton = await within(panel).findByRole("button", { name: "Delete Skill" }); - fireEvent.click(deleteButton); - - const dialog = await screen.findByRole("dialog", { name: "Delete managed skill?" }); - expect(within(dialog).getByText("Affected harnesses: Codex")).toBeInTheDocument(); - expect(within(dialog).getByRole("button", { name: "Still Delete" })).toBeInTheDocument(); - - fireEvent.click(within(dialog).getByRole("button", { name: "Still Delete" })); - - await waitFor(() => - expect( - fetchMock.mock.calls.some(([input, init]) => { - const url = typeof input === "string" ? input : input.toString(); - return url === "/api/skills/shared%3Ashared-audit/delete" && init?.method === "POST"; - }), - ).toBe(true), - ); - - await waitFor(() => - expect(screen.getByLabelText("Skill details panel")).toHaveAttribute("aria-hidden", "true"), - ); - expect(within(screen.getByLabelText("Managed skills list")).queryByText("Shared Audit")).not.toBeInTheDocument(); - }); - - it("shows stop-managing help and moves the skill back to unmanaged", async () => { - mockSkillsPage(); - renderApp("/skills/managed?skill=shared:shared-audit"); - - const panel = await screen.findByLabelText("Skill details panel"); - const stopManagingButton = await within(panel).findByRole("button", { name: "Stop Managing" }); - - fireEvent.mouseEnter(stopManagingButton); - - await waitFor(() => expect(screen.getByText("Moves this skill out of the shared managed store and restores local copies only for the harnesses that are currently enabled.")).toBeInTheDocument()); - - fireEvent.click(stopManagingButton); - - const dialog = await screen.findByRole("dialog", { name: "Move skill back to unmanaged?" }); - expect(within(dialog).getByText("Will restore to: Codex")).toBeInTheDocument(); - expect(within(dialog).getByRole("button", { name: "Stop Managing" })).toBeInTheDocument(); - - fireEvent.click(within(dialog).getByRole("button", { name: "Stop Managing" })); - - await waitFor(() => - expect( - fetchMock.mock.calls.some(([input, init]) => { - const url = typeof input === "string" ? input : input.toString(); - return url === "/api/skills/shared%3Ashared-audit/unmanage" && init?.method === "POST"; - }), - ).toBe(true), - ); - - await waitFor(() => - expect(screen.getByLabelText("Skill details panel")).toHaveAttribute("aria-hidden", "true"), - ); - }); - - it("does not auto-scroll the window on desktop user selection", async () => { - mockSkillsPage(); - const scrollSpy = vi.fn(); - Object.defineProperty(window, "scrollTo", { - writable: true, - configurable: true, - value: scrollSpy, - }); - - renderApp("/skills/managed"); - await waitFor(() => expect(screen.getByLabelText("Managed skills list")).toBeInTheDocument()); - - fireEvent.click(screen.getByText("Shared audit workflow")); - await waitFor(() => expect(screen.getByLabelText("Skill details panel")).toBeInTheDocument()); - expect(scrollSpy).not.toHaveBeenCalled(); - }); - - it("closes the inline detail panel when the selected card is clicked again", async () => { - mockSkillsPage(); - renderApp("/skills/managed"); - - await waitFor(() => expect(screen.getByLabelText("Managed skills list")).toBeInTheDocument()); - - fireEvent.click(screen.getByText("Shared audit workflow")); - await waitFor(() => - expect(screen.getByLabelText("Skill details panel")).toHaveAttribute("aria-hidden", "false"), - ); - - fireEvent.click(screen.getByText("Shared audit workflow")); - await waitFor(() => - expect(screen.getByLabelText("Skill details panel")).toHaveAttribute("aria-hidden", "true"), - ); - }); -}); - -function deferred() { - let resolve!: (value: T) => void; - const promise = new Promise((resolvePromise) => { - resolve = resolvePromise; - }); - return { promise, resolve }; -} diff --git a/frontend/src/api/generated.ts b/frontend/src/api/generated.ts index 2f6afea..2b79b68 100644 --- a/frontend/src/api/generated.ts +++ b/frontend/src/api/generated.ts @@ -21,6 +21,57 @@ export interface paths { patch?: never; trace?: never; }; + "/api/marketplace/clis/items/{slug}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Cli Marketplace Detail */ + get: operations["get_cli_marketplace_detail_api_marketplace_clis_items__slug__get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/marketplace/clis/popular": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Popular Cli Marketplace */ + get: operations["popular_cli_marketplace_api_marketplace_clis_popular_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/marketplace/clis/search": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Search Cli Marketplace */ + get: operations["search_cli_marketplace_api_marketplace_clis_search_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/api/marketplace/install": { parameters: { query?: never; @@ -72,6 +123,74 @@ export interface paths { patch?: never; trace?: never; }; + "/api/marketplace/mcp/install-targets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Mcp Install Targets */ + get: operations["get_mcp_install_targets_api_marketplace_mcp_install_targets_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/marketplace/mcp/items/{qualified_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Mcp Marketplace Detail */ + get: operations["get_mcp_marketplace_detail_api_marketplace_mcp_items__qualified_name__get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/marketplace/mcp/popular": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Popular Mcp Marketplace */ + get: operations["popular_mcp_marketplace_api_marketplace_mcp_popular_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/marketplace/mcp/search": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Search Mcp Marketplace */ + get: operations["search_mcp_marketplace_api_marketplace_mcp_search_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/api/marketplace/popular": { parameters: { query?: never; @@ -106,6 +225,144 @@ export interface paths { patch?: never; trace?: never; }; + "/api/mcp/servers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List Mcp Servers */ + get: operations["list_mcp_servers_api_mcp_servers_get"]; + put?: never; + /** Install Mcp Server */ + post: operations["install_mcp_server_api_mcp_servers_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/mcp/servers/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Mcp Server */ + get: operations["get_mcp_server_api_mcp_servers__name__get"]; + put?: never; + post?: never; + /** Uninstall Mcp Server */ + delete: operations["uninstall_mcp_server_api_mcp_servers__name__delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/mcp/servers/{name}/disable": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Disable Mcp Server */ + post: operations["disable_mcp_server_api_mcp_servers__name__disable_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/mcp/servers/{name}/enable": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Enable Mcp Server */ + post: operations["enable_mcp_server_api_mcp_servers__name__enable_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/mcp/servers/{name}/reconcile": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Reconcile Mcp Server */ + post: operations["reconcile_mcp_server_api_mcp_servers__name__reconcile_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/mcp/servers/{name}/set-harnesses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Set Mcp Server Harnesses */ + post: operations["set_mcp_server_harnesses_api_mcp_servers__name__set_harnesses_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/mcp/unmanaged/adopt": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Adopt Mcp Server */ + post: operations["adopt_mcp_server_api_mcp_unmanaged_adopt_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/mcp/unmanaged/by-server": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List Unmanaged By Server */ + get: operations["list_unmanaged_by_server_api_mcp_unmanaged_by_server_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/api/settings": { parameters: { query?: never; @@ -259,6 +516,23 @@ export interface paths { patch?: never; trace?: never; }; + "/api/skills/{skill_ref}/set-harnesses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Set Skill Harnesses */ + post: operations["set_skill_harnesses_api_skills__skill_ref__set_harnesses_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/api/skills/{skill_ref}/source-status": { parameters: { query?: never; @@ -283,95 +557,1386 @@ export interface paths { path?: never; cookie?: never; }; - get?: never; - put?: never; - /** Unmanage Skill */ - post: operations["unmanage_skill_api_skills__skill_ref__unmanage_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; + get?: never; + put?: never; + /** Unmanage Skill */ + post: operations["unmanage_skill_api_skills__skill_ref__unmanage_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/skills/{skill_ref}/update": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Update Skill */ + post: operations["update_skill_api_skills__skill_ref__update_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; +} +export type webhooks = Record; +export interface components { + schemas: { + /** AddMcpServerRequest */ + AddMcpServerRequest: { + /** Qualifiedname */ + qualifiedName: string; + /** Sourceharness */ + sourceHarness: string; + }; + /** AdoptMcpRequest */ + AdoptMcpRequest: { + /** Harnesses */ + harnesses?: string[] | null; + /** Name */ + name: string; + /** Sourceharness */ + sourceHarness?: string | null; + }; + /** BulkManageFailureResponse */ + BulkManageFailureResponse: { + /** Error */ + error: string; + /** Name */ + name: string; + /** Skillref */ + skillRef: string; + }; + /** BulkManageResultResponse */ + BulkManageResultResponse: { + /** Failures */ + failures: components["schemas"]["BulkManageFailureResponse"][]; + /** Managedcount */ + managedCount: number; + /** Ok */ + ok: boolean; + /** Skippedcount */ + skippedCount: number; + }; + /** CliMarketplaceDetailResponse */ + CliMarketplaceDetailResponse: { + /** Category */ + category?: string | null; + /** Description */ + description: string; + /** Githuburl */ + githubUrl?: string | null; + /** Hasmcp */ + hasMcp: boolean; + /** Hasskill */ + hasSkill: boolean; + /** Iconurl */ + iconUrl?: string | null; + /** Id */ + id: string; + /** Installcommand */ + installCommand?: string | null; + /** Isofficial */ + isOfficial: boolean; + /** Istui */ + isTui: boolean; + /** Language */ + language?: string | null; + /** Longdescription */ + longDescription?: string | null; + /** Marketplaceurl */ + marketplaceUrl: string; + /** Name */ + name: string; + /** Slug */ + slug: string; + /** Sourcetype */ + sourceType?: string | null; + /** Stars */ + stars?: number | null; + /** Vendorname */ + vendorName?: string | null; + /** Websiteurl */ + websiteUrl?: string | null; + }; + /** CliMarketplaceItemResponse */ + CliMarketplaceItemResponse: { + /** Category */ + category?: string | null; + /** Description */ + description: string; + /** Githuburl */ + githubUrl?: string | null; + /** Hasmcp */ + hasMcp: boolean; + /** Hasskill */ + hasSkill: boolean; + /** Iconurl */ + iconUrl?: string | null; + /** Id */ + id: string; + /** Isofficial */ + isOfficial: boolean; + /** Istui */ + isTui: boolean; + /** Language */ + language?: string | null; + /** Marketplaceurl */ + marketplaceUrl: string; + /** Name */ + name: string; + /** Slug */ + slug: string; + /** Sourcetype */ + sourceType?: string | null; + /** Stars */ + stars?: number | null; + /** Vendorname */ + vendorName?: string | null; + /** Websiteurl */ + websiteUrl?: string | null; + }; + /** CliMarketplacePageResponse */ + CliMarketplacePageResponse: { + /** Hasmore */ + hasMore: boolean; + /** Items */ + items: components["schemas"]["CliMarketplaceItemResponse"][]; + /** Nextoffset */ + nextOffset?: number | null; + }; + /** DisableMcpServerRequest */ + DisableMcpServerRequest: { + /** + * Harness + * @description Harness identifier + */ + harness: string; + }; + /** DisableSkillRequest */ + DisableSkillRequest: { + /** + * Harness + * @description Harness identifier + */ + harness: string; + }; + /** EnableMcpServerRequest */ + EnableMcpServerRequest: { + /** + * Harness + * @description Harness identifier + */ + harness: string; + }; + /** EnableSkillRequest */ + EnableSkillRequest: { + /** + * Harness + * @description Harness identifier + */ + harness: string; + }; + /** HTTPValidationError */ + HTTPValidationError: { + /** Detail */ + detail?: components["schemas"]["ValidationError"][]; + }; + /** HarnessCellResponse */ + HarnessCellResponse: { + /** Harness */ + harness: string; + /** Interactive */ + interactive: boolean; + /** Label */ + label: string; + /** Logokey */ + logoKey?: string | null; + /** + * State + * @enum {string} + */ + state: "enabled" | "disabled" | "found" | "empty"; + }; + /** HarnessColumnResponse */ + HarnessColumnResponse: { + /** Harness */ + harness: string; + /** Installed */ + installed: boolean; + /** Label */ + label: string; + /** Logokey */ + logoKey?: string | null; + }; + /** InstallMarketplaceSkillRequest */ + InstallMarketplaceSkillRequest: { + /** Installtoken */ + installToken: string; + }; + /** McpAdoptionIssueResponse */ + McpAdoptionIssueResponse: { + /** Configpath */ + configPath?: string | null; + /** Harness */ + harness: string; + /** Label */ + label: string; + /** Logokey */ + logoKey?: string | null; + /** Name */ + name: string; + /** Payloadpreview */ + payloadPreview?: { + [key: string]: unknown; + } | null; + /** Reason */ + reason: string; + }; + /** McpApplyConfigResponse */ + McpApplyConfigResponse: { + /** Failed */ + failed: components["schemas"]["McpMutationFailureResponse"][]; + /** Ok */ + ok: boolean; + server: components["schemas"]["McpServerSpecResponse"]; + /** Succeeded */ + succeeded: string[]; + }; + /** McpBindingResponse */ + McpBindingResponse: { + /** Driftdetail */ + driftDetail?: string | null; + /** Harness */ + harness: string; + /** + * State + * @enum {string} + */ + state: "managed" | "drifted" | "unmanaged" | "missing"; + }; + /** McpConfigChoiceResponse */ + McpConfigChoiceResponse: { + /** Configpath */ + configPath?: string | null; + /** Env */ + env?: components["schemas"]["McpEnvEntryResponse"][]; + /** Label */ + label: string; + /** Logokey */ + logoKey?: string | null; + /** Payloadpreview */ + payloadPreview: { + [key: string]: unknown; + }; + /** Sourceharness */ + sourceHarness?: string | null; + /** + * Sourcekind + * @enum {string} + */ + sourceKind: "managed" | "harness"; + spec: components["schemas"]["McpServerSpecResponse"]; + }; + /** McpEnvEntryResponse */ + McpEnvEntryResponse: { + /** Isenvref */ + isEnvRef: boolean; + /** Key */ + key: string; + /** Value */ + value?: string | null; + }; + /** McpIdentityGroupResponse */ + McpIdentityGroupResponse: { + canonicalSpec?: components["schemas"]["McpServerSpecResponse"] | null; + /** Identical */ + identical: boolean; + marketplaceLink?: components["schemas"]["McpMarketplaceLinkResponse"] | null; + /** Name */ + name: string; + /** Sightings */ + sightings: components["schemas"]["McpIdentitySightingResponse"][]; + }; + /** McpIdentitySightingResponse */ + McpIdentitySightingResponse: { + /** Configpath */ + configPath?: string | null; + /** Env */ + env?: components["schemas"]["McpEnvEntryResponse"][]; + /** Harness */ + harness: string; + /** Label */ + label: string; + /** Logokey */ + logoKey?: string | null; + /** Payloadpreview */ + payloadPreview: { + [key: string]: unknown; + }; + spec: components["schemas"]["McpServerSpecResponse"]; + }; + /** McpInstallTargetResponse */ + McpInstallTargetResponse: { + /** Harness */ + harness: string; + /** Label */ + label: string; + /** Logokey */ + logoKey?: string | null; + /** Reason */ + reason?: string | null; + /** Smitheryclient */ + smitheryClient?: string | null; + /** Supported */ + supported: boolean; + }; + /** McpInstallTargetsResponse */ + McpInstallTargetsResponse: { + /** Targets */ + targets: components["schemas"]["McpInstallTargetResponse"][]; + }; + /** McpInventoryColumnResponse */ + McpInventoryColumnResponse: { + /** Configpresent */ + configPresent: boolean; + /** Harness */ + harness: string; + /** Installed */ + installed: boolean; + /** Label */ + label: string; + /** Logokey */ + logoKey?: string | null; + /** Mcpunavailablereason */ + mcpUnavailableReason?: string | null; + /** + * Mcpwritable + * @default true + */ + mcpWritable: boolean; + }; + /** McpInventoryEntryResponse */ + McpInventoryEntryResponse: { + /** Canenable */ + canEnable: boolean; + /** Displayname */ + displayName: string; + /** + * Kind + * @enum {string} + */ + kind: "managed" | "unmanaged"; + /** Name */ + name: string; + /** Sightings */ + sightings: components["schemas"]["McpBindingResponse"][]; + spec?: components["schemas"]["McpServerSpecResponse"] | null; + }; + /** McpInventoryIssueResponse */ + McpInventoryIssueResponse: { + /** Name */ + name: string; + /** Reason */ + reason: string; + }; + /** McpInventoryResponse */ + McpInventoryResponse: { + /** Columns */ + columns: components["schemas"]["McpInventoryColumnResponse"][]; + /** Entries */ + entries: components["schemas"]["McpInventoryEntryResponse"][]; + /** Issues */ + issues?: components["schemas"]["McpInventoryIssueResponse"][]; + }; + /** McpMarketplaceCapabilityCountsResponse */ + McpMarketplaceCapabilityCountsResponse: { + /** Prompts */ + prompts: number; + /** Resources */ + resources: number; + /** Tools */ + tools: number; + }; + /** McpMarketplaceConnectionResponse */ + McpMarketplaceConnectionResponse: { + /** Bundleurl */ + bundleUrl?: string | null; + /** Configschema */ + configSchema?: { + [key: string]: unknown; + } | null; + /** Deploymenturl */ + deploymentUrl?: string | null; + /** Kind */ + kind: string; + /** Runtime */ + runtime?: string | null; + /** Stdioargs */ + stdioArgs?: string[] | null; + /** Stdiocommand */ + stdioCommand?: string | null; + /** Stdiofunction */ + stdioFunction?: string | null; + }; + /** McpMarketplaceDetailResponse */ + McpMarketplaceDetailResponse: { + capabilityCounts: components["schemas"]["McpMarketplaceCapabilityCountsResponse"]; + /** Connections */ + connections: components["schemas"]["McpMarketplaceConnectionResponse"][]; + /** Deploymenturl */ + deploymentUrl?: string | null; + /** Description */ + description: string; + /** Displayname */ + displayName: string; + /** Externalurl */ + externalUrl: string; + /** Iconurl */ + iconUrl?: string | null; + /** Isremote */ + isRemote: boolean; + /** Managedname */ + managedName: string; + /** Prompts */ + prompts: components["schemas"]["McpMarketplacePromptResponse"][]; + /** Qualifiedname */ + qualifiedName: string; + /** Resources */ + resources: components["schemas"]["McpMarketplaceResourceResponse"][]; + /** Tools */ + tools: components["schemas"]["McpMarketplaceToolResponse"][]; + }; + /** McpMarketplaceItemResponse */ + McpMarketplaceItemResponse: { + /** Createdat */ + createdAt?: string | null; + /** Description */ + description: string; + /** Displayname */ + displayName: string; + /** Externalurl */ + externalUrl: string; + /** Homepage */ + homepage?: string | null; + /** Iconurl */ + iconUrl?: string | null; + /** Isdeployed */ + isDeployed: boolean; + /** Isremote */ + isRemote: boolean; + /** Isverified */ + isVerified: boolean; + /** Namespace */ + namespace: string; + /** Qualifiedname */ + qualifiedName: string; + /** Usecount */ + useCount: number; + }; + /** McpMarketplaceLinkResponse */ + McpMarketplaceLinkResponse: { + /** Description */ + description: string; + /** Displayname */ + displayName: string; + /** Externalurl */ + externalUrl: string; + /** Iconurl */ + iconUrl?: string | null; + /** Isremote */ + isRemote: boolean; + /** Isverified */ + isVerified: boolean; + /** Qualifiedname */ + qualifiedName: string; + }; + /** McpMarketplacePageResponse */ + McpMarketplacePageResponse: { + /** Hasmore */ + hasMore: boolean; + /** Items */ + items: components["schemas"]["McpMarketplaceItemResponse"][]; + /** Nextoffset */ + nextOffset?: number | null; + }; + /** McpMarketplaceParameterResponse */ + McpMarketplaceParameterResponse: { + /** Default */ + default?: unknown | null; + /** Description */ + description: string; + /** Enum */ + enum?: unknown[] | null; + /** Maxitems */ + maxItems?: number | null; + /** Maxlength */ + maxLength?: number | null; + /** Maximum */ + maximum?: number | null; + /** Minitems */ + minItems?: number | null; + /** Minlength */ + minLength?: number | null; + /** Minimum */ + minimum?: number | null; + /** Name */ + name: string; + /** Required */ + required: boolean; + /** Type */ + type: string; + }; + /** McpMarketplacePromptArgumentResponse */ + McpMarketplacePromptArgumentResponse: { + /** Description */ + description: string; + /** Name */ + name: string; + /** Required */ + required: boolean; + }; + /** McpMarketplacePromptResponse */ + McpMarketplacePromptResponse: { + /** Arguments */ + arguments: components["schemas"]["McpMarketplacePromptArgumentResponse"][]; + /** Description */ + description: string; + /** Name */ + name: string; + }; + /** McpMarketplaceResourceResponse */ + McpMarketplaceResourceResponse: { + /** Description */ + description: string; + /** Mimetype */ + mimeType?: string | null; + /** Name */ + name: string; + /** Uri */ + uri: string; + }; + /** McpMarketplaceToolResponse */ + McpMarketplaceToolResponse: { + /** Description */ + description: string; + /** Name */ + name: string; + /** Parameters */ + parameters: components["schemas"]["McpMarketplaceParameterResponse"][]; + }; + /** McpMutationFailureResponse */ + McpMutationFailureResponse: { + /** Error */ + error: string; + /** Harness */ + harness: string; + }; + /** McpServerDetailResponse */ + McpServerDetailResponse: { + /** Canenable */ + canEnable: boolean; + /** Configchoices */ + configChoices?: components["schemas"]["McpConfigChoiceResponse"][]; + /** Displayname */ + displayName: string; + /** Env */ + env?: components["schemas"]["McpEnvEntryResponse"][]; + /** + * Kind + * @enum {string} + */ + kind: "managed" | "unmanaged"; + marketplaceLink?: components["schemas"]["McpMarketplaceLinkResponse"] | null; + /** Name */ + name: string; + /** Sightings */ + sightings: components["schemas"]["McpBindingResponse"][]; + spec?: components["schemas"]["McpServerSpecResponse"] | null; + }; + /** McpServerMutationResponse */ + McpServerMutationResponse: { + /** Ok */ + ok: boolean; + server: components["schemas"]["McpServerSpecResponse"]; + }; + /** McpServerSpecResponse */ + McpServerSpecResponse: { + /** Args */ + args?: string[] | null; + /** Command */ + command?: string | null; + /** Displayname */ + displayName: string; + /** Env */ + env?: { + [key: string]: string; + } | null; + /** Headers */ + headers?: { + [key: string]: string; + } | null; + /** Installedat */ + installedAt: string; + /** Name */ + name: string; + /** Revision */ + revision: string; + source: components["schemas"]["McpSourceResponse"]; + /** + * Transport + * @enum {string} + */ + transport: "stdio" | "http" | "sse"; + /** Url */ + url?: string | null; + }; + /** McpSetHarnessesResultResponse */ + McpSetHarnessesResultResponse: { + /** Failed */ + failed: components["schemas"]["McpMutationFailureResponse"][]; + /** Ok */ + ok: boolean; + /** Succeeded */ + succeeded: string[]; + }; + /** McpSourceResponse */ + McpSourceResponse: { + /** + * Kind + * @enum {string} + */ + kind: "marketplace" | "adopted" | "manual"; + /** Locator */ + locator: string; + }; + /** McpUnmanagedByServerResponse */ + McpUnmanagedByServerResponse: { + /** Harnesses */ + harnesses: components["schemas"]["McpUnmanagedHarnessResponse"][]; + /** Issues */ + issues?: components["schemas"]["McpAdoptionIssueResponse"][]; + /** Servers */ + servers: components["schemas"]["McpIdentityGroupResponse"][]; + }; + /** McpUnmanagedHarnessResponse */ + McpUnmanagedHarnessResponse: { + /** Configpath */ + configPath?: string | null; + /** Configpresent */ + configPresent: boolean; + /** Harness */ + harness: string; + /** Installed */ + installed: boolean; + /** Label */ + label: string; + /** Logokey */ + logoKey?: string | null; + /** Mcpunavailablereason */ + mcpUnavailableReason?: string | null; + /** + * Mcpwritable + * @default true + */ + mcpWritable: boolean; + }; + /** OkResponse */ + OkResponse: { + /** Ok */ + ok: boolean; + }; + /** ReconcileMcpServerRequest */ + ReconcileMcpServerRequest: { + /** Harnesses */ + harnesses?: string[] | null; + /** Sourceharness */ + sourceHarness?: string | null; + /** + * Sourcekind + * @enum {string} + */ + sourceKind: "managed" | "harness"; + }; + /** SetHarnessSupportRequest */ + SetHarnessSupportRequest: { + /** Enabled */ + enabled: boolean; + }; + /** SetMcpServerHarnessesRequest */ + SetMcpServerHarnessesRequest: { + /** + * Target + * @enum {string} + */ + target: "enabled" | "disabled"; + }; + /** SetSkillHarnessesFailureResponse */ + SetSkillHarnessesFailureResponse: { + /** Error */ + error: string; + /** Harness */ + harness: string; + }; + /** SetSkillHarnessesRequest */ + SetSkillHarnessesRequest: { + /** + * Target + * @description Target state to apply to every interactive harness cell on this skill + * @enum {string} + */ + target: "enabled" | "disabled"; + }; + /** SetSkillHarnessesResultResponse */ + SetSkillHarnessesResultResponse: { + /** Failed */ + failed: components["schemas"]["SetSkillHarnessesFailureResponse"][]; + /** Ok */ + ok: boolean; + /** Succeeded */ + succeeded: string[]; + }; + /** SkillDetailActionsResponse */ + SkillDetailActionsResponse: { + /** Candelete */ + canDelete: boolean; + /** Canmanage */ + canManage: boolean; + /** Deleteharnesslabels */ + deleteHarnessLabels: string[]; + /** Stopmanagingharnesslabels */ + stopManagingHarnessLabels: string[]; + /** Stopmanagingstatus */ + stopManagingStatus: ("available" | "disabled_no_enabled") | null; + }; + /** SkillDetailResponse */ + SkillDetailResponse: { + actions: components["schemas"]["SkillDetailActionsResponse"]; + /** Attentionmessage */ + attentionMessage: string | null; + /** Description */ + description: string; + /** + * Displaystatus + * @enum {string} + */ + displayStatus: "Managed" | "Unmanaged"; + /** Documentmarkdown */ + documentMarkdown: string | null; + /** Harnesscells */ + harnessCells: components["schemas"]["HarnessCellResponse"][]; + /** Locations */ + locations: components["schemas"]["SkillLocationResponse"][]; + /** Name */ + name: string; + /** Skillref */ + skillRef: string; + sourceLinks: components["schemas"]["SkillSourceLinksResponse"] | null; + }; + /** SkillLocationResponse */ + SkillLocationResponse: { + /** Detail */ + detail: string | null; + /** Harness */ + harness: string | null; + /** + * Kind + * @enum {string} + */ + kind: "shared" | "harness"; + /** Label */ + label: string; + /** Path */ + path: string | null; + /** Revision */ + revision: string | null; + /** Scope */ + scope: string | null; + /** Sourcekind */ + sourceKind: string; + /** Sourcelocator */ + sourceLocator: string; + }; + /** SkillRowActionsResponse */ + SkillRowActionsResponse: { + /** Candelete */ + canDelete: boolean; + /** Canmanage */ + canManage: boolean; + /** Canstopmanaging */ + canStopManaging: boolean; + }; + /** SkillSourceLinksResponse */ + SkillSourceLinksResponse: { + /** Folderurl */ + folderUrl: string | null; + /** Repolabel */ + repoLabel: string; + /** Repourl */ + repoUrl: string; + }; + /** SkillSourceStatusResponse */ + SkillSourceStatusResponse: { + /** Updatestatus */ + updateStatus: ("update_available" | "no_update_available" | "no_source_available" | "local_changes_detected") | null; + }; + /** SkillTableRowResponse */ + SkillTableRowResponse: { + actions: components["schemas"]["SkillRowActionsResponse"]; + /** Cells */ + cells: components["schemas"]["HarnessCellResponse"][]; + /** Description */ + description: string; + /** + * Displaystatus + * @enum {string} + */ + displayStatus: "Managed" | "Unmanaged"; + /** Name */ + name: string; + /** Skillref */ + skillRef: string; + }; + /** SkillsPageResponse */ + SkillsPageResponse: { + /** Harnesscolumns */ + harnessColumns: components["schemas"]["HarnessColumnResponse"][]; + /** Rows */ + rows: components["schemas"]["SkillTableRowResponse"][]; + summary: components["schemas"]["SkillsSummaryResponse"]; + }; + /** SkillsSummaryResponse */ + SkillsSummaryResponse: { + /** Managed */ + managed: number; + /** Unmanaged */ + unmanaged: number; + }; + /** ValidationError */ + ValidationError: { + /** Context */ + ctx?: Record; + /** Input */ + input?: unknown; + /** Location */ + loc: (string | number)[]; + /** Message */ + msg: string; + /** Error Type */ + type: string; + }; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export interface operations { + health_api_health_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + [key: string]: unknown; + }; + }; + }; + }; + }; + get_cli_marketplace_detail_api_marketplace_clis_items__slug__get: { + parameters: { + query?: never; + header?: never; + path: { + slug: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CliMarketplaceDetailResponse"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + popular_cli_marketplace_api_marketplace_clis_popular_get: { + parameters: { + query?: { + limit?: number | null; + offset?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CliMarketplacePageResponse"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + search_cli_marketplace_api_marketplace_clis_search_get: { + parameters: { + query?: { + q?: string; + limit?: number | null; + offset?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CliMarketplacePageResponse"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + install_marketplace_skill_api_marketplace_install_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["InstallMarketplaceSkillRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + [key: string]: boolean; + }; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + get_marketplace_detail_api_marketplace_items__item_id__get: { + parameters: { + query?: never; + header?: never; + path: { + item_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + [key: string]: unknown; + }; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + get_marketplace_document_api_marketplace_items__item_id__document_get: { + parameters: { + query?: never; + header?: never; + path: { + item_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + [key: string]: unknown; + }; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + get_mcp_install_targets_api_marketplace_mcp_install_targets_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["McpInstallTargetsResponse"]; + }; + }; + }; + }; + get_mcp_marketplace_detail_api_marketplace_mcp_items__qualified_name__get: { + parameters: { + query?: never; + header?: never; + path: { + qualified_name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["McpMarketplaceDetailResponse"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + popular_mcp_marketplace_api_marketplace_mcp_popular_get: { + parameters: { + query?: { + limit?: number | null; + offset?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["McpMarketplacePageResponse"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + search_mcp_marketplace_api_marketplace_mcp_search_get: { + parameters: { + query?: { + q?: string; + limit?: number | null; + offset?: number; + remote?: boolean | null; + verified?: boolean | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["McpMarketplacePageResponse"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + popular_marketplace_api_marketplace_popular_get: { + parameters: { + query?: { + limit?: number | null; + offset?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + [key: string]: unknown; + }; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + search_marketplace_api_marketplace_search_get: { + parameters: { + query: { + q: string; + limit?: number | null; + offset?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + [key: string]: unknown; + }; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + list_mcp_servers_api_mcp_servers_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["McpInventoryResponse"]; + }; + }; + }; + }; + install_mcp_server_api_mcp_servers_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["AddMcpServerRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["McpServerMutationResponse"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; }; - "/api/skills/{skill_ref}/update": { + get_mcp_server_api_mcp_servers__name__get: { parameters: { query?: never; header?: never; - path?: never; + path: { + name: string; + }; cookie?: never; }; - get?: never; - put?: never; - /** Update Skill */ - post: operations["update_skill_api_skills__skill_ref__update_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; -} -export type webhooks = Record; -export interface components { - schemas: { - /** DisableSkillRequest */ - DisableSkillRequest: { - /** - * Harness - * @description Harness identifier - */ - harness: string; - }; - /** EnableSkillRequest */ - EnableSkillRequest: { - /** - * Harness - * @description Harness identifier - */ - harness: string; - }; - /** HTTPValidationError */ - HTTPValidationError: { - /** Detail */ - detail?: components["schemas"]["ValidationError"][]; - }; - /** InstallMarketplaceSkillRequest */ - InstallMarketplaceSkillRequest: { - /** Installtoken */ - installToken: string; - }; - /** SetHarnessSupportRequest */ - SetHarnessSupportRequest: { - /** Enabled */ - enabled: boolean; - }; - /** ValidationError */ - ValidationError: { - /** Context */ - ctx?: Record; - /** Input */ - input?: unknown; - /** Location */ - loc: (string | number)[]; - /** Message */ - msg: string; - /** Error Type */ - type: string; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["McpServerDetailResponse"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; }; }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; -} -export type $defs = Record; -export interface operations { - health_api_health_get: { + uninstall_mcp_server_api_mcp_servers__name__delete: { parameters: { query?: never; header?: never; - path?: never; + path: { + name: string; + }; cookie?: never; }; requestBody?: never; @@ -382,23 +1947,32 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": { - [key: string]: unknown; - }; + "application/json": components["schemas"]["McpSetHarnessesResultResponse"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; - install_marketplace_skill_api_marketplace_install_post: { + disable_mcp_server_api_mcp_servers__name__disable_post: { parameters: { query?: never; header?: never; - path?: never; + path: { + name: string; + }; cookie?: never; }; requestBody: { content: { - "application/json": components["schemas"]["InstallMarketplaceSkillRequest"]; + "application/json": components["schemas"]["DisableMcpServerRequest"]; }; }; responses: { @@ -408,9 +1982,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": { - [key: string]: boolean; - }; + "application/json": components["schemas"]["OkResponse"]; }; }; /** @description Validation Error */ @@ -424,16 +1996,20 @@ export interface operations { }; }; }; - get_marketplace_detail_api_marketplace_items__item_id__get: { + enable_mcp_server_api_mcp_servers__name__enable_post: { parameters: { query?: never; header?: never; path: { - item_id: string; + name: string; }; cookie?: never; }; - requestBody?: never; + requestBody: { + content: { + "application/json": components["schemas"]["EnableMcpServerRequest"]; + }; + }; responses: { /** @description Successful Response */ 200: { @@ -441,9 +2017,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": { - [key: string]: unknown; - }; + "application/json": components["schemas"]["OkResponse"]; }; }; /** @description Validation Error */ @@ -457,16 +2031,20 @@ export interface operations { }; }; }; - get_marketplace_document_api_marketplace_items__item_id__document_get: { + reconcile_mcp_server_api_mcp_servers__name__reconcile_post: { parameters: { query?: never; header?: never; path: { - item_id: string; + name: string; }; cookie?: never; }; - requestBody?: never; + requestBody: { + content: { + "application/json": components["schemas"]["ReconcileMcpServerRequest"]; + }; + }; responses: { /** @description Successful Response */ 200: { @@ -474,9 +2052,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": { - [key: string]: unknown; - }; + "application/json": components["schemas"]["McpApplyConfigResponse"]; }; }; /** @description Validation Error */ @@ -490,17 +2066,20 @@ export interface operations { }; }; }; - popular_marketplace_api_marketplace_popular_get: { + set_mcp_server_harnesses_api_mcp_servers__name__set_harnesses_post: { parameters: { - query?: { - limit?: number | null; - offset?: number; - }; + query?: never; header?: never; - path?: never; + path: { + name: string; + }; cookie?: never; }; - requestBody?: never; + requestBody: { + content: { + "application/json": components["schemas"]["SetMcpServerHarnessesRequest"]; + }; + }; responses: { /** @description Successful Response */ 200: { @@ -508,9 +2087,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": { - [key: string]: unknown; - }; + "application/json": components["schemas"]["McpSetHarnessesResultResponse"]; }; }; /** @description Validation Error */ @@ -524,18 +2101,18 @@ export interface operations { }; }; }; - search_marketplace_api_marketplace_search_get: { + adopt_mcp_server_api_mcp_unmanaged_adopt_post: { parameters: { - query: { - q: string; - limit?: number | null; - offset?: number; - }; + query?: never; header?: never; path?: never; cookie?: never; }; - requestBody?: never; + requestBody: { + content: { + "application/json": components["schemas"]["AdoptMcpRequest"]; + }; + }; responses: { /** @description Successful Response */ 200: { @@ -543,9 +2120,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": { - [key: string]: unknown; - }; + "application/json": components["schemas"]["McpApplyConfigResponse"]; }; }; /** @description Validation Error */ @@ -559,6 +2134,26 @@ export interface operations { }; }; }; + list_unmanaged_by_server_api_mcp_unmanaged_by_server_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["McpUnmanagedByServerResponse"]; + }; + }; + }; + }; settings_api_settings_get: { parameters: { query?: never; @@ -633,9 +2228,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": { - [key: string]: unknown; - }; + "application/json": components["schemas"]["SkillsPageResponse"]; }; }; }; @@ -655,9 +2248,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": { - [key: string]: unknown; - }; + "application/json": components["schemas"]["BulkManageResultResponse"]; }; }; }; @@ -679,9 +2270,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": { - [key: string]: unknown; - }; + "application/json": components["schemas"]["SkillDetailResponse"]; }; }; /** @description Validation Error */ @@ -712,9 +2301,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": { - [key: string]: boolean; - }; + "application/json": components["schemas"]["OkResponse"]; }; }; /** @description Validation Error */ @@ -749,9 +2336,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": { - [key: string]: boolean; - }; + "application/json": components["schemas"]["OkResponse"]; }; }; /** @description Validation Error */ @@ -786,9 +2371,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": { - [key: string]: boolean; - }; + "application/json": components["schemas"]["OkResponse"]; }; }; /** @description Validation Error */ @@ -819,9 +2402,42 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": { - [key: string]: boolean; - }; + "application/json": components["schemas"]["OkResponse"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + set_skill_harnesses_api_skills__skill_ref__set_harnesses_post: { + parameters: { + query?: never; + header?: never; + path: { + skill_ref: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["SetSkillHarnessesRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SetSkillHarnessesResultResponse"]; }; }; /** @description Validation Error */ @@ -852,9 +2468,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": { - [key: string]: unknown; - }; + "application/json": components["schemas"]["SkillSourceStatusResponse"]; }; }; /** @description Validation Error */ @@ -885,9 +2499,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": { - [key: string]: boolean; - }; + "application/json": components["schemas"]["OkResponse"]; }; }; /** @description Validation Error */ @@ -918,9 +2530,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": { - [key: string]: boolean; - }; + "application/json": components["schemas"]["OkResponse"]; }; }; /** @description Validation Error */ diff --git a/frontend/src/api/http.ts b/frontend/src/api/http.ts index 771d93b..8109aa6 100644 --- a/frontend/src/api/http.ts +++ b/frontend/src/api/http.ts @@ -52,3 +52,7 @@ export async function putJson(path: string, body?: object): Promise { }), ); } + +export async function deleteJson(path: string): Promise { + return expectJson(fetch(apiPath(path), { method: "DELETE" })); +} diff --git a/frontend/src/api/openapi.json b/frontend/src/api/openapi.json index da92e97..4b8d228 100644 --- a/frontend/src/api/openapi.json +++ b/frontend/src/api/openapi.json @@ -1,6 +1,471 @@ { "components": { "schemas": { + "AddMcpServerRequest": { + "properties": { + "qualifiedName": { + "minLength": 1, + "title": "Qualifiedname", + "type": "string" + }, + "sourceHarness": { + "minLength": 1, + "title": "Sourceharness", + "type": "string" + } + }, + "required": [ + "qualifiedName", + "sourceHarness" + ], + "title": "AddMcpServerRequest", + "type": "object" + }, + "AdoptMcpRequest": { + "additionalProperties": false, + "properties": { + "harnesses": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Harnesses" + }, + "name": { + "minLength": 1, + "title": "Name", + "type": "string" + }, + "sourceHarness": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Sourceharness" + } + }, + "required": [ + "name" + ], + "title": "AdoptMcpRequest", + "type": "object" + }, + "BulkManageFailureResponse": { + "properties": { + "error": { + "title": "Error", + "type": "string" + }, + "name": { + "title": "Name", + "type": "string" + }, + "skillRef": { + "title": "Skillref", + "type": "string" + } + }, + "required": [ + "skillRef", + "name", + "error" + ], + "title": "BulkManageFailureResponse", + "type": "object" + }, + "BulkManageResultResponse": { + "properties": { + "failures": { + "items": { + "$ref": "#/components/schemas/BulkManageFailureResponse" + }, + "title": "Failures", + "type": "array" + }, + "managedCount": { + "title": "Managedcount", + "type": "integer" + }, + "ok": { + "title": "Ok", + "type": "boolean" + }, + "skippedCount": { + "title": "Skippedcount", + "type": "integer" + } + }, + "required": [ + "ok", + "managedCount", + "skippedCount", + "failures" + ], + "title": "BulkManageResultResponse", + "type": "object" + }, + "CliMarketplaceDetailResponse": { + "properties": { + "category": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Category" + }, + "description": { + "title": "Description", + "type": "string" + }, + "githubUrl": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Githuburl" + }, + "hasMcp": { + "title": "Hasmcp", + "type": "boolean" + }, + "hasSkill": { + "title": "Hasskill", + "type": "boolean" + }, + "iconUrl": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Iconurl" + }, + "id": { + "title": "Id", + "type": "string" + }, + "installCommand": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Installcommand" + }, + "isOfficial": { + "title": "Isofficial", + "type": "boolean" + }, + "isTui": { + "title": "Istui", + "type": "boolean" + }, + "language": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Language" + }, + "longDescription": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Longdescription" + }, + "marketplaceUrl": { + "title": "Marketplaceurl", + "type": "string" + }, + "name": { + "title": "Name", + "type": "string" + }, + "slug": { + "title": "Slug", + "type": "string" + }, + "sourceType": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Sourcetype" + }, + "stars": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Stars" + }, + "vendorName": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Vendorname" + }, + "websiteUrl": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Websiteurl" + } + }, + "required": [ + "id", + "slug", + "name", + "description", + "marketplaceUrl", + "hasMcp", + "hasSkill", + "isOfficial", + "isTui" + ], + "title": "CliMarketplaceDetailResponse", + "type": "object" + }, + "CliMarketplaceItemResponse": { + "properties": { + "category": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Category" + }, + "description": { + "title": "Description", + "type": "string" + }, + "githubUrl": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Githuburl" + }, + "hasMcp": { + "title": "Hasmcp", + "type": "boolean" + }, + "hasSkill": { + "title": "Hasskill", + "type": "boolean" + }, + "iconUrl": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Iconurl" + }, + "id": { + "title": "Id", + "type": "string" + }, + "isOfficial": { + "title": "Isofficial", + "type": "boolean" + }, + "isTui": { + "title": "Istui", + "type": "boolean" + }, + "language": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Language" + }, + "marketplaceUrl": { + "title": "Marketplaceurl", + "type": "string" + }, + "name": { + "title": "Name", + "type": "string" + }, + "slug": { + "title": "Slug", + "type": "string" + }, + "sourceType": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Sourcetype" + }, + "stars": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Stars" + }, + "vendorName": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Vendorname" + }, + "websiteUrl": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Websiteurl" + } + }, + "required": [ + "id", + "slug", + "name", + "description", + "marketplaceUrl", + "hasMcp", + "hasSkill", + "isOfficial", + "isTui" + ], + "title": "CliMarketplaceItemResponse", + "type": "object" + }, + "CliMarketplacePageResponse": { + "properties": { + "hasMore": { + "title": "Hasmore", + "type": "boolean" + }, + "items": { + "items": { + "$ref": "#/components/schemas/CliMarketplaceItemResponse" + }, + "title": "Items", + "type": "array" + }, + "nextOffset": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Nextoffset" + } + }, + "required": [ + "items", + "hasMore" + ], + "title": "CliMarketplacePageResponse", + "type": "object" + }, + "DisableMcpServerRequest": { + "properties": { + "harness": { + "description": "Harness identifier", + "minLength": 1, + "title": "Harness", + "type": "string" + } + }, + "required": [ + "harness" + ], + "title": "DisableMcpServerRequest", + "type": "object" + }, "DisableSkillRequest": { "properties": { "harness": { @@ -16,6 +481,21 @@ "title": "DisableSkillRequest", "type": "object" }, + "EnableMcpServerRequest": { + "properties": { + "harness": { + "description": "Harness identifier", + "minLength": 1, + "title": "Harness", + "type": "string" + } + }, + "required": [ + "harness" + ], + "title": "EnableMcpServerRequest", + "type": "object" + }, "EnableSkillRequest": { "properties": { "harness": { @@ -44,109 +524,3020 @@ "title": "HTTPValidationError", "type": "object" }, - "InstallMarketplaceSkillRequest": { + "HarnessCellResponse": { "properties": { - "installToken": { - "minLength": 1, - "title": "Installtoken", + "harness": { + "title": "Harness", + "type": "string" + }, + "interactive": { + "title": "Interactive", + "type": "boolean" + }, + "label": { + "title": "Label", + "type": "string" + }, + "logoKey": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Logokey" + }, + "state": { + "enum": [ + "enabled", + "disabled", + "found", + "empty" + ], + "title": "State", "type": "string" } }, "required": [ - "installToken" + "harness", + "label", + "state", + "interactive" ], - "title": "InstallMarketplaceSkillRequest", + "title": "HarnessCellResponse", "type": "object" }, - "SetHarnessSupportRequest": { + "HarnessColumnResponse": { "properties": { - "enabled": { - "title": "Enabled", + "harness": { + "title": "Harness", + "type": "string" + }, + "installed": { + "title": "Installed", "type": "boolean" + }, + "label": { + "title": "Label", + "type": "string" + }, + "logoKey": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Logokey" } }, "required": [ - "enabled" + "harness", + "label", + "installed" ], - "title": "SetHarnessSupportRequest", + "title": "HarnessColumnResponse", "type": "object" }, - "ValidationError": { + "InstallMarketplaceSkillRequest": { "properties": { - "ctx": { - "title": "Context", - "type": "object" + "installToken": { + "minLength": 1, + "title": "Installtoken", + "type": "string" + } + }, + "required": [ + "installToken" + ], + "title": "InstallMarketplaceSkillRequest", + "type": "object" + }, + "McpAdoptionIssueResponse": { + "properties": { + "configPath": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Configpath" }, - "input": { - "title": "Input" + "harness": { + "title": "Harness", + "type": "string" }, - "loc": { - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "integer" - } - ] - }, - "title": "Location", - "type": "array" + "label": { + "title": "Label", + "type": "string" }, - "msg": { - "title": "Message", + "logoKey": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Logokey" + }, + "name": { + "title": "Name", "type": "string" }, - "type": { - "title": "Error Type", + "payloadPreview": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Payloadpreview" + }, + "reason": { + "title": "Reason", "type": "string" } }, "required": [ - "loc", - "msg", - "type" + "harness", + "label", + "name", + "reason" ], - "title": "ValidationError", + "title": "McpAdoptionIssueResponse", "type": "object" + }, + "McpApplyConfigResponse": { + "properties": { + "failed": { + "items": { + "$ref": "#/components/schemas/McpMutationFailureResponse" + }, + "title": "Failed", + "type": "array" + }, + "ok": { + "title": "Ok", + "type": "boolean" + }, + "server": { + "$ref": "#/components/schemas/McpServerSpecResponse" + }, + "succeeded": { + "items": { + "type": "string" + }, + "title": "Succeeded", + "type": "array" + } + }, + "required": [ + "ok", + "server", + "succeeded", + "failed" + ], + "title": "McpApplyConfigResponse", + "type": "object" + }, + "McpBindingResponse": { + "properties": { + "driftDetail": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Driftdetail" + }, + "harness": { + "title": "Harness", + "type": "string" + }, + "state": { + "enum": [ + "managed", + "drifted", + "unmanaged", + "missing" + ], + "title": "State", + "type": "string" + } + }, + "required": [ + "harness", + "state" + ], + "title": "McpBindingResponse", + "type": "object" + }, + "McpConfigChoiceResponse": { + "properties": { + "configPath": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Configpath" + }, + "env": { + "items": { + "$ref": "#/components/schemas/McpEnvEntryResponse" + }, + "title": "Env", + "type": "array" + }, + "label": { + "title": "Label", + "type": "string" + }, + "logoKey": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Logokey" + }, + "payloadPreview": { + "additionalProperties": true, + "title": "Payloadpreview", + "type": "object" + }, + "sourceHarness": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Sourceharness" + }, + "sourceKind": { + "enum": [ + "managed", + "harness" + ], + "title": "Sourcekind", + "type": "string" + }, + "spec": { + "$ref": "#/components/schemas/McpServerSpecResponse" + } + }, + "required": [ + "sourceKind", + "label", + "payloadPreview", + "spec" + ], + "title": "McpConfigChoiceResponse", + "type": "object" + }, + "McpEnvEntryResponse": { + "properties": { + "isEnvRef": { + "title": "Isenvref", + "type": "boolean" + }, + "key": { + "title": "Key", + "type": "string" + }, + "value": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Value" + } + }, + "required": [ + "key", + "isEnvRef" + ], + "title": "McpEnvEntryResponse", + "type": "object" + }, + "McpIdentityGroupResponse": { + "properties": { + "canonicalSpec": { + "anyOf": [ + { + "$ref": "#/components/schemas/McpServerSpecResponse" + }, + { + "type": "null" + } + ] + }, + "identical": { + "title": "Identical", + "type": "boolean" + }, + "marketplaceLink": { + "anyOf": [ + { + "$ref": "#/components/schemas/McpMarketplaceLinkResponse" + }, + { + "type": "null" + } + ] + }, + "name": { + "title": "Name", + "type": "string" + }, + "sightings": { + "items": { + "$ref": "#/components/schemas/McpIdentitySightingResponse" + }, + "title": "Sightings", + "type": "array" + } + }, + "required": [ + "name", + "identical", + "sightings" + ], + "title": "McpIdentityGroupResponse", + "type": "object" + }, + "McpIdentitySightingResponse": { + "properties": { + "configPath": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Configpath" + }, + "env": { + "items": { + "$ref": "#/components/schemas/McpEnvEntryResponse" + }, + "title": "Env", + "type": "array" + }, + "harness": { + "title": "Harness", + "type": "string" + }, + "label": { + "title": "Label", + "type": "string" + }, + "logoKey": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Logokey" + }, + "payloadPreview": { + "additionalProperties": true, + "title": "Payloadpreview", + "type": "object" + }, + "spec": { + "$ref": "#/components/schemas/McpServerSpecResponse" + } + }, + "required": [ + "harness", + "label", + "payloadPreview", + "spec" + ], + "title": "McpIdentitySightingResponse", + "type": "object" + }, + "McpInstallTargetResponse": { + "properties": { + "harness": { + "title": "Harness", + "type": "string" + }, + "label": { + "title": "Label", + "type": "string" + }, + "logoKey": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Logokey" + }, + "reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Reason" + }, + "smitheryClient": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Smitheryclient" + }, + "supported": { + "title": "Supported", + "type": "boolean" + } + }, + "required": [ + "harness", + "label", + "supported" + ], + "title": "McpInstallTargetResponse", + "type": "object" + }, + "McpInstallTargetsResponse": { + "properties": { + "targets": { + "items": { + "$ref": "#/components/schemas/McpInstallTargetResponse" + }, + "title": "Targets", + "type": "array" + } + }, + "required": [ + "targets" + ], + "title": "McpInstallTargetsResponse", + "type": "object" + }, + "McpInventoryColumnResponse": { + "properties": { + "configPresent": { + "title": "Configpresent", + "type": "boolean" + }, + "harness": { + "title": "Harness", + "type": "string" + }, + "installed": { + "title": "Installed", + "type": "boolean" + }, + "label": { + "title": "Label", + "type": "string" + }, + "logoKey": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Logokey" + }, + "mcpUnavailableReason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Mcpunavailablereason" + }, + "mcpWritable": { + "default": true, + "title": "Mcpwritable", + "type": "boolean" + } + }, + "required": [ + "harness", + "label", + "installed", + "configPresent" + ], + "title": "McpInventoryColumnResponse", + "type": "object" + }, + "McpInventoryEntryResponse": { + "properties": { + "canEnable": { + "title": "Canenable", + "type": "boolean" + }, + "displayName": { + "title": "Displayname", + "type": "string" + }, + "kind": { + "enum": [ + "managed", + "unmanaged" + ], + "title": "Kind", + "type": "string" + }, + "name": { + "title": "Name", + "type": "string" + }, + "sightings": { + "items": { + "$ref": "#/components/schemas/McpBindingResponse" + }, + "title": "Sightings", + "type": "array" + }, + "spec": { + "anyOf": [ + { + "$ref": "#/components/schemas/McpServerSpecResponse" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "name", + "displayName", + "kind", + "canEnable", + "sightings" + ], + "title": "McpInventoryEntryResponse", + "type": "object" + }, + "McpInventoryIssueResponse": { + "properties": { + "name": { + "title": "Name", + "type": "string" + }, + "reason": { + "title": "Reason", + "type": "string" + } + }, + "required": [ + "name", + "reason" + ], + "title": "McpInventoryIssueResponse", + "type": "object" + }, + "McpInventoryResponse": { + "properties": { + "columns": { + "items": { + "$ref": "#/components/schemas/McpInventoryColumnResponse" + }, + "title": "Columns", + "type": "array" + }, + "entries": { + "items": { + "$ref": "#/components/schemas/McpInventoryEntryResponse" + }, + "title": "Entries", + "type": "array" + }, + "issues": { + "items": { + "$ref": "#/components/schemas/McpInventoryIssueResponse" + }, + "title": "Issues", + "type": "array" + } + }, + "required": [ + "columns", + "entries" + ], + "title": "McpInventoryResponse", + "type": "object" + }, + "McpMarketplaceCapabilityCountsResponse": { + "properties": { + "prompts": { + "title": "Prompts", + "type": "integer" + }, + "resources": { + "title": "Resources", + "type": "integer" + }, + "tools": { + "title": "Tools", + "type": "integer" + } + }, + "required": [ + "tools", + "resources", + "prompts" + ], + "title": "McpMarketplaceCapabilityCountsResponse", + "type": "object" + }, + "McpMarketplaceConnectionResponse": { + "properties": { + "bundleUrl": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Bundleurl" + }, + "configSchema": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Configschema" + }, + "deploymentUrl": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Deploymenturl" + }, + "kind": { + "title": "Kind", + "type": "string" + }, + "runtime": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Runtime" + }, + "stdioArgs": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Stdioargs" + }, + "stdioCommand": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Stdiocommand" + }, + "stdioFunction": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Stdiofunction" + } + }, + "required": [ + "kind" + ], + "title": "McpMarketplaceConnectionResponse", + "type": "object" + }, + "McpMarketplaceDetailResponse": { + "properties": { + "capabilityCounts": { + "$ref": "#/components/schemas/McpMarketplaceCapabilityCountsResponse" + }, + "connections": { + "items": { + "$ref": "#/components/schemas/McpMarketplaceConnectionResponse" + }, + "title": "Connections", + "type": "array" + }, + "deploymentUrl": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Deploymenturl" + }, + "description": { + "title": "Description", + "type": "string" + }, + "displayName": { + "title": "Displayname", + "type": "string" + }, + "externalUrl": { + "title": "Externalurl", + "type": "string" + }, + "iconUrl": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Iconurl" + }, + "isRemote": { + "title": "Isremote", + "type": "boolean" + }, + "managedName": { + "title": "Managedname", + "type": "string" + }, + "prompts": { + "items": { + "$ref": "#/components/schemas/McpMarketplacePromptResponse" + }, + "title": "Prompts", + "type": "array" + }, + "qualifiedName": { + "title": "Qualifiedname", + "type": "string" + }, + "resources": { + "items": { + "$ref": "#/components/schemas/McpMarketplaceResourceResponse" + }, + "title": "Resources", + "type": "array" + }, + "tools": { + "items": { + "$ref": "#/components/schemas/McpMarketplaceToolResponse" + }, + "title": "Tools", + "type": "array" + } + }, + "required": [ + "qualifiedName", + "managedName", + "displayName", + "description", + "isRemote", + "connections", + "tools", + "resources", + "prompts", + "capabilityCounts", + "externalUrl" + ], + "title": "McpMarketplaceDetailResponse", + "type": "object" + }, + "McpMarketplaceItemResponse": { + "properties": { + "createdAt": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Createdat" + }, + "description": { + "title": "Description", + "type": "string" + }, + "displayName": { + "title": "Displayname", + "type": "string" + }, + "externalUrl": { + "title": "Externalurl", + "type": "string" + }, + "homepage": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Homepage" + }, + "iconUrl": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Iconurl" + }, + "isDeployed": { + "title": "Isdeployed", + "type": "boolean" + }, + "isRemote": { + "title": "Isremote", + "type": "boolean" + }, + "isVerified": { + "title": "Isverified", + "type": "boolean" + }, + "namespace": { + "title": "Namespace", + "type": "string" + }, + "qualifiedName": { + "title": "Qualifiedname", + "type": "string" + }, + "useCount": { + "title": "Usecount", + "type": "integer" + } + }, + "required": [ + "qualifiedName", + "namespace", + "displayName", + "description", + "isVerified", + "isRemote", + "isDeployed", + "useCount", + "externalUrl" + ], + "title": "McpMarketplaceItemResponse", + "type": "object" + }, + "McpMarketplaceLinkResponse": { + "properties": { + "description": { + "title": "Description", + "type": "string" + }, + "displayName": { + "title": "Displayname", + "type": "string" + }, + "externalUrl": { + "title": "Externalurl", + "type": "string" + }, + "iconUrl": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Iconurl" + }, + "isRemote": { + "title": "Isremote", + "type": "boolean" + }, + "isVerified": { + "title": "Isverified", + "type": "boolean" + }, + "qualifiedName": { + "title": "Qualifiedname", + "type": "string" + } + }, + "required": [ + "qualifiedName", + "displayName", + "externalUrl", + "description", + "isRemote", + "isVerified" + ], + "title": "McpMarketplaceLinkResponse", + "type": "object" + }, + "McpMarketplacePageResponse": { + "properties": { + "hasMore": { + "title": "Hasmore", + "type": "boolean" + }, + "items": { + "items": { + "$ref": "#/components/schemas/McpMarketplaceItemResponse" + }, + "title": "Items", + "type": "array" + }, + "nextOffset": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Nextoffset" + } + }, + "required": [ + "items", + "hasMore" + ], + "title": "McpMarketplacePageResponse", + "type": "object" + }, + "McpMarketplaceParameterResponse": { + "properties": { + "default": { + "anyOf": [ + {}, + { + "type": "null" + } + ], + "title": "Default" + }, + "description": { + "title": "Description", + "type": "string" + }, + "enum": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Enum" + }, + "maxItems": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Maxitems" + }, + "maxLength": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Maxlength" + }, + "maximum": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Maximum" + }, + "minItems": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Minitems" + }, + "minLength": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Minlength" + }, + "minimum": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Minimum" + }, + "name": { + "title": "Name", + "type": "string" + }, + "required": { + "title": "Required", + "type": "boolean" + }, + "type": { + "title": "Type", + "type": "string" + } + }, + "required": [ + "name", + "type", + "description", + "required" + ], + "title": "McpMarketplaceParameterResponse", + "type": "object" + }, + "McpMarketplacePromptArgumentResponse": { + "properties": { + "description": { + "title": "Description", + "type": "string" + }, + "name": { + "title": "Name", + "type": "string" + }, + "required": { + "title": "Required", + "type": "boolean" + } + }, + "required": [ + "name", + "description", + "required" + ], + "title": "McpMarketplacePromptArgumentResponse", + "type": "object" + }, + "McpMarketplacePromptResponse": { + "properties": { + "arguments": { + "items": { + "$ref": "#/components/schemas/McpMarketplacePromptArgumentResponse" + }, + "title": "Arguments", + "type": "array" + }, + "description": { + "title": "Description", + "type": "string" + }, + "name": { + "title": "Name", + "type": "string" + } + }, + "required": [ + "name", + "description", + "arguments" + ], + "title": "McpMarketplacePromptResponse", + "type": "object" + }, + "McpMarketplaceResourceResponse": { + "properties": { + "description": { + "title": "Description", + "type": "string" + }, + "mimeType": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Mimetype" + }, + "name": { + "title": "Name", + "type": "string" + }, + "uri": { + "title": "Uri", + "type": "string" + } + }, + "required": [ + "name", + "uri", + "description" + ], + "title": "McpMarketplaceResourceResponse", + "type": "object" + }, + "McpMarketplaceToolResponse": { + "properties": { + "description": { + "title": "Description", + "type": "string" + }, + "name": { + "title": "Name", + "type": "string" + }, + "parameters": { + "items": { + "$ref": "#/components/schemas/McpMarketplaceParameterResponse" + }, + "title": "Parameters", + "type": "array" + } + }, + "required": [ + "name", + "description", + "parameters" + ], + "title": "McpMarketplaceToolResponse", + "type": "object" + }, + "McpMutationFailureResponse": { + "properties": { + "error": { + "title": "Error", + "type": "string" + }, + "harness": { + "title": "Harness", + "type": "string" + } + }, + "required": [ + "harness", + "error" + ], + "title": "McpMutationFailureResponse", + "type": "object" + }, + "McpServerDetailResponse": { + "properties": { + "canEnable": { + "title": "Canenable", + "type": "boolean" + }, + "configChoices": { + "items": { + "$ref": "#/components/schemas/McpConfigChoiceResponse" + }, + "title": "Configchoices", + "type": "array" + }, + "displayName": { + "title": "Displayname", + "type": "string" + }, + "env": { + "items": { + "$ref": "#/components/schemas/McpEnvEntryResponse" + }, + "title": "Env", + "type": "array" + }, + "kind": { + "enum": [ + "managed", + "unmanaged" + ], + "title": "Kind", + "type": "string" + }, + "marketplaceLink": { + "anyOf": [ + { + "$ref": "#/components/schemas/McpMarketplaceLinkResponse" + }, + { + "type": "null" + } + ] + }, + "name": { + "title": "Name", + "type": "string" + }, + "sightings": { + "items": { + "$ref": "#/components/schemas/McpBindingResponse" + }, + "title": "Sightings", + "type": "array" + }, + "spec": { + "anyOf": [ + { + "$ref": "#/components/schemas/McpServerSpecResponse" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "name", + "displayName", + "kind", + "canEnable", + "sightings" + ], + "title": "McpServerDetailResponse", + "type": "object" + }, + "McpServerMutationResponse": { + "properties": { + "ok": { + "title": "Ok", + "type": "boolean" + }, + "server": { + "$ref": "#/components/schemas/McpServerSpecResponse" + } + }, + "required": [ + "ok", + "server" + ], + "title": "McpServerMutationResponse", + "type": "object" + }, + "McpServerSpecResponse": { + "properties": { + "args": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Args" + }, + "command": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Command" + }, + "displayName": { + "title": "Displayname", + "type": "string" + }, + "env": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Env" + }, + "headers": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Headers" + }, + "installedAt": { + "title": "Installedat", + "type": "string" + }, + "name": { + "title": "Name", + "type": "string" + }, + "revision": { + "title": "Revision", + "type": "string" + }, + "source": { + "$ref": "#/components/schemas/McpSourceResponse" + }, + "transport": { + "enum": [ + "stdio", + "http", + "sse" + ], + "title": "Transport", + "type": "string" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Url" + } + }, + "required": [ + "name", + "displayName", + "source", + "transport", + "installedAt", + "revision" + ], + "title": "McpServerSpecResponse", + "type": "object" + }, + "McpSetHarnessesResultResponse": { + "properties": { + "failed": { + "items": { + "$ref": "#/components/schemas/McpMutationFailureResponse" + }, + "title": "Failed", + "type": "array" + }, + "ok": { + "title": "Ok", + "type": "boolean" + }, + "succeeded": { + "items": { + "type": "string" + }, + "title": "Succeeded", + "type": "array" + } + }, + "required": [ + "ok", + "succeeded", + "failed" + ], + "title": "McpSetHarnessesResultResponse", + "type": "object" + }, + "McpSourceResponse": { + "properties": { + "kind": { + "enum": [ + "marketplace", + "adopted", + "manual" + ], + "title": "Kind", + "type": "string" + }, + "locator": { + "title": "Locator", + "type": "string" + } + }, + "required": [ + "kind", + "locator" + ], + "title": "McpSourceResponse", + "type": "object" + }, + "McpUnmanagedByServerResponse": { + "properties": { + "harnesses": { + "items": { + "$ref": "#/components/schemas/McpUnmanagedHarnessResponse" + }, + "title": "Harnesses", + "type": "array" + }, + "issues": { + "items": { + "$ref": "#/components/schemas/McpAdoptionIssueResponse" + }, + "title": "Issues", + "type": "array" + }, + "servers": { + "items": { + "$ref": "#/components/schemas/McpIdentityGroupResponse" + }, + "title": "Servers", + "type": "array" + } + }, + "required": [ + "harnesses", + "servers" + ], + "title": "McpUnmanagedByServerResponse", + "type": "object" + }, + "McpUnmanagedHarnessResponse": { + "properties": { + "configPath": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Configpath" + }, + "configPresent": { + "title": "Configpresent", + "type": "boolean" + }, + "harness": { + "title": "Harness", + "type": "string" + }, + "installed": { + "title": "Installed", + "type": "boolean" + }, + "label": { + "title": "Label", + "type": "string" + }, + "logoKey": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Logokey" + }, + "mcpUnavailableReason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Mcpunavailablereason" + }, + "mcpWritable": { + "default": true, + "title": "Mcpwritable", + "type": "boolean" + } + }, + "required": [ + "harness", + "label", + "installed", + "configPresent" + ], + "title": "McpUnmanagedHarnessResponse", + "type": "object" + }, + "OkResponse": { + "properties": { + "ok": { + "title": "Ok", + "type": "boolean" + } + }, + "required": [ + "ok" + ], + "title": "OkResponse", + "type": "object" + }, + "ReconcileMcpServerRequest": { + "additionalProperties": false, + "properties": { + "harnesses": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Harnesses" + }, + "sourceHarness": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Sourceharness" + }, + "sourceKind": { + "enum": [ + "managed", + "harness" + ], + "title": "Sourcekind", + "type": "string" + } + }, + "required": [ + "sourceKind" + ], + "title": "ReconcileMcpServerRequest", + "type": "object" + }, + "SetHarnessSupportRequest": { + "properties": { + "enabled": { + "title": "Enabled", + "type": "boolean" + } + }, + "required": [ + "enabled" + ], + "title": "SetHarnessSupportRequest", + "type": "object" + }, + "SetMcpServerHarnessesRequest": { + "properties": { + "target": { + "enum": [ + "enabled", + "disabled" + ], + "title": "Target", + "type": "string" + } + }, + "required": [ + "target" + ], + "title": "SetMcpServerHarnessesRequest", + "type": "object" + }, + "SetSkillHarnessesFailureResponse": { + "properties": { + "error": { + "title": "Error", + "type": "string" + }, + "harness": { + "title": "Harness", + "type": "string" + } + }, + "required": [ + "harness", + "error" + ], + "title": "SetSkillHarnessesFailureResponse", + "type": "object" + }, + "SetSkillHarnessesRequest": { + "properties": { + "target": { + "description": "Target state to apply to every interactive harness cell on this skill", + "enum": [ + "enabled", + "disabled" + ], + "title": "Target", + "type": "string" + } + }, + "required": [ + "target" + ], + "title": "SetSkillHarnessesRequest", + "type": "object" + }, + "SetSkillHarnessesResultResponse": { + "properties": { + "failed": { + "items": { + "$ref": "#/components/schemas/SetSkillHarnessesFailureResponse" + }, + "title": "Failed", + "type": "array" + }, + "ok": { + "title": "Ok", + "type": "boolean" + }, + "succeeded": { + "items": { + "type": "string" + }, + "title": "Succeeded", + "type": "array" + } + }, + "required": [ + "ok", + "succeeded", + "failed" + ], + "title": "SetSkillHarnessesResultResponse", + "type": "object" + }, + "SkillDetailActionsResponse": { + "properties": { + "canDelete": { + "title": "Candelete", + "type": "boolean" + }, + "canManage": { + "title": "Canmanage", + "type": "boolean" + }, + "deleteHarnessLabels": { + "items": { + "type": "string" + }, + "title": "Deleteharnesslabels", + "type": "array" + }, + "stopManagingHarnessLabels": { + "items": { + "type": "string" + }, + "title": "Stopmanagingharnesslabels", + "type": "array" + }, + "stopManagingStatus": { + "anyOf": [ + { + "enum": [ + "available", + "disabled_no_enabled" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Stopmanagingstatus" + } + }, + "required": [ + "canManage", + "stopManagingStatus", + "stopManagingHarnessLabels", + "canDelete", + "deleteHarnessLabels" + ], + "title": "SkillDetailActionsResponse", + "type": "object" + }, + "SkillDetailResponse": { + "properties": { + "actions": { + "$ref": "#/components/schemas/SkillDetailActionsResponse" + }, + "attentionMessage": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Attentionmessage" + }, + "description": { + "title": "Description", + "type": "string" + }, + "displayStatus": { + "enum": [ + "Managed", + "Unmanaged" + ], + "title": "Displaystatus", + "type": "string" + }, + "documentMarkdown": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Documentmarkdown" + }, + "harnessCells": { + "items": { + "$ref": "#/components/schemas/HarnessCellResponse" + }, + "title": "Harnesscells", + "type": "array" + }, + "locations": { + "items": { + "$ref": "#/components/schemas/SkillLocationResponse" + }, + "title": "Locations", + "type": "array" + }, + "name": { + "title": "Name", + "type": "string" + }, + "skillRef": { + "title": "Skillref", + "type": "string" + }, + "sourceLinks": { + "anyOf": [ + { + "$ref": "#/components/schemas/SkillSourceLinksResponse" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "skillRef", + "name", + "description", + "displayStatus", + "attentionMessage", + "actions", + "harnessCells", + "locations", + "sourceLinks", + "documentMarkdown" + ], + "title": "SkillDetailResponse", + "type": "object" + }, + "SkillLocationResponse": { + "properties": { + "detail": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Detail" + }, + "harness": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Harness" + }, + "kind": { + "enum": [ + "shared", + "harness" + ], + "title": "Kind", + "type": "string" + }, + "label": { + "title": "Label", + "type": "string" + }, + "path": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Path" + }, + "revision": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Revision" + }, + "scope": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Scope" + }, + "sourceKind": { + "title": "Sourcekind", + "type": "string" + }, + "sourceLocator": { + "title": "Sourcelocator", + "type": "string" + } + }, + "required": [ + "kind", + "harness", + "label", + "scope", + "path", + "revision", + "sourceKind", + "sourceLocator", + "detail" + ], + "title": "SkillLocationResponse", + "type": "object" + }, + "SkillRowActionsResponse": { + "properties": { + "canDelete": { + "title": "Candelete", + "type": "boolean" + }, + "canManage": { + "title": "Canmanage", + "type": "boolean" + }, + "canStopManaging": { + "title": "Canstopmanaging", + "type": "boolean" + } + }, + "required": [ + "canManage", + "canStopManaging", + "canDelete" + ], + "title": "SkillRowActionsResponse", + "type": "object" + }, + "SkillSourceLinksResponse": { + "properties": { + "folderUrl": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Folderurl" + }, + "repoLabel": { + "title": "Repolabel", + "type": "string" + }, + "repoUrl": { + "title": "Repourl", + "type": "string" + } + }, + "required": [ + "repoLabel", + "repoUrl", + "folderUrl" + ], + "title": "SkillSourceLinksResponse", + "type": "object" + }, + "SkillSourceStatusResponse": { + "properties": { + "updateStatus": { + "anyOf": [ + { + "enum": [ + "update_available", + "no_update_available", + "no_source_available", + "local_changes_detected" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Updatestatus" + } + }, + "required": [ + "updateStatus" + ], + "title": "SkillSourceStatusResponse", + "type": "object" + }, + "SkillTableRowResponse": { + "properties": { + "actions": { + "$ref": "#/components/schemas/SkillRowActionsResponse" + }, + "cells": { + "items": { + "$ref": "#/components/schemas/HarnessCellResponse" + }, + "title": "Cells", + "type": "array" + }, + "description": { + "title": "Description", + "type": "string" + }, + "displayStatus": { + "enum": [ + "Managed", + "Unmanaged" + ], + "title": "Displaystatus", + "type": "string" + }, + "name": { + "title": "Name", + "type": "string" + }, + "skillRef": { + "title": "Skillref", + "type": "string" + } + }, + "required": [ + "skillRef", + "name", + "description", + "displayStatus", + "actions", + "cells" + ], + "title": "SkillTableRowResponse", + "type": "object" + }, + "SkillsPageResponse": { + "properties": { + "harnessColumns": { + "items": { + "$ref": "#/components/schemas/HarnessColumnResponse" + }, + "title": "Harnesscolumns", + "type": "array" + }, + "rows": { + "items": { + "$ref": "#/components/schemas/SkillTableRowResponse" + }, + "title": "Rows", + "type": "array" + }, + "summary": { + "$ref": "#/components/schemas/SkillsSummaryResponse" + } + }, + "required": [ + "summary", + "harnessColumns", + "rows" + ], + "title": "SkillsPageResponse", + "type": "object" + }, + "SkillsSummaryResponse": { + "properties": { + "managed": { + "title": "Managed", + "type": "integer" + }, + "unmanaged": { + "title": "Unmanaged", + "type": "integer" + } + }, + "required": [ + "managed", + "unmanaged" + ], + "title": "SkillsSummaryResponse", + "type": "object" + }, + "ValidationError": { + "properties": { + "ctx": { + "title": "Context", + "type": "object" + }, + "input": { + "title": "Input" + }, + "loc": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ] + }, + "title": "Location", + "type": "array" + }, + "msg": { + "title": "Message", + "type": "string" + }, + "type": { + "title": "Error Type", + "type": "string" + } + }, + "required": [ + "loc", + "msg", + "type" + ], + "title": "ValidationError", + "type": "object" + } + } + }, + "info": { + "title": "skill-manager", + "version": "0.1.0" + }, + "openapi": "3.1.0", + "paths": { + "/api/health": { + "get": { + "operationId": "health_api_health_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": true, + "title": "Response Health Api Health Get", + "type": "object" + } + } + }, + "description": "Successful Response" + } + }, + "summary": "Health" + } + }, + "/api/marketplace/clis/items/{slug}": { + "get": { + "operationId": "get_cli_marketplace_detail_api_marketplace_clis_items__slug__get", + "parameters": [ + { + "in": "path", + "name": "slug", + "required": true, + "schema": { + "title": "Slug", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CliMarketplaceDetailResponse" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Get Cli Marketplace Detail" + } + }, + "/api/marketplace/clis/popular": { + "get": { + "operationId": "popular_cli_marketplace_api_marketplace_clis_popular_get", + "parameters": [ + { + "in": "query", + "name": "limit", + "required": false, + "schema": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Limit" + } + }, + { + "in": "query", + "name": "offset", + "required": false, + "schema": { + "default": 0, + "title": "Offset", + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CliMarketplacePageResponse" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Popular Cli Marketplace" + } + }, + "/api/marketplace/clis/search": { + "get": { + "operationId": "search_cli_marketplace_api_marketplace_clis_search_get", + "parameters": [ + { + "in": "query", + "name": "q", + "required": false, + "schema": { + "default": "", + "title": "Q", + "type": "string" + } + }, + { + "in": "query", + "name": "limit", + "required": false, + "schema": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Limit" + } + }, + { + "in": "query", + "name": "offset", + "required": false, + "schema": { + "default": 0, + "title": "Offset", + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CliMarketplacePageResponse" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Search Cli Marketplace" + } + }, + "/api/marketplace/install": { + "post": { + "operationId": "install_marketplace_skill_api_marketplace_install_post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InstallMarketplaceSkillRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": { + "type": "boolean" + }, + "title": "Response Install Marketplace Skill Api Marketplace Install Post", + "type": "object" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Install Marketplace Skill" + } + }, + "/api/marketplace/items/{item_id}": { + "get": { + "operationId": "get_marketplace_detail_api_marketplace_items__item_id__get", + "parameters": [ + { + "in": "path", + "name": "item_id", + "required": true, + "schema": { + "title": "Item Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": true, + "title": "Response Get Marketplace Detail Api Marketplace Items Item Id Get", + "type": "object" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Get Marketplace Detail" + } + }, + "/api/marketplace/items/{item_id}/document": { + "get": { + "operationId": "get_marketplace_document_api_marketplace_items__item_id__document_get", + "parameters": [ + { + "in": "path", + "name": "item_id", + "required": true, + "schema": { + "title": "Item Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": true, + "title": "Response Get Marketplace Document Api Marketplace Items Item Id Document Get", + "type": "object" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Get Marketplace Document" + } + }, + "/api/marketplace/mcp/install-targets": { + "get": { + "operationId": "get_mcp_install_targets_api_marketplace_mcp_install_targets_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/McpInstallTargetsResponse" + } + } + }, + "description": "Successful Response" + } + }, + "summary": "Get Mcp Install Targets" + } + }, + "/api/marketplace/mcp/items/{qualified_name}": { + "get": { + "operationId": "get_mcp_marketplace_detail_api_marketplace_mcp_items__qualified_name__get", + "parameters": [ + { + "in": "path", + "name": "qualified_name", + "required": true, + "schema": { + "title": "Qualified Name", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/McpMarketplaceDetailResponse" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Get Mcp Marketplace Detail" + } + }, + "/api/marketplace/mcp/popular": { + "get": { + "operationId": "popular_mcp_marketplace_api_marketplace_mcp_popular_get", + "parameters": [ + { + "in": "query", + "name": "limit", + "required": false, + "schema": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Limit" + } + }, + { + "in": "query", + "name": "offset", + "required": false, + "schema": { + "default": 0, + "title": "Offset", + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/McpMarketplacePageResponse" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Popular Mcp Marketplace" + } + }, + "/api/marketplace/mcp/search": { + "get": { + "operationId": "search_mcp_marketplace_api_marketplace_mcp_search_get", + "parameters": [ + { + "in": "query", + "name": "q", + "required": false, + "schema": { + "default": "", + "title": "Q", + "type": "string" + } + }, + { + "in": "query", + "name": "limit", + "required": false, + "schema": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Limit" + } + }, + { + "in": "query", + "name": "offset", + "required": false, + "schema": { + "default": 0, + "title": "Offset", + "type": "integer" + } + }, + { + "in": "query", + "name": "remote", + "required": false, + "schema": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Remote" + } + }, + { + "in": "query", + "name": "verified", + "required": false, + "schema": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Verified" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/McpMarketplacePageResponse" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Search Mcp Marketplace" } - } - }, - "info": { - "title": "skill-manager", - "version": "0.1.0" - }, - "openapi": "3.1.0", - "paths": { - "/api/health": { + }, + "/api/marketplace/popular": { "get": { - "operationId": "health_api_health_get", + "operationId": "popular_marketplace_api_marketplace_popular_get", + "parameters": [ + { + "in": "query", + "name": "limit", + "required": false, + "schema": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Limit" + } + }, + { + "in": "query", + "name": "offset", + "required": false, + "schema": { + "default": 0, + "title": "Offset", + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": true, + "title": "Response Popular Marketplace Api Marketplace Popular Get", + "type": "object" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Popular Marketplace" + } + }, + "/api/marketplace/search": { + "get": { + "operationId": "search_marketplace_api_marketplace_search_get", + "parameters": [ + { + "in": "query", + "name": "q", + "required": true, + "schema": { + "title": "Q", + "type": "string" + } + }, + { + "in": "query", + "name": "limit", + "required": false, + "schema": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Limit" + } + }, + { + "in": "query", + "name": "offset", + "required": false, + "schema": { + "default": 0, + "title": "Offset", + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": true, + "title": "Response Search Marketplace Api Marketplace Search Get", + "type": "object" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Search Marketplace" + } + }, + "/api/mcp/servers": { + "get": { + "operationId": "list_mcp_servers_api_mcp_servers_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/McpInventoryResponse" + } + } + }, + "description": "Successful Response" + } + }, + "summary": "List Mcp Servers" + }, + "post": { + "operationId": "install_mcp_server_api_mcp_servers_post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AddMcpServerRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/McpServerMutationResponse" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Install Mcp Server" + } + }, + "/api/mcp/servers/{name}": { + "delete": { + "operationId": "uninstall_mcp_server_api_mcp_servers__name__delete", + "parameters": [ + { + "in": "path", + "name": "name", + "required": true, + "schema": { + "title": "Name", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/McpSetHarnessesResultResponse" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Uninstall Mcp Server" + }, + "get": { + "operationId": "get_mcp_server_api_mcp_servers__name__get", + "parameters": [ + { + "in": "path", + "name": "name", + "required": true, + "schema": { + "title": "Name", + "type": "string" + } + } + ], "responses": { "200": { "content": { "application/json": { "schema": { - "additionalProperties": true, - "title": "Response Health Api Health Get", - "type": "object" + "$ref": "#/components/schemas/McpServerDetailResponse" } } }, "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" } }, - "summary": "Health" + "summary": "Get Mcp Server" } }, - "/api/marketplace/install": { + "/api/mcp/servers/{name}/disable": { "post": { - "operationId": "install_marketplace_skill_api_marketplace_install_post", + "operationId": "disable_mcp_server_api_mcp_servers__name__disable_post", + "parameters": [ + { + "in": "path", + "name": "name", + "required": true, + "schema": { + "title": "Name", + "type": "string" + } + } + ], "requestBody": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/InstallMarketplaceSkillRequest" + "$ref": "#/components/schemas/DisableMcpServerRequest" } } }, @@ -157,11 +3548,7 @@ "content": { "application/json": { "schema": { - "additionalProperties": { - "type": "boolean" - }, - "title": "Response Install Marketplace Skill Api Marketplace Install Post", - "type": "object" + "$ref": "#/components/schemas/OkResponse" } } }, @@ -178,31 +3565,39 @@ "description": "Validation Error" } }, - "summary": "Install Marketplace Skill" + "summary": "Disable Mcp Server" } }, - "/api/marketplace/items/{item_id}": { - "get": { - "operationId": "get_marketplace_detail_api_marketplace_items__item_id__get", + "/api/mcp/servers/{name}/enable": { + "post": { + "operationId": "enable_mcp_server_api_mcp_servers__name__enable_post", "parameters": [ { "in": "path", - "name": "item_id", + "name": "name", "required": true, "schema": { - "title": "Item Id", + "title": "Name", "type": "string" } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EnableMcpServerRequest" + } + } + }, + "required": true + }, "responses": { "200": { "content": { "application/json": { "schema": { - "additionalProperties": true, - "title": "Response Get Marketplace Detail Api Marketplace Items Item Id Get", - "type": "object" + "$ref": "#/components/schemas/OkResponse" } } }, @@ -219,31 +3614,39 @@ "description": "Validation Error" } }, - "summary": "Get Marketplace Detail" + "summary": "Enable Mcp Server" } }, - "/api/marketplace/items/{item_id}/document": { - "get": { - "operationId": "get_marketplace_document_api_marketplace_items__item_id__document_get", + "/api/mcp/servers/{name}/reconcile": { + "post": { + "operationId": "reconcile_mcp_server_api_mcp_servers__name__reconcile_post", "parameters": [ { "in": "path", - "name": "item_id", + "name": "name", "required": true, "schema": { - "title": "Item Id", + "title": "Name", "type": "string" } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReconcileMcpServerRequest" + } + } + }, + "required": true + }, "responses": { "200": { "content": { "application/json": { "schema": { - "additionalProperties": true, - "title": "Response Get Marketplace Document Api Marketplace Items Item Id Document Get", - "type": "object" + "$ref": "#/components/schemas/McpApplyConfigResponse" } } }, @@ -260,48 +3663,39 @@ "description": "Validation Error" } }, - "summary": "Get Marketplace Document" + "summary": "Reconcile Mcp Server" } }, - "/api/marketplace/popular": { - "get": { - "operationId": "popular_marketplace_api_marketplace_popular_get", + "/api/mcp/servers/{name}/set-harnesses": { + "post": { + "operationId": "set_mcp_server_harnesses_api_mcp_servers__name__set_harnesses_post", "parameters": [ { - "in": "query", - "name": "limit", - "required": false, - "schema": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Limit" - } - }, - { - "in": "query", - "name": "offset", - "required": false, + "in": "path", + "name": "name", + "required": true, "schema": { - "default": 0, - "title": "Offset", - "type": "integer" + "title": "Name", + "type": "string" } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SetMcpServerHarnessesRequest" + } + } + }, + "required": true + }, "responses": { "200": { "content": { "application/json": { "schema": { - "additionalProperties": true, - "title": "Response Popular Marketplace Api Marketplace Popular Get", - "type": "object" + "$ref": "#/components/schemas/McpSetHarnessesResultResponse" } } }, @@ -318,57 +3712,28 @@ "description": "Validation Error" } }, - "summary": "Popular Marketplace" + "summary": "Set Mcp Server Harnesses" } }, - "/api/marketplace/search": { - "get": { - "operationId": "search_marketplace_api_marketplace_search_get", - "parameters": [ - { - "in": "query", - "name": "q", - "required": true, - "schema": { - "title": "Q", - "type": "string" - } - }, - { - "in": "query", - "name": "limit", - "required": false, - "schema": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Limit" + "/api/mcp/unmanaged/adopt": { + "post": { + "operationId": "adopt_mcp_server_api_mcp_unmanaged_adopt_post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AdoptMcpRequest" + } } }, - { - "in": "query", - "name": "offset", - "required": false, - "schema": { - "default": 0, - "title": "Offset", - "type": "integer" - } - } - ], + "required": true + }, "responses": { "200": { "content": { "application/json": { "schema": { - "additionalProperties": true, - "title": "Response Search Marketplace Api Marketplace Search Get", - "type": "object" + "$ref": "#/components/schemas/McpApplyConfigResponse" } } }, @@ -385,7 +3750,25 @@ "description": "Validation Error" } }, - "summary": "Search Marketplace" + "summary": "Adopt Mcp Server" + } + }, + "/api/mcp/unmanaged/by-server": { + "get": { + "operationId": "list_unmanaged_by_server_api_mcp_unmanaged_by_server_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/McpUnmanagedByServerResponse" + } + } + }, + "description": "Successful Response" + } + }, + "summary": "List Unmanaged By Server" } }, "/api/settings": { @@ -467,9 +3850,7 @@ "content": { "application/json": { "schema": { - "additionalProperties": true, - "title": "Response List Skills Api Skills Get", - "type": "object" + "$ref": "#/components/schemas/SkillsPageResponse" } } }, @@ -487,9 +3868,7 @@ "content": { "application/json": { "schema": { - "additionalProperties": true, - "title": "Response Manage All Skills Api Skills Manage All Post", - "type": "object" + "$ref": "#/components/schemas/BulkManageResultResponse" } } }, @@ -518,9 +3897,7 @@ "content": { "application/json": { "schema": { - "additionalProperties": true, - "title": "Response Get Skill Detail Api Skills Skill Ref Get", - "type": "object" + "$ref": "#/components/schemas/SkillDetailResponse" } } }, @@ -559,11 +3936,7 @@ "content": { "application/json": { "schema": { - "additionalProperties": { - "type": "boolean" - }, - "title": "Response Delete Skill Api Skills Skill Ref Delete Post", - "type": "object" + "$ref": "#/components/schemas/OkResponse" } } }, @@ -612,11 +3985,7 @@ "content": { "application/json": { "schema": { - "additionalProperties": { - "type": "boolean" - }, - "title": "Response Disable Skill Api Skills Skill Ref Disable Post", - "type": "object" + "$ref": "#/components/schemas/OkResponse" } } }, @@ -665,11 +4034,7 @@ "content": { "application/json": { "schema": { - "additionalProperties": { - "type": "boolean" - }, - "title": "Response Enable Skill Api Skills Skill Ref Enable Post", - "type": "object" + "$ref": "#/components/schemas/OkResponse" } } }, @@ -708,11 +4073,7 @@ "content": { "application/json": { "schema": { - "additionalProperties": { - "type": "boolean" - }, - "title": "Response Manage Skill Api Skills Skill Ref Manage Post", - "type": "object" + "$ref": "#/components/schemas/OkResponse" } } }, @@ -732,6 +4093,55 @@ "summary": "Manage Skill" } }, + "/api/skills/{skill_ref}/set-harnesses": { + "post": { + "operationId": "set_skill_harnesses_api_skills__skill_ref__set_harnesses_post", + "parameters": [ + { + "in": "path", + "name": "skill_ref", + "required": true, + "schema": { + "title": "Skill Ref", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SetSkillHarnessesRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SetSkillHarnessesResultResponse" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Set Skill Harnesses" + } + }, "/api/skills/{skill_ref}/source-status": { "get": { "operationId": "get_skill_source_status_api_skills__skill_ref__source_status_get", @@ -751,9 +4161,7 @@ "content": { "application/json": { "schema": { - "additionalProperties": true, - "title": "Response Get Skill Source Status Api Skills Skill Ref Source Status Get", - "type": "object" + "$ref": "#/components/schemas/SkillSourceStatusResponse" } } }, @@ -792,11 +4200,7 @@ "content": { "application/json": { "schema": { - "additionalProperties": { - "type": "boolean" - }, - "title": "Response Unmanage Skill Api Skills Skill Ref Unmanage Post", - "type": "object" + "$ref": "#/components/schemas/OkResponse" } } }, @@ -835,11 +4239,7 @@ "content": { "application/json": { "schema": { - "additionalProperties": { - "type": "boolean" - }, - "title": "Response Update Skill Api Skills Skill Ref Update Post", - "type": "object" + "$ref": "#/components/schemas/OkResponse" } } }, diff --git a/frontend/src/app/capability-registry/import-boundary.test.ts b/frontend/src/app/capability-registry/import-boundary.test.ts new file mode 100644 index 0000000..525bf0f --- /dev/null +++ b/frontend/src/app/capability-registry/import-boundary.test.ts @@ -0,0 +1,41 @@ +import { readdirSync, readFileSync, statSync } from "node:fs"; +import { join, relative } from "node:path"; +import { describe, expect, it } from "vitest"; + +const FORBIDDEN = [ + ["../..", "mcp", "api"].join("/"), + ["../..", "skills", "api"].join("/"), + ["../..", "settings", "queries"].join("/"), + ["..", "mcp", "api"].join("/"), + ["..", "skills", "api"].join("/"), + ["..", "settings", "queries"].join("/"), +]; + +describe("feature public import boundaries", () => { + it("keeps cross-feature imports on public APIs", () => { + const root = join(process.cwd(), "frontend", "src"); + const violations: string[] = []; + for (const file of sourceFiles(root)) { + const source = readFileSync(file, "utf8"); + if (FORBIDDEN.some((pattern) => source.includes(pattern))) { + violations.push(relative(root, file)); + } + } + + expect(violations).toEqual([]); + }); +}); + +function sourceFiles(dir: string): string[] { + const result: string[] = []; + for (const entry of readdirSync(dir)) { + const path = join(dir, entry); + const stat = statSync(path); + if (stat.isDirectory()) { + result.push(...sourceFiles(path)); + } else if (/\.(ts|tsx)$/.test(entry)) { + result.push(path); + } + } + return result; +} diff --git a/frontend/src/app/capability-registry/index.ts b/frontend/src/app/capability-registry/index.ts new file mode 100644 index 0000000..54763c2 --- /dev/null +++ b/frontend/src/app/capability-registry/index.ts @@ -0,0 +1,20 @@ +export { invalidateCapabilityQueries } from "./invalidation"; +export { + buildOverviewModel, + invalidateOverviewData, + useOverviewData, + useOverviewModel, + type OverviewExtensionKind, + type OverviewHarnessRow, + type OverviewMarketplaceEntry, + type OverviewModel, + type OverviewReviewItem, + type OverviewStats, +} from "./overview"; +export { + useSidebarModel, + type SidebarGroupModel, + type SidebarIconKey, + type SidebarLinkModel, + type SidebarModel, +} from "./sidebar"; diff --git a/frontend/src/app/capability-registry/invalidation.test.ts b/frontend/src/app/capability-registry/invalidation.test.ts new file mode 100644 index 0000000..28d6062 --- /dev/null +++ b/frontend/src/app/capability-registry/invalidation.test.ts @@ -0,0 +1,20 @@ +import { describe, expect, it, vi } from "vitest"; +import type { QueryClient } from "@tanstack/react-query"; + +import { invalidateCapabilityQueries } from "./invalidation"; + +describe("capability invalidation", () => { + it("invalidates every capability-backed app surface", async () => { + const invalidateQueries = vi.fn().mockResolvedValue(undefined); + const queryClient = { invalidateQueries } as unknown as QueryClient; + + await invalidateCapabilityQueries(queryClient); + + expect(invalidateQueries).toHaveBeenCalledWith({ queryKey: ["skills", "list"] }); + expect(invalidateQueries).toHaveBeenCalledWith({ queryKey: ["skills", "detail"] }); + expect(invalidateQueries).toHaveBeenCalledWith({ queryKey: ["skills", "source-status"] }); + expect(invalidateQueries).toHaveBeenCalledWith({ queryKey: ["mcp"] }); + expect(invalidateQueries).toHaveBeenCalledWith({ queryKey: ["settings"] }); + expect(invalidateQueries).toHaveBeenCalledWith({ queryKey: ["marketplace"] }); + }); +}); diff --git a/frontend/src/app/capability-registry/invalidation.ts b/frontend/src/app/capability-registry/invalidation.ts new file mode 100644 index 0000000..d7d0c91 --- /dev/null +++ b/frontend/src/app/capability-registry/invalidation.ts @@ -0,0 +1,15 @@ +import type { QueryClient } from "@tanstack/react-query"; + +import { invalidateMarketplaceQueries } from "../../features/marketplace/public"; +import { invalidateMcpQueries } from "../../features/mcp/public"; +import { invalidateSettingsQueries } from "../../features/settings/public"; +import { invalidateSkillsQueries } from "../../features/skills/public"; + +export async function invalidateCapabilityQueries(queryClient: QueryClient): Promise { + await Promise.all([ + invalidateSkillsQueries(queryClient), + invalidateMcpQueries(queryClient), + invalidateSettingsQueries(queryClient), + invalidateMarketplaceQueries(queryClient), + ]); +} diff --git a/frontend/src/app/capability-registry/overview.test.ts b/frontend/src/app/capability-registry/overview.test.ts new file mode 100644 index 0000000..cef980b --- /dev/null +++ b/frontend/src/app/capability-registry/overview.test.ts @@ -0,0 +1,32 @@ +import { describe, expect, it } from "vitest"; + +import { buildOverviewModel } from "./overview"; + +describe("capability overview model", () => { + it("keeps CLIs as discover-only and local lifecycle rows for Skills/MCP", () => { + const model = buildOverviewModel( + { + summary: { managed: 2, unmanaged: 1 }, + harnessColumns: [], + rows: [], + }, + { + columns: [], + entries: [ + { name: "exa", displayName: "Exa", kind: "managed", spec: null, canEnable: true, sightings: [] }, + { name: "firecrawl", displayName: "firecrawl", kind: "unmanaged", spec: null, canEnable: false, sightings: [] }, + ], + issues: [], + }, + ); + + expect(model.extensions.map((entry) => entry.key)).toEqual(["skills", "mcp"]); + expect(model.marketplaceEntries.map((entry) => entry.key)).toEqual(["skills", "mcp", "clis"]); + expect(model.marketplaceEntries.find((entry) => entry.key === "clis")).toMatchObject({ + badge: "Preview only", + action: { to: "/marketplace/clis" }, + }); + expect(model.stats.inUse.value).toBe(3); + expect(model.stats.needsReview.value).toBe(2); + }); +}); diff --git a/frontend/src/app/capability-registry/overview.ts b/frontend/src/app/capability-registry/overview.ts new file mode 100644 index 0000000..4ebea0f --- /dev/null +++ b/frontend/src/app/capability-registry/overview.ts @@ -0,0 +1,466 @@ +import type { QueryClient } from "@tanstack/react-query"; +import { useMemo } from "react"; + +import { + invalidateMcpQueries, + isMcpHarnessAddressable, + mcpRoutes, + useMcpInventoryQuery, + type McpInventoryDto, +} from "../../features/mcp/public"; +import { + invalidateSkillsQueries, + skillsRoutes, + useSkillsListQuery, + type SkillsWorkspaceData, +} from "../../features/skills/public"; +import { marketplaceRoutes } from "../../features/marketplace/public"; + +export interface OverviewStatMetric { + value: number | null; + detail: string; +} + +export interface OverviewStats { + inUse: OverviewStatMetric; + needsReview: OverviewStatMetric; + harnesses: OverviewStatMetric; +} + +export interface OverviewExtensionAction { + label: string; + to: string; + primary?: boolean; +} + +export interface OverviewExtensionFact { + label: string; + value: number | null; + tone?: "normal" | "warning"; +} + +export interface OverviewExtensionKind { + key: "skills" | "mcp"; + label: string; + iconKey: "skills" | "mcp"; + facts: OverviewExtensionFact[]; + actions: OverviewExtensionAction[]; +} + +export interface OverviewMarketplaceAction { + label: string; + to: string; + primary?: boolean; +} + +export interface OverviewMarketplaceEntry { + key: "skills" | "mcp" | "clis"; + label: string; + iconKey: "skills" | "mcp" | "clis"; + sourceLabel: string; + badge?: string; + tone?: "normal" | "accent"; + action: OverviewMarketplaceAction; +} + +export interface OverviewReviewItem { + key: string; + label: string; + description: string; + count: number; + to: string; + tone: "neutral" | "warning" | "danger"; +} + +export interface OverviewHarnessRow { + harness: string; + label: string; + logoKey: string | null; + enabledSkills: number; + foundSkills: number; + managedMcpServers: number; + differentConfigMcpServers: number; + unmanagedMcpServers: number; + mcpWritable: boolean | null; + mcpUnavailableReason: string | null; +} + +export interface OverviewModel { + stats: OverviewStats; + extensions: OverviewExtensionKind[]; + marketplaceEntries: OverviewMarketplaceEntry[]; + reviewItems: OverviewReviewItem[]; + harnessRows: OverviewHarnessRow[]; +} + +export function useOverviewData() { + const skillsQuery = useSkillsListQuery(); + const mcpQuery = useMcpInventoryQuery(); + const model = useOverviewModel(skillsQuery.data, mcpQuery.data); + + return { + skillsQuery, + mcpQuery, + model, + }; +} + +export async function invalidateOverviewData(queryClient: QueryClient): Promise { + await Promise.all([ + invalidateSkillsQueries(queryClient), + invalidateMcpQueries(queryClient), + ]); +} + +interface HarnessAccumulator extends OverviewHarnessRow { + order: number; +} + +export function useOverviewModel( + skills: SkillsWorkspaceData | null | undefined, + mcp: McpInventoryDto | null | undefined, +): OverviewModel { + return useMemo(() => buildOverviewModel(skills, mcp), [skills, mcp]); +} + +export function buildOverviewModel( + skills: SkillsWorkspaceData | null | undefined, + mcp: McpInventoryDto | null | undefined, +): OverviewModel { + const inUseSkills = skills?.summary.managed ?? null; + const skillsToReview = skills?.summary.unmanaged ?? null; + const inUseMcpServers = mcp?.entries.filter((entry) => entry.kind === "managed").length ?? null; + const mcpConfigsToReview = mcp?.entries.filter((entry) => entry.kind === "unmanaged").length ?? null; + const differentConfigMcpServers = + mcp?.entries.filter( + (entry) => + entry.kind === "managed" && + entry.sightings.some((sighting) => sighting.state === "drifted"), + ).length ?? null; + const inventoryIssues = mcp?.issues?.length ?? null; + const unavailableHarnesses = mcp?.columns.filter((column) => column.mcpWritable === false).length ?? null; + const reviewItems = buildReviewItems({ + skillsToReview, + mcpConfigsToReview, + differentConfigMcpServers, + inventoryIssues, + unavailableHarnesses, + }); + const harnessRows = buildHarnessRows(skills, mcp); + const hasOverviewData = Boolean(skills || mcp); + + return { + stats: buildStats({ + inUseSkills, + inUseMcpServers, + needsReview: hasOverviewData ? reviewItems.reduce((total, item) => total + item.count, 0) : null, + harnesses: hasOverviewData ? harnessRows.length : null, + }), + extensions: buildExtensions({ + inUseSkills, + skillsToReview, + inUseMcpServers, + mcpConfigsToReview, + differentConfigMcpServers, + inventoryIssues, + unavailableHarnesses, + }), + marketplaceEntries: buildMarketplaceEntries(), + reviewItems, + harnessRows, + }; +} + +function buildStats({ + inUseSkills, + inUseMcpServers, + needsReview, + harnesses, +}: { + inUseSkills: number | null; + inUseMcpServers: number | null; + needsReview: number | null; + harnesses: number | null; +}): OverviewStats { + return { + inUse: { + value: sumKnown(inUseSkills, inUseMcpServers), + detail: [ + formatMetricPart(inUseSkills, "skill", "skills"), + formatMetricPart(inUseMcpServers, "MCP", "MCP"), + ].join(" · "), + }, + needsReview: { + value: needsReview, + detail: "adoption · config · inventory", + }, + harnesses: { + value: harnesses, + detail: `${formatCount(harnesses)} observed`, + }, + }; +} + +function sumKnown(...values: Array): number | null { + const known = values.filter((value): value is number => value != null); + if (known.length === 0) { + return null; + } + return known.reduce((total, value) => total + value, 0); +} + +function buildExtensions({ + inUseSkills, + skillsToReview, + inUseMcpServers, + mcpConfigsToReview, + differentConfigMcpServers, + inventoryIssues, + unavailableHarnesses, +}: { + inUseSkills: number | null; + skillsToReview: number | null; + inUseMcpServers: number | null; + mcpConfigsToReview: number | null; + differentConfigMcpServers: number | null; + inventoryIssues: number | null; + unavailableHarnesses: number | null; +}): OverviewExtensionKind[] { + return [ + { + key: "skills", + label: "Skills", + iconKey: "skills", + facts: [ + { label: "in use", value: inUseSkills }, + { label: "review", value: skillsToReview, tone: "warning" }, + ], + actions: [ + { label: "In use", to: skillsRoutes.inUse, primary: true }, + { label: "Needs review", to: skillsRoutes.needsReview }, + ], + }, + { + key: "mcp", + label: "MCP Servers", + iconKey: "mcp", + facts: [ + { label: "in use", value: inUseMcpServers }, + { + label: "review", + value: sumKnown( + mcpConfigsToReview, + differentConfigMcpServers, + inventoryIssues, + unavailableHarnesses, + ), + tone: "warning", + }, + ], + actions: [ + { label: "In use", to: mcpRoutes.inUse, primary: true }, + { label: "Needs review", to: mcpRoutes.needsReview }, + ], + }, + ]; +} + +function buildMarketplaceEntries(): OverviewMarketplaceEntry[] { + return [ + { + key: "skills", + label: "Skills Marketplace", + iconKey: "skills", + sourceLabel: "skills.sh", + action: { label: "Browse", to: marketplaceRoutes.skills, primary: true }, + }, + { + key: "mcp", + label: "MCP Marketplace", + iconKey: "mcp", + sourceLabel: "smithery.ai", + action: { label: "Browse", to: marketplaceRoutes.mcp, primary: true }, + }, + { + key: "clis", + label: "CLI Marketplace", + iconKey: "clis", + sourceLabel: "CLIs.dev", + badge: "Preview only", + tone: "accent", + action: { label: "Browse", to: marketplaceRoutes.clis, primary: true }, + }, + ]; +} + +function formatMetricPart(value: number | null, singular: string, plural: string): string { + const label = value === 1 ? singular : plural; + return `${formatCount(value)} ${label}`; +} + +function formatCount(value: number | null): string { + return value == null ? "-" : value.toLocaleString(); +} + +function buildReviewItems({ + skillsToReview, + mcpConfigsToReview, + differentConfigMcpServers, + inventoryIssues, + unavailableHarnesses, +}: { + skillsToReview: number | null; + mcpConfigsToReview: number | null; + differentConfigMcpServers: number | null; + inventoryIssues: number | null; + unavailableHarnesses: number | null; +}): OverviewReviewItem[] { + const items: OverviewReviewItem[] = []; + if (skillsToReview && skillsToReview > 0) { + items.push({ + key: "skills-review", + label: "Skills to review", + description: "Adopt local skills so they can be enabled consistently.", + count: skillsToReview, + to: skillsRoutes.needsReview, + tone: "neutral", + }); + } + if (mcpConfigsToReview && mcpConfigsToReview > 0) { + items.push({ + key: "mcp-review", + label: "MCP configs to review", + description: "Adopt existing harness configs into Skill Manager.", + count: mcpConfigsToReview, + to: mcpRoutes.needsReview, + tone: "neutral", + }); + } + if (differentConfigMcpServers && differentConfigMcpServers > 0) { + items.push({ + key: "different-mcp-configs", + label: "Different MCP configs", + description: "Resolve which config should become the source of truth.", + count: differentConfigMcpServers, + to: mcpRoutes.inUse, + tone: "warning", + }); + } + if (inventoryIssues && inventoryIssues > 0) { + items.push({ + key: "mcp-inventory-issues", + label: "MCP inventory issues", + description: "Some Skill Manager MCP records could not be loaded cleanly.", + count: inventoryIssues, + to: mcpRoutes.inUse, + tone: "danger", + }); + } + if (unavailableHarnesses && unavailableHarnesses > 0) { + items.push({ + key: "unavailable-mcp-harnesses", + label: "MCP harness unavailable", + description: "At least one harness cannot safely receive MCP writes.", + count: unavailableHarnesses, + to: "/settings", + tone: "warning", + }); + } + return items; +} + +function buildHarnessRows( + skills: SkillsWorkspaceData | null | undefined, + mcp: McpInventoryDto | null | undefined, +): OverviewHarnessRow[] { + const harnesses = new Map(); + let nextOrder = 0; + + const ensureHarness = (args: { + harness: string; + label?: string | null; + logoKey?: string | null; + }): HarnessAccumulator => { + const existing = harnesses.get(args.harness); + if (existing) { + if (!existing.logoKey && args.logoKey) existing.logoKey = args.logoKey; + if (existing.label === args.harness && args.label) existing.label = args.label; + return existing; + } + const row: HarnessAccumulator = { + harness: args.harness, + label: args.label ?? args.harness, + logoKey: args.logoKey ?? null, + enabledSkills: 0, + foundSkills: 0, + managedMcpServers: 0, + differentConfigMcpServers: 0, + unmanagedMcpServers: 0, + mcpWritable: null, + mcpUnavailableReason: null, + order: nextOrder, + }; + nextOrder += 1; + harnesses.set(args.harness, row); + return row; + }; + + for (const column of skills?.harnessColumns ?? []) { + ensureHarness({ + harness: column.harness, + label: column.label, + logoKey: column.logoKey ?? column.harness, + }); + } + + for (const row of skills?.rows ?? []) { + for (const cell of row.cells) { + const harness = ensureHarness({ + harness: cell.harness, + label: cell.label, + logoKey: cell.logoKey ?? cell.harness, + }); + if (cell.state === "enabled") harness.enabledSkills += 1; + if (cell.state === "found") harness.foundSkills += 1; + } + } + + for (const column of mcp?.columns ?? []) { + const harness = ensureHarness({ + harness: column.harness, + label: column.label, + logoKey: column.logoKey ?? column.harness, + }); + harness.mcpWritable = column.mcpWritable; + harness.mcpUnavailableReason = column.mcpUnavailableReason ?? null; + } + + for (const entry of mcp?.entries ?? []) { + for (const sighting of entry.sightings) { + const column = mcp?.columns.find((candidate) => candidate.harness === sighting.harness); + const harness = ensureHarness({ + harness: sighting.harness, + label: column?.label, + logoKey: column?.logoKey ?? sighting.harness, + }); + if (entry.kind === "managed" && sighting.state === "managed") { + harness.managedMcpServers += 1; + } + if (entry.kind === "managed" && sighting.state === "drifted") { + harness.differentConfigMcpServers += 1; + } + if (entry.kind === "unmanaged" && sighting.state === "unmanaged") { + harness.unmanagedMcpServers += 1; + } + } + } + + return Array.from(harnesses.values()) + .sort((a, b) => a.order - b.order) + .map(({ order: _order, ...row }) => row); +} + +export function inUseMcpHarnessCount(mcp: McpInventoryDto | null | undefined): number | null { + if (!mcp) return null; + return mcp.columns.filter(isMcpHarnessAddressable).length; +} diff --git a/frontend/src/app/capability-registry/sidebar.ts b/frontend/src/app/capability-registry/sidebar.ts new file mode 100644 index 0000000..4457a02 --- /dev/null +++ b/frontend/src/app/capability-registry/sidebar.ts @@ -0,0 +1,126 @@ +import { useMemo } from "react"; + +import { productLanguage } from "../../lib/product-language"; +import { mcpRoutes, useMcpInventoryQuery } from "../../features/mcp/public"; +import { skillsRoutes, useSkillsListQuery } from "../../features/skills/public"; +import { marketplaceRoutes } from "../../features/marketplace/public"; + +export type SidebarIconKey = "overview" | "skills" | "mcp" | "marketplace"; + +export interface SidebarLinkModel { + key: string; + to: string; + label: string; + count?: number | null; +} + +export interface SidebarGroupModel { + key: string; + label: string; + iconKey: SidebarIconKey; + count?: number | null; + links: SidebarLinkModel[]; +} + +export interface SidebarModel { + topLinks: SidebarLinkModel[]; + groups: SidebarGroupModel[]; +} + +export function useSidebarModel(): SidebarModel { + const skillsQuery = useSkillsListQuery(); + const mcpQuery = useMcpInventoryQuery(); + + const inUseSkills = skillsQuery.data?.summary.managed ?? null; + const needsReviewSkills = skillsQuery.data?.summary.unmanaged ?? null; + const mcpCounts = mcpSidebarCounts(mcpQuery.data); + + return useMemo( + () => ({ + topLinks: [ + { + key: "overview", + to: "/overview", + label: "Overview", + }, + ], + groups: [ + { + key: "skills", + label: "Skills", + iconKey: "skills", + count: sumLoadedCounts(inUseSkills, needsReviewSkills), + links: [ + { key: "skills-use", to: skillsRoutes.inUse, label: productLanguage.inUse, count: inUseSkills }, + { + key: "skills-review", + to: skillsRoutes.needsReview, + label: productLanguage.needsReview, + count: needsReviewSkills, + }, + ], + }, + { + key: "mcp", + label: "MCP Servers", + iconKey: "mcp", + count: mcpCounts.total, + links: [ + { key: "mcp-use", to: mcpRoutes.inUse, label: productLanguage.inUse, count: mcpCounts.inUse }, + { + key: "mcp-review", + to: mcpRoutes.needsReview, + label: productLanguage.needsReview, + count: mcpCounts.needsReview, + }, + ], + }, + { + key: "marketplace", + label: "Marketplace", + iconKey: "marketplace", + links: [ + { key: "marketplace-skills", to: marketplaceRoutes.skills, label: "Skills" }, + { key: "marketplace-mcp", to: marketplaceRoutes.mcp, label: "MCP" }, + { key: "marketplace-clis", to: marketplaceRoutes.clis, label: "CLIs" }, + ], + }, + ], + }), + [ + inUseSkills, + mcpCounts.inUse, + mcpCounts.needsReview, + mcpCounts.total, + needsReviewSkills, + ], + ); +} + +function sumLoadedCounts(...counts: Array): number | null { + let total = 0; + for (const count of counts) { + if (count == null) { + return null; + } + total += count; + } + return total; +} + +function mcpSidebarCounts(inventory: ReturnType["data"]): { + inUse: number | null; + needsReview: number | null; + total: number | null; +} { + if (!inventory) { + return { inUse: null, needsReview: null, total: null }; + } + const inUse = inventory.entries.filter((entry) => entry.kind === "managed").length; + const needsReview = inventory.entries.filter((entry) => entry.kind === "unmanaged").length; + return { + inUse, + needsReview, + total: sumLoadedCounts(inUse, needsReview), + }; +} diff --git a/frontend/src/components/AppShell.tsx b/frontend/src/components/AppShell.tsx deleted file mode 100644 index be1ad58..0000000 --- a/frontend/src/components/AppShell.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import type { ReactNode } from "react"; -import { Settings } from "lucide-react"; -import { NavLink, useLocation } from "react-router-dom"; - -import { LoadingSpinner } from "./LoadingSpinner"; - -interface AppShellProps { - children: ReactNode; - onRefreshData?: () => void | Promise; - refreshPending?: boolean; -} - -export function AppShell({ children, onRefreshData, refreshPending = false }: AppShellProps) { - const location = useLocation(); - const isSkillsRoute = location.pathname.startsWith("/skills"); - - return ( -
    -
    -
    -

    Universal Skill Manager

    -

    skill-manager

    -
    - -
    - - `icon-button app-header__settings${isActive ? " is-active" : ""}`} - aria-label="Open settings" - > - - -
    -
    -
    {children}
    -
    - ); -} diff --git a/frontend/src/components/BulkActionBar.tsx b/frontend/src/components/BulkActionBar.tsx new file mode 100644 index 0000000..429cb71 --- /dev/null +++ b/frontend/src/components/BulkActionBar.tsx @@ -0,0 +1,147 @@ +import { useEffect, useState } from "react"; +import { Check, CircleSlash2, Trash2, X } from "lucide-react"; + +import { ConfirmActionDialog } from "./ConfirmActionDialog"; +import { LoadingSpinner } from "./LoadingSpinner"; + +export type MultiSelectAction = "enable-all" | "disable-all" | "delete"; + +interface BulkActionBarProps { + selectedCount: number; + pending: MultiSelectAction | null; + onClear: () => void; + onEnableAll: () => Promise; + onDisableAll: () => Promise; + onDelete: () => Promise; + destructive: { + /** Button aria-label + confirm button text (e.g. "Delete" / "Uninstall"). */ + actionLabel: string; + /** Confirm dialog title (e.g. "Delete 3 skills?"). */ + confirmTitle: string; + /** Confirm dialog body paragraph. */ + confirmDescription: string; + /** Optional quieter secondary note below the main body. */ + confirmNote?: string; + }; +} + +export function BulkActionBar({ + selectedCount, + pending, + onClear, + onEnableAll, + onDisableAll, + onDelete, + destructive, +}: BulkActionBarProps) { + const [visible, setVisible] = useState(selectedCount > 0); + const [confirmOpen, setConfirmOpen] = useState(false); + + useEffect(() => { + if (selectedCount > 0) { + setVisible(true); + } else { + const timer = window.setTimeout(() => setVisible(false), 220); + return () => window.clearTimeout(timer); + } + return undefined; + }, [selectedCount]); + + if (!visible) { + return null; + } + + const disabled = pending !== null; + const active = selectedCount > 0; + + return ( + <> +
    +
    +
    +
    + + {selectedCount} selected + + +
    + +
    +
    + + { + setConfirmOpen(false); + await onDelete(); + }} + /> + + ); +} diff --git a/frontend/src/components/ConfirmActionDialog.test.tsx b/frontend/src/components/ConfirmActionDialog.test.tsx new file mode 100644 index 0000000..9aad98c --- /dev/null +++ b/frontend/src/components/ConfirmActionDialog.test.tsx @@ -0,0 +1,62 @@ +import { fireEvent, render, screen } from "@testing-library/react"; +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; + +import { ConfirmActionDialog } from "./ConfirmActionDialog"; + +function renderDialog(props: Partial[0]> = {}) { + const onOpenChange = vi.fn(); + const onConfirm = vi.fn(); + + const utils = render( + , + ); + + return { ...utils, onOpenChange, onConfirm }; +} + +describe("ConfirmActionDialog", () => { + beforeEach(() => { + vi.stubGlobal( + "ResizeObserver", + class ResizeObserver { + observe() {} + unobserve() {} + disconnect() {} + }, + ); + }); + + afterEach(() => { + vi.unstubAllGlobals(); + }); + + it("renders the title, description, and secondary note in the standard dialog body", () => { + renderDialog(); + expect(screen.getByRole("heading", { name: /uninstall exa search\?/i })).toBeInTheDocument(); + expect(screen.getByText(/remove this server from your central catalog/i)).toBeInTheDocument(); + expect(screen.getByText(/updates local harness config files/i)).toBeInTheDocument(); + }); + + it("closes through the cancel button when not pending", () => { + const { onOpenChange } = renderDialog(); + fireEvent.click(screen.getByRole("button", { name: /cancel/i })); + expect(onOpenChange).toHaveBeenCalledWith(false); + }); + + it("disables the footer while pending", () => { + renderDialog({ isPending: true }); + expect(screen.getByRole("button", { name: /cancel/i })).toBeDisabled(); + expect(screen.getByRole("button", { name: /uninstalling/i })).toBeDisabled(); + }); +}); diff --git a/frontend/src/features/skills/components/dialogs/SkillActionDialog.tsx b/frontend/src/components/ConfirmActionDialog.tsx similarity index 68% rename from frontend/src/features/skills/components/dialogs/SkillActionDialog.tsx rename to frontend/src/components/ConfirmActionDialog.tsx index b3acfda..80ac634 100644 --- a/frontend/src/features/skills/components/dialogs/SkillActionDialog.tsx +++ b/frontend/src/components/ConfirmActionDialog.tsx @@ -1,37 +1,33 @@ import * as Dialog from "@radix-ui/react-dialog"; import type { ReactNode } from "react"; -import { LoadingSpinner } from "../../../../components/LoadingSpinner"; +import { LoadingSpinner } from "./LoadingSpinner"; -interface SkillActionDialogProps { +interface ConfirmActionDialogProps { open: boolean; - eyebrow: string; title: string; description: ReactNode; note?: ReactNode; - tone?: "neutral" | "danger"; confirmLabel: string; - confirmClassName: string; pendingLabel: string; isPending: boolean; + confirmTone?: "primary" | "danger"; onOpenChange: (open: boolean) => void; onConfirm: () => void | Promise; } -export function SkillActionDialog({ +export function ConfirmActionDialog({ open, - eyebrow, title, description, note, - tone = "neutral", confirmLabel, - confirmClassName, pendingLabel, isPending, + confirmTone = "danger", onOpenChange, onConfirm, -}: SkillActionDialogProps) { +}: ConfirmActionDialogProps) { return ( { if (isPending) { event.preventDefault(); @@ -61,18 +57,17 @@ export function SkillActionDialog({ } }} > -
    -

    {eyebrow}

    - {title} +
    + {title}
    - + {description} - {note ?

    {note}

    : null} -
    + {note ?
    {note}
    : null} +
    + ))} +
    + ) : null} + + {trailing} +
    + ); +} diff --git a/frontend/src/components/PageHeader.tsx b/frontend/src/components/PageHeader.tsx new file mode 100644 index 0000000..f527cce --- /dev/null +++ b/frontend/src/components/PageHeader.tsx @@ -0,0 +1,19 @@ +import type { ReactNode } from "react"; + +interface PageHeaderProps { + title: string; + subtitle?: string; + actions?: ReactNode; +} + +export function PageHeader({ title, subtitle, actions }: PageHeaderProps) { + return ( +
    +
    +

    {title}

    + {subtitle ?

    {subtitle}

    : null} +
    + {actions ?
    {actions}
    : null} +
    + ); +} diff --git a/frontend/src/components/SearchInput.tsx b/frontend/src/components/SearchInput.tsx deleted file mode 100644 index ed049c9..0000000 --- a/frontend/src/components/SearchInput.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import { Search } from "lucide-react"; - -import { LoadingSpinner } from "./LoadingSpinner"; - -interface SearchInputProps { - value: string; - onChange: (value: string) => void; - onSubmit: () => void; - placeholder?: string; - submitPending?: boolean; - disabled?: boolean; -} - -export function SearchInput({ - value, - onChange, - onSubmit, - placeholder = "Search...", - submitPending = false, - disabled, -}: SearchInputProps) { - return ( -
    -
    - - onChange(e.target.value)} - onKeyDown={(e) => e.key === "Enter" && onSubmit()} - disabled={disabled} - /> -
    - -
    - ); -} diff --git a/frontend/src/components/Shell.tsx b/frontend/src/components/Shell.tsx new file mode 100644 index 0000000..f8a7da1 --- /dev/null +++ b/frontend/src/components/Shell.tsx @@ -0,0 +1,20 @@ +import type { ReactNode } from "react"; + +import { Sidebar } from "./Sidebar"; + +interface ShellProps { + children: ReactNode; + onRefresh: () => void | Promise; + refreshPending: boolean; +} + +export function Shell({ children, onRefresh, refreshPending }: ShellProps) { + return ( +
    + +
    +
    {children}
    +
    +
    + ); +} diff --git a/frontend/src/components/Sidebar.tsx b/frontend/src/components/Sidebar.tsx new file mode 100644 index 0000000..688839c --- /dev/null +++ b/frontend/src/components/Sidebar.tsx @@ -0,0 +1,297 @@ +import { + type RefObject, + type ReactNode, + useCallback, + useEffect, + useLayoutEffect, + useRef, + useState, +} from "react"; +import { + BookOpen, + ChevronDown, + LayoutDashboard, + RefreshCw, + Settings, + Store, + SunMedium, + Terminal, +} from "lucide-react"; +import { Link, NavLink, useLocation } from "react-router-dom"; + +import { useSidebarModel, type SidebarIconKey } from "../app/capability-registry"; +import { LoadingSpinner } from "./LoadingSpinner"; +import { useToast } from "./Toast"; + +interface SidebarProps { + onRefresh: () => void | Promise; + refreshPending: boolean; +} + +export function Sidebar({ onRefresh, refreshPending }: SidebarProps) { + const model = useSidebarModel(); + const { toast } = useToast(); + + return ( + + ); +} + +function sidebarIcon(iconKey: SidebarIconKey): ReactNode { + if (iconKey === "skills") return ; + if (iconKey === "mcp") return ; + if (iconKey === "marketplace") return ; + return ; +} + +function NavGroup({ + label, + icon, + count, + children, +}: { + label: string; + icon: ReactNode; + count?: number | null; + children: ReactNode; +}) { + const [collapsed, setCollapsed] = useState(false); + const listRef = useRef(null); + const indicator = useNavIndicator(listRef, collapsed); + + return ( +
    + + {!collapsed ? ( +
    +
    + ) : null} +
    + ); +} + +interface IndicatorRect { + top: number; + left: number; + width: number; + height: number; +} + +function measureActive(list: HTMLDivElement): IndicatorRect | null { + const active = list.querySelector(".sidebar-link.is-active"); + if (!active) { + return null; + } + return { + top: active.offsetTop, + left: active.offsetLeft, + width: active.offsetWidth, + height: active.offsetHeight, + }; +} + +function measureLink(link: HTMLElement): IndicatorRect { + return { + top: link.offsetTop, + left: link.offsetLeft, + width: link.offsetWidth, + height: link.offsetHeight, + }; +} + +function useNavIndicator( + listRef: RefObject, + collapsed: boolean, +): IndicatorRect | null { + const location = useLocation(); + const [activeRect, setActiveRect] = useState(null); + const [hoverRect, setHoverRect] = useState(null); + + const refreshActive = useCallback(() => { + const list = listRef.current; + if (!list || collapsed) { + setActiveRect(null); + return; + } + setActiveRect(measureActive(list)); + }, [listRef, collapsed]); + + useLayoutEffect(() => { + refreshActive(); + }, [refreshActive, location.pathname]); + + useEffect(() => { + const list = listRef.current; + if (!list || collapsed || typeof ResizeObserver === "undefined") { + return; + } + const observer = new ResizeObserver(() => refreshActive()); + observer.observe(list); + for (const child of Array.from(list.querySelectorAll(".sidebar-link"))) { + observer.observe(child); + } + return () => observer.disconnect(); + }, [listRef, collapsed, refreshActive]); + + useEffect(() => { + const list = listRef.current; + if (!list || collapsed) { + return; + } + + const handlePointerMove = (event: Event): void => { + const target = (event.target as HTMLElement | null)?.closest(".sidebar-link"); + if (!target || !list.contains(target)) { + return; + } + setHoverRect(measureLink(target)); + }; + + const clearHover = (): void => { + setHoverRect(null); + }; + + const handleFocusOut = (event: FocusEvent): void => { + if (!list.contains(event.relatedTarget as Node | null)) { + setHoverRect(null); + } + }; + + list.addEventListener("mouseover", handlePointerMove); + list.addEventListener("focusin", handlePointerMove); + list.addEventListener("mouseleave", clearHover); + list.addEventListener("focusout", handleFocusOut); + + return () => { + list.removeEventListener("mouseover", handlePointerMove); + list.removeEventListener("focusin", handlePointerMove); + list.removeEventListener("mouseleave", clearHover); + list.removeEventListener("focusout", handleFocusOut); + }; + }, [listRef, collapsed]); + + return hoverRect ?? activeRect; +} + +function SidebarTopLink({ + to, + label, + icon, +}: { + to: string; + label: string; + icon: ReactNode; +}) { + return ( + `sidebar-top-link${isActive ? " is-active" : ""}`}> + {icon} + {label} + + ); +} + +function SidebarLink({ + to, + label, + count, +}: { + to: string; + label: string; + count?: number | null; +}) { + return ( + `sidebar-link${isActive ? " is-active" : ""}`}> + + ); +} diff --git a/frontend/src/components/Toast.tsx b/frontend/src/components/Toast.tsx new file mode 100644 index 0000000..3743a07 --- /dev/null +++ b/frontend/src/components/Toast.tsx @@ -0,0 +1,55 @@ +import { createContext, useCallback, useContext, useMemo, useRef, useState, type ReactNode } from "react"; + +interface ToastItem { + id: number; + message: string; +} + +interface ToastContextValue { + toast: (message: string) => void; +} + +const ToastContext = createContext(null); + +export function ToastProvider({ children }: { children: ReactNode }) { + const [items, setItems] = useState([]); + const idRef = useRef(0); + + const toast = useCallback((message: string) => { + const id = ++idRef.current; + setItems((prev) => [...prev, { id, message }]); + setTimeout(() => { + setItems((prev) => prev.filter((item) => item.id !== id)); + }, 3000); + }, []); + + const value = useMemo(() => ({ toast }), [toast]); + + return ( + + {children} +
    + {items.map((item) => ( +
    + {item.message} +
    + ))} +
    +
    + ); +} + +export function useToast() { + const ctx = useContext(ToastContext); + if (!ctx) { + // Soft fallback so components still render outside provider (e.g. unit tests). + return { + toast: (message: string) => { + if (typeof console !== "undefined") { + console.info("[toast]", message); + } + }, + }; + } + return ctx; +} diff --git a/frontend/src/components/ViewModeToggle.tsx b/frontend/src/components/ViewModeToggle.tsx new file mode 100644 index 0000000..00a7c0f --- /dev/null +++ b/frontend/src/components/ViewModeToggle.tsx @@ -0,0 +1,42 @@ +import type { LucideIcon } from "lucide-react"; + +export interface ViewModeOption { + value: T; + label: string; + icon: LucideIcon; +} + +interface ViewModeToggleProps { + mode: T; + options: readonly ViewModeOption[]; + ariaLabel: string; + onChange: (next: T) => void; +} + +export function ViewModeToggle({ + mode, + options, + ariaLabel, + onChange, +}: ViewModeToggleProps) { + return ( +
    + {options.map(({ value, label, icon: Icon }) => { + const active = mode === value; + return ( + + ); + })} +
    + ); +} diff --git a/frontend/src/components/cards/CardMenu.test.tsx b/frontend/src/components/cards/CardMenu.test.tsx new file mode 100644 index 0000000..d545f6d --- /dev/null +++ b/frontend/src/components/cards/CardMenu.test.tsx @@ -0,0 +1,32 @@ +import { fireEvent, render, screen, waitFor } from "@testing-library/react"; +import { describe, expect, it, vi } from "vitest"; + +import { CardMenu } from "./CardMenu"; + +describe("CardMenu", () => { + it("renders shared menu-surface actions and closes after selection", async () => { + const onDelete = vi.fn(); + + render( + , + ); + + fireEvent.click(screen.getByRole("button", { name: "More actions" })); + + const deleteButton = screen.getByRole("button", { name: "Delete" }); + expect(deleteButton.closest(".ui-popup--menu")).not.toBeNull(); + expect(deleteButton).toHaveAttribute("data-destructive"); + + fireEvent.click(deleteButton); + expect(onDelete).toHaveBeenCalledTimes(1); + + await waitFor(() => + expect(screen.queryByRole("button", { name: "Delete" })).not.toBeInTheDocument(), + ); + }); +}); diff --git a/frontend/src/components/cards/CardMenu.tsx b/frontend/src/components/cards/CardMenu.tsx new file mode 100644 index 0000000..4e18c79 --- /dev/null +++ b/frontend/src/components/cards/CardMenu.tsx @@ -0,0 +1,82 @@ +import { type ReactNode, useState } from "react"; +import * as Popover from "@radix-ui/react-popover"; +import { MoreHorizontal } from "lucide-react"; + +export interface CardMenuItem { + key: string; + label: string; + icon?: ReactNode; + onSelect: () => void; + destructive?: boolean; + disabled?: boolean; +} + +interface CardMenuProps { + label: string; + items: readonly CardMenuItem[]; + disabled?: boolean; +} + +/** + * 3-dot icon button + shared popup menu surface used on in-use cards. + */ +export function CardMenu({ label, items, disabled = false }: CardMenuProps) { + const [open, setOpen] = useState(false); + if (items.length === 0) { + return null; + } + return ( + + + + + + event.stopPropagation()} + onPointerDown={(event) => event.stopPropagation()} + > +
      + {items.map((item) => ( +
    • + + + +
    • + ))} +
    +
    +
    +
    + ); +} diff --git a/frontend/src/components/cards/CardSelectCheckbox.tsx b/frontend/src/components/cards/CardSelectCheckbox.tsx new file mode 100644 index 0000000..978d334 --- /dev/null +++ b/frontend/src/components/cards/CardSelectCheckbox.tsx @@ -0,0 +1,59 @@ +import { type KeyboardEvent, type PointerEvent as ReactPointerEvent } from "react"; + +interface CardSelectCheckboxProps { + checked: boolean; + label: string; + onToggle: () => void; + disabled?: boolean; +} + +/** + * Square 14×14 select checkbox used on in-use cards (skills + mcp). + * Stops propagation so it doesn't fire the card's click-to-open handler. + */ +export function CardSelectCheckbox({ + checked, + label, + onToggle, + disabled = false, +}: CardSelectCheckboxProps) { + function handleClick(event: ReactPointerEvent): void { + event.stopPropagation(); + if (disabled) return; + onToggle(); + } + function handleKey(event: KeyboardEvent): void { + if (event.key !== "Enter" && event.key !== " ") return; + event.preventDefault(); + event.stopPropagation(); + if (disabled) return; + onToggle(); + } + + return ( + event.stopPropagation()} + onClick={handleClick} + onKeyDown={handleKey} + > + {checked ? ( + + ) : null} + + ); +} diff --git a/frontend/src/components/cards/NeedsReviewRow.tsx b/frontend/src/components/cards/NeedsReviewRow.tsx new file mode 100644 index 0000000..50a3489 --- /dev/null +++ b/frontend/src/components/cards/NeedsReviewRow.tsx @@ -0,0 +1,108 @@ +import { type ReactNode } from "react"; +import { Loader2, Plus } from "lucide-react"; + +import { OverflowTooltipText } from "../ui/OverflowTooltipText"; +import { UiTooltip } from "../ui/UiTooltip"; +import { UiTooltipTriggerBoundary } from "../ui/UiTooltipTriggerBoundary"; + +interface NeedsReviewRowProps { + name: string; + /** Pre-rendered harness logo stack rendered inline next to the name. */ + logos: ReactNode; + /** Primary meta line, e.g. "Found in 3 harnesses". */ + metaText: string; + /** Optional inline chip(s) after the meta line (Identical / Differs / Match). */ + statusChip?: ReactNode; + /** Optional long-form copy. Line-clamped to 2 lines. */ + description?: string; + actionLabel: string; + /** Shared tooltip copy for the action button. */ + actionTitle?: string; + pending?: boolean; + /** Disables the action button (does not gate the row click-to-detail). */ + actionDisabled?: boolean; + onOpen: () => void; + onAction: () => void; +} + +export function NeedsReviewRow({ + name, + logos, + metaText, + statusChip, + description, + actionLabel, + actionTitle, + pending = false, + actionDisabled = false, + onOpen, + onAction, +}: NeedsReviewRowProps) { + const isActionUnavailable = pending || actionDisabled; + const actionButton = ( + + ); + + const actionControl = !actionTitle + ? actionButton + : isActionUnavailable + ? ( + + {actionButton} + + ) + : ( + + {actionButton} + + ); + + return ( +
    { + if (event.key === "Enter" || event.key === " ") { + event.preventDefault(); + onOpen(); + } + }} + aria-label={`Open detail for ${name}`} + > +
    +
    +

    {name}

    + {logos} +
    +

    {metaText}

    + {description ? ( + + {description} + + ) : null} +
    + +
    + {statusChip} + {actionControl} +
    +
    + ); +} diff --git a/frontend/src/components/detail/DetailBindingIdentity.tsx b/frontend/src/components/detail/DetailBindingIdentity.tsx new file mode 100644 index 0000000..bfa13fe --- /dev/null +++ b/frontend/src/components/detail/DetailBindingIdentity.tsx @@ -0,0 +1,63 @@ +import { HarnessAvatar } from "../harness/HarnessAvatar"; +import { UiTooltip } from "../ui/UiTooltip"; + +export type DetailBindingTone = "enabled" | "disabled" | "warning"; + +interface DetailBindingIdentityProps { + harness: string; + label: string; + logoKey?: string | null; + statusLabel: string; + tone: DetailBindingTone; + visibleStatus?: string | null; + detail?: string | null; +} + +export function DetailBindingIdentity({ + harness, + label, + logoKey, + statusLabel, + tone, + visibleStatus = null, + detail = null, +}: DetailBindingIdentityProps) { + return ( + <> + + + +
    +
    + + ); +} diff --git a/frontend/src/components/detail/DetailDisclosure.tsx b/frontend/src/components/detail/DetailDisclosure.tsx index 5de8d9f..55fc6bf 100644 --- a/frontend/src/components/detail/DetailDisclosure.tsx +++ b/frontend/src/components/detail/DetailDisclosure.tsx @@ -3,7 +3,6 @@ import { ChevronDown } from "lucide-react"; interface DetailDisclosureProps { title: string; - eyebrow?: string; defaultOpen?: boolean; className?: string; children: ReactNode; @@ -11,7 +10,6 @@ interface DetailDisclosureProps { export function DetailDisclosure({ title, - eyebrow, defaultOpen = false, className = "", children, @@ -21,19 +19,20 @@ export function DetailDisclosure({ return (
    - +

    + +

    {children}
    diff --git a/frontend/src/components/detail/DetailHeader.tsx b/frontend/src/components/detail/DetailHeader.tsx index f1e448d..bdda376 100644 --- a/frontend/src/components/detail/DetailHeader.tsx +++ b/frontend/src/components/detail/DetailHeader.tsx @@ -8,7 +8,6 @@ interface DetailHeaderProps { titleAction?: ReactNode; meta?: ReactNode; utility?: ReactNode; - eyebrow?: string | null; closeLabel?: string; } @@ -18,13 +17,11 @@ export function DetailHeader({ titleAction, meta, utility, - eyebrow = "Details", closeLabel = "Close detail view", }: DetailHeaderProps) { return (
    - {eyebrow ?

    {eyebrow}

    : null}
    {utility ?
    {utility}
    : null} diff --git a/frontend/src/components/detail/DetailNote.tsx b/frontend/src/components/detail/DetailNote.tsx new file mode 100644 index 0000000..f73dee0 --- /dev/null +++ b/frontend/src/components/detail/DetailNote.tsx @@ -0,0 +1,11 @@ +import type { ReactNode } from "react"; + +interface DetailNoteProps { + children: ReactNode; + className?: string; +} + +export function DetailNote({ children, className }: DetailNoteProps) { + const classes = ["detail-note", className].filter(Boolean).join(" "); + return
    {children}
    ; +} diff --git a/frontend/src/components/detail/DetailSection.tsx b/frontend/src/components/detail/DetailSection.tsx new file mode 100644 index 0000000..3dc7c97 --- /dev/null +++ b/frontend/src/components/detail/DetailSection.tsx @@ -0,0 +1,32 @@ +import type { ReactNode } from "react"; + +interface DetailSectionProps { + heading: string; + children: ReactNode; + className?: string; +} + +/** + * Body section for any detail-sheet modal (skill, MCP server, marketplace). + * Imposes a consistent heading + spacing rhythm so the four-or-five-section + * body of every detail view reads the same way. + * + * Layout-only: doesn't dictate which sections appear, only that whichever + * does appear gets the same heading and gap. + */ +export function DetailSection({ + heading, + children, + className, +}: DetailSectionProps) { + const sectionClass = className + ? `detail-sheet__section ${className}` + : "detail-sheet__section"; + + return ( +
    +

    {heading}

    + {children} +
    + ); +} diff --git a/frontend/src/components/detail/DetailSourceLinks.tsx b/frontend/src/components/detail/DetailSourceLinks.tsx index a1b7a9d..8e29aa1 100644 --- a/frontend/src/components/detail/DetailSourceLinks.tsx +++ b/frontend/src/components/detail/DetailSourceLinks.tsx @@ -1,64 +1,47 @@ import { ExternalLink, FolderGit2 } from "lucide-react"; +export type DetailSourceLinkKind = "repo" | "folder" | "marketplace" | "external" | "website"; + +export interface DetailSourceLink { + href: string; + label: string; + kind?: DetailSourceLinkKind; +} + interface DetailSourceLinksProps { - sourceLinks: { - repoLabel: string; - repoUrl: string; - folderUrl: string | null; - } | null; - externalUrl?: string | null; - externalLabel?: string; + links: DetailSourceLink[]; + ariaLabel: string; label?: string; } export function DetailSourceLinks({ - sourceLinks, - externalUrl = null, - externalLabel = "Open external detail", + links, + ariaLabel, label = "Source", }: DetailSourceLinksProps) { - if (!sourceLinks) { + if (links.length === 0) { return null; } return ( -
    -
    +
    +
    -
    - - {sourceLinks.repoLabel} - - {sourceLinks.folderUrl ? ( - - Open Skill Folder - - ) : null} - {externalUrl ? ( +
    + {links.map((link) => ( - {externalLabel} + {link.label} - ) : null} + ))}
    ); diff --git a/frontend/src/components/detail/index.css b/frontend/src/components/detail/index.css index 94b6b25..c1ed17d 100644 --- a/frontend/src/components/detail/index.css +++ b/frontend/src/components/detail/index.css @@ -1,3 +1,5 @@ +@layer components { + @keyframes detail-skeleton-shimmer { 100% { transform: translateX(100%); @@ -23,6 +25,61 @@ flex-shrink: 0; } +.detail-source-row { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 10px 14px; + min-width: 0; +} + +.detail-source-label { + display: inline-flex; + align-items: center; + gap: 8px; + font-family: var(--font-mono); + font-size: 0.7rem; + letter-spacing: 0.08em; + text-transform: uppercase; + color: var(--color-text-muted); +} + +.detail-source-links { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 10px; + min-width: 0; +} + +.detail-source-link { + display: inline-flex; + align-items: center; + gap: 6px; + min-height: 28px; + padding: 0 10px; + border: 1px solid rgba(255, 255, 255, 0.08); + border-radius: 999px; + background: rgba(18, 22, 30, 0.62); + color: var(--color-text-muted); + transition: border-color 120ms ease, background 120ms ease, color 120ms ease, transform 120ms ease; +} + +.detail-source-link:hover { + border-color: rgba(240, 163, 107, 0.28); + background: rgba(240, 163, 107, 0.09); + color: var(--color-text); + transform: translateY(-1px); +} + +.detail-source-link--repo { + color: var(--color-accent); +} + +.detail-source-link--repo:hover { + color: var(--color-accent); +} + .detail-skeleton-paragraph { display: grid; gap: 10px; @@ -97,7 +154,7 @@ .detail-skeleton--button { width: 220px; height: 42px; - border-radius: var(--radius); + border-radius: var(--radius-md); } .detail-skeleton--button-secondary { @@ -109,3 +166,5 @@ animation: none; } } + +} diff --git a/frontend/src/components/harness/HarnessAvatar.tsx b/frontend/src/components/harness/HarnessAvatar.tsx new file mode 100644 index 0000000..c0459a5 --- /dev/null +++ b/frontend/src/components/harness/HarnessAvatar.tsx @@ -0,0 +1,32 @@ +import { getHarnessPresentation } from "./harnessPresentation"; + +interface HarnessAvatarProps { + harness: string; + label: string; + logoKey?: string | null; + className?: string; +} + +export function HarnessAvatar({ + harness, + label, + logoKey, + className, +}: HarnessAvatarProps) { + const presentation = getHarnessPresentation(logoKey ?? harness); + const classes = ["harness-avatar", className].filter(Boolean).join(" "); + + if (!presentation) { + return ( + + ); + } + + return ( + + ); +} diff --git a/frontend/src/features/skills/components/harness/harnessPresentation.ts b/frontend/src/components/harness/harnessPresentation.ts similarity index 68% rename from frontend/src/features/skills/components/harness/harnessPresentation.ts rename to frontend/src/components/harness/harnessPresentation.ts index 50b6dc9..7abbca7 100644 --- a/frontend/src/features/skills/components/harness/harnessPresentation.ts +++ b/frontend/src/components/harness/harnessPresentation.ts @@ -1,8 +1,8 @@ -import claudeLogo from "../../../../assets/harness-logos/claude-code-logo.svg"; -import codexLogo from "../../../../assets/harness-logos/codex-logo.svg"; -import cursorLogo from "../../../../assets/harness-logos/cursor-logo.svg"; -import openclawLogo from "../../../../assets/harness-logos/openclaw-logo.svg"; -import opencodeLogo from "../../../../assets/harness-logos/opencode-logo.svg"; +import claudeLogo from "../../assets/harness-logos/claude-code-logo.svg"; +import codexLogo from "../../assets/harness-logos/codex-logo.svg"; +import cursorLogo from "../../assets/harness-logos/cursor-logo.svg"; +import openclawLogo from "../../assets/harness-logos/openclaw-logo.svg"; +import opencodeLogo from "../../assets/harness-logos/opencode-logo.svg"; export type HarnessLogoKey = "claude" | "codex" | "cursor" | "opencode" | "openclaw"; diff --git a/frontend/src/components/matrix/MatrixHarnessCellTarget.tsx b/frontend/src/components/matrix/MatrixHarnessCellTarget.tsx new file mode 100644 index 0000000..e0f1771 --- /dev/null +++ b/frontend/src/components/matrix/MatrixHarnessCellTarget.tsx @@ -0,0 +1,61 @@ +import type { MouseEventHandler, ReactNode } from "react"; + +type MatrixHarnessCellTargetProps = { + children: ReactNode; + ariaLabel: string; + state?: string; + pending?: boolean; + disabled?: boolean; + ariaPressed?: boolean; + title?: string; + className?: string; + onClick?: MouseEventHandler; +}; + +export function MatrixHarnessCellTarget({ + children, + ariaLabel, + state, + pending = false, + disabled = false, + ariaPressed, + title, + className, + onClick, +}: MatrixHarnessCellTargetProps) { + const classNames = ["matrix-harness-target"]; + if (onClick) classNames.push("matrix-harness-target--interactive"); + if (className) classNames.push(className); + + if (!onClick) { + return ( + + {children} + + ); + } + + return ( + + ); +} diff --git a/frontend/src/components/matrix/MatrixHarnessHeader.tsx b/frontend/src/components/matrix/MatrixHarnessHeader.tsx new file mode 100644 index 0000000..f65cd97 --- /dev/null +++ b/frontend/src/components/matrix/MatrixHarnessHeader.tsx @@ -0,0 +1,20 @@ +import { UiTooltip } from "../ui/UiTooltip"; +import { MatrixHarnessIcon } from "./MatrixHarnessIcon"; + +interface MatrixHarnessHeaderProps { + label: string; + logoKey?: string | null; + harness?: string; +} + +export function MatrixHarnessHeader({ label, logoKey, harness }: MatrixHarnessHeaderProps) { + return ( + + + + + + + + ); +} diff --git a/frontend/src/components/matrix/MatrixHarnessIcon.tsx b/frontend/src/components/matrix/MatrixHarnessIcon.tsx new file mode 100644 index 0000000..e79ebc9 --- /dev/null +++ b/frontend/src/components/matrix/MatrixHarnessIcon.tsx @@ -0,0 +1,24 @@ +import { getHarnessPresentation } from "../harness/harnessPresentation"; + +interface MatrixHarnessIconProps { + label: string; + logoKey?: string | null; + harness?: string; +} + +export function MatrixHarnessIcon({ label, logoKey, harness }: MatrixHarnessIconProps) { + const presentation = getHarnessPresentation(logoKey ?? harness ?? label); + + if (presentation) { + return ( + + ); + } + + return {label.slice(0, 1)}; +} diff --git a/frontend/src/components/matrix/MatrixSortableHeader.tsx b/frontend/src/components/matrix/MatrixSortableHeader.tsx new file mode 100644 index 0000000..b1f7f43 --- /dev/null +++ b/frontend/src/components/matrix/MatrixSortableHeader.tsx @@ -0,0 +1,61 @@ +import type { ReactNode } from "react"; +import { ChevronDown, ChevronUp } from "lucide-react"; + +import { UiTooltip } from "../ui/UiTooltip"; + +export type MatrixSortDirection = "asc" | "desc"; + +interface MatrixSortableHeaderProps { + label: string; + leading?: ReactNode; + active: boolean; + direction: MatrixSortDirection; + align?: "start" | "identity" | "harness" | "end"; + logoOnly?: boolean; + srLabel?: string; + onClick: () => void; +} + +export function MatrixSortableHeader({ + label, + leading, + active, + direction, + align = "start", + logoOnly = false, + srLabel, + onClick, +}: MatrixSortableHeaderProps) { + const buttonClassName = logoOnly + ? "matrix-table__sort-btn matrix-table__sort-btn--harness" + : "matrix-table__sort-btn"; + + const button = ( + + ); + + return ( + + {logoOnly ? {button} : button} + + ); +} diff --git a/frontend/src/components/matrix/MatrixTable.test.tsx b/frontend/src/components/matrix/MatrixTable.test.tsx new file mode 100644 index 0000000..75e611b --- /dev/null +++ b/frontend/src/components/matrix/MatrixTable.test.tsx @@ -0,0 +1,54 @@ +import { render, screen } from "@testing-library/react"; +import { describe, expect, it } from "vitest"; + +import { MatrixHarnessHeader } from "./MatrixHarnessHeader"; +import { MatrixTable } from "./MatrixTable"; + +describe("MatrixTable", () => { + it("renders the shared column structure", () => { + render( + + + + Select + Name + Codex + Claude + Harnesses + Active + + + , + ); + + const table = screen.getByRole("table", { name: "Example matrix" }); + const cols = table.querySelectorAll("col"); + + expect(table).toHaveClass("matrix-table"); + expect(table).not.toHaveClass("matrix-table--panel"); + expect(table.closest(".matrix-table-wrapper")).not.toHaveClass("matrix-table-wrapper--panel"); + expect(cols).toHaveLength(6); + expect(cols[0]).toHaveClass("matrix-table__col-checkbox"); + expect(cols[1]).toHaveClass("matrix-table__col-identity"); + expect(cols[2]).toHaveClass("matrix-table__col-harness"); + expect(cols[3]).toHaveClass("matrix-table__col-harness"); + expect(cols[4]).toHaveClass("matrix-table__col-compact"); + expect(cols[5]).toHaveClass("matrix-table__col-coverage"); + }); + + it("renders harness headers through the centered matrix target", () => { + render( + + + + + + +
    , + ); + + const trigger = screen.getByLabelText("Codex"); + expect(trigger).toHaveClass("matrix-harness-target"); + expect(trigger).toHaveClass("matrix-harness-target--header"); + }); +}); diff --git a/frontend/src/components/matrix/MatrixTable.tsx b/frontend/src/components/matrix/MatrixTable.tsx new file mode 100644 index 0000000..72c1862 --- /dev/null +++ b/frontend/src/components/matrix/MatrixTable.tsx @@ -0,0 +1,45 @@ +import type { CSSProperties, ReactNode } from "react"; + +interface MatrixTableProps { + ariaLabel: string; + harnessColumnCount: number; + children: ReactNode; + harnessColumnWidth?: string; + compactColumnWidth?: string; + coverageColumnWidth?: string; + minWidth?: string; +} + +export function MatrixTable({ + ariaLabel, + harnessColumnCount, + children, + harnessColumnWidth = "52px", + compactColumnWidth = "140px", + coverageColumnWidth = "64px", + minWidth, +}: MatrixTableProps) { + const style = { + "--matrix-harness-column-width": harnessColumnWidth, + "--matrix-compact-column-width": compactColumnWidth, + "--matrix-coverage-column-width": coverageColumnWidth, + ...(minWidth ? { "--matrix-table-min-width": minWidth } : {}), + } as CSSProperties; + + return ( +
    + + + + + {Array.from({ length: harnessColumnCount }, (_, index) => ( + + ))} + + + + {children} +
    +
    + ); +} diff --git a/frontend/src/components/matrix/index.ts b/frontend/src/components/matrix/index.ts new file mode 100644 index 0000000..3cab118 --- /dev/null +++ b/frontend/src/components/matrix/index.ts @@ -0,0 +1,6 @@ +export { MatrixHarnessCellTarget } from "./MatrixHarnessCellTarget"; +export { MatrixHarnessHeader } from "./MatrixHarnessHeader"; +export { MatrixHarnessIcon } from "./MatrixHarnessIcon"; +export { MatrixSortableHeader } from "./MatrixSortableHeader"; +export { MatrixTable } from "./MatrixTable"; +export type { MatrixSortDirection } from "./MatrixSortableHeader"; diff --git a/frontend/src/components/matrix/matrix.css b/frontend/src/components/matrix/matrix.css new file mode 100644 index 0000000..31b95bd --- /dev/null +++ b/frontend/src/components/matrix/matrix.css @@ -0,0 +1,334 @@ +@layer features { + +/* -------------------------------------------------------------------------- */ +/* Shared extension × harness matrix */ +/* -------------------------------------------------------------------------- */ + +.matrix-table-wrapper { + width: 100%; + overflow-x: auto; +} + +.matrix-table { + width: 100%; + min-width: var(--matrix-table-min-width, 0); + table-layout: fixed; + border-collapse: separate; + border-spacing: 0; + font-size: var(--font-size-sm); +} + +.matrix-table__col-checkbox { + width: 44px; +} + +.matrix-table__col-harness { + width: var(--matrix-harness-column-width, 52px); +} + +.matrix-table__col-compact { + width: 0; +} + +.matrix-table__col-coverage { + width: var(--matrix-coverage-column-width, 64px); +} + +.matrix-table__head { + position: sticky; + top: 0; + z-index: 1; + background: var(--color-bg); +} + +.matrix-table__th { + height: 54px; + padding: var(--space-3); + border-bottom: 1px solid var(--color-border); + background: inherit; + color: var(--color-text-muted); + font-size: var(--font-size-sm); + font-weight: 500; + text-align: left; + white-space: nowrap; + vertical-align: middle; +} + +.matrix-table__th--checkbox, +.matrix-table__cell--checkbox { + width: 44px; + padding-left: var(--space-3); + padding-right: 0; +} + +.matrix-table__th--identity, +.matrix-table__cell--identity { + padding-left: var(--space-4); + padding-right: var(--space-4); +} + +.matrix-table__cell--identity { + cursor: pointer; + max-width: 0; +} + +.matrix-table__th--harness, +.matrix-table__cell--harness { + width: var(--matrix-harness-column-width, 52px); + padding-left: 0; + padding-right: 0; + text-align: center; +} + +.matrix-table__th--end, +.matrix-table__cell--coverage { + width: var(--matrix-coverage-column-width, 64px); + padding-right: var(--space-4); + text-align: right; +} + +.matrix-table__th--compact, +.matrix-table__cell--compact { + display: none; + width: 0; +} + +.matrix-table__cell { + height: 48px; + padding: var(--space-2) var(--space-3); + border-bottom: 1px solid var(--color-border); + vertical-align: middle; +} + +.matrix-table__row { + transition: background 120ms ease; +} + +.matrix-table__row:last-child .matrix-table__cell { + border-bottom: none; +} + +.matrix-table__row:hover { + background: var(--color-surface-raised); +} + +.matrix-table__row[data-checked="true"], +.matrix-table__row[data-selected="true"] { + background: var(--color-surface); + box-shadow: inset 3px 0 0 var(--color-accent); +} + +.matrix-table__sort-btn { + display: inline-flex; + align-items: center; + gap: var(--space-2); + padding: var(--space-1) var(--space-2); + margin: 0; + border: none; + border-radius: var(--radius-sm); + background: transparent; + color: inherit; + font: inherit; + cursor: pointer; + transition: color 120ms ease, background 120ms ease; +} + +.matrix-table__sort-btn:hover, +.matrix-table__sort-btn:focus-visible { + color: var(--color-text); + outline: none; +} + +.matrix-table__sort-btn[data-active="true"] { + color: var(--color-text); +} + +.matrix-table__sort-btn--harness { + justify-content: center; + width: 40px; + height: 40px; + padding: 0; +} + +.matrix-table__th--harness .matrix-table__sort-btn { + justify-content: center; +} + +.matrix-table__th--end .matrix-table__sort-btn { + justify-content: flex-end; +} + +.matrix-table__sort-label { + white-space: nowrap; +} + +.matrix-table__name-row { + display: flex; + align-items: center; + gap: var(--space-3); + min-width: 0; +} + +.matrix-table__name-text { + color: var(--color-text); + font-size: var(--font-size-md); + font-weight: 600; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + min-width: 0; +} + +.matrix-table__description { + display: block; + margin: 2px 0 0; + color: var(--color-text-muted); + font-size: var(--font-size-xs); + line-height: 1.4; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.matrix-table__coverage { + display: inline-flex; + align-items: baseline; + justify-content: flex-end; + font-variant-numeric: tabular-nums; +} + +.matrix-table__coverage-count { + color: var(--color-text); + font-size: var(--font-size-md); + font-weight: 600; +} + +.matrix-table__coverage-total { + color: var(--color-text-muted); + font-size: var(--font-size-xs); + font-weight: 400; + margin-left: 2px; + white-space: pre; +} + +.matrix-harness-target { + display: inline-flex; + align-items: center; + justify-content: center; + position: relative; + width: 40px; + height: 40px; + padding: 0; + border: none; + border-radius: var(--radius-sm); + background: transparent; + color: var(--color-text); + vertical-align: middle; + cursor: default; + transition: background 120ms ease, opacity 120ms ease, filter 120ms ease, color 120ms ease; +} + +.matrix-harness-target--interactive { + cursor: pointer; +} + +.matrix-harness-target__logo { + display: block; + width: 26px; + height: 26px; + object-fit: contain; +} + +.matrix-harness-target__fallback { + display: inline-flex; + align-items: center; + justify-content: center; + width: 26px; + height: 26px; + border-radius: var(--radius-sm); + background: var(--color-surface-raised); + color: var(--color-text-muted); + font-size: var(--font-size-xs); + font-weight: 700; +} + +.matrix-harness-target[data-state="empty"] { + color: var(--color-text-muted); + font-family: var(--font-mono); + font-size: var(--font-size-xs); +} + +.matrix-harness-target[data-state="disabled"] .matrix-harness-target__logo { + filter: grayscale(1); + opacity: 0.35; +} + +.matrix-harness-target[data-state="observed"] .matrix-harness-target__logo { + filter: grayscale(0.45); + opacity: 0.75; +} + +.matrix-harness-target[data-state="different"] { + color: var(--color-warning, #f59e0b); +} + +.matrix-harness-target[data-state="different"]::after, +.matrix-harness-target[data-state="observed"]::after { + content: ""; + position: absolute; + top: 5px; + right: 5px; + width: 7px; + height: 7px; + border-radius: 50%; + background: var(--color-warning, #f59e0b); + border: 1.5px solid var(--color-surface); + box-sizing: content-box; +} + +.matrix-harness-target[data-state="unavailable"] { + color: var(--color-text-muted); + opacity: 0.6; +} + +.matrix-harness-target--interactive:hover, +.matrix-harness-target--interactive:focus-visible { + background: var(--color-surface-raised); + outline: none; +} + +.matrix-harness-target--interactive:hover .matrix-harness-target__logo, +.matrix-harness-target--interactive:focus-visible .matrix-harness-target__logo { + filter: none; + opacity: 1; +} + +.matrix-harness-target[data-pending="true"] { + opacity: 0.4; + cursor: progress; +} + +@media (max-width: 900px) { + .matrix-table__col-harness { + width: 0; + } + + .matrix-table__col-compact { + width: var(--matrix-compact-column-width, 140px); + } + + .matrix-table__th--compact, + .matrix-table__cell--compact { + display: table-cell; + width: var(--matrix-compact-column-width, 140px); + padding-left: var(--space-3); + padding-right: var(--space-3); + } + + .matrix-table__th--harness, + .matrix-table__cell--harness { + display: none; + } +} + +} diff --git a/frontend/src/components/ui/HelpPopover.tsx b/frontend/src/components/ui/HelpPopover.tsx deleted file mode 100644 index d851115..0000000 --- a/frontend/src/components/ui/HelpPopover.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import { type ReactNode } from "react"; -import * as Popover from "@radix-ui/react-popover"; - -import { useHoverSurfaceState } from "./useHoverSurfaceState"; - -interface HelpPopoverProps { - title: string; - copy: string; - children: ReactNode; - side?: "top" | "right" | "bottom" | "left"; - align?: "start" | "center" | "end"; - sideOffset?: number; - collisionPadding?: number; -} - -export function HelpPopover({ - title, - copy, - children, - side = "bottom", - align = "center", - sideOffset = 8, - collisionPadding = 16, -}: HelpPopoverProps) { - const hover = useHoverSurfaceState(); - - return ( - - - - {children} - - - - event.preventDefault()} - onCloseAutoFocus={(event) => event.preventDefault()} - {...hover.contentProps} - > -

    {title}

    -

    {copy}

    -
    -
    -
    - ); -} diff --git a/frontend/src/components/ui/HoverTooltip.tsx b/frontend/src/components/ui/HoverTooltip.tsx deleted file mode 100644 index e75ddd4..0000000 --- a/frontend/src/components/ui/HoverTooltip.tsx +++ /dev/null @@ -1,54 +0,0 @@ -import { type ReactNode } from "react"; -import * as Popover from "@radix-ui/react-popover"; - -import { useHoverSurfaceState } from "./useHoverSurfaceState"; - -interface HoverTooltipProps { - copy: string; - children: ReactNode; - disabled?: boolean; - side?: "top" | "right" | "bottom" | "left"; - align?: "start" | "center" | "end"; - sideOffset?: number; - collisionPadding?: number; -} - -export function HoverTooltip({ - copy, - children, - disabled = false, - side = "top", - align = "center", - sideOffset = 8, - collisionPadding = 16, -}: HoverTooltipProps) { - const hover = useHoverSurfaceState(); - - if (disabled) { - return <>{children}; - } - - return ( - - - - {children} - - - - event.preventDefault()} - onCloseAutoFocus={(event) => event.preventDefault()} - {...hover.contentProps} - > -

    {copy}

    -
    -
    -
    - ); -} diff --git a/frontend/src/components/ui/OverflowTooltipText.test.tsx b/frontend/src/components/ui/OverflowTooltipText.test.tsx new file mode 100644 index 0000000..6807362 --- /dev/null +++ b/frontend/src/components/ui/OverflowTooltipText.test.tsx @@ -0,0 +1,117 @@ +import { fireEvent, render, screen, waitFor } from "@testing-library/react"; +import { afterAll, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; + +import { OverflowTooltipText } from "./OverflowTooltipText"; +import { UiTooltipProvider } from "./UiTooltipProvider"; + +const sizeState = { + clientWidth: 80, + scrollWidth: 240, + clientHeight: 20, + scrollHeight: 20, +}; + +const originalClientWidth = Object.getOwnPropertyDescriptor(HTMLElement.prototype, "clientWidth"); +const originalScrollWidth = Object.getOwnPropertyDescriptor(HTMLElement.prototype, "scrollWidth"); +const originalClientHeight = Object.getOwnPropertyDescriptor(HTMLElement.prototype, "clientHeight"); +const originalScrollHeight = Object.getOwnPropertyDescriptor(HTMLElement.prototype, "scrollHeight"); + +describe("OverflowTooltipText", () => { + beforeAll(() => { + vi.stubGlobal( + "ResizeObserver", + class ResizeObserver { + observe() {} + unobserve() {} + disconnect() {} + }, + ); + + Object.defineProperty(HTMLElement.prototype, "clientWidth", { + configurable: true, + get: () => sizeState.clientWidth, + }); + Object.defineProperty(HTMLElement.prototype, "scrollWidth", { + configurable: true, + get: () => sizeState.scrollWidth, + }); + Object.defineProperty(HTMLElement.prototype, "clientHeight", { + configurable: true, + get: () => sizeState.clientHeight, + }); + Object.defineProperty(HTMLElement.prototype, "scrollHeight", { + configurable: true, + get: () => sizeState.scrollHeight, + }); + }); + + beforeEach(() => { + sizeState.clientWidth = 80; + sizeState.scrollWidth = 240; + sizeState.clientHeight = 20; + sizeState.scrollHeight = 20; + }); + + afterAll(() => { + vi.unstubAllGlobals(); + + restoreDescriptor("clientWidth", originalClientWidth); + restoreDescriptor("scrollWidth", originalScrollWidth); + restoreDescriptor("clientHeight", originalClientHeight); + restoreDescriptor("scrollHeight", originalScrollHeight); + }); + + it("reveals clipped text through the shared tooltip surface", async () => { + render( + + + A very long skill name + + , + ); + + await waitFor(() => { + expect(screen.getByText("A very long skill name")).toHaveAttribute("data-state", "closed"); + }); + + const text = screen.getByText("A very long skill name"); + fireEvent.focus(text); + + await waitFor(() => { + const bubble = document.querySelector(".ui-popup--tooltip"); + expect(bubble).not.toBeNull(); + expect(bubble).toHaveTextContent("A very long skill name"); + }); + }); + + it("stays silent when the text fits", async () => { + sizeState.clientWidth = 240; + sizeState.scrollWidth = 240; + + render( + + + Short name + + , + ); + + const text = screen.getByText("Short name"); + fireEvent.focus(text); + + await waitFor(() => { + expect(screen.queryByText("Short name", { selector: ".ui-popup--tooltip" })).toBeNull(); + }); + }); +}); + +function restoreDescriptor( + key: "clientWidth" | "scrollWidth" | "clientHeight" | "scrollHeight", + descriptor: PropertyDescriptor | undefined, +) { + if (descriptor) { + Object.defineProperty(HTMLElement.prototype, key, descriptor); + return; + } + delete (HTMLElement.prototype as unknown as Record)[key]; +} diff --git a/frontend/src/components/ui/OverflowTooltipText.tsx b/frontend/src/components/ui/OverflowTooltipText.tsx new file mode 100644 index 0000000..1cbb912 --- /dev/null +++ b/frontend/src/components/ui/OverflowTooltipText.tsx @@ -0,0 +1,109 @@ +import { + createElement, + useLayoutEffect, + useRef, + useState, + type HTMLAttributes, + type ReactNode, +} from "react"; + +import { UiTooltip, type UiTooltipProps } from "./UiTooltip"; + +type OverflowTooltipTag = "span" | "p" | "h3" | "code"; + +interface OverflowTooltipTextProps + extends Omit, "children"> { + as?: OverflowTooltipTag; + children: ReactNode; + tooltipContent?: ReactNode; + disabled?: boolean; + side?: UiTooltipProps["side"]; + align?: UiTooltipProps["align"]; + sideOffset?: UiTooltipProps["sideOffset"]; +} + +export function OverflowTooltipText({ + as = "span", + children, + tooltipContent, + disabled = false, + side = "top", + align = "center", + sideOffset = 6, + ...rest +}: OverflowTooltipTextProps) { + const elementRef = useRef(null); + const [overflowing, setOverflowing] = useState(false); + + useLayoutEffect(() => { + const element = elementRef.current; + if (!element) { + return; + } + + let frame = 0; + + const measure = () => { + const next = + element.scrollWidth > element.clientWidth + 1 || + element.scrollHeight > element.clientHeight + 1; + setOverflowing((current) => (current === next ? current : next)); + }; + + const scheduleMeasure = () => { + if (frame !== 0) { + window.cancelAnimationFrame(frame); + } + frame = window.requestAnimationFrame(() => { + frame = 0; + measure(); + }); + }; + + scheduleMeasure(); + + const resizeObserver = + typeof ResizeObserver === "undefined" + ? null + : new ResizeObserver(scheduleMeasure); + resizeObserver?.observe(element); + if (element.parentElement) { + resizeObserver?.observe(element.parentElement); + } + + window.addEventListener("resize", scheduleMeasure); + const fontFaceSet = + typeof document === "undefined" || !("fonts" in document) + ? null + : document.fonts; + fontFaceSet?.addEventListener?.("loadingdone", scheduleMeasure); + + return () => { + if (frame !== 0) { + window.cancelAnimationFrame(frame); + } + resizeObserver?.disconnect(); + window.removeEventListener("resize", scheduleMeasure); + fontFaceSet?.removeEventListener?.("loadingdone", scheduleMeasure); + }; + }, [children, tooltipContent]); + + const element = createElement(as, { + ...rest, + ref: (node: HTMLElement | null) => { + elementRef.current = node; + }, + }, children); + + return ( + + {element} + + ); +} diff --git a/frontend/src/components/ui/SelectionMenu.test.tsx b/frontend/src/components/ui/SelectionMenu.test.tsx new file mode 100644 index 0000000..bd8f9ba --- /dev/null +++ b/frontend/src/components/ui/SelectionMenu.test.tsx @@ -0,0 +1,37 @@ +import { fireEvent, render, screen } from "@testing-library/react"; +import { describe, expect, it, vi } from "vitest"; + +import { SelectionMenu } from "./SelectionMenu"; + +describe("SelectionMenu", () => { + it("renders the shared selection menu surface and forwards changes", () => { + const onChange = vi.fn(); + + render( + , + ); + + const trigger = screen.getByRole("button", { name: "Filter: Enabled" }); + expect(trigger).toHaveTextContent("Enabled"); + + fireEvent.click(trigger); + + expect(screen.getByText("All").closest(".ui-popup--menu")).not.toBeNull(); + expect(screen.getByText("3")).toBeInTheDocument(); + + const allButton = screen.getByText("All").closest("button"); + expect(allButton).not.toBeNull(); + + fireEvent.click(allButton!); + expect(onChange).toHaveBeenCalledWith("all"); + }); +}); diff --git a/frontend/src/components/ui/SelectionMenu.tsx b/frontend/src/components/ui/SelectionMenu.tsx new file mode 100644 index 0000000..1bdff22 --- /dev/null +++ b/frontend/src/components/ui/SelectionMenu.tsx @@ -0,0 +1,79 @@ +import type { ReactNode } from "react"; +import * as Popover from "@radix-ui/react-popover"; +import { Check, ListFilter } from "lucide-react"; + +export interface SelectionMenuOption { + value: T; + label: string; + meta?: ReactNode; +} + +interface SelectionMenuProps { + value: T; + options: readonly SelectionMenuOption[]; + active: boolean; + ariaLabel: string; + onChange: (next: T) => void; + align?: "start" | "center" | "end"; + sideOffset?: number; +} + +export function SelectionMenu({ + value, + options, + active, + ariaLabel, + onChange, + align = "end", + sideOffset = 6, +}: SelectionMenuProps) { + const activeLabel = options.find((option) => option.value === value)?.label ?? ""; + + return ( + + + + + + +
      + {options.map((option) => { + const selected = option.value === value; + return ( +
    • + + + +
    • + ); + })} +
    +
    +
    +
    + ); +} diff --git a/frontend/src/components/ui/UiTooltip.test.tsx b/frontend/src/components/ui/UiTooltip.test.tsx new file mode 100644 index 0000000..0f9948e --- /dev/null +++ b/frontend/src/components/ui/UiTooltip.test.tsx @@ -0,0 +1,56 @@ +import { fireEvent, render, screen, waitFor } from "@testing-library/react"; +import { describe, expect, it } from "vitest"; + +import { UiTooltip } from "./UiTooltip"; +import { UiTooltipProvider } from "./UiTooltipProvider"; + +describe("UiTooltip", () => { + it("renders the shared tooltip bubble on hover", async () => { + render( + + + + + , + ); + + fireEvent.focus(screen.getByRole("button", { name: "Harness" })); + + await waitFor(() => { + const bubble = document.querySelector(".ui-popup--tooltip"); + expect(bubble).not.toBeNull(); + expect(bubble).toHaveTextContent("Codex CLI"); + }); + }); + + it("applies custom tooltip content classes when provided", async () => { + render( + + + + + , + ); + + fireEvent.focus(screen.getByRole("button", { name: "Harness" })); + + await waitFor(() => { + const bubble = document.querySelector(".ui-popup--tooltip--hint"); + expect(bubble).not.toBeNull(); + expect(bubble).toHaveTextContent("Codex CLI"); + }); + }); + + it("does not render when disabled", () => { + render( + + + + + , + ); + + fireEvent.focus(screen.getByRole("button", { name: "Harness" })); + expect(screen.queryByText("Codex CLI")).not.toBeInTheDocument(); + }); +}); diff --git a/frontend/src/components/ui/UiTooltip.tsx b/frontend/src/components/ui/UiTooltip.tsx new file mode 100644 index 0000000..cde50ba --- /dev/null +++ b/frontend/src/components/ui/UiTooltip.tsx @@ -0,0 +1,73 @@ +import { useContext, type ReactElement, type ReactNode } from "react"; +import * as Tooltip from "@radix-ui/react-tooltip"; + +import { + DEFAULT_TOOLTIP_DELAY_DURATION, + DEFAULT_TOOLTIP_SKIP_DELAY_DURATION, + UiTooltipContext, + UiTooltipProvider, +} from "./UiTooltipProvider"; + +export interface UiTooltipProps { + content: ReactNode; + children: ReactElement; + disabled?: boolean; + contentClassName?: string; + side?: "top" | "right" | "bottom" | "left"; + align?: "start" | "center" | "end"; + sideOffset?: number; + collisionPadding?: number; + delayDuration?: number; +} + +export function UiTooltip({ + content, + children, + disabled = false, + contentClassName, + side = "top", + align = "center", + sideOffset = 6, + collisionPadding = 16, + delayDuration, +}: UiTooltipProps) { + if (disabled || content === null || content === undefined || content === "") { + return children; + } + + const hasProvider = useContext(UiTooltipContext); + const tooltipClassName = contentClassName + ? `ui-popup ui-popup--tooltip ${contentClassName}` + : "ui-popup ui-popup--tooltip"; + + const tooltip = ( + + {children} + + + {content} + + + + + ); + + if (hasProvider) { + return tooltip; + } + + return ( + + {tooltip} + + ); +} diff --git a/frontend/src/components/ui/UiTooltipProvider.tsx b/frontend/src/components/ui/UiTooltipProvider.tsx new file mode 100644 index 0000000..7f3051c --- /dev/null +++ b/frontend/src/components/ui/UiTooltipProvider.tsx @@ -0,0 +1,29 @@ +import { createContext, type ReactNode } from "react"; +import * as Tooltip from "@radix-ui/react-tooltip"; + +export const DEFAULT_TOOLTIP_DELAY_DURATION = 200; +export const DEFAULT_TOOLTIP_SKIP_DELAY_DURATION = 120; +export const UiTooltipContext = createContext(false); + +interface UiTooltipProviderProps { + children: ReactNode; + delayDuration?: number; + skipDelayDuration?: number; +} + +export function UiTooltipProvider({ + children, + delayDuration = DEFAULT_TOOLTIP_DELAY_DURATION, + skipDelayDuration = DEFAULT_TOOLTIP_SKIP_DELAY_DURATION, +}: UiTooltipProviderProps) { + return ( + + + {children} + + + ); +} diff --git a/frontend/src/components/ui/UiTooltipTriggerBoundary.test.tsx b/frontend/src/components/ui/UiTooltipTriggerBoundary.test.tsx new file mode 100644 index 0000000..cec5a04 --- /dev/null +++ b/frontend/src/components/ui/UiTooltipTriggerBoundary.test.tsx @@ -0,0 +1,62 @@ +import { fireEvent, render, screen, waitFor } from "@testing-library/react"; +import { describe, expect, it, vi } from "vitest"; + +import { UiTooltipProvider } from "./UiTooltipProvider"; +import { UiTooltipTriggerBoundary } from "./UiTooltipTriggerBoundary"; + +describe("UiTooltipTriggerBoundary", () => { + it("keeps disabled controls focusable for tooltip triggers", async () => { + render( + + + + + , + ); + + const trigger = screen.getByText("Remove from Skill Manager").closest(".ui-tooltip-trigger"); + expect(trigger).not.toBeNull(); + + fireEvent.focus(trigger!); + + await waitFor(() => { + const bubble = document.querySelector(".ui-popup--tooltip"); + expect(bubble).not.toBeNull(); + expect(bubble).toHaveTextContent("Blocked for testing"); + }); + }); + + it("blocks activation from bubbling to parent rows or cards", () => { + const onParentActivate = vi.fn(); + + render( +
    { + if (event.key === "Enter" || event.key === " ") { + onParentActivate(); + } + }} + > + + + +
    , + ); + + const trigger = screen.getByText("Install").closest(".ui-tooltip-trigger"); + expect(trigger).not.toBeNull(); + + fireEvent.click(trigger!); + fireEvent.keyDown(trigger!, { key: "Enter" }); + fireEvent.keyDown(trigger!, { key: " " }); + + expect(onParentActivate).not.toHaveBeenCalled(); + }); +}); diff --git a/frontend/src/components/ui/UiTooltipTriggerBoundary.tsx b/frontend/src/components/ui/UiTooltipTriggerBoundary.tsx new file mode 100644 index 0000000..36c5aea --- /dev/null +++ b/frontend/src/components/ui/UiTooltipTriggerBoundary.tsx @@ -0,0 +1,60 @@ +import type { KeyboardEvent, MouseEvent, ReactNode } from "react"; + +import { UiTooltip, type UiTooltipProps } from "./UiTooltip"; + +interface UiTooltipTriggerBoundaryProps extends Omit { + children: ReactNode; + className?: string; +} + +export function UiTooltipTriggerBoundary({ + children, + className, + content, + disabled, + contentClassName, + side, + align, + sideOffset, + collisionPadding, + delayDuration, +}: UiTooltipTriggerBoundaryProps) { + const classes = className + ? `ui-tooltip-trigger ${className}` + : "ui-tooltip-trigger"; + + function handleClick(event: MouseEvent) { + event.stopPropagation(); + } + + function handleKeyDown(event: KeyboardEvent) { + if (event.key !== "Enter" && event.key !== " ") { + return; + } + + event.preventDefault(); + event.stopPropagation(); + } + + return ( + + + {children} + + + ); +} diff --git a/frontend/src/components/ui/useHoverSurfaceState.ts b/frontend/src/components/ui/useHoverSurfaceState.ts deleted file mode 100644 index b87380a..0000000 --- a/frontend/src/components/ui/useHoverSurfaceState.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { useEffect, useRef, useState } from "react"; - -const HOVER_CLOSE_DELAY_MS = 100; - -export function useHoverSurfaceState() { - const [open, setOpen] = useState(false); - const closeTimerRef = useRef(null); - - useEffect(() => () => { - if (closeTimerRef.current !== null) { - window.clearTimeout(closeTimerRef.current); - } - }, []); - - function cancelClose(): void { - if (closeTimerRef.current !== null) { - window.clearTimeout(closeTimerRef.current); - closeTimerRef.current = null; - } - } - - function scheduleClose(): void { - cancelClose(); - closeTimerRef.current = window.setTimeout(() => { - setOpen(false); - closeTimerRef.current = null; - }, HOVER_CLOSE_DELAY_MS); - } - - return { - open, - setOpen, - triggerProps: { - onMouseEnter: () => { - cancelClose(); - setOpen(true); - }, - onMouseLeave: scheduleClose, - onFocus: () => { - cancelClose(); - setOpen(true); - }, - onBlur: scheduleClose, - }, - contentProps: { - onMouseEnter: cancelClose, - onMouseLeave: scheduleClose, - }, - }; -} diff --git a/frontend/src/features/marketplace/api/cli-client.ts b/frontend/src/features/marketplace/api/cli-client.ts new file mode 100644 index 0000000..9a36bce --- /dev/null +++ b/frontend/src/features/marketplace/api/cli-client.ts @@ -0,0 +1,64 @@ +import { fetchJson } from "../../../api/http"; + +import type { + CliMarketplaceDetailDto, + CliMarketplacePageResultDto, +} from "./cli-types"; + +interface CliPageParams { + limit?: number; + offset?: number; +} + +export interface CliSearchParams extends CliPageParams { + query?: string; +} + +export async function fetchCliMarketplacePopular( + params: CliPageParams = {}, +): Promise { + return fetchJson( + withQuery("/marketplace/clis/popular", { + limit: params.limit, + offset: params.offset, + }), + ); +} + +export async function searchCliMarketplace( + params: CliSearchParams = {}, +): Promise { + return fetchJson( + withQuery("/marketplace/clis/search", { + q: params.query?.trim(), + limit: params.limit, + offset: params.offset, + }), + ); +} + +export async function fetchCliMarketplaceDetail( + idOrSlug: string, +): Promise { + const slug = idOrSlug.startsWith("clisdev:") + ? idOrSlug.slice("clisdev:".length) + : idOrSlug; + return fetchJson( + `/marketplace/clis/items/${encodeURIComponent(slug)}`, + ); +} + +function withQuery( + path: string, + params: Record, +): string { + const search = new URLSearchParams(); + for (const [key, value] of Object.entries(params)) { + if (value === undefined || value === "") { + continue; + } + search.set(key, String(value)); + } + const query = search.toString(); + return query ? `${path}?${query}` : path; +} diff --git a/frontend/src/features/marketplace/api/cli-queries.ts b/frontend/src/features/marketplace/api/cli-queries.ts new file mode 100644 index 0000000..784d34b --- /dev/null +++ b/frontend/src/features/marketplace/api/cli-queries.ts @@ -0,0 +1,53 @@ +import { useInfiniteQuery, useQuery } from "@tanstack/react-query"; + +import { flattenUniquePageItems, queryPolicy } from "../../../lib/query"; +import { + fetchCliMarketplaceDetail, + fetchCliMarketplacePopular, + searchCliMarketplace, +} from "./cli-client"; +import type { + CliMarketplaceItemDto, + CliMarketplacePageResultDto, +} from "./cli-types"; + +const CLI_MARKETPLACE_STALE_TIME_MS = 60_000; +const CLI_MARKETPLACE_GC_TIME_MS = 15 * 60_000; +const PAGE_SIZE = 30; + +export const cliMarketplaceKeys = { + all: ["marketplace", "clis"] as const, + feed: (query: string) => ["marketplace", "clis", "feed", query] as const, + detail: (idOrSlug: string) => ["marketplace", "clis", "detail", idOrSlug] as const, +}; + +export function useCliMarketplaceFeedQuery(query: string) { + const trimmed = query.trim(); + + return useInfiniteQuery({ + queryKey: cliMarketplaceKeys.feed(trimmed || "__popular__"), + initialPageParam: 0, + queryFn: ({ pageParam }) => + trimmed + ? searchCliMarketplace({ query: trimmed, limit: PAGE_SIZE, offset: pageParam }) + : fetchCliMarketplacePopular({ limit: PAGE_SIZE, offset: pageParam }), + getNextPageParam: (lastPage) => + lastPage.hasMore ? lastPage.nextOffset ?? undefined : undefined, + ...queryPolicy(CLI_MARKETPLACE_STALE_TIME_MS, CLI_MARKETPLACE_GC_TIME_MS), + }); +} + +export function useCliMarketplaceDetailQuery(idOrSlug: string | null) { + return useQuery({ + queryKey: cliMarketplaceKeys.detail(idOrSlug ?? "__none__"), + queryFn: () => fetchCliMarketplaceDetail(idOrSlug!), + enabled: Boolean(idOrSlug), + ...queryPolicy(CLI_MARKETPLACE_STALE_TIME_MS, CLI_MARKETPLACE_GC_TIME_MS), + }); +} + +export function flattenCliMarketplaceItems( + data: { pages: CliMarketplacePageResultDto[] } | undefined, +): CliMarketplaceItemDto[] { + return flattenUniquePageItems(data, (item) => item.id); +} diff --git a/frontend/src/features/marketplace/api/cli-types.ts b/frontend/src/features/marketplace/api/cli-types.ts new file mode 100644 index 0000000..8c081d8 --- /dev/null +++ b/frontend/src/features/marketplace/api/cli-types.ts @@ -0,0 +1,5 @@ +import type { components } from "../../../api/generated"; + +export type CliMarketplaceItemDto = components["schemas"]["CliMarketplaceItemResponse"]; +export type CliMarketplacePageResultDto = components["schemas"]["CliMarketplacePageResponse"]; +export type CliMarketplaceDetailDto = components["schemas"]["CliMarketplaceDetailResponse"]; diff --git a/frontend/src/features/marketplace/api/mcp-client.ts b/frontend/src/features/marketplace/api/mcp-client.ts new file mode 100644 index 0000000..0d0853d --- /dev/null +++ b/frontend/src/features/marketplace/api/mcp-client.ts @@ -0,0 +1,76 @@ +import { fetchJson, postJson } from "../../../api/http"; + +import type { + AddMcpServerRequestDto, + AddMcpServerResponseDto, + McpInstallTargetsDto, + McpMarketplaceDetailDto, + McpMarketplaceFilter, + McpMarketplacePageResultDto, +} from "./mcp-types"; + +interface McpPageParams { + limit?: number; + offset?: number; +} + +export interface McpSearchParams extends McpPageParams { + query?: string; + filter?: McpMarketplaceFilter; +} + +export async function fetchMcpMarketplacePopular( + params: McpPageParams = {}, +): Promise { + return fetchJson( + withQuery("/marketplace/mcp/popular", { limit: params.limit, offset: params.offset }), + ); +} + +export async function searchMcpMarketplace( + params: McpSearchParams = {}, +): Promise { + const filter = params.filter ?? "all"; + const query = (params.query ?? "").trim(); + return fetchJson( + withQuery("/marketplace/mcp/search", { + q: query || undefined, + limit: params.limit, + offset: params.offset, + remote: filter === "remote" ? "true" : filter === "local" ? "false" : undefined, + verified: filter === "verified" ? "true" : undefined, + }), + ); +} + +export async function fetchMcpMarketplaceDetail( + qualifiedName: string, +): Promise { + const encoded = qualifiedName.split("/").map(encodeURIComponent).join("/"); + return fetchJson(`/marketplace/mcp/items/${encoded}`); +} + +export async function fetchMcpInstallTargets(): Promise { + return fetchJson("/marketplace/mcp/install-targets"); +} + +export async function addMcpServer( + body: AddMcpServerRequestDto, +): Promise { + return postJson("/mcp/servers", body); +} + +function withQuery( + path: string, + params: Record, +): string { + const search = new URLSearchParams(); + for (const [key, value] of Object.entries(params)) { + if (value === undefined || value === "") { + continue; + } + search.set(key, String(value)); + } + const query = search.toString(); + return query ? `${path}?${query}` : path; +} diff --git a/frontend/src/features/marketplace/api/mcp-queries.ts b/frontend/src/features/marketplace/api/mcp-queries.ts new file mode 100644 index 0000000..113acc9 --- /dev/null +++ b/frontend/src/features/marketplace/api/mcp-queries.ts @@ -0,0 +1,110 @@ +import { useInfiniteQuery, useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; + +import { useToast } from "../../../components/Toast"; +import { flattenUniquePageItems, queryPolicy } from "../../../lib/query"; +import { invalidateMcpQueries } from "../../mcp/public"; +import { useInstallingState } from "../model/installing-context"; +import { + fetchMcpInstallTargets, + fetchMcpMarketplaceDetail, + fetchMcpMarketplacePopular, + addMcpServer, + searchMcpMarketplace, +} from "./mcp-client"; +import type { + AddMcpServerResponseDto, + McpMarketplaceFilter, + McpMarketplaceItemDto, + McpMarketplacePageResultDto, +} from "./mcp-types"; + +const MCP_MARKETPLACE_STALE_TIME_MS = 60_000; +const MCP_MARKETPLACE_GC_TIME_MS = 15 * 60_000; +const PAGE_SIZE = 30; + +export const mcpMarketplaceKeys = { + all: ["marketplace", "mcp"] as const, + feed: (query: string, filter: McpMarketplaceFilter) => + ["marketplace", "mcp", "feed", query, filter] as const, + detail: (qualifiedName: string) => + ["marketplace", "mcp", "detail", qualifiedName] as const, + installTargets: () => ["marketplace", "mcp", "install-targets"] as const, +}; + +export function useMcpMarketplaceFeedQuery(query: string, filter: McpMarketplaceFilter) { + const trimmed = query.trim(); + const usePopular = !trimmed && filter === "all"; + + return useInfiniteQuery({ + queryKey: mcpMarketplaceKeys.feed(trimmed || "__popular__", filter), + initialPageParam: 0, + queryFn: ({ pageParam }) => + usePopular + ? fetchMcpMarketplacePopular({ limit: PAGE_SIZE, offset: pageParam }) + : searchMcpMarketplace({ + query: trimmed, + filter, + limit: PAGE_SIZE, + offset: pageParam, + }), + getNextPageParam: (lastPage) => + lastPage.hasMore ? lastPage.nextOffset ?? undefined : undefined, + ...queryPolicy(MCP_MARKETPLACE_STALE_TIME_MS, MCP_MARKETPLACE_GC_TIME_MS), + }); +} + +export function useMcpMarketplaceDetailQuery(qualifiedName: string | null) { + return useQuery({ + queryKey: mcpMarketplaceKeys.detail(qualifiedName ?? "__none__"), + queryFn: () => fetchMcpMarketplaceDetail(qualifiedName!), + enabled: Boolean(qualifiedName), + ...queryPolicy(MCP_MARKETPLACE_STALE_TIME_MS, MCP_MARKETPLACE_GC_TIME_MS), + }); +} + +export function useMcpInstallTargetsQuery() { + return useQuery({ + queryKey: mcpMarketplaceKeys.installTargets(), + queryFn: fetchMcpInstallTargets, + ...queryPolicy(MCP_MARKETPLACE_GC_TIME_MS, MCP_MARKETPLACE_GC_TIME_MS), + }); +} + +/** + * Shared marketplace install mutation used by the detail view. + * Handles: pending-state publication, inventory invalidation, and success/error toasts. + */ +export function useAddMcpServerMutation() { + const queryClient = useQueryClient(); + const { toast } = useToast(); + const { begin, finish } = useInstallingState(); + + return useMutation< + AddMcpServerResponseDto, + Error, + { qualifiedName: string; sourceHarness: string; displayName?: string } + >({ + mutationFn: ({ qualifiedName, sourceHarness }) => addMcpServer({ qualifiedName, sourceHarness }), + onMutate: ({ qualifiedName }) => { + begin(qualifiedName); + }, + onSuccess: (response, { displayName }) => { + // Invalidate the central inventory so the card button flips to + // "Open in MCPs" in place. User stays on the marketplace. + void invalidateMcpQueries(queryClient); + toast(`${displayName ?? response.server.name} added to your MCP servers`); + }, + onError: (error) => { + toast(error instanceof Error ? error.message : "Install failed"); + }, + onSettled: (_data, _err, { qualifiedName }) => { + finish(qualifiedName); + }, + }); +} + +export function flattenMcpMarketplaceItems( + data: { pages: McpMarketplacePageResultDto[] } | undefined, +): McpMarketplaceItemDto[] { + return flattenUniquePageItems(data, (item) => item.qualifiedName); +} diff --git a/frontend/src/features/marketplace/api/mcp-types.ts b/frontend/src/features/marketplace/api/mcp-types.ts new file mode 100644 index 0000000..10eed61 --- /dev/null +++ b/frontend/src/features/marketplace/api/mcp-types.ts @@ -0,0 +1,18 @@ +import type { components } from "../../../api/generated"; + +export type McpMarketplaceItemDto = components["schemas"]["McpMarketplaceItemResponse"]; +export type McpMarketplacePageResultDto = components["schemas"]["McpMarketplacePageResponse"]; +export type McpConnectionKind = components["schemas"]["McpMarketplaceConnectionResponse"]["kind"]; +export type McpConnectionDto = components["schemas"]["McpMarketplaceConnectionResponse"]; +export type McpParameterDto = components["schemas"]["McpMarketplaceParameterResponse"]; +export type McpToolDto = components["schemas"]["McpMarketplaceToolResponse"]; +export type McpResourceDto = components["schemas"]["McpMarketplaceResourceResponse"]; +export type McpPromptArgumentDto = components["schemas"]["McpMarketplacePromptArgumentResponse"]; +export type McpPromptDto = components["schemas"]["McpMarketplacePromptResponse"]; +export type McpCapabilityCountsDto = components["schemas"]["McpMarketplaceCapabilityCountsResponse"]; +export type McpMarketplaceDetailDto = components["schemas"]["McpMarketplaceDetailResponse"]; +export type McpInstallTargetDto = components["schemas"]["McpInstallTargetResponse"]; +export type McpInstallTargetsDto = components["schemas"]["McpInstallTargetsResponse"]; +export type McpMarketplaceFilter = "all" | "remote" | "local" | "verified"; +export type AddMcpServerRequestDto = components["schemas"]["AddMcpServerRequest"]; +export type AddMcpServerResponseDto = components["schemas"]["McpServerMutationResponse"]; diff --git a/frontend/src/features/marketplace/api/queries.ts b/frontend/src/features/marketplace/api/queries.ts index df1839b..5a6a8fd 100644 --- a/frontend/src/features/marketplace/api/queries.ts +++ b/frontend/src/features/marketplace/api/queries.ts @@ -1,7 +1,8 @@ import { useInfiniteQuery, useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; -import { invalidateSettingsQueries } from "../../settings/queries"; -import { invalidateSkillsQueries } from "../../skills/api/queries"; +import { flattenUniquePageItems, queryPolicy } from "../../../lib/query"; +import { invalidateSettingsQueries } from "../../settings/public"; +import { invalidateSkillsQueries } from "../../skills/public"; import { fetchMarketplaceDetail, fetchMarketplaceDocument, @@ -32,9 +33,7 @@ export function useMarketplaceFeedQuery(query: string) { ? searchMarketplace(trimmed, { limit: 20, offset: pageParam }) : fetchMarketplacePopular({ limit: 20, offset: pageParam }), getNextPageParam: (lastPage) => (lastPage.hasMore ? lastPage.nextOffset ?? undefined : undefined), - staleTime: MARKETPLACE_STALE_TIME_MS, - gcTime: MARKETPLACE_GC_TIME_MS, - refetchOnWindowFocus: false, + ...queryPolicy(MARKETPLACE_STALE_TIME_MS, MARKETPLACE_GC_TIME_MS), }); } @@ -43,9 +42,7 @@ export function useMarketplaceDetailQuery(itemId: string | null) { queryKey: marketplaceKeys.detail(itemId ?? "__none__"), queryFn: () => fetchMarketplaceDetail(itemId!), enabled: Boolean(itemId), - staleTime: MARKETPLACE_STALE_TIME_MS, - gcTime: MARKETPLACE_GC_TIME_MS, - refetchOnWindowFocus: false, + ...queryPolicy(MARKETPLACE_STALE_TIME_MS, MARKETPLACE_GC_TIME_MS), }); } @@ -54,9 +51,7 @@ export function useMarketplaceDocumentQuery(itemId: string | null) { queryKey: marketplaceKeys.document(itemId ?? "__none__"), queryFn: () => fetchMarketplaceDocument(itemId!), enabled: Boolean(itemId), - staleTime: MARKETPLACE_STALE_TIME_MS, - gcTime: MARKETPLACE_GC_TIME_MS, - refetchOnWindowFocus: false, + ...queryPolicy(MARKETPLACE_STALE_TIME_MS, MARKETPLACE_GC_TIME_MS), }); } @@ -65,22 +60,7 @@ export async function invalidateMarketplaceQueries(queryClient: import("@tanstac } export function flattenMarketplaceItems(data: { pages: MarketplacePageResultDto[] } | undefined): MarketplaceItemDto[] { - if (!data) { - return []; - } - - const seen = new Set(); - const items: MarketplaceItemDto[] = []; - for (const page of data.pages) { - for (const item of page.items) { - if (seen.has(item.id)) { - continue; - } - seen.add(item.id); - items.push(item); - } - } - return items; + return flattenUniquePageItems(data, (item) => item.id); } export function useInstallMarketplaceSkillMutation() { diff --git a/frontend/src/features/marketplace/components/CliMarketplaceCard.tsx b/frontend/src/features/marketplace/components/CliMarketplaceCard.tsx new file mode 100644 index 0000000..5256f29 --- /dev/null +++ b/frontend/src/features/marketplace/components/CliMarketplaceCard.tsx @@ -0,0 +1,102 @@ +import { type KeyboardEvent, useState } from "react"; +import { CheckCircle2, Star, TerminalSquare } from "lucide-react"; + +import type { CliMarketplaceItemDto } from "../api/cli-types"; +import { formatMarketplaceStars } from "../model/formatters"; + +interface CliMarketplaceCardProps { + item: CliMarketplaceItemDto; + selected: boolean; + onOpenDetail: () => void; +} + +function avatarFallbackLabel(item: CliMarketplaceItemDto): string { + return (item.name || item.slug).slice(0, 2).toUpperCase(); +} + +function sourceLine(item: CliMarketplaceItemDto): string { + if (item.githubUrl) { + try { + return new URL(item.githubUrl).pathname.replace(/^\//, ""); + } catch { + return item.slug; + } + } + return item.vendorName || item.sourceType || `clis.dev/${item.slug}`; +} + +export function CliMarketplaceCard({ + item, + selected, + onOpenDetail, +}: CliMarketplaceCardProps) { + const [avatarFailed, setAvatarFailed] = useState(false); + const avatarSrc = item.iconUrl && !avatarFailed ? item.iconUrl : null; + + function handleKeyDown(event: KeyboardEvent): void { + if (event.key !== "Enter" && event.key !== " ") { + return; + } + event.preventDefault(); + onOpenDetail(); + } + + return ( +
    +
    +
    + {avatarSrc ? ( + {`Avatar setAvatarFailed(true)} + /> + ) : ( + <> +
    +
    +

    {item.name}

    +

    {sourceLine(item)}

    +
    +
    + +

    + {item.description || "No description provided."} +

    + +
    +
    + {item.category ? {item.category} : null} + {item.language ? {item.language} : null} + {item.isOfficial ? ( + + + ) : null} + {item.isTui ? TUI : null} + {item.hasMcp ? MCP : null} + {item.hasSkill ? Skill : null} +
    + {item.stars != null ? ( + + + ) : null} +
    +
    + ); +} diff --git a/frontend/src/features/marketplace/components/CliMarketplaceDetailSheet.tsx b/frontend/src/features/marketplace/components/CliMarketplaceDetailSheet.tsx new file mode 100644 index 0000000..050d35a --- /dev/null +++ b/frontend/src/features/marketplace/components/CliMarketplaceDetailSheet.tsx @@ -0,0 +1,48 @@ +import * as Dialog from "@radix-ui/react-dialog"; + +import type { CliMarketplaceItemDto } from "../api/cli-types"; +import { CliMarketplaceDetailView } from "./CliMarketplaceDetailView"; + +interface CliMarketplaceDetailSheetProps { + itemId: string | null; + initialItem: CliMarketplaceItemDto | null; + onClose: () => void; +} + +export function CliMarketplaceDetailSheet({ + itemId, + initialItem, + onClose, +}: CliMarketplaceDetailSheetProps) { + if (!itemId) { + return null; + } + + return ( + { + if (!open) { + onClose(); + } + }} + > + + + + CLI details + + Preview CLI marketplace metadata and links. Skill Manager does not install or + manage CLIs. + + + + + + ); +} diff --git a/frontend/src/features/marketplace/components/CliMarketplaceDetailView.tsx b/frontend/src/features/marketplace/components/CliMarketplaceDetailView.tsx new file mode 100644 index 0000000..47a150b --- /dev/null +++ b/frontend/src/features/marketplace/components/CliMarketplaceDetailView.tsx @@ -0,0 +1,288 @@ +import { Fragment, lazy, Suspense, useId, useState } from "react"; +import { CheckCircle2, Copy, TerminalSquare } from "lucide-react"; + +import { DetailHeader } from "../../../components/detail/DetailHeader"; +import { DetailSection } from "../../../components/detail/DetailSection"; +import { DetailSourceLinks, type DetailSourceLink } from "../../../components/detail/DetailSourceLinks"; +import { ErrorBanner } from "../../../components/ErrorBanner"; +import { LoadingSpinner } from "../../../components/LoadingSpinner"; +import { useToast } from "../../../components/Toast"; +import { useCliMarketplaceDetailQuery } from "../api/cli-queries"; +import type { CliMarketplaceItemDto } from "../api/cli-types"; +import { formatMarketplaceStars } from "../model/formatters"; + +const MarkdownDocument = lazy(() => import("../../../components/MarkdownDocument")); + +interface CliMarketplaceDetailViewProps { + itemId: string; + initialItem: CliMarketplaceItemDto | null; + onClose: () => void; +} + +export function CliMarketplaceDetailView({ + itemId, + initialItem, + onClose, +}: CliMarketplaceDetailViewProps) { + const headingId = useId(); + const detailQuery = useCliMarketplaceDetailQuery(itemId); + const detail = detailQuery.data ?? null; + const { toast } = useToast(); + const queryErrorMessage = + detailQuery.error instanceof Error ? detailQuery.error.message : ""; + + const headerName = detail?.name ?? initialItem?.name ?? itemId; + const headerSlug = detail?.slug ?? initialItem?.slug ?? itemId.replace(/^clisdev:/, ""); + const headerMarketplaceUrl = + detail?.marketplaceUrl ?? initialItem?.marketplaceUrl ?? `https://clis.dev/cli/${headerSlug}`; + const headerGithubUrl = detail?.githubUrl ?? initialItem?.githubUrl ?? null; + const headerWebsiteUrl = detail?.websiteUrl ?? initialItem?.websiteUrl ?? null; + const headerIconUrl = detail?.iconUrl ?? initialItem?.iconUrl ?? null; + const stars = detail?.stars ?? initialItem?.stars ?? null; + const [avatarFailed, setAvatarFailed] = useState(false); + const avatarSrc = headerIconUrl && !avatarFailed ? headerIconUrl : null; + + function handleCopy(value: string): void { + if (!navigator.clipboard?.writeText) { + toast("Command copied"); + return; + } + void navigator.clipboard + .writeText(value) + .then(() => toast("Command copied")) + .catch(() => toast("Copy failed")); + } + + if (!detail && detailQuery.isPending) { + return ( + <> +
    + {headerName}} + meta={

    clis.dev/{headerSlug}

    } + closeLabel="Close CLI preview" + onClose={onClose} + /> +
    +
    +
    + +
    +
    + + ); + } + + if (!detail) { + return ( + <> +
    + Unable to load CLI} + closeLabel="Close CLI preview" + onClose={onClose} + /> + +
    +
    +

    Try reopening the CLI from the marketplace grid.

    +
    + + ); + } + + const installCommand = detail.installCommand ?? null; + const hasSourceMetadata = Boolean(detail.sourceType || detail.vendorName); + const headerFacts = cliHeaderFacts(detail, stars); + const sourceLinks = cliSourceLinks({ + marketplaceUrl: headerMarketplaceUrl, + githubUrl: headerGithubUrl, + websiteUrl: headerWebsiteUrl, + }); + + return ( + <> +
    + + + +

    {headerName}

    + clis.dev/{headerSlug} +
    +
    + } + meta={ +
    + {headerFacts.length > 0 ? ( +
    + {headerFacts.map((fact, index) => ( + + {index > 0 ? ( + + ) : null} + + {fact.accent ? + + ))} +
    + ) : null} + +
    + } + closeLabel="Close CLI preview" + onClose={onClose} + /> + {queryErrorMessage ? : null} +
    + +
    + {installCommand ? ( + +
    + {installCommand} + +
    +
    + ) : null} + + +

    + {detail.description || "No description provided."} +

    + {detail.longDescription ? ( + }> + + + ) : null} +
    + + {hasSourceMetadata ? ( + +
    + + +
    +
    + ) : null} +
    + + ); +} + +function avatarFallbackLabel(name: string): string { + return name.slice(0, 2).toUpperCase(); +} + +interface CliHeaderFact { + label: string; + accent?: boolean; +} + +function cliHeaderFacts( + detail: CliMarketplaceItemDto, + stars: number | null, +): CliHeaderFact[] { + const facts: CliHeaderFact[] = []; + if (detail.category) { + facts.push({ label: detail.category }); + } + if (detail.language) { + facts.push({ label: detail.language }); + } + if (detail.isOfficial) { + facts.push({ label: "Official", accent: true }); + } + if (detail.isTui) { + facts.push({ label: "TUI" }); + } + if (detail.hasMcp) { + facts.push({ label: "MCP" }); + } + if (detail.hasSkill) { + facts.push({ label: "Skill" }); + } + if (stars != null) { + facts.push({ label: `${formatMarketplaceStars(stars)} stars` }); + } + return facts; +} + +function cliSourceLinks({ + marketplaceUrl, + githubUrl, + websiteUrl, +}: { + marketplaceUrl: string; + githubUrl: string | null; + websiteUrl: string | null; +}): DetailSourceLink[] { + const links: DetailSourceLink[] = []; + if (githubUrl) { + links.push({ + href: githubUrl, + label: "Repo", + kind: "repo", + }); + } + if (websiteUrl) { + links.push({ + href: websiteUrl, + label: "Website", + kind: "website", + }); + } + if (links.length === 0) { + links.push({ + href: marketplaceUrl, + label: "CLIs.dev", + kind: "marketplace", + }); + } + return links; +} + +function MetaRow({ label, value }: { label: string; value: string | null }) { + if (!value) { + return null; + } + return ( +
    +
    {label}
    +
    {value}
    +
    + ); +} diff --git a/frontend/src/features/marketplace/components/MarketplaceCard.test.tsx b/frontend/src/features/marketplace/components/MarketplaceCard.test.tsx deleted file mode 100644 index 511ce82..0000000 --- a/frontend/src/features/marketplace/components/MarketplaceCard.test.tsx +++ /dev/null @@ -1,88 +0,0 @@ -import { fireEvent, render, screen } from "@testing-library/react"; -import { describe, expect, it, vi } from "vitest"; - -import { createMarketplaceItem } from "../test-fixtures"; -import { MarketplaceCard } from "./MarketplaceCard"; - -const baseItem = createMarketplaceItem(); - -describe("MarketplaceCard", () => { - it("renders repo identity, installs, and stars", () => { - render( - {}} - onInstall={() => {}} - onOpenInstalledSkill={() => {}} - />, - ); - - expect(screen.getByAltText("Avatar for mode-io/skills")).toBeInTheDocument(); - expect(screen.getByRole("link", { name: "mode-io/skills" })).toHaveAttribute("href", baseItem.repoUrl); - expect(screen.getByText("512")).toBeInTheDocument(); - expect(screen.getByText("128 installs")).toBeInTheDocument(); - expect(screen.getByRole("link", { name: "View on skills.sh" })).toHaveAttribute("href", baseItem.skillsDetailUrl); - }); - - it("opens marketplace detail from the preview surface", () => { - const onOpenDetail = vi.fn(); - - render( - {}} - onOpenInstalledSkill={() => {}} - />, - ); - - fireEvent.click(screen.getByRole("button", { name: /open marketplace detail for mode switch/i })); - - expect(onOpenDetail).toHaveBeenCalledTimes(1); - }); - - it("always keeps the repo and skills.sh links stable", () => { - render( - {}} - onInstall={() => {}} - onOpenInstalledSkill={() => {}} - />, - ); - - expect(screen.getByRole("link", { name: "mode-io/skills" })).toHaveAttribute("href", baseItem.repoUrl); - expect(screen.getByRole("link", { name: "View on skills.sh" })).toHaveAttribute("href", baseItem.skillsDetailUrl); - }); - - it("switches the action to Open in Skills when the item is already installed", () => { - const onOpenInstalledSkill = vi.fn(); - - render( - {}} - onInstall={() => {}} - onOpenInstalledSkill={onOpenInstalledSkill} - />, - ); - - fireEvent.click(screen.getByRole("button", { name: "Open in Skills" })); - - expect(onOpenInstalledSkill).toHaveBeenCalledWith("shared:mode-switch"); - }); -}); diff --git a/frontend/src/features/marketplace/components/MarketplaceCard.tsx b/frontend/src/features/marketplace/components/MarketplaceCard.tsx index e39b874..b08a3ea 100644 --- a/frontend/src/features/marketplace/components/MarketplaceCard.tsx +++ b/frontend/src/features/marketplace/components/MarketplaceCard.tsx @@ -1,5 +1,5 @@ import { type KeyboardEvent, useState } from "react"; -import { Star } from "lucide-react"; +import { ArrowUpRight, Plus, Star } from "lucide-react"; import { LoadingSpinner } from "../../../components/LoadingSpinner"; import type { MarketplaceItemDto } from "../api/types"; @@ -24,7 +24,6 @@ function avatarFallbackLabel(item: MarketplaceItemDto): string { export function MarketplaceCard({ item, - selected, installing, onOpenDetail, onInstall, @@ -51,80 +50,71 @@ export function MarketplaceCard({ } return ( -
    -
    -
    -
    -
    - {avatarSrc ? ( - {`Avatar setAvatarFailed(true)} - /> - ) : ( - {avatarFallbackLabel(item)} - )} -
    - -
    - {stars > 0 ? ( - - - {formatMarketplaceStars(stars)} - - ) : null} +
    +
    +
    + {avatarSrc ? ( + {`Avatar setAvatarFailed(true)} + /> + ) : ( + avatarFallbackLabel(item) + )}
    - -

    {item.description || "No summary available on skills.sh."}

    - -
    - {installs} installs - event.stopPropagation()} - > - View on skills.sh - +
    +

    {item.name}

    +

    {item.repoLabel}

    + {stars > 0 ? ( + + + {formatMarketplaceStars(stars)} + + ) : null}
    -
    +

    {item.description || "No summary available on skills.sh."}

    + +
    + {installs} installs {item.installation.status === "installed" && item.installation.installedSkillRef ? ( ) : ( - )} diff --git a/frontend/src/features/marketplace/components/MarketplaceDetailSheet.tsx b/frontend/src/features/marketplace/components/MarketplaceDetailSheet.tsx index 6e4f58f..da67531 100644 --- a/frontend/src/features/marketplace/components/MarketplaceDetailSheet.tsx +++ b/frontend/src/features/marketplace/components/MarketplaceDetailSheet.tsx @@ -36,8 +36,8 @@ export function MarketplaceDetailSheet({ }} > - - + + Marketplace skill details Preview a marketplace skill before opening it in Skills or installing it. diff --git a/frontend/src/features/marketplace/components/MarketplaceDetailSkeleton.tsx b/frontend/src/features/marketplace/components/MarketplaceDetailSkeleton.tsx index 83be204..1f979af 100644 --- a/frontend/src/features/marketplace/components/MarketplaceDetailSkeleton.tsx +++ b/frontend/src/features/marketplace/components/MarketplaceDetailSkeleton.tsx @@ -13,13 +13,12 @@ export function MarketplaceDetailSkeleton({ onClose }: MarketplaceDetailSkeleton title={
    - ); } -interface HarnessCellControlProps { +interface HarnessCellActionProps { skillName: string; cell: HarnessCell; - pendingToggleHarnesses: ReadonlySet; - structuralLocked: boolean; + pending: boolean; + disabled: boolean; onToggleCell: (cell: HarnessCell) => void; } -function HarnessCellControl({ +function HarnessCellAction({ skillName, cell, - pendingToggleHarnesses, - structuralLocked, + pending, + disabled, onToggleCell, -}: HarnessCellControlProps) { - const pending = pendingToggleHarnesses.has(cell.harness); +}: HarnessCellActionProps) { + if (!cell.interactive) { + if (cell.state === "found") { + return ( + + Adopt this skill to manage it + + ); + } + return null; + } - return ( - onToggleCell(cell)} - /> - ); + if (cell.state === "enabled") { + return ( + + ); + } + + if (cell.state === "disabled") { + return ( + + ); + } + + return null; } diff --git a/frontend/src/features/skills/components/detail/SkillDetailModal.tsx b/frontend/src/features/skills/components/detail/SkillDetailModal.tsx new file mode 100644 index 0000000..bd25e47 --- /dev/null +++ b/frontend/src/features/skills/components/detail/SkillDetailModal.tsx @@ -0,0 +1,58 @@ +import * as Dialog from "@radix-ui/react-dialog"; + +import type { HarnessCellState } from "../../model/types"; +import type { StructuralSkillAction } from "../../model/pending"; +import { SkillDetailView } from "./SkillDetailView"; + +interface SkillDetailModalProps { + open: boolean; + skillRef: string | null; + pendingToggleHarnesses: ReadonlySet; + pendingStructuralAction: StructuralSkillAction | null; + onClose: () => void; + onManageSkill: (skillRef: string) => Promise; + onToggleSkill: (skillRef: string, harness: string, currentState: HarnessCellState) => Promise; + onUpdateSkill: (skillRef: string) => Promise; + onRemoveSkill: (skillRef: string) => Promise; + onDeleteSkill: (skillRef: string) => Promise; +} + +export function SkillDetailModal({ + open, + skillRef, + pendingToggleHarnesses, + pendingStructuralAction, + onClose, + onManageSkill, + onToggleSkill, + onUpdateSkill, + onRemoveSkill, + onDeleteSkill, +}: SkillDetailModalProps) { + return ( + (next ? null : onClose())}> + + + + Skill details + + Inspect and manage this skill across harnesses. + + {skillRef ? ( + + ) : null} + + + + ); +} diff --git a/frontend/src/features/skills/components/detail/SkillDetailPanel.tsx b/frontend/src/features/skills/components/detail/SkillDetailPanel.tsx deleted file mode 100644 index 2893f41..0000000 --- a/frontend/src/features/skills/components/detail/SkillDetailPanel.tsx +++ /dev/null @@ -1,132 +0,0 @@ -import type { HarnessCellState } from "../../model/types"; -import { useEffect, useRef, useState } from "react"; - -import type { StructuralSkillAction } from "../../model/pending"; -import { SkillDetailSkeleton } from "./SkillDetailSkeleton"; -import { SkillDetailView } from "./SkillDetailView"; - -interface SkillDetailPanelProps { - isOpen: boolean; - skillRef: string | null; - pendingToggleHarnesses: ReadonlySet; - pendingStructuralAction: StructuralSkillAction | null; - onClose: () => void; - onManageSkill: (skillRef: string) => Promise; - onToggleSkill: (skillRef: string, harness: string, currentState: HarnessCellState) => Promise; - onUpdateSkill: (skillRef: string) => Promise; - onUnmanageSkill: (skillRef: string) => Promise; - onDeleteSkill: (skillRef: string) => Promise; -} - -export function SkillDetailPanel({ - isOpen, - skillRef, - pendingToggleHarnesses, - pendingStructuralAction, - onClose, - onManageSkill, - onToggleSkill, - onUpdateSkill, - onUnmanageSkill, - onDeleteSkill, -}: SkillDetailPanelProps) { - const [panelPhase, setPanelPhase] = useState<"closed" | "opening" | "open" | "closing">(isOpen ? "open" : "closed"); - const [displayedSkillRef, setDisplayedSkillRef] = useState(skillRef); - const detailScrollRef = useRef(null); - const previousSkillRef = useRef(null); - const transitionTimerRef = useRef(null); - - useEffect(() => { - return () => { - if (transitionTimerRef.current !== null) { - window.clearTimeout(transitionTimerRef.current); - } - }; - }, []); - - useEffect(() => { - if (skillRef) { - setDisplayedSkillRef(skillRef); - } - }, [skillRef]); - - useEffect(() => { - if (transitionTimerRef.current !== null) { - window.clearTimeout(transitionTimerRef.current); - } - - if (isOpen) { - setPanelPhase((current) => { - if (current === "closed") { - transitionTimerRef.current = window.setTimeout(() => { - setPanelPhase("open"); - transitionTimerRef.current = null; - }, 220); - return "opening"; - } - return "open"; - }); - return; - } - - setPanelPhase((current) => { - if (current === "closed") { - setDisplayedSkillRef(null); - return current; - } - transitionTimerRef.current = window.setTimeout(() => { - setPanelPhase("closed"); - setDisplayedSkillRef(null); - transitionTimerRef.current = null; - }, 140); - return "closing"; - }); - }, [isOpen]); - - useEffect(() => { - if (!isOpen) { - previousSkillRef.current = displayedSkillRef; - return; - } - - if (displayedSkillRef !== previousSkillRef.current && detailScrollRef.current) { - detailScrollRef.current.scrollTop = 0; - } - - previousSkillRef.current = displayedSkillRef; - }, [displayedSkillRef, isOpen]); - - const isPanelMounted = panelPhase !== "closed"; - const isContentVisible = panelPhase === "open"; - - return ( - - ); -} diff --git a/frontend/src/features/skills/components/detail/SkillDetailRemoveAction.test.tsx b/frontend/src/features/skills/components/detail/SkillDetailRemoveAction.test.tsx new file mode 100644 index 0000000..ed76fe0 --- /dev/null +++ b/frontend/src/features/skills/components/detail/SkillDetailRemoveAction.test.tsx @@ -0,0 +1,58 @@ +import { fireEvent, render, screen, waitFor } from "@testing-library/react"; +import { describe, expect, it, vi } from "vitest"; + +import { UiTooltipProvider } from "../../../../components/ui/UiTooltipProvider"; +import { SkillDetailRemoveAction } from "./SkillDetailRemoveAction"; + +describe("SkillDetailRemoveAction", () => { + it("shows help copy for an available remove action and forwards clicks", async () => { + const onRequestRemove = vi.fn(); + + render( + + + , + ); + + const button = screen.getByRole("button", { name: "Remove from Skill Manager" }); + fireEvent.focus(button); + + await waitFor(() => { + const bubble = document.querySelector(".ui-popup--tooltip"); + expect(bubble).not.toBeNull(); + expect(bubble).toHaveTextContent("Removes this skill from the Skill Manager store and restores local copies only for the harnesses that are currently enabled."); + }); + + fireEvent.click(button); + expect(onRequestRemove).toHaveBeenCalledTimes(1); + }); + + it("shows disabled guidance when no harnesses are enabled", async () => { + render( + + undefined} + /> + , + ); + + const trigger = screen.getByRole("button", { name: "Remove from Skill Manager" }).closest(".ui-tooltip-trigger"); + expect(trigger).not.toBeNull(); + + fireEvent.focus(trigger!); + + await waitFor(() => { + const bubble = document.querySelector(".ui-popup--tooltip"); + expect(bubble).not.toBeNull(); + expect(bubble).toHaveTextContent("Enable at least one harness before removing this skill from Skill Manager."); + }); + + expect(screen.getByRole("button", { name: "Remove from Skill Manager" })).toBeDisabled(); + }); +}); diff --git a/frontend/src/features/skills/components/detail/SkillDetailRemoveAction.tsx b/frontend/src/features/skills/components/detail/SkillDetailRemoveAction.tsx new file mode 100644 index 0000000..76b74a3 --- /dev/null +++ b/frontend/src/features/skills/components/detail/SkillDetailRemoveAction.tsx @@ -0,0 +1,52 @@ +import { UiTooltip } from "../../../../components/ui/UiTooltip"; +import { UiTooltipTriggerBoundary } from "../../../../components/ui/UiTooltipTriggerBoundary"; +import type { SkillRemoveStatus } from "../../model/types"; + +interface SkillDetailRemoveActionProps { + status: SkillRemoveStatus; + disabled: boolean; + onRequestRemove: () => void; +} + +export function SkillDetailRemoveAction({ + status, + disabled, + onRequestRemove, +}: SkillDetailRemoveActionProps) { + const isBlocked = disabled || status === "disabled_no_enabled"; + + const copy = status === "disabled_no_enabled" + ? "Enable at least one harness before removing this skill from Skill Manager." + : "Removes this skill from the Skill Manager store and restores local copies only for the harnesses that are currently enabled."; + + const button = ( + + ); + + if (isBlocked) { + return ( + + {button} + + ); + } + + return ( + + {button} + + ); +} diff --git a/frontend/src/features/skills/components/detail/SkillDetailShell.tsx b/frontend/src/features/skills/components/detail/SkillDetailShell.tsx new file mode 100644 index 0000000..a1c083c --- /dev/null +++ b/frontend/src/features/skills/components/detail/SkillDetailShell.tsx @@ -0,0 +1,35 @@ +import type { ReactNode } from "react"; + +interface SkillDetailShellProps { + chrome: ReactNode; + body: ReactNode; + footer?: ReactNode; + bodyAriaLabelledBy?: string; + bodyAriaHidden?: boolean; +} + +export function SkillDetailShell({ + chrome, + body, + footer, + bodyAriaLabelledBy, + bodyAriaHidden = false, +}: SkillDetailShellProps) { + return ( + <> +
    {chrome}
    +
    +
    {body}
    +
    + {footer ? ( +
    + {footer} +
    + ) : null} + + ); +} diff --git a/frontend/src/features/skills/components/detail/SkillDetailSkeleton.test.tsx b/frontend/src/features/skills/components/detail/SkillDetailSkeleton.test.tsx deleted file mode 100644 index aae3ecb..0000000 --- a/frontend/src/features/skills/components/detail/SkillDetailSkeleton.test.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { render, screen } from "@testing-library/react"; -import { describe, expect, it, vi } from "vitest"; - -import { SkillDetailSkeleton } from "./SkillDetailSkeleton"; - -describe("SkillDetailSkeleton", () => { - it("renders the shared detail header shell while loading", () => { - render(); - - expect(document.querySelector(".skill-detail__header-top")).not.toBeNull(); - expect(document.querySelector(".skill-detail__utility-rail")).not.toBeNull(); - expect(screen.getByRole("button", { name: "Close skill details" })).toHaveClass("skill-detail__close-button"); - expect(screen.getByText("Loading")).toBeInTheDocument(); - }); -}); diff --git a/frontend/src/features/skills/components/detail/SkillDetailSkeleton.tsx b/frontend/src/features/skills/components/detail/SkillDetailSkeleton.tsx index 214071e..ca9cb87 100644 --- a/frontend/src/features/skills/components/detail/SkillDetailSkeleton.tsx +++ b/frontend/src/features/skills/components/detail/SkillDetailSkeleton.tsx @@ -1,5 +1,7 @@ import { DetailHeader } from "../../../../components/detail/DetailHeader"; import { DetailLoadingChip } from "../../../../components/detail/DetailLoadingChip"; +import { DetailSection } from "../../../../components/detail/DetailSection"; +import { SkillDetailShell } from "./SkillDetailShell"; interface SkillDetailSkeletonProps { onClose: () => void; @@ -7,49 +9,35 @@ interface SkillDetailSkeletonProps { export function SkillDetailSkeleton({ onClose }: SkillDetailSkeletonProps) { return ( - <> -
    -
    - - - + + + )} + bodyAriaHidden + /> ); } diff --git a/frontend/src/features/skills/components/detail/SkillDetailStopManagingAction.test.tsx b/frontend/src/features/skills/components/detail/SkillDetailStopManagingAction.test.tsx deleted file mode 100644 index a39dced..0000000 --- a/frontend/src/features/skills/components/detail/SkillDetailStopManagingAction.test.tsx +++ /dev/null @@ -1,49 +0,0 @@ -import { fireEvent, render, screen, waitFor } from "@testing-library/react"; -import { describe, expect, it, vi } from "vitest"; - -import { SkillDetailStopManagingAction } from "./SkillDetailStopManagingAction"; - -describe("SkillDetailStopManagingAction", () => { - it("shows help copy for an available stop-managing action and forwards clicks", async () => { - const onRequestStopManaging = vi.fn(); - - render( - , - ); - - const button = screen.getByRole("button", { name: "Stop Managing" }); - fireEvent.mouseEnter(button); - - await waitFor(() => - expect(screen.getByText("Moves this skill out of the shared managed store and restores local copies only for the harnesses that are currently enabled.")).toBeInTheDocument(), - ); - - fireEvent.click(button); - expect(onRequestStopManaging).toHaveBeenCalledTimes(1); - }); - - it("shows disabled guidance when no harnesses are enabled", async () => { - render( - undefined} - />, - ); - - const trigger = screen.getByText("Stop Managing").closest(".skill-detail__action-trigger"); - expect(trigger).not.toBeNull(); - - fireEvent.focus(trigger!); - - await waitFor(() => - expect(screen.getByText("Turn on at least one harness before moving this skill back to unmanaged.")).toBeInTheDocument(), - ); - - expect(screen.getByRole("button", { name: "Stop Managing" })).toBeDisabled(); - }); -}); diff --git a/frontend/src/features/skills/components/detail/SkillDetailStopManagingAction.tsx b/frontend/src/features/skills/components/detail/SkillDetailStopManagingAction.tsx deleted file mode 100644 index d707288..0000000 --- a/frontend/src/features/skills/components/detail/SkillDetailStopManagingAction.tsx +++ /dev/null @@ -1,40 +0,0 @@ -import { HelpPopover } from "../../../../components/ui/HelpPopover"; -import type { SkillStopManagingStatus } from "../../model/types"; - -interface SkillDetailStopManagingActionProps { - status: SkillStopManagingStatus; - disabled: boolean; - onRequestStopManaging: () => void; -} - -export function SkillDetailStopManagingAction({ - status, - disabled, - onRequestStopManaging, -}: SkillDetailStopManagingActionProps) { - const isBlocked = disabled || status === "disabled_no_enabled"; - - const copy = status === "disabled_no_enabled" - ? "Turn on at least one harness before moving this skill back to unmanaged." - : "Moves this skill out of the shared managed store and restores local copies only for the harnesses that are currently enabled."; - - return ( - - - - - - ); -} diff --git a/frontend/src/features/skills/components/detail/SkillDetailUpdateControl.test.tsx b/frontend/src/features/skills/components/detail/SkillDetailUpdateControl.test.tsx index bd21ab6..d056e39 100644 --- a/frontend/src/features/skills/components/detail/SkillDetailUpdateControl.test.tsx +++ b/frontend/src/features/skills/components/detail/SkillDetailUpdateControl.test.tsx @@ -16,7 +16,10 @@ describe("SkillDetailUpdateControl", () => { />, ); - fireEvent.click(screen.getByRole("button", { name: "Update From Source" })); + const button = screen.getByRole("button", { name: "Update From Source" }); + expect(button).toHaveClass("action-pill--md"); + + fireEvent.click(button); expect(onUpdate).toHaveBeenCalledTimes(1); }); @@ -30,7 +33,9 @@ describe("SkillDetailUpdateControl", () => { />, ); - expect(screen.getByText("No Update Available")).toBeInTheDocument(); + const noUpdate = screen.getByText("No Update Available"); + expect(noUpdate).toBeInTheDocument(); + expect(noUpdate).toHaveClass("card-status-pill--md"); expect(screen.queryByRole("button", { name: "No Update Available" })).not.toBeInTheDocument(); rerender( @@ -42,7 +47,22 @@ describe("SkillDetailUpdateControl", () => { />, ); - expect(screen.getByText("No Source Available")).toBeInTheDocument(); + const noSource = screen.getByText("No Source Available"); + expect(noSource).toBeInTheDocument(); + expect(noSource).toHaveClass("card-status-pill--md"); expect(screen.queryByRole("button", { name: "No Source Available" })).not.toBeInTheDocument(); }); + + it("renders nothing for local-changes-disabled state", () => { + const { container } = render( + undefined} + />, + ); + + expect(container).toBeEmptyDOMElement(); + }); }); diff --git a/frontend/src/features/skills/components/detail/SkillDetailUpdateControl.tsx b/frontend/src/features/skills/components/detail/SkillDetailUpdateControl.tsx index 86d6e71..2ead359 100644 --- a/frontend/src/features/skills/components/detail/SkillDetailUpdateControl.tsx +++ b/frontend/src/features/skills/components/detail/SkillDetailUpdateControl.tsx @@ -8,7 +8,7 @@ interface SkillDetailUpdateControlProps { onUpdate: () => void; } -const UPDATE_STATUS_LABELS: Record, string> = { +const UPDATE_STATUS_LABELS: Record, string> = { no_update_available: "No Update Available", no_source_available: "No Source Available", }; @@ -23,7 +23,7 @@ export function SkillDetailUpdateControl({ return (
    - + )} + bodyAriaLabelledBy={fallbackHeadingId} + /> ); } @@ -93,25 +103,27 @@ export function SkillDetailView({ onManage={onManage} onToggleHarness={(cell) => onToggleHarness(cell.harness, cell.state)} onUpdate={onUpdate} - onRequestStopManaging={requestStopManaging} + onRequestRemove={requestRemove} onRequestDelete={requestDelete} /> {detail.actions.stopManagingStatus !== null ? ( - ) : null} {detail.actions.canDelete ? ( - diff --git a/frontend/src/features/skills/components/dialogs/SkillActionConfirmDialog.tsx b/frontend/src/features/skills/components/dialogs/SkillActionConfirmDialog.tsx new file mode 100644 index 0000000..d5d22b2 --- /dev/null +++ b/frontend/src/features/skills/components/dialogs/SkillActionConfirmDialog.tsx @@ -0,0 +1,76 @@ +import { ConfirmActionDialog } from "../../../../components/ConfirmActionDialog"; + +type SkillActionConfirmKind = "unmanage" | "delete"; + +interface SkillActionConfirmDialogProps { + open: boolean; + action: SkillActionConfirmKind; + skillName: string; + harnessLabels: readonly string[]; + isPending: boolean; + onOpenChange: (open: boolean) => void; + onConfirm: () => void | Promise; +} + +export function SkillActionConfirmDialog({ + open, + action, + skillName, + harnessLabels, + isPending, + onOpenChange, + onConfirm, +}: SkillActionConfirmDialogProps) { + const content = action === "unmanage" + ? { + title: "Remove skill from Skill Manager?", + description: ( + <> + This removes {skillName} from the Skill Manager store and restores local copies only + for the harnesses that are currently enabled. + + ), + note: + harnessLabels.length > 0 ? ( +

    Will restore to: {harnessLabels.join(", ")}

    + ) : undefined, + confirmLabel: "Remove", + pendingLabel: "Removing", + confirmTone: "primary" as const, + } + : { + title: "Delete skill from Skill Manager?", + description: ( + <> + This will remove {skillName} from the shared store and delete its + links from all harnesses. + + ), + note: ( + <> +

    This action cannot be undone.

    + {harnessLabels.length > 0 ? ( +

    Affected harnesses: {harnessLabels.join(", ")}

    + ) : null} + + ), + confirmLabel: "Delete", + pendingLabel: "Deleting skill", + confirmTone: "danger" as const, + }; + + return ( + + ); +} diff --git a/frontend/src/features/skills/components/dialogs/SkillDeleteDialog.tsx b/frontend/src/features/skills/components/dialogs/SkillDeleteDialog.tsx deleted file mode 100644 index 5775961..0000000 --- a/frontend/src/features/skills/components/dialogs/SkillDeleteDialog.tsx +++ /dev/null @@ -1,41 +0,0 @@ -import { SkillActionDialog } from "./SkillActionDialog"; - -interface SkillDeleteDialogProps { - open: boolean; - skillName: string; - harnessLabels: string[]; - isDeleting: boolean; - onOpenChange: (open: boolean) => void; - onConfirm: () => void | Promise; -} - -export function SkillDeleteDialog({ - open, - skillName, - harnessLabels, - isDeleting, - onOpenChange, - onConfirm, -}: SkillDeleteDialogProps) { - return ( - - This will remove {skillName} from the shared store and delete its links from all harnesses. - This action cannot be undone. - - )} - note={harnessLabels.length > 0 ? `Affected harnesses: ${harnessLabels.join(", ")}` : undefined} - tone="danger" - confirmLabel="Still Delete" - confirmClassName="btn btn-danger" - pendingLabel="Deleting skill" - isPending={isDeleting} - onOpenChange={onOpenChange} - onConfirm={onConfirm} - /> - ); -} diff --git a/frontend/src/features/skills/components/dialogs/SkillStopManagingDialog.tsx b/frontend/src/features/skills/components/dialogs/SkillStopManagingDialog.tsx deleted file mode 100644 index 46522f0..0000000 --- a/frontend/src/features/skills/components/dialogs/SkillStopManagingDialog.tsx +++ /dev/null @@ -1,41 +0,0 @@ -import { SkillActionDialog } from "./SkillActionDialog"; - -interface SkillStopManagingDialogProps { - open: boolean; - skillName: string; - harnessLabels: string[]; - isPending: boolean; - onOpenChange: (open: boolean) => void; - onConfirm: () => void | Promise; -} - -export function SkillStopManagingDialog({ - open, - skillName, - harnessLabels, - isPending, - onOpenChange, - onConfirm, -}: SkillStopManagingDialogProps) { - return ( - - This removes {skillName} from the shared managed store and restores local copies only for - the harnesses that are currently enabled. - - )} - note={harnessLabels.length > 0 ? `Will restore to: ${harnessLabels.join(", ")}` : undefined} - tone="neutral" - confirmLabel="Stop Managing" - confirmClassName="btn btn-primary" - pendingLabel="Stopping management" - isPending={isPending} - onOpenChange={onOpenChange} - onConfirm={onConfirm} - /> - ); -} diff --git a/frontend/src/features/skills/components/harness/BulkManageHelp.tsx b/frontend/src/features/skills/components/harness/BulkManageHelp.tsx deleted file mode 100644 index d61131e..0000000 --- a/frontend/src/features/skills/components/harness/BulkManageHelp.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import { HelpPopover } from "../../../../components/ui/HelpPopover"; - -const BULK_MANAGE_COPY = - "Moves local copies into the Shared Store, then replaces tool-folder copies with managed links."; - -export function BulkManageHelp() { - return ( - - - - ); -} diff --git a/frontend/src/features/skills/components/harness/HarnessMark.tsx b/frontend/src/features/skills/components/harness/HarnessMark.tsx deleted file mode 100644 index e60b0ba..0000000 --- a/frontend/src/features/skills/components/harness/HarnessMark.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { getHarnessPresentation } from "./harnessPresentation"; - -interface HarnessMarkProps { - harness: string; - label: string; - logoKey?: string | null; - className?: string; -} - -export function HarnessMark({ harness, label, logoKey, className }: HarnessMarkProps) { - const presentation = getHarnessPresentation(logoKey ?? harness); - const classes = ["skill-harness-mark", className].filter(Boolean).join(" "); - - if (!presentation) { - return {label}; - } - - return ( - - - {label} - - ); -} diff --git a/frontend/src/features/skills/components/harness/HarnessStateChip.test.tsx b/frontend/src/features/skills/components/harness/HarnessStateChip.test.tsx deleted file mode 100644 index 3281672..0000000 --- a/frontend/src/features/skills/components/harness/HarnessStateChip.test.tsx +++ /dev/null @@ -1,69 +0,0 @@ -import { fireEvent, render, screen } from "@testing-library/react"; -import { describe, expect, it, vi } from "vitest"; - -import { HarnessStateChip } from "./HarnessStateChip"; - -describe("HarnessStateChip", () => { - it("renders interactive on-off switches for enabled and disabled states", () => { - const onCheckedChange = vi.fn(); - - const { rerender } = render( - , - ); - - expect(screen.getByRole("switch", { name: "Enable Shared Audit for Codex" })).toBeInTheDocument(); - expect(screen.getByText("Off")).toBeInTheDocument(); - - fireEvent.click(screen.getByRole("switch", { name: "Enable Shared Audit for Codex" })); - expect(onCheckedChange).toHaveBeenCalled(); - - rerender( - , - ); - - expect(screen.getByRole("switch", { name: "Disable Shared Audit for Codex" })).toBeInTheDocument(); - expect(screen.getByText("On")).toBeInTheDocument(); - }); - - it("renders passive found, not found, and built-in chips", () => { - const { container, rerender } = render(); - - expect(screen.getByText("Found")).toBeInTheDocument(); - expect(container.querySelector(".harness-state-chip--found")).not.toBeNull(); - - rerender(); - expect(screen.getByText("Not Found")).toBeInTheDocument(); - expect(container.querySelector(".harness-state-chip--empty")).not.toBeNull(); - - rerender(); - expect(screen.getByText("Built-in")).toBeInTheDocument(); - expect(container.querySelector(".harness-state-chip--builtin")).not.toBeNull(); - }); - - it("renders pending feedback inside the interactive chip without changing passive variants", () => { - render( - , - ); - - const toggle = screen.getByRole("switch", { name: "Disable Shared Audit for Codex" }); - expect(toggle).toBeDisabled(); - expect(screen.getByText("Saving")).toBeInTheDocument(); - expect(screen.getByLabelText("Saving harness state")).toBeInTheDocument(); - }); -}); diff --git a/frontend/src/features/skills/components/harness/HarnessStateChip.tsx b/frontend/src/features/skills/components/harness/HarnessStateChip.tsx deleted file mode 100644 index c6af9ca..0000000 --- a/frontend/src/features/skills/components/harness/HarnessStateChip.tsx +++ /dev/null @@ -1,64 +0,0 @@ -import * as SwitchPrimitive from "@radix-ui/react-switch"; - -import { LoadingSpinner } from "../../../../components/LoadingSpinner"; -import type { HarnessCellState } from "../../model/types"; - -interface HarnessStateChipProps { - state: HarnessCellState; - interactive: boolean; - disabled?: boolean; - pending?: boolean; - ariaLabel?: string; - onCheckedChange?: (checked: boolean) => void; -} - -export function HarnessStateChip({ - state, - interactive, - disabled = false, - pending = false, - ariaLabel, - onCheckedChange, -}: HarnessStateChipProps) { - if (interactive && (state === "enabled" || state === "disabled")) { - const checked = state === "enabled"; - return ( - - {pending ? : null} - - - ); - } - - const passiveState = passiveChipPresentation(state); - return ( - - {passiveState.label} - - ); -} - -function passiveChipPresentation( - state: HarnessCellState, -): { label: string; variant: "found" | "empty" | "builtin" } { - switch (state) { - case "found": - return { label: "Found", variant: "found" }; - case "builtin": - return { label: "Built-in", variant: "builtin" }; - case "empty": - default: - return { label: "Not Found", variant: "empty" }; - } -} diff --git a/frontend/src/features/skills/components/harness/ManagedSkillHarnessCluster.test.tsx b/frontend/src/features/skills/components/harness/ManagedSkillHarnessCluster.test.tsx deleted file mode 100644 index ee5c018..0000000 --- a/frontend/src/features/skills/components/harness/ManagedSkillHarnessCluster.test.tsx +++ /dev/null @@ -1,70 +0,0 @@ -import { fireEvent, render, screen } from "@testing-library/react"; -import { describe, expect, it, vi } from "vitest"; - -import { cellActionKey } from "../../model/pending"; -import type { HarnessColumn, SkillListRow } from "../../model/types"; -import { ManagedSkillHarnessCluster } from "./ManagedSkillHarnessCluster"; - -const columns: HarnessColumn[] = [ - { harness: "codex", label: "Codex" }, - { harness: "cursor", label: "Cursor" }, - { harness: "openclaw", label: "OpenClaw" }, - { harness: "opencode", label: "OpenCode" }, -]; - -const row: SkillListRow = { - skillRef: "shared:trace-lens", - name: "Trace Lens", - description: "Trace review workflow", - displayStatus: "Managed", - attentionMessage: null, - canManage: false, - cells: [ - { harness: "codex", label: "Codex", state: "disabled", interactive: true }, - { harness: "cursor", label: "Cursor", state: "builtin", interactive: false }, - { harness: "openclaw", label: "OpenClaw", state: "enabled", interactive: true }, - { harness: "opencode", label: "OpenCode", state: "disabled", interactive: true }, - ], -}; - -describe("ManagedSkillHarnessCluster", () => { - it("renders grouped harness controls and forwards toggle events", () => { - const onToggleCell = vi.fn(); - - const { container } = render( - , - ); - - expect(screen.getByText("Built-in")).toBeInTheDocument(); - expect(container.querySelectorAll(".skill-harness-mark__logo")).toHaveLength(4); - expect(container.querySelector(".skill-harness-mark--codex .skill-harness-mark__logo")).not.toBeNull(); - expect(container.querySelector(".skill-harness-mark--openclaw .skill-harness-mark__logo")).not.toBeNull(); - expect(container.querySelectorAll(".harness-state-chip")).toHaveLength(4); - expect(screen.getAllByText("Off")).toHaveLength(2); - - fireEvent.click(screen.getByRole("switch", { name: "Enable Trace Lens for Codex" })); - expect(onToggleCell).toHaveBeenCalledWith(row, row.cells[0]); - }); - - it("only disables the active harness switch while leaving sibling toggles usable", () => { - render( - , - ); - - expect(screen.getByRole("switch", { name: "Enable Trace Lens for Codex" })).toBeDisabled(); - expect(screen.getByRole("switch", { name: "Disable Trace Lens for OpenClaw" })).toBeEnabled(); - expect(screen.getByRole("switch", { name: "Enable Trace Lens for OpenCode" })).toBeEnabled(); - }); -}); diff --git a/frontend/src/features/skills/components/harness/ManagedSkillHarnessCluster.tsx b/frontend/src/features/skills/components/harness/ManagedSkillHarnessCluster.tsx deleted file mode 100644 index d6869e0..0000000 --- a/frontend/src/features/skills/components/harness/ManagedSkillHarnessCluster.tsx +++ /dev/null @@ -1,88 +0,0 @@ -import { hasPendingToggleForCell, type CellActionKey } from "../../model/pending"; -import type { HarnessCell, HarnessColumn, SkillListRow } from "../../model/types"; -import { alignHarnessCells } from "../../model/selectors"; -import { HarnessMark } from "./HarnessMark"; -import { HarnessStateChip } from "./HarnessStateChip"; - -interface ManagedSkillHarnessClusterProps { - row: SkillListRow; - columns: HarnessColumn[]; - pendingToggleKeys: ReadonlySet; - structuralLocked: boolean; - onToggleCell: (row: SkillListRow, cell: HarnessCell) => void; -} - -export function ManagedSkillHarnessCluster({ - row, - columns, - pendingToggleKeys, - structuralLocked, - onToggleCell, -}: ManagedSkillHarnessClusterProps) { - const items = alignHarnessCells(row, columns); - - return ( -
    event.stopPropagation()} - > -
    - {items.map(({ column, cell }) => ( -
    - -
    - -
    -
    - ))} -
    -
    - ); -} - -interface ManagedHarnessClusterControlProps { - row: SkillListRow; - cell: HarnessCell; - pendingToggleKeys: ReadonlySet; - structuralLocked: boolean; - onToggleCell: (row: SkillListRow, cell: HarnessCell) => void; -} - -function ManagedHarnessClusterControl({ - row, - cell, - pendingToggleKeys, - structuralLocked, - onToggleCell, -}: ManagedHarnessClusterControlProps) { - const pending = hasPendingToggleForCell(pendingToggleKeys, row.skillRef, cell.harness); - - return ( - onToggleCell(row, cell)} - /> - ); -} diff --git a/frontend/src/features/skills/components/matrix/MatrixRow.tsx b/frontend/src/features/skills/components/matrix/MatrixRow.tsx new file mode 100644 index 0000000..4c164db --- /dev/null +++ b/frontend/src/features/skills/components/matrix/MatrixRow.tsx @@ -0,0 +1,114 @@ +import { CardSelectCheckbox } from "../../../../components/cards/CardSelectCheckbox"; +import { OverflowTooltipText } from "../../../../components/ui/OverflowTooltipText"; +import { HarnessChipStack } from "../cards/HarnessChipStack"; +import { cellActionKey } from "../../model/pending"; +import type { CellActionKey } from "../../model/pending"; +import type { + HarnessCell as HarnessCellType, + HarnessColumn, + SkillListRow, +} from "../../model/types"; +import { SkillMatrixHarnessCell } from "./SkillMatrixHarnessCell"; + +interface MatrixRowProps { + row: SkillListRow; + harnessColumns: HarnessColumn[]; + checked: boolean; + selected: boolean; + pendingToggleKeys: ReadonlySet; + onOpenSkill: (skillRef: string) => void; + onToggleChecked: (skillRef: string) => void; + onToggleCell: (row: SkillListRow, cell: HarnessCellType) => void; +} + +function findCell(row: SkillListRow, harness: string): HarnessCellType { + return ( + row.cells.find((cell) => cell.harness === harness) ?? { + harness, + label: harness, + state: "empty", + interactive: false, + } + ); +} + +function countEnabled(row: SkillListRow): number { + let count = 0; + for (const cell of row.cells) if (cell.state === "enabled") count += 1; + return count; +} + +export function MatrixRow({ + row, + harnessColumns, + checked, + selected, + pendingToggleKeys, + onOpenSkill, + onToggleChecked, + onToggleCell, +}: MatrixRowProps) { + const enabledCount = countEnabled(row); + const totalCount = harnessColumns.length; + + return ( + + + onToggleChecked(row.skillRef)} + /> + + + onOpenSkill(row.skillRef)} + > +
    + + {row.name} + +
    + {row.description ? ( + + {row.description} + + ) : null} + + + {harnessColumns.map((column) => { + const cell = findCell(row, column.harness); + const pending = pendingToggleKeys.has(cellActionKey(row.skillRef, cell.harness)); + return ( + + onToggleCell(row, next)} + /> + + ); + })} + + + + + + + + {enabledCount} + + + + + ); +} diff --git a/frontend/src/features/skills/components/matrix/MatrixView.test.tsx b/frontend/src/features/skills/components/matrix/MatrixView.test.tsx new file mode 100644 index 0000000..ad7986e --- /dev/null +++ b/frontend/src/features/skills/components/matrix/MatrixView.test.tsx @@ -0,0 +1,94 @@ +import { fireEvent, render, screen, within } from "@testing-library/react"; +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; + +import type { HarnessColumn, SkillListRow } from "../../model/types"; +import { MatrixView } from "./MatrixView"; + +const harnessColumns: HarnessColumn[] = [ + { harness: "codex", label: "Codex", logoKey: "codex", installed: true }, + { harness: "cursor", label: "Cursor", logoKey: "cursor", installed: true }, +]; + +const rows: SkillListRow[] = [ + { + skillRef: "shared:alpha", + name: "Alpha", + description: "First skill", + displayStatus: "Managed", + actions: { canManage: false, canStopManaging: true, canDelete: true }, + cells: [ + { harness: "codex", label: "Codex", logoKey: "codex", state: "enabled", interactive: true }, + { harness: "cursor", label: "Cursor", logoKey: "cursor", state: "disabled", interactive: true }, + ], + }, + { + skillRef: "shared:zeta", + name: "Zeta", + description: "Last skill", + displayStatus: "Managed", + actions: { canManage: false, canStopManaging: true, canDelete: true }, + cells: [ + { harness: "codex", label: "Codex", logoKey: "codex", state: "disabled", interactive: true }, + { harness: "cursor", label: "Cursor", logoKey: "cursor", state: "disabled", interactive: true }, + ], + }, +]; + +function renderMatrix() { + const props = { + rows, + harnessColumns, + checkedRefs: new Set(), + selectedSkillRef: null, + pendingToggleKeys: new Set(), + onOpenSkill: vi.fn(), + onToggleChecked: vi.fn(), + onToggleCell: vi.fn(), + }; + render(); + return props; +} + +describe("Skills MatrixView", () => { + beforeEach(() => { + vi.stubGlobal( + "ResizeObserver", + class ResizeObserver { + observe() {} + unobserve() {} + disconnect() {} + }, + ); + }); + + afterEach(() => { + vi.unstubAllGlobals(); + }); + + it("renders a harness matrix with sortable rows", () => { + renderMatrix(); + + const table = screen.getByRole("table", { name: "Skills harness matrix" }); + expect(table.querySelectorAll("col")).toHaveLength(harnessColumns.length + 4); + expect(rowNames()).toEqual(["Alpha", "Zeta"]); + + fireEvent.click(screen.getByRole("button", { name: "Sort by Name" })); + expect(rowNames()).toEqual(["Zeta", "Alpha"]); + }); + + it("toggles harness cells", () => { + const { onToggleCell } = renderMatrix(); + + fireEvent.click(screen.getByRole("button", { name: "Disable Alpha on Codex" })); + + expect(onToggleCell).toHaveBeenCalledWith(rows[0], rows[0].cells[0]); + }); +}); + +function rowNames(): string[] { + const table = screen.getByRole("table", { name: "Skills harness matrix" }); + return within(table) + .getAllByRole("row") + .slice(1) + .map((row) => within(row).getAllByText(/Alpha|Zeta/)[0].textContent ?? ""); +} diff --git a/frontend/src/features/skills/components/matrix/MatrixView.tsx b/frontend/src/features/skills/components/matrix/MatrixView.tsx new file mode 100644 index 0000000..4d92a9b --- /dev/null +++ b/frontend/src/features/skills/components/matrix/MatrixView.tsx @@ -0,0 +1,118 @@ +import { useMemo, useState } from "react"; + +import { + MatrixHarnessIcon, + MatrixSortableHeader, + MatrixTable, +} from "../../../../components/matrix"; +import { MatrixRow } from "./MatrixRow"; +import { sortRows, sortKeysEqual, type SortKey, type SortState } from "../../model/sortRows"; +import type { CellActionKey } from "../../model/pending"; +import type { HarnessCell, HarnessColumn, SkillListRow } from "../../model/types"; + +interface MatrixViewProps { + rows: SkillListRow[]; + harnessColumns: HarnessColumn[]; + checkedRefs: ReadonlySet; + selectedSkillRef: string | null; + pendingToggleKeys: ReadonlySet; + onOpenSkill: (skillRef: string) => void; + onToggleChecked: (skillRef: string) => void; + onToggleCell: (row: SkillListRow, cell: HarnessCell) => void; +} + +const INITIAL_SORT: SortState = { key: "name", direction: "asc" }; + +export function MatrixView({ + rows, + harnessColumns, + checkedRefs, + selectedSkillRef, + pendingToggleKeys, + onOpenSkill, + onToggleChecked, + onToggleCell, +}: MatrixViewProps) { + const [sort, setSort] = useState(INITIAL_SORT); + + const sortedRows = useMemo(() => sortRows(rows, sort), [rows, sort]); + + const requestSort = (key: SortKey) => { + setSort((current) => { + if (sortKeysEqual(current.key, key)) { + return { key, direction: current.direction === "asc" ? "desc" : "asc" }; + } + return { key, direction: "asc" }; + }); + }; + + return ( + + + + + requestSort("name")} + /> + {harnessColumns.map((column) => { + const key: SortKey = { harness: column.harness }; + return ( + + } + srLabel={`Sort by ${column.label}`} + onClick={() => requestSort(key)} + /> + ); + })} + + Harnesses + + requestSort("coverage")} + /> + + + + {sortedRows.map((row) => ( + + ))} + + + ); +} diff --git a/frontend/src/features/skills/components/matrix/SkillMatrixHarnessCell.tsx b/frontend/src/features/skills/components/matrix/SkillMatrixHarnessCell.tsx new file mode 100644 index 0000000..62f4b47 --- /dev/null +++ b/frontend/src/features/skills/components/matrix/SkillMatrixHarnessCell.tsx @@ -0,0 +1,57 @@ +import { + MatrixHarnessCellTarget, + MatrixHarnessIcon, +} from "../../../../components/matrix"; +import { UiTooltip } from "../../../../components/ui/UiTooltip"; +import type { HarnessCell as HarnessCellType } from "../../model/types"; + +interface SkillMatrixHarnessCellProps { + cell: HarnessCellType; + skillName: string; + pending?: boolean; + onToggle: (cell: HarnessCellType) => void; +} + +export function SkillMatrixHarnessCell({ + cell, + skillName, + pending = false, + onToggle, +}: SkillMatrixHarnessCellProps) { + if (cell.state === "empty" || cell.state === "found") { + return ( + + ); + } + + const isEnabled = cell.state === "enabled"; + const action = isEnabled ? "Disable" : "Enable"; + + const button = ( + { + event.stopPropagation(); + onToggle(cell); + }} + > + + + ); + + return ( + + {button} + + ); +} diff --git a/frontend/src/features/skills/components/pane/SkillsEmptyState.tsx b/frontend/src/features/skills/components/pane/SkillsEmptyState.tsx index 1e00fe2..ebb8d37 100644 --- a/frontend/src/features/skills/components/pane/SkillsEmptyState.tsx +++ b/frontend/src/features/skills/components/pane/SkillsEmptyState.tsx @@ -6,11 +6,14 @@ export function SkillsEmptyState({ onResetFilters }: SkillsEmptyStateProps) { return (
    -

    No matching skills

    No skills match the current filters.

    Adjust the search or filter controls to bring skills back into view.

    -
    diff --git a/frontend/src/features/skills/components/pane/SkillsPaneChrome.test.tsx b/frontend/src/features/skills/components/pane/SkillsPaneChrome.test.tsx deleted file mode 100644 index 7897956..0000000 --- a/frontend/src/features/skills/components/pane/SkillsPaneChrome.test.tsx +++ /dev/null @@ -1,73 +0,0 @@ -import { fireEvent, render, screen } from "@testing-library/react"; -import { describe, expect, it, vi } from "vitest"; - -import { SkillsPaneChrome } from "./SkillsPaneChrome"; - -describe("SkillsPaneChrome", () => { - it("updates search and shows a trailing reset action only when active", () => { - const onSearchChange = vi.fn(); - const onReset = vi.fn(); - - const { rerender } = render( - , - ); - - fireEvent.change(screen.getByRole("textbox", { name: "Search managed skills" }), { - target: { value: "trace" }, - }); - - expect(onSearchChange).toHaveBeenCalledWith("trace"); - expect(screen.queryByRole("button", { name: /Reset/i })).not.toBeInTheDocument(); - - rerender( - , - ); - - fireEvent.click(screen.getByRole("button", { name: /Reset/i })); - - expect(onReset).toHaveBeenCalled(); - }); - - it("renders optional header actions beside the title", () => { - render( - - - - - } - searchValue="" - hasActiveFilters={false} - onSearchChange={() => {}} - onReset={() => {}} - searchLabel="Unmanaged skills filters" - searchInputLabel="Search unmanaged skills" - searchPlaceholder="Search unmanaged skills by name, description, or tool" - />, - ); - - expect(screen.getByRole("heading", { name: "Unmanaged skills" })).toBeInTheDocument(); - expect(screen.getByRole("button", { name: "Bring All Eligible Skills Under Management" })).toBeInTheDocument(); - expect(screen.getByRole("button", { name: "What Happens?" })).toBeInTheDocument(); - }); -}); diff --git a/frontend/src/features/skills/components/pane/SkillsPaneChrome.tsx b/frontend/src/features/skills/components/pane/SkillsPaneChrome.tsx deleted file mode 100644 index 2d1e156..0000000 --- a/frontend/src/features/skills/components/pane/SkillsPaneChrome.tsx +++ /dev/null @@ -1,57 +0,0 @@ -import type { ReactNode } from "react"; - -import { RotateCcw, Search } from "lucide-react"; - -interface SkillsPaneChromeProps { - title: string; - actions?: ReactNode; - searchValue: string; - hasActiveFilters: boolean; - onSearchChange: (value: string) => void; - onReset: () => void; - searchLabel: string; - searchInputLabel: string; - searchPlaceholder: string; -} - -export function SkillsPaneChrome({ - title, - actions, - searchValue, - hasActiveFilters, - onSearchChange, - onReset, - searchLabel, - searchInputLabel, - searchPlaceholder, -}: SkillsPaneChromeProps) { - return ( -
    -
    -
    -

    {title}

    -
    - {actions ?
    {actions}
    : null} -
    - -
    -
    - - onSearchChange(event.target.value)} - placeholder={searchPlaceholder} - aria-label={searchInputLabel} - /> - {hasActiveFilters ? ( - - ) : null} -
    -
    -
    - ); -} diff --git a/frontend/src/features/skills/components/pane/SkillsPaneScaffold.test.tsx b/frontend/src/features/skills/components/pane/SkillsPaneScaffold.test.tsx deleted file mode 100644 index 05507a9..0000000 --- a/frontend/src/features/skills/components/pane/SkillsPaneScaffold.test.tsx +++ /dev/null @@ -1,64 +0,0 @@ -import { createRef } from "react"; -import { render, screen } from "@testing-library/react"; -import { describe, expect, it } from "vitest"; - -import { SkillsPaneScaffold } from "./SkillsPaneScaffold"; - -describe("SkillsPaneScaffold", () => { - it("renders fixed chrome and a dedicated list scroller when ready", () => { - const scrollRef = createRef(); - - const { container } = render( - {}} - onReset={() => {}} - searchLabel="Managed skills filters" - searchInputLabel="Search managed skills" - searchPlaceholder="Search managed skills by name, description, or state" - scrollRef={scrollRef} - isReady={true} - isInitialLoading={false} - hasError={false} - loadingLabel="Loading managed skills" - errorMessage="Unable to load managed skills." - > -
    List body
    -
    , - ); - - expect(screen.getByRole("heading", { name: "Managed skills" })).toBeInTheDocument(); - expect(screen.getByRole("search", { name: "Managed skills filters" })).toBeInTheDocument(); - expect(screen.getByLabelText("Managed skills list")).toBeInTheDocument(); - expect(container.querySelector(".skills-pane__scroll")).toBe(scrollRef.current); - }); - - it("renders loading and error states outside the ready pane content", () => { - render( - {}} - onReset={() => {}} - searchLabel="Unmanaged skills filters" - searchInputLabel="Search unmanaged skills" - searchPlaceholder="Search unmanaged skills by name, description, or tool" - scrollRef={createRef()} - isReady={false} - isInitialLoading={true} - hasError={true} - loadingLabel="Loading unmanaged skills" - errorMessage="Unable to load unmanaged skills." - > -
    Unused
    -
    , - ); - - expect(screen.getByRole("status", { name: "Loading unmanaged skills" })).toBeInTheDocument(); - expect(screen.getByText("Unable to load unmanaged skills.")).toBeInTheDocument(); - expect(screen.queryByRole("heading", { name: "Unmanaged skills" })).not.toBeInTheDocument(); - }); -}); diff --git a/frontend/src/features/skills/components/pane/SkillsPaneScaffold.tsx b/frontend/src/features/skills/components/pane/SkillsPaneScaffold.tsx deleted file mode 100644 index ae6c06b..0000000 --- a/frontend/src/features/skills/components/pane/SkillsPaneScaffold.tsx +++ /dev/null @@ -1,78 +0,0 @@ -import type { ReactNode, RefObject } from "react"; - -import { LoadingSpinner } from "../../../../components/LoadingSpinner"; -import { SkillsPaneChrome } from "./SkillsPaneChrome"; - -interface SkillsPaneScaffoldProps { - title: string; - actions?: ReactNode; - searchValue: string; - hasActiveFilters: boolean; - onSearchChange: (value: string) => void; - onReset: () => void; - searchLabel: string; - searchInputLabel: string; - searchPlaceholder: string; - scrollRef: RefObject; - isReady: boolean; - isInitialLoading: boolean; - hasError: boolean; - loadingLabel: string; - errorMessage: string; - children: ReactNode; -} - -export function SkillsPaneScaffold({ - title, - actions, - searchValue, - hasActiveFilters, - onSearchChange, - onReset, - searchLabel, - searchInputLabel, - searchPlaceholder, - scrollRef, - isReady, - isInitialLoading, - hasError, - loadingLabel, - errorMessage, - children, -}: SkillsPaneScaffoldProps) { - return ( -
    - {isReady ? ( - <> - - -
    -
    {children}
    -
    - - ) : null} - - {isInitialLoading ? ( -
    - -
    - ) : null} - - {hasError ? ( -
    -

    {errorMessage}

    -
    - ) : null} -
    - ); -} diff --git a/frontend/src/features/skills/components/pane/SkillsPaneTransition.tsx b/frontend/src/features/skills/components/pane/SkillsPaneTransition.tsx deleted file mode 100644 index 9656b44..0000000 --- a/frontend/src/features/skills/components/pane/SkillsPaneTransition.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import type { ReactNode } from "react"; - -export type SkillsPaneView = "managed" | "unmanaged"; -export type SkillsPaneDirection = "forward" | "backward"; - -interface SkillsPaneTransitionProps { - view: SkillsPaneView; - direction: SkillsPaneDirection; - animate?: boolean; - children: ReactNode; -} - -export function SkillsPaneTransition({ view, direction, animate = true, children }: SkillsPaneTransitionProps) { - return ( -
    - {children} -
    - ); -} diff --git a/frontend/src/features/skills/components/pane/SkillsWorkspaceTabs.test.tsx b/frontend/src/features/skills/components/pane/SkillsWorkspaceTabs.test.tsx deleted file mode 100644 index 3d17afd..0000000 --- a/frontend/src/features/skills/components/pane/SkillsWorkspaceTabs.test.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import { MemoryRouter } from "react-router-dom"; -import { render, screen, within } from "@testing-library/react"; -import { describe, expect, it } from "vitest"; - -import { SkillsWorkspaceTabs } from "./SkillsWorkspaceTabs"; - -describe("SkillsWorkspaceTabs", () => { - it("renders managed and unmanaged tabs with counts", () => { - render( - - - , - ); - - const managedTab = screen.getByRole("link", { name: /^Managed/i }); - const unmanagedTab = screen.getByRole("link", { name: /^Unmanaged/i }); - - expect(managedTab).toBeInTheDocument(); - expect(unmanagedTab).toBeInTheDocument(); - expect(within(managedTab).getByText("3")).toBeInTheDocument(); - expect(within(unmanagedTab).getByText("3")).toBeInTheDocument(); - }); -}); diff --git a/frontend/src/features/skills/components/pane/SkillsWorkspaceTabs.tsx b/frontend/src/features/skills/components/pane/SkillsWorkspaceTabs.tsx deleted file mode 100644 index 5913e08..0000000 --- a/frontend/src/features/skills/components/pane/SkillsWorkspaceTabs.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import { NavLink } from "react-router-dom"; - -import type { SkillsSummary } from "../../model/types"; - -interface SkillsWorkspaceTabsProps { - summary: SkillsSummary | null; -} - -export function SkillsWorkspaceTabs({ summary }: SkillsWorkspaceTabsProps) { - const managedCount = summary ? summary.managed + summary.custom : 0; - const unmanagedCount = summary?.unmanaged ?? 0; - - return ( - - ); -} diff --git a/frontend/src/features/skills/model/bucketForRow.test.ts b/frontend/src/features/skills/model/bucketForRow.test.ts new file mode 100644 index 0000000..a22f3e2 --- /dev/null +++ b/frontend/src/features/skills/model/bucketForRow.test.ts @@ -0,0 +1,58 @@ +import { describe, expect, it } from "vitest"; + +import { bucketForRow, bucketRows } from "./bucketForRow"; +import type { HarnessCell, SkillListRow } from "./types"; + +function row(cells: HarnessCell[], skillRef = "test:row"): SkillListRow { + return { + skillRef, + name: "Test skill", + description: "", + displayStatus: "Managed", + actions: { canManage: false, canStopManaging: true, canDelete: false }, + cells, + } as unknown as SkillListRow; +} + +const enabled: HarnessCell = { harness: "codex", label: "Codex", state: "enabled", interactive: true }; +const disabled: HarnessCell = { harness: "cursor", label: "Cursor", state: "disabled", interactive: true }; +const found: HarnessCell = { harness: "claude", label: "Claude", state: "found", interactive: false }; +const empty: HarnessCell = { harness: "other", label: "Other", state: "empty", interactive: false }; + +describe("bucketForRow", () => { + it("classifies all-enabled as 'enabled'", () => { + expect(bucketForRow(row([enabled, { ...enabled, harness: "cursor", label: "Cursor" }]))).toBe("enabled"); + }); + + it("classifies all-disabled as 'disabled'", () => { + expect(bucketForRow(row([disabled, { ...disabled, harness: "codex", label: "Codex" }]))).toBe("disabled"); + }); + + it("classifies mixed interactive states as 'selective'", () => { + expect(bucketForRow(row([enabled, disabled]))).toBe("selective"); + }); + + it("ignores non-interactive cells when classifying", () => { + expect(bucketForRow(row([enabled, found, empty]))).toBe("enabled"); + expect(bucketForRow(row([disabled, found, empty]))).toBe("disabled"); + expect(bucketForRow(row([enabled, disabled, found]))).toBe("selective"); + }); + + it("treats rows with no interactive cells as 'enabled'", () => { + expect(bucketForRow(row([found, empty]))).toBe("enabled"); + expect(bucketForRow(row([]))).toBe("enabled"); + }); +}); + +describe("bucketRows", () => { + it("partitions rows into three buckets preserving order", () => { + const a = row([disabled], "a"); + const b = row([enabled, disabled], "b"); + const c = row([enabled], "c"); + const d = row([disabled, disabled], "d"); + const result = bucketRows([a, b, c, d]); + expect(result.disabled.map((r) => r.skillRef)).toEqual(["a", "d"]); + expect(result.selective.map((r) => r.skillRef)).toEqual(["b"]); + expect(result.enabled.map((r) => r.skillRef)).toEqual(["c"]); + }); +}); diff --git a/frontend/src/features/skills/model/bucketForRow.ts b/frontend/src/features/skills/model/bucketForRow.ts new file mode 100644 index 0000000..b6fd5ad --- /dev/null +++ b/frontend/src/features/skills/model/bucketForRow.ts @@ -0,0 +1,29 @@ +import type { SkillListRow } from "./types"; + +export type SkillBucket = "disabled" | "selective" | "enabled"; + +export function bucketForRow(row: SkillListRow): SkillBucket { + const interactive = row.cells.filter((cell) => cell.interactive); + if (interactive.length === 0) { + return "enabled"; + } + const allEnabled = interactive.every((cell) => cell.state === "enabled"); + if (allEnabled) return "enabled"; + const allDisabled = interactive.every((cell) => cell.state === "disabled"); + if (allDisabled) return "disabled"; + return "selective"; +} + +export interface BucketedRows { + disabled: SkillListRow[]; + selective: SkillListRow[]; + enabled: SkillListRow[]; +} + +export function bucketRows(rows: SkillListRow[]): BucketedRows { + const result: BucketedRows = { disabled: [], selective: [], enabled: [] }; + for (const row of rows) { + result[bucketForRow(row)].push(row); + } + return result; +} diff --git a/frontend/src/features/skills/model/selectors.test.ts b/frontend/src/features/skills/model/selectors.test.ts index acf1131..1da1217 100644 --- a/frontend/src/features/skills/model/selectors.test.ts +++ b/frontend/src/features/skills/model/selectors.test.ts @@ -2,35 +2,32 @@ import { describe, expect, it } from "vitest"; import type { SkillsWorkspaceData } from "./types"; import { - countManageableUnmanagedRows, - countUnmanagedRows, - filterBuiltInRows, - filterManagedRows, - filterUnmanagedRows, - resetManagedSkillsFilters, - resetUnmanagedSkillsFilters, + countAdoptableLocalSkillRows, + countNeedsReviewRows, + filterNeedsReviewRows, + filterSkillsInUseRows, + resetSkillsNeedsReviewFilters, + resetSkillsInUseFilters, } from "./selectors"; const data: SkillsWorkspaceData = { - summary: { managed: 1, unmanaged: 1, custom: 1, builtIn: 1 }, - harnessColumns: [{ harness: "codex", label: "Codex" }], + summary: { managed: 2, unmanaged: 1 }, + harnessColumns: [{ harness: "codex", label: "Codex", installed: true }], rows: [ { skillRef: "shared:shared-audit", name: "Shared Audit", description: "Shared audit workflow", displayStatus: "Managed", - attentionMessage: null, - canManage: false, + actions: { canManage: false, canStopManaging: true, canDelete: false }, cells: [{ harness: "codex", label: "Codex", state: "disabled", interactive: true }], }, { skillRef: "shared:audit-skill", name: "Audit Skill", - description: "Custom audit workflow", - displayStatus: "Custom", - attentionMessage: "Modified locally; source updates are disabled.", - canManage: false, + description: "Locally modified audit workflow", + displayStatus: "Managed", + actions: { canManage: false, canStopManaging: true, canDelete: true }, cells: [{ harness: "codex", label: "Codex", state: "enabled", interactive: true }], }, { @@ -38,42 +35,39 @@ const data: SkillsWorkspaceData = { name: "Trace Lens", description: "Trace review workflow", displayStatus: "Unmanaged", - attentionMessage: null, - canManage: true, + actions: { canManage: true, canStopManaging: false, canDelete: false }, cells: [{ harness: "codex", label: "Codex", state: "found", interactive: false }], }, - { - skillRef: "builtin:review-helper", - name: "Review Helper", - description: "Bundled with OpenCode", - displayStatus: "Built-in", - attentionMessage: null, - canManage: false, - cells: [{ harness: "codex", label: "Codex", state: "builtin", interactive: false }], - }, ], -}; +} as unknown as SkillsWorkspaceData; describe("skills workspace model", () => { - it("partitions managed and unmanaged rows correctly", () => { - const managedRows = filterManagedRows(data, resetManagedSkillsFilters()); - const builtInRows = filterBuiltInRows(data); - const unmanagedRows = filterUnmanagedRows(data, resetUnmanagedSkillsFilters()); + it("partitions in-use and needs-review rows correctly", () => { + const inUseRows = filterSkillsInUseRows(data, resetSkillsInUseFilters()); + const needsReviewRows = filterNeedsReviewRows(data, resetSkillsNeedsReviewFilters()); + + expect(inUseRows.map((row) => row.name)).toEqual(["Shared Audit", "Audit Skill"]); + expect(needsReviewRows.map((row) => row.name)).toEqual(["Trace Lens"]); + }); - expect(managedRows.map((row) => row.name)).toEqual(["Shared Audit", "Audit Skill"]); - expect(builtInRows.map((row) => row.name)).toEqual(["Review Helper"]); - expect(unmanagedRows.map((row) => row.name)).toEqual(["Trace Lens"]); + it("treats locally modified shared-store entries as in-use rows", () => { + expect(filterSkillsInUseRows(data, resetSkillsInUseFilters()).map((row) => row.name)).toEqual([ + "Shared Audit", + "Audit Skill", + ]); }); - it("filters managed rows by display status only", () => { - expect(filterManagedRows(data, resetManagedSkillsFilters()).map((row) => row.name)).toEqual([ + it("searches only user-visible row content and harness labels", () => { + expect(filterSkillsInUseRows(data, { search: "codex" }).map((row) => row.name)).toEqual([ "Shared Audit", "Audit Skill", ]); + expect(filterSkillsInUseRows(data, { search: "managed" })).toEqual([]); + expect(filterSkillsInUseRows(data, { search: "local changes" })).toEqual([]); }); - it("counts unmanaged rows and manageable actions without the deleted overview strip", () => { - expect(countUnmanagedRows(data)).toBe(1); - expect(countManageableUnmanagedRows(data)).toBe(1); + it("counts needs-review rows and adoptable actions", () => { + expect(countNeedsReviewRows(data)).toBe(1); + expect(countAdoptableLocalSkillRows(data)).toBe(1); }); }); diff --git a/frontend/src/features/skills/model/selectors.ts b/frontend/src/features/skills/model/selectors.ts index 6c788c5..386ec73 100644 --- a/frontend/src/features/skills/model/selectors.ts +++ b/frontend/src/features/skills/model/selectors.ts @@ -1,10 +1,11 @@ -import type { HarnessColumn, SkillListRow, SkillsWorkspaceData } from "./types"; +import { skillStatusConcept } from "../../../lib/product-language"; +import type { HarnessCellState, HarnessColumn, SkillListRow, SkillsWorkspaceData } from "./types"; -export interface ManagedSkillsFilterState { +export interface SkillsInUseFilterState { search: string; } -export interface UnmanagedSkillsFilterState { +export interface SkillsNeedsReviewFilterState { search: string; } @@ -13,44 +14,40 @@ export interface AlignedHarnessCell { cell: SkillListRow["cells"][number] | null; } -export function hasActiveManagedSkillsFilters(filters: ManagedSkillsFilterState): boolean { +export function hasActiveSkillsInUseFilters(filters: SkillsInUseFilterState): boolean { return filters.search.trim() !== ""; } -export function hasActiveUnmanagedFilters(filters: UnmanagedSkillsFilterState): boolean { +export function hasActiveNeedsReviewFilters(filters: SkillsNeedsReviewFilterState): boolean { return filters.search.trim() !== ""; } -export function resetManagedSkillsFilters(): ManagedSkillsFilterState { +export function resetSkillsInUseFilters(): SkillsInUseFilterState { return { search: "", }; } -export function resetUnmanagedSkillsFilters(): UnmanagedSkillsFilterState { +export function resetSkillsNeedsReviewFilters(): SkillsNeedsReviewFilterState { return { search: "", }; } -export function filterManagedRows(data: SkillsWorkspaceData | null, filters: ManagedSkillsFilterState): SkillListRow[] { - return selectManagedRows(data).filter((row) => matchesSearch(row, filters.search, ["enabled", "disabled"])); +export function filterSkillsInUseRows(data: SkillsWorkspaceData | null, filters: SkillsInUseFilterState): SkillListRow[] { + return selectSkillsInUseRows(data).filter((row) => matchesSearch(row, filters.search, ["enabled", "disabled"])); } -export function filterBuiltInRows(data: SkillsWorkspaceData | null): SkillListRow[] { - return selectBuiltInRows(data); +export function filterNeedsReviewRows(data: SkillsWorkspaceData | null, filters: SkillsNeedsReviewFilterState): SkillListRow[] { + return selectNeedsReviewRows(data).filter((row) => matchesSearch(row, filters.search, ["found"])); } -export function filterUnmanagedRows(data: SkillsWorkspaceData | null, filters: UnmanagedSkillsFilterState): SkillListRow[] { - return selectUnmanagedRows(data).filter((row) => matchesSearch(row, filters.search, ["found"])); +export function countNeedsReviewRows(data: SkillsWorkspaceData | null): number { + return selectNeedsReviewRows(data).length; } -export function countUnmanagedRows(data: SkillsWorkspaceData | null): number { - return selectUnmanagedRows(data).length; -} - -export function countManageableUnmanagedRows(data: SkillsWorkspaceData | null): number { - return selectUnmanagedRows(data).filter((row) => row.canManage).length; +export function countAdoptableLocalSkillRows(data: SkillsWorkspaceData | null): number { + return selectNeedsReviewRows(data).filter((row) => row.actions.canManage).length; } export function alignHarnessCells(row: SkillListRow, columns: HarnessColumn[]): AlignedHarnessCell[] { @@ -60,28 +57,25 @@ export function alignHarnessCells(row: SkillListRow, columns: HarnessColumn[]): })); } -function selectManagedRows(data: SkillsWorkspaceData | null): SkillListRow[] { - if (!data) { - return []; - } - return data.rows.filter((row) => row.displayStatus === "Managed" || row.displayStatus === "Custom"); -} - -function selectBuiltInRows(data: SkillsWorkspaceData | null): SkillListRow[] { +function selectSkillsInUseRows(data: SkillsWorkspaceData | null): SkillListRow[] { if (!data) { return []; } - return data.rows.filter((row) => row.displayStatus === "Built-in"); + return data.rows.filter((row) => skillStatusConcept(row.displayStatus) === "inUse"); } -function selectUnmanagedRows(data: SkillsWorkspaceData | null): SkillListRow[] { +function selectNeedsReviewRows(data: SkillsWorkspaceData | null): SkillListRow[] { if (!data) { return []; } - return data.rows.filter((row) => row.displayStatus === "Unmanaged"); + return data.rows.filter((row) => skillStatusConcept(row.displayStatus) === "needsReview"); } -function matchesSearch(row: SkillListRow, search: string, searchableCellStates: string[]): boolean { +function matchesSearch( + row: SkillListRow, + search: string, + searchableCellStates: readonly HarnessCellState[], +): boolean { const normalizedSearch = search.trim().toLowerCase(); if (!normalizedSearch) { return true; @@ -94,8 +88,6 @@ function matchesSearch(row: SkillListRow, search: string, searchableCellStates: const searchHaystack = [ row.name, row.description, - row.displayStatus, - row.attentionMessage ?? "", ...harnessLabels, ].join(" ").toLowerCase(); diff --git a/frontend/src/features/skills/model/session.test.tsx b/frontend/src/features/skills/model/session.test.tsx index a0363bd..bad358b 100644 --- a/frontend/src/features/skills/model/session.test.tsx +++ b/frontend/src/features/skills/model/session.test.tsx @@ -4,7 +4,7 @@ import { beforeEach, describe, expect, it, vi } from "vitest"; import { SkillsWorkspaceSessionProvider, useSkillsTabScroll } from "./session"; -function ScrollProbe({ tab }: { tab: "managed" | "unmanaged" }) { +function ScrollProbe({ tab }: { tab: "inUse" | "needsReview" }) { const elementRef = useRef(null); useSkillsTabScroll(tab, true, elementRef); @@ -16,7 +16,7 @@ function ScrollProbe({ tab }: { tab: "managed" | "unmanaged" }) { ); } -function SessionHarness({ tab }: { tab: "managed" | "unmanaged" }) { +function SessionHarness({ tab }: { tab: "inUse" | "needsReview" }) { return ( @@ -44,19 +44,19 @@ describe("useSkillsTabScroll", () => { }); it("stores and restores per-tab pane scroll positions without using window scroll", () => { - const { rerender } = render(); + const { rerender } = render(); - const managedScroll = screen.getByTestId("managed-scroll") as HTMLDivElement; - managedScroll.scrollTop = 180; + const inUseScroll = screen.getByTestId("inUse-scroll") as HTMLDivElement; + inUseScroll.scrollTop = 180; - rerender(); + rerender(); - const unmanagedScroll = screen.getByTestId("unmanaged-scroll") as HTMLDivElement; - unmanagedScroll.scrollTop = 48; + const needsReviewScroll = screen.getByTestId("needsReview-scroll") as HTMLDivElement; + needsReviewScroll.scrollTop = 48; - rerender(); + rerender(); - expect((screen.getByTestId("managed-scroll") as HTMLDivElement).scrollTop).toBe(180); + expect((screen.getByTestId("inUse-scroll") as HTMLDivElement).scrollTop).toBe(180); expect(window.scrollTo).not.toHaveBeenCalled(); }); }); diff --git a/frontend/src/features/skills/model/session.tsx b/frontend/src/features/skills/model/session.tsx index c750f61..95fa477 100644 --- a/frontend/src/features/skills/model/session.tsx +++ b/frontend/src/features/skills/model/session.tsx @@ -1,78 +1,78 @@ import { createContext, useCallback, useContext, useLayoutEffect, useMemo, useRef, useState, type ReactNode, type RefObject } from "react"; import { - resetUnmanagedSkillsFilters, - resetManagedSkillsFilters, - type UnmanagedSkillsFilterState, - type ManagedSkillsFilterState, + resetSkillsNeedsReviewFilters, + resetSkillsInUseFilters, + type SkillsNeedsReviewFilterState, + type SkillsInUseFilterState, } from "./selectors"; -type SkillsWorkspaceTab = "managed" | "unmanaged"; +type SkillsWorkspaceTab = "inUse" | "needsReview"; interface SkillsWorkspaceSessionContextValue { - managedFilters: ManagedSkillsFilterState; - unmanagedFilters: UnmanagedSkillsFilterState; - managedScrollTop: number | null; - unmanagedScrollTop: number | null; - updateManagedFilters: (partial: Partial) => void; - updateUnmanagedFilters: (partial: Partial) => void; - resetManagedFilters: () => void; - resetUnmanagedFilters: () => void; + inUseFilters: SkillsInUseFilterState; + needsReviewFilters: SkillsNeedsReviewFilterState; + inUseScrollTop: number | null; + needsReviewScrollTop: number | null; + updateInUseFilters: (partial: Partial) => void; + updateNeedsReviewFilters: (partial: Partial) => void; + resetInUseFilters: () => void; + resetNeedsReviewFilters: () => void; setScrollPosition: (tab: SkillsWorkspaceTab, scrollTop: number) => void; } const SkillsWorkspaceSessionContext = createContext(null); export function SkillsWorkspaceSessionProvider({ children }: { children: ReactNode }) { - const [managedFilters, setManagedFilters] = useState(() => resetManagedSkillsFilters()); - const [unmanagedFilters, setUnmanagedFilters] = useState(() => resetUnmanagedSkillsFilters()); - const [managedScrollTop, setManagedScrollTop] = useState(null); - const [unmanagedScrollTop, setUnmanagedScrollTop] = useState(null); + const [inUseFilters, setInUseFilters] = useState(() => resetSkillsInUseFilters()); + const [needsReviewFilters, setNeedsReviewFilters] = useState(() => resetSkillsNeedsReviewFilters()); + const [inUseScrollTop, setInUseScrollTop] = useState(null); + const [needsReviewScrollTop, setNeedsReviewScrollTop] = useState(null); - const updateManagedFilters = useCallback((partial: Partial) => { - setManagedFilters((current) => ({ ...current, ...partial })); + const updateInUseFilters = useCallback((partial: Partial) => { + setInUseFilters((current) => ({ ...current, ...partial })); }, []); - const updateUnmanagedFilters = useCallback((partial: Partial) => { - setUnmanagedFilters((current) => ({ ...current, ...partial })); + const updateNeedsReviewFilters = useCallback((partial: Partial) => { + setNeedsReviewFilters((current) => ({ ...current, ...partial })); }, []); - const resetManaged = useCallback(() => { - setManagedFilters(resetManagedSkillsFilters()); + const resetInUse = useCallback(() => { + setInUseFilters(resetSkillsInUseFilters()); }, []); - const resetUnmanaged = useCallback(() => { - setUnmanagedFilters(resetUnmanagedSkillsFilters()); + const resetNeedsReview = useCallback(() => { + setNeedsReviewFilters(resetSkillsNeedsReviewFilters()); }, []); const setScrollPosition = useCallback((tab: SkillsWorkspaceTab, scrollTop: number) => { - if (tab === "managed") { - setManagedScrollTop(scrollTop); + if (tab === "inUse") { + setInUseScrollTop(scrollTop); return; } - setUnmanagedScrollTop(scrollTop); + setNeedsReviewScrollTop(scrollTop); }, []); const value = useMemo(() => ({ - managedFilters, - unmanagedFilters, - managedScrollTop, - unmanagedScrollTop, - updateManagedFilters, - updateUnmanagedFilters, - resetManagedFilters: resetManaged, - resetUnmanagedFilters: resetUnmanaged, + inUseFilters, + needsReviewFilters, + inUseScrollTop, + needsReviewScrollTop, + updateInUseFilters, + updateNeedsReviewFilters, + resetInUseFilters: resetInUse, + resetNeedsReviewFilters: resetNeedsReview, setScrollPosition, }), [ - unmanagedFilters, - unmanagedScrollTop, - managedFilters, - managedScrollTop, - resetUnmanaged, - resetManaged, + needsReviewFilters, + needsReviewScrollTop, + inUseFilters, + inUseScrollTop, + resetNeedsReview, + resetInUse, setScrollPosition, - updateUnmanagedFilters, - updateManagedFilters, + updateNeedsReviewFilters, + updateInUseFilters, ]); return ( @@ -82,21 +82,21 @@ export function SkillsWorkspaceSessionProvider({ children }: { children: ReactNo ); } -export function useManagedSkillsSession() { +export function useSkillsInUseSession() { const context = useSkillsWorkspaceSession(); return { - filters: context.managedFilters, - updateFilters: context.updateManagedFilters, - resetFilters: context.resetManagedFilters, + filters: context.inUseFilters, + updateFilters: context.updateInUseFilters, + resetFilters: context.resetInUseFilters, }; } -export function useUnmanagedSkillsSession() { +export function useSkillsNeedsReviewSession() { const context = useSkillsWorkspaceSession(); return { - filters: context.unmanagedFilters, - updateFilters: context.updateUnmanagedFilters, - resetFilters: context.resetUnmanagedFilters, + filters: context.needsReviewFilters, + updateFilters: context.updateNeedsReviewFilters, + resetFilters: context.resetNeedsReviewFilters, }; } @@ -107,7 +107,7 @@ export function useSkillsTabScroll( ) { const context = useSkillsWorkspaceSession(); const restoredRef = useRef(false); - const targetScrollTop = tab === "managed" ? context.managedScrollTop : context.unmanagedScrollTop; + const targetScrollTop = tab === "inUse" ? context.inUseScrollTop : context.needsReviewScrollTop; useLayoutEffect(() => { if (!ready || restoredRef.current || targetScrollTop === null) { diff --git a/frontend/src/features/skills/model/sortRows.test.ts b/frontend/src/features/skills/model/sortRows.test.ts new file mode 100644 index 0000000..1b68d93 --- /dev/null +++ b/frontend/src/features/skills/model/sortRows.test.ts @@ -0,0 +1,66 @@ +import { describe, expect, it } from "vitest"; + +import { sortRows, type SortState } from "./sortRows"; +import type { HarnessCell, SkillListRow } from "./types"; + +function makeRow(name: string, cells: HarnessCell[]): SkillListRow { + return { + skillRef: `shared:${name.toLowerCase().replace(/\s+/g, "-")}`, + name, + description: "", + displayStatus: "Managed", + actions: { canManage: false, canStopManaging: true, canDelete: false }, + cells, + } as unknown as SkillListRow; +} + +const enabled = (harness: string): HarnessCell => ({ harness, label: harness, state: "enabled", interactive: true }); +const disabled = (harness: string): HarnessCell => ({ harness, label: harness, state: "disabled", interactive: true }); +const empty = (harness: string): HarnessCell => ({ harness, label: harness, state: "empty", interactive: false }); + +describe("sortRows", () => { + const rows: SkillListRow[] = [ + makeRow("charlie", [enabled("codex"), disabled("cursor"), disabled("claude")]), + makeRow("alpha", [disabled("codex"), disabled("cursor"), disabled("claude")]), + makeRow("Bravo", [enabled("codex"), enabled("cursor"), empty("claude")]), + ]; + + it("sorts by name ascending (case-insensitive)", () => { + const sorted = sortRows(rows, { key: "name", direction: "asc" }); + expect(sorted.map((r) => r.name)).toEqual(["alpha", "Bravo", "charlie"]); + }); + + it("sorts by name descending", () => { + const sorted = sortRows(rows, { key: "name", direction: "desc" }); + expect(sorted.map((r) => r.name)).toEqual(["charlie", "Bravo", "alpha"]); + }); + + it("sorts by coverage ascending with name as secondary", () => { + const sorted = sortRows(rows, { key: "coverage", direction: "asc" }); + // alpha=0, charlie=1, Bravo=2 + expect(sorted.map((r) => r.name)).toEqual(["alpha", "charlie", "Bravo"]); + }); + + it("sorts by coverage descending", () => { + const sorted = sortRows(rows, { key: "coverage", direction: "desc" }); + expect(sorted.map((r) => r.name)).toEqual(["Bravo", "charlie", "alpha"]); + }); + + it("sorts by a harness column: enabled first, then disabled, then empty", () => { + const sorted = sortRows(rows, { key: { harness: "claude" }, direction: "asc" }); + // alpha + charlie are disabled on claude, while Bravo is not present there. + // Priority: disabled beats empty, with name as the tie-breaker. + expect(sorted.map((r) => r.name)).toEqual(["alpha", "charlie", "Bravo"]); + }); + + it("does not mutate the original array", () => { + const original = rows.slice(); + sortRows(rows, { key: "coverage", direction: "desc" }); + expect(rows).toEqual(original); + }); + + it("returns a new array reference", () => { + const result = sortRows(rows, { key: "name", direction: "asc" } satisfies SortState); + expect(result).not.toBe(rows); + }); +}); diff --git a/frontend/src/features/skills/model/sortRows.ts b/frontend/src/features/skills/model/sortRows.ts new file mode 100644 index 0000000..f089c98 --- /dev/null +++ b/frontend/src/features/skills/model/sortRows.ts @@ -0,0 +1,74 @@ +import type { HarnessCell, HarnessCellState, SkillListRow } from "./types"; + +export type SortDirection = "asc" | "desc"; + +export type SortKey = "name" | "coverage" | { harness: string }; + +export interface SortState { + key: SortKey; + direction: SortDirection; +} + +const HARNESS_STATE_PRIORITY: Record = { + enabled: 0, + disabled: 1, + found: 2, + empty: 3, +}; + +function countEnabled(row: SkillListRow): number { + let count = 0; + for (const cell of row.cells) { + if (cell.state === "enabled") count += 1; + } + return count; +} + +function findCell(row: SkillListRow, harness: string): HarnessCell | undefined { + return row.cells.find((cell) => cell.harness === harness); +} + +function compareByName(a: SkillListRow, b: SkillListRow): number { + return a.name.localeCompare(b.name, undefined, { sensitivity: "base" }); +} + +export function sortRows(rows: SkillListRow[], sort: SortState): SkillListRow[] { + const directionMultiplier = sort.direction === "asc" ? 1 : -1; + const next = rows.slice(); + + if (sort.key === "name") { + next.sort((a, b) => compareByName(a, b) * directionMultiplier); + return next; + } + + if (sort.key === "coverage") { + next.sort((a, b) => { + const diff = countEnabled(a) - countEnabled(b); + if (diff !== 0) return diff * directionMultiplier; + return compareByName(a, b); + }); + return next; + } + + const harness = sort.key.harness; + next.sort((a, b) => { + const aCell = findCell(a, harness); + const bCell = findCell(b, harness); + const aPriority = aCell ? HARNESS_STATE_PRIORITY[aCell.state] : HARNESS_STATE_PRIORITY.empty; + const bPriority = bCell ? HARNESS_STATE_PRIORITY[bCell.state] : HARNESS_STATE_PRIORITY.empty; + const diff = aPriority - bPriority; + if (diff !== 0) return diff * directionMultiplier; + return compareByName(a, b); + }); + return next; +} + +export function isHarnessSortKey(key: SortKey): key is { harness: string } { + return typeof key === "object" && key !== null && "harness" in key; +} + +export function sortKeysEqual(a: SortKey, b: SortKey): boolean { + if (typeof a === "string" && typeof b === "string") return a === b; + if (isHarnessSortKey(a) && isHarnessSortKey(b)) return a.harness === b.harness; + return false; +} diff --git a/frontend/src/features/skills/model/status-mappings.ts b/frontend/src/features/skills/model/status-mappings.ts deleted file mode 100644 index 5dbb686..0000000 --- a/frontend/src/features/skills/model/status-mappings.ts +++ /dev/null @@ -1,17 +0,0 @@ -import type { StatusBadgeTone } from "../../../components/ui/StatusBadge"; -import type { SkillStatus } from "./types"; - -export function skillStatusTone(status: SkillStatus): StatusBadgeTone { - switch (status) { - case "Managed": - return "success"; - case "Custom": - return "warning"; - case "Unmanaged": - return "neutral"; - case "Built-in": - return "muted"; - default: - return "neutral"; - } -} diff --git a/frontend/src/features/skills/model/types.ts b/frontend/src/features/skills/model/types.ts index 51a5b93..3c8b36f 100644 --- a/frontend/src/features/skills/model/types.ts +++ b/frontend/src/features/skills/model/types.ts @@ -3,13 +3,13 @@ import type { HarnessCell as HarnessCellDto, HarnessCellState as HarnessCellStateDto, HarnessColumn as HarnessColumnDto, - SkillDetailDto, + SkillRowActionsDto, SkillLocation as SkillLocationDto, SkillSourceLinks as SkillSourceLinksDto, SkillStatus as SkillStatusDto, SkillsSummary as SkillsSummaryDto, SkillDetailActionsDto, - SkillStopManagingStatus as SkillStopManagingStatusDto, + SkillRemoveStatus as SkillRemoveStatusDto, SkillSourceStatusDto, SkillUpdateStatus as SkillUpdateStatusDto, } from "../api/types"; @@ -17,10 +17,11 @@ import type { export type SkillStatus = SkillStatusDto; export type HarnessCellState = HarnessCellStateDto; export type SkillUpdateStatus = SkillUpdateStatusDto; -export type SkillStopManagingStatus = SkillStopManagingStatusDto; +export type SkillRemoveStatus = SkillRemoveStatusDto; export type SkillsSummary = SkillsSummaryDto; export type HarnessColumn = HarnessColumnDto; export type HarnessCell = HarnessCellDto; +export type SkillRowActions = SkillRowActionsDto; export type SkillLocation = SkillLocationDto; export type SkillSourceLinks = SkillSourceLinksDto; export type BulkManageResult = BulkManageResultDto; @@ -30,8 +31,7 @@ export interface SkillListRow { name: string; description: string; displayStatus: SkillStatus; - attentionMessage: string | null; - canManage: boolean; + actions: SkillRowActions; cells: HarnessCell[]; } diff --git a/frontend/src/features/skills/model/use-skill-detail-controller.ts b/frontend/src/features/skills/model/use-skill-detail-controller.ts index cf593e8..5243edd 100644 --- a/frontend/src/features/skills/model/use-skill-detail-controller.ts +++ b/frontend/src/features/skills/model/use-skill-detail-controller.ts @@ -7,7 +7,7 @@ interface SkillDetailMutationHandlers { onManageSkill: (skillRef: string) => Promise; onToggleSkill: (skillRef: string, harness: string, currentState: HarnessCellState) => Promise; onUpdateSkill: (skillRef: string) => Promise; - onUnmanageSkill: (skillRef: string) => Promise; + onRemoveSkill: (skillRef: string) => Promise; onDeleteSkill: (skillRef: string) => Promise; } @@ -18,7 +18,7 @@ export function useSkillDetailController( const detailQuery = useSkillDetailQuery(skillRef); const sourceStatusQuery = useSkillSourceStatusQuery(skillRef); const [actionErrorMessage, setActionErrorMessage] = useState(""); - const [isStopManagingDialogOpen, setStopManagingDialogOpen] = useState(false); + const [isRemoveDialogOpen, setRemoveDialogOpen] = useState(false); const [isDeleteDialogOpen, setDeleteDialogOpen] = useState(false); const isMountedRef = useRef(true); @@ -44,7 +44,7 @@ export function useSkillDetailController( useEffect(() => { setActionErrorMessage(""); - setStopManagingDialogOpen(false); + setRemoveDialogOpen(false); setDeleteDialogOpen(false); }, [skillRef]); @@ -73,13 +73,13 @@ export function useSkillDetailController( } } - async function handleConfirmStopManaging(): Promise { + async function handleConfirmRemove(): Promise { if (!detail) { return; } - const didSucceed = await runAction(() => handlers.onUnmanageSkill(detail.skillRef)); + const didSucceed = await runAction(() => handlers.onRemoveSkill(detail.skillRef)); if (didSucceed && isMountedRef.current) { - setStopManagingDialogOpen(false); + setRemoveDialogOpen(false); } } @@ -88,24 +88,24 @@ export function useSkillDetailController( isInitialLoading, queryErrorMessage, actionErrorMessage, - isStopManagingDialogOpen, + isRemoveDialogOpen, isDeleteDialogOpen, dismissActionError: () => setActionErrorMessage(""), onManage: () => detail && void runAction(() => handlers.onManageSkill(detail.skillRef)), onToggleHarness: (harness: string, currentState: HarnessCellState) => detail && void runAction(() => handlers.onToggleSkill(detail.skillRef, harness, currentState)), onUpdate: () => detail && void runAction(() => handlers.onUpdateSkill(detail.skillRef)), - requestStopManaging: () => { + requestRemove: () => { setActionErrorMessage(""); - setStopManagingDialogOpen(true); + setRemoveDialogOpen(true); }, requestDelete: () => { setActionErrorMessage(""); setDeleteDialogOpen(true); }, - setStopManagingDialogOpen, + setRemoveDialogOpen, setDeleteDialogOpen, handleConfirmDelete, - handleConfirmStopManaging, + handleConfirmRemove, }; } diff --git a/frontend/src/features/skills/model/use-skill-workspace-selection.ts b/frontend/src/features/skills/model/use-skill-workspace-selection.ts new file mode 100644 index 0000000..9d2dec5 --- /dev/null +++ b/frontend/src/features/skills/model/use-skill-workspace-selection.ts @@ -0,0 +1,94 @@ +import { useCallback, useEffect, useState } from "react"; +import { useLocation, useSearchParams } from "react-router-dom"; + +import { skillStatusConcept } from "../../../lib/product-language"; +import type { SkillListRow, SkillsWorkspaceData } from "./types"; + +export type SkillsWorkspaceTab = "inUse" | "needsReview"; + +export function useSkillWorkspaceSelection(data: SkillsWorkspaceData | null) { + const location = useLocation(); + const [searchParams, setSearchParams] = useSearchParams(); + const isMobileDetail = useCompactDetailLayout(); + const activeTab: SkillsWorkspaceTab = location.pathname.endsWith("/review") || location.pathname.endsWith("/unmanaged") + ? "needsReview" + : "inUse"; + const selectedSkillRef = searchParams.get("skill"); + + const updateSelectedSkillRef = useCallback((skillRef: string | null, replace = false) => { + const nextParams = new URLSearchParams(searchParams); + if (skillRef) { + nextParams.set("skill", skillRef); + } else { + nextParams.delete("skill"); + } + setSearchParams(nextParams, { replace }); + }, [searchParams, setSearchParams]); + + useEffect(() => { + if (!selectedSkillRef || !data) { + return; + } + const stillVisibleInTab = data.rows.some((row) => + row.skillRef === selectedSkillRef && rowVisibleOnTab(row, activeTab), + ); + if (!stillVisibleInTab) { + updateSelectedSkillRef(null, true); + } + }, [activeTab, data, selectedSkillRef, updateSelectedSkillRef]); + + const handleOpenSkill = useCallback((skillRef: string) => { + updateSelectedSkillRef(selectedSkillRef === skillRef ? null : skillRef); + }, [selectedSkillRef, updateSelectedSkillRef]); + + return { + activeTab, + selectedSkillRef, + isDesktopDetailOpen: Boolean(selectedSkillRef) && !isMobileDetail, + closeSelectedSkill: () => updateSelectedSkillRef(null), + handleOpenSkill, + updateSelectedSkillRef, + }; +} + +function rowVisibleOnTab(row: SkillListRow, tab: SkillsWorkspaceTab): boolean { + if (tab === "needsReview") { + return skillStatusConcept(row.displayStatus) === "needsReview"; + } + return skillStatusConcept(row.displayStatus) === "inUse"; +} + +function useCompactDetailLayout(breakpointPx = 900): boolean { + const [matches, setMatches] = useState(() => getCompactDetailLayoutMatch(breakpointPx)); + + useEffect(() => { + if (typeof window === "undefined" || typeof window.matchMedia !== "function") { + setMatches(getCompactDetailLayoutMatch(breakpointPx)); + return undefined; + } + + const mediaQuery = window.matchMedia(`(max-width: ${breakpointPx}px)`); + const update = () => setMatches(mediaQuery.matches); + update(); + + if (typeof mediaQuery.addEventListener === "function") { + mediaQuery.addEventListener("change", update); + return () => mediaQuery.removeEventListener("change", update); + } + + mediaQuery.addListener(update); + return () => mediaQuery.removeListener(update); + }, [breakpointPx]); + + return matches; +} + +function getCompactDetailLayoutMatch(breakpointPx: number): boolean { + if (typeof window === "undefined") { + return false; + } + if (typeof window.matchMedia === "function") { + return window.matchMedia(`(max-width: ${breakpointPx}px)`).matches; + } + return window.innerWidth <= breakpointPx; +} diff --git a/frontend/src/features/skills/model/use-skills-workspace-controller.test.tsx b/frontend/src/features/skills/model/use-skills-workspace-controller.test.tsx new file mode 100644 index 0000000..348e9c3 --- /dev/null +++ b/frontend/src/features/skills/model/use-skills-workspace-controller.test.tsx @@ -0,0 +1,149 @@ +import { act, renderHook } from "@testing-library/react"; +import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; +import { MemoryRouter } from "react-router-dom"; +import { beforeEach, describe, expect, it, vi } from "vitest"; + +import type { SkillsWorkspaceData } from "./types"; + +const hoisted = vi.hoisted(() => { + const setHarnessesCalls: Array<{ skillRef: string; target: "enabled" | "disabled" }> = []; + const failFor = new Set(); + let nextResponse: { succeeded: string[]; failed: Array<{ harness: string; error: string }> } | null = null; + return { + setHarnessesCalls, + failFor, + setNextResponse(value: typeof nextResponse) { + nextResponse = value; + }, + takeNextResponse() { + const value = nextResponse; + nextResponse = null; + return value; + }, + }; +}); + +const testData: SkillsWorkspaceData = { + summary: { managed: 1, unmanaged: 0 }, + harnessColumns: [ + { harness: "codex", label: "Codex", installed: true }, + { harness: "cursor", label: "Cursor", installed: true }, + { harness: "claude", label: "Claude", installed: true }, + ], + rows: [ + { + skillRef: "shared:test-skill", + name: "Test Skill", + description: "", + displayStatus: "Managed", + actions: { canManage: false, canStopManaging: true, canDelete: false }, + cells: [ + { harness: "codex", label: "Codex", state: "enabled", interactive: true }, + { harness: "cursor", label: "Cursor", state: "disabled", interactive: true }, + { harness: "claude", label: "Claude", state: "empty", interactive: false }, + ], + }, + ], +} as unknown as SkillsWorkspaceData; + +vi.mock("../api/queries", () => ({ + useSkillsListQuery: () => ({ + data: testData, + isPending: false, + error: null, + }), + useToggleSkillMutation: () => ({ + mutateAsync: vi.fn(), + }), + useSetSkillHarnessesMutation: () => ({ + mutateAsync: async (vars: { skillRef: string; target: "enabled" | "disabled" }) => { + hoisted.setHarnessesCalls.push(vars); + const override = hoisted.takeNextResponse(); + if (override) { + return { ok: override.failed.length === 0, ...override }; + } + // Default behavior: mirror the current row's cells to derive who would flip. + const row = testData.rows.find((r) => r.skillRef === vars.skillRef)!; + const succeeded: string[] = []; + const failed: Array<{ harness: string; error: string }> = []; + for (const cell of row.cells) { + if (!cell.interactive || cell.state === vars.target) continue; + if (hoisted.failFor.has(cell.harness)) { + failed.push({ harness: cell.harness, error: `${cell.harness} toggle failed` }); + } else { + succeeded.push(cell.harness); + } + } + return { ok: failed.length === 0, succeeded, failed }; + }, + }), + useManageSkillMutation: () => ({ mutateAsync: vi.fn() }), + useManageAllSkillsMutation: () => ({ mutateAsync: vi.fn() }), + useUpdateSkillMutation: () => ({ mutateAsync: vi.fn() }), + useUnmanageSkillMutation: () => ({ mutateAsync: vi.fn() }), + useDeleteSkillMutation: () => ({ mutateAsync: vi.fn() }), +})); + +import { useSkillsWorkspaceController } from "./use-skills-workspace-controller"; + +function wrapper({ children }: { children: React.ReactNode }) { + const client = new QueryClient(); + return ( + + {children} + + ); +} + +describe("useSkillsWorkspaceController > onSetSkillAllHarnesses", () => { + beforeEach(() => { + hoisted.setHarnessesCalls.length = 0; + hoisted.failFor.clear(); + hoisted.setNextResponse(null); + }); + + it("dispatches a single bulk request with the target and returns the server's succeeded list", async () => { + const { result } = renderHook(() => useSkillsWorkspaceController(), { wrapper }); + + let outcome: Awaited> | undefined; + await act(async () => { + outcome = await result.current.context.onSetSkillAllHarnesses("shared:test-skill", "enabled"); + }); + + expect(hoisted.setHarnessesCalls).toEqual([ + { skillRef: "shared:test-skill", target: "enabled" }, + ]); + expect(outcome?.succeeded).toEqual(["cursor"]); + expect(outcome?.failed).toEqual([]); + expect(result.current.actionErrorMessage).toBe(""); + }); + + it("surfaces partial failures from the server and sets an error message", async () => { + hoisted.failFor.add("cursor"); + const { result } = renderHook(() => useSkillsWorkspaceController(), { wrapper }); + + let outcome: Awaited> | undefined; + await act(async () => { + outcome = await result.current.context.onSetSkillAllHarnesses("shared:test-skill", "enabled"); + }); + + expect(outcome?.succeeded).toEqual([]); + expect(outcome?.failed).toHaveLength(1); + expect(outcome?.failed[0]?.harness).toBe("cursor"); + expect(result.current.actionErrorMessage).toContain("cursor"); + }); + + it("issues the bulk call for the opposite direction too", async () => { + const { result } = renderHook(() => useSkillsWorkspaceController(), { wrapper }); + + let outcome: Awaited> | undefined; + await act(async () => { + outcome = await result.current.context.onSetSkillAllHarnesses("shared:test-skill", "disabled"); + }); + + expect(hoisted.setHarnessesCalls).toEqual([ + { skillRef: "shared:test-skill", target: "disabled" }, + ]); + expect(outcome?.succeeded).toEqual(["codex"]); + }); +}); diff --git a/frontend/src/features/skills/model/use-skills-workspace-controller.ts b/frontend/src/features/skills/model/use-skills-workspace-controller.ts index 7523e4d..12d251e 100644 --- a/frontend/src/features/skills/model/use-skills-workspace-controller.ts +++ b/frontend/src/features/skills/model/use-skills-workspace-controller.ts @@ -1,6 +1,6 @@ -import { useCallback, useEffect, useRef, useState } from "react"; -import { useLocation, useSearchParams } from "react-router-dom"; +import { useCallback, useEffect, useState } from "react"; +import { usePendingRegistry } from "../../../lib/async/pending-registry"; import { cellActionKey, type BulkSkillsAction, @@ -8,55 +8,59 @@ import { type StructuralSkillAction, } from "./pending"; import type { HarnessCell, HarnessCellState, SkillListRow } from "./types"; -import type { SkillsWorkspaceContextValue } from "./workspace-context"; +import type { + MultiSelectAction, + SetAllHarnessesFailure, + SetAllHarnessesResult, + SetAllHarnessesTarget, + SkillsWorkspaceContextValue, +} from "./workspace-context"; import { useDeleteSkillMutation, useManageAllSkillsMutation, useManageSkillMutation, + useSetSkillHarnessesMutation, useSkillsListQuery, useToggleSkillMutation, useUnmanageSkillMutation, useUpdateSkillMutation, } from "../api/queries"; -import type { SkillsPaneDirection, SkillsPaneView } from "../components/pane/SkillsPaneTransition"; +import { useSkillWorkspaceSelection, type SkillsWorkspaceTab } from "./use-skill-workspace-selection"; export interface SkillsWorkspaceController { context: SkillsWorkspaceContextValue; - activeTab: SkillsPaneView; + activeTab: SkillsWorkspaceTab; selectedSkillRef: string | null; - isMobileDetail: boolean; isDesktopDetailOpen: boolean; - shouldAnimatePaneTransition: boolean; - transitionDirection: SkillsPaneDirection; actionErrorMessage: string; queryErrorMessage: string; closeSelectedSkill: () => void; handleManageSkill: (skillRef: string) => Promise; handleToggleSkill: (skillRef: string, harness: string, currentState: HarnessCellState) => Promise; handleUpdateSkill: (skillRef: string) => Promise; - handleUnmanageSkill: (skillRef: string) => Promise; + handleRemoveSkill: (skillRef: string) => Promise; handleDeleteSkill: (skillRef: string) => Promise; dismissActionError: () => void; } export function useSkillsWorkspaceController(): SkillsWorkspaceController { - const location = useLocation(); - const [searchParams, setSearchParams] = useSearchParams(); const listQuery = useSkillsListQuery(); const toggleMutation = useToggleSkillMutation(); + const setHarnessesMutation = useSetSkillHarnessesMutation(); const manageMutation = useManageSkillMutation(); const manageAllMutation = useManageAllSkillsMutation(); const updateMutation = useUpdateSkillMutation(); - const unmanageMutation = useUnmanageSkillMutation(); + const removeMutation = useUnmanageSkillMutation(); const deleteMutation = useDeleteSkillMutation(); - const isMobileDetail = useCompactDetailLayout(); const [actionErrorMessage, setActionErrorMessage] = useState(""); - const [pendingToggleKeys, setPendingToggleKeys] = useState>(() => new Set()); + const toggleRegistry = usePendingRegistry(); const [pendingStructuralActions, setPendingStructuralActions] = useState>( () => new Map(), ); const [pendingBulkAction, setPendingBulkAction] = useState(null); + const [multiSelectedRefs, setMultiSelectedRefs] = useState>(() => new Set()); + const [multiSelectPending, setMultiSelectPending] = useState(null); const data = listQuery.data ?? null; const hasData = data !== null; @@ -69,57 +73,14 @@ export function useSkillsWorkspaceController(): SkillsWorkspaceController { : queryErrorMessage ? "error" : "loading"; - const activeTab = location.pathname.endsWith("/unmanaged") ? "unmanaged" : "managed"; - const selectedSkillRef = searchParams.get("skill"); - const { direction: transitionDirection, shouldAnimate: shouldAnimatePaneTransition } = usePaneTransition(activeTab); - - const updateSelectedSkillRef = useCallback((skillRef: string | null, replace = false) => { - const nextParams = new URLSearchParams(searchParams); - if (skillRef) { - nextParams.set("skill", skillRef); - } else { - nextParams.delete("skill"); - } - setSearchParams(nextParams, { replace }); - }, [searchParams, setSearchParams]); - - useEffect(() => { - if (!selectedSkillRef || !data) { - return; - } - const stillVisibleInTab = data.rows.some((row) => - row.skillRef === selectedSkillRef && rowVisibleOnTab(row, activeTab), - ); - if (!stillVisibleInTab) { - updateSelectedSkillRef(null, true); - } - }, [activeTab, data, selectedSkillRef, updateSelectedSkillRef]); - - const handleOpenSkill = useCallback((skillRef: string) => { - updateSelectedSkillRef(selectedSkillRef === skillRef ? null : skillRef); - }, [selectedSkillRef, updateSelectedSkillRef]); - - function addPendingToggle(key: CellActionKey): void { - setPendingToggleKeys((current) => { - if (current.has(key)) { - return current; - } - const next = new Set(current); - next.add(key); - return next; - }); - } - - function removePendingToggle(key: CellActionKey): void { - setPendingToggleKeys((current) => { - if (!current.has(key)) { - return current; - } - const next = new Set(current); - next.delete(key); - return next; - }); - } + const { + activeTab, + selectedSkillRef, + isDesktopDetailOpen, + closeSelectedSkill, + handleOpenSkill, + updateSelectedSkillRef, + } = useSkillWorkspaceSelection(data); function setPendingStructuralAction(skillRef: string, action: StructuralSkillAction): void { setPendingStructuralActions((current) => { @@ -151,19 +112,18 @@ export function useSkillsWorkspaceController(): SkillsWorkspaceController { ): Promise { const nextState: HarnessCellState = currentState === "enabled" ? "disabled" : "enabled"; const key = cellActionKey(skillRef, harness); - addPendingToggle(key); if (reportError) { setActionErrorMessage(""); } try { - await toggleMutation.mutateAsync({ skillRef, harness, nextState }); + await toggleRegistry.run(key, () => + toggleMutation.mutateAsync({ skillRef, harness, nextState }), + ); } catch (error) { if (reportError) { setActionErrorMessage(error instanceof Error ? error.message : "Unable to toggle the skill."); } throw error; - } finally { - removePendingToggle(key); } } @@ -254,129 +214,273 @@ export function useSkillsWorkspaceController(): SkillsWorkspaceController { ); } - async function handleUnmanageSkill(skillRef: string): Promise { + async function handleDeleteSkillFromList(skillRef: string): Promise { + await runStructuralAction( + skillRef, + "delete", + () => deleteMutation.mutateAsync({ skillRef }), + true, + () => updateSelectedSkillRef(null, true), + ); + } + + async function handleRemoveSkill(skillRef: string): Promise { await runStructuralAction( skillRef, "unmanage", - () => unmanageMutation.mutateAsync({ skillRef }), + () => removeMutation.mutateAsync({ skillRef }), false, () => updateSelectedSkillRef(null, true), ); } + async function handleRemoveSkillFromList(skillRef: string): Promise { + await runStructuralAction( + skillRef, + "unmanage", + () => removeMutation.mutateAsync({ skillRef }), + true, + () => updateSelectedSkillRef(null, true), + ); + } + function handleToggleCell(row: SkillListRow, cell: HarnessCell): void { void handleToggleSkillFromList(row.skillRef, cell.harness, cell.state); } + const toggleMultiSelect = useCallback((skillRef: string) => { + setMultiSelectedRefs((current) => { + const next = new Set(current); + if (next.has(skillRef)) { + next.delete(skillRef); + } else { + next.add(skillRef); + } + return next; + }); + }, []); + + const clearMultiSelect = useCallback(() => { + setMultiSelectedRefs((current) => (current.size === 0 ? current : new Set())); + }, []); + + // Drop selection when a previously selected row leaves the dataset. + useEffect(() => { + if (!data || multiSelectedRefs.size === 0) { + return; + } + const available = new Set(data.rows.map((row) => row.skillRef)); + let changed = false; + const next = new Set(); + for (const ref of multiSelectedRefs) { + if (available.has(ref)) { + next.add(ref); + } else { + changed = true; + } + } + if (changed) { + setMultiSelectedRefs(next); + } + }, [data, multiSelectedRefs]); + + async function runMultiSelect( + action: MultiSelectAction, + task: (rows: SkillListRow[]) => Promise, + ): Promise { + if (multiSelectedRefs.size === 0 || !data) { + return; + } + const rows = data.rows.filter((row) => multiSelectedRefs.has(row.skillRef)); + if (rows.length === 0) { + return; + } + setMultiSelectPending(action); + setActionErrorMessage(""); + try { + await task(rows); + setMultiSelectedRefs(new Set()); + } catch (error) { + setActionErrorMessage(error instanceof Error ? error.message : "Unable to complete the bulk action."); + throw error; + } finally { + setMultiSelectPending(null); + } + } + + async function handleMultiSelectEnableAll(): Promise { + await runMultiSelect("enable-all", async (rows) => { + const tasks: Promise[] = []; + for (const row of rows) { + for (const cell of row.cells) { + if (cell.state === "disabled") { + tasks.push(toggleMutation.mutateAsync({ skillRef: row.skillRef, harness: cell.harness, nextState: "enabled" })); + } + } + } + await Promise.all(tasks); + }); + } + + async function handleMultiSelectDisableAll(): Promise { + await runMultiSelect("disable-all", async (rows) => { + const tasks: Promise[] = []; + for (const row of rows) { + for (const cell of row.cells) { + if (cell.state === "enabled") { + tasks.push(toggleMutation.mutateAsync({ skillRef: row.skillRef, harness: cell.harness, nextState: "disabled" })); + } + } + } + await Promise.all(tasks); + }); + } + + async function handleMultiSelectDelete(): Promise { + await runMultiSelect("delete", async (rows) => { + await Promise.all(rows.map((row) => deleteMutation.mutateAsync({ skillRef: row.skillRef }))); + }); + } + + async function setSkillAllHarnesses( + row: SkillListRow, + target: SetAllHarnessesTarget, + ): Promise { + const targets = row.cells.filter((cell) => cell.interactive && cell.state !== target); + if (targets.length === 0) { + return { succeeded: [], failed: [] }; + } + // Mark every cell this drop would flip as pending so per-cell affordances + // (dim overlays on the matrix + board) match reality while the single bulk + // request is in flight. + const pendingKeys = targets.map((cell) => cellActionKey(row.skillRef, cell.harness)); + pendingKeys.forEach((key) => toggleRegistry.begin(key)); + try { + const outcome = await setHarnessesMutation.mutateAsync({ skillRef: row.skillRef, target }); + const failed: SetAllHarnessesFailure[] = outcome.failed.map((failure) => ({ + harness: failure.harness, + error: new Error(failure.error), + })); + return { succeeded: outcome.succeeded, failed }; + } catch (error) { + const reason = error instanceof Error ? error : new Error(String(error ?? "Unknown error")); + return { + succeeded: [], + failed: targets.map((cell) => ({ harness: cell.harness, error: reason })), + }; + } finally { + pendingKeys.forEach((key) => toggleRegistry.finish(key)); + } + } + + async function handleSetSkillAllHarnesses( + skillRef: string, + target: SetAllHarnessesTarget, + ): Promise { + setActionErrorMessage(""); + const row = data?.rows.find((candidate) => candidate.skillRef === skillRef); + if (!row) { + return { succeeded: [], failed: [] }; + } + const result = await setSkillAllHarnesses(row, target); + if (result.failed.length > 0) { + setActionErrorMessage(formatSingleSkillFailureMessage(row.name, target, result.failed)); + } + return result; + } + + async function handleSetManySkillsAllHarnesses( + skillRefs: string[], + target: SetAllHarnessesTarget, + ): Promise> { + setActionErrorMessage(""); + const refSet = new Set(skillRefs); + const rows = data?.rows.filter((row) => refSet.has(row.skillRef)) ?? []; + if (rows.length === 0) { + return new Map(); + } + const entries = await Promise.all( + rows.map(async (row): Promise<[string, SetAllHarnessesResult]> => { + const result = await setSkillAllHarnesses(row, target); + return [row.skillRef, result]; + }), + ); + const byRef = new Map(entries); + const failingRows = rows + .map((row) => ({ row, result: byRef.get(row.skillRef) })) + .filter((entry): entry is { row: SkillListRow; result: SetAllHarnessesResult } => + Boolean(entry.result && entry.result.failed.length > 0), + ); + if (failingRows.length > 0) { + setActionErrorMessage(formatMultiSkillFailureMessage(failingRows, target)); + } + return byRef; + } + const context: SkillsWorkspaceContextValue = { data, hasData, isInitialLoading, status, errorMessage: actionErrorMessage || (hasData ? queryErrorMessage : ""), - pendingToggleKeys, + pendingToggleKeys: toggleRegistry.pendingKeys, pendingStructuralActions, pendingBulkAction, selectedSkillRef, + multiSelectedRefs, + multiSelectPending, onManageAll: () => void handleManageAll(), onManageSkill: handleManageSkillFromList, onOpenSkill: handleOpenSkill, onToggleCell: handleToggleCell, + onToggleMultiSelect: toggleMultiSelect, + onClearMultiSelect: clearMultiSelect, + onMultiSelectEnableAll: handleMultiSelectEnableAll, + onMultiSelectDisableAll: handleMultiSelectDisableAll, + onMultiSelectDelete: handleMultiSelectDelete, + onSetSkillAllHarnesses: handleSetSkillAllHarnesses, + onSetManySkillsAllHarnesses: handleSetManySkillsAllHarnesses, + onUpdateSkill: handleUpdateSkill, + onRemoveSkill: handleRemoveSkillFromList, + onDeleteSkill: handleDeleteSkillFromList, }; return { context, activeTab, selectedSkillRef, - isMobileDetail, - isDesktopDetailOpen: Boolean(selectedSkillRef) && !isMobileDetail, - shouldAnimatePaneTransition, - transitionDirection, + isDesktopDetailOpen, actionErrorMessage, queryErrorMessage, - closeSelectedSkill: () => updateSelectedSkillRef(null), + closeSelectedSkill, handleManageSkill, handleToggleSkill, handleUpdateSkill, - handleUnmanageSkill, + handleRemoveSkill, handleDeleteSkill, dismissActionError: () => setActionErrorMessage(""), }; } -type SkillsWorkspaceTab = SkillsPaneView; - -function rowVisibleOnTab(row: SkillListRow, tab: SkillsWorkspaceTab): boolean { - if (tab === "unmanaged") { - return row.displayStatus === "Unmanaged"; - } - return row.displayStatus === "Managed" || row.displayStatus === "Custom" || row.displayStatus === "Built-in"; -} - -function usePaneTransition(activeTab: SkillsPaneView): { direction: SkillsPaneDirection; shouldAnimate: boolean } { - const previousTabRef = useRef(null); - const [transitionState, setTransitionState] = useState<{ - direction: SkillsPaneDirection; - shouldAnimate: boolean; - }>({ - direction: "forward", - shouldAnimate: false, - }); - - useEffect(() => { - const previousTab = previousTabRef.current; - if (previousTab === null) { - previousTabRef.current = activeTab; - return; - } - - if (previousTab !== activeTab) { - setTransitionState({ - direction: getPaneDirection(previousTab, activeTab), - shouldAnimate: true, - }); - previousTabRef.current = activeTab; - } - }, [activeTab]); - - return transitionState; -} - -function getPaneDirection(previousTab: SkillsPaneView, activeTab: SkillsPaneView): SkillsPaneDirection { - return previousTab === "managed" && activeTab === "unmanaged" ? "forward" : "backward"; +function formatSingleSkillFailureMessage( + name: string, + target: SetAllHarnessesTarget, + failures: SetAllHarnessesFailure[], +): string { + const verb = target === "enabled" ? "enable" : "disable"; + const harnesses = failures.map((failure) => failure.harness).join(", "); + return `Unable to ${verb} ${name} on ${harnesses}.`; } -function useCompactDetailLayout(breakpointPx = 1180): boolean { - const [matches, setMatches] = useState(() => getCompactDetailLayoutMatch(breakpointPx)); - - useEffect(() => { - if (typeof window === "undefined" || typeof window.matchMedia !== "function") { - setMatches(getCompactDetailLayoutMatch(breakpointPx)); - return undefined; - } - - const mediaQuery = window.matchMedia(`(max-width: ${breakpointPx}px)`); - const update = () => setMatches(mediaQuery.matches); - update(); - - if (typeof mediaQuery.addEventListener === "function") { - mediaQuery.addEventListener("change", update); - return () => mediaQuery.removeEventListener("change", update); - } - - mediaQuery.addListener(update); - return () => mediaQuery.removeListener(update); - }, [breakpointPx]); - - return matches; -} - -function getCompactDetailLayoutMatch(breakpointPx: number): boolean { - if (typeof window === "undefined") { - return false; - } - if (typeof window.matchMedia === "function") { - return window.matchMedia(`(max-width: ${breakpointPx}px)`).matches; +function formatMultiSkillFailureMessage( + failingRows: Array<{ row: SkillListRow; result: SetAllHarnessesResult }>, + target: SetAllHarnessesTarget, +): string { + const verb = target === "enabled" ? "enable" : "disable"; + if (failingRows.length === 1) { + const { row, result } = failingRows[0]; + return formatSingleSkillFailureMessage(row.name, target, result.failed); } - return window.innerWidth <= breakpointPx; + const names = failingRows.map((entry) => entry.row.name).join(", "); + return `Unable to ${verb} every harness for ${failingRows.length} skills: ${names}.`; } diff --git a/frontend/src/features/skills/model/useInUseViewMode.test.tsx b/frontend/src/features/skills/model/useInUseViewMode.test.tsx new file mode 100644 index 0000000..a83acb5 --- /dev/null +++ b/frontend/src/features/skills/model/useInUseViewMode.test.tsx @@ -0,0 +1,63 @@ +import { render, screen, waitFor } from "@testing-library/react"; +import { MemoryRouter, useLocation } from "react-router-dom"; +import { beforeEach, describe, expect, it, vi } from "vitest"; + +import { useInUseViewMode } from "./useInUseViewMode"; + +function Probe() { + const [mode] = useInUseViewMode(); + const location = useLocation(); + return ( + <> +
    {mode}
    +
    {location.search}
    + + ); +} + +function renderProbe(route: string) { + render( + + + , + ); +} + +describe("useInUseViewMode", () => { + let storage: Map; + + beforeEach(() => { + storage = new Map(); + Object.defineProperty(window, "localStorage", { + configurable: true, + value: { + getItem: vi.fn((key: string) => storage.get(key) ?? null), + setItem: vi.fn((key: string, value: string) => { + storage.set(key, value); + }), + }, + }); + }); + + it("uses matrix as the canonical skills coverage view", () => { + renderProbe("/skills/use?view=matrix"); + + expect(screen.getByTestId("mode")).toHaveTextContent("matrix"); + }); + + it("canonicalizes the legacy table URL value to matrix", async () => { + renderProbe("/skills/use?view=table"); + + expect(screen.getByTestId("mode")).toHaveTextContent("matrix"); + await waitFor(() => expect(screen.getByTestId("search")).toHaveTextContent("?view=matrix")); + }); + + it("canonicalizes the legacy stored table preference to matrix", async () => { + window.localStorage.setItem("skillmgr.inUse.view", "table"); + + renderProbe("/skills/use"); + + expect(screen.getByTestId("mode")).toHaveTextContent("matrix"); + await waitFor(() => expect(window.localStorage.getItem("skillmgr.inUse.view")).toBe("matrix")); + }); +}); diff --git a/frontend/src/features/skills/model/useInUseViewMode.ts b/frontend/src/features/skills/model/useInUseViewMode.ts new file mode 100644 index 0000000..04d5430 --- /dev/null +++ b/frontend/src/features/skills/model/useInUseViewMode.ts @@ -0,0 +1,32 @@ +import { usePersistentViewMode } from "../../../lib/usePersistentViewMode"; + +export type InUseViewMode = "grid" | "board" | "matrix"; + +const STORAGE_KEY = "skillmgr.inUse.view"; + +function isValidMode(value: unknown): value is InUseViewMode { + return value === "grid" || value === "board" || value === "matrix"; +} + +function normalizeLegacyMode(value: unknown): InUseViewMode | null { + return value === "table" ? "matrix" : null; +} + +/** + * Resolution order on first render: + * 1. `?view=` in the URL (shareable link) + * 2. localStorage (persisted user choice) + * 3. "grid" (default) + * + * User toggles write BOTH localStorage AND the URL param. + * A URL override alone never writes to localStorage (so share links don't + * permanently flip someone else's preference). + */ +export function useInUseViewMode(): [InUseViewMode, (next: InUseViewMode) => void] { + return usePersistentViewMode({ + storageKey: STORAGE_KEY, + defaultMode: "grid", + isValidMode, + normalizeMode: normalizeLegacyMode, + }); +} diff --git a/frontend/src/features/skills/model/workspace-context.ts b/frontend/src/features/skills/model/workspace-context.ts index 2b16166..403de9c 100644 --- a/frontend/src/features/skills/model/workspace-context.ts +++ b/frontend/src/features/skills/model/workspace-context.ts @@ -1,8 +1,23 @@ import { useOutletContext } from "react-router-dom"; +import type { MultiSelectAction } from "../../../components/BulkActionBar"; import type { BulkSkillsAction, CellActionKey, StructuralSkillAction } from "./pending"; import type { HarnessCell, SkillListRow, SkillsWorkspaceData } from "./types"; +export type { MultiSelectAction }; + +export type SetAllHarnessesTarget = "enabled" | "disabled"; + +export interface SetAllHarnessesFailure { + harness: string; + error: Error; +} + +export interface SetAllHarnessesResult { + succeeded: string[]; + failed: SetAllHarnessesFailure[]; +} + export interface SkillsWorkspaceContextValue { data: SkillsWorkspaceData | null; hasData: boolean; @@ -13,10 +28,25 @@ export interface SkillsWorkspaceContextValue { pendingStructuralActions: ReadonlyMap; pendingBulkAction: BulkSkillsAction | null; selectedSkillRef: string | null; + multiSelectedRefs: ReadonlySet; + multiSelectPending: MultiSelectAction | null; onManageAll: () => void; onManageSkill: (skillRef: string) => Promise; onOpenSkill: (skillRef: string) => void; onToggleCell: (row: SkillListRow, cell: HarnessCell) => void; + onToggleMultiSelect: (skillRef: string) => void; + onClearMultiSelect: () => void; + onMultiSelectEnableAll: () => Promise; + onMultiSelectDisableAll: () => Promise; + onMultiSelectDelete: () => Promise; + onSetSkillAllHarnesses: (skillRef: string, target: SetAllHarnessesTarget) => Promise; + onSetManySkillsAllHarnesses: ( + skillRefs: string[], + target: SetAllHarnessesTarget, + ) => Promise>; + onUpdateSkill: (skillRef: string) => Promise; + onRemoveSkill: (skillRef: string) => Promise; + onDeleteSkill: (skillRef: string) => Promise; } export function useSkillsWorkspace(): SkillsWorkspaceContextValue { diff --git a/frontend/src/features/skills/public.ts b/frontend/src/features/skills/public.ts new file mode 100644 index 0000000..8714a93 --- /dev/null +++ b/frontend/src/features/skills/public.ts @@ -0,0 +1,26 @@ +export { + useDeleteSkillMutation, + useManageAllSkillsMutation, + useManageSkillMutation, + useSetSkillHarnessesMutation, + useSkillDetailQuery, + useSkillsListQuery, + useSkillSourceStatusQuery, + useToggleSkillMutation, + useUnmanageSkillMutation, + useUpdateSkillMutation, +} from "./api/queries"; +export { invalidateSkillsQueries } from "./api/invalidation"; +export { skillsKeys } from "./api/keys"; +export type { + HarnessCell, + HarnessColumn, + SkillListRow, + SkillsWorkspaceData, +} from "./model/types"; + +export const skillsRoutes = { + inUse: "/skills/use", + needsReview: "/skills/review", + marketplace: "/marketplace/skills", +} as const; diff --git a/frontend/src/features/skills/screens/ManagedSkillsPage.tsx b/frontend/src/features/skills/screens/ManagedSkillsPage.tsx deleted file mode 100644 index 38ed1d4..0000000 --- a/frontend/src/features/skills/screens/ManagedSkillsPage.tsx +++ /dev/null @@ -1,118 +0,0 @@ -import { useMemo, useRef } from "react"; -import { Link } from "react-router-dom"; - -import { ManagedSkillsList } from "../components/cards/ManagedSkillsList"; -import { SkillsEmptyState } from "../components/pane/SkillsEmptyState"; -import { SkillsPaneScaffold } from "../components/pane/SkillsPaneScaffold"; -import { useManagedSkillsSession, useSkillsTabScroll } from "../model/session"; -import { - filterBuiltInRows, - filterManagedRows, - hasActiveManagedSkillsFilters, -} from "../model/selectors"; -import { useSkillsWorkspace } from "../model/workspace-context"; - -export default function ManagedSkillsPage() { - const { - data, - status, - pendingToggleKeys, - pendingStructuralActions, - selectedSkillRef, - onOpenSkill, - onToggleCell, - isInitialLoading, - } = useSkillsWorkspace(); - const { filters, updateFilters, resetFilters } = useManagedSkillsSession(); - const scrollRef = useRef(null); - - useSkillsTabScroll("managed", status === "ready", scrollRef); - - const rows = useMemo(() => filterManagedRows(data, filters), [data, filters]); - const builtInRows = useMemo(() => filterBuiltInRows(data), [data]); - const hasActiveFilters = useMemo(() => hasActiveManagedSkillsFilters(filters), [filters]); - const hasManagedInventory = (data?.summary.managed ?? 0) + (data?.summary.custom ?? 0) > 0; - const isReady = status === "ready" && Boolean(data); - - return ( - - Review Unmanaged - - ) : null - } - searchValue={filters.search} - hasActiveFilters={hasActiveFilters} - onSearchChange={(search) => updateFilters({ search })} - onReset={resetFilters} - searchLabel="Managed skills filters" - searchInputLabel="Search managed skills" - searchPlaceholder="Search managed skills by name, description, or state" - scrollRef={scrollRef} - isReady={isReady} - isInitialLoading={isInitialLoading} - hasError={status === "error"} - loadingLabel="Loading managed skills" - errorMessage="Unable to load managed skills." - > - {isReady && data ? ( - <> - {rows.length > 0 ? ( - - ) : hasManagedInventory ? ( - - ) : ( -
    -
    -

    No managed skills yet

    -

    Your shared inventory is empty.

    -

    Review unmanaged skills found in supported global roots or install something from the marketplace to start managing coverage here.

    -
    -
    - - Review Unmanaged - - - Open Marketplace - -
    -
    - )} - - {builtInRows.length > 0 ? ( -
    -
    -
    -

    Reference only

    -

    Built-in skills

    -

    These come from harnesses directly and stay outside the shared managed flow.

    -
    -
    - -
    - ) : null} - - ) : null} -
    - ); -} diff --git a/frontend/src/features/skills/screens/SkillsInUsePage.test.tsx b/frontend/src/features/skills/screens/SkillsInUsePage.test.tsx new file mode 100644 index 0000000..192fcb8 --- /dev/null +++ b/frontend/src/features/skills/screens/SkillsInUsePage.test.tsx @@ -0,0 +1,160 @@ +import { fireEvent, render, screen, waitFor } from "@testing-library/react"; +import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; +import { MemoryRouter } from "react-router-dom"; +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; + +import SkillsInUsePage from "./SkillsInUsePage"; + +const hooks = vi.hoisted(() => { + return { + onRemoveSkill: vi.fn(async () => undefined), + onDeleteSkill: vi.fn(async () => undefined), + updateFilters: vi.fn(), + resetFilters: vi.fn(), + toast: vi.fn(), + }; +}); + +vi.mock("../model/workspace-context", () => ({ + useSkillsWorkspace: () => ({ + data: { + summary: { managed: 1, unmanaged: 0 }, + harnessColumns: [ + { harness: "codex", label: "Codex", installed: true }, + { harness: "cursor", label: "Cursor", installed: true }, + ], + rows: [ + { + skillRef: "shared:trace-lens", + name: "Trace Lens", + description: "Trace review workflow", + displayStatus: "Managed", + actions: { canManage: false, canStopManaging: true, canDelete: true }, + cells: [ + { harness: "codex", label: "Codex", state: "enabled", interactive: true }, + { harness: "cursor", label: "Cursor", state: "disabled", interactive: true }, + ], + }, + ], + }, + status: "ready", + pendingToggleKeys: new Set(), + pendingStructuralActions: new Map(), + selectedSkillRef: null, + multiSelectedRefs: new Set(), + onOpenSkill: vi.fn(), + onToggleCell: vi.fn(), + onToggleMultiSelect: vi.fn(), + onClearMultiSelect: vi.fn(), + onSetSkillAllHarnesses: vi.fn(), + onSetManySkillsAllHarnesses: vi.fn(), + onRemoveSkill: hooks.onRemoveSkill, + onDeleteSkill: hooks.onDeleteSkill, + isInitialLoading: false, + }), +})); + +vi.mock("../model/session", () => ({ + useSkillsInUseSession: () => ({ + filters: { search: "" }, + updateFilters: hooks.updateFilters, + resetFilters: hooks.resetFilters, + }), +})); + +vi.mock("../model/useInUseViewMode", () => ({ + useInUseViewMode: () => ["grid", vi.fn()] as const, +})); + +vi.mock("../../../components/Toast", async () => { + const actual = await vi.importActual( + "../../../components/Toast", + ); + return { + ...actual, + useToast: () => ({ toast: hooks.toast }), + }; +}); + +describe("SkillsInUsePage", () => { + beforeEach(() => { + vi.stubGlobal( + "ResizeObserver", + class ResizeObserver { + observe() {} + unobserve() {} + disconnect() {} + }, + ); + }); + + afterEach(() => { + vi.unstubAllGlobals(); + hooks.onRemoveSkill.mockClear(); + hooks.onDeleteSkill.mockClear(); + hooks.updateFilters.mockClear(); + hooks.resetFilters.mockClear(); + hooks.toast.mockClear(); + }); + + it("opens a remove confirm popup from the skill card menu", async () => { + render( + + + + + , + ); + + fireEvent.click(screen.getByRole("button", { name: "More actions for Trace Lens" })); + fireEvent.click(screen.getByRole("button", { name: "Remove from Skill Manager" })); + + await waitFor(() => + expect(screen.getByRole("heading", { name: /remove skill from skill manager/i })).toBeInTheDocument(), + ); + expect(screen.getByText(/will restore to: codex/i)).toBeInTheDocument(); + expect(hooks.onRemoveSkill).not.toHaveBeenCalled(); + + fireEvent.click(screen.getByRole("button", { name: "Remove" })); + await waitFor(() => + expect(hooks.onRemoveSkill).toHaveBeenCalledWith("shared:trace-lens"), + ); + }); + + it("labels the harness coverage view as Matrix", () => { + render( + + + + + , + ); + + expect(screen.getByRole("button", { name: "Matrix" })).toBeInTheDocument(); + expect(screen.queryByRole("button", { name: "Table" })).not.toBeInTheDocument(); + }); + + it("opens a delete confirm popup from the skill card menu", async () => { + render( + + + + + , + ); + + fireEvent.click(screen.getByRole("button", { name: "More actions for Trace Lens" })); + fireEvent.click(screen.getByRole("button", { name: "Delete" })); + + await waitFor(() => + expect(screen.getByRole("heading", { name: /delete skill from skill manager/i })).toBeInTheDocument(), + ); + expect(screen.getByText(/affected harnesses: codex/i)).toBeInTheDocument(); + expect(hooks.onDeleteSkill).not.toHaveBeenCalled(); + + fireEvent.click(screen.getAllByRole("button", { name: "Delete" }).at(-1)!); + await waitFor(() => + expect(hooks.onDeleteSkill).toHaveBeenCalledWith("shared:trace-lens"), + ); + }); +}); diff --git a/frontend/src/features/skills/screens/SkillsInUsePage.tsx b/frontend/src/features/skills/screens/SkillsInUsePage.tsx new file mode 100644 index 0000000..b93eee7 --- /dev/null +++ b/frontend/src/features/skills/screens/SkillsInUsePage.tsx @@ -0,0 +1,290 @@ +import { useMemo, useState } from "react"; +import { Columns3, FolderPlus, LayoutGrid, Rows3 } from "lucide-react"; +import { Link } from "react-router-dom"; + +import { SkillActionConfirmDialog } from "../components/dialogs/SkillActionConfirmDialog"; +import { FilterBar } from "../../../components/FilterBar"; +import { LoadingSpinner } from "../../../components/LoadingSpinner"; +import { PageHeader } from "../../../components/PageHeader"; +import { useToast } from "../../../components/Toast"; +import { SelectionMenu } from "../../../components/ui/SelectionMenu"; +import { ViewModeToggle, type ViewModeOption } from "../../../components/ViewModeToggle"; +import { BoardView } from "../components/board/BoardView"; +import { SkillsInUseList } from "../components/cards/SkillsInUseList"; +import { MatrixView } from "../components/matrix/MatrixView"; +import { SkillsEmptyState } from "../components/pane/SkillsEmptyState"; +import { useSkillsInUseSession } from "../model/session"; +import { + filterSkillsInUseRows, + hasActiveSkillsInUseFilters, +} from "../model/selectors"; +import { useInUseViewMode, type InUseViewMode } from "../model/useInUseViewMode"; +import { useSkillsWorkspace } from "../model/workspace-context"; +import type { SkillListRow } from "../model/types"; + +type InUsePillValue = "all" | "enabled" | "all-harnesses" | "off"; + +const PILL_LABELS: Record = { + all: "All", + enabled: "Enabled", + "all-harnesses": "Enabled on all", + off: "Off", +}; + +const VIEW_MODE_OPTIONS: readonly ViewModeOption[] = [ + { value: "grid", label: "Grid", icon: LayoutGrid }, + { value: "board", label: "Board", icon: Columns3 }, + { value: "matrix", label: "Matrix", icon: Rows3 }, +]; + +function countEnabledCells(row: SkillListRow): number { + return row.cells.filter((cell) => cell.state === "enabled").length; +} + +function applyPillFilter(rows: SkillListRow[], pill: InUsePillValue, harnessCount: number): SkillListRow[] { + if (pill === "all") return rows; + if (pill === "enabled") return rows.filter((row) => countEnabledCells(row) > 0); + if (pill === "all-harnesses") return rows.filter((row) => countEnabledCells(row) === harnessCount && harnessCount > 0); + if (pill === "off") return rows.filter((row) => countEnabledCells(row) === 0); + return rows; +} + +export default function SkillsInUsePage() { + const { + data, + status, + pendingToggleKeys, + pendingStructuralActions, + selectedSkillRef, + multiSelectedRefs, + onOpenSkill, + onToggleCell, + onToggleMultiSelect, + onClearMultiSelect, + onSetSkillAllHarnesses, + onSetManySkillsAllHarnesses, + onRemoveSkill, + onDeleteSkill, + isInitialLoading, + } = useSkillsWorkspace(); + const { filters, updateFilters, resetFilters } = useSkillsInUseSession(); + const { toast } = useToast(); + const [pill, setPill] = useState("all"); + const [viewMode, setViewMode] = useInUseViewMode(); + const [pendingConfirm, setPendingConfirm] = useState<{ + action: "unmanage" | "delete"; + skillRef: string; + skillName: string; + harnessLabels: string[]; + } | null>(null); + + const baseRows = useMemo(() => filterSkillsInUseRows(data, filters), [data, filters]); + + const harnessCount = data?.harnessColumns.length ?? 0; + // The pill filter only applies in Grid view. Board view already answers the + // "coverage" question visually via its columns, so re-applying the pill would + // collapse the board to a single column and invite confusion. We preserve the + // pill state so a user flipping back to Grid keeps their prior filter. + const rows = useMemo( + () => (viewMode === "grid" ? applyPillFilter(baseRows, pill, harnessCount) : baseRows), + [baseRows, pill, harnessCount, viewMode], + ); + + const pillCounts: Record = useMemo(() => { + return { + all: baseRows.length, + enabled: baseRows.filter((r) => countEnabledCells(r) > 0).length, + "all-harnesses": baseRows.filter((r) => countEnabledCells(r) === harnessCount && harnessCount > 0).length, + off: baseRows.filter((r) => countEnabledCells(r) === 0).length, + }; + }, [baseRows, harnessCount]); + const pillOptions = useMemo( + () => + (["all", "enabled", "all-harnesses", "off"] as const).map((value) => ({ + value, + label: PILL_LABELS[value], + meta: pillCounts[value], + })), + [pillCounts], + ); + + const hasActiveFilters = + hasActiveSkillsInUseFilters(filters) || (viewMode === "grid" && pill !== "all"); + const hasInUseInventory = (data?.summary.managed ?? 0) > 0; + const isReady = status === "ready" && Boolean(data); + const pendingConfirmAction = + pendingConfirm === null + ? null + : pendingStructuralActions.get(pendingConfirm.skillRef) ?? null; + + function enabledHarnessLabels(row: SkillListRow): string[] { + return row.cells + .filter((cell) => cell.state === "enabled") + .map((cell) => cell.label); + } + + function requestSkillConfirm(action: "unmanage" | "delete", row: SkillListRow): void { + setPendingConfirm({ + action, + skillRef: row.skillRef, + skillName: row.name, + harnessLabels: enabledHarnessLabels(row), + }); + } + + async function handleConfirmAction(): Promise { + if (!pendingConfirm) { + return; + } + try { + if (pendingConfirm.action === "unmanage") { + await onRemoveSkill(pendingConfirm.skillRef); + } else { + await onDeleteSkill(pendingConfirm.skillRef); + } + setPendingConfirm(null); + } catch { + // The workspace controller already routes list-surface failures into the + // shared action error banner; keep the dialog open so the user can retry. + } + } + + return ( + <> +
    + + + + + } + /> + + updateFilters({ search })} + searchPlaceholder="Search by name, tag, description..." + searchLabel="Search skills in use" + trailing={ + viewMode === "grid" ? ( + + ) : undefined + } + /> +
    + + {isInitialLoading ? ( +
    + +
    + ) : status === "error" ? ( +
    Unable to load skills in use.
    + ) : isReady && data ? ( + <> + {rows.length > 0 ? ( + viewMode === "board" ? ( + + ) : viewMode === "matrix" ? ( + + ) : ( + requestSkillConfirm("unmanage", row)} + onRequestDelete={(row) => requestSkillConfirm("delete", row)} + /> + ) + ) : hasInUseInventory || hasActiveFilters ? ( + { + resetFilters(); + setPill("all"); + }} /> + ) : ( +
    +

    No skills in use yet

    +

    + Review local skill folders or install something from the marketplace to start controlling harness + coverage here. +

    +
    + + Review items + + + Open Marketplace + +
    +
    + )} + + + ) : null} + + {pendingConfirm ? ( + { + if (!open) { + setPendingConfirm(null); + } + }} + onConfirm={handleConfirmAction} + /> + ) : null} + + ); +} diff --git a/frontend/src/features/skills/screens/SkillsNeedsReviewPage.tsx b/frontend/src/features/skills/screens/SkillsNeedsReviewPage.tsx new file mode 100644 index 0000000..1b490c9 --- /dev/null +++ b/frontend/src/features/skills/screens/SkillsNeedsReviewPage.tsx @@ -0,0 +1,113 @@ +import { useMemo } from "react"; +import { Link } from "react-router-dom"; + +import { FilterBar } from "../../../components/FilterBar"; +import { LoadingSpinner } from "../../../components/LoadingSpinner"; +import { PageHeader } from "../../../components/PageHeader"; +import { SkillsNeedsReviewList } from "../components/cards/SkillsNeedsReviewList"; +import { SkillsEmptyState } from "../components/pane/SkillsEmptyState"; +import { useSkillsWorkspace } from "../model/workspace-context"; +import { + countAdoptableLocalSkillRows, + countNeedsReviewRows, + filterNeedsReviewRows, + hasActiveNeedsReviewFilters, +} from "../model/selectors"; +import { useSkillsNeedsReviewSession } from "../model/session"; + +export default function SkillsNeedsReviewPage() { + const { + data, + status, + pendingStructuralActions, + pendingBulkAction, + selectedSkillRef, + onManageAll, + onManageSkill, + onOpenSkill, + isInitialLoading, + } = useSkillsWorkspace(); + const { filters, updateFilters, resetFilters } = useSkillsNeedsReviewSession(); + + const rows = useMemo(() => filterNeedsReviewRows(data, filters), [data, filters]); + const hasActiveFilters = useMemo(() => hasActiveNeedsReviewFilters(filters), [filters]); + const needsReviewCount = useMemo(() => countNeedsReviewRows(data), [data]); + const adoptableCount = useMemo(() => countAdoptableLocalSkillRows(data), [data]); + const isReady = status === "ready" && Boolean(data); + + return ( + <> +
    + 0 + ? `${needsReviewCount} skill${needsReviewCount === 1 ? "" : "s"} need${needsReviewCount === 1 ? "s" : ""} a review decision.` + : "No local skill folders need review across your harnesses." + } + actions={ + + } + /> + + {needsReviewCount > 0 ? ( + updateFilters({ search })} + searchPlaceholder="Search skills to review..." + searchLabel="Search skills to review" + /> + ) : null} +
    + + {isInitialLoading ? ( +
    + +
    + ) : status === "error" ? ( +
    Unable to load skills to review.
    + ) : isReady && data ? ( + rows.length > 0 ? ( + + ) : needsReviewCount > 0 ? ( + + ) : ( +
    +

    Nothing needs review

    +

    + Your local harness folders are either already in use through Skill Manager or currently empty. Install + from the marketplace to add new skills. +

    +
    + + Open Marketplace + +
    +
    + ) + ) : null} + + {hasActiveFilters && rows.length === 0 ? null : null} + + ); +} diff --git a/frontend/src/features/skills/screens/SkillsWorkspacePage.tsx b/frontend/src/features/skills/screens/SkillsWorkspacePage.tsx index 84bb40b..f21d429 100644 --- a/frontend/src/features/skills/screens/SkillsWorkspacePage.tsx +++ b/frontend/src/features/skills/screens/SkillsWorkspacePage.tsx @@ -1,10 +1,8 @@ import { Outlet } from "react-router-dom"; +import { BulkActionBar } from "../../../components/BulkActionBar"; import { ErrorBanner } from "../../../components/ErrorBanner"; -import { SkillDetailDrawer } from "../components/detail/SkillDetailDrawer"; -import { SkillDetailPanel } from "../components/detail/SkillDetailPanel"; -import { SkillsPaneTransition } from "../components/pane/SkillsPaneTransition"; -import { SkillsWorkspaceTabs } from "../components/pane/SkillsWorkspaceTabs"; +import { SkillDetailModal } from "../components/detail/SkillDetailModal"; import { pendingToggleHarnessesForSkill } from "../model/pending"; import { useSkillsWorkspaceController } from "../model/use-skills-workspace-controller"; @@ -13,22 +11,18 @@ export default function SkillsWorkspacePage() { context, activeTab, selectedSkillRef, - isMobileDetail, isDesktopDetailOpen, - shouldAnimatePaneTransition, - transitionDirection, actionErrorMessage, queryErrorMessage, closeSelectedSkill, handleManageSkill, handleToggleSkill, handleUpdateSkill, - handleUnmanageSkill, + handleRemoveSkill, handleDeleteSkill, dismissActionError, } = useSkillsWorkspaceController(); - const data = context.data; const hasData = context.hasData; const selectedPendingToggleHarnesses = selectedSkillRef ? pendingToggleHarnessesForSkill(context.pendingToggleKeys, selectedSkillRef) @@ -39,69 +33,46 @@ export default function SkillsWorkspacePage() { return ( <> -
    -
    -
    -
    -
    -
    -
    -
    -

    Skills

    - -
    -
    -
    - - {actionErrorMessage ? ( - - ) : null} - {!actionErrorMessage && hasData && queryErrorMessage ? ( - - ) : null} -
    - -
    - - - -
    -
    -
    - {!isMobileDetail ? ( - - ) : null} -
    -
    + {actionErrorMessage ? ( + + ) : null} + {!actionErrorMessage && hasData && queryErrorMessage ? ( + + ) : null} + - {isMobileDetail ? ( - ) : null} + + ); } diff --git a/frontend/src/features/skills/screens/UnmanagedSkillsPage.tsx b/frontend/src/features/skills/screens/UnmanagedSkillsPage.tsx deleted file mode 100644 index dddb6a3..0000000 --- a/frontend/src/features/skills/screens/UnmanagedSkillsPage.tsx +++ /dev/null @@ -1,98 +0,0 @@ -import { useMemo, useRef } from "react"; -import { Link } from "react-router-dom"; - -import { LoadingSpinner } from "../../../components/LoadingSpinner"; -import { UnmanagedSkillsList } from "../components/cards/UnmanagedSkillsList"; -import { BulkManageHelp } from "../components/harness/BulkManageHelp"; -import { SkillsEmptyState } from "../components/pane/SkillsEmptyState"; -import { SkillsPaneScaffold } from "../components/pane/SkillsPaneScaffold"; -import { useSkillsWorkspace } from "../model/workspace-context"; -import { countManageableUnmanagedRows, countUnmanagedRows, filterUnmanagedRows, hasActiveUnmanagedFilters } from "../model/selectors"; -import { useSkillsTabScroll, useUnmanagedSkillsSession } from "../model/session"; - -export default function UnmanagedSkillsPage() { - const { - data, - status, - pendingStructuralActions, - pendingBulkAction, - selectedSkillRef, - onManageAll, - onManageSkill, - onOpenSkill, - isInitialLoading, - } = useSkillsWorkspace(); - const { filters, updateFilters, resetFilters } = useUnmanagedSkillsSession(); - const scrollRef = useRef(null); - - useSkillsTabScroll("unmanaged", status === "ready", scrollRef); - - const rows = useMemo(() => filterUnmanagedRows(data, filters), [data, filters]); - const hasActiveFilters = useMemo(() => hasActiveUnmanagedFilters(filters), [filters]); - const unmanagedCount = useMemo(() => countUnmanagedRows(data), [data]); - const manageableCount = useMemo(() => countManageableUnmanagedRows(data), [data]); - const isReady = status === "ready" && Boolean(data); - - return ( - - - - - } - searchValue={filters.search} - hasActiveFilters={hasActiveFilters} - onSearchChange={(search) => updateFilters({ search })} - onReset={resetFilters} - searchLabel="Unmanaged skills filters" - searchInputLabel="Search unmanaged skills" - searchPlaceholder="Search unmanaged skills by name, description, or tool" - scrollRef={scrollRef} - isReady={isReady} - isInitialLoading={isInitialLoading} - hasError={status === "error"} - loadingLabel="Loading unmanaged skills" - errorMessage="Unable to load unmanaged skills." - > - {isReady && data ? ( - <> - {rows.length > 0 ? ( - - ) : unmanagedCount > 0 ? ( - - ) : ( -
    -
    -

    Nothing waiting for management

    -

    No local discoveries need action right now.

    -

    Your local tool folders are either already managed or currently empty.

    -
    -
    - - Open Marketplace - -
    -
    - )} - - ) : null} -
    - ); -} diff --git a/frontend/src/features/skills/styles/board.css b/frontend/src/features/skills/styles/board.css new file mode 100644 index 0000000..e0a3873 --- /dev/null +++ b/frontend/src/features/skills/styles/board.css @@ -0,0 +1,180 @@ +@layer features { + +/* -------------------------------------------------------------------------- */ +/* Skill board (Kanban view) */ +/* -------------------------------------------------------------------------- */ + +.skill-board { + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + gap: var(--space-5); +} + +@media (max-width: 900px) { + .skill-board { + grid-template-columns: minmax(0, 1fr); + } +} + +/* Outer slot: carries the droppable ref, stretches to match the tallest + column's height so a drag from a deep row still has a valid target + everywhere across the lane. Inner `.board-column` stays natural height. */ +.board-column-slot { + display: flex; + flex-direction: column; +} + +.board-column-slot > .board-column { + flex: 0 0 auto; +} + +.board-column { + display: flex; + flex-direction: column; + gap: var(--space-4); + padding: var(--space-4); + border-radius: var(--radius-md); + background: var(--color-surface-sunken); + min-height: 220px; +} + +.board-column--selective { + background: transparent; + border: 1px dashed var(--color-border-strong); +} + +.board-column__head { + display: flex; + flex-direction: column; + gap: var(--space-1); + padding: 0 var(--space-1); +} + +.board-column__title-row { + display: flex; + align-items: center; + justify-content: space-between; + gap: var(--space-3); +} + +.board-column__title { + margin: 0; + font-size: var(--font-size-md); + font-weight: 600; + color: var(--color-text); +} + +.board-column__count { + display: inline-flex; + align-items: center; + justify-content: center; + min-width: 22px; + height: 22px; + padding: 0 var(--space-2); + border-radius: var(--radius-pill); + background: var(--color-surface-raised); + color: var(--color-text-muted); + font-size: var(--font-size-xs); + font-weight: 600; +} + +.board-column__description { + margin: 0; + font-size: var(--font-size-xs); + color: var(--color-text-muted); + line-height: 1.4; +} + +.board-column__body { + display: flex; + flex-direction: column; + gap: var(--space-3); +} + +.board-column__empty { + margin: 0; + padding: var(--space-5) var(--space-3); + font-size: var(--font-size-sm); + color: var(--color-text-muted); + text-align: center; + line-height: 1.5; +} + +.skill-card--board { + min-height: 0; + padding: var(--space-4); + gap: var(--space-2); + background: var(--color-surface); + touch-action: none; + user-select: none; + transition: background 120ms ease, box-shadow 120ms ease, transform 120ms ease, opacity 120ms ease; +} + +.skill-card--board[data-dragging="true"] { + cursor: grabbing; + box-shadow: var(--shadow-lift); + background: var(--color-surface-raised); + z-index: 2; +} + +.skill-card--board[data-pending="true"] { + opacity: 0.65; + pointer-events: none; +} + +.skill-card__description--compact { + -webkit-line-clamp: 2; +} + +/* Column drop feedback — attributes live on the slot so the full lane is + the droppable, but the visual treatment applies to the inner column card. */ +.board-column { + transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease; +} + +.board-column-slot[data-drop-active="true"] > .board-column { + background: var(--color-surface-raised); + box-shadow: inset 0 0 0 1px var(--color-accent); +} + +.board-column-slot[data-drag-global="true"][data-drop-target="false"] > .board-column { + opacity: 0.55; +} + +/* Multi-drag badge on the dragged card */ +.skill-card__multi-badge { + position: absolute; + top: -8px; + right: -8px; + min-width: 22px; + height: 22px; + padding: 0 var(--space-2); + display: inline-flex; + align-items: center; + justify-content: center; + border-radius: var(--radius-pill); + background: var(--color-accent); + color: var(--color-text-inverted); + font-size: var(--font-size-xs); + font-weight: 600; + box-shadow: var(--shadow-sm); + pointer-events: none; +} + +.skill-card--board[data-multi-drag="true"] { + position: relative; +} + +/* Stack effect: small offset duplicate peeking behind the dragged card */ +.skill-card--board[data-multi-drag="true"]::before { + content: ""; + position: absolute; + inset: 6px -6px -6px 6px; + border-radius: var(--radius-md); + background: var(--color-surface-raised); + box-shadow: var(--shadow-sm); + z-index: -1; + pointer-events: none; +} + +} diff --git a/frontend/src/features/skills/styles/cards.css b/frontend/src/features/skills/styles/cards.css deleted file mode 100644 index b73435c..0000000 --- a/frontend/src/features/skills/styles/cards.css +++ /dev/null @@ -1,217 +0,0 @@ -.skill-card { - display: grid; - grid-template-columns: minmax(0, 1fr) auto; - gap: 18px; - align-items: start; - padding: 16px; - border: 1px solid var(--color-border); - border-radius: var(--radius); - background: rgba(15, 17, 22, 0.86); - cursor: pointer; - transition: border-color 140ms ease, box-shadow 140ms ease, background 140ms ease; -} - -.skill-card__header { - display: block; -} - -.skill-card__identity { - display: grid; - gap: 4px; -} - -.skill-card__content, -.skill-card__aside, -.skill-card__action { - display: grid; - gap: 14px; -} - -.skill-card__content { - min-width: 0; -} - -.skill-card__aside { - align-content: start; - justify-items: end; -} - -.skill-card__title-row { - display: flex; - flex-wrap: wrap; - align-items: center; - gap: 8px; -} - -.skill-card__name { - padding: 0; - border: none; - background: transparent; - color: var(--color-text); - font-size: 1.28rem; - font-weight: 600; - letter-spacing: -0.03em; - text-align: left; - transition: color 120ms ease; -} - -.skill-card__name:hover { - color: var(--color-accent); -} - -.skill-card:hover { - border-color: rgba(240, 163, 107, 0.28); - background: rgba(18, 22, 29, 0.92); -} - -.skill-card.is-selected { - border-color: rgba(240, 163, 107, 0.42); - box-shadow: 0 0 0 1px rgba(240, 163, 107, 0.16); - background: rgba(19, 24, 31, 0.94); -} - -.skill-status-indicator__trigger { - cursor: help; - transition: box-shadow 120ms ease, transform 120ms ease; -} - -.skill-status-indicator__trigger:focus-visible { - outline: none; - box-shadow: 0 0 0 3px rgba(243, 201, 105, 0.18); -} - -.skill-status-popover { - z-index: 50; - width: min(260px, calc(100vw - 32px)); - padding: 12px 14px; - border: 1px solid rgba(243, 201, 105, 0.28); - border-radius: var(--radius-sm); - background: rgba(14, 17, 22, 0.98); - box-shadow: var(--shadow-panel); -} - -.skill-status-popover__title, -.skill-status-popover__copy { - margin: 0; -} - -.skill-status-popover__title { - font-family: var(--font-mono); - font-size: 0.72rem; - letter-spacing: 0.06em; - text-transform: uppercase; - color: var(--color-warning); -} - -.skill-status-popover__copy { - margin-top: 8px; - color: var(--color-text-muted); - line-height: 1.5; -} - -.skills-help-popover { - z-index: 50; - width: min(320px, calc(100vw - 32px)); - padding: 12px 14px; - border: 1px solid rgba(255, 255, 255, 0.1); - border-radius: var(--radius-sm); - background: rgba(14, 17, 22, 0.98); - box-shadow: var(--shadow-panel); -} - -.skills-help-popover__title, -.skills-help-popover__copy { - margin: 0; -} - -.skills-help-popover__title { - font-family: var(--font-mono); - font-size: 0.72rem; - letter-spacing: 0.06em; - text-transform: uppercase; - color: var(--color-accent); -} - -.skills-help-popover__copy { - margin-top: 8px; - color: var(--color-text-muted); - line-height: 1.5; -} - - -.skill-card__action .btn { - min-width: 176px; -} - -.skill-card--unmanaged .skill-card__action--compact .btn { - min-width: 0; - padding-inline: 12px; -} - -.skill-card--unmanaged .skill-card__manage-button { - border: 1px solid rgba(240, 163, 107, 0.22); - background: rgba(240, 163, 107, 0.08); - color: var(--color-accent); -} - -.skill-card--unmanaged .skill-card__manage-button:hover { - border-color: rgba(240, 163, 107, 0.34); - background: rgba(240, 163, 107, 0.14); -} - -.skill-card__body { - display: grid; - gap: 12px; -} - -.skill-card__description { - margin: 0; -} - -.skill-card__description { - color: var(--color-text-muted); - line-height: 1.5; - display: -webkit-box; - -webkit-box-orient: vertical; - -webkit-line-clamp: 2; - overflow: hidden; -} - -.unmanaged-skills-list { - display: grid; - gap: 14px; -} - -.skills-empty-state__actions { - display: flex; - flex-wrap: wrap; - gap: 10px; - align-items: center; -} - -.skills-empty-state { - display: grid; - gap: 14px; - padding: 24px; - border: 1px dashed rgba(255, 255, 255, 0.14); - border-radius: var(--radius); - background: rgba(20, 24, 32, 0.84); -} - -.skills-empty-state__eyebrow { - margin: 0 0 6px; - font-family: var(--font-mono); - font-size: 0.72rem; - letter-spacing: 0.06em; - text-transform: uppercase; - color: var(--color-text-muted); -} - -.skills-empty-state h3, -.skills-empty-state p { - margin: 0; -} - -.skills-empty-state p { - color: var(--color-text-muted); -} diff --git a/frontend/src/features/skills/styles/detail.css b/frontend/src/features/skills/styles/detail.css index dc26aed..88b2217 100644 --- a/frontend/src/features/skills/styles/detail.css +++ b/frontend/src/features/skills/styles/detail.css @@ -1,3 +1,5 @@ +@layer features { + .skill-detail__context-heading { display: flex; align-items: flex-start; @@ -5,10 +7,37 @@ gap: 16px; } +.detail-sheet.skill-detail-modal { + grid-template-rows: auto minmax(0, 1fr) auto; + overflow: hidden; +} + +.skill-detail-shell__chrome { + min-width: 0; +} + +.skill-detail-shell__body { + min-width: 0; + min-height: 0; + overflow-y: auto; + overflow-x: hidden; + overscroll-behavior: contain; +} + +.skill-detail-shell__footer { + display: flex; + align-items: center; + justify-content: flex-end; + gap: var(--space-2); + flex-wrap: wrap; + padding-top: var(--space-4); + border-top: 1px solid var(--color-border); + background: var(--color-surface); +} + .skill-detail__chrome { display: grid; - gap: 18px; - margin-bottom: 18px; + gap: 12px; } .skill-detail__header { @@ -107,189 +136,10 @@ box-shadow: 0 0 0 3px rgba(240, 163, 107, 0.18); } -.skill-detail__eyebrow { - margin: 0; - font-family: var(--font-mono); - font-size: 0.72rem; - letter-spacing: 0.08em; - text-transform: uppercase; - color: var(--color-accent); -} - -.skill-detail__source-row { - display: flex; - flex-wrap: wrap; - align-items: center; - gap: 10px 14px; - min-width: 0; -} - -.skill-detail__source-label { - display: inline-flex; - align-items: center; - gap: 8px; - font-family: var(--font-mono); - font-size: 0.7rem; - letter-spacing: 0.08em; - text-transform: uppercase; - color: var(--color-text-muted); -} - -.skill-detail__source-links { - display: flex; - flex-wrap: wrap; - align-items: center; - gap: 10px; - min-width: 0; -} - -.skill-detail__source-link { - display: inline-flex; - align-items: center; - gap: 6px; - min-height: 28px; - padding: 0 10px; - border: 1px solid rgba(255, 255, 255, 0.08); - border-radius: 999px; - background: rgba(18, 22, 30, 0.62); - color: var(--color-text-muted); - transition: border-color 120ms ease, background 120ms ease, color 120ms ease, transform 120ms ease; -} - -.skill-detail__source-link:hover { - border-color: rgba(240, 163, 107, 0.28); - background: rgba(240, 163, 107, 0.09); - color: var(--color-text); - transform: translateY(-1px); -} - -.skill-detail__source-link--repo { - color: var(--color-accent); -} - -.skill-detail__source-link--repo:hover { - color: var(--color-accent); -} - -.skill-detail__harness-section { - box-sizing: border-box; - display: grid; - gap: 12px; - padding: 14px 16px; - border: 1px solid rgba(255, 255, 255, 0.08); - border-radius: 14px; - background: - linear-gradient(180deg, rgba(24, 29, 39, 0.96), rgba(18, 22, 30, 0.94)), - rgba(18, 22, 30, 0.92); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04); - width: 100%; -} - -.skill-detail__harness-eyebrow { - margin: 0; - font-family: var(--font-mono); - font-size: 0.68rem; - letter-spacing: 0.08em; - text-transform: uppercase; - color: var(--color-text-muted); -} - -.skill-detail__harness-grid { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); - gap: 10px; -} - -.skill-detail__harness-card { - display: grid; - gap: 10px; - align-content: start; - justify-items: center; - min-width: 0; - padding: 12px 10px; - border: 1px solid rgba(255, 255, 255, 0.06); - border-radius: 12px; - background: rgba(12, 15, 21, 0.58); -} - -.skill-detail__harness-label { - margin: 0; - font-family: var(--font-mono); - font-size: 0.68rem; - letter-spacing: 0.06em; - text-transform: uppercase; - color: var(--color-text-muted); - text-align: center; -} - -.skill-detail__harness-mark { - display: inline-flex; - align-items: center; - justify-content: center; - min-height: 42px; -} - -.skill-detail__harness-control { - display: grid; - gap: 6px; - justify-items: center; - min-height: 26px; -} - -.skill-detail__body { - display: grid; - gap: 20px; -} - -.skill-detail__status, -.skill-detail__primary-actions, -.skill-detail__badge-row { - display: grid; - gap: 14px; -} - -.skill-detail__body--skeleton { - gap: 24px; -} - -.skill-detail__actions { - display: flex; - align-items: center; - flex-wrap: wrap; - gap: 12px; -} - .skill-detail__update-control { min-width: 170px; } -.skill-detail__action-row { - display: flex; - align-items: flex-start; - justify-content: space-between; - gap: 16px; -} - -.skill-detail__action-trailing { - display: flex; - align-items: flex-start; - gap: 12px; - justify-content: flex-end; -} - -.skill-detail__action-trailing .btn, -.skill-detail__action-trigger .btn { - min-width: 132px; -} - -.skill-detail__action-trigger { - display: inline-flex; -} - -.skill-detail__action-trigger:focus-visible { - outline: none; -} - .skill-detail__fallback { display: grid; gap: 14px; @@ -312,15 +162,6 @@ color: var(--color-text-muted); } -.skill-detail__alert { - margin-top: 12px; - padding: 12px 14px; - border: 1px solid rgba(240, 141, 121, 0.42); - border-radius: var(--radius); - background: var(--color-danger-soft); - color: var(--color-danger); -} - .skill-detail__context, .skill-detail__disclosure { padding-top: 16px; @@ -382,6 +223,10 @@ gap: 0; } +.skill-detail-disclosure__header { + margin: 0; +} + .skill-detail-disclosure__trigger { display: flex; align-items: center; @@ -401,14 +246,6 @@ gap: 6px; } -.skill-detail-disclosure__eyebrow { - font-family: var(--font-mono); - font-size: 0.68rem; - letter-spacing: 0.08em; - text-transform: uppercase; - color: var(--color-text-muted); -} - .skill-detail-disclosure__title { color: var(--color-text); font-size: 1rem; @@ -444,16 +281,13 @@ overflow: hidden; } -.skill-detail__disclosure--document .skill-detail-disclosure__eyebrow { - color: var(--color-accent); -} - .skill-detail__disclosure--document .skill-detail-disclosure__title { font-size: 1.08rem; } .skill-detail__document-surface { min-width: 0; + max-width: 100%; padding: 20px 22px; border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 12px; @@ -461,6 +295,7 @@ linear-gradient(180deg, rgba(24, 28, 36, 0.94), rgba(18, 22, 30, 0.92)), rgba(18, 22, 30, 0.92); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04); + overflow: hidden; } .skill-detail__markdown { @@ -537,7 +372,7 @@ overflow-x: auto; padding: 14px 16px; border: 1px solid rgba(255, 255, 255, 0.08); - border-radius: var(--radius); + border-radius: var(--radius-md); background: rgba(10, 13, 18, 0.94); } @@ -549,6 +384,10 @@ .skill-detail__markdown table { width: 100%; border-collapse: collapse; + /* Wide tables scroll inside the surface, not the modal. */ + display: block; + overflow-x: auto; + max-width: 100%; } .skill-detail__markdown th, @@ -563,3 +402,5 @@ color: var(--color-text); background: rgba(255, 255, 255, 0.04); } + +} diff --git a/frontend/src/features/skills/styles/harness.css b/frontend/src/features/skills/styles/harness.css deleted file mode 100644 index af7a173..0000000 --- a/frontend/src/features/skills/styles/harness.css +++ /dev/null @@ -1,161 +0,0 @@ -.skill-card__harnesses { - min-width: 0; -} - -.skill-harness-cluster { - display: flex; - align-items: center; - gap: 14px; -} - -.skill-harness-cluster__items { - display: flex; - flex-wrap: wrap; - gap: 6px; -} - -.skill-harness-cluster__item { - display: grid; - gap: 8px; - justify-items: center; - min-width: 46px; -} - -.skill-harness-cluster__tool { - display: inline-flex; - align-items: center; - justify-content: center; - min-height: 42px; -} - -.skill-harness-mark { - min-width: 0; -} - -.skill-harness-mark--text { - font-family: var(--font-mono); - font-size: 0.7rem; - letter-spacing: 0.06em; - text-transform: uppercase; - color: var(--color-text-muted); -} - -.skill-harness-mark--logo { - width: auto; -} - -.skill-harness-mark__logo { - display: block; - width: auto; - height: 42px; - max-width: 96px; -} - -.skill-harness-cluster__control { - display: grid; - gap: 6px; - justify-items: center; -} - -.harness-state-chip { - display: inline-flex; - align-items: center; - justify-content: center; - min-width: 54px; - height: 26px; - padding: 0 12px; - box-sizing: border-box; - appearance: none; - -webkit-appearance: none; - border: none; - border-radius: 999px; - background: rgba(28, 33, 40, 0.98); - box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05); - color: #bcc4ce; - cursor: pointer; - transition: - background 140ms ease, - color 140ms ease, - box-shadow 140ms ease, - transform 140ms ease; -} - -.harness-state-chip:hover { - background: rgba(32, 38, 46, 0.98); - box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08); - color: #d4dbe4; -} - -.harness-state-chip:focus-visible { - outline: none; - box-shadow: - inset 0 0 0 1px rgba(255, 255, 255, 0.08), - 0 0 0 3px rgba(107, 194, 164, 0.16); -} - -.harness-state-chip[data-state="checked"] { - background: rgba(34, 68, 58, 0.98); - box-shadow: inset 0 0 0 1px rgba(189, 241, 221, 0.08); - color: #e3fbf2; -} - -.harness-state-chip[data-state="checked"]:hover { - background: rgba(39, 75, 64, 0.98); - box-shadow: inset 0 0 0 1px rgba(198, 246, 227, 0.1); - color: #effff8; -} - -.harness-state-chip[data-disabled] { - cursor: not-allowed; - opacity: 0.55; -} - -.harness-state-chip[data-pending] { - gap: 6px; -} - -.harness-state-chip .spinner { - flex-shrink: 0; -} - -.harness-state-chip--static { - cursor: default; -} - -.harness-state-chip--static:hover { - transform: none; -} - -.harness-state-chip--found { - background: rgba(34, 68, 58, 0.98); - box-shadow: inset 0 0 0 1px rgba(189, 241, 221, 0.08); - color: #e3fbf2; -} - -.harness-state-chip--found:hover { - background: rgba(34, 68, 58, 0.98); - box-shadow: inset 0 0 0 1px rgba(189, 241, 221, 0.08); - color: #e3fbf2; -} - -.harness-state-chip--empty, -.harness-state-chip--builtin { - background: rgba(28, 33, 40, 0.98); - box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05); - color: #a5b0bc; -} - -.harness-state-chip--empty:hover, -.harness-state-chip--builtin:hover { - background: rgba(28, 33, 40, 0.98); - box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05); - color: #a5b0bc; -} - -.harness-state-chip__label { - font-family: var(--font-sans); - font-size: 0.72rem; - font-weight: 600; - letter-spacing: 0.005em; - line-height: 1; -} diff --git a/frontend/src/features/skills/styles/index.css b/frontend/src/features/skills/styles/index.css deleted file mode 100644 index 46ea706..0000000 --- a/frontend/src/features/skills/styles/index.css +++ /dev/null @@ -1,6 +0,0 @@ -@import "./workspace.css"; -@import "./pane.css"; -@import "./cards.css"; -@import "./detail.css"; -@import "./harness.css"; -@import "./responsive.css"; diff --git a/frontend/src/features/skills/styles/pane.css b/frontend/src/features/skills/styles/pane.css deleted file mode 100644 index 7278ee8..0000000 --- a/frontend/src/features/skills/styles/pane.css +++ /dev/null @@ -1,194 +0,0 @@ -.skills-pane { - flex: 1 1 auto; - display: grid; - grid-template-rows: auto minmax(0, 1fr); - gap: 16px; - height: 100%; - min-height: 0; - overflow: hidden; -} - -.skills-pane__chrome { - --skills-pane-header-row-height: 38px; - --skills-pane-control-height: 38px; - --skills-pane-row-gap: 16px; - --skills-pane-action-gap: 10px; - display: grid; - gap: var(--skills-pane-row-gap); - padding-right: 6px; - container-type: inline-size; -} - -.skills-pane__scroll { - min-height: 0; - overflow-y: auto; - overscroll-behavior: contain; - padding-right: 6px; -} - -.skills-pane__content { - display: grid; - gap: 18px; - padding-bottom: 18px; -} - -.skills-pane__state { - min-height: 100%; -} - -.skills-pane__header { - display: grid; - grid-template-columns: minmax(0, 1fr) auto; - gap: 20px; - align-items: center; - min-height: var(--skills-pane-header-row-height); -} - -.skills-pane__header-copy { - min-width: 0; - min-height: var(--skills-pane-header-row-height); - display: flex; - align-items: center; -} - -.skills-secondary-section__header { - display: grid; - grid-template-columns: minmax(0, 1fr) auto; - gap: 20px; - align-items: start; -} - -.skills-pane__header h3 { - margin: 0; - font-size: 1.18rem; - letter-spacing: -0.03em; -} - -.skills-secondary-section__header h4 { - margin: 0; - font-size: 1.18rem; - letter-spacing: -0.03em; -} - -.skills-pane__header-actions { - display: inline-flex; - align-items: center; - gap: var(--skills-pane-action-gap); - flex-wrap: nowrap; - justify-content: flex-end; - min-height: var(--skills-pane-header-row-height); -} - -.skills-pane__header-actions > * { - flex: 0 0 auto; -} - -.skills-secondary-section__eyebrow { - margin: 0 0 8px; - font-size: 0.72rem; - color: var(--color-text-muted); -} - -.skills-secondary-section__header p { - margin: 10px 0 0; - color: var(--color-text-muted); -} - -.skills-pane__help-trigger { - padding: 0 12px; - border: 1px solid rgba(255, 255, 255, 0.08); - background: rgba(255, 255, 255, 0.03); - color: var(--color-text-muted); - font-family: var(--font-mono); - font-size: 0.72rem; - letter-spacing: 0.06em; - text-transform: uppercase; - white-space: nowrap; - transition: border-color 120ms ease, color 120ms ease, background 120ms ease; -} - -.skills-pane__header-actions .btn, -.skills-pane__help-trigger { - min-height: var(--skills-pane-control-height); - white-space: nowrap; -} - -.skills-pane__help-trigger:hover { - border-color: rgba(240, 163, 107, 0.22); - background: rgba(240, 163, 107, 0.08); - color: var(--color-text); -} - -.skills-pane__help-trigger:focus-visible { - outline: none; - box-shadow: 0 0 0 3px rgba(240, 163, 107, 0.18); -} - -.skills-pane__search { - width: 100%; -} - -.skills-pane__search-field { - position: relative; -} - -.skills-pane__search-field input { - width: 100%; - min-height: var(--skills-pane-control-height); - border: 1px solid var(--color-border); - border-radius: var(--radius); - background: rgba(20, 24, 32, 0.88); - padding: 0 14px 0 38px; - color: var(--color-text); -} - -.skills-pane__search-field input:focus, -.skills-pane__search-field input:focus-visible { - outline: none; - border-color: rgba(240, 163, 107, 0.34); - box-shadow: 0 0 0 1px rgba(240, 163, 107, 0.2); -} - -.skills-pane__search-field.is-reset-visible input { - padding-right: 88px; -} - -.skills-pane__search-icon { - position: absolute; - top: 50%; - left: 12px; - transform: translateY(-50%); - color: var(--color-text-muted); -} - -.skills-pane__search-reset { - position: absolute; - top: 50%; - right: 8px; - transform: translateY(-50%); - display: inline-flex; - align-items: center; - gap: 6px; - min-height: 32px; - padding: 0 10px; - border: 1px solid transparent; - border-radius: var(--radius); - background: rgba(255, 255, 255, 0.04); - color: var(--color-text-muted); -} - -.skills-pane__search-reset:hover { - color: var(--color-text); -} - -.skills-list { - display: grid; - gap: 14px; -} - -.skills-secondary-section { - display: grid; - gap: 14px; - padding-top: 8px; - border-top: 1px solid rgba(255, 255, 255, 0.06); -} diff --git a/frontend/src/features/skills/styles/responsive.css b/frontend/src/features/skills/styles/responsive.css deleted file mode 100644 index 54c33e9..0000000 --- a/frontend/src/features/skills/styles/responsive.css +++ /dev/null @@ -1,156 +0,0 @@ - -@container (max-width: 960px) { - .skills-pane__header { - grid-template-columns: 1fr; - align-items: start; - } - - .skills-pane__header-copy, - .skills-pane__header-actions { - min-height: 0; - } - - .skills-pane__header-actions { - justify-content: flex-start; - flex-wrap: wrap; - } -} - -@media (max-width: 1180px) { - .skills-workspace-shell { - grid-template-columns: 1fr; - } - - .skills-pane__scroll { - padding-right: 0; - } - - .skills-pane__chrome { - padding-right: 0; - } - - .skill-detail__harness-grid { - grid-template-columns: repeat(2, minmax(0, 1fr)); - } - - .skill-detail__source-row, - .skill-detail__source-links { - align-items: flex-start; - } - - .skill-detail__title-row { - flex-direction: column; - align-items: stretch; - } - - .skill-detail__title-action { - width: 100%; - } - - .skill-detail__action-row { - flex-direction: column; - } - - .skill-detail__action-trailing, - .skill-detail__action-trigger, - .skill-detail__action-trailing .btn, - .skill-detail__action-trigger .btn { - width: 100%; - } -} - -@media (max-width: 900px) { - .skill-detail__header { - gap: 12px; - } - - .skill-detail__header-top { - gap: 12px; - } - - .skill-detail__close-button { - width: 36px; - height: 36px; - } - - .skills-pane__search-field.is-reset-visible input { - padding-right: 94px; - } - - .skills-pane__search-reset { - min-height: 40px; - } - - .skills-workspace__header, - .skills-secondary-section__header { - grid-template-columns: 1fr; - } - - .skill-card { - grid-template-columns: 1fr; - } - - .skill-card { - padding: 16px; - } - - .skill-card__action { - justify-items: stretch; - } - - .skill-card__action .btn { - width: 100%; - } - - .skill-harness-cluster { - flex-direction: column; - align-items: stretch; - } - - .skill-harness-cluster__items { - justify-content: space-between; - } - - .skill-card__aside, - .skill-card__action { - justify-items: stretch; - } - - .skill-card__action .btn, - .skills-empty-state__actions .btn { - width: 100%; - } - - .skill-card--unmanaged .skill-card__action--compact .btn { - width: auto; - justify-self: stretch; - } -} - -@keyframes skills-pane-enter-forward { - from { - opacity: 0; - transform: translateX(12px); - } - to { - opacity: 1; - transform: translateX(0); - } -} - -@keyframes skills-pane-enter-backward { - from { - opacity: 0; - transform: translateX(-12px); - } - to { - opacity: 1; - transform: translateX(0); - } -} - -@media (prefers-reduced-motion: reduce) { - .skills-pane-transition { - animation: none; - } -} diff --git a/frontend/src/features/skills/styles/workspace.css b/frontend/src/features/skills/styles/workspace.css deleted file mode 100644 index 84a3ce0..0000000 --- a/frontend/src/features/skills/styles/workspace.css +++ /dev/null @@ -1,232 +0,0 @@ -.skills-workspace-page { - display: flex; - flex: 1 1 auto; - height: 100%; - min-height: 0; - overflow: hidden; -} - -.skills-workspace-shell { - --skills-detail-column: 0px; - display: grid; - flex: 1 1 auto; - grid-template-columns: minmax(0, 1fr) var(--skills-detail-column); - gap: 0; - height: 100%; - min-height: 0; - overflow: hidden; - transition: grid-template-columns 220ms cubic-bezier(0.22, 1, 0.36, 1); -} - -.skills-workspace-shell.is-detail-open { - --skills-detail-column: clamp(540px, 41vw, 720px); -} - -.skills-workspace-shell__main { - display: block; - height: 100%; - min-width: 0; - min-height: 0; - overflow: hidden; - padding-right: 0; - transition: padding-right 220ms cubic-bezier(0.22, 1, 0.36, 1); -} - -.skills-workspace-shell.is-detail-open .skills-workspace-shell__main { - padding-right: 34px; -} - -.skills-workspace { - display: grid; - grid-template-rows: auto minmax(0, 1fr); - gap: 18px; - height: 100%; - min-height: 0; - overflow: hidden; -} - -.skills-workspace__top { - display: grid; - gap: 18px; -} - -.skills-workspace__content { - display: flex; - flex: 1 1 auto; - min-height: 0; - overflow: hidden; -} - -.skills-pane-transition { - display: flex; - flex: 1 1 auto; - height: 100%; - min-height: 0; - overflow: hidden; - animation-duration: 160ms; - animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); - animation-fill-mode: both; -} - -.skills-pane-transition--forward { - animation-name: skills-pane-enter-forward; -} - -.skills-pane-transition--backward { - animation-name: skills-pane-enter-backward; -} - -.skills-workspace__header { - display: grid; - grid-template-columns: minmax(0, 1fr) auto; - gap: 20px; - align-items: start; -} - -.skills-workspace__header-main { - min-width: 0; -} - -.skills-workspace__title-row { - display: flex; - flex-wrap: wrap; - align-items: center; - gap: 12px 18px; -} - -.skills-detail-panel { - position: relative; - align-self: start; - height: 100%; - min-width: 0; - min-height: 0; - overflow: hidden; - opacity: 0; - pointer-events: none; - transform: translateX(26px); - transition: - opacity 140ms ease, - transform 220ms cubic-bezier(0.22, 1, 0.36, 1); -} - -.skills-detail-panel::before { - content: ""; - position: absolute; - left: 0; - top: 4px; - bottom: 4px; - width: 1px; - background: linear-gradient( - to bottom, - rgba(255, 255, 255, 0), - rgba(255, 255, 255, 0.14) 12%, - rgba(255, 255, 255, 0.14) 88%, - rgba(255, 255, 255, 0) - ); - opacity: 0; - transition: opacity 180ms ease; -} - -.skills-detail-panel.is-open { - opacity: 1; - pointer-events: auto; - transform: translateX(0); -} - -.skills-detail-panel.is-open::before { - opacity: 1; -} - -.skills-detail-panel__inner { - position: relative; - height: 100%; - min-height: 0; - padding: 8px 0 12px 32px; - overflow-y: auto; - overscroll-behavior: contain; -} - -.skills-detail-panel__content, -.skills-detail-panel__placeholder { - transition: - opacity 140ms ease, - transform 140ms ease, - visibility 0s linear 140ms; -} - -.skills-detail-panel__content { - opacity: 0; - visibility: hidden; - transform: translateY(10px); -} - -.skills-detail-panel__content.is-visible { - opacity: 1; - visibility: visible; - transform: translateY(0); - transition-delay: 20ms, 20ms, 0s; -} - -.skills-detail-panel__placeholder { - opacity: 1; - transform: translateY(0); -} - -.skills-workspace__header h2 { - margin: 0; - font-size: 1.72rem; - font-weight: 600; - letter-spacing: -0.04em; -} - -.skills-workspace__tabs { - display: inline-flex; - flex-wrap: wrap; - gap: 8px; - padding: 4px; - width: fit-content; - border: 1px solid var(--color-border); - border-radius: var(--radius); - background: rgba(20, 24, 32, 0.88); -} - -.skills-workspace__tab { - display: inline-flex; - align-items: center; - gap: 10px; - min-height: 40px; - padding: 0 14px; - border: 1px solid transparent; - border-radius: var(--radius); - color: var(--color-text-muted); - transition: border-color 120ms ease, background 120ms ease, color 120ms ease; -} - -.skills-workspace__tab:hover { - color: var(--color-text); -} - -.skills-workspace__tab.is-active { - border-color: rgba(240, 163, 107, 0.42); - background: var(--color-accent-soft); - color: var(--color-accent); -} - -.skills-workspace__tab-label, -.skills-workspace__tab-count, -.skills-secondary-section__eyebrow { - font-family: var(--font-mono); - letter-spacing: 0.06em; - text-transform: uppercase; -} - -.skills-workspace__tab-label { - font-size: 0.78rem; -} - -.skills-workspace__tab-count { - display: inline-block; - color: inherit; - font-size: 0.72rem; - font-variant-numeric: tabular-nums; -} diff --git a/frontend/src/lib/product-language.ts b/frontend/src/lib/product-language.ts new file mode 100644 index 0000000..ae26c5d --- /dev/null +++ b/frontend/src/lib/product-language.ts @@ -0,0 +1,20 @@ +export const productLanguage = { + inUse: "In use", + needsReview: "Needs review", + review: "Review", + discover: "Discover", +} as const; + +export type ProductInventoryConcept = "inUse" | "needsReview"; + +export function skillStatusConcept(displayStatus: string): ProductInventoryConcept | null { + if (displayStatus === "Managed") return "inUse"; + if (displayStatus === "Unmanaged") return "needsReview"; + return null; +} + +export function mcpKindConcept(kind: string): ProductInventoryConcept | null { + if (kind === "managed") return "inUse"; + if (kind === "unmanaged") return "needsReview"; + return null; +} diff --git a/frontend/src/lib/query/flattenPages.ts b/frontend/src/lib/query/flattenPages.ts new file mode 100644 index 0000000..aa25ae7 --- /dev/null +++ b/frontend/src/lib/query/flattenPages.ts @@ -0,0 +1,22 @@ +export function flattenUniquePageItems( + data: { pages: readonly Page[] } | undefined, + keyOf: (item: T) => string, +): T[] { + if (!data) { + return []; + } + + const seen = new Set(); + const items: T[] = []; + for (const page of data.pages) { + for (const item of page.items) { + const key = keyOf(item); + if (seen.has(key)) { + continue; + } + seen.add(key); + items.push(item); + } + } + return items; +} diff --git a/frontend/src/lib/query/index.ts b/frontend/src/lib/query/index.ts new file mode 100644 index 0000000..2851469 --- /dev/null +++ b/frontend/src/lib/query/index.ts @@ -0,0 +1,3 @@ +export { flattenUniquePageItems } from "./flattenPages"; +export { queryPolicy } from "./options"; +export { useInfiniteScrollSentinel } from "./useInfiniteScrollSentinel"; diff --git a/frontend/src/lib/query/options.ts b/frontend/src/lib/query/options.ts new file mode 100644 index 0000000..424480e --- /dev/null +++ b/frontend/src/lib/query/options.ts @@ -0,0 +1,7 @@ +export function queryPolicy(staleTime: number, gcTime: number) { + return { + staleTime, + gcTime, + refetchOnWindowFocus: false, + } as const; +} diff --git a/frontend/src/lib/query/useInfiniteScrollSentinel.ts b/frontend/src/lib/query/useInfiniteScrollSentinel.ts new file mode 100644 index 0000000..0dc90e9 --- /dev/null +++ b/frontend/src/lib/query/useInfiniteScrollSentinel.ts @@ -0,0 +1,44 @@ +import { useEffect, useRef } from "react"; + +interface InfiniteScrollSentinelOptions { + enabled: boolean; + hasMore: boolean; + onLoadMore: () => Promise; + rootMargin?: string; +} + +export function useInfiniteScrollSentinel({ + enabled, + hasMore, + onLoadMore, + rootMargin = "240px", +}: InfiniteScrollSentinelOptions) { + const sentinelRef = useRef(null); + const pagingRef = useRef(false); + + useEffect(() => { + if (!enabled || !hasMore) { + return; + } + const node = sentinelRef.current; + if (!node) { + return; + } + const observer = new IntersectionObserver( + (entries) => { + if (!entries.some((entry) => entry.isIntersecting) || pagingRef.current) { + return; + } + pagingRef.current = true; + void onLoadMore().finally(() => { + pagingRef.current = false; + }); + }, + { rootMargin }, + ); + observer.observe(node); + return () => observer.disconnect(); + }, [enabled, hasMore, onLoadMore, rootMargin]); + + return sentinelRef; +} diff --git a/frontend/src/lib/usePersistentViewMode.ts b/frontend/src/lib/usePersistentViewMode.ts new file mode 100644 index 0000000..830f0a6 --- /dev/null +++ b/frontend/src/lib/usePersistentViewMode.ts @@ -0,0 +1,107 @@ +import { useCallback, useEffect, useRef, useState } from "react"; +import { useSearchParams } from "react-router-dom"; + +interface PersistentViewModeOptions { + storageKey: string; + defaultMode: T; + isValidMode: (value: unknown) => value is T; + normalizeMode?: (value: unknown) => T | null; + urlParam?: string; +} + +function resolveMode( + value: unknown, + isValidMode: (value: unknown) => value is T, + normalizeMode?: (value: unknown) => T | null, +): T | null { + if (isValidMode(value)) return value; + return normalizeMode?.(value) ?? null; +} + +function readStoredMode( + storageKey: string, + isValidMode: (value: unknown) => value is T, + normalizeMode?: (value: unknown) => T | null, +): { mode: T | null; raw: string | null } { + try { + const raw = window.localStorage.getItem(storageKey); + return { mode: resolveMode(raw, isValidMode, normalizeMode), raw }; + } catch { + return { mode: null, raw: null }; + } +} + +function writeStoredMode(storageKey: string, mode: T): void { + try { + window.localStorage.setItem(storageKey, mode); + } catch { + /* noop - storage may be unavailable */ + } +} + +export function usePersistentViewMode({ + storageKey, + defaultMode, + isValidMode, + normalizeMode, + urlParam = "view", +}: PersistentViewModeOptions): [T, (next: T) => void] { + const [searchParams, setSearchParams] = useSearchParams(); + + const initial = useRef(null); + const pendingCanonicalization = useRef<{ urlMode?: T; storageMode?: T } | null>(null); + if (initial.current === null) { + const fromUrl = searchParams.get(urlParam); + const urlMode = resolveMode(fromUrl, isValidMode, normalizeMode); + if (urlMode) { + initial.current = urlMode; + if (fromUrl !== urlMode) { + pendingCanonicalization.current = { urlMode }; + } + } else { + const stored = readStoredMode(storageKey, isValidMode, normalizeMode); + initial.current = stored.mode ?? defaultMode; + if (stored.raw && stored.mode && stored.raw !== stored.mode) { + pendingCanonicalization.current = { storageMode: stored.mode }; + } + } + } + + const [mode, setMode] = useState(initial.current as T); + + useEffect(() => { + const pending = pendingCanonicalization.current; + if (!pending) return; + pendingCanonicalization.current = null; + + if (pending.storageMode) { + writeStoredMode(storageKey, pending.storageMode); + } + if (pending.urlMode) { + const params = new URLSearchParams(searchParams); + if (pending.urlMode === defaultMode) { + params.delete(urlParam); + } else { + params.set(urlParam, pending.urlMode); + } + setSearchParams(params, { replace: true }); + } + }, [defaultMode, searchParams, setSearchParams, storageKey, urlParam]); + + const setModeExplicit = useCallback( + (next: T) => { + setMode(next); + writeStoredMode(storageKey, next); + const params = new URLSearchParams(searchParams); + if (next === defaultMode) { + params.delete(urlParam); + } else { + params.set(urlParam, next); + } + setSearchParams(params, { replace: true }); + }, + [defaultMode, searchParams, setSearchParams, storageKey, urlParam], + ); + + return [mode, setModeExplicit]; +} diff --git a/frontend/src/main.tsx b/frontend/src/main.tsx index 156edd3..30d5e2b 100644 --- a/frontend/src/main.tsx +++ b/frontend/src/main.tsx @@ -3,17 +3,24 @@ import ReactDOM from "react-dom/client"; import { BrowserRouter } from "react-router-dom"; import { App } from "./App"; -import "./styles/variables.css"; -import "./styles/reset.css"; -import "./styles/scrollbars.css"; -import "./styles/app.css"; -import "./styles/ui.css"; +import "./styles/index.css"; + +/* Feature-local CSS. + * Order preserves the original app.css feature-section sequence so in-layer + * ties resolve identically to pre-split behavior. Each file wraps its + * contents in @layer features { … }. */ import "./components/detail/index.css"; -import "./features/marketplace/styles/index.css"; -import "./features/settings/styles/index.css"; -import "./features/skills/styles/index.css"; -import "./styles/dialogs.css"; -import "./styles/drawers.css"; +import "./features/overview/styles/overview.css"; +import "./features/marketplace/styles/cards.css"; +import "./features/settings/styles/settings.css"; +import "./features/skills/styles/detail.css"; +import "./features/skills/styles/board.css"; +import "./components/matrix/matrix.css"; +import "./features/marketplace/styles/panes.css"; +import "./features/marketplace/styles/mcp-detail.css"; +import "./features/mcp/styles/pages.css"; +import "./features/mcp/styles/detail-sheet.css"; +import "./features/mcp/styles/edit-dialogs.css"; ReactDOM.createRoot(document.getElementById("root")!).render( diff --git a/frontend/src/styles/README.md b/frontend/src/styles/README.md new file mode 100644 index 0000000..193b9df --- /dev/null +++ b/frontend/src/styles/README.md @@ -0,0 +1,106 @@ +# Styles + +CSS is organized around **cascade layers** and **feature colocation**. The entry +point is `styles/index.css`; everything else is discovered through it or via +feature-local imports in `main.tsx`. + +## Layer order + +Declared once in `styles/index.css`, low → high priority: + +``` +reset → tokens → base → components → features → utilities → overrides +``` + +Lower layers lose to higher layers regardless of source order. Source order +only resolves ties *within* a layer. Cross-layer cascade is locked — moving a +file in the import list cannot silently change which rule wins. + +## Where new rules belong + +| New rule styles… | Goes in… | Layer | +|---|---|---| +| an element reset | `styles/reset.css` | `reset` | +| a design token (custom property) | `styles/tokens.css` | `tokens` | +| html / body / scrollbars / selection | `styles/scrollbars.css` or new file in `styles/` | `base` | +| a shared primitive used in ≥ 2 features (e.g. buttons, cards, dialogs) | `styles/components/.css` | `components` | +| a screen or widget inside one feature | `features//styles/.css` | `features` | +| a cross-cutting helper class (e.g. `.muted-text`) | `styles/utilities.css` | `utilities` | +| an emergency override | `styles/overrides.css` (create if missing) | `overrides` | + +## File conventions + +- Wrap each file's contents in `@layer { … }`. +- Kebab-case filenames, one topic per file (`sidebar.css`, not `layout.css`). +- Class names: BEM-ish (`block__elem--mod`). No IDs. +- No `!important` outside the `overrides` layer. +- A feature's CSS never imports another feature's CSS. Share primitives + through `components/` instead. + +## Adding files + +- **Shared primitive**: create `styles/components/.css`, wrap in + `@layer components { … }`, then add an `@import "./components/.css";` + to `styles/index.css`. +- **Feature-specific style**: create `features//styles/.css`, + wrap in `@layer features { … }`, then add + `import "./features//styles/.css";` to `main.tsx`. + +## Current layout + +``` +frontend/src/styles/ + index.css # layer declaration + @import wiring + reset.css # reset layer + tokens.css # tokens layer (design tokens / custom properties) + scrollbars.css # base layer + utilities.css # utilities layer + dialogs.css # components layer (Radix dialog styles) + components/ # components layer — one file per primitive + buttons.css + bulk-bar.css + cards.css # generic .skill-card + grid (both skills + MCP cards extend it) + chips.css # chips + status badges + empty-panel.css # shared empty-state panel + harness.css # shared single-harness avatar primitive + note.css # shared in-body highlight/note surface + error-banner.css + filter.css # filter bar, pill group, filter trigger + page.css # app shell, page header, page chrome + popup.css # tooltip, hovercard, and popup-menu surfaces + sidebar.css # sidebar + nav magic-bar + spinner.css + toast.css + view-mode-toggle.css + +frontend/src/features/ + skills/styles/ # all in features layer + board.css + detail.css # also contains the shared skill-detail modal shell + list.css # needs-review skill rows + mcp/styles/ + pages.css # in-use / needs-review page-level rules + drift overlay + detail-sheet.css # MCP detail sheet (in-use + needs-review) + edit-dialogs.css # edit-config + reconcile dialogs + marketplace/styles/ + cards.css # .market-card + mcp-card variants + mcp-detail.css # MCP marketplace detail modal + panes.css # marketplace keep-mounted panes + settings/styles/ + settings.css + +frontend/src/components/ + detail/index.css # shared detail-view skeleton styles (components layer) + matrix/matrix.css # shared extension × harness matrix styles +``` + +## Debugging cascade + +If a rule isn't applying as expected: + +1. Open DevTools → Styles → look at the "Cascade Layers" section for the + element. The highest-priority layer wins, then source order within it. +2. If a `features` rule is being overridden by a `components` rule, the + layers are in the wrong order in `styles/index.css` — fix it there. +3. If within a layer, swap `@import` order in `index.css` (for components) + or `main.tsx` (for feature CSS). diff --git a/frontend/src/styles/app.css b/frontend/src/styles/app.css deleted file mode 100644 index 2305922..0000000 --- a/frontend/src/styles/app.css +++ /dev/null @@ -1,302 +0,0 @@ -.app-shell { - position: relative; - display: grid; - grid-template-rows: auto minmax(0, 1fr); - min-height: 100dvh; - height: 100dvh; - overflow: hidden; - isolation: isolate; - background: - radial-gradient(circle at top left, var(--color-bg-overlay), transparent 30%), - linear-gradient(to bottom, rgba(255, 255, 255, 0.02), transparent 28%), - var(--color-bg); -} - -.app-shell::before { - content: ""; - position: fixed; - inset: 0; - z-index: 0; - pointer-events: none; - background: - repeating-linear-gradient(to right, transparent 0 39px, var(--color-grid) 39px 40px), - repeating-linear-gradient(to bottom, transparent 0 39px, var(--color-grid) 39px 40px); - mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.84), transparent 92%); - opacity: 0.56; -} - -.app-header { - position: sticky; - top: 0; - z-index: 20; - display: grid; - grid-template-columns: minmax(0, 1fr) auto auto; - align-items: center; - gap: 20px; - padding: 18px 28px; - border-bottom: 1px solid rgba(255, 255, 255, 0.06); - background: rgba(9, 10, 13, 0.84); - backdrop-filter: blur(16px); -} - -.app-header__brand { - display: grid; - gap: 4px; -} - -.app-header__title { - margin: 0; - font-size: 1.18rem; - font-weight: 600; - letter-spacing: -0.03em; -} - -.app-header__eyebrow { - margin: 0; - font-family: var(--font-mono); - font-size: 0.72rem; - letter-spacing: 0.08em; - text-transform: uppercase; - color: var(--color-text-muted); -} - -.app-header__nav { - display: flex; - flex-wrap: wrap; - gap: 8px; -} - -.app-header__actions { - display: flex; - align-items: center; - justify-content: flex-end; - gap: 10px; -} - -.app-header__refresh { - appearance: none; - -webkit-appearance: none; - white-space: nowrap; - font: inherit; -} - -.app-header__refresh:disabled { - cursor: not-allowed; - opacity: 0.72; -} - -.app-header__refresh[aria-busy="true"] { - border-color: var(--color-border-strong); - color: var(--color-text); -} - -.app-header__settings.is-active { - border-color: rgba(240, 163, 107, 0.44); - background: var(--color-accent-soft); - color: var(--color-accent); -} - -.nav-link { - display: inline-flex; - align-items: center; - gap: 8px; - min-height: 36px; - padding: 0 12px; - border: 1px solid var(--color-border); - border-radius: var(--radius); - background: rgba(20, 24, 32, 0.88); - color: var(--color-text-muted); -} - -.nav-link:hover { - border-color: var(--color-border-strong); - color: var(--color-text); -} - -.nav-link.is-active { - border-color: rgba(240, 163, 107, 0.44); - background: var(--color-accent-soft); - color: var(--color-accent); -} - -.nav-link__prompt { - font-family: var(--font-mono); - font-size: 0.76rem; -} - -.nav-link__label { - font-family: var(--font-mono); - font-size: 0.8rem; - letter-spacing: 0.04em; -} - -.app-main { - position: relative; - width: min(1280px, calc(100vw - 48px)); - margin: 0 auto; - min-height: 0; - overflow-x: hidden; - overflow-y: auto; - padding: 28px 0 42px; -} - -.app-main--skills { - width: min(1480px, calc(100vw - 48px)); - display: flex; - overflow: hidden; - padding-bottom: 28px; -} - -.page-panel { - border: 1px solid var(--color-border); - border-radius: var(--radius); - background: var(--color-panel); - box-shadow: var(--shadow-panel); - padding: 24px; -} - -.page-header { - display: grid; - grid-template-columns: minmax(0, 1fr) auto; - gap: 24px; - align-items: start; -} - -.page-header h2 { - margin: 0; - font-size: 1.72rem; - font-weight: 600; - letter-spacing: -0.04em; -} - -.page-header__eyebrow { - margin: 0 0 8px; - font-family: var(--font-mono); - font-size: 0.72rem; - letter-spacing: 0.08em; - text-transform: uppercase; - color: var(--color-accent); -} - -.page-header__copy, -.muted-text { - margin: 10px 0 0; - color: var(--color-text-muted); -} - -.definition-grid { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); - gap: 12px 16px; - margin-top: 14px; -} - -.definition-grid dt { - margin: 0; - font-family: var(--font-mono); - font-size: 0.72rem; - letter-spacing: 0.06em; - text-transform: uppercase; - color: var(--color-text-muted); -} - -.definition-grid dd { - margin: 6px 0 0; - word-break: break-word; -} - -.panel-state { - display: flex; - align-items: center; - justify-content: center; - min-height: 180px; - color: var(--color-text-muted); -} - -.toggle-switch { - display: inline-flex; - align-items: center; - gap: 10px; - color: var(--color-text); -} - -.toggle-switch__label { - font-family: var(--font-mono); - font-size: 0.78rem; - letter-spacing: 0.04em; - text-transform: uppercase; - color: var(--color-text-muted); -} - -.toggle-switch__root { - position: relative; - display: inline-flex; - align-items: center; - width: 52px; - height: 30px; - padding: 2px; - border: 1px solid rgba(255, 255, 255, 0.08); - border-radius: 999px; - background: rgba(20, 24, 32, 0.94); - box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04); - transition: - background 140ms ease, - border-color 140ms ease, - box-shadow 140ms ease; -} - -.toggle-switch__root:hover { - border-color: rgba(255, 255, 255, 0.14); -} - -.toggle-switch__root:focus-visible { - outline: none; - box-shadow: - inset 0 0 0 1px rgba(255, 255, 255, 0.08), - 0 0 0 3px rgba(107, 194, 164, 0.18); -} - -.toggle-switch__root[data-state="checked"] { - background: rgba(34, 68, 58, 0.98); - border-color: rgba(189, 241, 221, 0.18); -} - -.toggle-switch__root[data-disabled] { - cursor: wait; - opacity: 0.72; -} - -.toggle-switch__thumb { - display: block; - width: 24px; - height: 24px; - border-radius: 999px; - background: #f6f8fb; - box-shadow: 0 4px 14px rgba(0, 0, 0, 0.28); - transform: translateX(0); - transition: transform 140ms ease; -} - -.toggle-switch__thumb[data-state="checked"] { - transform: translateX(22px); -} - -@media (max-width: 900px) { - .app-header, - .page-header { - grid-template-columns: 1fr; - } - - .app-header__actions { - justify-content: flex-start; - } - - .app-main { - width: min(100vw - 24px, 100%); - padding: 20px 0 28px; - } - - .page-panel { - padding: 18px; - } -} diff --git a/frontend/src/styles/components/action-pill.css b/frontend/src/styles/components/action-pill.css new file mode 100644 index 0000000..98bddcd --- /dev/null +++ b/frontend/src/styles/components/action-pill.css @@ -0,0 +1,152 @@ +@layer components { + +/* -------------------------------------------------------------------------- */ +/* Action pill — the universal interactive button language. */ +/* -------------------------------------------------------------------------- */ +/* + * Used across cards, rows, page-header CTAs, empty-state CTAs, detail-sheet + * actions, and lightweight chooser dialogs. Solid .btn-* family in + * styles/components/buttons.css is reserved for heavier confirmation + * footers where binary commitment (Cancel | Confirm) should carry more + * visual weight. + * + * Default size matches the chip-row height so card footers sit on the same + * rhythm. Modifiers --md and --lg scale up for page chrome. + * Modifier --accent tints the resting state for the page's primary action. + */ + +.action-pill { + display: inline-flex; + align-items: center; + gap: var(--space-1); + padding: 3px var(--space-3); + border-radius: var(--radius-pill); + border: 1px solid var(--color-border); + background: transparent; + color: var(--color-text-muted); + font-size: var(--font-size-xs); + line-height: 1.5; + font-weight: 500; + cursor: pointer; + transition: color 140ms ease, border-color 140ms ease, background 140ms ease; + white-space: nowrap; +} + +.action-pill:hover:not(:disabled), +.action-pill:focus-visible:not(:disabled) { + color: var(--color-accent); + border-color: var(--color-accent); + background: var(--color-accent-softer); +} + +.action-pill:focus-visible { + outline: none; + box-shadow: 0 0 0 2px var(--color-accent-soft); +} + +.action-pill:disabled { + opacity: 0.55; + cursor: not-allowed; +} + +.action-pill[data-pending="true"] { + color: var(--color-text); + border-color: var(--color-border-strong); + cursor: progress; +} + +/* Size modifiers ---------------------------------------------------------- */ + +.action-pill--md { + padding: 6px var(--space-4); + gap: var(--space-2); + font-size: var(--font-size-sm); +} + +.action-pill--lg { + padding: 8px var(--space-5); + gap: var(--space-2); + font-size: var(--font-size-md); +} + +/* Emphasis modifier ------------------------------------------------------- */ + +/* The page's primary action — accent-tinted at rest so it stands apart from + * the surrounding plain pills, but stays in the same visual family. */ +.action-pill--accent { + color: var(--color-accent); + border-color: color-mix(in srgb, var(--color-accent) 38%, transparent); +} + +.action-pill--accent:hover:not(:disabled), +.action-pill--accent:focus-visible:not(:disabled) { + color: var(--color-accent-strong); + border-color: var(--color-accent); + background: var(--color-accent-soft); +} + +/* Destructive trigger — used outside dialogs (e.g. "Delete Skill" in the + * detail sheet). The actual confirm step uses the shared confirm-dialog + * footer styling so the binary commitment carries more visual weight. */ +.action-pill--danger { + color: var(--color-danger); + border-color: color-mix(in srgb, var(--color-danger) 38%, transparent); +} + +.action-pill--danger:hover:not(:disabled), +.action-pill--danger:focus-visible:not(:disabled) { + color: var(--color-danger); + border-color: var(--color-danger); + background: var(--color-danger-soft); +} + +.action-pill--danger:focus-visible { + box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-danger) 20%, transparent); +} + +/* -------------------------------------------------------------------------- */ +/* Status pill — non-interactive cousin of .action-pill. */ +/* -------------------------------------------------------------------------- */ +/* + * Surfaces status (Identical, Differs, Match in marketplace) using the same + * ghost-pill shape so action buttons + status indicators read as one design + * language rather than two. + */ + +.card-status-pill { + display: inline-flex; + align-items: center; + gap: var(--space-1); + padding: 2px var(--space-3); + border-radius: var(--radius-pill); + border: 1px solid var(--color-border); + background: transparent; + color: var(--color-text-muted); + font-size: var(--font-size-xs); + line-height: 1.5; + font-weight: 500; + white-space: nowrap; +} + +.card-status-pill--md { + padding: 6px var(--space-4); + gap: var(--space-2); + font-size: var(--font-size-sm); +} + +.card-status-pill--success { + color: var(--color-success); + border-color: color-mix(in srgb, var(--color-success) 32%, transparent); +} + +.card-status-pill--warning { + color: var(--color-warning); + border-color: color-mix(in srgb, var(--color-warning) 32%, transparent); +} + +.card-status-pill--accent { + color: var(--color-accent); + border-color: color-mix(in srgb, var(--color-accent) 32%, transparent); +} + +} diff --git a/frontend/src/styles/components/bulk-bar.css b/frontend/src/styles/components/bulk-bar.css new file mode 100644 index 0000000..db7ed77 --- /dev/null +++ b/frontend/src/styles/components/bulk-bar.css @@ -0,0 +1,174 @@ +@layer components { + +/* -------------------------------------------------------------------------- */ +/* Bulk action bar (floating pill) */ +/* -------------------------------------------------------------------------- */ + +.bulk-dock { + position: fixed; + left: var(--sidebar-width); + right: 0; + bottom: 0; + display: flex; + justify-content: center; + align-items: flex-end; + padding-bottom: var(--space-7); + pointer-events: none; + z-index: 40; +} + +.bulk-dock__fade { + position: absolute; + left: 0; + right: 0; + bottom: 0; + height: 160px; + background: linear-gradient( + to top, + var(--color-bg) 0%, + rgba(11, 12, 15, 0.96) 32%, + rgba(11, 12, 15, 0.7) 60%, + rgba(11, 12, 15, 0) 100% + ); + pointer-events: none; +} + +@media (max-width: 900px) { + .bulk-dock { + left: 0; + } +} + +.bulk-bar { + position: relative; + display: inline-flex; + align-items: center; + gap: var(--space-3); + padding: var(--space-2) var(--space-3); + border-radius: var(--radius-pill); + background: var(--color-surface-raised); + box-shadow: var(--shadow-lift), inset 0 1px 0 rgba(255, 255, 255, 0.04); + backdrop-filter: blur(10px); + pointer-events: auto; + transform-origin: bottom center; + animation: bulk-bar-in 200ms cubic-bezier(0.16, 1, 0.3, 1); +} + +.bulk-bar[data-state="closed"] { + animation: bulk-bar-out 180ms ease forwards; +} + +@keyframes bulk-bar-in { + from { + opacity: 0; + transform: translateY(12px) scale(0.96); + } + to { + opacity: 1; + transform: translateY(0) scale(1); + } +} + +@keyframes bulk-bar-out { + from { + opacity: 1; + transform: translateY(0) scale(1); + } + to { + opacity: 0; + transform: translateY(8px) scale(0.98); + } +} + +.bulk-bar__group { + display: inline-flex; + align-items: center; + gap: 4px; +} + +.bulk-bar__count { + padding: 0 var(--space-3) 0 var(--space-4); + color: var(--color-text-muted); + font-size: 0.86rem; + white-space: nowrap; +} + +.bulk-bar__count strong { + color: var(--color-text); + font-weight: 600; +} + +.bulk-bar__clear { + display: inline-flex; + align-items: center; + justify-content: center; + width: 26px; + height: 26px; + border: none; + border-radius: 50%; + background: transparent; + color: var(--color-text-muted); + cursor: pointer; + transition: background 120ms ease, color 120ms ease; +} + +.bulk-bar__clear:hover:not(:disabled) { + background: var(--color-surface); + color: var(--color-text); +} + +.bulk-bar__divider { + width: 1px; + height: 20px; + background: var(--color-border); +} + +.bulk-bar__action { + display: inline-flex; + align-items: center; + gap: 6px; + height: 32px; + padding: 0 var(--space-4); + border: none; + border-radius: var(--radius-pill); + background: transparent; + color: var(--color-text); + font: inherit; + font-size: 0.86rem; + cursor: pointer; + transition: background 120ms ease, color 120ms ease; +} + +.bulk-bar__action:hover:not(:disabled) { + background: var(--color-surface); +} + +.bulk-bar__action:disabled { + opacity: 0.55; + cursor: not-allowed; +} + +.bulk-bar__danger { + display: inline-flex; + align-items: center; + justify-content: center; + width: 32px; + height: 32px; + border: none; + border-radius: 50%; + background: transparent; + color: var(--color-danger); + cursor: pointer; + transition: background 120ms ease, color 120ms ease; +} + +.bulk-bar__danger:hover:not(:disabled) { + background: var(--color-danger-soft); +} + +.bulk-bar__danger:disabled { + opacity: 0.55; + cursor: not-allowed; +} + +} diff --git a/frontend/src/styles/components/buttons.css b/frontend/src/styles/components/buttons.css new file mode 100644 index 0000000..7b4940b --- /dev/null +++ b/frontend/src/styles/components/buttons.css @@ -0,0 +1,118 @@ +@layer components { + +/* -------------------------------------------------------------------------- */ +/* Buttons + icon buttons */ +/* -------------------------------------------------------------------------- */ +/* + * Reserved for dialog footers, where binary commitment (Cancel | Confirm) + * benefits from heavy visual weight + clear win/lose hierarchy. Everywhere + * else (cards, rows, page chrome, empty-state CTAs) uses the lighter + * .action-pill family — see styles/components/action-pill.css. + */ + +.btn, +.icon-button { + display: inline-flex; + align-items: center; + justify-content: center; + gap: var(--space-2); + height: 34px; + padding: 0 var(--space-4); + border: none; + border-radius: var(--radius-sm); + background: var(--color-surface); + color: var(--color-text); + font: inherit; + font-size: 0.88rem; + cursor: pointer; + transition: background 120ms ease, color 120ms ease; +} + +.btn:hover, +.icon-button:hover { + background: var(--color-surface-raised); +} + +.btn:disabled, +.icon-button:disabled { + cursor: not-allowed; + opacity: 0.55; +} + +.btn:focus-visible, +.icon-button:focus-visible { + outline: none; + box-shadow: 0 0 0 3px var(--color-accent-softer); +} + +.btn.btn-primary { + background: var(--color-accent); + color: var(--color-text-inverted); + font-weight: 500; +} + +.btn.btn-primary:hover { + background: var(--color-accent-strong); +} + +.btn.btn-secondary { + background: var(--color-surface); +} + +.btn.btn-ghost { + background: transparent; + color: var(--color-text-muted); +} + +.btn.btn-ghost:hover { + color: var(--color-text); + background: var(--color-surface-raised); +} + +.btn.btn-static { + cursor: default; + color: var(--color-text-muted); +} + +.btn.btn-static:hover { + background: var(--color-surface); +} + +.icon-button { + width: 34px; + padding: 0; +} + +.card-icon-button { + display: inline-flex; + align-items: center; + justify-content: center; + width: 28px; + height: 24px; + padding: 0; + border: none; + background: transparent; + border-radius: var(--radius-sm); + color: var(--color-text-muted); + cursor: pointer; + transition: background 120ms ease, color 120ms ease; +} + +.card-icon-button:hover:not(:disabled) { + background: var(--color-surface-raised); + color: var(--color-text); +} + +.card-icon-button:focus-visible { + outline: none; + box-shadow: 0 0 0 3px var(--color-accent-softer); +} + +.card-icon-button:disabled { + opacity: 0.4; + cursor: not-allowed; +} + +/* -------------------------------------------------------------------------- */ + +} diff --git a/frontend/src/styles/components/cards.css b/frontend/src/styles/components/cards.css new file mode 100644 index 0000000..f466f27 --- /dev/null +++ b/frontend/src/styles/components/cards.css @@ -0,0 +1,181 @@ +@layer components { + +/* -------------------------------------------------------------------------- */ +/* Skill cards grid */ +/* -------------------------------------------------------------------------- */ + +.skill-grid { + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + gap: var(--space-6); +} + +@media (max-width: 1100px) { + .skill-grid { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } +} + +@media (max-width: 680px) { + .skill-grid { + grid-template-columns: minmax(0, 1fr); + } +} + +.skill-card { + display: flex; + flex-direction: column; + gap: var(--space-3); + min-height: 160px; + padding: var(--space-5) var(--space-5) var(--space-4); + border-radius: var(--radius-md); + background: var(--color-surface); + cursor: pointer; + transition: background 120ms ease, box-shadow 120ms ease; +} + +.skill-card:hover { + background: var(--color-surface-raised); + box-shadow: var(--shadow-sm); +} + +.skill-card__head { + display: grid; + grid-template-columns: minmax(0, 1fr) auto auto auto; + align-items: center; + gap: var(--space-2); +} + +.skill-card__footer { + display: flex; + align-items: center; + gap: var(--space-3); + padding-top: var(--space-3); + border-top: 1px solid var(--color-border); + margin-top: auto; +} + +.skill-card__footer .skill-card__harness-row { + flex: 1; + border-top: none; + padding-top: 0; + margin-top: 0; +} + +.card-select-checkbox { + display: inline-flex; + align-items: center; + justify-content: center; + width: 14px; + height: 14px; + border-radius: 3px; + background: transparent; + border: 1px solid var(--color-border-strong); + opacity: 0.55; + cursor: pointer; + transition: opacity 120ms ease, border-color 120ms ease; +} + +.card-select-checkbox:hover { + opacity: 0.85; + border-color: var(--color-text-muted); +} + +.card-select-checkbox[data-state="checked"] { + background: var(--color-accent); + border-color: var(--color-accent); + opacity: 1; + color: var(--color-text-inverted); +} + +.skill-card__name { + margin: 0; + font-size: 0.95rem; + font-weight: 600; + color: var(--color-text); + letter-spacing: -0.005em; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.skill-card__description { + margin: 0; + color: var(--color-text-muted); + font-size: 0.88rem; + line-height: 1.5; + display: -webkit-box; + -webkit-line-clamp: 4; + -webkit-box-orient: vertical; + overflow: hidden; +} + +.chip { + display: inline-flex; + align-items: center; + padding: 3px var(--space-2); + border-radius: 4px; + background: var(--color-surface-raised); + color: var(--color-text-muted); + font-size: 0.72rem; + letter-spacing: 0.01em; +} + +.skill-card__harness-row { + display: flex; + align-items: center; + gap: var(--space-3); + padding-top: var(--space-3); + border-top: 1px solid var(--color-border); + min-height: 32px; + margin-top: auto; +} + +.harness-stack { + display: inline-flex; + align-items: center; + position: relative; + isolation: isolate; +} + +.harness-stack__item { + position: relative; + display: inline-flex; + align-items: center; + justify-content: center; + width: 22px; + height: 22px; +} + +.harness-stack__item + .harness-stack__item { + margin-left: -6px; +} + +.harness-stack__item img { + width: 22px; + height: 22px; + display: block; +} + +.harness-stack__fallback { + width: 22px; + height: 22px; + display: inline-flex; + align-items: center; + justify-content: center; + background: var(--color-surface-raised); + color: var(--color-text-muted); + font-size: 0.68rem; + font-weight: 700; + border-radius: 4px; +} + +.skill-card__harness-count { + margin-left: auto; + font-family: var(--font-mono); + font-size: 0.78rem; + color: var(--color-text-muted); + font-variant-numeric: tabular-nums; +} + +} diff --git a/frontend/src/styles/components/chips.css b/frontend/src/styles/components/chips.css new file mode 100644 index 0000000..fcde424 --- /dev/null +++ b/frontend/src/styles/components/chips.css @@ -0,0 +1,42 @@ +@layer components { + +/* Status badges */ +/* -------------------------------------------------------------------------- */ + +.ui-status-badge { + display: inline-flex; + align-items: center; + min-height: 22px; + padding: 0 var(--space-2); + border: none; + border-radius: 4px; + background: var(--color-surface-raised); + font-family: var(--font-mono); + font-size: 0.7rem; + letter-spacing: 0.06em; + text-transform: uppercase; + color: var(--color-text); +} + +.ui-status-badge--success { + background: var(--color-success-soft); + color: var(--color-success); +} + +.ui-status-badge--warning { + background: var(--color-warning-soft); + color: var(--color-warning); +} + +.ui-status-badge--neutral { + background: var(--color-surface-raised); + color: var(--color-text); +} + +.ui-status-badge--muted { + color: var(--color-text-muted); +} + +/* -------------------------------------------------------------------------- */ + +} diff --git a/frontend/src/styles/components/detail-sheet.css b/frontend/src/styles/components/detail-sheet.css new file mode 100644 index 0000000..26c0f60 --- /dev/null +++ b/frontend/src/styles/components/detail-sheet.css @@ -0,0 +1,194 @@ +@layer components { + +/* -------------------------------------------------------------------------- */ +/* Detail sheet — shared modal container for skill + MCP + marketplace views. */ +/* -------------------------------------------------------------------------- */ +/* + * This primitive owns the modal frame only: sizing, padding, elevation, and + * base section/body/meta rhythm. Feature-local shells (for example the skill + * and MCP detail shells) are responsible for splitting chrome/body/footer + * regions when a view needs fixed actions or specialized scrolling behavior. + */ + +.detail-sheet { + position: fixed; + top: 50%; + left: 50%; + z-index: 80; + display: grid; + gap: var(--space-4); + width: min(960px, calc(100vw - 48px)); + max-height: calc(100vh - 48px); + padding: var(--space-6); + border-radius: var(--radius-lg); + background: var(--color-surface); + box-shadow: var(--shadow-lift); + /* hidden horizontally so wide content (long URLs, code blocks, JSON + * payloads) gets its own scroll instead of pushing the whole modal. */ + overflow: hidden auto; + transform: translate(-50%, -50%); +} + +.detail-sheet:focus-visible { + outline: none; +} + +@media (max-width: 680px) { + .detail-sheet { + width: calc(100vw - 16px); + max-height: calc(100vh - 16px); + padding: var(--space-4); + border-radius: var(--radius-md); + } +} + +/* Body — scrollable area between chrome and footer. Consumers put + * children inside. min-width: 0 so flex children opt + * into shrinking below their content width (otherwise wide code blocks + * push the modal wider than its declared width). */ +.detail-sheet__body { + display: flex; + flex-direction: column; + gap: var(--space-5); + min-height: 0; + min-width: 0; +} + +/* Section primitive — used via the component. */ +.detail-sheet__section { + display: flex; + flex-direction: column; + gap: var(--space-3); + min-width: 0; +} + +.detail-sheet__section-heading { + margin: 0; + font-size: var(--font-size-sm); + font-weight: 600; + color: var(--color-text); + letter-spacing: 0.02em; + text-transform: uppercase; +} + +/* Meta cluster — single horizontal strip under the title that carries + * identity + status + source links. */ +.detail-sheet__meta { + display: flex; + align-items: center; + gap: var(--space-2); + flex-wrap: wrap; +} + +.detail-sheet__divider { + color: var(--color-text-muted); +} + +/* Footer — single canonical action surface. Sticky bottom, right-aligned + * actions, wraps gracefully when there are several. */ +.detail-sheet__footer { + display: flex; + align-items: center; + justify-content: flex-end; + gap: var(--space-2); + padding-top: var(--space-4); + border-top: 1px solid var(--color-border); + flex-wrap: wrap; +} + +/* Per-harness binding row — shared between MCP server bindings and skill + * harness access. Status is visual; the action is textual. */ +.detail-sheet__bindings { + display: flex; + flex-direction: column; + gap: var(--space-1); +} + +.detail-sheet__binding-row { + display: grid; + grid-template-columns: 22px minmax(0, 1fr) auto; + align-items: center; + gap: var(--space-3); + padding: var(--space-2) var(--space-3); + background: var(--color-surface-raised); + border-radius: var(--radius-sm); +} + +.detail-sheet__binding-row[data-pending="true"] { + opacity: 0.7; +} + +.detail-sheet__binding-identity { + display: flex; + align-items: center; + gap: var(--space-2); + min-width: 0; + flex-wrap: wrap; +} + +.detail-sheet__binding-label { + display: inline-flex; + align-items: center; + gap: 7px; + min-width: 0; + font-size: var(--font-size-sm); + color: var(--color-text); +} + +.detail-sheet__binding-label-text { + min-width: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.detail-sheet__binding-dot { + flex: 0 0 auto; + width: 7px; + height: 7px; + border-radius: 999px; + border: 1px solid var(--color-border-strong); + background: transparent; +} + +.detail-sheet__binding-dot[data-tone="enabled"] { + border-color: color-mix(in srgb, var(--color-accent) 70%, transparent); + background: var(--color-accent); + box-shadow: 0 0 0 3px var(--color-accent-softer); +} + +.detail-sheet__binding-dot[data-tone="warning"] { + border-color: color-mix(in srgb, var(--color-warning) 72%, transparent); + background: var(--color-warning); + box-shadow: 0 0 0 3px var(--color-warning-soft); +} + +.detail-sheet__binding-state { + font-size: var(--font-size-xs); + color: var(--color-text-muted); +} + +.detail-sheet__binding-state[data-tone="warning"] { + color: var(--color-warning); +} + +.detail-sheet__binding-detail { + font-family: var(--font-mono); + font-size: var(--font-size-xs); +} + +.detail-sheet__binding-actions { + display: flex; + gap: var(--space-1); + align-items: center; + justify-content: flex-end; + flex-wrap: wrap; +} + +.detail-sheet__binding-hint { + font-size: var(--font-size-xs); + color: var(--color-text-muted); + font-style: italic; +} + +} diff --git a/frontend/src/styles/components/empty-panel.css b/frontend/src/styles/components/empty-panel.css new file mode 100644 index 0000000..7aa4c03 --- /dev/null +++ b/frontend/src/styles/components/empty-panel.css @@ -0,0 +1,81 @@ +@layer components { + +/* -------------------------------------------------------------------------- */ +/* Empty-state panel */ +/* -------------------------------------------------------------------------- */ + +.empty-panel { + max-width: 760px; + padding: var(--space-8) var(--space-7); + border-radius: var(--radius-lg); + background: var(--color-surface); +} + +.empty-panel__header { + display: flex; + flex-direction: column; + align-items: center; +} + +.empty-panel__icon { + display: inline-flex; + align-items: center; + justify-content: center; + width: 52px; + height: 52px; + margin-bottom: var(--space-5); + border: 1.5px solid var(--color-accent); + border-radius: var(--radius-md); + color: var(--color-accent); +} + +.empty-panel__title { + margin: 0; + font-size: 1.32rem; + font-weight: 600; + letter-spacing: -0.02em; + color: var(--color-text); + text-align: center; +} + +.empty-panel__body { + margin: var(--space-4) 0 var(--space-6); + color: var(--color-text-muted); + line-height: 1.55; + text-align: center; +} + +.empty-panel__steps { + display: grid; + gap: var(--space-3); + max-width: 520px; + margin: 0 auto var(--space-6); +} + +.empty-panel__step { + display: grid; + grid-template-columns: 60px 1fr; + gap: var(--space-4); + align-items: baseline; +} + +.empty-panel__step-label { + color: var(--color-accent); + font-family: var(--font-mono); + font-size: 0.72rem; + letter-spacing: 0.08em; + text-transform: uppercase; +} + +.empty-panel__step-copy { + color: var(--color-text); + font-size: 0.92rem; +} + +.empty-panel__actions { + display: flex; + justify-content: center; + gap: var(--space-3); +} + +} diff --git a/frontend/src/styles/components/error-banner.css b/frontend/src/styles/components/error-banner.css new file mode 100644 index 0000000..e34a49c --- /dev/null +++ b/frontend/src/styles/components/error-banner.css @@ -0,0 +1,36 @@ +@layer components { + +/* Error banner */ +/* -------------------------------------------------------------------------- */ + +.error-banner { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; + padding: 12px 14px; + border-radius: var(--radius-sm); + background: var(--color-danger-soft); + color: var(--color-danger); +} + +.error-banner__message { + min-width: 0; +} + +.error-banner__dismiss { + display: inline-flex; + align-items: center; + justify-content: center; + width: 28px; + height: 28px; + border: none; + border-radius: var(--radius-sm); + background: transparent; + color: inherit; + cursor: pointer; +} + +/* -------------------------------------------------------------------------- */ + +} diff --git a/frontend/src/styles/components/filter.css b/frontend/src/styles/components/filter.css new file mode 100644 index 0000000..cfc6b9f --- /dev/null +++ b/frontend/src/styles/components/filter.css @@ -0,0 +1,143 @@ +@layer components { + +/* -------------------------------------------------------------------------- */ +/* Filter bar */ +/* -------------------------------------------------------------------------- */ + +.filter-bar { + display: flex; + align-items: center; + gap: var(--space-4); + flex-wrap: wrap; +} + +.filter-bar__search { + position: relative; + flex: 1 1 260px; + min-width: 220px; +} + +.filter-bar__search input { + width: 100%; + height: 38px; + padding: 0 var(--space-4) 0 38px; + border: none; + border-radius: var(--radius-sm); + background: var(--color-surface); + color: var(--color-text); + font: inherit; + font-size: 0.9rem; +} + +.filter-bar__search input:focus-visible { + outline: none; + background: var(--color-surface-raised); + box-shadow: 0 0 0 2px var(--color-accent-softer); +} + +.filter-bar__search input::placeholder { + color: var(--color-text-subtle); +} + +.filter-bar__search svg { + position: absolute; + left: var(--space-3); + top: 50%; + transform: translateY(-50%); + color: var(--color-text-muted); + pointer-events: none; +} + +.pill-group { + display: inline-flex; + align-items: center; + padding: 3px; + border-radius: var(--radius-sm); + background: var(--color-surface); +} + +.pill-group__pill { + display: inline-flex; + align-items: center; + gap: var(--space-1); + padding: 5px var(--space-3); + border: none; + border-radius: var(--radius-sm); + background: transparent; + color: var(--color-text-muted); + font: inherit; + font-size: var(--font-size-sm); + text-decoration: none; + cursor: pointer; +} + +.pill-group__pill:hover { + color: var(--color-text); +} + +.pill-group__pill[data-active="true"], +.pill-group__pill.is-active { + background: var(--color-surface-raised); + color: var(--color-text); +} + +.pill-group__count { + color: var(--color-text-subtle); + font-size: 0.76rem; + font-variant-numeric: tabular-nums; +} + +.pill-group__pill[data-active="true"] .pill-group__count { + color: var(--color-text-muted); +} + +.filter-trigger { + position: relative; + display: inline-flex; + align-items: center; + gap: var(--space-2); + height: 38px; + padding: 0 var(--space-3); + min-width: 38px; + justify-content: center; + border: none; + border-radius: var(--radius-sm); + background: var(--color-surface); + color: var(--color-text-muted); + font: inherit; + font-size: 0.86rem; + cursor: pointer; + transition: color 120ms ease, background 120ms ease; +} + +.filter-trigger:hover { + background: var(--color-surface-raised); + color: var(--color-text); +} + +.filter-trigger[data-active="true"] { + color: var(--color-accent); + background: var(--color-accent-softer); + padding: 0 var(--space-4); +} + +.filter-trigger__label { + color: inherit; +} + +.filter-trigger__dot { + position: absolute; + top: 6px; + right: 6px; + width: 6px; + height: 6px; + border-radius: 50%; + background: var(--color-accent); +} + +.filter-trigger:focus-visible { + outline: none; + box-shadow: 0 0 0 3px var(--color-accent-softer); +} + +} diff --git a/frontend/src/styles/components/harness.css b/frontend/src/styles/components/harness.css new file mode 100644 index 0000000..6715c25 --- /dev/null +++ b/frontend/src/styles/components/harness.css @@ -0,0 +1,32 @@ +@layer components { + +.harness-avatar { + display: inline-flex; + align-items: center; + justify-content: center; + width: 22px; + height: 22px; + flex: 0 0 22px; +} + +.harness-avatar__logo { + width: 100%; + height: 100%; + display: block; +} + +.harness-avatar__fallback { + width: 100%; + height: 100%; + display: inline-flex; + align-items: center; + justify-content: center; + border-radius: 4px; + background: var(--color-surface-raised); + color: var(--color-text-muted); + font-size: 0.68rem; + font-weight: 700; + line-height: 1; +} + +} diff --git a/frontend/src/styles/components/needs-review-row.css b/frontend/src/styles/components/needs-review-row.css new file mode 100644 index 0000000..9f0a0a7 --- /dev/null +++ b/frontend/src/styles/components/needs-review-row.css @@ -0,0 +1,99 @@ +@layer components { + +/* -------------------------------------------------------------------------- */ +/* Needs-review row — shared layout for local skill and MCP review surfaces */ +/* -------------------------------------------------------------------------- */ + +.needs-review-rows { + display: grid; + gap: 1px; + border-radius: var(--radius-md); + overflow: hidden; + background: var(--color-border); +} + +.needs-review-row { + display: grid; + grid-template-columns: minmax(0, 1fr) auto; + align-items: start; + gap: var(--space-5); + padding: var(--space-5); + background: var(--color-surface); + cursor: pointer; + transition: background 120ms ease; +} + +.needs-review-row:hover { + background: var(--color-surface-raised); +} + +.needs-review-row:focus-visible { + outline: none; + background: var(--color-surface-raised); + box-shadow: inset 0 0 0 2px var(--color-accent-softer); +} + +.needs-review-row__body { + display: grid; + gap: 6px; + min-width: 0; +} + +.needs-review-row__title { + display: flex; + align-items: center; + flex-wrap: wrap; + gap: var(--space-3); + min-width: 0; +} + +.needs-review-row__name { + margin: 0; + font-size: 0.98rem; + font-weight: 600; + color: var(--color-text); + line-height: 1.3; + word-break: break-word; +} + +/* Logo stack sits flush against the name. Reuses .harness-stack__item + * sizing from styles/components/cards.css. */ +.needs-review-row__logos { + display: inline-flex; + align-items: center; + position: relative; + isolation: isolate; +} + +.needs-review-row__meta { + margin: 0; + color: var(--color-text-muted); + font-size: var(--font-size-sm); + line-height: 1.45; +} + +.needs-review-row__description { + margin: 0; + color: var(--color-text-muted); + font-size: var(--font-size-sm); + line-height: 1.5; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; +} + +/* Trailing column: status chip(s) + action button on the same line. + * Pinned to the row's first text line so multi-line descriptions don't + * push it down. Chips sit to the left of the action button. */ +.needs-review-row__trailing { + display: inline-flex; + align-items: center; + gap: var(--space-2); + align-self: start; + margin-top: 2px; + flex-wrap: wrap; + justify-content: flex-end; +} + +} diff --git a/frontend/src/styles/components/note.css b/frontend/src/styles/components/note.css new file mode 100644 index 0000000..de0cc14 --- /dev/null +++ b/frontend/src/styles/components/note.css @@ -0,0 +1,18 @@ +@layer components { + +.detail-note { + margin: 0; + padding: var(--space-3) var(--space-4); + border: 1px solid color-mix(in srgb, var(--color-warning) 18%, var(--color-border)); + border-radius: var(--radius-md); + background: color-mix(in srgb, var(--color-warning-soft) 72%, transparent); + color: var(--color-text-muted); + font-size: var(--font-size-sm); + line-height: 1.45; +} + +.detail-note strong { + color: var(--color-text); +} + +} diff --git a/frontend/src/styles/components/page.css b/frontend/src/styles/components/page.css new file mode 100644 index 0000000..f7bf338 --- /dev/null +++ b/frontend/src/styles/components/page.css @@ -0,0 +1,119 @@ +@layer components { + +/* -------------------------------------------------------------------------- */ +/* App shell — sidebar + main pane */ +/* -------------------------------------------------------------------------- */ + +.app-shell { + position: relative; + display: grid; + grid-template-columns: var(--sidebar-width) minmax(0, 1fr); + min-height: 100dvh; + height: 100dvh; + overflow: hidden; + isolation: isolate; + background: var(--color-bg); + color: var(--color-text); + font-family: var(--font-sans); +} + +.app-main { + position: relative; + min-height: 0; + overflow-y: auto; + padding: var(--space-8) var(--space-10); +} + +@media (max-width: 900px) { + .app-shell { + grid-template-columns: 1fr; + } + .app-main { + padding: var(--space-6) var(--space-6); + } +} + +/* -------------------------------------------------------------------------- */ +/* Page header */ +/* -------------------------------------------------------------------------- */ + +.page-shell { + display: grid; + gap: var(--space-8); + max-width: 1200px; + margin: 0 auto; +} + +.page-header { + display: grid; + grid-template-columns: minmax(0, 1fr) auto; + gap: var(--space-6); + align-items: start; +} + +.page-header__breadcrumb { + display: flex; + align-items: center; + gap: var(--space-2); + color: var(--color-text-muted); + font-size: 0.84rem; +} + +.page-header__breadcrumb span[data-current="true"] { + color: var(--color-text); +} + +.page-header__breadcrumb span[aria-hidden="true"] { + opacity: 0.55; +} + +.page-header__title { + margin: var(--space-3) 0 0; + font-size: 2rem; + font-weight: 600; + letter-spacing: -0.03em; + color: var(--color-text); +} + +.page-header__subtitle { + margin: var(--space-3) 0 0; + max-width: 56ch; + color: var(--color-text-muted); + line-height: 1.5; +} + +.page-header__actions { + display: flex; + align-items: center; + gap: var(--space-3); + padding-top: var(--space-6); +} + +/* -------------------------------------------------------------------------- */ +/* Page chrome (sticky header + filter bar with fade-out below) */ +/* -------------------------------------------------------------------------- */ + +.page-chrome { + position: sticky; + top: calc(-1 * var(--space-8)); + z-index: 20; + display: grid; + gap: var(--space-7); + padding-top: var(--space-8); + padding-bottom: var(--space-7); + margin-top: calc(-1 * var(--space-8)); + background: var(--color-bg); +} + +.page-chrome::after { + content: ""; + position: absolute; + left: 0; + right: 0; + top: 100%; + height: 16px; + background: linear-gradient(to bottom, var(--color-bg), rgba(11, 12, 15, 0)); + pointer-events: none; +} + +} diff --git a/frontend/src/styles/components/popup.css b/frontend/src/styles/components/popup.css new file mode 100644 index 0000000..7a6d972 --- /dev/null +++ b/frontend/src/styles/components/popup.css @@ -0,0 +1,208 @@ +@layer components { + +/* -------------------------------------------------------------------------- */ +/* Popup surfaces */ +/* -------------------------------------------------------------------------- */ + +.ui-popup { + --ui-popup-surface: color-mix(in srgb, var(--color-surface-raised) 92%, black 8%); + position: relative; + color: var(--color-text); + border: 1px solid color-mix(in srgb, var(--color-border-strong) 56%, transparent); + background: var(--ui-popup-surface); + border-radius: var(--radius-md); + box-shadow: 0 18px 38px rgba(0, 0, 0, 0.34), 0 2px 10px rgba(0, 0, 0, 0.18); + /* Radix copies this z-index onto its fixed popper wrapper. Keep popups + * above detail/dialog surfaces (70/80/90) but below toasts (100). */ + z-index: 95; + transform-origin: var( + --radix-popover-content-transform-origin, + var(--radix-tooltip-content-transform-origin, center) + ); + animation: ui-popup-in 140ms cubic-bezier(0.22, 1, 0.36, 1); +} + +.ui-popup[data-state="closed"] { + animation: ui-popup-out 100ms ease forwards; +} + +.ui-popup[data-side="top"] { + --ui-popup-enter-x: 0px; + --ui-popup-enter-y: 4px; +} + +.ui-popup[data-side="right"] { + --ui-popup-enter-x: -4px; + --ui-popup-enter-y: 0px; +} + +.ui-popup[data-side="bottom"] { + --ui-popup-enter-x: 0px; + --ui-popup-enter-y: -4px; +} + +.ui-popup[data-side="left"] { + --ui-popup-enter-x: 4px; + --ui-popup-enter-y: 0px; +} + +.ui-popup__arrow { + fill: var(--ui-popup-surface); +} + +.ui-popup--tooltip { + max-width: min(34ch, calc(100vw - 24px)); + padding: 5px 10px; + color: color-mix(in srgb, var(--color-text) 72%, var(--color-text-muted)); + font-size: var(--font-size-sm); + line-height: 1.22; + text-wrap: pretty; + user-select: none; +} + +.ui-popup--tooltip--hint { + max-width: min(40ch, calc(100vw - 24px)); + color: var(--color-text-muted); +} + +.ui-tooltip-trigger { + display: inline-flex; + min-width: 0; +} + +.ui-tooltip-trigger:focus-visible { + outline: none; +} + +.ui-tooltip-trigger:focus-visible > * { + box-shadow: 0 0 0 2px var(--color-accent-soft); +} + +.ui-tooltip-trigger > :disabled { + pointer-events: none; +} + +.ui-popup--menu { + min-width: 220px; + padding: var(--space-2); +} + +.ui-menu { + display: grid; + gap: var(--space-1); +} + +.ui-menu__list { + display: grid; + gap: 2px; + margin: 0; + padding: 0; + list-style: none; +} + +.ui-menu__section-label { + color: var(--color-text-muted); + font-size: 0.72rem; + font-weight: 650; + letter-spacing: 0.04em; + padding: var(--space-1) var(--space-3); + text-transform: uppercase; +} + +.ui-menu__item { + display: grid; + grid-template-columns: 16px minmax(0, 1fr) auto; + align-items: center; + gap: var(--space-2); + width: 100%; + padding: var(--space-2) var(--space-3); + border: none; + border-radius: var(--radius-sm); + background: transparent; + color: var(--color-text); + font: inherit; + font-size: 0.88rem; + text-align: left; + cursor: pointer; + transition: background 120ms ease, color 120ms ease; +} + +.ui-menu__item:hover:not(:disabled), +.ui-menu__item:focus-visible:not(:disabled) { + background: color-mix(in srgb, white 4%, var(--color-surface)); +} + +.ui-menu__item:focus-visible { + outline: none; +} + +.ui-menu__item:disabled { + opacity: 0.5; + cursor: not-allowed; +} + +.ui-menu__item[data-selected="true"] { + color: var(--color-accent); +} + +.ui-menu__item[data-destructive="true"] { + color: var(--color-danger); +} + +.ui-menu__item[data-destructive="true"]:hover:not(:disabled), +.ui-menu__item[data-destructive="true"]:focus-visible:not(:disabled) { + background: color-mix(in srgb, var(--color-danger-soft) 88%, transparent); +} + +.ui-menu__icon { + display: inline-flex; + align-items: center; + justify-content: center; + color: var(--color-accent); +} + +.ui-menu__item[data-destructive="true"] .ui-menu__icon { + color: inherit; +} + +.ui-menu__label { + min-width: 0; +} + +.ui-menu__meta { + color: var(--color-text-muted); + font-family: var(--font-mono); + font-size: 0.78rem; + font-variant-numeric: tabular-nums; +} + +.ui-menu__item[data-selected="true"] .ui-menu__meta { + color: var(--color-accent); + opacity: 0.8; +} + +@keyframes ui-popup-in { + from { + opacity: 0; + transform: translate3d( + var(--ui-popup-enter-x, 0px), + var(--ui-popup-enter-y, 0px), + 0 + ) scale(0.985); + } + to { + opacity: 1; + transform: translate3d(0, 0, 0) scale(1); + } +} + +@keyframes ui-popup-out { + from { + opacity: 1; + } + to { + opacity: 0; + } +} + +} diff --git a/frontend/src/styles/components/sidebar.css b/frontend/src/styles/components/sidebar.css new file mode 100644 index 0000000..46ae380 --- /dev/null +++ b/frontend/src/styles/components/sidebar.css @@ -0,0 +1,238 @@ +@layer components { + +/* -------------------------------------------------------------------------- */ +/* Sidebar */ +/* -------------------------------------------------------------------------- */ + +.sidebar { + display: grid; + grid-template-rows: auto 1fr auto; + gap: var(--space-5); + padding: var(--space-6) var(--space-5); + background: var(--color-sidebar-bg); + overflow-y: auto; +} + +.sidebar__brand { + padding: 0 var(--space-2); +} + +.sidebar__brand-name { + display: inline-flex; + margin: 0; + font-size: 1.02rem; + font-weight: 700; + letter-spacing: -0.01em; + color: var(--color-text); + text-decoration: none; + transition: color 120ms ease; +} + +.sidebar__brand-name:hover, +.sidebar__brand-name:focus-visible { + color: var(--color-accent); + outline: none; +} + +.sidebar__nav { + display: grid; + gap: var(--space-2); + align-content: start; +} + +.sidebar-group { + display: grid; + gap: 2px; +} + +.sidebar-top-link { + display: grid; + grid-template-columns: 16px minmax(0, 1fr); + align-items: center; + gap: var(--space-3); + width: 100%; + padding: var(--space-2) var(--space-3); + border-radius: var(--radius-sm); + color: var(--color-text-muted); + font-size: 0.92rem; + font-weight: 600; + text-decoration: none; + transition: background 120ms ease, color 120ms ease; +} + +.sidebar-top-link:hover, +.sidebar-top-link:focus-visible, +.sidebar-top-link.is-active { + background: var(--color-surface-raised); + color: var(--color-text); + outline: none; +} + +.sidebar-group__header { + display: grid; + grid-template-columns: 16px minmax(0, 1fr) auto 14px; + align-items: center; + gap: var(--space-3); + width: 100%; + padding: var(--space-2) var(--space-3); + border: none; + background: transparent; + color: var(--color-text); + font-size: 0.92rem; + font-weight: 600; + text-align: left; + cursor: pointer; +} + +.sidebar-group__chevron { + grid-column: 4; + justify-self: end; + color: var(--color-text-muted); + transition: transform 120ms ease; +} + +.sidebar-group[data-collapsed="true"] .sidebar-group__chevron { + transform: rotate(-90deg); +} + +.sidebar-group__items { + position: relative; + display: grid; + gap: 2px; + padding-left: var(--space-3); +} + +.sidebar-link { + position: relative; + z-index: 1; + display: grid; + grid-template-columns: 4px minmax(0, 1fr) auto; + align-items: center; + gap: var(--space-3); + padding: var(--space-2) var(--space-3); + border-radius: var(--radius-sm); + color: var(--color-text-muted); + font-size: 0.88rem; + text-decoration: none; + transition: color 160ms ease; +} + +.sidebar-link:hover, +.sidebar-link:focus-visible { + color: var(--color-text); + outline: none; +} + +.sidebar-link.is-active { + color: var(--color-text); +} + +/* Magic-bar — single absolutely-positioned pill per NavGroup that tracks the + active (or hovered/focused) link. Provides the highlight that used to live + on .sidebar-link directly. */ +.sidebar-indicator { + position: absolute; + top: 0; + left: 0; + width: 0; + height: 0; + border-radius: var(--radius-sm); + background: var(--color-surface-raised); + opacity: 0; + pointer-events: none; + z-index: 0; + transition: + transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1), + width 220ms cubic-bezier(0.2, 0.8, 0.2, 1), + height 220ms cubic-bezier(0.2, 0.8, 0.2, 1), + opacity 160ms ease; +} + +.sidebar-indicator[data-visible="true"] { + opacity: 1; +} + +@media (prefers-reduced-motion: reduce) { + .sidebar-indicator { + transition: opacity 160ms ease; + } +} + +.sidebar-link__dot { + width: 4px; + height: 4px; + border-radius: 50%; + background: currentColor; + opacity: 0.55; +} + +.sidebar-group__count, +.sidebar-link__count { + font-variant-numeric: tabular-nums; + text-align: right; +} + +.sidebar-group__count { + min-width: 2ch; + color: var(--color-text-muted); + font-size: 0.8rem; + font-weight: 600; + line-height: 1; +} + +.sidebar-link__count { + min-width: 2ch; + color: var(--color-text-muted); + font-size: 0.74rem; + line-height: 1; + opacity: 0.76; +} + +.sidebar-link.is-active .sidebar-link__count { + color: var(--color-text); + opacity: 0.9; +} + +.sidebar__footer { + display: grid; + gap: 2px; + padding-top: var(--space-4); + border-top: 1px solid var(--color-border); +} + +.sidebar-footer-btn { + display: flex; + align-items: center; + gap: var(--space-3); + padding: var(--space-2) var(--space-3); + border: none; + border-radius: var(--radius-sm); + background: transparent; + color: var(--color-text-muted); + font-size: 0.88rem; + text-align: left; + text-decoration: none; + cursor: pointer; + transition: background 120ms ease, color 120ms ease; +} + +.sidebar-footer-btn:hover { + background: var(--color-surface-raised); + color: var(--color-text); +} + +.sidebar-footer-btn.is-active { + background: var(--color-surface-raised); + color: var(--color-text); +} + +.sidebar-footer-btn[aria-busy="true"] { + color: var(--color-text); +} + +.sidebar-footer-btn:disabled { + opacity: 0.55; + cursor: not-allowed; +} + +} diff --git a/frontend/src/styles/components/spinner.css b/frontend/src/styles/components/spinner.css new file mode 100644 index 0000000..be18e67 --- /dev/null +++ b/frontend/src/styles/components/spinner.css @@ -0,0 +1,47 @@ +@layer components { + +/* Spinner */ +/* -------------------------------------------------------------------------- */ + +.spinner { + display: inline-block; + border: 2px solid var(--color-border); + border-top-color: var(--color-accent); + border-radius: 999px; + animation: spin 0.8s linear infinite; +} + +.spinner-sm { + width: 14px; + height: 14px; +} + +.spinner-md { + width: 20px; + height: 20px; +} + +.spinner-lg { + width: 28px; + height: 28px; +} + +.card-action-spinner { + animation: spin 0.8s linear infinite; +} + +@keyframes spin { + to { + transform: rotate(360deg); + } +} + +@media (prefers-reduced-motion: reduce) { + .card-action-spinner { + animation: none; + } +} + +/* -------------------------------------------------------------------------- */ + +} diff --git a/frontend/src/styles/components/toast.css b/frontend/src/styles/components/toast.css new file mode 100644 index 0000000..69773b1 --- /dev/null +++ b/frontend/src/styles/components/toast.css @@ -0,0 +1,45 @@ +@layer components { + +/* -------------------------------------------------------------------------- */ +/* Toast */ +/* -------------------------------------------------------------------------- */ + +.toast-viewport { + position: fixed; + bottom: var(--space-7); + right: var(--space-7); + display: flex; + flex-direction: column; + gap: var(--space-3); + z-index: 100; + pointer-events: none; +} + +.toast { + display: flex; + align-items: center; + gap: var(--space-3); + min-width: 240px; + max-width: 360px; + padding: var(--space-3) var(--space-4); + border-radius: var(--radius-md); + background: var(--color-surface-raised); + color: var(--color-text); + font-size: 0.88rem; + box-shadow: var(--shadow-md); + pointer-events: auto; + animation: toast-in 180ms ease; +} + +@keyframes toast-in { + from { + opacity: 0; + transform: translateY(6px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + +} diff --git a/frontend/src/styles/components/view-mode-toggle.css b/frontend/src/styles/components/view-mode-toggle.css new file mode 100644 index 0000000..1f384a7 --- /dev/null +++ b/frontend/src/styles/components/view-mode-toggle.css @@ -0,0 +1,38 @@ +@layer components { + +/* -------------------------------------------------------------------------- */ +/* View mode toggle */ +/* -------------------------------------------------------------------------- */ + +.view-mode-toggle { + display: inline-flex; + padding: 2px; + border-radius: var(--radius-sm); + background: var(--color-surface); +} + +.view-mode-toggle__btn { + display: inline-flex; + align-items: center; + gap: var(--space-1); + padding: var(--space-2) var(--space-3); + border: none; + border-radius: calc(var(--radius-sm) - 2px); + background: transparent; + color: var(--color-text-muted); + font-size: var(--font-size-sm); + font-family: inherit; + cursor: pointer; + transition: background 120ms ease, color 120ms ease; +} + +.view-mode-toggle__btn:hover { + color: var(--color-text); +} + +.view-mode-toggle__btn[data-active="true"] { + background: var(--color-surface-raised); + color: var(--color-text); +} + +} diff --git a/frontend/src/styles/dialogs.css b/frontend/src/styles/dialogs.css index 0c34188..54bea72 100644 --- a/frontend/src/styles/dialogs.css +++ b/frontend/src/styles/dialogs.css @@ -1,9 +1,11 @@ +@layer components { + .dialog-overlay { position: fixed; inset: 0; z-index: 70; - background: rgba(5, 7, 10, 0.78); - backdrop-filter: blur(8px); + background: rgba(0, 0, 0, 0.45); + backdrop-filter: blur(3px); } .dialog-content { @@ -13,12 +15,9 @@ z-index: 80; width: min(480px, calc(100vw - 32px)); padding: 20px; - border: 1px solid var(--color-border-strong); - border-radius: 18px; - background: - linear-gradient(180deg, rgba(22, 27, 36, 0.98), rgba(14, 18, 24, 0.98)), - var(--color-panel); - box-shadow: 0 28px 60px rgba(0, 0, 0, 0.42); + border-radius: 14px; + background: var(--color-surface-raised); + box-shadow: 0 28px 60px rgba(0, 0, 0, 0.48); transform: translate(-50%, -50%); } @@ -26,71 +25,130 @@ outline: none; } -.dialog-content--danger { - border-color: rgba(240, 141, 121, 0.24); -} - -.dialog-content--neutral { - border-color: rgba(240, 163, 107, 0.2); -} - .dialog-header { display: grid; gap: 8px; } -.dialog-eyebrow { +.dialog-title { margin: 0; - font-family: var(--font-mono); - font-size: 0.7rem; - letter-spacing: 0.08em; - text-transform: uppercase; + font-size: 1.18rem; + letter-spacing: -0.02em; +} + +.dialog-description, +.dialog-meta { + margin: 14px 0 0; + color: var(--color-text-muted); + line-height: 1.6; } -.dialog-eyebrow--danger { +.dialog-error { + margin: 0; color: var(--color-danger); + font-size: var(--font-size-sm); + line-height: 1.5; } -.dialog-eyebrow--neutral { - color: var(--color-accent); +.dialog-actions { + display: flex; + justify-content: flex-end; + gap: 12px; + margin-top: 20px; } -.dialog-title { +.confirm-dialog { + width: min(500px, calc(100vw - 32px)); + padding: 24px; + border: 1px solid color-mix(in srgb, var(--color-border-strong) 72%, transparent); + border-radius: var(--radius-lg); + background: color-mix(in srgb, var(--color-surface) 96%, black); + box-shadow: var(--shadow-lift); +} + +.confirm-dialog__header { + gap: 0; +} + +.confirm-dialog__title { + font-size: 1.28rem; + letter-spacing: -0.025em; +} + +.confirm-dialog__description { + margin-top: 12px; + font-size: var(--font-size-md); + line-height: 1.55; +} + +.confirm-dialog__note { + display: grid; + gap: var(--space-2); + margin-top: 12px; + color: var(--color-text-muted); + font-size: var(--font-size-sm); + line-height: 1.55; +} + +.confirm-dialog__note > * { margin: 0; - font-size: 1.18rem; - letter-spacing: -0.02em; } -.dialog-description, -.dialog-note { - margin: 14px 0 0; +.confirm-dialog__actions { + margin-top: 24px; +} + +.confirm-dialog__button { + min-width: 110px; + height: 38px; + padding: 0 var(--space-4); + border: 1px solid transparent; + border-radius: var(--radius-md); + font-size: var(--font-size-md); + font-weight: 500; +} + +.confirm-dialog__button--cancel { + border-color: var(--color-border); + background: color-mix(in srgb, var(--color-surface-raised) 82%, transparent); color: var(--color-text-muted); - line-height: 1.6; } -.dialog-note { - padding: 10px 12px; - border-radius: 12px; +.confirm-dialog__button--cancel:hover:not(:disabled) { + border-color: var(--color-border-strong); + background: var(--color-surface-raised); + color: var(--color-text); } -.dialog-note--danger { - border: 1px solid rgba(240, 141, 121, 0.16); - background: rgba(240, 141, 121, 0.06); +.confirm-dialog__button--primary { + border-color: color-mix(in srgb, var(--color-accent) 42%, transparent); + background: var(--color-accent-soft); + color: var(--color-accent); } -.dialog-note--neutral { - border: 1px solid rgba(240, 163, 107, 0.14); - background: rgba(240, 163, 107, 0.06); +.confirm-dialog__button--primary:hover:not(:disabled) { + border-color: var(--color-accent); + background: color-mix(in srgb, var(--color-accent-soft) 70%, transparent); + color: var(--color-accent-strong); } -.dialog-actions { - display: flex; - justify-content: flex-end; - gap: 12px; - margin-top: 20px; +.confirm-dialog__button--danger { + border-color: color-mix(in srgb, var(--color-danger) 34%, transparent); + background: color-mix(in srgb, var(--color-danger-soft) 78%, transparent); + color: var(--color-danger); +} + +.confirm-dialog__button--danger:hover:not(:disabled) { + border-color: color-mix(in srgb, var(--color-danger) 58%, transparent); + background: color-mix(in srgb, var(--color-danger-soft) 96%, transparent); + color: var(--color-danger); +} + +.text-input[aria-invalid="true"] { + box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-danger) 58%, transparent); } -@media (max-width: 640px) { +@media (max-width: 680px) { .dialog-content { width: min(100vw - 20px, 480px); padding: 18px; @@ -103,4 +161,123 @@ .dialog-actions .btn { width: 100%; } + + .confirm-dialog__button { + width: 100%; + } +} + +/* Shared MCP dialog scaffolding (edit, etc.) ------------------------------ */ + +.mcp-dialog { + position: fixed; + top: 50%; + left: 50%; + z-index: 90; + display: grid; + gap: var(--space-4); + width: min(480px, calc(100vw - 48px)); + max-height: calc(100vh - 48px); + padding: var(--space-5); + border-radius: var(--radius-lg); + background: var(--color-surface); + box-shadow: var(--shadow-lift); + overflow-y: auto; + transform: translate(-50%, -50%); +} + +.mcp-dialog__head { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: var(--space-3); +} + +.mcp-dialog__title { + margin: 0; + font-size: var(--font-size-lg); + font-weight: 600; + color: var(--color-text); +} + +.mcp-dialog__subtitle { + margin: var(--space-1) 0 0; + color: var(--color-text-muted); + font-size: var(--font-size-sm); +} + +.mcp-dialog__close { + display: inline-flex; + align-items: center; + justify-content: center; + width: 28px; + height: 28px; + padding: 0; + border: none; + background: transparent; + border-radius: var(--radius-sm); + color: var(--color-text-muted); + cursor: pointer; +} + +.mcp-dialog__close:hover { + background: var(--color-surface-raised); + color: var(--color-text); +} + +.mcp-dialog__form { + display: grid; + gap: var(--space-4); +} + +.mcp-dialog__field { + display: grid; + gap: var(--space-1); +} + +.mcp-dialog__field-label { + display: inline-flex; + align-items: baseline; + gap: var(--space-1); + font-size: var(--font-size-sm); + color: var(--color-text); +} + +.mcp-dialog__field-label code { + font-size: var(--font-size-sm); +} + +.mcp-dialog__field-hint { + font-size: var(--font-size-xs); + color: var(--color-text-muted); +} + +.mcp-dialog__footer { + display: flex; + align-items: center; + justify-content: flex-end; + gap: var(--space-2); +} + +.mcp-dialog__submit { + min-width: 96px; + justify-content: center; +} + +.mcp-dialog__spinner { + animation: mcp-dialog-spinner 0.8s linear infinite; +} + +@keyframes mcp-dialog-spinner { + to { + transform: rotate(360deg); + } +} + +@media (prefers-reduced-motion: reduce) { + .mcp-dialog__spinner { + animation: none; + } +} + } diff --git a/frontend/src/styles/drawers.css b/frontend/src/styles/drawers.css deleted file mode 100644 index 2dfae90..0000000 --- a/frontend/src/styles/drawers.css +++ /dev/null @@ -1,31 +0,0 @@ -.drawer-backdrop { - position: fixed; - inset: 0; - z-index: 40; - background: rgba(4, 5, 8, 0.56); -} - -.drawer { - position: fixed; - top: 16px; - right: 16px; - z-index: 50; - width: min(560px, calc(100vw - 32px)); - height: calc(100vh - 32px); - padding: 24px; - border: 1px solid var(--color-border); - border-radius: var(--radius); - background: rgba(14, 17, 22, 0.96); - box-shadow: var(--shadow-panel); - overflow-y: auto; -} - -@media (max-width: 900px) { - .drawer { - top: 0; - right: 0; - width: 100vw; - height: 100vh; - border-radius: 0; - } -} diff --git a/frontend/src/styles/index.css b/frontend/src/styles/index.css new file mode 100644 index 0000000..7205f6d --- /dev/null +++ b/frontend/src/styles/index.css @@ -0,0 +1,49 @@ +/* Cascade layer order — declared once, enforced everywhere. + * + * reset → element resets + * tokens → custom properties (design tokens) + * base → element-level rules (scrollbars; add html/body here if needed) + * components → shared, app-wide primitives (buttons, cards, dialogs, …) + * features → feature-specific styles colocated under features//styles/ + * utilities → helper classes + * overrides → escape hatch (empty by default) + * + * Lower-numbered layers lose to higher-numbered ones regardless of source + * order. Source order within a layer wins ties. Each file below already + * wraps its contents in the appropriate @layer { … } block, so @import + * order here only affects in-layer ties — cross-layer cascade is locked. + * + * Adding a new shared primitive: create a file in styles/components/ + * (wrap contents in @layer components { … }) and @import it below. + * See frontend/src/styles/README.md for more. + */ +@layer reset, tokens, base, components, features, utilities, overrides; + +@import "./reset.css" layer(reset); +@import "./tokens.css" layer(tokens); +@import "./scrollbars.css" layer(base); + +/* Shared component primitives. + * Order preserves the original app.css → ui.css → dialogs.css sequence so + * in-layer source-order ties resolve identically to pre-split behavior. */ +@import "./components/page.css"; +@import "./components/sidebar.css"; +@import "./components/filter.css"; +@import "./components/bulk-bar.css"; +@import "./components/toast.css"; +@import "./components/empty-panel.css"; +@import "./components/cards.css"; +@import "./components/action-pill.css"; +@import "./components/needs-review-row.css"; +@import "./components/view-mode-toggle.css"; +@import "./components/buttons.css"; +@import "./components/chips.css"; +@import "./components/harness.css"; +@import "./components/note.css"; +@import "./components/error-banner.css"; +@import "./components/spinner.css"; +@import "./components/popup.css"; +@import "./components/detail-sheet.css"; +@import "./dialogs.css"; + +@import "./utilities.css"; diff --git a/frontend/src/styles/scrollbars.css b/frontend/src/styles/scrollbars.css index e9a730a..9836b68 100644 --- a/frontend/src/styles/scrollbars.css +++ b/frontend/src/styles/scrollbars.css @@ -1,25 +1,39 @@ -html { - scrollbar-gutter: stable; - scrollbar-width: thin; - scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track); -} +/* Notion-style overlay scrollbars. + - Gutter is reserved for layout stability, but rendered transparent. + - Thumb is invisible at rest and fades in when the user hovers or + actively scrolls within the container. + - Thin pill shape, no border, no track background. +*/ -.ui-scrollbar { +html, +.ui-scrollbar, +.ui-scrollbar--thin, +.skill-detail__markdown pre { scrollbar-gutter: stable; scrollbar-width: thin; - scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track); + scrollbar-color: transparent transparent; + transition: scrollbar-color 180ms ease; } -.ui-scrollbar--thin, -.skill-detail__markdown pre { - scrollbar-width: thin; - scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track); +html:hover, +.ui-scrollbar:hover, +.ui-scrollbar--thin:hover, +.skill-detail__markdown pre:hover, +html:focus-within, +.ui-scrollbar:focus-within, +.ui-scrollbar--thin:focus-within, +.skill-detail__markdown pre:focus-within { + scrollbar-color: var(--scrollbar-thumb) transparent; } +/* Webkit */ html::-webkit-scrollbar, -.ui-scrollbar::-webkit-scrollbar { +.ui-scrollbar::-webkit-scrollbar, +.ui-scrollbar--thin::-webkit-scrollbar, +.skill-detail__markdown pre::-webkit-scrollbar { width: var(--scrollbar-size); height: var(--scrollbar-size); + background: transparent; } .ui-scrollbar--thin::-webkit-scrollbar, @@ -32,20 +46,34 @@ html::-webkit-scrollbar-track, .ui-scrollbar::-webkit-scrollbar-track, .ui-scrollbar--thin::-webkit-scrollbar-track, .skill-detail__markdown pre::-webkit-scrollbar-track { - background: var(--scrollbar-track); - border-radius: 999px; + background: transparent; } html::-webkit-scrollbar-thumb, .ui-scrollbar::-webkit-scrollbar-thumb, .ui-scrollbar--thin::-webkit-scrollbar-thumb, .skill-detail__markdown pre::-webkit-scrollbar-thumb { - background-color: var(--scrollbar-thumb); - border: 2px solid transparent; + background-color: transparent; + border: 1px solid transparent; border-radius: 999px; background-clip: padding-box; + min-height: 32px; + transition: background-color 180ms ease; +} + +/* Reveal thumb when the user hovers or is interacting with the scroll region. */ +html:hover::-webkit-scrollbar-thumb, +.ui-scrollbar:hover::-webkit-scrollbar-thumb, +.ui-scrollbar--thin:hover::-webkit-scrollbar-thumb, +.skill-detail__markdown pre:hover::-webkit-scrollbar-thumb, +html:focus-within::-webkit-scrollbar-thumb, +.ui-scrollbar:focus-within::-webkit-scrollbar-thumb, +.ui-scrollbar--thin:focus-within::-webkit-scrollbar-thumb, +.skill-detail__markdown pre:focus-within::-webkit-scrollbar-thumb { + background-color: var(--scrollbar-thumb); } +/* Directly hovering the thumb — pronounced. */ html::-webkit-scrollbar-thumb:hover, .ui-scrollbar::-webkit-scrollbar-thumb:hover, .ui-scrollbar--thin::-webkit-scrollbar-thumb:hover, @@ -64,5 +92,5 @@ html::-webkit-scrollbar-corner, .ui-scrollbar::-webkit-scrollbar-corner, .ui-scrollbar--thin::-webkit-scrollbar-corner, .skill-detail__markdown pre::-webkit-scrollbar-corner { - background: var(--scrollbar-corner); + background: transparent; } diff --git a/frontend/src/styles/tokens.css b/frontend/src/styles/tokens.css new file mode 100644 index 0000000..946bdd0 --- /dev/null +++ b/frontend/src/styles/tokens.css @@ -0,0 +1,84 @@ +:root { + --font-sans: "Inter", "SF Pro Text", "Segoe UI", system-ui, -apple-system, sans-serif; + --font-mono: "SF Mono", "JetBrains Mono", "IBM Plex Mono", ui-monospace, Menlo, monospace; + + /* Typography scale */ + --font-size-xs: 0.72rem; + --font-size-sm: 0.84rem; + --font-size-md: 0.92rem; + --font-size-lg: 1.05rem; + --font-size-xl: 1.32rem; + --font-size-2xl: 2rem; + + /* Surfaces */ + --color-bg: #0b0c0f; + --color-surface: #1c1d21; + --color-surface-raised: #24252a; + --color-surface-sunken: #15161a; + --color-sidebar-bg: #1a1b1f; + + /* Borders */ + --color-border: #2a2b2f; + --color-border-strong: #3a3b40; + + /* Text */ + --color-text: #e8e6e1; + --color-text-muted: #8a8680; + --color-text-subtle: #65625d; + --color-text-inverted: #ffffff; + + /* Accent (Notion-ish dark-mode blue) */ + --color-accent: #529cca; + --color-accent-strong: #4184b0; + --color-accent-soft: rgba(82, 156, 202, 0.14); + --color-accent-softer: rgba(82, 156, 202, 0.08); + + /* Status */ + --color-success: #6bc2a4; + --color-success-soft: rgba(107, 194, 164, 0.12); + --color-danger: #f08d79; + --color-danger-soft: rgba(240, 141, 121, 0.14); + --color-warning: #f3c969; + --color-warning-soft: rgba(243, 201, 105, 0.16); + + /* Radii */ + --radius-sm: 8px; + --radius-md: 16px; + --radius-lg: 20px; + --radius-pill: 999px; + + /* Spacing scale */ + --space-1: 4px; + --space-2: 6px; + --space-3: 8px; + --space-4: 12px; + --space-5: 16px; + --space-6: 20px; + --space-7: 24px; + --space-8: 32px; + --space-9: 40px; + --space-10: 56px; + + /* Breakpoints (for reference — @media queries use these px values inline) */ + --breakpoint-sm: 680px; + --breakpoint-md: 900px; + --breakpoint-lg: 1100px; + + /* Scrollbars */ + --scrollbar-size: 6px; + --scrollbar-size-thin: 4px; + --scrollbar-track: rgba(255, 255, 255, 0.02); + --scrollbar-thumb: rgba(154, 164, 178, 0.28); + --scrollbar-thumb-hover: rgba(178, 188, 200, 0.44); + --scrollbar-thumb-active: rgba(208, 216, 226, 0.58); + --scrollbar-corner: rgba(9, 10, 13, 0.01); + + /* Shadows */ + --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.2); + --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.25); + --shadow-panel: 0 12px 28px rgba(0, 0, 0, 0.28); + --shadow-lift: 0 10px 32px rgba(0, 0, 0, 0.5), 0 2px 8px rgba(0, 0, 0, 0.32); + + /* Layout */ + --sidebar-width: 256px; +} diff --git a/frontend/src/styles/ui.css b/frontend/src/styles/ui.css deleted file mode 100644 index 419149f..0000000 --- a/frontend/src/styles/ui.css +++ /dev/null @@ -1,197 +0,0 @@ -.btn, -.icon-button { - display: inline-flex; - align-items: center; - justify-content: center; - gap: 8px; - min-height: 38px; - border-radius: var(--radius); - transition: box-shadow 120ms ease, background 120ms ease, color 120ms ease, transform 120ms ease; -} - -.u-visually-hidden { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border: 0; -} - -.btn { - padding: 0 14px; - border: none; - background: var(--color-panel-strong); - color: var(--color-text); -} - -.btn:hover { - background: var(--color-panel-elevated); -} - -.btn:disabled, -.icon-button:disabled { - cursor: not-allowed; - opacity: 0.55; -} - -.btn:focus-visible, -.icon-button:focus-visible { - outline: none; - box-shadow: 0 0 0 3px rgba(240, 163, 107, 0.18); -} - -.btn.btn-primary { - background: var(--color-accent-soft); - color: var(--color-accent); -} - -.btn.btn-primary:hover { - background: rgba(240, 163, 107, 0.18); -} - -.btn.btn-secondary { - background: var(--color-panel-strong); -} - -.btn.btn-static { - cursor: default; - color: var(--color-text-muted); -} - -.btn.btn-static:hover { - background: var(--color-panel-strong); -} - -.btn.btn-danger { - border: 1px solid rgba(240, 141, 121, 0.34); - background: rgba(240, 141, 121, 0.08); - color: var(--color-danger); -} - -.btn.btn-danger:hover { - background: rgba(240, 141, 121, 0.14); -} - -.icon-button { - width: 38px; - padding: 0; - border: 1px solid var(--color-border); - background: var(--color-panel-strong); - color: var(--color-text); -} - -.icon-button:hover { - border-color: var(--color-border-strong); - background: var(--color-panel-elevated); -} - -.ui-status-badge { - display: inline-flex; - align-items: center; - min-height: 24px; - padding: 0 8px; - border: none; - border-radius: var(--radius); - background: var(--color-panel-elevated); - font-family: var(--font-mono); - font-size: 0.72rem; - letter-spacing: 0.06em; - text-transform: uppercase; -} - -.ui-status-badge--success { - background: var(--color-success-soft); - color: var(--color-success); -} - -.ui-status-badge--warning { - background: var(--color-warning-soft); - color: var(--color-warning); -} - -.ui-status-badge--neutral { - background: var(--color-panel-elevated); - color: var(--color-text); -} - -.ui-status-badge--muted { - color: var(--color-text-muted); -} - -.ui-hover-tooltip { - z-index: 50; - width: min(280px, calc(100vw - 32px)); - padding: 10px 12px; - border: 1px solid rgba(255, 255, 255, 0.08); - border-radius: var(--radius-sm); - background: rgba(12, 15, 20, 0.98); - box-shadow: var(--shadow-panel); -} - -.ui-hover-tooltip__copy { - margin: 0; - color: var(--color-text); - font-size: 0.92rem; - line-height: 1.45; -} - -.error-banner { - display: flex; - align-items: center; - justify-content: space-between; - gap: 12px; - padding: 12px 14px; - border: 1px solid rgba(240, 141, 121, 0.42); - border-radius: var(--radius); - background: var(--color-danger-soft); - color: var(--color-danger); -} - -.error-banner__message { - min-width: 0; -} - -.error-banner__dismiss { - display: inline-flex; - align-items: center; - justify-content: center; - width: 28px; - height: 28px; - border: none; - border-radius: var(--radius); - background: transparent; - color: inherit; -} - -.spinner { - display: inline-block; - border: 2px solid var(--color-border); - border-top-color: var(--color-accent); - border-radius: 999px; - animation: spin 0.8s linear infinite; -} - -.spinner-sm { - width: 14px; - height: 14px; -} - -.spinner-md { - width: 20px; - height: 20px; -} - -.spinner-lg { - width: 28px; - height: 28px; -} - -@keyframes spin { - to { - transform: rotate(360deg); - } -} diff --git a/frontend/src/styles/utilities.css b/frontend/src/styles/utilities.css new file mode 100644 index 0000000..ce4da02 --- /dev/null +++ b/frontend/src/styles/utilities.css @@ -0,0 +1,114 @@ +@layer utilities { + +/* -------------------------------------------------------------------------- */ +/* Misc page patterns */ +/* -------------------------------------------------------------------------- */ + +.panel-state { + display: flex; + align-items: center; + justify-content: center; + min-height: 180px; + color: var(--color-text-muted); +} + +.muted-text { + margin: 0; + color: var(--color-text-muted); +} + +.toggle-switch { + display: inline-flex; + align-items: center; + gap: var(--space-3); + color: var(--color-text); +} + +.toggle-switch__label { + font-size: 0.88rem; + color: var(--color-text); +} + +.toggle-switch__root { + position: relative; + display: inline-flex; + align-items: center; + width: 40px; + height: 22px; + padding: 2px; + border-radius: var(--radius-pill); + background: var(--color-surface-raised); + cursor: pointer; + transition: background 140ms ease; +} + +.toggle-switch__root[data-state="checked"] { + background: var(--color-accent); +} + +.toggle-switch__thumb { + display: block; + width: 16px; + height: 16px; + border-radius: 999px; + background: #f6f8fb; + transform: translateX(0); + transition: transform 140ms ease; +} + +.toggle-switch__thumb[data-state="checked"] { + transform: translateX(18px); +} + +/* Utilities */ +/* -------------------------------------------------------------------------- */ + +.u-visually-hidden { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +.section-stack { + display: grid; + gap: var(--space-4); +} + +.dialog-section { + display: grid; + gap: var(--space-3); + margin: var(--space-4) 0; +} + +.settings-row__controls { + display: flex; + align-items: center; + gap: var(--space-4); +} + +.text-input { + height: 38px; + padding: 0 var(--space-4); + border: none; + border-radius: var(--radius-sm); + background: var(--color-surface); + color: var(--color-text); + font: inherit; + font-size: 0.9rem; +} + +.text-input:focus-visible { + outline: none; + background: var(--color-surface-raised); + box-shadow: 0 0 0 2px var(--color-accent-softer); +} + +/* -------------------------------------------------------------------------- */ + +} diff --git a/frontend/src/styles/variables.css b/frontend/src/styles/variables.css deleted file mode 100644 index 4250d9c..0000000 --- a/frontend/src/styles/variables.css +++ /dev/null @@ -1,31 +0,0 @@ -:root { - --font-sans: "IBM Plex Sans", "Segoe UI", sans-serif; - --font-mono: "IBM Plex Mono", "SFMono-Regular", monospace; - --color-bg: #090a0d; - --color-bg-overlay: rgba(243, 166, 102, 0.05); - --color-grid: rgba(255, 255, 255, 0.035); - --color-panel: rgba(15, 17, 22, 0.92); - --color-panel-strong: #141820; - --color-panel-elevated: #181d27; - --color-border: #282e39; - --color-border-strong: #3a4351; - --color-text: #f2f4f7; - --color-text-muted: #9aa4b2; - --color-accent: #f0a36b; - --color-accent-soft: rgba(240, 163, 107, 0.12); - --color-success: #6bc2a4; - --color-success-soft: rgba(107, 194, 164, 0.12); - --color-danger: #f08d79; - --color-danger-soft: rgba(240, 141, 121, 0.14); - --color-warning: #f3c969; - --color-warning-soft: rgba(243, 201, 105, 0.16); - --scrollbar-size: 10px; - --scrollbar-size-thin: 8px; - --scrollbar-track: rgba(255, 255, 255, 0.02); - --scrollbar-thumb: rgba(154, 164, 178, 0.34); - --scrollbar-thumb-hover: rgba(178, 188, 200, 0.5); - --scrollbar-thumb-active: rgba(208, 216, 226, 0.62); - --scrollbar-corner: rgba(9, 10, 13, 0.01); - --shadow-panel: 0 12px 28px rgba(0, 0, 0, 0.22); - --radius: 4px; -} diff --git a/frontend/src/test/fetch.ts b/frontend/src/test/fetch.ts new file mode 100644 index 0000000..a358e53 --- /dev/null +++ b/frontend/src/test/fetch.ts @@ -0,0 +1,87 @@ +type FetchInput = RequestInfo | URL; + +export function okJson(payload: unknown, init: Partial = {}): Response { + return { + ok: true, + status: 200, + statusText: "OK", + json: async () => payload, + ...init, + } as Response; +} + +export function errorJson( + message: string, + { + status = 500, + statusText = "Server Error", + field = "detail", + }: { + status?: number; + statusText?: string; + field?: "detail" | "error"; + } = {}, +): Response { + return { + ok: false, + status, + statusText, + json: async () => ({ [field]: message }), + } as Response; +} + +export interface FetchRoute { + match: string | RegExp | ((url: string, input: FetchInput, init?: RequestInit) => boolean); + response: + | Response + | unknown + | ((url: string, input: FetchInput, init?: RequestInit) => Response | Promise | unknown | Promise); +} + +export function createRouteFetchMock( + routes: FetchRoute[], + fallback?: (url: string, input: FetchInput, init?: RequestInit) => Response | Promise, +) { + return async (input: FetchInput, init?: RequestInit): Promise => { + const url = typeof input === "string" ? input : input.toString(); + for (const route of routes) { + if (!routeMatches(route.match, url, input, init)) { + continue; + } + const response = + typeof route.response === "function" + ? await route.response(url, input, init) + : route.response; + return isResponseLike(response) ? response : okJson(response); + } + if (fallback) { + return fallback(url, input, init); + } + throw new Error(`Unhandled URL ${url}`); + }; +} + +function routeMatches( + match: FetchRoute["match"], + url: string, + input: FetchInput, + init?: RequestInit, +): boolean { + if (typeof match === "string") { + return url === match || url.includes(match); + } + if (match instanceof RegExp) { + return match.test(url); + } + return match(url, input, init); +} + +function isResponseLike(value: unknown): value is Response { + return Boolean( + value && + typeof value === "object" && + "ok" in value && + "json" in value && + typeof (value as { json?: unknown }).json === "function", + ); +} diff --git a/frontend/src/test/fixtures/marketplace.ts b/frontend/src/test/fixtures/marketplace.ts new file mode 100644 index 0000000..8284b94 --- /dev/null +++ b/frontend/src/test/fixtures/marketplace.ts @@ -0,0 +1,12 @@ +export function marketplacePage( + items: T[] = [], + { + nextOffset = null, + hasMore = false, + }: { + nextOffset?: number | null; + hasMore?: boolean; + } = {}, +) { + return { items, nextOffset, hasMore }; +} diff --git a/frontend/src/test/fixtures/mcp.ts b/frontend/src/test/fixtures/mcp.ts new file mode 100644 index 0000000..0256756 --- /dev/null +++ b/frontend/src/test/fixtures/mcp.ts @@ -0,0 +1,34 @@ +import type { + McpInventoryDto, + McpInventoryEntryDto, +} from "../../features/mcp/api/management-types"; + +export function mcpInventoryPayload( + entries: McpInventoryEntryDto[] = [], + overrides: Partial = {}, +): McpInventoryDto { + return { + columns: [], + entries, + issues: [], + ...overrides, + }; +} + +export function mcpInventoryEntry({ + name, + kind, + displayName = name, + sightings = [], + canEnable = kind === "managed", + spec = null, +}: Pick & Partial): McpInventoryEntryDto { + return { + name, + displayName, + kind, + canEnable, + spec, + sightings, + }; +} diff --git a/frontend/src/test/fixtures/skills.ts b/frontend/src/test/fixtures/skills.ts new file mode 100644 index 0000000..45e3951 --- /dev/null +++ b/frontend/src/test/fixtures/skills.ts @@ -0,0 +1,17 @@ +import type { SkillsPageDto } from "../../features/skills/api/types"; + +export function skillsPayload({ + managed = 0, + unmanaged = 0, + harnessColumns = [], + rows = [], +}: Partial & { + managed?: number; + unmanaged?: number; +} = {}): SkillsPageDto { + return { + summary: { managed, unmanaged }, + harnessColumns, + rows, + }; +} diff --git a/frontend/src/test/render.tsx b/frontend/src/test/render.tsx new file mode 100644 index 0000000..d488fa9 --- /dev/null +++ b/frontend/src/test/render.tsx @@ -0,0 +1,77 @@ +import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; +import { render, type RenderOptions } from "@testing-library/react"; +import { type ReactElement, type ReactNode } from "react"; +import { MemoryRouter } from "react-router-dom"; + +import { ToastProvider } from "../components/Toast"; +import { UiTooltipProvider } from "../components/ui/UiTooltipProvider"; + +export function createTestQueryClient(): QueryClient { + return new QueryClient({ + defaultOptions: { + queries: { retry: false }, + mutations: { retry: false }, + }, + }); +} + +export function renderWithAppProviders( + ui: ReactElement, + { + route = "/", + queryClient = createTestQueryClient(), + ...renderOptions + }: RenderOptions & { + route?: string; + queryClient?: QueryClient; + } = {}, +) { + const result = render(ui, { + wrapper: ({ children }: { children: ReactNode }) => ( + + + + {children} + + + + ), + ...renderOptions, + }); + + return { ...result, queryClient }; +} + +export function renderWithRouter( + ui: ReactElement, + { + route = "/", + ...renderOptions + }: RenderOptions & { + route?: string; + } = {}, +) { + return render(ui, { + wrapper: ({ children }: { children: ReactNode }) => ( + {children} + ), + ...renderOptions, + }); +} + +export function stubDesktopMatchMedia(): void { + Object.defineProperty(window, "matchMedia", { + writable: true, + configurable: true, + value: (query: string) => ({ + matches: false, + media: query, + onchange: null, + addEventListener: () => undefined, + removeEventListener: () => undefined, + addListener: () => undefined, + removeListener: () => undefined, + dispatchEvent: () => false, + }), + }); +} diff --git a/frontend/src/test/setup.ts b/frontend/src/test/setup.ts index f149f27..9c45122 100644 --- a/frontend/src/test/setup.ts +++ b/frontend/src/test/setup.ts @@ -1 +1,12 @@ import "@testing-library/jest-dom/vitest"; +import { vi } from "vitest"; + +if (typeof ResizeObserver === "undefined") { + class ResizeObserver { + observe() {} + unobserve() {} + disconnect() {} + } + + vi.stubGlobal("ResizeObserver", ResizeObserver); +} diff --git a/package-lock.json b/package-lock.json index f7ab8a1..ccf2171 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,16 +1,18 @@ { "name": "skill-manager", - "version": "0.1.0", + "version": "0.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "skill-manager", - "version": "0.1.0", + "version": "0.2.0", "dependencies": { + "@dnd-kit/core": "^6.3.1", "@radix-ui/react-dialog": "^1.1.15", "@radix-ui/react-popover": "^1.1.15", "@radix-ui/react-switch": "^1.2.6", + "@radix-ui/react-tooltip": "^1.2.8", "@tanstack/react-query": "^5.95.2", "lucide-react": "^1.0.1", "react": "^19.1.1", @@ -20,9 +22,9 @@ "remark-gfm": "^4.0.1" }, "devDependencies": { - "@playwright/test": "^1.54.2", "@testing-library/jest-dom": "^6.8.0", "@testing-library/react": "^16.3.0", + "@types/node": "^25.6.0", "@types/react": "^19.1.10", "@types/react-dom": "^19.1.7", "@vitejs/plugin-react": "^5.0.0", @@ -468,6 +470,45 @@ "node": ">=18" } }, + "node_modules/@dnd-kit/accessibility": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@dnd-kit/accessibility/-/accessibility-3.1.1.tgz", + "integrity": "sha512-2P+YgaXF+gRsIihwwY1gCsQSYnu9Zyj2py8kY5fFvUM1qm2WA2u639R6YNVfU4GWr+ZM5mqEsfHZZLoRONbemw==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@dnd-kit/core": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/@dnd-kit/core/-/core-6.3.1.tgz", + "integrity": "sha512-xkGBRQQab4RLwgXxoqETICr6S5JlogafbhNsidmrkVv2YRs5MLwpjoF2qpiGjQt8S9AoxtIV603s0GIUpY5eYQ==", + "license": "MIT", + "dependencies": { + "@dnd-kit/accessibility": "^3.1.1", + "@dnd-kit/utilities": "^3.2.2", + "tslib": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@dnd-kit/utilities": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@dnd-kit/utilities/-/utilities-3.2.2.tgz", + "integrity": "sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, "node_modules/@esbuild/aix-ppc64": { "version": "0.27.4", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.4.tgz", @@ -998,22 +1039,6 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@playwright/test": { - "version": "1.58.2", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.58.2.tgz", - "integrity": "sha512-akea+6bHYBBfA9uQqSYmlJXn61cTa+jbO87xVLCWbTqbWadRVmhxlXATaOjOgcBaWU4ePo0wB41KMFv3o35IXA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.58.2" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/@radix-ui/primitive": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.3.tgz", @@ -1381,6 +1406,40 @@ } } }, + "node_modules/@radix-ui/react-tooltip": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.2.8.tgz", + "integrity": "sha512-tY7sVt1yL9ozIxvmbtN5qtmH2krXcBCfjEiCgKGLqunJHvgvZG2Pcl2oQ3kbcZARb1BGEHdkLzcYGO8ynVlieg==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-popper": "1.2.8", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-visually-hidden": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, "node_modules/@radix-ui/react-use-callback-ref": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.1.tgz", @@ -1517,6 +1576,29 @@ } } }, + "node_modules/@radix-ui/react-visually-hidden": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.2.3.tgz", + "integrity": "sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, "node_modules/@radix-ui/rect": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.1.tgz", @@ -2186,6 +2268,16 @@ "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", "license": "MIT" }, + "node_modules/@types/node": { + "version": "25.6.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz", + "integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.19.0" + } + }, "node_modules/@types/react": { "version": "19.2.14", "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", @@ -4348,38 +4440,6 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/playwright": { - "version": "1.58.2", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.58.2.tgz", - "integrity": "sha512-vA30H8Nvkq/cPBnNw4Q8TWz1EJyqgpuinBcHET0YVJVFldr8JDNiU9LaWAE1KqSkRYazuaBhTpB5ZzShOezQ6A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.58.2" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.58.2", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.58.2.tgz", - "integrity": "sha512-yZkEtftgwS8CsfYo7nm0KE8jsvm6i/PTgVtB8DL726wNf6H2IMsDuxCpJj59KDaxCtSnrWan2AeDqM7JBaultg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/pluralize": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", @@ -5098,6 +5158,13 @@ "node": ">=14.17" } }, + "node_modules/undici-types": { + "version": "7.19.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz", + "integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==", + "dev": true, + "license": "MIT" + }, "node_modules/unified": { "version": "11.0.5", "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", diff --git a/package.json b/package.json index 84401a8..b8fe99f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "skill-manager", "private": true, - "version": "0.1.0", + "version": "0.2.0", "type": "module", "scripts": { "dev": "VITE_API_BASE=/api vite --host 127.0.0.1 --port 5173", @@ -14,14 +14,15 @@ "build": "VITE_API_BASE=/api vite build", "typecheck": "tsc --noEmit", "test": "vitest run", - "test:e2e": "playwright test", "codegen:openapi": "./.venv/bin/python scripts/dump_openapi.py && openapi-typescript frontend/src/api/openapi.json -o frontend/src/api/generated.ts", "codegen:check": "npm run codegen:openapi && git diff --exit-code frontend/src/api/openapi.json frontend/src/api/generated.ts" }, "dependencies": { + "@dnd-kit/core": "^6.3.1", "@radix-ui/react-dialog": "^1.1.15", "@radix-ui/react-popover": "^1.1.15", "@radix-ui/react-switch": "^1.2.6", + "@radix-ui/react-tooltip": "^1.2.8", "@tanstack/react-query": "^5.95.2", "lucide-react": "^1.0.1", "react": "^19.1.1", @@ -31,9 +32,9 @@ "remark-gfm": "^4.0.1" }, "devDependencies": { - "@playwright/test": "^1.54.2", "@testing-library/jest-dom": "^6.8.0", "@testing-library/react": "^16.3.0", + "@types/node": "^25.6.0", "@types/react": "^19.1.10", "@types/react-dom": "^19.1.7", "@vitejs/plugin-react": "^5.0.0", diff --git a/packaging/npm/package.json b/packaging/npm/package.json index b2ca11c..32e6a1f 100644 --- a/packaging/npm/package.json +++ b/packaging/npm/package.json @@ -1,6 +1,6 @@ { "name": "@mode-io/skill-manager", - "version": "0.1.0", + "version": "0.2.0", "description": "Public macOS installer wrapper for the Mode IO skill-manager native release artifact.", "license": "MIT", "private": false, diff --git a/playwright.config.ts b/playwright.config.ts deleted file mode 100644 index f6262d6..0000000 --- a/playwright.config.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { defineConfig } from "@playwright/test"; - -export default defineConfig({ - testDir: "./frontend/e2e", - timeout: 30000, - use: { - baseURL: "http://127.0.0.1:4173", - trace: "retain-on-failure", - }, - webServer: { - command: "./.venv/bin/python scripts/serve_e2e_fixture.py", - url: "http://127.0.0.1:4173/api/health", - reuseExistingServer: false, - timeout: 30000, - }, -}); diff --git a/pyproject.toml b/pyproject.toml index 24f6c1f..25ccec7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,6 +20,7 @@ classifiers = [ dependencies = [ "certifi>=2024.0.0", "fastapi>=0.135,<0.136", + "tomli-w>=1.2,<2", "uvicorn>=0.44,<0.45", "certifi>=2024.8.30,<2026", ] diff --git a/requirements.txt b/requirements.txt index 4601f1b..10623e2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,5 @@ certifi>=2024.0.0 fastapi>=0.135,<0.136 +tomli-w>=1.2,<2 uvicorn>=0.44,<0.45 certifi>=2024.8.30,<2026 diff --git a/scripts/ci_validate.sh b/scripts/ci_validate.sh index d76681c..7595c3c 100755 --- a/scripts/ci_validate.sh +++ b/scripts/ci_validate.sh @@ -7,4 +7,3 @@ cd "$ROOT_DIR" bash "$ROOT_DIR/scripts/test_backend.sh" npm run test npm run build -npm run test:e2e diff --git a/scripts/dump_openapi.py b/scripts/dump_openapi.py index a6f60fd..f8770f1 100644 --- a/scripts/dump_openapi.py +++ b/scripts/dump_openapi.py @@ -11,7 +11,7 @@ from skill_manager.api.app import create_app # noqa: E402 from skill_manager.application import build_backend_container # noqa: E402 -from skill_manager.application.marketplace import MarketplaceCatalog # noqa: E402 +from skill_manager.application.skills.marketplace import MarketplaceCatalog # noqa: E402 def main() -> int: diff --git a/scripts/validate_npm_wrapper.sh b/scripts/validate_npm_wrapper.sh index 7aa8c5e..90f5781 100755 --- a/scripts/validate_npm_wrapper.sh +++ b/scripts/validate_npm_wrapper.sh @@ -13,6 +13,11 @@ TMP_DIR="$(mktemp -d "${TMPDIR:-/tmp}/skill-manager-npm-XXXXXX")" FIXTURE_MANIFEST="$TMP_DIR/marketplace-fixture.json" FIXTURE_LOG="$TMP_DIR/marketplace-fixture.log" FIXTURE_PID="" +export HOME="$TMP_DIR/home" +export XDG_CONFIG_HOME="$TMP_DIR/xdg-config" +export XDG_DATA_HOME="$TMP_DIR/xdg-data" +export XDG_STATE_HOME="$TMP_DIR/xdg-state" +mkdir -p "$HOME" "$XDG_CONFIG_HOME" "$XDG_DATA_HOME" "$XDG_STATE_HOME" resolve_python_bin() { if [[ -n "${PYTHON_BIN:-}" ]]; then diff --git a/scripts/validate_release_artifact.py b/scripts/validate_release_artifact.py index 01115d0..968498d 100755 --- a/scripts/validate_release_artifact.py +++ b/scripts/validate_release_artifact.py @@ -94,9 +94,23 @@ def main(argv: list[str] | None = None) -> int: raise RuntimeError(f"unexpected version output: expected {expected_version!r}, got {version_output!r}") runtime_dir = tmp_path / "runtime" + home_dir = tmp_path / "home" + xdg_config_dir = tmp_path / "xdg-config" + xdg_data_dir = tmp_path / "xdg-data" + xdg_state_dir = tmp_path / "xdg-state" + for path in (home_dir, xdg_config_dir, xdg_data_dir, xdg_state_dir): + path.mkdir(parents=True, exist_ok=True) with MarketplaceFixtureServer() as fixture: runtime_env = dict(os.environ) runtime_env.update(fixture.env()) + runtime_env.update( + { + "HOME": str(home_dir), + "XDG_CONFIG_HOME": str(xdg_config_dir), + "XDG_DATA_HOME": str(xdg_data_dir), + "XDG_STATE_HOME": str(xdg_state_dir), + } + ) try: start_output = run( [ diff --git a/skill_manager/VERSION b/skill_manager/VERSION index 6e8bf73..0ea3a94 100644 --- a/skill_manager/VERSION +++ b/skill_manager/VERSION @@ -1 +1 @@ -0.1.0 +0.2.0 diff --git a/skill_manager/api/app.py b/skill_manager/api/app.py index c9b0916..9f812a0 100644 --- a/skill_manager/api/app.py +++ b/skill_manager/api/app.py @@ -8,7 +8,7 @@ from skill_manager.application import BackendContainer from .errors import install_error_handlers -from .routers import health, marketplace, settings, skills +from .routers import health, marketplace, mcp, settings, skills def create_app( @@ -24,6 +24,7 @@ def create_app( app.include_router(settings.router) app.include_router(skills.router) app.include_router(marketplace.router) + app.include_router(mcp.router) @app.get("/{full_path:path}", include_in_schema=False, response_model=None) def serve_frontend(full_path: str): diff --git a/skill_manager/api/routers/__init__.py b/skill_manager/api/routers/__init__.py index 048e861..489dc10 100644 --- a/skill_manager/api/routers/__init__.py +++ b/skill_manager/api/routers/__init__.py @@ -1,3 +1,3 @@ -from . import health, marketplace, settings, skills +from . import health, marketplace, mcp, settings, skills -__all__ = ["health", "marketplace", "settings", "skills"] +__all__ = ["health", "marketplace", "mcp", "settings", "skills"] diff --git a/skill_manager/api/routers/marketplace.py b/skill_manager/api/routers/marketplace.py index 7fd66c9..3dc5423 100644 --- a/skill_manager/api/routers/marketplace.py +++ b/skill_manager/api/routers/marketplace.py @@ -1,55 +1,10 @@ from __future__ import annotations -from fastapi import APIRouter, Depends, HTTPException, Query +from fastapi import APIRouter -from skill_manager.application import BackendContainer -from skill_manager.api.deps import get_container -from skill_manager.api.schemas import InstallMarketplaceSkillRequest +from . import marketplace_clis, marketplace_mcp, marketplace_skills -router = APIRouter(prefix="/api/marketplace") - - -@router.get("/popular") -def popular_marketplace( - limit: int | None = Query(default=None), - offset: int = Query(default=0), - container: BackendContainer = Depends(get_container), -) -> dict[str, object]: - return container.marketplace_queries.popular_page(limit=limit, offset=offset) - - -@router.get("/search") -def search_marketplace( - q: str = Query(...), - limit: int | None = Query(default=None), - offset: int = Query(default=0), - container: BackendContainer = Depends(get_container), -) -> dict[str, object]: - try: - return container.marketplace_queries.search_page(q, limit=limit, offset=offset) - except ValueError as error: - raise HTTPException(status_code=400, detail=str(error)) from error - - -@router.get("/items/{item_id:path}/document") -def get_marketplace_document(item_id: str, container: BackendContainer = Depends(get_container)) -> dict[str, object]: - payload = container.marketplace_queries.get_item_document(item_id) - if payload is None: - raise HTTPException(status_code=404, detail=f"unknown marketplace item: {item_id}") - return payload - - -@router.get("/items/{item_id:path}") -def get_marketplace_detail(item_id: str, container: BackendContainer = Depends(get_container)) -> dict[str, object]: - payload = container.marketplace_queries.get_item_detail(item_id) - if payload is None: - raise HTTPException(status_code=404, detail=f"unknown marketplace item: {item_id}") - return payload - - -@router.post("/install") -def install_marketplace_skill( - body: InstallMarketplaceSkillRequest, - container: BackendContainer = Depends(get_container), -) -> dict[str, bool]: - return container.marketplace_installs.install_skill(body.install_token) +router = APIRouter() +router.include_router(marketplace_skills.router) +router.include_router(marketplace_mcp.router) +router.include_router(marketplace_clis.router) diff --git a/skill_manager/api/routers/marketplace_clis.py b/skill_manager/api/routers/marketplace_clis.py new file mode 100644 index 0000000..ea05741 --- /dev/null +++ b/skill_manager/api/routers/marketplace_clis.py @@ -0,0 +1,45 @@ +from __future__ import annotations + +from fastapi import APIRouter, Depends, HTTPException, Query + +from skill_manager.api.deps import get_container +from skill_manager.api.schemas import ( + CliMarketplaceDetailResponse, + CliMarketplacePageResponse, +) +from skill_manager.application import BackendContainer + +router = APIRouter(prefix="/api/marketplace/clis") + + +@router.get("/popular", response_model=CliMarketplacePageResponse) +def popular_cli_marketplace( + limit: int | None = Query(default=None), + offset: int = Query(default=0), + container: BackendContainer = Depends(get_container), +) -> dict[str, object]: + return container.cli_marketplace_catalog.popular_page(limit=limit, offset=offset) + + +@router.get("/search", response_model=CliMarketplacePageResponse) +def search_cli_marketplace( + q: str = Query(default=""), + limit: int | None = Query(default=None), + offset: int = Query(default=0), + container: BackendContainer = Depends(get_container), +) -> dict[str, object]: + try: + return container.cli_marketplace_catalog.search_page(q, limit=limit, offset=offset) + except ValueError as error: + raise HTTPException(status_code=400, detail=str(error)) from error + + +@router.get("/items/{slug:path}", response_model=CliMarketplaceDetailResponse) +def get_cli_marketplace_detail( + slug: str, + container: BackendContainer = Depends(get_container), +) -> dict[str, object]: + payload = container.cli_marketplace_catalog.detail(slug) + if payload is None: + raise HTTPException(status_code=404, detail=f"unknown CLI: {slug}") + return payload diff --git a/skill_manager/api/routers/marketplace_mcp.py b/skill_manager/api/routers/marketplace_mcp.py new file mode 100644 index 0000000..c7f7c1c --- /dev/null +++ b/skill_manager/api/routers/marketplace_mcp.py @@ -0,0 +1,61 @@ +from __future__ import annotations + +from fastapi import APIRouter, Depends, HTTPException, Query + +from skill_manager.api.deps import get_container +from skill_manager.api.schemas import ( + McpInstallTargetsResponse, + McpMarketplaceDetailResponse, + McpMarketplacePageResponse, +) +from skill_manager.application import BackendContainer + +router = APIRouter(prefix="/api/marketplace/mcp") + + +@router.get("/popular", response_model=McpMarketplacePageResponse) +def popular_mcp_marketplace( + limit: int | None = Query(default=None), + offset: int = Query(default=0), + container: BackendContainer = Depends(get_container), +) -> dict[str, object]: + return container.mcp_marketplace_catalog.popular_page(limit=limit, offset=offset) + + +@router.get("/search", response_model=McpMarketplacePageResponse) +def search_mcp_marketplace( + q: str = Query(default=""), + limit: int | None = Query(default=None), + offset: int = Query(default=0), + remote: bool | None = Query(default=None), + verified: bool | None = Query(default=None), + container: BackendContainer = Depends(get_container), +) -> dict[str, object]: + try: + return container.mcp_marketplace_catalog.search_page( + q, + limit=limit, + offset=offset, + remote=remote, + verified=verified, + ) + except ValueError as error: + raise HTTPException(status_code=400, detail=str(error)) from error + + +@router.get("/install-targets", response_model=McpInstallTargetsResponse) +def get_mcp_install_targets( + container: BackendContainer = Depends(get_container), +) -> dict[str, object]: + return container.mcp_mutations.install_targets() + + +@router.get("/items/{qualified_name:path}", response_model=McpMarketplaceDetailResponse) +def get_mcp_marketplace_detail( + qualified_name: str, + container: BackendContainer = Depends(get_container), +) -> dict[str, object]: + payload = container.mcp_marketplace_catalog.detail(qualified_name) + if payload is None: + raise HTTPException(status_code=404, detail=f"unknown MCP server: {qualified_name}") + return payload diff --git a/skill_manager/api/routers/marketplace_skills.py b/skill_manager/api/routers/marketplace_skills.py new file mode 100644 index 0000000..9d2080e --- /dev/null +++ b/skill_manager/api/routers/marketplace_skills.py @@ -0,0 +1,55 @@ +from __future__ import annotations + +from fastapi import APIRouter, Depends, HTTPException, Query + +from skill_manager.api.deps import get_container +from skill_manager.api.schemas import InstallMarketplaceSkillRequest +from skill_manager.application import BackendContainer + +router = APIRouter(prefix="/api/marketplace") + + +@router.get("/popular") +def popular_marketplace( + limit: int | None = Query(default=None), + offset: int = Query(default=0), + container: BackendContainer = Depends(get_container), +) -> dict[str, object]: + return container.skills_marketplace_queries.popular_page(limit=limit, offset=offset) + + +@router.get("/search") +def search_marketplace( + q: str = Query(...), + limit: int | None = Query(default=None), + offset: int = Query(default=0), + container: BackendContainer = Depends(get_container), +) -> dict[str, object]: + try: + return container.skills_marketplace_queries.search_page(q, limit=limit, offset=offset) + except ValueError as error: + raise HTTPException(status_code=400, detail=str(error)) from error + + +@router.get("/items/{item_id:path}/document") +def get_marketplace_document(item_id: str, container: BackendContainer = Depends(get_container)) -> dict[str, object]: + payload = container.skills_marketplace_queries.get_item_document(item_id) + if payload is None: + raise HTTPException(status_code=404, detail=f"unknown marketplace item: {item_id}") + return payload + + +@router.get("/items/{item_id:path}") +def get_marketplace_detail(item_id: str, container: BackendContainer = Depends(get_container)) -> dict[str, object]: + payload = container.skills_marketplace_queries.get_item_detail(item_id) + if payload is None: + raise HTTPException(status_code=404, detail=f"unknown marketplace item: {item_id}") + return payload + + +@router.post("/install") +def install_marketplace_skill( + body: InstallMarketplaceSkillRequest, + container: BackendContainer = Depends(get_container), +) -> dict[str, bool]: + return container.skills_marketplace_installs.install_skill(body.install_token) diff --git a/skill_manager/api/routers/mcp.py b/skill_manager/api/routers/mcp.py new file mode 100644 index 0000000..098f6dc --- /dev/null +++ b/skill_manager/api/routers/mcp.py @@ -0,0 +1,115 @@ +from __future__ import annotations + +from fastapi import APIRouter, Depends + +from skill_manager.api.deps import get_container +from skill_manager.api.schemas import ( + AddMcpServerRequest, + AdoptMcpRequest, + DisableMcpServerRequest, + EnableMcpServerRequest, + McpApplyConfigResponse, + McpInventoryResponse, + McpServerDetailResponse, + McpServerMutationResponse, + McpSetHarnessesResultResponse, + McpUnmanagedByServerResponse, + OkResponse, + ReconcileMcpServerRequest, + SetMcpServerHarnessesRequest, +) +from skill_manager.application import BackendContainer + +router = APIRouter(prefix="/api/mcp") + + +@router.get("/servers", response_model=McpInventoryResponse) +def list_mcp_servers(container: BackendContainer = Depends(get_container)) -> dict[str, object]: + return container.mcp_queries.list_servers() + + +@router.get("/servers/{name}", response_model=McpServerDetailResponse) +def get_mcp_server( + name: str, + container: BackendContainer = Depends(get_container), +) -> dict[str, object]: + return container.mcp_queries.get_server(name) + + +@router.post("/servers", response_model=McpServerMutationResponse) +def install_mcp_server( + body: AddMcpServerRequest, + container: BackendContainer = Depends(get_container), +) -> dict[str, object]: + return container.mcp_mutations.install_from_marketplace( + body.qualified_name, + source_harness=body.source_harness, + ) + + +@router.delete("/servers/{name}", response_model=McpSetHarnessesResultResponse) +def uninstall_mcp_server( + name: str, + container: BackendContainer = Depends(get_container), +) -> dict[str, object]: + return container.mcp_mutations.uninstall_server(name) + + +@router.post("/servers/{name}/enable", response_model=OkResponse) +def enable_mcp_server( + name: str, + body: EnableMcpServerRequest, + container: BackendContainer = Depends(get_container), +) -> dict[str, bool]: + return container.mcp_mutations.enable_server(name, body.harness) + + +@router.post("/servers/{name}/disable", response_model=OkResponse) +def disable_mcp_server( + name: str, + body: DisableMcpServerRequest, + container: BackendContainer = Depends(get_container), +) -> dict[str, bool]: + return container.mcp_mutations.disable_server(name, body.harness) + + +@router.post("/servers/{name}/reconcile", response_model=McpApplyConfigResponse) +def reconcile_mcp_server( + name: str, + body: ReconcileMcpServerRequest, + container: BackendContainer = Depends(get_container), +) -> dict[str, object]: + return container.mcp_mutations.reconcile_server( + name, + source_kind=body.source_kind, + source_harness=body.source_harness, + harnesses=body.harnesses, + ) + + +@router.post("/servers/{name}/set-harnesses", response_model=McpSetHarnessesResultResponse) +def set_mcp_server_harnesses( + name: str, + body: SetMcpServerHarnessesRequest, + container: BackendContainer = Depends(get_container), +) -> dict[str, object]: + return container.mcp_mutations.set_server_all_harnesses(name, body.target) + + +@router.get("/unmanaged/by-server", response_model=McpUnmanagedByServerResponse) +def list_unmanaged_by_server( + container: BackendContainer = Depends(get_container), +) -> dict[str, object]: + return container.mcp_queries.list_unmanaged_by_server() + + +@router.post("/unmanaged/adopt", response_model=McpApplyConfigResponse) +def adopt_mcp_server( + body: AdoptMcpRequest, + container: BackendContainer = Depends(get_container), +) -> dict[str, object]: + return container.mcp_mutations.adopt( + body.name, + source_harness=body.source_harness, + harnesses=body.harnesses, + ) diff --git a/skill_manager/api/routers/skills.py b/skill_manager/api/routers/skills.py index 554792b..558c4b9 100644 --- a/skill_manager/api/routers/skills.py +++ b/skill_manager/api/routers/skills.py @@ -4,17 +4,27 @@ from skill_manager.application import BackendContainer from skill_manager.api.deps import get_container -from skill_manager.api.schemas import DisableSkillRequest, EnableSkillRequest +from skill_manager.api.schemas import ( + BulkManageResultResponse, + DisableSkillRequest, + EnableSkillRequest, + OkResponse, + SetSkillHarnessesRequest, + SetSkillHarnessesResultResponse, + SkillDetailResponse, + SkillsPageResponse, + SkillSourceStatusResponse, +) router = APIRouter(prefix="/api/skills") -@router.get("") +@router.get("", response_model=SkillsPageResponse) def list_skills(container: BackendContainer = Depends(get_container)) -> dict[str, object]: return container.skills_queries.list_skills() -@router.get("/{skill_ref:path}/source-status") +@router.get("/{skill_ref:path}/source-status", response_model=SkillSourceStatusResponse) def get_skill_source_status(skill_ref: str, container: BackendContainer = Depends(get_container)) -> dict[str, object]: payload = container.skills_queries.get_skill_source_status(skill_ref) if payload is None: @@ -22,7 +32,7 @@ def get_skill_source_status(skill_ref: str, container: BackendContainer = Depend return payload -@router.get("/{skill_ref:path}") +@router.get("/{skill_ref:path}", response_model=SkillDetailResponse) def get_skill_detail(skill_ref: str, container: BackendContainer = Depends(get_container)) -> dict[str, object]: payload = container.skills_queries.get_skill_detail(skill_ref) if payload is None: @@ -30,7 +40,7 @@ def get_skill_detail(skill_ref: str, container: BackendContainer = Depends(get_c return payload -@router.post("/{skill_ref:path}/enable") +@router.post("/{skill_ref:path}/enable", response_model=OkResponse) def enable_skill( skill_ref: str, body: EnableSkillRequest, @@ -39,7 +49,7 @@ def enable_skill( return container.skills_mutations.enable_skill(skill_ref, body.harness) -@router.post("/{skill_ref:path}/disable") +@router.post("/{skill_ref:path}/disable", response_model=OkResponse) def disable_skill( skill_ref: str, body: DisableSkillRequest, @@ -48,26 +58,35 @@ def disable_skill( return container.skills_mutations.disable_skill(skill_ref, body.harness) -@router.post("/{skill_ref:path}/manage") +@router.post("/{skill_ref:path}/set-harnesses", response_model=SetSkillHarnessesResultResponse) +def set_skill_harnesses( + skill_ref: str, + body: SetSkillHarnessesRequest, + container: BackendContainer = Depends(get_container), +) -> dict[str, object]: + return container.skills_mutations.set_skill_all_harnesses(skill_ref, body.target) + + +@router.post("/{skill_ref:path}/manage", response_model=OkResponse) def manage_skill(skill_ref: str, container: BackendContainer = Depends(get_container)) -> dict[str, bool]: return container.skills_mutations.manage_skill(skill_ref) -@router.post("/manage-all") +@router.post("/manage-all", response_model=BulkManageResultResponse) def manage_all_skills(container: BackendContainer = Depends(get_container)) -> dict[str, object]: return container.skills_mutations.manage_all_skills() -@router.post("/{skill_ref:path}/update") +@router.post("/{skill_ref:path}/update", response_model=OkResponse) def update_skill(skill_ref: str, container: BackendContainer = Depends(get_container)) -> dict[str, bool]: return container.skills_mutations.update_skill(skill_ref) -@router.post("/{skill_ref:path}/unmanage") +@router.post("/{skill_ref:path}/unmanage", response_model=OkResponse) def unmanage_skill(skill_ref: str, container: BackendContainer = Depends(get_container)) -> dict[str, bool]: return container.skills_mutations.unmanage_skill(skill_ref) -@router.post("/{skill_ref:path}/delete") +@router.post("/{skill_ref:path}/delete", response_model=OkResponse) def delete_skill(skill_ref: str, container: BackendContainer = Depends(get_container)) -> dict[str, bool]: return container.skills_mutations.delete_skill(skill_ref) diff --git a/skill_manager/api/schemas.py b/skill_manager/api/schemas.py deleted file mode 100644 index 3c3d063..0000000 --- a/skill_manager/api/schemas.py +++ /dev/null @@ -1,25 +0,0 @@ -from __future__ import annotations - -from pydantic import BaseModel, ConfigDict, Field - - -class HarnessTarget(BaseModel): - harness: str = Field(..., min_length=1, description="Harness identifier") - - -class EnableSkillRequest(HarnessTarget): - pass - - -class DisableSkillRequest(HarnessTarget): - pass - - -class InstallMarketplaceSkillRequest(BaseModel): - model_config = ConfigDict(populate_by_name=True) - - install_token: str = Field(..., alias="installToken", min_length=1) - - -class SetHarnessSupportRequest(BaseModel): - enabled: bool diff --git a/skill_manager/api/schemas/__init__.py b/skill_manager/api/schemas/__init__.py new file mode 100644 index 0000000..82dd323 --- /dev/null +++ b/skill_manager/api/schemas/__init__.py @@ -0,0 +1,141 @@ +from .common import HarnessTarget, OkResponse, SetHarnessSupportRequest +from .cli_marketplace import ( + CliMarketplaceDetailResponse, + CliMarketplaceItemResponse, + CliMarketplacePageResponse, +) +from .mcp import ( + AddMcpServerRequest, + AdoptMcpRequest, + DisableMcpServerRequest, + EnableMcpServerRequest, + McpApplyConfigResponse, + McpAdoptionIssueResponse, + McpBindingResponse, + McpConfigChoiceResponse, + McpEnvEntryResponse, + McpIdentityGroupResponse, + McpIdentitySightingResponse, + McpInstallTargetResponse, + McpInstallTargetsResponse, + McpInventoryColumnResponse, + McpInventoryEntryResponse, + McpInventoryIssueResponse, + McpInventoryResponse, + McpMarketplaceCapabilityCountsResponse, + McpMarketplaceConnectionResponse, + McpMarketplaceDetailResponse, + McpMarketplaceItemResponse, + McpMarketplaceLinkResponse, + McpMarketplacePageResponse, + McpMarketplaceParameterResponse, + McpMarketplacePromptArgumentResponse, + McpMarketplacePromptResponse, + McpMarketplaceResourceResponse, + McpMarketplaceToolResponse, + McpMutationFailureResponse, + McpServerDetailResponse, + McpServerMutationResponse, + McpServerSpecResponse, + McpSetHarnessesResultResponse, + McpSourceResponse, + McpUnmanagedByServerResponse, + McpUnmanagedHarnessResponse, + ReconcileMcpServerRequest, + SetMcpServerHarnessesRequest, +) +from .skills import ( + BulkManageFailureResponse, + BulkManageResultResponse, + DisableSkillRequest, + EnableSkillRequest, + HarnessCellResponse, + HarnessCellState, + HarnessColumnResponse, + InstallMarketplaceSkillRequest, + SetSkillHarnessesFailureResponse, + SetSkillHarnessesRequest, + SetSkillHarnessesResultResponse, + SkillDetailActionsResponse, + SkillDetailResponse, + SkillLocationResponse, + SkillRowActionsResponse, + SkillSourceLinksResponse, + SkillSourceStatusResponse, + SkillStatus, + SkillStopManagingStatus, + SkillTableRowResponse, + SkillUpdateStatus, + SkillsPageResponse, + SkillsSummaryResponse, +) + +__all__ = [ + "AdoptMcpRequest", + "BulkManageFailureResponse", + "BulkManageResultResponse", + "CliMarketplaceDetailResponse", + "CliMarketplaceItemResponse", + "CliMarketplacePageResponse", + "DisableMcpServerRequest", + "DisableSkillRequest", + "EnableMcpServerRequest", + "EnableSkillRequest", + "HarnessCellResponse", + "HarnessCellState", + "HarnessColumnResponse", + "HarnessTarget", + "InstallMarketplaceSkillRequest", + "AddMcpServerRequest", + "McpApplyConfigResponse", + "McpAdoptionIssueResponse", + "McpBindingResponse", + "McpConfigChoiceResponse", + "McpEnvEntryResponse", + "McpIdentityGroupResponse", + "McpIdentitySightingResponse", + "McpInstallTargetResponse", + "McpInstallTargetsResponse", + "McpInventoryColumnResponse", + "McpInventoryEntryResponse", + "McpInventoryIssueResponse", + "McpInventoryResponse", + "McpMarketplaceCapabilityCountsResponse", + "McpMarketplaceConnectionResponse", + "McpMarketplaceDetailResponse", + "McpMarketplaceItemResponse", + "McpMarketplaceLinkResponse", + "McpMarketplacePageResponse", + "McpMarketplaceParameterResponse", + "McpMarketplacePromptArgumentResponse", + "McpMarketplacePromptResponse", + "McpMarketplaceResourceResponse", + "McpMarketplaceToolResponse", + "McpMutationFailureResponse", + "McpServerDetailResponse", + "McpServerMutationResponse", + "McpServerSpecResponse", + "McpSetHarnessesResultResponse", + "McpSourceResponse", + "McpUnmanagedByServerResponse", + "McpUnmanagedHarnessResponse", + "OkResponse", + "ReconcileMcpServerRequest", + "SetHarnessSupportRequest", + "SetMcpServerHarnessesRequest", + "SetSkillHarnessesFailureResponse", + "SetSkillHarnessesRequest", + "SetSkillHarnessesResultResponse", + "SkillDetailActionsResponse", + "SkillDetailResponse", + "SkillLocationResponse", + "SkillRowActionsResponse", + "SkillSourceLinksResponse", + "SkillSourceStatusResponse", + "SkillStatus", + "SkillStopManagingStatus", + "SkillTableRowResponse", + "SkillUpdateStatus", + "SkillsPageResponse", + "SkillsSummaryResponse", +] diff --git a/skill_manager/api/schemas/cli_marketplace.py b/skill_manager/api/schemas/cli_marketplace.py new file mode 100644 index 0000000..b0b7bb6 --- /dev/null +++ b/skill_manager/api/schemas/cli_marketplace.py @@ -0,0 +1,41 @@ +from __future__ import annotations + +from pydantic import BaseModel + + +class CliMarketplaceItemResponse(BaseModel): + id: str + slug: str + name: str + description: str + marketplaceUrl: str + iconUrl: str | None = None + githubUrl: str | None = None + websiteUrl: str | None = None + stars: int | None = None + language: str | None = None + category: str | None = None + hasMcp: bool + hasSkill: bool + isOfficial: bool + isTui: bool + sourceType: str | None = None + vendorName: str | None = None + + +class CliMarketplacePageResponse(BaseModel): + items: list[CliMarketplaceItemResponse] + nextOffset: int | None = None + hasMore: bool + + +class CliMarketplaceDetailResponse(CliMarketplaceItemResponse): + longDescription: str | None = None + installCommand: str | None = None + + +__all__ = [ + "CliMarketplaceDetailResponse", + "CliMarketplaceItemResponse", + "CliMarketplacePageResponse", +] diff --git a/skill_manager/api/schemas/common.py b/skill_manager/api/schemas/common.py new file mode 100644 index 0000000..a7cc70a --- /dev/null +++ b/skill_manager/api/schemas/common.py @@ -0,0 +1,18 @@ +from __future__ import annotations + +from pydantic import BaseModel, Field + + +class HarnessTarget(BaseModel): + harness: str = Field(..., min_length=1, description="Harness identifier") + + +class SetHarnessSupportRequest(BaseModel): + enabled: bool + + +class OkResponse(BaseModel): + ok: bool + + +__all__ = ["HarnessTarget", "OkResponse", "SetHarnessSupportRequest"] diff --git a/skill_manager/api/schemas/mcp.py b/skill_manager/api/schemas/mcp.py new file mode 100644 index 0000000..ae8ebc9 --- /dev/null +++ b/skill_manager/api/schemas/mcp.py @@ -0,0 +1,347 @@ +from __future__ import annotations + +from typing import Literal + +from pydantic import BaseModel, ConfigDict, Field + +from .common import HarnessTarget + + +class AddMcpServerRequest(BaseModel): + model_config = ConfigDict(populate_by_name=True) + + qualified_name: str = Field(..., alias="qualifiedName", min_length=1) + source_harness: str = Field(..., alias="sourceHarness", min_length=1) + + +class EnableMcpServerRequest(HarnessTarget): + pass + + +class DisableMcpServerRequest(HarnessTarget): + pass + + +class SetMcpServerHarnessesRequest(BaseModel): + target: Literal["enabled", "disabled"] + + +class AdoptMcpRequest(BaseModel): + model_config = ConfigDict(populate_by_name=True, extra="forbid") + + name: str = Field(..., min_length=1) + source_harness: str | None = Field(default=None, alias="sourceHarness") + harnesses: list[str] | None = None + + +class ReconcileMcpServerRequest(BaseModel): + model_config = ConfigDict(populate_by_name=True, extra="forbid") + + source_kind: Literal["managed", "harness"] = Field(..., alias="sourceKind") + source_harness: str | None = Field(default=None, alias="sourceHarness") + harnesses: list[str] | None = None + + +class McpSourceResponse(BaseModel): + kind: Literal["marketplace", "adopted", "manual"] + locator: str + + +class McpServerSpecResponse(BaseModel): + name: str + displayName: str + source: McpSourceResponse + transport: Literal["stdio", "http", "sse"] + command: str | None = None + args: list[str] | None = None + env: dict[str, str] | None = None + url: str | None = None + headers: dict[str, str] | None = None + installedAt: str + revision: str + + +class McpInventoryColumnResponse(BaseModel): + harness: str + label: str + logoKey: str | None = None + installed: bool + configPresent: bool + mcpWritable: bool = True + mcpUnavailableReason: str | None = None + + +class McpInventoryIssueResponse(BaseModel): + name: str + reason: str + + +class McpBindingResponse(BaseModel): + harness: str + state: Literal["managed", "drifted", "unmanaged", "missing"] + driftDetail: str | None = None + + +class McpInventoryEntryResponse(BaseModel): + name: str + displayName: str + kind: Literal["managed", "unmanaged"] + spec: McpServerSpecResponse | None = None + canEnable: bool + sightings: list[McpBindingResponse] + + +class McpInventoryResponse(BaseModel): + columns: list[McpInventoryColumnResponse] + entries: list[McpInventoryEntryResponse] + issues: list[McpInventoryIssueResponse] = Field(default_factory=list) + + +class McpMutationFailureResponse(BaseModel): + harness: str + error: str + + +class McpSetHarnessesResultResponse(BaseModel): + ok: bool + succeeded: list[str] + failed: list[McpMutationFailureResponse] + + +class McpServerMutationResponse(BaseModel): + ok: bool + server: McpServerSpecResponse + + +class McpApplyConfigResponse(BaseModel): + ok: bool + server: McpServerSpecResponse + succeeded: list[str] + failed: list[McpMutationFailureResponse] + + +class McpEnvEntryResponse(BaseModel): + key: str + value: str | None = None + isEnvRef: bool + + +class McpConfigChoiceResponse(BaseModel): + sourceKind: Literal["managed", "harness"] + sourceHarness: str | None = None + label: str + logoKey: str | None = None + configPath: str | None = None + payloadPreview: dict[str, object] + spec: McpServerSpecResponse + env: list[McpEnvEntryResponse] = Field(default_factory=list) + + +class McpMarketplaceLinkResponse(BaseModel): + qualifiedName: str + displayName: str + iconUrl: str | None = None + externalUrl: str + description: str + isRemote: bool + isVerified: bool + + +class McpServerDetailResponse(McpInventoryEntryResponse): + env: list[McpEnvEntryResponse] = Field(default_factory=list) + configChoices: list[McpConfigChoiceResponse] = Field(default_factory=list) + marketplaceLink: McpMarketplaceLinkResponse | None = None + + +class McpUnmanagedHarnessResponse(BaseModel): + harness: str + label: str + logoKey: str | None = None + installed: bool + configPresent: bool + mcpWritable: bool = True + mcpUnavailableReason: str | None = None + configPath: str | None = None + + +class McpIdentitySightingResponse(BaseModel): + harness: str + label: str + logoKey: str | None = None + configPath: str | None = None + payloadPreview: dict[str, object] + spec: McpServerSpecResponse + env: list[McpEnvEntryResponse] = Field(default_factory=list) + + +class McpAdoptionIssueResponse(BaseModel): + harness: str + label: str + logoKey: str | None = None + name: str + configPath: str | None = None + payloadPreview: dict[str, object] | None = None + reason: str + + +class McpIdentityGroupResponse(BaseModel): + name: str + identical: bool + canonicalSpec: McpServerSpecResponse | None = None + sightings: list[McpIdentitySightingResponse] + marketplaceLink: McpMarketplaceLinkResponse | None = None + + +class McpUnmanagedByServerResponse(BaseModel): + harnesses: list[McpUnmanagedHarnessResponse] + servers: list[McpIdentityGroupResponse] + issues: list[McpAdoptionIssueResponse] = Field(default_factory=list) + + +class McpMarketplaceItemResponse(BaseModel): + qualifiedName: str + namespace: str + displayName: str + description: str + iconUrl: str | None = None + isVerified: bool + isRemote: bool + isDeployed: bool + useCount: int + createdAt: str | None = None + homepage: str | None = None + externalUrl: str + + +class McpMarketplacePageResponse(BaseModel): + items: list[McpMarketplaceItemResponse] + nextOffset: int | None = None + hasMore: bool + + +class McpInstallTargetResponse(BaseModel): + harness: str + label: str + logoKey: str | None = None + smitheryClient: str | None = None + supported: bool + reason: str | None = None + + +class McpInstallTargetsResponse(BaseModel): + targets: list[McpInstallTargetResponse] + + +class McpMarketplaceConnectionResponse(BaseModel): + kind: str + deploymentUrl: str | None = None + configSchema: dict[str, object] | None = None + stdioFunction: str | None = None + bundleUrl: str | None = None + runtime: str | None = None + stdioCommand: str | None = None + stdioArgs: list[str] | None = None + + +class McpMarketplaceParameterResponse(BaseModel): + name: str + type: str + description: str + required: bool + default: object | None = None + minimum: float | int | None = None + maximum: float | int | None = None + minItems: int | None = None + maxItems: int | None = None + minLength: int | None = None + maxLength: int | None = None + enum: list[object] | None = None + + +class McpMarketplaceToolResponse(BaseModel): + name: str + description: str + parameters: list[McpMarketplaceParameterResponse] + + +class McpMarketplaceResourceResponse(BaseModel): + name: str + uri: str + description: str + mimeType: str | None = None + + +class McpMarketplacePromptArgumentResponse(BaseModel): + name: str + description: str + required: bool + + +class McpMarketplacePromptResponse(BaseModel): + name: str + description: str + arguments: list[McpMarketplacePromptArgumentResponse] + + +class McpMarketplaceCapabilityCountsResponse(BaseModel): + tools: int + resources: int + prompts: int + + +class McpMarketplaceDetailResponse(BaseModel): + qualifiedName: str + managedName: str + displayName: str + description: str + iconUrl: str | None = None + isRemote: bool + deploymentUrl: str | None = None + connections: list[McpMarketplaceConnectionResponse] + tools: list[McpMarketplaceToolResponse] + resources: list[McpMarketplaceResourceResponse] + prompts: list[McpMarketplacePromptResponse] + capabilityCounts: McpMarketplaceCapabilityCountsResponse + externalUrl: str + + +__all__ = [ + "AdoptMcpRequest", + "DisableMcpServerRequest", + "EnableMcpServerRequest", + "AddMcpServerRequest", + "McpServerMutationResponse", + "McpApplyConfigResponse", + "McpAdoptionIssueResponse", + "McpBindingResponse", + "McpConfigChoiceResponse", + "McpEnvEntryResponse", + "McpIdentityGroupResponse", + "McpIdentitySightingResponse", + "McpInventoryColumnResponse", + "McpInventoryIssueResponse", + "McpInventoryEntryResponse", + "McpInventoryResponse", + "McpInstallTargetResponse", + "McpInstallTargetsResponse", + "McpMarketplaceCapabilityCountsResponse", + "McpMarketplaceConnectionResponse", + "McpMarketplaceDetailResponse", + "McpMarketplaceItemResponse", + "McpMarketplaceLinkResponse", + "McpMarketplacePageResponse", + "McpMarketplaceParameterResponse", + "McpMarketplacePromptArgumentResponse", + "McpMarketplacePromptResponse", + "McpMarketplaceResourceResponse", + "McpMarketplaceToolResponse", + "McpMutationFailureResponse", + "McpServerDetailResponse", + "McpServerSpecResponse", + "McpSetHarnessesResultResponse", + "McpSourceResponse", + "McpUnmanagedByServerResponse", + "McpUnmanagedHarnessResponse", + "ReconcileMcpServerRequest", + "SetMcpServerHarnessesRequest", +] diff --git a/skill_manager/api/schemas/skills.py b/skill_manager/api/schemas/skills.py new file mode 100644 index 0000000..9a9c85a --- /dev/null +++ b/skill_manager/api/schemas/skills.py @@ -0,0 +1,174 @@ +from __future__ import annotations + +from typing import Literal + +from pydantic import BaseModel, ConfigDict, Field + +from .common import HarnessTarget + + +class EnableSkillRequest(HarnessTarget): + pass + + +class DisableSkillRequest(HarnessTarget): + pass + + +class SetSkillHarnessesRequest(BaseModel): + target: Literal["enabled", "disabled"] = Field( + ..., + description="Target state to apply to every interactive harness cell on this skill", + ) + + +class InstallMarketplaceSkillRequest(BaseModel): + model_config = ConfigDict(populate_by_name=True) + + install_token: str = Field(..., alias="installToken", min_length=1) + + +SkillStatus = Literal["Managed", "Unmanaged"] +HarnessCellState = Literal["enabled", "disabled", "found", "empty"] +SkillUpdateStatus = Literal[ + "update_available", + "no_update_available", + "no_source_available", + "local_changes_detected", +] +SkillStopManagingStatus = Literal["available", "disabled_no_enabled"] + + +class SetSkillHarnessesFailureResponse(BaseModel): + harness: str + error: str + + +class SetSkillHarnessesResultResponse(BaseModel): + ok: bool + succeeded: list[str] + failed: list[SetSkillHarnessesFailureResponse] + + +class BulkManageFailureResponse(BaseModel): + skillRef: str + name: str + error: str + + +class BulkManageResultResponse(BaseModel): + ok: bool + managedCount: int + skippedCount: int + failures: list[BulkManageFailureResponse] + + +class SkillsSummaryResponse(BaseModel): + managed: int + unmanaged: int + + +class HarnessColumnResponse(BaseModel): + harness: str + label: str + logoKey: str | None = None + installed: bool + + +class SkillRowActionsResponse(BaseModel): + canManage: bool + canStopManaging: bool + canDelete: bool + + +class HarnessCellResponse(BaseModel): + harness: str + label: str + logoKey: str | None = None + state: HarnessCellState + interactive: bool + + +class SkillTableRowResponse(BaseModel): + skillRef: str + name: str + description: str + displayStatus: SkillStatus + actions: SkillRowActionsResponse + cells: list[HarnessCellResponse] + + +class SkillsPageResponse(BaseModel): + summary: SkillsSummaryResponse + harnessColumns: list[HarnessColumnResponse] + rows: list[SkillTableRowResponse] + + +class SkillDetailActionsResponse(BaseModel): + canManage: bool + stopManagingStatus: SkillStopManagingStatus | None + stopManagingHarnessLabels: list[str] + canDelete: bool + deleteHarnessLabels: list[str] + + +class SkillLocationResponse(BaseModel): + kind: Literal["shared", "harness"] + harness: str | None + label: str + scope: str | None + path: str | None + revision: str | None + sourceKind: str + sourceLocator: str + detail: str | None + + +class SkillSourceLinksResponse(BaseModel): + repoLabel: str + repoUrl: str + folderUrl: str | None + + +class SkillDetailResponse(BaseModel): + skillRef: str + name: str + description: str + displayStatus: SkillStatus + attentionMessage: str | None + actions: SkillDetailActionsResponse + harnessCells: list[HarnessCellResponse] + locations: list[SkillLocationResponse] + sourceLinks: SkillSourceLinksResponse | None + documentMarkdown: str | None + + +class SkillSourceStatusResponse(BaseModel): + updateStatus: SkillUpdateStatus | None + + +__all__ = [ + "BulkManageFailureResponse", + "BulkManageResultResponse", + "DisableSkillRequest", + "EnableSkillRequest", + "HarnessCellResponse", + "HarnessCellState", + "HarnessColumnResponse", + "InstallMarketplaceSkillRequest", + "SetSkillHarnessesFailureResponse", + "SetSkillHarnessesRequest", + "SetSkillHarnessesResultResponse", + "SkillDetailActionsResponse", + "SkillDetailResponse", + "SkillLocationResponse", + "SkillRowActionsResponse", + "SkillSourceLinksResponse", + "SkillSourceStatusResponse", + "SkillStatus", + "SkillStopManagingStatus", + "SkillTableRowResponse", + "SkillUpdateStatus", + "SkillsPageResponse", + "SkillsSummaryResponse", +] diff --git a/skill_manager/application/cli_marketplace/__init__.py b/skill_manager/application/cli_marketplace/__init__.py new file mode 100644 index 0000000..d3abb73 --- /dev/null +++ b/skill_manager/application/cli_marketplace/__init__.py @@ -0,0 +1,4 @@ +from .catalog import CliMarketplaceCatalog +from .client import ClisDevClient + +__all__ = ["CliMarketplaceCatalog", "ClisDevClient"] diff --git a/skill_manager/application/cli_marketplace/catalog.py b/skill_manager/application/cli_marketplace/catalog.py new file mode 100644 index 0000000..cd05cf3 --- /dev/null +++ b/skill_manager/application/cli_marketplace/catalog.py @@ -0,0 +1,351 @@ +from __future__ import annotations + +from collections.abc import Callable +from dataclasses import dataclass +import re +from urllib.parse import quote, urlparse + +from skill_manager.application.marketplace_cache import MarketplaceCache +from skill_manager.errors import MarketplaceUpstreamError +from skill_manager.sources.github import github_owner_avatar_url + +from .client import ClisDevClient + +Fetcher = Callable[[str], dict[str, object]] + +_DEFAULT_PAGE_SIZE = 30 +_MAX_PAGE_SIZE = 100 +_POPULAR_TTL_SECONDS = 3600 +_SEARCH_TTL_SECONDS = 900 +_POPULAR_NAMESPACE = "clisdev-popular-v1" +_SEARCH_NAMESPACE = "clisdev-search-v1" + + +@dataclass(frozen=True) +class CliMarketplaceRecord: + slug: str + name: str + description: str + long_description: str | None + marketplace_url: str + icon_url: str | None + github_url: str | None + website_url: str | None + stars: int | None + language: str | None + category: str | None + install_command: str | None + has_mcp: bool + has_skill: bool + is_official: bool + is_tui: bool + source_type: str | None + vendor_name: str | None + + @property + def item_id(self) -> str: + return f"clisdev:{self.slug}" + + def to_item_dict(self) -> dict[str, object]: + return { + "id": self.item_id, + "slug": self.slug, + "name": self.name, + "description": self.description, + "marketplaceUrl": self.marketplace_url, + "iconUrl": self.icon_url, + "githubUrl": self.github_url, + "websiteUrl": self.website_url, + "stars": self.stars, + "language": self.language, + "category": self.category, + "hasMcp": self.has_mcp, + "hasSkill": self.has_skill, + "isOfficial": self.is_official, + "isTui": self.is_tui, + "sourceType": self.source_type, + "vendorName": self.vendor_name, + } + + def to_detail_dict(self) -> dict[str, object]: + return { + **self.to_item_dict(), + "longDescription": self.long_description, + "installCommand": self.install_command, + } + + +class CliMarketplaceCatalog: + DEFAULT_PAGE_SIZE = _DEFAULT_PAGE_SIZE + MAX_PAGE_SIZE = _MAX_PAGE_SIZE + + def __init__( + self, + *, + client: ClisDevClient | None = None, + fetcher: Fetcher | None = None, + cache: MarketplaceCache | None = None, + ) -> None: + self.client = client or ClisDevClient.from_environment() + self._fetcher = fetcher + self._cache = cache or MarketplaceCache() + + @classmethod + def from_environment( + cls, + env: dict[str, str] | None = None, + *, + cache: MarketplaceCache | None = None, + ) -> "CliMarketplaceCatalog": + return cls( + client=ClisDevClient.from_environment(env), + cache=cache or MarketplaceCache.from_environment(env), + ) + + def popular_page(self, *, limit: int | None = None, offset: int = 0) -> dict[str, object]: + return self._page(self.known_records(), limit=limit, offset=offset) + + def search_page(self, query: str, *, limit: int | None = None, offset: int = 0) -> dict[str, object]: + trimmed = query.strip() + if len(trimmed) < 2: + raise ValueError("Enter at least 2 characters to search CLIs.") + return self._page(self.search_records(trimmed), limit=limit, offset=offset) + + def detail(self, slug_or_id: str) -> dict[str, object] | None: + slug = parse_cli_slug(slug_or_id) + if slug is None: + return None + for record in self.known_records(): + if record.slug == slug: + return record.to_detail_dict() + try: + matches = self.search_records(slug) + except MarketplaceUpstreamError: + return None + for record in matches: + if record.slug == slug: + return record.to_detail_dict() + return None + + def known_records(self) -> tuple[CliMarketplaceRecord, ...]: + payload = self._cached_payload( + _POPULAR_NAMESPACE, + "all", + ttl_seconds=_POPULAR_TTL_SECONDS, + fetch=lambda: self._fetch_json("/api/clis"), + ) + return self._records_from_payload(payload) + + def search_records(self, query: str) -> tuple[CliMarketplaceRecord, ...]: + normalized = query.strip().lower() + payload = self._cached_payload( + _SEARCH_NAMESPACE, + normalized, + ttl_seconds=_SEARCH_TTL_SECONDS, + fetch=lambda: self._fetch_json(f"/api/search?q={quote(query.strip(), safe='')}"), + ) + return self._records_from_payload(payload) + + def _cached_payload( + self, + namespace: str, + key: str, + *, + ttl_seconds: int, + fetch: Callable[[], dict[str, object]], + ) -> dict[str, object]: + cached = self._cache.read(namespace, key, ttl_seconds=ttl_seconds) + if cached is not None and cached.is_fresh and isinstance(cached.payload, dict): + return cached.payload + try: + payload = fetch() + except MarketplaceUpstreamError: + if cached is not None and isinstance(cached.payload, dict): + return cached.payload + raise + self._cache.write(namespace, key, payload) + return payload + + def _fetch_json(self, path: str) -> dict[str, object]: + if self._fetcher is not None: + payload = self._fetcher(path) + if not isinstance(payload, dict): + raise MarketplaceUpstreamError("payload", path, "JSON payload must be an object") + return payload + return self.client.fetch_json(path) + + def _records_from_payload(self, payload: dict[str, object]) -> tuple[CliMarketplaceRecord, ...]: + items = _extract_items(payload) + records: list[CliMarketplaceRecord] = [] + seen: set[str] = set() + for item in items: + if not isinstance(item, dict): + continue + record = _normalize_record(item, detail_url=self.client.detail_url) + if record.slug in seen: + continue + records.append(record) + seen.add(record.slug) + return tuple(records) + + def _page( + self, + records: tuple[CliMarketplaceRecord, ...], + *, + limit: int | None, + offset: int, + ) -> dict[str, object]: + page_limit = _normalize_limit(limit) + page_offset = max(offset, 0) + page_items = records[page_offset:page_offset + page_limit] + next_offset = page_offset + len(page_items) + has_more = next_offset < len(records) + return { + "items": [record.to_item_dict() for record in page_items], + "nextOffset": next_offset if has_more else None, + "hasMore": has_more, + } + + +def parse_cli_slug(slug_or_id: str) -> str | None: + value = slug_or_id.strip() + if value.startswith("clisdev:"): + value = value.removeprefix("clisdev:") + return _slugify(value) if value else None + + +def _extract_items(payload: dict[str, object]) -> list[object]: + for key in ("clis", "items", "results", "data"): + value = payload.get(key) + if isinstance(value, list): + return value + return [] + + +def _normalize_record(payload: dict[str, object], *, detail_url: Callable[[str], str]) -> CliMarketplaceRecord: + slug = _slugify(_first_str(payload, "slug", "id", "name", fallback="cli")) + name = _first_str(payload, "name", "title", fallback=_title_from_slug(slug)) + long_description = _optional_str(payload.get("long_description")) or _optional_str(payload.get("longDescription")) + description = _first_str(payload, "description", "summary", fallback=_description_from_long(long_description)) + github_url = _valid_github_url(payload.get("github")) + website_url = _valid_http_url(payload.get("website")) or _valid_http_url(payload.get("source_url")) + return CliMarketplaceRecord( + slug=slug, + name=name, + description=description, + long_description=long_description, + marketplace_url=detail_url(slug), + icon_url=_github_icon_url(github_url), + github_url=github_url, + website_url=website_url, + stars=_optional_int(payload.get("stars")), + language=_optional_str(payload.get("language")), + category=_optional_str(payload.get("category")), + install_command=_optional_str(payload.get("install")), + has_mcp=_bool(payload.get("has_mcp")), + has_skill=_bool(payload.get("has_skill")), + is_official=_bool(payload.get("is_official")), + is_tui=_bool(payload.get("is_tui")), + source_type=_optional_str(payload.get("source_type")), + vendor_name=_optional_str(payload.get("vendor_name")), + ) + + +def _normalize_limit(limit: int | None) -> int: + if limit is None: + return _DEFAULT_PAGE_SIZE + return max(1, min(int(limit), _MAX_PAGE_SIZE)) + + +def _first_str(payload: dict[str, object], *keys: str, fallback: str) -> str: + for key in keys: + value = _optional_str(payload.get(key)) + if value is not None: + return value + return fallback + + +def _optional_str(value: object) -> str | None: + if isinstance(value, str) and value.strip(): + return value.strip() + return None + + +def _optional_int(value: object) -> int | None: + if isinstance(value, bool): + return None + if isinstance(value, (int, float)): + return int(value) + if isinstance(value, str): + try: + return int(value.replace(",", "").strip()) + except ValueError: + return None + return None + + +def _bool(value: object) -> bool: + return value if isinstance(value, bool) else False + + +def _valid_http_url(value: object) -> str | None: + raw = _optional_str(value) + if raw is None: + return None + parsed = urlparse(raw) + if parsed.scheme not in {"http", "https"} or not parsed.netloc: + return None + return raw + + +def _valid_github_url(value: object) -> str | None: + raw = _valid_http_url(value) + if raw is None: + return None + parsed = urlparse(raw) + if parsed.netloc.lower() not in {"github.com", "www.github.com"}: + return None + parts = [part for part in parsed.path.split("/") if part] + if len(parts) < 2: + return None + owner, repo = parts[0], parts[1] + if not owner or not repo: + return None + if repo.endswith(".git"): + repo = repo[:-4] + return f"https://github.com/{owner}/{repo}" + + +def _github_icon_url(github_url: str | None) -> str | None: + if github_url is None: + return None + parsed = urlparse(github_url) + parts = [part for part in parsed.path.split("/") if part] + if len(parts) < 2: + return None + return github_owner_avatar_url(f"{parts[0]}/{parts[1]}", size=96) + + +def _slugify(value: str) -> str: + normalized = value.strip().lower() + normalized = re.sub(r"[^a-z0-9._-]+", "-", normalized) + normalized = re.sub(r"-+", "-", normalized).strip("-") + return normalized or "cli" + + +def _title_from_slug(slug: str) -> str: + return " ".join(part.capitalize() for part in slug.replace("_", "-").split("-") if part) + + +def _description_from_long(long_description: str | None) -> str: + if not long_description: + return "No description available." + first = long_description.strip().split("\n\n", 1)[0].strip() + return first or "No description available." + + +__all__ = [ + "CliMarketplaceCatalog", + "CliMarketplaceRecord", + "parse_cli_slug", +] diff --git a/skill_manager/application/cli_marketplace/client.py b/skill_manager/application/cli_marketplace/client.py new file mode 100644 index 0000000..98ebb21 --- /dev/null +++ b/skill_manager/application/cli_marketplace/client.py @@ -0,0 +1,117 @@ +from __future__ import annotations + +import json +import os +import socket +import ssl +from urllib.error import HTTPError, URLError +from urllib.parse import quote, urljoin +from urllib.request import Request, urlopen + +from skill_manager.application.marketplace_http import ( + configured_marketplace_ca_file, + marketplace_ssl_context, +) +from skill_manager.errors import MarketplaceUpstreamError + +DEFAULT_CLIS_DEV_BASE_URL = "https://clis.dev" +CLIS_DEV_BASE_URL_ENV = "SKILL_MANAGER_CLIS_DEV_BASE_URL" +_TIMEOUT_SECONDS = 15 +_USER_AGENT = "skill-manager/0.1" + + +def configured_clis_dev_base_url(env: dict[str, str] | None = None) -> str: + active_env = os.environ if env is None else env + configured = active_env.get(CLIS_DEV_BASE_URL_ENV, DEFAULT_CLIS_DEV_BASE_URL).strip() + return (configured or DEFAULT_CLIS_DEV_BASE_URL).rstrip("/") + + +class ClisDevClient: + """Small CLIs.dev JSON client for preview-only marketplace reads.""" + + def __init__( + self, + *, + base_url: str = DEFAULT_CLIS_DEV_BASE_URL, + timeout_seconds: float = _TIMEOUT_SECONDS, + ssl_context: ssl.SSLContext | None = None, + ) -> None: + self.base_url = (base_url or DEFAULT_CLIS_DEV_BASE_URL).rstrip("/") + self.timeout_seconds = timeout_seconds + self.ssl_context = ssl_context + + @classmethod + def from_environment(cls, env: dict[str, str] | None = None) -> "ClisDevClient": + return cls( + base_url=configured_clis_dev_base_url(env), + ssl_context=marketplace_ssl_context(env), + ) + + def absolute_url(self, path_or_url: str) -> str: + if path_or_url.startswith(("http://", "https://")): + return path_or_url + return urljoin(f"{self.base_url}/", path_or_url.lstrip("/")) + + def detail_url(self, slug: str) -> str: + return self.absolute_url(f"/cli/{quote(slug, safe='')}") + + def list_clis(self) -> dict[str, object]: + return self.fetch_json("/api/clis") + + def search_clis(self, query: str) -> dict[str, object]: + return self.fetch_json(f"/api/search?q={quote(query, safe='')}") + + def fetch_json(self, path_or_url: str) -> dict[str, object]: + url = self.absolute_url(path_or_url) + payload = self._request(path_or_url, accept="application/json") + try: + parsed = json.loads(payload.decode("utf-8")) + except (UnicodeDecodeError, json.JSONDecodeError) as error: + raise MarketplaceUpstreamError("payload", url, f"invalid JSON payload: {error}") from error + if not isinstance(parsed, dict): + raise MarketplaceUpstreamError("payload", url, "JSON payload must be an object") + return parsed + + def _request(self, path_or_url: str, *, accept: str | None = None) -> bytes: + url = self.absolute_url(path_or_url) + headers = {"User-Agent": _USER_AGENT} + if accept: + headers["Accept"] = accept + request = Request(url, headers=headers) + open_kwargs: dict[str, object] = {"timeout": self.timeout_seconds} + if self.ssl_context is not None: + open_kwargs["context"] = self.ssl_context + try: + with urlopen(request, **open_kwargs) as response: + return response.read() + except HTTPError as error: + raise MarketplaceUpstreamError( + "bad_status", + url, + f"upstream returned HTTP {error.code}", + upstream_status=error.code, + ) from error + except ssl.SSLCertVerificationError as error: + raise MarketplaceUpstreamError("tls", url, str(error)) from error + except TimeoutError as error: + raise MarketplaceUpstreamError("timeout", url, str(error)) from error + except URLError as error: + reason = error.reason + if isinstance(reason, ssl.SSLError): + kind = "tls" + elif isinstance(reason, (TimeoutError, socket.timeout)): + kind = "timeout" + else: + kind = "network" + raise MarketplaceUpstreamError(kind, url, str(reason)) from error + except OSError as error: + raise MarketplaceUpstreamError("network", url, str(error)) from error + + +__all__ = [ + "CLIS_DEV_BASE_URL_ENV", + "DEFAULT_CLIS_DEV_BASE_URL", + "ClisDevClient", + "configured_clis_dev_base_url", + "configured_marketplace_ca_file", +] diff --git a/skill_manager/application/container.py b/skill_manager/application/container.py index 4b0500f..892973d 100644 --- a/skill_manager/application/container.py +++ b/skill_manager/application/container.py @@ -3,42 +3,66 @@ import os from dataclasses import dataclass +from skill_manager.harness import HarnessKernelService, HarnessSupportStore from skill_manager.paths import AppPaths, resolve_app_paths -from skill_manager.store import HarnessSupportStore -from .marketplace import ( +from .cli_marketplace import CliMarketplaceCatalog +from .invalidation import InvalidationFanout +from .mcp.enrichment import McpEnrichmentService +from .mcp.installers import McpInstallProvider, SmitheryCliInstallProvider +from .mcp.marketplace import McpMarketplaceCatalog +from .mcp.mutations import McpMutationService +from .mcp.planner import McpAdoptionPlanner +from .mcp.query import McpQueryService +from .mcp.read_models import McpReadModelService +from .mcp.store import McpServerStore +from .settings import SettingsMutationService, SettingsQueryService +from .skills import SkillsMutationService, SkillsQueryService +from .skills.marketplace import ( MarketplaceCatalog, MarketplaceDocumentService, MarketplaceInstallService, MarketplaceQueryService, ) -from .read_model_service import ReadModelService -from .settings import SettingsMutationService, SettingsQueryService -from .skills import SkillsMutationService, SkillsQueryService -from .source_fetch_service import SourceFetchService +from .skills.read_models import SkillsReadModelService +from .skills.source_fetch import SourceFetchService +from .skills.store import SkillStore +from .marketplace_cache import MarketplaceCache @dataclass(frozen=True) class BackendContainer: paths: AppPaths - read_models: ReadModelService + harness_kernel: HarnessKernelService support_store: HarnessSupportStore - source_fetcher: SourceFetchService + invalidation: InvalidationFanout + skills_source_fetcher: SourceFetchService + skills_store: SkillStore + skills_read_models: SkillsReadModelService skills_queries: SkillsQueryService skills_mutations: SkillsMutationService settings_queries: SettingsQueryService settings_mutations: SettingsMutationService - marketplace_catalog: MarketplaceCatalog - marketplace_documents: MarketplaceDocumentService - marketplace_queries: MarketplaceQueryService - marketplace_installs: MarketplaceInstallService + skills_marketplace_catalog: MarketplaceCatalog + skills_marketplace_documents: MarketplaceDocumentService + skills_marketplace_queries: MarketplaceQueryService + skills_marketplace_installs: MarketplaceInstallService + cli_marketplace_catalog: CliMarketplaceCatalog + mcp_marketplace_catalog: McpMarketplaceCatalog + mcp_store: McpServerStore + mcp_read_models: McpReadModelService + mcp_queries: McpQueryService + mcp_mutations: McpMutationService def build_backend_container( env: dict[str, str] | None = None, *, marketplace_catalog: MarketplaceCatalog | None = None, + mcp_marketplace_catalog: McpMarketplaceCatalog | None = None, + cli_marketplace_catalog: CliMarketplaceCatalog | None = None, source_fetcher: SourceFetchService | None = None, + mcp_install_provider: McpInstallProvider | None = None, ) -> BackendContainer: active_env = dict(os.environ) if env is not None: @@ -46,27 +70,77 @@ def build_backend_container( paths = resolve_app_paths(active_env) support_store = HarnessSupportStore(paths.settings_path) - read_models = ReadModelService.from_environment(active_env, support_store=support_store) + harness_kernel = HarnessKernelService.from_environment(active_env, support_store=support_store) + invalidation = InvalidationFanout() + + skills_store = SkillStore(paths.skills_store_root, manifest_path=paths.skills_store_manifest) + skills_read_models = SkillsReadModelService.from_kernel(store=skills_store, kernel=harness_kernel) + invalidation.register(skills_read_models) + active_source_fetcher = source_fetcher or SourceFetchService() - catalog = marketplace_catalog or MarketplaceCatalog.from_environment(active_env) - skills_queries = SkillsQueryService(read_models, active_source_fetcher) - skills_mutations = SkillsMutationService(read_models, skills_queries, active_source_fetcher) - settings_queries = SettingsQueryService(read_models, support_store) - settings_mutations = SettingsMutationService(read_models, support_store) - marketplace_documents = MarketplaceDocumentService(active_source_fetcher, cache=catalog.cache) - marketplace_queries = MarketplaceQueryService(read_models, catalog, marketplace_documents) - marketplace_installs = MarketplaceInstallService(catalog, skills_mutations) + skills_queries = SkillsQueryService(skills_read_models, active_source_fetcher) + skills_mutations = SkillsMutationService(skills_read_models, skills_queries, active_source_fetcher) + settings_queries = SettingsQueryService(harness_kernel) + + cache = MarketplaceCache.from_environment(active_env) + skills_catalog = marketplace_catalog or MarketplaceCatalog.from_environment( + active_env, + cache=cache, + warm_on_init=False, + ) + skills_documents = MarketplaceDocumentService(active_source_fetcher, cache=cache) + skills_marketplace_queries = MarketplaceQueryService(skills_read_models, skills_catalog, skills_documents) + skills_marketplace_installs = MarketplaceInstallService(skills_catalog, skills_mutations) + cli_catalog = cli_marketplace_catalog or CliMarketplaceCatalog.from_environment( + active_env, + cache=cache, + ) + + mcp_store = McpServerStore(paths.mcp_store_manifest) + mcp_read_models = McpReadModelService.from_kernel(store=mcp_store, kernel=harness_kernel) + invalidation.register(mcp_read_models) + settings_mutations = SettingsMutationService(harness_kernel, support_store, invalidation) + + mcp_catalog = mcp_marketplace_catalog or McpMarketplaceCatalog.from_environment( + active_env, + cache=cache, + ) + mcp_enrichment = McpEnrichmentService(mcp_catalog) + mcp_planner = McpAdoptionPlanner(mcp_read_models) + mcp_queries = McpQueryService( + mcp_read_models, + planner=mcp_planner, + enrichment=mcp_enrichment, + ) + mcp_mutations = McpMutationService( + store=mcp_store, + read_models=mcp_read_models, + planner=mcp_planner, + marketplace_catalog=mcp_catalog, + install_provider=mcp_install_provider or SmitheryCliInstallProvider(env=active_env), + enrichment=mcp_enrichment, + ) + return BackendContainer( paths=paths, - read_models=read_models, + harness_kernel=harness_kernel, support_store=support_store, - source_fetcher=active_source_fetcher, + invalidation=invalidation, + skills_source_fetcher=active_source_fetcher, + skills_store=skills_store, + skills_read_models=skills_read_models, skills_queries=skills_queries, skills_mutations=skills_mutations, settings_queries=settings_queries, settings_mutations=settings_mutations, - marketplace_catalog=catalog, - marketplace_documents=marketplace_documents, - marketplace_queries=marketplace_queries, - marketplace_installs=marketplace_installs, + skills_marketplace_catalog=skills_catalog, + skills_marketplace_documents=skills_documents, + skills_marketplace_queries=skills_marketplace_queries, + skills_marketplace_installs=skills_marketplace_installs, + cli_marketplace_catalog=cli_catalog, + mcp_marketplace_catalog=mcp_catalog, + mcp_store=mcp_store, + mcp_read_models=mcp_read_models, + mcp_queries=mcp_queries, + mcp_mutations=mcp_mutations, ) diff --git a/skill_manager/application/invalidation.py b/skill_manager/application/invalidation.py new file mode 100644 index 0000000..1995db0 --- /dev/null +++ b/skill_manager/application/invalidation.py @@ -0,0 +1,23 @@ +from __future__ import annotations + +from typing import Protocol + + +class Invalidatable(Protocol): + def invalidate(self) -> None: ... + + +class InvalidationFanout: + def __init__(self) -> None: + self._targets: list[Invalidatable] = [] + + def register(self, target: Invalidatable) -> Invalidatable: + self._targets.append(target) + return target + + def invalidate_all(self) -> None: + for target in self._targets: + target.invalidate() + + +__all__ = ["Invalidatable", "InvalidationFanout"] diff --git a/skill_manager/application/marketplace/cache.py b/skill_manager/application/marketplace_cache.py similarity index 100% rename from skill_manager/application/marketplace/cache.py rename to skill_manager/application/marketplace_cache.py diff --git a/skill_manager/application/marketplace_http.py b/skill_manager/application/marketplace_http.py new file mode 100644 index 0000000..f483a55 --- /dev/null +++ b/skill_manager/application/marketplace_http.py @@ -0,0 +1,32 @@ +from __future__ import annotations + +import os +from pathlib import Path +import ssl +import sys + +import certifi + + +def configured_marketplace_ca_file(env: dict[str, str] | None = None) -> Path | None: + active_env = os.environ if env is None else env + override = active_env.get("SSL_CERT_FILE", "").strip() + if override: + return Path(override) + if _is_packaged_runtime(): + return Path(certifi.where()) + return None + + +def marketplace_ssl_context(env: dict[str, str] | None = None) -> ssl.SSLContext | None: + cafile = configured_marketplace_ca_file(env) + if cafile is None: + return None + return ssl.create_default_context(cafile=str(cafile)) + + +def _is_packaged_runtime() -> bool: + return bool(getattr(sys, "frozen", False)) + + +__all__ = ["configured_marketplace_ca_file", "marketplace_ssl_context"] diff --git a/skill_manager/application/mcp/__init__.py b/skill_manager/application/mcp/__init__.py new file mode 100644 index 0000000..d36e2b2 --- /dev/null +++ b/skill_manager/application/mcp/__init__.py @@ -0,0 +1,62 @@ +from .adapters import FileBackedMcpAdapter, build_mcp_adapters +from .contracts import ( + BindingState, + McpBinding, + McpHarnessAdapter, + McpHarnessScan, + McpHarnessStatus, + McpInventory, + McpInventoryEntry, + McpObservedEntry, +) +from .identity import AdoptionIssue, AdoptionPlan, HarnessSighting, ServerIdentityGroup, build_identity_plan +from .installers import McpInstallProvider, McpInstallResult, SmitheryCliInstallProvider +from .names import canonical_server_name +from .inventory import build_inventory +from .mappers import ( + ClaudeCodeMapper, + CodexMapper, + CursorMapper, + OpenClawMapper, + OpenCodeMapper, + TransportMapper, + get_mapper, +) +from .planner import McpAdoptionPlanner +from .read_models import McpReadModelService, McpReadModelSnapshot +from .store import McpManagedManifest, McpServerSpec + +__all__ = [ + "AdoptionIssue", + "AdoptionPlan", + "BindingState", + "ClaudeCodeMapper", + "CodexMapper", + "CursorMapper", + "FileBackedMcpAdapter", + "HarnessSighting", + "McpAdoptionPlanner", + "McpBinding", + "McpHarnessAdapter", + "McpHarnessScan", + "McpHarnessStatus", + "McpInstallProvider", + "McpInstallResult", + "McpInventory", + "McpInventoryEntry", + "McpManagedManifest", + "McpObservedEntry", + "McpReadModelService", + "McpReadModelSnapshot", + "McpServerSpec", + "OpenClawMapper", + "OpenCodeMapper", + "ServerIdentityGroup", + "SmitheryCliInstallProvider", + "TransportMapper", + "build_identity_plan", + "build_inventory", + "build_mcp_adapters", + "canonical_server_name", + "get_mapper", +] diff --git a/skill_manager/application/mcp/adapters.py b/skill_manager/application/mcp/adapters.py new file mode 100644 index 0000000..f7e25d4 --- /dev/null +++ b/skill_manager/application/mcp/adapters.py @@ -0,0 +1,417 @@ +from __future__ import annotations + +import json +import re +import shutil +import subprocess +import tomllib +from dataclasses import dataclass +from pathlib import Path +from typing import Mapping + +import tomli_w + +from skill_manager.errors import MutationError +from skill_manager.atomic_files import atomic_write_text, file_lock +from skill_manager.harness import ( + ConfigSubtreeBindingProfile, + HarnessDefinition, + HarnessKernelService, + ResolutionContext, + SubtreePath, +) + +from .contracts import McpHarnessAdapter, McpHarnessScan, McpHarnessStatus, McpObservedEntry +from .mappers import TransportMapper, get_mapper +from .store import McpServerSpec, McpSource + + +@dataclass(frozen=True) +class _RawEntry: + name: str + payload: dict[str, object] + config_path: Path + subtree_path: SubtreePath + + +class FileBackedMcpAdapter(McpHarnessAdapter): + def __init__( + self, + *, + definition: HarnessDefinition, + profile: ConfigSubtreeBindingProfile, + context: ResolutionContext, + ) -> None: + self.harness = definition.harness + self.label = definition.label + self.logo_key = definition.logo_key + self.config_path = profile.resolve_config_path(context) + self._discovery_config_paths = profile.resolve_discovery_config_paths(context) + self._install_probe = definition.install_probe + self._path_env = context.env.get("PATH") + self._file_format = profile.file_format + self._write_subtree_path = profile.subtree_path + self._read_subtree_paths = profile.resolve_discovery_subtree_paths(context) + self._mapper: TransportMapper = get_mapper(profile.codec) + self._capability_probe = profile.capability_probe + self._capability_unavailable_reason = profile.capability_unavailable_reason + + def status(self) -> McpHarnessStatus: + installed = self._is_installed() + config_present = any(path.is_file() for path in self._discovery_config_paths) + mcp_writable, unavailable_reason = self._mcp_write_capability(installed=installed) + return McpHarnessStatus( + harness=self.harness, + label=self.label, + logo_key=self.logo_key, + installed=installed, + config_path=self.config_path, + config_present=config_present, + mcp_writable=mcp_writable, + mcp_unavailable_reason=unavailable_reason, + ) + + def scan(self, specs: tuple[McpServerSpec, ...]) -> McpHarnessScan: + status = self.status() + specs_by_name = {spec.name: spec for spec in specs} + entries: list[McpObservedEntry] = [] + seen_names: set[str] = set() + scan_issue: str | None = None + + try: + raw_entries = self._read_entries() if status.config_present else () + except MutationError as error: + raw_entries = () + scan_issue = str(error) + for raw in raw_entries: + seen_names.add(raw.name) + parsed_spec: McpServerSpec | None = None + parse_issue: str | None = None + try: + parsed_spec = self._mapper.dict_to_spec( + raw.name, + raw.payload, + source=McpSource.adopted(self.harness, raw.name), + ) + except Exception as error: # noqa: BLE001 + parse_issue = str(error) + + managed_spec = specs_by_name.get(raw.name) + if managed_spec is None: + entries.append( + McpObservedEntry( + name=raw.name, + state="unmanaged", + raw_payload=dict(raw.payload), + parsed_spec=parsed_spec, + parse_issue=parse_issue, + ) + ) + continue + + if parse_issue is not None: + entries.append( + McpObservedEntry( + name=raw.name, + state="drifted", + raw_payload=dict(raw.payload), + parsed_spec=parsed_spec, + drift_detail=parse_issue, + parse_issue=parse_issue, + ) + ) + continue + + expected = _normalize_payload(self._mapper.spec_to_dict(managed_spec)) + actual = _normalize_payload(dict(raw.payload)) + if expected == actual: + entries.append( + McpObservedEntry( + name=raw.name, + state="managed", + raw_payload=dict(raw.payload), + parsed_spec=parsed_spec, + ) + ) + else: + entries.append( + McpObservedEntry( + name=raw.name, + state="drifted", + raw_payload=dict(raw.payload), + parsed_spec=parsed_spec, + drift_detail=_drift_detail(expected, actual), + ) + ) + + for spec in specs: + if spec.name in seen_names: + continue + entries.append( + McpObservedEntry( + name=spec.name, + state="missing", + parsed_spec=spec, + ) + ) + + return McpHarnessScan( + harness=self.harness, + label=self.label, + logo_key=self.logo_key, + installed=status.installed, + config_present=status.config_present, + config_path=self.config_path, + mcp_writable=status.mcp_writable, + mcp_unavailable_reason=status.mcp_unavailable_reason, + scan_issue=scan_issue, + entries=tuple(entries), + ) + + def has_binding(self, name: str) -> bool: + return any(raw.name == name for raw in self._read_entries()) + + def enable_server(self, spec: McpServerSpec) -> None: + self._require_mcp_writable() + with file_lock(self._lock_path(self.config_path)): + document = self._load_document(self.config_path) + subtree = dict(self._read_subtree(document, self._write_subtree_path)) + subtree[spec.name] = self._mapper.spec_to_dict(spec) + self._write_subtree(document, subtree, self._write_subtree_path) + for subtree_path in self._read_subtree_paths: + if subtree_path != self._write_subtree_path: + self._remove_from_subtree(document, subtree_path, spec.name) + atomic_write_text(self.config_path, self._dump_document(document)) + self._remove_from_noncanonical_config_paths(spec.name) + + def disable_server(self, name: str) -> None: + for config_path in self._discovery_config_paths: + if not config_path.is_file(): + continue + with file_lock(self._lock_path(config_path)): + document = self._load_document(config_path) + removed = False + for subtree_path in self._read_subtree_paths: + removed = self._remove_from_subtree(document, subtree_path, name) or removed + if not removed: + continue + atomic_write_text(config_path, self._dump_document(document)) + + def _remove_from_noncanonical_config_paths(self, name: str) -> None: + for config_path in self._discovery_config_paths: + if config_path == self.config_path or not config_path.is_file(): + continue + with file_lock(self._lock_path(config_path)): + document = self._load_document(config_path) + removed = False + for subtree_path in self._read_subtree_paths: + removed = self._remove_from_subtree(document, subtree_path, name) or removed + if removed: + atomic_write_text(config_path, self._dump_document(document)) + + def _require_mcp_writable(self) -> None: + status = self.status() + if status.mcp_writable: + return + reason = status.mcp_unavailable_reason or f"{self.label} MCP config is not writable" + raise MutationError(reason, status=400) + + def _mcp_write_capability(self, *, installed: bool) -> tuple[bool, str | None]: + if self._capability_probe is None: + return True, None + if self._capability_probe == "openclaw-mcp-command": + executable = shutil.which(self._install_probe, path=self._path_env) + reason = self._capability_unavailable_reason or f"{self.label} MCP support is unavailable" + if executable is None: + return False, reason + try: + result = subprocess.run( + [executable, "mcp", "--help"], + text=True, + capture_output=True, + timeout=2.0, + check=False, + ) + except (OSError, subprocess.TimeoutExpired): + return False, reason + return (result.returncode == 0, None if result.returncode == 0 else reason) + reason = self._capability_unavailable_reason or f"{self.label} MCP support is unavailable" + return (installed, None if installed else reason) + + @staticmethod + def _lock_path(config_path: Path) -> Path: + return config_path.with_suffix(config_path.suffix + ".lock") + + def _is_installed(self) -> bool: + return shutil.which(self._install_probe, path=self._path_env) is not None + + def _read_entries(self) -> tuple[_RawEntry, ...]: + entries: list[_RawEntry] = [] + seen_names: set[str] = set() + for config_path in self._discovery_config_paths: + if not config_path.is_file(): + continue + document = self._load_document(config_path) + for subtree_path in self._read_subtree_paths: + subtree = self._read_subtree(document, subtree_path) + for name, value in subtree.items(): + if name in seen_names or not isinstance(value, dict): + continue + seen_names.add(name) + entries.append( + _RawEntry( + name=name, + payload=dict(value), + config_path=config_path, + subtree_path=subtree_path, + ) + ) + return tuple(entries) + + def invalidate(self) -> None: + return None + + def _load_document(self, config_path: Path) -> dict[str, object]: + if not config_path.is_file(): + return {} + text = config_path.read_text(encoding="utf-8") + if self._file_format in {"json", "jsonc"}: + try: + payload = json.loads(_strip_jsonc(text) if self._file_format == "jsonc" else text) + except json.JSONDecodeError as error: + raise MutationError( + f"{self.harness} config file is not valid {self._file_format.upper()}: {error}", + status=409, + ) from error + return payload if isinstance(payload, dict) else {} + try: + payload = tomllib.loads(text) + except tomllib.TOMLDecodeError as error: + raise MutationError( + f"{self.harness} config file is not valid TOML: {error}", + status=409, + ) from error + return payload + + def _dump_document(self, document: dict[str, object]) -> str: + if self._file_format in {"json", "jsonc"}: + return json.dumps(document, ensure_ascii=False, indent=2) + "\n" + return tomli_w.dumps(document) + + def _read_subtree( + self, + document: Mapping[str, object], + subtree_path: SubtreePath, + ) -> Mapping[str, object]: + cursor: object = document + for segment in subtree_path: + if not isinstance(cursor, Mapping): + return {} + cursor = cursor.get(segment, {}) + if isinstance(cursor, Mapping): + return cursor + return {} + + def _write_subtree( + self, + document: dict[str, object], + subtree: dict[str, object], + subtree_path: SubtreePath, + ) -> None: + cursor: dict[str, object] = document + for segment in subtree_path[:-1]: + existing = cursor.get(segment) + if not isinstance(existing, dict): + existing = {} + cursor[segment] = existing + cursor = existing # type: ignore[assignment] + leaf_key = subtree_path[-1] + if subtree: + cursor[leaf_key] = subtree + else: + cursor.pop(leaf_key, None) + + def _remove_from_subtree( + self, + document: dict[str, object], + subtree_path: SubtreePath, + name: str, + ) -> bool: + cursor: dict[str, object] = document + for segment in subtree_path[:-1]: + existing = cursor.get(segment) + if not isinstance(existing, dict): + return False + cursor = existing + leaf_key = subtree_path[-1] + subtree = cursor.get(leaf_key) + if not isinstance(subtree, dict) or name not in subtree: + return False + del subtree[name] + if not subtree: + cursor.pop(leaf_key, None) + return True + + +def build_mcp_adapters( + kernel: HarnessKernelService, +) -> tuple[FileBackedMcpAdapter, ...]: + return tuple( + FileBackedMcpAdapter( + definition=binding.definition, + profile=binding.profile, + context=kernel.context, + ) + for binding in kernel.bindings_for_family("mcp") + if isinstance(binding.profile, ConfigSubtreeBindingProfile) + ) + + +def _normalize_payload(value: object) -> object: + if isinstance(value, dict): + normalized = { + key: _normalize_payload(item) + for key, item in value.items() + if not _is_semantic_default(key, item) + } + return {key: normalized[key] for key in sorted(normalized)} + if isinstance(value, list): + return [_normalize_payload(item) for item in value] + return value + + +def _is_semantic_default(key: str, value: object) -> bool: + if key == "enabled" and value is True: + return True + if key == "transport" and value == "stdio": + return True + if key in {"headers", "env", "environment", "http_headers"} and value == {}: + return True + return False + + +def _strip_jsonc(text: str) -> str: + without_block = re.sub(r"/\*.*?\*/", "", text, flags=re.DOTALL) + without_line = re.sub(r"(^|[^:])//.*$", r"\1", without_block, flags=re.MULTILINE) + return re.sub(r",(\s*[}\]])", r"\1", without_line) + + +def _drift_detail(expected: object, actual: object) -> str: + if not isinstance(expected, dict) or not isinstance(actual, dict): + return "value mismatch" + missing = sorted(set(expected) - set(actual)) + extra = sorted(set(actual) - set(expected)) + changed = sorted( + key for key in set(expected) & set(actual) if expected[key] != actual[key] + ) + parts: list[str] = [] + if missing: + parts.append(f"missing={','.join(missing)}") + if extra: + parts.append(f"extra={','.join(extra)}") + if changed: + parts.append(f"changed={','.join(changed)}") + return "; ".join(parts) or "value mismatch" + + +__all__ = ["FileBackedMcpAdapter", "build_mcp_adapters"] diff --git a/skill_manager/application/mcp/contracts.py b/skill_manager/application/mcp/contracts.py new file mode 100644 index 0000000..0b47626 --- /dev/null +++ b/skill_manager/application/mcp/contracts.py @@ -0,0 +1,113 @@ +from __future__ import annotations + +from dataclasses import dataclass +from pathlib import Path +from typing import Literal, Protocol + +from .store import McpServerSpec + + +BindingState = Literal["managed", "drifted", "unmanaged", "missing"] + + +@dataclass(frozen=True) +class McpHarnessStatus: + harness: str + label: str + logo_key: str | None + installed: bool + config_path: Path + config_present: bool + mcp_writable: bool = True + mcp_unavailable_reason: str | None = None + + +@dataclass(frozen=True) +class McpObservedEntry: + name: str + state: BindingState + raw_payload: dict[str, object] | None = None + parsed_spec: McpServerSpec | None = None + drift_detail: str | None = None + parse_issue: str | None = None + + +@dataclass(frozen=True) +class McpBinding: + harness: str + name: str + state: BindingState + drift_detail: str | None = None + + +@dataclass(frozen=True) +class McpHarnessScan: + harness: str + label: str + logo_key: str | None + installed: bool + config_present: bool + config_path: Path + mcp_writable: bool = True + mcp_unavailable_reason: str | None = None + scan_issue: str | None = None + entries: tuple[McpObservedEntry, ...] = () + + +@dataclass(frozen=True) +class McpInventoryEntry: + name: str + display_name: str + spec: McpServerSpec | None + sightings: tuple[McpBinding, ...] + is_managed: bool + can_enable: bool = True + + @property + def kind(self) -> str: + return "managed" if self.is_managed else "unmanaged" + + +@dataclass(frozen=True) +class McpInventoryIssue: + name: str + reason: str + + +@dataclass(frozen=True) +class McpInventory: + columns: tuple[str, ...] + entries: tuple[McpInventoryEntry, ...] + issues: tuple[McpInventoryIssue, ...] = () + + +class McpHarnessAdapter(Protocol): + harness: str + label: str + logo_key: str | None + config_path: Path + + def status(self) -> McpHarnessStatus: ... + + def scan(self, specs: tuple[McpServerSpec, ...]) -> McpHarnessScan: ... + + def has_binding(self, name: str) -> bool: ... + + def enable_server(self, spec: McpServerSpec) -> None: ... + + def disable_server(self, name: str) -> None: ... + + def invalidate(self) -> None: ... + + +__all__ = [ + "BindingState", + "McpBinding", + "McpHarnessAdapter", + "McpHarnessScan", + "McpHarnessStatus", + "McpInventory", + "McpInventoryEntry", + "McpInventoryIssue", + "McpObservedEntry", +] diff --git a/skill_manager/application/mcp/enrichment.py b/skill_manager/application/mcp/enrichment.py new file mode 100644 index 0000000..216272f --- /dev/null +++ b/skill_manager/application/mcp/enrichment.py @@ -0,0 +1,147 @@ +from __future__ import annotations + +from dataclasses import dataclass +from threading import Lock +from typing import Mapping + +from .marketplace.catalog import McpMarketplaceCatalog + +@dataclass(frozen=True) +class MarketplaceLink: + qualified_name: str + display_name: str + icon_url: str | None + external_url: str + description: str + is_remote: bool + is_verified: bool + + def to_dict(self) -> dict[str, object]: + return { + "qualifiedName": self.qualified_name, + "displayName": self.display_name, + "iconUrl": self.icon_url, + "externalUrl": self.external_url, + "description": self.description, + "isRemote": self.is_remote, + "isVerified": self.is_verified, + } + + +def _canonical_lookup_key(qualified_name: str) -> str: + """Reverse of mutations._canonical_name; used to map local name → smithery id.""" + cleaned = qualified_name.lstrip("@") + if "/" in cleaned: + cleaned = cleaned.split("/", 1)[1] + return cleaned.replace("@", "-").replace("/", "-").lower() + + +class McpEnrichmentService: + """Maps a local server name to a smithery marketplace entry, when one exists. + + Lookups go through three tiers: + 1. In-memory cache (per-process, hit immediately). + 2. Popular list scan (one network call per process; warm cache covers ~most servers). + 3. On-demand verified search by name. + + Negative results are also cached (None) to avoid repeated misses. + """ + + def __init__(self, catalog: McpMarketplaceCatalog) -> None: + self._catalog = catalog + self._cache: dict[str, MarketplaceLink | None] = {} + self._lock = Lock() + self._popular_warmed = False + + def warm_from_popular(self) -> None: + with self._lock: + if self._popular_warmed: + return + self._popular_warmed = True + try: + page = self._catalog.popular_page(limit=100, offset=0) + except Exception: + return + items = page.get("items") if isinstance(page, dict) else [] + if not isinstance(items, list): + return + with self._lock: + for item in items: + if not isinstance(item, Mapping): + continue + qualified_name = item.get("qualifiedName") + if not isinstance(qualified_name, str) or not qualified_name: + continue + key = _canonical_lookup_key(qualified_name) + if key in self._cache: + continue + self._cache[key] = MarketplaceLink( + qualified_name=qualified_name, + display_name=str(item.get("displayName") or key), + icon_url=_optional_str(item.get("iconUrl")), + external_url=str(item.get("externalUrl") or ""), + description=str(item.get("description") or ""), + is_remote=bool(item.get("isRemote", False)), + is_verified=bool(item.get("isVerified", False)), + ) + + def lookup(self, name: str, *, allow_search: bool = True) -> MarketplaceLink | None: + if not name: + return None + key = name.lower() + self.warm_from_popular() + with self._lock: + if key in self._cache: + return self._cache[key] + if not allow_search: + return None + link = self._search_by_name(name) + with self._lock: + self._cache[key] = link + return link + + def invalidate(self) -> None: + with self._lock: + self._cache.clear() + self._popular_warmed = False + + def _search_by_name(self, name: str) -> MarketplaceLink | None: + try: + page = self._catalog.search_page(name, limit=10, offset=0, verified=True) + except Exception: + return None + items = page.get("items") if isinstance(page, dict) else [] + if not isinstance(items, list): + return None + target_key = name.lower() + # Prefer exact canonical-name match before falling back to first result. + for item in items: + if not isinstance(item, Mapping): + continue + qualified_name = item.get("qualifiedName") + if not isinstance(qualified_name, str) or not qualified_name: + continue + if _canonical_lookup_key(qualified_name) == target_key: + return _link_from_item(item, qualified_name) + return None + + +def _link_from_item(item: Mapping[str, object], qualified_name: str) -> MarketplaceLink: + return MarketplaceLink( + qualified_name=qualified_name, + display_name=str(item.get("displayName") or qualified_name), + icon_url=_optional_str(item.get("iconUrl")), + external_url=str(item.get("externalUrl") or ""), + description=str(item.get("description") or ""), + is_remote=bool(item.get("isRemote", False)), + is_verified=bool(item.get("isVerified", False)), + ) + + +def _optional_str(value: object) -> str | None: + if isinstance(value, str) and value: + return value + return None + + +__all__ = ["McpEnrichmentService", "MarketplaceLink"] diff --git a/skill_manager/application/mcp/env.py b/skill_manager/application/mcp/env.py new file mode 100644 index 0000000..a9f6b2a --- /dev/null +++ b/skill_manager/application/mcp/env.py @@ -0,0 +1,31 @@ +from __future__ import annotations + +import re +from typing import Mapping + + +_ENV_REF_PATTERN = re.compile(r"^\$\{env:[A-Z][A-Z0-9_]*\}$") + + +def is_env_var_reference(value: str) -> bool: + return bool(_ENV_REF_PATTERN.match(value or "")) + + +def annotate_env( + env: Mapping[str, str] | tuple[tuple[str, str], ...] | None, +) -> list[dict[str, object]]: + """Render env entries exactly as stored in the local manifest.""" + if not env: + return [] + pairs = env.items() if isinstance(env, Mapping) else env + return [ + { + "key": key, + "value": value, + "isEnvRef": is_env_var_reference(value), + } + for key, value in pairs + ] + + +__all__ = ["annotate_env", "is_env_var_reference"] diff --git a/skill_manager/application/mcp/identity.py b/skill_manager/application/mcp/identity.py new file mode 100644 index 0000000..2b36819 --- /dev/null +++ b/skill_manager/application/mcp/identity.py @@ -0,0 +1,122 @@ +from __future__ import annotations + +import hashlib +import json +from dataclasses import dataclass +from typing import Iterable + +from .contracts import McpHarnessScan +from .store import McpServerSpec + + +@dataclass(frozen=True) +class HarnessSighting: + harness: str + label: str + logo_key: str | None + config_path: str | None + payload: dict[str, object] + spec: McpServerSpec + + +@dataclass(frozen=True) +class ServerIdentityGroup: + name: str + identical: bool + canonical_spec: McpServerSpec | None + sightings: tuple[HarnessSighting, ...] + + @property + def harnesses(self) -> tuple[str, ...]: + return tuple(s.harness for s in self.sightings) + + +@dataclass(frozen=True) +class AdoptionIssue: + name: str + harness: str + label: str + config_path: str | None + reason: str + payload: dict[str, object] | None + + +@dataclass(frozen=True) +class AdoptionPlan: + groups: tuple[ServerIdentityGroup, ...] + issues: tuple[AdoptionIssue, ...] + + +def build_identity_plan( + scans: Iterable[McpHarnessScan], + *, + excluded_names: Iterable[str] = (), +) -> AdoptionPlan: + excluded = set(excluded_names) + by_name: dict[str, list[HarnessSighting]] = {} + issues: list[AdoptionIssue] = [] + + for scan in scans: + for entry in scan.entries: + if entry.state != "unmanaged": + continue + if entry.name in excluded: + continue + if entry.parsed_spec is None: + issues.append( + AdoptionIssue( + name=entry.name, + harness=scan.harness, + label=scan.label, + config_path=str(scan.config_path) if scan.config_present else None, + reason=entry.parse_issue or "unable to parse unmanaged MCP entry", + payload=entry.raw_payload, + ) + ) + continue + by_name.setdefault(entry.name, []).append( + HarnessSighting( + harness=scan.harness, + label=scan.label, + logo_key=scan.logo_key, + config_path=str(scan.config_path) if scan.config_present else None, + payload=dict(entry.raw_payload or {}), + spec=entry.parsed_spec, + ) + ) + + groups: list[ServerIdentityGroup] = [] + for name, sightings in sorted(by_name.items()): + keys = {_structural_key(s.spec) for s in sightings} + identical = len(keys) == 1 + groups.append( + ServerIdentityGroup( + name=name, + identical=identical, + canonical_spec=sightings[0].spec if identical else None, + sightings=tuple(sightings), + ) + ) + return AdoptionPlan(groups=tuple(groups), issues=tuple(issues)) + + +def _structural_key(spec: McpServerSpec) -> str: + payload = { + "name": spec.name, + "transport": spec.transport, + "command": spec.command, + "args": list(spec.args) if spec.args else None, + "env": dict(spec.env) if spec.env else None, + "url": spec.url, + "headers": dict(spec.headers) if spec.headers else None, + } + return hashlib.sha256(json.dumps(payload, sort_keys=True).encode("utf-8")).hexdigest() + + +__all__ = [ + "AdoptionIssue", + "AdoptionPlan", + "HarnessSighting", + "ServerIdentityGroup", + "build_identity_plan", +] diff --git a/skill_manager/application/mcp/installers.py b/skill_manager/application/mcp/installers.py new file mode 100644 index 0000000..f86c429 --- /dev/null +++ b/skill_manager/application/mcp/installers.py @@ -0,0 +1,161 @@ +from __future__ import annotations + +import os +import re +import subprocess +from dataclasses import dataclass +from pathlib import Path +from typing import Mapping, Protocol + +from skill_manager.errors import MutationError + + +_OPENCLAW_UNSUPPORTED_REASON = "Smithery does not provide an OpenClaw MCP installer target" +_ANSI_RE = re.compile(r"\x1b\[[0-9;?]*[A-Za-z]") + + +@dataclass(frozen=True) +class McpInstallResult: + qualified_name: str + source_harness: str + installer: str + stdout: str + stderr: str + + +@dataclass(frozen=True) +class SmitheryClientTarget: + harness: str + smithery_client: str | None + supported: bool + reason: str | None = None + + +_SMITHERY_CLIENT_TARGETS: tuple[SmitheryClientTarget, ...] = ( + SmitheryClientTarget(harness="codex", smithery_client="codex", supported=True), + SmitheryClientTarget(harness="claude", smithery_client="claude-code", supported=True), + SmitheryClientTarget(harness="cursor", smithery_client="cursor", supported=True), + SmitheryClientTarget(harness="opencode", smithery_client="opencode", supported=True), + SmitheryClientTarget( + harness="openclaw", + smithery_client=None, + supported=False, + reason=_OPENCLAW_UNSUPPORTED_REASON, + ), +) +_SMITHERY_TARGETS_BY_HARNESS = {target.harness: target for target in _SMITHERY_CLIENT_TARGETS} + + +class McpInstallProvider(Protocol): + def install_targets(self) -> tuple[SmitheryClientTarget, ...]: ... + + def install( + self, + *, + qualified_name: str, + source_harness: str, + ) -> McpInstallResult: ... + + +class SmitheryCliInstallProvider: + def __init__( + self, + *, + env: Mapping[str, str] | None = None, + cwd: Path | None = None, + timeout_seconds: float = 120.0, + runner=subprocess.run, + ) -> None: + self._env = dict(env or {}) + self._cwd = cwd + self._timeout_seconds = timeout_seconds + self._runner = runner + + def install_targets(self) -> tuple[SmitheryClientTarget, ...]: + return _SMITHERY_CLIENT_TARGETS + + def install( + self, + *, + qualified_name: str, + source_harness: str, + ) -> McpInstallResult: + target = _SMITHERY_TARGETS_BY_HARNESS.get(source_harness) + if target is None or not target.supported or target.smithery_client is None: + message = ( + target.reason + if target and target.reason + else f"Smithery install is not supported for source harness: {source_harness}" + ) + raise MutationError( + message, + status=400, + ) + + command = [ + "npx", + "-y", + "@smithery/cli@latest", + "mcp", + "add", + qualified_name, + "--client", + target.smithery_client, + "--config", + "{}", + ] + env = dict(os.environ) + env.update(self._env) + env["NO_COLOR"] = "1" + + try: + result = self._runner( + command, + input="n\n", + text=True, + env=env, + cwd=str(self._cwd or Path(env.get("HOME", str(Path.home())))), + capture_output=True, + timeout=self._timeout_seconds, + ) + except subprocess.TimeoutExpired as error: + raise MutationError( + f"Smithery install timed out after {self._timeout_seconds:.0f}s", + status=504, + ) from error + except OSError as error: + raise MutationError(f"Unable to run Smithery installer: {error}", status=502) from error + + stdout = _clean_output(getattr(result, "stdout", "") or "") + stderr = _clean_output(getattr(result, "stderr", "") or "") + if getattr(result, "returncode", 1) != 0: + message = _summarize_failure(stdout, stderr) or "Smithery install failed" + raise MutationError(message, status=502) + + return McpInstallResult( + qualified_name=qualified_name, + source_harness=source_harness, + installer="smithery", + stdout=stdout, + stderr=stderr, + ) + + +def _clean_output(value: str) -> str: + return _ANSI_RE.sub("", value).strip() + + +def _summarize_failure(stdout: str, stderr: str) -> str: + combined = "\n".join(part for part in (stderr, stdout) if part) + lines = [line.strip() for line in combined.splitlines() if line.strip()] + if not lines: + return "" + return lines[-1][:500] + + +__all__ = [ + "McpInstallProvider", + "McpInstallResult", + "SmitheryCliInstallProvider", + "SmitheryClientTarget", +] diff --git a/skill_manager/application/mcp/inventory.py b/skill_manager/application/mcp/inventory.py new file mode 100644 index 0000000..52d364d --- /dev/null +++ b/skill_manager/application/mcp/inventory.py @@ -0,0 +1,73 @@ +from __future__ import annotations + +from typing import Iterable + +from .contracts import ( + McpBinding, + McpHarnessScan, + McpInventory, + McpInventoryEntry, + McpInventoryIssue, +) +from .store import McpServerSpec + + +def build_inventory( + *, + managed_servers: Iterable[McpServerSpec], + specs: Iterable[McpServerSpec], + scans: Iterable[McpHarnessScan], + issues: Iterable[McpInventoryIssue] = (), +) -> McpInventory: + """Combine central specs + per-harness scans into a server x harness matrix.""" + scans_tuple = tuple(scans) + specs_tuple = tuple(specs) + managed_tuple = tuple(managed_servers) + columns = tuple(scan.harness for scan in scans_tuple) + + bindings_by_name: dict[str, list[McpBinding]] = {} + for scan in scans_tuple: + for entry in scan.entries: + binding = McpBinding( + harness=scan.harness, + name=entry.name, + state=entry.state, + drift_detail=entry.drift_detail, + ) + bindings_by_name.setdefault(entry.name, []).append(binding) + + spec_by_name = {spec.name: spec for spec in specs_tuple} + entries: list[McpInventoryEntry] = [] + seen: set[str] = set() + + for server in sorted(managed_tuple, key=lambda s: s.display_name.lower()): + spec = spec_by_name.get(server.name) + bindings = tuple(bindings_by_name.get(server.name, ())) + entries.append( + McpInventoryEntry( + name=server.name, + display_name=server.display_name, + spec=spec, + sightings=bindings, + is_managed=True, + can_enable=spec is not None, + ) + ) + seen.add(server.name) + + for name in sorted(name for name in bindings_by_name if name not in seen): + entries.append( + McpInventoryEntry( + name=name, + display_name=name, + spec=spec_by_name.get(name), + sightings=tuple(bindings_by_name[name]), + is_managed=False, + can_enable=True, + ) + ) + + return McpInventory(columns=columns, entries=tuple(entries), issues=tuple(issues)) + + +__all__ = ["build_inventory"] diff --git a/skill_manager/application/mcp/mappers.py b/skill_manager/application/mcp/mappers.py new file mode 100644 index 0000000..5174d4c --- /dev/null +++ b/skill_manager/application/mcp/mappers.py @@ -0,0 +1,318 @@ +from __future__ import annotations + +from typing import Mapping, Protocol + +from skill_manager.errors import MutationError + +from .store import McpServerSpec, McpSource + + +class TransportMapper(Protocol): + """Translates between McpServerSpec and a single harness's per-server payload dict. + + Each harness puts MCP servers under a different sub-tree (e.g. "mcpServers", "mcp", + "mcp_servers") with slightly different keys. Managers handle the file IO; the + mapper handles the per-entry shape conversion. + """ + + def spec_to_dict(self, spec: McpServerSpec) -> dict[str, object]: ... + + def dict_to_spec( + self, name: str, raw: Mapping[str, object], *, source: McpSource | None = None + ) -> McpServerSpec: ... + + +# Claude Code / Cursor ------------------------------------------------------ + + +class _TypedMcpServersMapper: + """Shared mcpServers shape used by Claude Code and Cursor. + + Both clients require explicit ``type`` on writes. The reader intentionally + accepts older URL-only/command-only entries so Skill Manager can adopt and + repair configs written by older versions. + """ + + source_harness: str + + def spec_to_dict(self, spec: McpServerSpec) -> dict[str, object]: + if spec.transport == "stdio": + payload: dict[str, object] = {"type": "stdio"} + if spec.command is not None: + payload["command"] = spec.command + if spec.args: + payload["args"] = list(spec.args) + if spec.env: + payload["env"] = dict(spec.env) + return payload + + payload = {"type": spec.transport} + if spec.url is not None: + payload["url"] = spec.url + if spec.headers: + payload["headers"] = dict(spec.headers) + return payload + + def dict_to_spec( + self, name: str, raw: Mapping[str, object], *, source: McpSource | None = None + ) -> McpServerSpec: + type_value = _str_or_none(raw.get("type")) or _str_or_none(raw.get("transport")) + if type_value == "stdio" or "command" in raw or "args" in raw: + return McpServerSpec( + name=name, + display_name=name, + source=source or McpSource.adopted(self.source_harness, name), + transport="stdio", + command=_str_or_none(raw.get("command")), + args=_str_tuple(raw.get("args")), + env=_str_pairs(raw.get("env")), + ) + if "url" in raw: + transport = "sse" if type_value == "sse" else "http" + return McpServerSpec( + name=name, + display_name=name, + source=source or McpSource.adopted(self.source_harness, name), + transport=transport, + url=_str_or_none(raw.get("url")), + headers=_str_pairs(raw.get("headers")), + ) + raise MutationError( + f"unsupported {self.source_harness} mcp entry '{name}': missing 'command' and 'url'", + status=400, + ) + + +class ClaudeCodeMapper(_TypedMcpServersMapper): + source_harness = "claude" + + +class CursorMapper(_TypedMcpServersMapper): + source_harness = "cursor" + + +# OpenCode ----------------------------------------------------------------- + + +class OpenCodeMapper: + """Used by opencode. Stdio = type:local + command:[cmd, ...args]; remote = type:remote. + + Reference: https://opencode.ai/docs/config/ + """ + + def spec_to_dict(self, spec: McpServerSpec) -> dict[str, object]: + if spec.transport == "stdio": + command_list: list[str] = [] + if spec.command is not None: + command_list.append(spec.command) + command_list.extend(spec.args_list()) + payload: dict[str, object] = { + "type": "local", + "command": command_list, + "enabled": True, + } + if spec.env: + payload["environment"] = dict(spec.env) + return payload + payload = { + "type": "remote", + "url": spec.url, + "enabled": True, + } + if spec.headers: + payload["headers"] = dict(spec.headers) + return payload + + def dict_to_spec( + self, name: str, raw: Mapping[str, object], *, source: McpSource | None = None + ) -> McpServerSpec: + type_value = _str_or_none(raw.get("type")) + if type_value == "local": + command_list = raw.get("command") + command: str | None = None + args: tuple[str, ...] | None = None + if isinstance(command_list, list) and command_list: + command = str(command_list[0]) + rest = [str(x) for x in command_list[1:]] + args = tuple(rest) if rest else None + elif isinstance(command_list, str): + command = command_list + return McpServerSpec( + name=name, + display_name=name, + source=source or McpSource.adopted("opencode", name), + transport="stdio", + command=command, + args=args, + env=_str_pairs(raw.get("environment")), + ) + if type_value == "remote": + return McpServerSpec( + name=name, + display_name=name, + source=source or McpSource.adopted("opencode", name), + transport="http", + url=_str_or_none(raw.get("url")), + headers=_str_pairs(raw.get("headers")), + ) + raise MutationError( + f"unsupported opencode mcp entry '{name}': type must be 'local' or 'remote'", + status=400, + ) + + +# Codex -------------------------------------------------------------------- + + +class CodexMapper: + """Used by codex. Flat TOML table per server. + + stdio: {command, args, env} + http: {url, http_headers} + """ + + def spec_to_dict(self, spec: McpServerSpec) -> dict[str, object]: + if spec.transport == "stdio": + payload: dict[str, object] = {} + if spec.command is not None: + payload["command"] = spec.command + if spec.args: + payload["args"] = list(spec.args) + if spec.env: + payload["env"] = dict(spec.env) + return payload + payload = {} + if spec.url is not None: + payload["url"] = spec.url + if spec.headers: + payload["http_headers"] = dict(spec.headers) + return payload + + def dict_to_spec( + self, name: str, raw: Mapping[str, object], *, source: McpSource | None = None + ) -> McpServerSpec: + if "command" in raw or "args" in raw: + return McpServerSpec( + name=name, + display_name=name, + source=source or McpSource.adopted("codex", name), + transport="stdio", + command=_str_or_none(raw.get("command")), + args=_str_tuple(raw.get("args")), + env=_str_pairs(raw.get("env")), + ) + if "url" in raw: + return McpServerSpec( + name=name, + display_name=name, + source=source or McpSource.adopted("codex", name), + transport="http", + url=_str_or_none(raw.get("url")), + headers=_str_pairs(raw.get("http_headers") or raw.get("headers")), + ) + raise MutationError( + f"unsupported codex mcp entry '{name}': missing 'command' and 'url'", + status=400, + ) + + +# OpenClaw ----------------------------------------------------------------- + + +class OpenClawMapper: + """OpenClaw MCP config shape, used only when the local CLI supports it.""" + + def spec_to_dict(self, spec: McpServerSpec) -> dict[str, object]: + if spec.transport == "stdio": + payload: dict[str, object] = {} + if spec.command is not None: + payload["command"] = spec.command + if spec.args: + payload["args"] = list(spec.args) + if spec.env: + payload["env"] = dict(spec.env) + return payload + + payload = { + "url": spec.url, + "transport": "streamable-http" if spec.transport == "http" else "sse", + } + if spec.headers: + payload["headers"] = dict(spec.headers) + return payload + + def dict_to_spec( + self, name: str, raw: Mapping[str, object], *, source: McpSource | None = None + ) -> McpServerSpec: + if "command" in raw or "args" in raw: + return McpServerSpec( + name=name, + display_name=name, + source=source or McpSource.adopted("openclaw", name), + transport="stdio", + command=_str_or_none(raw.get("command")), + args=_str_tuple(raw.get("args")), + env=_str_pairs(raw.get("env")), + ) + if "url" in raw: + transport_raw = _str_or_none(raw.get("transport")) or _str_or_none(raw.get("type")) + transport = "http" if transport_raw in {None, "http", "streamable-http"} else "sse" + return McpServerSpec( + name=name, + display_name=name, + source=source or McpSource.adopted("openclaw", name), + transport=transport, + url=_str_or_none(raw.get("url")), + headers=_str_pairs(raw.get("headers")), + ) + raise MutationError( + f"unsupported openclaw mcp entry '{name}': missing 'command' and 'url'", + status=400, + ) + + +# Helpers ------------------------------------------------------------------ + + +def _str_or_none(value: object) -> str | None: + if isinstance(value, str) and value: + return value + return None + + +def _str_tuple(value: object) -> tuple[str, ...] | None: + if isinstance(value, list): + return tuple(str(v) for v in value) + return None + + +def _str_pairs(value: object) -> tuple[tuple[str, str], ...] | None: + if isinstance(value, dict) and value: + return tuple((str(k), str(v)) for k, v in value.items()) + return None + + +_MAPPERS: dict[str, TransportMapper] = { + "claude-code": ClaudeCodeMapper(), + "cursor": CursorMapper(), + "opencode": OpenCodeMapper(), + "codex": CodexMapper(), + "openclaw": OpenClawMapper(), +} + + +def get_mapper(kind: str) -> TransportMapper: + if kind not in _MAPPERS: + raise ValueError(f"unknown mapper kind: {kind}") + return _MAPPERS[kind] + + +__all__ = [ + "ClaudeCodeMapper", + "CodexMapper", + "CursorMapper", + "OpenClawMapper", + "OpenCodeMapper", + "TransportMapper", + "get_mapper", +] diff --git a/skill_manager/application/mcp/marketplace/__init__.py b/skill_manager/application/mcp/marketplace/__init__.py new file mode 100644 index 0000000..0b9eda4 --- /dev/null +++ b/skill_manager/application/mcp/marketplace/__init__.py @@ -0,0 +1,4 @@ +from .catalog import McpMarketplaceCatalog +from .client import SmitheryClient + +__all__ = ["McpMarketplaceCatalog", "SmitheryClient"] diff --git a/skill_manager/application/mcp/marketplace/catalog.py b/skill_manager/application/mcp/marketplace/catalog.py new file mode 100644 index 0000000..05a80ab --- /dev/null +++ b/skill_manager/application/mcp/marketplace/catalog.py @@ -0,0 +1,395 @@ +from __future__ import annotations + +import hashlib +from typing import Callable +from urllib.parse import quote, urlencode + +from skill_manager.errors import MarketplaceUpstreamError +from skill_manager.application.marketplace_cache import MarketplaceCache + +from ..names import canonical_server_name +from ..stdio import parse_static_stdio_function +from .client import SmitheryClient + +Fetcher = Callable[[str], dict[str, object]] + +_SMITHERY_WEB_BASE_URL = "https://smithery.ai" +_DEFAULT_PAGE_SIZE = 30 +_MAX_PAGE_SIZE = 100 +_POPULAR_TTL_SECONDS = 3600 +_SEARCH_TTL_SECONDS = 900 +_DETAIL_TTL_SECONDS = 86400 + +_POPULAR_NAMESPACE = "smithery-popular-v1" +_SEARCH_NAMESPACE = "smithery-search-v1" +_DETAIL_NAMESPACE = "smithery-detail-v5" + + +class McpMarketplaceCatalog: + DEFAULT_PAGE_SIZE = _DEFAULT_PAGE_SIZE + MAX_PAGE_SIZE = _MAX_PAGE_SIZE + + def __init__( + self, + *, + fetcher: Fetcher | None = None, + cache: MarketplaceCache | None = None, + ) -> None: + self._fetcher = fetcher or SmitheryClient.from_environment().fetch_json + self._cache = cache or MarketplaceCache() + + @classmethod + def from_environment( + cls, + env: dict[str, str] | None = None, + *, + cache: MarketplaceCache | None = None, + ) -> "McpMarketplaceCatalog": + client = SmitheryClient.from_environment(env) + return cls( + fetcher=client.fetch_json, + cache=cache or MarketplaceCache.from_environment(env), + ) + + @property + def cache(self) -> MarketplaceCache: + return self._cache + + def popular_page(self, *, limit: int | None = None, offset: int = 0) -> dict[str, object]: + return self._list_page( + query=None, + limit=limit, + offset=offset, + remote=None, + verified=None, + namespace=_POPULAR_NAMESPACE, + ttl_seconds=_POPULAR_TTL_SECONDS, + ) + + def search_page( + self, + query: str, + *, + limit: int | None = None, + offset: int = 0, + remote: bool | None = None, + verified: bool | None = None, + ) -> dict[str, object]: + trimmed = (query or "").strip() + if len(trimmed) < 2 and (remote is None and verified is None): + raise ValueError("Enter at least 2 characters to search Smithery.") + return self._list_page( + query=trimmed or None, + limit=limit, + offset=offset, + remote=remote, + verified=verified, + namespace=_SEARCH_NAMESPACE, + ttl_seconds=_SEARCH_TTL_SECONDS, + ) + + def detail(self, qualified_name: str) -> dict[str, object] | None: + name = (qualified_name or "").strip() + if not name: + return None + cache_key = name + cached = self._cache.read(_DETAIL_NAMESPACE, cache_key, ttl_seconds=_DETAIL_TTL_SECONDS) + if cached is not None and isinstance(cached.payload, dict): + return cached.payload + try: + raw = self._fetcher(f"/servers/{quote(name, safe='/')}") + except MarketplaceUpstreamError as error: + if error.upstream_status == 404: + return None + raise + payload = _map_detail(raw, qualified_name=name) + self._cache.write(_DETAIL_NAMESPACE, cache_key, payload) + return payload + + def _list_page( + self, + *, + query: str | None, + limit: int | None, + offset: int, + remote: bool | None, + verified: bool | None, + namespace: str, + ttl_seconds: int, + ) -> dict[str, object]: + page_size = _normalize_limit(limit) + page_offset = max(offset, 0) + page_number = (page_offset // page_size) + 1 + + params: list[tuple[str, str]] = [ + ("pageSize", str(page_size)), + ("page", str(page_number)), + ] + if query: + params.append(("q", query)) + if remote is True: + params.append(("remote", "true")) + elif remote is False: + params.append(("remote", "false")) + if verified is True: + params.append(("verified", "true")) + + path = f"/servers?{urlencode(params)}" + cache_key = _cache_key_for_path(path) + cached = self._cache.read(namespace, cache_key, ttl_seconds=ttl_seconds) + raw: dict[str, object] | None = None + if cached is not None and isinstance(cached.payload, dict): + raw = cached.payload # type: ignore[assignment] + if raw is None: + raw = self._fetcher(path) + self._cache.write(namespace, cache_key, raw) + + servers_obj = raw.get("servers", []) if isinstance(raw, dict) else [] + servers = servers_obj if isinstance(servers_obj, list) else [] + pagination = raw.get("pagination", {}) if isinstance(raw, dict) else {} + total_pages = 0 + current_page = page_number + if isinstance(pagination, dict): + total_pages = _coerce_int(pagination.get("totalPages"), default=0) + current_page = _coerce_int(pagination.get("currentPage"), default=page_number) + + items = [_map_summary(server) for server in servers if isinstance(server, dict)] + has_more = current_page < total_pages and bool(items) + next_offset = page_offset + len(items) if has_more else None + return { + "items": items, + "nextOffset": next_offset, + "hasMore": has_more, + } + + +def _normalize_limit(limit: int | None) -> int: + if limit is None: + return _DEFAULT_PAGE_SIZE + return max(1, min(int(limit), _MAX_PAGE_SIZE)) + + +def _cache_key_for_path(path: str) -> str: + return hashlib.sha1(path.encode("utf-8")).hexdigest() + + +def _coerce_int(value: object, *, default: int) -> int: + if isinstance(value, bool): + return default + if isinstance(value, (int, float)): + return int(value) + if isinstance(value, str): + try: + return int(value) + except ValueError: + return default + return default + + +def _coerce_str(value: object, *, default: str = "") -> str: + return value if isinstance(value, str) else default + + +def _coerce_optional_str(value: object) -> str | None: + if isinstance(value, str) and value.strip(): + return value + return None + + +def _coerce_bool(value: object, *, default: bool = False) -> bool: + return value if isinstance(value, bool) else default + + +def _map_summary(server: dict[str, object]) -> dict[str, object]: + qualified_name = _coerce_str(server.get("qualifiedName")) + return { + "qualifiedName": qualified_name, + "namespace": _coerce_str(server.get("namespace")), + "displayName": _coerce_str(server.get("displayName"), default=qualified_name), + "description": _coerce_str(server.get("description")), + "iconUrl": _coerce_optional_str(server.get("iconUrl")), + "isVerified": _coerce_bool(server.get("verified")), + "isRemote": _coerce_bool(server.get("remote")), + "isDeployed": _coerce_bool(server.get("isDeployed")), + "useCount": _coerce_int(server.get("useCount"), default=0), + "createdAt": _coerce_optional_str(server.get("createdAt")), + "homepage": _coerce_optional_str(server.get("homepage")), + "externalUrl": _external_url(qualified_name), + } + + +def _map_detail(raw: dict[str, object], *, qualified_name: str) -> dict[str, object]: + display_name = _coerce_str(raw.get("displayName"), default=qualified_name) + description = _coerce_str(raw.get("description")) + icon_url = _coerce_optional_str(raw.get("iconUrl")) + is_remote = _coerce_bool(raw.get("remote")) + deployment_url = _coerce_optional_str(raw.get("deploymentUrl")) + + connections_raw = raw.get("connections", []) + connections: list[dict[str, object]] = [] + if isinstance(connections_raw, list): + for connection in connections_raw: + if not isinstance(connection, dict): + continue + kind_raw = _coerce_str(connection.get("type"), default="unknown").lower() + kind = ( + "http" + if kind_raw in {"http", "streamable-http"} + else ("sse" if kind_raw == "sse" else ("stdio" if kind_raw == "stdio" else kind_raw or "unknown")) + ) + config_schema = connection.get("configSchema") + mapped_connection: dict[str, object] = { + "kind": kind, + "deploymentUrl": _coerce_optional_str(connection.get("deploymentUrl")), + "configSchema": config_schema if isinstance(config_schema, dict) else None, + } + if kind == "stdio": + stdio_function = _coerce_optional_str(connection.get("stdioFunction")) + bundle_url = _coerce_optional_str(connection.get("bundleUrl")) + runtime = _coerce_optional_str(connection.get("runtime")) + static_stdio = parse_static_stdio_function(stdio_function) + mapped_connection["stdioFunction"] = stdio_function + mapped_connection["bundleUrl"] = bundle_url + mapped_connection["runtime"] = runtime + mapped_connection["stdioCommand"] = static_stdio.command if static_stdio else None + mapped_connection["stdioArgs"] = list(static_stdio.args) if static_stdio else None + connections.append(mapped_connection) + + tools_raw = raw.get("tools", []) + tools: list[dict[str, object]] = [] + if isinstance(tools_raw, list): + for tool in tools_raw: + if not isinstance(tool, dict): + continue + name = _coerce_str(tool.get("name")) + if not name: + continue + tools.append( + { + "name": name, + "description": _coerce_str(tool.get("description")), + "parameters": _flatten_input_schema(tool.get("inputSchema")), + } + ) + + resources_raw = raw.get("resources", []) + resources: list[dict[str, object]] = [] + if isinstance(resources_raw, list): + for resource in resources_raw: + if not isinstance(resource, dict): + continue + resources.append( + { + "name": _coerce_str(resource.get("name")), + "uri": _coerce_str(resource.get("uri")), + "description": _coerce_str(resource.get("description")), + "mimeType": _coerce_optional_str(resource.get("mimeType")), + } + ) + + prompts_raw = raw.get("prompts", []) + prompts: list[dict[str, object]] = [] + if isinstance(prompts_raw, list): + for prompt in prompts_raw: + if not isinstance(prompt, dict): + continue + arguments_raw = prompt.get("arguments") + arguments: list[dict[str, object]] = [] + if isinstance(arguments_raw, list): + for argument in arguments_raw: + if not isinstance(argument, dict): + continue + arguments.append( + { + "name": _coerce_str(argument.get("name")), + "description": _coerce_str(argument.get("description")), + "required": _coerce_bool(argument.get("required")), + } + ) + prompts.append( + { + "name": _coerce_str(prompt.get("name")), + "description": _coerce_str(prompt.get("description")), + "arguments": arguments, + } + ) + + return { + "qualifiedName": qualified_name, + "managedName": canonical_server_name(qualified_name), + "displayName": display_name, + "description": description, + "iconUrl": icon_url, + "isRemote": is_remote, + "deploymentUrl": deployment_url, + "connections": connections, + "tools": tools, + "resources": resources, + "prompts": prompts, + "capabilityCounts": { + "tools": len(tools), + "resources": len(resources), + "prompts": len(prompts), + }, + "externalUrl": _external_url(qualified_name), + } + + +def _flatten_input_schema(schema: object) -> list[dict[str, object]]: + if not isinstance(schema, dict): + return [] + properties = schema.get("properties") + required_raw = schema.get("required") + required_set: set[str] = set() + if isinstance(required_raw, list): + required_set = {item for item in required_raw if isinstance(item, str)} + if not isinstance(properties, dict): + return [] + parameters: list[dict[str, object]] = [] + for name, value in properties.items(): + if not isinstance(name, str): + continue + entry = value if isinstance(value, dict) else {} + param: dict[str, object] = { + "name": name, + "type": _coerce_param_type(entry.get("type")), + "description": _coerce_str(entry.get("description")), + "required": name in required_set, + } + for hint_key in ("default", "minimum", "maximum", "minItems", "maxItems", "minLength", "maxLength"): + if hint_key in entry: + param[_camel(hint_key)] = entry.get(hint_key) + enum_value = entry.get("enum") + if isinstance(enum_value, list) and enum_value: + param["enum"] = enum_value + parameters.append(param) + return parameters + + +_VALID_PARAM_TYPES = {"string", "number", "integer", "boolean", "array", "object"} + + +def _coerce_param_type(value: object) -> str: + if isinstance(value, str) and value in _VALID_PARAM_TYPES: + return value + if isinstance(value, list): + for candidate in value: + if isinstance(candidate, str) and candidate in _VALID_PARAM_TYPES: + return candidate + return "unknown" + + +def _camel(value: str) -> str: + parts = value.split("_") + return parts[0] + "".join(part.title() for part in parts[1:]) + + +def _external_url(qualified_name: str) -> str: + if not qualified_name: + return _SMITHERY_WEB_BASE_URL + return f"{_SMITHERY_WEB_BASE_URL}/server/{quote(qualified_name, safe='/')}" + + +__all__ = [ + "McpMarketplaceCatalog", +] diff --git a/skill_manager/application/mcp/marketplace/client.py b/skill_manager/application/mcp/marketplace/client.py new file mode 100644 index 0000000..d481f6d --- /dev/null +++ b/skill_manager/application/mcp/marketplace/client.py @@ -0,0 +1,106 @@ +from __future__ import annotations + +import json +import os +import socket +import ssl +from urllib.error import HTTPError, URLError +from urllib.parse import urljoin +from urllib.request import Request, urlopen + +from skill_manager.errors import MarketplaceUpstreamError +from skill_manager.application.marketplace_http import ( + configured_marketplace_ca_file, + marketplace_ssl_context, +) + +DEFAULT_SMITHERY_BASE_URL = "https://api.smithery.ai" +SMITHERY_BASE_URL_ENV = "SKILL_MANAGER_MCP_MARKETPLACE_BASE_URL" +_TIMEOUT_SECONDS = 15 +_USER_AGENT = "skill-manager/0.1" + + +def configured_smithery_base_url(env: dict[str, str] | None = None) -> str: + active_env = os.environ if env is None else env + configured = active_env.get(SMITHERY_BASE_URL_ENV, DEFAULT_SMITHERY_BASE_URL).strip() + return (configured or DEFAULT_SMITHERY_BASE_URL).rstrip("/") + + +class SmitheryClient: + def __init__( + self, + *, + base_url: str = DEFAULT_SMITHERY_BASE_URL, + timeout_seconds: float = _TIMEOUT_SECONDS, + ssl_context: ssl.SSLContext | None = None, + ) -> None: + self.base_url = (base_url or DEFAULT_SMITHERY_BASE_URL).rstrip("/") + self.timeout_seconds = timeout_seconds + self.ssl_context = ssl_context + + @classmethod + def from_environment(cls, env: dict[str, str] | None = None) -> "SmitheryClient": + return cls( + base_url=configured_smithery_base_url(env), + ssl_context=marketplace_ssl_context(env), + ) + + def absolute_url(self, path_or_url: str) -> str: + if path_or_url.startswith(("http://", "https://")): + return path_or_url + return urljoin(f"{self.base_url}/", path_or_url.lstrip("/")) + + def fetch_json(self, path_or_url: str) -> dict[str, object]: + url = self.absolute_url(path_or_url) + payload = self._request(path_or_url, accept="application/json") + try: + parsed = json.loads(payload.decode("utf-8")) + except (UnicodeDecodeError, json.JSONDecodeError) as error: + raise MarketplaceUpstreamError("payload", url, f"invalid JSON payload: {error}") from error + if not isinstance(parsed, dict): + raise MarketplaceUpstreamError("payload", url, "JSON payload must be an object") + return parsed + + def _request(self, path_or_url: str, *, accept: str | None = None) -> bytes: + url = self.absolute_url(path_or_url) + headers = {"User-Agent": _USER_AGENT} + if accept: + headers["Accept"] = accept + request = Request(url, headers=headers) + open_kwargs: dict[str, object] = {"timeout": self.timeout_seconds} + if self.ssl_context is not None: + open_kwargs["context"] = self.ssl_context + try: + with urlopen(request, **open_kwargs) as response: + return response.read() + except HTTPError as error: + raise MarketplaceUpstreamError( + "bad_status", + url, + f"upstream returned HTTP {error.code}", + upstream_status=error.code, + ) from error + except ssl.SSLCertVerificationError as error: + raise MarketplaceUpstreamError("tls", url, str(error)) from error + except TimeoutError as error: + raise MarketplaceUpstreamError("timeout", url, str(error)) from error + except URLError as error: + reason = error.reason + if isinstance(reason, ssl.SSLError): + kind = "tls" + elif isinstance(reason, (TimeoutError, socket.timeout)): + kind = "timeout" + else: + kind = "network" + raise MarketplaceUpstreamError(kind, url, str(reason)) from error + except OSError as error: + raise MarketplaceUpstreamError("network", url, str(error)) from error + + +__all__ = [ + "DEFAULT_SMITHERY_BASE_URL", + "SMITHERY_BASE_URL_ENV", + "SmitheryClient", + "configured_smithery_base_url", + "configured_marketplace_ca_file", +] diff --git a/skill_manager/application/mcp/mutations.py b/skill_manager/application/mcp/mutations.py new file mode 100644 index 0000000..1b5a617 --- /dev/null +++ b/skill_manager/application/mcp/mutations.py @@ -0,0 +1,447 @@ +from __future__ import annotations + +from dataclasses import replace +from typing import Iterable + +from skill_manager.errors import MutationError + +from .enrichment import McpEnrichmentService +from .installers import McpInstallProvider +from .marketplace.catalog import McpMarketplaceCatalog +from .names import canonical_server_name +from .planner import McpAdoptionPlanner +from .read_models import McpReadModelService +from .store import McpServerSpec, McpServerStore, McpSource + + +class McpMutationService: + """Mutations for observed MCP configs. + + The managed manifest stores the canonical observed config. Harness files are + projections of that canonical spec. + """ + + def __init__( + self, + *, + store: McpServerStore, + read_models: McpReadModelService, + planner: McpAdoptionPlanner, + marketplace_catalog: McpMarketplaceCatalog, + install_provider: McpInstallProvider, + enrichment: McpEnrichmentService | None = None, + ) -> None: + self.store = store + self.read_models = read_models + self.planner = planner + self.marketplace = marketplace_catalog + self.install_provider = install_provider + self.enrichment = enrichment + + # Install / uninstall --------------------------------------------------- + + def install_from_marketplace( + self, + qualified_name: str, + *, + source_harness: str, + ) -> dict[str, object]: + if not qualified_name: + raise MutationError("qualifiedName is required", status=400) + if not source_harness: + raise MutationError("sourceHarness is required", status=400) + self._require_install_target(source_harness) + + managed_name = canonical_server_name(qualified_name) + existing = self._managed_for_marketplace(qualified_name) or self.store.get_managed(managed_name) + if existing is not None: + raise MutationError( + f"a server named '{existing.name}' is already installed", + status=409, + ) + detail = self.marketplace.detail(qualified_name) + if detail is None: + raise MutationError(f"server not found in marketplace: {qualified_name}", status=404) + + before_names = self._observed_names(source_harness) + self.install_provider.install( + qualified_name=qualified_name, + source_harness=source_harness, + ) + self.read_models.invalidate() + observed = self._find_installed_observation( + source_harness=source_harness, + preferred_name=managed_name, + before_names=before_names, + ) + source_spec = observed.parsed_spec + if source_spec is None: + raise MutationError( + f"Smithery installed '{qualified_name}', but no readable MCP entry was found in {source_harness}", + status=502, + ) + if self.store.get_managed(source_spec.name) is not None: + raise MutationError( + f"a server named '{source_spec.name}' is already installed", + status=409, + ) + + stored = self.store.upsert_from_spec( + replace( + source_spec, + display_name=str(detail.get("displayName") or source_spec.display_name), + source=McpSource.marketplace(qualified_name), + ) + ) + self.read_models.invalidate() + return {"ok": True, "server": stored.to_dict()} + + def install_targets(self) -> dict[str, object]: + return {"targets": self._resolved_install_targets()} + + def uninstall_server(self, name: str) -> dict[str, object]: + if self.store.get_managed(name) is None: + raise MutationError(f"unknown server: {name}", status=404) + bound_harnesses = self._harnesses_in_states(name, {"managed", "drifted"}) + succeeded: list[str] = [] + failures: list[dict[str, str]] = [] + for adapter in self.read_models.enabled_adapters(): + if adapter.harness not in bound_harnesses: + continue + try: + adapter.disable_server(name) + succeeded.append(adapter.harness) + except Exception as error: # noqa: BLE001 + failures.append({"harness": adapter.harness, "error": str(error)}) + if not failures: + self.store.remove(name) + if succeeded or not failures: + self.read_models.invalidate() + return { + "ok": not failures, + "succeeded": succeeded, + "failed": failures, + } + + # Per-harness toggle ---------------------------------------------------- + + def enable_server(self, name: str, harness: str) -> dict[str, bool]: + spec = self._require_server(name) + adapter = self.read_models.require_enabled_adapter(harness) + if adapter.has_binding(name): + return {"ok": True} + adapter.enable_server(spec) + self.read_models.invalidate() + return {"ok": True} + + def disable_server(self, name: str, harness: str) -> dict[str, bool]: + if self.store.get_managed(name) is None: + raise MutationError(f"unknown server: {name}", status=404) + adapter = self.read_models.require_enabled_adapter(harness) + adapter.disable_server(name) + self.read_models.invalidate() + return {"ok": True} + + def set_server_all_harnesses(self, name: str, target: str) -> dict[str, object]: + if target not in ("enabled", "disabled"): + raise MutationError("target must be 'enabled' or 'disabled'", status=400) + spec = self._require_server(name) + + bound_now = self._harnesses_in_states(name, {"managed", "drifted"}) + + succeeded: list[str] = [] + failures: list[dict[str, str]] = [] + flipped_any = False + + adapters = ( + self.read_models.enabled_writable_adapters() + if target == "enabled" + else self.read_models.enabled_addressable_adapters() + ) + for adapter in adapters: + if target == "enabled" and adapter.harness in bound_now: + continue + if target == "disabled" and adapter.harness not in bound_now: + continue + try: + if target == "enabled": + adapter.enable_server(spec) + else: + adapter.disable_server(name) + except Exception as error: # noqa: BLE001 + failures.append({"harness": adapter.harness, "error": str(error)}) + continue + succeeded.append(adapter.harness) + flipped_any = True + + if flipped_any: + self.read_models.invalidate() + + return { + "ok": not failures, + "succeeded": succeeded, + "failed": failures, + } + + # Reconciliation ------------------------------------------------------- + + def reconcile_server( + self, + name: str, + *, + source_kind: str, + source_harness: str | None = None, + harnesses: list[str] | None = None, + ) -> dict[str, object]: + if self.store.get_managed(name) is None: + raise MutationError(f"unknown server: {name}", status=404) + target_harnesses = ( + set(harnesses) + if harnesses is not None + else self._harnesses_in_states(name, {"managed", "drifted"}, addressable_only=True) + ) + current = self._require_server(name) + if source_kind == "managed": + source_spec = current + elif source_kind == "harness": + if not source_harness: + raise MutationError("sourceHarness is required when sourceKind is 'harness'", status=400) + observed_spec = self._observed_spec(name, source_harness) + source_spec = replace( + observed_spec, + name=current.name, + display_name=current.display_name, + source=current.source, + ) + self.store.upsert_from_spec(source_spec) + self.read_models.invalidate() + source_spec = self._require_server(name) + else: + raise MutationError("sourceKind must be 'managed' or 'harness'", status=400) + + stored = self.store.get_public_spec(name) or source_spec + binding_spec = self.store.get_binding_spec(name) or source_spec + succeeded, failures = self._write_spec_to_harnesses(binding_spec, target_harnesses) + if succeeded: + self.read_models.invalidate() + return { + "ok": not failures, + "server": stored.to_dict(), + "succeeded": succeeded, + "failed": failures, + } + + # Adoption ------------------------------------------------------------- + + def _apply_enrichment(self, spec: McpServerSpec) -> McpServerSpec: + if self.enrichment is None: + return spec + link = self.enrichment.lookup(spec.name) + if link is None: + return spec + return replace( + spec, + display_name=link.display_name or spec.display_name, + source=McpSource.marketplace(link.qualified_name), + ) + + def adopt( + self, + name: str, + *, + source_harness: str | None = None, + harnesses: list[str] | None = None, + ) -> dict[str, object]: + if self.store.get_managed(name) is not None: + raise MutationError( + f"a managed server named '{name}' already exists", status=409 + ) + group = self.planner.require_group(name) + if source_harness: + target_spec = next( + (sighting.spec for sighting in group.sightings if sighting.harness == source_harness), + None, + ) + if target_spec is None: + raise MutationError( + f"server '{name}' was not observed in harness '{source_harness}'", + status=400, + ) + else: + target_spec = group.canonical_spec + if target_spec is None: + raise MutationError( + f"server '{name}' has different configs across harnesses; choose a sourceHarness to adopt", + status=409, + ) + if target_spec.name != name: + target_spec = replace(target_spec, name=name) + target_spec = self._apply_enrichment(target_spec) + + target_harnesses = set(harnesses) if harnesses else {s.harness for s in group.sightings} + stored = self.store.upsert_from_spec(target_spec) + stored_binding_spec = self.store.get_binding_spec(stored.name) + if stored_binding_spec is None: + raise MutationError(f"unknown server: {name}", status=404) + + succeeded, failures = self._write_spec_to_harnesses( + stored_binding_spec, + target_harnesses, + ) + + self.read_models.invalidate() + response_spec = self.store.get_public_spec(stored.name) or stored_binding_spec + return { + "ok": not failures, + "server": response_spec.to_dict(), + "succeeded": succeeded, + "failed": failures, + } + + # Internal helpers ----------------------------------------------------- + + def _observed_names(self, harness: str) -> set[str]: + adapter = self._source_adapter(harness) + scan = adapter.scan(self.store.list_binding_specs()) + return {entry.name for entry in scan.entries if entry.state != "missing"} + + def _resolved_install_targets(self) -> list[dict[str, object]]: + provider_targets = { + target.harness: target for target in self.install_provider.install_targets() + } + enabled = set(self.read_models.enabled_harnesses()) + targets: list[dict[str, object]] = [] + for status in self.read_models.harness_statuses(): + provider_target = provider_targets.get(status.harness) + smithery_client = provider_target.smithery_client if provider_target else None + supported = bool(provider_target and provider_target.supported and smithery_client) + reason = ( + provider_target.reason + if provider_target and provider_target.reason + else None + ) + if supported and status.harness not in enabled: + supported = False + reason = "Harness support is disabled" + elif supported and not status.mcp_writable: + supported = False + reason = status.mcp_unavailable_reason or "MCP config is not writable for this harness" + elif not supported and reason is None: + reason = "Smithery does not provide an MCP installer target for this harness" + targets.append( + { + "harness": status.harness, + "label": status.label, + "logoKey": status.logo_key, + "smitheryClient": smithery_client, + "supported": supported, + "reason": reason, + } + ) + return targets + + def _require_install_target(self, harness: str) -> None: + for target in self._resolved_install_targets(): + if target["harness"] != harness: + continue + if target["supported"]: + return + reason = target.get("reason") + raise MutationError(str(reason or f"source harness is not installable: {harness}"), status=400) + raise MutationError(f"unknown MCP source harness: {harness}", status=400) + + def _find_installed_observation(self, *, source_harness: str, preferred_name: str, before_names: set[str]): + adapter = self._source_adapter(source_harness) + scan = adapter.scan(self.store.list_binding_specs()) + entries = [entry for entry in scan.entries if entry.state in {"unmanaged", "drifted", "managed"}] + for entry in entries: + if entry.name == preferred_name: + return entry + new_entries = [entry for entry in entries if entry.name not in before_names] + if len(new_entries) == 1: + return new_entries[0] + raise MutationError( + f"Smithery installed the server, but Skill Manager could not identify the new {source_harness} config entry", + status=502, + ) + + def _source_adapter(self, harness: str): + if harness not in self.read_models.enabled_harnesses(): + raise MutationError(f"harness support is disabled: {harness}", status=400) + adapter = self.read_models.find_adapter(harness) + if adapter is None: + raise MutationError(f"unknown MCP source harness: {harness}", status=400) + return adapter + + def _harnesses_in_states( + self, + name: str, + states: Iterable[str], + *, + addressable_only: bool = False, + ) -> set[str]: + allowed_states = set(states) + addressable = ( + {adapter.harness for adapter in self.read_models.enabled_addressable_adapters()} + if addressable_only + else set(self.read_models.enabled_harnesses()) + ) + snapshot = self.read_models.snapshot() + result: set[str] = set() + for scan in snapshot.harness_scans: + if scan.harness not in addressable: + continue + for entry in scan.entries: + if entry.name == name and entry.state in allowed_states: + result.add(scan.harness) + return result + + def _observed_spec(self, name: str, harness: str) -> McpServerSpec: + snapshot = self.read_models.snapshot() + for scan in snapshot.harness_scans: + if scan.harness != harness: + continue + for entry in scan.entries: + if entry.name != name: + continue + if entry.parsed_spec is None: + raise MutationError( + entry.parse_issue or f"unable to parse '{name}' in {harness}", + status=409, + ) + return entry.parsed_spec + raise MutationError(f"server '{name}' was not observed in harness '{harness}'", status=404) + + def _write_spec_to_harnesses( + self, + spec: McpServerSpec, + harnesses: Iterable[str], + ) -> tuple[list[str], list[dict[str, str]]]: + targets = set(harnesses) + succeeded: list[str] = [] + failures: list[dict[str, str]] = [] + for adapter in self.read_models.enabled_adapters(): + if adapter.harness not in targets: + continue + try: + adapter.enable_server(spec) + except Exception as error: # noqa: BLE001 + failures.append({"harness": adapter.harness, "error": str(error)}) + continue + succeeded.append(adapter.harness) + return succeeded, failures + + def _require_server(self, name: str) -> McpServerSpec: + spec = self.store.get_binding_spec(name) + if spec is None: + raise MutationError(f"unknown server: {name}", status=404) + return spec + + def _managed_for_marketplace(self, qualified_name: str) -> McpServerSpec | None: + for server in self.store.list_managed(): + if server.source.kind == "marketplace" and server.source.locator == qualified_name: + return server + return None + + +__all__ = ["McpMutationService"] diff --git a/skill_manager/application/mcp/names.py b/skill_manager/application/mcp/names.py new file mode 100644 index 0000000..5b7f820 --- /dev/null +++ b/skill_manager/application/mcp/names.py @@ -0,0 +1,14 @@ +from __future__ import annotations + + +def canonical_server_name(qualified_name: str) -> str: + """Normalize a marketplace qualified name into the managed MCP key.""" + if not qualified_name: + return "" + cleaned = qualified_name.lstrip("@") + if "/" in cleaned: + cleaned = cleaned.split("/", 1)[1] + return cleaned.replace("@", "-").replace("/", "-").lower() + + +__all__ = ["canonical_server_name"] diff --git a/skill_manager/application/mcp/planner.py b/skill_manager/application/mcp/planner.py new file mode 100644 index 0000000..55ebe27 --- /dev/null +++ b/skill_manager/application/mcp/planner.py @@ -0,0 +1,29 @@ +from __future__ import annotations + +from skill_manager.errors import MutationError + +from .identity import AdoptionPlan, ServerIdentityGroup, build_identity_plan +from .read_models import McpReadModelService + + +class McpAdoptionPlanner: + def __init__(self, read_models: McpReadModelService) -> None: + self.read_models = read_models + + def plan(self) -> AdoptionPlan: + snapshot = self.read_models.snapshot() + managed_names = {server.name for server in self.read_models.store.list_managed()} + return build_identity_plan( + snapshot.harness_scans, + excluded_names=managed_names, + ) + + def require_group(self, name: str) -> ServerIdentityGroup: + plan = self.plan() + for group in plan.groups: + if group.name == name: + return group + raise MutationError(f"no unmanaged server named '{name}'", status=404) + + +__all__ = ["McpAdoptionPlanner"] diff --git a/skill_manager/application/mcp/query.py b/skill_manager/application/mcp/query.py new file mode 100644 index 0000000..530d689 --- /dev/null +++ b/skill_manager/application/mcp/query.py @@ -0,0 +1,244 @@ +from __future__ import annotations + +from skill_manager.errors import MutationError + +from .contracts import McpBinding, McpHarnessScan, McpInventory, McpInventoryIssue +from .enrichment import McpEnrichmentService +from .inventory import build_inventory +from .planner import McpAdoptionPlanner +from .read_models import McpReadModelService +from .env import annotate_env + + +class McpQueryService: + """Read-side service exposing raw managed MCP config and inventory views.""" + + def __init__( + self, + read_models: McpReadModelService, + *, + planner: McpAdoptionPlanner | None = None, + enrichment: McpEnrichmentService | None = None, + ) -> None: + self.read_models = read_models + self.planner = planner + self.enrichment = enrichment + + def list_servers(self) -> dict[str, object]: + snapshot = self.read_models.snapshot() + inventory = self._inventory(snapshot.harness_scans) + return _inventory_to_payload(inventory, self.read_models.visible_scans(snapshot)) + + def get_server(self, name: str) -> dict[str, object]: + snapshot = self.read_models.snapshot() + inventory = self._inventory(snapshot.harness_scans) + visible_scans = self.read_models.visible_scans(snapshot) + for entry in inventory.entries: + if entry.name == name: + payload = _entry_to_payload(entry, visible_scans) + if entry.spec is not None: + payload["env"] = annotate_env(entry.spec.env) + payload["configChoices"] = _config_choices_payload( + name, + entry.spec, + visible_scans, + ) + link = self.enrichment.lookup(name) if self.enrichment else None + if link is not None: + payload["marketplaceLink"] = link.to_dict() + return payload + raise MutationError(f"unknown mcp server: {name}", status=404) + + def list_unmanaged_by_server(self) -> dict[str, object]: + if self.planner is None: + raise RuntimeError("unmanaged MCP planner is not configured") + snapshot = self.read_models.snapshot() + plan = self.planner.plan() + visible_scans = self.read_models.visible_scans(snapshot) + visible_harnesses = {scan.harness for scan in visible_scans} + harness_meta = [ + { + "harness": scan.harness, + "label": scan.label, + "logoKey": scan.logo_key, + "installed": scan.installed, + "configPresent": scan.config_present, + "configPath": str(scan.config_path), + "mcpWritable": scan.mcp_writable, + "mcpUnavailableReason": scan.mcp_unavailable_reason, + } + for scan in visible_scans + ] + issues_payload = [ + { + "harness": scan.harness, + "label": scan.label, + "logoKey": scan.logo_key, + "name": f"{scan.label} config", + "configPath": str(scan.config_path), + "payloadPreview": None, + "reason": scan.scan_issue, + } + for scan in visible_scans + if scan.scan_issue + ] + issues_payload.extend( + [ + { + "harness": issue.harness, + "label": issue.label, + "logoKey": issue.logo_key, + "name": issue.name, + "configPath": issue.config_path, + "payloadPreview": issue.payload, + "reason": issue.reason, + } + for issue in plan.issues + if issue.harness in visible_harnesses + ] + ) + servers_payload: list[dict[str, object]] = [] + for group in plan.groups: + sightings = tuple( + sighting for sighting in group.sightings if sighting.harness in visible_harnesses + ) + if not sightings: + continue + sightings_payload = [ + { + "harness": s.harness, + "label": s.label, + "logoKey": s.logo_key, + "configPath": s.config_path, + "payloadPreview": s.payload, + "spec": s.spec.to_dict(), + "env": annotate_env(s.spec.env), + } + for s in sightings + ] + link = self.enrichment.lookup(group.name) if self.enrichment else None + servers_payload.append( + { + "name": group.name, + "identical": group.identical, + "canonicalSpec": group.canonical_spec.to_dict() + if group.canonical_spec is not None + else None, + "sightings": sightings_payload, + "marketplaceLink": link.to_dict() if link is not None else None, + } + ) + return {"harnesses": harness_meta, "servers": servers_payload, "issues": issues_payload} + + def _inventory(self, scans: tuple[McpHarnessScan, ...]) -> McpInventory: + issues = [ + McpInventoryIssue(name=issue.name, reason=issue.reason) + for issue in self.read_models.store.manifest_issues() + ] + issues.extend( + McpInventoryIssue(name=f"{scan.label} config", reason=scan.scan_issue) + for scan in scans + if scan.scan_issue + ) + return build_inventory( + managed_servers=self.read_models.store.list_managed(), + specs=self.read_models.store.list_public_specs(), + scans=scans, + issues=issues, + ) + + +def _binding_to_dict(binding: McpBinding) -> dict[str, object]: + payload: dict[str, object] = { + "harness": binding.harness, + "state": binding.state, + } + if binding.drift_detail: + payload["driftDetail"] = binding.drift_detail + return payload + + +def _entry_to_payload(entry, scans: tuple[McpHarnessScan, ...]) -> dict[str, object]: + visible_harnesses = {scan.harness for scan in scans} + spec_payload = entry.spec.to_dict() if entry.spec is not None else None + return { + "name": entry.name, + "displayName": entry.display_name, + "kind": entry.kind, + "spec": spec_payload, + "canEnable": entry.can_enable, + "sightings": [ + _binding_to_dict(binding) + for binding in entry.sightings + if binding.harness in visible_harnesses + ], + } + + +def _config_choices_payload( + name: str, + managed_spec, + scans: tuple[McpHarnessScan, ...], +) -> list[dict[str, object]]: + choices: list[dict[str, object]] = [ + { + "sourceKind": "managed", + "sourceHarness": None, + "label": "Managed config", + "logoKey": None, + "configPath": None, + "payloadPreview": managed_spec.to_dict(), + "spec": managed_spec.to_dict(), + "env": annotate_env(managed_spec.env), + } + ] + for scan in scans: + for observed in scan.entries: + if observed.name != name or observed.state != "drifted": + continue + if observed.parsed_spec is None: + continue + choices.append( + { + "sourceKind": "harness", + "sourceHarness": scan.harness, + "label": f"{scan.label} config", + "logoKey": scan.logo_key, + "configPath": str(scan.config_path) if scan.config_present else None, + "payloadPreview": dict(observed.raw_payload or {}), + "spec": observed.parsed_spec.to_dict(), + "env": annotate_env(observed.parsed_spec.env), + } + ) + return choices + + +def _inventory_to_payload(inventory: McpInventory, scans: tuple[McpHarnessScan, ...]) -> dict[str, object]: + visible_harnesses = {scan.harness for scan in scans} + return { + "columns": [ + { + "harness": scan.harness, + "label": scan.label, + "logoKey": scan.logo_key, + "installed": scan.installed, + "configPresent": scan.config_present, + "mcpWritable": scan.mcp_writable, + "mcpUnavailableReason": scan.mcp_unavailable_reason, + } + for scan in scans + ], + "entries": [ + _entry_to_payload(entry, scans) + for entry in inventory.entries + if entry.kind == "managed" + or any(binding.harness in visible_harnesses for binding in entry.sightings) + ], + "issues": [ + {"name": issue.name, "reason": issue.reason} + for issue in inventory.issues + ], + } + + +__all__ = ["McpQueryService"] diff --git a/skill_manager/application/mcp/read_models.py b/skill_manager/application/mcp/read_models.py new file mode 100644 index 0000000..c3c8d8a --- /dev/null +++ b/skill_manager/application/mcp/read_models.py @@ -0,0 +1,130 @@ +from __future__ import annotations + +import time +from concurrent.futures import ThreadPoolExecutor +from dataclasses import dataclass +from threading import Lock + +from skill_manager.errors import MutationError +from skill_manager.harness import HarnessKernelService + +from .adapters import build_mcp_adapters +from .contracts import McpHarnessAdapter, McpHarnessScan, McpHarnessStatus +from .store import McpServerStore + + +@dataclass(frozen=True) +class McpReadModelSnapshot: + harness_scans: tuple[McpHarnessScan, ...] + + +@dataclass(frozen=True) +class _CachedSnapshot: + snapshot: McpReadModelSnapshot + captured_at: float + + +class McpReadModelService: + def __init__( + self, + *, + store: McpServerStore, + adapters: tuple[McpHarnessAdapter, ...], + kernel: HarnessKernelService, + snapshot_ttl_seconds: float = 1.0, + ) -> None: + self.store = store + self.adapters = adapters + self.kernel = kernel + self.snapshot_ttl_seconds = snapshot_ttl_seconds + self._cache: _CachedSnapshot | None = None + self._lock = Lock() + + @classmethod + def from_kernel( + cls, + *, + store: McpServerStore, + kernel: HarnessKernelService, + ) -> "McpReadModelService": + return cls(store=store, adapters=build_mcp_adapters(kernel), kernel=kernel) + + def find_adapter(self, harness: str) -> McpHarnessAdapter | None: + return next((adapter for adapter in self.adapters if adapter.harness == harness), None) + + def enabled_harnesses(self) -> tuple[str, ...]: + return self.kernel.enabled_harness_ids_for_family("mcp") + + def visible_harnesses(self) -> tuple[str, ...]: + return self.enabled_harnesses() + + def enabled_adapters(self) -> tuple[McpHarnessAdapter, ...]: + enabled = set(self.enabled_harnesses()) + return tuple(adapter for adapter in self.adapters if adapter.harness in enabled) + + def enabled_addressable_adapters(self) -> tuple[McpHarnessAdapter, ...]: + result: list[McpHarnessAdapter] = [] + for adapter in self.enabled_adapters(): + status = adapter.status() + if status.installed or status.config_present: + result.append(adapter) + return tuple(result) + + def enabled_writable_adapters(self) -> tuple[McpHarnessAdapter, ...]: + result: list[McpHarnessAdapter] = [] + for adapter in self.enabled_adapters(): + status = adapter.status() + if status.mcp_writable and (status.installed or status.config_present): + result.append(adapter) + return tuple(result) + + def visible_scans( + self, + snapshot: McpReadModelSnapshot | None = None, + ) -> tuple[McpHarnessScan, ...]: + current = snapshot or self.snapshot() + visible = set(self.visible_harnesses()) + return tuple(scan for scan in current.harness_scans if scan.harness in visible) + + def require_enabled_adapter(self, harness: str) -> McpHarnessAdapter: + adapter = self.find_adapter(harness) + if adapter is None: + raise MutationError(f"unknown harness: {harness}", status=400) + if harness not in self.enabled_harnesses(): + raise MutationError(f"harness support is disabled: {harness}", status=400) + status = adapter.status() + if not status.installed and not status.config_present: + raise MutationError( + f"{adapter.label} is not installed and has no MCP config file", + status=400, + ) + return adapter + + def harness_statuses(self) -> tuple[McpHarnessStatus, ...]: + return tuple(adapter.status() for adapter in self.adapters) + + def snapshot(self) -> McpReadModelSnapshot: + with self._lock: + cached = self._cache + if cached is not None and (time.time() - cached.captured_at) < self.snapshot_ttl_seconds: + return cached.snapshot + + specs = self.store.list_binding_specs() + if not self.adapters: + scans: tuple[McpHarnessScan, ...] = () + else: + with ThreadPoolExecutor(max_workers=max(2, len(self.adapters))) as executor: + scans = tuple(executor.map(lambda adapter: adapter.scan(specs), self.adapters)) + snapshot = McpReadModelSnapshot(harness_scans=scans) + with self._lock: + self._cache = _CachedSnapshot(snapshot=snapshot, captured_at=time.time()) + return snapshot + + def invalidate(self) -> None: + with self._lock: + self._cache = None + for adapter in self.adapters: + adapter.invalidate() + + +__all__ = ["McpReadModelService", "McpReadModelSnapshot"] diff --git a/skill_manager/application/mcp/stdio.py b/skill_manager/application/mcp/stdio.py new file mode 100644 index 0000000..7ae035e --- /dev/null +++ b/skill_manager/application/mcp/stdio.py @@ -0,0 +1,77 @@ +from __future__ import annotations + +import ast +import re +from dataclasses import dataclass + + +@dataclass(frozen=True) +class StaticStdioCommand: + command: str + args: tuple[str, ...] = () + + +_JS_STRING_PATTERN = r"""(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*')""" +_JS_STRING_RE = re.compile(_JS_STRING_PATTERN) + + +def parse_static_stdio_function(value: object) -> StaticStdioCommand | None: + """Extract a static command recipe from Smithery's stdioFunction string. + + The marketplace field is JavaScript source. We intentionally parse only the + simple object-literal subset and never evaluate code. + """ + if not isinstance(value, str) or not value.strip(): + return None + if _has_dynamic_config_reference(value): + return None + command_literal = _find_js_string_property(value, "command") + if command_literal is None: + return None + command = _decode_js_string(command_literal) + if not command: + return None + args = _find_js_string_array_property(value, "args") + if args is None: + return None + return StaticStdioCommand(command=command, args=args) + + +def _has_dynamic_config_reference(source: str) -> bool: + without_strings = _JS_STRING_RE.sub("", source) + return re.search(r"\bconfig\s*(?:\.|\[)", without_strings) is not None + + +def _find_js_string_property(source: str, key: str) -> str | None: + pattern = re.compile(rf"\b{re.escape(key)}\s*:\s*(?P{_JS_STRING_PATTERN})") + match = pattern.search(source) + if match is None: + return None + return match.group("literal") + + +def _find_js_string_array_property(source: str, key: str) -> tuple[str, ...] | None: + pattern = re.compile(rf"\b{re.escape(key)}\s*:\s*\[(?P[^\]]*)\]", re.DOTALL) + match = pattern.search(source) + if match is None: + return () + body = match.group("body") + literals = [match.group(0) for match in _JS_STRING_RE.finditer(body)] + remainder = _JS_STRING_RE.sub("", body) + if remainder.replace(",", "").strip(): + return None + args = tuple(_decode_js_string(literal) for literal in literals) + if any(arg is None for arg in args): + return None + return tuple(arg for arg in args if arg is not None) + + +def _decode_js_string(literal: str) -> str | None: + try: + decoded = ast.literal_eval(literal) + except (SyntaxError, ValueError): + return None + return decoded if isinstance(decoded, str) and decoded else None + + +__all__ = ["StaticStdioCommand", "parse_static_stdio_function"] diff --git a/skill_manager/application/mcp/store.py b/skill_manager/application/mcp/store.py new file mode 100644 index 0000000..410c333 --- /dev/null +++ b/skill_manager/application/mcp/store.py @@ -0,0 +1,273 @@ +from __future__ import annotations + +import hashlib +import json +from dataclasses import dataclass, field, replace +from datetime import datetime, timezone +from pathlib import Path +from typing import Literal, Mapping + +from skill_manager.atomic_files import atomic_write_text, file_lock + + +McpTransport = Literal["stdio", "http", "sse"] +McpSourceKind = Literal["marketplace", "adopted", "manual"] +CURRENT_MCP_MANIFEST_VERSION = 5 + + +@dataclass(frozen=True) +class McpManifestIssue: + name: str + reason: str + + def to_dict(self) -> dict[str, str]: + return {"name": self.name, "reason": self.reason} + + +@dataclass(frozen=True) +class McpSource: + kind: McpSourceKind + locator: str + + def to_dict(self) -> dict[str, str]: + return {"kind": self.kind, "locator": self.locator} + + @classmethod + def marketplace(cls, qualified_name: str) -> "McpSource": + return cls(kind="marketplace", locator=qualified_name) + + @classmethod + def adopted(cls, harness: str, name: str) -> "McpSource": + return cls(kind="adopted", locator=f"{harness}:{name}") + + @classmethod + def manual(cls, name: str) -> "McpSource": + return cls(kind="manual", locator=name) + + +@dataclass(frozen=True) +class McpServerSpec: + name: str + display_name: str + source: McpSource + transport: McpTransport + command: str | None = None + args: tuple[str, ...] | None = None + env: tuple[tuple[str, str], ...] | None = None + url: str | None = None + headers: tuple[tuple[str, str], ...] | None = None + installed_at: str = "" + revision: str = "" + + def env_dict(self) -> dict[str, str]: + return dict(self.env) if self.env else {} + + def headers_dict(self) -> dict[str, str]: + return dict(self.headers) if self.headers else {} + + def args_list(self) -> list[str]: + return list(self.args) if self.args else [] + + def to_dict(self) -> dict[str, object]: + payload: dict[str, object] = { + "name": self.name, + "displayName": self.display_name, + "source": self.source.to_dict(), + "transport": self.transport, + "installedAt": self.installed_at, + "revision": self.revision, + } + if self.command is not None: + payload["command"] = self.command + if self.args is not None: + payload["args"] = list(self.args) + if self.env is not None: + payload["env"] = dict(self.env) + if self.url is not None: + payload["url"] = self.url + if self.headers is not None: + payload["headers"] = dict(self.headers) + return payload + + @classmethod + def from_dict(cls, payload: Mapping[str, object]) -> "McpServerSpec": + source_raw = payload.get("source", {}) + source = ( + McpSource( + kind=source_raw.get("kind", "manual"), # type: ignore[arg-type] + locator=source_raw.get("locator", payload.get("name", "")), # type: ignore[arg-type] + ) + if isinstance(source_raw, Mapping) + else McpSource.manual(str(payload.get("name", ""))) + ) + env_raw = payload.get("env") + headers_raw = payload.get("headers") + args_raw = payload.get("args") + return cls( + name=str(payload["name"]), + display_name=str(payload.get("displayName", payload["name"])), + source=source, + transport=str(payload.get("transport", "stdio")), # type: ignore[arg-type] + command=_optional_str(payload.get("command")), + args=tuple(str(a) for a in args_raw) if isinstance(args_raw, list) else None, + env=tuple((str(k), str(v)) for k, v in env_raw.items()) if isinstance(env_raw, Mapping) else None, + url=_optional_str(payload.get("url")), + headers=tuple((str(k), str(v)) for k, v in headers_raw.items()) if isinstance(headers_raw, Mapping) else None, + installed_at=str(payload.get("installedAt", "")), + revision=str(payload.get("revision", "")), + ) + + +@dataclass(frozen=True) +class McpManagedManifest: + entries: tuple[McpServerSpec, ...] = field(default_factory=tuple) + + def to_dict(self) -> dict[str, object]: + return { + "version": CURRENT_MCP_MANIFEST_VERSION, + "servers": [entry.to_dict() for entry in self.entries], + } + + +@dataclass(frozen=True) +class _ManifestLoadResult: + manifest: McpManagedManifest + issues: tuple[McpManifestIssue, ...] = () + + +def _optional_str(value: object) -> str | None: + if isinstance(value, str) and value: + return value + return None + + +def compute_revision(spec: McpServerSpec) -> str: + payload = { + "name": spec.name, + "transport": spec.transport, + "command": spec.command, + "args": list(spec.args) if spec.args else None, + "env": dict(spec.env) if spec.env else None, + "url": spec.url, + "headers": dict(spec.headers) if spec.headers else None, + } + digest = hashlib.sha256(json.dumps(payload, sort_keys=True).encode("utf-8")).hexdigest() + return digest[:16] + + +def now_iso() -> str: + return datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ") + + +def prepare_managed_spec(spec: McpServerSpec) -> McpServerSpec: + stamped = spec if spec.installed_at else replace(spec, installed_at=now_iso()) + return replace(stamped, revision=compute_revision(stamped)) + + +def write_mcp_manifest(path: Path, manifest: McpManagedManifest) -> None: + atomic_write_text( + path, + json.dumps(manifest.to_dict(), ensure_ascii=False, indent=2, sort_keys=False) + "\n", + ) + + +class McpServerStore: + """Cleartext local manifest of canonical observed MCP configs.""" + + def __init__(self, manifest_path: Path) -> None: + self.manifest_path = manifest_path + + @property + def _lock_path(self) -> Path: + return self.manifest_path.with_suffix(".lock") + + def list_managed(self) -> tuple[McpServerSpec, ...]: + return self._load_manifest_result().manifest.entries + + def list_binding_specs(self) -> tuple[McpServerSpec, ...]: + return self.list_managed() + + def list_public_specs(self) -> tuple[McpServerSpec, ...]: + return self.list_managed() + + def get_managed(self, name: str) -> McpServerSpec | None: + for entry in self.list_managed(): + if entry.name == name: + return entry + return None + + def get_binding_spec(self, name: str) -> McpServerSpec | None: + return self.get_managed(name) + + def get_public_spec(self, name: str) -> McpServerSpec | None: + return self.get_managed(name) + + def upsert_from_spec(self, spec: McpServerSpec) -> McpServerSpec: + return self.upsert_managed(spec) + + def upsert_managed(self, server: McpServerSpec) -> McpServerSpec: + with file_lock(self._lock_path): + manifest = self._load_manifest_result().manifest + stamped = prepare_managed_spec(server) + new_entries = tuple( + stamped if entry.name == stamped.name else entry for entry in manifest.entries + ) + if not any(entry.name == stamped.name for entry in manifest.entries): + new_entries = manifest.entries + (stamped,) + write_mcp_manifest(self.manifest_path, McpManagedManifest(entries=new_entries)) + return stamped + + def remove(self, name: str) -> bool: + with file_lock(self._lock_path): + manifest = self._load_manifest_result().manifest + new_entries = tuple(entry for entry in manifest.entries if entry.name != name) + if len(new_entries) == len(manifest.entries): + return False + write_mcp_manifest(self.manifest_path, McpManagedManifest(entries=new_entries)) + return True + + def manifest_issues(self) -> tuple[McpManifestIssue, ...]: + return self._load_manifest_result().issues + + def _load_manifest_result(self) -> _ManifestLoadResult: + if not self.manifest_path.is_file(): + return _ManifestLoadResult(McpManagedManifest()) + payload = json.loads(self.manifest_path.read_text(encoding="utf-8")) + raw_entries = payload.get("servers", []) + if not isinstance(raw_entries, list): + return _ManifestLoadResult( + McpManagedManifest(), + issues=(McpManifestIssue(name="", reason="'servers' must be a list"),), + ) + entries: list[McpServerSpec] = [] + issues: list[McpManifestIssue] = [] + for item in raw_entries: + if not isinstance(item, dict): + issues.append(McpManifestIssue(name="", reason="server entry must be an object")) + continue + name = str(item.get("name", "")) + try: + entries.append(McpServerSpec.from_dict(item)) + except (KeyError, TypeError, ValueError) as error: + issues.append(McpManifestIssue(name=name, reason=str(error) or error.__class__.__name__)) + continue + return _ManifestLoadResult( + McpManagedManifest(entries=tuple(entries)), + issues=tuple(issues), + ) + + +__all__ = [ + "CURRENT_MCP_MANIFEST_VERSION", + "McpManagedManifest", + "McpManifestIssue", + "McpServerSpec", + "McpServerStore", + "McpSource", + "McpSourceKind", + "McpTransport", + "compute_revision", + "now_iso", + "prepare_managed_spec", + "write_mcp_manifest", +] diff --git a/skill_manager/application/read_model_service.py b/skill_manager/application/read_model_service.py deleted file mode 100644 index 6fc2c1a..0000000 --- a/skill_manager/application/read_model_service.py +++ /dev/null @@ -1,128 +0,0 @@ -from __future__ import annotations - -from dataclasses import dataclass -from threading import Lock -import time - -from skill_manager.domain import HarnessScan, StoreScan -from skill_manager.errors import MutationError -from skill_manager.harness import HarnessDriver, HarnessManager, HarnessStatus, collect_harness_statuses, create_default_drivers, scan_all_harnesses, supported_harness_ids -from skill_manager.paths import resolve_app_paths -from skill_manager.store import HarnessSupportStore, SharedStore - - -@dataclass(frozen=True) -class ReadModelSnapshot: - store_scan: StoreScan - harness_scans: tuple[HarnessScan, ...] - - -@dataclass(frozen=True) -class CachedSnapshot: - snapshot: ReadModelSnapshot - captured_at: float - - -class ReadModelService: - def __init__( - self, - *, - store: SharedStore, - harness_drivers: tuple[HarnessDriver, ...], - support_store: HarnessSupportStore, - snapshot_ttl_seconds: float = 1.0, - ) -> None: - self.store = store - self.harness_drivers = harness_drivers - self.support_store = support_store - self.snapshot_ttl_seconds = snapshot_ttl_seconds - self._snapshot_cache: CachedSnapshot | None = None - self._lock = Lock() - - @classmethod - def from_environment( - cls, - env: dict[str, str] | None = None, - *, - support_store: HarnessSupportStore | None = None, - ) -> "ReadModelService": - active_env = env or {} - paths = resolve_app_paths(active_env) - store = SharedStore(paths.shared_store_root, manifest_path=paths.shared_store_manifest) - active_support_store = support_store or HarnessSupportStore(paths.settings_path) - drivers = create_default_drivers(active_env) - return cls(store=store, harness_drivers=drivers, support_store=active_support_store) - - def find_driver(self, harness: str) -> HarnessDriver | None: - return next((driver for driver in self.harness_drivers if driver.harness == harness), None) - - def find_manager(self, harness: str) -> HarnessManager | None: - driver = self.find_driver(harness) - if driver is None: - return None - return driver.manager() - - def require_enabled_manager(self, harness: str) -> HarnessManager: - driver = self.find_driver(harness) - if driver is None: - raise MutationError(f"unknown harness: {harness}", status=400) - if harness not in self.enabled_harnesses(): - raise MutationError(f"harness support is disabled: {harness}", status=400) - status = driver.status() - if not status.installed: - raise MutationError(f"{driver.label} is not installed or not available on PATH", status=400) - manager = driver.manager() - if manager is None: - raise MutationError(f"harness cannot be managed: {harness}", status=400) - return manager - - def enabled_harnesses(self) -> tuple[str, ...]: - return self.support_store.enabled_harnesses(supported_harness_ids()) - - def enabled_managers(self) -> tuple[tuple[str, HarnessManager], ...]: - enabled = set(self.enabled_harnesses()) - managers: list[tuple[str, HarnessManager]] = [] - for driver in self.harness_drivers: - if driver.harness not in enabled: - continue - manager = driver.manager() - if manager is not None: - managers.append((driver.harness, manager)) - return tuple(managers) - - def all_managers(self) -> tuple[tuple[str, HarnessManager], ...]: - managers: list[tuple[str, HarnessManager]] = [] - for driver in self.harness_drivers: - manager = driver.manager() - if manager is not None: - managers.append((driver.harness, manager)) - return tuple(managers) - - def harness_statuses(self) -> tuple[HarnessStatus, ...]: - return collect_harness_statuses(self.harness_drivers) - - def snapshot(self) -> ReadModelSnapshot: - with self._lock: - cached = self._snapshot_cache - if cached is not None and (time.time() - cached.captured_at) < self.snapshot_ttl_seconds: - return cached.snapshot - - store_scan = self.store.scan() - enabled = set(self.enabled_harnesses()) - active_drivers = tuple( - driver for driver in self.harness_drivers if driver.harness in enabled - ) - harness_scans = scan_all_harnesses(active_drivers) - snapshot = ReadModelSnapshot( - store_scan=store_scan, - harness_scans=harness_scans, - ) - with self._lock: - self._snapshot_cache = CachedSnapshot(snapshot=snapshot, captured_at=time.time()) - return snapshot - - def invalidate(self) -> None: - with self._lock: - self._snapshot_cache = None - for driver in self.harness_drivers: - driver.invalidate() diff --git a/skill_manager/application/settings/mutations.py b/skill_manager/application/settings/mutations.py index 9bcbcb3..88e7954 100644 --- a/skill_manager/application/settings/mutations.py +++ b/skill_manager/application/settings/mutations.py @@ -1,24 +1,25 @@ from __future__ import annotations from skill_manager.errors import MutationError -from skill_manager.harness import supported_harness_ids -from skill_manager.store import HarnessSupportStore +from skill_manager.harness import HarnessKernelService, HarnessSupportStore -from ..read_model_service import ReadModelService +from ..invalidation import InvalidationFanout class SettingsMutationService: def __init__( self, - read_models: ReadModelService, + harness_kernel: HarnessKernelService, support_store: HarnessSupportStore, + invalidation: InvalidationFanout, ) -> None: - self.read_models = read_models + self.harness_kernel = harness_kernel self.support_store = support_store + self.invalidation = invalidation def set_harness_support(self, harness: str, enabled: bool) -> dict[str, object]: - if harness not in supported_harness_ids(): + if not self.harness_kernel.is_known_harness(harness): raise MutationError(f"unknown harness: {harness}", status=404) self.support_store.set_enabled(harness, enabled) - self.read_models.invalidate() + self.invalidation.invalidate_all() return {"ok": True, "enabled": enabled} diff --git a/skill_manager/application/settings/presenters.py b/skill_manager/application/settings/presenters.py index 38760aa..a793865 100644 --- a/skill_manager/application/settings/presenters.py +++ b/skill_manager/application/settings/presenters.py @@ -1,5 +1,6 @@ from __future__ import annotations -from skill_manager.harness import HarnessLocation, HarnessStatus + +from skill_manager.harness import HarnessStatus def settings_payload( @@ -28,10 +29,5 @@ def harness_payload( "logoKey": status.logo_key, "supportEnabled": support_enabled, "installed": status.installed, - "managedLocation": managed_location_payload(status.locations), + "managedLocation": str(status.managed_location) if status.managed_location is not None else None, } - - -def managed_location_payload(locations: tuple[HarnessLocation, ...]) -> str | None: - store = next((location for location in locations if location.kind == "managed-root"), None) - return str(store.path) if store is not None else None diff --git a/skill_manager/application/settings/queries.py b/skill_manager/application/settings/queries.py index 2612d2d..94bf2d0 100644 --- a/skill_manager/application/settings/queries.py +++ b/skill_manager/application/settings/queries.py @@ -1,22 +1,16 @@ from __future__ import annotations -from skill_manager.store import HarnessSupportStore +from skill_manager.harness import HarnessKernelService -from ..read_model_service import ReadModelService from .presenters import settings_payload class SettingsQueryService: - def __init__( - self, - read_models: ReadModelService, - support_store: HarnessSupportStore, - ) -> None: - self.read_models = read_models - self.support_store = support_store + def __init__(self, harness_kernel: HarnessKernelService) -> None: + self.harness_kernel = harness_kernel def get_settings(self) -> dict[str, object]: return settings_payload( - harness_statuses=self.read_models.harness_statuses(), - enabled_harnesses=self.read_models.enabled_harnesses(), + harness_statuses=self.harness_kernel.harness_statuses(), + enabled_harnesses=self.harness_kernel.enabled_harness_ids(), ) diff --git a/skill_manager/application/skills/adapters.py b/skill_manager/application/skills/adapters.py new file mode 100644 index 0000000..f0f087f --- /dev/null +++ b/skill_manager/application/skills/adapters.py @@ -0,0 +1,252 @@ +from __future__ import annotations + +from concurrent.futures import ThreadPoolExecutor +from dataclasses import dataclass +from pathlib import Path +import shutil +from uuid import uuid4 + +from skill_manager.errors import MutationError +from skill_manager.harness import ( + FileTreeBindingProfile, + HarnessKernelService, +) + +from .contracts import SkillsHarnessAdapter, SkillsHarnessStatus +from .identity import SourceDescriptor +from .observations import SkillObservation, SkillsHarnessScan +from .package import SkillParseError, find_skill_roots, parse_skill_package + + +class FileTreeSkillsAdapter(SkillsHarnessAdapter): + def __init__( + self, + *, + harness: str, + label: str, + logo_key: str | None, + install_probe: str, + path_env: str | None, + managed_root: Path, + discovery_roots: tuple["_ResolvedRoot", ...], + ) -> None: + self.harness = harness + self.label = label + self.logo_key = logo_key + self._install_probe = install_probe + self._path_env = path_env + self.managed_root = managed_root + self._discovery_roots = self._dedupe_roots(discovery_roots) + + def status(self) -> SkillsHarnessStatus: + return SkillsHarnessStatus( + harness=self.harness, + label=self.label, + logo_key=self.logo_key, + installed=self._is_installed(), + managed_root=self.managed_root, + ) + + def scan(self) -> SkillsHarnessScan: + observations = _scan_skill_roots( + harness=self.harness, + label=self.label, + roots=self._discovery_roots, + ) + return SkillsHarnessScan( + harness=self.harness, + label=self.label, + logo_key=self.logo_key, + installed=self._is_installed(), + skills=tuple(observations), + ) + + def enable_shared_package(self, package_path: Path) -> None: + resolved_target = package_path.resolve() + link = self.managed_root / package_path.name + if link.is_symlink(): + if link.resolve() == resolved_target: + return + raise MutationError( + f"symlink already exists but points to {link.resolve()}, not {resolved_target}" + ) + if link.exists(): + raise MutationError(f"real directory exists at {link}; will not overwrite") + self.managed_root.mkdir(parents=True, exist_ok=True) + link.symlink_to(resolved_target) + + def disable_shared_package(self, package_dir: str) -> None: + link = self.managed_root / package_dir + if not link.exists() and not link.is_symlink(): + return + if not link.is_symlink(): + raise MutationError(f"not a symlink at {link}; will not delete real directory") + link.unlink() + + def adopt_local_copy(self, existing_dir: Path, package_path: Path) -> None: + resolved_target = package_path.resolve() + if not existing_dir.exists() and not existing_dir.is_symlink(): + raise MutationError(f"directory does not exist: {existing_dir}") + if existing_dir.is_symlink(): + if existing_dir.resolve() == resolved_target: + return + raise MutationError( + f"symlink exists but points to {existing_dir.resolve()}, not {resolved_target}" + ) + shutil.rmtree(existing_dir) + existing_dir.symlink_to(resolved_target) + + def has_binding(self, package_dir: str) -> bool: + candidate = self.managed_root / package_dir + return candidate.exists() or candidate.is_symlink() + + def prepare_materialize(self, package_dir: str, expected_target: Path) -> None: + existing_link = self.managed_root / package_dir + if not existing_link.exists() and not existing_link.is_symlink(): + raise MutationError(f"directory does not exist: {existing_link}") + if not existing_link.is_symlink(): + raise MutationError(f"not a symlink at {existing_link}; will not overwrite real directory") + resolved_target = expected_target.resolve() + if existing_link.resolve() != resolved_target: + raise MutationError( + f"symlink exists but points to {existing_link.resolve()}, not {resolved_target}" + ) + + def materialize_binding(self, package_dir: str, source_path: Path) -> None: + existing_link = self.managed_root / package_dir + resolved_target = source_path.resolve() + self.prepare_materialize(package_dir=package_dir, expected_target=resolved_target) + + temp_copy = existing_link.parent / f".{existing_link.name}.materialize-{uuid4().hex}" + backup_link = existing_link.parent / f".{existing_link.name}.backup-{uuid4().hex}" + + try: + shutil.copytree(resolved_target, temp_copy) + existing_link.rename(backup_link) + temp_copy.rename(existing_link) + except OSError as error: + if backup_link.exists() and not existing_link.exists(): + backup_link.rename(existing_link) + if temp_copy.exists(): + shutil.rmtree(temp_copy, ignore_errors=True) + raise MutationError(f"unable to restore local copy at {existing_link}: {error}") from error + + if backup_link.exists(): + backup_link.unlink() + + def prepare_remove(self, package_dir: str) -> None: + link = self.managed_root / package_dir + if not link.exists() and not link.is_symlink(): + return + if not link.is_symlink(): + raise MutationError(f"not a symlink at {link}; will not delete real directory") + + def remove_binding(self, package_dir: str) -> None: + self.disable_shared_package(package_dir) + + def invalidate(self) -> None: + return None + + def _is_installed(self) -> bool: + return shutil.which(self._install_probe, path=self._path_env) is not None + + def _dedupe_roots( + self, + roots: tuple["_ResolvedRoot", ...], + ) -> tuple["_ResolvedRoot", ...]: + selected: list[_ResolvedRoot] = [] + seen: set[Path] = set() + for root in roots: + path = root.path.resolve(strict=False) + if path in seen: + continue + seen.add(path) + selected.append(root) + return tuple(selected) + + +@dataclass(frozen=True) +class _ResolvedRoot: + kind: str + scope: str + label: str + path: Path + + +def build_skills_adapters(kernel: HarnessKernelService) -> tuple[FileTreeSkillsAdapter, ...]: + adapters: list[FileTreeSkillsAdapter] = [] + for binding in kernel.bindings_for_family("skills"): + definition = binding.definition + profile = binding.profile + if not isinstance(profile, FileTreeBindingProfile): + continue + managed_root = profile.resolve_managed_root(kernel.context) + resolved_roots = ( + _ResolvedRoot( + kind="managed-root", + scope="canonical", + label="Managed skills root", + path=managed_root, + ), + *tuple( + _ResolvedRoot( + kind=root.kind, + scope=root.scope, + label=root.label, + path=root.path_resolver(kernel.context), + ) + for root in profile.discovery_roots + ), + ) + adapters.append( + FileTreeSkillsAdapter( + harness=definition.harness, + label=definition.label, + logo_key=definition.logo_key, + install_probe=definition.install_probe, + path_env=kernel.context.env.get("PATH"), + managed_root=managed_root, + discovery_roots=resolved_roots, + ) + ) + return tuple(adapters) + + +def scan_all_adapters(adapters: tuple[SkillsHarnessAdapter, ...]) -> tuple[SkillsHarnessScan, ...]: + if not adapters: + return () + with ThreadPoolExecutor(max_workers=len(adapters)) as executor: + return tuple(executor.map(lambda adapter: adapter.scan(), adapters)) + + +def _scan_skill_roots( + *, + harness: str, + label: str, + roots: tuple[_ResolvedRoot, ...], +) -> list[SkillObservation]: + observations: list[SkillObservation] = [] + for root in roots: + for skill_root in find_skill_roots(root.path): + try: + package = parse_skill_package( + skill_root, + default_source=SourceDescriptor( + kind="harness-local", + locator=f"{harness}:{root.scope}:{skill_root.name}", + ), + ) + except SkillParseError: + continue + observations.append( + SkillObservation( + harness=harness, + label=label, + scope=root.scope, + package=package, + ) + ) + return observations + + +__all__ = ["FileTreeSkillsAdapter", "build_skills_adapters", "scan_all_adapters"] diff --git a/skill_manager/application/skills/contracts.py b/skill_manager/application/skills/contracts.py new file mode 100644 index 0000000..bdde9e6 --- /dev/null +++ b/skill_manager/application/skills/contracts.py @@ -0,0 +1,48 @@ +from __future__ import annotations + +from dataclasses import dataclass +from pathlib import Path +from typing import Protocol + +from .observations import SkillsHarnessScan + + +@dataclass(frozen=True) +class SkillsHarnessStatus: + harness: str + label: str + logo_key: str | None + installed: bool + managed_root: Path + + +class SkillsHarnessAdapter(Protocol): + harness: str + label: str + logo_key: str | None + managed_root: Path + + def status(self) -> SkillsHarnessStatus: ... + + def scan(self) -> SkillsHarnessScan: ... + + def enable_shared_package(self, package_path: Path) -> None: ... + + def disable_shared_package(self, package_dir: str) -> None: ... + + def adopt_local_copy(self, existing_dir: Path, package_path: Path) -> None: ... + + def has_binding(self, package_dir: str) -> bool: ... + + def prepare_materialize(self, package_dir: str, expected_target: Path) -> None: ... + + def materialize_binding(self, package_dir: str, source_path: Path) -> None: ... + + def prepare_remove(self, package_dir: str) -> None: ... + + def remove_binding(self, package_dir: str) -> None: ... + + def invalidate(self) -> None: ... + + +__all__ = ["SkillsHarnessAdapter", "SkillsHarnessStatus"] diff --git a/skill_manager/application/document_utils.py b/skill_manager/application/skills/document_utils.py similarity index 100% rename from skill_manager/application/document_utils.py rename to skill_manager/application/skills/document_utils.py diff --git a/skill_manager/domain/health.py b/skill_manager/application/skills/health.py similarity index 100% rename from skill_manager/domain/health.py rename to skill_manager/application/skills/health.py diff --git a/skill_manager/domain/identity.py b/skill_manager/application/skills/identity.py similarity index 86% rename from skill_manager/domain/identity.py rename to skill_manager/application/skills/identity.py index e416a3f..ee8958e 100644 --- a/skill_manager/domain/identity.py +++ b/skill_manager/application/skills/identity.py @@ -19,7 +19,7 @@ class SourceDescriptor: @property def is_source_backed(self) -> bool: - return self.kind not in {"builtin", "harness-local", "shared-store", "unmanaged-local"} + return self.kind not in {"harness-local", "shared-store", "unmanaged-local"} @dataclass(frozen=True) diff --git a/skill_manager/application/skills/inventory.py b/skill_manager/application/skills/inventory.py index 9aa78ea..58ff691 100644 --- a/skill_manager/application/skills/inventory.py +++ b/skill_manager/application/skills/inventory.py @@ -4,10 +4,11 @@ from pathlib import Path from typing import Literal -from skill_manager.domain import HarnessScan, SourceDescriptor, StoreScan, stable_id +from .identity import SourceDescriptor, stable_id +from .observations import SkillStoreScan, SkillsHarnessScan -EntryKind = Literal["managed", "unmanaged", "builtin"] +EntryKind = Literal["managed", "unmanaged"] @dataclass(frozen=True) @@ -15,11 +16,12 @@ class InventoryColumn: harness: str label: str logo_key: str | None + installed: bool @dataclass(frozen=True) class InventorySighting: - kind: Literal["shared", "harness", "builtin"] + kind: Literal["shared", "harness"] harness: str | None label: str scope: str | None @@ -48,7 +50,7 @@ def add_sighting(self, sighting: InventorySighting) -> None: self.sightings.append(sighting) def detail_sightings(self) -> list[InventorySighting]: - order = {"shared": 0, "harness": 1, "builtin": 2} + order = {"shared": 0, "harness": 1} return sorted( self.sightings, key=lambda item: ( @@ -84,13 +86,22 @@ def __init__( self._by_ref = {entry.skill_ref: entry for entry in entries} @classmethod - def from_snapshot(cls, *, store_scan: StoreScan, harness_scans: tuple[HarnessScan, ...]) -> "SkillInventory": + def from_snapshot( + cls, + *, + store_scan: SkillStoreScan, + harness_scans: tuple[SkillsHarnessScan, ...], + ) -> "SkillInventory": from .policy import sort_entries columns = tuple( - InventoryColumn(harness=scan.harness, label=scan.label, logo_key=scan.logo_key) + InventoryColumn( + harness=scan.harness, + label=scan.label, + logo_key=scan.logo_key, + installed=scan.installed, + ) for scan in harness_scans - if scan.manageable ) entries: list[InventoryEntry] = [] shared_path_index: dict[Path, InventoryEntry] = {} @@ -127,7 +138,6 @@ def from_snapshot(cls, *, store_scan: StoreScan, harness_scans: tuple[HarnessSca shared_match_index[_managed_entry_key(entry)] = entry unmanaged_entries: dict[str, InventoryEntry] = {} - builtin_entries: dict[str, InventoryEntry] = {} for scan in harness_scans: for observation in scan.skills: @@ -167,34 +177,7 @@ def from_snapshot(cls, *, store_scan: StoreScan, harness_scans: tuple[HarnessSca unmanaged_entries[key] = entry entry.add_sighting(sighting) - for builtin in scan.builtins: - source = SourceDescriptor(kind="builtin", locator=f"{builtin.harness}:{builtin.builtin_id}") - key = stable_id("builtin", builtin.declared_name, builtin.builtin_id) - entry = builtin_entries.get(key) - if entry is None: - entry = InventoryEntry( - skill_ref=f"builtin:{key}", - name=builtin.declared_name, - description=builtin.detail, - kind="builtin", - source=source, - ) - builtin_entries[key] = entry - entry.add_sighting( - InventorySighting( - kind="builtin", - harness=builtin.harness, - label=builtin.label, - scope=None, - path=None, - revision=None, - source=source, - detail=builtin.detail, - ) - ) - entries.extend(unmanaged_entries.values()) - entries.extend(builtin_entries.values()) sort_entries(entries) return cls( columns=columns, diff --git a/skill_manager/store/manifest.py b/skill_manager/application/skills/manifest.py similarity index 75% rename from skill_manager/store/manifest.py rename to skill_manager/application/skills/manifest.py index 475b49b..d0e7df4 100644 --- a/skill_manager/store/manifest.py +++ b/skill_manager/application/skills/manifest.py @@ -4,11 +4,11 @@ import json from pathlib import Path -from ._atomic import atomic_write_text +from skill_manager.atomic_files import atomic_write_text @dataclass(frozen=True) -class ManifestEntry: +class SkillStoreEntry: package_dir: str declared_name: str source_kind: str @@ -33,19 +33,19 @@ def to_dict(self) -> dict[str, str]: @dataclass(frozen=True) -class StoreManifest: - entries: tuple[ManifestEntry, ...] +class SkillStoreManifest: + entries: tuple[SkillStoreEntry, ...] def to_dict(self) -> dict[str, object]: return {"entries": [entry.to_dict() for entry in self.entries]} -def load_manifest(path: Path) -> StoreManifest: +def load_skill_store_manifest(path: Path) -> SkillStoreManifest: if not path.is_file(): - return StoreManifest(entries=()) + return SkillStoreManifest(entries=()) payload = json.loads(path.read_text(encoding="utf-8")) entries = tuple( - ManifestEntry( + SkillStoreEntry( package_dir=item["packageDir"], declared_name=item["declaredName"], source_kind=item["sourceKind"], @@ -56,11 +56,19 @@ def load_manifest(path: Path) -> StoreManifest: ) for item in payload.get("entries", []) ) - return StoreManifest(entries=entries) + return SkillStoreManifest(entries=entries) -def write_manifest(path: Path, manifest: StoreManifest) -> None: +def write_skill_store_manifest(path: Path, manifest: SkillStoreManifest) -> None: atomic_write_text( path, json.dumps(manifest.to_dict(), ensure_ascii=False, indent=2) + "\n", ) + + +__all__ = [ + "SkillStoreEntry", + "SkillStoreManifest", + "load_skill_store_manifest", + "write_skill_store_manifest", +] diff --git a/skill_manager/application/marketplace/__init__.py b/skill_manager/application/skills/marketplace/__init__.py similarity index 100% rename from skill_manager/application/marketplace/__init__.py rename to skill_manager/application/skills/marketplace/__init__.py diff --git a/skill_manager/application/marketplace/catalog.py b/skill_manager/application/skills/marketplace/catalog.py similarity index 98% rename from skill_manager/application/marketplace/catalog.py rename to skill_manager/application/skills/marketplace/catalog.py index 8c9b402..6d8e87e 100644 --- a/skill_manager/application/marketplace/catalog.py +++ b/skill_manager/application/skills/marketplace/catalog.py @@ -12,7 +12,8 @@ from skill_manager.errors import MarketplaceUpstreamError from skill_manager.sources import github_repo_url -from .cache import MarketplaceCache +from skill_manager.application.marketplace_cache import MarketplaceCache + from .client import DEFAULT_SKILLS_SH_BASE_URL, SkillsShClient from .models import MarketplaceCard, MarketplacePageResult, RepoDisplayMetadata, SkillsShSkill from .resolver import DetailEnrichment, GitHubSkillResolver @@ -76,6 +77,7 @@ def from_environment( leaderboard_fetcher: LeaderboardFetcher | None = None, search_fetcher: SearchFetcher | None = None, detail_fetcher: DetailFetcher | None = None, + cache: MarketplaceCache | None = None, warm_on_init: bool = True, ) -> "MarketplaceCatalog": client = SkillsShClient.from_environment(env) @@ -83,7 +85,7 @@ def from_environment( leaderboard_fetcher=leaderboard_fetcher or (lambda: fetch_all_time_leaderboard(client=client)), search_fetcher=search_fetcher or (lambda query, limit: search_skills(query, limit=limit, client=client)), detail_fetcher=detail_fetcher or (lambda detail_url: fetch_detail_page(detail_url, client=client)), - cache=MarketplaceCache.from_environment(env), + cache=cache or MarketplaceCache.from_environment(env), warm_on_init=warm_on_init, ) diff --git a/skill_manager/application/marketplace/client.py b/skill_manager/application/skills/marketplace/client.py similarity index 86% rename from skill_manager/application/marketplace/client.py rename to skill_manager/application/skills/marketplace/client.py index 52c9849..de668a7 100644 --- a/skill_manager/application/marketplace/client.py +++ b/skill_manager/application/skills/marketplace/client.py @@ -5,14 +5,15 @@ from pathlib import Path import socket import ssl -import sys from urllib.error import HTTPError, URLError from urllib.parse import quote, urljoin from urllib.request import Request, urlopen -import certifi - from skill_manager.errors import MarketplaceUpstreamError +from skill_manager.application.marketplace_http import ( + configured_marketplace_ca_file, + marketplace_ssl_context, +) DEFAULT_SKILLS_SH_BASE_URL = "https://skills.sh" MARKETPLACE_BASE_URL_ENV = "SKILL_MANAGER_MARKETPLACE_BASE_URL" @@ -26,23 +27,6 @@ def configured_marketplace_base_url(env: dict[str, str] | None = None) -> str: return (configured or DEFAULT_SKILLS_SH_BASE_URL).rstrip("/") -def configured_marketplace_ca_file(env: dict[str, str] | None = None) -> Path | None: - active_env = os.environ if env is None else env - override = active_env.get("SSL_CERT_FILE", "").strip() - if override: - return Path(override) - if _is_packaged_runtime(): - return Path(certifi.where()) - return None - - -def marketplace_ssl_context(env: dict[str, str] | None = None) -> ssl.SSLContext | None: - cafile = configured_marketplace_ca_file(env) - if cafile is None: - return None - return ssl.create_default_context(cafile=str(cafile)) - - def skills_sh_detail_url(repo: str, skill_id: str, *, base_url: str = DEFAULT_SKILLS_SH_BASE_URL) -> str: normalized = (base_url or DEFAULT_SKILLS_SH_BASE_URL).rstrip("/") return f"{normalized}/{quote(repo, safe='/')}/{quote(skill_id, safe='')}" @@ -123,7 +107,3 @@ def _request(self, path_or_url: str, *, accept: str | None = None) -> bytes: raise MarketplaceUpstreamError(kind, url, str(reason)) from error except OSError as error: raise MarketplaceUpstreamError("network", url, str(error)) from error - - -def _is_packaged_runtime() -> bool: - return bool(getattr(sys, "frozen", False)) diff --git a/skill_manager/application/marketplace/documents.py b/skill_manager/application/skills/marketplace/documents.py similarity index 94% rename from skill_manager/application/marketplace/documents.py rename to skill_manager/application/skills/marketplace/documents.py index 61b4c89..470bf10 100644 --- a/skill_manager/application/marketplace/documents.py +++ b/skill_manager/application/skills/marketplace/documents.py @@ -4,10 +4,10 @@ from tempfile import TemporaryDirectory from skill_manager.errors import MutationError +from skill_manager.application.marketplace_cache import MarketplaceCache from ..document_utils import read_skill_document_markdown -from ..source_fetch_service import SourceFetchService -from .cache import MarketplaceCache +from ..source_fetch import SourceFetchService from .models import SkillsShSkill diff --git a/skill_manager/application/marketplace/installs.py b/skill_manager/application/skills/marketplace/installs.py similarity index 93% rename from skill_manager/application/marketplace/installs.py rename to skill_manager/application/skills/marketplace/installs.py index 22a5795..b1c2ef8 100644 --- a/skill_manager/application/marketplace/installs.py +++ b/skill_manager/application/skills/marketplace/installs.py @@ -2,7 +2,7 @@ from skill_manager.errors import MutationError -from ..skills.mutations import SkillsMutationService +from ..mutations import SkillsMutationService from .catalog import MarketplaceCatalog diff --git a/skill_manager/application/marketplace/models.py b/skill_manager/application/skills/marketplace/models.py similarity index 100% rename from skill_manager/application/marketplace/models.py rename to skill_manager/application/skills/marketplace/models.py diff --git a/skill_manager/application/marketplace/queries.py b/skill_manager/application/skills/marketplace/queries.py similarity index 95% rename from skill_manager/application/marketplace/queries.py rename to skill_manager/application/skills/marketplace/queries.py index 6e08188..4b87e75 100644 --- a/skill_manager/application/marketplace/queries.py +++ b/skill_manager/application/skills/marketplace/queries.py @@ -2,16 +2,16 @@ from skill_manager.sources import github_repo_url -from ..read_model_service import ReadModelService +from ..inventory import SkillInventory +from ..read_models import SkillsReadModelService from .catalog import MarketplaceCatalog from .documents import MarketplaceDocumentService -from ..skills.inventory import SkillInventory class MarketplaceQueryService: def __init__( self, - read_models: ReadModelService, + read_models: SkillsReadModelService, catalog: MarketplaceCatalog, document_service: MarketplaceDocumentService, ) -> None: @@ -109,5 +109,5 @@ def inventory(self) -> SkillInventory: snapshot = self.read_models.snapshot() return SkillInventory.from_snapshot( store_scan=snapshot.store_scan, - harness_scans=snapshot.harness_scans, + harness_scans=self.read_models.visible_scans(snapshot), ) diff --git a/skill_manager/application/marketplace/repo_snapshots.py b/skill_manager/application/skills/marketplace/repo_snapshots.py similarity index 98% rename from skill_manager/application/marketplace/repo_snapshots.py rename to skill_manager/application/skills/marketplace/repo_snapshots.py index 51d693a..fcaf2b9 100644 --- a/skill_manager/application/marketplace/repo_snapshots.py +++ b/skill_manager/application/skills/marketplace/repo_snapshots.py @@ -12,7 +12,8 @@ is_valid_github_repo, ) -from .cache import MarketplaceCache +from skill_manager.application.marketplace_cache import MarketplaceCache + from .models import RepoDisplayMetadata diff --git a/skill_manager/application/marketplace/resolver.py b/skill_manager/application/skills/marketplace/resolver.py similarity index 100% rename from skill_manager/application/marketplace/resolver.py rename to skill_manager/application/skills/marketplace/resolver.py diff --git a/skill_manager/application/marketplace/skillssh.py b/skill_manager/application/skills/marketplace/skillssh.py similarity index 100% rename from skill_manager/application/marketplace/skillssh.py rename to skill_manager/application/skills/marketplace/skillssh.py diff --git a/skill_manager/application/skills/mutations.py b/skill_manager/application/skills/mutations.py index 83518b2..4aa7061 100644 --- a/skill_manager/application/skills/mutations.py +++ b/skill_manager/application/skills/mutations.py @@ -3,21 +3,22 @@ from pathlib import Path from tempfile import TemporaryDirectory -from skill_manager.domain import SourceDescriptor, parse_skill_package from skill_manager.errors import MutationError -from skill_manager.harness import HarnessManager -from ..read_model_service import ReadModelService -from ..source_fetch_service import SourceFetchService +from .contracts import SkillsHarnessAdapter +from .identity import SourceDescriptor from .inventory import InventoryEntry -from .policy import can_delete, can_manage, can_stop_managing, can_update, display_status +from .package import parse_skill_package +from .policy import can_delete, can_manage, can_stop_managing, can_update, display_status, has_local_changes from .queries import SkillsQueryService +from .read_models import SkillsReadModelService +from .source_fetch import SourceFetchService class SkillsMutationService: def __init__( self, - read_models: ReadModelService, + read_models: SkillsReadModelService, queries: SkillsQueryService, source_fetcher: SourceFetchService, ) -> None: @@ -31,8 +32,8 @@ def enable_skill(self, skill_ref: str, harness: str) -> dict[str, bool]: raise MutationError(f"only managed skills can be toggled; this is {display_status(entry)}", status=400) if entry.package_path is None: raise MutationError("managed skill is missing its shared package path", status=500) - manager = self.read_models.require_enabled_manager(harness) - manager.enable_shared_package(entry.package_path) + adapter = self.read_models.require_enabled_adapter(harness) + adapter.enable_shared_package(entry.package_path) self.read_models.invalidate() return {"ok": True} @@ -42,11 +43,59 @@ def disable_skill(self, skill_ref: str, harness: str) -> dict[str, bool]: raise MutationError(f"only managed skills can be toggled; this is {display_status(entry)}", status=400) if entry.package_dir is None: raise MutationError("managed skill is missing its package directory name", status=500) - manager = self.read_models.require_enabled_manager(harness) - manager.disable_shared_package(entry.package_dir) + adapter = self.read_models.require_enabled_adapter(harness) + adapter.disable_shared_package(entry.package_dir) self.read_models.invalidate() return {"ok": True} + def set_skill_all_harnesses(self, skill_ref: str, target: str) -> dict[str, object]: + if target not in ("enabled", "disabled"): + raise MutationError("target must be 'enabled' or 'disabled'", status=400) + entry = self.queries.require_entry(skill_ref) + if entry.kind != "managed": + raise MutationError( + f"only managed skills can be toggled; this is {display_status(entry)}", + status=400, + ) + if entry.package_dir is None: + raise MutationError("managed skill is missing its package directory name", status=500) + if target == "enabled" and entry.package_path is None: + raise MutationError("managed skill is missing its shared package path", status=500) + + succeeded: list[str] = [] + failures: list[dict[str, str]] = [] + flipped_any = False + + # Bulk set-all only targets harnesses whose CLI is installed on the + # system. Enabling on an uninstalled harness would write a symlink + # into a folder no runtime reads, which is misleading and happens + # to cascade across overlapping discovery roots in the catalog. + for adapter in self.read_models.enabled_installed_adapters(): + has_binding = adapter.has_binding(entry.package_dir) + if target == "enabled" and has_binding: + continue + if target == "disabled" and not has_binding: + continue + try: + if target == "enabled": + adapter.enable_shared_package(entry.package_path) # type: ignore[arg-type] + else: + adapter.disable_shared_package(entry.package_dir) + except Exception as error: # noqa: BLE001 — aggregate partial failures + failures.append({"harness": adapter.harness, "error": str(error)}) + continue + succeeded.append(adapter.harness) + flipped_any = True + + if flipped_any: + self.read_models.invalidate() + + return { + "ok": not failures, + "succeeded": succeeded, + "failed": failures, + } + def manage_skill(self, skill_ref: str) -> dict[str, bool]: entry = self.queries.require_entry(skill_ref) if entry.kind != "unmanaged": @@ -88,6 +137,8 @@ def manage_all_skills(self) -> dict[str, object]: def update_skill(self, skill_ref: str) -> dict[str, bool]: entry = self.queries.require_entry(skill_ref) if not can_update(entry): + if has_local_changes(entry): + raise MutationError("Local changes detected. Source updates are disabled.", status=400) raise MutationError("skill cannot be updated from its source", status=400) if entry.package_dir is None: raise MutationError("managed skill is missing its package directory name", status=500) @@ -113,13 +164,13 @@ def unmanage_skill(self, skill_ref: str) -> dict[str, bool]: entry = self.queries.require_entry(skill_ref) if not can_stop_managing(entry): raise MutationError( - f"only managed or custom shared-store skills can be moved back to unmanaged; this is {display_status(entry)}", + f"only managed shared-store skills can be moved back to unmanaged; this is {display_status(entry)}", status=400, ) if entry.package_dir is None or entry.package_path is None: raise MutationError("managed skill is missing its shared package metadata", status=500) - enabled_bindings, disabled_bindings = self._partition_bound_managers(entry.package_dir) + enabled_bindings, disabled_bindings = self._partition_bound_adapters(entry.package_dir) if disabled_bindings: raise MutationError( "cannot stop managing while disabled harnesses still have bindings: " @@ -134,11 +185,11 @@ def unmanage_skill(self, skill_ref: str) -> dict[str, bool]: except ValueError as error: raise MutationError(str(error), status=409) from error - for _harness, manager in enabled_bindings: - manager.prepare_materialize(entry.package_dir, entry.package_path) + for _harness, adapter in enabled_bindings: + adapter.prepare_materialize(entry.package_dir, entry.package_path) - for _harness, manager in enabled_bindings: - manager.materialize_binding(entry.package_dir, entry.package_path) + for _harness, adapter in enabled_bindings: + adapter.materialize_binding(entry.package_dir, entry.package_path) try: self.read_models.store.delete(entry.package_dir) @@ -151,13 +202,13 @@ def delete_skill(self, skill_ref: str) -> dict[str, bool]: entry = self.queries.require_entry(skill_ref) if not can_delete(entry): raise MutationError( - f"only managed or custom shared-store skills can be deleted; this is {display_status(entry)}", + f"only managed shared-store skills can be deleted; this is {display_status(entry)}", status=400, ) if entry.package_dir is None: raise MutationError("managed skill is missing its package directory name", status=500) - _enabled_bindings, disabled_bindings = self._partition_bound_managers(entry.package_dir) + enabled_bindings, disabled_bindings = self._partition_bound_adapters(entry.package_dir) if disabled_bindings: raise MutationError( "cannot delete while disabled harnesses still have bindings: " @@ -168,10 +219,10 @@ def delete_skill(self, skill_ref: str) -> dict[str, bool]: self.read_models.store.ensure_deletable(entry.package_dir) except ValueError as error: raise MutationError(str(error), status=409) from error - for _harness, manager in self.read_models.enabled_managers(): - manager.prepare_remove(entry.package_dir) - for _harness, manager in self.read_models.enabled_managers(): - manager.remove_binding(entry.package_dir) + for _harness, adapter in enabled_bindings: + adapter.prepare_remove(entry.package_dir) + for _harness, adapter in enabled_bindings: + adapter.remove_binding(entry.package_dir) try: self.read_models.store.delete(entry.package_dir) except ValueError as error: @@ -225,33 +276,32 @@ def _manage_entry(self, entry: InventoryEntry) -> None: raise MutationError(str(error), status=409) from error canonical_bound_harnesses: set[str] = set() for sighting in harness_sightings: - manager = self.read_models.require_enabled_manager(sighting.harness) + adapter = self.read_models.require_enabled_adapter(sighting.harness) if sighting.scope == "canonical": - manager.adopt_local_copy(existing_dir=sighting.path, package_path=ingested) + adapter.adopt_local_copy(existing_dir=sighting.path, package_path=ingested) canonical_bound_harnesses.add(sighting.harness) for sighting in harness_sightings: if sighting.harness in canonical_bound_harnesses: continue - manager = self.read_models.require_enabled_manager(sighting.harness) - manager.enable_shared_package(ingested) + adapter = self.read_models.require_enabled_adapter(sighting.harness) + adapter.enable_shared_package(ingested) canonical_bound_harnesses.add(sighting.harness) - def _partition_bound_managers(self, package_dir: str) -> tuple[list[tuple[str, HarnessManager]], list[tuple[str, HarnessManager]]]: + def _partition_bound_adapters( + self, + package_dir: str, + ) -> tuple[list[tuple[str, SkillsHarnessAdapter]], list[tuple[str, SkillsHarnessAdapter]]]: enabled = set(self.read_models.enabled_harnesses()) - enabled_bindings: list[tuple[str, HarnessManager]] = [] - disabled_bindings: list[tuple[str, HarnessManager]] = [] - for harness, manager in self.read_models.all_managers(): - if not manager.has_binding(package_dir): + enabled_bindings: list[tuple[str, SkillsHarnessAdapter]] = [] + disabled_bindings: list[tuple[str, SkillsHarnessAdapter]] = [] + for adapter in self.read_models.all_adapters(): + if not adapter.has_binding(package_dir): continue - if harness in enabled: - enabled_bindings.append((harness, manager)) + if adapter.harness in enabled: + enabled_bindings.append((adapter.harness, adapter)) else: - disabled_bindings.append((harness, manager)) + disabled_bindings.append((adapter.harness, adapter)) return enabled_bindings, disabled_bindings - def _describe_harnesses(self, bindings: list[tuple[str, HarnessManager]]) -> str: - labels: list[str] = [] - for harness, _manager in bindings: - driver = self.read_models.find_driver(harness) - labels.append(driver.label if driver is not None else harness) - return ", ".join(labels) + def _describe_harnesses(self, bindings: list[tuple[str, SkillsHarnessAdapter]]) -> str: + return ", ".join(adapter.label for _harness, adapter in bindings) diff --git a/skill_manager/domain/observations.py b/skill_manager/application/skills/observations.py similarity index 74% rename from skill_manager/domain/observations.py rename to skill_manager/application/skills/observations.py index 603cb73..892e2c1 100644 --- a/skill_manager/domain/observations.py +++ b/skill_manager/application/skills/observations.py @@ -14,15 +14,6 @@ class SkillObservation: package: SkillPackage -@dataclass(frozen=True) -class BuiltinObservation: - harness: str - label: str - builtin_id: str - declared_name: str - detail: str = "" - - @dataclass(frozen=True) class StorePackageObservation: package: SkillPackage @@ -32,17 +23,23 @@ class StorePackageObservation: @dataclass(frozen=True) -class HarnessScan: +class SkillsHarnessScan: harness: str label: str logo_key: str | None installed: bool - manageable: bool skills: tuple[SkillObservation, ...] = () - builtins: tuple[BuiltinObservation, ...] = () @dataclass(frozen=True) -class StoreScan: +class SkillStoreScan: packages: tuple[StorePackageObservation, ...] = () issues: tuple[str, ...] = () + + +__all__ = [ + "SkillObservation", + "SkillStoreScan", + "SkillsHarnessScan", + "StorePackageObservation", +] diff --git a/skill_manager/domain/package.py b/skill_manager/application/skills/package.py similarity index 100% rename from skill_manager/domain/package.py rename to skill_manager/application/skills/package.py diff --git a/skill_manager/application/skills/policy.py b/skill_manager/application/skills/policy.py index 4c1c5c6..e4294cd 100644 --- a/skill_manager/application/skills/policy.py +++ b/skill_manager/application/skills/policy.py @@ -5,12 +5,12 @@ from .inventory import InventoryEntry -DisplayStatus = Literal["Managed", "Unmanaged", "Custom", "Built-in"] -HarnessCellState = Literal["enabled", "disabled", "found", "builtin", "empty"] +DisplayStatus = Literal["Managed", "Unmanaged"] +HarnessCellState = Literal["enabled", "disabled", "found", "empty"] StopManagingStatus = Literal["available", "disabled_no_enabled"] -def is_custom(entry: InventoryEntry) -> bool: +def has_local_changes(entry: InventoryEntry) -> bool: return ( entry.kind == "managed" and entry.recorded_revision is not None @@ -20,18 +20,14 @@ def is_custom(entry: InventoryEntry) -> bool: def display_status(entry: InventoryEntry) -> DisplayStatus: - if entry.kind == "builtin": - return "Built-in" if entry.kind == "unmanaged": return "Unmanaged" - if is_custom(entry): - return "Custom" return "Managed" def attention_message(entry: InventoryEntry) -> str | None: - if is_custom(entry): - return "Modified locally; source updates are disabled." + if has_local_changes(entry): + return "Local changes detected. Source updates are disabled." return None @@ -40,7 +36,7 @@ def can_manage(entry: InventoryEntry) -> bool: def can_update(entry: InventoryEntry) -> bool: - return entry.kind == "managed" and not is_custom(entry) and entry.source.kind == "github" + return entry.kind == "managed" and not has_local_changes(entry) and entry.source.kind == "github" def can_delete(entry: InventoryEntry) -> bool: @@ -52,8 +48,6 @@ def can_stop_managing(entry: InventoryEntry) -> bool: def cell_state(entry: InventoryEntry, harness: str) -> HarnessCellState: - if entry.kind == "builtin": - return "builtin" if any(s.harness == harness for s in entry.sightings) else "empty" if entry.kind == "unmanaged": return "found" if any(s.harness == harness for s in entry.sightings) else "empty" return ( @@ -74,9 +68,7 @@ def stop_managing_status(entry: InventoryEntry) -> StopManagingStatus | None: def sort_entries(entries: list[InventoryEntry]) -> None: order = { "Managed": 0, - "Custom": 1, - "Unmanaged": 2, - "Built-in": 3, + "Unmanaged": 1, } entries.sort( key=lambda entry: ( diff --git a/skill_manager/application/skills/presenters.py b/skill_manager/application/skills/presenters.py index cbab3ca..853b386 100644 --- a/skill_manager/application/skills/presenters.py +++ b/skill_manager/application/skills/presenters.py @@ -7,6 +7,7 @@ can_manage, cell_state, display_status, + stop_managing_status, ) @@ -14,8 +15,6 @@ def skills_page_payload(inventory: SkillInventory) -> dict[str, object]: counts = { "managed": sum(1 for entry in inventory.entries if display_status(entry) == "Managed"), "unmanaged": sum(1 for entry in inventory.entries if display_status(entry) == "Unmanaged"), - "custom": sum(1 for entry in inventory.entries if display_status(entry) == "Custom"), - "builtIn": sum(1 for entry in inventory.entries if display_status(entry) == "Built-in"), } return { "summary": counts, @@ -55,8 +54,13 @@ def source_status_payload(update_status: str | None) -> dict[str, object]: return {"updateStatus": update_status} -def column_payload(column: InventoryColumn) -> dict[str, str | None]: - return {"harness": column.harness, "label": column.label, "logoKey": column.logo_key} +def column_payload(column: InventoryColumn) -> dict[str, object]: + return { + "harness": column.harness, + "label": column.label, + "logoKey": column.logo_key, + "installed": column.installed, + } def row_payload(entry: InventoryEntry, columns: tuple[InventoryColumn, ...]) -> dict[str, object]: @@ -65,9 +69,10 @@ def row_payload(entry: InventoryEntry, columns: tuple[InventoryColumn, ...]) -> "name": entry.name, "description": entry.description, "displayStatus": display_status(entry), - "attentionMessage": attention_message(entry), "actions": { "canManage": can_manage(entry), + "canStopManaging": stop_managing_status(entry) == "available", + "canDelete": can_delete(entry), }, "cells": [cell_payload(entry, column) for column in columns], } @@ -75,12 +80,20 @@ def row_payload(entry: InventoryEntry, columns: tuple[InventoryColumn, ...]) -> def cell_payload(entry: InventoryEntry, column: InventoryColumn) -> dict[str, object]: state = cell_state(entry, column.harness) + # `interactive` is the single source of truth for "this cell can be + # flipped right now". It requires both a toggleable state AND an + # installed harness CLI — flipping a cell whose CLI doesn't exist + # would write a symlink no runtime reads (and cascades misleadingly + # through overlapping discovery roots in the catalog). Every + # consumer downstream (card counts, board bucketing, harness chip + # stack) reads `interactive` and is correct for free. + is_interactive = state in {"enabled", "disabled"} and column.installed return { "harness": column.harness, "label": column.label, "logoKey": column.logo_key, "state": state, - "interactive": state in {"enabled", "disabled"}, + "interactive": is_interactive, } diff --git a/skill_manager/application/skills/queries.py b/skill_manager/application/skills/queries.py index 5537e69..a7f7082 100644 --- a/skill_manager/application/skills/queries.py +++ b/skill_manager/application/skills/queries.py @@ -4,22 +4,22 @@ from tempfile import TemporaryDirectory from typing import Literal -from skill_manager.domain import fingerprint_package from skill_manager.errors import MutationError from skill_manager.sources import github_folder_url, github_repo_from_locator, github_repo_url -from ..document_utils import read_skill_document_markdown -from ..read_model_service import ReadModelService -from ..source_fetch_service import SourceFetchService +from .document_utils import read_skill_document_markdown from .inventory import InventoryEntry, SkillInventory -from .policy import can_stop_managing, can_update +from .package import fingerprint_package +from .policy import can_stop_managing, can_update, has_local_changes from .presenters import skill_detail_payload, skills_page_payload, source_status_payload +from .read_models import SkillsReadModelService +from .source_fetch import SourceFetchService class SkillsQueryService: def __init__( self, - read_models: ReadModelService, + read_models: SkillsReadModelService, source_fetcher: SourceFetchService, ) -> None: self.read_models = read_models @@ -60,7 +60,7 @@ def inventory(self) -> SkillInventory: snapshot = self.read_models.snapshot() return SkillInventory.from_snapshot( store_scan=snapshot.store_scan, - harness_scans=snapshot.harness_scans, + harness_scans=self.read_models.visible_scans(snapshot), ) def require_entry(self, skill_ref: str) -> InventoryEntry: @@ -126,9 +126,11 @@ def _github_folder_url(self, entry: InventoryEntry, repo: str) -> str | None: def resolve_update_status( self, entry: InventoryEntry, - ) -> Literal["update_available", "no_update_available", "no_source_available"] | None: + ) -> Literal["update_available", "no_update_available", "no_source_available", "local_changes_detected"] | None: if entry.kind != "managed": return None + if has_local_changes(entry): + return "local_changes_detected" if not can_update(entry): return "no_source_available" if self.check_for_update(entry): diff --git a/skill_manager/application/skills/read_models.py b/skill_manager/application/skills/read_models.py new file mode 100644 index 0000000..b8872d2 --- /dev/null +++ b/skill_manager/application/skills/read_models.py @@ -0,0 +1,119 @@ +from __future__ import annotations + +from dataclasses import dataclass +from threading import Lock +import time + +from skill_manager.errors import MutationError +from skill_manager.harness import HarnessKernelService + +from .adapters import build_skills_adapters, scan_all_adapters +from .contracts import SkillsHarnessAdapter, SkillsHarnessStatus +from .observations import SkillStoreScan, SkillsHarnessScan +from .store import SkillStore + + +@dataclass(frozen=True) +class SkillsReadModelSnapshot: + store_scan: SkillStoreScan + harness_scans: tuple[SkillsHarnessScan, ...] + + +@dataclass(frozen=True) +class _CachedSnapshot: + snapshot: SkillsReadModelSnapshot + captured_at: float + + +class SkillsReadModelService: + def __init__( + self, + *, + store: SkillStore, + adapters: tuple[SkillsHarnessAdapter, ...], + kernel: HarnessKernelService, + snapshot_ttl_seconds: float = 1.0, + ) -> None: + self.store = store + self.adapters = adapters + self.kernel = kernel + self.snapshot_ttl_seconds = snapshot_ttl_seconds + self._cache: _CachedSnapshot | None = None + self._lock = Lock() + + @classmethod + def from_kernel( + cls, + *, + store: SkillStore, + kernel: HarnessKernelService, + ) -> "SkillsReadModelService": + return cls( + store=store, + adapters=build_skills_adapters(kernel), + kernel=kernel, + ) + + def find_adapter(self, harness: str) -> SkillsHarnessAdapter | None: + return next((adapter for adapter in self.adapters if adapter.harness == harness), None) + + def visible_harnesses(self) -> tuple[str, ...]: + return self.kernel.enabled_harness_ids_for_family("skills") + + def enabled_harnesses(self) -> tuple[str, ...]: + return self.visible_harnesses() + + def enabled_adapters(self) -> tuple[SkillsHarnessAdapter, ...]: + enabled = set(self.enabled_harnesses()) + return tuple(adapter for adapter in self.adapters if adapter.harness in enabled) + + def enabled_installed_adapters(self) -> tuple[SkillsHarnessAdapter, ...]: + return tuple(adapter for adapter in self.enabled_adapters() if adapter.status().installed) + + def all_adapters(self) -> tuple[SkillsHarnessAdapter, ...]: + return self.adapters + + def require_enabled_adapter(self, harness: str) -> SkillsHarnessAdapter: + adapter = self.find_adapter(harness) + if adapter is None: + raise MutationError(f"unknown harness: {harness}", status=400) + if harness not in self.enabled_harnesses(): + raise MutationError(f"harness support is disabled: {harness}", status=400) + status = adapter.status() + if not status.installed: + raise MutationError(f"{adapter.label} is not installed or not available on PATH", status=400) + return adapter + + def harness_statuses(self) -> tuple[SkillsHarnessStatus, ...]: + return tuple(adapter.status() for adapter in self.adapters) + + def visible_scans( + self, + snapshot: SkillsReadModelSnapshot | None = None, + ) -> tuple[SkillsHarnessScan, ...]: + current = snapshot or self.snapshot() + visible = set(self.visible_harnesses()) + return tuple(scan for scan in current.harness_scans if scan.harness in visible) + + def snapshot(self) -> SkillsReadModelSnapshot: + with self._lock: + cached = self._cache + if cached is not None and (time.time() - cached.captured_at) < self.snapshot_ttl_seconds: + return cached.snapshot + + snapshot = SkillsReadModelSnapshot( + store_scan=self.store.scan(), + harness_scans=scan_all_adapters(self.adapters), + ) + with self._lock: + self._cache = _CachedSnapshot(snapshot=snapshot, captured_at=time.time()) + return snapshot + + def invalidate(self) -> None: + with self._lock: + self._cache = None + for adapter in self.adapters: + adapter.invalidate() + + +__all__ = ["SkillsReadModelService", "SkillsReadModelSnapshot"] diff --git a/skill_manager/application/source_fetch_service.py b/skill_manager/application/skills/source_fetch.py similarity index 100% rename from skill_manager/application/source_fetch_service.py rename to skill_manager/application/skills/source_fetch.py diff --git a/skill_manager/store/shared_store.py b/skill_manager/application/skills/store.py similarity index 72% rename from skill_manager/store/shared_store.py rename to skill_manager/application/skills/store.py index cce7268..e3810d8 100644 --- a/skill_manager/store/shared_store.py +++ b/skill_manager/application/skills/store.py @@ -3,33 +3,33 @@ import shutil from pathlib import Path -from skill_manager.domain import ( - CheckIssue, - SourceDescriptor, - StorePackageObservation, - StoreScan, - find_skill_roots, - fingerprint_package, - parse_skill_package, -) +from skill_manager.atomic_files import file_lock -from ._atomic import file_lock -from .manifest import ManifestEntry, StoreManifest, load_manifest, write_manifest +from .health import CheckIssue +from .identity import SourceDescriptor +from .manifest import ( + SkillStoreEntry, + SkillStoreManifest, + load_skill_store_manifest, + write_skill_store_manifest, +) +from .observations import SkillStoreScan, StorePackageObservation +from .package import find_skill_roots, fingerprint_package, parse_skill_package -class SharedStore: +class SkillStore: def __init__(self, root: Path, manifest_path: Path | None = None) -> None: self.root = root self.manifest_path = manifest_path or root.parent / "manifest.json" @property - def _lock_path(self) -> Path: + def lock_path(self) -> Path: return self.manifest_path.with_suffix(".lock") - def scan(self) -> StoreScan: - manifest = load_manifest(self.manifest_path) + def scan(self) -> SkillStoreScan: + manifest = load_skill_store_manifest(self.manifest_path) manifest_index = {entry.package_dir: entry for entry in manifest.entries} - packages = [] + packages: list[StorePackageObservation] = [] for path in find_skill_roots(self.root): entry = manifest_index.get(path.name) source = SourceDescriptor( @@ -44,7 +44,10 @@ def scan(self) -> StoreScan: recorded_source_path=entry.source_path if entry else None, ) ) - return StoreScan(packages=tuple(packages), issues=tuple(issue.message for issue in self.check_integrity())) + return SkillStoreScan( + packages=tuple(packages), + issues=tuple(issue.message for issue in self.check_integrity()), + ) def ingest( self, @@ -56,16 +59,15 @@ def ingest( source_ref: str | None = None, source_path_hint: str | None = None, ) -> Path: - """Copy a skill package into the shared store and update the manifest.""" self.root.mkdir(parents=True, exist_ok=True) - with file_lock(self._lock_path): + with file_lock(self.lock_path): dest = self.root / source_path.name if dest.exists(): raise ValueError(f"package directory already exists in store: {source_path.name}") shutil.copytree(source_path, dest) fingerprint, _ = fingerprint_package(dest) - manifest = load_manifest(self.manifest_path) - entry = ManifestEntry( + manifest = load_skill_store_manifest(self.manifest_path) + entry = SkillStoreEntry( package_dir=source_path.name, declared_name=declared_name, source_kind=source_kind, @@ -74,7 +76,10 @@ def ingest( source_ref=source_ref, source_path=source_path_hint, ) - write_manifest(self.manifest_path, StoreManifest(entries=manifest.entries + (entry,))) + write_skill_store_manifest( + self.manifest_path, + SkillStoreManifest(entries=manifest.entries + (entry,)), + ) return dest def update( @@ -85,8 +90,7 @@ def update( source_ref: str | None = None, source_path_hint: str | None = None, ) -> tuple[Path, bool]: - """Replace a shared package with a new version. Returns (path, changed).""" - with file_lock(self._lock_path): + with file_lock(self.lock_path): dest = self.root / package_dir if not dest.is_dir(): raise ValueError(f"package not in store: {package_dir}") @@ -96,9 +100,9 @@ def update( return dest, False shutil.rmtree(dest) shutil.copytree(source_path, dest) - manifest = load_manifest(self.manifest_path) + manifest = load_skill_store_manifest(self.manifest_path) updated = tuple( - ManifestEntry( + SkillStoreEntry( e.package_dir, e.declared_name, e.source_kind, @@ -111,23 +115,29 @@ def update( else e for e in manifest.entries ) - write_manifest(self.manifest_path, StoreManifest(entries=updated)) + write_skill_store_manifest( + self.manifest_path, + SkillStoreManifest(entries=updated), + ) return dest, True def delete(self, package_dir: str) -> None: - with file_lock(self._lock_path): + with file_lock(self.lock_path): self.ensure_deletable(package_dir) dest = self.root / package_dir - manifest = load_manifest(self.manifest_path) + manifest = load_skill_store_manifest(self.manifest_path) shutil.rmtree(dest) updated = tuple(entry for entry in manifest.entries if entry.package_dir != package_dir) - write_manifest(self.manifest_path, StoreManifest(entries=updated)) + write_skill_store_manifest( + self.manifest_path, + SkillStoreManifest(entries=updated), + ) def ensure_deletable(self, package_dir: str) -> None: dest = self.root / package_dir if not dest.is_dir(): raise ValueError(f"package not in store: {package_dir}") - manifest = load_manifest(self.manifest_path) + manifest = load_skill_store_manifest(self.manifest_path) if not any(entry.package_dir == package_dir for entry in manifest.entries): raise ValueError(f"package missing from manifest: {package_dir}") @@ -145,3 +155,6 @@ def check_integrity(self) -> tuple[CheckIssue, ...]: ) ) return tuple(issues) + + +__all__ = ["SkillStore"] diff --git a/skill_manager/store/_atomic.py b/skill_manager/atomic_files.py similarity index 100% rename from skill_manager/store/_atomic.py rename to skill_manager/atomic_files.py diff --git a/skill_manager/domain/__init__.py b/skill_manager/domain/__init__.py deleted file mode 100644 index f37bb06..0000000 --- a/skill_manager/domain/__init__.py +++ /dev/null @@ -1,32 +0,0 @@ -from .health import CheckIssue, CheckReport -from .identity import SkillRef, SourceDescriptor, stable_id -from .observations import BuiltinObservation, HarnessScan, SkillObservation, StorePackageObservation, StoreScan -from .package import ( - SkillManifest, - SkillPackage, - SkillParseError, - fingerprint_package, - find_skill_roots, - parse_skill_manifest_text, - parse_skill_package, -) - -__all__ = [ - "BuiltinObservation", - "CheckIssue", - "CheckReport", - "HarnessScan", - "SkillManifest", - "SkillPackage", - "SkillParseError", - "SkillObservation", - "SkillRef", - "SourceDescriptor", - "StorePackageObservation", - "StoreScan", - "fingerprint_package", - "find_skill_roots", - "parse_skill_manifest_text", - "parse_skill_package", - "stable_id", -] diff --git a/skill_manager/harness/__init__.py b/skill_manager/harness/__init__.py index 0e51b6c..a7277cf 100644 --- a/skill_manager/harness/__init__.py +++ b/skill_manager/harness/__init__.py @@ -1,18 +1,38 @@ -from .catalog import HarnessDefinition, supported_harness_definitions, supported_harness_ids -from .contracts import HarnessDriver, HarnessLocation, HarnessManager, HarnessStatus -from .managers import SymlinkHarnessManager -from .registry import collect_harness_statuses, create_default_drivers, scan_all_harnesses +from .catalog import harness_definitions_for_family, supported_harness_definitions, supported_harness_ids +from .contracts import ( + BindingProfile, + ConfigSubtreeBindingProfile, + FamilyKey, + FileTreeBindingProfile, + FileTreeDiscoveryRoot, + HarnessDefinition, + HarnessStatus, + PathResolver, + SubtreePath, + SubtreePathResolver, +) +from .kernel import FamilyBinding, HarnessKernelService +from .resolution import ResolutionContext, resolve_context +from .support_store import HarnessSupportPreferences, HarnessSupportStore __all__ = [ - "HarnessDriver", + "BindingProfile", + "ConfigSubtreeBindingProfile", + "FamilyBinding", + "FamilyKey", + "FileTreeBindingProfile", + "FileTreeDiscoveryRoot", "HarnessDefinition", - "HarnessLocation", - "HarnessManager", + "HarnessKernelService", "HarnessStatus", - "SymlinkHarnessManager", - "collect_harness_statuses", - "create_default_drivers", - "scan_all_harnesses", + "HarnessSupportPreferences", + "HarnessSupportStore", + "PathResolver", + "ResolutionContext", + "SubtreePath", + "SubtreePathResolver", + "harness_definitions_for_family", + "resolve_context", "supported_harness_definitions", "supported_harness_ids", ] diff --git a/skill_manager/harness/catalog.py b/skill_manager/harness/catalog.py index 3160c35..7a1c99b 100644 --- a/skill_manager/harness/catalog.py +++ b/skill_manager/harness/catalog.py @@ -1,44 +1,14 @@ from __future__ import annotations -from dataclasses import dataclass from pathlib import Path -from typing import Callable -from .contracts import HarnessDefinitionLike, HarnessDiscoveryRoot, HarnessDriver -from .drivers import GlobalHarnessDriver -from .resolution import ResolutionContext - - -DriverFactory = Callable[[ResolutionContext, "HarnessDefinition"], HarnessDriver] -PathResolver = Callable[[ResolutionContext], Path] - - -@dataclass(frozen=True) -class DiscoveryRootDefinition: - kind: str - scope: str - label: str - path_resolver: PathResolver - - -@dataclass(frozen=True) -class HarnessDefinition(HarnessDefinitionLike): - harness: str - label: str - logo_key: str | None - install_probe: str - managed_env: str | None - managed_default: PathResolver - driver_factory: DriverFactory - discovery_roots: tuple[DiscoveryRootDefinition, ...] = () - builtins_env: str | None = None - builtins_default: PathResolver | None = None - - def create_driver( - self, - context: ResolutionContext, - ) -> HarnessDriver: - return self.driver_factory(context, self) +from .contracts import ( + ConfigSubtreeBindingProfile, + FamilyKey, + FileTreeBindingProfile, + FileTreeDiscoveryRoot, + HarnessDefinition, +) def supported_harness_definitions() -> tuple[HarnessDefinition, ...]: @@ -49,44 +19,10 @@ def supported_harness_ids() -> tuple[str, ...]: return tuple(definition.harness for definition in SUPPORTED_HARNESS_DEFINITIONS) -def _global_driver() -> DriverFactory: - def factory(context: ResolutionContext, definition: HarnessDefinition) -> HarnessDriver: - env = context.env - managed_root = Path(env.get(definition.managed_env, definition.managed_default(context))) if definition.managed_env else definition.managed_default(context) - discovery_roots: list[HarnessDiscoveryRoot] = [ - HarnessDiscoveryRoot( - kind="managed-root", - scope="canonical", - label="Managed skills root", - path=managed_root, - writable=True, - ) - ] - for root in definition.discovery_roots: - discovery_roots.append( - HarnessDiscoveryRoot( - kind=root.kind, - scope=root.scope, - label=root.label, - path=root.path_resolver(context), - writable=False, - ) - ) - builtins_path = None - if definition.builtins_default is not None: - if definition.builtins_env: - builtins_path = Path(env.get(definition.builtins_env, definition.builtins_default(context))) - else: - builtins_path = definition.builtins_default(context) - return GlobalHarnessDriver( - definition=definition, - install_probe=definition.install_probe, - path_env=env.get("PATH"), - discovery_roots=tuple(discovery_roots), - builtins_path=builtins_path, - ) - - return factory +def harness_definitions_for_family(family: FamilyKey) -> tuple[HarnessDefinition, ...]: + return tuple( + definition for definition in SUPPORTED_HARNESS_DEFINITIONS if definition.supports_family(family) + ) SUPPORTED_HARNESS_DEFINITIONS: tuple[HarnessDefinition, ...] = ( @@ -95,82 +31,146 @@ def factory(context: ResolutionContext, definition: HarnessDefinition) -> Harnes label="Codex", logo_key="codex", install_probe="codex", - managed_env="SKILL_MANAGER_CODEX_ROOT", - managed_default=lambda context: context.home / ".agents" / "skills", - discovery_roots=( - DiscoveryRootDefinition( - kind="admin-root", - scope="admin", - label="Admin skills root", - path_resolver=lambda _context: Path("/etc/codex/skills"), + bindings={ + "skills": FileTreeBindingProfile( + managed_env="SKILL_MANAGER_CODEX_ROOT", + managed_default=lambda context: context.home / ".agents" / "skills", + discovery_roots=( + FileTreeDiscoveryRoot( + kind="admin-root", + scope="admin", + label="Admin skills root", + path_resolver=lambda _context: Path("/etc/codex/skills"), + ), + FileTreeDiscoveryRoot( + kind="legacy-root", + scope="legacy", + label="Legacy import root", + path_resolver=lambda context: context.home / ".codex" / "skills", + ), + ), ), - DiscoveryRootDefinition( - kind="legacy-root", - scope="legacy", - label="Legacy import root", - path_resolver=lambda context: context.home / ".codex" / "skills", + "mcp": ConfigSubtreeBindingProfile( + config_path_resolver=lambda context: context.home / ".codex" / "config.toml", + file_format="toml", + subtree_path=("mcp_servers",), + codec="codex", ), - ), - driver_factory=_global_driver(), + }, ), HarnessDefinition( harness="claude", label="Claude", logo_key="claude", install_probe="claude", - managed_env="SKILL_MANAGER_CLAUDE_ROOT", - managed_default=lambda context: context.home / ".claude" / "skills", - driver_factory=_global_driver(), + bindings={ + "skills": FileTreeBindingProfile( + managed_env="SKILL_MANAGER_CLAUDE_ROOT", + managed_default=lambda context: context.home / ".claude" / "skills", + ), + "mcp": ConfigSubtreeBindingProfile( + config_path_resolver=lambda context: context.home / ".claude.json", + file_format="json", + subtree_path=("mcpServers",), + discovery_subtree_path_resolvers=( + lambda context: ("projects", str(context.home), "mcpServers"), + lambda context: ("projects", str(context.home.resolve()), "mcpServers"), + ), + codec="claude-code", + ), + }, ), HarnessDefinition( harness="cursor", label="Cursor", logo_key="cursor", install_probe="cursor-agent", - managed_env="SKILL_MANAGER_CURSOR_ROOT", - managed_default=lambda context: context.home / ".cursor" / "skills", - driver_factory=_global_driver(), + bindings={ + "skills": FileTreeBindingProfile( + managed_env="SKILL_MANAGER_CURSOR_ROOT", + managed_default=lambda context: context.home / ".cursor" / "skills", + ), + "mcp": ConfigSubtreeBindingProfile( + config_path_resolver=lambda context: context.home / ".cursor" / "mcp.json", + file_format="json", + subtree_path=("mcpServers",), + codec="cursor", + ), + }, ), HarnessDefinition( harness="opencode", label="OpenCode", logo_key="opencode", install_probe="opencode", - managed_env="SKILL_MANAGER_OPENCODE_ROOT", - managed_default=lambda context: context.xdg_config_home / "opencode" / "skills", - discovery_roots=( - DiscoveryRootDefinition( - kind="compat-root", - scope="claude-compat", - label="Claude compatibility root", - path_resolver=lambda context: context.home / ".claude" / "skills", + bindings={ + "skills": FileTreeBindingProfile( + managed_env="SKILL_MANAGER_OPENCODE_ROOT", + managed_default=lambda context: context.xdg_config_home / "opencode" / "skills", + discovery_roots=( + FileTreeDiscoveryRoot( + kind="compat-root", + scope="claude-compat", + label="Claude compatibility root", + path_resolver=lambda context: context.home / ".claude" / "skills", + ), + FileTreeDiscoveryRoot( + kind="compat-root", + scope="agents-compat", + label="Agents compatibility root", + path_resolver=lambda context: context.home / ".agents" / "skills", + ), + ), ), - DiscoveryRootDefinition( - kind="compat-root", - scope="agents-compat", - label="Agents compatibility root", - path_resolver=lambda context: context.home / ".agents" / "skills", + "mcp": ConfigSubtreeBindingProfile( + config_path_resolver=lambda context: context.home / ".opencode" / "opencode.jsonc", + discovery_config_path_resolvers=( + lambda context: context.xdg_config_home / "opencode" / "opencode.json", + ), + source_install_config_path_resolvers=( + lambda context: context.home / ".opencode" / "opencode.jsonc", + ), + file_format="jsonc", + subtree_path=("mcp",), + codec="opencode", ), - ), - builtins_env="SKILL_MANAGER_OPENCODE_BUILTINS", - builtins_default=lambda context: context.xdg_config_home / "opencode" / "builtins.json", - driver_factory=_global_driver(), + }, ), HarnessDefinition( harness="openclaw", label="OpenClaw", logo_key="openclaw", install_probe="openclaw", - managed_env=None, - managed_default=lambda context: context.home / ".openclaw" / "skills", - discovery_roots=( - DiscoveryRootDefinition( - kind="personal-root", - scope="personal-agent", - label="Personal agent skills root", - path_resolver=lambda context: context.home / ".agents" / "skills", + bindings={ + "skills": FileTreeBindingProfile( + managed_default=lambda context: context.home / ".openclaw" / "skills", + discovery_roots=( + FileTreeDiscoveryRoot( + kind="personal-root", + scope="personal-agent", + label="Personal agent skills root", + path_resolver=lambda context: context.home / ".agents" / "skills", + ), + ), + ), + "mcp": ConfigSubtreeBindingProfile( + config_path_resolver=lambda context: context.home / ".openclaw" / "openclaw.json", + file_format="json", + subtree_path=("mcp", "servers"), + codec="openclaw", + capability_probe="openclaw-mcp-command", + capability_unavailable_reason=( + "Installed OpenClaw does not expose MCP config support" + ), ), - ), - driver_factory=_global_driver(), + }, ), ) + + +__all__ = [ + "SUPPORTED_HARNESS_DEFINITIONS", + "harness_definitions_for_family", + "supported_harness_definitions", + "supported_harness_ids", +] diff --git a/skill_manager/harness/contracts.py b/skill_manager/harness/contracts.py index 2385d04..16a8da7 100644 --- a/skill_manager/harness/contracts.py +++ b/skill_manager/harness/contracts.py @@ -1,85 +1,133 @@ from __future__ import annotations -from dataclasses import dataclass +from dataclasses import dataclass, field from pathlib import Path -from typing import Protocol +from typing import Callable, Literal, Mapping, TypeAlias -from skill_manager.domain import HarnessScan +from .resolution import ResolutionContext -class HarnessDefinitionLike: - harness: str - label: str - logo_key: str | None +FamilyKey = Literal["skills", "mcp"] +PathResolver = Callable[[ResolutionContext], Path] +SubtreePath: TypeAlias = tuple[str, ...] +SubtreePathResolver = Callable[[ResolutionContext], SubtreePath] @dataclass(frozen=True) -class HarnessDiscoveryRoot: +class FileTreeDiscoveryRoot: kind: str scope: str label: str - path: Path - writable: bool = False + path_resolver: PathResolver @dataclass(frozen=True) -class HarnessLocation: - kind: str - label: str - path: Path - present: bool +class FileTreeBindingProfile: + shape: Literal["file-tree"] = "file-tree" + managed_env: str | None = None + managed_default: PathResolver | None = None + discovery_roots: tuple[FileTreeDiscoveryRoot, ...] = () + + def resolve_managed_root(self, context: ResolutionContext) -> Path: + if self.managed_default is None: + raise ValueError("file-tree binding profile is missing a managed_default resolver") + if self.managed_env: + override = context.env.get(self.managed_env) + if override: + return Path(override) + return self.managed_default(context) @dataclass(frozen=True) -class HarnessStatus: +class ConfigSubtreeBindingProfile: + shape: Literal["config-subtree"] = "config-subtree" + config_path_resolver: PathResolver | None = None + discovery_config_path_resolvers: tuple[PathResolver, ...] = () + source_install_config_path_resolvers: tuple[PathResolver, ...] = () + file_format: Literal["json", "jsonc", "toml"] = "json" + subtree_path: SubtreePath = () + discovery_subtree_path_resolvers: tuple[SubtreePathResolver, ...] = () + codec: str = "default" + capability_probe: str | None = None + capability_unavailable_reason: str | None = None + + def resolve_config_path(self, context: ResolutionContext) -> Path: + if self.config_path_resolver is None: + raise ValueError("config-subtree binding profile is missing a config_path_resolver") + return self.config_path_resolver(context) + + def resolve_discovery_config_paths(self, context: ResolutionContext) -> tuple[Path, ...]: + if self.config_path_resolver is None: + raise ValueError("config-subtree binding profile is missing a config_path_resolver") + paths = [self.config_path_resolver(context)] + paths.extend(resolver(context) for resolver in self.discovery_config_path_resolvers) + paths.extend(resolver(context) for resolver in self.source_install_config_path_resolvers) + return tuple(_dedupe_paths(paths)) + + def resolve_discovery_subtree_paths(self, context: ResolutionContext) -> tuple[SubtreePath, ...]: + paths = [self.subtree_path] + paths.extend(resolver(context) for resolver in self.discovery_subtree_path_resolvers) + return tuple(_dedupe_subtree_paths(paths)) + + +def _dedupe_subtree_paths(paths: list[SubtreePath]) -> list[SubtreePath]: + seen: set[SubtreePath] = set() + result: list[SubtreePath] = [] + for path in paths: + if not path or path in seen: + continue + seen.add(path) + result.append(path) + return result + + +def _dedupe_paths(paths: list[Path]) -> list[Path]: + seen: set[Path] = set() + result: list[Path] = [] + for path in paths: + if path in seen: + continue + seen.add(path) + result.append(path) + return result + + +BindingProfile: TypeAlias = FileTreeBindingProfile | ConfigSubtreeBindingProfile + + +@dataclass(frozen=True) +class HarnessDefinition: harness: str label: str logo_key: str | None - installed: bool - locations: tuple[HarnessLocation, ...] = () - - -class HarnessManager(Protocol): - managed_root: Path - - def enable_shared_package(self, package_path: Path) -> None: - ... + install_probe: str + bindings: Mapping[FamilyKey, BindingProfile] = field(default_factory=dict) - def disable_shared_package(self, package_dir: str) -> None: - ... + def supports_family(self, family: FamilyKey) -> bool: + return family in self.bindings - def adopt_local_copy(self, existing_dir: Path, package_path: Path) -> None: - ... + def binding_for(self, family: FamilyKey) -> BindingProfile | None: + return self.bindings.get(family) - def has_binding(self, package_dir: str) -> bool: - ... - def prepare_materialize(self, package_dir: str, expected_target: Path) -> None: - ... - - def materialize_binding(self, package_dir: str, source_path: Path) -> None: - ... - - def prepare_remove(self, package_dir: str) -> None: - ... - - def remove_binding(self, package_dir: str) -> None: - ... - - -class HarnessDriver(Protocol): +@dataclass(frozen=True) +class HarnessStatus: harness: str label: str logo_key: str | None - - def manager(self) -> HarnessManager | None: - ... - - def status(self) -> HarnessStatus: - ... - - def scan(self) -> HarnessScan: - ... - - def invalidate(self) -> None: - ... + installed: bool + managed_location: Path | None = None + + +__all__ = [ + "BindingProfile", + "ConfigSubtreeBindingProfile", + "FamilyKey", + "FileTreeBindingProfile", + "FileTreeDiscoveryRoot", + "HarnessDefinition", + "HarnessStatus", + "PathResolver", + "SubtreePath", + "SubtreePathResolver", +] diff --git a/skill_manager/harness/drivers.py b/skill_manager/harness/drivers.py deleted file mode 100644 index ff72b5f..0000000 --- a/skill_manager/harness/drivers.py +++ /dev/null @@ -1,153 +0,0 @@ -from __future__ import annotations - -import json -from pathlib import Path -import shutil - -from skill_manager.domain import ( - BuiltinObservation, - HarnessScan, - SkillObservation, - SkillParseError, - SourceDescriptor, - find_skill_roots, - parse_skill_package, -) - -from .contracts import HarnessDefinitionLike, HarnessDiscoveryRoot, HarnessDriver, HarnessLocation, HarnessManager, HarnessStatus -from .managers import SymlinkHarnessManager - - -class GlobalHarnessDriver(HarnessDriver): - def __init__( - self, - *, - definition: HarnessDefinitionLike, - install_probe: str, - path_env: str | None, - discovery_roots: tuple[HarnessDiscoveryRoot, ...], - builtins_path: Path | None, - ) -> None: - self.harness = definition.harness - self.label = definition.label - self.logo_key = definition.logo_key - self._install_probe = install_probe - self._path_env = path_env - self._discovery_roots = _dedupe_roots(discovery_roots) - self._builtins_path = builtins_path - - def manager(self) -> HarnessManager | None: - return SymlinkHarnessManager(self._managed_root()) - - def status(self) -> HarnessStatus: - locations = [ - HarnessLocation( - kind=root.kind, - label=root.label, - path=root.path, - present=root.path.exists(), - ) - for root in self._discovery_roots - ] - if self._builtins_path is not None: - locations.append( - HarnessLocation( - kind="builtins", - label="Builtins catalog", - path=self._builtins_path, - present=self._builtins_path.is_file(), - ) - ) - return HarnessStatus( - harness=self.harness, - label=self.label, - logo_key=self.logo_key, - installed=self._is_installed(), - locations=tuple(locations), - ) - - def scan(self) -> HarnessScan: - observations = _scan_skill_roots( - harness=self.harness, - label=self.label, - roots=self._discovery_roots, - ) - builtins = tuple(_load_builtins(self.harness, self.label, self._builtins_path)) - return HarnessScan( - harness=self.harness, - label=self.label, - logo_key=self.logo_key, - installed=self._is_installed(), - manageable=self.manager() is not None, - skills=tuple(observations), - builtins=builtins, - ) - - def invalidate(self) -> None: - return None - - def _managed_root(self) -> Path: - return next(root.path for root in self._discovery_roots if root.writable) - - def _is_installed(self) -> bool: - return shutil.which(self._install_probe, path=self._path_env) is not None - - -def _scan_skill_roots( - *, - harness: str, - label: str, - roots: tuple[HarnessDiscoveryRoot, ...], -) -> list[SkillObservation]: - observations: list[SkillObservation] = [] - for root in roots: - for skill_root in find_skill_roots(root.path): - try: - package = parse_skill_package( - skill_root, - default_source=SourceDescriptor( - kind="harness-local", - locator=f"{harness}:{root.scope}:{skill_root.name}", - ), - ) - except SkillParseError: - continue - observations.append( - SkillObservation( - harness=harness, - label=label, - scope=root.scope, - package=package, - ) - ) - return observations - - -def _load_builtins(harness: str, label: str, builtins_path: Path | None) -> list[BuiltinObservation]: - if builtins_path is None or not builtins_path.is_file(): - return [] - payload = json.loads(builtins_path.read_text(encoding="utf-8")) - builtins: list[BuiltinObservation] = [] - for item in payload.get("builtins", payload.get("skills", [])): - builtins.append( - BuiltinObservation( - harness=harness, - label=label, - builtin_id=item["id"], - declared_name=item["name"], - detail=item.get("detail", ""), - ) - ) - return builtins - - -def _dedupe_roots(roots: tuple[HarnessDiscoveryRoot, ...]) -> tuple[HarnessDiscoveryRoot, ...]: - selected: list[HarnessDiscoveryRoot] = [] - seen: set[Path] = set() - for root in roots: - resolved = root.path.resolve(strict=False) - if resolved in seen: - continue - seen.add(resolved) - selected.append(root) - return tuple(selected) diff --git a/skill_manager/harness/kernel.py b/skill_manager/harness/kernel.py new file mode 100644 index 0000000..1de43b4 --- /dev/null +++ b/skill_manager/harness/kernel.py @@ -0,0 +1,103 @@ +from __future__ import annotations + +import shutil +from dataclasses import dataclass + +from .catalog import harness_definitions_for_family, supported_harness_definitions, supported_harness_ids +from .contracts import ( + BindingProfile, + FamilyKey, + FileTreeBindingProfile, + HarnessDefinition, + HarnessStatus, +) +from .resolution import ResolutionContext, resolve_context +from .support_store import HarnessSupportStore + + +@dataclass(frozen=True) +class FamilyBinding: + definition: HarnessDefinition + profile: BindingProfile + + +class HarnessKernelService: + def __init__( + self, + *, + definitions: tuple[HarnessDefinition, ...], + context: ResolutionContext, + support_store: HarnessSupportStore, + ) -> None: + self._definitions = definitions + self.context = context + self.support_store = support_store + + @classmethod + def from_environment( + cls, + env: dict[str, str] | None = None, + *, + support_store: HarnessSupportStore, + ) -> "HarnessKernelService": + return cls( + definitions=supported_harness_definitions(), + context=resolve_context(env), + support_store=support_store, + ) + + def supported_harness_ids(self) -> tuple[str, ...]: + return supported_harness_ids() + + def is_known_harness(self, harness: str) -> bool: + return any(definition.harness == harness for definition in self._definitions) + + def definition(self, harness: str) -> HarnessDefinition | None: + return next((definition for definition in self._definitions if definition.harness == harness), None) + + def enabled_harness_ids(self) -> tuple[str, ...]: + return self.support_store.enabled_harnesses(self.supported_harness_ids()) + + def enabled_harness_ids_for_family(self, family: FamilyKey) -> tuple[str, ...]: + supported = tuple(binding.definition.harness for binding in self.bindings_for_family(family)) + return self.support_store.enabled_harnesses(supported) + + def bindings_for_family(self, family: FamilyKey) -> tuple[FamilyBinding, ...]: + bindings: list[FamilyBinding] = [] + for definition in self._definitions: + profile = definition.binding_for(family) + if profile is None: + continue + bindings.append(FamilyBinding(definition=definition, profile=profile)) + return tuple(bindings) + + def binding_for(self, harness: str, family: FamilyKey) -> BindingProfile | None: + definition = self.definition(harness) + if definition is None: + return None + return definition.binding_for(family) + + def harness_statuses(self) -> tuple[HarnessStatus, ...]: + statuses: list[HarnessStatus] = [] + for definition in self._definitions: + skills_binding = definition.binding_for("skills") + managed_location = None + if isinstance(skills_binding, FileTreeBindingProfile): + managed_location = skills_binding.resolve_managed_root(self.context) + statuses.append( + HarnessStatus( + harness=definition.harness, + label=definition.label, + logo_key=definition.logo_key, + installed=shutil.which( + definition.install_probe, + path=self.context.env.get("PATH"), + ) + is not None, + managed_location=managed_location, + ) + ) + return tuple(statuses) + + +__all__ = ["FamilyBinding", "HarnessKernelService", "harness_definitions_for_family"] diff --git a/skill_manager/harness/managers.py b/skill_manager/harness/managers.py deleted file mode 100644 index a37a982..0000000 --- a/skill_manager/harness/managers.py +++ /dev/null @@ -1,89 +0,0 @@ -from __future__ import annotations - -from pathlib import Path -import shutil -from uuid import uuid4 - -from skill_manager.errors import MutationError - - -class SymlinkHarnessManager: - def __init__(self, managed_root: Path) -> None: - self.managed_root = managed_root - - def enable_shared_package(self, package_path: Path) -> None: - resolved_target = package_path.resolve() - link = self.managed_root / package_path.name - if link.is_symlink(): - if link.resolve() == resolved_target: - return - raise MutationError(f"symlink already exists but points to {link.resolve()}, not {resolved_target}") - if link.exists(): - raise MutationError(f"real directory exists at {link}; will not overwrite") - self.managed_root.mkdir(parents=True, exist_ok=True) - link.symlink_to(resolved_target) - - def disable_shared_package(self, package_dir: str) -> None: - link = self.managed_root / package_dir - if not link.exists() and not link.is_symlink(): - return - if not link.is_symlink(): - raise MutationError(f"not a symlink at {link}; will not delete real directory") - link.unlink() - - def adopt_local_copy(self, existing_dir: Path, package_path: Path) -> None: - resolved_target = package_path.resolve() - if not existing_dir.exists() and not existing_dir.is_symlink(): - raise MutationError(f"directory does not exist: {existing_dir}") - if existing_dir.is_symlink(): - if existing_dir.resolve() == resolved_target: - return - raise MutationError(f"symlink exists but points to {existing_dir.resolve()}, not {resolved_target}") - shutil.rmtree(existing_dir) - existing_dir.symlink_to(resolved_target) - - def has_binding(self, package_dir: str) -> bool: - candidate = self.managed_root / package_dir - return candidate.exists() or candidate.is_symlink() - - def prepare_materialize(self, package_dir: str, expected_target: Path) -> None: - existing_link = self.managed_root / package_dir - if not existing_link.exists() and not existing_link.is_symlink(): - raise MutationError(f"directory does not exist: {existing_link}") - if not existing_link.is_symlink(): - raise MutationError(f"not a symlink at {existing_link}; will not overwrite real directory") - resolved_target = expected_target.resolve() - if existing_link.resolve() != resolved_target: - raise MutationError(f"symlink exists but points to {existing_link.resolve()}, not {resolved_target}") - - def materialize_binding(self, package_dir: str, source_path: Path) -> None: - existing_link = self.managed_root / package_dir - resolved_target = source_path.resolve() - self.prepare_materialize(package_dir=package_dir, expected_target=resolved_target) - - temp_copy = existing_link.parent / f".{existing_link.name}.materialize-{uuid4().hex}" - backup_link = existing_link.parent / f".{existing_link.name}.backup-{uuid4().hex}" - - try: - shutil.copytree(resolved_target, temp_copy) - existing_link.rename(backup_link) - temp_copy.rename(existing_link) - except OSError as error: - if backup_link.exists() and not existing_link.exists(): - backup_link.rename(existing_link) - if temp_copy.exists(): - shutil.rmtree(temp_copy, ignore_errors=True) - raise MutationError(f"unable to restore local copy at {existing_link}: {error}") from error - - if backup_link.exists(): - backup_link.unlink() - - def prepare_remove(self, package_dir: str) -> None: - link = self.managed_root / package_dir - if not link.exists() and not link.is_symlink(): - return - if not link.is_symlink(): - raise MutationError(f"not a symlink at {link}; will not delete real directory") - - def remove_binding(self, package_dir: str) -> None: - self.disable_shared_package(package_dir) diff --git a/skill_manager/harness/registry.py b/skill_manager/harness/registry.py deleted file mode 100644 index eeeff26..0000000 --- a/skill_manager/harness/registry.py +++ /dev/null @@ -1,35 +0,0 @@ -from __future__ import annotations - -from concurrent.futures import ThreadPoolExecutor - -from skill_manager.domain import HarnessScan - -from .catalog import supported_harness_definitions -from .contracts import HarnessDriver, HarnessStatus -from .resolution import resolve_context - - -def create_default_drivers( - env: dict[str, str] | None = None, -) -> tuple[HarnessDriver, ...]: - context = resolve_context(env) - return tuple( - definition.create_driver(context) - for definition in supported_harness_definitions() - ) - - -def scan_all_harnesses(drivers: tuple[HarnessDriver, ...]) -> tuple[HarnessScan, ...]: - if not drivers: - return () - with ThreadPoolExecutor(max_workers=len(drivers)) as executor: - scans = executor.map(lambda driver: driver.scan(), drivers) - return tuple(scans) - - -def collect_harness_statuses(drivers: tuple[HarnessDriver, ...]) -> tuple[HarnessStatus, ...]: - if not drivers: - return () - with ThreadPoolExecutor(max_workers=len(drivers)) as executor: - statuses = executor.map(lambda driver: driver.status(), drivers) - return tuple(statuses) diff --git a/skill_manager/store/harness_support.py b/skill_manager/harness/support_store.py similarity index 96% rename from skill_manager/store/harness_support.py rename to skill_manager/harness/support_store.py index c923919..0c96d4d 100644 --- a/skill_manager/store/harness_support.py +++ b/skill_manager/harness/support_store.py @@ -4,7 +4,7 @@ import json from pathlib import Path -from ._atomic import atomic_write_text, file_lock +from skill_manager.atomic_files import atomic_write_text, file_lock @dataclass(frozen=True) diff --git a/skill_manager/paths.py b/skill_manager/paths.py index 23f7e72..70fb93e 100644 --- a/skill_manager/paths.py +++ b/skill_manager/paths.py @@ -17,9 +17,10 @@ class AppPaths: config_dir: Path data_dir: Path state_dir: Path - shared_store_root: Path - shared_store_manifest: Path + skills_store_root: Path + skills_store_manifest: Path marketplace_cache_root: Path + mcp_store_manifest: Path settings_path: Path runtime_state_path: Path server_log_path: Path @@ -34,9 +35,10 @@ def resolve_app_paths(env: dict[str, str] | None = None) -> AppPaths: config_dir=config_dir, data_dir=data_dir, state_dir=state_dir, - shared_store_root=data_dir / "shared", - shared_store_manifest=data_dir / "manifest.json", + skills_store_root=data_dir / "shared", + skills_store_manifest=data_dir / "manifest.json", marketplace_cache_root=data_dir / "marketplace", + mcp_store_manifest=data_dir / "mcp" / "manifest.json", settings_path=settings_path, runtime_state_path=state_dir / "runtime.json", server_log_path=state_dir / "server.log", diff --git a/skill_manager/store/__init__.py b/skill_manager/store/__init__.py deleted file mode 100644 index b19db2b..0000000 --- a/skill_manager/store/__init__.py +++ /dev/null @@ -1,13 +0,0 @@ -from .harness_support import HarnessSupportPreferences, HarnessSupportStore -from .manifest import ManifestEntry, StoreManifest, load_manifest, write_manifest -from .shared_store import SharedStore - -__all__ = [ - "HarnessSupportPreferences", - "HarnessSupportStore", - "ManifestEntry", - "SharedStore", - "StoreManifest", - "load_manifest", - "write_manifest", -] diff --git a/tests/README.md b/tests/README.md new file mode 100644 index 0000000..c3f496d --- /dev/null +++ b/tests/README.md @@ -0,0 +1,10 @@ +# Test Layers + +Backend tests stay split by behavior: + +- `tests/unit/` covers pure storage, mappers, catalog clients, codecs, and service helpers. +- `tests/integration/` covers API routes and workflow-level mutations against fake homes. +- `tests/support/` owns shared harness, filesystem, and app fixture utilities. +- `tests/fixtures/` stores representative payloads used by backend tests. + +Frontend tests live beside the component, screen, or model they protect. Shared frontend render, fetch, and DTO builders live under `frontend/src/test/` so feature tests can avoid rebuilding providers and common API payloads. diff --git a/tests/integration/test_cli_marketplace_api.py b/tests/integration/test_cli_marketplace_api.py new file mode 100644 index 0000000..ea0306a --- /dev/null +++ b/tests/integration/test_cli_marketplace_api.py @@ -0,0 +1,96 @@ +from __future__ import annotations + +import unittest + +from skill_manager.application.cli_marketplace import CliMarketplaceCatalog +from skill_manager.application.marketplace_cache import MarketplaceCache +from tests.support.app_harness import AppTestHarness + + +_FIXTURE_CLIS: dict[str, object] = { + "clis": [ + { + "slug": "ollama", + "name": "Ollama", + "description": "Run local models.", + "long_description": "Run local models from a CLI.", + "install": "brew install ollama", + "github": "https://github.com/ollama/ollama", + "website": "https://ollama.com", + "stars": 120000, + "language": "Go", + "category": "AI", + "has_mcp": True, + "is_official": True, + }, + { + "slug": "lazygit", + "name": "lazygit", + "description": "Terminal UI for git.", + "github": "https://github.com/jesseduffield/lazygit", + "has_skill": True, + "is_tui": True, + }, + ] +} + + +def _fixture_catalog() -> CliMarketplaceCatalog: + def fetcher(path: str) -> dict[str, object]: + if path == "/api/clis": + return _FIXTURE_CLIS + if path.startswith("/api/search?q="): + return {"clis": [_FIXTURE_CLIS["clis"][1]]} + raise AssertionError(path) + + return CliMarketplaceCatalog(fetcher=fetcher, cache=MarketplaceCache()) + + +class CliMarketplaceApiTests(unittest.TestCase): + def test_cli_marketplace_popular_returns_preview_page(self) -> None: + with AppTestHarness(cli_marketplace=_fixture_catalog()) as harness: + payload = harness.get_json("/api/marketplace/clis/popular?limit=1&offset=0") + + self.assertEqual(payload["items"][0]["id"], "clisdev:ollama") + self.assertEqual(payload["items"][0]["marketplaceUrl"], "https://clis.dev/cli/ollama") + self.assertEqual(payload["items"][0]["githubUrl"], "https://github.com/ollama/ollama") + self.assertEqual(payload["items"][0]["iconUrl"], "https://github.com/ollama.png?size=96") + self.assertEqual(payload["nextOffset"], 1) + self.assertTrue(payload["hasMore"]) + + def test_cli_marketplace_search_paginates_from_search_response(self) -> None: + with AppTestHarness(cli_marketplace=_fixture_catalog()) as harness: + payload = harness.get_json("/api/marketplace/clis/search?q=git&limit=10&offset=0") + + self.assertEqual([item["slug"] for item in payload["items"]], ["lazygit"]) + self.assertFalse(payload["hasMore"]) + + def test_cli_marketplace_search_rejects_short_queries(self) -> None: + with AppTestHarness(cli_marketplace=_fixture_catalog()) as harness: + payload = harness.get_json("/api/marketplace/clis/search?q=g", expected_status=400) + + self.assertIn("Enter at least 2 characters", payload["error"]) + + def test_cli_marketplace_detail_resolves_from_index(self) -> None: + with AppTestHarness(cli_marketplace=_fixture_catalog()) as harness: + payload = harness.get_json("/api/marketplace/clis/items/ollama") + + self.assertEqual(payload["slug"], "ollama") + self.assertEqual(payload["longDescription"], "Run local models from a CLI.") + self.assertEqual(payload["installCommand"], "brew install ollama") + + def test_cli_marketplace_detail_returns_404_for_unknown_slug(self) -> None: + with AppTestHarness(cli_marketplace=_fixture_catalog()) as harness: + payload = harness.get_json("/api/marketplace/clis/items/missing", expected_status=404) + + self.assertIn("unknown CLI", payload["error"]) + + def test_cli_marketplace_does_not_add_management_routes(self) -> None: + with AppTestHarness(cli_marketplace=_fixture_catalog()) as harness: + payload = harness.post_json("/api/clis/install", {}, expected_status=405) + + self.assertIn("Method Not Allowed", payload.get("error", payload.get("detail", ""))) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/integration/test_http_api.py b/tests/integration/test_http_api.py index f5ca781..5f6b5ef 100644 --- a/tests/integration/test_http_api.py +++ b/tests/integration/test_http_api.py @@ -17,7 +17,7 @@ def test_empty_fixture_returns_skills_settings_and_health(self) -> None: settings = harness.get_json("/api/settings") self.assertTrue(health["ok"]) - self.assertEqual(skills["summary"]["managed"], 0) + self.assertEqual(skills["summary"], {"managed": 0, "unmanaged": 0}) self.assertEqual(skills["rows"], []) self.assertEqual(len(settings["harnesses"]), 5) openclaw = next(item for item in settings["harnesses"] if item["harness"] == "openclaw") @@ -35,7 +35,7 @@ def test_health_skills_and_settings_work_without_openclaw_state(self) -> None: settings = harness.get_json("/api/settings") self.assertTrue(health["ok"]) - self.assertEqual(skills["summary"]["managed"], 0) + self.assertEqual(skills["summary"], {"managed": 0, "unmanaged": 0}) self.assertEqual(skills["rows"], []) openclaw = next(item for item in settings["harnesses"] if item["harness"] == "openclaw") self.assertFalse(openclaw["installed"]) @@ -63,14 +63,15 @@ def test_mixed_fixture_returns_skills_page_and_detail(self) -> None: skills = harness.get_json("/api/skills") shared_audit = next(row for row in skills["rows"] if row["name"] == "Shared Audit") + trace_lens = next(row for row in skills["rows"] if row["name"] == "Trace Lens") detail = harness.get_json(f"/api/skills/{shared_audit['skillRef']}") source_status = harness.get_json(f"/api/skills/{shared_audit['skillRef']}/source-status") - review_helper = next(row for row in skills["rows"] if row["name"] == "Review Helper") - builtin_detail = harness.get_json(f"/api/skills/{review_helper['skillRef']}") - builtin_source_status = harness.get_json(f"/api/skills/{review_helper['skillRef']}/source-status") + self.assertEqual(skills["summary"], {"managed": 1, "unmanaged": 2}) self.assertEqual(shared_audit["displayStatus"], "Managed") - self.assertNotIn("isBuiltin", shared_audit) + self.assertEqual(shared_audit["actions"], {"canManage": False, "canStopManaging": False, "canDelete": True}) + self.assertEqual(trace_lens["displayStatus"], "Unmanaged") + self.assertEqual(trace_lens["actions"], {"canManage": True, "canStopManaging": False, "canDelete": False}) self.assertEqual(detail["displayStatus"], "Managed") self.assertEqual( [cell["label"] for cell in detail["harnessCells"]], @@ -91,24 +92,6 @@ def test_mixed_fixture_returns_skills_page_and_detail(self) -> None: "repoUrl": "https://github.com/mode-io/shared-audit", "folderUrl": None, }) - self.assertFalse(builtin_detail["actions"]["canDelete"]) - self.assertIsNone(builtin_source_status["updateStatus"]) - self.assertIsNone(builtin_detail["actions"]["stopManagingStatus"]) - self.assertEqual(builtin_detail["actions"]["stopManagingHarnessLabels"], []) - self.assertEqual(builtin_detail["actions"]["deleteHarnessLabels"], []) - self.assertEqual( - builtin_detail["harnessCells"], - [ - {"harness": "codex", "label": "Codex", "logoKey": "codex", "state": "empty", "interactive": False}, - {"harness": "claude", "label": "Claude", "logoKey": "claude", "state": "empty", "interactive": False}, - {"harness": "cursor", "label": "Cursor", "logoKey": "cursor", "state": "empty", "interactive": False}, - {"harness": "opencode", "label": "OpenCode", "logoKey": "opencode", "state": "builtin", "interactive": False}, - {"harness": "openclaw", "label": "OpenClaw", "logoKey": "openclaw", "state": "empty", "interactive": False}, - ], - ) - self.assertIsNone(builtin_detail["documentMarkdown"]) - self.assertNotIn("advanced", builtin_detail) - self.assertIsNone(builtin_detail["sourceLinks"]) def test_managed_detail_returns_shared_store_location_before_tool_links(self) -> None: with AppTestHarness(fixture_factory=seed_managed_linked_fixture) as harness: diff --git a/tests/integration/test_mcp_routes.py b/tests/integration/test_mcp_routes.py new file mode 100644 index 0000000..58d52e4 --- /dev/null +++ b/tests/integration/test_mcp_routes.py @@ -0,0 +1,754 @@ +from __future__ import annotations + +import json +import unittest +from pathlib import Path + +from skill_manager.application.mcp.installers import McpInstallResult +from skill_manager.application.mcp.installers import SmitheryClientTarget +from skill_manager.application.mcp.mappers import get_mapper +from skill_manager.application.mcp.names import canonical_server_name +from skill_manager.application.mcp.stdio import parse_static_stdio_function +from skill_manager.application.mcp.store import McpServerSpec, McpSource + +from tests.support.app_harness import AppTestHarness + + +class FakeMcpMarketplace: + """In-memory marketplace stub returning a deterministic Exa-like server.""" + + def __init__( + self, + qualified_name: str = "exa", + config_schema: dict[str, object] | None = None, + *, + is_remote: bool = True, + deployment_url: str | None = "https://mcp.exa.ai", + connections: list[dict[str, object]] | None = None, + source_name: str | None = None, + ) -> None: + self.qualified_name = qualified_name + self._payload = { + "qualifiedName": qualified_name, + "displayName": "Exa Search" if qualified_name == "exa" else qualified_name.title(), + "description": "Search the web", + "iconUrl": None, + "isRemote": is_remote, + "deploymentUrl": deployment_url, + "connections": connections + if connections is not None + else [ + {"kind": "http", "deploymentUrl": deployment_url, "configSchema": config_schema} + ], + "tools": [], + "resources": [], + "prompts": [], + } + + def detail(self, qualified_name: str): + if qualified_name == self.qualified_name: + return self._payload + return None + + +class _Container: + """Wraps AppTestHarness and replaces the mcp marketplace catalog with a stub.""" + + def __init__( + self, + harness: AppTestHarness, + qualified_name: str = "exa", + config_schema: dict[str, object] | None = None, + *, + is_remote: bool = True, + deployment_url: str | None = "https://mcp.exa.ai", + connections: list[dict[str, object]] | None = None, + source_name: str | None = None, + ) -> None: + self.harness = harness + # Patch the in-memory mutation service to use the fake marketplace. + marketplace = FakeMcpMarketplace( + qualified_name, + config_schema, + is_remote=is_remote, + deployment_url=deployment_url, + connections=connections, + ) + harness.container.mcp_mutations.marketplace = marketplace + harness.container.mcp_mutations.install_provider = FakeMcpInstallProvider( + harness, + { + qualified_name: _source_spec_from_marketplace_payload( + marketplace._payload, # noqa: SLF001 - test stub data + qualified_name=qualified_name, + source_name=source_name, + ) + }, + ) + + +class FakeMcpInstallProvider: + def __init__(self, harness: AppTestHarness, specs: dict[str, McpServerSpec]) -> None: + self.harness = harness + self.specs = specs + + def install_targets(self) -> tuple[SmitheryClientTarget, ...]: + return ( + SmitheryClientTarget(harness="codex", smithery_client="codex", supported=True), + SmitheryClientTarget(harness="claude", smithery_client="claude-code", supported=True), + SmitheryClientTarget(harness="cursor", smithery_client="cursor", supported=True), + SmitheryClientTarget(harness="opencode", smithery_client="opencode", supported=True), + SmitheryClientTarget( + harness="openclaw", + smithery_client=None, + supported=False, + reason="Smithery does not provide an OpenClaw MCP installer target", + ), + ) + + def install(self, *, qualified_name: str, source_harness: str) -> McpInstallResult: + spec = self.specs[qualified_name] + if source_harness == "claude": + self._write_claude_code_project_scope(spec) + return McpInstallResult( + qualified_name=qualified_name, + source_harness=source_harness, + installer="fake", + stdout="", + stderr="", + ) + adapter = self.harness.container.mcp_read_models.find_adapter(source_harness) + if adapter is None: + raise AssertionError(f"missing test adapter for {source_harness}") + adapter.enable_server(spec) + return McpInstallResult( + qualified_name=qualified_name, + source_harness=source_harness, + installer="fake", + stdout="", + stderr="", + ) + + def _write_claude_code_project_scope(self, spec: McpServerSpec) -> None: + path = self.harness.spec.home / ".claude.json" + path.parent.mkdir(parents=True, exist_ok=True) + payload = json.loads(path.read_text(encoding="utf-8")) if path.exists() else {} + projects = payload.setdefault("projects", {}) + if not isinstance(projects, dict): + projects = {} + payload["projects"] = projects + project_key = str(self.harness.spec.home.resolve()) + project = projects.setdefault(project_key, {}) + if not isinstance(project, dict): + project = {} + projects[project_key] = project + servers = project.setdefault("mcpServers", {}) + if not isinstance(servers, dict): + servers = {} + project["mcpServers"] = servers + servers[spec.name] = get_mapper("claude-code").spec_to_dict(spec) + path.write_text(json.dumps(payload), encoding="utf-8") + + +def _source_spec_from_marketplace_payload( + payload: dict[str, object], + *, + qualified_name: str, + source_name: str | None = None, +) -> McpServerSpec: + name = source_name or canonical_server_name(qualified_name) + connections = payload.get("connections") + first = connections[0] if isinstance(connections, list) and connections else {} + first = first if isinstance(first, dict) else {} + kind = str(first.get("kind") or first.get("type") or "http").lower() + display_name = str(payload.get("displayName") or name) + if kind == "stdio": + stdio = parse_static_stdio_function(first.get("stdioFunction")) + if stdio is None: + raise AssertionError("test stdio fixture must include a static stdioFunction") + return McpServerSpec( + name=name, + display_name=display_name, + source=McpSource.marketplace(qualified_name), + transport="stdio", + command=stdio.command, + args=stdio.args, + ) + transport = "sse" if kind == "sse" else "http" + url = str(first.get("deploymentUrl") or payload.get("deploymentUrl") or "https://mcp.example") + return McpServerSpec( + name=name, + display_name=display_name, + source=McpSource.marketplace(qualified_name), + transport=transport, # type: ignore[arg-type] + url=url, + ) + + +def _install(harness: AppTestHarness, name: str = "exa") -> None: + harness.post_json("/api/mcp/servers", {"qualifiedName": name, "sourceHarness": "cursor"}) + + +def _seed_manual_remote(harness: AppTestHarness, name: str = "remote") -> None: + harness.container.mcp_store.upsert_from_spec( + McpServerSpec( + name=name, + display_name="Remote", + source=McpSource.manual(name), + transport="http", + url="https://mcp.example.com", + ) + ) + harness.container.mcp_read_models.invalidate() + + +class McpRoutesTests(unittest.TestCase): + def test_list_servers_starts_empty(self) -> None: + with AppTestHarness() as harness: + payload = harness.get_json("/api/mcp/servers") + assert isinstance(payload, dict) + self.assertEqual(payload.get("entries"), []) + # Columns reflect enabled harnesses (codex, claude, cursor, opencode, openclaw) + cols = [col["harness"] for col in payload["columns"]] + self.assertIn("codex", cols) + self.assertIn("claude", cols) + + def test_marketplace_install_targets_are_backend_owned(self) -> None: + with AppTestHarness() as harness: + _Container(harness, "exa") + payload = harness.get_json("/api/marketplace/mcp/install-targets") + assert isinstance(payload, dict) + targets = {target["harness"]: target for target in payload["targets"]} + + self.assertEqual(targets["codex"]["smitheryClient"], "codex") + self.assertEqual(targets["claude"]["smitheryClient"], "claude-code") + self.assertEqual(targets["cursor"]["smitheryClient"], "cursor") + self.assertEqual(targets["opencode"]["smitheryClient"], "opencode") + self.assertTrue(targets["claude"]["supported"]) + self.assertFalse(targets["openclaw"]["supported"]) + self.assertEqual( + targets["openclaw"]["reason"], + "Smithery does not provide an OpenClaw MCP installer target", + ) + + def test_install_delegates_to_source_harness_then_imports_raw_spec(self) -> None: + with AppTestHarness() as harness: + _Container(harness, "exa") + response = harness.post_json( + "/api/mcp/servers", {"qualifiedName": "exa", "sourceHarness": "cursor"} + ) + self.assertTrue(response["ok"]) + self.assertEqual(response["server"]["name"], "exa") + self.assertEqual(response["server"]["transport"], "http") + self.assertEqual(response["server"]["url"], "https://mcp.exa.ai") + + # Central manifest contains it. + servers = harness.get_json("/api/mcp/servers") + assert isinstance(servers, dict) + names = [entry["name"] for entry in servers["entries"]] + self.assertIn("exa", names) + + # The source harness was written by the native installer; others are untouched. + cursor_cfg = json.loads((harness.spec.home / ".cursor" / "mcp.json").read_text()) + self.assertEqual(cursor_cfg["mcpServers"]["exa"]["url"], "https://mcp.exa.ai") + self.assertFalse((harness.spec.home / ".claude.json").exists()) + self.assertFalse((harness.spec.home / ".codex" / "config.toml").exists()) + + def test_install_can_import_claude_code_project_scoped_config(self) -> None: + with AppTestHarness() as harness: + _Container(harness, "exa") + response = harness.post_json( + "/api/mcp/servers", {"qualifiedName": "exa", "sourceHarness": "claude"} + ) + self.assertTrue(response["ok"]) + self.assertEqual(response["server"]["name"], "exa") + self.assertEqual(response["server"]["url"], "https://mcp.exa.ai") + + claude_cfg = json.loads((harness.spec.home / ".claude.json").read_text()) + self.assertNotIn("mcpServers", claude_cfg) + project = claude_cfg["projects"][str(harness.spec.home.resolve())] + self.assertEqual( + project["mcpServers"]["exa"]["url"], + "https://mcp.exa.ai", + ) + self.assertEqual(project["mcpServers"]["exa"]["type"], "http") + + servers = harness.get_json("/api/mcp/servers") + assert isinstance(servers, dict) + entry = next(item for item in servers["entries"] if item["name"] == "exa") + states = {sighting["harness"]: sighting["state"] for sighting in entry["sightings"]} + self.assertEqual(states["claude"], "managed") + + def test_enable_writes_to_target_harness_only(self) -> None: + with AppTestHarness() as harness: + _Container(harness, "exa") + _install(harness) + harness.post_json("/api/mcp/servers/exa/enable", {"harness": "claude"}) + + claude_cfg = harness.spec.home / ".claude.json" + self.assertTrue(claude_cfg.is_file()) + payload = json.loads(claude_cfg.read_text(encoding="utf-8")) + self.assertIn("exa", payload["mcpServers"]) + self.assertEqual(payload["mcpServers"]["exa"]["url"], "https://mcp.exa.ai") + + # Other harnesses untouched + self.assertFalse((harness.spec.home / ".codex" / "config.toml").exists()) + + def test_disable_removes_from_harness_but_keeps_central(self) -> None: + with AppTestHarness() as harness: + _Container(harness, "exa") + _install(harness) + harness.post_json("/api/mcp/servers/exa/enable", {"harness": "cursor"}) + harness.post_json("/api/mcp/servers/exa/disable", {"harness": "cursor"}) + + cursor_cfg = harness.spec.home / ".cursor" / "mcp.json" + self.assertTrue(cursor_cfg.is_file()) + payload = json.loads(cursor_cfg.read_text(encoding="utf-8")) + self.assertNotIn("exa", payload.get("mcpServers", {})) + + # Central retained + servers = harness.get_json("/api/mcp/servers") + assert isinstance(servers, dict) + self.assertIn("exa", [e["name"] for e in servers["entries"]]) + + def test_set_harnesses_fan_out(self) -> None: + with AppTestHarness() as harness: + _Container(harness, "exa") + _install(harness) + response = harness.post_json( + "/api/mcp/servers/exa/set-harnesses", {"target": "enabled"} + ) + self.assertTrue(response["ok"]) + # All five harnesses should have written + self.assertEqual(set(response["succeeded"]), {"codex", "claude", "opencode", "openclaw"}) + + # Verify each config file + self.assertTrue((harness.spec.home / ".cursor" / "mcp.json").is_file()) + self.assertTrue((harness.spec.home / ".claude.json").is_file()) + self.assertTrue((harness.spec.home / ".codex" / "config.toml").is_file()) + self.assertTrue((harness.spec.home / ".opencode" / "opencode.jsonc").is_file()) + self.assertTrue((harness.spec.home / ".openclaw" / "openclaw.json").is_file()) + + def test_uninstall_cleans_all_harnesses_and_central(self) -> None: + with AppTestHarness() as harness: + _Container(harness, "exa") + _install(harness) + harness.post_json("/api/mcp/servers/exa/set-harnesses", {"target": "enabled"}) + + # urlopen with custom method — use AppTestHarness internals + from urllib.request import Request, urlopen + req = Request(f"{harness.base_url}/api/mcp/servers/exa", method="DELETE") + with urlopen(req) as resp: + payload = json.loads(resp.read().decode("utf-8")) + self.assertTrue(payload["ok"]) + + # Central gone + servers = harness.get_json("/api/mcp/servers") + assert isinstance(servers, dict) + self.assertEqual(servers["entries"], []) + + # All harness files cleaned of the entry + cursor_cfg = json.loads((harness.spec.home / ".cursor" / "mcp.json").read_text()) + self.assertNotIn("exa", cursor_cfg.get("mcpServers", {})) + + def test_install_unknown_qualified_name_returns_404(self) -> None: + with AppTestHarness() as harness: + _Container(harness, "exa") + harness.post_json( + "/api/mcp/servers", + {"qualifiedName": "nonexistent", "sourceHarness": "cursor"}, + expected_status=404, + ) + + def test_marketplace_schema_metadata_does_not_change_observed_install(self) -> None: + schema = { + "type": "object", + "required": ["browserbaseApiKey"], + "properties": { + "browserbaseApiKey": { + "type": "string", + "description": "Browserbase API key", + "x-from": {"query": "browserbaseApiKey"}, + } + }, + } + with AppTestHarness() as harness: + _Container(harness, "browserbase", schema) + install = harness.post_json( + "/api/mcp/servers", + {"qualifiedName": "browserbase", "sourceHarness": "cursor"}, + ) + + self.assertTrue(install["ok"]) + self.assertEqual(install["server"]["name"], "browserbase") + self.assertEqual(install["server"]["url"], "https://mcp.exa.ai") + cursor_cfg = json.loads((harness.spec.home / ".cursor" / "mcp.json").read_text()) + self.assertEqual( + cursor_cfg["mcpServers"]["browserbase"]["url"], + "https://mcp.exa.ai", + ) + + def test_install_stores_the_observed_source_harness_key(self) -> None: + with AppTestHarness() as harness: + _Container(harness, "@vendor/pkg", source_name="vendor-package") + + install = harness.post_json( + "/api/mcp/servers", + {"qualifiedName": "@vendor/pkg", "sourceHarness": "cursor"}, + ) + + self.assertEqual(install["server"]["name"], "vendor-package") + servers = harness.get_json("/api/mcp/servers") + assert isinstance(servers, dict) + self.assertIn("vendor-package", [entry["name"] for entry in servers["entries"]]) + cursor_cfg = json.loads((harness.spec.home / ".cursor" / "mcp.json").read_text()) + self.assertIn("vendor-package", cursor_cfg["mcpServers"]) + + def test_static_stdio_marketplace_install_can_enable(self) -> None: + with AppTestHarness() as harness: + _Container( + harness, + "desktop", + is_remote=False, + deployment_url=None, + connections=[ + { + "kind": "stdio", + "stdioFunction": "(config) => ({ command: 'npx', args: ['-y', '@acme/desktop'] })", + "configSchema": {"type": "object", "properties": {}}, + } + ], + ) + install = harness.post_json( + "/api/mcp/servers", + {"qualifiedName": "desktop", "sourceHarness": "cursor"}, + ) + self.assertEqual(install["server"]["transport"], "stdio") + + cursor_cfg = json.loads((harness.spec.home / ".cursor" / "mcp.json").read_text()) + payload = cursor_cfg["mcpServers"]["desktop"] + self.assertEqual(payload["command"], "npx") + self.assertEqual(payload["args"], ["-y", "@acme/desktop"]) + + def test_get_unknown_server_returns_404(self) -> None: + with AppTestHarness() as harness: + harness.get_json("/api/mcp/servers/missing", expected_status=404) + + # Identity-first unmanaged MCP flows and update compatibility ----------- + + def test_unmanaged_by_server_dedupes_identical_entries_across_harnesses(self) -> None: + with AppTestHarness() as harness: + # Seed identical `context7` entries in cursor AND claude. + cursor_cfg = harness.spec.home / ".cursor" / "mcp.json" + cursor_cfg.parent.mkdir(parents=True, exist_ok=True) + cursor_cfg.write_text( + json.dumps( + {"mcpServers": {"context7": {"command": "uvx", "args": ["context7-mcp"]}}} + ) + ) + claude_cfg = harness.spec.home / ".claude.json" + claude_cfg.write_text( + json.dumps( + {"mcpServers": {"context7": {"command": "uvx", "args": ["context7-mcp"]}}} + ) + ) + + response = harness.get_json("/api/mcp/unmanaged/by-server") + assert isinstance(response, dict) + servers = response["servers"] + self.assertEqual(len(servers), 1) + self.assertEqual(servers[0]["name"], "context7") + self.assertTrue(servers[0]["identical"]) + harnesses_seen = {s["harness"] for s in servers[0]["sightings"]} + self.assertEqual(harnesses_seen, {"cursor", "claude"}) + + def test_unmanaged_by_server_marks_differing_payloads(self) -> None: + with AppTestHarness() as harness: + cursor_cfg = harness.spec.home / ".cursor" / "mcp.json" + cursor_cfg.parent.mkdir(parents=True, exist_ok=True) + cursor_cfg.write_text( + json.dumps({"mcpServers": {"foo": {"url": "https://cursor.example"}}}) + ) + claude_cfg = harness.spec.home / ".claude.json" + claude_cfg.write_text( + json.dumps({"mcpServers": {"foo": {"url": "https://claude.example"}}}) + ) + response = harness.get_json("/api/mcp/unmanaged/by-server") + assert isinstance(response, dict) + self.assertFalse(response["servers"][0]["identical"]) + self.assertIsNone(response["servers"][0]["canonicalSpec"]) + + def test_unmanaged_by_server_returns_raw_preview_fields(self) -> None: + with AppTestHarness() as harness: + cursor_cfg = harness.spec.home / ".cursor" / "mcp.json" + cursor_cfg.parent.mkdir(parents=True, exist_ok=True) + cursor_cfg.write_text( + json.dumps( + { + "mcpServers": { + "secreted": { + "url": "https://api.example/mcp?api_key=live_secret_value", + "headers": {"Authorization": "Bearer live_secret_value"}, + }, + "secretenv": { + "command": "npx", + "args": ["-y", "secretenv"], + "env": {"EXA_API_KEY": "live_secret_value"}, + } + } + } + ) + ) + + response = harness.get_json("/api/mcp/unmanaged/by-server") + assert isinstance(response, dict) + encoded = json.dumps(response) + self.assertIn("live_secret_value", encoded) + servers = {server["name"]: server for server in response["servers"]} + remote = servers["secreted"] + self.assertIn("api_key=live_secret_value", remote["canonicalSpec"]["url"]) + self.assertEqual( + remote["sightings"][0]["spec"]["headers"]["Authorization"], + "Bearer live_secret_value", + ) + stdio = servers["secretenv"] + self.assertEqual(stdio["canonicalSpec"]["env"]["EXA_API_KEY"], "live_secret_value") + self.assertEqual(stdio["sightings"][0]["env"][0]["value"], "live_secret_value") + + def test_adopt_identical_promotes_all_harnesses_in_one_call(self) -> None: + with AppTestHarness() as harness: + payload = {"command": "uvx", "args": ["context7-mcp"]} + cursor_cfg = harness.spec.home / ".cursor" / "mcp.json" + cursor_cfg.parent.mkdir(parents=True, exist_ok=True) + cursor_cfg.write_text(json.dumps({"mcpServers": {"context7": payload}})) + claude_cfg = harness.spec.home / ".claude.json" + claude_cfg.write_text(json.dumps({"mcpServers": {"context7": payload}})) + + result = harness.post_json("/api/mcp/unmanaged/adopt", {"name": "context7"}) + assert isinstance(result, dict) + self.assertTrue(result["ok"]) + self.assertEqual(set(result["succeeded"]), {"cursor", "claude"}) + + # Central store has the server. + servers = harness.get_json("/api/mcp/servers") + assert isinstance(servers, dict) + self.assertIn("context7", [e["name"] for e in servers["entries"]]) + + def test_adopt_differing_without_source_harness_returns_409(self) -> None: + with AppTestHarness() as harness: + cursor_cfg = harness.spec.home / ".cursor" / "mcp.json" + cursor_cfg.parent.mkdir(parents=True, exist_ok=True) + cursor_cfg.write_text( + json.dumps({"mcpServers": {"foo": {"url": "https://a.example"}}}) + ) + claude_cfg = harness.spec.home / ".claude.json" + claude_cfg.write_text( + json.dumps({"mcpServers": {"foo": {"url": "https://b.example"}}}) + ) + harness.post_json( + "/api/mcp/unmanaged/adopt", + {"name": "foo"}, + expected_status=409, + ) + + def test_adopt_differing_uses_selected_source_harness(self) -> None: + with AppTestHarness() as harness: + cursor_cfg = harness.spec.home / ".cursor" / "mcp.json" + cursor_cfg.parent.mkdir(parents=True, exist_ok=True) + cursor_cfg.write_text( + json.dumps({"mcpServers": {"foo": {"url": "https://cursor.example"}}}) + ) + claude_cfg = harness.spec.home / ".claude.json" + claude_cfg.write_text( + json.dumps({"mcpServers": {"foo": {"url": "https://claude.example"}}}) + ) + + result = harness.post_json( + "/api/mcp/unmanaged/adopt", + {"name": "foo", "sourceHarness": "claude"}, + ) + assert isinstance(result, dict) + self.assertTrue(result["ok"]) + self.assertEqual(result["server"]["url"], "https://claude.example") + + def test_adopt_silently_enriches_when_marketplace_match_exists(self) -> None: + from skill_manager.application.mcp.enrichment import MarketplaceLink + + with AppTestHarness() as harness: + payload = {"command": "uvx", "args": ["context7-mcp"]} + cursor_cfg = harness.spec.home / ".cursor" / "mcp.json" + cursor_cfg.parent.mkdir(parents=True, exist_ok=True) + cursor_cfg.write_text(json.dumps({"mcpServers": {"context7": payload}})) + + # Seed enrichment cache with a marketplace link for "context7". + enrichment = harness.container.mcp_mutations.enrichment + assert enrichment is not None + enrichment._cache["context7"] = MarketplaceLink( # noqa: SLF001 + qualified_name="@upstash/context7", + display_name="Context7", + icon_url="https://icon.example/ctx7.png", + external_url="https://smithery.ai/server/@upstash/context7", + description="Docs MCP", + is_remote=False, + is_verified=True, + ) + enrichment._popular_warmed = True # noqa: SLF001 — skip network warm + + result = harness.post_json("/api/mcp/unmanaged/adopt", {"name": "context7"}) + assert isinstance(result, dict) + self.assertTrue(result["ok"]) + # Silent enrichment: displayName and source upgraded automatically. + self.assertEqual(result["server"]["displayName"], "Context7") + self.assertEqual(result["server"]["source"]["kind"], "marketplace") + self.assertEqual(result["server"]["source"]["locator"], "@upstash/context7") + + def test_disable_drifted_harness_removes_entry(self) -> None: + with AppTestHarness() as harness: + _seed_manual_remote(harness) + harness.post_json("/api/mcp/servers/remote/enable", {"harness": "cursor"}) + + cursor_cfg = harness.spec.home / ".cursor" / "mcp.json" + cursor_cfg.write_text( + json.dumps({"mcpServers": {"remote": {"url": "https://hand-edited.example"}}}) + ) + result = harness.post_json("/api/mcp/servers/remote/disable", {"harness": "cursor"}) + assert isinstance(result, dict) + self.assertTrue(result["ok"]) + + cursor_payload = json.loads(cursor_cfg.read_text()) + self.assertNotIn("remote", cursor_payload.get("mcpServers", {})) + + def test_set_harnesses_disabled_removes_managed_and_different_configs(self) -> None: + with AppTestHarness() as harness: + _seed_manual_remote(harness) + harness.post_json("/api/mcp/servers/remote/enable", {"harness": "cursor"}) + harness.post_json("/api/mcp/servers/remote/enable", {"harness": "claude"}) + + cursor_cfg = harness.spec.home / ".cursor" / "mcp.json" + cursor_cfg.write_text( + json.dumps({"mcpServers": {"remote": {"url": "https://hand-edited.example"}}}) + ) + + result = harness.post_json( + "/api/mcp/servers/remote/set-harnesses", + {"target": "disabled"}, + ) + assert isinstance(result, dict) + self.assertTrue(result["ok"]) + self.assertEqual(set(result["succeeded"]), {"cursor", "claude"}) + cursor_payload = json.loads(cursor_cfg.read_text()) + claude_payload = json.loads((harness.spec.home / ".claude.json").read_text()) + self.assertNotIn("remote", cursor_payload.get("mcpServers", {})) + self.assertNotIn("remote", claude_payload.get("mcpServers", {})) + + def test_uninstall_removes_managed_and_different_configs_before_manifest(self) -> None: + with AppTestHarness() as harness: + _seed_manual_remote(harness) + harness.post_json("/api/mcp/servers/remote/enable", {"harness": "cursor"}) + harness.post_json("/api/mcp/servers/remote/enable", {"harness": "claude"}) + + cursor_cfg = harness.spec.home / ".cursor" / "mcp.json" + cursor_cfg.write_text( + json.dumps({"mcpServers": {"remote": {"url": "https://hand-edited.example"}}}) + ) + + result = harness.delete_json("/api/mcp/servers/remote") + assert isinstance(result, dict) + self.assertTrue(result["ok"]) + self.assertEqual(set(result["succeeded"]), {"cursor", "claude"}) + + servers = harness.get_json("/api/mcp/servers") + assert isinstance(servers, dict) + self.assertEqual(servers["entries"], []) + cursor_payload = json.loads(cursor_cfg.read_text()) + claude_payload = json.loads((harness.spec.home / ".claude.json").read_text()) + self.assertNotIn("remote", cursor_payload.get("mcpServers", {})) + self.assertNotIn("remote", claude_payload.get("mcpServers", {})) + + def test_uninstall_keeps_manifest_when_harness_removal_fails(self) -> None: + with AppTestHarness() as harness: + _seed_manual_remote(harness) + harness.post_json("/api/mcp/servers/remote/enable", {"harness": "cursor"}) + adapter = harness.container.mcp_read_models.find_adapter("cursor") + assert adapter is not None + + def fail_disable(_name: str) -> None: + raise RuntimeError("write failed") + + adapter.disable_server = fail_disable # type: ignore[method-assign] + + result = harness.delete_json("/api/mcp/servers/remote") + assert isinstance(result, dict) + self.assertFalse(result["ok"]) + self.assertEqual(result["failed"][0]["harness"], "cursor") + + servers = harness.get_json("/api/mcp/servers") + assert isinstance(servers, dict) + self.assertIn("remote", [entry["name"] for entry in servers["entries"]]) + + def test_reconcile_managed_overwrites_different_entry_with_managed_config(self) -> None: + with AppTestHarness() as harness: + _seed_manual_remote(harness) + harness.post_json("/api/mcp/servers/remote/enable", {"harness": "cursor"}) + + cursor_cfg = harness.spec.home / ".cursor" / "mcp.json" + cursor_cfg.write_text( + json.dumps({"mcpServers": {"remote": {"url": "https://hand-edited.example"}}}) + ) + result = harness.post_json( + "/api/mcp/servers/remote/reconcile", + {"sourceKind": "managed", "harnesses": ["cursor"]}, + ) + assert isinstance(result, dict) + self.assertTrue(result["ok"]) + + cursor_cfg = json.loads((harness.spec.home / ".cursor" / "mcp.json").read_text()) + self.assertEqual(cursor_cfg["mcpServers"]["remote"]["url"], "https://mcp.example.com") + + def test_reconcile_harness_config_replaces_managed_config_and_applies_to_current_bindings(self) -> None: + with AppTestHarness() as harness: + _seed_manual_remote(harness) + harness.post_json("/api/mcp/servers/remote/enable", {"harness": "cursor"}) + harness.post_json("/api/mcp/servers/remote/enable", {"harness": "claude"}) + + cursor_cfg = harness.spec.home / ".cursor" / "mcp.json" + cursor_cfg.write_text( + json.dumps({"mcpServers": {"remote": {"url": "https://hand-edited.example"}}}) + ) + result = harness.post_json( + "/api/mcp/servers/remote/reconcile", + {"sourceKind": "harness", "sourceHarness": "cursor"}, + ) + assert isinstance(result, dict) + self.assertTrue(result["ok"]) + self.assertEqual(result["server"]["url"], "https://hand-edited.example") + self.assertEqual(set(result["succeeded"]), {"cursor", "claude"}) + + detail = harness.get_json("/api/mcp/servers/remote") + assert isinstance(detail, dict) + self.assertEqual(detail["spec"]["url"], "https://hand-edited.example") + claude_cfg = json.loads((harness.spec.home / ".claude.json").read_text()) + self.assertEqual(claude_cfg["mcpServers"]["remote"]["url"], "https://hand-edited.example") + + def test_get_server_includes_env_annotations(self) -> None: + with AppTestHarness() as harness: + harness.container.mcp_store.upsert_from_spec( + McpServerSpec( + name="exa", + display_name="Exa", + source=McpSource.manual("exa"), + transport="stdio", + command="npx", + env=(("EXA_API_KEY", "long-secret-value-xxxx"),), + ) + ) + harness.container.mcp_read_models.invalidate() + detail = harness.get_json("/api/mcp/servers/exa") + assert isinstance(detail, dict) + env_rows = {row["key"]: row for row in detail["env"]} + self.assertEqual(env_rows["EXA_API_KEY"]["value"], "long-secret-value-xxxx") + self.assertFalse(env_rows["EXA_API_KEY"]["isEnvRef"]) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/integration/test_marketplace_api.py b/tests/integration/test_skills_marketplace_api.py similarity index 95% rename from tests/integration/test_marketplace_api.py rename to tests/integration/test_skills_marketplace_api.py index bf70332..52253d2 100644 --- a/tests/integration/test_marketplace_api.py +++ b/tests/integration/test_skills_marketplace_api.py @@ -4,11 +4,11 @@ from tempfile import TemporaryDirectory import unittest -from skill_manager.application.marketplace import MarketplaceCatalog -from skill_manager.application.marketplace.client import SkillsShClient -from skill_manager.application.marketplace.models import RepoDisplayMetadata -from skill_manager.application.marketplace.skillssh import fetch_all_time_leaderboard, fetch_detail_page, search_skills -from skill_manager.application.source_fetch_service import SourceFetchService +from skill_manager.application.skills.marketplace import MarketplaceCatalog +from skill_manager.application.skills.marketplace.client import SkillsShClient +from skill_manager.application.skills.marketplace.models import RepoDisplayMetadata +from skill_manager.application.skills.marketplace.skillssh import fetch_all_time_leaderboard, fetch_detail_page, search_skills +from skill_manager.application.skills.source_fetch import SourceFetchService from skill_manager.errors import MARKETPLACE_UNAVAILABLE_MESSAGE, MutationError from skill_manager.sources import ResolvedGitHubSkill, github_owner_avatar_url from tests.support.app_harness import AppTestHarness @@ -76,7 +76,7 @@ def _fixture_catalog(env: dict[str, str], *, broken_repos: set[str] | None = Non ) -class MarketplaceApiTests(unittest.TestCase): +class SkillsMarketplaceApiTests(unittest.TestCase): def test_marketplace_popular_uses_https_fixture_when_trusted(self) -> None: with MarketplaceFixtureServer() as fixture: with AppTestHarness(marketplace=_fixture_catalog(fixture.env())) as harness: diff --git a/tests/integration/test_mutations.py b/tests/integration/test_skills_mutations.py similarity index 59% rename from tests/integration/test_mutations.py rename to tests/integration/test_skills_mutations.py index 8d42041..89bc59b 100644 --- a/tests/integration/test_mutations.py +++ b/tests/integration/test_skills_mutations.py @@ -3,16 +3,16 @@ from tempfile import TemporaryDirectory import unittest -from skill_manager.domain import fingerprint_package -from skill_manager.store import ManifestEntry +from skill_manager.application.skills.manifest import SkillStoreEntry +from skill_manager.application.skills.package import fingerprint_package from tests.support.app_harness import AppTestHarness -from tests.support.fake_home import seed_mixed_fixture, seed_shared_only_fixture, seed_skill_package, seed_store_manifest +from tests.support.fake_home import seed_shared_only_fixture, seed_skill_package, seed_store_manifest -def seed_custom_fixture(spec): +def seed_local_changes_fixture(spec): package_root = seed_skill_package( - spec.shared_store_root, + spec.skills_store_root, "audit-skill", "Audit Skill", body="customized version", @@ -23,7 +23,7 @@ def seed_custom_fixture(spec): seed_store_manifest( spec, [ - ManifestEntry( + SkillStoreEntry( package_dir="audit-skill", declared_name="Audit Skill", source_kind="github", @@ -36,7 +36,7 @@ def seed_custom_fixture(spec): def seed_delete_fixture(spec): seed_shared_only_fixture(spec) - target = spec.shared_store_root / "shared-audit" + target = spec.skills_store_root / "shared-audit" for path in ( spec.codex_root / "shared-audit", spec.claude_root / "shared-audit", @@ -48,14 +48,14 @@ def seed_delete_fixture(spec): def seed_delete_preflight_failure_fixture(spec): seed_shared_only_fixture(spec) - target = spec.shared_store_root / "shared-audit" + target = spec.skills_store_root / "shared-audit" (spec.codex_root / "shared-audit").symlink_to(target) seed_skill_package(spec.claude_root, "shared-audit", "Shared Audit", body="local conflict") def seed_unmanage_fixture(spec): seed_shared_only_fixture(spec) - target = spec.shared_store_root / "shared-audit" + target = spec.skills_store_root / "shared-audit" for path in ( spec.codex_root / "shared-audit", spec.claude_root / "shared-audit", @@ -63,7 +63,7 @@ def seed_unmanage_fixture(spec): path.symlink_to(target) -class MutationTests(unittest.TestCase): +class SkillsMutationTests(unittest.TestCase): def test_enable_managed_skill_creates_symlink(self) -> None: with AppTestHarness(fixture_factory=seed_shared_only_fixture) as harness: skills = harness.get_json("/api/skills") @@ -85,6 +85,114 @@ def test_disable_managed_skill_removes_symlink(self) -> None: self.assertTrue(result["ok"]) self.assertFalse((harness.spec.codex_root / "shared-audit").exists()) + def test_set_skill_harnesses_enables_every_live_harness(self) -> None: + with AppTestHarness(fixture_factory=seed_shared_only_fixture) as harness: + skills = harness.get_json("/api/skills") + shared_entry = next(row for row in skills["rows"] if row["name"] == "Shared Audit") + + result = harness.post_json( + f"/api/skills/{shared_entry['skillRef']}/set-harnesses", + {"target": "enabled"}, + ) + + self.assertTrue(result["ok"]) + self.assertEqual(result["failed"], []) + self.assertGreater(len(result["succeeded"]), 0) + # Every reported harness flip ran through the sequential server-side + # fanout, so each one must now be symlinked without the old parallel race. + for harness_name in result["succeeded"]: + link_root = getattr(harness.spec, f"{harness_name}_root", None) + if link_root is None: + continue + self.assertTrue((link_root / "shared-audit").is_symlink(), harness_name) + + def test_set_skill_harnesses_disables_every_live_harness(self) -> None: + with AppTestHarness(fixture_factory=seed_delete_fixture) as harness: + skills = harness.get_json("/api/skills") + shared_entry = next(row for row in skills["rows"] if row["name"] == "Shared Audit") + + result = harness.post_json( + f"/api/skills/{shared_entry['skillRef']}/set-harnesses", + {"target": "disabled"}, + ) + + self.assertTrue(result["ok"]) + self.assertEqual(result["failed"], []) + self.assertGreater(len(result["succeeded"]), 0) + self.assertFalse((harness.spec.codex_root / "shared-audit").exists()) + self.assertFalse((harness.spec.claude_root / "shared-audit").exists()) + self.assertFalse((harness.spec.opencode_root / "shared-audit").exists()) + + def test_set_skill_harnesses_is_noop_when_already_at_target(self) -> None: + with AppTestHarness(fixture_factory=seed_shared_only_fixture) as harness: + skills = harness.get_json("/api/skills") + shared_entry = next(row for row in skills["rows"] if row["name"] == "Shared Audit") + + # Fresh shared-only fixture has zero symlinks, so target=disabled is a no-op. + result = harness.post_json( + f"/api/skills/{shared_entry['skillRef']}/set-harnesses", + {"target": "disabled"}, + ) + + self.assertTrue(result["ok"]) + self.assertEqual(result["succeeded"], []) + self.assertEqual(result["failed"], []) + + def test_set_skill_harnesses_rejects_invalid_target(self) -> None: + with AppTestHarness(fixture_factory=seed_shared_only_fixture) as harness: + skills = harness.get_json("/api/skills") + shared_entry = next(row for row in skills["rows"] if row["name"] == "Shared Audit") + + harness.post_json( + f"/api/skills/{shared_entry['skillRef']}/set-harnesses", + {"target": "sideways"}, + expected_status=422, + ) + + def test_set_skill_harnesses_only_targets_installed_harnesses(self) -> None: + """Bulk set-all must not write symlinks into folders no runtime reads. + + With only codex + claude CLIs available on PATH, enabling-all should + produce symlinks in those two managed roots only, regardless of how + many harnesses are supported in the catalog. + """ + with AppTestHarness(fixture_factory=seed_shared_only_fixture) as harness: + # Simulate a machine that only has codex + claude installed by + # removing the other CLI stubs from the fake PATH. + for cli in ("cursor-agent", "opencode", "openclaw"): + stub = harness.spec.bin_dir / cli + if stub.exists(): + stub.unlink() + harness.container.skills_read_models.invalidate() + + skills = harness.get_json("/api/skills") + shared_entry = next(row for row in skills["rows"] if row["name"] == "Shared Audit") + + # Inventory columns still include every supported harness, but + # each column carries the honest `installed` flag. + installed_by_harness = {col["harness"]: col["installed"] for col in skills["harnessColumns"]} + self.assertTrue(installed_by_harness["codex"]) + self.assertTrue(installed_by_harness["claude"]) + self.assertFalse(installed_by_harness["cursor"]) + self.assertFalse(installed_by_harness["opencode"]) + self.assertFalse(installed_by_harness["openclaw"]) + + result = harness.post_json( + f"/api/skills/{shared_entry['skillRef']}/set-harnesses", + {"target": "enabled"}, + ) + + self.assertTrue(result["ok"]) + self.assertEqual(result["failed"], []) + # Only installed harnesses should flip. + self.assertEqual(set(result["succeeded"]), {"codex", "claude"}) + self.assertTrue((harness.spec.codex_root / "shared-audit").is_symlink()) + self.assertTrue((harness.spec.claude_root / "shared-audit").is_symlink()) + # Uninstalled harness folders remain untouched. + self.assertFalse((harness.spec.cursor_root / "shared-audit").exists()) + self.assertFalse((harness.spec.opencode_root / "shared-audit").exists()) + self.assertFalse((harness.spec.openclaw_managed_root / "shared-audit").exists()) + def test_manage_skill_replaces_found_local_copy_with_managed_links(self) -> None: with AppTestHarness(mixed=True) as harness: skills = harness.get_json("/api/skills") @@ -130,13 +238,18 @@ def test_manage_unknown_skill_returns_404(self) -> None: result = harness.post_json("/api/skills/missing-ref/manage", expected_status=404) self.assertIn("unknown skill ref", result["error"]) - def test_update_refuses_custom_skill(self) -> None: - with AppTestHarness(fixture_factory=seed_custom_fixture) as harness: + def test_update_refuses_locally_modified_managed_skill(self) -> None: + with AppTestHarness(fixture_factory=seed_local_changes_fixture) as harness: skills = harness.get_json("/api/skills") audit = next(row for row in skills["rows"] if row["name"] == "Audit Skill") + detail = harness.get_json(f"/api/skills/{audit['skillRef']}") + source_status = harness.get_json(f"/api/skills/{audit['skillRef']}/source-status") result = harness.post_json(f"/api/skills/{audit['skillRef']}/update", expected_status=400) - self.assertIn("cannot be updated", result["error"]) + self.assertEqual(detail["displayStatus"], "Managed") + self.assertEqual(detail["attentionMessage"], "Local changes detected. Source updates are disabled.") + self.assertEqual(source_status["updateStatus"], "local_changes_detected") + self.assertEqual(result["error"], "Local changes detected. Source updates are disabled.") def test_unmanage_restores_real_local_copies_for_currently_enabled_harnesses(self) -> None: with AppTestHarness(fixture_factory=seed_unmanage_fixture) as harness: @@ -146,7 +259,7 @@ def test_unmanage_restores_real_local_copies_for_currently_enabled_harnesses(sel result = harness.post_json(f"/api/skills/{shared_entry['skillRef']}/unmanage") self.assertTrue(result["ok"]) - self.assertFalse((harness.spec.shared_store_root / "shared-audit").exists()) + self.assertFalse((harness.spec.skills_store_root / "shared-audit").exists()) self.assertTrue((harness.spec.codex_root / "shared-audit").is_dir()) self.assertFalse((harness.spec.codex_root / "shared-audit").is_symlink()) self.assertTrue((harness.spec.claude_root / "shared-audit").is_dir()) @@ -166,7 +279,7 @@ def test_unmanage_rejects_skills_with_no_enabled_harnesses(self) -> None: result = harness.post_json(f"/api/skills/{shared_entry['skillRef']}/unmanage", expected_status=400) self.assertIn("turn on at least one harness", result["error"]) - self.assertTrue((harness.spec.shared_store_root / "shared-audit").is_dir()) + self.assertTrue((harness.spec.skills_store_root / "shared-audit").is_dir()) def test_unmanage_refuses_to_touch_disabled_harness_bindings(self) -> None: with AppTestHarness(fixture_factory=seed_unmanage_fixture) as harness: @@ -178,19 +291,16 @@ def test_unmanage_refuses_to_touch_disabled_harness_bindings(self) -> None: self.assertIn("disabled harnesses still have bindings", result["error"]) self.assertTrue((harness.spec.codex_root / "shared-audit").is_symlink()) - self.assertTrue((harness.spec.shared_store_root / "shared-audit").is_dir()) + self.assertTrue((harness.spec.skills_store_root / "shared-audit").is_dir()) - def test_unmanage_rejects_unmanaged_and_builtin_skills(self) -> None: + def test_unmanage_rejects_unmanaged_skills(self) -> None: with AppTestHarness(mixed=True) as harness: skills = harness.get_json("/api/skills") unmanaged = next(row for row in skills["rows"] if row["name"] == "Trace Lens") - builtin = next(row for row in skills["rows"] if row["name"] == "Review Helper") unmanaged_result = harness.post_json(f"/api/skills/{unmanaged['skillRef']}/unmanage", expected_status=400) - builtin_result = harness.post_json(f"/api/skills/{builtin['skillRef']}/unmanage", expected_status=400) - self.assertIn("only managed or custom", unmanaged_result["error"]) - self.assertIn("only managed or custom", builtin_result["error"]) + self.assertIn("only managed shared-store skills can be moved back to unmanaged", unmanaged_result["error"]) def test_delete_managed_skill_removes_shared_package_and_all_links(self) -> None: with AppTestHarness(fixture_factory=seed_delete_fixture) as harness: @@ -200,7 +310,7 @@ def test_delete_managed_skill_removes_shared_package_and_all_links(self) -> None result = harness.post_json(f"/api/skills/{shared_entry['skillRef']}/delete") self.assertTrue(result["ok"]) - self.assertFalse((harness.spec.shared_store_root / "shared-audit").exists()) + self.assertFalse((harness.spec.skills_store_root / "shared-audit").exists()) self.assertFalse((harness.spec.codex_root / "shared-audit").exists()) self.assertFalse((harness.spec.claude_root / "shared-audit").exists()) self.assertFalse((harness.spec.opencode_root / "shared-audit").exists()) @@ -209,27 +319,24 @@ def test_delete_managed_skill_removes_shared_package_and_all_links(self) -> None refreshed = harness.get_json("/api/skills") self.assertNotIn(shared_entry["skillRef"], [row["skillRef"] for row in refreshed["rows"]]) - def test_delete_custom_skill_is_allowed(self) -> None: - with AppTestHarness(fixture_factory=seed_custom_fixture) as harness: + def test_delete_locally_modified_managed_skill_is_allowed(self) -> None: + with AppTestHarness(fixture_factory=seed_local_changes_fixture) as harness: skills = harness.get_json("/api/skills") audit = next(row for row in skills["rows"] if row["name"] == "Audit Skill") result = harness.post_json(f"/api/skills/{audit['skillRef']}/delete") self.assertTrue(result["ok"]) - self.assertFalse((harness.spec.shared_store_root / "audit-skill").exists()) + self.assertFalse((harness.spec.skills_store_root / "audit-skill").exists()) - def test_delete_rejects_unmanaged_and_builtin_skills(self) -> None: + def test_delete_rejects_unmanaged_skills(self) -> None: with AppTestHarness(mixed=True) as harness: skills = harness.get_json("/api/skills") unmanaged = next(row for row in skills["rows"] if row["name"] == "Trace Lens") - builtin = next(row for row in skills["rows"] if row["name"] == "Review Helper") unmanaged_result = harness.post_json(f"/api/skills/{unmanaged['skillRef']}/delete", expected_status=400) - builtin_result = harness.post_json(f"/api/skills/{builtin['skillRef']}/delete", expected_status=400) - self.assertIn("only managed or custom", unmanaged_result["error"]) - self.assertIn("only managed or custom", builtin_result["error"]) + self.assertIn("only managed shared-store skills can be deleted", unmanaged_result["error"]) def test_delete_refuses_to_touch_disabled_harness_bindings(self) -> None: with AppTestHarness(fixture_factory=seed_delete_fixture) as harness: @@ -240,7 +347,7 @@ def test_delete_refuses_to_touch_disabled_harness_bindings(self) -> None: result = harness.post_json(f"/api/skills/{shared_entry['skillRef']}/delete", expected_status=409) self.assertIn("disabled harnesses still have bindings", result["error"]) - self.assertTrue((harness.spec.shared_store_root / "shared-audit").is_dir()) + self.assertTrue((harness.spec.skills_store_root / "shared-audit").is_dir()) self.assertTrue((harness.spec.openclaw_managed_root / "shared-audit").exists()) def test_delete_aborts_before_mutation_when_any_target_is_real_directory(self) -> None: @@ -251,7 +358,7 @@ def test_delete_aborts_before_mutation_when_any_target_is_real_directory(self) - result = harness.post_json(f"/api/skills/{shared_entry['skillRef']}/delete", expected_status=409) self.assertIn("not a symlink", result["error"]) - self.assertTrue((harness.spec.shared_store_root / "shared-audit").is_dir()) + self.assertTrue((harness.spec.skills_store_root / "shared-audit").is_dir()) self.assertTrue((harness.spec.codex_root / "shared-audit").is_symlink()) self.assertTrue((harness.spec.claude_root / "shared-audit").is_dir()) diff --git a/tests/support/app_harness.py b/tests/support/app_harness.py index 1195dc9..1f3b2d5 100644 --- a/tests/support/app_harness.py +++ b/tests/support/app_harness.py @@ -9,8 +9,10 @@ from urllib.request import Request, urlopen from skill_manager.application import build_backend_container -from skill_manager.application.marketplace import MarketplaceCatalog -from skill_manager.application.source_fetch_service import SourceFetchService +from skill_manager.application.cli_marketplace import CliMarketplaceCatalog +from skill_manager.application.mcp.installers import McpInstallProvider +from skill_manager.application.skills.marketplace import MarketplaceCatalog +from skill_manager.application.skills.source_fetch import SourceFetchService from skill_manager.runtime.server import serve_in_thread from .fake_home import FakeHomeSpec, create_fake_home_spec, seed_mixed_fixture @@ -25,8 +27,10 @@ def __init__( seed_openclaw: bool = True, fixture_factory: Callable[[FakeHomeSpec], None] | None = None, marketplace: MarketplaceCatalog | None = None, + cli_marketplace: CliMarketplaceCatalog | None = None, env_overrides: dict[str, str] | None = None, source_fetcher: SourceFetchService | None = None, + mcp_install_provider: McpInstallProvider | None = None, ) -> None: self._tempdir = TemporaryDirectory(prefix="skill-manager-tests-") self.spec = create_fake_home_spec(Path(self._tempdir.name), seed_openclaw_state=seed_openclaw) @@ -42,16 +46,20 @@ def __init__( self.container = build_backend_container( active_env, marketplace_catalog=MarketplaceCatalog.from_environment(active_env, warm_on_init=False), + cli_marketplace_catalog=cli_marketplace, source_fetcher=source_fetcher, + mcp_install_provider=mcp_install_provider, ) else: self.container = build_backend_container( active_env, marketplace_catalog=marketplace, + cli_marketplace_catalog=cli_marketplace, source_fetcher=source_fetcher, + mcp_install_provider=mcp_install_provider, ) # Ensure tests exercising a custom catalog use the same read-model root. - self.container.read_models.invalidate() + self.container.skills_read_models.invalidate() self.server = serve_in_thread(self.container, frontend_dist=frontend_dist) self.base_url = self.server.base_url @@ -78,6 +86,12 @@ def post_json(self, path: str, body: object = None, *, expected_status: int = 20 def put_json(self, path: str, body: object = None, *, expected_status: int = 200) -> object: return self._send_json("PUT", path, body, expected_status=expected_status) + def patch_json(self, path: str, body: object = None, *, expected_status: int = 200) -> object: + return self._send_json("PATCH", path, body, expected_status=expected_status) + + def delete_json(self, path: str, *, expected_status: int = 200) -> object: + return self._send_json("DELETE", path, None, expected_status=expected_status) + def _send_json(self, method: str, path: str, body: object = None, *, expected_status: int = 200) -> object: data = json.dumps(body).encode("utf-8") if body is not None else b"" request = Request( diff --git a/tests/support/fake_home.py b/tests/support/fake_home.py index 76e4c3d..0e9963e 100644 --- a/tests/support/fake_home.py +++ b/tests/support/fake_home.py @@ -1,11 +1,14 @@ from __future__ import annotations from dataclasses import dataclass -import json from pathlib import Path -from skill_manager.domain import fingerprint_package -from skill_manager.store import ManifestEntry, StoreManifest, write_manifest +from skill_manager.application.skills.manifest import ( + SkillStoreEntry, + SkillStoreManifest, + write_skill_store_manifest, +) +from skill_manager.application.skills.package import fingerprint_package @dataclass(frozen=True) @@ -16,7 +19,7 @@ class FakeHomeSpec: xdg_data_home: Path @property - def shared_store_root(self) -> Path: + def skills_store_root(self) -> Path: return self.xdg_data_home / "skill-manager" / "shared" @property @@ -39,10 +42,6 @@ def cursor_root(self) -> Path: def opencode_root(self) -> Path: return self.xdg_config_home / "opencode" / "skills" - @property - def opencode_builtins(self) -> Path: - return self.xdg_config_home / "opencode" / "builtins.json" - @property def openclaw_home(self) -> Path: return self.home / ".openclaw" @@ -72,7 +71,7 @@ def create_fake_home_spec(root: Path, *, seed_openclaw_state: bool = True) -> Fa xdg_data_home=root / "data", ) for path in ( - spec.shared_store_root, + spec.skills_store_root, spec.codex_root, spec.codex_legacy_root, spec.claude_root, @@ -128,24 +127,22 @@ def seed_skill_package( return package_root -def seed_builtin_catalog(path: Path, items: list[dict[str, str]]) -> None: - path.parent.mkdir(parents=True, exist_ok=True) - path.write_text(json.dumps({"builtins": items}, ensure_ascii=False, indent=2) + "\n", encoding="utf-8") - - -def seed_store_manifest(spec: FakeHomeSpec, entries: list[ManifestEntry]) -> None: - write_manifest(spec.shared_store_root.parent / "manifest.json", StoreManifest(entries=tuple(entries))) +def seed_store_manifest(spec: FakeHomeSpec, entries: list[SkillStoreEntry]) -> None: + write_skill_store_manifest( + spec.skills_store_root.parent / "manifest.json", + SkillStoreManifest(entries=tuple(entries)), + ) def seed_malformed_shared_directory(spec: FakeHomeSpec, directory_name: str) -> None: - broken = spec.shared_store_root / directory_name + broken = spec.skills_store_root / directory_name broken.mkdir(parents=True, exist_ok=True) (broken / "notes.txt").write_text("missing SKILL.md", encoding="utf-8") def seed_mixed_fixture(spec: FakeHomeSpec) -> None: shared_audit = seed_skill_package( - spec.shared_store_root, + spec.skills_store_root, "shared-audit", "Shared Audit", body="Shared package fixture.", @@ -154,7 +151,7 @@ def seed_mixed_fixture(spec: FakeHomeSpec) -> None: seed_store_manifest( spec, [ - ManifestEntry( + SkillStoreEntry( package_dir="shared-audit", declared_name="Shared Audit", source_kind="github", @@ -168,10 +165,6 @@ def seed_mixed_fixture(spec: FakeHomeSpec) -> None: seed_skill_package(spec.codex_legacy_root, "trace-lens", "Trace Lens", body="trace", support_files=shared_support) seed_skill_package(spec.claude_root, "trace-lens-copy", "Trace Lens", body="trace", support_files=shared_support) seed_skill_package(spec.opencode_root, "policy-kit", "Policy Kit", body="opencode policy") - seed_builtin_catalog( - spec.opencode_builtins, - [{"id": "builtin-opencode-review", "name": "Review Helper", "detail": "Bundled with OpenCode"}], - ) seed_malformed_shared_directory(spec, "broken-shared") @@ -198,7 +191,7 @@ def seed_divergent_source_fixture(spec: FakeHomeSpec) -> None: def seed_shared_only_fixture(spec: FakeHomeSpec) -> None: shared_audit = seed_skill_package( - spec.shared_store_root, + spec.skills_store_root, "shared-audit", "Shared Audit", body="Shared package fixture.", @@ -206,7 +199,7 @@ def seed_shared_only_fixture(spec: FakeHomeSpec) -> None: seed_store_manifest( spec, [ - ManifestEntry( + SkillStoreEntry( package_dir="shared-audit", declared_name="Shared Audit", source_kind="github", @@ -219,7 +212,7 @@ def seed_shared_only_fixture(spec: FakeHomeSpec) -> None: def seed_managed_linked_fixture(spec: FakeHomeSpec) -> None: seed_shared_only_fixture(spec) - target = spec.shared_store_root / "shared-audit" + target = spec.skills_store_root / "shared-audit" codex_link = spec.codex_root / "shared-audit" codex_link.symlink_to(target) diff --git a/tests/support/marketplace_fixture.py b/tests/support/marketplace_fixture.py index f4e33ab..0b6cae5 100644 --- a/tests/support/marketplace_fixture.py +++ b/tests/support/marketplace_fixture.py @@ -3,11 +3,11 @@ from pathlib import Path from tempfile import mkdtemp -from skill_manager.application.marketplace import MarketplaceCatalog -from skill_manager.application.marketplace.cache import MarketplaceCache -from skill_manager.application.marketplace.models import SkillsShSkill -from skill_manager.application.marketplace.repo_snapshots import GitHubRepoSnapshotService -from skill_manager.application.marketplace.resolver import DetailEnrichment, GitHubSkillResolver +from skill_manager.application.marketplace_cache import MarketplaceCache +from skill_manager.application.skills.marketplace import MarketplaceCatalog +from skill_manager.application.skills.marketplace.models import SkillsShSkill +from skill_manager.application.skills.marketplace.repo_snapshots import GitHubRepoSnapshotService +from skill_manager.application.skills.marketplace.resolver import DetailEnrichment, GitHubSkillResolver from skill_manager.sources import GitHubRepoMetadata, GitHubRepoMetadataClient from tests.support.marketplace_payloads import FIXTURE_FOLDER_URLS, FIXTURE_SKILLS diff --git a/tests/unit/test_adapters.py b/tests/unit/test_adapters.py deleted file mode 100644 index f7c2c9d..0000000 --- a/tests/unit/test_adapters.py +++ /dev/null @@ -1,65 +0,0 @@ -from __future__ import annotations - -from pathlib import Path -from tempfile import TemporaryDirectory -import unittest - -from skill_manager.harness import create_default_drivers - -from tests.support.fake_home import create_fake_home_spec, seed_skill_package - - -class AdapterTests(unittest.TestCase): - def test_default_adapters_report_installation_and_global_skill_discovery(self) -> None: - with TemporaryDirectory() as temp_dir: - spec = create_fake_home_spec(Path(temp_dir)) - seed_skill_package(spec.codex_legacy_root, "trace-lens", "Trace Lens") - seed_skill_package(spec.openclaw_managed_root, "watch", "Workspace Watch") - - drivers = create_default_drivers(spec.env()) - scans = {scan.harness: scan for scan in (driver.scan() for driver in drivers)} - statuses = {driver.harness: driver.status() for driver in drivers} - - self.assertTrue(scans["codex"].installed) - self.assertEqual(scans["codex"].skills[0].package.declared_name, "Trace Lens") - self.assertTrue(scans["claude"].installed) - self.assertEqual(scans["claude"].skills, ()) - self.assertTrue(scans["openclaw"].installed) - self.assertEqual([skill.package.declared_name for skill in scans["openclaw"].skills], ["Workspace Watch"]) - self.assertEqual(scans["openclaw"].builtins, ()) - self.assertEqual(statuses["openclaw"].locations[0].label, "Managed skills root") - self.assertEqual(statuses["openclaw"].locations[1].label, "Personal agent skills root") - - def test_missing_openclaw_cli_reports_not_installed_even_when_root_exists(self) -> None: - with TemporaryDirectory() as temp_dir: - spec = create_fake_home_spec(Path(temp_dir), seed_openclaw_state=False) - - drivers = create_default_drivers(spec.env()) - scans = {scan.harness: scan for scan in (driver.scan() for driver in drivers)} - statuses = {driver.harness: driver.status() for driver in drivers} - - self.assertFalse(scans["openclaw"].installed) - self.assertEqual(scans["openclaw"].skills, ()) - self.assertFalse(statuses["openclaw"].installed) - self.assertEqual( - statuses["openclaw"].locations[0].path, - spec.openclaw_managed_root, - ) - - def test_installed_harness_remains_installed_when_canonical_root_is_missing(self) -> None: - with TemporaryDirectory() as temp_dir: - spec = create_fake_home_spec(Path(temp_dir)) - spec.codex_root.rmdir() - - drivers = create_default_drivers(spec.env()) - scans = {scan.harness: scan for scan in (driver.scan() for driver in drivers)} - statuses = {driver.harness: driver.status() for driver in drivers} - - self.assertTrue(scans["codex"].installed) - self.assertTrue(statuses["codex"].installed) - self.assertFalse(statuses["codex"].locations[0].present) - self.assertEqual(statuses["codex"].locations[0].path, spec.codex_root) - - -if __name__ == "__main__": - unittest.main() diff --git a/tests/unit/test_atomic.py b/tests/unit/test_atomic.py index 7d480e3..b6b635c 100644 --- a/tests/unit/test_atomic.py +++ b/tests/unit/test_atomic.py @@ -6,7 +6,7 @@ from tempfile import TemporaryDirectory from unittest import mock -from skill_manager.store._atomic import atomic_write_text, file_lock +from skill_manager.atomic_files import atomic_write_text, file_lock class AtomicWriteTextTests(unittest.TestCase): diff --git a/tests/unit/test_application_service.py b/tests/unit/test_backend_container.py similarity index 84% rename from tests/unit/test_application_service.py rename to tests/unit/test_backend_container.py index f409ad6..0dd1d10 100644 --- a/tests/unit/test_application_service.py +++ b/tests/unit/test_backend_container.py @@ -5,9 +5,9 @@ import unittest from skill_manager.application import build_backend_container -from skill_manager.domain import fingerprint_package +from skill_manager.application.skills.manifest import SkillStoreEntry +from skill_manager.application.skills.package import fingerprint_package from skill_manager.sources import ResolvedGitHubSkill -from skill_manager.store import ManifestEntry from tests.support.fake_home import ( create_fake_home_spec, @@ -47,30 +47,41 @@ def resolve(self, locator: str, work_dir: Path) -> ResolvedGitHubSkill: ) -class BackendContainerTests(unittest.TestCase): - def test_list_skills_groups_identical_local_copies_and_preserves_builtins(self) -> None: +class BackendContainerServiceTests(unittest.TestCase): + def test_list_skills_groups_identical_local_copies_and_emits_two_public_statuses(self) -> None: with TemporaryDirectory() as temp_dir: spec = create_fake_home_spec(Path(temp_dir)) seed_mixed_fixture(spec) container = build_backend_container(spec.env()) payload = container.skills_queries.list_skills() + self.assertEqual(payload["summary"], {"managed": 1, "unmanaged": 2}) + + shared_audit = next(row for row in payload["rows"] if row["name"] == "Shared Audit") trace_lens = next(row for row in payload["rows"] if row["name"] == "Trace Lens") + policy_kit = next(row for row in payload["rows"] if row["name"] == "Policy Kit") + + self.assertEqual(shared_audit["displayStatus"], "Managed") + self.assertEqual( + shared_audit["actions"], + {"canManage": False, "canStopManaging": False, "canDelete": True}, + ) self.assertEqual(trace_lens["displayStatus"], "Unmanaged") + self.assertEqual( + trace_lens["actions"], + {"canManage": True, "canStopManaging": False, "canDelete": False}, + ) self.assertEqual( {cell["harness"] for cell in trace_lens["cells"] if cell["state"] == "found"}, {"codex", "claude", "opencode"}, ) - - builtin = next(row for row in payload["rows"] if row["name"] == "Review Helper") - self.assertEqual(builtin["displayStatus"], "Built-in") - self.assertNotIn("isBuiltin", trace_lens) + self.assertEqual(policy_kit["displayStatus"], "Unmanaged") def test_detail_and_source_status_are_split(self) -> None: with TemporaryDirectory() as temp_dir: spec = create_fake_home_spec(Path(temp_dir)) package_root = seed_skill_package( - spec.shared_store_root, + spec.skills_store_root, "audit-skill", "Audit Skill", body="current managed version", @@ -81,7 +92,7 @@ def test_detail_and_source_status_are_split(self) -> None: seed_store_manifest( spec, [ - ManifestEntry( + SkillStoreEntry( package_dir="audit-skill", declared_name="Audit Skill", source_kind="github", @@ -100,10 +111,10 @@ def test_detail_and_source_status_are_split(self) -> None: assert detail is not None assert source_status is not None - self.assertEqual(detail["displayStatus"], "Custom") - self.assertEqual(detail["attentionMessage"], "Modified locally; source updates are disabled.") + self.assertEqual(detail["displayStatus"], "Managed") + self.assertEqual(detail["attentionMessage"], "Local changes detected. Source updates are disabled.") self.assertNotIn("updateStatus", detail["actions"]) - self.assertEqual(source_status["updateStatus"], "no_source_available") + self.assertEqual(source_status["updateStatus"], "local_changes_detected") self.assertEqual(detail["actions"]["stopManagingStatus"], "disabled_no_enabled") self.assertEqual(detail["actions"]["stopManagingHarnessLabels"], []) @@ -135,7 +146,7 @@ def test_settings_surface_store_issues(self) -> None: self.assertNotIn("centralStore", settings) self.assertNotIn("topology", settings) - def test_skill_detail_exposes_document_markdown_for_local_and_shared_skills(self) -> None: + def test_skill_detail_exposes_document_markdown_for_shared_and_unmanaged_skills(self) -> None: with TemporaryDirectory() as temp_dir: spec = create_fake_home_spec(Path(temp_dir)) seed_mixed_fixture(spec) @@ -144,28 +155,22 @@ def test_skill_detail_exposes_document_markdown_for_local_and_shared_skills(self payload = container.skills_queries.list_skills() shared = next(row for row in payload["rows"] if row["name"] == "Shared Audit") found = next(row for row in payload["rows"] if row["name"] == "Trace Lens") - builtin = next(row for row in payload["rows"] if row["name"] == "Review Helper") shared_detail = container.skills_queries.get_skill_detail(shared["skillRef"]) found_detail = container.skills_queries.get_skill_detail(found["skillRef"]) - builtin_detail = container.skills_queries.get_skill_detail(builtin["skillRef"]) assert shared_detail is not None assert found_detail is not None - assert builtin_detail is not None self.assertIn("Shared package fixture.", shared_detail["documentMarkdown"]) self.assertIn("trace", found_detail["documentMarkdown"]) - self.assertIsNone(builtin_detail["documentMarkdown"]) self.assertNotIn("advanced", shared_detail) self.assertEqual(shared_detail["actions"]["stopManagingStatus"], "disabled_no_enabled") self.assertEqual(shared_detail["actions"]["stopManagingHarnessLabels"], []) self.assertIsNone(found_detail["actions"]["stopManagingStatus"]) - self.assertIsNone(builtin_detail["actions"]["stopManagingStatus"]) - self.assertEqual( - [cell["state"] for cell in builtin_detail["harnessCells"]], - ["empty", "empty", "empty", "builtin", "empty"], - ) + self.assertEqual(found_detail["actions"]["stopManagingHarnessLabels"], ["Claude"]) + self.assertEqual(found_detail["actions"]["deleteHarnessLabels"], ["Claude"]) + self.assertIsNone(found_detail["sourceLinks"]) def test_skill_detail_orders_managed_locations_with_shared_store_first(self) -> None: with TemporaryDirectory() as temp_dir: @@ -180,7 +185,7 @@ def test_skill_detail_orders_managed_locations_with_shared_store_first(self) -> assert detail is not None self.assertEqual([location["label"] for location in detail["locations"]], ["Shared Store", "Codex", "OpenClaw", "OpenCode"]) - self.assertEqual(detail["locations"][0]["path"], str(spec.shared_store_root / "shared-audit")) + self.assertEqual(detail["locations"][0]["path"], str(spec.skills_store_root / "shared-audit")) self.assertEqual(detail["locations"][1]["path"], str(spec.codex_root / "shared-audit")) self.assertEqual(detail["actions"]["stopManagingStatus"], "available") self.assertEqual(detail["actions"]["stopManagingHarnessLabels"], ["Codex"]) @@ -189,7 +194,7 @@ def test_source_links_use_persisted_exact_folder_url(self) -> None: with TemporaryDirectory() as temp_dir: spec = create_fake_home_spec(Path(temp_dir)) package_root = seed_skill_package( - spec.shared_store_root, + spec.skills_store_root, "shared-audit", "Shared Audit", body="Shared package fixture.", @@ -199,7 +204,7 @@ def test_source_links_use_persisted_exact_folder_url(self) -> None: seed_store_manifest( spec, [ - ManifestEntry( + SkillStoreEntry( package_dir="shared-audit", declared_name="Shared Audit", source_kind="github", @@ -231,7 +236,7 @@ def test_source_links_fall_back_to_exact_github_resolution_for_legacy_entries(se with TemporaryDirectory() as temp_dir: spec = create_fake_home_spec(Path(temp_dir)) package_root = seed_skill_package( - spec.shared_store_root, + spec.skills_store_root, "agent-browser", "agent-browser", body="Shared package fixture.", @@ -241,7 +246,7 @@ def test_source_links_fall_back_to_exact_github_resolution_for_legacy_entries(se seed_store_manifest( spec, [ - ManifestEntry( + SkillStoreEntry( package_dir="agent-browser", declared_name="agent-browser", source_kind="github", @@ -252,7 +257,7 @@ def test_source_links_fall_back_to_exact_github_resolution_for_legacy_entries(se ) container = build_backend_container(spec.env()) - container.source_fetcher._github = _StaticGitHubSource( # type: ignore[assignment] + container.skills_source_fetcher._github = _StaticGitHubSource( # type: ignore[assignment] package_root, repo="vercel-labs/agent-browser", ref="main", @@ -274,7 +279,7 @@ def test_marketplace_queries_mark_matching_managed_source_as_installed(self) -> with TemporaryDirectory() as temp_dir: spec = create_fake_home_spec(Path(temp_dir)) package_root = seed_skill_package( - spec.shared_store_root, + spec.skills_store_root, "mode-switch", "Mode Switch", body="Managed package fixture.", @@ -284,7 +289,7 @@ def test_marketplace_queries_mark_matching_managed_source_as_installed(self) -> seed_store_manifest( spec, [ - ManifestEntry( + SkillStoreEntry( package_dir="mode-switch", declared_name="Mode Switch", source_kind="github", @@ -299,10 +304,10 @@ def test_marketplace_queries_mark_matching_managed_source_as_installed(self) -> marketplace_catalog=create_fixture_marketplace_service(), ) - page = container.marketplace_queries.popular_page() + page = container.skills_marketplace_queries.popular_page() item = next(row for row in page["items"] if row["name"] == "Mode Switch") - detail = container.marketplace_queries.get_item_detail(item["id"]) - document = container.marketplace_queries.get_item_document(item["id"]) + detail = container.skills_marketplace_queries.get_item_detail(item["id"]) + document = container.skills_marketplace_queries.get_item_document(item["id"]) self.assertEqual(item["installation"], { "status": "installed", diff --git a/tests/unit/test_cli_marketplace.py b/tests/unit/test_cli_marketplace.py new file mode 100644 index 0000000..5d6dfcc --- /dev/null +++ b/tests/unit/test_cli_marketplace.py @@ -0,0 +1,198 @@ +from __future__ import annotations + +import json +import unittest +from unittest import mock + +from skill_manager.application.cli_marketplace.catalog import CliMarketplaceCatalog +from skill_manager.application.cli_marketplace.client import ( + ClisDevClient, + configured_clis_dev_base_url, +) +from skill_manager.application.marketplace_cache import MarketplaceCache + + +_LIST_RESPONSE_SAMPLE: dict[str, object] = { + "count": 4, + "clis": [ + { + "slug": "ollama", + "name": "Ollama", + "description": "Run local models.", + "long_description": "Run and manage local language models.\n\nWorks offline.", + "category": "AI", + "install": "brew install ollama", + "github": "https://github.com/ollama/ollama", + "website": "https://ollama.com", + "stars": 120000, + "language": "Go", + "has_mcp": True, + "has_skill": False, + "is_official": True, + "is_tui": False, + "source_type": "official", + "vendor_name": "Ollama", + }, + { + "slug": "lazygit", + "name": "lazygit", + "description": "Terminal UI for git.", + "category": "Developer Tools", + "install": "brew install lazygit", + "github": "https://github.com/jesseduffield/lazygit/tree/master", + "website": "https://github.com/jesseduffield/lazygit", + "stars": "61000", + "language": "Go", + "has_mcp": False, + "has_skill": True, + "is_official": False, + "is_tui": True, + "source_type": "github", + "vendor_name": "jesseduffield", + }, + { + "slug": "broken-repo", + "name": "Broken repo", + "description": "No stable repo URL.", + "github": "https://example.com/not/github", + "source_url": "https://docs.example.com/broken-repo", + }, + { + "slug": "no-repo", + "name": "No repo", + "long_description": "Fallback summary.\n\nDetailed body.", + "github": "notaurl", + }, + ], +} + + +class ClisDevClientTests(unittest.TestCase): + def test_base_url_override_is_normalized(self) -> None: + self.assertEqual( + configured_clis_dev_base_url({"SKILL_MANAGER_CLIS_DEV_BASE_URL": "https://fixture.local/"}), + "https://fixture.local", + ) + + def test_fetches_list_endpoint(self) -> None: + response = mock.MagicMock() + response.read.return_value = json.dumps({"clis": []}).encode("utf-8") + response.__enter__ = mock.Mock(return_value=response) + response.__exit__ = mock.Mock(return_value=None) + + with mock.patch("skill_manager.application.cli_marketplace.client.urlopen", return_value=response) as urlopen: + client = ClisDevClient(base_url="https://fixture.local", ssl_context=None) + payload = client.list_clis() + + request = urlopen.call_args.args[0] + self.assertEqual(request.full_url, "https://fixture.local/api/clis") + self.assertEqual(request.headers["Accept"], "application/json") + self.assertEqual(payload, {"clis": []}) + + def test_search_endpoint_encodes_query(self) -> None: + response = mock.MagicMock() + response.read.return_value = json.dumps({"clis": []}).encode("utf-8") + response.__enter__ = mock.Mock(return_value=response) + response.__exit__ = mock.Mock(return_value=None) + + with mock.patch("skill_manager.application.cli_marketplace.client.urlopen", return_value=response) as urlopen: + client = ClisDevClient(base_url="https://fixture.local", ssl_context=None) + client.search_clis("git ui") + + request = urlopen.call_args.args[0] + self.assertEqual(request.full_url, "https://fixture.local/api/search?q=git%20ui") + + +class CliMarketplaceCatalogTests(unittest.TestCase): + def test_popular_page_normalizes_and_paginates_locally(self) -> None: + catalog = CliMarketplaceCatalog( + fetcher=lambda _path: _LIST_RESPONSE_SAMPLE, + cache=MarketplaceCache(), + ) + + page = catalog.popular_page(limit=2, offset=1) + + self.assertEqual([item["slug"] for item in page["items"]], ["lazygit", "broken-repo"]) + self.assertTrue(page["hasMore"]) + self.assertEqual(page["nextOffset"], 3) + first = page["items"][0] + self.assertEqual(first["id"], "clisdev:lazygit") + self.assertEqual(first["githubUrl"], "https://github.com/jesseduffield/lazygit") + self.assertEqual(first["iconUrl"], "https://github.com/jesseduffield.png?size=96") + self.assertEqual(first["stars"], 61000) + self.assertTrue(first["isTui"]) + self.assertTrue(first["hasSkill"]) + + def test_invalid_github_url_is_omitted(self) -> None: + catalog = CliMarketplaceCatalog( + fetcher=lambda _path: _LIST_RESPONSE_SAMPLE, + cache=MarketplaceCache(), + ) + + detail = catalog.detail("broken-repo") + + self.assertIsNotNone(detail) + self.assertIsNone(detail["githubUrl"]) + self.assertIsNone(detail["iconUrl"]) + self.assertEqual(detail["websiteUrl"], "https://docs.example.com/broken-repo") + + def test_detail_resolves_clisdev_id_and_preview_fields(self) -> None: + catalog = CliMarketplaceCatalog( + fetcher=lambda _path: _LIST_RESPONSE_SAMPLE, + cache=MarketplaceCache(), + ) + + detail = catalog.detail("clisdev:ollama") + + self.assertIsNotNone(detail) + self.assertEqual(detail["slug"], "ollama") + self.assertEqual(detail["marketplaceUrl"], "https://clis.dev/cli/ollama") + self.assertEqual(detail["iconUrl"], "https://github.com/ollama.png?size=96") + self.assertEqual(detail["longDescription"], "Run and manage local language models.\n\nWorks offline.") + self.assertEqual(detail["installCommand"], "brew install ollama") + self.assertTrue(detail["isOfficial"]) + + def test_search_requires_minimum_query_and_uses_search_endpoint(self) -> None: + paths: list[str] = [] + + def fetcher(path: str) -> dict[str, object]: + paths.append(path) + return {"clis": [_LIST_RESPONSE_SAMPLE["clis"][1]]} + + catalog = CliMarketplaceCatalog(fetcher=fetcher, cache=MarketplaceCache()) + + with self.assertRaises(ValueError): + catalog.search_page("g") + + page = catalog.search_page("git ui", limit=10, offset=0) + + self.assertEqual(paths, ["/api/search?q=git%20ui"]) + self.assertEqual(page["items"][0]["slug"], "lazygit") + self.assertFalse(page["hasMore"]) + + def test_detail_falls_back_to_search_when_index_misses(self) -> None: + def fetcher(path: str) -> dict[str, object]: + if path == "/api/clis": + return {"clis": []} + if path == "/api/search?q=lazygit": + return {"clis": [_LIST_RESPONSE_SAMPLE["clis"][1]]} + raise AssertionError(path) + + catalog = CliMarketplaceCatalog(fetcher=fetcher, cache=MarketplaceCache()) + + detail = catalog.detail("lazygit") + + self.assertIsNotNone(detail) + self.assertEqual(detail["slug"], "lazygit") + + def test_unknown_detail_returns_none(self) -> None: + catalog = CliMarketplaceCatalog( + fetcher=lambda _path: {"clis": []}, + cache=MarketplaceCache(), + ) + + self.assertIsNone(catalog.detail("missing")) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/unit/test_github_repo_metadata.py b/tests/unit/test_github_repo_metadata.py index a00f6ef..f11330a 100644 --- a/tests/unit/test_github_repo_metadata.py +++ b/tests/unit/test_github_repo_metadata.py @@ -6,8 +6,8 @@ import time import unittest -from skill_manager.application.marketplace.cache import MarketplaceCache -from skill_manager.application.marketplace.repo_snapshots import GitHubRepoSnapshotService +from skill_manager.application.marketplace_cache import MarketplaceCache +from skill_manager.application.skills.marketplace.repo_snapshots import GitHubRepoSnapshotService from skill_manager.sources import ( GitHubRepoMetadata, GitHubRepoMetadataClient, diff --git a/tests/unit/test_marketplace_client.py b/tests/unit/test_marketplace_client.py index a6c86ab..e455028 100644 --- a/tests/unit/test_marketplace_client.py +++ b/tests/unit/test_marketplace_client.py @@ -5,12 +5,12 @@ from unittest import mock import unittest -from skill_manager.application.marketplace.client import ( +from skill_manager.application.skills.marketplace.client import ( SkillsShClient, configured_marketplace_base_url, configured_marketplace_ca_file, ) -from skill_manager.application.marketplace.skillssh import fetch_all_time_leaderboard, search_skills +from skill_manager.application.skills.marketplace.skillssh import fetch_all_time_leaderboard, search_skills from skill_manager.errors import MARKETPLACE_UNAVAILABLE_MESSAGE, MarketplaceUpstreamError @@ -29,13 +29,13 @@ def test_ssl_cert_override_takes_precedence(self) -> None: def test_packaged_runtime_uses_certifi_when_no_override_exists(self) -> None: with ( - mock.patch("skill_manager.application.marketplace.client._is_packaged_runtime", return_value=True), - mock.patch("skill_manager.application.marketplace.client.certifi.where", return_value="/tmp/certifi-ca.pem"), + mock.patch("skill_manager.application.marketplace_http._is_packaged_runtime", return_value=True), + mock.patch("skill_manager.application.marketplace_http.certifi.where", return_value="/tmp/certifi-ca.pem"), ): self.assertEqual(str(configured_marketplace_ca_file({})), "/tmp/certifi-ca.pem") def test_source_runtime_uses_system_trust_when_no_override_exists(self) -> None: - with mock.patch("skill_manager.application.marketplace.client._is_packaged_runtime", return_value=False): + with mock.patch("skill_manager.application.marketplace_http._is_packaged_runtime", return_value=False): self.assertIsNone(configured_marketplace_ca_file({})) @@ -100,7 +100,7 @@ def test_fetch_json_maps_http_error_to_upstream_error(self) -> None: hdrs=None, fp=None, ) - with mock.patch("skill_manager.application.marketplace.client.urlopen", side_effect=http_error): + with mock.patch("skill_manager.application.skills.marketplace.client.urlopen", side_effect=http_error): with self.assertRaises(MarketplaceUpstreamError) as captured: client.fetch_json("/api/search?q=trace&limit=20") @@ -111,7 +111,7 @@ def test_fetch_json_maps_http_error_to_upstream_error(self) -> None: def test_fetch_text_maps_timeout_to_upstream_error(self) -> None: client = SkillsShClient(base_url="https://fixture.local") timeout_error = URLError(socket.timeout("timed out")) - with mock.patch("skill_manager.application.marketplace.client.urlopen", side_effect=timeout_error): + with mock.patch("skill_manager.application.skills.marketplace.client.urlopen", side_effect=timeout_error): with self.assertRaises(MarketplaceUpstreamError) as captured: client.fetch_text("/") diff --git a/tests/unit/test_mcp_adapters.py b/tests/unit/test_mcp_adapters.py new file mode 100644 index 0000000..2b73b1d --- /dev/null +++ b/tests/unit/test_mcp_adapters.py @@ -0,0 +1,386 @@ +from __future__ import annotations + +import json +import tomllib +import unittest +from pathlib import Path +from tempfile import TemporaryDirectory + +from skill_manager.application.mcp import FileBackedMcpAdapter +from skill_manager.application.mcp.store import McpServerSpec, McpServerStore, McpSource +from skill_manager.errors import MutationError +from skill_manager.harness import HarnessKernelService, HarnessSupportStore + + +def _spec(name: str = "exa") -> McpServerSpec: + return McpServerSpec( + name=name, + display_name=name.title(), + source=McpSource.marketplace(f"@user/{name}"), + transport="stdio", + command="npx", + args=("-y", f"{name}-mcp-server"), + env=(("KEY", "value"),), + ) + + +def _adapter( + harness: str, + *, + home: Path, + xdg_config_home: Path | None = None, +) -> FileBackedMcpAdapter: + env = { + "HOME": str(home), + "XDG_CONFIG_HOME": str(xdg_config_home or (home / ".config")), + "PATH": "", + } + kernel = HarnessKernelService.from_environment( + env, + support_store=HarnessSupportStore(home / "settings.json"), + ) + binding = next( + binding for binding in kernel.bindings_for_family("mcp") if binding.definition.harness == harness + ) + return FileBackedMcpAdapter( + definition=binding.definition, + profile=binding.profile, + context=kernel.context, + ) + + +class FileBackedMcpAdapterTests(unittest.TestCase): + def test_classifies_managed_when_content_matches(self) -> None: + with TemporaryDirectory() as tmp: + home = Path(tmp) + store = McpServerStore(home / "manifest.json") + store.upsert_from_spec(_spec("exa")) + adapter = _adapter("cursor", home=home) + + adapter.enable_server(store.get_binding_spec("exa")) # type: ignore[arg-type] + scan = adapter.scan(store.list_binding_specs()) + + states = {entry.name: entry.state for entry in scan.entries} + self.assertEqual(states.get("exa"), "managed") + + def test_classifies_drifted_when_user_edits_entry(self) -> None: + with TemporaryDirectory() as tmp: + home = Path(tmp) + store = McpServerStore(home / "manifest.json") + store.upsert_from_spec(_spec("exa")) + adapter = _adapter("cursor", home=home) + adapter.config_path.parent.mkdir(parents=True, exist_ok=True) + adapter.config_path.write_text( + json.dumps( + {"mcpServers": {"exa": {"command": "npx", "args": ["different"]}}} + ), + encoding="utf-8", + ) + + scan = adapter.scan(store.list_binding_specs()) + states = {entry.name: entry.state for entry in scan.entries} + self.assertEqual(states.get("exa"), "drifted") + + with TemporaryDirectory() as tmp: + home = Path(tmp) + store = McpServerStore(home / "manifest.json") + store.upsert_from_spec(_spec("exa")) + adapter = _adapter("cursor", home=home) + adapter.config_path.parent.mkdir(parents=True, exist_ok=True) + adapter.config_path.write_text( + json.dumps( + {"mcpServers": {"exa": {"headers": {"Authorization": "Bearer x"}}}} + ), + encoding="utf-8", + ) + + scan = adapter.scan(store.list_binding_specs()) + drifted = next(entry for entry in scan.entries if entry.name == "exa") + self.assertEqual(drifted.state, "drifted") + self.assertIsNotNone(drifted.parse_issue) + + def test_classifies_unmanaged_when_no_central_spec(self) -> None: + with TemporaryDirectory() as tmp: + home = Path(tmp) + store = McpServerStore(home / "manifest.json") + adapter = _adapter("cursor", home=home) + adapter.config_path.parent.mkdir(parents=True, exist_ok=True) + adapter.config_path.write_text( + json.dumps({"mcpServers": {"legacy-foo": {"command": "ls"}}}), + encoding="utf-8", + ) + + scan = adapter.scan(store.list_binding_specs()) + unmanaged = [entry for entry in scan.entries if entry.state == "unmanaged"] + self.assertEqual(len(unmanaged), 1) + self.assertEqual(unmanaged[0].name, "legacy-foo") + + def test_managed_spec_with_no_binding_is_missing(self) -> None: + with TemporaryDirectory() as tmp: + home = Path(tmp) + store = McpServerStore(home / "manifest.json") + store.upsert_from_spec(_spec("exa")) + adapter = _adapter("cursor", home=home) + adapter.config_path.parent.mkdir(parents=True, exist_ok=True) + adapter.config_path.write_text(json.dumps({"mcpServers": {}}), encoding="utf-8") + + scan = adapter.scan(store.list_binding_specs()) + states = {entry.name: entry.state for entry in scan.entries} + self.assertEqual(states.get("exa"), "missing") + + def test_enable_preserves_non_mcp_keys_for_json(self) -> None: + with TemporaryDirectory() as tmp: + home = Path(tmp) + store = McpServerStore(home / "manifest.json") + adapter = _adapter("cursor", home=home) + adapter.config_path.parent.mkdir(parents=True, exist_ok=True) + adapter.config_path.write_text( + json.dumps( + { + "models": ["gpt-5"], + "mcpServers": {"existing": {"command": "ls"}}, + } + ), + encoding="utf-8", + ) + + adapter.enable_server(_spec()) + payload = json.loads(adapter.config_path.read_text(encoding="utf-8")) + self.assertEqual(payload["models"], ["gpt-5"]) + self.assertIn("existing", payload["mcpServers"]) + self.assertIn("exa", payload["mcpServers"]) + + def test_enable_uses_opencode_nested_subtree(self) -> None: + with TemporaryDirectory() as tmp: + home = Path(tmp) + xdg_config_home = home / ".config" + store = McpServerStore(home / "manifest.json") + adapter = _adapter("opencode", home=home, xdg_config_home=xdg_config_home) + adapter.config_path.parent.mkdir(parents=True, exist_ok=True) + adapter.config_path.write_text( + json.dumps( + { + "models": ["x"], + "mcp": {"other": {"type": "local", "command": ["ls"]}}, + } + ), + encoding="utf-8", + ) + + adapter.enable_server(_spec()) + payload = json.loads(adapter.config_path.read_text(encoding="utf-8")) + self.assertEqual(payload["models"], ["x"]) + self.assertIn("other", payload["mcp"]) + self.assertIn("exa", payload["mcp"]) + self.assertEqual(payload["mcp"]["exa"]["type"], "local") + + def test_enable_and_disable_round_trip_for_toml(self) -> None: + with TemporaryDirectory() as tmp: + home = Path(tmp) + store = McpServerStore(home / "manifest.json") + adapter = _adapter("codex", home=home) + + adapter.enable_server(_spec()) + payload = tomllib.loads(adapter.config_path.read_text(encoding="utf-8")) + self.assertEqual(payload["mcp_servers"]["exa"]["command"], "npx") + self.assertNotIn("transport", payload["mcp_servers"]["exa"]) + + adapter.disable_server("exa") + payload = tomllib.loads(adapter.config_path.read_text(encoding="utf-8")) + self.assertEqual(payload.get("mcp_servers", {}), {}) + + def test_cursor_writes_explicit_type_for_stdio_and_http(self) -> None: + with TemporaryDirectory() as tmp: + home = Path(tmp) + adapter = _adapter("cursor", home=home) + + adapter.enable_server(_spec()) + payload = json.loads(adapter.config_path.read_text(encoding="utf-8")) + self.assertEqual(payload["mcpServers"]["exa"]["type"], "stdio") + + adapter.enable_server( + McpServerSpec( + name="remote", + display_name="Remote", + source=McpSource.marketplace("@remote/server"), + transport="http", + url="https://mcp.example.com", + ) + ) + payload = json.loads(adapter.config_path.read_text(encoding="utf-8")) + self.assertEqual(payload["mcpServers"]["remote"]["type"], "http") + + def test_claude_writes_explicit_type_for_http(self) -> None: + with TemporaryDirectory() as tmp: + home = Path(tmp) + adapter = _adapter("claude", home=home) + + adapter.enable_server( + McpServerSpec( + name="remote", + display_name="Remote", + source=McpSource.marketplace("@remote/server"), + transport="http", + url="https://mcp.example.com", + ) + ) + payload = json.loads(adapter.config_path.read_text(encoding="utf-8")) + self.assertEqual(payload["mcpServers"]["remote"]["type"], "http") + + def test_enable_removes_opencode_duplicate_from_xdg_config(self) -> None: + with TemporaryDirectory() as tmp: + home = Path(tmp) + xdg_config_home = home / ".config" + adapter = _adapter("opencode", home=home, xdg_config_home=xdg_config_home) + official_path = xdg_config_home / "opencode" / "opencode.json" + official_path.parent.mkdir(parents=True, exist_ok=True) + official_path.write_text( + json.dumps( + { + "mcp": { + "exa": { + "type": "remote", + "url": "https://old.example.com", + } + } + } + ), + encoding="utf-8", + ) + + adapter.enable_server(_spec()) + + canonical = json.loads(adapter.config_path.read_text(encoding="utf-8")) + official = json.loads(official_path.read_text(encoding="utf-8")) + self.assertIn("exa", canonical["mcp"]) + self.assertNotIn("mcp", official) + + def test_disable_removes_opencode_from_all_discovery_paths(self) -> None: + with TemporaryDirectory() as tmp: + home = Path(tmp) + xdg_config_home = home / ".config" + adapter = _adapter("opencode", home=home, xdg_config_home=xdg_config_home) + adapter.enable_server(_spec()) + official_path = xdg_config_home / "opencode" / "opencode.json" + official_path.parent.mkdir(parents=True, exist_ok=True) + official_path.write_text( + json.dumps({"mcp": {"exa": {"type": "local", "command": ["npx"]}}}), + encoding="utf-8", + ) + + adapter.disable_server("exa") + + canonical = json.loads(adapter.config_path.read_text(encoding="utf-8")) + official = json.loads(official_path.read_text(encoding="utf-8")) + self.assertNotIn("mcp", canonical) + self.assertNotIn("mcp", official) + + def test_openclaw_without_mcp_command_is_not_writable(self) -> None: + with TemporaryDirectory() as tmp: + home = Path(tmp) + adapter = _adapter("openclaw", home=home) + + status = adapter.status() + self.assertFalse(status.mcp_writable) + self.assertIn("OpenClaw", status.mcp_unavailable_reason or "") + with self.assertRaises(MutationError): + adapter.enable_server(_spec()) + + def test_has_binding_after_enable(self) -> None: + with TemporaryDirectory() as tmp: + home = Path(tmp) + store = McpServerStore(home / "manifest.json") + adapter = _adapter("cursor", home=home) + + self.assertFalse(adapter.has_binding("exa")) + adapter.enable_server(_spec()) + self.assertTrue(adapter.has_binding("exa")) + + def test_claude_scans_smithery_project_scoped_servers(self) -> None: + with TemporaryDirectory() as tmp: + home = Path(tmp) + store = McpServerStore(home / "manifest.json") + store.upsert_from_spec( + McpServerSpec( + name="exa", + display_name="Exa", + source=McpSource.marketplace("exa"), + transport="http", + url="https://server.smithery.ai/exa/mcp", + ) + ) + adapter = _adapter("claude", home=home) + adapter.config_path.write_text( + json.dumps( + { + "projects": { + str(home.resolve()): { + "mcpServers": { + "exa": {"type": "http", "url": "https://server.smithery.ai/exa/mcp"} + } + } + } + } + ), + encoding="utf-8", + ) + + scan = adapter.scan(store.list_binding_specs()) + states = {entry.name: entry.state for entry in scan.entries} + self.assertEqual(states.get("exa"), "managed") + self.assertTrue(adapter.has_binding("exa")) + + def test_claude_disable_removes_project_scoped_servers(self) -> None: + with TemporaryDirectory() as tmp: + home = Path(tmp) + adapter = _adapter("claude", home=home) + adapter.config_path.write_text( + json.dumps( + { + "projects": { + str(home.resolve()): { + "mcpServers": { + "exa": {"type": "http", "url": "https://server.smithery.ai/exa/mcp"} + } + } + } + } + ), + encoding="utf-8", + ) + + adapter.disable_server("exa") + + payload = json.loads(adapter.config_path.read_text(encoding="utf-8")) + project = payload["projects"][str(home.resolve())] + self.assertNotIn("mcpServers", project) + + def test_invalid_json_raises_mutation_error(self) -> None: + with TemporaryDirectory() as tmp: + home = Path(tmp) + store = McpServerStore(home / "manifest.json") + adapter = _adapter("cursor", home=home) + adapter.config_path.parent.mkdir(parents=True, exist_ok=True) + adapter.config_path.write_text("{not json", encoding="utf-8") + + with self.assertRaises(MutationError): + adapter.enable_server(_spec()) + + def test_scan_reports_malformed_config_without_raising(self) -> None: + with TemporaryDirectory() as tmp: + home = Path(tmp) + store = McpServerStore(home / "manifest.json") + store.upsert_from_spec(_spec("exa")) + adapter = _adapter("cursor", home=home) + adapter.config_path.parent.mkdir(parents=True, exist_ok=True) + adapter.config_path.write_text("{not json", encoding="utf-8") + + scan = adapter.scan(store.list_binding_specs()) + + self.assertIn("not valid JSON", scan.scan_issue or "") + states = {entry.name: entry.state for entry in scan.entries} + self.assertEqual(states["exa"], "missing") + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/unit/test_mcp_enrichment.py b/tests/unit/test_mcp_enrichment.py new file mode 100644 index 0000000..eaf1e46 --- /dev/null +++ b/tests/unit/test_mcp_enrichment.py @@ -0,0 +1,83 @@ +from __future__ import annotations + +import unittest +from unittest.mock import MagicMock + +from skill_manager.application.mcp.enrichment import McpEnrichmentService + + +def _popular(items: list[dict]) -> dict: + return {"items": items, "nextOffset": None, "hasMore": False} + + +class McpEnrichmentServiceTests(unittest.TestCase): + def test_warm_from_popular_caches_entries(self) -> None: + catalog = MagicMock() + catalog.popular_page.return_value = _popular( + [ + { + "qualifiedName": "@exa/exa-mcp", + "displayName": "Exa", + "iconUrl": "https://icon.example/exa.png", + "externalUrl": "https://smithery.ai/server/@exa/exa-mcp", + "description": "Web search", + "isRemote": True, + "isVerified": True, + }, + ] + ) + service = McpEnrichmentService(catalog) + link = service.lookup("exa-mcp", allow_search=False) + self.assertIsNotNone(link) + assert link is not None + self.assertEqual(link.qualified_name, "@exa/exa-mcp") + self.assertEqual(link.display_name, "Exa") + catalog.popular_page.assert_called_once() + + def test_cold_miss_triggers_search(self) -> None: + catalog = MagicMock() + catalog.popular_page.return_value = _popular([]) + catalog.search_page.return_value = { + "items": [ + { + "qualifiedName": "@other/context7", + "displayName": "Context7", + "iconUrl": None, + "externalUrl": "https://smithery.ai/server/@other/context7", + "description": "", + "isRemote": False, + "isVerified": True, + }, + ], + } + service = McpEnrichmentService(catalog) + link = service.lookup("context7") + self.assertIsNotNone(link) + assert link is not None + self.assertEqual(link.qualified_name, "@other/context7") + catalog.search_page.assert_called_once_with("context7", limit=10, offset=0, verified=True) + + def test_cache_prevents_double_search(self) -> None: + catalog = MagicMock() + catalog.popular_page.return_value = _popular([]) + catalog.search_page.return_value = {"items": []} + service = McpEnrichmentService(catalog) + self.assertIsNone(service.lookup("unknown")) + self.assertIsNone(service.lookup("unknown")) + # Popular called once; search called once; second lookup hits cached None. + self.assertEqual(catalog.popular_page.call_count, 1) + self.assertEqual(catalog.search_page.call_count, 1) + + def test_invalidate_clears_cache(self) -> None: + catalog = MagicMock() + catalog.popular_page.return_value = _popular([]) + catalog.search_page.return_value = {"items": []} + service = McpEnrichmentService(catalog) + service.lookup("x") + service.invalidate() + service.lookup("x") + self.assertEqual(catalog.popular_page.call_count, 2) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/unit/test_mcp_env.py b/tests/unit/test_mcp_env.py new file mode 100644 index 0000000..ed4f5cd --- /dev/null +++ b/tests/unit/test_mcp_env.py @@ -0,0 +1,38 @@ +from __future__ import annotations + +import unittest + +from skill_manager.application.mcp.env import annotate_env, is_env_var_reference + + +class IsEnvVarReferenceTests(unittest.TestCase): + def test_matches_env_syntax(self) -> None: + self.assertTrue(is_env_var_reference("${env:EXA_API_KEY}")) + self.assertTrue(is_env_var_reference("${env:A1_B2}")) + + def test_rejects_non_references(self) -> None: + self.assertFalse(is_env_var_reference("abc-123")) + self.assertFalse(is_env_var_reference("")) + self.assertFalse(is_env_var_reference("env:EXA_API_KEY")) + self.assertFalse(is_env_var_reference("${EXA_API_KEY}")) + + +class AnnotateEnvTests(unittest.TestCase): + def test_returns_raw_values(self) -> None: + rows = annotate_env({"EXA_API_KEY": "literal-secret", "PORT": "80"}) + by_key = {row["key"]: row for row in rows} + + self.assertEqual(by_key["EXA_API_KEY"]["value"], "literal-secret") + self.assertFalse(by_key["EXA_API_KEY"]["isEnvRef"]) + self.assertEqual(by_key["PORT"]["value"], "80") + + def test_marks_env_ref_and_keeps_value(self) -> None: + rows = annotate_env({"EXA_API_KEY": "${env:EXA_API_KEY}"}) + row = rows[0] + + self.assertEqual(row["value"], "${env:EXA_API_KEY}") + self.assertTrue(row["isEnvRef"]) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/unit/test_mcp_identity.py b/tests/unit/test_mcp_identity.py new file mode 100644 index 0000000..640340a --- /dev/null +++ b/tests/unit/test_mcp_identity.py @@ -0,0 +1,171 @@ +from __future__ import annotations + +import unittest +from pathlib import Path + +from skill_manager.application.mcp.contracts import McpHarnessScan, McpObservedEntry +from skill_manager.application.mcp.identity import build_identity_plan +from skill_manager.application.mcp.store import McpServerSpec, McpSource + + +def _http_spec(name: str, url: str) -> McpServerSpec: + return McpServerSpec( + name=name, + display_name=name.title(), + source=McpSource.adopted("cursor", name), + transport="http", + url=url, + ) + + +def _stdio_spec(name: str, args: tuple[str, ...]) -> McpServerSpec: + return McpServerSpec( + name=name, + display_name=name.title(), + source=McpSource.adopted("cursor", name), + transport="stdio", + command="uvx", + args=args, + ) + + +def _scan( + harness: str, + label: str, + entries: list[McpObservedEntry], +) -> McpHarnessScan: + return McpHarnessScan( + harness=harness, + label=label, + logo_key=harness, + installed=True, + config_present=True, + config_path=Path(f"/tmp/{harness}.json"), + entries=tuple(entries), + ) + + +class BuildIdentityPlanTests(unittest.TestCase): + def test_identical_entries_merge_into_one_group(self) -> None: + scans = [ + _scan( + "cursor", + "Cursor", + [ + McpObservedEntry( + name="exa", + state="unmanaged", + raw_payload={"url": "https://exa.run"}, + parsed_spec=_http_spec("exa", "https://exa.run"), + ) + ], + ), + _scan( + "claude", + "Claude", + [ + McpObservedEntry( + name="exa", + state="unmanaged", + raw_payload={"url": "https://exa.run"}, + parsed_spec=_http_spec("exa", "https://exa.run"), + ) + ], + ), + ] + plan = build_identity_plan(scans) + self.assertEqual(len(plan.groups), 1) + self.assertEqual(plan.groups[0].name, "exa") + self.assertTrue(plan.groups[0].identical) + self.assertIsNotNone(plan.groups[0].canonical_spec) + self.assertEqual({s.harness for s in plan.groups[0].sightings}, {"cursor", "claude"}) + self.assertEqual(plan.issues, ()) + + def test_differing_specs_classify_as_differs(self) -> None: + scans = [ + _scan( + "cursor", + "Cursor", + [ + McpObservedEntry( + name="exa", + state="unmanaged", + raw_payload={"url": "https://exa.run"}, + parsed_spec=_http_spec("exa", "https://exa.run"), + ) + ], + ), + _scan( + "claude", + "Claude", + [ + McpObservedEntry( + name="exa", + state="unmanaged", + raw_payload={"command": "uvx", "args": ["exa-mcp"]}, + parsed_spec=_stdio_spec("exa", ("exa-mcp",)), + ) + ], + ), + ] + plan = build_identity_plan(scans) + self.assertEqual(len(plan.groups), 1) + self.assertFalse(plan.groups[0].identical) + self.assertIsNone(plan.groups[0].canonical_spec) + self.assertEqual(len(plan.groups[0].sightings), 2) + + def test_excluded_names_are_skipped(self) -> None: + scans = [ + _scan( + "cursor", + "Cursor", + [ + McpObservedEntry( + name="exa", + state="unmanaged", + raw_payload={"url": "https://exa.run"}, + parsed_spec=_http_spec("exa", "https://exa.run"), + ) + ], + ), + _scan( + "claude", + "Claude", + [ + McpObservedEntry( + name="other", + state="unmanaged", + raw_payload={"url": "https://other.run"}, + parsed_spec=_http_spec("other", "https://other.run"), + ) + ], + ), + ] + plan = build_identity_plan(scans, excluded_names=["exa"]) + self.assertEqual([group.name for group in plan.groups], ["other"]) + + def test_unparseable_entries_are_reported_as_issues(self) -> None: + scans = [ + _scan( + "cursor", + "Cursor", + [ + McpObservedEntry( + name="broken", + state="unmanaged", + raw_payload={"command": ["unexpected"]}, + parse_issue="command must be a string", + ) + ], + ) + ] + plan = build_identity_plan(scans) + self.assertEqual(plan.groups, ()) + self.assertEqual(len(plan.issues), 1) + self.assertEqual(plan.issues[0].name, "broken") + self.assertEqual(plan.issues[0].harness, "cursor") + self.assertEqual(plan.issues[0].reason, "command must be a string") + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/unit/test_mcp_installers.py b/tests/unit/test_mcp_installers.py new file mode 100644 index 0000000..1a7d049 --- /dev/null +++ b/tests/unit/test_mcp_installers.py @@ -0,0 +1,41 @@ +from __future__ import annotations + +import unittest + +from skill_manager.application.mcp.installers import SmitheryCliInstallProvider +from skill_manager.errors import MutationError + + +class SmitheryCliInstallProviderTests(unittest.TestCase): + def test_install_targets_include_all_observable_smithery_clients(self) -> None: + provider = SmitheryCliInstallProvider() + + targets = {target.harness: target for target in provider.install_targets()} + + self.assertEqual(targets["codex"].smithery_client, "codex") + self.assertEqual(targets["claude"].smithery_client, "claude-code") + self.assertEqual(targets["cursor"].smithery_client, "cursor") + self.assertEqual(targets["opencode"].smithery_client, "opencode") + self.assertTrue(targets["claude"].supported) + self.assertFalse(targets["openclaw"].supported) + self.assertEqual( + targets["openclaw"].reason, + "Smithery does not provide an OpenClaw MCP installer target", + ) + + def test_unsupported_target_fails_before_running_cli(self) -> None: + calls: list[list[str]] = [] + + def runner(command, **_kwargs): # noqa: ANN001 + calls.append(command) + raise AssertionError("runner should not be called") + + provider = SmitheryCliInstallProvider(runner=runner) + + with self.assertRaises(MutationError): + provider.install(qualified_name="exa", source_harness="openclaw") + self.assertEqual(calls, []) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/unit/test_mcp_mappers.py b/tests/unit/test_mcp_mappers.py new file mode 100644 index 0000000..ad8004d --- /dev/null +++ b/tests/unit/test_mcp_mappers.py @@ -0,0 +1,151 @@ +from __future__ import annotations + +import unittest + +from skill_manager.application.mcp import ( + ClaudeCodeMapper, + CodexMapper, + CursorMapper, + OpenClawMapper, + OpenCodeMapper, +) +from skill_manager.application.mcp.store import McpServerSpec, McpSource + + +def _stdio() -> McpServerSpec: + return McpServerSpec( + name="exa", + display_name="Exa", + source=McpSource.marketplace("@exa/exa-mcp"), + transport="stdio", + command="npx", + args=("-y", "exa-mcp-server"), + env=(("EXA_API_KEY", "secret"),), + ) + + +def _http() -> McpServerSpec: + return McpServerSpec( + name="remote", + display_name="Remote", + source=McpSource.marketplace("@remote/server"), + transport="http", + url="https://mcp.example.com", + headers=(("Authorization", "Bearer x"),), + ) + + +class ClaudeCodeMapperTests(unittest.TestCase): + def test_stdio_round_trip_emits_type(self) -> None: + mapper = ClaudeCodeMapper() + spec = _stdio() + d = mapper.spec_to_dict(spec) + self.assertEqual(d["type"], "stdio") + self.assertEqual(d["command"], "npx") + self.assertEqual(d["args"], ["-y", "exa-mcp-server"]) + self.assertEqual(d["env"], {"EXA_API_KEY": "secret"}) + round_trip = mapper.dict_to_spec("exa", d) + self.assertEqual(round_trip.transport, "stdio") + self.assertEqual(round_trip.command, "npx") + self.assertEqual(round_trip.args, ("-y", "exa-mcp-server")) + self.assertEqual(dict(round_trip.env or ()), {"EXA_API_KEY": "secret"}) + + def test_http_round_trip_emits_type(self) -> None: + mapper = ClaudeCodeMapper() + d = mapper.spec_to_dict(_http()) + self.assertEqual(d["type"], "http") + self.assertEqual(d["url"], "https://mcp.example.com") + self.assertEqual(d["headers"], {"Authorization": "Bearer x"}) + round_trip = mapper.dict_to_spec("remote", d) + self.assertEqual(round_trip.transport, "http") + self.assertEqual(round_trip.url, "https://mcp.example.com") + + def test_accepts_legacy_url_only_entry(self) -> None: + mapper = ClaudeCodeMapper() + round_trip = mapper.dict_to_spec("remote", {"url": "https://mcp.example.com"}) + self.assertEqual(round_trip.transport, "http") + self.assertEqual(round_trip.url, "https://mcp.example.com") + + def test_sse_uses_type_key(self) -> None: + mapper = ClaudeCodeMapper() + spec = McpServerSpec( + name="sse", + display_name="SSE", + source=McpSource.manual("sse"), + transport="sse", + url="https://sse.example.com", + ) + d = mapper.spec_to_dict(spec) + self.assertEqual(d.get("type"), "sse") + round_trip = mapper.dict_to_spec("sse", d) + self.assertEqual(round_trip.transport, "sse") + + +class CursorMapperTests(unittest.TestCase): + def test_http_round_trip_emits_type(self) -> None: + mapper = CursorMapper() + d = mapper.spec_to_dict(_http()) + self.assertEqual(d["type"], "http") + self.assertEqual(d["url"], "https://mcp.example.com") + round_trip = mapper.dict_to_spec("remote", d) + self.assertEqual(round_trip.transport, "http") + + +class OpenCodeMapperTests(unittest.TestCase): + def test_stdio_local_format(self) -> None: + mapper = OpenCodeMapper() + d = mapper.spec_to_dict(_stdio()) + self.assertEqual(d["type"], "local") + self.assertEqual(d["command"], ["npx", "-y", "exa-mcp-server"]) + self.assertEqual(d["environment"], {"EXA_API_KEY": "secret"}) + self.assertTrue(d["enabled"]) + round_trip = mapper.dict_to_spec("exa", d) + self.assertEqual(round_trip.transport, "stdio") + self.assertEqual(round_trip.command, "npx") + self.assertEqual(round_trip.args, ("-y", "exa-mcp-server")) + + def test_http_remote_format(self) -> None: + mapper = OpenCodeMapper() + d = mapper.spec_to_dict(_http()) + self.assertEqual(d["type"], "remote") + self.assertEqual(d["url"], "https://mcp.example.com") + self.assertEqual(d["headers"], {"Authorization": "Bearer x"}) + round_trip = mapper.dict_to_spec("remote", d) + self.assertEqual(round_trip.transport, "http") + + +class CodexMapperTests(unittest.TestCase): + def test_stdio_uses_native_cli_shape(self) -> None: + mapper = CodexMapper() + d = mapper.spec_to_dict(_stdio()) + self.assertNotIn("transport", d) + self.assertNotIn("enabled", d) + self.assertEqual(d["command"], "npx") + self.assertEqual(d["args"], ["-y", "exa-mcp-server"]) + round_trip = mapper.dict_to_spec("exa", d) + self.assertEqual(round_trip.transport, "stdio") + self.assertEqual(round_trip.command, "npx") + + def test_http_uses_http_headers_key(self) -> None: + mapper = CodexMapper() + d = mapper.spec_to_dict(_http()) + self.assertEqual(d["url"], "https://mcp.example.com") + self.assertEqual(d["http_headers"], {"Authorization": "Bearer x"}) + self.assertNotIn("enabled", d) + round_trip = mapper.dict_to_spec("remote", d) + self.assertEqual(round_trip.transport, "http") + self.assertEqual(round_trip.url, "https://mcp.example.com") + + +class OpenClawMapperTests(unittest.TestCase): + def test_http_uses_streamable_http_transport(self) -> None: + mapper = OpenClawMapper() + d = mapper.spec_to_dict(_http()) + self.assertEqual(d["transport"], "streamable-http") + self.assertEqual(d["url"], "https://mcp.example.com") + round_trip = mapper.dict_to_spec("remote", d) + self.assertEqual(round_trip.transport, "http") + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/unit/test_mcp_stdio.py b/tests/unit/test_mcp_stdio.py new file mode 100644 index 0000000..04893aa --- /dev/null +++ b/tests/unit/test_mcp_stdio.py @@ -0,0 +1,34 @@ +from __future__ import annotations + +import unittest + +from skill_manager.application.mcp.stdio import parse_static_stdio_function + + +class StaticStdioParserTests(unittest.TestCase): + def test_parses_static_command_and_args(self) -> None: + recipe = "(config) => ({ command: 'npx', args: ['-y', '@acme/server'] })" + + command = parse_static_stdio_function(recipe) + + assert command is not None + self.assertEqual(command.command, "npx") + self.assertEqual(command.args, ("-y", "@acme/server")) + + def test_rejects_dynamic_config_reference(self) -> None: + recipe = "(config) => ({ command: 'npx', args: ['-y', config.package] })" + + self.assertIsNone(parse_static_stdio_function(recipe)) + + def test_treats_missing_args_as_empty(self) -> None: + recipe = "() => ({ command: 'uvx' })" + + command = parse_static_stdio_function(recipe) + + assert command is not None + self.assertEqual(command.command, "uvx") + self.assertEqual(command.args, ()) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/unit/test_mcp_store.py b/tests/unit/test_mcp_store.py new file mode 100644 index 0000000..d0e2bf3 --- /dev/null +++ b/tests/unit/test_mcp_store.py @@ -0,0 +1,175 @@ +from __future__ import annotations + +import json +import unittest +from pathlib import Path +from tempfile import TemporaryDirectory + +from skill_manager.application.mcp.store import McpServerSpec, McpServerStore, McpSource + + +def _spec(name: str = "exa", **overrides) -> McpServerSpec: + base = dict( + name=name, + display_name=name.title(), + source=McpSource.marketplace(f"@user/{name}"), + transport="stdio", + command="npx", + args=("-y", f"{name}-mcp-server"), + env=(("EXA_API_KEY", "secret"),), + ) + base.update(overrides) + return McpServerSpec(**base) + + +class McpServerStoreTests(unittest.TestCase): + def test_upsert_then_list(self) -> None: + with TemporaryDirectory() as tmp: + store = McpServerStore(Path(tmp) / "manifest.json") + store.upsert_from_spec(_spec("exa")) + store.upsert_from_spec(_spec("context7", command="uvx", args=("context7-mcp",), env=None)) + + entries = store.list_binding_specs() + + self.assertEqual({entry.name for entry in entries}, {"exa", "context7"}) + + def test_upsert_replaces_existing(self) -> None: + with TemporaryDirectory() as tmp: + store = McpServerStore(Path(tmp) / "manifest.json") + store.upsert_from_spec(_spec("exa", env=(("EXA_API_KEY", "old"),))) + store.upsert_from_spec(_spec("exa", env=(("EXA_API_KEY", "new"),))) + + entries = store.list_binding_specs() + + self.assertEqual(len(entries), 1) + self.assertEqual(dict(entries[0].env or ()), {"EXA_API_KEY": "new"}) + + def test_get_returns_none_when_missing(self) -> None: + with TemporaryDirectory() as tmp: + store = McpServerStore(Path(tmp) / "manifest.json") + + self.assertIsNone(store.get_binding_spec("exa")) + + def test_remove_returns_false_when_missing(self) -> None: + with TemporaryDirectory() as tmp: + store = McpServerStore(Path(tmp) / "manifest.json") + + self.assertFalse(store.remove("exa")) + + def test_remove_returns_true_and_drops_entry(self) -> None: + with TemporaryDirectory() as tmp: + store = McpServerStore(Path(tmp) / "manifest.json") + store.upsert_from_spec(_spec("exa")) + + self.assertTrue(store.remove("exa")) + self.assertEqual(store.list_binding_specs(), ()) + + def test_revision_changes_when_payload_differs(self) -> None: + with TemporaryDirectory() as tmp: + store = McpServerStore(Path(tmp) / "manifest.json") + store.upsert_from_spec(_spec("exa")) + stored = store.get_binding_spec("exa") + assert stored is not None + + store.upsert_from_spec(_spec("exa", command="bunx")) + stored2 = store.get_binding_spec("exa") + assert stored2 is not None + + self.assertTrue(stored.revision) + self.assertNotEqual(stored.revision, stored2.revision) + + def test_manifest_is_valid_json(self) -> None: + with TemporaryDirectory() as tmp: + manifest_path = Path(tmp) / "manifest.json" + store = McpServerStore(manifest_path) + store.upsert_from_spec(_spec("exa")) + + payload = json.loads(manifest_path.read_text(encoding="utf-8")) + + self.assertEqual(payload["version"], 5) + self.assertEqual(len(payload["servers"]), 1) + self.assertEqual(payload["servers"][0]["name"], "exa") + + def test_round_trip_http_spec_preserves_headers_cleartext(self) -> None: + with TemporaryDirectory() as tmp: + store = McpServerStore(Path(tmp) / "manifest.json") + store.upsert_from_spec( + McpServerSpec( + name="remote", + display_name="Remote", + source=McpSource.marketplace("@remote/server"), + transport="http", + url="https://mcp.example.com?api_key=literal", + headers=(("Authorization", "Bearer literal"),), + ) + ) + + loaded = store.get_binding_spec("remote") + public = store.get_public_spec("remote") + + assert loaded is not None + assert public is not None + self.assertEqual(loaded.transport, "http") + self.assertEqual(loaded.url, "https://mcp.example.com?api_key=literal") + self.assertEqual(dict(loaded.headers or ()), {"Authorization": "Bearer literal"}) + self.assertEqual(public.to_dict(), loaded.to_dict()) + + def test_reads_do_not_rewrite_legacy_manifest(self) -> None: + with TemporaryDirectory() as tmp: + manifest_path = Path(tmp) / "manifest.json" + original = json.dumps( + { + "version": 3, + "servers": [ + { + "name": "exa", + "displayName": "Exa Search", + "source": {"kind": "marketplace", "locator": "exa"}, + "transport": "http", + "url": "https://mcp.exa.ai", + "setupState": "missing", + "setupFields": [], + } + ], + }, + indent=2, + ) + manifest_path.write_text(original, encoding="utf-8") + + store = McpServerStore(manifest_path) + managed = store.list_managed() + binding = store.get_binding_spec("exa") + + self.assertEqual(len(managed), 1) + assert binding is not None + self.assertEqual(binding.url, "https://mcp.exa.ai") + self.assertEqual(manifest_path.read_text(encoding="utf-8"), original) + + def test_manifest_issues_report_malformed_entries_without_dropping_valid_entries(self) -> None: + with TemporaryDirectory() as tmp: + manifest_path = Path(tmp) / "manifest.json" + manifest_path.write_text( + json.dumps( + { + "servers": [ + { + "name": "valid", + "displayName": "Valid", + "source": {"kind": "manual", "locator": "valid"}, + "transport": "http", + "url": "https://valid.example", + }, + {"displayName": "Missing Name"}, + ], + } + ), + encoding="utf-8", + ) + store = McpServerStore(manifest_path) + + self.assertEqual([server.name for server in store.list_managed()], ["valid"]) + self.assertEqual(len(store.manifest_issues()), 1) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/unit/test_paths.py b/tests/unit/test_paths.py index 057a5b0..aa66b87 100644 --- a/tests/unit/test_paths.py +++ b/tests/unit/test_paths.py @@ -34,8 +34,8 @@ def test_macos_default_layout_collapses_to_application_support(self) -> None: self.assertEqual(paths.config_dir, base) self.assertEqual(paths.data_dir, base) self.assertEqual(paths.state_dir, base) - self.assertEqual(paths.shared_store_root, base / "shared") - self.assertEqual(paths.shared_store_manifest, base / "manifest.json") + self.assertEqual(paths.skills_store_root, base / "shared") + self.assertEqual(paths.skills_store_manifest, base / "manifest.json") self.assertEqual(paths.marketplace_cache_root, base / "marketplace") self.assertEqual(paths.settings_path, base / "settings.json") self.assertEqual(paths.runtime_state_path, base / "runtime.json") @@ -54,7 +54,7 @@ def test_xdg_overrides_each_dir_independently(self) -> None: self.assertEqual(paths.config_dir, root / "cfg" / APP_NAME) self.assertEqual(paths.data_dir, root / "data" / APP_NAME) self.assertEqual(paths.state_dir, root / "state" / APP_NAME) - self.assertEqual(paths.shared_store_root, root / "data" / APP_NAME / "shared") + self.assertEqual(paths.skills_store_root, root / "data" / APP_NAME / "shared") self.assertEqual(paths.settings_path, root / "cfg" / APP_NAME / "settings.json") def test_settings_path_env_overrides_settings_path(self) -> None: diff --git a/tests/unit/test_manifest.py b/tests/unit/test_skill_manifest.py similarity index 77% rename from tests/unit/test_manifest.py rename to tests/unit/test_skill_manifest.py index 1fdcf26..bac4fd2 100644 --- a/tests/unit/test_manifest.py +++ b/tests/unit/test_skill_manifest.py @@ -4,16 +4,21 @@ from tempfile import TemporaryDirectory import unittest -from skill_manager.store import ManifestEntry, StoreManifest, load_manifest, write_manifest +from skill_manager.application.skills.manifest import ( + SkillStoreEntry, + SkillStoreManifest, + load_skill_store_manifest as load_manifest, + write_skill_store_manifest as write_manifest, +) -class ManifestTests(unittest.TestCase): +class SkillStoreManifestTests(unittest.TestCase): def test_manifest_round_trip(self) -> None: with TemporaryDirectory() as temp_dir: manifest_path = Path(temp_dir) / "manifest.json" - manifest = StoreManifest( + manifest = SkillStoreManifest( entries=( - ManifestEntry( + SkillStoreEntry( package_dir="shared-audit", declared_name="Shared Audit", source_kind="github", diff --git a/tests/unit/test_skills.py b/tests/unit/test_skill_package.py similarity index 96% rename from tests/unit/test_skills.py rename to tests/unit/test_skill_package.py index adf184f..16373f1 100644 --- a/tests/unit/test_skills.py +++ b/tests/unit/test_skill_package.py @@ -4,7 +4,13 @@ from tempfile import TemporaryDirectory import unittest -from skill_manager.domain import SourceDescriptor, SkillParseError, fingerprint_package, parse_skill_manifest_text, parse_skill_package +from skill_manager.application.skills.identity import SourceDescriptor +from skill_manager.application.skills.package import ( + SkillParseError, + fingerprint_package, + parse_skill_manifest_text, + parse_skill_package, +) from tests.support.fake_home import seed_skill_package diff --git a/tests/unit/test_store.py b/tests/unit/test_skill_store.py similarity index 84% rename from tests/unit/test_store.py rename to tests/unit/test_skill_store.py index cf40429..48b8d13 100644 --- a/tests/unit/test_store.py +++ b/tests/unit/test_skill_store.py @@ -4,17 +4,18 @@ from tempfile import TemporaryDirectory import unittest -from skill_manager.store import SharedStore, load_manifest +from skill_manager.application.skills.manifest import load_skill_store_manifest as load_manifest +from skill_manager.application.skills.store import SkillStore from tests.support.fake_home import create_fake_home_spec, seed_skill_package -class SharedStoreIngestTests(unittest.TestCase): +class SkillStoreIngestTests(unittest.TestCase): def test_ingest_copies_package_and_updates_manifest(self) -> None: with TemporaryDirectory() as temp_dir: spec = create_fake_home_spec(Path(temp_dir)) source = seed_skill_package(spec.home / ".codex" / "skills", "audit", "Audit Skill") - store = SharedStore(spec.shared_store_root) + store = SkillStore(spec.skills_store_root) dest = store.ingest( source_path=source, declared_name="Audit Skill", @@ -35,9 +36,9 @@ def test_ingest_copies_package_and_updates_manifest(self) -> None: def test_ingest_refuses_existing_directory(self) -> None: with TemporaryDirectory() as temp_dir: spec = create_fake_home_spec(Path(temp_dir)) - seed_skill_package(spec.shared_store_root, "audit", "Existing") + seed_skill_package(spec.skills_store_root, "audit", "Existing") source = seed_skill_package(spec.home / ".codex" / "skills", "audit", "Audit Skill") - store = SharedStore(spec.shared_store_root) + store = SkillStore(spec.skills_store_root) with self.assertRaises(ValueError) as ctx: store.ingest( source_path=source, @@ -51,7 +52,7 @@ def test_ingest_creates_store_root_if_missing(self) -> None: with TemporaryDirectory() as temp_dir: source = seed_skill_package(Path(temp_dir) / "harness", "audit", "Audit Skill") missing_root = Path(temp_dir) / "new-store" / "shared" - store = SharedStore(missing_root) + store = SkillStore(missing_root) dest = store.ingest( source_path=source, declared_name="Audit Skill", @@ -62,17 +63,17 @@ def test_ingest_creates_store_root_if_missing(self) -> None: self.assertTrue(missing_root.is_dir()) -class SharedStoreUpdateTests(unittest.TestCase): +class SkillStoreUpdateTests(unittest.TestCase): def test_update_replaces_changed_package(self) -> None: with TemporaryDirectory() as temp_dir: spec = create_fake_home_spec(Path(temp_dir)) - store = SharedStore(spec.shared_store_root) + store = SkillStore(spec.skills_store_root) source_v1 = seed_skill_package(Path(temp_dir) / "v1", "audit", "Audit", body="version 1") store.ingest(source_path=source_v1, declared_name="Audit", source_kind="github", source_locator="github:test/test/audit") source_v2 = seed_skill_package(Path(temp_dir) / "v2", "audit", "Audit", body="version 2") _, changed = store.update("audit", source_path=source_v2, source_ref="main", source_path_hint="skills/audit") self.assertTrue(changed) - content = (spec.shared_store_root / "audit" / "SKILL.md").read_text() + content = (spec.skills_store_root / "audit" / "SKILL.md").read_text() self.assertIn("version 2", content) manifest = load_manifest(store.manifest_path) self.assertEqual(len(manifest.entries), 1) @@ -82,7 +83,7 @@ def test_update_replaces_changed_package(self) -> None: def test_update_noop_when_identical(self) -> None: with TemporaryDirectory() as temp_dir: spec = create_fake_home_spec(Path(temp_dir)) - store = SharedStore(spec.shared_store_root) + store = SkillStore(spec.skills_store_root) source = seed_skill_package(Path(temp_dir) / "original", "audit", "Audit", body="same content") store.ingest(source_path=source, declared_name="Audit", source_kind="github", source_locator="github:test/test/audit") source_copy = seed_skill_package(Path(temp_dir) / "copy", "audit", "Audit", body="same content") @@ -92,18 +93,18 @@ def test_update_noop_when_identical(self) -> None: def test_update_refuses_missing_package(self) -> None: with TemporaryDirectory() as temp_dir: spec = create_fake_home_spec(Path(temp_dir)) - store = SharedStore(spec.shared_store_root) + store = SkillStore(spec.skills_store_root) source = seed_skill_package(Path(temp_dir) / "src", "audit", "Audit") with self.assertRaises(ValueError) as ctx: store.update("nonexistent", source_path=source) self.assertIn("not in store", str(ctx.exception)) -class SharedStoreDeleteTests(unittest.TestCase): +class SkillStoreDeleteTests(unittest.TestCase): def test_delete_removes_package_and_manifest_entry(self) -> None: with TemporaryDirectory() as temp_dir: spec = create_fake_home_spec(Path(temp_dir)) - store = SharedStore(spec.shared_store_root) + store = SkillStore(spec.skills_store_root) source = seed_skill_package(Path(temp_dir) / "src", "audit", "Audit") store.ingest( source_path=source, @@ -114,14 +115,14 @@ def test_delete_removes_package_and_manifest_entry(self) -> None: store.delete("audit") - self.assertFalse((spec.shared_store_root / "audit").exists()) + self.assertFalse((spec.skills_store_root / "audit").exists()) manifest = load_manifest(store.manifest_path) self.assertEqual(manifest.entries, ()) def test_delete_refuses_missing_package(self) -> None: with TemporaryDirectory() as temp_dir: spec = create_fake_home_spec(Path(temp_dir)) - store = SharedStore(spec.shared_store_root) + store = SkillStore(spec.skills_store_root) with self.assertRaises(ValueError) as ctx: store.delete("missing") @@ -131,13 +132,13 @@ def test_delete_refuses_missing_package(self) -> None: def test_delete_refuses_package_missing_from_manifest(self) -> None: with TemporaryDirectory() as temp_dir: spec = create_fake_home_spec(Path(temp_dir)) - seed_skill_package(spec.shared_store_root, "audit", "Audit") - store = SharedStore(spec.shared_store_root) + seed_skill_package(spec.skills_store_root, "audit", "Audit") + store = SkillStore(spec.skills_store_root) with self.assertRaises(ValueError) as ctx: store.delete("audit") self.assertIn("missing from manifest", str(ctx.exception)) - self.assertTrue((spec.shared_store_root / "audit").is_dir()) + self.assertTrue((spec.skills_store_root / "audit").is_dir()) if __name__ == "__main__": unittest.main() diff --git a/tests/unit/test_shared_store_concurrent.py b/tests/unit/test_skill_store_concurrent.py similarity index 86% rename from tests/unit/test_shared_store_concurrent.py rename to tests/unit/test_skill_store_concurrent.py index df92287..d61cabe 100644 --- a/tests/unit/test_shared_store_concurrent.py +++ b/tests/unit/test_skill_store_concurrent.py @@ -5,17 +5,18 @@ from pathlib import Path from tempfile import TemporaryDirectory -from skill_manager.store import SharedStore, load_manifest +from skill_manager.application.skills.manifest import load_skill_store_manifest as load_manifest +from skill_manager.application.skills.store import SkillStore from tests.support.fake_home import seed_skill_package -class SharedStoreConcurrentIngestTests(unittest.TestCase): +class SkillStoreConcurrentIngestTests(unittest.TestCase): def test_two_threads_ingesting_distinct_packages_persist_both_entries(self) -> None: for iteration in range(20): with TemporaryDirectory() as temp: store_root = Path(temp) / "shared" - store = SharedStore(store_root) + store = SkillStore(store_root) staging = Path(temp) / "staging" staging.mkdir() diff --git a/tests/unit/test_skills_adapters.py b/tests/unit/test_skills_adapters.py new file mode 100644 index 0000000..0c49005 --- /dev/null +++ b/tests/unit/test_skills_adapters.py @@ -0,0 +1,113 @@ +from __future__ import annotations + +from pathlib import Path +from tempfile import TemporaryDirectory +import unittest + +from skill_manager.application.skills.adapters import build_skills_adapters +from skill_manager.errors import MutationError +from skill_manager.harness import HarnessKernelService, HarnessSupportStore + +from tests.support.fake_home import create_fake_home_spec, seed_skill_package + + +def _adapter(harness: str, spec) : + kernel = HarnessKernelService.from_environment( + spec.env(), + support_store=HarnessSupportStore(spec.root / "settings.json"), + ) + return next(adapter for adapter in build_skills_adapters(kernel) if adapter.harness == harness) + + +class SkillsAdapterTests(unittest.TestCase): + def test_adapter_scans_discovery_roots_and_reports_installation(self) -> None: + with TemporaryDirectory() as temp_dir: + spec = create_fake_home_spec(Path(temp_dir)) + seed_skill_package(spec.codex_legacy_root, "trace-lens", "Trace Lens") + seed_skill_package(spec.openclaw_managed_root, "watch", "Workspace Watch") + + codex = _adapter("codex", spec) + claude = _adapter("claude", spec) + openclaw = _adapter("openclaw", spec) + + codex_scan = codex.scan() + claude_scan = claude.scan() + openclaw_scan = openclaw.scan() + + self.assertTrue(codex_scan.installed) + self.assertEqual(codex_scan.skills[0].package.declared_name, "Trace Lens") + self.assertTrue(claude_scan.installed) + self.assertEqual(claude_scan.skills, ()) + self.assertTrue(openclaw_scan.installed) + self.assertEqual( + [skill.package.declared_name for skill in openclaw_scan.skills], + ["Workspace Watch"], + ) + + def test_adapter_reports_missing_cli_as_not_installed(self) -> None: + with TemporaryDirectory() as temp_dir: + spec = create_fake_home_spec(Path(temp_dir), seed_openclaw_state=False) + + openclaw = _adapter("openclaw", spec) + + self.assertFalse(openclaw.status().installed) + self.assertEqual(openclaw.scan().skills, ()) + + def test_enable_creates_symlink(self) -> None: + with TemporaryDirectory() as temp_dir: + spec = create_fake_home_spec(Path(temp_dir)) + package = seed_skill_package(spec.skills_store_root, "audit", "Audit") + codex = _adapter("codex", spec) + + codex.enable_shared_package(package) + + link = spec.codex_root / "audit" + self.assertTrue(link.is_symlink()) + self.assertEqual(link.resolve(), package.resolve()) + + def test_enable_refuses_real_directory(self) -> None: + with TemporaryDirectory() as temp_dir: + spec = create_fake_home_spec(Path(temp_dir)) + package = seed_skill_package(spec.skills_store_root, "audit", "Audit") + seed_skill_package(spec.codex_root, "audit", "Local Audit") + codex = _adapter("codex", spec) + + with self.assertRaises(MutationError) as ctx: + codex.enable_shared_package(package) + + self.assertIn("real directory", str(ctx.exception)) + + def test_adopt_local_copy_replaces_dir_with_symlink(self) -> None: + with TemporaryDirectory() as temp_dir: + spec = create_fake_home_spec(Path(temp_dir)) + store_pkg = seed_skill_package(spec.skills_store_root, "audit", "Audit") + harness_pkg = seed_skill_package(spec.codex_root, "audit", "Audit") + codex = _adapter("codex", spec) + + codex.adopt_local_copy(harness_pkg, store_pkg) + + self.assertTrue(harness_pkg.is_symlink()) + self.assertEqual(harness_pkg.resolve(), store_pkg.resolve()) + + def test_materialize_binding_restores_real_directory(self) -> None: + with TemporaryDirectory() as temp_dir: + spec = create_fake_home_spec(Path(temp_dir)) + store_pkg = seed_skill_package( + spec.skills_store_root, + "audit", + "Audit", + body="shared version", + ) + link = spec.codex_root / "audit" + link.symlink_to(store_pkg.resolve()) + codex = _adapter("codex", spec) + + codex.materialize_binding("audit", store_pkg) + + self.assertTrue(link.is_dir()) + self.assertFalse(link.is_symlink()) + self.assertIn("shared version", (link / "SKILL.md").read_text(encoding="utf-8")) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/unit/test_marketplace_service.py b/tests/unit/test_skills_marketplace_catalog.py similarity index 96% rename from tests/unit/test_marketplace_service.py rename to tests/unit/test_skills_marketplace_catalog.py index 6945014..c2c9e03 100644 --- a/tests/unit/test_marketplace_service.py +++ b/tests/unit/test_skills_marketplace_catalog.py @@ -4,11 +4,11 @@ from tempfile import mkdtemp import unittest -from skill_manager.application.marketplace import MarketplaceCatalog -from skill_manager.application.marketplace.cache import MarketplaceCache -from skill_manager.application.marketplace.models import SkillsShSkill -from skill_manager.application.marketplace.repo_snapshots import GitHubRepoSnapshotService -from skill_manager.application.marketplace.resolver import DetailEnrichment, GitHubSkillResolver +from skill_manager.application.skills.marketplace import MarketplaceCatalog +from skill_manager.application.marketplace_cache import MarketplaceCache +from skill_manager.application.skills.marketplace.models import SkillsShSkill +from skill_manager.application.skills.marketplace.repo_snapshots import GitHubRepoSnapshotService +from skill_manager.application.skills.marketplace.resolver import DetailEnrichment, GitHubSkillResolver from skill_manager.errors import MARKETPLACE_UNAVAILABLE_MESSAGE, MarketplaceUpstreamError from skill_manager.sources import GitHubRepoMetadata, GitHubRepoMetadataClient from tests.support.marketplace_fixture import create_fixture_marketplace_service @@ -27,7 +27,7 @@ def _resolver( return GitHubSkillResolver(snapshot_service) -class MarketplaceServiceTests(unittest.TestCase): +class SkillsMarketplaceCatalogTests(unittest.TestCase): def test_popular_returns_install_sorted_cards_with_repo_links(self) -> None: payload = create_fixture_marketplace_service().popular_page()["items"] diff --git a/tests/unit/test_smithery_catalog.py b/tests/unit/test_smithery_catalog.py new file mode 100644 index 0000000..4ae08ce --- /dev/null +++ b/tests/unit/test_smithery_catalog.py @@ -0,0 +1,361 @@ +from __future__ import annotations + +import unittest +from unittest import mock + +from skill_manager.application.marketplace_cache import MarketplaceCache +from skill_manager.application.mcp.marketplace.catalog import ( + McpMarketplaceCatalog, + _flatten_input_schema, + _map_detail, + _map_summary, +) +from skill_manager.errors import MarketplaceUpstreamError + + +_EXA_DETAIL_SAMPLE: dict[str, object] = { + "qualifiedName": "exa", + "displayName": "Exa Search", + "description": "Fast, intelligent web search and web crawling.", + "iconUrl": "https://api.smithery.ai/servers/exa/icon", + "remote": True, + "deploymentUrl": "https://exa.run.tools", + "connections": [ + { + "type": "http", + "deploymentUrl": "https://exa.run.tools", + "configSchema": {}, + } + ], + "security": None, + "tools": [ + { + "name": "web_search_exa", + "description": "Search the web for any topic.", + "inputSchema": { + "type": "object", + "properties": { + "query": { + "type": "string", + "description": "Natural language search query.", + }, + "numResults": { + "type": "number", + "description": "Number of search results to return.", + "minimum": 1, + "maximum": 100, + "default": 10, + }, + }, + "required": ["query"], + }, + } + ], + "resources": [ + { + "name": "tools_list", + "uri": "exa://tools/list", + "description": "List of available tools", + "mimeType": "application/json", + } + ], + "prompts": [ + { + "name": "web_search_help", + "description": "Get help with web search.", + "arguments": [], + } + ], +} + + +_DESKTOP_DETAIL_SAMPLE: dict[str, object] = { + "qualifiedName": "wonderwhy-er/desktop-commander", + "displayName": "Desktop Commander", + "description": "Execute terminal commands.", + "iconUrl": "https://icons.duckduckgo.com/ip3/desktopcommander.app.ico", + "remote": False, + "deploymentUrl": None, + "connections": [ + { + "type": "stdio", + "stdioFunction": "(config) => ({ command: 'npx', args: ['-y', '@wonderwhy-er/desktop-commander'] })", + "configSchema": {"type": "object", "properties": {}}, + } + ], + "security": None, + "tools": [ + { + "name": "read_file", + "description": "Read a file.", + "inputSchema": { + "type": "object", + "properties": { + "path": {"type": "string"}, + "isUrl": {"type": "boolean", "default": False}, + }, + "required": ["path"], + }, + } + ], + "resources": [], + "prompts": [], +} + + +_SSE_DETAIL_SAMPLE: dict[str, object] = { + "qualifiedName": "@acme/stream-server", + "displayName": "Stream Server", + "description": "Remote SSE MCP server.", + "iconUrl": None, + "remote": True, + "deploymentUrl": "https://stream.example/mcp", + "connections": [ + { + "type": "sse", + "deploymentUrl": "https://stream.example/mcp", + "configSchema": None, + } + ], + "security": None, + "tools": [], + "resources": [], + "prompts": [], +} + + +_LIST_RESPONSE_SAMPLE: dict[str, object] = { + "servers": [ + { + "id": "uuid-1", + "qualifiedName": "exa", + "namespace": "exa", + "slug": "", + "displayName": "Exa Search", + "description": "Fast search.", + "iconUrl": "https://api.smithery.ai/servers/exa/icon", + "verified": True, + "useCount": 59906, + "remote": True, + "isDeployed": True, + "createdAt": "2024-12-13T15:46:50.750Z", + "homepage": "https://exa.ai", + "owner": "org_1", + "score": None, + }, + { + "id": "uuid-2", + "qualifiedName": "wonderwhy-er/desktop-commander", + "namespace": "wonderwhy-er", + "slug": "desktop-commander", + "displayName": "Desktop Commander", + "description": "Local terminal control.", + "iconUrl": None, + "verified": False, + "useCount": 728, + "remote": False, + "isDeployed": False, + "createdAt": "2025-02-01T00:00:00.000Z", + "homepage": None, + "owner": "org_2", + "score": None, + }, + ], + "pagination": { + "currentPage": 1, + "pageSize": 30, + "totalPages": 161, + "totalCount": 4814, + }, +} + + +class FlattenInputSchemaTests(unittest.TestCase): + def test_flattens_properties_and_required(self) -> None: + params = _flatten_input_schema( + { + "type": "object", + "properties": { + "query": {"type": "string", "description": "text"}, + "numResults": {"type": "number", "minimum": 1, "maximum": 100, "default": 10}, + }, + "required": ["query"], + } + ) + self.assertEqual(len(params), 2) + by_name = {param["name"]: param for param in params} + self.assertEqual(by_name["query"]["type"], "string") + self.assertTrue(by_name["query"]["required"]) + self.assertEqual(by_name["numResults"]["type"], "number") + self.assertFalse(by_name["numResults"]["required"]) + self.assertEqual(by_name["numResults"]["minimum"], 1) + self.assertEqual(by_name["numResults"]["maximum"], 100) + self.assertEqual(by_name["numResults"]["default"], 10) + + def test_missing_type_becomes_unknown(self) -> None: + params = _flatten_input_schema({"properties": {"odd": {"description": "no type"}}}) + self.assertEqual(len(params), 1) + self.assertEqual(params[0]["type"], "unknown") + + def test_type_as_array_picks_first_valid(self) -> None: + params = _flatten_input_schema( + {"properties": {"maybe": {"type": ["null", "string"]}}} + ) + self.assertEqual(params[0]["type"], "string") + + def test_empty_schema_returns_empty_list(self) -> None: + self.assertEqual(_flatten_input_schema(None), []) + self.assertEqual(_flatten_input_schema({"type": "object"}), []) + self.assertEqual(_flatten_input_schema({"type": "object", "properties": {}}), []) + + +class MapSummaryTests(unittest.TestCase): + def test_remote_verified_entry(self) -> None: + summary = _map_summary(_LIST_RESPONSE_SAMPLE["servers"][0]) + self.assertEqual(summary["qualifiedName"], "exa") + self.assertTrue(summary["isVerified"]) + self.assertTrue(summary["isRemote"]) + self.assertEqual(summary["useCount"], 59906) + self.assertEqual(summary["externalUrl"], "https://smithery.ai/server/exa") + + def test_local_unverified_entry(self) -> None: + summary = _map_summary(_LIST_RESPONSE_SAMPLE["servers"][1]) + self.assertFalse(summary["isVerified"]) + self.assertFalse(summary["isRemote"]) + self.assertIsNone(summary["iconUrl"]) + self.assertIsNone(summary["homepage"]) + self.assertEqual( + summary["externalUrl"], "https://smithery.ai/server/wonderwhy-er/desktop-commander" + ) + + +class MapDetailTests(unittest.TestCase): + def test_remote_detail_maps_connections_and_tools(self) -> None: + detail = _map_detail(_EXA_DETAIL_SAMPLE, qualified_name="exa") + self.assertTrue(detail["isRemote"]) + self.assertEqual(detail["managedName"], "exa") + self.assertEqual(detail["deploymentUrl"], "https://exa.run.tools") + self.assertEqual(detail["connections"][0]["kind"], "http") + self.assertEqual(detail["connections"][0]["deploymentUrl"], "https://exa.run.tools") + self.assertEqual(len(detail["tools"]), 1) + self.assertEqual(detail["tools"][0]["name"], "web_search_exa") + self.assertEqual(detail["capabilityCounts"], {"tools": 1, "resources": 1, "prompts": 1}) + + def test_local_detail_marks_stdio_connection(self) -> None: + detail = _map_detail( + _DESKTOP_DETAIL_SAMPLE, qualified_name="wonderwhy-er/desktop-commander" + ) + self.assertFalse(detail["isRemote"]) + self.assertIsNone(detail["deploymentUrl"]) + self.assertEqual(detail["connections"][0]["kind"], "stdio") + self.assertEqual(detail["connections"][0]["stdioCommand"], "npx") + self.assertEqual( + detail["connections"][0]["stdioArgs"], + ["-y", "@wonderwhy-er/desktop-commander"], + ) + self.assertEqual(detail["capabilityCounts"]["tools"], 1) + self.assertEqual(detail["capabilityCounts"]["resources"], 0) + + def test_sse_connection_is_preserved(self) -> None: + detail = _map_detail(_SSE_DETAIL_SAMPLE, qualified_name="@acme/stream-server") + self.assertEqual(detail["managedName"], "stream-server") + self.assertEqual(detail["connections"][0]["kind"], "sse") + + def test_config_schema_is_preserved_as_marketplace_metadata(self) -> None: + raw = { + **_EXA_DETAIL_SAMPLE, + "connections": [ + { + "type": "http", + "deploymentUrl": "https://exa.run.tools", + "configSchema": { + "type": "object", + "required": ["headers"], + "properties": { + "headers": {"type": "object", "description": "Custom headers"}, + }, + }, + } + ], + } + + detail = _map_detail(raw, qualified_name="exa") + + self.assertEqual( + detail["connections"][0]["configSchema"], + raw["connections"][0]["configSchema"], + ) + + def test_bundle_only_local_detail_preserves_metadata(self) -> None: + raw = { + **_DESKTOP_DETAIL_SAMPLE, + "connections": [ + { + "type": "stdio", + "bundleUrl": "https://backend.smithery.ai/storage/v1/object/public/bundles/@acme/server/server.mcpb", + "runtime": "node", + "configSchema": {"type": "object", "required": [], "properties": {}}, + } + ], + } + + detail = _map_detail(raw, qualified_name="acme/server") + + self.assertEqual(detail["connections"][0]["bundleUrl"], raw["connections"][0]["bundleUrl"]) + self.assertEqual(detail["connections"][0]["runtime"], "node") + + +class McpMarketplaceCatalogTests(unittest.TestCase): + def test_popular_page_maps_response_and_reports_has_more(self) -> None: + catalog = McpMarketplaceCatalog( + fetcher=lambda _path: _LIST_RESPONSE_SAMPLE, + cache=MarketplaceCache(), + ) + page = catalog.popular_page(limit=30, offset=0) + self.assertEqual(len(page["items"]), 2) + self.assertEqual(page["items"][0]["qualifiedName"], "exa") + self.assertTrue(page["hasMore"]) + self.assertEqual(page["nextOffset"], 2) + + def test_search_with_only_filters_bypasses_min_query(self) -> None: + catalog = McpMarketplaceCatalog( + fetcher=lambda _path: _LIST_RESPONSE_SAMPLE, + cache=MarketplaceCache(), + ) + page = catalog.search_page("", limit=30, offset=0, remote=False) + self.assertEqual(len(page["items"]), 2) + + def test_search_requires_min_query_when_no_filters(self) -> None: + catalog = McpMarketplaceCatalog( + fetcher=lambda _path: _LIST_RESPONSE_SAMPLE, + cache=MarketplaceCache(), + ) + with self.assertRaises(ValueError): + catalog.search_page("a", limit=30, offset=0) + + def test_detail_returns_none_on_404(self) -> None: + def fetcher(_path: str) -> dict[str, object]: + raise MarketplaceUpstreamError("bad_status", "u", "x", upstream_status=404) + + catalog = McpMarketplaceCatalog(fetcher=fetcher, cache=MarketplaceCache()) + self.assertIsNone(catalog.detail("missing")) + + def test_detail_caches_within_ttl(self) -> None: + fetcher = mock.Mock(return_value=_EXA_DETAIL_SAMPLE) + catalog = McpMarketplaceCatalog(fetcher=fetcher, cache=MarketplaceCache()) + self.assertIsNone(catalog.detail(" ")) # empty name path + first = catalog.detail("exa") + second = catalog.detail("exa") + self.assertEqual(first, second) + # MarketplaceCache() with root=None does not persist, so each call hits fetcher. + # Use a tmp-backed cache to prove single fetch. + + def test_detail_path_encoded_for_namespaced_name(self) -> None: + fetcher = mock.Mock(return_value=_DESKTOP_DETAIL_SAMPLE) + catalog = McpMarketplaceCatalog(fetcher=fetcher, cache=MarketplaceCache()) + catalog.detail("wonderwhy-er/desktop-commander") + called_path = fetcher.call_args.args[0] + self.assertEqual(called_path, "/servers/wonderwhy-er/desktop-commander") + +if __name__ == "__main__": + unittest.main() diff --git a/tests/unit/test_sources.py b/tests/unit/test_sources.py index 2d43ca9..65326e2 100644 --- a/tests/unit/test_sources.py +++ b/tests/unit/test_sources.py @@ -5,7 +5,7 @@ from tempfile import TemporaryDirectory import unittest -from skill_manager.application.marketplace.skillssh import ( +from skill_manager.application.skills.marketplace.skillssh import ( extract_detail_description, normalize_skill, parse_homepage_leaderboard, diff --git a/tests/unit/test_symlink_harness_manager.py b/tests/unit/test_symlink_harness_manager.py deleted file mode 100644 index 0d1b9a0..0000000 --- a/tests/unit/test_symlink_harness_manager.py +++ /dev/null @@ -1,202 +0,0 @@ -from __future__ import annotations - -from pathlib import Path -from tempfile import TemporaryDirectory -import unittest - -from skill_manager.errors import MutationError -from skill_manager.harness.managers import SymlinkHarnessManager - -from tests.support.fake_home import create_fake_home_spec, seed_skill_package - - -class SymlinkHarnessManagerTests(unittest.TestCase): - def test_enable_creates_symlink(self) -> None: - with TemporaryDirectory() as temp_dir: - spec = create_fake_home_spec(Path(temp_dir)) - package = seed_skill_package(spec.shared_store_root, "audit", "Audit") - manager = SymlinkHarnessManager(spec.home / ".codex" / "skills") - - manager.enable_shared_package(package) - - link = spec.home / ".codex" / "skills" / "audit" - self.assertTrue(link.is_symlink()) - self.assertEqual(link.resolve(), package.resolve()) - - def test_enable_is_idempotent_when_already_linked(self) -> None: - with TemporaryDirectory() as temp_dir: - spec = create_fake_home_spec(Path(temp_dir)) - package = seed_skill_package(spec.shared_store_root, "audit", "Audit") - manager = SymlinkHarnessManager(spec.home / ".codex" / "skills") - - manager.enable_shared_package(package) - manager.enable_shared_package(package) - - self.assertTrue((spec.home / ".codex" / "skills" / "audit").is_symlink()) - - def test_enable_refuses_real_directory(self) -> None: - with TemporaryDirectory() as temp_dir: - spec = create_fake_home_spec(Path(temp_dir)) - package = seed_skill_package(spec.shared_store_root, "audit", "Audit") - seed_skill_package(spec.home / ".codex" / "skills", "audit", "Local Audit") - manager = SymlinkHarnessManager(spec.home / ".codex" / "skills") - - with self.assertRaises(MutationError) as ctx: - manager.enable_shared_package(package) - - self.assertIn("real directory", str(ctx.exception)) - - def test_enable_refuses_foreign_symlink(self) -> None: - with TemporaryDirectory() as temp_dir: - spec = create_fake_home_spec(Path(temp_dir)) - package = seed_skill_package(spec.shared_store_root, "audit", "Audit") - other = seed_skill_package(Path(temp_dir) / "other-store", "audit", "Other Audit") - (spec.home / ".codex" / "skills" / "audit").symlink_to(other.resolve()) - manager = SymlinkHarnessManager(spec.home / ".codex" / "skills") - - with self.assertRaises(MutationError) as ctx: - manager.enable_shared_package(package) - - self.assertIn("points to", str(ctx.exception)) - - def test_enable_creates_parent_directory(self) -> None: - with TemporaryDirectory() as temp_dir: - package = seed_skill_package(Path(temp_dir) / "store", "audit", "Audit") - manager = SymlinkHarnessManager(Path(temp_dir) / "new-harness" / "skills") - - manager.enable_shared_package(package) - - self.assertTrue((Path(temp_dir) / "new-harness" / "skills" / "audit").is_symlink()) - - def test_disable_removes_symlink(self) -> None: - with TemporaryDirectory() as temp_dir: - spec = create_fake_home_spec(Path(temp_dir)) - package = seed_skill_package(spec.shared_store_root, "audit", "Audit") - skills_root = spec.home / ".codex" / "skills" - (skills_root / "audit").symlink_to(package.resolve()) - manager = SymlinkHarnessManager(skills_root) - - manager.disable_shared_package("audit") - - self.assertFalse((skills_root / "audit").exists()) - - def test_disable_is_idempotent_when_absent(self) -> None: - with TemporaryDirectory() as temp_dir: - spec = create_fake_home_spec(Path(temp_dir)) - manager = SymlinkHarnessManager(spec.home / ".codex" / "skills") - - manager.disable_shared_package("missing") - - self.assertFalse((spec.home / ".codex" / "skills" / "missing").exists()) - - def test_disable_refuses_real_directory(self) -> None: - with TemporaryDirectory() as temp_dir: - spec = create_fake_home_spec(Path(temp_dir)) - seed_skill_package(spec.home / ".codex" / "skills", "audit", "Local Audit") - manager = SymlinkHarnessManager(spec.home / ".codex" / "skills") - - with self.assertRaises(MutationError) as ctx: - manager.disable_shared_package("audit") - - self.assertIn("not a symlink", str(ctx.exception)) - - def test_adopt_local_copy_replaces_dir_with_symlink(self) -> None: - with TemporaryDirectory() as temp_dir: - spec = create_fake_home_spec(Path(temp_dir)) - store_pkg = seed_skill_package(spec.shared_store_root, "audit", "Audit") - harness_pkg = seed_skill_package(spec.home / ".codex" / "skills", "audit", "Audit") - manager = SymlinkHarnessManager(spec.home / ".codex" / "skills") - - manager.adopt_local_copy(harness_pkg, store_pkg) - - self.assertTrue(harness_pkg.is_symlink()) - self.assertEqual(harness_pkg.resolve(), store_pkg.resolve()) - - def test_adopt_local_copy_is_idempotent_when_already_linked(self) -> None: - with TemporaryDirectory() as temp_dir: - spec = create_fake_home_spec(Path(temp_dir)) - store_pkg = seed_skill_package(spec.shared_store_root, "audit", "Audit") - link = spec.home / ".codex" / "skills" / "audit" - link.symlink_to(store_pkg.resolve()) - manager = SymlinkHarnessManager(spec.home / ".codex" / "skills") - - manager.adopt_local_copy(link, store_pkg) - - self.assertTrue(link.is_symlink()) - - def test_adopt_local_copy_refuses_missing_directory(self) -> None: - with TemporaryDirectory() as temp_dir: - spec = create_fake_home_spec(Path(temp_dir)) - store_pkg = seed_skill_package(spec.shared_store_root, "audit", "Audit") - manager = SymlinkHarnessManager(spec.home / ".codex" / "skills") - - with self.assertRaises(MutationError) as ctx: - manager.adopt_local_copy(spec.home / ".codex" / "skills" / "missing", store_pkg) - - self.assertIn("does not exist", str(ctx.exception)) - - def test_adopt_local_copy_refuses_foreign_symlink(self) -> None: - with TemporaryDirectory() as temp_dir: - spec = create_fake_home_spec(Path(temp_dir)) - store_pkg = seed_skill_package(spec.shared_store_root, "audit", "Audit") - other = seed_skill_package(Path(temp_dir) / "other", "audit", "Other") - link = spec.home / ".codex" / "skills" / "audit" - link.symlink_to(other.resolve()) - manager = SymlinkHarnessManager(spec.home / ".codex" / "skills") - - with self.assertRaises(MutationError) as ctx: - manager.adopt_local_copy(link, store_pkg) - - self.assertIn("points to", str(ctx.exception)) - - def test_materialize_restores_real_directory_from_shared_symlink(self) -> None: - with TemporaryDirectory() as temp_dir: - spec = create_fake_home_spec(Path(temp_dir)) - store_pkg = seed_skill_package(spec.shared_store_root, "audit", "Audit", body="shared version") - link = spec.home / ".codex" / "skills" / "audit" - link.symlink_to(store_pkg.resolve()) - manager = SymlinkHarnessManager(spec.home / ".codex" / "skills") - - manager.materialize_binding("audit", store_pkg) - - self.assertTrue(link.is_dir()) - self.assertFalse(link.is_symlink()) - self.assertIn("shared version", (link / "SKILL.md").read_text(encoding="utf-8")) - - def test_materialize_refuses_real_directory_targets(self) -> None: - with TemporaryDirectory() as temp_dir: - spec = create_fake_home_spec(Path(temp_dir)) - store_pkg = seed_skill_package(spec.shared_store_root, "audit", "Audit") - seed_skill_package(spec.home / ".codex" / "skills", "audit", "Audit", body="local") - manager = SymlinkHarnessManager(spec.home / ".codex" / "skills") - - with self.assertRaises(MutationError) as ctx: - manager.materialize_binding("audit", store_pkg) - - self.assertIn("not a symlink", str(ctx.exception)) - - def test_materialize_refuses_foreign_symlink_targets(self) -> None: - with TemporaryDirectory() as temp_dir: - spec = create_fake_home_spec(Path(temp_dir)) - store_pkg = seed_skill_package(spec.shared_store_root, "audit", "Audit") - other_pkg = seed_skill_package(Path(temp_dir) / "other-store", "audit", "Other") - (spec.home / ".codex" / "skills" / "audit").symlink_to(other_pkg.resolve()) - manager = SymlinkHarnessManager(spec.home / ".codex" / "skills") - - with self.assertRaises(MutationError) as ctx: - manager.materialize_binding("audit", store_pkg) - - self.assertIn("points to", str(ctx.exception)) - - def test_has_binding_detects_real_directory_and_symlink(self) -> None: - with TemporaryDirectory() as temp_dir: - spec = create_fake_home_spec(Path(temp_dir)) - manager = SymlinkHarnessManager(spec.home / ".codex" / "skills") - self.assertFalse(manager.has_binding("audit")) - - seed_skill_package(spec.home / ".codex" / "skills", "audit", "Audit") - self.assertTrue(manager.has_binding("audit")) - - -if __name__ == "__main__": - unittest.main() diff --git a/tests/unit/test_test_support_structure.py b/tests/unit/test_test_support_structure.py deleted file mode 100644 index 4446d4b..0000000 --- a/tests/unit/test_test_support_structure.py +++ /dev/null @@ -1,25 +0,0 @@ -from __future__ import annotations - -from pathlib import Path -import unittest - - -REPO_ROOT = Path(__file__).resolve().parents[2] -TESTS_ROOT = REPO_ROOT / "tests" - - -class TestSupportStructureTests(unittest.TestCase): - def test_support_package_is_not_a_barrel_export_surface(self) -> None: - init_source = (TESTS_ROOT / "support" / "__init__.py").read_text(encoding="utf-8") - self.assertNotIn("from .app_harness import", init_source) - self.assertNotIn("from .fake_home import", init_source) - self.assertNotIn("from .marketplace_fixture import", init_source) - - def test_tests_import_support_helpers_from_concrete_modules(self) -> None: - offenders: list[str] = [] - forbidden_import = "from tests." + "support import" - for path in TESTS_ROOT.rglob("test_*.py"): - source = path.read_text(encoding="utf-8") - if forbidden_import in source: - offenders.append(str(path.relative_to(REPO_ROOT))) - self.assertEqual(offenders, []) diff --git a/tsconfig.json b/tsconfig.json index eeebd8a..b8484b7 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -16,5 +16,5 @@ "noEmit": true, "jsx": "react-jsx" }, - "include": ["frontend/src", "frontend/e2e", "vite.config.ts", "playwright.config.ts"] + "include": ["frontend/src", "vite.config.ts"] } diff --git a/vite.config.ts b/vite.config.ts index cd474de..ab99849 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -39,7 +39,7 @@ export default defineConfig(({ mode }) => { environment: "jsdom", globals: true, setupFiles: ["./src/test/setup.ts"], - include: ["src/**/*.test.tsx"], + include: ["src/**/*.test.{ts,tsx}"], }, }; });

fTbdUE0viGE0^}r7SR6G@KybvI?x*6 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