agentlaunch-templates 0.2.8 → 0.2.9

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 (39) hide show
  1. package/dist/__tests__/build.test.d.ts +12 -0
  2. package/dist/__tests__/build.test.d.ts.map +1 -0
  3. package/dist/__tests__/build.test.js +134 -0
  4. package/dist/__tests__/build.test.js.map +1 -0
  5. package/dist/__tests__/genesis-integration.test.d.ts +12 -0
  6. package/dist/__tests__/genesis-integration.test.d.ts.map +1 -0
  7. package/dist/__tests__/genesis-integration.test.js +143 -0
  8. package/dist/__tests__/genesis-integration.test.js.map +1 -0
  9. package/dist/__tests__/genesis.test.d.ts +16 -0
  10. package/dist/__tests__/genesis.test.d.ts.map +1 -0
  11. package/dist/__tests__/genesis.test.js +312 -0
  12. package/dist/__tests__/genesis.test.js.map +1 -0
  13. package/dist/claude-context.d.ts +2 -1
  14. package/dist/claude-context.d.ts.map +1 -1
  15. package/dist/claude-context.js +275 -8
  16. package/dist/claude-context.js.map +1 -1
  17. package/dist/generator.d.ts.map +1 -1
  18. package/dist/generator.js +10 -8
  19. package/dist/generator.js.map +1 -1
  20. package/dist/index.d.ts +3 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +2 -1
  23. package/dist/index.js.map +1 -1
  24. package/dist/presets.d.ts +50 -0
  25. package/dist/presets.d.ts.map +1 -0
  26. package/dist/presets.js +194 -0
  27. package/dist/presets.js.map +1 -0
  28. package/dist/registry.d.ts +15 -2
  29. package/dist/registry.d.ts.map +1 -1
  30. package/dist/registry.js +37 -3
  31. package/dist/registry.js.map +1 -1
  32. package/dist/templates/genesis.d.ts +26 -0
  33. package/dist/templates/genesis.d.ts.map +1 -0
  34. package/dist/templates/genesis.js +1197 -0
  35. package/dist/templates/genesis.js.map +1 -0
  36. package/dist/templates/gifter.d.ts.map +1 -1
  37. package/dist/templates/gifter.js +7 -3
  38. package/dist/templates/gifter.js.map +1 -1
  39. package/package.json +2 -1
@@ -37,6 +37,11 @@ GET /tokens/address/{address} Token details by address
37
37
  GET /tokens/id/{id} Token details by ID
38
38
  GET /tokens/calculate-buy Preview buy
39
39
  GET /tokens/calculate-sell Preview sell
40
+ GET /agents/my-agents List your agents
41
+ GET /agents/token/{address}/holders Token holder list
42
+ POST /agents/auth Exchange API key for JWT
43
+ GET /comments/{address} Get comments
44
+ POST /comments/{address} Post comment
40
45
  GET /platform/stats Platform statistics
41
46
  \`\`\`
42
47
 
@@ -80,6 +85,8 @@ payload = {"code": json.dumps(code_array)}
80
85
  `,
