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
@@ -0,0 +1,194 @@
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
+ // ---------------------------------------------------------------------------
15
+ // Preset definitions
16
+ // ---------------------------------------------------------------------------
17
+ // 1 FET = 1_000_000_000_000_000_000 atestfet (10^18)
18
+ // Price shortcuts:
19
+ // 0.001 FET = 1_000_000_000_000_000
20
+ // 0.0005 FET = 500_000_000_000_000
21
+ // 0.002 FET = 2_000_000_000_000_000
22
+ // 0.005 FET = 5_000_000_000_000_000
23
+ // 0.01 FET = 10_000_000_000_000_000
24
+ // 0.02 FET = 20_000_000_000_000_000
25
+ const PRESETS = [
26
+ {
27
+ name: "oracle",
28
+ displayName: "Oracle ($DATA)",
29
+ symbol: "DATA",
30
+ description: "Market data provider — price feeds, OHLC history, and market summaries for the swarm",
31
+ role: "oracle",
32
+ pricing: {
33
+ price_feed: 1_000_000_000_000_000, // 0.001 FET
34
+ ohlc_history: 1_000_000_000_000_000, // 0.001 FET
35
+ market_summary: 1_000_000_000_000_000, // 0.001 FET
36
+ },
37
+ intervalSeconds: 300,
38
+ dependencies: [],
39
+ secrets: [],
40
+ variables: {
41
+ role: "oracle",
42
+ description: "Market data oracle — price feeds, OHLC history, and market summaries",
43
+ service_price_afet: "1000000000000000",
44
+ interval_seconds: "300",
45
+ },
46
+ },
47
+ {
48
+ name: "brain",
49
+ displayName: "Brain ($THINK)",
50
+ symbol: "THINK",
51
+ description: "LLM reasoning engine — query classification, summarization, and deep analysis",
52
+ role: "brain",
53
+ pricing: {
54
+ reason: 10_000_000_000_000_000, // 0.01 FET
55
+ classify: 10_000_000_000_000_000, // 0.01 FET
56
+ summarize: 10_000_000_000_000_000, // 0.01 FET
57
+ },
58
+ intervalSeconds: 300,
59
+ dependencies: [],
60
+ secrets: ["HF_TOKEN"],
61
+ variables: {
62
+ role: "brain",
63
+ description: "LLM reasoning engine — query classification, summarization, and deep analysis",
64
+ service_price_afet: "10000000000000000",
65
+ interval_seconds: "300",
66
+ },
67
+ },
68
+ {
69
+ name: "analyst",
70
+ displayName: "Analyst ($SCORE)",
71
+ symbol: "SCORE",
72
+ description: "Token scoring engine — quality evaluation, risk assessment, and ranking",
73
+ role: "analyst",
74
+ pricing: {
75
+ score_token: 5_000_000_000_000_000, // 0.005 FET
76
+ evaluate_quality: 5_000_000_000_000_000, // 0.005 FET
77
+ rank_tokens: 5_000_000_000_000_000, // 0.005 FET
78
+ },
79
+ intervalSeconds: 300,
80
+ dependencies: ["oracle"],
81
+ secrets: [],
82
+ variables: {
83
+ role: "analyst",
84
+ description: "Token scoring engine — quality evaluation, risk assessment, and ranking",
85
+ service_price_afet: "5000000000000000",
86
+ interval_seconds: "300",
87
+ },
88
+ },
89
+ {
90
+ name: "coordinator",
91
+ displayName: "Coordinator ($ROUTE)",
92
+ symbol: "ROUTE",
93
+ description: "Query router — discovers agents, routes queries to the right specialist",
94
+ role: "coordinator",
95
+ pricing: {
96
+ route_query: 500_000_000_000_000, // 0.0005 FET
97
+ discover_agents: 500_000_000_000_000, // 0.0005 FET
98
+ },
99
+ intervalSeconds: 300,
100
+ dependencies: ["oracle", "brain"],
101
+ secrets: [],
102
+ variables: {
103
+ role: "coordinator",
104
+ description: "Query router — discovers agents, routes queries to the right specialist",
105
+ service_price_afet: "500000000000000",
106
+ interval_seconds: "300",
107
+ },
108
+ },
109
+ {
110
+ name: "sentinel",
111
+ displayName: "Sentinel ($ALERT)",
112
+ symbol: "ALERT",
113
+ description: "Real-time watchdog — monitors tokens, detects anomalies, sends alerts",
114
+ role: "sentinel",
115
+ pricing: {
116
+ monitor: 2_000_000_000_000_000, // 0.002 FET
117
+ alert: 2_000_000_000_000_000, // 0.002 FET
118
+ anomaly_report: 2_000_000_000_000_000, // 0.002 FET
119
+ },
120
+ intervalSeconds: 60,
121
+ dependencies: ["oracle"],
122
+ secrets: [],
123
+ variables: {
124
+ role: "sentinel",
125
+ description: "Real-time watchdog — monitors tokens, detects anomalies, sends alerts",
126
+ service_price_afet: "2000000000000000",
127
+ interval_seconds: "60",
128
+ },
129
+ },
130
+ {
131
+ name: "launcher",
132
+ displayName: "Launcher ($LAUNCH)",
133
+ symbol: "LAUNCH",
134
+ description: "Gap finder — discovers unmet needs, scaffolds new agents, recommends deployments",
135
+ role: "launcher",
136
+ pricing: {
137
+ find_gap: 20_000_000_000_000_000, // 0.02 FET
138
+ scaffold_agent: 20_000_000_000_000_000, // 0.02 FET
139
+ deploy_recommendation: 20_000_000_000_000_000, // 0.02 FET
140
+ },
141
+ intervalSeconds: 300,
142
+ dependencies: ["analyst", "coordinator"],
143
+ secrets: [],
144
+ variables: {
145
+ role: "launcher",
146
+ description: "Gap finder — discovers unmet needs, scaffolds new agents, recommends deployments",
147
+ service_price_afet: "20000000000000000",
148
+ interval_seconds: "300",
149
+ },
150
+ },
151
+ {
152
+ name: "scout",
153
+ displayName: "Scout ($FIND)",
154
+ symbol: "FIND",
155
+ description: "Agent scout — discovers promising agents, evaluates quality, recommends tokenization",
156
+ role: "scout",
157
+ pricing: {
158
+ discover_agents: 10_000_000_000_000_000, // 0.01 FET
159
+ evaluate_agent: 10_000_000_000_000_000, // 0.01 FET
160
+ tokenize_recommendation: 10_000_000_000_000_000, // 0.01 FET
161
+ },
162
+ intervalSeconds: 300,
163
+ dependencies: ["analyst"],
164
+ secrets: [],
165
+ variables: {
166
+ role: "scout",
167
+ description: "Agent scout — discovers promising agents, evaluates quality, recommends tokenization",
168
+ service_price_afet: "10000000000000000",
169
+ interval_seconds: "300",
170
+ },
171
+ },
172
+ ];
173
+ // ---------------------------------------------------------------------------
174
+ // Public API
175
+ // ---------------------------------------------------------------------------
176
+ /**
177
+ * Returns a preset by name, or undefined if not found.
178
+ *
179
+ * @example
180
+ * const oracle = getPreset("oracle");
181
+ * if (oracle) {
182
+ * generateFromTemplate("genesis", { ...oracle.variables, agent_name: "MyOracle" });
183
+ * }
184
+ */
185
+ export function getPreset(name) {
186
+ return PRESETS.find((p) => p.name === name);
187
+ }
188
+ /**
189
+ * Returns a copy of all available presets.
190
+ */
191
+ export function listPresets() {
192
+ return [...PRESETS];
193
+ }
194
+ //# sourceMappingURL=presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.js","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"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"}
@@ -38,12 +38,25 @@ export interface AgentTemplate {
38
38
  */
39
39
  export declare function listTemplates(): AgentTemplate[];
40
40
  /**
41
- * Looks up a template by its `name` slug.
41
+ * Looks up a template by its `name` slug or alias.
42
42
  * Returns `undefined` if no template with that name exists.
43
43
  *
44
+ * Supports aliases: "swarm-starter" resolves to the genesis template.
45
+ * Legacy name "genesis" continues to work.
46
+ *
44
47
  * @example
45
- * const tpl = getTemplate("price-monitor");
48
+ * const tpl = getTemplate("swarm-starter"); // recommended
49
+ * const tpl2 = getTemplate("genesis"); // legacy alias
46
50
  * if (!tpl) throw new Error("Template not found");
47
51
  */
48
52
  export declare function getTemplate(name: string): AgentTemplate | undefined;
53
+ /**
54
+ * Returns the canonical user-facing name for a template.
55
+ * Maps internal names to their preferred user-facing equivalents.
56
+ *
57
+ * @example
58
+ * getCanonicalName("genesis") // => "swarm-starter"
59
+ * getCanonicalName("custom") // => "custom"
60
+ */
61
+ export declare function getCanonicalName(internalName: string): string;
49
62
  //# sourceMappingURL=registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAaH,MAAM,WAAW,gBAAgB;IAC/B,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,8DAA8D;IAC9D,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,wEAAwE;IACxE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;CACd;AAmBD;;;GAGG;AACH,wBAAgB,aAAa,IAAI,aAAa,EAAE,CAE/C;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAEnE"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAcH,MAAM,WAAW,gBAAgB;IAC/B,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,8DAA8D;IAC9D,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,wEAAwE;IACxE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;CACd;AA8BD;;;GAGG;AACH,wBAAgB,aAAa,IAAI,aAAa,EAAE,CAE/C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAInE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAQ7D"}
package/dist/registry.js CHANGED
@@ -6,6 +6,7 @@
6
6
  * 1. Creating src/templates/<name>.ts exporting `template: AgentTemplate`
7
7
  * 2. Importing and adding to TEMPLATES below
8
8
  */
9
+ import { template as genesisTemplate } from "./templates/genesis.js";
9
10
  import { template as customTemplate } from "./templates/custom.js";
10
11
  import { template as priceMonitorTemplate } from "./templates/price-monitor.js";
11
12
  import { template as tradingBotTemplate } from "./templates/trading-bot.js";
@@ -16,6 +17,7 @@ import { template as gifterTemplate } from "./templates/gifter.js";
16
17
  // Internal registry
17
18
  // ---------------------------------------------------------------------------
18
19
  const TEMPLATES = [
20
+ genesisTemplate,
19
21
  customTemplate,
20
22
  priceMonitorTemplate,
21
23
  tradingBotTemplate,
@@ -23,6 +25,15 @@ const TEMPLATES = [
23
25
  researchTemplate,
24
26
  gifterTemplate,
25
27
  ];
28
+ /**
29
+ * Template aliases for backward compatibility and renaming.
30
+ * Maps user-facing names to internal template names.
31
+ * "swarm-starter" is the primary user-facing name for the genesis template.
32
+ * "genesis" is kept as a legacy alias.
33
+ */
34
+ const TEMPLATE_ALIASES = {
35
+ "swarm-starter": "genesis",
36
+ };
26
37
  // ---------------------------------------------------------------------------
27
38
  // Public API
28
39
  // ---------------------------------------------------------------------------
@@ -34,14 +45,37 @@ export function listTemplates() {
34
45
  return [...TEMPLATES];
35
46
  }
36
47
  /**
37
- * Looks up a template by its `name` slug.
48
+ * Looks up a template by its `name` slug or alias.
38
49
  * Returns `undefined` if no template with that name exists.
39
50
  *
51
+ * Supports aliases: "swarm-starter" resolves to the genesis template.
52
+ * Legacy name "genesis" continues to work.
53
+ *
40
54
  * @example
41
- * const tpl = getTemplate("price-monitor");
55
+ * const tpl = getTemplate("swarm-starter"); // recommended
56
+ * const tpl2 = getTemplate("genesis"); // legacy alias
42
57
  * if (!tpl) throw new Error("Template not found");
43
58
  */
44
59
  export function getTemplate(name) {
45
- return TEMPLATES.find((t) => t.name === name);
60
+ // Resolve alias to internal template name, or use as-is
61
+ const internalName = TEMPLATE_ALIASES[name] ?? name;
62
+ return TEMPLATES.find((t) => t.name === internalName);
63
+ }
64
+ /**
65
+ * Returns the canonical user-facing name for a template.
66
+ * Maps internal names to their preferred user-facing equivalents.
67
+ *
68
+ * @example
69
+ * getCanonicalName("genesis") // => "swarm-starter"
70
+ * getCanonicalName("custom") // => "custom"
71
+ */
72
+ export function getCanonicalName(internalName) {
73
+ // Find if this internal name has a user-facing alias
74
+ for (const [alias, target] of Object.entries(TEMPLATE_ALIASES)) {
75
+ if (target === internalName) {
76
+ return alias;
77
+ }
78
+ }
79
+ return internalName;
46
80
  }
47
81
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,QAAQ,IAAI,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,QAAQ,IAAI,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAkCnE,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,MAAM,SAAS,GAAoB;IACjC,cAAc;IACd,oBAAoB;IACpB,kBAAkB;IAClB,oBAAoB;IACpB,gBAAgB;IAChB,cAAc;CACf,CAAC;AAEF,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC;AACxB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,QAAQ,IAAI,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,QAAQ,IAAI,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAkCnE,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,MAAM,SAAS,GAAoB;IACjC,eAAe;IACf,cAAc;IACd,oBAAoB;IACpB,kBAAkB;IAClB,oBAAoB;IACpB,gBAAgB;IAChB,cAAc;CACf,CAAC;AAEF;;;;;GAKG;AACH,MAAM,gBAAgB,GAA2B;IAC/C,eAAe,EAAE,SAAS;CAC3B,CAAC;AAEF,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC;AACxB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,wDAAwD;IACxD,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IACpD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,YAAoB;IACnD,qDAAqD;IACrD,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC/D,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * genesis.ts — Genesis Network template: full commerce stack for agent swarms
3
+ *
4
+ * This is the flagship template for the AgentLaunch platform. It generates a
5
+ * production-ready agent with an inline commerce engine: payments, pricing,
6
+ * tiers, revenue tracking, self-awareness (own token metrics), and cross-holdings.
7
+ *
8
+ * Layers (bottom to top):
9
+ * 1. Logger — structured logging with audit trail
10
+ * 2. Security — rate limiting, input validation
11
+ * 3. Health — uptime, error rate tracking
12
+ * 4. Cache — in-memory TTL cache
13
+ * 5. Revenue/Tier — PricingTable, TierManager
14
+ * 6. Commerce — PaymentService, WalletManager, RevenueTracker
15
+ * 7. SelfAware — token price/holder awareness
16
+ * 8. Holdings — HoldingsManager for cross-token operations
17
+ * 9. SwarmBusiness — YOUR LOGIC HERE
18
+ *
19
+ * Platform constants (source of truth: deployed smart contracts):
20
+ * - Deploy fee: 120 FET (read dynamically, can change via multi-sig)
21
+ * - Graduation target: 30,000 FET -> auto DEX listing
22
+ * - Trading fee: 2% -> 100% to protocol treasury (NO creator fee)
23
+ */
24
+ import type { AgentTemplate } from "../registry.js";
25
+ export declare const template: AgentTemplate;
26
+ //# sourceMappingURL=genesis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"genesis.d.ts","sourceRoot":"","sources":["../../src/templates/genesis.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAQpD,eAAO,MAAM,QAAQ,EAAE,aAipCtB,CAAC"}