# Atloria (self dogfood) # $convertPreElement **Kind:** Function **Source:** `atloria-monorepo/packages/editor/src/plugins/codeblock/CodeBlockNode.tsx` (line 298) Converts a
 HTML element into a CodeBlockNode.
Extracts the code content, language, and meta information from the element's attributes.
The language is determined from the class attribute (e.g., class="language-javascript") or
the data-language attribute if available.

## Signature

```ts
function $convertPreElement(element: Element): DOMConversionOutput
```

## Parameters

| Name | Type |
|---|---|
| `element` | `Element` |

**Returns:** `DOMConversionOutput`



# ABORT_CONDITIONS

**Kind:** Constant

**Source:** `atloria-monorepo/packages/doc-automation/src/v2/types/common.types.ts` (line 349)



# accept

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/api/src/suggestion/suggestion.controller.ts` (line 111)

## Endpoint

`POST /suggestions/:id/accept`

| Parameter | In | Type | Required |
|---|---|---|---|
| `id` | query | `string` | ✓ |

## Referenced By

- `SuggestionController` (MODULE_DECLARES)
- `SuggestionAliasController` (MODULE_DECLARES)



# AcceptInvitationBodyDto

**Kind:** Class

**Source:** `atloria-monorepo/apps/api/src/invitation/invitation.controller.ts` (line 7)

## Properties

| Property | Type |
|---|---|
| `name` | `string` |
| `password` | `string` |



# AcceptInvitationDto

**Kind:** Interface

**Source:** `atloria-monorepo/apps/api/src/invitation/invitation.service.ts` (line 29)

## Properties

| Property | Type |
|---|---|
| `name` | `string` |
| `password` | `string` |



# AccessibilityResult

**Kind:** Interface

**Source:** `atloria-monorepo/apps/web-e2e/src/utils/accessibility.ts` (line 28)

Accessibility check result

## Properties

| Property | Type |
|---|---|
| `violations` | `AccessibilityViolation[]` |
| `passes` | `number` |
| `incomplete` | `number` |



# AccordionItemProps

**Kind:** Interface

**Source:** `atloria-monorepo/templates/site-bootstrap/src/components/shared/accordion-item.tsx` (line 13)

## Properties

| Property | Type |
|---|---|
| `questionKey` | `string` |
| `answerKey` | `string` |
| `defaultOpen` | `boolean` |



# AccordionItemProps

**Kind:** Interface

**Source:** `atloria-monorepo/libs/site-gen-core/src/component-library/_shared/accordion-item.tsx` (line 13)

## Properties

| Property | Type |
|---|---|
| `questionKey` | `string` |
| `answerKey` | `string` |
| `defaultOpen` | `boolean` |



# ActionExecutorService

**Kind:** Service

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/services/action-executor.service.ts` (line 57)

Service for executing pre-capture actions on Playwright pages

Supports 13 action types:
- click, dblclick: Click interactions
- type, fill: Text input
- press: Keyboard keys
- wait: Duration or selector waits
- scroll: Scroll to element or page bottom
- hover, focus, blur: Element state changes
- select: Dropdown selection
- navigate: Page navigation
- frame: Iframe context switching

And 5 wait condition types:
- selector, timeout, networkIdle, loadState, function

`ActionExecutorService` executes a configured list of **pre-capture actions** against a Playwright `Page` (or an active `Frame`) before a screenshot is taken. It provides a single, validated execution pipeline that maps high-level action definitions (click, type, wait, navigate, frame, etc.) into concrete Playwright calls. This service typically sits inside the screenshot worker flow, ensuring pages are in the desired state (navigation complete, elements ready, UI interacted with) prior to capture.

## Methods

| Method | Signature | Returns |
|---|---|---|
| `executeActions` | `executeActions(page: Page, actions: ScreenshotActionDto[] | undefined)` | `Promise` |
| `executeActionsWithHook` | `executeActionsWithHook(page: Page, actions: ScreenshotActionDto[] | undefined, onAfterEach: (action: ScreenshotActionDto, index: number) => Promise)` | `Promise` |
| `executeAction` | `executeAction(page: Page, action: ScreenshotActionDto, index: number, context: ActionContext)` | `Promise` |
| `executeWaitFor` | `executeWaitFor(page: Page, waitFor: WaitForDto | undefined)` | `Promise` |
| `validateAction` | `validateAction(action: ScreenshotActionDto)` | `void` |
| `captureDOMState` | `captureDOMState(page: Page)` | `Promise` |

## Diagram

```mermaid
sequenceDiagram
  participant Orchestrator as Screenshot Orchestrator
  participant Executor as ActionExecutorService
  participant Page as Playwright Page
  participant Frame as Playwright Frame

  Orchestrator->>Executor: execute(page, actions[])
  loop for each action
    alt action.type == "frame"
      Executor->>Page: frameLocator()/frame()
      Page-->>Executor: Frame context
      Executor->>Frame: set active context
    else action targets frame context
      Executor->>Frame: perform action (click/type/wait/etc.)
    else action targets page context
      Executor->>Page: perform action (navigate/wait/scroll/etc.)
    end
  end
  Executor-->>Orchestrator: done (page ready for capture)
```

## Usage

```ts
import { Injectable } from '@nestjs/common';
import { chromium, type Page } from 'playwright';
import { ActionExecutorService } from './services/action-executor.service';

@Injectable()
export class ScreenshotJobRunner {
  constructor(private readonly actionExecutor: ActionExecutorService) {}

  async run() {
    const browser = await chromium.launch();
    const page: Page = await (await browser.newContext()).newPage();

    // Example action list (shape may vary slightly based on your DTOs)
    const actions = [
      { type: 'navigate', url: 'https://example.com' },
      { type: 'wait', condition: { type: 'loadState', state: 'networkidle' } },
      { type: 'click', selector: 'text=Sign in' },
      { type: 'fill', selector: 'input[name="email"]', value: 'user@example.com' },
      { type: 'press', selector: 'input[name="password"]', key: 'Tab' },
      { type: 'type', selector: 'input[name="password"]', value: 'correct horse battery staple' },
      { type: 'click', selector: 'button[type="submit"]' },
      { type: 'wait', condition: { type: 'selector', selector: '[data-testid="dashboard"]' } },
      { type: 'scroll', to: 'bottom' },
      // Switch into an iframe, then interact within it
      { type: 'frame', selector: 'iframe#billing' },
      { type: 'select', selector: 'select#plan', value: 'pro' },
      { type: 'hover', selector: '[data-testid="plan-details"]' },
    ];

    await this.actionExecutor.execute(page, actions);

    // Now page is prepared for capture
    const screenshot = await page.screenshot({ fullPage: true });

    await browser.close();
    return screenshot;
  }
}
```

## AI Coding Instructions

- Keep the action execution path **strictly deterministic**: validate action payloads up-front and route by `action.type` with a single dispatcher to avoid divergent behavior.
- When implementing waits, prefer explicit `wait` actions with supported condition types (`selector`, `timeout`, `networkIdle`, `loadState`, `function`) and avoid hidden implicit sleeps inside other actions.
- Be careful with **frame context**: `frame` actions should update the active execution target (Page vs Frame). Ensure subsequent selector-based actions operate in the intended context.
- Integrate new action types by mapping directly to Playwright primitives and preserving consistent error messages (include `action.type` and selector/url where applicable) to aid job debugging.



# ActionType

**Kind:** Type

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/batch-screenshot.dto.ts` (line 38)

## Definition

```ts
typeof ACTION_TYPES[number]
```



# ACTION_TYPES

**Kind:** Constant

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/batch-screenshot.dto.ts` (line 32)



# ActivityController

**Kind:** Controller

**Source:** `atloria-monorepo/apps/api/src/activity/activity.controller.ts` (line 11)

## Relationships

- MODULE_DECLARES → `list`
- MODULE_DECLARES → `getDocumentActivities`
- MODULE_DECLARES → `getProjectActivities`
- MODULE_DECLARES → `getRecentProjects`
- MODULE_DECLARES → `getRecentDocuments`
- DEPENDS_ON → `activityservice`



# ActivityModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/api/src/activity/activity.module.ts` (line 8)

## Relationships

- MODULE_IMPORTS → `databasemodule`
- MODULE_DECLARES → `activitycontroller`
- MODULE_PROVIDES → `activityservice`
- MODULE_EXPORTS → `activityservice`



# ActivityService

**Kind:** Service

**Source:** `atloria-monorepo/apps/api/src/activity/activity.service.ts` (line 8)

## Methods

| Method | Signature | Returns |
|---|---|---|
| `log` | `log(dto: CreateActivityDto)` | `Promise` |
| `getActivities` | `getActivities(user: JwtPayload, filters: ActivityFiltersDto)` | `unknown` |
| `getDocumentActivities` | `getDocumentActivities(user: JwtPayload, documentId: string)` | `unknown` |
| `getProjectActivities` | `getProjectActivities(user: JwtPayload, projectId: string)` | `unknown` |
| `trackActivity` | `trackActivity(userId: string, entityType: 'PROJECT' | 'DOCUMENT', entityId: string, actionType: 'VIEW' | 'EDIT' | 'CREATE')` | `unknown` |
| `getRecentProjects` | `getRecentProjects(userId: string, limit: unknown)` | `unknown` |
| `getRecentDocuments` | `getRecentDocuments(userId: string, limit: unknown)` | `unknown` |
| `getRecentDocumentsByProject` | `getRecentDocumentsByProject(userId: string, projectId: string, limit: unknown)` | `unknown` |
| `clearActivity` | `clearActivity(userId: string, entityType: 'PROJECT' | 'DOCUMENT')` | `unknown` |

## Relationships

- DEPENDS_ON → `prismaservice`



# AdaptivePromptOptions

**Kind:** Interface

**Source:** `atloria-monorepo/libs/agent-core/src/autonomous/adaptive-prompt.ts` (line 30)

## Properties

| Property | Type |
|---|---|
| `workspace` | `string` |
| `toolGuide` | `string` |
| `repoMap` | `string` |
| `projectContext` | `string` |
| `memoryContext` | `string` |
| `deferredToolsReminder` | `string` |
| `skillDescriptions` | `string` |
| `pluginCommands` | `string` |
| `domainRules` | `string[]` |
| `modelProfile` | `ModelCapabilityProfile` |
| `mode` | `TaskMode` |



# addCodeSamplesToSpec

**Kind:** Function

**Source:** `atloria-monorepo/libs/parser-core/src/openapi/code-samples.ts` (line 56)

Attach `x-codeSamples` to every operation in the spec (mutates + returns it). Requires the
full spec so `$ref` request/response schemas resolve into example payloads.

## Signature

```ts
function addCodeSamplesToSpec(spec: any, targets: string[]): any
```

## Parameters

| Name | Type |
|---|---|
| `spec` | `any` |
| `targets` | `string[]` |

**Returns:** `any`



# addComment

**Kind:** Graphql Mutation

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

Add comment to post

## Relationships

- TYPE_OF → `Comment`

## Referenced By

- `Mutation` (CALLS_API)



# AdditionalLexicalNode

**Kind:** Type

**Source:** `atloria-monorepo/packages/editor/src/plugins/core/index.ts` (line 90)

## Definition

```ts
KlassConstructor | LexicalNodeReplacement
```



# AfterTurnCallback

**Kind:** Type

**Source:** `atloria-monorepo/libs/agent-core/src/autonomous/autonomous-loop.ts` (line 210)

Callback fired after each model turn completes.
Use for live monitoring / progress logging.

## Definition

```ts
(event: {
  turnNumber: number;
  toolsUsed: string[];
  loopState: Readonly;
  /** Failing quality gate IDs (empty if all pass or no provider) */
  failingGates: string[];
}) => void
```



# AGENT_AUTHOR

**Kind:** Constant

**Source:** `atloria-monorepo/apps/api/src/docs-repo/docs-repo.service.ts` (line 35)

atloria-agent — behaviour-aware agent regeneration commits.

## Definition

```ts
CommitAuthor
```



# agentCommand

**Kind:** Function

**Source:** `atloria-monorepo/apps/cli/src/commands/agent.command.ts` (line 143)

## Signature

```ts
async function agentCommand(options: AgentCommandOptions): Promise
```

## Parameters

| Name | Type |
|---|---|
| `options` | `AgentCommandOptions` |

**Returns:** `Promise`



# AgentCommandOptions

**Kind:** Interface

**Source:** `atloria-monorepo/apps/cli/src/commands/agent.command.ts` (line 93)

## Properties

| Property | Type |
|---|---|
| `model` | `string` |
| `workspace` | `string` |
| `maxTurns` | `string` |
| `autonomous` | `boolean` |
| `verbose` | `boolean` |
| `project` | `string` |
| `org` | `string` |
| `super` | `boolean` |
| `routingTable` | `string` |
| `continue` | `string | boolean` |
| `mode` | `string` |
| `remoteTriggers` | `boolean` |



# AgentContextService

**Kind:** Service

**Source:** `atloria-monorepo/packages/doc-automation/src/v2/stages/stage-10-generation/agent-context.service.ts` (line 1)



# AgentNoteStore

**Kind:** Class

**Source:** `atloria-monorepo/libs/agent-core/src/autonomous/autonomous-loop.ts` (line 233)

Store for session-scoped agent notes.
Shared between the note tool and the TurnHook.

## Methods

| Method | Signature | Returns |
|---|---|---|
| `add` | `add(turn: number, content: string)` | `AgentNote` |
| `getAll` | `getAll()` | `AgentNote[]` |
| `count` | `count()` | `number` |
| `format` | `format()` | `string` |



# aggregateResults

**Kind:** Function

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/integration/helpers/test-utils.ts` (line 146)

Aggregate parse results for assertions

## Signature

```ts
function aggregateResults(results: ParseResult[]): {
  totalFiles: number;
  successfulFiles: number;
  failedFiles: number;
  skippedFiles: number;
  totalEntities: number;
  totalRelationships: number;
  totalErrors: number;
  totalWarnings: number;
  entitiesByType: Record;
  relationshipsByType: Record;
}
```

## Parameters

| Name | Type |
|---|---|
| `results` | `ParseResult[]` |

**Returns:** `{
  totalFiles: number;
  successfulFiles: number;
  failedFiles: number;
  skippedFiles: number;
  totalEntities: number;
  totalRelationships: number;
  totalErrors: number;
  totalWarnings: number;
  entitiesByType: Record;
  relationshipsByType: Record;
}`



# AIEnhancementOptions

**Kind:** Interface

**Source:** `atloria-monorepo/libs/parser-core/src/utils/ai-enhancement.ts` (line 18)

## Properties

| Property | Type |
|---|---|
| `enableCompetitorResearch` | `boolean` |
| `maxCompetitors` | `number` |
| `cacheResults` | `boolean` |



# AIProvider

**Kind:** Interface

**Source:** `atloria-monorepo/apps/web/src/types/ai.ts` (line 7)

## Properties

| Property | Type |
|---|---|
| `name` | `AIProviderName` |
| `available` | `boolean` |
| `displayName` | `string` |
| `description` | `string` |



# AIProviderError

**Kind:** Class

**Source:** `atloria-monorepo/packages/doc-automation/src/v2/utils/errors.ts` (line 118)

Error thrown when AI provider fails

**Extends:** `PipelineError`

## Properties

| Property | Type |
|---|---|
| `provider` | `'claude' | 'openai' | 'azure-responses'` |
| `statusCode` | `number` |



# AIProviderName

**Kind:** Type

**Source:** `atloria-monorepo/apps/web/src/types/ai.ts` (line 5)

AI Settings & Configuration Types

## Definition

```ts
'azure-claude' | 'azure-openai' | 'claude' | 'openai'
```



# AIProviderName

**Kind:** Type

**Source:** `atloria-monorepo/apps/api/src/ai/interfaces/ai-types.ts` (line 1)

## Definition

```ts
'azure-claude' | 'azure-openai' | 'azure-codex' | 'azure-gpt52' | 'claude' | 'openai' | 'codex'
```



# alt

**Kind:** Constant

**Source:** `atloria-monorepo/apps/web/src/app/opengraph-image.tsx` (line 8)

Site-wide OG share card (file convention — applies to every route without its own).
Deliberately font-free (ImageResponse's bundled default only): the prod pods sit behind
a strict egress policy, so no external font fetches.



# always

**Kind:** Function

**Source:** `atloria-monorepo/libs/agent-core/src/autonomous/prompt-sections.ts` (line 86)

Always include

## Signature

```ts
function always(_ctx: SectionContext): boolean
```

## Parameters

| Name | Type |
|---|---|
| `_ctx` | `SectionContext` |

**Returns:** `boolean`



# AnalysisController

**Kind:** Controller

**Source:** `atloria-monorepo/apps/code-analyzer/src/app/analysis/analysis.controller.ts` (line 5)

## Relationships

- MODULE_DECLARES → `startAnalysis`
- MODULE_DECLARES → `getJobStatus`
- MODULE_DECLARES → `getProjectJobs`
- DEPENDS_ON → `analysisservice`



# AnalysisModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/code-analyzer/src/app/analysis/analysis.module.ts` (line 7)

## Relationships

- MODULE_IMPORTS → `databasemodule`
- MODULE_IMPORTS → `gitmodule`
- MODULE_DECLARES → `analysiscontroller`
- MODULE_PROVIDES → `analysisservice`
- MODULE_EXPORTS → `analysisservice`



# AnalysisService

**Kind:** Service

**Source:** `atloria-monorepo/apps/code-analyzer/src/app/analysis/analysis.service.ts` (line 17)

Analysis orchestrator service

This service coordinates the entire code analysis pipeline:
1. Clone repository (with mono-repo support)
2. Analyze codebase using file optimization techniques
3. Generate UI documentation and element extraction
4. Create Playwright tests
5. Track progress in database
6. Cleanup after completion

## Methods

| Method | Signature | Returns |
|---|---|---|
| `startAnalysis` | `startAnalysis(dto: StartAnalysisDto)` | `Promise` |
| `getJobStatus` | `getJobStatus(jobId: string)` | `unknown` |
| `getProjectJobs` | `getProjectJobs(projectId: string)` | `unknown` |

## Relationships

- DEPENDS_ON → `prismaservice`
- DEPENDS_ON → `gitservice`



# AngularParser

**Kind:** Class

**Source:** `atloria-monorepo/libs/parser-core/src/parsers/frontend/angular.parser.ts` (line 91)

Angular Parser

Pure TypeScript class that parses Angular TypeScript files.
No NestJS dependencies required.

**Implements:** `IParser`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `initialize` | `initialize(config: ParserConfig)` | `Promise` |
| `canParse` | `canParse(filePath: string)` | `boolean` |
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |
| `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` |
| `destroy` | `destroy()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `string` |
| `version` | `string` |
| `supportedPatterns` | `string[]` |



# AngularParser

**Kind:** Class

**Source:** `atloria-monorepo/apps/frontend-parser/src/parsers/angular.parser.ts` (line 61)

**Implements:** `IParser`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `initialize` | `initialize(config: ParserConfig)` | `Promise` |
| `canParse` | `canParse(filePath: string)` | `boolean` |
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |
| `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` |
| `destroy` | `destroy()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `string` |
| `version` | `string` |
| `supportedPatterns` | `string[]` |



# APIEndpointEntity

**Kind:** Interface

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/interfaces/entity.interface.ts` (line 453)

API Endpoint entity

## Properties

| Property | Type |
|---|---|
| `type` | `EntityType.API_ENDPOINT` |
| `method` | `'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'HEAD'` |
| `path` | `string` |
| `pathParams` | `ParameterDefinition[]` |
| `queryParams` | `ParameterDefinition[]` |
| `requestBody` | `SchemaDefinition` |
| `responses` | `ResponseDefinition[]` |
| `authentication` | `AuthenticationInfo` |
| `rateLimit` | `RateLimitInfo` |
| `middleware` | `string[]` |
| `controller` | `string` |
| `operationId` | `string` |



# ApiError

**Kind:** Class

**Source:** `atloria-monorepo/apps/web/src/lib/api-client.ts` (line 92)

API error carrying the HTTP status so callers can branch on it.
402 (out of credits) must render an upgrade CTA, never a blind Retry.

**Extends:** `Error`



# ApiExecFn

**Kind:** Type

**Source:** `atloria-monorepo/libs/parser-core/src/techdocs/mcp-toolset.ts` (line 43)

Optional live-API execution backend. Injected the same way as askFn so the toolset stays PURE
(no fetch/dns/Nest here) — all outbound HTTP, SSRF validation, method allow-listing and
server-side auth injection live in the executor the API layer builds (api-executor.ts). Present
only when the project has opted into a Live API target, which is what gates the `call_operation`
tool below.

## Definition

```ts
(input: {
  method: string;
  path: string;
  pathParams?: Record;
  query?: Record;
  body?: unknown;
}) => Promise<{ status: number; statusText: string; headers: Record; body: unknown }>
```



# APIExplorerPageGenerator

**Kind:** Class

**Source:** `atloria-monorepo/apps/cli/src/generators/api-explorer-page.generator.ts` (line 58)

API Explorer Page Generator

## Methods

| Method | Signature | Returns |
|---|---|---|
| `generate` | `generate(entities: Entity[], _relationships: Relationship[])` | `Promise` |



# AppController

**Kind:** Controller

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/app.controller.ts` (line 4)

## Relationships

- MODULE_DECLARES → `getHealth`
- MODULE_DECLARES → `getInfo`
- DEPENDS_ON → `appservice`



# AppController

**Kind:** Controller

**Source:** `atloria-monorepo/apps/api-schema-parser/src/app.controller.ts` (line 14)

## Relationships

- MODULE_DECLARES → `getHealth`
- MODULE_DECLARES → `getParsers`
- DEPENDS_ON → `appservice`



# applyCardMove

**Kind:** Function

**Source:** `atloria-monorepo/apps/web/src/components/Boards/helpers.ts` (line 154)

Apply a card move to local board state for optimistic UI.
Returns a NEW board object — does not mutate.

## Signature

```ts
function applyCardMove(board: BoardData, cardId: string, toColumnId: string, position: number): BoardData
```

## Parameters

| Name | Type |
|---|---|
| `board` | `BoardData` |
| `cardId` | `string` |
| `toColumnId` | `string` |
| `position` | `number` |

**Returns:** `BoardData`



# applyCuration

**Kind:** Function

**Source:** `atloria-monorepo/apps/api/src/technical-docs/curation.ts` (line 79)

## Signature

```ts
function applyCuration(navMap: T, curation: TechdocsCuration): T
```

## Parameters

| Name | Type |
|---|---|
| `navMap` | `T` |
| `curation` | `TechdocsCuration` |

**Returns:** `T`



# AppModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/app.module.ts` (line 13)

## Relationships

- MODULE_IMPORTS → `databasemodule`
- MODULE_IMPORTS → `playwrightmodule`
- MODULE_IMPORTS → `storagemodule`
- MODULE_IMPORTS → `screenshotmodule`
- MODULE_IMPORTS → `pdfmodule`
- MODULE_IMPORTS → `discoverymodule`
- MODULE_DECLARES → `appcontroller`
- MODULE_PROVIDES → `appservice`



# AppModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/app.module.ts` (line 24)

## Relationships

- MODULE_IMPORTS → `queuemodule`
- MODULE_IMPORTS → `knowledgegraphmodule`
- MODULE_IMPORTS → `orchestratormodule`
- MODULE_IMPORTS → `integrationmodule`



# AppModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/database-parser/src/app.module.ts` (line 7)

## Relationships

- MODULE_PROVIDES → `prismaparser`
- MODULE_PROVIDES → `typeormparser`
- MODULE_PROVIDES → `sequelizeparser`
- MODULE_PROVIDES → `migrationparser`
- MODULE_EXPORTS → `prismaparser`
- MODULE_EXPORTS → `typeormparser`
- MODULE_EXPORTS → `sequelizeparser`
- MODULE_EXPORTS → `migrationparser`



# AppModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/backend-parser/src/app.module.ts` (line 16)

## Relationships

- MODULE_PROVIDES → `nestjsparser`
- MODULE_PROVIDES → `expressparser`
- MODULE_PROVIDES → `fastapiparser`
- MODULE_PROVIDES → `djangoparser`
- MODULE_PROVIDES → `backendparserservice`
- MODULE_EXPORTS → `nestjsparser`
- MODULE_EXPORTS → `expressparser`
- MODULE_EXPORTS → `fastapiparser`
- MODULE_EXPORTS → `djangoparser`
- MODULE_EXPORTS → `backendparserservice`



# AppModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/frontend-parser/src/app.module.ts` (line 16)

## Relationships

- MODULE_PROVIDES → `reactparser`
- MODULE_PROVIDES → `nextjsparser`
- MODULE_PROVIDES → `vueparser`
- MODULE_PROVIDES → `angularparser`
- MODULE_EXPORTS → `reactparser`
- MODULE_EXPORTS → `nextjsparser`
- MODULE_EXPORTS → `vueparser`
- MODULE_EXPORTS → `angularparser`



# AppModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/api-schema-parser/src/app.module.ts` (line 17)

## Relationships

- MODULE_DECLARES → `appcontroller`
- MODULE_PROVIDES → `appservice`
- MODULE_PROVIDES → `openapiparser`
- MODULE_PROVIDES → `graphqlparser`
- MODULE_PROVIDES → `grpcparser`
- MODULE_EXPORTS → `openapiparser`
- MODULE_EXPORTS → `graphqlparser`
- MODULE_EXPORTS → `grpcparser`



# AppModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/config-docs-parser/src/app.module.ts` (line 21)

## Relationships

- MODULE_DECLARES → `healthcontroller`
- MODULE_PROVIDES → `markdownparser`
- MODULE_PROVIDES → `mdxparser`
- MODULE_PROVIDES → `envparser`
- MODULE_PROVIDES → `yamlparser`
- MODULE_PROVIDES → `jsonconfigparser`
- MODULE_PROVIDES → `parserregistryservice`
- MODULE_EXPORTS → `markdownparser`
- MODULE_EXPORTS → `mdxparser`
- MODULE_EXPORTS → `envparser`
- MODULE_EXPORTS → `yamlparser`
- MODULE_EXPORTS → `jsonconfigparser`
- MODULE_EXPORTS → `parserregistryservice`



# AppService

**Kind:** Service

**Source:** `atloria-monorepo/apps/api-schema-parser/src/app.service.ts` (line 13)

## Methods

| Method | Signature | Returns |
|---|---|---|
| `getHealth` | `getHealth()` | `{ status: string; parsers: string[]; version: string }` |
| `getSupportedParsers` | `getSupportedParsers()` | `Array<{
    name: string;
    version: string;
    patterns: string[];
  }>` |



# assembleSite

**Kind:** Function

**Source:** `atloria-monorepo/libs/site-gen-core/src/assembler/assembler.ts` (line 36)

Assemble a complete site from config.

## Signature

```ts
async function assembleSite(config: SiteAssemblyConfig, deps: AssemblerDeps): Promise
```

## Parameters

| Name | Type |
|---|---|
| `config` | `SiteAssemblyConfig` |
| `deps` | `AssemblerDeps` |

**Returns:** `Promise`



# AssemblyError

**Kind:** Class

**Source:** `atloria-monorepo/libs/site-gen-core/src/assembler/errors.ts` (line 9)

**Extends:** `Error`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `toJSON` | `toJSON()` | `void` |



# AssemblyStage

**Kind:** Type

**Source:** `atloria-monorepo/libs/site-gen-core/src/assembler/types.ts` (line 87)

## Definition

```ts
| 'validate'
  | 'copy-template'
  | 'copy-sections'
  | 'generate-landing-page'
  | 'generate-main'
  | 'generate-app'
  | 'generate-i18n'
  | 'generate-locales'
  | 'verify'
```



# assertNoAccessibilityViolations

**Kind:** Function

**Source:** `atloria-monorepo/apps/web-e2e/src/utils/accessibility.ts` (line 99)

Assert no accessibility violations (WCAG AA by default)

## Signature

```ts
async function assertNoAccessibilityViolations(page: Page, options: {
    level?: WCAGLevel;
    include?: string[];
    exclude?: string[];
    disabledRules?: string[];
    allowedViolations?: string[];
  }): Promise
```

## Parameters

| Name | Type |
|---|---|
| `page` | `Page` |
| `options` | `{
    level?: WCAGLevel;
    include?: string[];
    exclude?: string[];
    disabledRules?: string[];
    allowedViolations?: string[];
  }` |

**Returns:** `Promise`



# Atloria.CSharpParser

**Kind:** Module

**Source:** `atloria-monorepo/libs/parser-core/src/dotnet-bridge/Atloria.CSharpParser/Atloria.CSharpParser.csproj` (line 1)

.NET Exe project (C#)

## Relationships

- DEPENDS_ON → `Microsoft.CodeAnalysis.CSharp`
- DEPENDS_ON → `System.Text.Json`



# Audience

**Kind:** Enum

**Source:** `atloria-monorepo/packages/types/src/enums/index.ts` (line 45)

Audience types define who the documentation is intended for
Note: Matches Prisma schema exactly

## Values

- `TECHNICAL`
- `USER`
- `API`
- `INTERNAL`



# AuthConfig

**Kind:** Interface

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/screenshot.service.ts` (line 19)

## Properties

| Property | Type |
|---|---|
| `loginUrl` | `string` |
| `username` | `string` |
| `password` | `string` |
| `usernameSelector` | `string` |
| `passwordSelector` | `string` |
| `submitSelector` | `string` |
| `successSelector` | `string` |



# Avatar

**Kind:** Component

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/frontend/src/components/Avatar.tsx` (line 16)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `src` | `any` | ✓ | - |
| `alt` | `any` | ✓ | - |
| `size` | `any` | - | "medium" |
| `fallback` | `any` | - | "/default-avatar.png" |

## Diagram

```mermaid
graph TD
    component_Avatar_31a20b94["Avatar"]
    class component_Avatar_31a20b94 rootComponent
```

## Relationships

- USES_HOOK → `useState`



# AzureImageProvider

**Kind:** Class

**Source:** `atloria-monorepo/libs/pme-core/src/providers/azure-image.provider.ts` (line 30)

## Methods

| Method | Signature | Returns |
|---|---|---|
| `generate` | `generate(options: ImageGenerationOptions)` | `Promise` |



# AzureImageProviderConfig

**Kind:** Interface

**Source:** `atloria-monorepo/libs/pme-core/src/providers/azure-image.provider.ts` (line 8)

Azure Image Provider

Thin client for GPT-image-1.5 via Azure OpenAI.
Different API shape from text models — uses the images/generations endpoint.

## Properties

| Property | Type |
|---|---|
| `endpoint` | `string` |
| `apiKey` | `string` |
| `apiVersion` | `string` |
| `deploymentName` | `string` |
| `timeout` | `number` |



# BackendParserService

**Kind:** Service

**Source:** `atloria-monorepo/apps/backend-parser/src/backend-parser.service.ts` (line 31)

Backend Parser Service

Provides a unified interface for all backend parsers.
Automatically selects the appropriate parser based on file type.

`BackendParserService` provides a single entry point for parsing backend source files in the Atloria monorepo. It detects the input file type, selects the matching backend parser, and returns a consistent parsing result for downstream consumers such as documentation, analysis, or code-generation workflows.

## Methods

| Method | Signature | Returns |
|---|---|---|
| `onModuleInit` | `onModuleInit()` | `Promise` |
| `onModuleDestroy` | `onModuleDestroy()` | `Promise` |
| `initialize` | `initialize(config: ParserConfig)` | `Promise` |
| `getParsers` | `getParsers()` | `IParser[]` |
| `getParser` | `getParser(name: string)` | `IParser | undefined` |
| `findParserForFile` | `findParserForFile(filePath: string)` | `IParser | undefined` |
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |
| `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` |
| `parseFilesGrouped` | `parseFilesGrouped(files: ParseFileInput[])` | `Promise` |
| `getSupportedPatterns` | `getSupportedPatterns()` | `string[]` |
| `getParserMetadata` | `getParserMetadata()` | `Array<{
    name: string;
    version: string;
    supportedPatterns: string[];
  }>` |

## Diagram

```mermaid
sequenceDiagram
  participant Client as Calling Service
  participant ParserService as BackendParserService
  participant Selector as Parser Selection
  participant Parser as Backend-Specific Parser

  Client->>ParserService: parse(filePath, sourceCode)
  ParserService->>Selector: Determine parser from file type
  Selector-->>ParserService: Matching parser
  ParserService->>Parser: parse(sourceCode, filePath)
  Parser-->>ParserService: Parsed entity metadata
  ParserService-->>Client: Unified parse result
```

## Usage

```ts
import { BackendParserService } from './backend-parser.service';

async function parseBackendFile(
  parserService: BackendParserService,
  filePath: string,
  sourceCode: string,
) {
  const result = await parserService.parse(filePath, sourceCode);

  console.log(result);
  return result;
}

// In a NestJS service or controller, inject BackendParserService
// through the constructor and pass the target file contents.
```

## AI Coding Instructions

- Route all backend source parsing through `BackendParserService` rather than instantiating individual parsers directly.
- Add support for new backend file types by registering a dedicated parser and updating the service’s file-type selection logic.
- Keep parser outputs consistent so consumers can handle results without knowing which parser processed the file.
- Handle unsupported extensions and malformed source code explicitly; return actionable errors instead of silently selecting a fallback parser.
- Preserve NestJS dependency-injection patterns when adding parser dependencies or extending this service.

## Relationships

- DEPENDS_ON → `nestjsparser`
- DEPENDS_ON → `expressparser`
- DEPENDS_ON → `fastapiparser`
- DEPENDS_ON → `djangoparser`



# BANNED_PHRASES_LIST

**Kind:** Constant

**Source:** `atloria-monorepo/libs/pme-core/src/guardrails/brand-voice.guardrail.ts` (line 125)



# BasePage

**Kind:** Class

**Source:** `atloria-monorepo/apps/web-e2e/src/pages/base.page.ts` (line 6)

Base page object with common functionality

## Methods

| Method | Signature | Returns |
|---|---|---|
| `goto` | `goto()` | `Promise` |
| `waitForPageLoad` | `waitForPageLoad()` | `Promise` |
| `getURL` | `getURL()` | `string` |
| `isVisible` | `isVisible(selector: string)` | `Promise` |
| `getToast` | `getToast()` | `Locator` |
| `waitForToast` | `waitForToast(expectedText: string)` | `Promise` |
| `getModal` | `getModal()` | `Locator` |
| `closeModal` | `closeModal()` | `Promise` |
| `waitForLoading` | `waitForLoading()` | `Promise` |
| `getPageTitle` | `getPageTitle()` | `Promise` |
| `takeScreenshot` | `takeScreenshot(name: string)` | `Promise` |



# BatchAuthConfigDto

**Kind:** Class

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/batch-screenshot.dto.ts` (line 499)

## Properties

| Property | Type |
|---|---|
| `loginUrl` | `string` |
| `username` | `string` |
| `password` | `string` |
| `usernameSelector` | `string` |
| `passwordSelector` | `string` |
| `submitSelector` | `string` |
| `successSelector` | `string` |
| `useSmartDetection` | `boolean` |
| `healthCheck` | `SessionHealthCheckDto` |



# boxToClip

**Kind:** Function

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/services/crop.service.ts` (line 36)

Convert a percent box (0-100 of the natural image) into a Playwright clip rect
in PIXELS, framing the target with `padPct` of breathing room on every side and
clamped to the image bounds so the clip never runs off-canvas.

## Signature

```ts
function boxToClip(box: BoxPct, imgW: number, imgH: number, padPct): ClipRect
```

## Parameters

| Name | Type |
|---|---|
| `box` | `BoxPct` |
| `imgW` | `number` |
| `imgH` | `number` |
| `padPct` | `any` |

**Returns:** `ClipRect`



# BrowserType

**Kind:** Enum

**Source:** `atloria-monorepo/apps/api/src/screenshot/dto/capture-screenshot.dto.ts` (line 20)

## Values

- `CHROMIUM`
- `FIREFOX`
- `WEBKIT`



# buildContentGenerationPrompt

**Kind:** Function

**Source:** `atloria-monorepo/libs/pme-core/src/prompts/coordinator.prompts.ts` (line 156)

## Signature

```ts
function buildContentGenerationPrompt(sectionType: SectionType, docContext: string, config: GenerationConfig): string
```

## Parameters

| Name | Type |
|---|---|
| `sectionType` | `SectionType` |
| `docContext` | `string` |
| `config` | `GenerationConfig` |

**Returns:** `string`



# cancelJob

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/orchestrator/orchestrator.controller.ts` (line 133)

Cancel a job

## Endpoint

`DELETE /api/orchestrator/jobs/:jobId`

| Parameter | In | Type | Required |
|---|---|---|---|
| `jobId` | query | `string` | ✓ |

## Referenced By

- `OrchestratorController` (MODULE_DECLARES)



# ChangeSeverity

**Kind:** Enum

**Source:** `atloria-monorepo/libs/parser-core/src/generators/versioning/version-diff.ts` (line 22)

Change severity

## Values

- `Major`
- `Minor`
- `Patch`



# checkIfExported

**Kind:** Function

**Source:** `atloria-monorepo/apps/frontend-parser/src/utils/ast-helpers.ts` (line 433)

Check if a name is exported

## Signature

```ts
function checkIfExported(name: string, exportedNames: Set): boolean
```

## Parameters

| Name | Type |
|---|---|
| `name` | `string` |
| `exportedNames` | `Set` |

**Returns:** `boolean`



# CLAUDE_PROFILE

**Kind:** Constant

**Source:** `atloria-monorepo/libs/agent-core/src/runtime/model-profiles.ts` (line 165)

Anthropic Claude (via Azure or direct API).
- No reasoning effort field
- No apply_patch format (uses edit_file natively)
- No tool persistence nudging needed

## Definition

```ts
ModelCapabilityProfile
```



# CloneOptions

**Kind:** Interface

**Source:** `atloria-monorepo/apps/code-analyzer/src/app/git/git.service.ts` (line 10)

## Properties

| Property | Type |
|---|---|
| `repoUrl` | `string` |
| `branch` | `string` |
| `folderPath` | `string` |
| `depth` | `number` |



# ContentGenerateFn

**Kind:** Type

**Source:** `atloria-monorepo/libs/pme-core/src/tools/generate-content.tool.ts` (line 16)

Content generation function — wraps AzureResponsesProvider.generateJSON().
Injected at tool creation time.

## Definition

```ts
(
  prompt: string,
  systemPrompt: string,
  maxTokens?: number
) => Promise<{ content: string; inputTokens: number; outputTokens: number }>
```



# createBatchJob

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/batch-screenshot.controller.ts` (line 101)

Create and start a batch screenshot job

POST /api/screenshot/batch

Returns immediately with job ID for polling.
Processing happens asynchronously in the background.

## Endpoint

`POST /screenshot/batch`

## Referenced By

- `BatchScreenshotController` (MODULE_DECLARES)



# createTenantBackstop

**Kind:** Function

**Source:** `atloria-monorepo/libs/database/src/lib/tenant-backstop.ts` (line 73)

Build the extension config object to pass to `prisma.$extends(...)`. Kept as a plain factory (no
Prisma import) so it is trivially unit-testable with a fake `query`.

## Signature

```ts
function createTenantBackstop(options: TenantBackstopOptions)
```

## Parameters

| Name | Type |
|---|---|
| `options` | `TenantBackstopOptions` |



# DatabaseModule

**Kind:** Module

**Source:** `atloria-monorepo/libs/database/src/lib/database.module.ts` (line 7)

## Relationships

- MODULE_IMPORTS → `configmodule`
- MODULE_PROVIDES → `prismaservice`
- MODULE_PROVIDES → `redisservice`
- MODULE_EXPORTS → `prismaservice`
- MODULE_EXPORTS → `redisservice`



# DateBadge

**Kind:** Component

**Source:** `atloria-monorepo/libs/site-gen-core/src/component-library/sections/social-proof/social-proof-timeline.tsx` (line 23)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `dateKey` | `string` | ✓ | - |
| `t` | `Function` | ✓ | - |

## Diagram

```mermaid
graph TD
    component_DateBadge_7efe08da["DateBadge"]
    class component_DateBadge_7efe08da rootComponent
```

## Referenced By

- `MilestoneCard` (RENDERS)



# DateTime

**Kind:** Type

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

Custom scalar for date-time

`DateTime` is a custom GraphQL scalar used to represent date-time values in a consistent, API-friendly format. It’s typically serialized as an ISO-8601 string in responses and parsed/validated on input to ensure clients and services exchange timestamps reliably across the system.

## Diagram

```mermaid
graph LR
  Client[GraphQL Client] -->|Query/Mutation with DateTime| API[GraphQL API]
  API -->|Parse & validate| Scalar[DateTime Scalar]
  Scalar -->|Convert to JS Date / internal representation| Resolvers[Resolvers]
  Resolvers -->|Return DateTime| Scalar
  Scalar -->|Serialize ISO-8601 string| Client
```

## Usage

```ts
import { GraphQLScalarType, Kind } from "graphql";

// Example DateTime scalar implementation (ISO-8601)
export const DateTime = new GraphQLScalarType({
  name: "DateTime",
  description: "Custom scalar for date-time",
  serialize(value: unknown): string {
    const date = value instanceof Date ? value : new Date(String(value));
    if (Number.isNaN(date.getTime())) throw new TypeError("DateTime cannot serialize invalid date");
    return date.toISOString();
  },
  parseValue(value: unknown): Date {
    const date = new Date(String(value));
    if (Number.isNaN(date.getTime())) throw new TypeError("DateTime cannot parse invalid date");
    return date;
  },
  parseLiteral(ast): Date {
    if (ast.kind !== Kind.STRING) throw new TypeError("DateTime must be a string literal");
    const date = new Date(ast.value);
    if (Number.isNaN(date.getTime())) throw new TypeError("DateTime cannot parse invalid date");
    return date;
  },
});

// Example usage in schema (SDL):
// scalar DateTime
// type Event { id: ID!, startsAt: DateTime! }

// Example resolver returning a JS Date (will serialize to ISO string)
export const resolvers = {
  DateTime,
  Query: {
    serverTime: () => new Date(),
  },
  Mutation: {
    createEvent: (_: unknown, args: { startsAt: Date }) => ({
      id: "evt_123",
      startsAt: args.startsAt, // parsed by DateTime.parseValue
    }),
  },
};
```

## AI Coding Instructions

- Treat `DateTime` values as ISO-8601 strings at the GraphQL boundary; convert to `Date` (or your internal time type) inside resolvers/services.
- Validate inputs aggressively (`Invalid Date` checks) to avoid silently accepting malformed timestamps and propagating bad data.
- Be explicit about timezone behavior: prefer `toISOString()` (UTC) for serialization to keep client/server consistent.
- When integrating with DB/ORM layers, standardize on one representation (e.g., store as UTC, return `Date` objects to GraphQL so the scalar can serialize).
- Avoid accepting non-string literals in `parseLiteral` unless you intentionally support them; mixed formats are a common source of client incompatibilities.

## Referenced By

- `User` (TYPE_OF)
- `User` (TYPE_OF)
- `Post` (TYPE_OF)
- `Post` (TYPE_OF)
- `Post` (TYPE_OF)
- `Comment` (TYPE_OF)
- `Comment` (TYPE_OF)
- `Like` (TYPE_OF)
- `Follow` (TYPE_OF)



# DEFAULT_TARGETS

**Kind:** Constant

**Source:** `atloria-monorepo/libs/parser-core/src/openapi/code-samples.ts` (line 26)



# defaultTestUser

**Kind:** Constant

**Source:** `atloria-monorepo/apps/web-e2e/src/fixtures/base.fixture.ts` (line 16)

Default test user for authenticated tests

## Definition

```ts
TestUser
```



# DjangoParser

**Kind:** Class

**Source:** `atloria-monorepo/apps/backend-parser/src/parsers/django.parser.ts` (line 51)

Django REST Framework Parser implementation

**Implements:** `IParser`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `initialize` | `initialize(config: ParserConfig)` | `Promise` |
| `canParse` | `canParse(filePath: string)` | `boolean` |
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |
| `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` |
| `destroy` | `destroy()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `any` |
| `version` | `any` |
| `supportedPatterns` | `any` |



# EnvParser

**Kind:** Class

**Source:** `atloria-monorepo/apps/config-docs-parser/src/parsers/env.parser.ts` (line 61)

**Implements:** `IParser`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `initialize` | `initialize(config: ParserConfig)` | `Promise` |
| `canParse` | `canParse(filePath: string)` | `boolean` |
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |
| `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` |
| `destroy` | `destroy()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `any` |
| `version` | `any` |
| `supportedPatterns` | `any` |



# FIXTURES_PATH

**Kind:** Constant

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/integration/helpers/test-utils.ts` (line 22)



# FormatButton

**Kind:** Component

**Source:** `atloria-monorepo/packages/editor/src/plugins/toolbar/components/BoldItalicUnderlineToggles.tsx` (line 18)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `format` | `any` | ✓ | - |
| `addTitle` | `any` | ✓ | - |
| `removeTitle` | `any` | ✓ | - |
| `icon` | `any` | ✓ | - |
| `formatName` | `any` | ✓ | - |

## Diagram

```mermaid
graph TD
    component_FormatButton_47bb73da["FormatButton"]
    class component_FormatButton_47bb73da rootComponent
```

## Relationships

- RENDERS → `ToggleSingleGroupWithItem`
- USES_HOOK → `useCellValues`
- USES_HOOK → `usePublisher`

## Referenced By

- `BoldItalicUnderlineToggles` (RENDERS)
- `StrikeThroughSupSubToggles` (RENDERS)



# Framework

**Kind:** Enum

**Source:** `atloria-monorepo/apps/code-analyzer/src/app/analysis/dto/start-analysis.dto.ts` (line 3)

## Values

- `REACT`
- `ANGULAR`
- `VUE`
- `NEXT`
- `NEST`
- `AUTO`



# generateContentHash

**Kind:** Function

**Source:** `atloria-monorepo/apps/database-parser/src/utils/hash.util.ts` (line 8)

Generate a content hash for change detection

## Signature

```ts
function generateContentHash(content: string): string
```

## Parameters

| Name | Type |
|---|---|
| `content` | `string` |

**Returns:** `string`



# getHealth

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/api-schema-parser/src/app.controller.ts` (line 21)

Health check endpoint

## Endpoint

`GET /health`

## Referenced By

- `AppController` (MODULE_DECLARES)



# getHealth

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/code-analyzer/src/app/app.controller.ts` (line 11)

Health check endpoint

## Endpoint

`GET /`

## Referenced By

- `AppController` (MODULE_DECLARES)



# GraphQLParser

**Kind:** Class

**Source:** `atloria-monorepo/apps/api-schema-parser/src/parsers/graphql.parser.ts` (line 57)

GraphQL Parser Implementation

Supports:
- GraphQL Schema Definition Language (SDL)
- Queries, Mutations, Subscriptions
- Object Types, Input Types, Enums, Interfaces, Unions
- Directives and field arguments

**Implements:** `IParser`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `initialize` | `initialize(config: ParserConfig)` | `Promise` |
| `canParse` | `canParse(filePath: string)` | `boolean` |
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |
| `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` |
| `destroy` | `destroy()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `any` |
| `version` | `any` |
| `supportedPatterns` | `any` |



# health

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/config-docs-parser/src/health.controller.ts` (line 5)

## Endpoint

`GET /health`

## Referenced By

- `HealthController` (MODULE_DECLARES)



# HealthController

**Kind:** Controller

**Source:** `atloria-monorepo/apps/config-docs-parser/src/health.controller.ts` (line 3)

## Relationships

- MODULE_DECLARES → `health`



# HookInfo

**Kind:** Interface

**Source:** `atloria-monorepo/apps/frontend-parser/src/utils/ast-helpers.ts` (line 42)

Information about a hook usage

## Properties

| Property | Type |
|---|---|
| `name` | `string` |
| `type` | `'built-in' | 'custom'` |
| `location` | `string` |
| `dependencies` | `string[]` |



# IntegrationService

**Kind:** Service

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/integration/integration.service.ts` (line 23)

## Methods

| Method | Signature | Returns |
|---|---|---|
| `registerParser` | `registerParser(parser: IParser)` | `Promise` |
| `initializeParser` | `initializeParser(parserName: string, config: ParserConfig)` | `Promise` |
| `getParser` | `getParser(parserName: string)` | `IParser | null` |
| `hasParser` | `hasParser(parserName: string)` | `boolean` |
| `getRegisteredParsers` | `getRegisteredParsers()` | `Array<{
    name: string;
    version: string;
    patterns: string[];
    initialized: boolean;
  }>` |
| `findParserForFile` | `findParserForFile(filePath: string)` | `string | null` |
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |
| `parseFiles` | `parseFiles(files: string[])` | `Promise` |
| `destroyParser` | `destroyParser(parserName: string)` | `Promise` |
| `destroyAll` | `destroyAll()` | `Promise` |
| `generateEntityId` | `generateEntityId(type: string, name: string, filePath: string)` | `string` |
| `generateRelationshipId` | `generateRelationshipId(sourceId: string, type: string, targetId: string)` | `string` |
| `validateEntity` | `validateEntity(entity: Partial)` | `{ valid: boolean; errors: string[] }` |
| `validateRelationship` | `validateRelationship(relationship: Partial)` | `{ valid: boolean; errors: string[] }` |



# KEY_PATTERNS

**Kind:** Constant

**Source:** `atloria-monorepo/apps/pme-agent/test/discovery/ground-truth.ts` (line 139)

Key architectural patterns the agent should discover



# Microsoft.CodeAnalysis.CSharp

**Kind:** Service

**Source:** `atloria-monorepo/libs/parser-core/src/dotnet-bridge/Atloria.CSharpParser/Atloria.CSharpParser.csproj` (line 1)

NuGet package dependency

## Referenced By

- `Atloria.CSharpParser` (DEPENDS_ON)



# MigrationParser

**Kind:** Class

**Source:** `atloria-monorepo/apps/database-parser/src/parsers/migration.parser.ts` (line 90)

**Implements:** `IParser`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `initialize` | `initialize(config: ParserConfig)` | `Promise` |
| `canParse` | `canParse(filePath: string)` | `boolean` |
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |
| `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` |
| `destroy` | `destroy()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `any` |
| `version` | `any` |
| `supportedPatterns` | `any` |



# newComment

**Kind:** Graphql Subscription

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

Subscribe to new comments on a post

## Relationships

- TYPE_OF → `Comment`

## Referenced By

- `Subscription` (CALLS_API)



# OrchestratorController

**Kind:** Controller

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/orchestrator/orchestrator.controller.ts` (line 26)

## Relationships

- MODULE_DECLARES → `dispatchJob`
- MODULE_DECLARES → `parseProject`
- MODULE_DECLARES → `getJobStatus`
- MODULE_DECLARES → `getJobResult`
- MODULE_DECLARES → `cancelJob`
- MODULE_DECLARES → `getQueueMetrics`
- MODULE_DECLARES → `getKGStatistics`
- MODULE_DECLARES → `getAvailableParsers`
- MODULE_DECLARES → `detectParser`
- MODULE_DECLARES → `healthCheck`
- DEPENDS_ON → `orchestratorservice`



# ParseFileRequest

**Kind:** Interface

**Source:** `atloria-monorepo/apps/config-docs-parser/src/services/parser-registry.service.ts` (line 25)

## Properties

| Property | Type |
|---|---|
| `filePath` | `string` |
| `content` | `string` |



# ParseJobDto

**Kind:** Class

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/orchestrator/dto/parse-job.dto.ts` (line 27)

DTO for dispatching a single parse job

## Properties

| Property | Type |
|---|---|
| `projectId` | `string` |
| `files` | `string[]` |
| `parserType` | `string` |
| `config` | `Record` |
| `priority` | `number` |



# ParserRegistryService

**Kind:** Service

**Source:** `atloria-monorepo/apps/config-docs-parser/src/services/parser-registry.service.ts` (line 30)

## Methods

| Method | Signature | Returns |
|---|---|---|
| `onModuleInit` | `onModuleInit()` | `Promise` |
| `onModuleDestroy` | `onModuleDestroy()` | `Promise` |
| `configure` | `configure(config: ParserRegistryConfig)` | `Promise` |
| `getAllParsers` | `getAllParsers()` | `IParser[]` |
| `getParser` | `getParser(name: string)` | `IParser | undefined` |
| `hasParser` | `hasParser(name: string)` | `boolean` |
| `getParserNames` | `getParserNames()` | `string[]` |
| `findParsersForFile` | `findParsersForFile(filePath: string)` | `IParser[]` |
| `findBestParser` | `findBestParser(filePath: string)` | `IParser | undefined` |
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |
| `parseFiles` | `parseFiles(files: ParseFileRequest[])` | `Promise` |
| `getAllSupportedPatterns` | `getAllSupportedPatterns()` | `string[]` |
| `getStats` | `getStats()` | `{
    parserCount: number;
    parsers: Array<{ name: string; version: string; patterns: string[] }>;
    totalPatterns: number;
  }` |
| `destroyAll` | `destroyAll()` | `Promise` |
| `isInitialized` | `isInitialized()` | `boolean` |

## Relationships

- DEPENDS_ON → `markdownparser`
- DEPENDS_ON → `mdxparser`
- DEPENDS_ON → `envparser`
- DEPENDS_ON → `yamlparser`
- DEPENDS_ON → `jsonconfigparser`



# PmeAgentModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/pme-agent/src/pme-agent.module.ts` (line 8)

## Relationships

- MODULE_IMPORTS → `databasemodule`
- MODULE_IMPORTS → `queuemodule`



# PmeJobPayload

**Kind:** Interface

**Source:** `atloria-monorepo/apps/pme-agent/src/queue/pme.processor.ts` (line 62)

## Properties

| Property | Type |
|---|---|
| `jobId` | `string` |
| `projectId` | `string` |
| `userId` | `string` |
| `organizationId` | `string` |
| `config` | `GenerationConfig` |



# PmeProcessor

**Kind:** Class

**Source:** `atloria-monorepo/apps/pme-agent/src/queue/pme.processor.ts` (line 73)

## Methods

| Method | Signature | Returns |
|---|---|---|
| `handleGenerate` | `handleGenerate(job: Job)` | `Promise` |
| `handleStrategy` | `handleStrategy(job: Job)` | `Promise` |
| `handleFinalize` | `handleFinalize(job: Job)` | `Promise` |
| `handleSiteGen` | `handleSiteGen(job: Job)` | `Promise` |
| `onActive` | `onActive(job: Job)` | `void` |
| `onCompleted` | `onCompleted(job: Job)` | `void` |
| `onFailed` | `onFailed(job: Job, error: Error)` | `void` |

## Properties

| Property | Type |
|---|---|
| `progressEmitter` | `ProgressEmitter` |



# post

**Kind:** Graphql Query

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

Get a post by ID

## Relationships

- TYPE_OF → `Post`

## Referenced By

- `Query` (CALLS_API)



# PreviewShell

**Kind:** Component

**Source:** `atloria-monorepo/apps/web/src/app/page.tsx` (line 376)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `url` | `string` | ✓ | - |
| `children` | `unknown` | ✓ | - |

## Diagram

```mermaid
graph TD
    component_PreviewShell_be22912["PreviewShell"]
    class component_PreviewShell_be22912 rootComponent
```

## Referenced By

- `KbPanel` (RENDERS)
- `ManualPanel` (RENDERS)
- `ApiPanel` (RENDERS)
- `SupportPanel` (RENDERS)



# PrismaService

**Kind:** Service

**Source:** `atloria-monorepo/libs/database/src/lib/prisma.service.ts` (line 28)

## Methods

| Method | Signature | Returns |
|---|---|---|
| `onModuleInit` | `onModuleInit()` | `unknown` |
| `onModuleDestroy` | `onModuleDestroy()` | `unknown` |
| `enableQueryLogging` | `enableQueryLogging()` | `unknown` |

## Relationships

- DEPENDS_ON → `configservice`



# privacy

**Kind:** Page

**Source:** `atloria-monorepo/templates/site-bootstrap/src/App.tsx`



# ProgressEmitter

**Kind:** Type

**Source:** `atloria-monorepo/apps/pme-agent/src/queue/pme.processor.ts` (line 71)

Progress callback for WebSocket emission (injected from outside).

## Definition

```ts
(event: PmeProgressEvent) => void
```



# Role

**Kind:** Enum

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

User roles

## Referenced By

- `User` (TYPE_OF)



# StartAnalysisDto

**Kind:** Class

**Source:** `atloria-monorepo/apps/code-analyzer/src/app/analysis/dto/start-analysis.dto.ts` (line 12)

## Properties

| Property | Type |
|---|---|
| `projectId` | `string` |
| `repoUrl` | `string` |
| `branch` | `string` |
| `folderPath` | `string` |
| `framework` | `Framework` |
| `patterns` | `string[]` |
| `modules` | `string[]` |
| `tokenBudget` | `number` |
| `organizationId` | `string` |
| `triggeredBy` | `string` |



# StorageHelperService

**Kind:** Service

**Source:** `atloria-monorepo/apps/cli/src/services/storage-helper.service.ts` (line 1)



# Atloria (self dogfood)

## Overview

Auto-generated technical documentation for **Atloria (self dogfood)** — 31113 entities (25277 doc comments, 1571 interfaces, 808 functions, 805 components).

## Architecture

```mermaid
flowchart LR
  service_StorageHelperService_751da417["StorageHelperService"]
  service_Crop_140a6041["Crop"]
  service_ParserService_5634fec["ParserService"]
  service_EntityMapper_2dd3ba0b["EntityMapper"]
  service_ParserCoreBridge_5f634fe8["ParserCoreBridge"]
  service_ChunkerService_36d48187["ChunkerService"]
  service_FeatureExtractorService_54b31c9a["FeatureExtractorService"]
  service_AnalyzerService_509b5604["AnalyzerService"]
  service_SynthesizerService_5be315["SynthesizerService"]
  service_StructureService_335fa54b["StructureService"]
  service_V4dStructureService_1c78148e["V4dStructureService"]
  service_PhaseService_465e9705["PhaseService"]
  service_SessionService_22a97883["SessionService"]
  service_DocPlannerService_224fae1["DocPlannerService"]
  service_AgentContextService_36c11d80["AgentContextService"]
  service_AgentWriterService_58c6015c["AgentWriterService"]
  service_DocVerifierService_6b28454a["DocVerifierService"]
  service_GeneratorService_252aea01["GeneratorService"]
  service_VerifierAgentService_acd24ae["VerifierAgentService"]
  service_OpenAIReviewerService_36f27c12["OpenAIReviewerService"]
  service_VerifierService_3e00a087["VerifierService"]
  service_HybridMapperService_54fe3fb9["HybridMapperService"]
  service_LoginSelectorDetectorService_32760a58["LoginSelectorDetectorService"]
  service_ScreenshotCapturerService_6ed39a45["ScreenshotCapturerService"]
```

## Modules

- **ActivityModule**
- **AgentModule**
- **AIModule**
- **AnalyticsModule**
- **AppModule**
- **AssetsModule**
- **AudienceModule**
- **AuditModule**
- **AuthModule**
- **SamlModule**
- **BillingModule**
- **BitbucketModule**
- **BoardsModule**
- **BrandingModule**
- **CaptureModule**
- **ChangeRequestModule**
- **CollaborationModule**
- **CommentModule**
- **ThrottlingModule**
- **DashboardModule**
- **DocVersionModule**
- **DocsPrModule**
- **DocsRepoModule**
- **DocumentModule**
- **DraftDocumentModule**
- **DocumentationModule**
- **EmailModule**
- **EventsModule**
- **GatewayModule**
- **GitHubModule**
- **GithubAppModule**
- **GitLabModule**
- **GraphModule**
- **InvitationModule**
- **IssuesModule**
- **ManualsInsightsModule**
- **NotificationModule**
- **OpsModule**
- **OrganizationModule**
- **ParserModule**
- **ParsingModule**
- **PmeModule**
- **ProjectModule**
- **ScreenshotModule**
- **SuggestionModule**
- **SupportAgentModule**
- **TechnicalDocsModule**
- **TemplateModule**
- **TrialModule**
- **WebhookModule**
- **WorkflowModule**
- **AppModule**
- **AppModule**
- **AnalysisModule**
- **AppModule**
- **GitModule**
- **AppModule**
- **AppModule**
- **AppModule**
- **AppModule**
- **IntegrationModule**
- **KnowledgeGraphModule**
- **OrchestratorModule**
- **QueueModule**
- **UsersModule**
- **PmeAgentModule**
- **QueueModule**
- **AppModule**
- **DiscoveryModule**
- **PdfModule**
- **PlaywrightModule**
- **ScreenshotModule**
- **StorageModule**
- **DatabaseModule**
- **Atloria.CSharpParser** — .NET Exe project (C#)

## Entry Points

- Controller: **ActivityController** (`atloria-monorepo/apps/api/src/activity/activity.controller.ts`)
- Controller: **AgentController** (`atloria-monorepo/apps/api/src/agent/agent.controller.ts`)
- Controller: **AIController** (`atloria-monorepo/apps/api/src/ai/ai.controller.ts`)
- Controller: **AnalyticsController** (`atloria-monorepo/apps/api/src/analytics/analytics.controller.ts`)
- Controller: **AnalyticsExportController** (`atloria-monorepo/apps/api/src/analytics/export/analytics-export.controller.ts`)
- Controller: **AppController** (`atloria-monorepo/apps/api/src/app/app.controller.ts`)
- Controller: **AssetsController** (`atloria-monorepo/apps/api/src/assets/assets.controller.ts`)
- Controller: **AudienceController** (`atloria-monorepo/apps/api/src/audience/audience.controller.ts`)
- Controller: **AuditController** (`atloria-monorepo/apps/api/src/audit/audit.controller.ts`)
- Controller: **AuthController** (`atloria-monorepo/apps/api/src/auth/auth.controller.ts`)
- Controller: **SamlController** (`atloria-monorepo/apps/api/src/auth/saml/saml.controller.ts`)
- Controller: **BillingController** (`atloria-monorepo/apps/api/src/billing/billing.controller.ts`)
- Controller: **BitbucketController** (`atloria-monorepo/apps/api/src/bitbucket/bitbucket.controller.ts`)
- Controller: **BoardsController** (`atloria-monorepo/apps/api/src/boards/boards.controller.ts`)
- Controller: **BrandingController** (`atloria-monorepo/apps/api/src/branding/branding.controller.ts`)
- Controller: **CaptureController** (`atloria-monorepo/apps/api/src/capture/capture.controller.ts`)
- Controller: **PublicCaptureController** (`atloria-monorepo/apps/api/src/capture/public-capture.controller.ts`)
- Controller: **ChangeRequestController** (`atloria-monorepo/apps/api/src/change-request/change-request.controller.ts`)
- Controller: **DocsConfigController** (`atloria-monorepo/apps/api/src/change-request/docs-config.controller.ts`)
- Controller: **CommentController** (`atloria-monorepo/apps/api/src/comment/comment.controller.ts`)
- `GET /activities` → list
- `GET /activities/documents/:id` → getDocumentActivities
- `GET /activities/projects/:id` → getProjectActivities
- `GET /activities/recent/projects` → getRecentProjects
- `GET /activities/recent/documents` → getRecentDocuments
- `GET /agent/status` → getStatus
- `GET /ai/usage/logs` → usageLogs
- `POST /ai/enhance` → enhance
- `POST /ai/outline` → generateOutline
- `POST /ai/improve` → improve
- `POST /ai/summarize` → summarize
- `GET /ai/providers` → listProviders
- `POST /analytics/track` → track
- `GET /analytics/:projectId/overview` → getOverview
- `GET /analytics/:projectId/versions` → getVersionTraffic
- `GET /analytics/:projectId/documents` → getTopDocuments
- `GET /analytics/:projectId/search-queries` → getTopSearchQueries
- `GET /analytics/:projectId/daily-traffic` → getDailyTraffic
- `GET /analytics/:projectId/devices` → getDeviceBreakdown
- `GET /analytics/:projectId/sources` → getSourceBreakdown
- `GET /analytics/:projectId/geo` → getGeoBreakdown
- `GET /analytics/:projectId/zero-result-searches` → getZeroResultSearches
- `GET /analytics/:projectId/ghost-docs` → getGhostDocs
- `GET /analytics/:projectId/trending-docs` → getTrendingDocs
- `GET /analytics/:projectId/scroll-histogram` → getScrollHistogram
- `POST /analytics/feedback` → submitFeedback
- `GET /analytics/:projectId/feedback-summary` → getFeedbackSummary
- `POST /analytics/:projectId/export` → exportNow
- `GET /analytics/:projectId/reports` → listReports
- `POST /analytics/:projectId/reports` → createReport

## Key Components

_The most-referenced entities — start here._

- **Description** (doc comment) — referenced 15×
- **Example Input** (doc comment) — referenced 15×
- **Example Output** (doc comment) — referenced 15×
- **DEVELOPER_STANDARDS.md** (doc comment) — referenced 12×
- **User** (graphql type) — referenced 11×
- **Your Prompt:** (doc comment) — referenced 11×
- **MANDATORY READING** (doc comment) — referenced 11×
- **Your Mission** (doc comment) — referenced 11×
- **Technology Stack** (doc comment) — referenced 11×
- **Code Location** (doc comment) — referenced 11×



# TemplateCategory

**Kind:** Type

**Source:** `atloria-monorepo/apps/web-e2e/src/utils/data-factories.ts` (line 146)

## Definition

```ts
| 'general'
  | 'api'
  | 'user-guide'
  | 'tutorial'
  | 'reference'
```



# TenantBackstopOptions

**Kind:** Interface

**Source:** `atloria-monorepo/libs/database/src/lib/tenant-backstop.ts` (line 62)

## Properties

| Property | Type |
|---|---|
| `enforce` | `boolean` |
| `logger` | `{ warn: (msg: string) => void }` |



# TENANT_MODELS

**Kind:** Constant

**Source:** `atloria-monorepo/libs/database/src/lib/tenant-backstop.ts` (line 22)

Tenant backstop — a Prisma client extension that guards against the cross-tenant bug class where a
service reads or mutates a row by id under a request context but forgets to scope it to the
caller's organization (the `_user`-ignored bug found in the SG red-team).

IMPORTANT: this is DEFENSE-IN-DEPTH. The primary control is ResourceOrgGuard at the controller
edge. This runs at the data layer as a second line.

It ships in LOG-ONLY (detect) mode: it never alters a query, it only records the distinct
(model, operation) shapes that ran unscoped under an org context — mapping the remaining surface
in real traffic with zero risk of breaking a query. Enforcement is opt-in per deployment (a flag)
and, even then, is applied ONLY to filter operations where injecting `AND organizationId` is
always valid Prisma — never to a unique-key op (findUnique/update/delete by id), where injecting a
non-unique field would be rejected, and never blindly over an intentional cross-org query (e.g.
`OR: [{ isPublic }, { organizationId }]`), which is why enforcement stays conservative and off by
default.

## Definition

```ts
ReadonlySet
```



# User

**Kind:** Graphql Type

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

User account

`User` is a GraphQL object type representing a user account in the API, including identity fields (id, email, name), authorization context (`role`), and social/content relationships (profile, posts, followers/following). It serves as the central node for querying user-centric data and derived counts (`followerCount`, `followingCount`) in the graph.

## Diagram

```mermaid
graph LR
  User[User]
  Role[Role]
  Profile[Profile]
  Post[Post]
  Follow[Follow]

  User -->|role: Role!| Role
  User -->|profile: Profile| Profile
  User -->|posts: [Post!]!| Post
  User -->|followers: [Follow!]!| Follow
  User -->|following: [Follow!]!| Follow
  User -->|followerCount: Int!| followerCount[(Int)]
  User -->|followingCount: Int!| followingCount[(Int)]
```

## Usage

```ts
import { gql, GraphQLClient } from "graphql-request";

const client = new GraphQLClient(process.env.API_URL!, {
  headers: { authorization: `Bearer ${process.env.API_TOKEN}` },
});

const GetUserWithRelations = gql`
  query GetUserWithRelations($id: ID!) {
    user(id: $id) {
      id
      email
      name
      role
      profile {
        id
        bio
      }
      posts {
        id
        title
      }
      followerCount
      followingCount
    }
  }
`;

type GetUserWithRelationsResult = {
  user: {
    id: string;
    email: string;
    name: string;
    role: "ADMIN" | "USER" | string;
    profile: { id: string; bio?: string | null } | null;
    posts: Array<{ id: string; title: string }>;
    followerCount: number;
    followingCount: number;
  } | null;
};

async function fetchUser(id: string) {
  const data = await client.request(GetUserWithRelations, { id });
  return data.user;
}

// Example call
fetchUser("user_123").then(console.log).catch(console.error);
```

## AI Coding Instructions

- Treat `User` as the hub type: keep resolver logic for `posts`, `profile`, `followers`, and `following` consistent with the underlying data model (IDs, join tables, pagination if applicable).
- Ensure `followerCount`/`followingCount` are derived efficiently (prefer aggregated queries over loading full `followers`/`following` lists just to count).
- Respect nullability: `profile` can be `null`, but list fields like `posts` are non-null lists of non-null items (`[Post!]!`) and should always resolve to an array.
- Avoid leaking sensitive fields: `email` is non-nullable, so enforce authorization checks in the `User` query resolver if email visibility is restricted.
- Keep `role` aligned with the `Role` enum values; validate and migrate consistently when adding new roles.

## Relationships

- TYPE_OF → `Role`
- TYPE_OF → `Profile`
- TYPE_OF → `Post`
- TYPE_OF → `Follow`
- TYPE_OF → `Follow`
- TYPE_OF → `DateTime`
- TYPE_OF → `DateTime`

## Referenced By

- `user` (TYPE_OF)
- `searchUsers` (TYPE_OF)
- `createUser` (TYPE_OF)
- `updateUser` (TYPE_OF)
- `Post` (TYPE_OF)
- `Comment` (TYPE_OF)
- `Like` (TYPE_OF)
- `Follow` (TYPE_OF)
- `Follow` (TYPE_OF)
- `UserConnection` (TYPE_OF)
- `AuthPayload` (TYPE_OF)



# User Management API

**Kind:** API Schema

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/openapi.yaml` (line 1)

RESTful API for user management operations

## Relationships

- IMPLEMENTS_API → `getUsers`
- IMPLEMENTS_API → `createUser`
- IMPLEMENTS_API → `getUserById`
- IMPLEMENTS_API → `updateUser`
- IMPLEMENTS_API → `deleteUser`
- IMPLEMENTS_API → `login`
- TYPE_OF → `User`
- TYPE_OF → `UserWithProfile`
- TYPE_OF → `Profile`
- TYPE_OF → `CreateUser`
- TYPE_OF → `UpdateUser`
- TYPE_OF → `LoginRequest`
- TYPE_OF → `AuthResponse`
- TYPE_OF → `Error`



# $createCodeBlockNode

**Kind:** Function

**Source:** `atloria-monorepo/packages/editor/src/plugins/codeblock/CodeBlockNode.tsx` (line 275)

## Signature

```ts
function $createCodeBlockNode(options: Partial): CodeBlockNode
```

## Parameters

| Name | Type |
|---|---|
| `options` | `Partial` |

**Returns:** `CodeBlockNode`



# accept

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/api/src/suggestion/suggestion.controller.ts` (line 111)

## Endpoint

`POST /suggestions/:id/accept`

| Parameter | In | Type | Required |
|---|---|---|---|
| `id` | query | `string` | ✓ |

## Referenced By

- `SuggestionController` (MODULE_DECLARES)
- `SuggestionAliasController` (MODULE_DECLARES)



# AccessibilityViolation

**Kind:** Interface

**Source:** `atloria-monorepo/apps/web-e2e/src/utils/accessibility.ts` (line 12)

Accessibility violation

## Properties

| Property | Type |
|---|---|
| `id` | `string` |
| `description` | `string` |
| `help` | `string` |
| `helpUrl` | `string` |
| `impact` | `'minor' | 'moderate' | 'serious' | 'critical'` |
| `nodes` | `{
    html: string;
    target: string[];
    failureSummary?: string;
  }[]` |



# AccuracyReport

**Kind:** Interface

**Source:** `atloria-monorepo/packages/doc-automation/src/v2/types/stage-11.types.ts` (line 28)

## Properties

| Property | Type |
|---|---|
| `documentId` | `string` |
| `title` | `string` |
| `accuracyScore` | `number` |
| `claims` | `{
    total: number;
    verified: number;
    flagged: number;
    uncertain: number;
  }` |
| `issues` | `VerificationIssue[]` |
| `passesThreshold` | `boolean` |
| `requiredActions` | `string[]` |



# activeEditor$

**Kind:** Constant

**Source:** `atloria-monorepo/packages/editor/src/plugins/core/index.ts` (line 129)

Holds a reference to the current Lexical editor instance - can be the root editor or a nested editor.



# ActivityFiltersDto

**Kind:** Class

**Source:** `atloria-monorepo/apps/api/src/activity/dto/activity-filters.dto.ts` (line 3)

## Properties

| Property | Type |
|---|---|
| `organizationId` | `string` |
| `projectId` | `string` |
| `userId` | `string` |
| `entityType` | `string` |
| `entityId` | `string` |
| `startDate` | `string` |
| `endDate` | `string` |



# AgentAdapterService

**Kind:** Service

**Source:** `atloria-monorepo/apps/api/src/support-agent/agent-adapter.service.ts` (line 40)

## Methods

| Method | Signature | Returns |
|---|---|---|
| `execute` | `execute(message: string, executionConfig: AgentExecutionConfig)` | `Promise` |
| `executeStream` | `executeStream(message: string, executionConfig: AgentExecutionConfig)` | `AsyncGenerator` |

## Relationships

- DEPENDS_ON → `configservice`
- DEPENDS_ON → `prismaservice`



# AgentAnalyticsController

**Kind:** Controller

**Source:** `atloria-monorepo/apps/api/src/events/agent-analytics.controller.ts` (line 12)

Agent-native analytics — "who/what AI is reading your docs". Authed, org-scoped
read model over the agent_read events the public agent surfaces record. Guard/scope
pattern mirrors ManualsInsightsController.

## Relationships

- MODULE_DECLARES → `traffic`
- DEPENDS_ON → `agentanalyticsservice`



# AgentConfig

**Kind:** Interface

**Source:** `atloria-monorepo/libs/agent-core/src/runtime/types.ts` (line 14)

Agent Core Runtime Types

Our interfaces for agent configuration, tool definitions, and run results.
These are the contracts that domain layers (PME, doc-automation, etc.) code against.
The SDK's types are mapped to these in agent-runtime.ts — if the SDK changes,
only that file needs updating.

## Properties

| Property | Type |
|---|---|
| `name` | `string` |
| `instructions` | `string | ((context: RunContext) => string | Promise)` |
| `model` | `string` |
| `modelSettings` | `AgentModelSettings` |
| `tools` | `ToolDefinition[]` |
| `handoffs` | `AgentConfig[]` |
| `handoffDescription` | `string` |
| `inputGuardrails` | `GuardrailDefinition[]` |
| `outputGuardrails` | `OutputGuardrailDefinition[]` |
| `outputType` | `'text' | JsonSchemaOutput` |
| `maxTurns` | `number` |



# AgentEndedEvent

**Kind:** Interface

**Source:** `atloria-monorepo/apps/api/src/agent/agent.types.ts` (line 151)

## Properties

| Property | Type |
|---|---|
| `totalUsage` | `{
    inputTokens: number;
    outputTokens: number;
    totalTokens: number;
  }` |
| `turnCount` | `number` |



# AgentFactory

**Kind:** Type

**Source:** `atloria-monorepo/libs/agent-core/src/tools/spawn-agent.tool.ts` (line 33)

Factory function that creates sub-agent configs on demand.
Domain layers implement this to control what instructions, model,
and tools sub-agents receive.

The `model` in options is already resolved by the router — factory
should use it as-is when provided.

## Definition

```ts
(
  name: string,
  task: string,
  tools?: string[],
  options?: { rootDir?: string; model?: string },
) => import('../runtime/types').AgentConfig
```



# AgentModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/api/src/agent/agent.module.ts` (line 6)

## Relationships

- MODULE_DECLARES → `agentcontroller`
- MODULE_PROVIDES → `agentservice`
- MODULE_PROVIDES → `agentgateway`
- MODULE_EXPORTS → `agentservice`
- MODULE_EXPORTS → `agentgateway`



# AgentRuntime

**Kind:** Class

**Source:** `atloria-monorepo/libs/agent-core/src/runtime/agent-runtime.ts` (line 45)

AgentRuntime — the SDK-based agent loop implementation.
Wraps

**Implements:** `IAgentLoop`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `run` | `run(config: AgentConfig, input: string, options: RunOptions)` | `Promise` |
| `runStreamed` | `runStreamed(config: AgentConfig, input: string | AgentInputItem[], options: RunOptions)` | `Promise` |



# AgentWriterService

**Kind:** Service

**Source:** `atloria-monorepo/packages/doc-automation/src/v2/stages/stage-10-generation/agent-writer.service.ts` (line 1)



# AIProvidersResponse

**Kind:** Interface

**Source:** `atloria-monorepo/apps/web/src/types/ai.ts` (line 14)

## Properties

| Property | Type |
|---|---|
| `providers` | `AIProvider[]` |
| `default` | `AIProviderName` |



# AIProviderType

**Kind:** Type

**Source:** `atloria-monorepo/packages/doc-automation/src/v2/providers/ai-provider.interface.ts` (line 98)

AI Provider type selection

## Definition

```ts
'claude' | 'openai' | 'azure-responses'
```



# analyzeAngularTemplate

**Kind:** Function

**Source:** `atloria-monorepo/libs/parser-core/src/utils/template-analyzer.ts` (line 599)

Analyze Angular template file

## Signature

```ts
function analyzeAngularTemplate(templateContent: string): TemplateAnalysis
```

## Parameters

| Name | Type |
|---|---|
| `templateContent` | `string` |

**Returns:** `TemplateAnalysis`



# analyzeAuthFailureWithAI

**Kind:** Function

**Source:** `atloria-monorepo/apps/cli/src/utils/ai-auth-debugger.ts` (line 127)

Ask AI to analyze authentication failure and suggest fixes

## Signature

```ts
async function analyzeAuthFailureWithAI(diagnostics: AuthDiagnostics, config: AuthConfig, debugGuideContent: string): Promise<{
  analysis: string;
  suggestedFixes: Array<{
    type: 'alert-handling' | 'selector-change' | 'timing-adjustment' | 'method-change';
    description: string;
    code?: string;
  }>;
}>
```

## Parameters

| Name | Type |
|---|---|
| `diagnostics` | `AuthDiagnostics` |
| `config` | `AuthConfig` |
| `debugGuideContent` | `string` |

**Returns:** `Promise<{
  analysis: string;
  suggestedFixes: Array<{
    type: 'alert-handling' | 'selector-change' | 'timing-adjustment' | 'method-change';
    description: string;
    code?: string;
  }>;
}>`



# AngularDetector

**Kind:** Class

**Source:** `atloria-monorepo/packages/doc-automation/src/v2/stages/stage-01-parse/detectors/angular-detector.ts` (line 77)

Angular Detector

## Methods

| Method | Signature | Returns |
|---|---|---|
| `detectComponents` | `detectComponents(entities: Entity[])` | `DetectedAngularComponent[]` |
| `detectServices` | `detectServices(entities: Entity[])` | `DetectedAngularService[]` |
| `getComponentSummary` | `getComponentSummary(component: DetectedAngularComponent)` | `string` |



# AnnotationEmitterService

**Kind:** Service

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/services/annotation-emitter.service.ts` (line 59)

TS port of the atlorix Python annotation producer
(tools/capture_annotations.py + tools/emit_annotations.py).

Locates a step's target element on the LIVE page, converts it to percent-of-
natural-image coordinates, and builds the non-destructive overlay payload +
the `#atloria-annotations=` URL fragment the web viewer consumes. Coordinates
only — the screenshot pixels are never touched (moat intact).

## Methods

| Method | Signature | Returns |
|---|---|---|
| `recomputeTargetBoxPct` | `recomputeTargetBoxPct(page: Page, selector: string, opts: { fullPage: boolean })` | `Promise` |
| `buildStepAnnotations` | `buildStepAnnotations(boxPct: BoxPct, stepIndex: number)` | `Annotation[]` |
| `toFragment` | `toFragment(annotations: Annotation[])` | `string` |



# apiAuthenticationTemplate

**Kind:** Constant

**Source:** `atloria-monorepo/apps/api/src/template/seeds/api-authentication.template.ts` (line 3)



# APIEndpointEntity

**Kind:** Interface

**Source:** `atloria-monorepo/libs/parser-core/src/interfaces/entity.interface.ts` (line 536)

API Endpoint entity

## Properties

| Property | Type |
|---|---|
| `type` | `EntityType.API_ENDPOINT` |
| `method` | `'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'HEAD'` |
| `path` | `string` |
| `pathParams` | `ParameterDefinition[]` |
| `queryParams` | `ParameterDefinition[]` |
| `requestBody` | `SchemaDefinition` |
| `responses` | `ResponseDefinition[]` |
| `authentication` | `AuthenticationInfo` |
| `rateLimit` | `RateLimitInfo` |
| `middleware` | `string[]` |
| `controller` | `string` |
| `operationId` | `string` |



# APIFlow

**Kind:** Interface

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/interfaces/relationship.interface.ts` (line 391)

API flow showing component → API → service → model chain

## Properties

| Property | Type |
|---|---|
| `endpoint` | `{
    id: string;
    name: string;
    path: string;
    method: string;
  }` |
| `callers` | `Array<{
    id: string;
    name: string;
    type: string;
    filePath: string;
  }>` |
| `services` | `Array<{
    id: string;
    name: string;
    filePath: string;
  }>` |
| `models` | `Array<{
    id: string;
    name: string;
    tableName: string;
  }>` |
| `relationships` | `Relationship[]` |



# ApiProvider

**Kind:** Class

**Source:** `atloria-monorepo/apps/cli/src/providers/api.provider.ts` (line 54)

API data provider
Fetches from Atloria REST API

**Implements:** `DataProvider`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `initialize` | `initialize(config: DataProviderConfig)` | `Promise` |
| `getProjectMetadata` | `getProjectMetadata()` | `Promise` |
| `getEntities` | `getEntities()` | `Promise` |
| `getEntitiesByType` | `getEntitiesByType(type: string)` | `Promise` |
| `getEntityById` | `getEntityById(id: string)` | `Promise` |
| `getRelationships` | `getRelationships()` | `Promise` |
| `getRelationshipsForEntity` | `getRelationshipsForEntity(entityId: string)` | `Promise` |
| `saveParseResults` | `saveParseResults(results: ParseResult[], project: DetectedProject, workflowSignals: WorkflowSignals, workflowOptions: {
      enableAiWorkflows?: boolean;
      aiModel?: string;
      forceWorkflowDiscovery?: boolean;
    }, businessContextText: string)` | `Promise` |
| `saveDocumentation` | `saveDocumentation(pages: Array<{
      slug: string;
      title: string;
      description: string;
      type: string;
      content: string;
      order: number;
      parentSlug?: string;
      entityId?: string;
    }>, _navigation: Array<{
      title: string;
      href: string;
      children?: Array<{ title: string; href: string }>;
    }>)` | `Promise` |
| `destroy` | `destroy()` | `Promise` |



# API_URL

**Kind:** Constant

**Source:** `atloria-monorepo/apps/web/src/app/app/desk/components/deskTypes.ts` (line 16)

Shared types + design tokens for the Support Desk shell.

The desk codes against the parallel backend contract:
  GET  desk/:projectId/counts
  GET  desk/:projectId/threads?bucket=...&limit=50
  GET  desk/:projectId/threads/:id
  POST desk/:projectId/threads/:id/transition {action, snoozedUntil?}
  POST desk/:projectId/threads/:id/reply {body, internal?, andDone?}
  POST desk/:projectId/threads/:id/duplicate {intoTicketNumber}

Chip palettes intentionally mirror apps/web/src/app/app/settings/issues/all/page.tsx
so tickets look identical across the Issues pages and the Desk.



# AppController

**Kind:** Controller

**Source:** `atloria-monorepo/apps/code-analyzer/src/app/app.controller.ts` (line 4)

## Relationships

- MODULE_DECLARES → `getHealth`
- MODULE_DECLARES → `getInfo`
- DEPENDS_ON → `appservice`



# applyFiltersToBoard

**Kind:** Function

**Source:** `atloria-monorepo/apps/web/src/components/Boards/BoardFilters.tsx` (line 86)

Filter a whole board (returns a new board with filtered cards per column)

## Signature

```ts
function applyFiltersToBoard(board: BoardData, f: BoardFiltersState): BoardData
```

## Parameters

| Name | Type |
|---|---|
| `board` | `BoardData` |
| `f` | `BoardFiltersState` |

**Returns:** `BoardData`



# applyHunks

**Kind:** Function

**Source:** `atloria-monorepo/libs/agent-core/src/tools/edit-file.tool.ts` (line 625)

Apply parsed hunks to file content with fuzzy line offset matching.
Hunks are applied in reverse order (bottom-to-top) to preserve line numbers.

## Signature

```ts
function applyHunks(content: string, hunks: DiffHunk[], fuzzLines): { success: boolean; content?: string; error?: string; lastNewText?: string }
```

## Parameters

| Name | Type |
|---|---|
| `content` | `string` |
| `hunks` | `DiffHunk[]` |
| `fuzzLines` | `any` |

**Returns:** `{ success: boolean; content?: string; error?: string; lastNewText?: string }`



# AppModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/code-analyzer/src/app/app.module.ts` (line 9)

## Relationships

- MODULE_IMPORTS → `databasemodule`
- MODULE_IMPORTS → `gitmodule`
- MODULE_IMPORTS → `analysismodule`
- MODULE_DECLARES → `appcontroller`
- MODULE_PROVIDES → `appservice`



# AppService

**Kind:** Service

**Source:** `atloria-monorepo/apps/code-analyzer/src/app/app.service.ts` (line 4)

## Methods

| Method | Signature | Returns |
|---|---|---|
| `getHealth` | `getHealth()` | `unknown` |
| `getInfo` | `getInfo()` | `unknown` |

## Relationships

- DEPENDS_ON → `gitservice`



# areParsersInitialized

**Kind:** Function

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/queue/processors/parser-registry.ts` (line 165)

Check if parsers are initialized

## Signature

```ts
function areParsersInitialized(): boolean
```

**Returns:** `boolean`



# AskFn

**Kind:** Type

**Source:** `atloria-monorepo/libs/parser-core/src/techdocs/mcp-toolset.ts` (line 34)

Optional grounded-QA backend (LLM). Injected so the toolset stays pure/testable.

## Definition

```ts
(question: string, context: DocSearchHit[]) => Promise<{ answer: string; citations: string[] }>
```



# AssemblerDeps

**Kind:** Interface

**Source:** `atloria-monorepo/libs/site-gen-core/src/assembler/assembler.ts` (line 22)

## Properties

| Property | Type |
|---|---|
| `templateDir` | `string` |
| `componentLibraryDir` | `string` |



# assertPerformanceMetrics

**Kind:** Function

**Source:** `atloria-monorepo/apps/web-e2e/src/utils/performance.ts` (line 126)

Assert performance metrics meet thresholds

## Signature

```ts
async function assertPerformanceMetrics(page: Page, thresholds: Partial<{
    ttfb: number;
    fcp: number;
    lcp: number;
    cls: number;
    domContentLoaded: number;
    load: number;
    resourceCount: number;
    totalSize: number;
    domNodes: number;
  }>): Promise
```

## Parameters

| Name | Type |
|---|---|
| `page` | `Page` |
| `thresholds` | `Partial<{
    ttfb: number;
    fcp: number;
    lcp: number;
    cls: number;
    domContentLoaded: number;
    load: number;
    resourceCount: number;
    totalSize: number;
    domNodes: number;
  }>` |

**Returns:** `Promise`



# assertPublicHttpUrl

**Kind:** Function

**Source:** `atloria-monorepo/apps/api/src/technical-docs/ssrf.ts` (line 26)

Validate that a URL is http(s) and does not point at a private address
(by hostname pattern or DNS resolution). Throws BadRequestException.

## Signature

```ts
async function assertPublicHttpUrl(rawUrl: string): Promise
```

## Parameters

| Name | Type |
|---|---|
| `rawUrl` | `string` |

**Returns:** `Promise`



# AtloriaWebSocketClient

**Kind:** Class

**Source:** `atloria-monorepo/apps/web/src/lib/websocket-client.ts` (line 30)

AtloriaWebSocketClient

Manages WebSocket connections for real-time updates.
Supports multiple namespaces (comments, documents) and channel subscriptions.

**Implements:** `WebSocketClient`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `setToken` | `setToken(token: string | null)` | `void` |
| `joinDocument` | `joinDocument(documentId: string, namespace: NamespaceType)` | `void` |
| `leaveDocument` | `leaveDocument(documentId: string, namespace: NamespaceType)` | `void` |
| `subscribe` | `subscribe(channel: string, handler: SubscriptionHandler)` | `() => void` |
| `on` | `on(event: string, handler: SubscriptionHandler)` | `void` |
| `off` | `off(event: string, handler: SubscriptionHandler)` | `void` |
| `emit` | `emit(event: string, data: any)` | `void` |
| `disconnect` | `disconnect()` | `void` |
| `isConnected` | `isConnected()` | `boolean` |



# AuthConfig

**Kind:** Interface

**Source:** `atloria-monorepo/apps/cli/src/utils/ai-auth-debugger.ts` (line 12)

## Properties

| Property | Type |
|---|---|
| `loginUrl` | `string` |
| `credentials` | `{
    usernameSelector: string;
    passwordSelector: string;
    submitSelector: string;
    username: string;
    password: string;
  }` |
| `waitAfterLogin` | `number` |
| `testUrl` | `string` |



# AuthenticatedScreenshotOptions

**Kind:** Interface

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/playwright/playwright.service.ts` (line 22)

## Properties

| Property | Type |
|---|---|
| `targetUrl` | `string` |
| `loginUrl` | `string` |
| `username` | `string` |
| `password` | `string` |
| `usernameSelector` | `string` |
| `passwordSelector` | `string` |
| `submitSelector` | `string` |
| `successSelector` | `string` |
| `browserType` | `BrowserType` |
| `viewport` | `{
    width: number;
    height: number;
  }` |
| `fullPage` | `boolean` |
| `waitForSelector` | `string` |
| `waitForTimeout` | `number` |



# Backdrop

**Kind:** Component

**Source:** `atloria-monorepo/apps/web/src/app/app/desk/components/DeskDialogs.tsx` (line 19)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `onClose` | `Function` | ✓ | - |
| `children` | `unknown` | ✓ | - |

## Diagram

```mermaid
graph TD
    component_Backdrop_3d5e3532["Backdrop"]
    class component_Backdrop_3d5e3532 rootComponent
```

## Referenced By

- `SnoozeMenu` (RENDERS)
- `DuplicateDialog` (RENDERS)
- `ShortcutOverlay` (RENDERS)



# BatchConfigDto

**Kind:** Class

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/batch-screenshot.dto.ts` (line 555)

Batch configuration DTO

Controls batch-level settings:
- Concurrency and parallelism
- Browser selection
- Retry behavior
- Screenshot format and quality
- Deduplication

## Properties

| Property | Type |
|---|---|
| `maxConcurrency` | `number` |
| `browser` | `Browser` |
| `maxRetries` | `number` |
| `retryDelayMs` | `number` |
| `screenshotTimeout` | `number` |
| `defaultViewport` | `ViewportDto` |
| `format` | `Format` |
| `quality` | `number` |
| `checkDuplicates` | `boolean` |



# BatchScreenshotController

**Kind:** Controller

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/batch-screenshot.controller.ts` (line 41)

Controller for batch screenshot operations

Endpoints:
- POST /screenshot/batch - Create and start a batch job
- GET /screenshot/batch/:jobId/status - Get job status and results
- POST /screenshot/validate-selectors - Validate selectors exist on a page

`BatchScreenshotController` exposes HTTP endpoints for creating and running screenshot batch jobs, querying their status/results, and validating CSS/XPath selectors against a target page. It acts as the API boundary for the screenshot-worker service, delegating orchestration to underlying services/queues and returning job progress and artifacts to callers.

## Diagram

```mermaid
graph LR
  Client[Client / API Consumer] -->|POST /screenshot/batch| C[BatchScreenshotController]
  Client -->|GET /screenshot/batch/:jobId/status| C
  Client -->|POST /screenshot/validate-selectors| C

  C --> S[Batch Screenshot Service]
  S --> Q[(Job Queue / Worker)]
  Q --> W[Browser Runner (Playwright/Puppeteer)]
  W --> R[(Storage: screenshots & metadata)]
  S --> R
  C -->|status/results| Client
```

## Usage

```ts
// Example: calling the controller endpoints from a Node client (e.g., another service)
import axios from "axios";

const baseURL = process.env.SCREENSHOT_WORKER_URL ?? "http://localhost:3000";

async function runBatch() {
  // 1) Create/start a batch screenshot job
  const createRes = await axios.post(`${baseURL}/screenshot/batch`, {
    // Shape depends on your DTOs; adjust to match your API contract.
    pages: [
      { url: "https://example.com", selectors: ["header", "#main"] },
      { url: "https://example.com/about", selectors: ["h1", ".content"] },
    ],
    viewport: { width: 1280, height: 720 },
    fullPage: true,
  });

  const jobId: string = createRes.data.jobId;
  console.log("Created job:", jobId);

  // 2) Poll for job status/results
  while (true) {
    const statusRes = await axios.get(
      `${baseURL}/screenshot/batch/${encodeURIComponent(jobId)}/status`,
    );

    const { status, progress, results, error } = statusRes.data;
    console.log({ status, progress });

    if (status === "completed") {
      // results commonly include screenshot URLs/paths and per-page metadata
      console.log("Batch results:", results);
      break;
    }

    if (status === "failed") {
      throw new Error(error ?? "Batch screenshot job failed");
    }

    await new Promise((r) => setTimeout(r, 1000));
  }
}

async function validateSelectors() {
  const res = await axios.post(`${baseURL}/screenshot/validate-selectors`, {
    url: "https://example.com",
    selectors: ["#main", ".does-not-exist"],
  });

  // Example response: { valid: ["#main"], invalid: [".does-not-exist"] }
  console.log("Selector validation:", res.data);
}

runBatch()
  .then(validateSelectors)
  .catch((e) => {
    console.error(e);
    process.exit(1);
  });
```

## AI Coding Instructions

- Keep controller methods thin: perform input validation/DTO parsing and delegate orchestration to a service/queue layer; avoid embedding browser/screenshot logic in the controller.
- Preserve idempotency and clarity for `GET /screenshot/batch/:jobId/status`: never mutate job state on reads; return a stable schema for `status`, `progress`, and `results`.
- Normalize and validate all external inputs (URLs, selectors, viewport/fullPage flags) to prevent SSRF-like issues and to avoid expensive browser launches for obviously invalid requests.
- Treat job IDs as opaque: always `encodeURIComponent` in routing/clients and avoid assumptions about format when adding logging or storage keys.
- When adding new endpoints, align with existing NestJS patterns (DTOs, validation pipes, consistent HTTP status codes) and ensure integration points (queue, storage, runner) are injected and testable.

## Relationships

- MODULE_DECLARES → `createBatchJob`
- MODULE_DECLARES → `createFlowJob`
- MODULE_DECLARES → `reshootFlowStep`
- MODULE_DECLARES → `reshootFlowLocales`
- MODULE_DECLARES → `getJobStatus`
- MODULE_DECLARES → `getPageHtml`
- MODULE_DECLARES → `validateSelectors`
- DEPENDS_ON → `batchscreenshotservice`
- DEPENDS_ON → `flowreplayservice`
- DEPENDS_ON → `playwrightservice`



# BillingPlanKey

**Kind:** Type

**Source:** `atloria-monorepo/apps/api/src/billing/billing.constants.ts` (line 31)

## Definition

```ts
'pro' | 'business'
```



# BrandVoiceConfig

**Kind:** Interface

**Source:** `atloria-monorepo/libs/pme-core/src/guardrails/brand-voice.guardrail.ts` (line 42)

## Properties

| Property | Type |
|---|---|
| `brandVoice` | `string` |
| `additionalBannedTerms` | `string[]` |
| `allowSuperlatives` | `boolean` |



# Browser

**Kind:** Type

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/batch-screenshot.dto.ts` (line 540)

## Definition

```ts
typeof BROWSERS[number]
```



# BROWSERS

**Kind:** Constant

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/batch-screenshot.dto.ts` (line 539)



# BucketKey

**Kind:** Type

**Source:** `atloria-monorepo/apps/web/src/app/app/desk/components/deskTypes.ts` (line 85)

## Definition

```ts
| 'triage'
  | 'needs_first'
  | 'needs_next'
  | 'investigating'
  | 'waiting'
  | 'paused'
  | 'done'
  | 'mine'
  | 'unassigned'
```



# buildCoordinatorSystemPrompt

**Kind:** Function

**Source:** `atloria-monorepo/libs/pme-core/src/prompts/coordinator.prompts.ts` (line 21)

## Signature

```ts
function buildCoordinatorSystemPrompt(config: GenerationConfig): string
```

## Parameters

| Name | Type |
|---|---|
| `config` | `GenerationConfig` |

**Returns:** `string`



# buildSiteGenSystemPrompt

**Kind:** Function

**Source:** `atloria-monorepo/libs/site-gen-core/src/assembler/agents/site-gen.prompts.ts` (line 16)

## Signature

```ts
function buildSiteGenSystemPrompt(config: SiteGenPromptConfig): string
```

## Parameters

| Name | Type |
|---|---|
| `config` | `SiteGenPromptConfig` |

**Returns:** `string`



# burnRedactions

**Kind:** Function

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/services/crop.service.ts` (line 72)

Burn opaque BLACK rectangles into an image, destroying the underlying pixels.

Boxes are percent (0-100) of the natural image; each is converted to a clamped
pixel rect and composited as a filled black overlay. Unlike an annotation
overlay (coordinates on a URL fragment), this is DESTRUCTIVE by design — a
redacted region can never be recovered from the stored asset. Degenerate boxes
(sub-pixel or off-canvas) are skipped. No boxes → the original buffer is returned
untouched (no re-encode).

## Signature

```ts
async function burnRedactions(buffer: Buffer, boxes: BoxPct[], imgW: number, imgH: number): Promise
```

## Parameters

| Name | Type |
|---|---|
| `buffer` | `Buffer` |
| `boxes` | `BoxPct[]` |
| `imgW` | `number` |
| `imgH` | `number` |

**Returns:** `Promise`



# ChangeType

**Kind:** Enum

**Source:** `atloria-monorepo/libs/parser-core/src/generators/versioning/version-diff.ts` (line 13)

Change type

## Values

- `Added`
- `Removed`
- `Modified`



# CloneResult

**Kind:** Interface

**Source:** `atloria-monorepo/apps/code-analyzer/src/app/git/git.service.ts` (line 17)

## Properties

| Property | Type |
|---|---|
| `clonePath` | `string` |
| `targetPath` | `string` |
| `repoUrl` | `string` |
| `branch` | `string` |
| `folderPath` | `string` |



# CloudStorageProvider

**Kind:** Class

**Source:** `atloria-monorepo/libs/parser-core/src/storage/cloud-storage.provider.ts` (line 26)

Cloud storage provider implementation

**Implements:** `IStorageProvider`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `getMode` | `getMode()` | `StorageMode` |
| `saveScreenshot` | `saveScreenshot(buffer: Buffer, metadata: ScreenshotMetadata)` | `Promise` |
| `findExistingScreenshot` | `findExistingScreenshot(metadata: Partial)` | `Promise` |
| `saveDocument` | `saveDocument(document: DocumentMetadata)` | `Promise` |
| `documentExists` | `documentExists(projectId: string, categoryPath: string[], slug: string)` | `Promise` |
| `listDocuments` | `listDocuments(projectId: string, categoryPath: string[])` | `Promise>` |



# CollaborationPage

**Kind:** Class

**Source:** `atloria-monorepo/apps/web-e2e/src/pages/collaboration.page.ts` (line 7)

Collaboration feature page object

**Extends:** `BasePage`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `goto` | `goto()` | `Promise` |
| `getUserCursors` | `getUserCursors()` | `Locator` |
| `getCursorCount` | `getCursorCount()` | `Promise` |
| `getPresenceIndicators` | `getPresenceIndicators()` | `Locator` |
| `getCollaboratorCount` | `getCollaboratorCount()` | `Promise` |
| `getConnectionStatus` | `getConnectionStatus()` | `Promise<'connected' | 'connecting' | 'disconnected'>` |
| `waitForConnection` | `waitForConnection()` | `Promise` |
| `getUserByName` | `getUserByName(name: string)` | `Locator` |
| `isUserPresent` | `isUserPresent(name: string)` | `Promise` |
| `openShareDialog` | `openShareDialog()` | `Promise` |
| `getCursorPosition` | `getCursorPosition(userName: string)` | `Promise<{ x: number; y: number } | null>` |
| `getCollaboratorColor` | `getCollaboratorColor(userName: string)` | `Promise` |
| `isStatusBarVisible` | `isStatusBarVisible()` | `Promise` |
| `getStatusBarText` | `getStatusBarText()` | `Promise` |
| `simulateDisconnection` | `simulateDisconnection()` | `Promise` |
| `waitForReconnection` | `waitForReconnection()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `statusBar` | `Locator` |
| `userCursors` | `Locator` |
| `presenceIndicators` | `Locator` |
| `connectionStatus` | `Locator` |
| `userList` | `Locator` |
| `shareButton` | `Locator` |



# COMPACTION_SUMMARY_SCHEMA

**Kind:** Constant

**Source:** `atloria-monorepo/libs/agent-core/src/context/compaction-types.ts` (line 165)

JSON Schema definition for CompactionSummary.
Passed to the model via `response_format: { type: 'json_schema', json_schema: ... }`
to guarantee structured output.



# CompareType

**Kind:** Enum

**Source:** `atloria-monorepo/apps/api/src/document/dto/compare-document.dto.ts` (line 4)

## Values

- `VERSION`
- `REVISION`



# create

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/src/users/users.controller.ts` (line 49)

## Endpoint

`POST /users`

## Referenced By

- `UsersController` (MODULE_DECLARES)



# createFlowJob

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/batch-screenshot.controller.ts` (line 123)

Create and start a flow-replay job (WS-A)

POST /api/screenshot/flow

Replays a recorded flow (start URL + ordered actions) in ONE browser context,
shooting a screenshot after each action. Returns immediately with a job ID;
poll GET /api/screenshot/batch/:jobId/status?organizationId=… — the status
payload carries a `flowSteps` array ({ flowStepId, blobUrl, annotationsFragment }).

`auth` is OPTIONAL — a PUBLIC startUrl needs none, which makes the endpoint
smoke-testable without customer credentials. `capturedBy` (a real user UUID)
IS required so the job and Screenshot rows satisfy their DB foreign keys.

## Endpoint

`POST /screenshot/flow`

## Referenced By

- `BatchScreenshotController` (MODULE_DECLARES)



# createPost

**Kind:** Graphql Mutation

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

Create a new post

## Relationships

- TYPE_OF → `Post`
- TYPE_OF → `CreatePostInput`

## Referenced By

- `Mutation` (CALLS_API)



# CtaLayout

**Kind:** Type

**Source:** `atloria-monorepo/libs/pme-core/src/types/index.ts` (line 19)

## Definition

```ts
'banner' | 'split-form'
```



# database

**Kind:** Function

**Source:** `atloria-monorepo/libs/database/src/lib/database.ts` (line 1)

## Signature

```ts
function database(): string
```

**Returns:** `string`



# DiscoveryModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/discovery/discovery.module.ts` (line 7)

## Relationships

- MODULE_IMPORTS → `playwrightmodule`
- MODULE_DECLARES → `discoverycontroller`
- MODULE_PROVIDES → `discoveryservice`
- MODULE_PROVIDES → `pageprofilerservice`
- MODULE_EXPORTS → `discoveryservice`
- MODULE_EXPORTS → `pageprofilerservice`



# DocumentSource

**Kind:** Enum

**Source:** `atloria-monorepo/packages/types/src/enums/index.ts` (line 33)

Document source indicates how the document was created

## Values

- `AI`
- `PARSER`
- `USER`
- `FLOW`
- `API`



# EntityType

**Kind:** Enum

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/interfaces/entity.interface.ts` (line 15)

Entity Interfaces

Defines all entity types discovered by parsers.
Entities represent code constructs like components, services, models, etc.

## Values

- `COMPONENT`
- `HOOK`
- `PAGE`
- `LAYOUT`
- `ROUTE`
- `CONTEXT`
- `PROVIDER`
- `STORE`
- `CONTROLLER`
- `SERVICE`
- `REPOSITORY`
- `MIDDLEWARE`
- `GUARD`
- `INTERCEPTOR`
- `PIPE`
- `MODULE`
- `EVENT_HANDLER`
- `JOB_PROCESSOR`
- `API_ENDPOINT`
- `GRAPHQL_QUERY`
- `GRAPHQL_MUTATION`
- `GRAPHQL_SUBSCRIPTION`
- `GRAPHQL_TYPE`
- `RPC_METHOD`
- `WEBSOCKET_ENDPOINT`
- `DATABASE_MODEL`
- `DATABASE_MIGRATION`
- `DATABASE_SEED`
- `DATABASE_VIEW`
- `DATABASE_PROCEDURE`
- `DOCKER_SERVICE`
- `K8S_DEPLOYMENT`
- `K8S_SERVICE`
- `K8S_CONFIGMAP`
- `TERRAFORM_RESOURCE`
- `CI_WORKFLOW`
- `MARKDOWN_DOC`
- `API_SCHEMA`
- `DOC_COMMENT`
- `ENV_VARIABLE`
- `CONFIG_FILE`
- `FEATURE_FLAG`
- `CLASS`
- `FUNCTION`
- `INTERFACE`
- `TYPE`
- `ENUM`
- `CONSTANT`
- `VARIABLE`
- `DECORATOR`



# ExpressParser

**Kind:** Class

**Source:** `atloria-monorepo/apps/backend-parser/src/parsers/express.parser.ts` (line 42)

Express Parser implementation

**Implements:** `IParser`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `initialize` | `initialize(config: ParserConfig)` | `Promise` |
| `canParse` | `canParse(filePath: string)` | `boolean` |
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |
| `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` |
| `destroy` | `destroy()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `any` |
| `version` | `any` |
| `supportedPatterns` | `any` |



# extractComponentNameFromPath

**Kind:** Function

**Source:** `atloria-monorepo/apps/frontend-parser/src/utils/ast-helpers.ts` (line 483)

Extract the component name from a file path

## Signature

```ts
function extractComponentNameFromPath(filePath: string): string
```

## Parameters

| Name | Type |
|---|---|
| `filePath` | `string` |

**Returns:** `string`



# FetchAudiencesFn

**Kind:** Type

**Source:** `atloria-monorepo/libs/site-gen-core/src/assembler/tools/query-product-knowledge.tool.ts` (line 60)

Fetch target audiences defined for this project.

## Definition

```ts
(
  projectId: string,
) => Promise
```



# FIXTURES_PATH

**Kind:** Constant

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/integration/setup.ts` (line 18)



# generateEntityId

**Kind:** Function

**Source:** `atloria-monorepo/apps/database-parser/src/utils/hash.util.ts` (line 19)

Generate a unique entity ID

## Signature

```ts
function generateEntityId(filePath: string, entityType: string, name: string): string
```

## Parameters

| Name | Type |
|---|---|
| `filePath` | `string` |
| `entityType` | `string` |
| `name` | `string` |

**Returns:** `string`



# getInfo

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/code-analyzer/src/app/app.controller.ts` (line 19)

Service info endpoint

## Endpoint

`GET /info`

## Referenced By

- `AppController` (MODULE_DECLARES)



# getParsers

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/api-schema-parser/src/app.controller.ts` (line 29)

List supported parsers

## Endpoint

`GET /parsers`

## Referenced By

- `AppController` (MODULE_DECLARES)



# GrpcParser

**Kind:** Class

**Source:** `atloria-monorepo/apps/api-schema-parser/src/parsers/grpc.parser.ts` (line 37)

gRPC Parser Implementation

Supports:
- Protocol Buffers syntax (proto2 and proto3)
- Services and RPCs
- Messages and nested types
- Enums
- Options and comments

**Implements:** `IParser`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `initialize` | `initialize(config: ParserConfig)` | `Promise` |
| `canParse` | `canParse(filePath: string)` | `boolean` |
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |
| `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` |
| `destroy` | `destroy()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `any` |
| `version` | `any` |
| `supportedPatterns` | `any` |



# ImportInfo

**Kind:** Interface

**Source:** `atloria-monorepo/apps/frontend-parser/src/utils/ast-helpers.ts` (line 17)

Information about an import statement

## Properties

| Property | Type |
|---|---|
| `source` | `string` |
| `importType` | `'default' | 'named' | 'namespace' | 'side-effect'` |
| `imported` | `string` |
| `local` | `string` |



# IntegrationModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/integration/integration.module.ts` (line 14)

## Relationships

- MODULE_PROVIDES → `integrationservice`
- MODULE_EXPORTS → `integrationservice`



# JsonConfigParser

**Kind:** Class

**Source:** `atloria-monorepo/apps/config-docs-parser/src/parsers/json-config.parser.ts` (line 63)

**Implements:** `IParser`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `initialize` | `initialize(config: ParserConfig)` | `Promise` |
| `canParse` | `canParse(filePath: string)` | `boolean` |
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |
| `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` |
| `destroy` | `destroy()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `any` |
| `version` | `any` |
| `supportedPatterns` | `any` |



# KEY_TECH_FACTS

**Kind:** Constant

**Source:** `atloria-monorepo/apps/pme-agent/test/discovery/ground-truth.ts` (line 119)

Key tech stack facts the agent should mention (from READING dependency files)



# KGSyncService

**Kind:** Service

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/knowledge-graph/sync/kg-sync.service.ts` (line 23)

## Methods

| Method | Signature | Returns |
|---|---|---|
| `sync` | `sync(parseResult: ParseResult)` | `Promise` |
| `syncBatch` | `syncBatch(parseResults: ParseResult[])` | `Promise` |
| `syncProject` | `syncProject(projectResult: ProjectParseResult)` | `Promise` |
| `resyncProject` | `resyncProject(projectId: string, parseResults: ParseResult[])` | `Promise` |
| `getSyncStatus` | `getSyncStatus(projectId: string)` | `Promise<{
    totalEntities: number;
    totalRelationships: number;
    lastSyncedAt?: Date;
  }>` |

## Relationships

- DEPENDS_ON → `knowledgegraphservice`



# MilestoneCard

**Kind:** Component

**Source:** `atloria-monorepo/libs/site-gen-core/src/component-library/sections/social-proof/social-proof-timeline.tsx` (line 50)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `milestone` | `Milestone` | ✓ | - |
| `t` | `Function` | ✓ | - |

## Diagram

```mermaid
graph TD
    component_MilestoneCard_150ebeb1["MilestoneCard"]
    class component_MilestoneCard_150ebeb1 rootComponent
```

## Relationships

- RENDERS → `DateBadge`

## Referenced By

- `SocialProofTimeline` (RENDERS)



# newFollower

**Kind:** Graphql Subscription

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

Subscribe to new followers

## Relationships

- TYPE_OF → `Follow`

## Referenced By

- `Subscription` (CALLS_API)



# NextjsParser

**Kind:** Class

**Source:** `atloria-monorepo/apps/frontend-parser/src/parsers/nextjs.parser.ts` (line 53)

**Extends:** `ReactParser`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `string` |
| `version` | `string` |
| `supportedPatterns` | `string[]` |



# ParseProcessor

**Kind:** Class

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/queue/processors/parse.processor.ts` (line 68)

**Implements:** `OnModuleInit`, `OnModuleDestroy`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `onModuleInit` | `onModuleInit()` | `Promise` |
| `onModuleDestroy` | `onModuleDestroy()` | `Promise` |
| `handleParse` | `handleParse(job: Job)` | `Promise` |
| `onActive` | `onActive(job: Job)` | `void` |
| `onCompleted` | `onCompleted(job: Job, result: ParseResult[])` | `void` |
| `onFailed` | `onFailed(job: Job, error: Error)` | `void` |
| `onProgress` | `onProgress(job: Job, progress: number)` | `void` |



# ParserRegistryConfig

**Kind:** Interface

**Source:** `atloria-monorepo/apps/config-docs-parser/src/services/parser-registry.service.ts` (line 19)

## Properties

| Property | Type |
|---|---|
| `rootDir` | `string` |
| `enabledParsers` | `string[]` |
| `parserOptions` | `Record` |



# PmeCompactionStrategy

**Kind:** Class

**Source:** `atloria-monorepo/libs/pme-core/src/context/pme-compaction-strategy.ts` (line 31)

**Implements:** `CompactionStrategy`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `shouldPreserve` | `shouldPreserve(item: ContextItem)` | `boolean` |
| `summarize` | `summarize(items: ContextItem[])` | `string` |



# Post

**Kind:** Graphql Type

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

Blog post

`Post` is a GraphQL object type representing a blog post in the backend API, including its core content (`title`, `content`) and publication state (`published`, `publishedAt`). It acts as an aggregate root that links to related entities like `author`, `comments`, `likes`, and `tags`, while also exposing derived data such as `commentCount`. This type is typically returned by post-related queries and mutations and drives client rendering of post detail and list views.

## Diagram

```mermaid
graph LR
  Post[Post]
  User[User]
  Comment[Comment]
  Like[Like]
  Tag[Tag]

  Post -->|author: User!| User
  Post -->|comments: [Comment!]!| Comment
  Post -->|likes: [Like!]!| Like
  Post -->|tags: [Tag!]!| Tag

  Post -->|id: ID!| ID[(ID)]
  Post -->|title: String!| String[(String)]
  Post -->|content: String!| String2[(String)]
  Post -->|published: Boolean!| Bool[(Boolean)]
  Post -->|publishedAt: DateTime| DateTime[(DateTime)]
  Post -->|commentCount: Int!| Int[(Int)]
```

## Usage

```ts
// Example using graphql-request in a Next.js/NestJS-compatible setup.
import { GraphQLClient, gql } from "graphql-request";

const client = new GraphQLClient(process.env.API_URL!, {
  headers: {
    // e.g. Authorization: `Bearer ${token}`,
  },
});

const GET_POST = gql`
  query GetPost($id: ID!) {
    post(id: $id) {
      id
      title
      content
      published
      publishedAt
      commentCount
      author {
        id
        name
      }
      tags {
        id
        name
      }
      comments {
        id
        content
        author {
          id
          name
        }
      }
      likes {
        id
        user {
          id
          name
        }
      }
    }
  }
`;

type GetPostResult = {
  post: {
    id: string;
    title: string;
    content: string;
    published: boolean;
    publishedAt: string | null;
    commentCount: number;
    author: { id: string; name: string };
    tags: Array<{ id: string; name: string }>;
    comments: Array<{ id: string; content: string; author: { id: string; name: string } }>;
    likes: Array<{ id: string; user: { id: string; name: string } }>;
  };
};

export async function fetchPost(id: string) {
  const data = await client.request(GET_POST, { id });
  return data.post;
}

// Usage:
// const post = await fetchPost("post_123");
// console.log(post.title, post.commentCount);
```

## AI Coding Instructions

- Treat `Post` as an aggregate: keep `author`, `comments`, `likes`, and `tags` resolved consistently (avoid partial resolver behavior that returns `null` for non-nullable fields).
- Ensure `commentCount: Int!` stays in sync with `comments` (compute via DB aggregation where possible; avoid N+1 counting per post).
- Respect publication semantics: if `published` is `false`, `publishedAt` should typically be `null` (enforce in mutations and resolvers).
- When adding fields, keep GraphQL nullability intentional: only mark as non-null (`!`) if the resolver/data layer can guarantee it under all conditions.

## Relationships

- TYPE_OF → `DateTime`
- TYPE_OF → `User`
- TYPE_OF → `Comment`
- TYPE_OF → `Like`
- TYPE_OF → `Tag`
- TYPE_OF → `DateTime`
- TYPE_OF → `DateTime`

## Referenced By

- `post` (TYPE_OF)
- `createPost` (TYPE_OF)
- `updatePost` (TYPE_OF)
- `newPost` (TYPE_OF)
- `User` (TYPE_OF)
- `Comment` (TYPE_OF)
- `Like` (TYPE_OF)
- `Tag` (TYPE_OF)
- `PostConnection` (TYPE_OF)



# posts

**Kind:** Graphql Query

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

Get posts with filters

## Relationships

- TYPE_OF → `PostConnection`

## Referenced By

- `Query` (CALLS_API)



# PrismaParser

**Kind:** Class

**Source:** `atloria-monorepo/apps/database-parser/src/parsers/prisma.parser.ts` (line 67)

**Implements:** `IParser`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `initialize` | `initialize(config: ParserConfig)` | `Promise` |
| `canParse` | `canParse(filePath: string)` | `boolean` |
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |
| `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` |
| `destroy` | `destroy()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `any` |
| `version` | `any` |
| `supportedPatterns` | `any` |



# ProfilePage

**Kind:** Component

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/frontend/src/pages/profile/[id].tsx` (line 21)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `initialUser` | `unknown` | - | - |

## Diagram

```mermaid
graph TD
    component_ProfilePage_560b332b["ProfilePage"]
    class component_ProfilePage_560b332b rootComponent
```

## Relationships

- RENDERS → `Layout`
- RENDERS → `Head`
- RENDERS → `UserProfile`
- USES_HOOK → `useRouter`



# ProjectInfo

**Kind:** Interface

**Source:** `atloria-monorepo/apps/pme-agent/test/discovery/ground-truth.ts` (line 12)

Ground Truth — Amlak Project

Known facts about the amlak repo that we score the agent's output against.
Built from manual inspection on 2026-03-22, updated with agent discoveries.

## Properties

| Property | Type |
|---|---|
| `name` | `string` |
| `path` | `string` |
| `tech` | `string` |
| `description` | `string` |
| `language` | `'typescript' | 'python' | 'mixed'` |



# QueueModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/pme-agent/src/queue/queue.module.ts` (line 6)

## Relationships

- MODULE_PROVIDES → `pmeprocessor`
- MODULE_EXPORTS → `bullmodule`



# RedisService

**Kind:** Service

**Source:** `atloria-monorepo/libs/database/src/lib/redis.service.ts` (line 7)

## Methods

| Method | Signature | Returns |
|---|---|---|
| `onModuleInit` | `onModuleInit()` | `unknown` |
| `onModuleDestroy` | `onModuleDestroy()` | `unknown` |
| `getClient` | `getClient()` | `Redis | null` |
| `isAvailable` | `isAvailable()` | `boolean` |
| `get` | `get(key: string)` | `Promise` |
| `set` | `set(key: string, value: string, ttlSeconds: number)` | `Promise` |
| `del` | `del(key: string)` | `Promise` |
| `exists` | `exists(key: string)` | `Promise` |
| `setJson` | `setJson(key: string, value: T, ttlSeconds: number)` | `Promise` |
| `getJson` | `getJson(key: string)` | `Promise` |
| `cached` | `cached(key: string, fetchFn: () => Promise, ttlSeconds: unknown)` | `Promise` |
| `invalidatePattern` | `invalidatePattern(pattern: string)` | `Promise` |

## Relationships

- DEPENDS_ON → `configservice`



# RenderRecursiveWrappers

**Kind:** Component

**Source:** `atloria-monorepo/packages/editor/src/MDXEditor.tsx` (line 179)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `wrappers` | `any` | ✓ | - |
| `children` | `any` | ✓ | - |

## Diagram

```mermaid
graph TD
    component_RenderRecursiveWrappers_4c55724f["RenderRecursiveWrappers"]
    class component_RenderRecursiveWrappers_4c55724f rootComponent
```

## Relationships

- RENDERS → `Wrapper`
- RENDERS → `RenderRecursiveWrappers`

## Referenced By

- `RichTextEditor` (RENDERS)
- `RenderRecursiveWrappers` (RENDERS)



# Root

**Kind:** Page

**Source:** `atloria-monorepo/templates/site-bootstrap/src/App.tsx`



# SUPERLATIVES_LIST

**Kind:** Constant

**Source:** `atloria-monorepo/libs/pme-core/src/guardrails/brand-voice.guardrail.ts` (line 124)

Exported for testing — the list of superlatives the guardrail checks.



# System.Text.Json

**Kind:** Service

**Source:** `atloria-monorepo/libs/parser-core/src/dotnet-bridge/Atloria.CSharpParser/Atloria.CSharpParser.csproj` (line 1)

NuGet package dependency

## Referenced By

- `Atloria.CSharpParser` (DEPENDS_ON)



# TenantContext

**Kind:** Interface

**Source:** `atloria-monorepo/libs/database/src/lib/tenant-context.ts` (line 15)

Per-request tenant context, propagated via AsyncLocalStorage.

WHY: the cross-tenant fix is enforced primarily by ResourceOrgGuard at the controller edge. This
context powers a defense-in-depth BACKSTOP in PrismaService (see tenant-backstop.ts) that detects
(and, once enabled, can enforce) tenant scoping on database queries — catching the bug class where
a service loads a row by id and forgets to check its organization.

The context is set by an HTTP middleware from the authenticated JWT. Background work (BullMQ
workers, cron, seeds, the boot-time audience seed) runs with NO context — the backstop treats an
absent context as "system" and does nothing, so it can never break a background query.

## Properties

| Property | Type |
|---|---|
| `organizationId` | `string` |
| `userId` | `string` |
| `bypass` | `boolean` |



# test

**Kind:** Constant

**Source:** `atloria-monorepo/apps/web-e2e/src/fixtures/base.fixture.ts` (line 75)

Extended test with custom fixtures



# TestFixtures

**Kind:** Type

**Source:** `atloria-monorepo/apps/web-e2e/src/fixtures/base.fixture.ts` (line 25)

Extended test fixtures for Atloria E2E tests

## Definition

```ts
{
  /**
   * Authenticated page - user is logged in
   */
  authenticatedPage: Page;

  /**
   * Run accessibility checks on the page
   */
  checkAccessibility: (page: Page, options?: AccessibilityOptions) => Promise;

  /**
   * Test user credentials
   */
  testUser: TestUser;

  /**
   * S…
```



# User

**Kind:** Type

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/openapi.yaml` (line 1)

## Properties

| Property | Type |
|---|---|
| `id` | `string` |
| `email` | `string` |
| `name` | `string` |
| `role` | `string` |
| `createdAt` | `string` |

## Referenced By

- `createUser` (REFERENCES)
- `updateUser` (REFERENCES)
- `User Management API` (TYPE_OF)
- `UserWithProfile` (EXTENDS)
- `AuthResponse` (TYPE_OF)



# UsersController

**Kind:** Controller

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/src/users/users.controller.ts` (line 29)

## Relationships

- MODULE_DECLARES → `findAll`
- MODULE_DECLARES → `findOne`
- MODULE_DECLARES → `create`
- MODULE_DECLARES → `update`
- MODULE_DECLARES → `remove`
- MODULE_DECLARES → `getUserPosts`
- MODULE_DECLARES → `getFollowers`
- DEPENDS_ON → `usersservice`



# $createDirectiveNode

**Kind:** Function

**Source:** `atloria-monorepo/packages/editor/src/plugins/directives/DirectiveNode.tsx` (line 147)

## Signature

```ts
function $createDirectiveNode(mdastNode: Directives, key: NodeKey): DirectiveNode
```

## Parameters

| Name | Type |
|---|---|
| `mdastNode` | `Directives` |
| `key` | `NodeKey` |

**Returns:** `DirectiveNode`



# activeEditorSubscriptions$

**Kind:** Constant

**Source:** `atloria-monorepo/packages/editor/src/plugins/core/index.ts` (line 464)



# AddCardsDto

**Kind:** Class

**Source:** `atloria-monorepo/apps/api/src/boards/dto/card.dto.ts` (line 3)

## Properties

| Property | Type |
|---|---|
| `issueIds` | `string[]` |
| `columnId` | `string` |



# AgentAnalyticsService

**Kind:** Service

**Source:** `atloria-monorepo/apps/api/src/events/agent-analytics.service.ts` (line 28)

## Methods

| Method | Signature | Returns |
|---|---|---|
| `agentTraffic` | `agentTraffic(projectId: string, organizationId: string, days: unknown)` | `Promise` |

## Relationships

- DEPENDS_ON → `prismaservice`



# AgentContextResult

**Kind:** Interface

**Source:** `atloria-monorepo/packages/doc-automation/src/v2/stages/stage-10-generation/agent-context.service.ts` (line 36)

## Properties

| Property | Type |
|---|---|
| `documentId` | `string` |
| `contextSummary` | `string` |
| `userWorkflow` | `string` |
| `uiElements` | `string[]` |
| `validations` | `string[]` |
| `errorStates` | `string[]` |
| `relatedFeatures` | `string[]` |



# AgentController

**Kind:** Controller

**Source:** `atloria-monorepo/apps/api/src/agent/agent.controller.ts` (line 12)

## Relationships

- MODULE_DECLARES → `getStatus`
- DEPENDS_ON → `agentservice`



# AgentDefinition

**Kind:** Interface

**Source:** `atloria-monorepo/libs/agent-core/src/plugins/plugin-types.ts` (line 62)

A sub-agent definition contributed by a plugin.

Each `.md` file in a plugin's `agents/` directory produces one
AgentDefinition.

## Properties

| Property | Type |
|---|---|
| `name` | `string` |
| `description` | `string` |
| `instructions` | `string` |
| `tools` | `string[]` |
| `model` | `string` |



# AgentErrorEvent

**Kind:** Interface

**Source:** `atloria-monorepo/apps/api/src/agent/agent.types.ts` (line 139)

## Properties

| Property | Type |
|---|---|
| `message` | `string` |
| `recoverable` | `boolean` |



# AgentInputItem

**Kind:** Type

**Source:** `atloria-monorepo/libs/agent-core/src/runtime/types.ts` (line 246)

Opaque SDK input item — domain layers pass these through without interpreting.
The actual type is determined by the underlying SDK.

## Definition

```ts
unknown
```



# AgentSession

**Kind:** Class

**Source:** `atloria-monorepo/libs/agent-core/src/session/agent-session.ts` (line 80)

Interactive agent session.

Usage:
```typescript
const session = new AgentSession(runtime, agentConfig, { maxTurns: 30 });
session.on('tool_start', (e) => console.log(`Using ${e.toolName}...`));
session.on('agent_message', (e) => console.log(e.text));

const result = await session.send('Build a login page');
const result2 = await session.send('Add password validation');
```

**Extends:** `EventEmitter`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `on` | `on(event: K, listener: (data: SessionEventMap[K]) => void)` | `this` |
| `off` | `off(event: K, listener: (data: SessionEventMap[K]) => void)` | `this` |
| `emit` | `emit(event: K, data: SessionEventMap[K])` | `boolean` |
| `send` | `send(message: string)` | `Promise` |
| `inject` | `inject(message: string)` | `void` |
| `cancel` | `cancel()` | `void` |
| `getState` | `getState()` | `SessionState` |
| `getHistory` | `getHistory()` | `AgentHistoryItem[]` |
| `getUsage` | `getUsage()` | `TokenUsage` |
| `getSendCount` | `getSendCount()` | `number` |
| `getTurnCount` | `getTurnCount()` | `number` |
| `getSnapshot` | `getSnapshot()` | `{ conversationHistory: AgentHistoryItem[]; sdkHistory: unknown[] }` |
| `loadHistory` | `loadHistory(conversationHistory: AgentHistoryItem[], sdkHistory: unknown[])` | `void` |
| `end` | `end()` | `void` |
| `setVerbose` | `setVerbose(enabled: boolean)` | `void` |
| `isVerbose` | `isVerbose()` | `boolean` |
| `isPlanMode` | `isPlanMode()` | `boolean` |
| `getActiveModel` | `getActiveModel()` | `string | undefined` |
| `approvePlan` | `approvePlan(feedback: string)` | `Promise` |
| `revisePlan` | `revisePlan(feedback: string)` | `Promise` |
| `fork` | `fork(branchName: string)` | `AgentSession` |



# AIModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/api/src/ai/ai.module.ts` (line 20)

## Relationships

- MODULE_IMPORTS → `databasemodule`
- MODULE_IMPORTS → `authmodule`
- MODULE_IMPORTS → `configmodule`
- MODULE_DECLARES → `aicontroller`
- MODULE_PROVIDES → `aiservice`
- MODULE_PROVIDES → `aiusageservice`
- MODULE_PROVIDES → `azureclaudeprovider`
- MODULE_PROVIDES → `azureopenaiprovider`
- MODULE_PROVIDES → `ratelimitguard`
- MODULE_PROVIDES → `filecontextservice`
- MODULE_PROVIDES → `codeanalysisservice`
- MODULE_PROVIDES → `uianalyzerservice`
- MODULE_PROVIDES → `playwrightgeneratorservice`
- MODULE_PROVIDES → `businesscontextparserservice`
- MODULE_EXPORTS → `aiservice`
- MODULE_EXPORTS → `aiusageservice`
- MODULE_EXPORTS → `azureclaudeprovider`
- MODULE_EXPORTS → `azureopenaiprovider`
- MODULE_EXPORTS → `filecontextservice`
- MODULE_EXPORTS → `codeanalysisservice`
- MODULE_EXPORTS → `uianalyzerservice`
- MODULE_EXPORTS → `playwrightgeneratorservice`
- MODULE_EXPORTS → `businesscontextparserservice`



# AIRequestLog

**Kind:** Interface

**Source:** `atloria-monorepo/apps/web/src/types/ai.ts` (line 42)

## Properties

| Property | Type |
|---|---|
| `id` | `string` |
| `timestamp` | `Date` |
| `provider` | `AIProviderName` |
| `operation` | `'enhance' | 'outline' | 'improve' | 'summarize' | 'complete'` |
| `status` | `'success' | 'error' | 'pending'` |
| `tokensUsed` | `number` |
| `duration` | `number` |
| `errorMessage` | `string` |



# AnalyticsProvider

**Kind:** Type

**Source:** `atloria-monorepo/templates/site-bootstrap/src/lib/analytics.ts` (line 8)

Analytics Engine

Config-driven analytics — supports Azure Application Insights (default),
Google Analytics 4, and Meta Pixel. No tracking until cookie consent.

## Definition

```ts
| 'azure-app-insights'
  | 'google-analytics'
  | 'meta-pixel'
  | 'none'
```



# AnalyzerService

**Kind:** Service

**Source:** `atloria-monorepo/packages/doc-automation/src/v2/stages/stage-04-analysis/analyzer.service.ts` (line 1)



# analyzeStateMachine

**Kind:** Function

**Source:** `atloria-monorepo/libs/parser-core/src/utils/state-machine-analyzer.ts` (line 225)

Analyze complete state machine from code

Combines enum parsing and transition extraction to build a complete
state machine definition.

## Signature

```ts
function analyzeStateMachine(code: string, enumName: string, filePath: string): StateMachine
```

## Parameters

| Name | Type |
|---|---|
| `code` | `string` |
| `enumName` | `string` |
| `filePath` | `string` |

**Returns:** `StateMachine`



# AngularSelectorExtractor

**Kind:** Class

**Source:** `atloria-monorepo/packages/doc-automation/src/v2/stages/stage-01-parse/detectors/angular-selector-extractor.ts` (line 18)

Angular Selector Extractor

## Methods

| Method | Signature | Returns |
|---|---|---|
| `extractFromTemplate` | `extractFromTemplate(template: string)` | `ExtractedSelectors` |



# apiDocumentationTemplate

**Kind:** Constant

**Source:** `atloria-monorepo/apps/api/src/template/seeds/api-documentation.template.ts` (line 3)



# APIFlow

**Kind:** Interface

**Source:** `atloria-monorepo/libs/parser-core/src/interfaces/relationship.interface.ts` (line 406)

API flow showing component → API → service → model chain

## Properties

| Property | Type |
|---|---|
| `endpoint` | `{
    id: string;
    name: string;
    path: string;
    method: string;
  }` |
| `callers` | `Array<{
    id: string;
    name: string;
    type: string;
    filePath: string;
  }>` |
| `services` | `Array<{
    id: string;
    name: string;
    filePath: string;
  }>` |
| `models` | `Array<{
    id: string;
    name: string;
    tableName: string;
  }>` |
| `relationships` | `Relationship[]` |



# AppConfig

**Kind:** Interface

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/interfaces/config.interface.ts` (line 14)

Configuration Interfaces

Defines configuration types for the parser orchestrator system.

## Properties

| Property | Type |
|---|---|
| `port` | `number` |
| `host` | `string` |
| `environment` | `'development' | 'staging' | 'production'` |
| `debug` | `boolean` |
| `logLevel` | `'debug' | 'info' | 'warn' | 'error'` |



# AppService

**Kind:** Service

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/app.service.ts` (line 4)

## Methods

| Method | Signature | Returns |
|---|---|---|
| `getHealth` | `getHealth()` | `unknown` |
| `getInfo` | `getInfo()` | `unknown` |

## Relationships

- DEPENDS_ON → `storageservice`



# AssemblyResult

**Kind:** Interface

**Source:** `atloria-monorepo/libs/site-gen-core/src/assembler/types.ts` (line 98)

## Properties

| Property | Type |
|---|---|
| `success` | `boolean` |
| `outputDir` | `string` |
| `filesWritten` | `string[]` |
| `errors` | `Array<{ stage: AssemblyStage; message: string; context?: Record }>` |
| `warnings` | `string[]` |
| `durationMs` | `number` |



# audienceSlugToScope

**Kind:** Function

**Source:** `atloria-monorepo/apps/api/src/project/audience-scope.util.ts` (line 21)

Map a public audience slug to its doc-set scope.
'api' → 'api' (styled API reference set); 'technical' | 'developer' → 'technical'
(code/entity reference); everything else → 'user' (end-user manual).

## Signature

```ts
function audienceSlugToScope(audienceSlug: string | null): DocAudienceScope
```

## Parameters

| Name | Type |
|---|---|
| `audienceSlug` | `string | null` |

**Returns:** `DocAudienceScope`



# AuthDiagnostics

**Kind:** Interface

**Source:** `atloria-monorepo/apps/cli/src/utils/ai-auth-debugger.ts` (line 25)

## Properties

| Property | Type |
|---|---|
| `phase` | `string` |
| `timestamp` | `number` |
| `screenshots` | `string[]` |
| `pageState` | `{
    url: string;
    title: string;
    hasLoginForm: boolean;
    hasPasswordField: boolean;
    errors: string[];
    alerts: Array<{ text: string; role: string }>;
    formInputsFilled: number;
    localStorageKeys: string[];
    cookieCount: number;
    pendingRequests: number;
  }` |
| `attemptLog` | `Array<{
    action: string;
    method: string;
    success: boolean;
    error?: string;
  }>` |



# authenticateWithAI

**Kind:** Function

**Source:** `atloria-monorepo/apps/cli/src/utils/ai-auth-debugger.ts` (line 274)

Main entry point: AI-driven authentication with automatic debugging

## Signature

```ts
async function authenticateWithAI(page: any, _context: any, config: AuthConfig, maxRetries: number): Promise<{
  success: boolean;
  diagnostics: AuthDiagnostics[];
  aiAnalysis?: any;
}>
```

## Parameters

| Name | Type |
|---|---|
| `page` | `any` |
| `_context` | `any` |
| `config` | `AuthConfig` |
| `maxRetries` | `number` |

**Returns:** `Promise<{
  success: boolean;
  diagnostics: AuthDiagnostics[];
  aiAnalysis?: any;
}>`



# authOptions

**Kind:** Constant

**Source:** `atloria-monorepo/apps/web/src/lib/auth.ts` (line 93)

NextAuth configuration

## Definition

```ts
NextAuthOptions
```



# azureRuntimeConfig

**Kind:** Function

**Source:** `atloria-monorepo/libs/agent-core/src/runtime/runtime-config.ts` (line 79)

Helper: create a RuntimeConfig with defaults for Azure GPT-5.4.
Uses DEFAULT_LOOP_ENGINE (env-switchable).

## Signature

```ts
function azureRuntimeConfig(azureConfig: AzureModelProviderConfig): RuntimeConfig
```

## Parameters

| Name | Type |
|---|---|
| `azureConfig` | `AzureModelProviderConfig` |

**Returns:** `RuntimeConfig`



# baseLang

**Kind:** Function

**Source:** `atloria-monorepo/apps/web/src/app/p/[slugId]/components/uiStrings.ts` (line 522)

Normalize a language code ('ar', 'ar-SA', 'AR') to its base lowercase form.

## Signature

```ts
function baseLang(lang: string | null): string
```

## Parameters

| Name | Type |
|---|---|
| `lang` | `string | null` |

**Returns:** `string`



# BatchRequestBuilder

**Kind:** Class

**Source:** `atloria-monorepo/apps/screenshot-worker/test/helpers/batch-builder.ts` (line 19)

Builder for constructing test batch screenshot requests

Usage:
  const batch = new BatchRequestBuilder()
    .withProjectId('test-project')
    .withScreenshot({ url: 'http://localhost:3000', description: 'Test' })
    .build();

## Methods

| Method | Signature | Returns |
|---|---|---|
| `withProjectId` | `withProjectId(projectId: string)` | `this` |
| `withOrganizationId` | `withOrganizationId(organizationId: string)` | `this` |
| `withCapturedBy` | `withCapturedBy(capturedBy: string)` | `this` |
| `withName` | `withName(name: string)` | `this` |
| `withDescription` | `withDescription(description: string)` | `this` |
| `withConfig` | `withConfig(config: Partial)` | `this` |
| `withAuth` | `withAuth(auth: Partial)` | `this` |
| `withScreenshot` | `withScreenshot(screenshot: Partial)` | `this` |
| `withScreenshots` | `withScreenshots(screenshots: Partial[])` | `this` |
| `build` | `build()` | `TakeBatchScreenshotsDto` |



# BatchTask

**Kind:** Interface

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/services/batch-screenshot.service.ts` (line 33)

Task representation for parallel execution

## Properties

| Property | Type |
|---|---|
| `index` | `number` |
| `item` | `BatchScreenshotItemDto` |
| `priority` | `number` |



# BoardTemplate

**Kind:** Type

**Source:** `atloria-monorepo/apps/api/src/boards/dto/create-board.dto.ts` (line 3)

## Definition

```ts
'default' | 'simple' | 'empty'
```



# BrowserType

**Kind:** Type

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/playwright/playwright.service.ts` (line 4)

## Definition

```ts
'chromium' | 'firefox' | 'webkit'
```



# buildCopywriterSystemPrompt

**Kind:** Function

**Source:** `atloria-monorepo/libs/pme-core/src/prompts/copywriter.prompts.ts` (line 20)

System prompt for the copywriter agent.
Establishes tone, constraints, and self-critique loop.

## Signature

```ts
function buildCopywriterSystemPrompt(config: GenerationConfig): string
```

## Parameters

| Name | Type |
|---|---|
| `config` | `GenerationConfig` |

**Returns:** `string`



# checkAriaLabels

**Kind:** Function

**Source:** `atloria-monorepo/apps/web-e2e/src/utils/accessibility.ts` (line 259)

Check ARIA labels

## Signature

```ts
async function checkAriaLabels(page: Page): Promise<{
  elementsWithoutLabels: string[];
  elementsWithLabels: number;
}>
```

## Parameters

| Name | Type |
|---|---|
| `page` | `Page` |

**Returns:** `Promise<{
  elementsWithoutLabels: string[];
  elementsWithLabels: number;
}>`



# Code

**Kind:** Component

**Source:** `atloria-monorepo/apps/web/src/app/app/projects/[id]/technical-docs/entity/[entityId]/page.tsx` (line 51)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `children` | `unknown` | ✓ | - |

## Diagram

```mermaid
graph TD
    component_Code_5a818399["Code"]
    class component_Code_5a818399 rootComponent
```

## Referenced By

- `MethodsTable` (RENDERS)
- `FieldsTable` (RENDERS)
- `EntityDetailPage` (RENDERS)



# Comment

**Kind:** Graphql Type

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

Comment on a post

## Relationships

- TYPE_OF → `User`
- TYPE_OF → `Post`
- TYPE_OF → `Comment`
- TYPE_OF → `Comment`
- TYPE_OF → `DateTime`
- TYPE_OF → `DateTime`

## Referenced By

- `addComment` (TYPE_OF)
- `newComment` (TYPE_OF)
- `Post` (TYPE_OF)
- `Comment` (TYPE_OF)
- `Comment` (TYPE_OF)



# CommentSidebarPage

**Kind:** Class

**Source:** `atloria-monorepo/apps/web-e2e/src/pages/comments.page.ts` (line 7)

Comment sidebar page object

**Extends:** `BasePage`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `goto` | `goto()` | `Promise` |
| `isVisible` | `isVisible()` | `Promise` |
| `waitForLoad` | `waitForLoad()` | `Promise` |
| `getCommentThreads` | `getCommentThreads()` | `Locator` |
| `getCommentByContent` | `getCommentByContent(content: string)` | `Locator` |
| `getCommentCount` | `getCommentCount()` | `Promise` |
| `addComment` | `addComment(content: string)` | `Promise` |
| `replyToComment` | `replyToComment(commentContent: string, replyContent: string)` | `Promise` |
| `resolveComment` | `resolveComment(commentContent: string)` | `Promise` |
| `unresolveComment` | `unresolveComment(commentContent: string)` | `Promise` |
| `deleteComment` | `deleteComment(commentContent: string)` | `Promise` |
| `isCommentResolved` | `isCommentResolved(commentContent: string)` | `Promise` |
| `getActiveCommentCount` | `getActiveCommentCount()` | `Promise` |
| `getResolvedCommentCount` | `getResolvedCommentCount()` | `Promise` |
| `hasNoComments` | `hasNoComments()` | `Promise` |
| `addCommentWithMention` | `addCommentWithMention(content: string, mentionUsername: string)` | `Promise` |
| `getReplies` | `getReplies(commentContent: string)` | `Locator` |
| `getReplyCount` | `getReplyCount(commentContent: string)` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `sidebar` | `Locator` |
| `header` | `Locator` |
| `commentList` | `Locator` |
| `newCommentForm` | `Locator` |
| `commentInput` | `Locator` |
| `submitButton` | `Locator` |
| `emptyState` | `Locator` |
| `activeCount` | `Locator` |
| `resolvedCount` | `Locator` |
| `loadingSpinner` | `Locator` |



# ConfigFormat

**Kind:** Type

**Source:** `atloria-monorepo/libs/parser-core/src/storybook/types.ts` (line 14)

Configuration format detected

## Definition

```ts
'storybook' | 'ladle' | 'atloria' | 'none'
```



# ConnectionStatus

**Kind:** Type

**Source:** `atloria-monorepo/apps/web/src/hooks/useCollaboration.ts` (line 59)

Connection status for the collaboration session

## Definition

```ts
'connecting' | 'connected' | 'disconnected' | 'error'
```



# ContentSafetyConfig

**Kind:** Interface

**Source:** `atloria-monorepo/libs/pme-core/src/guardrails/content-safety.guardrail.ts` (line 43)

## Properties

| Property | Type |
|---|---|
| `checkFabricatedStats` | `boolean` |
| `checkDefamation` | `boolean` |
| `checkLegalClaims` | `boolean` |
| `checkFakeTestimonials` | `boolean` |



# copySections

**Kind:** Function

**Source:** `atloria-monorepo/libs/site-gen-core/src/assembler/copy.ts` (line 35)

Copy selected section .tsx files and their shared component dependencies
to the output directory.

## Signature

```ts
async function copySections(resolvedSections: ManifestSection[], componentLibraryDir: string, outputDir: string): Promise
```

## Parameters

| Name | Type |
|---|---|
| `resolvedSections` | `ManifestSection[]` |
| `componentLibraryDir` | `string` |
| `outputDir` | `string` |

**Returns:** `Promise`



# create

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/api/src/suggestion/suggestion.controller.ts` (line 101)

## Endpoint

`POST /suggestions`

## Referenced By

- `SuggestionController` (MODULE_DECLARES)
- `SuggestionAliasController` (MODULE_DECLARES)



# createAuthenticatedBatch

**Kind:** Function

**Source:** `atloria-monorepo/apps/screenshot-worker/test/helpers/batch-builder.ts` (line 323)

Helper function to create an authenticated batch request

## Signature

```ts
function createAuthenticatedBatch(urls: string[], auth: {
    loginUrl: string;
    username: string;
    password: string;
    usernameSelector?: string;
    passwordSelector?: string;
    submitSelector?: string;
  }, options: {
    projectId?: string;
    organizationId?: string;
  }): TakeBatchScreenshotsDto
```

## Parameters

| Name | Type |
|---|---|
| `urls` | `string[]` |
| `auth` | `{
    loginUrl: string;
    username: string;
    password: string;
    usernameSelector?: string;
    passwordSelector?: string;
    submitSelector?: string;
  }` |
| `options` | `{
    projectId?: string;
    organizationId?: string;
  }` |

**Returns:** `TakeBatchScreenshotsDto`



# createMockParser

**Kind:** Function

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/integration/helpers/test-utils.ts` (line 92)

Create a mock parser for testing

## Signature

```ts
function createMockParser(name: string, patterns: string[], parseResult: Partial): IParser
```

## Parameters

| Name | Type |
|---|---|
| `name` | `string` |
| `patterns` | `string[]` |
| `parseResult` | `Partial` |

**Returns:** `IParser`



# createUser

**Kind:** Graphql Mutation

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

Create a new user

## Relationships

- TYPE_OF → `User`
- TYPE_OF → `CreateUserInput`

## Referenced By

- `Mutation` (CALLS_API)



# createUser

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/openapi.yaml` (line 1)

Create a new user

## Endpoint

`POST /users`

## Relationships

- REFERENCES → `CreateUser`
- REFERENCES → `User`
- REFERENCES → `Error`
- REFERENCES → `Error`

## Referenced By

- `User Management API` (IMPLEMENTS_API)



# DEFAULT_BLOCKED_PATTERNS

**Kind:** Constant

**Source:** `atloria-monorepo/libs/agent-core/src/tools/bash.tool.ts` (line 55)

## Definition

```ts
RegExp[]
```



# DEFAULT_RETRY_CONFIG

**Kind:** Constant

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/services/retry-handler.service.ts` (line 22)

Default retry configuration

## Definition

```ts
RetryConfig
```



# DiffChangeType

**Kind:** Enum

**Source:** `atloria-monorepo/apps/api/src/document/dto/compare-document.dto.ts` (line 44)

Diff change types emitted by the document comparison service.

NOTE: `MODIFIED` is retained for backward compatibility with older clients
but is no longer produced by `calculateTextDiff`. The new LCS-based diff
emits every edited line as a paired `REMOVED` + `ADDED` entry so the old
and new content are both preserved on the response.

## Values

- `ADDED`
- `REMOVED`
- `UNCHANGED`
- `MODIFIED`



# DiscoveryController

**Kind:** Controller

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/discovery/discovery.controller.ts` (line 5)

## Relationships

- MODULE_DECLARES → `scan`
- DEPENDS_ON → `discoveryservice`



# DjangoParser

**Kind:** Class

**Source:** `atloria-monorepo/libs/parser-core/src/parsers/backend/django.parser.ts` (line 48)

Django REST Framework Parser implementation

**Implements:** `IParser`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `initialize` | `initialize(config: ParserConfig)` | `Promise` |
| `canParse` | `canParse(filePath: string)` | `boolean` |
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |
| `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` |
| `destroy` | `destroy()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `any` |
| `version` | `any` |
| `supportedPatterns` | `any` |



# DocSearchFn

**Kind:** Type

**Source:** `atloria-monorepo/libs/pme-core/src/tools/query-docs.tool.ts` (line 15)

Search function signature — matches AzureSearchService.search() shape.
Injected at tool creation time.

## Definition

```ts
(
  query: string,
  projectId: string,
  maxResults?: number
) => Promise
```



# DocumentState

**Kind:** Enum

**Source:** `atloria-monorepo/packages/types/src/enums/index.ts` (line 55)

Document state tracks the lifecycle stage of a document

## Values

- `DRAFT`
- `REVIEW`
- `PUBLISHED`
- `OUTDATED`



# EntityType

**Kind:** Enum

**Source:** `atloria-monorepo/libs/parser-core/src/interfaces/entity.interface.ts` (line 16)

Entity types that can be discovered by parsers

## Values

- `COMPONENT`
- `HOOK`
- `PAGE`
- `LAYOUT`
- `ROUTE`
- `CONTEXT`
- `PROVIDER`
- `STORE`
- `STATE_ACTION`
- `STATE_REDUCER`
- `STATE_SELECTOR`
- `STATE_MIDDLEWARE`
- `STATE_EFFECT`
- `STATE_STORE`
- `CONTROLLER`
- `SERVICE`
- `REPOSITORY`
- `MIDDLEWARE`
- `GUARD`
- `INTERCEPTOR`
- `PIPE`
- `MODULE`
- `EVENT_HANDLER`
- `JOB_PROCESSOR`
- `API_ENDPOINT`
- `GRAPHQL_QUERY`
- `GRAPHQL_MUTATION`
- `GRAPHQL_SUBSCRIPTION`
- `GRAPHQL_TYPE`
- `RPC_METHOD`
- `WEBSOCKET_ENDPOINT`
- `DATABASE_MODEL`
- `DATABASE_MIGRATION`
- `DATABASE_SEED`
- `DATABASE_VIEW`
- `DATABASE_PROCEDURE`
- `DOCKER_SERVICE`
- `K8S_DEPLOYMENT`
- `K8S_SERVICE`
- `K8S_CONFIGMAP`
- `TERRAFORM_RESOURCE`
- `CI_WORKFLOW`
- `MARKDOWN_DOC`
- `API_SCHEMA`
- `DOC_COMMENT`
- `ENV_VARIABLE`
- `CONFIG_FILE`
- `FEATURE_FLAG`
- `CLASS`
- `FUNCTION`



# Error

**Kind:** Type

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/openapi.yaml` (line 1)

## Properties

| Property | Type |
|---|---|
| `statusCode` | `integer` |
| `message` | `string` |
| `error` | `string` |

## Referenced By

- `createUser` (REFERENCES)
- `createUser` (REFERENCES)
- `getUserById` (REFERENCES)
- `User Management API` (TYPE_OF)



# extractDefaultValue

**Kind:** Function

**Source:** `atloria-monorepo/apps/frontend-parser/src/utils/ast-helpers.ts` (line 258)

Extract default value as a string representation

## Signature

```ts
function extractDefaultValue(node: t.Node): string
```

## Parameters

| Name | Type |
|---|---|
| `node` | `t.Node` |

**Returns:** `string`



# FastAPIParser

**Kind:** Class

**Source:** `atloria-monorepo/apps/backend-parser/src/parsers/fastapi.parser.ts` (line 41)

FastAPI Parser implementation

Uses regex-based parsing for Python files since we can't use Python AST directly in Node.js

**Implements:** `IParser`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `initialize` | `initialize(config: ParserConfig)` | `Promise` |
| `canParse` | `canParse(filePath: string)` | `boolean` |
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |
| `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` |
| `destroy` | `destroy()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `any` |
| `version` | `any` |
| `supportedPatterns` | `any` |



# FetchCategoriesFn

**Kind:** Type

**Source:** `atloria-monorepo/libs/site-gen-core/src/assembler/tools/query-product-knowledge.tool.ts` (line 43)

Fetch the document category tree for a project.

## Definition

```ts
(
  projectId: string,
) => Promise
```



# FileSystemProvider

**Kind:** Class

**Source:** `atloria-monorepo/apps/cli/src/providers/filesystem.provider.ts` (line 19)

File system data provider
Reads from local JSON files in outputDir

**Implements:** `DataProvider`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `initialize` | `initialize(config: DataProviderConfig)` | `Promise` |
| `getProjectMetadata` | `getProjectMetadata()` | `Promise` |
| `getEntities` | `getEntities()` | `Promise` |
| `getEntitiesByType` | `getEntitiesByType(type: string)` | `Promise` |
| `getEntityById` | `getEntityById(id: string)` | `Promise` |
| `getRelationships` | `getRelationships()` | `Promise` |
| `getRelationshipsForEntity` | `getRelationshipsForEntity(entityId: string)` | `Promise` |
| `saveParseResults` | `saveParseResults(results: ParseResult[], project: DetectedProject)` | `Promise` |
| `destroy` | `destroy()` | `Promise` |



# generateRelationshipId

**Kind:** Function

**Source:** `atloria-monorepo/apps/database-parser/src/utils/hash.util.ts` (line 35)

Generate a relationship ID

## Signature

```ts
function generateRelationshipId(sourceId: string, type: string, targetId: string): string
```

## Parameters

| Name | Type |
|---|---|
| `sourceId` | `string` |
| `type` | `string` |
| `targetId` | `string` |

**Returns:** `string`



# getHealth

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/app.controller.ts` (line 11)

Health check endpoint

## Endpoint

`GET /`

## Referenced By

- `AppController` (MODULE_DECLARES)



# getJobStatus

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/code-analyzer/src/app/analysis/analysis.controller.ts` (line 62)

Get analysis job status

GET /api/analysis/:jobId

Returns:
{
  "id": "uuid",
  "status": "analyzing" | "completed" | "failed",
  "progress": 75,
  "repoUrl": "...",
  "branch": "main",
  "folderPath": "packages/frontend",
  "framework": "react",
  "routesFound": 25,
  "componentsFound": 150,
  "modalsFound": 12,
  "createdAt": "2024-01-01T00:00:00Z",
  "completedAt": "2024-01-01T00:05:00Z"
}

## Endpoint

`GET /analysis/:jobId`

| Parameter | In | Type | Required |
|---|---|---|---|
| `jobId` | query | `string` | ✓ |

## Referenced By

- `AnalysisController` (MODULE_DECLARES)



# getTenantContext

**Kind:** Function

**Source:** `atloria-monorepo/libs/database/src/lib/tenant-context.ts` (line 35)

The current request's tenant context, or undefined when running outside a request (system).

## Signature

```ts
function getTenantContext(): TenantContext | undefined
```

**Returns:** `TenantContext | undefined`



# GitModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/code-analyzer/src/app/git/git.module.ts` (line 4)

## Relationships

- MODULE_PROVIDES → `gitservice`
- MODULE_EXPORTS → `gitservice`



# GitService

**Kind:** Service

**Source:** `atloria-monorepo/apps/code-analyzer/src/app/git/git.service.ts` (line 35)

Git service for cloning repositories with mono-repo support

Features:
- Shallow clones for speed (depth=1 by default)
- Support for specific branches
- Mono-repo folder path support
- Automatic cleanup of old clones
- Git authentication via tokens (for private repos)

`GitService` is a NestJS backend service responsible for cloning Git repositories to a local workspace for analysis, with built-in support for mono-repo subfolder targeting. It optimizes cloning via shallow clones (default `depth=1`), supports selecting specific branches, and handles authentication for private repositories via tokens. It also manages lifecycle concerns like cleaning up old clones to keep disk usage under control.

## Methods

| Method | Signature | Returns |
|---|---|---|
| `clone` | `clone(options: CloneOptions)` | `Promise` |
| `cleanup` | `cleanup(clonePath: string)` | `Promise` |
| `cleanupOld` | `cleanupOld()` | `Promise` |
| `checkGitInstalled` | `checkGitInstalled()` | `Promise` |

## Diagram

```mermaid
sequenceDiagram
  autonumber
  actor Caller as Analyzer/Controller
  participant GitService as GitService
  participant FS as Local FS
  participant Git as Git CLI/Library
  participant Cleanup as Cleanup Job

  Caller->>GitService: clone({ repoUrl, branch?, token?, depth=1, monoRepoPath? })
  GitService->>Cleanup: cleanupOldClones()
  Cleanup->>FS: delete stale clone dirs
  GitService->>Git: git clone --depth=1 (--branch )  
  alt Private repo (token provided)
    GitService->>Git: inject auth (token in URL/headers)
  end
  Git->>FS: write working tree to 
  alt monoRepoPath provided
    GitService->>FS: resolve /
    GitService-->>Caller: return path to mono-repo subfolder
  else
    GitService-->>Caller: return path to repo root
  end
```

## Usage

```ts
import { Injectable } from '@nestjs/common';
import { GitService } from './git.service';

@Injectable()
export class RepoAnalysisService {
  constructor(private readonly git: GitService) {}

  async analyze() {
    const localPath = await this.git.clone({
      repoUrl: 'https://github.com/acme/atloria-monorepo.git',
      branch: 'main',
      depth: 1, // shallow clone for speed (default behavior)
      monoRepoPath: 'apps/code-analyzer', // optional: target subfolder within a mono-repo
      token: process.env.GITHUB_TOKEN, // optional: required for private repos
    });

    // Use localPath as the root for scanning/analysis
    // e.g., await this.scanner.scan(localPath);
    return { localPath };
  }
}
```

## AI Coding Instructions

- Prefer shallow clones (`depth=1`) unless the feature explicitly needs history; increasing depth can dramatically impact performance and disk usage.
- When adding auth changes, ensure tokens are never logged and are not written to disk (avoid persisting tokenized URLs in config files).
- Treat `monoRepoPath` as a resolved, validated subdirectory of the clone target to avoid path traversal or accidental analysis of the wrong folder.
- Keep cleanup idempotent and safe: only delete within the managed clones directory, and never remove user-provided paths outside that root.
- Integration point: callers should rely on the returned local path (repo root or mono-repo subfolder) and avoid assuming directory structure before `clone()` resolves it.



# KnowledgeGraphModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/knowledge-graph/kg.module.ts` (line 16)

## Relationships

- MODULE_IMPORTS → `configmodule`
- MODULE_PROVIDES → `knowledgegraphservice`
- MODULE_PROVIDES → `kgsyncservice`
- MODULE_EXPORTS → `knowledgegraphservice`
- MODULE_EXPORTS → `kgsyncservice`



# KnowledgeGraphService

**Kind:** Service

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/knowledge-graph/kg.service.ts` (line 24)

## Methods

| Method | Signature | Returns |
|---|---|---|
| `isConnected` | `isConnected()` | `boolean` |
| `onModuleInit` | `onModuleInit()` | `unknown` |
| `onModuleDestroy` | `onModuleDestroy()` | `unknown` |
| `upsertEntity` | `upsertEntity(entity: Entity)` | `Promise` |
| `upsertBatch` | `upsertBatch(entities: Entity[])` | `Promise` |
| `getEntity` | `getEntity(id: string)` | `Promise` |
| `getEntitiesByType` | `getEntitiesByType(type: EntityType, limit: unknown)` | `Promise` |
| `deleteEntity` | `deleteEntity(id: string)` | `Promise` |
| `createRelationship` | `createRelationship(relationship: Relationship)` | `Promise` |
| `createRelationshipsBatch` | `createRelationshipsBatch(relationships: Relationship[])` | `Promise` |
| `getRelationships` | `getRelationships(entityId: string)` | `Promise` |
| `deleteRelationship` | `deleteRelationship(relationshipId: string)` | `Promise` |
| `getComponentDependencies` | `getComponentDependencies(componentId: string, depth: unknown)` | `Promise` |
| `getAPIFlow` | `getAPIFlow(endpointId: string)` | `Promise` |
| `query` | `query(cypher: string, params: Record)` | `Promise` |
| `clearAll` | `clearAll()` | `Promise` |
| `getStatistics` | `getStatistics()` | `Promise<{
    totalNodes: number;
    totalRelationships: number;
    nodesByLabel: Record;
    relationshipsByType: Record;
  }>` |

## Relationships

- DEPENDS_ON → `configservice`



# KNOWN_PROJECTS

**Kind:** Constant

**Source:** `atloria-monorepo/apps/pme-agent/test/discovery/ground-truth.ts` (line 25)

## Definition

```ts
ProjectInfo[]
```



# MarkdownParser

**Kind:** Class

**Source:** `atloria-monorepo/apps/config-docs-parser/src/parsers/markdown.parser.ts` (line 62)

**Implements:** `IParser`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `initialize` | `initialize(config: ParserConfig)` | `Promise` |
| `canParse` | `canParse(filePath: string)` | `boolean` |
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |
| `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` |
| `destroy` | `destroy()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `any` |
| `version` | `any` |
| `supportedPatterns` | `any` |



# newPost

**Kind:** Graphql Subscription

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

Subscribe to new posts from followed users

## Relationships

- TYPE_OF → `Post`

## Referenced By

- `Subscription` (CALLS_API)



# OpenAPIParser

**Kind:** Class

**Source:** `atloria-monorepo/apps/api-schema-parser/src/parsers/openapi.parser.ts` (line 38)

OpenAPI Parser Implementation

Supports:
- OpenAPI 3.0.x and 3.1.x
- Swagger 2.0
- JSON and YAML formats

**Implements:** `IParser`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `initialize` | `initialize(config: ParserConfig)` | `Promise` |
| `canParse` | `canParse(filePath: string)` | `boolean` |
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |
| `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` |
| `destroy` | `destroy()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `any` |
| `version` | `any` |
| `supportedPatterns` | `any` |



# ParseProjectDto

**Kind:** Class

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/orchestrator/dto/parse-job.dto.ts` (line 75)

DTO for parsing an entire project

## Properties

| Property | Type |
|---|---|
| `rootDir` | `string` |
| `parsers` | `string[]` |
| `includePatterns` | `string[]` |
| `excludePatterns` | `string[]` |
| `incremental` | `boolean` |
| `maxFiles` | `number` |
| `parallel` | `boolean` |
| `metadata` | `Record` |



# PARSE_QUEUE_NAME

**Kind:** Constant

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/queue/constants.ts` (line 7)

Queue Constants



# ParserCategory

**Kind:** Enum

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/interfaces/parser.interface.ts` (line 118)

Parser category for grouping

## Values

- `FRONTEND`
- `BACKEND`
- `DATABASE`
- `API_SCHEMA`
- `CONFIG`
- `DOCUMENTATION`
- `INFRASTRUCTURE`



# PdfModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/pdf/pdf.module.ts` (line 6)

## Relationships

- MODULE_IMPORTS → `playwrightmodule`
- MODULE_DECLARES → `pdfcontroller`
- MODULE_PROVIDES → `pdfservice`
- MODULE_EXPORTS → `pdfservice`



# PerformanceMetrics

**Kind:** Interface

**Source:** `atloria-monorepo/apps/web-e2e/src/utils/performance.ts` (line 24)

Performance metrics result

## Properties

| Property | Type |
|---|---|
| `ttfb` | `number` |
| `fcp` | `number` |
| `domContentLoaded` | `number` |
| `load` | `number` |
| `lcp` | `number` |
| `cls` | `number` |
| `resourceCount` | `number` |
| `totalSize` | `number` |
| `jsHeapSize` | `number` |
| `domNodes` | `number` |



# PmeMetricsCollector

**Kind:** Class

**Source:** `atloria-monorepo/libs/pme-core/src/tracing/pme-metrics.ts` (line 33)

## Methods

| Method | Signature | Returns |
|---|---|---|
| `recordJob` | `recordJob(status: string)` | `void` |
| `recordQaScore` | `recordQaScore(sectionType: string, score: number)` | `void` |
| `recordVariantSelection` | `recordVariantSelection(variantKey: string)` | `void` |
| `recordGenerationTime` | `recordGenerationTime(durationMs: number)` | `void` |
| `recordSectionType` | `recordSectionType(sectionType: string)` | `void` |
| `recordTokenUsage` | `recordTokenUsage(inputTokens: number, outputTokens: number)` | `void` |
| `getMetrics` | `getMetrics()` | `PmeMetrics` |
| `toPrometheus` | `toPrometheus()` | `string` |



# PropInfo

**Kind:** Interface

**Source:** `atloria-monorepo/apps/frontend-parser/src/utils/ast-helpers.ts` (line 31)

Information about a prop definition

## Properties

| Property | Type |
|---|---|
| `name` | `string` |
| `type` | `string` |
| `required` | `boolean` |
| `defaultValue` | `string` |
| `description` | `string` |



# ReactParser

**Kind:** Class

**Source:** `atloria-monorepo/apps/frontend-parser/src/parsers/react.parser.ts` (line 76)

**Implements:** `IParser`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `initialize` | `initialize(config: ParserConfig)` | `Promise` |
| `canParse` | `canParse(filePath: string)` | `boolean` |
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |
| `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` |
| `destroy` | `destroy()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `string` |
| `version` | `string` |
| `supportedPatterns` | `string[]` |



# searchUsers

**Kind:** Graphql Query

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

Search users by name or email

## Relationships

- TYPE_OF → `User`

## Referenced By

- `Query` (CALLS_API)



# SequelizeParser

**Kind:** Class

**Source:** `atloria-monorepo/apps/database-parser/src/parsers/sequelize.parser.ts` (line 25)

**Implements:** `IParser`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `initialize` | `initialize(config: ParserConfig)` | `Promise` |
| `canParse` | `canParse(filePath: string)` | `boolean` |
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |
| `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` |
| `destroy` | `destroy()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `any` |
| `version` | `any` |
| `supportedPatterns` | `any` |



# StatCard

**Kind:** Component

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/frontend/src/components/StatCard.tsx` (line 15)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `label` | `any` | ✓ | - |
| `value` | `any` | ✓ | - |
| `icon` | `any` | ✓ | - |

## Diagram

```mermaid
graph TD
    component_StatCard_b56783e["StatCard"]
    class component_StatCard_b56783e rootComponent
```



# StepCard

**Kind:** Component

**Source:** `atloria-monorepo/libs/site-gen-core/src/component-library/sections/how-it-works/how-it-works-timeline.tsx` (line 20)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `step` | `Step` | ✓ | - |
| `t` | `Function` | ✓ | - |

## Diagram

```mermaid
graph TD
    component_StepCard_3fd6c6ab["StepCard"]
    class component_StepCard_3fd6c6ab rootComponent
```

## Relationships

- RENDERS → `Icon`

## Referenced By

- `HowItWorksTimeline` (RENDERS)



# TargetingTask

**Kind:** Interface

**Source:** `atloria-monorepo/apps/pme-agent/test/discovery/ground-truth.ts` (line 152)

## Properties

| Property | Type |
|---|---|
| `id` | `string` |
| `task` | `string` |
| `expectedProjects` | `string[]` |
| `expectedFiles` | `string[]` |
| `expectedKeywords` | `string[]` |



# terms

**Kind:** Page

**Source:** `atloria-monorepo/templates/site-bootstrap/src/App.tsx`



# THEME_PRESETS

**Kind:** Constant

**Source:** `atloria-monorepo/libs/pme-core/src/tools/theme.ts` (line 93)

## Definition

```ts
Record
```



# TreeItem

**Kind:** Component

**Source:** `atloria-monorepo/packages/ui-react/src/components/NavigationTree.tsx` (line 59)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `node` | `DocumentTreeNode` | ✓ | - |
| `level` | `number` | ✓ | - |
| `activeId` | `string` | - | - |
| `expandedIds` | `string[]` | ✓ | - |
| `onToggleExpand` | `Function` | ✓ | - |
| `onItemClick` | `Function` | - | - |
| `showStateIndicator` | `boolean` | - | - |
| `focusedId` | `string | null` | ✓ | - |
| `onFocusChange` | `Function` | ✓ | - |
| `onKeyDown` | `Function` | ✓ | - |
| `itemRefs` | `unknown` | ✓ | - |

## Diagram

```mermaid
graph TD
    component_TreeItem_636541b4["TreeItem"]
    class component_TreeItem_636541b4 rootComponent
```

## Relationships

- RENDERS → `TreeItem`
- USES_HOOK → `useCallback`

## Referenced By

- `TreeItem` (RENDERS)
- `NavigationTree` (RENDERS)



# WCAGLevel

**Kind:** Type

**Source:** `atloria-monorepo/apps/web-e2e/src/utils/accessibility.ts` (line 7)

WCAG conformance levels

## Definition

```ts
'A' | 'AA' | 'AAA'
```



# WEB_VITALS_THRESHOLDS

**Kind:** Constant

**Source:** `atloria-monorepo/apps/web-e2e/src/utils/performance.ts` (line 6)

Web Vitals thresholds (based on Google's guidelines)



# $createLexicalJsxNode

**Kind:** Function

**Source:** `atloria-monorepo/packages/editor/src/plugins/jsx/LexicalJsxNode.tsx` (line 144)

## Signature

```ts
function $createLexicalJsxNode(mdastNode: MdastJsx, importStatement: ImportStatement): LexicalJsxNode
```

## Parameters

| Name | Type |
|---|---|
| `mdastNode` | `MdastJsx` |
| `importStatement` | `ImportStatement` |

**Returns:** `LexicalJsxNode`



# activePlugins$

**Kind:** Constant

**Source:** `atloria-monorepo/packages/editor/src/plugins/core/index.ts` (line 911)

The names of the plugins that are currently active.



# AddMemberDto

**Kind:** Class

**Source:** `atloria-monorepo/apps/api/src/project/dto/add-member.dto.ts` (line 6)

## Properties

| Property | Type |
|---|---|
| `userId` | `string` |
| `role` | `UserRole` |



# AgentExecutionConfig

**Kind:** Interface

**Source:** `atloria-monorepo/apps/api/src/support-agent/agent-adapter.service.ts` (line 24)

## Properties

| Property | Type |
|---|---|
| `projectId` | `string` |
| `organizationId` | `string` |
| `projectName` | `string` |
| `agentName` | `string` |
| `systemPrompt` | `string` |
| `workspace` | `string` |
| `language` | `string` |
| `conversationHistory` | `Array<{ role: string; content: string }>` |



# AgentHistoryItem

**Kind:** Interface

**Source:** `atloria-monorepo/libs/agent-core/src/runtime/types.ts` (line 148)

## Properties

| Property | Type |
|---|---|
| `role` | `'user' | 'assistant' | 'tool'` |
| `content` | `string` |
| `agentName` | `string` |
| `toolName` | `string` |



# AgentProtocolEventHandler

**Kind:** Type

**Source:** `atloria-monorepo/libs/agent-core/src/protocol/agent-protocol.ts` (line 92)

Handler signature used by SessionEventBridge listeners

## Definition

```ts
(
  event: AgentProtocolEvent,
) => void
```



# AgentRegenService

**Kind:** Service

**Source:** `atloria-monorepo/apps/api/src/docs-pr/agent-regen.service.ts` (line 37)

Rung-2 — behavior-aware regeneration. For a change that alters BEHAVIOR without altering the
public signature (a new guard clause → 409, a changed default, a new error path) — which the
deterministic Rung-1 renderer can't see — an autonomous agent reads the actual changed code and
rewrites the page to reflect current behavior; a verifier then scores confidence.

Guardrails (this writes behavioral claims into real PRs, so it is conservative):
 - OFF by default (env `DOCS_PR_RUNG2` !== 'true') → returns null, caller uses Rung-1.
 - confidence below τ, empty output, or ANY error → returns null (fall back to Rung-1).
Mirrors the proven doc-automation agent-writer/verifier pattern (agent-core AgentSession).

NOT yet wired into the live docs-pr path — that needs Phase A (escalation trigger + a
clone at PR time) and the Phase C eval before turn-on. See docs/rung-2-investigate-spec.md.

`AgentRegenService` provides conservative, behavior-aware documentation regeneration for pull requests. When enabled, it uses an autonomous agent to inspect changed implementation code and rewrite documentation for behavior changes that deterministic rendering cannot detect, then validates the result with a confidence score. It returns `null` for disabled execution, low-confidence output, empty results, or errors so callers can safely fall back to the Rung-1 renderer.

## Methods

| Method | Signature | Returns |
|---|---|---|
| `regenerate` | `regenerate(input: AgentRegenInput, optedIn: unknown)` | `Promise` |

## Diagram

```mermaid
sequenceDiagram
  participant Caller as Docs PR Pipeline
  participant Regen as AgentRegenService
  participant Agent as AgentSession
  participant Verifier as Confidence Verifier
  participant Rung1 as Deterministic Rung-1 Renderer

  Caller->>Regen: regenerate(change context)
  Regen->>Regen: Check DOCS_PR_RUNG2

  alt Rung-2 disabled
    Regen-->>Caller: null
    Caller->>Rung1: Render deterministic documentation
  else Rung-2 enabled
    Regen->>Agent: Read changed code and rewrite page
    Agent-->>Regen: Proposed documentation

    alt Empty output or agent error
      Regen-->>Caller: null
      Caller->>Rung1: Render deterministic documentation
    else Documentation generated
      Regen->>Verifier: Score behavioral accuracy/confidence
      Verifier-->>Regen: Confidence score

      alt Confidence below threshold
        Regen-->>Caller: null
        Caller->>Rung1: Render deterministic documentation
      else Confidence accepted
        Regen-->>Caller: Regenerated documentation
      end
    end
  end
```

## Usage

```ts
import { AgentRegenService } from './agent-regen.service';

async function regenerateDocs(
  agentRegenService: AgentRegenService,
  changeContext: {
    existingPage: string;
    changedFiles: string[];
    diff: string;
  },
) {
  const rung2Page = await agentRegenService.regenerate(changeContext);

  // Rung-2 intentionally returns null when disabled, uncertain, or unsuccessful.
  if (rung2Page === null) {
    return renderWithRung1(changeContext);
  }

  return rung2Page;
}

function renderWithRung1(context: { existingPage: string }) {
  return context.existingPage;
}
```

## AI Coding Instructions

- Keep Rung-2 opt-in: preserve the `DOCS_PR_RUNG2 === 'true'` gate and treat all other values as disabled.
- Return `null` for every unsafe outcome, including agent failures, verifier failures, empty generated content, and confidence scores below the configured threshold.
- Do not let agent-generated documentation bypass verification; behavioral claims must be confidence-scored before they can be used in a PR.
- Callers must handle `null` as an expected result and fall back to the deterministic Rung-1 renderer.
- This service is not yet connected to the live docs-PR path; integrate it only after adding the Phase A escalation trigger/PR-time clone flow and completing the Phase C evaluation.

## Relationships

- DEPENDS_ON → `configservice`



# AgentScreenshotSpec

**Kind:** Interface

**Source:** `atloria-monorepo/packages/doc-automation/src/v2/stages/stage-12-screenshots/agent-screenshot-mapper.ts` (line 74)

Screenshot spec produced by agent analysis — ready for worker

## Properties

| Property | Type |
|---|---|
| `placeholderId` | `string` |
| `description` | `string` |
| `url` | `string` |
| `confidence` | `'exact' | 'inferred'` |
| `matchedRoute` | `string` |
| `actions` | `ScreenshotAction[]` |
| `waitForSelector` | `string` |
| `viewport` | `{ width: number; height: number }` |
| `stateType` | `'default' | 'hover' | 'modal' | 'error' | 'success'` |
| `category` | `string` |



# AIController

**Kind:** Controller

**Source:** `atloria-monorepo/apps/api/src/ai/ai.controller.ts` (line 29)

## Relationships

- MODULE_DECLARES → `usageLogs`
- MODULE_DECLARES → `enhance`
- MODULE_DECLARES → `generateOutline`
- MODULE_DECLARES → `improve`
- MODULE_DECLARES → `summarize`
- MODULE_DECLARES → `listProviders`
- DEPENDS_ON → `aiservice`
- DEPENDS_ON → `aiusageservice`



# AiderPolyglotAdapter

**Kind:** Class

**Source:** `atloria-monorepo/libs/agent-core/src/benchmark/aider-adapter.ts` (line 49)

**Implements:** `BenchmarkAdapter`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `loadTasks` | `loadTasks(config: BenchmarkRunConfig)` | `Promise` |
| `setupTask` | `setupTask(task: BenchmarkTask, workDir: string)` | `Promise` |
| `buildPrompt` | `buildPrompt(task: BenchmarkTask)` | `string` |
| `evaluate` | `evaluate(task: BenchmarkTask, workDir: string)` | `Promise<{ passed: boolean; details: string }>` |
| `cleanup` | `cleanup(_task: BenchmarkTask, workDir: string)` | `Promise` |



# AISettings

**Kind:** Interface

**Source:** `atloria-monorepo/apps/web/src/types/ai.ts` (line 19)

## Properties

| Property | Type |
|---|---|
| `defaultProvider` | `AIProviderName` |
| `maxTokens` | `number` |
| `temperature` | `number` |
| `enableStreaming` | `boolean` |
| `autoSave` | `boolean` |



# AnalyticsModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/api/src/analytics/analytics.module.ts` (line 13)

## Relationships

- MODULE_IMPORTS → `databasemodule`
- MODULE_IMPORTS → `authmodule`
- MODULE_IMPORTS → `emailmodule`
- MODULE_DECLARES → `analyticscontroller`
- MODULE_DECLARES → `analyticsexportcontroller`
- MODULE_PROVIDES → `analyticsservice`
- MODULE_PROVIDES → `feedbackservice`
- MODULE_PROVIDES → `analyticsexportservice`
- MODULE_PROVIDES → `scheduledreportsservice`
- MODULE_EXPORTS → `analyticsservice`
- MODULE_EXPORTS → `feedbackservice`
- MODULE_EXPORTS → `analyticsexportservice`
- MODULE_EXPORTS → `scheduledreportsservice`



# analyzeTemplate

**Kind:** Function

**Source:** `atloria-monorepo/libs/parser-core/src/utils/template-analyzer.ts` (line 41)

Main entry point: Analyze a template and extract structured data

## Signature

```ts
function analyzeTemplate(templateContent: string, framework: 'angular' | 'vue' | 'react'): TemplateAnalysis
```

## Parameters

| Name | Type |
|---|---|
| `templateContent` | `string` |
| `framework` | `'angular' | 'vue' | 'react'` |

**Returns:** `TemplateAnalysis`



# APICallMapper

**Kind:** Class

**Source:** `atloria-monorepo/packages/doc-automation/src/v2/stages/stage-01-parse/api-call-mapper.ts` (line 80)

API Call Mapper

## Methods

| Method | Signature | Returns |
|---|---|---|
| `detectAPICalls` | `detectAPICalls(entities: Entity[])` | `DetectedAPICall[]` |
| `detectEndpoints` | `detectEndpoints(entities: Entity[])` | `DetectedEndpoint[]` |
| `mapCallsToEndpoints` | `mapCallsToEndpoints(calls: DetectedAPICall[], endpoints: DetectedEndpoint[])` | `APIMapping[]` |



# APIFlowDiagramOptions

**Kind:** Interface

**Source:** `atloria-monorepo/libs/parser-core/src/generators/diagrams/api-flow-diagram.generator.ts` (line 21)

Options for API flow diagram generation

## Properties

| Property | Type |
|---|---|
| `diagramType` | `'flowchart' | 'sequence'` |
| `showHttpMethods` | `boolean` |
| `showParameters` | `boolean` |
| `showMiddleware` | `boolean` |
| `direction` | `'LR' | 'TD' | 'RL' | 'BT'` |
| `maxDepth` | `number` |
| `includeTheme` | `boolean` |



# apiRateLimitingTemplate

**Kind:** Constant

**Source:** `atloria-monorepo/apps/api/src/template/seeds/api-rate-limiting.template.ts` (line 3)



# ASTNode

**Kind:** Type

**Source:** `atloria-monorepo/packages/core/src/rendering/types.ts` (line 82)

Union type of all AST nodes

## Definition

```ts
TextNode | AudienceNode | VariantNode | BlockDefinitionNode | IncludeNode
```



# AuthContextService

**Kind:** Service

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/services/auth-context.service.ts` (line 15)

Service for authenticated browser-context lifecycle.

Extracted verbatim from BatchScreenshotService so that batch capture,
flow-replay (WS-A) and clip capture (WS-B) can all share ONE implementation
of login / session-loss detection / re-auth without forking it.

`AuthContextService` owns the lifecycle of authenticated browser contexts for screenshot-worker capture jobs. It centralizes login, session validation, session-loss detection, and re-authentication so batch screenshots, flow replay, and clip capture use the same authentication behavior without duplicating browser-session logic.

## Methods

| Method | Signature | Returns |
|---|---|---|
| `createAuthenticatedContext` | `createAuthenticatedContext(browser: Browser, auth: BatchAuthConfigDto, config: Required, locale: string)` | `Promise` |
| `isSessionLost` | `isSessionLost(page: Page, auth: BatchAuthConfigDto, targetUrl: string)` | `Promise` |
| `reAuthenticate` | `reAuthenticate(context: BrowserContext, auth: BatchAuthConfigDto, config: Required)` | `Promise` |

## Diagram

```mermaid
sequenceDiagram
    participant Caller as Capture Service
    participant Auth as AuthContextService
    participant Browser as Browser Context
    participant App as Target Application

    Caller->>Auth: acquireAuthenticatedContext(credentials)
    Auth->>Browser: Create or reuse browser context
    Auth->>App: Check existing session

    alt Session is valid
        App-->>Auth: Authenticated session detected
    else Session missing or expired
        Auth->>App: Perform login flow
        App-->>Auth: Session established
    end

    Auth-->>Caller: Authenticated browser context
    Caller->>App: Run screenshot / replay / clip capture

    alt Session loss detected during capture
        Caller->>Auth: Re-authenticate context
        Auth->>App: Perform login flow again
        Auth-->>Caller: Refreshed authenticated context
    end
```

## Usage

```ts
import { Injectable } from '@nestjs/common';
import { AuthContextService } from './services/auth-context.service';

@Injectable()
export class BatchCaptureService {
  constructor(
    private readonly authContextService: AuthContextService,
  ) {}

  async captureScreenshot(job: ScreenshotJob) {
    const context = await this.authContextService.acquireAuthenticatedContext({
      loginUrl: job.loginUrl,
      username: job.username,
      password: job.password,
    });

    try {
      const page = await context.newPage();

      await page.goto(job.targetUrl, { waitUntil: 'networkidle' });

      // Re-authenticate when the target application redirects to login
      // or otherwise indicates that the session has expired.
      if (await this.authContextService.isSessionLost(page)) {
        await this.authContextService.reauthenticate(context, job.credentials);
        await page.goto(job.targetUrl, { waitUntil: 'networkidle' });
      }

      return await page.screenshot({ fullPage: true });
    } finally {
      await context.close();
    }
  }
}
```

## AI Coding Instructions

- Use `AuthContextService` for every authenticated browser workflow; do not implement login or session-expiry handling independently in batch, flow-replay, or clip services.
- Check for session loss after navigation and before capture-sensitive actions, especially when target applications can redirect to a login page.
- Keep browser-context ownership clear: callers should close contexts/pages they acquire unless the service explicitly manages pooled or reused contexts.
- Preserve the shared authentication contract when adding new capture modes so login credentials, session checks, and re-authentication remain consistent.
- Avoid treating a successful page load as proof of authentication; use the service’s session-detection logic for application-specific validation.



# AuthenticationInfo

**Kind:** Interface

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/interfaces/entity.interface.ts` (line 570)

Authentication information

## Properties

| Property | Type |
|---|---|
| `type` | `'jwt' | 'oauth' | 'api-key' | 'basic' | 'bearer' | 'none'` |
| `scopes` | `string[]` |
| `optional` | `boolean` |



# AuthResponse

**Kind:** Type

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/openapi.yaml` (line 1)

## Properties

| Property | Type |
|---|---|
| `accessToken` | `string` |
| `refreshToken` | `string` |
| `user` | `User` |

## Relationships

- TYPE_OF → `User`

## Referenced By

- `login` (REFERENCES)
- `User Management API` (TYPE_OF)



# BatchScreenshotItemDto

**Kind:** Class

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/batch-screenshot.dto.ts` (line 346)

## Properties

| Property | Type |
|---|---|
| `id` | `string` |
| `description` | `string` |
| `url` | `string` |
| `expectedState` | `string` |
| `viewport` | `ViewportDto` |
| `fullPage` | `boolean` |
| `waitFor` | `WaitForDto` |
| `waitForSelector` | `string` |
| `waitForTimeout` | `number` |
| `actions` | `ScreenshotActionDto[]` |
| `stateType` | `StateType` |
| `category` | `string` |
| `clip` | `ClipDto` |
| `metadata` | `Record` |
| `timing` | `TimingConfigDto` |
| `data` | `DataConfigDto` |
| `interaction` | `InteractionConfigDto` |
| `error` | `ErrorConfigDto` |
| `componentHints` | `ComponentHintsDto` |
| `flowStepId` | `string` |
| `priority` | `number` |
| `stateResolution` | `StateResolutionConfigDto` |
| `parentPlaceholderId` | `string` |
| `sequenceOrder` | `number` |



# benchReportCommand

**Kind:** Function

**Source:** `atloria-monorepo/apps/cli/src/commands/bench.command.ts` (line 198)

## Signature

```ts
async function benchReportCommand(reportPath: string): Promise
```

## Parameters

| Name | Type |
|---|---|
| `reportPath` | `string` |

**Returns:** `Promise`



# BenchRunOptions

**Kind:** Interface

**Source:** `atloria-monorepo/apps/cli/src/commands/bench.command.ts` (line 32)

## Properties

| Property | Type |
|---|---|
| `preset` | `'starter' | 'full'` |
| `tasks` | `string` |
| `maxTasks` | `string` |
| `parallel` | `string` |
| `maxTurns` | `string` |
| `timeout` | `string` |
| `output` | `string` |
| `model` | `string` |
| `repoDir` | `string` |
| `costLimit` | `string` |
| `attempts` | `string` |
| `provider` | `'azure' | 'anthropic'` |



# BoxPct

**Kind:** Interface

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/services/crop.service.ts` (line 11)

Pure geometry + image helpers shared by the clip-capture (WS-B) flow.

These are intentionally framework-free pure functions (no Playwright, no Nest
DI) so they can be unit-tested in isolation and reused by any workstream.

## Properties

| Property | Type |
|---|---|
| `x` | `number` |
| `y` | `number` |
| `w` | `number` |
| `h` | `number` |



# breachOf

**Kind:** Function

**Source:** `atloria-monorepo/apps/web/src/app/app/desk/components/deskTypes.ts` (line 242)

## Signature

```ts
function breachOf(v: CountValue | undefined): number
```

## Parameters

| Name | Type |
|---|---|
| `v` | `CountValue | undefined` |

**Returns:** `number`



# buildAdaptivePrompt

**Kind:** Function

**Source:** `atloria-monorepo/libs/agent-core/src/autonomous/adaptive-prompt.ts` (line 52)

## Signature

```ts
function buildAdaptivePrompt(options: AdaptivePromptOptions): string
```

## Parameters

| Name | Type |
|---|---|
| `options` | `AdaptivePromptOptions` |

**Returns:** `string`



# buildApiExecutor

**Kind:** Function

**Source:** `atloria-monorepo/apps/api/src/technical-docs/mcp/api-executor.ts` (line 44)

## Signature

```ts
function buildApiExecutor(cfg: ApiExecutorConfig): ApiExecFn
```

## Parameters

| Name | Type |
|---|---|
| `cfg` | `ApiExecutorConfig` |

**Returns:** `ApiExecFn`



# buildLayoutSystemPrompt

**Kind:** Function

**Source:** `atloria-monorepo/libs/pme-core/src/prompts/layout.prompts.ts` (line 10)

## Signature

```ts
function buildLayoutSystemPrompt(): string
```

**Returns:** `string`



# CaptureAction

**Kind:** Type

**Source:** `atloria-monorepo/apps/api/src/capture/dto/create-flow.dto.ts` (line 16)

## Definition

```ts
(typeof CAPTURE_ACTIONS)[number]
```



# CATEGORY_LABELS

**Kind:** Constant

**Source:** `atloria-monorepo/apps/web/src/components/Boards/helpers.ts` (line 36)

## Definition

```ts
Record
```



# CategoryMeta

**Kind:** Interface

**Source:** `atloria-monorepo/libs/site-gen-core/src/assembler/types.ts` (line 115)

## Properties

| Property | Type |
|---|---|
| `required` | `boolean` |
| `maxPick` | `number` |



# Cell

**Kind:** Component

**Source:** `atloria-monorepo/packages/editor/src/plugins/table/TableEditor.tsx` (line 319)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `align` | `any` | ✓ | - |
| `...props` | `object` | - | - |

## Diagram

```mermaid
graph TD
    component_Cell_6cdf5d6c["Cell"]
    class component_Cell_6cdf5d6c rootComponent
```

## Relationships

- RENDERS → `CellElement`
- RENDERS → `CellEditor`

## Referenced By

- `TableEditor` (RENDERS)



# checkColorContrast

**Kind:** Function

**Source:** `atloria-monorepo/apps/web-e2e/src/utils/accessibility.ts` (line 200)

Check color contrast

## Signature

```ts
async function checkColorContrast(page: Page, selector: string): Promise<{
  foreground: string;
  background: string;
  ratio: number;
  passes: boolean;
}>
```

## Parameters

| Name | Type |
|---|---|
| `page` | `Page` |
| `selector` | `string` |

**Returns:** `Promise<{
  foreground: string;
  background: string;
  ratio: number;
  passes: boolean;
}>`



# ChunkerService

**Kind:** Service

**Source:** `atloria-monorepo/packages/doc-automation/src/v2/stages/stage-02-chunking/chunker.service.ts` (line 1)



# ConnectionType

**Kind:** Type

**Source:** `atloria-monorepo/libs/parser-core/src/generators/diagrams/deployment-diagram.generator.ts` (line 57)

Connection types between deployment nodes

## Definition

```ts
'http' | 'https' | 'grpc' | 'tcp' | 'websocket' | 'database' | 'message-queue'
```



# CoordinatorDependencies

**Kind:** Interface

**Source:** `atloria-monorepo/libs/pme-core/src/agents/coordinator.agent.ts` (line 25)

## Properties

| Property | Type |
|---|---|
| `searchFn` | `DocSearchFn` |
| `generateFn` | `ContentGenerateFn` |
| `storeFn` | `StoreAssetFn` |
| `generateImageFn` | `ImageGenerateFn` |
| `findScreenshotsFn` | `FindScreenshotsFn` |



# copyTemplate

**Kind:** Function

**Source:** `atloria-monorepo/libs/site-gen-core/src/assembler/copy.ts` (line 18)

Copy the entire site-bootstrap template to outputDir,
excluding node_modules and other non-essential files.

## Signature

```ts
async function copyTemplate(templateDir: string, outputDir: string): Promise
```

## Parameters

| Name | Type |
|---|---|
| `templateDir` | `string` |
| `outputDir` | `string` |

**Returns:** `Promise`



# CountValue

**Kind:** Type

**Source:** `atloria-monorepo/apps/web/src/app/app/desk/components/deskTypes.ts` (line 71)

counts values are numbers per contract; we tolerate {count, breach} if the backend enriches later

## Definition

```ts
number | { count: number; breach?: number }
```



# create

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/api/src/suggestion/suggestion.controller.ts` (line 101)

## Endpoint

`POST /suggestions`

## Referenced By

- `SuggestionController` (MODULE_DECLARES)
- `SuggestionAliasController` (MODULE_DECLARES)



# createSimpleBatch

**Kind:** Function

**Source:** `atloria-monorepo/apps/screenshot-worker/test/helpers/batch-builder.ts` (line 295)

Helper function to create a simple batch request

## Signature

```ts
function createSimpleBatch(urls: string[], options: {
    projectId?: string;
    organizationId?: string;
    config?: Partial;
  }): TakeBatchScreenshotsDto
```

## Parameters

| Name | Type |
|---|---|
| `urls` | `string[]` |
| `options` | `{
    projectId?: string;
    organizationId?: string;
    config?: Partial;
  }` |

**Returns:** `TakeBatchScreenshotsDto`



# DEFAULT_LOOP_ENGINE

**Kind:** Constant

**Source:** `atloria-monorepo/libs/agent-core/src/runtime/runtime-config.ts` (line 72)

Default loop engine. Set to 'live-swe' to use the Live-SWE-agent loop
(79% SWE-bench) by default, or 'openai-sdk' for the SDK-based loop.

Can be overridden per-call via RuntimeConfig.loop.engine or via
ATLORIA_LOOP_ENGINE environment variable.

## Definition

```ts
LoopConfig['engine']
```



# deletePost

**Kind:** Graphql Mutation

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

Delete a post

## Referenced By

- `Mutation` (CALLS_API)



# deleteUser

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/openapi.yaml` (line 1)

Delete user

## Endpoint

`DELETE /users/{id}`

| Parameter | In | Type | Required |
|---|---|---|---|
| `id` | query | `string` | ✓ |

## Referenced By

- `User Management API` (IMPLEMENTS_API)



# destroyAllParsers

**Kind:** Function

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/queue/processors/parser-registry.ts` (line 146)

Cleanup all parser instances

## Signature

```ts
async function destroyAllParsers(): Promise
```

**Returns:** `Promise`



# DjangoTemplateParser

**Kind:** Class

**Source:** `atloria-monorepo/libs/parser-core/src/parsers/backend/django-template.parser.ts` (line 71)

Django Template Parser

Extracts entities and relationships from Django template files.

**Implements:** `IParser`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `initialize` | `initialize(config: { rootDir: string })` | `Promise` |
| `canParse` | `canParse(filePath: string)` | `boolean` |
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |
| `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` |
| `destroy` | `destroy()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `any` |
| `version` | `any` |
| `supportedPatterns` | `any` |



# DocumentEditPage

**Kind:** Class

**Source:** `atloria-monorepo/apps/web-e2e/src/pages/documents.page.ts` (line 141)

Document edit page object

**Extends:** `BasePage`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `goto` | `goto(documentId: string)` | `Promise` |
| `setTitle` | `setTitle(title: string)` | `Promise` |
| `getTitle` | `getTitle()` | `Promise` |
| `setContent` | `setContent(content: string)` | `Promise` |
| `getContent` | `getContent()` | `Promise` |
| `waitForSave` | `waitForSave()` | `Promise` |
| `clickDone` | `clickDone()` | `Promise` |
| `setType` | `setType(type: string)` | `Promise` |
| `setSlug` | `setSlug(slug: string)` | `Promise` |
| `toggleAudience` | `toggleAudience(audience: string)` | `Promise` |
| `openSettings` | `openSettings()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `titleInput` | `Locator` |
| `editor` | `Locator` |
| `saveStatus` | `Locator` |
| `doneButton` | `Locator` |
| `settingsButton` | `Locator` |
| `typeSelect` | `Locator` |
| `slugInput` | `Locator` |



# DocumentType

**Kind:** Enum

**Source:** `atloria-monorepo/packages/types/src/enums/index.ts` (line 20)

Document types define the nature of the documentation

## Values

- `MANUAL`
- `GENERATED`
- `HYBRID`
- `WIKI`
- `API_GUIDE`
- `USER_MANUAL`
- `SOP`



# EntityType

**Kind:** Enum

**Source:** `atloria-monorepo/apps/api/src/graph/interfaces/entity.interface.ts` (line 1)

## Values

- `FEATURE`
- `API`
- `COMPONENT`
- `USER_STORY`
- `BUG`
- `REQUIREMENT`
- `FUNCTION`
- `CLASS`
- `MODULE`



# extractExportedNamesFromDeclaration

**Kind:** Function

**Source:** `atloria-monorepo/apps/frontend-parser/src/utils/ast-helpers.ts` (line 386)

Extract exported names from export declarations

## Signature

```ts
function extractExportedNamesFromDeclaration(path: NodePath): Set
```

## Parameters

| Name | Type |
|---|---|
| `path` | `NodePath` |

**Returns:** `Set`



# FaqLayout

**Kind:** Type

**Source:** `atloria-monorepo/libs/pme-core/src/types/index.ts` (line 18)

## Definition

```ts
'accordion' | 'two-column'
```



# FetchFeaturesFn

**Kind:** Type

**Source:** `atloria-monorepo/libs/site-gen-core/src/assembler/tools/query-product-knowledge.tool.ts` (line 31)

Fetch user-facing features for a project (from doc-automation Stage 3 output or KG).

## Definition

```ts
(
  projectId: string,
  options?: { limit?: number; minConfidence?: number },
) => Promise
```



# FIXTURE_PAGES

**Kind:** Constant

**Source:** `atloria-monorepo/apps/screenshot-worker/test/fixtures/pages/index.ts` (line 9)

Test fixture pages for screenshot testing



# FlowAction

**Kind:** Type

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/flow-replay.dto.ts` (line 42)

## Definition

```ts
(typeof FLOW_ACTIONS)[number]
```



# Follow

**Kind:** Graphql Type

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

Follow relationship

## Relationships

- TYPE_OF → `User`
- TYPE_OF → `User`
- TYPE_OF → `DateTime`

## Referenced By

- `followUser` (TYPE_OF)
- `newFollower` (TYPE_OF)
- `User` (TYPE_OF)
- `User` (TYPE_OF)



# getInfo

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/app.controller.ts` (line 19)

Service info endpoint

## Endpoint

`GET /info`

## Referenced By

- `AppController` (MODULE_DECLARES)



# getProjectJobs

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/code-analyzer/src/app/analysis/analysis.controller.ts` (line 74)

Get all analysis jobs for a project

GET /api/analysis/project/:projectId

Returns: [ { ...job }, { ...job } ]

## Endpoint

`GET /analysis/project/:projectId`

| Parameter | In | Type | Required |
|---|---|---|---|
| `projectId` | query | `string` | ✓ |

## Referenced By

- `AnalysisController` (MODULE_DECLARES)



# MdxGenerator

**Kind:** Class

**Source:** `atloria-monorepo/apps/cli/src/generators/mdx.generator.ts` (line 82)

MDX Generator class
Generates MDX documentation from entities

## Methods

| Method | Signature | Returns |
|---|---|---|
| `generate` | `generate()` | `Promise` |
| `generateContent` | `generateContent()` | `Promise<{ pages: DocPage[]; navigation: NavItem[] }>` |



# MdxParser

**Kind:** Class

**Source:** `atloria-monorepo/apps/config-docs-parser/src/parsers/mdx.parser.ts` (line 60)

**Implements:** `IParser`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `initialize` | `initialize(config: ParserConfig)` | `Promise` |
| `canParse` | `canParse(filePath: string)` | `boolean` |
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |
| `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` |
| `destroy` | `destroy()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `any` |
| `version` | `any` |
| `supportedPatterns` | `any` |



# NestjsParser

**Kind:** Class

**Source:** `atloria-monorepo/apps/backend-parser/src/parsers/nestjs.parser.ts` (line 67)

NestJS Parser implementation

**Implements:** `IParser`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `initialize` | `initialize(config: ParserConfig)` | `Promise` |
| `canParse` | `canParse(filePath: string)` | `boolean` |
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |
| `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` |
| `destroy` | `destroy()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `any` |
| `version` | `any` |
| `supportedPatterns` | `any` |



# OrchestratorModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/orchestrator/orchestrator.module.ts` (line 17)

## Relationships

- MODULE_IMPORTS → `queuemodule`
- MODULE_IMPORTS → `knowledgegraphmodule`
- MODULE_DECLARES → `orchestratorcontroller`
- MODULE_PROVIDES → `orchestratorservice`
- MODULE_EXPORTS → `orchestratorservice`



# OrchestratorService

**Kind:** Service

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/orchestrator/orchestrator.service.ts` (line 43)

## Methods

| Method | Signature | Returns |
|---|---|---|
| `dispatchParseJob` | `dispatchParseJob(options: {
    projectId: string;
    files: string[];
    parserType: string;
    config?: Record;
    priority?: number;
  })` | `Promise` |
| `parseProject` | `parseProject(config: ParseProjectConfig)` | `Promise` |
| `getJobStatus` | `getJobStatus(jobId: string)` | `Promise` |
| `getResult` | `getResult(jobId: string)` | `Promise` |
| `cancelJob` | `cancelJob(jobId: string)` | `Promise` |
| `getQueueMetrics` | `getQueueMetrics()` | `unknown` |
| `getKGStatistics` | `getKGStatistics()` | `unknown` |
| `determineParser` | `determineParser(filePath: string)` | `string | null` |
| `getAvailableParsers` | `getAvailableParsers()` | `string[]` |
| `getParserPatterns` | `getParserPatterns(parser: string)` | `string[] | null` |

## Relationships

- DEPENDS_ON → `configservice`
- DEPENDS_ON → `queueservice`
- DEPENDS_ON → `knowledgegraphservice`
- DEPENDS_ON → `kgsyncservice`



# ParserCategory

**Kind:** Enum

**Source:** `atloria-monorepo/libs/parser-core/src/interfaces/parser.interface.ts` (line 117)

Parser category for grouping

## Values

- `FRONTEND`
- `BACKEND`
- `DATABASE`
- `API_SCHEMA`
- `CONFIG`
- `DOCUMENTATION`
- `INFRASTRUCTURE`



# ParseResultDto

**Kind:** Class

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/orchestrator/dto/parse-job.dto.ts` (line 147)

DTO for parse result response

## Properties

| Property | Type |
|---|---|
| `jobId` | `string` |
| `status` | `string` |
| `entitiesCount` | `number` |
| `relationshipsCount` | `number` |
| `duration` | `number` |



# ParseStatus

**Kind:** Enum

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/interfaces/parse-result.interface.ts` (line 18)

Status of a parse operation

## Values

- `SUCCESS`
- `PARTIAL`
- `FAILED`
- `SKIPPED`
- `IN_PROGRESS`
- `QUEUED`



# PdfController

**Kind:** Controller

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/pdf/pdf.controller.ts` (line 16)

## Relationships

- MODULE_DECLARES → `renderPdf`
- DEPENDS_ON → `pdfservice`



# PlaywrightModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/playwright/playwright.module.ts` (line 4)

## Relationships

- MODULE_PROVIDES → `playwrightservice`
- MODULE_EXPORTS → `playwrightservice`



# PME_JOB_OPTIONS

**Kind:** Constant

**Source:** `atloria-monorepo/apps/pme-agent/src/queue/constants.ts` (line 3)



# PmeTurnHook

**Kind:** Class

**Source:** `atloria-monorepo/libs/pme-core/src/context/pme-turn-hook.ts` (line 127)

**Implements:** `TurnHook`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `beforeModelCall` | `beforeModelCall(args: TurnHookArgs)` | `Promise<{ instructions?: string; input?: unknown[] }>` |

## Properties

| Property | Type |
|---|---|
| `compactionLog` | `Array<{
    turn: number;
    beforeTokens: number;
    afterTokens: number;
    truncatedResults: number;
  }>` |



# PROJECT_FIXTURES

**Kind:** Constant

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/integration/helpers/test-utils.ts` (line 28)

Project fixture paths



# runWithTenantBypass

**Kind:** Function

**Source:** `atloria-monorepo/libs/database/src/lib/tenant-context.ts` (line 43)

Run `fn` with tenant scoping explicitly bypassed. Use for a deliberate cross-org read inside a
request. If there is no active context this is a no-op passthrough.

## Signature

```ts
function runWithTenantBypass(fn: () => T): T
```

## Parameters

| Name | Type |
|---|---|
| `fn` | `() => T` |

**Returns:** `T`



# StepCircle

**Kind:** Component

**Source:** `atloria-monorepo/libs/site-gen-core/src/component-library/sections/how-it-works/how-it-works-timeline.tsx` (line 43)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `num` | `number` | ✓ | - |
| `variant` | `unknown | unknown` | ✓ | - |

## Diagram

```mermaid
graph TD
    component_StepCircle_5a4f7255["StepCircle"]
    class component_StepCircle_5a4f7255 rootComponent
```

## Referenced By

- `HowItWorksTimeline` (RENDERS)



# TestCollaborationSession

**Kind:** Interface

**Source:** `atloria-monorepo/apps/web-e2e/src/utils/data-factories.ts` (line 202)

## Properties

| Property | Type |
|---|---|
| `id` | `string` |
| `documentId` | `string` |
| `users` | `{
    id: string;
    name: string;
    color: string;
    cursor?: { x: number; y: number };
  }[]` |
| `createdAt` | `string` |



# TypeORMParser

**Kind:** Class

**Source:** `atloria-monorepo/apps/database-parser/src/parsers/typeorm.parser.ts` (line 25)

**Implements:** `IParser`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `initialize` | `initialize(config: ParserConfig)` | `Promise` |
| `canParse` | `canParse(filePath: string)` | `boolean` |
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |
| `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` |
| `destroy` | `destroy()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `any` |
| `version` | `any` |
| `supportedPatterns` | `any` |



# user

**Kind:** Graphql Query

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

Get a user by ID

## Relationships

- TYPE_OF → `User`

## Referenced By

- `Query` (CALLS_API)



# UserProfile

**Kind:** Component

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/frontend/src/components/UserProfile.tsx` (line 33)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `userId` | `any` | ✓ | - |
| `showStats` | `any` | - | true |
| `onProfileLoad` | `any` | ✓ | - |

## Diagram

```mermaid
graph TD
    component_UserProfile_131907c4["UserProfile"]
    class component_UserProfile_131907c4 rootComponent
```

## Relationships

- RENDERS → `LoadingSpinner`
- RENDERS → `Avatar`
- RENDERS → `StatCard`
- USES_HOOK → `useAuth`
- USES_HOOK → `useState`
- USES_HOOK → `useQuery`
- USES_HOOK → `useEffect`



# VARIANT_STYLES

**Kind:** Constant

**Source:** `atloria-monorepo/libs/pme-core/src/prompts/variant.prompts.ts` (line 18)

## Definition

```ts
VariantStyle[]
```



# VideoEmbed

**Kind:** Component

**Source:** `atloria-monorepo/apps/web/src/components/Viewer/MarkdownRenderer.tsx` (line 471)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `embedUrl` | `string` | ✓ | - |
| `provider` | `string` | ✓ | - |

## Diagram

```mermaid
graph TD
    component_VideoEmbed_432f8f5f["VideoEmbed"]
    class component_VideoEmbed_432f8f5f rootComponent
```

## Referenced By

- `CustomDiv` (RENDERS)
- `CustomLink` (RENDERS)
- `CustomImage` (RENDERS)



# VueParser

**Kind:** Class

**Source:** `atloria-monorepo/apps/frontend-parser/src/parsers/vue.parser.ts` (line 76)

**Implements:** `IParser`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `initialize` | `initialize(config: ParserConfig)` | `Promise` |
| `canParse` | `canParse(filePath: string)` | `boolean` |
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |
| `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` |
| `destroy` | `destroy()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `string` |
| `version` | `string` |
| `supportedPatterns` | `string[]` |



# $isCodeBlockNode

**Kind:** Function

**Source:** `atloria-monorepo/packages/editor/src/plugins/codeblock/CodeBlockNode.tsx` (line 284)

## Signature

```ts
function $isCodeBlockNode(node: LexicalNode | null | undefined): node is CodeBlockNode
```

## Parameters

| Name | Type |
|---|---|
| `node` | `LexicalNode | null | undefined` |

**Returns:** `node is CodeBlockNode`



# ActionButton

**Kind:** Component

**Source:** `atloria-monorepo/apps/web/src/components/common/ErrorState.tsx` (line 84)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `href` | `string` | ✓ | - |
| `label` | `string` | ✓ | - |

## Diagram

```mermaid
graph TD
    component_ActionButton_9f189["ActionButton"]
    class component_ActionButton_9f189 rootComponent
```

## Relationships

- USES_HOOK → `useRouter`

## Referenced By

- `ErrorContent` (RENDERS)
- `ErrorState` (RENDERS)



# addActivePlugin$

**Kind:** Constant

**Source:** `atloria-monorepo/packages/editor/src/plugins/core/index.ts` (line 917)

Add a plugin name to the list of active plugins.



# AgentExecutionResult

**Kind:** Interface

**Source:** `atloria-monorepo/apps/api/src/support-agent/agent-adapter.service.ts` (line 35)

## Properties

| Property | Type |
|---|---|
| `response` | `string` |
| `toolCalls` | `Array<{ tool: string; input: any; result: any }>` |



# AgentModelSettings

**Kind:** Interface

**Source:** `atloria-monorepo/libs/agent-core/src/runtime/types.ts` (line 35)

## Properties

| Property | Type |
|---|---|
| `temperature` | `number` |
| `topP` | `number` |
| `maxTokens` | `number` |
| `frequencyPenalty` | `number` |
| `presencePenalty` | `number` |
| `toolChoice` | `'auto' | 'required' | 'none'` |
| `parallelToolCalls` | `boolean` |
| `reasoningEffort` | `'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh'` |



# AgentProtocolEventType

**Kind:** Type

**Source:** `atloria-monorepo/libs/agent-core/src/protocol/agent-protocol.ts` (line 82)

All canonical protocol event names

## Definition

```ts
keyof AgentProtocolEventMap
```



# AgentService

**Kind:** Service

**Source:** `atloria-monorepo/apps/api/src/agent/agent.service.ts` (line 84)

## Methods

| Method | Signature | Returns |
|---|---|---|
| `createSession` | `createSession(socketId: string, payload: AgentStartPayload)` | `Promise` |
| `getSession` | `getSession(socketId: string)` | `ManagedSession | undefined` |
| `destroySession` | `destroySession(socketId: string)` | `void` |
| `getActiveSessionCount` | `getActiveSessionCount()` | `number` |

## Relationships

- DEPENDS_ON → `configservice`



# AggregatedResult

**Kind:** Interface

**Source:** `atloria-monorepo/packages/doc-automation/src/v2/stages/stage-12-screenshots/batched-screenshot-processor.ts` (line 56)

## Properties

| Property | Type |
|---|---|
| `totalCaptured` | `number` |
| `totalFailed` | `number` |
| `totalReplaced` | `number` |
| `totalDocumentsUpdated` | `number` |
| `batchesCompleted` | `number` |
| `totalBatches` | `number` |
| `cancelled` | `boolean` |



# AIUsageStats

**Kind:** Interface

**Source:** `atloria-monorepo/apps/web/src/types/ai.ts` (line 27)

## Properties

| Property | Type |
|---|---|
| `totalRequests` | `number` |
| `requestsToday` | `number` |
| `requestsThisWeek` | `number` |
| `requestsThisMonth` | `number` |
| `tokenUsage` | `{
    total: number;
    today: number;
    thisWeek: number;
    thisMonth: number;
  }` |
| `topProvider` | `AIProviderName` |
| `lastRequestAt` | `Date` |



# AnalyticsController

**Kind:** Controller

**Source:** `atloria-monorepo/apps/api/src/analytics/analytics.controller.ts` (line 9)

## Relationships

- MODULE_DECLARES → `track`
- MODULE_DECLARES → `getOverview`
- MODULE_DECLARES → `getVersionTraffic`
- MODULE_DECLARES → `getTopDocuments`
- MODULE_DECLARES → `getTopSearchQueries`
- MODULE_DECLARES → `getDailyTraffic`
- MODULE_DECLARES → `getDeviceBreakdown`
- MODULE_DECLARES → `getSourceBreakdown`
- MODULE_DECLARES → `getGeoBreakdown`
- MODULE_DECLARES → `getZeroResultSearches`
- MODULE_DECLARES → `getGhostDocs`
- MODULE_DECLARES → `getTrendingDocs`
- MODULE_DECLARES → `getScrollHistogram`
- MODULE_DECLARES → `submitFeedback`
- MODULE_DECLARES → `getFeedbackSummary`
- DEPENDS_ON → `analyticsservice`
- DEPENDS_ON → `feedbackservice`



# analyzeVueTemplate

**Kind:** Function

**Source:** `atloria-monorepo/libs/parser-core/src/utils/template-analyzer.ts` (line 609)

Analyze Vue template section

## Signature

```ts
function analyzeVueTemplate(templateContent: string): TemplateAnalysis
```

## Parameters

| Name | Type |
|---|---|
| `templateContent` | `string` |

**Returns:** `TemplateAnalysis`



# AnthropicModel

**Kind:** Class

**Source:** `atloria-monorepo/libs/agent-core/src/runtime/anthropic-adapter.ts` (line 107)

**Implements:** `Model`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `getResponse` | `getResponse(request: ModelRequest)` | `Promise` |
| `getStreamedResponse` | `getStreamedResponse(request: ModelRequest)` | `AsyncIterable` |
| `getRetryAdvice` | `getRetryAdvice(args: ModelRetryAdviceRequest)` | `ModelRetryAdvice | undefined` |



# APIError

**Kind:** Class

**Source:** `atloria-monorepo/packages/api-client/src/types/errors.ts` (line 4)

Base API error class

**Extends:** `Error`



# APIFlowDiagramResult

**Kind:** Interface

**Source:** `atloria-monorepo/libs/parser-core/src/generators/diagrams/api-flow-diagram.generator.ts` (line 68)

Result of API flow diagram generation

## Properties

| Property | Type |
|---|---|
| `mermaidCode` | `string` |
| `stats` | `{
    /** Number of frontend callers */
    callerCount: number;
    /** Number of services involved */
    serviceCount: number;
    /** Number of database models accessed */
    modelCount: number;
    /** Total nodes in diagram */
    totalNodes: number;
    /** Total edges/relationships */
    totalEdges: number;
  }` |
| `cssClasses` | `string[]` |



# apiVersioningTemplate

**Kind:** Constant

**Source:** `atloria-monorepo/apps/api/src/template/seeds/api-versioning.template.ts` (line 3)



# AppModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/api/src/app/app.module.ts` (line 60)

## Relationships

- MODULE_IMPORTS → `databasemodule`
- MODULE_IMPORTS → `throttlingmodule`
- MODULE_IMPORTS → `authmodule`
- MODULE_IMPORTS → `githubmodule`
- MODULE_IMPORTS → `gitlabmodule`
- MODULE_IMPORTS → `bitbucketmodule`
- MODULE_IMPORTS → `gatewaymodule`
- MODULE_IMPORTS → `collaborationmodule`
- MODULE_IMPORTS → `activitymodule`
- MODULE_IMPORTS → `notificationmodule`
- MODULE_IMPORTS → `assetsmodule`
- MODULE_IMPORTS → `audiencemodule`
- MODULE_IMPORTS → `commentmodule`
- MODULE_IMPORTS → `suggestionmodule`
- MODULE_IMPORTS → `documentmodule`
- MODULE_IMPORTS → `documentationmodule`
- MODULE_IMPORTS → `templatemodule`
- MODULE_IMPORTS → `projectmodule`
- MODULE_IMPORTS → `organizationmodule`
- MODULE_IMPORTS → `invitationmodule`
- MODULE_IMPORTS → `dashboardmodule`
- MODULE_IMPORTS → `aimodule`
- MODULE_IMPORTS → `billingmodule`
- MODULE_IMPORTS → `parsermodule`
- MODULE_IMPORTS → `parsingmodule`
- MODULE_IMPORTS → `graphmodule`
- MODULE_IMPORTS → `screenshotmodule`
- MODULE_IMPORTS → `technicaldocsmodule`
- MODULE_IMPORTS → `docsprtriggermodule`
- MODULE_IMPORTS → `docsprmodule`
- MODULE_IMPORTS → `eventsmodule`
- MODULE_IMPORTS → `githubappmodule`
- MODULE_IMPORTS → `trialmodule`
- MODULE_IMPORTS → `opsmodule`
- MODULE_IMPORTS → `supportagentmodule`
- MODULE_IMPORTS → `pmemodule`
- MODULE_IMPORTS → `agentmodule`
- MODULE_IMPORTS → `docversionmodule`
- MODULE_IMPORTS → `webhookmodule`
- MODULE_IMPORTS → `analyticsmodule`
- MODULE_IMPORTS → `auditmodule`
- MODULE_IMPORTS → `brandingmodule`
- MODULE_IMPORTS → `issuesmodule`
- MODULE_IMPORTS → `boardsmodule`
- MODULE_IMPORTS → `manualsinsightsmodule`
- MODULE_IMPORTS → `capturemodule`
- MODULE_IMPORTS → `docsrepomodule`
- MODULE_IMPORTS → `changerequestmodule`
- MODULE_DECLARES → `appcontroller`
- MODULE_PROVIDES → `appservice`



# AudienceLogicTree

**Kind:** Type

**Source:** `atloria-monorepo/packages/core/src/rendering/types.ts` (line 98)

Audience logic expression tree
Used for evaluating complex audience conditions

## Definition

```ts
AudienceLeaf | AudienceNotNode | AudienceAndNode | AudienceOrNode
```



# AuthPayload

**Kind:** Graphql Type

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

Authentication payload

## Relationships

- TYPE_OF → `User`

## Referenced By

- `login` (TYPE_OF)
- `refreshToken` (TYPE_OF)



# AuthResponseDto

**Kind:** Class

**Source:** `atloria-monorepo/apps/api/src/auth/dto/auth-response.dto.ts` (line 50)

## Properties

| Property | Type |
|---|---|
| `accessToken` | `string` |
| `refreshToken` | `string` |
| `tokenType` | `any` |
| `expiresIn` | `number` |
| `user` | `UserResponseDto` |



# AuthState

**Kind:** Interface

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/frontend/src/hooks/useAuth.ts` (line 10)

## Properties

| Property | Type |
|---|---|
| `isAuthenticated` | `boolean` |
| `user` | `{ id: string; email: string } | null` |
| `token` | `string | null` |



# BatchScreenshotJobResponseDto

**Kind:** Class

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/batch-screenshot.dto.ts` (line 673)

Initial response after creating a batch screenshot job

## Properties

| Property | Type |
|---|---|
| `id` | `string` |
| `status` | `JobStatus` |
| `projectId` | `string` |
| `organizationId` | `string` |
| `name` | `string` |
| `totalUrls` | `number` |
| `capturedUrls` | `number` |
| `failedUrls` | `number` |
| `progress` | `number` |
| `createdAt` | `Date` |
| `updatedAt` | `Date` |
| `completedAt` | `Date` |
| `error` | `string` |



# BatchScreenshotService

**Kind:** Service

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/services/batch-screenshot.service.ts` (line 87)

Service for batch screenshot processing

Orchestrates:
- Parallel task execution with concurrency limits
- Authentication session management
- Retry logic with exponential backoff
- Progress tracking and caching
- Content deduplication

`BatchScreenshotService` coordinates batch screenshot generation in the screenshot worker. It manages authenticated browser sessions, executes screenshot tasks with bounded concurrency, retries transient failures using exponential backoff, and records cached progress while deduplicating equivalent content.

## Methods

| Method | Signature | Returns |
|---|---|---|
| `createJob` | `createJob(request: TakeBatchScreenshotsDto)` | `Promise` |
| `processBatch` | `processBatch(request: TakeBatchScreenshotsDto)` | `Promise` |
| `getJobStatus` | `getJobStatus(jobId: string, organizationId: string)` | `Promise` |

## Diagram

```mermaid
sequenceDiagram
  participant Client
  participant Service as BatchScreenshotService
  participant Cache as Progress/Cache Store
  participant Auth as Authentication Session
  participant Worker as Screenshot Worker
  participant Browser as Browser/Page

  Client->>Service: processBatch(tasks)
  Service->>Cache: Load batch progress and cached results
  Service->>Service: Deduplicate content/tasks
  Service->>Auth: Create or reuse authenticated session

  loop Until all unique tasks are processed
    Service->>Worker: Start task (within concurrency limit)
    Worker->>Browser: Navigate and capture screenshot

    alt Screenshot succeeds
      Browser-->>Worker: Screenshot result
      Worker-->>Service: Completed result
      Service->>Cache: Store result and update progress
    else Transient failure
      Browser-->>Worker: Error
      Worker-->>Service: Failed attempt
      Service->>Service: Wait with exponential backoff
      Service->>Worker: Retry task
    else Retries exhausted
      Worker-->>Service: Final failure
      Service->>Cache: Record failed progress state
    end
  end

  Service-->>Client: Batch processing summary
```

## Usage

```ts
import { Injectable } from '@nestjs/common';
import { BatchScreenshotService } from './screenshot/services/batch-screenshot.service';

@Injectable()
export class ScreenshotJobProcessor {
  constructor(
    private readonly batchScreenshotService: BatchScreenshotService,
  ) {}

  async processScreenshots() {
    const result = await this.batchScreenshotService.processBatch([
      {
        id: 'homepage',
        url: 'https://example.com',
        viewport: { width: 1440, height: 900 },
      },
      {
        id: 'dashboard',
        url: 'https://example.com/dashboard',
        viewport: { width: 1440, height: 900 },
      },
    ]);

    return {
      completed: result.completed,
      failed: result.failed,
      cached: result.cached,
    };
  }
}
```

## AI Coding Instructions

- Preserve bounded concurrency when adding new task types; do not create unbounded `Promise.all()` workloads for large batches.
- Reuse the service's authentication-session lifecycle rather than creating a new browser login session per screenshot.
- Treat retryable browser, navigation, and network errors separately from permanent validation errors; retain exponential backoff behavior.
- Update progress/cache state for successful, cached, and terminally failed tasks so interrupted batches can be resumed safely.
- Ensure deduplication keys include all screenshot-affecting inputs, such as URL, viewport, authentication context, and rendering options.

## Relationships

- DEPENDS_ON → `playwrightservice`
- DEPENDS_ON → `storageservice`
- DEPENDS_ON → `screenshotmetadataservice`
- DEPENDS_ON → `prismaservice`
- DEPENDS_ON → `redisservice`
- DEPENDS_ON → `retryhandlerservice`
- DEPENDS_ON → `actionexecutorservice`
- DEPENDS_ON → `stateresolverservice`
- DEPENDS_ON → `authcontextservice`
- DEPENDS_ON → `pagesettleservice`
- DEPENDS_ON → `configservice`
- DEPENDS_ON → `discoveryservice`



# benchRunCommand

**Kind:** Function

**Source:** `atloria-monorepo/apps/cli/src/commands/bench.command.ts` (line 49)

## Signature

```ts
async function benchRunCommand(options: BenchRunOptions): Promise
```

## Parameters

| Name | Type |
|---|---|
| `options` | `BenchRunOptions` |

**Returns:** `Promise`



# BoxPct

**Kind:** Interface

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/services/annotation-emitter.service.ts` (line 6)

Target box as PERCENT (0-100) of the natural image, top-left origin.

## Properties

| Property | Type |
|---|---|
| `x` | `number` |
| `y` | `number` |
| `w` | `number` |
| `h` | `number` |



# buildAutonomousInstructions

**Kind:** Function

**Source:** `atloria-monorepo/libs/agent-core/src/autonomous/autonomous-loop.ts` (line 94)

Build the autonomous investigation-verify loop instructions.

This generates a system prompt section — not a complete system prompt.
Domain layers combine it with their own base instructions + tool usage guide.

The prompt teaches the agent to:
1. Investigate before acting (read files, explore structure, check config)
2. Prefer existing tools/scripts over writing from scratch
3. Plan based on what it discovers (not on assumptions)
4. Verify after every significant action
5. Loop until quality gates pass

## Signature

```ts
function buildAutonomousInstructions(options: AutonomousInstructionsOptions): string
```

## Parameters

| Name | Type |
|---|---|
| `options` | `AutonomousInstructionsOptions` |

**Returns:** `string`



# buildCollectionUrl

**Kind:** Function

**Source:** `atloria-monorepo/apps/web/src/lib/url-utils.ts` (line 66)

Build a collection URL from components

## Signature

```ts
function buildCollectionUrl(slug: string, urlId: string): string
```

## Parameters

| Name | Type |
|---|---|
| `slug` | `string` |
| `urlId` | `string` |

**Returns:** `string`



# buildCompletePrompt

**Kind:** Function

**Source:** `atloria-monorepo/apps/api/src/support-agent/prompts/rag-context-formatter.ts` (line 159)

Builds the complete prompt for the AI

## Signature

```ts
function buildCompletePrompt(systemPrompt: string, ragContext: FormattedRagContext, conversationHistory: Array<{ role: string; content: string }>, userMessage: string, projectName: string): string
```

## Parameters

| Name | Type |
|---|---|
| `systemPrompt` | `string` |
| `ragContext` | `FormattedRagContext` |
| `conversationHistory` | `Array<{ role: string; content: string }>` |
| `userMessage` | `string` |
| `projectName` | `string` |

**Returns:** `string`



# buildLayoutTaskPrompt

**Kind:** Function

**Source:** `atloria-monorepo/libs/pme-core/src/prompts/layout.prompts.ts` (line 36)

## Signature

```ts
function buildLayoutTaskPrompt(sectionType: SectionType, contentJson: string): string
```

## Parameters

| Name | Type |
|---|---|
| `sectionType` | `SectionType` |
| `contentJson` | `string` |

**Returns:** `string`



# categoryFullLabels

**Kind:** Constant

**Source:** `atloria-monorepo/apps/web/src/constants/templateCategories.ts` (line 31)

Full labels for detailed views (preview modal, etc.)

## Definition

```ts
Record
```



# CellEditor

**Kind:** Component

**Source:** `atloria-monorepo/packages/editor/src/plugins/table/TableEditor.tsx` (line 340)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `focus` | `any` | ✓ | - |
| `setActiveCell` | `any` | ✓ | - |
| `parentEditor` | `any` | ✓ | - |
| `lexicalTable` | `any` | ✓ | - |
| `contents` | `any` | ✓ | - |
| `colIndex` | `any` | ✓ | - |
| `rowIndex` | `any` | ✓ | - |

## Diagram

```mermaid
graph TD
    component_CellEditor_79b7a9f9["CellEditor"]
    class component_CellEditor_79b7a9f9 rootComponent
```

## Relationships

- RENDERS → `LexicalNestedComposer`
- RENDERS → `RichTextPlugin`
- RENDERS → `ContentEditable`
- RENDERS → `Child`
- RENDERS → `HistoryPlugin`
- USES_HOOK → `useCellValues`
- USES_HOOK → `useState`
- USES_HOOK → `useCallback`
- USES_HOOK → `useEffect`

## Referenced By

- `Cell` (RENDERS)



# ChangeType

**Kind:** Type

**Source:** `atloria-monorepo/apps/api/src/document/services/document-revision.service.ts` (line 17)

## Definition

```ts
'CREATE' | 'UPDATE' | 'RESTORE'
```



# checkFocusVisibility

**Kind:** Function

**Source:** `atloria-monorepo/apps/web-e2e/src/utils/accessibility.ts` (line 154)

Check focus visibility

## Signature

```ts
async function checkFocusVisibility(page: Page): Promise
```

## Parameters

| Name | Type |
|---|---|
| `page` | `Page` |

**Returns:** `Promise`



# ComparisonFeatureTableProps

**Kind:** Interface

**Source:** `atloria-monorepo/libs/site-gen-core/src/component-library/sections/comparison/comparison-feature-table.tsx` (line 14)

## Properties

| Property | Type |
|---|---|
| `headlineKey` | `string` |
| `descriptionKey` | `string` |
| `columns` | `{ nameKey: string; highlighted?: boolean }[]` |
| `features` | `{ featureKey: string; values: (boolean | string)[] }[]` |



# CopywriterDependencies

**Kind:** Interface

**Source:** `atloria-monorepo/libs/pme-core/src/agents/copywriter.agent.ts` (line 15)

## Properties

| Property | Type |
|---|---|
| `searchFn` | `DocSearchFn` |
| `generateFn` | `ContentGenerateFn` |



# createAssembleSiteTool

**Kind:** Function

**Source:** `atloria-monorepo/libs/site-gen-core/src/assembler/tools/assemble-site.tool.ts` (line 13)

## Signature

```ts
function createAssembleSiteTool(templateDir: string, componentLibraryDir: string): ToolDefinition
```

## Parameters

| Name | Type |
|---|---|
| `templateDir` | `string` |
| `componentLibraryDir` | `string` |

**Returns:** `ToolDefinition`



# CreateUser

**Kind:** Type

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/openapi.yaml` (line 1)

## Properties

| Property | Type |
|---|---|
| `email` | `string` |
| `password` | `string` |
| `name` | `string` |

## Referenced By

- `createUser` (REFERENCES)
- `User Management API` (TYPE_OF)



# cropBuffer

**Kind:** Function

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/services/crop.service.ts` (line 111)

Extract a pixel region from an encoded image buffer using sharp.
Returns the cropped image as a new buffer (original untouched).

## Signature

```ts
async function cropBuffer(buffer: Buffer, clip: ClipRect): Promise
```

## Parameters

| Name | Type |
|---|---|
| `buffer` | `Buffer` |
| `clip` | `ClipRect` |

**Returns:** `Promise`



# CSFVersion

**Kind:** Type

**Source:** `atloria-monorepo/libs/parser-core/src/storybook/types.ts` (line 9)

TypeScript types for Component Story Format (CSF) parsing
Supports both CSF 2.0 (Ladle) and CSF 3.0 (Storybook 7+)

## Definition

```ts
'2.0' | '3.0' | 'unknown'
```



# DataProvider

**Kind:** Interface

**Source:** `atloria-monorepo/apps/cli/src/providers/data-provider.interface.ts` (line 47)

Data provider interface
Abstracts fetching entities from file system or API



# delete

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/api/src/suggestion/suggestion.controller.ts` (line 131)

## Endpoint

`DELETE /suggestions/:id`

| Parameter | In | Type | Required |
|---|---|---|---|
| `id` | query | `string` | ✓ |

## Referenced By

- `SuggestionController` (MODULE_DECLARES)
- `SuggestionAliasController` (MODULE_DECLARES)



# deleteUser

**Kind:** Graphql Mutation

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

Delete a user (admin only)

## Referenced By

- `Mutation` (CALLS_API)



# DeskAction

**Kind:** Type

**Source:** `atloria-monorepo/apps/web/src/app/app/desk/components/deskTypes.ts` (line 96)

## Definition

```ts
| 'accept'
  | 'investigating'
  | 'waiting'
  | 'snooze'
  | 'wake'
  | 'done'
  | 'reopen'
  | 'decline'
```



# detectParser

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/orchestrator/orchestrator.controller.ts` (line 200)

Determine parser for a file

## Endpoint

`GET /api/orchestrator/parsers/detect`

| Parameter | In | Type | Required |
|---|---|---|---|
| `filePath` | query | `string` | ✓ |

## Referenced By

- `OrchestratorController` (MODULE_DECLARES)



# DocPlannerService

**Kind:** Service

**Source:** `atloria-monorepo/packages/doc-automation/src/v2/stages/stage-09-planning/doc-planner.service.ts` (line 1)



# DocsMcpToolset

**Kind:** Class

**Source:** `atloria-monorepo/libs/parser-core/src/techdocs/mcp-toolset.ts` (line 53)

## Methods

| Method | Signature | Returns |
|---|---|---|
| `toolDefinitions` | `toolDefinitions()` | `McpToolDef[]` |
| `call` | `call(name: string, args: Record)` | `Promise` |
| `searchDocs` | `searchDocs(query: string, limit: undefined)` | `DocSearchHit[]` |
| `readPage` | `readPage(path: string)` | `{ title: string; path: string; markdown: string } | null` |
| `listPages` | `listPages(section: string)` | `Array<{ title: string; path: string; section?: string }>` |
| `getEntity` | `getEntity(nameOrId: string)` | `{ entity: Entity; relationships: Array<{ direction: 'out' | 'in'; type: string; entity: string }>; source?: string } | null` |
| `searchEntities` | `searchEntities(query: string, kind: string)` | `Array<{ id: string; name: string; type: string }>` |
| `listEndpoints` | `listEndpoints(tag: string)` | `Array<{ method: string; path: string; summary: string }>` |
| `askQuestion` | `askQuestion(question: string)` | `Promise<{ answer: string; citations: string[] }>` |
| `callOperation` | `callOperation(args: Record)` | `Promise` |



# DocumentsPage

**Kind:** Class

**Source:** `atloria-monorepo/apps/web-e2e/src/pages/documents.page.ts` (line 7)

Documents list page object

**Extends:** `BasePage`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `goto` | `goto()` | `Promise` |
| `getDocumentCards` | `getDocumentCards()` | `Locator` |
| `getDocumentByTitle` | `getDocumentByTitle(title: string)` | `Locator` |
| `search` | `search(query: string)` | `Promise` |
| `clearSearch` | `clearSearch()` | `Promise` |
| `clickNewDocument` | `clickNewDocument()` | `Promise` |
| `openDocument` | `openDocument(title: string)` | `Promise` |
| `editDocument` | `editDocument(title: string)` | `Promise` |
| `deleteDocument` | `deleteDocument(title: string)` | `Promise` |
| `getDocumentCount` | `getDocumentCount()` | `Promise` |
| `isEmpty` | `isEmpty()` | `Promise` |
| `filterByType` | `filterByType(type: string)` | `Promise` |
| `sortBy` | `sortBy(option: string)` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `newDocumentButton` | `Locator` |
| `searchInput` | `Locator` |
| `documentList` | `Locator` |
| `filterDropdown` | `Locator` |
| `sortDropdown` | `Locator` |
| `emptyState` | `Locator` |



# EntityType

**Kind:** Enum

**Source:** `atloria-monorepo/packages/types/src/enums/index.ts` (line 74)

Entity types in the Knowledge Graph

## Values

- `SCREEN`
- `COMPONENT`
- `API`
- `FLOW`
- `DB_ENTITY`
- `ROUTE`



# extractHooksFromPath

**Kind:** Function

**Source:** `atloria-monorepo/apps/frontend-parser/src/utils/ast-helpers.ts` (line 273)

Extract hooks used within a function path

## Signature

```ts
function extractHooksFromPath(path: NodePath): HookInfo[]
```

## Parameters

| Name | Type |
|---|---|
| `path` | `NodePath` |

**Returns:** `HookInfo[]`



# FeaturesLayout

**Kind:** Type

**Source:** `atloria-monorepo/libs/pme-core/src/types/index.ts` (line 13)

## Definition

```ts
'grid' | 'alternating' | 'bento' | 'compact'
```



# FetchScreenshotsFn

**Kind:** Type

**Source:** `atloria-monorepo/libs/site-gen-core/src/assembler/tools/query-product-knowledge.tool.ts` (line 65)

Fetch product screenshots, optionally filtered.

## Definition

```ts
(
  projectId: string,
  options?: {
    featureArea?: string;
    pageType?: string;
    viewport?: string;
    limit?: number;
  },
) => Promise
```



# FLOW_ACTIONS

**Kind:** Constant

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/flow-replay.dto.ts` (line 41)

Recorded actions (mirror api `CAPTURE_ACTIONS` in create-flow.dto.ts).
These are mapped to Playwright actions by the FlowReplayService.



# Format

**Kind:** Type

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/batch-screenshot.dto.ts` (line 543)

## Definition

```ts
typeof FORMATS[number]
```



# generateLargePrismaSchema

**Kind:** Function

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/integration/helpers/test-utils.ts` (line 292)

Generate large Prisma schema for testing

## Signature

```ts
function generateLargePrismaSchema(modelCount: number): string
```

## Parameters

| Name | Type |
|---|---|
| `modelCount` | `number` |

**Returns:** `string`



# getJobStatus

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/batch-screenshot.controller.ts` (line 239)

Get batch job status and results

GET /api/screenshot/batch/:jobId/status?organizationId=uuid

Poll this endpoint to track progress and retrieve results.

## Endpoint

`GET /screenshot/batch/:jobId/status`

| Parameter | In | Type | Required |
|---|---|---|---|
| `jobId` | query | `string` | ✓ |
| `organizationId` | query | `string` | ✓ |

## Referenced By

- `BatchScreenshotController` (MODULE_DECLARES)



# GPT4_STANDARD_PROFILE

**Kind:** Constant

**Source:** `atloria-monorepo/libs/agent-core/src/runtime/model-profiles.ts` (line 145)

GPT-4.x family (gpt-4o, gpt-4-turbo, gpt-4.1, etc.)
Standard OpenAI models — no reasoning effort, temperature supported.

## Definition

```ts
ModelCapabilityProfile
```



# ParseJobStatus

**Kind:** Enum

**Source:** `atloria-monorepo/apps/api/src/parsing/dto/parse-status.dto.ts` (line 3)

## Values

- `QUEUED`
- `CLONING`
- `PARSING`
- `SYNCING`
- `COMPLETED`
- `FAILED`



# ParseStatus

**Kind:** Enum

**Source:** `atloria-monorepo/libs/parser-core/src/interfaces/parse-result.interface.ts` (line 18)

Status of a parse operation

## Values

- `SUCCESS`
- `PARTIAL`
- `FAILED`
- `SKIPPED`
- `IN_PROGRESS`
- `QUEUED`



# PME_QUEUE_NAME

**Kind:** Constant

**Source:** `atloria-monorepo/apps/pme-agent/src/queue/constants.ts` (line 1)



# QueueModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/queue/queue.module.ts` (line 19)

## Relationships

- MODULE_PROVIDES → `queueservice`
- MODULE_PROVIDES → `parseprocessor`
- MODULE_EXPORTS → `queueservice`



# QueueService

**Kind:** Service

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/queue/queue.service.ts` (line 18)

## Methods

| Method | Signature | Returns |
|---|---|---|
| `addParseJob` | `addParseJob(payload: Omit, priority: unknown)` | `Promise` |
| `addParseJobsBulk` | `addParseJobsBulk(payloads: Array>)` | `Promise` |
| `getJobStatus` | `getJobStatus(jobId: string)` | `Promise` |
| `getJobResult` | `getJobResult(jobId: string)` | `Promise` |
| `waitForJob` | `waitForJob(jobId: string, timeout: unknown)` | `Promise` |
| `cancelJob` | `cancelJob(jobId: string)` | `Promise` |
| `getMetrics` | `getMetrics()` | `Promise` |
| `getWaitingJobs` | `getWaitingJobs(start: unknown, end: unknown)` | `Promise[]>` |
| `getActiveJobs` | `getActiveJobs()` | `Promise[]>` |
| `getFailedJobs` | `getFailedJobs(start: unknown, end: unknown)` | `Promise[]>` |
| `retryJob` | `retryJob(jobId: string)` | `Promise` |
| `cleanCompleted` | `cleanCompleted(grace: unknown)` | `Promise` |
| `cleanFailed` | `cleanFailed(grace: unknown)` | `Promise` |
| `pause` | `pause()` | `Promise` |
| `resume` | `resume()` | `Promise` |
| `isPaused` | `isPaused()` | `Promise` |

## Relationships

- DEPENDS_ON → `queue`



# RelationshipType

**Kind:** Enum

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/interfaces/relationship.interface.ts` (line 15)

Relationship Interfaces

Defines all relationship types between entities.
Relationships describe how code entities connect and interact.

## Values

- `RENDERS`
- `USES_HOOK`
- `USES_CONTEXT`
- `PROVIDES_CONTEXT`
- `USES_STORE`
- `DISPATCHES_ACTION`
- `CALLS_API`
- `IMPLEMENTS_API`
- `DEPENDS_ON`
- `USES_SERVICE`
- `INJECTS`
- `QUERIES_MODEL`
- `HAS_ONE`
- `HAS_MANY`
- `BELONGS_TO`
- `MANY_TO_MANY`
- `REFERENCES_MODEL`
- `IMPORTS`
- `EXTENDS`
- `IMPLEMENTS`
- `TYPE_OF`
- `CALLS`
- `EXPORTS`
- `RE_EXPORTS`
- `MODULE_IMPORTS`
- `MODULE_PROVIDES`
- `MODULE_EXPORTS`
- `MODULE_DECLARES`
- `DOCUMENTS`
- `REFERENCES`
- `LINKS_TO`
- `DEPLOYED_TO`
- `CONNECTS_TO`
- `CONTAINER_DEPENDS_ON`
- `EXPOSES_PORT`
- `USES_ENV`
- `USES_CONFIG`
- `REQUIRES_FEATURE`
- `TESTS`
- `MOCKS`



# runWithTenantContext

**Kind:** Function

**Source:** `atloria-monorepo/libs/database/src/lib/tenant-context.ts` (line 30)

Run `fn` with the given tenant context bound for the duration of its async execution.

## Signature

```ts
function runWithTenantContext(context: TenantContext, fn: () => T): T
```

## Parameters

| Name | Type |
|---|---|
| `context` | `TenantContext` |
| `fn` | `() => T` |

**Returns:** `T`



# SAMPLE_PROJECTS_PATH

**Kind:** Constant

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/integration/helpers/test-utils.ts` (line 23)



# ScreenshotController

**Kind:** Controller

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/screenshot.controller.ts` (line 176)

## Relationships

- MODULE_DECLARES → `takeScreenshot`
- MODULE_DECLARES → `takeResponsiveScreenshots`
- MODULE_DECLARES → `takeAuthenticatedScreenshot`
- MODULE_DECLARES → `takeSmartAuthenticatedScreenshot`
- DEPENDS_ON → `screenshotservice`



# ScreenshotModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/screenshot.module.ts` (line 20)

## Relationships

- MODULE_IMPORTS → `playwrightmodule`
- MODULE_IMPORTS → `storagemodule`
- MODULE_IMPORTS → `discoverymodule`
- MODULE_DECLARES → `screenshotcontroller`
- MODULE_DECLARES → `batchscreenshotcontroller`
- MODULE_PROVIDES → `screenshotservice`
- MODULE_PROVIDES → `screenshotmetadataservice`
- MODULE_PROVIDES → `retryhandlerservice`
- MODULE_PROVIDES → `actionexecutorservice`
- MODULE_PROVIDES → `stateresolverservice`
- MODULE_PROVIDES → `authcontextservice`
- MODULE_PROVIDES → `pagesettleservice`
- MODULE_PROVIDES → `annotationemitterservice`
- MODULE_PROVIDES → `batchscreenshotservice`
- MODULE_PROVIDES → `flowreplayservice`
- MODULE_EXPORTS → `screenshotservice`
- MODULE_EXPORTS → `screenshotmetadataservice`
- MODULE_EXPORTS → `batchscreenshotservice`
- MODULE_EXPORTS → `flowreplayservice`



# SiteGenerator

**Kind:** Class

**Source:** `atloria-monorepo/apps/cli/src/generators/site.generator.ts` (line 54)

Static Site Generator

## Methods

| Method | Signature | Returns |
|---|---|---|
| `generate` | `generate(metadata: ProjectMetadata, entities: Entity[], relationships: Relationship[])` | `Promise` |



# startAnalysis

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/code-analyzer/src/app/analysis/analysis.controller.ts` (line 30)

Start a new code analysis job

POST /api/analysis

Body:
{
  "projectId": "uuid",
  "repoUrl": "https://github.com/user/repo.git",
  "branch": "main",
  "folderPath": "packages/frontend",  // Optional: for mono-repos
  "framework": "react",               // Optional: auto-detect if not provided
  "patterns": ["src/**\/*.tsx"],       // Optional: custom file patterns
  "modules": ["auth", "dashboard"],   // Optional: specific modules to analyze
  "tokenBudget": 150000,              // Optional: token budget for analysis
  "organizationId": "uuid",
  "triggeredBy": "user-uuid"
}

Returns: { jobId: "uuid" }

## Endpoint

`POST /analysis`

## Referenced By

- `AnalysisController` (MODULE_DECLARES)



# TestCommentData

**Kind:** Interface

**Source:** `atloria-monorepo/apps/web-e2e/src/utils/data-factories.ts` (line 93)

## Properties

| Property | Type |
|---|---|
| `id` | `string` |
| `documentId` | `string` |
| `content` | `string` |
| `authorId` | `string` |
| `authorName` | `string` |
| `resolved` | `boolean` |
| `parentCommentId` | `string` |
| `createdAt` | `string` |
| `updatedAt` | `string` |



# TimelineDot

**Kind:** Component

**Source:** `atloria-monorepo/libs/site-gen-core/src/component-library/sections/social-proof/social-proof-timeline.tsx` (line 37)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `variant` | `unknown | unknown` | ✓ | - |

## Diagram

```mermaid
graph TD
    component_TimelineDot_18ef7c67["TimelineDot"]
    class component_TimelineDot_18ef7c67 rootComponent
```

## Referenced By

- `SocialProofTimeline` (RENDERS)



# users

**Kind:** Graphql Query

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

Get all users with pagination

## Relationships

- TYPE_OF → `UserConnection`

## Referenced By

- `Query` (CALLS_API)



# YamlParser

**Kind:** Class

**Source:** `atloria-monorepo/apps/config-docs-parser/src/parsers/yaml.parser.ts` (line 81)

**Implements:** `IParser`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `initialize` | `initialize(config: ParserConfig)` | `Promise` |
| `canParse` | `canParse(filePath: string)` | `boolean` |
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |
| `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` |
| `destroy` | `destroy()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `any` |
| `version` | `any` |
| `supportedPatterns` | `any` |



# $isDirectiveNode

**Kind:** Function

**Source:** `atloria-monorepo/packages/editor/src/plugins/directives/DirectiveNode.tsx` (line 155)

## Signature

```ts
function $isDirectiveNode(node: LexicalNode | null | undefined): node is DirectiveNode
```

## Parameters

| Name | Type |
|---|---|
| `node` | `LexicalNode | null | undefined` |

**Returns:** `node is DirectiveNode`



# AccordionItem

**Kind:** Component

**Source:** `atloria-monorepo/libs/site-gen-core/src/component-library/_shared/accordion-item.tsx` (line 19)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `questionKey` | `string` | ✓ | - |
| `answerKey` | `string` | ✓ | - |
| `defaultOpen` | `boolean` | - | false |

## Diagram

```mermaid
graph TD
    component_AccordionItem_6bd6a70f["AccordionItem"]
    class component_AccordionItem_6bd6a70f rootComponent
```

## Relationships

- RENDERS → `ChevronDown`
- RENDERS → `AnimatePresence`
- RENDERS → `motion-div`
- USES_HOOK → `useTranslation`
- USES_HOOK → `useState`



# addBottomAreaChild$

**Kind:** Constant

**Source:** `atloria-monorepo/packages/editor/src/plugins/core/index.ts` (line 755)

Lets you add React components below the editor.



# AgentInjectPayload

**Kind:** Interface

**Source:** `atloria-monorepo/apps/api/src/agent/agent.types.ts` (line 84)

## Properties

| Property | Type |
|---|---|
| `message` | `string` |



# AgentNote

**Kind:** Interface

**Source:** `atloria-monorepo/libs/agent-core/src/autonomous/autonomous-loop.ts` (line 222)

A session-scoped note/learning the agent records as it works.
Injected into every subsequent turn so the agent builds up context.

## Properties

| Property | Type |
|---|---|
| `turn` | `number` |
| `content` | `string` |



# AIAssistedConfig

**Kind:** Interface

**Source:** `atloria-monorepo/packages/doc-automation/src/v2/stages/stage-12-screenshots/screenshot-worker.types.ts` (line 158)

AI-assisted capture configuration

## Properties

| Property | Type |
|---|---|
| `verifyAfterActions` | `boolean` |
| `recoveryEnabled` | `boolean` |
| `enrichMetadata` | `boolean` |



# AiCostRateLimitGuard

**Kind:** Service

**Source:** `atloria-monorepo/apps/api/src/technical-docs/guards/ai-cost-rate-limit.guard.ts` (line 14)

Rate limit for COST-BEARING AI endpoints (/ask, /mcp, /assist, /rag/index, /enrich).
Each request spends real money (embedding + gpt-5.6-terra), and /ask + /mcp are reachable
ANONYMOUSLY on public projects — so unlike the per-user AI guard this one:
 - keys by userId when authenticated, else by client IP (anonymous still limited)
 - never fails open to unlimited: when Redis is unavailable it falls back to a
   per-instance in-memory window (weaker, but bounded) instead of waving traffic through.

`AiCostRateLimitGuard` is a NestJS guard that rate-limits **cost-bearing AI endpoints** (e.g. `/ask`, `/mcp`, `/assist`, `/rag/index`, `/enrich`) to control real spend from embeddings and LLM calls. It keys limits by `userId` when authenticated, otherwise by **client IP** so anonymous access on public projects is still bounded. If Redis is unavailable, it **does not fail open**—it falls back to a per-instance in-memory window to keep traffic limited.

## Methods

| Method | Signature | Returns |
|---|---|---|
| `canActivate` | `canActivate(context: ExecutionContext)` | `Promise` |
| `onModuleDestroy` | `onModuleDestroy()` | `unknown` |

## Diagram

```mermaid
sequenceDiagram
  participant Client
  participant Controller
  participant Guard as AiCostRateLimitGuard
  participant Redis
  participant Memory as InMemoryWindow
  participant AI as AI Provider (Embeddings/LLM)

  Client->>Controller: HTTP request to cost-bearing endpoint
  Controller->>Guard: canActivate(context)

  alt Authenticated
    Guard->>Guard: key = userId
  else Anonymous (public project)
    Guard->>Guard: key = client IP
  end

  Guard->>Redis: increment/check window(key)
  alt Redis available + under limit
    Redis-->>Guard: allow
    Guard-->>Controller: proceed
    Controller->>AI: perform embedding/LLM call
    AI-->>Controller: response
    Controller-->>Client: 200 OK
  else Redis available + over limit
    Redis-->>Guard: deny
    Guard-->>Client: 429 Too Many Requests
  else Redis unavailable
    Guard->>Memory: increment/check window(key)
    alt under limit
      Memory-->>Guard: allow
      Guard-->>Controller: proceed
      Controller->>AI: perform embedding/LLM call
      AI-->>Controller: response
      Controller-->>Client: 200 OK
    else over limit
      Memory-->>Guard: deny
      Guard-->>Client: 429 Too Many Requests
    end
  end
```

## Usage

```ts
import { Controller, Post, UseGuards, Body } from '@nestjs/common';
import { AiCostRateLimitGuard } from '../technical-docs/guards/ai-cost-rate-limit.guard';

@Controller()
export class AskController {
  // Apply guard to a cost-bearing endpoint
  @Post('/ask')
  @UseGuards(AiCostRateLimitGuard)
  async ask(@Body() body: { prompt: string }) {
    // If this runs, the request has passed rate limiting.
    // Perform your embedding + LLM call here.
    return { answer: `You asked: ${body.prompt}` };
  }
}

// Alternatively, apply at the controller level:
// @UseGuards(AiCostRateLimitGuard)
// @Controller('/mcp')
// export class McpController { ... }
```

## AI Coding Instructions

- Preserve the **keying strategy**: use `userId` when authenticated; otherwise fall back to **client IP** so anonymous usage is still rate-limited.
- Never change behavior to **fail open** on Redis errors; keep the **in-memory fallback** bounded to prevent unlimited spend during outages.
- Ensure the guard is applied only to **cost-bearing** routes; don’t blanket-apply to non-AI endpoints unless you intend to throttle them too.
- When integrating behind proxies/CDNs, confirm the **true client IP extraction** is correct (e.g., trusted proxy headers) to avoid mis-keying or over-throttling.

## Relationships

- DEPENDS_ON → `configservice`



# AnalyticsExportController

**Kind:** Controller

**Source:** `atloria-monorepo/apps/api/src/analytics/export/analytics-export.controller.ts` (line 34)

## Relationships

- MODULE_DECLARES → `exportNow`
- MODULE_DECLARES → `listReports`
- MODULE_DECLARES → `createReport`
- MODULE_DECLARES → `updateReport`
- MODULE_DECLARES → `deleteReport`
- MODULE_DECLARES → `runReport`
- MODULE_DECLARES → `listExportHistory`
- DEPENDS_ON → `analyticsexportservice`
- DEPENDS_ON → `scheduledreportsservice`



# AnthropicModelProvider

**Kind:** Class

**Source:** `atloria-monorepo/libs/agent-core/src/runtime/anthropic-adapter.ts` (line 630)

**Implements:** `ModelProvider`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `getProfile` | `getProfile()` | `ModelCapabilityProfile` |
| `getModel` | `getModel(modelName: string)` | `AnthropicModel` |



# architectureDecisionRecordTemplate

**Kind:** Constant

**Source:** `atloria-monorepo/apps/api/src/template/seeds/architecture-decision-record.template.ts` (line 3)



# ArgType

**Kind:** Interface

**Source:** `atloria-monorepo/libs/parser-core/src/storybook/types.ts` (line 19)

Arg type definition

## Properties

| Property | Type |
|---|---|
| `name` | `string` |
| `description` | `string` |
| `type` | `{
    name: string;
    required?: boolean;
  }` |
| `defaultValue` | `unknown` |
| `control` | `{
    type: string;
    [key: string]: unknown;
  }` |
| `table` | `{
    type?: { summary: string };
    defaultValue?: { summary: string };
    category?: string;
  }` |
| `options` | `unknown[]` |



# AssetsModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/api/src/assets/assets.module.ts` (line 9)

## Relationships

- MODULE_IMPORTS → `configmodule`
- MODULE_IMPORTS → `databasemodule`
- MODULE_DECLARES → `assetscontroller`
- MODULE_PROVIDES → `assetsservice`
- MODULE_PROVIDES → `azureblobservice`
- MODULE_EXPORTS → `assetsservice`
- MODULE_EXPORTS → `azureblobservice`



# AtloriaAPIClient

**Kind:** Class

**Source:** `atloria-monorepo/packages/api-client/src/AtloriaAPIClient.ts` (line 21)

Main Atloria API client
Provides a unified interface for all API operations

## Methods

| Method | Signature | Returns |
|---|---|---|
| `getInterceptors` | `getInterceptors()` | `InterceptorManager` |
| `setToken` | `setToken(token: string)` | `void` |
| `getToken` | `getToken()` | `string` |
| `initWebSocket` | `initWebSocket(url: string, config: WebSocketConfig)` | `WebSocketClient` |
| `getWebSocket` | `getWebSocket()` | `WebSocketClient | null` |
| `disconnectWebSocket` | `disconnectWebSocket()` | `void` |
| `login` | `login(email: string, password: string)` | `Promise` |
| `logout` | `logout()` | `Promise` |
| `refreshToken` | `refreshToken()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `audiences` | `AudienceEndpoints` |
| `auth` | `AuthEndpoints` |
| `changeRequests` | `ChangeRequestEndpoints` |
| `comments` | `CommentEndpoints` |
| `docsConfig` | `DocsConfigEndpoints` |
| `documents` | `DocumentEndpoints` |
| `projects` | `ProjectEndpoints` |
| `suggestions` | `SuggestionEndpoints` |
| `users` | `UserEndpoints` |



# AudienceBlockProps

**Kind:** Interface

**Source:** `atloria-monorepo/apps/web/src/components/Editor/AudienceBlock.tsx` (line 10)

Props for the AudienceBlock component

## Properties

| Property | Type |
|---|---|
| `audience` | `Audience` |
| `audienceLogic` | `string` |
| `children` | `React.ReactNode` |
| `onEdit` | `() => void` |
| `onDelete` | `() => void` |
| `isNested` | `boolean` |



# Avatar

**Kind:** Component

**Source:** `atloria-monorepo/apps/web/src/components/Comments/CommentThread.tsx` (line 293)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `user` | `unknown` | ✓ | - |
| `size` | `unknown | unknown | unknown` | ✓ | - |

## Diagram

```mermaid
graph TD
    component_Avatar_6ab6d3d7["Avatar"]
    class component_Avatar_6ab6d3d7 rootComponent
```

## Referenced By

- `CommentThread` (RENDERS)
- `CommentReply` (RENDERS)



# AvatarShape

**Kind:** Type

**Source:** `atloria-monorepo/packages/ui-core/src/components/avatar/Avatar.ts` (line 6)

## Definition

```ts
'circle' | 'square'
```



# AzureClaudeProvider

**Kind:** Class

**Source:** `atloria-monorepo/apps/api/src/ai/providers/azure-claude.provider.ts` (line 48)

Azure AI Foundry Claude Provider
Uses native Anthropic Messages API endpoint through Azure AI Foundry
Endpoint: /anthropic/v1/messages

Authentication priority:
1. API Key (ANTHROPIC_FOUNDRY_API_KEY) - simplest, no az login needed
2. Azure AD (DefaultAzureCredential/AzureCliCredential) - fallback

**Implements:** `AIProvider`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `getAzureAIConfig` | `getAzureAIConfig()` | `Promise<{ endpoint: string; accessToken?: string; apiKey?: string; modelName: string } | null>` |
| `isAvailable` | `isAvailable()` | `Promise` |
| `generateText` | `generateText(prompt: string, options: GenerateOptions)` | `Promise` |
| `generateTextWithUsage` | `generateTextWithUsage(prompt: string, options: GenerateOptions)` | `Promise` |
| `generateStream` | `generateStream(prompt: string, options: GenerateOptions)` | `AsyncIterableIterator` |
| `analyze` | `analyze(content: string, type: AnalysisType)` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `any` |



# batchEnrichScreenshots

**Kind:** Function

**Source:** `atloria-monorepo/libs/parser-core/src/utils/screenshot-metadata-enricher.ts` (line 321)

Batch enrich multiple screenshots

## Signature

```ts
function batchEnrichScreenshots(screenshots: Array<{ url: string; route: string; title?: string }>, entities: Entity[]): EnhancedScreenshotMetadata[]
```

## Parameters

| Name | Type |
|---|---|
| `screenshots` | `Array<{ url: string; route: string; title?: string }>` |
| `entities` | `Entity[]` |

**Returns:** `EnhancedScreenshotMetadata[]`



# BatchScreenshotStatusDto

**Kind:** Class

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/batch-screenshot.dto.ts` (line 732)

Full batch status response for polling

## Properties

| Property | Type |
|---|---|
| `id` | `string` |
| `status` | `JobStatus` |
| `progress` | `number` |
| `totalUrls` | `number` |
| `capturedUrls` | `number` |
| `failedUrls` | `number` |
| `currentItem` | `string` |
| `currentStage` | `string` |
| `stageProgress` | `number` |
| `screenshots` | `ScreenshotResultDto[]` |
| `failures` | `ScreenshotFailureDto[]` |
| `flowSteps` | `{ flowStepId: number; blobUrl: string; annotationsFragment: string }[]` |
| `error` | `string` |
| `timestamps` | `{
    createdAt: Date;
    updatedAt: Date;
    startedAt?: Date;
    completedAt?: Date;
  }` |
| `estimatedCompletion` | `Date` |
| `stats` | `{
    averageCaptureTimeMs: number;
    successRate: number;
    retryCount: number;
  }` |



# BenchmarkEvent

**Kind:** Type

**Source:** `atloria-monorepo/libs/agent-core/src/benchmark/types.ts` (line 274)

Typed events emitted by BenchmarkRunner for monitoring.

## Definition

```ts
| { type: 'run_start';    totalTasks: number; suite: string; model: string }
  | { type: 'task_start';   taskId: string; difficulty?: string; index: number; total: number }
  | { type: 'tool_call';    taskId: string; toolName: string; inputPreview: string }
  | { type: 'tool_result';  taskId: string…
```



# buildBashEnv

**Kind:** Function

**Source:** `atloria-monorepo/libs/agent-core/src/benchmark/agent-hardening.ts` (line 56)

Build bash environment with pager-disabling variables.

Pattern from SWE-agent: Disable all interactive pagers and progress bars
to prevent the agent's bash commands from hanging on user input prompts.

Merges with existing env, overriding pager-related vars.

## Signature

```ts
function buildBashEnv(existingEnv: Record): Record
```

## Parameters

| Name | Type |
|---|---|
| `existingEnv` | `Record` |

**Returns:** `Record`



# buildComposerInsert

**Kind:** Function

**Source:** `atloria-monorepo/apps/web/src/app/app/desk/components/copilotUtils.ts` (line 69)

## Signature

```ts
function buildComposerInsert(answer: string, sources: CopilotAskSource[]): string
```

## Parameters

| Name | Type |
|---|---|
| `answer` | `string` |
| `sources` | `CopilotAskSource[]` |

**Returns:** `string`



# buildMockupAnimationsCss

**Kind:** Function

**Source:** `atloria-monorepo/libs/pme-core/src/tools/mockups.ts` (line 103)

## Signature

```ts
function buildMockupAnimationsCss(): string
```

**Returns:** `string`



# buildPagesManifest

**Kind:** Function

**Source:** `atloria-monorepo/apps/api/src/docs-repo/sidecar.ts` (line 114)

Build the pages manifest as a deterministic string. Pages are emitted sorted by path so the
output is a pure function of the served set (no insertion-order dependence). Section order is
PRESERVED (reading order carries meaning); screen slugs are sorted+deduped (a provenance set).

## Signature

```ts
function buildPagesManifest(normalizerVersion: string, pages: PageIdentity[]): string
```

## Parameters

| Name | Type |
|---|---|
| `normalizerVersion` | `string` |
| `pages` | `PageIdentity[]` |

**Returns:** `string`



# CapturedDOMState

**Kind:** Interface

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/services/action-executor.service.ts` (line 13)

DOM state captured from a page

## Properties

| Property | Type |
|---|---|
| `url` | `string` |
| `html` | `string` |
| `hasModal` | `boolean` |
| `hasError` | `boolean` |
| `errorMessages` | `string[]` |
| `visibleButtons` | `{ selector: string; text: string; isEnabled: boolean }[]` |
| `visibleInputs` | `{ selector: string; type: string; placeholder: string }[]` |
| `isLoading` | `boolean` |
| `pageTitle` | `string` |



# captureDiagnostics

**Kind:** Function

**Source:** `atloria-monorepo/apps/cli/src/utils/ai-auth-debugger.ts` (line 52)

Capture comprehensive diagnostics about current page state

## Signature

```ts
async function captureDiagnostics(page: any, phase: string, attemptLog: any[]): Promise
```

## Parameters

| Name | Type |
|---|---|
| `page` | `any` |
| `phase` | `string` |
| `attemptLog` | `any[]` |

**Returns:** `Promise`



# categoryLabels

**Kind:** Constant

**Source:** `atloria-monorepo/apps/web/src/constants/templateCategories.ts` (line 7)

Human-readable labels for template categories
Used across template components for consistent display

## Definition

```ts
Record
```



# checkHeadingHierarchy

**Kind:** Function

**Source:** `atloria-monorepo/apps/web-e2e/src/utils/accessibility.ts` (line 317)

Check heading hierarchy

## Signature

```ts
async function checkHeadingHierarchy(page: Page): Promise<{ valid: boolean; issues: string[] }>
```

## Parameters

| Name | Type |
|---|---|
| `page` | `Page` |

**Returns:** `Promise<{ valid: boolean; issues: string[] }>`



# Child

**Kind:** Component

**Source:** `atloria-monorepo/packages/editor/src/examples/realm-plugin.tsx` (line 25)

## Diagram

```mermaid
graph TD
    component_Child_3b902d1a["Child"]
    class component_Child_3b902d1a rootComponent
```

## Relationships

- USES_HOOK → `useCellValue`

## Referenced By

- `Example` (RENDERS)



# CodeBlockInfo

**Kind:** Interface

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/interfaces/entity.interface.ts` (line 889)

Code block information

## Properties

| Property | Type |
|---|---|
| `language` | `string` |
| `line` | `number` |
| `lines` | `number` |



# ComparisonRowProps

**Kind:** Interface

**Source:** `atloria-monorepo/libs/site-gen-core/src/component-library/_shared/comparison-row.tsx` (line 11)

## Properties

| Property | Type |
|---|---|
| `featureKey` | `string` |
| `values` | `(boolean | string)[]` |



# CopywriterInput

**Kind:** Interface

**Source:** `atloria-monorepo/libs/pme-core/src/prompts/copywriter.prompts.ts` (line 10)

## Properties

| Property | Type |
|---|---|
| `sectionType` | `SectionType` |
| `docContext` | `string` |
| `config` | `GenerationConfig` |



# createQueryProductKnowledgeTool

**Kind:** Function

**Source:** `atloria-monorepo/libs/site-gen-core/src/assembler/tools/query-product-knowledge.tool.ts` (line 105)

## Signature

```ts
function createQueryProductKnowledgeTool(deps: ProductKnowledgeDeps): ToolDefinition
```

## Parameters

| Name | Type |
|---|---|
| `deps` | `ProductKnowledgeDeps` |

**Returns:** `ToolDefinition`



# CrKind

**Kind:** Type

**Source:** `atloria-monorepo/apps/api/src/change-request/dto/change-request.dto.ts` (line 6)

## Definition

```ts
(typeof CR_KINDS)[number]
```



# Crop

**Kind:** Service

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/services/crop.service.ts` (line 1)



# DataProviderConfig

**Kind:** Interface

**Source:** `atloria-monorepo/apps/cli/src/providers/data-provider.interface.ts` (line 33)

Data provider configuration

## Properties

| Property | Type |
|---|---|
| `mode` | `'static' | 'dynamic'` |
| `outputDir` | `string` |
| `apiUrl` | `string` |
| `apiKey` | `string` |
| `projectId` | `string` |



# delete

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/api/src/suggestion/suggestion.controller.ts` (line 131)

## Endpoint

`DELETE /suggestions/:id`

| Parameter | In | Type | Required |
|---|---|---|---|
| `id` | query | `string` | ✓ |

## Referenced By

- `SuggestionController` (MODULE_DECLARES)
- `SuggestionAliasController` (MODULE_DECLARES)



# DeploymentNodeType

**Kind:** Type

**Source:** `atloria-monorepo/libs/parser-core/src/generators/diagrams/deployment-diagram.generator.ts` (line 22)

Types of deployment nodes

## Definition

```ts
| 'container'
  | 'service'
  | 'database'
  | 'cache'
  | 'queue'
  | 'api-gateway'
  | 'load-balancer'
  | 'external-service'
```



# DeskState

**Kind:** Type

**Source:** `atloria-monorepo/apps/web/src/app/app/desk/components/deskTypes.ts` (line 137)

## Definition

```ts
'needs_first' | 'needs_next' | 'investigating' | 'waiting' | 'paused' | 'done'
```



# dispatchJob

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/orchestrator/orchestrator.controller.ts` (line 34)

Dispatch a parse job

## Endpoint

`POST /api/orchestrator/jobs`

## Referenced By

- `OrchestratorController` (MODULE_DECLARES)



# DocVerifierService

**Kind:** Service

**Source:** `atloria-monorepo/packages/doc-automation/src/v2/stages/stage-10-generation/doc-verifier.service.ts` (line 1)



# DotNetParser

**Kind:** Class

**Source:** `atloria-monorepo/libs/parser-core/src/parsers/backend/dotnet.parser.ts` (line 34)

.NET Parser implementation using Roslyn bridge

**Implements:** `IParser`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `initialize` | `initialize(_config: ParserConfig)` | `Promise` |
| `canParse` | `canParse(filePath: string)` | `boolean` |
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |
| `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` |
| `parseProject` | `parseProject(rootDir: string)` | `Promise` |
| `destroy` | `destroy()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `any` |
| `version` | `any` |
| `supportedPatterns` | `any` |



# extractImportsFromDeclaration

**Kind:** Function

**Source:** `atloria-monorepo/apps/frontend-parser/src/utils/ast-helpers.ts` (line 98)

Extract imports from an ImportDeclaration node

## Signature

```ts
function extractImportsFromDeclaration(path: NodePath): ImportInfo[]
```

## Parameters

| Name | Type |
|---|---|
| `path` | `NodePath` |

**Returns:** `ImportInfo[]`



# FetchStatsFn

**Kind:** Type

**Source:** `atloria-monorepo/libs/site-gen-core/src/assembler/tools/query-product-knowledge.tool.ts` (line 55)

Fetch aggregate product stats from the knowledge graph.

## Definition

```ts
(
  projectId: string,
) => Promise
```



# FindScreenshotsFn

**Kind:** Type

**Source:** `atloria-monorepo/libs/pme-core/src/tools/find-screenshots.tool.ts` (line 15)

Function signature for querying screenshots.
Injected at creation time — wraps PrismaService.screenshot.findMany().

## Definition

```ts
(
  projectId: string,
  options?: {
    urlPattern?: string;
    featureArea?: string;
    pageType?: string;
    viewport?: string;
    limit?: number;
  }
) => Promise
```



# flowKey

**Kind:** Function

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/services/crop.service.ts` (line 134)

Deterministic storage key for a flow step screenshot.

Naming scheme (WS-A flow-replay):
  flowKey('abc', 0)          => 'flows/abc/step-0.png'      (initial state, full page)
  flowKey('abc', 2)          => 'flows/abc/step-2.png'      (state after step 2, full page)
  flowKey('abc', 2, 'crop')  => 'flows/abc/step-2-crop.png' (tight crop around the target)

The no-variant key is the canonical FULL-PAGE image the docs reference (it is
the one the annotation fragment's coordinates are computed against). 'crop' is
an auxiliary tight close-up. 'full' is retained for backward compat.

## Signature

```ts
function flowKey(flowId: string, stepOrder: number, variant: 'full' | 'crop'): string
```

## Parameters

| Name | Type |
|---|---|
| `flowId` | `string` |
| `stepOrder` | `number` |
| `variant` | `'full' | 'crop'` |

**Returns:** `string`



# followUser

**Kind:** Graphql Mutation

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

Follow a user

## Relationships

- TYPE_OF → `Follow`

## Referenced By

- `Mutation` (CALLS_API)



# FORMATS

**Kind:** Constant

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/batch-screenshot.dto.ts` (line 542)



# FrameAction

**Kind:** Type

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/batch-screenshot.dto.ts` (line 41)

## Definition

```ts
typeof FRAME_ACTIONS[number]
```



# generateLargeReactFile

**Kind:** Function

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/integration/helpers/test-utils.ts` (line 248)

Generate large file content for performance testing

## Signature

```ts
function generateLargeReactFile(componentCount: number): string
```

## Parameters

| Name | Type |
|---|---|
| `componentCount` | `number` |

**Returns:** `string`



# getPageHtml

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/batch-screenshot.controller.ts` (line 308)

Validate selectors exist on a page

POST /api/screenshot/validate-selectors

Loads the page and checks if all provided selectors exist.
Use this to verify login form selectors before batch processing.

## Endpoint

`POST /screenshot/page-html`

## Referenced By

- `BatchScreenshotController` (MODULE_DECLARES)



# GPT5_FLAGSHIP_PROFILE

**Kind:** Constant

**Source:** `atloria-monorepo/libs/agent-core/src/runtime/model-profiles.ts` (line 125)

GPT-5.4 (Azure Responses API) — the Atloria primary model.
Key quirks:
  - reasoning_effort defaults to 'none' → skips tool calls
  - temperature is unsupported when reasoning is active
  - tool_choice: 'required' needed on turn 1 to force at least one call

## Definition

```ts
ModelCapabilityProfile
```



# Like

**Kind:** Graphql Type

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

Like on a post

## Relationships

- TYPE_OF → `User`
- TYPE_OF → `Post`
- TYPE_OF → `DateTime`

## Referenced By

- `likePost` (TYPE_OF)
- `Post` (TYPE_OF)



# LoginPage

**Kind:** Class

**Source:** `atloria-monorepo/apps/web-e2e/src/pages/auth.page.ts` (line 7)

Login page object

**Extends:** `BasePage`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `goto` | `goto()` | `Promise` |
| `login` | `login(email: string, password: string)` | `Promise` |
| `loginAndWait` | `loginAndWait(email: string, password: string)` | `Promise` |
| `hasError` | `hasError()` | `Promise` |
| `getErrorMessage` | `getErrorMessage()` | `Promise` |
| `toggleRememberMe` | `toggleRememberMe()` | `Promise` |
| `goToRegister` | `goToRegister()` | `Promise` |
| `goToForgotPassword` | `goToForgotPassword()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `emailInput` | `Locator` |
| `passwordInput` | `Locator` |
| `submitButton` | `Locator` |
| `errorMessage` | `Locator` |
| `forgotPasswordLink` | `Locator` |
| `registerLink` | `Locator` |
| `rememberMeCheckbox` | `Locator` |



# LoginRequest

**Kind:** Type

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/openapi.yaml` (line 1)

## Properties

| Property | Type |
|---|---|
| `email` | `string` |
| `password` | `string` |

## Referenced By

- `login` (REFERENCES)
- `User Management API` (TYPE_OF)



# NotificationType

**Kind:** Enum

**Source:** `atloria-monorepo/packages/types/src/enums/index.ts` (line 86)

Notification types

## Values

- `MENTION`
- `COMMENT`
- `SUGGESTION`
- `DOCUMENT_SHARED`
- `REVIEW_REQUEST`
- `SYSTEM`



# RelationshipType

**Kind:** Enum

**Source:** `atloria-monorepo/libs/parser-core/src/interfaces/relationship.interface.ts` (line 14)

Relationship Interfaces

Defines all relationship types between entities.
Relationships describe how code entities connect and interact.

## Values

- `RENDERS`
- `USES_HOOK`
- `USES_CONTEXT`
- `PROVIDES_CONTEXT`
- `USES_STORE`
- `DISPATCHES_ACTION`
- `SELECTS_STATE`
- `REDUCES`
- `TRIGGERS_EFFECT`
- `UPDATES_STORE`
- `CALLS_API`
- `IMPLEMENTS_API`
- `DEPENDS_ON`
- `USES_SERVICE`
- `INJECTS`
- `QUERIES_MODEL`
- `HAS_ONE`
- `HAS_MANY`
- `BELONGS_TO`
- `MANY_TO_MANY`
- `REFERENCES_MODEL`
- `IMPORTS`
- `EXTENDS`
- `IMPLEMENTS`
- `TYPE_OF`
- `CALLS`
- `EXPORTS`
- `RE_EXPORTS`
- `MODULE_IMPORTS`
- `MODULE_PROVIDES`
- `MODULE_EXPORTS`
- `MODULE_DECLARES`
- `DOCUMENTS`
- `REFERENCES`
- `LINKS_TO`
- `DEPLOYED_TO`
- `CONNECTS_TO`
- `CONTAINER_DEPENDS_ON`
- `EXPOSES_PORT`
- `USES_ENV`
- `USES_CONFIG`
- `REQUIRES_FEATURE`
- `TESTS`
- `MOCKS`



# RelationType

**Kind:** Enum

**Source:** `atloria-monorepo/apps/api/src/graph/interfaces/entity.interface.ts` (line 13)

## Values

- `IMPLEMENTS`
- `DEPENDS_ON`
- `RELATES_TO`
- `REFERENCES`
- `BLOCKS`
- `CONTAINS`
- `USES`



# REQUIRED_PROJECT_ROOTS

**Kind:** Constant

**Source:** `atloria-monorepo/apps/pme-agent/test/discovery/ground-truth.ts` (line 110)

Major project roots the agent MUST identify



# SAMPLE_PROJECTS_PATH

**Kind:** Constant

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/integration/setup.ts` (line 19)



# StdioTransport

**Kind:** Class

**Source:** `atloria-monorepo/apps/cli/src/stdio-transport.ts` (line 34)

**Implements:** `AgentTransport`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `handleEvent` | `handleEvent(event: AgentProtocolEvent)` | `void` |



# StorageModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/storage/storage.module.ts` (line 4)

## Relationships

- MODULE_PROVIDES → `storageservice`
- MODULE_EXPORTS → `storageservice`



# TestDocumentData

**Kind:** Interface

**Source:** `atloria-monorepo/apps/web-e2e/src/utils/data-factories.ts` (line 52)

## Properties

| Property | Type |
|---|---|
| `id` | `string` |
| `title` | `string` |
| `slug` | `string` |
| `content` | `string` |
| `type` | `'MANUAL' | 'GENERATED' | 'HYBRID' | 'WIKI' | 'API_GUIDE'` |
| `audiences` | `('TECHNICAL' | 'USER' | 'API' | 'INTERNAL')[]` |
| `createdAt` | `string` |
| `updatedAt` | `string` |



# UsersModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/src/users/users.module.ts` (line 13)

## Relationships

- MODULE_IMPORTS → `prismamodule`
- MODULE_IMPORTS → `eventemittermodule`
- MODULE_DECLARES → `userscontroller`
- MODULE_PROVIDES → `usersservice`
- MODULE_EXPORTS → `usersservice`



# UsersService

**Kind:** Service

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/src/users/users.service.ts` (line 15)

## Methods

| Method | Signature | Returns |
|---|---|---|
| `findAll` | `findAll(paginationQuery: PaginationQueryDto)` | `unknown` |
| `findOne` | `findOne(id: string)` | `unknown` |
| `findByEmail` | `findByEmail(email: string)` | `unknown` |
| `create` | `create(createUserDto: CreateUserDto)` | `unknown` |
| `update` | `update(id: string, updateUserDto: UpdateUserDto)` | `unknown` |
| `remove` | `remove(id: string)` | `unknown` |
| `getUserPosts` | `getUserPosts(userId: string)` | `unknown` |
| `getFollowers` | `getFollowers(userId: string)` | `unknown` |

## Relationships

- DEPENDS_ON → `prismaservice`
- DEPENDS_ON → `eventemitter2`



# whereHasOrgScope

**Kind:** Function

**Source:** `atloria-monorepo/libs/database/src/lib/tenant-backstop.ts` (line 50)

True if `organizationId` appears anywhere in the where tree (top level or inside AND/OR/NOT),
meaning the developer scoped the query intentionally. Presence — not value — is what we check;
this is what keeps an intentional `OR: [{ isPublic }, { organizationId }]` from being flagged.

## Signature

```ts
function whereHasOrgScope(where: unknown): boolean
```

## Parameters

| Name | Type |
|---|---|
| `where` | `unknown` |

**Returns:** `boolean`



# $isLexicalJsxNode

**Kind:** Function

**Source:** `atloria-monorepo/packages/editor/src/plugins/jsx/LexicalJsxNode.tsx` (line 151)

## Signature

```ts
function $isLexicalJsxNode(node: LexicalNode | null | undefined): node is LexicalJsxNode
```

## Parameters

| Name | Type |
|---|---|
| `node` | `LexicalNode | null | undefined` |

**Returns:** `node is LexicalJsxNode`



# addComposerChild$

**Kind:** Constant

**Source:** `atloria-monorepo/packages/editor/src/plugins/core/index.ts` (line 737)



# AgentMessageEvent

**Kind:** Interface

**Source:** `atloria-monorepo/apps/api/src/agent/agent.types.ts` (line 107)

## Properties

| Property | Type |
|---|---|
| `text` | `string` |
| `agentName` | `string` |
| `delta` | `boolean` |



# AgentProtocolEvent

**Kind:** Interface

**Source:** `atloria-monorepo/libs/agent-core/src/protocol/agent-protocol.ts` (line 85)

A fully typed protocol event — the unit flowing through transports

## Properties

| Property | Type |
|---|---|
| `type` | `T` |
| `timestamp` | `number` |
| `data` | `AgentProtocolEventMap[T]` |



# AIGenerateOptions

**Kind:** Interface

**Source:** `atloria-monorepo/packages/doc-automation/src/v2/providers/ai-provider.interface.ts` (line 23)

## Properties

| Property | Type |
|---|---|
| `maxTokens` | `number` |
| `temperature` | `number` |
| `systemPrompt` | `string` |
| `messages` | `AIMessage[]` |
| `stopSequences` | `string[]` |
| `responseFormat` | `'text' | 'json_object'` |
| `timeout` | `number` |
| `images` | `string[]` |



# AIService

**Kind:** Service

**Source:** `atloria-monorepo/apps/api/src/ai/ai.service.ts` (line 13)

## Methods

| Method | Signature | Returns |
|---|---|---|
| `getProvider` | `getProvider(name: string)` | `AIProvider` |
| `listProviders` | `listProviders()` | `unknown` |
| `enhanceDocument` | `enhanceDocument(documentId: string, providerName: string)` | `Promise` |
| `generateOutline` | `generateOutline(topic: string, audience: string, providerName: string)` | `Promise` |
| `improveWriting` | `improveWriting(text: string, providerName: string)` | `Promise` |
| `summarizeDocument` | `summarizeDocument(documentId: string, providerName: string)` | `Promise` |
| `streamCompletion` | `streamCompletion(prompt: string, providerName: string)` | `AsyncIterableIterator` |
| `generateText` | `generateText(prompt: string, providerName: string)` | `Promise` |

## Relationships

- DEPENDS_ON → `prismaservice`
- DEPENDS_ON → `configservice`
- DEPENDS_ON → `azureclaudeprovider`
- DEPENDS_ON → `azureopenaiprovider`
- DEPENDS_ON → `azureresponsesprovider`
- DEPENDS_ON → `azureresponsesprovider`



# AppController

**Kind:** Controller

**Source:** `atloria-monorepo/apps/api/src/app/app.controller.ts` (line 5)

## Relationships

- MODULE_DECLARES → `getData`
- MODULE_DECLARES → `getPublicStats`
- MODULE_DECLARES → `healthCheck`
- DEPENDS_ON → `appservice`



# ASK_CREDIT_COST

**Kind:** Constant

**Source:** `atloria-monorepo/apps/api/src/billing/billing.constants.ts` (line 22)



# AsyncStatePattern

**Kind:** Interface

**Source:** `atloria-monorepo/libs/parser-core/src/interfaces/state-management.interface.ts` (line 266)

Async state pattern (for React Query, SWR, async Redux)

## Properties

| Property | Type |
|---|---|
| `states` | `{
    idle: boolean;
    loading: boolean;
    success: boolean;
    error: boolean;
  }` |
| `dataField` | `string` |
| `errorField` | `string` |
| `loadingField` | `string` |
| `queryKey` | `string` |
| `mutationFn` | `string` |
| `endpoint` | `string` |
| `hasRetry` | `boolean` |
| `hasOptimisticUpdate` | `boolean` |



# AtloriaAPIExplorer

**Kind:** Class

**Source:** `atloria-monorepo/packages/ui-core/src/components/api-explorer/APIExplorer.ts` (line 63)

**Extends:** `LitElement`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `willUpdate` | `willUpdate(changed: Map)` | `void` |
| `connectedCallback` | `connectedCallback()` | `void` |
| `disconnectedCallback` | `disconnectedCallback()` | `void` |
| `render` | `render()` | `void` |

## Properties

| Property | Type |
|---|---|
| `styles` | `any` |
| `spec` | `OpenAPISpec` |
| `endpoints` | `APIEndpoint[]` |
| `environments` | `Environment[]` |
| `mode` | `'explorer' | 'documentation'` |
| `defaultEndpoint` | `string` |
| `proxyUrl` | `string` |
| `presetBearerToken` | `string` |



# AudienceModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/api/src/audience/audience.module.ts` (line 9)

## Relationships

- MODULE_IMPORTS → `databasemodule`
- MODULE_IMPORTS → `authmodule`
- MODULE_DECLARES → `audiencecontroller`
- MODULE_PROVIDES → `audienceservice`
- MODULE_EXPORTS → `audienceservice`



# AudienceSelectorModalProps

**Kind:** Interface

**Source:** `atloria-monorepo/apps/web/src/components/Editor/AudienceSelectorModal.tsx` (line 11)

Props for the AudienceSelectorModal component

## Properties

| Property | Type |
|---|---|
| `open` | `boolean` |
| `onClose` | `() => void` |
| `onApply` | `(logic: string) => void` |
| `audiences` | `Audience[]` |
| `initialSelection` | `string[]` |



# AutonomousTurnHook

**Kind:** Class

**Source:** `atloria-monorepo/libs/agent-core/src/autonomous/autonomous-loop.ts` (line 612)

TurnHook that drives autonomous agent behavior.

It watches what the agent is doing (via tool calls in input items)
and injects nudges when the agent skips investigation or verification.

Usage:
```typescript
const hook = new AutonomousTurnHook({
  maxTurns: 40,
  qualityGateProvider: async () => [
    { id: 'tests_pass', description: 'All tests pass', passed: false },
  ],
});
```

**Implements:** `TurnHook`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `updateTokenUsage` | `updateTokenUsage(inputTokens: number)` | `void` |
| `getCircleDetector` | `getCircleDetector()` | `CircleDetector | null` |
| `beforeModelCall` | `beforeModelCall(args: TurnHookArgs)` | `Promise<{ instructions?: string; input?: AgentInputItem[] }>` |
| `getState` | `getState()` | `Readonly` |
| `getRecentFiles` | `getRecentFiles()` | `readonly string[]` |

## Properties

| Property | Type |
|---|---|
| `onPreCompact` | `(data: { turnNumber: number; tokenCount: number; recentFiles: string[] }) => void` |
| `onPostCompact` | `(data: { turnNumber: number; summaryInjected: boolean }) => void` |



# AvatarSize

**Kind:** Type

**Source:** `atloria-monorepo/packages/ui-core/src/components/avatar/Avatar.ts` (line 5)

## Definition

```ts
'xs' | 'sm' | 'md' | 'lg' | 'xl'
```



# AzureOpenAIProvider

**Kind:** Class

**Source:** `atloria-monorepo/apps/api/src/ai/providers/azure-openai.provider.ts` (line 47)

**Implements:** `AIProvider`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `isAvailable` | `isAvailable()` | `Promise` |
| `generateText` | `generateText(prompt: string, options: GenerateOptions)` | `Promise` |
| `generateTextWithUsage` | `generateTextWithUsage(prompt: string, options: GenerateOptions)` | `Promise` |
| `generateStream` | `generateStream(prompt: string, options: GenerateOptions)` | `AsyncIterableIterator` |
| `analyze` | `analyze(content: string, type: AnalysisType)` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `any` |



# buildBenchmarkPrompt

**Kind:** Function

**Source:** `atloria-monorepo/libs/agent-core/src/autonomous/adaptive-prompt.ts` (line 229)

Build a benchmark-optimized system prompt.

Unlike `buildAdaptivePrompt` (which has a 5-phase workflow including
"run baseline tests first"), this prompt is action-first:

  1. Read the issue → identify the source file and function
  2. Call edit_file immediately with the fix
  3. Run the targeted test to verify

The "establish baseline first" step is intentionally omitted because:
  - Baselines consume 50-80% of the turn budget on analysis
  - The model then produces text describing its plan instead of calling edit_file
  - Azure Responses API expires previous_response_id on completion → no second turn
  - SWE-bench eval applies the diff, not the agent's text response

Used by BenchmarkRunner instead of buildAdaptivePrompt.

## Signature

```ts
function buildBenchmarkPrompt(options: {
  workspace: string;
  toolGuide: string;
  repoMap?: string;
  domainRules?: string[];
  /** Specific test names that must pass (from SWE-bench FAIL_TO_PASS metadata) */
  failToPassTests?: string[];
}): string
```

## Parameters

| Name | Type |
|---|---|
| `options` | `{
  workspace: string;
  toolGuide: string;
  repoMap?: string;
  domainRules?: string[];
  /** Specific test names that must pass (from SWE-bench FAIL_TO_PASS metadata) */
  failToPassTests?: string[];
}` |

**Returns:** `string`



# buildDocumentUrl

**Kind:** Function

**Source:** `atloria-monorepo/apps/web/src/lib/url-utils.ts` (line 52)

Build a document URL from components

## Signature

```ts
function buildDocumentUrl(slug: string, urlId: string, audience: string): string
```

## Parameters

| Name | Type |
|---|---|
| `slug` | `string` |
| `urlId` | `string` |
| `audience` | `string` |

**Returns:** `string`



# buildEntityPageIndexes

**Kind:** Function

**Source:** `atloria-monorepo/libs/parser-core/src/techdocs/entity-page.ts` (line 228)

Build the shared indexes renderEntityPage can consume, ONCE, for callers that render many
pages from the same graph. Turns per-page O(entities+relationships) work into O(deg) lookups.

## Signature

```ts
function buildEntityPageIndexes(entities: Entity[], relationships: Relationship[]): {
  nameResolver: (id: string) => string;
  outgoingBySource: Map;
  incomingByTarget: Map;
}
```

## Parameters

| Name | Type |
|---|---|
| `entities` | `Entity[]` |
| `relationships` | `Relationship[]` |

**Returns:** `{
  nameResolver: (id: string) => string;
  outgoingBySource: Map;
  incomingByTarget: Map;
}`



# buildQaSystemPrompt

**Kind:** Function

**Source:** `atloria-monorepo/libs/pme-core/src/prompts/qa.prompts.ts` (line 7)

QA Agent Prompts

Prompts for visual QA evaluation of generated marketing pages.

## Signature

```ts
function buildQaSystemPrompt(): string
```

**Returns:** `string`



# buildSearchIndex

**Kind:** Function

**Source:** `atloria-monorepo/apps/api/src/technical-docs/search-index.ts` (line 178)

Pure transform: corpus pages + entity graph → a compact static search index.
Deterministic for identical inputs (stable order, stable ids).

## Signature

```ts
function buildSearchIndex(slugWithId: string, pages: RawIndexPage[], entities: GraphEntity[], relationships: GraphRelationship[], generatedAt: Date): StaticSearchIndex
```

## Parameters

| Name | Type |
|---|---|
| `slugWithId` | `string` |
| `pages` | `RawIndexPage[]` |
| `entities` | `GraphEntity[]` |
| `relationships` | `GraphRelationship[]` |
| `generatedAt` | `Date` |

**Returns:** `StaticSearchIndex`



# categoryLabelsWithAll

**Kind:** Constant

**Source:** `atloria-monorepo/apps/web/src/constants/templateCategories.ts` (line 23)

Extended labels including "All" option for filter components

## Definition

```ts
Record
```



# checkKeyboardNavigation

**Kind:** Function

**Source:** `atloria-monorepo/apps/web-e2e/src/utils/accessibility.ts` (line 137)

Check keyboard navigation

## Signature

```ts
async function checkKeyboardNavigation(page: Page, expectedFocusOrder: string[]): Promise
```

## Parameters

| Name | Type |
|---|---|
| `page` | `Page` |
| `expectedFocusOrder` | `string[]` |

**Returns:** `Promise`



# ClipDto

**Kind:** Class

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/batch-screenshot.dto.ts` (line 190)

Clip region DTO for partial page screenshots

## Properties

| Property | Type |
|---|---|
| `x` | `number` |
| `y` | `number` |
| `width` | `number` |
| `height` | `number` |



# ClipRect

**Kind:** Interface

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/services/crop.service.ts` (line 19)

A Playwright clip rect, in PIXELS.

## Properties

| Property | Type |
|---|---|
| `x` | `number` |
| `y` | `number` |
| `width` | `number` |
| `height` | `number` |



# Code

**Kind:** Component

**Source:** `atloria-monorepo/apps/web/src/app/p/[slugId]/technical/entity/[entityId]/page.tsx` (line 37)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `children` | `unknown` | ✓ | - |

## Diagram

```mermaid
graph TD
    component_Code_3887f2e4["Code"]
    class component_Code_3887f2e4 rootComponent
```

## Referenced By

- `MethodsTable` (RENDERS)
- `FieldsTable` (RENDERS)



# CodeBlockEditorContextProvider

**Kind:** Component

**Source:** `atloria-monorepo/packages/editor/src/plugins/codeblock/CodeBlockNode.tsx` (line 191)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `parentEditor` | `any` | ✓ | - |
| `lexicalNode` | `any` | ✓ | - |
| `children` | `any` | ✓ | - |

## Diagram

```mermaid
graph TD
    component_CodeBlockEditorContextProvider_799537f6["CodeBlockEditorContextProvider"]
    class component_CodeBlockEditorContextProvider_799537f6 rootComponent
```

## Relationships

- RENDERS → `CodeBlockEditorContext-Provider`
- USES_HOOK → `useMemo`

## Referenced By

- `CodeBlockEditorContainer` (RENDERS)



# ComparisonFeatureTable

**Kind:** Component

**Source:** `atloria-monorepo/libs/site-gen-core/src/component-library/sections/comparison/comparison-feature-table.tsx` (line 21)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `headlineKey` | `string` | ✓ | - |
| `descriptionKey` | `string` | - | - |
| `columns` | `unknown[]` | ✓ | - |
| `features` | `unknown[]` | ✓ | - |

## Diagram

```mermaid
graph TD
    component_ComparisonFeatureTable_3ab2c8e0["ComparisonFeatureTable"]
    class component_ComparisonFeatureTable_3ab2c8e0 rootComponent
```

## Relationships

- RENDERS → `motion-div`
- RENDERS → `motion-h2`
- RENDERS → `motion-p`
- RENDERS → `ComparisonRow`
- USES_HOOK → `useTranslation`



# ComponentEntity

**Kind:** Interface

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/interfaces/entity.interface.ts` (line 296)

Component entity (React, Vue, Angular)

## Properties

| Property | Type |
|---|---|
| `type` | `EntityType.COMPONENT` |
| `componentType` | `'functional' | 'class'` |
| `props` | `PropDefinition[]` |
| `hooks` | `HookUsage[]` |
| `events` | `EventDefinition[]` |
| `slots` | `SlotDefinition[]` |
| `childComponents` | `string[]` |
| `stateManagement` | `StateManagementInfo` |
| `exports` | `ExportInfo` |



# configCommand

**Kind:** Function

**Source:** `atloria-monorepo/apps/cli/src/commands/config.command.ts` (line 99)

Config command handler

## Signature

```ts
async function configCommand(options: ConfigOptions): Promise
```

## Parameters

| Name | Type |
|---|---|
| `options` | `ConfigOptions` |

**Returns:** `Promise`



# CreatePostInput

**Kind:** Graphql Type

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

Input for creating a post

## Referenced By

- `createPost` (TYPE_OF)



# createReadManifestTool

**Kind:** Function

**Source:** `atloria-monorepo/libs/site-gen-core/src/assembler/tools/read-manifest.tool.ts` (line 11)

## Signature

```ts
function createReadManifestTool(componentLibraryDir: string): ToolDefinition
```

## Parameters

| Name | Type |
|---|---|
| `componentLibraryDir` | `string` |

**Returns:** `ToolDefinition`



# CrStatus

**Kind:** Type

**Source:** `atloria-monorepo/apps/api/src/change-request/dto/change-request.dto.ts` (line 9)

## Definition

```ts
(typeof CR_STATUSES)[number]
```



# CtaCardProps

**Kind:** Interface

**Source:** `atloria-monorepo/libs/site-gen-core/src/component-library/sections/cta/cta-card.tsx` (line 14)

## Properties

| Property | Type |
|---|---|
| `headlineKey` | `string` |
| `descriptionKey` | `string` |
| `primaryCtaKey` | `string` |
| `primaryCtaUrl` | `string` |
| `secondaryCtaKey` | `string` |
| `secondaryCtaUrl` | `string` |
| `icon` | `LucideIcon` |



# DiscoveryService

**Kind:** Service

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/discovery/discovery.service.ts` (line 48)

## Methods

| Method | Signature | Returns |
|---|---|---|
| `scan` | `scan(dto: DiscoveryScanRequestDto)` | `Promise` |
| `scanWithPage` | `scanWithPage(page: Page, baseUrl: string, dto: DiscoveryScanRequestDto, startTime: unknown)` | `Promise` |

## Relationships

- DEPENDS_ON → `playwrightservice`
- DEPENDS_ON → `pageprofilerservice`



# DocPage

**Kind:** Interface

**Source:** `atloria-monorepo/apps/cli/src/generators/mdx.generator.ts` (line 40)

Documentation page content for API sync

## Properties

| Property | Type |
|---|---|
| `slug` | `string` |
| `title` | `string` |
| `description` | `string` |
| `type` | `string` |
| `content` | `string` |
| `order` | `number` |
| `parentSlug` | `string` |
| `entityId` | `string` |



# DocSearchResult

**Kind:** Interface

**Source:** `atloria-monorepo/libs/pme-core/src/types/index.ts` (line 137)

Document search result from Azure AI Search.

## Properties

| Property | Type |
|---|---|
| `id` | `string` |
| `title` | `string` |
| `content` | `string` |
| `moduleId` | `string` |
| `score` | `number` |



# DomainStatus

**Kind:** Type

**Source:** `atloria-monorepo/apps/web/src/lib/api-client.ts` (line 42)

## Definition

```ts
| 'pending_dns'
  | 'verifying'
  | 'issuing_certificate'
  | 'live'
  | 'verification_failed'
  | 'certificate_failed'
  | 'offline'
  | 'removed'
```



# EntityMapper

**Kind:** Service

**Source:** `atloria-monorepo/packages/doc-automation/src/v2/stages/stage-01-parse/services/entity-mapper.service.ts` (line 1)



# EnvParser

**Kind:** Class

**Source:** `atloria-monorepo/libs/parser-core/src/parsers/config-docs/env.parser.ts` (line 64)

Environment Variable Parser implementation

**Implements:** `IParser`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `initialize` | `initialize(_config: ParserConfig)` | `Promise` |
| `canParse` | `canParse(filePath: string)` | `boolean` |
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |
| `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` |
| `destroy` | `destroy()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `any` |
| `version` | `any` |
| `supportedPatterns` | `any` |



# extractJSDocDescription

**Kind:** Function

**Source:** `atloria-monorepo/apps/frontend-parser/src/utils/ast-helpers.ts` (line 493)

Extract JSDoc description from leading comments

## Signature

```ts
function extractJSDocDescription(path: NodePath): string | undefined
```

## Parameters

| Name | Type |
|---|---|
| `path` | `NodePath` |

**Returns:** `string | undefined`



# FailureCategory

**Kind:** Type

**Source:** `atloria-monorepo/libs/agent-core/src/benchmark/types.ts` (line 47)

Classified reason for task failure.

## Definition

```ts
| 'timeout'           // Task exceeded time limit
  | 'no_changes'        // Agent didn't modify any files
  | 'test_failure'      // Changes made but tests still fail
  | 'setup_error'       // Workspace setup failed (clone, patch, install)
  | 'agent_error'       // Agent runtime error
  | 'wrong_…
```



# FetchWorkflowsFn

**Kind:** Type

**Source:** `atloria-monorepo/libs/site-gen-core/src/assembler/tools/query-product-knowledge.tool.ts` (line 37)

Fetch user workflows (state machines, journeys) discovered from code.

## Definition

```ts
(
  projectId: string,
  options?: { featureId?: string; limit?: number },
) => Promise
```



# findAll

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/src/users/users.controller.ts` (line 34)

## Endpoint

`GET /users`

| Parameter | In | Type | Required |
|---|---|---|---|
| `paginationQuery` | query | `PaginationQueryDto` | ✓ |

## Referenced By

- `UsersController` (MODULE_DECLARES)



# flowStepsKey

**Kind:** Function

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/services/flow-replay.service.ts` (line 34)

Redis key holding the ordered per-step results for a flow-replay job.

## Signature

```ts
function flowStepsKey(jobId: string)
```

## Parameters

| Name | Type |
|---|---|
| `jobId` | `string` |



# FRAME_ACTIONS

**Kind:** Constant

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/batch-screenshot.dto.ts` (line 40)



# getAllParserInstances

**Kind:** Function

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/queue/processors/parser-registry.ts` (line 139)

Get all parser instances

## Signature

```ts
function getAllParserInstances(): Map
```

**Returns:** `Map`



# getById

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/api/src/suggestion/suggestion.controller.ts` (line 137)

## Endpoint

`GET /suggestions/:id`

| Parameter | In | Type | Required |
|---|---|---|---|
| `id` | query | `string` | ✓ |

## Referenced By

- `SuggestionController` (MODULE_DECLARES)
- `SuggestionAliasController` (MODULE_DECLARES)



# GPT54_FAMILY_ROUTING_TABLE

**Kind:** Constant

**Source:** `atloria-monorepo/libs/agent-core/src/runtime/model-router.ts` (line 80)

Production routing table for atlas-docs-resource (East US 2).
Use this when all three GPT-5.4 family models are deployed.

Cost profile vs using gpt-5.6-terra for everything:
  - 60-70% of calls (explore/analyze/tool_dispatch) → nano/mini → ~15-6x cheaper
  - plan/implement (quality-critical) → gpt-5.6-terra full

## Definition

```ts
ModelRoutingTable
```



# HeroLayout

**Kind:** Type

**Source:** `atloria-monorepo/libs/pme-core/src/types/index.ts` (line 12)

PME Core Types

Domain types for the Product Marketing Engine.
These are PME-specific — not generic agent types.

## Definition

```ts
'centered' | 'split-left' | 'split-right' | 'minimal'
```



# JobStatus

**Kind:** Type

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/batch-screenshot.dto.ts` (line 668)

## Definition

```ts
'pending' | 'running' | 'completed' | 'failed'
```



# likePost

**Kind:** Graphql Mutation

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

Like a post

## Relationships

- TYPE_OF → `Like`

## Referenced By

- `Mutation` (CALLS_API)



# LlmComplete

**Kind:** Type

**Source:** `atloria-monorepo/libs/parser-core/src/techdocs/grounded-ask.ts` (line 13)

## Definition

```ts
(prompt: string) => Promise
```



# NewDocumentPage

**Kind:** Class

**Source:** `atloria-monorepo/apps/web-e2e/src/pages/documents.page.ts` (line 254)

New document page object

**Extends:** `BasePage`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `goto` | `goto()` | `Promise` |
| `createBlankDocument` | `createBlankDocument(title: string)` | `Promise` |
| `createFromTemplate` | `createFromTemplate(templateName: string)` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `titleInput` | `Locator` |
| `createButton` | `Locator` |
| `templateGallery` | `Locator` |



# renderPdf

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/pdf/pdf.controller.ts` (line 30)

Render composed HTML to a PDF binary.

POST /api/screenshot/pdf
Body: { "html": "…", "options": { "format": "A4" } }
Returns: application/pdf bytes.

The HTML may use CSS `page-break-after`/`page-break-before` to control
per-page breaks (the API's doc export puts one doc page per printed page).

## Endpoint

`POST /screenshot/pdf`

## Referenced By

- `PdfController` (MODULE_DECLARES)



# RepositoryProvider

**Kind:** Enum

**Source:** `atloria-monorepo/apps/api/src/parsing/dto/parse-project.dto.ts` (line 5)

## Values

- `GITHUB`
- `AZURE_DEVOPS`
- `GITLAB`



# SuggestionStatus

**Kind:** Enum

**Source:** `atloria-monorepo/packages/types/src/enums/index.ts` (line 65)

Suggestion status tracks the review state of document suggestions

## Values

- `PENDING`
- `ACCEPTED`
- `REJECTED`



# TARGETING_TASKS

**Kind:** Constant

**Source:** `atloria-monorepo/apps/pme-agent/test/discovery/ground-truth.ts` (line 164)

## Definition

```ts
TargetingTask[]
```



# TestTemplateData

**Kind:** Interface

**Source:** `atloria-monorepo/apps/web-e2e/src/utils/data-factories.ts` (line 153)

## Properties

| Property | Type |
|---|---|
| `id` | `string` |
| `name` | `string` |
| `description` | `string` |
| `category` | `TemplateCategory` |
| `content` | `string` |
| `thumbnail` | `string` |
| `createdAt` | `string` |
| `updatedAt` | `string` |



# UpdateUser

**Kind:** Type

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/openapi.yaml` (line 1)

## Properties

| Property | Type |
|---|---|
| `name` | `string` |
| `email` | `string` |

## Referenced By

- `updateUser` (REFERENCES)
- `User Management API` (TYPE_OF)



# UserJourneyNodeType

**Kind:** Enum

**Source:** `atloria-monorepo/libs/parser-core/src/interfaces/user-journey.interface.ts` (line 18)

User Journey Interfaces

Defines data structures for representing user journeys and flows
that will be converted into Mermaid flowchart diagrams.

User journeys differ from state machines:
- State machines focus on system states and transitions
- User journeys focus on user actions, screens, and navigation paths

## Values

- `START`
- `END`
- `SCREEN`
- `ACTION`
- `DECISION`
- `MODAL`
- `PROCESS`
- `NAVIGATION`
- `SUBFLOW`



# addEditorWrapper$

**Kind:** Constant

**Source:** `atloria-monorepo/packages/editor/src/plugins/core/index.ts` (line 764)

Lets you add React components as wrappers around the editor.



# admonitionLabelsMap

**Kind:** Function

**Source:** `atloria-monorepo/packages/editor/src/plugins/toolbar/components/ChangeAdmonitionType.tsx` (line 9)

## Signature

```ts
function admonitionLabelsMap(t: Translation): Record<(typeof ADMONITION_TYPES)[number], string>
```

## Parameters

| Name | Type |
|---|---|
| `t` | `Translation` |

**Returns:** `Record<(typeof ADMONITION_TYPES)[number], string>`



# AgentProtocolEventMap

**Kind:** Interface

**Source:** `atloria-monorepo/libs/agent-core/src/protocol/agent-protocol.ts` (line 36)

## Properties

| Property | Type |
|---|---|
| `'agent:thinking'` | `{ agentName: string }` |
| `'agent:tool_start'` | `{ toolName: string; input: string }` |
| `'agent:tool_end'` | `{ toolName: string; outputPreview: string; durationMs: number }` |
| `'agent:message'` | `{ text: string; agentName: string; delta: boolean }` |
| `'agent:turn_done'` | `{ turnNumber: number; usage: TokenUsage }` |
| `'agent:error'` | `{ message: string; recoverable: boolean }` |
| `'agent:status_update'` | `{ code: string; message: string }` |
| `'agent:input_queued'` | `{ message: string; position: number }` |
| `'agent:verbose'` | `{ category: string; message: string; data?: Record; timestamp: number }` |
| `'agent:ended'` | `{ totalUsage: TokenUsage; turnCount: number }` |
| `'agent:todo'` | `{ items: ReadonlyArray; stats: TodoStats }` |
| `'agent:plan_ready'` | `{ plan: string }` |
| `'agent:plan_approved'` | `Record` |
| `'agent:model_switched'` | `{ from: string; to: string; reason: string }` |
| `'agent:session_start'` | `{ model: string; workspace?: string }` |
| `'agent:session_end'` | `{ totalUsage: TokenUsage; turnCount: number; reason: 'completed' | 'error' | 'cancelled' }` |
| `'agent:pre_compact'` | `{ turnNumber: number; tokenCount: number; recentFiles: string[] }` |
| `'agent:post_compact'` | `{ turnNumber: number; summaryInjected: boolean }` |
| `'agent:subagent_start'` | `{ agentName: string; task: string }` |
| `'agent:subagent_end'` | `{ agentName: string; output: string; durationMs: number }` |
| `'agent:user_prompt_submit'` | `{ message: string }` |



# AgentRegenInput

**Kind:** Interface

**Source:** `atloria-monorepo/apps/api/src/docs-pr/agent-regen.service.ts` (line 4)

## Properties

| Property | Type |
|---|---|
| `clonePath` | `string` |
| `entityName` | `string` |
| `entityFile` | `string` |
| `diff` | `string` |
| `before` | `string` |



# AIMessage

**Kind:** Interface

**Source:** `atloria-monorepo/packages/doc-automation/src/v2/providers/ai-provider.interface.ts` (line 10)

## Properties

| Property | Type |
|---|---|
| `role` | `'system' | 'user' | 'assistant'` |
| `content` | `string` |



# AIUsageService

**Kind:** Service

**Source:** `atloria-monorepo/apps/api/src/ai/ai-usage.service.ts` (line 112)

## Methods

| Method | Signature | Returns |
|---|---|---|
| `calculateCost` | `calculateCost(model: string, usage: TokenUsage)` | `UsageCost` |
| `trackUsage` | `trackUsage(params: TrackUsageParams)` | `Promise` |
| `deductCredits` | `deductCredits(organizationId: string, amount: number, transaction: {
      referenceType: string;
      referenceId: string;
      description: string;
      userId: string;
    })` | `Promise<{ balance: number }>` |
| `getOrganizationUsage` | `getOrganizationUsage(organizationId: string, startDate: Date, endDate: Date)` | `unknown` |
| `queryLogs` | `queryLogs(opts: {
    organizationId: string;
    projectId?: string;
    userId?: string;
    provider?: string;
    model?: string;
    operationType?: string;
    startDate?: string;
    endDate?: string;
    limit?: number;
    offset?: number;
  })` | `unknown` |
| `getOrganizationBalance` | `getOrganizationBalance(organizationId: string)` | `unknown` |
| `addCredits` | `addCredits(organizationId: string, amount: number, userId: string, description: string, reference: { type: string; id: string })` | `unknown` |

## Relationships

- DEPENDS_ON → `prismaservice`



# AssetsController

**Kind:** Controller

**Source:** `atloria-monorepo/apps/api/src/assets/assets.controller.ts` (line 21)

## Relationships

- MODULE_DECLARES → `uploadImage`
- MODULE_DECLARES → `listAssets`
- MODULE_DECLARES → `getAsset`
- MODULE_DECLARES → `deleteAsset`
- DEPENDS_ON → `assetsservice`



# ASSIST_CREDIT_COST

**Kind:** Constant

**Source:** `atloria-monorepo/apps/api/src/billing/billing.constants.ts` (line 23)



# AtloriaAvatar

**Kind:** Class

**Source:** `atloria-monorepo/packages/ui-core/src/components/avatar/Avatar.ts` (line 17)

An avatar component that displays images or initials

**Extends:** `LitElement`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `render` | `render()` | `void` |

## Properties

| Property | Type |
|---|---|
| `styles` | `any` |
| `src` | `any` |
| `alt` | `any` |
| `name` | `any` |
| `initials` | `any` |
| `size` | `AvatarSize` |
| `shape` | `AvatarShape` |
| `status` | `'online' | 'offline' | 'busy' | 'away'` |
| `ring` | `any` |
| `clickable` | `any` |
| `group` | `any` |



# AuditModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/api/src/audit/audit.module.ts` (line 7)

## Relationships

- MODULE_IMPORTS → `databasemodule`
- MODULE_IMPORTS → `authmodule`
- MODULE_DECLARES → `auditcontroller`
- MODULE_PROVIDES → `auditservice`
- MODULE_EXPORTS → `auditservice`



# AuthConfigDiscovery

**Kind:** Interface

**Source:** `atloria-monorepo/libs/parser-core/src/utils/permission-extractor.ts` (line 40)

Authentication configuration discovered in source code

## Properties

| Property | Type |
|---|---|
| `loginRoute` | `string` |
| `roles` | `string[]` |
| `roleSource` | `RoleSourceType` |
| `templatePermissions` | `string[]` |
| `guardNames` | `string[]` |



# AwarenessState

**Kind:** Interface

**Source:** `atloria-monorepo/apps/web/src/hooks/useCollaboration.ts` (line 48)

Awareness state for a user

## Properties

| Property | Type |
|---|---|
| `userId` | `string` |
| `userName` | `string` |
| `color` | `string` |
| `cursor` | `CursorPosition` |
| `selection` | `SelectionRange` |



# AzureModelProvider

**Kind:** Class

**Source:** `atloria-monorepo/libs/agent-core/src/runtime/model-adapter.ts` (line 663)

Azure Model Provider — factory that returns AzureResponsesModel instances.
Passed to the SDK Runner as the modelProvider.

Supports model fallback: if a fallbackModel is configured, the provider
wraps the primary model with automatic failover. When the primary model
fails with a non-transient error (e.g., model unavailable, quota exceeded),
it transparently switches to the fallback model for the rest of the run.

Inspired by Claude Code's FallbackTriggeredError → switch models pattern.

**Implements:** `ModelProvider`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `getProfile` | `getProfile()` | `ModelCapabilityProfile` |
| `getModel` | `getModel(modelName: string)` | `AzureResponsesModel` |



# AzureResponsesProvider

**Kind:** Class

**Source:** `atloria-monorepo/apps/api/src/ai/providers/azure-responses.provider.ts` (line 34)

Azure Responses API Provider

Implements the NestJS AIProvider interface using the Azure OpenAI Responses API.
This is a fundamentally different API format from Chat Completions:
- Request: `input` (not `messages`), `instructions` (not system role), `max_output_tokens`
- Response: `output_text`, `usage.input_tokens`/`output_tokens`
- Streaming: typed `event:` + `data:` pairs with `response.output_text.delta` events

**Implements:** `AIProvider`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `isAvailable` | `isAvailable()` | `Promise` |
| `generateText` | `generateText(prompt: string, options: GenerateOptions)` | `Promise` |
| `generateTextWithUsage` | `generateTextWithUsage(prompt: string, options: GenerateOptions)` | `Promise` |
| `generateStream` | `generateStream(prompt: string, options: GenerateOptions)` | `AsyncIterableIterator` |
| `analyze` | `analyze(content: string, type: AnalysisType)` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `string` |



# BackendFramework

**Kind:** Type

**Source:** `atloria-monorepo/packages/doc-automation/src/v2/types/framework.types.ts` (line 30)

Detected backend framework

## Definition

```ts
| 'dotnet'
  | 'express'
  | 'nestjs'
  | 'fastify'
  | 'koa'
  | 'hono'
  | 'fastapi'
  | 'django'
  | 'flask'
  | 'spring'
  | 'rails'
  | 'laravel'
  | 'unknown'
```



# buildCodeReviewPlan

**Kind:** Function

**Source:** `atloria-monorepo/libs/agent-core/src/autonomous/workflows/code-review.ts` (line 59)

Build a code review orchestration plan.

Launches 3 parallel reviewers with different focuses and applies
confidence-based filtering to produce a deduplicated, prioritized
issue list.

## Signature

```ts
function buildCodeReviewPlan(options: {
  diffContext?: string;
  guidelines?: string;
  confidenceThreshold?: number;
}): OrchestrationPlan
```

## Parameters

| Name | Type |
|---|---|
| `options` | `{
  diffContext?: string;
  guidelines?: string;
  confidenceThreshold?: number;
}` |

**Returns:** `OrchestrationPlan`



# buildGroundedPrompt

**Kind:** Function

**Source:** `atloria-monorepo/libs/parser-core/src/techdocs/grounded-ask.ts` (line 18)

Build the grounded prompt: each source leads with its citable [path] id.

## Signature

```ts
function buildGroundedPrompt(question: string, context: DocSearchHit[]): string
```

## Parameters

| Name | Type |
|---|---|
| `question` | `string` |
| `context` | `DocSearchHit[]` |

**Returns:** `string`



# buildMcpSnippets

**Kind:** Function

**Source:** `atloria-monorepo/apps/web/src/components/McpInstallBlock.tsx` (line 44)

Build the copy-paste snippet + optional deeplink for each client.

## Signature

```ts
function buildMcpSnippets({
  mcpUrl,
  serverName,
  authToken,
}: {
  mcpUrl: string;
  serverName: string;
  authToken?: string;
})
```

## Parameters

| Name | Type |
|---|---|
| `{
  mcpUrl,
  serverName,
  authToken,
}` | `{
  mcpUrl: string;
  serverName: string;
  authToken?: string;
}` |



# buildQaTaskPrompt

**Kind:** Function

**Source:** `atloria-monorepo/libs/pme-core/src/prompts/qa.prompts.ts` (line 73)

## Signature

```ts
function buildQaTaskPrompt(pageUrl: string, viewport: string): string
```

## Parameters

| Name | Type |
|---|---|
| `pageUrl` | `string` |
| `viewport` | `string` |

**Returns:** `string`



# buildSystemPrompt

**Kind:** Function

**Source:** `atloria-monorepo/apps/api/src/support-agent/prompts/system-prompt-layers.ts` (line 239)

Assembles all prompt layers into a complete system prompt

## Signature

```ts
function buildSystemPrompt(context: PromptContext): string
```

## Parameters

| Name | Type |
|---|---|
| `context` | `PromptContext` |

**Returns:** `string`



# categoryVariants

**Kind:** Constant

**Source:** `atloria-monorepo/apps/web/src/constants/templateCategories.ts` (line 47)

Badge variants for each category

## Definition

```ts
Record<
  TemplateCategory,
  'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error' | 'default'
>
```



# checkMemoryLeaks

**Kind:** Function

**Source:** `atloria-monorepo/apps/web-e2e/src/utils/performance.ts` (line 253)

Check for memory leaks by monitoring heap size

## Signature

```ts
async function checkMemoryLeaks(page: Page, action: () => Promise, iterations): Promise<{
  hasLeak: boolean;
  heapGrowth: number;
  initialHeap: number;
  finalHeap: number;
}>
```

## Parameters

| Name | Type |
|---|---|
| `page` | `Page` |
| `action` | `() => Promise` |
| `iterations` | `any` |

**Returns:** `Promise<{
  hasLeak: boolean;
  heapGrowth: number;
  initialHeap: number;
  finalHeap: number;
}>`



# ColorsToolbar

**Kind:** Component

**Source:** `atloria-monorepo/packages/editor/src/examples/colors.tsx` (line 27)

## Diagram

```mermaid
graph TD
    component_ColorsToolbar_3f580f2a["ColorsToolbar"]
    class component_ColorsToolbar_3f580f2a rootComponent
```

## Relationships

- USES_HOOK → `useCellValues`
- USES_HOOK → `useMemo`

## Referenced By

- `SpanWithColor` (RENDERS)



# ComparisonRow

**Kind:** Component

**Source:** `atloria-monorepo/libs/site-gen-core/src/component-library/_shared/comparison-row.tsx` (line 16)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `featureKey` | `string` | ✓ | - |
| `values` | `unknown[]` | ✓ | - |

## Diagram

```mermaid
graph TD
    component_ComparisonRow_2fc9e457["ComparisonRow"]
    class component_ComparisonRow_2fc9e457 rootComponent
```

## Relationships

- RENDERS → `Check`
- RENDERS → `X`
- USES_HOOK → `useTranslation`



# ComponentHintsDto

**Kind:** Class

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/batch-screenshot.dto.ts` (line 293)

Component library hints

## Properties

| Property | Type |
|---|---|
| `componentLibrary` | `'devextreme' | 'mui' | 'antd' | 'primeng'` |
| `componentHints` | `string` |



# ControllerEntity

**Kind:** Interface

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/interfaces/entity.interface.ts` (line 790)

Controller entity

## Properties

| Property | Type |
|---|---|
| `type` | `EntityType.CONTROLLER` |
| `basePath` | `string` |
| `guards` | `string[]` |
| `interceptors` | `string[]` |
| `endpoints` | `string[]` |
| `dependencies` | `DependencyInfo[]` |



# CopyButton

**Kind:** Component

**Source:** `atloria-monorepo/apps/web/src/components/Domains/DomainTab.tsx` (line 124)

Small copy-to-clipboard button used in every DNS table cell.

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `value` | `string` | ✓ | - |
| `className` | `string` | - | "" |

## Diagram

```mermaid
graph TD
    component_CopyButton_308f90ac["CopyButton"]
    class component_CopyButton_308f90ac rootComponent
```

## Relationships

- RENDERS → `CheckIcon`
- RENDERS → `ClipboardDocumentIcon`
- USES_HOOK → `useState`

## Referenced By

- `SubdomainCard` (RENDERS)
- `CustomDomainCard` (RENDERS)



# createDataProvider

**Kind:** Function

**Source:** `atloria-monorepo/apps/cli/src/providers/index.ts` (line 19)

Create a data provider based on mode

## Signature

```ts
function createDataProvider(config: DataProviderConfig): DataProvider
```

## Parameters

| Name | Type |
|---|---|
| `config` | `DataProviderConfig` |

**Returns:** `DataProvider`



# createSiteGenAgent

**Kind:** Function

**Source:** `atloria-monorepo/libs/site-gen-core/src/assembler/agents/site-gen.agent.ts` (line 74)

Create the site generation agent config.

Usage:
```typescript
const agent = createSiteGenAgent(config, deps);
const result = await runtime.run(agent, {
  data: { projectId, userId, outputDir },
  input: 'Generate a marketing site for this project.',
});
```

## Signature

```ts
function createSiteGenAgent(config: SiteGenConfig, deps: SiteGenDependencies): AgentConfig
```

## Parameters

| Name | Type |
|---|---|
| `config` | `SiteGenConfig` |
| `deps` | `SiteGenDependencies` |

**Returns:** `AgentConfig`



# CreateUserInput

**Kind:** Graphql Type

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

Input for creating a user

## Referenced By

- `createUser` (TYPE_OF)



# DeskBucket

**Kind:** Type

**Source:** `atloria-monorepo/apps/api/src/issues/dto/desk.dto.ts` (line 25)

## Definition

```ts
(typeof DESK_BUCKETS)[number]
```



# EmptyStateType

**Kind:** Type

**Source:** `atloria-monorepo/apps/web/src/components/common/EmptyState.tsx` (line 14)

## Definition

```ts
| 'no-projects'
  | 'no-categories'
  | 'no-documents'
  | 'no-search-results'
  | 'no-templates'
  | 'no-versions'
```



# ExistingScreenshot

**Kind:** Interface

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/screenshot-metadata.service.ts` (line 26)

## Properties

| Property | Type |
|---|---|
| `id` | `string` |
| `assetId` | `string` |
| `url` | `string` |
| `version` | `number` |
| `contentHash` | `string` |
| `stateType` | `string` |
| `flowStepId` | `string` |



# ExpressParser

**Kind:** Class

**Source:** `atloria-monorepo/libs/parser-core/src/parsers/backend/express.parser.ts` (line 41)

Express Parser implementation

**Implements:** `IParser`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `initialize` | `initialize(config: ParserConfig)` | `Promise` |
| `canParse` | `canParse(filePath: string)` | `boolean` |
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |
| `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` |
| `destroy` | `destroy()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `any` |
| `version` | `any` |
| `supportedPatterns` | `any` |



# extractPropsFromParameter

**Kind:** Function

**Source:** `atloria-monorepo/apps/frontend-parser/src/utils/ast-helpers.ts` (line 147)

Extract props from a function component's first parameter

## Signature

```ts
function extractPropsFromParameter(param: t.Node | null | undefined): PropInfo[]
```

## Parameters

| Name | Type |
|---|---|
| `param` | `t.Node | null | undefined` |

**Returns:** `PropInfo[]`



# FeatureExtractorService

**Kind:** Service

**Source:** `atloria-monorepo/packages/doc-automation/src/v2/stages/stage-03-features/extractor.service.ts` (line 1)



# FeatureIconProps

**Kind:** Interface

**Source:** `atloria-monorepo/libs/site-gen-core/src/component-library/_shared/feature-icon.tsx` (line 11)

## Properties

| Property | Type |
|---|---|
| `icon` | `LucideIcon` |
| `size` | `number` |
| `className` | `string` |



# findOne

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/src/users/users.controller.ts` (line 41)

## Endpoint

`GET /users/:id`

| Parameter | In | Type | Required |
|---|---|---|---|
| `id` | query | `string` | ✓ |

## Referenced By

- `UsersController` (MODULE_DECLARES)



# FlowReplayService

**Kind:** Service

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/services/flow-replay.service.ts` (line 51)

FlowReplayService (WS-A) — the sequential single-context walk.

Replays a recorded flow in ONE browser context / ONE page, shooting a
screenshot after each action (plus one for the initial state). The first shot
is uploaded immediately ("first shot fast") so the reader sees something while
the rest of the walk runs. Every step is best-effort: a failed step is logged
and the walk continues, mirroring the batch service's resilience.

All heavy lifting reuses the Phase-0 foundation (AuthContextService,
PageSettleService, ActionExecutorService, AnnotationEmitterService, crop
helpers, StorageService, ScreenshotMetadataService) — nothing is forked.

`FlowReplayService` replays a recorded user flow sequentially in a single browser context and single page, capturing a screenshot for the initial state and after each action. It prioritizes uploading the first screenshot immediately (“first shot fast”) so consumers see early feedback while the remaining steps continue. Each step is executed best-effort: failures are logged and the replay continues, reusing the shared Phase-0 services (auth, settle, action execution, annotations, cropping, storage, metadata).

## Methods

| Method | Signature | Returns |
|---|---|---|
| `createFlowJob` | `createFlowJob(dto: FlowReplayRequestDto)` | `Promise` |
| `replayFlow` | `replayFlow(jobId: string, dto: FlowReplayRequestDto)` | `Promise` |
| `getFlowSteps` | `getFlowSteps(jobId: string)` | `Promise` |
| `reshootStep` | `reshootStep(dto: FlowReshootRequestDto)` | `Promise` |
| `replayForLocales` | `replayForLocales(dto: FlowLocalesRequestDto)` | `Promise` |

## Diagram

```mermaid
sequenceDiagram
  autonumber
  participant Caller
  participant FlowReplayService as FlowReplayService
  participant Auth as AuthContextService
  participant PageSettle as PageSettleService
  participant Exec as ActionExecutorService
  participant Annot as AnnotationEmitterService
  participant Shot as ScreenshotMetadataService
  participant Storage as StorageService

  Caller->>FlowReplayService: replay(flowRecording, options)
  FlowReplayService->>Auth: init single browser context + page
  FlowReplayService->>PageSettle: settle initial state
  FlowReplayService->>Annot: emit annotations (initial)
  FlowReplayService->>Shot: capture + build metadata (initial)
  FlowReplayService->>Storage: upload(initial) (first shot fast)
  FlowReplayService-->>Caller: emit/return initial result (early)

  loop each recorded action
    FlowReplayService->>Exec: execute(action)
    alt action fails
      FlowReplayService->>FlowReplayService: log error, continue
    end
    FlowReplayService->>PageSettle: settle after action
    FlowReplayService->>Annot: emit annotations (step)
    FlowReplayService->>Shot: capture + build metadata (step)
    FlowReplayService->>Storage: upload(step)
  end

  FlowReplayService->>Auth: dispose/cleanup context
  FlowReplayService-->>Caller: final replay result
```

## Usage

```ts
import { Injectable } from '@nestjs/common';
import { FlowReplayService } from './screenshot/services/flow-replay.service';

@Injectable()
export class FlowReplayRunner {
  constructor(private readonly flowReplay: FlowReplayService) {}

  async runRecordedFlow(flowRecording: any) {
    // Typical call shape: pass the recorded flow + any replay options.
    // (Exact DTOs/options depend on your app; this illustrates usage.)
    const result = await this.flowReplay.replay(flowRecording, {
      // e.g. storagePrefix, viewport, crop, annotations, etc.
      firstShotFast: true,
    });

    // result usually includes per-step screenshot refs/metadata
    // and any logged step errors (best-effort execution).
    return result;
  }
}
```

## AI Coding Instructions

- Keep replays strictly single-context / single-page; do not introduce parallel pages here—use the batch/parallel service for that.
- Preserve the “first shot fast” behavior: upload/emit the initial screenshot as early as possible before executing the rest of the steps.
- Treat each action as best-effort: catch and log step failures, then continue; avoid failing the entire replay unless setup/teardown is broken.
- Reuse Phase-0 integration points (AuthContextService, PageSettleService, ActionExecutorService, AnnotationEmitterService, crop helpers, StorageService, ScreenshotMetadataService) instead of duplicating logic.
- Always run settle + annotation emission before capturing screenshots to avoid flakey, mid-transition images and inconsistent overlays.

## Relationships

- DEPENDS_ON → `playwrightservice`
- DEPENDS_ON → `storageservice`
- DEPENDS_ON → `screenshotmetadataservice`
- DEPENDS_ON → `prismaservice`
- DEPENDS_ON → `redisservice`
- DEPENDS_ON → `actionexecutorservice`
- DEPENDS_ON → `authcontextservice`
- DEPENDS_ON → `pagesettleservice`
- DEPENDS_ON → `annotationemitterservice`
- DEPENDS_ON → `configservice`



# GeneratedImageResult

**Kind:** Interface

**Source:** `atloria-monorepo/libs/pme-core/src/types/index.ts` (line 177)

Generated image result from GPT-image-1.5.

## Properties

| Property | Type |
|---|---|
| `url` | `string` |
| `cdnUrl` | `string` |
| `width` | `number` |
| `height` | `number` |
| `format` | `string` |
| `sizeBytes` | `number` |



# getById

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/api/src/suggestion/suggestion.controller.ts` (line 137)

## Endpoint

`GET /suggestions/:id`

| Parameter | In | Type | Required |
|---|---|---|---|
| `id` | query | `string` | ✓ |

## Referenced By

- `SuggestionController` (MODULE_DECLARES)
- `SuggestionAliasController` (MODULE_DECLARES)



# getFixtureUrl

**Kind:** Function

**Source:** `atloria-monorepo/apps/screenshot-worker/test/fixtures/pages/index.ts` (line 20)

Get file:// URL for a fixture page

## Signature

```ts
function getFixtureUrl(page: keyof typeof FIXTURE_PAGES): string
```

## Parameters

| Name | Type |
|---|---|
| `page` | `keyof typeof FIXTURE_PAGES` |

**Returns:** `string`



# getParserInstance

**Kind:** Function

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/queue/processors/parser-registry.ts` (line 132)

Get a parser instance by name

## Signature

```ts
function getParserInstance(name: string): IParser | undefined
```

## Parameters

| Name | Type |
|---|---|
| `name` | `string` |

**Returns:** `IParser | undefined`



# HookableEvent

**Kind:** Type

**Source:** `atloria-monorepo/libs/agent-core/src/session/hook-registry.ts` (line 36)

Events that can have external command hooks

## Definition

```ts
| 'session_start'
  | 'session_end'
  | 'pre_tool_use'
  | 'post_tool_use'
  | 'pre_compact'
  | 'post_compact'
  | 'subagent_start'
  | 'subagent_end'
  | 'user_prompt_submit'
```



# HowItWorksLayout

**Kind:** Type

**Source:** `atloria-monorepo/libs/pme-core/src/types/index.ts` (line 14)

## Definition

```ts
'horizontal' | 'vertical-timeline' | 'cards'
```



# IMAGE_EXTENSIONS

**Kind:** Constant

**Source:** `atloria-monorepo/libs/agent-core/src/tools/read-file.tool.ts` (line 14)

Supported image file extensions for base64 encoding



# LoadState

**Kind:** Type

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/batch-screenshot.dto.ts` (line 111)

## Definition

```ts
typeof LOAD_STATES[number]
```



# LOAD_STATES

**Kind:** Constant

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/batch-screenshot.dto.ts` (line 110)



# login

**Kind:** Graphql Mutation

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

Login user

## Relationships

- TYPE_OF → `AuthPayload`

## Referenced By

- `Mutation` (CALLS_API)



# MdxGeneratorOptions

**Kind:** Interface

**Source:** `atloria-monorepo/apps/cli/src/generators/mdx.generator.ts` (line 71)

MDX generator options

## Properties

| Property | Type |
|---|---|
| `outputDir` | `string` |
| `includeSourceCode` | `boolean` |
| `includeRelationships` | `boolean` |
| `customTemplates` | `Record` |



# ModalCloseMethod

**Kind:** Type

**Source:** `atloria-monorepo/libs/parser-core/src/utils/modal-extractor.ts` (line 22)

How a modal should be closed

## Definition

```ts
'button-text' | 'data-dismiss' | 'escape' | 'backdrop' | 'auto'
```



# ProductKnowledgeMode

**Kind:** Type

**Source:** `atloria-monorepo/libs/site-gen-core/src/assembler/types.ts` (line 145)

## Definition

```ts
| 'features'
  | 'workflows'
  | 'categories'
  | 'search'
  | 'stats'
  | 'audiences'
  | 'screenshots'
```



# RegisterPage

**Kind:** Class

**Source:** `atloria-monorepo/apps/web-e2e/src/pages/auth.page.ts` (line 89)

Register page object

**Extends:** `BasePage`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `goto` | `goto()` | `Promise` |
| `register` | `register(name: string, email: string, password: string, confirmPassword: string)` | `Promise` |
| `registerAndWait` | `registerAndWait(name: string, email: string, password: string)` | `Promise` |
| `hasError` | `hasError()` | `Promise` |
| `getErrorMessage` | `getErrorMessage()` | `Promise` |
| `goToLogin` | `goToLogin()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `nameInput` | `Locator` |
| `emailInput` | `Locator` |
| `passwordInput` | `Locator` |
| `confirmPasswordInput` | `Locator` |
| `termsCheckbox` | `Locator` |
| `submitButton` | `Locator` |
| `errorMessage` | `Locator` |
| `loginLink` | `Locator` |



# reshootFlowLocales

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/batch-screenshot.controller.ts` (line 174)

Locale-fanned reshoot (F2 SUPERIOR, synchronous)

POST /api/screenshot/flow/locales

Replays the WHOLE recipe once per locale, emitting a localized screenshot set
per locale under a locale-namespaced blob key. Returns one entry per locale.

## Endpoint

`POST /screenshot/flow/locales`

## Referenced By

- `BatchScreenshotController` (MODULE_DECLARES)



# SymbolType

**Kind:** Enum

**Source:** `atloria-monorepo/apps/api/src/parser/interfaces/code-parser.interface.ts` (line 33)

## Values

- `FUNCTION`
- `CLASS`
- `INTERFACE`
- `TYPE`
- `VARIABLE`
- `CONSTANT`
- `METHOD`
- `PROPERTY`



# TemplateCategory

**Kind:** Enum

**Source:** `atloria-monorepo/packages/types/src/enums/index.ts` (line 98)

Template categories for organizing document templates

## Values

- `API_DOCUMENTATION`
- `USER_GUIDES`
- `TECHNICAL_SPECS`
- `MEETING_NOTES`
- `REQUIREMENTS`
- `ARCHITECTURE`
- `RELEASE_NOTES`
- `TROUBLESHOOTING`
- `ONBOARDING`
- `GENERAL`



# TestUser

**Kind:** Interface

**Source:** `atloria-monorepo/apps/web-e2e/src/fixtures/base.fixture.ts` (line 7)

Test user credentials

## Properties

| Property | Type |
|---|---|
| `email` | `string` |
| `password` | `string` |
| `name` | `string` |



# UserWithProfile

**Kind:** Type

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/openapi.yaml` (line 1)

## Relationships

- EXTENDS → `User`

## Referenced By

- `getUserById` (REFERENCES)
- `User Management API` (TYPE_OF)



# VersionComparison

**Kind:** Enum

**Source:** `atloria-monorepo/libs/parser-core/src/generators/versioning/version-config.ts` (line 55)

Version comparison result

## Values

- `Less`
- `Equal`
- `Greater`
- `Invalid`



# addExportVisitor$

**Kind:** Constant

**Source:** `atloria-monorepo/packages/editor/src/plugins/core/index.ts` (line 366)

Adds an export visitor to be used when exporting markdown from the Lexical tree.



# AgentRegenResult

**Kind:** Interface

**Source:** `atloria-monorepo/apps/api/src/docs-pr/agent-regen.service.ts` (line 16)

## Properties

| Property | Type |
|---|---|
| `after` | `string` |
| `confidence` | `number` |



# AgentResult

**Kind:** Interface

**Source:** `atloria-monorepo/libs/agent-core/src/autonomous/orchestrator.ts` (line 57)

Result from a single sub-agent execution

## Properties

| Property | Type |
|---|---|
| `agentName` | `string` |
| `focus` | `string` |
| `output` | `string` |
| `usage` | `TokenUsage` |
| `durationMs` | `number` |
| `success` | `boolean` |
| `error` | `string` |



# AIProvider

**Kind:** Interface

**Source:** `atloria-monorepo/packages/doc-automation/src/v2/providers/ai-provider.interface.ts` (line 40)

Unified AI Provider Interface
All providers must implement this interface for plug-and-play switching.

## Properties

| Property | Type |
|---|---|
| `name` | `string` |



# always

**Kind:** Function

**Source:** `atloria-monorepo/packages/editor/src/utils/fp.ts` (line 62)

returns a function which when called always returns the passed value

## Signature

```ts
function always(value: T)
```

## Parameters

| Name | Type |
|---|---|
| `value` | `T` |



# AnalyticsExportService

**Kind:** Service

**Source:** `atloria-monorepo/apps/api/src/analytics/export/analytics-export.service.ts` (line 46)

Generates analytics exports in PDF and CSV format.

PDF: built with pdfkit, branded cover page + KPIs grid + top tables.
     Returns a Buffer so the controller can stream it as a download or
     attach it to an email without writing to disk.

CSV: streams rows directly from Postgres via a Readable wrapper so we
     can export 100k+ row datasets without loading them into memory.

`AnalyticsExportService` generates analytics exports as branded PDF reports and high-volume CSV files for download or email delivery. It builds PDFs in-memory using `pdfkit` (cover page, KPI grid, and top tables) and returns a `Buffer` so callers can stream without touching disk. For CSV, it streams rows directly from Postgres through a `Readable` wrapper to handle 100k+ rows without loading results into memory.

## Methods

| Method | Signature | Returns |
|---|---|---|
| `generatePDF` | `generatePDF(opts: {
    projectId: string;
    period: number;
    sections?: ExportSection[];
  })` | `Promise<{ buffer: Buffer; filename: string }>` |
| `generateCSV` | `generateCSV(opts: {
    projectId: string;
    period: number;
    table: 'pageviews' | 'searches';
  })` | `Promise<{ stream: Readable; filename: string }>` |

## Diagram

```mermaid
sequenceDiagram
  autonumber
  participant Client
  participant Controller as AnalyticsExportController
  participant Service as AnalyticsExportService
  participant DB as Postgres
  participant PDF as pdfkit
  participant Stream as Readable Stream

  Client->>Controller: Request export (format=pdf|csv, filters)
  Controller->>Service: generateExport(params)

  alt PDF export
    Service->>PDF: Build branded cover + KPI grid + top tables
    PDF-->>Service: Buffer (in-memory)
    Service-->>Controller: Buffer
    Controller-->>Client: Stream Buffer as download / email attachment
  else CSV export
    Service->>DB: Execute query with cursor/streaming
    DB-->>Service: Row stream
    Service->>Stream: Wrap rows into Readable (CSV lines)
    Stream-->>Controller: Stream
    Controller-->>Client: Stream CSV download (no buffering)
  end
```

## Usage

```ts
import { Controller, Get, Query, Res } from '@nestjs/common';
import type { Response } from 'express';
import { AnalyticsExportService } from './analytics-export.service';

@Controller('/analytics/exports')
export class AnalyticsExportController {
  constructor(private readonly exports: AnalyticsExportService) {}

  @Get()
  async export(
    @Query('format') format: 'pdf' | 'csv',
    @Query('from') from: string,
    @Query('to') to: string,
    @Res() res: Response,
  ) {
    const params = { from, to }; // add any filters/grouping required by your service

    if (format === 'pdf') {
      const pdfBuffer = await this.exports.generatePdf(params);

      res.setHeader('Content-Type', 'application/pdf');
      res.setHeader('Content-Disposition', `attachment; filename="analytics-${from}-to-${to}.pdf"`);
      res.send(pdfBuffer);
      return;
    }

    const csvStream = await this.exports.generateCsvStream(params);

    res.setHeader('Content-Type', 'text/csv; charset=utf-8');
    res.setHeader('Content-Disposition', `attachment; filename="analytics-${from}-to-${to}.csv"`);

    // Pipe directly to response to avoid buffering large datasets
    csvStream.pipe(res);
  }
}
```

## AI Coding Instructions

- Keep PDF generation fully in-memory (`Buffer` output); do not write temporary files—controllers should stream the buffer to HTTP or attach it to email.
- For CSV, preserve true streaming from Postgres through a `Readable`/pipe chain; avoid `.map()`/array accumulation or `await`-ing full result sets.
- Ensure headers and backpressure are handled correctly when piping streams; always set `Content-Type`/`Content-Disposition` before piping to the response.
- When adding new fields/tables to exports, update both the PDF layout (cover/KPI grid/top tables) and CSV column order/escaping consistently; test with large datasets (100k+ rows) for memory safety.
- Integration points: controller for HTTP streaming, email sender for PDF attachments, and DB query layer for cursor/streaming access—changes in query shape can impact both formats.

## Relationships

- DEPENDS_ON → `prismaservice`
- DEPENDS_ON → `analyticsservice`



# AtloriaBadge

**Kind:** Class

**Source:** `atloria-monorepo/packages/ui-core/src/components/badge/Badge.ts` (line 17)

A badge component for displaying status, counts, or labels

**Extends:** `LitElement`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `render` | `render()` | `void` |

## Properties

| Property | Type |
|---|---|
| `styles` | `any` |
| `variant` | `BadgeVariant` |
| `size` | `BadgeSize` |
| `solid` | `any` |
| `outline` | `any` |
| `pill` | `any` |
| `dot` | `any` |
| `removable` | `any` |



# AudienceController

**Kind:** Controller

**Source:** `atloria-monorepo/apps/api/src/audience/audience.controller.ts` (line 22)

## Relationships

- MODULE_DECLARES → `list`
- MODULE_DECLARES → `get`
- MODULE_DECLARES → `create`
- MODULE_DECLARES → `update`
- MODULE_DECLARES → `delete`
- DEPENDS_ON → `audienceservice`



# AuthenticationInfo

**Kind:** Interface

**Source:** `atloria-monorepo/libs/parser-core/src/interfaces/entity.interface.ts` (line 653)

Authentication information

## Properties

| Property | Type |
|---|---|
| `type` | `'jwt' | 'oauth' | 'api-key' | 'basic' | 'bearer' | 'none'` |
| `scopes` | `string[]` |
| `optional` | `boolean` |



# AUTH_LOGIN_THROTTLE

**Kind:** Constant

**Source:** `atloria-monorepo/apps/api/src/common/throttling.module.ts` (line 19)



# AuthModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/api/src/auth/auth.module.ts` (line 15)

## Relationships

- MODULE_IMPORTS → `databasemodule`
- MODULE_IMPORTS → `emailmodule`
- MODULE_IMPORTS → `samlmodule`
- MODULE_DECLARES → `authcontroller`
- MODULE_PROVIDES → `authservice`
- MODULE_PROVIDES → `jwtstrategy`
- MODULE_PROVIDES → `jwtauthguard`
- MODULE_PROVIDES → `rolesguard`
- MODULE_PROVIDES → `organizationguard`
- MODULE_EXPORTS → `authservice`
- MODULE_EXPORTS → `jwtauthguard`
- MODULE_EXPORTS → `rolesguard`
- MODULE_EXPORTS → `organizationguard`



# AzureResponsesModel

**Kind:** Class

**Source:** `atloria-monorepo/libs/agent-core/src/runtime/model-adapter.ts` (line 29)

Azure OpenAI Model — implements the SDK's Model interface using Azure Responses API.

**Implements:** `Model`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `getResponse` | `getResponse(request: ModelRequest)` | `Promise` |
| `getStreamedResponse` | `getStreamedResponse(request: ModelRequest)` | `AsyncIterable` |
| `getRetryAdvice` | `getRetryAdvice(args: ModelRetryAdviceRequest)` | `ModelRetryAdvice | undefined` |



# BadgeSize

**Kind:** Type

**Source:** `atloria-monorepo/packages/ui-core/src/components/badge/Badge.ts` (line 6)

## Definition

```ts
'sm' | 'md' | 'lg'
```



# BatchFileProcessorProps

**Kind:** Interface

**Source:** `atloria-monorepo/apps/web/src/components/Parser/BatchFileProcessor.tsx` (line 9)

## Properties

| Property | Type |
|---|---|
| `onComplete` | `(results: BatchProcessResult[]) => void` |
| `className` | `string` |



# BoundingBoxDto

**Kind:** Class

**Source:** `atloria-monorepo/apps/api/src/capture/dto/create-flow.dto.ts` (line 19)

Percentage-of-viewport bounding box, for annotation seeding.

## Properties

| Property | Type |
|---|---|
| `x` | `number` |
| `y` | `number` |
| `w` | `number` |
| `h` | `number` |



# buildEvalCommand

**Kind:** Function

**Source:** `atloria-monorepo/libs/agent-core/src/benchmark/swebench-evaluator.ts` (line 112)

Build the CLI command for running the official SWE-bench evaluation harness.

Requires:
- Docker installed and running
- `swebench` Python package installed (`pip install swebench`)
- Pre-built Docker images available (auto-pulled by harness)

## Signature

```ts
function buildEvalCommand(options: EvalCommandOptions): string
```

## Parameters

| Name | Type |
|---|---|
| `options` | `EvalCommandOptions` |

**Returns:** `string`



# buildLlmsFullTxt

**Kind:** Function

**Source:** `atloria-monorepo/libs/parser-core/src/techdocs/llms-txt.ts` (line 120)

## Signature

```ts
function buildLlmsFullTxt(doc: LlmsDoc): string
```

## Parameters

| Name | Type |
|---|---|
| `doc` | `LlmsDoc` |

**Returns:** `string`



# buildProjectUrl

**Kind:** Function

**Source:** `atloria-monorepo/apps/web/src/lib/url-utils.ts` (line 122)

Build a project URL from components

In production with NEXT_PUBLIC_DOCS_DOMAIN set, returns the subdomain URL.
Locally (no env var), falls back to the /p/ path.

## Signature

```ts
function buildProjectUrl(slug: string, urlId: string): string
```

## Parameters

| Name | Type |
|---|---|
| `slug` | `string` |
| `urlId` | `string` |

**Returns:** `string`



# buildSectionTaskPrompt

**Kind:** Function

**Source:** `atloria-monorepo/libs/pme-core/src/prompts/copywriter.prompts.ts` (line 55)

Section-specific task prompts — each section type gets a tailored brief.

## Signature

```ts
function buildSectionTaskPrompt(sectionType: SectionType, docContext: string): string
```

## Parameters

| Name | Type |
|---|---|
| `sectionType` | `SectionType` |
| `docContext` | `string` |

**Returns:** `string`



# certSecretName

**Kind:** Function

**Source:** `atloria-monorepo/apps/api/src/project/k8s-ingress.service.ts` (line 21)

## Signature

```ts
function certSecretName(domain: string): string
```

## Parameters

| Name | Type |
|---|---|
| `domain` | `string` |

**Returns:** `string`



# clearAndType

**Kind:** Function

**Source:** `atloria-monorepo/apps/web-e2e/src/utils/test-helpers.ts` (line 30)

Clear input field and type new value

## Signature

```ts
async function clearAndType(locator: Locator, text: string): Promise
```

## Parameters

| Name | Type |
|---|---|
| `locator` | `Locator` |
| `text` | `string` |

**Returns:** `Promise`



# ColumnEditor

**Kind:** Component

**Source:** `atloria-monorepo/packages/editor/src/plugins/table/TableEditor.tsx` (line 490)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `parentEditor` | `any` | ✓ | - |
| `highlightedCoordinates` | `any` | ✓ | - |
| `align` | `any` | ✓ | - |
| `lexicalTable` | `any` | ✓ | - |
| `colIndex` | `any` | ✓ | - |
| `setActiveCellWithBoundaries` | `any` | ✓ | - |

## Diagram

```mermaid
graph TD
    component_ColumnEditor_594d93["ColumnEditor"]
    class component_ColumnEditor_594d93 rootComponent
```

## Relationships

- RENDERS → `RadixPopover-Root`
- RENDERS → `RadixPopover-PopoverTrigger`
- RENDERS → `RadixPopover-Portal`
- RENDERS → `RadixPopover-PopoverContent`
- RENDERS → `RadixToolbar-Root`
- RENDERS → `RadixToolbar-ToggleGroup`
- RENDERS → `RadixToolbar-ToggleItem`
- RENDERS → `RadixToolbar-Separator`
- RENDERS → `RadixToolbar-Button`
- RENDERS → `RadixPopover-Arrow`
- USES_HOOK → `useCellValues`
- USES_HOOK → `useCallback`
- USES_HOOK → `useTranslation`

## Referenced By

- `TableEditor` (RENDERS)



# ComparisonSideBySide

**Kind:** Component

**Source:** `atloria-monorepo/libs/site-gen-core/src/component-library/sections/comparison/comparison-side-by-side.tsx` (line 24)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `headlineKey` | `string` | ✓ | - |
| `descriptionKey` | `string` | - | - |
| `before` | `ComparisonColumn` | ✓ | - |
| `after` | `ComparisonColumn` | ✓ | - |

## Diagram

```mermaid
graph TD
    component_ComparisonSideBySide_4551bff3["ComparisonSideBySide"]
    class component_ComparisonSideBySide_4551bff3 rootComponent
```

## Relationships

- RENDERS → `motion-div`
- RENDERS → `motion-h2`
- RENDERS → `motion-p`
- RENDERS → `X`
- RENDERS → `Check`
- USES_HOOK → `useTranslation`



# config

**Kind:** Constant

**Source:** `atloria-monorepo/apps/web/src/middleware.ts` (line 104)



# createValidateConfigTool

**Kind:** Function

**Source:** `atloria-monorepo/libs/site-gen-core/src/assembler/tools/validate-config.tool.ts` (line 12)

## Signature

```ts
function createValidateConfigTool(componentLibraryDir: string): ToolDefinition
```

## Parameters

| Name | Type |
|---|---|
| `componentLibraryDir` | `string` |

**Returns:** `ToolDefinition`



# DatabaseModelEntity

**Kind:** Interface

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/interfaces/entity.interface.ts` (line 620)

Database Model entity

## Properties

| Property | Type |
|---|---|
| `type` | `EntityType.DATABASE_MODEL` |
| `tableName` | `string` |
| `fields` | `FieldDefinition[]` |
| `indexes` | `IndexDefinition[]` |
| `relations` | `RelationDefinition[]` |
| `orm` | `'prisma' | 'typeorm' | 'sequelize' | 'mongoose' | 'drizzle' | 'raw'` |
| `primaryKey` | `string[]` |
| `uniqueConstraints` | `UniqueConstraint[]` |



# DataConfigDto

**Kind:** Class

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/batch-screenshot.dto.ts` (line 232)

Data state configuration

## Properties

| Property | Type |
|---|---|
| `dataState` | `'empty' | 'populated' | 'error'` |
| `prerequisite` | `string` |
| `mockResponse` | `string` |
| `seedData` | `string` |
| `resetAfter` | `boolean` |



# DeskTransition

**Kind:** Type

**Source:** `atloria-monorepo/apps/api/src/issues/dto/desk.dto.ts` (line 37)

## Definition

```ts
(typeof DESK_TRANSITIONS)[number]
```



# EntityIcon

**Kind:** Component

**Source:** `atloria-monorepo/apps/web/src/app/app/projects/[id]/technical-docs/components/EntityTree.tsx` (line 95)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `type` | `string` | - | - |
| `className` | `string` | - | - |

## Diagram

```mermaid
graph TD
    component_EntityIcon_25c38ad2["EntityIcon"]
    class component_EntityIcon_25c38ad2 rootComponent
```

## Relationships

- RENDERS → `CogIcon`
- RENDERS → `CommandLineIcon`
- RENDERS → `CircleStackIcon`
- RENDERS → `CubeIcon`
- RENDERS → `ShieldCheckIcon`
- RENDERS → `PuzzlePieceIcon`
- RENDERS → `CodeBracketIcon`
- RENDERS → `DocumentTextIcon`

## Referenced By

- `AppSection` (RENDERS)
- `EntityTree` (RENDERS)



# extractPropsFromTypeAnnotation

**Kind:** Function

**Source:** `atloria-monorepo/apps/frontend-parser/src/utils/ast-helpers.ts` (line 194)

Extract props from TypeScript type annotation

## Signature

```ts
function extractPropsFromTypeAnnotation(typeNode: t.TSType): PropInfo[]
```

## Parameters

| Name | Type |
|---|---|
| `typeNode` | `t.TSType` |

**Returns:** `PropInfo[]`



# FastAPIParser

**Kind:** Class

**Source:** `atloria-monorepo/libs/parser-core/src/parsers/backend/fastapi.parser.ts` (line 35)

FastAPI Parser implementation

Uses regex-based parsing for Python files since we can't use Python AST directly in Node.js

**Implements:** `IParser`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `initialize` | `initialize(config: ParserConfig)` | `Promise` |
| `canParse` | `canParse(filePath: string)` | `boolean` |
| `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` |
| `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` |
| `destroy` | `destroy()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `name` | `any` |
| `version` | `any` |
| `supportedPatterns` | `any` |



# FeaturesHorizontalFlowProps

**Kind:** Interface

**Source:** `atloria-monorepo/libs/site-gen-core/src/component-library/sections/features/features-horizontal-flow.tsx` (line 19)

## Properties

| Property | Type |
|---|---|
| `headlineKey` | `string` |
| `descriptionKey` | `string` |
| `features` | `Feature[]` |



# FlowStepResult

**Kind:** Interface

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/flow-replay.dto.ts` (line 172)

Per-step replay result, surfaced through the batch status endpoint so the api
stitcher can place each screenshot as it becomes available.

`flowStepId`:   0 = initial state (before any action); N = state AFTER step N.
`blobUrl`:      the canonical FULL-PAGE image (flowKey without variant).
`annotationsFragment`: `#atloria-annotations=…` overlay fragment, or '' if the
                step's target could not be located.

## Properties

| Property | Type |
|---|---|
| `flowStepId` | `number` |
| `blobUrl` | `string` |
| `annotationsFragment` | `string` |



# GapDraftState

**Kind:** Type

**Source:** `atloria-monorepo/apps/web/src/app/app/desk/components/ThreadList.tsx` (line 25)

## Definition

```ts
| { phase: 'drafting' }
  | { phase: 'drafted'; documentId: string }
  | { phase: 'error'; message: string }
```



# generateJson

**Kind:** Function

**Source:** `atloria-monorepo/apps/cli/src/generators/json.generator.ts` (line 67)

Generate JSON output files

## Signature

```ts
async function generateJson(results: ParseResult[], project: DetectedProject, outputDir: string): Promise
```

## Parameters

| Name | Type |
|---|---|
| `results` | `ParseResult[]` |
| `project` | `DetectedProject` |
| `outputDir` | `string` |

**Returns:** `Promise`



# GenerationConfig

**Kind:** Interface

**Source:** `atloria-monorepo/libs/pme-core/src/types/index.ts` (line 59)

## Properties

| Property | Type |
|---|---|
| `projectId` | `string` |
| `userId` | `string` |
| `targetAudience` | `string` |
| `brandVoice` | `string` |
| `language` | `string` |
| `additionalLanguages` | `string[]` |
| `pageType` | `PageType` |
| `sections` | `SectionType[]` |
| `model` | `string` |
| `theme` | `ThemeConfig` |
| `visuals` | `VisualConfig` |
| `enableVariants` | `boolean` |
| `enableThemeToggle` | `boolean` |
| `enableImageGeneration` | `boolean` |



# GeneratorService

**Kind:** Service

**Source:** `atloria-monorepo/packages/doc-automation/src/v2/stages/stage-10-generation/generator.service.ts` (line 1)



# getAvailableParsers

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/orchestrator/orchestrator.controller.ts` (line 182)

Get available parsers

## Endpoint

`GET /api/orchestrator/parsers`

## Referenced By

- `OrchestratorController` (MODULE_DECLARES)



# getParsersByCategory

**Kind:** Function

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/queue/processors/parser-registry.ts` (line 173)

Get parser names by category
Note: API Schema parsers (openapi, graphql) are handled by the api-schema-parser microservice

## Signature

```ts
function getParsersByCategory(): Record
```

**Returns:** `Record`



# HooksConfig

**Kind:** Type

**Source:** `atloria-monorepo/libs/agent-core/src/session/hook-registry.ts` (line 64)

The top-level hooks configuration object

## Definition

```ts
Partial>
```



# ImageGenerateFn

**Kind:** Type

**Source:** `atloria-monorepo/libs/pme-core/src/tools/generate-image.tool.ts` (line 18)

Function signature for image generation.
Injected at creation time — keeps tool code framework-agnostic.

## Definition

```ts
(
  prompt: string,
  options?: {
    width?: number;
    height?: number;
    background?: 'transparent' | 'opaque' | 'auto';
    quality?: 'low' | 'medium' | 'high';
  }
) => Promise
```



# list

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/api/src/suggestion/suggestion.controller.ts` (line 95)

## Endpoint

`GET /suggestions`

| Parameter | In | Type | Required |
|---|---|---|---|
| `documentId` | query | `string` | ✓ |

## Referenced By

- `SuggestionController` (MODULE_DECLARES)
- `SuggestionAliasController` (MODULE_DECLARES)



# ModalTriggerType

**Kind:** Type

**Source:** `atloria-monorepo/libs/parser-core/src/utils/modal-extractor.ts` (line 19)

Modal/Popup/Dialog Extractor

Extracts modal, popup, and dialog definitions from source code and templates
across multiple frontend frameworks. Finds:
- Angular: openPopup(), MatDialog.open(), modalService.show(), app-shared-popup
- React: useState modal patterns, , 
- Vue: v-model dialogs, $modal.show(), $bvModal.show()
- DevExtreme: dx-popup, dxPopupOptions
- Generic: Bootstrap modals, jQuery .modal() calls

Validated against real-world patterns from PAMS (Angular + DevExtreme).

## Definition

```ts
'direct' | 'programmatic' | 'navigation'
```



# NavItem

**Kind:** Interface

**Source:** `atloria-monorepo/apps/cli/src/generators/mdx.generator.ts` (line 62)

Navigation structure for API sync

## Properties

| Property | Type |
|---|---|
| `title` | `string` |
| `href` | `string` |
| `children` | `NavItem[]` |



# NO_ROUTING_TABLE

**Kind:** Constant

**Source:** `atloria-monorepo/libs/agent-core/src/runtime/model-router.ts` (line 99)

Single-model routing table (no routing).
All categories use the default model.
This is the implicit behavior when no routing table is configured.

## Definition

```ts
ModelRoutingTable
```



# PageProfilerService

**Kind:** Service

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/discovery/page-profiler.service.ts` (line 50)

Profiles a page's interactive elements using a single page.evaluate() call.
ARIA-first selectors with framework-specific fallbacks.

## Methods

| Method | Signature | Returns |
|---|---|---|
| `profilePage` | `profilePage(page: Page)` | `Promise` |



# PostConnection

**Kind:** Graphql Type

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

Paginated post list

## Relationships

- TYPE_OF → `Post`

## Referenced By

- `posts` (TYPE_OF)



# Profile

**Kind:** Type

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/openapi.yaml` (line 1)

## Properties

| Property | Type |
|---|---|
| `id` | `string` |
| `bio` | `string` |
| `avatarUrl` | `string` |
| `website` | `string` |
| `location` | `string` |

## Referenced By

- `User Management API` (TYPE_OF)



# refreshToken

**Kind:** Graphql Mutation

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

Refresh access token

## Relationships

- TYPE_OF → `AuthPayload`

## Referenced By

- `Mutation` (CALLS_API)



# reshootFlowStep

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/batch-screenshot.controller.ts` (line 152)

Re-shoot ONE step of a recipe (F2, synchronous)

POST /api/screenshot/flow/reshoot

Walks the recipe up to `targetStepId` in a single context and re-captures just
that step — optionally at a new viewport / UI locale — burning any per-step
redactions into the fresh asset. Overwrites the canonical blob key and returns
the fresh { flowStepId, blobUrl, annotationsFragment } so the api can respond.

## Endpoint

`POST /screenshot/flow/reshoot`

## Referenced By

- `BatchScreenshotController` (MODULE_DECLARES)



# SaveAsTemplateModal

**Kind:** Class

**Source:** `atloria-monorepo/apps/web-e2e/src/pages/templates.page.ts` (line 216)

Save as template modal page object

**Extends:** `BasePage`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `goto` | `goto()` | `Promise` |
| `fillDetails` | `fillDetails(name: string, description: string, category: string)` | `Promise` |
| `save` | `save()` | `Promise` |
| `cancel` | `cancel()` | `Promise` |
| `isVisible` | `isVisible()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `modal` | `Locator` |
| `nameInput` | `Locator` |
| `descriptionInput` | `Locator` |
| `categorySelect` | `Locator` |
| `saveButton` | `Locator` |
| `cancelButton` | `Locator` |



# ScreenshotConfig

**Kind:** Type

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/config/screenshot.config.ts` (line 55)

Type for screenshot configuration

## Definition

```ts
ReturnType
```



# SCREENSHOT_CONFIG_KEY

**Kind:** Constant

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/config/screenshot.config.ts` (line 60)

Configuration keys for injection



# SearchDocsFn

**Kind:** Type

**Source:** `atloria-monorepo/libs/site-gen-core/src/assembler/tools/query-product-knowledge.tool.ts` (line 48)

Full-text search across generated documentation.

## Definition

```ts
(
  projectId: string,
  query: string,
  options?: { limit?: number; documentType?: string; audience?: string },
) => Promise
```



# SyncJobScope

**Kind:** Enum

**Source:** `atloria-monorepo/apps/api/src/project/dto/sync-job.dto.ts` (line 17)

Sync job scope

## Values

- `ORGANIZATION`
- `PROJECT`



# TestUserData

**Kind:** Interface

**Source:** `atloria-monorepo/apps/web-e2e/src/utils/data-factories.ts` (line 24)

## Properties

| Property | Type |
|---|---|
| `id` | `string` |
| `email` | `string` |
| `name` | `string` |
| `password` | `string` |
| `avatar` | `string` |



# UserRole

**Kind:** Enum

**Source:** `atloria-monorepo/packages/types/src/enums/index.ts` (line 10)

Enums for Atloria
These enums match the Prisma schema and are used throughout the application
Note: These are maintained separately from

## Values

- `ADMIN`
- `MAINTAINER`
- `CONTRIBUTOR`
- `VIEWER`



# addImportVisitor$

**Kind:** Constant

**Source:** `atloria-monorepo/packages/editor/src/plugins/core/index.ts` (line 348)

Registers a visitor to be used when importing markdown.



# AgentRuntimeOptions

**Kind:** Interface

**Source:** `atloria-monorepo/libs/agent-core/src/runtime/types.ts` (line 290)

Options for the AgentRuntime constructor.
These configure Runner-level behavior that applies to all runs.

## Properties

| Property | Type |
|---|---|
| `tracingDisabled` | `boolean` |
| `handoffInputFilter` | `(data: {
    inputHistory: unknown;
    preHandoffItems: unknown[];
    newItems: unknown[];
  }) => { inputHistory: unknown; preHandoffItems: unknown[]; newItems: unknown[] }` |



# AgentSendPayload

**Kind:** Interface

**Source:** `atloria-monorepo/apps/api/src/agent/agent.types.ts` (line 80)

## Properties

| Property | Type |
|---|---|
| `message` | `string` |



# AIResponse

**Kind:** Interface

**Source:** `atloria-monorepo/packages/doc-automation/src/v2/providers/ai-provider.interface.ts` (line 15)

## Properties

| Property | Type |
|---|---|
| `content` | `string` |
| `inputTokens` | `number` |
| `outputTokens` | `number` |
| `model` | `string` |
| `stopReason` | `string` |



# AnalyticsService

**Kind:** Service

**Source:** `atloria-monorepo/apps/api/src/analytics/analytics.service.ts` (line 15)

## Methods

| Method | Signature | Returns |
|---|---|---|
| `trackPageView` | `trackPageView(data: {
    projectId: string;
    docVersionId?: string;
    documentId?: string;
    documentSlug: string;
    sessionId: string;
    referrer?: string;
    userAgent?: string;
    country?: string;
    timeOnPage?: number;
    scrollDepth?: number;
    fingerprint?: string;
    pathname?: string;
    timestamp?: string;
    type?: string;
  }, req: any)` | `unknown` |
| `trackSearch` | `trackSearch(data: {
    projectId: string;
    docVersionId?: string;
    query: string;
    resultsCount: number;
    clickedDocId?: string;
    sessionId: string;
  })` | `unknown` |
| `getOverview` | `getOverview(projectId: string, days: unknown)` | `unknown` |
| `getVersionTraffic` | `getVersionTraffic(projectId: string, days: unknown)` | `unknown` |
| `getTopDocuments` | `getTopDocuments(projectId: string, days: unknown, limit: unknown)` | `unknown` |
| `getTopSearchQueries` | `getTopSearchQueries(projectId: string, days: unknown, limit: unknown)` | `unknown` |
| `getDailyTraffic` | `getDailyTraffic(projectId: string, days: unknown)` | `unknown` |
| `getDeviceBreakdown` | `getDeviceBreakdown(projectId: string, days: unknown)` | `unknown` |
| `getSourceBreakdown` | `getSourceBreakdown(projectId: string, days: unknown)` | `unknown` |
| `getGeoBreakdown` | `getGeoBreakdown(projectId: string, days: unknown)` | `unknown` |
| `getZeroResultSearches` | `getZeroResultSearches(projectId: string, days: unknown, limit: unknown)` | `unknown` |
| `getGhostDocs` | `getGhostDocs(projectId: string, days: unknown, limit: unknown)` | `unknown` |
| `getTrendingDocs` | `getTrendingDocs(projectId: string, days: unknown, limit: unknown)` | `unknown` |
| `getScrollDepthHistogram` | `getScrollDepthHistogram(projectId: string, days: unknown)` | `unknown` |

## Relationships

- DEPENDS_ON → `prismaservice`



# analyzeChunkRelationships

**Kind:** Function

**Source:** `atloria-monorepo/packages/doc-automation/src/v2/stages/stage-02-chunking/chunk-relationship-graph.ts` (line 244)

Analyze chunk relationships for documentation purposes

## Signature

```ts
function analyzeChunkRelationships(graph: ChunkRelationshipGraph): ChunkRelationshipSummary
```

## Parameters

| Name | Type |
|---|---|
| `graph` | `ChunkRelationshipGraph` |

**Returns:** `ChunkRelationshipSummary`



# AtloriaButton

**Kind:** Class

**Source:** `atloria-monorepo/packages/ui-core/src/components/button/Button.ts` (line 22)

A versatile button component with multiple variants and sizes

**Extends:** `LitElement`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `render` | `render()` | `void` |

## Properties

| Property | Type |
|---|---|
| `styles` | `any` |
| `variant` | `ButtonVariant` |
| `size` | `ButtonSize` |
| `disabled` | `any` |
| `loading` | `any` |
| `type` | `'button' | 'submit' | 'reset'` |
| `ariaLabel` | `string | null` |



# AuditController

**Kind:** Controller

**Source:** `atloria-monorepo/apps/api/src/audit/audit.controller.ts` (line 8)

## Relationships

- MODULE_DECLARES → `query`
- MODULE_DECLARES → `exportCSV`
- MODULE_DECLARES → `exportJSON`
- DEPENDS_ON → `auditservice`



# AUTH_REGISTER_THROTTLE

**Kind:** Constant

**Source:** `atloria-monorepo/apps/api/src/common/throttling.module.ts` (line 21)



# BadgeVariant

**Kind:** Type

**Source:** `atloria-monorepo/packages/ui-core/src/components/badge/Badge.ts` (line 5)

## Definition

```ts
'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'info'
```



# BashSession

**Kind:** Class

**Source:** `atloria-monorepo/libs/agent-core/src/tools/bash-session.ts` (line 48)

A persistent shell session that maintains cwd, env vars, and venv activation
across commands. Spawns a single bash process and sends commands via stdin,
reading output until a unique delimiter marker signals completion.

## Methods

| Method | Signature | Returns |
|---|---|---|
| `start` | `start()` | `Promise` |
| `execute` | `execute(command: string, options: { timeout?: number })` | `Promise` |
| `getCwd` | `getCwd()` | `string` |
| `isDisposed` | `isDisposed()` | `boolean` |
| `isRunning` | `isRunning()` | `boolean` |
| `dispose` | `dispose()` | `void` |



# BatchProcessResult

**Kind:** Interface

**Source:** `atloria-monorepo/apps/web/src/components/Parser/BatchFileProcessor.tsx` (line 14)

## Properties

| Property | Type |
|---|---|
| `filename` | `string` |
| `result` | `ParseResult` |
| `error` | `string` |
| `status` | `'pending' | 'processing' | 'success' | 'error'` |



# BillingModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/api/src/billing/billing.module.ts` (line 12)

## Relationships

- MODULE_IMPORTS → `databasemodule`
- MODULE_IMPORTS → `authmodule`
- MODULE_IMPORTS → `configmodule`
- MODULE_IMPORTS → `aimodule`
- MODULE_DECLARES → `billingcontroller`
- MODULE_PROVIDES → `billingservice`
- MODULE_EXPORTS → `billingservice`



# buildExplorationPlan

**Kind:** Function

**Source:** `atloria-monorepo/libs/agent-core/src/autonomous/workflows/exploration.ts` (line 35)

Build a codebase exploration plan.

Launches 3 parallel explorers that investigate the codebase from different
angles, then synthesizes their findings into a unified understanding.

## Signature

```ts
function buildExplorationPlan(options: {
  query?: string;
  workspace?: string;
}): OrchestrationPlan
```

## Parameters

| Name | Type |
|---|---|
| `options` | `{
  query?: string;
  workspace?: string;
}` |

**Returns:** `OrchestrationPlan`



# buildLlmsTxt

**Kind:** Function

**Source:** `atloria-monorepo/libs/parser-core/src/techdocs/llms-txt.ts` (line 92)

## Signature

```ts
function buildLlmsTxt(doc: LlmsDoc, opts: LlmsTxtOptions): string
```

## Parameters

| Name | Type |
|---|---|
| `doc` | `LlmsDoc` |
| `opts` | `LlmsTxtOptions` |

**Returns:** `string`



# buildSemanticUtilities

**Kind:** Function

**Source:** `atloria-monorepo/libs/pme-core/src/tools/theme.ts` (line 162)

Build semantic utility classes that map to CSS vars.
These replace hardcoded Tailwind color classes.

## Signature

```ts
function buildSemanticUtilities(): string
```

**Returns:** `string`



# BulkCaptureScreenshotsDto

**Kind:** Class

**Source:** `atloria-monorepo/apps/api/src/screenshot/dto/capture-screenshot.dto.ts` (line 101)

DTO for bulk screenshot capture (job-based)

## Properties

| Property | Type |
|---|---|
| `projectId` | `string` |
| `urls` | `string[]` |
| `viewport` | `ViewportType` |
| `browser` | `BrowserType` |
| `waitTime` | `number` |



# ButtonElement

**Kind:** Interface

**Source:** `atloria-monorepo/libs/parser-core/src/interfaces/template-analysis.interface.ts` (line 14)

Template Analysis Interfaces

Defines structured data extracted from Angular/Vue templates
for user journey diagram generation.

## Properties

| Property | Type |
|---|---|
| `label` | `string` |
| `action` | `string` |
| `line` | `number` |
| `conditionalOn` | `string` |
| `routerLink` | `string` |
| `type` | `string` |
| `attributes` | `Record` |



# calculateNewPosition

**Kind:** Function

**Source:** `atloria-monorepo/apps/web/src/components/Boards/helpers.ts` (line 137)

Given the current cards in a destination column (excluding the moved card)
and the index where the card will land, compute its new float position.

## Signature

```ts
function calculateNewPosition(destCards: BoardCardData[], insertIndex: number): number
```

## Parameters

| Name | Type |
|---|---|
| `destCards` | `BoardCardData[]` |
| `insertIndex` | `number` |

**Returns:** `number`



# clampScrollDepth

**Kind:** Function

**Source:** `atloria-monorepo/apps/api/src/analytics/utils/tracking-utils.ts` (line 47)

Clamp scroll depth into the 0–100 range. Some browsers occasionally report
101% on bounce or with sticky footers; clamp instead of dropping the row.

## Signature

```ts
function clampScrollDepth(depth: number | null | undefined): number | null
```

## Parameters

| Name | Type |
|---|---|
| `depth` | `number | null | undefined` |

**Returns:** `number | null`



# closeModal

**Kind:** Function

**Source:** `atloria-monorepo/apps/web-e2e/src/utils/test-helpers.ts` (line 98)

Close a modal/dialog

## Signature

```ts
async function closeModal(page: Page): Promise
```

## Parameters

| Name | Type |
|---|---|
| `page` | `Page` |

**Returns:** `Promise`



# contentType

**Kind:** Constant

**Source:** `atloria-monorepo/apps/web/src/app/opengraph-image.tsx` (line 10)



# createValidateLinksTool

**Kind:** Function

**Source:** `atloria-monorepo/libs/site-gen-core/src/assembler/tools/validate-links.tool.ts` (line 38)

## Signature

```ts
function createValidateLinksTool(): ToolDefinition
```

**Returns:** `ToolDefinition`



# CtaBanner

**Kind:** Component

**Source:** `atloria-monorepo/libs/site-gen-core/src/component-library/sections/cta/cta-banner.tsx` (line 19)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `headlineKey` | `string` | ✓ | - |
| `descriptionKey` | `string` | - | - |
| `primaryCtaKey` | `string` | ✓ | - |
| `primaryCtaUrl` | `string` | ✓ | - |
| `secondaryCtaKey` | `string` | - | - |
| `secondaryCtaUrl` | `string` | - | - |
| `icon` | `LucideIcon` | - | - |

## Diagram

```mermaid
graph TD
    component_CtaBanner_54d8e8bc["CtaBanner"]
    class component_CtaBanner_54d8e8bc rootComponent
```

## Relationships

- RENDERS → `motion-div`
- RENDERS → `Icon`
- RENDERS → `motion-h2`
- RENDERS → `motion-p`
- RENDERS → `ArrowRight`
- USES_HOOK → `useTranslation`



# DateBadge

**Kind:** Component

**Source:** `atloria-monorepo/templates/site-bootstrap/src/sections/social-proof/social-proof-timeline.tsx` (line 23)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `dateKey` | `string` | ✓ | - |
| `t` | `Function` | ✓ | - |

## Diagram

```mermaid
graph TD
    component_DateBadge_257ada65["DateBadge"]
    class component_DateBadge_257ada65 rootComponent
```

## Referenced By

- `MilestoneCard` (RENDERS)



# DependencyInfo

**Kind:** Interface

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/interfaces/entity.interface.ts` (line 750)

Dependency injection info

## Properties

| Property | Type |
|---|---|
| `name` | `string` |
| `type` | `string` |
| `token` | `string` |
| `optional` | `boolean` |



# DeviceClass

**Kind:** Type

**Source:** `atloria-monorepo/apps/api/src/analytics/utils/tracking-utils.ts` (line 53)

## Definition

```ts
'mobile' | 'tablet' | 'desktop' | 'unknown'
```



# DiscoveryAuthConfigDto

**Kind:** Class

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/discovery/dto/discovery.dto.ts` (line 13)

## Properties

| Property | Type |
|---|---|
| `loginUrl` | `string` |
| `username` | `string` |
| `password` | `string` |
| `usernameSelector` | `string` |
| `passwordSelector` | `string` |
| `submitSelector` | `string` |
| `successSelector` | `string` |



# ExternalIcon

**Kind:** Component

**Source:** `atloria-monorepo/apps/web/src/components/Parser/DependencyGraph.tsx` (line 103)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `className` | `string` | - | - |

## Diagram

```mermaid
graph TD
    component_ExternalIcon_2da639e7["ExternalIcon"]
    class component_ExternalIcon_2da639e7 rootComponent
```

## Referenced By

- `DependencyGraph` (RENDERS)
- `DependencyCard` (RENDERS)



# extractRenderedComponents

**Kind:** Function

**Source:** `atloria-monorepo/apps/frontend-parser/src/utils/ast-helpers.ts` (line 352)

Extract rendered child components (JSX elements that start with uppercase)

## Signature

```ts
function extractRenderedComponents(path: NodePath): string[]
```

## Parameters

| Name | Type |
|---|---|
| `path` | `NodePath` |

**Returns:** `string[]`



# FeaturesInteractiveTabsProps

**Kind:** Interface

**Source:** `atloria-monorepo/libs/site-gen-core/src/component-library/sections/features/features-interactive-tabs.tsx` (line 23)

## Properties

| Property | Type |
|---|---|
| `headlineKey` | `string` |
| `descriptionKey` | `string` |
| `tabs` | `Tab[]` |



# FileScanner

**Kind:** Class

**Source:** `atloria-monorepo/libs/parser-core/src/utils/file-scanner.ts` (line 86)

File Scanner Class

Provides methods for scanning directories, finding files by glob patterns,
and respecting .gitignore rules.

## Methods

| Method | Signature | Returns |
|---|---|---|
| `scan` | `scan(config: FileScannerConfig)` | `Promise` |
| `scanWithContent` | `scanWithContent(config: FileScannerConfig)` | `Promise` |
| `getFileStats` | `getFileStats(filePath: string)` | `Promise` |
| `readFile` | `readFile(filePath: string)` | `Promise` |
| `matchesPattern` | `matchesPattern(filePath: string, pattern: string)` | `boolean` |
| `parseGitignore` | `parseGitignore(rootDir: string)` | `Promise` |
| `countFiles` | `countFiles(config: FileScannerConfig)` | `Promise` |
| `groupByExtension` | `groupByExtension(files: ScannedFile[])` | `Record` |
| `groupByDirectory` | `groupByDirectory(files: ScannedFile[])` | `Record` |
| `getSupportedExtensions` | `getSupportedExtensions()` | `ExtensionCategories` |
| `createPatternForExtensions` | `createPatternForExtensions(extensions: string[])` | `string` |
| `getTypescriptPatterns` | `getTypescriptPatterns()` | `string[]` |
| `getDefaultExcludePatterns` | `getDefaultExcludePatterns()` | `string[]` |



# generateMdx

**Kind:** Function

**Source:** `atloria-monorepo/apps/cli/src/generators/mdx.generator.ts` (line 1589)

Generate MDX documentation

## Signature

```ts
async function generateMdx(provider: DataProvider, outputDir: string, options: Partial): Promise
```

## Parameters

| Name | Type |
|---|---|
| `provider` | `DataProvider` |
| `outputDir` | `string` |
| `options` | `Partial` |

**Returns:** `Promise`



# getFollowers

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/src/users/users.controller.ts` (line 86)

## Endpoint

`GET /users/:id/followers`

| Parameter | In | Type | Required |
|---|---|---|---|
| `id` | query | `string` | ✓ |

## Referenced By

- `UsersController` (MODULE_DECLARES)



# getProjectFilesByExtension

**Kind:** Function

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/integration/helpers/test-utils.ts` (line 81)

Get files by extension from a project

## Signature

```ts
function getProjectFilesByExtension(projectPath: string, extensions: string[]): string[]
```

## Parameters

| Name | Type |
|---|---|
| `projectPath` | `string` |
| `extensions` | `string[]` |

**Returns:** `string[]`



# HtmlQualityConfig

**Kind:** Interface

**Source:** `atloria-monorepo/libs/pme-core/src/guardrails/html-quality.guardrail.ts` (line 14)

## Properties

| Property | Type |
|---|---|
| `requireViewport` | `boolean` |
| `requireAlt` | `boolean` |
| `flagInlineStyles` | `boolean` |
| `maxInlineStyles` | `number` |



# HybridMapperService

**Kind:** Service

**Source:** `atloria-monorepo/packages/doc-automation/src/v2/stages/stage-12-screenshots/hybrid-mapper.service.ts` (line 1)



# InstructionZone

**Kind:** Type

**Source:** `atloria-monorepo/libs/agent-core/src/context/instruction-loader.ts` (line 76)

## Definition

```ts
'system' | 'project' | 'task' | 'turn'
```



# JobStatus

**Kind:** Type

**Source:** `atloria-monorepo/libs/pme-core/src/types/index.ts` (line 148)

Job status for tracking generation progress.

## Definition

```ts
| 'queued'
  | 'processing'
  | 'generating_content'
  | 'generating_visuals'
  | 'assembling'
  | 'completed'
  | 'failed'
```



# JobStatus

**Kind:** Type

**Source:** `atloria-monorepo/apps/web/src/hooks/useDocumentationGenerator.ts` (line 9)

Job status from API

## Definition

```ts
'PENDING' | 'RUNNING' | 'COMPLETED' | 'FAILED' | 'CANCELLED'
```



# list

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/api/src/suggestion/suggestion.controller.ts` (line 95)

## Endpoint

`GET /suggestions`

| Parameter | In | Type | Required |
|---|---|---|---|
| `documentId` | query | `string` | ✓ |

## Referenced By

- `SuggestionController` (MODULE_DECLARES)
- `SuggestionAliasController` (MODULE_DECLARES)



# LocaleFlowResult

**Kind:** Interface

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/flow-replay.dto.ts` (line 225)

One locale's full screenshot set from a locale-fanned reshoot.

## Properties

| Property | Type |
|---|---|
| `locale` | `string` |
| `steps` | `FlowStepResult[]` |



# PageSettleService

**Kind:** Service

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/services/page-settle.service.ts` (line 10)

Service for waiting until a page has fully settled before capture.

Extracted verbatim from BatchScreenshotService so batch capture, flow-replay
(WS-A) and clip capture (WS-B) share one framework-agnostic settle strategy.

## Methods

| Method | Signature | Returns |
|---|---|---|
| `detectLongPollingApp` | `detectLongPollingApp(page: Page)` | `Promise` |
| `waitForAngularAppReady` | `waitForAngularAppReady(page: Page, timeoutMs: number)` | `Promise` |
| `waitForPageReady` | `waitForPageReady(page: Page, timeoutMs: number)` | `Promise` |
| `waitForDomStability` | `waitForDomStability(page: Page, checkIntervalMs: number, maxChecks: number)` | `Promise` |



# PLAN_MODE_ALLOWED_TOOLS

**Kind:** Constant

**Source:** `atloria-monorepo/libs/agent-core/src/session/plan-mode-filter.ts` (line 15)

Tools allowed during plan mode (read-only investigation)



# Profile

**Kind:** Graphql Type

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

User profile information

## Referenced By

- `User` (TYPE_OF)



# ProjectMetadata

**Kind:** Interface

**Source:** `atloria-monorepo/apps/cli/src/providers/data-provider.interface.ts` (line 16)

Project metadata from either source

## Properties

| Property | Type |
|---|---|
| `id` | `string` |
| `name` | `string` |
| `type` | `string` |
| `rootDir` | `string` |
| `frameworks` | `string[]` |
| `statistics` | `{
    totalFiles: number;
    parsedFiles: number;
    entityCounts: Record;
  }` |
| `generatedAt` | `string` |



# RoleSourceType

**Kind:** Type

**Source:** `atloria-monorepo/libs/parser-core/src/utils/permission-extractor.ts` (line 17)

Permission Extractor

Extracts permission checks, route guards, role definitions, and
authentication configuration from source code. Detects both hardcoded
and dynamic role-based access control patterns.

## Definition

```ts
'hardcoded' | 'database' | 'external' | 'unknown'
```



# scan

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/discovery/discovery.controller.ts` (line 17)

POST /api/discovery/scan

Scans a web application via headless browser: login → menu walk → page profiling → grid depth.
Returns a SiteMap with all discovered routes and their element profiles.

Synchronous — typical runtime ~6 min for a 50-page app.

## Endpoint

`POST /discovery/scan`

## Referenced By

- `DiscoveryController` (MODULE_DECLARES)



# screenshotConfig

**Kind:** Constant

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/config/screenshot.config.ts` (line 9)

Screenshot configuration

All values can be overridden via environment variables.
This replaces the hardcoded DEFAULTS object in batch-screenshot.service.ts.



# ShareDocumentModal

**Kind:** Class

**Source:** `atloria-monorepo/apps/web-e2e/src/pages/collaboration.page.ts` (line 184)

Share document modal page object

**Extends:** `BasePage`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `goto` | `goto()` | `Promise` |
| `inviteUser` | `inviteUser(email: string, permission: 'view' | 'edit')` | `Promise` |
| `getSharedUsers` | `getSharedUsers()` | `Locator` |
| `getSharedUserCount` | `getSharedUserCount()` | `Promise` |
| `removeUser` | `removeUser(email: string)` | `Promise` |
| `copyLink` | `copyLink()` | `Promise` |
| `close` | `close()` | `Promise` |
| `isVisible` | `isVisible()` | `Promise` |

## Properties

| Property | Type |
|---|---|
| `modal` | `Locator` |
| `emailInput` | `Locator` |
| `permissionSelect` | `Locator` |
| `inviteButton` | `Locator` |
| `sharedUsersList` | `Locator` |
| `copyLinkButton` | `Locator` |
| `closeButton` | `Locator` |



# StateType

**Kind:** Type

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/batch-screenshot.dto.ts` (line 311)

## Definition

```ts
typeof STATE_TYPES[number]
```



# SyncJobStatus

**Kind:** Enum

**Source:** `atloria-monorepo/apps/api/src/project/dto/sync-job.dto.ts` (line 6)

Sync job status enum

## Values

- `PENDING`
- `RUNNING`
- `COMPLETED`
- `FAILED`
- `CANCELLED`



# unfollowUser

**Kind:** Graphql Mutation

**Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1)

Unfollow a user

## Referenced By

- `Mutation` (CALLS_API)



# WebSocketState

**Kind:** Enum

**Source:** `atloria-monorepo/packages/api-client/src/clients/WebSocketClient.ts` (line 4)

WebSocket connection states

## Values

- `CONNECTING`
- `OPEN`
- `CLOSING`
- `CLOSED`



# addLexicalNode$

**Kind:** Constant

**Source:** `atloria-monorepo/packages/editor/src/plugins/core/index.ts` (line 342)

Registers a lexical node to be used in the editor.



# AgentStartPayload

**Kind:** Interface

**Source:** `atloria-monorepo/apps/api/src/agent/agent.types.ts` (line 28)

Agent WebSocket Protocol Types

Defines the event contract between frontend and backend for real-time
agent sessions. Mirrors the CLI experience over WebSocket.

Client → Server:
  agent:start    — Create a new session
  agent:send     — Send a message to the agent
  agent:inject   — Inject a message mid-task
  agent:cancel   — Cancel the current operation

Server → Client:
  agent:thinking   — Agent is processing
  agent:tool_start — Tool call started
  agent:tool_end   — Tool call completed
  agent:message    — Agent text output (streamed or full)
  agent:todo       — Todo list updated
  agent:turn_done  — Turn completed with usage stats
  agent:error      — Error occurred
  agent:ended      — Session ended

## Properties

| Property | Type |
|---|---|
| `workspace` | `string` |
| `model` | `string` |
| `maxTurns` | `number` |
| `projectId` | `string` |
| `organizationId` | `string` |
| `superMode` | `boolean` |
| `verbose` | `boolean` |
| `autonomous` | `boolean` |
| `testCommand` | `string` |
| `resumeSessionId` | `string` |
| `routingTable` | `'gpt54-family' | import('@atloria/agent-core').ModelRoutingTable` |
| `mode` | `import('@atloria/agent-core').TaskMode` |



# AgentTemplate

**Kind:** Interface

**Source:** `atloria-monorepo/libs/agent-core/src/autonomous/orchestrator.ts` (line 28)

A template for spawning a sub-agent within a phase

## Properties

| Property | Type |
|---|---|
| `name` | `string` |
| `focus` | `string` |
| `instructions` | `string` |
| `tools` | `string[]` |
| `model` | `string` |
| `category` | `TaskCategory` |



# AISession

**Kind:** Interface

**Source:** `atloria-monorepo/packages/doc-automation/src/v2/types/stage-08.types.ts` (line 28)

## Properties

| Property | Type |
|---|---|
| `id` | `string` |
| `phaseId` | `string` |
| `type` | `'parent' | 'child'` |
| `parentSessionId` | `string` |
| `documentIds` | `string[]` |
| `tokenBudget` | `{
    input: number;
    output: number;
  }` |
| `sharedContext` | `SharedContext` |
| `status` | `'pending' | 'running' | 'completed' | 'failed'` |



# apiClient

**Kind:** Function

**Source:** `atloria-monorepo/packages/api-client/src/lib/api-client.ts` (line 1)

## Signature

```ts
function apiClient(): string
```

**Returns:** `string`



# AppService

**Kind:** Service

**Source:** `atloria-monorepo/apps/api/src/app/app.service.ts` (line 5)

## Methods

| Method | Signature | Returns |
|---|---|---|
| `getData` | `getData()` | `unknown` |
| `getPublicStats` | `getPublicStats()` | `unknown` |
| `healthCheck` | `healthCheck()` | `unknown` |

## Relationships

- DEPENDS_ON → `prismaservice`
- DEPENDS_ON → `redisservice`



# AtloriaCard

**Kind:** Class

**Source:** `atloria-monorepo/packages/ui-core/src/components/card/Card.ts` (line 19)

A flexible card component with multiple variants and slots

**Extends:** `LitElement`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `render` | `render()` | `void` |

## Properties

| Property | Type |
|---|---|
| `styles` | `any` |
| `variant` | `CardVariant` |
| `clickable` | `any` |
| `noPadding` | `any` |
| `compact` | `any` |



# AuthController

**Kind:** Controller

**Source:** `atloria-monorepo/apps/api/src/auth/auth.controller.ts` (line 20)

## Relationships

- MODULE_DECLARES → `register`
- MODULE_DECLARES → `login`
- MODULE_DECLARES → `refresh`
- MODULE_DECLARES → `verifyEmail`
- MODULE_DECLARES → `forgotPassword`
- MODULE_DECLARES → `resetPassword`
- MODULE_DECLARES → `resendVerification`
- MODULE_DECLARES → `logout`
- MODULE_DECLARES → `getMe`
- DEPENDS_ON → `authservice`



# BenchmarkMonitor

**Kind:** Class

**Source:** `atloria-monorepo/libs/agent-core/src/benchmark/benchmark-monitor.ts` (line 113)

## Methods

| Method | Signature | Returns |
|---|---|---|
| `close` | `close()` | `Promise` |
| `analyze` | `analyze(report: BenchmarkReport)` | `FailureAnalysis` |
| `formatAnalysis` | `formatAnalysis(analysis: FailureAnalysis)` | `string` |

## Properties

| Property | Type |
|---|---|
| `onEvent` | `any` |
| `log` | `any` |



# BitbucketModule

**Kind:** Module

**Source:** `atloria-monorepo/apps/api/src/bitbucket/bitbucket.module.ts` (line 10)

## Relationships

- MODULE_IMPORTS → `configmodule`
- MODULE_IMPORTS → `databasemodule`
- MODULE_IMPORTS → `authmodule`
- MODULE_DECLARES → `bitbucketcontroller`
- MODULE_PROVIDES → `bitbucketservice`
- MODULE_EXPORTS → `bitbucketservice`



# BlockType

**Kind:** Type

**Source:** `atloria-monorepo/packages/editor/src/plugins/core/index.ts` (line 103)

The type of the block that the current selection is in.

## Definition

```ts
'paragraph' | 'quote' | HeadingTagType | ''
```



# BoardCardData

**Kind:** Interface

**Source:** `atloria-monorepo/apps/web/src/components/Boards/helpers.ts` (line 86)

## Properties

| Property | Type |
|---|---|
| `id` | `string` |
| `position` | `number` |
| `columnId` | `string` |
| `issue` | `{
    id: string;
    ticketNumber: number;
    status: string;
    priority: string;
    category: string;
    ticketType?: string;
    description: string;
    pageTitle: string | null;
    pageUrl: string | null;
    assignee: { id: string; name: string | null; email: string } | null;
    createdAt: string;
    updatedAt: string;
    _count?: { comments: number };
  }` |



# bugReportTemplate

**Kind:** Constant

**Source:** `atloria-monorepo/apps/api/src/template/seeds/bug-report.template.ts` (line 3)



# buildFeatureDevPlan

**Kind:** Function

**Source:** `atloria-monorepo/libs/agent-core/src/autonomous/workflows/feature-dev.ts` (line 29)

Build a feature development orchestration plan.

## Signature

```ts
function buildFeatureDevPlan(options: {
  featureDescription?: string;
  workspace?: string;
}): OrchestrationPlan
```

## Parameters

| Name | Type |
|---|---|
| `options` | `{
  featureDescription?: string;
  workspace?: string;
}` |

**Returns:** `OrchestrationPlan`



# buildNgRxStateFlow

**Kind:** Function

**Source:** `atloria-monorepo/libs/parser-core/src/utils/ngrx-pattern-detector.ts` (line 582)

Build state flow from detected NgRx patterns

## Signature

```ts
function buildNgRxStateFlow(actions: NgRxActionPattern[], _reducers: NgRxReducerPattern[], selectors: NgRxSelectorPattern[], _effects: NgRxEffectPattern[]): StateFlow | null
```

## Parameters

| Name | Type |
|---|---|
| `actions` | `NgRxActionPattern[]` |
| `_reducers` | `NgRxReducerPattern[]` |
| `selectors` | `NgRxSelectorPattern[]` |
| `_effects` | `NgRxEffectPattern[]` |

**Returns:** `StateFlow | null`



# buildSeoMetadata

**Kind:** Function

**Source:** `atloria-monorepo/libs/pme-core/src/tools/seo-metadata.tool.ts` (line 70)

Build SEO metadata from page info.
Deterministic template — no AI call needed for basic metadata.

## Signature

```ts
function buildSeoMetadata(params: {
  pageTitle: string;
  pageSummary: string;
  productName?: string;
  heroImageUrl?: string;
  keywords?: string[];
}): SeoMetadata
```

## Parameters

| Name | Type |
|---|---|
| `params` | `{
  pageTitle: string;
  pageSummary: string;
  productName?: string;
  heroImageUrl?: string;
  keywords?: string[];
}` |

**Returns:** `SeoMetadata`



# BulkDeleteDocumentsDto

**Kind:** Class

**Source:** `atloria-monorepo/apps/api/src/document/dto/bulk-operations.dto.ts` (line 7)

Bulk delete documents

## Properties

| Property | Type |
|---|---|
| `documentIds` | `string[]` |



# CacheEntry

**Kind:** Interface

**Source:** `atloria-monorepo/libs/parser-core/src/interfaces/config.interface.ts` (line 235)

Cache entry for incremental parsing

## Properties

| Property | Type |
|---|---|
| `filePath` | `string` |
| `contentHash` | `string` |
| `cachedAt` | `Date` |
| `parserName` | `string` |
| `result` | `unknown` |



# clampTimeOnPage

**Kind:** Function

**Source:** `atloria-monorepo/apps/api/src/analytics/utils/tracking-utils.ts` (line 37)

Clamp a raw time-on-page value to a reasonable upper bound and floor at 0.
Returns null if the input is null/undefined so the column stays nullable.

## Signature

```ts
function clampTimeOnPage(timeOnPage: number | null | undefined): number | null
```

## Parameters

| Name | Type |
|---|---|
| `timeOnPage` | `number | null | undefined` |

**Returns:** `number | null`



# clearAllPendingUpdates

**Kind:** Function

**Source:** `atloria-monorepo/apps/web/src/hooks/useOfflineSync.ts` (line 379)

Clear all pending updates across all documents
Use with caution - this will discard all offline changes

## Signature

```ts
function clearAllPendingUpdates(): void
```

**Returns:** `void`



# createMockAPIResponse

**Kind:** Function

**Source:** `atloria-monorepo/apps/web-e2e/src/utils/data-factories.ts` (line 249)

## Signature

```ts
function createMockAPIResponse(data: T, options: {
    status?: number;
    message?: string;
    pagination?: {
      page: number;
      limit: number;
      total: number;
      totalPages: number;
    };
  })
```

## Parameters

| Name | Type |
|---|---|
| `data` | `T` |
| `options` | `{
    status?: number;
    message?: string;
    pagination?: {
      page: number;
      limit: number;
      total: number;
      totalPages: number;
    };
  }` |



# createValidateOutputTool

**Kind:** Function

**Source:** `atloria-monorepo/libs/site-gen-core/src/assembler/tools/validate-output.tool.ts` (line 29)

## Signature

```ts
function createValidateOutputTool(): ToolDefinition
```

**Returns:** `ToolDefinition`



# CtaCard

**Kind:** Component

**Source:** `atloria-monorepo/libs/site-gen-core/src/component-library/sections/cta/cta-card.tsx` (line 24)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `headlineKey` | `string` | ✓ | - |
| `descriptionKey` | `string` | - | - |
| `primaryCtaKey` | `string` | ✓ | - |
| `primaryCtaUrl` | `string` | ✓ | - |
| `secondaryCtaKey` | `string` | - | - |
| `secondaryCtaUrl` | `string` | - | - |
| `icon` | `LucideIcon` | - | - |

## Diagram

```mermaid
graph TD
    component_CtaCard_13ae657c["CtaCard"]
    class component_CtaCard_13ae657c rootComponent
```

## Relationships

- RENDERS → `motion-div`
- RENDERS → `Icon`
- RENDERS → `motion-h2`
- RENDERS → `motion-p`
- RENDERS → `ArrowRight`
- USES_HOOK → `useTranslation`



# DependencyNode

**Kind:** Interface

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/interfaces/relationship.interface.ts` (line 356)

Node in a dependency tree

## Properties

| Property | Type |
|---|---|
| `id` | `string` |
| `name` | `string` |
| `type` | `string` |
| `relationshipType` | `RelationshipType` |
| `children` | `DependencyNode[]` |
| `depth` | `number` |



# DESK_STATE_LABELS

**Kind:** Constant

**Source:** `atloria-monorepo/apps/web/src/app/app/desk/components/deskTypes.ts` (line 139)

## Definition

```ts
Record
```



# DiscoveryScanRequestDto

**Kind:** Class

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/discovery/dto/discovery.dto.ts` (line 40)

## Properties

| Property | Type |
|---|---|
| `siteUrl` | `string` |
| `auth` | `DiscoveryAuthConfigDto` |
| `exploreGridDepth` | `boolean` |
| `timeoutMs` | `number` |
| `pageProfileTimeoutMs` | `number` |



# DocAudienceScope

**Kind:** Type

**Source:** `atloria-monorepo/apps/api/src/project/audience-scope.util.ts` (line 11)

Audience → doc-set scope mapping.

A project serves multiple doc SETS side-by-side (user manual + technical
reference). Each DocVersion belongs to exactly one scope
(DocVersion.audienceScope) and each scope has its own independent ACTIVE
version. Audiences (viewer URL segments like /p/:slug/:audienceSlug) map
onto a scope so public reads resolve the ACTIVE version of the RIGHT set.

## Definition

```ts
'user' | 'technical' | 'api'
```



# DownshiftAutoCompleteWithSuggestions

**Kind:** Component

**Source:** `atloria-monorepo/packages/editor/src/plugins/core/ui/DownshiftAutoComplete.tsx` (line 29)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `autofocus` | `any` | ✓ | - |
| `suggestions` | `any` | ✓ | - |
| `control` | `any` | ✓ | - |
| `inputName` | `any` | ✓ | - |
| `placeholder` | `any` | ✓ | - |
| `initialInputValue` | `any` | ✓ | - |
| `setValue` | `any` | ✓ | - |

## Diagram

```mermaid
graph TD
    component_DownshiftAutoCompleteWithSuggestions_158f0032["DownshiftAutoCompleteWithSuggestions"]
    class component_DownshiftAutoCompleteWithSuggestions_158f0032 rootComponent
```

## Relationships

- RENDERS → `Controller`
- USES_HOOK → `useState`
- USES_HOOK → `useCellValue`
- USES_HOOK → `useCombobox`

## Referenced By

- `DownshiftAutoComplete` (RENDERS)



# extractTypeString

**Kind:** Function

**Source:** `atloria-monorepo/apps/frontend-parser/src/utils/ast-helpers.ts` (line 222)

Convert TypeScript type to string representation

## Signature

```ts
function extractTypeString(typeNode: t.TSType | null | undefined): string
```

## Parameters

| Name | Type |
|---|---|
| `typeNode` | `t.TSType | null | undefined` |

**Returns:** `string`



# FileSystemStorageProvider

**Kind:** Class

**Source:** `atloria-monorepo/libs/parser-core/src/storage/file-system-storage.provider.ts` (line 27)

File system storage provider implementation

**Implements:** `IStorageProvider`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `getMode` | `getMode()` | `StorageMode` |
| `initialize` | `initialize()` | `Promise` |
| `saveScreenshot` | `saveScreenshot(buffer: Buffer, metadata: ScreenshotMetadata)` | `Promise` |
| `findExistingScreenshot` | `findExistingScreenshot(metadata: Partial)` | `Promise` |
| `saveDocument` | `saveDocument(document: DocumentMetadata)` | `Promise` |
| `documentExists` | `documentExists(_projectId: string, categoryPath: string[], slug: string)` | `Promise` |
| `listDocuments` | `listDocuments(_projectId: string, categoryPath: string[])` | `Promise>` |



# FooterConfig

**Kind:** Interface

**Source:** `atloria-monorepo/libs/site-gen-core/src/assembler/types.ts` (line 61)

## Properties

| Property | Type |
|---|---|
| `descriptionKey` | `string` |
| `linkGroups` | `Array<{
    titleKey: string;
    links: Array<{ labelKey: string; href: string }>;
  }>` |
| `legalLinks` | `Array<{ labelKey: string; href: string }>` |



# generateUserDocsCommand

**Kind:** Function

**Source:** `atloria-monorepo/apps/cli/src/commands/generate-user-docs.command.ts` (line 237)

Main command handler

## Signature

```ts
async function generateUserDocsCommand(options: GenerateUserDocsOptions): Promise
```

## Parameters

| Name | Type |
|---|---|
| `options` | `GenerateUserDocsOptions` |

**Returns:** `Promise`



# getJobResult

**Kind:** API Endpoint

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/orchestrator/orchestrator.controller.ts` (line 109)

Get job result

## Endpoint

`GET /api/orchestrator/jobs/:jobId/result`

| Parameter | In | Type | Required |
|---|---|---|---|
| `jobId` | query | `string` | ✓ |

## Referenced By

- `OrchestratorController` (MODULE_DECLARES)



# getRegisteredParsers

**Kind:** Function

**Source:** `atloria-monorepo/apps/parser-orchestrator/src/queue/processors/parse.processor.ts` (line 64)

Get registered parser names

## Signature

```ts
function getRegisteredParsers(): string[]
```

**Returns:** `string[]`



# HtmlValidationResult

**Kind:** Interface

**Source:** `atloria-monorepo/libs/pme-core/src/tools/validate-html.tool.ts` (line 11)

## Properties

| Property | Type |
|---|---|
| `valid` | `boolean` |
| `errors` | `string[]` |
| `warnings` | `string[]` |



# InternalIcon

**Kind:** Component

**Source:** `atloria-monorepo/apps/web/src/components/Parser/DependencyGraph.tsx` (line 111)

## Props

| Name | Type | Required | Default |
|---|---|---|---|
| `className` | `string` | - | - |

## Diagram

```mermaid
graph TD
    component_InternalIcon_2031600b["InternalIcon"]
    class component_InternalIcon_2031600b rootComponent
```

## Referenced By

- `DependencyGraph` (RENDERS)
- `DependencyCard` (RENDERS)



# JournalEntryType

**Kind:** Type

**Source:** `atloria-monorepo/libs/agent-core/src/autonomous/session-journal.ts` (line 26)

## Definition

```ts
| 'goal'          // Current objective (restated at end of context)
  | 'observation'   // What the agent found (concise)
  | 'hypothesis'    // Suspected root cause (falsifiable)
  | 'failure'       // What didn't work + why (prevents retry)
  | 'progress'
```



# LayoutType

**Kind:** Type

**Source:** `atloria-monorepo/libs/pme-core/src/types/index.ts` (line 21)

## Definition

```ts
| HeroLayout
  | FeaturesLayout
  | HowItWorksLayout
  | PricingLayout
  | ProblemLayout
  | SocialProofLayout
  | FaqLayout
  | CtaLayout
```



# LoginSelectorDetectorService

**Kind:** Service

**Source:** `atloria-monorepo/packages/doc-automation/src/v2/stages/stage-12-screenshots/login-selector-detector.service.ts` (line 1)



# MenuStyle

**Kind:** Type

**Source:** `atloria-monorepo/apps/web/src/app/p/[slugId]/components/BrandingContext.tsx` (line 11)

Project branding fetched from the public project endpoint.
All fields nullable — frontend falls back to defaults (Atloria cyan +
project name) when any field is missing.

## Definition

```ts
'minimal' | 'classic' | 'sidebar' | 'developer'
```



# PdfService

**Kind:** Service

**Source:** `atloria-monorepo/apps/screenshot-worker/src/app/pdf/pdf.service.ts` (line 28)

Renders a fully-composed HTML document to PDF bytes using headless Chromium.

This is the ONE place in the platform that owns Chromium PDF rendering — the
screenshot-worker pod is the only image that ships a browser. Other services
(e.g. the API's doc-version export) compose HTML and POST it here over HTTP
rather than launching Chromium in-process.

`PdfService` renders fully composed HTML documents into PDF bytes using headless Chromium in the screenshot-worker. It is the platform’s single browser-rendering boundary: upstream services prepare HTML and send it to this worker over HTTP instead of bundling or launching Chromium themselves. The service is responsible for configuring the page content, waiting for rendering readiness, and returning the generated PDF payload.

## Methods

| Method | Signature | Returns |
|---|---|---|
| `renderPdf` | `renderPdf(html: string, options: RenderPdfOptions)` | `Promise` |

## Diagram

```mermaid
sequenceDiagram
  participant API as Calling Service
  participant Worker as Screenshot Worker
  participant PdfService
  participant Chromium as Headless Chromium

  API->>Worker: POST HTML document and PDF options
  Worker->>PdfService: renderPdf(html, options)
  PdfService->>Chromium: Create page and set HTML content
  Chromium-->>PdfService: Document rendered
  PdfService->>Chromium: Generate PDF
  Chromium-->>PdfService: PDF bytes
  PdfService-->>Worker: PDF bytes
  Worker-->>API: PDF response
```

## Usage

```ts
import { Injectable } from '@nestjs/common';
import { PdfService } from './pdf/pdf.service';

@Injectable()
export class ExportService {
  constructor(private readonly pdfService: PdfService) {}

  async exportInvoice(): Promise {
    const html = `
      
      
        
          
        
        
          

Invoice #INV-1001

Generated by the document export service.

`; return this.pdfService.renderPdf(html, { format: 'A4', printBackground: true, margin: { top: '16mm', right: '16mm', bottom: '16mm', left: '16mm', }, }); } } ``` ## AI Coding Instructions - Keep Chromium and PDF-generation logic inside `PdfService`; other services should send composed HTML to the screenshot-worker rather than launching a browser locally. - Pass complete, self-contained HTML whenever possible, including required styles and assets, so rendering is deterministic in the worker environment. - Preserve PDF options such as page format, margins, and `printBackground` when adding export flows; visual output often depends on them. - Ensure callers handle returned PDF bytes as binary data (`Buffer`/stream) and set `Content-Type: application/pdf` when returning downloads. - Avoid adding browser-specific rendering behavior to API services; integrate through the screenshot-worker HTTP boundary instead. ## Relationships - DEPENDS_ON → `playwrightservice` # PLAN_MODE_BLOCKED_TOOLS **Kind:** Constant **Source:** `atloria-monorepo/libs/agent-core/src/session/plan-mode-filter.ts` (line 29) Tools explicitly blocked during plan mode # RawPageProfile **Kind:** Interface **Source:** `atloria-monorepo/apps/screenshot-worker/src/app/discovery/page-profiler.service.ts` (line 8) Raw profile data returned from page.evaluate(). Matches the SiteMap types but kept separate to avoid cross-package imports in the worker. ## Properties | Property | Type | |---|---| | `grids` | `Array<{ framework: string; selector: string; rowCount: number; columns: string[]; hasDetailNavigation: boolean; detailUrl?: string; detailProfile?: RawPageProfile; }>` | | `tabs` | `Array<{ label: string; index: number; selector: string; detectionMethod: string; }>` | | `buttons` | `Array<{ text: string; selector: string; isEnabled: boolean; }>` | | `inputs` | `Array<{ type: string; placeholder: string; selector: string; label?: string; }>` | | `forms` | `Array<{ selector: string; fieldCount: number; hasSubmitButton: boolean; }>` | | `modals` | `Array<{ selector: string; title?: string; }>` | # reject **Kind:** API Endpoint **Source:** `atloria-monorepo/apps/api/src/suggestion/suggestion.controller.ts` (line 121) ## Endpoint `POST /suggestions/:id/reject` | Parameter | In | Type | Required | |---|---|---|---| | `id` | query | `string` | ✓ | ## Referenced By - `SuggestionController` (MODULE_DECLARES) - `SuggestionAliasController` (MODULE_DECLARES) # ScreenshotInfo **Kind:** Interface **Source:** `atloria-monorepo/apps/cli/src/utils/screenshot-storage.helper.ts` (line 16) ## Properties | Property | Type | |---|---| | `localPath` | `string` | | `pageId` | `string` | | `route` | `string` | | `url` | `string` | | `formState` | `string` | | `description` | `string` | | `viewport` | `{ width: number; height: number }` | # StateCoverageStatus **Kind:** Type **Source:** `atloria-monorepo/libs/parser-core/src/generators/diagrams/state-machine-diagram.generator.ts` (line 19) Coverage status for a state ## Definition ```ts 'covered' | 'partial' | 'uncovered' | 'unknown' ``` # STATE_TYPES **Kind:** Constant **Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/batch-screenshot.dto.ts` (line 307) # Tag **Kind:** Graphql Type **Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1) Tag for categorizing posts ## Relationships - TYPE_OF → `Post` ## Referenced By - `Post` (TYPE_OF) # takeAuthenticatedScreenshot **Kind:** API Endpoint **Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/screenshot.controller.ts` (line 248) Take authenticated screenshot (login first, then capture) POST /api/screenshot/authenticated Body: { "url": "https://example.com/dashboard", "projectId": "uuid", "organizationId": "uuid", "capturedBy": "uuid", "auth": { "loginUrl": "/login", "username": "user@example.com", "password": "password", "usernameSelector": "#username", "passwordSelector": "#password", "submitSelector": "button[type=submit]", "successSelector": ".dashboard" }, "viewport": { "width": 1920, "height": 1080 }, "fullPage": true } ## Endpoint `POST /screenshot/authenticated` ## Referenced By - `ScreenshotController` (MODULE_DECLARES) # TemplateGalleryPage **Kind:** Class **Source:** `atloria-monorepo/apps/web-e2e/src/pages/templates.page.ts` (line 7) Template gallery page object **Extends:** `BasePage` ## Methods | Method | Signature | Returns | |---|---|---| | `goto` | `goto()` | `Promise` | | `getTemplateCards` | `getTemplateCards()` | `Locator` | | `getTemplateByName` | `getTemplateByName(name: string)` | `Locator` | | `getTemplateCount` | `getTemplateCount()` | `Promise` | | `search` | `search(query: string)` | `Promise` | | `clearSearch` | `clearSearch()` | `Promise` | | `filterByCategory` | `filterByCategory(category: string)` | `Promise` | | `getCategories` | `getCategories()` | `Promise` | | `previewTemplate` | `previewTemplate(name: string)` | `Promise` | | `useTemplate` | `useTemplate(name: string)` | `Promise` | | `hasTemplate` | `hasTemplate(name: string)` | `Promise` | | `getTemplateDetails` | `getTemplateDetails(name: string)` | `Promise<{ name: string; description: string; category: string; }>` | ## Properties | Property | Type | |---|---| | `gallery` | `Locator` | | `searchInput` | `Locator` | | `categoryFilter` | `Locator` | | `templateCards` | `Locator` | | `loadingState` | `Locator` | | `emptyState` | `Locator` | # unlikePost **Kind:** Graphql Mutation **Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1) Unlike a post ## Referenced By - `Mutation` (CALLS_API) # ViewportType **Kind:** Enum **Source:** `atloria-monorepo/apps/api/src/screenshot/dto/capture-screenshot.dto.ts` (line 14) ## Values - `DESKTOP` - `TABLET` - `MOBILE` # WaitType **Kind:** Type **Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/batch-screenshot.dto.ts` (line 108) ## Definition ```ts typeof WAIT_TYPES[number] ``` # addMdastExtension$ **Kind:** Constant **Source:** `atloria-monorepo/packages/editor/src/plugins/core/index.ts` (line 360) Adds a mdast extension to the markdown parser. # AgentThinkingEvent **Kind:** Interface **Source:** `atloria-monorepo/apps/api/src/agent/agent.types.ts` (line 92) ## Properties | Property | Type | |---|---| | `agentName` | `string` | # AgentTransport **Kind:** Interface **Source:** `atloria-monorepo/libs/agent-core/src/protocol/session-event-bridge.ts` (line 37) A transport is a thin adapter between AgentProtocolEvents and a specific output surface (terminal, WebSocket, IPC channel, etc.). Implement this interface to add a new surface without touching the bridge. # AnalysisInput **Kind:** Interface **Source:** `atloria-monorepo/packages/doc-automation/src/v2/types/stage-04.types.ts` (line 20) ## Properties | Property | Type | |---|---| | `chunks` | `Chunk[]` | | `features` | `UserFeature[]` | # Appender **Kind:** Function **Source:** `atloria-monorepo/packages/editor/src/plugins/core/index.ts` (line 496) ## Signature ```ts function Appender(cell$: NodeRef, init: (r: Realm, sig$: NodeRef) => void) ``` ## Parameters | Name | Type | |---|---| | `cell$` | `NodeRef` | | `init` | `(r: Realm, sig$: NodeRef) => void` | # AssetsService **Kind:** Service **Source:** `atloria-monorepo/apps/api/src/assets/assets.service.ts` (line 25) ## Methods | Method | Signature | Returns | |---|---|---| | `uploadImage` | `uploadImage(options: UploadImageOptions)` | `unknown` | | `getAsset` | `getAsset(id: string, organizationId: string)` | `unknown` | | `deleteAsset` | `deleteAsset(id: string, organizationId: string, _userId: string)` | `unknown` | | `listAssets` | `listAssets(organizationId: string, audienceIds: string[])` | `unknown` | ## Relationships - DEPENDS_ON → `prismaservice` - DEPENDS_ON → `azureblobservice` # AtloriaCodeSample **Kind:** Class **Source:** `atloria-monorepo/packages/ui-core/src/components/api-explorer/CodeSample.ts` (line 16) **Extends:** `LitElement` ## Methods | Method | Signature | Returns | |---|---|---| | `render` | `render()` | `void` | ## Properties | Property | Type | |---|---| | `styles` | `any` | | `samples` | `CodeSampleData[]` | | `endpoint` | `any` | | `method` | `any` | | `baseUrl` | `any` | # BenchmarkRunner **Kind:** Class **Source:** `atloria-monorepo/libs/agent-core/src/benchmark/runner.ts` (line 99) ## Methods | Method | Signature | Returns | |---|---|---| | `run` | `run(onProgress: (msg: string) => void)` | `Promise` | # BillingController **Kind:** Controller **Source:** `atloria-monorepo/apps/api/src/billing/billing.controller.ts` (line 23) ## Relationships - MODULE_DECLARES → `checkout` - MODULE_DECLARES → `portal` - MODULE_DECLARES → `summary` - MODULE_DECLARES → `webhook` - DEPENDS_ON → `billingservice` # BoardColumnData **Kind:** Interface **Source:** `atloria-monorepo/apps/web/src/components/Boards/helpers.ts` (line 107) ## Properties | Property | Type | |---|---| | `id` | `string` | | `name` | `string` | | `order` | `number` | | `color` | `string` | | `mapsToStatus` | `string | null` | | `wipLimit` | `number | null` | | `cards` | `BoardCardData[]` | # BoardsModule **Kind:** Module **Source:** `atloria-monorepo/apps/api/src/boards/boards.module.ts` (line 9) ## Relationships - MODULE_IMPORTS → `databasemodule` - MODULE_IMPORTS → `authmodule` - MODULE_IMPORTS → `issuesmodule` - MODULE_DECLARES → `boardscontroller` - MODULE_PROVIDES → `boardsservice` - MODULE_EXPORTS → `boardsservice` # buildMemoryExtractionPrompt **Kind:** Function **Source:** `atloria-monorepo/libs/agent-core/src/autonomous/session-memory.ts` (line 75) Build a prompt for a summarizer model to extract session memories. This is designed to be sent to a model call. Domain layers can either: 1. Call their model provider directly with this prompt 2. Use a sub-agent with this as the task Returns null if the session is too short to extract from. ## Signature ```ts function buildMemoryExtractionPrompt(ctx: SessionContext): string | null ``` ## Parameters | Name | Type | |---|---| | `ctx` | `SessionContext` | **Returns:** `string | null` # buildPiniaStateFlow **Kind:** Function **Source:** `atloria-monorepo/libs/parser-core/src/utils/pinia-pattern-detector.ts` (line 467) Build state flow from detected Pinia patterns ## Signature ```ts function buildPiniaStateFlow(_stores: PiniaStorePattern[], actions: PiniaActionPattern[], getters: PiniaGetterPattern[]): StateFlow | null ``` ## Parameters | Name | Type | |---|---| | `_stores` | `PiniaStorePattern[]` | | `actions` | `PiniaActionPattern[]` | | `getters` | `PiniaGetterPattern[]` | **Returns:** `StateFlow | null` # buildSeoSystemPrompt **Kind:** Function **Source:** `atloria-monorepo/libs/pme-core/src/prompts/seo.prompts.ts` (line 9) ## Signature ```ts function buildSeoSystemPrompt(config: GenerationConfig): string ``` ## Parameters | Name | Type | |---|---| | `config` | `GenerationConfig` | **Returns:** `string` # BulkMoveDocumentsDto **Kind:** Class **Source:** `atloria-monorepo/apps/api/src/document/dto/bulk-operations.dto.ts` (line 22) Bulk move documents to a different category ## Properties | Property | Type | |---|---| | `documentIds` | `string[]` | | `categoryId` | `string | null` | # BUNDLE_CONTAINER **Kind:** Constant **Source:** `atloria-monorepo/apps/api/src/docs-repo/bundle.service.ts` (line 17) Private container holding one bundle per project per day: /.bundle # ButtonSize **Kind:** Type **Source:** `atloria-monorepo/packages/ui-core/src/components/button/Button.ts` (line 8) ## Definition ```ts 'sm' | 'md' | 'lg' ``` # clearColorCache **Kind:** Function **Source:** `atloria-monorepo/apps/web/src/lib/user-colors.ts` (line 136) Clear the color cache (useful for testing or cleanup) ## Signature ```ts function clearColorCache(): void ``` **Returns:** `void` # CloudStorageConfig **Kind:** Interface **Source:** `atloria-monorepo/libs/parser-core/src/interfaces/storage.interface.ts` (line 293) Cloud storage configuration ## Properties | Property | Type | |---|---| | `apiBaseUrl` | `string` | | `apiToken` | `string` | | `projectId` | `string` | | `organizationId` | `string` | | `timeout` | `number` | # clusterKey **Kind:** Function **Source:** `atloria-monorepo/apps/api/src/docs-pr/docs-pr.service.ts` (line 342) Deterministic per-page-set key → the same stale set updates the same PR (dedupe). ## Signature ```ts function clusterKey(slugs: string[]): string ``` ## Parameters | Name | Type | |---|---| | `slugs` | `string[]` | **Returns:** `string` # createMockErrorResponse **Kind:** Function **Source:** `atloria-monorepo/apps/web-e2e/src/utils/data-factories.ts` (line 270) ## Signature ```ts function createMockErrorResponse(message: string, status) ``` ## Parameters | Name | Type | |---|---| | `message` | `string` | | `status` | `any` | # CtaSplitForm **Kind:** Component **Source:** `atloria-monorepo/libs/site-gen-core/src/component-library/sections/cta/cta-split-form.tsx` (line 24) ## Props | Name | Type | Required | Default | |---|---|---|---| | `headlineKey` | `string` | ✓ | - | | `descriptionKey` | `string` | - | - | | `primaryCtaKey` | `string` | ✓ | - | | `primaryCtaUrl` | `string` | ✓ | - | | `contactItems` | `ContactItem[]` | - | - | | `formId` | `string` | - | - | ## Diagram ```mermaid graph TD component_CtaSplitForm_59c28a2f["CtaSplitForm"] class component_CtaSplitForm_59c28a2f rootComponent ``` ## Relationships - RENDERS → `motion-div` - RENDERS → `motion-h2` - RENDERS → `motion-p` - RENDERS → `ArrowRight` - RENDERS → `motion-ul` - RENDERS → `ItemIcon` - USES_HOOK → `useTranslation` # DependencyTree **Kind:** Interface **Source:** `atloria-monorepo/apps/parser-orchestrator/src/interfaces/relationship.interface.ts` (line 321) Dependency tree structure ## Properties | Property | Type | |---|---| | `rootId` | `string` | | `rootName` | `string` | | `rootType` | `string` | | `children` | `DependencyNode[]` | | `depth` | `number` | | `totalNodes` | `number` | # DocsCrJobType **Kind:** Type **Source:** `atloria-monorepo/apps/api/src/change-request/docs-cr-queue.service.ts` (line 7) One change-request lifecycle job: branch staging, merge writeback, diff refresh, or the conflict-resolution restage. Every job carries only the crId — state lives on the row. ## Definition ```ts 'cr-open' | 'cr-merge' | 'cr-refresh' | 'cr-restage' ``` # dynamic **Kind:** Constant **Source:** `atloria-monorepo/apps/web/src/app/layout.tsx` (line 8) # ErrorConfigDto **Kind:** Class **Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/batch-screenshot.dto.ts` (line 276) Error state configuration ## Properties | Property | Type | |---|---| | `errorType` | `'validation' | 'network' | 'permission'` | | `triggerMethod` | `string` | | `expectedError` | `string` | # generateApp **Kind:** Function **Source:** `atloria-monorepo/libs/site-gen-core/src/assembler/generate.ts` (line 232) ## Signature ```ts async function generateApp(outputDir: string, config: SiteAssemblyConfig): Promise ``` ## Parameters | Name | Type | |---|---| | `outputDir` | `string` | | `config` | `SiteAssemblyConfig` | **Returns:** `Promise` # generateEntityId **Kind:** Function **Source:** `atloria-monorepo/apps/frontend-parser/src/utils/ast-helpers.ts` (line 440) Generate a unique entity ID ## Signature ```ts function generateEntityId(filePath: string, name: string, type: string): string ``` ## Parameters | Name | Type | |---|---| | `filePath` | `string` | | `name` | `string` | | `type` | `string` | **Returns:** `string` # getJobStatus **Kind:** API Endpoint **Source:** `atloria-monorepo/apps/parser-orchestrator/src/orchestrator/orchestrator.controller.ts` (line 85) Get job status ## Endpoint `GET /api/orchestrator/jobs/:jobId/status` | Parameter | In | Type | Required | |---|---|---|---| | `jobId` | query | `string` | ✓ | ## Referenced By - `OrchestratorController` (MODULE_DECLARES) # getMcpConfigPath **Kind:** Function **Source:** `atloria-monorepo/apps/cli/src/commands/mcp.command.ts` (line 23) ## Signature ```ts function getMcpConfigPath(): string ``` **Returns:** `string` # getServerSideProps **Kind:** Function **Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/frontend/src/pages/profile/[id].tsx` (line 47) ## Signature ```ts async function getServerSideProps({ params }) ``` ## Parameters | Name | Type | |---|---| | `{ params }` | `any` | # GraphQLParser **Kind:** Class **Source:** `atloria-monorepo/libs/parser-core/src/parsers/api-schema/graphql.parser.ts` (line 60) GraphQL Parser Implementation Supports: - GraphQL Schema Definition Language (SDL) - Queries, Mutations, Subscriptions - Object Types, Input Types, Enums, Interfaces, Unions - Directives and field arguments **Implements:** `IParser` ## Methods | Method | Signature | Returns | |---|---|---| | `initialize` | `initialize(_config: ParserConfig)` | `Promise` | | `canParse` | `canParse(filePath: string)` | `boolean` | | `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` | | `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` | | `destroy` | `destroy()` | `Promise` | ## Properties | Property | Type | |---|---| | `name` | `any` | | `version` | `any` | | `supportedPatterns` | `any` | # HeroBentoGridProps **Kind:** Interface **Source:** `atloria-monorepo/libs/site-gen-core/src/component-library/sections/hero/hero-bento-grid.tsx` (line 15) ## Properties | Property | Type | |---|---| | `headlineKey` | `string` | | `subheadlineKey` | `string` | | `primaryCtaKey` | `string` | | `primaryCtaUrl` | `string` | | `secondaryCtaKey` | `string` | | `secondaryCtaUrl` | `string` | | `badgeKey` | `string` | | `gridItems` | `{ titleKey: string; descriptionKey?: string; icon?: LucideIcon }[]` | | `className` | `string` | # HTMLToolbarComponent **Kind:** Component **Source:** `atloria-monorepo/packages/editor/src/examples/html.tsx` (line 75) ## Diagram ```mermaid graph TD component_HTMLToolbarComponent_48da1ddd["HTMLToolbarComponent"] class component_HTMLToolbarComponent_48da1ddd rootComponent ``` ## Relationships - USES_HOOK → `useCellValues` - USES_HOOK → `useMemo` ## Referenced By - `SpanWithColor` (RENDERS) # ImageGenerationOptions **Kind:** Interface **Source:** `atloria-monorepo/libs/pme-core/src/providers/azure-image.provider.ts` (line 16) ## Properties | Property | Type | |---|---| | `prompt` | `string` | | `size` | `'1024x1024' | '1024x1792' | '1792x1024'` | | `background` | `'transparent' | 'opaque' | 'auto'` | | `quality` | `'low' | 'medium' | 'high'` | | `outputFormat` | `'png' | 'webp'` | # LoopConfig **Kind:** Type **Source:** `atloria-monorepo/libs/agent-core/src/runtime/runtime-config.ts` (line 16) ## Definition ```ts | { engine: 'openai-sdk' } | { engine: 'live-swe'; /** Max same-turn requeries on format errors (default: 3) */ maxRequeries?: number; /** Custom history processor pipeline (default: LastN + ClosedWindow) */ historyProcessors?: HistoryProcessor[]; } ``` # MetaDocumentationService **Kind:** Service **Source:** `atloria-monorepo/packages/doc-automation/src/v2/stages/stage-14-meta/meta-documentation.service.ts` (line 1) # MockupType **Kind:** Type **Source:** `atloria-monorepo/libs/pme-core/src/types/index.ts` (line 37) ## Definition ```ts 'dashboard' | 'editor' | 'terminal' | 'api-playground' | 'analytics-chart' | 'mobile-app' ``` # Origin **Kind:** Type **Source:** `atloria-monorepo/apps/web/src/app/app/desk/components/deskTypes.ts` (line 199) ## Definition ```ts 'chat escalation' | 'reader report' | 'email' ``` # PlaywrightService **Kind:** Service **Source:** `atloria-monorepo/apps/screenshot-worker/src/app/playwright/playwright.service.ts` (line 52) Playwright service for browser automation and screenshots Features: - Multiple browser support (Chromium, Firefox, WebKit) - Custom viewport sizes - Full-page screenshots - Wait for selectors/timeouts - Basic authentication - Browser pooling for performance `PlaywrightService` provides browser automation and screenshot generation for the screenshot worker. It manages pooled Playwright browser instances across Chromium, Firefox, and WebKit, applying navigation, authentication, viewport, wait, and full-page capture options before returning screenshot data. ## Methods | Method | Signature | Returns | |---|---|---| | `getBrowser` | `getBrowser(type: BrowserType)` | `Promise` | | `takeScreenshot` | `takeScreenshot(options: ScreenshotOptions)` | `Promise` | | `takeResponsiveScreenshots` | `takeResponsiveScreenshots(url: string, viewports: Array<{ name: string; width: number; height: number }>)` | `Promise>` | | `takeAuthenticatedScreenshot` | `takeAuthenticatedScreenshot(options: AuthenticatedScreenshotOptions)` | `Promise` | | `getPageHtml` | `getPageHtml(url: string, browserType: BrowserType)` | `Promise` | | `onModuleDestroy` | `onModuleDestroy()` | `unknown` | ## Diagram ```mermaid sequenceDiagram participant Caller as Screenshot Worker participant Service as PlaywrightService participant Pool as Browser Pool participant Browser as Playwright Browser participant Page as Browser Page participant Target as Target URL Caller->>Service: captureScreenshot(options) Service->>Pool: acquire(browserType) Pool-->>Service: browser instance Service->>Browser: newPage(viewport) Browser-->>Service: page Service->>Page: set authentication (optional) Service->>Page: goto(url) Page->>Target: HTTP request Target-->>Page: rendered document Service->>Page: waitForSelector / waitForTimeout Service->>Page: screenshot(fullPage) Page-->>Service: image buffer Service->>Pool: release(browser) Service-->>Caller: screenshot buffer ``` ## Usage ```ts import { Injectable } from '@nestjs/common'; import { PlaywrightService } from './playwright/playwright.service'; @Injectable() export class ScreenshotJobService { constructor(private readonly playwrightService: PlaywrightService) {} async generatePreview(): Promise { return this.playwrightService.captureScreenshot({ url: 'https://example.com/dashboard', browser: 'chromium', viewport: { width: 1440, height: 900, }, fullPage: true, waitForSelector: '[data-page-ready="true"]', waitForTimeout: 500, authentication: { username: process.env.PREVIEW_USERNAME!, password: process.env.PREVIEW_PASSWORD!, }, }); } } ``` ## AI Coding Instructions - Reuse the service's browser-pooling flow; do not launch a new Playwright browser for every screenshot request. - Always release browser resources in `finally` blocks when adding or modifying page/browser lifecycle logic. - Validate URLs, browser types, viewport dimensions, and timeout values before passing user-controlled input to Playwright. - Prefer `waitForSelector` for deterministic page readiness; use fixed timeouts only when no reliable selector is available. - Keep screenshot options compatible across Chromium, Firefox, and WebKit, and test browser-specific behavior when adding new options. # reject **Kind:** API Endpoint **Source:** `atloria-monorepo/apps/api/src/suggestion/suggestion.controller.ts` (line 121) ## Endpoint `POST /suggestions/:id/reject` | Parameter | In | Type | Required | |---|---|---|---| | `id` | query | `string` | ✓ | ## Referenced By - `SuggestionController` (MODULE_DECLARES) - `SuggestionAliasController` (MODULE_DECLARES) # RenderPdfOptions **Kind:** Interface **Source:** `atloria-monorepo/apps/screenshot-worker/src/app/pdf/pdf.service.ts` (line 5) ## Properties | Property | Type | |---|---| | `format` | `'A4' | 'A3' | 'A5' | 'Letter' | 'Legal' | 'Tabloid'` | | `margin` | `{ top?: string; bottom?: string; left?: string; right?: string }` | | `printBackground` | `boolean` | | `displayHeaderFooter` | `boolean` | | `headerTemplate` | `string` | | `footerTemplate` | `string` | # SessionsDeleteOptions **Kind:** Interface **Source:** `atloria-monorepo/apps/cli/src/commands/sessions.command.ts` (line 18) ## Properties | Property | Type | |---|---| | `id` | `string` | | `all` | `boolean` | # Spinner **Kind:** Component **Source:** `atloria-monorepo/apps/web/src/app/app/projects/[id]/changes/[crId]/page.tsx` (line 45) ## Props | Name | Type | Required | Default | |---|---|---|---| | `color` | `string` | - | "#6366F1" | ## Diagram ```mermaid graph TD component_Spinner_423fccdb["Spinner"] class component_Spinner_423fccdb rootComponent ``` ## Referenced By - `ConflictFileCard` (RENDERS) - `ChangeRequestDetailPage` (RENDERS) # STANDARD_PROFILE **Kind:** Constant **Source:** `atloria-monorepo/libs/agent-core/src/runtime/model-profiles.ts` (line 181) STANDARD_PROFILE — safe fallback when model is unknown. Preserves current GPT-5.4 behavior so existing tests and deployments are unaffected when no profile is specified. ## Definition ```ts ModelCapabilityProfile ``` # StateManagementLibrary **Kind:** Type **Source:** `atloria-monorepo/libs/parser-core/src/interfaces/state-management.interface.ts` (line 14) State Management Interfaces Defines interfaces for state management libraries (Redux, MobX, Zustand, etc.) and their patterns for user documentation generation. ## Definition ```ts | 'redux' | 'redux-toolkit' | 'mobx' | 'zustand' | 'recoil' | 'jotai' | 'context-api' | 'react-query' | 'swr' | 'ngrx' | 'akita' | 'ngxs' | 'pinia' | 'vuex' ``` # takeResponsiveScreenshots **Kind:** API Endpoint **Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/screenshot.controller.ts` (line 213) Take responsive screenshots (mobile, tablet, desktop) POST /api/screenshot/responsive Body: { "url": "https://example.com", "projectId": "uuid", "organizationId": "uuid", "capturedBy": "uuid" } ## Endpoint `POST /screenshot/responsive` ## Referenced By - `ScreenshotController` (MODULE_DECLARES) # TemplatePreviewModal **Kind:** Class **Source:** `atloria-monorepo/apps/web-e2e/src/pages/templates.page.ts` (line 153) Template preview modal page object **Extends:** `BasePage` ## Methods | Method | Signature | Returns | |---|---|---| | `goto` | `goto()` | `Promise` | | `getTitle` | `getTitle()` | `Promise` | | `getPreviewContent` | `getPreviewContent()` | `Promise` | | `use` | `use()` | `Promise` | | `close` | `close()` | `Promise` | | `isVisible` | `isVisible()` | `Promise` | ## Properties | Property | Type | |---|---| | `modal` | `Locator` | | `title` | `Locator` | | `description` | `Locator` | | `preview` | `Locator` | | `useButton` | `Locator` | | `closeButton` | `Locator` | # updatePost **Kind:** Graphql Mutation **Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1) Update a post ## Relationships - TYPE_OF → `Post` - TYPE_OF → `UpdatePostInput` ## Referenced By - `Mutation` (CALLS_API) # UpdatePostInput **Kind:** Graphql Type **Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1) Input for updating a post ## Referenced By - `updatePost` (TYPE_OF) # WAIT_TYPES **Kind:** Constant **Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/batch-screenshot.dto.ts` (line 107) # accept **Kind:** API Endpoint **Source:** `atloria-monorepo/apps/api/src/invitation/invitation.controller.ts` (line 35) ## Endpoint `POST /invitations/:token/accept` | Parameter | In | Type | Required | |---|---|---|---| | `token` | query | `string` | ✓ | ## Referenced By - `InvitationController` (MODULE_DECLARES) # ActivityRow **Kind:** Component **Source:** `atloria-monorepo/apps/web/src/components/Boards/IssueSidePanel.tsx` (line 926) ## Props | Name | Type | Required | Default | |---|---|---|---| | `event` | `unknown` | ✓ | - | ## Diagram ```mermaid graph TD component_ActivityRow_1df84edf["ActivityRow"] class component_ActivityRow_1df84edf rootComponent ``` ## Referenced By - `IssueSidePanel` (RENDERS) # addNestedEditorChild$ **Kind:** Constant **Source:** `atloria-monorepo/packages/editor/src/plugins/core/index.ts` (line 776) Lets you add React components as children of any registered nested editor (useful for Lexical plugins). # AgentTodoEvent **Kind:** Interface **Source:** `atloria-monorepo/apps/api/src/agent/agent.types.ts` (line 114) ## Properties | Property | Type | |---|---| | `items` | `Array<{ id: string; description: string; status: 'pending' | 'in_progress' | 'completed' | 'skipped'; result?: string; }>` | | `stats` | `{ total: number; completed: number; pending: number; inProgress: number; skipped: number; }` | # AnalysisResult **Kind:** Interface **Source:** `atloria-monorepo/packages/doc-automation/src/v2/types/stage-04.types.ts` (line 25) ## Properties | Property | Type | |---|---| | `analyses` | `ChunkAnalysis[]` | | `tokenUsage` | `TokenUsage[]` | # AnthropicModelProviderConfig **Kind:** Interface **Source:** `atloria-monorepo/libs/agent-core/src/runtime/anthropic-adapter.ts` (line 36) ## Properties | Property | Type | |---|---| | `apiKey` | `string` | | `defaultModel` | `string` | | `baseUrl` | `string` | | `timeout` | `number` | | `maxTokens` | `number` | | `modelProfile` | `ModelCapabilityProfile` | | `azureHosted` | `boolean` | | `azureApiVersion` | `string` | # applyTheme **Kind:** Function **Source:** `atloria-monorepo/templates/site-bootstrap/src/lib/theme.ts` (line 96) ## Signature ```ts function applyTheme(mode: ThemeMode, primaryColor: string) ``` ## Parameters | Name | Type | |---|---| | `mode` | `ThemeMode` | | `primaryColor` | `string` | # AtloriaEndpointDetail **Kind:** Class **Source:** `atloria-monorepo/packages/ui-core/src/components/api-explorer/EndpointDetail.ts` (line 64) **Extends:** `LitElement` ## Methods | Method | Signature | Returns | |---|---|---| | `render` | `render()` | `void` | ## Properties | Property | Type | |---|---| | `styles` | `any` | | `endpoint` | `APIEndpoint` | | `mode` | `ExplorerMode` | | `environment` | `Environment` | | `schemas` | `Record` | # AudienceService **Kind:** Service **Source:** `atloria-monorepo/apps/api/src/audience/audience.service.ts` (line 15) ## Methods | Method | Signature | Returns | |---|---|---| | `list` | `list(user: JwtPayload)` | `Promise` | | `get` | `get(id: string, user: JwtPayload)` | `Promise` | | `create` | `create(dto: CreateAudienceDto, user: JwtPayload)` | `Promise` | | `update` | `update(id: string, dto: UpdateAudienceDto, user: JwtPayload)` | `Promise` | | `delete` | `delete(id: string, user: JwtPayload)` | `Promise` | | `seedStandardAudiences` | `seedStandardAudiences()` | `Promise` | ## Relationships - DEPENDS_ON → `prismaservice` # BitbucketController **Kind:** Controller **Source:** `atloria-monorepo/apps/api/src/bitbucket/bitbucket.controller.ts` (line 10) ## Relationships - MODULE_DECLARES → `getAuthUrl` - MODULE_DECLARES → `handleCallback` - MODULE_DECLARES → `getStatus` - MODULE_DECLARES → `listRepos` - MODULE_DECLARES → `listBranches` - MODULE_DECLARES → `disconnect` - DEPENDS_ON → `bitbucketservice` # BM25Index **Kind:** Class **Source:** `atloria-monorepo/libs/agent-core/src/semantic/bm25.ts` (line 59) ## Methods | Method | Signature | Returns | |---|---|---| | `addDocument` | `addDocument(id: string, text: string)` | `void` | | `removeDocument` | `removeDocument(id: string)` | `void` | | `search` | `search(query: string, topK: undefined)` | `Array<{ id: string; score: number }>` | | `clear` | `clear()` | `void` | | `serialize` | `serialize()` | `SerializedIndex` | | `deserialize` | `deserialize(data: object)` | `BM25Index` | # BoardData **Kind:** Interface **Source:** `atloria-monorepo/apps/web/src/components/Boards/helpers.ts` (line 117) ## Properties | Property | Type | |---|---| | `id` | `string` | | `name` | `string` | | `description` | `string | null` | | `color` | `string` | | `isDefault` | `boolean` | | `settings` | `Record | null` | | `columns` | `BoardColumnData[]` | | `createdAt` | `string` | | `updatedAt` | `string` | # BrandingModule **Kind:** Module **Source:** `atloria-monorepo/apps/api/src/branding/branding.module.ts` (line 8) ## Relationships - MODULE_IMPORTS → `databasemodule` - MODULE_IMPORTS → `authmodule` - MODULE_DECLARES → `brandingcontroller` - MODULE_PROVIDES → `brandingservice` - MODULE_EXPORTS → `brandingservice` # buildPrediction **Kind:** Function **Source:** `atloria-monorepo/libs/agent-core/src/benchmark/swebench-evaluator.ts` (line 58) Convert a TaskResult to SWE-bench prediction format. Used for both successful and failed tasks (autosubmit pattern — even partial patches are worth submitting). ## Signature ```ts function buildPrediction(result: TaskResult, modelName: string): SWEBenchPrediction ``` ## Parameters | Name | Type | |---|---| | `result` | `TaskResult` | | `modelName` | `string` | **Returns:** `SWEBenchPrediction` # buildReduxStateFlow **Kind:** Function **Source:** `atloria-monorepo/libs/parser-core/src/utils/redux-pattern-detector.ts` (line 501) Build state flow from detected patterns ## Signature ```ts function buildReduxStateFlow(actions: ReduxActionPattern[], _reducers: ReduxReducerPattern[], selectors: ReduxSelectorPattern[]): StateFlow | null ``` ## Parameters | Name | Type | |---|---| | `actions` | `ReduxActionPattern[]` | | `_reducers` | `ReduxReducerPattern[]` | | `selectors` | `ReduxSelectorPattern[]` | **Returns:** `StateFlow | null` # buildSeoTaskPrompt **Kind:** Function **Source:** `atloria-monorepo/libs/pme-core/src/prompts/seo.prompts.ts` (line 44) ## Signature ```ts function buildSeoTaskPrompt(pageTitle: string, pageSummary: string, productName: string): string ``` ## Parameters | Name | Type | |---|---| | `pageTitle` | `string` | | `pageSummary` | `string` | | `productName` | `string` | **Returns:** `string` # BulkPublishDto **Kind:** Class **Source:** `atloria-monorepo/apps/api/src/document/dto/bulk-operations.dto.ts` (line 68) Bulk publish all documents in a project ## Properties | Property | Type | |---|---| | `projectId` | `string` | | `audienceSlug` | `string` | | `setPublic` | `boolean` | # BUNDLE_RETENTION **Kind:** Constant **Source:** `atloria-monorepo/apps/api/src/docs-repo/bundle.service.ts` (line 19) Keep the newest N bundles per project; older ones are pruned after each upload. # ButtonVariant **Kind:** Type **Source:** `atloria-monorepo/packages/ui-core/src/components/button/Button.ts` (line 7) ## Definition ```ts 'primary' | 'secondary' | 'danger' | 'ghost' ``` # clearWizardState **Kind:** Function **Source:** `atloria-monorepo/apps/web/src/components/NewProjectWizard/useNewProjectWizard.ts` (line 104) # CodeBlockInfo **Kind:** Interface **Source:** `atloria-monorepo/libs/parser-core/src/interfaces/entity.interface.ts` (line 972) Code block information ## Properties | Property | Type | |---|---| | `language` | `string` | | `line` | `number` | | `lines` | `number` | # collectEntities **Kind:** Function **Source:** `atloria-monorepo/apps/api/src/technical-docs/curation.ts` (line 62) Look up name/type for a set of entity ids in the UNCURATED navMap — the tree's "Hidden (n)" section needs names, but hidden entities are filtered out of the served map. ## Signature ```ts function collectEntities(navMap: NavMap | null | undefined, ids: string[]): Array<{ id: string; name: string; type: string }> ``` ## Parameters | Name | Type | |---|---| | `navMap` | `NavMap | null | undefined` | | `ids` | `string[]` | **Returns:** `Array<{ id: string; name: string; type: string }>` # createMockPaginatedResponse **Kind:** Function **Source:** `atloria-monorepo/apps/web-e2e/src/utils/data-factories.ts` (line 281) ## Signature ```ts function createMockPaginatedResponse(items: T[], page, limit, total: number) ``` ## Parameters | Name | Type | |---|---| | `items` | `T[]` | | `page` | `any` | | `limit` | `any` | | `total` | `number` | # DocsPrJob **Kind:** Type **Source:** `atloria-monorepo/apps/api/src/docs-pr/docs-pr-queue.service.ts` (line 5) ## Definition ```ts | { type: 'check'; projectId: string } | { type: 'pr-closed'; repoUrl: string; prNumber: number; merged: boolean } ``` # EMPTY_FILTERS **Kind:** Constant **Source:** `atloria-monorepo/apps/web/src/components/Boards/BoardFilters.tsx` (line 30) ## Definition ```ts BoardFiltersState ``` # Entity **Kind:** Interface **Source:** `atloria-monorepo/apps/parser-orchestrator/src/interfaces/entity.interface.ts` (line 217) Base entity interface - all specific entities extend this ## Properties | Property | Type | |---|---| | `id` | `string` | | `type` | `EntityType` | | `name` | `string` | | `filePath` | `string` | | `startLine` | `number` | | `endLine` | `number` | | `description` | `string` | | `tags` | `string[]` | | `metadata` | `Record` | | `discoveredAt` | `Date` | | `contentHash` | `string` | # FaqAccordion **Kind:** Component **Source:** `atloria-monorepo/libs/site-gen-core/src/component-library/sections/faq/faq-accordion.tsx` (line 14) ## Props | Name | Type | Required | Default | |---|---|---|---| | `headlineKey` | `string` | ✓ | - | | `descriptionKey` | `string` | - | - | | `items` | `unknown[]` | ✓ | - | ## Diagram ```mermaid graph TD component_FaqAccordion_1c913bb0["FaqAccordion"] class component_FaqAccordion_1c913bb0 rootComponent ``` ## Relationships - RENDERS → `motion-div` - RENDERS → `motion-h2` - RENDERS → `motion-p` - RENDERS → `AccordionItem` - USES_HOOK → `useTranslation` # FlowBoundingBoxDto **Kind:** Class **Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/flow-replay.dto.ts` (line 45) Percentage-of-viewport bounding box carried over from capture time. ## Properties | Property | Type | |---|---| | `x` | `number` | | `y` | `number` | | `w` | `number` | | `h` | `number` | # generateI18n **Kind:** Function **Source:** `atloria-monorepo/libs/site-gen-core/src/assembler/generate.ts` (line 302) ## Signature ```ts async function generateI18n(outputDir: string, locales: LocaleConfig[]): Promise ``` ## Parameters | Name | Type | |---|---| | `outputDir` | `string` | | `locales` | `LocaleConfig[]` | **Returns:** `Promise` # generateRelationshipId **Kind:** Function **Source:** `atloria-monorepo/apps/frontend-parser/src/utils/ast-helpers.ts` (line 462) Generate a relationship ID ## Signature ```ts function generateRelationshipId(sourceId: string, targetId: string, type: string): string ``` ## Parameters | Name | Type | |---|---| | `sourceId` | `string` | | `targetId` | `string` | | `type` | `string` | **Returns:** `string` # getKGStatistics **Kind:** API Endpoint **Source:** `atloria-monorepo/apps/parser-orchestrator/src/orchestrator/orchestrator.controller.ts` (line 167) Get Knowledge Graph statistics ## Endpoint `GET /api/orchestrator/knowledge-graph/stats` ## Referenced By - `OrchestratorController` (MODULE_DECLARES) # hasParser **Kind:** Function **Source:** `atloria-monorepo/apps/parser-orchestrator/src/queue/processors/parse.processor.ts` (line 57) Check if a parser is registered ## Signature ```ts function hasParser(name: string): boolean ``` ## Parameters | Name | Type | |---|---| | `name` | `string` | **Returns:** `boolean` # HeroDarkCenteredProps **Kind:** Interface **Source:** `atloria-monorepo/libs/site-gen-core/src/component-library/sections/hero/hero-dark-centered.tsx` (line 14) ## Properties | Property | Type | |---|---| | `headlineKey` | `string` | | `subheadlineKey` | `string` | | `primaryCtaKey` | `string` | | `primaryCtaUrl` | `string` | | `secondaryCtaKey` | `string` | | `secondaryCtaUrl` | `string` | | `badgeKey` | `string` | | `floatingStats` | `{ valueKey: string; labelKey: string }[]` | | `imageSrc` | `string` | | `imageAlt` | `string` | # ImageGenerationRequest **Kind:** Interface **Source:** `atloria-monorepo/libs/pme-core/src/types/index.ts` (line 189) Image generation request. ## Properties | Property | Type | |---|---| | `prompt` | `string` | | `width` | `number` | | `height` | `number` | | `background` | `'transparent' | 'opaque' | 'auto'` | | `quality` | `'low' | 'medium' | 'high'` | # initScreenshotConfigCommand **Kind:** Function **Source:** `atloria-monorepo/apps/cli/src/commands/init-screenshot-config.command.ts` (line 87) Generate screenshot configuration from AppMap ## Signature ```ts async function initScreenshotConfigCommand(options: { target?: string; output?: string; appUrl?: string; }) ``` ## Parameters | Name | Type | |---|---| | `options` | `{ target?: string; output?: string; appUrl?: string; }` | # InsertCard **Kind:** Component **Source:** `atloria-monorepo/packages/editor/src/examples/nested-jsx-elements.tsx` (line 60) ## Diagram ```mermaid graph TD component_InsertCard_422f28bb["InsertCard"] class component_InsertCard_422f28bb rootComponent ``` ## Relationships - RENDERS → `Button` - USES_HOOK → `usePublisher` ## Referenced By - `Example` (RENDERS) # Jinja2TemplateParser **Kind:** Class **Source:** `atloria-monorepo/libs/parser-core/src/parsers/backend/jinja2-template.parser.ts` (line 81) Jinja2 Template Parser Extracts entities and relationships from Jinja2 template files. **Implements:** `IParser` ## Methods | Method | Signature | Returns | |---|---|---| | `initialize` | `initialize(config: { rootDir: string })` | `Promise` | | `canParse` | `canParse(filePath: string)` | `boolean` | | `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` | | `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` | | `destroy` | `destroy()` | `Promise` | ## Properties | Property | Type | |---|---| | `name` | `any` | | `version` | `any` | | `supportedPatterns` | `any` | # McpClientOptions **Kind:** Type **Source:** `atloria-monorepo/libs/agent-core/src/mcp/mcp-client.ts` (line 43) ## Definition ```ts McpStdioOptions | McpHttpOptions ``` # OpenAIReviewerService **Kind:** Service **Source:** `atloria-monorepo/packages/doc-automation/src/v2/stages/stage-11-verification/openai-reviewer.service.ts` (line 1) # PageType **Kind:** Type **Source:** `atloria-monorepo/libs/pme-core/src/types/index.ts` (line 88) ## Definition ```ts 'homepage' | 'landing' | 'product' | 'pricing' | 'contact' ``` # PmeJobStatus **Kind:** Type **Source:** `atloria-monorepo/apps/web/src/stores/pmeStore.ts` (line 10) ## Definition ```ts 'idle' | 'queued' | 'processing' | 'generating_content' | 'generating_visuals' | 'assembling' | 'completed' | 'failed' ``` # RetryConfig **Kind:** Interface **Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/services/retry-handler.service.ts` (line 6) Configuration for retry behavior ## Properties | Property | Type | |---|---| | `maxRetries` | `number` | | `initialDelayMs` | `number` | | `backoffMultiplier` | `number` | | `maxDelayMs` | `number` | | `onRetry` | `(error: Error, attempt: number, delay: number) => void` | # RetryHandlerService **Kind:** Service **Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/services/retry-handler.service.ts` (line 74) ## Methods | Method | Signature | Returns | |---|---|---| | `isRetryableError` | `isRetryableError(error: Error | string | null | undefined, additionalRetryablePatterns: string[])` | `boolean` | | `calculateBackoffDelay` | `calculateBackoffDelay(attempt: number, config: RetryConfig)` | `number` | | `retryWithBackoff` | `retryWithBackoff(fn: () => Promise, config: RetryConfig)` | `Promise` | # SessionsListOptions **Kind:** Interface **Source:** `atloria-monorepo/apps/cli/src/commands/sessions.command.ts` (line 16) # StorageMode **Kind:** Type **Source:** `atloria-monorepo/libs/parser-core/src/interfaces/storage.interface.ts` (line 15) Storage Provider Interfaces Defines storage abstraction for dual-mode operation: - File System Mode: Local directory storage (CLI) - Cloud Mode: Azure Storage via API (API/Web) ## Definition ```ts 'file-system' | 'cloud' ``` # SWEBENCH_STARTER_IDS **Kind:** Constant **Source:** `atloria-monorepo/libs/agent-core/src/benchmark/swebench-subset.ts` (line 228) Just the task IDs for quick filtering. ## Definition ```ts string[] ``` # takeScreenshot **Kind:** API Endpoint **Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/screenshot.controller.ts` (line 194) Take a single screenshot POST /api/screenshot Body: { "url": "https://example.com", "projectId": "uuid", "viewport": { "width": 1920, "height": 1080 }, "fullPage": true, "waitForSelector": ".main-content" } ## Endpoint `POST /screenshot` ## Referenced By - `ScreenshotController` (MODULE_DECLARES) # updateUser **Kind:** Graphql Mutation **Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1) Update user profile ## Relationships - TYPE_OF → `User` - TYPE_OF → `UpdateUserInput` ## Referenced By - `Mutation` (CALLS_API) # UpdateUserInput **Kind:** Graphql Type **Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1) Input for updating a user ## Referenced By - `updateUser` (TYPE_OF) # activate **Kind:** API Endpoint **Source:** `atloria-monorepo/apps/api/src/doc-version/doc-version.controller.ts` (line 182) ## Endpoint `POST /doc-versions/:projectId/:versionId/activate` | Parameter | In | Type | Required | |---|---|---|---| | `versionId` | query | `string` | ✓ | ## Referenced By - `DocVersionController` (MODULE_DECLARES) # ActivityStrip **Kind:** Component **Source:** `atloria-monorepo/apps/web/src/app/app/projects/[id]/changes/[crId]/page.tsx` (line 222) ## Props | Name | Type | Required | Default | |---|---|---|---| | `cr` | `ChangeRequest` | ✓ | - | ## Diagram ```mermaid graph TD component_ActivityStrip_194bc6ab["ActivityStrip"] class component_ActivityStrip_194bc6ab rootComponent ``` ## Referenced By - `ChangeRequestDetailPage` (RENDERS) # addSyntaxExtension$ **Kind:** Constant **Source:** `atloria-monorepo/packages/editor/src/plugins/core/index.ts` (line 354) Adds a syntax extension to the markdown parser. # AgentToolEndEvent **Kind:** Interface **Source:** `atloria-monorepo/apps/api/src/agent/agent.types.ts` (line 101) ## Properties | Property | Type | |---|---| | `toolName` | `string` | | `outputPreview` | `string` | | `durationMs` | `number` | # AnalyticsConfig **Kind:** Interface **Source:** `atloria-monorepo/templates/site-bootstrap/src/lib/analytics.ts` (line 14) ## Properties | Property | Type | |---|---| | `provider` | `AnalyticsProvider` | | `trackingId` | `string` | # ApplyPatchOptions **Kind:** Interface **Source:** `atloria-monorepo/libs/agent-core/src/tools/apply-patch.tool.ts` (line 38) ## Properties | Property | Type | |---|---| | `rootDir` | `string` | | `maxFileSize` | `number` | | `checkpointManager` | `CheckpointManager` | # AtloriaEndpointList **Kind:** Class **Source:** `atloria-monorepo/packages/ui-core/src/components/api-explorer/EndpointList.ts` (line 23) **Extends:** `LitElement` ## Methods | Method | Signature | Returns | |---|---|---| | `render` | `render()` | `void` | ## Properties | Property | Type | |---|---| | `styles` | `any` | | `endpoints` | `APIEndpoint[]` | | `selectedId` | `any` | | `groupBy` | `'controller' | 'tag' | 'method'` | # AuditService **Kind:** Service **Source:** `atloria-monorepo/apps/api/src/audit/audit.service.ts` (line 19) ## Methods | Method | Signature | Returns | |---|---|---| | `record` | `record(event: AuditEventInput)` | `Promise` | | `query` | `query(opts: { organizationId: string; projectId?: string; docVersionId?: string; actorId?: string; action?: string; startDate?: string; endDate?: string; limit?: number; offset?: number; })` | `unknown` | | `exportCSV` | `exportCSV(opts: { organizationId: string; projectId?: string })` | `Promise` | ## Relationships - DEPENDS_ON → `prismaservice` # BoardFiltersState **Kind:** Interface **Source:** `atloria-monorepo/apps/web/src/components/Boards/BoardFilters.tsx` (line 22) ## Properties | Property | Type | |---|---| | `priorities` | `string[]` | | `categories` | `string[]` | | `assigneeIds` | `string[]` | | `audiences` | `string[]` | | `hasReporterEmail` | `'any' | 'yes' | 'no'` | # BoardsController **Kind:** Controller **Source:** `atloria-monorepo/apps/api/src/boards/boards.controller.ts` (line 23) ## Relationships - MODULE_DECLARES → `list` - MODULE_DECLARES → `create` - MODULE_DECLARES → `getOne` - MODULE_DECLARES → `update` - MODULE_DECLARES → `remove` - MODULE_DECLARES → `restore` - MODULE_DECLARES → `addColumn` - MODULE_DECLARES → `reorderColumns` - MODULE_DECLARES → `updateColumn` - MODULE_DECLARES → `deleteColumn` - MODULE_DECLARES → `listCards` - MODULE_DECLARES → `addCards` - MODULE_DECLARES → `moveCard` - MODULE_DECLARES → `removeCard` - MODULE_DECLARES → `getBoardsForIssue` - DEPENDS_ON → `boardsservice` # buildChunkRelationshipGraph **Kind:** Function **Source:** `atloria-monorepo/packages/doc-automation/src/v2/stages/stage-02-chunking/chunk-relationship-graph.ts` (line 14) Build a relationship graph between chunks ## Signature ```ts function buildChunkRelationshipGraph(chunks: Chunk[], allEntities: Entity[]): ChunkRelationshipGraph ``` ## Parameters | Name | Type | |---|---| | `chunks` | `Chunk[]` | | `allEntities` | `Entity[]` | **Returns:** `ChunkRelationshipGraph` # buildReviewNudge **Kind:** Function **Source:** `atloria-monorepo/libs/agent-core/src/autonomous/self-review.ts` (line 78) Build a compact review nudge (for injection into instructions). Shorter than the full review prompt — just highlights what to check. ## Signature ```ts function buildReviewNudge(editedFiles: EditedFile[]): string ``` ## Parameters | Name | Type | |---|---| | `editedFiles` | `EditedFile[]` | **Returns:** `string` # buildStrategyQuestionPrompt **Kind:** Function **Source:** `atloria-monorepo/libs/pme-core/src/prompts/strategy.prompts.ts` (line 94) ## Signature ```ts function buildStrategyQuestionPrompt(docSummary: string, screenshotCount: number): string ``` ## Parameters | Name | Type | |---|---| | `docSummary` | `string` | | `screenshotCount` | `number` | **Returns:** `string` # buildSystemOverview **Kind:** Function **Source:** `atloria-monorepo/libs/parser-core/src/techdocs/system-overview.ts` (line 45) ## Signature ```ts function buildSystemOverview(input: SystemOverviewInput): string ``` ## Parameters | Name | Type | |---|---| | `input` | `SystemOverviewInput` | **Returns:** `string` # BulkUpdateIssuesDto **Kind:** Class **Source:** `atloria-monorepo/apps/api/src/issues/dto/update-issue.dto.ts` (line 28) ## Properties | Property | Type | |---|---| | `issueIds` | `string[]` | | `status` | `IssueStatus` | | `priority` | `IssuePriority` | | `assigneeId` | `string | null` | # CAPTURE_ACTIONS **Kind:** Constant **Source:** `atloria-monorepo/apps/api/src/capture/dto/create-flow.dto.ts` (line 15) # CaptureModule **Kind:** Module **Source:** `atloria-monorepo/apps/api/src/capture/capture.module.ts` (line 11) ## Relationships - MODULE_IMPORTS → `databasemodule` - MODULE_IMPORTS → `authmodule` - MODULE_IMPORTS → `draftdocumentmodule` - MODULE_DECLARES → `capturecontroller` - MODULE_DECLARES → `publiccapturecontroller` - MODULE_PROVIDES → `captureservice` - MODULE_PROVIDES → `flowdraftstitcherservice` - MODULE_EXPORTS → `captureservice` # CaptureProgressCallback **Kind:** Type **Source:** `atloria-monorepo/packages/doc-automation/src/v2/stages/stage-12-screenshots/screenshot-capturer.service.ts` (line 34) ## Definition ```ts (progress: CaptureProgress) => void ``` # CheckpointManager **Kind:** Class **Source:** `atloria-monorepo/libs/agent-core/src/context/checkpoint-manager.ts` (line 43) ## Methods | Method | Signature | Returns | |---|---|---| | `createWithGit` | `createWithGit(rootDir: string, config: Omit & { sessionId?: string; staleAgeDays?: number; })` | `CheckpointManager` | | `snapshot` | `snapshot(relPath: string, label: string)` | `boolean` | | `rollback` | `rollback(relPath: string, index: number)` | `string | null` | | `getSnapshots` | `getSnapshots(relPath: string)` | `readonly Snapshot[]` | | `getSnapshotCount` | `getSnapshotCount(relPath: string)` | `number` | | `getTotalCount` | `getTotalCount()` | `number` | | `getTrackedFiles` | `getTrackedFiles()` | `string[]` | | `clear` | `clear()` | `void` | | `getBackend` | `getBackend()` | `CheckpointBackend` | # CodeEntity **Kind:** Interface **Source:** `atloria-monorepo/libs/parser-core/src/interfaces/workflow-signals.interface.ts` (line 4) Simplified entity representation for AI analysis ## Properties | Property | Type | |---|---| | `id` | `string` | | `type` | `string` | | `name` | `string` | | `filePath` | `string` | | `startLine` | `number` | | `endLine` | `number` | | `metadata` | `Record` | # composeResolvedContent **Kind:** Function **Source:** `atloria-monorepo/apps/web/src/components/change-requests/section-merge.ts` (line 103) Apply a list of per-section resolutions onto the current full document content, returning the composed `resolvedContent` to POST back. ## Signature ```ts function composeResolvedContent(current: string, resolutions: SectionResolution[]): string ``` ## Parameters | Name | Type | |---|---| | `current` | `string` | | `resolutions` | `SectionResolution[]` | **Returns:** `string` # composeThreeWay **Kind:** Function **Source:** `atloria-monorepo/apps/api/src/change-request/merge-compose.ts` (line 19) Compose the auto-merged document from aligned three-way sections (S2.3 merge). PURE — no I/O. The caller (CrWorker's merge gate) has already classified every section via DiffService.threeWaySections and verified NONE are 'conflict'; this walks the aligned slots in order and takes: - 'keep-mine' → mine (main moved this section; the proposal left it alone) - 'take-theirs' → theirs (the proposal changed this section; main left it alone) - 'unchanged' → mine (mine === theirs by definition — either side works) A section DELETED on the winning side compares as '' and is dropped from the composition (this also covers the deleted-on-both-sides slots threeWaySections appends as 'unchanged'). Section texts carry no trailing newline (they are joined line runs), so the composition re-joins with '\n' and ends with a single trailing newline — matching the normalised form every committed page already has. ## Signature ```ts function composeThreeWay(sections: ThreeWaySection[]): string ``` ## Parameters | Name | Type | |---|---| | `sections` | `ThreeWaySection[]` | **Returns:** `string` # createTestCollaborationSession **Kind:** Function **Source:** `atloria-monorepo/apps/web-e2e/src/utils/data-factories.ts` (line 214) ## Signature ```ts function createTestCollaborationSession(documentId: string, userCount): TestCollaborationSession ``` ## Parameters | Name | Type | |---|---| | `documentId` | `string` | | `userCount` | `any` | **Returns:** `TestCollaborationSession` # DocsPrStatus **Kind:** Type **Source:** `atloria-monorepo/apps/api/src/docs-pr/docs-pr.service.ts` (line 13) ## Definition ```ts 'opened' | 'updated' | 'skipped' | 'error' ``` # EntityPath **Kind:** Interface **Source:** `atloria-monorepo/apps/parser-orchestrator/src/interfaces/relationship.interface.ts` (line 291) Graph path between entities ## Properties | Property | Type | |---|---| | `startId` | `string` | | `endId` | `string` | | `relationships` | `Relationship[]` | | `entityIds` | `string[]` | | `length` | `number` | # FaqTwoColumn **Kind:** Component **Source:** `atloria-monorepo/libs/site-gen-core/src/component-library/sections/faq/faq-two-column.tsx` (line 14) ## Props | Name | Type | Required | Default | |---|---|---|---| | `headlineKey` | `string` | ✓ | - | | `descriptionKey` | `string` | - | - | | `items` | `unknown[]` | ✓ | - | ## Diagram ```mermaid graph TD component_FaqTwoColumn_26bcfedd["FaqTwoColumn"] class component_FaqTwoColumn_26bcfedd rootComponent ``` ## Relationships - RENDERS → `motion-div` - RENDERS → `motion-h2` - RENDERS → `motion-p` - RENDERS → `AccordionItem` - USES_HOOK → `useTranslation` # FlowLocalesRequestDto **Kind:** Class **Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/flow-replay.dto.ts` (line 211) SUPERIOR: replay the WHOLE recipe once per locale in one call, emitting a localized screenshot set per locale (blob-namespaced by locale). **Extends:** `FlowReplayRequestDto` ## Properties | Property | Type | |---|---| | `locales` | `string[]` | | `viewport` | `ViewportDto` | # generateLandingPage **Kind:** Function **Source:** `atloria-monorepo/libs/site-gen-core/src/assembler/generate.ts` (line 85) ## Signature ```ts async function generateLandingPage(outputDir: string, sections: SectionSelection[], resolved: ManifestSection[], seo: SiteAssemblyConfig['seo']): Promise ``` ## Parameters | Name | Type | |---|---| | `outputDir` | `string` | | `sections` | `SectionSelection[]` | | `resolved` | `ManifestSection[]` | | `seo` | `SiteAssemblyConfig['seo']` | **Returns:** `Promise` # getQueueMetrics **Kind:** API Endpoint **Source:** `atloria-monorepo/apps/parser-orchestrator/src/orchestrator/orchestrator.controller.ts` (line 152) Get queue metrics ## Endpoint `GET /api/orchestrator/queue/metrics` ## Referenced By - `OrchestratorController` (MODULE_DECLARES) # getReactLifecycleMethods **Kind:** Function **Source:** `atloria-monorepo/apps/frontend-parser/src/utils/ast-helpers.ts` (line 523) Get lifecycle methods for React class components ## Signature ```ts function getReactLifecycleMethods(): string[] ``` **Returns:** `string[]` # HeroGradientSplitProps **Kind:** Interface **Source:** `atloria-monorepo/libs/site-gen-core/src/component-library/sections/hero/hero-gradient-split.tsx` (line 13) ## Properties | Property | Type | |---|---| | `headlineKey` | `string` | | `subheadlineKey` | `string` | | `primaryCtaKey` | `string` | | `primaryCtaUrl` | `string` | | `secondaryCtaKey` | `string` | | `secondaryCtaUrl` | `string` | | `imageSrc` | `string` | | `imageAlt` | `string` | | `badges` | `{ textKey: string; icon?: LucideIcon }[]` | | `className` | `string` | # ImageGenerationResponse **Kind:** Interface **Source:** `atloria-monorepo/libs/pme-core/src/providers/azure-image.provider.ts` (line 24) ## Properties | Property | Type | |---|---| | `b64Data` | `string` | | `revisedPrompt` | `string` | # initializeAllParsers **Kind:** Function **Source:** `atloria-monorepo/apps/parser-orchestrator/src/queue/processors/parser-registry.ts` (line 93) Initialize and register all parsers from parser-core ## Signature ```ts async function initializeAllParsers(rootDir): Promise ``` ## Parameters | Name | Type | |---|---| | `rootDir` | `any` | **Returns:** `Promise` # InsertComplexMarkdownButton **Kind:** Component **Source:** `atloria-monorepo/packages/editor/src/examples/insert-markdown.tsx` (line 141) ## Diagram ```mermaid graph TD component_InsertComplexMarkdownButton_46eea884["InsertComplexMarkdownButton"] class component_InsertComplexMarkdownButton_46eea884 rootComponent ``` ## Relationships - USES_HOOK → `usePublisher` ## Referenced By - `InsertMarkdownWithTableAndList` (RENDERS) # JsonConfigParser **Kind:** Class **Source:** `atloria-monorepo/libs/parser-core/src/parsers/config-docs/json-config.parser.ts` (line 58) JSON Config Parser implementation **Implements:** `IParser` ## Methods | Method | Signature | Returns | |---|---|---| | `initialize` | `initialize(_config: ParserConfig)` | `Promise` | | `canParse` | `canParse(filePath: string)` | `boolean` | | `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` | | `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` | | `destroy` | `destroy()` | `Promise` | ## Properties | Property | Type | |---|---| | `name` | `any` | | `version` | `any` | | `supportedPatterns` | `any` | # KIND_BADGE **Kind:** Constant **Source:** `atloria-monorepo/apps/web/src/components/change-requests/cr-shared.ts` (line 52) ## Definition ```ts Record ``` # loginCommand **Kind:** Function **Source:** `atloria-monorepo/apps/cli/src/commands/login.command.ts` (line 144) Login command handler ## Signature ```ts async function loginCommand(options: LoginOptions): Promise ``` ## Parameters | Name | Type | |---|---| | `options` | `LoginOptions` | **Returns:** `Promise` # McpServerConfig **Kind:** Type **Source:** `atloria-monorepo/libs/agent-core/src/mcp/mcp-manager.ts` (line 45) ## Definition ```ts McpStdioServerConfig | McpHttpServerConfig ``` # ParserCoreBridge **Kind:** Service **Source:** `atloria-monorepo/packages/doc-automation/src/v2/stages/stage-01-parse/services/parser-core-bridge.service.ts` (line 1) # PricingLayout **Kind:** Type **Source:** `atloria-monorepo/libs/pme-core/src/types/index.ts` (line 15) ## Definition ```ts 'columns' | 'comparison-table' | 'slider' ``` # ScreenshotMetadata **Kind:** Interface **Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/screenshot-metadata.service.ts` (line 15) ## Properties | Property | Type | |---|---| | `projectId` | `string` | | `url` | `string` | | `viewport` | `{ width: number; height: number }` | | `stateType` | `'default' | 'hover' | 'modal' | 'error' | 'success' | 'loading'` | | `flowStepId` | `string` | | `browser` | `'chromium' | 'firefox' | 'webkit'` | | `fullPage` | `boolean` | | `contentHash` | `string` | # ScreenshotMetadataService **Kind:** Service **Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/screenshot-metadata.service.ts` (line 36) ## Methods | Method | Signature | Returns | |---|---|---| | `calculateContentHash` | `calculateContentHash(buffer: Buffer)` | `string` | | `findExisting` | `findExisting(metadata: ScreenshotMetadata)` | `Promise` | | `shouldRegenerate` | `shouldRegenerate(existing: ExistingScreenshot, newContentHash: string)` | `boolean` | | `save` | `save(buffer: Buffer, metadata: ScreenshotMetadata, assetUrl: string, organizationId: string, capturedBy: string, jobId: string)` | `Promise<{ id: string; version: number }>` | | `getHistory` | `getHistory(projectId: string, flowStepId: string)` | `Promise` | | `markAsBaseline` | `markAsBaseline(screenshotId: string)` | `Promise` | | `getBaseline` | `getBaseline(projectId: string, viewport: string, stateType: string, flowStepId: string)` | `Promise` | ## Relationships - DEPENDS_ON → `prismaservice` # SearchDocType **Kind:** Type **Source:** `atloria-monorepo/apps/web/src/app/p/[slugId]/components/staticSearch.ts` (line 14) Client-side scorer over the PREBUILT STATIC search index (F4). PublicSearchModal fetches `/public/p/:slug/search-index.json` once and runs this tiny inline scorer when the live search API is unavailable — so search keeps working during an API/Azure outage or on a fully static export. No external search dependency: a small, well-tuned term scorer. Ranking = a text score (title/heading/token/excerpt matches, weighted by how many query terms matched) plus a small entity-graph `boost` tie-breaker, so the important pages float up among otherwise-similar text matches. ## Definition ```ts 'user_manual' | 'technical_ref' ``` # SessionsShowOptions **Kind:** Interface **Source:** `atloria-monorepo/apps/cli/src/commands/sessions.command.ts` (line 17) ## Properties | Property | Type | |---|---| | `id` | `string` | # SWEBENCH_STARTER_SUBSET **Kind:** Constant **Source:** `atloria-monorepo/libs/agent-core/src/benchmark/swebench-subset.ts` (line 36) ## Definition ```ts SubsetEntry[] ``` # takeSmartAuthenticatedScreenshot **Kind:** API Endpoint **Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/screenshot.controller.ts` (line 280) Smart authenticated screenshot - AI auto-detects login form selectors POST /api/screenshot/smart-auth Body: { "url": "https://example.com/dashboard", "projectId": "uuid", "organizationId": "uuid", "capturedBy": "uuid", "auth": { "loginUrl": "https://example.com/login", "username": "user@example.com", "password": "password" }, "viewport": { "width": 1920, "height": 1080 }, "fullPage": true } The AI will automatically: 1. Navigate to the login page 2. Analyze the HTML to find username, password, and submit selectors 3. Fill in credentials and submit 4. Navigate to the target URL and take a screenshot ## Endpoint `POST /screenshot/smart-auth` ## Referenced By - `ScreenshotController` (MODULE_DECLARES) # TemplateElement **Kind:** Type **Source:** `atloria-monorepo/libs/parser-core/src/interfaces/template-analysis.interface.ts` (line 206) Generic template element (union type) ## Definition ```ts | ButtonElement | LinkElement | FormElement | ComponentUsage | ModalTrigger ``` # UserConnection **Kind:** Graphql Type **Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1) Paginated user list ## Relationships - TYPE_OF → `User` ## Referenced By - `users` (TYPE_OF) # ActivityTabBody **Kind:** Component **Source:** `atloria-monorepo/apps/web/src/app/app/desk/components/DeskCopilot.tsx` (line 525) ## Props | Name | Type | Required | Default | |---|---|---|---| | `thread` | `DeskThreadDetail` | ✓ | - | ## Diagram ```mermaid graph TD component_ActivityTabBody_1faedad5["ActivityTabBody"] class component_ActivityTabBody_1faedad5 rootComponent ``` ## Referenced By - `DeskCopilot` (RENDERS) # addCards **Kind:** API Endpoint **Source:** `atloria-monorepo/apps/api/src/boards/boards.controller.ts` (line 153) ## Endpoint `POST /projects/:projectId/boards/:boardId/cards` | Parameter | In | Type | Required | |---|---|---|---| | `projectId` | query | `string` | ✓ | | `boardId` | query | `string` | ✓ | ## Referenced By - `BoardsController` (MODULE_DECLARES) # addToMarkdownExtension$ **Kind:** Constant **Source:** `atloria-monorepo/packages/editor/src/plugins/core/index.ts` (line 372) Adds a markdown to string extension to be used when exporting markdown from the Lexical tree. # AgentToolStartEvent **Kind:** Interface **Source:** `atloria-monorepo/apps/api/src/agent/agent.types.ts` (line 96) ## Properties | Property | Type | |---|---| | `toolName` | `string` | | `input` | `string` | # AnalyzerProgressCallback **Kind:** Interface **Source:** `atloria-monorepo/packages/doc-automation/src/v2/stages/stage-04-analysis/analyzer.service.ts` (line 31) # AtloriaEnvironmentSelector **Kind:** Class **Source:** `atloria-monorepo/packages/ui-core/src/components/api-explorer/EnvironmentSelector.ts` (line 14) **Extends:** `LitElement` ## Methods | Method | Signature | Returns | |---|---|---| | `render` | `render()` | `void` | ## Properties | Property | Type | |---|---| | `styles` | `any` | | `environments` | `Environment[]` | | `selected` | `any` | # AttemptResult **Kind:** Interface **Source:** `atloria-monorepo/libs/agent-core/src/benchmark/retry-runner.ts` (line 40) ## Properties | Property | Type | |---|---| | `attemptIndex` | `number` | | `score` | `number` | # AuthService **Kind:** Service **Source:** `atloria-monorepo/apps/api/src/auth/auth.service.ts` (line 26) ## Methods | Method | Signature | Returns | |---|---|---| | `register` | `register(registerDto: RegisterDto)` | `Promise` | | `verifyEmail` | `verifyEmail(token: string)` | `Promise<{ verified: boolean; email: string }>` | | `resendVerification` | `resendVerification(userId: string)` | `Promise<{ sent: boolean; alreadyVerified?: boolean }>` | | `forgotPassword` | `forgotPassword(email: string)` | `Promise<{ message: string }>` | | `resetPassword` | `resetPassword(token: string, newPassword: string)` | `Promise<{ success: boolean }>` | | `login` | `login(loginDto: LoginDto)` | `Promise` | | `refresh` | `refresh(refreshToken: string)` | `Promise` | | `logout` | `logout(userId: string)` | `Promise` | | `getMe` | `getMe(userId: string)` | `Promise` | | `validateUser` | `validateUser(email: string, password: string)` | `Promise` | ## Relationships - DEPENDS_ON → `prismaservice` - DEPENDS_ON → `redisservice` - DEPENDS_ON → `jwtservice` - DEPENDS_ON → `configservice` - DEPENDS_ON → `emailservice` # BrandingController **Kind:** Controller **Source:** `atloria-monorepo/apps/api/src/branding/branding.controller.ts` (line 8) ## Relationships - MODULE_DECLARES → `getBranding` - MODULE_DECLARES → `updateBranding` - DEPENDS_ON → `brandingservice` # Breadcrumb **Kind:** Interface **Source:** `atloria-monorepo/apps/web/src/components/Layout/Breadcrumbs.tsx` (line 11) ## Properties | Property | Type | |---|---| | `label` | `string` | | `href` | `string` | | `current` | `boolean` | # buildExtractionPrompt **Kind:** Function **Source:** `atloria-monorepo/packages/doc-automation/src/v2/services/business-context-extractor.ts` (line 27) Build the AI extraction prompt from combined source text. The caller reads sources, concatenates text, and passes it here. ## Signature ```ts function buildExtractionPrompt(sourceText: string, productName: string): string ``` ## Parameters | Name | Type | |---|---| | `sourceText` | `string` | | `productName` | `string` | **Returns:** `string` # buildReviewPrompt **Kind:** Function **Source:** `atloria-monorepo/libs/agent-core/src/autonomous/self-review.ts` (line 36) Build a review prompt for a set of file diffs. Can be sent to a sub-agent or injected as a nudge. ## Signature ```ts function buildReviewPrompt(editedFiles: EditedFile[]): string ``` ## Parameters | Name | Type | |---|---| | `editedFiles` | `EditedFile[]` | **Returns:** `string` # buildStrategySystemPrompt **Kind:** Function **Source:** `atloria-monorepo/libs/pme-core/src/prompts/strategy.prompts.ts` (line 10) ## Signature ```ts function buildStrategySystemPrompt(config: GenerationConfig): string ``` ## Parameters | Name | Type | |---|---| | `config` | `GenerationConfig` | **Returns:** `string` # BulkUpdateVisibilityDto **Kind:** Class **Source:** `atloria-monorepo/apps/api/src/document/dto/bulk-operations.dto.ts` (line 46) Bulk update document visibility ## Properties | Property | Type | |---|---| | `documentIds` | `string[]` | | `isPublic` | `boolean` | # calculateCoverageReport **Kind:** Function **Source:** `atloria-monorepo/libs/parser-core/src/utils/coverage-calculator.ts` (line 236) Calculate overall coverage report ## Signature ```ts function calculateCoverageReport(entities: Entity[], screenshots: EnhancedScreenshotMetadata[], interactions: UIInteraction[]): CoverageReport ``` ## Parameters | Name | Type | |---|---| | `entities` | `Entity[]` | | `screenshots` | `EnhancedScreenshotMetadata[]` | | `interactions` | `UIInteraction[]` | **Returns:** `CoverageReport` # CaptureType **Kind:** Type **Source:** `atloria-monorepo/packages/doc-automation/src/v2/types/screenshot-spec.types.ts` (line 19) What kind of UI state to capture ## Definition ```ts | 'page' | 'modal' | 'tab' | 'form-empty' | 'form-validation' | 'form-filled' | 'toast' | 'state-guided' | 'workflow-sequence' ``` # changelogTemplate **Kind:** Constant **Source:** `atloria-monorepo/apps/api/src/template/seeds/changelog.template.ts` (line 3) # ChangeRequestModule **Kind:** Module **Source:** `atloria-monorepo/apps/api/src/change-request/change-request.module.ts` (line 21) ## Relationships - MODULE_IMPORTS → `configmodule` - MODULE_IMPORTS → `docsrepomodule` - MODULE_IMPORTS → `forwardref` - MODULE_DECLARES → `changerequestcontroller` - MODULE_DECLARES → `docsconfigcontroller` - MODULE_PROVIDES → `changerequestservice` - MODULE_PROVIDES → `docsconfigservice` - MODULE_PROVIDES → `docscrqueue` - MODULE_PROVIDES → `crworker` - MODULE_PROVIDES → `diffservice` - MODULE_EXPORTS → `changerequestservice` - MODULE_EXPORTS → `docscrqueue` - MODULE_EXPORTS → `diffservice` # Chunker **Kind:** Class **Source:** `atloria-monorepo/libs/agent-core/src/semantic/chunker.ts` (line 56) ## Methods | Method | Signature | Returns | |---|---|---| | `chunkFile` | `chunkFile(filePath: string, rootDir: string)` | `CodeChunk[]` | | `chunkDirectory` | `chunkDirectory(rootDir: string, config: { maxFiles?: number; includeExtensions?: string[]; excludeDirs?: string[]; targetChunkTokens?: number; })` | `CodeChunk[]` | | `extractImports` | `extractImports(content: string)` | `string` | # CodeRelationship **Kind:** Interface **Source:** `atloria-monorepo/libs/parser-core/src/interfaces/workflow-signals.interface.ts` (line 17) Simplified relationship representation for AI analysis ## Properties | Property | Type | |---|---| | `sourceId` | `string` | | `targetId` | `string` | | `type` | `string` | | `metadata` | `Record` | # computeEntityImportance **Kind:** Function **Source:** `atloria-monorepo/apps/api/src/technical-docs/search-index.ts` (line 143) Per-entity importance 0..1 = blend of call-graph in-degree centrality (how many things reference it) and public-API-surface weight (its kind). ## Signature ```ts function computeEntityImportance(entities: GraphEntity[], relationships: GraphRelationship[]): Map ``` ## Parameters | Name | Type | |---|---| | `entities` | `GraphEntity[]` | | `relationships` | `GraphRelationship[]` | **Returns:** `Map` # countActiveFilters **Kind:** Function **Source:** `atloria-monorepo/apps/web/src/components/Boards/BoardFilters.tsx` (line 48) ## Signature ```ts function countActiveFilters(f: BoardFiltersState): number ``` ## Parameters | Name | Type | |---|---| | `f` | `BoardFiltersState` | **Returns:** `number` # createTestComment **Kind:** Function **Source:** `atloria-monorepo/apps/web-e2e/src/utils/data-factories.ts` (line 105) ## Signature ```ts function createTestComment(overrides: Partial): TestCommentData ``` ## Parameters | Name | Type | |---|---| | `overrides` | `Partial` | **Returns:** `TestCommentData` # EnvVariableEntity **Kind:** Interface **Source:** `atloria-monorepo/apps/parser-orchestrator/src/interfaces/entity.interface.ts` (line 920) Environment variable entity ## Properties | Property | Type | |---|---| | `type` | `EntityType.ENV_VARIABLE` | | `variableName` | `string` | | `exampleValue` | `string` | | `isSensitive` | `boolean` | | `isRequired` | `boolean` | | `category` | `string` | # EventType **Kind:** Type **Source:** `atloria-monorepo/apps/api/src/events/events.service.ts` (line 20) ## Definition ```ts (typeof EVENT_TYPES)[number] ``` # FeatureIcon **Kind:** Component **Source:** `atloria-monorepo/libs/site-gen-core/src/component-library/_shared/feature-icon.tsx` (line 17) ## Props | Name | Type | Required | Default | |---|---|---|---| | `icon` | `LucideIcon` | ✓ | - | | `size` | `number` | - | 24 | | `className` | `string` | - | - | ## Diagram ```mermaid graph TD component_FeatureIcon_500ff6b3["FeatureIcon"] class component_FeatureIcon_500ff6b3 rootComponent ``` ## Relationships - RENDERS → `Icon` # FlowRedactBoxDto **Kind:** Class **Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/dto/flow-replay.dto.ts` (line 57) A region (PERCENT 0-100 of the natural image) to BLACK OUT before upload. The worker burns a filled rectangle into the screenshot pixels — destructive by design, so a redacted value can never be recovered from the stored asset. ## Properties | Property | Type | |---|---| | `x` | `number` | | `y` | `number` | | `w` | `number` | | `h` | `number` | # generateLocales **Kind:** Function **Source:** `atloria-monorepo/libs/site-gen-core/src/assembler/generate.ts` (line 327) ## Signature ```ts async function generateLocales(outputDir: string, locales: LocaleConfig[]): Promise ``` ## Parameters | Name | Type | |---|---| | `outputDir` | `string` | | `locales` | `LocaleConfig[]` | **Returns:** `Promise` # getUserById **Kind:** API Endpoint **Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/openapi.yaml` (line 1) Get user by ID ## Endpoint `GET /users/{id}` | Parameter | In | Type | Required | |---|---|---|---| | `id` | query | `string` | ✓ | ## Relationships - REFERENCES → `UserWithProfile` - REFERENCES → `Error` ## Referenced By - `User Management API` (IMPLEMENTS_API) # hashString **Kind:** Function **Source:** `atloria-monorepo/apps/frontend-parser/src/utils/ast-helpers.ts` (line 449) Simple hash function for generating unique IDs ## Signature ```ts function hashString(str: string): string ``` ## Parameters | Name | Type | |---|---| | `str` | `string` | **Returns:** `string` # HeroMinimalCenteredProps **Kind:** Interface **Source:** `atloria-monorepo/libs/site-gen-core/src/component-library/sections/hero/hero-minimal-centered.tsx` (line 14) ## Properties | Property | Type | |---|---| | `headlineKey` | `string` | | `subheadlineKey` | `string` | | `primaryCtaKey` | `string` | | `primaryCtaUrl` | `string` | | `secondaryCtaKey` | `string` | | `secondaryCtaUrl` | `string` | | `badgeKey` | `string` | | `badgeIcon` | `LucideIcon` | | `dividerIcons` | `LucideIcon[]` | | `imageSrc` | `string` | | `imageAlt` | `string` | # ImageMetadata **Kind:** Interface **Source:** `atloria-monorepo/libs/pme-core/src/guardrails/image-quality.guardrail.ts` (line 28) ## Properties | Property | Type | |---|---| | `width` | `number` | | `height` | `number` | | `format` | `string` | | `sizeBytes` | `number` | | `hasAlpha` | `boolean` | | `url` | `string` | # InsertCustomImage **Kind:** Component **Source:** `atloria-monorepo/packages/editor/src/examples/images.tsx` (line 99) ## Diagram ```mermaid graph TD component_InsertCustomImage_2db81f54["InsertCustomImage"] class component_InsertCustomImage_2db81f54 rootComponent ``` ## Relationships - USES_HOOK → `usePublisher` ## Referenced By - `InsertImageSignal` (RENDERS) # MarkdownParser **Kind:** Class **Source:** `atloria-monorepo/libs/parser-core/src/parsers/config-docs/markdown.parser.ts` (line 64) Markdown Parser implementation **Implements:** `IParser` ## Methods | Method | Signature | Returns | |---|---|---| | `initialize` | `initialize(_config: ParserConfig)` | `Promise` | | `canParse` | `canParse(filePath: string)` | `boolean` | | `parseFile` | `parseFile(filePath: string, content: string)` | `Promise` | | `parseFiles` | `parseFiles(files: ParseFileInput[])` | `Promise` | | `destroy` | `destroy()` | `Promise` | ## Properties | Property | Type | |---|---| | `name` | `any` | | `version` | `any` | | `supportedPatterns` | `any` | # mcpAddCommand **Kind:** Function **Source:** `atloria-monorepo/apps/cli/src/commands/mcp.command.ts` (line 53) ## Signature ```ts async function mcpAddCommand(name: string, options: McpAddOptions): Promise ``` ## Parameters | Name | Type | |---|---| | `name` | `string` | | `options` | `McpAddOptions` | **Returns:** `Promise` # measureExecutionTime **Kind:** Function **Source:** `atloria-monorepo/apps/parser-orchestrator/test/integration/helpers/test-utils.ts` (line 332) Measure execution time ## Signature ```ts async function measureExecutionTime(fn: () => Promise): Promise<{ result: T; duration: number }> ``` ## Parameters | Name | Type | |---|---| | `fn` | `() => Promise` | **Returns:** `Promise<{ result: T; duration: number }>` # MemoryPersister **Kind:** Type **Source:** `atloria-monorepo/libs/agent-core/src/autonomous/session-memory.ts` (line 60) Callback that receives extracted memories for persistence. Domain layers implement this to write memories to disk, database, etc. ## Definition ```ts (memories: SessionMemory[]) => void | Promise ``` # metadata **Kind:** Constant **Source:** `atloria-monorepo/apps/web/src/app/(marketing)/compare/gitbook/page.tsx` (line 11) /compare/gitbook — bottom-funnel "gitbook alternative" / "atloria vs gitbook". Fair by design: concedes GitBook's real strengths (authoring-workflow maturity + Git Sync, collaboration maturity, SOC 2 Type II + ISO 27001, richer adaptive content, and their newly-shipped 8 comparison pages) and only claims Atloria capabilities that are live-verified. Every competitor fact is from gitbook.com's live docs/pricing (verified 2026-07-11). Design mirrors /product/agent-actions: light + colorful. # Mutation **Kind:** Graphql Type **Source:** `atloria-monorepo/apps/parser-orchestrator/test/fixtures/sample-projects/fullstack-nextjs-nestjs/backend/api/schema.graphql` (line 1) ## Relationships - CALLS_API → `createUser` - CALLS_API → `updateUser` - CALLS_API → `deleteUser` - CALLS_API → `createPost` - CALLS_API → `updatePost` - CALLS_API → `deletePost` - CALLS_API → `likePost` - CALLS_API → `unlikePost` - CALLS_API → `followUser` - CALLS_API → `unfollowUser` - CALLS_API → `addComment` - CALLS_API → `login` - CALLS_API → `refreshToken` # ParserService **Kind:** Service **Source:** `atloria-monorepo/packages/doc-automation/src/v2/stages/stage-01-parse/parser.service.ts` (line 1) # ProblemLayout **Kind:** Type **Source:** `atloria-monorepo/libs/pme-core/src/types/index.ts` (line 16) ## Definition ```ts 'centered' | 'split-visual' ``` # ScreenshotOptions **Kind:** Interface **Source:** `atloria-monorepo/apps/screenshot-worker/src/app/playwright/playwright.service.ts` (line 6) ## Properties | Property | Type | |---|---| | `url` | `string` | | `browserType` | `BrowserType` | | `viewport` | `{ width: number; height: number; }` | | `fullPage` | `boolean` | | `waitForSelector` | `string` | | `waitForTimeout` | `number` | | `authentication` | `{ username: string; password: string; }` | # ScreenshotService **Kind:** Service **Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/screenshot.service.ts` (line 78) Screenshot orchestration service Coordinates Playwright and Storage services to: 1. Take screenshots 2. Upload to Azure Blob Storage 3. Return public URLs ## Methods | Method | Signature | Returns | |---|---|---| | `takeAndUpload` | `takeAndUpload(request: TakeScreenshotRequest)` | `Promise` | | `takeResponsiveScreenshots` | `takeResponsiveScreenshots(url: string, projectId: string, organizationId: string, capturedBy: string)` | `Promise` | | `takeAuthenticatedScreenshot` | `takeAuthenticatedScreenshot(request: TakeAuthenticatedScreenshotRequest)` | `Promise` | | `takeSmartAuthenticatedScreenshot` | `takeSmartAuthenticatedScreenshot(_request: TakeSmartAuthenticatedScreenshotRequest)` | `Promise` | ## Relationships - DEPENDS_ON → `playwrightservice` - DEPENDS_ON → `storageservice` - DEPENDS_ON → `screenshotmetadataservice` # SlaState **Kind:** Type **Source:** `atloria-monorepo/apps/web/src/app/app/desk/components/deskTypes.ts` (line 20) ## Definition ```ts 'ok' | 'warn' | 'breach' | null ``` # StdioTransportOptions **Kind:** Interface **Source:** `atloria-monorepo/apps/cli/src/stdio-transport.ts` (line 22) ## Properties | Property | Type | |---|---| | `formatTodo` | `(items: ReadonlyArray, stats: TodoStats) => string` | # TOOL_PROFILES **Kind:** Constant **Source:** `atloria-monorepo/libs/agent-core/src/tools/tool-profiles.ts` (line 24) Tool name sets per mode. `null` means all tools (full mode). Note: tool_search is always included — it's the discovery mechanism for deferred tools. journal and note are always included for working memory. ## Definition ```ts Record ``` # TypeDefinitionMap **Kind:** Type **Source:** `atloria-monorepo/libs/parser-core/src/utils/ast-helpers.ts` (line 51) Type definition map for resolving type references ## Definition ```ts Map ``` # validateSelectors **Kind:** API Endpoint **Source:** `atloria-monorepo/apps/screenshot-worker/src/app/screenshot/batch-screenshot.controller.ts` (line 351) ## Endpoint `POST /screenshot/validate-selectors` ## Referenced By - `BatchScreenshotController` (MODULE_DECLARES) # addColumn **Kind:** API Endpoint **Source:** `atloria-monorepo/apps/api/src/boards/boards.controller.ts` (line 93) ## Endpoint `POST /projects/:projectId/boards/:boardId/columns` | Parameter | In | Type | Required | |---|---|---|---| | `projectId` | query | `string` | ✓ | | `boardId` | query | `string` | ✓ | ## Referenced By - `BoardsController` (MODULE_DECLARES) # addTopAreaChild$ **Kind:** Constant **Source:** `atloria-monorepo/packages/editor/src/plugins/core/index.ts` (line 746) Lets you add React components on top of the editor (like the toolbar). # AgentTraffic **Kind:** Interface **Source:** `atloria-monorepo/apps/api/src/events/agent-analytics.service.ts` (line 15) Agent-native analytics — "who/what AI is reading your docs". A read-side aggregation over the `agent_read` interaction_events the public agent surfaces (llms.txt / llms-full.txt / .md twins / MCP) already record via EventsService. No new capture. Mirrors ManualsInsightsService.deflection: one org-scoped fetch, JS aggregation, a zero-filled daily trend. The `refusedQuestions` panel folds in the `chat_refused` signal — the loop-closer: what agents/users asked that the docs couldn't answer. ## Properties | Property | Type | |---|---| | `windowDays` | `number` | | `total` | `number` | | `byAgent` | `Array<{ agent: string; count: number }>` | | `bySurface` | `Array<{ surface: string; count: number }>` | | `topPages` | `Array<{ path: string; count: number }>` | | `trend` | `Array<{ date: string; count: number }>` | | `refusedQuestions` | `Array<{ question: string; count: number }>` | # AiEnrichmentContent **Kind:** Component **Source:** `atloria-monorepo/apps/web/src/app/app/projects/[id]/technical-docs/entity/[entityId]/page.tsx` (line 170) ## Props | Name | Type | Required | Default | |---|---|---|---| | `content` | `string` | ✓ | - | ## Diagram ```mermaid graph TD component_AiEnrichmentContent_36de275e["AiEnrichmentContent"] class component_AiEnrichmentContent_36de275e rootComponent ``` ## Relationships - RENDERS → `MarkdownRenderer` ## Referenced By - `EntityDetailPage` (RENDERS) # AngularDetectionConfig **Kind:** Interface **Source:** `atloria-monorepo/packages/doc-automation/src/v2/types/patterns/angular.patterns.ts` (line 235) ## Properties | Property | Type | |---|---| | `name` | `'angular'` | | `filePatterns` | `string[]` | | `identifiers` | `RegExp[]` | | `configFiles` | `string[]` | # AtloriaInput **Kind:** Class **Source:** `atloria-monorepo/packages/ui-core/src/components/input/Input.ts` (line 22) A fully accessible input component with validation states **Extends:** `LitElement` ## Methods | Method | Signature | Returns | |---|---|---| | `focus` | `focus()` | `void` | | `blur` | `blur()` | `void` | | `select` | `select()` | `void` | | `render` | `render()` | `void` | ## Properties | Property | Type | |---|---| | `styles` | `any` | | `type` | `InputType` | | `name` | `any` | | `value` | `any` | | `label` | `any` | | `placeholder` | `any` | | `helperText` | `any` | | `errorMessage` | `any` | | `successMessage` | `any` | | `required` | `any` | | `disabled` | `any` | | `readonly` | `any` | | `minlength` | `number` | | `maxlength` | `number` | | `pattern` | `string` | | `autocomplete` | `string` | # AutonomousInstructionsOptions **Kind:** Interface **Source:** `atloria-monorepo/libs/agent-core/src/autonomous/autonomous-loop.ts` (line 60) ## Properties | Property | Type | |---|---| | `goal` | `string` | | `workspaceDir` | `string` | | `qualityGates` | `QualityGate[]` | | `context` | `string` | | `discoveryHints` | `string[]` | # AzureAISearchService **Kind:** Service **Source:** `atloria-monorepo/apps/api/src/web-search/services/azure-ai-search.service.ts` (line 23) Azure AI Search Service Queries the indexed competitor documentation ## Methods | Method | Signature | Returns | |---|---|---| | `search` | `search(query: SearchQuery)` | `Promise` | | `searchByCategory` | `searchByCategory(category: string, limit: unknown)` | `Promise` | | `getDocumentByUrl` | `getDocumentByUrl(url: string)` | `Promise` | | `healthCheck` | `healthCheck()` | `Promise` | # BreadcrumbItem **Kind:** Interface **Source:** `atloria-monorepo/apps/web/src/app/p/[slugId]/components/Breadcrumbs.tsx` (line 8) ## Properties | Property | Type | |---|---| | `label` | `string` | | `href` | `string` | # buildPAMSIntelligence **Kind:** Function **Source:** `atloria-monorepo/packages/doc-automation/src/v2/stages/stage-12-screenshots/agent-screenshot-mapper.ts` (line 267) Pre-built intelligence for PAMS — in production this would be generated by the agent reading the source code. For the POC, we extracted it manually from the routing analysis. ## Signature ```ts function buildPAMSIntelligence(): SourceCodeIntelligence ``` **Returns:** `SourceCodeIntelligence` # buildSandboxArgs **Kind:** Function **Source:** `atloria-monorepo/libs/agent-core/src/tools/bash-sandbox.ts` (line 84) Build the argument array for spawning a command under sandbox-exec. ## Signature ```ts function buildSandboxArgs(command: string, rootDir: string): string[] ``` ## Parameters | Name | Type | |---|---| | `command` | `string` | | `rootDir` | `string` | **Returns:** `string[]` # buildThemeCss **Kind:** Function **Source:** `atloria-monorepo/libs/pme-core/src/tools/theme.ts` (line 138) Build a