MCPcopy Create free account
hub / github.com/compozy/agh / agentHeartbeatWake

Method agentHeartbeatWake

internal/daemon/native_tools.go:2122–2165  ·  view source on GitHub ↗
(
	ctx context.Context,
	_ toolspkg.Scope,
	req toolspkg.CallRequest,
)

Source from the content-addressed store, hash-verified

2120}
2121
2122func (n *daemonNativeTools) agentHeartbeatWake(
2123 ctx context.Context,
2124 _ toolspkg.Scope,
2125 req toolspkg.CallRequest,
2126) (toolspkg.ToolResult, error) {
2127 var input agentHeartbeatWakeInput
2128 if err := decodeNativeInput(req, &input); err != nil {
2129 return toolspkg.ToolResult{}, err
2130 }
2131 target, err := n.authoredAgentTarget(ctx, req.ToolID, input.WorkspaceID, input.AgentName)
2132 if err != nil {
2133 return toolspkg.ToolResult{}, err
2134 }
2135 sessionID, err := requiredNativeString(req.ToolID, "session_id", input.SessionID)
2136 if err != nil {
2137 return toolspkg.ToolResult{}, err
2138 }
2139 if _, err := n.nativeSessionInWorkspace(ctx, req.ToolID, target.workspaceID, sessionID); err != nil {
2140 return toolspkg.ToolResult{}, err
2141 }
2142 source := heartbeat.WakeSource(strings.TrimSpace(input.Source))
2143 if source == "" {
2144 source = heartbeat.WakeSourceManual
2145 }
2146 decision, err := n.deps.HeartbeatWake.Wake(ctx, heartbeat.WakeRequest{
2147 WorkspaceID: target.workspaceID,
2148 AgentName: target.agentName,
2149 SessionID: sessionID,
2150 Source: source,
2151 DryRun: input.DryRun,
2152 })
2153 if err != nil {
2154 return toolspkg.ToolResult{}, err
2155 }
2156 payload, err := contract.HeartbeatWakeDecisionPayloadFromDomain(decision)
2157 if err != nil {
2158 return toolspkg.ToolResult{}, err
2159 }
2160 response := contract.HeartbeatWakeResponse{Decision: payload}
2161 if err := contract.ValidateAuthoredContextRedacted(response); err != nil {
2162 return toolspkg.ToolResult{}, err
2163 }
2164 return structuredResult(map[string]any{"wake": response}, string(payload.Result))
2165}
2166
2167func (n *daemonNativeTools) sessionEvents(
2168 ctx context.Context,

Callers

nothing calls this directly

Calls 7

authoredAgentTargetMethod · 0.95
WakeSourceTypeAlias · 0.92
decodeNativeInputFunction · 0.85
requiredNativeStringFunction · 0.85
structuredResultFunction · 0.85
WakeMethod · 0.65

Tested by

no test coverage detected