> For the complete documentation index, see [llms.txt](https://triton.pharos.ai/pharos-triton/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/pharos-triton/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();
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://triton.pharos.ai/pharos-triton/methods-reference/lwc/tritonbuilder.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
