# starbases/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/starbases/actions/ — see https://develop.atlas-kit-docs.pages.dev/ai/ for the full machine-readable surface.

## Interfaces

<a id="planregisterstarbaseplayeroptions"></a>

### PlanRegisterStarbasePlayerOptions

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

Address-only StarbasePlayer registration input.

The funder is the sole required signer and pays account rent. Reusing the
later assembly fee payer is convenient, but the planner does not require the
two addresses to match.

#### Example

```ts
declare const funder: Address;
const options: PlanRegisterStarbasePlayerOptions = { funder };
```

#### Properties

<a id="funder"></a>

##### funder

```ts
readonly funder: Address;
```

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

## Functions

<a id="planregisterstarbaseplayer"></a>

### planRegisterStarbasePlayer()

```ts
function planRegisterStarbasePlayer(
   ctx, 
   character, 
   system, 
input): Promise<Plan>;
```

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

Plans one StarbasePlayer registration without signing, assembly, or writes.

The Character and Star System must already be loaded public snapshots. The
planner derives and directly validates every plumbing account, requires the
current fail-closed Starbase FactionOwnership sidecar, and returns a Plan only
when the canonical StarbasePlayer address is absent. Optional faction
expansion accounts use the generated omitted-account convention.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `ctx` | [`SageContext`](/reference/#sagecontext) |
| `character` | `CharacterSnapshot` |
| `system` | `StarSystemSnapshot` |
| `input` | [`PlanRegisterStarbasePlayerOptions`](/reference/starbases/actions/#planregisterstarbaseplayeroptions) |

#### Returns

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

#### Example

```ts
declare const ctx: SageContext;
declare const character: CharacterSnapshot;
declare const system: StarSystemSnapshot;
declare const funder: Address;
const plan = await planRegisterStarbasePlayer(
  ctx,
  character,
  system,
  { funder },
);
console.log(plan.describe());
```
