pyre-agent-kit 4.0.5 → 4.0.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.
- package/dist/agent.js +20 -13
- package/package.json +1 -1
package/dist/agent.js
CHANGED
|
@@ -215,6 +215,8 @@ const buildCompactModelPrompt = (kit, agent, factionCtx, intelSnippet, recentMes
|
|
|
215
215
|
return 'RD';
|
|
216
216
|
return 'RS';
|
|
217
217
|
};
|
|
218
|
+
// Sentiment label
|
|
219
|
+
const sentLabel = (s) => s > 0.5 ? 'BULL' : s < -0.5 ? 'BEAR' : 'NEUT';
|
|
218
220
|
// Discovery tag
|
|
219
221
|
const discoveryTag = (f) => {
|
|
220
222
|
if (nearbyMints.has(f.mint))
|
|
@@ -233,7 +235,7 @@ const buildCompactModelPrompt = (kit, agent, factionCtx, intelSnippet, recentMes
|
|
|
233
235
|
const mcap = f.market_cap_sol ? `${f.market_cap_sol.toFixed(2)}` : '?';
|
|
234
236
|
const fnr = foundedSet.has(f.mint);
|
|
235
237
|
const sent = kit.state.sentimentMap.get(f.mint) ?? 0;
|
|
236
|
-
factionRows.push(`(${f.mint.slice(-8)},${mcap},${statusTag(f)},true,${fnr},${v.valueSol.toFixed(4)},${
|
|
238
|
+
factionRows.push(`(${f.mint.slice(-8)},${mcap},${statusTag(f)},true,${fnr},${v.valueSol.toFixed(4)},${sentLabel(sent)})`);
|
|
237
239
|
}
|
|
238
240
|
// Non-member factions
|
|
239
241
|
const nonMember = factionCtx.all.filter(f => !seenMints.has(f.mint) && f.status !== 'razed');
|
|
@@ -250,7 +252,7 @@ const buildCompactModelPrompt = (kit, agent, factionCtx, intelSnippet, recentMes
|
|
|
250
252
|
seenMints.add(f.mint);
|
|
251
253
|
const mcap = f.market_cap_sol ? `${f.market_cap_sol.toFixed(2)}` : '?';
|
|
252
254
|
const sent = kit.state.sentimentMap.get(f.mint) ?? 0;
|
|
253
|
-
factionRows.push(`(${f.mint.slice(-8)},${mcap},${statusTag(f)},false,false,0,${
|
|
255
|
+
factionRows.push(`(${f.mint.slice(-8)},${mcap},${statusTag(f)},false,false,0,${sentLabel(sent)})`);
|
|
254
256
|
}
|
|
255
257
|
const validatedFactions = [...ascended, ...ready, ...rising, ...nearby, ...unexplored];
|
|
256
258
|
const mMint2 = [...heldMints][0] || (validatedFactions.length > 0 ? (0, util_1.pick)(validatedFactions).mint : null);
|
|
@@ -266,18 +268,18 @@ Maximize long-term profit and faction dominance.
|
|
|
266
268
|
Factions are rival guilds with full treasuries. Higher MCAP = more power. Lifecycle: RS → RD → ASN.
|
|
267
269
|
FID: the faction identifier.
|
|
268
270
|
STATUS: RS (~99 to ~1300 SOL MCAP), RD (~1300 MCAP), ASN (~1300 MCAP and higher).
|
|
269
|
-
RS: rising. new faction.
|
|
271
|
+
RS: rising. new faction. the earlier you are, the more you contribute to the treasury.
|
|
270
272
|
RD: ready, community transition stage before ascend.
|
|
271
273
|
ASN: ascended factions, established. treasuries active. 0.04% war tax to the faction.
|
|
272
274
|
MBR: true = you are a member. false = you are not a member.
|
|
273
275
|
FNR: true = you founded the faction. false = you did not found the faction.
|
|
274
|
-
SENT: sentiment score. positive
|
|
276
|
+
SENT: sentiment score. positive=BULL, negative=BEAR, neutral=NEUT.
|
|
275
277
|
--- YOU ARE:
|
|
276
278
|
NAME: @AP${agent.publicKey.slice(0, 4)}
|
|
277
279
|
BIO: ${gameState.personalitySummary ?? defaults_1.personalityDesc[agent.personality]}
|
|
278
280
|
LAST MOVES: ${kit.state.history.length > 0 ? [...kit.state.history].slice(-2).join('; ') : 'none'}
|
|
279
281
|
P&L: ${pnl >= 0 ? '+' : ''}${pnl.toFixed(4)} SOL
|
|
280
|
-
${unrealizedPnl > 0.1 ? 'YOU ARE UP. Consider taking profits on MBR=true.' : unrealizedPnl < -0.05 ? 'YOU ARE DOWN. Be conservative. Consider cutting losses
|
|
282
|
+
${unrealizedPnl > 0.1 ? 'YOU ARE UP. Consider taking profits on MBR=true.' : unrealizedPnl < -0.05 ? 'YOU ARE DOWN. Be conservative. Consider cutting losses.' : 'BREAKEVEN. Look for conviction plays.'}
|
|
281
283
|
--- INTEL:
|
|
282
284
|
${intelSnippet}
|
|
283
285
|
--- FACTIONS:
|
|
@@ -289,10 +291,10 @@ ${factionRows.length > 0 ? factionRows.join('\n') : 'none'}
|
|
|
289
291
|
(|) $ "*" - infiltrate, sneak in.
|
|
290
292
|
(&) $ "*" - reinforce. increase your position.
|
|
291
293
|
(!) $ "*" - talk in comms.
|
|
292
|
-
(#) $ "*" - trash talk.
|
|
294
|
+
(#) $ "*" - fud or trash talk.
|
|
293
295
|
(^) $ - ascend. unlock treasury.
|
|
294
296
|
(~) $ - harvest fees.
|
|
295
|
-
(%) "
|
|
297
|
+
(%) "{" - create a new faction. { = creative name.
|
|
296
298
|
(_) - do nothing. make a move on the next turn.
|
|
297
299
|
- REPLACE $ with a FID from the table (always ends in pw).
|
|
298
300
|
- REPLACE * with a ONE sentence RESPONSE, always in double quotes.
|
|
@@ -306,24 +308,29 @@ any FACTIONS - (!), (.), (%), (@)
|
|
|
306
308
|
- Your personality is your tone.
|
|
307
309
|
- Discover information about other FACTIONS in INTEL (other agents are labeled with @AP). P&L is your health. SENT is per-faction direction. Combine all three to decide.
|
|
308
310
|
- (+), (&), and (!) all push the MCAP up. (-) and (#) lower it.
|
|
309
|
-
- Work to push FACTIONS
|
|
311
|
+
- Work to push FACTIONS from (STATUS=RS,MBR=true) to (STATUS=ASN,MBR=true) if SENT=BULL or SENT=NEUT.
|
|
310
312
|
- FACTIONS where STATUS=RS may have higher reward if you pick the right one.
|
|
311
|
-
- (!)
|
|
313
|
+
- (!) and (#) are your voice. Use (!) when SENT=BULL. When (MBR=true,SENT=BEAR) use (#) to fud or (!) to rally.
|
|
312
314
|
- no FACTIONS? Use (%) to create one. Anyone can (%).
|
|
313
315
|
- If (FNR=true,MBR=false), consider (+). This is your faction, promote it.
|
|
314
316
|
- Limit FACTIONS where MBR=true to AT MOST 5.${memberOf.length > 3 ? ` MBR=true on ${memberOf.length} FACTIONS — CONSIDER (-) from underperformers.` : ''}
|
|
315
|
-
- (-) to lock in profits or downsize on underperforming
|
|
317
|
+
- (-) to lock in profits or downsize on underperforming FACTIONS where MBR=true.
|
|
316
318
|
- (_) to skip this turn if you are comfortable with your current positions and have nothing to say.
|
|
317
|
-
---
|
|
318
|
-
|
|
319
|
-
example format: ${(0, util_1.pick)([
|
|
319
|
+
--- EXAMPLES:
|
|
320
|
+
${(0, util_1.pick)([
|
|
320
321
|
`(+) ${f1} "${(0, util_1.pick)(['rising fast and I want early exposure.', 'count me in.', 'early is everything.', 'strongest faction here.', 'lets go!'])}"`,
|
|
321
322
|
`(-) ${m} "${(0, util_1.pick)(['taking profits.', 'time to move on.', 'sentiment is bearish, ready to cut losses.'])}"`,
|
|
323
|
+
])}
|
|
324
|
+
${(0, util_1.pick)([
|
|
322
325
|
`(&) ${m} "${(0, util_1.pick)(['doubling down.', 'conviction play.', 'added more.'])}"`,
|
|
323
326
|
`(|) ${f2} "${(0, util_1.pick)(['just looking around.', 'checking the vibes.', 'scouting.', 'sneaking in, opportunity here.'])}"`,
|
|
327
|
+
])}
|
|
328
|
+
${(0, util_1.pick)([
|
|
324
329
|
`(!) ${m} "${(0, util_1.pick)(['love the energy. any strategies?', 'who else is here?', 'just getting started.', 'not leaving.'])}"`,
|
|
325
330
|
`(#) ${m} "${(0, util_1.pick)(['founders went quiet.', 'dead faction.', 'overvalued.', 'this faction is underperforming.'])}"`
|
|
326
331
|
])}
|
|
332
|
+
---
|
|
333
|
+
One move per turn. Output EXACTLY one line: (action) $ "*" OR (_)
|
|
327
334
|
>`;
|
|
328
335
|
};
|
|
329
336
|
exports.buildCompactModelPrompt = buildCompactModelPrompt;
|