Skip to main content
Canonical Parmana SDK client.

Constructors

Constructor

new ParmanaClient(configuration): ParmanaClient

Parameters

configuration
Configuration

Returns

ParmanaClient

Properties

configuration

readonly configuration: Configuration
Immutable SDK configuration.

Methods

toJSON()

toJSON(): object

Returns

object
endpoint
endpoint: string

endpoint()

endpoint(): string
Returns the configured Runtime endpoint.

Returns

string

health()

health(): Promise<HealthStatus>
Performs a Runtime health check.

Returns

Promise<HealthStatus>

version()

version(): Promise<unknown>
Returns the Runtime name, version, and API version.

Returns

Promise<unknown>

execute()

execute(transaction): Promise<ExecutionTrustRecord>
Executes a Business Transaction.

Parameters

transaction
BusinessTransaction

Returns

Promise<ExecutionTrustRecord>

verify()

verify(businessTransactionId): Promise<Verification>
Runs a fresh verification of an Execution Trust Record, appending a new Verification to its history. Distinct from getLatestVerification(), which reads the most recent one without re-verifying.

Parameters

businessTransactionId
string

Returns

Promise<Verification>

getLatestVerification()

getLatestVerification(businessTransactionId): Promise<Verification>
Returns the latest Verification.

Parameters

businessTransactionId
string

Returns

Promise<Verification>

replay()

replay(businessTransactionId): Promise<ReplayResult>
Performs deterministic replay.

Parameters

businessTransactionId
string

Returns

Promise<ReplayResult>

receipt()

receipt(businessTransactionId): Promise<Receipt>
Generates an execution receipt.

Parameters

businessTransactionId
string

Returns

Promise<Receipt>

createTransaction()

createTransaction(transaction): Promise<ExecutionTrustRecord>
Creates (executes) a Business Transaction via POST /transactions, a second, independent entry point into the identical execution pipeline as execute() (POST /execute). See TransactionApi.create.

Parameters

transaction
BusinessTransaction

Returns

Promise<ExecutionTrustRecord>

transaction()

transaction(businessTransactionId): Promise<BusinessTransaction>
Retrieves a Business Transaction.

Parameters

businessTransactionId
string

Returns

Promise<BusinessTransaction>

transactions()

transactions(page?, pageSize?): Promise<BusinessTransaction[]>
Lists Business Transactions.

Parameters

page?
number = 1
pageSize?
number = 25

Returns

Promise<BusinessTransaction[]>

latestReceipt()

latestReceipt(businessTransactionId): Promise<Receipt>
Retrieves the most recent receipt without generating a new one.

Parameters

businessTransactionId
string

Returns

Promise<Receipt>

trustRecord()

trustRecord(businessTransactionId): Promise<ExecutionTrustRecord>
Retrieves an Execution Trust Record.

Parameters

businessTransactionId
string

Returns

Promise<ExecutionTrustRecord>

trustRecords()

trustRecords(page?, pageSize?, options?): Promise<ExecutionTrustRecord[]>
Lists Execution Trust Records of this caller’s transactions, newest first. See TrustRecordApi.list.

Parameters

page?
number = 1
pageSize?
number = 25
options?
since?
string
until?
string

Returns

Promise<ExecutionTrustRecord[]>

caller()

caller(): Promise<CallerIdentity>
Who this API key belongs to and what it may do (GET /callers/me).

Returns

Promise<CallerIdentity>

publicKey()

publicKey(keyId?): Promise<PublicKeyInfo>
A signing public key of the deployment (GET /keys/), for the offline verifiers. Records are signed with default.

Parameters

keyId?
string = "default"

Returns

Promise<PublicKeyInfo>

policyInEffect()

policyInEffect(capability): Promise<PolicyInEffect>
The policy a request for capability must declare right now, and what the request must carry (GET /policies/in-effect). Call it before every request and declare policy exactly as returned.

Parameters

capability
string

Returns

Promise<PolicyInEffect>

validatePolicy()

validatePolicy(policyId, policyVersion): Promise<PolicyValidationResult>
Confirms that a policy (name + version) is loadable by the Runtime.

Parameters

policyId
string
policyVersion
string

Returns

Promise<PolicyValidationResult>

refusalRecord()

refusalRecord(businessTransactionId): Promise<RefusalRecord>
Retrieves a Refusal Record by Business Transaction ID.

Parameters

businessTransactionId
string

Returns

Promise<RefusalRecord>

verifyRefusalRecord()

verifyRefusalRecord(record): Promise<boolean>
Verifies a Refusal Record’s signature.

Parameters

record
RefusalRecord

Returns

Promise<boolean>

executionIntent()

executionIntent(businessTransactionId): Promise<ExecutionIntentView>
Retrieves an Execution Intent and its status by Business Transaction ID (ADR-0012). The intent is the signed statement, stored before an action is released, of what was about to be released.

