Documentation: 0.5.0 (source: v0.5.0).
# crafting

Markdown source of https://docs-v0-5-0.atlas-kit-docs.pages.dev/reference/crafting/ — see https://docs-v0-5-0.atlas-kit-docs.pages.dev/ai/ for the full machine-readable surface.

## Interfaces

<a id="craftingcargoinventory"></a>

### CraftingCargoInventory

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

A registry-resolved nested crafting CargoPod.

#### Example

```ts
declare const inventory: CraftingCargoInventory;
console.log(inventory.items);
```

#### Properties

<a id="items"></a>

##### items

```ts
readonly items: readonly CraftingCargoItem[];
```

Defined in: [packages/sage/src/crafting/index.ts:72](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L72)

<a id="sequenceid"></a>

##### sequenceId

```ts
readonly sequenceId: number;
```

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

<a id="usedstorageunitsraw"></a>

##### usedStorageUnitsRaw

```ts
readonly usedStorageUnitsRaw: bigint;
```

Defined in: [packages/sage/src/crafting/index.ts:71](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L71)

***

<a id="craftingcargoitem"></a>

### CraftingCargoItem

Defined in: [packages/sage/src/crafting/index.ts:58](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L58)

A registry-resolved cargo amount used by a Recipe or Crafting Process.

#### Example

```ts
declare const item: CraftingCargoItem;
console.log(item.name, item.quantityRaw);
```

#### Extends

