Files
cgm-remote-monitor/docs/proposals/schemas/controller-kind-definition.schema.json
T
bewestandBen West 12c90cfc63 Add proposal for agentic collaboration control plane and data plane
Create a new RFC document and associated JSON schemas defining an agentic control plane for automated insulin delivery systems, including event envelopes, capabilities models, delivery tracking, and conflict rules.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 06715f81-f852-4156-8ab0-cf9e0aa3564d
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Event-Id: 010cdc4a-2c86-4d2e-9768-bf2769a89953
Replit-Helium-Checkpoint-Created: true
2026-01-19 13:12:53 -08:00

118 lines
3.5 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://nightscout.github.io/schemas/controller-kind-definition.schema.json",
"title": "ControllerKindDefinition",
"description": "Declared capabilities and schema for a type of AID controller (Loop, Trio, AAPS, etc.)",
"type": "object",
"required": ["kindId", "name", "version"],
"properties": {
"kindId": {
"type": "string",
"description": "Unique identifier for this controller type",
"examples": ["loop", "trio", "aaps", "openaps", "tidepool-loop"]
},
"name": {
"type": "string",
"description": "Human-readable name"
},
"version": {
"type": "string",
"description": "Version of this controller definition"
},
"vendor": {
"type": "string",
"description": "Organization or project responsible"
},
"supportedFeatures": {
"type": "object",
"description": "Feature flags for this controller type",
"properties": {
"tempBasal": {
"type": "boolean",
"description": "Can set temporary basal rates"
},
"microBolus": {
"type": "boolean",
"description": "Uses micro-bolus (SMB) strategy"
},
"suspend": {
"type": "boolean",
"description": "Can suspend insulin delivery"
},
"overrides": {
"type": "boolean",
"description": "Supports override presets"
},
"autoSens": {
"type": "boolean",
"description": "Has autosensitivity detection"
},
"dynamicISF": {
"type": "boolean",
"description": "Supports dynamic ISF adjustments"
},
"dynamicCR": {
"type": "boolean",
"description": "Supports dynamic carb ratio adjustments"
},
"smbWithCOB": {
"type": "boolean",
"description": "Allows SMB when carbs on board"
},
"uam": {
"type": "boolean",
"description": "Supports unannounced meals detection"
},
"profileSwitching": {
"type": "boolean",
"description": "Supports switching between profiles"
},
"remoteCommands": {
"type": "boolean",
"description": "Can accept remote commands"
}
}
},
"supportedPumps": {
"type": "array",
"items": { "type": "string" },
"description": "List of compatible pump types"
},
"supportedCGMs": {
"type": "array",
"items": { "type": "string" },
"description": "List of compatible CGM types"
},
"algorithmType": {
"type": "string",
"enum": ["oref0", "oref1", "dosing-decision", "custom"],
"description": "Core algorithm family"
},
"eventCapabilities": {
"type": "object",
"description": "What events this controller can emit",
"properties": {
"canEmitNativeEvents": {
"type": "boolean",
"description": "Whether it can emit canonical events directly"
},
"minimalEventSet": {
"type": "array",
"items": { "type": "string" },
"description": "Minimum set of event types it can emit"
},
"deviceStatusFields": {
"type": "array",
"items": { "type": "string" },
"description": "Fields available in devicestatus uploads"
}
}
},
"documentation": {
"type": "string",
"format": "uri",
"description": "Link to controller documentation"
}
}
}