@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,249 @@
1
+ "use strict";
2
+ /**
3
+ * Overlay system for customization without forking
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.OverlayResolver = void 0;
40
+ const fs = __importStar(require("fs/promises"));
41
+ const path = __importStar(require("path"));
42
+ const yaml = __importStar(require("js-yaml"));
43
+ const types_1 = require("../../types");
44
+ const loader_1 = require("../contexts/loader");
45
+ class OverlayResolver {
46
+ constructor(overlayPath = '.faber/overlays') {
47
+ this.overlayPath = overlayPath;
48
+ this.contextLoader = new loader_1.ContextLoader();
49
+ }
50
+ /**
51
+ * Resolve all overlays for a concept
52
+ */
53
+ async resolveOverlays(conceptType, conceptName, platform) {
54
+ const overlays = {
55
+ organization: await this.loadOrganizationOverlays(),
56
+ platforms: {},
57
+ roles: {},
58
+ teams: {},
59
+ workflows: {}
60
+ };
61
+ // Load platform overlays if platform specified
62
+ if (platform) {
63
+ overlays.platforms[platform] = await this.loadPlatformOverlays(platform);
64
+ }
65
+ // Load concept-specific overlays
66
+ switch (conceptType) {
67
+ case 'role':
68
+ overlays.roles[conceptName] = await this.loadRoleOverlays(conceptName);
69
+ break;
70
+ case 'team':
71
+ overlays.teams[conceptName] = await this.loadTeamOverlays(conceptName);
72
+ break;
73
+ case 'workflow':
74
+ overlays.workflows[conceptName] = await this.loadWorkflowOverlays(conceptName);
75
+ break;
76
+ }
77
+ return overlays;
78
+ }
79
+ /**
80
+ * Load organization-level overlays
81
+ */
82
+ async loadOrganizationOverlays() {
83
+ const orgPath = path.join(this.overlayPath, 'organization');
84
+ return this.loadOverlayContent(orgPath);
85
+ }
86
+ /**
87
+ * Load platform-specific overlays
88
+ */
89
+ async loadPlatformOverlays(platform) {
90
+ const platformPath = path.join(this.overlayPath, 'platforms', platform);
91
+ return this.loadOverlayContent(platformPath);
92
+ }
93
+ /**
94
+ * Load role-specific overlays
95
+ */
96
+ async loadRoleOverlays(roleName) {
97
+ const rolePath = path.join(this.overlayPath, 'roles', roleName);
98
+ return this.loadOverlayContent(rolePath);
99
+ }
100
+ /**
101
+ * Load team-specific overlays
102
+ */
103
+ async loadTeamOverlays(teamName) {
104
+ const teamPath = path.join(this.overlayPath, 'teams', teamName);
105
+ return this.loadOverlayContent(teamPath);
106
+ }
107
+ /**
108
+ * Load workflow-specific overlays
109
+ */
110
+ async loadWorkflowOverlays(workflowName) {
111
+ const workflowPath = path.join(this.overlayPath, 'workflows', workflowName);
112
+ return this.loadOverlayContent(workflowPath);
113
+ }
114
+ /**
115
+ * Load overlay content from a directory
116
+ */
117
+ async loadOverlayContent(overlayDir) {
118
+ const content = {
119
+ contexts: [],
120
+ config: undefined
121
+ };
122
+ // Check if directory exists
123
+ try {
124
+ await fs.access(overlayDir);
125
+ }
126
+ catch {
127
+ return content;
128
+ }
129
+ // Load contexts
130
+ const contextsPath = path.join(overlayDir, 'contexts');
131
+ content.contexts = await this.loadOverlayContexts(contextsPath);
132
+ // Load config if exists
133
+ const configPath = path.join(overlayDir, 'config.yml');
134
+ try {
135
+ const configContent = await fs.readFile(configPath, 'utf-8');
136
+ content.config = yaml.load(configContent);
137
+ }
138
+ catch {
139
+ // No config file
140
+ }
141
+ return content;
142
+ }
143
+ /**
144
+ * Load all contexts from overlay directory
145
+ */
146
+ async loadOverlayContexts(contextsPath) {
147
+ const contexts = [];
148
+ try {
149
+ await fs.access(contextsPath);
150
+ }
151
+ catch {
152
+ return contexts;
153
+ }
154
+ // Load contexts from each category
155
+ for (const category of Object.values(types_1.ContextCategory)) {
156
+ const categoryPath = path.join(contextsPath, category);
157
+ const categoryContexts = await this.contextLoader.loadCategoryContexts(categoryPath, category);
158
+ contexts.push(...categoryContexts);
159
+ }
160
+ return contexts;
161
+ }
162
+ /**
163
+ * Merge overlay configurations with precedence
164
+ */
165
+ mergeConfigurations(base, overlays) {
166
+ let merged = { ...base };
167
+ // Apply overlays in order of precedence
168
+ // 1. Organization overlay
169
+ if (overlays.organization.config) {
170
+ merged = this.deepMerge(merged, overlays.organization.config);
171
+ }
172
+ // 2. Platform overlays
173
+ for (const platformOverlay of Object.values(overlays.platforms)) {
174
+ if (platformOverlay.config) {
175
+ merged = this.deepMerge(merged, platformOverlay.config);
176
+ }
177
+ }
178
+ // 3. Role overlays
179
+ for (const roleOverlay of Object.values(overlays.roles)) {
180
+ if (roleOverlay.config) {
181
+ merged = this.deepMerge(merged, roleOverlay.config);
182
+ }
183
+ }
184
+ // 4. Team overlays
185
+ for (const teamOverlay of Object.values(overlays.teams)) {
186
+ if (teamOverlay.config) {
187
+ merged = this.deepMerge(merged, teamOverlay.config);
188
+ }
189
+ }
190
+ // 5. Workflow overlays
191
+ for (const workflowOverlay of Object.values(overlays.workflows)) {
192
+ if (workflowOverlay.config) {
193
+ merged = this.deepMerge(merged, workflowOverlay.config);
194
+ }
195
+ }
196
+ return merged;
197
+ }
198
+ /**
199
+ * Deep merge two objects
200
+ */
201
+ deepMerge(target, source) {
202
+ const result = { ...target };
203
+ for (const key in source) {
204
+ if (source.hasOwnProperty(key)) {
205
+ if (typeof source[key] === 'object' &&
206
+ source[key] !== null &&
207
+ !Array.isArray(source[key]) &&
208
+ typeof target[key] === 'object' &&
209
+ target[key] !== null &&
210
+ !Array.isArray(target[key])) {
211
+ // Recursively merge objects
212
+ result[key] = this.deepMerge(target[key], source[key]);
213
+ }
214
+ else if (Array.isArray(source[key]) && Array.isArray(target[key])) {
215
+ // Merge arrays (append strategy)
216
+ result[key] = [...target[key], ...source[key]];
217
+ }
218
+ else {
219
+ // Override value
220
+ result[key] = source[key];
221
+ }
222
+ }
223
+ }
224
+ return result;
225
+ }
226
+ /**
227
+ * Collect all contexts from overlays in precedence order
228
+ */
229
+ collectContexts(overlays) {
230
+ const contexts = [];
231
+ // Collect in precedence order
232
+ contexts.push(...overlays.organization.contexts);
233
+ for (const platformOverlay of Object.values(overlays.platforms)) {
234
+ contexts.push(...platformOverlay.contexts);
235
+ }
236
+ for (const roleOverlay of Object.values(overlays.roles)) {
237
+ contexts.push(...roleOverlay.contexts);
238
+ }
239
+ for (const teamOverlay of Object.values(overlays.teams)) {
240
+ contexts.push(...teamOverlay.contexts);
241
+ }
242
+ for (const workflowOverlay of Object.values(overlays.workflows)) {
243
+ contexts.push(...workflowOverlay.contexts);
244
+ }
245
+ return contexts;
246
+ }
247
+ }
248
+ exports.OverlayResolver = OverlayResolver;
249
+ //# sourceMappingURL=resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/core/overlays/resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Faber-CLI Public API
3
+ * Exports for programmatic usage
4
+ */
5
+ export * from './types';
6
+ export { BaseConceptLoader } from './core/concepts/base';
7
+ export { RoleLoader } from './core/concepts/role';
8
+ export { TeamLoader } from './core/concepts/team';
9
+ export { WorkflowLoader } from './core/concepts/workflow';
10
+ export { ToolLoader } from './core/concepts/tool';
11
+ export { EvalLoader } from './core/concepts/eval';
12
+ export { ContextLoader } from './core/contexts/loader';
13
+ export { OverlayResolver } from './core/overlays/resolver';
14
+ export { ConfigLoader } from './core/config/loader';
15
+ export { ClaudeCodeTransformer } from './bindings/claude-code/transformer';
16
+ export * from './utils/file-system';
17
+ export * from './utils/validation';
18
+ export * from './utils/template';
19
+ export { FaberAPI } from './api';
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAG3E,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ /**
3
+ * Faber-CLI Public API
4
+ * Exports for programmatic usage
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.FaberAPI = exports.ClaudeCodeTransformer = exports.ConfigLoader = exports.OverlayResolver = exports.ContextLoader = exports.EvalLoader = exports.ToolLoader = exports.WorkflowLoader = exports.TeamLoader = exports.RoleLoader = exports.BaseConceptLoader = void 0;
22
+ // Core types
23
+ __exportStar(require("./types"), exports);
24
+ // Concept loaders
25
+ var base_1 = require("./core/concepts/base");
26
+ Object.defineProperty(exports, "BaseConceptLoader", { enumerable: true, get: function () { return base_1.BaseConceptLoader; } });
27
+ var role_1 = require("./core/concepts/role");
28
+ Object.defineProperty(exports, "RoleLoader", { enumerable: true, get: function () { return role_1.RoleLoader; } });
29
+ var team_1 = require("./core/concepts/team");
30
+ Object.defineProperty(exports, "TeamLoader", { enumerable: true, get: function () { return team_1.TeamLoader; } });
31
+ var workflow_1 = require("./core/concepts/workflow");
32
+ Object.defineProperty(exports, "WorkflowLoader", { enumerable: true, get: function () { return workflow_1.WorkflowLoader; } });
33
+ var tool_1 = require("./core/concepts/tool");
34
+ Object.defineProperty(exports, "ToolLoader", { enumerable: true, get: function () { return tool_1.ToolLoader; } });
35
+ var eval_1 = require("./core/concepts/eval");
36
+ Object.defineProperty(exports, "EvalLoader", { enumerable: true, get: function () { return eval_1.EvalLoader; } });
37
+ // Context system
38
+ var loader_1 = require("./core/contexts/loader");
39
+ Object.defineProperty(exports, "ContextLoader", { enumerable: true, get: function () { return loader_1.ContextLoader; } });
40
+ // Overlay system
41
+ var resolver_1 = require("./core/overlays/resolver");
42
+ Object.defineProperty(exports, "OverlayResolver", { enumerable: true, get: function () { return resolver_1.OverlayResolver; } });
43
+ // Configuration
44
+ var loader_2 = require("./core/config/loader");
45
+ Object.defineProperty(exports, "ConfigLoader", { enumerable: true, get: function () { return loader_2.ConfigLoader; } });
46
+ // Bindings
47
+ var transformer_1 = require("./bindings/claude-code/transformer");
48
+ Object.defineProperty(exports, "ClaudeCodeTransformer", { enumerable: true, get: function () { return transformer_1.ClaudeCodeTransformer; } });
49
+ // Utilities
50
+ __exportStar(require("./utils/file-system"), exports);
51
+ __exportStar(require("./utils/validation"), exports);
52
+ __exportStar(require("./utils/template"), exports);
53
+ // Main API class
54
+ var api_1 = require("./api");
55
+ Object.defineProperty(exports, "FaberAPI", { enumerable: true, get: function () { return api_1.FaberAPI; } });
56
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAEH,aAAa;AACb,0CAAwB;AAExB,kBAAkB;AAClB,6CAAyD;AAAhD,yGAAA,iBAAiB,OAAA;AAC1B,6CAAkD;AAAzC,kGAAA,UAAU,OAAA;AACnB,6CAAkD;AAAzC,kGAAA,UAAU,OAAA;AACnB,qDAA0D;AAAjD,0GAAA,cAAc,OAAA;AACvB,6CAAkD;AAAzC,kGAAA,UAAU,OAAA;AACnB,6CAAkD;AAAzC,kGAAA,UAAU,OAAA;AAEnB,iBAAiB;AACjB,iDAAuD;AAA9C,uGAAA,aAAa,OAAA;AAEtB,iBAAiB;AACjB,qDAA2D;AAAlD,2GAAA,eAAe,OAAA;AAExB,gBAAgB;AAChB,+CAAoD;AAA3C,sGAAA,YAAY,OAAA;AAErB,WAAW;AACX,kEAA2E;AAAlE,oHAAA,qBAAqB,OAAA;AAE9B,YAAY;AACZ,sDAAoC;AACpC,qDAAmC;AACnC,mDAAiC;AAEjC,iBAAiB;AACjB,6BAAiC;AAAxB,+FAAA,QAAQ,OAAA"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Binding type definitions
3
+ */
4
+ import { Concept, ConceptType } from './concepts';
5
+ import { Config } from './config';
6
+ import { Overlays } from './overlays';
7
+ export interface BindingTransformer {
8
+ transform(concept: Concept, config: Config, overlays?: Overlays): Promise<DeploymentArtifact>;
9
+ validate(concept: Concept): Promise<ValidationResult>;
10
+ getRequirements(): BindingRequirements;
11
+ }
12
+ export interface DeploymentArtifact {
13
+ framework: string;
14
+ concept: string;
15
+ conceptType: ConceptType;
16
+ files: FileArtifact[];
17
+ metadata: DeploymentMetadata;
18
+ }
19
+ export interface FileArtifact {
20
+ path: string;
21
+ content: string;
22
+ encoding?: string;
23
+ permissions?: string;
24
+ }
25
+ export interface DeploymentMetadata {
26
+ version: string;
27
+ timestamp: string;
28
+ config: Config;
29
+ overlays?: Overlays;
30
+ platform?: string;
31
+ }
32
+ export interface BindingRequirements {
33
+ minVersion?: string;
34
+ requiredFeatures?: string[];
35
+ supportedConcepts: ConceptType[];
36
+ }
37
+ export interface ValidationResult {
38
+ valid: boolean;
39
+ errors: ValidationError[];
40
+ warnings: ValidationWarning[];
41
+ info?: ValidationInfo[];
42
+ }
43
+ export interface ValidationError {
44
+ path: string;
45
+ message: string;
46
+ code?: string;
47
+ type?: 'error' | 'warning';
48
+ }
49
+ export interface ValidationWarning {
50
+ path: string;
51
+ message: string;
52
+ code: string;
53
+ suggestion?: string;
54
+ }
55
+ export interface ValidationInfo {
56
+ path: string;
57
+ message: string;
58
+ }
59
+ //# sourceMappingURL=bindings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../src/types/bindings.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC9F,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACtD,eAAe,IAAI,mBAAmB,CAAC;CACxC;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,QAAQ,EAAE,kBAAkB,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,EAAE,WAAW,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,IAAI,CAAC,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Binding type definitions
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=bindings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bindings.js","sourceRoot":"","sources":["../../src/types/bindings.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -0,0 +1,131 @@
1
+ /**
2
+ * Concept type definitions
3
+ */
4
+ import { Context } from './contexts';
5
+ import { BindingConfig } from './config';
6
+ export declare enum ConceptType {
7
+ ROLE = "role",
8
+ TOOL = "tool",
9
+ EVAL = "eval",
10
+ TEAM = "team",
11
+ WORKFLOW = "workflow"
12
+ }
13
+ export interface Concept {
14
+ name: string;
15
+ type: ConceptType;
16
+ description?: string;
17
+ }
18
+ export interface Role extends Concept {
19
+ type: ConceptType.ROLE;
20
+ metadata: RoleMetadata;
21
+ path: string;
22
+ prompt: string;
23
+ tasks: Map<string, Task>;
24
+ flows: Map<string, Flow>;
25
+ contexts: Map<string, Context>;
26
+ bindings?: Map<string, BindingConfig>;
27
+ }
28
+ export interface Team extends Concept {
29
+ type: ConceptType.TEAM;
30
+ members: TeamMember[];
31
+ coordination?: CoordinationType;
32
+ workflows?: string[];
33
+ leader?: string;
34
+ }
35
+ export interface TeamMember {
36
+ role: string;
37
+ name?: string;
38
+ config?: Record<string, unknown>;
39
+ }
40
+ export declare enum CoordinationType {
41
+ HIERARCHICAL = "hierarchical",
42
+ COLLABORATIVE = "collaborative",
43
+ SEQUENTIAL = "sequential",
44
+ AUTONOMOUS = "autonomous"
45
+ }
46
+ export interface Workflow extends Concept {
47
+ type: ConceptType.WORKFLOW;
48
+ stages: Stage[];
49
+ teams: string[];
50
+ triggers?: Trigger[];
51
+ conditions?: Record<string, unknown>;
52
+ }
53
+ export interface Stage {
54
+ name: string;
55
+ team: string;
56
+ entry_criteria?: string[];
57
+ tasks: string[];
58
+ exit_criteria?: string[];
59
+ on_failure?: string[];
60
+ }
61
+ export interface Trigger {
62
+ type: 'manual' | 'scheduled' | 'event';
63
+ config?: Record<string, unknown>;
64
+ }
65
+ export interface Tool extends Concept {
66
+ type: ConceptType.TOOL;
67
+ tool_type: ToolType;
68
+ mcp_server?: boolean;
69
+ protocols?: string[];
70
+ command?: string;
71
+ args?: string[];
72
+ env?: Record<string, string>;
73
+ }
74
+ export declare enum ToolType {
75
+ MCP_SERVER = "mcp-server",
76
+ UTILITY = "utility",
77
+ API_CLIENT = "api-client"
78
+ }
79
+ export interface Eval extends Concept {
80
+ type: ConceptType.EVAL;
81
+ targets: string[];
82
+ scenarios: Scenario[];
83
+ metrics?: Metric[];
84
+ success_threshold?: number;
85
+ platforms?: string[];
86
+ }
87
+ export interface Scenario {
88
+ name: string;
89
+ description?: string;
90
+ inputs: Record<string, unknown>;
91
+ expected_outputs?: Record<string, unknown>;
92
+ assertions?: string[];
93
+ }
94
+ export interface Metric {
95
+ name: string;
96
+ type: 'accuracy' | 'coverage' | 'performance' | 'quality';
97
+ threshold?: number;
98
+ }
99
+ export interface Task {
100
+ name: string;
101
+ description?: string;
102
+ content?: string;
103
+ path?: string;
104
+ }
105
+ export interface Flow {
106
+ name: string;
107
+ description?: string;
108
+ content?: string;
109
+ path?: string;
110
+ }
111
+ export interface ConceptReference {
112
+ type: ConceptType;
113
+ name: string;
114
+ }
115
+ export interface ConceptMetadata {
116
+ name: string;
117
+ description?: string;
118
+ org?: string;
119
+ system?: string;
120
+ type?: ConceptType;
121
+ [key: string]: any;
122
+ }
123
+ export interface RoleMetadata extends ConceptMetadata {
124
+ type: ConceptType.ROLE;
125
+ platforms?: string[];
126
+ default_platform?: string;
127
+ platform_config_key?: string;
128
+ color?: string;
129
+ agent_type?: 'autonomous' | 'interactive' | 'batch';
130
+ }
131
+ //# sourceMappingURL=concepts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concepts.d.ts","sourceRoot":"","sources":["../../src/types/concepts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ /**
3
+ * Concept type definitions
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ToolType = exports.CoordinationType = exports.ConceptType = void 0;
7
+ // Base concept types
8
+ var ConceptType;
9
+ (function (ConceptType) {
10
+ ConceptType["ROLE"] = "role";
11
+ ConceptType["TOOL"] = "tool";
12
+ ConceptType["EVAL"] = "eval";
13
+ ConceptType["TEAM"] = "team";
14
+ ConceptType["WORKFLOW"] = "workflow";
15
+ })(ConceptType || (exports.ConceptType = ConceptType = {}));
16
+ var CoordinationType;
17
+ (function (CoordinationType) {
18
+ CoordinationType["HIERARCHICAL"] = "hierarchical";
19
+ CoordinationType["COLLABORATIVE"] = "collaborative";
20
+ CoordinationType["SEQUENTIAL"] = "sequential";
21
+ CoordinationType["AUTONOMOUS"] = "autonomous";
22
+ })(CoordinationType || (exports.CoordinationType = CoordinationType = {}));
23
+ var ToolType;
24
+ (function (ToolType) {
25
+ ToolType["MCP_SERVER"] = "mcp-server";
26
+ ToolType["UTILITY"] = "utility";
27
+ ToolType["API_CLIENT"] = "api-client";
28
+ })(ToolType || (exports.ToolType = ToolType = {}));
29
+ //# sourceMappingURL=concepts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concepts.js","sourceRoot":"","sources":["../../src/types/concepts.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAKH,qBAAqB;AACrB,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,4BAAa,CAAA;IACb,4BAAa,CAAA;IACb,4BAAa,CAAA;IACb,4BAAa,CAAA;IACb,oCAAqB,CAAA;AACvB,CAAC,EANW,WAAW,2BAAX,WAAW,QAMtB;AAoCD,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,iDAA6B,CAAA;IAC7B,mDAA+B,CAAA;IAC/B,6CAAyB,CAAA;IACzB,6CAAyB,CAAA;AAC3B,CAAC,EALW,gBAAgB,gCAAhB,gBAAgB,QAK3B;AAoCD,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,qCAAyB,CAAA;IACzB,+BAAmB,CAAA;IACnB,qCAAyB,CAAA;AAC3B,CAAC,EAJW,QAAQ,wBAAR,QAAQ,QAInB"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Configuration type definitions
3
+ */
4
+ export interface Config {
5
+ platforms?: Record<string, string>;
6
+ mcp_servers?: Record<string, MCPServerConfig>;
7
+ overlays?: {
8
+ enabled: boolean;
9
+ paths?: string[];
10
+ };
11
+ bindings?: Record<string, BindingConfig>;
12
+ }
13
+ export interface MCPServerConfig {
14
+ command?: string;
15
+ args?: string[];
16
+ env?: Record<string, string>;
17
+ url?: string;
18
+ api_key?: string;
19
+ }
20
+ export interface BindingConfig {
21
+ auto_activate?: boolean;
22
+ default_platform?: string;
23
+ context_loading?: 'lazy' | 'eager';
24
+ python_version?: string;
25
+ async_mode?: boolean;
26
+ output_structure?: {
27
+ role_path?: string;
28
+ config_path?: string;
29
+ docs_path?: string;
30
+ };
31
+ path_resolution?: {
32
+ context_prefix?: string;
33
+ task_prefix?: string;
34
+ flow_prefix?: string;
35
+ };
36
+ templates?: {
37
+ role_frontmatter?: string;
38
+ role_body?: string;
39
+ };
40
+ [key: string]: unknown;
41
+ }
42
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,MAAM;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC9C,QAAQ,CAAC,EAAE;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,eAAe,CAAC,EAAE;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Configuration type definitions
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":";AAAA;;GAEG"}