Skip to content

Add Aeon column for consuming agent output#104

Merged
aaronjmars merged 1 commit into
mainfrom
feat/aeon-column
Jul 13, 2026
Merged

Add Aeon column for consuming agent output#104
aaronjmars merged 1 commit into
mainfrom
feat/aeon-column

Conversation

@aaronjmars

Copy link
Copy Markdown
Collaborator

What

Adds a new aeon column type that surfaces the output of an Aeon agent fork — one column, four interchangeable sources (a dropdown in the config form):

Source What it shows Transport
github-runs (default) Aeon's workflow runs on a fork GitHub API (existing client)
github-articles output/articles/*.md long-form pieces GitHub Contents API
dashboard-outputs Rich per-run cards from Aeon's json-render spec local dashboard GET /api/outputs
dashboard-runs Recent Aeon-launched runs local dashboard GET /api/runs

The dashboard-outputs renderer walks Aeon's json-render spec natively — all 15 component types (Card / Stack / Grid / Heading / Text / Badge / Link / Table / Stat / Progress / TweetCard / StoryLink / Alert / Button / Separator), with a visited-set + depth cap against pathological trees. The spec rides on item.meta.spec; item.content is a flattened text blob so alert/filter keywords work over card text.

No changes to Aeon are required — it reads a public fork over the GitHub API, or the local dashboard over loopback.

Files

  • lib/columns/plugins/aeon/{plugin.ts,server.ts,client.tsx} — the plugin
  • lib/integrations/aeon.ts — HTTP client for the four sources
  • Registered in plugins/manifest.ts, registry.ts, server-registry.ts
  • .env.example — documents the optional GITHUB_TOKEN (60 → 5,000 req/hr; required only for private forks)

Verification

npm run build · tsc --noEmit · eslint all clean. Exercised live over POST /api/columns/aeon:

  • github-runs → 10 real runs from aaronjmars/aeon
  • github-articles → 2 real articles with parsed titles/dates/URLs
  • dashboard-outputs → mock dashboard: output→FeedItem mapping correct, meta.spec intact, skill filter works
  • Error paths: invalid source → 400 field error; unknown type → 404; unreachable dashboard → actionable message

Surfaces the output of an Aeon agent (github.com/aaronjmars/aeon) fork.
One column type, four interchangeable sources:

- github-runs (default): Aeon's workflow runs on a fork (GitHub API)
- github-articles: output/articles/*.md long-form pieces (GitHub API)
- dashboard-outputs: rich per-run json-render cards from the local dashboard
- dashboard-runs: recent Aeon-launched runs from the local dashboard

The dashboard-outputs renderer walks Aeon's json-render spec natively (all 15
component types: Card/Stat/Table/TweetCard/StoryLink/Alert/...). GitHub sources
are keyless (60 req/hr) and reuse the existing GitHub client; GITHUB_TOKEN
raises that to 5,000/hr and is now documented in .env.example.

Plugin: lib/columns/plugins/aeon/{plugin,server,client}; client:
lib/integrations/aeon.ts; registered in manifest + both registries.
@aaronjmars aaronjmars merged commit b216cf7 into main Jul 13, 2026
2 checks passed
@aaronjmars aaronjmars deleted the feat/aeon-column branch July 13, 2026 17:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant