feat(FN-3970): consolidate Even plugin APIs into unified package with webho

Collapsed the Even plugin architecture into a single unified plugin by merging board card routes and replacing the transport stub with a real webhook implementation, removing the separate cards plugin from the workspace. The new unified plugin (`fusion-plugin-even-realities-glasses`) now exports con

Fusion-Task-Id: FN-3970
This commit is contained in:
Fusion
2026-05-11 00:15:01 -07:00
committed by gsxdsm
parent 7828a15bec
commit 858bab241b
21 changed files with 600 additions and 116 deletions

View File

@@ -1,52 +1,17 @@
# Even Cards Plugin
# Even Cards Plugin (Deprecated)
Standalone Fusion plugin for the Even Realities on-device card flow focused on glanceable board/task status.
`fusion-plugin-even-cards` is deprecated and superseded by the canonical plugin:
## Reading the board
- `fusion-plugin-even-realities-glasses`
All endpoints are mounted under `/api/plugins/fusion-plugin-even-cards`.
Board/task card APIs previously provided here (`/board/cards`, `/board`, `/tasks/:id/cards`) now live under the canonical plugin id and route namespace.
Authentication header (required):
## Migration
```http
Authorization: Bearer <apiKey>
```
Use:
| Method | Path | Query params | Response |
|---|---|---|---|
| GET | `/board/cards` | `columns` (comma-separated columns), `max` (1-20 total cards) | `{ deck, generatedAt }` |
| GET | `/board` | `columns` (optional) | `{ summary, updatedAt }` |
| GET | `/tasks/:id/cards` | none | `{ deck, generatedAt }` or `404` |
- `/api/plugins/fusion-plugin-even-realities-glasses/board/cards`
- `/api/plugins/fusion-plugin-even-realities-glasses/board`
- `/api/plugins/fusion-plugin-even-realities-glasses/tasks/:id/cards`
`max` is **total deck size** (summary + tasks). Example: `max=20` returns 1 summary card and up to 19 task cards.
## Card data model
```ts
type GlassesCard = {
id: string;
kind: "summary" | "task";
title: string;
lines: string[];
badge: { label: string; tone: "triage" | "todo" | "in-progress" | "in-review" | "done" | "neutral" };
taskId?: string;
updatedAt: string;
};
type CardDeck = {
cards: GlassesCard[];
summary: {
counts: Record<string, number>;
updatedAt: string | null;
};
};
```
## Display defaults
Current defaults in `src/cards/format.ts`:
- `DEFAULT_MAX_CHARS_PER_LINE = 24`
- `DEFAULT_MAX_LINES_PER_CARD = 4`
- `DEFAULT_MAX_CARDS_PER_DECK = 8`
These are provisional fallback values because FN-3737 research artifacts were unavailable in this worktree; revisit task is tracked in FN-3754.
This package is removed from the active workspace package list and retained only as a temporary compatibility artifact pending full cleanup.