# factions/actions
Documentation: next (source: develop).

Install the preview: `pnpm add @aephia/atlas-kit@next`. These docs follow develop and may include changes not yet published to npm.

Markdown source of https://develop.atlas-kit-docs.pages.dev/reference/factions/actions/ — see https://develop.atlas-kit-docs.pages.dev/ai/ for the full machine-readable surface.

## Interfaces

<a id="planchoosefactionoptions"></a>

### PlanChooseFactionOptions

Defined in: [packages/sage/src/factions/actions/index.ts:45](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/factions/actions/index.ts#L45)

Explicit initial faction choice and address-only Profile authorization; no independent payer.

#### Example

```ts
declare const authorization: PlanAuthorization;
const options: PlanChooseFactionOptions = { faction:'ustur', authorization };
```

#### Properties

<a id="authorization"></a>

##### authorization

```ts
readonly authorization: PlanAuthorization;
```

Defined in: [packages/sage/src/factions/actions/index.ts:47](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/factions/actions/index.ts#L47)

<a id="faction"></a>

##### faction

```ts
readonly faction: PlayableFaction;
```

Defined in: [packages/sage/src/factions/actions/index.ts:46](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/factions/actions/index.ts#L46)

## Type Aliases

<a id="playablefaction"></a>

### PlayableFaction

```ts
type PlayableFaction = "mud" | "oni" | "ustur";
```

Defined in: [packages/sage/src/factions/actions/index.ts:37](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/factions/actions/index.ts#L37)

Playable factions offered for initial enrollment; the raw unaligned enum is intentionally excluded.

#### Example

```ts
const faction: PlayableFaction = 'ustur';
```

## Functions

<a id="planchoosefaction"></a>

### planChooseFaction()

```ts
function planChooseFaction(ctx, options): Promise<Plan>;
```

Defined in: [packages/sage/src/factions/actions/index.ts:107](https://github.com/Aephia/atlas-kit/blob/develop/packages/sage/src/factions/actions/index.ts#L107)

Plans initial faction enrollment, spending only the existing Profile vault's observed storage funding.
No account is created or funded until explicit execution. Existing enrollment is never changed.
Delegated authority requires an existing certificate account; certificate validity
remains chain-authoritative. A valid direct authority ignores an unused certificate.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `ctx` | [`SageContext`](/reference/#sagecontext) |
| `options` | [`PlanChooseFactionOptions`](/reference/factions/actions/#planchoosefactionoptions) |

#### Returns

`Promise`\<[`Plan`](/reference/planning/#plan)\>

#### Example

```ts
declare const ctx: SageContext;
declare const authorization: PlanAuthorization;
const plan=await planChooseFaction(ctx,{faction:'ustur',authorization});
console.log(plan.describe());
```

## References

<a id="planauthorization"></a>

### PlanAuthorization

Re-exports [PlanAuthorization](/reference/cargo/actions/#planauthorization)
