import type { RawHandler } from '../../types.js'; import type { ExecutionRegistry } from '@zhixuan92/multi-model-agent-core'; import type { ProjectRegistry } from '../../../application/project-registry.js'; import type { MultiModelConfig } from '@zhixuan92/multi-model-agent-core'; interface StatusHandlerDeps { executionRegistry: ExecutionRegistry; projectRegistry: ProjectRegistry; serverStartedAt: number; bind: string; version: string; config?: MultiModelConfig; /** * Where the install manifest is read from. Production omits it, so * `deriveSkillManifestInfo` falls back to the real `~/.mma`. * * `deriveSkillManifestInfo` has always accepted a `homeDir`; this handler never passed one, so * `GET /status` could only ever report whatever happened to be installed for whoever ran it. * Its test admitted as much in a comment — "we can't assert null with certainty if the * developer has the skill installed" — and settled for `sv === null || typeof sv === 'string'`, * which holds for almost any value. The documented behaviour ("null/null when no skills are * installed") had no coverage because it was unreachable, not because it was unimportant. */ homeDir?: string; } /** * GET /status — operator introspection endpoint. * * Requires both: * - Bearer auth (enforced by server pipeline, step 4) * - Loopback origin (enforced by server pipeline, step 3 — LOOPBACK_ONLY_PATHS) * * Returns the status shape. */ export declare function buildStatusHandler(deps: StatusHandlerDeps): RawHandler; export {}; //# sourceMappingURL=status.d.ts.map