@@ -133,6 +133,60 @@ Each database tells the other databases when there are updates.
133133We use federation to enable self reporting and granularity
134134as applicable to ad-hoc formed policy as desired by end-user.
135135
136+ ``` mermaid
137+ graph TD
138+ subgraph Tool_Catalog[Tool Catalog]
139+ subgraph Third_Party[3rd Party Catalog - Open Source / External OpenAPI Endpoints]
140+ run_kubernetes_get_pod[kubectl get pod]
141+ run_kubernetes_delete_deployment[kubectl delete deploy $deployment_name]
142+ end
143+ subgraph Second_Party[2nd Party Catalog - Org Local OpenAPI Endpoints]
144+ query_org_database[Query Org Database]
145+ end
146+ query_org_database --> tool_catalog_list_tools
147+ run_kubernetes_get_pod --> tool_catalog_list_tools
148+ run_kubernetes_delete_deployment --> tool_catalog_list_tools
149+ tool_catalog_list_tools[#47;tools#47;list]
150+ end
151+ subgraph llm_provider_Endpoint[LLM Endpoint - https://api.openai.com/v1/]
152+ llm_provider_completions_endpoint[#47;chat#47;completions]
153+
154+ llm_provider_completions_endpoint --> query_org_database
155+ llm_provider_completions_endpoint --> run_kubernetes_get_pod
156+ llm_provider_completions_endpoint --> run_kubernetes_delete_deployment
157+ end
158+ subgraph Transparency_Service[Transparency Service]
159+ Transparency_Service_Statement_Submission_Endpoint[POST #47;entries]
160+ Transparency_Service_Policy_Engine[Decide admicability per Registration Policy]
161+ Transparency_Service_Receipt_Endpoint[GET #47;receipts#47;urn...qnGmr1o]
162+
163+ Transparency_Service_Statement_Submission_Endpoint --> Transparency_Service_Policy_Engine
164+ Transparency_Service_Policy_Engine --> Transparency_Service_Receipt_Endpoint
165+ end
166+ subgraph LLM_Proxy[LLM Proxy]
167+ llm_proxy_completions_endpoint[#47;chat#47;completions]
168+ intercept_tool_definitions[Intercept tool definitions to LLM]
169+ add_tool_definitions[Add tools from tool catalog to tool definitions]
170+ make_modified_request_to_llm_provider[Make modified request to llm_provider]
171+ validate_llm_reponse_tool_calls[Validate LLM reponse tool calls]
172+
173+ llm_proxy_completions_endpoint --> intercept_tool_definitions
174+ intercept_tool_definitions --> add_tool_definitions
175+ tool_catalog_list_tools --> add_tool_definitions
176+ add_tool_definitions --> make_modified_request_to_llm_provider
177+ make_modified_request_to_llm_provider --> llm_provider_completions_endpoint
178+ llm_provider_completions_endpoint --> validate_llm_reponse_tool_calls
179+ validate_llm_reponse_tool_calls --> Transparency_Service_Statement_Submission_Endpoint
180+ Transparency_Service_Receipt_Endpoint --> validate_llm_reponse_tool_calls
181+ validate_llm_reponse_tool_calls --> llm_proxy_completions_endpoint
182+ end
183+ subgraph AI_Agent[AI Agent]
184+ langchain_agent[langchain.ChatOpenAI] --> llm_proxy_completions_endpoint
185+ end
186+
187+ llm_proxy_completions_endpoint -->|Return proxied response| langchain_agent
188+ ```
189+
136190- Related: https://github.com/ossf/s2c2f/blob/main/specification/framework.md#appendix-relation-to-scitt
137191- This use case will be mostly focused on the policy / gatekeeper component and federation components of [ SCITT] ( https://datatracker.ietf.org/doc/draft-ietf-scitt-architecture/ ) .
138192 - 5.2.2: Registration Policies
0 commit comments