Skip to content

Commit a635e9f

Browse files
authored
Merge pull request #29 from gramaziokohler/feat/cross-language-serialization
feat!: consume the Antikythera and compas_pb TypeScript SDKs
2 parents 4019d71 + feac300 commit a635e9f

28 files changed

Lines changed: 182 additions & 1222 deletions

.github/workflows/test.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,5 @@ jobs:
2323
- name: Install dependencies
2424
run: npm ci
2525

26-
- name: Generate proto bundle
27-
run: npm run proto:update
28-
2926
- name: Run tests
3027
run: npm test

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1818
- Blueprint uploads rejected by the API report each reason in the notification overlay, alongside session failures, instead of a bare "Upload failed" status line.
1919
- Notification messages longer than 140 characters are collapsed to a word-boundary preview with a "show more.." toggle; expanded messages scroll instead of growing the toast without limit.
2020
- Session failures are reported through the notification overlay instead of the inline error line, titled with the error code (e.g. "Session failed: SCOPE_CONDITION_ERROR"). The banner previously rendered `[object Object]`, since the error is COMPAS-serialized and its fields live under `data`.
21+
- **Breaking:** Browser agents now read and write the `compas_pb` v1 wire format, including its versioned root envelope, explicit integer/float fields, and native nested list/dictionary fields.
22+
- Protobuf generation now downloads the official `compas-dev/compas_pb` definitions pinned to v1.1.4 instead of following the legacy repository's `main` branch.
2123
- `SessionMonitor` replaced its 500ms polling loop with `useSessionStream`; only a single long-lived SSE connection is opened per session.
2224
- Pause and resume apply optimistic state updates immediately; the stream confirms or corrects them.
2325
- `task_state_changed` events are filtered by `visibleBlueprintId` so drilling into a composite task's inner blueprint does not apply outer events to the displayed graph.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ To generate the necessary files:
2525
npm run proto:update
2626
```
2727

28-
The script will attempt to download `antikythera.proto` and `compas_pb` definitions from their respective GitHub repositories. If the `antikythera` repository is private, you can provide a `GITHUB_TOKEN` environment variable, or ensure the backend repository is checked out in a sibling directory named `antikythera` for a local fallback.
28+
The script will attempt to download `antikythera.proto` and the pinned `compas_pb` v1 definitions from their respective GitHub repositories. If the `antikythera` repository is private, you can provide a `GITHUB_TOKEN` environment variable, or ensure the backend repository is checked out in a sibling directory named `antikythera` for a local fallback.
2929

3030
## Configuration
3131

package-lock.json

Lines changed: 79 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,24 @@
55
"type": "module",
66
"scripts": {
77
"dev": "vite",
8-
"build": "node scripts/update-blueprint-schema.js && node scripts/update-protos.js && tsc -b && vite build",
9-
"proto:update": "node scripts/update-protos.js",
8+
"build": "node scripts/update-blueprint-schema.js && tsc -b && vite build",
109
"schema:update": "node scripts/update-blueprint-schema.js",
1110
"lint": "eslint .",
1211
"preview": "vite preview",
1312
"test": "vitest run",
1413
"test:watch": "vitest"
1514
},
1615
"dependencies": {
16+
"@bufbuild/protobuf": "^2.14.0",
1717
"@dagrejs/dagre": "^1.1.8",
18+
"@gramaziokohler/antikythera-ts": "^0.1.0",
19+
"@gramaziokohler/compas-pb-ts": "^3.0.0",
1820
"@react-three/drei": "^10.7.7",
1921
"@react-three/fiber": "^9.5.0",
2022
"@xyflow/react": "^12.9.3",
2123
"ajv": "^8.20.0",
2224
"lucide-react": "^0.563.0",
2325
"mqtt": "^5.14.1",
24-
"protobufjs": "^7.5.4",
2526
"react": "^19.2.0",
2627
"react-dom": "^19.2.0",
2728
"three": "^0.182.0",

scripts/update-protos.js

Lines changed: 0 additions & 112 deletions
This file was deleted.

src/AgentApp.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { useState, useEffect } from 'react'
22
import { UserPromptDialog } from './components/UserPromptDialog'
3-
import { MqttService } from './services/MqttService'
4-
import { AgentLauncher } from './agents/AgentLauncher'
3+
import { MqttService } from "@gramaziokohler/antikythera-ts/agents"
4+
import { AgentLauncher } from "@gramaziokohler/antikythera-ts/agents"
55
import { BlueprintBackground } from './components/BlueprintBackground'
66
import { NotificationManager } from './components/NotificationManager'
77

0 commit comments

Comments
 (0)