JavaScript HSM API Dinamo
    Preparing search index...
    import { hsm } from "@dinamonetworks/hsm-dinamo";

    const options = {
    host: "127.0.0.1",
    authUsernamePassword: {
    username: "master",
    password: "12345678",
    },
    };

    async function signOne(index) {
    // Cada chamada obtém seu próprio handle — 1 sessão emprestada pela
    // vida inteira do handle (ADR-0006). Paralelismo vem de abrir vários
    // handles, não de concorrência interna a um único handle.
    const hsmHandle = await hsm.connectPooled(options);
    try {
    const keyName = `pool_example_key_${index}_${Date.now()}`;
    const created = await hsmHandle.key.create(
    keyName,
    hsm.enums.SYMMETRICAL_KEYS.ALG_AES_128,
    false,
    true
    );
    console.log(`Handle ${index}: key created =`, created);
    } catch (err) {
    // A partir daqui este handle está morto (ADR-0020) — qualquer nova
    // chamada de negócio nele rejeitaria com SessionInvalidatedError.
    console.error(`Handle ${index}: business call failed`, err.message);
    } finally {
    // Idempotente mesmo se a sessão já foi descartada por erro.
    await hsmHandle.disconnect();
    }
    }

    async function main() {
    await Promise.all([0, 1, 2, 3, 4].map(signOne));
    await hsm.shutdownAllSessionPools();
    }

    main();