# 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/invitation/invitation.controller.ts` (line 35) ## Endpoint `POST /invitations/:token/accept` | Parameter | In | Type | Required | |---|---|---|---| | `token` | query | `string` | ✓ | ## Referenced By - `InvitationController` (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 7) ## Methods | Method | Signature | Returns | |---|---|---| | `log` | `log(dto: CreateActivityDto)` | `Promise ` | | `getActivities` | `getActivities(filters: ActivityFiltersDto)` | `unknown` | | `getDocumentActivities` | `getDocumentActivities(documentId: string)` | `unknown` | | `getProjectActivities` | `getProjectActivities(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 ``` # 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/api/src/ai/interfaces/ai-types.ts` (line 1) ## Definition ```ts 'azure-claude' | 'azure-openai' | 'azure-codex' | 'azure-gpt52' | 'claude' | 'openai' | 'codex' ``` # 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' ``` # 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/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[]` | # 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[]` | # apiAuthenticationTemplate **Kind:** Constant **Source:** `atloria-monorepo/apps/api/src/template/seeds/api-authentication.template.ts` (line 3) # 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 ` | # 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/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` # applyAutoLayout **Kind:** Function **Source:** `atloria-monorepo/apps/web/src/components/Graph/graphUtils.ts` (line 206) Apply auto-layout using dagre ## Signature ```ts function applyAutoLayout(nodes: GraphNode[], edges: GraphEdge[]): { nodes: GraphNode[]; edges: GraphEdge[] } ``` ## Parameters | Name | Type | |---|---| | `nodes` | `GraphNode[]` | | `edges` | `GraphEdge[]` | **Returns:** `{ nodes: GraphNode[]; edges: GraphEdge[] }` # 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/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/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` # 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/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/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/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` # 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. ## 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[]; }>` | ## 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) # database **Kind:** Function **Source:** `atloria-monorepo/libs/database/src/lib/database.ts` (line 1) ## Signature ```ts function database(): string ``` **Returns:** `string` # 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 357) ## 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 7) ## 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 ``` # RelationType **Kind:** Enum **Source:** `atloria-monorepo/apps/web/src/components/Graph/types.ts` (line 8) Relationship types in the Knowledge Graph ## Values - `CONTAINS` - `USES` - `CALLS` - `REFERENCES` - `IMPLEMENTS` - `EXTENDS` - `DEPENDS_ON` # 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)** — 30529 entities (24923 doc comments, 1520 interfaces, 785 functions, 782 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** - **CollaborationModule** - **CommentModule** - **ThrottlingModule** - **DashboardModule** - **DocVersionModule** - **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: **CommentController** (`atloria-monorepo/apps/api/src/comment/comment.controller.ts`) - Controller: **DashboardController** (`atloria-monorepo/apps/api/src/dashboard/dashboard.controller.ts`) - Controller: **DocVersionController** (`atloria-monorepo/apps/api/src/doc-version/doc-version.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 - `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 - `PATCH /analytics/:projectId/reports/:id` → updateReport ## 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' ``` # 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 29) ## Endpoint `POST /documents/:documentId/suggestions/:id/accept` | Parameter | In | Type | Required | |---|---|---|---| | `id` | query | `string` | ✓ | ## Referenced By - `SuggestionController` (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` | # apiDocumentationTemplate **Kind:** Constant **Source:** `atloria-monorepo/apps/api/src/template/seeds/api-documentation.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 ` | # 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` # 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` # 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` | # authOptions **Kind:** Constant **Source:** `atloria-monorepo/apps/web/src/lib/auth.ts` (line 93) NextAuth configuration ## Definition ```ts NextAuthOptions ``` # 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' ``` # 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) # 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` # activate **Kind:** API Endpoint **Source:** `atloria-monorepo/apps/api/src/doc-version/doc-version.controller.ts` (line 160) ## Endpoint `POST /doc-versions/:projectId/:versionId/activate` | Parameter | In | Type | Required | |---|---|---|---| | `versionId` | query | `string` | ✓ | ## Referenced By - `DocVersionController` (MODULE_DECLARES) # 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` | # 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[]` | # apiRateLimitingTemplate **Kind:** Constant **Source:** `atloria-monorepo/apps/api/src/template/seeds/api-rate-limiting.template.ts` (line 3) # 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'` | # 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` # 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 20) Map a public audience slug to its doc-set scope. 'technical' | 'api' | 'developer' → 'technical'; everything else → 'user'. ## 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; }>` # 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` # 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` # CATEGORY_LABELS **Kind:** Constant **Source:** `atloria-monorepo/apps/web/src/components/Boards/helpers.ts` (line 36) ## Definition ```ts Record ``` # 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 ` # 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:** 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) # 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) # 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) # 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