{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"awesome-wren-ai","slug":"wren-ai","name":"Wren AI","type":"agent","url":"https://www.getwren.ai/oss","page_url":"https://unfragile.ai/wren-ai","categories":["data-analysis"],"tags":[],"pricing":{"model":"unknown","free":false,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"awesome-wren-ai__cap_0","uri":"capability://code.generation.editing.natural.language.to.sql.query.generation.with.semantic.layer.abstraction","name":"natural language to sql query generation with semantic layer abstraction","description":"Converts natural language questions into executable SQL queries by leveraging a semantic layer that maps business terminology to underlying database schema. The system uses LLM-based reasoning to understand user intent, resolve ambiguous references through semantic metadata, and generate syntactically correct SQL for multiple database backends (PostgreSQL, MySQL, BigQuery, Snowflake, etc.). The semantic layer acts as an abstraction that decouples business logic from physical schema, enabling the LLM to reason about data relationships and business metrics rather than raw table structures.","intents":["I want non-technical users to ask questions about our data without knowing SQL syntax","I need to generate SQL queries from natural language while maintaining consistency with our data definitions","I want to abstract away database-specific SQL dialects so the same question works across PostgreSQL and Snowflake","I need to resolve ambiguous column references using business context and semantic definitions"],"best_for":["Analytics teams building self-service BI interfaces","Data platforms adding natural language query capabilities","Organizations with multiple database backends needing unified query generation"],"limitations":["Semantic layer requires manual definition of business entities, relationships, and metrics — no automatic schema inference","Complex multi-step queries with subqueries and CTEs may require iterative refinement or explicit semantic hints","Performance depends on LLM latency and semantic layer completeness; incomplete metadata leads to hallucinated SQL","No built-in handling of row-level security or data governance policies — must be implemented separately"],"requires":["Semantic layer definition (YAML/JSON format or UI-based configuration)","Connected database with schema introspection capabilities","LLM API access (OpenAI, Anthropic, or local model via Ollama)","Python 3.9+ or Node.js 16+ for deployment"],"input_types":["natural language text (user questions)","semantic layer metadata (entity definitions, relationships, metrics)","database schema (introspected or manually provided)"],"output_types":["SQL query string (database-specific dialect)","query execution results (structured data/JSON)","confidence scores or explanation of query generation logic"],"categories":["code-generation-editing","text-generation-language","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-wren-ai__cap_1","uri":"capability://text.generation.language.generative.bi.dashboard.and.visualization.creation.from.natural.language","name":"generative bi dashboard and visualization creation from natural language","description":"Automatically generates business intelligence dashboards, charts, and visualizations from natural language descriptions or data exploration queries. The system interprets user intent (e.g., 'show me revenue trends by region'), generates appropriate SQL queries via the semantic layer, executes them, and then selects and configures visualization components (line charts, bar charts, tables, KPI cards) based on data shape and semantic metadata. Visualization selection uses heuristics based on data dimensionality, aggregation level, and metric type defined in the semantic layer.","intents":["I want to create a dashboard by describing what I want to see in plain English","I need to automatically select the right chart type based on my data and question","I want to generate multiple related visualizations that tell a cohesive data story","I need to create ad-hoc reports without manually configuring each chart"],"best_for":["Business users creating self-service dashboards without BI tool expertise","Data teams rapidly prototyping dashboard layouts before formal design","Organizations needing to generate templated reports at scale"],"limitations":["Visualization selection is rule-based and may not match complex or unconventional visualization requirements","No support for custom visualization code or advanced charting libraries beyond built-in components","Dashboard layout and styling are auto-generated with limited customization options","Requires semantic layer to include visualization hints (metric types, dimensions) for optimal chart selection"],"requires":["Semantic layer with metric and dimension definitions including visualization metadata","Connected database with query execution capability","Visualization library (e.g., Plotly, Apache ECharts, or similar) integrated into the platform","LLM API for natural language interpretation"],"input_types":["natural language description of desired dashboard or visualization","semantic layer metadata with visualization hints","query results (structured data from SQL execution)"],"output_types":["dashboard configuration (JSON/YAML format)","rendered visualizations (HTML/SVG/Canvas)","dashboard URL or shareable link"],"categories":["text-generation-language","image-visual","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-wren-ai__cap_10","uri":"capability://memory.knowledge.metric.lineage.tracking.and.impact.analysis.for.semantic.layer.changes","name":"metric lineage tracking and impact analysis for semantic layer changes","description":"Tracks dependencies between metrics, dimensions, and underlying tables in the semantic layer, enabling impact analysis when definitions change. The system can identify which queries, dashboards, and reports depend on a specific metric or dimension, and predict the impact of changes to semantic layer definitions. Lineage is visualized as a dependency graph showing how business metrics flow from raw tables through calculated fields to final reports.","intents":["I want to understand which queries and dashboards depend on a specific metric","I need to predict the impact of changing a metric definition","I want to track how business metrics are calculated from raw data","I need to identify unused metrics or orphaned definitions in the semantic layer"],"best_for":["Data teams managing large semantic layers with many interdependencies","Organizations requiring impact analysis before semantic layer changes","Teams optimizing semantic layer by identifying unused definitions"],"limitations":["Lineage tracking requires maintaining a dependency graph, adding complexity and storage overhead","Impact analysis is static and cannot predict runtime effects of changes","Lineage visualization can be difficult to interpret for large, complex semantic layers","Requires integration with query execution and dashboard systems to track actual usage"],"requires":["Semantic layer with explicit metric and dimension definitions","Dependency graph database or similar structure for tracking relationships","Query execution logging to track which metrics are used","Visualization engine for lineage graphs"],"input_types":["semantic layer definitions","query execution logs","dashboard and report configurations"],"output_types":["dependency graph (JSON, visualization)","impact analysis report (affected queries, dashboards, reports)","lineage visualization (DAG or tree structure)"],"categories":["memory-knowledge","planning-reasoning","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-wren-ai__cap_11","uri":"capability://automation.workflow.batch.query.generation.and.scheduled.report.execution","name":"batch query generation and scheduled report execution","description":"Enables scheduling of natural language questions to run on a recurring basis (daily, weekly, monthly) and automatically generates reports with results. The system converts natural language question definitions into scheduled jobs, executes them at specified intervals, and delivers results via email, Slack, or other channels. Batch execution can optimize database load by grouping similar queries and executing them during off-peak hours.","intents":["I want to automatically generate reports on a schedule without manual intervention","I need to run the same query daily and deliver results to stakeholders","I want to batch similar queries together for efficient database execution","I need to distribute reports via email or Slack on a schedule"],"best_for":["Organizations automating recurring report generation","Teams distributing scheduled analytics to stakeholders","Platforms optimizing database load through batch query execution"],"limitations":["Scheduled queries cannot adapt to real-time data changes — results are static snapshots","Scheduling adds complexity and requires a job scheduler (e.g., Airflow, cron, Kubernetes CronJob)","Report delivery requires integration with email, Slack, or other notification systems","No built-in support for conditional execution or dynamic scheduling based on data"],"requires":["Job scheduler (Airflow, cron, Kubernetes CronJob, or similar)","Natural language question definitions stored in a configuration format","Report generation and delivery system (email, Slack, file storage)","Database connection for query execution"],"input_types":["natural language question definition","schedule specification (cron expression or similar)","delivery configuration (email recipients, Slack channel, etc.)"],"output_types":["scheduled job configuration","generated report (PDF, HTML, CSV, or other format)","delivery confirmation or logs"],"categories":["automation-workflow","text-generation-language"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-wren-ai__cap_2","uri":"capability://memory.knowledge.semantic.layer.definition.and.management.with.business.entity.modeling","name":"semantic layer definition and management with business entity modeling","description":"Provides a declarative interface (YAML/JSON or visual editor) for defining a semantic layer that maps business concepts (entities, metrics, relationships, dimensions) to underlying database schema. The semantic layer stores metadata about how business terms relate to tables, columns, and calculations, enabling consistent interpretation across all downstream capabilities. The system supports defining calculated metrics (e.g., 'revenue = price × quantity'), relationships between entities (foreign keys, many-to-many), and business rules that constrain or enrich queries.","intents":["I need to define a single source of truth for business metrics and dimensions across my organization","I want to map business terminology to database columns so non-technical users can use familiar language","I need to define calculated metrics and KPIs that are reused across multiple queries and dashboards","I want to enforce consistent business logic (e.g., revenue calculations) across all generated queries"],"best_for":["Data teams establishing a semantic layer for self-service analytics","Organizations standardizing metric definitions across multiple BI tools","Analytics platforms building a metadata foundation for generative BI"],"limitations":["Manual definition of semantic layer is time-consuming for large schemas with hundreds of tables","No automatic inference of relationships or metrics from schema — requires domain expertise to define correctly","Changes to semantic layer require revalidation of existing queries and dashboards","Limited support for complex business logic beyond simple calculations and relationships"],"requires":["Database schema introspection or manual schema documentation","YAML/JSON editor or visual semantic layer builder UI","Version control integration for tracking semantic layer changes","LLM context window large enough to include semantic layer definitions"],"input_types":["database schema (tables, columns, data types, relationships)","business metric definitions (formulas, aggregation logic)","entity and dimension specifications (YAML/JSON or UI input)"],"output_types":["semantic layer configuration (YAML/JSON)","semantic layer documentation (markdown or HTML)","validation report (schema coverage, missing definitions)"],"categories":["memory-knowledge","data-processing-analysis","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-wren-ai__cap_3","uri":"capability://code.generation.editing.multi.database.sql.dialect.translation.and.query.optimization","name":"multi-database sql dialect translation and query optimization","description":"Generates SQL queries in the correct dialect for multiple database backends (PostgreSQL, MySQL, BigQuery, Snowflake, Redshift, etc.) by abstracting away database-specific syntax and functions. The system maps semantic layer definitions to database-specific implementations (e.g., different window function syntax, aggregation functions, date handling) and applies query optimization rules specific to each database (e.g., BigQuery's nested/repeated fields, Snowflake's clustering). The translation layer ensures that the same natural language question produces semantically equivalent but syntactically correct SQL for each target database.","intents":["I want to run the same natural language query against PostgreSQL and Snowflake without rewriting SQL","I need to optimize queries for database-specific performance characteristics (e.g., BigQuery's columnar storage)","I want to abstract away database-specific functions and syntax from the LLM","I need to support multiple databases in a single BI platform without duplicating query logic"],"best_for":["Multi-database analytics platforms","Organizations migrating between database systems","Data teams supporting diverse database backends for different use cases"],"limitations":["Some database-specific features (e.g., BigQuery's ML functions, Snowflake's stored procedures) may not translate cleanly","Query optimization rules are heuristic-based and may not produce optimal execution plans for all queries","Requires testing and validation for each supported database backend","Dialect translation adds latency (~50-200ms per query) for query compilation and optimization"],"requires":["Database-specific SQL dialect definitions (grammar, functions, syntax rules)","Query optimizer rules for each supported database","Connections to each target database for schema introspection and query validation","SQL parser/compiler (e.g., sqlparse, sqlglot, or custom AST-based implementation)"],"input_types":["semantic layer definitions with database-agnostic metric and entity specifications","target database type (PostgreSQL, BigQuery, Snowflake, etc.)","natural language query or intermediate query representation"],"output_types":["database-specific SQL query string","query execution plan or optimization suggestions","validation report (syntax correctness, estimated performance)"],"categories":["code-generation-editing","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-wren-ai__cap_4","uri":"capability://safety.moderation.query.validation.and.error.recovery.with.semantic.feedback","name":"query validation and error recovery with semantic feedback","description":"Validates generated SQL queries against the semantic layer and database schema before execution, detecting errors such as invalid column references, type mismatches, or semantic inconsistencies. When validation fails, the system provides feedback to the LLM (e.g., 'column X does not exist in table Y, did you mean column Z?') and attempts to regenerate the query with corrections. The validation layer uses semantic metadata to provide intelligent suggestions and context, enabling iterative refinement of queries without requiring user intervention.","intents":["I want to catch SQL generation errors before they reach the database","I need the system to suggest corrections when a generated query is invalid","I want to understand why a query failed and how to fix it","I need to prevent invalid queries from being executed or cached"],"best_for":["Production BI systems requiring high query reliability","Teams using LLMs for SQL generation and needing safety guardrails","Self-service analytics platforms where invalid queries degrade user experience"],"limitations":["Validation is static and cannot detect runtime errors (e.g., data type coercion, NULL handling)","Error recovery requires additional LLM calls, adding latency (~500ms-2s per retry)","Suggestions are heuristic-based and may not always be correct for ambiguous cases","Cannot validate queries against dynamic schema changes or temporary tables"],"requires":["Semantic layer with complete entity, metric, and relationship definitions","Database schema introspection or cached schema metadata","SQL parser for AST-based validation","LLM API for query regeneration with error context"],"input_types":["generated SQL query string","semantic layer metadata","database schema information","user's original natural language question"],"output_types":["validation result (pass/fail)","error message with specific location and type","suggestions for correction","regenerated SQL query (if recovery succeeds)"],"categories":["safety-moderation","code-generation-editing","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-wren-ai__cap_5","uri":"capability://text.generation.language.conversational.multi.turn.query.refinement.and.exploration","name":"conversational multi-turn query refinement and exploration","description":"Maintains conversation context across multiple natural language queries, enabling users to refine, drill down, or pivot on previous results through follow-up questions. The system tracks the conversation history, previous queries, and result sets, allowing users to reference prior context (e.g., 'show me the same data but for Q2' or 'drill down into the top region'). The conversation state includes the current semantic context (selected entities, filters, aggregations) which is used to generate subsequent queries that build on prior results.","intents":["I want to ask follow-up questions that reference previous query results","I need to drill down or pivot on data without respecifying the entire query","I want the system to remember my current context and filters across multiple questions","I need to explore data iteratively through a conversation rather than one-off queries"],"best_for":["Interactive analytics interfaces with chat-based UX","Data exploration and ad-hoc analysis workflows","Self-service BI platforms where users discover insights through conversation"],"limitations":["Conversation context grows with each turn, increasing LLM token usage and latency","No built-in persistence — conversation state is lost if session ends (requires external state store)","Ambiguous references in follow-up questions may be misinterpreted without explicit context","Long conversations may exceed LLM context window, requiring summarization or context pruning"],"requires":["Conversation state management (in-memory or persistent store)","Query result caching or re-execution capability","LLM with sufficient context window to maintain conversation history","Session management for tracking user conversations"],"input_types":["natural language question (current turn)","conversation history (previous questions and results)","current semantic context (selected entities, filters, aggregations)"],"output_types":["refined SQL query incorporating context from previous turns","query execution results","updated conversation state and semantic context"],"categories":["text-generation-language","planning-reasoning","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-wren-ai__cap_6","uri":"capability://data.processing.analysis.schema.introspection.and.automatic.semantic.layer.bootstrapping","name":"schema introspection and automatic semantic layer bootstrapping","description":"Automatically introspects database schema (tables, columns, relationships, data types, cardinality) and generates an initial semantic layer with suggested entities, dimensions, and metrics. The system analyzes schema patterns (e.g., naming conventions, foreign key relationships, numeric/date columns) to infer business entities and propose metric definitions. While the generated semantic layer requires manual refinement, this capability significantly reduces the time to bootstrap a semantic layer for new databases.","intents":["I want to quickly generate an initial semantic layer from an existing database schema","I need to discover relationships and entities in a large schema automatically","I want to propose metric definitions based on column types and naming patterns","I need to reduce manual effort in setting up a semantic layer for a new database"],"best_for":["Teams onboarding new databases into a BI platform","Organizations with large, complex schemas needing rapid semantic layer setup","Data platforms automating semantic layer generation for multiple databases"],"limitations":["Generated semantic layer is a starting point and requires significant manual refinement for accuracy","Inference heuristics may misidentify relationships or suggest incorrect metric definitions","Does not capture business logic, domain-specific rules, or non-obvious relationships","Requires database connection with schema introspection permissions"],"requires":["Database connection with schema introspection capability (INFORMATION_SCHEMA or equivalent)","Schema analysis engine (pattern matching, relationship detection)","Semantic layer template or code generation for output format"],"input_types":["database connection details","optional schema filters or patterns to focus introspection"],"output_types":["semantic layer configuration (YAML/JSON) with suggested entities, dimensions, metrics","relationship diagram or documentation","confidence scores for suggested definitions"],"categories":["data-processing-analysis","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-wren-ai__cap_7","uri":"capability://automation.workflow.query.caching.and.result.memoization.with.semantic.equivalence.detection","name":"query caching and result memoization with semantic equivalence detection","description":"Caches query results and detects when new natural language questions are semantically equivalent to previously executed queries, returning cached results instead of re-executing. The system uses semantic analysis (not string matching) to determine equivalence, accounting for synonyms, different phrasings, and filter variations. Cached results are indexed by semantic query signature (derived from the semantic layer representation) rather than SQL text, enabling cache hits across different phrasings of the same question.","intents":["I want to avoid re-executing the same query when users ask the same question in different ways","I need to reduce database load by caching frequently accessed data","I want to provide instant results for repeated or similar queries","I need to track which queries are most frequently asked"],"best_for":["High-traffic BI platforms with repeated query patterns","Organizations optimizing database load and query latency","Self-service analytics where users often ask similar questions"],"limitations":["Cache invalidation requires tracking data freshness and schema changes","Semantic equivalence detection is heuristic-based and may miss true equivalences or create false positives","Cache storage grows with query volume and requires memory management","No support for caching queries with real-time or frequently-updated data"],"requires":["Cache storage (in-memory, Redis, or similar)","Semantic query signature generation (based on semantic layer representation)","Query result serialization and storage","Cache invalidation strategy (TTL, schema change detection, manual invalidation)"],"input_types":["natural language question","semantic layer representation","query execution result"],"output_types":["cached result (if cache hit)","cache metadata (hit rate, freshness, size)","query execution result (if cache miss)"],"categories":["automation-workflow","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-wren-ai__cap_8","uri":"capability://planning.reasoning.explainability.and.query.reasoning.with.step.by.step.generation.traces","name":"explainability and query reasoning with step-by-step generation traces","description":"Provides detailed explanations of how natural language questions were converted to SQL queries, including intermediate reasoning steps, semantic layer mappings, and decision points. The system logs the LLM's reasoning chain (e.g., 'identified entity: Customer', 'mapped to table: customers', 'selected metric: revenue'), enabling users and developers to understand and debug query generation. Traces can be visualized as step-by-step walkthroughs or exported for analysis.","intents":["I want to understand why a query was generated a certain way","I need to debug incorrect query generation by seeing the reasoning steps","I want to verify that the system correctly interpreted my question","I need to audit query generation for compliance or correctness"],"best_for":["Teams debugging query generation errors","Organizations requiring audit trails for BI queries","Data teams validating semantic layer correctness"],"limitations":["Detailed traces increase logging overhead and storage requirements","Traces are only as good as the LLM's reasoning — may not capture all decision points","Visualization of complex traces can be difficult for users to interpret","No automatic correction based on trace analysis — requires manual intervention"],"requires":["LLM with chain-of-thought or reasoning trace output capability","Logging and storage for detailed traces","Visualization UI for displaying step-by-step reasoning","Semantic layer context for mapping explanations"],"input_types":["natural language question","LLM reasoning trace or chain-of-thought output","semantic layer metadata"],"output_types":["step-by-step explanation of query generation","visualization of reasoning chain","exported trace (JSON, markdown, or other format)"],"categories":["planning-reasoning","text-generation-language"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-wren-ai__cap_9","uri":"capability://safety.moderation.access.control.and.row.level.security.integration.with.semantic.layer","name":"access control and row-level security integration with semantic layer","description":"Integrates with access control systems to enforce row-level security (RLS) and column-level permissions at the semantic layer level. The system can apply user-specific filters to queries based on roles, attributes, or organizational hierarchy defined in the semantic layer. When a user asks a question, the system automatically applies relevant RLS filters (e.g., 'only show data for regions this user has access to') without requiring explicit user specification.","intents":["I want to enforce row-level security without requiring users to specify filters","I need to restrict data access based on user roles or organizational hierarchy","I want to apply consistent security policies across all generated queries","I need to ensure users only see data they're authorized to access"],"best_for":["Multi-tenant analytics platforms","Organizations with complex data governance requirements","Teams enforcing consistent security policies across BI tools"],"limitations":["RLS policies must be defined in the semantic layer — no automatic inference from database RLS","Complex RLS rules (e.g., dynamic filters based on external systems) require custom integration","Performance impact depends on RLS filter complexity and data volume","Requires integration with identity/access management systems (LDAP, OAuth, SAML, etc.)"],"requires":["Semantic layer with RLS policy definitions","User identity and role information (from authentication system)","Integration with identity/access management system","Database support for dynamic filtering or parameterized queries"],"input_types":["user identity and roles","natural language question","semantic layer with RLS policies"],"output_types":["SQL query with RLS filters applied","filtered query results","audit log of applied security policies"],"categories":["safety-moderation","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":32,"verified":false,"data_access_risk":"high","permissions":["Semantic layer definition (YAML/JSON format or UI-based configuration)","Connected database with schema introspection capabilities","LLM API access (OpenAI, Anthropic, or local model via Ollama)","Python 3.9+ or Node.js 16+ for deployment","Semantic layer with metric and dimension definitions including visualization metadata","Connected database with query execution capability","Visualization library (e.g., Plotly, Apache ECharts, or similar) integrated into the platform","LLM API for natural language interpretation","Semantic layer with explicit metric and dimension definitions","Dependency graph database or similar structure for tracking relationships"],"failure_modes":["Semantic layer requires manual definition of business entities, relationships, and metrics — no automatic schema inference","Complex multi-step queries with subqueries and CTEs may require iterative refinement or explicit semantic hints","Performance depends on LLM latency and semantic layer completeness; incomplete metadata leads to hallucinated SQL","No built-in handling of row-level security or data governance policies — must be implemented separately","Visualization selection is rule-based and may not match complex or unconventional visualization requirements","No support for custom visualization code or advanced charting libraries beyond built-in components","Dashboard layout and styling are auto-generated with limited customization options","Requires semantic layer to include visualization hints (metric types, dimensions) for optimal chart selection","Lineage tracking requires maintaining a dependency graph, adding complexity and storage overhead","Impact analysis is static and cannot predict runtime effects of changes","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.05,"quality":0.49,"ecosystem":0.25,"match_graph":0.25,"freshness":0.75,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.1,"match_graph":0.28,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-06-17T09:51:04.690Z","last_scraped_at":"2026-05-03T14:00:20.516Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=wren-ai","compare_url":"https://unfragile.ai/compare?artifact=wren-ai"}},"signature":"ahD71260NGtdPllszsHLBJQpKM5A4m5nPdY+TVqdabiq1yRnC4vL7G3Dgi32K9cTSBzeSMhjNMnwQDm6Yo19CA==","signedAt":"2026-06-21T22:49:34.727Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/wren-ai","artifact":"https://unfragile.ai/wren-ai","verify":"https://unfragile.ai/api/v1/verify?slug=wren-ai","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}