@adonis-agora/agent
Version:
Governed, durable-backed AI agent (chat + tool-calling + governance) for AdonisJS — part of the Agora ecosystem.
34 lines • 1.56 kB
JavaScript
import { isChatQueueStore } from './spi/chat-queue.js';
export function assertIndependentActionRuntime(mode, store, resolver, queuedAdmission) {
if (mode !== undefined && mode !== 'blocking' && mode !== 'independent')
throw new TypeError('Invalid actionApprovalMode');
if (mode !== 'independent')
return;
if (!resolver || typeof resolver.resolve !== 'function')
throw new Error('Independent actions require a background actor resolver');
const methods = [
'createActionProposal',
'getActionProposal',
'listActionProposals',
'decideActionProposal',
'claimActionProposal',
'extendActionProposalLease',
'settleActionProposal',
'claimNextActionProposal',
'expireActionProposals',
'claimNextActionProposalOutcome',
'admitActionProposalOutcome',
'getThreadActionProposalScope',
'createReplacingActionProposal',
'supersedeActionProposal',
];
if (!store ||
typeof store !== 'object' ||
methods.some((method) => typeof Reflect.get(store, method) !== 'function'))
throw new Error('Independent actions require atomic proposal/outcome capabilities');
if (Reflect.get(store, 'actionProposalAdmissionSupported') === false)
throw new Error('Independent actions require atomic outcome admission');
if (!queuedAdmission || !isChatQueueStore(store))
throw new Error('Independent actions require actual queued admission');
}
//# sourceMappingURL=action-proposal-runtime.js.map