nominal-api-protos 0.978.0__tar.gz → 0.988.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.978.0 → nominal_api_protos-0.988.0}/PKG-INFO +1 -1
  2. nominal_api_protos-0.988.0/nominal_api_protos/nominal/ai/v1/ai_agent_pb2.py +121 -0
  3. nominal_api_protos-0.978.0/nominal_api_protos/nominal/ai/v1/workbook_agent_pb2.pyi → nominal_api_protos-0.988.0/nominal_api_protos/nominal/ai/v1/ai_agent_pb2.pyi +36 -23
  4. nominal_api_protos-0.988.0/nominal_api_protos/nominal/ai/v1/ai_agent_pb2_grpc.py +321 -0
  5. nominal_api_protos-0.988.0/nominal_api_protos/nominal/ai/v1/workbook_agent_pb2.py +41 -0
  6. nominal_api_protos-0.988.0/nominal_api_protos/nominal/ai/v1/workbook_agent_pb2.pyi +32 -0
  7. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/ai/v1/workbook_agent_pb2_grpc.py +40 -36
  8. nominal_api_protos-0.988.0/nominal_api_protos/nominal/data_connector/v1/data_connector_pb2.py +145 -0
  9. nominal_api_protos-0.988.0/nominal_api_protos/nominal/data_connector/v1/data_connector_pb2.pyi +255 -0
  10. nominal_api_protos-0.988.0/nominal_api_protos/nominal/data_connector/v1/data_connector_pb2_grpc.py +368 -0
  11. nominal_api_protos-0.988.0/nominal_api_protos/nominal/data_connector/v1/opc_ua_connector_pb2.py +117 -0
  12. nominal_api_protos-0.988.0/nominal_api_protos/nominal/data_connector/v1/opc_ua_connector_pb2.pyi +282 -0
  13. nominal_api_protos-0.988.0/nominal_api_protos/nominal/data_connector/v1/opc_ua_connector_pb2_grpc.py +24 -0
  14. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/direct_channel_writer/v2/direct_nominal_channel_writer_pb2.py +25 -23
  15. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/direct_channel_writer/v2/direct_nominal_channel_writer_pb2.pyi +10 -2
  16. nominal_api_protos-0.988.0/nominal_api_protos/nominal_write_pb2.py +70 -0
  17. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal_write_pb2.pyi +40 -2
  18. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos.egg-info/PKG-INFO +1 -1
  19. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos.egg-info/SOURCES.txt +9 -0
  20. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/setup.py +1 -1
  21. nominal_api_protos-0.978.0/nominal_api_protos/nominal/ai/v1/workbook_agent_pb2.py +0 -117
  22. nominal_api_protos-0.978.0/nominal_api_protos/nominal_write_pb2.py +0 -60
  23. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/ai/v1/ai_features_pb2.py +0 -0
  24. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/ai/v1/ai_features_pb2.pyi +0 -0
  25. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/ai/v1/ai_features_pb2_grpc.py +0 -0
  26. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/ai/v1/knowledge_base_pb2.py +0 -0
  27. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/ai/v1/knowledge_base_pb2.pyi +0 -0
  28. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/ai/v1/knowledge_base_pb2_grpc.py +0 -0
  29. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/application/v1/application_pb2.py +0 -0
  30. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/application/v1/application_pb2.pyi +0 -0
  31. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/application/v1/application_pb2_grpc.py +0 -0
  32. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/authentication/groups/v1/groups_pb2.py +0 -0
  33. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/authentication/groups/v1/groups_pb2.pyi +0 -0
  34. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/authentication/groups/v1/groups_pb2_grpc.py +0 -0
  35. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/authorization/markings/v1/markings_pb2.py +0 -0
  36. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/authorization/markings/v1/markings_pb2.pyi +0 -0
  37. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/authorization/markings/v1/markings_pb2_grpc.py +0 -0
  38. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/authorization/permissions/v1/permissions_pb2.py +0 -0
  39. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/authorization/permissions/v1/permissions_pb2.pyi +0 -0
  40. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/authorization/permissions/v1/permissions_pb2_grpc.py +0 -0
  41. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/authorization/roles/v1/roles_pb2.py +0 -0
  42. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/authorization/roles/v1/roles_pb2.pyi +0 -0
  43. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/authorization/roles/v1/roles_pb2_grpc.py +0 -0
  44. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/blob_storage_service/v1/blob_storage_service_pb2.py +0 -0
  45. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/blob_storage_service/v1/blob_storage_service_pb2.pyi +0 -0
  46. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/blob_storage_service/v1/blob_storage_service_pb2_grpc.py +0 -0
  47. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/comments/v1/comments_pb2.py +0 -0
  48. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/comments/v1/comments_pb2.pyi +0 -0
  49. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/comments/v1/comments_pb2_grpc.py +0 -0
  50. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/connect/demo_apps/v1/connect_demo_apps_pb2.py +0 -0
  51. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/connect/demo_apps/v1/connect_demo_apps_pb2.pyi +0 -0
  52. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/connect/demo_apps/v1/connect_demo_apps_pb2_grpc.py +0 -0
  53. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/connect/download/v1/connect_download_pb2.py +0 -0
  54. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/connect/download/v1/connect_download_pb2.pyi +0 -0
  55. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/connect/download/v1/connect_download_pb2_grpc.py +0 -0
  56. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/connect/v1/connect_apps_pb2.py +0 -0
  57. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/connect/v1/connect_apps_pb2.pyi +0 -0
  58. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/connect/v1/connect_apps_pb2_grpc.py +0 -0
  59. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/connections/v1/external_api_connections_pb2.py +0 -0
  60. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/connections/v1/external_api_connections_pb2.pyi +0 -0
  61. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/connections/v1/external_api_connections_pb2_grpc.py +0 -0
  62. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/conversations/v1/conversations_pb2.py +0 -0
  63. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/conversations/v1/conversations_pb2.pyi +0 -0
  64. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/conversations/v1/conversations_pb2_grpc.py +0 -0
  65. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/direct_channel_writer/v2/direct_nominal_channel_writer_pb2_grpc.py +0 -0
  66. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/edge/v1/edge_sync_pb2.py +0 -0
  67. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/edge/v1/edge_sync_pb2.pyi +0 -0
  68. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/edge/v1/edge_sync_pb2_grpc.py +0 -0
  69. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/procedures/executions/v1/procedure_executions_pb2.py +0 -0
  70. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/procedures/executions/v1/procedure_executions_pb2.pyi +0 -0
  71. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/procedures/executions/v1/procedure_executions_pb2_grpc.py +0 -0
  72. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/procedures/v1/id_format_pb2.py +0 -0
  73. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/procedures/v1/id_format_pb2.pyi +0 -0
  74. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/procedures/v1/id_format_pb2_grpc.py +0 -0
  75. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/procedures/v1/procedures_pb2.py +0 -0
  76. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/procedures/v1/procedures_pb2.pyi +0 -0
  77. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/procedures/v1/procedures_pb2_grpc.py +0 -0
  78. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/scout/elements/v1/elements_pb2.py +0 -0
  79. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/scout/elements/v1/elements_pb2.pyi +0 -0
  80. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/scout/elements/v1/elements_pb2_grpc.py +0 -0
  81. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/streaming_connection_service/v1/opc_ua_pb2.py +0 -0
  82. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/streaming_connection_service/v1/opc_ua_pb2.pyi +0 -0
  83. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/streaming_connection_service/v1/opc_ua_pb2_grpc.py +0 -0
  84. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/streaming_connection_service/v1/streaming_connection_service_pb2.py +0 -0
  85. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/streaming_connection_service/v1/streaming_connection_service_pb2.pyi +0 -0
  86. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/streaming_connection_service/v1/streaming_connection_service_pb2_grpc.py +0 -0
  87. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/types/series/series_pb2.py +0 -0
  88. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/types/series/series_pb2.pyi +0 -0
  89. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/types/series/series_pb2_grpc.py +0 -0
  90. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/types/time/time_pb2.py +0 -0
  91. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/types/time/time_pb2.pyi +0 -0
  92. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/types/time/time_pb2_grpc.py +0 -0
  93. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/types/types_pb2.py +0 -0
  94. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/types/types_pb2.pyi +0 -0
  95. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/types/types_pb2_grpc.py +0 -0
  96. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/units/v1/units_pb2.py +0 -0
  97. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/units/v1/units_pb2.pyi +0 -0
  98. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/units/v1/units_pb2_grpc.py +0 -0
  99. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/versioning/v1/versioning_pb2.py +0 -0
  100. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/versioning/v1/versioning_pb2.pyi +0 -0
  101. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/versioning/v1/versioning_pb2_grpc.py +0 -0
  102. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/workspaces/v1/workspaces_pb2.py +0 -0
  103. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/workspaces/v1/workspaces_pb2.pyi +0 -0
  104. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal/workspaces/v1/workspaces_pb2_grpc.py +0 -0
  105. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/nominal_write_pb2_grpc.py +0 -0
  106. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/prometheus_remote_write_pb2.py +0 -0
  107. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/prometheus_remote_write_pb2.pyi +0 -0
  108. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/prometheus_remote_write_pb2_grpc.py +0 -0
  109. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos/py.typed +0 -0
  110. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos.egg-info/dependency_links.txt +0 -0
  111. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos.egg-info/requires.txt +0 -0
  112. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/nominal_api_protos.egg-info/top_level.txt +0 -0
  113. {nominal_api_protos-0.978.0 → nominal_api_protos-0.988.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nominal-api-protos
3
- Version: 0.978.0
3
+ Version: 0.988.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,121 @@
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\"\xf8\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\x12.\n\x06global\x18\x05 \x01(\x0b\x32\x1c.nominal.ai.v1.GlobalContextH\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\"\x0f\n\rGlobalContext\"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\"\x9a\x01\n\x17GetConversationResponse\x12;\n\x10ordered_messages\x18\x01 \x03(\x0b\x32!.nominal.ai.v1.ModelMessageWithId\x12\x42\n\x15\x63onversation_metadata\x18\x02 \x01(\x0b\x32#.nominal.ai.v1.ConversationMetadata\"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\"K\n\x06\x46inish\x12\x1b\n\x13ordered_message_ids\x18\x01 \x03(\t\x12\x16\n\tnew_title\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0c\n\n_new_title\"\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=329
37
+ _globals['_WORKBOOKCONTEXT']._serialized_start=331
38
+ _globals['_WORKBOOKCONTEXT']._serialized_end=453
39
+ _globals['_GLOBALCONTEXT']._serialized_start=455
40
+ _globals['_GLOBALCONTEXT']._serialized_end=470
41
+ _globals['_WORKBOOKUSERPRESENCE']._serialized_start=472
42
+ _globals['_WORKBOOKUSERPRESENCE']._serialized_end=588
43
+ _globals['_CREATECONVERSATIONREQUEST']._serialized_start=591
44
+ _globals['_CREATECONVERSATIONREQUEST']._serialized_end=774
45
+ _globals['_CREATECONVERSATIONRESPONSE']._serialized_start=776
46
+ _globals['_CREATECONVERSATIONRESPONSE']._serialized_end=834
47
+ _globals['_UPDATECONVERSATIONMETADATAREQUEST']._serialized_start=836
48
+ _globals['_UPDATECONVERSATIONMETADATAREQUEST']._serialized_end=912
49
+ _globals['_UPDATECONVERSATIONMETADATARESPONSE']._serialized_start=914
50
+ _globals['_UPDATECONVERSATIONMETADATARESPONSE']._serialized_end=950
51
+ _globals['_DELETECONVERSATIONREQUEST']._serialized_start=952
52
+ _globals['_DELETECONVERSATIONREQUEST']._serialized_end=1005
53
+ _globals['_DELETECONVERSATIONRESPONSE']._serialized_start=1007
54
+ _globals['_DELETECONVERSATIONRESPONSE']._serialized_end=1035
55
+ _globals['_GETCONVERSATIONREQUEST']._serialized_start=1038
56
+ _globals['_GETCONVERSATIONREQUEST']._serialized_end=1204
57
+ _globals['_MODELMESSAGEWITHID']._serialized_start=1207
58
+ _globals['_MODELMESSAGEWITHID']._serialized_end=1356
59
+ _globals['_GETCONVERSATIONRESPONSE']._serialized_start=1359
60
+ _globals['_GETCONVERSATIONRESPONSE']._serialized_end=1513
61
+ _globals['_LISTCONVERSATIONSREQUEST']._serialized_start=1515
62
+ _globals['_LISTCONVERSATIONSREQUEST']._serialized_end=1564
63
+ _globals['_CONVERSATIONMETADATA']._serialized_start=1567
64
+ _globals['_CONVERSATIONMETADATA']._serialized_end=1731
65
+ _globals['_LISTCONVERSATIONSRESPONSE']._serialized_start=1733
66
+ _globals['_LISTCONVERSATIONSRESPONSE']._serialized_end=1820
67
+ _globals['_TIMERANGE']._serialized_start=1822
68
+ _globals['_TIMERANGE']._serialized_end=1925
69
+ _globals['_TIMESTAMP']._serialized_start=1927
70
+ _globals['_TIMESTAMP']._serialized_end=1976
71
+ _globals['_MODELMESSAGE']._serialized_start=1979
72
+ _globals['_MODELMESSAGE']._serialized_end=2109
73
+ _globals['_USERMODELMESSAGE']._serialized_start=2111
74
+ _globals['_USERMODELMESSAGE']._serialized_end=2175
75
+ _globals['_ASSISTANTMODELMESSAGE']._serialized_start=2177
76
+ _globals['_ASSISTANTMODELMESSAGE']._serialized_end=2260
77
+ _globals['_USERCONTENTPART']._serialized_start=2262
78
+ _globals['_USERCONTENTPART']._serialized_end=2328
79
+ _globals['_ASSISTANTCONTENTPART']._serialized_start=2330
80
+ _globals['_ASSISTANTCONTENTPART']._serialized_end=2452
81
+ _globals['_TEXTPART']._serialized_start=2454
82
+ _globals['_TEXTPART']._serialized_end=2478
83
+ _globals['_IMAGEPART']._serialized_start=2480
84
+ _globals['_IMAGEPART']._serialized_end=2581
85
+ _globals['_REASONINGPART']._serialized_start=2583
86
+ _globals['_REASONINGPART']._serialized_end=2617
87
+ _globals['_STREAMCHATRESPONSE']._serialized_start=2620
88
+ _globals['_STREAMCHATRESPONSE']._serialized_end=3154
89
+ _globals['_FINISH']._serialized_start=3156
90
+ _globals['_FINISH']._serialized_end=3231
91
+ _globals['_ERROR']._serialized_start=3233
92
+ _globals['_ERROR']._serialized_end=3257
93
+ _globals['_TEXTSTART']._serialized_start=3259
94
+ _globals['_TEXTSTART']._serialized_end=3282
95
+ _globals['_TEXTDELTA']._serialized_start=3284
96
+ _globals['_TEXTDELTA']._serialized_end=3322
97
+ _globals['_TEXTEND']._serialized_start=3324
98
+ _globals['_TEXTEND']._serialized_end=3345
99
+ _globals['_REASONINGSTART']._serialized_start=3347
100
+ _globals['_REASONINGSTART']._serialized_end=3375
101
+ _globals['_REASONINGDELTA']._serialized_start=3377
102
+ _globals['_REASONINGDELTA']._serialized_end=3420
103
+ _globals['_REASONINGEND']._serialized_start=3422
104
+ _globals['_REASONINGEND']._serialized_end=3448
105
+ _globals['_ADDTABMUTATION']._serialized_start=3450
106
+ _globals['_ADDTABMUTATION']._serialized_end=3502
107
+ _globals['_ADDORUPDATEPANELMUTATION']._serialized_start=3504
108
+ _globals['_ADDORUPDATEPANELMUTATION']._serialized_end=3590
109
+ _globals['_REMOVEPANELSMUTATION']._serialized_start=3592
110
+ _globals['_REMOVEPANELSMUTATION']._serialized_end=3633
111
+ _globals['_ADDORREPLACEVARIABLEMUTATION']._serialized_start=3636
112
+ _globals['_ADDORREPLACEVARIABLEMUTATION']._serialized_end=3786
113
+ _globals['_DELETEVARIABLESMUTATION']._serialized_start=3788
114
+ _globals['_DELETEVARIABLESMUTATION']._serialized_end=3837
115
+ _globals['_WORKBOOKMUTATION']._serialized_start=3840
116
+ _globals['_WORKBOOKMUTATION']._serialized_end=4214
117
+ _globals['_TOOLACTION']._serialized_start=4216
118
+ _globals['_TOOLACTION']._serialized_end=4308
119
+ _globals['_AIAGENTSERVICE']._serialized_start=4311
120
+ _globals['_AIAGENTSERVICE']._serialized_end=4960
121
+ # @@protoc_insertion_point(module_scope)
@@ -10,28 +10,37 @@ 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
+ GLOBAL_FIELD_NUMBER: _ClassVar[int]
19
+ conversation_rid: str
20
+ message: UserModelMessage
23
21
  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: ...
22
+ workbook: WorkbookContext
23
+ def __init__(self, conversation_rid: _Optional[str] = ..., message: _Optional[_Union[UserModelMessage, _Mapping]] = ..., images: _Optional[_Iterable[_Union[ImagePart, _Mapping]]] = ..., workbook: _Optional[_Union[WorkbookContext, _Mapping]] = ..., **kwargs) -> None: ...
24
+
25
+ class WorkbookContext(_message.Message):
26
+ __slots__ = ("workbook_rid", "user_presence")
27
+ WORKBOOK_RID_FIELD_NUMBER: _ClassVar[int]
28
+ USER_PRESENCE_FIELD_NUMBER: _ClassVar[int]
29
+ workbook_rid: str
30
+ user_presence: WorkbookUserPresence
31
+ def __init__(self, workbook_rid: _Optional[str] = ..., user_presence: _Optional[_Union[WorkbookUserPresence, _Mapping]] = ...) -> None: ...
32
+
33
+ class GlobalContext(_message.Message):
34
+ __slots__ = ()
35
+ def __init__(self) -> None: ...
27
36
 
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: ...
37
+ class WorkbookUserPresence(_message.Message):
38
+ __slots__ = ("tab_index", "range")
39
+ TAB_INDEX_FIELD_NUMBER: _ClassVar[int]
40
+ RANGE_FIELD_NUMBER: _ClassVar[int]
41
+ tab_index: int
42
+ range: TimeRange
43
+ def __init__(self, tab_index: _Optional[int] = ..., range: _Optional[_Union[TimeRange, _Mapping]] = ...) -> None: ...
35
44
 
36
45
  class CreateConversationRequest(_message.Message):
37
46
  __slots__ = ("title", "workspace_rid", "old_conversation_rid", "previous_message_id")
@@ -94,10 +103,12 @@ class ModelMessageWithId(_message.Message):
94
103
  def __init__(self, message: _Optional[_Union[ModelMessage, _Mapping]] = ..., tool_action: _Optional[_Union[ToolAction, _Mapping]] = ..., message_id: _Optional[str] = ...) -> None: ...
95
104
 
96
105
  class GetConversationResponse(_message.Message):
97
- __slots__ = ("ordered_messages",)
106
+ __slots__ = ("ordered_messages", "conversation_metadata")
98
107
  ORDERED_MESSAGES_FIELD_NUMBER: _ClassVar[int]
108
+ CONVERSATION_METADATA_FIELD_NUMBER: _ClassVar[int]
99
109
  ordered_messages: _containers.RepeatedCompositeFieldContainer[ModelMessageWithId]
100
- def __init__(self, ordered_messages: _Optional[_Iterable[_Union[ModelMessageWithId, _Mapping]]] = ...) -> None: ...
110
+ conversation_metadata: ConversationMetadata
111
+ def __init__(self, ordered_messages: _Optional[_Iterable[_Union[ModelMessageWithId, _Mapping]]] = ..., conversation_metadata: _Optional[_Union[ConversationMetadata, _Mapping]] = ...) -> None: ...
101
112
 
102
113
  class ListConversationsRequest(_message.Message):
103
114
  __slots__ = ("workspace_rid",)
@@ -220,10 +231,12 @@ class StreamChatResponse(_message.Message):
220
231
  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
232
 
222
233
  class Finish(_message.Message):
223
- __slots__ = ("ordered_message_ids",)
234
+ __slots__ = ("ordered_message_ids", "new_title")
224
235
  ORDERED_MESSAGE_IDS_FIELD_NUMBER: _ClassVar[int]
236
+ NEW_TITLE_FIELD_NUMBER: _ClassVar[int]
225
237
  ordered_message_ids: _containers.RepeatedScalarFieldContainer[str]
226
- def __init__(self, ordered_message_ids: _Optional[_Iterable[str]] = ...) -> None: ...
238
+ new_title: str
239
+ def __init__(self, ordered_message_ids: _Optional[_Iterable[str]] = ..., new_title: _Optional[str] = ...) -> None: ...
227
240
 
228
241
  class Error(_message.Message):
229
242
  __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: ...