cevheri commited on
Commit
1c97791
·
1 Parent(s): f74d9c3

chore: remove unused files

Browse files
README.md CHANGED
@@ -10,43 +10,39 @@ short_description: OpenAI compatible Chatbot API
10
 
11
  # OpenAI Compatible Chatbot API Template
12
 
13
- A FastAPI based OpenAI compatible Chatbot API with Visualization.
 
 
14
 
15
 
16
  ## 🔗 Links
17
- * [Github URL](https://github.com/lokumai/openai-openapi-template)
18
- * [HF SPACE URL](https://huggingface.co/spaces/lokumai/openai-openapi-template)
19
- * [SwaggerUI](https://lokumai-openai-openapi-template.hf.space/docs)
20
- * [Redoc](https://lokumai-openai-openapi-template.hf.space/redoc)
21
- * [OpenAPI](https://lokumai-openai-openapi-template.hf.space/openapi.json)
 
22
 
23
 
24
  ## 🚀 Features
25
 
26
  - OpenAI compatible API
27
  - /v1/chat/completions
28
- - /v1/chat/completions/{completion_id}
29
- - /v1/chat/completions/{completion_id}/messages
30
- - /v1/chat/completions/{completion_id}/messages/{message_id}/plots
31
- - /v1/conversation
32
- - /v1/conversation/{completion_id}
33
 
34
- - Complete mock implementation with USE_MOCK_API environment variable
35
  - Secure API key generation with HMAC signatures and API key authentication
36
  - In-memory storage for chat history and plots for mock implementation
37
  - MongoDB storage for chat history and plots for production
38
  - Support for all major OpenAI API endpoints
39
- - Gradio UI for testing the chatbot : [http://127.0.0.1:7860/ui](http://127.0.0.1:7860/ui)
40
 
41
 
42
  ## 📋 Endpoints
43
- - GET - `/chat/completions` list stored chat completions - for first load the chatbot
44
  - POST - `/chat/completions` create a new chat completion - when user starts a new chat
45
- - GET - `/chat/completions/{completion_id}` get a stored chat completion by completion_id - when user clicks on a chat on the list
46
- - POST - `/chat/completions/{completion_id}` modify a stored chat completion by completion_id - NOT IMPLEMENTED YET
47
- - DELETE - `/chat/completions/{completion_id}` delete a stored chat completion by completion_id - NOT IMPLEMENTED YET
48
- - GET - `/chat/completions/{completion_id}/messages` get the messages in a stored chat completion by completion_id - when user clicks on a chat on the list
49
  - GET - `/chat/completions/{completion_id}/messages/{message_id}/plots` get the plots/graph-data/figure-json in a stored chat completion by completion_id and message_id
 
 
50
 
51
 
52
  ## 🛠️ Installation
@@ -187,22 +183,3 @@ git push origin feature/new-feature
187
  ```bash
188
  gh pr create --base main --head feature/new-feature --title "Add new feature" --body "This PR adds a new feature to the project"
189
  ```
190
-
191
- ## Open Issue
192
- Mock Implementation:
193
- - [X] Implement Mock response for all endpoints
194
- - [X] Implement API-Key Authentication and validation in all endpoints
195
-
196
- Production Implementation:
197
- - [X] POST chat/completions - create a new chat completion
198
- - [X] GET chat/completions - list stored chat completions
199
- - [X] GET chat/completions/{completion_id} - get a stored chat completion by id
200
- - [X] GET chat/completions/{completion_id}/messages - get the messages in a stored chat completion by id
201
- - [X] GET chat/completions/{completion_id}/messages/{message_id}/plots - get the plots/graph-data/figure-json in a stored chat completion by id and message id
202
- - [X] GET conversation - get all conversations
203
- - [X] GET conversation/{completion_id} - get a conversation by completion_id
204
-
205
-
206
-
207
-
208
-
 
10
 
11
  # OpenAI Compatible Chatbot API Template
12
 
13
+ ## Overview
14
+ A FastAPI based OpenAI compatible Secure and Scalable Chatbot API with Visualization.
15
+ OpenAPI/Swagger Standard Compliant. Python best-practices. API, Service, Repository Pattern.
16
 
17
 
18
  ## 🔗 Links
19
+ * [Github URL - https://github.com/lokumai/openai-openapi-template](https://github.com/lokumai/openai-openapi-template)
20
+ * [HF SPACE URL - https://huggingface.co/spaces/lokumai/openai-openapi-template](https://huggingface.co/spaces/lokumai/openai-openapi-template)
21
+ * [SwaggerUI - http://127.0.0.1:7860/docs](http://127.0.0.1:7860/docs)
22
+ * [Redoc - http://127.0.0.1:7860/docs](http://127.0.0.1:7860/redoc)
23
+ * [OpenAPI - http://127.0.0.1:7860/docs](http://127.0.0.1:7860/openapi.json)
24
+ * [Gradio UI - http://127.0.0.1:7860/ui](http://127.0.0.1:7860/ui)
25
 
26
 
27
  ## 🚀 Features
28
 
29
  - OpenAI compatible API
30
  - /v1/chat/completions
 
 
 
 
 
31
 
32
+ - Complete mock implementation with DATABASE_TYPE environment variable
33
  - Secure API key generation with HMAC signatures and API key authentication
34
  - In-memory storage for chat history and plots for mock implementation
35
  - MongoDB storage for chat history and plots for production
36
  - Support for all major OpenAI API endpoints
37
+ - Gradio UI for testing the chatbot
38
 
39
 
40
  ## 📋 Endpoints
 
41
  - POST - `/chat/completions` create a new chat completion - when user starts a new chat
42
+ - GET - `/chat/completions/{completion_id}` get a stored chat completion with all messages and plots by completion_id - when user clicks on a chat on the list
 
 
 
43
  - GET - `/chat/completions/{completion_id}/messages/{message_id}/plots` get the plots/graph-data/figure-json in a stored chat completion by completion_id and message_id
44
+ - GET - `/conversation` get all conversations
45
+ - GET - `/conversation/{completion_id}` get a conversation by completion_id
46
 
47
 
48
  ## 🛠️ Installation
 
183
  ```bash
184
  gh pr create --base main --head feature/new-feature --title "Add new feature" --body "This PR adds a new feature to the project"
185
  ```
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
resources/mock/chat_api_create_chat_completion.json DELETED
@@ -1,25 +0,0 @@
1
- {
2
- "completion_id": "created-completion-id",
3
- "object": "chat.completion",
4
- "created": 1677858242,
5
- "model": "gpt-3.5-turbo",
6
- "choices": [
7
- {
8
- "index": 0,
9
- "message": {
10
- "message_id": "created-message-id",
11
- "role": "assistant",
12
- "content": "## Result\n|status|count|\n|---|---|\n|active|50|\n|in_review|30|\n|pending_deletion|15|\n|passive|70|\n|newly_added|25|archived|90|\n\n## Explanation\nThis result represents the number of active, cancelled, pending and passive customers in the year 2025. This is a mock result for the question \"How many customers are active, cancelled, pending and passive in the year 2025?\"\n\n## Query\n```sql\nSELECT status, COUNT(*) FROM customers WHERE year = 2025 GROUP BY status;\n```",
13
- "figure": {"data":[{"alignmentgroup":"True","customdata":[["North"],["North"],["South"]],"hovertemplate":"category=Category A\u003cbr\u003estatus=%{x}\u003cbr\u003ecount=%{y}\u003cbr\u003eregion=%{customdata[0]}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Category A","marker":{"color":"#636efa","pattern":{"shape":""}},"name":"Category A","offsetgroup":"Category A","orientation":"v","showlegend":true,"textposition":"auto","texttemplate":"%{y}","x":["active","in_review","pending_deletion"],"xaxis":"x","y":{"dtype":"i1","bdata":"Mh4P"},"yaxis":"y","type":"bar"},{"alignmentgroup":"True","customdata":[["South"],["West"]],"hovertemplate":"category=Category B\u003cbr\u003estatus=%{x}\u003cbr\u003ecount=%{y}\u003cbr\u003eregion=%{customdata[0]}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Category B","marker":{"color":"#EF553B","pattern":{"shape":""}},"name":"Category B","offsetgroup":"Category B","orientation":"v","showlegend":true,"textposition":"auto","texttemplate":"%{y}","x":["passive","newly_added"],"xaxis":"x","y":{"dtype":"i1","bdata":"Rhk="},"yaxis":"y","type":"bar"},{"alignmentgroup":"True","customdata":[["East"]],"hovertemplate":"category=Category C\u003cbr\u003estatus=%{x}\u003cbr\u003ecount=%{y}\u003cbr\u003eregion=%{customdata[0]}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Category C","marker":{"color":"#00cc96","pattern":{"shape":""}},"name":"Category C","offsetgroup":"Category C","orientation":"v","showlegend":true,"textposition":"auto","texttemplate":"%{y}","x":["archived"],"xaxis":"x","y":{"dtype":"i1","bdata":"Wg=="},"yaxis":"y","type":"bar"}],"layout":{"template":{"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#EBF0F8"},"line":{"color":"white"}},"header":{"fill":{"color":"#C8D4E3"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]},"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#2a3f5f"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"#E5ECF6","polar":{"bgcolor":"#E5ECF6","angularaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"radialaxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"ternary":{"bgcolor":"#E5ECF6","aaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"baxis":{"gridcolor":"white","linecolor":"white","ticks":""},"caxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"line":{"color":"#2a3f5f"}},"annotationdefaults":{"arrowcolor":"#2a3f5f","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"#E5ECF6","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05},"mapbox":{"style":"light"}}},"xaxis":{"anchor":"y","domain":[0.0,1.0],"title":{"text":"Status"}},"yaxis":{"anchor":"x","domain":[0.0,1.0],"title":{"text":"Count"}},"legend":{"title":{"text":"Category"},"tracegroupgap":0},"title":{"text":"Bar Chart: Count by Status and Category","x":0.5},"barmode":"group"}}
14
- },
15
- "finish_reason": "stop"
16
- }
17
- ],
18
- "usage": {
19
- "prompt_tokens": 10,
20
- "completion_tokens": 20,
21
- "total_tokens": 30
22
- },
23
- "service_tier": "standard",
24
- "system_fingerprint": "fp_1234567890"
25
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
resources/mock/chat_api_list_chat_completions.json DELETED
@@ -1,27 +0,0 @@
1
- [
2
- {
3
- "completion_id": "chatcmpl-mock-123",
4
- "object": "chat.completion",
5
- "created": 1677858242,
6
- "model": "gpt-3.5-turbo",
7
- "choices": [
8
- {
9
- "index": 0,
10
- "message": {
11
- "message_id": "msg_mock-123",
12
- "role": "assistant",
13
- "content": "## Result\n|status|count|\n|---|---|\n|active|100|\n|cancelled|30|\n|pending|40|\n|passive|150|\n\n## Explanation\nThis result represents the number of active, cancelled, pending and passive customers in the year 2025. This is a mock result for the question \"How many customers are active, cancelled, pending and passive in the year 2025?\"\n\n## Query\n```sql\nSELECT status, COUNT(*) FROM customers WHERE year = 2025 GROUP BY status;\n```",
14
- "figure": {"data":[{"alignmentgroup":"True","customdata":[["North"],["North"],["South"]],"hovertemplate":"category=Category A\u003cbr\u003estatus=%{x}\u003cbr\u003ecount=%{y}\u003cbr\u003eregion=%{customdata[0]}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Category A","marker":{"color":"#636efa","pattern":{"shape":""}},"name":"Category A","offsetgroup":"Category A","orientation":"v","showlegend":true,"textposition":"auto","texttemplate":"%{y}","x":["active","in_review","pending_deletion"],"xaxis":"x","y":{"dtype":"i1","bdata":"Mh4P"},"yaxis":"y","type":"bar"},{"alignmentgroup":"True","customdata":[["South"],["West"]],"hovertemplate":"category=Category B\u003cbr\u003estatus=%{x}\u003cbr\u003ecount=%{y}\u003cbr\u003eregion=%{customdata[0]}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Category B","marker":{"color":"#EF553B","pattern":{"shape":""}},"name":"Category B","offsetgroup":"Category B","orientation":"v","showlegend":true,"textposition":"auto","texttemplate":"%{y}","x":["passive","newly_added"],"xaxis":"x","y":{"dtype":"i1","bdata":"Rhk="},"yaxis":"y","type":"bar"},{"alignmentgroup":"True","customdata":[["East"]],"hovertemplate":"category=Category C\u003cbr\u003estatus=%{x}\u003cbr\u003ecount=%{y}\u003cbr\u003eregion=%{customdata[0]}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Category C","marker":{"color":"#00cc96","pattern":{"shape":""}},"name":"Category C","offsetgroup":"Category C","orientation":"v","showlegend":true,"textposition":"auto","texttemplate":"%{y}","x":["archived"],"xaxis":"x","y":{"dtype":"i1","bdata":"Wg=="},"yaxis":"y","type":"bar"}],"layout":{"template":{"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#EBF0F8"},"line":{"color":"white"}},"header":{"fill":{"color":"#C8D4E3"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]},"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#2a3f5f"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"#E5ECF6","polar":{"bgcolor":"#E5ECF6","angularaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"radialaxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"ternary":{"bgcolor":"#E5ECF6","aaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"baxis":{"gridcolor":"white","linecolor":"white","ticks":""},"caxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"line":{"color":"#2a3f5f"}},"annotationdefaults":{"arrowcolor":"#2a3f5f","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"#E5ECF6","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05},"mapbox":{"style":"light"}}},"xaxis":{"anchor":"y","domain":[0.0,1.0],"title":{"text":"Status"}},"yaxis":{"anchor":"x","domain":[0.0,1.0],"title":{"text":"Count"}},"legend":{"title":{"text":"Category"},"tracegroupgap":0},"title":{"text":"Bar Chart: Count by Status and Category","x":0.5},"barmode":"group"}}
15
- },
16
- "finish_reason": "stop"
17
- }
18
- ],
19
- "usage": {
20
- "prompt_tokens": 10,
21
- "completion_tokens": 20,
22
- "total_tokens": 30
23
- },
24
- "service_tier": "standard",
25
- "system_fingerprint": "fp_1234567890"
26
- }
27
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
resources/mock/chat_api_list_conversations.json DELETED
@@ -1,67 +0,0 @@
1
- {
2
- "items": [
3
- {
4
- "completion_id": "completion-001",
5
- "title": "Customer status",
6
- "create_time": "2025-05-22T10:54:37.569747Z",
7
- "update_time": "2025-05-22T10:55:55.212705Z",
8
- "mapping": null,
9
- "current_node": null,
10
- "conversation_template_id": null,
11
- "gizmo_id": null,
12
- "is_archived": false,
13
- "is_starred": null,
14
- "is_do_not_remember": false,
15
- "memory_scope": "global_enabled",
16
- "workspace_id": null,
17
- "async_status": null,
18
- "safe_urls": [],
19
- "blocked_urls": [],
20
- "conversation_origin": null,
21
- "snippet": null
22
- },
23
- {
24
- "completion_id": "completion-002",
25
- "title": "Ticket count by status",
26
- "create_time": "2025-05-22T08:21:30.215436Z",
27
- "update_time": "2025-05-22T08:22:54.867192Z",
28
- "mapping": null,
29
- "current_node": null,
30
- "conversation_template_id": null,
31
- "gizmo_id": null,
32
- "is_archived": false,
33
- "is_starred": null,
34
- "is_do_not_remember": false,
35
- "memory_scope": "global_enabled",
36
- "workspace_id": null,
37
- "async_status": null,
38
- "safe_urls": [],
39
- "blocked_urls": [],
40
- "conversation_origin": null,
41
- "snippet": null
42
- },
43
- {
44
- "completion_id": "completion-003",
45
- "title": "Ticket comments count by customer",
46
- "create_time": "2025-05-22T06:46:42.703604Z",
47
- "update_time": "2025-05-22T06:50:05.464929Z",
48
- "mapping": null,
49
- "current_node": null,
50
- "conversation_template_id": null,
51
- "gizmo_id": null,
52
- "is_archived": false,
53
- "is_starred": null,
54
- "is_do_not_remember": false,
55
- "memory_scope": "global_enabled",
56
- "workspace_id": null,
57
- "async_status": null,
58
- "safe_urls": [],
59
- "blocked_urls": [],
60
- "conversation_origin": null,
61
- "snippet": null
62
- }
63
- ],
64
- "total": 79,
65
- "limit": 28,
66
- "offset": 0
67
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
resources/mock/chat_api_list_messages.json DELETED
@@ -1,9 +0,0 @@
1
- [
2
- {
3
- "message_id": "msg_mock-1234",
4
- "role": "assistant",
5
- "content": "## Result\n|status|count|\n|---|---|\n|active|100|\n|cancelled|30|\n|pending|40|\n|passive|150|\n\n## Explanation\nThis result represents the number of active, cancelled, pending and passive customers in the year 2025. This is a mock result for the question \"How many customers are active, cancelled, pending and passive in the year 2025?\"\n\n## Query\n```sql\nSELECT status, COUNT(*) FROM customers WHERE year = 2025 GROUP BY status;\n```",
6
- "figure": {"data":[{"alignmentgroup":"True","customdata":[["North"],["North"],["South"]],"hovertemplate":"category=Category A\u003cbr\u003estatus=%{x}\u003cbr\u003ecount=%{y}\u003cbr\u003eregion=%{customdata[0]}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Category A","marker":{"color":"#636efa","pattern":{"shape":""}},"name":"Category A","offsetgroup":"Category A","orientation":"v","showlegend":true,"textposition":"auto","texttemplate":"%{y}","x":["active","in_review","pending_deletion"],"xaxis":"x","y":{"dtype":"i1","bdata":"Mh4P"},"yaxis":"y","type":"bar"},{"alignmentgroup":"True","customdata":[["South"],["West"]],"hovertemplate":"category=Category B\u003cbr\u003estatus=%{x}\u003cbr\u003ecount=%{y}\u003cbr\u003eregion=%{customdata[0]}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Category B","marker":{"color":"#EF553B","pattern":{"shape":""}},"name":"Category B","offsetgroup":"Category B","orientation":"v","showlegend":true,"textposition":"auto","texttemplate":"%{y}","x":["passive","newly_added"],"xaxis":"x","y":{"dtype":"i1","bdata":"Rhk="},"yaxis":"y","type":"bar"},{"alignmentgroup":"True","customdata":[["East"]],"hovertemplate":"category=Category C\u003cbr\u003estatus=%{x}\u003cbr\u003ecount=%{y}\u003cbr\u003eregion=%{customdata[0]}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Category C","marker":{"color":"#00cc96","pattern":{"shape":""}},"name":"Category C","offsetgroup":"Category C","orientation":"v","showlegend":true,"textposition":"auto","texttemplate":"%{y}","x":["archived"],"xaxis":"x","y":{"dtype":"i1","bdata":"Wg=="},"yaxis":"y","type":"bar"}],"layout":{"template":{"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#EBF0F8"},"line":{"color":"white"}},"header":{"fill":{"color":"#C8D4E3"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]},"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#2a3f5f"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"#E5ECF6","polar":{"bgcolor":"#E5ECF6","angularaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"radialaxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"ternary":{"bgcolor":"#E5ECF6","aaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"baxis":{"gridcolor":"white","linecolor":"white","ticks":""},"caxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"line":{"color":"#2a3f5f"}},"annotationdefaults":{"arrowcolor":"#2a3f5f","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"#E5ECF6","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05},"mapbox":{"style":"light"}}},"xaxis":{"anchor":"y","domain":[0.0,1.0],"title":{"text":"Status"}},"yaxis":{"anchor":"x","domain":[0.0,1.0],"title":{"text":"Count"}},"legend":{"title":{"text":"Category"},"tracegroupgap":0},"title":{"text":"Bar Chart: Count by Status and Category","x":0.5},"barmode":"group"}}
7
-
8
- }
9
- ]
 
 
 
 
 
 
 
 
 
 
resources/mock/chat_api_retrieve_chat_completion.json DELETED
@@ -1,25 +0,0 @@
1
- {
2
- "completion_id": "chatcmpl-mock-123",
3
- "object": "chat.completion",
4
- "created": 1677858242,
5
- "model": "gpt-3.5-turbo",
6
- "choices": [
7
- {
8
- "index": 0,
9
- "message": {
10
- "message_id": "msg_mock-123",
11
- "role": "assistant",
12
- "content": "## Result\n|status|count|\n|---|---|\n|active|100|\n|cancelled|30|\n|pending|40|\n|passive|150|\n\n## Explanation\nThis result represents the number of active, cancelled, pending and passive customers in the year 2025. This is a mock result for the question \"How many customers are active, cancelled, pending and passive in the year 2025?\"\n\n## Query\n```sql\nSELECT status, COUNT(*) FROM customers WHERE year = 2025 GROUP BY status;\n```",
13
- "figure": {"data":[{"alignmentgroup":"True","customdata":[["North"],["North"],["South"]],"hovertemplate":"category=Category A\u003cbr\u003estatus=%{x}\u003cbr\u003ecount=%{y}\u003cbr\u003eregion=%{customdata[0]}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Category A","marker":{"color":"#636efa","pattern":{"shape":""}},"name":"Category A","offsetgroup":"Category A","orientation":"v","showlegend":true,"textposition":"auto","texttemplate":"%{y}","x":["active","in_review","pending_deletion"],"xaxis":"x","y":{"dtype":"i1","bdata":"Mh4P"},"yaxis":"y","type":"bar"},{"alignmentgroup":"True","customdata":[["South"],["West"]],"hovertemplate":"category=Category B\u003cbr\u003estatus=%{x}\u003cbr\u003ecount=%{y}\u003cbr\u003eregion=%{customdata[0]}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Category B","marker":{"color":"#EF553B","pattern":{"shape":""}},"name":"Category B","offsetgroup":"Category B","orientation":"v","showlegend":true,"textposition":"auto","texttemplate":"%{y}","x":["passive","newly_added"],"xaxis":"x","y":{"dtype":"i1","bdata":"Rhk="},"yaxis":"y","type":"bar"},{"alignmentgroup":"True","customdata":[["East"]],"hovertemplate":"category=Category C\u003cbr\u003estatus=%{x}\u003cbr\u003ecount=%{y}\u003cbr\u003eregion=%{customdata[0]}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Category C","marker":{"color":"#00cc96","pattern":{"shape":""}},"name":"Category C","offsetgroup":"Category C","orientation":"v","showlegend":true,"textposition":"auto","texttemplate":"%{y}","x":["archived"],"xaxis":"x","y":{"dtype":"i1","bdata":"Wg=="},"yaxis":"y","type":"bar"}],"layout":{"template":{"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#EBF0F8"},"line":{"color":"white"}},"header":{"fill":{"color":"#C8D4E3"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]},"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#2a3f5f"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"#E5ECF6","polar":{"bgcolor":"#E5ECF6","angularaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"radialaxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"ternary":{"bgcolor":"#E5ECF6","aaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"baxis":{"gridcolor":"white","linecolor":"white","ticks":""},"caxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"line":{"color":"#2a3f5f"}},"annotationdefaults":{"arrowcolor":"#2a3f5f","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"#E5ECF6","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05},"mapbox":{"style":"light"}}},"xaxis":{"anchor":"y","domain":[0.0,1.0],"title":{"text":"Status"}},"yaxis":{"anchor":"x","domain":[0.0,1.0],"title":{"text":"Count"}},"legend":{"title":{"text":"Category"},"tracegroupgap":0},"title":{"text":"Bar Chart: Count by Status and Category","x":0.5},"barmode":"group"}}
14
- },
15
- "finish_reason": "stop"
16
- }
17
- ],
18
- "usage": {
19
- "prompt_tokens": 10,
20
- "completion_tokens": 20,
21
- "total_tokens": 30
22
- },
23
- "service_tier": "standard",
24
- "system_fingerprint": "fp_1234567890"
25
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
resources/mock/chat_api_retrieve_conversation.json DELETED
@@ -1,20 +0,0 @@
1
- {
2
- "completion_id": "682f026d-23e8-800f-90a1-a1399b85ae64",
3
- "title": "Customer status",
4
- "create_time": "2025-05-22T10:54:37.569747Z",
5
- "update_time": "2025-05-22T10:55:55.212705Z",
6
- "mapping": null,
7
- "current_node": null,
8
- "conversation_template_id": null,
9
- "gizmo_id": null,
10
- "is_archived": false,
11
- "is_starred": null,
12
- "is_do_not_remember": false,
13
- "memory_scope": "global_enabled",
14
- "workspace_id": null,
15
- "async_status": null,
16
- "safe_urls": [],
17
- "blocked_urls": [],
18
- "conversation_origin": null,
19
- "snippet": null
20
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
resources/mock/chat_api_retrieve_plot.json DELETED
@@ -1,6 +0,0 @@
1
- {
2
- "plot_id": "plot_mock-123",
3
- "completion_id": "chatcmpl-mock-123",
4
- "message_id": "msg_mock-123",
5
- "figure": {"data":[{"alignmentgroup":"True","customdata":[["North"],["North"],["South"]],"hovertemplate":"category=Category A\u003cbr\u003estatus=%{x}\u003cbr\u003ecount=%{y}\u003cbr\u003eregion=%{customdata[0]}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Category A","marker":{"color":"#636efa","pattern":{"shape":""}},"name":"Category A","offsetgroup":"Category A","orientation":"v","showlegend":true,"textposition":"auto","texttemplate":"%{y}","x":["active","in_review","pending_deletion"],"xaxis":"x","y":{"dtype":"i1","bdata":"Mh4P"},"yaxis":"y","type":"bar"},{"alignmentgroup":"True","customdata":[["South"],["West"]],"hovertemplate":"category=Category B\u003cbr\u003estatus=%{x}\u003cbr\u003ecount=%{y}\u003cbr\u003eregion=%{customdata[0]}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Category B","marker":{"color":"#EF553B","pattern":{"shape":""}},"name":"Category B","offsetgroup":"Category B","orientation":"v","showlegend":true,"textposition":"auto","texttemplate":"%{y}","x":["passive","newly_added"],"xaxis":"x","y":{"dtype":"i1","bdata":"Rhk="},"yaxis":"y","type":"bar"},{"alignmentgroup":"True","customdata":[["East"]],"hovertemplate":"category=Category C\u003cbr\u003estatus=%{x}\u003cbr\u003ecount=%{y}\u003cbr\u003eregion=%{customdata[0]}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Category C","marker":{"color":"#00cc96","pattern":{"shape":""}},"name":"Category C","offsetgroup":"Category C","orientation":"v","showlegend":true,"textposition":"auto","texttemplate":"%{y}","x":["archived"],"xaxis":"x","y":{"dtype":"i1","bdata":"Wg=="},"yaxis":"y","type":"bar"}],"layout":{"template":{"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#EBF0F8"},"line":{"color":"white"}},"header":{"fill":{"color":"#C8D4E3"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]},"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#2a3f5f"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"#E5ECF6","polar":{"bgcolor":"#E5ECF6","angularaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"radialaxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"ternary":{"bgcolor":"#E5ECF6","aaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"baxis":{"gridcolor":"white","linecolor":"white","ticks":""},"caxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"line":{"color":"#2a3f5f"}},"annotationdefaults":{"arrowcolor":"#2a3f5f","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"#E5ECF6","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05},"mapbox":{"style":"light"}}},"xaxis":{"anchor":"y","domain":[0.0,1.0],"title":{"text":"Status"}},"yaxis":{"anchor":"x","domain":[0.0,1.0],"title":{"text":"Count"}},"legend":{"title":{"text":"Category"},"tracegroupgap":0},"title":{"text":"Bar Chart: Count by Status and Category","x":0.5},"barmode":"group"}}
6
- }
 
 
 
 
 
 
 
resources/mock/message.md DELETED
@@ -1,15 +0,0 @@
1
- ## Result
2
- | status | count |
3
- |-----------|-------|
4
- | active | 100 |
5
- | cancelled | 30 |
6
- | pending | 40 |
7
- | passive | 150 |
8
-
9
- ## Explanation
10
- This result represents the number of active, cancelled, pending and passive customers in the year 2025. This is a mock result for the question "How many customers are active, cancelled, pending and passive in the year 2025?"
11
-
12
- ## Query
13
- ``sql
14
- SELECT status, COUNT(*) FROM customers WHERE year = 2025 GROUP BY status;
15
- ```
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
resources/mock/samples/bar_chart_figure.json DELETED
@@ -1 +0,0 @@
1
- {"data":[{"alignmentgroup":"True","customdata":[["North"],["North"],["South"]],"hovertemplate":"category=Category A\u003cbr\u003estatus=%{x}\u003cbr\u003ecount=%{y}\u003cbr\u003eregion=%{customdata[0]}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Category A","marker":{"color":"#636efa","pattern":{"shape":""}},"name":"Category A","offsetgroup":"Category A","orientation":"v","showlegend":true,"textposition":"auto","texttemplate":"%{y}","x":["active","in_review","pending_deletion"],"xaxis":"x","y":{"dtype":"i1","bdata":"Mh4P"},"yaxis":"y","type":"bar"},{"alignmentgroup":"True","customdata":[["South"],["West"]],"hovertemplate":"category=Category B\u003cbr\u003estatus=%{x}\u003cbr\u003ecount=%{y}\u003cbr\u003eregion=%{customdata[0]}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Category B","marker":{"color":"#EF553B","pattern":{"shape":""}},"name":"Category B","offsetgroup":"Category B","orientation":"v","showlegend":true,"textposition":"auto","texttemplate":"%{y}","x":["passive","newly_added"],"xaxis":"x","y":{"dtype":"i1","bdata":"Rhk="},"yaxis":"y","type":"bar"},{"alignmentgroup":"True","customdata":[["East"]],"hovertemplate":"category=Category C\u003cbr\u003estatus=%{x}\u003cbr\u003ecount=%{y}\u003cbr\u003eregion=%{customdata[0]}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Category C","marker":{"color":"#00cc96","pattern":{"shape":""}},"name":"Category C","offsetgroup":"Category C","orientation":"v","showlegend":true,"textposition":"auto","texttemplate":"%{y}","x":["archived"],"xaxis":"x","y":{"dtype":"i1","bdata":"Wg=="},"yaxis":"y","type":"bar"}],"layout":{"template":{"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#EBF0F8"},"line":{"color":"white"}},"header":{"fill":{"color":"#C8D4E3"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]},"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#2a3f5f"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"#E5ECF6","polar":{"bgcolor":"#E5ECF6","angularaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"radialaxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"ternary":{"bgcolor":"#E5ECF6","aaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"baxis":{"gridcolor":"white","linecolor":"white","ticks":""},"caxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"line":{"color":"#2a3f5f"}},"annotationdefaults":{"arrowcolor":"#2a3f5f","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"#E5ECF6","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05},"mapbox":{"style":"light"}}},"xaxis":{"anchor":"y","domain":[0.0,1.0],"title":{"text":"Status"}},"yaxis":{"anchor":"x","domain":[0.0,1.0],"title":{"text":"Count"}},"legend":{"title":{"text":"Category"},"tracegroupgap":0},"title":{"text":"Bar Chart: Count by Status and Category","x":0.5},"barmode":"group"}}
 
 
resources/mock/samples/line_chart_figure.json DELETED
@@ -1,1088 +0,0 @@
1
- {
2
- "data": [
3
- {
4
- "customdata": [
5
- [
6
- "math"
7
- ],
8
- [
9
- "math"
10
- ],
11
- [
12
- "science"
13
- ],
14
- [
15
- "science"
16
- ],
17
- [
18
- "art"
19
- ],
20
- [
21
- "art"
22
- ],
23
- [
24
- "science"
25
- ],
26
- [
27
- "science"
28
- ],
29
- [
30
- "math"
31
- ]
32
- ],
33
- "hovertemplate": "status=active\u003cbr\u003edate=%{x}\u003cbr\u003ecount=%{y}\u003cbr\u003esubject=%{customdata[0]}\u003cextra\u003e\u003c\u002fextra\u003e",
34
- "legendgroup": "active",
35
- "line": {
36
- "color": "#3498db",
37
- "dash": "solid"
38
- },
39
- "marker": {
40
- "symbol": "circle"
41
- },
42
- "mode": "lines+markers",
43
- "name": "active",
44
- "orientation": "v",
45
- "showlegend": true,
46
- "x": [
47
- "2025-01-01T00:00:00.000000000",
48
- "2025-02-01T00:00:00.000000000",
49
- "2025-03-01T00:00:00.000000000",
50
- "2025-04-01T00:00:00.000000000",
51
- "2025-05-01T00:00:00.000000000",
52
- "2025-06-01T00:00:00.000000000",
53
- "2025-07-01T00:00:00.000000000",
54
- "2025-08-01T00:00:00.000000000",
55
- "2025-09-01T00:00:00.000000000"
56
- ],
57
- "xaxis": "x",
58
- "y": {
59
- "dtype": "i1",
60
- "bdata": "Cg8MEg4UEBYZ"
61
- },
62
- "yaxis": "y",
63
- "type": "scatter"
64
- },
65
- {
66
- "customdata": [
67
- [
68
- "math"
69
- ],
70
- [
71
- "math"
72
- ],
73
- [
74
- "science"
75
- ],
76
- [
77
- "science"
78
- ],
79
- [
80
- "math"
81
- ],
82
- [
83
- "math"
84
- ],
85
- [
86
- "music"
87
- ],
88
- [
89
- "music"
90
- ],
91
- [
92
- "history"
93
- ]
94
- ],
95
- "hovertemplate": "status=archived\u003cbr\u003edate=%{x}\u003cbr\u003ecount=%{y}\u003cbr\u003esubject=%{customdata[0]}\u003cextra\u003e\u003c\u002fextra\u003e",
96
- "legendgroup": "archived",
97
- "line": {
98
- "color": "#9b59b6",
99
- "dash": "solid"
100
- },
101
- "marker": {
102
- "symbol": "circle"
103
- },
104
- "mode": "lines+markers",
105
- "name": "archived",
106
- "orientation": "v",
107
- "showlegend": true,
108
- "x": [
109
- "2025-01-01T00:00:00.000000000",
110
- "2025-02-01T00:00:00.000000000",
111
- "2025-03-01T00:00:00.000000000",
112
- "2025-04-01T00:00:00.000000000",
113
- "2025-05-01T00:00:00.000000000",
114
- "2025-06-01T00:00:00.000000000",
115
- "2025-07-01T00:00:00.000000000",
116
- "2025-08-01T00:00:00.000000000",
117
- "2025-09-01T00:00:00.000000000"
118
- ],
119
- "xaxis": "x",
120
- "y": {
121
- "dtype": "i1",
122
- "bdata": "KC0qMCwyLzc8"
123
- },
124
- "yaxis": "y",
125
- "type": "scatter"
126
- },
127
- {
128
- "customdata": [
129
- [
130
- "english"
131
- ],
132
- [
133
- "english"
134
- ],
135
- [
136
- "math"
137
- ],
138
- [
139
- "math"
140
- ],
141
- [
142
- "history"
143
- ],
144
- [
145
- "history"
146
- ],
147
- [
148
- "art"
149
- ],
150
- [
151
- "art"
152
- ],
153
- [
154
- "english"
155
- ]
156
- ],
157
- "hovertemplate": "status=in_review\u003cbr\u003edate=%{x}\u003cbr\u003ecount=%{y}\u003cbr\u003esubject=%{customdata[0]}\u003cextra\u003e\u003c\u002fextra\u003e",
158
- "legendgroup": "in_review",
159
- "line": {
160
- "color": "#2ecc71",
161
- "dash": "solid"
162
- },
163
- "marker": {
164
- "symbol": "circle"
165
- },
166
- "mode": "lines+markers",
167
- "name": "in_review",
168
- "orientation": "v",
169
- "showlegend": true,
170
- "x": [
171
- "2025-01-01T00:00:00.000000000",
172
- "2025-02-01T00:00:00.000000000",
173
- "2025-03-01T00:00:00.000000000",
174
- "2025-04-01T00:00:00.000000000",
175
- "2025-05-01T00:00:00.000000000",
176
- "2025-06-01T00:00:00.000000000",
177
- "2025-07-01T00:00:00.000000000",
178
- "2025-08-01T00:00:00.000000000",
179
- "2025-09-01T00:00:00.000000000"
180
- ],
181
- "xaxis": "x",
182
- "y": {
183
- "dtype": "i1",
184
- "bdata": "HiMgJh4kIScq"
185
- },
186
- "yaxis": "y",
187
- "type": "scatter"
188
- },
189
- {
190
- "customdata": [
191
- [
192
- "science"
193
- ],
194
- [
195
- "science"
196
- ],
197
- [
198
- "english"
199
- ],
200
- [
201
- "english"
202
- ],
203
- [
204
- "music"
205
- ],
206
- [
207
- "music"
208
- ],
209
- [
210
- "english"
211
- ],
212
- [
213
- "english"
214
- ],
215
- [
216
- "science"
217
- ]
218
- ],
219
- "hovertemplate": "status=passive\u003cbr\u003edate=%{x}\u003cbr\u003ecount=%{y}\u003cbr\u003esubject=%{customdata[0]}\u003cextra\u003e\u003c\u002fextra\u003e",
220
- "legendgroup": "passive",
221
- "line": {
222
- "color": "#e74c3c",
223
- "dash": "solid"
224
- },
225
- "marker": {
226
- "symbol": "circle"
227
- },
228
- "mode": "lines+markers",
229
- "name": "passive",
230
- "orientation": "v",
231
- "showlegend": true,
232
- "x": [
233
- "2025-01-01T00:00:00.000000000",
234
- "2025-02-01T00:00:00.000000000",
235
- "2025-03-01T00:00:00.000000000",
236
- "2025-04-01T00:00:00.000000000",
237
- "2025-05-01T00:00:00.000000000",
238
- "2025-06-01T00:00:00.000000000",
239
- "2025-07-01T00:00:00.000000000",
240
- "2025-08-01T00:00:00.000000000",
241
- "2025-09-01T00:00:00.000000000"
242
- ],
243
- "xaxis": "x",
244
- "y": {
245
- "dtype": "i1",
246
- "bdata": "FBkWHBQaEhgP"
247
- },
248
- "yaxis": "y",
249
- "type": "scatter"
250
- }
251
- ],
252
- "layout": {
253
- "template": {
254
- "data": {
255
- "histogram2dcontour": [
256
- {
257
- "type": "histogram2dcontour",
258
- "colorbar": {
259
- "outlinewidth": 0,
260
- "ticks": ""
261
- },
262
- "colorscale": [
263
- [
264
- 0.0,
265
- "#0d0887"
266
- ],
267
- [
268
- 0.1111111111111111,
269
- "#46039f"
270
- ],
271
- [
272
- 0.2222222222222222,
273
- "#7201a8"
274
- ],
275
- [
276
- 0.3333333333333333,
277
- "#9c179e"
278
- ],
279
- [
280
- 0.4444444444444444,
281
- "#bd3786"
282
- ],
283
- [
284
- 0.5555555555555556,
285
- "#d8576b"
286
- ],
287
- [
288
- 0.6666666666666666,
289
- "#ed7953"
290
- ],
291
- [
292
- 0.7777777777777778,
293
- "#fb9f3a"
294
- ],
295
- [
296
- 0.8888888888888888,
297
- "#fdca26"
298
- ],
299
- [
300
- 1.0,
301
- "#f0f921"
302
- ]
303
- ]
304
- }
305
- ],
306
- "choropleth": [
307
- {
308
- "type": "choropleth",
309
- "colorbar": {
310
- "outlinewidth": 0,
311
- "ticks": ""
312
- }
313
- }
314
- ],
315
- "histogram2d": [
316
- {
317
- "type": "histogram2d",
318
- "colorbar": {
319
- "outlinewidth": 0,
320
- "ticks": ""
321
- },
322
- "colorscale": [
323
- [
324
- 0.0,
325
- "#0d0887"
326
- ],
327
- [
328
- 0.1111111111111111,
329
- "#46039f"
330
- ],
331
- [
332
- 0.2222222222222222,
333
- "#7201a8"
334
- ],
335
- [
336
- 0.3333333333333333,
337
- "#9c179e"
338
- ],
339
- [
340
- 0.4444444444444444,
341
- "#bd3786"
342
- ],
343
- [
344
- 0.5555555555555556,
345
- "#d8576b"
346
- ],
347
- [
348
- 0.6666666666666666,
349
- "#ed7953"
350
- ],
351
- [
352
- 0.7777777777777778,
353
- "#fb9f3a"
354
- ],
355
- [
356
- 0.8888888888888888,
357
- "#fdca26"
358
- ],
359
- [
360
- 1.0,
361
- "#f0f921"
362
- ]
363
- ]
364
- }
365
- ],
366
- "heatmap": [
367
- {
368
- "type": "heatmap",
369
- "colorbar": {
370
- "outlinewidth": 0,
371
- "ticks": ""
372
- },
373
- "colorscale": [
374
- [
375
- 0.0,
376
- "#0d0887"
377
- ],
378
- [
379
- 0.1111111111111111,
380
- "#46039f"
381
- ],
382
- [
383
- 0.2222222222222222,
384
- "#7201a8"
385
- ],
386
- [
387
- 0.3333333333333333,
388
- "#9c179e"
389
- ],
390
- [
391
- 0.4444444444444444,
392
- "#bd3786"
393
- ],
394
- [
395
- 0.5555555555555556,
396
- "#d8576b"
397
- ],
398
- [
399
- 0.6666666666666666,
400
- "#ed7953"
401
- ],
402
- [
403
- 0.7777777777777778,
404
- "#fb9f3a"
405
- ],
406
- [
407
- 0.8888888888888888,
408
- "#fdca26"
409
- ],
410
- [
411
- 1.0,
412
- "#f0f921"
413
- ]
414
- ]
415
- }
416
- ],
417
- "contourcarpet": [
418
- {
419
- "type": "contourcarpet",
420
- "colorbar": {
421
- "outlinewidth": 0,
422
- "ticks": ""
423
- }
424
- }
425
- ],
426
- "contour": [
427
- {
428
- "type": "contour",
429
- "colorbar": {
430
- "outlinewidth": 0,
431
- "ticks": ""
432
- },
433
- "colorscale": [
434
- [
435
- 0.0,
436
- "#0d0887"
437
- ],
438
- [
439
- 0.1111111111111111,
440
- "#46039f"
441
- ],
442
- [
443
- 0.2222222222222222,
444
- "#7201a8"
445
- ],
446
- [
447
- 0.3333333333333333,
448
- "#9c179e"
449
- ],
450
- [
451
- 0.4444444444444444,
452
- "#bd3786"
453
- ],
454
- [
455
- 0.5555555555555556,
456
- "#d8576b"
457
- ],
458
- [
459
- 0.6666666666666666,
460
- "#ed7953"
461
- ],
462
- [
463
- 0.7777777777777778,
464
- "#fb9f3a"
465
- ],
466
- [
467
- 0.8888888888888888,
468
- "#fdca26"
469
- ],
470
- [
471
- 1.0,
472
- "#f0f921"
473
- ]
474
- ]
475
- }
476
- ],
477
- "surface": [
478
- {
479
- "type": "surface",
480
- "colorbar": {
481
- "outlinewidth": 0,
482
- "ticks": ""
483
- },
484
- "colorscale": [
485
- [
486
- 0.0,
487
- "#0d0887"
488
- ],
489
- [
490
- 0.1111111111111111,
491
- "#46039f"
492
- ],
493
- [
494
- 0.2222222222222222,
495
- "#7201a8"
496
- ],
497
- [
498
- 0.3333333333333333,
499
- "#9c179e"
500
- ],
501
- [
502
- 0.4444444444444444,
503
- "#bd3786"
504
- ],
505
- [
506
- 0.5555555555555556,
507
- "#d8576b"
508
- ],
509
- [
510
- 0.6666666666666666,
511
- "#ed7953"
512
- ],
513
- [
514
- 0.7777777777777778,
515
- "#fb9f3a"
516
- ],
517
- [
518
- 0.8888888888888888,
519
- "#fdca26"
520
- ],
521
- [
522
- 1.0,
523
- "#f0f921"
524
- ]
525
- ]
526
- }
527
- ],
528
- "mesh3d": [
529
- {
530
- "type": "mesh3d",
531
- "colorbar": {
532
- "outlinewidth": 0,
533
- "ticks": ""
534
- }
535
- }
536
- ],
537
- "scatter": [
538
- {
539
- "fillpattern": {
540
- "fillmode": "overlay",
541
- "size": 10,
542
- "solidity": 0.2
543
- },
544
- "type": "scatter"
545
- }
546
- ],
547
- "parcoords": [
548
- {
549
- "type": "parcoords",
550
- "line": {
551
- "colorbar": {
552
- "outlinewidth": 0,
553
- "ticks": ""
554
- }
555
- }
556
- }
557
- ],
558
- "scatterpolargl": [
559
- {
560
- "type": "scatterpolargl",
561
- "marker": {
562
- "colorbar": {
563
- "outlinewidth": 0,
564
- "ticks": ""
565
- }
566
- }
567
- }
568
- ],
569
- "bar": [
570
- {
571
- "error_x": {
572
- "color": "#2a3f5f"
573
- },
574
- "error_y": {
575
- "color": "#2a3f5f"
576
- },
577
- "marker": {
578
- "line": {
579
- "color": "#E5ECF6",
580
- "width": 0.5
581
- },
582
- "pattern": {
583
- "fillmode": "overlay",
584
- "size": 10,
585
- "solidity": 0.2
586
- }
587
- },
588
- "type": "bar"
589
- }
590
- ],
591
- "scattergeo": [
592
- {
593
- "type": "scattergeo",
594
- "marker": {
595
- "colorbar": {
596
- "outlinewidth": 0,
597
- "ticks": ""
598
- }
599
- }
600
- }
601
- ],
602
- "scatterpolar": [
603
- {
604
- "type": "scatterpolar",
605
- "marker": {
606
- "colorbar": {
607
- "outlinewidth": 0,
608
- "ticks": ""
609
- }
610
- }
611
- }
612
- ],
613
- "histogram": [
614
- {
615
- "marker": {
616
- "pattern": {
617
- "fillmode": "overlay",
618
- "size": 10,
619
- "solidity": 0.2
620
- }
621
- },
622
- "type": "histogram"
623
- }
624
- ],
625
- "scattergl": [
626
- {
627
- "type": "scattergl",
628
- "marker": {
629
- "colorbar": {
630
- "outlinewidth": 0,
631
- "ticks": ""
632
- }
633
- }
634
- }
635
- ],
636
- "scatter3d": [
637
- {
638
- "type": "scatter3d",
639
- "line": {
640
- "colorbar": {
641
- "outlinewidth": 0,
642
- "ticks": ""
643
- }
644
- },
645
- "marker": {
646
- "colorbar": {
647
- "outlinewidth": 0,
648
- "ticks": ""
649
- }
650
- }
651
- }
652
- ],
653
- "scattermap": [
654
- {
655
- "type": "scattermap",
656
- "marker": {
657
- "colorbar": {
658
- "outlinewidth": 0,
659
- "ticks": ""
660
- }
661
- }
662
- }
663
- ],
664
- "scattermapbox": [
665
- {
666
- "type": "scattermapbox",
667
- "marker": {
668
- "colorbar": {
669
- "outlinewidth": 0,
670
- "ticks": ""
671
- }
672
- }
673
- }
674
- ],
675
- "scatterternary": [
676
- {
677
- "type": "scatterternary",
678
- "marker": {
679
- "colorbar": {
680
- "outlinewidth": 0,
681
- "ticks": ""
682
- }
683
- }
684
- }
685
- ],
686
- "scattercarpet": [
687
- {
688
- "type": "scattercarpet",
689
- "marker": {
690
- "colorbar": {
691
- "outlinewidth": 0,
692
- "ticks": ""
693
- }
694
- }
695
- }
696
- ],
697
- "carpet": [
698
- {
699
- "aaxis": {
700
- "endlinecolor": "#2a3f5f",
701
- "gridcolor": "white",
702
- "linecolor": "white",
703
- "minorgridcolor": "white",
704
- "startlinecolor": "#2a3f5f"
705
- },
706
- "baxis": {
707
- "endlinecolor": "#2a3f5f",
708
- "gridcolor": "white",
709
- "linecolor": "white",
710
- "minorgridcolor": "white",
711
- "startlinecolor": "#2a3f5f"
712
- },
713
- "type": "carpet"
714
- }
715
- ],
716
- "table": [
717
- {
718
- "cells": {
719
- "fill": {
720
- "color": "#EBF0F8"
721
- },
722
- "line": {
723
- "color": "white"
724
- }
725
- },
726
- "header": {
727
- "fill": {
728
- "color": "#C8D4E3"
729
- },
730
- "line": {
731
- "color": "white"
732
- }
733
- },
734
- "type": "table"
735
- }
736
- ],
737
- "barpolar": [
738
- {
739
- "marker": {
740
- "line": {
741
- "color": "#E5ECF6",
742
- "width": 0.5
743
- },
744
- "pattern": {
745
- "fillmode": "overlay",
746
- "size": 10,
747
- "solidity": 0.2
748
- }
749
- },
750
- "type": "barpolar"
751
- }
752
- ],
753
- "pie": [
754
- {
755
- "automargin": true,
756
- "type": "pie"
757
- }
758
- ]
759
- },
760
- "layout": {
761
- "autotypenumbers": "strict",
762
- "colorway": [
763
- "#636efa",
764
- "#EF553B",
765
- "#00cc96",
766
- "#ab63fa",
767
- "#FFA15A",
768
- "#19d3f3",
769
- "#FF6692",
770
- "#B6E880",
771
- "#FF97FF",
772
- "#FECB52"
773
- ],
774
- "font": {
775
- "color": "#2a3f5f"
776
- },
777
- "hovermode": "closest",
778
- "hoverlabel": {
779
- "align": "left"
780
- },
781
- "paper_bgcolor": "white",
782
- "plot_bgcolor": "#E5ECF6",
783
- "polar": {
784
- "bgcolor": "#E5ECF6",
785
- "angularaxis": {
786
- "gridcolor": "white",
787
- "linecolor": "white",
788
- "ticks": ""
789
- },
790
- "radialaxis": {
791
- "gridcolor": "white",
792
- "linecolor": "white",
793
- "ticks": ""
794
- }
795
- },
796
- "ternary": {
797
- "bgcolor": "#E5ECF6",
798
- "aaxis": {
799
- "gridcolor": "white",
800
- "linecolor": "white",
801
- "ticks": ""
802
- },
803
- "baxis": {
804
- "gridcolor": "white",
805
- "linecolor": "white",
806
- "ticks": ""
807
- },
808
- "caxis": {
809
- "gridcolor": "white",
810
- "linecolor": "white",
811
- "ticks": ""
812
- }
813
- },
814
- "coloraxis": {
815
- "colorbar": {
816
- "outlinewidth": 0,
817
- "ticks": ""
818
- }
819
- },
820
- "colorscale": {
821
- "sequential": [
822
- [
823
- 0.0,
824
- "#0d0887"
825
- ],
826
- [
827
- 0.1111111111111111,
828
- "#46039f"
829
- ],
830
- [
831
- 0.2222222222222222,
832
- "#7201a8"
833
- ],
834
- [
835
- 0.3333333333333333,
836
- "#9c179e"
837
- ],
838
- [
839
- 0.4444444444444444,
840
- "#bd3786"
841
- ],
842
- [
843
- 0.5555555555555556,
844
- "#d8576b"
845
- ],
846
- [
847
- 0.6666666666666666,
848
- "#ed7953"
849
- ],
850
- [
851
- 0.7777777777777778,
852
- "#fb9f3a"
853
- ],
854
- [
855
- 0.8888888888888888,
856
- "#fdca26"
857
- ],
858
- [
859
- 1.0,
860
- "#f0f921"
861
- ]
862
- ],
863
- "sequentialminus": [
864
- [
865
- 0.0,
866
- "#0d0887"
867
- ],
868
- [
869
- 0.1111111111111111,
870
- "#46039f"
871
- ],
872
- [
873
- 0.2222222222222222,
874
- "#7201a8"
875
- ],
876
- [
877
- 0.3333333333333333,
878
- "#9c179e"
879
- ],
880
- [
881
- 0.4444444444444444,
882
- "#bd3786"
883
- ],
884
- [
885
- 0.5555555555555556,
886
- "#d8576b"
887
- ],
888
- [
889
- 0.6666666666666666,
890
- "#ed7953"
891
- ],
892
- [
893
- 0.7777777777777778,
894
- "#fb9f3a"
895
- ],
896
- [
897
- 0.8888888888888888,
898
- "#fdca26"
899
- ],
900
- [
901
- 1.0,
902
- "#f0f921"
903
- ]
904
- ],
905
- "diverging": [
906
- [
907
- 0,
908
- "#8e0152"
909
- ],
910
- [
911
- 0.1,
912
- "#c51b7d"
913
- ],
914
- [
915
- 0.2,
916
- "#de77ae"
917
- ],
918
- [
919
- 0.3,
920
- "#f1b6da"
921
- ],
922
- [
923
- 0.4,
924
- "#fde0ef"
925
- ],
926
- [
927
- 0.5,
928
- "#f7f7f7"
929
- ],
930
- [
931
- 0.6,
932
- "#e6f5d0"
933
- ],
934
- [
935
- 0.7,
936
- "#b8e186"
937
- ],
938
- [
939
- 0.8,
940
- "#7fbc41"
941
- ],
942
- [
943
- 0.9,
944
- "#4d9221"
945
- ],
946
- [
947
- 1,
948
- "#276419"
949
- ]
950
- ]
951
- },
952
- "xaxis": {
953
- "gridcolor": "white",
954
- "linecolor": "white",
955
- "ticks": "",
956
- "title": {
957
- "standoff": 15
958
- },
959
- "zerolinecolor": "white",
960
- "automargin": true,
961
- "zerolinewidth": 2
962
- },
963
- "yaxis": {
964
- "gridcolor": "white",
965
- "linecolor": "white",
966
- "ticks": "",
967
- "title": {
968
- "standoff": 15
969
- },
970
- "zerolinecolor": "white",
971
- "automargin": true,
972
- "zerolinewidth": 2
973
- },
974
- "scene": {
975
- "xaxis": {
976
- "backgroundcolor": "#E5ECF6",
977
- "gridcolor": "white",
978
- "linecolor": "white",
979
- "showbackground": true,
980
- "ticks": "",
981
- "zerolinecolor": "white",
982
- "gridwidth": 2
983
- },
984
- "yaxis": {
985
- "backgroundcolor": "#E5ECF6",
986
- "gridcolor": "white",
987
- "linecolor": "white",
988
- "showbackground": true,
989
- "ticks": "",
990
- "zerolinecolor": "white",
991
- "gridwidth": 2
992
- },
993
- "zaxis": {
994
- "backgroundcolor": "#E5ECF6",
995
- "gridcolor": "white",
996
- "linecolor": "white",
997
- "showbackground": true,
998
- "ticks": "",
999
- "zerolinecolor": "white",
1000
- "gridwidth": 2
1001
- }
1002
- },
1003
- "shapedefaults": {
1004
- "line": {
1005
- "color": "#2a3f5f"
1006
- }
1007
- },
1008
- "annotationdefaults": {
1009
- "arrowcolor": "#2a3f5f",
1010
- "arrowhead": 0,
1011
- "arrowwidth": 1
1012
- },
1013
- "geo": {
1014
- "bgcolor": "white",
1015
- "landcolor": "#E5ECF6",
1016
- "subunitcolor": "white",
1017
- "showland": true,
1018
- "showlakes": true,
1019
- "lakecolor": "white"
1020
- },
1021
- "title": {
1022
- "x": 0.05
1023
- },
1024
- "mapbox": {
1025
- "style": "light"
1026
- }
1027
- }
1028
- },
1029
- "xaxis": {
1030
- "anchor": "y",
1031
- "domain": [
1032
- 0.0,
1033
- 1.0
1034
- ],
1035
- "title": {
1036
- "text": "Date"
1037
- },
1038
- "showgrid": true,
1039
- "gridcolor": "#e0e0e0",
1040
- "zeroline": false,
1041
- "tickformat": "%Y-%m-%d"
1042
- },
1043
- "yaxis": {
1044
- "anchor": "x",
1045
- "domain": [
1046
- 0.0,
1047
- 1.0
1048
- ],
1049
- "title": {
1050
- "text": "Count"
1051
- },
1052
- "showgrid": true,
1053
- "gridcolor": "#e0e0e0",
1054
- "zeroline": false
1055
- },
1056
- "legend": {
1057
- "title": {
1058
- "text": "Status"
1059
- },
1060
- "tracegroupgap": 0,
1061
- "orientation": "h",
1062
- "yanchor": "bottom",
1063
- "y": 1.02,
1064
- "xanchor": "right",
1065
- "x": 1
1066
- },
1067
- "title": {
1068
- "text": "Line Chart of Count Over Time by Status",
1069
- "font": {
1070
- "size": 20,
1071
- "family": "Arial",
1072
- "color": "#2c3e50"
1073
- },
1074
- "y": 0.95,
1075
- "x": 0.5,
1076
- "xanchor": "center",
1077
- "yanchor": "top"
1078
- },
1079
- "font": {
1080
- "family": "Arial",
1081
- "size": 12,
1082
- "color": "#333"
1083
- },
1084
- "plot_bgcolor": "#f5f6f5",
1085
- "paper_bgcolor": "#ffffff",
1086
- "showlegend": true
1087
- }
1088
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
resources/mock/samples/plot_figure.json DELETED
@@ -1,16 +0,0 @@
1
- {
2
- "data": {
3
- "type": "bar",
4
- "x": ["active", "cancelled", "pending", "passive"],
5
- "y": [100, 30, 40, 150]
6
- },
7
- "layout": {
8
- "title": "Customer Status",
9
- "xaxis": {
10
- "title": "Status"
11
- },
12
- "yaxis": {
13
- "title": "Count"
14
- }
15
- }
16
- }