Expose ITAM devices on MCP, CLI, and n8n

Devices were only available through GraphQL and the agent API. Add
list/get/revoke/delete/set-owner across MCP, prb, and n8n, with latest
postures nested on list and get responses.

Signed-off-by: Ludovic Vielle <ludovic@probo.com>
This commit is contained in:
Ludovic Vielle
2026-07-30 18:20:09 +02:00
parent 36e038f5ff
commit 62e65eccda
26 changed files with 2548 additions and 3 deletions

View File

@@ -38,6 +38,7 @@ import (
"go.probo.inc/probo/pkg/filemanager"
"go.probo.inc/probo/pkg/gid"
"go.probo.inc/probo/pkg/iam"
"go.probo.inc/probo/pkg/itam"
"go.probo.inc/probo/pkg/probo"
"go.probo.inc/probo/pkg/prosemirror"
"go.probo.inc/probo/pkg/resourcealias"
@@ -47,6 +48,10 @@ import (
"go.probo.inc/probo/pkg/thirdparty"
)
// maxDeviceListSize caps the listDevices page size: with include_postures the
// resolver runs one posture query per returned device.
const maxDeviceListSize = 100
type Resolver struct {
proboSvc *probo.Service
management *management.Service
@@ -57,6 +62,7 @@ type Resolver struct {
accessReview *accessreview.Service
cookieBanner *cookiebanner.Service
riskManagement *riskmanagement.Service
itamSvc *itam.Service
logger *log.Logger
fileManager *filemanager.Service
baseURL *baseurl.BaseURL