Skip to content
This repository was archived by the owner on Aug 5, 2025. It is now read-only.

Commit 9608e6c

Browse files
authored
Merge pull request #156 from Chainlit/matt/eng-2178-allow-prompt-deletion
feat: add warning messages when getting deleted promp
2 parents 843de0c + c9f7514 commit 9608e6c

File tree

2 files changed

+40
-3
lines changed

2 files changed

+40
-3
lines changed

literalai/api/helpers/gql.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -989,6 +989,7 @@
989989
) {
990990
id
991991
name
992+
deletedAt
992993
}
993994
}"""
994995

@@ -999,6 +1000,7 @@
9991000
name: $name
10001001
) {
10011002
id
1003+
deletedAt
10021004
}
10031005
}"""
10041006

@@ -1023,6 +1025,7 @@
10231025
id
10241026
lineage {
10251027
name
1028+
deletedAt
10261029
}
10271030
version
10281031
createdAt
@@ -1083,6 +1086,7 @@
10831086
version
10841087
lineage {
10851088
name
1089+
deletedAt
10861090
}
10871091
}
10881092
}

literalai/api/helpers/prompt_helpers.py

Lines changed: 36 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import logging
12
from typing import TYPE_CHECKING, Optional, TypedDict, Callable
23

34
from literalai.observability.generation import GenerationMessage
@@ -12,11 +13,18 @@
1213
from literalai.api.helpers import gql
1314

1415

16+
logger = logging.getLogger(__name__)
17+
18+
1519
def create_prompt_lineage_helper(name: str, description: Optional[str] = None):
1620
variables = {"name": name, "description": description}
1721

1822
def process_response(response):
1923
prompt = response["data"]["createPromptLineage"]
24+
if prompt and prompt.get("deletedAt"):
25+
logger.warning(
26+
f"Prompt {name} was deleted - please update any references to use an active prompt in production"
27+
)
2028
return prompt
2129

2230
description = "create prompt lineage"
@@ -29,6 +37,10 @@ def get_prompt_lineage_helper(name: str):
2937

3038
def process_response(response):
3139
prompt = response["data"]["promptLineage"]
40+
if prompt and prompt.get("deletedAt"):
41+
logger.warning(
42+
f"Prompt {name} was deleted - please update any references to use an active prompt in production"
43+
)
3244
return prompt
3345

3446
description = "get prompt lineage"
@@ -52,15 +64,23 @@ def create_prompt_helper(
5264

5365
def process_response(response):
5466
prompt = response["data"]["createPromptVersion"]
67+
prompt_lineage = prompt.get("lineage")
68+
69+
if prompt_lineage and prompt_lineage.get("deletedAt"):
70+
logger.warning(
71+
f"Prompt {prompt_lineage.get('name')} was deleted - please update any references to use an active prompt in production"
72+
)
5573
return Prompt.from_dict(api, prompt) if prompt else None
5674

5775
description = "create prompt version"
5876

5977
return gql.CREATE_PROMPT_VERSION, description, variables, process_response
6078

6179

62-
def get_prompt_cache_key(id: Optional[str], name: Optional[str], version: Optional[int]) -> str:
63-
if id:
80+
def get_prompt_cache_key(
81+
id: Optional[str], name: Optional[str], version: Optional[int]
82+
) -> str:
83+
if id:
6484
return id
6585
elif name and version:
6686
return f"{name}-{version}"
@@ -90,14 +110,27 @@ def get_prompt_helper(
90110

91111
def process_response(response):
92112
prompt_version = response["data"]["promptVersion"]
113+
prompt_lineage = prompt_version.get("lineage")
114+
115+
if prompt_lineage and prompt_lineage.get("deletedAt"):
116+
logger.warning(
117+
f"Prompt {name} was deleted - please update any references to use an active prompt in production"
118+
)
93119
prompt = Prompt.from_dict(api, prompt_version) if prompt_version else None
94120
if cache and prompt:
95121
put_prompt(cache, prompt)
96122
return prompt
97123

98124
description = "get prompt"
99125

100-
return gql.GET_PROMPT_VERSION, description, variables, process_response, timeout, cached_prompt
126+
return (
127+
gql.GET_PROMPT_VERSION,
128+
description,
129+
variables,
130+
process_response,
131+
timeout,
132+
cached_prompt,
133+
)
101134

102135

103136
def create_prompt_variant_helper(

0 commit comments

Comments
 (0)