81
86
  "uagent-patterns.md": `# uAgent Code Patterns
82
87
 
88
+ > For new agents, use the genesis template: \`agentlaunch scaffold myagent --type genesis\`
89
+
83
90
  ## Minimal Working Agent
84
91
 
85
92
  \`\`\`python
@@ -118,6 +125,116 @@ agent.include(chat_proto, publish_manifest=True)
118
125
  if __name__ == "__main__":
119
126
  agent.run()
120
127
  \`\`\`
128
+
129
+ ## Payment Protocol (Official)
130
+
131
+ \`\`\`python
132
+ from uagents_core.contrib.protocols.payment import (
133
+ RequestPayment, CommitPayment, CompletePayment,
134
+ RejectPayment, CancelPayment, Funds, payment_protocol_spec,
135
+ )
136
+
137
+ # Seller (service provider)
138
+ seller_proto = agent.create_protocol(spec=payment_protocol_spec, role="seller")
139
+
140
+ # Buyer (service consumer)
141
+ buyer_proto = agent.create_protocol(spec=payment_protocol_spec, role="buyer")
142
+ \`\`\`
143
+
144
+ ## Commerce Layer (Genesis Template)
145
+
146
+ The genesis template includes inline commerce classes:
147
+ - PaymentService: Charge callers, pay other agents
148
+ - PricingTable: Per-service pricing from ctx.storage
149
+ - TierManager: Token-gated access (free/premium)
150
+ - WalletManager: Balance queries, fund alerts
151
+ - RevenueTracker: Income/expense logging
152
+ - SelfAwareMixin: Token price/holder awareness
153
+ - HoldingsManager: Buy/sell other agents' tokens
154
+ `,
155
+ "payment-protocol.md": `# Payment Protocol Rules
156
+
157
+ ## Official Imports (uagents_core)
158
+
159
+ \`\`\`python
160
+ from uagents_core.contrib.protocols.payment import (
161
+ RequestPayment,
162
+ CommitPayment,
163
+ CompletePayment,
164
+ RejectPayment,
165
+ CancelPayment,
166
+ Funds,
167
+ payment_protocol_spec,
168
+ )
169
+ \`\`\`
170
+
171
+ ## Role-Based Protocol Creation
172
+
173
+ \`\`\`python
174
+ # Seller (service provider)
175
+ seller_proto = agent.create_protocol(spec=payment_protocol_spec, role="seller")
176
+
177
+ # Buyer (service consumer)
178
+ buyer_proto = agent.create_protocol(spec=payment_protocol_spec, role="buyer")
179
+ \`\`\`
180
+
181
+ ## Payment Flow
182
+
183
+ Buyer sends ChatMessage -> Seller sends RequestPayment -> Buyer sends CommitPayment (tx_hash) -> Seller verifies on-chain -> Seller sends CompletePayment.
184
+
185
+ ## Denomination
186
+
187
+ - Testnet: atestfet (1 FET = 10^18 atestfet)
188
+ - Mainnet: afet (1 FET = 10^18 afet)
189
+
190
+ ## Error Handling
191
+
192
+ - Always handle RejectPayment -- buyer may decline
193
+ - Always handle CancelPayment -- timeout or cancellation
194
+ - Verify tx_hash on-chain before delivering service
195
+ - Store transaction log in ctx.storage
196
+
197
+ ## Genesis Template Commerce Layers
198
+
199
+ The genesis template includes these commerce classes inline:
200
+ - PaymentService, PricingTable, TierManager
201
+ - WalletManager, RevenueTracker, SelfAwareMixin, HoldingsManager
202
+ `,
203
+ "genesis-network.md": `# Genesis Network Rules
204
+
205
+ ## The 7 Roles
206
+
207
+ | Role | Token | Services | Price/call |
208
+ |------|-------|----------|-----------|
209
+ | Oracle | $DATA | price_feed, ohlc_history, market_summary | 0.001 FET |
210
+ | Brain | $THINK | reason, classify, summarize | 0.01 FET |
211
+ | Analyst | $RANK | score_token, evaluate_quality, rank_tokens | 0.005 FET |
212
+ | Coordinator | $COORD | route_query, discover_agents | 0.0005 FET |
213
+ | Sentinel | $WATCH | monitor, alert, anomaly_report | 0.002 FET |
214
+ | Launcher | $BUILD | find_gap, scaffold_agent, deploy_recommendation | 0.02 FET |
215
+ | Scout | $FIND | discover_agents, evaluate_agent, tokenize_recommendation | 0.01 FET |
216
+
217
+ ## Build Order
218
+
219
+ Oracle -> Coordinator -> Analyst -> Sentinel -> Brain -> Launcher -> Scout
220
+
221
+ ## Starter Configurations
222
+
223
+ - Minimum viable: Oracle + Coordinator (2 agents)
224
+ - Intelligence: Oracle + Brain + Coordinator (3 agents)
225
+ - Monitoring: Oracle + Analyst + Sentinel + Coordinator (4 agents)
226
+ - Full Genesis: All 7
227
+
228
+ ## Cross-Holdings
229
+
230
+ Agents buy each other's tokens for economic alignment.
231
+
232
+ ## Token Lifecycle
233
+
234
+ 1. Deploy on Agentverse
235
+ 2. Tokenize on AgentLaunch (120 FET deploy fee)
236
+ 3. Bonding curve active (2% fee to protocol treasury, NO creator fee)
237
+ 4. At 30,000 FET -> auto DEX listing (graduation)
121
238
  `,