Parameters

businessTransactionId
string

Returns

Promise<ExecutionIntentView>

verifyExecutionIntent()

verifyExecutionIntent(intent): Promise<boolean>
Verifies an Execution Intent’s hash and signature. Needs no credential. true proves the intent is genuine and unaltered. It does not prove the action was released, or what its result was.

Parameters

intent
ExecutionIntent

Returns

Promise<boolean>

unfinalizedExecutionIntents()

unfinalizedExecutionIntents(limit?): Promise<UnfinalizedExecutionIntents>
Lists Execution Intents that never reached a signed Trust Record and were not closed by hand, oldest first. Needs a credential provisioned as a verified human.

Parameters

limit?
number

Returns

Promise<UnfinalizedExecutionIntents>

finalizeExecutionIntent()

finalizeExecutionIntent(businessTransactionId): Promise<FinalizeExecutionIntentResult>
Rebuilds the signed Trust Record for a released action whose record was never produced. Never calls a connector. Safe to run twice. Needs a credential provisioned as a verified human.

Parameters

businessTransactionId
string

Returns

Promise<FinalizeExecutionIntentResult>

resolveExecutionIntent()

resolveExecutionIntent(businessTransactionId, input): Promise<ResolveExecutionIntentResult>
Closes a PREPARED or ERRORED intent that a verified human reconciled at the connector. The note is required. The resolution is an attributed operator statement in unsigned status, not a Trust Record.

Parameters

businessTransactionId
string
input
ResolveExecutionIntentInput

Returns

Promise<ResolveExecutionIntentResult>

verifyAuditEvent()

verifyAuditEvent(event, signature): Promise<boolean>
Verifies a signed caller-authentication audit event’s signature.

Parameters

event
AuditEvent
signature
Signature

Returns

Promise<boolean>

proposePolicyChange()

proposePolicyChange(name, version, input): Promise<ProposedPolicyChange>
Proposes a policy change. See PolicyApi.proposeChange.

Parameters

name
string
version
string
input
ProposePolicyChangeInput

Returns

Promise<ProposedPolicyChange>

policyChanges()

policyChanges(status?): Promise<PolicyChangeForReview[]>
Lists policy changes for review. See PolicyApi.listChanges.

Parameters

status?
PendingPolicyChangeStatus

Returns

Promise<PolicyChangeForReview[]>

approvePolicyChange()

approvePolicyChange(pendingPolicyChangeId, stepUpAuthorization): Promise<PendingPolicyChange>
Approves a policy change with a signed step up authorization. See PolicyApi.approveChange and signPolicyChangeStepUp().

Parameters

pendingPolicyChangeId
string
stepUpAuthorization
PolicyChangeStepUpAuthorization

Returns

Promise<PendingPolicyChange>

rejectPolicyChange()

rejectPolicyChange(pendingPolicyChangeId, rejectionReason, stepUpAuthorization): Promise<PendingPolicyChange>
Rejects a policy change with a reason and a signed step up authorization. See PolicyApi.rejectChange.

Parameters

pendingPolicyChangeId
string
rejectionReason
string
stepUpAuthorization
PolicyChangeStepUpAuthorization

Returns

Promise<PendingPolicyChange>

approvers()

approvers(): Promise<ApprovalIssuer[]>
Every approver key the server trusts or trusted. See ApproverApi.list.

Returns

Promise<ApprovalIssuer[]>

proposeApproverChange()

proposeApproverChange(input): Promise<ApprovalIssuerChange>
Proposes adding or revoking an approver key. See ApproverApi.proposeChange.

Parameters

input
ProposeApproverChangeInput

Returns

Promise<ApprovalIssuerChange>

approverChanges()

approverChanges(status?): Promise<ApprovalIssuerChange[]>
Lists approver changes. See ApproverApi.listChanges.

Parameters

status?
PendingPolicyChangeStatus

Returns

Promise<ApprovalIssuerChange[]>

approveApproverChange()

approveApproverChange(changeId, stepUpAuthorization): Promise<ApprovalIssuerChange>
Approves and applies an approver change. See ApproverApi.approveChange.

Parameters

changeId
string
stepUpAuthorization
PolicyChangeStepUpAuthorization

Returns

Promise<ApprovalIssuerChange>

rejectApproverChange()

rejectApproverChange(changeId, rejectionReason, stepUpAuthorization): Promise<ApprovalIssuerChange>
Rejects an approver change. See ApproverApi.rejectChange.

Parameters

changeId
string
rejectionReason
string
stepUpAuthorization
PolicyChangeStepUpAuthorization

Returns

Promise<ApprovalIssuerChange>

externalConnectors()

