Skip to content

Commit 13e9135

Browse files
SDK regeneration
1 parent cfcee68 commit 13e9135

25 files changed

+535
-100
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name = "anduril-lattice-sdk"
33

44
[tool.poetry]
55
name = "anduril-lattice-sdk"
6-
version = "3.0.0"
6+
version = "3.1.0"
77
description = "HTTP clients for the Anduril Lattice SDK"
88
readme = "README.md"
99
authors = [

reference.md

Lines changed: 97 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ client.entities.publish_entity()
5656

5757
**entity_id:** `typing.Optional[str]`
5858

59-
A Globally Unique Identifier (GUID) for your entity. If this field is empty, the Entity Manager API
60-
automatically generates an ID when it creates the entity.
59+
A Globally Unique Identifier (GUID) for your entity. This is a required
60+
field.
6161

6262
</dd>
6363
</dl>
@@ -741,7 +741,25 @@ client.entities.long_poll_entity_events(
741741
<dl>
742742
<dd>
743743

744-
Establishes a persistent connection to stream entity events as they occur.
744+
Establishes a server-sent events (SSE) connection that streams entity data in real-time.
745+
This is a one-way connection from server to client that follows the SSE protocol with text/event-stream content type.
746+
747+
This endpoint enables clients to maintain a real-time view of the common operational picture (COP)
748+
by first streaming all pre-existing entities that match filter criteria, then continuously delivering
749+
updates as entities are created, modified, or deleted.
750+
751+
The server first sends events with type PREEXISTING for all live entities matching the filter that existed before the stream was open,
752+
then streams CREATE events for newly created entities, UPDATE events when existing entities change, and DELETED events when entities are removed. The stream remains open
753+
indefinitely unless preExistingOnly is set to true.
754+
755+
Heartbeat messages can be configured to maintain connection health and detect disconnects by setting the heartbeatIntervalMS
756+
parameter. These heartbeats help keep the connection alive and allow clients to verify the server is still responsive.
757+
758+
Clients can optimize bandwidth usage by specifying which entity components they need populated using the componentsToInclude parameter.
759+
This allows receiving only relevant data instead of complete entities.
760+
761+
The connection automatically recovers from temporary disconnections, resuming the stream where it left off. Unlike polling approaches,
762+
this provides real-time updates with minimal latency and reduced server load.
745763
</dd>
746764
</dl>
747765
</dd>
@@ -828,8 +846,14 @@ for chunk in response.data:
828846
<dl>
829847
<dd>
830848

831-
Submit a request to create a task and schedule it for delivery. Tasks, once delivered, will
832-
be asynchronously updated by their destined agent.
849+
Creates a new Task in the system with the specified parameters.
850+
851+
This method initiates a new task with a unique ID (either provided or auto-generated),
852+
sets the initial task state to STATUS_CREATED, and establishes task ownership. The task
853+
can be assigned to a specific agent through the Relations field.
854+
855+
Once created, a task enters the lifecycle workflow and can be tracked, updated, and managed
856+
through other Tasks API endpoints.
833857
</dd>
834858
</dl>
835859
</dd>
@@ -892,7 +916,7 @@ GUID. Will reject if supplied Task ID does not match [A-Za-z0-9_-.]{5,36}.
892916
<dl>
893917
<dd>
894918

895-
**specification:** `typing.Optional[GoogleProtobufAny]`Full set of task parameters.
919+
**specification:** `typing.Optional[GoogleProtobufAny]`The path for the Protobuf task definition, and the complete task data.
896920

897921
</dd>
898922
</dl>
@@ -958,6 +982,27 @@ task. For example, an entity Objective, an entity Keep In Zone, etc.
958982
<dl>
959983
<dd>
960984

985+
#### 📝 Description
986+
987+
<dl>
988+
<dd>
989+
990+
<dl>
991+
<dd>
992+
993+
Retrieves a specific Task by its ID, with options to select a particular task version or view.
994+
995+
This method returns detailed information about a task including its current status,
996+
specification, relations, and other metadata. The response includes the complete Task object
997+
with all associated fields.
998+
999+
By default, the method returns the latest definition version of the task from the manager's
1000+
perspective.
1001+
</dd>
1002+
</dl>
1003+
</dd>
1004+
</dl>
1005+
9611006
#### 🔌 Usage
9621007

9631008
<dl>
@@ -1022,7 +1067,17 @@ client.tasks.get_task(
10221067
<dl>
10231068
<dd>
10241069

1025-
Update the status of a task.
1070+
Updates the status of a Task as it progresses through its lifecycle.
1071+
1072+
This method allows agents or operators to report the current state of a task,
1073+
which could include changes to task status, and error information.
1074+
1075+
Each status update increments the task's status_version. When updating status,
1076+
clients must provide the current version to ensure consistency. The system rejects
1077+
updates with mismatched versions to prevent race conditions.
1078+
1079+
Terminal states (`STATUS_DONE_OK` and `STATUS_DONE_NOT_OK`) are permanent; once a task
1080+
reaches these states, no further updates are allowed.
10261081
</dd>
10271082
</dl>
10281083
</dd>
@@ -1121,7 +1176,21 @@ is known are considered stale and ignored.
11211176
<dl>
11221177
<dd>
11231178

1124-
Query for tasks by a specified search criteria.
1179+
Searches for Tasks that match specified filtering criteria and returns matching tasks in paginated form.
1180+
1181+
This method allows filtering tasks based on multiple criteria including:
1182+
- Parent task relationships
1183+
- Task status (with inclusive or exclusive filtering)
1184+
- Update time ranges
1185+
- Task view (manager or agent perspective)
1186+
- Task assignee
1187+
- Task type (via exact URL matches or prefix matching)
1188+
1189+
Results are returned in pages. When more results are available than can be returned in a single
1190+
response, a page_token is provided that can be used in subsequent requests to retrieve the next
1191+
set of results.
1192+
1193+
By default, this returns the latest task version for each matching task from the manager's perspective.
11251194
</dd>
11261195
</dl>
11271196
</dd>
@@ -1168,7 +1237,7 @@ client.tasks.query_tasks()
11681237
**parent_task_id:** `typing.Optional[str]`
11691238

11701239
If present matches Tasks with this parent Task ID.
1171-
Note: this is mutually exclusive with all other query parameters, i.e., either provide parent Task ID, or
1240+
Note: this is mutually exclusive with all other query parameters, for example, either provide parent task ID, or
11721241
any of the remaining parameters, but not both.
11731242

11741243
</dd>
@@ -1217,8 +1286,25 @@ any of the remaining parameters, but not both.
12171286
<dl>
12181287
<dd>
12191288

1220-
This is a long polling API that will block until a new task is ready for delivery. If no new task is
1221-
available then the server will hold on to your request for up to 5 minutes, after that 5 minute timeout
1289+
Establishes a server streaming connection that delivers tasks to taskable agents for execution.
1290+
1291+
This method creates a persistent connection from Tasks API to an agent, allowing the server
1292+
to push tasks to the agent as they become available. The agent receives a stream of tasks that
1293+
match its selector criteria (entity IDs).
1294+
1295+
The stream delivers three types of requests:
1296+
- ExecuteRequest: Contains a new task for the agent to execute
1297+
- CancelRequest: Indicates a task should be canceled
1298+
- CompleteRequest: Indicates a task should be completed
1299+
1300+
This is the primary method for taskable agents to receive and process tasks in real-time.
1301+
Agents should maintain this connection and process incoming tasks according to their capabilities.
1302+
1303+
When an agent receives a task, it should update the task status using the UpdateStatus endpoint
1304+
to provide progress information back to Tasks API.
1305+
1306+
This is a long polling API that will block until a new task is ready for delivery. If no new task is
1307+
available then the server will hold on to your request for up to 5 minutes, after that 5 minute timeout
12221308
period you will be expected to reinitiate a new request.
12231309
</dd>
12241310
</dl>

src/anduril/core/client_wrapper.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ def __init__(
2222

2323
def get_headers(self) -> typing.Dict[str, str]:
2424
headers: typing.Dict[str, str] = {
25-
"User-Agent": "anduril-lattice-sdk/3.0.0",
25+
"User-Agent": "anduril-lattice-sdk/3.1.0",
2626
"X-Fern-Language": "Python",
2727
"X-Fern-SDK-Name": "anduril-lattice-sdk",
28-
"X-Fern-SDK-Version": "3.0.0",
28+
"X-Fern-SDK-Version": "3.1.0",
2929
**(self.get_custom_headers() or {}),
3030
}
3131
token = self._get_token()

src/anduril/entities/client.py

Lines changed: 42 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,8 @@ def publish_entity(
116116
Parameters
117117
----------
118118
entity_id : typing.Optional[str]
119-
A Globally Unique Identifier (GUID) for your entity. If this field is empty, the Entity Manager API
120-
automatically generates an ID when it creates the entity.
119+
A Globally Unique Identifier (GUID) for your entity. This is a required
120+
field.
121121
122122
description : typing.Optional[str]
123123
A human-readable entity description that's helpful for debugging purposes and human
@@ -490,7 +490,25 @@ def stream_entities(
490490
request_options: typing.Optional[RequestOptions] = None,
491491
) -> typing.Iterator[StreamEntitiesResponse]:
492492
"""
493-
Establishes a persistent connection to stream entity events as they occur.
493+
Establishes a server-sent events (SSE) connection that streams entity data in real-time.
494+
This is a one-way connection from server to client that follows the SSE protocol with text/event-stream content type.
495+
496+
This endpoint enables clients to maintain a real-time view of the common operational picture (COP)
497+
by first streaming all pre-existing entities that match filter criteria, then continuously delivering
498+
updates as entities are created, modified, or deleted.
499+
500+
The server first sends events with type PREEXISTING for all live entities matching the filter that existed before the stream was open,
501+
then streams CREATE events for newly created entities, UPDATE events when existing entities change, and DELETED events when entities are removed. The stream remains open
502+
indefinitely unless preExistingOnly is set to true.
503+
504+
Heartbeat messages can be configured to maintain connection health and detect disconnects by setting the heartbeatIntervalMS
505+
parameter. These heartbeats help keep the connection alive and allow clients to verify the server is still responsive.
506+
507+
Clients can optimize bandwidth usage by specifying which entity components they need populated using the componentsToInclude parameter.
508+
This allows receiving only relevant data instead of complete entities.
509+
510+
The connection automatically recovers from temporary disconnections, resuming the stream where it left off. Unlike polling approaches,
511+
this provides real-time updates with minimal latency and reduced server load.
494512
495513
Parameters
496514
----------
@@ -601,8 +619,8 @@ async def publish_entity(
601619
Parameters
602620
----------
603621
entity_id : typing.Optional[str]
604-
A Globally Unique Identifier (GUID) for your entity. If this field is empty, the Entity Manager API
605-
automatically generates an ID when it creates the entity.
622+
A Globally Unique Identifier (GUID) for your entity. This is a required
623+
field.
606624
607625
description : typing.Optional[str]
608626
A human-readable entity description that's helpful for debugging purposes and human
@@ -1017,7 +1035,25 @@ async def stream_entities(
10171035
request_options: typing.Optional[RequestOptions] = None,
10181036
) -> typing.AsyncIterator[StreamEntitiesResponse]:
10191037
"""
1020-
Establishes a persistent connection to stream entity events as they occur.
1038+
Establishes a server-sent events (SSE) connection that streams entity data in real-time.
1039+
This is a one-way connection from server to client that follows the SSE protocol with text/event-stream content type.
1040+
1041+
This endpoint enables clients to maintain a real-time view of the common operational picture (COP)
1042+
by first streaming all pre-existing entities that match filter criteria, then continuously delivering
1043+
updates as entities are created, modified, or deleted.
1044+
1045+
The server first sends events with type PREEXISTING for all live entities matching the filter that existed before the stream was open,
1046+
then streams CREATE events for newly created entities, UPDATE events when existing entities change, and DELETED events when entities are removed. The stream remains open
1047+
indefinitely unless preExistingOnly is set to true.
1048+
1049+
Heartbeat messages can be configured to maintain connection health and detect disconnects by setting the heartbeatIntervalMS
1050+
parameter. These heartbeats help keep the connection alive and allow clients to verify the server is still responsive.
1051+
1052+
Clients can optimize bandwidth usage by specifying which entity components they need populated using the componentsToInclude parameter.
1053+
This allows receiving only relevant data instead of complete entities.
1054+
1055+
The connection automatically recovers from temporary disconnections, resuming the stream where it left off. Unlike polling approaches,
1056+
this provides real-time updates with minimal latency and reduced server load.
10211057
10221058
Parameters
10231059
----------

src/anduril/entities/raw_client.py

Lines changed: 42 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,8 @@ def publish_entity(
118118
Parameters
119119
----------
120120
entity_id : typing.Optional[str]
121-
A Globally Unique Identifier (GUID) for your entity. If this field is empty, the Entity Manager API
122-
automatically generates an ID when it creates the entity.
121+
A Globally Unique Identifier (GUID) for your entity. This is a required
122+
field.
123123
124124
description : typing.Optional[str]
125125
A human-readable entity description that's helpful for debugging purposes and human
@@ -773,7 +773,25 @@ def stream_entities(
773773
request_options: typing.Optional[RequestOptions] = None,
774774
) -> typing.Iterator[HttpResponse[typing.Iterator[StreamEntitiesResponse]]]:
775775
"""
776-
Establishes a persistent connection to stream entity events as they occur.
776+
Establishes a server-sent events (SSE) connection that streams entity data in real-time.
777+
This is a one-way connection from server to client that follows the SSE protocol with text/event-stream content type.
778+
779+
This endpoint enables clients to maintain a real-time view of the common operational picture (COP)
780+
by first streaming all pre-existing entities that match filter criteria, then continuously delivering
781+
updates as entities are created, modified, or deleted.
782+
783+
The server first sends events with type PREEXISTING for all live entities matching the filter that existed before the stream was open,
784+
then streams CREATE events for newly created entities, UPDATE events when existing entities change, and DELETED events when entities are removed. The stream remains open
785+
indefinitely unless preExistingOnly is set to true.
786+
787+
Heartbeat messages can be configured to maintain connection health and detect disconnects by setting the heartbeatIntervalMS
788+
parameter. These heartbeats help keep the connection alive and allow clients to verify the server is still responsive.
789+
790+
Clients can optimize bandwidth usage by specifying which entity components they need populated using the componentsToInclude parameter.
791+
This allows receiving only relevant data instead of complete entities.
792+
793+
The connection automatically recovers from temporary disconnections, resuming the stream where it left off. Unlike polling approaches,
794+
this provides real-time updates with minimal latency and reduced server load.
777795
778796
Parameters
779797
----------
@@ -931,8 +949,8 @@ async def publish_entity(
931949
Parameters
932950
----------
933951
entity_id : typing.Optional[str]
934-
A Globally Unique Identifier (GUID) for your entity. If this field is empty, the Entity Manager API
935-
automatically generates an ID when it creates the entity.
952+
A Globally Unique Identifier (GUID) for your entity. This is a required
953+
field.
936954
937955
description : typing.Optional[str]
938956
A human-readable entity description that's helpful for debugging purposes and human
@@ -1586,7 +1604,25 @@ async def stream_entities(
15861604
request_options: typing.Optional[RequestOptions] = None,
15871605
) -> typing.AsyncIterator[AsyncHttpResponse[typing.AsyncIterator[StreamEntitiesResponse]]]:
15881606
"""
1589-
Establishes a persistent connection to stream entity events as they occur.
1607+
Establishes a server-sent events (SSE) connection that streams entity data in real-time.
1608+
This is a one-way connection from server to client that follows the SSE protocol with text/event-stream content type.
1609+
1610+
This endpoint enables clients to maintain a real-time view of the common operational picture (COP)
1611+
by first streaming all pre-existing entities that match filter criteria, then continuously delivering
1612+
updates as entities are created, modified, or deleted.
1613+
1614+
The server first sends events with type PREEXISTING for all live entities matching the filter that existed before the stream was open,
1615+
then streams CREATE events for newly created entities, UPDATE events when existing entities change, and DELETED events when entities are removed. The stream remains open
1616+
indefinitely unless preExistingOnly is set to true.
1617+
1618+
Heartbeat messages can be configured to maintain connection health and detect disconnects by setting the heartbeatIntervalMS
1619+
parameter. These heartbeats help keep the connection alive and allow clients to verify the server is still responsive.
1620+
1621+
Clients can optimize bandwidth usage by specifying which entity components they need populated using the componentsToInclude parameter.
1622+
This allows receiving only relevant data instead of complete entities.
1623+
1624+
The connection automatically recovers from temporary disconnections, resuming the stream where it left off. Unlike polling approaches,
1625+
this provides real-time updates with minimal latency and reduced server load.
15901626
15911627
Parameters
15921628
----------

0 commit comments

Comments
 (0)