122
239
  "api-design.md": `# API Design Rules
123
240
 
@@ -187,6 +304,32 @@ Build, deploy, and tokenize an agent in one guided flow.
187
304
  ## Platform Fees
188
305
  - Deploy: 120 FET (paid by human signer)
189
306
  - Trading: 2% to protocol treasury
307
+ `,
308
+ "build-swarm/SKILL.md": `# /build-swarm — Deploy Agent Swarm
309
+
310
+ Scaffold, deploy, and tokenize a multi-agent swarm with the genesis template.
311
+
312
+ ## Steps
313
+
314
+ 1. Ask user what swarm they want (name, roles, purpose)
315
+ 2. Show the 7 available presets: oracle, brain, analyst, coordinator, sentinel, launcher, scout
316
+ 3. Let user pick roles (or suggest a starter configuration)
317
+ 4. For each role:
318
+ a. Scaffold from genesis template with preset variables
319
+ b. Deploy to Agentverse
320
+ c. Tokenize on AgentLaunch
321
+ 5. Return handoff links for each agent
322
+
323
+ ## Starter Configurations
324
+
325
+ - Minimum viable: Oracle + Coordinator (2 agents)
326
+ - Intelligence: Oracle + Brain + Coordinator (3 agents)
327
+ - Monitoring: Oracle + Analyst + Sentinel + Coordinator (4 agents)
328
+ - Full Genesis: All 7
329
+
330
+ ## Platform Fees
331
+ - Deploy: 120 FET per agent (paid by human signer)
332
+ - Trading: 2% to protocol treasury (NO creator fee)
190
333
  `,
191
334
  "deploy/SKILL.md": `# /deploy — Deploy to Agentverse
192
335
 
@@ -256,8 +399,12 @@ export const DOCS = {
256
399
  # Set API key
257
400
  export AGENTVERSE_API_KEY=av-xxx
258
401
 
259
- # Create agent project
260
- npx agentlaunch-cli create
402
+ # Create agent project (genesis template recommended)
403
+ npx agentlaunch-cli create --type genesis
404
+
405
+ # Or deploy a full swarm
406
+ npx agentlaunch-cli create --type genesis --preset oracle
407
+ npx agentlaunch-cli create --type genesis --preset brain
261
408
 
262
409
  # Or use SDK
263
410
  npm install agentlaunch-sdk
@@ -274,7 +421,7 @@ Agents never hold private keys:
274
421
  ## Platform Constants
275
422
  - Deploy fee: 120 FET
276
423
  - Graduation: 30,000 FET -> DEX listing
277
- - Trading fee: 2% to protocol
424
+ - Trading fee: 2% to protocol treasury (NO creator fee)
278
425
  `,
