Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
e1c5416
init
jafermarq Aug 18, 2026
a9450a3
Merge branch 'main' into add-http-retry-invoker
jafermarq Aug 18, 2026
b41aeb7
incorporate feedback
jafermarq Aug 18, 2026
58dca8a
fix `pylint`
jafermarq Aug 18, 2026
1b0c12d
Merge branch 'main' into add-http-retry-invoker
jafermarq Aug 18, 2026
0336d7d
Update framework/py/flwr/supercore/protobuf/client.py
jafermarq Aug 18, 2026
aeedfed
Update framework/py/flwr/supercore/protobuf/client.py
jafermarq Aug 18, 2026
5e2266c
Narrow retryable HTTP transport errors
jafermarq Aug 18, 2026
6acd131
init
jafermarq Aug 18, 2026
43a4e4a
fix circular import
jafermarq Aug 18, 2026
bc1b69d
update year in copyright
jafermarq Aug 18, 2026
50d3ed0
Merge branch 'main' into add-http-grid
jafermarq Aug 18, 2026
c112954
Merge branch 'main' into add-http-grid
jafermarq Aug 19, 2026
26cc81d
tweaks after merge w/ main
jafermarq Aug 19, 2026
64e28b3
Potential fix for pull request finding
jafermarq Aug 19, 2026
9f239a2
Potential fix for pull request finding
jafermarq Aug 19, 2026
e409289
prep
jafermarq Aug 19, 2026
f1da2e9
fix for local superlink
jafermarq Aug 19, 2026
a370597
Merge branch 'main' into switch-runtime-api-to-http-only
jafermarq Aug 19, 2026
5476ec9
stop using `--clientappio-api-address` in CI tests
jafermarq Aug 19, 2026
6c73d04
using `client` in favour of `stub`
jafermarq Aug 19, 2026
813bf26
format
jafermarq Aug 19, 2026
3177242
Merge branch 'main' into switch-runtime-api-to-http-only
jafermarq Aug 19, 2026
4161d8f
feat(framework): Add openresponses compatible interface
charlesbvll Aug 19, 2026
685fe9f
Merge branch 'main' into switch-runtime-api-to-http-only
jafermarq Aug 19, 2026
9fb4631
port must be over 0
jafermarq Aug 19, 2026
7d54dd8
Merge branch 'main' into switch-runtime-api-to-http-only
jafermarq Aug 20, 2026
d62aeb7
Use exit handler for Runtime HTTP shutdown
jafermarq Aug 20, 2026
a7338d4
updated docstrings description when no certificates/insecure is set; …
jafermarq Aug 20, 2026
b0f66b1
fixes for docker compose
jafermarq Aug 20, 2026
29e5dcd
w/ prev
jafermarq Aug 20, 2026
c5a6ad3
Merge branch 'main' into switch-runtime-api-to-http-only
jafermarq Aug 20, 2026
0ec30ef
show error message and exti if user attempts passing gRPC RuntimeAPI …
jafermarq Aug 20, 2026
a6a309f
w/ previous docker fixes
jafermarq Aug 20, 2026
fbf2774
update `FASTAPI.md`
jafermarq Aug 20, 2026
4c944dd
Update with latest changes
charlesbvll Aug 20, 2026
d619adc
Merge remote-tracking branch 'origin/main' into add-runtime-responses…
charlesbvll Aug 20, 2026
91995b3
Merge remote-tracking branch 'origin/main' into add-runtime-responses…
charlesbvll Aug 21, 2026
b3624f5
Address comments
charlesbvll Aug 21, 2026
e00f3d8
Merge branch 'main' into add-runtime-responses-endpoint
charlesbvll Aug 21, 2026
cc0d942
Address comments
charlesbvll Aug 21, 2026
314a6e1
Add explaining comment
charlesbvll Aug 21, 2026
1387d0c
Merge branch 'main' into add-runtime-responses-endpoint
charlesbvll Aug 21, 2026
1efe8c4
Switch to task_ids
charlesbvll Aug 21, 2026
7182df9
Address comments
charlesbvll Aug 21, 2026
533818a
Address comments
charlesbvll Aug 21, 2026
71f7c09
Merge main into it
charlesbvll Aug 21, 2026
0bfa19d
Merge branch 'main' into add-runtime-responses-endpoint
charlesbvll Aug 21, 2026
e20b209
Address comments
charlesbvll Aug 21, 2026
11a2cd1
Address comments
charlesbvll Aug 21, 2026
9f9eb3a
Apply suggestion from @panh99
panh99 Aug 21, 2026
5e972c1
Merge branch 'main' into add-runtime-responses-endpoint
charlesbvll Aug 21, 2026
c061a6a
Add `ModelRequest.from_payload`
charlesbvll Aug 21, 2026
6d5e28e
Address comments
charlesbvll Aug 21, 2026
332335f
Recompile protos
charlesbvll Aug 21, 2026
597e85e
Safer claim
charlesbvll Aug 21, 2026
73e0161
Remove duplication
charlesbvll Aug 22, 2026
1b2ce80
Fix sorting
charlesbvll Aug 22, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion framework/proto/flwr/proto/runtime.proto
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,11 @@ message PushTaskEventsRequest { repeated TaskEvent events = 1; }
message PushTaskEventsResponse {}

