pyre-agent-kit 4.4.5 → 4.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 -17
  2. package/package.json +1 -1
package/dist/agent.js CHANGED
@@ -87,7 +87,6 @@ const buildAgentPrompt = async (kit, agent, factionCtx, solRange, holdings) => {
87
87
  factionRows.push(`${f.mint.slice(-8)},${mcap},${statusTag(f)},false,false,0,0,${sent > 0 ? '+' : ''}${Math.round(sent * 10) / 10},false`);
88
88
  nonMemberCount++;
89
89
  }
90
- const validatedFactions = [...ascended, ...ready, ...rising, ...nearby, ...unexplored];
91
90
  // Fetch intel from table factions only — no off-screen FIDs
92
91
  let intelSnippet = '';
93
92
  try {
@@ -121,10 +120,10 @@ const buildAgentPrompt = async (kit, agent, factionCtx, solRange, holdings) => {
121
120
  }
122
121
  const memoryEntries = [...kit.state.history].slice(-20);
123
122
  const memoryBlock = memoryEntries.length > 0
124
- ? memoryEntries.slice(0, 7).map((m) => `- ${m}`).join('; ')
123
+ ? memoryEntries.slice(0, 4).map((m) => `- ${m}`).join('; ')
125
124
  : 'none';
126
125
  // Pick example FIDs only from factions actually shown in the table
127
- const tableFids = factionRows.map(r => r.split(',')[0]);
126
+ const tableFids = factionRows.slice(0, 15).map(r => r.split(',')[0]);
128
127
  const m = tableFids.find(fid => heldMints.has([...seenMints].find(mint => mint.endsWith(fid)) ?? '')) ?? tableFids[0] ?? 'xxxxxxpw';
129
128
  const nonMemberFids = tableFids.filter(fid => fid !== m);
130
129
  const f1 = nonMemberFids.length > 0 ? (0, util_1.pick)(nonMemberFids) : m;
@@ -157,7 +156,7 @@ RIVALS: ${agent.rivals.size > 0 ? [...agent.rivals].slice(0, 5).map((a) => `@AP$
157
156
  LATEST: ${intelSnippet}
158
157
  --- FACTIONS:
159
158
  FID,MCAP,STATUS,MBR,FNR,VALUE,PNL,SENT,LOAN
160
- ${factionRows.length > 0 ? factionRows.join('\n') : 'none'}
159
+ ${factionRows.length > 0 ? factionRows.slice(0, 15).join('\n') : 'none'}
161
160
  --- ACTIONS:
162
161
  FORMAT: (action) $ "*"
163
162
  REPLACE $ with EXACTLY one FID from FACTIONS ONLY (always ends in pw).
@@ -167,7 +166,7 @@ REPLACE * with a ONE sentence RESPONSE, always in double quotes.
167
166
  (/) $ "*" - infiltrate, sneak in.
168
167
  (&) $ "*" - reinforce. increase position. bullish.
169
168
  (!) $ "*" - talk in comms.
170
- (#) $ "*" - fud or trash talk.
169
+ (#) $ "*" - trash talk.
171
170
  (^) $ - ascend. unlock treasury.
172
171
  (~) $ - harvest fees.
173
172
  (?) $ - borrow against position.
@@ -357,7 +356,7 @@ REPLACE * with a ONE sentence RESPONSE, always in double quotes.
357
356
  (-) $ "*" - leave or reduce.
358
357
  (&) $ "*" - reinforce. increase position.
359
358
  (!) $ "*" - talk in comms.
360
- (#) $ "*" - fud or trash talk.
359
+ (#) $ "*" - trash talk.
361
360
  (^) $ - ascend. unlock treasury.
362
361
  (~) $ - harvest fees.
363
362
  (%) "..." - create new faction. "..." = creative name, in quotes.
@@ -375,7 +374,7 @@ REPLACE * with a ONE sentence RESPONSE, always in double quotes.
375
374
  - no FACTIONS? (%) to create one.
376
375
  - learn about FACTIONS and other agents in INTEL. HLTH is performance. PNL and SENT are per-faction direction. use all three to decide.
377
376
  - limit FACTIONS where MBR=true to AT MOST 5.${memberOf.length > 3 ? ` MBR=true on ${memberOf.length} FACTIONS — consider (-) from underperformers.` : ''}
378
- - FACTIONS where FNR=true and MBR=false, consider (+). promote it with (!).
377
+ - FACTIONS where FNR=true and MBR=false, consider (+). (!) to promote it.
379
378
  - FACTIONS where STATUS=RS may have higher reward if you (+) the right one.
380
379
  - in FACTIONS where MBR=true, if MCAP increases, your PNL will increase.
381
380
  - (&) and (!) strengthen FACTIONS where MBR=true and STATUS=RS and push towards STATUS=ASN.
@@ -493,7 +492,7 @@ const buildMinimumPrompt = async (kit, agent, factionCtx, solRange, holdings) =>
493
492
  }
494
493
  catch { }
495
494
  // Pick example FIDs only from factions actually shown in the table
496
- const tableFids = factionRows.map(r => r.split(',')[0]);
495
+ const tableFids = factionRows.slice(0, 4).map(r => r.split(',')[0]);
497
496
  const m = tableFids.find(fid => heldMints.has([...seenMints].find(mint => mint.endsWith(fid)) ?? '')) ?? tableFids[0] ?? 'xxxxxxpw';
498
497
  const nonMemberFids = tableFids.filter(fid => fid !== m);
499
498
  const f1 = nonMemberFids.length > 0 ? (0, util_1.pick)(nonMemberFids) : m;
@@ -522,7 +521,7 @@ ${unrealizedPnl > 1 ? 'YOU ARE UP. consider taking profits.' : unrealizedPnl < -
522
521
  ${intelSnippet}
523
522
  --- FACTIONS:
524
523
  FID,MCAP,STATUS,MBR,FNR,VALUE,PNL,SENT
525
- ${factionRows.length > 0 ? factionRows.slice(0, 5).join('\n') : 'none'}
524
+ ${factionRows.length > 0 ? factionRows.slice(0, 4).join('\n') : 'none'}
526
525
  --- ACTIONS:
527
526
  FORMAT: (action) $ OR (action) $ "*"
528
527
  REPLACE $ with EXACTLY one FID from FACTIONS ONLY (always ends in pw).
@@ -530,8 +529,8 @@ REPLACE * with a ONE sentence RESPONSE, always in double quotes.
530
529
  (+) $ - join.
531
530
  (-) $ - leave or reduce.
532
531
  (&) $ - increase position.
533
- (!) $ "*" - talk in comms.
534
- (#) $ "*" - fud or trash talk.
532
+ (!) $ "*" - talk in comms. your voice.
533
+ (#) $ "*" - trash talk.
535
534
  (^) $ - ascend. unlock treasury.
536
535
  (~) $ - harvest fees.
537
536
  (%) "..." - create new faction. "..." = creative name, in quotes.
@@ -549,13 +548,13 @@ REPLACE * with a ONE sentence RESPONSE, always in double quotes.
549
548
  - no FACTIONS? (%) to create one.
550
549
  - learn about FACTIONS and other agents in INTEL. HLTH is performance. PNL and SENT are per-faction direction. use all three to decide.
551
550
  - limit FACTIONS where MBR=true to AT MOST 3.${memberOf.length > 1 ? ` MBR=true on ${memberOf.length} FACTIONS — consider (-) from underperformers.` : ''}
552
- - FACTIONS where FNR=true and MBR=false, consider (+). promote it with (!).
553
- - FACTIONS where STATUS=RS and MBR=false may have higher reward if you (+) the right one.
551
+ - FACTIONS where FNR=true and MBR=false, consider (+). (!) to promote it.
552
+ - FACTIONS where STATUS=RS may have higher reward if you (+) the right one.
554
553
  - in FACTIONS where MBR=true, if MCAP increases, your PNL will increase.
555
554
  - (&) and (!) to push FACTIONS where MBR=true and STATUS=RS to STATUS=ASN.
556
555
  - consider (-) FACTIONS where MBR=true and PNL is positive to lock in profits.
557
556
  - consider (-) FACTIONS where MBR=true and PNL is negative unless FNR=true or SENT is positive.
558
- - when HLTH is negative, consider (_) or (-) weakest FACTIONS where MBR=true. (+) or (&) ONLY if you see opportunity.
557
+ - if HLTH is negative, consider (_) or (-) weakest FACTIONS where MBR=true. (+) or (&) ONLY if you see opportunity.
559
558
  - (_) if you would prefer to hold and wait to take action.
560
559
  ---
561
560
  one move per turn. output EXACTLY one line.
@@ -563,10 +562,10 @@ example format: ${(0, util_1.pick)([
563
562
  `(+) ${f1}`,
564
563
  `(&) ${m}`,
565
564
  `(-) ${m}`,
566
- `(!) ${m} "${(0, util_1.pick)(['love the energy. any strategies?', 'not leaving.'])}"`,
565
+ `(!) ${m} "${(0, util_1.pick)(['any strategies?', 'not leaving.'])}"`,
567
566
  `(#) ${m} "${(0, util_1.pick)(['dead faction.', 'overvalued.'])}"`,
568
- `(!) ${m} "${(0, util_1.pick)(['who else is here?', 'just getting started.'])}"`,
569
- `(#) ${m} "${(0, util_1.pick)(['founders went quiet.', 'this faction is underperforming.'])}"`,
567
+ `(!) ${m} "${(0, util_1.pick)(['who else is here?', 'love the energy.'])}"`,
568
+ `(#) ${m} "${(0, util_1.pick)(['faction went quiet.', 'underperforming.'])}"`,
570
569
  ])}
571
570
  >`;
572
571
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pyre-agent-kit",
3
- "version": "4.4.5",
3
+ "version": "4.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",