From d347ec86c2f42410d80c23cfe574e928c7c398ad Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 13:53:23 -0400 Subject: [PATCH 01/38] feat: add Prime Agent harness literals (PAN-3668) --- packages/contracts/src/types.test.ts | 4 ++++ packages/contracts/src/types.ts | 4 ++-- src/lib/runtimes/types.ts | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/contracts/src/types.test.ts b/packages/contracts/src/types.test.ts index 84cb5284adf..f1d39569206 100644 --- a/packages/contracts/src/types.test.ts +++ b/packages/contracts/src/types.test.ts @@ -15,6 +15,10 @@ describe("getHarness", () => { expect(getHarness({ runtime: "kimi-code" })).toBe("kimi-code") }) + it("preserves the canonical prime-agent runtime literal", () => { + expect(getHarness({ runtime: "prime-agent" })).toBe("prime-agent") + }) + it("returns the existing target for every legacy harness string", () => { expect(getHarness({ runtime: "claude-code" })).toBe("claude-code") expect(getHarness({ runtime: "ohmypi" })).toBe("ohmypi") diff --git a/packages/contracts/src/types.ts b/packages/contracts/src/types.ts index e839301f19c..9794e0a387a 100644 --- a/packages/contracts/src/types.ts +++ b/packages/contracts/src/types.ts @@ -84,9 +84,9 @@ export type VerificationStatusValue = typeof VerificationStatusValue.Type // PAN-1989 retired 'pi'; legacy DB rows read as 'ohmypi' via getHarness(). // All new write sites use canonical harness literals. -export type Harness = 'claude-code' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code' +export type Harness = 'claude-code' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code' | 'prime-agent' -export const KNOWN_HARNESSES: ReadonlySet = new Set(['claude-code', 'ohmypi', 'codex', 'acp', 'kimi-code']) +export const KNOWN_HARNESSES: ReadonlySet = new Set(['claude-code', 'ohmypi', 'codex', 'acp', 'kimi-code', 'prime-agent']) /** * Normalize a snapshot's runtime field to a known Harness value. diff --git a/src/lib/runtimes/types.ts b/src/lib/runtimes/types.ts index 8eb785e5b4b..081cdba4f60 100644 --- a/src/lib/runtimes/types.ts +++ b/src/lib/runtimes/types.ts @@ -41,7 +41,7 @@ export type { * by normalizeHarness() on read. normalizeHarness still accepts the raw string * 'pi' as input so old rows round-trip safely. */ -export type RuntimeName = 'claude-code' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code'; +export type RuntimeName = 'claude-code' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code' | 'prime-agent'; /** * Legacy harness strings that can still appear in persisted state or older From 59a1eb3fb4cf8ec85a4cd2e0a110d9c0e8ad8631 Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 13:55:24 -0400 Subject: [PATCH 02/38] feat: define Prime Agent harness behavior (PAN-3668) --- .../contracts/src/harness-behavior.test.ts | 22 +++++++++++ packages/contracts/src/harness-behavior.ts | 39 ++++++++++++++++--- 2 files changed, 55 insertions(+), 6 deletions(-) create mode 100644 packages/contracts/src/harness-behavior.test.ts diff --git a/packages/contracts/src/harness-behavior.test.ts b/packages/contracts/src/harness-behavior.test.ts new file mode 100644 index 00000000000..a5243a34066 --- /dev/null +++ b/packages/contracts/src/harness-behavior.test.ts @@ -0,0 +1,22 @@ +import { describe, expect, it } from "vitest" +import { getHarnessBehavior, getRuntimeBehavior, PRIME_AGENT_BEHAVIOR } from "./harness-behavior" + +describe("Prime Agent harness behavior", () => { + it("uses Prime-specific protocol discriminators", () => { + expect(PRIME_AGENT_BEHAVIOR).toMatchObject({ + launchCommandKind: "prime-agent-rpc", + deliveryKind: "prime-agent-rpc", + readinessKind: "prime-agent-ready", + transcriptKind: "prime-agent-jsonl", + sessionIdSource: "prime-agent-session-id", + contextLayerKind: "prime-agent", + feedKind: "prime_agent", + workAgentMode: "prime-agent-rpc", + }) + }) + + it("resolves without falling back to Claude Code", () => { + expect(getHarnessBehavior("prime-agent")).toBe(PRIME_AGENT_BEHAVIOR) + expect(getRuntimeBehavior("prime-agent")).toBe(PRIME_AGENT_BEHAVIOR) + }) +}) diff --git a/packages/contracts/src/harness-behavior.ts b/packages/contracts/src/harness-behavior.ts index 50ca2f10f36..1bb56f2ab47 100644 --- a/packages/contracts/src/harness-behavior.ts +++ b/packages/contracts/src/harness-behavior.ts @@ -3,7 +3,7 @@ import type { Harness } from "./types" export type RuntimeName = Harness export type HarnessName = RuntimeName | "pi" -export type HarnessLaunchCommandKind = "claude-code" | "ohmypi-rpc" | "codex-work-tui" | "codex-app-server" | "acp-host" | "kimi-code-tui" +export type HarnessLaunchCommandKind = "claude-code" | "ohmypi-rpc" | "codex-work-tui" | "codex-app-server" | "acp-host" | "kimi-code-tui" | "prime-agent-rpc" export type HarnessDeliveryKind = | "pty-supervisor" | "rpc-fifo" @@ -11,6 +11,7 @@ export type HarnessDeliveryKind = | "codex-app-server-rpc" | "acp-host-rpc" | "tmux-paste" + | "prime-agent-rpc" export type HarnessReadinessKind = | "claude-session-signal" | "ohmypi-ready-file" @@ -18,10 +19,11 @@ export type HarnessReadinessKind = | "codex-app-server-ready" | "acp-host-ready" | "kimi-session-signal" -export type HarnessTranscriptKind = "claude-jsonl" | "ohmypi-jsonl" | "codex-rollout-jsonl" | "acp-jsonl" | "kimi-wire-jsonl" -export type HarnessSessionIdSource = "launcher-session-id" | "transcript-jsonl" | "codex-thread-id" | "acp-session-id" | "kimi-session-newest" -export type HarnessContextLayerKind = "claude" | "pi" | "codex" | "acp" | "kimi-code" -export type HarnessFeedKind = "claude_code" | "pi" | "codex" | "acp" | "kimi_code" + | "prime-agent-ready" +export type HarnessTranscriptKind = "claude-jsonl" | "ohmypi-jsonl" | "codex-rollout-jsonl" | "acp-jsonl" | "kimi-wire-jsonl" | "prime-agent-jsonl" +export type HarnessSessionIdSource = "launcher-session-id" | "transcript-jsonl" | "codex-thread-id" | "acp-session-id" | "kimi-session-newest" | "prime-agent-session-id" +export type HarnessContextLayerKind = "claude" | "pi" | "codex" | "acp" | "kimi-code" | "prime-agent" +export type HarnessFeedKind = "claude_code" | "pi" | "codex" | "acp" | "kimi_code" | "prime_agent" export interface HarnessNativeCommand { readonly name: string @@ -48,7 +50,7 @@ export interface HarnessBehavior { readonly usesRpcFifo: boolean readonly usesCodexHome: boolean readonly injectsPromptTimeMemory: boolean - readonly workAgentMode: "claude-code" | "ohmypi-rpc" | "codex-work-tui" | "codex-app-server" | "acp-host" | "kimi-code-tui" + readonly workAgentMode: "claude-code" | "ohmypi-rpc" | "codex-work-tui" | "codex-app-server" | "acp-host" | "kimi-code-tui" | "prime-agent-rpc" readonly readyTimeoutSeconds: number } @@ -176,12 +178,36 @@ export const KIMI_CODE_BEHAVIOR: HarnessBehavior = { readyTimeoutSeconds: 60, } +export const PRIME_AGENT_BEHAVIOR: HarnessBehavior = { + displayName: "Prime Agent", + nativeCommands: [], + executableName: "prime-agent", + processNames: ["prime-agent"], + launchCommandKind: "prime-agent-rpc", + deliveryKind: "prime-agent-rpc", + readinessKind: "prime-agent-ready", + transcriptKind: "prime-agent-jsonl", + sessionIdSource: "prime-agent-session-id", + contextLayerKind: "prime-agent", + feedKind: "prime_agent", + supportsPtySupervisor: false, + supportsChannelsBridge: false, + supportsConversationStreaming: true, + supportsPatchProjection: false, + usesRpcFifo: false, + usesCodexHome: false, + injectsPromptTimeMemory: true, + workAgentMode: "prime-agent-rpc", + readyTimeoutSeconds: 120, +} + const BEHAVIORS: Record = { "claude-code": CLAUDE_CODE_BEHAVIOR, ohmypi: OHMYPI_BEHAVIOR, codex: CODEX_BEHAVIOR, acp: ACP_BEHAVIOR, "kimi-code": KIMI_CODE_BEHAVIOR, + "prime-agent": PRIME_AGENT_BEHAVIOR, } export function getHarnessBehavior(harness: HarnessName | undefined | null): HarnessBehavior { @@ -189,6 +215,7 @@ export function getHarnessBehavior(harness: HarnessName | undefined | null): Har if (harness === "codex") return CODEX_BEHAVIOR if (harness === "acp") return ACP_BEHAVIOR if (harness === "kimi-code") return KIMI_CODE_BEHAVIOR + if (harness === "prime-agent") return PRIME_AGENT_BEHAVIOR return CLAUDE_CODE_BEHAVIOR } From b0e506f4f3ec351c7d2f3c27696926bdd4bd3dac Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 13:56:40 -0400 Subject: [PATCH 03/38] test: verify Prime Agent behavior record (PAN-3668) --- packages/contracts/src/harness-behavior.test.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/contracts/src/harness-behavior.test.ts b/packages/contracts/src/harness-behavior.test.ts index a5243a34066..df9e8dbb776 100644 --- a/packages/contracts/src/harness-behavior.test.ts +++ b/packages/contracts/src/harness-behavior.test.ts @@ -4,6 +4,9 @@ import { getHarnessBehavior, getRuntimeBehavior, PRIME_AGENT_BEHAVIOR } from "./ describe("Prime Agent harness behavior", () => { it("uses Prime-specific protocol discriminators", () => { expect(PRIME_AGENT_BEHAVIOR).toMatchObject({ + displayName: "Prime Agent", + executableName: "prime-agent", + processNames: ["prime-agent"], launchCommandKind: "prime-agent-rpc", deliveryKind: "prime-agent-rpc", readinessKind: "prime-agent-ready", @@ -12,6 +15,14 @@ describe("Prime Agent harness behavior", () => { contextLayerKind: "prime-agent", feedKind: "prime_agent", workAgentMode: "prime-agent-rpc", + supportsPtySupervisor: false, + supportsChannelsBridge: false, + supportsConversationStreaming: true, + supportsPatchProjection: false, + usesRpcFifo: false, + usesCodexHome: false, + injectsPromptTimeMemory: true, + readyTimeoutSeconds: 120, }) }) From c319ce732678327c98603f90443b4ebe92f06d5d Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 13:58:07 -0400 Subject: [PATCH 04/38] feat: enumerate Prime Agent in contracts (PAN-3668) --- packages/contracts/src/artifacts.ts | 2 +- packages/contracts/src/context-layers.test.ts | 4 +++- packages/contracts/src/context-layers.ts | 3 ++- packages/contracts/src/flywheel.ts | 2 +- packages/contracts/src/telemetry.ts | 2 +- 5 files changed, 8 insertions(+), 5 deletions(-) diff --git a/packages/contracts/src/artifacts.ts b/packages/contracts/src/artifacts.ts index 97ca3804b4a..10c3733d337 100644 --- a/packages/contracts/src/artifacts.ts +++ b/packages/contracts/src/artifacts.ts @@ -12,7 +12,7 @@ export type ArtifactHash = typeof ArtifactHash.Type export const ArtifactAgentRole = Schema.Literals(["plan", "work", "review", "test", "ship", "flywheel", "user"]) export type ArtifactAgentRole = typeof ArtifactAgentRole.Type -export const ArtifactAgentHarness = Schema.Literals(["claude-code", "pi", "ohmypi", "codex", "acp", "kimi-code", "user"]) +export const ArtifactAgentHarness = Schema.Literals(["claude-code", "pi", "ohmypi", "codex", "acp", "kimi-code", "prime-agent", "user"]) export type ArtifactAgentHarness = typeof ArtifactAgentHarness.Type export const ArtifactLifecycleState = Schema.Literals([ diff --git a/packages/contracts/src/context-layers.test.ts b/packages/contracts/src/context-layers.test.ts index 71fff7bb155..c5644f1080f 100644 --- a/packages/contracts/src/context-layers.test.ts +++ b/packages/contracts/src/context-layers.test.ts @@ -96,7 +96,7 @@ describe("context dashboard contracts", () => { it("names harness previews with shared harness values and fullPrompt", () => { const harnesses: readonly Harness[] = CONTEXT_PREVIEW_HARNESSES - expect(harnesses).toEqual(["claude-code", "ohmypi", "codex", "acp", "kimi-code"]) + expect(harnesses).toEqual(["claude-code", "ohmypi", "codex", "acp", "kimi-code", "prime-agent"]) const parsed = decodePreviewResponse({ operation: "preview", @@ -106,6 +106,7 @@ describe("context dashboard contracts", () => { codex: "Codex rendered context", acp: "ACP rendered context", "kimi-code": "Kimi Code rendered context", + "prime-agent": "Prime Agent rendered context", fullPrompt: "Overdeck injected prompt audit", }, diagnostics: [], @@ -115,6 +116,7 @@ describe("context dashboard contracts", () => { expect(parsed.previews.ohmypi).toBe("oh-my-pi rendered context") expect(parsed.previews.acp).toBe("ACP rendered context") expect(parsed.previews["kimi-code"]).toBe("Kimi Code rendered context") + expect(parsed.previews["prime-agent"]).toBe("Prime Agent rendered context") expect(parsed.previews.fullPrompt).toBe("Overdeck injected prompt audit") }) diff --git a/packages/contracts/src/context-layers.ts b/packages/contracts/src/context-layers.ts index c1787c5bed5..fd54cbcb8c1 100644 --- a/packages/contracts/src/context-layers.ts +++ b/packages/contracts/src/context-layers.ts @@ -2,7 +2,7 @@ import { Schema } from "effect" import type { Harness } from "./types" export const CONTEXT_LAYER_KINDS = ["global", "project", "workspace"] as const -export const CONTEXT_PREVIEW_HARNESSES = ["claude-code", "ohmypi", "codex", "acp", "kimi-code"] as const satisfies readonly Harness[] +export const CONTEXT_PREVIEW_HARNESSES = ["claude-code", "ohmypi", "codex", "acp", "kimi-code", "prime-agent"] as const satisfies readonly Harness[] export const ContextLayerKind = Schema.Literals(CONTEXT_LAYER_KINDS) export type ContextLayerKind = typeof ContextLayerKind.Type @@ -141,6 +141,7 @@ export const ContextHarnessPreviews = Schema.Struct({ codex: Schema.String, acp: Schema.String, "kimi-code": Schema.String, + "prime-agent": Schema.String, fullPrompt: Schema.String, }) export type ContextHarnessPreviews = typeof ContextHarnessPreviews.Type diff --git a/packages/contracts/src/flywheel.ts b/packages/contracts/src/flywheel.ts index 61c1cad56d2..9fa9d29f5a4 100644 --- a/packages/contracts/src/flywheel.ts +++ b/packages/contracts/src/flywheel.ts @@ -6,7 +6,7 @@ export type FlywheelRunId = typeof FlywheelRunId.Type export const FlywheelHttpUrl = Schema.String.check(Schema.isPattern(/^https?:\/\/\S+$/i)) export type FlywheelHttpUrl = typeof FlywheelHttpUrl.Type -export const FlywheelHarness = Schema.Literals(["claude-code", "pi", "ohmypi", "codex", "acp", "kimi-code"]) +export const FlywheelHarness = Schema.Literals(["claude-code", "pi", "ohmypi", "codex", "acp", "kimi-code", "prime-agent"]) export interface FlywheelOrchestrator { harness: typeof FlywheelHarness.Type model: string diff --git a/packages/contracts/src/telemetry.ts b/packages/contracts/src/telemetry.ts index a6feb83d59e..017a7a5f4b5 100644 --- a/packages/contracts/src/telemetry.ts +++ b/packages/contracts/src/telemetry.ts @@ -82,7 +82,7 @@ export const TELEMETRY_CLI_VERBS = [ "other", ] as const -const TELEMETRY_HARNESSES = ["claude-code", "ohmypi", "codex", "acp", "kimi-code"] as const satisfies readonly Harness[] +const TELEMETRY_HARNESSES = ["claude-code", "ohmypi", "codex", "acp", "kimi-code", "prime-agent"] as const satisfies readonly Harness[] export const TELEMETRY_PROPERTY_DOMAINS = { agent_spawn_mode: ["spawn-and-send", "spawn-work-and-send"], From ef99614cb1dd11d41db8c5952e6b5391d3941a1c Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 14:00:34 -0400 Subject: [PATCH 05/38] feat: advertise Prime Agent in CLI help (PAN-3668) --- packages/contracts/src/composer-commands.generated.ts | 8 ++++---- src/cli/commands/artifacts.ts | 2 +- src/cli/index.ts | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/contracts/src/composer-commands.generated.ts b/packages/contracts/src/composer-commands.generated.ts index 0658488f7f1..ae788bd05e4 100644 --- a/packages/contracts/src/composer-commands.generated.ts +++ b/packages/contracts/src/composer-commands.generated.ts @@ -33,7 +33,7 @@ export const COMPOSER_COMMAND_MANIFEST: ComposerCommandManifestEntry[] = [ {"id":"pan-backlog","path":["backlog"],"display":"/pan backlog","description":"Backlog sequencer management","args":[],"options":[],"aliases":[],"category":"Lifecycle"}, {"id":"pan-backlog-write-sequence","path":["backlog","write-sequence"],"display":"/pan backlog write-sequence","description":"Validate a SequenceDoc JSON file and write it to .pan/backlog/sequence.md (triggers auto-commit)","args":[{"name":"file","required":true,"variadic":false}],"options":[{"flags":"--project-root ","description":"Project root (default: cwd)","required":true,"valueHint":"path"}],"aliases":[],"category":"Lifecycle"}, {"id":"pan-backlog-forecast","path":["backlog","forecast"],"display":"/pan backlog forecast","description":"Pickup forecast (waves / needs-planning / cohort / stats) from sequence.md + SQLite — no HTTP (sandbox-safe)","args":[],"options":[{"flags":"-n, --n ","description":"Wave size (default 5)","required":true,"valueHint":"n"}],"aliases":[],"category":"Lifecycle"}, - {"id":"pan-plan","path":["plan"],"display":"/pan plan","description":"Planning lifecycle commands","args":[{"name":"id","required":false,"variadic":false}],"options":[{"flags":"--auto","description":"Run non-interactive planning; inferred choices are recorded in plan.autoDecisions[]","required":false,"valueHint":null},{"flags":"--auto-start","description":"[deprecated: use pan start ] After planning completes, automatically start the work agent — used by autonomous orchestrators","required":false,"valueHint":null},{"flags":"--probe","description":"Add an adversarial pre-finalize probe pass to the planning prompt","required":false,"valueHint":null},{"flags":"--model ","description":"Model to use for the planning role","required":true,"valueHint":"model"},{"flags":"--harness ","description":"Coding-agent harness: claude-code | pi | codex | acp | kimi-code (defaults to role/provider settings)","required":true,"valueHint":"harness"},{"flags":"--effort ","description":"Planning effort: low | medium | high","required":true,"valueHint":"level"},{"flags":"--remote","description":"Use remote planning workspace (Fly.io)","required":false,"valueHint":null},{"flags":"--local","description":"Use local planning workspace","required":false,"valueHint":null}],"aliases":[],"category":"Lifecycle"}, + {"id":"pan-plan","path":["plan"],"display":"/pan plan","description":"Planning lifecycle commands","args":[{"name":"id","required":false,"variadic":false}],"options":[{"flags":"--auto","description":"Run non-interactive planning; inferred choices are recorded in plan.autoDecisions[]","required":false,"valueHint":null},{"flags":"--auto-start","description":"[deprecated: use pan start ] After planning completes, automatically start the work agent — used by autonomous orchestrators","required":false,"valueHint":null},{"flags":"--probe","description":"Add an adversarial pre-finalize probe pass to the planning prompt","required":false,"valueHint":null},{"flags":"--model ","description":"Model to use for the planning role","required":true,"valueHint":"model"},{"flags":"--harness ","description":"Coding-agent harness: claude-code | pi | codex | acp | kimi-code | prime-agent (defaults to role/provider settings)","required":true,"valueHint":"harness"},{"flags":"--effort ","description":"Planning effort: low | medium | high","required":true,"valueHint":"level"},{"flags":"--remote","description":"Use remote planning workspace (Fly.io)","required":false,"valueHint":null},{"flags":"--local","description":"Use local planning workspace","required":false,"valueHint":null}],"aliases":[],"category":"Lifecycle"}, {"id":"pan-plan-finalize","path":["plan","finalize"],"display":"/pan plan finalize","description":"Mark the workspace plan as proposed and promote it to canonical state","args":[],"options":[{"flags":"-w, --workspace ","description":"Workspace path (defaults to cwd, walks up to find .pan/)","required":true,"valueHint":"path"},{"flags":"--json","description":"Emit JSON result","required":false,"valueHint":null},{"flags":"--no-promote","description":"Skip auto-promotion to main; leave spec at status=proposed for manual Done","required":false,"valueHint":null},{"flags":"--no-quality-lint","description":"Emergency bypass for xBRIEF quality lint during finalize","required":false,"valueHint":null},{"flags":"--no-prd","description":"Bypass the PRD-first gate for a genuinely trivial issue (loud; prefer writing the PRD)","required":false,"valueHint":null}],"aliases":[],"category":"Lifecycle"}, {"id":"pan-plan-done","path":["plan","done"],"display":"/pan plan done","description":"Complete planning — promote the xBRIEF and transition the issue to Planned","args":[{"name":"id","required":true,"variadic":false}],"options":[{"flags":"--no-prd","description":"Bypass the PRD-first gate for a genuinely trivial issue (loud; prefer writing the PRD)","required":false,"valueHint":null}],"aliases":[],"category":"Lifecycle"}, {"id":"pan-tell","path":["tell"],"display":"/pan tell","description":"Send message to running agent","args":[{"name":"id","required":true,"variadic":false},{"name":"message","required":true,"variadic":false}],"options":[],"aliases":[],"category":"Lifecycle"}, @@ -59,8 +59,8 @@ export const COMPOSER_COMMAND_MANIFEST: ComposerCommandManifestEntry[] = [ {"id":"pan-wipe","path":["wipe"],"display":"/pan wipe","description":"Destructive: removes workspace files, kills processes, deletes branches, clears review state, and resets tracker status","args":[{"name":"id","required":true,"variadic":false}],"options":[{"flags":"--force","description":"Skip confirmation","required":false,"valueHint":null},{"flags":"-y, --yes","description":"Skip confirmation","required":false,"valueHint":null}],"aliases":[],"category":"Lifecycle"}, {"id":"pan-destroy","path":["destroy"],"display":"/pan destroy","description":"Alias for workspace destroy: remove the issue workspace worktree and branch","args":[{"name":"id","required":true,"variadic":false}],"options":[{"flags":"--force","description":"Force removal even with uncommitted changes","required":false,"valueHint":null},{"flags":"--project ","description":"Explicit project path (overrides registry)","required":true,"valueHint":"path"}],"aliases":[],"category":"Workspace"}, {"id":"pan-close","path":["close"],"display":"/pan close","description":"Verify, clean up, and close issue on tracker","args":[{"name":"id","required":true,"variadic":false}],"options":[{"flags":"--force","description":"Skip confirmation prompt","required":false,"valueHint":null},{"flags":"--json","description":"Output as JSON","required":false,"valueHint":null},{"flags":"--accept-review","description":"Accept a missed DoD row 1 (Review passed) — recorded as an explicit override in the close-out record","required":false,"valueHint":null},{"flags":"--accept-tests","description":"Accept a missed DoD row 2 (Tests passed) — recorded as an explicit override in the close-out record","required":false,"valueHint":null},{"flags":"--accept-verification","description":"Accept a missed DoD row 3 (Verification green on the branch) — recorded as an explicit override in the close-out record","required":false,"valueHint":null},{"flags":"--accept-merged","description":"Accept a missed DoD row 4 (Merged to main) — recorded as an explicit override in the close-out record","required":false,"valueHint":null},{"flags":"--accept-post-merge","description":"Accept a missed DoD row 5 (Post-merge lifecycle ran) — recorded as an explicit override in the close-out record","required":false,"valueHint":null},{"flags":"--accept-main-verify","description":"Accept a missed DoD row 6 (Verified on main) — recorded as an explicit override in the close-out record","required":false,"valueHint":null},{"flags":"--accept-ship","description":"Accept a missed DoD row 7 (Version strings propagated) — recorded as an explicit override in the close-out record","required":false,"valueHint":null},{"flags":"--accept-deploy","description":"Accept a missed DoD row 8 (Deployed) — recorded as an explicit override in the close-out record","required":false,"valueHint":null},{"flags":"--abandon ","description":"Record an abandoned disposition (PAN-3211): skip the DoD gate and close without landing evidence. Operator-conversation only; cannot be combined with --accept-* flags","required":true,"valueHint":"reason"},{"flags":"--residue ","description":"Record a residue disposition (PAN-3396): close stale convention PRs/MRs, skip the DoD gate with verified evidence, and mark terminal without merge claim. Operator-conversation only; cannot be combined with --abandon or --accept-* flags","required":true,"valueHint":"reason"}],"aliases":[],"category":"Lifecycle"}, - {"id":"pan-start","path":["start"],"display":"/pan start","description":"Create workspace and spawn agent for an issue","args":[{"name":"id","required":true,"variadic":false}],"options":[{"flags":"--model ","description":"Work model to use and persist for later respawns (defaults to Cloister config)","required":true,"valueHint":"model"},{"flags":"--swarm ","description":"Per-issue swarm policy: off | auto | always","required":true,"valueHint":"mode"},{"flags":"--review-mode ","description":"Per-issue review mode: quick | full | none","required":true,"valueHint":"mode"},{"flags":"--review-model ","description":"Per-issue review model override","required":true,"valueHint":"model"},{"flags":"--harness ","description":"Coding-agent harness: claude-code | pi | codex | acp | kimi-code (defaults to role/provider settings)","required":true,"valueHint":"harness"},{"flags":"--effort ","description":"Claude Code effort: low | medium | high | xhigh | max (defaults to roles.work.effort)","required":true,"valueHint":"level"},{"flags":"--tier ","description":"Remote workspace resiliency tier: ephemeral | durable (defaults to remote.resiliency_tier)","required":true,"valueHint":"tier"},{"flags":"--dry-run","description":"Show what would be created","required":false,"valueHint":null},{"flags":"--shadow","description":"Enable shadow mode","required":false,"valueHint":null},{"flags":"--no-shadow","description":"Disable shadow mode","required":false,"valueHint":null},{"flags":"--remote","description":"Use remote workspace (Fly.io)","required":false,"valueHint":null},{"flags":"--local","description":"Use local workspace (explicit override)","required":false,"valueHint":null},{"flags":"--plan ","description":"Planning depth when no plan exists yet: interactive | auto | skip (default: config planning.default_mode, shipped default auto)","required":true,"valueHint":"mode"},{"flags":"--plan-model ","description":"Planning model override when this start auto-plans (defaults to roles.plan.model); the work model stays --model","required":true,"valueHint":"model"},{"flags":"--auto","description":"[deprecated: use --plan skip] Skip planning agent by synthesizing a minimal xBRIEF from the issue title/body","required":false,"valueHint":null},{"flags":"--force","description":"Clear paused and pending-operator-decision gates and start anyway","required":false,"valueHint":null},{"flags":"--fresh","description":"Drop the saved Claude session (non-destructive) and start a new one — replaces a live session too, so it recovers an inert agent without a separate pan kill","required":false,"valueHint":null},{"flags":"--host","description":"Bypass workspace docker stack-health gate and spawn on the host","required":false,"valueHint":null},{"flags":"--yes","description":"Confirm --host in non-interactive contexts","required":false,"valueHint":null},{"flags":"--off-book","description":"Allow one work-agent dispatch outside the active order book and log the override","required":false,"valueHint":null}],"aliases":[],"category":"Lifecycle"}, - {"id":"pan-strike","path":["strike"],"display":"/pan strike","description":"Spawn strike agent(s) — implement and push a strike branch for Deacon to land through the verified merge door. Bypasses plan/review/test/ship.","args":[{"name":"ids","required":true,"variadic":true}],"options":[{"flags":"--model ","description":"Model override (defaults to roles.strike.model from config)","required":true,"valueHint":"model"},{"flags":"--harness ","description":"Coding-agent harness: claude-code | pi | codex | acp | kimi-code (defaults to role/provider settings)","required":true,"valueHint":"harness"},{"flags":"--effort ","description":"Strike effort: low | medium | high | xhigh | max (default high)","required":true,"valueHint":"level"},{"flags":"--dry-run","description":"Print what would happen without spawning","required":false,"valueHint":null}],"aliases":[],"category":"Lifecycle"}, + {"id":"pan-start","path":["start"],"display":"/pan start","description":"Create workspace and spawn agent for an issue","args":[{"name":"id","required":true,"variadic":false}],"options":[{"flags":"--model ","description":"Work model to use and persist for later respawns (defaults to Cloister config)","required":true,"valueHint":"model"},{"flags":"--swarm ","description":"Per-issue swarm policy: off | auto | always","required":true,"valueHint":"mode"},{"flags":"--review-mode ","description":"Per-issue review mode: quick | full | none","required":true,"valueHint":"mode"},{"flags":"--review-model ","description":"Per-issue review model override","required":true,"valueHint":"model"},{"flags":"--harness ","description":"Coding-agent harness: claude-code | pi | codex | acp | kimi-code | prime-agent (defaults to role/provider settings)","required":true,"valueHint":"harness"},{"flags":"--effort ","description":"Claude Code effort: low | medium | high | xhigh | max (defaults to roles.work.effort)","required":true,"valueHint":"level"},{"flags":"--tier ","description":"Remote workspace resiliency tier: ephemeral | durable (defaults to remote.resiliency_tier)","required":true,"valueHint":"tier"},{"flags":"--dry-run","description":"Show what would be created","required":false,"valueHint":null},{"flags":"--shadow","description":"Enable shadow mode","required":false,"valueHint":null},{"flags":"--no-shadow","description":"Disable shadow mode","required":false,"valueHint":null},{"flags":"--remote","description":"Use remote workspace (Fly.io)","required":false,"valueHint":null},{"flags":"--local","description":"Use local workspace (explicit override)","required":false,"valueHint":null},{"flags":"--plan ","description":"Planning depth when no plan exists yet: interactive | auto | skip (default: config planning.default_mode, shipped default auto)","required":true,"valueHint":"mode"},{"flags":"--plan-model ","description":"Planning model override when this start auto-plans (defaults to roles.plan.model); the work model stays --model","required":true,"valueHint":"model"},{"flags":"--auto","description":"[deprecated: use --plan skip] Skip planning agent by synthesizing a minimal xBRIEF from the issue title/body","required":false,"valueHint":null},{"flags":"--force","description":"Clear paused and pending-operator-decision gates and start anyway","required":false,"valueHint":null},{"flags":"--fresh","description":"Drop the saved Claude session (non-destructive) and start a new one — replaces a live session too, so it recovers an inert agent without a separate pan kill","required":false,"valueHint":null},{"flags":"--host","description":"Bypass workspace docker stack-health gate and spawn on the host","required":false,"valueHint":null},{"flags":"--yes","description":"Confirm --host in non-interactive contexts","required":false,"valueHint":null},{"flags":"--off-book","description":"Allow one work-agent dispatch outside the active order book and log the override","required":false,"valueHint":null}],"aliases":[],"category":"Lifecycle"}, + {"id":"pan-strike","path":["strike"],"display":"/pan strike","description":"Spawn strike agent(s) — implement and push a strike branch for Deacon to land through the verified merge door. Bypasses plan/review/test/ship.","args":[{"name":"ids","required":true,"variadic":true}],"options":[{"flags":"--model ","description":"Model override (defaults to roles.strike.model from config)","required":true,"valueHint":"model"},{"flags":"--harness ","description":"Coding-agent harness: claude-code | pi | codex | acp | kimi-code | prime-agent (defaults to role/provider settings)","required":true,"valueHint":"harness"},{"flags":"--effort ","description":"Strike effort: low | medium | high | xhigh | max (default high)","required":true,"valueHint":"level"},{"flags":"--dry-run","description":"Print what would happen without spawning","required":false,"valueHint":null}],"aliases":[],"category":"Lifecycle"}, {"id":"pan-strike-ready","path":["strike-ready"],"display":"/pan strike-ready","description":"Persist readiness for a pushed strike branch so Deacon can land it","args":[{"name":"id","required":true,"variadic":false}],"options":[],"aliases":[],"category":"Lifecycle"}, {"id":"pan-knowledge","path":["knowledge"],"display":"/pan knowledge","description":"Maintain or open the project OKF bundle","args":[{"name":"id","required":false,"variadic":false}],"options":[{"flags":"--focus ","description":"Run /okf study for a focused topic before syncing","required":true,"valueHint":"topic"},{"flags":"--retro","description":"Run /okf retro before syncing","required":false,"valueHint":null},{"flags":"--model ","description":"Model override (defaults to roles.knowledge.model from config)","required":true,"valueHint":"model"},{"flags":"--effort ","description":"Knowledge effort: low | medium | high | xhigh | max","required":true,"valueHint":"level"}],"aliases":[],"category":"Data"}, {"id":"pan-knowledge-open","path":["knowledge","open"],"display":"/pan knowledge open","description":"Open the project OKF bundle in the local knowledge viewer","args":[],"options":[{"flags":"--no-install","description":"Do not install @inkeep/open-knowledge when the ok binary is missing","required":false,"valueHint":null},{"flags":"--no-browser","description":"Start or reuse the viewer without opening a browser","required":false,"valueHint":null}],"aliases":[],"category":"Data"}, @@ -261,7 +261,7 @@ export const COMPOSER_COMMAND_MANIFEST: ComposerCommandManifestEntry[] = [ {"id":"pan-merge","path":["merge"],"display":"/pan merge","description":"Merge workflow helpers","args":[],"options":[],"aliases":[],"category":"Review"}, {"id":"pan-merge-cancel","path":["merge","cancel"],"display":"/pan merge cancel","description":"Cancel a pending Flywheel auto-merge during its cooldown window","args":[{"name":"id","required":true,"variadic":false}],"options":[],"aliases":[],"category":"Review"}, {"id":"pan-artifacts","path":["artifacts"],"display":"/pan artifacts","description":"Create, publish, validate, inspect, and open shared HTML artifacts","args":[],"options":[],"aliases":[],"category":"Data"}, - {"id":"pan-artifacts-create","path":["artifacts","create"],"display":"/pan artifacts create","description":"Validate and publish an HTML artifact","args":[{"name":"file","required":true,"variadic":false}],"options":[{"flags":"--issue ","description":"Issue ID for artifact provenance","required":true,"valueHint":"id"},{"flags":"--workspace ","description":"Workspace ID for artifact provenance","required":true,"valueHint":"id"},{"flags":"--agent-role ","description":"Agent role: plan, work, review, test, ship, flywheel, or user","required":true,"valueHint":"role"},{"flags":"--agent-harness ","description":"Agent harness: claude-code, pi, ohmypi, codex, acp, kimi-code, or user","required":true,"valueHint":"harness"},{"flags":"--run-id ","description":"Run ID for artifact provenance","required":true,"valueHint":"id"},{"flags":"--session-id ","description":"Session ID for artifact provenance","required":true,"valueHint":"id"},{"flags":"--title ","description":"Artifact title","required":true,"valueHint":"title"},{"flags":"--description <text>","description":"Artifact description","required":true,"valueHint":"text"},{"flags":"--strict","description":"Enable strict validation warnings","required":false,"valueHint":null},{"flags":"--json","description":"Emit JSON result","required":false,"valueHint":null}],"aliases":[],"category":"Data"}, + {"id":"pan-artifacts-create","path":["artifacts","create"],"display":"/pan artifacts create","description":"Validate and publish an HTML artifact","args":[{"name":"file","required":true,"variadic":false}],"options":[{"flags":"--issue <id>","description":"Issue ID for artifact provenance","required":true,"valueHint":"id"},{"flags":"--workspace <id>","description":"Workspace ID for artifact provenance","required":true,"valueHint":"id"},{"flags":"--agent-role <role>","description":"Agent role: plan, work, review, test, ship, flywheel, or user","required":true,"valueHint":"role"},{"flags":"--agent-harness <harness>","description":"Agent harness: claude-code, pi, ohmypi, codex, acp, kimi-code, prime-agent, or user","required":true,"valueHint":"harness"},{"flags":"--run-id <id>","description":"Run ID for artifact provenance","required":true,"valueHint":"id"},{"flags":"--session-id <id>","description":"Session ID for artifact provenance","required":true,"valueHint":"id"},{"flags":"--title <title>","description":"Artifact title","required":true,"valueHint":"title"},{"flags":"--description <text>","description":"Artifact description","required":true,"valueHint":"text"},{"flags":"--strict","description":"Enable strict validation warnings","required":false,"valueHint":null},{"flags":"--json","description":"Emit JSON result","required":false,"valueHint":null}],"aliases":[],"category":"Data"}, {"id":"pan-artifacts-publish","path":["artifacts","publish"],"display":"/pan artifacts publish","description":"Revalidate and republish an existing artifact when changes are pending","args":[{"name":"file","required":true,"variadic":false}],"options":[{"flags":"--strict","description":"Enable strict validation warnings","required":false,"valueHint":null},{"flags":"--json","description":"Emit JSON result","required":false,"valueHint":null}],"aliases":[],"category":"Data"}, {"id":"pan-artifacts-unshare","path":["artifacts","unshare"],"display":"/pan artifacts unshare","description":"Disable an artifact URL without deleting source, snapshots, or metadata","args":[{"name":"file","required":true,"variadic":false}],"options":[{"flags":"--yes","description":"Confirm unsharing without an interactive prompt","required":false,"valueHint":null},{"flags":"--json","description":"Emit JSON result","required":false,"valueHint":null}],"aliases":[],"category":"Data"}, {"id":"pan-artifacts-share","path":["artifacts","share"],"display":"/pan artifacts share","description":"Share an artifact through an external tunnel","args":[{"name":"file","required":true,"variadic":false}],"options":[{"flags":"--tunnel","description":"Request tunnel-backed sharing","required":false,"valueHint":null},{"flags":"--json","description":"Emit JSON result","required":false,"valueHint":null}],"aliases":[],"category":"Data"}, diff --git a/src/cli/commands/artifacts.ts b/src/cli/commands/artifacts.ts index 1a4b7765828..831a64d42f6 100644 --- a/src/cli/commands/artifacts.ts +++ b/src/cli/commands/artifacts.ts @@ -281,7 +281,7 @@ export function registerArtifactCommands(program: Command): void { .option('--issue <id>', 'Issue ID for artifact provenance') .option('--workspace <id>', 'Workspace ID for artifact provenance') .option('--agent-role <role>', 'Agent role: plan, work, review, test, ship, flywheel, or user') - .option('--agent-harness <harness>', 'Agent harness: claude-code, pi, ohmypi, codex, acp, kimi-code, or user') + .option('--agent-harness <harness>', 'Agent harness: claude-code, pi, ohmypi, codex, acp, kimi-code, prime-agent, or user') .option('--run-id <id>', 'Run ID for artifact provenance') .option('--session-id <id>', 'Session ID for artifact provenance') .option('--title <title>', 'Artifact title') diff --git a/src/cli/index.ts b/src/cli/index.ts index f7149a7f16e..819441831bd 100644 --- a/src/cli/index.ts +++ b/src/cli/index.ts @@ -365,7 +365,7 @@ const planCmd = program .option('--auto-start', '[deprecated: use pan start <id>] After planning completes, automatically start the work agent — used by autonomous orchestrators') .option('--probe', 'Add an adversarial pre-finalize probe pass to the planning prompt') .option('--model <model>', 'Model to use for the planning role') - .option('--harness <harness>', 'Coding-agent harness: claude-code | pi | codex | acp | kimi-code (defaults to role/provider settings)') + .option('--harness <harness>', 'Coding-agent harness: claude-code | pi | codex | acp | kimi-code | prime-agent (defaults to role/provider settings)') .option('--effort <level>', 'Planning effort: low | medium | high') .option('--remote', 'Use remote planning workspace (Fly.io)') .option('--local', 'Use local planning workspace') @@ -509,7 +509,7 @@ program .command('start <id>') .description('Create workspace and spawn agent for an issue') .option('--model <model>', 'Work model to use and persist for later respawns (defaults to Cloister config)').option('--swarm <mode>', 'Per-issue swarm policy: off | auto | always').option('--review-mode <mode>', 'Per-issue review mode: quick | full | none').option('--review-model <model>', 'Per-issue review model override') - .option('--harness <harness>', 'Coding-agent harness: claude-code | pi | codex | acp | kimi-code (defaults to role/provider settings)') + .option('--harness <harness>', 'Coding-agent harness: claude-code | pi | codex | acp | kimi-code | prime-agent (defaults to role/provider settings)') .option('--effort <level>', 'Claude Code effort: low | medium | high | xhigh | max (defaults to roles.work.effort)') .option('--tier <tier>', 'Remote workspace resiliency tier: ephemeral | durable (defaults to remote.resiliency_tier)') .option('--dry-run', 'Show what would be created') @@ -530,7 +530,7 @@ program .command('strike <ids...>') .description('Spawn strike agent(s) — implement and push a strike branch for Deacon to land through the verified merge door. Bypasses plan/review/test/ship.') .option('--model <model>', 'Model override (defaults to roles.strike.model from config)') - .option('--harness <harness>', 'Coding-agent harness: claude-code | pi | codex | acp | kimi-code (defaults to role/provider settings)') + .option('--harness <harness>', 'Coding-agent harness: claude-code | pi | codex | acp | kimi-code | prime-agent (defaults to role/provider settings)') .option('--effort <level>', 'Strike effort: low | medium | high | xhigh | max (default high)') .option('--dry-run', 'Print what would happen without spawning') .action((ids: string[], options: { model?: string; harness?: RuntimeName; effort?: RoleEffort; dryRun?: boolean }) => strikeCommand(ids, options)); From 309d8d0191f04d4919298b582d537316617fd621 Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 14:02:39 -0400 Subject: [PATCH 06/38] feat: configure Prime Agent RPC startup (PAN-3668) --- src/lib/config-yaml/__tests__/merge.test.ts | 26 +++++++++++++++++++++ src/lib/config-yaml/defaults.ts | 3 +++ src/lib/config-yaml/merge.ts | 16 +++++++++++-- src/lib/config-yaml/roles.ts | 4 ++-- src/lib/config-yaml/schema.ts | 14 ++++++++++- 5 files changed, 58 insertions(+), 5 deletions(-) diff --git a/src/lib/config-yaml/__tests__/merge.test.ts b/src/lib/config-yaml/__tests__/merge.test.ts index 46f056898af..86cff191972 100644 --- a/src/lib/config-yaml/__tests__/merge.test.ts +++ b/src/lib/config-yaml/__tests__/merge.test.ts @@ -45,3 +45,29 @@ describe('ACP config merge', () => { expect(PROVIDERS.kimi.defaultHarness).toBe('kimi-code'); }); }); + +describe('Prime Agent config merge', () => { + it('defaults the RPC startup timeout without selecting a model', () => { + expect(mergeConfigs().config.primeAgent).toEqual({ rpcStartupTimeoutMs: 30_000 }); + }); + + it('merges binary and startup timeout overrides', () => { + const { config } = mergeConfigs({ + primeAgent: { + binaryPath: '/opt/prime/bin/prime-agent', + rpcStartupTimeoutMs: 45_000, + }, + }); + + expect(config.primeAgent).toEqual({ + binaryPath: '/opt/prime/bin/prime-agent', + rpcStartupTimeoutMs: 45_000, + }); + }); + + it('rejects a non-positive RPC startup timeout', () => { + expect(() => mergeConfigs({ primeAgent: { rpcStartupTimeoutMs: 0 } })).toThrow( + 'primeAgent.rpcStartupTimeoutMs must be a positive integer', + ); + }); +}); diff --git a/src/lib/config-yaml/defaults.ts b/src/lib/config-yaml/defaults.ts index 6035a41254e..4b415f41fdf 100644 --- a/src/lib/config-yaml/defaults.ts +++ b/src/lib/config-yaml/defaults.ts @@ -248,6 +248,9 @@ export const DEFAULT_CONFIG: NormalizedConfig = { permissionMode: 'auto', }, kimiCode: {}, + primeAgent: { + rpcStartupTimeoutMs: 30_000, + }, }; /** diff --git a/src/lib/config-yaml/merge.ts b/src/lib/config-yaml/merge.ts index 0783748207f..f2507a821dd 100644 --- a/src/lib/config-yaml/merge.ts +++ b/src/lib/config-yaml/merge.ts @@ -51,8 +51,8 @@ function normalizeProviderConfig( } function validateProviderHarness(provider: ModelProvider, harness: RuntimeName | undefined): void { - if (harness !== undefined && harness !== 'claude-code' && harness !== 'ohmypi' && harness !== 'codex' && harness !== 'acp' && harness !== 'kimi-code') { - throw new Error(`config.yaml: models.providers.${provider}.harness must be claude-code, ohmypi, codex, acp, or kimi-code`); + if (harness !== undefined && harness !== 'claude-code' && harness !== 'ohmypi' && harness !== 'codex' && harness !== 'acp' && harness !== 'kimi-code' && harness !== 'prime-agent') { + throw new Error(`config.yaml: models.providers.${provider}.harness must be claude-code, ohmypi, codex, acp, kimi-code, or prime-agent`); } } @@ -222,6 +222,9 @@ export function mergeConfigs(...configs: (YamlConfig | null)[]): { config: Norma permissionMode: DEFAULT_CONFIG.acp.permissionMode, }, kimiCode: {}, + primeAgent: { + rpcStartupTimeoutMs: DEFAULT_CONFIG.primeAgent.rpcStartupTimeoutMs, + }, }; // Track providers explicitly disabled in models.providers so that legacy @@ -772,6 +775,15 @@ export function mergeConfigs(...configs: (YamlConfig | null)[]): { config: Norma if (config.kimiCode?.binaryPath !== undefined) { result.kimiCode.binaryPath = config.kimiCode.binaryPath; } + if (config.primeAgent?.binaryPath !== undefined) { + result.primeAgent.binaryPath = config.primeAgent.binaryPath; + } + if (config.primeAgent?.rpcStartupTimeoutMs !== undefined) { + if (!Number.isInteger(config.primeAgent.rpcStartupTimeoutMs) || config.primeAgent.rpcStartupTimeoutMs <= 0) { + throw new Error('config.yaml: primeAgent.rpcStartupTimeoutMs must be a positive integer'); + } + result.primeAgent.rpcStartupTimeoutMs = config.primeAgent.rpcStartupTimeoutMs; + } // Merge remote work-agent provisioning settings mergeRemoteConfig(result, config); diff --git a/src/lib/config-yaml/roles.ts b/src/lib/config-yaml/roles.ts index 9baeece85c5..935b01d01ac 100644 --- a/src/lib/config-yaml/roles.ts +++ b/src/lib/config-yaml/roles.ts @@ -285,8 +285,8 @@ function validateRoleFields(role: Role, roleConfig: RoleConfig): void { if (roleConfig.autonomousModel !== undefined && typeof roleConfig.autonomousModel !== 'string') { throw new Error(`config.yaml: roles.${role}.autonomousModel must be a scalar model reference`); } - if (roleConfig.harness !== undefined && roleConfig.harness !== 'claude-code' && roleConfig.harness !== 'ohmypi' && roleConfig.harness !== 'codex' && roleConfig.harness !== 'acp' && roleConfig.harness !== 'kimi-code') { - throw new Error(`config.yaml: roles.${role}.harness must be claude-code, ohmypi, codex, acp, or kimi-code`); + if (roleConfig.harness !== undefined && roleConfig.harness !== 'claude-code' && roleConfig.harness !== 'ohmypi' && roleConfig.harness !== 'codex' && roleConfig.harness !== 'acp' && roleConfig.harness !== 'kimi-code' && roleConfig.harness !== 'prime-agent') { + throw new Error(`config.yaml: roles.${role}.harness must be claude-code, ohmypi, codex, acp, kimi-code, or prime-agent`); } if (roleConfig.effort !== undefined && !ROLE_EFFORTS.includes(roleConfig.effort)) { throw new Error(`config.yaml: roles.${role}.effort must be one of ${ROLE_EFFORTS.join(', ')}`); diff --git a/src/lib/config-yaml/schema.ts b/src/lib/config-yaml/schema.ts index 5f9a1025180..a71e9f4ae6a 100644 --- a/src/lib/config-yaml/schema.ts +++ b/src/lib/config-yaml/schema.ts @@ -379,7 +379,7 @@ export interface RoleConfig { model: RoleModelRef; /** Explicit scalar staffing model for autonomous planning dispatch. */ autonomousModel?: RoleModelRef; - harness?: 'claude-code' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code'; + harness?: 'claude-code' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code' | 'prime-agent'; effort?: RoleEffort; mode?: ReviewMode; /** @@ -660,6 +660,12 @@ export interface YamlConfig { binaryPath?: string; }; + /** Prime Agent RPC process settings. */ + primeAgent?: { + binaryPath?: string; + rpcStartupTimeoutMs?: number; + }; + /** Remote work-agent provisioning settings (dashboard-editable subset). */ remote?: RemoteConfig; } @@ -986,6 +992,12 @@ export interface NormalizedConfig { binaryPath?: string; }; + /** Prime Agent RPC process settings. */ + primeAgent: { + binaryPath?: string; + rpcStartupTimeoutMs: number; + }; + /** Remote work-agent provisioning settings surfaced by the dashboard. */ remote?: NormalizedRemoteConfig; } From ffb3690b0c0c175e401830b9c4b90f6b8262b4ed Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 14:03:18 -0400 Subject: [PATCH 07/38] chore: audit Prime config schema growth (PAN-3668) --- scripts/file-size-allowlist.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/file-size-allowlist.txt b/scripts/file-size-allowlist.txt index 8f7e85004de..68d39130ab7 100644 --- a/scripts/file-size-allowlist.txt +++ b/scripts/file-size-allowlist.txt @@ -14,6 +14,7 @@ 1224 src/lib/lifecycle/workflows.ts # PAN-3396 1049 src/lib/config-yaml/schema.ts # PAN-3410 1068 src/lib/config-yaml/schema.ts # PAN-3658 +1080 src/lib/config-yaml/schema.ts # PAN-3668 900 src/lib/launcher-generator.ts # PAN-1837 1186 src/lib/sync.ts # PAN-3450 1060 src/lib/agents/spawn.ts # PAN-1837 From b46cee9f95b562f6aab83469016d9ac7902e2df6 Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 14:04:49 -0400 Subject: [PATCH 08/38] feat: map Prime Agent providers and models (PAN-3668) --- src/lib/prime-agent/provider-map.test.ts | 25 +++++++++++++ src/lib/prime-agent/provider-map.ts | 47 ++++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 src/lib/prime-agent/provider-map.test.ts create mode 100644 src/lib/prime-agent/provider-map.ts diff --git a/src/lib/prime-agent/provider-map.test.ts b/src/lib/prime-agent/provider-map.test.ts new file mode 100644 index 00000000000..fc790dd2232 --- /dev/null +++ b/src/lib/prime-agent/provider-map.test.ts @@ -0,0 +1,25 @@ +import { describe, expect, it } from 'vitest'; +import { PrimeAgentProviderMappingError, resolvePrimeAgentModelRoute } from './provider-map.js'; + +describe('resolvePrimeAgentModelRoute', () => { + it('maps verified API-key providers without changing the model', () => { + expect(resolvePrimeAgentModelRoute('gpt-5.4')).toEqual({ provider: 'openai', model: 'gpt-5.4' }); + expect(resolvePrimeAgentModelRoute('claude-sonnet-4-6')).toEqual({ provider: 'anthropic', model: 'claude-sonnet-4-6' }); + expect(resolvePrimeAgentModelRoute('gemini-3.1-pro-preview')).toEqual({ provider: 'google', model: 'gemini-3.1-pro-preview' }); + }); + + it('uses the Prime subscription provider ID for ChatGPT auth', () => { + expect(resolvePrimeAgentModelRoute('gpt-5.4', 'subscription')).toEqual({ provider: 'openai-codex', model: 'gpt-5.4' }); + }); + + it('rejects an unsupported provider instead of choosing a fallback', () => { + expect(() => resolvePrimeAgentModelRoute('ql-swift-8b')).toThrow(PrimeAgentProviderMappingError); + expect(() => resolvePrimeAgentModelRoute('ql-swift-8b')).toThrow('no fallback model was selected'); + }); + + it('rejects unsupported subscription routing', () => { + expect(() => resolvePrimeAgentModelRoute('gemini-3.1-pro-preview', 'subscription')).toThrow( + 'subscription authentication', + ); + }); +}); diff --git a/src/lib/prime-agent/provider-map.ts b/src/lib/prime-agent/provider-map.ts new file mode 100644 index 00000000000..6579c3c2570 --- /dev/null +++ b/src/lib/prime-agent/provider-map.ts @@ -0,0 +1,47 @@ +import type { ModelProvider } from '../model-fallback.js'; +import type { AuthMode } from '../subscription-types.js'; +import { getProviderForModelSync } from '../providers.js'; + +export class PrimeAgentProviderMappingError extends Error { + constructor(message: string) { + super(message); + this.name = 'PrimeAgentProviderMappingError'; + } +} + +const API_KEY_PROVIDER_IDS: Partial<Record<ModelProvider, string>> = { + anthropic: 'anthropic', + openai: 'openai', + google: 'google', + kimi: 'kimi-coding', + minimax: 'minimax', + openrouter: 'openrouter', + zai: 'zai', + mimo: 'xiaomi', + xai: 'xai', + groq: 'groq', + cerebras: 'cerebras', + mistral: 'mistral', +}; + +const SUBSCRIPTION_PROVIDER_IDS: Partial<Record<ModelProvider, string>> = { + anthropic: 'anthropic', + openai: 'openai-codex', +}; + +export interface PrimeAgentModelRoute { + provider: string; + model: string; +} + +/** Resolve an Overdeck model without choosing or substituting a fallback model. */ +export function resolvePrimeAgentModelRoute(model: string, authMode: AuthMode = 'api-key'): PrimeAgentModelRoute { + const overdeckProvider = getProviderForModelSync(model).name; + const provider = (authMode === 'subscription' ? SUBSCRIPTION_PROVIDER_IDS : API_KEY_PROVIDER_IDS)[overdeckProvider]; + if (!provider) { + throw new PrimeAgentProviderMappingError( + `Prime Agent does not support Overdeck provider "${overdeckProvider}" with ${authMode} authentication for model "${model}". Configure a verified provider/model mapping; no fallback model was selected.`, + ); + } + return { provider, model }; +} From 26e611c537c2c8298375fb229511993d8c636f9a Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 14:06:16 -0400 Subject: [PATCH 09/38] feat: resolve Prime Agent binary (PAN-3668) --- src/lib/__tests__/harness-binary.test.ts | 18 ++++++++++++++++++ src/lib/harness-binary.ts | 6 +++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/lib/__tests__/harness-binary.test.ts b/src/lib/__tests__/harness-binary.test.ts index 9383cc5e744..47ec345b309 100644 --- a/src/lib/__tests__/harness-binary.test.ts +++ b/src/lib/__tests__/harness-binary.test.ts @@ -225,6 +225,15 @@ describe('prepareHarnessLaunch', () => { 'Kimi Code CLI configured executable "/configured/missing-kimi" was not found or is not executable', ); }); + + it('returns an actionable Prime Agent error before creating a terminal session', async () => { + await expect(prepareHarnessLaunch('prime-agent', { + executablePath: '/configured/missing-prime-agent', + accessExecutable: executableAccess([]), + })).rejects.toThrow( + 'Prime Agent configured executable "/configured/missing-prime-agent" was not found or is not executable. Fix its configured path, then restart Overdeck. No terminal session was created.', + ); + }); }); describe('harnessBinaryName', () => { @@ -232,6 +241,10 @@ describe('harnessBinaryName', () => { expect(harnessBinaryName('kimi-code')).toBe('kimi'); expect(harnessBinaryName('acp')).toBe('kimi'); }); + + it("maps 'prime-agent' to the 'prime-agent' binary", () => { + expect(harnessBinaryName('prime-agent')).toBe('prime-agent'); + }); }); describe('configuredHarnessBinaryPath', () => { @@ -250,6 +263,11 @@ describe('configuredHarnessBinaryPath', () => { expect(configuredHarnessBinaryPath('acp')).toBe('/opt/acp/bin/kimi'); }); + it("reads config.primeAgent.binaryPath for 'prime-agent'", () => { + configMock.loadConfigSync.mockReturnValueOnce({ config: { primeAgent: { binaryPath: '/opt/prime/bin/prime-agent' } } }); + expect(configuredHarnessBinaryPath('prime-agent')).toBe('/opt/prime/bin/prime-agent'); + }); + it('returns undefined for harnesses with no configured binary path', () => { configMock.loadConfigSync.mockReturnValueOnce({ config: {} }); expect(configuredHarnessBinaryPath('claude-code')).toBeUndefined(); diff --git a/src/lib/harness-binary.ts b/src/lib/harness-binary.ts index 9b284c0e9b7..81c80216de8 100644 --- a/src/lib/harness-binary.ts +++ b/src/lib/harness-binary.ts @@ -17,6 +17,7 @@ export const HARNESS_BINARY_BY_RUNTIME: Record<RuntimeName, string> = { codex: 'codex', acp: 'kimi', 'kimi-code': 'kimi', + 'prime-agent': 'prime-agent', }; export type ExecutableCommandRunner = (command: string, args: string[]) => Promise<string>; @@ -151,6 +152,7 @@ export function harnessBinaryName(harness: RuntimeName): string { export function configuredHarnessBinaryPath(harness: RuntimeName): string | undefined { if (harness === 'acp') return loadConfigSync().config.acp?.kimi?.binaryPath; if (harness === 'kimi-code') return loadConfigSync().config.kimiCode?.binaryPath; + if (harness === 'prime-agent') return loadConfigSync().config.primeAgent?.binaryPath; return undefined; } @@ -187,7 +189,9 @@ export async function requireHarnessBinary( ? 'Codex CLI' : harness === 'kimi-code' ? 'Kimi Code CLI' - : 'Kimi Code CLI'; // acp drives the native Kimi Code CLI binary too + : harness === 'prime-agent' + ? 'Prime Agent' + : 'Kimi Code CLI'; // acp drives the native Kimi Code CLI binary too if (effectiveOptions.executablePath) { throw new Error( `${harnessName} configured executable "${effectiveOptions.executablePath}" was not found or is not executable. Fix its configured path, then restart Overdeck. No terminal session was created.`, From ba3db2feee182aca41004fb3d3b59c2db0d8ae52 Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 14:08:00 -0400 Subject: [PATCH 10/38] feat: frame Prime Agent RPC JSONL (PAN-3668) --- .../__tests__/jsonl-framing.test.ts | 46 ++++++++++++ src/lib/prime-agent/jsonl-framing.ts | 73 +++++++++++++++++++ 2 files changed, 119 insertions(+) create mode 100644 src/lib/prime-agent/__tests__/jsonl-framing.test.ts create mode 100644 src/lib/prime-agent/jsonl-framing.ts diff --git a/src/lib/prime-agent/__tests__/jsonl-framing.test.ts b/src/lib/prime-agent/__tests__/jsonl-framing.test.ts new file mode 100644 index 00000000000..81226793ab8 --- /dev/null +++ b/src/lib/prime-agent/__tests__/jsonl-framing.test.ts @@ -0,0 +1,46 @@ +import { describe, expect, it } from 'vitest'; +import { encodePrimeAgentJsonl, PrimeAgentJsonlError, PrimeAgentJsonlFramer } from '../jsonl-framing.js'; + +describe('PrimeAgentJsonlFramer', () => { + it('preserves U+2028 and U+2029 inside a JSON string', () => { + const framer = new PrimeAgentJsonlFramer(); + expect(framer.push(Buffer.from('{"text":"left
middle
right"}\n'))).toEqual([ + { text: 'left
middle
right' }, + ]); + }); + + it('parses split and combined LF-delimited records', () => { + const framer = new PrimeAgentJsonlFramer(); + expect(framer.push(Buffer.from('{"id":1'))).toEqual([]); + expect(framer.push(Buffer.from('}\n{"id":2}\n'))).toEqual([{ id: 1 }, { id: 2 }]); + framer.finish(); + }); + + it('strips one CR from CRLF records', () => { + const framer = new PrimeAgentJsonlFramer(); + expect(framer.push(Buffer.from('{"ok":true}\r\n'))).toEqual([{ ok: true }]); + }); + + it('rejects malformed JSON without logging record contents', () => { + const framer = new PrimeAgentJsonlFramer(); + expect(() => framer.push(Buffer.from('{"secret":"redacted",}\n'))).toThrow(PrimeAgentJsonlError); + expect(() => framer.push(Buffer.from('{"secret":"redacted",}\n'))).toThrow(/Malformed Prime Agent RPC JSON record \(22 bytes\)/); + }); + + it('rejects completed and buffered records over the byte limit', () => { + expect(() => new PrimeAgentJsonlFramer({ maxRecordBytes: 4 }).push(Buffer.from('12345\n'))).toThrow('4-byte limit'); + expect(() => new PrimeAgentJsonlFramer({ maxRecordBytes: 4 }).push(Buffer.from('12345'))).toThrow('4-byte limit'); + }); + + it('rejects an unterminated final record', () => { + const framer = new PrimeAgentJsonlFramer(); + framer.push(Buffer.from('{"id":1}')); + expect(() => framer.finish()).toThrow('unterminated'); + }); +}); + +describe('encodePrimeAgentJsonl', () => { + it('emits exactly one trailing LF', () => { + expect(encodePrimeAgentJsonl({ command: 'get_state' }).toString('utf8')).toBe('{"command":"get_state"}\n'); + }); +}); diff --git a/src/lib/prime-agent/jsonl-framing.ts b/src/lib/prime-agent/jsonl-framing.ts new file mode 100644 index 00000000000..f6af959992b --- /dev/null +++ b/src/lib/prime-agent/jsonl-framing.ts @@ -0,0 +1,73 @@ +const LF = 0x0a; +const CR = 0x0d; + +export class PrimeAgentJsonlError extends Error { + constructor(message: string) { + super(message); + this.name = 'PrimeAgentJsonlError'; + } +} + +export interface PrimeAgentJsonlFramerOptions { + maxRecordBytes?: number; +} + +/** Incremental strict-LF JSONL decoder. It intentionally does not use readline. */ +export class PrimeAgentJsonlFramer { + private buffered = Buffer.alloc(0); + private readonly maxRecordBytes: number; + + constructor(options: PrimeAgentJsonlFramerOptions = {}) { + this.maxRecordBytes = options.maxRecordBytes ?? 8 * 1024 * 1024; + if (!Number.isInteger(this.maxRecordBytes) || this.maxRecordBytes < 1) { + throw new PrimeAgentJsonlError('maxRecordBytes must be a positive integer'); + } + } + + push(chunk: Uint8Array): unknown[] { + if (chunk.byteLength === 0) return []; + const input = this.buffered.byteLength === 0 + ? Buffer.from(chunk) + : Buffer.concat([this.buffered, chunk], this.buffered.byteLength + chunk.byteLength); + const records: unknown[] = []; + let start = 0; + + for (let index = 0; index < input.byteLength; index += 1) { + if (input[index] !== LF) continue; + const rawEnd = index > start && input[index - 1] === CR ? index - 1 : index; + const byteLength = rawEnd - start; + if (byteLength > this.maxRecordBytes) this.throwOversized(byteLength); + if (byteLength > 0) records.push(this.parse(input.subarray(start, rawEnd))); + start = index + 1; + } + + this.buffered = Buffer.from(input.subarray(start)); + if (this.buffered.byteLength > this.maxRecordBytes) this.throwOversized(this.buffered.byteLength); + return records; + } + + finish(): void { + if (this.buffered.byteLength > 0) { + throw new PrimeAgentJsonlError(`Prime Agent RPC stdout ended with ${this.buffered.byteLength} unterminated byte(s)`); + } + } + + private parse(record: Uint8Array): unknown { + try { + return JSON.parse(Buffer.from(record).toString('utf8')) as unknown; + } catch (cause) { + const message = cause instanceof Error ? cause.message : String(cause); + throw new PrimeAgentJsonlError(`Malformed Prime Agent RPC JSON record (${record.byteLength} bytes): ${message}`); + } + } + + private throwOversized(byteLength: number): never { + throw new PrimeAgentJsonlError( + `Prime Agent RPC JSON record exceeded the ${this.maxRecordBytes}-byte limit (${byteLength} bytes received)`, + ); + } +} + +export function encodePrimeAgentJsonl(value: unknown): Buffer { + return Buffer.from(`${JSON.stringify(value)}\n`, 'utf8'); +} From 3a838379fe464b7d2d5b86ed6ad2247ecce8f5d7 Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 14:10:19 -0400 Subject: [PATCH 11/38] feat: correlate Prime Agent RPC requests (PAN-3668) --- .../prime-agent/__tests__/rpc-client.test.ts | 44 ++++++++ src/lib/prime-agent/rpc-client.ts | 104 ++++++++++++++++++ 2 files changed, 148 insertions(+) create mode 100644 src/lib/prime-agent/__tests__/rpc-client.test.ts create mode 100644 src/lib/prime-agent/rpc-client.ts diff --git a/src/lib/prime-agent/__tests__/rpc-client.test.ts b/src/lib/prime-agent/__tests__/rpc-client.test.ts new file mode 100644 index 00000000000..371f30f5a31 --- /dev/null +++ b/src/lib/prime-agent/__tests__/rpc-client.test.ts @@ -0,0 +1,44 @@ +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; +import { PrimeAgentRpcClient } from '../rpc-client.js'; + +describe('PrimeAgentRpcClient', () => { + beforeEach(() => vi.useFakeTimers()); + afterEach(() => vi.useRealTimers()); + + it('correlates responses and emits asynchronous events separately', async () => { + const writes: string[] = []; + const events: Record<string, unknown>[] = []; + const client = new PrimeAgentRpcClient({ stdin: { write: (chunk: unknown) => { writes.push(String(chunk)); return true; } }, onEvent: (event) => events.push(event) }); + const result = client.request({ type: 'get_state' }); + expect(writes).toEqual(['{"type":"get_state","id":"overdeck-1"}\n']); + client.acceptStdout(Buffer.from('{"type":"agent_start"}\n{"type":"response","id":"overdeck-1","command":"get_state","success":true,"data":{"isStreaming":false}}\n')); + await expect(result).resolves.toMatchObject({ data: { isStreaming: false } }); + expect(events).toEqual([{ type: 'agent_start' }]); + }); + + it('uses fake timers for bounded request timeout', async () => { + const client = new PrimeAgentRpcClient({ stdin: { write: () => true }, requestTimeoutMs: 2_000 }); + const result = client.request({ type: 'get_state' }); + const assertion = expect(result).rejects.toThrow('timed out after 2000ms'); + await vi.advanceTimersByTimeAsync(2_000); + await assertion; + }); + + it('rejects all pending requests when the child exits', async () => { + const client = new PrimeAgentRpcClient({ stdin: { write: () => true } }); + const first = client.request({ type: 'get_state' }); + const second = client.request({ type: 'get_messages' }); + client.close(new Error('Prime Agent exited with code 7')); + await expect(first).rejects.toThrow('code 7'); + await expect(second).rejects.toThrow('code 7'); + }); + + it('bounds the pending request map', async () => { + const client = new PrimeAgentRpcClient({ stdin: { write: () => true }, maxPendingRequests: 1 }); + const first = client.request({ type: 'get_state' }); + const firstAssertion = expect(first).rejects.toThrow('process exited'); + await expect(client.request({ type: 'get_messages' })).rejects.toThrow('refusing unbounded growth'); + client.close(); + await firstAssertion; + }); +}); diff --git a/src/lib/prime-agent/rpc-client.ts b/src/lib/prime-agent/rpc-client.ts new file mode 100644 index 00000000000..b6093d52236 --- /dev/null +++ b/src/lib/prime-agent/rpc-client.ts @@ -0,0 +1,104 @@ +import type { Writable } from 'node:stream'; +import { encodePrimeAgentJsonl, PrimeAgentJsonlFramer } from './jsonl-framing.js'; + +export interface PrimeAgentRpcResponse<T = unknown> { + type: 'response'; + id: string; + command: string; + success: boolean; + data?: T; + error?: string; +} + +interface PendingRequest { + command: string; + resolve: (response: PrimeAgentRpcResponse) => void; + reject: (error: Error) => void; + timeout: ReturnType<typeof setTimeout>; +} + +export interface PrimeAgentRpcClientOptions { + stdin: Pick<Writable, 'write'>; + requestTimeoutMs?: number; + maxPendingRequests?: number; + maxRecordBytes?: number; + onEvent?: (event: Record<string, unknown>) => void; +} + +export class PrimeAgentRpcClient { + private readonly framer: PrimeAgentJsonlFramer; + private readonly pending = new Map<string, PendingRequest>(); + private readonly requestTimeoutMs: number; + private readonly maxPendingRequests: number; + private readonly stdin: Pick<Writable, 'write'>; + private readonly onEvent: (event: Record<string, unknown>) => void; + private nextId = 1; + private closedError: Error | null = null; + + constructor(options: PrimeAgentRpcClientOptions) { + this.stdin = options.stdin; + this.requestTimeoutMs = options.requestTimeoutMs ?? 30_000; + this.maxPendingRequests = options.maxPendingRequests ?? 128; + this.onEvent = options.onEvent ?? (() => undefined); + this.framer = new PrimeAgentJsonlFramer({ maxRecordBytes: options.maxRecordBytes }); + } + + request<T = unknown>(command: Record<string, unknown> & { type: string }): Promise<PrimeAgentRpcResponse<T>> { + if (this.closedError) return Promise.reject(this.closedError); + if (this.pending.size >= this.maxPendingRequests) { + return Promise.reject(new Error(`Prime Agent RPC has ${this.pending.size} pending requests; refusing unbounded growth`)); + } + const id = `overdeck-${this.nextId++}`; + return new Promise<PrimeAgentRpcResponse<T>>((resolve, reject) => { + const timeout = setTimeout(() => { + this.pending.delete(id); + reject(new Error(`Prime Agent RPC ${command.type} request ${id} timed out after ${this.requestTimeoutMs}ms`)); + }, this.requestTimeoutMs); + this.pending.set(id, { command: command.type, resolve: resolve as (response: PrimeAgentRpcResponse) => void, reject, timeout }); + this.stdin.write(encodePrimeAgentJsonl({ ...command, id }), (error?: Error | null) => { + if (!error) return; + const pending = this.pending.get(id); + if (!pending) return; + clearTimeout(pending.timeout); + this.pending.delete(id); + reject(new Error(`Prime Agent RPC could not write ${command.type} request ${id}: ${error.message}`)); + }); + }); + } + + acceptStdout(chunk: Uint8Array): void { + for (const value of this.framer.push(chunk)) this.route(value); + } + + close(cause: Error = new Error('Prime Agent RPC process exited')): void { + if (this.closedError) return; + this.closedError = cause; + for (const pending of this.pending.values()) { + clearTimeout(pending.timeout); + pending.reject(cause); + } + this.pending.clear(); + } + + private route(value: unknown): void { + if (!value || typeof value !== 'object') throw new Error('Prime Agent RPC emitted a non-object record'); + const record = value as Record<string, unknown>; + if (record.type !== 'response') { + this.onEvent(record); + return; + } + if (typeof record.id !== 'string') throw new Error('Prime Agent RPC response omitted its correlation id'); + const pending = this.pending.get(record.id); + if (!pending) return; + clearTimeout(pending.timeout); + this.pending.delete(record.id); + const response = record as unknown as PrimeAgentRpcResponse; + if (response.command !== pending.command) { + pending.reject(new Error(`Prime Agent RPC response ${record.id} named ${response.command}, expected ${pending.command}`)); + } else if (!response.success) { + pending.reject(new Error(`Prime Agent RPC ${pending.command} request failed: ${response.error ?? 'unknown error'}`)); + } else { + pending.resolve(response); + } + } +} From 781ddc48ee9961261a01a9667badb0b8b12855ce Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 19:57:44 -0400 Subject: [PATCH 12/38] feat: diagnose Prime Agent compatibility (PAN-3668) --- src/cli/commands/doctor.ts | 63 +++++++++++++++++++ .../__tests__/system-prerequisites.test.ts | 13 ++++ src/lib/system-prerequisites.ts | 17 ++++- tests/unit/cli/doctor-prime-agent.test.ts | 24 +++++++ 4 files changed, 116 insertions(+), 1 deletion(-) create mode 100644 tests/unit/cli/doctor-prime-agent.test.ts diff --git a/src/cli/commands/doctor.ts b/src/cli/commands/doctor.ts index 95ba3ec7a6c..bf53b8e97a7 100644 --- a/src/cli/commands/doctor.ts +++ b/src/cli/commands/doctor.ts @@ -49,6 +49,8 @@ import { import { isXBriefFilename } from '../../lib/xbrief/lifecycle.js'; // Minimum supported omp harness version (PAN-1989); its lineage differs from pi and was baselined at 16.1.16. export const SUPPORTED_OMP_VERSION_MIN = '16.1.0'; +export const SUPPORTED_PRIME_AGENT_VERSION_MIN = '0.1.0'; +export const SUPPORTED_PRIME_AGENT_VERSION_MAX_EXCLUSIVE = '1.0.0'; const execAsync = promisify(exec); function compareSemver(a: string, b: string): number { @@ -83,6 +85,64 @@ export async function checkKimi( }]; } +function parseSemver(value: string | null): string | null { + return value?.match(/(\d+\.\d+\.\d+)/)?.[1] ?? null; +} + +export async function checkPrimeAgent( + probe?: PrerequisiteProbe, + resolver?: PrerequisiteResolver, +): Promise<CheckResult[]> { + const prime = await checkSystemPrerequisite('prime-agent', probe, resolver); + if (!prime.found) { + return [{ + name: prime.name, + status: 'warn', + message: 'Not installed (prime-agent harness unavailable)', + fix: `Install: ${prime.install.linux}`, + }]; + } + + const version = parseSemver(prime.version); + if (!version) { + return [{ + name: prime.name, + status: 'warn', + message: 'Detected but `prime-agent --version` did not return a semantic version', + fix: `Install a supported release >= ${SUPPORTED_PRIME_AGENT_VERSION_MIN} and < ${SUPPORTED_PRIME_AGENT_VERSION_MAX_EXCLUSIVE}`, + }]; + } + if (compareSemver(version, SUPPORTED_PRIME_AGENT_VERSION_MIN) < 0 + || compareSemver(version, SUPPORTED_PRIME_AGENT_VERSION_MAX_EXCLUSIVE) >= 0) { + return [{ + name: prime.name, + status: 'warn', + message: `v${version} is unsupported; requires >= ${SUPPORTED_PRIME_AGENT_VERSION_MIN} and < ${SUPPORTED_PRIME_AGENT_VERSION_MAX_EXCLUSIVE}`, + fix: 'Install a compatible Prime Agent release; Overdeck will not fall back to another harness.', + }]; + } + + const effectiveResolver = resolver ?? (async (command, options) => { + const { resolveHarnessBinary } = await import('../../lib/harness-binary.js'); + return options?.primeAgentHarness ? resolveHarnessBinary('prime-agent') : null; + }); + const executable = await effectiveResolver('prime-agent', { primeAgentHarness: true }); + try { + const help = executable && probe ? await probe(executable, ['--help']) : ''; + if (probe && !/(?:--mode\b[^\n]*\brpc\b|--mode\s+<[^>]+>)/i.test(help)) { + return [{ + name: prime.name, + status: 'warn', + message: `v${version} does not advertise the required --mode rpc capability`, + fix: 'Install a Prime Agent build with RPC mode support.', + }]; + } + } catch { + return [{ name: prime.name, status: 'warn', message: `v${version}; RPC capability probe failed`, fix: 'Run `prime-agent --help` and verify --mode rpc is available.' }]; + } + return [{ name: prime.name, status: 'ok', message: `v${version} (RPC mode available)` }]; +} + export function checkCodex(): CheckResult[] { if (!checkCommand('codex')) { return [ @@ -749,6 +809,9 @@ export async function doctorCommand(options: DoctorOptions = {}): Promise<void> // Kimi Code CLI (ACP harness). Resolve the same configured executable used at launch. for (const c of await checkKimi()) checks.push(c); + // Prime Agent is optional, but an installed build must match the pinned RPC protocol range. + for (const c of await checkPrimeAgent()) checks.push(c); + // Check Overdeck directories const directories = [ { path: OVERDECK_HOME, name: 'Overdeck Home', fix: 'Run: pan init' }, diff --git a/src/lib/__tests__/system-prerequisites.test.ts b/src/lib/__tests__/system-prerequisites.test.ts index 46cd5e79bc4..535f5e4cf17 100644 --- a/src/lib/__tests__/system-prerequisites.test.ts +++ b/src/lib/__tests__/system-prerequisites.test.ts @@ -50,6 +50,19 @@ describe('checkSystemPrerequisites', () => { }); }); + it('routes Prime Agent through its configured harness executable resolver', async () => { + const calls: Array<{ command: string; primeAgentHarness: boolean }> = []; + const report = await checkSystemPrerequisites( + async (cmd) => `${cmd} 0.1.0`, + async (command, options) => { + calls.push({ command, primeAgentHarness: options?.primeAgentHarness === true }); + return `/resolved/bin/${command}`; + }, + ); + expect(calls).toContainEqual({ command: 'prime-agent', primeAgentHarness: true }); + expect(report.checks.find((check) => check.id === 'prime-agent')).toMatchObject({ found: true }); + }); + it('flags missing required tools and keeps optional misses non-blocking', async () => { const missingTmuxAndDocker = async (command: string) => command === 'tmux' || command === 'docker' ? null : `/resolved/bin/${command}`; diff --git a/src/lib/system-prerequisites.ts b/src/lib/system-prerequisites.ts index 01de80593aa..797d1094333 100644 --- a/src/lib/system-prerequisites.ts +++ b/src/lib/system-prerequisites.ts @@ -178,12 +178,24 @@ export const PREREQUISITES: readonly PrerequisiteDefinition[] = [ win: 'https://www.kimi.com/code/docs/en/kimi-code-cli/guides/getting-started.html', }, }, + { + id: 'prime-agent', + name: 'Prime Agent', + required: false, + purpose: 'Prime Agent managed harness using persistent RPC mode', + versionArgs: ['--version'], + install: { + linux: 'https://github.com/PrimeIntellect-ai/prime-agent#installation', + mac: 'https://github.com/PrimeIntellect-ai/prime-agent#installation', + win: 'Prime Agent supports macOS and Linux; use a supported workspace host', + }, + }, ]; export type PrerequisiteProbe = (cmd: string, args: string[]) => Promise<string>; export type PrerequisiteResolver = ( command: string, - options?: { acpHarness?: boolean; pathValue?: string }, + options?: { acpHarness?: boolean; primeAgentHarness?: boolean; pathValue?: string }, ) => Promise<string | null>; const defaultProbe: PrerequisiteProbe = async (cmd, args) => { @@ -197,6 +209,8 @@ const defaultResolver: PrerequisiteResolver = async (command, options) => { : undefined; return options?.acpHarness ? resolveHarnessBinary('acp', resolutionOptions) + : options?.primeAgentHarness + ? resolveHarnessBinary('prime-agent', resolutionOptions) : resolveExecutable(command, resolutionOptions); }; @@ -207,6 +221,7 @@ function resolvePrerequisiteExecutable( ): Promise<string | null> { const options = { ...(id === 'kimi' ? { acpHarness: true } : {}), + ...(id === 'prime-agent' ? { primeAgentHarness: true } : {}), ...(pathValue !== undefined ? { pathValue } : {}), }; return Object.keys(options).length > 0 diff --git a/tests/unit/cli/doctor-prime-agent.test.ts b/tests/unit/cli/doctor-prime-agent.test.ts new file mode 100644 index 00000000000..bb9b6a9f17c --- /dev/null +++ b/tests/unit/cli/doctor-prime-agent.test.ts @@ -0,0 +1,24 @@ +import { describe, expect, it } from 'vitest'; +import { checkPrimeAgent } from '../../../src/cli/commands/doctor.js'; + +const resolver = async () => '/opt/prime/bin/prime-agent'; + +describe('checkPrimeAgent', () => { + it('accepts a compatible release that advertises RPC mode', async () => { + const result = await checkPrimeAgent(async (_path, args) => args[0] === '--version' + ? 'prime-agent 0.1.0' + : 'Usage: prime-agent --mode <interactive|rpc>', resolver); + expect(result).toEqual([{ name: 'Prime Agent', status: 'ok', message: 'v0.1.0 (RPC mode available)' }]); + }); + + it('returns standalone errors for missing, unsupported, and non-RPC builds', async () => { + const missing = await checkPrimeAgent(async () => '', async () => null); + expect(missing[0]).toMatchObject({ status: 'warn', message: expect.stringContaining('Not installed') }); + + const unsupported = await checkPrimeAgent(async () => 'prime-agent 1.0.0', resolver); + expect(unsupported[0]).toMatchObject({ status: 'warn', message: expect.stringContaining('unsupported') }); + + const noRpc = await checkPrimeAgent(async (_path, args) => args[0] === '--version' ? '0.1.0' : 'Usage: prime-agent', resolver); + expect(noRpc[0]).toMatchObject({ status: 'warn', message: expect.stringContaining('--mode rpc') }); + }); +}); From 0980f91a47374e5f625e83d15aaee8ac45b146b2 Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 19:58:56 -0400 Subject: [PATCH 13/38] refactor: isolate Prime doctor checks (PAN-3668) --- src/cli/commands/doctor-prime-agent.ts | 52 +++++++++++++++++++ src/cli/commands/doctor.ts | 61 +---------------------- tests/unit/cli/doctor-prime-agent.test.ts | 2 +- 3 files changed, 54 insertions(+), 61 deletions(-) create mode 100644 src/cli/commands/doctor-prime-agent.ts diff --git a/src/cli/commands/doctor-prime-agent.ts b/src/cli/commands/doctor-prime-agent.ts new file mode 100644 index 00000000000..686c781c223 --- /dev/null +++ b/src/cli/commands/doctor-prime-agent.ts @@ -0,0 +1,52 @@ +import { resolveHarnessBinary } from '../../lib/harness-binary.js'; +import { + checkSystemPrerequisite, + type PrerequisiteProbe, + type PrerequisiteResolver, +} from '../../lib/system-prerequisites.js'; + +export const SUPPORTED_PRIME_AGENT_VERSION_MIN = '0.1.0'; +export const SUPPORTED_PRIME_AGENT_VERSION_MAX_EXCLUSIVE = '1.0.0'; + +export interface PrimeAgentDoctorResult { + name: string; + status: 'ok' | 'warn' | 'error'; + message: string; + fix?: string; +} + +function compareSemver(a: string, b: string): number { + const left = a.split('.').map(Number); + const right = b.split('.').map(Number); + for (let index = 0; index < 3; index += 1) { + if ((left[index] ?? 0) !== (right[index] ?? 0)) return (left[index] ?? 0) - (right[index] ?? 0); + } + return 0; +} + +export async function checkPrimeAgent( + probe?: PrerequisiteProbe, + resolver?: PrerequisiteResolver, +): Promise<PrimeAgentDoctorResult[]> { + const prime = await checkSystemPrerequisite('prime-agent', probe, resolver); + if (!prime.found) return [{ name: prime.name, status: 'warn', message: 'Not installed (prime-agent harness unavailable)', fix: `Install: ${prime.install.linux}` }]; + + const version = prime.version?.match(/(\d+\.\d+\.\d+)/)?.[1] ?? null; + if (!version) return [{ name: prime.name, status: 'warn', message: 'Detected but `prime-agent --version` did not return a semantic version', fix: `Install a supported release >= ${SUPPORTED_PRIME_AGENT_VERSION_MIN} and < ${SUPPORTED_PRIME_AGENT_VERSION_MAX_EXCLUSIVE}` }]; + if (compareSemver(version, SUPPORTED_PRIME_AGENT_VERSION_MIN) < 0 || compareSemver(version, SUPPORTED_PRIME_AGENT_VERSION_MAX_EXCLUSIVE) >= 0) { + return [{ name: prime.name, status: 'warn', message: `v${version} is unsupported; requires >= ${SUPPORTED_PRIME_AGENT_VERSION_MIN} and < ${SUPPORTED_PRIME_AGENT_VERSION_MAX_EXCLUSIVE}`, fix: 'Install a compatible Prime Agent release; Overdeck will not fall back to another harness.' }]; + } + + const executable = await (resolver + ? resolver('prime-agent', { primeAgentHarness: true }) + : resolveHarnessBinary('prime-agent')); + try { + const help = executable && probe ? await probe(executable, ['--help']) : ''; + if (probe && !/(?:--mode\b[^\n]*\brpc\b|--mode\s+<[^>]+>)/i.test(help)) { + return [{ name: prime.name, status: 'warn', message: `v${version} does not advertise the required --mode rpc capability`, fix: 'Install a Prime Agent build with RPC mode support.' }]; + } + } catch { + return [{ name: prime.name, status: 'warn', message: `v${version}; RPC capability probe failed`, fix: 'Run `prime-agent --help` and verify --mode rpc is available.' }]; + } + return [{ name: prime.name, status: 'ok', message: `v${version} (RPC mode available)` }]; +} diff --git a/src/cli/commands/doctor.ts b/src/cli/commands/doctor.ts index bf53b8e97a7..467c0c79dee 100644 --- a/src/cli/commands/doctor.ts +++ b/src/cli/commands/doctor.ts @@ -36,6 +36,7 @@ import { checkInotify } from './doctor-inotify.js'; import { checkStateDivergence } from './doctor-state-divergence.js'; import { checkStateWorktrees } from './doctor-state-worktree.js'; import { checkDuplicateComposeStacks } from './doctor-duplicate-stacks.js'; +import { checkPrimeAgent } from './doctor-prime-agent.js'; import { assessBridgePoolPressure, bridgePoolLimitFromPools, @@ -49,8 +50,6 @@ import { import { isXBriefFilename } from '../../lib/xbrief/lifecycle.js'; // Minimum supported omp harness version (PAN-1989); its lineage differs from pi and was baselined at 16.1.16. export const SUPPORTED_OMP_VERSION_MIN = '16.1.0'; -export const SUPPORTED_PRIME_AGENT_VERSION_MIN = '0.1.0'; -export const SUPPORTED_PRIME_AGENT_VERSION_MAX_EXCLUSIVE = '1.0.0'; const execAsync = promisify(exec); function compareSemver(a: string, b: string): number { @@ -85,64 +84,6 @@ export async function checkKimi( }]; } -function parseSemver(value: string | null): string | null { - return value?.match(/(\d+\.\d+\.\d+)/)?.[1] ?? null; -} - -export async function checkPrimeAgent( - probe?: PrerequisiteProbe, - resolver?: PrerequisiteResolver, -): Promise<CheckResult[]> { - const prime = await checkSystemPrerequisite('prime-agent', probe, resolver); - if (!prime.found) { - return [{ - name: prime.name, - status: 'warn', - message: 'Not installed (prime-agent harness unavailable)', - fix: `Install: ${prime.install.linux}`, - }]; - } - - const version = parseSemver(prime.version); - if (!version) { - return [{ - name: prime.name, - status: 'warn', - message: 'Detected but `prime-agent --version` did not return a semantic version', - fix: `Install a supported release >= ${SUPPORTED_PRIME_AGENT_VERSION_MIN} and < ${SUPPORTED_PRIME_AGENT_VERSION_MAX_EXCLUSIVE}`, - }]; - } - if (compareSemver(version, SUPPORTED_PRIME_AGENT_VERSION_MIN) < 0 - || compareSemver(version, SUPPORTED_PRIME_AGENT_VERSION_MAX_EXCLUSIVE) >= 0) { - return [{ - name: prime.name, - status: 'warn', - message: `v${version} is unsupported; requires >= ${SUPPORTED_PRIME_AGENT_VERSION_MIN} and < ${SUPPORTED_PRIME_AGENT_VERSION_MAX_EXCLUSIVE}`, - fix: 'Install a compatible Prime Agent release; Overdeck will not fall back to another harness.', - }]; - } - - const effectiveResolver = resolver ?? (async (command, options) => { - const { resolveHarnessBinary } = await import('../../lib/harness-binary.js'); - return options?.primeAgentHarness ? resolveHarnessBinary('prime-agent') : null; - }); - const executable = await effectiveResolver('prime-agent', { primeAgentHarness: true }); - try { - const help = executable && probe ? await probe(executable, ['--help']) : ''; - if (probe && !/(?:--mode\b[^\n]*\brpc\b|--mode\s+<[^>]+>)/i.test(help)) { - return [{ - name: prime.name, - status: 'warn', - message: `v${version} does not advertise the required --mode rpc capability`, - fix: 'Install a Prime Agent build with RPC mode support.', - }]; - } - } catch { - return [{ name: prime.name, status: 'warn', message: `v${version}; RPC capability probe failed`, fix: 'Run `prime-agent --help` and verify --mode rpc is available.' }]; - } - return [{ name: prime.name, status: 'ok', message: `v${version} (RPC mode available)` }]; -} - export function checkCodex(): CheckResult[] { if (!checkCommand('codex')) { return [ diff --git a/tests/unit/cli/doctor-prime-agent.test.ts b/tests/unit/cli/doctor-prime-agent.test.ts index bb9b6a9f17c..fd794141b50 100644 --- a/tests/unit/cli/doctor-prime-agent.test.ts +++ b/tests/unit/cli/doctor-prime-agent.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { checkPrimeAgent } from '../../../src/cli/commands/doctor.js'; +import { checkPrimeAgent } from '../../../src/cli/commands/doctor-prime-agent.js'; const resolver = async () => '/opt/prime/bin/prime-agent'; From 02343af4527d9c73d12c2ddf334bc04659e9f7d3 Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 19:59:21 -0400 Subject: [PATCH 14/38] chore: keep doctor within size guard (PAN-3668) --- src/cli/commands/doctor.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/cli/commands/doctor.ts b/src/cli/commands/doctor.ts index 467c0c79dee..7e6d09ba6d3 100644 --- a/src/cli/commands/doctor.ts +++ b/src/cli/commands/doctor.ts @@ -746,13 +746,9 @@ export async function doctorCommand(options: DoctorOptions = {}): Promise<void> // Codex CLI (alternative harness — PAN-1574). Optional: missing → warn. for (const c of checkCodex()) checks.push(c); - // Kimi Code CLI (ACP harness). Resolve the same configured executable used at launch. for (const c of await checkKimi()) checks.push(c); - - // Prime Agent is optional, but an installed build must match the pinned RPC protocol range. for (const c of await checkPrimeAgent()) checks.push(c); - // Check Overdeck directories const directories = [ { path: OVERDECK_HOME, name: 'Overdeck Home', fix: 'Run: pan init' }, From 5c51e210b0d729336c4caf2aea960ecfed52875f Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 20:02:08 -0400 Subject: [PATCH 15/38] feat: register Prime Agent runtime adapter (PAN-3668) --- .../runtimes/__tests__/prime-agent.test.ts | 51 ++++++++ src/lib/runtimes/index.ts | 6 + src/lib/runtimes/prime-agent.ts | 118 ++++++++++++++++++ 3 files changed, 175 insertions(+) create mode 100644 src/lib/runtimes/__tests__/prime-agent.test.ts create mode 100644 src/lib/runtimes/prime-agent.ts diff --git a/src/lib/runtimes/__tests__/prime-agent.test.ts b/src/lib/runtimes/__tests__/prime-agent.test.ts new file mode 100644 index 00000000000..6eef5ea5fcb --- /dev/null +++ b/src/lib/runtimes/__tests__/prime-agent.test.ts @@ -0,0 +1,51 @@ +import { closeSync, mkdtempSync, openSync, utimesSync } from 'node:fs'; +import { tmpdir } from 'node:os'; +import { join } from 'node:path'; +import { describe, expect, it, vi } from 'vitest'; +import { PrimeAgentRuntimeSync, type PrimeAgentRuntimeController } from '../prime-agent.js'; +import { getGlobalRegistry } from '../index.js'; + +function controller(overrides: Partial<PrimeAgentRuntimeController> = {}): PrimeAgentRuntimeController { + return { + spawn: vi.fn(async () => ({ sessionId: 'prime-session', sessionPath: '/sessions/prime.jsonl' })), + send: vi.fn(async () => undefined), abort: vi.fn(async () => undefined), terminate: vi.fn(async () => undefined), + isRunning: vi.fn(async () => true), stats: vi.fn(() => null), lastEventAt: vi.fn(() => null), sessionPath: vi.fn(() => null), + ...overrides, + }; +} + +describe('PrimeAgentRuntimeSync', () => { + it('is registered in the global runtime registry', () => { + expect(getGlobalRegistry().get('prime-agent')).toBeInstanceOf(PrimeAgentRuntimeSync); + }); + + it('prefers live RPC event activity and falls back to detached JSONL mtime', () => { + const liveAt = new Date('2026-08-12T12:00:00Z'); + const live = new PrimeAgentRuntimeSync({ controller: controller({ lastEventAt: () => liveAt }) }); + expect(live.getHeartbeat('agent-pan-1')).toMatchObject({ timestamp: liveAt, source: 'active-heartbeat', confidence: 'high' }); + + const path = join(mkdtempSync(join(tmpdir(), 'prime-runtime-')), 'session.jsonl'); + closeSync(openSync(path, 'w')); + const detachedAt = new Date('2026-08-12T11:00:00Z'); + utimesSync(path, detachedAt, detachedAt); + const detached = new PrimeAgentRuntimeSync({ controller: controller({ sessionPath: () => path }) }); + expect(detached.getHeartbeat('agent-pan-1')).toMatchObject({ timestamp: detachedAt, source: 'jsonl', confidence: 'medium' }); + }); + + it('returns the recorded session path and aborts before termination', async () => { + const order: string[] = []; + const runtime = new PrimeAgentRuntimeSync({ controller: controller({ + sessionPath: () => '/sessions/prime.jsonl', + abort: async () => { order.push('abort'); }, terminate: async () => { order.push('terminate'); }, + }) }); + expect(runtime.getSessionPath('agent-pan-1')).toBe('/sessions/prime.jsonl'); + await runtime.killAgent('agent-pan-1'); + expect(order).toEqual(['abort', 'terminate']); + }); + + it('reports session stats without inventing missing values', () => { + const runtime = new PrimeAgentRuntimeSync({ controller: controller({ stats: () => ({ tokens: { input: 10, output: 2 }, cost: 0.5 }) }) }); + expect(runtime.getTokenUsage('agent-pan-1')).toEqual({ inputTokens: 10, outputTokens: 2, cacheReadTokens: undefined, cacheWriteTokens: undefined }); + expect(runtime.getSessionCost('agent-pan-1')?.totalCost).toBe(0.5); + }); +}); diff --git a/src/lib/runtimes/index.ts b/src/lib/runtimes/index.ts index 516076591e1..46b7c9233b3 100644 --- a/src/lib/runtimes/index.ts +++ b/src/lib/runtimes/index.ts @@ -43,6 +43,7 @@ export { createKimiCodeRuntimeSync, KimiCodeSpawnTimeout, } from './kimi-code.js'; +export { PrimeAgentRuntimeSync, createPrimeAgentRuntimeSync } from './prime-agent.js'; import type { AgentRuntimeSync, @@ -56,6 +57,7 @@ import { createOhmypiRuntimeSync } from './ohmypi.js'; import { createCodexRuntimeSync } from './codex.js'; import { createAcpRuntimeSync } from './acp.js'; import { createKimiCodeRuntimeSync } from './kimi-code.js'; +import { createPrimeAgentRuntimeSync } from './prime-agent.js'; /** * Runtime registry implementation @@ -114,6 +116,9 @@ export class RuntimeRegistry implements RuntimeRegistryInterface { if (harness === 'kimi-code') { return this.get('kimi-code') ?? null; } + if (harness === 'prime-agent') { + return this.get('prime-agent') ?? null; + } return this.get('claude-code') ?? null; } } @@ -142,6 +147,7 @@ export function getGlobalRegistry(): RuntimeRegistry { globalRegistry.register(createCodexRuntimeSync()); globalRegistry.register(createAcpRuntimeSync()); globalRegistry.register(createKimiCodeRuntimeSync()); + globalRegistry.register(createPrimeAgentRuntimeSync()); } return globalRegistry; } diff --git a/src/lib/runtimes/prime-agent.ts b/src/lib/runtimes/prime-agent.ts new file mode 100644 index 00000000000..d00bb872eec --- /dev/null +++ b/src/lib/runtimes/prime-agent.ts @@ -0,0 +1,118 @@ +import { statSync } from 'node:fs'; +import type { AgentState } from '../agents.js'; +import { getAgentStateSync, listAgentStates } from '../agents.js'; +import { getRuntimeBehavior } from './behavior.js'; +import type { + Agent, + AgentRuntimeSync, + CostBreakdown, + HarnessBehavior, + Heartbeat, + Session, + SpawnConfig, + TokenUsage, +} from './types.js'; + +export interface PrimeAgentSessionStats { + tokens?: { input?: number; output?: number; cacheRead?: number; cacheWrite?: number }; + cost?: number; +} + +export interface PrimeAgentRuntimeController { + spawn(config: SpawnConfig): Promise<{ sessionId: string; sessionPath: string }>; + send(agentId: string, message: string): Promise<void>; + abort(agentId: string): Promise<void>; + terminate(agentId: string): Promise<void>; + isRunning(agentId: string): Promise<boolean>; + stats(agentId: string): PrimeAgentSessionStats | null; + lastEventAt(agentId: string): Date | null; + sessionPath(agentId: string): string | null; +} + +const unconfiguredController: PrimeAgentRuntimeController = { + async spawn() { throw new Error('Prime Agent RPC controller is not configured'); }, + async send() { throw new Error('Prime Agent RPC controller is not configured'); }, + async abort() { return undefined; }, + async terminate() { return undefined; }, + async isRunning() { return false; }, + stats() { return null; }, + lastEventAt() { return null; }, + sessionPath() { return null; }, +}; + +export interface PrimeAgentRuntimeOptions { + controller?: PrimeAgentRuntimeController; + getAgentState?: (agentId: string) => AgentState | null; + listAgentStates?: () => AgentState[]; +} + +export class PrimeAgentRuntimeSync implements AgentRuntimeSync { + readonly name = 'prime-agent' as const; + private readonly controller: PrimeAgentRuntimeController; + private readonly resolveAgentState: (agentId: string) => AgentState | null; + private readonly resolveAgentStates: () => AgentState[]; + + constructor(options: PrimeAgentRuntimeOptions = {}) { + this.controller = options.controller ?? unconfiguredController; + this.resolveAgentState = options.getAgentState ?? getAgentStateSync; + this.resolveAgentStates = options.listAgentStates ?? listAgentStates; + } + + getHarnessBehavior(): HarnessBehavior { return getRuntimeBehavior('prime-agent'); } + getSessionPath(agentId: string): string | null { return this.controller.sessionPath(agentId); } + + getLastActivity(agentId: string): Date | null { + const live = this.controller.lastEventAt(agentId); + if (live) return live; + const path = this.getSessionPath(agentId); + if (!path) return null; + try { return statSync(path).mtime; } catch { return null; } + } + + getHeartbeat(agentId: string): Heartbeat | null { + const live = this.controller.lastEventAt(agentId); + if (live) return { timestamp: live, agentId, source: 'active-heartbeat', confidence: 'high' }; + const detached = this.getLastActivity(agentId); + return detached ? { timestamp: detached, agentId, source: 'jsonl', confidence: 'medium' } : null; + } + + getTokenUsage(agentId: string): TokenUsage | null { + const tokens = this.controller.stats(agentId)?.tokens; + if (!tokens) return null; + return { inputTokens: tokens.input ?? 0, outputTokens: tokens.output ?? 0, cacheReadTokens: tokens.cacheRead, cacheWriteTokens: tokens.cacheWrite }; + } + + getSessionCost(agentId: string): CostBreakdown | null { + const cost = this.controller.stats(agentId)?.cost; + return cost === undefined ? null : { inputCost: 0, outputCost: 0, cacheReadCost: 0, cacheWriteCost: 0, totalCost: cost, currency: 'USD' }; + } + + sendMessage(agentId: string, message: string): Promise<void> { return this.controller.send(agentId, message); } + + async killAgent(agentId: string): Promise<void> { + await this.controller.abort(agentId); + await this.controller.terminate(agentId); + } + + async spawnAgent(config: SpawnConfig): Promise<Agent> { + const session = await this.controller.spawn(config); + return { id: config.agentId, sessionId: session.sessionId, runtime: 'prime-agent', model: config.model ?? '', workspace: config.workspace, startedAt: new Date() }; + } + + listSessions(workspace?: string): Session[] { + return this.resolveAgentStates().flatMap((state) => { + if (state.harness !== 'prime-agent' || (workspace && state.workspace !== workspace) || !state.sessionId) return []; + const lastActivity = this.getLastActivity(state.id); + if (!lastActivity) return []; + return [{ id: state.sessionId, agentId: state.id, workspace: state.workspace, model: state.model, startedAt: new Date(state.startedAt), lastActivity, tokenUsage: this.getTokenUsage(state.id) ?? { inputTokens: 0, outputTokens: 0 } }]; + }); + } + + isRunning(agentId: string): Promise<boolean> { + return this.resolveAgentState(agentId)?.harness === 'prime-agent' ? this.controller.isRunning(agentId) : Promise.resolve(false); + } +} + +export function createPrimeAgentRuntimeSync(options?: PrimeAgentRuntimeOptions): PrimeAgentRuntimeSync { + return new PrimeAgentRuntimeSync(options); +} From 24bdfa9bab563e71fa654b124bb503ba8c395fe3 Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 20:03:21 -0400 Subject: [PATCH 16/38] feat: verify Prime Agent session resume (PAN-3668) --- src/lib/prime-agent/session-resume.ts | 51 +++++++++++++++++++ .../lib/prime-agent/session-resume.test.ts | 30 +++++++++++ 2 files changed, 81 insertions(+) create mode 100644 src/lib/prime-agent/session-resume.ts create mode 100644 tests/unit/lib/prime-agent/session-resume.test.ts diff --git a/src/lib/prime-agent/session-resume.ts b/src/lib/prime-agent/session-resume.ts new file mode 100644 index 00000000000..0879e3b3179 --- /dev/null +++ b/src/lib/prime-agent/session-resume.ts @@ -0,0 +1,51 @@ +import { constants } from 'node:fs'; +import { access } from 'node:fs/promises'; + +export class PrimeAgentResumeError extends Error { + constructor(message: string) { + super(message); + this.name = 'PrimeAgentResumeError'; + } +} + +export interface PrimeAgentResumeProcess { + getState(): Promise<{ sessionId?: string }>; + stop(): Promise<void>; +} + +export interface ResumePrimeAgentSessionOptions { + sessionId: string; + sessionPath: string; + start: (sessionPath: string) => Promise<PrimeAgentResumeProcess>; + accessFile?: (path: string) => Promise<void>; +} + +/** Start a resumed client only after the durable session exists, then verify identity. */ +export async function resumePrimeAgentSession(options: ResumePrimeAgentSessionOptions): Promise<PrimeAgentResumeProcess> { + const accessFile = options.accessFile ?? ((path: string) => access(path, constants.R_OK)); + try { + await accessFile(options.sessionPath); + } catch { + throw new PrimeAgentResumeError( + `Prime Agent session ${options.sessionId} cannot resume because ${options.sessionPath} is missing or unreadable. No fresh session was created.`, + ); + } + + const process = await options.start(options.sessionPath); + try { + const state = await process.getState(); + if (state.sessionId !== options.sessionId) { + throw new PrimeAgentResumeError( + `Prime Agent resume returned session ${state.sessionId ?? '<missing>'}, expected ${options.sessionId}. The replacement process was stopped; no fresh session was accepted.`, + ); + } + return process; + } catch (cause) { + await process.stop().catch(() => undefined); + if (cause instanceof PrimeAgentResumeError) throw cause; + const message = cause instanceof Error ? cause.message : String(cause); + throw new PrimeAgentResumeError( + `Prime Agent session ${options.sessionId} failed its resume verification: ${message}. The replacement process was stopped.`, + ); + } +} diff --git a/tests/unit/lib/prime-agent/session-resume.test.ts b/tests/unit/lib/prime-agent/session-resume.test.ts new file mode 100644 index 00000000000..abb8ce1a037 --- /dev/null +++ b/tests/unit/lib/prime-agent/session-resume.test.ts @@ -0,0 +1,30 @@ +import { describe, expect, it, vi } from 'vitest'; +import { PrimeAgentResumeError, resumePrimeAgentSession } from '../../../../src/lib/prime-agent/session-resume.js'; + +describe('resumePrimeAgentSession', () => { + it('returns a process only when get_state confirms the persisted session ID', async () => { + const process = { getState: vi.fn(async () => ({ sessionId: 'session-1' })), stop: vi.fn(async () => undefined) }; + const start = vi.fn(async () => process); + await expect(resumePrimeAgentSession({ sessionId: 'session-1', sessionPath: '/sessions/one.jsonl', start, accessFile: async () => undefined })).resolves.toBe(process); + expect(start).toHaveBeenCalledWith('/sessions/one.jsonl'); + expect(process.stop).not.toHaveBeenCalled(); + }); + + it('rejects a missing session before starting a process', async () => { + const start = vi.fn(); + await expect(resumePrimeAgentSession({ sessionId: 'session-1', sessionPath: '/missing.jsonl', start, accessFile: async () => { throw new Error('ENOENT'); } })).rejects.toThrow('No fresh session was created'); + expect(start).not.toHaveBeenCalled(); + }); + + it('stops a process whose get_state session ID does not match', async () => { + const process = { getState: vi.fn(async () => ({ sessionId: 'wrong' })), stop: vi.fn(async () => undefined) }; + await expect(resumePrimeAgentSession({ sessionId: 'session-1', sessionPath: '/sessions/one.jsonl', start: async () => process, accessFile: async () => undefined })).rejects.toBeInstanceOf(PrimeAgentResumeError); + expect(process.stop).toHaveBeenCalledOnce(); + }); + + it('stops the replacement process when it exits during state verification', async () => { + const process = { getState: vi.fn(async () => { throw new Error('process exited'); }), stop: vi.fn(async () => undefined) }; + await expect(resumePrimeAgentSession({ sessionId: 'session-1', sessionPath: '/sessions/one.jsonl', start: async () => process, accessFile: async () => undefined })).rejects.toThrow('process exited'); + expect(process.stop).toHaveBeenCalledOnce(); + }); +}); From ab0982ddde99ff3f6fe331f0562608d01565813b Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 20:04:45 -0400 Subject: [PATCH 17/38] feat: enforce Prime managed-session policy (PAN-3668) --- src/lib/prime-agent/policy.ts | 50 +++++++++++++++++++++++ src/lib/prime-agent/rpc-client.ts | 2 + tests/unit/lib/prime-agent/policy.test.ts | 37 +++++++++++++++++ 3 files changed, 89 insertions(+) create mode 100644 src/lib/prime-agent/policy.ts create mode 100644 tests/unit/lib/prime-agent/policy.test.ts diff --git a/src/lib/prime-agent/policy.ts b/src/lib/prime-agent/policy.ts new file mode 100644 index 00000000000..dcc6e561644 --- /dev/null +++ b/src/lib/prime-agent/policy.ts @@ -0,0 +1,50 @@ +export const PRIME_AGENT_MANAGED_POLICY = `You are a Prime Agent root session managed by Overdeck. + +- Treat prompts delivered by Overdeck as operator messages. Preserve their provenance in the session transcript. +- Work only inside the assigned Overdeck workspace and its explicitly mounted repositories. +- Overdeck Cloister is the only lifecycle authority. Do not start schedules, heartbeats, autonomous continuation, or direct cross-agent messages. +- Prime RLM children may run only as internal tool execution attributable to this root session. They are not Overdeck agents, must not persist after the root stops, and must not claim issue ownership. +- Only the root Overdeck agent may use pan lifecycle commands. Children must never run pan done, pan task, pan start, pan tell, or alter pipeline records. +- Canonical issue, agent, conversation, and pipeline state uses Overdeck's single state write door. Never write its SQLite cache, overdeck-state files, state.json, or tracker status directly. +- Continual refinement is session-local. Do not modify bundled, machine, project, workspace, or rendered Overdeck context artifacts, including prime-agent-global.md.`; + +const FORBIDDEN_MANAGED_COMMANDS = new Set([ + 'send_message', + 'agent_messages_status', + 'agent_messages_pause', + 'agent_messages_resume', + 'agent_messages_clear', + 'list_schedules', + 'add_schedule', + 'cancel_schedule', + 'list_heartbeats', + 'get_heartbeat', + 'set_heartbeat', + 'update_heartbeat', + 'manage_heartbeat', + 'observe', + 'unobserve', +]); + +export class PrimeAgentManagedPolicyError extends Error { + constructor(command: string) { + super(`Prime Agent RPC command "${command}" is unavailable for Overdeck-managed sessions. Cloister owns lifecycle and messaging; Prime schedules, heartbeats, autonomous continuation, observation, and cross-agent messaging are disabled.`); + this.name = 'PrimeAgentManagedPolicyError'; + } +} + +export function assertPrimeAgentManagedCommandAllowed(command: string): void { + if (FORBIDDEN_MANAGED_COMMANDS.has(command)) throw new PrimeAgentManagedPolicyError(command); +} + +/** + * Implementation checkpoint for the protocol range pinned by doctor-prime-agent.ts. + * The adapter denies every daemon coordination command documented by that range, + * and the injected policy denies tool-level lifecycle bypasses. Managed work stays + * enabled while both controls are present; protocol drift is rejected by doctor. + */ +export const PRIME_AGENT_MANAGED_POLICY_CHECKPOINT = { + outcome: 'policy-enforced', + verifiedOn: '2026-08-12', + fallback: 'If protocol compatibility fails, reject managed work and allow supervised conversations only.', +} as const; diff --git a/src/lib/prime-agent/rpc-client.ts b/src/lib/prime-agent/rpc-client.ts index b6093d52236..be465e61880 100644 --- a/src/lib/prime-agent/rpc-client.ts +++ b/src/lib/prime-agent/rpc-client.ts @@ -1,5 +1,6 @@ import type { Writable } from 'node:stream'; import { encodePrimeAgentJsonl, PrimeAgentJsonlFramer } from './jsonl-framing.js'; +import { assertPrimeAgentManagedCommandAllowed } from './policy.js'; export interface PrimeAgentRpcResponse<T = unknown> { type: 'response'; @@ -44,6 +45,7 @@ export class PrimeAgentRpcClient { } request<T = unknown>(command: Record<string, unknown> & { type: string }): Promise<PrimeAgentRpcResponse<T>> { + assertPrimeAgentManagedCommandAllowed(command.type); if (this.closedError) return Promise.reject(this.closedError); if (this.pending.size >= this.maxPendingRequests) { return Promise.reject(new Error(`Prime Agent RPC has ${this.pending.size} pending requests; refusing unbounded growth`)); diff --git a/tests/unit/lib/prime-agent/policy.test.ts b/tests/unit/lib/prime-agent/policy.test.ts new file mode 100644 index 00000000000..8390bd24cf4 --- /dev/null +++ b/tests/unit/lib/prime-agent/policy.test.ts @@ -0,0 +1,37 @@ +import { describe, expect, it } from 'vitest'; +import { + assertPrimeAgentManagedCommandAllowed, + PRIME_AGENT_MANAGED_POLICY, + PRIME_AGENT_MANAGED_POLICY_CHECKPOINT, + PrimeAgentManagedPolicyError, +} from '../../../../src/lib/prime-agent/policy.js'; + +describe('Prime Agent managed-session policy', () => { + it('states provenance, workspace, lifecycle, child-agent, and state-write-door rules', () => { + expect(PRIME_AGENT_MANAGED_POLICY).toContain('operator messages'); + expect(PRIME_AGENT_MANAGED_POLICY).toContain('assigned Overdeck workspace'); + expect(PRIME_AGENT_MANAGED_POLICY).toContain('only lifecycle authority'); + expect(PRIME_AGENT_MANAGED_POLICY).toContain('not Overdeck agents'); + expect(PRIME_AGENT_MANAGED_POLICY).toContain('must never run pan done'); + expect(PRIME_AGENT_MANAGED_POLICY).toContain('single state write door'); + expect(PRIME_AGENT_MANAGED_POLICY).toContain('session-local'); + }); + + it.each(['add_schedule', 'set_heartbeat', 'send_message', 'observe'])( + 'rejects managed daemon command %s with a standalone explanation', + (command) => { + expect(() => assertPrimeAgentManagedCommandAllowed(command)).toThrow(PrimeAgentManagedPolicyError); + expect(() => assertPrimeAgentManagedCommandAllowed(command)).toThrow('Cloister owns lifecycle and messaging'); + }, + ); + + it.each(['prompt', 'steer', 'follow_up', 'abort', 'get_state', 'get_messages', 'get_session_stats'])( + 'allows root-session command %s', + (command) => expect(() => assertPrimeAgentManagedCommandAllowed(command)).not.toThrow(), + ); + + it('records the pinned-protocol checkpoint and fallback', () => { + expect(PRIME_AGENT_MANAGED_POLICY_CHECKPOINT).toMatchObject({ outcome: 'policy-enforced', verifiedOn: '2026-08-12' }); + expect(PRIME_AGENT_MANAGED_POLICY_CHECKPOINT.fallback).toContain('supervised conversations only'); + }); +}); From 795b8d493914eb3b33d6b6e8661db225216a8598 Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 20:12:29 -0400 Subject: [PATCH 18/38] feat: launch Prime work agents through RPC (PAN-3668) --- src/lib/agents/runtime-command.ts | 31 ++++++++++++++ src/lib/launcher-generator.ts | 6 +++ .../unit/lib/agents/spawn-prime-agent.test.ts | 41 +++++++++++++++++++ 3 files changed, 78 insertions(+) create mode 100644 tests/unit/lib/agents/spawn-prime-agent.test.ts diff --git a/src/lib/agents/runtime-command.ts b/src/lib/agents/runtime-command.ts index fa9b9c4fd9d..0205072c2ee 100644 --- a/src/lib/agents/runtime-command.ts +++ b/src/lib/agents/runtime-command.ts @@ -30,10 +30,30 @@ import { capturePane, sessionExists } from '../tmux.js'; import { getAgentDir, getAgentStateSync, type Role } from './agent-state.js'; import { waitForReadySignal } from './identity.js'; import { CLI_PROXY_MODEL_ALIASES } from './provider-env.js'; +import { resolvePrimeAgentModelRoute } from '../prime-agent/provider-map.js'; +import { PRIME_AGENT_MANAGED_POLICY } from '../prime-agent/policy.js'; const execAsync = promisify(exec); const missingRoleDefinitionWarnings = new Set<string>(); +function quoteShell(value: string): string { + return `'${value.replace(/'/g, `'\\''`)}'`; +} + +export async function getPrimeAgentBaseCommand(agentId: string, model: string, workspace: string): Promise<string> { + const authMode = await getProviderAuthMode(model) ?? 'api-key'; + const route = resolvePrimeAgentModelRoute(model, authMode); + const sessionDir = join(getAgentDir(agentId), 'prime-sessions'); + await mkdir(sessionDir, { recursive: true, mode: 0o700 }); + return [ + 'prime-agent --mode rpc', + `--provider ${quoteShell(route.provider)}`, + `--model ${quoteShell(route.model)}`, + `--session-dir ${quoteShell(sessionDir)}`, + `--append-system-prompt ${quoteShell(PRIME_AGENT_MANAGED_POLICY)}`, + ].join(' '); +} + export interface RoleMcpServerDef { type?: string; command?: string; @@ -776,6 +796,12 @@ export async function getAgentRuntimeBaseCommand( // command; return a stub base command so the launcher generator can short-circuit. return 'kimi-code'; } + if (behavior.launchCommandKind === 'prime-agent-rpc') { + if (!agentName) throw new Error('prime-agent launcher requires an agent ID'); + const workspace = getAgentStateSync(agentName)?.workspace; + if (!workspace) throw new Error(`prime-agent launcher cannot resolve workspace for ${agentName}`); + return getPrimeAgentBaseCommand(agentName, validatedModel, workspace); + } // Integration tests can inject a harmless harness command so a leaked or // intentionally-real tmux session never runs the production `claude` binary. @@ -969,6 +995,11 @@ export async function getRoleRuntimeBaseCommand( // command; return a stub base command so the launcher generator can short-circuit. return 'kimi-code'; } + if (behavior.launchCommandKind === 'prime-agent-rpc') { + const workspace = getAgentStateSync(agentName)?.workspace; + if (!workspace) throw new Error(`prime-agent launcher cannot resolve workspace for ${agentName}`); + return getPrimeAgentBaseCommand(agentName, validatedModel, workspace); + } // Integration tests can inject a harmless harness command so a leaked or // intentionally-real tmux session never runs the production `claude` binary. diff --git a/src/lib/launcher-generator.ts b/src/lib/launcher-generator.ts index 3047cb7787a..bfb2baef0ac 100644 --- a/src/lib/launcher-generator.ts +++ b/src/lib/launcher-generator.ts @@ -470,6 +470,9 @@ function buildCommand(config: LauncherConfig): string[] { if (behavior.launchCommandKind === 'kimi-code-tui') { return buildKimiCodeCommand(config, false); } + if (behavior.launchCommandKind === 'prime-agent-rpc') { + return config.baseCommand ? [config.baseCommand] : []; + } // Conversation panel doesn't use exec — it runs the command then loops if (config.baseCommand) { @@ -564,6 +567,9 @@ function buildNonConversationCommand(config: LauncherConfig, useExec: boolean): if (behavior.launchCommandKind === 'kimi-code-tui') { return buildKimiCodeCommand(config, useExec); } + if (behavior.launchCommandKind === 'prime-agent-rpc') { + return config.baseCommand ? [`${useExec ? 'exec ' : ''}${config.baseCommand}`] : []; + } const parts: string[] = []; if (!config.baseCommand) return parts; diff --git a/tests/unit/lib/agents/spawn-prime-agent.test.ts b/tests/unit/lib/agents/spawn-prime-agent.test.ts new file mode 100644 index 00000000000..536ca973f62 --- /dev/null +++ b/tests/unit/lib/agents/spawn-prime-agent.test.ts @@ -0,0 +1,41 @@ +import { mkdtempSync } from 'node:fs'; +import { tmpdir } from 'node:os'; +import { join } from 'node:path'; +import { describe, expect, it, vi } from 'vitest'; + +vi.mock('../../../../src/lib/agents/agent-state.js', async (importOriginal) => { + const actual = await importOriginal<typeof import('../../../../src/lib/agents/agent-state.js')>(); + return { ...actual, getAgentDir: (id: string) => join(tmpdir(), id) }; +}); + +vi.mock('../../../../src/lib/agents.js', () => ({ + getAgentStateSync: () => null, + listAgentStates: () => [], +})); + +vi.mock('../../../../src/lib/config-yaml.js', () => ({ loadConfigSync: () => ({ config: { providerAuth: { openai: 'api-key' } } }) })); +vi.mock('../../../../src/lib/openai-auth.js', async () => { + const { Effect } = await import('effect'); + return { getOpenAIAuthStatus: () => Effect.succeed({ loggedIn: false }) }; +}); + +import { getPrimeAgentBaseCommand } from '../../../../src/lib/agents/runtime-command.js'; +import { generateLauncherScriptSync } from '../../../../src/lib/launcher-generator.js'; + +describe('Prime Agent work launch', () => { + it('assembles explicit RPC provider, model, session directory, and managed policy arguments', async () => { + const workspace = mkdtempSync(join(tmpdir(), 'prime-workspace-')); + const baseCommand = await getPrimeAgentBaseCommand('agent-pan-3668', 'gpt-5.4', workspace); + expect(baseCommand).toContain("prime-agent --mode rpc --provider 'openai' --model 'gpt-5.4'"); + expect(baseCommand).toContain("--session-dir '/tmp/agent-pan-3668/prime-sessions'"); + expect(baseCommand).toContain('--append-system-prompt'); + + const launcher = generateLauncherScriptSync({ role: 'work', workingDir: workspace, harness: 'prime-agent', baseCommand }); + expect(launcher).toContain('exec prime-agent --mode rpc'); + expect(launcher).not.toContain('exec claude'); + }); + + it('surfaces unsupported mapping without falling back to Claude Code', async () => { + await expect(getPrimeAgentBaseCommand('agent-pan-3668', 'ql-swift-8b', '/workspace')).rejects.toThrow('no fallback model was selected'); + }); +}); From b5d9ba1d0a774468c92e23a459f6c2d385c69d0d Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 20:14:03 -0400 Subject: [PATCH 19/38] refactor: extract Prime launch command builder (PAN-3668) --- src/lib/agents/provider-auth.ts | 30 +++++++++++++++++ src/lib/agents/runtime-command.ts | 47 +++------------------------ src/lib/prime-agent/launch-command.ts | 30 +++++++++++++++++ 3 files changed, 64 insertions(+), 43 deletions(-) create mode 100644 src/lib/agents/provider-auth.ts create mode 100644 src/lib/prime-agent/launch-command.ts diff --git a/src/lib/agents/provider-auth.ts b/src/lib/agents/provider-auth.ts new file mode 100644 index 00000000000..90fe5150944 --- /dev/null +++ b/src/lib/agents/provider-auth.ts @@ -0,0 +1,30 @@ +import { Effect } from 'effect'; +import { getClaudeAuthStatus } from '../claude-auth.js'; +import { loadConfigSync as loadYamlConfig } from '../config-yaml.js'; +import { getOpenAIAuthStatus } from '../openai-auth.js'; +import { getProviderForModelSync } from '../providers.js'; +import type { AuthMode } from '../subscription-types.js'; + +export async function getProviderAuthMode(model: string): Promise<AuthMode | undefined> { + const provider = getProviderForModelSync(model); + if (provider.name === 'anthropic') { + const authStatus = await Effect.runPromise(getClaudeAuthStatus()); + if (authStatus.hasAnthropicApiKey) return 'api-key'; + return authStatus.loggedIn ? 'subscription' : undefined; + } + + if (provider.name === 'openai') { + const { config } = loadYamlConfig(); + const authStatus = await Effect.runPromise(getOpenAIAuthStatus()); + return authStatus.loggedIn + ? 'subscription' + : (config.providerAuth?.openai ?? 'api-key'); + } + + if (provider.name === 'google') { + const { config } = loadYamlConfig(); + return config.providerAuth?.google; + } + + return undefined; +} diff --git a/src/lib/agents/runtime-command.ts b/src/lib/agents/runtime-command.ts index 0205072c2ee..64a757e47b7 100644 --- a/src/lib/agents/runtime-command.ts +++ b/src/lib/agents/runtime-command.ts @@ -13,7 +13,6 @@ import { getClaudePermissionFlagsStringSync } from '../claude-permissions.js'; import { loadConfigSync as loadYamlConfig } from '../config-yaml.js'; import type { RoleEffort } from '../config-yaml.js'; import { ensureSessionContextBriefingFile } from '../briefing-freshness.js'; -import { getClaudeAuthStatus } from '../claude-auth.js'; import { workspaceContextFile } from '../context-layers/layers.js'; import { materializeAcpContextFile } from '../acp/context.js'; import { getHarnessBehavior } from '../runtimes/behavior.js'; @@ -22,36 +21,22 @@ import { createOhmypiFifo, ohmypiFifoPaths, OhmypiNotReady, writeOhmypiCommandSy import { createPiFifo, piFifoPaths, PiNotReady, writePiCommandSync } from '../runtimes/pi-fifo.js'; import type { RuntimeName } from '../runtimes/types.js'; import { requireModelOverrideSync, shellQuoteModelIdSync } from '../model-validation.js'; -import { getOpenAIAuthStatus } from '../openai-auth.js'; import { getOverdeckHome, packageRoot, resolveOhmypiExtensionPath, resolvePiExtensionPath } from '../paths.js'; import { getProviderForModelSync, resolveKimiCodeModelAlias } from '../providers.js'; -import type { AuthMode } from '../subscription-types.js'; import { capturePane, sessionExists } from '../tmux.js'; import { getAgentDir, getAgentStateSync, type Role } from './agent-state.js'; import { waitForReadySignal } from './identity.js'; import { CLI_PROXY_MODEL_ALIASES } from './provider-env.js'; -import { resolvePrimeAgentModelRoute } from '../prime-agent/provider-map.js'; -import { PRIME_AGENT_MANAGED_POLICY } from '../prime-agent/policy.js'; +import { buildPrimeAgentBaseCommand } from '../prime-agent/launch-command.js'; +import { getProviderAuthMode } from './provider-auth.js'; +export { getProviderAuthMode } from './provider-auth.js'; const execAsync = promisify(exec); const missingRoleDefinitionWarnings = new Set<string>(); -function quoteShell(value: string): string { - return `'${value.replace(/'/g, `'\\''`)}'`; -} - export async function getPrimeAgentBaseCommand(agentId: string, model: string, workspace: string): Promise<string> { const authMode = await getProviderAuthMode(model) ?? 'api-key'; - const route = resolvePrimeAgentModelRoute(model, authMode); - const sessionDir = join(getAgentDir(agentId), 'prime-sessions'); - await mkdir(sessionDir, { recursive: true, mode: 0o700 }); - return [ - 'prime-agent --mode rpc', - `--provider ${quoteShell(route.provider)}`, - `--model ${quoteShell(route.model)}`, - `--session-dir ${quoteShell(sessionDir)}`, - `--append-system-prompt ${quoteShell(PRIME_AGENT_MANAGED_POLICY)}`, - ].join(' '); + return buildPrimeAgentBaseCommand({ agentId, model, workspace, authMode }); } export interface RoleMcpServerDef { @@ -734,30 +719,6 @@ export async function writeOhmypiAgentPrompt(agentId: string, prompt: string, ti } } -export async function getProviderAuthMode(model: string): Promise<AuthMode | undefined> { - const provider = getProviderForModelSync(model); - if (provider.name === 'anthropic') { - const authStatus = await Effect.runPromise(getClaudeAuthStatus()); - if (authStatus.hasAnthropicApiKey) return 'api-key'; - return authStatus.loggedIn ? 'subscription' : undefined; - } - - if (provider.name === 'openai') { - const { config } = loadYamlConfig(); - const authStatus = await Effect.runPromise(getOpenAIAuthStatus()); - return authStatus.loggedIn - ? 'subscription' - : (config.providerAuth?.openai ?? 'api-key'); - } - - if (provider.name === 'google') { - const { config } = loadYamlConfig(); - return config.providerAuth?.google; - } - - return undefined; -} - /** * Build the base command that the launcher will exec for an agent. * diff --git a/src/lib/prime-agent/launch-command.ts b/src/lib/prime-agent/launch-command.ts new file mode 100644 index 00000000000..b8626042fb1 --- /dev/null +++ b/src/lib/prime-agent/launch-command.ts @@ -0,0 +1,30 @@ +import { mkdir } from 'fs/promises'; +import { join } from 'path'; +import type { AuthMode } from '../subscription-types.js'; +import { getAgentDir } from '../agents/agent-state.js'; +import { PRIME_AGENT_MANAGED_POLICY } from './policy.js'; +import { resolvePrimeAgentModelRoute } from './provider-map.js'; + +function quoteShell(value: string): string { + return `'${value.replace(/'/g, `'\\''`)}'`; +} + +export interface PrimeAgentLaunchCommandOptions { + agentId: string; + model: string; + workspace: string; + authMode: AuthMode; +} + +export async function buildPrimeAgentBaseCommand(options: PrimeAgentLaunchCommandOptions): Promise<string> { + const route = resolvePrimeAgentModelRoute(options.model, options.authMode); + const sessionDir = join(getAgentDir(options.agentId), 'prime-sessions'); + await mkdir(sessionDir, { recursive: true, mode: 0o700 }); + return [ + 'prime-agent --mode rpc', + `--provider ${quoteShell(route.provider)}`, + `--model ${quoteShell(route.model)}`, + `--session-dir ${quoteShell(sessionDir)}`, + `--append-system-prompt ${quoteShell(PRIME_AGENT_MANAGED_POLICY)}`, + ].join(' '); +} From 6216792d9860258f13111b3e8eec7bc98ed52837 Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 20:17:27 -0400 Subject: [PATCH 20/38] feat: launch Prime supervised conversations (PAN-3668) --- src/lib/launcher-generator.ts | 2 +- src/lib/overdeck/conversation-harness.ts | 23 ++++++++++++ src/lib/overdeck/conversation-runtime.ts | 34 +++++++++--------- .../conversation-runtime-prime.test.ts | 35 +++++++++++++++++++ 4 files changed, 76 insertions(+), 18 deletions(-) create mode 100644 src/lib/overdeck/conversation-harness.ts create mode 100644 tests/unit/lib/overdeck/conversation-runtime-prime.test.ts diff --git a/src/lib/launcher-generator.ts b/src/lib/launcher-generator.ts index bfb2baef0ac..56fbfa00395 100644 --- a/src/lib/launcher-generator.ts +++ b/src/lib/launcher-generator.ts @@ -13,7 +13,7 @@ import { shellQuote } from './shell-quote.js'; export type LauncherSpawnMode = 'conversation' | 'remote' | 'resume'; -export type LauncherHarness = 'claude-code' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code'; +export type LauncherHarness = 'claude-code' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code' | 'prime-agent'; export interface LauncherConfig { role: Role; diff --git a/src/lib/overdeck/conversation-harness.ts b/src/lib/overdeck/conversation-harness.ts new file mode 100644 index 00000000000..06a87d5157e --- /dev/null +++ b/src/lib/overdeck/conversation-harness.ts @@ -0,0 +1,23 @@ +import { KNOWN_HARNESSES, type Harness } from '@overdeck/contracts'; +import { getPrimeAgentBaseCommand } from '../agents/runtime-command.js'; +import { resolveHarness } from '../harness-resolve.js'; +import type { RuntimeName } from '../runtimes/types.js'; + +function isHarness(value: unknown): value is Harness { + return typeof value === 'string' && KNOWN_HARNESSES.has(value); +} + +export async function resolveAllowedHarness(requested: unknown, model?: string | null): Promise<RuntimeName> { + if (!model) return 'claude-code'; + return resolveHarness({ model, explicit: isHarness(requested) ? requested : undefined }); +} + +export async function preparePrimeAgentConversationLaunch(tmuxSession: string, cwd: string, model: string): Promise<{ + runtimeCommand: string; + fields: { harness: 'prime-agent' }; +}> { + return { + runtimeCommand: await getPrimeAgentBaseCommand(tmuxSession, model, cwd), + fields: { harness: 'prime-agent' }, + }; +} diff --git a/src/lib/overdeck/conversation-runtime.ts b/src/lib/overdeck/conversation-runtime.ts index 3218ad6346f..a941ccaacb5 100644 --- a/src/lib/overdeck/conversation-runtime.ts +++ b/src/lib/overdeck/conversation-runtime.ts @@ -50,7 +50,6 @@ import { writeBridgeTokenSync } from '../bridge-token.js'; import { isClaudeCodeChannelsEnabled, loadConfigSync } from '../config-yaml.js'; import { writePtyToken } from '../pty-token.js'; import { canUseHarnessSync } from '../harness-policy.js'; -import { resolveHarness } from '../harness-resolve.js'; import { prepareHarnessLaunch } from '../harness-binary.js'; import { getProviderForModelSync, piProviderForModel, UnknownModelError } from '../providers.js'; import { getOhmypiCodexAuthStatus } from '../ohmypi-codex-auth.js'; @@ -71,6 +70,8 @@ import { cleanupConversationAttachments, cleanupUnreferencedConversationAttachme import { resolveCodexRolloutPath } from '../../dashboard/server/routes/jsonl-resolver.js'; import { sendConversationControlCommand, isPiControlChannelHarness, resolveConversationDeliveryMethod } from './conversation-delivery.js'; import { deliverResumeContractUnlessGated } from './resume-contract-delivery.js'; +import { preparePrimeAgentConversationLaunch, resolveAllowedHarness } from './conversation-harness.js'; +export { preparePrimeAgentConversationLaunch, resolveAllowedHarness } from './conversation-harness.js'; const execAsync = promisify(exec); const execFileAsync = promisify(execFile); const PROCESS_CLEANUP_GRACE_MS = 750; @@ -192,14 +193,6 @@ const PI_CONVERSATION_SOURCE_CONTRACT = [ "A message marked source:'extension' was injected by the Overdeck orchestrator or another agent, not typed by the human operator.", 'Treat it as coordination guidance; do not attribute it to the human operator.', ].join(' '); -export async function resolveAllowedHarness(requested: unknown, model?: string | null): Promise<RuntimeName> { - if (!model) return 'claude-code'; - const explicit: RuntimeName | undefined = - requested === 'ohmypi' || requested === 'claude-code' || requested === 'codex' || requested === 'acp' || requested === 'kimi-code' - ? requested - : undefined; - return resolveHarness({ model, explicit }); -} export async function isInsideGitWorkTree(dir: string): Promise<boolean> { try { const { stdout } = await execAsync('git rev-parse --is-inside-work-tree', { cwd: dir, encoding: 'utf-8' }); @@ -577,6 +570,7 @@ export async function spawnConversationSession( } | undefined; let acpFields: (ReturnType<typeof getAcpLauncherFields> & { resumeSessionId?: string }) | undefined; let kimiCodeFields: { harness: 'kimi-code'; kimiCodeModel: string; kimiCodeYolo: true; resumeSessionId?: string } | undefined; + let primeAgentFields: { harness: 'prime-agent' } | undefined; let codexTransport: 'app-server' | 'tui' | undefined; if (behavior.launchCommandKind === 'acp-host') { if (!model) throw new Error('ACP conversation requires a model'); @@ -595,10 +589,16 @@ export async function spawnConversationSession( if (!SAFE_MODEL_PATTERN.test(model)) { throw new Error('Invalid model name'); } - runtimeCommand = await getAgentRuntimeBaseCommand(model, undefined, undefined, harness); - const mode = resolvePermissionModeSync(); - if (!runtimeCommand.includes('--permission-mode')) { - runtimeCommand = `${runtimeCommand} --permission-mode ${mode === 'auto' ? 'auto' : BYPASS_PERMISSION_MODE}`; + if (behavior.launchCommandKind === 'prime-agent-rpc') { + const primeLaunch = await preparePrimeAgentConversationLaunch(tmuxSession, cwd, model); + runtimeCommand = primeLaunch.runtimeCommand; + primeAgentFields = primeLaunch.fields; + } else { + runtimeCommand = await getAgentRuntimeBaseCommand(model, undefined, undefined, harness); + const mode = resolvePermissionModeSync(); + if (!runtimeCommand.includes('--permission-mode')) { + runtimeCommand = `${runtimeCommand} --permission-mode ${mode === 'auto' ? 'auto' : BYPASS_PERMISSION_MODE}`; + } } providerExportsStr = (await getProviderExportsForModel(model, harness)).trim(); if (behavior.transcriptKind === 'ohmypi-jsonl') { @@ -749,7 +749,7 @@ export async function spawnConversationSession( workingDir: cwd, setTerminalEnv: true, unsetProviderEnv: true, - overdeckEnv: { ...(issueId ? { issueId } : {}), ...((piFields || codexFields || acpFields || useSupervisor) ? { agentId: tmuxSession } : {}) }, + overdeckEnv: { ...(issueId ? { issueId } : {}), ...((piFields || codexFields || acpFields || primeAgentFields || useSupervisor) ? { agentId: tmuxSession } : {}) }, extraEnvExports: [ harnessLaunch.pathExport, `export OVERDECK_DASHBOARD_URL="http://127.0.0.1:${process.env['API_PORT'] ?? process.env['PORT'] ?? '3011'}"`, @@ -759,15 +759,15 @@ export async function spawnConversationSession( baseCommand: runtimeCommand, appendSystemPromptFiles: piFields ? await piConversationSystemPromptFiles(cwd) - : codexFields || acpFields || kimiCodeFields + : codexFields || acpFields || kimiCodeFields || primeAgentFields ? [] : await claudeConversationSystemPromptFiles(cwd), model: launcherModel, - ...(piFields ?? codexFields ?? acpFields ?? kimiCodeFields ?? { + ...(piFields ?? codexFields ?? acpFields ?? kimiCodeFields ?? primeAgentFields ?? { resumeSessionId: resume ? claudeSessionId : undefined, sessionId: resume ? undefined : claudeSessionId, }), - extraArgs: !piFields && !acpFields && !kimiCodeFields && effort ? `--effort "${effort}"` : undefined, + extraArgs: !piFields && !acpFields && !kimiCodeFields && !primeAgentFields && effort ? `--effort "${effort}"` : undefined, keepAlive: true, fileMode: 0o700, channelsBridgeMcpConfig, diff --git a/tests/unit/lib/overdeck/conversation-runtime-prime.test.ts b/tests/unit/lib/overdeck/conversation-runtime-prime.test.ts new file mode 100644 index 00000000000..35b09c5830f --- /dev/null +++ b/tests/unit/lib/overdeck/conversation-runtime-prime.test.ts @@ -0,0 +1,35 @@ +import { beforeEach, describe, expect, it, vi } from 'vitest'; + +vi.mock('../../../../src/lib/agents/agent-state.js', () => ({ + getAgentDir: (agentId: string) => `/tmp/${agentId}`, + getAgentStateSync: vi.fn(), +})); +vi.mock('../../../../src/lib/openai-auth.js', async () => { + const { Effect } = await import('effect'); + return { getOpenAIAuthStatus: () => Effect.succeed({ loggedIn: false }) }; +}); +vi.mock('../../../../src/lib/config-yaml.js', async (importOriginal) => ({ + ...await importOriginal<typeof import('../../../../src/lib/config-yaml.js')>(), + loadConfigSync: () => ({ config: { providerAuth: { openai: 'api-key' } }, path: '/tmp/config.yaml' }), +})); + +const { preparePrimeAgentConversationLaunch, resolveAllowedHarness } = await import( + '../../../../src/lib/overdeck/conversation-runtime.js' +); + +describe('Prime Agent conversation launch', () => { + beforeEach(() => vi.clearAllMocks()); + + it('accepts an explicit Prime harness selection', async () => { + await expect(resolveAllowedHarness('prime-agent', 'gpt-5.4')).resolves.toBe('prime-agent'); + }); + + it('assembles a persistent managed RPC launch', async () => { + const launch = await preparePrimeAgentConversationLaunch('conv-prime', '/workspaces/project', 'gpt-5.4'); + expect(launch.fields).toEqual({ harness: 'prime-agent' }); + expect(launch.runtimeCommand).toContain("prime-agent --mode rpc --provider 'openai' --model 'gpt-5.4'"); + expect(launch.runtimeCommand).toContain("--session-dir '/tmp/conv-prime/prime-sessions'"); + expect(launch.runtimeCommand).toContain('--append-system-prompt'); + expect(launch.runtimeCommand).not.toContain('--permission-mode'); + }); +}); From ae77ca780c00d4f38ddfde19dacf6779f94c130e Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 20:22:18 -0400 Subject: [PATCH 21/38] feat: route Prime messages through RPC control (PAN-3668) --- src/lib/agents/delivery.ts | 4 +- src/lib/overdeck/conversation-delivery.ts | 6 +- src/lib/overdeck/conversation-message.ts | 2 +- src/lib/prime-agent/session-controller.ts | 61 +++++++++++++++++++++ tests/unit/lib/prime-agent/delivery.test.ts | 59 ++++++++++++++++++++ 5 files changed, 126 insertions(+), 6 deletions(-) create mode 100644 src/lib/prime-agent/session-controller.ts create mode 100644 tests/unit/lib/prime-agent/delivery.test.ts diff --git a/src/lib/agents/delivery.ts b/src/lib/agents/delivery.ts index 37b7e335441..eb4e222d0c6 100644 --- a/src/lib/agents/delivery.ts +++ b/src/lib/agents/delivery.ts @@ -31,7 +31,7 @@ import { export type DeliveryResult = { ok: boolean; - path: 'app-server' | 'acp' | 'supervisor' | 'channels' | 'tmux' | 'pi' | 'codex'; + path: 'app-server' | 'acp' | 'supervisor' | 'channels' | 'tmux' | 'pi' | 'codex' | 'prime-agent'; failure?: string; /** True when the delivery was suppressed by the keyed dedup record — the * side effect already happened on an earlier call with the same key. */ @@ -297,6 +297,7 @@ export async function deliverAgentMessage( resolvedMethod ??= 'auto'; } + if (state?.harness === 'prime-agent' || await import('../prime-agent/session-controller.js').then(({ hasPrimeAgentSession }) => hasPrimeAgentSession(normalizedId))) return import('../prime-agent/session-controller.js').then(({ deliverPrimeAgentMessage }) => deliverPrimeAgentMessage(normalizedId, message)).then(() => ({ ok: true, path: 'prime-agent' as const })); const isAcpTarget = state?.harness === 'acp'; if (isAcpTarget && resolvedMethod !== 'auto') { throw new Error( @@ -475,7 +476,6 @@ export async function deliverAgentMessage( await Effect.runPromise(sendKeys(normalizedId, message)); return { ok: true, path: 'tmux' }; } - /** * Keyed delivery cascade (PAN-2997). Only two tiers may carry a keyed * message, because only their crash-independent components enforce the key diff --git a/src/lib/overdeck/conversation-delivery.ts b/src/lib/overdeck/conversation-delivery.ts index 2710099f62d..51958a60a32 100644 --- a/src/lib/overdeck/conversation-delivery.ts +++ b/src/lib/overdeck/conversation-delivery.ts @@ -29,6 +29,7 @@ import { tmuxSessionExists } from './conversation-runtime.js'; import type { PendingAskUserQuestionSnapshot, PendingInputKind } from '../agent-enrichment.js'; import { getOverdeckHome } from '../paths.js'; import { BRIDGE_TOKEN_HEADER } from '../bridge-token.js'; +import { deliverPrimeAgentMessage } from '../prime-agent/session-controller.js'; export const CONTROL_ACK_TIMEOUT_MS = 10_000; @@ -264,7 +265,6 @@ type ConversationControlCommandInput = ControlCommand extends infer C const THINKING_LEVELS = ['off', 'minimal', 'low', 'medium', 'high', 'xhigh'] as const satisfies readonly ThinkingLevel[]; const PI_CONVERSATION_ABORT_KEY = 'Escape'; - export function isPiControlChannelHarness(harness: RuntimeName | 'pi'): boolean { return harness === 'ohmypi' || harness === 'pi'; } @@ -279,7 +279,6 @@ export function pickDeliverAs(bodyDeliverAs: unknown): ConversationControlDelive if (bodyDeliverAs === 'follow_up') return 'follow_up'; return 'steer'; } - export function resolveConversationDeliveryMethod(conv: Pick<Conversation, 'harness' | 'deliveryMethod'>): 'auto' | 'channels' | 'tmux' { const harness = conv.harness ?? 'claude-code'; if (harness === 'acp') return 'auto'; @@ -309,13 +308,14 @@ export async function sendConversationControlCommand( } export async function deliverConversationViaControlChannel( - conv: Pick<Conversation, 'tmuxSession'>, + conv: Pick<Conversation, 'tmuxSession' | 'harness'>, message: string, options: { source: 'operator' | 'orchestrator' deliverAs: ConversationControlDeliverAs }, ): Promise<void> { + if (conv.harness === 'prime-agent') return void await deliverPrimeAgentMessage(conv.tmuxSession, message, options.deliverAs); await sendConversationControlCommand(conv, { type: options.deliverAs, message, diff --git a/src/lib/overdeck/conversation-message.ts b/src/lib/overdeck/conversation-message.ts index c4dba01602e..f4533d10224 100644 --- a/src/lib/overdeck/conversation-message.ts +++ b/src/lib/overdeck/conversation-message.ts @@ -518,7 +518,7 @@ export async function handleConversationMessage( ); } - if (isPiControlChannelHarness(harness)) { + if (isPiControlChannelHarness(harness) || harness === 'prime-agent') { await deliverConversationViaControlChannel(conv, deliveredMessage, { source: 'operator', deliverAs: pickDeliverAs(body['deliverAs']), diff --git a/src/lib/prime-agent/session-controller.ts b/src/lib/prime-agent/session-controller.ts new file mode 100644 index 00000000000..6be951b3053 --- /dev/null +++ b/src/lib/prime-agent/session-controller.ts @@ -0,0 +1,61 @@ +import type { PrimeAgentRpcClient, PrimeAgentRpcResponse } from './rpc-client.js'; + +export interface PrimeAgentManagedSession { + client: Pick<PrimeAgentRpcClient, 'request'>; + terminate: () => Promise<void>; +} + +export interface PrimeAgentDeliveryReceipt { + accepted: true; + command: 'prompt' | 'steer' | 'follow_up'; +} + +const sessions = new Map<string, PrimeAgentManagedSession>(); + +export function hasPrimeAgentSession(agentId: string): boolean { + return sessions.has(agentId); +} + +export function registerPrimeAgentSession(agentId: string, session: PrimeAgentManagedSession): () => void { + sessions.set(agentId, session); + return () => { + if (sessions.get(agentId) === session) sessions.delete(agentId); + }; +} + +export function getPrimeAgentSession(agentId: string): PrimeAgentManagedSession { + const session = sessions.get(agentId); + if (!session) throw new Error(`MessageDeliveryFailed: Prime Agent RPC session is unavailable for ${agentId}`); + return session; +} + +export async function deliverPrimeAgentMessage( + agentId: string, + message: string, + preferred: 'prompt' | 'steer' | 'follow_up' = 'steer', +): Promise<PrimeAgentDeliveryReceipt> { + const session = getPrimeAgentSession(agentId); + const state = await session.client.request<{ isStreaming?: boolean }>({ type: 'get_state' }); + const command = state.data?.isStreaming + ? preferred === 'follow_up' ? 'follow_up' : 'steer' + : 'prompt'; + await session.client.request({ type: command, message }); + return { accepted: true, command }; +} + +export async function killPrimeAgentSession(agentId: string, graceMs = 1_000): Promise<void> { + const session = getPrimeAgentSession(agentId); + try { + await session.client.request({ type: 'abort' }); + } finally { + await new Promise(resolve => setTimeout(resolve, graceMs)); + await session.terminate(); + sessions.delete(agentId); + } +} + +export function clearPrimeAgentSessionsForTests(): void { + sessions.clear(); +} + +export type { PrimeAgentRpcResponse }; diff --git a/tests/unit/lib/prime-agent/delivery.test.ts b/tests/unit/lib/prime-agent/delivery.test.ts new file mode 100644 index 00000000000..0a241143d54 --- /dev/null +++ b/tests/unit/lib/prime-agent/delivery.test.ts @@ -0,0 +1,59 @@ +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; +import { + clearPrimeAgentSessionsForTests, + deliverPrimeAgentMessage, + killPrimeAgentSession, + registerPrimeAgentSession, +} from '../../../../src/lib/prime-agent/session-controller.js'; + +function session(streaming: boolean) { + const commands: Array<Record<string, unknown>> = []; + const terminate = vi.fn(async () => undefined); + registerPrimeAgentSession('agent-prime', { + client: { + request: vi.fn(async (command: Record<string, unknown>) => { + commands.push(command); + return { type: 'response', id: 'test', command: command.type, success: true, data: { isStreaming: streaming } }; + }), + }, + terminate, + }); + return { commands, terminate }; +} + +describe('Prime Agent managed delivery', () => { + beforeEach(() => { + clearPrimeAgentSessionsForTests(); + vi.useFakeTimers(); + }); + afterEach(() => vi.useRealTimers()); + + it('uses prompt when idle', async () => { + const target = session(false); + await expect(deliverPrimeAgentMessage('agent-prime', 'hello')).resolves.toEqual({ accepted: true, command: 'prompt' }); + expect(target.commands.map(command => command.type)).toEqual(['get_state', 'prompt']); + }); + + it.each(['steer', 'follow_up'] as const)('uses %s while streaming', async (preferred) => { + const target = session(true); + await expect(deliverPrimeAgentMessage('agent-prime', 'guidance', preferred)).resolves.toEqual({ accepted: true, command: preferred }); + expect(target.commands.map(command => command.type)).toEqual(['get_state', preferred]); + }); + + it('reports rejected and crashed sessions', async () => { + registerPrimeAgentSession('agent-prime', { + client: { request: vi.fn(async () => { throw new Error('process exited'); }) }, + terminate: vi.fn(async () => undefined), + }); + await expect(deliverPrimeAgentMessage('agent-prime', 'hello')).rejects.toThrow('process exited'); + }); + + it('aborts, waits a bounded grace period, and terminates', async () => { + const target = session(true); + const killed = killPrimeAgentSession('agent-prime', 500); + await vi.advanceTimersByTimeAsync(500); + await killed; + expect(target.commands.map(command => command.type)).toEqual(['abort']); + expect(target.terminate).toHaveBeenCalledOnce(); + }); +}); From 2ad13e565cb94a8b28d58115ca0601d688e6466e Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 20:24:04 -0400 Subject: [PATCH 22/38] feat: adapt Prime session transcripts (PAN-3668) --- .../conversations/prime-transcript-adapter.ts | 72 +++++++++++++++++++ src/lib/conversations/transcript-adapter.ts | 2 + tests/fixtures/prime-agent/session.jsonl | 7 ++ .../transcript-adapter-prime.test.ts | 38 ++++++++++ 4 files changed, 119 insertions(+) create mode 100644 src/lib/conversations/prime-transcript-adapter.ts create mode 100644 tests/fixtures/prime-agent/session.jsonl create mode 100644 tests/unit/lib/conversations/transcript-adapter-prime.test.ts diff --git a/src/lib/conversations/prime-transcript-adapter.ts b/src/lib/conversations/prime-transcript-adapter.ts new file mode 100644 index 00000000000..bbf01532c73 --- /dev/null +++ b/src/lib/conversations/prime-transcript-adapter.ts @@ -0,0 +1,72 @@ +import { existsSync } from 'node:fs'; +import { readdir, readFile } from 'node:fs/promises'; +import { join } from 'node:path'; +import { getOverdeckHome } from '../paths.js'; +import { summarizeSerializedText } from './smart-compaction.js'; +import type { ConversationTranscriptAdapter } from './transcript-adapter.js'; + +const DETAIL_LIMIT = 4_000; + +function bounded(value: unknown): string { + const text = typeof value === 'string' ? value : JSON.stringify(value); + if (!text) return ''; + return text.length > DETAIL_LIMIT ? `${text.slice(0, DETAIL_LIMIT)}…` : text; +} + +function serializePrimeRecord(record: Record<string, unknown>, includeThinking: boolean): string | undefined { + const message = record.message && typeof record.message === 'object' ? record.message as Record<string, unknown> : record; + const role = message.role; + const type = String(record.type ?? message.type ?? ''); + const content = message.content ?? record.content ?? record.text; + + if ((role === 'user' || type === 'user') && content !== undefined) return `[user]\n${bounded(content)}`; + if ((role === 'assistant' || type === 'assistant') && content !== undefined) return `[assistant]\n${bounded(content)}`; + if ((type === 'thinking' || type === 'reasoning') && includeThinking) return `[assistant]\n[thinking]\n${bounded(content ?? record.thinking)}`; + if (type === 'tool_call' || type === 'tool-call' || type === 'python') { + const name = bounded(record.name ?? record.tool ?? type); + return `[tool_use: ${name}]\n${bounded(record.arguments ?? record.input ?? record.code)}`; + } + if (type === 'tool_result' || type === 'tool-result') return `[tool]\n${bounded(record.result ?? record.output ?? content)}`; + if (type === 'compaction' || type === 'compact') return `[system]\n[compaction]\n${bounded(record.summary ?? content)}`; + if (type === 'error') return `[system]\n[error]\n${bounded(record.error ?? record.message ?? content)}`; + return undefined; +} + +export const primeAgentAdapter: ConversationTranscriptAdapter = { + name: 'prime-agent', + supportsPlainForkAsSource: false, + supportsSourceAuthoredHandoff: false, + + async resolveSessionFile(conv) { + const sessionDir = join(getOverdeckHome(), 'agents', conv.tmuxSession, 'prime-sessions'); + if (!existsSync(sessionDir)) return null; + const files = (await readdir(sessionDir)).filter(file => file.endsWith('.jsonl')).sort(); + return files.length ? join(sessionDir, files.at(-1)!) : null; + }, + + async serializeTranscript(sessionFile, options) { + const includeThinking = options?.includeThinking ?? true; + const records = (await readFile(sessionFile, 'utf8')).split('\n'); + const parts: string[] = []; + for (const line of records) { + if (!line.trim()) continue; + try { + const serialized = serializePrimeRecord(JSON.parse(line) as Record<string, unknown>, includeThinking); + if (serialized) parts.push(serialized); + } catch { /* Ignore partial trailing records. */ } + } + return parts.join('\n\n'); + }, + + async compactSummary(sessionFile, options) { + const serialized = await primeAgentAdapter.serializeTranscript(sessionFile, options); + if (!serialized.trim()) return { summary: '', summaryModel: null }; + const summary = await summarizeSerializedText(serialized, { + model: options?.model, + richMode: options?.richMode ?? false, + harness: options?.harness ?? 'claude-code', + timeoutMs: options?.timeoutMs, + }); + return { summary, summaryModel: options?.model ?? null }; + }, +}; diff --git a/src/lib/conversations/transcript-adapter.ts b/src/lib/conversations/transcript-adapter.ts index 66f2694f6de..a6c4e723ea6 100644 --- a/src/lib/conversations/transcript-adapter.ts +++ b/src/lib/conversations/transcript-adapter.ts @@ -38,6 +38,7 @@ import { generateSmartSummary, summarizeSerializedText, } from './smart-compaction.js'; +import { primeAgentAdapter } from './prime-transcript-adapter.js'; export interface CompactSummaryOptions { /** Model for the summarizer LLM. */ @@ -480,6 +481,7 @@ const REGISTRY: Partial<Record<RuntimeName, ConversationTranscriptAdapter>> = { 'codex': claudeCodeAdapter, 'acp': acpAdapter, 'kimi-code': kimiCodeAdapter, + 'prime-agent': primeAgentAdapter, }; /** diff --git a/tests/fixtures/prime-agent/session.jsonl b/tests/fixtures/prime-agent/session.jsonl new file mode 100644 index 00000000000..9fc2effaae9 --- /dev/null +++ b/tests/fixtures/prime-agent/session.jsonl @@ -0,0 +1,7 @@ +{"type":"user","content":"Run the analysis"} +{"type":"thinking","content":"I should inspect the data first"} +{"type":"assistant","content":"I will inspect it."} +{"type":"tool_call","name":"python","arguments":{"code":"print(42)"}} +{"type":"tool_result","result":"42"} +{"type":"compaction","summary":"Earlier analysis was compacted."} +{"type":"error","error":"Python process exited"} diff --git a/tests/unit/lib/conversations/transcript-adapter-prime.test.ts b/tests/unit/lib/conversations/transcript-adapter-prime.test.ts new file mode 100644 index 00000000000..7424e3ef899 --- /dev/null +++ b/tests/unit/lib/conversations/transcript-adapter-prime.test.ts @@ -0,0 +1,38 @@ +import { describe, expect, it } from 'vitest'; +import { fileURLToPath } from 'node:url'; +import { mkdtemp, rm, writeFile } from 'node:fs/promises'; +import { join } from 'node:path'; +import { tmpdir } from 'node:os'; +import { getTranscriptAdapter } from '../../../../src/lib/conversations/transcript-adapter.js'; + +const fixture = fileURLToPath(new URL('../../../fixtures/prime-agent/session.jsonl', import.meta.url)); + +describe('Prime Agent transcript adapter', () => { + it('is registered under the Prime harness', () => { + expect(getTranscriptAdapter('prime-agent').name).toBe('prime-agent'); + }); + + it('normalizes every durable Prime record kind', async () => { + const transcript = await getTranscriptAdapter('prime-agent').serializeTranscript(fixture); + expect(transcript).toContain('[user]\nRun the analysis'); + expect(transcript).toContain('[thinking]\nI should inspect the data first'); + expect(transcript).toContain('[assistant]\nI will inspect it.'); + expect(transcript).toContain('[tool_use: python]'); + expect(transcript).toContain('[tool]\n42'); + expect(transcript).toContain('[compaction]\nEarlier analysis was compacted.'); + expect(transcript).toContain('[error]\nPython process exited'); + }); + + it('bounds large tool output', async () => { + const dir = await mkdtemp(join(tmpdir(), 'prime-transcript-')); + const path = join(dir, 'session.jsonl'); + await writeFile(path, `${JSON.stringify({ type: 'tool_result', result: 'x'.repeat(20_000) })}\n`); + try { + const transcript = await getTranscriptAdapter('prime-agent').serializeTranscript(path); + expect(transcript.length).toBeLessThan(4_100); + expect(transcript).toMatch(/…$/); + } finally { + await rm(dir, { recursive: true, force: true }); + } + }); +}); From 4d180b753d77ced23f56ef68c17b8943a2183412 Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 20:25:51 -0400 Subject: [PATCH 23/38] feat: map Prime usage and costs (PAN-3668) --- src/lib/cost-parsers/prime-agent-parser.ts | 57 +++++++++++++++++++ src/lib/overdeck/cost.ts | 6 +- .../cost-parsers/prime-agent-parser.test.ts | 25 ++++++++ 3 files changed, 85 insertions(+), 3 deletions(-) create mode 100644 src/lib/cost-parsers/prime-agent-parser.ts create mode 100644 tests/unit/lib/cost-parsers/prime-agent-parser.test.ts diff --git a/src/lib/cost-parsers/prime-agent-parser.ts b/src/lib/cost-parsers/prime-agent-parser.ts new file mode 100644 index 00000000000..11aed957b75 --- /dev/null +++ b/src/lib/cost-parsers/prime-agent-parser.ts @@ -0,0 +1,57 @@ +export interface PrimeAgentUsageInput { + input?: number; + output?: number; + cacheRead?: number; + cacheWrite?: number; + total?: number; + cost?: number; + contextWindow?: number; +} + +export interface PrimeAgentUsageRecord extends PrimeAgentUsageInput { + contextPercent?: number; +} + +function finite(value: unknown): number | undefined { + return typeof value === 'number' && Number.isFinite(value) ? value : undefined; +} + +export function mapPrimeAgentSessionStats(stats: Record<string, unknown>): PrimeAgentUsageRecord { + const tokens = stats.tokens && typeof stats.tokens === 'object' ? stats.tokens as Record<string, unknown> : stats; + const input = finite(tokens.input ?? tokens.inputTokens); + const output = finite(tokens.output ?? tokens.outputTokens); + const cacheRead = finite(tokens.cacheRead ?? tokens.cache_read ?? tokens.cacheReadTokens); + const cacheWrite = finite(tokens.cacheWrite ?? tokens.cache_write ?? tokens.cacheWriteTokens); + const total = finite(tokens.total ?? tokens.totalTokens); + const cost = finite(stats.cost ?? stats.totalCost); + const contextWindow = finite(stats.contextWindow ?? stats.context_window); + const contextUsed = finite(stats.contextUsed ?? stats.context_used) ?? (input !== undefined && output !== undefined ? input + output : undefined); + return { + ...(input !== undefined ? { input } : {}), + ...(output !== undefined ? { output } : {}), + ...(cacheRead !== undefined ? { cacheRead } : {}), + ...(cacheWrite !== undefined ? { cacheWrite } : {}), + ...(total !== undefined ? { total } : {}), + ...(cost !== undefined ? { cost } : {}), + ...(contextWindow !== undefined ? { contextWindow } : {}), + ...(contextWindow && contextUsed !== undefined ? { contextPercent: contextUsed / contextWindow * 100 } : {}), + }; +} + +export function parsePrimeAgentSessionContent(content: string): PrimeAgentUsageRecord { + const totals: PrimeAgentUsageRecord = {}; + for (const line of content.split('\n')) { + if (!line.trim()) continue; + try { + const record = JSON.parse(line) as Record<string, unknown>; + if (record.type !== 'assistant' && record.type !== 'session_stats') continue; + const mapped = mapPrimeAgentSessionStats(record.usage && typeof record.usage === 'object' ? record.usage as Record<string, unknown> : record); + for (const key of ['input', 'output', 'cacheRead', 'cacheWrite', 'total', 'cost'] as const) { + if (mapped[key] !== undefined) totals[key] = (totals[key] ?? 0) + mapped[key]!; + } + if (mapped.contextWindow !== undefined) totals.contextWindow = mapped.contextWindow; + if (mapped.contextPercent !== undefined) totals.contextPercent = mapped.contextPercent; + } catch { /* Ignore partial trailing records. */ } + } + return totals; +} diff --git a/src/lib/overdeck/cost.ts b/src/lib/overdeck/cost.ts index 8daf4768189..6872fa03b3e 100644 --- a/src/lib/overdeck/cost.ts +++ b/src/lib/overdeck/cost.ts @@ -508,7 +508,7 @@ export class CostWriter extends Context.Service< readonly record: (event: CostEvent, opts?: { dryRun?: boolean }) => Effect.Effect<boolean, CostIngestError>; // Catch-up sweep (PAN-1935: pi/codex sweep lands here) readonly reconcile: (opts?: { - source?: 'claude' | 'ohmypi' | 'codex' | 'acp' | 'wal'; + source?: 'claude' | 'ohmypi' | 'codex' | 'acp' | 'prime_agent' | 'wal'; dryRun?: boolean; extraRoots?: string[]; extraRootSpecs?: CostReconcileExtraRoot[]; @@ -597,7 +597,7 @@ export const CostWriterLive = Layer.effect( // OVERDECK_HOME/agents/<id>/codex-home/sessions/**/*.jsonl (codex), // parses each with the existing parsers, and feeds into record() (which deduplicates). const reconcile = (opts?: { - source?: 'claude' | 'ohmypi' | 'codex' | 'acp' | 'wal'; + source?: 'claude' | 'ohmypi' | 'codex' | 'acp' | 'prime_agent' | 'wal'; dryRun?: boolean; extraRoots?: string[]; extraRootSpecs?: CostReconcileExtraRoot[]; @@ -948,7 +948,7 @@ export const CostApi = HttpApiGroup.make('costs') .add( HttpApiEndpoint.post('reconcile', '/costs/reconcile', { payload: Schema.Struct({ - source: Schema.optional(Schema.Literals(['claude', 'ohmypi', 'codex', 'acp', 'wal'])), + source: Schema.optional(Schema.Literals(['claude', 'ohmypi', 'codex', 'acp', 'prime_agent', 'wal'])), dryRun: Schema.optional(Schema.Boolean), extraRoots: Schema.optional(Schema.Array(Schema.String)), }), diff --git a/tests/unit/lib/cost-parsers/prime-agent-parser.test.ts b/tests/unit/lib/cost-parsers/prime-agent-parser.test.ts new file mode 100644 index 00000000000..6156a0e6d8a --- /dev/null +++ b/tests/unit/lib/cost-parsers/prime-agent-parser.test.ts @@ -0,0 +1,25 @@ +import { describe, expect, it } from 'vitest'; +import { mapPrimeAgentSessionStats, parsePrimeAgentSessionContent } from '../../../../src/lib/cost-parsers/prime-agent-parser.js'; + +describe('Prime Agent cost parser', () => { + it('maps complete session statistics', () => { + expect(mapPrimeAgentSessionStats({ + tokens: { input: 800, output: 200, cacheRead: 100, cacheWrite: 50, total: 1_150 }, + cost: 0.12, + contextWindow: 4_000, + contextUsed: 1_000, + })).toEqual({ input: 800, output: 200, cacheRead: 100, cacheWrite: 50, total: 1_150, cost: 0.12, contextWindow: 4_000, contextPercent: 25 }); + }); + + it('does not invent omitted fields', () => { + expect(mapPrimeAgentSessionStats({ tokens: { output: 12 } })).toEqual({ output: 12 }); + }); + + it('accepts cache-token variants and durable assistant usage', () => { + const parsed = parsePrimeAgentSessionContent([ + JSON.stringify({ type: 'assistant', usage: { inputTokens: 20, outputTokens: 5, cache_read: 8 } }), + JSON.stringify({ type: 'assistant', usage: { input: 10, output: 2, cacheWriteTokens: 3, cost: 0.01 } }), + ].join('\n')); + expect(parsed).toEqual({ input: 30, output: 7, cacheRead: 8, cacheWrite: 3, cost: 0.01 }); + }); +}); From ea1160d58f2515d2465ea6fa2f65756218d79600 Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 20:28:37 -0400 Subject: [PATCH 24/38] feat: render Prime managed context (PAN-3668) --- src/lib/context-layers/harness.ts | 5 ++-- src/lib/context-layers/index.ts | 1 + src/lib/context-layers/layers.ts | 5 ++++ src/lib/context-layers/rendered-global.ts | 10 +++++++ src/lib/prime-agent/launch-command.ts | 8 ++++- src/lib/sync.ts | 30 +++++++++---------- tests/lib/context-layers/harness.test.ts | 6 ++++ .../lib/context-layers/prime-agent.test.ts | 12 ++++++++ 8 files changed, 59 insertions(+), 18 deletions(-) create mode 100644 src/lib/context-layers/rendered-global.ts create mode 100644 tests/unit/lib/context-layers/prime-agent.test.ts diff --git a/src/lib/context-layers/harness.ts b/src/lib/context-layers/harness.ts index 2a47edf9490..b6c60308cba 100644 --- a/src/lib/context-layers/harness.ts +++ b/src/lib/context-layers/harness.ts @@ -24,7 +24,7 @@ import type { Harness } from '@overdeck/contracts'; /** Short marker name used in `{{#harness:<name>}}` blocks. */ -export type HarnessMarker = 'claude' | 'pi' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code'; +export type HarnessMarker = 'claude' | 'pi' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code' | 'prime-agent'; /** Maps a Overdeck {@link Harness} to its templating marker name. */ export const HARNESS_MARKERS: Record<Harness, HarnessMarker> = { @@ -33,10 +33,11 @@ export const HARNESS_MARKERS: Record<Harness, HarnessMarker> = { codex: 'codex', acp: 'acp', 'kimi-code': 'kimi-code', + 'prime-agent': 'prime-agent', }; /** Marker names Overdeck ships an adapter for in v1. */ -export const KNOWN_HARNESS_MARKERS: ReadonlySet<string> = new Set<HarnessMarker>(['claude', 'pi', 'ohmypi', 'codex', 'acp', 'kimi-code']); +export const KNOWN_HARNESS_MARKERS: ReadonlySet<string> = new Set<HarnessMarker>(['claude', 'pi', 'ohmypi', 'codex', 'acp', 'kimi-code', 'prime-agent']); /** Matches an open `{{#harness:x}}` or close `{{/harness:x}}` marker. */ const MARKER_RE = /\{\{([#/])harness:([a-zA-Z0-9_-]+)\}\}/g; diff --git a/src/lib/context-layers/index.ts b/src/lib/context-layers/index.ts index 41052bcf0e8..355e9e10d22 100644 --- a/src/lib/context-layers/index.ts +++ b/src/lib/context-layers/index.ts @@ -34,6 +34,7 @@ export { resolveWorkspaceContextFile, piGlobalContextFile, codexGlobalContextFile, + primeAgentGlobalContextFile, GLOBAL_STARTER, PROJECT_STARTER, globalLayer, diff --git a/src/lib/context-layers/layers.ts b/src/lib/context-layers/layers.ts index 24034fc4e70..bcd3d5d9eb1 100644 --- a/src/lib/context-layers/layers.ts +++ b/src/lib/context-layers/layers.ts @@ -104,6 +104,11 @@ export function codexGlobalContextFile(): string { return join(getOverdeckHome(), 'context', 'codex-global.md'); } +/** `~/.overdeck/context/prime-agent-global.md` — supplemental Prime context. */ +export function primeAgentGlobalContextFile(): string { + return join(getOverdeckHome(), 'context', 'prime-agent-global.md'); +} + // ─── Starter templates ──────────────────────────────────────────────────── /** Seeded into `global.md` by `pan install` / first `pan sync`. */ diff --git a/src/lib/context-layers/rendered-global.ts b/src/lib/context-layers/rendered-global.ts new file mode 100644 index 00000000000..d5626fbe2e3 --- /dev/null +++ b/src/lib/context-layers/rendered-global.ts @@ -0,0 +1,10 @@ +import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs'; +import { dirname } from 'path'; + +export function writeRenderedGlobalContext(file: string, content: string): boolean { + const existing = existsSync(file) ? readFileSync(file, 'utf-8') : ''; + if (content.trim() === existing.trim()) return false; + mkdirSync(dirname(file), { recursive: true }); + writeFileSync(file, `${content.trim()}\n`, 'utf-8'); + return true; +} diff --git a/src/lib/prime-agent/launch-command.ts b/src/lib/prime-agent/launch-command.ts index b8626042fb1..71d3b165c20 100644 --- a/src/lib/prime-agent/launch-command.ts +++ b/src/lib/prime-agent/launch-command.ts @@ -4,6 +4,8 @@ import type { AuthMode } from '../subscription-types.js'; import { getAgentDir } from '../agents/agent-state.js'; import { PRIME_AGENT_MANAGED_POLICY } from './policy.js'; import { resolvePrimeAgentModelRoute } from './provider-map.js'; +import { primeAgentGlobalContextFile, resolveWorkspaceContextFile } from '../context-layers/layers.js'; +import { existsSync, readFileSync } from 'fs'; function quoteShell(value: string): string { return `'${value.replace(/'/g, `'\\''`)}'`; @@ -20,11 +22,15 @@ export async function buildPrimeAgentBaseCommand(options: PrimeAgentLaunchComman const route = resolvePrimeAgentModelRoute(options.model, options.authMode); const sessionDir = join(getAgentDir(options.agentId), 'prime-sessions'); await mkdir(sessionDir, { recursive: true, mode: 0o700 }); + const context = [primeAgentGlobalContextFile(), resolveWorkspaceContextFile(options.workspace)] + .filter(existsSync) + .map(file => readFileSync(file, 'utf8')) + .join('\n\n'); return [ 'prime-agent --mode rpc', `--provider ${quoteShell(route.provider)}`, `--model ${quoteShell(route.model)}`, `--session-dir ${quoteShell(sessionDir)}`, - `--append-system-prompt ${quoteShell(PRIME_AGENT_MANAGED_POLICY)}`, + `--append-system-prompt ${quoteShell([PRIME_AGENT_MANAGED_POLICY, context].filter(Boolean).join('\n\n'))}`, ].join(' '); } diff --git a/src/lib/sync.ts b/src/lib/sync.ts index f4c262b775a..b4bf5151eef 100644 --- a/src/lib/sync.ts +++ b/src/lib/sync.ts @@ -28,8 +28,10 @@ import { type LegacyBeadsCleanup, piGlobalContextFile, codexGlobalContextFile, + primeAgentGlobalContextFile, } from './context-layers/index.js'; import { backupFileSync, createBackupTimestamp } from './backup.js'; +import { writeRenderedGlobalContext } from './context-layers/rendered-global.js'; export { isStartupSyncNeededSync, writeSyncManifestSync } from './sync-startup-gate.js'; export interface SyncItem { name: string; @@ -565,6 +567,7 @@ export interface ContextLayerSyncResult { piGlobalWritten: boolean; /** True when ~/.overdeck/context/codex-global.md was written this run. */ codexGlobalWritten: boolean; + primeAgentGlobalWritten: boolean; firstInjections: ContextFirstInjection[]; legacyBeadsCleanups: LegacyBeadsCleanup[]; errors: string[]; @@ -611,6 +614,7 @@ export function syncContextLayersSync(): ContextLayerSyncResult { projectsWritten: [], piGlobalWritten: false, codexGlobalWritten: false, + primeAgentGlobalWritten: false, firstInjections: [], legacyBeadsCleanups: [], errors: [], @@ -634,32 +638,28 @@ export function syncContextLayersSync(): ContextLayerSyncResult { try { const piManaged = renderGlobalLayer('ohmypi', isDevMode()); const piGlobalFile = piGlobalContextFile(); - const existingPi = existsSync(piGlobalFile) ? readFileSync(piGlobalFile, 'utf-8') : ''; - if (piManaged.trim() !== existingPi.trim()) { - mkdirSync(dirname(piGlobalFile), { recursive: true }); - writeFileSync(piGlobalFile, piManaged.trim() + '\n', 'utf-8'); - result.piGlobalWritten = true; - } + result.piGlobalWritten = writeRenderedGlobalContext(piGlobalFile, piManaged); } catch (err: any) { result.errors.push(`pi-global: ${err?.message ?? err}`); } - // PAN-1574: Global layer → ~/.overdeck/context/codex-global.md - // This static file is copied into each agent's CODEX_HOME/AGENTS.md at spawn time - // by initCodexHome(), keeping Codex context isolated from the project-root AGENTS.md. + // PAN-1574: Global layer → ~/.overdeck/context/codex-global.md. try { const codexManaged = renderGlobalLayer('codex', isDevMode()); const codexGlobalFile = codexGlobalContextFile(); - const existingCodex = existsSync(codexGlobalFile) ? readFileSync(codexGlobalFile, 'utf-8') : ''; - if (codexManaged.trim() !== existingCodex.trim()) { - mkdirSync(dirname(codexGlobalFile), { recursive: true }); - writeFileSync(codexGlobalFile, codexManaged.trim() + '\n', 'utf-8'); - result.codexGlobalWritten = true; - } + result.codexGlobalWritten = writeRenderedGlobalContext(codexGlobalFile, codexManaged); } catch (err: any) { result.errors.push(`codex-global: ${err?.message ?? err}`); } + try { + const managed = renderGlobalLayer('prime-agent', isDevMode()); + const file = primeAgentGlobalContextFile(); + result.primeAgentGlobalWritten = writeRenderedGlobalContext(file, managed); + } catch (err: any) { + result.errors.push(`prime-agent-global: ${err?.message ?? err}`); + } + // PAN-1837 (D6): kimi-code intentionally gets no dedicated global render file here — // it reads the shared AGENTS.md layer natively via ~/.agents/skills discovery, same as acp. // PAN-1837 review fix: AGENTS.md itself must therefore render as the UNION of every diff --git a/tests/lib/context-layers/harness.test.ts b/tests/lib/context-layers/harness.test.ts index bb182c19d30..aa95a69970e 100644 --- a/tests/lib/context-layers/harness.test.ts +++ b/tests/lib/context-layers/harness.test.ts @@ -6,6 +6,12 @@ import { describe, it, expect } from 'vitest'; import { renderForHarness, validateTemplate } from '../../../src/lib/context-layers/harness.js'; describe('renderForHarness', () => { + it('keeps Prime-only blocks only for Prime Agent', () => { + const source = 'shared\n{{#harness:prime-agent}}prime only{{/harness:prime-agent}}\n'; + expect(renderForHarness(source, 'prime-agent')).toContain('prime only'); + expect(renderForHarness(source, 'claude-code')).not.toContain('prime only'); + expect(validateTemplate(source).issues).toEqual([]); + }); it('keeps always-on content for every harness', () => { expect(renderForHarness('Always here.', 'claude-code')).toBe('Always here.'); expect(renderForHarness('Always here.', 'ohmypi')).toBe('Always here.'); diff --git a/tests/unit/lib/context-layers/prime-agent.test.ts b/tests/unit/lib/context-layers/prime-agent.test.ts new file mode 100644 index 00000000000..afddc2c3af1 --- /dev/null +++ b/tests/unit/lib/context-layers/prime-agent.test.ts @@ -0,0 +1,12 @@ +import { describe, expect, it, vi } from 'vitest'; + +vi.mock('../../../../src/lib/paths.js', () => ({ getOverdeckHome: () => '/tmp/overdeck-prime-context' })); + +describe('Prime Agent context artifact', () => { + it('uses an Overdeck-owned path outside ~/.prime/agent', async () => { + const { primeAgentGlobalContextFile } = await import('../../../../src/lib/context-layers/layers.js'); + const path = primeAgentGlobalContextFile(); + expect(path).toBe('/tmp/overdeck-prime-context/context/prime-agent-global.md'); + expect(path).not.toContain('/.prime/agent'); + }); +}); From 5e9185cda594a6dec871a2fbfb1887fdb0176f05 Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 20:31:11 -0400 Subject: [PATCH 25/38] feat: project Prime sessions in dashboard APIs (PAN-3668) --- src/dashboard/server/routes/command-deck.ts | 6 ++--- src/dashboard/server/routes/projects.ts | 4 ++-- .../services/runtime-session-projection.ts | 23 ++++++++++++++++++ .../runtime-session-projection.test.ts | 24 +++++++++++++++++++ 4 files changed, 52 insertions(+), 5 deletions(-) create mode 100644 src/dashboard/server/services/runtime-session-projection.ts create mode 100644 tests/unit/dashboard/runtime-session-projection.test.ts diff --git a/src/dashboard/server/routes/command-deck.ts b/src/dashboard/server/routes/command-deck.ts index f6d7a91b9b5..0df6ad5052a 100644 --- a/src/dashboard/server/routes/command-deck.ts +++ b/src/dashboard/server/routes/command-deck.ts @@ -66,6 +66,7 @@ import { resolveJsonlPath } from './jsonl-resolver.js'; import { buildReviewerNodes, readSynthesisRounds, type ReviewerRoundMetadata } from './reviewer-tree.js'; import { PAN_CONTINUE_FILENAME, PAN_DIRNAME } from '../../../lib/pan-dir/types.js'; import { isPlanningComplete, readWorkspacePlan } from '../../../lib/xbrief/io.js'; +import { projectRuntimeSession } from '../services/runtime-session-projection.js'; const execAsync = promisify(exec); const execFileAsync = promisify(execFile); @@ -270,6 +271,7 @@ export async function fetchActivityDataWithContext( roundMetadata?: ReviewerRoundMetadata; modelOrigin?: ModelOriginData; planningComplete?: boolean; + [key: string]: unknown; }> = []; // Shared workspace path for JSONL resolution (PAN-821) @@ -339,10 +341,7 @@ export async function fetchActivityDataWithContext( : null; const agentSnapshot = context.agentSnapshotsById?.get(checkId); - // Resolve JSONL path for conversation rendering (PAN-821) const jsonlPath = await resolveJsonlPath(checkId, workspacePath); - - // Only expose interactive terminal for work/planning/strike sessions (PAN-821 review) const exposeInteractiveTerminal = sectionType === 'work' || sectionType === 'planning' || sectionType === 'strike'; // Terminal-end signal: endedAt is populated only when the session has @@ -381,6 +380,7 @@ export async function fetchActivityDataWithContext( hasJsonl: !!jsonlPath, tmuxSession: exposeInteractiveTerminal ? checkId : undefined, planningComplete: sectionType === 'planning' ? planningFinished : undefined, + ...projectRuntimeSession(checkId, state.harness), }); } catch { /* skip malformed state */ } } diff --git a/src/dashboard/server/routes/projects.ts b/src/dashboard/server/routes/projects.ts index 90ba3297d01..45377ef3aba 100644 --- a/src/dashboard/server/routes/projects.ts +++ b/src/dashboard/server/routes/projects.ts @@ -72,7 +72,7 @@ import { findSpecByIssue } from '../../../lib/pan-dir/specs.js'; import { getOverdeckHome } from '../../../lib/paths.js'; import { parseIssueIdFromTextSync } from '../../../lib/resource-utils.js'; import { isDiscoverableAgentSession } from '../services/resource-discovery.js'; - +import { projectRuntimeSession } from '../services/runtime-session-projection.js'; // ─── Shared IssueDataService (via singleton) ──────────────────────────────── async function getIssueDataService(): Promise<IssueDataService> { @@ -295,7 +295,7 @@ async function collectSessionTreeNodes( awaitingInputReason: awaitingInput?.reason, pendingInputKinds: context.agentSnapshotsById?.get(checkId)?.pendingInputKinds, hasJsonl: !!jsonlPath, - harness: state.harness, + ...projectRuntimeSession(checkId, state.harness), deliveryMethod: state.deliveryMethod, planningComplete: isPlanning ? planningFinished : undefined, ...await readSessionGateFields(checkId, state), diff --git a/src/dashboard/server/services/runtime-session-projection.ts b/src/dashboard/server/services/runtime-session-projection.ts new file mode 100644 index 00000000000..71342c75bb6 --- /dev/null +++ b/src/dashboard/server/services/runtime-session-projection.ts @@ -0,0 +1,23 @@ +import type { RuntimeName, TokenUsage } from '../../../lib/runtimes/types.js'; +import { getGlobalRegistry } from '../../../lib/runtimes/index.js'; + +export interface RuntimeSessionProjection { + harness: RuntimeName; + lastActivity?: string; + tokenUsage?: TokenUsage; + cost?: number; +} + +export function projectRuntimeSession(agentId: string, harness: RuntimeName): RuntimeSessionProjection { + const runtime = getGlobalRegistry().get(harness); + if (!runtime) return { harness }; + const lastActivity = runtime.getLastActivity(agentId); + const tokenUsage = runtime.getTokenUsage(agentId); + const cost = runtime.getSessionCost(agentId)?.totalCost; + return { + harness, + ...(lastActivity ? { lastActivity: lastActivity.toISOString() } : {}), + ...(tokenUsage ? { tokenUsage } : {}), + ...(cost !== undefined ? { cost } : {}), + }; +} diff --git a/tests/unit/dashboard/runtime-session-projection.test.ts b/tests/unit/dashboard/runtime-session-projection.test.ts new file mode 100644 index 00000000000..8581f84c5ba --- /dev/null +++ b/tests/unit/dashboard/runtime-session-projection.test.ts @@ -0,0 +1,24 @@ +import { describe, expect, it, vi } from 'vitest'; + +vi.mock('../../../src/lib/runtimes/index.js', () => ({ + getGlobalRegistry: () => ({ + get: (harness: string) => harness === 'prime-agent' ? { + getLastActivity: () => new Date('2026-08-12T20:00:00.000Z'), + getTokenUsage: () => ({ inputTokens: 10, outputTokens: 2, cacheReadTokens: 3 }), + getSessionCost: () => ({ totalCost: 0.04 }), + } : undefined, + }), +})); + +const { projectRuntimeSession } = await import('../../../src/dashboard/server/services/runtime-session-projection.js'); + +describe('dashboard runtime session projection', () => { + it('projects Prime identity, activity, usage, and cost through the runtime adapter', () => { + expect(projectRuntimeSession('agent-pan-3668', 'prime-agent')).toEqual({ + harness: 'prime-agent', + lastActivity: '2026-08-12T20:00:00.000Z', + tokenUsage: { inputTokens: 10, outputTokens: 2, cacheReadTokens: 3 }, + cost: 0.04, + }); + }); +}); From 5839e411d5b673e5cfa2c80ad05e97df0ad59553 Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 20:33:34 -0400 Subject: [PATCH 26/38] docs: document managed Prime harness setup (PAN-3668) --- configuration/context-layers.mdx | 4 +++- configuration/harnesses.mdx | 36 +++++++++++++++++++++++++++++++- docs/HARNESSES.md | 2 +- docs/MODEL_ROUTING.md | 9 ++++++++ 4 files changed, 48 insertions(+), 3 deletions(-) diff --git a/configuration/context-layers.mdx b/configuration/context-layers.mdx index 2496371d94b..af1afb883c9 100644 --- a/configuration/context-layers.mdx +++ b/configuration/context-layers.mdx @@ -83,6 +83,7 @@ harness; spawn-time plumbing delivers it: | **Claude Code** | managed region of `~/.claude/CLAUDE.md` | Claude Code natively reads `~/.claude/CLAUDE.md` at session start | | **Codex** | `~/.overdeck/context/codex-global.md` | At spawn, Overdeck seeds the agent's `$CODEX_HOME/AGENTS.md` from this file — Codex natively reads `AGENTS.md`, never the render artifact itself | | **Pi** | `~/.overdeck/context/pi-global.md` | Injected into the session's system-prompt context at spawn. Pi does natively support a global `~/.pi/agent/AGENTS.md`; Overdeck deliberately does not write there — the global layer is delivered per-spawn instead, leaving `~/.pi/agent/` entirely yours | +| **Prime Agent** | `~/.overdeck/context/prime-agent-global.md` | Injected into the root RPC session's supplemental system prompt at spawn; Overdeck never writes `~/.prime/agent` | The `pi-global.md` / `codex-global.md` files are **Overdeck-owned render artifacts** — the harnesses do not know about them. They exist so the global @@ -133,7 +134,8 @@ Write completion markers via `/pan-done` when ready for review. {{/harness:pi}} ``` -Blocks may be stacked to target several harnesses; `{{#harness:codex}}` is +Use `{{#harness:prime-agent}}...{{/harness:prime-agent}}` for Prime-only +content. Blocks may be stacked to target several harnesses; `{{#harness:codex}}` is also recognized. ## CLI diff --git a/configuration/harnesses.mdx b/configuration/harnesses.mdx index ae636054363..379ad43e16f 100644 --- a/configuration/harnesses.mdx +++ b/configuration/harnesses.mdx @@ -12,7 +12,7 @@ that runs in tmux. The **model** is what the binary calls. They are picked independently per spawn. <Info> -**Supported today:** `claude-code` (default), `ohmypi`, `codex`, `acp`, and `kimi-code`. For the wider +**Supported today:** `claude-code` (default), `ohmypi`, `codex`, `acp`, `kimi-code`, and `prime-agent`. For the wider field of coding-agent harnesses Overdeck could adopt next — and how each one handles skills, MCP, and AGENTS.md — see the [Harness Landscape](/reference/harness-landscape). </Info> @@ -24,6 +24,7 @@ skills, MCP, and AGENTS.md — see the [Harness Landscape](/reference/harness-la | `codex` | [OpenAI Codex CLI](https://github.com/openai/codex) (`codex`) | OpenAI-model work | Uses persistent `codex app-server` sessions by default; requires Codex CLI `0.144.0` or newer. | | `acp` | [Kimi Code CLI](https://www.kimi.com/code/docs/en/kimi-code-cli/guides/getting-started.html) (`kimi`) | Opt-in Kimi work | Uses the open Agent Client Protocol over a persistent authenticated host; Kimi is the first wired ACP agent. | | `kimi-code` | [Kimi Code CLI](https://www.kimi.com/code/docs/en/kimi-code-cli/guides/getting-started.html) (`kimi`) | Kimi models (built-in default) | Drives Kimi's own native terminal UI directly — no ACP host, no Anthropic-compatibility endpoint. Kimi models only. Set `providerHarnesses.kimi` to `acp` or `claude-code` to opt back out. | +| `prime-agent` | Prime Agent (`prime-agent`) | Opt-in multi-provider RPC work and conversations | Overdeck owns one persistent root RPC process per session; supported versions are `>=0.1.0 <1.0.0`. | ## Composer commands across harnesses @@ -60,6 +61,39 @@ Managed Codex sessions use an isolated `CODEX_HOME`. On initialization and resum receive neither override, so Claude Code's native context behavior remains in control. +### Prime Agent RPC (alternative) + +Install a compatible Prime Agent release with the upstream installer, then verify it: + +```bash +curl -fsSL https://app.primeintellect.ai/prime-agent/install.sh | sh +prime-agent --version # must be >=0.1.0 and <1.0.0 +prime-agent --help # must list --mode rpc +pan doctor +``` + +If the binary is outside `PATH`, set `primeAgent.binaryPath` in +`~/.overdeck/config.yaml`. Configure the provider's API credentials through +the provider's normal environment variables or Overdeck provider settings. +Overdeck maps Anthropic models to `anthropic`, OpenAI models to `openai`, and +Google models to `google`; an unknown provider/model pair fails instead of +silently switching harnesses. + +Overdeck owns the persistent root RPC process, session directory, resume, +delivery, abort, and termination. A detached session resumes only when its +recorded model, provider, and workspace match. Otherwise Overdeck starts a +fresh session or reports a recovery error. Prime schedules, heartbeats, +observation, autonomous continuation, and cross-agent messaging are disabled +because Cloister owns that lifecycle. RLM children remain internal tool work +attributed to the root session and cannot claim Overdeck tasks. + +Prime's worker/kernel separation is an execution boundary, not a security +sandbox. Use the same workspace and credential isolation you use for other +coding harnesses. Overdeck writes managed context only under +`~/.overdeck/context`; it never changes `~/.prime/agent`. To uninstall, stop +Prime sessions, remove `primeAgent` from the Overdeck config, and remove the +upstream `prime-agent` package with the package manager that installed it. + ### oh-my-pi / ohmypi (alternative) - Adds RPC mode (`omp --mode rpc`) so Overdeck can write structured commands to diff --git a/docs/HARNESSES.md b/docs/HARNESSES.md index 743316de226..2fb27c89f71 100644 --- a/docs/HARNESSES.md +++ b/docs/HARNESSES.md @@ -6,6 +6,6 @@ | Topic | Where it lives now | | --- | --- | -| Operational guide — supported harnesses (`claude-code`, `pi`), install, picker locations, ToS rules, troubleshooting | [`configuration/harnesses.mdx`](../configuration/harnesses.mdx) | +| Operational guide — supported harnesses, including managed Prime Agent RPC sessions, install, picker locations, security rules, and troubleshooting | [`configuration/harnesses.mdx`](../configuration/harnesses.mdx) | | Planning survey — 13 coding-agent harnesses, extensibility mechanisms, adoption implications | [`reference/harness-landscape.mdx`](../reference/harness-landscape.mdx) | | Proposal — loading curated skill bundles into a single conversation | [`reference/template-conversations.mdx`](../reference/template-conversations.mdx) | diff --git a/docs/MODEL_ROUTING.md b/docs/MODEL_ROUTING.md index 6e867424e04..47046a93f84 100644 --- a/docs/MODEL_ROUTING.md +++ b/docs/MODEL_ROUTING.md @@ -29,6 +29,15 @@ When Overdeck needs to make an LLM call, it resolves the model through this chai Overdeck supports seven LLM providers: +### Prime Agent provider mapping + +The `prime-agent` harness receives an explicit provider and model on every +launch. Anthropic routes to `anthropic`, OpenAI routes to `openai`, and Google +routes to `google`. Unsupported mappings fail loudly; Overdeck does not pick a +different model or harness. Provider authentication remains provider-owned. +Using Claude Pro or Max subscription credentials through Prime Agent bills as +extra API usage and does not consume the Claude plan quota. + | Provider | Auth Method | Notes | |----------|-------------|-------| | **Anthropic** | Claude Code subscription login (default, always enabled) | Opus 4.6, Sonnet 4.6, Haiku 4.5 | From 4834e94e77ffc40ce45829f640c78e639e20875c Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 20:38:10 -0400 Subject: [PATCH 27/38] feat: expose Prime harness in dashboard UI (PAN-3668) --- .../src/components/CommandDeck/ConversationList.tsx | 2 +- .../src/components/CommandDeck/ConversationRow.tsx | 1 + .../src/components/CommandDeck/useConversationMutations.ts | 7 ++++--- .../frontend/src/components/Settings/sections/CrewRow.tsx | 2 +- .../Settings/sections/ProviderManagementSection.tsx | 3 ++- .../Settings/sections/TieredExecutionSection.tsx | 2 +- src/dashboard/frontend/src/components/Settings/types.ts | 2 +- src/dashboard/frontend/src/components/chat/ModelPicker.tsx | 2 +- .../src/components/chat/__tests__/ModelPicker.test.tsx | 3 ++- .../src/components/sessionFeed/ConversationFeedCard.tsx | 2 ++ .../src/components/sessionFeed/useConversationFeed.ts | 2 +- .../src/components/shared/ModelPicker/ModelPicker.tsx | 3 ++- .../src/components/shared/ModelPicker/harnessRows.ts | 1 + .../components/shared/branding/__tests__/branding.test.tsx | 2 +- .../frontend/src/components/shared/branding/index.tsx | 1 + src/dashboard/frontend/src/types.ts | 2 +- 16 files changed, 23 insertions(+), 14 deletions(-) diff --git a/src/dashboard/frontend/src/components/CommandDeck/ConversationList.tsx b/src/dashboard/frontend/src/components/CommandDeck/ConversationList.tsx index b132bf8b39d..414657c3c22 100644 --- a/src/dashboard/frontend/src/components/CommandDeck/ConversationList.tsx +++ b/src/dashboard/frontend/src/components/CommandDeck/ConversationList.tsx @@ -44,7 +44,7 @@ export interface Conversation { /** Model used for this conversation. Null until backfilled from session file. */ model?: string | null; /** Harness used to spawn this conversation. */ - harness?: 'claude-code' | 'pi' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code' | null; + harness?: 'claude-code' | 'pi' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code' | 'prime-agent' | null; /** Effort level used when spawning this conversation. */ effort?: string | null; /** Async fork provisioning status. Null = not a fork or completed. */ diff --git a/src/dashboard/frontend/src/components/CommandDeck/ConversationRow.tsx b/src/dashboard/frontend/src/components/CommandDeck/ConversationRow.tsx index 12bbeaf340a..2c6decb1fa3 100644 --- a/src/dashboard/frontend/src/components/CommandDeck/ConversationRow.tsx +++ b/src/dashboard/frontend/src/components/CommandDeck/ConversationRow.tsx @@ -36,6 +36,7 @@ function shortHarness(harness: NonNullable<Conversation['harness']>): string { if (harness === 'codex') return 'Codex'; if (harness === 'acp') return 'ACP'; if (harness === 'kimi-code') return 'Kimi Code'; + if (harness === 'prime-agent') return 'Prime Agent'; // Unknown future harness — show the raw id rather than a wrong label. return harness; } diff --git a/src/dashboard/frontend/src/components/CommandDeck/useConversationMutations.ts b/src/dashboard/frontend/src/components/CommandDeck/useConversationMutations.ts index 2ff63c01a79..1c9d8462d31 100644 --- a/src/dashboard/frontend/src/components/CommandDeck/useConversationMutations.ts +++ b/src/dashboard/frontend/src/components/CommandDeck/useConversationMutations.ts @@ -4,6 +4,7 @@ import { toast } from 'sonner'; import type { Conversation } from './ConversationList'; import { updateConversationTitle } from './ConversationList'; import { closeConversationPanes } from '../../lib/panesStore'; +import type { Harness } from '../Settings/types'; async function archiveConversation(name: string): Promise<void> { const res = await fetch(`/api/conversations/${encodeURIComponent(name)}/archive`, { method: 'POST' }); @@ -47,7 +48,7 @@ type ApiForkMode = 'summary' | 'plain' | 'handoff'; type ForkModeOption = ApiForkMode | 'fast-summary'; type HandoffAuthor = 'source' | 'external'; -async function summaryForkConversation(opts: { conv: Conversation; model: string; summaryModel: string; harness?: 'claude-code' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code'; summaryHarness?: 'claude-code' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code'; forkMode?: ApiForkMode; focus?: string; localSummaryOnly?: boolean; includeThinkingInSummary?: boolean; title?: string; handoffAuthor?: HandoffAuthor; handoffAuthorModel?: string; handoffAuthorHarness?: 'claude-code' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code'; projectKey?: string }): Promise<void> { +async function summaryForkConversation(opts: { conv: Conversation; model: string; summaryModel: string; harness?: Harness; summaryHarness?: Harness; forkMode?: ApiForkMode; focus?: string; localSummaryOnly?: boolean; includeThinkingInSummary?: boolean; title?: string; handoffAuthor?: HandoffAuthor; handoffAuthorModel?: string; handoffAuthorHarness?: Harness; projectKey?: string }): Promise<void> { const res = await fetch(`/api/conversations/${encodeURIComponent(opts.conv.name)}/summary-fork`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, @@ -83,7 +84,7 @@ export interface ConversationMutations { toggleFavorite: (opts: { name: string; favorited: boolean }) => void; move: (opts: { name: string; projectKey: string; projectName: string }) => void; openForkModal: (conv: Conversation, options?: { mode?: ForkModeOption; focus?: string }) => void; - submitFork: (conv: Conversation, launchModel: string, summaryModel: string, forkMode: ApiForkMode, localSummaryOnly: boolean, includeThinkingInSummary: boolean, title?: string, launchHarness?: 'claude-code' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code', summaryHarness?: 'claude-code' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code', focus?: string, handoffAuthor?: HandoffAuthor, handoffAuthorModel?: string, handoffAuthorHarness?: 'claude-code' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code', projectKey?: string) => void; + submitFork: (conv: Conversation, launchModel: string, summaryModel: string, forkMode: ApiForkMode, localSummaryOnly: boolean, includeThinkingInSummary: boolean, title?: string, launchHarness?: Harness, summaryHarness?: Harness, focus?: string, handoffAuthor?: HandoffAuthor, handoffAuthorModel?: string, handoffAuthorHarness?: Harness, projectKey?: string) => void; forkTarget: Conversation | null; forkTargetMode: ForkModeOption | undefined; forkTargetFocus: string | undefined; @@ -233,7 +234,7 @@ export function useConversationMutations( } }, [summaryForkMutation.isPending]); - const submitFork = useCallback((conv: Conversation, launchModel: string, summaryModel: string, forkMode: ApiForkMode, localSummaryOnly: boolean, includeThinkingInSummary: boolean, title?: string, launchHarness?: 'claude-code' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code', summaryHarness?: 'claude-code' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code', focus?: string, handoffAuthor?: HandoffAuthor, handoffAuthorModel?: string, handoffAuthorHarness?: 'claude-code' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code', projectKey?: string) => { + const submitFork = useCallback((conv: Conversation, launchModel: string, summaryModel: string, forkMode: ApiForkMode, localSummaryOnly: boolean, includeThinkingInSummary: boolean, title?: string, launchHarness?: Harness, summaryHarness?: Harness, focus?: string, handoffAuthor?: HandoffAuthor, handoffAuthorModel?: string, handoffAuthorHarness?: Harness, projectKey?: string) => { summaryForkMutation.mutate({ conv, model: launchModel, diff --git a/src/dashboard/frontend/src/components/Settings/sections/CrewRow.tsx b/src/dashboard/frontend/src/components/Settings/sections/CrewRow.tsx index 419a153f75f..bbb6358cdee 100644 --- a/src/dashboard/frontend/src/components/Settings/sections/CrewRow.tsx +++ b/src/dashboard/frontend/src/components/Settings/sections/CrewRow.tsx @@ -8,7 +8,7 @@ import { type CrewEntry, } from './tiered-crews'; -const HARNESSES: Harness[] = ['claude-code', 'ohmypi', 'codex', 'acp', 'kimi-code']; +const HARNESSES: Harness[] = ['claude-code', 'ohmypi', 'codex', 'acp', 'kimi-code', 'prime-agent']; function ModelSelect({ value, onChange, label = 'Model' }: { value: string; onChange: (value: string) => void; label?: string }) { return <label className="space-y-1.5"><span className="text-xs font-medium text-foreground">{label}</span><select aria-label={label} value={value} onChange={(event) => onChange(event.target.value)} className="w-full rounded-md border border-border bg-background px-2 py-1.5 text-xs text-foreground"> diff --git a/src/dashboard/frontend/src/components/Settings/sections/ProviderManagementSection.tsx b/src/dashboard/frontend/src/components/Settings/sections/ProviderManagementSection.tsx index 1f6122cdc93..2c5b84fc5f8 100644 --- a/src/dashboard/frontend/src/components/Settings/sections/ProviderManagementSection.tsx +++ b/src/dashboard/frontend/src/components/Settings/sections/ProviderManagementSection.tsx @@ -53,6 +53,7 @@ const HARNESS_LABELS: Record<Harness, string> = { codex: 'Codex', acp: 'ACP', 'kimi-code': 'Kimi Code', + 'prime-agent': 'Prime Agent', }; const PROVIDERS: { id: Provider; name: string; placeholder: string }[] = [ @@ -77,7 +78,7 @@ function harnessLabel(harness: Harness): string { * provider would write a config that fails at every spawn. */ function harnessOptionsFor(provider: Provider | 'openrouter'): Harness[] { - const shared: Harness[] = ['claude-code', 'ohmypi', 'codex']; + const shared: Harness[] = ['claude-code', 'ohmypi', 'codex', 'prime-agent']; return provider === 'kimi' ? [...shared, 'acp', 'kimi-code'] : shared; } diff --git a/src/dashboard/frontend/src/components/Settings/sections/TieredExecutionSection.tsx b/src/dashboard/frontend/src/components/Settings/sections/TieredExecutionSection.tsx index 92089822969..b739af234f3 100644 --- a/src/dashboard/frontend/src/components/Settings/sections/TieredExecutionSection.tsx +++ b/src/dashboard/frontend/src/components/Settings/sections/TieredExecutionSection.tsx @@ -33,7 +33,7 @@ interface EditableCrewState { } const ITEM_KINDS = ['docs', 'api', 'backend', 'frontend', 'infra', 'test', 'refactor', 'design', 'spike'] as const; -const HARNESSES: Harness[] = ['claude-code', 'ohmypi', 'codex', 'acp', 'kimi-code']; +const HARNESSES: Harness[] = ['claude-code', 'ohmypi', 'codex', 'acp', 'kimi-code', 'prime-agent']; const CALLOUTS = ['off', 'notify', 'corroborate'] as const; // Defaults must NEVER be a frontier model (fable/opus). The first catalog // entries are premium models, and defaulting new crews/the supervisor to diff --git a/src/dashboard/frontend/src/components/Settings/types.ts b/src/dashboard/frontend/src/components/Settings/types.ts index 93262aa9bf7..d3efe00abd0 100644 --- a/src/dashboard/frontend/src/components/Settings/types.ts +++ b/src/dashboard/frontend/src/components/Settings/types.ts @@ -4,7 +4,7 @@ export type Provider = 'anthropic' | 'openai' | 'google' | 'zai' | 'kimi' | 'minimax' | 'mimo' | 'openrouter' | 'nous' | 'dashscope'; export type ModelId = string; -export type Harness = 'claude-code' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code'; +export type Harness = 'claude-code' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code' | 'prime-agent'; export type HarnessOverride = Harness | ''; export type XBriefDifficulty = 'trivial' | 'simple' | 'medium' | 'complex' | 'expert'; export type XBriefItemKind = 'docs' | 'api' | 'backend' | 'frontend' | 'infra' | 'test' | 'refactor' | 'design' | 'spike'; diff --git a/src/dashboard/frontend/src/components/chat/ModelPicker.tsx b/src/dashboard/frontend/src/components/chat/ModelPicker.tsx index 2c758a38845..cc70178c301 100644 --- a/src/dashboard/frontend/src/components/chat/ModelPicker.tsx +++ b/src/dashboard/frontend/src/components/chat/ModelPicker.tsx @@ -179,7 +179,7 @@ function formatCost(costPer1M: number): string { } function isHarness(value: unknown): value is Harness { - return value === 'claude-code' || value === 'ohmypi' || value === 'codex' || value === 'acp' || value === 'kimi-code'; + return value === 'claude-code' || value === 'ohmypi' || value === 'codex' || value === 'acp' || value === 'kimi-code' || value === 'prime-agent'; } function providerDefaultHarness(provider: string, providerHarnesses: ProviderHarnesses): Harness { diff --git a/src/dashboard/frontend/src/components/chat/__tests__/ModelPicker.test.tsx b/src/dashboard/frontend/src/components/chat/__tests__/ModelPicker.test.tsx index cafbc8d347b..cfcc707ec79 100644 --- a/src/dashboard/frontend/src/components/chat/__tests__/ModelPicker.test.tsx +++ b/src/dashboard/frontend/src/components/chat/__tests__/ModelPicker.test.tsx @@ -120,7 +120,8 @@ describe('chat ModelPicker live harness labels', () => { expect(screen.getByLabelText('Codex logo')).toBeInTheDocument(); expect(screen.getByLabelText('ACP logo')).toBeInTheDocument(); expect(screen.getByLabelText('Kimi Code logo')).toBeInTheDocument(); - expect(screen.getAllByText(/May lose fidelity/)).toHaveLength(4); + expect(screen.getByLabelText('Prime Agent logo')).toBeInTheDocument(); + expect(screen.getAllByText(/May lose fidelity/)).toHaveLength(5); expect(screen.getByRole('button', { name: /^oh-my-pi/i })).toHaveAttribute('title', expect.stringContaining('May lose fidelity')); }); diff --git a/src/dashboard/frontend/src/components/sessionFeed/ConversationFeedCard.tsx b/src/dashboard/frontend/src/components/sessionFeed/ConversationFeedCard.tsx index 88c6ed35d55..57b5c551db6 100644 --- a/src/dashboard/frontend/src/components/sessionFeed/ConversationFeedCard.tsx +++ b/src/dashboard/frontend/src/components/sessionFeed/ConversationFeedCard.tsx @@ -24,6 +24,7 @@ const AGENT_LABELS: Record<string, string> = { ohmypi: 'oh-my-pi', codex: 'Codex', kimi_code: 'Kimi Code', + prime_agent: 'Prime Agent', acp: 'Kimi', unknown: 'Unknown', }; @@ -78,6 +79,7 @@ function harnessForFeedAgent(agent: string): Harness { if (agent === 'codex') return 'codex'; if (agent === 'acp') return 'acp'; if (agent === 'kimi_code' || agent === 'kimi-code') return 'kimi-code'; + if (agent === 'prime_agent' || agent === 'prime-agent') return 'prime-agent'; return 'claude-code'; } diff --git a/src/dashboard/frontend/src/components/sessionFeed/useConversationFeed.ts b/src/dashboard/frontend/src/components/sessionFeed/useConversationFeed.ts index d85f25542e4..d9bc27960bc 100644 --- a/src/dashboard/frontend/src/components/sessionFeed/useConversationFeed.ts +++ b/src/dashboard/frontend/src/components/sessionFeed/useConversationFeed.ts @@ -18,7 +18,7 @@ export interface ConversationFeedRow { issueId: string | null; cwd?: string | null; title?: string | null; - harness?: 'claude-code' | 'pi' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code' | null; + harness?: 'claude-code' | 'pi' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code' | 'prime-agent' | null; archivedAt?: string | null; messageCount?: number; } diff --git a/src/dashboard/frontend/src/components/shared/ModelPicker/ModelPicker.tsx b/src/dashboard/frontend/src/components/shared/ModelPicker/ModelPicker.tsx index 0fd0a37be5c..ba91abba88c 100644 --- a/src/dashboard/frontend/src/components/shared/ModelPicker/ModelPicker.tsx +++ b/src/dashboard/frontend/src/components/shared/ModelPicker/ModelPicker.tsx @@ -12,7 +12,7 @@ import styles from './ModelPicker.module.css'; export const FALLBACK_COMPACTION_MODEL = 'claude-haiku-4-5-20251001'; -export type Harness = 'claude-code' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code'; +export type Harness = 'claude-code' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code' | 'prime-agent'; export type AuthMode = 'api-key' | 'subscription'; export const HARNESS_OPTIONS: Array<{ id: Harness; label: string; description: string }> = [ @@ -21,6 +21,7 @@ export const HARNESS_OPTIONS: Array<{ id: Harness; label: string; description: s { id: 'codex', label: 'Codex', description: 'OpenAI Codex CLI harness' }, { id: 'acp', label: 'ACP', description: 'Agent Client Protocol harness' }, { id: 'kimi-code', label: 'Kimi Code', description: 'Moonshot Kimi Code CLI (native, Kimi models only)' }, + { id: 'prime-agent', label: 'Prime Agent', description: 'Managed persistent Prime RPC session' }, ]; export const PI_TOS_BLOCK_REASON = 'ohmypi cannot run Anthropic models when authenticated via Claude Code subscription (Terms of Service). Switch Anthropic to API-key auth, or pick a non-Anthropic model.'; diff --git a/src/dashboard/frontend/src/components/shared/ModelPicker/harnessRows.ts b/src/dashboard/frontend/src/components/shared/ModelPicker/harnessRows.ts index 8ef00927531..6a5f718fb33 100644 --- a/src/dashboard/frontend/src/components/shared/ModelPicker/harnessRows.ts +++ b/src/dashboard/frontend/src/components/shared/ModelPicker/harnessRows.ts @@ -27,6 +27,7 @@ export const KIMI_NATIVE_EFFORT_LEVELS = ['low', 'high', 'max'] as const; const HARNESS_ROW_LABELS = { 'claude-code': 'Claude Code', 'kimi-code': 'Kimi Code CLI', + 'prime-agent': 'Prime Agent', acp: 'ACP (Kimi Code)', } as const; diff --git a/src/dashboard/frontend/src/components/shared/branding/__tests__/branding.test.tsx b/src/dashboard/frontend/src/components/shared/branding/__tests__/branding.test.tsx index 8988ff8a6da..a32f73c18e2 100644 --- a/src/dashboard/frontend/src/components/shared/branding/__tests__/branding.test.tsx +++ b/src/dashboard/frontend/src/components/shared/branding/__tests__/branding.test.tsx @@ -22,7 +22,7 @@ describe('shared branding registry', () => { 'dashscope', 'openrouter', ]); - expect(Object.keys(HARNESS_BRANDS)).toEqual(['claude-code', 'codex', 'ohmypi', 'acp', 'kimi-code']); + expect(Object.keys(HARNESS_BRANDS)).toEqual(['claude-code', 'codex', 'ohmypi', 'acp', 'kimi-code', 'prime-agent']); for (const brand of [...Object.values(PROVIDER_BRANDS), ...Object.values(HARNESS_BRANDS)]) { expect(brand.id).toBeTruthy(); diff --git a/src/dashboard/frontend/src/components/shared/branding/index.tsx b/src/dashboard/frontend/src/components/shared/branding/index.tsx index 0660f4991b4..cd340b145c0 100644 --- a/src/dashboard/frontend/src/components/shared/branding/index.tsx +++ b/src/dashboard/frontend/src/components/shared/branding/index.tsx @@ -116,6 +116,7 @@ export const HARNESS_BRANDS: Record<Harness, BrandDef> = { ohmypi: { id: 'ohmypi', label: 'oh-my-pi', color: '#7c3aed', Icon: PiHarnessIcon }, acp: { id: 'acp', label: 'ACP', color: '#475569', Icon: AcpHarnessIcon }, 'kimi-code': { id: 'kimi-code', label: 'Kimi Code', color: PROVIDER_BRANDS.kimi.color, Icon: KimiIcon }, + 'prime-agent': { id: 'prime-agent', label: 'Prime Agent', color: '#64748b', Icon: PiHarnessIcon }, }; export const PROVIDER_COLORS: Record<Provider, string> = Object.fromEntries( diff --git a/src/dashboard/frontend/src/types.ts b/src/dashboard/frontend/src/types.ts index 957e98c9727..e8943b5d4c9 100644 --- a/src/dashboard/frontend/src/types.ts +++ b/src/dashboard/frontend/src/types.ts @@ -93,7 +93,7 @@ export interface Agent { id: string; issueId?: string; runtime: string; - harness?: 'claude-code' | 'pi' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code' | null; + harness?: 'claude-code' | 'pi' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code' | 'prime-agent' | null; model: string; status: 'healthy' | 'warning' | 'stuck' | 'stalled' | 'dead' | 'stopped' | 'starting' | 'running' | 'failed' | 'error' | 'unknown'; error?: string; From 64a5b73d38e5b66d0fd4ed9f6ddb3b2b26ff12ce Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 20:39:40 -0400 Subject: [PATCH 28/38] test: enforce Prime harness no-loss audit (PAN-3668) --- docs/prime-agent-no-loss-audit.md | 20 +++++++++ .../lib/prime-agent-no-loss-audit.test.ts | 45 +++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 docs/prime-agent-no-loss-audit.md create mode 100644 tests/unit/lib/prime-agent-no-loss-audit.test.ts diff --git a/docs/prime-agent-no-loss-audit.md b/docs/prime-agent-no-loss-audit.md new file mode 100644 index 00000000000..9eafb43ae35 --- /dev/null +++ b/docs/prime-agent-no-loss-audit.md @@ -0,0 +1,20 @@ +# Prime Agent No-Loss Audit + +Every existing harness remains present while `prime-agent` gains an explicit home. The mechanical test reads each canonical surface below. + +| # | Surface | Canonical location | Prime disposition | Existing harnesses preserved | Verified | +|---|---|---|---|---|---| +| S1 | Harness union and known set | `packages/contracts/src/types.ts` | explicit literal | yes | [x] | +| S2 | Behavior map | `packages/contracts/src/harness-behavior.ts` | `PRIME_AGENT_BEHAVIOR` | yes | [x] | +| S3 | Config harness schema | `src/lib/config-yaml/schema.ts` | accepted role/provider harness | yes | [x] | +| S4 | CLI help and composer manifest | `src/cli/index.ts`, `packages/contracts/src/composer-commands.generated.ts` | listed | yes | [x] | +| S5 | Provider resolution | `src/lib/prime-agent/provider-map.ts` | strict table, no fallback | unchanged | [x] | +| S6 | Runtime registry | `src/lib/runtimes/index.ts` | registered adapter | yes | [x] | +| S7 | Artifact, telemetry, flywheel, context preview | `packages/contracts/src/{artifacts,telemetry,flywheel,context-layers}.ts` | explicit literal | yes | [x] | +| S8 | Transcript registry | `src/lib/conversations/transcript-adapter.ts` | Prime adapter | yes | [x] | +| S9 | Cost source | `src/lib/overdeck/cost.ts` | `prime_agent` source | yes | [x] | +| S10 | Context renderer | `src/lib/context-layers/harness.ts` | Prime marker and artifact | yes | [x] | +| S11 | Work/conversation lifecycle | `src/lib/agents/runtime-command.ts`, `src/lib/overdeck/conversation-runtime.ts` | persistent RPC | yes | [x] | +| S12 | Delivery and recovery | `src/lib/prime-agent/{session-controller,session-resume}.ts` | correlated RPC and strict resume | unchanged | [x] | +| S13 | Dashboard API and frontend | `src/dashboard/` | identity, activity, usage, picker, badges, filters | yes | [x] | +| S14 | Operator documentation | `configuration/harnesses.mdx`, `configuration/context-layers.mdx` | setup and boundary documented | yes | [x] | diff --git a/tests/unit/lib/prime-agent-no-loss-audit.test.ts b/tests/unit/lib/prime-agent-no-loss-audit.test.ts new file mode 100644 index 00000000000..a72936c19c9 --- /dev/null +++ b/tests/unit/lib/prime-agent-no-loss-audit.test.ts @@ -0,0 +1,45 @@ +import { readFileSync } from 'node:fs'; +import { join } from 'node:path'; +import { describe, expect, it } from 'vitest'; + +const ROOT = join(import.meta.dirname, '../../..'); +const ALL = ['claude-code', 'ohmypi', 'codex', 'acp', 'kimi-code', 'prime-agent']; + +function source(path: string): string { + return readFileSync(join(ROOT, path), 'utf8'); +} + +describe('Prime Agent no-loss audit', () => { + it('has no unverified inventory row', () => { + const rows = source('docs/prime-agent-no-loss-audit.md').split('\n').filter(line => /^\| S\d+/.test(line)); + expect(rows.length).toBeGreaterThan(10); + expect(rows.filter(row => !row.endsWith('| [x] |'))).toEqual([]); + }); + + it.each([ + 'packages/contracts/src/types.ts', + 'packages/contracts/src/harness-behavior.ts', + 'src/lib/config-yaml/schema.ts', + 'src/lib/runtimes/types.ts', + 'src/lib/launcher-generator.ts', + ])('%s preserves every harness literal', (path) => { + const content = source(path); + for (const harness of ALL) expect(content, `${path} omitted ${harness}`).toMatch(new RegExp(`["']${harness}["']`)); + }); + + it.each([ + 'packages/contracts/src/artifacts.ts', + 'packages/contracts/src/telemetry.ts', + 'packages/contracts/src/flywheel.ts', + 'packages/contracts/src/context-layers.ts', + ])('%s includes Prime in its canonical enumeration', (path) => { + expect(source(path)).toContain('prime-agent'); + }); + + it('registers explicit runtime, transcript, cost, and frontend homes', () => { + expect(source('src/lib/runtimes/index.ts')).toContain("register(createPrimeAgentRuntimeSync())"); + expect(source('src/lib/conversations/transcript-adapter.ts')).toContain("'prime-agent': primeAgentAdapter"); + expect(source('src/lib/overdeck/cost.ts')).toContain("'prime_agent'"); + expect(source('src/dashboard/frontend/src/components/shared/ModelPicker/ModelPicker.tsx')).toContain("id: 'prime-agent'"); + }); +}); From a85fc48abe86e8f5a3a4ac48a2a116aaff82fad7 Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 21:24:33 -0400 Subject: [PATCH 29/38] test: verify Prime Agent end to end (PAN-3668) --- docs/TELEMETRY.md | 2 +- .../pan-3668/prime-agent-runtime-picker.png | Bin 0 -> 608903 bytes docs/prime-agent-verification.md | 35 +++++++ scripts/dashboard-types-baseline.txt | 2 +- src/cli/commands/artifacts.ts | 2 +- src/cli/commands/flywheel.ts | 2 +- src/cli/commands/strike.ts | 3 +- src/dashboard/server/routes/command-deck.ts | 4 +- src/dashboard/server/routes/context.ts | 1 + src/dashboard/server/routes/projects.ts | 2 +- .../routes/specialists/project-routes.ts | 3 +- .../server/services/conversation-lifecycle.ts | 4 +- .../server/services/flywheel-actions.ts | 5 +- .../services/runtime-session-projection.ts | 26 ++--- src/lib/artifacts/lifecycle.ts | 2 +- src/lib/cloister/flywheel.ts | 3 +- .../__tests__/harness-matrix.test.ts | 2 +- .../conversations/prime-transcript-adapter.ts | 2 +- .../conversations/transcript-adapter-types.ts | 22 +++++ src/lib/conversations/transcript-adapter.ts | 59 +----------- src/lib/overdeck/conversations.ts | 2 +- src/lib/planning/spawn-planning-session.ts | 2 +- src/lib/system-prerequisites.ts | 4 +- tests/integration/prime-agent-smoke.test.ts | 91 ++++++++++++++++++ tests/lib/config-yaml.test.ts | 2 +- 25 files changed, 192 insertions(+), 90 deletions(-) create mode 100644 docs/evidence/pan-3668/prime-agent-runtime-picker.png create mode 100644 docs/prime-agent-verification.md create mode 100644 src/lib/conversations/transcript-adapter-types.ts create mode 100644 tests/integration/prime-agent-smoke.test.ts diff --git a/docs/TELEMETRY.md b/docs/TELEMETRY.md index 12067312e28..2573166b169 100644 --- a/docs/TELEMETRY.md +++ b/docs/TELEMETRY.md @@ -79,7 +79,7 @@ the public contract and lists every allowed value. | `duration_bucket` | `under_100ms`, `100ms-999ms`, `1s-9s`, `10s+` | | `forge` | `github`, `gitlab` | | `fork_kind` | `summary`, `handoff`, `plain` | -| `harness` | `claude-code`, `ohmypi`, `codex`, `acp`, `kimi-code` | +| `harness` | `claude-code`, `ohmypi`, `codex`, `acp`, `kimi-code`, `prime-agent` | | `merge_kind` | `pipeline` | | `model_family` | `claude`, `gpt`, `gemini`, `kimi`, `minimax`, `glm`, `mimo`, `other` | | `pipeline_stage` | `work_done`, `review_passed`, `verification_passed`, `merged`, `closed_out` | diff --git a/docs/evidence/pan-3668/prime-agent-runtime-picker.png b/docs/evidence/pan-3668/prime-agent-runtime-picker.png new file mode 100644 index 0000000000000000000000000000000000000000..d9b0ee9131292c60695622f074ead567df17e894 GIT binary patch literal 608903 zcmZs?WpErplq4)>X0(`@EoPR*OcpaUkHySP7Be$gjFxOMGcz-dW<Kxj?R|H*7x|+* zI-)u%UQ}h}%l9f;Raq7li3kY-0s>WDPD&jD0=5tW0{RpI>fe_N!s${72n+~$DRE7o zyvuy}A2`y><2BvZyiJI!G|Yce+>`P`fBc|~p=2yH6LD9z7I2@wyB1o=k0}n3YC(vC zN^zh5!|H(Mkat$!U|hM43kfOQuaWcXAY<+4b+u0aOZWRugE8#BeVOjOn;|?%yPl;i zNrGVz@Ys(7l<k^qW)AP4mF=FyRcBloMK>xdbyQr@QrB1Ll#r*`l|!sZ$-qefiGH%Z z>JH+=0)O;}o8QL1d(SuTTK92&DL0f=*q8@5sKo0m;+Mn@we4QwwW6`w&Pn5f#<Aux z6#!D>$PdWw`k$WiQ^Oi}qJ@s{7K@sJaN|u5iU5<fTLaEmP<$+4xGJu!lIGnRS+J@> za_YylKm0B~Y>+GwRccvj7i%CairL)Uqv&Y_1k<c9bz5Rkg!b@_(MC!FR=cGw)g445 z&0uv#>(i{R2Nq}K07o#FxoqPSJMfk4m2U&BUJ@XWj>P`;i)5gi7P(2}Fd7ev$ij&S zF42et2{*g8R>2&*@@ks{v7qr2JUoK$Le?GvqdCoI<`>6twRT7TgbPS{8C91?+mwMl zmtCLC#5oxZyr;Ci*8Kx>clYK%P#`E#1vD2nbh7i`09G09Cndy<?WOeFdwl$c%yH6h zviS6MH);0wnHt_I!ax|?nAc#rkB_S2Ei$j+>b~;*cXmHKLz2$qgc_H;u9<Gh3|!Sk zXo?yencs!Uc*F)>G0IF6*mD|B+2IyHZZB99xL@m@na+{ce-GL3(aak1^2ezUnuwVk z+|I8uf5m&hGOK{fxY{qmLt)M{5=8Xvb6kr`AQ!cs8JAf|(zC%i{{{LAQJ-KUfzL8C z@xxr!RIG^AV9|l=)yM5nS08V|L}-M3XgGeS*`~J4(zjr@0~U=sz=ne|g&8`{Kqzi$ z20bVts93b!(Lk2uHHL))uMqMH9g-b6F5&1Ys&HU$oSfb_t(v(sQXC!Q8HE7aeHfA1 zjmeFh2zrp&Y+w{yVw^o@&Be{d#;zrtb_v|ba>lPLWnrOb8$HuM1HPLOB^>>4QQbND zA92;AN?s&aKZoL-)O_FJJvU%Q>#uS6*5WbuIxDG@^miCObxw^)J&ej|D9Rn87B5~` zr)16(7oF!z?fB1k=~c*5ynH#15ED#i!!CE$>O?F{=0QpOLGeoDl<O#$^$-`2!2ohu z(_cbWF=;Gz+>bc$sNINwfpWYjVgj90)nk+xiO~3VH$+q$)NWQk$giS9DnSVF`cXKF z<%O{G!Q_9`7BS=q)f4)YCpoA0=V$k4aAa-R?-*x^Vgn*nltqF$&^E}`_RX$P_X!D% zkc(NP@(DCtZXefdxF5y*?;<Z@RQJo&(!<?<xWU!OW_U1&<TxWth+_<rTcV>}bk2u; znTHbxv_Y}@LLp613#Sw#em8x2hNAYR;r?Bw){be~lc&hiq=!GU8hk9lG>`=cQ7Xsc zl9u@a`~Z>_01pDkp5I>n8^8;<&a%=gVwkcBXVD%e_&T?54E@q->!|t$w?0T;L_b3% zy;^Y!e&8~kqIe}r)3qWi2;&`YbuyEgel)^PmJ)Qupd2zT5bnc!QV}6}K;*(wif0ue zXCKnr%Aj!?KXw)g+H*&vrFHHCcOQ6jw6IET)a9vIIS#^MsIAl?wW;+?`NZvE>`gfn z=kia{f1;p`OB#uDD@=&gIoyhQnA=29{$VK5hT^D>5gH7Qr$A(N!sMf^iIL(}@4Ic~ zb(Pnqs&;{aAXgtMJ+Un<F*Q7BVETbCOvYA94*Ppd`HY@?j#eTPS_qDuf+Yi&M-TT> zuCOhcGVM(+TFO<Y12b#S#^$~pWeG3Dkz#ieMpdZ4T-G2pu5M~ZvWy)e=add%<y;)n zQr|^QCkc)am(<8u{qo`F0T6JH9s%RK`Ttz2L;t}64LyT}G-6n&k=B$^a+V=2=QF;q zE<J@{NFu8=*t<o9qIiX@{dV~w{EcaXE>rwpvGP0#_p77N!*aJXHl9F(rp~CCd=uHE z(l@<D^)Xdde*_x_AwF&DM)^U)uR?M*yqbYo>`F;$HsZ!#WO9<E<B;z05Rp5294O`c zRIteB5|N5ygQ*6JY0LZ&@%B`Ehi>)<klo<8iEDorGjk%Nk1p8ItxT3kgF^Ox+~?TH zrxik2xo)Qvvl@7b%?r?IQrhm~bi*ceDHcWMgrh~3KnM_^fB8(c@oXJ~oBna8QobXF z0E<1?OMx~BAXf^BHK~!;<i!jZq3&oco!Tj$!F?0t-r|H@<b)e!Lo$HZr?54`i}IZh zlhyo@3`?S#h5~z@KY4*BlU^BRVryIVKX?B&V%fj9{~O?f2!J3X@6Tn!xgloF=|=S1 zZ}ct_P$?7k#cn)FaFQvBSZHUoLOmvks=e$TkrV^L!_M+wB)XC0Lp!Zv5<(V<QnjU< z3#1s3vO~Fvy_7Aoj%c4T@RxyNMVK1~#pcOS6@M!SL`_YTaJ`J?aecEU>h?tI`w%K! zSA&R!^Qd{pEniGsr|+f2AE^z!sn2vL+B4ED!XF_AS24oSNxlf0bqytR2Q|JTOjQ~# zp3jChP1snEo>y54CJc*@AIcWJD5T)_2C$zq**QXKi4xHSYfF{>)`&Nh)06CZMB572 z>D<$KsuYM)9M}(F-$JQ;3{7H4gIG)LsztHwVjYEz7%%feaMQ6^S5Hf%u5t~FQ6!r+ zg>zE)EXIgqdbzcWQHfMwx<?#K<*t<yjEjP1f$Sp4ZmpWi$*4T7ypK^Y02F`^QUMCI zkN=GTUf%vu0Na5*kBbp&kinI+agUTQw+|1_;SaY=3vye=zM&J<`DI>pd^GDNP69c{ zq4!q2dc$IBibV&*B<Q9`rzH%8`R+!-L(JL-vHh4sY1xq8AH;Fzcx8}Xo%0j>G-8m# zh9*?wh%iu#`U1o@o@hAIbF6mBjx=4!$yKWM!)9I7)X9Z%rzYK*HSm9_ahkqOSkE@U zw-)O2vvw6E^#D=W5`A@M@y8{yaY&+F$7|Uy31V_8pR=`xL%teTQ0q;nNww2)n2kG1 ziy|n0F%MsQRPdW8FP7A=0X1NwrIuhWd_C2ah0~XS`iW)8mt~;>Blf5A{nzBN6ep6Y zh4EKuh{&Ih^0BE4h2M1fbQ{lRyQ*_yv>QX${h*XATD%l5iRdZ}>8ao))GQ-g<(Uu7 z8Q|5|aathZ5za9L2%k}=3GwkWGjp&0lNMC09{yX5!S1&Ot7Z-X>y266M$mIlvk)o# z!8hWpXx!pS7R5rK_~{WAtWqjM&>4F9FOxEChH4P~wo&*aN32dg{XK*o`GnS2_En2T zMMD}N23(^^m2yJu^fG_NmJIx>cOk%n?D$weDK2&cn*@yjJ#17qSD@OMtnfxQYswg{ z&|RWXBqW_=bTw(9%OlQ&B0U*qsqSLtYe_6;SE*+3ha_Winy4)<2g0YvnLn0Jc(RBE z#hT^_Zka-w4+ai0EYGC3y6zkd(&g;$ruas#!y_QoXZR}8L0RX0WPG)d?9nE3<qngP zalz<>TKx(nLl#$T%vH+qM3wa4SUSjNOiV;#Pr>&vDeX)cvGXrHdPFGv0a;uo^EiP@ zvR$;Ah$RN<Ck#=F+GH$LsT7DwDKL3*Tp3t(VH0X;sM2x+@U;U9*SN$f)aI5WLJrhb zDM0woU=d8+f{4x4vZP=Dv~ne@#G!PHhAI`YI?OncL@}d{D{-SjLZzLShlhop-hWZc z;D7M;{|T_{i6}<yy2Y*i1ZjOt^%5sWTpg>C>OFk4PUSknNGQeNCFz2xo-}4CLm6Mf zrsQPx;Evz-F?GUL9oFoqq`f7<`L79wEvX}BQc|We$kOCY1o-KzlznqiSpr*=&3Ii! z`z1%;kx5)b5Gu6Qui<BB>S@-VN~Hy89G58(U`c#56>zQ*M{<{4B+#D6ALt|LN4T&q zR$Zh02+oCCxfPq*LmlY=EzBhk9O^0Pko|2&ShC?ABeE`sYL_!<C&Ts~E>RrW<FwHV zYQDIX2CmI${`ur>6DaA2m8F#$B-rv8JbN&ynFB0P?ZxrojhQxXwf5#PriofHxvXqS z*tJz!o+DpncsSx%mC>TBv~9$Zhw5WdweupR%(z!_NAVhKbm5j5FHss7ze{Hf#<AKE z63VBfyKK+_GyjN8;AXFJRDMsP3d6UxS)^Z!xo=}nM7U3*&;F|myP`eE5<<Fd5{fs{ zj#W6;8^tiu7wyCpZ!S*>A3RVbiPg$X8W+dR#&q{@vxthk(dqw(uKqs(J_Yg-zAMM4 z_01yLq2=eQmHIJ~W8Qvsr$dxhi6|kX;cc`dVc{*Qeb@8px#f8LmL}F&wrMKQm{mMz zR=^&wR_U6wZxNt;i-3$vxWg?_WezHrm;EDZ<x;3dUNhO;*`U=YP57;ch2;}XO7I}K z8402)O$SaUg)-V#@KsAaGmdnPeN{@qbC4x6jz4aPL7|GXD5j6$o0K?eGouo)bZhdr zS|=#dXc$PrpQQ1#^iJ-cN#Q8@kX?>=Z@_w~z}$)G&P=H5-O>?@s3|D^g_sk|HYiI# znnM}!0h+QTv4aEWmz7IRV%QsuG@rwdS9$10ejlqBy7=O(@EFE7W?3R3Y!;Uk`Xl{K z@tSp-sUdD8b-V?Y*s)S-D+d*Su2!ErrDk{apq!d&R1D^k<|_#8ghA9KEgqc%EAwE& zvpSc99Yteqx#aL=NFssXRGksu(k)M|HLq=b$@eIzsHi6YOa_3$XTYu#qTZ^n|8(O2 z4&(xW^Df8*NY_q~yZOw?o6cQ1dH&U<1EyNKn#e9C@x-jsg4|S!5V8UqB)oary{Oy_ zZT&S{oC-B*dNjc@yCqlLL@i!%((gbU7K(?7vfgwQ^myOXCOg_M-8$S%uJn%4Dm)Dt zRAcDuF}vO)6h~C5`&)_!dBMj<Y7gDE!skc)FRX{R>i0OsoYxTQqX9OYKhY3PmVfu2 zp#ApMi}cs6)>;RBFqlJI%Eo0qjWIo})J(lnE6oy@tM$GrK}jnz?<sa;cgG*XdZb`m zz$CKsXMidWhN?wJ|D;-Yk|FCtF8A2XWwt8Co)JvGQ%EADd^_t#irrMjmUqrj%DCgp z+{B%-)We}<fJn`;Nv`UB3Kv3Q6!XV12fCX;Q`j29_1kFN<APIrao}TRa8ox)BBb3A z++960C6jY{pzMK~(iA9Xc*m~UKb$rZND=*~_tNfBaQT0cQ`_h=020pmedEi~|H}*D z;zG*(!TE({8cPY*7>5b5NbJvEIA!^N(?b8Ljlg8-;GA!=kR7c+xumA_@qUw5pWmG# zF)x;^IHC5wE~gmOBJegCfBPxKvw2O~Xe=M)1keM+-ytK{Hn}o5s%!KfRf>GVvpCzi zHqSW1`|Wv!KW*MRUSY_2VRs8URWK5;R;Xz7FohKfkI-~TIK*S{YUad-=;u=?7|HCP zuLm>K<?+5)hA*j8Cvw`C)?d(L+uNk0R$CrI$ULjB@}{~=*W~^s_uEw4(%B2kKWD^0 zIIS{Zo^Dz|`hqrnTIAO?skMZMjab_fN(_`EER^8<%Dl;=4P)v^)?MXhJBR;_)B~Sp z9_3Vcv+s?=8~RZ6n?P42Ga@`B3iS2zD-34#Iu9>&2M%kf1Z2|Z_ml;!d{%vg_j676 zf7V6y+`gtIDnE|g>0i~R<$>SXo?jDUGWPU*IvT^}OZLUS(Q37J;f&;%kVj?UZz|T> zQrQF)d8_J2Ye{b^BBqQt+O^bjCYb1i+eAkjt$v4!Xp;CP2BN6n-q(~sv+NP8BVr1; zx&3da{C_4_;DdXz^u;gfm^L_$j1r`G7)5iL+^zHt^fRz>qXQ^7#$9DTTR1_%aA8m6 zxtT24OvIqIemNmZBV@Ll5b@LfRdZlY&2OA?y|3JOOLP>daBSCwl~{T;TXXm5`|yQ` z(8noW<%z@JTzxuBx7arvkS{x>_?(2zeTDHlzl?LnZYFU@O5=<VR*&k&jG6V}Hbqn- zW8u;;hPPrMuVH=Z*0oG0!Fa)w!4KIo(=9ttlQqg<tUc!nzP3~&`KQHJA-K!`<cA>j zW>ge0Y7Wh!4w(BUrw?gTzyJL9W*)$uM|YVbX1#2lEg?d0)~yK&%O?dxuXuiCh|=QU zQa&XpkI_nh9v$Iu5adaVyV#!=E<Mm|?dASJvRJ0@x}3*Z;LlJK!9DL}r=&kIL;bQX zis0>?;bW`B%f+f9gU!lRg+~CDBc43{1ec>Nc2?w?*7b`X9vPfc<}iW88bQeX5!T&V z8t#QLS6G8F=kj>>S2G>H590@=uoXVjWo-iJU-AM{=hY^rEJPH2#gT!xpOy3Y?noN@ zWTs=f<?y$uq=)gJ82*0&EXoQF{!Oj^L(Z&l!GO9s$p>0gAZCFnELdkCGQ<)QS+V-` zfk8ob2v;eDl~%3GRosKzF%<vy$M4a8+4Z~qj2B#Pct%J1;wU?y;$)rLqV8f9bpfm= zM{{x`rFlw127sP(vIa2gGyj_VrvySen1MCv$&q=m7{N<Ab4Xm)ysOn8Rg8uP|2Vw8 za2KXDnG;%fABu%IaTGN*?su4RvD}V?Z{odIDQ2q=WR~=Vl!I~0vpf@^u_@_jLR|(< zg1OCHHw_=Ij+<^MK_ezsdQN_JY+#jFK38Jy)?^Edn2LO<YxFa<vM*ZCs@%siWyI3x zG%2IF=j%9+siGS&$xt`kXTXCEI8wf|!EL9Vjzo(HsqlrWA*rV`;YonB!sLVkIqok< z3OAn&O1H{>tD>G5wKu;7oGH8mWr|l&v9m^Jdfs(KgOj@ohaPe$KW{8&P9+E<D1JU! zPNEb`5T>~G)}Z~4-9vvi)%Pgl@M{qcp%g;~TsS8D8c{h0W*2<|11xk3T@xBtC)Al= zYk6XzJ{dMCp_aC`+h3sU7`L1aN4Iva;sJ3y!dQ72)BTX8FJ?4L%7&qOM(^yuOdJfz z12B8m17H77m3Q+1jy&!+?%1#i)g$7=!nrLie42Y^hO#eIXb7SwGm~GYeO(-h9Yw@+ z>9HJx)*En|YbIkyK;}(rp@wzRD`{keNA#-{lVhtJHWQE^N)EY*H7URWS*jP8+NQQX zvjE;JUporRS={U4#o!@`sU;C$E9Gnv8UG?m(ZlR5&-&OY7HM?G1xviPasLMGcNQ8k z9HT6_8}ePM<Km~a6{g$BW@3&W>%KxCZ_!WUr=(#@`ETs2upVogLQe=cDmQ~P|LBtk zcA1WbC$q>S53?7pu>(6rxtz}r3XxzU#icE6!l$r^B5;x5^5msCWWq>$`U<(3AP@~V zJV|Fr&+Ol^HGptgaKW>K&P7Eymnke_$DyzeHmbp$l2c}J6i~R8>=;%X^_<ztHdv1E zTPTssW3E!O-z%o_p5%vl+b4pr)h5wc9g9n8QE*OiSfPKM4*oW`fmrBfeMZz$NAx!| zI1Ph<rggHVjsnz5eWSqElIiR)al-z}k(hXRiY|KI57n8I6eo^oE0AN5v<`d63ejJF zHNM9*XoAs~Pyz+lA=l<XbA-1KaqvZr7xk;Oi2OvPk7IF?vsG9OGzMY54k<DCT}Zx; z%`V`*LYuwFX1pR?&>D%*#_zuLUHB$J{yb^+adG&8EPb<OH2b?}r;qF(_n_LH2S~f8 zqSwSI`?Sp?G*eknJ8*pQX61Tc2{Q`(`L>dI?crOF8~34c?+m+t?$Lc_^M)=%yLjdH z@NZC@^X4-UwLb-bs=o2S3!(**nF7(r&Y7IvM_<VnQHlG{AV8sawvICfD!>lHezgKB z&iZK3U?MmO2nHmALBR3<<qd%W@qpiTVxJO8Nn<~fCg}>xBgF>MU=g-?Gu3r=vE;s> zp$Vtb8$S+KhnFx@7KqWE!NoDGLd`oM9QZ*+@C)B1b|aQ^G(E^q8bS(&gv-~440ln- zNxL*fc(wxJ(>Tw>28ik9@u*?>Tm9t7XIbkTL%6X>xB|l~bFR$KU*eUoaWXfhzc*3a z%lkgZd}cpPJ}f6+hL%v%uSl)Z3lz_Xh^ks4S91~IkhdVGroqtK`Mxnps4wAV4#Ax3 z>VhI4dC|yYs7Y+78Ove<)-5rSxYDUZP{WPc^#@fMv3UkONo#AERXc{!=LYJ-v-N&X zDjJ{MHVa4(@8@_G0_Jp8ONV#d(!ywWmq-l_Xy)2%z3Gd5LY-isJ37P@DbrQh+k8C# zGC(5|wzSc2D5x*z4@r?4Zj9qKu4<BykXP^Jh|8gbD)FD~Q{V(ee>GS~W5$%yBg)`4 z?Sxk*QNV3!dgq3KQ6Ac9qeoVLVInC<`U7>qpQ}cwhOUPqh(;5INjDpa@4ku=cpI=t zs;4d6a-K{@kukk%7L-msMLhrf!_@Qu!aRzCXWi^-+spI9<!|E=Z-hr!Huqoi{eI;S zCcE}7i;W8FPH90B#;ID(!3=p@=<kX)+zMUkk$a*9S~U}m-Z9>QHs?3@xi&%Cw*GmB zKNI?&^F^=di#ED1VZ<#u{nb)$&XfH~4t6iz#|0x>qD){+wdjef`t=UrTFL%SeR9?& zsJa$+hBOUu4zsP7kPkQ|s=n_32|!$0EY#w~qr=wpLb~wzqy`-jf2pm1QoJi@W~;gT zuGi{*<zJVc9lB2~HAg-6KNcW39xOZAFADyT?CO8YlHS)7DPm=s!DA@pG+8J*;g&=K zF7hmOMcnk5o8`)iiX?|{{EEJ8ApV&u7CPD&bvcmK0ppq6UsjIs-5piym6SzcJbh+n z6-LA9yGBE0;<>tZd8qs8kWle8@=LX!5YXN6o*uwdl+c<!nB)l&6Fp`IdB!!U6x0m5 z`0B03n}=^Q)3qB<4R^K`x^te;a}$X1%F5S%)(go6%U5m{C^F_I!HZ;J5m>tH{_yz( zOB(Q6+?rf!-fEi=RIRRFIMbJE;;k$t^;kG5nJ+&`<n&37yG)+&fpw^Lv~|g&ip+t` z%&D27b5O7C&?#`}D}?;Y1i1W$9uZqI7on4}rgE;#L!>_%(XD*$YCFqgdEwRb-Xw=Z z2NhhNs5HwlJU$gSGHUVsV+v^EmE)*lptx-7)?bE{5m<f;vKR4)u}k}EBpuVmdsW<4 zjSa%Xig)wCK!ro!NN}S2(v>S_KXQmCe0$GVtpD><f+E73xEykrk?j>i1~xvu6ouuz z@7u+R+~4xLtlNp42-Wd#`mPAcMi@|?g{V9d^S+KzUs<(i-5A_lVMf~QT6Iyk@Iz~% z%}1akp$|>o3(5C6=mjlEwkgjlUsvE_;=U<f2VB%Uvmpm}7oFmnjq}(AUf*{v1|=iL zhwz+#i2$1fa0ybf9*oPzdIfZQpP6U>Axn%>p#edwwP}2aY*_)<t*At6)*M=SgB%nJ zjw^yn*=Ajb%8#ikMtM(H_U4rcm1d_BzFqC?&G!aJjhy;@ZWv`@=DMjrsC{o0^7ie$ zMxQYG3kfv9j7I$s-LSiy)HcUoxw_-)j<q?U<rXe^;zu@!|EW{rq_Qts?Q~;Rp=9g5 zok3fn9ACR->@7$O%c}qDD!gvy=gxg?mn%bH6hN?ATLFCXsQ8p&J*9H)q7|vg`K0B+ z7s@e#`YycXw|P!mF<rfOskASOp~dF88|ygk?BF%F8P>X&q1qn-emyqN%>!wDAoG?# z`bk9p5K$cNQ(3(5BD*7tQaE?HtB)FKznb1rZ8>_Y8)LR}d$-1nc8mh(cvsGtJC4=c z2wSOLDFcLm0GJ3e*H7k_%`-dry<K~qys^OZG1UuKeai=#Jc8z4ZsRpk|H6CVb<)tV zbv%T30$kmXV=J+1hgK7&6fam#h!Ndu4*W+Bb95*&H04i#@+)8aTof=lWs#$lQp%T| zs1a>H7)txLtFNXdxO(F;N)EzSrsSN)=r+T_4J2^@1eLaRB^%f0eY^?)p;is*oinV* z@U<h4mv5|Ex2cXFaAWY)Pxxk~fKTutcipj}cAxBqKL<Q=Y;KTfgcqlz;J{yhR@tDR zxHDV$lBy1eHVROx^O}+k*nAFQiC4)keOrl?rsj6?-YyT*#?~+RRXR#o0B_$;QE4IN z5Gtb5PTJ9Zq=#(Z(S?)$K?fY?6YN;4WZRAD{h~2n{;JZ!^|_(XGIkcRmMo9y8o!?3 zF*pK<zWeTTC)#whidWL_;0_v#=q;E{B@qRE+=0Dg!FXEt<0GbQpkIczJ3aJ|C!!+Y z|3W_-xRzA!RV7jy?h>1%Ag$6#;7<-WU%(jj9-Ro%ivvr&$WrlLqe}s{I&z~F-Cg2z zaF^`u_w9x7Cxpw;qrt>g#c3}y5PvvqizU4)oX$eyF>E<>ReS;`a5y=IQv@cV9HZw} znv@0H!%+9_Vvzbw_3@UfG7Tl#-eRS*HMwp&k8I@;g*_|jh@a`6@7v$4S7YC8yFjc8 zW+v~gnn{MlDCc^zCOMBeYcE5IhzB2P{$7is8vF5t8KI}e%z_!+K8wARf*GIZGrC_M z*VMX%`;tXR^~DZUNHP{`nr~@pZ9acU;&8Lb56wQwfFzHalP46Fa_gR>>q~!D>h+gP z<<0Smsim+3=v1I)YHI$=3wS3;=Y*_)qR}d>jM-D(AT)|gaXRegVOp-$U#_*q=BBbO z_zjsLAgrYDu&iH1mHenUp@GJyn6odF2VJhDG6xNdl%ZO&f`VE0GdVWPT&}qsGs3$c zPnw24Me1iHa+e{M990A!ixo5qOK`}S#2=D=ED0iK$w*5^SZnmYDqYl_4BgJVP315g z<<4D?Sa=6<fAm|Wj))=<Bayjw*kKfv!X(%5FCKNVMooymDmGf6d5L|mo?O8487_Pl z<BGzIBg|_IABLA&b>PCMnWj4VPVvlRkpI2&VId}O$%nX+{%iGpZT|O!o#!<@0}<ku zgAM!N0q{rtlz`L=&GP(Lb*0|xcL`r6aG(8lU6|u~G$65NN4Dk*E-bM+e4l!W)60F2 zXSS$FC0oxyjiMLW1s$<)=~cEG<G$O-dBXU?Z+m?OJGUTv{-6)~)miAU?Nq?%nbnsX zF#JpY3WQZ4kk)5dGuri`-BUYG;W-ey>c8f5Ta%94b@t%A=(rGHsxI=*efMp8Qva>m zO|t6q=L#Nb<nXr$0D;l3Kig&KCr&<sRZr5T4fb6BW~*S>+xL+ntgY8rwD)hORST%f zJg)^DZGx7pfy~aI#CP!#2g3IRZyiugsD7duUAOh|sUK$zD>ojgyhelVXRh%oG(!7C zs7w=iHxV%`g1nTho`3$T9r4$w`wJ@pE1m<n8T;lk&MK@}eLI~Zne4a;4D-Qofn-ew z^X*dvP2Lm3>#B1Mp-%|^$d9_)Yn+8^`u8g+L!X7McIjS7{45}tDA|?4pgghmx3OCP zi=@kw>fC#xpTJRg%}#B<{WZ_JD(bt?am>JR)i9EG(6YyCZqYrIa3LzZP{Y|`&d^U9 zm9Lim`S(CnvL}>u{JNlCr}rLv^vQnQTFf}xPS0c8vaTAU$DpiNm8(xVhkL{gtNdgU z@Uea!n}UO{$X&tw$KI(vokPCw@y{D)dAmT<tBeya@a|5rOs^9|@0ZoPqqjX5dAkPL z7uFv8KWQTGv7Ulk9`qoMcj5g0hZa<_XD@{p-qR0iWq8k2v(}s@-*;QfH74Tcz_e|H z(q~^v&ZeUb6<NoR`;f}@D;8$5<2$yx(?yX)OXg1hg+r0|VZVH*=1NN9X>9Xz5BamV zfoHa9Z$`H?KJ@(;TmcYM3|QZJ9>RjT(|TC8_lbS+!fk<L96-P+bkh(ACJ8QmJOCGn zfS7W|8PtS9=3RnZNBH;bci<my=npf6S&Cre2eSWVDu6{%!H>-dV<WdSSn#|;O%VvX zW>36ox|Bh>OkZ*j5AlcFu1TFmgE&^@4GuCmo?~_N^K&L(XVy+0J4E{E*v}FMqOL8l z_2|@uJc2);%!8x7VU({GdiRe9bbg}daj7cz@qIm;9{Bww1&fo2HkyvDO%%ZHGt+6} zz&&s~02};42lJ?-Us_4_6Y=p3!o}D(=X1S{*C;&BBmmwB&)@%F(tv?XLbs@FBb~kL z*C@f+KtDOUXg_;HNEkO?aMAz}v_Il<vcx37Z>tc~H1x<9ajNW@_)R#+v+-;1zLxA} zW(x>Ov_XUKRyoya7)ul|IWbJ;dkU&NJyo?ls^2>MSI>Q)iKavAJaK*rd|u0p!ogED zMV03y*X)B`=)|etb)6-2nZtQSEh(4Q)lt9>RNbyJlT1;HWKO}MRw_qvA%S?(DOiTH z{xQP4=v>s$ImLOxvqmmvCPmXWN%IYpD!ep}1WoIGBaOgnk>(PzBSx{W)3i40@1UAn zsGO0^<Tuf;=rQvda#bnJefpgPNw7jOaakpBn0f@hYS~xiY2r~!ocCnndr12Bip*vX zItEWxt`AjrizachwJ?gqbd^IUGVmXv_xYU3!$s<28B9h*NS54c*b8a_&`oQ{4dSUb zndXgQOyo=PQRU<0dw!wu*%4W-5o-qXN4N359^G0Y_PizCzNJ8W@2188t@uOMH$hRY z0PqlbmC8ZJ%?$8MQjAiZ{553~c4X+3%BwdcvUgyht$HL=P9CsH!?;KE;37`?CDtW5 zP9fTH7I3hb%ILO&=itZ3+2m`s(6RvN>}B?@1L?aSzc^W%l9%;Uvgn&EQ}JR;w*1z0 z$;2bUwE-Ue+eGarAA&-l&?eg^2I!8zU)#9tt3*T$)qc<g*WbK9pU3RiF&d`vo}!w{ z+Cv7sY+l5?u(WAOYns)RPIpL*I(CxA{Jn8T!*xWBjLAXsHCj{SvEz-c-*Q?=10B5? zv})zw8`fE#vdWB<Ey)pfnojOchCKNaZ==$3H>`OmRWdWx2PIA|%rH+GOTGL^+g2gr z0#}yk?#1+|>M4(<j6?CLKZ$>E0UGNnPxT%DJgkiJEZPk*_pEdiii#8qf3+Uo_!b!$ zcVk+Nl^eIsUX^R`Q>)c+{TMjKsJVaFK-Q0)o7ZKk?p?QpcUhoq+&EfC@1-eqrF~Lc zu*hVXv6pta-SN05KxbI+>&~d#-hw$u37p>xnxdssxqG!vH%P_9B+cbD8y-P(@&Q~& z09Kp=#p4gBVGU@{k{yLkc^o%3pPUsMhShy{Ne4vvEss-VAAg_J`Tv?=NF`Zmf>OJi znpyi=W!=fl)e2bI9_=>e!*L8!K}JWMn%;hNy_wt>-b=~%&lE}7yzAbKzZo$6R`bYF z6|d}Pe{yO6FAp~u)FnNWuzb@uozT7aVds5P1>P9l``rC}TlYuu4lJS}o^UQ3*``U9 zcv<OPau|^%;3z)G&FgzBF)o@%**eVA0yJ>ES{7BmMj|;1l%|~s;`(MQenDQg`7J&% zZ>DBfQUu=Sd0CGEdj3Y}X&xM{C}sqiXSG0M3eXB#zB$Pi9NztY<-Tt*j{+0%_f#3M zvMh-#zb1yl8!a~60AIn8(cpdEeNhzw01=qQuQ!@zwGuNj2E244Izrrs-ri=Rgo*_m zp$0_0CH}8k#eei`<gieH(P(Mrbmi6UcyE$p`J%mV8Z#YT@f}njw5!Vuc8i{Bj?VXx z>kteyBc#F4&w}40IfNy-tLU8GWnb@8>zI_AL_aX8!|2$W_%88IgbB|Vmb(ueE+RdZ zT?zR!sFC^V?RQ=iXTK{qv5}e17@{yps2JL@ZCn~Z_jJB7Up%{qynK$onfCghxd=Bm z%Q9{G)X2J@eDD-&nA^|M$|eD6bQ5dG`oF?~prHmOu4LWj&|}YQ5k`$8&Lq`&F2Tj| z=VQ+^(_yj<qsSeq2eXqh$t@p$h@Rf<J)xncGy`JYA3BsdO-E_?Ar*(@h}IKG1x4;} zq1Duqo%=p-0Km_-&oY`jS63b2QFAO?_w61$*=mdR%p|UT<72%<QGA%pC>HMJ>ZM6v zmU?yfvOMyJnEPk|Wv&E5JeMF>1WR3{UT1eSgvrd<sg(gG3bD<_MCUhk$}afUfg#pi zPJYu(Jq9ZJBBV-H_HqkGfuhnSJ?$k0mRLnpjT$k=(s51kde%DA;Rx@WB?HO+fVFux z5ipK;2gjDe^X1w_9M??WMMKBwa4xs4*YcV*9nH#Gv+u(%uy0Lqj|Aep{bGE_=JO_( zN|AN<ZoY>v>lCH#pfn9`JABF*69T0J{uxgOcWk#yywH}=?2RiEbJ-9E{$(RS*A`_Q z!lXd1B4b1J<t)BDAC;vqx+e)2Oh%|1OHbOLi&~-dBv|b@;>jot>cJK!U7R|@42WLU zaMwY|{>WIQ>kG^W=O&+Ow+<!Ntq*9=;RCV@Y6z0(sp%LMQvIF}`!7+Uci+=M>7a(z zk^|!Wy!p?DZ?e;?k7_$a6HiYJ1_|#ud4wP&9SpDpq0E~eI?=UiJT(%Fgci<K;m?Q| z@73hH4ALtBnh`*wOkkjx<(w0z(e--=4_M9fBRHAyLHyrw7^2C+bShx^ZZW0&t|Mh8 zi_03;7CcB)I&RMcSvu#!@%Se}tb;r%E;t!%;t=>bvs_|ruB26ZDkZbB5MQ_1A4>Gy zxHC5W+78%3+MnQD9H4wI0QZ$)xp!mi;CtB14e+=*?HaJ4!!%`N(CNvUU1)RiH>?%Y z5;phX;zhB*--x_BgP65sM50IwMGzr72$Lt=ZOHN?s$6x@Pa&5I6gt=DY0$HiaZ<lT z_RkofokGa8`muu0(c_}nC<EP7)Ag>(LK`_4I@vaMv6XZ7r5u1Fv)q39`x)OU%;bl6 zmWd&DdK<U@l;SsKkjctrKSE6Lac<b%%v&UHgo15j{%z0((oic?F&?lbfX&oUt&@k6 z7B)jwn&#p_a+GkSKf^YJ1NBFcTyt9v+DBqiGGiJt--qg5y)&!*?1k~xd~;8mZ!TTQ z7Wz=Xqbx7~nJ0@af05gt7%M$tLxmfXP1WcmO!jw7o~OBV8p6ZMqR)+Qb`%dcns`@v zfqI``UglSioU>7`q1EV%CvL&IoDxiy61V!4;(86OL(N2BC(FC~wak?(*F;PBKW-~H z4*7n6?+O%iKF?pBDR-Q4!Dak#bX7j6i2y7sU&b)DNS|s2Hhv{wreXeOA~-S*Y%^Ap z0A37%J{C0wR-DoBJgVLm9E*MhMa9$%6*Z2KqE}I6t=6J|!K42dtI<YTO;<KFhK&*h zcY|(}UowiVnQ8$3zHcrcB{y3-6~B;|f0bF@mrlE>)K}tO1hgsf)Wg#S+D3p3l?*B) zJm8jd7TpcF8=d@E@^mb|eTd{4*dU+93+&djfag6bS|yZ>cG37D$9i0i)=CpPpK<w| z`}5idy6hdq_$)#Co+n+!wxn}i*{_eX9UAUT0z<Z`v_EtHa+z9|$_x-V#?(%h9Epmp zVj(no#2|GjjHP`sZw;hO=^kCYDi-~1^i-?OC$*G{TAnk!s09zF)dZ-p-;US8a~{PU zd2WvXmVg}+F!<V(td_hp^ZoXcYvw@yvUvYfMflV3Lc7lI<=XR_|D@LVUvg&O@b>3B zYrZG|gsWp5Nku#T)qIf(eY+qz*>|3S>ak7G%K@-vndxP-B7#Av+wV2}3wtM5&|4&( zNdK2znautmJeh#^WmlbkyTeLfs?&g8iEO_6^IAMHpK-UxS}a??5{d>^rjz^l^A%g~ zWeVEW1}qiTa)Z&w_DAaRbbiIExpa+o9mwsi%yGR{Au92Em)%s_L_vVCzt<B9X<lGW zSlFvK=u<luZwjB)(B}<z#Vp#A7ZPtMSlW_=E51fI&w7|cSCPOrp1A*h{^9+gWm=>| zHgP)^V7M!RNsd{N<a5tJHN1x*9fnyEpT}=LHil}y;eGnm?T|2)PGw%{h1g~Pv}G(U zJ;MNp++~Fng;r}Wj7Q>9<mz^~x&HPVdX^-uo<T2e(ZbI#IHnIxcqk+;YRyu@Rcg>l zEZ9af|IAADX&{DfcBm08st{dro@fzNG&xpE<8EZ@^8Tmnzq|lN)jK*nmj>fNI24k{ zL+r%emL?%^v0}^1^@qo@$4#HK8nF(1$aAbc3C&K3F2PtHJPDF?KA-6a{#!+soIS!n zU*lAE)5HP#NHfifrDnRnPfW88Tj4=lK^*H){58=zz;As(XIa^yK|(rwL)0~2bs-f* z13l<+CbCt$<=%jpd6HyZrAh(E>*n4=)lJb8Kh)AnN+{Xk$eoXyJ=@7#BStJl*%uuY zN9_q6qp!zl*rx;k_xEeW-aYeHf_@z<O1c$eM+lDDVS%%9aHU_oiXWZ(oKY9?7#+7j z*PXnx&e?>8X=X`~?RB+_bkLSE-_1{VPx5YK^~jp2<H>!cz{7fe9i0p-4Hqva<RM(? z_e{0usTf60&(soZqUIR!X72lb$1!%g+Csb3LMRiQ<1E=)NI0ORPju7@?fTtPn2C~I z-LkpHhiHfA*u?ulG3mm^Q)dIUwWaN|0*09;OPtS$=(K$+Qv_0LJ6Tlqfu_aT!WfSL zk6~Yf#SPZ}PSx*)_R$@y3%oI&FNBO62Fbq^{@e``RTX`nb%!P+PCY^Q(7ZaCzP?Bd zsJx=5pD<RqEp4zER^)vbG3mJQ?h|%?ke$e{XWQgZOvH3*ou>Fu1*T4qn(=6D*Zy9? zM<3xvNWYvTlcC{lpr4xU)7JahKu0pzxp)im_>8X%v!eLq*Bx3axZe5INd0jH_xXMG ze!_&QSf*0Q{sSM|<HoLoAeZ+xylx@#GY`Ookt%Q+zqMm**!fV?*}X-C?%&S{V$xq# z(je5*OGakWvExR_EVTzwVduIiaRK2ev4<_!1p9L^W_29+Ssi!Xb1Qz5EEdR0;a(eL zrMFSHfgf@!(D0me8=)6q7H$)hY#}7xsdtp3qLk~_+#EuKW}NbQ^Sl@|(p2P*ic!F~ zG0;0yn9d;zCCT@rZ+TyHOF=1r;ZD0W&!%F*G3QNp@#)L@OsT$;6!msv<u;Mr6WCQH z(cnjU&%){lwlGX6TrIxirsmggL_1r!Q-~nuy8^?3gYSqrzq|VZz>`_e#<#?M{%ipy z;LEY72QKp#ol&eYR(16>LhbZL$_5jWlsp}k<Zg|{DQ<0R#(z1D|M9dULGUrn!25C6 z-Ij)r)>IFUY_Z^CP8BGt3A`ZqNI!FlSgYB@-Y_8awL7!YQ&qsr+{0+)yF{X*`f-Za zI+w<)vp_x=PO$=S9-Yb_*HhR-5*YDgiijxf2}9Yns?9I*d~MloM>hd5pZ%!gFGrW0 z&embknX<ejhfXKJBq!VMl9&N-pe%!vfAruqX{$h1a!KJi_bS;<YB~NsiGjc4p?N-l zuMXcsvhm9O`+RN&{loj($i?4su6@XH!A-l5-UgoF9xZ(A1dHajLD@)owm(<EJR)`& z0bjPifYY-ZWSu#kPdc70VqOj^HCU;4z2iZs#D+(kea;j1uea(9QkWD4zr9d|!jF!R zhBFNZemwi#b)CRH-pHa`z|4BC80F@rwfa2~Z2`Xs`)vYt0!am1S59o#YbWdhfN%?z z`CD~$4ba<q4IS!WOSr_p@qv3?*6%MDk<WOZ7t4UpHXW5OBCXnHQ};2G*znJQz3_^L zo_#m7xT*Mqw|V3lKId(ZgRyTbhW^-g^_LG)1PtMZ2(a#rPv{3T{gr{g5_Az{w*A49 z`M*4Kfp@a7Z*Tnk`~^zcn_Y_daVi3ox(74Ac3V`e!}2jAAhOdmtry@v&kat|c%9bM z^f|%5`1!sAzUlcg9Car*Tjth<$_GiCo9`Cock^S=V~4mb;fs(6u(F0=0F#1S<#oCP zB30>C&C~I5<Y_7x_Z%aT@R^FEW*{oiLsj;p4g{q1C!;87*5Pv@)o}UT=K=4i1U}Q9 z56iVi@xG4FmO6$@_1}J>UMwT&KSrTeSO_&kY@)yz<JTZFl&vbBmVU+PL48fWV^ixc zrmz>-AGWGcw&gW*OVyy29pNh-fZ4G8<rIIY%#$1Ud*^F%$>!iI+vb~|^j*T(@Q#W@ zfP!Ht_Jzl*VssF>w?t8~(Z|c*XnS_4Uv3@}Ei$1y36*PK@J_>@FJi~bQ2+I=7S)=x zTxc#k0ix4_bEd`_67t!9R|Wo5u;Jz|nu|J2Six~DQ1He_Dn5c0RNy>bzIqdjPlMz! zFiKi~akV{{JIF^=ATYg52_~AzAjOQ5Q*!Xr|NM#Wnl%tCX&ah>FdMIT2|VvPEyWfv z%vtjS-rx5;m5N@}U+r+QiFh_%drLVi&`R#a)o*cV_LNxcBr*t-MLD{dnJuWbZF~=e z0Iy%;N}m-q$GON``OdL^ju>}|LW7l8&`;7oy#0X}WRzxhyn>$k9#?2Z&BE_SA`Vy) zsEm`Z6uKorb;~EX*E#a;;pe~ur^jw$TzySD_FFx{a&g1;sI=`w0bI*3;ChXWeouvA z$Qf93bu;34xwEHAgmnJBm?0K2UXoigselrqiF}Rjt<+y<q{jtLo+F~Y>$Az!h7`33 zf>{vK(-LK)g4RnnuHV_KwJqwN9miOZWoT%;J0%|at*<@ziiJG|HwPL*^W02jbukg) zj|!ajPt_lPLRJ_$NpByc6QKq$5M<)zFIG9N_}}yOhQ2J`=S|)4orBfM>(%1Bjn2LM z`K*Tpe@Elaum2tTh1{Wxn11=M0vg+A*rHJ}PVG5cUQfS9!|bXGvSioyZfAB*CB-b* zywfjx;xWbXpHw{}?(O@ggLjja%zIlV7N8-RrQ5MkH?O!P4!Sy(3Y2z45-#6MF=}nf zqh&JG>pqF}N9s^oE}--7L*2gZWIq{Pv435bU<_&~lFSyFh_X#aBxO{bXL`BeZkr<i zmPUn}^XH(zy5qHFpF{;2`KQ4bunR}*<dn{6Sm+&Fk6t1B(G<h6iER3d2*xeM3%)EC zm;ytfwTX!38IKl)=~|8l#F4UqgE2jTBuKY!ruh1l`noUzXn%nOF3|P+11sP@(*OzJ zPU@`VhJO-#8yFcRsR2BHAgk7hLS7`TH;SApdP^*h&IJu(PUZ^!|E;KGFTe)`g?0kY zh#CMph0QSQ5~cLEz*tOdGNdAJz4H;ChF#RFTlV>~{^Nzol+n};{+V+u{?>q&_oY_u z!crIA5OSAV@8Rc(0V|ozYUf}0rTx)q$BmkK_mRr&LR_>PGZsU1(pg!y_1%Os`-+p_ zJ(Nurv7J6PE_1Xl@(=YG!m|3CmiH7MGbQ_EI`pQ=q(1$TB_%kv-aX=II6CQ^<xc2< zNT2K4qR_KSeO|eW#E*d#eRH;m-;@<EUd-Gs6kXyp_u3QrR7hJ-K8T+#Oja~XU6P68 zkhG2l8Gp55*`KjFY_vnOnr*~v>0NI&X>?HX^UL!&Z#-XJEY~H*B?#Ewngmvhk<V6m zvwgm$ofX)87`Z>;y1Ke*h-9xj&+dv#Mu<LKA`eFG^5}dIPoaqK_PhC%|Aa^5_r821 z8jYpRYp84SIcpvajm#G^JIwqZNEPQ$`T3AjQ!f`4-tr{sdYeQs{L}Y3T#VgkibscX z_P)CYtX`u%Ri>DMO6YYjFBvKNvWeVnooVDJZ=qSr32`nWa`#HL^~+O!C)IUSOD9t+ zjcK@W)St&3!Gy1c9ZiC2rB;8f&s;Vz=XlECa=Y!HTrUOokRZjb>FGUPtk9W!pcAzA zTY&dRMTzE=4iAq#go;`~T8UqTvG))3sy%Fdv1C=E+1`wl*Infn(zBWqf;Vt}(u!6z zvcyO3#%iw0{t2@UDno*hz#{YGzM4UyfK&V^#EGFv7ZdcBWYr;5mpSC}CXeHUVpMz> zo1UaE|BYf*D9`^|T4Wv1?|<F#eI|#0s~t+mD9|x=?A!Oiqft`9c8YfL`OtD}gG&Q~ z%wZ?p5Rvn4LoP%jDdL|CU5?n-iD3YTR%$k+%*z_)ZM~E(lY{Y3$<bdh8Kuh!1V$aQ z=evL_qjw+aIbNh@_>=G9?SVn<j<P%?K&u7Qn~P^>up87}zxy+;L>Lh|$iH_x@z^<A zx6!s3<Rrfw6XK{r^c=`rwj#OLoF}}qW85+tJ~fl2W!$Le!b$AG;(g%%<S&{#e==9> z*z(NWLx$@fYt{}DFW@)q<hdFFEZ(>R#!}#8y#u9d7ELf2WQ=RsSti|=59>a3uAX&h zI=Z+I#y^Jl6vX+6#nEp)QU^ZzK=cG1zGG*(BK)?)bfGa`LFES55tFTm-qU@Xp2N0u zeL3?lcffeEL+6~z{%nzx>U$u|H@N;HgRHjq8~EGA3sbebWp6VK<}_{%RKLK%-@7}w z(!V(IcXljZ;YnGiYgay<{rmc{C7Cvjkh}x%R$P4cmTg&k6I{Z_MSB(Jeq4h<$`#Zt zqlDkf@?VFxY0$-$YQ_NXA-@<EICBc_EQf>HELejIg#dL{wl5*S6x>&A<ZDd(PuzGx zf`Csz5}^9p?zQ55HG!CQE4TlwxBVdFU)f#0Bj5$yJ4(zWmLv9Y<pt={K}z_&V`1v- zp&mAu`PIJeSx0JwX8{;F*^I>7yYik_R`vNkA<B6Z6f*S%%zI6$Vi{r>x&3_W=r$Ab zOVLf6Pt?=R4t(;D*z^1EjP?OHL;f!(=Q9<hk3qct!yB-~I~1TYgadBH%WQ8&w~N@T zsLtM4G8=9W^>Ibc3$I@9oe=*=)8N%suM@}W>HbRQ)nC8~tBRoc$HfW$ToD&0<ck*{ zh?~beW;vh+aHnOr!BX15Adk0ZiC@&JA@BhL#Dx4$4F&)XG(^7sYcZHGx|slil>Ju9 zc7Dtny3PO%{`EnU$T`qd>UXE<A0p`-w+mP|X`4z|cGXQAsTZj<AA)ErdUo#Sd;bYV z7WY9TZZCGSfdRR@egW_*`p?f<K|yATdLd8~65poJ-cyb`_pc&+4ftF1k72}&_RZ?% zExZx3(Y^eNSi|+R%mc96oeJ*izX}};If%i`@2&tZ1B|#Yde3&Yv<3+T_m2Q3#9<c_ z0b~7zwKu~f04{Jal)uk^I4+HbJE+LU@ocuwe{bUN!m@I|5q6V+|M#mOh$x#mGA<H` zpJcqAfUeFb)RVBWW&A|l9bxRtZ3&@gilf5HHbH6apS8J_eY(f<^F%2`I1DP(Wc02( z{?kd=hauKi$dT(RLA5c8@r%^GnrMbUX>>p5`@3(9tUbssJ}N?|F8)}HAf}2vT_L5b z8?daQsIN4Cs}5pmGa+@jjYXrdG0nJ58!$f><zNWs^OE6+qYqaY>Y-{9vrerWt8b$+ zb6f8H*>;Gz-#XWbZl>Xf=-!kPh};42V#V8XP1!KgYuP%QPgv)!3Z)JlB^cykYI~%~ z0KQ6kcsypcjMo`;By7PCOZ;kg6n%Fwv$eJD_^G-9o@4^MO{MEh|KvJ(zi=iBx^J{D z2+D3MOZhJ^!0clAsv?o7uK(_;<2&t2Rg3L#`F#u$3g!E+D-ZPUmrD&b<0h{wq$}r= z@wly4+tkn{m%akg3adJOzAcwOnco2=vTb?`<y_?|bNIraty~?~s~jg64d;t>Ev^R< z_mdd>)*sJ~ZKVHxWuT_V|8c=~PQB7~v}_>q0c84XjU5V?Zv#J49Il8I8?#)eSLFCK zLAM~2?<*s1yVi9uv(xO!lsUim({viQJ_dRBdByMzPFk1=qvz%4$4&pu^_+Eni~R{2 zOP>&MH&F9K4DfmFPZn@G=zp<X<-L}!BmDAsaCC(Gvi-6v`La{vn3Jb@5@TN<9}}1N zan-Tq|Lpg;_t80&NOSW>OhQ#-WLyjrY8)EURM_L}fS16Dm|uEQgd*eDTI?sf8z!Sn zb3);Y188@Nb(XI(Uv<UGVy~sArwyC%Zx4DzU4^XNhH+i6EQ{A3+!NUfxF9Do>hSIl zvM%6yZqeiV|LA(lu(+aSTQs<P<4ziPch|<<-8D#Xk~HqxI3xrb3GNyoxJz&ggrLEl z1PF9LviI5Y&b_zSkF~!3Ijd&PS))dc>Ur3H{T9Yv+fge!5DkC$!~P6tjqqq-idEDZ zU!V)`mF;qsGu!J-k$-QF^9_npnt`jU#Bz^*l_G@QJ5kk>I8AS~ZQqxh*8IJ~&nACO zm~%2S<oR+rbFlmFPnJ|_CrtW*WbdMF!RC&+qTrWf-L!NH%DZJK=2$&a+rZ~i04f!k z!^TK^27-oGLG%8G5S#w!GW5D|q<D&Yn-)o+JF4E8GAl3!s>RCngV-bf$9Fj;kT-30 z!f&!4J@@5xnR<<$_ty_*w_=+BuCE)nQ;eUb*-m6`UzR4n2LnMoIFHJ~kL*PDfj%;! zQ0GKuWV?O_6;`|XXr{Iv$8Xg-i1ZncPtr8-=j#0GpPkM6@5G!8!)+)KH@&{DKJRyu zaP*uzQ8>;YiO+vxI`M|2zv>|`Dh(u?A>@QaTExS9_~AFYD&B5jX_&VqVp0*d)B9Fa zc+VsIno9x4wetRE0vyi$NGk>V&o%GQBOLFl&dLy@|ApJTnKhCXHqx(JZW<*Q+Ir^L zq{M|)N^6`HvH6y-d9q12gZSXPCWL57!wABnsKU^7D&5{xmTc~5kd7RMO?5ojm~X&^ zKK?6bx8LF7osoKviCQVV?I`K9@({S!uQ?8hYurD&t#X_z=S3uO^rc5BrU6AS@uyH( zFt9XywOp=myg4?n@4$X9!}V4}G<l0K8D%lmvivg}vv8YiL`Jhxh1*i?&>PRWI)(Xt zjT>U0>(|~Ki;3j?bsa~Q-@AiN!+L*&F(2W+d77fKS6Wn8Sy+CxSXm16PFRAh8h+T_ zwdkB@eG?^@`68^Qrqb5V?)E(3WHssDj!n`IuOWeFJg<fD=GL^uRgp_!JoQY|M|bXQ zqmzh;&{x|3WL@#c(d&2Dr)`0uQD#WJK}sLJqhXr9>b^}(8f~vOn385x5Te&De@j+Z zl90{vi3$VO8r;m9_Bl=4-1uMbH^U;(7F8=vQq2l`OglAoy~p0Y&BXm6wxn8lJ-VZ% zwjTYkB!2d8zhcCvu}NlVCRnd{SR+rM$Y?3p+I?MuEQ0-Kbcfi9DX?CLW!U;qcXA|5 z$i)hvwNbA&qPAj)A(7Q=pGX=GxgSNUkD&v8CY+!v%8E|X=eSc{zrYB_o+YQshvwV& zE%f1(v&64*BtnCk9Wu|4xMZq(kp=ZrqPEX4K@&HZ@%2n9HuVl8VHQy`P{4b&uS{Dg zG0KzDf*3Hp#sC|K%U0;A-j(oM{LO=s71W5E%c0JnC-<-dZI|fbFjWCN83`&l<eZS} za{sapZa24e=kTKFK$}Cph7zljC11d6;W>E8H-F69#aF+oAc?rtr0QJ|Q<Q60#Cmyn z8YypPbgc9lfh~C`;g34{E@O^LR<Q&uV6ua+<vd+OGnb5Q)ht8G={zMxX4%^7(wRQx zJ=mEaRYR7K2jJx6P9_q|MYd0jW;cZKR_;e9ZY&h@d<l9OOa7b;pBID(nhrBu!|3lx zTZzU=7thn2*_Z8=33;B$zP}3}CuAHHVK#R^?@~svur_-m2lCvwVbA#z78m{5<CjM) z<Gh4Rt5pG`2=XB~EnGimC;<+(hE)y0;b<^0>;K+SS})QzN(*nL2$#uZ@vJjUqO3(j z3$|~irMkqm#WgqnBqu~SNlYc!v&pidaw6HnP(F~ih_>@ETm2}+m{T9c@V>}g^;(v_ zCV)c*X<6?kLIEB_6CVsF89~(FTT(LMp|3iN`!jHhkuw=>;xKXjc!N~R<HK)x$1I?3 zZG8$Hcc-w8&B29JP8K}1F{p)AS~aweCV#<@RtM6JTU)Kd%}3Jj&KL*ldb4_k%8K*s z%=@Gt!BNEt{sD{RpFWnQSho6#Cb>NnOcGBR`JS!2tkf4hq24T_evo=A)@n&YLc+wz zoFeJje`HWq{*%lgQB#Q!f4_3p_Uws~vBh;sz0xA2X{Ds+;}V^Lb^<|3KNMQBHuh7a z-Ffe7FPY(q6oqJoag~jWEm1|Y(xOVpM3{kLyDYzUd8F%Co$&SbwKfWgXix`t*TtMX z-goeCivSMO#**^F)TSQf!(_rvGDpUxawCKq=?>T1_{<1Yyot4Z0~5;zpE1a+)AO+h z?x{^7lYFQqo*+5qe{;Q;{m>)A^{e~$CVWya#WnLX9E;ns#b@uxU?SxAVUOz~8<v4a zR3`kw1VyhB-<GmXWX@`Nvyl^ZcE2SSB32dnhlO*=6ljrl<Otw;vOwcMz-3{LBtS!y zC2OJaQSY;{oYkD&4Xf4Iqu~)wkl9}sUGtcLB-=Kn8*!Rnbi=j}c<qXz#g6JvyHm?B zzvn~O(tFRZ?&&)7^jjMi=4>Ffw%07Azr;w^V21}YgshvMF;U+-?hL8JX^G&<bBk-+ znrUL({LY9XO8YXotEEm264UTSU>3QN*9cpL3LeND_U)N!DUS`$;dS)Zmyg5w=H5Yt zOBKv7<4Jr&n(%wl;>l1Fn`B+-bBk9RIw>hR0~}yhv>p9J_LCXgD+%1Es2O)Nj(W_` zA(yEH4UZ6HyjqTx=AEY5+6mq2ID32HSS+RYQVcLq%QBzHh**1ryln}mcFhQ(G+7o( zW^tK#=`JmO@T=S)wkyw~r~9W#+H`Qh=G-Tg@7rF83IS5p`<(9Iy)0*}AH`r%zP=xE ze>@jtIp1P#UQ@jXU#5qUJ@eg`U%qeu^XK{;QO@}5<L|wXeqJ$r);0j@$0ax^9MdW) z=n|eX2{w3c^!NeK-u`d33OJkz9$)Z;{3*PU$A&Eq9}uq7kFf1D^qK}sPs4bDL4{pb zjh^%UPXy+cnM9GDkwk_*)x7L;po&Gq9rh!d9}Ps+`hYc4QLYtmAQ}ifeFJ3GKtn~G z14rtFBr^F3Jnn3BPfmN;R8eLtWgQhmh*UU?%nCXU1D-)EGYYwl%=dnEKWl>;?9aou zCly8AEGI2~Gcozf`fJ<kI=$^1e{7NS`G8mX7HX`qO`RhB5ZDMS_w11pwhW-g$&k9% z5H??~3gE`s8A<<S{bY9-JzzBjGqn1h$Iexkn_3?{_4!oXKUJ*5c9CskTjx^}(7P5M z`i`~>e#WmQ?UK6&R3XO5TuZjS-miIJ$hPtUDJW#LZmf9!#K&;fYp@-1^;n%(dLN$E z{P6o!++|z*tK=VnIAb*<j%75<clV5Oao!J;+2#UUP>i1`Vmr-HsN8knr?al>?_+vp z?_l?&E$ObCuYXe08Q3b4jWuF@dV?{n1))&F>Nc!1nQt_h5M(zxvU)4-<RAP{`wbra zwWe*O<@N8gpx0lXzCGa;F(U)Ug+(H@6YjowexZ2#OEg9D@(mCEjA^LUxy5fOYYC*B zABb}Gv73CSymDnw91&zrWremv1E-8l#sL*6PWfgpMW_c_U>`|ULdKnP6|#*3xd^Rw z$tbXPK&z{LDGkLP+aSC)swI#fWq6p_S15=v($0s$*hmNr3rLrSS<e)vYf9cWk9+O8 z)qQCUS)QJN`*@fZD-rr26N>}JjqAV1T=WB2{e!W$^%q7IgA71iwt<n4L~Xm}gVHzD z6LRu=lz~+@cb_OpyVXUo;rcXjXI(V#aDB@mQ1GC1Y{ranjDlSWh8^aOsoAunH^n?+ zQG~t^`A)@;&d^@Pl6KvNsKVp`$!tr73ks?C7%U@<FbtXm)j-|HA?Xz{MLV|9*DNQg z!<aZ;EW6ai@D-F8Ie}Fqyhgz4Ok?Hsxh{<Ui*0XH{dW$pxaut{nCRUn1rBq2^x`t> zfPkDb>z+6NtB3ztD=PrTuGXaUT=NWv%j?qIBm1r?E+!<(vq0AnU*hSa6Q@VPUo-x^ zWy#=}G2oaktmhbK#y@!x-ed+4#KzjF*Ob#Of&wV%Mf_yE#L@~GIl~S3$A0zx3|OO( zNi*EeaC&BU^A-6cZOd1%-74lpx$MU?@KwA`*K<7JKD~zx_t$(JWwSv2g5hR;(fnX~ zIW_Gu^V9q31LwRJ?w;q1wn2?gpm~C>hk??Qc(>>4TRb}qO0b-#=zR&hTWKFon!h=> z47#NS!+*MUfm0ZdnV7*(i%u*Kaio@khb_ySCI0@$Yxh%amdjR~?KXC!7;P?#<G83a zK{uBHn@=*d9j|VEHqz2QC4EO-WZAlVJuS5phDI~v!NSHiJ*rY?B+bagrwVu4J#>2Y z?Mt!RPfgG6TcutIrLadOcGOzyD?7AmWtxyT+ac*UZQ_1sH`8XG#t0$cOV}I)BIb8= zAob;bspn(RuON>i!K!Sx^!H_7o9sfKub34d)iqUOdyewleolYTLf2Wy=%P=j!!Thr z9Vs1|lvOgwoMf$R<{pATVIKHUW+#udBW4$r!ihib*OkD+c}SPan1a5K9mx{D#&W3w zaa49|gEijx;;y99@Ib#bAUty<HpwiuxRsN~QI?bH=)E`B`o$PYy$EM$WUq4k%_~AW z`X12d@3|nI60?k|KrJR?fYVq(_a9tQmzC#}l)Wf2&F|6yJT^J`=({hl3}BQ?@tGa& z+96fT%~9TC%uW+HwN5KqX*cHBf0%fTFcY^?xa%FVMY}kM)YM})0_Camz@Pb{a<~{q zB3$Mo6lT4T^1p!9H!n}ky|nuxs5RMlt&isFx9Zf(N=wvv6%gHCfgXgN2gD>I5)&K6 z8g1OZS?hSWgH3$7KLsk_+x6%4n|<i7pXf6r1OjJmKX?_XJC=Thd-nDmZ;W0(r8M6S zP1kL0?sbO$o9Fhg$PcH@fin$!Px0W%$sVHfHCIJ_I3lPnS$^Gz!Xsf7Hc3j#`f>vS zCww39-IQP*!H^~0Om@^Jz}Z2yg`2f(bVa?WKxasLwLmjrBb%hHG%u|I>ABjo@$0_* zxiKs`KCamLhwUZ4`dggZ+pK?K0e$EB4a_I+=iJ4aSeYv9k}`<Ye!nASTUA!HA9W!f zlTlS%mZJB#IDVM#N;)U;c*>z4DIvi`8gHh`XUXC)`LzS3EiSe@TCB^?$}=_8X|V3= zkD+<z`;eHsf*LAMYp$z1*RA|}VF5Mou=DKR3<P4mm*4-=U1e0`@x2;UwN$fhYiCqz z`ZUS^RqNiKq9*k7{!!J9!}pJOvX<|pK7TT9dnNCnsQAbKlz}1qTibcpZ%;gIYB3<2 zSn&2B=>GmbH#cOt+GHLYq$goU_5QSjv`jr$sek3m+do-#=4nejH9E!758G;4oNwU~ zDX`lI%I3EVEz9N=HKLbKpnH_4&n=~UrO)eh{=MegE~}ngCjIgWhQhaBm|UunU*b*d z5%SwUXM`_m+sI*1lJBV#c1eJL8Gk~rijp4L!f7_htlb|<XR~&GL!AENqn&GRr4m3b zTZM{CMSg2WdlEu*#o?UJ>9V8>^6`;qYZX1cR*&%9#%h((HE}C9JN3&7$8ZoP53q-C zq<?XPb%|PPn|yI!9mYAXGzssVR4ZFa@E$9zJZkBcU{C08$k0hkb8ui(?w1Z`JUn=_ zDaHbaG@Bd}z_1?8$kaIA>GbkOPU$6qaUH9RRO2fFe<C3neq%bJnr^wB*@}m`s#o0x zftQh(f;P)j8$;%DTfB47)A{zQHx8<k1ErDx1(sG2>s_siGYI`b1hEUc_!Dk)rNuAw zm2Q9fvg*zW_}}o_KfmFlk1_I$g83hkN3{JTs&ZaXQAdcmTCMQ2s;7_E3k=T~C)i{6 zV`(H$IM48{>l`4zO<K;nKqriuvrAn16zCI^q4Z~9b8SHdWX6{+TJ@y!{u*+>6S0Sq zpPUSjT*CpB@@!odR>}(6Rjc$baN+_5q+e^&u@Thyf??5Zvns}dqyZL{8~ayc7UxTw zcrlo5@A!HvSb*m(sp=ehp}HS=8>+e-Q^Pn3%MU)*7BcE;zcOMiwly6#y@*qj3CCKU z1C|v=wZnLXVa&7r?P$1STzpL>ZQn77<s8%~6R7MMDZ|t<oXcJ4WGkC3Qt^0mql2uw z6Y1#7Bo|X-fxqd($Ro(|!#k@c{numeBFtz--+wGgykVk$ok%!n{_D7MAH69$N$oe? z0#mDD5_gO{MA{*<fkj3}lcHLts`B!r1L3=Xmkv1zE>E(?HqF`E)MpWq1Yt}7i^*Ix zfMcz!W9`Cvl`@@Nk=zx+ndHj5!4rABI4Nl5aJtl<S$@_)73$lJBdbA&&T@I_eIF#M zJlb;?XLDa`_yG)BjML`)_2ulE`wa|kbYHi<{?qC|@+{B7EYHthxq_saZqiM!`elz- z0WEIixhQ&k*4P^1QTL%oUiIyRqN2m8BEWdpkJ__@bHEGjwYcF41im~Bko%o<`XK}E z9Wiseev+f$Dgg{|{`ltDh?IsC?ysLDVxGJ+H~z9cN0AyBes8+=b6|_F4JcWAS@H1E zn>E6AUNgR8o?oovwfj-;V3`x6U)LAM>)D&k#CzfFz1jxgv3)e@cbr&&svROh`M98N ziG}Jp*j_kMA75?Kf5sQThH-~y8-?=~_qeJGr+7`_qBB=NHkugMDf<92*?s(w&=vlW zTO*Hg@OCz1j-5e`Xc_g)bS1I5ft`Be$3af0B>Y16orp44redXN<Z(TEh)WI=LJFi2 z8wC&%ML)@sz~WC>fcTp$e7ZjPK~K-dxL*HuTAzNn+o<FPrJylnUCkuu4(oF<Iw~qy zponO`Etc8A*PbSLqI0=k!lmJmHyuA9aGNMtNyz_4Da0@{+4Ug>tv3KAt0L`DkODEx zpbSx8FrH6jTrD{j9HYA*sIO5Br1qqE*^%}p=CAk{oOYj9@b%um#ipLE_&<B@$78l* zUHNlQjtklfgT4M>m;xnz&`-UxriT<{-nXMsDu+lsjC(Emdvz*0f(-jrH~a%5Po&jh z?e$HKJjt@8WmZL#sM;%w`XVJnFdz9pZD8*L%yVf|*lBrApl+)+Z?P&5NmX#a?VG5= zJ%hcde9Shj6xAcDY8`Ge3+774;~X)I;`Gl)&&75~v*386(dpyS`dsx8VT>91fU0>3 z5Y)f>ZsN#ptP=O02dI$7;0&a8ZMO{}tK;z@d8gF)fx$z|MuXn+V6Z?QvsAeQ$CRei zP|!4}s}FRuj97h5&W)BXpHsM%zD_c?Oh<{E$q6_O46I1SZipT7G7)0(;mwgFC%)nK zRo0BTUeJ^hf071}BZ9vE%CONw9`-7ffNN(+#SAOQVO0pI;YTf7pC?;0WL)F`wRu2V zrp*Sp-!`tj#%9<R;-^vJz(qYaDV0kLl<pXw=%iu}(<`UXwnbkOg~<~5CV5~ghkMfv zA6QL6t@Qatrh(BRNJ<{_)LM%X12z-vuRRmu6Is}~#eHCzG1i&8*v2+jc_>(iUTOql zMbGCu94-R?Zv5Zi<UhaRMfU;Y*G+~!+B)q-8I7?bPgX9W88kE^d}X8p$!}ggN{1@0 z%^4SPF*yqW4k?B)Qgt7D88Q)LEQ2{39uf05AsdswIoVd|N0l?9%*s-mW{u<>a)%DD zf7QI<eLJ1GrG43OL2K4TWB6h5lfU(4+EgyTB`=Mqu?u}xuZ&L9Z6pQg17brG1Ci;0 zl@W>iGlgLNV|Q2Je2Bh$&fD|_k(qmr1;0Q*QA+!>3`1;D8RQFNP<=%(Cb(QAE;h%v zqm@Vhn_r|!>5wiluHbN;%nD9lfs%1_wnR+&p!PJNq}e-@j$fO@3&T=z_)v||OpSs# ztGDRZj}Q`D9-ngKQ@m1?Id+l8GA)Y0@)Fyl0ra|<X`X@Ahk7Zd`$fz<5F-7np&c1| zhLwQvs^pifNUC$T($#p8Gjeiy5!?JIN?7S%fNg|5>>N$9fKyv++BFj9_q?{_2Q7%j zl8(^6HeyAJ1ir7@3%;zbdgiHflzKOM3s?<rnxl9#TQ4prqcS7udI!#wfiJFZQ4T*0 z`ytq_@tWoC^13ECc$YICS@$@fq~lW|vS6es_)hu{Jj#DdPN+%C&-cTA%x|Ci&aG`Z zWUJEp*TS?>;L2D3*`)u`41s^zvSM1&WL!jc8)kzNl9rhm*Js=GXQ{4T=Qf3C7u)De zwX%TFqGY11gK8t8)VO%JVg4Ac)+yH6XiGVfm9v->UZCUV6)URc5?}gx0k(FM38qhk z;lh&J=X`>_-4kld93y^rq$HT12%qr2xU!BEX<{q|%lge54Ixf6AJ!gQj0)hNM$^cD zJZ>s7>NS*TPW>vwiq3TMrN-ILrIA4i6D<J0AN{4vHPa6=1px(R6(0^ClP6J^)KP%P zw1OJUS;Aa*ee^h&ib??sYq~d>6U8r5N8f>=Xby5bqmxHGMnPp?Opof!Upr-IV^YRr z5GkuT<rCz!Dv1oob1+w(hcxR5ovkSv6nfp04C@UksLdfpVNhncqlU8|wfh?48Y4>+ z@08{(lG&Q4dV0@(WM@rE4QDmS`gS<(ddW*q&m}Fq{8y0WZr3XKxv}@}dG-H);L<2? zf1bwZ-V@wva*m{|m&R*FrXuTTo*4M4ab_%_CI{{lBXvyjINtL9zSdfmmwCE6EynIt z7QEJK>mQ74a5HJxMljM-73}OxtM9P6GL?rvj!CSjt<dLu!0&OJ<^JJG>aRw!yJC&S zfr2ECW+w%>M+suG7XW3AB{pOTvpsNs6I!*C81{Xeux?-@MfJ|r8!<T!-%CU_3>~2Z zlP&E1M|nGrQPa@E5=-cY7c~VbkWjrd$sq=W$;hc;#caJ=l4wd6DpG`wrq!s)<buE; zfFhJvHvJ<@u}ddQE{gbVbabl6xLBT=L+Z_}=1L>df#z`NXfD(a^b@$x>kle6Cp0w{ zj7j94xe}roxSV1ikoR!>L{tW7MfTS8;^_Y@6W%=`N7Rq19cZ9H-OuYfB9c*p`|@kf z*1pm+s*-i`SJ&ZLIWLCk$JEllrAGcENe%zn*F$aavY=I>e@pQ_Kn%GR`y2LNP%4>h zw8K>@2@w16Mkt~0rOFpMUd%dI-Y8t)SK~kmw#A6r2-Fw%oYq*;)KgWXXW=jn3rNX_ zEv4@8)ICAl6{WZkl=Lsm4X+YQ!Ui}S8GUxNHHr5SO-fGbRTcRChpRau2UVlIN8SLM z3mJg8%S#6B#FgMc8bT}&mB4V%Uc3eHSmQ_bb{SshC?RY?wE!h2gPRcpgNg1tc?fWe zHiuY=T#Jbq8x0{+V8TpN<xu{>r<tCJYgkW&4>!JrZeC1<Qs?k$n|*;d$fQuwAywvu z(jPkJNbx0PIr?;H`mlc5S`5}V=M-;qA_tpG^V6hO>JkLGH4&Cn3FS)y`iQMTMQ@>u z*8Ng%lA8T_d!#R|8kX`>W0sLTroO1iYmEdl8ze+h)^4?-)C9yPmX=5VBkS3O|G!-L zpO-KkxW9rght=xPgGf9I1&G+Hx!P9e0TZtkSa@N|;xbD?Ii(z`K&9T1wql2xJnH4L zm~w&boMx(&Pz+3CPwJ0WE2tM#i3Q$9*G?KjdL^?#`<~l9Iv9x2&A(0QYD5nNbm#VX zJ<(&^%FEcB)ZUW3Vf{h)A-^%xIJvPN9Y^F-VYeRuj8n67)v7y*ff16L=b#si_mOsM z=T?6~_lV%gBpmMWE90u3?nB~@W+P@R1e%!yQg}ehA04=18x7F)6$EjHy=RZdj~7)~ z)m=NmBT2~{+6&TPBjt)LmVIWV+tZngkLYBGak&Waw&t|FZhxZ|UcGM(Sf~*Up|Ekx zrZZ{<{+uXMw$TK5%XisIQIdb9XV%YY8@^PdvqX##*^Y5T1P!Dk)4n=GF|mn9Y9sdV zPa`0BPKW-Iaz~iq;c5R@Ve0f}VQOV&m1#EFj;WKvojkTqp3lMP)NGz=jJg@t()78? zh6rJ0{ta0iEgCE|6tZg3UK!RQ^u9Rf<w!*eb+VQoR5WHbgt!6-6SXS{SO#+AmEjWP zt~@5GnG#_chdS7Sx1Jng*ha!z4USP{->|rxkGYx<m68=N3b#;*%`voTInT)KY%t^$ z8Q!SB{3C%)b7}?*db|){fAKjM_@q9wHv<cI5aJS<OsLdODMbOj$942}>ixz!<d^S~ z0|c2-9fs0<1}HNMWLcvPM3gt<J$lUNvHWr$ULBrhiR!Sf{jsQ-b@hN!kiu%_)e%bC z>aL}`$N0J)NoY?2Aq*hW;4+9&%l!JVAEJ~soUx#*DyKI$s0fS*p$j}n;+-~#a{U(; zFzY-wOemOBqD-7(|NK)l$^Co4U5@qiy377QycPj)mEi(BwMKT3DyQyG1?reI;3M^2 z0c?}cY;2wgS)3}PXsP&@D#>`uU0lt&K)6p?_GB)(Y}F!x5*#Zu+721MHXYfF_3KzT zG)&?ylK5x?47^|IaS}c&=w`|lB2!NW0|l0UwI1oPG=RQPg`+9)PJBkjw4D>|5G6!F zpkyr%F1{`DT0zJhU8q4|xB1;nOvSd!kn7nfzGN;t?u9|(W?rIc!%0J?&+&p?dk)C2 z!bR-1#USt*TN%>^673brnjaG$K6I}nV(P_{8<FzkvJ4-!%U02HoPa@>_<_w51ai1E zsF%jP&L@)upc0^OIK@-Ps}vuEic2(k&#YoN18|FSA>Tq}k!=vM)*O4B_ks%X4V<kD zXLm|&dw3K@RBI#p?9MZrUGPQu3Cr-X<n0O_At31prlFycARCmcrJH)&o1$Z#68W#a zED1Q*cO(1Ofh3D}!lj8SFPYQDkPE8RRqXb@?QE8$dNZ&3)tlla5o~@euRwo)+(8h? zp3)vb`eObNCZ`MiDRx4A@S{Cf)MWU5dP<r;Dds!b8eM}~y!+({l;`%muXmqRQVc42 z`c+?sU}5T3niA$s=;R<_U7j0WYQ234!=T;OA{VZPnUOY|wQrdMZRhc#!H?=>u$oGy zqE32F{j|LEo&8Cs!Fk7%GO#nPgKdm0URY1nr6)9X|D$U_{%}r6qXO*m;~@C<d`{71 zfC)CmNthiCb?b-*Ph6aD5a)m;Iz6(OR3}{r<0iE3NNHaDH?{s>-{3beBvh7CaE6Wf z%aRTON$7~ukGS&Jj21F!d@pd&x<^_96_b9m9FL(!((DiP*3o@LZV{{OkUJDEd0RB1 z;^}pHNnOy*XxOp$)82>oO{|epK;dS%TK)Q{_>+u=sk?UQcr!&E>Yq>~k==n<>Xa1V zSJ}Ekdm2L0b}g38K2@RmNVOodL=?l-A|Rt3#m@Yr!5iC=ey-XEoP6bQdsHgBybK4l z!WC?jyne!$p|4(+R@5d~MNRkXkW?hrW8h_>Fgf)t>GUK87%#}&)!|sla`vWCr2)@s zcegZ^<~JLIC~55bu@RBE(Xw@H&M2``c6Ao9=~s`{Up%AO+P&eJy@aRkUlKAv>fjwd zX@frWx>(Z>^13KoLh=TUM}vd7L$Z7!EmjCmfSn}qcqo)1L0~yl-v*KuSsWR_hn?4@ zOoGPTCm-?HBqq;lcEFLvhlM2xLov(xT~@hGYrwnYz{6W7_8c+?lj<e|u^iZhwoFwE zsplJH{EAP6#vVgrP^#Hrl4?cPi6S<e7rHCzDPYChB<jYF3+?_p1@Go~FO)f{Pj_2S zanZ^B!XqNvR)J?aD7?`^-xN(!<2j3DjmsHf7F=aX4I8^tMa`Hx7~1x*u{r3P<ZvSC z_pLDzLUFlAcBZKdt5c<yCNc}3jdSiv4Qf5MeDnZ0#GjGs^caJIb#yHmL9^Po9^(Up zyJ7+bY42zKvj(3D3s}4+AHWpA47fWRQB>Hn8^I>tg4RCYWDgcwQwd|@B0kZ-Jn6sR zU<%mj=z)mp{jAeSB$>-+HMsn(mQRtHO@Z;@YVK#bJQT2uwe=dh3toMwYU9F4St)jM zWx5Sll*y{%#y(n*!wUt{Mv2wLR=7?VKmMn56+_{SpfUqT^hCW}*+FJ=)%+q<I|l7c zqxsy5w~+VPO^PeE;iHA=7YqzX9G9ND-FM>)n5Lu(tH5|4E`5UmiSmkbOzz#cW;W=l zCl>wuM8DBuHU$4jbSm`}at9-R8jM7jqE6xvBJ7D=mBBx!qLHORxB;1F{Pda2=CLJu z;HV4ek8;|dwEQzl&8XD~a9)qyyL!uFDC0;yjrLT#>ud5E=%OD#}&jvE;DYA9OX zjD2Uznc9cJ<*GRG3(#IcK_Td0!qz>|WyJqpt$%%kNuE)GgTM`&5pS2<w2Nj&`alP) zfc(v|0Y~2VlKnMdypakN94qmim}*BzNRG2~Ta|27sLpk^yr^H*K?oTo_TMtb<qk{` zv)M#!VkBa@%L~7Am=A3Sz=bf<A&RQ@s75u`jhMN3?@C2}hJ&pIV`FmX9KE*4lT#9M z_3z$(U5oFOD|X6_Z$uPSDIw`jkPEZ@==91fh0({N9^%1}3>oHXW=|2&jO$tYDAR34 zii9AB*E+qur@3ga7SA_s4?{Oq2uI!7$2=1h%02EYB;CrI<s!mF^$n8D8RLLh9zfPr z2B6#O<d!e?z3HdMlHMFY;mT)vkZUA=nA$xLjQ<qZm?$|cW4asNXTnM}T0W*5XxVqL zvnm2)(c_3QJhB;Vs2Tk`Bjf&A`1pB5239cR_P;@!|H=oQw*G?f1GD^`O-cSGIoPgf zZx-p?jZ5b#1<^?%=#xMD%2?z8!srmk(Wu?CEe1sWFza$)ogN)8^NXZVzIq@j#x4gL zdV90GnvXC5=DrgSctv>8r%I2VDr$IPJr5^0D)JFGrX=~p&9O8&TGLL2YnV$+_*(-y zNC`oT6I7d9UP0p+V}MF&^_GdTLw?1y)+h3WWXNK!zVy<G@7KumNZ|j%qGF6N_xT6y z4<uZ}Q3NX@eQkO4Lma^m`0oc5vs)9nw-KTx;xX){Io89C2Bq|H^N(dgS;)2Jt@u@u z5cWrOHr7ZBde*deAYuWYKo!0w2Yq!1T?o$>PEUBTyZ2;&rKqv#@IJAmmrb@ZUQvcU z*IlLu#$IU~#zLIMkiVm}fq5;eL`37Lal5Yp(4ENa?@~UG$w;vx_?Jii_xqoFI*`JG zFHFa_FcJOTMCIHg#{@RleK<n|#TgmFAZo>6--sRO(&WqvW+@YgXjnv2tjTCgR8<jx z3m@?hv@v!c-<V(bYW0T-n<j#ZE=%yNDaVk2njV-GGs`O%B!!17O(P$IrDHdC$)TPt z$2cj-K8`N+Nc)+Vi&CD1n1pwTUG>p!JkS<EC(SfYjLZ0{S-l`U+D8Ykxyzh-?F3bk z&rElkOeAsp$tTv;RpQ$mG8-;cvmL+T)y$4<j(l4oAMuPwK1ED3{@kDdENY^B^jI;I zMfK20zX*`M*f&-b74KkbgDo?$I9fTw_HA3YPVRz@&t)luz@@+Xg*}=1fOua@1UoBf zGQEGP5f@0?!Jvsbl>w`fD}f6n)L^m3G!Dfw%@8UB&mb!QXGVtL{QoW8(;ARo`cYV! zfQct0hkhn2>qA=Quz)Vhs2)no)0A*)e9-R;G)I~~U^5j2Mw;9L6O*H%1dAGd&17?J zfb6gaV1ORfeppl}NA%^Lku%i>cts8knHqH59;s*y0*q;UKrjQCZC5AX%i;$K;I>l# za8Oe+kYnbRj;Ja`N2$r~KM_xS8ak?J78zY3?@@u!zo$OxY^Uo+nL+9ZthW9DK}D6E zSy6>pN1LG)>tt4#tDgS;5~J4RwUO3A^}s>J&HG0!%`$-`z5Wj#$qq_Q1}AHW0uN4Z zp@GpLi>iZ-yS>4sL%5u+$?A)9tDWrzNNV2&voj_28c5{_4Tl2mOd?5JEHVI=0dj&W znk<Nx`?~3kLlnRC$t%)=*fbQrD>G;B`bnV1@}!6mQ)SwFVLHXDZK)6w5a<{h{*SNL z-3|YrLjs=VW0|+ChMAV;mr1&6m?r$oOM9bk9K6)X;&SOPs3mK=TB0i^;=?hS=2B;o zg#l;?7E0{wEL04lk@(5A_RhdlHP@^gZB8Ok{=nQ7PbA?|#APdcJ>5u@g;(Gq0R`Fb zcEwlTv_>u&^kH<i9>zX|zPOcZu1h%>Vlnv5-28%LimPKnk$GEof3#--OQ|Y>&`98e zG#}y(DKQ^OOQGM1Rez3ZY8KPjR1sU9!#I|jzbe+097x06>`I-@aVOYpP*-G5212j% zuGq@Ne84dE_l%;=Jyl}oYQiG49mQ^n#1TX9f~1Yi^@nzBkQkxCX|!7rge_6ota&$) zDsv8M{tJarZ>()L2Ia~6S4C8Wpl`isiUS*Au@h8`t--*V#Ygeb7D7yebop(zUN$yT zBP^rblqyzM`?Az;L_S%MpPpVkr0zK-0n;(ar8H4vqjCh>d6{2$?)>`xHztfYJw8Jj z0Qf^X&tn)gqDcE6Ghk@{hZ7Drew-LA(MQEfj=U`ULh((euG!C7l++zPUTAy&(v`_W z+W}b)YQcKMvc#v8Beoqm5Dp2Nkw!knM$W(O-ydk_Op+-|rN;Q?DawHDrP9Yno(Ca{ zS*fr#vm<-wi>-(V<O`LzTqL4Ez2cP+{f06!mR{ZKlT~qRx;NVnOB_epp*ILataDEL z<&sMsTwV%k7KUJw<B1fV1(F2}%JQp%vim+#oy5BRA}NcOHM%WD5_(+If6ZIVu+q}t z#8TGpf+2Oo+c$s<=2)RJ(pAl@b|h?O_U6`TaA2(fauz8y3{RLd49)ic>KNxwzo~aT zXK*pdlkMHqRwc$|70g-GyYk|z^~n8@>Sg9&YOc&Q7%6}ifzd%-=C|c3i#}K+CvO(5 z(3eGOZkye{)Dx=}%Q-r6doMkGU#IiZFr^a~zatXg8Y3lj_o?Aow0sACN&dXD&y?M6 zyZLkU(@?2(E_UwQzcQga|I(I^gD(u%9EhY&m7HQON95Eyn&5KDGT@^-hBth=p^>GQ zNlNnnZ2+0eLRJ&e$3y<3Vy@F4$AF=fvr8pWs^+hRqb9N<9k!=#K2LrJJ#$x?Jrm+V zRBargBWth5Qo$#|c`i1PX5UGp%~zQVF^na=uZl#kcUyZwPWoqvDD|F7+&ZEw#&VEA zUPi}^BlMW?jeD>!TlSm9J$1Iq2&nq`jGDK~D4d!R$CHqBmOL#5s~bHTcp*({BpfyH zN?RD@ZHxDtSR6$bM_&-CVh~hUel{c$eefP%1KnZos=VlXtR;J(oo%0;hR^##$@eaF zqkvcnQ(9dA3RApqhID;d_I#}Cbe?p&Y_&QicWiU5UC#}q>JU46#}b$A9G@T{)&#}; z8o#?Z>1{)xGRN2hZ5|7^@Sl{i9$&dLI6E8xO^8_B5$0{P+jqY_*BFxVX!hW+!+TLz zM@&SdXK1)DvL#Ib4+gw{xx4wN?<ZVj7p_I|Y!k2=td!Gjp<G8-7uxU-+17tsB;vWG z%Bn78iy0$UAB!>-MY=>QH;uQK6xxS^OLni4>9+naEC9K*@dtUXU3BVfm_Hha_=%ip z8o@^8`}pKRCD0*(azvQW@au3}G}nGDe6)rXd&GLati;kfwe6U8r}0u9!2NDU2{O6i zjYshd`f6W#fwBaj2%Wo`Z7&zB<thY#x`#nkntuNLJ9Tg_*>VvDJC}ohF0U^7=L9kg zbgsK<Mc0DE8k#@#ubMI{*M8&`_GW~%5-VBQUCjtVkZW8yvob`>3a4v!Xl4j7LE3}L zJ<F(h12(3W%zzXUOFWp<OYaOx#w0r%nZj*JRcQ$d6P;9!Pl*!f8wzu?eCwiY6p@Y9 z6Y(5T0w;|Xg!Un8ykk&65o6wRD<b}m2yy&|>6Q=Ix6!1}2pAX`_Z=qxz?Z^g=-9+6 z+uL{B_pEd=3%~aKGqT`KfX&UTNx}!{|Dn{J0w0+K>+4TCWLx<3V=y<nY>0_=;HFSW zm24w1OHt%UVxDpL><>S_o0cv2H&FZ<+n<hC*)|>$ZSRif&TFY4+Ki;sqDLrpXY5)~ z8I>ke5(N91{f7&;aIdBE$j&{xwMPT*kF<+W1#KgyxsJvgUL5>N*V`}`QGd{-ogfoe zyOI_DjXv%GaFV2w296vl(+0^JLM<|EI0gJllbCMK3WAc%8kJ;Y$nEPh-OH&MN|j(} z7ZBr|84L{aVhZ9qyc>C`LQ+X#LfTyyZ!=_qXRJ^B4w-1z-l@*4=iTl2BK&Synr%WJ z_NZ*dXzdP~%1*{-nyD{}qb$TyTMEvVllZ|hu!0cB`dxcA60B(DD=KsuPRrD?CdwKL z^;cx07LG1emaL_Fl<{rq(&cd`Sir)u?Ap=v`x>U&Q%?rk%nHS(vOB`B53BJ>OsGGe zvmvSUHIC1`N?vEH>g(OvrkNZ_YdrcDcBcGYR@CTwdtTL1XR<~<nRm%A67N~r_I5RI zVhjHG1!etK5&jXfBuN}eLV)1+Jap@}Aa+N0bYzXLw>rN4ivBcHg-v3{KZdq9I}HLT z?pl-PIKG#jym+e+7I`<@D{8)>tbIi|=7)*IJN9m!+NJ)wFa~V<g?!HA%%3ce<GX9V zVXQ&+dki4%TbA?7tm*M}4q}`t7`XBv;e%k`s?x;^eSn*Z!*c}Xx=%??=3-stUbvj< z`5QX_#z#2!MGqJZdh_Ouj?Ldn;j=fTB*Eu3#czwyXo8P&Kf$lh;nik6T+GaEYZWfC z=x1`_^4!kmY2dwE&6$Ze+aH^ega1sG3RhioXNVflcKR#kB1>=4Dxqa`A>EAx{5hz1 zcF4z>7JK104pn$zp3pajs8rFbjs`LGx(r8<kNX%)rCOMHfcbUHLN$P{PN&PX=m?8~ z*m8reBKQD7>-?lhyK-R9wSo)v#cK;yb{p8#fr=JJOGRiTLiDX_wT;cOCTJXUYZ3>* zoeFj)9z`(Bj8}d%%Sgcki??6ah^2ym&pdYGt|l!-2SyUX9bGVz@XQ5RSt~s9g`VYE zOg{%6S_EtgzTW2m!(Q&VE|E58;tsj<b@Aqlvc4%(CLnd_4X|MB5|l2#<mo2anZjV` z5-T^oXiz6G&7M#Fk)QFd7}+2}=ft{z2|bq^mvaxo)W7Y@zQShA60_(zWE7pLW-l(F zN)}O_&|e@7wMiYuVAS8ihFy?~uub?ZK87>kW0tcd9%@lDKv3i<`1#OFHVe6i6E-U) z*24@GNbVxs;y2N4mbfv75(a04wI}u(WiC8o*f;ehA+JM8sSW_^(Y!-yyeSJWERmyj zK$e^uee|Epks#9h$~ycr{M~F)giARcz+%W$21YlNdk51R;XFDck<y1Sw~#j169S=} zS62e?!UNWl)qRW)C?9HFx8CE=0fx5dcIx?aj#-WbHy*1Ze%_bMF&95UZ_O&Y*4>}S zucg8d%AaSkVMcM&CY!;!UDE#@h`xe*8xiZzjVr#w!ExZHbwcc;R%cPguPYuiFP{k@ zXm>H$FjGFvDEVYqrF?{c^W#VF;aqu5s=%q1<>#{WCA?<}KEd66vzTo)ox{5$@)15d zxQ3%WALT2irn*#8?^yy-#n-0Z9fKZ~7Q6x)7emaEh#Q~Wv)%yCnDvJkd@<6!OS~nr zA$A9Wrc;V+xGY1h0E02(-2&jr78$E#r1qnsFm?+I3gv1lYK8R}31%vT^(>SlAL1fW zk@CPY)_J=K3f%?p&}fn1Ciz*6_cK6{cibac^wSdIYUaucY=v?|A4n8(tr4<|j#_+Q zBt;A426_<)U}Lz~ztZrrr3*ocdniu=>6)Xgn*G?oA698}f?}!>NAvpOTOhKZdPM}e zxxGce!n&9XY>=4_QH`iUob%_|(Ft_X2_H0lVCH45m|E<|5oN_1okMRQCi=lV0o<ie zj}QKosF^tQo>P~WadiqBE+%&o8i%xNX5)UQC~(7j(!iRcpy+)=Y`e3K>C^PgRTYLI zg@saMXJltm|9qa9Y5GjMx%^vFgR9)7#KmKZW)`LHT*LFPX{m`_z9Bp{ljFwR#%LPj zRX_jR)7#TO#ldOzm69$~)~Z2WizYexIWABJ&7~Fze-AAFYi=+t3=SKgXp(xmng9Al zq~NDCpHPDoHb*r;e;m8A7qeEC&sCvV+Z;t95JT(EY;^v06{r2+yBrTIk^HC!+2EXT zPFH6wYA=k*t*~OGER8(;Ty<MdmnUE@RTi}_-^WTsQ)TLQoYeYH$dICtzN*li=M_>V zAT}g8xqwJ2d)=Ge37<?Aql-Aosjk)JAPeXzqDJQ^0<)2oLA30$CKjq_@^=Kk$QdjW zCl<90$=+tGJqs$jd#cgU(0P2Umxq=Muv#je`+}OAct8*}gyR5?)|&HVdwHC0p_u46 z108ccMf+Z3mc&PA7w%JhA`z6VK;Cc~N8encRPY5{=L>yv!Gc0j7egx-ZRKdRF_!Yn zW1lDe8zsz$N>>e5lB>Nwqg@aH1%r6Vl>sM~p@`s11f_zJA5Kq12ym7TBfeQcV!Zm5 zAC(7Vm80z&!zHQbjg<tC9aWJ`4K924{u*y6PFD4wS6TSSNbuXF@=<3M1fGdjystez z1H_p{<Ky@@$Juu&=m(B##Cyb2@E&?NNrrb4CwCos6#H8k{Pzx+2R|`BnS+yk-gF`D zf|i)L<sb%y+4tx<H5`F&ro#oRjQoz)74>}Ar@<#V6d0J?cy{U#jK;A}*qU)8`UAUn zF<qEzih?LU>Wo2-Vt=L`=P=QN-k}fJo1cDgxz!}NnA&w#DZ>KELbm{_r?JwM>InL_ zpwh<}h0H1zJ~?==zN=D8a06uZC}A_vZ(JNk=70%tpA;GBYj+yVmG?DD_rdynfEg}P zic*8L`vGCaY5k5MwhlQ*#vLziVl_AIdr(KS1V~l4jwLLf%NB}pq+KFm^P|_Ya6XjT zt8GTknvP9#AjoRL<m9Ego3jpUP&hNAX%?>-rrm*f;ex5X>L~g)qS2i=6+df<(G%Ge z%h(OicrPQyz(Y03;*W45yP%JiT7d~JpbGU8`EAFc@cyh40UnzhO#=fta&BOv>{x%6 z;v7>_5}~Ec;8*7l`G;SiVWADZx9;sZ8goC_$ioTx#^d?^VY~z9CmKG$utjRJ6U?I0 z<Lr5r|FYXq;GgjtyuE`VMmi=sCMG62MR2PLQu?R<jxH!ewO=CUgEkgLro-MI{gWO` zwXy^kmnNKWf`cj<jAc}Dpm+BOH+)o9QbY|WU>y20pt<rBjz<6=*h=-!Iv8~ZeKqPC zgg<K~@Q3_5F>o_{1^_SNzju3@o0|jb3KFt8BwziM_P1B>iehxMb|JrJD7BBmAXV)n z=i!cO7E7cs_;X+#(XkkQLw`U_9SIkT)AdqRo!hF#l(Uq%B5h#T#wRj9&!dV^Cb%9{ zd56SqW)A?xXO$47H%DRrL?9oL@imvnHq*=Xj&5iO+{+;NiOvdAD;b@t`17!gi|Ip% z5cYXh{{e;F8B2n>CD&e#vPJzDdAiU5*9f`|#w+<c9$({dNI7y>WYG&0uvr%aXy&u< zvJf9d0M(ybZRf!u(+puCOS{T1Uvt!bFJ9I$aa6M$`O=a@WK&8^!L&cTys1->1X`F^ zo`x)<>()U)(up`bpkAzqcfSn*76Hg~Qn4Z2(24hF&Ra!YT9zi2ys5rOFuRAtgW7)h zE|<S9VlOsOm)Y6Kodt%($Daia)0(Mg<0CW#JmaXIkIKkMdwZD+X*;>#0-}G0P`Fkf z*xtV6-Erw2*52o5s$(x{oXB4DE&s2rd%Vt9zV?w>nr~oWBG}89;eFPH%_R%Z_9B5t z84y&)CMGYzedVUN?t4zICiW+DJ41fI`uN;f3NLsZ85+T(6?1<`JnYE>8&nx`)<ED} z`_eCnzGF6&5Y)_t;rcknnlWZIs4B=S42KdyS*;^{?FSuZu}B3EwFbEA+#92cs3dU| zs4F=TU3ABXfMgk-2WVa*&V(Q-;8E{wVNQ)>hCS6nr*rvXWQi82dMdJvV0Z*M%e|2? zKj$LCUlf<&luh^R3v+}_&&&5*IEXIEcj-gyG5D^1vJo!?5s3l_>=153*}g#J#>~@% zcaHe5;<d!(v^aP$#-WMSHr_y8F~V8rgF5j_OdKk;Y6&}lv;^m2a=rh&cLkC&i>hq+ zOLzU&87e}d_87@X8+V>vo1+Yc(S}movk-2P22A`=Ew9N{N@PTvW@Rs*1WVwoHVefY zXKI@<I@3Ox7iN=bu@X~q9n%a0+HHPnMG3e##WZi(QnBok?B#MDWWo&;bPZ}k1xUib znp3Fa6BIphRTjo0D@}S_-%EeL%TDd({L5Z^dY-8SciNUFBS0U(zAL}4tHwq_`o(>v zb@RN@m>%8q-Nm&LkD{MhReZ4QtgM6QHf&_Pui*Tpn&rC9AO8rPx$qXZ<ra_Sv*l}P zp9K@)4gY0YZy1qtz?SAyR5!o4e4UpOO;nJ0GQ(j!30;wObcIOeT0CjOh}q1_P6I@@ zpq?JGWT-Qq3L>-B;?Fc4TQc}VXHuYu&pVkDUNBJ5U5@B&iS-VP^g7kOOr6mPhQZ!1 z^MHNwBWcJzP5;h6G?-b1Ao6X$JI5tMniW@{9mvy!R4^(-lZZuo>g5GFPb_t6Jc=8H zWlYtFxx#`_*uHU;qnS;ekfR^F)7GA+G)9;vAhSY-eTI@#{dIrBg}?Yp(2y<do*71M zquMg$gh@bsK{AYwKD&38h;n3aNGEGmIjNe>#XBR^c47BWx1PY7h}$?Yn&yT34@Azf zF_k&<_&p&i`wOtTEfLkqO!16sJh1}^UPzr{5wqCtMK<R=rb1?B%ueihOFc~CE0o}d zxJ9CjnLeX(TOv|AlfYQr*K{&Ij)_H7+l*(D6K(JT9EPxJM2P$^EPzzd8HjLweBcx; z9nHQ{*bT9_NDSEG@w`udS;gXIqb*1i+EYa8o_x%6(6yqatzaz|i0)PNVe2E|edV2# zLtcrVEicDiH_BUH_b`MHu8-gFQ+VIVYT>}GUCl>64G3Zk7l@~c7qYmTxckSHIJgV- z$_Cfa@f;{^MM}bOEGB!7ef((-+gj`6z@9ije4HLRf6lQ26>{HQdk$qi$~5rIt1a|x zT8BVi7sx~|P2$c0RxPC?jNUHY^uYRzGV|@Qf|x{*cEl?)YB7J;wd$bLwXx2C)3whI zJHtuGF01spFU}tZr9FO6Es>l!6XIo+>~;Er`&m&gwK7-fReQ}CGP={iT@kCe7oJ5} zKLQZCE7bydFo~QFYKt$<JnoE`B>FeTyyfP0-#-VgfJZasDKMEbrh3WUDUrwa!8KfZ zsK*24{RPZ!Yts)Yte4<YtBx_n4tBh#HT&sXlhg0I-5w?N8yJKzSo`uGZWRm98+dpI z>TxKKiB8uVIA7Y~Nx^BjVA+}3Bg0E9*u=Ea@ZH_r$480BUt4!EMXvhF0&3AQZBw~t zXKw&3e+QR=6CZ#6++${Dre1vfxiCLX6@29a*<%jW4nC_GVVjuP-XXFKycg6=AUtX^ znV0?`_+&H;Ka&hT!pr6~tG@S~tu!cBnxZHXS}15?e*3!&=XicT0RC`CE0fUV-J+nx z&^-|4dM~@&mzi4|`L<~bSK&sDMutbso`gQf>z$?U5Z-{}OYc$K{;jM?dW#p7npQyD zdtOrl{9amfi<ttk@eti?XYRM5ONa=psVy?!<u4WMtr4q5Zelr;D37iqErR)CoP5ZP z)(f&}M^W}$M5-GCT@&~o>AfQ9hQ;Q-u=v>Y<1+Hj5(#23WC$xZAo-%zEQ^FUYnqk~ zH5Ng;lU=A>Ub`%em&<T5eMi?%h_vUGsXvQ;5tbGNXX~58VzZ3bH|Iz&Pa?*Y6jGs_ zVTp={N;U2@P9o<qfa)Q!+p`WPsHH0Fr|U!I%;o4f_$mR2HkOYn3n^Q!T(!OOVE}3a z-8{-$C6+$QfzBItk>O{_)UbMFhb532c}v_{vDT@`_trUJnku2Wc}5d!f$nA|LH*3h zk<oQZ`1biokHa0F>+R2(#~8ffp1(o{Pq&Y1!{2sjf6hM-nR7VK+Tm_*ceJfpUtize zhQ32WE#SLqUaT^Fa|i20i9&%_JyywIpWi*wetm><z~G2*5l<24$86(^iRbZkQDDfc zluWR<!XsAW(&Z?4Dz63e>N*COw&?5Sxv-U*dUa-Yc7Xfih=OuvwgDAAe9Z4i$n(2g zoBMTHQcy>S6day(w+S_vz#xS&a`EyyS!L18<h8hxk`i}4?f100fB*kzy2_{~-@pGe zQBV*O5D-w15)dRMCn(b0IcWhY>72BZ1|>C0x}<ZXk?v-6_h7&_#_s3-zj$8n?A$v$ z_qo2`>yzHe*m3~OEZrL|;Vgdr2#_TR0NDXb>-Y0#zWr6RLEM|6^jKY3xJnp?Jrg}d zul*0*_znBiqd5Sh;lT%XgrB+dw^R-H&FLcpBc<Dvhaqegzws3d&1q0(VBTxLMBe-| zanO>(WFb#gBEZFo=9B$wsUKg!kE6{2qE%l{ECXJc(4QfyvkS8dm`f0WQN}xULTQEW zbUxTNuJDTbGoVHP&H2y{_n?8qLY{B?R?b?s!ObI@H$R`|YACgrCa6Ze>JNFwuBBL0 z=}N&ghIu7=jU?keS@fU#B+3~YeXH*tU~J+O;<KOM>0iI)Qd}fL)!n62#tJrU<G3Q7 z{?e46ognNG!(6gA8!cY-{^@IY-SS^;J7><ZexX`PwqgkDM`2oMf+=lW)hl%9Ca1d% zUi{p&&M@jnY%UA$W>ou~$i!DMt1U3^2W>602R`_xs#+wT*QnH8)*Mz$N8ICsl_noW zJh#QqhAAQIHz=Z65B=6h+lP9Y{%pK8Qt#Sj&HKDO#)A)O<d?U!TNY%u=6#gT{D<bz zmPs4;QBeiDma@H|-)WHjAx0(2PJ(~;`deM=0v1tGd5x}A)@7vX{JFk~M+j4-C~&qL zX{{_pgu`&q+1XhNh)a@Ft8zIa3l_Ldlz??3<&2pb*?{`v5_*6S0lI9+a7oqj6Qd{K z@csRVtqTgnZJ>K$va+(~<|~vZOU*w0d(MpklYJY^YX12Z^<S{yS#svHWm=++-440f zo+d;7gQ4(eJu#`7(5oHw>ep9Yv{jYoHbhdQqy7>b`5<hZebBjaW60R4k(88#DHyO( zHC}M(XRKTB_Tbd<2_*oHSYZAb7{`K#93Z+1KHCCGMKYKoLY;3@scAHx>Wn;1WGEvI zlMN(5o)Sgv$MzHF51Y}A+!(TK;5H!t7*Ji!!H*v^)6(i27`Q(s&et3n=or-dT@1lb z<23&+)8gXP6*ynMkd)qnh%UKaWT2Xsy98{)^YVm!@!uk1gJ1#O_4LB$Nr?mtf_j;; z^FlpYiijh^Ysu`Y$@gs65mmpl7RP?rKj+6ubeL2`ti>WxuKgZB71$hD;JVuS3?3kI zg`@-=I3^p`)KFIraW9Az(so$8{5ay~-Y^m_%7M&$W6UMipytdtLXs{Nuq*Fo1LGxU z04yyX_Lrctt;94ym0=nT>Nw{o%;$Uk?YX$G4t;?z*x9sy5o#*hMn5&mG|NRe^cou2 zh*(1gT69`&>6u{EH{nDdG$bw<XuON(PM}4yTd?l0aJ*&)?nF!~fA#e@5lh>8yoMx} z2B-~xh@(*}rMKTRy9i-M4bmOYf6WxGRey)1!517i-_P>enqTE06#x71;nUHZC7Q;z zq2`z&zolP4!E%$RYrF?-j@IMi0>!ThgY;YD)L)?K^~p(mt~*u@m#Bl;6-Ba%^Zli8 zAU>r{ez>rCTUZw&eS&tSrX{W|6C5rf*N{@*!4I!t@erUG4Q!plV;H7toKTzkLoj;| zw)EE@x7XtqLB6kt27EIyN&y}ABmAoJ|Arx{fBkpj@P+T-?9$S%t=~ez@6nZoEDEYi zKP1;@awBZ1z-Ab3PXl+1=q(ckTWL-7F8*rg+UbsOD%7{1z7hXkT~CP49N*<e;~!Oh z47TBkOtdq1it6;>d_Cqb%9=1C_ge}5BG3Nn$0om0ah4=|6j|M!hc^^AHS49jo>5K` zB4wG#naV^2nUpQnxvQ2*dN!t8NC<6h2?pMJe}8*dINIlPE6lvDiQ*7?^mIfiQXuE! z>qi_kca<7fzdx5!zH`J8Rjd7Q>?cXB{LdJLs_b=+Sc`2XcG;C3DcqE{%Bz}t2Ykg# zsGa}ju9LF8tz<TPaytHLq41l<!?OKC``TsawjZ1*AB{?{jt0|bIM1?yM|$*<uMgJ} zhk_5)tDlg^dBum&)E0eONA>^s6nRHTz+HN`a(2-$%Sov@%jB~a!E0xVtkAR3<0t?_ zXzJ-i`uzt$VOL;D4H7(cE!SY%Ba{Jnay)z;N>oQPS6ru6skhpQv@S=UD`~p^=s{*w zN?r`){1vuPlL)xSr!6G}__~xgtxTPqRN84n@Kz@zzE;kS2Se{;=mAn<2QmY|3}BE* zOj;m8`ZEz`N&p<OfE^*JhaM<hk|a(S>H1+SD1*MJ5{^(w=!>Kbim)_@5Fq~qm>lhf zRrUd_K+gjJxJihUyi(D7MU>xy0OJHCIxfk$&S|>HqiM=<uEuGe7&C1qEkZ=c)SX5V zybh+W%KVr{jJh4`OfEWeE+DvnS6&OB-+HP|F<vad+V7eY>j^!b6OV<wXJ9{I&thK? zMIGh{)#JndyWdD`2a{8v-_;4Ww$_7bcyyII#1~IznF5v|coRJ&LfV%9qMd8(9z34T zKdJq8*vV`q!-X!dj7sxD7B{bjwEA3G_2ZGP5a}`E3nKcj#?)8R=zWte<Rc_I(HNC7 zhf2|H#u{$uIu}_>+<=Mw2!FYnsQoTi*Y&cqPd;ysch^C2<3A#+leFRcn=hPTOFmYO zli6ib&1=`tO9%1x>f2i?hFY#03|YUGZ)}~{svmXAs@Tcll4<*feV<_#@&!JSykx|t zqTz-bfh!OgHPF6xaS;Vv_lmemIE62yJ<${GbfyCwI=e;eran7wW_STt-QhLG7qql- zk^va5{MZ*SUW{a5XINpyrrbN#nmJwNUx91pzOfb&QFh`c*V^t0sPk1+a+h5bh!WJ~ zdKLJEDQobXMXCk+bKR&`-)G54s~l?_<@CnePY-M~VrZT$^jhUU8mGE03@Y7m3Ovuv z=^oP?{#-tO{8=KXSIUI4W5JYP^focb>pI9UPDaah3=rQm5lLyb?wR#H6iMWEZAiCb ziKRC&Of>Dg>}dZf*B!yb^X+d)VK=pTtYJ-PcTYCUSMqEbWjT{VmAe+6HyE;XB5Aq| zdDtw%X?~NPB=LL@FQIl%?OC*>-t%qkH7`vmGV{C{9(>Zo({{o@L!!wUJ$ong&doQW z?RezRP{B10jkLGFWuHAV=k)CO3@vzmy~$DY8DkOX#<P$vdYAHNRaUklsj|yNW1zdM zG5Q+MuA5?Gj?DM&xF57X6WP#5;bD8aA3R$K#up0Mx`Q_nu^jsg4W-%5&5rZuqne}E z)?ga#BiSbz&dF?X;XsmEfRu#9#k@1}vHPlG;{mt+%XG0TDwV>A;8-qC+fTdCFooG2 zKT6yyXCYo<7-m}JhvV`0FRb>>2y5+OkbzSyWG7d<vZ~4kc1n$2%JG7OF8bU&p}v_W zKXkU-5=^vb4e4;<)Z$C=aiT!cM{YJRhJjtxU!I{^bDX_y(KF5os+GP@3k`5vS{#sP zYL+m96vT-ad!&-zMWgBb#<m8p-a|3KH`p0;jrrmZKS7zwihLM$8OyjvMJ4UK%XlV8 zJc}AB)aHm2bJ*wj#UV2xAq3o~7gAAB@jv-X5*ZbF=2hd!SC1Y0rN)FC)`w4n7*GhS zI;7aNi5!fCoYO7NQ%^V1Gb=)qzq>vB*uyhI%{18aLr31(xHPe%f)lCuD^GOs^RzrO zLc)EUi(8K;^<<^<!_&_*T&&`r`zB3#2bgFK1v?_g`SGIw@N9ssE<Y=bp+A^GoaIok zZ?5kb55bgLCW_0D-?Z-0i>OGf4Y<(@+i4kSRJe>%R3QoRSaru_k==n;F{wi1;|R8> zK<r8XaCMZ3{Q@S>_^A0ToSU2bZ3@7yYP8_r4|Q%PDy@W<d|lqjhtKL=u(4R6c6G<| zRA2IOk0&ZSBzw-$Z3)>;Rr4c1jJ7i)@Sms5S7A>dzw+<=N6sidS!C#^ZiBx(LZqkH z=+EmdX++#-&VtHJm+JEcTpY@gZ2|QzL7wG#s;MaVe$#RUVc=N%y@-P9{9nuY2<GP0 z)Pz#w#azSFEqGwsDlApxpu8TBM=rX)wKnv5Dqu13Z+yN+;@JaAlRDpx>cU^#FJ54H z^e*<+C^#~N_SdQV6IF>HEtHf{UKgSNj|J?~<qX>`<l32=XCW5A>OvL}YRguKSi1L6 zHQv157Q<lvkzUx*zjtGL`%v;UIM5@<srft-f2LK|sFr%sr*UUY`|k$h?v%RXQiH=v z+-VYzNrB=Nm4j4Dc{669;+MRLibH+C{1n9!jE{puIrUkMOvm_8=r<1;nYLBAISV)w zs3a%9$Lwm<6Pqq{!|zKF00M%0YwrK(#rNaS86_r5q0YlYC^DMBI&2TK(4=bW&fa2S zsnF_#<}Du|X7#{w#qq=tlKb4{oN!DVQq*~2CfDvX)v3jD?D8n)^;vX#dvhFn%XGC* zR1gPwX-R=UY<1pP#Bqc`ay@8#_{sR)=m&qz*X9bDVFl0Zrb=dG>Ii2?d=SWfyf(ei z$7)Ls45ugu1N3uuy6e>IK_6Gw(d@9(H~DuuB;euq=`#X1#Z+hhLHy5f1512FG82se zD>R_a57<rAE1GMz5m&QAhG5Of0a#odR=X3(`3)F&{M<A3?5Y90H*kdJW?Q)b{^2Fl zM1UVA%P;bRcDmH~0z7B^4&Z#-sn{RGFi;MD#xH*S^VcRsgl#|{4s1)D;b=|r*3KzT zx2^*-yDkMMIf_(*0v9IUD;r=URp-#bJjD=15KTo4p$wwT&zSt<S6BH{i%|<fJR!Tk zev8&jPe<o<z-|v-Qgq2vUe9K;>8Pa?ha~LoRj0yE&ypZp5Ehn`=ut~|ox8f>N#zCt zj(zeej~J`f8GUTF4pH1n{WQGE5HJYxj+4}l9f*rdX-bVA5A<Xu*XykHot!*y5Y*$& z0A503{zTDUZIw=c1?GA^i1_JCo52*%lfr!KgLzTMz6cP&8Fgb|e3=(;vN9)Je5TLB zg3*2Nb+}m5T<t#^d~~M!75MirS+FN<yzJ^O-mKPhko0IrvgrMQVNOrYk+&@VFdg5W zl7Z+S0K$4eEP4G_62ZDVx{!{JP6%KY@wei968x*_5Zw5sQ^l@=qh7+++x#$?9gS1w zf!4bA-2xnm>3aCe$_1@~-^qh-@Drq<gpi$iXH5sUQ^0WP9p+$I;8R=TAD`^$HEITH z=nQ0}rlH9V?z<H+Qrl9YD4(;wEO(>SruQ%}AfY^9<B<0@(PJbk?wdD`C7^6O&gl*e z*^6_zCbYgz{v)TUscU0{FM!K)^Clm|s$TdcY_p93c`2|8PYQn-fI>k7M{sd?SL3d1 z-k(ex9)2%mzi52Q-A>MXNz5;C@9??oA|boJ<`;o9((Zz}he~E?Znsarv;M=$LxDu{ z^CQYHyLNZc5dOS~%PGkkUs}n9;n~NL(G~O@zbkstOQ`RZfk&6is2r237on?2CFL<x zT`GqJL*)zLEMee9Eg!?jh$k0Ir_YES?@7!MobJ620)K2i$ilwqk+w)1AMm>Db;?V< zLY!p7-VEeE8-oa`lAFDLIwCZC%`))7irV<`tq^_kzrI5Ha@IqH`&n^;)m+4JsrM9a zpK=3M{^R|x@W60L;&dZ64H^w(s}>p5k?{4QnLpRf3Ee5555Qu}RenyZ!(m-uC6$Q7 z;%7|q-(gAIG0d6BOh-vs;V3m*f0Dv*VUq_r9|-_qV>z<c=?iOX)!za;3$9zkDbj3@ z$eE1^bq0IZLBC%}YMz>qe^1ne);E(cW|*4!TVia@N}m^=knC@C#65V<HCo#c@677B zdjCM_v!LmnsKiM4jOosnEzgy#I;|DgGs8pu*Q1p2!W=$6Qk?4b{z08gDwD3WH1P*( zA1Jop2K{6_B<!E$y?@Uc(k1&mjI5l%SDuy~q!Zs|rRCll!qb*I`vDgJp!=gcOYsX; zQsWJ+LRxofLfEojLN=b#-^PghmY}Q#z3T-@?oBxv|1}wW0;W=mT5lc9$BS}HGnqRf z>3`nVE~9nw(V8|`>8+B8?8-yi&jz2P->v@lhu=_WzIBzo?9SSB5j$kYjy6FgtPsj+ zrZL4I^3wGuN#!eDjs$F-Mzaf<h{NXZpfz!x!Do=jFas4$_S2xm{bi4a%2)1&Cr{#= zpVZJEvd@H$+{n?)Z50lPScB)hO>&ZA&0*2!F>bcl5V-m<{>N{4mq1p;5Y4A@4@m4m z5={qF?uJC%o3HfIR{1ob*dc$9PCRX93>m8)?L1e~<>iK8BT9JeX16q|p?taZUQWg- zTK1@KyU1>ZoWNxBUv8PYxGE{V4am(1O_w+fRx@p+0>HH%xxLEGAZ%Z4fzxu#XOg;1 z^Tq$hN3=Hw^I<HD^ct0wki^}pqpjgdER>k!aCruK#o>399kwLj)0qYv-7szR1m2>Z z8Lt6Dua4n!6`I`{QeAR#|BxR40mdRu)vPSLe{!E>z^>k9;ilC$nSdk2)#e`H{S6DT z#LT9PdzqcA1(zeS&DO=WNmm>8s{r9{l8D_R0fbenpN!-xf{j3o%Gy?_iCD&_ZLS?J zH{_@(v)JwcSg0|TBZ)@Uk)EEGH*ey<s4|p((|(_UaJ`zd`vp-_D}rpMxkA>K*b;>% zr%hlEW@b}<;KNZ~OXN=^-<{s=mtZ~Hs$1XKXudp5P5E^#M4evT|0Z}H+LBoXe%r>1 zWhvKzhw0v|TU4Us%a;8Yjt`|mn(^Vrr>9jMh>LTt)6IL21+2DvSt+Ohb!K6k)-P?` zNqj!ARpYK(IDIILiaJ*OtXi`}P1>VBaqtLvd9<IFhNd-H$g;GJ>NYLXR+F+sr3jDb zt0|V5UhG%(?2Q^DF!EP3PZ*3twhv|+PQ&l-^(psb{-wKi8*;c$9hkfmK@#|;Ig_Zo zYbvty+m{9}MP7*S&M`O*4)*&TrPm=+FAu)R7+pM8B*4Ae*yhY_+eZB7>Rrc2w_@jO zJ^JJ0mZn*OIfz-{M%UJH!yPFS9CMbjv`L+R|K(A0!mreTMIYL|o*OsGT_771<1+W~ zR!W~gqh4*rjt_pl^WH4riWlcIJ9l!5yb-lSDRvLYhx>@|SA6R2yjXnkZy32c#}FKJ zM{0`oeMXrad@xm{!^7=71_Jy9x3MaDh0#36`5kS@m?yKudAnZeoJuNQlT$~`eY+4N znRE45b>4HFU486;S=33kIMET3E+Y1*=rwL#`x^lMZDS>NQFMa&0qCxh>i4R{;$F=? zKrgGhah>nrL?QDYQ@Yf-WF%nOZ8lQt7@-b++4*o^=B-*Ahx%3a%hePHr{3Yo{T4K; zdG-bg#njvsU_*f5adBr=xVQk!Df6Xh8sL67=GL{!21x~GU<BMSjGMSd=o##ts{^a1 zjhz~*zyRk<<w(6!6U1lS*y`%)dan5Nf;+gN&sSA_j<qM|0DG-{KF-87qCZj4cc9)G zf%9JpJ}Npbryd(0dMpK7TyWm<57;!^dJ+lS;N>jn29n)|)E&~!+pE;oe1W9^eEN*@ z@|%D~4+lMAhgn(X2lsB%3n@6vW#5u|zMCIA>7d6L4^;KUmg{ow{N`Z#Eo|A>dM!kv z`Y5-Ye{<n<j9%DxXO@Fqm7tEi7IKMUzPT0s_4VbxE8HJL?4UrE4!iaJ)0``^-mnHk zG?QXGrlB4?$fdwiap1=*%^#YSandg8Hk%p6Wi5YMbcmQWioBym;gA1Z+7I{Lh8<>J zAN&Ecuz?l;a{#Gu2B^LPZryNbo!J$b6?#$wL*zm^ya{oPqB0jiuROCsi|@uCeUq3} z=O?cL=gCI!1QXs0xUA`c$qshT)%=noZVlnsxwsmvi>D%1pupXm`<Ba4cZCFD%eU~d zf+5J8z|sGT&6<g$IQOv0%)F2D%Ps^maLfAhlz1bFV(fqmc_w8$I@RjP>W&Rb?bqc9 zqj7xMbO>>hab2h8&_zQ{^gIWRhlrJxZf18{j>SL~iTPwKH}dqYm$F_bTL^~0(fq-( zLftJAs5I90(rwh%3dG`I%b1rxn9ZEMoV3u(90N$tH>E$5aY&WeOFBSH#)7LG7U2E) z(;2p$W&ch8?JPOtW^6gafR4EJX%p%~h_KxW<edy3xUmXbF8a05W!zWpC;#YRTHxku zZ1$jMIn5)W6fuaJl#sKYL0D*bqZ9iW78An$1oe|JKL!Q~9Nt|IyjG?n85TXrl&fEH z5sif{+(l*UT9|!zPFuf-wEakbO&o8$W_-KsaW+uaydh<aPFz07Z>W{@CwK*W9-sf9 zoTku!J{ThY;Z`{_P4krwT{Sr~z_wUQ4yx3CVV6qf%N?BS5AY1m%o0TZgVDJ>lph9h zh&Ohw-|@sA-LEtC>NuE2xfBP!!JeUk-}y`}=ex>I^_wSq<&EoTc_yq60ealg>@s6F zmA&z*2lx-Y{o1_9)7%{QXrq^}fYp%DeeJ!@h&@{g(%vcJdCF6i#zt3`M1^IwmBK@^ zwR2fc)bc>q?)&?54flt8y#;A%vvoKWMV};de{lXwQx>vH(M?NR+`cM3n0)8?-~`De zDVeBMcQD8M9}!U5bXp#lcFQlRPde1Zf)o4}#0>A=4(?=pBBPY>r}9l?KDIq~g;TLH z<<Ey7&o*v8lqzF*kGtP9-9AS}8acJv{545CtCVen(%=bu=F$l9KgXkNg>u<H@Vy!X z$-mh*9()Wkj>z<U+J1dMM3jS8K5;`twQ8+2rQ=fan_0c45aM3uPb5tX?uU(gTcEj$ zBTLQqV&-3uJ{nKlO{$abhATvcZory9k_tAN-1CdvP?G!1F}adensGMlO)VSOf2yFQ z{k|&GF-)=RUE@q7A-G?--2a&Ck)FezGCD&ln3U1y*XzEUA(IOcD@$y|CeNcRpuws) z4wOjQ!li2cE;1ngqVnh{I@xqmu{IOZ0<bt0ftY${=CeX~RbTJ2av_R3nN~}03OMV^ zpW#w)@jpRFn9RJmi=95baWx2Q#t>rD=NUwuJo_0hFnbX1$w+FOe5ZHhxFguAB6R|F zoD{Y$cr`eAJDG&p$G-K8OmQOLq$i{Q7=OSz1R7wsH#LY)=ntTfo+@AZ1|P!bW<G^& zR`+&<r)z;~d06YWjE^$~iZbSH#e7ovsm9!eQ=w$Q*wdPoN^50eDq&o?9lFlERCFZ( z?0&@6k*~u&^TfXc^)m)nw-xz;p=$(MYT9i$)x))m1C-liA{i;!+4#}dAGR6pW4);& zCG*uj9evc?Uty>mCzKx&OBna_JeVNaBSBp<`IsP&`uh6^=aR%6x+emD(>2oJeF7J- zV0K#7Wt*S#9*Of~n)$=YrlaaY?M>K4sS`0Wp&x`*6XS2+=b~399=DVl*KOB^rhm^s zX+5fL(0OeTZ+7{7x`axb)n;m-@Yb!cIr`speieFO3v?w4-^UoBZkHZy^V#Gcg%6vH zlLy{*DEd<}gscuR^}_^$$ME>Y{#Zzr=UL<>bD$RF;m6*R_bSr3%F+MF0%8ou^V{i} zxda5f9A<|k#TXw0A!ECvO&4Hg01_@?T=#h+G67s&+^*tp|Mok_9Eg7G#&9hS5tT0P zgZT@uT#iR39TK(q;jbJ|5(gQUd$R=GHygI>Ee{tOSouWD-KLqA2GdLDmk<G4hE;jn zdvn*C94^fGq%U-Ax}B~}rMi&7N{_>2k?L?X7#{0srdD>Sii*E2Y+(sWe^pvg@CLA_ z5Nf*CQuS{!>6KeIhoRra?ja~;hr2C?W@l%oOL*Grh?YW)>54M%a<rD=>PoI%k?bhL zF3+at=H^O;01k3-yR)K=bsoVy)!AmnI+Jkjx3=kmdR6&b<HD=<18J{X++lx-N;dC( zQNCPSVD#^O!{LmUniPK6VqFSA4R$5?b?|!ZO-~;&fju>nZr$r*Rmd@vNv-=g>CYp} zS={<O9n+kjcjJ3!4gEZXny@Fuz}Z}X1D?A2b9YSoo0=u}wVJQB&PR)VE?sO%(5pBY zBJEd8xxkYt-{Mw#M|=}}C?)d!_XaV;tyuU6CGE%^xXNOsH7i!;wfofU+8L-fcysB= z2q7#(qG(@^EKGj=M(2v>MB(Rpdxh;g2h)Ue>NDR^7<Om4^U{t5p!IuT2g@rVU9e4P zGOad9mBFHLaem-_u~%`*Om^W`kOI8v_&~ft)de4h8P(XG%?=c5`JOTdoigj+(e)_C z|G~uxRLw!$3AFMwfXDbM)x%570Xzw=uchfZEJZPRc{m>*uY-!#%o(QRU+zpxdlI0` z=(=kM@dr!;Wr&nRFn5W5O&75V0>@vQQs1*Z$mM#@^Fk`%zBYqtK!<7-GWde3$|mq+ zU68M*hXdroFoML5VI0LxR*<m3jRbg6)6jf$o*dOGo-~p)t+JWK(VAt)In6f4oX>{a z#W=7{sg>wfl~k)-O4puq5J*^A8{Kz&0I9m2`D~i6f`S5leaZ)KDkRbfhs}hA{gRTM zaj@>~(>lSYigjPXG3aOI&(&ZSMir2Q5(M^zAS+PVBhLkABwk=WbZhW;spT9kd}v}i z?dmK^-_%R+1#e<tFJ|Nl{8{U^)(4YSNzXXo=T{eQm>cT(Whmyxi*g)J+{t(;@bt`w z*7TmJH+SabuHRwvpOO-trR%<DhfCFlze-c<bW(vEpYZ3^qJo0=!m7QAe51D#R*;pI zEE2ZRPoL6WV+isvsTbn(o2evg@I?$$JdBQZ!)CqrftAxgyzs%xm^40pxds0ABDe+- z&9V#y?A3#!<0vD(0>@7osHo8^XBf%ch<Oy0a!Ql)V-Mz|Uf?V!l~cNiN*EgPtn^`Q zU@Km2!C9b~`YDI99TWB5R0J3B9$%a9UWFUvUdPfpb#*ekuch<p-9BV2-GY1ui|}Sx zN^5H*rVpnkaIS)bVVNBsRKe=e6j02?4J?JKF?~ketJTOh%B^$P#ortk`d={%t^d@9 zwu-G{=+8&UuQzJM0IOpkd=b)53A0Lc%-j*xU8qlBME#6{CS7H_hUQqt2;XNN(fSW| zKDaR83;JtJG~u{AlRQL8&#CvGl-S-EY`L_-1G6S$oyMnllRygvlBk3xnE`vPc~lDH z{$hK2iyAXc3O1y;^wH-Ih!eS)$YZmUliVE+G?aO>1a*H>HE@BQk0F;osYg?7y9HO2 z`EHXYYzfZ%WL!ehQf$ZYgTZ{{{#^a)iKv`i1Kz(zBKK{k9BKp~4VKmDGLcFN@gCP{ zo~yF94+j+SG1ud)nk+l|BJ$cu=`Oa0k-F$5&d(&EF3yh7vjvSe+=kPT9kUa)EkK9< zTtn!k!y2rPN$L!xjHD>00jxinlmzO1Uf}NnP)%M!&WrY_xf+oDykT{X_mlZ)f)GWf zx5Lf7-;)+ImW?@Ug^bOj%O+1h{nT|aBGJ>SIQY?E8<N?n^)Ts1TTu%+V*869gYH9C z*B+UKgqw8z>wJ2~S)pD}?Ou4V@xm9;E?in#uy)RmGUssRUr(hvT5TUb5pJuttS$1f z(G)5T>LyiEl@q?Z*f_!>8l^?*Dq-D-8p9}{y^SPKWyd(VWG)!`AML>$*oI#1XxC@) z*(_P;@#HsTcXRgsSP>z?gfi~dyk#j3Yp4i)GP#4%idK+4-*lu=v-o&h;fVd!^u(XJ zhIqbEp<^3;@`SkdVoj#9uwRTl3J^?D(5eJ+{Y9WmCu4ZT`xJ&Z<5`~`>|Y;b*i<5t zBKj-qt7JhBH&6B3rqfE9j{;$zAAbr}aZ@D=Q;o<o@1A_5=vQ!W?EW|QxXqZf2hEdI z!G#{?BnO!;Oc8vd-&N)l!eKI|l3##i`oF%nD=aUkSUBJO5pkZI$kt88hNj4cg{8oT zUVA>Vt89ImUri6-o5OD5v#4uH=Mjz$Xks=Pr+lYTT}ihd`Hnlf{TQB@sApnOFA<Q0 zsPsHq&2H~jrRR3;dP-}2oj6V}93A=9AB(oVDgStupEm~UJW*gbN^CEk7uhM+3Fkg) zzItyW*h?56c(@W|ZdPSuo%B+w42ko+V)31y8vI`sd+k=;#**j2kp4fUaSW{YC>m_b zKGh~Re8H7(z&Q|;I11)yn4fxgMlGZGXINl2tRvhGj|FGnh{ZqnN%`Q0H(~g<#Q%!S zrqxv)r?MyQ^5Fp|T=~eebL6@8zTNk^r|j&TvB*Vb#!mf+>_F6`!9H8TJddMUWyoF8 zkKc`ufguIS3X1cgO?s}b&(P5Fz?Oo7Z4U>1^NHJn2<-kZykv~|V1<&pItS6M(v5|c z<xHY6GEylH7UV<O*x+|@FzJSIC__3P>`u;#{brado3D0lISkO-Tx<?*c5rTXM5Rn# zR-QW=)Y<H9#yq}kyH0+sC+ps!vB&OI)VD~)+TrD3&UJ&@z?O-cJ^ig!pQ$plDrabS z_?g4msbuV#%qr}23m&A@_Rjj>Mv1tPA+Za;8nf_sA$jks16?CsT0fQ<HDI!p%XR9t zbmm_NTsSo<T5lajMSdMCS2US7L=bwY)V2vA^djOkAtWO0*;V=Hx|%MZxH$g2=`e?u z^!dm{Io!y|jC9DrKw-RU03+p#DC-KYanQFtm~V2uN*UanrUC?Q)b>VOww8Z|@4Aix zF|n~M4JL$8SR-qHO3j|!`<@cBzYiTs-jad%x#uXGe)3vphSZMEKU4J_)*K8c2?oR! zeT<5Yn%*1pxLwUnGKiK{k+;D@CLT%2L#ym>EwE(?#!fk5YR>u>3zCy{`}H*(uT{@f zM)5Vu8c33Gy%>l<MtR)SHp&}?ZEddKV#(Qm^Toz6%;y$f%cyBIe{i^WvUD=er!nmM z6i2wN9V=#A_~UU!eEjV*ZLOS~>|h%=_tGCb^;tNQ<LvC}<{u_Vvv==Y*22%0A1XO5 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%0D4P3Hs5o_qO>P_4Hr84Jf^WM9b4hm7~Om(Ajgc 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�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%0AfVIt`mCfvH`%R21U)rGiSPhY;w^cb{lud7Q#I~ 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 }1Ffo4H8 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¨JZz8OQ!5t{p@u~8Rn5e8Pf5vdBlxJT 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%0Amxyl0Zo-1 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 UXP`t}%m|j2+C$X_Wy{F_0br3t_W%F@ literal 0 HcmV?d00001 diff --git a/docs/prime-agent-verification.md b/docs/prime-agent-verification.md new file mode 100644 index 00000000000..c60f2c0bcdd --- /dev/null +++ b/docs/prime-agent-verification.md @@ -0,0 +1,35 @@ +# Prime Agent verification + +Verified on 2026-08-12 for PAN-3668 with Prime Agent 0.7.2 and Node.js 22.22.0. + +## Automated gates + +| Gate | Result | +| --- | --- | +| `npm run build` | Passed, including contracts, CLI, dashboard server, dashboard frontend, and dist-externals checks. | +| `npm run typecheck` | Passed. The dashboard ratchet fell from 30 known errors to 28 after the Prime runtime types were propagated. | +| `npm run lint` | Passed through the focused rerun after removing the new Prime transcript-adapter cycle. | +| `npm test` | 13,664 tests passed and 51 skipped. Two unrelated 5-second setup hooks timed out under full-suite load; both files passed immediately in a focused rerun (5/5 tests). | +| Prime focused and no-loss tests | Passed, including the live smoke, runtime registry, parser, policy, picker, transcript, artifact, telemetry, and canonical-harness matrices. | + +The opt-in live test is `tests/integration/prime-agent-smoke.test.ts`. Run it with `OVERDECK_PRIME_AGENT_LIVE=1 npx vitest run tests/integration/prime-agent-smoke.test.ts`. Provider and model overrides are available through `OVERDECK_PRIME_AGENT_PROVIDER` and `OVERDECK_PRIME_AGENT_MODEL`. + +## Live Prime Agent smoke + +The smoke used a disposable directory and the installed `prime-agent` binary. It verified: + +1. RPC launch with an explicit provider, model, working directory, and session directory. +2. Correlated `get_state`, `prompt`, `steer`, `get_session_stats`, `abort`, `get_messages`, and resumed-session requests. +3. A real Bash tool execution that wrote the expected marker inside the disposable directory. +4. Non-zero token accounting, non-negative cost accounting, graceful stop, and resume from the saved session file. +5. The freshly built doctor diagnostic: `Prime Agent: v0.7.2 (RPC mode available)`. + +## Dashboard boot and UI + +The production dashboard bundle booted under Node.js 22 on isolated port 33668 with an isolated `OVERDECK_HOME`, `OVERDECK_DISABLE_DEACON=1`, and `OVERDECK_NO_RESUME=1`. `/api/health` returned `status: ok`, `mode: peer`, and the feature branch build metadata. The log order confirmed the HTTP listener before boot-cache completion, and Cloister stayed disabled. + +Playwright opened the isolated dashboard, enabled the throwaway harness-permutation setting, opened the runtime picker, and confirmed that `Prime Agent` was visible with the description `Managed persistent Prime RPC session`. The inspected screenshot is [the Prime Agent runtime picker](evidence/pan-3668/prime-agent-runtime-picker.png). + +## Release decision + +The Prime Agent path is verified for managed launch, RPC delivery, tool use, transcript persistence, cost reporting, stop/resume, diagnostics, and operator-facing selection. The only full-suite exceptions were two unrelated setup-hook timeouts that passed outside the saturated run. diff --git a/scripts/dashboard-types-baseline.txt b/scripts/dashboard-types-baseline.txt index 64bb6b746dc..9902f17848a 100644 --- a/scripts/dashboard-types-baseline.txt +++ b/scripts/dashboard-types-baseline.txt @@ -1 +1 @@ -30 +28 diff --git a/src/cli/commands/artifacts.ts b/src/cli/commands/artifacts.ts index 831a64d42f6..f677903a3e1 100644 --- a/src/cli/commands/artifacts.ts +++ b/src/cli/commands/artifacts.ts @@ -387,7 +387,7 @@ function parseAgentRole(value: string | undefined): ArtifactAgentRole | undefine export function parseAgentHarness(value: string | undefined): ArtifactAgentHarness | undefined { if (value === undefined) return undefined; - if (value === 'claude-code' || value === 'pi' || value === 'ohmypi' || value === 'codex' || value === 'acp' || value === 'kimi-code' || value === 'user') return value; + if (value === 'claude-code' || value === 'pi' || value === 'ohmypi' || value === 'codex' || value === 'acp' || value === 'kimi-code' || value === 'prime-agent' || value === 'user') return value; throw new Error(`Invalid --agent-harness: ${value}`); } diff --git a/src/cli/commands/flywheel.ts b/src/cli/commands/flywheel.ts index c1d3033de3e..fb334777d60 100644 --- a/src/cli/commands/flywheel.ts +++ b/src/cli/commands/flywheel.ts @@ -95,7 +95,7 @@ interface FlywheelGateSnapshot { } interface ResolvedFlywheelRoleConfig { - harness: 'claude-code' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code'; + harness: RuntimeName; model: string; effort: RoleEffort; minAgents: number; diff --git a/src/cli/commands/strike.ts b/src/cli/commands/strike.ts index a62265085d8..4ea94e87659 100644 --- a/src/cli/commands/strike.ts +++ b/src/cli/commands/strike.ts @@ -14,12 +14,13 @@ import { ACTIVITY_STALLED_MS } from '../../lib/agents/health.js'; import { resolveProjectFromIssueSync } from '../../lib/projects.js'; import { isHarnessProcessAlive, sessionExists } from '../../lib/tmux.js'; import type { RoleEffort } from '../../lib/config-yaml.js'; +import type { RuntimeName } from '../../lib/runtimes/types.js'; const execAsync = promisify(exec); export interface StrikeOptions { model?: string; - harness?: 'claude-code' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code'; + harness?: RuntimeName; effort?: RoleEffort; dryRun?: boolean; } diff --git a/src/dashboard/server/routes/command-deck.ts b/src/dashboard/server/routes/command-deck.ts index 0df6ad5052a..a7772bda27f 100644 --- a/src/dashboard/server/routes/command-deck.ts +++ b/src/dashboard/server/routes/command-deck.ts @@ -271,7 +271,7 @@ export async function fetchActivityDataWithContext( roundMetadata?: ReviewerRoundMetadata; modelOrigin?: ModelOriginData; planningComplete?: boolean; - [key: string]: unknown; + harness?: string; lastActivity?: string; tokenUsage?: { inputTokens: number; outputTokens: number; cacheReadTokens?: number; cacheWriteTokens?: number }; cost?: number; }> = []; // Shared workspace path for JSONL resolution (PAN-821) @@ -380,7 +380,7 @@ export async function fetchActivityDataWithContext( hasJsonl: !!jsonlPath, tmuxSession: exposeInteractiveTerminal ? checkId : undefined, planningComplete: sectionType === 'planning' ? planningFinished : undefined, - ...projectRuntimeSession(checkId, state.harness), + ...projectRuntimeSession(checkId, state.harness ?? 'claude-code'), }); } catch { /* skip malformed state */ } } diff --git a/src/dashboard/server/routes/context.ts b/src/dashboard/server/routes/context.ts index e07a0339fba..42aa0ae15fe 100644 --- a/src/dashboard/server/routes/context.ts +++ b/src/dashboard/server/routes/context.ts @@ -505,6 +505,7 @@ export async function previewContextLayers( codex: previews.codex, acp: previews.acp, 'kimi-code': previews['kimi-code'], + 'prime-agent': previews['prime-agent'], fullPrompt: fullPromptPreview(previews), }, diagnostics: diagnosticsForLayers(layers, drafts), diff --git a/src/dashboard/server/routes/projects.ts b/src/dashboard/server/routes/projects.ts index 45377ef3aba..de4e3351732 100644 --- a/src/dashboard/server/routes/projects.ts +++ b/src/dashboard/server/routes/projects.ts @@ -295,7 +295,7 @@ async function collectSessionTreeNodes( awaitingInputReason: awaitingInput?.reason, pendingInputKinds: context.agentSnapshotsById?.get(checkId)?.pendingInputKinds, hasJsonl: !!jsonlPath, - ...projectRuntimeSession(checkId, state.harness), + ...projectRuntimeSession(checkId, state.harness ?? 'claude-code'), deliveryMethod: state.deliveryMethod, planningComplete: isPlanning ? planningFinished : undefined, ...await readSessionGateFields(checkId, state), diff --git a/src/dashboard/server/routes/specialists/project-routes.ts b/src/dashboard/server/routes/specialists/project-routes.ts index 1a0eee96733..4ef7a9bc854 100644 --- a/src/dashboard/server/routes/specialists/project-routes.ts +++ b/src/dashboard/server/routes/specialists/project-routes.ts @@ -19,6 +19,7 @@ import { killSession } from '../../../../lib/tmux.js'; import { getAgentStateSync, saveAgentRuntimeState } from '../../../../lib/agents.js'; import { REVIEW_SUB_ROLES, type ReviewSubRole } from '../../../../lib/cloister/review-monitor.js'; import { resolveReviewParentRunState } from '../../../../lib/cloister/review-run-recovery.js'; +import type { RuntimeName } from '../../../../lib/runtimes/types.js'; import { jsonResponse } from '../../http-helpers.js'; import { httpHandler } from '../http-handler.js'; import { execAsync, readJsonBody, validateSpecialistAgentName } from './shared.js'; @@ -570,7 +571,7 @@ const postProjectReviewRestartRoute = HttpRouter.add( const project = params['project'] as string; const issueId = params['issueId'] as string; const body = yield* readJsonBody; - const { model, harness } = body as { model?: string; harness?: 'claude-code' | 'pi' | 'codex' }; + const { model, harness } = body as { model?: string; harness?: RuntimeName }; const { killAllReviewerSessions } = yield* Effect.promise( () => import('../../../../lib/cloister/review-agent.js'), diff --git a/src/dashboard/server/services/conversation-lifecycle.ts b/src/dashboard/server/services/conversation-lifecycle.ts index f96ad813002..88c386931d8 100644 --- a/src/dashboard/server/services/conversation-lifecycle.ts +++ b/src/dashboard/server/services/conversation-lifecycle.ts @@ -38,7 +38,7 @@ import { import { isRespawnPending } from './pending-respawn.js'; import { encodeClaudeProjectDir, sessionFilePath, getOverdeckHome } from '../../../lib/paths.js'; import { getHarnessBehavior } from '../../../lib/runtimes/behavior.js'; -import type { HarnessName } from '../../../lib/runtimes/types.js'; +import type { HarnessName, RuntimeName } from '../../../lib/runtimes/types.js'; import { cleanupUnreferencedConversationAttachments, runInBatches } from './conversation-attachments.js'; const POLL_INTERVAL_MS = 10_000; @@ -115,7 +115,7 @@ interface AgentStateFile { workspace?: string; role?: string; model?: string; - harness?: 'claude-code' | 'pi' | 'codex'; + harness?: RuntimeName; startedAt?: string; } diff --git a/src/dashboard/server/services/flywheel-actions.ts b/src/dashboard/server/services/flywheel-actions.ts index 4eaa28b6f02..8e28ecb2dec 100644 --- a/src/dashboard/server/services/flywheel-actions.ts +++ b/src/dashboard/server/services/flywheel-actions.ts @@ -10,6 +10,7 @@ import { resolveHarness } from '../../../lib/harness-resolve.js'; import { FLYWHEEL_ORCHESTRATOR_AGENT_ID, isFlywheelDevcontainerRuntime, loadResumeSessionId, saveResumeSessionId, spawnFlywheelAgent } from '../../../lib/cloister/flywheel.js'; import { FLYWHEEL_ACTIVE_RUN_ID_KEY, FLYWHEEL_GLOBAL_PAUSE_KEY } from '../../../lib/overdeck/control-settings.js'; import { isPaneDead, killSession, sessionExists } from '../../../lib/tmux.js'; +import type { RuntimeName } from '../../../lib/runtimes/types.js'; import { abortFlywheelRun, getFlywheelRunDetail, @@ -38,7 +39,7 @@ interface FlywheelGateSnapshot { } interface ResolvedFlywheelRoleConfig { - harness: 'claude-code' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code'; + harness: RuntimeName; model: string; effort: RoleEffort; minAgents: number; @@ -146,7 +147,7 @@ async function createInitialFlywheelStatus( startedAt: string, cwd: string, agentModel: string | undefined, - agentHarness: 'claude-code' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code' | undefined, + agentHarness: RuntimeName | undefined, roleConfig: ResolvedFlywheelRoleConfig, ): Promise<FlywheelStatus> { const ramTotalMb = mb(totalmem()); diff --git a/src/dashboard/server/services/runtime-session-projection.ts b/src/dashboard/server/services/runtime-session-projection.ts index 71342c75bb6..ab97ff9e9f6 100644 --- a/src/dashboard/server/services/runtime-session-projection.ts +++ b/src/dashboard/server/services/runtime-session-projection.ts @@ -9,15 +9,19 @@ export interface RuntimeSessionProjection { } export function projectRuntimeSession(agentId: string, harness: RuntimeName): RuntimeSessionProjection { - const runtime = getGlobalRegistry().get(harness); - if (!runtime) return { harness }; - const lastActivity = runtime.getLastActivity(agentId); - const tokenUsage = runtime.getTokenUsage(agentId); - const cost = runtime.getSessionCost(agentId)?.totalCost; - return { - harness, - ...(lastActivity ? { lastActivity: lastActivity.toISOString() } : {}), - ...(tokenUsage ? { tokenUsage } : {}), - ...(cost !== undefined ? { cost } : {}), - }; + try { + const runtime = getGlobalRegistry().get(harness); + if (!runtime) return { harness }; + const lastActivity = runtime.getLastActivity(agentId); + const tokenUsage = runtime.getTokenUsage(agentId); + const cost = runtime.getSessionCost(agentId)?.totalCost; + return { + harness, + ...(lastActivity ? { lastActivity: lastActivity.toISOString() } : {}), + ...(tokenUsage ? { tokenUsage } : {}), + ...(cost !== undefined ? { cost } : {}), + }; + } catch { + return { harness }; + } } diff --git a/src/lib/artifacts/lifecycle.ts b/src/lib/artifacts/lifecycle.ts index 140d74fbc35..9faac60c14d 100644 --- a/src/lib/artifacts/lifecycle.ts +++ b/src/lib/artifacts/lifecycle.ts @@ -207,7 +207,7 @@ function parseAgentRole(value: string | undefined): ArtifactMetadata['agentRole' } export function parseAgentHarness(value: string | undefined): ArtifactMetadata['agentHarness'] { - if (value === 'claude-code' || value === 'pi' || value === 'ohmypi' || value === 'codex' || value === 'acp' || value === 'kimi-code' || value === 'user') { + if (value === 'claude-code' || value === 'pi' || value === 'ohmypi' || value === 'codex' || value === 'acp' || value === 'kimi-code' || value === 'prime-agent' || value === 'user') { return value; } return null; diff --git a/src/lib/cloister/flywheel.ts b/src/lib/cloister/flywheel.ts index d9e3aa89e30..de41e02ccea 100644 --- a/src/lib/cloister/flywheel.ts +++ b/src/lib/cloister/flywheel.ts @@ -16,6 +16,7 @@ import { findProjectByPathSync, getProjectSwarmHotspots } from '../projects.js'; import { getBookAsync as getOrderBook } from '../orders/resolver.js'; import { resolveStateReadHomeSync } from '../state-read-home.js'; import type { XBriefDocument } from '../xbrief/types.js'; +import type { RuntimeName } from '../runtimes/types.js'; import { getFlywheelActiveRunId, isFlywheelAutoPickupBacklog, @@ -75,7 +76,7 @@ export interface FlywheelLifecycleOptions { briefOverlayContent?: string; prompt?: string; model?: string; - harness?: 'claude-code' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code'; + harness?: RuntimeName; effort?: RoleEffort; minAgents?: number; maxAgents?: number; diff --git a/src/lib/composer-commands/__tests__/harness-matrix.test.ts b/src/lib/composer-commands/__tests__/harness-matrix.test.ts index 77ca0a23272..008900cec2f 100644 --- a/src/lib/composer-commands/__tests__/harness-matrix.test.ts +++ b/src/lib/composer-commands/__tests__/harness-matrix.test.ts @@ -195,7 +195,7 @@ describe('composer command harness interception matrix (all KNOWN_HARNESSES)', ( expect(decodeJsonResponse(response)).toEqual({ ok: true }); expect(deps.transformMessageForHarness).toHaveBeenCalledWith(message, harness, []); - if (harness === 'ohmypi') { + if (harness === 'ohmypi' || harness === 'prime-agent') { expect(mocks.deliverControl).toHaveBeenCalledOnce(); expect(mocks.deliverAgentMessage).not.toHaveBeenCalled(); } else { diff --git a/src/lib/conversations/prime-transcript-adapter.ts b/src/lib/conversations/prime-transcript-adapter.ts index bbf01532c73..70160c9cee7 100644 --- a/src/lib/conversations/prime-transcript-adapter.ts +++ b/src/lib/conversations/prime-transcript-adapter.ts @@ -3,7 +3,7 @@ import { readdir, readFile } from 'node:fs/promises'; import { join } from 'node:path'; import { getOverdeckHome } from '../paths.js'; import { summarizeSerializedText } from './smart-compaction.js'; -import type { ConversationTranscriptAdapter } from './transcript-adapter.js'; +import type { ConversationTranscriptAdapter } from './transcript-adapter-types.js'; const DETAIL_LIMIT = 4_000; diff --git a/src/lib/conversations/transcript-adapter-types.ts b/src/lib/conversations/transcript-adapter-types.ts new file mode 100644 index 00000000000..e53d7550ad1 --- /dev/null +++ b/src/lib/conversations/transcript-adapter-types.ts @@ -0,0 +1,22 @@ +import type { LegacyConversation as Conversation } from '../overdeck/conversations.js'; +import type { RuntimeName } from '../runtimes/types.js'; + +export interface CompactSummaryOptions { + model?: string; + richMode?: boolean; + includeThinking?: boolean; + harness?: RuntimeName; + timeoutMs?: number; +} + +export interface ConversationTranscriptAdapter { + readonly name: RuntimeName; + readonly supportsPlainForkAsSource: boolean; + readonly supportsSourceAuthoredHandoff: boolean; + resolveSessionFile(conv: Conversation): Promise<string | null>; + serializeTranscript(sessionFile: string, options?: { includeThinking?: boolean }): Promise<string>; + compactSummary( + sessionFile: string, + options?: CompactSummaryOptions, + ): Promise<{ summary: string; summaryModel: string | null }>; +} diff --git a/src/lib/conversations/transcript-adapter.ts b/src/lib/conversations/transcript-adapter.ts index a6c4e723ea6..b44442ca13b 100644 --- a/src/lib/conversations/transcript-adapter.ts +++ b/src/lib/conversations/transcript-adapter.ts @@ -28,7 +28,6 @@ import { join } from 'node:path'; import { Effect } from 'effect'; import type { AcpTranscriptEntry, AcpTranscriptToolCallState } from '../acp/transcript.js'; -import type { LegacyConversation as Conversation } from '../overdeck/conversations.js'; import type { RuntimeName } from '../runtimes/types.js'; import { getOverdeckHome, sessionFilePath } from '../paths.js'; import { findKimiWirePathAsync } from '../runtimes/kimi-code.js'; @@ -39,62 +38,8 @@ import { summarizeSerializedText, } from './smart-compaction.js'; import { primeAgentAdapter } from './prime-transcript-adapter.js'; - -export interface CompactSummaryOptions { - /** Model for the summarizer LLM. */ - model?: string; - /** Use the rich (Claude-native-style) summary prompt variant. */ - richMode?: boolean; - /** Include thinking blocks in the serialized source. Default: true. */ - includeThinking?: boolean; - /** Harness backend the summarizer LLM runs on. Default: 'claude-code'. */ - harness?: RuntimeName; - /** Per-LLM-call timeout (ms). */ - timeoutMs?: number; -} - -export interface ConversationTranscriptAdapter { - /** Display name for logging/errors. */ - readonly name: RuntimeName; - - /** Plain forks copy raw Claude JSONL and spawn Claude with `--resume` — - * only Claude Code can be the source of a plain fork. */ - readonly supportsPlainForkAsSource: boolean; - - /** Source-authored handoff requires delivering a prompt to the live source - * agent and waiting for it to write a sentinel file. Claude Code supports - * this via deliverAgentMessage; Pi has no hook-equivalent signaling channel - * for the .done sentinel (see PAN-1134), so source authoring is gated off - * for Pi until that lands. */ - readonly supportsSourceAuthoredHandoff: boolean; - - /** Resolve the path to the source conversation's transcript file. - * Returns null if the conversation has no transcript yet (e.g. session - * just started and hasn't produced a JSONL line). */ - resolveSessionFile(conv: Conversation): Promise<string | null>; - - /** Serialize the transcript into a harness-agnostic canonical text that - * the handoff prompt template can embed verbatim. Each turn is rendered - * with a `[user]` / `[assistant]` header followed by text and tool-use - * summaries; thinking blocks are optional (defaults to including them). - */ - serializeTranscript(sessionFile: string, options?: { includeThinking?: boolean }): Promise<string>; - - /** - * Produce a model-generated compact summary of the transcript, suitable for - * seeding a summary fork or feeding the handoff authoring prompt. - * - * claude-code uses the entry-aware smart-compaction flow (rich, file-op - * aware); other harnesses serialize the transcript and run a generic - * chunk-and-merge summarizer over the text. The `harness` option selects the - * summarizer LLM backend and is independent of which adapter (= source - * harness) produced the transcript. - */ - compactSummary( - sessionFile: string, - options?: CompactSummaryOptions, - ): Promise<{ summary: string; summaryModel: string | null }>; -} +import type { ConversationTranscriptAdapter } from './transcript-adapter-types.js'; +export type { CompactSummaryOptions, ConversationTranscriptAdapter } from './transcript-adapter-types.js'; // ─── Claude Code ────────────────────────────────────────────────────────── diff --git a/src/lib/overdeck/conversations.ts b/src/lib/overdeck/conversations.ts index 940f91051bb..76330c103f3 100644 --- a/src/lib/overdeck/conversations.ts +++ b/src/lib/overdeck/conversations.ts @@ -884,7 +884,7 @@ function toMillis(value: Date | string | number = new Date()): number { /** Map a raw DB harness string to a canonical RuntimeName, normalizing legacy 'pi' to 'ohmypi' on read. */ export function normalizeHarness(harness: string | null): RuntimeName | null { if (harness === 'pi' || harness === 'ohmypi') return 'ohmypi'; - if (harness === 'claude-code' || harness === 'codex' || harness === 'acp' || harness === 'kimi-code') return harness; + if (harness === 'claude-code' || harness === 'codex' || harness === 'acp' || harness === 'kimi-code' || harness === 'prime-agent') return harness; return null; } diff --git a/src/lib/planning/spawn-planning-session.ts b/src/lib/planning/spawn-planning-session.ts index 93168d1c5e6..e0d287368c5 100644 --- a/src/lib/planning/spawn-planning-session.ts +++ b/src/lib/planning/spawn-planning-session.ts @@ -401,7 +401,7 @@ If the probe pass changes nothing at all, record one decision: "PROBE: no findin * Write workspace `.pan/context.md` for Rally Features so story work agents can * reference feature-level context (child stories, description, URL). */ -async function claudePlanningSystemPromptFiles(workspacePath: string, harness: 'claude-code' | 'ohmypi' | 'codex' | 'acp' | 'kimi-code'): Promise<string[]> { +async function claudePlanningSystemPromptFiles(workspacePath: string, harness: RuntimeName): Promise<string[]> { const files: string[] = []; const contextFile = workspaceContextFile(workspacePath); try { diff --git a/src/lib/system-prerequisites.ts b/src/lib/system-prerequisites.ts index 797d1094333..fdb86814823 100644 --- a/src/lib/system-prerequisites.ts +++ b/src/lib/system-prerequisites.ts @@ -199,8 +199,8 @@ export type PrerequisiteResolver = ( ) => Promise<string | null>; const defaultProbe: PrerequisiteProbe = async (cmd, args) => { - const { stdout } = await execFileAsync(cmd, args, { encoding: 'utf-8', timeout: 10_000 }); - return stdout; + const { stdout, stderr } = await execFileAsync(cmd, args, { encoding: 'utf-8', timeout: 10_000 }); + return stdout || stderr; }; const defaultResolver: PrerequisiteResolver = async (command, options) => { diff --git a/tests/integration/prime-agent-smoke.test.ts b/tests/integration/prime-agent-smoke.test.ts new file mode 100644 index 00000000000..4c0e2968221 --- /dev/null +++ b/tests/integration/prime-agent-smoke.test.ts @@ -0,0 +1,91 @@ +import { spawn, type ChildProcessWithoutNullStreams } from 'node:child_process'; +import { mkdtemp, readFile } from 'node:fs/promises'; +import { tmpdir } from 'node:os'; +import { join } from 'node:path'; +import { afterEach, describe, expect, it } from 'vitest'; +import { PrimeAgentRpcClient } from '../../src/lib/prime-agent/rpc-client.js'; + +const runLive = process.env.OVERDECK_PRIME_AGENT_LIVE === '1'; +const provider = process.env.OVERDECK_PRIME_AGENT_PROVIDER ?? 'openai-codex'; +const model = process.env.OVERDECK_PRIME_AGENT_MODEL ?? 'gpt-5.4-mini'; + +interface RunningPrimeAgent { + child: ChildProcessWithoutNullStreams; + client: PrimeAgentRpcClient; + events: Record<string, unknown>[]; +} + +const children: ChildProcessWithoutNullStreams[] = []; + +function launch(args: string[]): RunningPrimeAgent { + const events: Record<string, unknown>[] = []; + const child = spawn('prime-agent', args, { stdio: ['pipe', 'pipe', 'pipe'] }); + children.push(child); + const client = new PrimeAgentRpcClient({ + stdin: child.stdin, + requestTimeoutMs: 120_000, + onEvent: event => events.push(event), + }); + child.stdout.on('data', chunk => client.acceptStdout(chunk)); + child.once('error', error => client.close(error)); + child.once('exit', (code, signal) => client.close(new Error(`Prime Agent exited with code ${code ?? 'null'} and signal ${signal ?? 'none'}`))); + return { child, client, events }; +} + +async function waitForEvent(session: RunningPrimeAgent, type: string, timeoutMs = 120_000): Promise<Record<string, unknown>> { + const started = Date.now(); + while (Date.now() - started < timeoutMs) { + const event = session.events.find(candidate => candidate.type === type); + if (event) return event; + await new Promise(resolve => setTimeout(resolve, 25)); + } + throw new Error(`Timed out waiting for Prime Agent event ${type}`); +} + +afterEach(async () => { + for (const child of children.splice(0)) { + if (child.exitCode === null) child.kill('SIGTERM'); + } +}); + +describe.skipIf(!runLive)('Prime Agent live RPC smoke', () => { + it('launches, prompts, uses a tool, steers, reports cost, and resumes', async () => { + const root = await mkdtemp(join(tmpdir(), 'pan-prime-agent-smoke-')); + const sessions = join(root, 'sessions'); + const marker = join(root, 'prime-tool-ok.txt'); + const first = launch([ + '--mode', 'rpc', '--provider', provider, '--model', model, + '--cwd', root, '--session-dir', sessions, '--no-context-files', + ]); + + const initial = await first.client.request<{ sessionFile: string; isStreaming: boolean }>({ type: 'get_state' }); + expect(initial.data?.isStreaming).toBe(false); + await first.client.request({ + type: 'prompt', + message: `Use the bash tool to run: printf prime-tool-ok > ${marker}. Then reply with only TOOL_OK.`, + }); + await first.client.request({ type: 'steer', message: 'Keep the final reply to exactly TOOL_OK.' }); + await waitForEvent(first, 'tool_execution_end'); + await waitForEvent(first, 'agent_end'); + + expect(await readFile(marker, 'utf8')).toBe('prime-tool-ok'); + const stats = await first.client.request<{ cost: number; tokens: { total: number }; sessionFile: string }>({ type: 'get_session_stats' }); + expect(stats.data?.tokens.total).toBeGreaterThan(0); + expect(stats.data?.cost).toBeGreaterThanOrEqual(0); + expect(stats.data?.sessionFile).toBeTruthy(); + const sessionFile = stats.data!.sessionFile; + await first.client.request({ type: 'abort' }); + first.child.kill('SIGTERM'); + + const resumed = launch([ + '--mode', 'rpc', '--provider', provider, '--model', model, + '--cwd', root, '--session-dir', sessions, '--resume', sessionFile, + '--no-context-files', + ]); + const messages = await resumed.client.request<{ messages: unknown[] }>({ type: 'get_messages' }); + expect(messages.data?.messages.length).toBeGreaterThanOrEqual(2); + const resumedState = await resumed.client.request<{ sessionFile: string }>({ type: 'get_state' }); + expect(resumedState.data?.sessionFile).toBe(sessionFile); + await resumed.client.request({ type: 'abort' }); + }, 180_000); +}); diff --git a/tests/lib/config-yaml.test.ts b/tests/lib/config-yaml.test.ts index 446f203a12f..59c734368bf 100644 --- a/tests/lib/config-yaml.test.ts +++ b/tests/lib/config-yaml.test.ts @@ -192,7 +192,7 @@ api_keys: openai: { enabled: true, harness: 'bad' as never }, }, }, - })).toThrow('models.providers.openai.harness must be claude-code, ohmypi, codex, acp, or kimi-code'); + })).toThrow('models.providers.openai.harness must be claude-code, ohmypi, codex, acp, kimi-code, or prime-agent'); }); it('normalizes legacy DashScope API keys without re-enabling an explicitly disabled provider', () => { From bbe281810cd771da1560358f132218251c10a87c Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Thu, 13 Aug 2026 08:13:52 -0400 Subject: [PATCH 30/38] fix: connect Prime Agent production RPC host --- src/cli/commands/doctor-prime-agent.ts | 35 +++++- src/dashboard/server/routes/context.ts | 6 +- .../services/runtime-session-projection.ts | 7 +- src/lib/launcher-generator.ts | 14 ++- .../__tests__/jsonl-framing.test.ts | 8 ++ src/lib/prime-agent/host.ts | 84 +++++++++++++ src/lib/prime-agent/jsonl-framing.ts | 31 +++-- src/lib/prime-agent/launch-command.ts | 9 +- src/lib/prime-agent/session-controller.ts | 31 ++++- src/lib/runtimes/claude-code.ts | 11 ++ src/lib/runtimes/codex.ts | 7 ++ src/lib/runtimes/kimi-code.ts | 7 ++ src/lib/runtimes/ohmypi.ts | 7 ++ src/lib/runtimes/pi.ts | 7 ++ src/lib/runtimes/prime-agent.ts | 69 +++++++++-- src/lib/runtimes/types.ts | 7 ++ tests/integration/prime-agent-smoke.test.ts | 110 ++++++------------ tests/unit/cli/doctor-prime-agent.test.ts | 7 ++ .../runtime-session-projection.test.ts | 9 +- .../unit/lib/agents/spawn-prime-agent.test.ts | 6 +- .../conversation-runtime-prime.test.ts | 3 +- tsdown.config.ts | 1 + 22 files changed, 363 insertions(+), 113 deletions(-) create mode 100644 src/lib/prime-agent/host.ts diff --git a/src/cli/commands/doctor-prime-agent.ts b/src/cli/commands/doctor-prime-agent.ts index 686c781c223..ecc567dcc10 100644 --- a/src/cli/commands/doctor-prime-agent.ts +++ b/src/cli/commands/doctor-prime-agent.ts @@ -1,4 +1,10 @@ import { resolveHarnessBinary } from '../../lib/harness-binary.js'; +import { execFile } from 'node:child_process'; +import { promisify } from 'node:util'; +import { Effect } from 'effect'; +import { getClaudeAuthStatus } from '../../lib/claude-auth.js'; +import { getOpenAIAuthStatus } from '../../lib/openai-auth.js'; +import { loadConfigSync } from '../../lib/config-yaml.js'; import { checkSystemPrerequisite, type PrerequisiteProbe, @@ -27,8 +33,11 @@ function compareSemver(a: string, b: string): number { export async function checkPrimeAgent( probe?: PrerequisiteProbe, resolver?: PrerequisiteResolver, + credentialCheck?: () => Promise<boolean>, ): Promise<PrimeAgentDoctorResult[]> { - const prime = await checkSystemPrerequisite('prime-agent', probe, resolver); + const productionProbe: PrerequisiteProbe = async (path, args) => (await promisify(execFile)(path, args, { encoding: 'utf8' })).stdout; + const activeProbe = probe ?? productionProbe; + const prime = await checkSystemPrerequisite('prime-agent', activeProbe, resolver); if (!prime.found) return [{ name: prime.name, status: 'warn', message: 'Not installed (prime-agent harness unavailable)', fix: `Install: ${prime.install.linux}` }]; const version = prime.version?.match(/(\d+\.\d+\.\d+)/)?.[1] ?? null; @@ -41,12 +50,30 @@ export async function checkPrimeAgent( ? resolver('prime-agent', { primeAgentHarness: true }) : resolveHarnessBinary('prime-agent')); try { - const help = executable && probe ? await probe(executable, ['--help']) : ''; - if (probe && !/(?:--mode\b[^\n]*\brpc\b|--mode\s+<[^>]+>)/i.test(help)) { + const help = executable ? await activeProbe(executable, ['--help']) : ''; + if (!/(?:--mode\b[^\n]*\brpc\b|--mode\s+<[^>]+>)/i.test(help)) { return [{ name: prime.name, status: 'warn', message: `v${version} does not advertise the required --mode rpc capability`, fix: 'Install a Prime Agent build with RPC mode support.' }]; } } catch { return [{ name: prime.name, status: 'warn', message: `v${version}; RPC capability probe failed`, fix: 'Run `prime-agent --help` and verify --mode rpc is available.' }]; } - return [{ name: prime.name, status: 'ok', message: `v${version} (RPC mode available)` }]; + const results: PrimeAgentDoctorResult[] = [{ name: prime.name, status: 'ok', message: `v${version} (RPC mode available)` }]; + if (!probe || credentialCheck) { + let hasCredential: boolean; + if (credentialCheck) { + hasCredential = await credentialCheck(); + } else { + const { config } = loadConfigSync(); + const [claude, openai] = await Promise.all([ + Effect.runPromise(getClaudeAuthStatus()), + Effect.runPromise(getOpenAIAuthStatus()), + ]); + hasCredential = claude.loggedIn || claude.hasAnthropicApiKey || openai.loggedIn + || Object.values(config.apiKeys).some(Boolean); + } + results.push(hasCredential + ? { name: 'Prime Agent provider credentials', status: 'ok', message: 'At least one configured provider credential is available' } + : { name: 'Prime Agent provider credentials', status: 'warn', message: 'No provider credential is configured', fix: 'Configure credentials for the provider used by the selected Prime Agent model.' }); + } + return results; } diff --git a/src/dashboard/server/routes/context.ts b/src/dashboard/server/routes/context.ts index 42aa0ae15fe..b86c8c29a7c 100644 --- a/src/dashboard/server/routes/context.ts +++ b/src/dashboard/server/routes/context.ts @@ -76,7 +76,7 @@ type DashboardContextSyncResponse = ContextSyncResponse & { type RuleScope = 'universal' | 'dev'; -const PREVIEW_HARNESSES: readonly Harness[] = ['claude-code', 'ohmypi', 'codex', 'acp', 'kimi-code']; +const PREVIEW_HARNESSES: readonly Harness[] = ['claude-code', 'ohmypi', 'codex', 'acp', 'kimi-code', 'prime-agent']; const FRONTMATTER_RE = /^---\r?\n([\s\S]*?)\r?\n---\r?\n?/; const execFileAsync = promisify(execFile); const decodePreviewRequest = Schema.decodeUnknownSync(ContextPreviewRequest); @@ -439,6 +439,10 @@ function fullPromptPreview(previews: Record<Harness, string>): string { '', previews['kimi-code'] || '(no rendered context)', '', + '## Overdeck-controlled Prime Agent bundle', + '', + previews['prime-agent'] || '(no rendered context)', + '', '## Runtime-only sections', '', '- Memory retrieval: injected at agent spawn when enabled; unavailable in this layer editor preview.', diff --git a/src/dashboard/server/services/runtime-session-projection.ts b/src/dashboard/server/services/runtime-session-projection.ts index ab97ff9e9f6..efccd739952 100644 --- a/src/dashboard/server/services/runtime-session-projection.ts +++ b/src/dashboard/server/services/runtime-session-projection.ts @@ -12,9 +12,10 @@ export function projectRuntimeSession(agentId: string, harness: RuntimeName): Ru try { const runtime = getGlobalRegistry().get(harness); if (!runtime) return { harness }; - const lastActivity = runtime.getLastActivity(agentId); - const tokenUsage = runtime.getTokenUsage(agentId); - const cost = runtime.getSessionCost(agentId)?.totalCost; + const metrics = runtime.getSessionMetrics?.(agentId); + const lastActivity = metrics?.lastActivity ?? runtime.getLastActivity(agentId); + const tokenUsage = metrics ? metrics.tokenUsage : runtime.getTokenUsage(agentId); + const cost = (metrics ? metrics.cost : runtime.getSessionCost(agentId))?.totalCost; return { harness, ...(lastActivity ? { lastActivity: lastActivity.toISOString() } : {}), diff --git a/src/lib/launcher-generator.ts b/src/lib/launcher-generator.ts index 56fbfa00395..c1f581c5626 100644 --- a/src/lib/launcher-generator.ts +++ b/src/lib/launcher-generator.ts @@ -471,7 +471,7 @@ function buildCommand(config: LauncherConfig): string[] { return buildKimiCodeCommand(config, false); } if (behavior.launchCommandKind === 'prime-agent-rpc') { - return config.baseCommand ? [config.baseCommand] : []; + return buildPrimeAgentCommand(config, false); } // Conversation panel doesn't use exec — it runs the command then loops @@ -554,6 +554,9 @@ function buildReviewSubRoleCommand(config: LauncherConfig): string[] { * frontmatter), permission flags are skipped — the frontmatter handles them. */ function buildNonConversationCommand(config: LauncherConfig, useExec: boolean): string[] { + if (getHarnessBehavior(config.harness ?? 'claude-code').launchCommandKind === 'prime-agent-rpc') { + return buildPrimeAgentCommand(config, useExec); + } const behavior = getHarnessBehavior(config.harness ?? 'claude-code'); if (behavior.launchCommandKind === 'ohmypi-rpc') { return buildOhmypiCommand(config, useExec); @@ -625,6 +628,15 @@ function buildNonConversationCommand(config: LauncherConfig, useExec: boolean): return parts; } +function buildPrimeAgentCommand(config: LauncherConfig, useExec: boolean): string[] { + if (!config.baseCommand) return []; + const args: string[] = []; + if (config.resumeSessionId) args.push(`--resume ${shellQuote(config.resumeSessionId)}`); + if (config.promptFile) args.push(`--prompt-file ${shellQuote(config.promptFile)}`); + else if (config.promptInline) args.push(`--prompt ${shellQuote(config.promptInline)}`); + return [`${useExec ? 'exec ' : ''}${config.baseCommand} ${args.join(' ')}`.trim()]; +} + /** * Build an oh-my-pi (omp) command line (PAN-1989). * diff --git a/src/lib/prime-agent/__tests__/jsonl-framing.test.ts b/src/lib/prime-agent/__tests__/jsonl-framing.test.ts index 81226793ab8..1d0b2df9bde 100644 --- a/src/lib/prime-agent/__tests__/jsonl-framing.test.ts +++ b/src/lib/prime-agent/__tests__/jsonl-framing.test.ts @@ -16,6 +16,14 @@ describe('PrimeAgentJsonlFramer', () => { framer.finish(); }); + it('handles a large record delivered one byte at a time', () => { + const framer = new PrimeAgentJsonlFramer(); + const input = Buffer.from(`${JSON.stringify({ text: 'x'.repeat(64 * 1024) })}\n`); + const records: unknown[] = []; + for (const byte of input) records.push(...framer.push(Uint8Array.of(byte))); + expect(records).toEqual([{ text: 'x'.repeat(64 * 1024) }]); + }); + it('strips one CR from CRLF records', () => { const framer = new PrimeAgentJsonlFramer(); expect(framer.push(Buffer.from('{"ok":true}\r\n'))).toEqual([{ ok: true }]); diff --git a/src/lib/prime-agent/host.ts b/src/lib/prime-agent/host.ts new file mode 100644 index 00000000000..b0120dff705 --- /dev/null +++ b/src/lib/prime-agent/host.ts @@ -0,0 +1,84 @@ +import { spawn } from 'node:child_process'; +import { randomBytes } from 'node:crypto'; +import { mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs'; +import { createServer } from 'node:http'; +import { join } from 'node:path'; +import { getAgentDir } from '../agents/agent-state.js'; +import { getOverdeckHome } from '../paths.js'; +import { PrimeAgentRpcClient } from './rpc-client.js'; + +const args = new Map<string, string>(); +for (let i = 2; i < process.argv.length; i += 2) args.set(process.argv[i]!, process.argv[i + 1]!); +const required = (name: string): string => { + const value = args.get(name); + if (!value) throw new Error(`Missing ${name}`); + return value; +}; + +const agentId = required('--agent'); +const agentDir = getAgentDir(agentId); +const socketDir = join(getOverdeckHome(), 'sockets'); +const socketPath = join(socketDir, `prime-agent-${agentId}.sock`); +const token = randomBytes(32).toString('hex'); +mkdirSync(agentDir, { recursive: true, mode: 0o700 }); +mkdirSync(socketDir, { recursive: true, mode: 0o700 }); +rmSync(socketPath, { force: true }); +writeFileSync(join(agentDir, 'prime-agent-token'), token, { mode: 0o600 }); + +const childArgs = ['--mode', 'rpc', '--provider', required('--provider'), '--model', required('--model'), '--session-dir', required('--session-dir'), '--append-system-prompt', required('--append-system-prompt')]; +const resume = args.get('--resume'); +if (resume) childArgs.push('--resume', resume); +let lastEventAt = new Date().toISOString(); +let stats: unknown = null; +const child = spawn(required('--binary'), childArgs, { cwd: required('--workspace'), stdio: ['pipe', 'pipe', 'inherit'] }); +const client = new PrimeAgentRpcClient({ stdin: child.stdin, onEvent: event => { + lastEventAt = new Date().toISOString(); + writeFileSync(join(agentDir, 'prime-agent-stats.json'), JSON.stringify({ stats, lastEventAt }), { mode: 0o600 }); + if (event.type === 'agent_end') void refreshStats().catch(() => undefined); +} }); +child.stdout.on('data', chunk => client.acceptStdout(chunk)); +child.on('exit', code => client.close(new Error(`Prime Agent exited with code ${code ?? 'unknown'}`))); + +async function refreshStats(): Promise<void> { + const response = await client.request({ type: 'get_session_stats' }); + stats = response.data ?? null; + writeFileSync(join(agentDir, 'prime-agent-stats.json'), JSON.stringify({ stats, lastEventAt }), { mode: 0o600 }); +} + +const server = createServer((request, response) => { + void (async () => { + if (request.headers['x-overdeck-bridge-token'] !== token) { response.writeHead(401).end(); return; } + const chunks: Buffer[] = []; + for await (const chunk of request) chunks.push(Buffer.from(chunk)); + const body = JSON.parse(Buffer.concat(chunks).toString('utf8')) as { op: string; message?: string; preferred?: 'steer' | 'follow_up' }; + if (body.op === 'message') { + const state = await client.request<{ isStreaming?: boolean }>({ type: 'get_state' }); + const type = state.data?.isStreaming ? (body.preferred ?? 'steer') : 'prompt'; + await client.request({ type, message: body.message ?? '' }); + response.writeHead(200, { 'content-type': 'application/json' }).end(JSON.stringify({ command: type })); + } else if (body.op === 'abort') { + await client.request({ type: 'abort' }); response.writeHead(204).end(); + } else if (body.op === 'stats') { + await refreshStats(); response.writeHead(200, { 'content-type': 'application/json' }).end(JSON.stringify({ stats, lastEventAt })); + } else { response.writeHead(400).end('unknown operation'); } + })().catch(error => response.writeHead(500).end(error instanceof Error ? error.message : String(error))); +}); + +server.listen(socketPath, async () => { + try { + const state = await client.request<Record<string, unknown>>({ type: 'get_state' }); + const sessionId = String(state.data?.sessionFile ?? state.data?.sessionId ?? resume ?? agentId); + writeFileSync(join(agentDir, 'prime-agent-session-id'), sessionId, { mode: 0o600 }); + writeFileSync(join(agentDir, 'prime-agent-session-path'), required('--session-dir'), { mode: 0o600 }); + const promptFile = args.get('--prompt-file'); + const prompt = promptFile ? readFileSync(promptFile, 'utf8') : args.get('--prompt'); + if (prompt) await client.request({ type: 'prompt', message: prompt }); + await refreshStats(); + } catch (error) { + writeFileSync(join(agentDir, 'prime-agent-launch-error'), error instanceof Error ? error.message : String(error)); + } +}); + +const stop = (): void => { child.kill('SIGTERM'); server.close(); rmSync(socketPath, { force: true }); }; +process.once('SIGTERM', stop); +process.once('SIGINT', stop); diff --git a/src/lib/prime-agent/jsonl-framing.ts b/src/lib/prime-agent/jsonl-framing.ts index f6af959992b..1e01dcd7523 100644 --- a/src/lib/prime-agent/jsonl-framing.ts +++ b/src/lib/prime-agent/jsonl-framing.ts @@ -14,7 +14,8 @@ export interface PrimeAgentJsonlFramerOptions { /** Incremental strict-LF JSONL decoder. It intentionally does not use readline. */ export class PrimeAgentJsonlFramer { - private buffered = Buffer.alloc(0); + private chunks: Buffer[] = []; + private bufferedBytes = 0; private readonly maxRecordBytes: number; constructor(options: PrimeAgentJsonlFramerOptions = {}) { @@ -26,29 +27,37 @@ export class PrimeAgentJsonlFramer { push(chunk: Uint8Array): unknown[] { if (chunk.byteLength === 0) return []; - const input = this.buffered.byteLength === 0 - ? Buffer.from(chunk) - : Buffer.concat([this.buffered, chunk], this.buffered.byteLength + chunk.byteLength); + const input = Buffer.from(chunk); const records: unknown[] = []; let start = 0; for (let index = 0; index < input.byteLength; index += 1) { if (input[index] !== LF) continue; - const rawEnd = index > start && input[index - 1] === CR ? index - 1 : index; - const byteLength = rawEnd - start; + const piece = input.subarray(start, index); + const byteLength = this.bufferedBytes + piece.byteLength; if (byteLength > this.maxRecordBytes) this.throwOversized(byteLength); - if (byteLength > 0) records.push(this.parse(input.subarray(start, rawEnd))); + const record = this.chunks.length === 0 + ? piece + : Buffer.concat([...this.chunks, piece], byteLength); + const rawEnd = record.byteLength > 0 && record[record.byteLength - 1] === CR ? record.byteLength - 1 : record.byteLength; + if (rawEnd > 0) records.push(this.parse(record.subarray(0, rawEnd))); + this.chunks = []; + this.bufferedBytes = 0; start = index + 1; } - this.buffered = Buffer.from(input.subarray(start)); - if (this.buffered.byteLength > this.maxRecordBytes) this.throwOversized(this.buffered.byteLength); + if (start < input.byteLength) { + const tail = input.subarray(start); + this.chunks.push(tail); + this.bufferedBytes += tail.byteLength; + if (this.bufferedBytes > this.maxRecordBytes) this.throwOversized(this.bufferedBytes); + } return records; } finish(): void { - if (this.buffered.byteLength > 0) { - throw new PrimeAgentJsonlError(`Prime Agent RPC stdout ended with ${this.buffered.byteLength} unterminated byte(s)`); + if (this.bufferedBytes > 0) { + throw new PrimeAgentJsonlError(`Prime Agent RPC stdout ended with ${this.bufferedBytes} unterminated byte(s)`); } } diff --git a/src/lib/prime-agent/launch-command.ts b/src/lib/prime-agent/launch-command.ts index 71d3b165c20..7519b1b9d31 100644 --- a/src/lib/prime-agent/launch-command.ts +++ b/src/lib/prime-agent/launch-command.ts @@ -6,6 +6,8 @@ import { PRIME_AGENT_MANAGED_POLICY } from './policy.js'; import { resolvePrimeAgentModelRoute } from './provider-map.js'; import { primeAgentGlobalContextFile, resolveWorkspaceContextFile } from '../context-layers/layers.js'; import { existsSync, readFileSync } from 'fs'; +import { packageRoot } from '../paths.js'; +import { resolveHarnessBinary } from '../harness-binary.js'; function quoteShell(value: string): string { return `'${value.replace(/'/g, `'\\''`)}'`; @@ -26,8 +28,13 @@ export async function buildPrimeAgentBaseCommand(options: PrimeAgentLaunchComman .filter(existsSync) .map(file => readFileSync(file, 'utf8')) .join('\n\n'); + const binary = await resolveHarnessBinary('prime-agent'); + if (!binary) throw new Error('Prime Agent executable is unavailable'); return [ - 'prime-agent --mode rpc', + `node ${quoteShell(join(packageRoot, 'dist', 'prime-agent-host.js'))}`, + `--agent ${quoteShell(options.agentId)}`, + `--binary ${quoteShell(binary)}`, + `--workspace ${quoteShell(options.workspace)}`, `--provider ${quoteShell(route.provider)}`, `--model ${quoteShell(route.model)}`, `--session-dir ${quoteShell(sessionDir)}`, diff --git a/src/lib/prime-agent/session-controller.ts b/src/lib/prime-agent/session-controller.ts index 6be951b3053..0d57098ea6e 100644 --- a/src/lib/prime-agent/session-controller.ts +++ b/src/lib/prime-agent/session-controller.ts @@ -1,4 +1,9 @@ import type { PrimeAgentRpcClient, PrimeAgentRpcResponse } from './rpc-client.js'; +import { existsSync, readFileSync } from 'node:fs'; +import { request } from 'node:http'; +import { join } from 'node:path'; +import { getAgentDir } from '../agents/agent-state.js'; +import { getOverdeckHome } from '../paths.js'; export interface PrimeAgentManagedSession { client: Pick<PrimeAgentRpcClient, 'request'>; @@ -34,7 +39,11 @@ export async function deliverPrimeAgentMessage( message: string, preferred: 'prompt' | 'steer' | 'follow_up' = 'steer', ): Promise<PrimeAgentDeliveryReceipt> { - const session = getPrimeAgentSession(agentId); + const session = sessions.get(agentId); + if (!session) { + const result = await postPrimeAgentHost(agentId, { op: 'message', message, preferred }); + return { accepted: true, command: result.command as PrimeAgentDeliveryReceipt['command'] }; + } const state = await session.client.request<{ isStreaming?: boolean }>({ type: 'get_state' }); const command = state.data?.isStreaming ? preferred === 'follow_up' ? 'follow_up' : 'steer' @@ -43,6 +52,26 @@ export async function deliverPrimeAgentMessage( return { accepted: true, command }; } +export async function postPrimeAgentHost(agentId: string, body: unknown): Promise<Record<string, unknown>> { + const socketPath = join(getOverdeckHome(), 'sockets', `prime-agent-${agentId}.sock`); + const tokenPath = join(getAgentDir(agentId), 'prime-agent-token'); + if (!existsSync(socketPath)) throw new Error(`MessageDeliveryFailed: Prime Agent host is unavailable for ${agentId}`); + const token = readFileSync(tokenPath, 'utf8').trim(); + return new Promise((resolve, reject) => { + const req = request({ socketPath, path: '/', method: 'POST', headers: { 'content-type': 'application/json', 'x-overdeck-bridge-token': token } }, response => { + const chunks: Buffer[] = []; + response.on('data', chunk => chunks.push(Buffer.from(chunk))); + response.on('end', () => { + const text = Buffer.concat(chunks).toString('utf8'); + if ((response.statusCode ?? 500) >= 300) reject(new Error(`Prime Agent host returned HTTP ${response.statusCode}: ${text}`)); + else resolve(text ? JSON.parse(text) as Record<string, unknown> : {}); + }); + }); + req.once('error', reject); + req.end(JSON.stringify(body)); + }); +} + export async function killPrimeAgentSession(agentId: string, graceMs = 1_000): Promise<void> { const session = getPrimeAgentSession(agentId); try { diff --git a/src/lib/runtimes/claude-code.ts b/src/lib/runtimes/claude-code.ts index 2ce0c169b4b..0864e50cc63 100644 --- a/src/lib/runtimes/claude-code.ts +++ b/src/lib/runtimes/claude-code.ts @@ -302,6 +302,17 @@ export class ClaudeCodeRuntimeSync implements AgentRuntimeSync { }; } + getSessionMetrics(agentId: string) { + const path = this.getSessionPath(agentId); + const parsed = path ? parseClaudeSessionSync(path) : null; + const usage = parsed?.usage ?? null; + const inputCost = (usage?.inputTokens ?? 0) * 3 / 1_000_000; + const outputCost = (usage?.outputTokens ?? 0) * 15 / 1_000_000; + const cacheReadCost = (usage?.cacheReadTokens ?? 0) * 0.3 / 1_000_000; + const cacheWriteCost = (usage?.cacheWriteTokens ?? 0) * 3.75 / 1_000_000; + return { lastActivity: this.getLastActivity(agentId), tokenUsage: usage, cost: usage ? { inputCost, outputCost, cacheReadCost, cacheWriteCost, totalCost: inputCost + outputCost + cacheReadCost + cacheWriteCost, currency: 'USD' as const } : null }; + } + /** * Send a message to a running agent */ diff --git a/src/lib/runtimes/codex.ts b/src/lib/runtimes/codex.ts index 41697d4430e..87416f0d685 100644 --- a/src/lib/runtimes/codex.ts +++ b/src/lib/runtimes/codex.ts @@ -725,6 +725,13 @@ export class CodexRuntimeSync implements AgentRuntimeSync { } } + getSessionMetrics(agentId: string) { + const path = this.getSessionPath(agentId) + const parsed = path ? parseCodexSessionSync(path) : null + const totalCost = parsed ? parsed.cost_v2 ?? parsed.cost ?? 0 : 0 + return { lastActivity: this.getLastActivity(agentId), tokenUsage: parsed?.usage ?? null, cost: parsed ? { inputCost: 0, outputCost: 0, cacheReadCost: 0, cacheWriteCost: 0, totalCost, currency: 'USD' as const } : null } + } + /** * Deliver a follow-up message to a running Codex agent via `codex exec resume`. * D-2 phase 1: one-shot exec-resume per orchestrator message (no app-server). diff --git a/src/lib/runtimes/kimi-code.ts b/src/lib/runtimes/kimi-code.ts index c3a39d27743..738d28be3ff 100644 --- a/src/lib/runtimes/kimi-code.ts +++ b/src/lib/runtimes/kimi-code.ts @@ -518,6 +518,13 @@ export class KimiCodeRuntimeSync implements AgentRuntimeSync { }; } + getSessionMetrics(agentId: string) { + const path = this.getSessionPath(agentId); + const parsed = path ? parseKimiSessionSync(path) : null; + const totalCost = parsed ? parsed.cost_v2 ?? parsed.cost ?? 0 : 0; + return { lastActivity: this.getLastActivity(agentId), tokenUsage: parsed?.usage ?? null, cost: parsed ? { inputCost: 0, outputCost: 0, cacheReadCost: 0, cacheWriteCost: 0, totalCost, currency: 'USD' as const } : null }; + } + async sendMessage(agentId: string, message: string): Promise<void> { const result = await this.deliverMessage(agentId, message); if (!result.ok) { diff --git a/src/lib/runtimes/ohmypi.ts b/src/lib/runtimes/ohmypi.ts index 1a018cb789b..a4dcf8af894 100644 --- a/src/lib/runtimes/ohmypi.ts +++ b/src/lib/runtimes/ohmypi.ts @@ -255,6 +255,13 @@ export class OhmypiRuntimeSync implements AgentRuntimeSync { } } + getSessionMetrics(agentId: string) { + const path = this.getSessionPath(agentId) + const parsed = path ? parseOhmypiSessionSync(path) : null + const totalCost = parsed ? parsed.cost_v2 ?? parsed.cost ?? 0 : 0 + return { lastActivity: this.getLastActivity(agentId), tokenUsage: parsed?.usage ?? null, cost: parsed ? { inputCost: 0, outputCost: 0, cacheReadCost: 0, cacheWriteCost: 0, totalCost, currency: 'USD' as const } : null } + } + async sendMessage(agentId: string, message: string): Promise<void> { if (!existsSync(readyPathFor(agentId))) { throw new OhmypiNotReady(`omp agent ${agentId}: ready.json not present yet`) diff --git a/src/lib/runtimes/pi.ts b/src/lib/runtimes/pi.ts index b31206ec1fc..d5bdd574bbe 100644 --- a/src/lib/runtimes/pi.ts +++ b/src/lib/runtimes/pi.ts @@ -254,6 +254,13 @@ export class PiRuntimeSync { } } + getSessionMetrics(agentId: string) { + const path = this.getSessionPath(agentId) + const parsed = path ? parsePiSessionSync(path) : null + const totalCost = parsed ? parsed.cost_v2 ?? parsed.cost ?? 0 : 0 + return { lastActivity: this.getLastActivity(agentId), tokenUsage: parsed?.usage ?? null, cost: parsed ? { inputCost: 0, outputCost: 0, cacheReadCost: 0, cacheWriteCost: 0, totalCost, currency: 'USD' as const } : null } + } + async sendMessage(agentId: string, message: string): Promise<void> { if (!existsSync(readyPathFor(agentId))) { throw new PiNotReady(`Pi agent ${agentId}: ready.json not present yet`) diff --git a/src/lib/runtimes/prime-agent.ts b/src/lib/runtimes/prime-agent.ts index d00bb872eec..96ffad63697 100644 --- a/src/lib/runtimes/prime-agent.ts +++ b/src/lib/runtimes/prime-agent.ts @@ -1,4 +1,5 @@ -import { statSync } from 'node:fs'; +import { existsSync, readFileSync, rmSync, statSync } from 'node:fs'; +import { join } from 'node:path'; import type { AgentState } from '../agents.js'; import { getAgentStateSync, listAgentStates } from '../agents.js'; import { getRuntimeBehavior } from './behavior.js'; @@ -12,6 +13,12 @@ import type { SpawnConfig, TokenUsage, } from './types.js'; +import { getAgentDir } from '../agents/agent-state.js'; +import { deliverPrimeAgentMessage, postPrimeAgentHost } from '../prime-agent/session-controller.js'; +import { tmuxKillSession, tmuxSessionExists } from './tmux-cli.js'; +import { tmuxCreateSession } from './tmux-cli.js'; +import { getProviderAuthMode } from '../agents/provider-auth.js'; +import { buildPrimeAgentBaseCommand } from '../prime-agent/launch-command.js'; export interface PrimeAgentSessionStats { tokens?: { input?: number; output?: number; cacheRead?: number; cacheWrite?: number }; @@ -29,17 +36,46 @@ export interface PrimeAgentRuntimeController { sessionPath(agentId: string): string | null; } -const unconfiguredController: PrimeAgentRuntimeController = { - async spawn() { throw new Error('Prime Agent RPC controller is not configured'); }, - async send() { throw new Error('Prime Agent RPC controller is not configured'); }, - async abort() { return undefined; }, - async terminate() { return undefined; }, - async isRunning() { return false; }, - stats() { return null; }, - lastEventAt() { return null; }, - sessionPath() { return null; }, +const productionController: PrimeAgentRuntimeController = { + async spawn(config) { + if (!config.model) throw new Error('Prime Agent spawn requires a model'); + const authMode = await getProviderAuthMode(config.model); + if (!authMode) throw new Error(`Prime Agent provider credentials are unavailable for ${config.model}`); + let command = await buildPrimeAgentBaseCommand({ agentId: config.agentId, model: config.model, workspace: config.workspace, authMode }); + if (config.sessionId) command += ` --resume ${shellQuote(config.sessionId)}`; + if (config.prompt) command += ` --prompt ${shellQuote(config.prompt)}`; + rmSync(join(getAgentDir(config.agentId), 'prime-agent-session-id'), { force: true }); + rmSync(join(getAgentDir(config.agentId), 'prime-agent-launch-error'), { force: true }); + await tmuxCreateSession(config.agentId, config.workspace, command, { ...config.env, OVERDECK_AGENT_ID: config.agentId }); + const deadline = Date.now() + 30_000; + while (Date.now() < deadline) { + const sessionId = readText(config.agentId, 'prime-agent-session-id'); + if (sessionId) return { sessionId, sessionPath: readText(config.agentId, 'prime-agent-session-path') ?? '' }; + const launchError = readText(config.agentId, 'prime-agent-launch-error'); + if (launchError) throw new Error(`Prime Agent host failed to start: ${launchError}`); + await new Promise(resolve => setTimeout(resolve, 100)); + } + throw new Error(`Prime Agent host did not become ready for ${config.agentId}`); + }, + async send(agentId, message) { await deliverPrimeAgentMessage(agentId, message); }, + async abort(agentId) { await postPrimeAgentHost(agentId, { op: 'abort' }); }, + async terminate(agentId) { await tmuxKillSession(agentId); }, + async isRunning(agentId) { return existsSync(join(getAgentDir(agentId), 'prime-agent-token')) && await tmuxSessionExists(agentId); }, + stats(agentId) { return readStats(agentId)?.stats ?? null; }, + lastEventAt(agentId) { const value = readStats(agentId)?.lastEventAt; return value ? new Date(value) : null; }, + sessionPath(agentId) { return readText(agentId, 'prime-agent-session-path'); }, }; +function shellQuote(value: string): string { return `'${value.replace(/'/g, `'\\''`)}'`; } + +function readText(agentId: string, file: string): string | null { + try { return readFileSync(join(getAgentDir(agentId), file), 'utf8').trim() || null; } catch { return null; } +} + +function readStats(agentId: string): { stats?: PrimeAgentSessionStats; lastEventAt?: string } | null { + try { return JSON.parse(readFileSync(join(getAgentDir(agentId), 'prime-agent-stats.json'), 'utf8')) as { stats?: PrimeAgentSessionStats; lastEventAt?: string }; } catch { return null; } +} + export interface PrimeAgentRuntimeOptions { controller?: PrimeAgentRuntimeController; getAgentState?: (agentId: string) => AgentState | null; @@ -53,7 +89,7 @@ export class PrimeAgentRuntimeSync implements AgentRuntimeSync { private readonly resolveAgentStates: () => AgentState[]; constructor(options: PrimeAgentRuntimeOptions = {}) { - this.controller = options.controller ?? unconfiguredController; + this.controller = options.controller ?? productionController; this.resolveAgentState = options.getAgentState ?? getAgentStateSync; this.resolveAgentStates = options.listAgentStates ?? listAgentStates; } @@ -87,6 +123,17 @@ export class PrimeAgentRuntimeSync implements AgentRuntimeSync { return cost === undefined ? null : { inputCost: 0, outputCost: 0, cacheReadCost: 0, cacheWriteCost: 0, totalCost: cost, currency: 'USD' }; } + getSessionMetrics(agentId: string) { + const snapshot = readStats(agentId); + const tokens = snapshot?.stats?.tokens; + const cost = snapshot?.stats?.cost; + return { + lastActivity: snapshot?.lastEventAt ? new Date(snapshot.lastEventAt) : this.getLastActivity(agentId), + tokenUsage: tokens ? { inputTokens: tokens.input ?? 0, outputTokens: tokens.output ?? 0, cacheReadTokens: tokens.cacheRead, cacheWriteTokens: tokens.cacheWrite } : null, + cost: cost === undefined ? null : { inputCost: 0, outputCost: 0, cacheReadCost: 0, cacheWriteCost: 0, totalCost: cost, currency: 'USD' as const }, + }; + } + sendMessage(agentId: string, message: string): Promise<void> { return this.controller.send(agentId, message); } async killAgent(agentId: string): Promise<void> { diff --git a/src/lib/runtimes/types.ts b/src/lib/runtimes/types.ts index 081cdba4f60..0d39847fa63 100644 --- a/src/lib/runtimes/types.ts +++ b/src/lib/runtimes/types.ts @@ -206,6 +206,13 @@ export interface AgentRuntimeSync { */ getSessionCost(agentId: string): CostBreakdown | null; + /** Read dashboard metrics in one pass. Request-time routes use this to avoid repeated transcript scans. */ + getSessionMetrics?(agentId: string): { + lastActivity: Date | null; + tokenUsage: TokenUsage | null; + cost: CostBreakdown | null; + }; + /** * Send a message to a running agent * diff --git a/tests/integration/prime-agent-smoke.test.ts b/tests/integration/prime-agent-smoke.test.ts index 4c0e2968221..8d5a716391a 100644 --- a/tests/integration/prime-agent-smoke.test.ts +++ b/tests/integration/prime-agent-smoke.test.ts @@ -1,91 +1,53 @@ -import { spawn, type ChildProcessWithoutNullStreams } from 'node:child_process'; +import { spawn, type ChildProcess } from 'node:child_process'; import { mkdtemp, readFile } from 'node:fs/promises'; import { tmpdir } from 'node:os'; import { join } from 'node:path'; import { afterEach, describe, expect, it } from 'vitest'; -import { PrimeAgentRpcClient } from '../../src/lib/prime-agent/rpc-client.js'; +import { buildPrimeAgentBaseCommand } from '../../src/lib/prime-agent/launch-command.js'; +import { deliverPrimeAgentMessage, postPrimeAgentHost } from '../../src/lib/prime-agent/session-controller.js'; +import { createPrimeAgentRuntimeSync } from '../../src/lib/runtimes/prime-agent.js'; const runLive = process.env.OVERDECK_PRIME_AGENT_LIVE === '1'; -const provider = process.env.OVERDECK_PRIME_AGENT_PROVIDER ?? 'openai-codex'; const model = process.env.OVERDECK_PRIME_AGENT_MODEL ?? 'gpt-5.4-mini'; +const children: ChildProcess[] = []; -interface RunningPrimeAgent { - child: ChildProcessWithoutNullStreams; - client: PrimeAgentRpcClient; - events: Record<string, unknown>[]; -} - -const children: ChildProcessWithoutNullStreams[] = []; - -function launch(args: string[]): RunningPrimeAgent { - const events: Record<string, unknown>[] = []; - const child = spawn('prime-agent', args, { stdio: ['pipe', 'pipe', 'pipe'] }); - children.push(child); - const client = new PrimeAgentRpcClient({ - stdin: child.stdin, - requestTimeoutMs: 120_000, - onEvent: event => events.push(event), - }); - child.stdout.on('data', chunk => client.acceptStdout(chunk)); - child.once('error', error => client.close(error)); - child.once('exit', (code, signal) => client.close(new Error(`Prime Agent exited with code ${code ?? 'null'} and signal ${signal ?? 'none'}`))); - return { child, client, events }; -} - -async function waitForEvent(session: RunningPrimeAgent, type: string, timeoutMs = 120_000): Promise<Record<string, unknown>> { - const started = Date.now(); - while (Date.now() - started < timeoutMs) { - const event = session.events.find(candidate => candidate.type === type); - if (event) return event; - await new Promise(resolve => setTimeout(resolve, 25)); +async function waitUntil(predicate: () => boolean | Promise<boolean>, timeoutMs = 120_000): Promise<void> { + const deadline = Date.now() + timeoutMs; + while (Date.now() < deadline) { + if (await predicate()) return; + await new Promise(resolve => setTimeout(resolve, 50)); } - throw new Error(`Timed out waiting for Prime Agent event ${type}`); + throw new Error('Timed out waiting for Prime Agent production host'); } -afterEach(async () => { - for (const child of children.splice(0)) { - if (child.exitCode === null) child.kill('SIGTERM'); - } +afterEach(() => { + for (const child of children.splice(0)) if (child.exitCode === null) child.kill('SIGTERM'); }); -describe.skipIf(!runLive)('Prime Agent live RPC smoke', () => { - it('launches, prompts, uses a tool, steers, reports cost, and resumes', async () => { +describe.skipIf(!runLive)('Prime Agent production-path smoke', () => { + it('launches, delivers, uses a tool, reports cached stats, and resumes through the host', async () => { const root = await mkdtemp(join(tmpdir(), 'pan-prime-agent-smoke-')); - const sessions = join(root, 'sessions'); + process.env.OVERDECK_HOME = root; + const agentId = 'agent-prime-live-smoke'; const marker = join(root, 'prime-tool-ok.txt'); - const first = launch([ - '--mode', 'rpc', '--provider', provider, '--model', model, - '--cwd', root, '--session-dir', sessions, '--no-context-files', - ]); - - const initial = await first.client.request<{ sessionFile: string; isStreaming: boolean }>({ type: 'get_state' }); - expect(initial.data?.isStreaming).toBe(false); - await first.client.request({ - type: 'prompt', - message: `Use the bash tool to run: printf prime-tool-ok > ${marker}. Then reply with only TOOL_OK.`, - }); - await first.client.request({ type: 'steer', message: 'Keep the final reply to exactly TOOL_OK.' }); - await waitForEvent(first, 'tool_execution_end'); - await waitForEvent(first, 'agent_end'); - - expect(await readFile(marker, 'utf8')).toBe('prime-tool-ok'); - const stats = await first.client.request<{ cost: number; tokens: { total: number }; sessionFile: string }>({ type: 'get_session_stats' }); - expect(stats.data?.tokens.total).toBeGreaterThan(0); - expect(stats.data?.cost).toBeGreaterThanOrEqual(0); - expect(stats.data?.sessionFile).toBeTruthy(); - const sessionFile = stats.data!.sessionFile; - await first.client.request({ type: 'abort' }); - first.child.kill('SIGTERM'); - - const resumed = launch([ - '--mode', 'rpc', '--provider', provider, '--model', model, - '--cwd', root, '--session-dir', sessions, '--resume', sessionFile, - '--no-context-files', - ]); - const messages = await resumed.client.request<{ messages: unknown[] }>({ type: 'get_messages' }); - expect(messages.data?.messages.length).toBeGreaterThanOrEqual(2); - const resumedState = await resumed.client.request<{ sessionFile: string }>({ type: 'get_state' }); - expect(resumedState.data?.sessionFile).toBe(sessionFile); - await resumed.client.request({ type: 'abort' }); + const command = await buildPrimeAgentBaseCommand({ agentId, model, workspace: root, authMode: 'api-key' }); + const first = spawn('bash', ['-lc', command], { stdio: 'inherit' }); + children.push(first); + await waitUntil(() => createPrimeAgentRuntimeSync().isRunning(agentId)); + await deliverPrimeAgentMessage(agentId, `Use the bash tool to run: printf prime-tool-ok > ${marker}. Then reply with only TOOL_OK.`); + await deliverPrimeAgentMessage(agentId, 'Keep the final reply to exactly TOOL_OK.', 'steer'); + await waitUntil(async () => await readFile(marker, 'utf8').then(value => value === 'prime-tool-ok').catch(() => false)); + await postPrimeAgentHost(agentId, { op: 'stats' }); + const runtime = createPrimeAgentRuntimeSync(); + expect(runtime.getTokenUsage(agentId)?.inputTokens).toBeGreaterThan(0); + const sessionId = await readFile(join(root, 'agents', agentId, 'prime-agent-session-id'), 'utf8'); + first.kill('SIGTERM'); + + const resumed = spawn('bash', ['-lc', `${command} --resume '${sessionId.trim()}'`], { stdio: 'inherit' }); + children.push(resumed); + await waitUntil(() => createPrimeAgentRuntimeSync().isRunning(agentId)); + await deliverPrimeAgentMessage(agentId, 'Reply with only RESUMED.'); + await postPrimeAgentHost(agentId, { op: 'stats' }); + expect(runtime.getSessionPath(agentId)).toBeTruthy(); }, 180_000); }); diff --git a/tests/unit/cli/doctor-prime-agent.test.ts b/tests/unit/cli/doctor-prime-agent.test.ts index fd794141b50..c68ebc313ba 100644 --- a/tests/unit/cli/doctor-prime-agent.test.ts +++ b/tests/unit/cli/doctor-prime-agent.test.ts @@ -21,4 +21,11 @@ describe('checkPrimeAgent', () => { const noRpc = await checkPrimeAgent(async (_path, args) => args[0] === '--version' ? '0.1.0' : 'Usage: prime-agent', resolver); expect(noRpc[0]).toMatchObject({ status: 'warn', message: expect.stringContaining('--mode rpc') }); }); + + it('reports missing provider credentials', async () => { + const result = await checkPrimeAgent(async (_path, args) => args[0] === '--version' + ? 'prime-agent 0.1.0' + : 'Usage: prime-agent --mode <interactive|rpc>', resolver, async () => false); + expect(result[1]).toMatchObject({ name: 'Prime Agent provider credentials', status: 'warn' }); + }); }); diff --git a/tests/unit/dashboard/runtime-session-projection.test.ts b/tests/unit/dashboard/runtime-session-projection.test.ts index 8581f84c5ba..7618f82cd94 100644 --- a/tests/unit/dashboard/runtime-session-projection.test.ts +++ b/tests/unit/dashboard/runtime-session-projection.test.ts @@ -3,9 +3,12 @@ import { describe, expect, it, vi } from 'vitest'; vi.mock('../../../src/lib/runtimes/index.js', () => ({ getGlobalRegistry: () => ({ get: (harness: string) => harness === 'prime-agent' ? { - getLastActivity: () => new Date('2026-08-12T20:00:00.000Z'), - getTokenUsage: () => ({ inputTokens: 10, outputTokens: 2, cacheReadTokens: 3 }), - getSessionCost: () => ({ totalCost: 0.04 }), + getSessionMetrics: () => ({ + lastActivity: new Date('2026-08-12T20:00:00.000Z'), + tokenUsage: { inputTokens: 10, outputTokens: 2, cacheReadTokens: 3 }, + cost: { totalCost: 0.04 }, + }), + getLastActivity: () => { throw new Error('must not rescan'); }, } : undefined, }), })); diff --git a/tests/unit/lib/agents/spawn-prime-agent.test.ts b/tests/unit/lib/agents/spawn-prime-agent.test.ts index 536ca973f62..76b141fc186 100644 --- a/tests/unit/lib/agents/spawn-prime-agent.test.ts +++ b/tests/unit/lib/agents/spawn-prime-agent.test.ts @@ -26,12 +26,14 @@ describe('Prime Agent work launch', () => { it('assembles explicit RPC provider, model, session directory, and managed policy arguments', async () => { const workspace = mkdtempSync(join(tmpdir(), 'prime-workspace-')); const baseCommand = await getPrimeAgentBaseCommand('agent-pan-3668', 'gpt-5.4', workspace); - expect(baseCommand).toContain("prime-agent --mode rpc --provider 'openai' --model 'gpt-5.4'"); + expect(baseCommand).toContain("prime-agent-host.js' --agent 'agent-pan-3668'"); + expect(baseCommand).toContain("--provider 'openai' --model 'gpt-5.4'"); expect(baseCommand).toContain("--session-dir '/tmp/agent-pan-3668/prime-sessions'"); expect(baseCommand).toContain('--append-system-prompt'); const launcher = generateLauncherScriptSync({ role: 'work', workingDir: workspace, harness: 'prime-agent', baseCommand }); - expect(launcher).toContain('exec prime-agent --mode rpc'); + expect(launcher).toContain('exec node'); + expect(launcher).toContain('prime-agent-host.js'); expect(launcher).not.toContain('exec claude'); }); diff --git a/tests/unit/lib/overdeck/conversation-runtime-prime.test.ts b/tests/unit/lib/overdeck/conversation-runtime-prime.test.ts index 35b09c5830f..5f405b159a5 100644 --- a/tests/unit/lib/overdeck/conversation-runtime-prime.test.ts +++ b/tests/unit/lib/overdeck/conversation-runtime-prime.test.ts @@ -27,7 +27,8 @@ describe('Prime Agent conversation launch', () => { it('assembles a persistent managed RPC launch', async () => { const launch = await preparePrimeAgentConversationLaunch('conv-prime', '/workspaces/project', 'gpt-5.4'); expect(launch.fields).toEqual({ harness: 'prime-agent' }); - expect(launch.runtimeCommand).toContain("prime-agent --mode rpc --provider 'openai' --model 'gpt-5.4'"); + expect(launch.runtimeCommand).toContain("prime-agent-host.js' --agent 'conv-prime'"); + expect(launch.runtimeCommand).toContain("--provider 'openai' --model 'gpt-5.4'"); expect(launch.runtimeCommand).toContain("--session-dir '/tmp/conv-prime/prime-sessions'"); expect(launch.runtimeCommand).toContain('--append-system-prompt'); expect(launch.runtimeCommand).not.toContain('--permission-mode'); diff --git a/tsdown.config.ts b/tsdown.config.ts index 0e48b8948c7..aafcde449f6 100644 --- a/tsdown.config.ts +++ b/tsdown.config.ts @@ -16,6 +16,7 @@ export default defineConfig({ 'pty-supervisor': 'src/lib/channels/pty-supervisor.ts', 'codex-app-server-host': 'src/lib/codex/app-server-host.ts', 'acp-host': 'src/lib/acp/host.ts', + 'prime-agent-host': 'src/lib/prime-agent/host.ts', 'verification-worker': 'src/lib/cloister/verification-worker.ts', 'lib/memory/fts-worker': 'src/lib/memory/fts-worker.ts', }, From 2202e2b4873547d697c4604409a162fb2f18e190 Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Thu, 13 Aug 2026 08:14:58 -0400 Subject: [PATCH 31/38] fix: keep Codex runtime within size gate --- src/lib/runtimes/codex.ts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/lib/runtimes/codex.ts b/src/lib/runtimes/codex.ts index 87416f0d685..ac6a23a7d8a 100644 --- a/src/lib/runtimes/codex.ts +++ b/src/lib/runtimes/codex.ts @@ -725,12 +725,8 @@ export class CodexRuntimeSync implements AgentRuntimeSync { } } - getSessionMetrics(agentId: string) { - const path = this.getSessionPath(agentId) - const parsed = path ? parseCodexSessionSync(path) : null - const totalCost = parsed ? parsed.cost_v2 ?? parsed.cost ?? 0 : 0 - return { lastActivity: this.getLastActivity(agentId), tokenUsage: parsed?.usage ?? null, cost: parsed ? { inputCost: 0, outputCost: 0, cacheReadCost: 0, cacheWriteCost: 0, totalCost, currency: 'USD' as const } : null } - } + getSessionMetrics(agentId: string) { const path = this.getSessionPath(agentId); const parsed = path ? parseCodexSessionSync(path) : null + return { lastActivity: this.getLastActivity(agentId), tokenUsage: parsed?.usage ?? null, cost: parsed ? { inputCost: 0, outputCost: 0, cacheReadCost: 0, cacheWriteCost: 0, totalCost: parsed.cost_v2 ?? parsed.cost ?? 0, currency: 'USD' as const } : null } } /** * Deliver a follow-up message to a running Codex agent via `codex exec resume`. From 3b60cfabdb4096780a08d6986f5935f4b1c54e6c Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Thu, 13 Aug 2026 08:22:29 -0400 Subject: [PATCH 32/38] fix: allow Prime readiness marker cleanup (PAN-3668) --- scripts/guard-agent-dir-removal.sh | 4 ++++ src/lib/runtimes/prime-agent.ts | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/scripts/guard-agent-dir-removal.sh b/scripts/guard-agent-dir-removal.sh index d636bee78f9..dcfb680b6de 100755 --- a/scripts/guard-agent-dir-removal.sh +++ b/scripts/guard-agent-dir-removal.sh @@ -74,6 +74,10 @@ is_allowlisted() { src/lib/overdeck/conversation-runtime.ts) [[ "$content" == *'rm(sessionIdPath'* ]] ;; + src/lib/runtimes/prime-agent.ts) + [[ "$content" == *"'prime-agent-session-id'"* || + "$content" == *"'prime-agent-launch-error'"* ]] + ;; *) return 1 ;; diff --git a/src/lib/runtimes/prime-agent.ts b/src/lib/runtimes/prime-agent.ts index 96ffad63697..1a972b87e38 100644 --- a/src/lib/runtimes/prime-agent.ts +++ b/src/lib/runtimes/prime-agent.ts @@ -44,8 +44,8 @@ const productionController: PrimeAgentRuntimeController = { let command = await buildPrimeAgentBaseCommand({ agentId: config.agentId, model: config.model, workspace: config.workspace, authMode }); if (config.sessionId) command += ` --resume ${shellQuote(config.sessionId)}`; if (config.prompt) command += ` --prompt ${shellQuote(config.prompt)}`; - rmSync(join(getAgentDir(config.agentId), 'prime-agent-session-id'), { force: true }); - rmSync(join(getAgentDir(config.agentId), 'prime-agent-launch-error'), { force: true }); + rmSync(join(getAgentDir(config.agentId), 'prime-agent-session-id'), { force: true }); // PAN-3357: not a dir removal + rmSync(join(getAgentDir(config.agentId), 'prime-agent-launch-error'), { force: true }); // PAN-3357: not a dir removal await tmuxCreateSession(config.agentId, config.workspace, command, { ...config.env, OVERDECK_AGENT_ID: config.agentId }); const deadline = Date.now() + 30_000; while (Date.now() < deadline) { From b3e89f09ac67cf9d4017f1bba563ee4c555e3681 Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Thu, 13 Aug 2026 08:31:04 -0400 Subject: [PATCH 33/38] fix: break Prime delivery import cycle (PAN-3668) --- src/lib/prime-agent/session-controller.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/lib/prime-agent/session-controller.ts b/src/lib/prime-agent/session-controller.ts index 0d57098ea6e..0885b5de98f 100644 --- a/src/lib/prime-agent/session-controller.ts +++ b/src/lib/prime-agent/session-controller.ts @@ -2,8 +2,7 @@ import type { PrimeAgentRpcClient, PrimeAgentRpcResponse } from './rpc-client.js import { existsSync, readFileSync } from 'node:fs'; import { request } from 'node:http'; import { join } from 'node:path'; -import { getAgentDir } from '../agents/agent-state.js'; -import { getOverdeckHome } from '../paths.js'; +import { AGENTS_DIR, getOverdeckHome } from '../paths.js'; export interface PrimeAgentManagedSession { client: Pick<PrimeAgentRpcClient, 'request'>; @@ -54,7 +53,7 @@ export async function deliverPrimeAgentMessage( export async function postPrimeAgentHost(agentId: string, body: unknown): Promise<Record<string, unknown>> { const socketPath = join(getOverdeckHome(), 'sockets', `prime-agent-${agentId}.sock`); - const tokenPath = join(getAgentDir(agentId), 'prime-agent-token'); + const tokenPath = join(AGENTS_DIR, agentId, 'prime-agent-token'); if (!existsSync(socketPath)) throw new Error(`MessageDeliveryFailed: Prime Agent host is unavailable for ${agentId}`); const token = readFileSync(tokenPath, 'utf8').trim(); return new Promise((resolve, reject) => { From 2212cbf2ec71a0a69ca80c5dfe87a243fc7f7982 Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Thu, 13 Aug 2026 08:35:07 -0400 Subject: [PATCH 34/38] fix: isolate reviewer session classification (PAN-3668) --- src/lib/cloister/review-agent.ts | 18 +++--------------- src/lib/cloister/review-session-names.ts | 12 ++++++++++++ src/lib/review-status.ts | 2 +- 3 files changed, 16 insertions(+), 16 deletions(-) create mode 100644 src/lib/cloister/review-session-names.ts diff --git a/src/lib/cloister/review-agent.ts b/src/lib/cloister/review-agent.ts index 70584c30a8f..7cd7d15e472 100644 --- a/src/lib/cloister/review-agent.ts +++ b/src/lib/cloister/review-agent.ts @@ -58,6 +58,8 @@ import { REVIEW_SUB_ROLES, type ReviewSubRole } from './review-monitor.js'; import { reviewResumeDecision } from './review-resume-decision.js'; import { evaluateReviewConvoyLiveness } from './review-convoy-liveness.js'; import { convergeRowFromVerdictOfRecord } from './verdict-restore.js'; +import { isReviewSessionForIssue } from './review-session-names.js'; +export { isReviewSessionForIssue } from './review-session-names.js'; import { recoverMissingConvoyReviewers, launchConvoyReviewersPromise, @@ -727,21 +729,7 @@ async function spawnReviewRoleForIssuePromise( * Matches the parent review role, convoy children, and legacy coordinator * sessions so callers do not need to know which review phase has started. */ -export function isReviewSessionForIssue(sessionName: string, projectKey: string | undefined, issueId: string): boolean { - const session = sessionName.toLowerCase(); - const issue = issueId.toLowerCase(); - const project = projectKey?.toLowerCase(); - - // Belt-and-suspenders: a user conversation session (`conv-*`) must never be - // classified as a reviewer session and swept into reviewer cleanup/kill. - if (session.startsWith('conv-')) return false; - - if (session === `agent-${issue}-review` || session.startsWith(`agent-${issue}-review-`)) return true; - if (session.startsWith(`review-${issue}-`) || session.startsWith(`review-coordinator-${issue}-`)) return true; - if (!project) return false; - if (session === `specialist-${project}-${issue}-review-agent`) return true; - return session.startsWith(`specialist-${project}-${issue}-review-`); -}async function killAllReviewerSessionsPromise( +async function killAllReviewerSessionsPromise( projectKey: string | undefined, issueId: string, ): Promise<{ killed: string[]; failed: string[] }> { diff --git a/src/lib/cloister/review-session-names.ts b/src/lib/cloister/review-session-names.ts new file mode 100644 index 00000000000..59e94194118 --- /dev/null +++ b/src/lib/cloister/review-session-names.ts @@ -0,0 +1,12 @@ +/** Classifies reviewer tmux session names without importing review lifecycle modules. */ +export function isReviewSessionForIssue(sessionName: string, projectKey: string | undefined, issueId: string): boolean { + const session = sessionName.toLowerCase(); + const issue = issueId.toLowerCase(); + const project = projectKey?.toLowerCase(); + if (session.startsWith('conv-')) return false; + if (session === `agent-${issue}-review` || session.startsWith(`agent-${issue}-review-`)) return true; + if (session.startsWith(`review-${issue}-`) || session.startsWith(`review-coordinator-${issue}-`)) return true; + if (!project) return false; + return session === `specialist-${project}-${issue}-review-agent` + || session.startsWith(`specialist-${project}-${issue}-review-`); +} diff --git a/src/lib/review-status.ts b/src/lib/review-status.ts index 700e6d725c8..f1d6916f431 100644 --- a/src/lib/review-status.ts +++ b/src/lib/review-status.ts @@ -608,7 +608,7 @@ function maybeRedispatchStrandedReviewHostSide(issueId: string, status: ReviewSt async function redispatchStrandedReviewHostSide(issueId: string, status: ReviewStatus): Promise<void> { try { const { listSessions } = await import('./tmux.js'); - const { isReviewSessionForIssue } = await import('./cloister/review-agent.js'); + const { isReviewSessionForIssue } = await import('./cloister/review-session-names.js'); const sessions = await Effect.runPromise(listSessions()).catch(() => [] as readonly { name: string }[]); // A live reviewer session means the row — not the pipeline — is stale; // there is nothing to repair. From 3ba668708afe4c98f9c5bc5a850ee0d3f40e76c9 Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Thu, 13 Aug 2026 09:03:45 -0400 Subject: [PATCH 35/38] fix: harden Prime host lifecycle (PAN-3668) --- .../services/runtime-session-projection.ts | 4 +- src/lib/prime-agent/host.ts | 181 ++++++++++++------ src/lib/prime-agent/launch-command.ts | 4 + src/lib/runtimes/claude-code.ts | 11 -- src/lib/runtimes/codex.ts | 3 - src/lib/runtimes/kimi-code.ts | 7 - src/lib/runtimes/ohmypi.ts | 7 - src/lib/runtimes/pi.ts | 7 - src/lib/runtimes/prime-agent.ts | 6 +- .../runtime-session-projection.test.ts | 11 ++ .../unit/lib/agents/spawn-prime-agent.test.ts | 3 +- .../conversation-runtime-prime.test.ts | 3 +- 12 files changed, 143 insertions(+), 104 deletions(-) diff --git a/src/dashboard/server/services/runtime-session-projection.ts b/src/dashboard/server/services/runtime-session-projection.ts index efccd739952..668568cdf5e 100644 --- a/src/dashboard/server/services/runtime-session-projection.ts +++ b/src/dashboard/server/services/runtime-session-projection.ts @@ -14,8 +14,8 @@ export function projectRuntimeSession(agentId: string, harness: RuntimeName): Ru if (!runtime) return { harness }; const metrics = runtime.getSessionMetrics?.(agentId); const lastActivity = metrics?.lastActivity ?? runtime.getLastActivity(agentId); - const tokenUsage = metrics ? metrics.tokenUsage : runtime.getTokenUsage(agentId); - const cost = (metrics ? metrics.cost : runtime.getSessionCost(agentId))?.totalCost; + const tokenUsage = metrics?.tokenUsage; + const cost = metrics?.cost?.totalCost; return { harness, ...(lastActivity ? { lastActivity: lastActivity.toISOString() } : {}), diff --git a/src/lib/prime-agent/host.ts b/src/lib/prime-agent/host.ts index b0120dff705..7c3365e6d31 100644 --- a/src/lib/prime-agent/host.ts +++ b/src/lib/prime-agent/host.ts @@ -1,11 +1,12 @@ -import { spawn } from 'node:child_process'; +import { spawn, type ChildProcessWithoutNullStreams } from 'node:child_process'; import { randomBytes } from 'node:crypto'; -import { mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs'; +import { mkdir, readFile, rm, writeFile } from 'node:fs/promises'; import { createServer } from 'node:http'; import { join } from 'node:path'; import { getAgentDir } from '../agents/agent-state.js'; import { getOverdeckHome } from '../paths.js'; import { PrimeAgentRpcClient } from './rpc-client.js'; +import { resumePrimeAgentSession } from './session-resume.js'; const args = new Map<string, string>(); for (let i = 2; i < process.argv.length; i += 2) args.set(process.argv[i]!, process.argv[i + 1]!); @@ -15,70 +16,124 @@ const required = (name: string): string => { return value; }; -const agentId = required('--agent'); -const agentDir = getAgentDir(agentId); -const socketDir = join(getOverdeckHome(), 'sockets'); -const socketPath = join(socketDir, `prime-agent-${agentId}.sock`); -const token = randomBytes(32).toString('hex'); -mkdirSync(agentDir, { recursive: true, mode: 0o700 }); -mkdirSync(socketDir, { recursive: true, mode: 0o700 }); -rmSync(socketPath, { force: true }); -writeFileSync(join(agentDir, 'prime-agent-token'), token, { mode: 0o600 }); +interface RunningPrime { + child: ChildProcessWithoutNullStreams; + client: PrimeAgentRpcClient; +} -const childArgs = ['--mode', 'rpc', '--provider', required('--provider'), '--model', required('--model'), '--session-dir', required('--session-dir'), '--append-system-prompt', required('--append-system-prompt')]; -const resume = args.get('--resume'); -if (resume) childArgs.push('--resume', resume); -let lastEventAt = new Date().toISOString(); -let stats: unknown = null; -const child = spawn(required('--binary'), childArgs, { cwd: required('--workspace'), stdio: ['pipe', 'pipe', 'inherit'] }); -const client = new PrimeAgentRpcClient({ stdin: child.stdin, onEvent: event => { - lastEventAt = new Date().toISOString(); - writeFileSync(join(agentDir, 'prime-agent-stats.json'), JSON.stringify({ stats, lastEventAt }), { mode: 0o600 }); - if (event.type === 'agent_end') void refreshStats().catch(() => undefined); -} }); -child.stdout.on('data', chunk => client.acceptStdout(chunk)); -child.on('exit', code => client.close(new Error(`Prime Agent exited with code ${code ?? 'unknown'}`))); +async function main(): Promise<void> { + const agentId = required('--agent'); + const agentDir = getAgentDir(agentId); + const socketDir = join(getOverdeckHome(), 'sockets'); + const socketPath = join(socketDir, `prime-agent-${agentId}.sock`); + const token = randomBytes(32).toString('hex'); + const startupTimeoutMs = Number(required('--startup-timeout-ms')); + if (!Number.isInteger(startupTimeoutMs) || startupTimeoutMs <= 0) throw new Error('Invalid --startup-timeout-ms'); + await mkdir(agentDir, { recursive: true, mode: 0o700 }); + await mkdir(socketDir, { recursive: true, mode: 0o700 }); + await rm(socketPath, { force: true }); + await writeFile(join(agentDir, 'prime-agent-token'), token, { mode: 0o600 }); -async function refreshStats(): Promise<void> { - const response = await client.request({ type: 'get_session_stats' }); - stats = response.data ?? null; - writeFileSync(join(agentDir, 'prime-agent-stats.json'), JSON.stringify({ stats, lastEventAt }), { mode: 0o600 }); -} + let lastEventAt = new Date().toISOString(); + let stats: unknown = null; + let statsWrite: Promise<void> = Promise.resolve(); + let statsTimer: NodeJS.Timeout | undefined; + let running: RunningPrime | undefined; -const server = createServer((request, response) => { - void (async () => { - if (request.headers['x-overdeck-bridge-token'] !== token) { response.writeHead(401).end(); return; } - const chunks: Buffer[] = []; - for await (const chunk of request) chunks.push(Buffer.from(chunk)); - const body = JSON.parse(Buffer.concat(chunks).toString('utf8')) as { op: string; message?: string; preferred?: 'steer' | 'follow_up' }; - if (body.op === 'message') { - const state = await client.request<{ isStreaming?: boolean }>({ type: 'get_state' }); - const type = state.data?.isStreaming ? (body.preferred ?? 'steer') : 'prompt'; - await client.request({ type, message: body.message ?? '' }); - response.writeHead(200, { 'content-type': 'application/json' }).end(JSON.stringify({ command: type })); - } else if (body.op === 'abort') { - await client.request({ type: 'abort' }); response.writeHead(204).end(); - } else if (body.op === 'stats') { - await refreshStats(); response.writeHead(200, { 'content-type': 'application/json' }).end(JSON.stringify({ stats, lastEventAt })); - } else { response.writeHead(400).end('unknown operation'); } - })().catch(error => response.writeHead(500).end(error instanceof Error ? error.message : String(error))); -}); + const persistStats = (): Promise<void> => { + statsWrite = statsWrite.then(() => writeFile( + join(agentDir, 'prime-agent-stats.json'), + JSON.stringify({ stats, lastEventAt }), + { mode: 0o600 }, + )); + return statsWrite; + }; + const scheduleStatsWrite = (): void => { + if (statsTimer) return; + statsTimer = setTimeout(() => { statsTimer = undefined; void persistStats(); }, 250); + }; + const refreshStats = async (): Promise<void> => { + if (!running) return; + const response = await running.client.request({ type: 'get_session_stats' }); + stats = response.data ?? null; + await persistStats(); + }; + const launch = (resumePath?: string): RunningPrime => { + const childArgs = ['--mode', 'rpc', '--provider', required('--provider'), '--model', required('--model'), '--session-dir', required('--session-dir'), '--append-system-prompt', required('--append-system-prompt')]; + if (resumePath) childArgs.push('--resume', resumePath); + const child = spawn(required('--binary'), childArgs, { cwd: required('--workspace'), stdio: ['pipe', 'pipe', 'pipe'] }); + child.stderr.pipe(process.stderr); + const client = new PrimeAgentRpcClient({ stdin: child.stdin, requestTimeoutMs: startupTimeoutMs, onEvent: event => { + lastEventAt = new Date().toISOString(); + scheduleStatsWrite(); + if (event.type === 'agent_end') void refreshStats().catch(() => undefined); + } }); + child.stdout.on('data', chunk => client.acceptStdout(chunk)); + child.on('exit', code => client.close(new Error(`Prime Agent exited with code ${code ?? 'unknown'}`))); + return { child, client }; + }; -server.listen(socketPath, async () => { - try { - const state = await client.request<Record<string, unknown>>({ type: 'get_state' }); - const sessionId = String(state.data?.sessionFile ?? state.data?.sessionId ?? resume ?? agentId); - writeFileSync(join(agentDir, 'prime-agent-session-id'), sessionId, { mode: 0o600 }); - writeFileSync(join(agentDir, 'prime-agent-session-path'), required('--session-dir'), { mode: 0o600 }); - const promptFile = args.get('--prompt-file'); - const prompt = promptFile ? readFileSync(promptFile, 'utf8') : args.get('--prompt'); - if (prompt) await client.request({ type: 'prompt', message: prompt }); - await refreshStats(); - } catch (error) { - writeFileSync(join(agentDir, 'prime-agent-launch-error'), error instanceof Error ? error.message : String(error)); + const resume = args.get('--resume'); + if (resume) { + await resumePrimeAgentSession({ + sessionId: resume, + sessionPath: resume, + start: async sessionPath => { + running = launch(sessionPath); + return { + getState: async () => { + const state = await running!.client.request<Record<string, unknown>>({ type: 'get_state' }); + return { sessionId: String(state.data?.sessionFile ?? state.data?.sessionId ?? '') }; + }, + stop: async () => { running!.child.kill('SIGTERM'); }, + }; + }, + }); + } else { + running = launch(); } -}); + const active = running; + if (!active) throw new Error('Prime Agent process did not start'); + + const server = createServer((request, response) => { + void (async () => { + if (request.headers['x-overdeck-bridge-token'] !== token) { response.writeHead(401).end(); return; } + const chunks: Buffer[] = []; + for await (const chunk of request) chunks.push(Buffer.from(chunk)); + const body = JSON.parse(Buffer.concat(chunks).toString('utf8')) as { op: string; message?: string; preferred?: 'steer' | 'follow_up' }; + if (body.op === 'message') { + const state = await active.client.request<{ isStreaming?: boolean }>({ type: 'get_state' }); + const type = state.data?.isStreaming ? (body.preferred ?? 'steer') : 'prompt'; + await active.client.request({ type, message: body.message ?? '' }); + response.writeHead(200, { 'content-type': 'application/json' }).end(JSON.stringify({ command: type })); + } else if (body.op === 'abort') { + await active.client.request({ type: 'abort' }); response.writeHead(204).end(); + } else if (body.op === 'stats') { + await refreshStats(); response.writeHead(200, { 'content-type': 'application/json' }).end(JSON.stringify({ stats, lastEventAt })); + } else { response.writeHead(400).end('unknown operation'); } + })().catch(error => response.writeHead(500).end(error instanceof Error ? error.message : String(error))); + }); -const stop = (): void => { child.kill('SIGTERM'); server.close(); rmSync(socketPath, { force: true }); }; -process.once('SIGTERM', stop); -process.once('SIGINT', stop); + await new Promise<void>((resolve, reject) => server.listen(socketPath, resolve).once('error', reject)); + const state = await active.client.request<Record<string, unknown>>({ type: 'get_state' }); + const sessionId = String(state.data?.sessionFile ?? state.data?.sessionId ?? agentId); + const promptFile = args.get('--prompt-file'); + const prompt = promptFile ? await readFile(promptFile, 'utf8') : args.get('--prompt'); + if (prompt) await active.client.request({ type: 'prompt', message: prompt }); + await refreshStats(); + await writeFile(join(agentDir, 'prime-agent-session-path'), required('--session-dir'), { mode: 0o600 }); + await writeFile(join(agentDir, 'prime-agent-session-id'), sessionId, { mode: 0o600 }); + + const stop = (): void => { active.child.kill('SIGTERM'); server.close(); void rm(socketPath, { force: true }); }; + process.once('SIGTERM', stop); + process.once('SIGINT', stop); +} + +void main().catch(async error => { + const agentId = args.get('--agent'); + if (agentId) { + await mkdir(getAgentDir(agentId), { recursive: true, mode: 0o700 }); + await writeFile(join(getAgentDir(agentId), 'prime-agent-launch-error'), error instanceof Error ? error.message : String(error)); + } + process.exitCode = 1; +}); diff --git a/src/lib/prime-agent/launch-command.ts b/src/lib/prime-agent/launch-command.ts index 7519b1b9d31..53410cea8d8 100644 --- a/src/lib/prime-agent/launch-command.ts +++ b/src/lib/prime-agent/launch-command.ts @@ -8,6 +8,7 @@ import { primeAgentGlobalContextFile, resolveWorkspaceContextFile } from '../con import { existsSync, readFileSync } from 'fs'; import { packageRoot } from '../paths.js'; import { resolveHarnessBinary } from '../harness-binary.js'; +import { loadConfigSync } from '../config-yaml.js'; function quoteShell(value: string): string { return `'${value.replace(/'/g, `'\\''`)}'`; @@ -18,6 +19,7 @@ export interface PrimeAgentLaunchCommandOptions { model: string; workspace: string; authMode: AuthMode; + rpcStartupTimeoutMs?: number; } export async function buildPrimeAgentBaseCommand(options: PrimeAgentLaunchCommandOptions): Promise<string> { @@ -30,6 +32,7 @@ export async function buildPrimeAgentBaseCommand(options: PrimeAgentLaunchComman .join('\n\n'); const binary = await resolveHarnessBinary('prime-agent'); if (!binary) throw new Error('Prime Agent executable is unavailable'); + const startupTimeoutMs = options.rpcStartupTimeoutMs ?? loadConfigSync().config.primeAgent.rpcStartupTimeoutMs; return [ `node ${quoteShell(join(packageRoot, 'dist', 'prime-agent-host.js'))}`, `--agent ${quoteShell(options.agentId)}`, @@ -39,5 +42,6 @@ export async function buildPrimeAgentBaseCommand(options: PrimeAgentLaunchComman `--model ${quoteShell(route.model)}`, `--session-dir ${quoteShell(sessionDir)}`, `--append-system-prompt ${quoteShell([PRIME_AGENT_MANAGED_POLICY, context].filter(Boolean).join('\n\n'))}`, + `--startup-timeout-ms ${startupTimeoutMs}`, ].join(' '); } diff --git a/src/lib/runtimes/claude-code.ts b/src/lib/runtimes/claude-code.ts index 0864e50cc63..2ce0c169b4b 100644 --- a/src/lib/runtimes/claude-code.ts +++ b/src/lib/runtimes/claude-code.ts @@ -302,17 +302,6 @@ export class ClaudeCodeRuntimeSync implements AgentRuntimeSync { }; } - getSessionMetrics(agentId: string) { - const path = this.getSessionPath(agentId); - const parsed = path ? parseClaudeSessionSync(path) : null; - const usage = parsed?.usage ?? null; - const inputCost = (usage?.inputTokens ?? 0) * 3 / 1_000_000; - const outputCost = (usage?.outputTokens ?? 0) * 15 / 1_000_000; - const cacheReadCost = (usage?.cacheReadTokens ?? 0) * 0.3 / 1_000_000; - const cacheWriteCost = (usage?.cacheWriteTokens ?? 0) * 3.75 / 1_000_000; - return { lastActivity: this.getLastActivity(agentId), tokenUsage: usage, cost: usage ? { inputCost, outputCost, cacheReadCost, cacheWriteCost, totalCost: inputCost + outputCost + cacheReadCost + cacheWriteCost, currency: 'USD' as const } : null }; - } - /** * Send a message to a running agent */ diff --git a/src/lib/runtimes/codex.ts b/src/lib/runtimes/codex.ts index ac6a23a7d8a..41697d4430e 100644 --- a/src/lib/runtimes/codex.ts +++ b/src/lib/runtimes/codex.ts @@ -725,9 +725,6 @@ export class CodexRuntimeSync implements AgentRuntimeSync { } } - getSessionMetrics(agentId: string) { const path = this.getSessionPath(agentId); const parsed = path ? parseCodexSessionSync(path) : null - return { lastActivity: this.getLastActivity(agentId), tokenUsage: parsed?.usage ?? null, cost: parsed ? { inputCost: 0, outputCost: 0, cacheReadCost: 0, cacheWriteCost: 0, totalCost: parsed.cost_v2 ?? parsed.cost ?? 0, currency: 'USD' as const } : null } } - /** * Deliver a follow-up message to a running Codex agent via `codex exec resume`. * D-2 phase 1: one-shot exec-resume per orchestrator message (no app-server). diff --git a/src/lib/runtimes/kimi-code.ts b/src/lib/runtimes/kimi-code.ts index 738d28be3ff..c3a39d27743 100644 --- a/src/lib/runtimes/kimi-code.ts +++ b/src/lib/runtimes/kimi-code.ts @@ -518,13 +518,6 @@ export class KimiCodeRuntimeSync implements AgentRuntimeSync { }; } - getSessionMetrics(agentId: string) { - const path = this.getSessionPath(agentId); - const parsed = path ? parseKimiSessionSync(path) : null; - const totalCost = parsed ? parsed.cost_v2 ?? parsed.cost ?? 0 : 0; - return { lastActivity: this.getLastActivity(agentId), tokenUsage: parsed?.usage ?? null, cost: parsed ? { inputCost: 0, outputCost: 0, cacheReadCost: 0, cacheWriteCost: 0, totalCost, currency: 'USD' as const } : null }; - } - async sendMessage(agentId: string, message: string): Promise<void> { const result = await this.deliverMessage(agentId, message); if (!result.ok) { diff --git a/src/lib/runtimes/ohmypi.ts b/src/lib/runtimes/ohmypi.ts index a4dcf8af894..1a018cb789b 100644 --- a/src/lib/runtimes/ohmypi.ts +++ b/src/lib/runtimes/ohmypi.ts @@ -255,13 +255,6 @@ export class OhmypiRuntimeSync implements AgentRuntimeSync { } } - getSessionMetrics(agentId: string) { - const path = this.getSessionPath(agentId) - const parsed = path ? parseOhmypiSessionSync(path) : null - const totalCost = parsed ? parsed.cost_v2 ?? parsed.cost ?? 0 : 0 - return { lastActivity: this.getLastActivity(agentId), tokenUsage: parsed?.usage ?? null, cost: parsed ? { inputCost: 0, outputCost: 0, cacheReadCost: 0, cacheWriteCost: 0, totalCost, currency: 'USD' as const } : null } - } - async sendMessage(agentId: string, message: string): Promise<void> { if (!existsSync(readyPathFor(agentId))) { throw new OhmypiNotReady(`omp agent ${agentId}: ready.json not present yet`) diff --git a/src/lib/runtimes/pi.ts b/src/lib/runtimes/pi.ts index d5bdd574bbe..b31206ec1fc 100644 --- a/src/lib/runtimes/pi.ts +++ b/src/lib/runtimes/pi.ts @@ -254,13 +254,6 @@ export class PiRuntimeSync { } } - getSessionMetrics(agentId: string) { - const path = this.getSessionPath(agentId) - const parsed = path ? parsePiSessionSync(path) : null - const totalCost = parsed ? parsed.cost_v2 ?? parsed.cost ?? 0 : 0 - return { lastActivity: this.getLastActivity(agentId), tokenUsage: parsed?.usage ?? null, cost: parsed ? { inputCost: 0, outputCost: 0, cacheReadCost: 0, cacheWriteCost: 0, totalCost, currency: 'USD' as const } : null } - } - async sendMessage(agentId: string, message: string): Promise<void> { if (!existsSync(readyPathFor(agentId))) { throw new PiNotReady(`Pi agent ${agentId}: ready.json not present yet`) diff --git a/src/lib/runtimes/prime-agent.ts b/src/lib/runtimes/prime-agent.ts index 1a972b87e38..227a22a1c40 100644 --- a/src/lib/runtimes/prime-agent.ts +++ b/src/lib/runtimes/prime-agent.ts @@ -19,6 +19,7 @@ import { tmuxKillSession, tmuxSessionExists } from './tmux-cli.js'; import { tmuxCreateSession } from './tmux-cli.js'; import { getProviderAuthMode } from '../agents/provider-auth.js'; import { buildPrimeAgentBaseCommand } from '../prime-agent/launch-command.js'; +import { loadConfigSync } from '../config-yaml.js'; export interface PrimeAgentSessionStats { tokens?: { input?: number; output?: number; cacheRead?: number; cacheWrite?: number }; @@ -39,15 +40,16 @@ export interface PrimeAgentRuntimeController { const productionController: PrimeAgentRuntimeController = { async spawn(config) { if (!config.model) throw new Error('Prime Agent spawn requires a model'); + const startupTimeoutMs = loadConfigSync().config.primeAgent.rpcStartupTimeoutMs; const authMode = await getProviderAuthMode(config.model); if (!authMode) throw new Error(`Prime Agent provider credentials are unavailable for ${config.model}`); - let command = await buildPrimeAgentBaseCommand({ agentId: config.agentId, model: config.model, workspace: config.workspace, authMode }); + let command = await buildPrimeAgentBaseCommand({ agentId: config.agentId, model: config.model, workspace: config.workspace, authMode, rpcStartupTimeoutMs: startupTimeoutMs }); if (config.sessionId) command += ` --resume ${shellQuote(config.sessionId)}`; if (config.prompt) command += ` --prompt ${shellQuote(config.prompt)}`; rmSync(join(getAgentDir(config.agentId), 'prime-agent-session-id'), { force: true }); // PAN-3357: not a dir removal rmSync(join(getAgentDir(config.agentId), 'prime-agent-launch-error'), { force: true }); // PAN-3357: not a dir removal await tmuxCreateSession(config.agentId, config.workspace, command, { ...config.env, OVERDECK_AGENT_ID: config.agentId }); - const deadline = Date.now() + 30_000; + const deadline = Date.now() + startupTimeoutMs; while (Date.now() < deadline) { const sessionId = readText(config.agentId, 'prime-agent-session-id'); if (sessionId) return { sessionId, sessionPath: readText(config.agentId, 'prime-agent-session-path') ?? '' }; diff --git a/tests/unit/dashboard/runtime-session-projection.test.ts b/tests/unit/dashboard/runtime-session-projection.test.ts index 7618f82cd94..24c01712d94 100644 --- a/tests/unit/dashboard/runtime-session-projection.test.ts +++ b/tests/unit/dashboard/runtime-session-projection.test.ts @@ -9,6 +9,10 @@ vi.mock('../../../src/lib/runtimes/index.js', () => ({ cost: { totalCost: 0.04 }, }), getLastActivity: () => { throw new Error('must not rescan'); }, + } : harness === 'claude-code' ? { + getLastActivity: () => new Date('2026-08-12T21:00:00.000Z'), + getTokenUsage: () => { throw new Error('request route must not parse transcripts'); }, + getSessionCost: () => { throw new Error('request route must not parse transcripts'); }, } : undefined, }), })); @@ -24,4 +28,11 @@ describe('dashboard runtime session projection', () => { cost: 0.04, }); }); + + it('does not synchronously parse transcripts when a runtime has no cached metrics', () => { + expect(projectRuntimeSession('agent-pan-1', 'claude-code')).toEqual({ + harness: 'claude-code', + lastActivity: '2026-08-12T21:00:00.000Z', + }); + }); }); diff --git a/tests/unit/lib/agents/spawn-prime-agent.test.ts b/tests/unit/lib/agents/spawn-prime-agent.test.ts index 76b141fc186..736cf5bfb93 100644 --- a/tests/unit/lib/agents/spawn-prime-agent.test.ts +++ b/tests/unit/lib/agents/spawn-prime-agent.test.ts @@ -13,7 +13,7 @@ vi.mock('../../../../src/lib/agents.js', () => ({ listAgentStates: () => [], })); -vi.mock('../../../../src/lib/config-yaml.js', () => ({ loadConfigSync: () => ({ config: { providerAuth: { openai: 'api-key' } } }) })); +vi.mock('../../../../src/lib/config-yaml.js', () => ({ loadConfigSync: () => ({ config: { providerAuth: { openai: 'api-key' }, primeAgent: { rpcStartupTimeoutMs: 45_000 } } }) })); vi.mock('../../../../src/lib/openai-auth.js', async () => { const { Effect } = await import('effect'); return { getOpenAIAuthStatus: () => Effect.succeed({ loggedIn: false }) }; @@ -30,6 +30,7 @@ describe('Prime Agent work launch', () => { expect(baseCommand).toContain("--provider 'openai' --model 'gpt-5.4'"); expect(baseCommand).toContain("--session-dir '/tmp/agent-pan-3668/prime-sessions'"); expect(baseCommand).toContain('--append-system-prompt'); + expect(baseCommand).toContain('--startup-timeout-ms 45000'); const launcher = generateLauncherScriptSync({ role: 'work', workingDir: workspace, harness: 'prime-agent', baseCommand }); expect(launcher).toContain('exec node'); diff --git a/tests/unit/lib/overdeck/conversation-runtime-prime.test.ts b/tests/unit/lib/overdeck/conversation-runtime-prime.test.ts index 5f405b159a5..705f1dd8530 100644 --- a/tests/unit/lib/overdeck/conversation-runtime-prime.test.ts +++ b/tests/unit/lib/overdeck/conversation-runtime-prime.test.ts @@ -10,7 +10,7 @@ vi.mock('../../../../src/lib/openai-auth.js', async () => { }); vi.mock('../../../../src/lib/config-yaml.js', async (importOriginal) => ({ ...await importOriginal<typeof import('../../../../src/lib/config-yaml.js')>(), - loadConfigSync: () => ({ config: { providerAuth: { openai: 'api-key' } }, path: '/tmp/config.yaml' }), + loadConfigSync: () => ({ config: { providerAuth: { openai: 'api-key' }, primeAgent: { rpcStartupTimeoutMs: 45_000 } }, path: '/tmp/config.yaml' }), })); const { preparePrimeAgentConversationLaunch, resolveAllowedHarness } = await import( @@ -31,6 +31,7 @@ describe('Prime Agent conversation launch', () => { expect(launch.runtimeCommand).toContain("--provider 'openai' --model 'gpt-5.4'"); expect(launch.runtimeCommand).toContain("--session-dir '/tmp/conv-prime/prime-sessions'"); expect(launch.runtimeCommand).toContain('--append-system-prompt'); + expect(launch.runtimeCommand).toContain('--startup-timeout-ms 45000'); expect(launch.runtimeCommand).not.toContain('--permission-mode'); }); }); From b8bffc93957aa14c0e103ec0bffa05bd9e99e9ac Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Thu, 13 Aug 2026 10:08:06 -0400 Subject: [PATCH 36/38] fix: harden Prime Agent host lifecycle --- src/lib/overdeck/conversation-harness.ts | 14 +++- src/lib/overdeck/conversation-reads.ts | 10 ++- src/lib/overdeck/conversation-runtime.ts | 4 +- .../prime-agent/__tests__/host-http.test.ts | 27 ++++++++ src/lib/prime-agent/host-http.ts | 26 +++++++ src/lib/prime-agent/host.ts | 69 ++++++++++++++----- src/lib/runtimes/prime-agent.ts | 21 +++--- 7 files changed, 138 insertions(+), 33 deletions(-) create mode 100644 src/lib/prime-agent/__tests__/host-http.test.ts create mode 100644 src/lib/prime-agent/host-http.ts diff --git a/src/lib/overdeck/conversation-harness.ts b/src/lib/overdeck/conversation-harness.ts index 06a87d5157e..07becb39580 100644 --- a/src/lib/overdeck/conversation-harness.ts +++ b/src/lib/overdeck/conversation-harness.ts @@ -1,5 +1,8 @@ import { KNOWN_HARNESSES, type Harness } from '@overdeck/contracts'; import { getPrimeAgentBaseCommand } from '../agents/runtime-command.js'; +import { getAgentDir } from '../agents/agent-state.js'; +import { readFile } from 'node:fs/promises'; +import { join } from 'node:path'; import { resolveHarness } from '../harness-resolve.js'; import type { RuntimeName } from '../runtimes/types.js'; @@ -12,12 +15,17 @@ export async function resolveAllowedHarness(requested: unknown, model?: string | return resolveHarness({ model, explicit: isHarness(requested) ? requested : undefined }); } -export async function preparePrimeAgentConversationLaunch(tmuxSession: string, cwd: string, model: string): Promise<{ +export async function preparePrimeAgentConversationLaunch(tmuxSession: string, cwd: string, model: string, resume = false): Promise<{ runtimeCommand: string; - fields: { harness: 'prime-agent' }; + fields: { harness: 'prime-agent'; resumeSessionId?: string }; }> { + const resumeSessionId = resume + ? await readFile(join(getAgentDir(tmuxSession), 'prime-agent-session-path'), 'utf8') + .then(value => value.trim() || undefined) + .catch(() => undefined) + : undefined; return { runtimeCommand: await getPrimeAgentBaseCommand(tmuxSession, model, cwd), - fields: { harness: 'prime-agent' }, + fields: { harness: 'prime-agent', ...(resumeSessionId ? { resumeSessionId } : {}) }, }; } diff --git a/src/lib/overdeck/conversation-reads.ts b/src/lib/overdeck/conversation-reads.ts index 1236a4e55b7..9a780b34768 100644 --- a/src/lib/overdeck/conversation-reads.ts +++ b/src/lib/overdeck/conversation-reads.ts @@ -1,5 +1,5 @@ import { existsSync } from 'node:fs'; -import { access, readdir, stat } from 'node:fs/promises'; +import { access, readFile, readdir, stat } from 'node:fs/promises'; import { homedir } from 'node:os'; import { join } from 'node:path'; @@ -12,7 +12,7 @@ import { loadConfigSync } from '../config-yaml.js'; import { isBackgroundFeatureEnabled } from '../background-ai/features.js'; import { capturePane, listSessionNames } from '../tmux.js'; import { paneShowsClaudeBootBlockingScreen } from '../cloister/modal-detector.js'; -import { sessionFilePath } from '../paths.js'; +import { getOverdeckHome, sessionFilePath } from '../paths.js'; import { resolveDiscoveredSessionFile } from '../conversations/discovered-session-file.js'; import { CONVERSATION_TITLE_MODEL, @@ -116,6 +116,12 @@ async function resolveUnregisteredClaudeSessionFile(name: string): Promise<strin } export async function resolveSessionFile(conv: Conversation): Promise<string | null> { + if (conv.harness === 'prime-agent') { + const sessionPath = await readFile(join(getOverdeckHome(), 'agents', conv.tmuxSession, 'prime-agent-session-path'), 'utf8') + .then(value => value.trim() || null) + .catch(() => null); + if (sessionPath) return sessionPath; + } // Pi work/review agents write per-run JSONL in the agent-dir root (PAN-1908); // conversations use sessions/. The shared resolver checks both and skips sidecars. if (getHarnessBehavior(conv.harness).transcriptKind === 'ohmypi-jsonl') { diff --git a/src/lib/overdeck/conversation-runtime.ts b/src/lib/overdeck/conversation-runtime.ts index a941ccaacb5..4638f8342a4 100644 --- a/src/lib/overdeck/conversation-runtime.ts +++ b/src/lib/overdeck/conversation-runtime.ts @@ -570,7 +570,7 @@ export async function spawnConversationSession( } | undefined; let acpFields: (ReturnType<typeof getAcpLauncherFields> & { resumeSessionId?: string }) | undefined; let kimiCodeFields: { harness: 'kimi-code'; kimiCodeModel: string; kimiCodeYolo: true; resumeSessionId?: string } | undefined; - let primeAgentFields: { harness: 'prime-agent' } | undefined; + let primeAgentFields: { harness: 'prime-agent'; resumeSessionId?: string } | undefined; let codexTransport: 'app-server' | 'tui' | undefined; if (behavior.launchCommandKind === 'acp-host') { if (!model) throw new Error('ACP conversation requires a model'); @@ -590,7 +590,7 @@ export async function spawnConversationSession( throw new Error('Invalid model name'); } if (behavior.launchCommandKind === 'prime-agent-rpc') { - const primeLaunch = await preparePrimeAgentConversationLaunch(tmuxSession, cwd, model); + const primeLaunch = await preparePrimeAgentConversationLaunch(tmuxSession, cwd, model, resume); runtimeCommand = primeLaunch.runtimeCommand; primeAgentFields = primeLaunch.fields; } else { diff --git a/src/lib/prime-agent/__tests__/host-http.test.ts b/src/lib/prime-agent/__tests__/host-http.test.ts new file mode 100644 index 00000000000..fe8cacd2cf6 --- /dev/null +++ b/src/lib/prime-agent/__tests__/host-http.test.ts @@ -0,0 +1,27 @@ +import { describe, expect, it } from 'vitest'; +import { + PRIME_AGENT_HOST_MAX_REQUEST_BYTES, + PrimeAgentHostRequestTooLarge, + readPrimeAgentHostRequest, +} from '../host-http.js'; + +async function* chunks(...values: Uint8Array[]) { yield* values; } + +describe('Prime Agent host request reader', () => { + it('parses a bounded chunked JSON request', async () => { + await expect(readPrimeAgentHostRequest(chunks(Buffer.from('{"op":'), Buffer.from('"stats"}')))) + .resolves.toEqual({ op: 'stats' }); + }); + + it('rejects oversized content-length before consuming the body', async () => { + await expect(readPrimeAgentHostRequest(chunks(), String(PRIME_AGENT_HOST_MAX_REQUEST_BYTES + 1))) + .rejects.toBeInstanceOf(PrimeAgentHostRequestTooLarge); + }); + + it('rejects a chunked body that crosses the byte cap', async () => { + await expect(readPrimeAgentHostRequest(chunks( + Buffer.alloc(PRIME_AGENT_HOST_MAX_REQUEST_BYTES), + Buffer.from('x'), + ))).rejects.toBeInstanceOf(PrimeAgentHostRequestTooLarge); + }); +}); diff --git a/src/lib/prime-agent/host-http.ts b/src/lib/prime-agent/host-http.ts new file mode 100644 index 00000000000..a1e027c8c04 --- /dev/null +++ b/src/lib/prime-agent/host-http.ts @@ -0,0 +1,26 @@ +export const PRIME_AGENT_HOST_MAX_REQUEST_BYTES = 1024 * 1024; +export const PRIME_AGENT_HOST_MAX_CONCURRENT_REQUESTS = 8; + +export class PrimeAgentHostRequestTooLarge extends Error { + constructor() { + super(`Prime Agent host request exceeds ${PRIME_AGENT_HOST_MAX_REQUEST_BYTES} bytes`); + this.name = 'PrimeAgentHostRequestTooLarge'; + } +} + +export async function readPrimeAgentHostRequest( + input: AsyncIterable<Uint8Array>, + contentLength?: string, +): Promise<Record<string, unknown>> { + if (contentLength && Number(contentLength) > PRIME_AGENT_HOST_MAX_REQUEST_BYTES) { + throw new PrimeAgentHostRequestTooLarge(); + } + const chunks: Buffer[] = []; + let received = 0; + for await (const chunk of input) { + received += chunk.byteLength; + if (received > PRIME_AGENT_HOST_MAX_REQUEST_BYTES) throw new PrimeAgentHostRequestTooLarge(); + chunks.push(Buffer.from(chunk)); + } + return JSON.parse(Buffer.concat(chunks, received).toString('utf8')) as Record<string, unknown>; +} diff --git a/src/lib/prime-agent/host.ts b/src/lib/prime-agent/host.ts index 7c3365e6d31..00e5765c3c2 100644 --- a/src/lib/prime-agent/host.ts +++ b/src/lib/prime-agent/host.ts @@ -7,6 +7,11 @@ import { getAgentDir } from '../agents/agent-state.js'; import { getOverdeckHome } from '../paths.js'; import { PrimeAgentRpcClient } from './rpc-client.js'; import { resumePrimeAgentSession } from './session-resume.js'; +import { + PRIME_AGENT_HOST_MAX_CONCURRENT_REQUESTS, + PrimeAgentHostRequestTooLarge, + readPrimeAgentHostRequest, +} from './host-http.js'; const args = new Map<string, string>(); for (let i = 2; i < process.argv.length; i += 2) args.set(process.argv[i]!, process.argv[i + 1]!); @@ -21,6 +26,8 @@ interface RunningPrime { client: PrimeAgentRpcClient; } +let cleanupFailedHost: (() => Promise<void>) | undefined; + async function main(): Promise<void> { const agentId = required('--agent'); const agentDir = getAgentDir(agentId); @@ -39,6 +46,21 @@ async function main(): Promise<void> { let statsWrite: Promise<void> = Promise.resolve(); let statsTimer: NodeJS.Timeout | undefined; let running: RunningPrime | undefined; + let server: ReturnType<typeof createServer> | undefined; + let stopped = false; + const cleanup = async (): Promise<void> => { + if (stopped) return; + stopped = true; + if (statsTimer) clearTimeout(statsTimer); + running?.client.close(new Error('Prime Agent host stopped')); + running?.child.kill('SIGTERM'); + if (server) await new Promise<void>(resolve => server!.close(() => resolve())); + await rm(socketPath, { force: true }); + }; + cleanupFailedHost = cleanup; + const stop = (): void => { void cleanup(); }; + process.once('SIGTERM', stop); + process.once('SIGINT', stop); const persistStats = (): Promise<void> => { statsWrite = statsWrite.then(() => writeFile( @@ -95,12 +117,16 @@ async function main(): Promise<void> { const active = running; if (!active) throw new Error('Prime Agent process did not start'); - const server = createServer((request, response) => { + let activeRequests = 0; + server = createServer((request, response) => { + if (activeRequests >= PRIME_AGENT_HOST_MAX_CONCURRENT_REQUESTS) { + response.writeHead(503, { connection: 'close' }).end('Prime Agent host is busy'); + return; + } + activeRequests += 1; void (async () => { if (request.headers['x-overdeck-bridge-token'] !== token) { response.writeHead(401).end(); return; } - const chunks: Buffer[] = []; - for await (const chunk of request) chunks.push(Buffer.from(chunk)); - const body = JSON.parse(Buffer.concat(chunks).toString('utf8')) as { op: string; message?: string; preferred?: 'steer' | 'follow_up' }; + const body = await readPrimeAgentHostRequest(request, request.headers['content-length']) as { op: string; message?: string; preferred?: 'steer' | 'follow_up' }; if (body.op === 'message') { const state = await active.client.request<{ isStreaming?: boolean }>({ type: 'get_state' }); const type = state.data?.isStreaming ? (body.preferred ?? 'steer') : 'prompt'; @@ -111,25 +137,32 @@ async function main(): Promise<void> { } else if (body.op === 'stats') { await refreshStats(); response.writeHead(200, { 'content-type': 'application/json' }).end(JSON.stringify({ stats, lastEventAt })); } else { response.writeHead(400).end('unknown operation'); } - })().catch(error => response.writeHead(500).end(error instanceof Error ? error.message : String(error))); + })().catch(error => { + const status = error instanceof PrimeAgentHostRequestTooLarge ? 413 : 500; + response.writeHead(status, { connection: 'close' }).end(error instanceof Error ? error.message : String(error)); + }).finally(() => { activeRequests -= 1; }); }); - await new Promise<void>((resolve, reject) => server.listen(socketPath, resolve).once('error', reject)); - const state = await active.client.request<Record<string, unknown>>({ type: 'get_state' }); - const sessionId = String(state.data?.sessionFile ?? state.data?.sessionId ?? agentId); - const promptFile = args.get('--prompt-file'); - const prompt = promptFile ? await readFile(promptFile, 'utf8') : args.get('--prompt'); - if (prompt) await active.client.request({ type: 'prompt', message: prompt }); - await refreshStats(); - await writeFile(join(agentDir, 'prime-agent-session-path'), required('--session-dir'), { mode: 0o600 }); - await writeFile(join(agentDir, 'prime-agent-session-id'), sessionId, { mode: 0o600 }); - - const stop = (): void => { active.child.kill('SIGTERM'); server.close(); void rm(socketPath, { force: true }); }; - process.once('SIGTERM', stop); - process.once('SIGINT', stop); + try { + await new Promise<void>((resolve, reject) => server!.listen(socketPath, resolve).once('error', reject)); + const state = await active.client.request<Record<string, unknown>>({ type: 'get_state' }); + const sessionId = String(state.data?.sessionFile ?? state.data?.sessionId ?? agentId); + const promptFile = args.get('--prompt-file'); + const prompt = promptFile ? await readFile(promptFile, 'utf8') : args.get('--prompt'); + if (prompt) await active.client.request({ type: 'prompt', message: prompt }); + await refreshStats(); + const sessionPath = String(state.data?.sessionFile ?? state.data?.sessionPath ?? ''); + if (!sessionPath) throw new Error('Prime Agent did not report a durable session path'); + await writeFile(join(agentDir, 'prime-agent-session-path'), sessionPath, { mode: 0o600 }); + await writeFile(join(agentDir, 'prime-agent-session-id'), sessionId, { mode: 0o600 }); + } catch (error) { + await cleanup(); + throw error; + } } void main().catch(async error => { + await cleanupFailedHost?.().catch(() => undefined); const agentId = args.get('--agent'); if (agentId) { await mkdir(getAgentDir(agentId), { recursive: true, mode: 0o700 }); diff --git a/src/lib/runtimes/prime-agent.ts b/src/lib/runtimes/prime-agent.ts index 227a22a1c40..0755df8c78a 100644 --- a/src/lib/runtimes/prime-agent.ts +++ b/src/lib/runtimes/prime-agent.ts @@ -49,15 +49,20 @@ const productionController: PrimeAgentRuntimeController = { rmSync(join(getAgentDir(config.agentId), 'prime-agent-session-id'), { force: true }); // PAN-3357: not a dir removal rmSync(join(getAgentDir(config.agentId), 'prime-agent-launch-error'), { force: true }); // PAN-3357: not a dir removal await tmuxCreateSession(config.agentId, config.workspace, command, { ...config.env, OVERDECK_AGENT_ID: config.agentId }); - const deadline = Date.now() + startupTimeoutMs; - while (Date.now() < deadline) { - const sessionId = readText(config.agentId, 'prime-agent-session-id'); - if (sessionId) return { sessionId, sessionPath: readText(config.agentId, 'prime-agent-session-path') ?? '' }; - const launchError = readText(config.agentId, 'prime-agent-launch-error'); - if (launchError) throw new Error(`Prime Agent host failed to start: ${launchError}`); - await new Promise(resolve => setTimeout(resolve, 100)); + try { + const deadline = Date.now() + startupTimeoutMs; + while (Date.now() < deadline) { + const sessionId = readText(config.agentId, 'prime-agent-session-id'); + if (sessionId) return { sessionId, sessionPath: readText(config.agentId, 'prime-agent-session-path') ?? '' }; + const launchError = readText(config.agentId, 'prime-agent-launch-error'); + if (launchError) throw new Error(`Prime Agent host failed to start: ${launchError}`); + await new Promise(resolve => setTimeout(resolve, 100)); + } + throw new Error(`Prime Agent host did not become ready for ${config.agentId}`); + } catch (error) { + if (await tmuxSessionExists(config.agentId)) await tmuxKillSession(config.agentId); + throw error; } - throw new Error(`Prime Agent host did not become ready for ${config.agentId}`); }, async send(agentId, message) { await deliverPrimeAgentMessage(agentId, message); }, async abort(agentId) { await postPrimeAgentHost(agentId, { op: 'abort' }); }, From e4a4b77ce54246475e81262511db2b36e5e0906a Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Thu, 13 Aug 2026 10:30:31 -0400 Subject: [PATCH 37/38] fix: require durable Prime conversation resume --- .../conversations-supervisor.test.ts | 27 +++++++++++++++++++ src/lib/overdeck/conversation-harness.ts | 18 +++++++++---- src/lib/overdeck/conversation-runtime.ts | 9 +++---- src/lib/prime-agent/host.ts | 1 + 4 files changed, 45 insertions(+), 10 deletions(-) diff --git a/src/dashboard/server/routes/__tests__/conversations-supervisor.test.ts b/src/dashboard/server/routes/__tests__/conversations-supervisor.test.ts index 448fb8f2e68..d4d35838886 100644 --- a/src/dashboard/server/routes/__tests__/conversations-supervisor.test.ts +++ b/src/dashboard/server/routes/__tests__/conversations-supervisor.test.ts @@ -613,4 +613,31 @@ describe('spawnConversationSession PTY supervisor wiring', () => { vi.useRealTimers(); } }); + + it('does not replace a Prime conversation when its durable session is missing', async () => { + resolvedConversationHarness = 'prime-agent'; + const name = 'restart-prime-without-session'; + const session = 'conv-restart-prime-without-session'; + listedSessionNames = [session]; + const conversations = await import('../../../../lib/overdeck/conversations.js'); + conversations.createConversation({ + name, + tmuxSession: session, + cwd: tmpdir(), + claudeSessionId: 'prime-session', + model: 'claude-sonnet-4-6', + harness: 'prime-agent', + }); + const { handleConversationRestartAll } = await import('../../../../lib/overdeck/conversation-runtime.js'); + const callsBefore = createSessionCalls.length; + + const result = decodeJsonResponse(await handleConversationRestartAll({ + resolveSessionFile: vi.fn().mockResolvedValue(null), + })); + + expect(result['results']).toEqual([ + { name, model: 'claude-sonnet-4-6', status: 'failed' }, + ]); + expect(createSessionCalls).toHaveLength(callsBefore); + }); }); diff --git a/src/lib/overdeck/conversation-harness.ts b/src/lib/overdeck/conversation-harness.ts index 07becb39580..46f9b6a8164 100644 --- a/src/lib/overdeck/conversation-harness.ts +++ b/src/lib/overdeck/conversation-harness.ts @@ -19,11 +19,19 @@ export async function preparePrimeAgentConversationLaunch(tmuxSession: string, c runtimeCommand: string; fields: { harness: 'prime-agent'; resumeSessionId?: string }; }> { - const resumeSessionId = resume - ? await readFile(join(getAgentDir(tmuxSession), 'prime-agent-session-path'), 'utf8') - .then(value => value.trim() || undefined) - .catch(() => undefined) - : undefined; + let resumeSessionId: string | undefined; + if (resume) { + const sessionPath = join(getAgentDir(tmuxSession), 'prime-agent-session-path'); + try { + resumeSessionId = (await readFile(sessionPath, 'utf8')).trim() || undefined; + } catch (cause) { + const message = cause instanceof Error ? cause.message : String(cause); + throw new Error(`Prime Agent conversation ${tmuxSession} cannot resume because ${sessionPath} is unreadable: ${message}`); + } + if (!resumeSessionId) { + throw new Error(`Prime Agent conversation ${tmuxSession} cannot resume because ${sessionPath} is empty`); + } + } return { runtimeCommand: await getPrimeAgentBaseCommand(tmuxSession, model, cwd), fields: { harness: 'prime-agent', ...(resumeSessionId ? { resumeSessionId } : {}) }, diff --git a/src/lib/overdeck/conversation-runtime.ts b/src/lib/overdeck/conversation-runtime.ts index 4638f8342a4..7b6d025327e 100644 --- a/src/lib/overdeck/conversation-runtime.ts +++ b/src/lib/overdeck/conversation-runtime.ts @@ -1009,6 +1009,7 @@ export async function handleConversationResume( if (oldSessionId) { const resumeFile = await deps.resolveSessionFile(conv); if (!resumeFile || !existsSync(resumeFile)) { + if (harness === 'prime-agent') throw new Error(`Prime Agent conversation ${name} cannot resume because its durable session is missing or unreadable: ${resumeFile ?? '<missing sidecar>'}`); canResume = false; console.error(`[conversations] SESSION-LOST ${name} harness=${harness} claudeSessionId=${oldSessionId} resolved=${resumeFile ?? 'null'} — resuming with a fresh session`); } @@ -1018,8 +1019,7 @@ export async function handleConversationResume( await spawnConversationSession(conv.tmuxSession, conv.cwd, oldSessionId ?? randomUUID(), model, effort, conv.issueId ?? undefined, canResume, harness); await waitForTmuxSession(conv.tmuxSession); await waitForConversationRuntimeReady(conv.tmuxSession, harness, 'respawn'); - // The harness may open its own blocking gate on resume. The operator owns - // that answer, so the contract delivery seam skips rather than races it. + // The operator owns any harness gate on resume, so contract delivery skips it rather than racing it. await deliverResumeContractUnlessGated( conv.tmuxSession, `CONVERSATION RESUME: ${buildResumeContract(resumeCause)}`, @@ -1030,9 +1030,7 @@ export async function handleConversationResume( markConversationActive(name); return jsonResponse({ ...conv, status: 'active', model: model ?? conv.model, harness, reattached: false, sessionAlive: true }); } catch (error) { - // PAN-1837 review fix: kimi-code needs the same teardown-on-failure as - // acp — a failed capture must not leave a running tmux session with no - // owned native identity presented as a healthy conversation. + // PAN-1837: a failed ACP/Kimi capture must not leave a runtime without an owned native identity. if (harness === 'acp' || harness === 'kimi-code') await stopConversationRuntime(conv, name); throw error; } finally { @@ -1082,6 +1080,7 @@ export async function handleConversationRestartAll( const canResume = !!oldSessionId && !!sessionFileForResume && existsSync(sessionFileForResume); const harness = await resolveAllowedHarness(conv.harness, conv.model); attemptedHarness = harness; + if (harness === 'prime-agent' && !canResume) throw new Error(`Prime Agent conversation ${conv.name} cannot restart because its durable session is missing or unreadable: ${sessionFileForResume ?? '<missing sidecar>'}`); await spawnConversationSession(conv.tmuxSession, conv.cwd, oldSessionId ?? randomUUID(), conv.model ?? undefined, conv.effort ?? undefined, conv.issueId ?? undefined, canResume, harness); if (harness === 'acp') { await waitForConversationRuntimeReady(conv.tmuxSession, harness, 'respawn'); diff --git a/src/lib/prime-agent/host.ts b/src/lib/prime-agent/host.ts index 00e5765c3c2..d9da9158982 100644 --- a/src/lib/prime-agent/host.ts +++ b/src/lib/prime-agent/host.ts @@ -90,6 +90,7 @@ async function main(): Promise<void> { scheduleStatsWrite(); if (event.type === 'agent_end') void refreshStats().catch(() => undefined); } }); + child.once('error', error => client.close(new Error(`Prime Agent process failed to start: ${error.message}`))); child.stdout.on('data', chunk => client.acceptStdout(chunk)); child.on('exit', code => client.close(new Error(`Prime Agent exited with code ${code ?? 'unknown'}`))); return { child, client }; From b7775a084e83c147c329efa426c9d830d42b7af5 Mon Sep 17 00:00:00 2001 From: "panopticon-agent[bot]" <4205044+panopticon-agent[bot]@users.noreply.github.com> Date: Mon, 17 Aug 2026 09:35:21 -0400 Subject: [PATCH 38/38] test: preserve verification worker follow-up coverage (PAN-3668) --- .../verification-worker-supervisor.test.ts | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/tests/unit/lib/cloister/verification-worker-supervisor.test.ts b/tests/unit/lib/cloister/verification-worker-supervisor.test.ts index df6fd5e4485..a672280dec9 100644 --- a/tests/unit/lib/cloister/verification-worker-supervisor.test.ts +++ b/tests/unit/lib/cloister/verification-worker-supervisor.test.ts @@ -186,3 +186,75 @@ describe('verification worker supervisor', () => { }, { timeout: 2_000 }); }); }); + +describe('PAN-3674 follow-up: expired workers', () => { + function writeWorkerState(home: string, issueId: string, state: Record<string, unknown>): string { + const dir = join(home, 'verification-workers', issueId.toLowerCase()); + mkdirSync(dir, { recursive: true }); + const resultPath = join(dir, 'result-seeded.json'); + writeFileSync(join(dir, 'state.json'), JSON.stringify({ + runId: 'run-seeded', + issueId, + workspacePath: '/tmp/workspace', + resultPath, + phase: 'running', + ...state, + })); + return resultPath; + } + + it('never joins a worker past its deadline — kills it and starts fresh', async () => { + const home = useFixture(100); + // Stand-in for a live-but-expired worker: a detached sleeper with its own + // process group, exactly like the real detached worker. + const zombie = spawn('sleep', ['60'], { detached: true }); + zombie.unref(); + const zombiePid = zombie.pid!; + writeWorkerState(home, 'PAN-3674', { + pid: zombiePid, + startedAt: new Date(Date.now() - 70 * 60_000).toISOString(), + admittedAt: new Date(Date.now() - 66 * 60_000).toISOString(), // past the 65min budget + }); + + const outcome = await runSupervisedVerification('PAN-3674', '/tmp/workspace', { isRemote: false }, 'test'); + + if (outcome.outcome !== 'passed') throw new Error(`unexpected outcome: ${JSON.stringify(outcome)}`); + expect(outcome.outcome).toBe('passed'); + // The expired worker was killed rather than joined. + expect(() => process.kill(zombiePid, 0)).toThrow(); + // A fresh worker took over the registration. + const current = readVerificationWorkerState('PAN-3674'); + expect(current).not.toBeNull(); + expect(current!.pid).not.toBe(zombiePid); + }); + + it('kills the worker when the execution deadline fires mid-run', async () => { + const home = useFixture(5_000); // slow fixture: outlives the deadline trip + const pending = runSupervisedVerification('PAN-3675', '/tmp/workspace', { isRemote: false }, 'test'); + + // Wait for the worker to register, then age its admission past the budget. + const stateFile = join(home, 'verification-workers', 'pan-3675', 'state.json'); + let pid = -1; + for (let i = 0; i < 100; i++) { + const s = readVerificationWorkerState('PAN-3675'); + if (s) { pid = s.pid; break; } + await new Promise((r) => setTimeout(r, 25)); + } + expect(pid).toBeGreaterThan(0); + const seeded = JSON.parse(readFileSync(stateFile, 'utf8')); + seeded.admittedAt = new Date(Date.now() - 66 * 60_000).toISOString(); + writeFileSync(stateFile, JSON.stringify(seeded)); + + const outcome = await pending; + expect(outcome.outcome).toBe('error'); + expect(outcome.outcome === 'error' ? outcome.message : '').toContain('exceeded'); + // The kill ladder (TERM → 1s → KILL) is fire-and-forget behind the verdict — + // poll for death instead of racing it. + let dead = false; + for (let i = 0; i < 120 && !dead; i++) { + try { process.kill(pid, 0); } catch { dead = true; } + if (!dead) await new Promise((r) => setTimeout(r, 25)); + } + expect(dead).toBe(true); + }); +});