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

Method taskBlock

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

Source from the content-addressed store, hash-verified

2841}
2842
2843func (n *daemonNativeTools) taskBlock(
2844 ctx context.Context,
2845 scope toolspkg.Scope,
2846 req toolspkg.CallRequest,
2847) (toolspkg.ToolResult, error) {
2848 var input taskBlockInput
2849 if err := decodeNativeInput(req, &input); err != nil {
2850 return toolspkg.ToolResult{}, err
2851 }
2852 actor, runID, claimToken, err := n.nativeTaskBlockActor(ctx, req.ToolID, scope, input.TaskID, input.RunID)
2853 if err != nil {
2854 return toolspkg.ToolResult{}, err
2855 }
2856 block, err := n.deps.Tasks.BlockTask(ctx, taskpkg.BlockRequest{
2857 TaskID: strings.TrimSpace(input.TaskID),
2858 Kind: taskpkg.BlockKind(strings.TrimSpace(input.Kind)),
2859 Reason: strings.TrimSpace(input.Reason),
2860 Details: cloneJSON(input.Details),
2861 ExpiresAt: nativeTaskBlockExpiresAt(input.ExpiresAt),
2862 RunID: runID,
2863 ClaimToken: claimToken,
2864 }, actor)
2865 if err != nil {
2866 return toolspkg.ToolResult{}, nativeTaskToolError(req.ToolID, err)
2867 }
2868 return structuredResult(
2869 map[string]any{daemonBlockKey: core.TaskBlockPayloadFromBlock(block)},
2870 fmt.Sprintf("blocked %s", block.TaskID),
2871 )
2872}
2873
2874func (n *daemonNativeTools) taskUnblock(
2875 ctx context.Context,

Callers

nothing calls this directly

Calls 8

nativeTaskBlockActorMethod · 0.95
decodeNativeInputFunction · 0.85
nativeTaskBlockExpiresAtFunction · 0.85
nativeTaskToolErrorFunction · 0.85
structuredResultFunction · 0.85
cloneJSONFunction · 0.70
BlockTaskMethod · 0.65

Tested by

no test coverage detected