- [`CargoDefinitionSummary`](/reference/#cargodefinitionsummary)

#### Properties

<a id="categoryid"></a>

##### categoryId

```ts
readonly categoryId: number;
```

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

###### Inherited from

[`CargoDefinitionSummary`](/reference/#cargodefinitionsummary).[`categoryId`](/reference/#cargodefinitionsummary)

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

##### id

```ts
readonly id: number;
```

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

###### Inherited from

[`CargoDefinitionSummary`](/reference/#cargodefinitionsummary).[`id`](/reference/#cargodefinitionsummary)

<a id="mint"></a>

##### mint

```ts
readonly mint: Address;
```

Defined in: [packages/sage/src/registry/index.ts:71](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/registry/index.ts#L71)

###### Inherited from

[`CargoDefinitionSummary`](/reference/#cargodefinitionsummary).[`mint`](/reference/#cargodefinitionsummary)

<a id="name"></a>

##### name

```ts
readonly name: string;
```

Defined in: [packages/sage/src/registry/index.ts:72](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/registry/index.ts#L72)

###### Inherited from

[`CargoDefinitionSummary`](/reference/#cargodefinitionsummary).[`name`](/reference/#cargodefinitionsummary)

<a id="quantityraw"></a>

##### quantityRaw

```ts
readonly quantityRaw: bigint;
```

Defined in: [packages/sage/src/crafting/index.ts:59](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L59)

<a id="storagecost"></a>

##### storageCost

```ts
readonly storageCost: number;
```

Defined in: [packages/sage/src/registry/index.ts:73](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/registry/index.ts#L73)

###### Inherited from

[`CargoDefinitionSummary`](/reference/#cargodefinitionsummary).[`storageCost`](/reference/#cargodefinitionsummary)

***

<a id="craftingdefinitioncargoitem"></a>

### CraftingDefinitionCargoItem

Defined in: [packages/sage/src/crafting/index.ts:127](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L127)

One resolved cargo quantity used by a Hab building definition.

#### Example

```ts
declare const item: CraftingDefinitionCargoItem;
console.log(item.quantityRaw);
```

#### Extends

- [`CargoDefinitionSummary`](/reference/#cargodefinitionsummary)

#### Properties

<a id="categoryid-1"></a>

##### categoryId

```ts
readonly categoryId: number;
```

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

###### Inherited from

[`CargoDefinitionSummary`](/reference/#cargodefinitionsummary).[`categoryId`](/reference/#cargodefinitionsummary)

<a id="id-1"></a>

##### id

```ts
readonly id: number;
```

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

###### Inherited from

[`CargoDefinitionSummary`](/reference/#cargodefinitionsummary).[`id`](/reference/#cargodefinitionsummary)

<a id="mint-1"></a>

##### mint

```ts
readonly mint: Address;
```

Defined in: [packages/sage/src/registry/index.ts:71](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/registry/index.ts#L71)

###### Inherited from

[`CargoDefinitionSummary`](/reference/#cargodefinitionsummary).[`mint`](/reference/#cargodefinitionsummary)

<a id="name-1"></a>

##### name

```ts
readonly name: string;
```

Defined in: [packages/sage/src/registry/index.ts:72](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/registry/index.ts#L72)

###### Inherited from

[`CargoDefinitionSummary`](/reference/#cargodefinitionsummary).[`name`](/reference/#cargodefinitionsummary)

<a id="quantityraw-1"></a>

##### quantityRaw

```ts
readonly quantityRaw: bigint;
```

Defined in: [packages/sage/src/crafting/index.ts:128](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L128)

<a id="storagecost-1"></a>

##### storageCost

```ts
readonly storageCost: number;
```

Defined in: [packages/sage/src/registry/index.ts:73](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/registry/index.ts#L73)

###### Inherited from

[`CargoDefinitionSummary`](/reference/#cargodefinitionsummary).[`storageCost`](/reference/#cargodefinitionsummary)

***

<a id="craftinghabbuilding"></a>

### CraftingHabBuilding

Defined in: [packages/sage/src/crafting/index.ts:138](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L138)

A resolved Crafting Hab building definition and placed quantity.

#### Example

```ts
declare const building: CraftingHabBuilding;
console.log(building.definition.name, building.quantity);
```

#### Properties

<a id="definition"></a>

##### definition

```ts
readonly definition: {
  constructionCost: readonly CraftingDefinitionCargoItem[];
  constructionDurationSeconds: bigint;
  crewSlots: number;
  hubValue: number;
  id: number;
  jobCapacity: number;
  minimumTier: "one" | "two" | "three" | "four" | "five";
  modifiers: CraftingModifierData;
  name: string;
  neededCrew: number;
  netRates: readonly CargoDefinitionSummary & {
     unitsPerSecond: number;
     unitsPerSecondRaw: bigint;
  }[];
  providedTagIds: readonly number[];
  refunds: readonly CraftingDefinitionCargoItem[];
  requiredTagIds: readonly number[];
  researchRequirementIds: readonly number[];
  resourceCapacityRaw: bigint;
  slots: number;
  unlockedRecipes: readonly EntityRef<"recipe">[];
  xpValue: {
     raw: bigint;
     value: number;
  };
};
```

Defined in: [packages/sage/src/crafting/index.ts:140](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L140)

###### constructionCost

```ts
readonly constructionCost: readonly CraftingDefinitionCargoItem[];
```

###### constructionDurationSeconds

```ts
readonly constructionDurationSeconds: bigint;
```

###### crewSlots

```ts
readonly crewSlots: number;
```

###### hubValue

```ts
readonly hubValue: number;
```

###### id

```ts
readonly id: number;
```

###### jobCapacity

```ts
readonly jobCapacity: number;
```

###### minimumTier

```ts
readonly minimumTier: "one" | "two" | "three" | "four" | "five";
```

###### modifiers

```ts
readonly modifiers: CraftingModifierData;
```

###### name

```ts
readonly name: string;
```

###### neededCrew

```ts
readonly neededCrew: number;
```

###### netRates

```ts
readonly netRates: readonly CargoDefinitionSummary & {
  unitsPerSecond: number;
  unitsPerSecondRaw: bigint;
}[];
```

###### providedTagIds

```ts
readonly providedTagIds: readonly number[];
```

###### refunds

```ts
readonly refunds: readonly CraftingDefinitionCargoItem[];
```

###### requiredTagIds

```ts
readonly requiredTagIds: readonly number[];
```

###### researchRequirementIds

```ts
readonly researchRequirementIds: readonly number[];
```

###### resourceCapacityRaw

```ts
readonly resourceCapacityRaw: bigint;
```

###### slots

```ts
readonly slots: number;
```

###### unlockedRecipes

```ts
readonly unlockedRecipes: readonly EntityRef<"recipe">[];
```

###### xpValue

```ts
readonly xpValue: {
  raw: bigint;
  value: number;
};
```

###### xpValue.raw

```ts
readonly raw: bigint;
```

###### xpValue.value

```ts
readonly value: number;
```

<a id="quantity"></a>

##### quantity

```ts
readonly quantity: number;
```

Defined in: [packages/sage/src/crafting/index.ts:139](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L139)

***

<a id="craftinghabdefinitionsummary"></a>

### CraftingHabDefinitionSummary

Defined in: [packages/sage/src/crafting/index.ts:102](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L102)

A resolved Crafting Hab definition from the Game registry.

#### Example

```ts
declare const definition: CraftingHabDefinitionSummary;
console.log(definition.name, definition.placementCargo.name);
```

#### Properties

<a id="evictiongraceperiodseconds"></a>

##### evictionGracePeriodSeconds

```ts
readonly evictionGracePeriodSeconds: bigint;
```

Defined in: [packages/sage/src/crafting/index.ts:115](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L115)

<a id="hubvalue"></a>

##### hubValue

```ts
readonly hubValue: number;
```

Defined in: [packages/sage/src/crafting/index.ts:112](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L112)

<a id="id-2"></a>

##### id

```ts
readonly id: number;
```

Defined in: [packages/sage/src/crafting/index.ts:103](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L103)

<a id="name-2"></a>

##### name

```ts
readonly name: string;
```

Defined in: [packages/sage/src/crafting/index.ts:104](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L104)

<a id="placementcargo"></a>

##### placementCargo

```ts
readonly placementCargo: CargoDefinitionSummary;
```

Defined in: [packages/sage/src/crafting/index.ts:117](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L117)

<a id="placementfeemultiplier"></a>

##### placementFeeMultiplier

```ts
readonly placementFeeMultiplier: {
  raw: bigint;
  value: number;
};
```

Defined in: [packages/sage/src/crafting/index.ts:108](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L108)

###### raw

```ts
readonly raw: bigint;
```

###### value

```ts
readonly value: number;
```

<a id="providedtagids"></a>

##### providedTagIds

```ts
readonly providedTagIds: readonly number[];
```

Defined in: [packages/sage/src/crafting/index.ts:114](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L114)

<a id="rentmultiplier"></a>

##### rentMultiplier

```ts
readonly rentMultiplier: {
  raw: bigint;
  value: number;
};
```

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

###### raw

```ts
readonly raw: bigint;
```

###### value

```ts
readonly value: number;
```

<a id="requiredtagids"></a>

##### requiredTagIds

```ts
readonly requiredTagIds: readonly number[];
```

Defined in: [packages/sage/src/crafting/index.ts:113](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L113)

<a id="respawndurationseconds"></a>

##### respawnDurationSeconds

```ts
readonly respawnDurationSeconds: bigint;
```

Defined in: [packages/sage/src/crafting/index.ts:116](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L116)

<a id="slots"></a>

##### slots

```ts
readonly slots: number;
```

Defined in: [packages/sage/src/crafting/index.ts:106](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L106)

<a id="tier"></a>

##### tier

```ts
readonly tier: "one" | "two" | "three" | "four" | "five";
```

Defined in: [packages/sage/src/crafting/index.ts:105](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L105)

***

<a id="craftinghabsnapshot"></a>

### CraftingHabSnapshot

Defined in: [packages/sage/src/crafting/index.ts:173](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L173)

Immutable translated Crafting Hab infrastructure and production state.

#### Example

```ts
declare const hab: CraftingHabSnapshot;
console.log(hab.definition.name, hab.production.inventory.items);
```

#### Extends

- `Omit`\<`CraftingHabAccountData`, 
  \| `"buildings"`
  \| `"game"`
  \| `"ownerProfile"`
  \| `"production"`
  \| `"system"`
  \| `"unlockedRecipeIds"`\>

#### Extended by

- [`CraftingHabView`](/reference/#craftinghabview)

#### Properties

<a id="address"></a>

##### address

```ts
readonly address: Address;
```

Defined in: [packages/sage/src/crafting/index.ts:183](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L183)

<a id="availablejobslots"></a>

##### availableJobSlots

```ts
readonly availableJobSlots: number;
```

Defined in: [packages/sage/src/crafting/index.ts:189](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L189)

<a id="buildingdefinitionsequenceid"></a>

##### buildingDefinitionSequenceId

```ts
readonly buildingDefinitionSequenceId: number;
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:207](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L207)

###### Inherited from

```ts
Omit.buildingDefinitionSequenceId
```

<a id="buildings"></a>

##### buildings

```ts
readonly buildings: readonly CraftingHabBuilding[];
```

Defined in: [packages/sage/src/crafting/index.ts:188](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L188)

<a id="constructionprogressatunixseconds"></a>

##### constructionProgressAtUnixSeconds

```ts
readonly constructionProgressAtUnixSeconds: bigint;
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:211](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L211)

###### Inherited from

```ts
Omit.constructionProgressAtUnixSeconds
```

<a id="constructionremainingseconds"></a>

##### constructionRemainingSeconds

```ts
readonly constructionRemainingSeconds: bigint;
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:210](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L210)

###### Inherited from

```ts
Omit.constructionRemainingSeconds
```

<a id="definition-1"></a>

##### definition

```ts
readonly definition: CraftingHabDefinitionSummary;
```

Defined in: [packages/sage/src/crafting/index.ts:187](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L187)

<a id="definitionid"></a>

##### definitionId

```ts
readonly definitionId: number;
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:205](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L205)

###### Inherited from

```ts
Omit.definitionId
```

<a id="definitionsequenceid"></a>

##### definitionSequenceId

```ts
readonly definitionSequenceId: number;
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:206](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L206)

###### Inherited from

```ts
Omit.definitionSequenceId
```

<a id="game"></a>

##### game

```ts
readonly game: EntityRef<"game">;
```

Defined in: [packages/sage/src/crafting/index.ts:184](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L184)

<a id="jobcapacity"></a>

##### jobCapacity

```ts
readonly jobCapacity: number;
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:214](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L214)

###### Inherited from

```ts
Omit.jobCapacity
```

<a id="jobsrunning"></a>

##### jobsRunning

```ts
readonly jobsRunning: number;
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:215](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L215)

###### Inherited from

```ts
Omit.jobsRunning
```

<a id="kind"></a>

##### kind

```ts
readonly kind: "craftingHabInstance";
```

Defined in: [packages/sage/src/crafting/index.ts:182](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L182)

<a id="lastrentatunixseconds"></a>

##### lastRentAtUnixSeconds

```ts
readonly lastRentAtUnixSeconds: bigint;
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:209](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L209)

###### Inherited from

```ts
Omit.lastRentAtUnixSeconds
```

<a id="modifiers"></a>

##### modifiers

```ts
readonly modifiers: CraftingModifierData;
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:216](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L216)

###### Inherited from

```ts
Omit.modifiers
```

<a id="neededcrew"></a>

##### neededCrew

```ts
readonly neededCrew: number;
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:213](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L213)

###### Inherited from

```ts
Omit.neededCrew
```

<a id="ownerprofile"></a>

##### ownerProfile

```ts
readonly ownerProfile: EntityRef<"profile">;
```

Defined in: [packages/sage/src/crafting/index.ts:185](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L185)

<a id="production"></a>

##### production

```ts
readonly production: {
  inventory: CraftingCargoInventory;
  lastTickAtUnixSeconds: bigint;
  netRates: readonly CargoDefinitionSummary & {
     unitsPerSecond: number;
     unitsPerSecondRaw: bigint;
  }[];
  resourceCapacityRaw: bigint;
};
```

Defined in: [packages/sage/src/crafting/index.ts:191](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L191)

###### inventory

```ts
readonly inventory: CraftingCargoInventory;
```

###### lastTickAtUnixSeconds

```ts
readonly lastTickAtUnixSeconds: bigint;
```

###### netRates

```ts
readonly netRates: readonly CargoDefinitionSummary & {
  unitsPerSecond: number;
  unitsPerSecondRaw: bigint;
}[];
```

###### resourceCapacityRaw

```ts
readonly resourceCapacityRaw: bigint;
```

<a id="rentbalanceraw"></a>

##### rentBalanceRaw

```ts
readonly rentBalanceRaw: bigint;
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:212](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L212)

###### Inherited from

```ts
Omit.rentBalanceRaw
```

<a id="state"></a>

##### state

```ts
readonly state: CraftingHabStateData;
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:219](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L219)

###### Inherited from

```ts
Omit.state
```

<a id="system"></a>

##### system

```ts
readonly system: EntityRef<"starSystem">;
```

Defined in: [packages/sage/src/crafting/index.ts:186](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L186)

<a id="systemsequenceid"></a>

##### systemSequenceId

```ts
readonly systemSequenceId: bigint;
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:208](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L208)

###### Inherited from

```ts
Omit.systemSequenceId
```

<a id="unlockedrecipes"></a>

##### unlockedRecipes

```ts
readonly unlockedRecipes: readonly EntityRef<"recipe">[];
```

Defined in: [packages/sage/src/crafting/index.ts:190](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L190)

<a id="version"></a>

##### version

```ts
readonly version: number;
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:201](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L201)

###### Inherited from

```ts
Omit.version
```

#### Methods

<a id="tojson"></a>

##### toJSON()

```ts
toJSON(): unknown;
```

Defined in: [packages/sage/src/crafting/index.ts:200](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L200)

###### Returns

`unknown`

***

<a id="craftingprocesssnapshot"></a>

### CraftingProcessSnapshot

Defined in: [packages/sage/src/crafting/index.ts:210](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L210)

Immutable translated Crafting Process with resolved Recipe and inputs.

#### Example

```ts
declare const process: CraftingProcessSnapshot;
console.log(process.recipe.name, process.numCrew);
```

#### Extends

- `Omit`\<`CraftingProcessAccountData`, 
  \| `"craftingHab"`
  \| `"inputs"`
  \| `"profile"`
  \| `"recipe"`
  \| `"starbasePlayer"`
  \| `"system"`\>

#### Extended by

- [`CraftingProcessView`](/reference/#craftingprocessview)

#### Properties

<a id="address-1"></a>

##### address

```ts
readonly address: Address;
```

Defined in: [packages/sage/src/crafting/index.ts:215](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L215)

<a id="craftinghab"></a>

##### craftingHab

```ts
readonly craftingHab: EntityRef<"craftingHabInstance">;
```

Defined in: [packages/sage/src/crafting/index.ts:220](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L220)

<a id="endsatunixseconds"></a>

##### endsAtUnixSeconds

```ts
readonly endsAtUnixSeconds: bigint;
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:239](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L239)

###### Inherited from

```ts
Omit.endsAtUnixSeconds
```

<a id="feeescrowatlas"></a>

##### feeEscrowAtlas

```ts
readonly feeEscrowAtlas: number;
```

Defined in: [packages/sage/src/crafting/index.ts:222](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L222)

<a id="feeescrowraw"></a>

##### feeEscrowRaw

```ts
readonly feeEscrowRaw: bigint;
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:240](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L240)

###### Inherited from

```ts
Omit.feeEscrowRaw
```

<a id="inputs"></a>

##### inputs

```ts
readonly inputs: CraftingCargoInventory;
```

Defined in: [packages/sage/src/crafting/index.ts:221](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L221)

<a id="kind-1"></a>

##### kind

```ts
readonly kind: "craftingProcess";
```

Defined in: [packages/sage/src/crafting/index.ts:214](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L214)

<a id="numcrew"></a>

##### numCrew

```ts
readonly numCrew: number;
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:237](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L237)

###### Inherited from

```ts
Omit.numCrew
```

<a id="profile"></a>

##### profile

```ts
readonly profile: EntityRef<"profile">;
```

Defined in: [packages/sage/src/crafting/index.ts:217](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L217)

<a id="quantityraw-2"></a>

##### quantityRaw

```ts
readonly quantityRaw: bigint;
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:236](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L236)

###### Inherited from

```ts
Omit.quantityRaw
```

<a id="recipe"></a>

##### recipe

```ts
readonly recipe: RecipeSnapshot;
```

Defined in: [packages/sage/src/crafting/index.ts:216](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L216)

<a id="starbaseplayer"></a>

##### starbasePlayer

```ts
readonly starbasePlayer: EntityRef<"starbasePlayer">;
```

Defined in: [packages/sage/src/crafting/index.ts:219](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L219)

<a id="starbasesequenceid"></a>

##### starbaseSequenceId

```ts
readonly starbaseSequenceId: bigint;
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:234](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L234)

###### Inherited from

```ts
Omit.starbaseSequenceId
```

<a id="startsatunixseconds"></a>

##### startsAtUnixSeconds

```ts
readonly startsAtUnixSeconds: bigint;
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:238](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L238)

###### Inherited from

```ts
Omit.startsAtUnixSeconds
```

<a id="system-1"></a>

##### system

```ts
readonly system: EntityRef<"starSystem">;
```

Defined in: [packages/sage/src/crafting/index.ts:218](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L218)

<a id="version-1"></a>

##### version

```ts
readonly version: number;
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:229](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L229)

###### Inherited from

```ts
Omit.version
```

#### Methods

<a id="tojson-1"></a>

##### toJSON()

```ts
toJSON(): unknown;
```

Defined in: [packages/sage/src/crafting/index.ts:223](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L223)

###### Returns

`unknown`

***

<a id="recipesnapshot"></a>

### RecipeSnapshot

Defined in: [packages/sage/src/crafting/index.ts:82](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L82)

Immutable translated Recipe definition.

#### Example

```ts
declare const recipe: RecipeSnapshot;
console.log(recipe.ingredients, recipe.outputs);
```

#### Extends

- `Omit`\<`RecipeAccountData`, `"game"` \| `"id"` \| `"inputs"` \| `"outputs"`\>

#### Extended by

- [`RecipeView`](/reference/#recipeview)

#### Properties

<a id="address-2"></a>

##### address

```ts
readonly address: Address;
```

Defined in: [packages/sage/src/crafting/index.ts:87](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L87)

<a id="craftingdurationseconds"></a>

##### craftingDurationSeconds

```ts
readonly craftingDurationSeconds: bigint;
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:145](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L145)

###### Inherited from

```ts
Omit.craftingDurationSeconds
```

<a id="fee"></a>

##### fee

```ts
readonly fee: {
  amountAtlas: number;
  amountRaw: bigint;
  recipient: "atlas" | "dao-atlas";
};
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:149](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L149)

###### amountAtlas

```ts
readonly amountAtlas: number;
```

###### amountRaw

```ts
readonly amountRaw: bigint;
```

###### recipient

```ts
readonly recipient: "atlas" | "dao-atlas";
```

###### Inherited from

```ts
Omit.fee
```

<a id="game-1"></a>

##### game

```ts
readonly game: EntityRef<"game">;
```

Defined in: [packages/sage/src/crafting/index.ts:88](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L88)

<a id="habrequired"></a>

##### habRequired

```ts
readonly habRequired: boolean;
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:154](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L154)

###### Inherited from

```ts
Omit.habRequired
```

<a id="id-3"></a>

##### id

```ts
readonly id: number;
```

Defined in: [packages/sage/src/crafting/index.ts:89](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L89)

<a id="ingredients"></a>

##### ingredients

```ts
readonly ingredients: readonly CraftingCargoItem[];
```

Defined in: [packages/sage/src/crafting/index.ts:90](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L90)

<a id="kind-2"></a>

##### kind

```ts
readonly kind: "recipe";
```

Defined in: [packages/sage/src/crafting/index.ts:86](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L86)

<a id="minimumdurationseconds"></a>

##### minimumDurationSeconds

```ts
readonly minimumDurationSeconds: bigint;
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:146](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L146)

###### Inherited from

```ts
Omit.minimumDurationSeconds
```

<a id="minimumstarbaselevel"></a>

##### minimumStarbaseLevel

```ts
readonly minimumStarbaseLevel: 
  | "level-0"
  | "level-1"
  | "level-2"
  | "level-3"
  | "level-4"
  | "level-5"
  | "css";
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:158](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L158)

###### Inherited from

```ts
Omit.minimumStarbaseLevel
```

<a id="modifierbounds"></a>

##### modifierBounds

```ts
readonly modifierBounds: {
  crewCount: CraftingModifierBoundsData;
  efficiency: CraftingModifierBoundsData;
  fee: CraftingModifierBoundsData;
  speed: CraftingModifierBoundsData;
};
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:166](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L166)

###### crewCount

```ts
readonly crewCount: CraftingModifierBoundsData;
```

###### efficiency

```ts
readonly efficiency: CraftingModifierBoundsData;
```

###### fee

```ts
readonly fee: CraftingModifierBoundsData;
```

###### speed

```ts
readonly speed: CraftingModifierBoundsData;
```

###### Inherited from

```ts
Omit.modifierBounds
```

<a id="name-3"></a>

##### name

```ts
readonly name: string;
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:147](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L147)

###### Inherited from

```ts
Omit.name
```

<a id="outputs"></a>

##### outputs

```ts
readonly outputs: readonly CraftingCargoItem[];
```

Defined in: [packages/sage/src/crafting/index.ts:91](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L91)

<a id="researchrequirementids"></a>

##### researchRequirementIds

```ts
readonly researchRequirementIds: readonly number[];
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:172](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L172)

###### Inherited from

```ts
Omit.researchRequirementIds
```

<a id="status"></a>

##### status

```ts
readonly status: "active" | "deactivated";
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:148](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L148)

###### Inherited from

```ts
Omit.status
```

<a id="usagecountraw"></a>

##### usageCountRaw

```ts
readonly usageCountRaw: bigint;
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:155](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L155)

###### Inherited from

```ts
Omit.usageCountRaw
```

<a id="usagelimitraw"></a>

##### usageLimitRaw

```ts
readonly usageLimitRaw: bigint;
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:156](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L156)

###### Inherited from

```ts
Omit.usageLimitRaw
```

<a id="version-2"></a>

##### version

```ts
readonly version: number;
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:142](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L142)

###### Inherited from

```ts
Omit.version
```

<a id="xpvalueraw"></a>

##### xpValueRaw

```ts
readonly xpValueRaw: bigint;
```

Defined in: [packages/sage/src/internal/c4/crafting.ts:157](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/internal/c4/crafting.ts#L157)

###### Inherited from

```ts
Omit.xpValueRaw
```

#### Methods

<a id="tojson-2"></a>

##### toJSON()

```ts
toJSON(): unknown;
```

Defined in: [packages/sage/src/crafting/index.ts:92](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L92)

###### Returns

`unknown`

## Type Aliases

<a id="craftingdiscoveryoptions"></a>

### CraftingDiscoveryOptions

```ts
type CraftingDiscoveryOptions = Omit<DiscoveryRequest, "filters" | "strategy">;
```

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

Options supported by targeted crafting discovery.

#### Example

```ts
const options: CraftingDiscoveryOptions = { commitment: 'confirmed' };
```

***

<a id="craftingprocessstate"></a>

### CraftingProcessState

```ts
type CraftingProcessState = 
  | {
  kind: "scheduled";
}
  | {
  kind: "in-progress";
  remainingSeconds: bigint;
}
  | {
  kind: "complete";
};
```

Defined in: [packages/sage/src/crafting/index.ts:232](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L232)

Pure lifecycle projection for one Crafting Process at a given Unix time.

#### Example

```ts
const state: CraftingProcessState = { kind: 'scheduled' };
```

## Functions

<a id="derivecraftingprocessstate"></a>

### deriveCraftingProcessState()

```ts
function deriveCraftingProcessState(process, atUnixSeconds): CraftingProcessState;
```

Defined in: [packages/sage/src/crafting/index.ts:913](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L913)

Derives the scheduled, active, or complete state at a Unix timestamp.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `process` | `Pick`\<[`CraftingProcessSnapshot`](/reference/crafting/#craftingprocesssnapshot), `"startsAtUnixSeconds"` \| `"endsAtUnixSeconds"`\> |
| `atUnixSeconds` | `bigint` |

#### Returns

[`CraftingProcessState`](/reference/crafting/#craftingprocessstate)

#### Example

```ts
declare const process: CraftingProcessSnapshot;
const state = deriveCraftingProcessState(process, 1_700_000_000n);
```

***

<a id="getcraftinghab"></a>

### getCraftingHab()

```ts
function getCraftingHab(
   context, 
   address, 
options?): Promise<CraftingHabSnapshot>;
```

Defined in: [packages/sage/src/crafting/index.ts:664](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L664)

Reads a required Crafting Hab by its signer-created account address.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `context` | [`SageContext`](/reference/#sagecontext) |
| `address` | [`Address`](/reference/#address-19) |
| `options?` | [`ReadOptions`](/reference/client/#readoptions) |

#### Returns

`Promise`\<[`CraftingHabSnapshot`](/reference/crafting/#craftinghabsnapshot)\>

#### Example

```ts
declare const ctx: SageContext;
declare const address: Address;
const hab = await getCraftingHab(ctx, address);
```

***

<a id="getcraftinghabsbycharacter"></a>

### getCraftingHabsByCharacter()

```ts
function getCraftingHabsByCharacter(
   context, 
   character, 
options?): Promise<readonly CraftingHabSnapshot[]>;
```

Defined in: [packages/sage/src/crafting/index.ts:852](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L852)

Discovers Crafting Habs for the Profile stored by one Character.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `context` | [`SageContext`](/reference/#sagecontext) |
| `character` | [`Address`](/reference/#address-19) |
| `options?` | [`CraftingDiscoveryOptions`](/reference/crafting/#craftingdiscoveryoptions) |

#### Returns

`Promise`\<readonly [`CraftingHabSnapshot`](/reference/crafting/#craftinghabsnapshot)[]\>

#### Example

```ts
declare const ctx: SageContext;
declare const character: Address;
const habs = await getCraftingHabsByCharacter(ctx, character);
```

***

<a id="getcraftinghabsbyprofile"></a>

### getCraftingHabsByProfile()

```ts
function getCraftingHabsByProfile(
   context, 
   profile, 
options?): Promise<readonly CraftingHabSnapshot[]>;
```

Defined in: [packages/sage/src/crafting/index.ts:751](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L751)

Discovers Crafting Habs owned by one Player Profile.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `context` | [`SageContext`](/reference/#sagecontext) |
| `profile` | [`Address`](/reference/#address-19) |
| `options?` | [`CraftingDiscoveryOptions`](/reference/crafting/#craftingdiscoveryoptions) |

#### Returns

`Promise`\<readonly [`CraftingHabSnapshot`](/reference/crafting/#craftinghabsnapshot)[]\>

#### Example

```ts
declare const ctx: SageContext;
declare const profile: Address;
const habs = await getCraftingHabsByProfile(ctx, profile);
```

***

<a id="getcraftinghabsbystarbaseplayer"></a>

### getCraftingHabsByStarbasePlayer()

```ts
function getCraftingHabsByStarbasePlayer(
   context, 
   player, 
options?): Promise<readonly CraftingHabSnapshot[]>;
```

Defined in: [packages/sage/src/crafting/index.ts:801](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L801)

Discovers Crafting Habs for the Profile and System stored by a StarbasePlayer.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `context` | [`SageContext`](/reference/#sagecontext) |
| `player` | [`Address`](/reference/#address-19) |
| `options?` | [`CraftingDiscoveryOptions`](/reference/crafting/#craftingdiscoveryoptions) |

#### Returns

`Promise`\<readonly [`CraftingHabSnapshot`](/reference/crafting/#craftinghabsnapshot)[]\>

#### Example

```ts
declare const ctx: SageContext;
declare const player: Address;
const habs = await getCraftingHabsByStarbasePlayer(ctx, player);
```

***

<a id="getcraftingprocess"></a>

### getCraftingProcess()

```ts
function getCraftingProcess(
   context, 
   address, 
options?): Promise<CraftingProcessSnapshot>;
```

Defined in: [packages/sage/src/crafting/index.ts:706](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L706)

Reads a required Crafting Process by its signer-created account address.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `context` | [`SageContext`](/reference/#sagecontext) |
| `address` | [`Address`](/reference/#address-19) |
| `options?` | [`ReadOptions`](/reference/client/#readoptions) |

#### Returns

`Promise`\<[`CraftingProcessSnapshot`](/reference/crafting/#craftingprocesssnapshot)\>

#### Example

```ts
declare const ctx: SageContext;
declare const address: Address;
const process = await getCraftingProcess(ctx, address);
```

***

<a id="getcraftingprocessesbycharacter"></a>

### getCraftingProcessesByCharacter()

```ts
function getCraftingProcessesByCharacter(
   context, 
   character, 
options?): Promise<readonly CraftingProcessSnapshot[]>;
```

Defined in: [packages/sage/src/crafting/index.ts:881](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L881)

Discovers Crafting Processes for the Profile stored by one Character.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `context` | [`SageContext`](/reference/#sagecontext) |
| `character` | [`Address`](/reference/#address-19) |
| `options?` | [`CraftingDiscoveryOptions`](/reference/crafting/#craftingdiscoveryoptions) |

#### Returns

`Promise`\<readonly [`CraftingProcessSnapshot`](/reference/crafting/#craftingprocesssnapshot)[]\>

#### Example

```ts
declare const ctx: SageContext;
declare const character: Address;
const processes = await getCraftingProcessesByCharacter(ctx, character);
```

***

<a id="getcraftingprocessesbyprofile"></a>

### getCraftingProcessesByProfile()

```ts
function getCraftingProcessesByProfile(
   context, 
   profile, 
options?): Promise<readonly CraftingProcessSnapshot[]>;
```

Defined in: [packages/sage/src/crafting/index.ts:777](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L777)

Discovers Crafting Processes belonging to one Player Profile.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `context` | [`SageContext`](/reference/#sagecontext) |
| `profile` | [`Address`](/reference/#address-19) |
| `options?` | [`CraftingDiscoveryOptions`](/reference/crafting/#craftingdiscoveryoptions) |

#### Returns

`Promise`\<readonly [`CraftingProcessSnapshot`](/reference/crafting/#craftingprocesssnapshot)[]\>

#### Example

```ts
declare const ctx: SageContext;
declare const profile: Address;
const processes = await getCraftingProcessesByProfile(ctx, profile);
```

***

<a id="getcraftingprocessesbystarbaseplayer"></a>

### getCraftingProcessesByStarbasePlayer()

```ts
function getCraftingProcessesByStarbasePlayer(
   context, 
   player, 
options?): Promise<readonly CraftingProcessSnapshot[]>;
```

Defined in: [packages/sage/src/crafting/index.ts:828](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L828)

Discovers Crafting Processes linked to one StarbasePlayer.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `context` | [`SageContext`](/reference/#sagecontext) |
| `player` | [`Address`](/reference/#address-19) |
| `options?` | [`CraftingDiscoveryOptions`](/reference/crafting/#craftingdiscoveryoptions) |

#### Returns

`Promise`\<readonly [`CraftingProcessSnapshot`](/reference/crafting/#craftingprocesssnapshot)[]\>

#### Example

```ts
declare const ctx: SageContext;
declare const player: Address;
const processes = await getCraftingProcessesByStarbasePlayer(ctx, player);
```

***

<a id="getrecipe"></a>

### getRecipe()

```ts
function getRecipe(
   context, 
   address, 
options?): Promise<RecipeSnapshot>;
```

Defined in: [packages/sage/src/crafting/index.ts:600](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L600)

Reads a required Recipe by its derived account address.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `context` | [`SageContext`](/reference/#sagecontext) |
| `address` | [`Address`](/reference/#address-19) |
| `options?` | [`ReadOptions`](/reference/client/#readoptions) |

#### Returns

`Promise`\<[`RecipeSnapshot`](/reference/crafting/#recipesnapshot)\>

#### Example

```ts
declare const ctx: SageContext;
declare const address: Address;
const recipe = await getRecipe(ctx, address);
```

***

<a id="getrecipebyid"></a>

### getRecipeById()

```ts
function getRecipeById(
   context, 
   recipeId, 
options?): Promise<RecipeSnapshot>;
```

Defined in: [packages/sage/src/crafting/index.ts:643](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L643)

Derives and reads one Recipe from the configured Game and recipe id.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `context` | [`SageContext`](/reference/#sagecontext) |
| `recipeId` | `number` |
| `options?` | [`ReadOptions`](/reference/client/#readoptions) |

#### Returns

`Promise`\<[`RecipeSnapshot`](/reference/crafting/#recipesnapshot)\>

#### Example

```ts
declare const ctx: SageContext;
const recipe = await getRecipeById(ctx, 7);
```

***

<a id="maybegetcraftinghab"></a>

### maybeGetCraftingHab()

```ts
function maybeGetCraftingHab(
   context, 
   address, 
   options?): Promise<
  | CraftingHabSnapshot
| undefined>;
```

Defined in: [packages/sage/src/crafting/index.ts:684](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L684)

Reads an optional Crafting Hab by address.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `context` | [`SageContext`](/reference/#sagecontext) |
| `address` | [`Address`](/reference/#address-19) |
| `options?` | [`ReadOptions`](/reference/client/#readoptions) |

#### Returns

`Promise`\<
  \| [`CraftingHabSnapshot`](/reference/crafting/#craftinghabsnapshot)
  \| `undefined`\>

#### Example

```ts
declare const ctx: SageContext;
declare const address: Address;
const hab = await maybeGetCraftingHab(ctx, address);
```

***

<a id="maybegetcraftingprocess"></a>

### maybeGetCraftingProcess()

```ts
function maybeGetCraftingProcess(
   context, 
   address, 
   options?): Promise<
  | CraftingProcessSnapshot
| undefined>;
```

Defined in: [packages/sage/src/crafting/index.ts:727](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L727)

Reads an optional Crafting Process by address.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `context` | [`SageContext`](/reference/#sagecontext) |
| `address` | [`Address`](/reference/#address-19) |
| `options?` | [`ReadOptions`](/reference/client/#readoptions) |

#### Returns

`Promise`\<
  \| [`CraftingProcessSnapshot`](/reference/crafting/#craftingprocesssnapshot)
  \| `undefined`\>

#### Example

```ts
declare const ctx: SageContext;
declare const address: Address;
const process = await maybeGetCraftingProcess(ctx, address);
```

***

<a id="maybegetrecipe"></a>

### maybeGetRecipe()

```ts
function maybeGetRecipe(
   context, 
   address, 
options?): Promise<RecipeSnapshot | undefined>;
```

Defined in: [packages/sage/src/crafting/index.ts:620](https://github.com/Aephia/atlas-kit/blob/v0.5.0/packages/sage/src/crafting/index.ts#L620)

Reads an optional Recipe by address.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `context` | [`SageContext`](/reference/#sagecontext) |
| `address` | [`Address`](/reference/#address-19) |
| `options?` | [`ReadOptions`](/reference/client/#readoptions) |

#### Returns

`Promise`\<[`RecipeSnapshot`](/reference/crafting/#recipesnapshot) \| `undefined`\>

#### Example

```ts
declare const ctx: SageContext;
declare const address: Address;
const recipe = await maybeGetRecipe(ctx, address);
```
