Skip to content

Surface hasMappedDependants on ts-sdk TaskContext - #71191

Open
bujjibabukatta wants to merge 1 commit into
apache:mainfrom
bujjibabukatta:fix/#71063
Open

Surface hasMappedDependants on ts-sdk TaskContext#71191
bujjibabukatta wants to merge 1 commit into
apache:mainfrom
bujjibabukatta:fix/#71063

Conversation

@bujjibabukatta

Copy link
Copy Markdown
Contributor

Adds TaskContext.hasMappedDependants to the TypeScript SDK, mirroring
the should_retry field pattern already used for TIRunContext →
TaskContext mapping.

When true, returning an array from a task handler causes the
supervisor to record mapped_length on the return-value XCom
automatically, letting the scheduler expand downstream mapped
dependants — matching behavior already available to Python task
handlers.

Changes:

  • ts-sdk/src/sdk/task.ts — add readonly hasMappedDependants: boolean
    to the public TaskContext interface
  • ts-sdk/src/coordinator/runtime.ts — wire ti_context.has_mapped_dependants
    into buildContext(), defaulting to false when the server omits it
  • ts-sdk/tests/coordinator/integration.test.ts — cover both the
    true and default-false cases end-to-end through the coordinator
  • ts-sdk/tests/coordinator/client.test.ts, ts-sdk/tests/public-api.test.ts
    update existing TaskContext fixtures/type assertions for the new
    required field

Depends on has_mapped_dependants existing on TIRunContext
(#70571) — rebased onto that once merged, schema.json /
supervisor.ts regeneration is a no-op beyond the one field.

closes: #71063

Was generative AI tooling used to co-author this PR?
  • Yes (Claude)
  • Used for PR description and test cases

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Record mapped_length for TypeScript SDK tasks with mapped dependants

1 participant