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
JavaScript
// 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,
});
}