Add approval quorum and decision read tools

Expose document version approval quorums and decisions
through MCP, CLI, and n8n. This lets users inspect who
approved or rejected a document version, including the
rejection comment, without relying solely on the audit
log.

MCP tools: listDocumentVersionApprovalQuorums,
getDocumentVersionApprovalQuorum,
listDocumentVersionApprovalDecisions,
getDocumentVersionApprovalDecision.

CLI commands: document list-approval-quorums,
view-approval-quorum, list-approval-decisions,
view-approval-decision.

n8n operations: Get/Get Many Approval Quorums and
Approval Decisions on the Document resource.

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
Sacha Al Himdani
2026-04-20 10:10:39 +02:00
parent 685e9d2e69
commit 5b8918bd5a
14 changed files with 1528 additions and 0 deletions

View File

@@ -34,6 +34,10 @@ import * as getAllSignaturesOp from './getAllSignatures.operation';
import * as requestSignatureOp from './requestSignature.operation';
import * as cancelSignatureOp from './cancelSignature.operation';
import * as sendSigningNotificationsOp from './sendSigningNotifications.operation';
import * as getApprovalQuorumOp from './getApprovalQuorum.operation';
import * as getAllApprovalQuorumsOp from './getAllApprovalQuorums.operation';
import * as getApprovalDecisionOp from './getApprovalDecision.operation';
import * as getAllApprovalDecisionsOp from './getAllApprovalDecisions.operation';
export const description: INodeProperties[] = [
{
@@ -89,12 +93,36 @@ export const description: INodeProperties[] = [
description: 'Get a document',
action: 'Get a document',
},
{
name: 'Get Approval Decision',
value: 'getApprovalDecision',
description: 'Get an approval decision',
action: 'Get an approval decision',
},
{
name: 'Get Approval Quorum',
value: 'getApprovalQuorum',
description: 'Get an approval quorum',
action: 'Get an approval quorum',
},
{
name: 'Get Many',
value: 'getAll',
description: 'Get many documents',
action: 'Get many documents',
},
{
name: 'Get Many Approval Decisions',
value: 'getAllApprovalDecisions',
description: 'Get many approval decisions for an approval quorum',
action: 'Get many approval decisions',
},
{
name: 'Get Many Approval Quorums',
value: 'getAllApprovalQuorums',
description: 'Get many approval quorums for a document version',
action: 'Get many approval quorums',
},
{
name: 'Get Many Signatures',
value: 'getAllSignatures',
@@ -197,6 +225,10 @@ export const description: INodeProperties[] = [
...requestSignatureOp.description,
...cancelSignatureOp.description,
...sendSigningNotificationsOp.description,
...getApprovalQuorumOp.description,
...getAllApprovalQuorumsOp.description,
...getApprovalDecisionOp.description,
...getAllApprovalDecisionsOp.description,
];
export {
@@ -221,4 +253,8 @@ export {
requestSignatureOp as requestSignature,
cancelSignatureOp as cancelSignature,
sendSigningNotificationsOp as sendSigningNotifications,
getApprovalQuorumOp as getApprovalQuorum,
getAllApprovalQuorumsOp as getAllApprovalQuorums,
getApprovalDecisionOp as getApprovalDecision,
getAllApprovalDecisionsOp as getAllApprovalDecisions,
};