graphlit-client 1.0.20250529001__py3-none-any.whl → 1.0.20250531002__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
graphlit/graphlit.py CHANGED
@@ -5,10 +5,11 @@ import httpx
5
5
  from graphlit_api.client import Client
6
6
 
7
7
  class Graphlit:
8
- def __init__(self, organization_id=None, environment_id=None, jwt_secret=None, owner_id=None, api_uri=None):
8
+ def __init__(self, organization_id=None, environment_id=None, jwt_secret=None, owner_id=None, user_id=None, api_uri=None):
9
9
  self.organization_id = organization_id if organization_id is not None else os.getenv("GRAPHLIT_ORGANIZATION_ID")
10
10
  self.environment_id = environment_id if environment_id is not None else os.getenv("GRAPHLIT_ENVIRONMENT_ID")
11
11
  self.owner_id = owner_id if owner_id is not None else os.getenv("GRAPHLIT_OWNER_ID")
12
+ self.user_id = user_id if user_id is not None else os.getenv("GRAPHLIT_USER_ID")
12
13
  self.secret_key = jwt_secret if jwt_secret is not None else os.getenv("GRAPHLIT_JWT_SECRET")
13
14
  self.api_uri = api_uri if api_uri is not None else "https://data-scus.graphlit.io/api/v1/graphql/"
14
15
 
@@ -42,4 +43,10 @@ class Graphlit:
42
43
  if self.owner_id is not None:
43
44
  payload["https://graphlit.io/jwt/claims"]["x-graphlit-owner-id"] = self.owner_id
44
45
 
46
+ if self.user_id is not None:
47
+ payload["https://graphlit.io/jwt/claims"]["x-graphlit-user-id"] = self.user_id
48
+
49
+ if self.secret_key is None:
50
+ raise ValueError("JWT secret key is required. Please provide it via jwt_secret parameter or GRAPHLIT_JWT_SECRET environment variable.")
51
+
45
52
  self.token = jwt.encode(payload, self.secret_key, algorithm="HS256")
graphlit_api/__init__.py CHANGED
@@ -959,6 +959,19 @@ from .get_user import (
959
959
  GetUserUserConnectorsIntegrationTwitter,
960
960
  GetUserUserOwner,
961
961
  )
