nominal-api-protos 0.977.1__tar.gz → 0.983.0__tar.gz

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.
Files changed (113) hide show
  1. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/PKG-INFO +1 -1
  2. nominal_api_protos-0.983.0/nominal_api_protos/nominal/ai/v1/ai_agent_pb2.py +119 -0
  3. nominal_api_protos-0.977.1/nominal_api_protos/nominal/ai/v1/workbook_agent_pb2.pyi → nominal_api_protos-0.983.0/nominal_api_protos/nominal/ai/v1/ai_agent_pb2.pyi +35 -31
  4. nominal_api_protos-0.983.0/nominal_api_protos/nominal/ai/v1/ai_agent_pb2_grpc.py +321 -0
  5. nominal_api_protos-0.983.0/nominal_api_protos/nominal/ai/v1/workbook_agent_pb2.py +41 -0
  6. nominal_api_protos-0.983.0/nominal_api_protos/nominal/ai/v1/workbook_agent_pb2.pyi +32 -0
  7. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/ai/v1/workbook_agent_pb2_grpc.py +40 -36
  8. nominal_api_protos-0.983.0/nominal_api_protos/nominal/data_connector/v1/data_connector_pb2.py +137 -0
  9. nominal_api_protos-0.983.0/nominal_api_protos/nominal/data_connector/v1/data_connector_pb2.pyi +222 -0
  10. nominal_api_protos-0.983.0/nominal_api_protos/nominal/data_connector/v1/data_connector_pb2_grpc.py +368 -0
  11. nominal_api_protos-0.983.0/nominal_api_protos/nominal/data_connector/v1/opc_ua_connector_pb2.py +117 -0
  12. nominal_api_protos-0.983.0/nominal_api_protos/nominal/data_connector/v1/opc_ua_connector_pb2.pyi +282 -0
  13. nominal_api_protos-0.983.0/nominal_api_protos/nominal/data_connector/v1/opc_ua_connector_pb2_grpc.py +24 -0
  14. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/direct_channel_writer/v2/direct_nominal_channel_writer_pb2.py +25 -23
  15. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/direct_channel_writer/v2/direct_nominal_channel_writer_pb2.pyi +10 -2
  16. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/streaming_connection_service/v1/opc_ua_pb2.py +12 -12
  17. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/streaming_connection_service/v1/opc_ua_pb2.pyi +0 -2
  18. nominal_api_protos-0.983.0/nominal_api_protos/nominal_write_pb2.py +70 -0
  19. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal_write_pb2.pyi +40 -2
  20. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos.egg-info/PKG-INFO +1 -1
  21. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos.egg-info/SOURCES.txt +9 -0
  22. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/setup.py +1 -1
  23. nominal_api_protos-0.977.1/nominal_api_protos/nominal/ai/v1/workbook_agent_pb2.py +0 -117
  24. nominal_api_protos-0.977.1/nominal_api_protos/nominal_write_pb2.py +0 -60
  25. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/ai/v1/ai_features_pb2.py +0 -0
  26. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/ai/v1/ai_features_pb2.pyi +0 -0
  27. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/ai/v1/ai_features_pb2_grpc.py +0 -0
  28. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/ai/v1/knowledge_base_pb2.py +0 -0
  29. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/ai/v1/knowledge_base_pb2.pyi +0 -0
  30. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/ai/v1/knowledge_base_pb2_grpc.py +0 -0
  31. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/application/v1/application_pb2.py +0 -0
  32. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/application/v1/application_pb2.pyi +0 -0
  33. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/application/v1/application_pb2_grpc.py +0 -0
  34. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/authentication/groups/v1/groups_pb2.py +0 -0
  35. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/authentication/groups/v1/groups_pb2.pyi +0 -0
  36. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/authentication/groups/v1/groups_pb2_grpc.py +0 -0
  37. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/authorization/markings/v1/markings_pb2.py +0 -0
  38. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/authorization/markings/v1/markings_pb2.pyi +0 -0
  39. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/authorization/markings/v1/markings_pb2_grpc.py +0 -0
  40. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/authorization/permissions/v1/permissions_pb2.py +0 -0
  41. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/authorization/permissions/v1/permissions_pb2.pyi +0 -0
  42. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/authorization/permissions/v1/permissions_pb2_grpc.py +0 -0
  43. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/authorization/roles/v1/roles_pb2.py +0 -0
  44. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/authorization/roles/v1/roles_pb2.pyi +0 -0
  45. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/authorization/roles/v1/roles_pb2_grpc.py +0 -0
  46. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/blob_storage_service/v1/blob_storage_service_pb2.py +0 -0
  47. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/blob_storage_service/v1/blob_storage_service_pb2.pyi +0 -0
  48. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/blob_storage_service/v1/blob_storage_service_pb2_grpc.py +0 -0
  49. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/comments/v1/comments_pb2.py +0 -0
  50. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/comments/v1/comments_pb2.pyi +0 -0
  51. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/comments/v1/comments_pb2_grpc.py +0 -0
  52. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/connect/demo_apps/v1/connect_demo_apps_pb2.py +0 -0
  53. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/connect/demo_apps/v1/connect_demo_apps_pb2.pyi +0 -0
  54. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/connect/demo_apps/v1/connect_demo_apps_pb2_grpc.py +0 -0
  55. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/connect/download/v1/connect_download_pb2.py +0 -0
  56. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/connect/download/v1/connect_download_pb2.pyi +0 -0
  57. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/connect/download/v1/connect_download_pb2_grpc.py +0 -0
  58. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/connect/v1/connect_apps_pb2.py +0 -0
  59. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/connect/v1/connect_apps_pb2.pyi +0 -0
  60. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/connect/v1/connect_apps_pb2_grpc.py +0 -0
  61. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/connections/v1/external_api_connections_pb2.py +0 -0
  62. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/connections/v1/external_api_connections_pb2.pyi +0 -0
  63. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/connections/v1/external_api_connections_pb2_grpc.py +0 -0
  64. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/conversations/v1/conversations_pb2.py +0 -0
  65. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/conversations/v1/conversations_pb2.pyi +0 -0
  66. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/conversations/v1/conversations_pb2_grpc.py +0 -0
  67. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/direct_channel_writer/v2/direct_nominal_channel_writer_pb2_grpc.py +0 -0
  68. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/edge/v1/edge_sync_pb2.py +0 -0
  69. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/edge/v1/edge_sync_pb2.pyi +0 -0
  70. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/edge/v1/edge_sync_pb2_grpc.py +0 -0
  71. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/procedures/executions/v1/procedure_executions_pb2.py +0 -0
  72. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/procedures/executions/v1/procedure_executions_pb2.pyi +0 -0
  73. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/procedures/executions/v1/procedure_executions_pb2_grpc.py +0 -0
  74. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/procedures/v1/id_format_pb2.py +0 -0
  75. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/procedures/v1/id_format_pb2.pyi +0 -0
  76. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/procedures/v1/id_format_pb2_grpc.py +0 -0
  77. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/procedures/v1/procedures_pb2.py +0 -0
  78. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/procedures/v1/procedures_pb2.pyi +0 -0
  79. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/procedures/v1/procedures_pb2_grpc.py +0 -0
  80. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/scout/elements/v1/elements_pb2.py +0 -0
  81. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/scout/elements/v1/elements_pb2.pyi +0 -0
  82. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/scout/elements/v1/elements_pb2_grpc.py +0 -0
  83. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/streaming_connection_service/v1/opc_ua_pb2_grpc.py +0 -0
  84. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/streaming_connection_service/v1/streaming_connection_service_pb2.py +0 -0
  85. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/streaming_connection_service/v1/streaming_connection_service_pb2.pyi +0 -0
  86. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/streaming_connection_service/v1/streaming_connection_service_pb2_grpc.py +0 -0
  87. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/types/series/series_pb2.py +0 -0
  88. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/types/series/series_pb2.pyi +0 -0
  89. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/types/series/series_pb2_grpc.py +0 -0
  90. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/types/time/time_pb2.py +0 -0
  91. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/types/time/time_pb2.pyi +0 -0
  92. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/types/time/time_pb2_grpc.py +0 -0
  93. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/types/types_pb2.py +0 -0
  94. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/types/types_pb2.pyi +0 -0
  95. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/types/types_pb2_grpc.py +0 -0
  96. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/units/v1/units_pb2.py +0 -0
  97. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/units/v1/units_pb2.pyi +0 -0
  98. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/units/v1/units_pb2_grpc.py +0 -0
  99. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/versioning/v1/versioning_pb2.py +0 -0
  100. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/versioning/v1/versioning_pb2.pyi +0 -0
  101. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/versioning/v1/versioning_pb2_grpc.py +0 -0
  102. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/workspaces/v1/workspaces_pb2.py +0 -0
  103. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/workspaces/v1/workspaces_pb2.pyi +0 -0
  104. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal/workspaces/v1/workspaces_pb2_grpc.py +0 -0
  105. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/nominal_write_pb2_grpc.py +0 -0
  106. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/prometheus_remote_write_pb2.py +0 -0
  107. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/prometheus_remote_write_pb2.pyi +0 -0
  108. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/prometheus_remote_write_pb2_grpc.py +0 -0
  109. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos/py.typed +0 -0
  110. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos.egg-info/dependency_links.txt +0 -0
  111. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos.egg-info/requires.txt +0 -0
  112. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/nominal_api_protos.egg-info/top_level.txt +0 -0
  113. {nominal_api_protos-0.977.1 → nominal_api_protos-0.983.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nominal-api-protos
3
- Version: 0.977.1
3
+ Version: 0.983.0
4
4
  Requires-Python: >=3.8
5
5
  Requires-Dist: protobuf>=5.25.0
6
6
  Requires-Dist: grpcio>=1.76.0
@@ -0,0 +1,119 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: nominal/ai/v1/ai_agent.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'nominal/ai/v1/ai_agent.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
26
+
27
+
28
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cnominal/ai/v1/ai_agent.proto\x12\rnominal.ai.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\xc8\x01\n\x11StreamChatRequest\x12\x18\n\x10\x63onversation_rid\x18\x01 \x01(\t\x12\x30\n\x07message\x18\x02 \x01(\x0b\x32\x1f.nominal.ai.v1.UserModelMessage\x12(\n\x06images\x18\x03 \x03(\x0b\x32\x18.nominal.ai.v1.ImagePart\x12\x32\n\x08workbook\x18\x04 \x01(\x0b\x32\x1e.nominal.ai.v1.WorkbookContextH\x00\x42\t\n\x07\x63ontext\"z\n\x0fWorkbookContext\x12\x14\n\x0cworkbook_rid\x18\x01 \x01(\t\x12?\n\ruser_presence\x18\x02 \x01(\x0b\x32#.nominal.ai.v1.WorkbookUserPresenceH\x00\x88\x01\x01\x42\x10\n\x0e_user_presence\"t\n\x14WorkbookUserPresence\x12\x16\n\ttab_index\x18\x01 \x01(\x05H\x00\x88\x01\x01\x12,\n\x05range\x18\x02 \x01(\x0b\x32\x18.nominal.ai.v1.TimeRangeH\x01\x88\x01\x01\x42\x0c\n\n_tab_indexB\x08\n\x06_range\"\xb7\x01\n\x19\x43reateConversationRequest\x12\r\n\x05title\x18\x01 \x01(\t\x12\x15\n\rworkspace_rid\x18\x02 \x01(\t\x12!\n\x14old_conversation_rid\x18\x03 \x01(\tH\x00\x88\x01\x01\x12 \n\x13previous_message_id\x18\x04 \x01(\tH\x01\x88\x01\x01\x42\x17\n\x15_old_conversation_ridB\x16\n\x14_previous_message_id\":\n\x1a\x43reateConversationResponse\x12\x1c\n\x14new_conversation_rid\x18\x01 \x01(\t\"L\n!UpdateConversationMetadataRequest\x12\r\n\x05title\x18\x01 \x01(\t\x12\x18\n\x10\x63onversation_rid\x18\x02 \x01(\t\"$\n\"UpdateConversationMetadataResponse\"5\n\x19\x44\x65leteConversationRequest\x12\x18\n\x10\x63onversation_rid\x18\x01 \x01(\t\"\x1c\n\x1a\x44\x65leteConversationResponse\"\xa6\x01\n\x16GetConversationRequest\x12\x18\n\x10\x63onversation_rid\x18\x01 \x01(\t\x12\"\n\x15page_start_message_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1e\n\x11max_message_count\x18\x03 \x01(\x05H\x01\x88\x01\x01\x42\x18\n\x16_page_start_message_idB\x14\n\x12_max_message_count\"\x95\x01\n\x12ModelMessageWithId\x12.\n\x07message\x18\x01 \x01(\x0b\x32\x1b.nominal.ai.v1.ModelMessageH\x00\x12\x30\n\x0btool_action\x18\x02 \x01(\x0b\x32\x19.nominal.ai.v1.ToolActionH\x00\x12\x12\n\nmessage_id\x18\x03 \x01(\tB\t\n\x07\x63ontent\"V\n\x17GetConversationResponse\x12;\n\x10ordered_messages\x18\x01 \x03(\x0b\x32!.nominal.ai.v1.ModelMessageWithId\"1\n\x18ListConversationsRequest\x12\x15\n\rworkspace_rid\x18\x01 \x01(\t\"\xa4\x01\n\x14\x43onversationMetadata\x12\x18\n\x10\x63onversation_rid\x18\x01 \x01(\t\x12\r\n\x05title\x18\x02 \x01(\t\x12.\n\ncreated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x33\n\x0flast_updated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"W\n\x19ListConversationsResponse\x12:\n\rconversations\x18\x01 \x03(\x0b\x32#.nominal.ai.v1.ConversationMetadata\"g\n\tTimeRange\x12-\n\x0brange_start\x18\x01 \x01(\x0b\x32\x18.nominal.ai.v1.Timestamp\x12+\n\trange_end\x18\x02 \x01(\x0b\x32\x18.nominal.ai.v1.Timestamp\"1\n\tTimestamp\x12\x0f\n\x07seconds\x18\x01 \x01(\x05\x12\x13\n\x0bnanoseconds\x18\x02 \x01(\x05\"\x82\x01\n\x0cModelMessage\x12/\n\x04user\x18\x01 \x01(\x0b\x32\x1f.nominal.ai.v1.UserModelMessageH\x00\x12\x39\n\tassistant\x18\x02 \x01(\x0b\x32$.nominal.ai.v1.AssistantModelMessageH\x00\x42\x06\n\x04kind\"@\n\x10UserModelMessage\x12,\n\x04text\x18\x01 \x03(\x0b\x32\x1e.nominal.ai.v1.UserContentPart\"S\n\x15\x41ssistantModelMessage\x12:\n\rcontent_parts\x18\x01 \x03(\x0b\x32#.nominal.ai.v1.AssistantContentPart\"B\n\x0fUserContentPart\x12\'\n\x04text\x18\x01 \x01(\x0b\x32\x17.nominal.ai.v1.TextPartH\x00\x42\x06\n\x04part\"z\n\x14\x41ssistantContentPart\x12\'\n\x04text\x18\x01 \x01(\x0b\x32\x17.nominal.ai.v1.TextPartH\x00\x12\x31\n\treasoning\x18\x02 \x01(\x0b\x32\x1c.nominal.ai.v1.ReasoningPartH\x00\x42\x06\n\x04part\"\x18\n\x08TextPart\x12\x0c\n\x04text\x18\x01 \x01(\t\"e\n\tImagePart\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x17\n\nmedia_type\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08\x66ilename\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\r\n\x0b_media_typeB\x0b\n\t_filename\"\"\n\rReasoningPart\x12\x11\n\treasoning\x18\x01 \x01(\t\"\x96\x04\n\x12StreamChatResponse\x12\'\n\x06\x66inish\x18\x01 \x01(\x0b\x32\x15.nominal.ai.v1.FinishH\x00\x12%\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x14.nominal.ai.v1.ErrorH\x00\x12.\n\ntext_start\x18\x03 \x01(\x0b\x32\x18.nominal.ai.v1.TextStartH\x00\x12.\n\ntext_delta\x18\x04 \x01(\x0b\x32\x18.nominal.ai.v1.TextDeltaH\x00\x12*\n\x08text_end\x18\x05 \x01(\x0b\x32\x16.nominal.ai.v1.TextEndH\x00\x12\x38\n\x0freasoning_start\x18\x06 \x01(\x0b\x32\x1d.nominal.ai.v1.ReasoningStartH\x00\x12\x38\n\x0freasoning_delta\x18\x07 \x01(\x0b\x32\x1d.nominal.ai.v1.ReasoningDeltaH\x00\x12\x34\n\rreasoning_end\x18\x08 \x01(\x0b\x32\x1b.nominal.ai.v1.ReasoningEndH\x00\x12<\n\x11workbook_mutation\x18\t \x01(\x0b\x32\x1f.nominal.ai.v1.WorkbookMutationH\x00\x12\x30\n\x0btool_action\x18\n \x01(\x0b\x32\x19.nominal.ai.v1.ToolActionH\x00\x42\n\n\x08response\"%\n\x06\x46inish\x12\x1b\n\x13ordered_message_ids\x18\x01 \x03(\t\"\x18\n\x05\x45rror\x12\x0f\n\x07message\x18\x01 \x01(\t\"\x17\n\tTextStart\x12\n\n\x02id\x18\x01 \x01(\t\"&\n\tTextDelta\x12\n\n\x02id\x18\x01 \x01(\t\x12\r\n\x05\x64\x65lta\x18\x02 \x01(\t\"\x15\n\x07TextEnd\x12\n\n\x02id\x18\x01 \x01(\t\"\x1c\n\x0eReasoningStart\x12\n\n\x02id\x18\x01 \x01(\t\"+\n\x0eReasoningDelta\x12\n\n\x02id\x18\x01 \x01(\t\x12\r\n\x05\x64\x65lta\x18\x02 \x01(\t\"\x1a\n\x0cReasoningEnd\x12\n\n\x02id\x18\x01 \x01(\t\"4\n\x0e\x41\x64\x64TabMutation\x12\x15\n\x08tab_name\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x0b\n\t_tab_name\"V\n\x18\x41\x64\x64OrUpdatePanelMutation\x12\x15\n\rpanel_as_json\x18\x01 \x01(\t\x12\x10\n\x08panel_id\x18\x02 \x01(\t\x12\x11\n\ttab_index\x18\x03 \x01(\x05\")\n\x14RemovePanelsMutation\x12\x11\n\tpanel_ids\x18\x01 \x03(\t\"\x96\x01\n\x1c\x41\x64\x64OrReplaceVariableMutation\x12\x1c\n\x14\x63ompute_spec_as_json\x18\x01 \x01(\t\x12\x1a\n\rvariable_name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x19\n\x0c\x64isplay_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\x10\n\x0e_variable_nameB\x0f\n\r_display_name\"1\n\x17\x44\x65leteVariablesMutation\x12\x16\n\x0evariable_names\x18\x01 \x03(\t\"\xf6\x02\n\x10WorkbookMutation\x12\n\n\x02id\x18\x01 \x01(\t\x12\x30\n\x07\x61\x64\x64_tab\x18\x02 \x01(\x0b\x32\x1d.nominal.ai.v1.AddTabMutationH\x00\x12\x46\n\x13\x61\x64\x64_or_update_panel\x18\x03 \x01(\x0b\x32\'.nominal.ai.v1.AddOrUpdatePanelMutationH\x00\x12<\n\rremove_panels\x18\x04 \x01(\x0b\x32#.nominal.ai.v1.RemovePanelsMutationH\x00\x12N\n\x17\x61\x64\x64_or_replace_variable\x18\x05 \x01(\x0b\x32+.nominal.ai.v1.AddOrReplaceVariableMutationH\x00\x12\x42\n\x10\x64\x65lete_variables\x18\x06 \x01(\x0b\x32&.nominal.ai.v1.DeleteVariablesMutationH\x00\x42\n\n\x08mutation\"\\\n\nToolAction\x12\n\n\x02id\x18\x01 \x01(\t\x12\x18\n\x10tool_action_verb\x18\x02 \x01(\t\x12\x18\n\x0btool_target\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_tool_target2\x89\x05\n\x0e\x41IAgentService\x12S\n\nStreamChat\x12 .nominal.ai.v1.StreamChatRequest\x1a!.nominal.ai.v1.StreamChatResponse0\x01\x12`\n\x0fGetConversation\x12%.nominal.ai.v1.GetConversationRequest\x1a&.nominal.ai.v1.GetConversationResponse\x12\x66\n\x11ListConversations\x12\'.nominal.ai.v1.ListConversationsRequest\x1a(.nominal.ai.v1.ListConversationsResponse\x12i\n\x12\x43reateConversation\x12(.nominal.ai.v1.CreateConversationRequest\x1a).nominal.ai.v1.CreateConversationResponse\x12\x81\x01\n\x1aUpdateConversationMetadata\x12\x30.nominal.ai.v1.UpdateConversationMetadataRequest\x1a\x31.nominal.ai.v1.UpdateConversationMetadataResponse\x12i\n\x12\x44\x65leteConversation\x12(.nominal.ai.v1.DeleteConversationRequest\x1a).nominal.ai.v1.DeleteConversationResponseb\x06proto3')
29
+
30
+ _globals = globals()
31
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
32
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'nominal.ai.v1.ai_agent_pb2', _globals)
33
+ if not _descriptor._USE_C_DESCRIPTORS:
34
+ DESCRIPTOR._loaded_options = None
35
+ _globals['_STREAMCHATREQUEST']._serialized_start=81
36
+ _globals['_STREAMCHATREQUEST']._serialized_end=281
37
+ _globals['_WORKBOOKCONTEXT']._serialized_start=283
38
+ _globals['_WORKBOOKCONTEXT']._serialized_end=405
39
+ _globals['_WORKBOOKUSERPRESENCE']._serialized_start=407
40
+ _globals['_WORKBOOKUSERPRESENCE']._serialized_end=523
41
+ _globals['_CREATECONVERSATIONREQUEST']._serialized_start=526
42
+ _globals['_CREATECONVERSATIONREQUEST']._serialized_end=709
43
+ _globals['_CREATECONVERSATIONRESPONSE']._serialized_start=711
44
+ _globals['_CREATECONVERSATIONRESPONSE']._serialized_end=769
45
+ _globals['_UPDATECONVERSATIONMETADATAREQUEST']._serialized_start=771
46
+ _globals['_UPDATECONVERSATIONMETADATAREQUEST']._serialized_end=847
47
+ _globals['_UPDATECONVERSATIONMETADATARESPONSE']._serialized_start=849
48
+ _globals['_UPDATECONVERSATIONMETADATARESPONSE']._serialized_end=885
49
+ _globals['_DELETECONVERSATIONREQUEST']._serialized_start=887
50
+ _globals['_DELETECONVERSATIONREQUEST']._serialized_end=940
51
+ _globals['_DELETECONVERSATIONRESPONSE']._serialized_start=942
52
+ _globals['_DELETECONVERSATIONRESPONSE']._serialized_end=970
53
+ _globals['_GETCONVERSATIONREQUEST']._serialized_start=973
54
+ _globals['_GETCONVERSATIONREQUEST']._serialized_end=1139
55
+ _globals['_MODELMESSAGEWITHID']._serialized_start=1142
56
+ _globals['_MODELMESSAGEWITHID']._serialized_end=1291
57
+ _globals['_GETCONVERSATIONRESPONSE']._serialized_start=1293
58
+ _globals['_GETCONVERSATIONRESPONSE']._serialized_end=1379
59
+ _globals['_LISTCONVERSATIONSREQUEST']._serialized_start=1381
60
+ _globals['_LISTCONVERSATIONSREQUEST']._serialized_end=1430
61
+ _globals['_CONVERSATIONMETADATA']._serialized_start=1433
62
+ _globals['_CONVERSATIONMETADATA']._serialized_end=1597
63
+ _globals['_LISTCONVERSATIONSRESPONSE']._serialized_start=1599
64
+ _globals['_LISTCONVERSATIONSRESPONSE']._serialized_end=1686
65
+ _globals['_TIMERANGE']._serialized_start=1688
66
+ _globals['_TIMERANGE']._serialized_end=1791
67
+ _globals['_TIMESTAMP']._serialized_start=1793
68
+ _globals['_TIMESTAMP']._serialized_end=1842
69
+ _globals['_MODELMESSAGE']._serialized_start=1845
70
+ _globals['_MODELMESSAGE']._serialized_end=1975
71
+ _globals['_USERMODELMESSAGE']._serialized_start=1977
72
+ _globals['_USERMODELMESSAGE']._serialized_end=2041
73
+ _globals['_ASSISTANTMODELMESSAGE']._serialized_start=2043
74
+ _globals['_ASSISTANTMODELMESSAGE']._serialized_end=2126
75
+ _globals['_USERCONTENTPART']._serialized_start=2128
76
+ _globals['_USERCONTENTPART']._serialized_end=2194
77
+ _globals['_ASSISTANTCONTENTPART']._serialized_start=2196
78
+ _globals['_ASSISTANTCONTENTPART']._serialized_end=2318
79
+ _globals['_TEXTPART']._serialized_start=2320
80
+ _globals['_TEXTPART']._serialized_end=2344
81
+ _globals['_IMAGEPART']._serialized_start=2346
82
+ _globals['_IMAGEPART']._serialized_end=2447
83
+ _globals['_REASONINGPART']._serialized_start=2449
84
+ _globals['_REASONINGPART']._serialized_end=2483
85
+ _globals['_STREAMCHATRESPONSE']._serialized_start=2486
86
+ _globals['_STREAMCHATRESPONSE']._serialized_end=3020
87
+ _globals['_FINISH']._serialized_start=3022
88
+ _globals['_FINISH']._serialized_end=3059
89
+ _globals['_ERROR']._serialized_start=3061
90
+ _globals['_ERROR']._serialized_end=3085
91
+ _globals['_TEXTSTART']._serialized_start=3087
92
+ _globals['_TEXTSTART']._serialized_end=3110
93
+ _globals['_TEXTDELTA']._serialized_start=3112
94
+ _globals['_TEXTDELTA']._serialized_end=3150
95
+ _globals['_TEXTEND']._serialized_start=3152
96
+ _globals['_TEXTEND']._serialized_end=3173
97
+ _globals['_REASONINGSTART']._serialized_start=3175
98
+ _globals['_REASONINGSTART']._serialized_end=3203
99
+ _globals['_REASONINGDELTA']._serialized_start=3205
100
+ _globals['_REASONINGDELTA']._serialized_end=3248
101
+ _globals['_REASONINGEND']._serialized_start=3250
102
+ _globals['_REASONINGEND']._serialized_end=3276
103
+ _globals['_ADDTABMUTATION']._serialized_start=3278
104
+ _globals['_ADDTABMUTATION']._serialized_end=3330
105
+ _globals['_ADDORUPDATEPANELMUTATION']._serialized_start=3332
106
+ _globals['_ADDORUPDATEPANELMUTATION']._serialized_end=3418
107
+ _globals['_REMOVEPANELSMUTATION']._serialized_start=3420
108
+ _globals['_REMOVEPANELSMUTATION']._serialized_end=3461
109
+ _globals['_ADDORREPLACEVARIABLEMUTATION']._serialized_start=3464
110
+ _globals['_ADDORREPLACEVARIABLEMUTATION']._serialized_end=3614
111
+ _globals['_DELETEVARIABLESMUTATION']._serialized_start=3616
112
+ _globals['_DELETEVARIABLESMUTATION']._serialized_end=3665
113
+ _globals['_WORKBOOKMUTATION']._serialized_start=3668
114
+ _globals['_WORKBOOKMUTATION']._serialized_end=4042
115
+ _globals['_TOOLACTION']._serialized_start=4044
116
+ _globals['_TOOLACTION']._serialized_end=4136
117
+ _globals['_AIAGENTSERVICE']._serialized_start=4139
118
+ _globals['_AIAGENTSERVICE']._serialized_end=4788
119
+ # @@protoc_insertion_point(module_scope)
@@ -10,40 +10,44 @@ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
10
10
  DESCRIPTOR: _descriptor.FileDescriptor
11
11
 
12
12
  class StreamChatRequest(_message.Message):
13
- __slots__ = ("messages", "notebook_as_json", "selected_tab_index", "images", "range", "message")
14
- MESSAGES_FIELD_NUMBER: _ClassVar[int]
15
- NOTEBOOK_AS_JSON_FIELD_NUMBER: _ClassVar[int]
16
- SELECTED_TAB_INDEX_FIELD_NUMBER: _ClassVar[int]
17
- IMAGES_FIELD_NUMBER: _ClassVar[int]
18
- RANGE_FIELD_NUMBER: _ClassVar[int]
13
+ __slots__ = ("conversation_rid", "message", "images", "workbook")
14
+ CONVERSATION_RID_FIELD_NUMBER: _ClassVar[int]
19
15
  MESSAGE_FIELD_NUMBER: _ClassVar[int]
20
- messages: _containers.RepeatedCompositeFieldContainer[ModelMessage]
21
- notebook_as_json: str
22
- selected_tab_index: int
16
+ IMAGES_FIELD_NUMBER: _ClassVar[int]
17
+ WORKBOOK_FIELD_NUMBER: _ClassVar[int]
18
+ conversation_rid: str
19
+ message: UserModelMessage
23
20
  images: _containers.RepeatedCompositeFieldContainer[ImagePart]
24
- range: TimeRange
25
- message: AppendMessage
26
- def __init__(self, messages: _Optional[_Iterable[_Union[ModelMessage, _Mapping]]] = ..., notebook_as_json: _Optional[str] = ..., selected_tab_index: _Optional[int] = ..., images: _Optional[_Iterable[_Union[ImagePart, _Mapping]]] = ..., range: _Optional[_Union[TimeRange, _Mapping]] = ..., message: _Optional[_Union[AppendMessage, _Mapping]] = ...) -> None: ...
21
+ workbook: WorkbookContext
22
+ def __init__(self, conversation_rid: _Optional[str] = ..., message: _Optional[_Union[UserModelMessage, _Mapping]] = ..., images: _Optional[_Iterable[_Union[ImagePart, _Mapping]]] = ..., workbook: _Optional[_Union[WorkbookContext, _Mapping]] = ...) -> None: ...
27
23
 
28
- class AppendMessage(_message.Message):
29
- __slots__ = ("message", "conversation_rid")
30
- MESSAGE_FIELD_NUMBER: _ClassVar[int]
31
- CONVERSATION_RID_FIELD_NUMBER: _ClassVar[int]
32
- message: UserModelMessage
33
- conversation_rid: str
34
- def __init__(self, message: _Optional[_Union[UserModelMessage, _Mapping]] = ..., conversation_rid: _Optional[str] = ...) -> None: ...
24
+ class WorkbookContext(_message.Message):
25
+ __slots__ = ("workbook_rid", "user_presence")
26
+ WORKBOOK_RID_FIELD_NUMBER: _ClassVar[int]
27
+ USER_PRESENCE_FIELD_NUMBER: _ClassVar[int]
28
+ workbook_rid: str
29
+ user_presence: WorkbookUserPresence
30
+ def __init__(self, workbook_rid: _Optional[str] = ..., user_presence: _Optional[_Union[WorkbookUserPresence, _Mapping]] = ...) -> None: ...
31
+
32
+ class WorkbookUserPresence(_message.Message):
33
+ __slots__ = ("tab_index", "range")
34
+ TAB_INDEX_FIELD_NUMBER: _ClassVar[int]
35
+ RANGE_FIELD_NUMBER: _ClassVar[int]
36
+ tab_index: int
37
+ range: TimeRange
38
+ def __init__(self, tab_index: _Optional[int] = ..., range: _Optional[_Union[TimeRange, _Mapping]] = ...) -> None: ...
35
39
 
36
40
  class CreateConversationRequest(_message.Message):
37
- __slots__ = ("title", "workbook_rid", "old_conversation_rid", "previous_message_id")
41
+ __slots__ = ("title", "workspace_rid", "old_conversation_rid", "previous_message_id")
38
42
  TITLE_FIELD_NUMBER: _ClassVar[int]
39
- WORKBOOK_RID_FIELD_NUMBER: _ClassVar[int]
43
+ WORKSPACE_RID_FIELD_NUMBER: _ClassVar[int]
40
44
  OLD_CONVERSATION_RID_FIELD_NUMBER: _ClassVar[int]
41
45
  PREVIOUS_MESSAGE_ID_FIELD_NUMBER: _ClassVar[int]
42
46
  title: str
43
- workbook_rid: str
47
+ workspace_rid: str
44
48
  old_conversation_rid: str
45
49
  previous_message_id: str
46
- def __init__(self, title: _Optional[str] = ..., workbook_rid: _Optional[str] = ..., old_conversation_rid: _Optional[str] = ..., previous_message_id: _Optional[str] = ...) -> None: ...
50
+ def __init__(self, title: _Optional[str] = ..., workspace_rid: _Optional[str] = ..., old_conversation_rid: _Optional[str] = ..., previous_message_id: _Optional[str] = ...) -> None: ...
47
51
 
48
52
  class CreateConversationResponse(_message.Message):
49
53
  __slots__ = ("new_conversation_rid",)
@@ -100,10 +104,10 @@ class GetConversationResponse(_message.Message):
100
104
  def __init__(self, ordered_messages: _Optional[_Iterable[_Union[ModelMessageWithId, _Mapping]]] = ...) -> None: ...
101
105
 
102
106
  class ListConversationsRequest(_message.Message):
103
- __slots__ = ("workbook_rid",)
104
- WORKBOOK_RID_FIELD_NUMBER: _ClassVar[int]
105
- workbook_rid: str
106
- def __init__(self, workbook_rid: _Optional[str] = ...) -> None: ...
107
+ __slots__ = ("workspace_rid",)
108
+ WORKSPACE_RID_FIELD_NUMBER: _ClassVar[int]
109
+ workspace_rid: str
110
+ def __init__(self, workspace_rid: _Optional[str] = ...) -> None: ...
107
111
 
108
112
  class ConversationMetadata(_message.Message):
109
113
  __slots__ = ("conversation_rid", "title", "created_at", "last_updated_at")
@@ -220,10 +224,10 @@ class StreamChatResponse(_message.Message):
220
224
  def __init__(self, finish: _Optional[_Union[Finish, _Mapping]] = ..., error: _Optional[_Union[Error, _Mapping]] = ..., text_start: _Optional[_Union[TextStart, _Mapping]] = ..., text_delta: _Optional[_Union[TextDelta, _Mapping]] = ..., text_end: _Optional[_Union[TextEnd, _Mapping]] = ..., reasoning_start: _Optional[_Union[ReasoningStart, _Mapping]] = ..., reasoning_delta: _Optional[_Union[ReasoningDelta, _Mapping]] = ..., reasoning_end: _Optional[_Union[ReasoningEnd, _Mapping]] = ..., workbook_mutation: _Optional[_Union[WorkbookMutation, _Mapping]] = ..., tool_action: _Optional[_Union[ToolAction, _Mapping]] = ...) -> None: ...
221
225
 
222
226
  class Finish(_message.Message):
223
- __slots__ = ("last_message_id",)
224
- LAST_MESSAGE_ID_FIELD_NUMBER: _ClassVar[int]
225
- last_message_id: str
226
- def __init__(self, last_message_id: _Optional[str] = ...) -> None: ...
227
+ __slots__ = ("ordered_message_ids",)
228
+ ORDERED_MESSAGE_IDS_FIELD_NUMBER: _ClassVar[int]
229
+ ordered_message_ids: _containers.RepeatedScalarFieldContainer[str]
230
+ def __init__(self, ordered_message_ids: _Optional[_Iterable[str]] = ...) -> None: ...
227
231
 
228
232
  class Error(_message.Message):
229
233
  __slots__ = ("message",)
@@ -0,0 +1,321 @@
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 nominal.ai.v1 import ai_agent_pb2 as nominal_dot_ai_dot_v1_dot_ai__agent__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 nominal/ai/v1/ai_agent_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 AIAgentServiceStub(object):
29
+ """AIAgentService provides AI-powered assistance for general operations
30
+ """
31
+
32
+ def __init__(self, channel):
33
+ """Constructor.
34
+
35
+ Args:
36
+ channel: A grpc.Channel.
37
+ """
38
+ self.StreamChat = channel.unary_stream(
39
+ '/nominal.ai.v1.AIAgentService/StreamChat',
40
+ request_serializer=nominal_dot_ai_dot_v1_dot_ai__agent__pb2.StreamChatRequest.SerializeToString,
41
+ response_deserializer=nominal_dot_ai_dot_v1_dot_ai__agent__pb2.StreamChatResponse.FromString,
42
+ _registered_method=True)
43
+ self.GetConversation = channel.unary_unary(
44
+ '/nominal.ai.v1.AIAgentService/GetConversation',
45
+ request_serializer=nominal_dot_ai_dot_v1_dot_ai__agent__pb2.GetConversationRequest.SerializeToString,
46
+ response_deserializer=nominal_dot_ai_dot_v1_dot_ai__agent__pb2.GetConversationResponse.FromString,
47
+ _registered_method=True)
48
+ self.ListConversations = channel.unary_unary(
49
+ '/nominal.ai.v1.AIAgentService/ListConversations',
50
+ request_serializer=nominal_dot_ai_dot_v1_dot_ai__agent__pb2.ListConversationsRequest.SerializeToString,
51
+ response_deserializer=nominal_dot_ai_dot_v1_dot_ai__agent__pb2.ListConversationsResponse.FromString,
52
+ _registered_method=True)
53
+ self.CreateConversation = channel.unary_unary(
54
+ '/nominal.ai.v1.AIAgentService/CreateConversation',
55
+ request_serializer=nominal_dot_ai_dot_v1_dot_ai__agent__pb2.CreateConversationRequest.SerializeToString,
56
+ response_deserializer=nominal_dot_ai_dot_v1_dot_ai__agent__pb2.CreateConversationResponse.FromString,
57
+ _registered_method=True)
58
+ self.UpdateConversationMetadata = channel.unary_unary(
59
+ '/nominal.ai.v1.AIAgentService/UpdateConversationMetadata',
60
+ request_serializer=nominal_dot_ai_dot_v1_dot_ai__agent__pb2.UpdateConversationMetadataRequest.SerializeToString,
61
+ response_deserializer=nominal_dot_ai_dot_v1_dot_ai__agent__pb2.UpdateConversationMetadataResponse.FromString,
62
+ _registered_method=True)
63
+ self.DeleteConversation = channel.unary_unary(
64
+ '/nominal.ai.v1.AIAgentService/DeleteConversation',
65
+ request_serializer=nominal_dot_ai_dot_v1_dot_ai__agent__pb2.DeleteConversationRequest.SerializeToString,
66
+ response_deserializer=nominal_dot_ai_dot_v1_dot_ai__agent__pb2.DeleteConversationResponse.FromString,
67
+ _registered_method=True)
68
+
69
+
70
+ class AIAgentServiceServicer(object):
71
+ """AIAgentService provides AI-powered assistance for general operations
72
+ """
73
+
74
+ def StreamChat(self, request, context):
75
+ """StreamChat handles bidirectional streaming chat for AI agent
76
+ """
77
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
78
+ context.set_details('Method not implemented!')
79
+ raise NotImplementedError('Method not implemented!')
80
+
81
+ def GetConversation(self, request, context):
82
+ """GetConversation handles getting a complete conversation list, with an optional limit on number of messages returned
83
+ """
84
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
85
+ context.set_details('Method not implemented!')
86
+ raise NotImplementedError('Method not implemented!')
87
+
88
+ def ListConversations(self, request, context):
89
+ """ListConversations handles getting the list of conversation ids ordered by most recently updated
90
+ """
91
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
92
+ context.set_details('Method not implemented!')
93
+ raise NotImplementedError('Method not implemented!')
94
+
95
+ def CreateConversation(self, request, context):
96
+ """CreateConversation handles creating a conversation and assigning it a conversation rid
97
+ """
98
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
99
+ context.set_details('Method not implemented!')
100
+ raise NotImplementedError('Method not implemented!')
101
+
102
+ def UpdateConversationMetadata(self, request, context):
103
+ """UpdateConversationMetadata handles updating any metadata associated with a conversation
104
+ """
105
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
106
+ context.set_details('Method not implemented!')
107
+ raise NotImplementedError('Method not implemented!')
108
+
109
+ def DeleteConversation(self, request, context):
110
+ """DeleteConversation handles deleting a specific conversation by conversation rid
111
+ """
112
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
113
+ context.set_details('Method not implemented!')
114
+ raise NotImplementedError('Method not implemented!')
115
+
116
+
117
+ def add_AIAgentServiceServicer_to_server(servicer, server):
118
+ rpc_method_handlers = {
119
+ 'StreamChat': grpc.unary_stream_rpc_method_handler(
120
+ servicer.StreamChat,
121
+ request_deserializer=nominal_dot_ai_dot_v1_dot_ai__agent__pb2.StreamChatRequest.FromString,
122
+ response_serializer=nominal_dot_ai_dot_v1_dot_ai__agent__pb2.StreamChatResponse.SerializeToString,
123
+ ),
124
+ 'GetConversation': grpc.unary_unary_rpc_method_handler(
125
+ servicer.GetConversation,
126
+ request_deserializer=nominal_dot_ai_dot_v1_dot_ai__agent__pb2.GetConversationRequest.FromString,
127
+ response_serializer=nominal_dot_ai_dot_v1_dot_ai__agent__pb2.GetConversationResponse.SerializeToString,
128
+ ),
129
+ 'ListConversations': grpc.unary_unary_rpc_method_handler(
130
+ servicer.ListConversations,
131
+ request_deserializer=nominal_dot_ai_dot_v1_dot_ai__agent__pb2.ListConversationsRequest.FromString,
132
+ response_serializer=nominal_dot_ai_dot_v1_dot_ai__agent__pb2.ListConversationsResponse.SerializeToString,
133
+ ),
134
+ 'CreateConversation': grpc.unary_unary_rpc_method_handler(
135
+ servicer.CreateConversation,
136
+ request_deserializer=nominal_dot_ai_dot_v1_dot_ai__agent__pb2.CreateConversationRequest.FromString,
137
+ response_serializer=nominal_dot_ai_dot_v1_dot_ai__agent__pb2.CreateConversationResponse.SerializeToString,
138
+ ),
139
+ 'UpdateConversationMetadata': grpc.unary_unary_rpc_method_handler(
140
+ servicer.UpdateConversationMetadata,
141
+ request_deserializer=nominal_dot_ai_dot_v1_dot_ai__agent__pb2.UpdateConversationMetadataRequest.FromString,
142
+ response_serializer=nominal_dot_ai_dot_v1_dot_ai__agent__pb2.UpdateConversationMetadataResponse.SerializeToString,
143
+ ),
144
+ 'DeleteConversation': grpc.unary_unary_rpc_method_handler(
145
+ servicer.DeleteConversation,
146
+ request_deserializer=nominal_dot_ai_dot_v1_dot_ai__agent__pb2.DeleteConversationRequest.FromString,
147
+ response_serializer=nominal_dot_ai_dot_v1_dot_ai__agent__pb2.DeleteConversationResponse.SerializeToString,
148
+ ),
149
+ }
150
+ generic_handler = grpc.method_handlers_generic_handler(
151
+ 'nominal.ai.v1.AIAgentService', rpc_method_handlers)
152
+ server.add_generic_rpc_handlers((generic_handler,))
153
+ server.add_registered_method_handlers('nominal.ai.v1.AIAgentService', rpc_method_handlers)
154
+
155
+
156
+ # This class is part of an EXPERIMENTAL API.
157
+ class AIAgentService(object):
158
+ """AIAgentService provides AI-powered assistance for general operations
159
+ """
160
+
161
+ @staticmethod
162
+ def StreamChat(request,
163
+ target,
164
+ options=(),
165
+ channel_credentials=None,
166
+ call_credentials=None,
167
+ insecure=False,
168
+ compression=None,
169
+ wait_for_ready=None,
170
+ timeout=None,
171
+ metadata=None):
172
+ return grpc.experimental.unary_stream(
173
+ request,
174
+ target,
175
+ '/nominal.ai.v1.AIAgentService/StreamChat',
176
+ nominal_dot_ai_dot_v1_dot_ai__agent__pb2.StreamChatRequest.SerializeToString,
177
+ nominal_dot_ai_dot_v1_dot_ai__agent__pb2.StreamChatResponse.FromString,
178
+ options,
179
+ channel_credentials,
180
+ insecure,
181
+ call_credentials,
182
+ compression,
183
+ wait_for_ready,
184
+ timeout,
185
+ metadata,
186
+ _registered_method=True)
187
+
188
+ @staticmethod
189
+ def GetConversation(request,
190
+ target,
191
+ options=(),
192
+ channel_credentials=None,
193
+ call_credentials=None,
194
+ insecure=False,
195
+ compression=None,
196
+ wait_for_ready=None,
197
+ timeout=None,
198
+ metadata=None):
199
+ return grpc.experimental.unary_unary(
200
+ request,
201
+ target,
202
+ '/nominal.ai.v1.AIAgentService/GetConversation',
203
+ nominal_dot_ai_dot_v1_dot_ai__agent__pb2.GetConversationRequest.SerializeToString,
204
+ nominal_dot_ai_dot_v1_dot_ai__agent__pb2.GetConversationResponse.FromString,
205
+ options,
206
+ channel_credentials,
207
+ insecure,
208
+ call_credentials,
209
+ compression,
210
+ wait_for_ready,
211
+ timeout,
212
+ metadata,
213
+ _registered_method=True)
214
+
215
+ @staticmethod
216
+ def ListConversations(request,
217
+ target,
218
+ options=(),
219
+ channel_credentials=None,
220
+ call_credentials=None,
221
+ insecure=False,
222
+ compression=None,
223
+ wait_for_ready=None,
224
+ timeout=None,
225
+ metadata=None):
226
+ return grpc.experimental.unary_unary(
227
+ request,
228
+ target,
229
+ '/nominal.ai.v1.AIAgentService/ListConversations',
230
+ nominal_dot_ai_dot_v1_dot_ai__agent__pb2.ListConversationsRequest.SerializeToString,
231
+ nominal_dot_ai_dot_v1_dot_ai__agent__pb2.ListConversationsResponse.FromString,
232
+ options,
233
+ channel_credentials,
234
+ insecure,
235
+ call_credentials,
236
+ compression,
237
+ wait_for_ready,
238
+ timeout,
239
+ metadata,
240
+ _registered_method=True)
241
+
242
+ @staticmethod
243
+ def CreateConversation(request,
244
+ target,
245
+ options=(),
246
+ channel_credentials=None,
247
+ call_credentials=None,
248
+ insecure=False,
249
+ compression=None,
250
+ wait_for_ready=None,
251
+ timeout=None,
252
+ metadata=None):
253
+ return grpc.experimental.unary_unary(
254
+ request,
255
+ target,
256
+ '/nominal.ai.v1.AIAgentService/CreateConversation',
257
+ nominal_dot_ai_dot_v1_dot_ai__agent__pb2.CreateConversationRequest.SerializeToString,
258
+ nominal_dot_ai_dot_v1_dot_ai__agent__pb2.CreateConversationResponse.FromString,
259
+ options,
260
+ channel_credentials,
261
+ insecure,
262
+ call_credentials,
263
+ compression,
264
+ wait_for_ready,
265
+ timeout,
266
+ metadata,
267
+ _registered_method=True)
268
+
269
+ @staticmethod
270
+ def UpdateConversationMetadata(request,
271
+ target,
272
+ options=(),
273
+ channel_credentials=None,
274
+ call_credentials=None,
275
+ insecure=False,
276
+ compression=None,
277
+ wait_for_ready=None,
278
+ timeout=None,
279
+ metadata=None):
280
+ return grpc.experimental.unary_unary(
281
+ request,
282
+ target,
283
+ '/nominal.ai.v1.AIAgentService/UpdateConversationMetadata',
284
+ nominal_dot_ai_dot_v1_dot_ai__agent__pb2.UpdateConversationMetadataRequest.SerializeToString,
285
+ nominal_dot_ai_dot_v1_dot_ai__agent__pb2.UpdateConversationMetadataResponse.FromString,
286
+ options,
287
+ channel_credentials,
288
+ insecure,
289
+ call_credentials,
290
+ compression,
291
+ wait_for_ready,
292
+ timeout,
293
+ metadata,
294
+ _registered_method=True)
295
+
296
+ @staticmethod
297
+ def DeleteConversation(request,
298
+ target,
299
+ options=(),
300
+ channel_credentials=None,
301
+ call_credentials=None,
302
+ insecure=False,
303
+ compression=None,
304
+ wait_for_ready=None,
305
+ timeout=None,
306
+ metadata=None):
307
+ return grpc.experimental.unary_unary(
308
+ request,
309
+ target,
310
+ '/nominal.ai.v1.AIAgentService/DeleteConversation',
311
+ nominal_dot_ai_dot_v1_dot_ai__agent__pb2.DeleteConversationRequest.SerializeToString,
312
+ nominal_dot_ai_dot_v1_dot_ai__agent__pb2.DeleteConversationResponse.FromString,
313
+ options,
314
+ channel_credentials,
315
+ insecure,
316
+ call_credentials,
317
+ compression,
318
+ wait_for_ready,
319
+ timeout,
320
+ metadata,
321
+ _registered_method=True)
@@ -0,0 +1,41 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: nominal/ai/v1/workbook_agent.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'nominal/ai/v1/workbook_agent.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from nominal.ai.v1 import ai_agent_pb2 as nominal_dot_ai_dot_v1_dot_ai__agent__pb2
26
+
27
+
28
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"nominal/ai/v1/workbook_agent.proto\x12\rnominal.ai.v1\x1a\x1cnominal/ai/v1/ai_agent.proto\"\xd5\x02\n%WorkbookAgentServiceStreamChatRequest\x12-\n\x08messages\x18\x01 \x03(\x0b\x32\x1b.nominal.ai.v1.ModelMessage\x12\x1d\n\x10notebook_as_json\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1f\n\x12selected_tab_index\x18\x03 \x01(\x05H\x01\x88\x01\x01\x12(\n\x06images\x18\x04 \x03(\x0b\x32\x18.nominal.ai.v1.ImagePart\x12\'\n\x05range\x18\x05 \x01(\x0b\x32\x18.nominal.ai.v1.TimeRange\x12\x32\n\x07message\x18\x06 \x01(\x0b\x32\x1c.nominal.ai.v1.AppendMessageH\x02\x88\x01\x01\x42\x13\n\x11_notebook_as_jsonB\x15\n\x13_selected_tab_indexB\n\n\x08_message\"[\n\rAppendMessage\x12\x30\n\x07message\x18\x01 \x01(\x0b\x32\x1f.nominal.ai.v1.UserModelMessage\x12\x18\n\x10\x63onversation_rid\x18\x02 \x01(\t2\xa3\x05\n\x14WorkbookAgentService\x12g\n\nStreamChat\x12\x34.nominal.ai.v1.WorkbookAgentServiceStreamChatRequest\x1a!.nominal.ai.v1.StreamChatResponse0\x01\x12`\n\x0fGetConversation\x12%.nominal.ai.v1.GetConversationRequest\x1a&.nominal.ai.v1.GetConversationResponse\x12\x66\n\x11ListConversations\x12\'.nominal.ai.v1.ListConversationsRequest\x1a(.nominal.ai.v1.ListConversationsResponse\x12i\n\x12\x43reateConversation\x12(.nominal.ai.v1.CreateConversationRequest\x1a).nominal.ai.v1.CreateConversationResponse\x12\x81\x01\n\x1aUpdateConversationMetadata\x12\x30.nominal.ai.v1.UpdateConversationMetadataRequest\x1a\x31.nominal.ai.v1.UpdateConversationMetadataResponse\x12i\n\x12\x44\x65leteConversation\x12(.nominal.ai.v1.DeleteConversationRequest\x1a).nominal.ai.v1.DeleteConversationResponseb\x06proto3')
29
+
30
+ _globals = globals()
31
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
32
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'nominal.ai.v1.workbook_agent_pb2', _globals)
33
+ if not _descriptor._USE_C_DESCRIPTORS:
34
+ DESCRIPTOR._loaded_options = None
35
+ _globals['_WORKBOOKAGENTSERVICESTREAMCHATREQUEST']._serialized_start=84
36
+ _globals['_WORKBOOKAGENTSERVICESTREAMCHATREQUEST']._serialized_end=425
37
+ _globals['_APPENDMESSAGE']._serialized_start=427
38
+ _globals['_APPENDMESSAGE']._serialized_end=518
39
+ _globals['_WORKBOOKAGENTSERVICE']._serialized_start=521
40
+ _globals['_WORKBOOKAGENTSERVICE']._serialized_end=1196
41
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,32 @@
1
+ from nominal.ai.v1 import ai_agent_pb2 as _ai_agent_pb2
2
+ from google.protobuf.internal import containers as _containers
3
+ from google.protobuf import descriptor as _descriptor
4
+ from google.protobuf import message as _message
5
+ from collections.abc import Iterable as _Iterable, Mapping as _Mapping
6
+ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
7
+
8
+ DESCRIPTOR: _descriptor.FileDescriptor
9
+
10
+ class WorkbookAgentServiceStreamChatRequest(_message.Message):
11
+ __slots__ = ("messages", "notebook_as_json", "selected_tab_index", "images", "range", "message")
12
+ MESSAGES_FIELD_NUMBER: _ClassVar[int]
13
+ NOTEBOOK_AS_JSON_FIELD_NUMBER: _ClassVar[int]
14
+ SELECTED_TAB_INDEX_FIELD_NUMBER: _ClassVar[int]
15
+ IMAGES_FIELD_NUMBER: _ClassVar[int]
16
+ RANGE_FIELD_NUMBER: _ClassVar[int]
17
+ MESSAGE_FIELD_NUMBER: _ClassVar[int]
18
+ messages: _containers.RepeatedCompositeFieldContainer[_ai_agent_pb2.ModelMessage]
19
+ notebook_as_json: str
20
+ selected_tab_index: int
21
+ images: _containers.RepeatedCompositeFieldContainer[_ai_agent_pb2.ImagePart]
22
+ range: _ai_agent_pb2.TimeRange
23
+ message: AppendMessage
24
+ def __init__(self, messages: _Optional[_Iterable[_Union[_ai_agent_pb2.ModelMessage, _Mapping]]] = ..., notebook_as_json: _Optional[str] = ..., selected_tab_index: _Optional[int] = ..., images: _Optional[_Iterable[_Union[_ai_agent_pb2.ImagePart, _Mapping]]] = ..., range: _Optional[_Union[_ai_agent_pb2.TimeRange, _Mapping]] = ..., message: _Optional[_Union[AppendMessage, _Mapping]] = ...) -> None: ...
25
+
26
+ class AppendMessage(_message.Message):
27
+ __slots__ = ("message", "conversation_rid")
28
+ MESSAGE_FIELD_NUMBER: _ClassVar[int]
29
+ CONVERSATION_RID_FIELD_NUMBER: _ClassVar[int]
30
+ message: _ai_agent_pb2.UserModelMessage
31
+ conversation_rid: str
32
+ def __init__(self, message: _Optional[_Union[_ai_agent_pb2.UserModelMessage, _Mapping]] = ..., conversation_rid: _Optional[str] = ...) -> None: ...