@fractary/faber 0.1.1 → 1.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.
Files changed (261) hide show
  1. package/README.md +366 -76
  2. package/dist/cli/commands/logs.d.ts +6 -0
  3. package/dist/cli/commands/logs.d.ts.map +1 -0
  4. package/dist/cli/commands/logs.js +215 -0
  5. package/dist/cli/commands/logs.js.map +1 -0
  6. package/dist/cli/commands/repo.d.ts +6 -0
  7. package/dist/cli/commands/repo.d.ts.map +1 -0
  8. package/dist/cli/commands/repo.js +260 -0
  9. package/dist/cli/commands/repo.js.map +1 -0
  10. package/dist/cli/commands/spec.d.ts +6 -0
  11. package/dist/cli/commands/spec.d.ts.map +1 -0
  12. package/dist/cli/commands/spec.js +184 -0
  13. package/dist/cli/commands/spec.js.map +1 -0
  14. package/dist/cli/commands/work.d.ts +6 -0
  15. package/dist/cli/commands/work.d.ts.map +1 -0
  16. package/dist/cli/commands/work.js +113 -0
  17. package/dist/cli/commands/work.js.map +1 -0
  18. package/dist/cli/commands/workflow.d.ts +6 -0
  19. package/dist/cli/commands/workflow.d.ts.map +1 -0
  20. package/dist/cli/commands/workflow.js +214 -0
  21. package/dist/cli/commands/workflow.js.map +1 -0
  22. package/dist/cli/index.d.ts +8 -0
  23. package/dist/cli/index.d.ts.map +1 -0
  24. package/dist/cli/index.js +27 -0
  25. package/dist/cli/index.js.map +1 -0
  26. package/dist/config.d.ts +814 -0
  27. package/dist/config.d.ts.map +1 -0
  28. package/dist/config.js +438 -0
  29. package/dist/config.js.map +1 -0
  30. package/dist/errors.d.ts +264 -0
  31. package/dist/errors.d.ts.map +1 -0
  32. package/dist/errors.js +491 -0
  33. package/dist/errors.js.map +1 -0
  34. package/dist/index.d.ts +21 -16
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +23 -36
  37. package/dist/index.js.map +1 -1
  38. package/dist/logs/index.d.ts +8 -0
  39. package/dist/logs/index.d.ts.map +1 -0
  40. package/dist/{types → logs}/index.js +7 -11
  41. package/dist/logs/index.js.map +1 -0
  42. package/dist/logs/manager.d.ts +97 -0
  43. package/dist/logs/manager.d.ts.map +1 -0
  44. package/dist/logs/manager.js +581 -0
  45. package/dist/logs/manager.js.map +1 -0
  46. package/dist/logs/types.d.ts +45 -0
  47. package/dist/logs/types.d.ts.map +1 -0
  48. package/dist/logs/types.js +8 -0
  49. package/dist/logs/types.js.map +1 -0
  50. package/dist/repo/git.d.ts +182 -0
  51. package/dist/repo/git.d.ts.map +1 -0
  52. package/dist/repo/git.js +496 -0
  53. package/dist/repo/git.js.map +1 -0
  54. package/dist/repo/index.d.ts +10 -0
  55. package/dist/repo/index.d.ts.map +1 -0
  56. package/dist/repo/index.js +29 -0
  57. package/dist/repo/index.js.map +1 -0
  58. package/dist/repo/manager.d.ts +179 -0
  59. package/dist/repo/manager.d.ts.map +1 -0
  60. package/dist/repo/manager.js +433 -0
  61. package/dist/repo/manager.js.map +1 -0
  62. package/dist/repo/providers/bitbucket.d.ts +38 -0
  63. package/dist/repo/providers/bitbucket.d.ts.map +1 -0
  64. package/dist/repo/providers/bitbucket.js +76 -0
  65. package/dist/repo/providers/bitbucket.js.map +1 -0
  66. package/dist/repo/providers/github.d.ts +30 -0
  67. package/dist/repo/providers/github.d.ts.map +1 -0
  68. package/dist/repo/providers/github.js +311 -0
  69. package/dist/repo/providers/github.js.map +1 -0
  70. package/dist/repo/providers/gitlab.d.ts +37 -0
  71. package/dist/repo/providers/gitlab.d.ts.map +1 -0
  72. package/dist/repo/providers/gitlab.js +74 -0
  73. package/dist/repo/providers/gitlab.js.map +1 -0
  74. package/dist/repo/providers/index.d.ts +9 -0
  75. package/dist/repo/providers/index.d.ts.map +1 -0
  76. package/dist/repo/providers/index.js +15 -0
  77. package/dist/repo/providers/index.js.map +1 -0
  78. package/dist/repo/types.d.ts +47 -0
  79. package/dist/repo/types.d.ts.map +1 -0
  80. package/dist/repo/types.js +8 -0
  81. package/dist/repo/types.js.map +1 -0
  82. package/dist/spec/index.d.ts +9 -0
  83. package/dist/spec/index.d.ts.map +1 -0
  84. package/dist/spec/index.js +30 -0
  85. package/dist/spec/index.js.map +1 -0
  86. package/dist/spec/manager.d.ts +98 -0
  87. package/dist/spec/manager.d.ts.map +1 -0
  88. package/dist/spec/manager.js +650 -0
  89. package/dist/spec/manager.js.map +1 -0
  90. package/dist/spec/templates.d.ts +28 -0
  91. package/dist/spec/templates.d.ts.map +1 -0
  92. package/dist/spec/templates.js +357 -0
  93. package/dist/spec/templates.js.map +1 -0
  94. package/dist/spec/types.d.ts +53 -0
  95. package/dist/spec/types.d.ts.map +1 -0
  96. package/dist/spec/types.js +8 -0
  97. package/dist/spec/types.js.map +1 -0
  98. package/dist/state/index.d.ts +8 -0
  99. package/dist/state/index.d.ts.map +1 -0
  100. package/dist/state/index.js +26 -0
  101. package/dist/state/index.js.map +1 -0
  102. package/dist/state/manager.d.ts +132 -0
  103. package/dist/state/manager.d.ts.map +1 -0
  104. package/dist/state/manager.js +517 -0
  105. package/dist/state/manager.js.map +1 -0
  106. package/dist/state/types.d.ts +46 -0
  107. package/dist/state/types.d.ts.map +1 -0
  108. package/dist/state/types.js +8 -0
  109. package/dist/state/types.js.map +1 -0
  110. package/dist/storage/codex-adapter.d.ts +62 -0
  111. package/dist/storage/codex-adapter.d.ts.map +1 -0
  112. package/dist/storage/codex-adapter.js +177 -0
  113. package/dist/storage/codex-adapter.js.map +1 -0
  114. package/dist/storage/index.d.ts +9 -0
  115. package/dist/storage/index.d.ts.map +1 -0
  116. package/dist/storage/index.js +15 -0
  117. package/dist/storage/index.js.map +1 -0
  118. package/dist/storage/local.d.ts +42 -0
  119. package/dist/storage/local.d.ts.map +1 -0
  120. package/dist/storage/local.js +137 -0
  121. package/dist/storage/local.js.map +1 -0
  122. package/dist/types.d.ts +603 -0
  123. package/dist/types.d.ts.map +1 -0
  124. package/dist/types.js +8 -0
  125. package/dist/types.js.map +1 -0
  126. package/dist/work/index.d.ts +8 -0
  127. package/dist/work/index.d.ts.map +1 -0
  128. package/dist/work/index.js +26 -0
  129. package/dist/work/index.js.map +1 -0
  130. package/dist/work/manager.d.ts +112 -0
  131. package/dist/work/manager.d.ts.map +1 -0
  132. package/dist/work/manager.js +227 -0
  133. package/dist/work/manager.js.map +1 -0
  134. package/dist/work/providers/github.d.ts +40 -0
  135. package/dist/work/providers/github.d.ts.map +1 -0
  136. package/dist/work/providers/github.js +299 -0
  137. package/dist/work/providers/github.js.map +1 -0
  138. package/dist/work/providers/jira.d.ts +50 -0
  139. package/dist/work/providers/jira.d.ts.map +1 -0
  140. package/dist/work/providers/jira.js +99 -0
  141. package/dist/work/providers/jira.js.map +1 -0
  142. package/dist/work/providers/linear.d.ts +47 -0
  143. package/dist/work/providers/linear.d.ts.map +1 -0
  144. package/dist/work/providers/linear.js +93 -0
  145. package/dist/work/providers/linear.js.map +1 -0
  146. package/dist/work/types.d.ts +41 -0
  147. package/dist/work/types.d.ts.map +1 -0
  148. package/dist/work/types.js +8 -0
  149. package/dist/work/types.js.map +1 -0
  150. package/dist/workflow/faber.d.ts +107 -0
  151. package/dist/workflow/faber.d.ts.map +1 -0
  152. package/dist/workflow/faber.js +606 -0
  153. package/dist/workflow/faber.js.map +1 -0
  154. package/dist/workflow/index.d.ts +8 -0
  155. package/dist/workflow/index.d.ts.map +1 -0
  156. package/dist/workflow/index.js +26 -0
  157. package/dist/workflow/index.js.map +1 -0
  158. package/dist/workflow/types.d.ts +54 -0
  159. package/dist/workflow/types.d.ts.map +1 -0
  160. package/dist/workflow/types.js +8 -0
  161. package/dist/workflow/types.js.map +1 -0
  162. package/package.json +42 -28
  163. package/dist/api.d.ts +0 -81
  164. package/dist/api.d.ts.map +0 -1
  165. package/dist/api.js +0 -261
  166. package/dist/api.js.map +0 -1
  167. package/dist/bindings/claude-code/transformer.d.ts +0 -55
  168. package/dist/bindings/claude-code/transformer.d.ts.map +0 -1
  169. package/dist/bindings/claude-code/transformer.js +0 -271
  170. package/dist/bindings/claude-code/transformer.js.map +0 -1
  171. package/dist/bindings/index.d.ts +0 -21
  172. package/dist/bindings/index.d.ts.map +0 -1
  173. package/dist/bindings/index.js +0 -43
  174. package/dist/bindings/index.js.map +0 -1
  175. package/dist/core/concepts/base.d.ts +0 -89
  176. package/dist/core/concepts/base.d.ts.map +0 -1
  177. package/dist/core/concepts/base.js +0 -230
  178. package/dist/core/concepts/base.js.map +0 -1
  179. package/dist/core/concepts/eval.d.ts +0 -90
  180. package/dist/core/concepts/eval.d.ts.map +0 -1
  181. package/dist/core/concepts/eval.js +0 -118
  182. package/dist/core/concepts/eval.js.map +0 -1
  183. package/dist/core/concepts/index.d.ts +0 -9
  184. package/dist/core/concepts/index.d.ts.map +0 -1
  185. package/dist/core/concepts/index.js +0 -36
  186. package/dist/core/concepts/index.js.map +0 -1
  187. package/dist/core/concepts/role.d.ts +0 -19
  188. package/dist/core/concepts/role.d.ts.map +0 -1
  189. package/dist/core/concepts/role.js +0 -227
  190. package/dist/core/concepts/role.js.map +0 -1
  191. package/dist/core/concepts/team.d.ts +0 -57
  192. package/dist/core/concepts/team.d.ts.map +0 -1
  193. package/dist/core/concepts/team.js +0 -106
  194. package/dist/core/concepts/team.js.map +0 -1
  195. package/dist/core/concepts/tool.d.ts +0 -43
  196. package/dist/core/concepts/tool.d.ts.map +0 -1
  197. package/dist/core/concepts/tool.js +0 -104
  198. package/dist/core/concepts/tool.js.map +0 -1
  199. package/dist/core/concepts/workflow.d.ts +0 -87
  200. package/dist/core/concepts/workflow.d.ts.map +0 -1
  201. package/dist/core/concepts/workflow.js +0 -114
  202. package/dist/core/concepts/workflow.js.map +0 -1
  203. package/dist/core/config/index.d.ts +0 -34
  204. package/dist/core/config/index.d.ts.map +0 -1
  205. package/dist/core/config/index.js +0 -80
  206. package/dist/core/config/index.js.map +0 -1
  207. package/dist/core/config/loader.d.ts +0 -53
  208. package/dist/core/config/loader.d.ts.map +0 -1
  209. package/dist/core/config/loader.js +0 -234
  210. package/dist/core/config/loader.js.map +0 -1
  211. package/dist/core/contexts/index.d.ts +0 -36
  212. package/dist/core/contexts/index.d.ts.map +0 -1
  213. package/dist/core/contexts/index.js +0 -75
  214. package/dist/core/contexts/index.js.map +0 -1
  215. package/dist/core/contexts/loader.d.ts +0 -66
  216. package/dist/core/contexts/loader.d.ts.map +0 -1
  217. package/dist/core/contexts/loader.js +0 -261
  218. package/dist/core/contexts/loader.js.map +0 -1
  219. package/dist/core/overlays/index.d.ts +0 -31
  220. package/dist/core/overlays/index.d.ts.map +0 -1
  221. package/dist/core/overlays/index.js +0 -82
  222. package/dist/core/overlays/index.js.map +0 -1
  223. package/dist/core/overlays/resolver.d.ts +0 -65
  224. package/dist/core/overlays/resolver.d.ts.map +0 -1
  225. package/dist/core/overlays/resolver.js +0 -249
  226. package/dist/core/overlays/resolver.js.map +0 -1
  227. package/dist/types/bindings.d.ts +0 -59
  228. package/dist/types/bindings.d.ts.map +0 -1
  229. package/dist/types/bindings.js +0 -6
  230. package/dist/types/bindings.js.map +0 -1
  231. package/dist/types/concepts.d.ts +0 -131
  232. package/dist/types/concepts.d.ts.map +0 -1
  233. package/dist/types/concepts.js +0 -29
  234. package/dist/types/concepts.js.map +0 -1
  235. package/dist/types/config.d.ts +0 -42
  236. package/dist/types/config.d.ts.map +0 -1
  237. package/dist/types/config.js +0 -6
  238. package/dist/types/config.js.map +0 -1
  239. package/dist/types/contexts.d.ts +0 -59
  240. package/dist/types/contexts.d.ts.map +0 -1
  241. package/dist/types/contexts.js +0 -17
  242. package/dist/types/contexts.js.map +0 -1
  243. package/dist/types/index.d.ts +0 -17
  244. package/dist/types/index.d.ts.map +0 -1
  245. package/dist/types/index.js.map +0 -1
  246. package/dist/types/overlays.d.ts +0 -28
  247. package/dist/types/overlays.d.ts.map +0 -1
  248. package/dist/types/overlays.js +0 -15
  249. package/dist/types/overlays.js.map +0 -1
  250. package/dist/utils/file-system.d.ts +0 -40
  251. package/dist/utils/file-system.d.ts.map +0 -1
  252. package/dist/utils/file-system.js +0 -105
  253. package/dist/utils/file-system.js.map +0 -1
  254. package/dist/utils/template.d.ts +0 -28
  255. package/dist/utils/template.d.ts.map +0 -1
  256. package/dist/utils/template.js +0 -107
  257. package/dist/utils/template.js.map +0 -1
  258. package/dist/utils/validation.d.ts +0 -42
  259. package/dist/utils/validation.d.ts.map +0 -1
  260. package/dist/utils/validation.js +0 -94
  261. package/dist/utils/validation.js.map +0 -1