962
+ from .get_user_by_identifier import (
963
+ GetUserByIdentifier,
964
+ GetUserByIdentifierUserByIdentifier,
965
+ GetUserByIdentifierUserByIdentifierConnectors,
966
+ GetUserByIdentifierUserByIdentifierConnectorsAuthentication,
967
+ GetUserByIdentifierUserByIdentifierConnectorsAuthenticationGoogle,
968
+ GetUserByIdentifierUserByIdentifierConnectorsAuthenticationMicrosoft,
969
+ GetUserByIdentifierUserByIdentifierConnectorsIntegration,
970
+ GetUserByIdentifierUserByIdentifierConnectorsIntegrationEmail,
971
+ GetUserByIdentifierUserByIdentifierConnectorsIntegrationSlack,
972
+ GetUserByIdentifierUserByIdentifierConnectorsIntegrationTwitter,
973
+ GetUserByIdentifierUserByIdentifierOwner,
974
+ )
962
975
  from .get_workflow import (
963
976
  GetWorkflow,
964
977
  GetWorkflowWorkflow,
@@ -1036,6 +1049,16 @@ from .ingest_encoded_file import (
1036
1049
  IngestEncodedFileIngestEncodedFileObservationsOccurrencesBoundingBox,
1037
1050
  IngestEncodedFileIngestEncodedFileObservationsRelated,
1038
1051
  )
1052
+ from .ingest_event import (
1053
+ IngestEvent,
1054
+ IngestEventIngestEvent,
1055
+ IngestEventIngestEventCollections,
1056
+ IngestEventIngestEventObservations,
1057
+ IngestEventIngestEventObservationsObservable,
1058
+ IngestEventIngestEventObservationsOccurrences,
1059
+ IngestEventIngestEventObservationsOccurrencesBoundingBox,
1060
+ IngestEventIngestEventObservationsRelated,
1061
+ )
1039
1062
  from .ingest_memory import (
1040
1063
  IngestMemory,
1041
1064
  IngestMemoryIngestMemory,
@@ -1594,10 +1617,12 @@ from .operations import (
1594
1617
  GET_SHARE_POINT_CONSENT_URI_GQL,
1595
1618
  GET_SOFTWARE_GQL,
1596
1619
  GET_SPECIFICATION_GQL,
1620
+ GET_USER_BY_IDENTIFIER_GQL,
1597
1621
  GET_USER_GQL,
1598
1622
  GET_WORKFLOW_GQL,
1599
1623
  INGEST_BATCH_GQL,
1600
1624
  INGEST_ENCODED_FILE_GQL,
1625
+ INGEST_EVENT_GQL,
1601
1626
  INGEST_MEMORY_GQL,
1602
1627
  INGEST_TEXT_BATCH_GQL,
1603
1628
  INGEST_TEXT_GQL,
@@ -3335,6 +3360,7 @@ __all__ = [
3335
3360
  "GET_SHARE_POINT_CONSENT_URI_GQL",
3336
3361
  "GET_SOFTWARE_GQL",
3337
3362
  "GET_SPECIFICATION_GQL",
3363
+ "GET_USER_BY_IDENTIFIER_GQL",
3338
3364
  "GET_USER_GQL",
3339
3365
  "GET_WORKFLOW_GQL",
3340
3366
  "GeometryMetadataInput",
@@ -3594,6 +3620,17 @@ __all__ = [
3594
3620
  "GetSpecificationSpecificationStrategy",
3595
3621
  "GetSpecificationSpecificationVoyage",
3596
3622
  "GetUser",
3623
+ "GetUserByIdentifier",
3624
+ "GetUserByIdentifierUserByIdentifier",
3625
+ "GetUserByIdentifierUserByIdentifierConnectors",
3626
+ "GetUserByIdentifierUserByIdentifierConnectorsAuthentication",
3627
+ "GetUserByIdentifierUserByIdentifierConnectorsAuthenticationGoogle",
3628
+ "GetUserByIdentifierUserByIdentifierConnectorsAuthenticationMicrosoft",
3629
+ "GetUserByIdentifierUserByIdentifierConnectorsIntegration",
3630
+ "GetUserByIdentifierUserByIdentifierConnectorsIntegrationEmail",
3631
+ "GetUserByIdentifierUserByIdentifierConnectorsIntegrationSlack",
3632
+ "GetUserByIdentifierUserByIdentifierConnectorsIntegrationTwitter",
3633
+ "GetUserByIdentifierUserByIdentifierOwner",
3597
3634
  "GetUserUser",
3598
3635
  "GetUserUserConnectors",
3599
3636
  "GetUserUserConnectorsAuthentication",
@@ -3690,6 +3727,7 @@ __all__ = [
3690
3727
  "H3ResolutionTypes",
3691
3728
  "INGEST_BATCH_GQL",
3692
3729
  "INGEST_ENCODED_FILE_GQL",
3730
+ "INGEST_EVENT_GQL",
3693
3731
  "INGEST_MEMORY_GQL",
3694
3732
  "INGEST_TEXT_BATCH_GQL",
3695
3733
  "INGEST_TEXT_GQL",
@@ -3716,6 +3754,14 @@ __all__ = [
3716
3754
  "IngestEncodedFileIngestEncodedFileObservationsOccurrences",
3717
3755
  "IngestEncodedFileIngestEncodedFileObservationsOccurrencesBoundingBox",
3718
3756
  "IngestEncodedFileIngestEncodedFileObservationsRelated",
3757
+ "IngestEvent",
3758
+ "IngestEventIngestEvent",
3759
+ "IngestEventIngestEventCollections",
3760
+ "IngestEventIngestEventObservations",
3761
+ "IngestEventIngestEventObservationsObservable",
3762
+ "IngestEventIngestEventObservationsOccurrences",
3763
+ "IngestEventIngestEventObservationsOccurrencesBoundingBox",
3764
+ "IngestEventIngestEventObservationsRelated",
3719
3765
  "IngestMemory",
3720
3766
  "IngestMemoryIngestMemory",
3721
3767
  "IngestMemoryIngestMemoryCollections",
graphlit_api/client.py CHANGED
@@ -192,9 +192,11 @@ from .get_share_point_consent_uri import GetSharePointConsentUri
192
192
  from .get_software import GetSoftware
193
193
  from .get_specification import GetSpecification
194
194
  from .get_user import GetUser
195
+ from .get_user_by_identifier import GetUserByIdentifier
195
196
  from .get_workflow import GetWorkflow
196
197
  from .ingest_batch import IngestBatch
197
198
  from .ingest_encoded_file import IngestEncodedFile
199
+ from .ingest_event import IngestEvent
198
200
  from .ingest_memory import IngestMemory
199
201
  from .ingest_text import IngestText
200
202
  from .ingest_text_batch import IngestTextBatch
@@ -501,10 +503,12 @@ from .operations import (
501
503
  GET_SHARE_POINT_CONSENT_URI_GQL,
502
504
  GET_SOFTWARE_GQL,
503
505
  GET_SPECIFICATION_GQL,
506
+ GET_USER_BY_IDENTIFIER_GQL,
504
507
  GET_USER_GQL,
505
508
  GET_WORKFLOW_GQL,
506
509
  INGEST_BATCH_GQL,
507
510
  INGEST_ENCODED_FILE_GQL,
511
+ INGEST_EVENT_GQL,
508
512
  INGEST_MEMORY_GQL,
509
513
  INGEST_TEXT_BATCH_GQL,
510
514
  INGEST_TEXT_GQL,
@@ -1387,6 +1391,8 @@ class Client(AsyncBaseClient):
1387
1391
  data: str,
1388
1392
  mime_type: str,
1389
1393
  id: Union[Optional[str], UnsetType] = UNSET,
1394
+ file_creation_date: Union[Optional[Any], UnsetType] = UNSET,
1395
+ file_modified_date: Union[Optional[Any], UnsetType] = UNSET,
1390
1396
  is_synchronous: Union[Optional[bool], UnsetType] = UNSET,
1391
1397
  collections: Union[Optional[List[EntityReferenceInput]], UnsetType] = UNSET,
1392
1398
  observations: Union[
@@ -1401,6 +1407,8 @@ class Client(AsyncBaseClient):
1401
1407
  "data": data,
1402
1408
  "mimeType": mime_type,
1403
1409
  "id": id,
1410
+ "fileCreationDate": file_creation_date,
1411
+ "fileModifiedDate": file_modified_date,
1404
1412
  "isSynchronous": is_synchronous,
1405
1413
  "collections": collections,
1406
1414
  "observations": observations,
@@ -1416,6 +1424,33 @@ class Client(AsyncBaseClient):
1416
1424
  _data = self.get_data(response)
1417
1425
  return IngestEncodedFile.model_validate(_data)
1418
1426
 
1427
+ async def ingest_event(
1428
+ self,
1429
+ markdown: str,
1430
+ name: Union[Optional[str], UnsetType] = UNSET,
1431
+ description: Union[Optional[str], UnsetType] = UNSET,
1432
+ event_date: Union[Optional[Any], UnsetType] = UNSET,
1433
+ collections: Union[Optional[List[EntityReferenceInput]], UnsetType] = UNSET,
1434
+ correlation_id: Union[Optional[str], UnsetType] = UNSET,
1435
+ **kwargs: Any
1436
+ ) -> IngestEvent:
1437
+ variables: Dict[str, object] = {
1438
+ "markdown": markdown,
1439
+ "name": name,
1440
+ "description": description,
1441
+ "eventDate": event_date,
1442
+ "collections": collections,
1443
+ "correlationId": correlation_id,
1444
+ }
1445
+ response = await self.execute(
1446
+ query=INGEST_EVENT_GQL,
1447
+ operation_name="IngestEvent",
1448
+ variables=variables,
1449
+ **kwargs
1450
+ )
1451
+ data = self.get_data(response)
1452
+ return IngestEvent.model_validate(data)
1453
+
1419
1454
  async def ingest_memory(
1420
1455
  self,
1421
1456
  text: str,
@@ -5467,6 +5502,19 @@ class Client(AsyncBaseClient):
5467
5502
  data = self.get_data(response)
5468
5503
  return GetUser.model_validate(data)
5469
5504
 
5505
+ async def get_user_by_identifier(
5506
+ self, identifier: str, **kwargs: Any
5507
+ ) -> GetUserByIdentifier:
5508
+ variables: Dict[str, object] = {"identifier": identifier}
5509
+ response = await self.execute(
5510
+ query=GET_USER_BY_IDENTIFIER_GQL,
5511
+ operation_name="GetUserByIdentifier",
5512
+ variables=variables,
5513
+ **kwargs
5514
+ )
5515
+ data = self.get_data(response)
5516
+ return GetUserByIdentifier.model_validate(data)
5517
+
5470
5518
  async def query_users(
5471
5519
  self,
5472
5520
  filter: Union[Optional[UserFilter], UnsetType] = UNSET,
@@ -18,6 +18,7 @@ class CreateUserCreateUser(BaseModel):
18
18
  name: str
19
19
  state: EntityState
20
20
  type: Optional[UserTypes]
21
+ description: Optional[str]
21
22
  identifier: str
22
23
 
23
24
 
@@ -34,6 +34,8 @@ class GetContentContent(BaseModel):
34
34
  state: EntityState
35
35
  original_date: Optional[Any] = Field(alias="originalDate")
36
36
  finished_date: Optional[Any] = Field(alias="finishedDate")
37
+ file_creation_date: Optional[Any] = Field(alias="fileCreationDate")
38
+ file_modified_date: Optional[Any] = Field(alias="fileModifiedDate")
37
39
  workflow_duration: Optional[Any] = Field(alias="workflowDuration")
38
40
  uri: Optional[Any]
39
41
  description: Optional[str]
graphlit_api/get_user.py CHANGED
@@ -28,6 +28,7 @@ class GetUserUser(BaseModel):
28
28
  state: EntityState
29
29
  type: Optional[UserTypes]
30
30
  identifier: str
31
+ description: Optional[str]
31
32
  connectors: Optional[List[Optional["GetUserUserConnectors"]]]
32
33
 
33
34
 
@@ -0,0 +1,105 @@
1
+ # Generated by ariadne-codegen
2
+ # Source: ./documents
3
+
4
+ from typing import Any, List, Optional
5
+
6
+ from pydantic import Field
7
+
8
+ from .base_model import BaseModel
9
+ from .enums import (
10
+ AuthenticationServiceTypes,
11
+ ConnectorTypes,
12
+ EntityState,
13
+ IntegrationServiceTypes,
14
+ UserTypes,
15
+ )
16
+
17
+
18
+ class GetUserByIdentifier(BaseModel):
19
+ user_by_identifier: Optional["GetUserByIdentifierUserByIdentifier"] = Field(
20
+ alias="userByIdentifier"
21
+ )
22
+
23
+
24
+ class GetUserByIdentifierUserByIdentifier(BaseModel):
25
+ id: str
26
+ name: str
27
+ creation_date: Any = Field(alias="creationDate")
28
+ relevance: Optional[float]
29
+ owner: "GetUserByIdentifierUserByIdentifierOwner"
30
+ state: EntityState
31
+ type: Optional[UserTypes]
32
+ identifier: str
33
+ description: Optional[str]
34
+ connectors: Optional[
35
+ List[Optional["GetUserByIdentifierUserByIdentifierConnectors"]]
36
+ ]
37
+
38
+
39
+ class GetUserByIdentifierUserByIdentifierOwner(BaseModel):
40
+ id: str
41
+
42
+
43
+ class GetUserByIdentifierUserByIdentifierConnectors(BaseModel):
44
+ id: str
45
+ name: str
46
+ state: EntityState
47
+ type: Optional[ConnectorTypes]
48
+ authentication: Optional[
49
+ "GetUserByIdentifierUserByIdentifierConnectorsAuthentication"
50
+ ]
51
+ integration: Optional["GetUserByIdentifierUserByIdentifierConnectorsIntegration"]
52
+
53
+
54
+ class GetUserByIdentifierUserByIdentifierConnectorsAuthentication(BaseModel):
55
+ type: AuthenticationServiceTypes
56
+ microsoft: Optional[
57
+ "GetUserByIdentifierUserByIdentifierConnectorsAuthenticationMicrosoft"
58
+ ]
59
+ google: Optional[
60
+ "GetUserByIdentifierUserByIdentifierConnectorsAuthenticationGoogle"
61
+ ]
62
+
63
+
64
+ class GetUserByIdentifierUserByIdentifierConnectorsAuthenticationMicrosoft(BaseModel):
65
+ tenant_id: str = Field(alias="tenantId")
66
+ client_id: str = Field(alias="clientId")
67
+ client_secret: str = Field(alias="clientSecret")
68
+
69
+
70
+ class GetUserByIdentifierUserByIdentifierConnectorsAuthenticationGoogle(BaseModel):
71
+ client_id: str = Field(alias="clientId")
72
+ client_secret: str = Field(alias="clientSecret")
73
+
74
+
75
+ class GetUserByIdentifierUserByIdentifierConnectorsIntegration(BaseModel):
76
+ type: IntegrationServiceTypes
77
+ uri: Optional[str]
78
+ slack: Optional["GetUserByIdentifierUserByIdentifierConnectorsIntegrationSlack"]
79
+ email: Optional["GetUserByIdentifierUserByIdentifierConnectorsIntegrationEmail"]
80
+ twitter: Optional["GetUserByIdentifierUserByIdentifierConnectorsIntegrationTwitter"]
81
+
82
+
83
+ class GetUserByIdentifierUserByIdentifierConnectorsIntegrationSlack(BaseModel):
84
+ token: str
85
+ channel: str
86
+
87
+
88
+ class GetUserByIdentifierUserByIdentifierConnectorsIntegrationEmail(BaseModel):
89
+ from_: str = Field(alias="from")
90
+ subject: str
91
+ to: List[str]
92
+
93
+
94
+ class GetUserByIdentifierUserByIdentifierConnectorsIntegrationTwitter(BaseModel):
95
+ consumer_key: str = Field(alias="consumerKey")
96
+ consumer_secret: str = Field(alias="consumerSecret")
97
+ access_token_key: str = Field(alias="accessTokenKey")
98
+ access_token_secret: str = Field(alias="accessTokenSecret")
99
+
100
+
101
+ GetUserByIdentifier.model_rebuild()
102
+ GetUserByIdentifierUserByIdentifier.model_rebuild()
103
+ GetUserByIdentifierUserByIdentifierConnectors.model_rebuild()
104
+ GetUserByIdentifierUserByIdentifierConnectorsAuthentication.model_rebuild()
105
+ GetUserByIdentifierUserByIdentifierConnectorsIntegration.model_rebuild()
@@ -0,0 +1,83 @@
1
+ # Generated by ariadne-codegen
2
+ # Source: ./documents
3
+
4
+ from typing import Any, List, Optional
5
+
6
+ from pydantic import Field
7
+
8
+ from .base_model import BaseModel
9
+ from .enums import (
10
+ ContentTypes,
11
+ EntityState,
12
+ FileTypes,
13
+ ObservableTypes,
14
+ OccurrenceTypes,
15
+ )
16
+
17
+
18
+ class IngestEvent(BaseModel):
19
+ ingest_event: Optional["IngestEventIngestEvent"] = Field(alias="ingestEvent")
20
+
21
+
22
+ class IngestEventIngestEvent(BaseModel):
23
+ id: str
24
+ name: str
25
+ state: EntityState
26
+ type: Optional[ContentTypes]
27
+ file_type: Optional[FileTypes] = Field(alias="fileType")
28
+ mime_type: Optional[str] = Field(alias="mimeType")
29
+ uri: Optional[Any]
30
+ collections: Optional[List[Optional["IngestEventIngestEventCollections"]]]
31
+ observations: Optional[List[Optional["IngestEventIngestEventObservations"]]]
32
+
33
+
34
+ class IngestEventIngestEventCollections(BaseModel):
35
+ id: str
36
+ name: str
37
+
38
+
39
+ class IngestEventIngestEventObservations(BaseModel):
40
+ id: str
41
+ type: ObservableTypes
42
+ observable: "IngestEventIngestEventObservationsObservable"
43
+ related: Optional["IngestEventIngestEventObservationsRelated"]
44
+ related_type: Optional[ObservableTypes] = Field(alias="relatedType")
45
+ relation: Optional[str]
46
+ occurrences: Optional[
47
+ List[Optional["IngestEventIngestEventObservationsOccurrences"]]
48
+ ]
49
+ state: EntityState
50
+
51
+
52
+ class IngestEventIngestEventObservationsObservable(BaseModel):
53
+ id: str
54
+ name: Optional[str]
55
+
56
+
57
+ class IngestEventIngestEventObservationsRelated(BaseModel):
58
+ id: str
59
+ name: Optional[str]
60
+
61
+
62
+ class IngestEventIngestEventObservationsOccurrences(BaseModel):
63
+ type: Optional[OccurrenceTypes]
64
+ confidence: Optional[float]
65
+ start_time: Optional[Any] = Field(alias="startTime")
66
+ end_time: Optional[Any] = Field(alias="endTime")
67
+ page_index: Optional[int] = Field(alias="pageIndex")
68
+ bounding_box: Optional[
69
+ "IngestEventIngestEventObservationsOccurrencesBoundingBox"
70
+ ] = Field(alias="boundingBox")
71
+
72
+
73
+ class IngestEventIngestEventObservationsOccurrencesBoundingBox(BaseModel):
74
+ left: Optional[float]
75
+ top: Optional[float]
76
+ width: Optional[float]
77
+ height: Optional[float]
78
+
79
+
80
+ IngestEvent.model_rebuild()
81
+ IngestEventIngestEvent.model_rebuild()
82
+ IngestEventIngestEventObservations.model_rebuild()
83
+ IngestEventIngestEventObservationsOccurrences.model_rebuild()
@@ -442,6 +442,8 @@ class ContentUpdateInput(BaseModel):
442
442
  name: Optional[str] = None
443
443
  description: Optional[str] = None
444
444
  identifier: Optional[str] = None
445
+ file_creation_date: Optional[Any] = Field(alias="fileCreationDate", default=None)
446
+ file_modified_date: Optional[Any] = Field(alias="fileModifiedDate", default=None)
445
447
  summary: Optional[str] = None
446
448
  custom_summary: Optional[str] = Field(alias="customSummary", default=None)
447
449
  keywords: Optional[List[str]] = None
@@ -1852,6 +1854,8 @@ class ContentInput(BaseModel):
1852
1854
  description: Optional[str] = None
1853
1855
  text: Optional[str] = None
1854
1856
  identifier: Optional[str] = None
1857
+ file_creation_date: Optional[Any] = Field(alias="fileCreationDate", default=None)
1858
+ file_modified_date: Optional[Any] = Field(alias="fileModifiedDate", default=None)
1855
1859
  workflow: Optional["EntityReferenceInput"] = None
1856
1860
 
1857
1861
 
@@ -187,10 +187,12 @@ __all__ = [
187
187
  "GET_SHARE_POINT_CONSENT_URI_GQL",
188
188
  "GET_SOFTWARE_GQL",
189
189
  "GET_SPECIFICATION_GQL",
190
+ "GET_USER_BY_IDENTIFIER_GQL",
190
191
  "GET_USER_GQL",
191
192
  "GET_WORKFLOW_GQL",
192
193
  "INGEST_BATCH_GQL",
193
194
  "INGEST_ENCODED_FILE_GQL",
195
+ "INGEST_EVENT_GQL",
194
196
  "INGEST_MEMORY_GQL",
195
197
  "INGEST_TEXT_BATCH_GQL",
196
198
  "INGEST_TEXT_GQL",
@@ -1262,6 +1264,8 @@ query GetContent($id: ID!, $correlationId: String) {
1262
1264
  state
1263
1265
  originalDate
1264
1266
  finishedDate
1267
+ fileCreationDate
1268
+ fileModifiedDate
1265
1269
  workflowDuration
1266
1270
  uri
1267
1271
  description
@@ -1565,12 +1569,14 @@ mutation IngestBatch($uris: [URL!]!, $workflow: EntityReferenceInput, $collectio
1565
1569
  """
1566
1570
 
1567
1571
  INGEST_ENCODED_FILE_GQL = """
1568
- mutation IngestEncodedFile($name: String!, $data: String!, $mimeType: String!, $id: ID, $isSynchronous: Boolean, $collections: [EntityReferenceInput!], $observations: [ObservationReferenceInput!], $workflow: EntityReferenceInput, $correlationId: String) {
1572
+ mutation IngestEncodedFile($name: String!, $data: String!, $mimeType: String!, $id: ID, $fileCreationDate: DateTime, $fileModifiedDate: DateTime, $isSynchronous: Boolean, $collections: [EntityReferenceInput!], $observations: [ObservationReferenceInput!], $workflow: EntityReferenceInput, $correlationId: String) {
1569
1573
  ingestEncodedFile(
1570
1574
  name: $name
1571
1575
  data: $data
1572
1576
  mimeType: $mimeType
1573
1577
  id: $id
1578
+ fileCreationDate: $fileCreationDate
1579
+ fileModifiedDate: $fileModifiedDate
1574
1580
  isSynchronous: $isSynchronous
1575
1581
  collections: $collections
1576
1582
  observations: $observations
@@ -1620,6 +1626,59 @@ mutation IngestEncodedFile($name: String!, $data: String!, $mimeType: String!, $
1620
1626
  }
1621
1627
  """
1622
1628
 
1629
+ INGEST_EVENT_GQL = """
1630
+ mutation IngestEvent($markdown: String!, $name: String, $description: String, $eventDate: DateTime, $collections: [EntityReferenceInput!], $correlationId: String) {
1631
+ ingestEvent(
1632
+ name: $name
1633
+ description: $description
1634
+ eventDate: $eventDate
1635
+ markdown: $markdown
1636
+ collections: $collections
1637
+ correlationId: $correlationId
1638
+ ) {
1639
+ id
1640
+ name
1641
+ state
1642
+ type
1643
+ fileType
1644
+ mimeType
1645
+ uri
1646
+ collections {
1647
+ id
1648
+ name
1649
+ }
1650
+ observations {
1651
+ id
1652
+ type
1653
+ observable {
1654
+ id
1655
+ name
1656
+ }
1657
+ related {
1658
+ id
1659
+ name
1660
+ }
1661
+ relatedType
1662
+ relation
1663
+ occurrences {
1664
+ type
1665
+ confidence
1666
+ startTime
1667
+ endTime
1668
+ pageIndex
1669
+ boundingBox {
1670
+ left
1671
+ top
1672
+ width
1673
+ height
1674
+ }
1675
+ }
1676
+ state
1677
+ }
1678
+ }
1679
+ }
1680
+ """
1681
+
1623
1682
  INGEST_MEMORY_GQL = """
1624
1683
  mutation IngestMemory($text: String!, $name: String, $textType: TextTypes, $collections: [EntityReferenceInput!], $correlationId: String) {
1625
1684
  ingestMemory(
@@ -9036,6 +9095,7 @@ mutation CreateUser($user: UserInput!) {
9036
9095
  name
9037
9096
  state
9038
9097
  type
9098
+ description
9039
9099
  identifier
9040
9100
  }
9041
9101
  }
@@ -9081,6 +9141,62 @@ query GetUser {
9081
9141
  state
9082
9142
  type
9083
9143
  identifier
9144
+ description
9145
+ connectors {
9146
+ id
9147
+ name
9148
+ state
9149
+ type
9150
+ authentication {
9151
+ type
9152
+ microsoft {
9153
+ tenantId
9154
+ clientId
9155
+ clientSecret
9156
+ }
9157
+ google {
9158
+ clientId
9159
+ clientSecret
9160
+ }
9161
+ }
9162
+ integration {
9163
+ type
9164
+ uri
9165
+ slack {
9166
+ token
9167
+ channel
9168
+ }
9169
+ email {
9170
+ from
9171
+ subject
9172
+ to
9173
+ }
9174
+ twitter {
9175
+ consumerKey
9176
+ consumerSecret
9177
+ accessTokenKey
9178
+ accessTokenSecret
9179
+ }
9180
+ }
9181
+ }
9182
+ }
9183
+ }
9184
+ """
9185
+
9186
+ GET_USER_BY_IDENTIFIER_GQL = """
9187
+ query GetUserByIdentifier($identifier: String!) {
9188
+ userByIdentifier(identifier: $identifier) {
9189
+ id
9190
+ name
9191
+ creationDate
9192
+ relevance
9193
+ owner {
9194
+ id
9195
+ }
9196
+ state
9197
+ type
9198
+ identifier
9199
+ description
9084
9200
  connectors {
9085
9201
  id
9086
9202
  name
@@ -9136,6 +9252,7 @@ query QueryUsers($filter: UserFilter, $correlationId: String) {
9136
9252
  state
9137
9253
  type
9138
9254
  identifier
9255
+ description
9139
9256
  connectors {
9140
9257
  id
9141
9258
  name
@@ -9185,6 +9302,7 @@ mutation UpdateUser($user: UserUpdateInput!) {
9185
9302
  name
9186
9303
  state
9187
9304
  type
9305
+ description
9188
9306
  identifier
9189
9307
  }
9190
9308
  }
@@ -32,6 +32,7 @@ class QueryUsersUsersResults(BaseModel):
32
32
  state: EntityState
33
33
  type: Optional[UserTypes]
34
34
  identifier: str
35
+ description: Optional[str]
35
36
  connectors: Optional[List[Optional["QueryUsersUsersResultsConnectors"]]]
36
37
 
37
38
 
@@ -18,6 +18,7 @@ class UpdateUserUpdateUser(BaseModel):
18
18
  name: str
19
19
  state: EntityState
20
20
  type: Optional[UserTypes]
21
+ description: Optional[str]
21
22
  identifier: str
22
23
 
23
24
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: graphlit-client
3
- Version: 1.0.20250529001
3
+ Version: 1.0.20250531002
4
4
  Summary: Graphlit API Python Client
5
5
  Home-page: https://github.com/graphlit/graphlit-client-python
6
6
  Author: Unstruk Data Inc.
@@ -1,12 +1,12 @@
1
1
  graphlit/__init__.py,sha256=4AyigTlFQWP40lnaaQ1H1iRT_B1hIXW9bgPanbwmTvs,32
2
- graphlit/graphlit.py,sha256=56G5Am72og5QHIjEh9cy4vkfos7YVpGvzRuIPhPbCEU,1949
3
- graphlit_api/__init__.py,sha256=pgjG6x6T4uSiIukpLlAaePDAmvZ-m91mNPBGEcaxXnE,191096
2
+ graphlit/graphlit.py,sha256=g2znIWEb6fIwMKGm5G_BY4VHdaZi6hLO4Y6FdBjNesM,2389
3
+ graphlit_api/__init__.py,sha256=buPlICGJT2afyyBpeM_U2rRfX1yMI3sTPtt6Jie_axc,193260
4
4
  graphlit_api/add_contents_to_collections.py,sha256=K7tNpLn8-lRVaVT39iKr-VtCKRWVONyL_h6cC0L606Y,888
5
5
  graphlit_api/ask_graphlit.py,sha256=vt3Q3XIqgT7GmgIPcirwhGjpEP-nowuUDU0g_1DX_Xc,6433
6
6
  graphlit_api/async_base_client.py,sha256=v0KUVwe2_RIQa8Mn7l_yD5McUe7B03vhclJ9SP4XGgw,12578
7
7
  graphlit_api/base_model.py,sha256=o2d-DixASFCGztr3rTiGX0AwgFu7Awr7EgD70FI8a-I,620
8
8
  graphlit_api/clear_conversation.py,sha256=5GOmc2wfupV-7EHWyi3v6LA0pSVLtFNCzxPJm42Dp6Y,531
9
- graphlit_api/client.py,sha256=l9RC1Gg7FaRvjM6NDYb2TcdES7k8WfFwH4NaLjC0UgI,201736
9
+ graphlit_api/client.py,sha256=_MPWzLGCIgr8P6ScSnBef_fQ3ozVODASZ36x_9qWGjw,203579
10
10
  graphlit_api/close_conversation.py,sha256=HcIUUiNf7hnuLZ7Fy6IcgfuHMSyWyJ7uOEy1EEETy_4,531
11
11
  graphlit_api/complete_conversation.py,sha256=WpFrPXdMoA4EQiyiquIScvq5DqVqe6to2L-YhihsNkY,16732
12
12
  graphlit_api/continue_conversation.py,sha256=p-bVR3QdlbQeFq2p-DpBSTwZKwpz3k2-WWJrZfoxETI,16732
@@ -64,7 +64,7 @@ graphlit_api/create_product.py,sha256=PLb2fXv6hQQeZZe9lvrDwgvMRqVA-fQkNEALaxUcNg
64
64
  graphlit_api/create_repo.py,sha256=hzxh3eZLzz1Re4UzDQ2U7Fzok3v2_bub-VbhG6LJuk4,350
65
65
  graphlit_api/create_software.py,sha256=Y9hvsa5XoLzkjm2e_CycKpdIV734tGC4fBHPyGpNU-g,396
66
66
  graphlit_api/create_specification.py,sha256=p23AxlkOa4UJP20C1Cn3Iqi_bVYzauH7f5MxPuhXuHY,643
67
- graphlit_api/create_user.py,sha256=3lvKHsmxnAdvOa26v8Cv3L_7gmaewkgT959aUoCXrvg,465
67
+ graphlit_api/create_user.py,sha256=vISVh1FwTbOBHBQkxDq4AatQFkoe6hF2GLZUyUuhNMY,496
68
68
  graphlit_api/create_workflow.py,sha256=PWn_qneekouCxrDrFjxLHjMsPoobBaNMKwLMfExxAk8,15920
69
69
  graphlit_api/delete_alert.py,sha256=lSFt3rOfbW-Sl9QdcvvtABwqj0e_zs48UPkXjDpfJ8Y,398
70
70
  graphlit_api/delete_alerts.py,sha256=Rza3SIO0ykapJk-HZ0JMuPtlG8_KcLTAOwNJbaGCH_8,442
@@ -166,7 +166,7 @@ graphlit_api/format_conversation.py,sha256=KCC515DadUyVTxa6Tm9qj_V4iJCtIP0_zWqob
166
166
  graphlit_api/get_alert.py,sha256=yw9TLx7iD4d60gaSm4typqQEHt8Y0tyb9xqg504hssQ,7193
167
167
  graphlit_api/get_category.py,sha256=r4BhKYOT49VeBrbNkAd8Hs8ndXnvUV0nPr5CurbI_Bk,439
168
168
  graphlit_api/get_collection.py,sha256=de2AaJQRkMEZoRhmYWnXlXlb1c76cF2Z8v6PwaL7wTk,830
169
- graphlit_api/get_content.py,sha256=B-9zBG9vuTojLy8SFv7Bbhw61z1Y67u4_QZsRd72l1A,11194
169
+ graphlit_api/get_content.py,sha256=A8XZJEOLS8CXIdsphhStgRmGrlmiXXYkFMcjK2sjV4E,11338
170
170
  graphlit_api/get_conversation.py,sha256=7pU2DQSb9smsTRlRYCFntFlcwS8Ua4S7z6-Pd42OFls,17641
171
171
  graphlit_api/get_event.py,sha256=saVoCHle91eNLagCX8AZwcSDikEi9OSnImx-lGx3n9A,1523
172
172
  graphlit_api/get_feed.py,sha256=thNnL79fN00-hO5uJxMcDn3FYfQPuND_WsrQ4glVCkg,11843
@@ -191,21 +191,23 @@ graphlit_api/get_repo.py,sha256=4ngiYmVFEeKe7zK0daSppsbvRwXlwYpbB4HMU2xsl78,578
191
191
  graphlit_api/get_share_point_consent_uri.py,sha256=QaZxlq7Lkx29ryWk66F6ii_JRr7vao0xiObhK-1Ig3o,462
192
192
  graphlit_api/get_software.py,sha256=oFpWsAFCQfclVj7kdIzBxaIuKXavff4IP4jqVMDOzDI,696
193
193
  graphlit_api/get_specification.py,sha256=3zQhdMJ2bDffSYC0Gc_fJ5bISyUBFI9Nf8-ExCK7W_s,10713
194
- graphlit_api/get_user.py,sha256=pdfR920veI3hTBWqbIp8PP_1LCYi8KWTJ2Has8t8URM,2569
194
+ graphlit_api/get_user.py,sha256=YgE90kwTjzGWWvr4IC_qfOCS94AnsaBDDLtxh_o_6Hc,2600
195
+ graphlit_api/get_user_by_identifier.py,sha256=4ZD50nr5TYucznyz45nA2NrLB2msUvuVEsNEQRyOoLs,3318
195
196
  graphlit_api/get_workflow.py,sha256=lTcpcijuvktKxJMtezdp1SUM8UKjKqmV083j_Awnvig,14688
196
197
  graphlit_api/ingest_batch.py,sha256=pmO_rAZdG8dPid40h8lnTfKSa5r0EAOmFF7PIg3a_r4,2366
197
198
  graphlit_api/ingest_encoded_file.py,sha256=mKoEc5qziw8i-MDT8CrGCfmaupWnIVQkow7cRW_Y3Fw,2607
199
+ graphlit_api/ingest_event.py,sha256=ThnAGO8bNghFmxDrk-Q4neW3f_cvUzdSuMocdyU_AaY,2336
198
200
  graphlit_api/ingest_memory.py,sha256=YF7sn_jvpk_iACg8encyp_gd0wrK0Om4blYzPDI-B8c,2374
199
201
  graphlit_api/ingest_text.py,sha256=D4lpV9LTC_u586_ILVrB2rVpHG0-8HivqeOA1GpQuFs,2286
200
202
  graphlit_api/ingest_text_batch.py,sha256=gSD1bH3mAPwJzy5TeMJ6UguEgI9yrPUXyz1soExSttM,2521
201
203
  graphlit_api/ingest_uri.py,sha256=f71kMRyMoAhef6sJU85ZgGz4aPq_5CDLaDvCeQnLY5A,2248
202
- graphlit_api/input_types.py,sha256=VWwtnqjXo3nhFY2wBuS5F-cYm8o4SAONxxO8_b3cmvY,144977
204
+ graphlit_api/input_types.py,sha256=5uZzYu4EOcluzi1jCTGxE1YVQBwo2cmGVK2n_Hq42os,145321
203
205
  graphlit_api/is_content_done.py,sha256=X8uevsTD6oFMbC8I3E9Emg-_yrFTWnnrVL5LpruSB6Q,390
204
206
  graphlit_api/is_feed_done.py,sha256=-FQS2vtDMnNW75K_9jR6IUutvpwLmtoS5yY8wD17CaM,352
205
207
  graphlit_api/lookup_credits.py,sha256=WsV7fGbg29WWOjPRIaL2bnhISGsb0SqUlQxL7rBfNTo,1464
206
208
  graphlit_api/lookup_usage.py,sha256=D_cbO0KmXDqRYqQIhNwWXNFGjwNLEy2_5aVa-SYgRzw,1711
207
209
  graphlit_api/map_web.py,sha256=2rp4jFD1vDqcQ98mCVTeC0RzPqQxmmcRvHNRl8HJfFA,346
208
- graphlit_api/operations.py,sha256=IuzYkVSeV1xp-d3QxEgPBZFrdLsVgKvCaEIHSk3zBxI,188519
210
+ graphlit_api/operations.py,sha256=1rLCu5RCXL4DPu0Nu_i6U0SjBc2_JKQikVmztAqOjA8,190558
209
211
  graphlit_api/prompt.py,sha256=OgNooYRVrNeUlQKNq_WQcM--yZWiP0e1-8joiK5cKfA,6147
210
212
  graphlit_api/prompt_conversation.py,sha256=7eeFb3oAoAeBMNOZ6tEMmiWs2ReDLBCsI0iiA9wnvlA,16346
211
213
  graphlit_api/prompt_specifications.py,sha256=D7YLCfYs7ZFbeqM9rc8UYHBmxDoBHR6YJjpUN32w7BY,7034
@@ -253,7 +255,7 @@ graphlit_api/query_softwares.py,sha256=WSPS-Q2Ol7bCqgqc5Q066wwa_afZEQESuLV1aganB
253
255
  graphlit_api/query_specifications.py,sha256=3rszim0N4hrCfr8R6GCAUySw5p4g85_dpLJtzhqBpgo,11424
254
256
  graphlit_api/query_tokens.py,sha256=8lvoWuoTOGVxiJT089EgzwUt78UPc1dcvN1rMveO07M,1739
255
257
  graphlit_api/query_usage.py,sha256=VUKzjpaZjkcQFXJlEKIQT9I87HTgcYzX1CeimAzqeIM,1645
256
- graphlit_api/query_users.py,sha256=b50tNVR79XOcVqAGjxcjEsHe0Ka9rhXJzJHrEfaCP7Y,2965
258
+ graphlit_api/query_users.py,sha256=a-rZbHe_tDFRwQ4JQ3jwzw4sDXgqF8N7OVfyhV_XUyI,2996
257
259
  graphlit_api/query_workflows.py,sha256=37AeDNVHWUerX6WtB2EJm84RRWWBYC9jxO97kpwWvyM,16482
258
260
  graphlit_api/remove_contents_from_collection.py,sha256=LnUL43UNNIPY-DBn-vg0Jx89tfuEBpctGgdQ5U75UlU,950
259
261
  graphlit_api/retrieve_sources.py,sha256=MLtgZ7_jKNGjf5LKFqJy-KyQESo_KvNeV_gjsfyV2XQ,1134
@@ -296,15 +298,15 @@ graphlit_api/update_project.py,sha256=9To5gF12NyrYZD5DcCyHspSdQ-Bqgo-Fs187HhFiF4
296
298
  graphlit_api/update_repo.py,sha256=9BEt_65v0omSEwDmuspasvp45pCUHfmgq6u2OdLEycw,350
297
299
  graphlit_api/update_software.py,sha256=J78h3r976bLWuiS9q7EixqWLu-G7U0IiQ2SyAePymCY,396
298
300
  graphlit_api/update_specification.py,sha256=P-VoQ6uqRxIV68XDVyibXFuQ3SE973FCmaCgrnA3A84,643
299
- graphlit_api/update_user.py,sha256=d8NCeCa3XqMXAlL-9sbfa4qpgiIDoXDif3KsV33Sz-w,465
301
+ graphlit_api/update_user.py,sha256=r7VfMw19P4u6POz4yEbcFW65-TVAjyBlB3te2_fY6I8,496
300
302
  graphlit_api/update_workflow.py,sha256=7gpwSsrujMSiWM-ZDofAQQJynwI6-bDLyXBZggbjeMc,15920
301
303
  graphlit_api/upsert_category.py,sha256=Q60eV1hfyx9xV6fWNW9bhadTqWFfY4-u8V-vGMUO7Vs,396
302
304
  graphlit_api/upsert_label.py,sha256=_bVWrISvyt4G4IcjAKqu8c5P6FDgaODdIGtSToJfNOY,358
303
305
  graphlit_api/upsert_specification.py,sha256=23eLTL8OLAYE-j_nhjT5NgaCrSUs9Q40rGW_VhDrDoM,643
304
306
  graphlit_api/upsert_workflow.py,sha256=vSC6wOM7bZHF0-8AS-v-AuF8xA95Ym5w07GWH8ISpF4,15920
305
307
  graphlit_api/workflow_exists.py,sha256=1XVcqCW_KZ3BwUFx08lwqQdf1ZpJ6Vmi8jBqcrMqYRI,397
306
- graphlit_client-1.0.20250529001.dist-info/licenses/LICENSE,sha256=ivF8XnUYrNZFQ1wZFMrxWshDb1h7TdSK6Qk8_3WPkhM,1095
307
- graphlit_client-1.0.20250529001.dist-info/METADATA,sha256=AjTnnZncNb8MVow01hO7b1-uEBwyHRQpe0elhP51r1U,3408
308
- graphlit_client-1.0.20250529001.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
309
- graphlit_client-1.0.20250529001.dist-info/top_level.txt,sha256=HUVfNzJrxWuHS-4M5I7XjLa8-mxYQwfx01A4YKJZSYM,22
310
- graphlit_client-1.0.20250529001.dist-info/RECORD,,
308
+ graphlit_client-1.0.20250531002.dist-info/licenses/LICENSE,sha256=ivF8XnUYrNZFQ1wZFMrxWshDb1h7TdSK6Qk8_3WPkhM,1095
309
+ graphlit_client-1.0.20250531002.dist-info/METADATA,sha256=BO4TaWRhAGN--_T3ze4NyL0YBywyEG1aTPvTEMqmVUQ,3408
310
+ graphlit_client-1.0.20250531002.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
311
+ graphlit_client-1.0.20250531002.dist-info/top_level.txt,sha256=HUVfNzJrxWuHS-4M5I7XjLa8-mxYQwfx01A4YKJZSYM,22
312
+ graphlit_client-1.0.20250531002.dist-info/RECORD,,