Add async third-party vetting
Queue vetting on third_parties with PENDING, PROCESSING, COMPLETED, and FAILED states. Expose enqueue and status through GraphQL, MCP, CLI, and n8n, validate vet requests, tune the worker via config, and poll the detail page while vetting runs. Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
@@ -247,6 +247,36 @@ spec:
|
||||
name: {{ include "probo.fullname" . }}
|
||||
key: firecrawl-api-key
|
||||
{{- end }}
|
||||
# Third-Party Vetter Agent
|
||||
{{- if .Values.probo.thirdPartyVetter.provider }}
|
||||
- name: AGENT_THIRD_PARTY_VETTER_PROVIDER
|
||||
value: {{ .Values.probo.thirdPartyVetter.provider | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.probo.thirdPartyVetter.modelName }}
|
||||
- name: AGENT_THIRD_PARTY_VETTER_MODEL_NAME
|
||||
value: {{ .Values.probo.thirdPartyVetter.modelName | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.probo.thirdPartyVetter.temperature }}
|
||||
- name: AGENT_THIRD_PARTY_VETTER_TEMPERATURE
|
||||
value: {{ .Values.probo.thirdPartyVetter.temperature | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.probo.thirdPartyVetter.maxTokens }}
|
||||
- name: AGENT_THIRD_PARTY_VETTER_MAX_TOKENS
|
||||
value: {{ .Values.probo.thirdPartyVetter.maxTokens | quote }}
|
||||
{{- end }}
|
||||
# Third-Party Vetting Worker
|
||||
{{- if .Values.probo.thirdPartyVettingWorker.interval }}
|
||||
- name: THIRD_PARTY_VETTING_INTERVAL
|
||||
value: {{ .Values.probo.thirdPartyVettingWorker.interval | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.probo.thirdPartyVettingWorker.maxConcurrency }}
|
||||
- name: THIRD_PARTY_VETTING_MAX_CONCURRENCY
|
||||
value: {{ .Values.probo.thirdPartyVettingWorker.maxConcurrency | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.probo.thirdPartyVettingWorker.staleAfter }}
|
||||
- name: THIRD_PARTY_VETTING_STALE_AFTER
|
||||
value: {{ .Values.probo.thirdPartyVettingWorker.staleAfter | quote }}
|
||||
{{- end }}
|
||||
# Tracker Mapping Agent
|
||||
{{- if .Values.probo.trackerMapping.provider }}
|
||||
- name: AGENT_TRACKER_MAPPING_PROVIDER
|
||||
|
||||
@@ -169,6 +169,19 @@ probo:
|
||||
# agentTools:
|
||||
# firecrawlApiKey: "CHANGE_ME_FIRECRAWL_API_KEY"
|
||||
|
||||
# Third-party vetter agent (optional, AI-powered third-party vetting)
|
||||
# thirdPartyVetter:
|
||||
# provider: "openai"
|
||||
# modelName: "gpt-4o"
|
||||
# temperature: "0.3"
|
||||
# maxTokens: "8192"
|
||||
|
||||
# Third-party vetting worker tuning (optional; seconds for interval/staleAfter).
|
||||
# thirdPartyVettingWorker:
|
||||
# interval: 10
|
||||
# maxConcurrency: 1
|
||||
# staleAfter: 1500
|
||||
|
||||
# Tracker mapping agent (optional, auto-links tracker patterns to vendors)
|
||||
# trackerMapping:
|
||||
# provider: "openai"
|
||||
|
||||
@@ -266,9 +266,24 @@ probo:
|
||||
|
||||
# Agent tools (optional, shared across agents)
|
||||
agentTools:
|
||||
# Firecrawl web search API key (used by tracker mapping and third-party assessor agents)
|
||||
# Firecrawl web search API key (used by tracker mapping and third-party vetter agents)
|
||||
firecrawlApiKey: ""
|
||||
|
||||
# Third-party vetter agent (optional, requires openai.apiKey or anthropic key)
|
||||
thirdPartyVetter:
|
||||
provider: ""
|
||||
modelName: ""
|
||||
temperature: ""
|
||||
maxTokens: ""
|
||||
|
||||
# Third-party vetting background worker tuning (optional). interval and
|
||||
# staleAfter are in seconds. Keep concurrency modest to stay under LLM
|
||||
# rate limits and the database connection pool.
|
||||
thirdPartyVettingWorker:
|
||||
interval: 10
|
||||
maxConcurrency: 1
|
||||
staleAfter: 1500
|
||||
|
||||
# Tracker mapping agent (optional, requires openai.apiKey or anthropic key)
|
||||
trackerMapping:
|
||||
provider: ""
|
||||
|
||||
Reference in New Issue
Block a user