viam-sdk 0.57.0__py3-none-manylinux2014_aarch64.whl → 0.58.0__py3-none-manylinux2014_aarch64.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.

Potentially problematic release.


This version of viam-sdk might be problematic. Click here for more details.

viam/app/app_client.py CHANGED
@@ -540,22 +540,19 @@ class AppClient:
540
540
  For more information, see `Fleet Management API <https://docs.viam.com/dev/reference/apis/fleet/>`_.
541
541
  """
542
542
 
543
- def __init__(self, channel: Channel, metadata: Mapping[str, str], location_id: Optional[str] = None):
543
+ def __init__(self, channel: Channel, metadata: Mapping[str, str]):
544
544
  """Create an `AppClient` that maintains a connection to app.
545
545
 
546
546
  Args:
547
547
  channel (grpclib.client.Channel): connection to app.
548
548
  metadata (Mapping[str, str]): Required authorization token to send requests to app.
549
- location_id (Optional[str]): Default location ID.
550
549
  """
551
550
  self._metadata = metadata
552
551
  self._app_client = AppServiceStub(channel)
553
- self._location_id = location_id
554
552
  self._channel = channel
555
553
 
556
554
  _app_client: AppServiceStub
557
555
  _metadata: Mapping[str, str]
558
- _location_id: Optional[str]
559
556
  _channel: Channel
560
557
  _organization_id: Optional[str] = None
561
558
 
@@ -1016,7 +1013,7 @@ class AppClient:
1016
1013
 
1017
1014
  For more information, see `Fleet Management API <https://docs.viam.com/dev/reference/apis/fleet/#getlocation>`_.
1018
1015
  """
1019
- request = GetLocationRequest(location_id=location_id if location_id else self._location_id if self._location_id else "")
1016
+ request = GetLocationRequest(location_id=location_id if location_id else "")
1020
1017
  response: GetLocationResponse = await self._app_client.GetLocation(request, metadata=self._metadata)
1021
1018
  return response.location
1022
1019
 
@@ -1155,7 +1152,7 @@ class AppClient:
1155
1152
 
1156
1153
  For more information, see `Fleet Management API <https://docs.viam.com/dev/reference/apis/fleet/#locationauth>`_.
1157
1154
  """
1158
- request = LocationAuthRequest(location_id=location_id if location_id else self._location_id if self._location_id else "")
1155
+ request = LocationAuthRequest(location_id=location_id if location_id else "")
1159
1156
  response: LocationAuthResponse = await self._app_client.LocationAuth(request, metadata=self._metadata)
1160
1157
  return response.auth
1161
1158
 
@@ -1179,7 +1176,7 @@ class AppClient:
1179
1176
 
1180
1177
  For more information, see `Fleet Management API <https://docs.viam.com/dev/reference/apis/fleet/#createlocationsecret>`_.
1181
1178
  """
1182
- request = CreateLocationSecretRequest(location_id=location_id if location_id else self._location_id if self._location_id else "")
1179
+ request = CreateLocationSecretRequest(location_id=location_id if location_id else "")
1183
1180
  response: CreateLocationSecretResponse = await self._app_client.CreateLocationSecret(request, metadata=self._metadata)
1184
1181
  return response.auth
1185
1182
 
@@ -1203,9 +1200,7 @@ class AppClient:
1203
1200
 
1204
1201
  For more information, see `Fleet Management API <https://docs.viam.com/dev/reference/apis/fleet/#deletelocationsecret>`_.
1205
1202
  """
1206
- request = DeleteLocationSecretRequest(
1207
- location_id=location_id if location_id else self._location_id if self._location_id else "", secret_id=secret_id
1208
- )
1203
+ request = DeleteLocationSecretRequest(location_id=location_id if location_id else "", secret_id=secret_id)
1209
1204
  await self._app_client.DeleteLocationSecret(request, metadata=self._metadata)
1210
1205
 
1211
1206
  async def get_robot(self, robot_id: str) -> Robot:
@@ -1275,13 +1270,15 @@ class AppClient:
1275
1270
  return [RobotPart.from_proto(robot_part=part) for part in response.parts]
1276
1271
 
1277
1272
  async def get_robot_part(self, robot_part_id: str, dest: Optional[str] = None, indent: int = 4) -> RobotPart:
1278
- """Get a machine part.
1273
+ """Get a machine part including its part config, part address, and other information.
1279
1274
 
1280
1275
  ::
1281
1276
 
1282
1277
  my_robot_part = await cloud.get_robot_part(
1283
1278
  robot_part_id="abc12345-1a23-1234-ab12-a22a22a2aa22"
1284
1279
  )
1280
+ # Get the part's config
1281
+ machine_part_config = my_robot_part.robot_config
1285
1282
  # Get the part's address
1286
1283
  address = my_robot_part.fqdn
1287
1284
  # Check if machine is live (last access time less than 10 sec ago)
@@ -1653,7 +1650,7 @@ class AppClient:
1653
1650
 
1654
1651
  For more information, see `Fleet Management API <https://docs.viam.com/dev/reference/apis/fleet/#listrobots>`_.
1655
1652
  """
1656
- request = ListRobotsRequest(location_id=location_id if location_id else self._location_id if self._location_id else "")
1653
+ request = ListRobotsRequest(location_id=location_id if location_id else "")
1657
1654
  response: ListRobotsResponse = await self._app_client.ListRobots(request, metadata=self._metadata)
1658
1655
  return list(response.robots)
1659
1656
 
@@ -1677,7 +1674,7 @@ class AppClient:
1677
1674
 
1678
1675
  For more information, see `Fleet Management API <https://docs.viam.com/dev/reference/apis/fleet/#newrobot>`_.
1679
1676
  """
1680
- request = NewRobotRequest(location=location_id if location_id else self._location_id if self._location_id else "", name=name)
1677
+ request = NewRobotRequest(location=location_id if location_id else "", name=name)
1681
1678
  response: NewRobotResponse = await self._app_client.NewRobot(request, metadata=self._metadata)
1682
1679
  return response.id
1683
1680
 
@@ -1707,9 +1704,7 @@ class AppClient:
1707
1704
 
1708
1705
  For more information, see `Fleet Management API <https://docs.viam.com/dev/reference/apis/fleet/#updaterobot>`_.
1709
1706
  """
1710
- request = UpdateRobotRequest(
1711
- id=robot_id, name=name, location=location_id if location_id else self._location_id if self._location_id else ""
1712
- )
1707
+ request = UpdateRobotRequest(id=robot_id, name=name, location=location_id if location_id else "")
1713
1708
  response: UpdateRobotResponse = await self._app_client.UpdateRobot(request, metadata=self._metadata)
1714
1709
  return response.robot
1715
1710
 
@@ -143,23 +143,33 @@ class BillingClient:
143
143
  return await self._billing_client.GetOrgBillingInformation(request, metadata=self._metadata, timeout=timeout)
144
144
 
145
145
  async def create_invoice_and_charge_immediately(
146
- self, org_id_to_charge: str, amount: float, description: Optional[str] = None, org_id_for_branding: Optional[str] = None
146
+ self,
147
+ org_id_to_charge: str,
148
+ amount: float,
149
+ description: Optional[str] = None,
150
+ org_id_for_branding: Optional[str] = None,
151
+ disable_email: bool = False,
147
152
  ) -> None:
148
153
  """Create a flat fee invoice and charge the organization on the spot. The caller must be an owner of the organization being charged.
149
154
  This function blocks until payment is confirmed, but will time out after 2 minutes if there is no confirmation.
150
155
 
151
156
  ::
152
157
 
153
- await billing_client.create_invoice_and_charge_immediately("<ORG-ID-TO-CHARGE>", <AMOUNT>, <DESCRIPTION>, "<ORG-ID-FOR-BRANDING>")
158
+ await billing_client.create_invoice_and_charge_immediately("<ORG-ID-TO-CHARGE>", <AMOUNT>, <DESCRIPTION>, "<ORG-ID-FOR-BRANDING>", False)
154
159
 
155
160
  Args:
156
161
  org_id_to_charge (str): the organization to charge
157
162
  amount (float): the amount to charge in dollars
158
163
  description (str): a short description of the charge to display on the invoice PDF (must be 100 characters or less)
159
164
  org_id_for_branding (str): the organization whose branding to use in the invoice confirmation email
165
+ disable_email (bool): whether or not to disable sending an email confirmation for the invoice
160
166
  """
161
167
  request = CreateInvoiceAndChargeImmediatelyRequest(
162
- org_id_to_charge=org_id_to_charge, amount=amount, description=description, org_id_for_branding=org_id_for_branding
168
+ org_id_to_charge=org_id_to_charge,
169
+ amount=amount,
170
+ description=description,
171
+ org_id_for_branding=org_id_for_branding,
172
+ disable_email=disable_email,
163
173
  )
