mirror of
https://github.com/stablyai/orca.git
synced 2026-10-30 16:47:34 +00:00
* refactor(agent-status): isolate legacy status ingress * fix(agent-hooks): move advertised-capability source onto the ingest envelope ingestRemote() gained a third positional argument in this PR (advertisedAgentStatusCapabilities) to satisfy a new ratchet requiring every legacy-ingress call site to name its capability source. Both production callers pass the same constant every time, so the argument carries zero runtime information — but Vitest's toHaveBeenCalledWith matches argument count exactly, so the pre-existing SSH relay integration test (which asserts a 2-argument call) started failing even though nothing about the actual admission decision changed. Capabilities are a property of the producing peer/connection, not an orthogonal call parameter, so move the field onto the envelope object instead of adding a third positional argument: ingestRemote reads envelope.advertisedAgentStatusCapabilities (defaulting to the unadvertised-legacy-peer set), and both call sites stamp the constant onto their envelope literal. Call arity stays at two arguments, so the pre-existing evidence test needs no change. The envelope never crosses the wire in either caller: SSH rebuilds it field-by-field from the RPC params, and the WSL path copies (never mutates) the wire-deserialized notification before stamping the field on, so this is purely an internal main-process shape change. Also strengthens the ingress ratchet test that required this: it previously only checked that the capability constant's name appeared somewhere in each caller's source, which a stray unused import could satisfy. It now asserts the actual `advertisedAgentStatusCapabilities: AGENT_STATUS_LEGACY_UNADVERTISED_PEER_CAPABILITIES` key:value binding is present.
36 lines
1.3 KiB
TypeScript
36 lines
1.3 KiB
TypeScript
import { AGENT_STATUS_RUNS_RUNTIME_CAPABILITY } from './agent-status-run-capability'
|
|
import { currentProducerAgentStatusLegacyIngressManifest } from './agent-status-legacy-ingress-manifest'
|
|
|
|
export type AgentStatusServingReadiness = Readonly<{
|
|
servingReady: boolean
|
|
}>
|
|
|
|
export type AgentStatusServingGateEvidence = {
|
|
readiness: AgentStatusServingReadiness
|
|
currentProducerManifest: readonly unknown[]
|
|
}
|
|
|
|
/** 2A defines the gate but deliberately does not claim run-serving readiness. */
|
|
export const AGENT_STATUS_2A_SERVING_READINESS: AgentStatusServingReadiness = Object.freeze({
|
|
servingReady: false
|
|
})
|
|
|
|
export function agentStatusRunServingGatePasses(evidence: AgentStatusServingGateEvidence): boolean {
|
|
return evidence.readiness.servingReady && evidence.currentProducerManifest.length === 0
|
|
}
|
|
|
|
export function isAgentStatusRunServingAdvertised(readiness: AgentStatusServingReadiness): boolean {
|
|
return agentStatusRunServingGatePasses({
|
|
readiness,
|
|
currentProducerManifest: currentProducerAgentStatusLegacyIngressManifest()
|
|
})
|
|
}
|
|
|
|
export function advertisedAgentStatusRunCapabilities(
|
|
readiness: AgentStatusServingReadiness
|
|
): readonly string[] {
|
|
return isAgentStatusRunServingAdvertised(readiness)
|
|
? Object.freeze([AGENT_STATUS_RUNS_RUNTIME_CAPABILITY])
|
|
: Object.freeze([])
|
|
}
|