chore(cms): regenerate payload types for market state and voiceover
Ultraworked with [Sisyphus](https://github.com/code-yeongju/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
parent
b9a619807d
commit
dbe8a210fb
1 changed files with 283 additions and 0 deletions
|
|
@ -104,6 +104,9 @@ export interface Config {
|
|||
loadouts: Loadout;
|
||||
'market-listings': MarketListing;
|
||||
'market-negotiations': MarketNegotiation;
|
||||
'market-state': MarketState;
|
||||
'voice-scripts': VoiceScript;
|
||||
'voice-submissions': VoiceSubmission;
|
||||
tickets: Ticket;
|
||||
'ticket-votes': TicketVote;
|
||||
'wiki-pages': WikiPage;
|
||||
|
|
@ -172,6 +175,9 @@ export interface Config {
|
|||
loadouts: LoadoutsSelect<false> | LoadoutsSelect<true>;
|
||||
'market-listings': MarketListingsSelect<false> | MarketListingsSelect<true>;
|
||||
'market-negotiations': MarketNegotiationsSelect<false> | MarketNegotiationsSelect<true>;
|
||||
'market-state': MarketStateSelect<false> | MarketStateSelect<true>;
|
||||
'voice-scripts': VoiceScriptsSelect<false> | VoiceScriptsSelect<true>;
|
||||
'voice-submissions': VoiceSubmissionsSelect<false> | VoiceSubmissionsSelect<true>;
|
||||
tickets: TicketsSelect<false> | TicketsSelect<true>;
|
||||
'ticket-votes': TicketVotesSelect<false> | TicketVotesSelect<true>;
|
||||
'wiki-pages': WikiPagesSelect<false> | WikiPagesSelect<true>;
|
||||
|
|
@ -703,6 +709,27 @@ export interface Resource {
|
|||
*/
|
||||
tradeable?: boolean | null;
|
||||
rarity: 'common' | 'uncommon' | 'rare' | 'epic' | 'legendary' | 'exotic' | 'unique';
|
||||
/**
|
||||
* Baseline world supply and demand used by the market economy simulation (economy tick).
|
||||
*/
|
||||
economy?: {
|
||||
/**
|
||||
* Whether the economy simulation tracks this resource. Disabled items keep their resting price.
|
||||
*/
|
||||
enabled?: boolean | null;
|
||||
/**
|
||||
* GM-set resting world supply. Used as the starting point of this resource's market-state ledger.
|
||||
*/
|
||||
baselineSupply?: number | null;
|
||||
/**
|
||||
* GM-set resting demand (NPC faction pressure). Used as the starting point of this resource's market-state ledger.
|
||||
*/
|
||||
baselineDemand?: number | null;
|
||||
/**
|
||||
* Price band, as a fraction of the base value (e.g. 0.5 = price can move ±50%). Leave empty to use the global default band from Game Rules.
|
||||
*/
|
||||
maxModifier?: number | null;
|
||||
};
|
||||
/**
|
||||
* The unit of measure for this resource in singular form (no plurals, e.g., liter, kg, point, unit, megawatt, person, etc.)
|
||||
*/
|
||||
|
|
@ -910,6 +937,27 @@ export interface Asset {
|
|||
baseSellPrice?: number | null;
|
||||
};
|
||||
};
|
||||
/**
|
||||
* Baseline world supply and demand used by the market economy simulation (economy tick).
|
||||
*/
|
||||
economy?: {
|
||||
/**
|
||||
* Whether the economy simulation tracks this asset. Disabled items keep their resting price.
|
||||
*/
|
||||
enabled?: boolean | null;
|
||||
/**
|
||||
* GM-set resting world supply. Used as the starting point of this asset's market-state ledger.
|
||||
*/
|
||||
baselineSupply?: number | null;
|
||||
/**
|
||||
* GM-set resting demand (NPC faction pressure). Used as the starting point of this asset's market-state ledger.
|
||||
*/
|
||||
baselineDemand?: number | null;
|
||||
/**
|
||||
* Price band, as a fraction of the base price (e.g. 0.5 = price can move ±50%). Leave empty to use the global default band from Game Rules.
|
||||
*/
|
||||
maxModifier?: number | null;
|
||||
};
|
||||
crafting: {
|
||||
craftable?: boolean | null;
|
||||
/**
|
||||
|
|
@ -1528,6 +1576,11 @@ export interface Role {
|
|||
| 'market-negotiations:update'
|
||||
| 'market-negotiations:delete'
|
||||
| 'admin:market-negotiations:manage'
|
||||
| 'market-state:create'
|
||||
| 'market-state:read'
|
||||
| 'market-state:update'
|
||||
| 'market-state:delete'
|
||||
| 'admin:market-state:manage'
|
||||
| 'projects:create'
|
||||
| 'projects:read'
|
||||
| 'projects:update'
|
||||
|
|
@ -1819,6 +1872,7 @@ export interface GameEventLog {
|
|||
| 'loadouts'
|
||||
| 'market-listings'
|
||||
| 'market-negotiations'
|
||||
| 'market-state'
|
||||
| 'evaluations'
|
||||
| 'tickets'
|
||||
| 'wiki-pages'
|
||||
|
|
@ -1826,6 +1880,8 @@ export interface GameEventLog {
|
|||
| 'wiki-templates'
|
||||
| 'game-servers'
|
||||
| 'assignment-transfers'
|
||||
| 'voice-scripts'
|
||||
| 'voice-submissions'
|
||||
)
|
||||
| null;
|
||||
targetId?: number | null;
|
||||
|
|
@ -1976,6 +2032,9 @@ export interface Profile {
|
|||
xpEarned?: number | null;
|
||||
};
|
||||
};
|
||||
voiceover?: {
|
||||
xpEarned?: number | null;
|
||||
};
|
||||
};
|
||||
updatedAt: string;
|
||||
createdAt: string;
|
||||
|
|
@ -2975,6 +3034,103 @@ export interface MarketNegotiation {
|
|||
updatedAt: string;
|
||||
createdAt: string;
|
||||
}
|
||||
/**
|
||||
* Supply/demand ledger per item, maintained by the economy tick. Baselines are copied from the item's Supply & Demand fields on first creation.
|
||||
*
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "market-state".
|
||||
*/
|
||||
export interface MarketState {
|
||||
id: number;
|
||||
/**
|
||||
* Which collection this ledger entry tracks.
|
||||
*/
|
||||
itemType: 'resource' | 'asset';
|
||||
/**
|
||||
* ID of the tracked resource or asset document.
|
||||
*/
|
||||
itemId: number;
|
||||
/**
|
||||
* GM-set resting supply. Copied from the item's Supply & Demand baseline when this entry is first created.
|
||||
*/
|
||||
gmBaselineSupply: number;
|
||||
/**
|
||||
* GM-set resting demand. Copied from the item's Supply & Demand baseline when this entry is first created.
|
||||
*/
|
||||
gmBaselineDemand: number;
|
||||
/**
|
||||
* Living abstract supply. Decremented by unit purchases from NPC listings, incremented by production/sales (later phases).
|
||||
*/
|
||||
currentSupply: number;
|
||||
/**
|
||||
* NPC faction demand pressure. Slow-drifting random walk bounded around the GM baseline, updated per economy tick.
|
||||
*/
|
||||
artificialDemand: number;
|
||||
/**
|
||||
* Decaying rolling aggregate of completed unit purchases (quantity-weighted). Decayed each tick by the Game Rules decay factor.
|
||||
*/
|
||||
realDemand: number;
|
||||
/**
|
||||
* Computed price multiplier applied to the item's base price when generating NEW NPC listings only (1 = resting price). Existing listings and open negotiations are never repriced.
|
||||
*/
|
||||
priceModifier: number;
|
||||
/**
|
||||
* When the economy tick last recomputed this entry.
|
||||
*/
|
||||
lastComputedAt?: string | null;
|
||||
updatedAt: string;
|
||||
createdAt: string;
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "voice-scripts".
|
||||
*/
|
||||
export interface VoiceScript {
|
||||
id: number;
|
||||
title: string;
|
||||
/**
|
||||
* Voice talent reads this verbatim. Inline emotion tags like [calm] are stored as written.
|
||||
*/
|
||||
script: string;
|
||||
/**
|
||||
* XP awarded per accepted submission of this script.
|
||||
*/
|
||||
xpAmount: number;
|
||||
/**
|
||||
* Closed scripts reject new submissions
|
||||
*/
|
||||
status: 'open' | 'closed';
|
||||
updatedAt: string;
|
||||
createdAt: string;
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "voice-submissions".
|
||||
*/
|
||||
export interface VoiceSubmission {
|
||||
id: number;
|
||||
script: number | VoiceScript;
|
||||
/**
|
||||
* Submitter
|
||||
*/
|
||||
user: number | User;
|
||||
status: 'pending' | 'accepted' | 'rejected';
|
||||
/**
|
||||
* Optional admin review note.
|
||||
*/
|
||||
reviewNote?: string | null;
|
||||
updatedAt: string;
|
||||
createdAt: string;
|
||||
url?: string | null;
|
||||
thumbnailURL?: string | null;
|
||||
filename?: string | null;
|
||||
mimeType?: string | null;
|
||||
filesize?: number | null;
|
||||
width?: number | null;
|
||||
height?: number | null;
|
||||
focalX?: number | null;
|
||||
focalY?: number | null;
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "tickets".
|
||||
|
|
@ -3665,6 +3821,18 @@ export interface PayloadLockedDocument {
|
|||
relationTo: 'market-negotiations';
|
||||
value: number | MarketNegotiation;
|
||||
} | null)
|
||||
| ({
|
||||
relationTo: 'market-state';
|
||||
value: number | MarketState;
|
||||
} | null)
|
||||
| ({
|
||||
relationTo: 'voice-scripts';
|
||||
value: number | VoiceScript;
|
||||
} | null)
|
||||
| ({
|
||||
relationTo: 'voice-submissions';
|
||||
value: number | VoiceSubmission;
|
||||
} | null)
|
||||
| ({
|
||||
relationTo: 'tickets';
|
||||
value: number | Ticket;
|
||||
|
|
@ -4156,6 +4324,11 @@ export interface ProfilesSelect<T extends boolean = true> {
|
|||
xpEarned?: T;
|
||||
};
|
||||
};
|
||||
voiceover?:
|
||||
| T
|
||||
| {
|
||||
xpEarned?: T;
|
||||
};
|
||||
};
|
||||
updatedAt?: T;
|
||||
createdAt?: T;
|
||||
|
|
@ -4560,6 +4733,14 @@ export interface AssetsSelect<T extends boolean = true> {
|
|||
baseSellPrice?: T;
|
||||
};
|
||||
};
|
||||
economy?:
|
||||
| T
|
||||
| {
|
||||
enabled?: T;
|
||||
baselineSupply?: T;
|
||||
baselineDemand?: T;
|
||||
maxModifier?: T;
|
||||
};
|
||||
crafting?:
|
||||
| T
|
||||
| {
|
||||
|
|
@ -4621,6 +4802,14 @@ export interface ResourcesSelect<T extends boolean = true> {
|
|||
baseValue?: T;
|
||||
tradeable?: T;
|
||||
rarity?: T;
|
||||
economy?:
|
||||
| T
|
||||
| {
|
||||
enabled?: T;
|
||||
baselineSupply?: T;
|
||||
baselineDemand?: T;
|
||||
maxModifier?: T;
|
||||
};
|
||||
unitOfMeasure?: T;
|
||||
massPerUnit?: T;
|
||||
stackSize?: T;
|
||||
|
|
@ -4990,6 +5179,56 @@ export interface MarketNegotiationsSelect<T extends boolean = true> {
|
|||
updatedAt?: T;
|
||||
createdAt?: T;
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "market-state_select".
|
||||
*/
|
||||
export interface MarketStateSelect<T extends boolean = true> {
|
||||
itemType?: T;
|
||||
itemId?: T;
|
||||
gmBaselineSupply?: T;
|
||||
gmBaselineDemand?: T;
|
||||
currentSupply?: T;
|
||||
artificialDemand?: T;
|
||||
realDemand?: T;
|
||||
priceModifier?: T;
|
||||
lastComputedAt?: T;
|
||||
updatedAt?: T;
|
||||
createdAt?: T;
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "voice-scripts_select".
|
||||
*/
|
||||
export interface VoiceScriptsSelect<T extends boolean = true> {
|
||||
title?: T;
|
||||
script?: T;
|
||||
xpAmount?: T;
|
||||
status?: T;
|
||||
updatedAt?: T;
|
||||
createdAt?: T;
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "voice-submissions_select".
|
||||
*/
|
||||
export interface VoiceSubmissionsSelect<T extends boolean = true> {
|
||||
script?: T;
|
||||
user?: T;
|
||||
status?: T;
|
||||
reviewNote?: T;
|
||||
updatedAt?: T;
|
||||
createdAt?: T;
|
||||
url?: T;
|
||||
thumbnailURL?: T;
|
||||
filename?: T;
|
||||
mimeType?: T;
|
||||
filesize?: T;
|
||||
width?: T;
|
||||
height?: T;
|
||||
focalX?: T;
|
||||
focalY?: T;
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "tickets_select".
|
||||
|
|
@ -5396,6 +5635,39 @@ export interface GameRule {
|
|||
* Message shown to logistics officers when hiring is disabled, e.g. explaining the in-universe reason.
|
||||
*/
|
||||
staffHiringDisabledMessage?: string | null;
|
||||
/**
|
||||
* Global knobs for the supply-and-demand market simulation run by the economy tick (docs/economy/supply-demand-design.md).
|
||||
*/
|
||||
economy?: {
|
||||
/**
|
||||
* Master gate for the market economy simulation. When off, the economy tick leaves all prices at their resting values.
|
||||
*/
|
||||
enabled?: boolean | null;
|
||||
/**
|
||||
* Default price band as a fraction of base price (e.g. 0.5 = price can move ±50%). Used when an item does not set its own band.
|
||||
*/
|
||||
defaultPriceBand?: number | null;
|
||||
/**
|
||||
* How many economy ticks of completed-purchase history feed the real-demand signal.
|
||||
*/
|
||||
realDemandWindowTicks?: number | null;
|
||||
/**
|
||||
* Fraction of accumulated real demand that survives each tick (0.5 halves it every tick).
|
||||
*/
|
||||
realDemandDecay?: number | null;
|
||||
/**
|
||||
* How far the NPC (artificial) demand random walk may move per tick, as a fraction of the GM baseline.
|
||||
*/
|
||||
artificialDemandDrift?: number | null;
|
||||
/**
|
||||
* Completed purchases needed before an item's price starts moving. Until then items stay at their resting price (modifier 1).
|
||||
*/
|
||||
coldStartObservations?: number | null;
|
||||
/**
|
||||
* Suggested economy tick cadence in minutes, for cron documentation only — the tick itself is triggered externally.
|
||||
*/
|
||||
tickIntervalHintMinutes?: number | null;
|
||||
};
|
||||
updatedAt?: string | null;
|
||||
createdAt?: string | null;
|
||||
}
|
||||
|
|
@ -5477,6 +5749,17 @@ export interface GameRulesSelect<T extends boolean = true> {
|
|||
lockerGridHeight?: T;
|
||||
staffHiringEnabled?: T;
|
||||
staffHiringDisabledMessage?: T;
|
||||
economy?:
|
||||
| T
|
||||
| {
|
||||
enabled?: T;
|
||||
defaultPriceBand?: T;
|
||||
realDemandWindowTicks?: T;
|
||||
realDemandDecay?: T;
|
||||
artificialDemandDrift?: T;
|
||||
coldStartObservations?: T;
|
||||
tickIntervalHintMinutes?: T;
|
||||
};
|
||||
updatedAt?: T;
|
||||
createdAt?: T;
|
||||
globalType?: T;
|
||||
|
|
|
|||
Loading…
Reference in a new issue