@fractary/faber 0.1.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.
Files changed (107) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +146 -0
  3. package/dist/api.d.ts +81 -0
  4. package/dist/api.d.ts.map +1 -0
  5. package/dist/api.js +261 -0
  6. package/dist/api.js.map +1 -0
  7. package/dist/bindings/claude-code/transformer.d.ts +55 -0
  8. package/dist/bindings/claude-code/transformer.d.ts.map +1 -0
  9. package/dist/bindings/claude-code/transformer.js +271 -0
  10. package/dist/bindings/claude-code/transformer.js.map +1 -0
  11. package/dist/bindings/index.d.ts +21 -0
  12. package/dist/bindings/index.d.ts.map +1 -0
  13. package/dist/bindings/index.js +43 -0
  14. package/dist/bindings/index.js.map +1 -0
  15. package/dist/core/concepts/base.d.ts +89 -0
  16. package/dist/core/concepts/base.d.ts.map +1 -0
  17. package/dist/core/concepts/base.js +230 -0
  18. package/dist/core/concepts/base.js.map +1 -0
  19. package/dist/core/concepts/eval.d.ts +90 -0
  20. package/dist/core/concepts/eval.d.ts.map +1 -0
  21. package/dist/core/concepts/eval.js +118 -0
  22. package/dist/core/concepts/eval.js.map +1 -0
  23. package/dist/core/concepts/index.d.ts +9 -0
  24. package/dist/core/concepts/index.d.ts.map +1 -0
  25. package/dist/core/concepts/index.js +36 -0
  26. package/dist/core/concepts/index.js.map +1 -0
  27. package/dist/core/concepts/role.d.ts +19 -0
  28. package/dist/core/concepts/role.d.ts.map +1 -0
  29. package/dist/core/concepts/role.js +227 -0
  30. package/dist/core/concepts/role.js.map +1 -0
  31. package/dist/core/concepts/team.d.ts +57 -0
  32. package/dist/core/concepts/team.d.ts.map +1 -0
  33. package/dist/core/concepts/team.js +106 -0
  34. package/dist/core/concepts/team.js.map +1 -0
  35. package/dist/core/concepts/tool.d.ts +43 -0
  36. package/dist/core/concepts/tool.d.ts.map +1 -0
  37. package/dist/core/concepts/tool.js +104 -0
  38. package/dist/core/concepts/tool.js.map +1 -0
  39. package/dist/core/concepts/workflow.d.ts +87 -0
  40. package/dist/core/concepts/workflow.d.ts.map +1 -0
  41. package/dist/core/concepts/workflow.js +114 -0
  42. package/dist/core/concepts/workflow.js.map +1 -0
  43. package/dist/core/config/index.d.ts +34 -0
  44. package/dist/core/config/index.d.ts.map +1 -0
  45. package/dist/core/config/index.js +80 -0
  46. package/dist/core/config/index.js.map +1 -0
  47. package/dist/core/config/loader.d.ts +53 -0
  48. package/dist/core/config/loader.d.ts.map +1 -0
  49. package/dist/core/config/loader.js +234 -0
  50. package/dist/core/config/loader.js.map +1 -0
  51. package/dist/core/contexts/index.d.ts +36 -0
  52. package/dist/core/contexts/index.d.ts.map +1 -0
  53. package/dist/core/contexts/index.js +75 -0
  54. package/dist/core/contexts/index.js.map +1 -0
  55. package/dist/core/contexts/loader.d.ts +66 -0
  56. package/dist/core/contexts/loader.d.ts.map +1 -0
  57. package/dist/core/contexts/loader.js +261 -0
  58. package/dist/core/contexts/loader.js.map +1 -0
  59. package/dist/core/overlays/index.d.ts +31 -0
  60. package/dist/core/overlays/index.d.ts.map +1 -0
  61. package/dist/core/overlays/index.js +82 -0
  62. package/dist/core/overlays/index.js.map +1 -0
  63. package/dist/core/overlays/resolver.d.ts +65 -0
  64. package/dist/core/overlays/resolver.d.ts.map +1 -0
  65. package/dist/core/overlays/resolver.js +249 -0
  66. package/dist/core/overlays/resolver.js.map +1 -0
  67. package/dist/index.d.ts +20 -0
  68. package/dist/index.d.ts.map +1 -0
  69. package/dist/index.js +56 -0
  70. package/dist/index.js.map +1 -0
  71. package/dist/types/bindings.d.ts +59 -0
  72. package/dist/types/bindings.d.ts.map +1 -0
  73. package/dist/types/bindings.js +6 -0
  74. package/dist/types/bindings.js.map +1 -0
  75. package/dist/types/concepts.d.ts +131 -0
  76. package/dist/types/concepts.d.ts.map +1 -0
  77. package/dist/types/concepts.js +29 -0
  78. package/dist/types/concepts.js.map +1 -0
  79. package/dist/types/config.d.ts +42 -0
  80. package/dist/types/config.d.ts.map +1 -0
  81. package/dist/types/config.js +6 -0
  82. package/dist/types/config.js.map +1 -0
  83. package/dist/types/contexts.d.ts +59 -0
  84. package/dist/types/contexts.d.ts.map +1 -0
  85. package/dist/types/contexts.js +17 -0
  86. package/dist/types/contexts.js.map +1 -0
  87. package/dist/types/index.d.ts +17 -0
  88. package/dist/types/index.d.ts.map +1 -0
  89. package/dist/types/index.js +30 -0
  90. package/dist/types/index.js.map +1 -0
  91. package/dist/types/overlays.d.ts +28 -0
  92. package/dist/types/overlays.d.ts.map +1 -0
  93. package/dist/types/overlays.js +15 -0
  94. package/dist/types/overlays.js.map +1 -0
  95. package/dist/utils/file-system.d.ts +40 -0
  96. package/dist/utils/file-system.d.ts.map +1 -0
  97. package/dist/utils/file-system.js +105 -0
  98. package/dist/utils/file-system.js.map +1 -0
  99. package/dist/utils/template.d.ts +28 -0
  100. package/dist/utils/template.d.ts.map +1 -0
  101. package/dist/utils/template.js +107 -0
  102. package/dist/utils/template.js.map +1 -0
  103. package/dist/utils/validation.d.ts +42 -0
  104. package/dist/utils/validation.d.ts.map +1 -0
  105. package/dist/utils/validation.js +94 -0
  106. package/dist/utils/validation.js.map +1 -0
  107. package/package.json +83 -0
