UNPKG

akm-cli

Version:

akm (Agent Knowledge Manager) — a portable, local-first capability library for AI agents. Discover, load, share, and improve reusable skills, scripts, workflows, and knowledge across any shell-capable coding agent, including Claude Code, OpenCode, and Cur

43 lines (42 loc) • 1.88 kB
// This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at https://mozilla.org/MPL/2.0/. /** * Aider CLI harness (P2 integration, plan §"The adapter contract"). * * Per-harness barrel gathering the Aider integration surfaces: * - agent command builder → ./agent-builder.ts (aiderBuilder) * - result extractor → ./result-extractor.ts (aiderResultExtractor) * * It also defines {@link AiderHarness}, the {@link AkmHarness} descriptor that * `HARNESS_REGISTRY` registers. Dispatch-only: no native session-log reader or * config importer yet. */ import { caps } from "../shared.js"; import { BaseHarness } from "../types.js"; import { aiderBuilder } from "./agent-builder.js"; import { aiderResultExtractor } from "./result-extractor.js"; export { AIDER_PLATFORM, aiderBuilder } from "./agent-builder.js"; export { aiderResultExtractor } from "./result-extractor.js"; /** * Aider. * * Canonical id is `'aider'`; no alias or distinct runtime identity. */ export class AiderHarness extends BaseHarness { id = "aider"; displayName = "Aider"; agentBuilder = aiderBuilder; resultExtractor = aiderResultExtractor; // ── Workflow-engine descriptor (plan §"Capability matrix", P2) ──────────── // No flag-shaped resume: Aider persists context in chat-history files // (`.aider.chat.history.md`), not session ids — the plan's named example of // a harness with no session model. akm's `workflow_run_units` remains the // durable resume source of truth. // No `identityEnv`: the matrix lists Aider's identity markers as uncertain, // and Aider stamps no session var onto child processes. capabilities = caps({ agentDispatch: true, detection: true, }); }