agentlaunch-templates 0.2.7 → 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.
- package/dist/__tests__/build.test.d.ts +12 -0
- package/dist/__tests__/build.test.d.ts.map +1 -0
- package/dist/__tests__/build.test.js +134 -0
- package/dist/__tests__/build.test.js.map +1 -0
- package/dist/__tests__/genesis-integration.test.d.ts +12 -0
- package/dist/__tests__/genesis-integration.test.d.ts.map +1 -0
- package/dist/__tests__/genesis-integration.test.js +143 -0
- package/dist/__tests__/genesis-integration.test.js.map +1 -0
- package/dist/__tests__/genesis.test.d.ts +16 -0
- package/dist/__tests__/genesis.test.d.ts.map +1 -0
- package/dist/__tests__/genesis.test.js +312 -0
- package/dist/__tests__/genesis.test.js.map +1 -0
- package/dist/claude-context.d.ts +2 -1
- package/dist/claude-context.d.ts.map +1 -1
- package/dist/claude-context.js +279 -10
- package/dist/claude-context.js.map +1 -1
- package/dist/generator.d.ts.map +1 -1
- package/dist/generator.js +10 -8
- package/dist/generator.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/presets.d.ts +50 -0
- package/dist/presets.d.ts.map +1 -0
- package/dist/presets.js +194 -0
- package/dist/presets.js.map +1 -0
- package/dist/registry.d.ts +15 -2
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +37 -3
- package/dist/registry.js.map +1 -1
- package/dist/templates/genesis.d.ts +26 -0
- package/dist/templates/genesis.d.ts.map +1 -0
- package/dist/templates/genesis.js +1197 -0
- package/dist/templates/genesis.js.map +1 -0
- package/dist/templates/gifter.d.ts.map +1 -1
- package/dist/templates/gifter.js +7 -3
- package/dist/templates/gifter.js.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for Genesis template and Presets system — TST-01
|
|
3
|
+
*
|
|
4
|
+
* Verifies:
|
|
5
|
+
* - Genesis template generates valid output with basic variables
|
|
6
|
+
* - All 7 presets generate valid code via generateFromTemplate("genesis", ...)
|
|
7
|
+
* - Variable substitution replaces all expected placeholders
|
|
8
|
+
* - Generated code contains required markers and imports
|
|
9
|
+
* - Commerce layers (PaymentService, PricingTable, TierManager) present
|
|
10
|
+
* - Strict mode throws on missing required variables
|
|
11
|
+
* - Default values are used when only agent_name is provided
|
|
12
|
+
* - getTemplate("genesis") returns the template metadata
|
|
13
|
+
* - listTemplates() includes genesis and it is first in the list
|
|
14
|
+
*/
|
|
15
|
+
import { describe, it } from 'node:test';
|
|
16
|
+
import assert from 'node:assert/strict';
|
|
17
|
+
import { generateFromTemplate } from '../generator.js';
|
|
18
|
+
import { getTemplate, listTemplates } from '../registry.js';
|
|
19
|
+
import { getPreset, listPresets } from '../presets.js';
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
// Constants
|
|
22
|
+
// ---------------------------------------------------------------------------
|
|
23
|
+
const PRESET_NAMES = [
|
|
24
|
+
'oracle',
|
|
25
|
+
'brain',
|
|
26
|
+
'analyst',
|
|
27
|
+
'coordinator',
|
|
28
|
+
'sentinel',
|
|
29
|
+
'launcher',
|
|
30
|
+
'scout',
|
|
31
|
+
];
|
|
32
|
+
// ---------------------------------------------------------------------------
|
|
33
|
+
// Genesis template registration
|
|
34
|
+
// ---------------------------------------------------------------------------
|
|
35
|
+
describe('Genesis template — registration', () => {
|
|
36
|
+
it('getTemplate("genesis") returns a valid template object', () => {
|
|
37
|
+
const tpl = getTemplate('genesis');
|
|
38
|
+
assert.ok(tpl, 'genesis template should exist in the registry');
|
|
39
|
+
assert.equal(tpl.name, 'genesis');
|
|
40
|
+
assert.ok(tpl.description, 'template should have a description');
|
|
41
|
+
assert.ok(tpl.category, 'template should have a category');
|
|
42
|
+
assert.ok(Array.isArray(tpl.variables), 'template should have variables array');
|
|
43
|
+
assert.ok(typeof tpl.code === 'string', 'template should have code string');
|
|
44
|
+
});
|
|
45
|
+
it('listTemplates() includes genesis', () => {
|
|
46
|
+
const templates = listTemplates();
|
|
47
|
+
const names = templates.map((t) => t.name);
|
|
48
|
+
assert.ok(names.includes('genesis'), `genesis should be in list: ${names.join(', ')}`);
|
|
49
|
+
});
|
|
50
|
+
it('genesis is first in the template list', () => {
|
|
51
|
+
const templates = listTemplates();
|
|
52
|
+
assert.equal(templates[0].name, 'genesis', `First template should be genesis, got: ${templates[0].name}`);
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
// ---------------------------------------------------------------------------
|
|
56
|
+
// Basic generation
|
|
57
|
+
// ---------------------------------------------------------------------------
|
|
58
|
+
describe('Genesis template — basic generation', () => {
|
|
59
|
+
it('generates valid output with agent_name', () => {
|
|
60
|
+
const result = generateFromTemplate('genesis', {
|
|
61
|
+
agent_name: 'TestAgent',
|
|
62
|
+
});
|
|
63
|
+
assert.ok(result.code, 'should produce code');
|
|
64
|
+
assert.ok(result.readme, 'should produce readme');
|
|
65
|
+
assert.ok(result.envExample, 'should produce envExample');
|
|
66
|
+
assert.ok(result.claudeMd, 'should produce claudeMd');
|
|
67
|
+
assert.ok(result.claudeSettings, 'should produce claudeSettings');
|
|
68
|
+
assert.ok(result.agentlaunchConfig, 'should produce agentlaunchConfig');
|
|
69
|
+
});
|
|
70
|
+
it('code output is non-empty Python', () => {
|
|
71
|
+
const result = generateFromTemplate('genesis', {
|
|
72
|
+
agent_name: 'TestAgent',
|
|
73
|
+
});
|
|
74
|
+
assert.ok(result.code.length > 100, 'code should be substantial');
|
|
75
|
+
// Python import check
|
|
76
|
+
assert.ok(result.code.includes('from uagents import Agent, Context'), 'code should contain uagents import');
|
|
77
|
+
});
|
|
78
|
+
it('readme mentions the agent name', () => {
|
|
79
|
+
const result = generateFromTemplate('genesis', {
|
|
80
|
+
agent_name: 'MyGenesisBot',
|
|
81
|
+
});
|
|
82
|
+
assert.ok(result.readme.includes('MyGenesisBot'), 'readme should mention agent_name');
|
|
83
|
+
});
|
|
84
|
+
it('envExample lists required environment variables', () => {
|
|
85
|
+
const result = generateFromTemplate('genesis', {
|
|
86
|
+
agent_name: 'TestAgent',
|
|
87
|
+
});
|
|
88
|
+
assert.ok(result.envExample.includes('AGENTVERSE_API_KEY'), 'envExample should include AGENTVERSE_API_KEY');
|
|
89
|
+
});
|
|
90
|
+
it('agentlaunchConfig references the genesis template', () => {
|
|
91
|
+
const result = generateFromTemplate('genesis', {
|
|
92
|
+
agent_name: 'TestAgent',
|
|
93
|
+
});
|
|
94
|
+
const config = JSON.parse(result.agentlaunchConfig);
|
|
95
|
+
assert.equal(config.template, 'genesis', 'config should reference genesis template');
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
// ---------------------------------------------------------------------------
|
|
99
|
+
// Variable substitution
|
|
100
|
+
// ---------------------------------------------------------------------------
|
|
101
|
+
describe('Genesis template — variable substitution', () => {
|
|
102
|
+
it('replaces {{agent_name}} in the code', () => {
|
|
103
|
+
const result = generateFromTemplate('genesis', {
|
|
104
|
+
agent_name: 'AlphaOracle',
|
|
105
|
+
});
|
|
106
|
+
assert.ok(result.code.includes('AlphaOracle'), 'code should contain the agent name');
|
|
107
|
+
assert.ok(!result.code.includes('{{agent_name}}'), 'code should not contain raw {{agent_name}} placeholder');
|
|
108
|
+
});
|
|
109
|
+
it('replaces {{description}} in the code', () => {
|
|
110
|
+
const result = generateFromTemplate('genesis', {
|
|
111
|
+
agent_name: 'TestBot',
|
|
112
|
+
description: 'A custom description for testing',
|
|
113
|
+
});
|
|
114
|
+
assert.ok(result.code.includes('A custom description for testing'), 'code should contain the description');
|
|
115
|
+
});
|
|
116
|
+
it('replaces {{role}} in the code', () => {
|
|
117
|
+
const result = generateFromTemplate('genesis', {
|
|
118
|
+
agent_name: 'TestBot',
|
|
119
|
+
role: 'data-oracle',
|
|
120
|
+
});
|
|
121
|
+
assert.ok(result.code.includes('data-oracle'), 'code should contain the role');
|
|
122
|
+
});
|
|
123
|
+
it('replaces {{service_price_afet}} in the code', () => {
|
|
124
|
+
const result = generateFromTemplate('genesis', {
|
|
125
|
+
agent_name: 'TestBot',
|
|
126
|
+
service_price_afet: '5000000000000000',
|
|
127
|
+
});
|
|
128
|
+
assert.ok(result.code.includes('5000000000000000'), 'code should contain the service price');
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
// ---------------------------------------------------------------------------
|
|
132
|
+
// Required code markers
|
|
133
|
+
// ---------------------------------------------------------------------------
|
|
134
|
+
describe('Genesis template — required code markers', () => {
|
|
135
|
+
it('contains YOUR SWARM LOGIC marker', () => {
|
|
136
|
+
const result = generateFromTemplate('genesis', {
|
|
137
|
+
agent_name: 'TestBot',
|
|
138
|
+
});
|
|
139
|
+
assert.ok(result.code.includes('YOUR SWARM LOGIC'), 'code should contain YOUR SWARM LOGIC marker for customization');
|
|
140
|
+
});
|
|
141
|
+
it('contains required uagents import', () => {
|
|
142
|
+
const result = generateFromTemplate('genesis', {
|
|
143
|
+
agent_name: 'TestBot',
|
|
144
|
+
});
|
|
145
|
+
assert.ok(result.code.includes('from uagents import Agent, Context'), 'code should import Agent and Context from uagents');
|
|
146
|
+
});
|
|
147
|
+
it('contains ChatAcknowledgement handler', () => {
|
|
148
|
+
const result = generateFromTemplate('genesis', {
|
|
149
|
+
agent_name: 'TestBot',
|
|
150
|
+
});
|
|
151
|
+
assert.ok(result.code.includes('ChatAcknowledgement'), 'code should include ChatAcknowledgement handler');
|
|
152
|
+
});
|
|
153
|
+
it('contains publish_manifest=True', () => {
|
|
154
|
+
const result = generateFromTemplate('genesis', {
|
|
155
|
+
agent_name: 'TestBot',
|
|
156
|
+
});
|
|
157
|
+
assert.ok(result.code.includes('publish_manifest=True'), 'code should include publish_manifest=True in agent.include()');
|
|
158
|
+
});
|
|
159
|
+
it('uses datetime.now() not datetime.utcnow()', () => {
|
|
160
|
+
const result = generateFromTemplate('genesis', {
|
|
161
|
+
agent_name: 'TestBot',
|
|
162
|
+
});
|
|
163
|
+
// Should use datetime.now()
|
|
164
|
+
assert.ok(result.code.includes('datetime.now()'), 'code should use datetime.now()');
|
|
165
|
+
// Should NOT use the deprecated datetime.utcnow()
|
|
166
|
+
assert.ok(!result.code.includes('datetime.utcnow()'), 'code should not use deprecated datetime.utcnow()');
|
|
167
|
+
});
|
|
168
|
+
});
|
|
169
|
+
// ---------------------------------------------------------------------------
|
|
170
|
+
// Commerce layers
|
|
171
|
+
// ---------------------------------------------------------------------------
|
|
172
|
+
describe('Genesis template — commerce layers', () => {
|
|
173
|
+
it('contains PaymentService', () => {
|
|
174
|
+
const result = generateFromTemplate('genesis', {
|
|
175
|
+
agent_name: 'TestBot',
|
|
176
|
+
});
|
|
177
|
+
assert.ok(result.code.includes('PaymentService'), 'code should include PaymentService class');
|
|
178
|
+
});
|
|
179
|
+
it('contains PricingTable', () => {
|
|
180
|
+
const result = generateFromTemplate('genesis', {
|
|
181
|
+
agent_name: 'TestBot',
|
|
182
|
+
});
|
|
183
|
+
assert.ok(result.code.includes('PricingTable'), 'code should include PricingTable class');
|
|
184
|
+
});
|
|
185
|
+
it('contains TierManager', () => {
|
|
186
|
+
const result = generateFromTemplate('genesis', {
|
|
187
|
+
agent_name: 'TestBot',
|
|
188
|
+
});
|
|
189
|
+
assert.ok(result.code.includes('TierManager'), 'code should include TierManager class');
|
|
190
|
+
});
|
|
191
|
+
it('contains RevenueTracker', () => {
|
|
192
|
+
const result = generateFromTemplate('genesis', {
|
|
193
|
+
agent_name: 'TestBot',
|
|
194
|
+
});
|
|
195
|
+
assert.ok(result.code.includes('RevenueTracker'), 'code should include RevenueTracker for GDP tracking');
|
|
196
|
+
});
|
|
197
|
+
});
|
|
198
|
+
// ---------------------------------------------------------------------------
|
|
199
|
+
// Strict mode
|
|
200
|
+
// ---------------------------------------------------------------------------
|
|
201
|
+
describe('Genesis template — strict mode', () => {
|
|
202
|
+
it('throws when strict is true and agent_name is missing', () => {
|
|
203
|
+
assert.throws(() => generateFromTemplate('genesis', {}, { variables: {}, strict: true }), /agent_name/i, 'should throw mentioning agent_name');
|
|
204
|
+
});
|
|
205
|
+
it('does not throw when strict is false and agent_name is missing', () => {
|
|
206
|
+
assert.doesNotThrow(() => generateFromTemplate('genesis', {}, { variables: {}, strict: false }), 'should not throw in non-strict mode');
|
|
207
|
+
});
|
|
208
|
+
it('leaves placeholder when strict is false and required var is missing', () => {
|
|
209
|
+
const result = generateFromTemplate('genesis', {}, { variables: {}, strict: false });
|
|
210
|
+
// The unresolved placeholder should remain
|
|
211
|
+
assert.ok(result.code.includes('{{agent_name}}'), 'unresolved placeholder should remain in non-strict mode');
|
|
212
|
+
});
|
|
213
|
+
});
|
|
214
|
+
// ---------------------------------------------------------------------------
|
|
215
|
+
// Default values
|
|
216
|
+
// ---------------------------------------------------------------------------
|
|
217
|
+
describe('Genesis template — default values', () => {
|
|
218
|
+
it('uses default values when only agent_name is provided', () => {
|
|
219
|
+
const result = generateFromTemplate('genesis', {
|
|
220
|
+
agent_name: 'MinimalAgent',
|
|
221
|
+
});
|
|
222
|
+
// Code should be valid (no raw {{...}} placeholders for defaulted vars)
|
|
223
|
+
// agent_name is provided, all other vars should use defaults
|
|
224
|
+
assert.ok(result.code.includes('MinimalAgent'), 'agent_name should be substituted');
|
|
225
|
+
// The code should not have unresolved required placeholders
|
|
226
|
+
// (description may have a default, role may have a default, etc.)
|
|
227
|
+
// Check that most template variables with defaults are resolved
|
|
228
|
+
const unresolvedCount = (result.code.match(/\{\{\w+\}\}/g) || []).length;
|
|
229
|
+
// Some optional vars without defaults may remain, but required ones with defaults should be resolved
|
|
230
|
+
assert.ok(unresolvedCount === 0, `Should have no unresolved placeholders, found ${unresolvedCount}: ${(result.code.match(/\{\{\w+\}\}/g) || []).join(', ')}`);
|
|
231
|
+
});
|
|
232
|
+
});
|
|
233
|
+
// ---------------------------------------------------------------------------
|
|
234
|
+
// Presets
|
|
235
|
+
// ---------------------------------------------------------------------------
|
|
236
|
+
describe('Presets — listPresets()', () => {
|
|
237
|
+
it('returns an array of presets', () => {
|
|
238
|
+
const presets = listPresets();
|
|
239
|
+
assert.ok(Array.isArray(presets), 'listPresets() should return an array');
|
|
240
|
+
assert.ok(presets.length >= 7, `should have at least 7 presets, got ${presets.length}`);
|
|
241
|
+
});
|
|
242
|
+
it('each preset has required fields', () => {
|
|
243
|
+
const presets = listPresets();
|
|
244
|
+
for (const preset of presets) {
|
|
245
|
+
assert.ok(preset.name, `preset should have name`);
|
|
246
|
+
assert.ok(preset.displayName, `preset ${preset.name} should have displayName`);
|
|
247
|
+
assert.ok(preset.symbol, `preset ${preset.name} should have symbol`);
|
|
248
|
+
assert.ok(preset.description, `preset ${preset.name} should have description`);
|
|
249
|
+
assert.ok(preset.role, `preset ${preset.name} should have role`);
|
|
250
|
+
assert.ok(preset.variables, `preset ${preset.name} should have variables`);
|
|
251
|
+
assert.ok(typeof preset.variables === 'object', `preset ${preset.name} variables should be an object`);
|
|
252
|
+
}
|
|
253
|
+
});
|
|
254
|
+
it('includes all 7 seed agent presets', () => {
|
|
255
|
+
const presets = listPresets();
|
|
256
|
+
const presetNames = presets.map((p) => p.name);
|
|
257
|
+
for (const expected of PRESET_NAMES) {
|
|
258
|
+
assert.ok(presetNames.includes(expected), `should include "${expected}" preset. Available: ${presetNames.join(', ')}`);
|
|
259
|
+
}
|
|
260
|
+
});
|
|
261
|
+
});
|
|
262
|
+
describe('Presets — getPreset()', () => {
|
|
263
|
+
it('returns a preset for each known name', () => {
|
|
264
|
+
for (const name of PRESET_NAMES) {
|
|
265
|
+
const preset = getPreset(name);
|
|
266
|
+
assert.ok(preset, `getPreset("${name}") should return a preset`);
|
|
267
|
+
assert.equal(preset.name, name);
|
|
268
|
+
}
|
|
269
|
+
});
|
|
270
|
+
it('returns undefined for an unknown preset name', () => {
|
|
271
|
+
const preset = getPreset('nonexistent-preset-xyz');
|
|
272
|
+
assert.equal(preset, undefined, 'unknown preset should return undefined');
|
|
273
|
+
});
|
|
274
|
+
it('oracle preset has expected structure', () => {
|
|
275
|
+
const oracle = getPreset('oracle');
|
|
276
|
+
assert.ok(oracle, 'oracle preset should exist');
|
|
277
|
+
assert.ok(oracle.displayName, 'oracle should have displayName');
|
|
278
|
+
assert.ok(oracle.symbol, 'oracle should have symbol');
|
|
279
|
+
assert.ok(oracle.description, 'oracle should have description');
|
|
280
|
+
assert.ok(oracle.role, 'oracle should have role');
|
|
281
|
+
assert.ok(oracle.variables.agent_name, 'oracle variables should include agent_name');
|
|
282
|
+
});
|
|
283
|
+
});
|
|
284
|
+
// ---------------------------------------------------------------------------
|
|
285
|
+
// All presets generate valid code
|
|
286
|
+
// ---------------------------------------------------------------------------
|
|
287
|
+
describe('Presets — all presets generate valid genesis code', () => {
|
|
288
|
+
for (const presetName of PRESET_NAMES) {
|
|
289
|
+
it(`preset "${presetName}" generates valid code from genesis template`, () => {
|
|
290
|
+
const preset = getPreset(presetName);
|
|
291
|
+
assert.ok(preset, `preset "${presetName}" should exist`);
|
|
292
|
+
const result = generateFromTemplate('genesis', preset.variables);
|
|
293
|
+
// Basic validity checks
|
|
294
|
+
assert.ok(result.code, `${presetName}: should produce code`);
|
|
295
|
+
assert.ok(result.code.length > 100, `${presetName}: code should be substantial`);
|
|
296
|
+
// Should contain the preset's agent name
|
|
297
|
+
assert.ok(result.code.includes(preset.variables.agent_name), `${presetName}: code should contain the agent name "${preset.variables.agent_name}"`);
|
|
298
|
+
// Should have required imports
|
|
299
|
+
assert.ok(result.code.includes('from uagents import'), `${presetName}: code should have uagents import`);
|
|
300
|
+
// No unresolved placeholders
|
|
301
|
+
const unresolved = result.code.match(/\{\{\w+\}\}/g) || [];
|
|
302
|
+
assert.equal(unresolved.length, 0, `${presetName}: should have no unresolved placeholders, found: ${unresolved.join(', ')}`);
|
|
303
|
+
// Should produce all expected files
|
|
304
|
+
assert.ok(result.readme, `${presetName}: should produce readme`);
|
|
305
|
+
assert.ok(result.envExample, `${presetName}: should produce envExample`);
|
|
306
|
+
assert.ok(result.claudeMd, `${presetName}: should produce claudeMd`);
|
|
307
|
+
assert.ok(result.claudeSettings, `${presetName}: should produce claudeSettings`);
|
|
308
|
+
assert.ok(result.agentlaunchConfig, `${presetName}: should produce agentlaunchConfig`);
|
|
309
|
+
});
|
|
310
|
+
}
|
|
311
|
+
});
|
|
312
|
+
//# sourceMappingURL=genesis.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"genesis.test.js","sourceRoot":"","sources":["../../src/__tests__/genesis.test.ts"],"names":[],"mappings":"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"}
|
package/dist/claude-context.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export declare const SKILLS: Record<string, string>;
|
|
|
9
9
|
export declare const DOCS: Record<string, string>;
|
|
10
10
|
export declare const EXAMPLES: Record<string, string>;
|
|
11
11
|
export declare function buildPackageJson(name: string): string;
|
|
12
|
+
export declare function buildClaudeMd(name: string): string;
|
|
12
13
|
export declare const CURSOR_MCP_CONFIG: string;
|
|
13
|
-
export declare const CURSOR_RULES = "# AgentLaunch Agent Project\n\nThis is an AgentLaunch agent project. Use the MCP tools to build, deploy, and tokenize.\n\n## Quick Commands\n\n- `npm run deploy` - Deploy to Agentverse\n- `npm run tokenize` - Create token + handoff link\n- `npm run status` - Check status\n\n## Key Files\n\n- `agent.py` - Your agent code (edit this!)\n- `CLAUDE.md` - Full context for Claude\n- `docs/` - SDK, CLI, MCP documentation\n- `examples/` - Working code samples\n\n## Platform Constants\n\n- Deploy fee: 120 FET\n- Graduation: 30,000 FET liquidity\n- Trading fee: 2% to protocol treasury\n";
|
|
14
|
+
export declare const CURSOR_RULES = "# AgentLaunch Agent Project\n\nThis is an AgentLaunch agent project. Use the MCP tools to build, deploy, and tokenize.\n\n## Quick Commands\n\n- `npm run deploy` - Deploy to Agentverse\n- `npm run tokenize` - Create token + handoff link\n- `npm run status` - Check status\n\n## Key Files\n\n- `agent.py` - Your agent code (edit this!)\n- `CLAUDE.md` - Full context for Claude\n- `docs/` - SDK, CLI, MCP documentation\n- `examples/` - Working code samples\n\n## Genesis Template (Recommended)\n\nUse the genesis template for agents with a full commerce stack:\n- Payment handling, pricing tables, revenue tracking\n- Token-gated tiers, wallet management\n- 7 presets: oracle, brain, analyst, coordinator, sentinel, launcher, scout\n\n## Platform Constants\n\n- Deploy fee: 120 FET\n- Graduation: 30,000 FET liquidity\n- Trading fee: 2% to protocol treasury (NO creator fee)\n";
|
|
14
15
|
//# sourceMappingURL=claude-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-context.d.ts","sourceRoot":"","sources":["../src/claude-context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"claude-context.d.ts","sourceRoot":"","sources":["../src/claude-context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA2RxC,CAAC;AAMF,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAoGzC,CAAC;AAMF,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA6IvC,CAAC;AAMF,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAkQ3C,CAAC;AAMF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAsBrD;AAMD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgGlD;AAMD,eAAO,MAAM,iBAAiB,QActB,CAAC;AAET,eAAO,MAAM,YAAY,+2BA6BxB,CAAC"}
|