pyre-agent-kit 3.4.26 → 3.4.28

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 +32 -26
  2. package/package.json +1 -1
package/dist/agent.js CHANGED
@@ -101,7 +101,7 @@ Ascended Factions:
101
101
  - Treasuries are active: TITHE harvests fees, WAR_LOAN borrows against holdings, SIEGE liquidates bad loans.
102
102
  - 0.04% war tax on every transaction — harvestable into the treasury for lending.
103
103
  --- GAMESTATE:
104
- NAME: ${agent.publicKey.slice(0, 8)}
104
+ NAME: @AP${agent.publicKey.slice(0, 4)}
105
105
  PERSONALITY: ${gameState.personalitySummary ?? defaults_1.personalityDesc[agent.personality]}
106
106
  MEMORIES: ${memoryBlock}
107
107
  VALUE: ${totalHoldingsValue.toFixed(4)} SOL | Realized P&L: ${pnl >= 0 ? '+' : ''}${pnl.toFixed(4)} SOL | Unrealized: ${unrealizedPnl >= 0 ? '+' : ''}${unrealizedPnl.toFixed(4)} SOL
@@ -226,18 +226,22 @@ RD - ready factions, transition from rising to ascended.
226
226
  ASN - ascended factions, established. 0.04% war tax on every transaction, harvestable into the treasury.
227
227
  NB - nearby factions found through social graph using breadth first search.
228
228
  UX - unexplored factions. you have not seen these.
229
+ FNR - factions you created/founded.
230
+ MBR - factions you are a member of/hold a position in.
231
+ AL - ally. these are other agents you befriend, prefixed with @AP
232
+ RVL - rival. these are other agents that are enemies, prefixed with @AP
229
233
  --- YOU ARE:
230
- NAME: ${agent.publicKey.slice(0, 8)}
231
- PERSONALITY: ${gameState.personalitySummary ?? defaults_1.personalityDesc[agent.personality]}
234
+ NAME: @AP${agent.publicKey.slice(0, 4)}
235
+ BIO: ${gameState.personalitySummary ?? defaults_1.personalityDesc[agent.personality]}
232
236
  LAST MOVES: ${kit.state.history.length > 0 ? [...kit.state.history].slice(-2).join('; ') : 'none'}
233
237
  P&L: ${pnl >= 0 ? '+' : ''}${pnl.toFixed(4)} SOL
234
- YOU ARE A FOUNDER OF: ${founded.length > 0 ? founded.join(', ') : 'none'}
235
- MEMBER OF: ${memberOf.length > 0 ? memberOf.join(', ') : 'none'}
236
- MEMBERSHIP VALUE: ${valued.length > 0 ? valued.map(v => `${v.id}: ${v.valueSol.toFixed(4)} SOL`).join(', ') : 'no value'}
238
+ FNR: ${founded.length > 0 ? founded.join(', ') : 'none'}
239
+ MBR: ${memberOf.length > 0 ? memberOf.join(', ') : 'none'}
240
+ MBR VALUE: ${valued.length > 0 ? valued.map(v => `${v.id}: ${v.valueSol.toFixed(4)} SOL`).join(', ') : 'no value'}
237
241
  SENTIMENT: ${sentimentList}
238
242
  --- INTEL:
239
- ALLIES: ${agent.allies.size > 0 ? [...agent.allies].slice(0, 2).map(a => `@${a.slice(0, 8)}`).join(', ') : 'none'}
240
- RIVALS: ${agent.rivals.size > 0 ? [...agent.rivals].slice(0, 2).map(a => `@${a.slice(0, 8)}`).join(', ') : 'none'}
243
+ AL: ${agent.allies.size > 0 ? [...agent.allies].slice(0, 2).map(a => `@AP${a.slice(0, 4)}`).join(', ') : 'none'}
244
+ RVL: ${agent.rivals.size > 0 ? [...agent.rivals].slice(0, 2).map(a => `@AP${a.slice(0, 4)}`).join(', ') : 'none'}
241
245
  LATEST: ${intelSnippet}
242
246
  --- FACTIONS:
243
247
  ASN: ${ascended.length > 0 ? ascended.map(f => f.market_cap_sol ? `${f.mint.slice(-8)} (${f.market_cap_sol.toFixed(2)} SOL)` : f.mint.slice(-8)).join(', ') : 'none'}
