UNPKG

@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
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