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:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user