agentlaunch-templates 0.4.3 → 0.4.5

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 (79) 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__/gaps.test.d.ts +11 -0
  9. package/dist/__tests__/gaps.test.d.ts.map +1 -0
  10. package/dist/__tests__/gaps.test.js +196 -0
  11. package/dist/__tests__/gaps.test.js.map +1 -0
  12. package/dist/__tests__/per-template.test.d.ts +8 -0
  13. package/dist/__tests__/per-template.test.d.ts.map +1 -0
  14. package/dist/__tests__/per-template.test.js +213 -0
  15. package/dist/__tests__/per-template.test.js.map +1 -0
  16. package/dist/__tests__/{genesis-integration.test.d.ts → swarm-starter-integration.test.d.ts} +2 -2
  17. package/dist/__tests__/swarm-starter-integration.test.d.ts.map +1 -0
  18. package/dist/__tests__/{genesis-integration.test.js → swarm-starter-integration.test.js} +24 -24
  19. package/dist/__tests__/swarm-starter-integration.test.js.map +1 -0
  20. package/dist/__tests__/{genesis.test.d.ts → swarm-starter.test.d.ts} +6 -6
  21. package/dist/__tests__/swarm-starter.test.d.ts.map +1 -0
  22. package/dist/__tests__/{genesis.test.js → swarm-starter.test.js} +71 -73
  23. package/dist/__tests__/swarm-starter.test.js.map +1 -0
  24. package/dist/claude-context.d.ts +1 -1
  25. package/dist/claude-context.d.ts.map +1 -1
  26. package/dist/claude-context.js +55 -49
  27. package/dist/claude-context.js.map +1 -1
  28. package/dist/index.d.ts +2 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +1 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/people.d.ts +108 -0
  33. package/dist/people.d.ts.map +1 -0
  34. package/dist/people.js +564 -0
  35. package/dist/people.js.map +1 -0
  36. package/dist/presets.d.ts +13 -13
  37. package/dist/presets.d.ts.map +1 -1
  38. package/dist/presets.js +331 -96
  39. package/dist/presets.js.map +1 -1
  40. package/dist/registry.d.ts +3 -8
  41. package/dist/registry.d.ts.map +1 -1
  42. package/dist/registry.js +8 -28
  43. package/dist/registry.js.map +1 -1
  44. package/dist/templates/chat-memory.d.ts.map +1 -1
  45. package/dist/templates/chat-memory.js +9 -2
  46. package/dist/templates/chat-memory.js.map +1 -1
  47. package/dist/templates/consumer-commerce.d.ts +14 -0
  48. package/dist/templates/consumer-commerce.d.ts.map +1 -0
  49. package/dist/templates/consumer-commerce.js +439 -0
  50. package/dist/templates/consumer-commerce.js.map +1 -0
  51. package/dist/templates/custom.d.ts.map +1 -1
  52. package/dist/templates/custom.js +9 -2
  53. package/dist/templates/custom.js.map +1 -1
  54. package/dist/templates/data-analyzer.d.ts.map +1 -1
  55. package/dist/templates/data-analyzer.js +9 -2
  56. package/dist/templates/data-analyzer.js.map +1 -1
  57. package/dist/templates/gifter.d.ts.map +1 -1
  58. package/dist/templates/gifter.js +9 -2
  59. package/dist/templates/gifter.js.map +1 -1
  60. package/dist/templates/price-monitor.d.ts.map +1 -1
  61. package/dist/templates/price-monitor.js +9 -2
  62. package/dist/templates/price-monitor.js.map +1 -1
  63. package/dist/templates/research.d.ts.map +1 -1
  64. package/dist/templates/research.js +9 -2
  65. package/dist/templates/research.js.map +1 -1
  66. package/dist/templates/{genesis.d.ts → swarm-starter.d.ts} +2 -2
  67. package/dist/templates/swarm-starter.d.ts.map +1 -0
  68. package/dist/templates/{genesis.js → swarm-starter.js} +154 -42
  69. package/dist/templates/swarm-starter.js.map +1 -0
  70. package/dist/templates/trading-bot.d.ts.map +1 -1
  71. package/dist/templates/trading-bot.js +9 -2
  72. package/dist/templates/trading-bot.js.map +1 -1
  73. package/package.json +3 -2
  74. package/dist/__tests__/genesis-integration.test.d.ts.map +0 -1
  75. package/dist/__tests__/genesis-integration.test.js.map +0 -1
  76. package/dist/__tests__/genesis.test.d.ts.map +0 -1
  77. package/dist/__tests__/genesis.test.js.map +0 -1
  78. package/dist/templates/genesis.d.ts.map +0 -1
  79. package/dist/templates/genesis.js.map +0 -1
@@ -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,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"}