Add measures tools

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
This commit is contained in:
Bryan Frimin
2025-11-23 21:03:21 +01:00
parent fa97a8e9c6
commit 963fbd8eab
5 changed files with 501 additions and 0 deletions

View File

@@ -671,6 +671,186 @@ components:
risk:
$ref: "#/components/schemas/Risk"
MeasureState:
type: string
enum:
- NOT_STARTED
- IN_PROGRESS
- NOT_APPLICABLE
- IMPLEMENTED
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.MeasureState
MeasureOrderField:
type: string
enum:
- CREATED_AT
- NAME
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.MeasureOrderField
MeasureOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/MeasureOrderField"
description: Measure order field
direction:
$ref: "#/components/schemas/OrderDirection"
description: Measure order direction
Measure:
type: object
required:
- id
- category
- name
- state
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Measure ID
category:
type: string
description: Measure category
name:
type: string
description: Measure name
description:
type:
- string
- "null"
description: Measure description
state:
$ref: "#/components/schemas/MeasureState"
description: Measure state
created_at:
type: string
format: date-time
description: Creation timestamp
updated_at:
type: string
format: date-time
description: Update timestamp
ListMeasuresInput:
type: object
required:
- organization_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
order_by:
$ref: "#/components/schemas/MeasureOrderBy"
description: Measure order by
size:
type: integer
description: Page size
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
filter:
type: object
properties:
query:
type: string
description: Search query
state:
$ref: "#/components/schemas/MeasureState"
description: Measure state filter
ListMeasuresOutput:
type: object
required:
- measures
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
measures:
type: array
items:
$ref: "#/components/schemas/Measure"
GetMeasureInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Measure ID
GetMeasureOutput:
type: object
required:
- measure
properties:
measure:
$ref: "#/components/schemas/Measure"
AddMeasureInput:
type: object
required:
- organization_id
- name
- category
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
name:
type: string
description: Measure name
description:
type: string
description: Measure description
category:
type: string
description: Measure category
AddMeasureOutput:
type: object
required:
- measure
properties:
measure:
$ref: "#/components/schemas/Measure"
UpdateMeasureInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Measure ID
name:
type: string
description: Measure name
description:
type: ["string", "null"]
description: Measure description
go.probo.inc/mcpgen/omittable: true
category:
type: string
description: Measure category
state:
$ref: "#/components/schemas/MeasureState"
description: Measure state
UpdateMeasureOutput:
type: object
required:
- measure
properties:
measure:
$ref: "#/components/schemas/Measure"
tools:
- name: listOrganizations
description: List all organizations the user has access to
@@ -749,3 +929,31 @@ tools:
$ref: "#/components/schemas/UpdateRiskInput"
outputSchema:
$ref: "#/components/schemas/UpdateRiskOutput"
- name: listMeasures
description: List all measures for the organization
readonly: true
inputSchema:
$ref: "#/components/schemas/ListMeasuresInput"
outputSchema:
$ref: "#/components/schemas/ListMeasuresOutput"
- name: getMeasure
description: Get a measure by ID
readonly: true
inputSchema:
$ref: "#/components/schemas/GetMeasureInput"
outputSchema:
$ref: "#/components/schemas/GetMeasureOutput"
- name: addMeasure
description: Add a new measure to the organization
readonly: false
inputSchema:
$ref: "#/components/schemas/AddMeasureInput"
outputSchema:
$ref: "#/components/schemas/AddMeasureOutput"
- name: updateMeasure
description: Update an existing measure
readonly: false
inputSchema:
$ref: "#/components/schemas/UpdateMeasureInput"
outputSchema:
$ref: "#/components/schemas/UpdateMeasureOutput"