> For the complete documentation index, see [llms.txt](https://triton.pharos.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://triton.pharos.ai/methods-reference/lwc/tritonbuilder.md).

# TritonBuilder

## Overview

The `TritonBuilder` class implements a builder pattern for creating structured log entries in LWC and Aura components. It provides a fluent interface for setting various log attributes and metadata.

## Log Level Methods

### level(level)

* **Description**: Sets the log level
* **Parameters**:
  * `level`: `{string}` Log level from LEVEL enum
* **Returns**: `{TritonBuilder}` Builder instance for chaining
* **Example**:

```javascript
triton.makeBuilder().level(LEVEL.INFO);
```

### category(category)

* **Description**: Sets the log category
* **Parameters**:
  * `category`: `{string}` Log category from CATEGORY enum
* **Returns**: `{TritonBuilder}` Builder instance for chaining
* **Example**:

```javascript
triton.makeBuilder().category(CATEGORY.LWC);
```

### type(type)

* **Description**: Sets the log type
* **Parameters**:
  * `type`: `{string}` Log type from TYPE enum
* **Returns**: `{TritonBuilder}` Builder instance for chaining
* **Example**:

```javascript
triton.makeBuilder().type(TYPE.FRONTEND);
```

### area(area)

* **Description**: Sets the functional area
* **Parameters**:
  * `area`: `{string}` Log area from AREA enum
* **Returns**: `{TritonBuilder}` Builder instance for chaining
* **Example**:

```javascript
triton.makeBuilder().area(AREA.COMMUNITY);
```

## Content Methods

### summary(summary)

* **Description**: Sets the log summary message
* **Parameters**:
  * `summary`: `{string}` Brief description of the log entry
* **Returns**: `{TritonBuilder}` Builder instance for chaining
* **Example**:

```javascript
triton.makeBuilder().summary('Operation completed successfully');
```

### details(details)

* **Description**: Sets detailed log information
* **Parameters**:
  * `details`: `{string}` Detailed description or additional context
* **Returns**: `{TritonBuilder}` Builder instance for chaining
* **Example**:

```javascript
triton.makeBuilder().details('Detailed operation information...');
```

## Error Handling

### exception(error)

* **Description**: Sets error information from a JavaScript Error object
* **Parameters**:
  * `error`: `{Error|Object}` Error object to process
* **Returns**: `{TritonBuilder}` Builder instance for chaining
* **Example**:

```javascript
triton.makeBuilder().exception(new Error('Operation failed'));
```

### componentDetails(stack)

* **Description**: Extracts and sets component details from stack trace
* **Parameters**:
  * `stack`: `{string}` Stack trace to process
* **Returns**: `{TritonBuilder}` Builder instance for chaining
* **Example**:

```javascript
triton.makeBuilder().componentDetails(new Error().stack);
```

## Metadata Methods

### transactionId(transactionId)

* **Description**: Sets the transaction ID for log correlation
* **Parameters**:
  * `transactionId`: `{string}` Transaction identifier
* **Returns**: `{TritonBuilder}` Builder instance for chaining
* **Example**:

```javascript
triton.makeBuilder().transactionId('transaction-123');
```

### componentInfo(componentInfo)

* **Description**: Sets component information
* **Parameters**:
  * `componentInfo`: `{Object}` Component metadata object
* **Returns**: `{TritonBuilder}` Builder instance for chaining
* **Example**:

```javascript
triton.makeBuilder().componentInfo({
    name: 'myComponent',
    function: 'handleClick'
});
```

### duration(duration)

* **Description**: Sets execution duration
* **Parameters**:
  * `duration`: `{number}` Duration in milliseconds
* **Returns**: `{TritonBuilder}` Builder instance for chaining
* **Example**:

```javascript
triton.makeBuilder().duration(150);
```

### timestamp(timestamp)

* **Description**: Sets log creation timestamp
* **Parameters**:
  * `timestamp`: `{number}` Unix timestamp
* **Returns**: `{TritonBuilder}` Builder instance for chaining
* **Example**:

```javascript
triton.makeBuilder().timestamp(Date.now());
```

### userId(userId)

* **Description**: Sets the user ID associated with the log
* **Parameters**:
  * `userId`: `{string}` Salesforce user ID
* **Returns**: `{TritonBuilder}` Builder instance for chaining
* **Example**:

```javascript
triton.makeBuilder().userId('005xx000001234AAA');
```

### relatedObjects(objectIds)

* **Description**: Sets related object IDs
* **Parameters**:
  * `objectIds`: `{string|string[]}` Single ID or array of Salesforce object IDs
* **Returns**: `{TritonBuilder}` Builder instance for chaining
* **Example**:

```javascript
triton.makeBuilder().relatedObjects(['001xx000003DGb2AAG', '001xx000003DGb3AAG']);
```

### runtimeInfo(info)

* **Description**: Sets runtime environment information
* **Parameters**:
  * `info`: `{Object}` Runtime environment details
* **Returns**: `{TritonBuilder}` Builder instance for chaining
* **Example**:

```javascript
triton.makeBuilder().runtimeInfo({
    userAgent: navigator.userAgent,
    viewport: { width: window.innerWidth, height: window.innerHeight }
});
```

## Build Method

### build()

* **Description**: Constructs the final log object from all set properties
* **Returns**: `{Object}` Complete log object ready for persistence
* **Example**:

```javascript
const logEntry = triton.makeBuilder()
    .level(LEVEL.INFO)
    .type(TYPE.FRONTEND)
    .summary('User action completed')
    .build();
```