@@ -0,0 +1,230 @@
1
+ "use strict";
2
+ /**
3
+ * Base concept loader and validator
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.ConceptReferenceImpl = exports.BaseConceptLoader = exports.BaseMetadataSchema = void 0;
40
+ const fs = __importStar(require("fs/promises"));
41
+ const path = __importStar(require("path"));
42
+ const yaml = __importStar(require("js-yaml"));
43
+ const zod_1 = require("zod");
44
+ const types_1 = require("../../types");
45
+ // Base metadata schema
46
+ exports.BaseMetadataSchema = zod_1.z.object({
47
+ org: zod_1.z.string().regex(/^[a-z0-9-]+$/),
48
+ system: zod_1.z.string().regex(/^[a-z0-9-]+$/),
49
+ name: zod_1.z.string().regex(/^[a-z0-9-]+$/),
50
+ type: zod_1.z.nativeEnum(types_1.ConceptType),
51
+ description: zod_1.z.string(),
52
+ created: zod_1.z.string().optional(),
53
+ updated: zod_1.z.string().optional(),
54
+ visibility: zod_1.z.enum(['public', 'internal', 'private']).optional(),
55
+ tags: zod_1.z.array(zod_1.z.string()).optional()
56
+ });
57
+ class BaseConceptLoader {
58
+ constructor(conceptType) {
59
+ this.conceptType = conceptType;
60
+ }
61
+ /**
62
+ * Load a concept from disk
63
+ */
64
+ async load(conceptPath) {
65
+ // Verify directory exists
66
+ const stats = await fs.stat(conceptPath).catch(() => null);
67
+ if (!stats || !stats.isDirectory()) {
68
+ throw new Error(`Concept path does not exist or is not a directory: ${conceptPath}`);
69
+ }
70
+ // Load metadata
71
+ const metadata = await this.loadMetadata(conceptPath);
72
+ // Validate metadata type matches expected
73
+ if (metadata.type !== this.conceptType) {
74
+ throw new Error(`Expected ${this.conceptType} but found ${metadata.type} at ${conceptPath}`);
75
+ }
76
+ // Load concept-specific content
77
+ const concept = await this.loadConceptContent(conceptPath, metadata);
78
+ return concept;
79
+ }
80
+ /**
81
+ * Validate a concept
82
+ */
83
+ async validate(concept) {
84
+ const errors = [];
85
+ // Validate metadata
86
+ const metadata = concept.metadata || concept;
87
+ const metadataErrors = await this.validateMetadata(metadata);
88
+ errors.push(...metadataErrors);
89
+ // Validate concept-specific rules
90
+ const specificErrors = await this.validateSpecific(concept);
91
+ errors.push(...specificErrors);
92
+ return {
93
+ valid: errors.length === 0,
94
+ errors,
95
+ warnings: []
96
+ };
97
+ }
98
+ /**
99
+ * Load metadata file (agent.yml, tool.yml, etc.)
100
+ */
101
+ async loadMetadata(conceptPath) {
102
+ const metadataFiles = [
103
+ 'agent.yml',
104
+ 'tool.yml',
105
+ 'eval.yml',
106
+ 'team.yml',
107
+ 'workflow.yml'
108
+ ];
109
+ let metadataContent = null;
110
+ let metadataFile = null;
111
+ for (const file of metadataFiles) {
112
+ const filePath = path.join(conceptPath, file);
113
+ try {
114
+ metadataContent = await fs.readFile(filePath, 'utf-8');
115
+ metadataFile = file;
116
+ break;
117
+ }
118
+ catch {
119
+ // Try next file
120
+ }
121
+ }
122
+ if (!metadataContent || !metadataFile) {
123
+ throw new Error(`No metadata file found in ${conceptPath}`);
124
+ }
125
+ try {
126
+ const metadata = yaml.load(metadataContent);
127
+ return metadata;
128
+ }
129
+ catch (error) {
130
+ throw new Error(`Failed to parse ${metadataFile}: ${error}`);
131
+ }
132
+ }
133
+ /**
134
+ * Validate metadata against schema
135
+ */
136
+ async validateMetadata(metadata) {
137
+ const errors = [];
138
+ try {
139
+ const schema = this.getMetadataSchema();
140
+ schema.parse(metadata);
141
+ }
142
+ catch (error) {
143
+ if (error instanceof zod_1.z.ZodError) {
144
+ for (const issue of error.issues) {
145
+ errors.push({
146
+ path: issue.path.join('.'),
147
+ message: issue.message,
148
+ type: 'error'
149
+ });
150
+ }
151
+ }
152
+ }
153
+ return errors;
154
+ }
155
+ /**
156
+ * Check if file exists
157
+ */
158
+ async fileExists(filePath) {
159
+ try {
160
+ await fs.access(filePath);
161
+ return true;
162
+ }
163
+ catch {
164
+ return false;
165
+ }
166
+ }
167
+ /**
168
+ * Read file content
169
+ */
170
+ async readFile(filePath) {
171
+ return fs.readFile(filePath, 'utf-8');
172
+ }
173
+ /**
174
+ * List files in directory
175
+ */
176
+ async listFiles(dirPath, extension) {
177
+ try {
178
+ const files = await fs.readdir(dirPath);
179
+ if (extension) {
180
+ return files.filter(f => f.endsWith(extension));
181
+ }
182
+ return files;
183
+ }
184
+ catch {
185
+ return [];
186
+ }
187
+ }
188
+ /**
189
+ * Parse frontmatter from markdown
190
+ */
191
+ parseFrontmatter(content) {
192
+ const frontmatterRegex = /^---\n([\s\S]*?)\n---\n([\s\S]*)$/;
193
+ const match = content.match(frontmatterRegex);
194
+ if (match) {
195
+ try {
196
+ const metadata = yaml.load(match[1]);
197
+ return { metadata, body: match[2] };
198
+ }
199
+ catch {
200
+ return { body: content };
201
+ }
202
+ }
203
+ return { body: content };
204
+ }
205
+ }
206
+ exports.BaseConceptLoader = BaseConceptLoader;
207
+ /**
208
+ * Concept reference implementation
209
+ */
210
+ class ConceptReferenceImpl {
211
+ constructor(type, name) {
212
+ this.type = type;
213
+ this.name = name;
214
+ }
215
+ toString() {
216
+ return `${this.type}:${this.name}`;
217
+ }
218
+ static parse(ref) {
219
+ const [type, name] = ref.split(':');
220
+ if (!type || !name) {
221
+ throw new Error(`Invalid concept reference: ${ref}`);
222
+ }
223
+ if (!Object.values(types_1.ConceptType).includes(type)) {
224
+ throw new Error(`Unknown concept type: ${type}`);
225
+ }
226
+ return new ConceptReferenceImpl(type, name);
227
+ }
228
+ }
229
+ exports.ConceptReferenceImpl = ConceptReferenceImpl;
230
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/core/concepts/base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Eval concept loader
3
+ */
4
+ import { z } from 'zod';
5
+ import { BaseConceptLoader } from './base';
6
+ import { Eval } from '../../types';
7
+ export declare class EvalLoader extends BaseConceptLoader<Eval> {
8
+ constructor();
9
+ protected getMetadataSchema(): z.ZodSchema;
10
+ protected loadConceptContent(conceptPath: string, metadata: any): Promise<Eval>;
11
+ protected validateSpecific(concept: Eval): Promise<any[]>;
12
+ protected loadMetadata(conceptPath: string): Promise<any>;
13
+ protected validateConcept(evalConcept: Eval): Promise<void>;
14
+ getSchema(): z.ZodObject<{
15
+ name: z.ZodString;
16
+ description: z.ZodOptional<z.ZodString>;
17
+ targets: z.ZodArray<z.ZodString, "many">;
18
+ scenarios: z.ZodArray<z.ZodObject<{
19
+ name: z.ZodString;
20
+ description: z.ZodOptional<z.ZodString>;
21
+ inputs: z.ZodRecord<z.ZodString, z.ZodUnknown>;
22
+ expected_outputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
23
+ assertions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
24
+ }, "strip", z.ZodTypeAny, {
25
+ name?: string;
26
+ description?: string;
27
+ inputs?: Record<string, unknown>;
28
+ expected_outputs?: Record<string, unknown>;
29
+ assertions?: string[];
30
+ }, {
31
+ name?: string;
32
+ description?: string;
33
+ inputs?: Record<string, unknown>;
34
+ expected_outputs?: Record<string, unknown>;
35
+ assertions?: string[];
36
+ }>, "many">;
37
+ metrics: z.ZodOptional<z.ZodArray<z.ZodObject<{
38
+ name: z.ZodString;
39
+ type: z.ZodEnum<["accuracy", "coverage", "performance", "quality"]>;
40
+ threshold: z.ZodOptional<z.ZodNumber>;
41
+ }, "strip", z.ZodTypeAny, {
42
+ name?: string;
43
+ type?: "accuracy" | "coverage" | "performance" | "quality";
44
+ threshold?: number;
45
+ }, {
46
+ name?: string;
47
+ type?: "accuracy" | "coverage" | "performance" | "quality";
48
+ threshold?: number;
49
+ }>, "many">>;
50
+ success_threshold: z.ZodOptional<z.ZodNumber>;
51
+ platforms: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
52
+ }, "strip", z.ZodTypeAny, {
53
+ platforms?: string[];
54
+ name?: string;
55
+ description?: string;
56
+ targets?: string[];
57
+ scenarios?: {
58
+ name?: string;
59
+ description?: string;
60
+ inputs?: Record<string, unknown>;
61
+ expected_outputs?: Record<string, unknown>;
62
+ assertions?: string[];
63
+ }[];
64
+ metrics?: {
65
+ name?: string;
66
+ type?: "accuracy" | "coverage" | "performance" | "quality";
67
+ threshold?: number;
68
+ }[];
69
+ success_threshold?: number;
70
+ }, {
71
+ platforms?: string[];
72
+ name?: string;
73
+ description?: string;
74
+ targets?: string[];
75
+ scenarios?: {
76
+ name?: string;
77
+ description?: string;
78
+ inputs?: Record<string, unknown>;
79
+ expected_outputs?: Record<string, unknown>;
80
+ assertions?: string[];
81
+ }[];
82
+ metrics?: {
83
+ name?: string;
84
+ type?: "accuracy" | "coverage" | "performance" | "quality";
85
+ threshold?: number;
86
+ }[];
87
+ success_threshold?: number;
88
+ }>;
89
+ }
90
+ //# sourceMappingURL=eval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../../../src/core/concepts/eval.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAiC,MAAM,aAAa,CAAC;AA6BlE,qBAAa,UAAW,SAAQ,iBAAiB,CAAC,IAAI,CAAC;;IAKrD,SAAS,CAAC,iBAAiB,IAAI,CAAC,CAAC,SAAS;cAI1B,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;cAerE,gBAAgB,CAAC,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;cAI/C,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;cAM/C,eAAe,CAAC,WAAW,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBjE,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGV"}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ /**
3
+ * Eval concept loader
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.EvalLoader = void 0;
43
+ const zod_1 = require("zod");
44
+ const base_1 = require("./base");
45
+ const types_1 = require("../../types");
46
+ const yaml = __importStar(require("js-yaml"));
47
+ const fs_1 = require("fs");
48
+ const path_1 = __importDefault(require("path"));
49
+ const ScenarioSchema = zod_1.z.object({
50
+ name: zod_1.z.string(),
51
+ description: zod_1.z.string().optional(),
52
+ inputs: zod_1.z.record(zod_1.z.unknown()),
53
+ expected_outputs: zod_1.z.record(zod_1.z.unknown()).optional(),
54
+ assertions: zod_1.z.array(zod_1.z.string()).optional()
55
+ });
56
+ const MetricSchema = zod_1.z.object({
57
+ name: zod_1.z.string(),
58
+ type: zod_1.z.enum(['accuracy', 'coverage', 'performance', 'quality']),
59
+ threshold: zod_1.z.number().optional()
60
+ });
61
+ const EvalMetadataSchema = zod_1.z.object({
62
+ name: zod_1.z.string(),
63
+ description: zod_1.z.string().optional(),
64
+ targets: zod_1.z.array(zod_1.z.string()),
65
+ scenarios: zod_1.z.array(ScenarioSchema),
66
+ metrics: zod_1.z.array(MetricSchema).optional(),
67
+ success_threshold: zod_1.z.number().optional(),
68
+ platforms: zod_1.z.array(zod_1.z.string()).optional()
69
+ });
70
+ class EvalLoader extends base_1.BaseConceptLoader {
71
+ constructor() {
72
+ super(types_1.ConceptType.EVAL);
73
+ }
74
+ getMetadataSchema() {
75
+ return EvalMetadataSchema;
76
+ }
77
+ async loadConceptContent(conceptPath, metadata) {
78
+ const evalMetadata = EvalMetadataSchema.parse(metadata);
79
+ return {
80
+ name: evalMetadata.name,
81
+ type: types_1.ConceptType.EVAL,
82
+ description: evalMetadata.description,
83
+ targets: evalMetadata.targets,
84
+ scenarios: (evalMetadata.scenarios || []),
85
+ metrics: (evalMetadata.metrics || []),
86
+ success_threshold: evalMetadata.success_threshold || 80,
87
+ platforms: evalMetadata.platforms || []
88
+ };
89
+ }
90
+ async validateSpecific(concept) {
91
+ return [];
92
+ }
93
+ async loadMetadata(conceptPath) {
94
+ const metadataPath = path_1.default.join(conceptPath, 'eval.yml');
95
+ const content = await fs_1.promises.readFile(metadataPath, 'utf-8');
96
+ return yaml.load(content);
97
+ }
98
+ async validateConcept(evalConcept) {
99
+ // Validate eval structure
100
+ if (evalConcept.scenarios.length === 0) {
101
+ throw new Error('Eval must have at least one scenario');
102
+ }
103
+ if (evalConcept.targets.length === 0) {
104
+ throw new Error('Eval must target at least one concept');
105
+ }
106
+ // Validate target format
107
+ for (const target of evalConcept.targets) {
108
+ if (!target.includes(':')) {
109
+ throw new Error(`Invalid target format: ${target}. Use format 'type:name'`);
110
+ }
111
+ }
112
+ }
113
+ getSchema() {
114
+ return EvalMetadataSchema;
115
+ }
116
+ }
117
+ exports.EvalLoader = EvalLoader;
118
+ //# sourceMappingURL=eval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eval.js","sourceRoot":"","sources":["../../../src/core/concepts/eval.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Concept system exports
3
+ */
4
+ export { BaseConceptLoader, ConceptReferenceImpl } from './base';
5
+ export { RoleLoader } from './role';
6
+ import { ConceptType } from '../../types';
7
+ import { BaseConceptLoader } from './base';
8
+ export declare function createConceptLoader(type: ConceptType): BaseConceptLoader<any>;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/concepts/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAI3C,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAwB7E"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ /**
3
+ * Concept system exports
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.RoleLoader = exports.ConceptReferenceImpl = exports.BaseConceptLoader = void 0;
7
+ exports.createConceptLoader = createConceptLoader;
8
+ var base_1 = require("./base");
9
+ Object.defineProperty(exports, "BaseConceptLoader", { enumerable: true, get: function () { return base_1.BaseConceptLoader; } });
10
+ Object.defineProperty(exports, "ConceptReferenceImpl", { enumerable: true, get: function () { return base_1.ConceptReferenceImpl; } });
11
+ var role_1 = require("./role");
12
+ Object.defineProperty(exports, "RoleLoader", { enumerable: true, get: function () { return role_1.RoleLoader; } });
13
+ const types_1 = require("../../types");
14
+ const role_2 = require("./role");
15
+ // Factory for creating concept loaders
16
+ function createConceptLoader(type) {
17
+ switch (type) {
18
+ case types_1.ConceptType.ROLE:
19
+ return new role_2.RoleLoader();
20
+ case types_1.ConceptType.TOOL:
21
+ // TODO: Implement ToolLoader
22
+ throw new Error('ToolLoader not yet implemented');
23
+ case types_1.ConceptType.EVAL:
24
+ // TODO: Implement EvalLoader
25
+ throw new Error('EvalLoader not yet implemented');
26
+ case types_1.ConceptType.TEAM:
27
+ // TODO: Implement TeamLoader
28
+ throw new Error('TeamLoader not yet implemented');
29
+ case types_1.ConceptType.WORKFLOW:
30
+ // TODO: Implement WorkflowLoader
31
+ throw new Error('WorkflowLoader not yet implemented');
32
+ default:
33
+ throw new Error(`Unknown concept type: ${type}`);
34
+ }
35
+ }
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/concepts/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAUH,kDAwBC;AAhCD,+BAAiE;AAAxD,yGAAA,iBAAiB,OAAA;AAAE,4GAAA,oBAAoB,OAAA;AAChD,+BAAoC;AAA3B,kGAAA,UAAU,OAAA;AAEnB,uCAA0C;AAE1C,iCAAoC;AAEpC,uCAAuC;AACvC,SAAgB,mBAAmB,CAAC,IAAiB;IACnD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,mBAAW,CAAC,IAAI;YACnB,OAAO,IAAI,iBAAU,EAAE,CAAC;QAE1B,KAAK,mBAAW,CAAC,IAAI;YACnB,6BAA6B;YAC7B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAEpD,KAAK,mBAAW,CAAC,IAAI;YACnB,6BAA6B;YAC7B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAEpD,KAAK,mBAAW,CAAC,IAAI;YACnB,6BAA6B;YAC7B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAEpD,KAAK,mBAAW,CAAC,QAAQ;YACvB,iCAAiC;YACjC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAExD;YACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;AACH,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Role concept loader and validator
3
+ */
4
+ import { z } from 'zod';
5
+ import { BaseConceptLoader } from './base';
6
+ import { Role, RoleMetadata, ValidationError } from '../../types';
7
+ export declare class RoleLoader extends BaseConceptLoader<Role> {
8
+ constructor();
9
+ protected getMetadataSchema(): z.ZodSchema;
10
+ protected loadConceptContent(conceptPath: string, metadata: RoleMetadata): Promise<Role>;
11
+ protected validateSpecific(role: Role): Promise<ValidationError[]>;
12
+ private loadPrompt;
13
+ private loadTasks;
14
+ private loadFlows;
15
+ private loadContexts;
16
+ private loadBindings;
17
+ private extractContextReferences;
18
+ }
19
+ //# sourceMappingURL=role.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.d.ts","sourceRoot":"","sources":["../../../src/core/concepts/role.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAsB,MAAM,QAAQ,CAAC;AAC/D,OAAO,EACL,IAAI,EACJ,YAAY,EAMZ,eAAe,EAEhB,MAAM,aAAa,CAAC;AAYrB,qBAAa,UAAW,SAAQ,iBAAiB,CAAC,IAAI,CAAC;;IAKrD,SAAS,CAAC,iBAAiB,IAAI,CAAC,CAAC,SAAS;cAI1B,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;cA8B9E,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;YAsE1D,UAAU;YAOV,SAAS;YAiBT,SAAS;YAiBT,YAAY;YA6BZ,YAAY;IAwB1B,OAAO,CAAC,wBAAwB;CAOjC"}