# tools/core/constants/path.constants.ts

> 26 lines of code and 18 definitions.

Tree: Coordination tree
Language: typescript
Layer: infrastructure
Canonical: https://banes-lab.com/anatomy/coordination#file-coordination-tools-core-constants-path-constants-ts
Source text: https://banes-lab.com/assets/sources/source.be1981cd1d7696108883e8ea10af9fa78abbbeab4b8625592beec7af86fa45de.generated.txt

## Definitions

- `GENERATED_DIR` (lexical_declaration, line 3, exported)
- `NODE_MODULES` (lexical_declaration, line 5, exported)
- `SURFACE_ROOT` (lexical_declaration, line 7, exported)
- `UPSTREAM_ROOTS` (lexical_declaration, line 9, exported)
- `NO_FIX_FLAG` (lexical_declaration, line 14, exported)
- `BEHAVIOUR_DOCUMENT` (lexical_declaration, line 16, exported)
- `BOOTSTRAP_DOCUMENT` (lexical_declaration, line 18, exported)
- `BEHAVIOUR_TREE_PLACEHOLDER` (lexical_declaration, line 20, exported)
- `PACKAGE_MANIFEST` (lexical_declaration, line 22, exported)
- `AXIS_DOCUMENTS` (lexical_declaration, line 24, exported)
- `PRINCIPLE_CATALOG` (lexical_declaration, line 28, exported)
- `BINARY_EXTENSIONS` (lexical_declaration, line 32, exported)
- `AUTHORED_ROOTS` (lexical_declaration, line 34, exported)
- `ENTRYPOINT_ROOTS` (lexical_declaration, line 36, exported)
- `OPT_IN_MUTATION_FLAGS` (lexical_declaration, line 38, exported)
- `MUTATION_FIELDS` (lexical_declaration, line 40, exported)
- `PRESENCE_READERS` (lexical_declaration, line 42, exported)
- `GUARD_RESOLUTION_DEPTH` (lexical_declaration, line 44, exported)

## Source

```typescript
import { isResolved, slotList, slotText, surfacePath, surfacePrefix } from "../../../config/surface.config.ts";

export const GENERATED_DIR = surfacePath("generated");

export const NODE_MODULES = "node_modules";

export const SURFACE_ROOT = surfacePrefix();

export const UPSTREAM_ROOTS: readonly string[] = [
    ...slotList("project", "upstream_roots"),
    ...slotList("surface", "upstream").map((root) => (SURFACE_ROOT.length === 0 ? root : `${SURFACE_ROOT}/${root}`)),
];

export const NO_FIX_FLAG = "--rehearse";

export const BEHAVIOUR_DOCUMENT = surfacePath("axis_document");

export const BOOTSTRAP_DOCUMENT = surfacePath("bootstrap");

export const BEHAVIOUR_TREE_PLACEHOLDER = ".{provider}";

export const PACKAGE_MANIFEST = "package.json";

export const AXIS_DOCUMENTS: readonly string[] = isResolved("project", "architecture_rules")
    ? [BEHAVIOUR_DOCUMENT, slotText("project", "architecture_rules")]
    : [BEHAVIOUR_DOCUMENT];

export const PRINCIPLE_CATALOG: string | null = isResolved("project", "principle_ontology")
    ? slotText("project", "principle_ontology")
    : null;

export const BINARY_EXTENSIONS: readonly string[] = slotList("convention", "binary_extensions");

export const AUTHORED_ROOTS: readonly string[] = [SURFACE_ROOT];

export const ENTRYPOINT_ROOTS: readonly string[] = [`${surfacePath("entrypoints")}/`];

export const OPT_IN_MUTATION_FLAGS: readonly string[] = ["--fix", "--apply", "--write", "--commit"];

export const MUTATION_FIELDS: readonly string[] = ["fix", "heal", "mutate", "apply", "write"];

export const PRESENCE_READERS: readonly string[] = ["activeAgents", "activeSeats", "activeSet", "boardRecords"];

export const GUARD_RESOLUTION_DEPTH = 4;
```