externalConnectors(): Promise<ExternalConnector[]>
Every external connector registration, active and revoked. See ExternalConnectorApi.list.

Returns

Promise<ExternalConnector[]>

proposeExternalConnectorChange()

proposeExternalConnectorChange(input): Promise<ExternalConnectorChange>
Proposes registering or revoking an external connector. See ExternalConnectorApi.proposeChange.

Parameters

input
ProposeExternalConnectorChangeInput

Returns

Promise<ExternalConnectorChange>

externalConnectorChanges()

externalConnectorChanges(status?): Promise<ExternalConnectorChange[]>
Lists external connector changes. See ExternalConnectorApi.listChanges.

Parameters

status?
PendingPolicyChangeStatus

Returns

Promise<ExternalConnectorChange[]>

approveExternalConnectorChange()

approveExternalConnectorChange(changeId, stepUpAuthorization): Promise<ExternalConnectorChange>
Approves and applies an external connector change. See ExternalConnectorApi.approveChange.

Parameters

changeId
string
stepUpAuthorization
PolicyChangeStepUpAuthorization

Returns

Promise<ExternalConnectorChange>

rejectExternalConnectorChange()

rejectExternalConnectorChange(changeId, rejectionReason, stepUpAuthorization): Promise<ExternalConnectorChange>
Rejects an external connector change. See ExternalConnectorApi.rejectChange.

Parameters

changeId
string
rejectionReason
string
stepUpAuthorization
PolicyChangeStepUpAuthorization

Returns

Promise<ExternalConnectorChange>

businessSignalSources()

businessSignalSources(): Promise<BusinessSignalSource[]>
Every business signal source registration, active and revoked. See BusinessSignalSourceApi.list.

Returns

Promise<BusinessSignalSource[]>

proposeBusinessSignalSourceChange()

proposeBusinessSignalSourceChange(input): Promise<BusinessSignalSourceChange>
Proposes registering or revoking a business signal source. See BusinessSignalSourceApi.proposeChange.

Parameters

input
ProposeBusinessSignalSourceChangeInput

Returns

Promise<BusinessSignalSourceChange>

businessSignalSourceChanges()

businessSignalSourceChanges(status?): Promise<BusinessSignalSourceChange[]>
Lists business signal source changes. See BusinessSignalSourceApi.listChanges.

Parameters

status?
PendingPolicyChangeStatus

Returns

Promise<BusinessSignalSourceChange[]>

approveBusinessSignalSourceChange()

approveBusinessSignalSourceChange(changeId, stepUpAuthorization): Promise<BusinessSignalSourceChange>
Approves and applies a business signal source change. See BusinessSignalSourceApi.approveChange.

Parameters

changeId
string
stepUpAuthorization
PolicyChangeStepUpAuthorization

Returns

Promise<BusinessSignalSourceChange>

rejectBusinessSignalSourceChange()

rejectBusinessSignalSourceChange(changeId, rejectionReason, stepUpAuthorization): Promise<BusinessSignalSourceChange>
Rejects a business signal source change. See BusinessSignalSourceApi.rejectChange.

Parameters

changeId
string
rejectionReason
string
stepUpAuthorization
PolicyChangeStepUpAuthorization

Returns

Promise<BusinessSignalSourceChange>

authorityGrants()

authorityGrants(): Promise<AuthorityGrant[]>
Every authority grant, active and revoked. See AuthorityGrantApi.list.

Returns

Promise<AuthorityGrant[]>

proposeAuthorityGrantChange()

proposeAuthorityGrantChange(input): Promise<AuthorityGrantChange>
Proposes granting or revoking an agent’s authority. See AuthorityGrantApi.proposeChange.

Parameters

input
ProposeAuthorityGrantChangeInput

Returns

Promise<AuthorityGrantChange>

authorityGrantChanges()

authorityGrantChanges(status?): Promise<AuthorityGrantChange[]>
Lists authority grant changes. See AuthorityGrantApi.listChanges.

Parameters

status?
PendingPolicyChangeStatus

Returns

Promise<AuthorityGrantChange[]>

approveAuthorityGrantChange()

approveAuthorityGrantChange(changeId, stepUpAuthorization): Promise<AuthorityGrantChange>
Approves and applies an authority grant change. See AuthorityGrantApi.approveChange.

Parameters

changeId
string
stepUpAuthorization
PolicyChangeStepUpAuthorization

Returns

Promise<AuthorityGrantChange>

rejectAuthorityGrantChange()

rejectAuthorityGrantChange(changeId, rejectionReason, stepUpAuthorization): Promise<AuthorityGrantChange>
Rejects an authority grant change. See AuthorityGrantApi.rejectChange.

Parameters

changeId
string
rejectionReason
string
stepUpAuthorization
PolicyChangeStepUpAuthorization

Returns

Promise<AuthorityGrantChange>