@fractary/faber 1.2.1 → 2.1.0
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.
- package/dist/__tests__/config.test.js +60 -95
- package/dist/__tests__/config.test.js.map +1 -1
- package/dist/__tests__/integration/forge-integration.test.js +23 -25
- package/dist/__tests__/integration/forge-integration.test.js.map +1 -1
- package/dist/__tests__/integration/init-workflow.test.js +57 -92
- package/dist/__tests__/integration/init-workflow.test.js.map +1 -1
- package/dist/config/__tests__/initializer.test.js +56 -91
- package/dist/config/__tests__/initializer.test.js.map +1 -1
- package/dist/config/initializer.js +4 -41
- package/dist/config/initializer.js.map +1 -1
- package/dist/config.js +74 -127
- package/dist/config.js.map +1 -1
- package/dist/errors.js +38 -79
- package/dist/errors.js.map +1 -1
- package/dist/index.js +10 -26
- package/dist/index.js.map +1 -1
- package/dist/logs/index.js +2 -20
- package/dist/logs/index.js.map +1 -1
- package/dist/logs/manager.js +10 -47
- package/dist/logs/manager.js.map +1 -1
- package/dist/logs/types.js +1 -2
- package/dist/logs/types.js.map +1 -1
- package/dist/repo/git.js +8 -12
- package/dist/repo/git.js.map +1 -1
- package/dist/repo/index.js +4 -23
- package/dist/repo/index.js.map +1 -1
- package/dist/repo/manager.js +15 -19
- package/dist/repo/manager.js.map +1 -1
- package/dist/repo/providers/bitbucket.js +4 -8
- package/dist/repo/providers/bitbucket.js.map +1 -1
- package/dist/repo/providers/github.js +14 -51
- package/dist/repo/providers/github.js.map +1 -1
- package/dist/repo/providers/gitlab.js +4 -8
- package/dist/repo/providers/gitlab.js.map +1 -1
- package/dist/repo/providers/index.js +3 -9
- package/dist/repo/providers/index.js.map +1 -1
- package/dist/repo/types.js +1 -2
- package/dist/repo/types.js.map +1 -1
- package/dist/spec/__tests__/manager.test.js +33 -68
- package/dist/spec/__tests__/manager.test.js.map +1 -1
- package/dist/spec/index.js +3 -24
- package/dist/spec/index.js.map +1 -1
- package/dist/spec/manager.js +26 -63
- package/dist/spec/manager.js.map +1 -1
- package/dist/spec/templates.js +6 -12
- package/dist/spec/templates.js.map +1 -1
- package/dist/spec/types.js +1 -2
- package/dist/spec/types.js.map +1 -1
- package/dist/state/index.js +2 -20
- package/dist/state/index.js.map +1 -1
- package/dist/state/manager.d.ts +116 -24
- package/dist/state/manager.d.ts.map +1 -1
- package/dist/state/manager.js +251 -112
- package/dist/state/manager.js.map +1 -1
- package/dist/state/types.js +1 -2
- package/dist/state/types.js.map +1 -1
- package/dist/storage/codex-adapter.d.ts +5 -4
- package/dist/storage/codex-adapter.d.ts.map +1 -1
- package/dist/storage/codex-adapter.js +37 -28
- package/dist/storage/codex-adapter.js.map +1 -1
- package/dist/storage/index.js +2 -8
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/local.js +3 -40
- package/dist/storage/local.js.map +1 -1
- package/dist/types.js +1 -2
- package/dist/types.js.map +1 -1
- package/dist/work/index.js +2 -20
- package/dist/work/index.js.map +1 -1
- package/dist/work/manager.js +12 -16
- package/dist/work/manager.js.map +1 -1
- package/dist/work/providers/github.js +12 -16
- package/dist/work/providers/github.js.map +1 -1
- package/dist/work/providers/jira.js +4 -8
- package/dist/work/providers/jira.js.map +1 -1
- package/dist/work/providers/linear.js +4 -8
- package/dist/work/providers/linear.js.map +1 -1
- package/dist/work/types.js +1 -2
- package/dist/work/types.js.map +1 -1
- package/dist/workflow/__tests__/agent-executor.test.js +25 -27
- package/dist/workflow/__tests__/agent-executor.test.js.map +1 -1
- package/dist/workflow/agent-executor.js +5 -9
- package/dist/workflow/agent-executor.js.map +1 -1
- package/dist/workflow/faber.d.ts +11 -0
- package/dist/workflow/faber.d.ts.map +1 -1
- package/dist/workflow/faber.js +56 -50
- package/dist/workflow/faber.js.map +1 -1
- package/dist/workflow/index.js +3 -22
- package/dist/workflow/index.js.map +1 -1
- package/dist/workflow/types.js +1 -2
- package/dist/workflow/types.js.map +1 -1
- package/package.json +5 -4
package/dist/state/manager.d.ts
CHANGED
|
@@ -13,6 +13,50 @@ export declare class StateManager {
|
|
|
13
13
|
private config;
|
|
14
14
|
private stateDir;
|
|
15
15
|
constructor(config?: StateConfig);
|
|
16
|
+
/**
|
|
17
|
+
* Workflow operations
|
|
18
|
+
*/
|
|
19
|
+
readonly workflow: {
|
|
20
|
+
create: (workId: string) => WorkflowState;
|
|
21
|
+
save: (state: WorkflowState) => void;
|
|
22
|
+
get: (workflowId: string) => WorkflowState | null;
|
|
23
|
+
getActive: (workId: string) => WorkflowState | null;
|
|
24
|
+
list: (options?: StateQueryOptions) => WorkflowState[];
|
|
25
|
+
delete: (workflowId: string) => boolean;
|
|
26
|
+
pause: (workflowId: string) => WorkflowState;
|
|
27
|
+
resume: (workflowId: string) => WorkflowState;
|
|
28
|
+
recover: (workflowId: string, options?: RecoveryOptions) => WorkflowState;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Phase operations
|
|
32
|
+
*/
|
|
33
|
+
readonly phase: {
|
|
34
|
+
update: (workflowId: string, phase: FaberPhase, updates: Partial<PhaseState>, options?: StateUpdateOptions) => WorkflowState;
|
|
35
|
+
start: (workflowId: string, phase: FaberPhase) => WorkflowState;
|
|
36
|
+
complete: (workflowId: string, phase: FaberPhase, outputs?: Record<string, unknown>) => WorkflowState;
|
|
37
|
+
fail: (workflowId: string, phase: FaberPhase, error: string) => WorkflowState;
|
|
38
|
+
skip: (workflowId: string, phase: FaberPhase, reason?: string) => WorkflowState;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Checkpoint operations
|
|
42
|
+
*/
|
|
43
|
+
readonly checkpoint: {
|
|
44
|
+
create: (workflowId: string, phase: string, step: string, data: Record<string, unknown>) => Checkpoint;
|
|
45
|
+
get: (checkpointId: string) => Checkpoint | null;
|
|
46
|
+
list: (workflowId: string) => Checkpoint[];
|
|
47
|
+
getLatest: (workflowId: string) => Checkpoint | null;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Manifest operations
|
|
51
|
+
*/
|
|
52
|
+
readonly manifest: {
|
|
53
|
+
create: (workflowId: string, workId: string) => RunManifest;
|
|
54
|
+
save: (manifest: RunManifest) => void;
|
|
55
|
+
get: (manifestId: string) => RunManifest | null;
|
|
56
|
+
addPhase: (manifestId: string, phaseManifest: PhaseManifest) => void;
|
|
57
|
+
addArtifact: (manifestId: string, artifact: ArtifactManifest) => void;
|
|
58
|
+
complete: (manifestId: string, status: "completed" | "failed") => RunManifest;
|
|
59
|
+
};
|
|
16
60
|
/**
|
|
17
61
|
* Ensure state directory exists
|
|
18
62
|
*/
|
|
@@ -24,99 +68,99 @@ export declare class StateManager {
|
|
|
24
68
|
/**
|
|
25
69
|
* Create a new workflow state
|
|
26
70
|
*/
|
|
27
|
-
|
|
71
|
+
private _createWorkflow;
|
|
28
72
|
/**
|
|
29
73
|
* Save workflow state
|
|
30
74
|
*/
|
|
31
|
-
|
|
75
|
+
private _saveWorkflow;
|
|
32
76
|
/**
|
|
33
77
|
* Get workflow state by ID
|
|
34
78
|
*/
|
|
35
|
-
|
|
79
|
+
private _getWorkflow;
|
|
36
80
|
/**
|
|
37
81
|
* Get active workflow for a work item
|
|
38
82
|
*/
|
|
39
|
-
|
|
83
|
+
private _getActiveWorkflow;
|
|
40
84
|
/**
|
|
41
85
|
* List all workflows
|
|
42
86
|
*/
|
|
43
|
-
|
|
87
|
+
private _listWorkflows;
|
|
44
88
|
/**
|
|
45
89
|
* Update workflow phase
|
|
46
90
|
*/
|
|
47
|
-
|
|
91
|
+
private _updatePhase;
|
|
48
92
|
/**
|
|
49
93
|
* Start a phase
|
|
50
94
|
*/
|
|
51
|
-
|
|
95
|
+
private _startPhase;
|
|
52
96
|
/**
|
|
53
97
|
* Complete a phase
|
|
54
98
|
*/
|
|
55
|
-
|
|
99
|
+
private _completePhase;
|
|
56
100
|
/**
|
|
57
101
|
* Fail a phase
|
|
58
102
|
*/
|
|
59
|
-
|
|
103
|
+
private _failPhase;
|
|
60
104
|
/**
|
|
61
105
|
* Skip a phase
|
|
62
106
|
*/
|
|
63
|
-
|
|
107
|
+
private _skipPhase;
|
|
64
108
|
/**
|
|
65
109
|
* Pause workflow
|
|
66
110
|
*/
|
|
67
|
-
|
|
111
|
+
private _pauseWorkflow;
|
|
68
112
|
/**
|
|
69
113
|
* Resume workflow
|
|
70
114
|
*/
|
|
71
|
-
|
|
115
|
+
private _resumeWorkflow;
|
|
72
116
|
/**
|
|
73
117
|
* Create a checkpoint
|
|
74
118
|
*/
|
|
75
|
-
|
|
119
|
+
private _createCheckpoint;
|
|
76
120
|
/**
|
|
77
121
|
* Get checkpoint by ID
|
|
78
122
|
*/
|
|
79
|
-
|
|
123
|
+
private _getCheckpoint;
|
|
80
124
|
/**
|
|
81
125
|
* List checkpoints for a workflow
|
|
82
126
|
*/
|
|
83
|
-
|
|
127
|
+
private _listCheckpoints;
|
|
84
128
|
/**
|
|
85
129
|
* Get latest checkpoint for a workflow
|
|
86
130
|
*/
|
|
87
|
-
|
|
131
|
+
private _getLatestCheckpoint;
|
|
88
132
|
/**
|
|
89
133
|
* Create a run manifest
|
|
90
134
|
*/
|
|
91
|
-
|
|
135
|
+
private _createManifest;
|
|
92
136
|
/**
|
|
93
137
|
* Save run manifest
|
|
94
138
|
*/
|
|
95
|
-
|
|
139
|
+
private _saveManifest;
|
|
96
140
|
/**
|
|
97
141
|
* Get run manifest
|
|
98
142
|
*/
|
|
99
|
-
|
|
143
|
+
private _getManifest;
|
|
100
144
|
/**
|
|
101
145
|
* Add phase to manifest
|
|
102
146
|
*/
|
|
103
|
-
|
|
147
|
+
private _addPhaseToManifest;
|
|
104
148
|
/**
|
|
105
149
|
* Add artifact to manifest
|
|
106
150
|
*/
|
|
107
|
-
|
|
151
|
+
private _addArtifactToManifest;
|
|
108
152
|
/**
|
|
109
153
|
* Complete manifest
|
|
110
154
|
*/
|
|
111
|
-
|
|
155
|
+
private _completeManifest;
|
|
112
156
|
/**
|
|
113
157
|
* Recover a workflow from a checkpoint or phase
|
|
114
158
|
*/
|
|
115
|
-
|
|
159
|
+
private _recoverWorkflow;
|
|
116
160
|
/**
|
|
117
161
|
* Delete workflow state
|
|
118
162
|
*/
|
|
119
|
-
|
|
163
|
+
private _deleteWorkflow;
|
|
120
164
|
/**
|
|
121
165
|
* Clean up old workflows and checkpoints
|
|
122
166
|
*/
|
|
@@ -128,5 +172,53 @@ export declare class StateManager {
|
|
|
128
172
|
* Get state directory path
|
|
129
173
|
*/
|
|
130
174
|
getStateDir(): string;
|
|
175
|
+
/** @deprecated Use state.workflow.create() instead. Will be removed in v2.0 */
|
|
176
|
+
createWorkflow(workId: string): WorkflowState;
|
|
177
|
+
/** @deprecated Use state.workflow.save() instead. Will be removed in v2.0 */
|
|
178
|
+
saveWorkflow(state: WorkflowState): void;
|
|
179
|
+
/** @deprecated Use state.workflow.get() instead. Will be removed in v2.0 */
|
|
180
|
+
getWorkflow(workflowId: string): WorkflowState | null;
|
|
181
|
+
/** @deprecated Use state.workflow.getActive() instead. Will be removed in v2.0 */
|
|
182
|
+
getActiveWorkflow(workId: string): WorkflowState | null;
|
|
183
|
+
/** @deprecated Use state.workflow.list() instead. Will be removed in v2.0 */
|
|
184
|
+
listWorkflows(options?: StateQueryOptions): WorkflowState[];
|
|
185
|
+
/** @deprecated Use state.workflow.delete() instead. Will be removed in v2.0 */
|
|
186
|
+
deleteWorkflow(workflowId: string): boolean;
|
|
187
|
+
/** @deprecated Use state.workflow.pause() instead. Will be removed in v2.0 */
|
|
188
|
+
pauseWorkflow(workflowId: string): WorkflowState;
|
|
189
|
+
/** @deprecated Use state.workflow.resume() instead. Will be removed in v2.0 */
|
|
190
|
+
resumeWorkflow(workflowId: string): WorkflowState;
|
|
191
|
+
/** @deprecated Use state.workflow.recover() instead. Will be removed in v2.0 */
|
|
192
|
+
recoverWorkflow(workflowId: string, options?: RecoveryOptions): WorkflowState;
|
|
193
|
+
/** @deprecated Use state.phase.update() instead. Will be removed in v2.0 */
|
|
194
|
+
updatePhase(workflowId: string, phase: FaberPhase, updates: Partial<PhaseState>, options?: StateUpdateOptions): WorkflowState;
|
|
195
|
+
/** @deprecated Use state.phase.start() instead. Will be removed in v2.0 */
|
|
196
|
+
startPhase(workflowId: string, phase: FaberPhase): WorkflowState;
|
|
197
|
+
/** @deprecated Use state.phase.complete() instead. Will be removed in v2.0 */
|
|
198
|
+
completePhase(workflowId: string, phase: FaberPhase, outputs?: Record<string, unknown>): WorkflowState;
|
|
199
|
+
/** @deprecated Use state.phase.fail() instead. Will be removed in v2.0 */
|
|
200
|
+
failPhase(workflowId: string, phase: FaberPhase, error: string): WorkflowState;
|
|
201
|
+
/** @deprecated Use state.phase.skip() instead. Will be removed in v2.0 */
|
|
202
|
+
skipPhase(workflowId: string, phase: FaberPhase, reason?: string): WorkflowState;
|
|
203
|
+
/** @deprecated Use state.checkpoint.create() instead. Will be removed in v2.0 */
|
|
204
|
+
createCheckpoint(workflowId: string, phase: string, step: string, data: Record<string, unknown>): Checkpoint;
|
|
205
|
+
/** @deprecated Use state.checkpoint.get() instead. Will be removed in v2.0 */
|
|
206
|
+
getCheckpoint(checkpointId: string): Checkpoint | null;
|
|
207
|
+
/** @deprecated Use state.checkpoint.list() instead. Will be removed in v2.0 */
|
|
208
|
+
listCheckpoints(workflowId: string): Checkpoint[];
|
|
209
|
+
/** @deprecated Use state.checkpoint.getLatest() instead. Will be removed in v2.0 */
|
|
210
|
+
getLatestCheckpoint(workflowId: string): Checkpoint | null;
|
|
211
|
+
/** @deprecated Use state.manifest.create() instead. Will be removed in v2.0 */
|
|
212
|
+
createManifest(workflowId: string, workId: string): RunManifest;
|
|
213
|
+
/** @deprecated Use state.manifest.save() instead. Will be removed in v2.0 */
|
|
214
|
+
saveManifest(manifest: RunManifest): void;
|
|
215
|
+
/** @deprecated Use state.manifest.get() instead. Will be removed in v2.0 */
|
|
216
|
+
getManifest(manifestId: string): RunManifest | null;
|
|
217
|
+
/** @deprecated Use state.manifest.addPhase() instead. Will be removed in v2.0 */
|
|
218
|
+
addPhaseToManifest(manifestId: string, phaseManifest: PhaseManifest): void;
|
|
219
|
+
/** @deprecated Use state.manifest.addArtifact() instead. Will be removed in v2.0 */
|
|
220
|
+
addArtifactToManifest(manifestId: string, artifact: ArtifactManifest): void;
|
|
221
|
+
/** @deprecated Use state.manifest.complete() instead. Will be removed in v2.0 */
|
|
222
|
+
completeManifest(manifestId: string, status: 'completed' | 'failed'): RunManifest;
|
|
131
223
|
}
|
|
132
224
|
//# sourceMappingURL=manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/state/manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACL,WAAW,EACX,UAAU,EACV,aAAa,EACb,UAAU,EACV,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EAChB,MAAM,SAAS,CAAC;AAyCjB;;;;GAIG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,QAAQ,CAAS;gBAEb,MAAM,CAAC,EAAE,WAAW;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/state/manager.ts"],"names":[],"mappings":"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"}
|