katalyst-plugin-bard 0.1.1a1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- katalyst_plugin_bard-0.1.1a1/.gitignore +123 -0
- katalyst_plugin_bard-0.1.1a1/CHANGELOG.md +138 -0
- katalyst_plugin_bard-0.1.1a1/Dockerfile +48 -0
- katalyst_plugin_bard-0.1.1a1/PKG-INFO +84 -0
- katalyst_plugin_bard-0.1.1a1/README.md +70 -0
- katalyst_plugin_bard-0.1.1a1/app.yaml +18 -0
- katalyst_plugin_bard-0.1.1a1/apps/desktop/package.json +22 -0
- katalyst_plugin_bard-0.1.1a1/apps/desktop/src/main.ts +275 -0
- katalyst_plugin_bard-0.1.1a1/design-reference/system-wing/README.md +175 -0
- katalyst_plugin_bard-0.1.1a1/hatch_build.py +119 -0
- katalyst_plugin_bard-0.1.1a1/justfile +105 -0
- katalyst_plugin_bard-0.1.1a1/layer/README.md +5 -0
- katalyst_plugin_bard-0.1.1a1/package-lock.json +17088 -0
- katalyst_plugin_bard-0.1.1a1/package.json +22 -0
- katalyst_plugin_bard-0.1.1a1/pyproject.toml +123 -0
- katalyst_plugin_bard-0.1.1a1/schemas/bard.manifest.schema.json +178 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/__init__.py +5 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/build.py +224 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/cli.py +234 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/contrib/build.mjs +65 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/contrib/shared.json +10 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/contributions.py +176 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/plugin.py +44 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/py.typed +0 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/serve.py +626 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/desktop/main.cjs +8369 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/desktop/package.json +6 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/server/index.cjs +43202 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/server/index.cjs.map +7 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/Chat-CU3UoVyk.js +42 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/Chat-CpKl2eGN.css +1 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/DataTable-D45zW-iy.js +1 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/GraphCanvas-LOIKzHVV.js +331 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/KindsView-DYW_khzh.js +1 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/NodeDetail-DUwFKFxk.js +1 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/NodesView-R6LjlOlL.js +1 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/SchemaGraphPanel-CxW6ysWN.js +1 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/SettingsView-E-EGyvjS.js +130 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/TooltipIconButton-DxN4d6_s.js +1 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/TreeNav-BnDYMAw4.js +9373 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/WingsView-DvKWpWka.js +1 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/_commonjsHelpers-CqkleIqs.js +1 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/client-BVWFISPM.js +25 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/empty-Ct-3knBG.js +2 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/index-Bn5I7isx.js +1 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/index-C2oMlmGY.css +1 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/index-CbYvlL0N.js +9 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/index-DZ8IcxKl.js +9 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/index-DuLQ-QSA.js +2 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/index-Iz84zNIC.js +1 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/jsx-runtime-l_A6JZ6M.js +9 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/nunito-sans-cyrillic-ext-wght-normal-7w74d1lj.woff2 +0 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/nunito-sans-cyrillic-wght-normal-B9hoeQUC.woff2 +0 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/nunito-sans-latin-ext-wght-normal-DMEAsnHD.woff2 +0 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/nunito-sans-latin-wght-normal-BWQ3gi2K.woff2 +0 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/nunito-sans-vietnamese-wght-normal-BhFYcaJr.woff2 +0 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/shared-katalyst-bard-host-hVOU1c3P.js +1 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/shared-react-CBKIYMuS.js +1 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/shared-react-dom-EXphnHyn.js +1 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/shared-react-dom-client-BZbsmXA9.js +1 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/shared-react-jsx-runtime--VkjFgMQ.js +1 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2 +0 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2 +0 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2 +0 -0
- katalyst_plugin_bard-0.1.1a1/src/katalyst_plugin_bard/web_dist/web/index.html +33 -0
- katalyst_plugin_bard-0.1.1a1/tests/conftest.py +22 -0
- katalyst_plugin_bard-0.1.1a1/tests/test_build.py +259 -0
- katalyst_plugin_bard-0.1.1a1/tests/test_cli.py +52 -0
- katalyst_plugin_bard-0.1.1a1/tests/test_config_fields_fixture.py +22 -0
- katalyst_plugin_bard-0.1.1a1/tests/test_contributions.py +176 -0
- katalyst_plugin_bard-0.1.1a1/tests/test_desktop.py +297 -0
- katalyst_plugin_bard-0.1.1a1/tests/test_manifest_schema.py +215 -0
- katalyst_plugin_bard-0.1.1a1/tests/test_proxy.py +53 -0
- katalyst_plugin_bard-0.1.1a1/tests/test_sdist.py +67 -0
- katalyst_plugin_bard-0.1.1a1/tests/test_serve.py +493 -0
- katalyst_plugin_bard-0.1.1a1/tests/test_web_dist.py +48 -0
- katalyst_plugin_bard-0.1.1a1/web/alias.ts +19 -0
- katalyst_plugin_bard-0.1.1a1/web/fixtures/any-bundler/README.md +8 -0
- katalyst_plugin_bard-0.1.1a1/web/fixtures/any-bundler/src/count.js +5 -0
- katalyst_plugin_bard-0.1.1a1/web/fixtures/any-bundler/src/index.js +16 -0
- katalyst_plugin_bard-0.1.1a1/web/index.html +12 -0
- katalyst_plugin_bard-0.1.1a1/web/package.json +79 -0
- katalyst_plugin_bard-0.1.1a1/web/server/adapters/api-token.test.ts +51 -0
- katalyst_plugin_bard-0.1.1a1/web/server/adapters/api-token.ts +69 -0
- katalyst_plugin_bard-0.1.1a1/web/server/adapters/http-gateways.test.ts +272 -0
- katalyst_plugin_bard-0.1.1a1/web/server/adapters/http-gateways.ts +316 -0
- katalyst_plugin_bard-0.1.1a1/web/server/adapters/in-memory-gateways.ts +147 -0
- katalyst_plugin_bard-0.1.1a1/web/server/api-handler.test.ts +552 -0
- katalyst_plugin_bard-0.1.1a1/web/server/api-handler.ts +455 -0
- katalyst_plugin_bard-0.1.1a1/web/server/app.ts +95 -0
- katalyst_plugin_bard-0.1.1a1/web/server/brand.test.ts +38 -0
- katalyst_plugin_bard-0.1.1a1/web/server/brand.ts +58 -0
- katalyst_plugin_bard-0.1.1a1/web/server/config.test.ts +72 -0
- katalyst_plugin_bard-0.1.1a1/web/server/config.ts +57 -0
- katalyst_plugin_bard-0.1.1a1/web/server/contributions.test.ts +216 -0
- katalyst_plugin_bard-0.1.1a1/web/server/contributions.ts +220 -0
- katalyst_plugin_bard-0.1.1a1/web/server/domain/contributions.ts +39 -0
- katalyst_plugin_bard-0.1.1a1/web/server/domain/ports.ts +126 -0
- katalyst_plugin_bard-0.1.1a1/web/server/domain/types.ts +178 -0
- katalyst_plugin_bard-0.1.1a1/web/server/flags.test.ts +101 -0
- katalyst_plugin_bard-0.1.1a1/web/server/flags.ts +112 -0
- katalyst_plugin_bard-0.1.1a1/web/server/index.ts +82 -0
- katalyst_plugin_bard-0.1.1a1/web/server/routes/api.test.ts +214 -0
- katalyst_plugin_bard-0.1.1a1/web/server/routes/api.ts +70 -0
- katalyst_plugin_bard-0.1.1a1/web/server/settings-capability.test.ts +57 -0
- katalyst_plugin_bard-0.1.1a1/web/server/settings-capability.ts +87 -0
- katalyst_plugin_bard-0.1.1a1/web/src/App.refresh.test.tsx +158 -0
- katalyst_plugin_bard-0.1.1a1/web/src/App.sidebar.test.tsx +96 -0
- katalyst_plugin_bard-0.1.1a1/web/src/App.tsx +661 -0
- katalyst_plugin_bard-0.1.1a1/web/src/api/brand.test.ts +34 -0
- katalyst_plugin_bard-0.1.1a1/web/src/api/brand.ts +34 -0
- katalyst_plugin_bard-0.1.1a1/web/src/api/client.ts +64 -0
- katalyst_plugin_bard-0.1.1a1/web/src/api/home.test.ts +40 -0
- katalyst_plugin_bard-0.1.1a1/web/src/api/home.ts +39 -0
- katalyst_plugin_bard-0.1.1a1/web/src/api/settings-capability.ts +38 -0
- katalyst_plugin_bard-0.1.1a1/web/src/api/types.ts +14 -0
- katalyst_plugin_bard-0.1.1a1/web/src/chat/Chat.test.tsx +227 -0
- katalyst_plugin_bard-0.1.1a1/web/src/chat/Chat.tsx +56 -0
- katalyst_plugin_bard-0.1.1a1/web/src/chat/ChatPanel.test.tsx +32 -0
- katalyst_plugin_bard-0.1.1a1/web/src/chat/ChatPanel.tsx +57 -0
- katalyst_plugin_bard-0.1.1a1/web/src/chat/MarkdownText.tsx +116 -0
- katalyst_plugin_bard-0.1.1a1/web/src/chat/Thread.tsx +255 -0
- katalyst_plugin_bard-0.1.1a1/web/src/chat/TooltipIconButton.tsx +39 -0
- katalyst_plugin_bard-0.1.1a1/web/src/chat/echo.test.ts +42 -0
- katalyst_plugin_bard-0.1.1a1/web/src/chat/echo.ts +51 -0
- katalyst_plugin_bard-0.1.1a1/web/src/chat/lazy.tsx +20 -0
- katalyst_plugin_bard-0.1.1a1/web/src/chat/runtime.ts +49 -0
- katalyst_plugin_bard-0.1.1a1/web/src/chat/types.ts +62 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/ContributionBoundary.tsx +55 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/DataTable.test.tsx +133 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/DataTable.tsx +186 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/Icon.test.tsx +44 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/Icon.tsx +31 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/Status.tsx +18 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/resolve-icon.ts +23 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/ui/alert.tsx +75 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/ui/badge-variants.ts +33 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/ui/badge.tsx +26 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/ui/breadcrumb.tsx +126 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/ui/button-variants.ts +42 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/ui/button.tsx +30 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/ui/card.tsx +102 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/ui/dialog.tsx +168 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/ui/dropdown-menu.tsx +266 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/ui/empty.tsx +103 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/ui/input.tsx +18 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/ui/label.tsx +23 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/ui/select.tsx +189 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/ui/separator.tsx +27 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/ui/sheet.test.tsx +55 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/ui/sheet.tsx +147 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/ui/sidebar.tsx +700 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/ui/skeleton.tsx +13 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/ui/switch.tsx +23 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/ui/table.tsx +113 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/ui/toggle-group.tsx +92 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/ui/toggle-variants.ts +27 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/ui/toggle.tsx +23 -0
- katalyst_plugin_bard-0.1.1a1/web/src/components/ui/tooltip.tsx +54 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/ApiAccess.tsx +197 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/BackendOrder.tsx +70 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/ConfigFieldsProvider.tsx +18 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/GeneralSettings.tsx +160 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/PluginSettings.tsx +266 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/PluginsPanel.tsx +278 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/ProfileDetails.tsx +210 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/ProfileList.tsx +163 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/ProfilePlugins.tsx +168 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/ProfileSchemas.tsx +126 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/ProfileTemplates.tsx +132 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/ResourceList.tsx +284 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/SettingsView.tsx +307 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/SetupChoose.tsx +234 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/SetupSchemas.tsx +307 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/SetupSteps.tsx +428 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/SetupView.tsx +223 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/SourcedProfile.tsx +219 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/StageFromSource.tsx +68 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/backend-fields.tsx +424 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/backend-rules.tsx +194 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/bundle-source-view.tsx +257 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/bundle-source.test.ts +58 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/bundle-source.ts +222 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/client.ts +506 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/context.tsx +50 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/edit.test.ts +271 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/edit.ts +534 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/fields.ts +91 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/fixtures/config-fields.json +659 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/fixtures/server.ts +17 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/model.ts +260 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/pickers.tsx +399 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/profile-format.ts +53 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/profile-lists.ts +120 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/row-keys.ts +26 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/rules.test.ts +36 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/rules.ts +63 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/settings-full.test.tsx +413 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/settings.test.tsx +833 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/settingsViewContribution.tsx +12 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/setup-flow.ts +79 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/sourced.test.tsx +157 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/validate.ts +111 -0
- katalyst_plugin_bard-0.1.1a1/web/src/config/views.test.tsx +929 -0
- katalyst_plugin_bard-0.1.1a1/web/src/contributions/any-bundler.test.tsx +86 -0
- katalyst_plugin_bard-0.1.1a1/web/src/contributions/hostRange.test.ts +45 -0
- katalyst_plugin_bard-0.1.1a1/web/src/contributions/hostRange.ts +110 -0
- katalyst_plugin_bard-0.1.1a1/web/src/contributions/loader.test.tsx +179 -0
- katalyst_plugin_bard-0.1.1a1/web/src/contributions/loader.ts +204 -0
- katalyst_plugin_bard-0.1.1a1/web/src/flags/evaluate.test.ts +116 -0
- katalyst_plugin_bard-0.1.1a1/web/src/flags/evaluate.ts +101 -0
- katalyst_plugin_bard-0.1.1a1/web/src/flags/provider.ts +64 -0
- katalyst_plugin_bard-0.1.1a1/web/src/graph/GraphCanvas.tsx +117 -0
- katalyst_plugin_bard-0.1.1a1/web/src/graph/GraphControls.tsx +198 -0
- katalyst_plugin_bard-0.1.1a1/web/src/graph/GraphMinimap.test.tsx +42 -0
- katalyst_plugin_bard-0.1.1a1/web/src/graph/GraphMinimap.tsx +195 -0
- katalyst_plugin_bard-0.1.1a1/web/src/graph/GraphStyleMenu.test.tsx +62 -0
- katalyst_plugin_bard-0.1.1a1/web/src/graph/GraphStyleMenu.tsx +259 -0
- katalyst_plugin_bard-0.1.1a1/web/src/graph/GraphToolbar.tsx +61 -0
- katalyst_plugin_bard-0.1.1a1/web/src/graph/GraphTooltip.tsx +30 -0
- katalyst_plugin_bard-0.1.1a1/web/src/graph/force-sim-settings.ts +162 -0
- katalyst_plugin_bard-0.1.1a1/web/src/graph/force-sim.ts +674 -0
- katalyst_plugin_bard-0.1.1a1/web/src/graph/graph-elements.ts +127 -0
- katalyst_plugin_bard-0.1.1a1/web/src/graph/graph-styles.test.ts +61 -0
- katalyst_plugin_bard-0.1.1a1/web/src/graph/graph-styles.ts +162 -0
- katalyst_plugin_bard-0.1.1a1/web/src/graph/index.ts +36 -0
- katalyst_plugin_bard-0.1.1a1/web/src/graph/lazy.tsx +28 -0
- katalyst_plugin_bard-0.1.1a1/web/src/graph/palette.ts +49 -0
- katalyst_plugin_bard-0.1.1a1/web/src/graph/panels.test.tsx +131 -0
- katalyst_plugin_bard-0.1.1a1/web/src/graph/panels.tsx +576 -0
- katalyst_plugin_bard-0.1.1a1/web/src/graph/sets.ts +7 -0
- katalyst_plugin_bard-0.1.1a1/web/src/graph/styles.ts +131 -0
- katalyst_plugin_bard-0.1.1a1/web/src/graph/types.ts +49 -0
- katalyst_plugin_bard-0.1.1a1/web/src/graph/useCytoscape.ts +164 -0
- katalyst_plugin_bard-0.1.1a1/web/src/graph/useGraphElements.ts +55 -0
- katalyst_plugin_bard-0.1.1a1/web/src/graph/useGraphFraming.ts +77 -0
- katalyst_plugin_bard-0.1.1a1/web/src/graph/useGraphSearch.ts +23 -0
- katalyst_plugin_bard-0.1.1a1/web/src/graph/useGraphTooltip.ts +51 -0
- katalyst_plugin_bard-0.1.1a1/web/src/graph/useSelectionHighlight.ts +87 -0
- katalyst_plugin_bard-0.1.1a1/web/src/hooks/use-mobile.ts +19 -0
- katalyst_plugin_bard-0.1.1a1/web/src/host/boundary.test.ts +271 -0
- katalyst_plugin_bard-0.1.1a1/web/src/host/context.tsx +123 -0
- katalyst_plugin_bard-0.1.1a1/web/src/host/index.test.tsx +488 -0
- katalyst_plugin_bard-0.1.1a1/web/src/host/index.ts +559 -0
- katalyst_plugin_bard-0.1.1a1/web/src/host/props.ts +53 -0
- katalyst_plugin_bard-0.1.1a1/web/src/host/route.test.ts +116 -0
- katalyst_plugin_bard-0.1.1a1/web/src/host/route.ts +111 -0
- katalyst_plugin_bard-0.1.1a1/web/src/host/slots.integration.test.tsx +216 -0
- katalyst_plugin_bard-0.1.1a1/web/src/host/taxonomy-api.test.ts +109 -0
- katalyst_plugin_bard-0.1.1a1/web/src/host/taxonomy-api.ts +209 -0
- katalyst_plugin_bard-0.1.1a1/web/src/host/useRoute.ts +61 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/README.md +76 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/ai/AssistantPanel.tsx +184 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/ai/BusyIndicator.tsx +58 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/ai/ConfidenceBars.tsx +44 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/ai/ProposalCard.tsx +131 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/ai/ThreadHistory.tsx +105 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/ai/ai.stories.tsx +207 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/ai/ai.test.tsx +282 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/ai/index.ts +14 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/board/AddTile.tsx +58 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/board/BoardSection.tsx +45 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/board/BoardTitle.tsx +33 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/board/CollapsibleStrip.tsx +182 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/board/ItemCard.tsx +169 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/board/Lane.tsx +133 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/board/QuickAddPills.tsx +50 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/board/Tile.tsx +118 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/board/board.stories.tsx +342 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/board/board.test.tsx +364 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/board/index.ts +15 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/board/surface.ts +55 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/changeset/ChangeRow.tsx +111 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/changeset/ChangesetTray.tsx +207 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/changeset/changeset.stories.tsx +260 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/changeset/changeset.test.tsx +151 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/changeset/index.ts +24 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/changeset/run-status.ts +69 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/compose/ChipToggleGroup.tsx +65 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/compose/ComposePanel.tsx +156 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/compose/FieldHeading.tsx +50 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/compose/GhostCard.tsx +48 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/compose/SuggestionChecklist.tsx +81 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/compose/TemplatePicker.tsx +104 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/compose/ValidatedNameField.tsx +106 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/compose/compose.stories.tsx +297 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/compose/compose.test.tsx +283 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/compose/index.ts +19 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/index.ts +18 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/layout/AppFrame.tsx +125 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/layout/AppHeader.tsx +95 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/layout/ModeControl.tsx +75 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/layout/index.ts +7 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/layout/layout.stories.tsx +197 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/layout/layout.test.tsx +153 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/nav/NavSection.tsx +125 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/nav/TreeNav.tsx +259 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/nav/fixtures.ts +77 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/nav/index.ts +8 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/nav/nav.stories.tsx +80 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/nav/nav.test.tsx +202 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/nav/row.ts +18 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/nav/tree.ts +61 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/panel/FileList.tsx +59 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/panel/KeyValueEditor.tsx +266 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/panel/NestedList.tsx +129 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/panel/OverlayPanel.tsx +163 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/panel/PanelTabs.tsx +119 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/panel/PropertyGrid.tsx +44 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/panel/RelationGraph.tsx +133 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/panel/RowActions.tsx +61 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/panel/SearchAdd.tsx +205 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/panel/index.ts +22 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/panel/panel.stories.tsx +428 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/panel/panel.test.tsx +373 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/primitives/ChangeSurface.tsx +29 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/primitives/IssueBadge.tsx +66 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/primitives/Overline.tsx +48 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/primitives/Pill.tsx +21 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/primitives/StatusPill.tsx +58 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/primitives/change-state.ts +41 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/primitives/glyphs.ts +36 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/primitives/icons.tsx +12 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/primitives/index.ts +14 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/primitives/primitives.stories.tsx +160 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/primitives/primitives.test.tsx +179 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/primitives/tags.tsx +35 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/primitives/variants.ts +75 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/theme/ThemeScope.test.tsx +42 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/theme/ThemeScope.tsx +26 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/theme/esimplicity.css +121 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/theme/index.css +3 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/theme/index.ts +7 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/theme/status.css +73 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/theme/theme.stories.tsx +84 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/theme/theme.ts +19 -0
- katalyst_plugin_bard-0.1.1a1/web/src/kit/theme/tokens.ts +21 -0
- katalyst_plugin_bard-0.1.1a1/web/src/main.tsx +13 -0
- katalyst_plugin_bard-0.1.1a1/web/src/schema/NodeAddress.tsx +72 -0
- katalyst_plugin_bard-0.1.1a1/web/src/schema/NodeDetail.test.tsx +189 -0
- katalyst_plugin_bard-0.1.1a1/web/src/schema/NodeDetail.tsx +127 -0
- katalyst_plugin_bard-0.1.1a1/web/src/schema/fields.test.ts +150 -0
- katalyst_plugin_bard-0.1.1a1/web/src/schema/fields.ts +107 -0
- katalyst_plugin_bard-0.1.1a1/web/src/schema/identity.test.ts +135 -0
- katalyst_plugin_bard-0.1.1a1/web/src/schema/identity.ts +117 -0
- katalyst_plugin_bard-0.1.1a1/web/src/schema/node-location.ts +42 -0
- katalyst_plugin_bard-0.1.1a1/web/src/schema/registry.test.ts +113 -0
- katalyst_plugin_bard-0.1.1a1/web/src/schema/registry.ts +116 -0
- katalyst_plugin_bard-0.1.1a1/web/src/schema/renderers.tsx +135 -0
- katalyst_plugin_bard-0.1.1a1/web/src/shell/refresh-button.test.tsx +41 -0
- katalyst_plugin_bard-0.1.1a1/web/src/shell/refresh-button.tsx +36 -0
- katalyst_plugin_bard-0.1.1a1/web/src/shell/sidebar-state.test.ts +40 -0
- katalyst_plugin_bard-0.1.1a1/web/src/shell/sidebar-state.ts +27 -0
- katalyst_plugin_bard-0.1.1a1/web/src/shell/sidebar.stories.tsx +100 -0
- katalyst_plugin_bard-0.1.1a1/web/src/shell/view-nav.test.tsx +81 -0
- katalyst_plugin_bard-0.1.1a1/web/src/shell/view-nav.tsx +126 -0
- katalyst_plugin_bard-0.1.1a1/web/src/slots/SlotHost.tsx +50 -0
- katalyst_plugin_bard-0.1.1a1/web/src/slots/registry.test.ts +163 -0
- katalyst_plugin_bard-0.1.1a1/web/src/slots/registry.ts +153 -0
- katalyst_plugin_bard-0.1.1a1/web/src/styles.css +290 -0
- katalyst_plugin_bard-0.1.1a1/web/src/ui/chat.stories.tsx +57 -0
- katalyst_plugin_bard-0.1.1a1/web/src/ui/elements.stories.tsx +325 -0
- katalyst_plugin_bard-0.1.1a1/web/src/ui/system-wing.stories.tsx +2403 -0
- katalyst_plugin_bard-0.1.1a1/web/src/ui/system-wing.test.tsx +303 -0
- katalyst_plugin_bard-0.1.1a1/web/src/useAsync.ts +41 -0
- katalyst_plugin_bard-0.1.1a1/web/src/useHostData.ts +193 -0
- katalyst_plugin_bard-0.1.1a1/web/src/views/KindsView.test.tsx +136 -0
- katalyst_plugin_bard-0.1.1a1/web/src/views/KindsView.tsx +278 -0
- katalyst_plugin_bard-0.1.1a1/web/src/views/NodesView.test.tsx +187 -0
- katalyst_plugin_bard-0.1.1a1/web/src/views/NodesView.tsx +468 -0
- katalyst_plugin_bard-0.1.1a1/web/src/views/SchemaGraphPanel.tsx +253 -0
- katalyst_plugin_bard-0.1.1a1/web/src/views/WingsView.test.tsx +273 -0
- katalyst_plugin_bard-0.1.1a1/web/src/views/WingsView.tsx +441 -0
- katalyst_plugin_bard-0.1.1a1/web/src/views/builtins.ts +67 -0
- katalyst_plugin_bard-0.1.1a1/web/src/views/kind-detail.ts +41 -0
- katalyst_plugin_bard-0.1.1a1/web/src/views/node-graph.test.ts +145 -0
- katalyst_plugin_bard-0.1.1a1/web/src/views/node-graph.ts +176 -0
- katalyst_plugin_bard-0.1.1a1/web/src/views/registry.test.ts +137 -0
- katalyst_plugin_bard-0.1.1a1/web/src/views/registry.ts +177 -0
- katalyst_plugin_bard-0.1.1a1/web/src/views/schema-graph.test.ts +199 -0
- katalyst_plugin_bard-0.1.1a1/web/src/views/schema-graph.ts +200 -0
- katalyst_plugin_bard-0.1.1a1/web/src/views/wing-graph.test.ts +143 -0
- katalyst_plugin_bard-0.1.1a1/web/src/views/wing-graph.ts +213 -0
- katalyst_plugin_bard-0.1.1a1/web/tsconfig.json +46 -0
- katalyst_plugin_bard-0.1.1a1/web/tsconfig.server.json +23 -0
- katalyst_plugin_bard-0.1.1a1/web/vite/shared-modules.test.ts +108 -0
- katalyst_plugin_bard-0.1.1a1/web/vite/shared-modules.ts +129 -0
- katalyst_plugin_bard-0.1.1a1/web/vite.config.ts +37 -0
- katalyst_plugin_bard-0.1.1a1/web/vitest.contribution.config.ts +43 -0
- katalyst_plugin_bard-0.1.1a1/web/vitest.setup.ts +41 -0
- katalyst_plugin_bard-0.1.1a1/xspec/README.md +27 -0
- katalyst_plugin_bard-0.1.1a1/xspec/fixtures/tree-demo/package.json +1 -0
- katalyst_plugin_bard-0.1.1a1/xspec/fixtures/tree-demo/src/TreeDemo.tsx +35 -0
- katalyst_plugin_bard-0.1.1a1/xspec/package-lock.json +539 -0
- katalyst_plugin_bard-0.1.1a1/xspec/package.json +11 -0
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
# C extensions
|
|
7
|
+
*.so
|
|
8
|
+
|
|
9
|
+
# Distribution / packaging
|
|
10
|
+
.Python
|
|
11
|
+
build/
|
|
12
|
+
develop-eggs/
|
|
13
|
+
dist/
|
|
14
|
+
downloads/
|
|
15
|
+
eggs/
|
|
16
|
+
.eggs/
|
|
17
|
+
lib/
|
|
18
|
+
# Not a Python build directory: Bard's SPA keeps shared helpers (utils.ts, download.ts) in
|
|
19
|
+
# src/lib, and ignoring it left a fresh clone unable to build or test the SPA.
|
|
20
|
+
!plugins/bard/web/src/lib/
|
|
21
|
+
lib64/
|
|
22
|
+
parts/
|
|
23
|
+
sdist/
|
|
24
|
+
var/
|
|
25
|
+
wheels/
|
|
26
|
+
*.egg-info/
|
|
27
|
+
.installed.cfg
|
|
28
|
+
*.egg
|
|
29
|
+
|
|
30
|
+
# PyInstaller
|
|
31
|
+
*.manifest
|
|
32
|
+
*.spec
|
|
33
|
+
|
|
34
|
+
# Installer logs
|
|
35
|
+
pip-log.txt
|
|
36
|
+
pip-delete-this-directory.txt
|
|
37
|
+
|
|
38
|
+
# Unit test / coverage reports
|
|
39
|
+
htmlcov/
|
|
40
|
+
.tox/
|
|
41
|
+
.nox/
|
|
42
|
+
.coverage
|
|
43
|
+
.coverage.*
|
|
44
|
+
.cache
|
|
45
|
+
nosetests.xml
|
|
46
|
+
coverage.xml
|
|
47
|
+
*.cover
|
|
48
|
+
*.py,cover
|
|
49
|
+
.hypothesis/
|
|
50
|
+
.pytest_cache/
|
|
51
|
+
|
|
52
|
+
# Translations
|
|
53
|
+
*.mo
|
|
54
|
+
*.pot
|
|
55
|
+
|
|
56
|
+
# Environments
|
|
57
|
+
.env
|
|
58
|
+
.venv
|
|
59
|
+
env/
|
|
60
|
+
venv/
|
|
61
|
+
ENV/
|
|
62
|
+
env.bak/
|
|
63
|
+
venv.bak/
|
|
64
|
+
|
|
65
|
+
# Spyder project settings
|
|
66
|
+
.spyderproject
|
|
67
|
+
.spyproject
|
|
68
|
+
|
|
69
|
+
# Rope project settings
|
|
70
|
+
.ropeproject
|
|
71
|
+
|
|
72
|
+
# mkdocs documentation
|
|
73
|
+
/site
|
|
74
|
+
|
|
75
|
+
# mypy / pyright
|
|
76
|
+
.mypy_cache/
|
|
77
|
+
.dmypy.json
|
|
78
|
+
dmypy.json
|
|
79
|
+
.pyright/
|
|
80
|
+
|
|
81
|
+
# Ruff
|
|
82
|
+
.ruff_cache/
|
|
83
|
+
|
|
84
|
+
# IDE
|
|
85
|
+
.idea/
|
|
86
|
+
.vscode/
|
|
87
|
+
*.swp
|
|
88
|
+
*.swo
|
|
89
|
+
*~
|
|
90
|
+
|
|
91
|
+
# OS
|
|
92
|
+
.DS_Store
|
|
93
|
+
Thumbs.db
|
|
94
|
+
|
|
95
|
+
# Local configuration
|
|
96
|
+
*.local
|
|
97
|
+
|
|
98
|
+
# Browser/Playwright state files
|
|
99
|
+
browser-state-*.json
|
|
100
|
+
|
|
101
|
+
# Agent harness scratch (run exhaust, never the design bundle)
|
|
102
|
+
.opencode/sessions/
|
|
103
|
+
.opencode/analysis/
|
|
104
|
+
.opencode/package-lock.json
|
|
105
|
+
|
|
106
|
+
# Build artifacts
|
|
107
|
+
site/
|
|
108
|
+
stack-tests/cucumber-report/
|
|
109
|
+
stack-tests/test-results/
|
|
110
|
+
|
|
111
|
+
# Generated artifacts (rebuild with `just generate-schemas`)
|
|
112
|
+
taxonomy/src/katalyst_taxonomy/engine/generated/
|
|
113
|
+
.worktrees/
|
|
114
|
+
.plan-74-75-76-77.md
|
|
115
|
+
.HANDOFF-scaffolding-wiring.md
|
|
116
|
+
.HANDOFF-2-cicd-migration.md
|
|
117
|
+
.HANDOFF-action-execution-fixes.md
|
|
118
|
+
.HANDOFF-bdd-coverage.md
|
|
119
|
+
.HANDOFF-*.md
|
|
120
|
+
docs/superpowers/
|
|
121
|
+
|
|
122
|
+
# Node dependencies — installed, never committed
|
|
123
|
+
node_modules/
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to Katalyst Bard are documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## [Unreleased]
|
|
11
|
+
|
|
12
|
+
### Added (host contract 0.1.7)
|
|
13
|
+
|
|
14
|
+
- **Refresh** in the shell header re-reads the schema, kinds, taxonomy and backends,
|
|
15
|
+
keeping the view, its route, the sidebar and open forms; disabled and spinning while
|
|
16
|
+
the read is in flight. The stopgap for changes made outside Bard (#269).
|
|
17
|
+
`useHost().refresh()` and `useHost().refreshing` offer the same to contributions
|
|
18
|
+
(optional). Additive: earlier contributions still load.
|
|
19
|
+
|
|
20
|
+
### Added (host contract 0.1.2)
|
|
21
|
+
|
|
22
|
+
- `useHost().taxonomy.previewCreate(request)` (the create dry run; not a write, no
|
|
23
|
+
re-read) and `unrelate({source, rel_type, target})` (`DELETE /api/taxonomy/relationships`,
|
|
24
|
+
a gated write); `CreateNodeRequest.scaffold_variant`; `CreatedNode.notes`; types
|
|
25
|
+
`CreatePreview`, `PlannedFile`. Both methods are optional on `TaxonomyApi`. Additive:
|
|
26
|
+
`^0.1.0`/`^0.1.1` contributions still load.
|
|
27
|
+
|
|
28
|
+
### Changed (Settings follow-ups)
|
|
29
|
+
|
|
30
|
+
- **"Saved to …" stays after a save that is not in effect.** A refresh never unmounts the
|
|
31
|
+
view on screen (hidden while the host re-reads or a read fails), and a node read that
|
|
32
|
+
fails while the server's state is still being re-read is not reported as an error.
|
|
33
|
+
- **API access**: no "from the next start" — the API applies a change at once; origins the
|
|
34
|
+
API was started with (`--cors`) are listed apart.
|
|
35
|
+
- **A plugin's config is checked by the API** against the plugin's schema as you type, in
|
|
36
|
+
its panel; Apply waits for it.
|
|
37
|
+
|
|
38
|
+
### Fixed
|
|
39
|
+
|
|
40
|
+
- **`--api-port N` is honoured or the start fails naming it**; it never fell back to
|
|
41
|
+
another port, though the help said so. A failed API start is an error, not a traceback.
|
|
42
|
+
- **`KATALYST_CONFIG_WRITE=1 kata tax bard serve` gets an API that writes**: a running one
|
|
43
|
+
that does not is restarted with writes, as the desktop app does, and Bard says so.
|
|
44
|
+
- **An `--api-url` API that refuses configuration writes is said to**: by the launcher
|
|
45
|
+
(desktop, or serve with `KATALYST_CONFIG_WRITE=1`) and by Settings, which is read-only
|
|
46
|
+
with the reason — `/api/settings/capability` also asks the API's `/status`
|
|
47
|
+
`config_writes` (`ConfigGateway.configWrites`).
|
|
48
|
+
- Help and errors name `just build` / `just desktop-build` in `plugins/bard` (there is no
|
|
49
|
+
`just bard-build`); a stale CORS note in `settings-capability.ts` is corrected.
|
|
50
|
+
- The sdist no longer lists the removed `docs` directory; the slot-docs test skips when
|
|
51
|
+
the site's docs are absent.
|
|
52
|
+
|
|
53
|
+
### Added
|
|
54
|
+
|
|
55
|
+
- **Settings covers the whole configuration file.** Backends of every type the API serves
|
|
56
|
+
(`GET /config/fields`), each rendered from its fields, credentials write-only; a
|
|
57
|
+
plugin's `priority` and `config` (typed from its `configSchema`, else YAML); a
|
|
58
|
+
**General** card for `metadata`, `outputFormat` and `workspace`; a sourced profile's
|
|
59
|
+
`profile` and `token_env`; an **API access** card for the CORS allowlist
|
|
60
|
+
(`/api/access/cors`). The draft is checked by the API (`POST /api/config/validate`)
|
|
61
|
+
and its problems are shown in the form; a refused save lists each reason.
|
|
62
|
+
|
|
63
|
+
### Removed
|
|
64
|
+
|
|
65
|
+
- The hard-coded per-type `FIELDS` map, `BACKEND_TYPES`/`READ_ONLY_TYPES` and the
|
|
66
|
+
per-type backend setting checks in `validate.ts`: the API owns them.
|
|
67
|
+
|
|
68
|
+
### Changed
|
|
69
|
+
|
|
70
|
+
- **Every request to the taxonomy API carries its token.** The launcher passes
|
|
71
|
+
`KATALYST_API_TOKEN` (from the API's state record, or this environment for `--api-url`);
|
|
72
|
+
the server and desktop shell read the record on each request
|
|
73
|
+
(`server/adapters/api-token.ts`) and fall back to `KATALYST_API_TOKEN`. Plugin routes
|
|
74
|
+
(`/api/ext/*`) carry it too. The write-token reader and `WRITES_DISABLED_UPSTREAM` are
|
|
75
|
+
gone: an API without writes answers its own `403`.
|
|
76
|
+
- **A contribution's views are listed under its package's own sidebar heading**, never in
|
|
77
|
+
Explore (which holds Bard's own Wings, Kinds and Nodes; Settings stays in the footer).
|
|
78
|
+
The heading is the display name the contributing distribution declares once, under the
|
|
79
|
+
new `katalyst_bard.package` entry point (`display_name = "pkg.module:NAME"`, a string);
|
|
80
|
+
every contribution it declares merges under it. A view's `section` (or the manifest's
|
|
81
|
+
new `spec.section`) is a subsection inside it. A contribution whose package declares no
|
|
82
|
+
display name, or a main view with no section, is refused and named (by
|
|
83
|
+
`build-contribution`, the server and the loader) rather than falling into Explore.
|
|
84
|
+
`BARD_CONTRIBUTIONS` entries carry `package`.
|
|
85
|
+
|
|
86
|
+
### Added
|
|
87
|
+
|
|
88
|
+
- **`kata tax bard serve|desktop --no-contributions`** (or `BARD_NO_CONTRIBUTIONS=1`, which
|
|
89
|
+
the server and desktop shell also read): a plain Bard, with none of the installed
|
|
90
|
+
packages' views. A launcher that loads them sets the variable empty, so a product's
|
|
91
|
+
launcher always loads them.
|
|
92
|
+
- **Sourced profiles in Settings.** A profile read from elsewhere (`source:` in the
|
|
93
|
+
config) is marked read-only in the profile list, and its page shows the source, the
|
|
94
|
+
profile in it, the pin and last fetch, its pinned backends and the clones they read, with
|
|
95
|
+
"Check source" (is it ahead?) and "Sync now" (gated like every write) instead of any
|
|
96
|
+
editing. Setup will not connect a backend into one. Bard's server forwards
|
|
97
|
+
`GET /api/config/sources` and `POST /api/config/sources/sync`.
|
|
98
|
+
- **Runtime-loaded contributions.** A package ships a built contribution and declares it
|
|
99
|
+
under the `katalyst_bard.contributions` entry point; the launcher passes the installed ones
|
|
100
|
+
to the server, which lists them at `GET /api/contributions` and serves their modules (web
|
|
101
|
+
and desktop), and the SPA loads and registers them. A contribution is a plain ES module
|
|
102
|
+
importing React and `@katalyst/bard-host` by name; the page's import map resolves those to
|
|
103
|
+
the host's own instances, so any bundler that leaves them external works
|
|
104
|
+
(`kata tax bard build-contribution` is esbuild set up that way). An incompatible
|
|
105
|
+
`hostRange`, a missing file or a failing module is skipped and named, never fatal. See
|
|
106
|
+
`docs/plugins/bard/contributions.md` at the repository root; `web/vitest.contribution.config.ts` runs a contribution's tests
|
|
107
|
+
against the host.
|
|
108
|
+
- **Sidebar sections**: a view's `section` lists it under its own heading.
|
|
109
|
+
- **Contributions can write nodes and read a plugin's routes** (host contract 0.1.1):
|
|
110
|
+
`useHost().taxonomy` creates, updates and relates nodes through the taxonomy's validated
|
|
111
|
+
routes and calls the routes installed taxonomy plugins add under `/ext/<plugin>/`;
|
|
112
|
+
`useHost().writes` says whether this deployment may write, and why not. Bard's server
|
|
113
|
+
forwards `POST/PATCH /api/taxonomy/nodes…` and `POST /api/taxonomy/relationships` as gated
|
|
114
|
+
writes, and `GET`/`POST /api/ext/*` as reads without the write token.
|
|
115
|
+
- **Release workflow** (`.github/workflows/release-bard.yml`, tags `bard-vX.Y.Z`), so bard
|
|
116
|
+
can be published to PyPI and depended on: katalyst-forge now lists it, making
|
|
117
|
+
`kata tax bard serve` part of a forge install.
|
|
118
|
+
- **Dependency floors match the runtime it needs**: `katalyst-taxonomy>=5,<6`.
|
|
119
|
+
|
|
120
|
+
- **Extracted into its own repository** from `katalyst-taxonomy/plugins/bard`, preserving history. Bard is consumed as an installable plugin via the `katalyst_taxonomy.plugins` and `katalyst_taxonomy.cli` entry points rather than vendored into the taxonomy workspace.
|
|
121
|
+
- **Schema-driven rendering core.** Node kinds are rendered from their own `NodeDefinition` — display labels, field order, types, and constraints all come from the taxonomy's schema registry, so a kind bard has never seen renders correctly. `src/schema/NodeDetail.test.tsx` proves this against a kind fabricated in the test file.
|
|
122
|
+
- **Field renderer registry** resolving `kind.field` → field name → `allowed_values` → `ref_target_kind` → `field_type` → JSON. `allowed_values` and `ref_target_kind` deliberately outrank `field_type`, since a `field_type: "string"` field carrying either is semantically an enum or a link. An unknown `field_type` degrades to JSON rather than crashing.
|
|
123
|
+
- **View registry** where a view declares the wings or kinds it applies to, so one build adapts to any deployment without conditionals in the shell.
|
|
124
|
+
- **Express server** serving the SPA and `/api` from one process on one origin — required by Databricks Apps, which permits only one service to bind the assigned port and does not allow customising CORS on its reverse proxy.
|
|
125
|
+
- **`kata tax bard serve`** — Python launcher that ensures a taxonomy API is reachable, starts the Node server, and verifies it is actually serving before reporting success.
|
|
126
|
+
- **Container and Databricks App support.** `Dockerfile` and `app.yaml`. `loadConfig()` reads `DATABRICKS_APP_PORT` and defaults `HOST` to `0.0.0.0` when present.
|
|
127
|
+
- **Outdated-API detection.** `HttpSchemaGateway` translates a `/schema` 404 into an explicit "this API predates the schema API" message rather than surfacing a bare status code.
|
|
128
|
+
- **CI bundle-self-containment check** that runs the built server from a directory with no `node_modules` anywhere above it, plus a Docker image smoke test asserting `/health` is 200 while `/api/ready` is 503 with no upstream.
|
|
129
|
+
|
|
130
|
+
### Removed
|
|
131
|
+
|
|
132
|
+
- **`kata tax bard compose`** and `web/src/generated/composed.ts`: build-time composition is
|
|
133
|
+
replaced by runtime loading.
|
|
134
|
+
|
|
135
|
+
### Notes
|
|
136
|
+
|
|
137
|
+
- The server is bundled by esbuild into a single self-contained `dist/server/index.cjs`. An unbundled emit cannot work: `web_dist/` ships inside the wheel with no `node_modules` above it, and Node resolves bare imports by walking up from the importing file.
|
|
138
|
+
- Bard holds no taxonomy data and has no data access of its own — it speaks HTTP to the taxonomy API and nothing else. Which backend that API uses (filesystem, Databricks, Neo4j, Postgres) is the API's concern.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Bard — schema-driven taxonomy UI.
|
|
2
|
+
#
|
|
3
|
+
# Pure Node: bard reads everything over HTTP from the taxonomy API, so this
|
|
4
|
+
# image needs no Python, no taxonomy checkout, and no `kata` binary. Point it at
|
|
5
|
+
# an API with TAXONOMY_API_URL and it works against whichever backend that API
|
|
6
|
+
# is configured for (filesystem, Databricks, Neo4j, Postgres).
|
|
7
|
+
|
|
8
|
+
FROM node:22-alpine AS build
|
|
9
|
+
WORKDIR /app
|
|
10
|
+
# All workspace manifests must be present before `npm ci`, or npm cannot build
|
|
11
|
+
# the workspace tree. Contribution directories are copied whole rather than
|
|
12
|
+
# glob-selecting their package.json files: Docker's COPY flattens globs, which
|
|
13
|
+
# would put every package.json at the same path.
|
|
14
|
+
COPY package.json package-lock.json ./
|
|
15
|
+
COPY web/package.json ./web/
|
|
16
|
+
COPY wings ./wings/
|
|
17
|
+
COPY plugins-ui ./plugins-ui/
|
|
18
|
+
RUN npm ci
|
|
19
|
+
COPY web/ ./web/
|
|
20
|
+
RUN npm run build
|
|
21
|
+
|
|
22
|
+
FROM node:22-alpine AS runtime
|
|
23
|
+
WORKDIR /app
|
|
24
|
+
ENV NODE_ENV=production
|
|
25
|
+
|
|
26
|
+
# The server is bundled into a single self-contained CJS file, so the runtime
|
|
27
|
+
# stage needs no package.json and no node_modules at all.
|
|
28
|
+
COPY --from=build /app/web/dist ./dist
|
|
29
|
+
|
|
30
|
+
# Run unprivileged. The node image ships a `node` user.
|
|
31
|
+
USER node
|
|
32
|
+
|
|
33
|
+
# 0.0.0.0 is required in any container; binding loopback makes the app
|
|
34
|
+
# unreachable through a reverse proxy.
|
|
35
|
+
ENV HOST=0.0.0.0 \
|
|
36
|
+
PORT=5273 \
|
|
37
|
+
WEB_DIST_DIR=/app/dist/web \
|
|
38
|
+
TAXONOMY_API_URL=http://127.0.0.1:8000
|
|
39
|
+
|
|
40
|
+
EXPOSE 5273
|
|
41
|
+
|
|
42
|
+
# /health deliberately does not check the upstream API: a liveness probe that
|
|
43
|
+
# fails when a dependency is down restarts the container for a problem
|
|
44
|
+
# restarting cannot fix. Use /api/ready for readiness.
|
|
45
|
+
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
|
|
46
|
+
CMD node -e "fetch('http://127.0.0.1:'+(process.env.PORT||5273)+'/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"
|
|
47
|
+
|
|
48
|
+
CMD ["node", "dist/server/index.cjs"]
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: katalyst-plugin-bard
|
|
3
|
+
Version: 0.1.1a1
|
|
4
|
+
Summary: Bard — a schema-driven web UI framework for the Katalyst taxonomy
|
|
5
|
+
Project-URL: Repository, https://github.com/esimplicityinc/katalyst-bard
|
|
6
|
+
Author: eSimplicity
|
|
7
|
+
License: Proprietary
|
|
8
|
+
Keywords: architecture,katalyst,plugin,taxonomy,ui
|
|
9
|
+
Requires-Python: >=3.12
|
|
10
|
+
Requires-Dist: click>=8.1
|
|
11
|
+
Requires-Dist: katalyst-taxonomy-mcp<5,>=4
|
|
12
|
+
Requires-Dist: katalyst-taxonomy<6,>=5
|
|
13
|
+
Description-Content-Type: text/markdown
|
|
14
|
+
|
|
15
|
+
# Bard
|
|
16
|
+
|
|
17
|
+
A schema-driven web and desktop UI for the Katalyst taxonomy: `kata tax bard serve` and
|
|
18
|
+
`kata tax bard desktop`. It renders every kind the connected taxonomy has from the kind's
|
|
19
|
+
own definition, edits your configuration in Settings, and loads the views other installed
|
|
20
|
+
packages contribute.
|
|
21
|
+
|
|
22
|
+
Documentation is on the docs site:
|
|
23
|
+
|
|
24
|
+
- [Bard](../../docs/plugins/bard.md): running it, the API and its token, configuration
|
|
25
|
+
writes, Settings and product sections.
|
|
26
|
+
- [Writing a contribution](../../docs/plugins/bard/contributions.md): adding a view to Bard
|
|
27
|
+
from your own package.
|
|
28
|
+
- [Composition architecture](../../docs/plugins/bard/composition.md): the host contract,
|
|
29
|
+
runtime loading, flags, slots and the desktop shell.
|
|
30
|
+
|
|
31
|
+
## Install
|
|
32
|
+
|
|
33
|
+
Bard is discovered through the `katalyst_taxonomy.plugins` and `katalyst_taxonomy.cli`
|
|
34
|
+
entry points, so installing it beside `kata` is enough. It needs Node.js 20 or newer.
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
pip install katalyst-plugin-bard
|
|
38
|
+
kata tax bard serve # in the browser
|
|
39
|
+
kata tax bard desktop # in a desktop window, settings editable
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## From a checkout
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
just build # npm install + build + stage assets in src/katalyst_plugin_bard/web_dist/
|
|
46
|
+
just desktop-build # also bundle the desktop shell
|
|
47
|
+
just serve # == kata tax bard serve
|
|
48
|
+
just dev # Express on 5273, Vite on 5173 proxying to it
|
|
49
|
+
just check # everything CI runs (lint, types, pytest, vitest)
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Without the plugin
|
|
53
|
+
|
|
54
|
+
Bard's server is plain Node and reads everything over HTTP, so it runs without Python, a
|
|
55
|
+
taxonomy checkout or `kata`:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
just docker
|
|
59
|
+
docker run -p 5273:5273 -e TAXONOMY_API_URL=https://taxonomy.example.com \
|
|
60
|
+
-e KATALYST_API_TOKEN=<its token> katalyst-bard:dev
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
`app.yaml` is a Databricks Apps manifest. The server reads `DATABRICKS_APP_PORT` and binds
|
|
64
|
+
`0.0.0.0` when it is set; set `TAXONOMY_API_URL` to an API reachable from the workspace and
|
|
65
|
+
`KATALYST_API_TOKEN` to its token.
|
|
66
|
+
|
|
67
|
+
`GET /health` is liveness and does not touch the API; `GET /api/ready` reports whether the
|
|
68
|
+
API is reachable. Bard has no authentication of its own: do not expose it without putting
|
|
69
|
+
authentication in front of it.
|
|
70
|
+
|
|
71
|
+
## Layout
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
src/katalyst_plugin_bard/ the plugin: `kata tax bard`, the launcher, contribution discovery
|
|
75
|
+
web_dist/ built SPA, the bundled server (index.cjs) and desktop shell, in the wheel
|
|
76
|
+
web/server/ Express server and the transport-agnostic API handler
|
|
77
|
+
web/src/ React: the schema-driven renderer, views, Settings, host contract
|
|
78
|
+
apps/desktop/ Electron shell over the same API handler
|
|
79
|
+
schemas/ bard.manifest.schema.json, the contribution manifest schema
|
|
80
|
+
xspec/, layer/ the plugin's black-box contract and fixtures
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
The server ships as one esbuild bundle because `web_dist/` sits in the wheel with no
|
|
84
|
+
`node_modules` above it.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Bard
|
|
2
|
+
|
|
3
|
+
A schema-driven web and desktop UI for the Katalyst taxonomy: `kata tax bard serve` and
|
|
4
|
+
`kata tax bard desktop`. It renders every kind the connected taxonomy has from the kind's
|
|
5
|
+
own definition, edits your configuration in Settings, and loads the views other installed
|
|
6
|
+
packages contribute.
|
|
7
|
+
|
|
8
|
+
Documentation is on the docs site:
|
|
9
|
+
|
|
10
|
+
- [Bard](../../docs/plugins/bard.md): running it, the API and its token, configuration
|
|
11
|
+
writes, Settings and product sections.
|
|
12
|
+
- [Writing a contribution](../../docs/plugins/bard/contributions.md): adding a view to Bard
|
|
13
|
+
from your own package.
|
|
14
|
+
- [Composition architecture](../../docs/plugins/bard/composition.md): the host contract,
|
|
15
|
+
runtime loading, flags, slots and the desktop shell.
|
|
16
|
+
|
|
17
|
+
## Install
|
|
18
|
+
|
|
19
|
+
Bard is discovered through the `katalyst_taxonomy.plugins` and `katalyst_taxonomy.cli`
|
|
20
|
+
entry points, so installing it beside `kata` is enough. It needs Node.js 20 or newer.
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
pip install katalyst-plugin-bard
|
|
24
|
+
kata tax bard serve # in the browser
|
|
25
|
+
kata tax bard desktop # in a desktop window, settings editable
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## From a checkout
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
just build # npm install + build + stage assets in src/katalyst_plugin_bard/web_dist/
|
|
32
|
+
just desktop-build # also bundle the desktop shell
|
|
33
|
+
just serve # == kata tax bard serve
|
|
34
|
+
just dev # Express on 5273, Vite on 5173 proxying to it
|
|
35
|
+
just check # everything CI runs (lint, types, pytest, vitest)
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Without the plugin
|
|
39
|
+
|
|
40
|
+
Bard's server is plain Node and reads everything over HTTP, so it runs without Python, a
|
|
41
|
+
taxonomy checkout or `kata`:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
just docker
|
|
45
|
+
docker run -p 5273:5273 -e TAXONOMY_API_URL=https://taxonomy.example.com \
|
|
46
|
+
-e KATALYST_API_TOKEN=<its token> katalyst-bard:dev
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
`app.yaml` is a Databricks Apps manifest. The server reads `DATABRICKS_APP_PORT` and binds
|
|
50
|
+
`0.0.0.0` when it is set; set `TAXONOMY_API_URL` to an API reachable from the workspace and
|
|
51
|
+
`KATALYST_API_TOKEN` to its token.
|
|
52
|
+
|
|
53
|
+
`GET /health` is liveness and does not touch the API; `GET /api/ready` reports whether the
|
|
54
|
+
API is reachable. Bard has no authentication of its own: do not expose it without putting
|
|
55
|
+
authentication in front of it.
|
|
56
|
+
|
|
57
|
+
## Layout
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
src/katalyst_plugin_bard/ the plugin: `kata tax bard`, the launcher, contribution discovery
|
|
61
|
+
web_dist/ built SPA, the bundled server (index.cjs) and desktop shell, in the wheel
|
|
62
|
+
web/server/ Express server and the transport-agnostic API handler
|
|
63
|
+
web/src/ React: the schema-driven renderer, views, Settings, host contract
|
|
64
|
+
apps/desktop/ Electron shell over the same API handler
|
|
65
|
+
schemas/ bard.manifest.schema.json, the contribution manifest schema
|
|
66
|
+
xspec/, layer/ the plugin's black-box contract and fixtures
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
The server ships as one esbuild bundle because `web_dist/` sits in the wheel with no
|
|
70
|
+
`node_modules` above it.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Databricks Apps runtime configuration.
|
|
2
|
+
#
|
|
3
|
+
# The platform assigns a port via DATABRICKS_APP_PORT and only one service may
|
|
4
|
+
# bind it. Bard serves the SPA and its API from a single Express process, which
|
|
5
|
+
# also sidesteps the platform's non-customisable CORS headers.
|
|
6
|
+
#
|
|
7
|
+
# loadConfig() reads DATABRICKS_APP_PORT directly and defaults HOST to 0.0.0.0
|
|
8
|
+
# when it is present, so no port wiring is needed here.
|
|
9
|
+
command:
|
|
10
|
+
- node
|
|
11
|
+
- dist/server/index.cjs
|
|
12
|
+
env:
|
|
13
|
+
- name: WEB_DIST_DIR
|
|
14
|
+
value: "./dist/web"
|
|
15
|
+
# Point this at a taxonomy API reachable from the workspace. Bard holds no
|
|
16
|
+
# taxonomy data of its own.
|
|
17
|
+
- name: TAXONOMY_API_URL
|
|
18
|
+
value: "http://127.0.0.1:8000"
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@katalyst/bard-desktop",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"private": true,
|
|
5
|
+
"description": "Bard desktop shell — Electron over the same API handler as the web build",
|
|
6
|
+
"main": "dist/main.cjs",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"prebuild": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"",
|
|
9
|
+
"build": "esbuild src/main.ts --bundle --platform=node --target=node20 --format=cjs --outfile=dist/main.cjs --external:electron --sourcemap",
|
|
10
|
+
"start": "electron .",
|
|
11
|
+
"typecheck": "tsc --noEmit"
|
|
12
|
+
},
|
|
13
|
+
"dependencies": {
|
|
14
|
+
"@katalyst/bard": "*"
|
|
15
|
+
},
|
|
16
|
+
"devDependencies": {
|
|
17
|
+
"@types/node": "^22.10.2",
|
|
18
|
+
"electron": "33.4.11",
|
|
19
|
+
"esbuild": "^0.24.2",
|
|
20
|
+
"typescript": "^5.7.2"
|
|
21
|
+
}
|
|
22
|
+
}
|