Serveur MCP

NarcoScope — illicit-economy evidence atlas

io.github.beepboop2025/narcoscope
Données et analytique Recherche et exploration Public et accessible MCP 2025-11-25

Ce que fait ce MCP

Provides bounded, source-linked research on illicit economies, organized crime, firearms, markets, public designations, and related country-level economic evidence.

get_atlas
Query the illicit-economy atlas
Return country-year organized-crime and firearms-tracing observations with source metadata, native caveats, explicit null fields, and stable cursor pagination. No records identify people or operational locations.
Lecture seule
Schéma d’entrée
{'type': 'object', 'properties': {'iso3': {'type': 'string', 'pattern': '^[A-Za-z]{3}$'}, 'year': {'type': 'integer', 'maximum': 2200, 'minimum': 1900}, 'limit': {'type': 'integer', 'default': 50, 'maximum': 100, 'minimum': 1}, 'cursor': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]+$', 'maxLength': 2048}, 'domain': {'enum': ['all', 'firearms_tracing', 'organized_crime'], 'type': 'string', 'default': 'all'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['schema', 'status', 'query', 'sources', 'page', 'records', 'limitations'], 'properties': {'page': {'type': 'object', 'required': ['limit', 'matched', 'returned', 'has_more', 'next_cursor'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'matched': {'type': 'integer', 'minimum': 0}, 'has_more': {'type': 'boolean'}, 'returned': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'next_cursor': {'type': ['string', 'null'], 'pattern': '^[A-Za-z0-9_-]+$', 'maxLength': 2048}}, 'additionalProperties': False}, 'query': {'type': 'object', 'required': ['domain', 'iso3', 'year'], 'properties': {'iso3': {'type': ['string', 'null'], 'pattern': '^[A-Z]{3}$'}, 'year': {'type': ['integer', 'null'], 'maximum': 2200, 'minimum': 1900}, 'domain': {'enum': ['all', 'firearms_tracing', 'organized_crime']}}, 'additionalProperties': False}, 'schema': {'const': 'narcoscope.api.atlas.v1'}, 'status': {'enum': ['available', 'partial', 'unavailable']}, 'records': {'type': 'array', 'items': {'oneOf': [{'type': 'object', 'required': ['domain', 'meta', 'data'], 'properties': {'data': {'type': 'object', 'required': ['iso3', 'country', 'm49', 'year', 'valuePercent', 'nature', 'source', 'reportingType', 'footnotes'], 'properties': {'m49': {'type': 'string', 'pattern': '^[0-9]{1,3}$'}, 'iso3': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'year': {'type': 'integer', 'maximum': 2200, 'minimum': 1900}, 'nature': {'type': 'string', 'minLength': 1}, 'source': {'type': 'string', 'minLength': 1}, 'country': {'type': 'string', 'minLength': 1}, 'footnotes': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}}, 'valuePercent': {'type': ['number', 'null'], 'maximum': 100, 'minimum': 0}, 'reportingType': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}, 'meta': {'type': 'object', 'required': ['availability', 'unavailable_fields', 'source_schema', 'source', 'source_url', 'downloaded_at', 'rights', 'caveats'], 'properties': {'rights': {'type': 'string', 'minLength': 1}, 'source': {'type': 'string', 'minLength': 1}, 'caveats': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}}, 'source_url': {'type': 'string', 'format': 'uri', 'pattern': '^https://'}, 'availability': {'enum': ['observed', 'partial']}, 'downloaded_at': {'type': 'string', 'minLength': 1}, 'source_schema': {'type': 'string', 'minLength': 1}, 'unavailable_fields': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'uniqueItems': True}}, 'additionalProperties': False}, 'domain': {'const': 'firearms_tracing'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['domain', 'meta', 'data'], 'properties': {'data': {'type': 'object', 'required': ['iso3', 'country', 'continent', 'region', 'year', 'criminality', 'criminalMarkets', 'markets', 'actors', 'resilience'], 'properties': {'iso3': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'year': {'type': 'integer', 'maximum': 2200, 'minimum': 1900}, 'actors': {'type': 'object', 'required': ['average', 'mafiaStyleGroups', 'criminalNetworks', 'stateEmbeddedActors', 'foreignActors', 'privateSectorActors'], 'properties': {'average': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'foreignActors': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'criminalNetworks': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'mafiaStyleGroups': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'privateSectorActors': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'stateEmbeddedActors': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}}, 'additionalProperties': False}, 'region': {'type': 'string', 'minLength': 1}, 'country': {'type': 'string', 'minLength': 1}, 'markets': {'type': 'object', 'required': ['humanTrafficking', 'humanSmuggling', 'extortion', 'armsTrafficking', 'counterfeitGoods', 'illicitTradeExcisableGoods', 'floraCrimes', 'faunaCrimes', 'nonRenewableResourceCrimes', 'heroinTrade', 'cocaineTrade', 'cannabisTrade', 'syntheticDrugTrade', 'cyberDependentCrimes', 'financialCrimes'], 'properties': {'extortion': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'faunaCrimes': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'floraCrimes': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'heroinTrade': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'cocaineTrade': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'cannabisTrade': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'humanSmuggling': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'armsTrafficking': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'financialCrimes': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'counterfeitGoods': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'humanTrafficking': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'syntheticDrugTrade': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'cyberDependentCrimes': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'illicitTradeExcisableGoods': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'nonRenewableResourceCrimes': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}}, 'additionalProperties': False}, 'continent': {'type': 'string', 'minLength': 1}, 'resilience': {'type': 'object', 'required': ['average', 'politicalLeadershipAndGovernance', 'governmentTransparencyAndAccountability', 'internationalCooperation', 'nationalPoliciesAndLaws', 'judicialSystemAndDetention', 'lawEnforcement', 'territorialIntegrity', 'antiMoneyLaundering', 'economicRegulatoryCapacity', 'victimAndWitnessSupport', 'prevention', 'nonStateActors'], 'properties': {'average': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'prevention': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'lawEnforcement': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'nonStateActors': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'antiMoneyLaundering': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'territorialIntegrity': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'nationalPoliciesAndLaws': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'victimAndWitnessSupport': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'internationalCooperation': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'economicRegulatoryCapacity': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'judicialSystemAndDetention': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'politicalLeadershipAndGovernance': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'governmentTransparencyAndAccountability': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}}, 'additionalProperties': False}, 'criminality': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}, 'criminalMarkets': {'type': ['number', 'null'], 'maximum': 10, 'minimum': 1}}, 'additionalProperties': False}, 'meta': {'type': 'object', 'required': ['availability', 'unavailable_fields', 'source_schema', 'source', 'source_url', 'downloaded_at', 'rights', 'caveats'], 'properties': {'rights': {'type': 'string', 'minLength': 1}, 'source': {'type': 'string', 'minLength': 1}, 'caveats': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}}, 'source_url': {'type': 'string', 'format': 'uri', 'pattern': '^https://'}, 'availability': {'enum': ['observed', 'partial']}, 'downloaded_at': {'type': 'string', 'minLength': 1}, 'source_schema': {'type': 'string', 'minLength': 1}, 'unavailable_fields': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'uniqueItems': True}}, 'additionalProperties': False}, 'domain': {'const': 'organized_crime'}}, 'additionalProperties': False}]}, 'maxItems': 100}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['domain', 'status', 'record_count', 'metadata', 'error'], 'properties': {'error': {'oneOf': [{'type': 'null'}, {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string', 'minLength': 1}, 'message': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}]}, 'domain': {'enum': ['firearms_tracing', 'organized_crime']}, 'status': {'enum': ['available', 'unavailable']}, 'metadata': {'oneOf': [{'type': 'null'}, {'type': 'object', 'required': ['schema_version', 'source', 'source_url', 'downloaded_at', 'years', 'unit', 'rights', 'scale', 'series', 'release', 'caveats'], 'properties': {'unit': {'type': 'string', 'minLength': 1}, 'scale': {'oneOf': [{'type': 'null'}, {'type': 'object', 'required': ['minimum', 'maximum', 'direction'], 'properties': {'maximum': {'const': 10}, 'minimum': {'const': 1}, 'direction': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}]}, 'years': {'type': 'array', 'items': {'type': 'integer', 'maximum': 2200, 'minimum': 1900}, 'uniqueItems': True}, 'rights': {'type': 'string', 'minLength': 1}, 'series': {'type': ['string', 'null']}, 'source': {'type': 'string', 'minLength': 1}, 'caveats': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}}, 'release': {'type': ['string', 'null']}, 'source_url': {'type': 'string', 'format': 'uri', 'pattern': '^https://'}, 'downloaded_at': {'type': 'string', 'minLength': 1}, 'schema_version': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}]}, 'record_count': {'type': ['integer', 'null'], 'minimum': 0}}, 'additionalProperties': False}, 'maxItems': 2, 'minItems': 1}, 'limitations': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 4}}, 'additionalProperties': False}
get_connected_research
Read China and regional economic research
Return source-linked China economic findings, CPEC, Balochistan, BRI and Myanmar research questions, reporting metadata, and dated national indicators. Optional hash-bound observatory summaries add economic histories, EU-reported trade and official methodology cases. SAFE quantities remain private. Country and theme context only; gaps do not establish concealment, actor relationships or causality.
Lecture seule
Schéma d’entrée
{'type': 'object', 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['schema', 'data', 'sha256', 'source_url'], 'properties': {'data': {'type': 'object', 'required': ['schema', 'regions', 'source_clocks', 'use_policy'], 'properties': {'schema': {'const': 'palimpsest.connected-research.v1'}, 'regions': {'type': 'array', 'items': {'type': 'object'}, 'maxItems': 5, 'minItems': 5}, 'use_policy': {'type': 'object'}, 'observatory': {'type': 'object', 'required': ['schema', 'generated_at', 'source_url', 'input_sha256', 'datasets', 'findings', 'methodology_cases', 'use_policy'], 'properties': {'schema': {'const': 'palimpsest.china-evidence-observatory-summary.v1'}, 'datasets': {'type': 'array', 'items': {'type': 'object'}, 'maxItems': 4, 'minItems': 4}, 'findings': {'type': 'array', 'items': {'type': 'object'}, 'maxItems': 100}, 'source_url': {'const': 'https://www.palimpsest.info/china/evidence/'}, 'use_policy': {'type': 'object', 'required': ['concealment_inference', 'actor_inference', 'private_numeric_data', 'missing_values'], 'properties': {'missing_values': {'const': 'unavailable_not_zero'}, 'actor_inference': {'const': 'prohibited'}, 'private_numeric_data': {'const': 'excluded'}, 'concealment_inference': {'const': 'not_established_by_gaps_or_disagreement'}}, 'additionalProperties': False}, 'generated_at': {'type': 'string'}, 'input_sha256': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'methodology_cases': {'type': 'array', 'items': {'type': 'object'}, 'maxItems': 30}}, 'additionalProperties': False}, 'source_clocks': {'type': 'object'}}, 'additionalProperties': True}, 'schema': {'const': 'narcoscope.connected-research-envelope.v1'}, 'sha256': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'source_url': {'const': 'https://www.palimpsest.info/readings/connected-research-latest.json'}}, 'additionalProperties': False}
get_entities
Query privacy-minimized OFAC designation identities
Return approved public designation identity fields only. A designation is an administrative action, not an adjudication or proof of guilt; aliases, addresses, dates of birth, identity documents, and allegation text are withheld.
Lecture seule
Schéma d’entrée
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 50, 'maximum': 100, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'cursor': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]+$', 'maxLength': 2048}, 'country': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'program': {'enum': ['ILLICIT-DRUGS-EO14059', 'SDNT', 'SDNTK', 'TCO'], 'type': 'string'}, 'entity_type': {'enum': ['aircraft', 'individual', 'organization', 'vessel'], 'type': 'string'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['schema', 'status', 'query', 'source', 'page', 'records', 'disclaimer', 'privacy', 'error'], 'properties': {'page': {'type': 'object', 'required': ['limit', 'matched', 'returned', 'has_more', 'next_cursor'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'matched': {'type': 'integer', 'minimum': 0}, 'has_more': {'type': 'boolean'}, 'returned': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'next_cursor': {'type': ['string', 'null'], 'pattern': '^[A-Za-z0-9_-]+$', 'maxLength': 2048}}, 'additionalProperties': False}, 'error': {'oneOf': [{'type': 'null'}, {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string', 'minLength': 1}, 'message': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}]}, 'query': {'type': 'object', 'required': ['entity_type', 'program', 'country', 'query'], 'properties': {'query': {'type': ['string', 'null']}, 'country': {'type': ['string', 'null']}, 'program': {'enum': ['ILLICIT-DRUGS-EO14059', 'SDNT', 'SDNTK', 'TCO', None], 'type': ['string', 'null']}, 'entity_type': {'enum': ['aircraft', 'individual', 'organization', 'vessel', None], 'type': ['string', 'null']}}, 'additionalProperties': False}, 'schema': {'const': 'narcoscope.api.entities.v1'}, 'source': {'oneOf': [{'type': 'null'}, {'type': 'object', 'required': ['source', 'source_url', 'downloaded_at', 'license', 'grain', 'programs', 'note'], 'properties': {'note': {'type': 'string', 'minLength': 1}, 'grain': {'type': 'string', 'minLength': 1}, 'source': {'type': 'string', 'minLength': 1}, 'license': {'type': 'string', 'minLength': 1}, 'programs': {'type': 'object', 'minProperties': 1, 'propertyNames': {'enum': ['ILLICIT-DRUGS-EO14059', 'SDNT', 'SDNTK', 'TCO']}, 'additionalProperties': {'type': 'string', 'minLength': 1}}, 'source_url': {'type': 'string', 'format': 'uri', 'pattern': '^https://'}, 'downloaded_at': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}]}, 'status': {'enum': ['available', 'unavailable']}, 'privacy': {'type': 'object', 'required': ['returned_fields', 'withheld_fields', 'query_scope'], 'properties': {'query_scope': {'type': 'string', 'minLength': 1}, 'returned_fields': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 5}, 'withheld_fields': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 5}}, 'additionalProperties': False}, 'records': {'type': 'array', 'items': {'type': 'object', 'required': ['ofac_entity_number', 'name', 'entity_type', 'programs', 'countries', 'meta'], 'properties': {'meta': {'type': 'object', 'required': ['evidence_class', 'adjudication', 'source', 'source_url', 'downloaded_at'], 'properties': {'source': {'type': 'string', 'minLength': 1}, 'source_url': {'type': 'string', 'format': 'uri', 'pattern': '^https://'}, 'adjudication': {'const': False}, 'downloaded_at': {'type': 'string', 'minLength': 1}, 'evidence_class': {'const': 'administrative_action'}}, 'additionalProperties': False}, 'name': {'type': 'string', 'minLength': 1}, 'programs': {'type': 'array', 'items': {'enum': ['ILLICIT-DRUGS-EO14059', 'SDNT', 'SDNTK', 'TCO']}, 'minItems': 1, 'uniqueItems': True}, 'countries': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}}, 'entity_type': {'enum': ['aircraft', 'individual', 'organization', 'vessel']}, 'ofac_entity_number': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'maxItems': 100}, 'disclaimer': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}
get_federation
Read Seiche and Palimpsest as separate evidence lanes
Return bounded public money-market, capital-market, BRI, or publication-rights context without cross-lane scoring, composites, causal inference, or culpability inference. Upstream unavailability stays typed.
Lecture seule
Schéma d’entrée
{'type': 'object', 'properties': {'lane': {'enum': ['all', 'palimpsest-bri', 'palimpsest-newswire-rights', 'seiche-capital-markets', 'seiche-global-money-atlas', 'seiche-money-markets', 'seiche-summary'], 'type': 'string', 'default': 'all'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['schema', 'status', 'retrieved_at', 'query', 'lanes', 'policy', 'limitations'], 'properties': {'lanes': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'product', 'availability', 'evidence_status', 'upstream_schema', 'upstream_status', 'source_url', 'retrieved_at', 'clocks', 'scope', 'citation', 'transport', 'data', 'error', 'boundaries'], 'properties': {'id': {'enum': ['palimpsest-bri', 'palimpsest-newswire-rights', 'seiche-capital-markets', 'seiche-global-money-atlas', 'seiche-money-markets', 'seiche-summary']}, 'data': {'type': ['object', 'null'], 'additionalProperties': True}, 'error': {'oneOf': [{'type': 'null'}, {'type': 'object', 'required': ['code', 'message', 'upstream_http_status', 'retry_after'], 'properties': {'code': {'type': 'string', 'minLength': 1}, 'message': {'type': 'string', 'minLength': 1}, 'retry_after': {'type': ['string', 'null']}, 'upstream_http_status': {'type': ['integer', 'null'], 'maximum': 599, 'minimum': 100}}, 'additionalProperties': False}]}, 'scope': {'type': ['object', 'null'], 'additionalProperties': True}, 'clocks': {'type': ['object', 'null'], 'additionalProperties': True}, 'product': {'enum': ['Palimpsest', 'Seiche']}, 'citation': {'type': ['object', 'null'], 'additionalProperties': True}, 'transport': {'oneOf': [{'type': 'null'}, {'type': 'object', 'required': ['attempts', 'timeout_ms', 'max_response_bytes'], 'properties': {'attempts': {'const': 1}, 'timeout_ms': {'type': 'integer', 'maximum': 15000, 'minimum': 1}, 'max_response_bytes': {'type': 'integer', 'maximum': 2000000, 'minimum': 1}}, 'additionalProperties': False}]}, 'boundaries': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 2}, 'source_url': {'type': 'string', 'format': 'uri', 'pattern': '^https://'}, 'availability': {'enum': ['available', 'restricted', 'unavailable']}, 'retrieved_at': {'type': 'string', 'format': 'date-time'}, 'evidence_status': {'enum': ['derived', 'observed', 'restricted', 'structural', 'unavailable']}, 'upstream_schema': {'type': ['string', 'null']}, 'upstream_status': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'maxItems': 6, 'minItems': 1}, 'query': {'type': 'object', 'required': ['lane'], 'properties': {'lane': {'enum': ['all', 'palimpsest-bri', 'palimpsest-newswire-rights', 'seiche-capital-markets', 'seiche-global-money-atlas', 'seiche-money-markets', 'seiche-summary']}}, 'additionalProperties': False}, 'policy': {'type': 'object', 'required': ['mode', 'cross_lane_join', 'composite_generation', 'causal_inference', 'culpability_inference', 'missing_value_policy'], 'properties': {'mode': {'const': 'read_only_parallel_context'}, 'cross_lane_join': {'const': 'prohibited'}, 'causal_inference': {'const': 'prohibited'}, 'composite_generation': {'const': 'prohibited'}, 'missing_value_policy': {'const': 'unavailable_not_zero'}, 'culpability_inference': {'const': 'prohibited'}}, 'additionalProperties': False}, 'schema': {'const': 'narcoscope.api.federation.v1'}, 'status': {'enum': ['available', 'partial', 'unavailable']}, 'limitations': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 4}, 'retrieved_at': {'type': 'string', 'format': 'date-time'}}, 'additionalProperties': False}
get_market_catalog
Discover granular global market evidence
List drugs, arms and informal-economy datasets, native indicator units, exact country/category/subgroup dimensions, numeric and unavailable coverage, source hashes and source-specific reuse restrictions. Legacy atlas and price histories remain distinct resources.
Lecture seule
Schéma d’entrée
{'type': 'object', 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['schema', 'status', 'generatedAt', 'unavailableDatasets', 'limitations', 'datasets', 'relatedResources'], 'properties': {'schema': {'const': 'narcoscope.global-market-catalog.v1'}, 'status': {'enum': ['available', 'partial', 'unavailable'], 'type': 'string'}, 'datasets': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'sha256', 'generatedAt', 'sources', 'indicators', 'coverage', 'limitations'], 'properties': {'id': {'enum': ['global-drugs', 'global-arms-economy'], 'type': 'string'}, 'title': {'type': 'string', 'maxLength': 240, 'minLength': 1}, 'sha256': {'type': 'string', 'pattern': '^[a-f0-9]{64}$'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'publisher', 'url', 'downloadUrl', 'license', 'licenseUrl', 'retrievedAt', 'sha256', 'bytes', 'notes'], 'properties': {'id': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]{0,159}$'}, 'url': {'type': 'string', 'format': 'uri', 'pattern': '^https://', 'maxLength': 4096}, 'name': {'type': 'string', 'maxLength': 1000, 'minLength': 1}, 'bytes': {'type': 'integer', 'minimum': 1}, 'notes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'maxItems': 60}, 'sha256': {'type': 'string', 'pattern': '^[a-f0-9]{64}$'}, 'license': {'type': 'string', 'maxLength': 1000, 'minLength': 1}, 'publisher': {'type': 'string', 'maxLength': 1000, 'minLength': 1}, 'licenseUrl': {'type': 'string', 'format': 'uri', 'pattern': '^https://', 'maxLength': 4096}, 'downloadUrl': {'type': 'string', 'format': 'uri', 'pattern': '^https://', 'maxLength': 4096}, 'retrievedAt': {'type': 'string', 'format': 'date-time'}}, 'additionalProperties': False}, 'maxItems': 80}, 'coverage': {'type': 'object', 'required': ['observations', 'numericObservations', 'reported', 'estimated', 'unavailable', 'firstPeriod', 'lastPeriod', 'firstNumericPeriod', 'lastNumericPeriod'], 'properties': {'reported': {'type': 'integer', 'minimum': 0}, 'estimated': {'type': 'integer', 'minimum': 0}, 'lastPeriod': {'anyOf': [{'type': 'string', 'pattern': '^(18|19|20|21)[0-9]{2}(-(0[1-9]|1[0-2]))?$'}, {'type': 'null'}]}, 'firstPeriod': {'anyOf': [{'type': 'string', 'pattern': '^(18|19|20|21)[0-9]{2}(-(0[1-9]|1[0-2]))?$'}, {'type': 'null'}]}, 'unavailable': {'type': 'integer', 'minimum': 0}, 'observations': {'type': 'integer', 'minimum': 0}, 'lastNumericPeriod': {'anyOf': [{'type': 'string', 'pattern': '^(18|19|20|21)[0-9]{2}(-(0[1-9]|1[0-2]))?$'}, {'type': 'null'}]}, 'firstNumericPeriod': {'anyOf': [{'type': 'string', 'pattern': '^(18|19|20|21)[0-9]{2}(-(0[1-9]|1[0-2]))?$'}, {'type': 'null'}]}, 'numericObservations': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'indicators': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'sourceId', 'market', 'label', 'unit', 'measureType', 'description', 'limitations', 'featured', 'coverage', 'dimensions'], 'properties': {'id': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]{0,159}$'}, 'unit': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'label': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'market': {'enum': ['drugs', 'arms', 'economy'], 'type': 'string'}, 'coverage': {'type': 'object', 'required': ['observations', 'numericObservations', 'reported', 'estimated', 'unavailable', 'firstPeriod', 'lastPeriod', 'firstNumericPeriod', 'lastNumericPeriod'], 'properties': {'reported': {'type': 'integer', 'minimum': 0}, 'estimated': {'type': 'integer', 'minimum': 0}, 'lastPeriod': {'anyOf': [{'type': 'string', 'pattern': '^(18|19|20|21)[0-9]{2}(-(0[1-9]|1[0-2]))?$'}, {'type': 'null'}]}, 'firstPeriod': {'anyOf': [{'type': 'string', 'pattern': '^(18|19|20|21)[0-9]{2}(-(0[1-9]|1[0-2]))?$'}, {'type': 'null'}]}, 'unavailable': {'type': 'integer', 'minimum': 0}, 'observations': {'type': 'integer', 'minimum': 0}, 'lastNumericPeriod': {'anyOf': [{'type': 'string', 'pattern': '^(18|19|20|21)[0-9]{2}(-(0[1-9]|1[0-2]))?$'}, {'type': 'null'}]}, 'firstNumericPeriod': {'anyOf': [{'type': 'string', 'pattern': '^(18|19|20|21)[0-9]{2}(-(0[1-9]|1[0-2]))?$'}, {'type': 'null'}]}, 'numericObservations': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'featured': {'type': 'boolean'}, 'sourceId': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]{0,159}$'}, 'dimensions': {'type': 'object', 'required': ['geographies', 'categories', 'subgroups', 'selections'], 'properties': {'subgroups': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 0}, 'maxItems': 500000}, 'categories': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 0}, 'maxItems': 500000}, 'selections': {'type': 'array', 'items': {'type': 'object', 'required': ['category', 'subgroup', 'firstPeriod', 'lastPeriod', 'lastNumericPeriod', 'latestNumericObservations'], 'properties': {'category': {'type': 'string', 'maxLength': 500, 'minLength': 0}, 'subgroup': {'type': 'string', 'maxLength': 500, 'minLength': 0}, 'lastPeriod': {'anyOf': [{'type': 'string', 'pattern': '^(18|19|20|21)[0-9]{2}(-(0[1-9]|1[0-2]))?$'}, {'type': 'null'}]}, 'firstPeriod': {'anyOf': [{'type': 'string', 'pattern': '^(18|19|20|21)[0-9]{2}(-(0[1-9]|1[0-2]))?$'}, {'type': 'null'}]}, 'lastNumericPeriod': {'anyOf': [{'type': 'string', 'pattern': '^(18|19|20|21)[0-9]{2}(-(0[1-9]|1[0-2]))?$'}, {'type': 'null'}]}, 'latestNumericObservations': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'maxItems': 500000}, 'geographies': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'name', 'level'], 'properties': {'code': {'type': 'string', 'maxLength': 180, 'minLength': 1}, 'name': {'type': 'string', 'maxLength': 180, 'minLength': 1}, 'level': {'enum': ['country', 'region', 'city', 'world'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 500000}}, 'additionalProperties': False}, 'description': {'type': 'string', 'maxLength': 2500, 'minLength': 1}, 'limitations': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'maxItems': 60}, 'measureType': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 500}, 'generatedAt': {'type': 'string', 'format': 'date-time'}, 'limitations': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'maxItems': 60}}, 'additionalProperties': False}, 'maxItems': 2}, 'generatedAt': {'anyOf': [{'type': 'string', 'format': 'date-time'}, {'type': 'null'}]}, 'limitations': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'maxItems': 60}, 'relatedResources': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'url', 'description'], 'properties': {'id': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]{0,159}$'}, 'url': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'title': {'type': 'string', 'maxLength': 240, 'minLength': 1}, 'description': {'type': 'string', 'maxLength': 2000, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 10}, 'unavailableDatasets': {'type': 'array', 'items': {'enum': ['global-drugs', 'global-arms-economy'], 'type': 'string'}, 'maxItems': 2}}, 'additionalProperties': False}
get_newsroom
Read the evidence newsroom
List current deterministic analyses with citations, correction metadata, publication gates, and explicit evidence limits.
Lecture seule
Schéma d’entrée
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 25, 'minimum': 1}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['schema', 'generated_at', 'title', 'articles', 'feeds', 'verification'], 'properties': {'feeds': {'type': 'object', 'required': ['json', 'atom'], 'properties': {'atom': {'type': 'string', 'format': 'uri', 'pattern': '^https://'}, 'json': {'type': 'string', 'format': 'uri', 'pattern': '^https://'}}, 'additionalProperties': False}, 'title': {'type': 'string', 'minLength': 1}, 'schema': {'const': 'narcoscope.api.newsroom.v1'}, 'articles': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'slug', 'title', 'dek', 'contentClass', 'dataAsOf', 'publishedAt', 'updatedAt', 'htmlUrl', 'dossierUrl', 'machineBriefUrl', 'revisionHash', 'contentHash', 'automationDisclosure', 'humanReviewStatus', 'correctionsStatus', 'rightToReplyStatus', 'testimonyIncluded', 'simulatedHumanVoicesIncluded'], 'properties': {'id': {'type': 'string', 'minLength': 1}, 'dek': {'type': 'string', 'minLength': 1}, 'slug': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'title': {'type': 'string', 'minLength': 1}, 'htmlUrl': {'type': 'string', 'format': 'uri', 'pattern': '^https://'}, 'dataAsOf': {'type': ['string', 'null'], 'format': 'date'}, 'updatedAt': {'type': ['string', 'null'], 'format': 'date-time'}, 'dossierUrl': {'type': 'string', 'format': 'uri', 'pattern': '^https://'}, 'contentHash': {'type': 'string', 'pattern': '^[a-f0-9]{64}$'}, 'publishedAt': {'type': ['string', 'null'], 'format': 'date-time'}, 'contentClass': {'type': 'string', 'minLength': 1}, 'revisionHash': {'type': 'string', 'pattern': '^[a-f0-9]{64}$'}, 'machineBriefUrl': {'type': 'string', 'format': 'uri', 'pattern': '^https://'}, 'correctionsStatus': {'type': 'string', 'minLength': 1}, 'humanReviewStatus': {'type': 'string', 'minLength': 1}, 'testimonyIncluded': {'type': 'boolean'}, 'rightToReplyStatus': {'type': 'string', 'minLength': 1}, 'automationDisclosure': {'type': 'string', 'minLength': 1}, 'simulatedHumanVoicesIncluded': {'type': 'boolean'}}, 'additionalProperties': False}, 'maxItems': 25}, 'generated_at': {'type': ['string', 'null'], 'format': 'date-time'}, 'verification': {'type': 'object', 'required': ['pipeline_version', 'gates', 'citation_coverage', 'visual_citation_coverage', 'source_inventory', 'banned_claim_matches'], 'properties': {'gates': {'type': ['array', 'null'], 'items': {'type': 'object', 'additionalProperties': True}}, 'pipeline_version': {'type': ['string', 'null']}, 'source_inventory': {'type': ['object', 'null'], 'additionalProperties': True}, 'citation_coverage': {'type': ['object', 'null'], 'additionalProperties': True}, 'banned_claim_matches': {'type': ['integer', 'null'], 'minimum': 0}, 'visual_citation_coverage': {'type': ['object', 'null'], 'additionalProperties': True}}, 'additionalProperties': False}}, 'additionalProperties': False}
get_overview
Read the official-data overview
Return bounded headline aggregates across official prices, seizures, overdose mortality, wastewater, and public designations.
Lecture seule
Schéma d’entrée
{'type': 'object', 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['schema', 'generated_at', 'note', 'headline', 'overdose_by_substance', 'top_seizure_countries', 'designation_programs', 'divergences', 'interpretation'], 'properties': {'note': {'type': ['string', 'null']}, 'schema': {'const': 'narcoscope.api.overview.v1'}, 'headline': {'type': 'object', 'required': ['usOverdoseLatest', 'usOverdoseYoY', 'usOverdoseYear', 'usOverdoseWindow', 'worldSeizureTonnes', 'seizureYear', 'designations', 'seizureCountries', 'wastewaterCities'], 'properties': {'seizureYear': {'type': ['integer', 'null'], 'minimum': 1900}, 'designations': {'type': ['integer', 'null'], 'minimum': 0}, 'usOverdoseYoY': {'type': ['number', 'null']}, 'usOverdoseYear': {'type': ['integer', 'null'], 'minimum': 1900}, 'seizureCountries': {'type': ['integer', 'null'], 'minimum': 0}, 'usOverdoseLatest': {'type': ['integer', 'null'], 'minimum': 0}, 'usOverdoseWindow': {'type': ['string', 'null']}, 'wastewaterCities': {'type': ['integer', 'null'], 'minimum': 0}, 'worldSeizureTonnes': {'type': ['number', 'null'], 'minimum': 0}}, 'additionalProperties': False}, 'divergences': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'window', 'supplyLabel', 'supplyPct', 'demandLabel', 'demandPct', 'reading'], 'properties': {'label': {'type': 'string', 'minLength': 1}, 'window': {'type': 'string', 'minLength': 1}, 'reading': {'type': 'string', 'minLength': 1}, 'demandPct': {'type': 'number'}, 'supplyPct': {'type': 'number'}, 'demandLabel': {'type': 'string', 'minLength': 1}, 'supplyLabel': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}}, 'generated_at': {'type': ['string', 'null'], 'format': 'date'}, 'interpretation': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 1}, 'designation_programs': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'label', 'count'], 'properties': {'code': {'type': 'string', 'minLength': 1}, 'count': {'type': 'integer', 'minimum': 0}, 'label': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}}, 'overdose_by_substance': {'type': 'array', 'items': {'type': 'object', 'required': ['substance', 'label', 'deaths', 'yoy'], 'properties': {'yoy': {'type': ['number', 'null']}, 'label': {'type': 'string', 'minLength': 1}, 'deaths': {'type': ['integer', 'null'], 'minimum': 0}, 'substance': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}}, 'top_seizure_countries': {'type': 'array', 'items': {'type': 'object', 'required': ['iso3', 'name', 'kg'], 'properties': {'kg': {'type': 'number', 'minimum': 0}, 'iso3': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'name': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 10}}, 'additionalProperties': False}
get_palimpsest_bri_context
Read bounded Palimpsest Belt and Road context
Return pinned source readiness and national WDI coverage for CPEC, Gwadar, CMEC, Kyaukpyu, and Balochistan as a parallel context lane. Cross-lane drug, actor, route, guilt, political, project, causal, tactical, and navigable inference or use is prohibited.
Lecture seule
Schéma d’entrée
{'type': 'object', 'additionalProperties': False}
Schéma de sortie
{'$id': 'https://narcoscope.com/schemas/narcoscope-palimpsest-bri-envelope-v1.schema.json', 'type': 'object', '$defs': {'artifact': {'$id': 'https://narcoscope.com/data/narcoscope-palimpsest-bri-v1.schema.json', 'type': 'object', '$defs': {'uri': {'type': 'string', 'format': 'uri'}, 'commit': {'type': 'string', 'pattern': '^[0-9a-f]{40}$'}, 'gitOid': {'type': 'string', 'pattern': '^(?:[0-9a-f]{40}|[0-9a-f]{64})$'}, 'sha256': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'target': {'type': 'object', 'required': ['targetId', 'label', 'targetType', 'evidenceStatus', 'requiredCoverage', 'sourceReadiness', 'sources'], 'properties': {'label': {'type': 'string', 'minLength': 1}, 'sources': {'type': 'array', 'items': {'$ref': '#/$defs/sourceSummary'}, 'minItems': 1}, 'targetId': {'type': 'string', 'pattern': '^[a-z0-9_]+$'}, 'targetType': {'type': 'string', 'minLength': 1}, 'evidenceStatus': {'type': 'string', 'minLength': 1}, 'sourceReadiness': {'type': 'object', 'required': ['sourceCount', 'buildReadySourceCount', 'implementationStates'], 'properties': {'sourceCount': {'type': 'integer', 'minimum': 1}, 'implementationStates': {'$ref': '#/$defs/countMap'}, 'buildReadySourceCount': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'requiredCoverage': {'$ref': '#/$defs/stringArray'}}, 'additionalProperties': False}, 'release': {'type': 'object', 'required': ['producer', 'verificationState', 'canonicalBaseUrl', 'railwayMirrorBaseUrl', 'deploymentId', 'sourceRevision', 'sourceTreeOid', 'artifactTreeSha256', 'artifactManifest', 'receiptBytes', 'receiptSha256', 'verifiedAt', 'verificationSemantics', 'pagesPublication'], 'properties': {'producer': {'const': 'Palimpsest'}, 'verifiedAt': {'$ref': '#/$defs/dateTime'}, 'deploymentId': {'type': 'string', 'minLength': 1}, 'receiptBytes': {'type': 'integer', 'minimum': 1}, 'receiptSha256': {'$ref': '#/$defs/sha256'}, 'sourceTreeOid': {'$ref': '#/$defs/gitOid'}, 'sourceRevision': {'$ref': '#/$defs/commit'}, 'artifactManifest': {'type': 'object', 'required': ['schemaVersion', 'bytes', 'sha256', 'fileCount', 'totalBytes'], 'properties': {'bytes': {'type': 'integer', 'minimum': 1}, 'sha256': {'$ref': '#/$defs/sha256'}, 'fileCount': {'type': 'integer', 'minimum': 1}, 'totalBytes': {'type': 'integer', 'minimum': 1}, 'schemaVersion': {'const': 'palimpsest.railway-static-release.v1'}}, 'additionalProperties': False}, 'canonicalBaseUrl': {'const': 'https://palimpsest.info'}, 'pagesPublication': {'$ref': '#/$defs/pagesPublication'}, 'verificationState': {'const': 'release_receipt_validated'}, 'artifactTreeSha256': {'$ref': '#/$defs/sha256'}, 'railwayMirrorBaseUrl': {'$ref': '#/$defs/uri'}, 'verificationSemantics': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}, 'countMap': {'type': 'object', 'minProperties': 1, 'additionalProperties': {'type': 'integer', 'minimum': 0}}, 'dateTime': {'type': 'string', 'format': 'date-time'}, 'usePolicy': {'type': 'object', 'required': ['lane', 'allowedUse', 'crossLaneJoinPolicy', 'displayRelationship', 'prohibitions'], 'properties': {'lane': {'const': 'parallel_context_only'}, 'allowedUse': {'type': 'string', 'minLength': 1}, 'prohibitions': {'type': 'object', 'required': ['drugConflictInfrastructureCausalJoin', 'actorClassification', 'bilateralRouteInference', 'guiltInference', 'politicalMovementClassification', 'projectAttributionFromNationalSeries', 'tacticalOrNavigableUse'], 'properties': {'guiltInference': {'const': 'prohibited'}, 'actorClassification': {'const': 'prohibited'}, 'tacticalOrNavigableUse': {'const': 'prohibited'}, 'bilateralRouteInference': {'const': 'prohibited'}, 'politicalMovementClassification': {'const': 'prohibited'}, 'drugConflictInfrastructureCausalJoin': {'const': 'prohibited'}, 'projectAttributionFromNationalSeries': {'const': 'prohibited'}}, 'additionalProperties': False}, 'crossLaneJoinPolicy': {'const': 'prohibited'}, 'displayRelationship': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}, 'provenance': {'type': 'object', 'required': ['producer', 'consumer', 'sourcePin', 'schema', 'release', 'sourceArtifacts'], 'properties': {'schema': {'type': 'object', 'required': ['path', 'id', 'bytes', 'sha256'], 'properties': {'id': {'const': 'https://narcoscope.com/data/narcoscope-palimpsest-bri-v1.schema.json'}, 'path': {'const': 'public/data/narcoscope-palimpsest-bri-v1.schema.json'}, 'bytes': {'type': 'integer', 'minimum': 1}, 'sha256': {'$ref': '#/$defs/sha256'}}, 'additionalProperties': False}, 'release': {'$ref': '#/$defs/release'}, 'consumer': {'const': 'NarcoScope'}, 'producer': {'const': 'Palimpsest'}, 'sourcePin': {'type': 'object', 'required': ['path', 'schemaVersion', 'bytes', 'sha256'], 'properties': {'path': {'const': 'scripts/bridge/palimpsest-bri-source-pin.json'}, 'bytes': {'type': 'integer', 'minimum': 1}, 'sha256': {'$ref': '#/$defs/sha256'}, 'schemaVersion': {'const': 'narcoscope.palimpsest.bri-source-pin.v1'}}, 'additionalProperties': False}, 'sourceArtifacts': {'$ref': '#/$defs/sourceArtifacts'}}, 'additionalProperties': False}, 'targetArea': {'type': 'object', 'required': ['areaId', 'label', 'targets'], 'properties': {'label': {'type': 'string', 'minLength': 1}, 'areaId': {'enum': ['cpec', 'gwadar', 'cmec', 'kyaukpyu', 'balochistan']}, 'targets': {'type': 'array', 'items': {'$ref': '#/$defs/target'}, 'minItems': 1}}, 'additionalProperties': False}, 'stringArray': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'uniqueItems': True}, 'nullableYear': {'type': ['integer', 'null'], 'maximum': 2200, 'minimum': 1900}, 'sourceSummary': {'type': 'object', 'required': ['sourceId', 'implementationState', 'sourceClass', 'authorityRole', 'rightsStatus', 'claimClasses'], 'properties': {'sourceId': {'type': 'string', 'pattern': '^[a-z0-9_]+$'}, 'sourceClass': {'type': 'string', 'minLength': 1}, 'claimClasses': {'$ref': '#/$defs/stringArray'}, 'rightsStatus': {'type': 'string', 'minLength': 1}, 'authorityRole': {'type': 'string', 'minLength': 1}, 'implementationState': {'enum': ['adapter_ready', 'blocked', 'link_only', 'live', 'planned']}}, 'additionalProperties': False}, 'claimSemantics': {'type': 'object', 'required': ['classificationRule', 'sourceClassCounts', 'authorityRoleCounts', 'claimClassCounts', 'officialOrAdministrativeSourceIds', 'independentObservationSourceIds', 'modeledOrAnalyticalSourceIds'], 'properties': {'claimClassCounts': {'$ref': '#/$defs/countMap'}, 'sourceClassCounts': {'$ref': '#/$defs/countMap'}, 'classificationRule': {'type': 'string', 'minLength': 1}, 'authorityRoleCounts': {'$ref': '#/$defs/countMap'}, 'modeledOrAnalyticalSourceIds': {'$ref': '#/$defs/stringArray'}, 'independentObservationSourceIds': {'$ref': '#/$defs/stringArray'}, 'officialOrAdministrativeSourceIds': {'$ref': '#/$defs/stringArray'}}, 'additionalProperties': False}, 'coverageWindow': {'type': 'object', 'required': ['fromYear', 'toYear', 'yearCount'], 'properties': {'toYear': {'$ref': '#/$defs/nullableYear'}, 'fromYear': {'$ref': '#/$defs/nullableYear'}, 'yearCount': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'countryCoverage': {'type': 'object', 'required': ['countryCode', 'country', 'indicatorCount', 'sourceRowCount', 'observedRowCount', 'forecastRowCount', 'unavailableRowCount', 'indicators'], 'properties': {'country': {'enum': ['China', 'Myanmar', 'Pakistan']}, 'indicators': {'type': 'array', 'items': {'$ref': '#/$defs/indicatorCoverage'}, 'minItems': 1}, 'countryCode': {'enum': ['CHN', 'MMR', 'PAK']}, 'indicatorCount': {'type': 'integer', 'minimum': 1}, 'sourceRowCount': {'type': 'integer', 'minimum': 1}, 'forecastRowCount': {'type': 'integer', 'minimum': 0}, 'observedRowCount': {'type': 'integer', 'minimum': 0}, 'unavailableRowCount': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'economicContext': {'type': 'object', 'required': ['schemaVersion', 'generatedAt', 'collectionId', 'source', 'rights', 'clocks', 'hashPointers', 'contextPolicy', 'coverage'], 'properties': {'clocks': {'type': 'object', 'required': ['generatedAt', 'datasetLastUpdated', 'sourceReleaseUpperBound', 'retrievedAt'], 'properties': {'generatedAt': {'$ref': '#/$defs/dateTime'}, 'retrievedAt': {'$ref': '#/$defs/dateTime'}, 'datasetLastUpdated': {'type': 'string', 'format': 'date'}, 'sourceReleaseUpperBound': {'$ref': '#/$defs/dateTime'}}, 'additionalProperties': False}, 'rights': {'type': 'object', 'required': ['license', 'licenseUrl', 'redistributionStatus', 'rightsEvidenceUrl', 'attribution'], 'properties': {'license': {'type': 'string', 'minLength': 1}, 'licenseUrl': {'$ref': '#/$defs/uri'}, 'attribution': {'type': 'string', 'minLength': 1}, 'rightsEvidenceUrl': {'$ref': '#/$defs/uri'}, 'redistributionStatus': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}, 'source': {'type': 'object', 'required': ['sourceId', 'name', 'publisher', 'attribution', 'catalogUrl'], 'properties': {'name': {'type': 'string', 'minLength': 1}, 'sourceId': {'const': 'world_bank_wdi'}, 'publisher': {'type': 'string', 'minLength': 1}, 'catalogUrl': {'$ref': '#/$defs/uri'}, 'attribution': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}, 'coverage': {'type': 'object', 'required': ['totals', 'countries'], 'properties': {'totals': {'type': 'object', 'required': ['countries', 'indicators', 'sourceRows', 'observedRows', 'forecastRows', 'unavailableRows'], 'properties': {'countries': {'const': 3}, 'indicators': {'type': 'integer', 'minimum': 1}, 'sourceRows': {'type': 'integer', 'minimum': 1}, 'forecastRows': {'type': 'integer', 'minimum': 0}, 'observedRows': {'type': 'integer', 'minimum': 0}, 'unavailableRows': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'countries': {'type': 'array', 'items': {'$ref': '#/$defs/countryCoverage'}, 'maxItems': 3, 'minItems': 3}}, 'additionalProperties': False}, 'generatedAt': {'$ref': '#/$defs/dateTime'}, 'collectionId': {'$ref': '#/$defs/sha256'}, 'hashPointers': {'type': 'object', 'required': ['observationsSha256', 'registrySha256', 'rawResponseSha256s'], 'properties': {'registrySha256': {'$ref': '#/$defs/sha256'}, 'observationsSha256': {'$ref': '#/$defs/sha256'}, 'rawResponseSha256s': {'type': 'array', 'items': {'$ref': '#/$defs/sha256'}, 'minItems': 1, 'uniqueItems': True}}, 'additionalProperties': False}, 'contextPolicy': {'type': 'object', 'required': ['aggregateLevel', 'scope', 'causalityBoundary', 'missingValuePolicy', 'forecastPolicy', 'downstreamSemantics'], 'properties': {'scope': {'const': 'national_economic_context'}, 'aggregateLevel': {'const': 'country'}, 'forecastPolicy': {'type': 'string', 'minLength': 1}, 'causalityBoundary': {'const': 'not_evidence_of_bri_causality'}, 'missingValuePolicy': {'const': 'source_null_remains_unavailable'}, 'downstreamSemantics': {'type': 'object', 'required': ['observed', 'forecast', 'unavailable', 'join_boundary'], 'properties': {'forecast': {'type': 'string', 'minLength': 1}, 'observed': {'type': 'string', 'minLength': 1}, 'unavailable': {'type': 'string', 'minLength': 1}, 'join_boundary': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'schemaVersion': {'const': 'palimpsest.bri-economic-observations.v1'}}, 'additionalProperties': False}, 'sourceArtifacts': {'type': 'object', 'required': ['observatory', 'economics', 'pagesPublicationReceipt'], 'properties': {'economics': {'$ref': '#/$defs/sourceDescriptor'}, 'observatory': {'$ref': '#/$defs/sourceDescriptor'}, 'pagesPublicationReceipt': {'$ref': '#/$defs/sourceDescriptor'}}, 'additionalProperties': False}, 'sourceReadiness': {'type': 'object', 'required': ['sourceCount', 'buildReadySourceCount', 'implementationStates', 'rightsStatusCounts', 'buildReadyGaps'], 'properties': {'sourceCount': {'type': 'integer', 'minimum': 1}, 'buildReadyGaps': {'$ref': '#/$defs/stringArray'}, 'rightsStatusCounts': {'$ref': '#/$defs/countMap'}, 'implementationStates': {'type': 'object', 'required': ['adapter_ready', 'blocked', 'link_only', 'live', 'planned'], 'properties': {'live': {'type': 'integer', 'minimum': 0}, 'blocked': {'type': 'integer', 'minimum': 0}, 'planned': {'type': 'integer', 'minimum': 0}, 'link_only': {'type': 'integer', 'minimum': 0}, 'adapter_ready': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'buildReadySourceCount': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'optionalCountMap': {'type': 'object', 'additionalProperties': {'type': 'integer', 'minimum': 0}}, 'pagesPublication': {'type': 'object', 'required': ['verificationState', 'sourceRevision', 'sourceTreeOid', 'receiptBytes', 'receiptSha256', 'verifiedAt', 'freshUntil', 'availabilitySemantics', 'servedResources'], 'properties': {'freshUntil': {'$ref': '#/$defs/dateTime'}, 'verifiedAt': {'$ref': '#/$defs/dateTime'}, 'receiptBytes': {'type': 'integer', 'minimum': 1}, 'receiptSha256': {'$ref': '#/$defs/sha256'}, 'sourceTreeOid': {'$ref': '#/$defs/gitOid'}, 'sourceRevision': {'$ref': '#/$defs/commit'}, 'servedResources': {'type': 'array', 'items': {'$ref': '#/$defs/sourceDescriptor'}, 'maxItems': 3, 'minItems': 3}, 'verificationState': {'const': 'served_resource_receipt_validated'}, 'availabilitySemantics': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}, 'sourceDescriptor': {'type': 'object', 'required': ['path', 'canonicalUrl', 'bytes', 'sha256', 'gitBlobOid'], 'properties': {'path': {'type': 'string', 'minLength': 1}, 'bytes': {'type': 'integer', 'minimum': 1}, 'sha256': {'$ref': '#/$defs/sha256'}, 'gitBlobOid': {'$ref': '#/$defs/gitOid'}, 'canonicalUrl': {'$ref': '#/$defs/uri'}, 'railwayMirrorUrl': {'$ref': '#/$defs/uri'}}, 'additionalProperties': False}, 'indicatorCoverage': {'type': 'object', 'required': ['seriesId', 'indicatorId', 'unit', 'annualCoverage', 'sourceRowCount', 'observed', 'forecast', 'unavailable'], 'properties': {'unit': {'type': 'string', 'minLength': 1}, 'forecast': {'$ref': '#/$defs/coverageWindow'}, 'observed': {'$ref': '#/$defs/coverageWindow'}, 'seriesId': {'type': 'string', 'minLength': 1}, 'indicatorId': {'type': 'string', 'minLength': 1}, 'unavailable': {'$ref': '#/$defs/unavailableCoverage'}, 'annualCoverage': {'$ref': '#/$defs/coverageWindow'}, 'sourceRowCount': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'unavailableCoverage': {'type': 'object', 'required': ['fromYear', 'toYear', 'yearCount', 'reasonCounts'], 'properties': {'toYear': {'$ref': '#/$defs/nullableYear'}, 'fromYear': {'$ref': '#/$defs/nullableYear'}, 'yearCount': {'type': 'integer', 'minimum': 0}, 'reasonCounts': {'$ref': '#/$defs/optionalCountMap'}}, 'additionalProperties': False}}, 'title': 'NarcoScope Palimpsest BRI parallel-context bridge', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['$schema', 'schemaVersion', 'artifactId', 'dataAsOf', 'scope', 'provenance', 'sourceReadiness', 'claimSemantics', 'targetCoverage', 'economicContext', 'usePolicy', 'limitations'], 'properties': {'scope': {'type': 'string', 'minLength': 1}, '$schema': {'const': './narcoscope-palimpsest-bri-v1.schema.json'}, 'dataAsOf': {'$ref': '#/$defs/dateTime'}, 'usePolicy': {'$ref': '#/$defs/usePolicy'}, 'artifactId': {'const': 'narcoscope.palimpsest.bri-parallel-context'}, 'provenance': {'$ref': '#/$defs/provenance'}, 'limitations': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 8, 'uniqueItems': True}, 'schemaVersion': {'const': 'narcoscope.palimpsest.bri-context.v1'}, 'claimSemantics': {'$ref': '#/$defs/claimSemantics'}, 'targetCoverage': {'type': 'array', 'items': {'$ref': '#/$defs/targetArea'}, 'maxItems': 5, 'minItems': 5}, 'economicContext': {'$ref': '#/$defs/economicContext'}, 'sourceReadiness': {'$ref': '#/$defs/sourceReadiness'}}, 'additionalProperties': False}}, '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['schema', 'data', 'links', 'interpretation'], 'properties': {'data': {'$ref': '#/$defs/artifact'}, 'links': {'type': 'object', 'required': ['canonical', 'sha256', 'schema'], 'properties': {'schema': {'const': 'https://narcoscope.com/data/narcoscope-palimpsest-bri-v1.schema.json'}, 'sha256': {'type': 'string', 'format': 'uri'}, 'canonical': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'schema': {'const': 'narcoscope.api.palimpsest-bri-envelope.v1'}, 'interpretation': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}
get_palimpsest_bridge
Read the Palimpsest bridge
Return the official-only China aggregate shared with the Intelligence Commons, including disclosure and causal boundaries.
Lecture seule
Schéma d’entrée
{'type': 'object', 'additionalProperties': False}
Schéma de sortie
{'$id': 'urn:narcoscope:mcp-output:palimpsest-bridge:v1', 'type': 'object', '$defs': {'dataset': {'type': 'object', 'required': ['datasetId', 'topic', 'sourceStatus', 'measurement', 'temporalCoverage', 'provenance', 'data', 'limitations'], 'properties': {'data': {'type': 'object'}, 'topic': {'type': 'string', 'minLength': 1}, 'datasetId': {'type': 'string', 'minLength': 1}, 'provenance': {'type': 'object', 'required': ['publisher', 'title', 'url', 'sourceEdition', 'localDataDate', 'input'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'input': {'type': 'object', 'required': ['path', 'sha256'], 'properties': {'path': {'type': 'string', 'minLength': 1}, 'sha256': {'type': 'string', 'pattern': '^[a-f0-9]{64}$'}}, 'additionalProperties': False}, 'title': {'type': 'string', 'minLength': 1}, 'publisher': {'type': 'string', 'minLength': 1}, 'retrievedAt': {'type': 'string', 'format': 'date-time'}, 'localDataDate': {'type': ['string', 'null'], 'format': 'date'}, 'sourceEdition': {'type': 'string', 'minLength': 1}, 'documentSha256': {'type': 'string', 'pattern': '^[a-f0-9]{64}$'}}, 'additionalProperties': False}, 'limitations': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 1}, 'measurement': {'type': 'object', 'required': ['status', 'valueType', 'method', 'unit', 'grain'], 'properties': {'unit': {'type': 'string', 'minLength': 1}, 'grain': {'type': 'string', 'minLength': 1}, 'method': {'type': 'string', 'minLength': 1}, 'status': {'enum': ['official_reported', 'official_action_record']}, 'valueType': {'enum': ['statistical_measurement', 'administrative_measurement', 'administrative_action']}}, 'additionalProperties': False}, 'sourceStatus': {'const': 'official'}, 'temporalCoverage': {'type': 'object', 'required': ['kind', 'fromYear', 'toYear', 'snapshotDate'], 'properties': {'kind': {'enum': ['year_range', 'snapshot']}, 'toYear': {'type': ['integer', 'null']}, 'fromYear': {'type': ['integer', 'null']}, 'snapshotDate': {'type': ['string', 'null'], 'format': 'date'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'sourceLocator': {'type': 'object', 'required': ['pdfPage', 'printedPage', 'paragraph'], 'properties': {'pdfPage': {'type': 'integer', 'minimum': 1}, 'paragraph': {'type': 'integer', 'minimum': 1}, 'printedPage': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'ofacDesignationData': {'type': 'object', 'required': ['recordCount', 'narcoticsSpecificProgramRecordCount', 'tcoOnlyRecordCount', 'byEntityType', 'byProgram', 'multiCountryRecordCount'], 'properties': {'byProgram': {'type': 'array', 'items': {'type': 'object', 'required': ['program', 'label', 'count'], 'properties': {'count': {'type': 'integer', 'minimum': 0}, 'label': {'type': 'string', 'minLength': 1}, 'program': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}}, 'recordCount': {'type': 'integer', 'minimum': 0}, 'byEntityType': {'type': 'array', 'items': {'type': 'object', 'required': ['entityType', 'count'], 'properties': {'count': {'type': 'integer', 'minimum': 0}, 'entityType': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}}, 'tcoOnlyRecordCount': {'type': 'integer', 'minimum': 0}, 'multiCountryRecordCount': {'type': 'integer', 'minimum': 0}, 'narcoticsSpecificProgramRecordCount': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'precursorCorridorData': {'type': 'object', 'required': ['includedQuantitativeRecordCount', 'includedContextRecordCount', 'quantityAggregation', 'corridors', 'contextRecords'], 'properties': {'corridors': {'type': 'array', 'items': {'type': 'object', 'allOf': [{'if': {'type': 'object', 'required': ['aggregationEligibility'], 'properties': {'aggregationEligibility': {'const': 'eligible'}}}, 'then': {'type': 'object', 'properties': {'recordKind': {'not': {'const': 'derived_subtotal'}}, 'aggregationGroup': {'type': 'string'}, 'quantityRelation': {'const': 'exact'}}}}, {'if': {'type': 'object', 'required': ['quantityRelation'], 'properties': {'quantityRelation': {'const': 'exact'}}}, 'else': {'type': 'object', 'properties': {'aggregationEligibility': {'const': 'ineligible_non_exact'}}}, 'then': {'type': 'object', 'properties': {'aggregationEligibility': {'not': {'const': 'ineligible_non_exact'}}}}}, {'if': {'type': 'object', 'required': ['recordKind'], 'properties': {'recordKind': {'const': 'derived_subtotal'}}}, 'then': {'type': 'object', 'properties': {'aggregationGroup': {'const': None}, 'aggregationEligibility': {'const': 'ineligible_derived'}}}}, {'if': {'type': 'object', 'required': ['aggregationEligibility'], 'properties': {'aggregationEligibility': {'const': 'ineligible_derived'}}}, 'then': {'type': 'object', 'properties': {'recordKind': {'const': 'derived_subtotal'}, 'aggregationGroup': {'const': None}}}}, {'if': {'type': 'object', 'required': ['aggregationEligibility'], 'properties': {'aggregationEligibility': {'const': 'ineligible_incompatible_basis'}}}, 'then': {'type': 'object', 'properties': {'aggregationGroup': {'const': None}}}}], 'required': ['originAttribution', 'reportedOrigin', 'transit', 'destination', 'seizureLocation', 'year', 'precursor', 'quantityKg', 'quantityRelation', 'quantityBasis', 'recordKind', 'aggregationEligibility', 'aggregationGroup', 'incidentCount', 'sourceLocator'], 'properties': {'year': {'type': 'integer', 'minimum': 1900}, 'transit': {'type': ['string', 'null'], 'minLength': 1}, 'precursor': {'type': 'string', 'minLength': 1}, 'quantityKg': {'type': 'number', 'minimum': 0}, 'recordKind': {'enum': ['single_incident', 'multi_incident_aggregate', 'annual_aggregate', 'derived_subtotal']}, 'destination': {'type': 'string', 'minLength': 1}, 'incidentCount': {'type': ['integer', 'null'], 'minimum': 1}, 'quantityBasis': {'type': 'string', 'minLength': 1}, 'sourceLocator': {'$ref': '#/$defs/sourceLocator'}, 'reportedOrigin': {'type': 'string', 'minLength': 1}, 'seizureLocation': {'type': ['string', 'null'], 'minLength': 1}, 'aggregationGroup': {'oneOf': [{'enum': ['mdma_precursor_substance_mass', 'meth_pre_precursor_substance_mass', 'pseudoephedrine_preparation_gross_mass', 'potassium_permanganate_substance_mass', 'pseudoephedrine_preparation_mass']}, {'type': 'null'}]}, 'quantityRelation': {'enum': ['exact', 'approx', 'less_than', 'greater_than']}, 'originAttribution': {'enum': ['china_only', 'joint_origin_includes_china']}, 'aggregationEligibility': {'enum': ['eligible', 'ineligible_non_exact', 'ineligible_derived', 'ineligible_incompatible_basis']}}, 'additionalProperties': False}}, 'contextRecords': {'type': 'array', 'items': {'type': 'object', 'required': ['contextId', 'precursor', 'origins', 'destinations', 'year', 'recordKind', 'allocationStatus', 'operationReportedSeizureCount', 'countScope', 'summary', 'sourceLocator'], 'properties': {'year': {'type': 'integer', 'minimum': 1900}, 'origins': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 1, 'uniqueItems': True}, 'summary': {'type': 'string', 'minLength': 1}, 'contextId': {'type': 'string', 'minLength': 1}, 'precursor': {'type': 'string', 'minLength': 1}, 'countScope': {'const': 'four_reporting_countries_operation_total'}, 'recordKind': {'const': 'qualitative_context'}, 'destinations': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 1, 'uniqueItems': True}, 'sourceLocator': {'$ref': '#/$defs/sourceLocator'}, 'allocationStatus': {'const': 'not_reported_by_origin_destination_pair'}, 'operationReportedSeizureCount': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}}, 'quantityAggregation': {'type': 'object', 'allOf': [{'if': {'type': 'object', 'required': ['status'], 'properties': {'status': {'const': 'computed_exact_only'}}}, 'else': {'type': 'object', 'properties': {'aggregationGroup': {'const': None}, 'summedQuantityKg': {'const': None}}}, 'then': {'type': 'object', 'properties': {'aggregationGroup': {'enum': ['mdma_precursor_substance_mass', 'meth_pre_precursor_substance_mass', 'pseudoephedrine_preparation_gross_mass', 'potassium_permanganate_substance_mass', 'pseudoephedrine_preparation_mass']}, 'summedQuantityKg': {'type': 'number'}, 'eligibleRecordCount': {'type': 'integer', 'minimum': 1}}}}], 'required': ['status', 'exactRecordCount', 'nonExactRecordCount', 'eligibleRecordCount', 'excludedRecordCount', 'aggregationGroup', 'summedQuantityKg'], 'properties': {'status': {'enum': ['computed_exact_only', 'not_computed_non_exact_inputs', 'not_computed_ineligible_exact_inputs', 'not_computed_mixed_aggregation_groups', 'not_computed_no_records']}, 'aggregationGroup': {'oneOf': [{'enum': ['mdma_precursor_substance_mass', 'meth_pre_precursor_substance_mass', 'pseudoephedrine_preparation_gross_mass', 'potassium_permanganate_substance_mass', 'pseudoephedrine_preparation_mass']}, {'type': 'null'}]}, 'exactRecordCount': {'type': 'integer', 'minimum': 0}, 'summedQuantityKg': {'type': ['number', 'null'], 'minimum': 0}, 'eligibleRecordCount': {'type': 'integer', 'minimum': 0}, 'excludedRecordCount': {'type': 'integer', 'minimum': 0}, 'nonExactRecordCount': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'includedContextRecordCount': {'type': 'integer', 'minimum': 0}, 'includedQuantitativeRecordCount': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}}, 'title': 'NarcoScope public China aggregate for Palimpsest', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['$schema', 'schemaVersion', 'artifactId', 'dataAsOf', 'geography', 'disclosure', 'datasets', 'exclusions', 'limitations', 'canonicalUrl', 'interpretation'], 'properties': {'$schema': {'const': './narcoscope-palimpsest-v1.schema.json'}, 'dataAsOf': {'type': ['string', 'null'], 'format': 'date'}, 'datasets': {'type': 'object', 'required': ['retailDrugPrices', 'drugSeizures', 'precursorCorridorIncidents', 'ofacDesignations', 'wildlifeConfiscations'], 'properties': {'drugSeizures': {'allOf': [{'$ref': '#/$defs/dataset'}, {'type': 'object', 'properties': {'datasetId': {'const': 'drug_seizures'}}}]}, 'ofacDesignations': {'allOf': [{'$ref': '#/$defs/dataset'}, {'type': 'object', 'properties': {'data': {'$ref': '#/$defs/ofacDesignationData'}, 'datasetId': {'const': 'ofac_designations'}}}]}, 'retailDrugPrices': {'allOf': [{'$ref': '#/$defs/dataset'}, {'type': 'object', 'properties': {'datasetId': {'const': 'retail_drug_prices'}}}]}, 'wildlifeConfiscations': {'allOf': [{'$ref': '#/$defs/dataset'}, {'type': 'object', 'properties': {'datasetId': {'const': 'wildlife_confiscations'}}}]}, 'precursorCorridorIncidents': {'allOf': [{'$ref': '#/$defs/dataset'}, {'type': 'object', 'properties': {'data': {'$ref': '#/$defs/precursorCorridorData'}, 'datasetId': {'const': 'precursor_corridor_incidents'}, 'provenance': {'type': 'object', 'required': ['documentSha256', 'retrievedAt'], 'properties': {'url': {'const': 'https://www.incb.org/incb/uploads/documents/Publications/AnnualReports/AR2025/Precursors_Report/E_INCB_2025_4_eng.pdf'}, 'retrievedAt': {'const': '2026-08-12T13:50:25Z'}, 'documentSha256': {'const': '8397f2799116fe33ce6851ec2c7e03a042886fb9c048f72cdb259724de5ddd6e'}}}}}]}}, 'additionalProperties': False}, 'geography': {'type': 'object', 'required': ['country', 'iso2', 'iso3'], 'properties': {'iso2': {'const': 'CN'}, 'iso3': {'const': 'CHN'}, 'country': {'const': 'China'}}, 'additionalProperties': False}, 'artifactId': {'const': 'narcoscope.china.official-coverage'}, 'disclosure': {'type': 'object', 'required': ['level', 'sourcePolicy', 'subjectEntityDisclosure', 'exactAddressDisclosure', 'identifierDisclosure', 'illustrativeDataIncluded', 'runtimeCoupling'], 'properties': {'level': {'const': 'public_aggregate'}, 'sourcePolicy': {'const': 'official_only'}, 'runtimeCoupling': {'const': 'none_static_artifact'}, 'identifierDisclosure': {'const': 'none'}, 'exactAddressDisclosure': {'const': 'none'}, 'subjectEntityDisclosure': {'const': 'none'}, 'illustrativeDataIncluded': {'const': False}}, 'additionalProperties': False}, 'exclusions': {'type': 'array', 'items': {'type': 'object', 'required': ['component', 'classification', 'reason'], 'properties': {'reason': {'type': 'string', 'minLength': 1}, 'component': {'type': 'string', 'minLength': 1}, 'classification': {'enum': ['illustrative', 'illustrative_or_constructed', 'unreviewed_leads', 'privacy_minimized']}}, 'additionalProperties': False}}, 'limitations': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 1}, 'canonicalUrl': {'type': 'string', 'format': 'uri', 'pattern': '^https://'}, 'schemaVersion': {'const': 'narcoscope.palimpsest.china-aggregate.v1'}, 'interpretation': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}
get_palimpsest_corridors
Read the Palimpsest corridor overlay
Return official country-level China, Pakistan, and Myanmar aggregates with missing-data, provenance, disclosure, and geography-and-time-only join rules.
Lecture seule
Schéma d’entrée
{'type': 'object', 'additionalProperties': False}
Schéma de sortie
{'$id': 'urn:narcoscope:mcp-output:palimpsest-corridors:v2', 'type': 'object', '$defs': {'dataset': {'type': 'object', 'required': ['datasetId', 'topic', 'sourceStatus', 'measurement', 'temporalCoverage', 'provenance', 'data', 'limitations'], 'properties': {'data': {'type': 'object'}, 'topic': {'type': 'string', 'minLength': 1}, 'datasetId': {'type': 'string', 'minLength': 1}, 'provenance': {'$ref': '#/$defs/provenance'}, 'limitations': {'$ref': '#/$defs/limitations'}, 'measurement': {'$ref': '#/$defs/measurement'}, 'sourceStatus': {'const': 'official'}, 'temporalCoverage': {'$ref': '#/$defs/temporalCoverage'}}, 'additionalProperties': False}, 'exclusion': {'type': 'object', 'required': ['component', 'classification', 'reason'], 'properties': {'reason': {'type': 'string', 'minLength': 1}, 'component': {'type': 'string', 'minLength': 1}, 'classification': {'enum': ['illustrative_or_constructed', 'licensed_conflict_data', 'out_of_scope', 'privacy_minimized', 'safety_minimized']}}, 'additionalProperties': False}, 'geography': {'type': 'object', 'required': ['country', 'iso2', 'iso3'], 'properties': {'iso2': {'enum': ['CN', 'MM', 'PK']}, 'iso3': {'enum': ['CHN', 'MMR', 'PAK']}, 'country': {'enum': ['China', 'Myanmar', 'Pakistan']}}, 'additionalProperties': False}, 'provenance': {'type': 'object', 'required': ['publisher', 'title', 'url', 'sourceEdition', 'localDataDate', 'input'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'input': {'type': 'object', 'required': ['path', 'sha256'], 'properties': {'path': {'type': 'string', 'minLength': 1}, 'sha256': {'type': 'string', 'pattern': '^[a-f0-9]{64}$'}}, 'additionalProperties': False}, 'title': {'type': 'string', 'minLength': 1}, 'publisher': {'type': 'string', 'minLength': 1}, 'retrievedAt': {'type': 'string', 'format': 'date-time'}, 'localDataDate': {'type': ['string', 'null'], 'format': 'date'}, 'sourceEdition': {'type': 'string', 'minLength': 1}, 'documentSha256': {'type': 'string', 'pattern': '^[a-f0-9]{64}$'}}, 'additionalProperties': False}, 'limitations': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 1}, 'measurement': {'type': 'object', 'required': ['status', 'valueType', 'method', 'unit', 'grain'], 'properties': {'unit': {'type': 'string', 'minLength': 1}, 'grain': {'type': 'string', 'minLength': 1}, 'method': {'type': 'string', 'minLength': 1}, 'status': {'enum': ['official_reported', 'official_action_record']}, 'valueType': {'enum': ['statistical_measurement', 'administrative_measurement', 'administrative_action']}}, 'additionalProperties': False}, 'precursorData': {'type': 'object', 'required': ['includedQuantitativeRecordCount', 'includedContextRecordCount', 'crossTargetBilateralRecordCount', 'quantityAggregation', 'corridors', 'contextRecords'], 'properties': {'corridors': {'type': 'array', 'items': {'$ref': '#/$defs/precursorRecord'}}, 'contextRecords': {'type': 'array', 'items': {'type': 'object'}}, 'quantityAggregation': {'type': 'object', 'required': ['status', 'summedQuantityKg', 'reason'], 'properties': {'reason': {'type': 'string', 'minLength': 1}, 'status': {'const': 'not_computed_mixed_claim_semantics'}, 'summedQuantityKg': {'const': None}}, 'additionalProperties': False}, 'includedContextRecordCount': {'type': 'integer', 'minimum': 0}, 'crossTargetBilateralRecordCount': {'const': 0}, 'includedQuantitativeRecordCount': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'sourceLocator': {'type': 'object', 'required': ['pdfPage', 'printedPage', 'paragraph'], 'properties': {'pdfPage': {'type': 'integer', 'minimum': 1}, 'paragraph': {'type': 'integer', 'minimum': 1}, 'printedPage': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'precursorRecord': {'type': 'object', 'required': ['geographyMatches', 'reportedOrigin', 'transit', 'destination', 'seizureLocation', 'year', 'precursor', 'quantityKg', 'quantityRelation', 'quantityBasis', 'recordKind', 'aggregationEligibility', 'aggregationGroup', 'incidentCount', 'sourceLocator'], 'properties': {'year': {'type': 'integer'}, 'transit': {'type': ['string', 'null']}, 'precursor': {'type': 'string', 'minLength': 1}, 'quantityKg': {'type': 'number', 'minimum': 0}, 'recordKind': {'enum': ['single_incident', 'multi_incident_aggregate', 'annual_aggregate', 'derived_subtotal']}, 'destination': {'type': 'string', 'minLength': 1}, 'incidentCount': {'type': ['integer', 'null'], 'minimum': 1}, 'quantityBasis': {'type': 'string', 'minLength': 1}, 'sourceLocator': {'$ref': '#/$defs/sourceLocator'}, 'reportedOrigin': {'type': 'string', 'minLength': 1}, 'seizureLocation': {'type': ['string', 'null']}, 'aggregationGroup': {'type': ['string', 'null']}, 'geographyMatches': {'type': 'array', 'items': {'enum': ['CHN', 'MMR', 'PAK']}, 'minItems': 1, 'uniqueItems': True}, 'quantityRelation': {'enum': ['exact', 'approx', 'less_than', 'greater_than']}, 'aggregationEligibility': {'enum': ['eligible', 'ineligible_non_exact', 'ineligible_derived', 'ineligible_incompatible_basis']}}, 'additionalProperties': False}, 'temporalCoverage': {'type': 'object', 'required': ['kind', 'fromYear', 'toYear', 'snapshotDate'], 'properties': {'kind': {'enum': ['year_range', 'snapshot']}, 'toYear': {'type': ['integer', 'null']}, 'fromYear': {'type': ['integer', 'null']}, 'snapshotDate': {'type': ['string', 'null'], 'format': 'date'}}, 'additionalProperties': False}}, 'title': 'NarcoScope public China-Pakistan-Myanmar aggregate for Palimpsest', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['$schema', 'schemaVersion', 'artifactId', 'dataAsOf', 'geographies', 'disclosure', 'datasets', 'exclusions', 'limitations', 'canonicalUrl', 'interpretation'], 'properties': {'$schema': {'const': './narcoscope-palimpsest-corridors-v2.schema.json'}, 'dataAsOf': {'type': ['string', 'null'], 'format': 'date'}, 'datasets': {'type': 'object', 'required': ['retailDrugPrices', 'drugSeizures', 'precursorCorridorIncidents', 'ofacDesignations', 'wildlifeConfiscations'], 'properties': {'drugSeizures': {'allOf': [{'$ref': '#/$defs/dataset'}, {'type': 'object', 'properties': {'datasetId': {'const': 'drug_seizures'}}}]}, 'ofacDesignations': {'allOf': [{'$ref': '#/$defs/dataset'}, {'type': 'object', 'properties': {'datasetId': {'const': 'ofac_designations'}}}]}, 'retailDrugPrices': {'allOf': [{'$ref': '#/$defs/dataset'}, {'type': 'object', 'properties': {'datasetId': {'const': 'retail_drug_prices'}}}]}, 'wildlifeConfiscations': {'allOf': [{'$ref': '#/$defs/dataset'}, {'type': 'object', 'properties': {'datasetId': {'const': 'wildlife_confiscations'}}}]}, 'precursorCorridorIncidents': {'allOf': [{'$ref': '#/$defs/dataset'}, {'type': 'object', 'properties': {'data': {'$ref': '#/$defs/precursorData'}, 'datasetId': {'const': 'precursor_corridor_incidents'}}}]}}, 'additionalProperties': False}, 'artifactId': {'const': 'narcoscope.china-pakistan-myanmar.official-coverage'}, 'disclosure': {'type': 'object', 'required': ['level', 'sourcePolicy', 'subjectEntityDisclosure', 'exactAddressDisclosure', 'preciseCoordinateDisclosure', 'identifierDisclosure', 'illustrativeDataIncluded', 'runtimeCoupling', 'joinPolicy', 'politicalOrArmedActorInference'], 'properties': {'level': {'const': 'public_country_aggregate'}, 'joinPolicy': {'const': 'geography_and_time_only'}, 'sourcePolicy': {'const': 'official_only'}, 'runtimeCoupling': {'const': 'none_static_artifact'}, 'identifierDisclosure': {'const': 'none'}, 'exactAddressDisclosure': {'const': 'none'}, 'subjectEntityDisclosure': {'const': 'none'}, 'illustrativeDataIncluded': {'const': False}, 'preciseCoordinateDisclosure': {'const': 'none'}, 'politicalOrArmedActorInference': {'const': 'prohibited'}}, 'additionalProperties': False}, 'exclusions': {'type': 'array', 'items': {'$ref': '#/$defs/exclusion'}, 'minItems': 5}, 'geographies': {'type': 'array', 'items': {'$ref': '#/$defs/geography'}, 'maxItems': 3, 'minItems': 3}, 'limitations': {'$ref': '#/$defs/limitations'}, 'canonicalUrl': {'type': 'string', 'format': 'uri', 'pattern': '^https://'}, 'schemaVersion': {'const': 'narcoscope.palimpsest.corridor-aggregate.v2'}, 'interpretation': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}
get_story
Read a newsroom story artifact
Fetch one story as metadata, a machine brief, or the cited dossier. Use the machine brief first for agent workflows.
Lecture seule
Schéma d’entrée
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'artifact': {'enum': ['metadata', 'machine-brief', 'dossier'], 'type': 'string', 'default': 'machine-brief'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['schema', 'artifact', 'article', 'content'], 'properties': {'schema': {'const': 'narcoscope.api.story.v1'}, 'article': {'type': 'object', 'required': ['id', 'slug', 'title', 'dek', 'contentClass', 'dataAsOf', 'publishedAt', 'updatedAt', 'htmlUrl', 'dossierUrl', 'machineBriefUrl', 'revisionHash', 'contentHash', 'automationDisclosure', 'humanReviewStatus', 'correctionsStatus', 'rightToReplyStatus', 'testimonyIncluded', 'simulatedHumanVoicesIncluded'], 'properties': {'id': {'type': 'string', 'minLength': 1}, 'dek': {'type': 'string', 'minLength': 1}, 'slug': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'title': {'type': 'string', 'minLength': 1}, 'htmlUrl': {'type': 'string', 'format': 'uri', 'pattern': '^https://'}, 'dataAsOf': {'type': ['string', 'null'], 'format': 'date'}, 'updatedAt': {'type': ['string', 'null'], 'format': 'date-time'}, 'dossierUrl': {'type': 'string', 'format': 'uri', 'pattern': '^https://'}, 'contentHash': {'type': 'string', 'pattern': '^[a-f0-9]{64}$'}, 'publishedAt': {'type': ['string', 'null'], 'format': 'date-time'}, 'contentClass': {'type': 'string', 'minLength': 1}, 'revisionHash': {'type': 'string', 'pattern': '^[a-f0-9]{64}$'}, 'machineBriefUrl': {'type': 'string', 'format': 'uri', 'pattern': '^https://'}, 'correctionsStatus': {'type': 'string', 'minLength': 1}, 'humanReviewStatus': {'type': 'string', 'minLength': 1}, 'testimonyIncluded': {'type': 'boolean'}, 'rightToReplyStatus': {'type': 'string', 'minLength': 1}, 'automationDisclosure': {'type': 'string', 'minLength': 1}, 'simulatedHumanVoicesIncluded': {'type': 'boolean'}}, 'additionalProperties': False}, 'content': {'type': ['object', 'null'], 'additionalProperties': True}, 'artifact': {'enum': ['metadata', 'machine-brief', 'dossier']}}, 'additionalProperties': False}
list_capabilities
Discover NarcoScope
List the evidence explorer, newsroom, API, feeds, MCP tools, audiences, and safety boundaries.
Lecture seule
Schéma d’entrée
{'type': 'object', 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['schema', 'product', 'featured', 'api', 'mcp', 'feeds', 'boundaries'], 'properties': {'api': {'type': 'object', 'required': ['base_url', 'openapi', 'resources'], 'properties': {'openapi': {'type': 'string', 'format': 'uri', 'pattern': '^https://'}, 'base_url': {'type': 'string', 'format': 'uri', 'pattern': '^https://'}, 'resources': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}}}, 'additionalProperties': False}, 'mcp': {'type': 'object', 'required': ['endpoint', 'transport', 'current_protocol', 'protocol_versions', 'lifecycle', 'discovery_method', 'legacy_initialization', 'tools'], 'properties': {'tools': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}}, 'endpoint': {'type': 'string', 'format': 'uri', 'pattern': '^https://'}, 'lifecycle': {'const': 'stateless-per-request'}, 'transport': {'const': 'streamable-http'}, 'current_protocol': {'const': '2026-07-28'}, 'discovery_method': {'const': 'server/discover'}, 'protocol_versions': {'type': 'array', 'maxItems': 3, 'minItems': 3, 'prefixItems': [{'const': '2026-07-28'}, {'const': '2025-06-18'}, {'const': '2025-03-26'}]}, 'legacy_initialization': {'const': True}}, 'additionalProperties': False}, 'feeds': {'type': 'object', 'required': ['json', 'atom'], 'properties': {'atom': {'type': 'string', 'format': 'uri', 'pattern': '^https://'}, 'json': {'type': 'string', 'format': 'uri', 'pattern': '^https://'}}, 'additionalProperties': False}, 'schema': {'const': 'narcoscope.capabilities.v1'}, 'product': {'type': 'object', 'required': ['name', 'url', 'promise', 'audience'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'pattern': '^https://'}, 'name': {'const': 'NarcoScope'}, 'promise': {'type': 'string', 'minLength': 1}, 'audience': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}}}, 'additionalProperties': False}, 'featured': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'outcome', 'url'], 'properties': {'id': {'type': 'string', 'minLength': 1}, 'url': {'type': 'string', 'format': 'uri', 'pattern': '^https://'}, 'title': {'type': 'string', 'minLength': 1}, 'outcome': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}}, 'boundaries': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 1}}, 'additionalProperties': False}
query_market_observations
Query granular market observations
Filter published observations by dataset, indicator, geography, category, subgroup and inclusive reference period with bounded stable pagination (default 200, maximum 500). Retain dataset hashes across pages. Units, source locators, estimates and unavailable values remain explicit. No market-size aggregation, unit conversion or causal inference.
Lecture seule
Schéma d’entrée
{'type': 'object', 'properties': {'to': {'type': 'string', 'pattern': '^(18|19|20|21)[0-9]{2}(-(0[1-9]|1[0-2]))?$'}, 'geo': {'type': 'string', 'maxLength': 180, 'minLength': 1}, 'from': {'type': 'string', 'pattern': '^(18|19|20|21)[0-9]{2}(-(0[1-9]|1[0-2]))?$'}, 'page': {'type': 'integer', 'default': 1, 'maximum': 1000000, 'minimum': 1}, 'limit': {'type': 'integer', 'default': 200, 'maximum': 500, 'minimum': 1}, 'dataset': {'enum': ['global-drugs', 'global-arms-economy'], 'type': 'string'}, 'category': {'type': 'string', 'maxLength': 500}, 'subgroup': {'type': 'string', 'maxLength': 500}, 'indicator': {'type': 'string', 'maxLength': 160, 'minLength': 1}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['schema', 'status', 'generatedAt', 'unavailableDatasets', 'limitations', 'filters', 'pagination', 'datasets', 'indicators', 'sources', 'observations'], 'properties': {'schema': {'const': 'narcoscope.market-observations.v1'}, 'status': {'enum': ['available', 'partial', 'unavailable'], 'type': 'string'}, 'filters': {'type': 'object', 'required': ['dataset', 'indicator', 'geo', 'category', 'subgroup', 'from', 'to'], 'properties': {'to': {'anyOf': [{'type': 'string', 'pattern': '^(18|19|20|21)[0-9]{2}(-(0[1-9]|1[0-2]))?$'}, {'type': 'null'}]}, 'geo': {'anyOf': [{'type': 'string', 'maxLength': 180, 'minLength': 1}, {'type': 'null'}]}, 'from': {'anyOf': [{'type': 'string', 'pattern': '^(18|19|20|21)[0-9]{2}(-(0[1-9]|1[0-2]))?$'}, {'type': 'null'}]}, 'dataset': {'anyOf': [{'enum': ['global-drugs', 'global-arms-economy'], 'type': 'string'}, {'type': 'null'}]}, 'category': {'anyOf': [{'type': 'string', 'maxLength': 500, 'minLength': 0}, {'type': 'null'}]}, 'subgroup': {'anyOf': [{'type': 'string', 'maxLength': 500, 'minLength': 0}, {'type': 'null'}]}, 'indicator': {'anyOf': [{'type': 'string', 'maxLength': 160, 'minLength': 1}, {'type': 'null'}]}}, 'additionalProperties': False}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'publisher', 'url', 'downloadUrl', 'license', 'licenseUrl', 'retrievedAt', 'sha256', 'bytes', 'notes', 'datasetId'], 'properties': {'id': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]{0,159}$'}, 'url': {'type': 'string', 'format': 'uri', 'pattern': '^https://', 'maxLength': 4096}, 'name': {'type': 'string', 'maxLength': 1000, 'minLength': 1}, 'bytes': {'type': 'integer', 'minimum': 1}, 'notes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'maxItems': 60}, 'sha256': {'type': 'string', 'pattern': '^[a-f0-9]{64}$'}, 'license': {'type': 'string', 'maxLength': 1000, 'minLength': 1}, 'datasetId': {'enum': ['global-drugs', 'global-arms-economy'], 'type': 'string'}, 'publisher': {'type': 'string', 'maxLength': 1000, 'minLength': 1}, 'licenseUrl': {'type': 'string', 'format': 'uri', 'pattern': '^https://', 'maxLength': 4096}, 'downloadUrl': {'type': 'string', 'format': 'uri', 'pattern': '^https://', 'maxLength': 4096}, 'retrievedAt': {'type': 'string', 'format': 'date-time'}}, 'additionalProperties': False}, 'maxItems': 160}, 'datasets': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'sha256', 'generatedAt'], 'properties': {'id': {'enum': ['global-drugs', 'global-arms-economy'], 'type': 'string'}, 'sha256': {'type': 'string', 'pattern': '^[a-f0-9]{64}$'}, 'generatedAt': {'type': 'string', 'format': 'date-time'}}, 'additionalProperties': False}, 'maxItems': 2}, 'indicators': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'sourceId', 'market', 'label', 'unit', 'measureType', 'description', 'limitations', 'datasetId'], 'properties': {'id': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]{0,159}$'}, 'unit': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'label': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'market': {'enum': ['drugs', 'arms', 'economy'], 'type': 'string'}, 'sourceId': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]{0,159}$'}, 'datasetId': {'enum': ['global-drugs', 'global-arms-economy'], 'type': 'string'}, 'description': {'type': 'string', 'maxLength': 2500, 'minLength': 1}, 'limitations': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'maxItems': 60}, 'measureType': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 1000}, 'pagination': {'type': 'object', 'required': ['page', 'limit', 'total', 'pages', 'nextPage'], 'properties': {'page': {'type': 'integer', 'maximum': 1000000, 'minimum': 1}, 'limit': {'type': 'integer', 'maximum': 500, 'minimum': 1}, 'pages': {'type': 'integer', 'minimum': 0}, 'total': {'type': 'integer', 'minimum': 0}, 'nextPage': {'anyOf': [{'type': 'integer', 'minimum': 2}, {'type': 'null'}]}}, 'additionalProperties': False}, 'generatedAt': {'anyOf': [{'type': 'string', 'format': 'date-time'}, {'type': 'null'}]}, 'limitations': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'maxItems': 60}, 'observations': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'indicatorId', 'geoCode', 'geoName', 'geoLevel', 'period', 'category', 'subgroup', 'value', 'lower', 'upper', 'status', 'sourceLocator', 'datasetId', 'sourceId', 'unit', 'measureType'], 'properties': {'id': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]{0,159}$'}, 'unit': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'lower': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'upper': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'value': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'period': {'type': 'string', 'pattern': '^(18|19|20|21)[0-9]{2}(-(0[1-9]|1[0-2]))?$'}, 'status': {'enum': ['reported', 'estimated', 'unavailable'], 'type': 'string'}, 'geoCode': {'type': 'string', 'maxLength': 180, 'minLength': 1}, 'geoName': {'type': 'string', 'maxLength': 180, 'minLength': 1}, 'category': {'type': 'string', 'maxLength': 500, 'minLength': 0}, 'geoLevel': {'enum': ['country', 'region', 'city', 'world'], 'type': 'string'}, 'sourceId': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]{0,159}$'}, 'subgroup': {'type': 'string', 'maxLength': 500, 'minLength': 0}, 'datasetId': {'enum': ['global-drugs', 'global-arms-economy'], 'type': 'string'}, 'indicatorId': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]{0,159}$'}, 'measureType': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'sourceLocator': {'type': 'string', 'maxLength': 2000, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 500}, 'unavailableDatasets': {'type': 'array', 'items': {'enum': ['global-drugs', 'global-arms-economy'], 'type': 'string'}, 'maxItems': 2}}, 'additionalProperties': False}
research_network
Connect global evidence with funding and institution research
Read Palimpsest’s complete source catalog by topic alongside Seiche funding context, with next steps into LiquiLens filings and Undertow liquidity. Source dates, rights and missingness stay attached; no actor, route, criminal or causal inference is implied.
Lecture seule
Schéma d’entrée
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 12, 'maximum': 25, 'minimum': 1}, 'topic': {'enum': ['all', 'china', 'regions', 'information_controls', 'model_evaluations', 'funding', 'institutions', 'liquidity', 'global_data'], 'type': 'string', 'default': 'all'}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 1000, 'minimum': 0}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['schema', 'status', 'context_only', 'selection', 'datasets', 'eligibility'], 'properties': {'schema': {'const': 'seiche.research-network.v1'}, 'status': {'enum': ['available', 'stale', 'unavailable'], 'type': 'string'}, 'datasets': {'type': 'array', 'items': {'type': 'object'}, 'maxItems': 25}, 'selection': {'type': 'object'}, 'eligibility': {'type': 'object'}, 'context_only': {'const': True}}, 'additionalProperties': True}
Ajouté
query_market_observations
17 September 2026 12:40
Ajouté
get_market_catalog
17 September 2026 12:40
Ajouté
get_connected_research
17 September 2026 12:40
Ajouté
get_palimpsest_bri_context
17 September 2026 12:40
Ajouté
get_palimpsest_corridors
17 September 2026 12:40
Ajouté
get_palimpsest_bridge
17 September 2026 12:40
Ajouté
get_story
17 September 2026 12:40
Ajouté
get_newsroom
17 September 2026 12:40
Ajouté
get_federation
17 September 2026 12:40
Ajouté
get_entities
17 September 2026 12:40
Ajouté
get_atlas
17 September 2026 12:40
Ajouté
get_overview
17 September 2026 12:40
Ajouté
list_capabilities
17 September 2026 12:40
Ajouté
research_network
17 September 2026 12:40