// PullTaskMessage messages
message PullTaskMessageRequest { optional uint64 limit = 1; }
message PullTaskMessageRequest {
optional uint64 limit = 1;
// Filter concurrent exchanges by sender task ID.
optional uint64 src_task_id = 2;
Comment thread
danielnugraha marked this conversation as resolved.
Comment thread
charlesbvll marked this conversation as resolved.
}
message PullTaskMessageResponse { repeated Message messages = 1; }

// RecordTaskUsage messages
Expand Down
52 changes: 26 additions & 26 deletions framework/py/flwr/proto/runtime_pb2.py

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 9 additions & 2 deletions framework/py/flwr/proto/runtime_pb2.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -301,15 +301,22 @@ class PullTaskMessageRequest(google.protobuf.message.Message):
DESCRIPTOR: google.protobuf.descriptor.Descriptor

LIMIT_FIELD_NUMBER: builtins.int
SRC_TASK_ID_FIELD_NUMBER: builtins.int
limit: builtins.int
src_task_id: builtins.int
"""Filter concurrent exchanges by sender task ID."""
def __init__(
self,
*,
limit: builtins.int | None = ...,
src_task_id: builtins.int | None = ...,
) -> None: ...
def HasField(self, field_name: typing.Literal["_limit", b"_limit", "limit", b"limit"]) -> builtins.bool: ...
def ClearField(self, field_name: typing.Literal["_limit", b"_limit", "limit", b"limit"]) -> None: ...
def HasField(self, field_name: typing.Literal["_limit", b"_limit", "_src_task_id", b"_src_task_id", "limit", b"limit", "src_task_id", b"src_task_id"]) -> builtins.bool: ...
def ClearField(self, field_name: typing.Literal["_limit", b"_limit", "_src_task_id", b"_src_task_id", "limit", b"limit", "src_task_id", b"src_task_id"]) -> None: ...
@typing.overload
def WhichOneof(self, oneof_group: typing.Literal["_limit", b"_limit"]) -> typing.Literal["limit"] | None: ...
@typing.overload
def WhichOneof(self, oneof_group: typing.Literal["_src_task_id", b"_src_task_id"]) -> typing.Literal["src_task_id"] | None: ...

global___PullTaskMessageRequest = PullTaskMessageRequest

Expand Down
6 changes: 6 additions & 0 deletions framework/py/flwr/supercore/corestate/corestate.py
Original file line number Diff line number Diff line change
Expand Up @@ -879,6 +879,7 @@ def get_task_message(
self,
*,
dst_task_ids: Sequence[int] | None = None,
src_task_ids: Sequence[int] | None = None,
limit: int | None = None,
order_by: Literal["created_at"] | None = None,
) -> Sequence[Message]:
Expand All @@ -891,6 +892,8 @@ def get_task_message(
----------
dst_task_ids : Optional[Sequence[int]] (default: None)
Sequence of destination task IDs to filter by.
src_task_ids : Optional[Sequence[int]] (default: None)
Sequence of source task IDs to filter by.
limit : Optional[int] (default: None)
Maximum number of messages to return. If `None`, no limit is applied.
order_by : Optional[Literal["created_at"]] (default: None)
Expand Down Expand Up @@ -929,6 +932,7 @@ def get_task_events(
self,
*,
run_id: int | None = None,
task_ids: Sequence[int] | None = None,
after_task_event_id: int | None = None,
) -> Sequence[TaskEvent]:
"""Return task-produced run events matching the filters.
Expand All @@ -938,6 +942,8 @@ def get_task_events(
run_id : Optional[int] (default: None)
If set, return only events for this run. If set to `None`, return
events for all runs.
task_ids : Optional[Sequence[int]] (default: None)
If set, return only events produced by these tasks.
after_task_event_id : Optional[int] (default: None)
Return only events with an ID greater than this cursor. If set to
`None`, retrieve all events.
Expand Down
Loading
Loading