Skip to content

TypeScript SDK Configuration

This page covers all configuration options for the SideSeat TypeScript SDK.

interface SideSeatOptions {
framework: Framework | string; // required
disabled?: boolean;
endpoint?: string;
apiKey?: string;
projectId?: string;
serviceName?: string;
serviceVersion?: string;
enableTraces?: boolean;
logLevel?: LogLevel;
debug?: boolean;
}

Only framework is required — omitting it throws SideSeatError. Every other property is optional; the SDK uses sensible defaults and environment variables.

For each option, the SDK checks in order:

  1. Config parameter (highest priority)
  2. Environment variable
  3. Auto-detection
  4. Default value (lowest priority)

Disable all telemetry.

SourceValue
Configconfig.disabled
EnvironmentSIDESEAT_DISABLED
Defaultfalse
await init({ framework: Frameworks.Strands, disabled: true });

The SideSeat server URL.

SourceValue
Configconfig.endpoint
EnvironmentSIDESEAT_ENDPOINT
Defaulthttp://127.0.0.1:5388
// Via config
await init({ framework: Frameworks.Strands, endpoint: 'http://custom:5388' });
// Via environment
// SIDESEAT_ENDPOINT=http://custom:5388 node app.js

The project ID for organizing traces.

SourceValue
Configconfig.projectId
EnvironmentSIDESEAT_PROJECT_ID
Default"default"
await init({ framework: Frameworks.Strands, projectId: 'my-project' });

Optional API key for authenticated endpoints.

SourceValue
Configconfig.apiKey
EnvironmentSIDESEAT_API_KEY
Default(none)
await init({ framework: Frameworks.Strands, apiKey: 'sk-xxx' });

When set, adds an Authorization: Bearer {apiKey} header to OTLP requests.

The service name for resource attributes.

Resolved in this order, first match winning:

  1. the serviceName option
  2. OTEL_SERVICE_NAME
  3. a framework-specific default, for the frameworks that have one (strands → strands-agents, openai-agents → openai-agents, claude-agent-sdk → claude-agent-sdk) — these are the names the server matches on
  4. npm_package_name, set by npm when running through a script
  5. "unknown-service"
await init({ framework: Frameworks.Strands, serviceName: 'my-ai-agent' });

The service version for resource attributes.

SourceValue
Configconfig.serviceVersion
Environmentnpm_package_version
Default"0.0.0"
await init({ framework: Frameworks.Strands, serviceVersion: '1.2.3' });

Select the framework to instrument. This one is required.

SourceValue
Configconfig.framework (required)
Environmentnot read from the environment
Defaultnone — omitting it throws SideSeatError
import { init, Frameworks } from '@sideseat/sdk';
await init({ framework: Frameworks.VercelAI });

Available constants: Frameworks.Strands, Frameworks.VercelAI, Frameworks.LangChain, Frameworks.CrewAI, Frameworks.AutoGen, Frameworks.OpenAIAgents, Frameworks.GoogleADK, Frameworks.PydanticAI, Frameworks.ClaudeAgentSDK.

You can also pass any string for custom frameworks.

Enable trace span export.

SourceValue
Configconfig.enableTraces
Defaulttrue
await init({ framework: Frameworks.Strands, enableTraces: false }); // Disable tracing

Control SDK log verbosity.

SourceValue
Configconfig.logLevel
EnvironmentSIDESEAT_LOG_LEVEL
Default"debug" if debug=true, else "none"

Valid levels: "none", "error", "warn", "info", "debug", "verbose".

await init({ framework: Frameworks.Strands, logLevel: 'info' });

Enable verbose logging (shortcut for logLevel: "debug").

SourceValue
Configconfig.debug
EnvironmentSIDESEAT_DEBUG
Defaultfalse
await init({ framework: Frameworks.VercelAI, debug: true });
VariableDescriptionDefault
SIDESEAT_DISABLEDDisable all telemetryfalse
SIDESEAT_ENDPOINTServer URLhttp://127.0.0.1:5388
SIDESEAT_PROJECT_IDProject IDdefault
OTEL_EXPORTER_OTLP_ENDPOINTEndpoint fallback, used when SIDESEAT_ENDPOINT is unset—
SIDESEAT_API_KEYAPI key (optional)(none)
SIDESEAT_DEBUGEnable debug loggingfalse
SIDESEAT_LOG_LEVELLog verbosity(none)
npm_package_nameService name (set by npm)(from package.json)
npm_package_versionService version (set by npm)(from package.json)
OTEL_SERVICE_NAMEService name, ahead of npm_package_name(none)
OTEL_EXPORTER_OTLP_HEADERSExtra OTLP headers, merged with the API-key header(none)
OTEL_EXPORTER_OTLP_TIMEOUTExport timeout in milliseconds30000

The SDK sends these headers with OTLP requests:

HeaderValue
User-Agentsideseat-sdk-node/{version}
AuthorizationBearer {apiKey} (if apiKey set)
Content-Typeapplication/x-protobuf
import { init, Frameworks } from '@sideseat/sdk';
await init({
framework: Frameworks.VercelAI,
debug: true // See what's happening
});
import { init, Frameworks } from '@sideseat/sdk';
await init({
framework: Frameworks.VercelAI,
endpoint: process.env.SIDESEAT_ENDPOINT,
projectId: process.env.SIDESEAT_PROJECT_ID,
apiKey: process.env.SIDESEAT_API_KEY,
serviceName: 'my-production-agent'
});
import { init, Frameworks } from '@sideseat/sdk';
const isProduction = process.env.NODE_ENV === 'production';
await init({
framework: Frameworks.VercelAI,
endpoint: isProduction
? 'http://sideseat.internal:5388'
: 'http://localhost:5388',
projectId: isProduction ? 'production' : 'development',
debug: !isProduction
});