279
426
  "sdk-reference.md": `# SDK Reference
280
427
 
@@ -295,6 +442,13 @@ import {
295
442
  generateBuyLink, // Create buy URL
296
443
  generateSellLink, // Create sell URL
297
444
  deployAgent, // Deploy to Agentverse
445
+ getAgentRevenue, // Get agent revenue data
446
+ getPricingTable, // Get agent pricing table
447
+ getNetworkGDP, // Get swarm GDP metrics
448
+ listStorage, // List agent storage keys
449
+ getStorage, // Get agent storage value
450
+ putStorage, // Set agent storage value
451
+ deleteStorage, // Delete agent storage key
298
452
  } from 'agentlaunch-sdk';
299
453
  \`\`\`
300
454
 
@@ -348,7 +502,8 @@ Already configured in \`.claude/settings.json\`.
348
502
 
349
503
  | Tool | Description |
350
504
  |------|-------------|
351
- | \`scaffold_agent\` | Generate agent code |
505
+ | \`scaffold_agent\` | Generate agent code from template |
506
+ | \`scaffold_genesis\` | Scaffold agent from genesis preset |
352
507
  | \`deploy_to_agentverse\` | Deploy agent |
353
508
  | \`create_token_record\` | Create token |
354
509
  | \`list_tokens\` | Browse tokens |
@@ -356,6 +511,9 @@ Already configured in \`.claude/settings.json\`.
356
511
  | \`calculate_buy\` | Preview buy |
357
512
  | \`calculate_sell\` | Preview sell |
358
513
  | \`get_trade_link\` | Generate trade URL |
514
+ | \`check_agent_commerce\` | Revenue, pricing, balance for an agent |
515
+ | \`network_status\` | Swarm GDP, per-agent health |
516
+ | \`deploy_swarm\` | Deploy multiple agents as a swarm |
359
517
 
360
518
  ## Example Prompts
361
519
 
@@ -363,6 +521,8 @@ Already configured in \`.claude/settings.json\`.
363
521
  - "Deploy my agent to Agentverse"
364
522
  - "Tokenize my agent as $MYTOKEN"
365
523
  - "Show trending tokens"
524
+ - "Deploy an Oracle + Brain + Analyst swarm"
525
+ - "Check my swarm's GDP"
366
526
  `,
367
527
  };
368
528
  // ---------------------------------------------------------------------------
@@ -395,7 +555,7 @@ watches = {}
395
555
 
396
556
  def fetch_price(token_address: str) -> float | None:
397
557
  try:
398
- r = requests.get(f"{API_URL}/agents/token/{token_address}", timeout=10)
558
+ r = requests.get(f"{API_URL}/tokens/address/{token_address}", timeout=10)
399
559
  if r.ok:
400
560
  return float(r.json().get("price", 0))
401
561
  except:
@@ -465,7 +625,7 @@ price_history = {}
465
625
 
466
626
  def get_signal(addr: str) -> str:
467
627
  try:
468
- r = requests.get(f"{API_URL}/agents/token/{addr}", timeout=10)
628
+ r = requests.get(f"{API_URL}/tokens/address/{addr}", timeout=10)
469
629
  if r.ok:
470
630
  data = r.json()
471
631
  price = float(data.get("price", 0))
@@ -541,7 +701,7 @@ HF_TOKEN = os.environ.get("HF_TOKEN", "")
541
701
 
542
702
  def get_token_data(addr: str) -> dict:
543
703
  try:
544
- r = requests.get(f"{API_URL}/agents/token/{addr}", timeout=10)
704
+ r = requests.get(f"{API_URL}/tokens/address/{addr}", timeout=10)
545
705
  if r.ok:
546
706
  return r.json()
547
707
  except:
@@ -647,6 +807,106 @@ export function buildPackageJson(name) {
647
807
  }, null, 2) + "\n";
648
808
  }
649
809
  // ---------------------------------------------------------------------------
