npm package: @sdux-vault/core-extensions-angular
Description: > Angular integration layer for SDuX Vault.
Latest version: 0.0.4

# @sdux-vault/core-extensions/angular

> Angular integration layer for SDuX Vault.

`@sdux-vault/core-extensions/angular` provides the **Angular bindings for SDuX Vault**, enabling seamless integration with Angular’s dependency injection, signals, and reactive model.

This package connects the SDuX runtime to Angular applications in a **framework-native, reactive, and declarative way**.

---

## TL;DR

For full documentation, guides, and API references:  
https://www.sdux-vault.com

---

## Overview

SDuX is built as a layered system:

```plaintext
shared → engine → core → core-extensions → apps
           └─────────────────────────────→ devtools
```

- **apps** → Angular applications
- **core** → behavior execution runtime
- **core-extensions/angular** → Angular integration layer (this package)
- **devtools** → debugging and inspection
- **engine** → orchestration, conductor, decision engine
- **shared** → contracts, types, utilities

---

## What This Package Does

This package bridges SDuX Vault with Angular by providing:

- Angular-friendly **state access**
- integration with **Angular signals**
- support for **dependency injection (DI)**
- reactive bindings for **state updates**

It allows SDuX state to behave like a **first-class Angular reactive source**.

---

## What This Package Provides

- **Angular bindings for FeatureCells**
- **Signal-based state access**
- **DI-compatible providers**
- **Reactive state consumption utilities**
- **Framework-native integration patterns**

---

## Key Concept: Angular Integration

This package adapts SDuX to Angular’s model:

```plaintext
SDuX state → Angular signal → component/template
```

This enables:

- automatic UI updates
- reactive rendering
- clean separation of state and view

---

## Signals Integration

State is exposed as Angular signals:

- always up-to-date
- reactive by default
- safe to consume in templates

```ts
const state = myFeatureCell.state();
```

Signals ensure:

- no manual subscriptions
- no memory leaks
- consistent reactivity

---

## Dependency Injection (DI)

FeatureCells and related utilities can be registered and consumed via Angular DI:

- injectable services
- scoped providers
- application-level configuration

This allows SDuX to integrate naturally with Angular architecture.

---

## Execution Model

```plaintext
SDuX pipeline (core + engine)
          ↓
Angular extension layer
          ↓
Angular signals / DI
          ↓
components & templates
```

This package does **not**:

- execute pipelines (core responsibility)
- make decisions (engine/controllers responsibility)

It only **adapts runtime state to Angular**.

---

## When to Use This Package

Use this package when:

- building Angular applications with SDuX
- you want signal-based state access
- you need DI-friendly integration
- you want reactive UI updates without manual subscriptions

---

## Installation

```bash
npm install @sdux-vault/core-extensions/angular
```

---

## Development

### Build

```bash
npm run build:core-extensions-angular
```

Output:

```plaintext
dist/core-extensions/angular
```

---

### Test

```bash
npm run test:core-extensions-angular
```

---

### Verify

```bash
npm run verify
```

Includes:

- linting
- formatting
- type checking
- tests

---

## Publishing

See [RELEASE.md](./RELEASE.md) for publishing instructions.

---

## Ecosystem

- `@sdux-vault/addons` — runtime policies and controllers ([README](../addons/README.md))
- `@sdux-vault/core` — behavior runtime and pipeline execution ([README](../core/README.md))
- `@sdux-vault/devtools` — observability and debugging layer for runtime inspection ([README](../devtools/tooling/README.md))
- `@sdux-vault/engine` — orchestration, conductor, decision engine
- `@sdux-vault/shared` — contracts, types, utilities ([README](../shared/README.md))

---

## License

For full licensing details:  
https://www.sdux-vault.com/docs/welcome/license#license-texts

MIT © SDuX Vault