feat(provider): publish full unit identity product

This commit is contained in:
Codex
2026-07-24 11:42:41 +03:00
parent 8cc917508e
commit abebb9fac6
13 changed files with 801 additions and 32 deletions
@@ -3,11 +3,13 @@ import { validateProviderCapabilityCatalog } from "../src/index.mjs";
import {
geliosCapabilityCatalogV1,
geliosCapabilityCatalogV2,
geliosCapabilityCatalogV3,
geliosProviderPackageV8,
} from "../providers/gelios/index.mjs";
assert.deepEqual(validateProviderCapabilityCatalog(geliosCapabilityCatalogV1), { ok: true, errors: [] });
assert.deepEqual(validateProviderCapabilityCatalog(geliosCapabilityCatalogV2), { ok: true, errors: [] });
assert.deepEqual(validateProviderCapabilityCatalog(geliosCapabilityCatalogV3), { ok: true, errors: [] });
const expectedUnitRoots = [
"activatedAt", "availableToUsers", "blockTime", "commands", "counters", "createdAt",
@@ -54,6 +56,16 @@ assert.equal(
geliosCapabilityCatalogV2.dataFamilies.find(({ id }) => id === "gelios.unit.sensor_definitions").status,
"planned",
);
for (const familyId of [
"gelios.unit.device_identifiers",
"gelios.unit.driver",
"gelios.unit.asset_identifiers",
"gelios.unit.custom_fields",
]) {
const family = geliosCapabilityCatalogV3.dataFamilies.find(({ id }) => id === familyId);
assert.equal(family.status, "implemented");
assert.equal(family.dataProductIds.includes("fleet.units.identity.current.v1"), true);
}
const restrictedPublish = structuredClone(geliosCapabilityCatalogV1);
restrictedPublish.dataFamilies.find(({ id }) => id === "gelios.unit.device_identifiers").disposition = "publish";