Publish curated MobilityOps source snapshot
This commit is contained in:
commit
7adc072f5e
317 files changed
+48851
No files matched your search
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://example.test/schemas/mobilityops-events-v1.json",
|
||||
"title": "MobilityOps event envelope",
|
||||
"type": "object",
|
||||
"required": ["event_id", "event_type", "occurred_at", "correlation_id", "aggregate", "data"],
|
||||
"properties": {
|
||||
"event_id": {"type": "string", "format": "uuid"},
|
||||
"event_type": {"const": "vehicle.returned.v1"},
|
||||
"occurred_at": {"type": "string", "format": "date-time"},
|
||||
"correlation_id": {"type": "string"},
|
||||
"aggregate": {
|
||||
"type": "object",
|
||||
"required": ["type", "id", "public_ref"],
|
||||
"properties": {
|
||||
"type": {"const": "booking"},
|
||||
"id": {"type": "string", "format": "uuid"},
|
||||
"public_ref": {"type": "string"}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"data": {
|
||||
"type": "object",
|
||||
"required": ["vehicle_ref", "inspection_ref", "resulting_vehicle_status", "attention_reasons"],
|
||||
"properties": {
|
||||
"vehicle_ref": {"type": "string"},
|
||||
"inspection_ref": {"type": "string"},
|
||||
"resulting_vehicle_status": {"enum": ["cleaning", "maintenance", "blocked"]},
|
||||
"attention_reasons": {"type": "array", "items": {"type": "string"}}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"_note": "Fleet Ops's own published tool contract. The live ITWorx MCP Hub connector (ITWorx_MCP_Hub repo, connectors/mobilityops/) wraps these under its own dotted namespace (mobilityops.operations.summary, .attention.list, .vehicle.get, .knowledge.search) -- that naming is Hub-owned. deprecated_aliases below are Fleet Ops's own prior internal audit-label names, kept only so existing clients/dashboards referencing them don't break.",
|
||||
"provider_id": "mobilityops",
|
||||
"version": "1.2.0",
|
||||
"required_scope": "mobilityops.read",
|
||||
"authentication": {
|
||||
"service_header": "X-Service-Token",
|
||||
"client_header": "X-Client-Id",
|
||||
"client_pattern": "^itworx-mcp-hub:(readiness|mobilityops:[A-Za-z0-9][A-Za-z0-9._:-]{0,127})$",
|
||||
"optional_tenant_header": "X-Tenant-Id",
|
||||
"tenant_must_match": "northstar-mobility-demo"
|
||||
},
|
||||
"observability": {
|
||||
"response_headers": ["X-Correlation-Id", "X-Tenant-Id", "Cache-Control"],
|
||||
"knowledge_response_headers": ["X-Sources-Available", "X-Sources-Returned"]
|
||||
},
|
||||
"tools": [
|
||||
{
|
||||
"name": "fleet_ops_get_operations_summary",
|
||||
"deprecated_aliases": ["mobilityops_get_operations_summary"],
|
||||
"description": "Return current high-level vehicle, data-quality and workflow counts for the synthetic Fleet Ops demo tenant.",
|
||||
"read_only": true,
|
||||
"inputSchema": {"type": "object", "additionalProperties": false},
|
||||
"endpoint": {"method": "GET", "path": "/api/v1/integrations/mcp/operations-summary"}
|
||||
},
|
||||
{
|
||||
"name": "fleet_ops_list_attention_vehicles",
|
||||
"deprecated_aliases": ["mobilityops_list_attention_vehicles"],
|
||||
"description": "List vehicles that require operational attention, optionally filtered by minimum severity and date.",
|
||||
"read_only": true,
|
||||
"inputSchema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"minimum_severity": {"enum": ["low", "medium", "high"], "default": "medium"},
|
||||
"date": {"type": "string", "format": "date"},
|
||||
"limit": {"type": "integer", "minimum": 1, "maximum": 50, "default": 20}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"endpoint": {"method": "GET", "path": "/api/v1/integrations/mcp/attention-vehicles"}
|
||||
},
|
||||
{
|
||||
"name": "fleet_ops_get_vehicle_details",
|
||||
"deprecated_aliases": ["mobilityops_get_vehicle_details"],
|
||||
"description": "Return a read-only operational view of one vehicle by its stable public reference.",
|
||||
"read_only": true,
|
||||
"inputSchema": {
|
||||
"type": "object",
|
||||
"required": ["vehicle_ref"],
|
||||
"properties": {"vehicle_ref": {"type": "string", "pattern": "^MO-[0-9]{3}$"}},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"endpoint": {"method": "GET", "path": "/api/v1/integrations/mcp/vehicles/{vehicle_ref}"}
|
||||
},
|
||||
{
|
||||
"name": "fleet_ops_search_knowledge",
|
||||
"deprecated_aliases": ["mobilityops_search_knowledge"],
|
||||
"description": "Search versioned Fleet Ops internal procedures through the dedicated RAGcore workspace and return grounded source references.",
|
||||
"read_only": true,
|
||||
"inputSchema": {
|
||||
"type": "object",
|
||||
"required": ["question"],
|
||||
"properties": {
|
||||
"question": {"type": "string", "minLength": 3, "maxLength": 1000},
|
||||
"max_sources": {"type": "integer", "minimum": 1, "maximum": 8, "default": 4},
|
||||
"locale": {"enum": ["nl-BE", "en-GB", "fr-BE"], "default": "en-GB"}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"endpoint": {"method": "POST", "path": "/api/v1/integrations/mcp/search-knowledge"},
|
||||
"routing": {
|
||||
"preferred": "ragcore",
|
||||
"tenant": "northstar-mobility-demo",
|
||||
"workspace": "mobilityops",
|
||||
"collection": "internal-procedures"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,13 @@
|
||||
# RAGcore contract assumptions
|
||||
|
||||
RAGcore is being built separately, so Claude must inspect its actual exposed API before finalizing the adapter. Do not edit RAGcore from this repository.
|
||||
|
||||
The MobilityOps adapter needs only these capabilities:
|
||||
|
||||
1. health/status;
|
||||
2. synchronize or ingest a document with stable ID and metadata;
|
||||
3. ask/search within one tenant/workspace/collection;
|
||||
4. receive source document ID, title, version, section and excerpt;
|
||||
5. distinguish unavailable from insufficient evidence.
|
||||
|
||||
When the actual RAGcore API differs, adapt MobilityOps behind `KnowledgeProvider`; do not leak RAGcore-specific response shapes into UI/domain code.
|
||||
Reference in new issue
Block a user