@@ -0,0 +1,54 @@
1
+ /**
2
+ * @fractary/faber - Workflow Module Types
3
+ *
4
+ * Re-exports from main types + workflow-specific interfaces.
5
+ */
6
+ export { AutonomyLevel, WorkflowConfig, WorkflowHooks, WorkflowOptions, WorkflowResult, PhaseResult, WorkflowStatus, FaberPhase, ArtifactManifest, } from '../types';
7
+ /**
8
+ * Phase handler function type
9
+ */
10
+ export type PhaseHandler = (context: PhaseContext) => Promise<PhaseHandlerResult>;
11
+ /**
12
+ * Context passed to phase handlers
13
+ */
14
+ export interface PhaseContext {
15
+ workflowId: string;
16
+ workId: string;
17
+ phase: string;
18
+ autonomy: string;
19
+ issue: import('../types').Issue | null;
20
+ spec: import('../types').Specification | null;
21
+ branch: string | null;
22
+ previousOutputs: Record<string, Record<string, unknown>>;
23
+ }
24
+ /**
25
+ * Result from a phase handler
26
+ */
27
+ export interface PhaseHandlerResult {
28
+ status: 'completed' | 'failed' | 'skipped' | 'needs_input';
29
+ outputs?: Record<string, unknown>;
30
+ error?: string;
31
+ message?: string;
32
+ }
33
+ /**
34
+ * User confirmation request
35
+ */
36
+ export interface ConfirmationRequest {
37
+ phase: string;
38
+ action: string;
39
+ message: string;
40
+ options?: string[];
41
+ }
42
+ /**
43
+ * User input callback
44
+ */
45
+ export type UserInputCallback = (request: ConfirmationRequest) => Promise<boolean | string>;
46
+ /**
47
+ * Workflow event types
48
+ */
49
+ export type WorkflowEvent = 'workflow:start' | 'workflow:complete' | 'workflow:fail' | 'workflow:pause' | 'phase:start' | 'phase:complete' | 'phase:fail' | 'phase:skip' | 'artifact:create';
50
+ /**
51
+ * Event listener callback
52
+ */
53
+ export type EventListener = (event: WorkflowEvent, data: Record<string, unknown>) => void;
54
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/workflow/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,aAAa,EACb,cAAc,EACd,aAAa,EACb,eAAe,EACf,cAAc,EACd,WAAW,EACX,cAAc,EACd,UAAU,EACV,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAElF;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,UAAU,EAAE,KAAK,GAAG,IAAI,CAAC;IACvC,IAAI,EAAE,OAAO,UAAU,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9C,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC1D;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,aAAa,CAAC;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;AAE5F;;GAEG;AACH,MAAM,MAAM,aAAa,GACrB,gBAAgB,GAChB,mBAAmB,GACnB,eAAe,GACf,gBAAgB,GAChB,aAAa,GACb,gBAAgB,GAChB,YAAY,GACZ,YAAY,GACZ,iBAAiB,CAAC;AAEtB;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * @fractary/faber - Workflow Module Types
4
+ *
5
+ * Re-exports from main types + workflow-specific interfaces.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/workflow/types.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
package/package.json CHANGED
@@ -1,25 +1,44 @@
1
1
  {
2
2
  "name": "@fractary/faber",
3
- "version": "0.1.1",
4
- "description": "Universal AI agent orchestration framework - core SDK",
3
+ "version": "1.0.1",
4
+ "description": "FABER SDK - Development toolkit for AI-assisted workflows",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
+ "bin": {
8
+ "fractary": "dist/cli/index.js"
9
+ },
7
10
  "exports": {
8
11
  ".": {
9
12
  "types": "./dist/index.d.ts",
10
13
  "default": "./dist/index.js"
11
14
  },
12
- "./loaders": {
13
- "types": "./dist/core/concepts/index.d.ts",
14
- "default": "./dist/core/concepts/index.js"
15
+ "./work": {
16
+ "types": "./dist/work/index.d.ts",
17
+ "default": "./dist/work/index.js"
18
+ },
19
+ "./repo": {
20
+ "types": "./dist/repo/index.d.ts",
21
+ "default": "./dist/repo/index.js"
22
+ },
23
+ "./spec": {
24
+ "types": "./dist/spec/index.d.ts",
25
+ "default": "./dist/spec/index.js"
26
+ },
27
+ "./logs": {
28
+ "types": "./dist/logs/index.d.ts",
29
+ "default": "./dist/logs/index.js"
15
30
  },
16
- "./bindings": {
17
- "types": "./dist/bindings/index.d.ts",
18
- "default": "./dist/bindings/index.js"
31
+ "./state": {
32
+ "types": "./dist/state/index.d.ts",
33
+ "default": "./dist/state/index.js"
19
34
  },
20
- "./types": {
21
- "types": "./dist/types/index.d.ts",
22
- "default": "./dist/types/index.js"
35
+ "./workflow": {
36
+ "types": "./dist/workflow/index.d.ts",
37
+ "default": "./dist/workflow/index.js"
38
+ },
39
+ "./storage": {
40
+ "types": "./dist/storage/index.d.ts",
41
+ "default": "./dist/storage/index.js"
23
42
  }
24
43
  },
25
44
  "files": [
@@ -31,36 +50,31 @@
31
50
  "dev": "tsc --watch",
32
51
  "build": "tsc",
33
52
  "test": "jest",
53
+ "test:watch": "jest --watch",
34
54
  "lint": "eslint src --ext .ts",
35
55
  "typecheck": "tsc --noEmit",
36
56
  "prepublishOnly": "npm run build"
37
57
  },
38
58
  "keywords": [
39
- "ai",
40
- "agents",
41
- "orchestration",
42
- "framework",
59
+ "faber",
60
+ "workflow",
43
61
  "sdk",
44
- "mcp",
45
- "claude",
46
- "langgraph",
47
- "crewai"
62
+ "ai",
63
+ "development",
64
+ "automation",
65
+ "github",
66
+ "jira",
67
+ "linear",
68
+ "git"
48
69
  ],
49
70
  "author": "Fractary Team",
50
71
  "license": "MIT",
51
72
  "dependencies": {
52
- "ajv": "^8.12.0",
53
- "cosmiconfig": "^9.0.0",
54
- "glob": "^10.3.10",
55
- "handlebars": "^4.7.8",
56
- "js-yaml": "^4.1.0",
73
+ "commander": "^12.0.0",
57
74
  "zod": "^3.22.4"
58
75
  },
59
76
  "devDependencies": {
60
- "@types/glob": "^8.1.0",
61
- "@types/handlebars": "^4.0.40",
62
- "@types/js-yaml": "^4.0.9",
63
- "@types/node": "^20.11.0",
77
+ "@types/node": "^20.19.26",
64
78
  "@typescript-eslint/eslint-plugin": "^6.19.0",
65
79
  "@typescript-eslint/parser": "^6.19.0",
66
80
  "eslint": "^8.56.0",
package/dist/api.d.ts DELETED
@@ -1,81 +0,0 @@
1
- /**
2
- * Faber-CLI Programmatic API
3
- */
4
- import { EventEmitter } from 'events';
5
- import { Config, ConceptType, ValidationResult, Concept } from './types';
6
- import { Overlays } from './core/overlays/resolver';
7
- import { ConceptInfo, DeploymentArtifact } from './types';
8
- export interface FaberOptions {
9
- projectPath?: string;
10
- configPath?: string;
11
- verbose?: boolean;
12
- quiet?: boolean;
13
- }
14
- export interface CreateOptions {
15
- org?: string;
16
- system?: string;
17
- platforms?: string[];
18
- description?: string;
19
- members?: string[];
20
- type?: string;
21
- target?: string;
22
- }
23
- export interface BuildOptions {
24
- output?: string;
25
- noOverlays?: boolean;
26
- platform?: string;
27
- dryRun?: boolean;
28
- verbose?: boolean;
29
- }
30
- export declare class FaberAPI extends EventEmitter {
31
- private projectPath;
32
- private configPath;
33
- private config;
34
- private configLoader;
35
- constructor(options?: FaberOptions);
36
- /**
37
- * Initialize a new Faber project
38
- */
39
- init(template?: string): Promise<void>;
40
- /**
41
- * Get project configuration
42
- */
43
- getConfig(): Promise<Config>;
44
- /**
45
- * Set configuration value
46
- */
47
- setConfig(key: string, value: any): Promise<void>;
48
- /**
49
- * Create a new concept
50
- */
51
- createConcept(type: ConceptType, name: string, options?: CreateOptions): Promise<void>;
52
- /**
53
- * Load a concept
54
- */
55
- loadConcept<T extends Concept>(type: ConceptType, name: string): Promise<T>;
56
- /**
57
- * List concepts
58
- */
59
- listConcepts(type?: ConceptType): Promise<ConceptInfo[]>;
60
- /**
61
- * Validate a concept
62
- */
63
- validateConcept(type: ConceptType, name: string): Promise<ValidationResult>;
64
- /**
65
- * Build a deployment
66
- */
67
- build(framework: string, concept: Concept, options?: BuildOptions): Promise<DeploymentArtifact>;
68
- /**
69
- * Deploy an artifact
70
- */
71
- deploy(artifact: DeploymentArtifact, target: string): Promise<void>;
72
- /**
73
- * Resolve overlays
74
- */
75
- resolveOverlays(type: string, name: string, platform?: string): Promise<Overlays>;
76
- /**
77
- * Apply overlays to concept
78
- */
79
- applyOverlays(concept: Concept, overlays: Overlays): Promise<Concept>;
80
- }
81
- //# sourceMappingURL=api.d.ts.map
package/dist/api.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAOzE,OAAO,EAAmB,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGrE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE1D,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,QAAS,SAAQ,YAAY;IACxC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,YAAY,CAAe;gBAEvB,OAAO,GAAE,YAAiB;IAOtC;;OAEG;IACG,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2C5C;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAOlC;;OAEG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBvD;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2ChG;;OAEG;IACG,WAAW,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IA6BjF;;OAEG;IACG,YAAY,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAY9D;;OAEG;IACG,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA6BjF;;OAEG;IACG,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAuCzG;;OAEG;IACG,MAAM,CAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYzE;;OAEG;IACG,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAKvF;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;CAK5E"}
package/dist/api.js DELETED
@@ -1,261 +0,0 @@
1
- "use strict";
2
- /**
3
- * Faber-CLI Programmatic API
4
- */
5
- var __importDefault = (this && this.__importDefault) || function (mod) {
6
- return (mod && mod.__esModule) ? mod : { "default": mod };
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.FaberAPI = void 0;
10
- const events_1 = require("events");
11
- const path_1 = __importDefault(require("path"));
12
- const types_1 = require("./types");
13
- const loader_1 = require("./core/config/loader");
14
- const role_1 = require("./core/concepts/role");
15
- const team_1 = require("./core/concepts/team");
16
- const workflow_1 = require("./core/concepts/workflow");
17
- const tool_1 = require("./core/concepts/tool");
18
- const eval_1 = require("./core/concepts/eval");
19
- const resolver_1 = require("./core/overlays/resolver");
20
- const transformer_1 = require("./bindings/claude-code/transformer");
21
- const file_system_1 = require("./utils/file-system");
22
- class FaberAPI extends events_1.EventEmitter {
23
- constructor(options = {}) {
24
- super();
25
- this.config = null;
26
- this.projectPath = options.projectPath || process.cwd();
27
- this.configPath = options.configPath || path_1.default.join(this.projectPath, '.faber', 'config.yml');
28
- this.configLoader = new loader_1.ConfigLoader();
29
- }
30
- /**
31
- * Initialize a new Faber project
32
- */
33
- async init(template) {
34
- // Create project structure
35
- const dirs = [
36
- '.faber/overlays/organization',
37
- '.faber/overlays/platforms',
38
- '.faber/overlays/roles',
39
- '.faber/overlays/teams',
40
- '.faber/overlays/workflows',
41
- 'roles',
42
- 'tools',
43
- 'teams',
44
- 'workflows',
45
- 'evals',
46
- 'deployments'
47
- ];
48
- for (const dir of dirs) {
49
- await (0, file_system_1.ensureDirectoryExists)(path_1.default.join(this.projectPath, dir));
50
- }
51
- // Create default config
52
- const defaultConfig = {
53
- platforms: {},
54
- mcp_servers: {},
55
- overlays: {
56
- enabled: true,
57
- paths: ['.faber/overlays']
58
- },
59
- bindings: {
60
- claude: {
61
- auto_activate: true
62
- }
63
- }
64
- };
65
- await (0, file_system_1.writeFile)(this.configPath, `# Faber-CLI Configuration\n\n${JSON.stringify(defaultConfig, null, 2)}`);
66
- this.emit('init', { projectPath: this.projectPath, template });
67
- }
68
- /**
69
- * Get project configuration
70
- */
71
- async getConfig() {
72
- if (!this.config) {
73
- this.config = await this.configLoader.load(this.configPath);
74
- }
75
- return this.config;
76
- }
77
- /**
78
- * Set configuration value
79
- */
80
- async setConfig(key, value) {
81
- const config = await this.getConfig();
82
- const keys = key.split('.');
83
- let obj = config;
84
- for (let i = 0; i < keys.length - 1; i++) {
85
- if (!(keys[i] in obj)) {
86
- obj[keys[i]] = {};
87
- }
88
- obj = obj[keys[i]];
89
- }
90
- obj[keys[keys.length - 1]] = value;
91
- await (0, file_system_1.writeFile)(this.configPath, JSON.stringify(config, null, 2));
92
- this.config = config;
93
- this.emit('config:set', { key, value });
94
- }
95
- /**
96
- * Create a new concept
97
- */
98
- async createConcept(type, name, options = {}) {
99
- const conceptPath = path_1.default.join(this.projectPath, `${type}s`, name);
100
- await (0, file_system_1.ensureDirectoryExists)(conceptPath);
101
- // Create metadata file based on type
102
- const metadata = {
103
- name,
104
- description: options.description || `${type} ${name}`,
105
- ...options
106
- };
107
- const metadataFile = type === types_1.ConceptType.ROLE ? 'agent.yml' :
108
- type === types_1.ConceptType.TEAM ? 'team.yml' :
109
- type === types_1.ConceptType.WORKFLOW ? 'workflow.yml' :
110
- type === types_1.ConceptType.TOOL ? 'tool.yml' :
111
- 'eval.yml';
112
- await (0, file_system_1.writeFile)(path_1.default.join(conceptPath, metadataFile), `name: ${name}\n` +
113
- `description: ${metadata.description}\n` +
114
- (type === types_1.ConceptType.ROLE && options.platforms ?
115
- `platforms:\n${options.platforms.map(p => ` - ${p}`).join('\n')}\n` : '') +
116
- (type === types_1.ConceptType.TEAM && options.members ?
117
- `members:\n${options.members.map(m => ` - role: ${m}`).join('\n')}\n` : ''));
118
- // Create prompt.md for roles
119
- if (type === types_1.ConceptType.ROLE) {
120
- await (0, file_system_1.writeFile)(path_1.default.join(conceptPath, 'prompt.md'), `# ${name}\n\n${metadata.description}\n\n## Core Behavior\n\n[Define agent behavior here]`);
121
- // Create subdirectories
122
- for (const dir of ['tasks', 'flows', 'contexts']) {
123
- await (0, file_system_1.ensureDirectoryExists)(path_1.default.join(conceptPath, dir));
124
- }
125
- }
126
- this.emit('concept:created', { type, name, options });
127
- }
128
- /**
129
- * Load a concept
130
- */
131
- async loadConcept(type, name) {
132
- const conceptPath = path_1.default.join(this.projectPath, `${type}s`, name);
133
- let loader;
134
- switch (type) {
135
- case types_1.ConceptType.ROLE:
136
- loader = new role_1.RoleLoader();
137
- break;
138
- case types_1.ConceptType.TEAM:
139
- loader = new team_1.TeamLoader();
140
- break;
141
- case types_1.ConceptType.WORKFLOW:
142
- loader = new workflow_1.WorkflowLoader();
143
- break;
144
- case types_1.ConceptType.TOOL:
145
- loader = new tool_1.ToolLoader();
146
- break;
147
- case types_1.ConceptType.EVAL:
148
- loader = new eval_1.EvalLoader();
149
- break;
150
- default:
151
- throw new Error(`Unknown concept type: ${type}`);
152
- }
153
- const concept = await loader.load(conceptPath);
154
- this.emit('concept:loaded', { type, name, concept });
155
- return concept;
156
- }
157
- /**
158
- * List concepts
159
- */
160
- async listConcepts(type) {
161
- const concepts = [];
162
- const types = type ? [type] : Object.values(types_1.ConceptType);
163
- for (const t of types) {
164
- // Implementation would scan directories and load metadata
165
- // For now, returning empty array
166
- }
167
- return concepts;
168
- }
169
- /**
170
- * Validate a concept
171
- */
172
- async validateConcept(type, name) {
173
- const concept = await this.loadConcept(type, name);
174
- let loader;
175
- switch (type) {
176
- case types_1.ConceptType.ROLE:
177
- loader = new role_1.RoleLoader();
178
- break;
179
- case types_1.ConceptType.TEAM:
180
- loader = new team_1.TeamLoader();
181
- break;
182
- case types_1.ConceptType.WORKFLOW:
183
- loader = new workflow_1.WorkflowLoader();
184
- break;
185
- case types_1.ConceptType.TOOL:
186
- loader = new tool_1.ToolLoader();
187
- break;
188
- case types_1.ConceptType.EVAL:
189
- loader = new eval_1.EvalLoader();
190
- break;
191
- default:
192
- throw new Error(`Unknown concept type: ${type}`);
193
- }
194
- const result = await loader.validate(concept);
195
- this.emit('concept:validated', { type, name, result });
196
- return result;
197
- }
198
- /**
199
- * Build a deployment
200
- */
201
- async build(framework, concept, options = {}) {
202
- this.emit('build:start', { framework, concept: concept.name });
203
- const config = await this.getConfig();
204
- // Resolve overlays
205
- const overlayResolver = new resolver_1.OverlayResolver(this.projectPath);
206
- const overlays = options.noOverlays ?
207
- {} :
208
- await overlayResolver.resolveOverlays(concept.type, concept.name, options.platform);
209
- // Get transformer
210
- let transformer;
211
- switch (framework) {
212
- case 'claude':
213
- transformer = new transformer_1.ClaudeCodeTransformer();
214
- break;
215
- default:
216
- throw new Error(`Unknown framework: ${framework}`);
217
- }
218
- // Transform
219
- const artifact = await transformer.transform(concept, config, overlays);
220
- // Write files unless dry-run
221
- if (!options.dryRun) {
222
- const outputDir = options.output || path_1.default.join(this.projectPath, 'deployments', framework);
223
- for (const file of artifact.files) {
224
- const filePath = path_1.default.join(outputDir, file.path);
225
- await (0, file_system_1.ensureDirectoryExists)(path_1.default.dirname(filePath));
226
- await (0, file_system_1.writeFile)(filePath, file.content);
227
- }
228
- }
229
- this.emit('build:complete', artifact);
230
- return artifact;
231
- }
232
- /**
233
- * Deploy an artifact
234
- */
235
- async deploy(artifact, target) {
236
- this.emit('deploy:start', { artifact, target });
237
- for (const file of artifact.files) {
238
- const filePath = path_1.default.join(target, file.path);
239
- await (0, file_system_1.ensureDirectoryExists)(path_1.default.dirname(filePath));
240
- await (0, file_system_1.writeFile)(filePath, file.content);
241
- }
242
- this.emit('deploy:complete', { artifact, target });
243
- }
244
- /**
245
- * Resolve overlays
246
- */
247
- async resolveOverlays(type, name, platform) {
248
- const resolver = new resolver_1.OverlayResolver(this.projectPath);
249
- return resolver.resolveOverlays(type, name, platform);
250
- }
251
- /**
252
- * Apply overlays to concept
253
- */
254
- async applyOverlays(concept, overlays) {
255
- // Deep merge logic would go here
256
- // For now, returning original concept
257
- return concept;
258
- }
259
- }
260
- exports.FaberAPI = FaberAPI;
261
- //# sourceMappingURL=api.js.map
package/dist/api.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
@@ -1,55 +0,0 @@
1
- /**
2
- * Claude Code binding transformer
3
- */
4
- import { Role, Config, DeploymentArtifact } from '../../types';
5
- import { Overlays } from '../../core/overlays';
6
- export declare class ClaudeCodeTransformer {
7
- private bindingConfig;
8
- private templates;
9
- constructor(bindingConfigPath?: string);
10
- /**
11
- * Transform role to Claude Code deployment
12
- */
13
- transform(role: Role, config: Config, overlays: Overlays): Promise<DeploymentArtifact>;
14
- /**
15
- * Generate agent file content
16
- */
17
- private generateAgentFile;
18
- /**
19
- * Copy contexts to deployment
20
- */
21
- private copyContexts;
22
- /**
23
- * Copy overlay contexts to deployment
24
- */
25
- private copyOverlayContexts;
26
- /**
27
- * Copy tasks to deployment
28
- */
29
- private copyTasks;
30
- /**
31
- * Copy flows to deployment
32
- */
33
- private copyFlows;
34
- /**
35
- * Load binding configuration
36
- */
37
- private loadBindingConfig;
38
- /**
39
- * Load Handlebars templates
40
- */
41
- private loadTemplates;
42
- /**
43
- * Resolve path template
44
- */
45
- private resolvePath;
46
- /**
47
- * Collect overlay contexts for template
48
- */
49
- private collectOverlayContexts;
50
- /**
51
- * Get MCP servers used by role
52
- */
53
- private getMCPServers;
54
- }
55
- //# sourceMappingURL=transformer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../../../src/bindings/claude-code/transformer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EACL,IAAI,EACJ,MAAM,EACN,kBAAkB,EAKnB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,qBAAa,qBAAqB;IAChC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,SAAS,CAGV;gBAEK,iBAAiB,CAAC,EAAE,MAAM;IAOtC;;OAEG;IACG,SAAS,CACb,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,kBAAkB,CAAC;IA6C9B;;OAEG;YACW,iBAAiB;IAuC/B;;OAEG;YACW,YAAY;IAyB1B;;OAEG;YACW,mBAAmB;IAuDjC;;OAEG;YACW,SAAS;IAkBvB;;OAEG;YACW,SAAS;IAkBvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAoBrB;;OAEG;IACH,OAAO,CAAC,WAAW;IAOnB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAkC9B;;OAEG;IACH,OAAO,CAAC,aAAa;CAgBtB"}