@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,271 @@
1
+ "use strict";
2
+ /**
3
+ * Claude Code binding transformer
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.ClaudeCodeTransformer = void 0;
40
+ const path = __importStar(require("path"));
41
+ const yaml = __importStar(require("js-yaml"));
42
+ const Handlebars = __importStar(require("handlebars"));
43
+ const types_1 = require("../../types");
44
+ const base_1 = require("../../core/concepts/base");
45
+ class ClaudeCodeTransformer {
46
+ constructor(bindingConfigPath) {
47
+ this.templates = {};
48
+ // Load binding configuration
49
+ const configPath = bindingConfigPath || path.join(__dirname, 'binding.yml');
50
+ this.bindingConfig = this.loadBindingConfig(configPath);
51
+ this.loadTemplates();
52
+ }
53
+ /**
54
+ * Transform role to Claude Code deployment
55
+ */
56
+ async transform(role, config, overlays) {
57
+ const files = new Map();
58
+ const directories = [];
59
+ // Generate agent file
60
+ const agentContent = await this.generateAgentFile(role, config, overlays);
61
+ const agentPath = this.resolvePath(this.bindingConfig.output_structure.role_path, role);
62
+ files.set(agentPath, agentContent);
63
+ directories.push(path.dirname(agentPath));
64
+ // Copy contexts
65
+ await this.copyContexts(role, files, directories);
66
+ // Copy overlay contexts
67
+ await this.copyOverlayContexts(overlays, role, files, directories);
68
+ // Copy tasks
69
+ await this.copyTasks(role, files, directories);
70
+ // Copy flows
71
+ await this.copyFlows(role, files, directories);
72
+ // Copy configuration
73
+ const configPath = this.bindingConfig.output_structure.config_path;
74
+ files.set(configPath, yaml.dump(config));
75
+ directories.push(path.dirname(configPath));
76
+ // Create metadata
77
+ const metadata = {
78
+ concept: new base_1.ConceptReferenceImpl(types_1.ConceptType.ROLE, role.metadata.name),
79
+ binding: 'claude-code',
80
+ timestamp: new Date().toISOString(),
81
+ config: config
82
+ };
83
+ return {
84
+ files: Array.from(files.entries()).map(([path, content]) => ({ path, content })),
85
+ directories: [...new Set(directories)], // Remove duplicates
86
+ metadata
87
+ };
88
+ }
89
+ /**
90
+ * Generate agent file content
91
+ */
92
+ async generateAgentFile(role, config, overlays) {
93
+ // Prepare template data
94
+ const templateData = {
95
+ metadata: role.metadata,
96
+ prompt: role.prompt,
97
+ tasks: Array.from(role.tasks.values()),
98
+ flows: Array.from(role.flows.values()),
99
+ contextCategories: Object.values(types_1.ContextCategory),
100
+ overlayContexts: this.collectOverlayContexts(overlays),
101
+ mcpServers: this.getMCPServers(role, config),
102
+ paths: {
103
+ contextPrefix: this.resolvePath(this.bindingConfig.path_resolution.context_prefix, role),
104
+ taskPrefix: this.resolvePath(this.bindingConfig.path_resolution.task_prefix, role),
105
+ flowPrefix: this.resolvePath(this.bindingConfig.path_resolution.flow_prefix, role)
106
+ }
107
+ };
108
+ // Generate frontmatter
109
+ const frontmatter = this.templates.frontmatter(templateData);
110
+ // Generate body
111
+ const body = this.templates.body(templateData);
112
+ return `${frontmatter}\n${body}`;
113
+ }
114
+ /**
115
+ * Copy contexts to deployment
116
+ */
117
+ async copyContexts(role, files, directories) {
118
+ const docsPath = this.resolvePath(this.bindingConfig.output_structure.docs_path, role);
119
+ const contextsPath = path.join(docsPath, 'contexts');
120
+ for (const [key, context] of role.contexts) {
121
+ const contextPath = path.join(contextsPath, key + '.md');
122
+ let content = context.content;
123
+ // Add frontmatter if not present
124
+ if (context.metadata) {
125
+ content = `---\n${yaml.dump(context.metadata)}---\n\n${content}`;
126
+ }
127
+ files.set(contextPath, content);
128
+ directories.push(path.dirname(contextPath));
129
+ }
130
+ }
131
+ /**
132
+ * Copy overlay contexts to deployment
133
+ */
134
+ async copyOverlayContexts(overlays, role, files, directories) {
135
+ const docsPath = this.resolvePath(this.bindingConfig.output_structure.docs_path, role);
136
+ const overlaysPath = path.join(docsPath, 'contexts', '_overlays');
137
+ // Organization overlays
138
+ for (const context of overlays.organization.contexts) {
139
+ const contextPath = path.join(overlaysPath, 'organization', context.category, context.name + '.md');
140
+ files.set(contextPath, context.content);
141
+ directories.push(path.dirname(contextPath));
142
+ }
143
+ // Platform overlays
144
+ for (const [platform, overlay] of Object.entries(overlays.platforms)) {
145
+ for (const context of overlay.contexts) {
146
+ const contextPath = path.join(overlaysPath, 'platforms', platform, context.category, context.name + '.md');
147
+ files.set(contextPath, context.content);
148
+ directories.push(path.dirname(contextPath));
149
+ }
150
+ }
151
+ // Role overlays
152
+ for (const [roleName, overlay] of Object.entries(overlays.roles)) {
153
+ for (const context of overlay.contexts) {
154
+ const contextPath = path.join(overlaysPath, 'roles', roleName, context.category, context.name + '.md');
155
+ files.set(contextPath, context.content);
156
+ directories.push(path.dirname(contextPath));
157
+ }
158
+ }
159
+ }
160
+ /**
161
+ * Copy tasks to deployment
162
+ */
163
+ async copyTasks(role, files, directories) {
164
+ const docsPath = this.resolvePath(this.bindingConfig.output_structure.docs_path, role);
165
+ const tasksPath = path.join(docsPath, 'tasks');
166
+ for (const task of role.tasks.values()) {
167
+ const taskPath = path.join(tasksPath, task.name + '.md');
168
+ files.set(taskPath, task.content);
169
+ directories.push(path.dirname(taskPath));
170
+ }
171
+ }
172
+ /**
173
+ * Copy flows to deployment
174
+ */
175
+ async copyFlows(role, files, directories) {
176
+ const docsPath = this.resolvePath(this.bindingConfig.output_structure.docs_path, role);
177
+ const flowsPath = path.join(docsPath, 'flows');
178
+ for (const flow of role.flows.values()) {
179
+ const flowPath = path.join(flowsPath, flow.name + '.md');
180
+ files.set(flowPath, flow.content);
181
+ directories.push(path.dirname(flowPath));
182
+ }
183
+ }
184
+ /**
185
+ * Load binding configuration
186
+ */
187
+ loadBindingConfig(configPath) {
188
+ try {
189
+ const content = require('fs').readFileSync(configPath, 'utf-8');
190
+ return yaml.load(content);
191
+ }
192
+ catch (error) {
193
+ throw new Error(`Failed to load binding config: ${error}`);
194
+ }
195
+ }
196
+ /**
197
+ * Load Handlebars templates
198
+ */
199
+ loadTemplates() {
200
+ if (this.bindingConfig.templates?.role_frontmatter) {
201
+ const templatePath = path.join(__dirname, this.bindingConfig.templates.role_frontmatter);
202
+ const templateContent = require('fs').readFileSync(templatePath, 'utf-8');
203
+ this.templates.frontmatter = Handlebars.compile(templateContent);
204
+ }
205
+ if (this.bindingConfig.templates?.role_body) {
206
+ const templatePath = path.join(__dirname, this.bindingConfig.templates.role_body);
207
+ const templateContent = require('fs').readFileSync(templatePath, 'utf-8');
208
+ this.templates.body = Handlebars.compile(templateContent);
209
+ }
210
+ }
211
+ /**
212
+ * Resolve path template
213
+ */
214
+ resolvePath(template, role) {
215
+ return template
216
+ .replace('{org}', role.metadata.org)
217
+ .replace('{system}', role.metadata.system)
218
+ .replace('{name}', role.metadata.name);
219
+ }
220
+ /**
221
+ * Collect overlay contexts for template
222
+ */
223
+ collectOverlayContexts(overlays) {
224
+ const contexts = [];
225
+ // Add organization contexts
226
+ for (const context of overlays.organization.contexts) {
227
+ contexts.push({
228
+ ...context,
229
+ path: `/.faber/overlays/organization/contexts/${context.category}/${context.name}.md`
230
+ });
231
+ }
232
+ // Add platform contexts
233
+ for (const [platform, overlay] of Object.entries(overlays.platforms)) {
234
+ for (const context of overlay.contexts) {
235
+ contexts.push({
236
+ ...context,
237
+ path: `/.faber/overlays/platforms/${platform}/contexts/${context.category}/${context.name}.md`
238
+ });
239
+ }
240
+ }
241
+ // Add role contexts
242
+ for (const [roleName, overlay] of Object.entries(overlays.roles)) {
243
+ for (const context of overlay.contexts) {
244
+ contexts.push({
245
+ ...context,
246
+ path: `/.faber/overlays/roles/${roleName}/contexts/${context.category}/${context.name}.md`
247
+ });
248
+ }
249
+ }
250
+ return contexts;
251
+ }
252
+ /**
253
+ * Get MCP servers used by role
254
+ */
255
+ getMCPServers(role, config) {
256
+ const servers = {};
257
+ // Check platform contexts for MCP server references
258
+ for (const context of role.contexts.values()) {
259
+ if (context.metadata?.mcp_server) {
260
+ const serverName = context.metadata.mcp_server;
261
+ const serverConfig = config.mcp_servers?.[serverName];
262
+ if (serverConfig) {
263
+ servers[serverName] = serverConfig;
264
+ }
265
+ }
266
+ }
267
+ return Object.keys(servers).length > 0 ? servers : null;
268
+ }
269
+ }
270
+ exports.ClaudeCodeTransformer = ClaudeCodeTransformer;
271
+ //# sourceMappingURL=transformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformer.js","sourceRoot":"","sources":["../../../src/bindings/claude-code/transformer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Binding system exports
3
+ */
4
+ export { ClaudeCodeTransformer } from './claude-code/transformer';
5
+ import { ConceptType, DeploymentArtifact, Config } from '../types';
6
+ import { Overlays } from '../core/overlays';
7
+ export interface Binding {
8
+ name: string;
9
+ version: string;
10
+ supportedConcepts: ConceptType[];
11
+ transform(concept: any, config: Config, overlays: Overlays): Promise<DeploymentArtifact>;
12
+ }
13
+ /**
14
+ * Create binding transformer for framework
15
+ */
16
+ export declare function createBinding(framework: string): Binding;
17
+ /**
18
+ * Check if binding supports concept type
19
+ */
20
+ export declare function bindingSupportsConceptType(binding: Binding, conceptType: ConceptType): boolean;
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bindings/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,EAAQ,MAAM,UAAU,CAAC;AAEzE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,WAAW,EAAE,CAAC;IAEjC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC1F;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAuBxD;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,GACvB,OAAO,CAET"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ /**
3
+ * Binding system exports
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ClaudeCodeTransformer = void 0;
7
+ exports.createBinding = createBinding;
8
+ exports.bindingSupportsConceptType = bindingSupportsConceptType;
9
+ var transformer_1 = require("./claude-code/transformer");
10
+ Object.defineProperty(exports, "ClaudeCodeTransformer", { enumerable: true, get: function () { return transformer_1.ClaudeCodeTransformer; } });
11
+ const types_1 = require("../types");
12
+ const transformer_2 = require("./claude-code/transformer");
13
+ /**
14
+ * Create binding transformer for framework
15
+ */
16
+ function createBinding(framework) {
17
+ switch (framework) {
18
+ case 'claude':
19
+ case 'claude-code':
20
+ return {
21
+ name: 'claude-code',
22
+ version: '1.0.0',
23
+ supportedConcepts: [types_1.ConceptType.ROLE, types_1.ConceptType.TOOL, types_1.ConceptType.EVAL],
24
+ transform: async (concept, config, overlays) => {
25
+ const transformer = new transformer_2.ClaudeCodeTransformer();
26
+ return transformer.transform(concept, config, overlays);
27
+ }
28
+ };
29
+ case 'langgraph':
30
+ throw new Error('LangGraph binding not yet implemented');
31
+ case 'crewai':
32
+ throw new Error('CrewAI binding not yet implemented');
33
+ default:
34
+ throw new Error(`Unknown binding framework: ${framework}`);
35
+ }
36
+ }
37
+ /**
38
+ * Check if binding supports concept type
39
+ */
40
+ function bindingSupportsConceptType(binding, conceptType) {
41
+ return binding.supportedConcepts.includes(conceptType);
42
+ }
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bindings/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAmBH,sCAuBC;AAKD,gEAKC;AAlDD,yDAAkE;AAAzD,oHAAA,qBAAqB,OAAA;AAE9B,oCAAyE;AACzE,2DAAkE;AAWlE;;GAEG;AACH,SAAgB,aAAa,CAAC,SAAiB;IAC7C,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,QAAQ,CAAC;QACd,KAAK,aAAa;YAChB,OAAO;gBACL,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,OAAO;gBAChB,iBAAiB,EAAE,CAAC,mBAAW,CAAC,IAAI,EAAE,mBAAW,CAAC,IAAI,EAAE,mBAAW,CAAC,IAAI,CAAC;gBACzE,SAAS,EAAE,KAAK,EAAE,OAAa,EAAE,MAAc,EAAE,QAAkB,EAAE,EAAE;oBACrE,MAAM,WAAW,GAAG,IAAI,mCAAqB,EAAE,CAAC;oBAChD,OAAO,WAAW,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAC1D,CAAC;aACF,CAAC;QAEJ,KAAK,WAAW;YACd,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAE3D,KAAK,QAAQ;YACX,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAExD;YACE,MAAM,IAAI,KAAK,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,0BAA0B,CACxC,OAAgB,EAChB,WAAwB;IAExB,OAAO,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACzD,CAAC"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Base concept loader and validator
3
+ */
4
+ import { z } from 'zod';
5
+ import { Concept, ConceptType, ConceptMetadata, ValidationResult, ValidationError, ConceptReference } from '../../types';
6
+ export declare const BaseMetadataSchema: z.ZodObject<{
7
+ org: z.ZodString;
8
+ system: z.ZodString;
9
+ name: z.ZodString;
10
+ type: z.ZodNativeEnum<typeof ConceptType>;
11
+ description: z.ZodString;
12
+ created: z.ZodOptional<z.ZodString>;
13
+ updated: z.ZodOptional<z.ZodString>;
14
+ visibility: z.ZodOptional<z.ZodEnum<["public", "internal", "private"]>>;
15
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
16
+ }, "strip", z.ZodTypeAny, {
17
+ name?: string;
18
+ description?: string;
19
+ org?: string;
20
+ system?: string;
21
+ type?: ConceptType;
22
+ created?: string;
23
+ updated?: string;
24
+ visibility?: "public" | "internal" | "private";
25
+ tags?: string[];
26
+ }, {
27
+ name?: string;
28
+ description?: string;
29
+ org?: string;
30
+ system?: string;
31
+ type?: ConceptType;
32
+ created?: string;
33
+ updated?: string;
34
+ visibility?: "public" | "internal" | "private";
35
+ tags?: string[];
36
+ }>;
37
+ export declare abstract class BaseConceptLoader<T extends Concept> {
38
+ protected conceptType: ConceptType;
39
+ constructor(conceptType: ConceptType);
40
+ /**
41
+ * Load a concept from disk
42
+ */
43
+ load(conceptPath: string): Promise<T>;
44
+ /**
45
+ * Validate a concept
46
+ */
47
+ validate(concept: T): Promise<ValidationResult>;
48
+ /**
49
+ * Load metadata file (agent.yml, tool.yml, etc.)
50
+ */
51
+ protected loadMetadata(conceptPath: string): Promise<ConceptMetadata>;
52
+ /**
53
+ * Validate metadata against schema
54
+ */
55
+ protected validateMetadata(metadata: ConceptMetadata): Promise<ValidationError[]>;
56
+ /**
57
+ * Check if file exists
58
+ */
59
+ protected fileExists(filePath: string): Promise<boolean>;
60
+ /**
61
+ * Read file content
62
+ */
63
+ protected readFile(filePath: string): Promise<string>;
64
+ /**
65
+ * List files in directory
66
+ */
67
+ protected listFiles(dirPath: string, extension?: string): Promise<string[]>;
68
+ /**
69
+ * Parse frontmatter from markdown
70
+ */
71
+ protected parseFrontmatter(content: string): {
72
+ metadata?: Record<string, unknown>;
73
+ body: string;
74
+ };
75
+ protected abstract getMetadataSchema(): z.ZodSchema;
76
+ protected abstract loadConceptContent(conceptPath: string, metadata: ConceptMetadata): Promise<T>;
77
+ protected abstract validateSpecific(concept: T): Promise<ValidationError[]>;
78
+ }
79
+ /**
80
+ * Concept reference implementation
81
+ */
82
+ export declare class ConceptReferenceImpl implements ConceptReference {
83
+ type: ConceptType;
84
+ name: string;
85
+ constructor(type: ConceptType, name: string);
86
+ toString(): string;
87
+ static parse(ref: string): ConceptReferenceImpl;
88
+ }
89
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/core/concepts/base.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,OAAO,EACP,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAGrB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU7B,CAAC;AAEH,8BAAsB,iBAAiB,CAAC,CAAC,SAAS,OAAO;IACvD,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;gBAEvB,WAAW,EAAE,WAAW;IAIpC;;OAEG;IACG,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAqB3C;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmBrD;;OAEG;cACa,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAmC3E;;OAEG;cACa,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAqBvF;;OAEG;cACa,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS9D;;OAEG;cACa,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI3D;;OAEG;cACa,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAYjF;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;IAiBjG,SAAS,CAAC,QAAQ,CAAC,iBAAiB,IAAI,CAAC,CAAC,SAAS;IACnD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC;IACjG,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CAC5E;AAED;;GAEG;AACH,qBAAa,oBAAqB,YAAW,gBAAgB;IAElD,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,MAAM;gBADZ,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,MAAM;IAGrB,QAAQ,IAAI,MAAM;IAIlB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB;CAYhD"}