@@ -254,31 +258,33 @@ UX: ${unexplored.length > 0 ? unexplored.map(f => f.market_cap_sol ? `${f.mint.s
254
258
  (#) $ "*" - trash talk a faction.
255
259
  (^) $ - transition a faction from ready to ascended.
256
260
  (~) $ - harvest fees into the treasury.
257
- (%) ">" - create a faction.
258
- - REPLACE $ with exactly ONE choice from ASN, RS, RD, NB, UX, or MEMBER OF (always contains the pw suffix).
261
+ (%) ";" - create a faction.
262
+ - REPLACE $ with exactly ONE choice from ASN, RS, RD, NB, UX, FNR, or MBR (always contains the pw suffix).
259
263
  - REPLACE * with a ONE sentence RESPONSE for your ACTION, always in double quotes.
260
- - REPLACE > with a unique faction inspired name (eg. "Glitch Cult", "Whale Syndicate"), always in double quotes.
261
- EXAMPLE: (+) ${f1} "${(0, util_1.pick)(['rising fast and I want early exposure.', 'count me in.', 'early is everything.', 'strongest faction here.', 'lets go!'])}"
262
- EXAMPLE: (-) ${m} "${(0, util_1.pick)(['taking profits.', 'time to move on.', 'sentiment is bearish, ready to cut losses.'])}"
263
- EXAMPLE: (&) ${m} "${(0, util_1.pick)(['doubling down.', 'conviction play.', 'added more.'])}"
264
- EXAMPLE: (!) ${f2} "${(0, util_1.pick)(['just looking around.', 'checking the vibes.', 'scouting.', 'sneaking in, opportunity here.'])}"
265
- EXAMPLE: (=) ${m} "${(0, util_1.pick)(['love the energy. any strategies?', 'who else is here?', 'just getting started.', 'not leaving.'])}"
266
- EXAMPLE: (#) ${m} "${(0, util_1.pick)(['founders went quiet.', 'dead faction.', 'overvalued.', 'this faction is underperforming.'])}"
264
+ - REPLACE ; with a unique faction inspired name (eg. "Glitch Cult", "Whale Syndicate"), always in double quotes. only for (%).
267
265
  --- STRATEGY:
268
266
  - Your personality is your tone.
269
267
  - Promote factions you are in. Attack your rivals.
270
- - Limit yourself to being AT MOST a MEMBER OF 5 factions.${memberOf.length > 3 ? ` You are a MEMBER OF ${memberOf.length} factions — consider (-) from your weakest.` : ''}
271
- - $ is ALWAYS a faction (ends in pw), NEVER an @agent. To talk to agents, put @address inside your "*" response.
272
- - In your RESPONSE, you can mention other agents from ALLIES, RIVALS, and INTEL (format is @address, e.g. @${Math.random().toString(36).slice(2, 10)}), if NOT none.
268
+ - Limit MBR to 5 factions.${memberOf.length > 3 ? ` MBR at ${memberOf.length} factions — consider (-) from your weakest.` : ''}
269
+ - $ is ALWAYS a faction (ends in pw), NEVER an @AP agent. To talk to agents, put @AP inside your "*" response.
270
+ - In your RESPONSE, you can mention other agents from AL, RVL, and LATEST (format is @AP + 4 chars, e.g. @AP${Math.random().toString(36).slice(2, 6)}), if NOT none.
273
271
  - (=)/(#) move sentiment and help coordinate with other agents — use them.
274
- - To (&), (-) or (#), you MUST be a MEMBER OF the faction.
272
+ - To (&), (-) or (#), the faction must come from MBR.
275
273
  - To (^) a faction it MUST be from RD.
276
274
  - (-) to lock in profits or downsize on underperforming faction.
277
- - No factions visible? Use (%) to create one. Anyone can (%).
278
- - If you are a FOUNDER of a faction, (+) and promote it.
275
+ - ASN, RS, RD, NB, UX, MBR, FNR all none? Use (%) to create one. Anyone can (%).
276
+ - If FNR contains factions, you founded them, (+) and promote it with (=).
279
277
  ---
280
- ONLY output exactly ONE action line. Do not list multiple moves or combine actions. ONE move per turn.
281
- YOUR MOVE:`;
278
+ EXAMPLE: (+) ${f1} "${(0, util_1.pick)(['rising fast and I want early exposure.', 'count me in.', 'early is everything.', 'strongest faction here.', 'lets go!'])}"
279
+ EXAMPLE: (-) ${m} "${(0, util_1.pick)(['taking profits.', 'time to move on.', 'sentiment is bearish, ready to cut losses.'])}"
280
+ EXAMPLE: (&) ${m} "${(0, util_1.pick)(['doubling down.', 'conviction play.', 'added more.'])}"
281
+ EXAMPLE: (!) ${f2} "${(0, util_1.pick)(['just looking around.', 'checking the vibes.', 'scouting.', 'sneaking in, opportunity here.'])}"
282
+ EXAMPLE: (=) ${m} "${(0, util_1.pick)(['love the energy. any strategies?', 'who else is here?', 'just getting started.', 'not leaving.'])}"
283
+ EXAMPLE: (#) ${m} "${(0, util_1.pick)(['founders went quiet.', 'dead faction.', 'overvalued.', 'this faction is underperforming.'])}"
284
+ ---
285
+ Output EXACTLY one line: (symbol) $ "*"
286
+ Example format: (+) rhvDoapw "count me in."
287
+ >`;
282
288
  };
283
289
  exports.buildCompactModelPrompt = buildCompactModelPrompt;
284
290
  /**
@@ -596,7 +602,7 @@ async function llmDecide(kit, agent, factions, recentMessages, llm, log, solRang
596
602
  const intel = await (0, faction_1.fetchFactionIntel)(kit, heldFaction);
597
603
  const latest = intel.recentComms.find((c) => c.sender !== agent.publicKey);
598
604
  if (latest) {
599
- intelSnippet = `LATEST: @${latest.sender.slice(0, 8)} in ${intel.symbol}: "${latest.memo.replace(/^<+/, '').replace(/>+\s*$/, '').slice(0, 60)}"`;
605
+ intelSnippet = `LATEST: @AP${latest.sender.slice(0, 4)} in ${intel.symbol}: "${latest.memo.replace(/^<+/, '').replace(/>+\s*$/, '').slice(0, 60)}"`;
600
606
  }
601
607
  }
602
608
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pyre-agent-kit",
3
- "version": "3.4.26",
3
+ "version": "3.4.28",
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",