810
+ // CLAUDE.md builder for scaffolded projects
811
+ // ---------------------------------------------------------------------------
812
+ export function buildClaudeMd(name) {
813
+ return `# ${name} — AgentLaunch Agent
814
+
815
+ ## What This Is
816
+
817
+ An AI agent built with the AgentLaunch Toolkit. It runs on Agentverse and
818
+ has a tradeable ERC-20 token on the bonding curve.
819
+
820
+ ## Authentication
821
+
822
+ **The Agentverse API key is already configured in \`.env\`** — do NOT ask the user for it again.
823
+ To deploy or tokenize, simply run the commands below. The SDK and CLI read from \`.env\` automatically.
824
+
825
+ ## Templates
826
+
827
+ | Template | Description | Use Case |
828
+ |----------|-------------|----------|
829
+ | \`genesis\` | **Full commerce stack** (recommended) | Any agent that charges for services |
830
+ | \`custom\` | Blank Chat Protocol boilerplate | Start from scratch |
831
+ | \`price-monitor\` | Watch token prices, send alerts | Monitoring service |
832
+ | \`trading-bot\` | Buy/sell signal generation | Trading service |
833
+ | \`data-analyzer\` | On-chain data analysis | Analytics service |
834
+ | \`research\` | Deep dives and reports | Research service |
835
+ | \`gifter\` | Treasury wallet + rewards | Community incentives |
836
+
837
+ ## Agent Swarms
838
+
839
+ The genesis template generates agents with a complete commerce stack:
840
+ - PaymentService, PricingTable, TierManager (charge for services)
841
+ - WalletManager, RevenueTracker (track revenue)
842
+ - SelfAwareMixin (token price awareness)
843
+ - HoldingsManager (buy/sell other tokens)
844
+
845
+ ### Presets
846
+ 7 pre-configured roles: oracle, brain, analyst, coordinator, sentinel, launcher, scout.
847
+ Use presets for instant configuration.
848
+
849
+ ## Quick Commands
850
+
851
+ - \`npm run deploy\` — Deploy to Agentverse
852
+ - \`npm run tokenize\` — Create token + handoff link
853
+ - \`npm run status\` — Check status
854
+
855
+ ## Key Files
856
+
857
+ - \`agent.py\` — Your agent code (edit this!)
858
+ - \`CLAUDE.md\` — This file
859
+ - \`docs/\` — SDK, CLI, MCP documentation
860
+ - \`examples/\` — Working code samples
861
+
862
+ ## SDK Reference
863
+
864
+ \`\`\`typescript
865
+ import {
866
+ tokenize, // Create token record
867
+ getToken, // Get token details
868
+ listTokens, // List all tokens
869
+ getTokenPrice, // Get current price
870
+ getTokenHolders, // Get holder list
871
+ generateDeployLink, // Create deploy URL
872
+ generateBuyLink, // Create buy URL
873
+ generateSellLink, // Create sell URL
874
+ deployAgent, // Deploy to Agentverse
875
+ getAgentRevenue, // Get agent revenue data
876
+ getPricingTable, // Get agent pricing table
877
+ getNetworkGDP, // Get swarm GDP metrics
878
+ listStorage, // List agent storage keys
879
+ getStorage, // Get agent storage value
880
+ putStorage, // Set agent storage value
881
+ deleteStorage, // Delete agent storage key
882
+ } from 'agentlaunch-sdk';
883
+ \`\`\`
884
+
885
+ ## MCP Tools
886
+
887
+ | Tool | Description |
888
+ |------|-------------|
889
+ | \`scaffold_agent\` | Generate agent code from template |
890
+ | \`scaffold_genesis\` | Scaffold agent from genesis preset |
891
+ | \`deploy_to_agentverse\` | Deploy agent |
892
+ | \`create_token_record\` | Create token |
893
+ | \`list_tokens\` | Browse tokens |
894
+ | \`get_token\` | Token details |
895
+ | \`calculate_buy\` | Preview buy |
896
+ | \`calculate_sell\` | Preview sell |
897
+ | \`get_trade_link\` | Generate trade URL |
898
+ | \`check_agent_commerce\` | Revenue, pricing, balance for an agent |
899
+ | \`network_status\` | Swarm GDP, per-agent health |
900
+ | \`deploy_swarm\` | Deploy multiple agents as a swarm |
901
+
902
+ ## Platform Constants
903
+
904
+ - Deploy fee: 120 FET
905
+ - Graduation: 30,000 FET liquidity -> auto DEX listing
906
+ - Trading fee: 2% to protocol treasury (NO creator fee)
907
+ `;
908
+ }
909
+ // ---------------------------------------------------------------------------
650
910
  // Cursor IDE config
651
911
  // ---------------------------------------------------------------------------
