feat(aurelio-web): update Antigravity bridge, Svelte App, and shared deps

- Update antigravityBridge service endpoint handling
- Enhance App.svelte with improved UI flow
- Bump shared package dependencies
This commit is contained in:
AI Agent 2026-05-21 16:48:16 +01:00
parent 07d88c5443
commit 3d088aab86
5 changed files with 80 additions and 40 deletions

View file

@ -9,10 +9,10 @@
"version": "0.1.0",
"dependencies": {
"@aurelio/shared": "file:../shared",
"@bufbuild/protobuf": "^2.12.0",
"@connectrpc/connect": "^2.1.1",
"@bufbuild/protobuf": "^1.10.0",
"@connectrpc/connect": "^1.7.0",
"@connectrpc/connect-node": "^2.1.1",
"@connectrpc/connect-web": "^2.1.1",
"@connectrpc/connect-web": "^1.7.0",
"@fastify/cors": "^10.1.0",
"@fastify/static": "^8.2.0",
"@fastify/websocket": "^11.0.3",
@ -62,9 +62,9 @@
"link": true
},
"node_modules/@bufbuild/protobuf": {
"version": "2.12.0",
"resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.12.0.tgz",
"integrity": "sha512-B/XlCaFIP8LOwzo+bz5uFzATYokcwCKQcghqnlfwSmM5eX/qTkvDBnDPs+gXtX/RyjxJ4DRikECcPJbyALA8FA==",
"version": "1.10.1",
"resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-1.10.1.tgz",
"integrity": "sha512-wJ8ReQbHxsAfXhrf9ixl0aYbZorRuOWpBNzm8pL8ftmSxQx/wnJD5Eg861NwJU/czy2VXFIebCeZnZrI9rktIQ==",
"license": "(Apache-2.0 AND BSD-3-Clause)"
},
"node_modules/@codingame/monaco-vscode-api": {
@ -484,12 +484,12 @@
}
},
"node_modules/@connectrpc/connect": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/@connectrpc/connect/-/connect-2.1.1.tgz",
"integrity": "sha512-JzhkaTvM73m2K1URT6tv53k2RwngSmCXLZJgK580qNQOXRzZRR/BCMfZw3h+90JpnG6XksP5bYT+cz0rpUzUWQ==",
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/@connectrpc/connect/-/connect-1.7.0.tgz",
"integrity": "sha512-iNKdJRi69YP3mq6AePRT8F/HrxWCewrhxnLMNm0vpqXAR8biwzRtO6Hjx80C6UvtKJ5sFmffQT7I4Baecz389w==",
"license": "Apache-2.0",
"peerDependencies": {
"@bufbuild/protobuf": "^2.7.0"
"@bufbuild/protobuf": "^1.10.0"
}
},
"node_modules/@connectrpc/connect-node": {
@ -506,13 +506,13 @@
}
},
"node_modules/@connectrpc/connect-web": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/@connectrpc/connect-web/-/connect-web-2.1.1.tgz",
"integrity": "sha512-J8317Q2MaFRCT1jzVR1o06bZhDIBmU0UAzWx6xOIXzOq8+k71/+k7MUF7AwcBUX+34WIvbm5syRgC5HXQA8fOg==",
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/@connectrpc/connect-web/-/connect-web-1.7.0.tgz",
"integrity": "sha512-qyP0YOnUPRWwCc/VfsoydMJvkb7EyUPr2q9sHgBuJzbADjiqck1gKH5V5ZPzPhTLBvmz5UvG+wiZ5sMRQHU1MQ==",
"license": "Apache-2.0",
"peerDependencies": {
"@bufbuild/protobuf": "^2.7.0",
"@connectrpc/connect": "2.1.1"
"@bufbuild/protobuf": "^1.10.0",
"@connectrpc/connect": "1.7.0"
}
},
"node_modules/@esbuild/aix-ppc64": {

View file

@ -16,10 +16,10 @@
},
"dependencies": {
"@aurelio/shared": "file:../shared",
"@bufbuild/protobuf": "^2.12.0",
"@connectrpc/connect": "^2.1.1",
"@bufbuild/protobuf": "^1.10.0",
"@connectrpc/connect": "^1.7.0",
"@connectrpc/connect-node": "^2.1.1",
"@connectrpc/connect-web": "^2.1.1",
"@connectrpc/connect-web": "^1.7.0",
"@fastify/cors": "^10.1.0",
"@fastify/static": "^8.2.0",
"@fastify/websocket": "^11.0.3",

View file

@ -1,10 +1,10 @@
import { createPromiseClient } from "@connectrpc/connect";
import { createGrpcWebTransport } from "@connectrpc/connect-web";
import { AntigravityLanguageServerService } from "@aurelio/shared/src/proto/antigravity_connect.js";
import { AntigravityLanguageServerService } from "@aurelio/shared/proto/antigravity_connect";
import {
AntigravityStartCascadeRequest,
AntigravityEmpty
} from "@aurelio/shared/src/proto/antigravity_pb.js";
} from "@aurelio/shared/proto/antigravity_pb";
/**
* AntigravityBridge Connects to the Antigravity Language Server (CDP Bridge).

View file

@ -208,6 +208,11 @@
slideDir = newIdx > oldIdx ? 'left' : 'right';
activeTab = id;
// Scroll active tab into view
setTimeout(() => {
document.getElementById(`tab-${id}`)?.scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'center' });
}, 50);
if (id === 'antigravity') {
postMessage('antigravity:workspaces');
}
@ -487,7 +492,7 @@
});
</script>
<div class="app-shell" role="application" ontouchstart={handleTouchStart} ontouchend={handleTouchEnd}>
<div class="app-shell" role="application" ontouchstart={handleTouchStart} ontouchend={handleTouchEnd} style="--slide-dir: {slideDir === 'left' ? 1 : -1}">
<!-- Status Bar -->
<header class="status-bar">
<div class="status-left">
@ -1435,6 +1440,7 @@
<nav class="tab-bar">
{#each tabs as tab}
<button
id="tab-{tab.id}"
class="tab-item"
class:active={activeTab === tab.id}
onclick={() => switchTab(tab.id)}
@ -1619,20 +1625,23 @@
display: flex;
flex-direction: column;
align-items: center;
gap: 6px;
padding: 16px 8px;
gap: 8px;
padding: 20px 12px;
background: var(--bg-surface);
border: 1px solid var(--border-subtle);
border-radius: 12px;
border-radius: 16px;
color: var(--text-primary);
cursor: pointer;
font-family: inherit;
transition: all 0.15s ease;
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
user-select: none;
-webkit-tap-highlight-color: transparent;
}
.action-btn:active {
transform: scale(0.96);
transform: scale(0.94);
background: var(--bg-elevated);
box-shadow: inset 0 2px 4px rgba(0,0,0,0.2);
}
.action-icon { font-size: 1.25rem; }
@ -1640,18 +1649,28 @@
/* ── Buttons ─────────────────────────────────── */
.btn {
padding: 8px 16px;
border-radius: 8px;
padding: 10px 20px;
min-height: 44px;
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 10px;
border: 1px solid var(--border-subtle);
background: var(--bg-surface);
color: var(--text-primary);
font-family: inherit;
font-size: 0.8125rem;
font-size: 0.875rem;
font-weight: 500;
cursor: pointer;
transition: all 0.15s ease;
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
user-select: none;
-webkit-tap-highlight-color: transparent;
}
.btn:active { transform: scale(0.96); }
.btn:active {
transform: scale(0.94);
opacity: 0.8;
}
.btn-primary {
background: var(--accent-primary);
@ -1660,8 +1679,9 @@
}
.btn-sm {
padding: 4px 10px;
font-size: 0.75rem;
padding: 6px 14px;
min-height: 36px;
font-size: 0.8125rem;
}
.btn-approve {
@ -1913,8 +1933,10 @@
.tab-bar {
display: flex;
align-items: center;
justify-content: space-around;
padding: 6px 0 calc(var(--safe-area-bottom, 0px) + 6px);
justify-content: flex-start;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
padding: 6px 12px calc(var(--safe-area-bottom, 0px) + 6px);
background: var(--bg-secondary);
border-top: 1px solid var(--border-subtle);
flex-shrink: 0;
@ -1926,21 +1948,37 @@
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
background: rgba(17, 17, 24, 0.85);
scrollbar-width: none;
-ms-overflow-style: none;
}
.tab-bar::-webkit-scrollbar {
display: none;
}
.tab-item {
flex: 0 0 auto;
min-width: 64px;
min-height: 48px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 2px;
padding: 6px 12px;
padding: 4px 12px;
background: none;
border: none;
color: var(--text-muted);
cursor: pointer;
font-family: inherit;
transition: color 0.2s;
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
-webkit-tap-highlight-color: transparent;
user-select: none;
}
.tab-item:active {
transform: scale(0.92);
opacity: 0.7;
}
.tab-item.active {
@ -1964,8 +2002,8 @@
}
@keyframes fadeSlideIn {
from { opacity: 0; transform: translateY(8px); }
to { opacity: 1; transform: translateY(0); }
from { opacity: 0; transform: translateX(calc(30px * var(--slide-dir))); }
to { opacity: 1; transform: translateX(0); }
}
/* ── Toast Notifications ────────────────────── */

View file

@ -7,6 +7,7 @@
"types": "./dist/index.d.ts",
"exports": {
".": "./dist/index.js",
"./proto/*": "./dist/proto/*.js",
"./*": "./dist/*.js"
},
"scripts": {
@ -15,7 +16,8 @@
"gen:proto:antigravity:es": "npx buf generate proto --template buf.es.gen.yaml --path proto/antigravity.proto",
"gen:proto:antigravity:connect": "npx buf generate proto --template buf.connect.gen.yaml --path proto/antigravity.proto",
"gen:proto:es": "npx buf generate proto --template buf.es.gen.yaml",
"gen:proto:connect": "npx buf generate proto --template buf.connect.gen.yaml"
"gen:proto:connect": "npx buf generate proto --template buf.connect.gen.yaml",
"build": "tsc"
},
"dependencies": {
"@bufbuild/protobuf": "^1.10.0",