/**
 * Combined admin + role-grant-offer + account RPC actions for fuz_app consumers.
 *
 * The canonical "standard" RPC surface: every stock fuz_app RPC action a
 * typical web consumer wants on one endpoint. Consumers that want a
 * narrower surface drop down to the per-domain factories directly
 * (`create_admin_actions` / `create_role_grant_offer_actions` /
 * `create_account_actions`).
 *
 * Option routing: shared `roles` flows to both admin and role-grant-offer;
 * `default_ttl_ms` and `authorize` go to role-grant-offer only; `max_tokens`
 * goes to account only;
 * shared `connection_closer` flows to admin + account (role-grant-offer ignores);
 * `notification_sender` reaches role-grant-offer transparently (admin + account
 * ignore it).
 *
 * Paired with `create_admin_rpc_adapters` on the UI side.
 *
 * @module
 */
import { create_admin_actions } from './admin_actions.js';
import { create_role_grant_offer_actions, } from './role_grant_offer_actions.js';
import { create_account_actions } from './account_actions.js';
/**
 * Build the combined admin + role-grant-offer + account RPC action set.
 *
 * Spreads `create_admin_actions(deps, {roles})`,
 * `create_role_grant_offer_actions(deps, {roles, default_ttl_ms, authorize})`,
 * and `create_account_actions(deps, {max_tokens})`. The shared `roles`
 * option flows to admin + role-grant-offer.
 *
 * @param deps - `StandardRpcActionsDeps` (`log`, `audit` from `RouteFactoryDeps`; optional `notification_sender` for WS fan-out)
 * @param options - role schema, role-grant-offer config, account config
 * @returns RPC actions to pass as `rpc_endpoints` or spread into `create_rpc_endpoint`
 */
export const create_standard_rpc_actions = (deps, options = {}) => [
    ...create_admin_actions(deps, options),
    ...create_role_grant_offer_actions(deps, options),
    ...create_account_actions(deps, options),
];
