sondera-harness 0.6.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- sondera/__init__.py +111 -0
- sondera/__main__.py +4 -0
- sondera/adk/__init__.py +3 -0
- sondera/adk/analyze.py +222 -0
- sondera/adk/plugin.py +387 -0
- sondera/cli.py +22 -0
- sondera/exceptions.py +167 -0
- sondera/harness/__init__.py +6 -0
- sondera/harness/abc.py +102 -0
- sondera/harness/cedar/__init__.py +0 -0
- sondera/harness/cedar/harness.py +363 -0
- sondera/harness/cedar/schema.py +225 -0
- sondera/harness/sondera/__init__.py +0 -0
- sondera/harness/sondera/_grpc.py +354 -0
- sondera/harness/sondera/harness.py +890 -0
- sondera/langgraph/__init__.py +15 -0
- sondera/langgraph/analyze.py +543 -0
- sondera/langgraph/exceptions.py +19 -0
- sondera/langgraph/graph.py +210 -0
- sondera/langgraph/middleware.py +454 -0
- sondera/proto/google/protobuf/any_pb2.py +37 -0
- sondera/proto/google/protobuf/any_pb2.pyi +14 -0
- sondera/proto/google/protobuf/any_pb2_grpc.py +24 -0
- sondera/proto/google/protobuf/duration_pb2.py +37 -0
- sondera/proto/google/protobuf/duration_pb2.pyi +14 -0
- sondera/proto/google/protobuf/duration_pb2_grpc.py +24 -0
- sondera/proto/google/protobuf/empty_pb2.py +37 -0
- sondera/proto/google/protobuf/empty_pb2.pyi +9 -0
- sondera/proto/google/protobuf/empty_pb2_grpc.py +24 -0
- sondera/proto/google/protobuf/struct_pb2.py +47 -0
- sondera/proto/google/protobuf/struct_pb2.pyi +49 -0
- sondera/proto/google/protobuf/struct_pb2_grpc.py +24 -0
- sondera/proto/google/protobuf/timestamp_pb2.py +37 -0
- sondera/proto/google/protobuf/timestamp_pb2.pyi +14 -0
- sondera/proto/google/protobuf/timestamp_pb2_grpc.py +24 -0
- sondera/proto/google/protobuf/wrappers_pb2.py +53 -0
- sondera/proto/google/protobuf/wrappers_pb2.pyi +59 -0
- sondera/proto/google/protobuf/wrappers_pb2_grpc.py +24 -0
- sondera/proto/sondera/__init__.py +0 -0
- sondera/proto/sondera/core/__init__.py +0 -0
- sondera/proto/sondera/core/v1/__init__.py +0 -0
- sondera/proto/sondera/core/v1/primitives_pb2.py +88 -0
- sondera/proto/sondera/core/v1/primitives_pb2.pyi +259 -0
- sondera/proto/sondera/core/v1/primitives_pb2_grpc.py +24 -0
- sondera/proto/sondera/harness/__init__.py +0 -0
- sondera/proto/sondera/harness/v1/__init__.py +0 -0
- sondera/proto/sondera/harness/v1/harness_pb2.py +81 -0
- sondera/proto/sondera/harness/v1/harness_pb2.pyi +192 -0
- sondera/proto/sondera/harness/v1/harness_pb2_grpc.py +498 -0
- sondera/py.typed +0 -0
- sondera/settings.py +20 -0
- sondera/strands/__init__.py +5 -0
- sondera/strands/analyze.py +244 -0
- sondera/strands/harness.py +333 -0
- sondera/tui/__init__.py +0 -0
- sondera/tui/app.py +309 -0
- sondera/tui/screens/__init__.py +5 -0
- sondera/tui/screens/adjudication.py +184 -0
- sondera/tui/screens/agent.py +158 -0
- sondera/tui/screens/trajectory.py +158 -0
- sondera/tui/widgets/__init__.py +23 -0
- sondera/tui/widgets/agent_card.py +94 -0
- sondera/tui/widgets/agent_list.py +73 -0
- sondera/tui/widgets/recent_adjudications.py +52 -0
- sondera/tui/widgets/recent_trajectories.py +54 -0
- sondera/tui/widgets/summary.py +57 -0
- sondera/tui/widgets/tool_card.py +33 -0
- sondera/tui/widgets/violation_panel.py +72 -0
- sondera/tui/widgets/violations_list.py +78 -0
- sondera/tui/widgets/violations_summary.py +104 -0
- sondera/types.py +346 -0
- sondera_harness-0.6.0.dist-info/METADATA +323 -0
- sondera_harness-0.6.0.dist-info/RECORD +77 -0
- sondera_harness-0.6.0.dist-info/WHEEL +5 -0
- sondera_harness-0.6.0.dist-info/entry_points.txt +2 -0
- sondera_harness-0.6.0.dist-info/licenses/LICENSE +21 -0
- sondera_harness-0.6.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,498 @@
|
|
|
1
|
+
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
|
2
|
+
"""Client and server classes corresponding to protobuf-defined services."""
|
|
3
|
+
import grpc
|
|
4
|
+
import warnings
|
|
5
|
+
|
|
6
|
+
from ...harness.v1 import harness_pb2 as sondera_dot_harness_dot_v1_dot_harness__pb2
|
|
7
|
+
|
|
8
|
+
GRPC_GENERATED_VERSION = '1.76.0'
|
|
9
|
+
GRPC_VERSION = grpc.__version__
|
|
10
|
+
_version_not_supported = False
|
|
11
|
+
|
|
12
|
+
try:
|
|
13
|
+
from grpc._utilities import first_version_is_lower
|
|
14
|
+
_version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
|
|
15
|
+
except ImportError:
|
|
16
|
+
_version_not_supported = True
|
|
17
|
+
|
|
18
|
+
if _version_not_supported:
|
|
19
|
+
raise RuntimeError(
|
|
20
|
+
f'The grpc package installed is at version {GRPC_VERSION},'
|
|
21
|
+
+ ' but the generated code in sondera/harness/v1/harness_pb2_grpc.py depends on'
|
|
22
|
+
+ f' grpcio>={GRPC_GENERATED_VERSION}.'
|
|
23
|
+
+ f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
|
|
24
|
+
+ f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class HarnessServiceStub(object):
|
|
29
|
+
"""Agent governance API for registration, trajectory management, and policy enforcement.
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
def __init__(self, channel):
|
|
33
|
+
"""Constructor.
|
|
34
|
+
|
|
35
|
+
Args:
|
|
36
|
+
channel: A grpc.Channel.
|
|
37
|
+
"""
|
|
38
|
+
self.RegisterAgent = channel.unary_unary(
|
|
39
|
+
'/sondera.harness.v1.HarnessService/RegisterAgent',
|
|
40
|
+
request_serializer=sondera_dot_harness_dot_v1_dot_harness__pb2.RegisterAgentRequest.SerializeToString,
|
|
41
|
+
response_deserializer=sondera_dot_harness_dot_v1_dot_harness__pb2.RegisterAgentResponse.FromString,
|
|
42
|
+
_registered_method=True)
|
|
43
|
+
self.GetAgent = channel.unary_unary(
|
|
44
|
+
'/sondera.harness.v1.HarnessService/GetAgent',
|
|
45
|
+
request_serializer=sondera_dot_harness_dot_v1_dot_harness__pb2.GetAgentRequest.SerializeToString,
|
|
46
|
+
response_deserializer=sondera_dot_harness_dot_v1_dot_harness__pb2.GetAgentResponse.FromString,
|
|
47
|
+
_registered_method=True)
|
|
48
|
+
self.CreateTrajectory = channel.unary_unary(
|
|
49
|
+
'/sondera.harness.v1.HarnessService/CreateTrajectory',
|
|
50
|
+
request_serializer=sondera_dot_harness_dot_v1_dot_harness__pb2.CreateTrajectoryRequest.SerializeToString,
|
|
51
|
+
response_deserializer=sondera_dot_harness_dot_v1_dot_harness__pb2.CreateTrajectoryResponse.FromString,
|
|
52
|
+
_registered_method=True)
|
|
53
|
+
self.AddTrajectoryStep = channel.unary_unary(
|
|
54
|
+
'/sondera.harness.v1.HarnessService/AddTrajectoryStep',
|
|
55
|
+
request_serializer=sondera_dot_harness_dot_v1_dot_harness__pb2.AddTrajectoryStepRequest.SerializeToString,
|
|
56
|
+
response_deserializer=sondera_dot_harness_dot_v1_dot_harness__pb2.AddTrajectoryStepResponse.FromString,
|
|
57
|
+
_registered_method=True)
|
|
58
|
+
self.UpdateTrajectoryStatus = channel.unary_unary(
|
|
59
|
+
'/sondera.harness.v1.HarnessService/UpdateTrajectoryStatus',
|
|
60
|
+
request_serializer=sondera_dot_harness_dot_v1_dot_harness__pb2.UpdateTrajectoryStatusRequest.SerializeToString,
|
|
61
|
+
response_deserializer=sondera_dot_harness_dot_v1_dot_harness__pb2.UpdateTrajectoryStatusResponse.FromString,
|
|
62
|
+
_registered_method=True)
|
|
63
|
+
self.GetTrajectory = channel.unary_unary(
|
|
64
|
+
'/sondera.harness.v1.HarnessService/GetTrajectory',
|
|
65
|
+
request_serializer=sondera_dot_harness_dot_v1_dot_harness__pb2.GetTrajectoryRequest.SerializeToString,
|
|
66
|
+
response_deserializer=sondera_dot_harness_dot_v1_dot_harness__pb2.GetTrajectoryResponse.FromString,
|
|
67
|
+
_registered_method=True)
|
|
68
|
+
self.ListTrajectories = channel.unary_unary(
|
|
69
|
+
'/sondera.harness.v1.HarnessService/ListTrajectories',
|
|
70
|
+
request_serializer=sondera_dot_harness_dot_v1_dot_harness__pb2.ListTrajectoriesRequest.SerializeToString,
|
|
71
|
+
response_deserializer=sondera_dot_harness_dot_v1_dot_harness__pb2.ListTrajectoriesResponse.FromString,
|
|
72
|
+
_registered_method=True)
|
|
73
|
+
self.ListAgents = channel.unary_unary(
|
|
74
|
+
'/sondera.harness.v1.HarnessService/ListAgents',
|
|
75
|
+
request_serializer=sondera_dot_harness_dot_v1_dot_harness__pb2.ListAgentsRequest.SerializeToString,
|
|
76
|
+
response_deserializer=sondera_dot_harness_dot_v1_dot_harness__pb2.ListAgentsResponse.FromString,
|
|
77
|
+
_registered_method=True)
|
|
78
|
+
self.AnalyzeTrajectories = channel.unary_unary(
|
|
79
|
+
'/sondera.harness.v1.HarnessService/AnalyzeTrajectories',
|
|
80
|
+
request_serializer=sondera_dot_harness_dot_v1_dot_harness__pb2.AnalyzeTrajectoriesRequest.SerializeToString,
|
|
81
|
+
response_deserializer=sondera_dot_harness_dot_v1_dot_harness__pb2.AnalyzeTrajectoriesResponse.FromString,
|
|
82
|
+
_registered_method=True)
|
|
83
|
+
self.ListAdjudications = channel.unary_unary(
|
|
84
|
+
'/sondera.harness.v1.HarnessService/ListAdjudications',
|
|
85
|
+
request_serializer=sondera_dot_harness_dot_v1_dot_harness__pb2.ListAdjudicationsRequest.SerializeToString,
|
|
86
|
+
response_deserializer=sondera_dot_harness_dot_v1_dot_harness__pb2.ListAdjudicationsResponse.FromString,
|
|
87
|
+
_registered_method=True)
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
class HarnessServiceServicer(object):
|
|
91
|
+
"""Agent governance API for registration, trajectory management, and policy enforcement.
|
|
92
|
+
"""
|
|
93
|
+
|
|
94
|
+
def RegisterAgent(self, request, context):
|
|
95
|
+
"""Registers a new AI agent. Name must be unique within provider namespace.
|
|
96
|
+
"""
|
|
97
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
98
|
+
context.set_details('Method not implemented!')
|
|
99
|
+
raise NotImplementedError('Method not implemented!')
|
|
100
|
+
|
|
101
|
+
def GetAgent(self, request, context):
|
|
102
|
+
"""Retrieves an agent by ID.
|
|
103
|
+
"""
|
|
104
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
105
|
+
context.set_details('Method not implemented!')
|
|
106
|
+
raise NotImplementedError('Method not implemented!')
|
|
107
|
+
|
|
108
|
+
def CreateTrajectory(self, request, context):
|
|
109
|
+
"""Creates a new conversation trajectory for an agent.
|
|
110
|
+
"""
|
|
111
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
112
|
+
context.set_details('Method not implemented!')
|
|
113
|
+
raise NotImplementedError('Method not implemented!')
|
|
114
|
+
|
|
115
|
+
def AddTrajectoryStep(self, request, context):
|
|
116
|
+
"""Adds a step to a trajectory with real-time adjudication.
|
|
117
|
+
Runs guardrails, evaluates policies, and returns the decision.
|
|
118
|
+
"""
|
|
119
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
120
|
+
context.set_details('Method not implemented!')
|
|
121
|
+
raise NotImplementedError('Method not implemented!')
|
|
122
|
+
|
|
123
|
+
def UpdateTrajectoryStatus(self, request, context):
|
|
124
|
+
"""Updates trajectory status (running, completed, suspended, failed).
|
|
125
|
+
"""
|
|
126
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
127
|
+
context.set_details('Method not implemented!')
|
|
128
|
+
raise NotImplementedError('Method not implemented!')
|
|
129
|
+
|
|
130
|
+
def GetTrajectory(self, request, context):
|
|
131
|
+
"""Retrieves a trajectory with its adjudicated steps.
|
|
132
|
+
"""
|
|
133
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
134
|
+
context.set_details('Method not implemented!')
|
|
135
|
+
raise NotImplementedError('Method not implemented!')
|
|
136
|
+
|
|
137
|
+
def ListTrajectories(self, request, context):
|
|
138
|
+
"""Lists trajectories for an agent with pagination and status filtering.
|
|
139
|
+
"""
|
|
140
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
141
|
+
context.set_details('Method not implemented!')
|
|
142
|
+
raise NotImplementedError('Method not implemented!')
|
|
143
|
+
|
|
144
|
+
def ListAgents(self, request, context):
|
|
145
|
+
"""Lists registered agents with pagination and optional provider filtering.
|
|
146
|
+
"""
|
|
147
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
148
|
+
context.set_details('Method not implemented!')
|
|
149
|
+
raise NotImplementedError('Method not implemented!')
|
|
150
|
+
|
|
151
|
+
def AnalyzeTrajectories(self, request, context):
|
|
152
|
+
"""Computes analytics for trajectories. Specify desired analytics or omit for all.
|
|
153
|
+
"""
|
|
154
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
155
|
+
context.set_details('Method not implemented!')
|
|
156
|
+
raise NotImplementedError('Method not implemented!')
|
|
157
|
+
|
|
158
|
+
def ListAdjudications(self, request, context):
|
|
159
|
+
"""Lists adjudicated steps with optional agent filtering and pagination.
|
|
160
|
+
"""
|
|
161
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
162
|
+
context.set_details('Method not implemented!')
|
|
163
|
+
raise NotImplementedError('Method not implemented!')
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
def add_HarnessServiceServicer_to_server(servicer, server):
|
|
167
|
+
rpc_method_handlers = {
|
|
168
|
+
'RegisterAgent': grpc.unary_unary_rpc_method_handler(
|
|
169
|
+
servicer.RegisterAgent,
|
|
170
|
+
request_deserializer=sondera_dot_harness_dot_v1_dot_harness__pb2.RegisterAgentRequest.FromString,
|
|
171
|
+
response_serializer=sondera_dot_harness_dot_v1_dot_harness__pb2.RegisterAgentResponse.SerializeToString,
|
|
172
|
+
),
|
|
173
|
+
'GetAgent': grpc.unary_unary_rpc_method_handler(
|
|
174
|
+
servicer.GetAgent,
|
|
175
|
+
request_deserializer=sondera_dot_harness_dot_v1_dot_harness__pb2.GetAgentRequest.FromString,
|
|
176
|
+
response_serializer=sondera_dot_harness_dot_v1_dot_harness__pb2.GetAgentResponse.SerializeToString,
|
|
177
|
+
),
|
|
178
|
+
'CreateTrajectory': grpc.unary_unary_rpc_method_handler(
|
|
179
|
+
servicer.CreateTrajectory,
|
|
180
|
+
request_deserializer=sondera_dot_harness_dot_v1_dot_harness__pb2.CreateTrajectoryRequest.FromString,
|
|
181
|
+
response_serializer=sondera_dot_harness_dot_v1_dot_harness__pb2.CreateTrajectoryResponse.SerializeToString,
|
|
182
|
+
),
|
|
183
|
+
'AddTrajectoryStep': grpc.unary_unary_rpc_method_handler(
|
|
184
|
+
servicer.AddTrajectoryStep,
|
|
185
|
+
request_deserializer=sondera_dot_harness_dot_v1_dot_harness__pb2.AddTrajectoryStepRequest.FromString,
|
|
186
|
+
response_serializer=sondera_dot_harness_dot_v1_dot_harness__pb2.AddTrajectoryStepResponse.SerializeToString,
|
|
187
|
+
),
|
|
188
|
+
'UpdateTrajectoryStatus': grpc.unary_unary_rpc_method_handler(
|
|
189
|
+
servicer.UpdateTrajectoryStatus,
|
|
190
|
+
request_deserializer=sondera_dot_harness_dot_v1_dot_harness__pb2.UpdateTrajectoryStatusRequest.FromString,
|
|
191
|
+
response_serializer=sondera_dot_harness_dot_v1_dot_harness__pb2.UpdateTrajectoryStatusResponse.SerializeToString,
|
|
192
|
+
),
|
|
193
|
+
'GetTrajectory': grpc.unary_unary_rpc_method_handler(
|
|
194
|
+
servicer.GetTrajectory,
|
|
195
|
+
request_deserializer=sondera_dot_harness_dot_v1_dot_harness__pb2.GetTrajectoryRequest.FromString,
|
|
196
|
+
response_serializer=sondera_dot_harness_dot_v1_dot_harness__pb2.GetTrajectoryResponse.SerializeToString,
|
|
197
|
+
),
|
|
198
|
+
'ListTrajectories': grpc.unary_unary_rpc_method_handler(
|
|
199
|
+
servicer.ListTrajectories,
|
|
200
|
+
request_deserializer=sondera_dot_harness_dot_v1_dot_harness__pb2.ListTrajectoriesRequest.FromString,
|
|
201
|
+
response_serializer=sondera_dot_harness_dot_v1_dot_harness__pb2.ListTrajectoriesResponse.SerializeToString,
|
|
202
|
+
),
|
|
203
|
+
'ListAgents': grpc.unary_unary_rpc_method_handler(
|
|
204
|
+
servicer.ListAgents,
|
|
205
|
+
request_deserializer=sondera_dot_harness_dot_v1_dot_harness__pb2.ListAgentsRequest.FromString,
|
|
206
|
+
response_serializer=sondera_dot_harness_dot_v1_dot_harness__pb2.ListAgentsResponse.SerializeToString,
|
|
207
|
+
),
|
|
208
|
+
'AnalyzeTrajectories': grpc.unary_unary_rpc_method_handler(
|
|
209
|
+
servicer.AnalyzeTrajectories,
|
|
210
|
+
request_deserializer=sondera_dot_harness_dot_v1_dot_harness__pb2.AnalyzeTrajectoriesRequest.FromString,
|
|
211
|
+
response_serializer=sondera_dot_harness_dot_v1_dot_harness__pb2.AnalyzeTrajectoriesResponse.SerializeToString,
|
|
212
|
+
),
|
|
213
|
+
'ListAdjudications': grpc.unary_unary_rpc_method_handler(
|
|
214
|
+
servicer.ListAdjudications,
|
|
215
|
+
request_deserializer=sondera_dot_harness_dot_v1_dot_harness__pb2.ListAdjudicationsRequest.FromString,
|
|
216
|
+
response_serializer=sondera_dot_harness_dot_v1_dot_harness__pb2.ListAdjudicationsResponse.SerializeToString,
|
|
217
|
+
),
|
|
218
|
+
}
|
|
219
|
+
generic_handler = grpc.method_handlers_generic_handler(
|
|
220
|
+
'sondera.harness.v1.HarnessService', rpc_method_handlers)
|
|
221
|
+
server.add_generic_rpc_handlers((generic_handler,))
|
|
222
|
+
server.add_registered_method_handlers('sondera.harness.v1.HarnessService', rpc_method_handlers)
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
# This class is part of an EXPERIMENTAL API.
|
|
226
|
+
class HarnessService(object):
|
|
227
|
+
"""Agent governance API for registration, trajectory management, and policy enforcement.
|
|
228
|
+
"""
|
|
229
|
+
|
|
230
|
+
@staticmethod
|
|
231
|
+
def RegisterAgent(request,
|
|
232
|
+
target,
|
|
233
|
+
options=(),
|
|
234
|
+
channel_credentials=None,
|
|
235
|
+
call_credentials=None,
|
|
236
|
+
insecure=False,
|
|
237
|
+
compression=None,
|
|
238
|
+
wait_for_ready=None,
|
|
239
|
+
timeout=None,
|
|
240
|
+
metadata=None):
|
|
241
|
+
return grpc.experimental.unary_unary(
|
|
242
|
+
request,
|
|
243
|
+
target,
|
|
244
|
+
'/sondera.harness.v1.HarnessService/RegisterAgent',
|
|
245
|
+
sondera_dot_harness_dot_v1_dot_harness__pb2.RegisterAgentRequest.SerializeToString,
|
|
246
|
+
sondera_dot_harness_dot_v1_dot_harness__pb2.RegisterAgentResponse.FromString,
|
|
247
|
+
options,
|
|
248
|
+
channel_credentials,
|
|
249
|
+
insecure,
|
|
250
|
+
call_credentials,
|
|
251
|
+
compression,
|
|
252
|
+
wait_for_ready,
|
|
253
|
+
timeout,
|
|
254
|
+
metadata,
|
|
255
|
+
_registered_method=True)
|
|
256
|
+
|
|
257
|
+
@staticmethod
|
|
258
|
+
def GetAgent(request,
|
|
259
|
+
target,
|
|
260
|
+
options=(),
|
|
261
|
+
channel_credentials=None,
|
|
262
|
+
call_credentials=None,
|
|
263
|
+
insecure=False,
|
|
264
|
+
compression=None,
|
|
265
|
+
wait_for_ready=None,
|
|
266
|
+
timeout=None,
|
|
267
|
+
metadata=None):
|
|
268
|
+
return grpc.experimental.unary_unary(
|
|
269
|
+
request,
|
|
270
|
+
target,
|
|
271
|
+
'/sondera.harness.v1.HarnessService/GetAgent',
|
|
272
|
+
sondera_dot_harness_dot_v1_dot_harness__pb2.GetAgentRequest.SerializeToString,
|
|
273
|
+
sondera_dot_harness_dot_v1_dot_harness__pb2.GetAgentResponse.FromString,
|
|
274
|
+
options,
|
|
275
|
+
channel_credentials,
|
|
276
|
+
insecure,
|
|
277
|
+
call_credentials,
|
|
278
|
+
compression,
|
|
279
|
+
wait_for_ready,
|
|
280
|
+
timeout,
|
|
281
|
+
metadata,
|
|
282
|
+
_registered_method=True)
|
|
283
|
+
|
|
284
|
+
@staticmethod
|
|
285
|
+
def CreateTrajectory(request,
|
|
286
|
+
target,
|
|
287
|
+
options=(),
|
|
288
|
+
channel_credentials=None,
|
|
289
|
+
call_credentials=None,
|
|
290
|
+
insecure=False,
|
|
291
|
+
compression=None,
|
|
292
|
+
wait_for_ready=None,
|
|
293
|
+
timeout=None,
|
|
294
|
+
metadata=None):
|
|
295
|
+
return grpc.experimental.unary_unary(
|
|
296
|
+
request,
|
|
297
|
+
target,
|
|
298
|
+
'/sondera.harness.v1.HarnessService/CreateTrajectory',
|
|
299
|
+
sondera_dot_harness_dot_v1_dot_harness__pb2.CreateTrajectoryRequest.SerializeToString,
|
|
300
|
+
sondera_dot_harness_dot_v1_dot_harness__pb2.CreateTrajectoryResponse.FromString,
|
|
301
|
+
options,
|
|
302
|
+
channel_credentials,
|
|
303
|
+
insecure,
|
|
304
|
+
call_credentials,
|
|
305
|
+
compression,
|
|
306
|
+
wait_for_ready,
|
|
307
|
+
timeout,
|
|
308
|
+
metadata,
|
|
309
|
+
_registered_method=True)
|
|
310
|
+
|
|
311
|
+
@staticmethod
|
|
312
|
+
def AddTrajectoryStep(request,
|
|
313
|
+
target,
|
|
314
|
+
options=(),
|
|
315
|
+
channel_credentials=None,
|
|
316
|
+
call_credentials=None,
|
|
317
|
+
insecure=False,
|
|
318
|
+
compression=None,
|
|
319
|
+
wait_for_ready=None,
|
|
320
|
+
timeout=None,
|
|
321
|
+
metadata=None):
|
|
322
|
+
return grpc.experimental.unary_unary(
|
|
323
|
+
request,
|
|
324
|
+
target,
|
|
325
|
+
'/sondera.harness.v1.HarnessService/AddTrajectoryStep',
|
|
326
|
+
sondera_dot_harness_dot_v1_dot_harness__pb2.AddTrajectoryStepRequest.SerializeToString,
|
|
327
|
+
sondera_dot_harness_dot_v1_dot_harness__pb2.AddTrajectoryStepResponse.FromString,
|
|
328
|
+
options,
|
|
329
|
+
channel_credentials,
|
|
330
|
+
insecure,
|
|
331
|
+
call_credentials,
|
|
332
|
+
compression,
|
|
333
|
+
wait_for_ready,
|
|
334
|
+
timeout,
|
|
335
|
+
metadata,
|
|
336
|
+
_registered_method=True)
|
|
337
|
+
|
|
338
|
+
@staticmethod
|
|
339
|
+
def UpdateTrajectoryStatus(request,
|
|
340
|
+
target,
|
|
341
|
+
options=(),
|
|
342
|
+
channel_credentials=None,
|
|
343
|
+
call_credentials=None,
|
|
344
|
+
insecure=False,
|
|
345
|
+
compression=None,
|
|
346
|
+
wait_for_ready=None,
|
|
347
|
+
timeout=None,
|
|
348
|
+
metadata=None):
|
|
349
|
+
return grpc.experimental.unary_unary(
|
|
350
|
+
request,
|
|
351
|
+
target,
|
|
352
|
+
'/sondera.harness.v1.HarnessService/UpdateTrajectoryStatus',
|
|
353
|
+
sondera_dot_harness_dot_v1_dot_harness__pb2.UpdateTrajectoryStatusRequest.SerializeToString,
|
|
354
|
+
sondera_dot_harness_dot_v1_dot_harness__pb2.UpdateTrajectoryStatusResponse.FromString,
|
|
355
|
+
options,
|
|
356
|
+
channel_credentials,
|
|
357
|
+
insecure,
|
|
358
|
+
call_credentials,
|
|
359
|
+
compression,
|
|
360
|
+
wait_for_ready,
|
|
361
|
+
timeout,
|
|
362
|
+
metadata,
|
|
363
|
+
_registered_method=True)
|
|
364
|
+
|
|
365
|
+
@staticmethod
|
|
366
|
+
def GetTrajectory(request,
|
|
367
|
+
target,
|
|
368
|
+
options=(),
|
|
369
|
+
channel_credentials=None,
|
|
370
|
+
call_credentials=None,
|
|
371
|
+
insecure=False,
|
|
372
|
+
compression=None,
|
|
373
|
+
wait_for_ready=None,
|
|
374
|
+
timeout=None,
|
|
375
|
+
metadata=None):
|
|
376
|
+
return grpc.experimental.unary_unary(
|
|
377
|
+
request,
|
|
378
|
+
target,
|
|
379
|
+
'/sondera.harness.v1.HarnessService/GetTrajectory',
|
|
380
|
+
sondera_dot_harness_dot_v1_dot_harness__pb2.GetTrajectoryRequest.SerializeToString,
|
|
381
|
+
sondera_dot_harness_dot_v1_dot_harness__pb2.GetTrajectoryResponse.FromString,
|
|
382
|
+
options,
|
|
383
|
+
channel_credentials,
|
|
384
|
+
insecure,
|
|
385
|
+
call_credentials,
|
|
386
|
+
compression,
|
|
387
|
+
wait_for_ready,
|
|
388
|
+
timeout,
|
|
389
|
+
metadata,
|
|
390
|
+
_registered_method=True)
|
|
391
|
+
|
|
392
|
+
@staticmethod
|
|
393
|
+
def ListTrajectories(request,
|
|
394
|
+
target,
|
|
395
|
+
options=(),
|
|
396
|
+
channel_credentials=None,
|
|
397
|
+
call_credentials=None,
|
|
398
|
+
insecure=False,
|
|
399
|
+
compression=None,
|
|
400
|
+
wait_for_ready=None,
|
|
401
|
+
timeout=None,
|
|
402
|
+
metadata=None):
|
|
403
|
+
return grpc.experimental.unary_unary(
|
|
404
|
+
request,
|
|
405
|
+
target,
|
|
406
|
+
'/sondera.harness.v1.HarnessService/ListTrajectories',
|
|
407
|
+
sondera_dot_harness_dot_v1_dot_harness__pb2.ListTrajectoriesRequest.SerializeToString,
|
|
408
|
+
sondera_dot_harness_dot_v1_dot_harness__pb2.ListTrajectoriesResponse.FromString,
|
|
409
|
+
options,
|
|
410
|
+
channel_credentials,
|
|
411
|
+
insecure,
|
|
412
|
+
call_credentials,
|
|
413
|
+
compression,
|
|
414
|
+
wait_for_ready,
|
|
415
|
+
timeout,
|
|
416
|
+
metadata,
|
|
417
|
+
_registered_method=True)
|
|
418
|
+
|
|
419
|
+
@staticmethod
|
|
420
|
+
def ListAgents(request,
|
|
421
|
+
target,
|
|
422
|
+
options=(),
|
|
423
|
+
channel_credentials=None,
|
|
424
|
+
call_credentials=None,
|
|
425
|
+
insecure=False,
|
|
426
|
+
compression=None,
|
|
427
|
+
wait_for_ready=None,
|
|
428
|
+
timeout=None,
|
|
429
|
+
metadata=None):
|
|
430
|
+
return grpc.experimental.unary_unary(
|
|
431
|
+
request,
|
|
432
|
+
target,
|
|
433
|
+
'/sondera.harness.v1.HarnessService/ListAgents',
|
|
434
|
+
sondera_dot_harness_dot_v1_dot_harness__pb2.ListAgentsRequest.SerializeToString,
|
|
435
|
+
sondera_dot_harness_dot_v1_dot_harness__pb2.ListAgentsResponse.FromString,
|
|
436
|
+
options,
|
|
437
|
+
channel_credentials,
|
|
438
|
+
insecure,
|
|
439
|
+
call_credentials,
|
|
440
|
+
compression,
|
|
441
|
+
wait_for_ready,
|
|
442
|
+
timeout,
|
|
443
|
+
metadata,
|
|
444
|
+
_registered_method=True)
|
|
445
|
+
|
|
446
|
+
@staticmethod
|
|
447
|
+
def AnalyzeTrajectories(request,
|
|
448
|
+
target,
|
|
449
|
+
options=(),
|
|
450
|
+
channel_credentials=None,
|
|
451
|
+
call_credentials=None,
|
|
452
|
+
insecure=False,
|
|
453
|
+
compression=None,
|
|
454
|
+
wait_for_ready=None,
|
|
455
|
+
timeout=None,
|
|
456
|
+
metadata=None):
|
|
457
|
+
return grpc.experimental.unary_unary(
|
|
458
|
+
request,
|
|
459
|
+
target,
|
|
460
|
+
'/sondera.harness.v1.HarnessService/AnalyzeTrajectories',
|
|
461
|
+
sondera_dot_harness_dot_v1_dot_harness__pb2.AnalyzeTrajectoriesRequest.SerializeToString,
|
|
462
|
+
sondera_dot_harness_dot_v1_dot_harness__pb2.AnalyzeTrajectoriesResponse.FromString,
|
|
463
|
+
options,
|
|
464
|
+
channel_credentials,
|
|
465
|
+
insecure,
|
|
466
|
+
call_credentials,
|
|
467
|
+
compression,
|
|
468
|
+
wait_for_ready,
|
|
469
|
+
timeout,
|
|
470
|
+
metadata,
|
|
471
|
+
_registered_method=True)
|
|
472
|
+
|
|
473
|
+
@staticmethod
|
|
474
|
+
def ListAdjudications(request,
|
|
475
|
+
target,
|
|
476
|
+
options=(),
|
|
477
|
+
channel_credentials=None,
|
|
478
|
+
call_credentials=None,
|
|
479
|
+
insecure=False,
|
|
480
|
+
compression=None,
|
|
481
|
+
wait_for_ready=None,
|
|
482
|
+
timeout=None,
|
|
483
|
+
metadata=None):
|
|
484
|
+
return grpc.experimental.unary_unary(
|
|
485
|
+
request,
|
|
486
|
+
target,
|
|
487
|
+
'/sondera.harness.v1.HarnessService/ListAdjudications',
|
|
488
|
+
sondera_dot_harness_dot_v1_dot_harness__pb2.ListAdjudicationsRequest.SerializeToString,
|
|
489
|
+
sondera_dot_harness_dot_v1_dot_harness__pb2.ListAdjudicationsResponse.FromString,
|
|
490
|
+
options,
|
|
491
|
+
channel_credentials,
|
|
492
|
+
insecure,
|
|
493
|
+
call_credentials,
|
|
494
|
+
compression,
|
|
495
|
+
wait_for_ready,
|
|
496
|
+
timeout,
|
|
497
|
+
metadata,
|
|
498
|
+
_registered_method=True)
|
sondera/py.typed
ADDED
|
File without changes
|
sondera/settings.py
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from pathlib import Path
|
|
2
|
+
|
|
3
|
+
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Settings(BaseSettings):
|
|
7
|
+
sondera_harness_endpoint: str = "harness.sondera.ai"
|
|
8
|
+
sondera_api_token: str | None = None
|
|
9
|
+
sondera_harness_client_secure: bool = True
|
|
10
|
+
|
|
11
|
+
model_config = SettingsConfigDict(
|
|
12
|
+
env_file=(
|
|
13
|
+
Path("~/.sondera/env").expanduser(),
|
|
14
|
+
".env",
|
|
15
|
+
),
|
|
16
|
+
extra="ignore",
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
SETTINGS = Settings()
|