@generacy-ai/orchestrator 0.0.0-preview-20260304013206
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/LICENSE +191 -0
- package/dist/auth/api-key.d.ts +63 -0
- package/dist/auth/api-key.d.ts.map +1 -0
- package/dist/auth/api-key.js +102 -0
- package/dist/auth/api-key.js.map +1 -0
- package/dist/auth/github-oauth.d.ts +29 -0
- package/dist/auth/github-oauth.d.ts.map +1 -0
- package/dist/auth/github-oauth.js +136 -0
- package/dist/auth/github-oauth.js.map +1 -0
- package/dist/auth/index.d.ts +5 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +9 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/jwt.d.ts +34 -0
- package/dist/auth/jwt.d.ts.map +1 -0
- package/dist/auth/jwt.js +74 -0
- package/dist/auth/jwt.js.map +1 -0
- package/dist/auth/middleware.d.ts +43 -0
- package/dist/auth/middleware.d.ts.map +1 -0
- package/dist/auth/middleware.js +101 -0
- package/dist/auth/middleware.js.map +1 -0
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +5 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loader.d.ts +21 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +295 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/schema.d.ts +733 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +174 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +33 -0
- package/dist/index.js.map +1 -0
- package/dist/middleware/error-handler.d.ts +30 -0
- package/dist/middleware/error-handler.d.ts.map +1 -0
- package/dist/middleware/error-handler.js +173 -0
- package/dist/middleware/error-handler.js.map +1 -0
- package/dist/middleware/index.d.ts +4 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js +4 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/middleware/rate-limit.d.ts +32 -0
- package/dist/middleware/rate-limit.d.ts.map +1 -0
- package/dist/middleware/rate-limit.js +92 -0
- package/dist/middleware/rate-limit.js.map +1 -0
- package/dist/middleware/request-logger.d.ts +31 -0
- package/dist/middleware/request-logger.d.ts.map +1 -0
- package/dist/middleware/request-logger.js +89 -0
- package/dist/middleware/request-logger.js.map +1 -0
- package/dist/routes/agents.d.ts +7 -0
- package/dist/routes/agents.d.ts.map +1 -0
- package/dist/routes/agents.js +78 -0
- package/dist/routes/agents.js.map +1 -0
- package/dist/routes/dispatch.d.ts +8 -0
- package/dist/routes/dispatch.d.ts.map +1 -0
- package/dist/routes/dispatch.js +46 -0
- package/dist/routes/dispatch.js.map +1 -0
- package/dist/routes/events.d.ts +14 -0
- package/dist/routes/events.d.ts.map +1 -0
- package/dist/routes/events.js +240 -0
- package/dist/routes/events.js.map +1 -0
- package/dist/routes/health.d.ts +14 -0
- package/dist/routes/health.d.ts.map +1 -0
- package/dist/routes/health.js +132 -0
- package/dist/routes/health.js.map +1 -0
- package/dist/routes/index.d.ts +36 -0
- package/dist/routes/index.d.ts.map +1 -0
- package/dist/routes/index.js +34 -0
- package/dist/routes/index.js.map +1 -0
- package/dist/routes/integrations.d.ts +34 -0
- package/dist/routes/integrations.d.ts.map +1 -0
- package/dist/routes/integrations.js +81 -0
- package/dist/routes/integrations.js.map +1 -0
- package/dist/routes/metrics.d.ts +31 -0
- package/dist/routes/metrics.d.ts.map +1 -0
- package/dist/routes/metrics.js +157 -0
- package/dist/routes/metrics.js.map +1 -0
- package/dist/routes/pr-webhooks.d.ts +15 -0
- package/dist/routes/pr-webhooks.d.ts.map +1 -0
- package/dist/routes/pr-webhooks.js +114 -0
- package/dist/routes/pr-webhooks.js.map +1 -0
- package/dist/routes/queue.d.ts +7 -0
- package/dist/routes/queue.d.ts.map +1 -0
- package/dist/routes/queue.js +94 -0
- package/dist/routes/queue.js.map +1 -0
- package/dist/routes/webhooks.d.ts +15 -0
- package/dist/routes/webhooks.d.ts.map +1 -0
- package/dist/routes/webhooks.js +117 -0
- package/dist/routes/webhooks.js.map +1 -0
- package/dist/routes/workflows.d.ts +7 -0
- package/dist/routes/workflows.d.ts.map +1 -0
- package/dist/routes/workflows.js +138 -0
- package/dist/routes/workflows.js.map +1 -0
- package/dist/server.d.ts +35 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +264 -0
- package/dist/server.js.map +1 -0
- package/dist/services/agent-registry.d.ts +89 -0
- package/dist/services/agent-registry.d.ts.map +1 -0
- package/dist/services/agent-registry.js +173 -0
- package/dist/services/agent-registry.js.map +1 -0
- package/dist/services/epic-completion-monitor-service.d.ts +69 -0
- package/dist/services/epic-completion-monitor-service.d.ts.map +1 -0
- package/dist/services/epic-completion-monitor-service.js +200 -0
- package/dist/services/epic-completion-monitor-service.js.map +1 -0
- package/dist/services/identity.d.ts +41 -0
- package/dist/services/identity.d.ts.map +1 -0
- package/dist/services/identity.js +91 -0
- package/dist/services/identity.js.map +1 -0
- package/dist/services/index.d.ts +13 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +13 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/label-monitor-service.d.ts +95 -0
- package/dist/services/label-monitor-service.d.ts.map +1 -0
- package/dist/services/label-monitor-service.js +414 -0
- package/dist/services/label-monitor-service.js.map +1 -0
- package/dist/services/label-sync-service.d.ts +76 -0
- package/dist/services/label-sync-service.d.ts.map +1 -0
- package/dist/services/label-sync-service.js +108 -0
- package/dist/services/label-sync-service.js.map +1 -0
- package/dist/services/phase-tracker-service.d.ts +32 -0
- package/dist/services/phase-tracker-service.d.ts.map +1 -0
- package/dist/services/phase-tracker-service.js +82 -0
- package/dist/services/phase-tracker-service.js.map +1 -0
- package/dist/services/pr-feedback-monitor-service.d.ts +86 -0
- package/dist/services/pr-feedback-monitor-service.d.ts.map +1 -0
- package/dist/services/pr-feedback-monitor-service.js +423 -0
- package/dist/services/pr-feedback-monitor-service.js.map +1 -0
- package/dist/services/queue-service.d.ts +62 -0
- package/dist/services/queue-service.d.ts.map +1 -0
- package/dist/services/queue-service.js +147 -0
- package/dist/services/queue-service.js.map +1 -0
- package/dist/services/redis-queue-adapter.d.ts +35 -0
- package/dist/services/redis-queue-adapter.d.ts.map +1 -0
- package/dist/services/redis-queue-adapter.js +218 -0
- package/dist/services/redis-queue-adapter.js.map +1 -0
- package/dist/services/smee-receiver.d.ts +87 -0
- package/dist/services/smee-receiver.d.ts.map +1 -0
- package/dist/services/smee-receiver.js +225 -0
- package/dist/services/smee-receiver.js.map +1 -0
- package/dist/services/webhook-setup-service.d.ts +253 -0
- package/dist/services/webhook-setup-service.d.ts.map +1 -0
- package/dist/services/webhook-setup-service.js +369 -0
- package/dist/services/webhook-setup-service.js.map +1 -0
- package/dist/services/worker-dispatcher.d.ts +57 -0
- package/dist/services/worker-dispatcher.d.ts.map +1 -0
- package/dist/services/worker-dispatcher.js +211 -0
- package/dist/services/worker-dispatcher.js.map +1 -0
- package/dist/services/workflow-service.d.ts +65 -0
- package/dist/services/workflow-service.d.ts.map +1 -0
- package/dist/services/workflow-service.js +164 -0
- package/dist/services/workflow-service.js.map +1 -0
- package/dist/sse/events.d.ts +50 -0
- package/dist/sse/events.d.ts.map +1 -0
- package/dist/sse/events.js +152 -0
- package/dist/sse/events.js.map +1 -0
- package/dist/sse/index.d.ts +4 -0
- package/dist/sse/index.d.ts.map +1 -0
- package/dist/sse/index.js +7 -0
- package/dist/sse/index.js.map +1 -0
- package/dist/sse/stream.d.ts +109 -0
- package/dist/sse/stream.d.ts.map +1 -0
- package/dist/sse/stream.js +239 -0
- package/dist/sse/stream.js.map +1 -0
- package/dist/sse/subscriptions.d.ts +91 -0
- package/dist/sse/subscriptions.d.ts.map +1 -0
- package/dist/sse/subscriptions.js +299 -0
- package/dist/sse/subscriptions.js.map +1 -0
- package/dist/types/api.d.ts +651 -0
- package/dist/types/api.d.ts.map +1 -0
- package/dist/types/api.js +169 -0
- package/dist/types/api.js.map +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +27 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/monitor.d.ts +243 -0
- package/dist/types/monitor.d.ts.map +1 -0
- package/dist/types/monitor.js +2 -0
- package/dist/types/monitor.js.map +1 -0
- package/dist/types/problem-details.d.ts +63 -0
- package/dist/types/problem-details.d.ts.map +1 -0
- package/dist/types/problem-details.js +37 -0
- package/dist/types/problem-details.js.map +1 -0
- package/dist/types/sse.d.ts +224 -0
- package/dist/types/sse.d.ts.map +1 -0
- package/dist/types/sse.js +103 -0
- package/dist/types/sse.js.map +1 -0
- package/dist/types/webhook.d.ts +59 -0
- package/dist/types/webhook.d.ts.map +1 -0
- package/dist/types/webhook.js +2 -0
- package/dist/types/webhook.js.map +1 -0
- package/dist/utils/correlation.d.ts +30 -0
- package/dist/utils/correlation.d.ts.map +1 -0
- package/dist/utils/correlation.js +34 -0
- package/dist/utils/correlation.js.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/shutdown.d.ts +28 -0
- package/dist/utils/shutdown.d.ts.map +1 -0
- package/dist/utils/shutdown.js +86 -0
- package/dist/utils/shutdown.js.map +1 -0
- package/dist/worker/claude-cli-worker.d.ts +61 -0
- package/dist/worker/claude-cli-worker.d.ts.map +1 -0
- package/dist/worker/claude-cli-worker.js +330 -0
- package/dist/worker/claude-cli-worker.js.map +1 -0
- package/dist/worker/cli-spawner.d.ts +42 -0
- package/dist/worker/cli-spawner.d.ts.map +1 -0
- package/dist/worker/cli-spawner.js +183 -0
- package/dist/worker/cli-spawner.js.map +1 -0
- package/dist/worker/config.d.ts +76 -0
- package/dist/worker/config.d.ts.map +1 -0
- package/dist/worker/config.js +39 -0
- package/dist/worker/config.js.map +1 -0
- package/dist/worker/epic-post-tasks.d.ts +73 -0
- package/dist/worker/epic-post-tasks.d.ts.map +1 -0
- package/dist/worker/epic-post-tasks.js +266 -0
- package/dist/worker/epic-post-tasks.js.map +1 -0
- package/dist/worker/gate-checker.d.ts +22 -0
- package/dist/worker/gate-checker.d.ts.map +1 -0
- package/dist/worker/gate-checker.js +41 -0
- package/dist/worker/gate-checker.js.map +1 -0
- package/dist/worker/index.d.ts +13 -0
- package/dist/worker/index.d.ts.map +1 -0
- package/dist/worker/index.js +19 -0
- package/dist/worker/index.js.map +1 -0
- package/dist/worker/label-manager.d.ts +89 -0
- package/dist/worker/label-manager.d.ts.map +1 -0
- package/dist/worker/label-manager.js +200 -0
- package/dist/worker/label-manager.js.map +1 -0
- package/dist/worker/output-capture.d.ts +58 -0
- package/dist/worker/output-capture.d.ts.map +1 -0
- package/dist/worker/output-capture.js +153 -0
- package/dist/worker/output-capture.js.map +1 -0
- package/dist/worker/phase-loop.d.ts +64 -0
- package/dist/worker/phase-loop.d.ts.map +1 -0
- package/dist/worker/phase-loop.js +185 -0
- package/dist/worker/phase-loop.js.map +1 -0
- package/dist/worker/phase-resolver.d.ts +62 -0
- package/dist/worker/phase-resolver.d.ts.map +1 -0
- package/dist/worker/phase-resolver.js +144 -0
- package/dist/worker/phase-resolver.js.map +1 -0
- package/dist/worker/pr-feedback-handler.d.ts +105 -0
- package/dist/worker/pr-feedback-handler.d.ts.map +1 -0
- package/dist/worker/pr-feedback-handler.js +391 -0
- package/dist/worker/pr-feedback-handler.js.map +1 -0
- package/dist/worker/pr-linker.d.ts +69 -0
- package/dist/worker/pr-linker.d.ts.map +1 -0
- package/dist/worker/pr-linker.js +108 -0
- package/dist/worker/pr-linker.js.map +1 -0
- package/dist/worker/pr-manager.d.ts +61 -0
- package/dist/worker/pr-manager.d.ts.map +1 -0
- package/dist/worker/pr-manager.js +140 -0
- package/dist/worker/pr-manager.js.map +1 -0
- package/dist/worker/repo-checkout.d.ts +63 -0
- package/dist/worker/repo-checkout.d.ts.map +1 -0
- package/dist/worker/repo-checkout.js +160 -0
- package/dist/worker/repo-checkout.js.map +1 -0
- package/dist/worker/stage-comment-manager.d.ts +34 -0
- package/dist/worker/stage-comment-manager.d.ts.map +1 -0
- package/dist/worker/stage-comment-manager.js +114 -0
- package/dist/worker/stage-comment-manager.js.map +1 -0
- package/dist/worker/types.d.ts +192 -0
- package/dist/worker/types.d.ts.map +1 -0
- package/dist/worker/types.js +53 -0
- package/dist/worker/types.js.map +1 -0
- package/package.json +64 -0
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import type { QueueItem } from '../types/index.js';
|
|
2
|
+
import type { GitHubClient } from '@generacy-ai/workflow-engine';
|
|
3
|
+
/**
|
|
4
|
+
* Workflow phases in execution order
|
|
5
|
+
*/
|
|
6
|
+
export type WorkflowPhase = 'specify' | 'clarify' | 'plan' | 'tasks' | 'implement' | 'validate';
|
|
7
|
+
/**
|
|
8
|
+
* Ordered sequence of all workflow phases (default for feature/bugfix workflows)
|
|
9
|
+
*/
|
|
10
|
+
export declare const PHASE_SEQUENCE: WorkflowPhase[];
|
|
11
|
+
/**
|
|
12
|
+
* Phase sequences keyed by workflow name.
|
|
13
|
+
* Each workflow can define a subset of phases to execute.
|
|
14
|
+
*/
|
|
15
|
+
export declare const WORKFLOW_PHASE_SEQUENCES: Record<string, WorkflowPhase[]>;
|
|
16
|
+
/**
|
|
17
|
+
* Get the phase sequence for a given workflow name.
|
|
18
|
+
* Falls back to PHASE_SEQUENCE for unknown workflows.
|
|
19
|
+
*/
|
|
20
|
+
export declare function getPhaseSequence(workflowName: string): WorkflowPhase[];
|
|
21
|
+
/**
|
|
22
|
+
* Map each phase to its Claude CLI slash command (null = no CLI command)
|
|
23
|
+
*/
|
|
24
|
+
export declare const PHASE_TO_COMMAND: Record<WorkflowPhase, string | null>;
|
|
25
|
+
/**
|
|
26
|
+
* Stage types for issue comments
|
|
27
|
+
*/
|
|
28
|
+
export type StageType = 'specification' | 'planning' | 'implementation';
|
|
29
|
+
/**
|
|
30
|
+
* Map each phase to the stage it belongs to
|
|
31
|
+
*/
|
|
32
|
+
export declare const PHASE_TO_STAGE: Record<WorkflowPhase, StageType>;
|
|
33
|
+
/**
|
|
34
|
+
* HTML markers used to identify stage comments on issues
|
|
35
|
+
*/
|
|
36
|
+
export declare const STAGE_MARKERS: Record<StageType, string>;
|
|
37
|
+
/**
|
|
38
|
+
* Gate definition for pausing workflow at review checkpoints
|
|
39
|
+
*/
|
|
40
|
+
export interface GateDefinition {
|
|
41
|
+
/** Phase that triggers gate check */
|
|
42
|
+
phase: WorkflowPhase;
|
|
43
|
+
/** Label to add when gate is active */
|
|
44
|
+
gateLabel: string;
|
|
45
|
+
/** When to activate the gate */
|
|
46
|
+
condition: 'always' | 'on-questions' | 'on-failure';
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Result from executing a single phase
|
|
50
|
+
*/
|
|
51
|
+
export interface PhaseResult {
|
|
52
|
+
/** Phase that was executed */
|
|
53
|
+
phase: WorkflowPhase;
|
|
54
|
+
/** Whether the phase completed successfully */
|
|
55
|
+
success: boolean;
|
|
56
|
+
/** CLI exit code (0 = success) */
|
|
57
|
+
exitCode: number;
|
|
58
|
+
/** Duration in milliseconds */
|
|
59
|
+
durationMs: number;
|
|
60
|
+
/** Captured output chunks */
|
|
61
|
+
output: OutputChunk[];
|
|
62
|
+
/** Claude CLI session ID (for resuming conversation in subsequent phases) */
|
|
63
|
+
sessionId?: string;
|
|
64
|
+
/** Whether a gate was hit (stops the loop) */
|
|
65
|
+
gateHit?: {
|
|
66
|
+
gateLabel: string;
|
|
67
|
+
reason: string;
|
|
68
|
+
};
|
|
69
|
+
/** Error details if failed */
|
|
70
|
+
error?: {
|
|
71
|
+
message: string;
|
|
72
|
+
stderr: string;
|
|
73
|
+
phase: WorkflowPhase;
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* A single chunk of parsed output from Claude CLI
|
|
78
|
+
*/
|
|
79
|
+
export interface OutputChunk {
|
|
80
|
+
/** Event type from Claude CLI JSON output */
|
|
81
|
+
type: 'init' | 'tool_use' | 'tool_result' | 'text' | 'complete' | 'error';
|
|
82
|
+
/** Parsed JSON data */
|
|
83
|
+
data: unknown;
|
|
84
|
+
/** Metadata (e.g., filePath for tool_result) */
|
|
85
|
+
metadata?: Record<string, string>;
|
|
86
|
+
/** Timestamp */
|
|
87
|
+
timestamp: string;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Options for spawning a Claude CLI process
|
|
91
|
+
*/
|
|
92
|
+
export interface CliSpawnOptions {
|
|
93
|
+
/** The speckit command prompt */
|
|
94
|
+
prompt: string;
|
|
95
|
+
/** Working directory (repo checkout) */
|
|
96
|
+
cwd: string;
|
|
97
|
+
/** Environment variables to pass */
|
|
98
|
+
env: Record<string, string>;
|
|
99
|
+
/** Maximum turns */
|
|
100
|
+
maxTurns: number;
|
|
101
|
+
/** Timeout in milliseconds */
|
|
102
|
+
timeoutMs: number;
|
|
103
|
+
/** Abort signal for graceful shutdown */
|
|
104
|
+
signal: AbortSignal;
|
|
105
|
+
/** Session ID from a previous phase to resume (keeps MCP servers warm, carries context) */
|
|
106
|
+
resumeSessionId?: string;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Data for stage comment updates on issues
|
|
110
|
+
*/
|
|
111
|
+
export interface StageCommentData {
|
|
112
|
+
/** Stage type */
|
|
113
|
+
stage: StageType;
|
|
114
|
+
/** Current status */
|
|
115
|
+
status: 'in_progress' | 'complete' | 'error';
|
|
116
|
+
/** Phase progress within the stage */
|
|
117
|
+
phases: {
|
|
118
|
+
phase: WorkflowPhase;
|
|
119
|
+
status: 'pending' | 'in_progress' | 'complete' | 'error';
|
|
120
|
+
startedAt?: string;
|
|
121
|
+
completedAt?: string;
|
|
122
|
+
}[];
|
|
123
|
+
/** When the stage started */
|
|
124
|
+
startedAt: string;
|
|
125
|
+
/** When the stage completed */
|
|
126
|
+
completedAt?: string;
|
|
127
|
+
/** PR URL if available */
|
|
128
|
+
prUrl?: string;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Logger interface (pino-compatible subset)
|
|
132
|
+
*/
|
|
133
|
+
export interface Logger {
|
|
134
|
+
info(msg: string): void;
|
|
135
|
+
info(obj: Record<string, unknown>, msg: string): void;
|
|
136
|
+
warn(msg: string): void;
|
|
137
|
+
warn(obj: Record<string, unknown>, msg: string): void;
|
|
138
|
+
error(msg: string): void;
|
|
139
|
+
error(obj: Record<string, unknown>, msg: string): void;
|
|
140
|
+
debug(msg: string): void;
|
|
141
|
+
debug(obj: Record<string, unknown>, msg: string): void;
|
|
142
|
+
child(bindings: Record<string, unknown>): Logger;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Context passed through the worker during processing
|
|
146
|
+
*/
|
|
147
|
+
export interface WorkerContext {
|
|
148
|
+
/** Worker ID from dispatcher (UUID) */
|
|
149
|
+
workerId: string;
|
|
150
|
+
/** Queue item being processed */
|
|
151
|
+
item: QueueItem;
|
|
152
|
+
/** Resolved starting phase */
|
|
153
|
+
startPhase: WorkflowPhase;
|
|
154
|
+
/** GitHub client for API operations */
|
|
155
|
+
github: GitHubClient;
|
|
156
|
+
/** Logger instance */
|
|
157
|
+
logger: Logger;
|
|
158
|
+
/** Abort signal for graceful shutdown */
|
|
159
|
+
signal: AbortSignal;
|
|
160
|
+
/** Repository checkout path */
|
|
161
|
+
checkoutPath: string;
|
|
162
|
+
/** Issue URL for prompts */
|
|
163
|
+
issueUrl: string;
|
|
164
|
+
/** PR URL — set after draft PR is created, updated by PrManager */
|
|
165
|
+
prUrl?: string;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Factory for creating child processes (injectable for testing)
|
|
169
|
+
*/
|
|
170
|
+
export interface ProcessFactory {
|
|
171
|
+
spawn(command: string, args: string[], options: {
|
|
172
|
+
cwd: string;
|
|
173
|
+
env: Record<string, string>;
|
|
174
|
+
signal?: AbortSignal;
|
|
175
|
+
}): ChildProcessHandle;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Handle to a spawned child process
|
|
179
|
+
*/
|
|
180
|
+
export interface ChildProcessHandle {
|
|
181
|
+
/** Process stdout stream */
|
|
182
|
+
stdout: NodeJS.ReadableStream | null;
|
|
183
|
+
/** Process stderr stream */
|
|
184
|
+
stderr: NodeJS.ReadableStream | null;
|
|
185
|
+
/** Process PID */
|
|
186
|
+
pid: number | undefined;
|
|
187
|
+
/** Kill the process */
|
|
188
|
+
kill(signal?: NodeJS.Signals): boolean;
|
|
189
|
+
/** Promise that resolves with exit code when process exits */
|
|
190
|
+
exitPromise: Promise<number | null>;
|
|
191
|
+
}
|
|
192
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/worker/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ordered sequence of all workflow phases (default for feature/bugfix workflows)
|
|
3
|
+
*/
|
|
4
|
+
export const PHASE_SEQUENCE = [
|
|
5
|
+
'specify', 'clarify', 'plan', 'tasks', 'implement', 'validate',
|
|
6
|
+
];
|
|
7
|
+
/**
|
|
8
|
+
* Phase sequences keyed by workflow name.
|
|
9
|
+
* Each workflow can define a subset of phases to execute.
|
|
10
|
+
*/
|
|
11
|
+
export const WORKFLOW_PHASE_SEQUENCES = {
|
|
12
|
+
'speckit-feature': PHASE_SEQUENCE,
|
|
13
|
+
'speckit-bugfix': PHASE_SEQUENCE,
|
|
14
|
+
'speckit-epic': ['specify', 'clarify', 'plan', 'tasks'],
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Get the phase sequence for a given workflow name.
|
|
18
|
+
* Falls back to PHASE_SEQUENCE for unknown workflows.
|
|
19
|
+
*/
|
|
20
|
+
export function getPhaseSequence(workflowName) {
|
|
21
|
+
return WORKFLOW_PHASE_SEQUENCES[workflowName] ?? PHASE_SEQUENCE;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Map each phase to its Claude CLI slash command (null = no CLI command)
|
|
25
|
+
*/
|
|
26
|
+
export const PHASE_TO_COMMAND = {
|
|
27
|
+
specify: '/speckit:specify',
|
|
28
|
+
clarify: '/speckit:clarify',
|
|
29
|
+
plan: '/speckit:plan',
|
|
30
|
+
tasks: '/speckit:tasks',
|
|
31
|
+
implement: '/speckit:implement',
|
|
32
|
+
validate: null,
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Map each phase to the stage it belongs to
|
|
36
|
+
*/
|
|
37
|
+
export const PHASE_TO_STAGE = {
|
|
38
|
+
specify: 'specification',
|
|
39
|
+
clarify: 'specification',
|
|
40
|
+
plan: 'planning',
|
|
41
|
+
tasks: 'planning',
|
|
42
|
+
implement: 'implementation',
|
|
43
|
+
validate: 'implementation',
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* HTML markers used to identify stage comments on issues
|
|
47
|
+
*/
|
|
48
|
+
export const STAGE_MARKERS = {
|
|
49
|
+
specification: '<!-- generacy-stage:specification -->',
|
|
50
|
+
planning: '<!-- generacy-stage:planning -->',
|
|
51
|
+
implementation: '<!-- generacy-stage:implementation -->',
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/worker/types.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC7C,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU;CAC/D,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAoC;IACvE,iBAAiB,EAAE,cAAc;IACjC,gBAAgB,EAAE,cAAc;IAChC,cAAc,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC;CACxD,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,YAAoB;IACnD,OAAO,wBAAwB,CAAC,YAAY,CAAC,IAAI,cAAc,CAAC;AAClE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAyC;IACpE,OAAO,EAAE,kBAAkB;IAC3B,OAAO,EAAE,kBAAkB;IAC3B,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,gBAAgB;IACvB,SAAS,EAAE,oBAAoB;IAC/B,QAAQ,EAAE,IAAI;CACf,CAAC;AAOF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAqC;IAC9D,OAAO,EAAE,eAAe;IACxB,OAAO,EAAE,eAAe;IACxB,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,UAAU;IACjB,SAAS,EAAE,gBAAgB;IAC3B,QAAQ,EAAE,gBAAgB;CAC3B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAA8B;IACtD,aAAa,EAAE,uCAAuC;IACtD,QAAQ,EAAE,kCAAkC;IAC5C,cAAc,EAAE,wCAAwC;CACzD,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@generacy-ai/orchestrator",
|
|
3
|
+
"version": "0.0.0-preview-20260304013206",
|
|
4
|
+
"description": "Orchestrator service - main API server for Generacy workflow orchestration",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./dist/index.js",
|
|
11
|
+
"types": "./dist/index.d.ts"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"dependencies": {
|
|
15
|
+
"@fastify/cors": "^10.0.0",
|
|
16
|
+
"@fastify/helmet": "^12.0.0",
|
|
17
|
+
"@fastify/jwt": "^9.0.0",
|
|
18
|
+
"@fastify/oauth2": "^8.0.0",
|
|
19
|
+
"@fastify/rate-limit": "^10.0.0",
|
|
20
|
+
"fastify": "^5.0.0",
|
|
21
|
+
"ioredis": "^5.4.0",
|
|
22
|
+
"pino": "^9.0.0",
|
|
23
|
+
"prom-client": "^15.0.0",
|
|
24
|
+
"yaml": "^2.4.0",
|
|
25
|
+
"zod": "^3.23.0",
|
|
26
|
+
"@generacy-ai/workflow-engine": "^0.0.0-preview-20260304013206"
|
|
27
|
+
},
|
|
28
|
+
"devDependencies": {
|
|
29
|
+
"@types/node": "^20.0.0",
|
|
30
|
+
"tsx": "^4.0.0",
|
|
31
|
+
"typescript": "^5.6.0",
|
|
32
|
+
"vitest": "^3.2.4"
|
|
33
|
+
},
|
|
34
|
+
"engines": {
|
|
35
|
+
"node": ">=20.0.0"
|
|
36
|
+
},
|
|
37
|
+
"publishConfig": {
|
|
38
|
+
"access": "public"
|
|
39
|
+
},
|
|
40
|
+
"files": [
|
|
41
|
+
"dist"
|
|
42
|
+
],
|
|
43
|
+
"keywords": [
|
|
44
|
+
"orchestrator",
|
|
45
|
+
"api",
|
|
46
|
+
"fastify",
|
|
47
|
+
"generacy"
|
|
48
|
+
],
|
|
49
|
+
"license": "Apache-2.0",
|
|
50
|
+
"repository": {
|
|
51
|
+
"type": "git",
|
|
52
|
+
"url": "git+https://github.com/generacy-ai/generacy.git",
|
|
53
|
+
"directory": "packages/orchestrator"
|
|
54
|
+
},
|
|
55
|
+
"scripts": {
|
|
56
|
+
"build": "tsc",
|
|
57
|
+
"dev": "tsx watch src/server.ts",
|
|
58
|
+
"start": "node dist/server.js",
|
|
59
|
+
"test": "vitest run",
|
|
60
|
+
"test:watch": "vitest",
|
|
61
|
+
"lint": "eslint src tests --ext .ts",
|
|
62
|
+
"typecheck": "tsc --noEmit"
|
|
63
|
+
}
|
|
64
|
+
}
|