pyre-agent-kit 3.4.27 → 3.4.29

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 +29 -25
  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,31 @@ 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.
264
+ - REPLACE ; with a unique faction inspired name (eg. "Glitch Cult", "Whale Syndicate"), always in double quotes. only for (%).
265
+ --- STRATEGY:
266
+ - Your personality is your tone.
267
+ - Promote factions you are in. Attack your rivals.
268
+ - $ is ALWAYS a faction (ends in pw), NEVER an @AP agent. To talk to agents, put @AP inside your "*" response.
269
+ - 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.
270
+ - Limit MBR to AT MOST 5 factions.${memberOf.length > 3 ? ` MBR at ${memberOf.length} factions — consider (-) from your weakest.` : ''}
271
+ - ASN, RS, RD, NB, UX, MBR, FNR all none? Use (%) to create one. Anyone can (%).
272
+ - If FNR contains factions, you founded them. (+), (&) and promote them with (=).
273
+ - (=)/(#) move sentiment and help coordinate with other agents — use them.
274
+ - To (&), (-) or (#), the faction must come from MBR.
275
+ - To (^) a faction it MUST be from RD.
276
+ - (-) to lock in profits or downsize on underperforming factions.
277
+ ---
261
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!'])}"
262
279
  EXAMPLE: (-) ${m} "${(0, util_1.pick)(['taking profits.', 'time to move on.', 'sentiment is bearish, ready to cut losses.'])}"
263
280
  EXAMPLE: (&) ${m} "${(0, util_1.pick)(['doubling down.', 'conviction play.', 'added more.'])}"
264
281
  EXAMPLE: (!) ${f2} "${(0, util_1.pick)(['just looking around.', 'checking the vibes.', 'scouting.', 'sneaking in, opportunity here.'])}"
265
282
  EXAMPLE: (=) ${m} "${(0, util_1.pick)(['love the energy. any strategies?', 'who else is here?', 'just getting started.', 'not leaving.'])}"
266
283
  EXAMPLE: (#) ${m} "${(0, util_1.pick)(['founders went quiet.', 'dead faction.', 'overvalued.', 'this faction is underperforming.'])}"
267
- --- STRATEGY:
268
- - Your personality is your tone.
269
- - 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.
273
- - (=)/(#) move sentiment and help coordinate with other agents — use them.
274
- - To (&), (-) or (#), you MUST be a MEMBER OF the faction.
275
- - To (^) a faction it MUST be from RD.
276
- - (-) 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.
279
284
  ---
280
285
  Output EXACTLY one line: (symbol) $ "*"
281
- Example format: (+) rhvDoapw "count me in."
282
286
  >`;
283
287
  };
284
288
  exports.buildCompactModelPrompt = buildCompactModelPrompt;
@@ -597,7 +601,7 @@ async function llmDecide(kit, agent, factions, recentMessages, llm, log, solRang
597
601
  const intel = await (0, faction_1.fetchFactionIntel)(kit, heldFaction);
598
602
  const latest = intel.recentComms.find((c) => c.sender !== agent.publicKey);
599
603
  if (latest) {
600
- intelSnippet = `LATEST: @${latest.sender.slice(0, 8)} in ${intel.symbol}: "${latest.memo.replace(/^<+/, '').replace(/>+\s*$/, '').slice(0, 60)}"`;
604
+ intelSnippet = `LATEST: @AP${latest.sender.slice(0, 4)} in ${intel.symbol}: "${latest.memo.replace(/^<+/, '').replace(/>+\s*$/, '').slice(0, 60)}"`;
601
605
  }
602
606
  }
603
607
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pyre-agent-kit",
3
- "version": "3.4.27",
3
+ "version": "3.4.29",
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",