MCP 服务器

Rafid Intelligence Network

io.github.iabdullahm/rafid-agent-api

此 MCP 可以做什么

Analyzes Oman properties using rental comparables, yields, costs, and payback metrics, and supports Oman company search, profiling, risk analysis, and due diligence.

ai_call_agent
Initiate an authorized outbound AI telephone call and return a call identifier immediately; completion and duration arrive asynchronously. Use when an authorized agent must contact a customer by telephone for a lawful, consent-aware objective and retrieve a structured result later.
可能执行破坏性操作
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['phoneNumber', 'objective', 'language'], 'properties': {'safety': {'type': 'object', 'properties': {'timezone': {'type': 'string', 'maxLength': 100}, 'recording': {'type': 'boolean', 'default': False}, 'consentNotice': {'type': 'string', 'maxLength': 500}, 'transcription': {'type': 'boolean', 'default': False}}}, 'context': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string', 'maxLength': 500}}, 'language': {'enum': ['en', 'ar'], 'type': 'string'}, 'objective': {'type': 'string', 'maxLength': 2000, 'minLength': 10}, 'phoneNumber': {'type': 'string', 'pattern': '^\\+[1-9]\\d{7,14}$'}, 'maxDurationSeconds': {'type': 'integer', 'default': 300, 'maximum': 3600, 'minimum': 1}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['callId', 'status', 'answered', 'durationSeconds', 'outcome', 'summary', 'nextAction', 'structuredFacts', 'transcript', 'createdAt', 'completedAt'], 'properties': {'callId': {'type': 'string'}, 'status': {'enum': ['created', 'queued', 'dialing', 'ringing', 'answered', 'in_progress', 'completed', 'no_answer', 'busy', 'rejected', 'failed', 'cancelled'], 'type': 'string'}, 'outcome': {'type': ['string', 'null']}, 'summary': {'type': ['string', 'null']}, 'answered': {'type': 'boolean'}, 'createdAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$'}, 'nextAction': {'type': ['string', 'null']}, 'transcript': {'type': 'array', 'items': {'type': 'object', 'required': ['speaker', 'text', 'at'], 'properties': {'at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$'}, 'text': {'type': 'string'}, 'speaker': {'enum': ['agent', 'customer'], 'type': 'string'}}, 'additionalProperties': False}}, 'completedAt': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$'}, {'type': 'null'}]}, 'durationSeconds': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'structuredFacts': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'additionalProperties': False}
analyze_company_risk
Gather evidence-tiered risk signals for a company across corporate identity, domain, website, sanctions-list name-matching, adverse news, reputation and legal/regulatory signals — never a safe/unsafe verdict. Use when an agent needs risk evidence to weigh before a transaction, partnership, or onboarding decision — not a substitute for compliance/legal sign-off.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'checks': {'type': 'array', 'items': {'enum': ['corporate_identity', 'domain', 'website', 'sanctions', 'adverse_news', 'security_signals', 'reputation', 'legal_signals'], 'type': 'string'}, 'maxItems': 8}, 'company': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'country': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'website': {'type': 'string', 'maxLength': 300, 'minLength': 1}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['company', 'riskSignals', 'checks', 'sources', 'confidence', 'limitations', 'cached', 'dataMode'], 'properties': {'cached': {'type': 'boolean'}, 'checks': {'type': 'object', 'required': ['corporateIdentity', 'domain', 'website', 'sanctions', 'adverseNews', 'securitySignals', 'reputation', 'legalSignals'], 'properties': {'domain': {'type': 'object', 'required': ['status', 'summary', 'findings', 'evidence'], 'properties': {'status': {'enum': ['performed', 'not_configured', 'unavailable', 'not_applicable'], 'type': 'string'}, 'summary': {'type': ['string', 'null']}, 'evidence': {'type': 'array', 'items': {'type': 'object', 'required': ['description', 'source', 'tier'], 'properties': {'tier': {'enum': ['confirmed_evidence', 'public_allegation', 'automated_indicator', 'missing_information'], 'type': 'string'}, 'source': {'type': ['string', 'null']}, 'description': {'type': 'string'}}, 'additionalProperties': False}}, 'findings': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'website': {'type': 'object', 'required': ['status', 'summary', 'findings', 'evidence'], 'properties': {'status': {'enum': ['performed', 'not_configured', 'unavailable', 'not_applicable'], 'type': 'string'}, 'summary': {'type': ['string', 'null']}, 'evidence': {'type': 'array', 'items': {'type': 'object', 'required': ['description', 'source', 'tier'], 'properties': {'tier': {'enum': ['confirmed_evidence', 'public_allegation', 'automated_indicator', 'missing_information'], 'type': 'string'}, 'source': {'type': ['string', 'null']}, 'description': {'type': 'string'}}, 'additionalProperties': False}}, 'findings': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'sanctions': {'type': 'object', 'required': ['status', 'summary', 'findings', 'evidence'], 'properties': {'status': {'enum': ['performed', 'not_configured', 'unavailable', 'not_applicable'], 'type': 'string'}, 'summary': {'type': ['string', 'null']}, 'evidence': {'type': 'array', 'items': {'type': 'object', 'required': ['description', 'source', 'tier'], 'properties': {'tier': {'enum': ['confirmed_evidence', 'public_allegation', 'automated_indicator', 'missing_information'], 'type': 'string'}, 'source': {'type': ['string', 'null']}, 'description': {'type': 'string'}}, 'additionalProperties': False}}, 'findings': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'reputation': {'type': 'object', 'required': ['status', 'summary', 'findings', 'evidence'], 'properties': {'status': {'enum': ['performed', 'not_configured', 'unavailable', 'not_applicable'], 'type': 'string'}, 'summary': {'type': ['string', 'null']}, 'evidence': {'type': 'array', 'items': {'type': 'object', 'required': ['description', 'source', 'tier'], 'properties': {'tier': {'enum': ['confirmed_evidence', 'public_allegation', 'automated_indicator', 'missing_information'], 'type': 'string'}, 'source': {'type': ['string', 'null']}, 'description': {'type': 'string'}}, 'additionalProperties': False}}, 'findings': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'adverseNews': {'type': 'object', 'required': ['status', 'summary', 'findings', 'evidence'], 'properties': {'status': {'enum': ['performed', 'not_configured', 'unavailable', 'not_applicable'], 'type': 'string'}, 'summary': {'type': ['string', 'null']}, 'evidence': {'type': 'array', 'items': {'type': 'object', 'required': ['description', 'source', 'tier'], 'properties': {'tier': {'enum': ['confirmed_evidence', 'public_allegation', 'automated_indicator', 'missing_information'], 'type': 'string'}, 'source': {'type': ['string', 'null']}, 'description': {'type': 'string'}}, 'additionalProperties': False}}, 'findings': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'legalSignals': {'type': 'object', 'required': ['status', 'summary', 'findings', 'evidence'], 'properties': {'status': {'enum': ['performed', 'not_configured', 'unavailable', 'not_applicable'], 'type': 'string'}, 'summary': {'type': ['string', 'null']}, 'evidence': {'type': 'array', 'items': {'type': 'object', 'required': ['description', 'source', 'tier'], 'properties': {'tier': {'enum': ['confirmed_evidence', 'public_allegation', 'automated_indicator', 'missing_information'], 'type': 'string'}, 'source': {'type': ['string', 'null']}, 'description': {'type': 'string'}}, 'additionalProperties': False}}, 'findings': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'securitySignals': {'type': 'object', 'required': ['status', 'summary', 'findings', 'evidence'], 'properties': {'status': {'enum': ['performed', 'not_configured', 'unavailable', 'not_applicable'], 'type': 'string'}, 'summary': {'type': ['string', 'null']}, 'evidence': {'type': 'array', 'items': {'type': 'object', 'required': ['description', 'source', 'tier'], 'properties': {'tier': {'enum': ['confirmed_evidence', 'public_allegation', 'automated_indicator', 'missing_information'], 'type': 'string'}, 'source': {'type': ['string', 'null']}, 'description': {'type': 'string'}}, 'additionalProperties': False}}, 'findings': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'corporateIdentity': {'type': 'object', 'required': ['status', 'summary', 'findings', 'evidence'], 'properties': {'status': {'enum': ['performed', 'not_configured', 'unavailable', 'not_applicable'], 'type': 'string'}, 'summary': {'type': ['string', 'null']}, 'evidence': {'type': 'array', 'items': {'type': 'object', 'required': ['description', 'source', 'tier'], 'properties': {'tier': {'enum': ['confirmed_evidence', 'public_allegation', 'automated_indicator', 'missing_information'], 'type': 'string'}, 'source': {'type': ['string', 'null']}, 'description': {'type': 'string'}}, 'additionalProperties': False}}, 'findings': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'company': {'type': 'object', 'required': ['name', 'website', 'country'], 'properties': {'name': {'type': ['string', 'null']}, 'country': {'type': ['string', 'null']}, 'website': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['url', 'title', 'publisher', 'sourceType', 'observedAt'], 'properties': {'url': {'type': ['string', 'null']}, 'title': {'type': 'string'}, 'publisher': {'type': ['string', 'null']}, 'observedAt': {'type': 'string'}, 'sourceType': {'enum': ['web_search', 'company_website', 'news', 'government_registry', 'regulatory_registry', 'sanctions_list', 'domain_registry', 'rafid_oman_registry', 'not_configured'], 'type': 'string'}}, 'additionalProperties': False}}, 'dataMode': {'enum': ['live', 'not_configured'], 'type': 'string'}, 'confidence': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'limitations': {'type': 'array', 'items': {'type': 'string'}}, 'riskSignals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'severity', 'summary', 'evidence', 'source'], 'properties': {'type': {'enum': ['corporate_identity', 'domain', 'website', 'sanctions', 'adverse_news', 'security_signals', 'reputation', 'legal_signals'], 'type': 'string'}, 'source': {'type': ['string', 'null']}, 'summary': {'type': 'string'}, 'evidence': {'type': 'array', 'items': {'type': 'object', 'required': ['description', 'source', 'tier'], 'properties': {'tier': {'enum': ['confirmed_evidence', 'public_allegation', 'automated_indicator', 'missing_information'], 'type': 'string'}, 'source': {'type': ['string', 'null']}, 'description': {'type': 'string'}}, 'additionalProperties': False}}, 'severity': {'enum': ['low', 'medium', 'high'], 'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
analyze_oman_company
Generate deterministic commercial-intelligence signals, risk flags and positive signals for one Oman company by companyId, for a stated evaluation purpose. Use when an agent needs to assess whether an Oman company looks like a serious, established operating business — as a supplier, customer, partner or investment target.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['companyId', 'purpose'], 'properties': {'purpose': {'enum': ['general', 'supplier', 'customer', 'partner', 'investor'], 'type': 'string'}, 'companyId': {'type': 'string', 'maxLength': 120, 'minLength': 1}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['companyId', 'commercialSignals', 'riskFlags', 'positiveSignals', 'recommendedChecks', 'confidence', 'confidenceReasons', 'dataCoverage', 'sources'], 'properties': {'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['sourceName', 'sourceType', 'sourceAuthority', 'sourceUrl', 'sourceRecordId', 'observedAt', 'verificationStatus', 'fields'], 'properties': {'fields': {'type': 'array', 'items': {'type': 'string'}}, 'sourceUrl': {'type': ['string', 'null']}, 'observedAt': {'type': 'string'}, 'sourceName': {'type': 'string'}, 'sourceType': {'enum': ['government', 'public_registry', 'tax_authority', 'government_procurement', 'company_website', 'licensed_feed', 'directory', 'news', 'demo', 'other', 'admin_manual'], 'type': 'string'}, 'sourceRecordId': {'type': ['string', 'null']}, 'sourceAuthority': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'verificationStatus': {'enum': ['verified', 'reported', 'estimated', 'inferred', 'stale', 'conflicting', 'unknown'], 'type': 'string'}}, 'additionalProperties': False}}, 'companyId': {'type': 'string'}, 'riskFlags': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'severity', 'message'], 'properties': {'code': {'type': 'string'}, 'message': {'type': 'string'}, 'severity': {'enum': ['low', 'medium', 'high'], 'type': 'string'}}, 'additionalProperties': False}}, 'confidence': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'dataCoverage': {'type': 'object', 'required': ['realSources', 'demoSources', 'latestVerifiedAt'], 'properties': {'demoSources': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'realSources': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'latestVerifiedAt': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'positiveSignals': {'type': 'array', 'items': {'type': 'string'}}, 'commercialSignals': {'type': 'object', 'required': ['yearsActive', 'operatingStatus', 'digitalPresenceScore', 'dataCompletenessScore', 'businessMaturity', 'governmentProcurementActivity'], 'properties': {'yearsActive': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'operatingStatus': {'type': 'string'}, 'businessMaturity': {'enum': ['new', 'early_stage', 'growing', 'established'], 'type': 'string'}, 'digitalPresenceScore': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'dataCompletenessScore': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'governmentProcurementActivity': {'enum': ['active', 'limited', 'none'], 'type': 'string'}}, 'additionalProperties': False}, 'confidenceReasons': {'type': 'array', 'items': {'type': 'string'}}, 'recommendedChecks': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
analyze_oman_property
Analyze an Oman residential property using local rental comparables, market context and investment metrics, including partner-supplied historical and recent Al Mouj Muscat property sales records with provenance and freshness metadata when coverage is available. Use when an agent needs Oman-specific rental, yield, sale price positioning or operating-cost analysis, especially for an Al Mouj Muscat property.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['governorate', 'area', 'propertyType', 'sizeSqm', 'askingPriceOMR'], 'properties': {'area': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'sizeSqm': {'type': 'number', 'maximum': 5000, 'minimum': 10}, 'wilayat': {'type': 'string', 'maxLength': 60, 'minLength': 1}, 'bedrooms': {'type': 'integer', 'maximum': 20, 'minimum': 0}, 'bathrooms': {'type': 'integer', 'maximum': 20, 'minimum': 0}, 'furnished': {'enum': ['furnished', 'semi_furnished', 'unfurnished'], 'type': 'string'}, 'governorate': {'type': 'string', 'maxLength': 60, 'minLength': 1}, 'propertyType': {'enum': ['apartment', 'villa', 'townhouse'], 'type': 'string'}, 'askingPriceOMR': {'type': 'number', 'maximum': 1000000000, 'minimum': 1000}, 'optionalAnnualMaintenanceOMR': {'type': 'number', 'maximum': 1000000000, 'minimum': 0}, 'optionalAnnualServiceChargeOMR': {'type': 'number', 'maximum': 1000000000, 'minimum': 0}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['normalizedLocation', 'subjectProperty', 'market', 'investment', 'pricePosition', 'comparablesSummary', 'riskFlags', 'confidence', 'provenance', 'assumptions', 'insufficientMarketData', 'unavailableOutputs', 'currency', 'dataQuality', 'historicalSalesContext', 'officialMarketContext'], 'properties': {'market': {'type': 'object', 'required': ['estimatedMonthlyRentOMR', 'estimatedAnnualRentOMR', 'comparableCount', 'sampleSizeUsed', 'dataFreshnessDays'], 'properties': {'sampleSizeUsed': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'comparableCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'dataFreshnessDays': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'estimatedAnnualRentOMR': {'type': ['number', 'null']}, 'estimatedMonthlyRentOMR': {'anyOf': [{'type': 'object', 'required': ['low', 'median', 'high'], 'properties': {'low': {'type': 'number'}, 'high': {'type': 'number'}, 'median': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}}, 'additionalProperties': False}, 'currency': {'type': 'string', 'const': 'OMR'}, 'riskFlags': {'type': 'array', 'items': {'type': 'string'}}, 'confidence': {'type': 'object', 'required': ['score', 'level', 'reasons'], 'properties': {'level': {'enum': ['insufficient', 'low', 'medium', 'high'], 'type': 'string'}, 'score': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'reasons': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'investment': {'type': 'object', 'required': ['grossYieldPct', 'estimatedOperatingCostOMR', 'estimatedNetIncomeOMR', 'netYieldPct'], 'properties': {'netYieldPct': {'type': ['number', 'null']}, 'grossYieldPct': {'type': ['number', 'null']}, 'estimatedNetIncomeOMR': {'type': ['number', 'null']}, 'estimatedOperatingCostOMR': {'type': 'number'}}, 'additionalProperties': False}, 'provenance': {'type': 'array', 'items': {'type': 'object', 'required': ['sourceType', 'sourceName', 'sourceDate', 'recordCount'], 'properties': {'sourceDate': {'type': 'string'}, 'sourceName': {'type': 'string'}, 'sourceType': {'enum': ['official_statistics', 'listing_asking_price', 'manual_benchmark', 'partner_feed'], 'type': 'string'}, 'recordCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}}, 'assumptions': {'type': 'array', 'items': {'type': 'string'}}, 'dataQuality': {'type': 'object', 'required': ['latestDataDate', 'dataFreshnessDays', 'sampleSize', 'sourceTypes', 'staleMarketData'], 'properties': {'sampleSize': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'sourceTypes': {'type': 'array', 'items': {'enum': ['official_statistics', 'listing_asking_price', 'manual_benchmark', 'partner_feed'], 'type': 'string'}}, 'latestDataDate': {'type': ['string', 'null']}, 'staleMarketData': {'type': 'boolean'}, 'dataFreshnessDays': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}}, 'additionalProperties': False}, 'pricePosition': {'type': 'object', 'required': ['askingPricePerSqmOMR', 'observedComparableRange', 'marketPosition'], 'properties': {'marketPosition': {'enum': ['below_market', 'at_market', 'above_market', 'insufficient_data'], 'type': 'string'}, 'askingPricePerSqmOMR': {'type': 'number'}, 'observedComparableRange': {'anyOf': [{'type': 'object', 'required': ['low', 'median', 'high'], 'properties': {'low': {'type': 'number'}, 'high': {'type': 'number'}, 'median': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}}, 'additionalProperties': False}, 'subjectProperty': {'type': 'object', 'required': ['propertyType', 'bedrooms', 'bathrooms', 'sizeSqm', 'askingPriceOMR', 'furnished'], 'properties': {'sizeSqm': {'type': 'number'}, 'bedrooms': {'type': ['number', 'null']}, 'bathrooms': {'type': ['number', 'null']}, 'furnished': {'enum': ['furnished', 'semi_furnished', 'unfurnished', 'unspecified'], 'type': 'string'}, 'propertyType': {'enum': ['apartment', 'villa', 'townhouse'], 'type': 'string'}, 'askingPriceOMR': {'type': 'number'}}, 'additionalProperties': False}, 'comparablesSummary': {'anyOf': [{'type': 'object', 'required': ['medianRentPerSqm', 'lowRentPerSqm', 'highRentPerSqm'], 'properties': {'lowRentPerSqm': {'type': 'number'}, 'highRentPerSqm': {'type': 'number'}, 'medianRentPerSqm': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'normalizedLocation': {'type': 'object', 'required': ['governorate', 'wilayat', 'area', 'inputArea', 'matchType', 'supported'], 'properties': {'area': {'type': 'string'}, 'wilayat': {'type': 'string'}, 'inputArea': {'type': 'string'}, 'matchType': {'enum': ['exact', 'alias', 'unmatched'], 'type': 'string'}, 'supported': {'type': 'boolean'}, 'governorate': {'type': 'string'}}, 'additionalProperties': False}, 'unavailableOutputs': {'type': 'array', 'items': {'type': 'string'}}, 'officialMarketContext': {'type': 'object', 'required': ['available', 'reason', 'source', 'sourceType', 'governorate', 'period', 'realEstatePriceIndex', 'marketActivity', 'dataFreshnessDays', 'confidence', 'provenance'], 'properties': {'period': {'type': ['string', 'null']}, 'reason': {'anyOf': [{'enum': ['ncsi_not_configured', 'no_data_for_governorate', 'ncsi_timeout', 'ncsi_malformed_response', 'official_source_temporarily_unavailable'], 'type': 'string'}, {'type': 'null'}]}, 'source': {'type': 'string'}, 'available': {'type': 'boolean'}, 'confidence': {'type': 'object', 'required': ['level', 'reasons'], 'properties': {'level': {'enum': ['unavailable', 'low', 'medium', 'high'], 'type': 'string'}, 'reasons': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'provenance': {'type': 'object', 'required': ['source', 'sourceType', 'datasetId', 'datasetTitle', 'retrievedAt', 'publishedAt', 'sourceUrl', 'license'], 'properties': {'source': {'type': 'string'}, 'license': {'type': 'string'}, 'datasetId': {'type': ['string', 'null']}, 'sourceUrl': {'type': ['string', 'null']}, 'sourceType': {'type': 'string', 'const': 'official_statistics'}, 'publishedAt': {'type': ['string', 'null']}, 'retrievedAt': {'type': ['string', 'null']}, 'datasetTitle': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'sourceType': {'type': 'string', 'const': 'official_statistics'}, 'governorate': {'type': 'string'}, 'marketActivity': {'type': 'object', 'required': ['tradedValueOMR', 'saleContracts', 'mortgageContracts'], 'properties': {'saleContracts': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'tradedValueOMR': {'type': ['number', 'null']}, 'mortgageContracts': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}}, 'additionalProperties': False}, 'dataFreshnessDays': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'realEstatePriceIndex': {'type': 'object', 'required': ['value', 'period'], 'properties': {'value': {'type': ['number', 'null']}, 'period': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'historicalSalesContext': {'type': 'object', 'required': ['available', 'recordsAvailable', 'recentComparableSales', 'medianHistoricalPricePerSqmOMR', 'recentMedianPricePerSqmOMR', 'oldestRecordDate', 'latestRecordDate', 'sourceTypes', 'priceSemantics', 'phaseBreakdown'], 'properties': {'available': {'type': 'boolean'}, 'sourceTypes': {'type': 'array', 'items': {'type': 'string'}}, 'phaseBreakdown': {'type': 'array', 'items': {'type': 'object', 'required': ['phaseName', 'recordCount', 'medianPriceOMR', 'medianPricePerSqmOMR', 'oldestRecordDate', 'latestRecordDate'], 'properties': {'phaseName': {'type': 'string'}, 'recordCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'medianPriceOMR': {'type': 'number'}, 'latestRecordDate': {'type': 'string'}, 'oldestRecordDate': {'type': 'string'}, 'medianPricePerSqmOMR': {'type': 'number'}}, 'additionalProperties': False}}, 'priceSemantics': {'type': 'array', 'items': {'type': 'string'}}, 'latestRecordDate': {'type': ['string', 'null']}, 'oldestRecordDate': {'type': ['string', 'null']}, 'recordsAvailable': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'recentComparableSales': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'recentMedianPricePerSqmOMR': {'type': ['number', 'null']}, 'medianHistoricalPricePerSqmOMR': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'insufficientMarketData': {'type': 'boolean'}}, 'additionalProperties': False}
analyze_property
Calculate gross/net rental yield, income, operating costs and simple payback in OMR. Calculations only. Use when an agent needs financial metrics (yield, income, payback) for a single property.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['propertyValue', 'annualRent'], 'properties': {'annualRent': {'type': 'number', 'maximum': 1000000000000, 'minimum': 0}, 'maintenance': {'type': 'number', 'maximum': 1000000000000, 'minimum': 0, 'description': 'Legacy alias for maintenanceCost; supply only one'}, 'propertyValue': {'type': 'number', 'maximum': 1000000000000, 'minimum': 0.01}, 'serviceCharge': {'type': 'number', 'maximum': 1000000000000, 'minimum': 0}, 'vacancyRatePct': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'maintenanceCost': {'type': 'number', 'maximum': 1000000000000, 'minimum': 0}, 'otherAnnualCosts': {'type': 'number', 'maximum': 1000000000000, 'minimum': 0}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['propertyValue', 'annualRent', 'grossAnnualIncome', 'grossYield', 'netYield', 'annualOperatingCost', 'annualNetIncome', 'effectiveAnnualRent', 'paybackYears', 'grossYieldPct', 'netYieldPct', 'annualOperatingCosts', 'currency', 'note'], 'properties': {'note': {'type': 'string'}, 'currency': {'type': 'string', 'const': 'OMR'}, 'netYield': {'type': 'number'}, 'annualRent': {'type': 'number'}, 'grossYield': {'type': 'number'}, 'netYieldPct': {'type': 'number'}, 'paybackYears': {'type': ['number', 'null']}, 'grossYieldPct': {'type': 'number'}, 'propertyValue': {'type': 'number'}, 'annualNetIncome': {'type': 'number'}, 'grossAnnualIncome': {'type': 'number'}, 'annualOperatingCost': {'type': 'number'}, 'effectiveAnnualRent': {'type': 'number'}, 'annualOperatingCosts': {'type': 'number'}}, 'additionalProperties': False}
appointment_call_agent
Place an asynchronous appointment call to propose, book, confirm, reschedule or cancel a slot through a calendar-provider abstraction. Use when an authorized agent must coordinate a customer appointment by telephone and return a machine-readable scheduling result.
可能执行破坏性操作
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['phoneNumber', 'action', 'appointmentType', 'timezone', 'language'], 'properties': {'action': {'enum': ['propose', 'book', 'confirm', 'reschedule', 'cancel'], 'type': 'string'}, 'safety': {'type': 'object', 'properties': {'timezone': {'type': 'string', 'maxLength': 100}, 'recording': {'type': 'boolean', 'default': False}, 'consentNotice': {'type': 'string', 'maxLength': 500}, 'transcription': {'type': 'boolean', 'default': False}}}, 'context': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string', 'maxLength': 500}}, 'language': {'enum': ['en', 'ar'], 'type': 'string'}, 'timezone': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'phoneNumber': {'type': 'string', 'pattern': '^\\+[1-9]\\d{7,14}$'}, 'availableSlots': {'type': 'array', 'items': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'default': [], 'maxItems': 20}, 'appointmentType': {'type': 'string', 'maxLength': 200, 'minLength': 2}, 'maxDurationSeconds': {'type': 'integer', 'default': 300, 'maximum': 3600, 'minimum': 1}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['callId', 'status', 'confirmedSlot', 'customerNotes', 'calendarEventId'], 'properties': {'callId': {'type': 'string'}, 'status': {'enum': ['proposed', 'confirmed', 'rescheduled', 'cancelled', 'failed'], 'type': 'string'}, 'confirmedSlot': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, {'type': 'null'}]}, 'customerNotes': {'type': ['string', 'null']}, 'calendarEventId': {'type': ['string', 'null']}}, 'additionalProperties': False}
break_even_calculator
Calculate break-even and target-profit units from supplied fixed and variable costs. Use when an agent needs the Creative Techno book framework for break even calculator.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sellingPriceOMR', 'variableCostPerUnitOMR', 'monthlyFixedCostsOMR'], 'properties': {'language': {'enum': ['ar', 'en'], 'type': 'string', 'default': 'en'}, 'sellingPriceOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'targetProfitOMR': {'type': 'number', 'default': 0, 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'monthlyFixedCostsOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'variableCostPerUnitOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frameworkSource', 'language', 'result'], 'properties': {'result': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'language': {'enum': ['ar', 'en'], 'type': 'string'}, 'frameworkSource': {'type': 'object', 'required': ['publisher', 'title', 'edition'], 'properties': {'title': {'type': 'string', 'const': 'كيف تبدأ مشروعك الصغير في عُمان؟'}, 'edition': {'type': 'string', 'const': '2026'}, 'publisher': {'type': 'string', 'const': 'Creative Techno'}}, 'additionalProperties': False}}, 'additionalProperties': False}
business_90_day_growth_plan
Generate the book's three-month post-launch goals, milestones, KPIs and review gates. Use when an agent needs the Creative Techno book framework for business 90 day growth plan.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'language': {'enum': ['ar', 'en'], 'type': 'string', 'default': 'en'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frameworkSource', 'language', 'result'], 'properties': {'result': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'language': {'enum': ['ar', 'en'], 'type': 'string'}, 'frameworkSource': {'type': 'object', 'required': ['publisher', 'title', 'edition'], 'properties': {'title': {'type': 'string', 'const': 'كيف تبدأ مشروعك الصغير في عُمان؟'}, 'edition': {'type': 'string', 'const': '2026'}, 'publisher': {'type': 'string', 'const': 'Creative Techno'}}, 'additionalProperties': False}}, 'additionalProperties': False}
business_idea_generator
Generate candidate ideas from user-observed problems and constraints; does not claim market demand. Use when an agent needs the Creative Techno book framework for business idea generator.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'city': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'skills': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'maxItems': 100}, 'problem': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'customer': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'language': {'enum': ['ar', 'en'], 'type': 'string', 'default': 'en'}, 'solution': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'budgetOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'paymentEvidence': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'maxItems': 100}, 'observedProblems': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'maxItems': 100}, 'startupDifficulty': {'enum': ['low', 'medium', 'high'], 'type': 'string'}, 'availableHoursPerWeek': {'type': 'number', 'maximum': 168, 'minimum': 0}, 'preferredBusinessModel': {'type': 'string', 'maxLength': 100, 'minLength': 1}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frameworkSource', 'language', 'result'], 'properties': {'result': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'language': {'enum': ['ar', 'en'], 'type': 'string'}, 'frameworkSource': {'type': 'object', 'required': ['publisher', 'title', 'edition'], 'properties': {'title': {'type': 'string', 'const': 'كيف تبدأ مشروعك الصغير في عُمان؟'}, 'edition': {'type': 'string', 'const': '2026'}, 'publisher': {'type': 'string', 'const': 'Creative Techno'}}, 'additionalProperties': False}}, 'additionalProperties': False}
business_idea_validate
Evaluate problem, customer, solution and willingness-to-pay evidence; does not independently verify live demand. Use when an agent needs the Creative Techno book framework for business idea validate.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['idea', 'customer', 'problem', 'solution'], 'properties': {'idea': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'problem': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'customer': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'language': {'enum': ['ar', 'en'], 'type': 'string', 'default': 'en'}, 'solution': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'prospects': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'maxItems': 100, 'minItems': 1}, 'paymentEvidence': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'maxItems': 100}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frameworkSource', 'language', 'result'], 'properties': {'result': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'language': {'enum': ['ar', 'en'], 'type': 'string'}, 'frameworkSource': {'type': 'object', 'required': ['publisher', 'title', 'edition'], 'properties': {'title': {'type': 'string', 'const': 'كيف تبدأ مشروعك الصغير في عُمان؟'}, 'edition': {'type': 'string', 'const': '2026'}, 'publisher': {'type': 'string', 'const': 'Creative Techno'}}, 'additionalProperties': False}}, 'additionalProperties': False}
business_model_builder
Build the book's ten-element one-page business map from supplied inputs. Use when an agent needs the Creative Techno book framework for business model builder.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['product', 'customer', 'problem', 'value', 'channels', 'pricing', 'revenue'], 'properties': {'costs': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'maxItems': 100}, 'value': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'pricing': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'problem': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'product': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'revenue': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'channels': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'maxItems': 100}, 'customer': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'language': {'enum': ['ar', 'en'], 'type': 'string', 'default': 'en'}, 'keyActivities': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'maxItems': 100}, 'suppliersPartners': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'maxItems': 100}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frameworkSource', 'language', 'result'], 'properties': {'result': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'language': {'enum': ['ar', 'en'], 'type': 'string'}, 'frameworkSource': {'type': 'object', 'required': ['publisher', 'title', 'edition'], 'properties': {'title': {'type': 'string', 'const': 'كيف تبدأ مشروعك الصغير في عُمان؟'}, 'edition': {'type': 'string', 'const': '2026'}, 'publisher': {'type': 'string', 'const': 'Creative Techno'}}, 'additionalProperties': False}}, 'additionalProperties': False}
business_profitability_analysis
Calculate revenue, gross profit, net profit and margins from monthly supplied data. Use when an agent needs the Creative Techno book framework for business profitability analysis.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['unitsSold', 'sellingPriceOMR', 'variableCostPerUnitOMR', 'monthlyFixedCostsOMR'], 'properties': {'language': {'enum': ['ar', 'en'], 'type': 'string', 'default': 'en'}, 'unitsSold': {'type': 'number', 'minimum': 0}, 'marketingOMR': {'type': 'number', 'default': 0, 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'priorRevenueOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'sellingPriceOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'otherExpensesOMR': {'type': 'number', 'default': 0, 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'monthlyFixedCostsOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'variableCostPerUnitOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frameworkSource', 'language', 'result'], 'properties': {'result': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'language': {'enum': ['ar', 'en'], 'type': 'string'}, 'frameworkSource': {'type': 'object', 'required': ['publisher', 'title', 'edition'], 'properties': {'title': {'type': 'string', 'const': 'كيف تبدأ مشروعك الصغير في عُمان؟'}, 'edition': {'type': 'string', 'const': '2026'}, 'publisher': {'type': 'string', 'const': 'Creative Techno'}}, 'additionalProperties': False}}, 'additionalProperties': False}
business_risk_check
Diagnose the book's common mistakes from supplied signals; no unsupported probabilities are assigned. Use when an agent needs the Creative Techno book framework for business risk check.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['business'], 'properties': {'signals': {'type': 'object', 'default': {}, 'propertyNames': {'type': 'string'}, 'additionalProperties': {'anyOf': [{'type': 'boolean'}, {'type': 'string', 'maxLength': 2000, 'minLength': 1}, {'type': 'number'}]}}, 'business': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'language': {'enum': ['ar', 'en'], 'type': 'string', 'default': 'en'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frameworkSource', 'language', 'result'], 'properties': {'result': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'language': {'enum': ['ar', 'en'], 'type': 'string'}, 'frameworkSource': {'type': 'object', 'required': ['publisher', 'title', 'edition'], 'properties': {'title': {'type': 'string', 'const': 'كيف تبدأ مشروعك الصغير في عُمان؟'}, 'edition': {'type': 'string', 'const': '2026'}, 'publisher': {'type': 'string', 'const': 'Creative Techno'}}, 'additionalProperties': False}}, 'additionalProperties': False}
business_risk_score
Assess the risk of doing business with a company in any country using corporate, financial, compliance, reputation, operational and digital evidence. Returns a 0–100 risk score (100 = highest detected risk), a separate 0–1 confidence, per-category component scores, evidence-backed risk flags and positive signals, sanctions/restricted-party screening with match strength, and machine-readable due-diligence guidance (proceed / proceed_with_monitoring / enhanced_due_diligence / manual_review / avoid_automated_transaction). Use before onboarding a supplier or vendor, paying a new business, entering a B2B transaction, approving a marketplace seller, extending credit or insurance, or recommending a company — whenever an autonomous agent needs structured, evidence-backed business due diligence it cannot reliably generate from its own model knowledge.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['companyName'], 'properties': {'lei': {'type': 'string', 'maxLength': 24, 'minLength': 20, 'description': 'Legal Entity Identifier (ISO 17442), if known — decisive for entity resolution.'}, 'city': {'type': 'string', 'maxLength': 80, 'minLength': 2, 'description': 'City of registration/headquarters (helps disambiguation).'}, 'address': {'type': 'string', 'maxLength': 300, 'minLength': 3, 'description': 'Street address as supplied by the company (checked against the registered address when the registry publishes one).'}, 'country': {'type': 'string', 'maxLength': 60, 'minLength': 2, 'description': 'Country of registration/operation — ISO 3166 alpha-2 (e.g. GB), alpha-3 or English name. Strongly recommended: prevents same-name companies in other countries from being confused.'}, 'website': {'type': 'string', 'maxLength': 300, 'minLength': 4, 'description': 'Company website or domain, e.g. https://example.com (normalized to its https origin).'}, 'industry': {'type': 'string', 'maxLength': 100, 'minLength': 2, 'description': "Claimed industry/business activity (checked for consistency with the company's public presence; never scored by itself)."}, 'companyName': {'type': 'string', 'maxLength': 200, 'minLength': 2, 'description': 'Company name as known to the caller (trading or legal name). Required.'}, 'includeNews': {'type': 'boolean', 'description': "Default true. false skips news, customer-review and regulator web searches (faster, cheaper; reputation coverage becomes 'none')."}, 'knownAliases': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 2}, 'maxItems': 5, 'description': 'Other names the company trades or traded under (max 5). Screened against sanctions/restricted-party lists and used to attribute media.'}, 'registrationNumber': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9 ./-]*$', 'maxLength': 64, 'minLength': 2, 'description': 'Company registration number in its home registry (e.g. UK Companies House number, Oman CR number). The strongest disambiguator.'}, 'includeDigitalSignals': {'type': 'boolean', 'description': "Default true. false skips website, domain-registration and threat-feed checks (digital coverage becomes 'none')."}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status', 'assessmentId', 'business', 'riskScore', 'riskLevel', 'confidence', 'components', 'scoreBreakdown', 'riskFlags', 'positiveSignals', 'sanctionsScreening', 'evidence', 'recommendation', 'dataCoverage', 'confidenceBreakdown', 'providers', 'warnings', 'assumptions', 'limitations', 'methodology', 'evaluatedAt'], 'properties': {'status': {'enum': ['assessed', 'insufficient_data'], 'type': 'string'}, 'business': {'type': 'object', 'required': ['name', 'legalName', 'country', 'countryName', 'registrationNumber', 'lei', 'registrationStatus', 'incorporationDate', 'registry', 'website', 'domain', 'city', 'industry', 'entityMatchConfidence', 'resolutionStatus', 'identityVerifiedAgainstRegistry', 'matchedOn'], 'properties': {'lei': {'type': ['string', 'null']}, 'city': {'type': ['string', 'null']}, 'name': {'type': 'string'}, 'domain': {'type': ['string', 'null']}, 'country': {'type': ['string', 'null']}, 'website': {'type': ['string', 'null']}, 'industry': {'type': ['string', 'null']}, 'registry': {'type': ['string', 'null']}, 'legalName': {'type': ['string', 'null']}, 'matchedOn': {'type': 'array', 'items': {'type': 'string'}}, 'countryName': {'type': ['string', 'null']}, 'resolutionStatus': {'enum': ['resolved', 'probable', 'unverified'], 'type': 'string'}, 'incorporationDate': {'type': ['string', 'null']}, 'registrationNumber': {'type': ['string', 'null']}, 'registrationStatus': {'enum': ['active', 'inactive', 'dissolved', 'liquidation', 'unknown', 'not_verified'], 'type': 'string'}, 'entityMatchConfidence': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'identityVerifiedAgainstRegistry': {'type': 'boolean'}}, 'additionalProperties': False}, 'evidence': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'recordType', 'type', 'evidenceClass', 'sourceName', 'sourceUrl', 'sourceRecordId', 'publishedAt', 'observedAt', 'retrievedAt', 'ageDays', 'stale', 'freshness', 'claim', 'reliability', 'relevance', 'fromCache'], 'properties': {'id': {'type': 'string'}, 'type': {'enum': ['company_registry', 'lei_registry', 'company_filing', 'sanctions_list', 'export_control_or_debarment_list', 'regulatory_publication', 'court_record', 'news', 'review_platform', 'forum_or_social', 'company_website', 'domain_registration', 'threat_intelligence'], 'type': 'string'}, 'claim': {'type': 'string'}, 'stale': {'type': 'boolean'}, 'ageDays': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'freshness': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'fromCache': {'type': 'boolean'}, 'relevance': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'sourceUrl': {'type': ['string', 'null']}, 'observedAt': {'type': 'string'}, 'recordType': {'enum': ['source_record', 'lookup_result'], 'type': 'string', 'description': 'source_record: something a source returned. lookup_result: the documented outcome of a successful check that found nothing (so clean findings are traceable too).'}, 'sourceName': {'type': 'string'}, 'publishedAt': {'type': ['string', 'null']}, 'reliability': {'enum': ['authoritative', 'high', 'medium', 'low'], 'type': 'string'}, 'retrievedAt': {'type': 'string'}, 'evidenceClass': {'enum': ['official_record', 'regulatory_action', 'court_record', 'credible_journalism', 'other_publication', 'user_generated', 'allegation', 'self_published'], 'type': 'string'}, 'sourceRecordId': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'warnings': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'message', 'provider'], 'properties': {'code': {'type': 'string'}, 'message': {'type': 'string'}, 'provider': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'providers': {'type': 'array', 'items': {'type': 'object', 'required': ['provider', 'role', 'stage', 'status', 'fromCache', 'retrievedAt', 'evidenceCount', 'reason'], 'properties': {'role': {'enum': ['corporate', 'financial', 'sanctions', 'news', 'regulatory', 'digital'], 'type': 'string'}, 'stage': {'anyOf': [{'type': 'number', 'const': 1}, {'type': 'number', 'const': 2}]}, 'reason': {'type': ['string', 'null']}, 'status': {'enum': ['ok', 'not_configured', 'not_applicable', 'unavailable', 'timeout', 'rate_limited', 'stale_cache'], 'type': 'string'}, 'provider': {'type': 'string'}, 'fromCache': {'type': 'boolean'}, 'retrievedAt': {'type': ['string', 'null']}, 'evidenceCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}}, 'riskFlags': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'category', 'severity', 'title', 'description', 'evidenceIds', 'weight', 'confidence', 'scoreImpactPoints', 'factStatus', 'requiresVerification'], 'properties': {'code': {'type': 'string'}, 'title': {'type': 'string'}, 'weight': {'type': 'number', 'minimum': 0}, 'category': {'enum': ['corporate', 'financial', 'compliance', 'reputation', 'operational', 'digital'], 'type': 'string'}, 'severity': {'enum': ['info', 'low', 'medium', 'high', 'critical'], 'type': 'string'}, 'confidence': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'factStatus': {'anyOf': [{'enum': ['established', 'reported', 'alleged', 'observed'], 'type': 'string'}, {'type': 'null'}], 'description': 'What the source establishes: observed (a record/check), reported (an outcome reported by a source), alleged (allegation, investigation, lawsuit, unconfirmed match).'}, 'description': {'type': 'string'}, 'evidenceIds': {'type': 'array', 'items': {'type': 'string'}}, 'scoreImpactPoints': {'type': 'number', 'minimum': 0, 'description': "SEVERITY_POINTS[severity] × weight × confidence — this flag's contribution to its category's negative points."}, 'requiresVerification': {'type': 'boolean'}}, 'additionalProperties': False}}, 'riskLevel': {'anyOf': [{'enum': ['low', 'moderate', 'elevated', 'high', 'critical'], 'type': 'string'}, {'type': 'null'}]}, 'riskScore': {'anyOf': [{'type': 'integer', 'maximum': 100, 'minimum': 0}, {'type': 'null'}], 'description': '0 = lowest detected risk, 100 = highest. null only when status is insufficient_data.'}, 'components': {'type': 'object', 'required': ['corporateRisk', 'financialRisk', 'complianceRisk', 'reputationRisk', 'operationalRisk', 'digitalRisk'], 'properties': {'digitalRisk': {'anyOf': [{'type': 'integer', 'maximum': 100, 'minimum': 0}, {'type': 'null'}]}, 'corporateRisk': {'anyOf': [{'type': 'integer', 'maximum': 100, 'minimum': 0}, {'type': 'null'}]}, 'financialRisk': {'anyOf': [{'type': 'integer', 'maximum': 100, 'minimum': 0}, {'type': 'null'}]}, 'complianceRisk': {'anyOf': [{'type': 'integer', 'maximum': 100, 'minimum': 0}, {'type': 'null'}]}, 'reputationRisk': {'anyOf': [{'type': 'integer', 'maximum': 100, 'minimum': 0}, {'type': 'null'}]}, 'operationalRisk': {'anyOf': [{'type': 'integer', 'maximum': 100, 'minimum': 0}, {'type': 'null'}]}}, 'description': 'Per-category risk scores (0–100). null = no data coverage for that category (never guessed).', 'additionalProperties': False}, 'confidence': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': '0–1: how strongly the evidence supports the result. Separate from risk: a low score with low confidence means little evidence, not a safe company.'}, 'assumptions': {'type': 'array', 'items': {'type': 'string'}}, 'evaluatedAt': {'type': ['string', 'null'], 'description': 'As-of time of the evidence snapshot the assessment was computed from (latest retrieval time among the providers used; cached evidence keeps its original retrieval time). Re-evaluating the same snapshot yields the same result. null when nothing could be checked.'}, 'limitations': {'type': 'array', 'items': {'type': 'string'}}, 'methodology': {'type': 'object', 'required': ['scoringModelVersion', 'categoryWeights', 'weightsSource', 'severityPoints', 'riskLevelBands', 'missingDataPolicy', 'missingDataRiskRules', 'highRiskJurisdictionsSource', 'formula'], 'properties': {'formula': {'type': 'string'}, 'weightsSource': {'enum': ['default', 'env', 'default_env_invalid'], 'type': 'string'}, 'riskLevelBands': {'type': 'array', 'items': {'type': 'object', 'required': ['level', 'min', 'max'], 'properties': {'max': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'min': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'level': {'enum': ['low', 'moderate', 'elevated', 'high', 'critical'], 'type': 'string'}}, 'additionalProperties': False}}, 'severityPoints': {'type': 'object', 'required': ['info', 'low', 'medium', 'high', 'critical'], 'properties': {'low': {'type': 'number'}, 'high': {'type': 'number'}, 'info': {'type': 'number'}, 'medium': {'type': 'number'}, 'critical': {'type': 'number'}}, 'additionalProperties': False}, 'categoryWeights': {'type': 'object', 'required': ['corporate', 'financial', 'compliance', 'reputation', 'operational', 'digital'], 'properties': {'digital': {'type': 'number'}, 'corporate': {'type': 'number'}, 'financial': {'type': 'number'}, 'compliance': {'type': 'number'}, 'reputation': {'type': 'number'}, 'operational': {'type': 'number'}}, 'additionalProperties': False}, 'missingDataPolicy': {'type': 'string'}, 'scoringModelVersion': {'type': 'string'}, 'missingDataRiskRules': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'rule'], 'properties': {'code': {'type': 'string'}, 'rule': {'type': 'string'}}, 'additionalProperties': False}}, 'highRiskJurisdictionsSource': {'type': 'string'}}, 'additionalProperties': False}, 'assessmentId': {'type': 'string', 'description': 'Deterministic id of (company identity, scoring model version, evidence snapshot).'}, 'dataCoverage': {'type': 'object', 'required': ['corporate', 'financial', 'compliance', 'reputation', 'operational', 'digital'], 'properties': {'digital': {'enum': ['high', 'medium', 'low', 'none'], 'type': 'string'}, 'corporate': {'enum': ['high', 'medium', 'low', 'none'], 'type': 'string'}, 'financial': {'enum': ['high', 'medium', 'low', 'none'], 'type': 'string'}, 'compliance': {'enum': ['high', 'medium', 'low', 'none'], 'type': 'string'}, 'reputation': {'enum': ['high', 'medium', 'low', 'none'], 'type': 'string'}, 'operational': {'enum': ['high', 'medium', 'low', 'none'], 'type': 'string'}}, 'additionalProperties': False}, 'recommendation': {'type': 'object', 'required': ['action', 'reasonCodes', 'rationale'], 'properties': {'action': {'enum': ['proceed', 'proceed_with_monitoring', 'enhanced_due_diligence', 'manual_review', 'avoid_automated_transaction'], 'type': 'string'}, 'rationale': {'type': 'string'}, 'reasonCodes': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'scoreBreakdown': {'type': 'object', 'required': ['corporateContribution', 'financialContribution', 'complianceContribution', 'reputationContribution', 'operationalContribution', 'digitalContribution', 'rawWeightedScore', 'effectiveWeights', 'floorsApplied'], 'properties': {'floorsApplied': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'minimumScore', 'reason'], 'properties': {'code': {'type': 'string'}, 'reason': {'type': 'string'}, 'minimumScore': {'type': 'integer', 'maximum': 100, 'minimum': 0}}, 'additionalProperties': False}}, 'effectiveWeights': {'type': 'object', 'required': ['corporate', 'financial', 'compliance', 'reputation', 'operational', 'digital'], 'properties': {'digital': {'type': 'number'}, 'corporate': {'type': 'number'}, 'financial': {'type': 'number'}, 'compliance': {'type': 'number'}, 'reputation': {'type': 'number'}, 'operational': {'type': 'number'}}, 'additionalProperties': False}, 'rawWeightedScore': {'type': ['number', 'null']}, 'digitalContribution': {'type': ['number', 'null']}, 'corporateContribution': {'type': ['number', 'null']}, 'financialContribution': {'type': ['number', 'null']}, 'complianceContribution': {'type': ['number', 'null']}, 'reputationContribution': {'type': ['number', 'null']}, 'operationalContribution': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'positiveSignals': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'category', 'title', 'description', 'evidenceIds', 'weight', 'confidence', 'mitigationPoints'], 'properties': {'code': {'type': 'string'}, 'title': {'type': 'string'}, 'weight': {'type': 'number', 'minimum': 0}, 'category': {'enum': ['corporate', 'financial', 'compliance', 'reputation', 'operational', 'digital'], 'type': 'string'}, 'confidence': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'description': {'type': 'string'}, 'evidenceIds': {'type': 'array', 'items': {'type': 'string'}}, 'mitigationPoints': {'type': 'number', 'minimum': 0}}, 'additionalProperties': False}}, 'sanctionsScreening': {'type': 'object', 'required': ['status', 'listsChecked', 'listsUnavailable', 'namesScreened', 'matches'], 'properties': {'status': {'enum': ['no_match_found', 'possible_match', 'high_confidence_match', 'not_checked', 'unavailable', 'partial'], 'type': 'string'}, 'matches': {'type': 'array', 'items': {'type': 'object', 'required': ['listedName', 'matchedAlias', 'list', 'listType', 'reference', 'sourceUrl', 'matchScore', 'matchType', 'matchStrength', 'corroboratingIdentifiers', 'contradictions', 'evidenceId'], 'properties': {'list': {'type': 'string'}, 'listType': {'enum': ['sanctions', 'export_control_or_debarment'], 'type': 'string'}, 'matchType': {'enum': ['exact_normalized_name', 'fuzzy_name'], 'type': 'string'}, 'reference': {'type': ['string', 'null']}, 'sourceUrl': {'type': ['string', 'null']}, 'evidenceId': {'type': 'string'}, 'listedName': {'type': 'string'}, 'matchScore': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'matchedAlias': {'type': ['string', 'null']}, 'matchStrength': {'enum': ['possible', 'high'], 'type': 'string', 'description': 'possible: name similarity only — NOT a confirmed listing. high: exact normalized name corroborated by a list identifier/country with nothing contradicting it — still verify at the source list.'}, 'contradictions': {'type': 'array', 'items': {'type': 'string'}}, 'corroboratingIdentifiers': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'listsChecked': {'type': 'array', 'items': {'type': 'string'}}, 'namesScreened': {'type': 'array', 'items': {'type': 'string'}}, 'listsUnavailable': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'confidenceBreakdown': {'type': 'object', 'required': ['entityResolution', 'categoryCoverage', 'sourceQuality', 'authoritativeRecords', 'freshness', 'consistency', 'contradictions', 'capsApplied'], 'properties': {'freshness': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'capsApplied': {'type': 'array', 'items': {'type': 'string'}}, 'consistency': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'sourceQuality': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'contradictions': {'type': 'array', 'items': {'type': 'string'}}, 'categoryCoverage': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'entityResolution': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'authoritativeRecords': {'type': 'number', 'maximum': 1, 'minimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}
business_validation_plan
Create the book's structured seven-day validation workflow; execution and evidence collection remain with the caller. Use when an agent needs the Creative Techno book framework for business validation plan.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['idea', 'customer', 'problem', 'solution'], 'properties': {'idea': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'problem': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'customer': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'language': {'enum': ['ar', 'en'], 'type': 'string', 'default': 'en'}, 'solution': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'prospects': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'maxItems': 100, 'minItems': 1}, 'paymentEvidence': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'maxItems': 100}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frameworkSource', 'language', 'result'], 'properties': {'result': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'language': {'enum': ['ar', 'en'], 'type': 'string'}, 'frameworkSource': {'type': 'object', 'required': ['publisher', 'title', 'edition'], 'properties': {'title': {'type': 'string', 'const': 'كيف تبدأ مشروعك الصغير في عُمان؟'}, 'edition': {'type': 'string', 'const': '2026'}, 'publisher': {'type': 'string', 'const': 'Creative Techno'}}, 'additionalProperties': False}}, 'additionalProperties': False}
candidate_shortlist_score
Score up to 100 supplied candidate profiles against one job profile with auditable matched requirements, gaps and confidence; no hiring decision is emitted. Use after extracting multiple candidate profiles when an agent needs transparent batch comparison against one job.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['job_profile', 'candidates'], 'properties': {'candidates': {'type': 'array', 'items': {'type': 'object', 'required': ['candidate_id', 'candidate_profile'], 'properties': {'candidate_id': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'candidate_profile': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'additionalProperties': False}, 'maxItems': 100, 'minItems': 1}, 'job_profile': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'max_candidates': {'type': 'integer', 'default': 100, 'maximum': 100, 'minimum': 1}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['job', 'candidates', 'scoring_methodology'], 'properties': {'job': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'candidates': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'scoring_methodology': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'additionalProperties': False}
company_reputation_check
Investigate the public reputation and commercial risk signals of a company in any country — identity consistency against official registries, sanctions-list name screening, adverse media (with legal stage: allegation vs. outcome), customer reputation, online presence, business stability and domain signals — returning evidence-linked scores with a separate confidence score. Use this capability when an AI agent needs to assess a company's public reputation, credibility, adverse-media exposure, sanctions signals, customer reputation, online presence, identity consistency and other publicly observable commercial risk indicators before entering a business relationship.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['companyName'], 'properties': {'lei': {'type': 'string', 'maxLength': 24, 'minLength': 20, 'description': 'Legal Entity Identifier (ISO 17442), if known.'}, 'city': {'type': 'string', 'maxLength': 80, 'minLength': 2, 'description': 'City of registration/headquarters (helps disambiguation).'}, 'domain': {'type': 'string', 'maxLength': 253, 'minLength': 3, 'description': 'Company domain if no website URL is known, e.g. example.com.'}, 'country': {'type': 'string', 'maxLength': 60, 'minLength': 2, 'description': 'Country of registration/operation — ISO alpha-2 (e.g. GB), alpha-3 or English name. Strongly recommended to avoid same-name confusion.'}, 'website': {'type': 'string', 'maxLength': 300, 'minLength': 4, 'description': 'Company website, e.g. https://example.com.'}, 'industry': {'type': 'string', 'maxLength': 100, 'minLength': 2, 'description': 'Industry/sector (context only; not used to score).'}, 'legalName': {'type': 'string', 'maxLength': 200, 'minLength': 2, 'description': 'Full registered legal name, if different from companyName.'}, 'companyName': {'type': 'string', 'maxLength': 200, 'minLength': 2, 'description': 'Company name as known to the caller (trading or legal name).'}, 'registrationNumber': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9 ./-]*$', 'maxLength': 64, 'minLength': 2, 'description': 'Company registration number in its home registry (e.g. UK Companies House number).'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['company', 'resolution', 'reputationScore', 'confidenceScore', 'trustLevel', 'scores', 'scoreBreakdown', 'confidenceBreakdown', 'identity', 'sanctions', 'adverseMedia', 'customerSentiment', 'onlinePresence', 'legalRiskSignals', 'businessStabilitySignals', 'cyberDomainSignals', 'transparencySignals', 'positiveSignals', 'redFlags', 'evidenceSummary', 'evidence', 'coverage', 'warnings', 'limitations', 'summary', 'methodology'], 'properties': {'scores': {'type': 'object', 'required': ['identity', 'legalRegulatory', 'adverseMedia', 'customerReputation', 'onlinePresence', 'businessStability', 'cyberDomain', 'transparency'], 'properties': {'identity': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'cyberDomain': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'adverseMedia': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'transparency': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'onlinePresence': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'legalRegulatory': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'businessStability': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'customerReputation': {'type': 'integer', 'maximum': 100, 'minimum': 0}}, 'additionalProperties': False}, 'company': {'type': 'object', 'required': ['requestedName', 'resolvedName', 'country', 'countryName', 'website', 'domain', 'registrationNumber', 'lei', 'city', 'industry'], 'properties': {'lei': {'type': ['string', 'null']}, 'city': {'type': ['string', 'null']}, 'domain': {'type': ['string', 'null']}, 'country': {'type': ['string', 'null'], 'description': 'ISO 3166-1 alpha-2'}, 'website': {'type': ['string', 'null']}, 'industry': {'type': ['string', 'null']}, 'countryName': {'type': ['string', 'null']}, 'resolvedName': {'type': ['string', 'null']}, 'requestedName': {'type': 'string'}, 'registrationNumber': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'summary': {'type': 'string'}, 'coverage': {'type': 'object', 'required': ['providers', 'dimensionsWithEvidence', 'jurisdictionRegistryChecked'], 'properties': {'providers': {'type': 'array', 'items': {'type': 'object', 'required': ['provider', 'category', 'status', 'fromCache', 'fetchedAt', 'evidenceCount', 'reason'], 'properties': {'reason': {'type': ['string', 'null']}, 'status': {'enum': ['ok', 'not_configured', 'not_applicable', 'unavailable', 'timeout', 'rate_limited', 'stale_cache'], 'type': 'string'}, 'category': {'enum': ['registry', 'sanctions', 'news', 'reviews', 'website', 'domain'], 'type': 'string'}, 'provider': {'type': 'string'}, 'fetchedAt': {'type': ['string', 'null']}, 'fromCache': {'type': 'boolean'}, 'evidenceCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}}, 'dimensionsWithEvidence': {'type': 'array', 'items': {'enum': ['identity', 'legalRegulatory', 'adverseMedia', 'customerReputation', 'onlinePresence', 'businessStability', 'cyberDomain', 'transparency'], 'type': 'string'}}, 'jurisdictionRegistryChecked': {'type': 'boolean'}}, 'additionalProperties': False}, 'evidence': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'type', 'sourceName', 'sourceUrl', 'sourceRecordId', 'sourceAuthority', 'title', 'summary', 'publishedAt', 'observedAt', 'jurisdiction', 'companyIdentifiers', 'quality', 'relevance', 'fromCache'], 'properties': {'id': {'type': 'string'}, 'type': {'enum': ['news', 'sanctions', 'registry', 'review', 'website', 'regulatory', 'domain', 'forum'], 'type': 'string'}, 'title': {'type': ['string', 'null']}, 'quality': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'summary': {'type': ['string', 'null']}, 'fromCache': {'type': 'boolean'}, 'relevance': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'sourceUrl': {'type': ['string', 'null']}, 'observedAt': {'type': 'string'}, 'sourceName': {'type': 'string'}, 'publishedAt': {'type': ['string', 'null']}, 'jurisdiction': {'type': ['string', 'null']}, 'sourceRecordId': {'type': ['string', 'null']}, 'sourceAuthority': {'enum': ['official_or_regulatory', 'major_news_or_authoritative', 'business_database_or_other_publisher', 'forum_social_or_user_generated'], 'type': 'string'}, 'companyIdentifiers': {'type': 'object', 'required': ['name', 'registrationNumber', 'lei', 'domain', 'country'], 'properties': {'lei': {'type': ['string', 'null']}, 'name': {'type': ['string', 'null']}, 'domain': {'type': ['string', 'null']}, 'country': {'type': ['string', 'null']}, 'registrationNumber': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'additionalProperties': False}}, 'identity': {'type': 'object', 'required': ['status', 'signals'], 'properties': {'status': {'enum': ['consistent', 'partially_consistent', 'ambiguous', 'unresolved', 'conflicting', 'not_checked'], 'type': 'string'}, 'signals': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'dimension', 'polarity', 'severity', 'message', 'evidenceIds', 'sourceAuthority', 'strength'], 'properties': {'code': {'type': 'string'}, 'message': {'type': 'string'}, 'polarity': {'enum': ['positive', 'negative', 'neutral'], 'type': 'string'}, 'severity': {'enum': ['info', 'low', 'medium', 'high', 'critical'], 'type': 'string'}, 'strength': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'dimension': {'enum': ['identity', 'legalRegulatory', 'adverseMedia', 'customerReputation', 'onlinePresence', 'businessStability', 'cyberDomain', 'transparency'], 'type': 'string'}, 'evidenceIds': {'type': 'array', 'items': {'type': 'string'}}, 'sourceAuthority': {'anyOf': [{'enum': ['official_or_regulatory', 'major_news_or_authoritative', 'business_database_or_other_publisher', 'forum_social_or_user_generated'], 'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}}, 'additionalProperties': False}, 'redFlags': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'dimension', 'polarity', 'severity', 'message', 'evidenceIds', 'sourceAuthority', 'strength'], 'properties': {'code': {'type': 'string'}, 'message': {'type': 'string'}, 'polarity': {'enum': ['positive', 'negative', 'neutral'], 'type': 'string'}, 'severity': {'enum': ['info', 'low', 'medium', 'high', 'critical'], 'type': 'string'}, 'strength': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'dimension': {'enum': ['identity', 'legalRegulatory', 'adverseMedia', 'customerReputation', 'onlinePresence', 'businessStability', 'cyberDomain', 'transparency'], 'type': 'string'}, 'evidenceIds': {'type': 'array', 'items': {'type': 'string'}}, 'sourceAuthority': {'anyOf': [{'enum': ['official_or_regulatory', 'major_news_or_authoritative', 'business_database_or_other_publisher', 'forum_social_or_user_generated'], 'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'warnings': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'message', 'provider'], 'properties': {'code': {'enum': ['COMPANY_NOT_RESOLVED', 'AMBIGUOUS_COMPANY', 'INSUFFICIENT_EVIDENCE', 'PROVIDER_UNAVAILABLE', 'PROVIDER_TIMEOUT', 'RATE_LIMITED', 'DATA_STALE', 'PROVIDER_NOT_CONFIGURED', 'COUNTRY_NOT_PROVIDED'], 'type': 'string'}, 'message': {'type': 'string'}, 'provider': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'sanctions': {'type': 'object', 'required': ['status', 'listsChecked', 'listsUnavailable', 'matches', 'highestConfidence'], 'properties': {'status': {'enum': ['no_match_found', 'possible_match', 'high_confidence_match', 'not_checked', 'unavailable', 'partial'], 'type': 'string'}, 'matches': {'type': 'array', 'items': {'type': 'object', 'required': ['listedName', 'matchedAlias', 'list', 'reference', 'sourceUrl', 'matchScore', 'matchType', 'confidence', 'corroboratingIdentifiers', 'contradictions', 'evidenceId', 'reason'], 'properties': {'list': {'type': 'string'}, 'reason': {'type': 'string'}, 'matchType': {'enum': ['exact_normalized_name', 'fuzzy_name'], 'type': 'string'}, 'reference': {'type': ['string', 'null']}, 'sourceUrl': {'type': ['string', 'null']}, 'confidence': {'enum': ['possible', 'high'], 'type': 'string'}, 'evidenceId': {'type': 'string'}, 'listedName': {'type': 'string'}, 'matchScore': {'type': 'number'}, 'matchedAlias': {'type': ['string', 'null']}, 'contradictions': {'type': 'array', 'items': {'type': 'string'}}, 'corroboratingIdentifiers': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'listsChecked': {'type': 'array', 'items': {'type': 'string'}}, 'listsUnavailable': {'type': 'array', 'items': {'type': 'string'}}, 'highestConfidence': {'anyOf': [{'enum': ['possible', 'high'], 'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'resolution': {'type': 'object', 'required': ['status', 'confidence', 'methods', 'conflicts', 'candidates'], 'properties': {'status': {'enum': ['resolved', 'probable', 'ambiguous', 'unresolved', 'registry_not_checked'], 'type': 'string'}, 'methods': {'type': 'array', 'items': {'type': 'string'}}, 'conflicts': {'type': 'array', 'items': {'type': 'string'}}, 'candidates': {'type': 'array', 'items': {'type': 'object', 'required': ['legalName', 'country', 'city', 'registrationNumber', 'lei', 'status', 'registry', 'matchScore', 'matchedOn', 'conflicts', 'evidenceId'], 'properties': {'lei': {'type': ['string', 'null']}, 'city': {'type': ['string', 'null']}, 'status': {'type': 'string'}, 'country': {'type': ['string', 'null']}, 'registry': {'type': 'string'}, 'conflicts': {'type': 'array', 'items': {'type': 'string'}}, 'legalName': {'type': 'string'}, 'matchedOn': {'type': 'array', 'items': {'type': 'string'}}, 'evidenceId': {'type': 'string'}, 'matchScore': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'registrationNumber': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'confidence': {'type': 'integer', 'maximum': 100, 'minimum': 0}}, 'additionalProperties': False}, 'trustLevel': {'enum': ['insufficient_evidence', 'significant_concerns', 'some_concerns', 'no_major_concerns_found', 'favorable_public_signals'], 'type': 'string'}, 'limitations': {'type': 'array', 'items': {'type': 'string'}}, 'methodology': {'type': 'object', 'required': ['scoringModelVersion', 'weights', 'neutralPrior', 'note'], 'properties': {'note': {'type': 'string'}, 'weights': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'number'}}, 'neutralPrior': {'type': 'number'}, 'scoringModelVersion': {'type': 'string'}}, 'additionalProperties': False}, 'adverseMedia': {'type': 'object', 'required': ['status', 'items', 'neutralMentions', 'victimOrReporterMentions', 'excludedPossibleOtherEntity', 'duplicatesMerged'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['eventId', 'title', 'category', 'categories', 'legalStage', 'stageDescription', 'established', 'severity', 'dimension', 'publishedAt', 'coverageCount', 'relevance', 'sources', 'evidenceIds'], 'properties': {'title': {'type': ['string', 'null']}, 'eventId': {'type': 'string'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['sourceName', 'url', 'authority'], 'properties': {'url': {'type': ['string', 'null']}, 'authority': {'type': 'string'}, 'sourceName': {'type': 'string'}}, 'additionalProperties': False}}, 'category': {'enum': ['fraud', 'scam', 'sanctions', 'regulatory', 'litigation', 'insolvency', 'corruption', 'contract_dispute', 'data_breach', 'criminal_proceedings', 'operational_failure', 'customer_harm'], 'type': 'string'}, 'severity': {'enum': ['info', 'low', 'medium', 'high', 'critical'], 'type': 'string'}, 'dimension': {'enum': ['identity', 'legalRegulatory', 'adverseMedia', 'customerReputation', 'onlinePresence', 'businessStability', 'cyberDomain', 'transparency'], 'type': 'string'}, 'relevance': {'type': 'number'}, 'categories': {'type': 'array', 'items': {'enum': ['fraud', 'scam', 'sanctions', 'regulatory', 'litigation', 'insolvency', 'corruption', 'contract_dispute', 'data_breach', 'criminal_proceedings', 'operational_failure', 'customer_harm'], 'type': 'string'}}, 'legalStage': {'enum': ['allegation', 'investigation', 'lawsuit_filed', 'charge', 'regulatory_action', 'settlement', 'judgment', 'conviction', 'dismissed_or_acquitted', 'unspecified'], 'type': 'string'}, 'established': {'type': 'boolean'}, 'evidenceIds': {'type': 'array', 'items': {'type': 'string'}}, 'publishedAt': {'type': ['string', 'null']}, 'coverageCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'stageDescription': {'type': 'string'}}, 'additionalProperties': False}}, 'status': {'enum': ['none_found', 'items_found', 'not_checked', 'unavailable'], 'type': 'string'}, 'neutralMentions': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'duplicatesMerged': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'victimOrReporterMentions': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'excludedPossibleOtherEntity': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}, 'onlinePresence': {'type': 'object', 'required': ['status', 'signals'], 'properties': {'status': {'enum': ['not_checked', 'established', 'limited', 'inconsistent', 'unreachable'], 'type': 'string'}, 'signals': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'dimension', 'polarity', 'severity', 'message', 'evidenceIds', 'sourceAuthority', 'strength'], 'properties': {'code': {'type': 'string'}, 'message': {'type': 'string'}, 'polarity': {'enum': ['positive', 'negative', 'neutral'], 'type': 'string'}, 'severity': {'enum': ['info', 'low', 'medium', 'high', 'critical'], 'type': 'string'}, 'strength': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'dimension': {'enum': ['identity', 'legalRegulatory', 'adverseMedia', 'customerReputation', 'onlinePresence', 'businessStability', 'cyberDomain', 'transparency'], 'type': 'string'}, 'evidenceIds': {'type': 'array', 'items': {'type': 'string'}}, 'sourceAuthority': {'anyOf': [{'enum': ['official_or_regulatory', 'major_news_or_authoritative', 'business_database_or_other_publisher', 'forum_social_or_user_generated'], 'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}}, 'additionalProperties': False}, 'scoreBreakdown': {'type': 'array', 'items': {'type': 'object', 'required': ['dimension', 'weight', 'score', 'rawScore', 'coverage', 'positiveSignals', 'negativeSignals'], 'properties': {'score': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'weight': {'type': 'number'}, 'coverage': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'rawScore': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'dimension': {'enum': ['identity', 'legalRegulatory', 'adverseMedia', 'customerReputation', 'onlinePresence', 'businessStability', 'cyberDomain', 'transparency'], 'type': 'string'}, 'negativeSignals': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'positiveSignals': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}}, 'confidenceScore': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'evidenceSummary': {'type': 'object', 'required': ['totalEvidence', 'independentSources', 'highConfidenceSources', 'freshestEvidenceAt', 'oldestEvidenceAt', 'duplicatesMerged', 'excludedPossibleOtherEntity', 'servedFromCache', 'staleEvidence', 'evidenceTruncated'], 'properties': {'staleEvidence': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'totalEvidence': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'servedFromCache': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'duplicatesMerged': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'oldestEvidenceAt': {'type': ['string', 'null']}, 'evidenceTruncated': {'type': 'boolean'}, 'freshestEvidenceAt': {'type': ['string', 'null']}, 'independentSources': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'highConfidenceSources': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'excludedPossibleOtherEntity': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}, 'positiveSignals': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'dimension', 'polarity', 'severity', 'message', 'evidenceIds', 'sourceAuthority', 'strength'], 'properties': {'code': {'type': 'string'}, 'message': {'type': 'string'}, 'polarity': {'enum': ['positive', 'negative', 'neutral'], 'type': 'string'}, 'severity': {'enum': ['info', 'low', 'medium', 'high', 'critical'], 'type': 'string'}, 'strength': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'dimension': {'enum': ['identity', 'legalRegulatory', 'adverseMedia', 'customerReputation', 'onlinePresence', 'businessStability', 'cyberDomain', 'transparency'], 'type': 'string'}, 'evidenceIds': {'type': 'array', 'items': {'type': 'string'}}, 'sourceAuthority': {'anyOf': [{'enum': ['official_or_regulatory', 'major_news_or_authoritative', 'business_database_or_other_publisher', 'forum_social_or_user_generated'], 'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'reputationScore': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'legalRiskSignals': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'dimension', 'polarity', 'severity', 'message', 'evidenceIds', 'sourceAuthority', 'strength'], 'properties': {'code': {'type': 'string'}, 'message': {'type': 'string'}, 'polarity': {'enum': ['positive', 'negative', 'neutral'], 'type': 'string'}, 'severity': {'enum': ['info', 'low', 'medium', 'high', 'critical'], 'type': 'string'}, 'strength': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'dimension': {'enum': ['identity', 'legalRegulatory', 'adverseMedia', 'customerReputation', 'onlinePresence', 'businessStability', 'cyberDomain', 'transparency'], 'type': 'string'}, 'evidenceIds': {'type': 'array', 'items': {'type': 'string'}}, 'sourceAuthority': {'anyOf': [{'enum': ['official_or_regulatory', 'major_news_or_authoritative', 'business_database_or_other_publisher', 'forum_social_or_user_generated'], 'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'customerSentiment': {'type': 'object', 'required': ['status', 'aggregateRatings', 'positiveSignals', 'negativeSignals'], 'properties': {'status': {'enum': ['not_checked', 'unavailable', 'insufficient_data', 'mostly_positive', 'mixed', 'mostly_negative'], 'type': 'string'}, 'negativeSignals': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'dimension', 'polarity', 'severity', 'message', 'evidenceIds', 'sourceAuthority', 'strength'], 'properties': {'code': {'type': 'string'}, 'message': {'type': 'string'}, 'polarity': {'enum': ['positive', 'negative', 'neutral'], 'type': 'string'}, 'severity': {'enum': ['info', 'low', 'medium', 'high', 'critical'], 'type': 'string'}, 'strength': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'dimension': {'enum': ['identity', 'legalRegulatory', 'adverseMedia', 'customerReputation', 'onlinePresence', 'businessStability', 'cyberDomain', 'transparency'], 'type': 'string'}, 'evidenceIds': {'type': 'array', 'items': {'type': 'string'}}, 'sourceAuthority': {'anyOf': [{'enum': ['official_or_regulatory', 'major_news_or_authoritative', 'business_database_or_other_publisher', 'forum_social_or_user_generated'], 'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'positiveSignals': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'dimension', 'polarity', 'severity', 'message', 'evidenceIds', 'sourceAuthority', 'strength'], 'properties': {'code': {'type': 'string'}, 'message': {'type': 'string'}, 'polarity': {'enum': ['positive', 'negative', 'neutral'], 'type': 'string'}, 'severity': {'enum': ['info', 'low', 'medium', 'high', 'critical'], 'type': 'string'}, 'strength': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'dimension': {'enum': ['identity', 'legalRegulatory', 'adverseMedia', 'customerReputation', 'onlinePresence', 'businessStability', 'cyberDomain', 'transparency'], 'type': 'string'}, 'evidenceIds': {'type': 'array', 'items': {'type': 'string'}}, 'sourceAuthority': {'anyOf': [{'enum': ['official_or_regulatory', 'major_news_or_authoritative', 'business_database_or_other_publisher', 'forum_social_or_user_generated'], 'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'aggregateRatings': {'type': 'array', 'items': {'type': 'object', 'required': ['platform', 'rating', 'scale', 'reviewCount', 'url', 'evidenceId'], 'properties': {'url': {'type': ['string', 'null']}, 'scale': {'type': 'number', 'const': 5}, 'rating': {'type': 'number'}, 'platform': {'type': 'string'}, 'evidenceId': {'type': 'string'}, 'reviewCount': {'type': ['number', 'null']}}, 'additionalProperties': False}}}, 'additionalProperties': False}, 'cyberDomainSignals': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'dimension', 'polarity', 'severity', 'message', 'evidenceIds', 'sourceAuthority', 'strength'], 'properties': {'code': {'type': 'string'}, 'message': {'type': 'string'}, 'polarity': {'enum': ['positive', 'negative', 'neutral'], 'type': 'string'}, 'severity': {'enum': ['info', 'low', 'medium', 'high', 'critical'], 'type': 'string'}, 'strength': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'dimension': {'enum': ['identity', 'legalRegulatory', 'adverseMedia', 'customerReputation', 'onlinePresence', 'businessStability', 'cyberDomain', 'transparency'], 'type': 'string'}, 'evidenceIds': {'type': 'array', 'items': {'type': 'string'}}, 'sourceAuthority': {'anyOf': [{'enum': ['official_or_regulatory', 'major_news_or_authoritative', 'business_database_or_other_publisher', 'forum_social_or_user_generated'], 'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'confidenceBreakdown': {'type': 'object', 'required': ['resolution', 'dimensionCoverage', 'independentSources', 'authority', 'freshness', 'diversity', 'jurisdictionCoverage', 'capsApplied'], 'properties': {'authority': {'type': 'number'}, 'diversity': {'type': 'number'}, 'freshness': {'type': 'number'}, 'resolution': {'type': 'number'}, 'capsApplied': {'type': 'array', 'items': {'type': 'string'}}, 'dimensionCoverage': {'type': 'number'}, 'independentSources': {'type': 'number'}, 'jurisdictionCoverage': {'type': 'number'}}, 'additionalProperties': False}, 'transparencySignals': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'dimension', 'polarity', 'severity', 'message', 'evidenceIds', 'sourceAuthority', 'strength'], 'properties': {'code': {'type': 'string'}, 'message': {'type': 'string'}, 'polarity': {'enum': ['positive', 'negative', 'neutral'], 'type': 'string'}, 'severity': {'enum': ['info', 'low', 'medium', 'high', 'critical'], 'type': 'string'}, 'strength': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'dimension': {'enum': ['identity', 'legalRegulatory', 'adverseMedia', 'customerReputation', 'onlinePresence', 'businessStability', 'cyberDomain', 'transparency'], 'type': 'string'}, 'evidenceIds': {'type': 'array', 'items': {'type': 'string'}}, 'sourceAuthority': {'anyOf': [{'enum': ['official_or_regulatory', 'major_news_or_authoritative', 'business_database_or_other_publisher', 'forum_social_or_user_generated'], 'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'businessStabilitySignals': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'dimension', 'polarity', 'severity', 'message', 'evidenceIds', 'sourceAuthority', 'strength'], 'properties': {'code': {'type': 'string'}, 'message': {'type': 'string'}, 'polarity': {'enum': ['positive', 'negative', 'neutral'], 'type': 'string'}, 'severity': {'enum': ['info', 'low', 'medium', 'high', 'critical'], 'type': 'string'}, 'strength': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'dimension': {'enum': ['identity', 'legalRegulatory', 'adverseMedia', 'customerReputation', 'onlinePresence', 'businessStability', 'cyberDomain', 'transparency'], 'type': 'string'}, 'evidenceIds': {'type': 'array', 'items': {'type': 'string'}}, 'sourceAuthority': {'anyOf': [{'enum': ['official_or_regulatory', 'major_news_or_authoritative', 'business_database_or_other_publisher', 'forum_social_or_user_generated'], 'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}}, 'additionalProperties': False}
compare_properties
Compare 2–20 uniquely named properties in OMR using the same metrics; order by rounded net yield, preserving input order for ties. Use when an agent must rank or choose between 2-20 candidate properties by net yield.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['properties'], 'properties': {'properties': {'type': 'array', 'items': {'type': 'object', 'required': ['propertyValue', 'annualRent', 'name'], 'properties': {'name': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'annualRent': {'type': 'number', 'maximum': 1000000000000, 'minimum': 0}, 'maintenance': {'type': 'number', 'maximum': 1000000000000, 'minimum': 0, 'description': 'Legacy alias for maintenanceCost; supply only one'}, 'propertyValue': {'type': 'number', 'maximum': 1000000000000, 'minimum': 0.01}, 'serviceCharge': {'type': 'number', 'maximum': 1000000000000, 'minimum': 0}, 'vacancyRatePct': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'maintenanceCost': {'type': 'number', 'maximum': 1000000000000, 'minimum': 0}, 'otherAnnualCosts': {'type': 'number', 'maximum': 1000000000000, 'minimum': 0}}, 'additionalProperties': False}, 'maxItems': 20, 'minItems': 2}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['properties', 'sortedByNetYield'], 'properties': {'properties': {'type': 'array', 'items': {'type': 'object', 'required': ['propertyValue', 'annualRent', 'grossAnnualIncome', 'grossYield', 'netYield', 'annualOperatingCost', 'annualNetIncome', 'effectiveAnnualRent', 'paybackYears', 'grossYieldPct', 'netYieldPct', 'annualOperatingCosts', 'currency', 'note', 'name'], 'properties': {'name': {'type': 'string'}, 'note': {'type': 'string'}, 'currency': {'type': 'string', 'const': 'OMR'}, 'netYield': {'type': 'number'}, 'annualRent': {'type': 'number'}, 'grossYield': {'type': 'number'}, 'netYieldPct': {'type': 'number'}, 'paybackYears': {'type': ['number', 'null']}, 'grossYieldPct': {'type': 'number'}, 'propertyValue': {'type': 'number'}, 'annualNetIncome': {'type': 'number'}, 'grossAnnualIncome': {'type': 'number'}, 'annualOperatingCost': {'type': 'number'}, 'effectiveAnnualRent': {'type': 'number'}, 'annualOperatingCosts': {'type': 'number'}}, 'additionalProperties': False}}, 'sortedByNetYield': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
competitor_analysis
Compare 3-20 user-supplied competitors; does not discover or verify competitors without live evidence. Use when an agent needs the Creative Techno book framework for competitor analysis.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['competitors'], 'properties': {'language': {'enum': ['ar', 'en'], 'type': 'string', 'default': 'en'}, 'competitors': {'type': 'array', 'items': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'product': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'priceOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'strengths': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'maxItems': 100}, 'complaints': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'maxItems': 100}, 'weaknesses': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'maxItems': 100}, 'positioning': {'type': 'string', 'maxLength': 2000, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 20, 'minItems': 3}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frameworkSource', 'language', 'result'], 'properties': {'result': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'language': {'enum': ['ar', 'en'], 'type': 'string'}, 'frameworkSource': {'type': 'object', 'required': ['publisher', 'title', 'edition'], 'properties': {'title': {'type': 'string', 'const': 'كيف تبدأ مشروعك الصغير في عُمان؟'}, 'edition': {'type': 'string', 'const': '2026'}, 'publisher': {'type': 'string', 'const': 'Creative Techno'}}, 'additionalProperties': False}}, 'additionalProperties': False}
content_plan_generator
Generate a 14- or 30-day structured content calendar from an offer and selected channels. Use when an agent needs the Creative Techno book framework for content plan generator.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['business', 'icp', 'channels', 'postingFrequencyPerWeek', 'offer'], 'properties': {'icp': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'days': {'anyOf': [{'type': 'number', 'const': 14}, {'type': 'number', 'const': 30}], 'default': 14}, 'offer': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'business': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'channels': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'maxItems': 100}, 'language': {'enum': ['ar', 'en'], 'type': 'string', 'default': 'en'}, 'postingFrequencyPerWeek': {'type': 'integer', 'maximum': 30, 'minimum': 1}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frameworkSource', 'language', 'result'], 'properties': {'result': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'language': {'enum': ['ar', 'en'], 'type': 'string'}, 'frameworkSource': {'type': 'object', 'required': ['publisher', 'title', 'edition'], 'properties': {'title': {'type': 'string', 'const': 'كيف تبدأ مشروعك الصغير في عُمان؟'}, 'edition': {'type': 'string', 'const': '2026'}, 'publisher': {'type': 'string', 'const': 'Creative Techno'}}, 'additionalProperties': False}}, 'additionalProperties': False}
cv_improve
Produce evidence-grounded CV improvement recommendations, optional job-specific guidance and ATS actions without inventing candidate facts. Use when a candidate or recruitment agent needs actionable CV improvement guidance.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'mode': {'enum': ['recommendations', 'rewrite_summary', 'rewrite_experience', 'ats_optimization', 'full_improvement_plan'], 'type': 'string', 'default': 'recommendations'}, 'cv_text': {'type': 'string', 'maxLength': 200000}, 'candidate_profile': {}, 'target_job_description': {'anyOf': [{'type': 'string', 'maxLength': 100000}, {'type': 'null'}]}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['current_score', 'priority_actions', 'summary_recommendations', 'experience_recommendations', 'skill_recommendations', 'ats_recommendations', 'job_specific_recommendations', 'rewrite_examples', 'keywords_to_consider', 'warnings'], 'properties': {'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'current_score': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'priority_actions': {'type': 'array', 'items': {'type': 'string'}}, 'rewrite_examples': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'ats_recommendations': {'type': 'array', 'items': {'type': 'string'}}, 'keywords_to_consider': {'type': 'array', 'items': {'type': 'string'}}, 'skill_recommendations': {'type': 'array', 'items': {'type': 'string'}}, 'summary_recommendations': {'type': 'array', 'items': {'type': 'string'}}, 'experience_recommendations': {'type': 'array', 'items': {'type': 'string'}}, 'job_specific_recommendations': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
cv_job_match
Compare a candidate profile or CV with a job profile or description using normalized skills, experience evidence and transparent weighted scoring. Use when an agent needs evidence-based candidate-to-job matching for one candidate.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'cv_text': {'type': 'string', 'maxLength': 200000}, 'job_profile': {}, 'job_description': {'type': 'string', 'maxLength': 100000}, 'candidate_profile': {}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['match_score', 'decision_support', 'category_scores', 'skill_match', 'experience_analysis', 'transferable_skills', 'gaps', 'risk_flags', 'confidence', 'explanation'], 'properties': {'gaps': {'type': 'array', 'items': {'type': 'string'}}, 'confidence': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'risk_flags': {'type': 'array', 'items': {'type': 'string'}}, 'explanation': {'type': 'string'}, 'match_score': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'skill_match': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'category_scores': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'decision_support': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'experience_analysis': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'transferable_skills': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
cv_score
Score the completeness, clarity and ATS-readability of a CV on a transparent 0–100 scale; this is not job matching. Use when an agent needs general CV quality feedback independent of a specific job.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'cv_text': {'type': 'string', 'maxLength': 200000}, 'target_role': {'anyOf': [{'type': 'string', 'maxLength': 300}, {'type': 'null'}]}, 'candidate_profile': {}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['score', 'dimensions', 'strengths', 'weaknesses', 'missing_sections', 'high_priority_improvements', 'warnings', 'confidence'], 'properties': {'score': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'strengths': {'type': 'array', 'items': {'type': 'string'}}, 'confidence': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'dimensions': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'weaknesses': {'type': 'array', 'items': {'type': 'string'}}, 'missing_sections': {'type': 'array', 'items': {'type': 'string'}}, 'high_priority_improvements': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
document_facts_extract
Extract structured, evidence-backed facts, entities, dates, amounts, obligations, deadlines and risk indicators from business documents (contracts, invoices, purchase orders, quotations, tenders/RFPs, leases, policies, financial reports, legal documents, CVs, company profiles) from any country. Every fact carries a 0–1 extraction confidence and source evidence (verbatim excerpt, character offsets, section, and the page when the document has real pages); dates, amounts, currencies, percentages and durations are normalized only when unambiguous. Accepts an https documentUrl (PDF with a text layer, DOCX, HTML, text) or extracted text, up to 25 pages. Use when an agent needs reliable machine-readable facts from a contract, invoice, tender, lease, purchase order, policy, financial report or other business document instead of a general summary.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'mode': {'enum': ['auto', 'requested_only'], 'type': 'string', 'description': '"auto" (default): full extraction plus any requestedFacts. "requested_only": return only the requested facts (requires requestedFacts).'}, 'text': {'type': 'string', 'description': "The document's already-extracted text (max 200,000 characters; longer text is rejected with DOCUMENT_TOO_LARGE, never truncated). Separate pages with form-feed characters (\\f) to get page-level evidence; without them evidence carries sections, not page numbers. Supply this OR documentUrl."}, 'language': {'type': 'string', 'pattern': '^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{2,8})?$', 'description': 'Document language (ISO 639-1, e.g. en, ar, fr). Detected automatically when omitted.'}, 'documentUrl': {'type': 'string', 'maxLength': 2048, 'minLength': 1, 'description': 'https URL of the document (PDF with a text layer, DOCX, HTML, plain text, Markdown or CSV; max 25 pages / 15 MB). Fetched once, server-side, with SSRF protection; private/internal addresses are rejected. Supply this OR text.'}, 'documentType': {'enum': ['auto', 'contract', 'invoice', 'purchase_order', 'quotation', 'tender', 'policy', 'financial_report', 'legal_document', 'lease', 'resume', 'company_profile', 'other'], 'type': 'string', 'description': 'Document type, or "auto" (default) to classify automatically. Selects which facts are prioritized.'}, 'requestedFacts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 2}, 'maxItems': 20, 'description': 'Specific facts to establish, in plain language (max 20), e.g. ["contract expiry date", "termination notice period", "annual contract value"]. Each is answered in requestedFacts with status found / not_found — never fabricated.'}, 'includeSourceEvidence': {'type': 'boolean', 'description': 'Default true. false omits sourceEvidence objects to reduce response size (facts remain the same).'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['documentType', 'documentSubtype', 'documentTypeConfidence', 'documentTypeSource', 'language', 'title', 'facts', 'requestedFacts', 'entities', 'dates', 'amounts', 'percentages', 'obligations', 'requirements', 'deadlines', 'riskFlags', 'metadata', 'warnings', 'overallConfidence', 'limitations'], 'properties': {'dates': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'originalValue', 'precision', 'confidence'], 'properties': {'type': {'type': 'string', 'description': 'e.g. effective_date, expiry_date, invoice_date, due_date, submission_deadline, or date when untyped.'}, 'precision': {'enum': ['day', 'month'], 'type': 'string'}, 'confidence': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'originalValue': {'type': 'string'}, 'normalizedDate': {'type': 'string', 'description': 'ISO 8601 (YYYY-MM-DD, or YYYY-MM for month precision). Absent when the written form is ambiguous.'}, 'sourceEvidence': {'type': 'object', 'required': ['text', 'startOffset', 'endOffset'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number — present only when the source has real page boundaries (never inferred).'}, 'text': {'type': 'string', 'description': 'Short verbatim excerpt (whitespace-collapsed) containing the value.'}, 'section': {'type': 'string', 'description': 'Nearest preceding section heading.'}, 'endOffset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'startOffset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Start character offset of the matched value in the extracted text.'}}, 'additionalProperties': False}}, 'additionalProperties': False}}, 'facts': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'label', 'value', 'confidence', 'method'], 'properties': {'key': {'type': 'string', 'description': 'Stable snake_case fact key, e.g. expiry_date, invoice_number, total_amount, notice_period.'}, 'label': {'type': 'string', 'description': 'Human-readable label.'}, 'value': {'description': 'The value as stated (string, number, boolean, list or object).'}, 'method': {'enum': ['labeled_field', 'pattern', 'clause', 'table', 'definition', 'llm_verified'], 'type': 'string', 'description': 'How the fact was established. llm_verified = proposed by the optional LLM assist AND verified against a verbatim quote in the document.'}, 'confidence': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'sourceEvidence': {'type': 'object', 'required': ['text', 'startOffset', 'endOffset'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number — present only when the source has real page boundaries (never inferred).'}, 'text': {'type': 'string', 'description': 'Short verbatim excerpt (whitespace-collapsed) containing the value.'}, 'section': {'type': 'string', 'description': 'Nearest preceding section heading.'}, 'endOffset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'startOffset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Start character offset of the matched value in the extracted text.'}}, 'additionalProperties': False}, 'normalizedValue': {'description': 'Normalized form when unambiguous: ISO date, {amount, currency}, ratio, {value, unit, iso8601}.'}}, 'additionalProperties': False}}, 'title': {'type': ['string', 'null']}, 'amounts': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'amount', 'originalValue', 'confidence'], 'properties': {'type': {'type': 'string', 'description': 'e.g. total, subtotal, tax, contract_value, rent, deposit, bid_bond, penalty, or amount when untyped.'}, 'amount': {'type': 'number'}, 'currency': {'type': 'string', 'description': 'ISO 4217 code when stated unambiguously (or declared by a Currency field in the document).'}, 'frequency': {'enum': ['one_time', 'daily', 'weekly', 'monthly', 'quarterly', 'annual'], 'type': 'string'}, 'confidence': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'originalValue': {'type': 'string'}, 'currencySymbol': {'type': 'string', 'description': 'The currency marker as written when it maps to more than one currency (e.g. "$").'}, 'sourceEvidence': {'type': 'object', 'required': ['text', 'startOffset', 'endOffset'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number — present only when the source has real page boundaries (never inferred).'}, 'text': {'type': 'string', 'description': 'Short verbatim excerpt (whitespace-collapsed) containing the value.'}, 'section': {'type': 'string', 'description': 'Nearest preceding section heading.'}, 'endOffset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'startOffset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Start character offset of the matched value in the extracted text.'}}, 'additionalProperties': False}}, 'additionalProperties': False}}, 'entities': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'name', 'confidence'], 'properties': {'name': {'type': 'string'}, 'role': {'type': 'string', 'description': 'Role in the document when stated, e.g. supplier, customer, landlord, tenant, issuer.'}, 'type': {'enum': ['person', 'company', 'organization', 'government', 'location', 'other'], 'type': 'string'}, 'confidence': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'sourceEvidence': {'type': 'object', 'required': ['text', 'startOffset', 'endOffset'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number — present only when the source has real page boundaries (never inferred).'}, 'text': {'type': 'string', 'description': 'Short verbatim excerpt (whitespace-collapsed) containing the value.'}, 'section': {'type': 'string', 'description': 'Nearest preceding section heading.'}, 'endOffset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'startOffset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Start character offset of the matched value in the extracted text.'}}, 'additionalProperties': False}}, 'additionalProperties': False}}, 'language': {'type': 'string', 'description': 'ISO 639-1 code, or "und" when undetermined.'}, 'metadata': {'type': 'object', 'required': ['pageCount', 'characterCount', 'wordCount', 'format', 'source', 'pageProvenance', 'extractionMode', 'extractionMethod', 'llmAssist', 'extractorVersion'], 'properties': {'format': {'enum': ['pdf', 'docx', 'html', 'text', 'markdown', 'csv'], 'type': 'string'}, 'source': {'type': 'object', 'required': ['kind', 'url', 'contentType', 'byteLength'], 'properties': {'url': {'type': ['string', 'null']}, 'kind': {'enum': ['url', 'text'], 'type': 'string'}, 'byteLength': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'contentType': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'llmAssist': {'type': 'object', 'required': ['status', 'verifiedFacts', 'rejectedFacts'], 'properties': {'status': {'enum': ['not_configured', 'disabled', 'not_needed', 'used', 'failed'], 'type': 'string'}, 'rejectedFacts': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'LLM proposals discarded because their quote was not found verbatim in the document or did not support the value.'}, 'verifiedFacts': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}, 'pageCount': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'wordCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'characterCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'extractionMode': {'enum': ['auto', 'requested_only'], 'type': 'string'}, 'pageProvenance': {'type': 'boolean', 'description': 'true when evidence page numbers come from real page boundaries.'}, 'extractionMethod': {'enum': ['deterministic', 'deterministic+llm_verified'], 'type': 'string'}, 'extractorVersion': {'type': 'string'}}, 'additionalProperties': False}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'deadlines': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'description', 'confidence'], 'properties': {'date': {'type': 'string', 'description': 'ISO date when the deadline is a calendar date.'}, 'type': {'type': 'string'}, 'relative': {'type': 'string', 'description': 'Relative deadline as written, e.g. "within 30 days of receipt of invoice".'}, 'confidence': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'description': {'type': 'string'}, 'sourceEvidence': {'type': 'object', 'required': ['text', 'startOffset', 'endOffset'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number — present only when the source has real page boundaries (never inferred).'}, 'text': {'type': 'string', 'description': 'Short verbatim excerpt (whitespace-collapsed) containing the value.'}, 'section': {'type': 'string', 'description': 'Nearest preceding section heading.'}, 'endOffset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'startOffset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Start character offset of the matched value in the extracted text.'}}, 'additionalProperties': False}}, 'additionalProperties': False}}, 'riskFlags': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'severity', 'reason'], 'properties': {'type': {'type': 'string', 'description': 'Observable condition, e.g. automatic_renewal, missing_expiry_date, contradictory_amounts, unlimited_liability_language, embedded_instructions_detected.'}, 'reason': {'type': 'string', 'description': 'The observable condition in the document — never a legal conclusion.'}, 'severity': {'enum': ['low', 'medium', 'high'], 'type': 'string'}, 'sourceEvidence': {'type': 'object', 'required': ['text', 'startOffset', 'endOffset'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number — present only when the source has real page boundaries (never inferred).'}, 'text': {'type': 'string', 'description': 'Short verbatim excerpt (whitespace-collapsed) containing the value.'}, 'section': {'type': 'string', 'description': 'Nearest preceding section heading.'}, 'endOffset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'startOffset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Start character offset of the matched value in the extracted text.'}}, 'additionalProperties': False}}, 'additionalProperties': False}}, 'limitations': {'type': 'array', 'items': {'type': 'string'}}, 'obligations': {'type': 'array', 'items': {'type': 'object', 'required': ['obligation', 'modality', 'confidence'], 'properties': {'party': {'type': 'string'}, 'deadline': {'type': 'string'}, 'modality': {'enum': ['must', 'must_not'], 'type': 'string', 'description': 'must_not = a prohibition ("shall not").'}, 'condition': {'type': 'string'}, 'confidence': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'obligation': {'type': 'string'}, 'sourceEvidence': {'type': 'object', 'required': ['text', 'startOffset', 'endOffset'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number — present only when the source has real page boundaries (never inferred).'}, 'text': {'type': 'string', 'description': 'Short verbatim excerpt (whitespace-collapsed) containing the value.'}, 'section': {'type': 'string', 'description': 'Nearest preceding section heading.'}, 'endOffset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'startOffset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Start character offset of the matched value in the extracted text.'}}, 'additionalProperties': False}}, 'additionalProperties': False}}, 'percentages': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'value', 'ratio', 'originalValue', 'confidence'], 'properties': {'type': {'type': 'string', 'description': 'e.g. tax_rate, late_payment_interest, penalty_rate, discount, uptime, evaluation_weight, or percentage when untyped.'}, 'ratio': {'type': 'number', 'description': 'Normalized ratio, e.g. 0.05.'}, 'value': {'type': 'number', 'description': 'As written, e.g. 5 for 5%.'}, 'confidence': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'originalValue': {'type': 'string'}, 'sourceEvidence': {'type': 'object', 'required': ['text', 'startOffset', 'endOffset'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number — present only when the source has real page boundaries (never inferred).'}, 'text': {'type': 'string', 'description': 'Short verbatim excerpt (whitespace-collapsed) containing the value.'}, 'section': {'type': 'string', 'description': 'Nearest preceding section heading.'}, 'endOffset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'startOffset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Start character offset of the matched value in the extracted text.'}}, 'additionalProperties': False}}, 'additionalProperties': False}}, 'documentType': {'enum': ['contract', 'invoice', 'purchase_order', 'quotation', 'tender', 'policy', 'financial_report', 'legal_document', 'lease', 'resume', 'company_profile', 'other'], 'type': 'string'}, 'requirements': {'type': 'array', 'items': {'type': 'object', 'required': ['requirement', 'category', 'mandatory', 'confidence'], 'properties': {'party': {'type': 'string'}, 'category': {'enum': ['eligibility', 'technical', 'financial', 'documentation', 'compliance', 'general'], 'type': 'string'}, 'deadline': {'type': 'string'}, 'mandatory': {'type': 'boolean'}, 'confidence': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'requirement': {'type': 'string'}, 'sourceEvidence': {'type': 'object', 'required': ['text', 'startOffset', 'endOffset'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number — present only when the source has real page boundaries (never inferred).'}, 'text': {'type': 'string', 'description': 'Short verbatim excerpt (whitespace-collapsed) containing the value.'}, 'section': {'type': 'string', 'description': 'Nearest preceding section heading.'}, 'endOffset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'startOffset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Start character offset of the matched value in the extracted text.'}}, 'additionalProperties': False}}, 'additionalProperties': False}}, 'requestedFacts': {'type': 'array', 'items': {'type': 'object', 'required': ['request', 'status', 'key', 'value', 'confidence', 'method'], 'properties': {'key': {'type': ['string', 'null'], 'description': 'The fact key that answers it, when found.'}, 'note': {'type': 'string', 'description': 'Why it was not found, or a caveat about the match.'}, 'value': {'description': 'The value when found; null when not found.'}, 'method': {'anyOf': [{'enum': ['labeled_field', 'pattern', 'clause', 'table', 'definition', 'llm_verified'], 'type': 'string'}, {'type': 'null'}]}, 'status': {'enum': ['found', 'not_found'], 'type': 'string'}, 'request': {'type': 'string', 'description': 'The requested fact, as asked.'}, 'confidence': {'anyOf': [{'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}], 'description': 'Null when not found — absence is reported, never guessed.'}, 'sourceEvidence': {'type': 'object', 'required': ['text', 'startOffset', 'endOffset'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number — present only when the source has real page boundaries (never inferred).'}, 'text': {'type': 'string', 'description': 'Short verbatim excerpt (whitespace-collapsed) containing the value.'}, 'section': {'type': 'string', 'description': 'Nearest preceding section heading.'}, 'endOffset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'startOffset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Start character offset of the matched value in the extracted text.'}}, 'additionalProperties': False}, 'normalizedValue': {}}, 'additionalProperties': False}, 'description': 'One entry per requested fact, in request order (empty when none were requested).'}, 'documentSubtype': {'type': ['string', 'null'], 'description': 'Finer classification when evident, e.g. service_agreement, insurance_policy, tax_invoice, rfp.'}, 'overallConfidence': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'Overall extraction certainty for this document (text quality × fact coverage × fact confidence). Not a measure of business risk.'}, 'documentTypeSource': {'enum': ['detected', 'caller'], 'type': 'string'}, 'documentTypeConfidence': {'type': 'number', 'maximum': 1, 'minimum': 0}}, 'additionalProperties': False}
due_diligence_oman_company
Perform structured commercial due diligence on one Oman company by companyId ahead of a stated transaction, returning identity verification, risk assessment, a prioritized due-diligence checklist and known information gaps. Use before awarding a contract, entering a partnership, extending credit or investing, when a structured, source-backed due-diligence pass is needed ahead of the decision.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['companyId', 'transactionType'], 'properties': {'companyId': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'transactionType': {'enum': ['supplier_contract', 'partnership', 'investment', 'customer_credit', 'other'], 'type': 'string'}, 'transactionValueOMR': {'type': 'number', 'maximum': 1000000000, 'minimum': 0}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['company', 'verification', 'procurement', 'commercialAssessment', 'riskAssessment', 'recommendedDueDiligence', 'missingInformation', 'confidence', 'confidenceReasons', 'dataCoverage', 'sources'], 'properties': {'company': {'type': 'object', 'required': ['companyId', 'companyName', 'legalType', 'status', 'registrationNumber', 'registrationDate', 'industry', 'activities', 'governorate', 'wilayat', 'address', 'website', 'email', 'phone'], 'properties': {'email': {'type': ['string', 'null']}, 'phone': {'type': ['string', 'null']}, 'status': {'type': ['string', 'null']}, 'address': {'type': ['string', 'null']}, 'website': {'type': ['string', 'null']}, 'wilayat': {'type': ['string', 'null']}, 'industry': {'type': ['string', 'null']}, 'companyId': {'type': 'string'}, 'legalType': {'type': ['string', 'null']}, 'activities': {'type': 'array', 'items': {'type': 'string'}}, 'companyName': {'type': 'string'}, 'governorate': {'type': ['string', 'null']}, 'registrationDate': {'type': ['string', 'null']}, 'registrationNumber': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['sourceName', 'sourceType', 'sourceAuthority', 'sourceUrl', 'sourceRecordId', 'observedAt', 'verificationStatus', 'fields'], 'properties': {'fields': {'type': 'array', 'items': {'type': 'string'}}, 'sourceUrl': {'type': ['string', 'null']}, 'observedAt': {'type': 'string'}, 'sourceName': {'type': 'string'}, 'sourceType': {'enum': ['government', 'public_registry', 'tax_authority', 'government_procurement', 'company_website', 'licensed_feed', 'directory', 'news', 'demo', 'other', 'admin_manual'], 'type': 'string'}, 'sourceRecordId': {'type': ['string', 'null']}, 'sourceAuthority': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'verificationStatus': {'enum': ['verified', 'reported', 'estimated', 'inferred', 'stale', 'conflicting', 'unknown'], 'type': 'string'}}, 'additionalProperties': False}}, 'confidence': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'procurement': {'type': 'object', 'required': ['registeredSupplier', 'supplierCategory', 'supplierClassification', 'governmentProcurementPresence', 'tendersParticipated', 'awardedContractCount', 'lastTenderActivityAt', 'awards'], 'properties': {'awards': {'type': 'array', 'items': {'type': 'object', 'required': ['tenderNumber', 'buyer', 'title', 'status', 'awardValueOMR', 'category', 'sourceName', 'observedAt'], 'properties': {'buyer': {'type': ['string', 'null']}, 'title': {'type': ['string', 'null']}, 'status': {'type': ['string', 'null']}, 'category': {'type': ['string', 'null']}, 'observedAt': {'type': 'string'}, 'sourceName': {'type': 'string'}, 'tenderNumber': {'type': 'string'}, 'awardValueOMR': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'supplierCategory': {'type': ['string', 'null']}, 'registeredSupplier': {'type': ['boolean', 'null']}, 'tendersParticipated': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'awardedContractCount': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'lastTenderActivityAt': {'type': ['string', 'null']}, 'supplierClassification': {'type': ['string', 'null']}, 'governmentProcurementPresence': {'type': ['boolean', 'null']}}, 'additionalProperties': False}, 'dataCoverage': {'type': 'object', 'required': ['realSources', 'demoSources', 'latestVerifiedAt'], 'properties': {'demoSources': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'realSources': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'latestVerifiedAt': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'verification': {'type': 'object', 'required': ['identityVerified', 'status', 'registrationAgeYears', 'verificationStatus', 'lastVerifiedAt', 'taxVerificationStatus', 'taxVerifiedAt'], 'properties': {'status': {'type': ['string', 'null']}, 'taxVerifiedAt': {'type': ['string', 'null']}, 'lastVerifiedAt': {'type': ['string', 'null']}, 'identityVerified': {'type': 'boolean'}, 'verificationStatus': {'enum': ['verified', 'reported', 'estimated', 'inferred', 'stale', 'conflicting', 'unknown'], 'type': 'string'}, 'registrationAgeYears': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'taxVerificationStatus': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'riskAssessment': {'type': 'object', 'required': ['riskLevel', 'riskScore', 'riskFlags'], 'properties': {'riskFlags': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'severity', 'message'], 'properties': {'code': {'type': 'string'}, 'message': {'type': 'string'}, 'severity': {'enum': ['low', 'medium', 'high'], 'type': 'string'}}, 'additionalProperties': False}}, 'riskLevel': {'enum': ['low', 'medium', 'high'], 'type': 'string'}, 'riskScore': {'type': 'integer', 'maximum': 100, 'minimum': 0}}, 'additionalProperties': False}, 'confidenceReasons': {'type': 'array', 'items': {'type': 'string'}}, 'missingInformation': {'type': 'array', 'items': {'type': 'string'}}, 'commercialAssessment': {'type': 'object', 'required': ['operationalMaturity', 'digitalFootprint', 'publicInformationCoverage', 'governmentProcurementActivity'], 'properties': {'digitalFootprint': {'enum': ['strong', 'moderate', 'weak', 'none'], 'type': 'string'}, 'operationalMaturity': {'enum': ['new', 'early_stage', 'growing', 'established'], 'type': 'string'}, 'publicInformationCoverage': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'governmentProcurementActivity': {'enum': ['active', 'limited', 'none'], 'type': 'string'}}, 'additionalProperties': False}, 'recommendedDueDiligence': {'type': 'array', 'items': {'type': 'object', 'required': ['check', 'importance'], 'properties': {'check': {'type': 'string'}, 'importance': {'enum': ['low', 'medium', 'high'], 'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
estimate_maintenance
Estimate an annual maintenance reserve in OMR from value, age and unit count with explicit optional assumptions. Uncalibrated heuristic, not a survey. Use when an agent needs an annual maintenance reserve estimate for a property, not an actual inspection.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['propertyValue'], 'properties': {'units': {'type': 'integer', 'maximum': 10000, 'minimum': 1}, 'ageYears': {'type': 'number', 'maximum': 200, 'minimum': 0}, 'annualRent': {'type': 'number', 'maximum': 1000000000000, 'minimum': 0, 'description': 'Legacy input; unused in this value-based estimate'}, 'assumptions': {'type': 'object', 'properties': {'annualRatePct': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'additionalUnitCost': {'type': 'number', 'maximum': 1000000000000, 'minimum': 0}}, 'additionalProperties': False}, 'propertyValue': {'type': 'number', 'maximum': 1000000000000, 'minimum': 0.01}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['estimatedAnnualMaintenance', 'monthlyReserve', 'maintenancePercentage', 'currency', 'assumptionsUsed', 'methodology'], 'properties': {'currency': {'type': 'string', 'const': 'OMR'}, 'methodology': {'type': 'string'}, 'monthlyReserve': {'type': 'number'}, 'assumptionsUsed': {'type': 'object', 'required': ['ageYears', 'units', 'annualRatePct', 'additionalUnitCost'], 'properties': {'units': {'type': 'number'}, 'ageYears': {'type': 'number'}, 'annualRatePct': {'type': 'number'}, 'additionalUnitCost': {'type': 'number'}}, 'additionalProperties': False}, 'maintenancePercentage': {'type': 'number'}, 'estimatedAnnualMaintenance': {'type': 'number'}}, 'additionalProperties': False}
extract_candidate_profile
Normalize an English, Arabic or mixed-language CV into a machine-readable candidate profile using only stated professional evidence; protected personal attributes are ignored. Use before scoring or matching a CV when an agent needs reusable structured candidate evidence.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'cv_text': {'type': 'string', 'maxLength': 200000, 'minLength': 1}, 'language': {'type': 'string', 'default': 'auto', 'maxLength': 20, 'minLength': 1}, 'document_url': {'type': 'string', 'format': 'uri', 'maxLength': 2000}, 'target_schema_version': {'type': 'string', 'default': '1.0', 'maxLength': 20, 'minLength': 1}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['candidate', 'experience', 'education', 'skills', 'certifications', 'languages', 'projects', 'industries', 'management_experience', 'total_experience_years', 'recent_role', 'seniority_estimate', 'career_progression', 'candidate_keywords', 'evidence_quality'], 'properties': {'skills': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'projects': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'candidate': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'education': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'languages': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'experience': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'industries': {'type': 'array', 'items': {'type': 'string'}}, 'recent_role': {'type': ['string', 'null']}, 'certifications': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'evidence_quality': {'type': 'object', 'required': ['score', 'missing_information', 'ambiguities'], 'properties': {'score': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'ambiguities': {'type': 'array', 'items': {'type': 'string'}}, 'missing_information': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'candidate_keywords': {'type': 'array', 'items': {'type': 'string'}}, 'career_progression': {'type': 'array', 'items': {'type': 'string'}}, 'seniority_estimate': {'type': ['string', 'null']}, 'management_experience': {'type': ['boolean', 'null']}, 'total_experience_years': {'type': ['number', 'null']}}, 'additionalProperties': False}
final_business_plan_builder
Assemble the book's final project plan from supplied business and financial inputs. Use when an agent needs the Creative Techno book framework for final business plan builder.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['businessName', 'idea', 'customer', 'problem', 'product', 'differentiation', 'sellingPriceOMR', 'unitCostOMR', 'startupCapitalOMR', 'monthlySalesTarget', 'breakEvenUnits', 'profitGoalOMR', 'marketingChannels', 'salesChannels', 'immediateNextStep'], 'properties': {'idea': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'problem': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'product': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'customer': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'language': {'enum': ['ar', 'en'], 'type': 'string', 'default': 'en'}, 'competitors': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'maxItems': 100}, 'unitCostOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'businessName': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'profitGoalOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'salesChannels': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'maxItems': 100}, 'breakEvenUnits': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'differentiation': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'sellingPriceOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'immediateNextStep': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'marketingChannels': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'maxItems': 100}, 'startupCapitalOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'monthlySalesTarget': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frameworkSource', 'language', 'result'], 'properties': {'result': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'language': {'enum': ['ar', 'en'], 'type': 'string'}, 'frameworkSource': {'type': 'object', 'required': ['publisher', 'title', 'edition'], 'properties': {'title': {'type': 'string', 'const': 'كيف تبدأ مشروعك الصغير في عُمان؟'}, 'edition': {'type': 'string', 'const': '2026'}, 'publisher': {'type': 'string', 'const': 'Creative Techno'}}, 'additionalProperties': False}}, 'additionalProperties': False}
find_companies
Discover companies from public web sources matching an industry, location, size and/or keyword criteria, returning cited candidate companies (never fabricated) with a stated confidence score. Use when an agent needs to discover a list of candidate companies matching criteria (industry, location, size, keywords) rather than analyze one already-known company.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'city': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'limit': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'country': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'industry': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'keywords': {'type': 'array', 'items': {'type': 'string', 'maxLength': 60, 'minLength': 1}, 'maxItems': 10}, 'employeeMax': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'employeeMin': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['companies', 'resultCount', 'sources', 'confidence', 'cached', 'dataMode', 'requestedLimit', 'appliedLimit', 'limitations'], 'properties': {'cached': {'type': 'boolean'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['url', 'title', 'publisher', 'sourceType', 'observedAt'], 'properties': {'url': {'type': ['string', 'null']}, 'title': {'type': 'string'}, 'publisher': {'type': ['string', 'null']}, 'observedAt': {'type': 'string'}, 'sourceType': {'enum': ['web_search', 'company_website', 'news', 'government_registry', 'regulatory_registry', 'sanctions_list', 'domain_registry', 'rafid_oman_registry', 'not_configured'], 'type': 'string'}}, 'additionalProperties': False}}, 'dataMode': {'enum': ['live', 'not_configured'], 'type': 'string'}, 'companies': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'website', 'industry', 'location', 'employeeRange', 'description', 'whyMatched', 'sources'], 'properties': {'name': {'type': 'string'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['url', 'title', 'publisher', 'sourceType', 'observedAt'], 'properties': {'url': {'type': ['string', 'null']}, 'title': {'type': 'string'}, 'publisher': {'type': ['string', 'null']}, 'observedAt': {'type': 'string'}, 'sourceType': {'enum': ['web_search', 'company_website', 'news', 'government_registry', 'regulatory_registry', 'sanctions_list', 'domain_registry', 'rafid_oman_registry', 'not_configured'], 'type': 'string'}}, 'additionalProperties': False}}, 'website': {'type': ['string', 'null']}, 'industry': {'type': ['string', 'null']}, 'location': {'type': 'object', 'required': ['country', 'city'], 'properties': {'city': {'type': ['string', 'null']}, 'country': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'whyMatched': {'type': 'string'}, 'description': {'type': ['string', 'null']}, 'employeeRange': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'confidence': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'limitations': {'type': 'array', 'items': {'type': 'string'}}, 'resultCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'appliedLimit': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'requestedLimit': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}
first_10_customers_plan
Create a non-spammy plan for 20 prospects and the first 10 paying customers. Use when an agent needs the Creative Techno book framework for first 10 customers plan.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['business', 'customer', 'offer'], 'properties': {'offer': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'business': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'customer': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'language': {'enum': ['ar', 'en'], 'type': 'string', 'default': 'en'}, 'priceOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'prospects': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'maxItems': 100, 'minItems': 1}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frameworkSource', 'language', 'result'], 'properties': {'result': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'language': {'enum': ['ar', 'en'], 'type': 'string'}, 'frameworkSource': {'type': 'object', 'required': ['publisher', 'title', 'edition'], 'properties': {'title': {'type': 'string', 'const': 'كيف تبدأ مشروعك الصغير في عُمان؟'}, 'edition': {'type': 'string', 'const': '2026'}, 'publisher': {'type': 'string', 'const': 'Creative Techno'}}, 'additionalProperties': False}}, 'additionalProperties': False}
generate_job_profile
Normalize a job description into required and preferred professional requirements with transparent weights totaling 100. Use before candidate matching or shortlisting when an agent needs a structured job requirement profile.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['job_description'], 'properties': {'language': {'type': 'string', 'default': 'auto', 'maxLength': 20, 'minLength': 1}, 'job_title': {'type': 'string', 'maxLength': 300}, 'job_description': {'type': 'string', 'maxLength': 100000, 'minLength': 1}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['job_title', 'role_family', 'seniority', 'industry', 'required_skills', 'preferred_skills', 'required_experience_years', 'preferred_experience_years', 'required_education', 'certifications', 'responsibilities', 'domain_experience', 'technical_requirements', 'leadership_requirements', 'language_requirements', 'location_requirements', 'employment_type', 'keywords', 'scoring_model'], 'properties': {'industry': {'type': 'array', 'items': {'type': 'string'}}, 'keywords': {'type': 'array', 'items': {'type': 'string'}}, 'job_title': {'type': 'string'}, 'seniority': {'type': 'string'}, 'role_family': {'type': 'string'}, 'scoring_model': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'certifications': {'type': 'array', 'items': {'type': 'string'}}, 'employment_type': {'type': ['string', 'null']}, 'required_skills': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'preferred_skills': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'responsibilities': {'type': 'array', 'items': {'type': 'string'}}, 'domain_experience': {'type': 'array', 'items': {'type': 'string'}}, 'required_education': {'type': 'array', 'items': {'type': 'string'}}, 'language_requirements': {'type': 'array', 'items': {'type': 'string'}}, 'location_requirements': {'type': ['string', 'null']}, 'technical_requirements': {'type': 'array', 'items': {'type': 'string'}}, 'leadership_requirements': {'type': 'array', 'items': {'type': 'string'}}, 'required_experience_years': {'type': ['number', 'null']}, 'preferred_experience_years': {'type': ['number', 'null']}}, 'additionalProperties': False}
get_oman_company_profile
Return a structured profile for one Oman company by companyId — identity, registration, location and contact fields, digital-presence detection and full source provenance. Use after search_oman_company resolves a companyId, to retrieve the company's structured profile before deciding whether deeper analysis or due diligence is warranted.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['companyId'], 'properties': {'companyId': {'type': 'string', 'maxLength': 120, 'minLength': 1}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['company', 'digitalPresence', 'verification', 'procurement', 'dataCoverage', 'sources'], 'properties': {'company': {'type': 'object', 'required': ['companyId', 'companyName', 'legalType', 'status', 'registrationNumber', 'registrationDate', 'industry', 'activities', 'governorate', 'wilayat', 'address', 'website', 'email', 'phone'], 'properties': {'email': {'type': ['string', 'null']}, 'phone': {'type': ['string', 'null']}, 'status': {'type': ['string', 'null']}, 'address': {'type': ['string', 'null']}, 'website': {'type': ['string', 'null']}, 'wilayat': {'type': ['string', 'null']}, 'industry': {'type': ['string', 'null']}, 'companyId': {'type': 'string'}, 'legalType': {'type': ['string', 'null']}, 'activities': {'type': 'array', 'items': {'type': 'string'}}, 'companyName': {'type': 'string'}, 'governorate': {'type': ['string', 'null']}, 'registrationDate': {'type': ['string', 'null']}, 'registrationNumber': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['sourceName', 'sourceType', 'sourceAuthority', 'sourceUrl', 'sourceRecordId', 'observedAt', 'verificationStatus', 'fields'], 'properties': {'fields': {'type': 'array', 'items': {'type': 'string'}}, 'sourceUrl': {'type': ['string', 'null']}, 'observedAt': {'type': 'string'}, 'sourceName': {'type': 'string'}, 'sourceType': {'enum': ['government', 'public_registry', 'tax_authority', 'government_procurement', 'company_website', 'licensed_feed', 'directory', 'news', 'demo', 'other', 'admin_manual'], 'type': 'string'}, 'sourceRecordId': {'type': ['string', 'null']}, 'sourceAuthority': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'verificationStatus': {'enum': ['verified', 'reported', 'estimated', 'inferred', 'stale', 'conflicting', 'unknown'], 'type': 'string'}}, 'additionalProperties': False}}, 'procurement': {'type': 'object', 'required': ['registeredSupplier', 'supplierCategory', 'supplierClassification', 'governmentProcurementPresence', 'tendersParticipated', 'awardedContractCount', 'lastTenderActivityAt', 'awards'], 'properties': {'awards': {'type': 'array', 'items': {'type': 'object', 'required': ['tenderNumber', 'buyer', 'title', 'status', 'awardValueOMR', 'category', 'sourceName', 'observedAt'], 'properties': {'buyer': {'type': ['string', 'null']}, 'title': {'type': ['string', 'null']}, 'status': {'type': ['string', 'null']}, 'category': {'type': ['string', 'null']}, 'observedAt': {'type': 'string'}, 'sourceName': {'type': 'string'}, 'tenderNumber': {'type': 'string'}, 'awardValueOMR': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'supplierCategory': {'type': ['string', 'null']}, 'registeredSupplier': {'type': ['boolean', 'null']}, 'tendersParticipated': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'awardedContractCount': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'lastTenderActivityAt': {'type': ['string', 'null']}, 'supplierClassification': {'type': ['string', 'null']}, 'governmentProcurementPresence': {'type': ['boolean', 'null']}}, 'additionalProperties': False}, 'dataCoverage': {'type': 'object', 'required': ['realSources', 'demoSources', 'latestVerifiedAt'], 'properties': {'demoSources': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'realSources': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'latestVerifiedAt': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'verification': {'type': 'object', 'required': ['verificationStatus', 'lastVerifiedAt', 'taxVerificationStatus', 'taxVerifiedAt'], 'properties': {'taxVerifiedAt': {'type': ['string', 'null']}, 'lastVerifiedAt': {'type': ['string', 'null']}, 'verificationStatus': {'enum': ['verified', 'reported', 'estimated', 'inferred', 'stale', 'conflicting', 'unknown'], 'type': 'string'}, 'taxVerificationStatus': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'digitalPresence': {'type': 'object', 'required': ['websiteFound', 'domain', 'socialProfiles'], 'properties': {'domain': {'type': ['string', 'null']}, 'websiteFound': {'type': 'boolean'}, 'socialProfiles': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'additionalProperties': False}
ideal_customer_profile
Structure an ideal-customer profile from supplied observations; does not infer verified demographics. Use when an agent needs the Creative Techno book framework for ideal customer profile.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['business'], 'properties': {'city': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'need': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'gender': {'type': 'string', 'maxLength': 50, 'minLength': 1}, 'problem': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'ageRange': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'business': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'language': {'enum': ['ar', 'en'], 'type': 'string', 'default': 'en'}, 'triggers': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'maxItems': 100}, 'objections': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'maxItems': 100}, 'occupation': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'governorate': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'incomeLevel': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'buyingBehavior': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'onlineChannels': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'maxItems': 100}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frameworkSource', 'language', 'result'], 'properties': {'result': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'language': {'enum': ['ar', 'en'], 'type': 'string'}, 'frameworkSource': {'type': 'object', 'required': ['publisher', 'title', 'edition'], 'properties': {'title': {'type': 'string', 'const': 'كيف تبدأ مشروعك الصغير في عُمان؟'}, 'edition': {'type': 'string', 'const': '2026'}, 'publisher': {'type': 'string', 'const': 'Creative Techno'}}, 'additionalProperties': False}}, 'additionalProperties': False}
invoice_anomaly_check
Detect duplicate, inconsistent, unusual or potentially fraudulent invoices before payment using arithmetic, supplier-history, purchase-order and payment-detail checks. Returns a 0–100 risk score, a risk level, an advisory decision (continue / review / hold) and machine-readable anomalies (e.g. DUPLICATE_INVOICE, POSSIBLE_DUPLICATE, BANK_ACCOUNT_CHANGED, PO_AMOUNT_EXCEEDED, SPLIT_INVOICE_PATTERN, SUBTOTAL_MISMATCH), each with severity, confidence and structured evidence. Works on a single invoice (standalone) or with optional historical invoices, supplier profile, purchase order, contract, approval threshold and payment history (context-aware). Deterministic, decimal-safe, any country and currency. Use before approving, paying, booking, reconciling or auditing an invoice, especially when an agent needs to determine whether the invoice requires human review.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['invoice'], 'properties': {'invoice': {'type': 'object', 'required': ['total'], 'properties': {'tax': {'anyOf': [{'type': 'number'}, {'type': 'string', 'maxLength': 40, 'minLength': 1}], 'description': 'Total tax amount.'}, 'total': {'anyOf': [{'type': 'number'}, {'type': 'string', 'maxLength': 40, 'minLength': 1}], 'description': 'Invoice total payable (subtotal − discount + tax + shipping). Required.'}, 'dueDate': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'taxRate': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Invoice-level tax rate, used when lines carry no taxRate.'}, 'currency': {'type': 'string', 'maxLength': 10, 'minLength': 1}, 'discount': {'anyOf': [{'type': 'number'}, {'type': 'string', 'maxLength': 40, 'minLength': 1}], 'description': 'Invoice-level discount amount.'}, 'poNumber': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'shipping': {'anyOf': [{'type': 'number'}, {'type': 'string', 'maxLength': 40, 'minLength': 1}], 'description': 'Shipping / other charges added to the total.'}, 'subtotal': {'anyOf': [{'type': 'number'}, {'type': 'string', 'maxLength': 40, 'minLength': 1}], 'description': 'Sum of line totals, before invoice-level discount, tax and shipping.'}, 'invoiceId': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': "Your system's internal record id for this invoice. A historical invoice with the same invoiceId is treated as this same record and excluded from duplicate matching."}, 'lineItems': {'type': 'array', 'items': {'type': 'object', 'properties': {'sku': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Item/SKU code, used to match purchase-order lines.'}, 'total': {'anyOf': [{'type': 'number'}, {'type': 'string', 'maxLength': 40, 'minLength': 1}], 'description': 'Line total EXCLUDING tax (quantity × unitPrice − discount).'}, 'taxRate': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Tax rate in percent (e.g. 5 for 5%).'}, 'discount': {'anyOf': [{'type': 'number'}, {'type': 'string', 'maxLength': 40, 'minLength': 1}], 'description': 'Line discount amount (subtracted from quantity × unitPrice).'}, 'quantity': {'anyOf': [{'type': 'number'}, {'type': 'string', 'maxLength': 40, 'minLength': 1}]}, 'unitPrice': {'anyOf': [{'type': 'number'}, {'type': 'string', 'maxLength': 40, 'minLength': 1}]}, 'description': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 500}, 'contractId': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'supplierId': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Your vendor/supplier master id. Preferred over the name for matching history.'}, 'bankAccount': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'invoiceDate': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'supplierName': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'invoiceNumber': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'paymentTermsDays': {'type': 'integer', 'maximum': 3650, 'minimum': 0, 'description': 'Payment terms in days (e.g. 30 for net 30).'}}, 'description': 'The invoice to check. Only `total` is required. Amounts: number or plain decimal string ("9200.50"); dates: ISO 8601; currency: ISO 4217 code; bankAccount is never echoed unmasked.', 'additionalProperties': False}, 'options': {'type': 'object', 'properties': {'asOfDate': {'type': 'string', 'maxLength': 40, 'minLength': 1, 'description': 'Reference date for date checks (default: today, UTC). Supplying it makes the output fully reproducible.'}, 'roundingTolerance': {'anyOf': [{'type': 'number'}, {'type': 'string', 'maxLength': 40, 'minLength': 1}], 'description': 'Absolute arithmetic tolerance in currency units, replacing the default of one minor unit per rounding step.'}, 'duplicateWindowDays': {'type': 'integer', 'maximum': 365, 'minimum': 1, 'description': 'Maximum date gap for near-duplicate matching (default 14).'}, 'minHistoryForPatterns': {'type': 'integer', 'maximum': 50, 'minimum': 2, 'description': 'Minimum same-supplier invoices required before supplier-behavior baselines are used (default 3).'}}, 'additionalProperties': False}, 'contract': {'type': 'object', 'properties': {'endDate': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'currency': {'type': 'string', 'maxLength': 10, 'minLength': 1}, 'maxAmount': {'anyOf': [{'type': 'number'}, {'type': 'string', 'maxLength': 40, 'minLength': 1}], 'description': 'Contract value cap.'}, 'startDate': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'contractId': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'supplierId': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'supplierName': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'invoicedToDate': {'anyOf': [{'type': 'number'}, {'type': 'string', 'maxLength': 40, 'minLength': 1}], 'description': 'Amount already invoiced under the contract (excluding this invoice). When omitted, supplied historicalInvoices for the supplier inside the contract period are summed instead.'}, 'maxInvoiceAmount': {'anyOf': [{'type': 'number'}, {'type': 'string', 'maxLength': 40, 'minLength': 1}], 'description': 'Maximum amount allowed on a single invoice.'}, 'paymentTermsDays': {'type': 'integer', 'maximum': 3650, 'minimum': 0, 'description': 'Payment terms in days (e.g. 30 for net 30).'}}, 'description': 'The governing contract.', 'additionalProperties': False}, 'purchaseOrder': {'type': 'object', 'properties': {'status': {'enum': ['open', 'partially_invoiced', 'closed', 'cancelled'], 'type': 'string'}, 'currency': {'type': 'string', 'maxLength': 10, 'minLength': 1}, 'poNumber': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'issueDate': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'lineItems': {'type': 'array', 'items': {'type': 'object', 'properties': {'sku': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'quantity': {'anyOf': [{'type': 'number'}, {'type': 'string', 'maxLength': 40, 'minLength': 1}]}, 'unitPrice': {'anyOf': [{'type': 'number'}, {'type': 'string', 'maxLength': 40, 'minLength': 1}]}, 'description': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 500}, 'supplierId': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'totalAmount': {'anyOf': [{'type': 'number'}, {'type': 'string', 'maxLength': 40, 'minLength': 1}]}, 'supplierName': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'invoicedToDate': {'anyOf': [{'type': 'number'}, {'type': 'string', 'maxLength': 40, 'minLength': 1}], 'description': 'Amount already invoiced against this PO (excluding this invoice).'}, 'remainingAmount': {'anyOf': [{'type': 'number'}, {'type': 'string', 'maxLength': 40, 'minLength': 1}], 'description': 'Remaining PO balance before this invoice; takes precedence over totalAmount − invoicedToDate.'}, 'amountsIncludeTax': {'type': 'boolean', 'description': 'Default true: PO amounts are compared with the invoice total. false: compared with the invoice net amount (subtotal − discount).'}}, 'description': 'The purchase order the invoice is billed against.', 'additionalProperties': False}, 'paymentHistory': {'type': 'array', 'items': {'type': 'object', 'properties': {'amount': {'anyOf': [{'type': 'number'}, {'type': 'string', 'maxLength': 40, 'minLength': 1}]}, 'currency': {'type': 'string', 'maxLength': 10, 'minLength': 1}, 'supplierId': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'bankAccount': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'paymentDate': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'supplierName': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'invoiceNumber': {'type': 'string', 'maxLength': 100, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 1000, 'description': 'Past payments (any supplier). Used for known payment accounts and already-paid detection.'}, 'approvalContext': {'type': 'object', 'properties': {'currency': {'type': 'string', 'maxLength': 10, 'minLength': 1, 'description': 'Currency of approvalThreshold (default: the invoice currency).'}, 'splitWindowDays': {'type': 'integer', 'maximum': 90, 'minimum': 1, 'description': 'Window for grouping same-supplier invoices in split detection (default 7).'}, 'approvalThreshold': {'anyOf': [{'type': 'number'}, {'type': 'string', 'maxLength': 40, 'minLength': 1}], 'description': 'Single-invoice amount above which additional approval is required. Enables split-invoice detection.'}}, 'additionalProperties': False}, 'supplierProfile': {'type': 'object', 'properties': {'status': {'enum': ['active', 'inactive', 'blocked', 'suspended', 'pending_verification'], 'type': 'string'}, 'aliases': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 10}, 'country': {'type': 'string', 'maxLength': 60, 'minLength': 1}, 'currencies': {'type': 'array', 'items': {'type': 'string', 'maxLength': 10, 'minLength': 1}, 'maxItems': 10, 'description': 'Currencies this supplier normally invoices in.'}, 'supplierId': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'createdDate': {'type': 'string', 'maxLength': 40, 'minLength': 1, 'description': 'When the supplier record was created.'}, 'bankAccounts': {'type': 'array', 'items': {'anyOf': [{'type': 'string', 'maxLength': 80, 'minLength': 1}, {'type': 'object', 'required': ['account'], 'properties': {'account': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'verified': {'type': 'boolean', 'description': 'false = on file but not yet verified (e.g. by call-back).'}, 'addedDate': {'type': 'string', 'maxLength': 40, 'minLength': 1, 'description': 'When the account was added/changed in the supplier master.'}}, 'additionalProperties': False}]}, 'maxItems': 20, 'description': 'Payment accounts on file for this supplier.'}, 'supplierName': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'paymentTermsDays': {'type': 'integer', 'maximum': 3650, 'minimum': 0, 'description': 'Agreed standard payment terms.'}}, 'description': "Supplier master data for the invoice's supplier.", 'additionalProperties': False}, 'historicalInvoices': {'type': 'array', 'items': {'type': 'object', 'required': ['total'], 'properties': {'total': {'anyOf': [{'type': 'number'}, {'type': 'string', 'maxLength': 40, 'minLength': 1}]}, 'status': {'enum': ['paid', 'approved', 'pending', 'disputed', 'rejected', 'cancelled', 'void', 'unknown'], 'type': 'string', 'description': 'Processing status. cancelled / void / rejected invoices are still used for duplicate matching (resubmissions) but excluded from behavior baselines, contract consumption and split detection.'}, 'dueDate': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'currency': {'type': 'string', 'maxLength': 10, 'minLength': 1}, 'poNumber': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'subtotal': {'anyOf': [{'type': 'number'}, {'type': 'string', 'maxLength': 40, 'minLength': 1}]}, 'invoiceId': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'lineItems': {'type': 'array', 'items': {'type': 'object', 'properties': {'sku': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'total': {'anyOf': [{'type': 'number'}, {'type': 'string', 'maxLength': 40, 'minLength': 1}]}, 'quantity': {'anyOf': [{'type': 'number'}, {'type': 'string', 'maxLength': 40, 'minLength': 1}]}, 'unitPrice': {'anyOf': [{'type': 'number'}, {'type': 'string', 'maxLength': 40, 'minLength': 1}]}, 'description': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 200}, 'supplierId': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'bankAccount': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'invoiceDate': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'supplierName': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'invoiceNumber': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'paymentTermsDays': {'type': 'integer', 'maximum': 3650, 'minimum': 0, 'description': 'Payment terms in days (e.g. 30 for net 30).'}}, 'additionalProperties': False}, 'maxItems': 1000, 'description': 'Previously received invoices (any supplier; up to 1000). Enables duplicate, supplier-behavior, payment-detail and split checks.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['riskScore', 'riskLevel', 'decision', 'anomalyCount', 'anomalies', 'financialChecks', 'recommendedAction', 'summary', 'mode', 'contextUsed', 'invoiceSummary', 'dataCompleteness', 'scoring', 'limitations', 'asOfDate', 'checkedAt'], 'properties': {'mode': {'enum': ['standalone', 'context_aware'], 'type': 'string'}, 'scoring': {'type': 'object', 'required': ['model', 'components', 'lowSeverityPoints', 'mediumSeverityPoints', 'highSeverityPoints', 'escalationBonus', 'escalationReasons', 'cappedBySeverity', 'rawScore', 'levelBands'], 'properties': {'model': {'type': 'string'}, 'rawScore': {'type': 'number'}, 'components': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'severity', 'confidence', 'basePoints', 'points'], 'properties': {'code': {'type': 'string'}, 'points': {'type': 'number'}, 'severity': {'type': 'string'}, 'basePoints': {'type': 'number'}, 'confidence': {'type': 'number'}}, 'additionalProperties': False}}, 'levelBands': {'type': 'object', 'required': ['low', 'medium', 'high', 'critical'], 'properties': {'low': {'type': 'string'}, 'high': {'type': 'string'}, 'medium': {'type': 'string'}, 'critical': {'type': 'string'}}, 'additionalProperties': False}, 'escalationBonus': {'type': 'number'}, 'cappedBySeverity': {'type': 'boolean'}, 'escalationReasons': {'type': 'array', 'items': {'type': 'string'}}, 'lowSeverityPoints': {'type': 'number'}, 'highSeverityPoints': {'type': 'number'}, 'mediumSeverityPoints': {'type': 'number'}}, 'description': 'Exact score derivation: per-anomaly points = basePoints × confidence, severity-group caps, correlation bonus, severity ceiling.', 'additionalProperties': False}, 'summary': {'type': 'string'}, 'asOfDate': {'type': 'string', 'description': 'Reference date (UTC) used for date checks.'}, 'decision': {'enum': ['continue', 'review', 'hold'], 'type': 'string', 'description': 'Advisory only: low → continue, medium/high → review, critical → hold. Not a payment approval or rejection.'}, 'anomalies': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'severity', 'confidence', 'field', 'explanation', 'evidence'], 'properties': {'code': {'enum': ['SUBTOTAL_MISMATCH', 'TAX_MISMATCH', 'TOTAL_MISMATCH', 'LINE_TOTAL_MISMATCH', 'DUPLICATE_INVOICE', 'POSSIBLE_DUPLICATE', 'UNUSUAL_AMOUNT', 'SUPPLIER_PATTERN_DEVIATION', 'UNUSUAL_CURRENCY', 'UNUSUAL_PAYMENT_TERMS', 'INVOICE_NUMBER_ANOMALY', 'BANK_ACCOUNT_CHANGED', 'UNKNOWN_BANK_ACCOUNT', 'PO_MISMATCH', 'PO_AMOUNT_EXCEEDED', 'CONTRACT_LIMIT_EXCEEDED', 'APPROVAL_THRESHOLD_EXCEEDED', 'SPLIT_INVOICE_PATTERN', 'DATE_ANOMALY', 'DUE_DATE_ANOMALY', 'DUPLICATE_LINE_ITEM', 'MISSING_REQUIRED_FIELD'], 'type': 'string', 'description': 'Stable machine code of the anomaly type.'}, 'field': {'type': ['string', 'null'], 'description': 'Primary invoice field concerned (e.g. invoiceNumber, bankAccount, total), or null.'}, 'evidence': {'type': 'object', 'description': 'Structured, factual evidence for the finding (matched records, expected vs stated values, baselines, thresholds). Bank accounts appear only masked (****1234).', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'severity': {'enum': ['info', 'low', 'medium', 'high', 'critical'], 'type': 'string'}, 'confidence': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': '0–1 strength of the supporting evidence (not a probability of fraud).'}, 'explanation': {'type': 'string', 'description': 'One factual sentence, phrased as a risk indicator (never an accusation).'}}, 'additionalProperties': False}, 'description': 'Most severe first. At most one record per anomaly code; sub-findings are in evidence.issues.'}, 'checkedAt': {'type': 'string', 'description': 'ISO timestamp of the as-of date (UTC start of day). Deliberately day-granular so identical inputs give identical output; pass options.asOfDate for full reproducibility.'}, 'riskLevel': {'enum': ['low', 'medium', 'high', 'critical'], 'type': 'string', 'description': 'low 0–14, medium 15–39, high 40–64, critical 65–100.'}, 'riskScore': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': '0–100, higher = more risk indicators; see scoring for the exact computation.'}, 'contextUsed': {'type': 'object', 'required': ['historicalInvoices', 'supplierHistoryMatched', 'paymentHistory', 'supplierProfile', 'purchaseOrder', 'contract', 'approvalContext'], 'properties': {'contract': {'type': 'boolean'}, 'purchaseOrder': {'type': 'boolean'}, 'paymentHistory': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'approvalContext': {'type': 'boolean'}, 'supplierProfile': {'type': 'boolean'}, 'historicalInvoices': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'supplierHistoryMatched': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}, 'limitations': {'type': 'array', 'items': {'type': 'string'}}, 'anomalyCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'invoiceSummary': {'type': 'object', 'required': ['invoiceNumber', 'supplierName', 'supplierId', 'invoiceDate', 'dueDate', 'currency', 'total', 'lineItemCount', 'bankAccountMasked'], 'properties': {'total': {'type': 'number'}, 'dueDate': {'type': ['string', 'null']}, 'currency': {'type': ['string', 'null']}, 'supplierId': {'type': ['string', 'null']}, 'invoiceDate': {'type': ['string', 'null']}, 'supplierName': {'type': ['string', 'null']}, 'invoiceNumber': {'type': ['string', 'null']}, 'lineItemCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'bankAccountMasked': {'type': ['string', 'null']}}, 'description': 'Normalized key fields of the checked invoice (bank account masked).', 'additionalProperties': False}, 'financialChecks': {'type': 'object', 'required': ['subtotalValid', 'taxValid', 'totalValid', 'lineTotalsValid', 'computed'], 'properties': {'computed': {'type': 'object', 'required': ['lineItemsSum', 'expectedTax', 'expectedTotal', 'tolerance'], 'properties': {'tolerance': {'type': 'number'}, 'expectedTax': {'type': ['number', 'null']}, 'lineItemsSum': {'type': ['number', 'null']}, 'expectedTotal': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'taxValid': {'type': ['boolean', 'null'], 'description': 'Stated tax ≈ tax implied by the stated rate(s); null when no rate or no tax is stated.'}, 'totalValid': {'type': ['boolean', 'null'], 'description': 'subtotal − discount + tax + shipping ≈ total; null when not checkable.'}, 'subtotalValid': {'type': ['boolean', 'null'], 'description': 'Σ line totals ≈ subtotal; null when not checkable (no lines or no subtotal).'}, 'lineTotalsValid': {'type': ['boolean', 'null'], 'description': 'quantity × unitPrice − discount ≈ line total for every line that states all three; null when none does.'}}, 'additionalProperties': False}, 'dataCompleteness': {'type': 'object', 'required': ['missingRequiredFields', 'missingRecommendedFields'], 'properties': {'missingRequiredFields': {'type': 'array', 'items': {'type': 'string'}}, 'missingRecommendedFields': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'recommendedAction': {'type': 'string'}}, 'additionalProperties': False}
monthly_business_financial_report
Generate a monthly business financial report from supplied OMR figures; not accounting advice. Use when an agent needs the Creative Techno book framework for monthly business financial report.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['revenueOMR', 'directCostsOMR', 'fixedCostsOMR'], 'properties': {'language': {'enum': ['ar', 'en'], 'type': 'string', 'default': 'en'}, 'revenueOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'marketingOMR': {'type': 'number', 'default': 0, 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'fixedCostsOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'directCostsOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'reservePercent': {'type': 'number', 'default': 10, 'maximum': 100, 'minimum': 0}, 'priorRevenueOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'otherExpensesOMR': {'type': 'number', 'default': 0, 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'reinvestmentPercent': {'type': 'number', 'default': 20, 'maximum': 100, 'minimum': 0}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frameworkSource', 'language', 'result'], 'properties': {'result': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'language': {'enum': ['ar', 'en'], 'type': 'string'}, 'frameworkSource': {'type': 'object', 'required': ['publisher', 'title', 'edition'], 'properties': {'title': {'type': 'string', 'const': 'كيف تبدأ مشروعك الصغير في عُمان؟'}, 'edition': {'type': 'string', 'const': '2026'}, 'publisher': {'type': 'string', 'const': 'Creative Techno'}}, 'additionalProperties': False}}, 'additionalProperties': False}
offer_builder
Construct a commercial offer from supplied outcome, bundle and delivery terms; never invents scarcity. Use when an agent needs the Creative Techno book framework for offer builder.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['product', 'customer', 'coreOutcome', 'deliveryPromise', 'priceOMR'], 'properties': {'bundle': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'maxItems': 100}, 'bonuses': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'maxItems': 100}, 'product': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'customer': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'language': {'enum': ['ar', 'en'], 'type': 'string', 'default': 'en'}, 'priceOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'guarantee': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'coreOutcome': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'deliveryPromise': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'genuineScarcity': {'type': 'string', 'maxLength': 2000, 'minLength': 1}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frameworkSource', 'language', 'result'], 'properties': {'result': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'language': {'enum': ['ar', 'en'], 'type': 'string'}, 'frameworkSource': {'type': 'object', 'required': ['publisher', 'title', 'edition'], 'properties': {'title': {'type': 'string', 'const': 'كيف تبدأ مشروعك الصغير في عُمان؟'}, 'edition': {'type': 'string', 'const': '2026'}, 'publisher': {'type': 'string', 'const': 'Creative Techno'}}, 'additionalProperties': False}}, 'additionalProperties': False}
oman_business_launch_advisor
Combine readiness, idea validation, finance and launch logic for an Oman-oriented founder workflow. Use when an agent needs the Creative Techno book framework for oman business launch advisor.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['business', 'idea', 'customer', 'problem', 'solution', 'answers', 'setupCostsOMR', 'monthlyFixedCostsOMR', 'initialInventoryOMR', 'sellingPriceOMR', 'variableCostPerUnitOMR'], 'properties': {'idea': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'offer': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'answers': {'type': 'array', 'items': {'type': 'boolean'}, 'maxItems': 15, 'minItems': 15}, 'problem': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'business': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'customer': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'language': {'enum': ['ar', 'en'], 'type': 'string', 'default': 'en'}, 'solution': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'setupCostsOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'sellingPriceOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'targetProfitOMR': {'type': 'number', 'default': 0, 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'initialInventoryOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'monthlyFixedCostsOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'variableCostPerUnitOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frameworkSource', 'language', 'result'], 'properties': {'result': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'language': {'enum': ['ar', 'en'], 'type': 'string'}, 'frameworkSource': {'type': 'object', 'required': ['publisher', 'title', 'edition'], 'properties': {'title': {'type': 'string', 'const': 'كيف تبدأ مشروعك الصغير في عُمان؟'}, 'edition': {'type': 'string', 'const': '2026'}, 'publisher': {'type': 'string', 'const': 'Creative Techno'}}, 'additionalProperties': False}}, 'additionalProperties': False}
oman_business_launch_plan
Generate the book's 30-day launch workflow with dependencies and status placeholders. Use when an agent needs the Creative Techno book framework for oman business launch plan.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'language': {'enum': ['ar', 'en'], 'type': 'string', 'default': 'en'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frameworkSource', 'language', 'result'], 'properties': {'result': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'language': {'enum': ['ar', 'en'], 'type': 'string'}, 'frameworkSource': {'type': 'object', 'required': ['publisher', 'title', 'edition'], 'properties': {'title': {'type': 'string', 'const': 'كيف تبدأ مشروعك الصغير في عُمان؟'}, 'edition': {'type': 'string', 'const': '2026'}, 'publisher': {'type': 'string', 'const': 'Creative Techno'}}, 'additionalProperties': False}}, 'additionalProperties': False}
oman_business_plan_generator
Generate a premium structured business plan from supplied assumptions; not legal, tax, accounting or investment advice. Use when an agent needs the Creative Techno book framework for oman business plan generator.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['business', 'idea', 'customer', 'problem', 'solution', 'answers', 'setupCostsOMR', 'monthlyFixedCostsOMR', 'initialInventoryOMR', 'sellingPriceOMR', 'variableCostPerUnitOMR'], 'properties': {'idea': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'offer': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'answers': {'type': 'array', 'items': {'type': 'boolean'}, 'maxItems': 15, 'minItems': 15}, 'problem': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'business': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'channels': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': ['instagram', 'whatsapp_business'], 'maxItems': 100}, 'customer': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'language': {'enum': ['ar', 'en'], 'type': 'string', 'default': 'en'}, 'solution': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'businessName': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'setupCostsOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'sellingPriceOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'targetProfitOMR': {'type': 'number', 'default': 0, 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'initialInventoryOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'monthlyFixedCostsOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'variableCostPerUnitOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frameworkSource', 'language', 'result'], 'properties': {'result': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'language': {'enum': ['ar', 'en'], 'type': 'string'}, 'frameworkSource': {'type': 'object', 'required': ['publisher', 'title', 'edition'], 'properties': {'title': {'type': 'string', 'const': 'كيف تبدأ مشروعك الصغير في عُمان؟'}, 'edition': {'type': 'string', 'const': '2026'}, 'publisher': {'type': 'string', 'const': 'Creative Techno'}}, 'additionalProperties': False}}, 'additionalProperties': False}
oman_go_to_market_plan
Select supplied Oman-relevant channels for an ICP and create a 14-day action plan; live popularity is not checked. Use when an agent needs the Creative Techno book framework for oman go to market plan.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['business', 'customer', 'problem', 'offer', 'channels'], 'properties': {'offer': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'problem': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'business': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'channels': {'type': 'array', 'items': {'enum': ['instagram', 'tiktok', 'whatsapp_business', 'google_maps', 'content', 'short_video', 'influencers', 'partnerships', 'referrals', 'events', 'paid_ads'], 'type': 'string'}, 'maxItems': 11, 'minItems': 1}, 'customer': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'language': {'enum': ['ar', 'en'], 'type': 'string', 'default': 'en'}, 'availableBudgetOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frameworkSource', 'language', 'result'], 'properties': {'result': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'language': {'enum': ['ar', 'en'], 'type': 'string'}, 'frameworkSource': {'type': 'object', 'required': ['publisher', 'title', 'edition'], 'properties': {'title': {'type': 'string', 'const': 'كيف تبدأ مشروعك الصغير في عُمان؟'}, 'edition': {'type': 'string', 'const': '2026'}, 'publisher': {'type': 'string', 'const': 'Creative Techno'}}, 'additionalProperties': False}}, 'additionalProperties': False}
oman_small_business_guide
Answer a question using book-grounded frameworks; current legal, tax and regulatory details require official verification. Use when an agent needs the Creative Techno book framework for oman small business guide.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['question'], 'properties': {'language': {'enum': ['ar', 'en'], 'type': 'string', 'default': 'en'}, 'question': {'type': 'string', 'maxLength': 2000, 'minLength': 1}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frameworkSource', 'language', 'result'], 'properties': {'result': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'language': {'enum': ['ar', 'en'], 'type': 'string'}, 'frameworkSource': {'type': 'object', 'required': ['publisher', 'title', 'edition'], 'properties': {'title': {'type': 'string', 'const': 'كيف تبدأ مشروعك الصغير في عُمان؟'}, 'edition': {'type': 'string', 'const': '2026'}, 'publisher': {'type': 'string', 'const': 'Creative Techno'}}, 'additionalProperties': False}}, 'additionalProperties': False}
oman_supplier_check
Screen an Oman supplier for procurement using company identity, business activity, website, contact consistency, address signals, public-risk indicators and sanctions screening. Use before adding an Oman supplier to an RFQ, vendor shortlist, procurement process or supplier onboarding workflow.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['companyName'], 'properties': {'email': {'type': 'string', 'pattern': '^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$', 'maxLength': 254}, 'phone': {'type': 'string', 'pattern': '^[+0-9\\s()\\-.xX*]+$', 'maxLength': 30, 'minLength': 6}, 'address': {'type': 'string', 'maxLength': 300, 'minLength': 2}, 'website': {'type': 'string', 'maxLength': 300, 'minLength': 4}, 'crNumber': {'type': 'string', 'pattern': '^[0-9A-Za-z][0-9A-Za-z\\s\\-/.]*$', 'maxLength': 30, 'minLength': 3}, 'companyName': {'type': 'string', 'maxLength': 200, 'minLength': 2}, 'requiredProductOrService': {'type': 'string', 'maxLength': 200, 'minLength': 2}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['supplier', 'screeningResult', 'checks', 'riskFlags', 'riskModel', 'normalizedInput', 'sources', 'dataCoverage', 'confidence', 'limitations'], 'properties': {'checks': {'type': 'object', 'required': ['companyIdentity', 'website', 'businessActivity', 'contactConsistency', 'addressConsistency', 'sanctions', 'publicRisk'], 'properties': {'website': {'type': 'object', 'required': ['status', 'explanation', 'url', 'urlSource', 'signals'], 'properties': {'url': {'type': ['string', 'null']}, 'status': {'enum': ['pass', 'partial', 'fail', 'unknown'], 'type': 'string'}, 'signals': {'type': 'object', 'required': ['websiteExists', 'https', 'domainMatchesCompanyName', 'domainMatchesRegistry', 'companyNameOnWebsite', 'corporateEmailOnWebsite', 'phoneOnWebsite', 'physicalAddressOnWebsite', 'redirectedToDifferentDomain'], 'properties': {'https': {'type': ['boolean', 'null']}, 'websiteExists': {'type': ['boolean', 'null']}, 'phoneOnWebsite': {'type': ['boolean', 'null']}, 'companyNameOnWebsite': {'type': ['boolean', 'null']}, 'domainMatchesRegistry': {'type': ['boolean', 'null']}, 'corporateEmailOnWebsite': {'type': ['boolean', 'null']}, 'domainMatchesCompanyName': {'type': ['boolean', 'null']}, 'physicalAddressOnWebsite': {'type': ['boolean', 'null']}, 'redirectedToDifferentDomain': {'type': ['boolean', 'null']}}, 'additionalProperties': False}, 'urlSource': {'anyOf': [{'enum': ['supplied', 'registry'], 'type': 'string'}, {'type': 'null'}]}, 'explanation': {'type': 'string'}}, 'additionalProperties': False}, 'sanctions': {'type': 'object', 'required': ['status', 'matches', 'listsChecked', 'listsUnavailable', 'explanation'], 'properties': {'status': {'enum': ['clear', 'potential_match', 'not_checked', 'unavailable'], 'type': 'string'}, 'matches': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'matchedAlias', 'source', 'reference', 'sourceUrl', 'matchScore', 'matchType', 'reason'], 'properties': {'name': {'type': 'string'}, 'reason': {'type': 'string'}, 'source': {'type': 'string'}, 'matchType': {'enum': ['exact_normalized_name', 'fuzzy_name'], 'type': 'string'}, 'reference': {'type': ['string', 'null']}, 'sourceUrl': {'type': ['string', 'null']}, 'matchScore': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'matchedAlias': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'explanation': {'type': 'string'}, 'listsChecked': {'type': 'array', 'items': {'type': 'string'}}, 'listsUnavailable': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'publicRisk': {'type': 'object', 'required': ['status', 'signals', 'explanation'], 'properties': {'status': {'enum': ['clear', 'signal_detected', 'not_checked', 'unavailable'], 'type': 'string'}, 'signals': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'description', 'evidenceTier', 'sourceUrl', 'sourceTitle'], 'properties': {'type': {'enum': ['public_web_mention', 'possible_impersonation', 'contradictory_business_identity'], 'type': 'string'}, 'sourceUrl': {'type': ['string', 'null']}, 'description': {'type': 'string'}, 'sourceTitle': {'type': ['string', 'null']}, 'evidenceTier': {'enum': ['public_allegation', 'automated_indicator'], 'type': 'string'}}, 'additionalProperties': False}}, 'explanation': {'type': 'string'}}, 'additionalProperties': False}, 'companyIdentity': {'type': 'object', 'required': ['status', 'confidence', 'explanation', 'corroborations'], 'properties': {'status': {'enum': ['pass', 'partial', 'fail', 'unknown'], 'type': 'string'}, 'confidence': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'explanation': {'type': 'string'}, 'corroborations': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'businessActivity': {'type': 'object', 'required': ['status', 'explanation', 'requiredCategories', 'supplierCategories'], 'properties': {'status': {'enum': ['pass', 'partial', 'fail', 'unknown'], 'type': 'string'}, 'explanation': {'type': 'string'}, 'requiredCategories': {'type': 'array', 'items': {'type': 'string'}}, 'supplierCategories': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'addressConsistency': {'type': 'object', 'required': ['status', 'explanation'], 'properties': {'status': {'enum': ['pass', 'partial', 'conflict', 'unknown'], 'type': 'string'}, 'explanation': {'type': 'string'}}, 'additionalProperties': False}, 'contactConsistency': {'type': 'object', 'required': ['status', 'explanation'], 'properties': {'status': {'enum': ['pass', 'partial', 'fail', 'unknown'], 'type': 'string'}, 'explanation': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'name', 'url', 'checkedAt', 'observedAt'], 'properties': {'url': {'type': ['string', 'null']}, 'name': {'type': 'string'}, 'type': {'enum': ['company_registry', 'company_directory', 'demo_dataset', 'company_website', 'sanctions_list', 'public_web', 'derived_consistency_check'], 'type': 'string'}, 'checkedAt': {'type': 'string'}, 'observedAt': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'supplier': {'type': 'object', 'required': ['inputName', 'normalizedName', 'matchedName', 'matchedNameAr', 'companyId', 'crNumber', 'crNumberSupplied', 'country', 'identityMatch'], 'properties': {'country': {'type': 'string', 'const': 'OM'}, 'crNumber': {'type': ['string', 'null']}, 'companyId': {'type': ['string', 'null']}, 'inputName': {'type': 'string'}, 'matchedName': {'type': ['string', 'null']}, 'identityMatch': {'enum': ['strong', 'moderate', 'weak', 'unconfirmed'], 'type': 'string'}, 'matchedNameAr': {'type': ['string', 'null']}, 'normalizedName': {'type': 'string'}, 'crNumberSupplied': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'riskFlags': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'severity', 'message'], 'properties': {'code': {'enum': ['ACTIVITY_MISMATCH', 'IDENTITY_NOT_CONFIRMED', 'CR_NUMBER_CONFLICT', 'COMPANY_NAME_MISMATCH', 'REGISTRY_IDENTITY_CONFLICT', 'SUPPLIER_STATUS_NOT_ACTIVE', 'EMAIL_DOMAIN_MISMATCH', 'FREE_EMAIL_PROVIDER', 'WEBSITE_IDENTITY_CONFLICT', 'WEBSITE_UNREACHABLE', 'WEBSITE_NO_HTTPS', 'PHONE_MISMATCH', 'PHONE_NOT_OMAN', 'ADDRESS_MISMATCH', 'ADDRESS_OUTSIDE_OMAN', 'POTENTIAL_SANCTIONS_MATCH', 'PUBLIC_RISK_SIGNAL', 'LOOKALIKE_DOMAIN', 'DEMO_DATA_ONLY', 'INSUFFICIENT_PUBLIC_DATA', 'SOURCE_UNAVAILABLE'], 'type': 'string'}, 'message': {'type': 'string'}, 'severity': {'enum': ['low', 'medium', 'high'], 'type': 'string'}}, 'additionalProperties': False}}, 'riskModel': {'type': 'object', 'required': ['score', 'thresholds', 'components'], 'properties': {'score': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'components': {'type': 'array', 'items': {'type': 'object', 'required': ['factor', 'points', 'reason'], 'properties': {'factor': {'type': 'string'}, 'points': {'type': 'number'}, 'reason': {'type': 'string'}}, 'additionalProperties': False}}, 'thresholds': {'type': 'object', 'required': ['medium', 'high'], 'properties': {'high': {'type': 'number'}, 'medium': {'type': 'number'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'confidence': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'limitations': {'type': 'array', 'items': {'type': 'string'}}, 'dataCoverage': {'type': 'object', 'required': ['registryMatch', 'demoDataOnly', 'liveChecksPerformed', 'unavailableSources'], 'properties': {'demoDataOnly': {'type': 'boolean'}, 'registryMatch': {'type': 'boolean'}, 'unavailableSources': {'type': 'array', 'items': {'type': 'string'}}, 'liveChecksPerformed': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'normalizedInput': {'type': 'object', 'required': ['companyName', 'normalizedName', 'nameVariants', 'crNumber', 'website', 'websiteDomain', 'email', 'emailDomain', 'freeEmailProvider', 'phone', 'address', 'requiredProductOrService'], 'properties': {'email': {'type': ['string', 'null']}, 'phone': {'anyOf': [{'type': 'object', 'required': ['e164', 'isOman', 'lineType'], 'properties': {'e164': {'type': ['string', 'null']}, 'isOman': {'type': 'boolean'}, 'lineType': {'enum': ['mobile', 'landline', 'unknown'], 'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'address': {'type': ['string', 'null']}, 'website': {'type': ['string', 'null']}, 'crNumber': {'type': ['string', 'null']}, 'companyName': {'type': 'string'}, 'emailDomain': {'type': ['string', 'null']}, 'nameVariants': {'type': 'array', 'items': {'type': 'string'}}, 'websiteDomain': {'type': ['string', 'null']}, 'normalizedName': {'type': 'string'}, 'freeEmailProvider': {'type': 'boolean'}, 'requiredProductOrService': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'screeningResult': {'type': 'object', 'required': ['risk', 'riskScore', 'procurementSuitability', 'identityConfirmed', 'activityMatch', 'summary'], 'properties': {'risk': {'enum': ['low', 'medium', 'high', 'insufficient_data'], 'type': 'string'}, 'summary': {'type': 'string'}, 'riskScore': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'activityMatch': {'type': ['boolean', 'null']}, 'identityConfirmed': {'type': 'boolean'}, 'procurementSuitability': {'enum': ['appears_suitable', 'review_recommended', 'insufficient_information', 'potential_risk'], 'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
portfolio_exposure_check
Aggregate supplied open and proposed positions into gross, net, directional and concentration exposure with stop-risk and margin indicators. Use when an agent needs to assess portfolio concentration or directional exposure before adding or modifying a position.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['positions'], 'properties': {'account': {'type': 'object', 'properties': {'marginUsed': {'type': 'number', 'minimum': 0}, 'accountEquity': {'type': 'number'}, 'accountBalance': {'type': 'number'}, 'maxPositionPct': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'availableMargin': {'type': 'number', 'minimum': 0}, 'maxDailyLossPct': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'maxPortfolioRiskPct': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'maxConcurrentPositions': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'positions': {'type': 'array', 'items': {'type': 'object', 'required': ['symbol', 'direction', 'quantity', 'entryPrice'], 'properties': {'fees': {'type': 'number', 'minimum': 0}, 'margin': {'type': 'number', 'minimum': 0}, 'symbol': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'leverage': {'type': 'number', 'exclusiveMinimum': 0}, 'quantity': {'type': 'number', 'exclusiveMinimum': 0}, 'stopLoss': {'type': 'number', 'exclusiveMinimum': 0}, 'strategy': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'direction': {'enum': ['long', 'short'], 'type': 'string'}, 'assetClass': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'entryPrice': {'type': 'number', 'exclusiveMinimum': 0}, 'positionId': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'marketValue': {'type': 'number', 'minimum': 0}, 'currentPrice': {'type': 'number', 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'maxItems': 10000}, 'correlations': {'type': 'array', 'items': {'type': 'object', 'required': ['symbolA', 'symbolB', 'correlation'], 'properties': {'symbolA': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'symbolB': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'correlation': {'type': 'number', 'maximum': 1, 'minimum': -1}}, 'additionalProperties': False}, 'maxItems': 100000}, 'proposedPosition': {'type': 'object', 'required': ['symbol', 'direction', 'quantity', 'entryPrice'], 'properties': {'fees': {'type': 'number', 'minimum': 0}, 'margin': {'type': 'number', 'minimum': 0}, 'symbol': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'leverage': {'type': 'number', 'exclusiveMinimum': 0}, 'quantity': {'type': 'number', 'exclusiveMinimum': 0}, 'stopLoss': {'type': 'number', 'exclusiveMinimum': 0}, 'strategy': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'direction': {'enum': ['long', 'short'], 'type': 'string'}, 'assetClass': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'entryPrice': {'type': 'number', 'exclusiveMinimum': 0}, 'positionId': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'marketValue': {'type': 'number', 'minimum': 0}, 'currentPrice': {'type': 'number', 'exclusiveMinimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['grossExposure', 'netExposure', 'longExposure', 'shortExposure', 'exposurePctOfEquity', 'largestConcentrationPct', 'leverage', 'positions', 'concentrationFlags', 'riskFlags', 'summary', 'accountEquity', 'openRisk', 'marginUsage', 'availableFreeMargin'], 'properties': {'summary': {'type': 'string'}, 'leverage': {'type': ['number', 'null']}, 'openRisk': {'type': ['number', 'null']}, 'positions': {'type': 'array', 'items': {'type': 'object', 'required': ['symbol', 'direction', 'exposure', 'concentrationPct', 'openRisk'], 'properties': {'symbol': {'type': 'string'}, 'exposure': {'type': 'number', 'minimum': 0}, 'openRisk': {'type': ['number', 'null']}, 'direction': {'enum': ['long', 'short'], 'type': 'string'}, 'concentrationPct': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'riskFlags': {'type': 'array', 'items': {'type': 'string'}}, 'marginUsage': {'type': ['number', 'null']}, 'netExposure': {'type': 'number'}, 'longExposure': {'type': 'number', 'minimum': 0}, 'accountEquity': {'type': ['number', 'null']}, 'grossExposure': {'type': 'number', 'minimum': 0}, 'shortExposure': {'type': 'number', 'minimum': 0}, 'concentrationFlags': {'type': 'array', 'items': {'type': 'string'}}, 'sourceTraceability': {'type': 'object', 'required': ['strategyPerformance', 'tradeRisk', 'portfolioExposure', 'tradeLog', 'notes'], 'properties': {'notes': {'type': 'array', 'items': {'type': 'string'}}, 'tradeLog': {'enum': ['GROK', 'SIGNALFLOW', 'MERGED', 'NEW'], 'type': 'string'}, 'tradeRisk': {'enum': ['GROK', 'SIGNALFLOW', 'MERGED', 'NEW'], 'type': 'string'}, 'portfolioExposure': {'enum': ['GROK', 'SIGNALFLOW', 'MERGED', 'NEW'], 'type': 'string'}, 'strategyPerformance': {'enum': ['GROK', 'SIGNALFLOW', 'MERGED', 'NEW'], 'type': 'string'}}, 'additionalProperties': False}, 'availableFreeMargin': {'type': ['number', 'null']}, 'exposurePctOfEquity': {'type': ['number', 'null']}, 'largestConcentrationPct': {'type': ['number', 'null']}}, 'additionalProperties': False}
preview_capability
Free preview of a paid capability: checks whether useful data/analysis is available for a given input, before paying — proof of "I have information for this request," never the paid analysis itself. No payment, charge or account is ever involved. Not every capability supports preview (status is "unavailable" when it doesn't). Recommended flow: discover -> preview -> evaluate -> pay -> execute.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['capability'], 'properties': {'input': {'description': 'The same input the paid capability accepts. Optional for a capability whose preview needs no input fields.'}, 'capability': {'type': 'string', 'description': 'A capability name from this tool list, e.g. "research_company".'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['capability', 'status', 'inputRecognized', 'preview', 'fullResult'], 'properties': {'status': {'enum': ['available', 'limited', 'unavailable', 'invalid_input'], 'type': 'string'}, 'preview': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'capability': {'type': 'string'}, 'fullResult': {'type': 'object', 'required': ['capability', 'price'], 'properties': {'price': {'type': 'object', 'required': ['amount', 'currency'], 'properties': {'amount': {'type': 'string'}, 'currency': {'type': 'string'}}, 'additionalProperties': False}, 'endpoint': {'type': 'string'}, 'capability': {'type': 'string'}, 'paymentMethods': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'enabled', 'endpoint'], 'properties': {'id': {'type': 'string'}, 'enabled': {'type': 'boolean', 'const': True}, 'endpoint': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}, 'inputRecognized': {'type': 'boolean'}}, 'additionalProperties': False}
product_pricing_calculator
Calculate unit cost, price, margin and markup in OMR; does not validate market willingness to pay. Use when an agent needs the Creative Techno book framework for product pricing calculator.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['productCostOMR'], 'properties': {'laborOMR': {'type': 'number', 'default': 0, 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'language': {'enum': ['ar', 'en'], 'type': 'string', 'default': 'en'}, 'deliveryOMR': {'type': 'number', 'default': 0, 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'marketingOMR': {'type': 'number', 'default': 0, 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'packagingOMR': {'type': 'number', 'default': 0, 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'commissionOMR': {'type': 'number', 'default': 0, 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'productCostOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'desiredProfitOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'desiredMarginPercent': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'desiredMarkupPercent': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'otherVariableCostsOMR': {'type': 'number', 'default': 0, 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frameworkSource', 'language', 'result'], 'properties': {'result': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'language': {'enum': ['ar', 'en'], 'type': 'string'}, 'frameworkSource': {'type': 'object', 'required': ['publisher', 'title', 'edition'], 'properties': {'title': {'type': 'string', 'const': 'كيف تبدأ مشروعك الصغير في عُمان؟'}, 'edition': {'type': 'string', 'const': '2026'}, 'publisher': {'type': 'string', 'const': 'Creative Techno'}}, 'additionalProperties': False}}, 'additionalProperties': False}
research_company
Research a company from public web sources: overview, products, leadership, funding, competitors, technology signals, recent developments and risk flags, with cited sources and a confidence score. Use when an agent needs a structured research brief on a named company — for sales/investment/partnership research, competitive analysis, or general company background — beyond what a structured company registry alone provides.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['company'], 'properties': {'depth': {'enum': ['quick', 'standard', 'deep'], 'type': 'string', 'default': 'standard'}, 'company': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'country': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'website': {'type': 'string', 'maxLength': 300, 'minLength': 1}, 'focusAreas': {'type': 'array', 'items': {'enum': ['overview', 'products', 'leadership', 'funding', 'competitors', 'technology', 'recent_news', 'market_position', 'risks'], 'type': 'string'}, 'maxItems': 9}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['company', 'overview', 'productsAndServices', 'leadership', 'funding', 'competitors', 'technologySignals', 'recentDevelopments', 'riskFlags', 'sources', 'confidence', 'dataFreshness', 'cached', 'dataMode', 'limitations'], 'properties': {'cached': {'type': 'boolean'}, 'company': {'type': 'object', 'required': ['name', 'website', 'industry', 'headquarters', 'founded'], 'properties': {'name': {'type': 'string'}, 'founded': {'type': ['string', 'null']}, 'website': {'type': ['string', 'null']}, 'industry': {'type': ['string', 'null']}, 'headquarters': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'funding': {'type': 'object', 'required': ['summary', 'knownRounds'], 'properties': {'summary': {'type': ['string', 'null']}, 'knownRounds': {'type': 'array', 'items': {'type': 'object', 'required': ['round', 'amount', 'date', 'investors'], 'properties': {'date': {'type': ['string', 'null']}, 'round': {'type': ['string', 'null']}, 'amount': {'type': ['string', 'null']}, 'investors': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}}, 'additionalProperties': False}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['url', 'title', 'publisher', 'sourceType', 'observedAt'], 'properties': {'url': {'type': ['string', 'null']}, 'title': {'type': 'string'}, 'publisher': {'type': ['string', 'null']}, 'observedAt': {'type': 'string'}, 'sourceType': {'enum': ['web_search', 'company_website', 'news', 'government_registry', 'regulatory_registry', 'sanctions_list', 'domain_registry', 'rafid_oman_registry', 'not_configured'], 'type': 'string'}}, 'additionalProperties': False}}, 'dataMode': {'enum': ['live', 'not_configured'], 'type': 'string'}, 'overview': {'type': ['string', 'null']}, 'riskFlags': {'type': 'array', 'items': {'type': 'string'}}, 'confidence': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'leadership': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'title'], 'properties': {'name': {'type': 'string'}, 'title': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'competitors': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'reason'], 'properties': {'name': {'type': 'string'}, 'reason': {'type': 'string'}}, 'additionalProperties': False}}, 'limitations': {'type': 'array', 'items': {'type': 'string'}}, 'dataFreshness': {'type': 'object', 'required': ['latestSourceDate', 'freshnessDays'], 'properties': {'freshnessDays': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'latestSourceDate': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'technologySignals': {'type': 'array', 'items': {'type': 'string'}}, 'recentDevelopments': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'date', 'summary', 'source'], 'properties': {'date': {'type': ['string', 'null']}, 'title': {'type': 'string'}, 'source': {'type': ['string', 'null']}, 'summary': {'type': 'string'}}, 'additionalProperties': False}}, 'productsAndServices': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
sales_response_builder
Draft a customer-facing response for a supplied sales situation; does not send messages. Use when an agent needs the Creative Techno book framework for sales response builder.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['case', 'business', 'product', 'customerMessage'], 'properties': {'case': {'enum': ['price_inquiry', 'price_objection', 'undecided', 'close_sale', 'post_purchase', 'upsell', 'complaint'], 'type': 'string'}, 'product': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'business': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'language': {'enum': ['ar', 'en'], 'type': 'string', 'default': 'en'}, 'priceOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'customerMessage': {'type': 'string', 'maxLength': 2000, 'minLength': 1}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frameworkSource', 'language', 'result'], 'properties': {'result': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'language': {'enum': ['ar', 'en'], 'type': 'string'}, 'frameworkSource': {'type': 'object', 'required': ['publisher', 'title', 'edition'], 'properties': {'title': {'type': 'string', 'const': 'كيف تبدأ مشروعك الصغير في عُمان؟'}, 'edition': {'type': 'string', 'const': '2026'}, 'publisher': {'type': 'string', 'const': 'Creative Techno'}}, 'additionalProperties': False}}, 'additionalProperties': False}
search_oman_company
Search structured Oman business records by name, registration number, governorate, wilayat and/or industry, returning candidate companies ranked by deterministic identity-match confidence. Use before company analysis or due diligence when the exact company identity is uncertain, or to find candidate Oman companies matching a name or registration number.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'wilayat': {'type': 'string', 'maxLength': 60, 'minLength': 1}, 'industry': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'governorate': {'type': 'string', 'maxLength': 60, 'minLength': 1}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['matches', 'totalMatches'], 'properties': {'matches': {'type': 'array', 'items': {'type': 'object', 'required': ['companyId', 'companyName', 'normalizedName', 'legalType', 'industry', 'governorate', 'wilayat', 'status', 'website', 'confidence'], 'properties': {'status': {'type': ['string', 'null']}, 'website': {'type': ['string', 'null']}, 'wilayat': {'type': ['string', 'null']}, 'industry': {'type': ['string', 'null']}, 'companyId': {'type': 'string'}, 'legalType': {'type': ['string', 'null']}, 'confidence': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'companyName': {'type': 'string'}, 'governorate': {'type': ['string', 'null']}, 'normalizedName': {'type': 'string'}}, 'additionalProperties': False}}, 'totalMatches': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}
shipping_cost_estimate
Estimate domestic or international shipping cost, chargeable weight, transit time and common shipping surcharges using shipment dimensions, weight, origin, destination and service level. Estimates are not guaranteed carrier quotes; duties and taxes are excluded. Use when an agent needs to estimate delivery cost for a physical shipment before purchasing, selling, importing, exporting or selecting a shipping option.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['origin', 'destination', 'shipment'], 'properties': {'origin': {'type': 'object', 'required': ['country'], 'properties': {'city': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'country': {'type': 'string', 'maxLength': 2, 'minLength': 1}, 'postalCode': {'type': 'string', 'maxLength': 20, 'minLength': 1}}, 'additionalProperties': False}, 'currency': {'type': 'string', 'default': 'USD', 'maxLength': 3, 'minLength': 1}, 'shipment': {'type': 'object', 'required': ['weightKg'], 'properties': {'widthCm': {'type': 'number', 'maximum': 1000, 'exclusiveMinimum': 0}, 'category': {'type': 'string', 'maxLength': 60, 'minLength': 1}, 'heightCm': {'type': 'number', 'maximum': 1000, 'exclusiveMinimum': 0}, 'lengthCm': {'type': 'number', 'maximum': 1000, 'exclusiveMinimum': 0}, 'quantity': {'type': 'integer', 'default': 1, 'maximum': 10000, 'minimum': 1}, 'weightKg': {'type': 'number', 'maximum': 100000, 'exclusiveMinimum': 0}, 'declaredValue': {'type': 'number', 'maximum': 100000000, 'minimum': 0}}, 'additionalProperties': False}, 'destination': {'type': 'object', 'required': ['country'], 'properties': {'city': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'country': {'type': 'string', 'maxLength': 2, 'minLength': 1}, 'postalCode': {'type': 'string', 'maxLength': 20, 'minLength': 1}}, 'additionalProperties': False}, 'serviceLevel': {'enum': ['economy', 'standard', 'express', 'auto'], 'type': 'string', 'default': 'auto'}, 'shippingMode': {'enum': ['courier', 'air', 'sea', 'road', 'postal', 'auto'], 'type': 'string', 'default': 'auto'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['estimatedCost', 'recommendedEstimate', 'actualWeightKg', 'volumetricWeightKg', 'chargeableWeightKg', 'shippingMode', 'serviceLevel', 'estimatedTransitDays', 'costBreakdown', 'rateSource', 'provider', 'dutiesAndTaxes', 'confidence', 'assumptions', 'riskFlags', 'options', 'recommendedOptionReason', 'generatedAt'], 'properties': {'options': {'type': 'array', 'items': {'type': 'object', 'required': ['shippingMode', 'serviceLevel', 'estimatedCost', 'estimatedTransitDays', 'rateSource', 'provider'], 'properties': {'provider': {'type': ['string', 'null']}, 'rateSource': {'enum': ['live_carrier', 'internal_estimate', 'heuristic_estimate'], 'type': 'string'}, 'serviceLevel': {'enum': ['economy', 'standard', 'express'], 'type': 'string'}, 'shippingMode': {'enum': ['courier', 'air', 'sea', 'road', 'postal'], 'type': 'string'}, 'estimatedCost': {'type': 'object', 'required': ['min', 'max', 'currency'], 'properties': {'max': {'type': 'number', 'minimum': 0}, 'min': {'type': 'number', 'minimum': 0}, 'currency': {'type': 'string'}}, 'additionalProperties': False}, 'estimatedTransitDays': {'type': 'object', 'required': ['min', 'max'], 'properties': {'max': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'min': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}}, 'provider': {'type': ['string', 'null']}, 'riskFlags': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'severity', 'message'], 'properties': {'code': {'type': 'string'}, 'message': {'type': 'string'}, 'severity': {'enum': ['low', 'medium', 'high'], 'type': 'string'}}, 'additionalProperties': False}}, 'confidence': {'type': 'object', 'required': ['level', 'reason'], 'properties': {'level': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'reason': {'type': 'string'}}, 'additionalProperties': False}, 'rateSource': {'enum': ['live_carrier', 'internal_estimate', 'heuristic_estimate'], 'type': 'string'}, 'assumptions': {'type': 'array', 'items': {'type': 'string'}}, 'generatedAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$'}, 'serviceLevel': {'enum': ['economy', 'standard', 'express'], 'type': 'string'}, 'shippingMode': {'enum': ['courier', 'air', 'sea', 'road', 'postal'], 'type': 'string'}, 'costBreakdown': {'type': 'object', 'required': ['baseFreight', 'fuelSurcharge', 'handling', 'remoteAreaSurcharge', 'oversizeSurcharge', 'estimatedOtherFees'], 'properties': {'handling': {'type': 'number', 'minimum': 0}, 'baseFreight': {'type': 'number', 'minimum': 0}, 'fuelSurcharge': {'type': 'number', 'minimum': 0}, 'oversizeSurcharge': {'type': 'number', 'minimum': 0}, 'estimatedOtherFees': {'type': 'number', 'minimum': 0}, 'remoteAreaSurcharge': {'type': 'number', 'minimum': 0}}, 'additionalProperties': False}, 'estimatedCost': {'type': 'object', 'required': ['min', 'max', 'currency'], 'properties': {'max': {'type': 'number', 'minimum': 0}, 'min': {'type': 'number', 'minimum': 0}, 'currency': {'type': 'string'}}, 'additionalProperties': False}, 'actualWeightKg': {'type': 'number', 'exclusiveMinimum': 0}, 'dutiesAndTaxes': {'type': 'object', 'required': ['included', 'estimatedAmount', 'note'], 'properties': {'note': {'type': 'string'}, 'included': {'type': 'boolean', 'const': False}, 'estimatedAmount': {'type': 'null'}}, 'additionalProperties': False}, 'chargeableWeightKg': {'type': 'number', 'exclusiveMinimum': 0}, 'volumetricWeightKg': {'type': 'number', 'minimum': 0}, 'recommendedEstimate': {'type': 'number', 'minimum': 0}, 'estimatedTransitDays': {'type': 'object', 'required': ['min', 'max'], 'properties': {'max': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'min': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}, 'recommendedOptionReason': {'anyOf': [{'enum': ['lowest_estimated_cost', 'shortest_transit', 'balanced_cost_and_time'], 'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}
startup_cost_estimate
Calculate startup capital, runway and reserve in OMR using integer baisa internally. Use when an agent needs the Creative Techno book framework for startup cost estimate.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['setupCostsOMR', 'monthlyFixedCostsOMR', 'initialInventoryOMR'], 'properties': {'language': {'enum': ['ar', 'en'], 'type': 'string', 'default': 'en'}, 'runwayMonths': {'type': 'integer', 'default': 3, 'maximum': 120, 'minimum': 0}, 'setupCostsOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'reservePercent': {'type': 'number', 'default': 10, 'maximum': 100, 'minimum': 0}, 'initialInventoryOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}, 'monthlyFixedCostsOMR': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'OMR; calculations use integer baisa internally'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frameworkSource', 'language', 'result'], 'properties': {'result': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'language': {'enum': ['ar', 'en'], 'type': 'string'}, 'frameworkSource': {'type': 'object', 'required': ['publisher', 'title', 'edition'], 'properties': {'title': {'type': 'string', 'const': 'كيف تبدأ مشروعك الصغير في عُمان؟'}, 'edition': {'type': 'string', 'const': '2026'}, 'publisher': {'type': 'string', 'const': 'Creative Techno'}}, 'additionalProperties': False}}, 'additionalProperties': False}
startup_readiness_score
Score the book's 15-question readiness assessment deterministically; does not predict business success. Use when an agent needs the Creative Techno book framework for startup readiness score.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['answers'], 'properties': {'answers': {'type': 'array', 'items': {'type': 'boolean'}, 'maxItems': 15, 'minItems': 15}, 'language': {'enum': ['ar', 'en'], 'type': 'string', 'default': 'en'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frameworkSource', 'language', 'result'], 'properties': {'result': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'language': {'enum': ['ar', 'en'], 'type': 'string'}, 'frameworkSource': {'type': 'object', 'required': ['publisher', 'title', 'edition'], 'properties': {'title': {'type': 'string', 'const': 'كيف تبدأ مشروعك الصغير في عُمان؟'}, 'edition': {'type': 'string', 'const': '2026'}, 'publisher': {'type': 'string', 'const': 'Creative Techno'}}, 'additionalProperties': False}}, 'additionalProperties': False}
strategy_performance_analysis
Calculate historical trade-level strategy performance metrics from supplied records, including P&L, win/loss statistics and supported drawdown metrics; this is historical analysis, not a forecast. Use when an agent needs deterministic historical performance analysis for a supplied trading strategy or trade set.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['trades'], 'properties': {'period': {'type': 'object', 'properties': {'to': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, {'type': 'number'}]}, 'from': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, {'type': 'number'}]}}, 'additionalProperties': False}, 'trades': {'type': 'array', 'items': {'type': 'object', 'required': ['symbol'], 'properties': {'fees': {'type': 'number', 'minimum': 0}, 'margin': {'type': 'number', 'minimum': 0}, 'source': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'status': {'enum': ['open', 'closed', 'cancelled', 'rejected'], 'type': 'string'}, 'symbol': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'session': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'tradeId': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'exitTime': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, {'type': 'number'}]}, 'leverage': {'type': 'number', 'exclusiveMinimum': 0}, 'quantity': {'type': 'number', 'exclusiveMinimum': 0}, 'stopLoss': {'type': 'number', 'exclusiveMinimum': 0}, 'strategy': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'direction': {'enum': ['long', 'short'], 'type': 'string'}, 'entryTime': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, {'type': 'number'}]}, 'exitPrice': {'type': 'number', 'exclusiveMinimum': 0}, 'rMultiple': {'type': 'number'}, 'timeframe': {'type': 'string', 'maxLength': 30, 'minLength': 1}, 'assetClass': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'confidence': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'entryPrice': {'type': 'number', 'exclusiveMinimum': 0}, 'exitReason': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'takeProfit': {'type': 'number', 'exclusiveMinimum': 0}, 'realizedPnl': {'type': 'number'}, 'takeProfits': {'type': 'array', 'items': {'type': 'number', 'exclusiveMinimum': 0}, 'maxItems': 20}, 'marketRegime': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'executionStatus': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxAdverseExcursion': {'type': 'number'}, 'maxFavorableExcursion': {'type': 'number'}}, 'additionalProperties': False}, 'maxItems': 100000}, 'riskPerTrade': {'type': 'number', 'exclusiveMinimum': 0}, 'accountEquity': {'type': 'number', 'minimum': 0}, 'initialEquity': {'type': 'number', 'minimum': 0}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['metrics', 'performanceSummary', 'strengths', 'weaknesses', 'riskFlags', 'dataQuality', 'calculationAssumptions'], 'properties': {'metrics': {'type': 'object', 'required': ['totalTrades', 'winningTrades', 'losingTrades', 'breakevenTrades', 'winRate', 'lossRate', 'grossProfit', 'grossLoss', 'netPnl', 'averageWinningTrade', 'averageLosingTrade', 'largestWinner', 'largestLoser', 'profitFactor', 'expectancyPerTrade', 'averageRMultiple', 'cumulativeReturn', 'maximumDrawdown', 'currentDrawdown', 'recoveryFactor', 'sharpeRatio', 'sortinoRatio', 'volatility', 'averageHoldingPeriodSeconds', 'bestTradingDay', 'worstTradingDay', 'maxConsecutiveWins', 'maxConsecutiveLosses'], 'properties': {'netPnl': {'type': ['number', 'null']}, 'totalR': {'type': ['number', 'null']}, 'winRate': {'type': ['number', 'null']}, 'lossRate': {'type': ['number', 'null']}, 'grossLoss': {'type': ['number', 'null']}, 'volatility': {'type': ['number', 'null']}, 'grossProfit': {'type': ['number', 'null']}, 'sharpeRatio': {'type': ['number', 'null']}, 'totalTrades': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'largestLoser': {'type': ['number', 'null']}, 'losingTrades': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'profitFactor': {'type': ['number', 'null']}, 'sortinoRatio': {'type': ['number', 'null']}, 'largestWinner': {'type': ['number', 'null']}, 'winningTrades': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'bestTradingDay': {'type': ['string', 'null']}, 'recoveryFactor': {'type': ['number', 'null']}, 'breakevenTrades': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'currentDrawdown': {'type': ['number', 'null']}, 'maximumDrawdown': {'type': ['number', 'null']}, 'worstTradingDay': {'type': ['string', 'null']}, 'averageRMultiple': {'type': ['number', 'null']}, 'cumulativeReturn': {'type': ['number', 'null']}, 'maximumDrawdownR': {'type': ['number', 'null']}, 'averageLosingTrade': {'type': ['number', 'null']}, 'expectancyPerTrade': {'type': ['number', 'null']}, 'maxConsecutiveWins': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'averageWinningTrade': {'type': ['number', 'null']}, 'maxConsecutiveLosses': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'averageHoldingPeriodSeconds': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'riskFlags': {'type': 'array', 'items': {'type': 'string'}}, 'strengths': {'type': 'array', 'items': {'type': 'string'}}, 'weaknesses': {'type': 'array', 'items': {'type': 'string'}}, 'dataQuality': {'type': 'object', 'required': ['completeTradeCount', 'incompleteTradeCount', 'warnings'], 'properties': {'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'completeTradeCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'incompleteTradeCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}, 'methodology': {'type': 'array', 'items': {'type': 'string'}}, 'performanceSummary': {'type': 'string'}, 'sourceTraceability': {'type': 'object', 'required': ['strategyPerformance', 'tradeRisk', 'portfolioExposure', 'tradeLog', 'notes'], 'properties': {'notes': {'type': 'array', 'items': {'type': 'string'}}, 'tradeLog': {'enum': ['GROK', 'SIGNALFLOW', 'MERGED', 'NEW'], 'type': 'string'}, 'tradeRisk': {'enum': ['GROK', 'SIGNALFLOW', 'MERGED', 'NEW'], 'type': 'string'}, 'portfolioExposure': {'enum': ['GROK', 'SIGNALFLOW', 'MERGED', 'NEW'], 'type': 'string'}, 'strategyPerformance': {'enum': ['GROK', 'SIGNALFLOW', 'MERGED', 'NEW'], 'type': 'string'}}, 'additionalProperties': False}, 'calculationAssumptions': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
trade_log_analysis
Analyze supplied raw trade records for deterministic performance, execution quality, grouping, streaks, data-quality issues and risk patterns. Use when an agent needs structured statistics and findings from a trading log or execution history.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['records'], 'properties': {'records': {'type': 'array', 'items': {}, 'maxItems': 100000}, 'accountEquity': {'type': 'number', 'minimum': 0}, 'duplicateTradeIdPolicy': {'enum': ['flag', 'deduplicate'], 'type': 'string'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['summary', 'performanceBySymbol', 'performanceByStrategy', 'performanceBySession', 'executionMetrics', 'behavioralPatterns', 'anomalies', 'riskFlags', 'dataQuality'], 'properties': {'summary': {'type': 'object', 'required': ['totalTrades', 'closedTrades', 'openTrades', 'wins', 'losses', 'netPnl', 'fees', 'maxWinningStreak', 'maxLosingStreak', 'averageHoldingDurationSeconds'], 'properties': {'fees': {'type': ['number', 'null']}, 'wins': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'losses': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'netPnl': {'type': ['number', 'null']}, 'openTrades': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'totalTrades': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'closedTrades': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'maxLosingStreak': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'maxWinningStreak': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'averageHoldingDurationSeconds': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'anomalies': {'type': 'array', 'items': {'type': 'string'}}, 'riskFlags': {'type': 'array', 'items': {'type': 'string'}}, 'dataQuality': {'type': 'object', 'required': ['completeTradeCount', 'incompleteTradeCount', 'warnings'], 'properties': {'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'completeTradeCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'incompleteTradeCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}, 'executionMetrics': {'type': 'object', 'required': ['completeRecords', 'malformedRecords', 'duplicateTradeIds', 'outOfOrderTimestamps', 'missingPrices'], 'properties': {'missingPrices': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'completeRecords': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'malformedRecords': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'duplicateTradeIds': {'type': 'array', 'items': {'type': 'string'}}, 'outOfOrderTimestamps': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}, 'behavioralPatterns': {'type': 'array', 'items': {'type': 'string'}}, 'sourceTraceability': {'type': 'object', 'required': ['strategyPerformance', 'tradeRisk', 'portfolioExposure', 'tradeLog', 'notes'], 'properties': {'notes': {'type': 'array', 'items': {'type': 'string'}}, 'tradeLog': {'enum': ['GROK', 'SIGNALFLOW', 'MERGED', 'NEW'], 'type': 'string'}, 'tradeRisk': {'enum': ['GROK', 'SIGNALFLOW', 'MERGED', 'NEW'], 'type': 'string'}, 'portfolioExposure': {'enum': ['GROK', 'SIGNALFLOW', 'MERGED', 'NEW'], 'type': 'string'}, 'strategyPerformance': {'enum': ['GROK', 'SIGNALFLOW', 'MERGED', 'NEW'], 'type': 'string'}}, 'additionalProperties': False}, 'performanceBySymbol': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'trades', 'wins', 'losses', 'netPnl', 'fees', 'winRate'], 'properties': {'key': {'type': 'string'}, 'fees': {'type': ['number', 'null']}, 'wins': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'losses': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'netPnl': {'type': ['number', 'null']}, 'trades': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'winRate': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'performanceBySession': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'trades', 'wins', 'losses', 'netPnl', 'fees', 'winRate'], 'properties': {'key': {'type': 'string'}, 'fees': {'type': ['number', 'null']}, 'wins': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'losses': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'netPnl': {'type': ['number', 'null']}, 'trades': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'winRate': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'performanceByStrategy': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'trades', 'wins', 'losses', 'netPnl', 'fees', 'winRate'], 'properties': {'key': {'type': 'string'}, 'fees': {'type': ['number', 'null']}, 'wins': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'losses': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'netPnl': {'type': ['number', 'null']}, 'trades': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'winRate': {'type': ['number', 'null']}}, 'additionalProperties': False}}}, 'additionalProperties': False}
trade_risk_score
Calculate a transparent deterministic 0–100 risk score for a proposed trade from entry, protection, sizing, account and portfolio context. Use before an agent recommends or executes a trade and needs an auditable risk score rather than an opaque model judgment.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['trade'], 'properties': {'trade': {'type': 'object', 'required': ['direction', 'entryPrice', 'quantity'], 'properties': {'symbol': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'leverage': {'type': 'number', 'exclusiveMinimum': 0}, 'quantity': {'type': 'number', 'exclusiveMinimum': 0}, 'stopLoss': {'type': 'number', 'exclusiveMinimum': 0}, 'strategy': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'direction': {'enum': ['long', 'short'], 'type': 'string'}, 'timeframe': {'type': 'string', 'maxLength': 30, 'minLength': 1}, 'entryPrice': {'type': 'number', 'exclusiveMinimum': 0}, 'takeProfit': {'type': 'number', 'exclusiveMinimum': 0}, 'takeProfits': {'type': 'array', 'items': {'type': 'number', 'exclusiveMinimum': 0}, 'maxItems': 20}, 'volatilityPct': {'type': 'number', 'minimum': 0}, 'liquidityScore': {'type': 'number', 'maximum': 1, 'minimum': 0}}, 'additionalProperties': False}, 'account': {'type': 'object', 'properties': {'marginUsed': {'type': 'number', 'minimum': 0}, 'accountEquity': {'type': 'number'}, 'accountBalance': {'type': 'number'}, 'maxPositionPct': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'availableMargin': {'type': 'number', 'minimum': 0}, 'maxDailyLossPct': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'maxPortfolioRiskPct': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'maxConcurrentPositions': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'historicalRisk': {'type': 'object', 'properties': {'lossRate': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'maxDrawdownPct': {'type': 'number'}, 'averageRMultiple': {'type': 'number'}}, 'additionalProperties': False}, 'existingPositions': {'type': 'array', 'items': {'type': 'object', 'required': ['symbol', 'direction', 'quantity', 'entryPrice'], 'properties': {'fees': {'type': 'number', 'minimum': 0}, 'margin': {'type': 'number', 'minimum': 0}, 'symbol': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'leverage': {'type': 'number', 'exclusiveMinimum': 0}, 'quantity': {'type': 'number', 'exclusiveMinimum': 0}, 'stopLoss': {'type': 'number', 'exclusiveMinimum': 0}, 'strategy': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'direction': {'enum': ['long', 'short'], 'type': 'string'}, 'assetClass': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'entryPrice': {'type': 'number', 'exclusiveMinimum': 0}, 'positionId': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'marketValue': {'type': 'number', 'minimum': 0}, 'currentPrice': {'type': 'number', 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'maxItems': 10000}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['riskScore', 'riskLevel', 'riskAmount', 'accountRiskPct', 'riskRewardRatio', 'positionExposurePct', 'leverage', 'riskFactors', 'positiveFactors', 'warnings', 'calculationBreakdown'], 'properties': {'leverage': {'type': ['number', 'null']}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'riskLevel': {'enum': ['low', 'moderate', 'high', 'critical'], 'type': 'string'}, 'riskScore': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'riskAmount': {'type': ['number', 'null']}, 'riskFactors': {'type': 'array', 'items': {'type': 'string'}}, 'safeLeverage': {'type': ['number', 'null']}, 'accountRiskPct': {'type': ['number', 'null']}, 'positiveFactors': {'type': 'array', 'items': {'type': 'string'}}, 'riskRewardRatio': {'type': ['number', 'null']}, 'sourceTraceability': {'type': 'object', 'required': ['strategyPerformance', 'tradeRisk', 'portfolioExposure', 'tradeLog', 'notes'], 'properties': {'notes': {'type': 'array', 'items': {'type': 'string'}}, 'tradeLog': {'enum': ['GROK', 'SIGNALFLOW', 'MERGED', 'NEW'], 'type': 'string'}, 'tradeRisk': {'enum': ['GROK', 'SIGNALFLOW', 'MERGED', 'NEW'], 'type': 'string'}, 'portfolioExposure': {'enum': ['GROK', 'SIGNALFLOW', 'MERGED', 'NEW'], 'type': 'string'}, 'strategyPerformance': {'enum': ['GROK', 'SIGNALFLOW', 'MERGED', 'NEW'], 'type': 'string'}}, 'additionalProperties': False}, 'positionExposurePct': {'type': ['number', 'null']}, 'calculationBreakdown': {'type': 'object', 'required': ['components', 'thresholds', 'assumptions'], 'properties': {'components': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'number'}}, 'thresholds': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'number'}}, 'assumptions': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'additionalProperties': False}
vehicle_value_estimate
Estimate the fair market value of a vehicle using make, model, year, trim, mileage, condition, ownership history, location and available market comparables. Returns a valuation range, private-sale estimate, dealer buy/retail estimates, depreciation, transparent valuation adjustments, confidence and risk flags. Use this capability when an AI agent needs to estimate the current market value of a passenger vehicle, determine whether an asking price is reasonable, estimate private-sale or dealer values, assess depreciation, or evaluate a vehicle using local or regional market comparables.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['make', 'model', 'year', 'country'], 'properties': {'vin': {'type': 'string', 'description': "Optional 17-character VIN. Validated (and decoded when the deployment enables a VIN decoder) to confirm make/model/year, fill missing trim/body/fuel/drivetrain, and exclude the vehicle's own listing from its comparables. Never stored or logged; returned masked."}, 'city': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'City or region, e.g. Muscat. Strongly recommended — same-city comparables score higher.'}, 'make': {'type': 'string', 'maxLength': 60, 'minLength': 1, 'description': 'Manufacturer, e.g. Toyota. Required. Common aliases are normalized (VW → Volkswagen, Mercedes → Mercedes-Benz).'}, 'trim': {'type': 'string', 'maxLength': 60, 'minLength': 1, 'description': 'Trim / grade, e.g. GXR, VXR, XLE. Strongly recommended — trim-level comparables are preferred over model-level ones.'}, 'year': {'type': 'integer', 'maximum': 2027, 'minimum': 1950, 'description': 'Model year (1950–next calendar year). Required.'}, 'color': {'type': 'string', 'maxLength': 40, 'minLength': 1, 'description': 'Exterior colour (recorded; not priced separately).'}, 'model': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'Model, e.g. Land Cruiser. Required.'}, 'engine': {'type': 'string', 'maxLength': 60, 'minLength': 1, 'description': 'Engine description, e.g. 4.0L V6 (recorded; not priced separately).'}, 'owners': {'type': 'integer', 'maximum': 20, 'minimum': 1, 'description': 'Number of previous registered owners (1–20).'}, 'country': {'type': 'string', 'maxLength': 60, 'minLength': 2, 'description': 'Market the vehicle is sold in — ISO 3166 alpha-2 (e.g. OM, AE, US, GB) or country name. Required.'}, 'options': {'type': 'array', 'items': {'type': 'string', 'maxLength': 60, 'minLength': 1}, 'maxItems': 40, 'description': 'Notable equipment, e.g. ["sunroof", "leather seats", "360 camera"] (max 40).'}, 'bodyType': {'enum': ['sedan', 'hatchback', 'suv', 'crossover', 'pickup', 'coupe', 'convertible', 'wagon', 'van', 'minivan', 'other'], 'type': 'string', 'description': 'sedan, hatchback, suv, crossover, pickup, coupe, convertible, wagon, van, minivan or other.'}, 'currency': {'type': 'string', 'maxLength': 8, 'minLength': 1, 'description': "Result currency (ISO 4217). Defaults to the market's local currency; askingPrice is interpreted in this currency."}, 'fuelType': {'enum': ['petrol', 'diesel', 'hybrid', 'plug_in_hybrid', 'electric', 'lpg', 'cng', 'hydrogen', 'other'], 'type': 'string', 'description': 'petrol, diesel, hybrid, plug_in_hybrid, electric, lpg, cng, hydrogen or other (synonyms such as gasoline accepted).'}, 'condition': {'enum': ['excellent', 'very_good', 'good', 'fair', 'poor', 'unknown'], 'type': 'string', 'description': 'Overall condition: excellent, very_good, good, fair, poor or unknown. Strongly recommended.'}, 'mileageKm': {'type': 'integer', 'maximum': 2000000, 'minimum': 0, 'description': 'Odometer reading in kilometres. Strongly recommended — without it no mileage adjustment is possible and confidence drops.'}, 'drivetrain': {'enum': ['fwd', 'rwd', 'awd', '4wd'], 'type': 'string', 'description': 'fwd, rwd, awd or 4wd.'}, 'askingPrice': {'type': 'number', 'maximum': 100000000, 'description': 'Asking price to assess, in `currency` (or the market currency). Adds askingPriceAnalysis with the exact difference from the estimated midpoint.', 'exclusiveMinimum': 0}, 'transmission': {'enum': ['automatic', 'manual', 'cvt', 'dct', 'other'], 'type': 'string', 'description': 'automatic, manual, cvt, dct or other.'}, 'valuationDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Optional as-of date (YYYY-MM-DD, not in the future). Defaults to today (UTC). Market evidence observed after this date is ignored — useful for insurance or historical valuation.'}, 'serviceHistory': {'enum': ['full', 'partial', 'none', 'unknown'], 'type': 'string', 'description': 'full, partial, none or unknown.'}, 'accidentHistory': {'anyOf': [{'type': 'boolean'}, {'enum': ['none', 'minor_cosmetic', 'repaired', 'structural', 'reported', 'unknown'], 'type': 'string'}], 'description': 'false / "none" = no known accident; "minor_cosmetic", "repaired", "structural"; true / "reported" = an accident with unstated severity; "unknown".'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status', 'vehicle', 'valuationDate', 'currency', 'estimatedValue', 'estimatedPrivateSalePrice', 'estimatedDealerBuyPrice', 'estimatedDealerRetailPrice', 'askingPriceAnalysis', 'depreciation', 'adjustments', 'marketComparables', 'marketStats', 'methodology', 'confidence', 'riskFlags', 'assumptions', 'dataFreshness', 'marketCoverage', 'vinCheck', 'currencyConversion', 'disclaimer'], 'properties': {'status': {'enum': ['estimated', 'insufficient_market_data'], 'type': 'string'}, 'vehicle': {'type': 'object', 'required': ['make', 'model', 'year', 'trim', 'mileageKm', 'condition', 'country', 'countryCode', 'city', 'fuelType', 'transmission', 'bodyType', 'drivetrain', 'engine', 'accidentHistory', 'serviceHistory', 'owners', 'color', 'options', 'ageYears', 'expectedMileageKm', 'mileageVsExpectedPercent'], 'properties': {'city': {'type': ['string', 'null']}, 'make': {'type': 'string'}, 'trim': {'type': ['string', 'null']}, 'year': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'color': {'type': ['string', 'null']}, 'model': {'type': 'string'}, 'engine': {'type': ['string', 'null']}, 'owners': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'country': {'type': 'string'}, 'options': {'type': 'array', 'items': {'type': 'string'}}, 'ageYears': {'type': 'number'}, 'bodyType': {'anyOf': [{'enum': ['sedan', 'hatchback', 'suv', 'crossover', 'pickup', 'coupe', 'convertible', 'wagon', 'van', 'minivan', 'other'], 'type': 'string'}, {'type': 'null'}]}, 'fuelType': {'anyOf': [{'enum': ['petrol', 'diesel', 'hybrid', 'plug_in_hybrid', 'electric', 'lpg', 'cng', 'hydrogen', 'other'], 'type': 'string'}, {'type': 'null'}]}, 'condition': {'enum': ['excellent', 'very_good', 'good', 'fair', 'poor', 'unknown'], 'type': 'string'}, 'mileageKm': {'type': ['number', 'null']}, 'drivetrain': {'anyOf': [{'enum': ['fwd', 'rwd', 'awd', '4wd'], 'type': 'string'}, {'type': 'null'}]}, 'countryCode': {'type': 'string'}, 'transmission': {'anyOf': [{'enum': ['automatic', 'manual', 'cvt', 'dct', 'other'], 'type': 'string'}, {'type': 'null'}]}, 'serviceHistory': {'enum': ['full', 'partial', 'none', 'unknown'], 'type': 'string'}, 'accidentHistory': {'enum': ['none', 'minor_cosmetic', 'repaired', 'structural', 'reported', 'unknown'], 'type': 'string'}, 'expectedMileageKm': {'type': ['number', 'null']}, 'mileageVsExpectedPercent': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'currency': {'type': 'string'}, 'vinCheck': {'anyOf': [{'type': 'object', 'required': ['vinMasked', 'wmiRegion', 'checkDigit', 'decoder', 'decodeStatus', 'decoded', 'matches', 'enrichedFields', 'notes'], 'properties': {'notes': {'type': 'array', 'items': {'type': 'string'}}, 'decoded': {'type': 'object', 'required': ['make', 'model', 'modelYear', 'trim', 'bodyClass', 'fuelType', 'driveType', 'transmission', 'engine'], 'properties': {'make': {'type': ['string', 'null']}, 'trim': {'type': ['string', 'null']}, 'model': {'type': ['string', 'null']}, 'engine': {'type': ['string', 'null']}, 'fuelType': {'type': ['string', 'null']}, 'bodyClass': {'type': ['string', 'null']}, 'driveType': {'type': ['string', 'null']}, 'modelYear': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'transmission': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'decoder': {'type': 'string'}, 'matches': {'type': 'object', 'required': ['make', 'model', 'year'], 'properties': {'make': {'type': ['boolean', 'null']}, 'year': {'type': ['boolean', 'null']}, 'model': {'type': ['boolean', 'null']}}, 'additionalProperties': False}, 'vinMasked': {'type': 'string'}, 'wmiRegion': {'enum': ['north_america', 'south_america', 'europe', 'asia', 'africa', 'oceania', 'unknown'], 'type': 'string'}, 'checkDigit': {'enum': ['valid', 'invalid', 'not_applicable'], 'type': 'string'}, 'decodeStatus': {'enum': ['decoded', 'not_decoded', 'unavailable', 'not_configured'], 'type': 'string'}, 'enrichedFields': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, {'type': 'null'}]}, 'riskFlags': {'type': 'array', 'items': {'enum': ['INSUFFICIENT_COMPARABLES', 'NO_MARKET_DATA_PROVIDER', 'STALE_MARKET_DATA', 'HIGH_PRICE_DISPERSION', 'MILEAGE_UNKNOWN', 'TRIM_UNKNOWN', 'CONDITION_UNKNOWN', 'ACCIDENT_HISTORY_UNKNOWN', 'ACCIDENT_SEVERITY_UNVERIFIED', 'STRUCTURAL_DAMAGE_REPORTED', 'HIGH_MILEAGE_FOR_AGE', 'ASKING_PRICE_SIGNIFICANTLY_ABOVE_MARKET', 'ASKING_PRICE_SIGNIFICANTLY_BELOW_MARKET', 'CURRENCY_CONVERSION_UNAVAILABLE', 'REGIONAL_FALLBACK_USED', 'BROADENED_COMPARABLE_SEARCH', 'HEURISTIC_ADJUSTMENTS_USED', 'PROVIDER_PARTIAL_FAILURE', 'OUTLIERS_REMOVED', 'VIN_MISMATCH', 'VIN_CHECK_DIGIT_INVALID', 'VIN_DECODE_UNAVAILABLE', 'SUBJECT_LISTING_EXCLUDED'], 'type': 'string'}}, 'confidence': {'type': 'object', 'required': ['score', 'level', 'reasons', 'factors'], 'properties': {'level': {'enum': ['high', 'medium', 'low', 'very_low'], 'type': 'string'}, 'score': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'factors': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'number', 'maximum': 1, 'minimum': 0}}, 'reasons': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'disclaimer': {'type': 'string'}, 'adjustments': {'type': 'array', 'items': {'type': 'object', 'required': ['factor', 'impactAmount', 'impactPercent', 'basis', 'reason'], 'properties': {'basis': {'enum': ['market_derived', 'heuristic'], 'type': 'string'}, 'factor': {'type': 'string'}, 'reason': {'type': 'string'}, 'impactAmount': {'type': 'number'}, 'impactPercent': {'type': 'number'}}, 'additionalProperties': False}}, 'assumptions': {'type': 'array', 'items': {'type': 'string'}}, 'marketStats': {'type': 'object', 'required': ['comparableCount', 'comparablesConsidered', 'outliersExcluded', 'medianPrice', 'averagePrice', 'medianMileageKm', 'priceDispersionPercent', 'recentListingCount', 'pricePerKmAdjustment', 'currencyExcludedCount'], 'properties': {'medianPrice': {'type': ['number', 'null']}, 'averagePrice': {'type': ['number', 'null']}, 'comparableCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'medianMileageKm': {'type': ['number', 'null']}, 'outliersExcluded': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'recentListingCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'pricePerKmAdjustment': {'type': ['number', 'null']}, 'comparablesConsidered': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'currencyExcludedCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'priceDispersionPercent': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'methodology': {'type': 'object', 'required': ['fallbackLevel', 'fallbackLevelDescription', 'outlierMethod', 'yearEffect', 'mileageEffect', 'rangeHalfWidthPercent', 'dealerBuyDiscountPercent', 'privateSaleAdjustmentPercent', 'dealerRetailMarkupPercent', 'listingNegotiationDiscountPercent'], 'properties': {'yearEffect': {'type': 'object', 'required': ['basis', 'annualPercent'], 'properties': {'basis': {'enum': ['market_derived', 'heuristic', 'not_needed'], 'type': 'string'}, 'annualPercent': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'fallbackLevel': {'anyOf': [{'enum': ['same_trim_same_year', 'same_trim_year_plus_minus_1', 'same_model_year_plus_minus_1', 'same_model_year_plus_minus_2', 'regional_same_model_year_plus_minus_2'], 'type': 'string'}, {'type': 'null'}]}, 'mileageEffect': {'type': 'object', 'required': ['basis', 'percentPer10000Km'], 'properties': {'basis': {'enum': ['market_derived', 'heuristic', 'not_applied'], 'type': 'string'}, 'percentPer10000Km': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'outlierMethod': {'type': 'string'}, 'rangeHalfWidthPercent': {'type': ['number', 'null']}, 'dealerBuyDiscountPercent': {'type': ['number', 'null']}, 'fallbackLevelDescription': {'type': ['string', 'null']}, 'dealerRetailMarkupPercent': {'type': ['number', 'null']}, 'privateSaleAdjustmentPercent': {'type': ['number', 'null']}, 'listingNegotiationDiscountPercent': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'depreciation': {'type': 'object', 'required': ['estimatedOriginalPrice', 'originalPriceSource', 'totalDepreciationAmount', 'totalDepreciationPercent', 'estimatedAnnualDepreciationPercent', 'marketImpliedAnnualDepreciationPercent'], 'properties': {'originalPriceSource': {'type': ['string', 'null']}, 'estimatedOriginalPrice': {'type': ['number', 'null']}, 'totalDepreciationAmount': {'type': ['number', 'null']}, 'totalDepreciationPercent': {'type': ['number', 'null']}, 'estimatedAnnualDepreciationPercent': {'type': ['number', 'null']}, 'marketImpliedAnnualDepreciationPercent': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'dataFreshness': {'type': 'object', 'required': ['latestComparableAt', 'oldestComparableAt', 'medianComparableAgeDays', 'recentListingCount', 'recentWindowDays'], 'properties': {'recentWindowDays': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'latestComparableAt': {'type': ['string', 'null']}, 'oldestComparableAt': {'type': ['string', 'null']}, 'recentListingCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'medianComparableAgeDays': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'valuationDate': {'type': 'string'}, 'estimatedValue': {'anyOf': [{'type': 'object', 'required': ['low', 'mid', 'high', 'currency'], 'properties': {'low': {'type': 'number'}, 'mid': {'type': 'number'}, 'high': {'type': 'number'}, 'currency': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'marketCoverage': {'type': 'object', 'required': ['countryCode', 'country', 'region', 'valuationParametersConfigured', 'marketDataProviders', 'liveMarketDataAvailable', 'regionalFallbackCountries'], 'properties': {'region': {'type': 'string'}, 'country': {'type': 'string'}, 'countryCode': {'type': 'string'}, 'marketDataProviders': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'status', 'comparablesReturned'], 'properties': {'id': {'type': 'string'}, 'status': {'enum': ['ok', 'empty', 'timeout', 'error'], 'type': 'string'}, 'comparablesReturned': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}}, 'liveMarketDataAvailable': {'type': 'boolean'}, 'regionalFallbackCountries': {'type': 'array', 'items': {'type': 'string'}}, 'valuationParametersConfigured': {'type': 'boolean'}}, 'additionalProperties': False}, 'marketComparables': {'type': 'array', 'items': {'type': 'object', 'required': ['make', 'model', 'year', 'trim', 'mileageKm', 'askingPrice', 'currency', 'originalAskingPrice', 'originalCurrency', 'country', 'city', 'sourceName', 'sourceUrl', 'observedAt', 'priceType', 'similarityScore'], 'properties': {'city': {'type': ['string', 'null']}, 'make': {'type': 'string'}, 'trim': {'type': ['string', 'null']}, 'year': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'model': {'type': 'string'}, 'country': {'type': 'string'}, 'currency': {'type': 'string'}, 'mileageKm': {'type': ['number', 'null']}, 'priceType': {'enum': ['listing', 'sale'], 'type': 'string'}, 'sourceUrl': {'type': ['string', 'null']}, 'observedAt': {'type': ['string', 'null']}, 'sourceName': {'type': 'string'}, 'askingPrice': {'type': 'number'}, 'similarityScore': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'originalCurrency': {'type': 'string'}, 'originalAskingPrice': {'type': 'number'}}, 'additionalProperties': False}}, 'currencyConversion': {'type': 'object', 'required': ['resultCurrency', 'sourcesConfigured', 'conversions'], 'properties': {'conversions': {'type': 'array', 'items': {'type': 'object', 'required': ['from', 'to', 'rate', 'source', 'rateDate'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}, 'rate': {'type': 'number', 'exclusiveMinimum': 0}, 'source': {'type': 'string'}, 'rateDate': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'resultCurrency': {'type': 'string'}, 'sourcesConfigured': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'askingPriceAnalysis': {'anyOf': [{'type': 'object', 'required': ['askingPrice', 'differenceFromMid', 'differencePercent', 'marketPosition', 'withinEstimatedRange', 'thresholdsPercent'], 'properties': {'askingPrice': {'type': 'number'}, 'marketPosition': {'enum': ['well_below_market', 'below_market', 'near_market', 'above_market', 'well_above_market'], 'type': 'string'}, 'differenceFromMid': {'type': 'number'}, 'differencePercent': {'type': 'number'}, 'thresholdsPercent': {'type': 'object', 'required': ['wellBelow', 'below', 'above', 'wellAbove'], 'properties': {'above': {'type': 'number'}, 'below': {'type': 'number'}, 'wellAbove': {'type': 'number'}, 'wellBelow': {'type': 'number'}}, 'additionalProperties': False}, 'withinEstimatedRange': {'type': 'boolean'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'estimatedDealerBuyPrice': {'type': ['number', 'null']}, 'estimatedPrivateSalePrice': {'type': ['number', 'null']}, 'estimatedDealerRetailPrice': {'type': ['number', 'null']}}, 'additionalProperties': False}
voice_lead_qualifier
Place an asynchronous sales qualification call and score captured evidence against a configurable rubric. Use when an agent needs structured lead qualification from a lawful customer conversation rather than an ungrounded free-form model opinion.
可能执行破坏性操作
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['phoneNumber', 'language'], 'properties': {'safety': {'type': 'object', 'properties': {'timezone': {'type': 'string', 'maxLength': 100}, 'recording': {'type': 'boolean', 'default': False}, 'consentNotice': {'type': 'string', 'maxLength': 500}, 'transcription': {'type': 'boolean', 'default': False}}}, 'context': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string', 'maxLength': 500}}, 'criteria': {'type': 'object', 'default': {'currency': 'USD', 'requiredInterest': False, 'targetTimelineDays': 30, 'decisionMakerRequired': False}, 'properties': {'currency': {'type': 'string', 'default': 'USD', 'maxLength': 3, 'minLength': 3}, 'minimumBudget': {'type': 'number', 'minimum': 0}, 'requiredInterest': {'type': 'boolean', 'default': False}, 'targetTimelineDays': {'type': 'integer', 'default': 30, 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'decisionMakerRequired': {'type': 'boolean', 'default': False}}}, 'language': {'enum': ['en', 'ar'], 'type': 'string'}, 'phoneNumber': {'type': 'string', 'pattern': '^\\+[1-9]\\d{7,14}$'}, 'maxDurationSeconds': {'type': 'integer', 'default': 300, 'maximum': 3600, 'minimum': 1}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['callId', 'status', 'answered', 'durationSeconds', 'outcome', 'summary', 'nextAction', 'structuredFacts', 'transcript', 'createdAt', 'completedAt', 'qualification', 'recommendedNextAction'], 'properties': {'callId': {'type': 'string'}, 'status': {'enum': ['created', 'queued', 'dialing', 'ringing', 'answered', 'in_progress', 'completed', 'no_answer', 'busy', 'rejected', 'failed', 'cancelled'], 'type': 'string'}, 'outcome': {'type': ['string', 'null']}, 'summary': {'type': ['string', 'null']}, 'answered': {'type': 'boolean'}, 'createdAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$'}, 'nextAction': {'type': ['string', 'null']}, 'transcript': {'type': 'array', 'items': {'type': 'object', 'required': ['speaker', 'text', 'at'], 'properties': {'at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$'}, 'text': {'type': 'string'}, 'speaker': {'enum': ['agent', 'customer'], 'type': 'string'}}, 'additionalProperties': False}}, 'completedAt': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$'}, {'type': 'null'}]}, 'qualification': {'type': 'object', 'required': ['score', 'classification', 'intent', 'budget', 'timeline', 'decisionMaker', 'objections', 'evidence'], 'properties': {'score': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'budget': {'type': ['string', 'null']}, 'intent': {'enum': ['low', 'medium', 'high'], 'type': 'string'}, 'evidence': {'type': 'array', 'items': {'type': 'object', 'required': ['field', 'value', 'source'], 'properties': {'field': {'type': 'string'}, 'value': {}, 'source': {'enum': ['customer_statement', 'provider_event', 'derived'], 'type': 'string'}}, 'additionalProperties': False}}, 'timeline': {'type': ['string', 'null']}, 'objections': {'type': 'array', 'items': {'type': 'string'}}, 'decisionMaker': {'type': ['boolean', 'null']}, 'classification': {'enum': ['unqualified', 'needs_review', 'qualified'], 'type': 'string'}}, 'additionalProperties': False}, 'durationSeconds': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'structuredFacts': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'recommendedNextAction': {'type': 'string'}}, 'additionalProperties': False}
whatsapp_business_setup
Create Arabic/English WhatsApp Business profile, reply and order-message templates. Use when an agent needs the Creative Techno book framework for whatsapp business setup.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['businessName', 'productOrService'], 'properties': {'delivery': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'language': {'enum': ['ar', 'en'], 'type': 'string', 'default': 'en'}, 'location': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'businessName': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'paymentMethods': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'maxItems': 100}, 'productOrService': {'type': 'string', 'maxLength': 2000, 'minLength': 1}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frameworkSource', 'language', 'result'], 'properties': {'result': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'language': {'enum': ['ar', 'en'], 'type': 'string'}, 'frameworkSource': {'type': 'object', 'required': ['publisher', 'title', 'edition'], 'properties': {'title': {'type': 'string', 'const': 'كيف تبدأ مشروعك الصغير في عُمان؟'}, 'edition': {'type': 'string', 'const': '2026'}, 'publisher': {'type': 'string', 'const': 'Creative Techno'}}, 'additionalProperties': False}}, 'additionalProperties': False}
已添加
oman_small_business_guide
2026年9月27日 02:42
已添加
oman_business_plan_generator
2026年9月27日 02:42
已添加
oman_business_launch_advisor
2026年9月27日 02:42
已添加
final_business_plan_builder
2026年9月27日 02:42
已添加
business_risk_check
2026年9月27日 02:42
已添加
business_90_day_growth_plan
2026年9月27日 02:42
已添加
oman_business_launch_plan
2026年9月27日 02:42
已添加
monthly_business_financial_report
2026年9月27日 02:42
已添加
whatsapp_business_setup
2026年9月27日 02:42
已添加
sales_response_builder
2026年9月27日 02:42
已添加
first_10_customers_plan
2026年9月27日 02:42
已添加
content_plan_generator
2026年9月27日 02:42
已添加
oman_go_to_market_plan
2026年9月27日 02:42
已添加
offer_builder
2026年9月27日 02:42
已添加
business_profitability_analysis
2026年9月27日 02:42
已添加
break_even_calculator
2026年9月27日 02:42
已添加
product_pricing_calculator
2026年9月27日 02:42
已添加
startup_cost_estimate
2026年9月27日 02:42
已添加
business_model_builder
2026年9月27日 02:42
已添加
competitor_analysis
2026年9月27日 02:42
已添加
ideal_customer_profile
2026年9月27日 02:42
已添加
business_validation_plan
2026年9月27日 02:42
已添加
business_idea_generator
2026年9月27日 02:42
已添加
business_idea_validate
2026年9月27日 02:42
已添加
startup_readiness_score
2026年9月27日 02:42
已添加
appointment_call_agent
2026年9月27日 02:42
已添加
voice_lead_qualifier
2026年9月27日 02:42
已添加
ai_call_agent
2026年9月27日 02:42
已添加
trade_log_analysis
2026年9月27日 02:42
已添加
portfolio_exposure_check
2026年9月27日 02:42