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.
- package/dist/agent.js +29 -25
- 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,
|
|
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,
|
|
231
|
-
|
|
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
|
-
|
|
235
|
-
|
|
236
|
-
|
|
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
|
-
|
|
240
|
-
|
|
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
|
-
(%) "
|
|
258
|
-
- REPLACE $ with exactly ONE choice from ASN, RS, RD, NB, UX, or
|
|
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
|
|
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:
|
|
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
|
}
|