For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Logo
ContactLearn More
GuidesReferenceSamplesLicenseChangelog
GuidesReferenceSamplesLicenseChangelog
  • SDKs
    • Overview
  • REST
  • gRPC
        • UNARYCreateTask
        • UNARYGetTask
        • UNARYQueryTasks
        • UNARYUpdateStatus
        • UNARYCancelTask
        • STREAMListenAsAgent
        • STREAMListenForManualControlFrames
        • STREAMStreamTasks
ContactLearn More
gRPCanduril.taskmanager.v1TaskManagerAPI

ListenAsAgent

Example request
1{
2 "agent_selector": {
3 "entity_ids": {
4 "entity_ids": [
5 "example"
6 ]
7 }
8 },
9 "heartbeat_interval_ms": 42
10}
Example response
1{
2 "request": {
3 "execute_request": {
4 "task": {
5 "version": {
6 "task_id": "example",
7 "definition_version": 42,
8 "status_version": 42
9 },
10 "display_name": "example",
11 "specification": {
12 "type_url": "example",
13 "value": "bytes"
14 },
15 "created_by": {
16 "on_behalf_of": {},
17 "agent": {
18 "system": {
19 "service_name": "example",
20 "entity_id": "example",
21 "manages_own_scheduling": true
22 }
23 }
24 },
25 "last_updated_by": {
26 "on_behalf_of": {},
27 "agent": {
28 "system": {
29 "service_name": "example",
30 "entity_id": "example",
31 "manages_own_scheduling": true
32 }
33 }
34 },
35 "last_update_time": {
36 "seconds": 42,
37 "nanos": 42
38 },
39 "status": {
40 "status": 0,
41 "task_error": {
42 "code": 0,
43 "message": "example",
44 "error_details": {
45 "type_url": "example",
46 "value": "bytes"
47 }
48 },
49 "progress": {
50 "type_url": "example",
51 "value": "bytes"
52 },
53 "result": {
54 "type_url": "example",
55 "value": "bytes"
56 },
57 "start_time": {
58 "seconds": 42,
59 "nanos": 42
60 },
61 "estimate": {
62 "type_url": "example",
63 "value": "bytes"
64 },
65 "allocation": {
66 "active_agents": [
67 {
68 "entity_id": "example"
69 }
70 ]
71 }
72 },
73 "scheduled_time": {
74 "seconds": 42,
75 "nanos": 42
76 },
77 "relations": {
78 "assignee": {
79 "on_behalf_of": {},
80 "agent": {
81 "system": {
82 "service_name": "example",
83 "entity_id": "example",
84 "manages_own_scheduling": true
85 }
86 }
87 },
88 "parent_task_id": "example"
89 },
90 "description": "example",
91 "is_executed_elsewhere": true,
92 "create_time": {
93 "seconds": 42,
94 "nanos": 42
95 },
96 "replication": {
97 "stale_time": {
98 "seconds": 42,
99 "nanos": 42
100 }
101 },
102 "initial_entities": [
103 {
104 "entity": {
105 "entity_id": "example",
106 "description": "example",
107 "is_live": true,
108 "created_time": {
109 "seconds": 42,
110 "nanos": 42
111 },
112 "expiry_time": {
113 "seconds": 42,
114 "nanos": 42
115 },
116 "no_expiry": true,
117 "status": {
118 "platform_activity": "example",
119 "role": "example"
120 },
121 "location": {
122 "position": {
123 "latitude_degrees": 42,
124 "longitude_degrees": 42,
125 "altitude_hae_meters": {
126 "value": 42
127 },
128 "altitude_agl_meters": {
129 "value": 42
130 },
131 "altitude_asf_meters": {
132 "value": 42
133 },
134 "pressure_depth_meters": {
135 "value": 42
136 }
137 },
138 "velocity_enu": {
139 "e": 42,
140 "n": 42,
141 "u": 42
142 },
143 "speed_mps": {
144 "value": 42
145 },
146 "acceleration": {
147 "e": 42,
148 "n": 42,
149 "u": 42
150 },
151 "attitude_enu": {
152 "x": 42,
153 "y": 42,
154 "z": 42,
155 "w": 42
156 }
157 },
158 "location_uncertainty": {
159 "position_enu_cov": {
160 "mxx": 42,
161 "mxy": 42,
162 "mxz": 42,
163 "myy": 42,
164 "myz": 42,
165 "mzz": 42
166 },
167 "velocity_enu_cov": {
168 "mxx": 42,
169 "mxy": 42,
170 "mxz": 42,
171 "myy": 42,
172 "myz": 42,
173 "mzz": 42
174 },
175 "position_error_ellipse": {
176 "probability": {
177 "value": 42
178 },
179 "semi_major_axis_m": {
180 "value": 42
181 },
182 "semi_minor_axis_m": {
183 "value": 42
184 },
185 "orientation_d": {
186 "value": 42
187 }
188 }
189 },
190 "geo_shape": {
191 "shape": {
192 "point": {
193 "position": {
194 "latitude_degrees": 42,
195 "longitude_degrees": 42,
196 "altitude_hae_meters": {
197 "value": 42
198 },
199 "altitude_agl_meters": {
200 "value": 42
201 },
202 "altitude_asf_meters": {
203 "value": 42
204 },
205 "pressure_depth_meters": {
206 "value": 42
207 }
208 }
209 }
210 }
211 },
212 "geo_details": {
213 "type": 0,
214 "type_details": {
215 "control_area": {
216 "type": 0
217 }
218 }
219 },
220 "aliases": {
221 "alternate_ids": [
222 {
223 "id": "example",
224 "type": 0
225 }
226 ],
227 "name": "example"
228 },
229 "tracked": {
230 "track_quality_wrapper": {
231 "value": 42
232 },
233 "sensor_hits": {
234 "value": 42
235 },
236 "number_of_objects": {
237 "lower_bound": 42,
238 "upper_bound": 42
239 },
240 "radar_cross_section": {
241 "value": 42
242 },
243 "last_measurement_time": {
244 "seconds": 42,
245 "nanos": 42
246 },
247 "line_of_bearing": {
248 "angle_of_arrival": {
249 "relative_pose": {
250 "pos": {
251 "lon": 42,
252 "lat": 42,
253 "alt": 42,
254 "is2d": true,
255 "altitude_reference": 0
256 },
257 "att_enu": {
258 "x": 42,
259 "y": 42,
260 "z": 42,
261 "w": 42
262 }
263 },
264 "bearing_elevation_covariance_rad2": {
265 "mxx": 42,
266 "mxy": 42,
267 "myy": 42
268 }
269 },
270 "detection_range": {
271 "range_estimate_m": {
272 "value": {
273 "value": 42
274 },
275 "sigma": {
276 "value": 42
277 }
278 }
279 }
280 }
281 },
282 "correlation": {
283 "membership": {
284 "correlation_set_id": "example",
285 "metadata": {
286 "provenance": {
287 "integration_name": "example",
288 "data_type": "example",
289 "source_id": "example",
290 "source_update_time": {
291 "seconds": 42,
292 "nanos": 42
293 },
294 "source_description": "example"
295 },
296 "replication_mode": 0,
297 "type": 0
298 },
299 "membership": {
300 "primary": {}
301 }
302 },
303 "decorrelation": {
304 "all": {
305 "metadata": {
306 "provenance": {
307 "integration_name": "example",
308 "data_type": "example",
309 "source_id": "example",
310 "source_update_time": {
311 "seconds": 42,
312 "nanos": 42
313 },
314 "source_description": "example"
315 },
316 "replication_mode": 0,
317 "type": 0
318 }
319 },
320 "decorrelated_entities": [
321 {
322 "entity_id": "example",
323 "metadata": {
324 "provenance": {
325 "integration_name": "example",
326 "data_type": "example",
327 "source_id": "example",
328 "source_update_time": {
329 "seconds": 42,
330 "nanos": 42
331 },
332 "source_description": "example"
333 },
334 "replication_mode": 0,
335 "type": 0
336 }
337 }
338 ]
339 },
340 "correlation": {
341 "primary": {
342 "secondary_entity_ids": [
343 "example"
344 ]
345 }
346 }
347 },
348 "mil_view": {
349 "disposition": 0,
350 "environment": 0,
351 "nationality": 0
352 },
353 "ontology": {
354 "platform_type": "example",
355 "specific_type": "example",
356 "template": 0
357 },
358 "sensors": {
359 "sensors": [
360 {
361 "sensor_id": "example",
362 "operational_state": 0,
363 "sensor_type": 0,
364 "sensor_description": "example",
365 "rf_configuraton": {
366 "frequency_range_hz": [
367 {
368 "minimum_frequency_hz": {
369 "frequency_hz": {
370 "value": {
371 "value": 42
372 },
373 "sigma": {
374 "value": 42
375 }
376 }
377 },
378 "maximum_frequency_hz": {
379 "frequency_hz": {
380 "value": {
381 "value": 42
382 },
383 "sigma": {
384 "value": 42
385 }
386 }
387 }
388 }
389 ],
390 "bandwidth_range_hz": [
391 {
392 "minimum_bandwidth": {
393 "bandwidth_hz": {
394 "value": 42
395 }
396 },
397 "maximum_bandwidth": {
398 "bandwidth_hz": {
399 "value": 42
400 }
401 }
402 }
403 ]
404 },
405 "last_detection_timestamp": {
406 "seconds": 42,
407 "nanos": 42
408 },
409 "fields_of_view": [
410 {
411 "fov_id": 42,
412 "mount_id": "example",
413 "projected_frustum": {
414 "upper_left": {
415 "latitude_degrees": 42,
416 "longitude_degrees": 42,
417 "altitude_hae_meters": {
418 "value": 42
419 },
420 "altitude_agl_meters": {
421 "value": 42
422 },
423 "altitude_asf_meters": {
424 "value": 42
425 },
426 "pressure_depth_meters": {
427 "value": 42
428 }
429 },
430 "upper_right": {
431 "latitude_degrees": 42,
432 "longitude_degrees": 42,
433 "altitude_hae_meters": {
434 "value": 42
435 },
436 "altitude_agl_meters": {
437 "value": 42
438 },
439 "altitude_asf_meters": {
440 "value": 42
441 },
442 "pressure_depth_meters": {
443 "value": 42
444 }
445 },
446 "bottom_right": {
447 "latitude_degrees": 42,
448 "longitude_degrees": 42,
449 "altitude_hae_meters": {
450 "value": 42
451 },
452 "altitude_agl_meters": {
453 "value": 42
454 },
455 "altitude_asf_meters": {
456 "value": 42
457 },
458 "pressure_depth_meters": {
459 "value": 42
460 }
461 },
462 "bottom_left": {
463 "latitude_degrees": 42,
464 "longitude_degrees": 42,
465 "altitude_hae_meters": {
466 "value": 42
467 },
468 "altitude_agl_meters": {
469 "value": 42
470 },
471 "altitude_asf_meters": {
472 "value": 42
473 },
474 "pressure_depth_meters": {
475 "value": 42
476 }
477 }
478 },
479 "projected_center_ray": {
480 "latitude_degrees": 42,
481 "longitude_degrees": 42,
482 "altitude_hae_meters": {
483 "value": 42
484 },
485 "altitude_agl_meters": {
486 "value": 42
487 },
488 "altitude_asf_meters": {
489 "value": 42
490 },
491 "pressure_depth_meters": {
492 "value": 42
493 }
494 },
495 "center_ray_pose": {
496 "pos": {
497 "latitude_degrees": 42,
498 "longitude_degrees": 42,
499 "altitude_hae_meters": {
500 "value": 42
501 },
502 "altitude_agl_meters": {
503 "value": 42
504 },
505 "altitude_asf_meters": {
506 "value": 42
507 },
508 "pressure_depth_meters": {
509 "value": 42
510 }
511 },
512 "orientation": {
513 "x": 42,
514 "y": 42,
515 "z": 42,
516 "w": 42
517 }
518 },
519 "horizontal_fov": 42,
520 "vertical_fov": 42,
521 "range": {
522 "value": 42
523 },
524 "mode": 0
525 }
526 ]
527 }
528 ]
529 },
530 "payloads": {
531 "payload_configurations": [
532 {
533 "config": {
534 "capability_id": "example",
535 "quantity": 42,
536 "effective_environment": [
537 0
538 ],
539 "payload_operational_state": 0,
540 "payload_description": "example"
541 }
542 }
543 ]
544 },
545 "power_state": {
546 "source_id_to_state": [
547 null
548 ]
549 },
550 "provenance": {
551 "integration_name": "example",
552 "data_type": "example",
553 "source_id": "example",
554 "source_update_time": {
555 "seconds": 42,
556 "nanos": 42
557 },
558 "source_description": "example"
559 },
560 "overrides": {
561 "override": [
562 {
563 "request_id": "example",
564 "field_path": "example",
565 "masked_field_value": {},
566 "status": 0,
567 "provenance": {
568 "integration_name": "example",
569 "data_type": "example",
570 "source_id": "example",
571 "source_update_time": {
572 "seconds": 42,
573 "nanos": 42
574 },
575 "source_description": "example"
576 },
577 "type": 0,
578 "request_timestamp": {
579 "seconds": 42,
580 "nanos": 42
581 }
582 }
583 ]
584 },
585 "indicators": {
586 "simulated": {
587 "value": true
588 },
589 "exercise": {
590 "value": true
591 },
592 "emergency": {
593 "value": true
594 },
595 "c2": {
596 "value": true
597 },
598 "egressable": {
599 "value": true
600 },
601 "starred": {
602 "value": true
603 }
604 },
605 "target_priority": {
606 "high_value_target": {
607 "is_high_value_target": true,
608 "target_priority": 42,
609 "target_matches": [
610 {
611 "high_value_target_list_id": "example",
612 "high_value_target_description_id": "example"
613 }
614 ],
615 "is_high_payoff_target": true
616 },
617 "threat": {
618 "is_threat": true
619 }
620 },
621 "signal": {
622 "bandwidth_hz": {
623 "value": 42
624 },
625 "signal_to_noise_ratio": {
626 "value": 42
627 },
628 "emitter_notations": [
629 {
630 "emitter_notation": "example",
631 "confidence": {
632 "value": 42
633 }
634 }
635 ],
636 "pulse_width_s": {
637 "value": 42
638 },
639 "pulse_repetition_interval": {
640 "pulse_repetition_interval_s": {
641 "value": {
642 "value": 42
643 },
644 "sigma": {
645 "value": 42
646 }
647 }
648 },
649 "scan_characteristics": {
650 "scan_type": 0,
651 "scan_period_s": {
652 "value": 42
653 }
654 },
655 "frequency_measurement": {
656 "frequency_center": {
657 "frequency_hz": {
658 "value": {
659 "value": 42
660 },
661 "sigma": {
662 "value": 42
663 }
664 }
665 }
666 },
667 "report": {
668 "line_of_bearing": {
669 "angle_of_arrival": {
670 "relative_pose": {
671 "pos": {
672 "lon": 42,
673 "lat": 42,
674 "alt": 42,
675 "is2d": true,
676 "altitude_reference": 0
677 },
678 "att_enu": {
679 "x": 42,
680 "y": 42,
681 "z": 42,
682 "w": 42
683 }
684 },
685 "bearing_elevation_covariance_rad2": {
686 "mxx": 42,
687 "mxy": 42,
688 "myy": 42
689 }
690 },
691 "detection_range": {
692 "range_estimate_m": {
693 "value": {
694 "value": 42
695 },
696 "sigma": {
697 "value": 42
698 }
699 }
700 }
701 }
702 }
703 },
704 "transponder_codes": {
705 "mode1": 42,
706 "mode2": 42,
707 "mode3": 42,
708 "mode4_interrogation_response": 0,
709 "mode5": {
710 "mode5_interrogation_response": 0,
711 "mode5": 42,
712 "mode5_platform_id": 42
713 },
714 "mode_s": {
715 "id": "example",
716 "address": 42
717 },
718 "_mode_c_altitude_ft": {
719 "mode_c_altitude_ft": 42
720 }
721 },
722 "data_classification": {
723 "default": {
724 "level": 0,
725 "caveats": [
726 "example"
727 ]
728 },
729 "fields": [
730 {
731 "field_path": "example",
732 "classification_information": {
733 "level": 0,
734 "caveats": [
735 "example"
736 ]
737 }
738 }
739 ]
740 },
741 "task_catalog": {
742 "task_definitions": [
743 {
744 "task_specification_url": "example"
745 }
746 ]
747 },
748 "media": {
749 "media": [
750 {
751 "item_identifier": "example",
752 "type": 0,
753 "relative_path": "example"
754 }
755 ]
756 },
757 "relationships": {
758 "relationships": [
759 {
760 "related_entity_id": "example",
761 "relationship_id": "example",
762 "relationship_type": {
763 "type": {
764 "tracked_by": {
765 "actively_tracking_sensors": {
766 "sensors": [
767 {
768 "sensor_id": "example",
769 "operational_state": 0,
770 "sensor_type": 0,
771 "sensor_description": "example",
772 "rf_configuraton": {
773 "frequency_range_hz": [
774 {
775 "minimum_frequency_hz": {},
776 "maximum_frequency_hz": {}
777 }
778 ],
779 "bandwidth_range_hz": [
780 {
781 "minimum_bandwidth": {},
782 "maximum_bandwidth": {}
783 }
784 ]
785 },
786 "last_detection_timestamp": {
787 "seconds": 42,
788 "nanos": 42
789 },
790 "fields_of_view": [
791 {
792 "fov_id": 42,
793 "mount_id": "example",
794 "projected_frustum": {
795 "upper_left": {},
796 "upper_right": {},
797 "bottom_right": {},
798 "bottom_left": {}
799 },
800 "projected_center_ray": {
801 "latitude_degrees": 42,
802 "longitude_degrees": 42,
803 "altitude_hae_meters": {},
804 "altitude_agl_meters": {},
805 "altitude_asf_meters": {},
806 "pressure_depth_meters": {}
807 },
808 "center_ray_pose": {
809 "pos": {},
810 "orientation": {}
811 },
812 "horizontal_fov": 42,
813 "vertical_fov": 42,
814 "range": {
815 "value": 42
816 },
817 "mode": 0
818 }
819 ]
820 }
821 ]
822 },
823 "last_measurement_timestamp": {
824 "seconds": 42,
825 "nanos": 42
826 }
827 }
828 }
829 }
830 }
831 ]
832 },
833 "visual_details": {
834 "range_rings": {
835 "min_distance_m": {
836 "value": 42
837 },
838 "max_distance_m": {
839 "value": 42
840 },
841 "ring_count": 42,
842 "ring_line_color": {
843 "red": 42,
844 "green": 42,
845 "blue": 42,
846 "alpha": {
847 "value": 42
848 }
849 }
850 }
851 },
852 "dimensions": {
853 "length_m": 42
854 },
855 "route_details": {
856 "destination_name": "example",
857 "estimated_arrival_time": {
858 "seconds": 42,
859 "nanos": 42
860 }
861 },
862 "schedules": {
863 "schedules": [
864 {
865 "windows": [
866 {
867 "cron_expression": "example",
868 "duration_millis": 42
869 }
870 ],
871 "schedule_id": "example",
872 "schedule_type": 0
873 }
874 ]
875 },
876 "health": {
877 "connection_status": 0,
878 "health_status": 0,
879 "components": [
880 {
881 "id": "example",
882 "name": "example",
883 "health": 0,
884 "messages": [
885 {
886 "status": 0,
887 "message": "example"
888 }
889 ],
890 "update_time": {
891 "seconds": 42,
892 "nanos": 42
893 }
894 }
895 ],
896 "update_time": {
897 "seconds": 42,
898 "nanos": 42
899 },
900 "active_alerts": [
901 {
902 "alert_code": "example",
903 "description": "example",
904 "level": 0,
905 "activated_time": {
906 "seconds": 42,
907 "nanos": 42
908 },
909 "active_conditions": [
910 {
911 "condition_code": "example",
912 "description": "example"
913 }
914 ]
915 }
916 ]
917 },
918 "group_details": {
919 "group_type": {
920 "team": {}
921 }
922 },
923 "supplies": {
924 "munitions": [
925 {
926 "munition_id": "example",
927 "name": "example",
928 "quantity_units": 42
929 }
930 ],
931 "fuel": [
932 {
933 "fuel_id": "example",
934 "name": "example",
935 "reported_date": {
936 "seconds": 42,
937 "nanos": 42
938 },
939 "amount_gallons": 42,
940 "max_authorized_capacity_gallons": 42,
941 "operational_requirement_gallons": 42,
942 "data_classification": {
943 "default": {
944 "level": 0,
945 "caveats": [
946 "example"
947 ]
948 },
949 "fields": [
950 {
951 "field_path": "example",
952 "classification_information": {
953 "level": 0,
954 "caveats": [
955 "example"
956 ]
957 }
958 }
959 ]
960 },
961 "data_source": "example"
962 }
963 ]
964 },
965 "orbit": {
966 "orbit_mean_elements": {
967 "metadata": {
968 "creation_date": {
969 "seconds": 42,
970 "nanos": 42
971 },
972 "originator": {
973 "value": "example"
974 },
975 "message_id": {
976 "value": "example"
977 },
978 "ref_frame": 0,
979 "ref_frame_epoch": {
980 "seconds": 42,
981 "nanos": 42
982 },
983 "mean_element_theory": 0
984 },
985 "mean_keplerian_elements": {
986 "epoch": {
987 "seconds": 42,
988 "nanos": 42
989 },
990 "eccentricity": 42,
991 "inclination_deg": 42,
992 "ra_of_asc_node_deg": 42,
993 "arg_of_pericenter_deg": 42,
994 "mean_anomaly_deg": 42,
995 "gm": {
996 "value": 42
997 },
998 "line2_field8": {
999 "semi_major_axis_km": 42
1000 }
1001 },
1002 "tle_parameters": {
1003 "ephemeris_type": {
1004 "value": 42
1005 },
1006 "classification_type": {
1007 "value": "example"
1008 },
1009 "norad_cat_id": {
1010 "value": 42
1011 },
1012 "element_set_no": {
1013 "value": 42
1014 },
1015 "rev_at_epoch": {
1016 "value": 42
1017 },
1018 "mean_motion_dot": {
1019 "value": 42
1020 },
1021 "line1_field11": {
1022 "bstar": 42
1023 },
1024 "line1_field10": {
1025 "mean_motion_ddot": 42
1026 }
1027 }
1028 }
1029 },
1030 "symbology": {
1031 "standard": {
1032 "mil_std_2525_c": {
1033 "sidc": "example"
1034 }
1035 }
1036 }
1037 },
1038 "snapshot": true
1039 }
1040 ],
1041 "owner": {
1042 "entity_id": "example"
1043 },
1044 "retry_strategy": {
1045 "strategy": {
1046 "fixed_retry_strategy": {
1047 "retry_interval": {
1048 "seconds": 42,
1049 "nanos": 42
1050 }
1051 }
1052 }
1053 },
1054 "delivery_state": {
1055 "status": 0,
1056 "error": {
1057 "code": 0,
1058 "message": "example"
1059 },
1060 "delivery_constraints": {
1061 "deliver_after": {
1062 "seconds": 42,
1063 "nanos": 42
1064 },
1065 "deliver_before": {
1066 "seconds": 42,
1067 "nanos": 42
1068 }
1069 }
1070 }
1071 }
1072 }
1073 },
1074 "heartbeat": {
1075 "timestamp": {
1076 "seconds": 42,
1077 "nanos": 42
1078 }
1079 }
1080}
Establishes a server streaming connection that delivers tasks to taskable agents for execution. This method creates a persistent connection from Task Manager to an agent, allowing the server to push tasks to the agent as they become available. The agent receives a stream of tasks that match its selector criteria (e.g., entity IDs). The stream delivers three types of requests: - ExecuteRequest: Contains a new task for the agent to execute - CancelRequest: Indicates a task should be canceled - CompleteRequest: Indicates a task should be completed This is the primary method for taskable agents to receive and process tasks in real-time. Agents should maintain this connection and process incoming tasks according to their capabilities. When an agent receives a task, it should update the task status using the `UpdateStatus` RPC to provide progress information back to Task Manager. When `heartbeat_interval_ms` is set on the request, heartbeat messages are sent periodically to maintain the connection during idle periods when no tasks are being delivered.
Was this page helpful?
Previous

ListenForManualControlFrames

Next

Establishes a server streaming connection that delivers tasks to taskable agents for execution.

This method creates a persistent connection from Task Manager to an agent, allowing the server to push tasks to the agent as they become available. The agent receives a stream of tasks that match its selector criteria (e.g., entity IDs).

The stream delivers three types of requests:

  • ExecuteRequest: Contains a new task for the agent to execute
  • CancelRequest: Indicates a task should be canceled
  • CompleteRequest: Indicates a task should be completed

This is the primary method for taskable agents to receive and process tasks in real-time. Agents should maintain this connection and process incoming tasks according to their capabilities.

When an agent receives a task, it should update the task status using the UpdateStatus RPC to provide progress information back to Task Manager.

When heartbeat_interval_ms is set on the request, heartbeat messages are sent periodically to maintain the connection during idle periods when no tasks are being delivered.

ListenAsAgentRequest

Request
This endpoint expects an object.
agent_selectorobject
heartbeat_interval_msuint
The time interval, in milliseconds, that determines the frequency at which to send heartbeat events. If unset or set to 0, no heartbeat messages are sent.

ListenAsAgentResponse

Stream response
This endpoint returns an object.
requestobject
heartbeatobject
Heartbeat message signaling liveliness of the stream.