gaard-api 0.2.10__tar.gz → 0.2.11__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.
- {gaard_api-0.2.10/src/gaard_api.egg-info → gaard_api-0.2.11}/PKG-INFO +5 -5
- {gaard_api-0.2.10 → gaard_api-0.2.11}/pyproject.toml +5 -5
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/admin-web/assets/main.js +16 -6
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/admin-web/assets/styles.css +2 -1
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/main.py +1 -1
- {gaard_api-0.2.10 → gaard_api-0.2.11/src/gaard_api.egg-info}/PKG-INFO +5 -5
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api.egg-info/requires.txt +4 -4
- {gaard_api-0.2.10 → gaard_api-0.2.11}/tests/test_license_api.py +1 -1
- {gaard_api-0.2.10 → gaard_api-0.2.11}/MANIFEST.in +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/README.md +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/setup.cfg +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/__init__.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/admin/__init__.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/admin/database.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/admin/database_initial.sql +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/admin/database_legacy_updates.sql +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/admin/database_updates.sql +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/admin/defaults.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/admin/migration_runner.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/admin/models.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/admin/prompt_runtime.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/admin/security.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/admin/services.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/admin-web/assets/getgaard.svg +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/admin-web/assets/identity.js +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/admin-web/assets/vendor/gridstack/gridstack-all.js +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/admin-web/assets/vendor/gridstack/gridstack.min.css +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/admin-web/index.html +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/admin-web/package.json +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/api/__init__.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/api/v1/__init__.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/api/v1/admin.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/api/v1/analysis.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/api/v1/dashboards.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/api/v1/prompts.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/api/v1/query.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/api/v1/schema.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/api_registry.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/auth_dependencies.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/auth_hooks.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/cli.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/cli_commands.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/conversations.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/core/__init__.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/core/error_handlers.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/core/schema_cache.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/core/settings.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/example_data/__init__.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/example_data/medical_poc/__init__.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/example_data/medical_poc/schema.sql +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/example_data/medical_poc/seed.sql +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/example_database.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/extension_services.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/extensions.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/license.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/package_updates.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/py.typed +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/query_hooks.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/server_cli.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/siem.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api/tls_http.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api.egg-info/SOURCES.txt +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api.egg-info/dependency_links.txt +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api.egg-info/entry_points.txt +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/src/gaard_api.egg-info/top_level.txt +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/tests/test_admin_api.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/tests/test_analysis_api.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/tests/test_api_cli.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/tests/test_api_registry.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/tests/test_conversation_api.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/tests/test_database_migrations.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/tests/test_error_handlers.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/tests/test_license_service.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/tests/test_prompt_runtime.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/tests/test_query_error_messages.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/tests/test_server_cli.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/tests/test_settings.py +0 -0
- {gaard_api-0.2.10 → gaard_api-0.2.11}/tests/test_tls_http.py +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gaard-api
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.11
|
|
4
4
|
Summary: GAARD backend web services providing admin interface
|
|
5
5
|
Requires-Python: >=3.11
|
|
6
6
|
Description-Content-Type: text/markdown
|
|
7
|
-
Requires-Dist: gaard-core==0.2.
|
|
8
|
-
Requires-Dist: gaard-connectors==0.2.
|
|
9
|
-
Requires-Dist: gaard-llm==0.2.
|
|
10
|
-
Requires-Dist: gaard-plugin-api<0.3.0,>=0.2.
|
|
7
|
+
Requires-Dist: gaard-core==0.2.11
|
|
8
|
+
Requires-Dist: gaard-connectors==0.2.11
|
|
9
|
+
Requires-Dist: gaard-llm==0.2.11
|
|
10
|
+
Requires-Dist: gaard-plugin-api<0.3.0,>=0.2.11
|
|
11
11
|
Requires-Dist: fastapi>=0.111.0
|
|
12
12
|
Requires-Dist: uvicorn[standard]>=0.30.0
|
|
13
13
|
Requires-Dist: pydantic>=2.7.0
|
|
@@ -4,16 +4,16 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "gaard-api"
|
|
7
|
-
version = "0.2.
|
|
7
|
+
version = "0.2.11"
|
|
8
8
|
description = "GAARD backend web services providing admin interface"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11"
|
|
11
11
|
|
|
12
12
|
dependencies = [
|
|
13
|
-
"gaard-core==0.2.
|
|
14
|
-
"gaard-connectors==0.2.
|
|
15
|
-
"gaard-llm==0.2.
|
|
16
|
-
"gaard-plugin-api>=0.2.
|
|
13
|
+
"gaard-core==0.2.11",
|
|
14
|
+
"gaard-connectors==0.2.11",
|
|
15
|
+
"gaard-llm==0.2.11",
|
|
16
|
+
"gaard-plugin-api>=0.2.11,<0.3.0",
|
|
17
17
|
"fastapi>=0.111.0",
|
|
18
18
|
"uvicorn[standard]>=0.30.0",
|
|
19
19
|
"pydantic>=2.7.0",
|
|
@@ -23,6 +23,7 @@ var builtInSectionLabels = {
|
|
|
23
23
|
};
|
|
24
24
|
var ADMIN_SECTION_STORAGE_KEY = "gaard_admin_section";
|
|
25
25
|
var ADMIN_MENU_GROUPS_STORAGE_KEY = "gaard_admin_menu_groups";
|
|
26
|
+
var EXTENSION_FRAME_MIN_HEIGHT = 420;
|
|
26
27
|
function getInitialAdminSection() {
|
|
27
28
|
const storedSection = localStorage.getItem(ADMIN_SECTION_STORAGE_KEY);
|
|
28
29
|
return storedSection && (builtInSectionLabels[storedSection] || storedSection.startsWith("extension:")) ? storedSection : "overview";
|
|
@@ -639,18 +640,26 @@ function initializeExtensionFrameHeight(frame) {
|
|
|
639
640
|
}
|
|
640
641
|
function getExtensionFrameContentHeight(frame) {
|
|
641
642
|
const reportedHeight = Number(frame.dataset.extensionContentHeight);
|
|
642
|
-
if (Number.isFinite(reportedHeight) && reportedHeight > 0)
|
|
643
|
+
if (Number.isFinite(reportedHeight) && reportedHeight > 0) {
|
|
644
|
+
return Math.max(reportedHeight, EXTENSION_FRAME_MIN_HEIGHT);
|
|
645
|
+
}
|
|
643
646
|
try {
|
|
644
647
|
const documentElement = frame.contentDocument?.documentElement;
|
|
645
648
|
const body = frame.contentDocument?.body;
|
|
646
|
-
return Math.max(
|
|
649
|
+
return Math.max(
|
|
650
|
+
documentElement?.scrollHeight || 0,
|
|
651
|
+
documentElement?.offsetHeight || 0,
|
|
652
|
+
body?.scrollHeight || 0,
|
|
653
|
+
body?.offsetHeight || 0,
|
|
654
|
+
EXTENSION_FRAME_MIN_HEIGHT
|
|
655
|
+
);
|
|
647
656
|
} catch {
|
|
648
|
-
return getExtensionFrameMaxHeight(frame);
|
|
657
|
+
return Math.max(getExtensionFrameMaxHeight(frame), EXTENSION_FRAME_MIN_HEIGHT);
|
|
649
658
|
}
|
|
650
659
|
}
|
|
651
660
|
function getExtensionFrameMaxHeight(frame) {
|
|
652
661
|
const content = frame.closest(".content");
|
|
653
|
-
if (!content) return
|
|
662
|
+
if (!content) return EXTENSION_FRAME_MIN_HEIGHT;
|
|
654
663
|
const styles = window.getComputedStyle(content);
|
|
655
664
|
const paddingTop = Number.parseFloat(styles.paddingTop) || 0;
|
|
656
665
|
const paddingBottom = Number.parseFloat(styles.paddingBottom) || 0;
|
|
@@ -661,10 +670,11 @@ function getExtensionFrameMaxHeight(frame) {
|
|
|
661
670
|
paddingBottom +
|
|
662
671
|
(messageRegion?.offsetHeight || 0) +
|
|
663
672
|
(messageRegion ? rowGap : 0);
|
|
664
|
-
return Math.max(
|
|
673
|
+
return Math.max(EXTENSION_FRAME_MIN_HEIGHT, content.clientHeight - reservedHeight);
|
|
665
674
|
}
|
|
666
675
|
function setExtensionFrameHeight(frame, height) {
|
|
667
|
-
|
|
676
|
+
const normalizedHeight = Number.isFinite(height) ? height : EXTENSION_FRAME_MIN_HEIGHT;
|
|
677
|
+
frame.style.height = `${Math.ceil(Math.max(normalizedHeight + 2, EXTENSION_FRAME_MIN_HEIGHT))}px`;
|
|
668
678
|
}
|
|
669
679
|
window.addEventListener("message", (event) => {
|
|
670
680
|
if (event.origin !== window.location.origin) return;
|
|
@@ -40,7 +40,7 @@ async def lifespan(app: FastAPI) -> AsyncIterator[None]:
|
|
|
40
40
|
|
|
41
41
|
app = FastAPI(
|
|
42
42
|
title="GAARD API",
|
|
43
|
-
version="0.2.
|
|
43
|
+
version="0.2.11",
|
|
44
44
|
description="Self-hosted AI SQL Gateway for governed natural-language access to relational data.",
|
|
45
45
|
lifespan=lifespan,
|
|
46
46
|
)
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gaard-api
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.11
|
|
4
4
|
Summary: GAARD backend web services providing admin interface
|
|
5
5
|
Requires-Python: >=3.11
|
|
6
6
|
Description-Content-Type: text/markdown
|
|
7
|
-
Requires-Dist: gaard-core==0.2.
|
|
8
|
-
Requires-Dist: gaard-connectors==0.2.
|
|
9
|
-
Requires-Dist: gaard-llm==0.2.
|
|
10
|
-
Requires-Dist: gaard-plugin-api<0.3.0,>=0.2.
|
|
7
|
+
Requires-Dist: gaard-core==0.2.11
|
|
8
|
+
Requires-Dist: gaard-connectors==0.2.11
|
|
9
|
+
Requires-Dist: gaard-llm==0.2.11
|
|
10
|
+
Requires-Dist: gaard-plugin-api<0.3.0,>=0.2.11
|
|
11
11
|
Requires-Dist: fastapi>=0.111.0
|
|
12
12
|
Requires-Dist: uvicorn[standard]>=0.30.0
|
|
13
13
|
Requires-Dist: pydantic>=2.7.0
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
gaard-core==0.2.
|
|
2
|
-
gaard-connectors==0.2.
|
|
3
|
-
gaard-llm==0.2.
|
|
4
|
-
gaard-plugin-api<0.3.0,>=0.2.
|
|
1
|
+
gaard-core==0.2.11
|
|
2
|
+
gaard-connectors==0.2.11
|
|
3
|
+
gaard-llm==0.2.11
|
|
4
|
+
gaard-plugin-api<0.3.0,>=0.2.11
|
|
5
5
|
fastapi>=0.111.0
|
|
6
6
|
uvicorn[standard]>=0.30.0
|
|
7
7
|
pydantic>=2.7.0
|
|
@@ -100,7 +100,7 @@ def package_bundle_zip(
|
|
|
100
100
|
"version": package_version,
|
|
101
101
|
"plan": pack,
|
|
102
102
|
"file_name": f"gaard-{pack}-pack-{package_version}.zip",
|
|
103
|
-
"gaard_version": ">=0.2.
|
|
103
|
+
"gaard_version": ">=0.2.11",
|
|
104
104
|
"description": "Test package bundle",
|
|
105
105
|
"packages": [
|
|
106
106
|
{
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|