agentlaunch-templates 0.4.4 → 0.4.6

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 (49) hide show
  1. package/dist/__tests__/gaps.test.d.ts +11 -0
  2. package/dist/__tests__/gaps.test.d.ts.map +1 -0
  3. package/dist/__tests__/gaps.test.js +196 -0
  4. package/dist/__tests__/gaps.test.js.map +1 -0
  5. package/dist/__tests__/per-template.test.d.ts +8 -0
  6. package/dist/__tests__/per-template.test.d.ts.map +1 -0
  7. package/dist/__tests__/per-template.test.js +213 -0
  8. package/dist/__tests__/per-template.test.js.map +1 -0
  9. package/dist/claude-context.d.ts.map +1 -1
  10. package/dist/claude-context.js +1958 -211
  11. package/dist/claude-context.js.map +1 -1
  12. package/dist/people.d.ts.map +1 -1
  13. package/dist/people.js +2 -1
  14. package/dist/people.js.map +1 -1
  15. package/dist/templates/chat-memory.d.ts.map +1 -1
  16. package/dist/templates/chat-memory.js +9 -2
  17. package/dist/templates/chat-memory.js.map +1 -1
  18. package/dist/templates/consumer-commerce.js +1 -1
  19. package/dist/templates/custom.d.ts.map +1 -1
  20. package/dist/templates/custom.js +9 -2
  21. package/dist/templates/custom.js.map +1 -1
  22. package/dist/templates/data-analyzer.d.ts.map +1 -1
  23. package/dist/templates/data-analyzer.js +9 -2
  24. package/dist/templates/data-analyzer.js.map +1 -1
  25. package/dist/templates/gifter.d.ts.map +1 -1
  26. package/dist/templates/gifter.js +9 -2
  27. package/dist/templates/gifter.js.map +1 -1
  28. package/dist/templates/price-monitor.d.ts.map +1 -1
  29. package/dist/templates/price-monitor.js +9 -2
  30. package/dist/templates/price-monitor.js.map +1 -1
  31. package/dist/templates/research.d.ts.map +1 -1
  32. package/dist/templates/research.js +9 -2
  33. package/dist/templates/research.js.map +1 -1
  34. package/dist/templates/trading-bot.d.ts.map +1 -1
  35. package/dist/templates/trading-bot.js +9 -2
  36. package/dist/templates/trading-bot.js.map +1 -1
  37. package/package.json +1 -1
  38. package/dist/__tests__/genesis-integration.test.d.ts +0 -12
  39. package/dist/__tests__/genesis-integration.test.d.ts.map +0 -1
  40. package/dist/__tests__/genesis-integration.test.js +0 -143
  41. package/dist/__tests__/genesis-integration.test.js.map +0 -1
  42. package/dist/__tests__/genesis.test.d.ts +0 -16
  43. package/dist/__tests__/genesis.test.d.ts.map +0 -1
  44. package/dist/__tests__/genesis.test.js +0 -312
  45. package/dist/__tests__/genesis.test.js.map +0 -1
  46. package/dist/templates/genesis.d.ts +0 -26
  47. package/dist/templates/genesis.d.ts.map +0 -1
  48. package/dist/templates/genesis.js +0 -1319
  49. package/dist/templates/genesis.js.map +0 -1
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Coverage gap tests — TPL-R06, TPL-G05–G07, TPL-P03, TPL-P06
3
+ *
4
+ * Fills coverage gaps in the templates package:
5
+ * - Registry edge cases (nonexistent template lookup)
6
+ * - Generator edge cases (extra variables, keyword content, shortDescription)
7
+ * - C-Suite preset verification (ceo, cto, cfo, coo, cro)
8
+ * - Consumer commerce preset code generation
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=gaps.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gaps.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/gaps.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -0,0 +1,196 @@
1
+ /**
2
+ * Coverage gap tests — TPL-R06, TPL-G05–G07, TPL-P03, TPL-P06
3
+ *
4
+ * Fills coverage gaps in the templates package:
5
+ * - Registry edge cases (nonexistent template lookup)
6
+ * - Generator edge cases (extra variables, keyword content, shortDescription)
7
+ * - C-Suite preset verification (ceo, cto, cfo, coo, cro)
8
+ * - Consumer commerce preset code generation
9
+ */
10
+ import { describe, it } from 'node:test';
11
+ import assert from 'node:assert/strict';
12
+ import { getTemplate, listTemplates } from '../registry.js';
13
+ import { generateFromTemplate } from '../generator.js';
14
+ import { getPreset, listPresets } from '../presets.js';
15
+ // ---------------------------------------------------------------------------
16
+ // TPL-R06: Registry edge cases
17
+ // ---------------------------------------------------------------------------
18
+ describe('Template Registry — edge cases', () => {
19
+ it('TPL-R06: getTemplate("nonexistent") returns undefined', () => {
20
+ const result = getTemplate('nonexistent');
21
+ assert.equal(result, undefined, 'should return undefined for unknown template name');
22
+ });
23
+ it('TPL-R06: getTemplate with empty string returns undefined', () => {
24
+ const result = getTemplate('');
25
+ assert.equal(result, undefined, 'should return undefined for empty string');
26
+ });
27
+ it('TPL-R06: getTemplate with similar-but-wrong name returns undefined', () => {
28
+ const result = getTemplate('chat_memory'); // underscore instead of hyphen
29
+ assert.equal(result, undefined, 'should not match with underscore variant');
30
+ });
31
+ });
32
+ // ---------------------------------------------------------------------------
33
+ // TPL-G05 to G07: Generator edge cases
34
+ // ---------------------------------------------------------------------------
35
+ describe('Generator — edge cases', () => {
36
+ it('TPL-G05: extra variables passed through without error', () => {
37
+ assert.doesNotThrow(() => {
38
+ generateFromTemplate('custom', {
39
+ agent_name: 'Test',
40
+ extra_var: 'value',
41
+ another: 'thing',
42
+ });
43
+ }, 'should not throw when extra variables are provided');
44
+ });
45
+ it('TPL-G05: extra variables do not corrupt the generated output', () => {
46
+ const result = generateFromTemplate('custom', {
47
+ agent_name: 'TestAgent',
48
+ extra_var: 'SHOULD_NOT_APPEAR_IN_CODE',
49
+ });
50
+ // The code should still be valid (contain Agent()) regardless of extra vars
51
+ assert.ok(result.code.includes('Agent()'), 'generated code should still contain Agent()');
52
+ });
53
+ it('TPL-G06: chat-memory code contains memory-related logic', () => {
54
+ const result = generateFromTemplate('chat-memory', {
55
+ agent_name: 'MemoryBot',
56
+ });
57
+ const code = result.code;
58
+ const hasMemoryKeyword = code.includes('memory') ||
59
+ code.includes('Memory') ||
60
+ code.includes('history') ||
61
+ code.includes('History');
62
+ assert.ok(hasMemoryKeyword, 'chat-memory should contain memory-related keywords');
63
+ });
64
+ it('TPL-G06: swarm-starter code contains commerce-related patterns', () => {
65
+ const result = generateFromTemplate('swarm-starter', {
66
+ agent_name: 'SwarmBot',
67
+ });
68
+ const code = result.code;
69
+ const hasCommerceKeyword = code.includes('Payment') ||
70
+ code.includes('Pricing') ||
71
+ code.includes('Revenue') ||
72
+ code.includes('Tier') ||
73
+ code.includes('commerce');
74
+ assert.ok(hasCommerceKeyword, 'swarm-starter should contain commerce-related keywords');
75
+ });
76
+ it('TPL-G07: generated output has a non-empty shortDescription string', () => {
77
+ const templates = listTemplates();
78
+ for (const tpl of templates) {
79
+ const result = generateFromTemplate(tpl.name, {
80
+ agent_name: 'DescTest',
81
+ });
82
+ assert.equal(typeof result.shortDescription, 'string', `${tpl.name}: shortDescription should be a string`);
83
+ assert.ok(result.shortDescription.length > 0, `${tpl.name}: shortDescription should be non-empty`);
84
+ }
85
+ });
86
+ it('TPL-G07: shortDescription is at most 200 characters', () => {
87
+ const result = generateFromTemplate('chat-memory', {
88
+ agent_name: 'A'.repeat(300), // very long name to test truncation
89
+ });
90
+ assert.ok(result.shortDescription.length <= 200, `shortDescription should be max 200 chars, got ${result.shortDescription.length}`);
91
+ });
92
+ });
93
+ // ---------------------------------------------------------------------------
94
+ // TPL-P03: C-Suite Presets
95
+ // ---------------------------------------------------------------------------
96
+ describe('C-Suite Presets — TPL-P03', () => {
97
+ const csuite = ['ceo', 'cto', 'cfo', 'coo', 'cro'];
98
+ const expectedSymbols = {
99
+ ceo: 'CEO',
100
+ cto: 'CTO',
101
+ cfo: 'CFO',
102
+ coo: 'COO',
103
+ cro: 'CRO',
104
+ };
105
+ for (const role of csuite) {
106
+ describe(`${role} preset`, () => {
107
+ it('exists and is not undefined', () => {
108
+ const preset = getPreset(role);
109
+ assert.ok(preset, `getPreset("${role}") should return a preset`);
110
+ });
111
+ it('has required fields: name, displayName, symbol, variables', () => {
112
+ const preset = getPreset(role);
113
+ assert.equal(typeof preset.name, 'string', 'name should be a string');
114
+ assert.equal(typeof preset.displayName, 'string', 'displayName should be a string');
115
+ assert.equal(typeof preset.symbol, 'string', 'symbol should be a string');
116
+ assert.ok(preset.variables, 'variables should exist');
117
+ assert.equal(typeof preset.variables, 'object', 'variables should be an object');
118
+ });
119
+ it(`has symbol "${expectedSymbols[role]}"`, () => {
120
+ const preset = getPreset(role);
121
+ assert.equal(preset.symbol, expectedSymbols[role], `symbol should be ${expectedSymbols[role]}`);
122
+ });
123
+ it('has variables.agent_name set', () => {
124
+ const preset = getPreset(role);
125
+ assert.ok(preset.variables.agent_name, `${role} preset should have variables.agent_name`);
126
+ });
127
+ it('has a description', () => {
128
+ const preset = getPreset(role);
129
+ assert.ok(preset.description && preset.description.length > 0, `${role} preset should have a non-empty description`);
130
+ });
131
+ it('has pricing with at least one service', () => {
132
+ const preset = getPreset(role);
133
+ assert.ok(Object.keys(preset.pricing).length > 0, `${role} preset should have at least one service in pricing`);
134
+ });
135
+ });
136
+ }
137
+ it('all 5 C-Suite presets are present in listPresets()', () => {
138
+ const allPresets = listPresets();
139
+ const presetNames = allPresets.map((p) => p.name);
140
+ for (const role of csuite) {
141
+ assert.ok(presetNames.includes(role), `listPresets() should include "${role}". Got: ${presetNames.join(', ')}`);
142
+ }
143
+ });
144
+ });
145
+ // ---------------------------------------------------------------------------
146
+ // TPL-P06: Consumer Commerce Presets
147
+ // ---------------------------------------------------------------------------
148
+ describe('Consumer Commerce Presets — TPL-P06', () => {
149
+ const consumerPresets = [
150
+ 'payment-processor',
151
+ 'booking-agent',
152
+ 'subscription-manager',
153
+ 'escrow-service',
154
+ ];
155
+ for (const presetName of consumerPresets) {
156
+ describe(`${presetName} preset`, () => {
157
+ it('exists via getPreset()', () => {
158
+ const preset = getPreset(presetName);
159
+ assert.ok(preset, `getPreset("${presetName}") should return a preset`);
160
+ });
161
+ it('generates valid code via consumer-commerce template', () => {
162
+ const preset = getPreset(presetName);
163
+ const result = generateFromTemplate('consumer-commerce', {
164
+ ...preset.variables,
165
+ agent_name: 'TestAgent',
166
+ });
167
+ assert.ok(result.code.length > 0, 'should generate non-empty code');
168
+ });
169
+ it('generated code contains Agent()', () => {
170
+ const preset = getPreset(presetName);
171
+ const result = generateFromTemplate('consumer-commerce', {
172
+ ...preset.variables,
173
+ agent_name: 'TestAgent',
174
+ });
175
+ assert.ok(result.code.includes('Agent()'), `${presetName}: generated code should contain Agent()`);
176
+ });
177
+ it('generated code contains ChatAcknowledgement', () => {
178
+ const preset = getPreset(presetName);
179
+ const result = generateFromTemplate('consumer-commerce', {
180
+ ...preset.variables,
181
+ agent_name: 'TestAgent',
182
+ });
183
+ assert.ok(result.code.includes('ChatAcknowledgement'), `${presetName}: generated code should contain ChatAcknowledgement`);
184
+ });
185
+ it('generated code contains EndSessionContent', () => {
186
+ const preset = getPreset(presetName);
187
+ const result = generateFromTemplate('consumer-commerce', {
188
+ ...preset.variables,
189
+ agent_name: 'TestAgent',
190
+ });
191
+ assert.ok(result.code.includes('EndSessionContent'), `${presetName}: generated code should contain EndSessionContent`);
192
+ });
193
+ });
194
+ }
195
+ });
196
+ //# sourceMappingURL=gaps.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gaps.test.js","sourceRoot":"","sources":["../../src/__tests__/gaps.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Per-template content verification — TPL-T01–T14
3
+ *
4
+ * Generates each of the 9 templates and checks for required content patterns.
5
+ * All templates are checked for Agentverse compliance patterns.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=per-template.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"per-template.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/per-template.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,213 @@
1
+ /**
2
+ * Per-template content verification — TPL-T01–T14
3
+ *
4
+ * Generates each of the 9 templates and checks for required content patterns.
5
+ * All templates are checked for Agentverse compliance patterns.
6
+ */
7
+ import { describe, it } from 'node:test';
8
+ import assert from 'node:assert/strict';
9
+ import { generateFromTemplate } from '../generator.js';
10
+ import { listTemplates } from '../registry.js';
11
+ // ---------------------------------------------------------------------------
12
+ // Universal checks applied to every template
13
+ // ---------------------------------------------------------------------------
14
+ const ALL_TEMPLATE_NAMES = [
15
+ 'chat-memory',
16
+ 'swarm-starter',
17
+ 'custom',
18
+ 'price-monitor',
19
+ 'trading-bot',
20
+ 'data-analyzer',
21
+ 'research',
22
+ 'gifter',
23
+ 'consumer-commerce',
24
+ ];
25
+ describe('All templates — Agentverse compliance (TPL-T01)', () => {
26
+ for (const templateName of ALL_TEMPLATE_NAMES) {
27
+ describe(`${templateName}`, () => {
28
+ // Generate once per template to avoid repeated work
29
+ let code;
30
+ it('generates without error', () => {
31
+ const result = generateFromTemplate(templateName, {
32
+ agent_name: 'TestAgent',
33
+ description: 'A test agent for verification',
34
+ });
35
+ code = result.code;
36
+ assert.ok(code.length > 0, 'should generate non-empty code');
37
+ });
38
+ it('uses Agent() constructor', () => {
39
+ assert.ok(code.includes('Agent()'), `${templateName}: should use Agent() (zero params for Agentverse)`);
40
+ });
41
+ it('includes ChatAcknowledgement handler', () => {
42
+ assert.ok(code.includes('ChatAcknowledgement'), `${templateName}: must handle ChatAcknowledgement`);
43
+ });
44
+ it('includes EndSessionContent', () => {
45
+ assert.ok(code.includes('EndSessionContent'), `${templateName}: must use EndSessionContent to end conversations`);
46
+ });
47
+ it('includes publish_manifest=True', () => {
48
+ assert.ok(code.includes('publish_manifest=True'), `${templateName}: must include publish_manifest=True in agent.include()`);
49
+ });
50
+ it('does not use print()', () => {
51
+ // Check for bare print( but allow it inside strings/comments
52
+ // Simple heuristic: look for print( at start of line or after whitespace
53
+ const lines = code.split('\n');
54
+ const printLines = lines.filter((line) => {
55
+ const trimmed = line.trim();
56
+ // Skip comments
57
+ if (trimmed.startsWith('#'))
58
+ return false;
59
+ // Skip string literals containing print
60
+ if (trimmed.startsWith('"') || trimmed.startsWith("'"))
61
+ return false;
62
+ // Check for print( as a statement
63
+ return /^\s*print\s*\(/.test(line);
64
+ });
65
+ assert.equal(printLines.length, 0, `${templateName}: should use ctx.logger, not print(). Found: ${printLines.join('; ')}`);
66
+ });
67
+ it('does not use utcnow() (swarm-starter + consumer-commerce only)', () => {
68
+ // Known tech debt: older templates (chat-memory, custom, price-monitor,
69
+ // trading-bot, data-analyzer, research, gifter) still use utcnow().
70
+ // Only newer templates (swarm-starter, consumer-commerce) are clean.
71
+ const cleanTemplates = ['swarm-starter', 'consumer-commerce'];
72
+ if (!cleanTemplates.includes(templateName))
73
+ return; // skip for legacy templates
74
+ assert.ok(!code.includes('utcnow()'), `${templateName}: must not use deprecated datetime.utcnow()`);
75
+ });
76
+ });
77
+ }
78
+ });
79
+ // ---------------------------------------------------------------------------
80
+ // Template-specific content checks
81
+ // ---------------------------------------------------------------------------
82
+ describe('chat-memory — TPL-T02', () => {
83
+ it('has ConversationMemory class', () => {
84
+ const { code } = generateFromTemplate('chat-memory', { agent_name: 'ChatBot' });
85
+ assert.ok(code.includes('ConversationMemory'), 'chat-memory should have ConversationMemory class');
86
+ });
87
+ it('has conversation history storage', () => {
88
+ const { code } = generateFromTemplate('chat-memory', { agent_name: 'ChatBot' });
89
+ assert.ok(code.includes('_history') || code.includes('memory') || code.includes('history'), 'chat-memory should reference conversation history');
90
+ });
91
+ it('has configurable memory size', () => {
92
+ const { code } = generateFromTemplate('chat-memory', { agent_name: 'ChatBot' });
93
+ assert.ok(code.includes('MEMORY_SIZE') || code.includes('max_messages'), 'chat-memory should have configurable memory size');
94
+ });
95
+ });
96
+ describe('swarm-starter — TPL-T03', () => {
97
+ it('has PaymentService class', () => {
98
+ const { code } = generateFromTemplate('swarm-starter', { agent_name: 'SwarmAgent' });
99
+ assert.ok(code.includes('PaymentService'), 'should have PaymentService');
100
+ });
101
+ it('has PricingTable class', () => {
102
+ const { code } = generateFromTemplate('swarm-starter', { agent_name: 'SwarmAgent' });
103
+ assert.ok(code.includes('PricingTable'), 'should have PricingTable');
104
+ });
105
+ it('has TierManager class', () => {
106
+ const { code } = generateFromTemplate('swarm-starter', { agent_name: 'SwarmAgent' });
107
+ assert.ok(code.includes('TierManager'), 'should have TierManager');
108
+ });
109
+ it('has WalletManager class', () => {
110
+ const { code } = generateFromTemplate('swarm-starter', { agent_name: 'SwarmAgent' });
111
+ assert.ok(code.includes('WalletManager'), 'should have WalletManager');
112
+ });
113
+ it('has RevenueTracker class', () => {
114
+ const { code } = generateFromTemplate('swarm-starter', { agent_name: 'SwarmAgent' });
115
+ assert.ok(code.includes('RevenueTracker'), 'should have RevenueTracker');
116
+ });
117
+ it('has SelfAwareMixin class', () => {
118
+ const { code } = generateFromTemplate('swarm-starter', { agent_name: 'SwarmAgent' });
119
+ assert.ok(code.includes('SelfAwareMixin'), 'should have SelfAwareMixin');
120
+ });
121
+ it('has ConversationMemory class', () => {
122
+ const { code } = generateFromTemplate('swarm-starter', { agent_name: 'SwarmAgent' });
123
+ assert.ok(code.includes('ConversationMemory'), 'should have ConversationMemory');
124
+ });
125
+ });
126
+ describe('custom — TPL-T04', () => {
127
+ it('has business logic customization zone', () => {
128
+ const { code } = generateFromTemplate('custom', { agent_name: 'CustomAgent' });
129
+ assert.ok(code.includes('YOUR') || code.includes('BUSINESS LOGIC') || code.includes('customize') || code.includes('your logic'), 'custom template should have a customization zone marker');
130
+ });
131
+ });
132
+ describe('price-monitor — TPL-T05', () => {
133
+ it('has on_interval decorator for periodic checks', () => {
134
+ const { code } = generateFromTemplate('price-monitor', { agent_name: 'PriceBot' });
135
+ assert.ok(code.includes('on_interval'), 'price-monitor should have on_interval for periodic price checks');
136
+ });
137
+ it('has threshold/alert logic', () => {
138
+ const { code } = generateFromTemplate('price-monitor', { agent_name: 'PriceBot' });
139
+ assert.ok(code.includes('threshold') || code.includes('alert') || code.includes('ALERT'), 'price-monitor should have threshold/alert logic');
140
+ });
141
+ });
142
+ describe('trading-bot — TPL-T06', () => {
143
+ it('has moving average or signal logic', () => {
144
+ const { code } = generateFromTemplate('trading-bot', { agent_name: 'TradeBot' });
145
+ assert.ok(code.includes('moving_average') || code.includes('signal') || code.includes('SIGNAL') ||
146
+ code.includes('BUY') || code.includes('SELL') || code.includes('average'), 'trading-bot should have signal/moving average logic');
147
+ });
148
+ });
149
+ describe('data-analyzer — TPL-T07', () => {
150
+ it('has cache or token listing functionality', () => {
151
+ const { code } = generateFromTemplate('data-analyzer', { agent_name: 'Analyzer' });
152
+ assert.ok(code.includes('cache') || code.includes('token') || code.includes('data') || code.includes('analy'), 'data-analyzer should reference data/cache/token concepts');
153
+ });
154
+ });
155
+ describe('research — TPL-T08', () => {
156
+ it('has AI model integration', () => {
157
+ const { code } = generateFromTemplate('research', { agent_name: 'Researcher' });
158
+ assert.ok(code.includes('hugging') || code.includes('HF_TOKEN') || code.includes('openai') ||
159
+ code.includes('OpenAI') || code.includes('ASI1') || code.includes('model') ||
160
+ code.includes('inference') || code.includes('api-inference'), 'research should reference an AI model integration');
161
+ });
162
+ });
163
+ describe('gifter — TPL-T09', () => {
164
+ it('has treasury wallet reference', () => {
165
+ const { code } = generateFromTemplate('gifter', { agent_name: 'Gifter' });
166
+ assert.ok(code.includes('treasury') || code.includes('wallet') || code.includes('gift') ||
167
+ code.includes('reward') || code.includes('balance'), 'gifter should reference treasury/wallet/gift concepts');
168
+ });
169
+ it('has daily limits or claim logic', () => {
170
+ const { code } = generateFromTemplate('gifter', { agent_name: 'Gifter' });
171
+ assert.ok(code.includes('limit') || code.includes('daily') || code.includes('claim') ||
172
+ code.includes('max_') || code.includes('DAILY'), 'gifter should have limit/daily/claim logic');
173
+ });
174
+ });
175
+ describe('consumer-commerce — TPL-T10', () => {
176
+ it('has MultiTokenPricingTable', () => {
177
+ const { code } = generateFromTemplate('consumer-commerce', { agent_name: 'CommerceAgent' });
178
+ assert.ok(code.includes('MultiTokenPricingTable') || code.includes('multi_token') || code.includes('USDC'), 'consumer-commerce should reference multi-token pricing');
179
+ });
180
+ it('has InvoiceManager', () => {
181
+ const { code } = generateFromTemplate('consumer-commerce', { agent_name: 'CommerceAgent' });
182
+ assert.ok(code.includes('InvoiceManager') || code.includes('invoice'), 'consumer-commerce should have invoice management');
183
+ });
184
+ it('has FiatOnrampHelper', () => {
185
+ const { code } = generateFromTemplate('consumer-commerce', { agent_name: 'CommerceAgent' });
186
+ assert.ok(code.includes('FiatOnrampHelper') || code.includes('fiat') || code.includes('onramp') || code.includes('moonpay'), 'consumer-commerce should have fiat onramp helper');
187
+ });
188
+ it('has DelegationChecker', () => {
189
+ const { code } = generateFromTemplate('consumer-commerce', { agent_name: 'CommerceAgent' });
190
+ assert.ok(code.includes('DelegationChecker') || code.includes('delegation') || code.includes('allowance'), 'consumer-commerce should have delegation checker');
191
+ });
192
+ });
193
+ // ---------------------------------------------------------------------------
194
+ // Registry completeness
195
+ // ---------------------------------------------------------------------------
196
+ describe('Template registry — TPL-T14', () => {
197
+ it('all 9 templates are registered', () => {
198
+ const templates = listTemplates();
199
+ const names = templates.map((t) => t.name);
200
+ for (const expected of ALL_TEMPLATE_NAMES) {
201
+ assert.ok(names.includes(expected), `template "${expected}" should be registered. Available: ${names.join(', ')}`);
202
+ }
203
+ });
204
+ it('all templates produce code, readme, and shortDescription', () => {
205
+ for (const templateName of ALL_TEMPLATE_NAMES) {
206
+ const result = generateFromTemplate(templateName, { agent_name: 'Test' });
207
+ assert.ok(result.code, `${templateName}: code is empty`);
208
+ assert.ok(result.readme, `${templateName}: readme is empty`);
209
+ assert.ok(result.shortDescription, `${templateName}: shortDescription is empty`);
210
+ }
211
+ });
212
+ });
213
+ //# sourceMappingURL=per-template.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"per-template.test.js","sourceRoot":"","sources":["../../src/__tests__/per-template.test.ts"],"names":[],"mappings":"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"}
@@ -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,CAkSxC,CAAC;AAMF,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAqGzC,CAAC;AAMF,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAkJvC,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,03BA6BxB,CAAC;AAMF,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAsQ5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAkB1D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAqB/D;AAMD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CA2CnE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAkCjE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,OAAO,GAAG,MAAM,CAuC3F;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,iBAAiB,EAAE,EAC3B,aAAa,EAAE,OAAO,GACrB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAWxB"}
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,CA4+BxC,CAAC;AAKF,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAkmCzC,CAAC;AAKF,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAkJvC,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,03BA6BxB,CAAC;AAMF,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAsQ5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAkB1D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAqB/D;AAMD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CA2CnE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAkCjE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,OAAO,GAAG,MAAM,CAuC3F;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,iBAAiB,EAAE,EAC3B,aAAa,EAAE,OAAO,GACrB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAWxB"}