agentlaunch-templates 0.4.3 → 0.4.4

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 (47) hide show
  1. package/dist/__tests__/build.test.d.ts +1 -1
  2. package/dist/__tests__/build.test.js +5 -5
  3. package/dist/__tests__/build.test.js.map +1 -1
  4. package/dist/__tests__/consumer-commerce.test.d.ts +11 -0
  5. package/dist/__tests__/consumer-commerce.test.d.ts.map +1 -0
  6. package/dist/__tests__/consumer-commerce.test.js +118 -0
  7. package/dist/__tests__/consumer-commerce.test.js.map +1 -0
  8. package/dist/__tests__/swarm-starter-integration.test.d.ts +12 -0
  9. package/dist/__tests__/swarm-starter-integration.test.d.ts.map +1 -0
  10. package/dist/__tests__/swarm-starter-integration.test.js +143 -0
  11. package/dist/__tests__/swarm-starter-integration.test.js.map +1 -0
  12. package/dist/__tests__/swarm-starter.test.d.ts +16 -0
  13. package/dist/__tests__/swarm-starter.test.d.ts.map +1 -0
  14. package/dist/__tests__/swarm-starter.test.js +310 -0
  15. package/dist/__tests__/swarm-starter.test.js.map +1 -0
  16. package/dist/claude-context.d.ts +1 -1
  17. package/dist/claude-context.d.ts.map +1 -1
  18. package/dist/claude-context.js +55 -49
  19. package/dist/claude-context.js.map +1 -1
  20. package/dist/index.d.ts +2 -0
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +1 -0
  23. package/dist/index.js.map +1 -1
  24. package/dist/people.d.ts +108 -0
  25. package/dist/people.d.ts.map +1 -0
  26. package/dist/people.js +563 -0
  27. package/dist/people.js.map +1 -0
  28. package/dist/presets.d.ts +13 -13
  29. package/dist/presets.d.ts.map +1 -1
  30. package/dist/presets.js +331 -96
  31. package/dist/presets.js.map +1 -1
  32. package/dist/registry.d.ts +3 -8
  33. package/dist/registry.d.ts.map +1 -1
  34. package/dist/registry.js +8 -28
  35. package/dist/registry.js.map +1 -1
  36. package/dist/templates/consumer-commerce.d.ts +14 -0
  37. package/dist/templates/consumer-commerce.d.ts.map +1 -0
  38. package/dist/templates/consumer-commerce.js +439 -0
  39. package/dist/templates/consumer-commerce.js.map +1 -0
  40. package/dist/templates/genesis.d.ts.map +1 -1
  41. package/dist/templates/genesis.js +10 -0
  42. package/dist/templates/genesis.js.map +1 -1
  43. package/dist/templates/swarm-starter.d.ts +26 -0
  44. package/dist/templates/swarm-starter.d.ts.map +1 -0
  45. package/dist/templates/swarm-starter.js +1421 -0
  46. package/dist/templates/swarm-starter.js.map +1 -0
  47. package/package.json +3 -2
@@ -4,7 +4,7 @@
4
4
  * Verifies:
5
5
  * - All packages export correctly (no import errors)
6
6
  * - No TypeScript errors (verified by compilation)
7
- * - Genesis template and presets are accessible
7
+ * - Swarm-starter template and presets are accessible
8
8
  * - SDK storage and commerce modules are accessible
9
9
  * - Existing functionality is not broken by new modules
10
10
  */
@@ -4,7 +4,7 @@
4
4
  * Verifies:
5
5
  * - All packages export correctly (no import errors)
6
6
  * - No TypeScript errors (verified by compilation)
7
- * - Genesis template and presets are accessible
7
+ * - Swarm-starter template and presets are accessible
8
8
  * - SDK storage and commerce modules are accessible
9
9
  * - Existing functionality is not broken by new modules
10
10
  */
@@ -37,7 +37,7 @@ describe('Build verification — templates package', () => {
37
37
  assert.ok(typeof mod['getPreset'] === 'function');
38
38
  assert.ok(typeof mod['listPresets'] === 'function');
39
39
  });
