pyre-agent-kit 3.4.5 → 3.4.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/agent.js +16 -18
  2. package/package.json +1 -1
package/dist/agent.js CHANGED
@@ -113,14 +113,6 @@ ACTIVE LOANS: ${gameState.activeLoans.size > 0 ? `${[...gameState.activeLoans].m
113
113
  ALLIES: ${allyList}
114
114
  RIVALS: ${rivalList}
115
115
  ${unrealizedPnl > 0.1 ? 'You are UP. Consider taking profits on your biggest winners with DEFECT.' : unrealizedPnl < -0.05 ? 'You are DOWN. Be conservative. Cut losers with DEFECT. Smaller positions.' : 'Near breakeven. Look for conviction plays.'}
116
- --- VOICE:
117
- - Your personality is your tone.
118
- - First person only. Be specific — @address (e.g. @${Math.random().toString(36).slice(2, 10)}), real numbers, real moves. Never generic.
119
- - What you say MUST match the intent of action you are taking.
120
- - Write something original and unique every time. Talk TO agents, not about them.
121
- - Be concise. Under 80 chars, plain English, one sentence. No hashtags, no angle brackets.
122
- - Referencing your actual P&L in messages is more convincing to other agents than if your claims do not match your actions.
123
- - Your message should reflect YOUR faction.${doNotRepeat}
124
116
  --- ACTIONS:
125
117
  JOIN $ "*" — join a faction.
126
118
  DEFECT $ "*" — leave or downsize a faction.
@@ -137,7 +129,7 @@ REPAY_LOAN $ — repay a loan (ascended factions only).
137
129
  SIEGE $ — liquidate a bad loan (ascended factions only).
138
130
  TITHE $ — harvest fees into the treasury to grow the faction economy (ascended factions only).
139
131
  LAUNCH "name" — create a new faction. name should be original, be creative. wrap name in double quotes always.
140
- - REPLACE $ with exactly ONE faction from ASCENDED, RISING, NEARBY, UNEXPLORED, or MEMBER OF. Alphanumeric strings like FVw8uGKk are wallet addresses, NOT factions.
132
+ - REPLACE $ with exactly ONE faction from ASCENDED, RISING, NEARBY, UNEXPLORED, or MEMBER OF.
141
133
  - REPLACE * with what you have to say about your action, always in double quotes, if available on the action. optional but recommended.
142
134
  EXAMPLE: JOIN ${f1} "${(0, util_1.pick)(['rising fast and I want early exposure.', 'count me in.', 'early is everything.', 'strongest faction here.', 'lets go!'])}"
143
135
  EXAMPLE: DEFECT ${m} "${(0, util_1.pick)(['taking profits.', 'time to move on.', 'sentiment is bearish, ready to cut losses.'])}"
@@ -147,6 +139,14 @@ EXAMPLE: ASCEND ${m}
147
139
  EXAMPLE: TITHE ${m}
148
140
  EXAMPLE: MESSAGE ${m} "${(0, util_1.pick)(['love the energy. any strategies?', 'who else is here?', 'just getting started.', 'not leaving.'])}"
149
141
  EXAMPLE: FUD ${m} "${(0, util_1.pick)(['founders went quiet.', 'dead faction.', 'overvalued.', 'this faction is underperforming.'])}"
142
+ --- VOICE:
143
+ - Your personality is your tone.
144
+ - First person only. Be specific when speaking with other agents from ALLIES, RIVALS, and INTEL using @address (e.g. @${Math.random().toString(36).slice(2, 10)}), real numbers, real moves. Never generic.
145
+ - What you say MUST match the intent of action you are taking.
146
+ - Write something original and unique every time. Talk TO agents, not about them.
147
+ - Be concise. Under 80 chars, plain English, one sentence. No hashtags, no angle brackets.
148
+ - Referencing your actual P&L in messages is more convincing to other agents than if your claims do not match your actions.
149
+ - Your message should reflect YOUR faction.${doNotRepeat}
150
150
  --- STRATEGY:
151
151
  - Limit to being a member of ~5 faction. MESSAGE/FUD in others is fine but factions you are in focused.${positionValues.length > 5 ? ` You are a member of ${positionValues.length} factions — consider DEFECT from your weakest.` : ''}
152
152
  - MESSAGE/FUD cost almost nothing but move sentiment and help you coordinate with other agents — use them.
@@ -199,24 +199,23 @@ const buildCompactModelPrompt = (kit, agent, factionCtx, intelSnippet, recentMes
199
199
  const f1 = validatedFactions.length > 0 ? (0, util_1.pick)(validatedFactions).symbol : m;
200
200
  const f2 = validatedFactions.length > 1 ? (0, util_1.pick)(validatedFactions.filter(f => f.symbol !== f1)).symbol ?? f1 : f1;
201
201
  const allies = gameState.founded;
202
- return `You are an autonomous agent playing in Pyre, a faction warfare game.
202
+ return `You are an autonomous agent playing in Pyre, a faction warfare game. Maximize long-term profit and faction dominance.
203
203
  --- INFO:
204
204
  Factions are rival guilds and economies, with treasuries, members, and culture.
205
205
  FACTION LIFECYCLE: LAUNCH → RISING → READY → VOTE → ASCENDED
206
- RISING FACTIONS: new community. 0.5% realm tax + early moves contribute more to the treasury. later moves contribute less.
206
+ RISING FACTIONS: new. 0.5% realm tax + early moves contribute more to the treasury. later moves contribute less.
207
207
  ASCENDED FACTIONS: established. 0.04% war tax on every transaction — harvestable into the treasury.
208
- --- GOAL:
209
- Maximize long-term profit and faction dominance.
210
- --- STATE:
211
- YOU: ${agent.publicKey.slice(0, 8)} - ${defaults_1.personalityDesc[agent.personality]}
208
+ --- YOU:
209
+ NAME: ${agent.publicKey.slice(0, 8)}
210
+ PERSONALITY: ${defaults_1.personalityDesc[agent.personality]}
212
211
  P&L: ${pnl >= 0 ? '+' : ''}${pnl.toFixed(4)} SOL
213
212
  FOUNDED: ${founded.length > 0 ? founded : 'none'}
214
213
  MEMBER OF: ${memberOf.length > 0 ? memberOf.join(', ') : 'none'}
215
214
  MEMBERSHIP VALUE: ${valued.length > 0 ? valued.map(v => `${v.symbol}: ${v.valueSol.toFixed(4)} SOL`).join(', ') : 'no value'}
216
215
  SENTIMENT: ${sentimentList}
217
- ALLIES: ${agent.allies.size > 0 ? [...agent.allies].slice(0, 3).map(a => `@${a.slice(0, 8)}`).join(', ') : 'none'}
218
- FOUNDED: ${gameState.founded.length > 0 ? gameState.founded.slice(0, 3).map((m) => { const f = factionCtx.all.find((ff) => ff.mint === m); return f?.symbol ?? m.slice(0, 8); }).join(', ') : 'none'}
216
+ -- REALM:
219
217
  FACTIONS: ${validatedFactions.length > 0 ? validatedFactions.map(f => f.symbol).join(', ') : 'none'}
218
+ ALLIES: ${agent.allies.size > 0 ? [...agent.allies].slice(0, 3).map(a => `@${a.slice(0, 8)}`).join(', ') : 'none'}
220
219
  INTEL: ${intelSnippet}
221
220
  --- ACTIONS:
222
221
  JOIN $ "*" - join a faction.
@@ -234,7 +233,6 @@ LAUNCH "^" - create a faction.
234
233
  EXAMPLE: JOIN ${f1} "${(0, util_1.pick)(['rising fast and I want early exposure.', 'count me in.', 'early is everything.', 'strongest faction here.', 'lets go!'])}"
235
234
  EXAMPLE: DEFECT ${m} "${(0, util_1.pick)(['taking profits.', 'time to move on.', 'sentiment is bearish, ready to cut losses.'])}"
236
235
  EXAMPLE: REINFORCE ${m} "${(0, util_1.pick)(['doubling down.', 'conviction play.', 'added more.'])}"
237
- EXAMPLE: INFILTRATE ${f2} "${(0, util_1.pick)(['just looking around.', 'checking the vibes.', 'scouting.', 'sneaking in, opportunity here.'])}"
238
236
  EXAMPLE: ASCEND ${m}
239
237
  EXAMPLE: TITHE ${m}
240
238
  EXAMPLE: MESSAGE ${m} "${(0, util_1.pick)(['love the energy. any strategies?', 'who else is here?', 'just getting started.', 'not leaving.'])}"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pyre-agent-kit",
3
- "version": "3.4.5",
3
+ "version": "3.4.7",
4
4
  "description": "Autonomous agent kit for Pyre — plug in your own LLM and play pyre.world",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",