Overview

The initSession function creates a new session for tracking AI agent workflows. Use this when you want explicit control over session creation, separate from SDK initialization.

Syntax

await lai.initSession(config: SessionConfig): Promise<Session>

Parameters

config
SessionConfig
required
Session configuration object with the following properties:

Returns

Returns a Promise that resolves to a Session object.

Examples

Basic Session Creation

import * as lai from 'lucidicai';

// Initialize SDK first
await lai.init();

// Create a session
const session = await lai.initSession({
  sessionName: "Document Analysis",
  task: "Extract insights from PDF documents"
});

With Full Configuration

const session = await lai.initSession({
  sessionName: "Customer Support Session",
  task: "Resolve billing inquiry",
  userId: "customer-123",
  groupId: "support-team-west",
  tags: ["billing", "priority-high", "enterprise"],
  rubrics: ["response-quality", "resolution-time"]
});

For Testing

const session = await lai.initSession({
  sessionName: "Unit Test Run",
  testId: "test-suite-001",
  tags: ["test", "ci-cd"],
  productionMonitoring: false
});

With Mass Simulation

// First create a mass simulation
const massSimId = "mass-sim-123";

// Create sessions as part of the simulation
for (let i = 0; i < 10; i++) {
  const session = await lai.initSession({
    sessionName: `Test Session ${i}`,
    massSimId: massSimId,
    task: "Evaluate model performance"
  });
  
  // Run your workflow...
  
  await lai.endSession();
}

Differences from init()

Featureinit()initSession()
SDK Initialization✅ Required❌ SDK must be initialized first
Session Creation✅ Optional✅ Always creates session
Provider Setup✅ Configures❌ No provider config
Multiple Sessions❌ One at a time✅ Can create multiple

Error Handling

try {
  const session = await lai.initSession({
    sessionName: "My Session"
  });
} catch (error) {
  console.error("Failed to create session:", error);
  // SDK not initialized, API error, etc.
}

Notes

  • SDK must be initialized with init() before calling this function
  • Only one session can be active at a time
  • Previous session must be ended before creating a new one
  • Session ID is returned and can be used with continueSession()

See Also