opc-agent 5.0.0 → 5.0.1

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.
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.dryRunTests = dryRunTests;
37
+ exports.runAllDryTests = runAllDryTests;
38
+ const fs = __importStar(require("fs"));
39
+ const path = __importStar(require("path"));
40
+ /**
41
+ * Dry-run test runner: validates test case format and structure.
42
+ * Does NOT call LLM - just checks cases are well-formed and
43
+ * that skills referenced in cases exist.
44
+ */
45
+ function dryRunTests(templateDir) {
46
+ const name = path.basename(templateDir);
47
+ const testsDir = path.join(templateDir, 'tests');
48
+ const skillsDir = path.join(templateDir, 'skills');
49
+ const results = [];
50
+ // Find cases file
51
+ const casesFile = fs.readdirSync(testsDir).find(f => f.endsWith('.json'));
52
+ if (!casesFile) {
53
+ return { template: name, total: 0, passed: 0, failed: 0, results: [{ id: 'no-cases', passed: false, reason: 'No cases.json found' }] };
54
+ }
55
+ const cases = JSON.parse(fs.readFileSync(path.join(testsDir, casesFile), 'utf-8'));
56
+ const skillFiles = fs.existsSync(skillsDir) ? fs.readdirSync(skillsDir) : [];
57
+ void skillFiles; // referenced for future skill-existence checks
58
+ for (const tc of cases) {
59
+ if (!tc.id || !tc.input) {
60
+ results.push({ id: tc.id || 'unknown', passed: false, reason: 'Missing id or input' });
61
+ continue;
62
+ }
63
+ if (tc.input.length < 5) {
64
+ results.push({ id: tc.id, passed: false, reason: 'Input too short (<5 chars)' });
65
+ continue;
66
+ }
67
+ if (tc.expectedKeywords && tc.expectedKeywords.length === 0) {
68
+ results.push({ id: tc.id, passed: false, reason: 'Empty expectedKeywords array' });
69
+ continue;
70
+ }
71
+ results.push({ id: tc.id, passed: true });
72
+ }
73
+ const passed = results.filter(r => r.passed).length;
74
+ return { template: name, total: results.length, passed, failed: results.length - passed, results };
75
+ }
76
+ function runAllDryTests(baseDir) {
77
+ if (!fs.existsSync(baseDir))
78
+ return [];
79
+ const dirs = fs.readdirSync(baseDir).filter(d => {
80
+ const full = path.join(baseDir, d);
81
+ return fs.statSync(full).isDirectory() && fs.existsSync(path.join(full, 'tests'));
82
+ });
83
+ return dirs.map(d => dryRunTests(path.join(baseDir, d)));
84
+ }
85
+ //# sourceMappingURL=test-runner.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opc-agent",
3
- "version": "5.0.0",
3
+ "version": "5.0.1",
4
4
  "description": "Open Agent Framework — Build, test, and run AI Agents for business workstations",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",