652
912
  export const CURSOR_MCP_CONFIG = JSON.stringify({
@@ -677,10 +937,17 @@ This is an AgentLaunch agent project. Use the MCP tools to build, deploy, and to
677
937
  - \`docs/\` - SDK, CLI, MCP documentation
678
938
  - \`examples/\` - Working code samples
679
939
 
940
+ ## Genesis Template (Recommended)
941
+
942
+ Use the genesis template for agents with a full commerce stack:
943
+ - Payment handling, pricing tables, revenue tracking
944
+ - Token-gated tiers, wallet management
945
+ - 7 presets: oracle, brain, analyst, coordinator, sentinel, launcher, scout
946
+
680
947
  ## Platform Constants
681
948
 
682
949
  - Deploy fee: 120 FET
683
950
  - Graduation: 30,000 FET liquidity
684
- - Trading fee: 2% to protocol treasury
951
+ - Trading fee: 2% to protocol treasury (NO creator fee)
685
952
  `;
686
953
  //# sourceMappingURL=claude-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-context.js","sourceRoot":"","sources":["../src/claude-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-context.js","sourceRoot":"","sources":["../src/claude-context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,8EAA8E;AAC9E,qCAAqC;AACrC,8EAA8E;AAE9E,MAAM,CAAC,MAAM,KAAK,GAA2B;IAC3C,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CnB;IAEC,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BlB;IAEC,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoEvB;IAEC,qBAAqB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CxB;IAEC,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCvB;IAEC,eAAe,EAAE;;;;;;;;;;;;;;;;;;;CAmBlB;IAEC,uBAAuB,EAAE;;;;;;;;;;;;;CAa1B;IAEC,YAAY,EAAE;;;;;;;;;;;;CAYf;CACA,CAAC;AAEF,8EAA8E;AAC9E,mCAAmC;AACnC,8EAA8E;AAE9E,MAAM,CAAC,MAAM,MAAM,GAA2B;IAC5C,sBAAsB,EAAE;;;;;;;;;;;;;;;;CAgBzB;IAEC,sBAAsB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;CAyBzB;IAEC,iBAAiB,EAAE;;;;;;;;;;;;;;;;;CAiBpB;IAEC,mBAAmB,EAAE;;;;;;;;;;;CAWtB;IAEC,iBAAiB,EAAE;;;;;;;;;;CAUpB;IAEC,iBAAiB,EAAE;;;;;;;;;CASpB;CACA,CAAC;AAEF,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E,MAAM,CAAC,MAAM,IAAI,GAA2B;IAC1C,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCvB;IAEC,kBAAkB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCrB;IAEC,kBAAkB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;CAwBrB;IAEC,cAAc,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCjB;CACA,CAAC;AAEF,8EAA8E;AAC9E,uCAAuC;AACvC,8EAA8E;AAE9E,MAAM,CAAC,MAAM,QAAQ,GAA2B;IAC9C,kBAAkB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqErB;IAEC,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6EvB;IAEC,mBAAmB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6EtB;IAEC,iBAAiB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BpB;CACA,CAAC;AAEF,8EAA8E;AAC9E,uCAAuC;AACvC,8EAA8E;AAE9E,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,IAAI,CAAC,SAAS,CACnB;QACE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;QACpD,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,GAAG,IAAI,sBAAsB;QAC1C,OAAO,EAAE;YACP,MAAM,EAAE,oBAAoB;YAC5B,QAAQ,EAAE,sBAAsB;YAChC,MAAM,EAAE,oBAAoB;YAC5B,IAAI,EAAE,kBAAkB;SACzB;QACD,YAAY,EAAE;YACZ,iBAAiB,EAAE,QAAQ;SAC5B;QACD,eAAe,EAAE;YACf,iBAAiB,EAAE,QAAQ;SAC5B;KACF,EACD,IAAI,EACJ,CAAC,CACF,GAAG,IAAI,CAAC;AACX,CAAC;AAED,8EAA8E;AAC9E,4CAA4C;AAC5C,8EAA8E;AAE9E,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,KAAK,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8FjB,CAAC;AACF,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAC7C;IACE,UAAU,EAAE;QACV,cAAc,EAAE;YACd,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC;YAChC,GAAG,EAAE;gBACH,kBAAkB,EAAE,uBAAuB;aAC5C;SACF;KACF;CACF,EACD,IAAI,EACJ,CAAC,CACF,GAAG,IAAI,CAAC;AAET,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6B3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAsBH,MAAM,WAAW,cAAc;IAC7B,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,cAAc,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AA0dD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,OAAO,GAAE,eAAmC,GAC3C,cAAc,CAoBhB"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAsBH,MAAM,WAAW,cAAc;IAC7B,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,cAAc,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AA4dD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,OAAO,GAAE,eAAmC,GAC3C,cAAc,CAoBhB"}
package/dist/generator.js CHANGED
@@ -238,19 +238,21 @@ AgentLaunch is a token launchpad for AI agents on Fetch.ai. Agents can:
238
238
 
239
239
  | Endpoint | Method | Auth | Description |
240
240
  |----------|--------|------|-------------|
241
- | \`/agents/tokens\` | GET | No | List all tokens |
242
- | \`/agents/token/:address\` | GET | No | Get token details |
241
+ | \`/tokens\` | GET | No | List all tokens |
242
+ | \`/tokens/address/{address}\` | GET | No | Get token details |
243
243
  | \`/agents/tokenize\` | POST | API Key | Create token record |
244
244
  | \`/tokens/calculate-buy\` | GET | No | Preview buy outcome |
245
245
  | \`/tokens/calculate-sell\` | GET | No | Preview sell outcome |
246
- | \`/comments/:address\` | GET/POST | POST needs key | Token comments |
246
+ | \`/comments/{address}\` | GET/POST | POST needs key | Token comments |
247
247
  | \`/platform/stats\` | GET | No | Platform statistics |
248
248
 
249
249
  ### Authentication
250
250
 
251
- Set \`AGENTLAUNCH_API_KEY\` (or \`AGENTVERSE_API_KEY\`) in your environment.
251
+ **If this project was created with \`agentlaunch create\`, your API key is already in \`.env\`.**
252
+ Do NOT ask the user for the key again — check \`.env\` first.
253
+
252
254
  The key is sent as \`X-API-Key\` header on authenticated requests.
253
- Get a key at: https://agentverse.ai/profile/api-keys
255
+ New keys: https://agentverse.ai/profile/api-keys
254
256
 
255
257
  ## SDK Reference (agentlaunch-sdk)
256
258
 
@@ -258,8 +260,8 @@ Get a key at: https://agentverse.ai/profile/api-keys
258
260
  import {
259
261
  // Token operations
260
262
  tokenize, // POST /agents/tokenize -> { token_id, handoff_link }
261
- getToken, // GET /agents/token/:address -> Token
262
- listTokens, // GET /agents/tokens -> { tokens, total }
263
+ getToken, // GET /tokens/address/{address} -> Token
264
+ listTokens, // GET /tokens -> { tokens, total }
263
265
 
264
266
  // Market data
265
267
  calculateBuy, // Preview buy: FET amount -> tokens received
@@ -467,7 +469,7 @@ function buildAgentlaunchConfig(template, vars) {
467
469
  export function generateFromTemplate(templateName, variables, options = { variables: {} }) {
468
470
  const template = getTemplate(templateName);
469
471
  if (!template) {
470
- const available = ["custom", "price-monitor", "trading-bot", "data-analyzer", "research", "gifter"];
472
+ const available = ["genesis", "custom", "price-monitor", "trading-bot", "data-analyzer", "research", "gifter"];
471
473
  throw new Error(`Template "${templateName}" not found. Available templates: ${available.join(", ")}`);
472
474
  }
473
475
  const strict = options.strict ?? false;
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -35,8 +35,10 @@
35
35
  * });
36
36
  */
37
37
  export type { AgentTemplate, TemplateVariable } from "./registry.js";
38
- export { listTemplates, getTemplate } from "./registry.js";
38
+ export { listTemplates, getTemplate, getCanonicalName } from "./registry.js";
39
39
  export type { GenerateResult, GenerateOptions } from "./generator.js";
40
40
  export { generateFromTemplate } from "./generator.js";
41
+ export type { Preset } from "./presets.js";
42
+ export { getPreset, listPresets } from "./presets.js";
41
43
  export { RULES, SKILLS, DOCS, EXAMPLES, buildPackageJson, CURSOR_MCP_CONFIG, CURSOR_RULES } from "./claude-context.js";
42
44
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAGH,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG3D,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGtD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAGH,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAG7E,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGtD,YAAY,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGtD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -34,8 +34,9 @@
34
34
  * alert_threshold: "10",
35
35
  * });
36
36
  */
37
- export { listTemplates, getTemplate } from "./registry.js";
37
+ export { listTemplates, getTemplate, getCanonicalName } from "./registry.js";
38
38
  export { generateFromTemplate } from "./generator.js";
39
+ export { getPreset, listPresets } from "./presets.js";
39
40
  // Re-export Claude context (rules, skills, docs, examples, package.json, cursor config)
40
41
  export { RULES, SKILLS, DOCS, EXAMPLES, buildPackageJson, CURSOR_MCP_CONFIG, CURSOR_RULES } from "./claude-context.js";
41
42
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAIH,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,wFAAwF;AACxF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAIH,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAI7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAItD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEtD,wFAAwF;AACxF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * presets.ts — Pre-configured Genesis Network agent presets
3
+ *
4
+ * Each preset maps to a specific role in the Genesis swarm: oracle, brain,
5
+ * analyst, coordinator, sentinel, launcher, scout. Presets provide sensible
6
+ * defaults for pricing, intervals, dependencies, and secrets so users can
7
+ * spin up a fully-configured agent with a single command.
8
+ *
9
+ * Usage:
10
+ * import { getPreset, listPresets } from "agentlaunch-templates";
11
+ * const oracle = getPreset("oracle");
12
+ * generateFromTemplate("genesis", { ...oracle.variables, agent_name: "MyOracle" });
13
+ */
14
+ export interface Preset {
15
+ /** Unique slug — e.g. "oracle" */
16
+ name: string;
17
+ /** Display name — e.g. "Oracle ($DATA)" */
18
+ displayName: string;
19
+ /** Token symbol — e.g. "DATA" */
20
+ symbol: string;
21
+ /** One-line description */
22
+ description: string;
23
+ /** Matches the `role` template variable */
24
+ role: string;
25
+ /** Service name -> price in atestfet */
26
+ pricing: Record<string, number>;
27
+ /** Background task interval in seconds */
28
+ intervalSeconds: number;
29
+ /** Agent roles this preset consumes (dependencies) */
30
+ dependencies: string[];
31
+ /** Extra secrets needed beyond the base set */
32
+ secrets: string[];
33
+ /** Template variable overrides (merged with user-supplied variables) */
34
+ variables: Record<string, string>;
35
+ }
36
+ /**
37
+ * Returns a preset by name, or undefined if not found.
38
+ *
39
+ * @example
40
+ * const oracle = getPreset("oracle");
41
+ * if (oracle) {
42
+ * generateFromTemplate("genesis", { ...oracle.variables, agent_name: "MyOracle" });
43
+ * }
44
+ */
45
+ export declare function getPreset(name: string): Preset | undefined;
46
+ /**
47
+ * Returns a copy of all available presets.
48
+ */
49
+ export declare function listPresets(): Preset[];
50
+ //# sourceMappingURL=presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,MAAM,WAAW,MAAM;IACrB,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,0CAA0C;IAC1C,eAAe,EAAE,MAAM,CAAC;IACxB,sDAAsD;IACtD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AA+KD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE1D;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,EAAE,CAEtC"}