40
- it('listTemplates returns at least 7 templates (6 original + genesis)', async () => {
40
+ it('listTemplates returns at least 7 templates (6 original + swarm-starter)', async () => {
41
41
  const { listTemplates } = await import('../registry.js');
42
42
  const templates = listTemplates();
43
43
  assert.ok(templates.length >= 7, `should have at least 7 templates, got ${templates.length}`);
@@ -58,10 +58,10 @@ describe('Build verification — templates package', () => {
58
58
  assert.ok(names.includes(name), `original template "${name}" should still be present. Available: ${names.join(', ')}`);
59
59
  }
60
60
  });
61
- it('genesis template is present', async () => {
61
+ it('swarm-starter template is present', async () => {
62
62
  const { getTemplate } = await import('../registry.js');
63
- const genesis = getTemplate('genesis');
64
- assert.ok(genesis, 'genesis template should be registered');
63
+ const swarmStarter = getTemplate('swarm-starter');
64
+ assert.ok(swarmStarter, 'swarm-starter template should be registered');
65
65
  });
66
66
  });
67
67
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"build.test.js","sourceRoot":"","sources":["../../src/__tests__/build.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.test.js","sourceRoot":"","sources":["../../src/__tests__/build.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Tests for the consumer-commerce template and presets.
3
+ *
4
+ * Verifies:
5
+ * - Template is registered and accessible
6
+ * - Template generates valid Python code with variable substitution
7
+ * - All 4 consumer presets exist and have correct structure
8
+ * - Presets produce valid template output
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=consumer-commerce.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consumer-commerce.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/consumer-commerce.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Tests for the consumer-commerce template and presets.
3
+ *
4
+ * Verifies:
5
+ * - Template is registered and accessible
6
+ * - Template generates valid Python code with variable substitution
7
+ * - All 4 consumer presets exist and have correct structure
8
+ * - Presets produce valid template output
9
+ */
10
+ import { describe, it } from 'node:test';
11
+ import assert from 'node:assert/strict';
12
+ describe('consumer-commerce template', () => {
13
+ it('is registered in the template registry', async () => {
14
+ const { getTemplate } = await import('../registry.js');
15
+ const tmpl = getTemplate('consumer-commerce');
16
+ assert.ok(tmpl, 'consumer-commerce template should exist');
17
+ assert.equal(tmpl.name, 'consumer-commerce');
18
+ assert.equal(tmpl.category, 'Commerce');
19
+ });
20
+ it('appears in listTemplates()', async () => {
21
+ const { listTemplates } = await import('../registry.js');
22
+ const all = listTemplates();
23
+ const names = all.map((t) => t.name);
24
+ assert.ok(names.includes('consumer-commerce'), 'Should be in template list');
25
+ });
26
+ it('has the expected variables', async () => {
27
+ const { getTemplate } = await import('../registry.js');
28
+ const tmpl = getTemplate('consumer-commerce');
29
+ const varNames = tmpl.variables.map((v) => v.name);
30
+ assert.ok(varNames.includes('agent_name'));
31
+ assert.ok(varNames.includes('description'));
32
+ assert.ok(varNames.includes('service_price_fet'));
33
+ assert.ok(varNames.includes('service_price_usdc'));
34
+ assert.ok(varNames.includes('accepted_tokens'));
35
+ assert.ok(varNames.includes('enable_fiat_onramp'));
36
+ assert.ok(varNames.includes('enable_invoices'));
37
+ assert.ok(varNames.includes('enable_delegation'));
38
+ });
39
+ it('generates valid Python code with variable substitution', async () => {
40
+ const { generateFromTemplate } = await import('../generator.js');
41
+ const result = generateFromTemplate('consumer-commerce', {
42
+ agent_name: 'TestPayAgent',
43
+ description: 'A test payment agent',
44
+ service_price_fet: '0.01',
45
+ service_price_usdc: '0.05',
46
+ accepted_tokens: 'FET,USDC',
47
+ enable_fiat_onramp: 'true',
48
+ enable_invoices: 'true',
49
+ enable_delegation: 'true',
50
+ });
51
+ assert.ok(result.code, 'Should generate code');
52
+ assert.ok(result.code.includes('TestPayAgent'), 'Should substitute agent_name');
53
+ assert.ok(result.code.includes('A test payment agent'), 'Should substitute description');
54
+ assert.ok(result.code.includes('MultiTokenPricingTable'), 'Should include MultiTokenPricingTable');
55
+ assert.ok(result.code.includes('InvoiceManager'), 'Should include InvoiceManager');
56
+ assert.ok(result.code.includes('FiatOnrampHelper'), 'Should include FiatOnrampHelper');
57
+ assert.ok(result.code.includes('DelegationChecker'), 'Should include DelegationChecker');
58
+ assert.ok(result.code.includes('chat_protocol_spec'), 'Should use chat protocol');
59
+ assert.ok(result.code.includes('publish_manifest=True'), 'Should have publish_manifest');
60
+ });
61
+ it('generated code does not contain unsubstituted variables', async () => {
62
+ const { generateFromTemplate } = await import('../generator.js');
63
+ const result = generateFromTemplate('consumer-commerce', {
64
+ agent_name: 'PayBot',
65
+ description: 'Payment bot',
66
+ });
67
+ // Check that no {{variable}} placeholders remain
68
+ const unsubstituted = result.code.match(/\{\{[a-z_]+\}\}/g);
69
+ assert.equal(unsubstituted, null, `Should have no unsubstituted variables, found: ${unsubstituted?.join(', ')}`);
70
+ });
71
+ });
72
+ describe('Consumer commerce presets', () => {
73
+ it('payment-processor preset exists', async () => {
74
+ const { getPreset } = await import('../presets.js');
75
+ const preset = getPreset('payment-processor');
76
+ assert.ok(preset, 'payment-processor preset should exist');
77
+ assert.equal(preset.symbol, 'PAY');
78
+ assert.ok(preset.variables.accepted_tokens?.includes('USDC'));
79
+ });
80
+ it('booking-agent preset exists', async () => {
81
+ const { getPreset } = await import('../presets.js');
82
+ const preset = getPreset('booking-agent');
83
+ assert.ok(preset, 'booking-agent preset should exist');
84
+ assert.equal(preset.symbol, 'BOOK');
85
+ });
86
+ it('subscription-manager preset exists', async () => {
87
+ const { getPreset } = await import('../presets.js');
88
+ const preset = getPreset('subscription-manager');
89
+ assert.ok(preset, 'subscription-manager preset should exist');
90
+ assert.equal(preset.symbol, 'SUB');
91
+ assert.equal(preset.variables.enable_delegation, 'true');
92
+ });
93
+ it('escrow-service preset exists', async () => {
94
+ const { getPreset } = await import('../presets.js');
95
+ const preset = getPreset('escrow-service');
96
+ assert.ok(preset, 'escrow-service preset should exist');
97
+ assert.equal(preset.symbol, 'ESCR');
98
+ });
99
+ it('all consumer presets appear in listPresets()', async () => {
100
+ const { listPresets } = await import('../presets.js');
101
+ const all = listPresets();
102
+ const names = all.map((p) => p.name);
103
+ assert.ok(names.includes('payment-processor'));
104
+ assert.ok(names.includes('booking-agent'));
105
+ assert.ok(names.includes('subscription-manager'));
106
+ assert.ok(names.includes('escrow-service'));
107
+ });
108
+ it('consumer presets have required variable keys', async () => {
109
+ const { listPresets } = await import('../presets.js');
110
+ const consumerPresets = listPresets().filter((p) => ['payment-processor', 'booking-agent', 'subscription-manager', 'escrow-service'].includes(p.name));
111
+ for (const preset of consumerPresets) {
112
+ assert.ok(preset.variables.service_price_fet, `${preset.name} should have service_price_fet`);
113
+ assert.ok(preset.variables.service_price_usdc, `${preset.name} should have service_price_usdc`);
114
+ assert.ok(preset.variables.accepted_tokens, `${preset.name} should have accepted_tokens`);
115
+ }
116
+ });
117
+ });
118
+ //# sourceMappingURL=consumer-commerce.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consumer-commerce.test.js","sourceRoot":"","sources":["../../src/__tests__/consumer-commerce.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Integration tests for Swarm-starter template generation
3
+ *
4
+ * These tests verify end-to-end template generation without needing
5
+ * an API key or network access. They exercise the full generateFromTemplate
6
+ * pipeline and preset system to ensure generated code is valid and
7
+ * meaningfully different across presets.
8
+ *
9
+ * Run with: npm test
10
+ */
11
+ export {};
12
+ //# sourceMappingURL=swarm-starter-integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swarm-starter-integration.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/swarm-starter-integration.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Integration tests for Swarm-starter template generation
3
+ *
4
+ * These tests verify end-to-end template generation without needing
5
+ * an API key or network access. They exercise the full generateFromTemplate
6
+ * pipeline and preset system to ensure generated code is valid and
7
+ * meaningfully different across presets.
8
+ *
9
+ * Run with: npm test
10
+ */
11
+ import { describe, it } from 'node:test';
12
+ import assert from 'node:assert/strict';
13
+ import { generateFromTemplate } from '../generator.js';
14
+ import { listPresets, getPreset } from '../presets.js';
15
+ import { listTemplates } from '../registry.js';
16
+ // ---------------------------------------------------------------------------
17
+ // Swarm-starter template generation
18
+ // ---------------------------------------------------------------------------
19
+ describe('Integration: Swarm-starter template generation', () => {
20
+ it('generates valid Python from swarm-starter template', () => {
21
+ const result = generateFromTemplate('swarm-starter', {
22
+ agent_name: 'TestAgent',
23
+ });
24
+ assert.ok(result.code.length > 100, 'code should be substantial');
25
+ assert.ok(result.code.includes('from uagents import'), 'code should contain uagents import');
26
+ assert.ok(result.code.includes('TestAgent'), 'code should contain the agent name');
27
+ });
28
+ it('generates all expected output files', () => {
29
+ const result = generateFromTemplate('swarm-starter', {
30
+ agent_name: 'OutputTest',
31
+ });
32
+ assert.ok(result.code, 'should produce code');
33
+ assert.ok(result.readme, 'should produce readme');
34
+ assert.ok(result.envExample, 'should produce envExample');
35
+ assert.ok(result.claudeMd, 'should produce claudeMd');
36
+ assert.ok(result.claudeSettings, 'should produce claudeSettings');
37
+ assert.ok(result.agentlaunchConfig, 'should produce agentlaunchConfig');
38
+ });
39
+ it('generates with each preset and produces unique code', () => {
40
+ const presets = listPresets();
41
+ const codes = new Set();
42
+ assert.ok(presets.length >= 7, `should have at least 7 presets, got ${presets.length}`);
43
+ for (const preset of presets) {
44
+ const result = generateFromTemplate('swarm-starter', {
45
+ ...preset.variables,
46
+ agent_name: `Test_${preset.name}`,
47
+ });
48
+ assert.ok(result.code.includes(`Test_${preset.name}`), `code for preset "${preset.name}" should contain agent name`);
49
+ // Capture a signature of the code (first 200 chars should differ by role/description)
50
+ codes.add(result.code.substring(0, 200));
51
+ }
52
+ // At least some should be different (role/description differ)
53
+ assert.ok(codes.size >= 3, `presets should produce meaningfully different code, got ${codes.size} unique signatures`);
54
+ });
55
+ it('strict mode rejects missing required variables', () => {
56
+ assert.throws(() => generateFromTemplate('swarm-starter', {}, { variables: {}, strict: true }), /agent_name/i, 'should throw mentioning agent_name');
57
+ });
58
+ it('non-strict mode leaves placeholder for missing required vars', () => {
59
+ const result = generateFromTemplate('swarm-starter', {}, { variables: {}, strict: false });
60
+ assert.ok(result.code.includes('{{agent_name}}'), 'unresolved agent_name placeholder should remain in non-strict mode');
61
+ });
62
+ it('generated code contains commerce layers', () => {
63
+ const result = generateFromTemplate('swarm-starter', {
64
+ agent_name: 'CommerceTest',
65
+ });
66
+ assert.ok(result.code.includes('PaymentService'), 'code should include PaymentService');
67
+ assert.ok(result.code.includes('PricingTable'), 'code should include PricingTable');
68
+ assert.ok(result.code.includes('TierManager'), 'code should include TierManager');
69
+ assert.ok(result.code.includes('RevenueTracker'), 'code should include RevenueTracker');
70
+ });
71
+ it('generated code follows Agentverse patterns', () => {
72
+ const result = generateFromTemplate('swarm-starter', {
73
+ agent_name: 'PatternTest',
74
+ });
75
+ assert.ok(result.code.includes('ChatAcknowledgement'), 'code should include ChatAcknowledgement handler');
76
+ assert.ok(result.code.includes('publish_manifest=True'), 'code should include publish_manifest=True');
77
+ assert.ok(result.code.includes('datetime.now()'), 'code should use datetime.now()');
78
+ assert.ok(!result.code.includes('datetime.utcnow()'), 'code should not use deprecated datetime.utcnow()');
79
+ });
80
+ it('generated code has no unresolved placeholders when agent_name is provided', () => {
81
+ const result = generateFromTemplate('swarm-starter', {
82
+ agent_name: 'FullyResolved',
83
+ });
84
+ const unresolved = result.code.match(/\{\{\w+\}\}/g) || [];
85
+ assert.equal(unresolved.length, 0, `should have no unresolved placeholders, found: ${unresolved.join(', ')}`);
86
+ });
87
+ });
88
+ // ---------------------------------------------------------------------------
89
+ // Preset round-trip through generator
90
+ // ---------------------------------------------------------------------------
91
+ describe('Integration: Preset -> Swarm-starter round-trip', () => {
92
+ const presetNames = [
93
+ 'writer',
94
+ 'social',
95
+ 'community',
96
+ 'analytics',
97
+ 'outreach',
98
+ 'ads',
99
+ 'strategy',
100
+ ];
101
+ for (const presetName of presetNames) {
102
+ it(`preset "${presetName}" generates complete project with zero unresolved placeholders`, () => {
103
+ const preset = getPreset(presetName);
104
+ assert.ok(preset, `preset "${presetName}" should exist`);
105
+ const result = generateFromTemplate('swarm-starter', {
106
+ ...preset.variables,
107
+ agent_name: `Integration_${presetName}`,
108
+ });
109
+ // Verify substantial code
110
+ assert.ok(result.code.length > 500, `${presetName}: code should be substantial`);
111
+ // Verify no unresolved placeholders
112
+ const unresolved = result.code.match(/\{\{\w+\}\}/g) || [];
113
+ assert.equal(unresolved.length, 0, `${presetName}: should have no unresolved placeholders, found: ${unresolved.join(', ')}`);
114
+ // Verify all output files exist
115
+ assert.ok(result.readme.length > 0, `${presetName}: readme should be non-empty`);
116
+ assert.ok(result.envExample.length > 0, `${presetName}: envExample should be non-empty`);
117
+ assert.ok(result.claudeMd.length > 0, `${presetName}: claudeMd should be non-empty`);
118
+ // Verify config references swarm-starter template
119
+ const config = JSON.parse(result.agentlaunchConfig);
120
+ assert.equal(config.template, 'swarm-starter', `${presetName}: config should reference swarm-starter template`);
121
+ });
122
+ }
123
+ });
124
+ // ---------------------------------------------------------------------------
125
+ // Template registry integration
126
+ // ---------------------------------------------------------------------------
127
+ describe('Integration: Template registry', () => {
128
+ it('all registered templates can generate code', () => {
129
+ const templates = listTemplates();
130
+ assert.ok(templates.length >= 7, `should have at least 7 templates, got ${templates.length}`);
131
+ for (const tpl of templates) {
132
+ // Generate with just agent_name (non-strict)
133
+ const result = generateFromTemplate(tpl.name, {
134
+ agent_name: `RegistryTest_${tpl.name}`,
135
+ });
136
+ assert.ok(result.code.length > 50, `template "${tpl.name}" should produce non-trivial code`);
137
+ }
138
+ });
139
+ it('unknown template name throws', () => {
140
+ assert.throws(() => generateFromTemplate('__nonexistent_template__', { agent_name: 'Test' }), /not found/i, 'should throw for unknown template');
141
+ });
142
+ });
143
+ //# sourceMappingURL=swarm-starter-integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swarm-starter-integration.test.js","sourceRoot":"","sources":["../../src/__tests__/swarm-starter-integration.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Tests for Swarm-starter template and Presets system — TST-01
3
+ *
4
+ * Verifies:
5
+ * - Swarm-starter template generates valid output with basic variables
6
+ * - All 7 presets generate valid code via generateFromTemplate("swarm-starter", ...)
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("swarm-starter") returns the template metadata
13
+ * - listTemplates() includes swarm-starter and it is first in the list
14
+ */
15
+ export {};
16
+ //# sourceMappingURL=swarm-starter.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swarm-starter.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/swarm-starter.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG"}