164
174
  _: CreateInvoiceAndChargeImmediatelyResponse = await self._billing_client.CreateInvoiceAndChargeImmediately(
165
175
  request, metadata=self._metadata
viam/app/viam_client.py CHANGED
@@ -85,9 +85,6 @@ class ViamClient:
85
85
 
86
86
  self = cls()
87
87
  self._dial_options = dial_options
88
- self._location_id = None
89
- if dial_options.credentials.type == "robot-location-secret":
90
- self._location_id = dial_options.auth_entity.split(".")[1]
91
88
  if app_url is None:
92
89
  app_url = "app.viam.com"
93
90
  self._channel = await _dial_app(app_url)
@@ -98,7 +95,6 @@ class ViamClient:
98
95
  _channel: Channel
99
96
  _metadata: Mapping[str, str]
100
97
  _closed: bool = False
101
- _location_id: Optional[str]
102
98
  _dial_options: DialOptions
103
99
 
104
100
  @property
@@ -140,7 +136,7 @@ class ViamClient:
140
136
  # Instantiate an AppClient called "fleet" to run fleet management API methods on
141
137
  fleet = viam_client.app_client
142
138
  """
143
- return AppClient(self._channel, self._metadata, self._location_id)
139
+ return AppClient(self._channel, self._metadata)
144
140
 
145
141
  @property
146
142
  def ml_training_client(self) -> MLTrainingClient:
@@ -7,7 +7,7 @@ from google.protobuf.internal import builder as _builder
7
7
  _runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 5, 29, 2, '', 'app/v1/billing.proto')
8
8
  _sym_db = _symbol_database.Default()
9
9
  from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
10
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14app/v1/billing.proto\x12\x0bviam.app.v1\x1a\x1fgoogle/protobuf/timestamp.proto"\x8e\x02\n\x0eInvoiceSummary\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12=\n\x0cinvoice_date\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0binvoiceDate\x12%\n\x0einvoice_amount\x18\x03 \x01(\x01R\rinvoiceAmount\x12\x16\n\x06status\x18\x04 \x01(\tR\x06status\x125\n\x08due_date\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\x07dueDate\x127\n\tpaid_date\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\x08paidDate"S\n\x11PaymentMethodCard\x12\x14\n\x05brand\x18\x01 \x01(\tR\x05brand\x12(\n\x10last_four_digits\x18\x02 \x01(\tR\x0elastFourDigits"v\n\x10VerificationInfo\x12!\n\x0carrival_date\x18\x01 \x01(\x03R\x0barrivalDate\x12?\n\x1chosted_verification_page_url\x18\x02 \x01(\tR\x19hostedVerificationPageUrl"\xb0\x02\n\x1aPaymentMethodUSBankAccount\x12\x1b\n\tbank_name\x18\x01 \x01(\tR\x08bankName\x12D\n\x1flast_four_digits_account_number\x18\x02 \x01(\tR\x1blastFourDigitsAccountNumber\x12%\n\x0erouting_number\x18\x03 \x01(\tR\rroutingNumber\x12!\n\x0caccount_type\x18\x04 \x01(\tR\x0baccountType\x12O\n\x11verification_info\x18\x05 \x01(\x0b2\x1d.viam.app.v1.VerificationInfoH\x00R\x10verificationInfo\x88\x01\x01B\x14\n\x12_verification_info"4\n\x1bGetCurrentMonthUsageRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"`\n\tUsageCost\x12?\n\rresource_type\x18\x01 \x01(\x0e2\x1a.viam.app.v1.UsageCostTypeR\x0cresourceType\x12\x12\n\x04cost\x18\x02 \x01(\x01R\x04cost"\xc6\x01\n\x1aResourceUsageCostsBySource\x128\n\x0bsource_type\x18\x01 \x01(\x0e2\x17.viam.app.v1.SourceTypeR\nsourceType\x12Q\n\x14resource_usage_costs\x18\x02 \x01(\x0b2\x1f.viam.app.v1.ResourceUsageCostsR\x12resourceUsageCosts\x12\x1b\n\ttier_name\x18\x03 \x01(\tR\x08tierName"\xcf\x01\n\x12ResourceUsageCosts\x127\n\x0busage_costs\x18\x01 \x03(\x0b2\x16.viam.app.v1.UsageCostR\nusageCosts\x12\x1a\n\x08discount\x18\x02 \x01(\x01R\x08discount\x12.\n\x13total_with_discount\x18\x03 \x01(\x01R\x11totalWithDiscount\x124\n\x16total_without_discount\x18\x04 \x01(\x01R\x14totalWithoutDiscount"\xcd\x07\n\x1cGetCurrentMonthUsageResponse\x129\n\nstart_date\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\tstartDate\x125\n\x08end_date\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x07endDate\x12k\n\x1eresource_usage_costs_by_source\x18\x0e \x03(\x0b2\'.viam.app.v1.ResourceUsageCostsBySourceR\x1aresourceUsageCostsBySource\x12\x1a\n\x08subtotal\x18\x0f \x01(\x01R\x08subtotal\x12;\n\x18cloud_storage_usage_cost\x18\x03 \x01(\x01B\x02\x18\x01R\x15cloudStorageUsageCost\x127\n\x16data_upload_usage_cost\x18\x04 \x01(\x01B\x02\x18\x01R\x13dataUploadUsageCost\x125\n\x15data_egres_usage_cost\x18\x05 \x01(\x01B\x02\x18\x01R\x12dataEgresUsageCost\x12=\n\x19remote_control_usage_cost\x18\x06 \x01(\x01B\x02\x18\x01R\x16remoteControlUsageCost\x12A\n\x1bstandard_compute_usage_cost\x18\x07 \x01(\x01B\x02\x18\x01R\x18standardComputeUsageCost\x12+\n\x0fdiscount_amount\x18\x08 \x01(\x01B\x02\x18\x01R\x0ediscountAmount\x12=\n\x19total_usage_with_discount\x18\t \x01(\x01B\x02\x18\x01R\x16totalUsageWithDiscount\x12C\n\x1ctotal_usage_without_discount\x18\n \x01(\x01B\x02\x18\x01R\x19totalUsageWithoutDiscount\x127\n\x16per_machine_usage_cost\x18\x0b \x01(\x01B\x02\x18\x01R\x13perMachineUsageCost\x12Q\n$binary_data_cloud_storage_usage_cost\x18\x0c \x01(\x01B\x02\x18\x01R\x1fbinaryDataCloudStorageUsageCost\x12F\n\x1eother_cloud_storage_usage_cost\x18\r \x01(\x01B\x02\x18\x01R\x1aotherCloudStorageUsageCost"8\n\x1fGetOrgBillingInformationRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\xfa\x02\n GetOrgBillingInformationResponse\x122\n\x04type\x18\x01 \x01(\x0e2\x1e.viam.app.v1.PaymentMethodTypeR\x04type\x12#\n\rbilling_email\x18\x02 \x01(\tR\x0cbillingEmail\x12;\n\x06method\x18\x03 \x01(\x0b2\x1e.viam.app.v1.PaymentMethodCardH\x00R\x06method\x88\x01\x01\x12&\n\x0cbilling_tier\x18\x04 \x01(\tH\x01R\x0bbillingTier\x88\x01\x01\x12a\n\x16method_us_bank_account\x18\x05 \x01(\x0b2\'.viam.app.v1.PaymentMethodUSBankAccountH\x02R\x13methodUsBankAccount\x88\x01\x01B\t\n\x07_methodB\x0f\n\r_billing_tierB\x19\n\x17_method_us_bank_account"2\n\x19GetInvoicesSummaryRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\x86\x01\n\x1aGetInvoicesSummaryResponse\x12/\n\x13outstanding_balance\x18\x01 \x01(\x01R\x12outstandingBalance\x127\n\x08invoices\x18\x02 \x03(\x0b2\x1b.viam.app.v1.InvoiceSummaryR\x08invoices"=\n\x14GetInvoicePdfRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06org_id\x18\x02 \x01(\tR\x05orgId"-\n\x15GetInvoicePdfResponse\x12\x14\n\x05chunk\x18\x01 \x01(\x0cR\x05chunk"z\n\x1fSendPaymentRequiredEmailRequest\x12&\n\x0fcustomer_org_id\x18\x01 \x01(\tR\rcustomerOrgId\x12/\n\x14billing_owner_org_id\x18\x02 \x01(\tR\x11billingOwnerOrgId""\n SendPaymentRequiredEmailResponse"!\n\x1fGetAvailableBillingTiersRequest"8\n GetAvailableBillingTiersResponse\x12\x14\n\x05tiers\x18\x01 \x03(\tR\x05tiers"r\n$UpdateOrganizationBillingTierRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12!\n\x0cbilling_tier\x18\x02 \x01(\tR\x0bbillingTier"\'\n%UpdateOrganizationBillingTierResponse"\xee\x01\n(CreateInvoiceAndChargeImmediatelyRequest\x12\'\n\x10org_id_to_charge\x18\x01 \x01(\tR\rorgIdToCharge\x12\x16\n\x06amount\x18\x02 \x01(\x01R\x06amount\x12%\n\x0bdescription\x18\x03 \x01(\tH\x00R\x0bdescription\x88\x01\x01\x122\n\x13org_id_for_branding\x18\x04 \x01(\tH\x01R\x10orgIdForBranding\x88\x01\x01B\x0e\n\x0c_descriptionB\x16\n\x14_org_id_for_branding"+\n)CreateInvoiceAndChargeImmediatelyResponse*}\n\x11PaymentMethodType\x12#\n\x1fPAYMENT_METHOD_TYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18PAYMENT_METHOD_TYPE_CARD\x10\x01\x12%\n!PAYMENT_METHOD_TYPE_USBANKACCOUNT\x10\x02*\xa8\x08\n\rUsageCostType\x12\x1f\n\x1bUSAGE_COST_TYPE_UNSPECIFIED\x10\x00\x12#\n\x1bUSAGE_COST_TYPE_DATA_UPLOAD\x10\x01\x1a\x02\x08\x01\x12#\n\x1bUSAGE_COST_TYPE_DATA_EGRESS\x10\x02\x1a\x02\x08\x01\x12"\n\x1eUSAGE_COST_TYPE_REMOTE_CONTROL\x10\x03\x12$\n USAGE_COST_TYPE_STANDARD_COMPUTE\x10\x04\x12%\n\x1dUSAGE_COST_TYPE_CLOUD_STORAGE\x10\x05\x1a\x02\x08\x01\x12-\n)USAGE_COST_TYPE_BINARY_DATA_CLOUD_STORAGE\x10\x06\x12+\n#USAGE_COST_TYPE_OTHER_CLOUD_STORAGE\x10\x07\x1a\x02\x08\x01\x12\x1f\n\x1bUSAGE_COST_TYPE_PER_MACHINE\x10\x08\x12(\n$USAGE_COST_TYPE_TRIGGER_NOTIFICATION\x10\t\x12.\n*USAGE_COST_TYPE_TABULAR_DATA_CLOUD_STORAGE\x10\n\x120\n,USAGE_COST_TYPE_CONFIG_HISTORY_CLOUD_STORAGE\x10\x0b\x12&\n"USAGE_COST_TYPE_LOGS_CLOUD_STORAGE\x10\x0c\x12/\n+USAGE_COST_TYPE_TRAINING_LOGS_CLOUD_STORAGE\x10\r\x12*\n&USAGE_COST_TYPE_PACKAGES_CLOUD_STORAGE\x10\x0e\x12&\n"USAGE_COST_TYPE_BINARY_DATA_UPLOAD\x10\x0f\x12\'\n#USAGE_COST_TYPE_TABULAR_DATA_UPLOAD\x10\x10\x12\x1f\n\x1bUSAGE_COST_TYPE_LOGS_UPLOAD\x10\x11\x12&\n"USAGE_COST_TYPE_BINARY_DATA_EGRESS\x10\x12\x12\'\n#USAGE_COST_TYPE_TABULAR_DATA_EGRESS\x10\x13\x12\x1f\n\x1bUSAGE_COST_TYPE_LOGS_EGRESS\x10\x14\x12(\n$USAGE_COST_TYPE_TRAINING_LOGS_EGRESS\x10\x15\x127\n3USAGE_COST_TYPE_TABULAR_DATA_DATABASE_CLOUD_STORAGE\x10\x16\x121\n-USAGE_COST_TYPE_TABULAR_DATA_DATABASE_COMPUTE\x10\x17\x123\n/USAGE_COST_TYPE_BINARY_DATA_CROSS_REGION_EGRESS\x10\x18*X\n\nSourceType\x12\x1b\n\x17SOURCE_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fSOURCE_TYPE_ORG\x10\x01\x12\x18\n\x14SOURCE_TYPE_FRAGMENT\x10\x022\xc7\x07\n\x0eBillingService\x12k\n\x14GetCurrentMonthUsage\x12(.viam.app.v1.GetCurrentMonthUsageRequest\x1a).viam.app.v1.GetCurrentMonthUsageResponse\x12w\n\x18GetOrgBillingInformation\x12,.viam.app.v1.GetOrgBillingInformationRequest\x1a-.viam.app.v1.GetOrgBillingInformationResponse\x12e\n\x12GetInvoicesSummary\x12&.viam.app.v1.GetInvoicesSummaryRequest\x1a\'.viam.app.v1.GetInvoicesSummaryResponse\x12X\n\rGetInvoicePdf\x12!.viam.app.v1.GetInvoicePdfRequest\x1a".viam.app.v1.GetInvoicePdfResponse0\x01\x12w\n\x18SendPaymentRequiredEmail\x12,.viam.app.v1.SendPaymentRequiredEmailRequest\x1a-.viam.app.v1.SendPaymentRequiredEmailResponse\x12w\n\x18GetAvailableBillingTiers\x12,.viam.app.v1.GetAvailableBillingTiersRequest\x1a-.viam.app.v1.GetAvailableBillingTiersResponse\x12\x86\x01\n\x1dUpdateOrganizationBillingTier\x121.viam.app.v1.UpdateOrganizationBillingTierRequest\x1a2.viam.app.v1.UpdateOrganizationBillingTierResponse\x12\x92\x01\n!CreateInvoiceAndChargeImmediately\x125.viam.app.v1.CreateInvoiceAndChargeImmediatelyRequest\x1a6.viam.app.v1.CreateInvoiceAndChargeImmediatelyResponseB\x18Z\x16go.viam.com/api/app/v1b\x06proto3')
10
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14app/v1/billing.proto\x12\x0bviam.app.v1\x1a\x1fgoogle/protobuf/timestamp.proto"\x8e\x02\n\x0eInvoiceSummary\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12=\n\x0cinvoice_date\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0binvoiceDate\x12%\n\x0einvoice_amount\x18\x03 \x01(\x01R\rinvoiceAmount\x12\x16\n\x06status\x18\x04 \x01(\tR\x06status\x125\n\x08due_date\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\x07dueDate\x127\n\tpaid_date\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\x08paidDate"S\n\x11PaymentMethodCard\x12\x14\n\x05brand\x18\x01 \x01(\tR\x05brand\x12(\n\x10last_four_digits\x18\x02 \x01(\tR\x0elastFourDigits"v\n\x10VerificationInfo\x12!\n\x0carrival_date\x18\x01 \x01(\x03R\x0barrivalDate\x12?\n\x1chosted_verification_page_url\x18\x02 \x01(\tR\x19hostedVerificationPageUrl"\xb0\x02\n\x1aPaymentMethodUSBankAccount\x12\x1b\n\tbank_name\x18\x01 \x01(\tR\x08bankName\x12D\n\x1flast_four_digits_account_number\x18\x02 \x01(\tR\x1blastFourDigitsAccountNumber\x12%\n\x0erouting_number\x18\x03 \x01(\tR\rroutingNumber\x12!\n\x0caccount_type\x18\x04 \x01(\tR\x0baccountType\x12O\n\x11verification_info\x18\x05 \x01(\x0b2\x1d.viam.app.v1.VerificationInfoH\x00R\x10verificationInfo\x88\x01\x01B\x14\n\x12_verification_info"4\n\x1bGetCurrentMonthUsageRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"`\n\tUsageCost\x12?\n\rresource_type\x18\x01 \x01(\x0e2\x1a.viam.app.v1.UsageCostTypeR\x0cresourceType\x12\x12\n\x04cost\x18\x02 \x01(\x01R\x04cost"\xc6\x01\n\x1aResourceUsageCostsBySource\x128\n\x0bsource_type\x18\x01 \x01(\x0e2\x17.viam.app.v1.SourceTypeR\nsourceType\x12Q\n\x14resource_usage_costs\x18\x02 \x01(\x0b2\x1f.viam.app.v1.ResourceUsageCostsR\x12resourceUsageCosts\x12\x1b\n\ttier_name\x18\x03 \x01(\tR\x08tierName"\xcf\x01\n\x12ResourceUsageCosts\x127\n\x0busage_costs\x18\x01 \x03(\x0b2\x16.viam.app.v1.UsageCostR\nusageCosts\x12\x1a\n\x08discount\x18\x02 \x01(\x01R\x08discount\x12.\n\x13total_with_discount\x18\x03 \x01(\x01R\x11totalWithDiscount\x124\n\x16total_without_discount\x18\x04 \x01(\x01R\x14totalWithoutDiscount"\xcd\x07\n\x1cGetCurrentMonthUsageResponse\x129\n\nstart_date\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\tstartDate\x125\n\x08end_date\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x07endDate\x12k\n\x1eresource_usage_costs_by_source\x18\x0e \x03(\x0b2\'.viam.app.v1.ResourceUsageCostsBySourceR\x1aresourceUsageCostsBySource\x12\x1a\n\x08subtotal\x18\x0f \x01(\x01R\x08subtotal\x12;\n\x18cloud_storage_usage_cost\x18\x03 \x01(\x01B\x02\x18\x01R\x15cloudStorageUsageCost\x127\n\x16data_upload_usage_cost\x18\x04 \x01(\x01B\x02\x18\x01R\x13dataUploadUsageCost\x125\n\x15data_egres_usage_cost\x18\x05 \x01(\x01B\x02\x18\x01R\x12dataEgresUsageCost\x12=\n\x19remote_control_usage_cost\x18\x06 \x01(\x01B\x02\x18\x01R\x16remoteControlUsageCost\x12A\n\x1bstandard_compute_usage_cost\x18\x07 \x01(\x01B\x02\x18\x01R\x18standardComputeUsageCost\x12+\n\x0fdiscount_amount\x18\x08 \x01(\x01B\x02\x18\x01R\x0ediscountAmount\x12=\n\x19total_usage_with_discount\x18\t \x01(\x01B\x02\x18\x01R\x16totalUsageWithDiscount\x12C\n\x1ctotal_usage_without_discount\x18\n \x01(\x01B\x02\x18\x01R\x19totalUsageWithoutDiscount\x127\n\x16per_machine_usage_cost\x18\x0b \x01(\x01B\x02\x18\x01R\x13perMachineUsageCost\x12Q\n$binary_data_cloud_storage_usage_cost\x18\x0c \x01(\x01B\x02\x18\x01R\x1fbinaryDataCloudStorageUsageCost\x12F\n\x1eother_cloud_storage_usage_cost\x18\r \x01(\x01B\x02\x18\x01R\x1aotherCloudStorageUsageCost"8\n\x1fGetOrgBillingInformationRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\xfa\x02\n GetOrgBillingInformationResponse\x122\n\x04type\x18\x01 \x01(\x0e2\x1e.viam.app.v1.PaymentMethodTypeR\x04type\x12#\n\rbilling_email\x18\x02 \x01(\tR\x0cbillingEmail\x12;\n\x06method\x18\x03 \x01(\x0b2\x1e.viam.app.v1.PaymentMethodCardH\x00R\x06method\x88\x01\x01\x12&\n\x0cbilling_tier\x18\x04 \x01(\tH\x01R\x0bbillingTier\x88\x01\x01\x12a\n\x16method_us_bank_account\x18\x05 \x01(\x0b2\'.viam.app.v1.PaymentMethodUSBankAccountH\x02R\x13methodUsBankAccount\x88\x01\x01B\t\n\x07_methodB\x0f\n\r_billing_tierB\x19\n\x17_method_us_bank_account"2\n\x19GetInvoicesSummaryRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\x86\x01\n\x1aGetInvoicesSummaryResponse\x12/\n\x13outstanding_balance\x18\x01 \x01(\x01R\x12outstandingBalance\x127\n\x08invoices\x18\x02 \x03(\x0b2\x1b.viam.app.v1.InvoiceSummaryR\x08invoices"=\n\x14GetInvoicePdfRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06org_id\x18\x02 \x01(\tR\x05orgId"-\n\x15GetInvoicePdfResponse\x12\x14\n\x05chunk\x18\x01 \x01(\x0cR\x05chunk"z\n\x1fSendPaymentRequiredEmailRequest\x12&\n\x0fcustomer_org_id\x18\x01 \x01(\tR\rcustomerOrgId\x12/\n\x14billing_owner_org_id\x18\x02 \x01(\tR\x11billingOwnerOrgId""\n SendPaymentRequiredEmailResponse"!\n\x1fGetAvailableBillingTiersRequest"8\n GetAvailableBillingTiersResponse\x12\x14\n\x05tiers\x18\x01 \x03(\tR\x05tiers"r\n$UpdateOrganizationBillingTierRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12!\n\x0cbilling_tier\x18\x02 \x01(\tR\x0bbillingTier"\'\n%UpdateOrganizationBillingTierResponse"\x93\x02\n(CreateInvoiceAndChargeImmediatelyRequest\x12\'\n\x10org_id_to_charge\x18\x01 \x01(\tR\rorgIdToCharge\x12\x16\n\x06amount\x18\x02 \x01(\x01R\x06amount\x12%\n\x0bdescription\x18\x03 \x01(\tH\x00R\x0bdescription\x88\x01\x01\x122\n\x13org_id_for_branding\x18\x04 \x01(\tH\x01R\x10orgIdForBranding\x88\x01\x01\x12#\n\rdisable_email\x18\x05 \x01(\x08R\x0cdisableEmailB\x0e\n\x0c_descriptionB\x16\n\x14_org_id_for_branding"+\n)CreateInvoiceAndChargeImmediatelyResponse*}\n\x11PaymentMethodType\x12#\n\x1fPAYMENT_METHOD_TYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18PAYMENT_METHOD_TYPE_CARD\x10\x01\x12%\n!PAYMENT_METHOD_TYPE_USBANKACCOUNT\x10\x02*\xa8\x08\n\rUsageCostType\x12\x1f\n\x1bUSAGE_COST_TYPE_UNSPECIFIED\x10\x00\x12#\n\x1bUSAGE_COST_TYPE_DATA_UPLOAD\x10\x01\x1a\x02\x08\x01\x12#\n\x1bUSAGE_COST_TYPE_DATA_EGRESS\x10\x02\x1a\x02\x08\x01\x12"\n\x1eUSAGE_COST_TYPE_REMOTE_CONTROL\x10\x03\x12$\n USAGE_COST_TYPE_STANDARD_COMPUTE\x10\x04\x12%\n\x1dUSAGE_COST_TYPE_CLOUD_STORAGE\x10\x05\x1a\x02\x08\x01\x12-\n)USAGE_COST_TYPE_BINARY_DATA_CLOUD_STORAGE\x10\x06\x12+\n#USAGE_COST_TYPE_OTHER_CLOUD_STORAGE\x10\x07\x1a\x02\x08\x01\x12\x1f\n\x1bUSAGE_COST_TYPE_PER_MACHINE\x10\x08\x12(\n$USAGE_COST_TYPE_TRIGGER_NOTIFICATION\x10\t\x12.\n*USAGE_COST_TYPE_TABULAR_DATA_CLOUD_STORAGE\x10\n\x120\n,USAGE_COST_TYPE_CONFIG_HISTORY_CLOUD_STORAGE\x10\x0b\x12&\n"USAGE_COST_TYPE_LOGS_CLOUD_STORAGE\x10\x0c\x12/\n+USAGE_COST_TYPE_TRAINING_LOGS_CLOUD_STORAGE\x10\r\x12*\n&USAGE_COST_TYPE_PACKAGES_CLOUD_STORAGE\x10\x0e\x12&\n"USAGE_COST_TYPE_BINARY_DATA_UPLOAD\x10\x0f\x12\'\n#USAGE_COST_TYPE_TABULAR_DATA_UPLOAD\x10\x10\x12\x1f\n\x1bUSAGE_COST_TYPE_LOGS_UPLOAD\x10\x11\x12&\n"USAGE_COST_TYPE_BINARY_DATA_EGRESS\x10\x12\x12\'\n#USAGE_COST_TYPE_TABULAR_DATA_EGRESS\x10\x13\x12\x1f\n\x1bUSAGE_COST_TYPE_LOGS_EGRESS\x10\x14\x12(\n$USAGE_COST_TYPE_TRAINING_LOGS_EGRESS\x10\x15\x127\n3USAGE_COST_TYPE_TABULAR_DATA_DATABASE_CLOUD_STORAGE\x10\x16\x121\n-USAGE_COST_TYPE_TABULAR_DATA_DATABASE_COMPUTE\x10\x17\x123\n/USAGE_COST_TYPE_BINARY_DATA_CROSS_REGION_EGRESS\x10\x18*X\n\nSourceType\x12\x1b\n\x17SOURCE_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fSOURCE_TYPE_ORG\x10\x01\x12\x18\n\x14SOURCE_TYPE_FRAGMENT\x10\x022\xc7\x07\n\x0eBillingService\x12k\n\x14GetCurrentMonthUsage\x12(.viam.app.v1.GetCurrentMonthUsageRequest\x1a).viam.app.v1.GetCurrentMonthUsageResponse\x12w\n\x18GetOrgBillingInformation\x12,.viam.app.v1.GetOrgBillingInformationRequest\x1a-.viam.app.v1.GetOrgBillingInformationResponse\x12e\n\x12GetInvoicesSummary\x12&.viam.app.v1.GetInvoicesSummaryRequest\x1a\'.viam.app.v1.GetInvoicesSummaryResponse\x12X\n\rGetInvoicePdf\x12!.viam.app.v1.GetInvoicePdfRequest\x1a".viam.app.v1.GetInvoicePdfResponse0\x01\x12w\n\x18SendPaymentRequiredEmail\x12,.viam.app.v1.SendPaymentRequiredEmailRequest\x1a-.viam.app.v1.SendPaymentRequiredEmailResponse\x12w\n\x18GetAvailableBillingTiers\x12,.viam.app.v1.GetAvailableBillingTiersRequest\x1a-.viam.app.v1.GetAvailableBillingTiersResponse\x12\x86\x01\n\x1dUpdateOrganizationBillingTier\x121.viam.app.v1.UpdateOrganizationBillingTierRequest\x1a2.viam.app.v1.UpdateOrganizationBillingTierResponse\x12\x92\x01\n!CreateInvoiceAndChargeImmediately\x125.viam.app.v1.CreateInvoiceAndChargeImmediatelyRequest\x1a6.viam.app.v1.CreateInvoiceAndChargeImmediatelyResponseB\x18Z\x16go.viam.com/api/app/v1b\x06proto3')
11
11
  _globals = globals()
12
12
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
13
13
  _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.v1.billing_pb2', _globals)
@@ -44,12 +44,12 @@ if not _descriptor._USE_C_DESCRIPTORS:
44
44
  _globals['_GETCURRENTMONTHUSAGERESPONSE'].fields_by_name['binary_data_cloud_storage_usage_cost']._serialized_options = b'\x18\x01'
45
45
  _globals['_GETCURRENTMONTHUSAGERESPONSE'].fields_by_name['other_cloud_storage_usage_cost']._loaded_options = None
46
46
  _globals['_GETCURRENTMONTHUSAGERESPONSE'].fields_by_name['other_cloud_storage_usage_cost']._serialized_options = b'\x18\x01'
47
- _globals['_PAYMENTMETHODTYPE']._serialized_start = 3828
48
- _globals['_PAYMENTMETHODTYPE']._serialized_end = 3953
49
- _globals['_USAGECOSTTYPE']._serialized_start = 3956
50
- _globals['_USAGECOSTTYPE']._serialized_end = 5020
51
- _globals['_SOURCETYPE']._serialized_start = 5022
52
- _globals['_SOURCETYPE']._serialized_end = 5110
47
+ _globals['_PAYMENTMETHODTYPE']._serialized_start = 3865
48
+ _globals['_PAYMENTMETHODTYPE']._serialized_end = 3990
49
+ _globals['_USAGECOSTTYPE']._serialized_start = 3993
50
+ _globals['_USAGECOSTTYPE']._serialized_end = 5057
51
+ _globals['_SOURCETYPE']._serialized_start = 5059
52
+ _globals['_SOURCETYPE']._serialized_end = 5147
53
53
  _globals['_INVOICESUMMARY']._serialized_start = 71
54
54
  _globals['_INVOICESUMMARY']._serialized_end = 341
55
55
  _globals['_PAYMENTMETHODCARD']._serialized_start = 343
@@ -93,8 +93,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
93
93
  _globals['_UPDATEORGANIZATIONBILLINGTIERRESPONSE']._serialized_start = 3501
94
94
  _globals['_UPDATEORGANIZATIONBILLINGTIERRESPONSE']._serialized_end = 3540
95
95
  _globals['_CREATEINVOICEANDCHARGEIMMEDIATELYREQUEST']._serialized_start = 3543
96
- _globals['_CREATEINVOICEANDCHARGEIMMEDIATELYREQUEST']._serialized_end = 3781
97
- _globals['_CREATEINVOICEANDCHARGEIMMEDIATELYRESPONSE']._serialized_start = 3783
98
- _globals['_CREATEINVOICEANDCHARGEIMMEDIATELYRESPONSE']._serialized_end = 3826
99
- _globals['_BILLINGSERVICE']._serialized_start = 5113
100
- _globals['_BILLINGSERVICE']._serialized_end = 6080
96
+ _globals['_CREATEINVOICEANDCHARGEIMMEDIATELYREQUEST']._serialized_end = 3818
97
+ _globals['_CREATEINVOICEANDCHARGEIMMEDIATELYRESPONSE']._serialized_start = 3820
98
+ _globals['_CREATEINVOICEANDCHARGEIMMEDIATELYRESPONSE']._serialized_end = 3863
99
+ _globals['_BILLINGSERVICE']._serialized_start = 5150
100
+ _globals['_BILLINGSERVICE']._serialized_end = 6117
@@ -527,18 +527,20 @@ class CreateInvoiceAndChargeImmediatelyRequest(google.protobuf.message.Message):
527
527
  AMOUNT_FIELD_NUMBER: builtins.int
528
528
  DESCRIPTION_FIELD_NUMBER: builtins.int
529
529
  ORG_ID_FOR_BRANDING_FIELD_NUMBER: builtins.int
530
+ DISABLE_EMAIL_FIELD_NUMBER: builtins.int
530
531
  org_id_to_charge: builtins.str
531
532
  amount: builtins.float
532
533
  description: builtins.str
533
534
  org_id_for_branding: builtins.str
535
+ disable_email: builtins.bool
534
536
 
535
- def __init__(self, *, org_id_to_charge: builtins.str=..., amount: builtins.float=..., description: builtins.str | None=..., org_id_for_branding: builtins.str | None=...) -> None:
537
+ def __init__(self, *, org_id_to_charge: builtins.str=..., amount: builtins.float=..., description: builtins.str | None=..., org_id_for_branding: builtins.str | None=..., disable_email: builtins.bool=...) -> None:
536
538
  ...
537
539
 
538
540
  def HasField(self, field_name: typing.Literal['_description', b'_description', '_org_id_for_branding', b'_org_id_for_branding', 'description', b'description', 'org_id_for_branding', b'org_id_for_branding']) -> builtins.bool:
539
541
  ...
540
542
 
541
- def ClearField(self, field_name: typing.Literal['_description', b'_description', '_org_id_for_branding', b'_org_id_for_branding', 'amount', b'amount', 'description', b'description', 'org_id_for_branding', b'org_id_for_branding', 'org_id_to_charge', b'org_id_to_charge']) -> None:
543
+ def ClearField(self, field_name: typing.Literal['_description', b'_description', '_org_id_for_branding', b'_org_id_for_branding', 'amount', b'amount', 'description', b'description', 'disable_email', b'disable_email', 'org_id_for_branding', b'org_id_for_branding', 'org_id_to_charge', b'org_id_to_charge']) -> None:
542
544
  ...
543
545
 
544
546
  @typing.overload
@@ -9,7 +9,7 @@ _sym_db = _symbol_database.Default()
9
9
  from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2
10
10
  from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
11
11
  from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
12
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16common/v1/common.proto\x12\x0eviam.common.v1\x1a google/protobuf/descriptor.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xae\x01\n\x0cResourceName\x12\x1c\n\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12\x18\n\x07subtype\x18\x03 \x01(\tR\x07subtype\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name\x12\x1f\n\x0bremote_path\x18\x05 \x03(\tR\nremotePath\x12\x1d\n\nlocal_name\x18\x06 \x01(\tR\tlocalName"y\n\x04Pose\x12\x0c\n\x01x\x18\x01 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x02 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x03 \x01(\x01R\x01z\x12\x0f\n\x03o_x\x18\x04 \x01(\x01R\x02oX\x12\x0f\n\x03o_y\x18\x05 \x01(\x01R\x02oY\x12\x0f\n\x03o_z\x18\x06 \x01(\x01R\x02oZ\x12\x14\n\x05theta\x18\x07 \x01(\x01R\x05theta"V\n\x0bOrientation\x12\x0f\n\x03o_x\x18\x01 \x01(\x01R\x02oX\x12\x0f\n\x03o_y\x18\x02 \x01(\x01R\x02oY\x12\x0f\n\x03o_z\x18\x03 \x01(\x01R\x02oZ\x12\x14\n\x05theta\x18\x04 \x01(\x01R\x05theta"`\n\x0bPoseInFrame\x12\'\n\x0freference_frame\x18\x01 \x01(\tR\x0ereferenceFrame\x12(\n\x04pose\x18\x02 \x01(\x0b2\x14.viam.common.v1.PoseR\x04pose"3\n\x07Vector3\x12\x0c\n\x01x\x18\x01 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x02 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x03 \x01(\x01R\x01z"%\n\x06Sphere\x12\x1b\n\tradius_mm\x18\x01 \x01(\x01R\x08radiusMm"C\n\x07Capsule\x12\x1b\n\tradius_mm\x18\x01 \x01(\x01R\x08radiusMm\x12\x1b\n\tlength_mm\x18\x02 \x01(\x01R\x08lengthMm"D\n\x10RectangularPrism\x120\n\x07dims_mm\x18\x01 \x01(\x0b2\x17.viam.common.v1.Vector3R\x06dimsMm"=\n\x04Mesh\x12!\n\x0ccontent_type\x18\x01 \x01(\tR\x0bcontentType\x12\x12\n\x04mesh\x18\x02 \x01(\x0cR\x04mesh"-\n\nPointCloud\x12\x1f\n\x0bpoint_cloud\x18\x01 \x01(\x0cR\npointCloud"\xe6\x02\n\x08Geometry\x12,\n\x06center\x18\x01 \x01(\x0b2\x14.viam.common.v1.PoseR\x06center\x120\n\x06sphere\x18\x02 \x01(\x0b2\x16.viam.common.v1.SphereH\x00R\x06sphere\x124\n\x03box\x18\x03 \x01(\x0b2 .viam.common.v1.RectangularPrismH\x00R\x03box\x123\n\x07capsule\x18\x05 \x01(\x0b2\x17.viam.common.v1.CapsuleH\x00R\x07capsule\x12*\n\x04mesh\x18\x06 \x01(\x0b2\x14.viam.common.v1.MeshH\x00R\x04mesh\x12<\n\npointcloud\x18\x07 \x01(\x0b2\x1a.viam.common.v1.PointCloudH\x00R\npointcloud\x12\x14\n\x05label\x18\x04 \x01(\tR\x05labelB\x0f\n\rgeometry_type"v\n\x11GeometriesInFrame\x12\'\n\x0freference_frame\x18\x01 \x01(\tR\x0ereferenceFrame\x128\n\ngeometries\x18\x02 \x03(\x0b2\x18.viam.common.v1.GeometryR\ngeometries"v\n\x10PointCloudObject\x12\x1f\n\x0bpoint_cloud\x18\x01 \x01(\x0cR\npointCloud\x12A\n\ngeometries\x18\x02 \x01(\x0b2!.viam.common.v1.GeometriesInFrameR\ngeometries"D\n\x08GeoPoint\x12\x1a\n\x08latitude\x18\x01 \x01(\x01R\x08latitude\x12\x1c\n\tlongitude\x18\x02 \x01(\x01R\tlongitude"}\n\x0bGeoGeometry\x124\n\x08location\x18\x01 \x01(\x0b2\x18.viam.common.v1.GeoPointR\x08location\x128\n\ngeometries\x18\x02 \x03(\x0b2\x18.viam.common.v1.GeometryR\ngeometries"\xbd\x02\n\tTransform\x12\'\n\x0freference_frame\x18\x01 \x01(\tR\x0ereferenceFrame\x12P\n\x16pose_in_observer_frame\x18\x02 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x13poseInObserverFrame\x12F\n\x0fphysical_object\x18\x03 \x01(\x0b2\x18.viam.common.v1.GeometryH\x00R\x0ephysicalObject\x88\x01\x01\x12\x12\n\x04uuid\x18\x04 \x01(\x0cR\x04uuid\x128\n\x08metadata\x18\x05 \x01(\x0b2\x17.google.protobuf.StructH\x01R\x08metadata\x88\x01\x01B\x12\n\x10_physical_objectB\x0b\n\t_metadata"\x88\x01\n\nWorldState\x12?\n\tobstacles\x18\x01 \x03(\x0b2!.viam.common.v1.GeometriesInFrameR\tobstacles\x129\n\ntransforms\x18\x03 \x03(\x0b2\x19.viam.common.v1.TransformR\ntransforms"-\n\x0eActuatorStatus\x12\x1b\n\tis_moving\x18\x01 \x01(\x08R\x08isMoving"d\n\x10ResponseMetadata\x12@\n\x0bcaptured_at\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\ncapturedAt\x88\x01\x01B\x0e\n\x0c_captured_at"Y\n\x10DoCommandRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x121\n\x07command\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x07command"D\n\x11DoCommandResponse\x12/\n\x06result\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x06result"Y\n\x14GetKinematicsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"~\n\x15GetKinematicsResponse\x12<\n\x06format\x18\x01 \x01(\x0e2$.viam.common.v1.KinematicsFileFormatR\x06format\x12\'\n\x0fkinematics_data\x18\x02 \x01(\x0cR\x0ekinematicsData"Y\n\x14GetGeometriesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"Q\n\x15GetGeometriesResponse\x128\n\ngeometries\x18\x01 \x03(\x0b2\x18.viam.common.v1.GeometryR\ngeometries"W\n\x12GetReadingsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\xb9\x01\n\x13GetReadingsResponse\x12M\n\x08readings\x18\x01 \x03(\x0b21.viam.common.v1.GetReadingsResponse.ReadingsEntryR\x08readings\x1aS\n\rReadingsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b2\x16.google.protobuf.ValueR\x05value:\x028\x01"\x97\x02\n\x08LogEntry\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x14\n\x05level\x18\x02 \x01(\tR\x05level\x12.\n\x04time\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\x04time\x12\x1f\n\x0blogger_name\x18\x04 \x01(\tR\nloggerName\x12\x18\n\x07message\x18\x05 \x01(\tR\x07message\x12/\n\x06caller\x18\x06 \x01(\x0b2\x17.google.protobuf.StructR\x06caller\x12\x14\n\x05stack\x18\x07 \x01(\tR\x05stack\x12/\n\x06fields\x18\x08 \x03(\x0b2\x17.google.protobuf.StructR\x06fields*\x7f\n\x14KinematicsFileFormat\x12&\n"KINEMATICS_FILE_FORMAT_UNSPECIFIED\x10\x00\x12\x1e\n\x1aKINEMATICS_FILE_FORMAT_SVA\x10\x01\x12\x1f\n\x1bKINEMATICS_FILE_FORMAT_URDF\x10\x02:a\n\x1asafety_heartbeat_monitored\x12\x1e.google.protobuf.MethodOptions\x18\xa4\x92\x05 \x01(\x08R\x18safetyHeartbeatMonitored\x88\x01\x01B/\n\x12com.viam.common.v1Z\x19go.viam.com/api/common/v1b\x06proto3')
12
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16common/v1/common.proto\x12\x0eviam.common.v1\x1a google/protobuf/descriptor.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"n\n\x0cResourceName\x12\x1c\n\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12\x18\n\x07subtype\x18\x03 \x01(\tR\x07subtype\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name"y\n\x04Pose\x12\x0c\n\x01x\x18\x01 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x02 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x03 \x01(\x01R\x01z\x12\x0f\n\x03o_x\x18\x04 \x01(\x01R\x02oX\x12\x0f\n\x03o_y\x18\x05 \x01(\x01R\x02oY\x12\x0f\n\x03o_z\x18\x06 \x01(\x01R\x02oZ\x12\x14\n\x05theta\x18\x07 \x01(\x01R\x05theta"V\n\x0bOrientation\x12\x0f\n\x03o_x\x18\x01 \x01(\x01R\x02oX\x12\x0f\n\x03o_y\x18\x02 \x01(\x01R\x02oY\x12\x0f\n\x03o_z\x18\x03 \x01(\x01R\x02oZ\x12\x14\n\x05theta\x18\x04 \x01(\x01R\x05theta"`\n\x0bPoseInFrame\x12\'\n\x0freference_frame\x18\x01 \x01(\tR\x0ereferenceFrame\x12(\n\x04pose\x18\x02 \x01(\x0b2\x14.viam.common.v1.PoseR\x04pose"3\n\x07Vector3\x12\x0c\n\x01x\x18\x01 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x02 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x03 \x01(\x01R\x01z"%\n\x06Sphere\x12\x1b\n\tradius_mm\x18\x01 \x01(\x01R\x08radiusMm"C\n\x07Capsule\x12\x1b\n\tradius_mm\x18\x01 \x01(\x01R\x08radiusMm\x12\x1b\n\tlength_mm\x18\x02 \x01(\x01R\x08lengthMm"D\n\x10RectangularPrism\x120\n\x07dims_mm\x18\x01 \x01(\x0b2\x17.viam.common.v1.Vector3R\x06dimsMm"=\n\x04Mesh\x12!\n\x0ccontent_type\x18\x01 \x01(\tR\x0bcontentType\x12\x12\n\x04mesh\x18\x02 \x01(\x0cR\x04mesh"-\n\nPointCloud\x12\x1f\n\x0bpoint_cloud\x18\x01 \x01(\x0cR\npointCloud"\xe6\x02\n\x08Geometry\x12,\n\x06center\x18\x01 \x01(\x0b2\x14.viam.common.v1.PoseR\x06center\x120\n\x06sphere\x18\x02 \x01(\x0b2\x16.viam.common.v1.SphereH\x00R\x06sphere\x124\n\x03box\x18\x03 \x01(\x0b2 .viam.common.v1.RectangularPrismH\x00R\x03box\x123\n\x07capsule\x18\x05 \x01(\x0b2\x17.viam.common.v1.CapsuleH\x00R\x07capsule\x12*\n\x04mesh\x18\x06 \x01(\x0b2\x14.viam.common.v1.MeshH\x00R\x04mesh\x12<\n\npointcloud\x18\x07 \x01(\x0b2\x1a.viam.common.v1.PointCloudH\x00R\npointcloud\x12\x14\n\x05label\x18\x04 \x01(\tR\x05labelB\x0f\n\rgeometry_type"v\n\x11GeometriesInFrame\x12\'\n\x0freference_frame\x18\x01 \x01(\tR\x0ereferenceFrame\x128\n\ngeometries\x18\x02 \x03(\x0b2\x18.viam.common.v1.GeometryR\ngeometries"v\n\x10PointCloudObject\x12\x1f\n\x0bpoint_cloud\x18\x01 \x01(\x0cR\npointCloud\x12A\n\ngeometries\x18\x02 \x01(\x0b2!.viam.common.v1.GeometriesInFrameR\ngeometries"D\n\x08GeoPoint\x12\x1a\n\x08latitude\x18\x01 \x01(\x01R\x08latitude\x12\x1c\n\tlongitude\x18\x02 \x01(\x01R\tlongitude"}\n\x0bGeoGeometry\x124\n\x08location\x18\x01 \x01(\x0b2\x18.viam.common.v1.GeoPointR\x08location\x128\n\ngeometries\x18\x02 \x03(\x0b2\x18.viam.common.v1.GeometryR\ngeometries"\xbd\x02\n\tTransform\x12\'\n\x0freference_frame\x18\x01 \x01(\tR\x0ereferenceFrame\x12P\n\x16pose_in_observer_frame\x18\x02 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x13poseInObserverFrame\x12F\n\x0fphysical_object\x18\x03 \x01(\x0b2\x18.viam.common.v1.GeometryH\x00R\x0ephysicalObject\x88\x01\x01\x12\x12\n\x04uuid\x18\x04 \x01(\x0cR\x04uuid\x128\n\x08metadata\x18\x05 \x01(\x0b2\x17.google.protobuf.StructH\x01R\x08metadata\x88\x01\x01B\x12\n\x10_physical_objectB\x0b\n\t_metadata"\x88\x01\n\nWorldState\x12?\n\tobstacles\x18\x01 \x03(\x0b2!.viam.common.v1.GeometriesInFrameR\tobstacles\x129\n\ntransforms\x18\x03 \x03(\x0b2\x19.viam.common.v1.TransformR\ntransforms"-\n\x0eActuatorStatus\x12\x1b\n\tis_moving\x18\x01 \x01(\x08R\x08isMoving"d\n\x10ResponseMetadata\x12@\n\x0bcaptured_at\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\ncapturedAt\x88\x01\x01B\x0e\n\x0c_captured_at"Y\n\x10DoCommandRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x121\n\x07command\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x07command"D\n\x11DoCommandResponse\x12/\n\x06result\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x06result"Y\n\x14GetKinematicsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"~\n\x15GetKinematicsResponse\x12<\n\x06format\x18\x01 \x01(\x0e2$.viam.common.v1.KinematicsFileFormatR\x06format\x12\'\n\x0fkinematics_data\x18\x02 \x01(\x0cR\x0ekinematicsData"Y\n\x14GetGeometriesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"Q\n\x15GetGeometriesResponse\x128\n\ngeometries\x18\x01 \x03(\x0b2\x18.viam.common.v1.GeometryR\ngeometries"W\n\x12GetReadingsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\xb9\x01\n\x13GetReadingsResponse\x12M\n\x08readings\x18\x01 \x03(\x0b21.viam.common.v1.GetReadingsResponse.ReadingsEntryR\x08readings\x1aS\n\rReadingsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b2\x16.google.protobuf.ValueR\x05value:\x028\x01"\x97\x02\n\x08LogEntry\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x14\n\x05level\x18\x02 \x01(\tR\x05level\x12.\n\x04time\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\x04time\x12\x1f\n\x0blogger_name\x18\x04 \x01(\tR\nloggerName\x12\x18\n\x07message\x18\x05 \x01(\tR\x07message\x12/\n\x06caller\x18\x06 \x01(\x0b2\x17.google.protobuf.StructR\x06caller\x12\x14\n\x05stack\x18\x07 \x01(\tR\x05stack\x12/\n\x06fields\x18\x08 \x03(\x0b2\x17.google.protobuf.StructR\x06fields"j\n\tAudioInfo\x12\x14\n\x05codec\x18\x01 \x01(\tR\x05codec\x12$\n\x0esample_rate_hz\x18\x02 \x01(\x05R\x0csampleRateHz\x12!\n\x0cnum_channels\x18\x03 \x01(\x05R\x0bnumChannels"Y\n\x14GetPropertiesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x8b\x01\n\x15GetPropertiesResponse\x12)\n\x10supported_codecs\x18\x01 \x03(\tR\x0fsupportedCodecs\x12$\n\x0esample_rate_hz\x18\x02 \x01(\x05R\x0csampleRateHz\x12!\n\x0cnum_channels\x18\x03 \x01(\x05R\x0bnumChannels*\x7f\n\x14KinematicsFileFormat\x12&\n"KINEMATICS_FILE_FORMAT_UNSPECIFIED\x10\x00\x12\x1e\n\x1aKINEMATICS_FILE_FORMAT_SVA\x10\x01\x12\x1f\n\x1bKINEMATICS_FILE_FORMAT_URDF\x10\x02:a\n\x1asafety_heartbeat_monitored\x12\x1e.google.protobuf.MethodOptions\x18\xa4\x92\x05 \x01(\x08R\x18safetyHeartbeatMonitored\x88\x01\x01B/\n\x12com.viam.common.v1Z\x19go.viam.com/api/common/v1b\x06proto3')
13
13
  _globals = globals()
14
14
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
15
15
  _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'common.v1.common_pb2', _globals)
@@ -18,63 +18,69 @@ if not _descriptor._USE_C_DESCRIPTORS:
18
18
  _globals['DESCRIPTOR']._serialized_options = b'\n\x12com.viam.common.v1Z\x19go.viam.com/api/common/v1'
19
19
  _globals['_GETREADINGSRESPONSE_READINGSENTRY']._loaded_options = None
20
20
  _globals['_GETREADINGSRESPONSE_READINGSENTRY']._serialized_options = b'8\x01'
21
- _globals['_KINEMATICSFILEFORMAT']._serialized_start = 3485
22
- _globals['_KINEMATICSFILEFORMAT']._serialized_end = 3612
23
- _globals['_RESOURCENAME']._serialized_start = 140
24
- _globals['_RESOURCENAME']._serialized_end = 314
25
- _globals['_POSE']._serialized_start = 316
26
- _globals['_POSE']._serialized_end = 437
27
- _globals['_ORIENTATION']._serialized_start = 439
28
- _globals['_ORIENTATION']._serialized_end = 525
29
- _globals['_POSEINFRAME']._serialized_start = 527
30
- _globals['_POSEINFRAME']._serialized_end = 623
31
- _globals['_VECTOR3']._serialized_start = 625
32
- _globals['_VECTOR3']._serialized_end = 676
33
- _globals['_SPHERE']._serialized_start = 678
34
- _globals['_SPHERE']._serialized_end = 715
35
- _globals['_CAPSULE']._serialized_start = 717
36
- _globals['_CAPSULE']._serialized_end = 784
37
- _globals['_RECTANGULARPRISM']._serialized_start = 786
38
- _globals['_RECTANGULARPRISM']._serialized_end = 854
39
- _globals['_MESH']._serialized_start = 856
40
- _globals['_MESH']._serialized_end = 917
41
- _globals['_POINTCLOUD']._serialized_start = 919
42
- _globals['_POINTCLOUD']._serialized_end = 964
43
- _globals['_GEOMETRY']._serialized_start = 967
44
- _globals['_GEOMETRY']._serialized_end = 1325
45
- _globals['_GEOMETRIESINFRAME']._serialized_start = 1327
46
- _globals['_GEOMETRIESINFRAME']._serialized_end = 1445
47
- _globals['_POINTCLOUDOBJECT']._serialized_start = 1447
48
- _globals['_POINTCLOUDOBJECT']._serialized_end = 1565
49
- _globals['_GEOPOINT']._serialized_start = 1567
50
- _globals['_GEOPOINT']._serialized_end = 1635
51
- _globals['_GEOGEOMETRY']._serialized_start = 1637
52
- _globals['_GEOGEOMETRY']._serialized_end = 1762
53
- _globals['_TRANSFORM']._serialized_start = 1765
54
- _globals['_TRANSFORM']._serialized_end = 2082
55
- _globals['_WORLDSTATE']._serialized_start = 2085
56
- _globals['_WORLDSTATE']._serialized_end = 2221
57
- _globals['_ACTUATORSTATUS']._serialized_start = 2223
58
- _globals['_ACTUATORSTATUS']._serialized_end = 2268
59
- _globals['_RESPONSEMETADATA']._serialized_start = 2270
60
- _globals['_RESPONSEMETADATA']._serialized_end = 2370
61
- _globals['_DOCOMMANDREQUEST']._serialized_start = 2372
62
- _globals['_DOCOMMANDREQUEST']._serialized_end = 2461
63
- _globals['_DOCOMMANDRESPONSE']._serialized_start = 2463
64
- _globals['_DOCOMMANDRESPONSE']._serialized_end = 2531
65
- _globals['_GETKINEMATICSREQUEST']._serialized_start = 2533
66
- _globals['_GETKINEMATICSREQUEST']._serialized_end = 2622
67
- _globals['_GETKINEMATICSRESPONSE']._serialized_start = 2624
68
- _globals['_GETKINEMATICSRESPONSE']._serialized_end = 2750
69
- _globals['_GETGEOMETRIESREQUEST']._serialized_start = 2752
70
- _globals['_GETGEOMETRIESREQUEST']._serialized_end = 2841
71
- _globals['_GETGEOMETRIESRESPONSE']._serialized_start = 2843
72
- _globals['_GETGEOMETRIESRESPONSE']._serialized_end = 2924
73
- _globals['_GETREADINGSREQUEST']._serialized_start = 2926
74
- _globals['_GETREADINGSREQUEST']._serialized_end = 3013
75
- _globals['_GETREADINGSRESPONSE']._serialized_start = 3016
76
- _globals['_GETREADINGSRESPONSE']._serialized_end = 3201
77
- _globals['_GETREADINGSRESPONSE_READINGSENTRY']._serialized_start = 3118
78
- _globals['_GETREADINGSRESPONSE_READINGSENTRY']._serialized_end = 3201
79
- _globals['_LOGENTRY']._serialized_start = 3204
80
- _globals['_LOGENTRY']._serialized_end = 3483
21
+ _globals['_KINEMATICSFILEFORMAT']._serialized_start = 3761
22
+ _globals['_KINEMATICSFILEFORMAT']._serialized_end = 3888
23
+ _globals['_RESOURCENAME']._serialized_start = 139
24
+ _globals['_RESOURCENAME']._serialized_end = 249
25
+ _globals['_POSE']._serialized_start = 251
26
+ _globals['_POSE']._serialized_end = 372
27
+ _globals['_ORIENTATION']._serialized_start = 374
28
+ _globals['_ORIENTATION']._serialized_end = 460
29
+ _globals['_POSEINFRAME']._serialized_start = 462
30
+ _globals['_POSEINFRAME']._serialized_end = 558
31
+ _globals['_VECTOR3']._serialized_start = 560
32
+ _globals['_VECTOR3']._serialized_end = 611
33
+ _globals['_SPHERE']._serialized_start = 613
34
+ _globals['_SPHERE']._serialized_end = 650
35
+ _globals['_CAPSULE']._serialized_start = 652
36
+ _globals['_CAPSULE']._serialized_end = 719
37
+ _globals['_RECTANGULARPRISM']._serialized_start = 721
38
+ _globals['_RECTANGULARPRISM']._serialized_end = 789
39
+ _globals['_MESH']._serialized_start = 791
40
+ _globals['_MESH']._serialized_end = 852
41
+ _globals['_POINTCLOUD']._serialized_start = 854
42
+ _globals['_POINTCLOUD']._serialized_end = 899
43
+ _globals['_GEOMETRY']._serialized_start = 902
44
+ _globals['_GEOMETRY']._serialized_end = 1260
45
+ _globals['_GEOMETRIESINFRAME']._serialized_start = 1262
46
+ _globals['_GEOMETRIESINFRAME']._serialized_end = 1380
47
+ _globals['_POINTCLOUDOBJECT']._serialized_start = 1382
48
+ _globals['_POINTCLOUDOBJECT']._serialized_end = 1500
49
+ _globals['_GEOPOINT']._serialized_start = 1502
50
+ _globals['_GEOPOINT']._serialized_end = 1570
51
+ _globals['_GEOGEOMETRY']._serialized_start = 1572
52
+ _globals['_GEOGEOMETRY']._serialized_end = 1697
53
+ _globals['_TRANSFORM']._serialized_start = 1700
54
+ _globals['_TRANSFORM']._serialized_end = 2017
55
+ _globals['_WORLDSTATE']._serialized_start = 2020
56
+ _globals['_WORLDSTATE']._serialized_end = 2156
57
+ _globals['_ACTUATORSTATUS']._serialized_start = 2158
58
+ _globals['_ACTUATORSTATUS']._serialized_end = 2203
59
+ _globals['_RESPONSEMETADATA']._serialized_start = 2205
60
+ _globals['_RESPONSEMETADATA']._serialized_end = 2305
61
+ _globals['_DOCOMMANDREQUEST']._serialized_start = 2307
62
+ _globals['_DOCOMMANDREQUEST']._serialized_end = 2396
63
+ _globals['_DOCOMMANDRESPONSE']._serialized_start = 2398
64
+ _globals['_DOCOMMANDRESPONSE']._serialized_end = 2466
65
+ _globals['_GETKINEMATICSREQUEST']._serialized_start = 2468
66
+ _globals['_GETKINEMATICSREQUEST']._serialized_end = 2557
67
+ _globals['_GETKINEMATICSRESPONSE']._serialized_start = 2559
68
+ _globals['_GETKINEMATICSRESPONSE']._serialized_end = 2685
69
+ _globals['_GETGEOMETRIESREQUEST']._serialized_start = 2687
70
+ _globals['_GETGEOMETRIESREQUEST']._serialized_end = 2776
71
+ _globals['_GETGEOMETRIESRESPONSE']._serialized_start = 2778
72
+ _globals['_GETGEOMETRIESRESPONSE']._serialized_end = 2859
73
+ _globals['_GETREADINGSREQUEST']._serialized_start = 2861
74
+ _globals['_GETREADINGSREQUEST']._serialized_end = 2948
75
+ _globals['_GETREADINGSRESPONSE']._serialized_start = 2951
76
+ _globals['_GETREADINGSRESPONSE']._serialized_end = 3136
77
+ _globals['_GETREADINGSRESPONSE_READINGSENTRY']._serialized_start = 3053
78
+ _globals['_GETREADINGSRESPONSE_READINGSENTRY']._serialized_end = 3136
79
+ _globals['_LOGENTRY']._serialized_start = 3139
80
+ _globals['_LOGENTRY']._serialized_end = 3418
81
+ _globals['_AUDIOINFO']._serialized_start = 3420
82
+ _globals['_AUDIOINFO']._serialized_end = 3526
83
+ _globals['_GETPROPERTIESREQUEST']._serialized_start = 3528
84
+ _globals['_GETPROPERTIESREQUEST']._serialized_end = 3617
85
+ _globals['_GETPROPERTIESRESPONSE']._serialized_start = 3620
86
+ _globals['_GETPROPERTIESRESPONSE']._serialized_end = 3759
@@ -44,22 +44,15 @@ class ResourceName(google.protobuf.message.Message):
44
44
  TYPE_FIELD_NUMBER: builtins.int
45
45
  SUBTYPE_FIELD_NUMBER: builtins.int
46
46
  NAME_FIELD_NUMBER: builtins.int
47
- REMOTE_PATH_FIELD_NUMBER: builtins.int
48
- LOCAL_NAME_FIELD_NUMBER: builtins.int
49
47
  namespace: builtins.str
50
48
  type: builtins.str
51
49
  subtype: builtins.str
52
50
  name: builtins.str
53
- local_name: builtins.str
54
51
 
55
- @property
56
- def remote_path(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
57
- ...
58
-
59
- def __init__(self, *, namespace: builtins.str=..., type: builtins.str=..., subtype: builtins.str=..., name: builtins.str=..., remote_path: collections.abc.Iterable[builtins.str] | None=..., local_name: builtins.str=...) -> None:
52
+ def __init__(self, *, namespace: builtins.str=..., type: builtins.str=..., subtype: builtins.str=..., name: builtins.str=...) -> None:
60
53
  ...
61
54
 
62
- def ClearField(self, field_name: typing.Literal['local_name', b'local_name', 'name', b'name', 'namespace', b'namespace', 'remote_path', b'remote_path', 'subtype', b'subtype', 'type', b'type']) -> None:
55
+ def ClearField(self, field_name: typing.Literal['name', b'name', 'namespace', b'namespace', 'subtype', b'subtype', 'type', b'type']) -> None:
63
56
  ...
64
57
  global___ResourceName = ResourceName
65
58
 
@@ -713,6 +706,71 @@ class LogEntry(google.protobuf.message.Message):
713
706
  def ClearField(self, field_name: typing.Literal['caller', b'caller', 'fields', b'fields', 'host', b'host', 'level', b'level', 'logger_name', b'logger_name', 'message', b'message', 'stack', b'stack', 'time', b'time']) -> None:
714
707
  ...
715
708
  global___LogEntry = LogEntry
709
+
710
+ @typing.final
711
+ class AudioInfo(google.protobuf.message.Message):
712
+ """Information about an audio stream or device."""
713
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
714
+ CODEC_FIELD_NUMBER: builtins.int
715
+ SAMPLE_RATE_HZ_FIELD_NUMBER: builtins.int
716
+ NUM_CHANNELS_FIELD_NUMBER: builtins.int
717
+ codec: builtins.str
718
+ 'Audio codec used for the stream or device (e.g., "pcm16", "pcm32float", "mp3")'
719
+ sample_rate_hz: builtins.int
720
+ 'Sample rate of the audio in Hz'
721
+ num_channels: builtins.int
722
+ 'Number of audio channels in the recording or playback'
723
+
724
+ def __init__(self, *, codec: builtins.str=..., sample_rate_hz: builtins.int=..., num_channels: builtins.int=...) -> None:
725
+ ...
726
+
727
+ def ClearField(self, field_name: typing.Literal['codec', b'codec', 'num_channels', b'num_channels', 'sample_rate_hz', b'sample_rate_hz']) -> None:
728
+ ...
729
+ global___AudioInfo = AudioInfo
730
+
731
+ @typing.final
732
+ class GetPropertiesRequest(google.protobuf.message.Message):
733
+ """Shared properties for AudioIn and AudioOut components."""
734
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
735
+ NAME_FIELD_NUMBER: builtins.int
736
+ EXTRA_FIELD_NUMBER: builtins.int
737
+ name: builtins.str
738
+
739
+ @property
740
+ def extra(self) -> google.protobuf.struct_pb2.Struct:
741
+ ...
742
+
743
+ def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None:
744
+ ...
745
+
746
+ def HasField(self, field_name: typing.Literal['extra', b'extra']) -> builtins.bool:
747
+ ...
748
+
749
+ def ClearField(self, field_name: typing.Literal['extra', b'extra', 'name', b'name']) -> None:
750
+ ...
751
+ global___GetPropertiesRequest = GetPropertiesRequest
752
+
753
+ @typing.final
754
+ class GetPropertiesResponse(google.protobuf.message.Message):
755
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
756
+ SUPPORTED_CODECS_FIELD_NUMBER: builtins.int
757
+ SAMPLE_RATE_HZ_FIELD_NUMBER: builtins.int
758
+ NUM_CHANNELS_FIELD_NUMBER: builtins.int
759
+ sample_rate_hz: builtins.int
760
+ 'current sample rate in Hz'
761
+ num_channels: builtins.int
762
+ 'Maximum number of audio channels supported (e.g., 1 for mono, 2 for stereo)'
763
+
764
+ @property
765
+ def supported_codecs(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
766
+ """List of audio codecs supported by the system (e.g., "mp3", "pcm16", "pcm32float")"""
767
+
768
+ def __init__(self, *, supported_codecs: collections.abc.Iterable[builtins.str] | None=..., sample_rate_hz: builtins.int=..., num_channels: builtins.int=...) -> None:
769
+ ...
770
+
771
+ def ClearField(self, field_name: typing.Literal['num_channels', b'num_channels', 'sample_rate_hz', b'sample_rate_hz', 'supported_codecs', b'supported_codecs']) -> None:
772
+ ...
773
+ global___GetPropertiesResponse = GetPropertiesResponse
716
774
  SAFETY_HEARTBEAT_MONITORED_FIELD_NUMBER: builtins.int
717
775
  safety_heartbeat_monitored: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[google.protobuf.descriptor_pb2.MethodOptions, builtins.bool]
718
776
  'safety_heartbeat_monitored is used on methods to signify that if a session is in use\nand the session was the last to call this method, the resource associated with the\nmethod will be stopped.\n'
File without changes
File without changes
@@ -0,0 +1,54 @@
1
+ import abc
2
+ import typing
3
+ import grpclib.const
4
+ import grpclib.client
5
+ import grpclib.exceptions
6
+ if typing.TYPE_CHECKING:
7
+ import grpclib.server
8
+ from .... import common
9
+ import google.api.annotations_pb2
10
+ import google.protobuf.struct_pb2
11
+ from .... import component
12
+
13
+ class AudioInServiceBase(abc.ABC):
14
+
15
+ @abc.abstractmethod
16
+ async def GetAudio(self, stream: 'grpclib.server.Stream[component.audioin.v1.audioin_pb2.GetAudioRequest, component.audioin.v1.audioin_pb2.GetAudioResponse]') -> None:
17
+ pass
18
+
19
+ @abc.abstractmethod
20
+ async def GetProperties(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetPropertiesRequest, common.v1.common_pb2.GetPropertiesResponse]') -> None:
21
+ pass
22
+
23
+ @abc.abstractmethod
24
+ async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None:
25
+ pass
26
+
27
+ @abc.abstractmethod
28
+ async def GetGeometries(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]') -> None:
29
+ pass
30
+
31
+ def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]:
32
+ return {'/viam.component.audioin.v1.AudioInService/GetAudio': grpclib.const.Handler(self.GetAudio, grpclib.const.Cardinality.UNARY_STREAM, component.audioin.v1.audioin_pb2.GetAudioRequest, component.audioin.v1.audioin_pb2.GetAudioResponse), '/viam.component.audioin.v1.AudioInService/GetProperties': grpclib.const.Handler(self.GetProperties, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetPropertiesRequest, common.v1.common_pb2.GetPropertiesResponse), '/viam.component.audioin.v1.AudioInService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse), '/viam.component.audioin.v1.AudioInService/GetGeometries': grpclib.const.Handler(self.GetGeometries, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse)}
33
+
34
+ class UnimplementedAudioInServiceBase(AudioInServiceBase):
35
+
36
+ async def GetAudio(self, stream: 'grpclib.server.Stream[component.audioin.v1.audioin_pb2.GetAudioRequest, component.audioin.v1.audioin_pb2.GetAudioResponse]') -> None:
37
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
38
+
39
+ async def GetProperties(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetPropertiesRequest, common.v1.common_pb2.GetPropertiesResponse]') -> None:
40
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
41
+
42
+ async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None:
43
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
44
+
45
+ async def GetGeometries(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]') -> None:
46
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
47
+
48
+ class AudioInServiceStub:
49
+
50
+ def __init__(self, channel: grpclib.client.Channel) -> None:
51
+ self.GetAudio = grpclib.client.UnaryStreamMethod(channel, '/viam.component.audioin.v1.AudioInService/GetAudio', component.audioin.v1.audioin_pb2.GetAudioRequest, component.audioin.v1.audioin_pb2.GetAudioResponse)
52
+ self.GetProperties = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.audioin.v1.AudioInService/GetProperties', common.v1.common_pb2.GetPropertiesRequest, common.v1.common_pb2.GetPropertiesResponse)
53
+ self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.audioin.v1.AudioInService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)
54
+ self.GetGeometries = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.audioin.v1.AudioInService/GetGeometries', common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse)
@@ -0,0 +1,34 @@
1
+ """Generated protocol buffer code."""
2
+ from google.protobuf import descriptor as _descriptor
3
+ from google.protobuf import descriptor_pool as _descriptor_pool
4
+ from google.protobuf import runtime_version as _runtime_version
5
+ from google.protobuf import symbol_database as _symbol_database
6
+ from google.protobuf.internal import builder as _builder
7
+ _runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 5, 29, 2, '', 'component/audioin/v1/audioin.proto')
8
+ _sym_db = _symbol_database.Default()
9
+ from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2
10
+ from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
11
+ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
12
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n"component/audioin/v1/audioin.proto\x12\x19viam.component.audioin.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"\xfa\x01\n\x0fGetAudioRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12)\n\x10duration_seconds\x18\x02 \x01(\x02R\x0fdurationSeconds\x12\x14\n\x05codec\x18\x03 \x01(\tR\x05codec\x12\x1d\n\nrequest_id\x18\x04 \x01(\tR\trequestId\x12D\n\x1eprevious_timestamp_nanoseconds\x18\x05 \x01(\x03R\x1cpreviousTimestampNanoseconds\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"n\n\x10GetAudioResponse\x12;\n\x05audio\x18\x01 \x01(\x0b2%.viam.component.audioin.v1.AudioChunkR\x05audio\x12\x1d\n\nrequest_id\x18\x02 \x01(\tR\trequestId"\xfd\x01\n\nAudioChunk\x12\x1d\n\naudio_data\x18\x01 \x01(\x0cR\taudioData\x128\n\naudio_info\x18\x02 \x01(\x0b2\x19.viam.common.v1.AudioInfoR\taudioInfo\x12>\n\x1bstart_timestamp_nanoseconds\x18\x03 \x01(\x03R\x19startTimestampNanoseconds\x12:\n\x19end_timestamp_nanoseconds\x18\x04 \x01(\x03R\x17endTimestampNanoseconds\x12\x1a\n\x08sequence\x18\x05 \x01(\x05R\x08sequence2\xee\x04\n\x0eAudioInService\x12\x9e\x01\n\x08GetAudio\x12*.viam.component.audioin.v1.GetAudioRequest\x1a+.viam.component.audioin.v1.GetAudioResponse"7\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/audioin/{name}/get_audio0\x01\x12\x96\x01\n\rGetProperties\x12$.viam.common.v1.GetPropertiesRequest\x1a%.viam.common.v1.GetPropertiesResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/audioin/{name}/properties\x12\x88\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"6\x82\xd3\xe4\x93\x020"./viam/api/v1/service/audioin/{name}/do_command\x12\x96\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/audioin/{name}/geometriesBE\n\x1dcom.viam.component.audioin.v1Z$go.viam.com/api/component/audioin/v1b\x06proto3')
13
+ _globals = globals()
14
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
15
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'component.audioin.v1.audioin_pb2', _globals)
16
+ if not _descriptor._USE_C_DESCRIPTORS:
17
+ _globals['DESCRIPTOR']._loaded_options = None
18
+ _globals['DESCRIPTOR']._serialized_options = b'\n\x1dcom.viam.component.audioin.v1Z$go.viam.com/api/component/audioin/v1'
19
+ _globals['_AUDIOINSERVICE'].methods_by_name['GetAudio']._loaded_options = None
20
+ _globals['_AUDIOINSERVICE'].methods_by_name['GetAudio']._serialized_options = b'\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/audioin/{name}/get_audio'
21
+ _globals['_AUDIOINSERVICE'].methods_by_name['GetProperties']._loaded_options = None
22
+ _globals['_AUDIOINSERVICE'].methods_by_name['GetProperties']._serialized_options = b'\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/audioin/{name}/properties'
23
+ _globals['_AUDIOINSERVICE'].methods_by_name['DoCommand']._loaded_options = None
24
+ _globals['_AUDIOINSERVICE'].methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x020"./viam/api/v1/service/audioin/{name}/do_command'
25
+ _globals['_AUDIOINSERVICE'].methods_by_name['GetGeometries']._loaded_options = None
26
+ _globals['_AUDIOINSERVICE'].methods_by_name['GetGeometries']._serialized_options = b'\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/audioin/{name}/geometries'
27
+ _globals['_GETAUDIOREQUEST']._serialized_start = 150
28
+ _globals['_GETAUDIOREQUEST']._serialized_end = 400
29
+ _globals['_GETAUDIORESPONSE']._serialized_start = 402
30
+ _globals['_GETAUDIORESPONSE']._serialized_end = 512
31
+ _globals['_AUDIOCHUNK']._serialized_start = 515
32
+ _globals['_AUDIOCHUNK']._serialized_end = 768
33
+ _globals['_AUDIOINSERVICE']._serialized_start = 771
34
+ _globals['_AUDIOINSERVICE']._serialized_end = 1393
@@ -0,0 +1,94 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+ import builtins
6
+ from .... import common
7
+ import google.protobuf.descriptor
8
+ import google.protobuf.message
9
+ import google.protobuf.struct_pb2
10
+ import typing
11
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
12
+
13
+ @typing.final
14
+ class GetAudioRequest(google.protobuf.message.Message):
15
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
16
+ NAME_FIELD_NUMBER: builtins.int
17
+ DURATION_SECONDS_FIELD_NUMBER: builtins.int
18
+ CODEC_FIELD_NUMBER: builtins.int
19
+ REQUEST_ID_FIELD_NUMBER: builtins.int
20
+ PREVIOUS_TIMESTAMP_NANOSECONDS_FIELD_NUMBER: builtins.int
21
+ EXTRA_FIELD_NUMBER: builtins.int
22
+ name: builtins.str
23
+ duration_seconds: builtins.float
24
+ 'Desired duration of audio stream\n If not set or set to 0, the stream is infinite\n '
25
+ codec: builtins.str
26
+ 'Requested audio codec for the response (e.g., "mp3", "pcm16")'
27
+ request_id: builtins.str
28
+ "To match a request to it's responses"
29
+ previous_timestamp_nanoseconds: builtins.int
30
+ 'Timestamp of the previous audio chunk, in nanoseconds, used for resuming and continuity.'
31
+
32
+ @property
33
+ def extra(self) -> google.protobuf.struct_pb2.Struct:
34
+ ...
35
+
36
+ def __init__(self, *, name: builtins.str=..., duration_seconds: builtins.float=..., codec: builtins.str=..., request_id: builtins.str=..., previous_timestamp_nanoseconds: builtins.int=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None:
37
+ ...
38
+
39
+ def HasField(self, field_name: typing.Literal['extra', b'extra']) -> builtins.bool:
40
+ ...
41
+
42
+ def ClearField(self, field_name: typing.Literal['codec', b'codec', 'duration_seconds', b'duration_seconds', 'extra', b'extra', 'name', b'name', 'previous_timestamp_nanoseconds', b'previous_timestamp_nanoseconds', 'request_id', b'request_id']) -> None:
43
+ ...
44
+ global___GetAudioRequest = GetAudioRequest
45
+
46
+ @typing.final
47
+ class GetAudioResponse(google.protobuf.message.Message):
48
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
49
+ AUDIO_FIELD_NUMBER: builtins.int
50
+ REQUEST_ID_FIELD_NUMBER: builtins.int
51
+ request_id: builtins.str
52
+
53
+ @property
54
+ def audio(self) -> global___AudioChunk:
55
+ ...
56
+
57
+ def __init__(self, *, audio: global___AudioChunk | None=..., request_id: builtins.str=...) -> None:
58
+ ...
59
+
60
+ def HasField(self, field_name: typing.Literal['audio', b'audio']) -> builtins.bool:
61
+ ...
62
+
63
+ def ClearField(self, field_name: typing.Literal['audio', b'audio', 'request_id', b'request_id']) -> None:
64
+ ...
65
+ global___GetAudioResponse = GetAudioResponse
66
+
67
+ @typing.final
68
+ class AudioChunk(google.protobuf.message.Message):
69
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
70
+ AUDIO_DATA_FIELD_NUMBER: builtins.int
71
+ AUDIO_INFO_FIELD_NUMBER: builtins.int
72
+ START_TIMESTAMP_NANOSECONDS_FIELD_NUMBER: builtins.int
73
+ END_TIMESTAMP_NANOSECONDS_FIELD_NUMBER: builtins.int
74
+ SEQUENCE_FIELD_NUMBER: builtins.int
75
+ audio_data: builtins.bytes
76
+ 'Audio data for this chunk, encoded according to the requested codec.'
77
+ start_timestamp_nanoseconds: builtins.int
78
+ end_timestamp_nanoseconds: builtins.int
79
+ sequence: builtins.int
80
+ 'Sequential chunk number'
81
+
82
+ @property
83
+ def audio_info(self) -> common.v1.common_pb2.AudioInfo:
84
+ """Info about the audio stream for this chunk"""
85
+
86
+ def __init__(self, *, audio_data: builtins.bytes=..., audio_info: common.v1.common_pb2.AudioInfo | None=..., start_timestamp_nanoseconds: builtins.int=..., end_timestamp_nanoseconds: builtins.int=..., sequence: builtins.int=...) -> None:
87
+ ...
88
+
89
+ def HasField(self, field_name: typing.Literal['audio_info', b'audio_info']) -> builtins.bool:
90
+ ...
91
+
92
+ def ClearField(self, field_name: typing.Literal['audio_data', b'audio_data', 'audio_info', b'audio_info', 'end_timestamp_nanoseconds', b'end_timestamp_nanoseconds', 'sequence', b'sequence', 'start_timestamp_nanoseconds', b'start_timestamp_nanoseconds']) -> None:
93
+ ...
94
+ global___AudioChunk = AudioChunk
File without changes
File without changes
@@ -0,0 +1,54 @@
1
+ import abc
2
+ import typing
3
+ import grpclib.const
4
+ import grpclib.client
5
+ import grpclib.exceptions
6
+ if typing.TYPE_CHECKING:
7
+ import grpclib.server
8
+ from .... import common
9
+ import google.api.annotations_pb2
10
+ import google.protobuf.struct_pb2
11
+ from .... import component
12
+
13
+ class AudioOutServiceBase(abc.ABC):
14
+
15
+ @abc.abstractmethod
16
+ async def Play(self, stream: 'grpclib.server.Stream[component.audioout.v1.audioout_pb2.PlayRequest, component.audioout.v1.audioout_pb2.PlayResponse]') -> None:
17
+ pass
18
+
19
+ @abc.abstractmethod
20
+ async def GetProperties(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetPropertiesRequest, common.v1.common_pb2.GetPropertiesResponse]') -> None:
21
+ pass
22
+
23
+ @abc.abstractmethod
24
+ async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None:
25
+ pass
26
+
27
+ @abc.abstractmethod
28
+ async def GetGeometries(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]') -> None:
29
+ pass
30
+
31
+ def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]:
32
+ return {'/viam.component.audioout.v1.AudioOutService/Play': grpclib.const.Handler(self.Play, grpclib.const.Cardinality.UNARY_UNARY, component.audioout.v1.audioout_pb2.PlayRequest, component.audioout.v1.audioout_pb2.PlayResponse), '/viam.component.audioout.v1.AudioOutService/GetProperties': grpclib.const.Handler(self.GetProperties, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetPropertiesRequest, common.v1.common_pb2.GetPropertiesResponse), '/viam.component.audioout.v1.AudioOutService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse), '/viam.component.audioout.v1.AudioOutService/GetGeometries': grpclib.const.Handler(self.GetGeometries, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse)}
33
+
34
+ class UnimplementedAudioOutServiceBase(AudioOutServiceBase):
35
+
36
+ async def Play(self, stream: 'grpclib.server.Stream[component.audioout.v1.audioout_pb2.PlayRequest, component.audioout.v1.audioout_pb2.PlayResponse]') -> None:
37
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
38
+
39
+ async def GetProperties(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetPropertiesRequest, common.v1.common_pb2.GetPropertiesResponse]') -> None:
40
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
41
+
42
+ async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None:
43
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
44
+
45
+ async def GetGeometries(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]') -> None:
46
+ raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
47
+
48
+ class AudioOutServiceStub:
49
+
50
+ def __init__(self, channel: grpclib.client.Channel) -> None:
51
+ self.Play = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.audioout.v1.AudioOutService/Play', component.audioout.v1.audioout_pb2.PlayRequest, component.audioout.v1.audioout_pb2.PlayResponse)
52
+ self.GetProperties = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.audioout.v1.AudioOutService/GetProperties', common.v1.common_pb2.GetPropertiesRequest, common.v1.common_pb2.GetPropertiesResponse)
53
+ self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.audioout.v1.AudioOutService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)
54
+ self.GetGeometries = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.audioout.v1.AudioOutService/GetGeometries', common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse)
@@ -0,0 +1,32 @@
1
+ """Generated protocol buffer code."""
2
+ from google.protobuf import descriptor as _descriptor
3
+ from google.protobuf import descriptor_pool as _descriptor_pool
4
+ from google.protobuf import runtime_version as _runtime_version
5
+ from google.protobuf import symbol_database as _symbol_database
6
+ from google.protobuf.internal import builder as _builder
7
+ _runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 5, 29, 2, '', 'component/audioout/v1/audioout.proto')
8
+ _sym_db = _symbol_database.Default()
9
+ from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2
10
+ from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
11
+ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
12
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$component/audioout/v1/audioout.proto\x12\x1aviam.component.audioout.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"\xa9\x01\n\x0bPlayRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1d\n\naudio_data\x18\x02 \x01(\x0cR\taudioData\x128\n\naudio_info\x18\x03 \x01(\x0b2\x19.viam.common.v1.AudioInfoR\taudioInfo\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cPlayResponse2\xe2\x04\n\x0fAudioOutService\x12\x8e\x01\n\x04Play\x12\'.viam.component.audioout.v1.PlayRequest\x1a(.viam.component.audioout.v1.PlayResponse"3\x82\xd3\xe4\x93\x02-"+/viam/api/v1/component/audioout/{name}/play\x12\x97\x01\n\rGetProperties\x12$.viam.common.v1.GetPropertiesRequest\x1a%.viam.common.v1.GetPropertiesResponse"9\x82\xd3\xe4\x93\x023\x121/viam/api/v1/component/audioout/{name}/properties\x12\x89\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"7\x82\xd3\xe4\x93\x021"//viam/api/v1/service/audioout/{name}/do_command\x12\x97\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"9\x82\xd3\xe4\x93\x023\x121/viam/api/v1/component/audioout/{name}/geometriesBG\n\x1ecom.viam.component.audioout.v1Z%go.viam.com/api/component/audioout/v1b\x06proto3')
13
+ _globals = globals()
14
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
15
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'component.audioout.v1.audioout_pb2', _globals)
16
+ if not _descriptor._USE_C_DESCRIPTORS:
17
+ _globals['DESCRIPTOR']._loaded_options = None
18
+ _globals['DESCRIPTOR']._serialized_options = b'\n\x1ecom.viam.component.audioout.v1Z%go.viam.com/api/component/audioout/v1'
19
+ _globals['_AUDIOOUTSERVICE'].methods_by_name['Play']._loaded_options = None
20
+ _globals['_AUDIOOUTSERVICE'].methods_by_name['Play']._serialized_options = b'\x82\xd3\xe4\x93\x02-"+/viam/api/v1/component/audioout/{name}/play'
21
+ _globals['_AUDIOOUTSERVICE'].methods_by_name['GetProperties']._loaded_options = None
22
+ _globals['_AUDIOOUTSERVICE'].methods_by_name['GetProperties']._serialized_options = b'\x82\xd3\xe4\x93\x023\x121/viam/api/v1/component/audioout/{name}/properties'
23
+ _globals['_AUDIOOUTSERVICE'].methods_by_name['DoCommand']._loaded_options = None
24
+ _globals['_AUDIOOUTSERVICE'].methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x021"//viam/api/v1/service/audioout/{name}/do_command'
25
+ _globals['_AUDIOOUTSERVICE'].methods_by_name['GetGeometries']._loaded_options = None
26
+ _globals['_AUDIOOUTSERVICE'].methods_by_name['GetGeometries']._serialized_options = b'\x82\xd3\xe4\x93\x023\x121/viam/api/v1/component/audioout/{name}/geometries'
27
+ _globals['_PLAYREQUEST']._serialized_start = 153
28
+ _globals['_PLAYREQUEST']._serialized_end = 322
29
+ _globals['_PLAYRESPONSE']._serialized_start = 324
30
+ _globals['_PLAYRESPONSE']._serialized_end = 338
31
+ _globals['_AUDIOOUTSERVICE']._serialized_start = 341
32
+ _globals['_AUDIOOUTSERVICE']._serialized_end = 951
@@ -0,0 +1,47 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+ import builtins
6
+ from .... import common
7
+ import google.protobuf.descriptor
8
+ import google.protobuf.message
9
+ import google.protobuf.struct_pb2
10
+ import typing
11
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
12
+
13
+ @typing.final
14
+ class PlayRequest(google.protobuf.message.Message):
15
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
16
+ NAME_FIELD_NUMBER: builtins.int
17
+ AUDIO_DATA_FIELD_NUMBER: builtins.int
18
+ AUDIO_INFO_FIELD_NUMBER: builtins.int
19
+ EXTRA_FIELD_NUMBER: builtins.int
20
+ name: builtins.str
21
+ audio_data: builtins.bytes
22
+
23
+ @property
24
+ def audio_info(self) -> common.v1.common_pb2.AudioInfo:
25
+ """Info describing the audio_data"""
26
+
27
+ @property
28
+ def extra(self) -> google.protobuf.struct_pb2.Struct:
29
+ ...
30
+
31
+ def __init__(self, *, name: builtins.str=..., audio_data: builtins.bytes=..., audio_info: common.v1.common_pb2.AudioInfo | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None:
32
+ ...
33
+
34
+ def HasField(self, field_name: typing.Literal['audio_info', b'audio_info', 'extra', b'extra']) -> builtins.bool:
35
+ ...
36
+
37
+ def ClearField(self, field_name: typing.Literal['audio_data', b'audio_data', 'audio_info', b'audio_info', 'extra', b'extra', 'name', b'name']) -> None:
38
+ ...
39
+ global___PlayRequest = PlayRequest
40
+
41
+ @typing.final
42
+ class PlayResponse(google.protobuf.message.Message):
43
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
44
+
45
+ def __init__(self) -> None:
46
+ ...
47
+ global___PlayResponse = PlayResponse
@@ -5,6 +5,7 @@ Do not edit manually!
5
5
 
6
6
  from ...gen.common.v1.common_pb2 import (
7
7
  ActuatorStatus,
8
+ AudioInfo,
8
9
  Capsule,
9
10
  DoCommandRequest,
10
11
  DoCommandResponse,
@@ -16,6 +17,8 @@ from ...gen.common.v1.common_pb2 import (
16
17
  GetGeometriesResponse,
17
18
  GetKinematicsRequest,
18
19
  GetKinematicsResponse,
20
+ GetPropertiesRequest,
21
+ GetPropertiesResponse,
19
22
  GetReadingsRequest,
20
23
  GetReadingsResponse,
21
24
  KinematicsFileFormat,
@@ -37,6 +40,7 @@ from ...gen.common.v1.common_pb2 import (
37
40
 
38
41
  __all__ = [
39
42
  "ActuatorStatus",
43
+ "AudioInfo",
40
44
  "Capsule",
41
45
  "DoCommandRequest",
42
46
  "DoCommandResponse",
@@ -48,6 +52,8 @@ __all__ = [
48
52
  "GetGeometriesResponse",
49
53
  "GetKinematicsRequest",
50
54
  "GetKinematicsResponse",
55
+ "GetPropertiesRequest",
56
+ "GetPropertiesResponse",
51
57
  "GetReadingsRequest",
52
58
  "GetReadingsResponse",
53
59
  "KinematicsFileFormat",
@@ -0,0 +1,16 @@
1
+ """
2
+ @generated by Viam.
3
+ Do not edit manually!
4
+ """
5
+
6
+ from ....gen.component.audioin.v1.audioin_grpc import AudioInServiceBase, AudioInServiceStub, UnimplementedAudioInServiceBase
7
+ from ....gen.component.audioin.v1.audioin_pb2 import AudioChunk, GetAudioRequest, GetAudioResponse
8
+
9
+ __all__ = [
10
+ "AudioInServiceBase",
11
+ "AudioInServiceStub",
12
+ "UnimplementedAudioInServiceBase",
13
+ "AudioChunk",
14
+ "GetAudioRequest",
15
+ "GetAudioResponse",
16
+ ]
@@ -0,0 +1,15 @@
1
+ """
2
+ @generated by Viam.
3
+ Do not edit manually!
4
+ """
5
+
6
+ from ....gen.component.audioout.v1.audioout_grpc import AudioOutServiceBase, AudioOutServiceStub, UnimplementedAudioOutServiceBase
7
+ from ....gen.component.audioout.v1.audioout_pb2 import PlayRequest, PlayResponse
8
+
9
+ __all__ = [
10
+ "AudioOutServiceBase",
11
+ "AudioOutServiceStub",
12
+ "UnimplementedAudioOutServiceBase",
13
+ "PlayRequest",
14
+ "PlayResponse",
15
+ ]
viam/rpc/dial.py CHANGED
@@ -31,7 +31,7 @@ LOGGER = logging.getLogger(__name__)
31
31
  class Credentials:
32
32
  """Credentials to connect to the machine and app.viam.com."""
33
33
 
34
- type: Union[Literal["robot-location-secret"], Literal["robot-secret"], Literal["api-key"]]
34
+ type: Union[Literal["robot-secret"], Literal["api-key"]]
35
35
  """The type of credential
36
36
  """
37
37
 
viam/version_metadata.py CHANGED
@@ -1,4 +1,4 @@
1
- __version__ = "0.57.0"
1
+ __version__ = "0.58.0"
2
2
 
3
- API_VERSION = "v0.1.479"
3
+ API_VERSION = "v0.1.483"
4
4
  SDK_VERSION = __version__
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: viam-sdk
3
- Version: 0.57.0
3
+ Version: 0.58.0
4
4
  Summary: Viam Robotics Python SDK
5
5
  Project-URL: Homepage, https://www.viam.com
6
6
  Project-URL: Documentation, https://python.viam.dev
@@ -6,15 +6,15 @@ viam/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  viam/sessions_client.py,sha256=FsBfEKoELtm1pHCtqdLceK_g5N2km0f_usYFtG6LVN4,9811
7
7
  viam/streams.py,sha256=VoM8FSMuGZmv4RPDHQy4FfHvJq36r4NY--gkQoaFkzs,1042
8
8
  viam/utils.py,sha256=xz7qb6bM-2qzOSQSsYHBheBidMbUAlQ2dHCi_GyPFnk,13579
9
- viam/version_metadata.py,sha256=406iNFUeYYMN2dNbAv0sGEXWmh4KQXLLNDaNJ6mAuT8,75
9
+ viam/version_metadata.py,sha256=6q391Qw2bYwfJRflRk8E73lNmTvFQ5TtmwVAQzhPHR0,75
10
10
  viam/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  viam/app/_logs.py,sha256=hWxRELRJCux-fQIQtDwztD3odjkBm7Vo8HUQ7XGICek,806
12
- viam/app/app_client.py,sha256=7Iou_rucMD3e191uT3X7OaROiOsZTCEm9nAf39L9uXI,115274
13
- viam/app/billing_client.py,sha256=ZR37QH_dMAOO14txVYxhzENXegP16w-R1t65Nq2Gz0U,7222
12
+ viam/app/app_client.py,sha256=HP3zW3PpZaOYnovcCDNPbbL12exZaJF03FeA7SJHkkU,114913
13
+ viam/app/billing_client.py,sha256=ApmSoFRUM8J614l4GMlgE7kVCbB6sT6z2PBq7FKZYdw,7483
14
14
  viam/app/data_client.py,sha256=0ORyw7g-DGl5wnBc715tBVriQQF8SxoencmO0GsNRL8,95937
15
15
  viam/app/ml_training_client.py,sha256=tu4ecHL4dNyrGFxVkmqYnnlN50iI0kB13evVZ3ed4Vo,9257
16
16
  viam/app/provisioning_client.py,sha256=Ft_HIYOHTXja1Q8Tc4gvsixntmNtlizs0x1azr51O0c,3524
17
- viam/app/viam_client.py,sha256=AyqDs4le2mbvqjeqoRGB246f3wZRM69o3VuOb86daSs,11496
17
+ viam/app/viam_client.py,sha256=Be-YWxGQATCj8-mojKkl0qgE9eGrzZO2e1J9fCge_yk,11272
18
18
  viam/components/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
19
  viam/components/component_base.py,sha256=NsVsDHxfZ47waBk7vY6tRu2iFJWJQzmF0m_gGz3Y0_M,2299
20
20
  viam/components/arm/__init__.py,sha256=PzEr5eFLJiTO8eG1-2uisgtad6AiLB5_U63BHxO_Um4,463
@@ -141,8 +141,8 @@ viam/gen/app/v1/app_grpc.py,sha256=GBoTfxN_hxmYk9Xq9lYh4hNxriWYA2OPl3DyTuqjObc,9
141
141
  viam/gen/app/v1/app_pb2.py,sha256=BjgbE9wi7gawhT2-AufbXMOprM93nIh9PXLMxd6UJ2k,113679
142
142
  viam/gen/app/v1/app_pb2.pyi,sha256=zzBcM-k_7Ce424UHb3q48Nen9UrYWrxbK6eemUZBPk4,236743
143
143
  viam/gen/app/v1/billing_grpc.py,sha256=D8xx5sp0BZ1gvVtKP7ErNBTX3WkMS_Q_s5zchXhBE18,8365
144
- viam/gen/app/v1/billing_pb2.py,sha256=olUCkGQp-khHLv96A-13feJNQof16MTxXBhSNLtYm3w,16415
145
- viam/gen/app/v1/billing_pb2.pyi,sha256=bRmQ7uhCjWPjtCN1kb5rLrSL7G1AaNzM0CstRA_r1R4,26582
144
+ viam/gen/app/v1/billing_pb2.py,sha256=GF6mnqjSZklbNkPkm66izUvFbEdC2vV_D1h1sL8Fb6A,16472
145
+ viam/gen/app/v1/billing_pb2.pyi,sha256=RG-snwto55xfqhP8-umuG1BPcfN1adLe4lOgJiqeuEw,26729
146
146
  viam/gen/app/v1/end_user_grpc.py,sha256=Y1Cap6qcBeik-lHt2SneDEdalgefThqAX_-6ZfsRpEc,5022
147
147
  viam/gen/app/v1/end_user_pb2.py,sha256=gudiNcgz_ZQAaDAYzN_QznQfYV4-fteeRhugXPFeQMY,6421
148
148
  viam/gen/app/v1/end_user_pb2.pyi,sha256=SIdI1_3370vTBGhccOKuntmebwJ2U9XjFuxa2dE6OS0,7723
@@ -152,19 +152,29 @@ viam/gen/app/v1/robot_pb2.pyi,sha256=meL1yTi8YYivghGkP-V0ml0U0c1WZeFEsoKHCr89B3M
152
152
  viam/gen/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
153
153
  viam/gen/common/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
154
154
  viam/gen/common/v1/common_grpc.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
155
- viam/gen/common/v1/common_pb2.py,sha256=qPFuRDE3yUKbHf-oVvg_8cgplh4nET90awSCjhLg-bI,10533
156
- viam/gen/common/v1/common_pb2.pyi,sha256=qO2cGIoBiCjCV_Dt4NcKmkq0UDSLMpZ_D7OrrqlRZUk,29856
155
+ viam/gen/common/v1/common_pb2.py,sha256=kwuz4tx2KjYIWWVvBTOuB9tTzPyw9zwrc1kOk4JheTU,11307
156
+ viam/gen/common/v1/common_pb2.pyi,sha256=ZtbMPT0nKXueXOHkQ5PoAmN8e2zpWSrQw_iYqQhT_C8,32219
157
157
  viam/gen/component/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
158
158
  viam/gen/component/arm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
159
159
  viam/gen/component/arm/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
160
160
  viam/gen/component/arm/v1/arm_grpc.py,sha256=Hb2BTtSNn-II-Gx9rvX_wSzfmZS5fnBufQvL8NXJceY,9565
161
161
  viam/gen/component/arm/v1/arm_pb2.py,sha256=6fprcr9lulh-ibVx_MN02zTf8LaqsjJSYaACVEdYDYY,10431
162
162
  viam/gen/component/arm/v1/arm_pb2.pyi,sha256=xWRVRYXkpw-_OHJOC2gOAijLotu0i-qtwuifoVsNNu0,13177
163
+ viam/gen/component/audioin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
164
+ viam/gen/component/audioin/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
165
+ viam/gen/component/audioin/v1/audioin_grpc.py,sha256=jHalqvl9WJrEDVzWAWRhY5de-qDGnafB88wnlNTr3U8,4063
166
+ viam/gen/component/audioin/v1/audioin_pb2.py,sha256=MBhTqi12PZ8iOd4DyqqytdpHp4qE_ikiLPkl2NrTmzw,4582
167
+ viam/gen/component/audioin/v1/audioin_pb2.pyi,sha256=f4hgc74BeOEr8PqaIpPnUxBY-t6onFcvOm-NXrx6fxI,4015
163
168
  viam/gen/component/audioinput/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
164
169
  viam/gen/component/audioinput/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
165
170
  viam/gen/component/audioinput/v1/audioinput_grpc.py,sha256=w9T0uVRR9Fe7T2A6wbtxahgRyNojghf8v0k3GbF05So,5140
166
171
  viam/gen/component/audioinput/v1/audioinput_pb2.py,sha256=5wP6g28sK7x0rujfRnbTWI3v_100G6NR98wB-rAnIjQ,6061
167
172
  viam/gen/component/audioinput/v1/audioinput_pb2.pyi,sha256=dlo9mO564r8hVaRI3PnAITmX241V8nk8pSijn2Jl9XU,6865
173
+ viam/gen/component/audioout/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
174
+ viam/gen/component/audioout/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
175
+ viam/gen/component/audioout/v1/audioout_grpc.py,sha256=YHFArC9XcevSSX2lfwLnmUb9eLuzo1WamYRTEfCt2_o,4041
176
+ viam/gen/component/audioout/v1/audioout_pb2.py,sha256=8t_452VH1yLJ5rzGOpuPrdzIv-7i2FfM0cJZH-Nwezg,3821
177
+ viam/gen/component/audioout/v1/audioout_pb2.pyi,sha256=AvtAPtKUemzRN0bAQqxb8ch_mmKqFR26E8vybNlUxps,1569
168
178
  viam/gen/component/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
169
179
  viam/gen/component/base/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
170
180
  viam/gen/component/base/v1/base_grpc.py,sha256=xB06ix0HCm9efr5sswh85LWmpOSDdZ-9PcIZt-TdVDQ,8257
@@ -381,10 +391,12 @@ viam/proto/app/datasync/__init__.py,sha256=LlcDDEF5TV9IQOLAGtm63wjFEHxo15v4iLkoL
381
391
  viam/proto/app/mlinference/__init__.py,sha256=hxl-xumPtWzyYyMUNfldQaEDFriB8D2lcFm_8hiDErg,463
382
392
  viam/proto/app/mltraining/__init__.py,sha256=N5CNNEAQQDX7kHr2bj9_otgKDXcI8faG_5tbo94tLxk,1510
383
393
  viam/proto/app/packages/__init__.py,sha256=azFdcZQPHvdZhhp-t0kDxdGRYQF_9Oo6nJBdAGaMEBM,886
384
- viam/proto/common/__init__.py,sha256=wAYCP73dkZEPVWuYDp52BhStNW6fZMVmEbS2OHILRvY,1270
394
+ viam/proto/common/__init__.py,sha256=Lb618gidUM9PjRma1Jcmr0PLg2ATUeHaXGXfudgNcQw,1412
385
395
  viam/proto/component/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
386
396
  viam/proto/component/arm/__init__.py,sha256=Q1n8XJSNtLtB5p1tHlev9NuzVwvh4OVGUnQO32twF48,1218
397
+ viam/proto/component/audioin/__init__.py,sha256=2vZsO9iTvzECdGGjoogL4uyDQDAOTAdw-PUi6CSFcDw,447
387
398
  viam/proto/component/audioinput/__init__.py,sha256=ZuP1MJgD3QOX_hFk9rbY7L3-9f5PCCt2F1R69z1SGz8,704
399
+ viam/proto/component/audioout/__init__.py,sha256=hEJvwIFYHfdnWQDyCF1VPgfT7gz6Ddl1rL0NvkikkKc,411
388
400
  viam/proto/component/base/__init__.py,sha256=oztcYTkDKVWqJFbDXF7qNiomhdLy8YUteqxK7knfMT4,956
389
401
  viam/proto/component/board/__init__.py,sha256=HkXRFP2W7CO53843dPt7zI2sO7332ycqVIollc1f1xc,1512
390
402
  viam/proto/component/button/__init__.py,sha256=ZEWPFc3iRJ_U5kDSQMwht_HoxmnLB2DYgrsCYkbq8as,391
@@ -439,7 +451,7 @@ viam/robot/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
439
451
  viam/robot/client.py,sha256=wy1u9Bm6eaUKWZl0vuULrY4aIOL1y5y8eXBxvEKQSoo,34601
440
452
  viam/robot/service.py,sha256=4kn2px4YRkM7083CNgs01FO7xPRe7nhtuDst3IMXjo8,2764
441
453
  viam/rpc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
442
- viam/rpc/dial.py,sha256=TYoKO6XdwLE1iBQ8WR_i5fVQ2TfmhZnELxHMYwNeSk8,15027
454
+ viam/rpc/dial.py,sha256=EYdx9HVHEsyzM1SAihunyj-xmu0uy6O2kEZbWykQSOA,14993
443
455
  viam/rpc/libviam_rust_utils.so,sha256=7wM_2fzo8vFzHecGKtCQn3oKcYyv2YswW2dY7Pocygg,20891288
444
456
  viam/rpc/server.py,sha256=F4usW3B8KdoxHnylwFk0lzRsKHYWbtT_pWUQo3snPBM,7585
445
457
  viam/rpc/signaling.py,sha256=Bo5F9ReRGYXH4CJI-YYUSA33aOvU5gnFcdwaPqQFQ9E,1134
@@ -480,7 +492,7 @@ viam/services/worldstatestore/__init__.py,sha256=zj85zV-6HGw1ktLZWH6IYFMSX168mAC
480
492
  viam/services/worldstatestore/client.py,sha256=id59echLbNq9Rsyq4ifRzPzOEJVvU-H6N47JawZA0Mw,3141
481
493
  viam/services/worldstatestore/service.py,sha256=2wfV4yVKUr1YSSrww21J9GKZN09JUkuqzEQ0J2npOu8,2680
482
494
  viam/services/worldstatestore/worldstatestore.py,sha256=SXd0OiY0KZgpaf4BLag_LYVkUImFFkyWRkZKS8gfEII,2838
483
- viam_sdk-0.57.0.dist-info/METADATA,sha256=BEfU4YRbWCvWZoM5j7oU0Qvxw6JEeSIAuxvH9lh5wJY,10320
484
- viam_sdk-0.57.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
485
- viam_sdk-0.57.0.dist-info/licenses/LICENSE,sha256=yVuuHRzgI17MzTVgt3LsHvuX80innw--CmNPDCzO_iw,11358
486
- viam_sdk-0.57.0.dist-info/RECORD,,
495
+ viam_sdk-0.58.0.dist-info/METADATA,sha256=ZqrhB0QRQVKWWcyqq2upHidP2J6TlRLgraIPJj7lYhI,10320
496
+ viam_sdk-0.58.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
497
+ viam_sdk-0.58.0.dist-info/licenses/LICENSE,sha256=yVuuHRzgI17MzTVgt3LsHvuX80innw--CmNPDCzO_iw,11358
498
+ viam_sdk-0.58.0.dist-info/RECORD,,