@camilyos/codex-antigravity-kit 0.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/AGENTS.md +13 -0
- package/README.md +234 -0
- package/dist/chunk-URIBUKLX.js +1747 -0
- package/dist/cli.cjs +1808 -0
- package/dist/cli.d.cts +1 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +84 -0
- package/dist/index.cjs +1794 -0
- package/dist/index.d.cts +186 -0
- package/dist/index.d.ts +186 -0
- package/dist/index.js +44 -0
- package/package.json +56 -0
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
declare enum WorkflowState {
|
|
2
|
+
IDLE = "IDLE",
|
|
3
|
+
DISCOVERY = "DISCOVERY",
|
|
4
|
+
CLARIFICATION_REQUIRED = "CLARIFICATION_REQUIRED",
|
|
5
|
+
BRAINSTORMING = "BRAINSTORMING",
|
|
6
|
+
PLANNING = "PLANNING",
|
|
7
|
+
READY = "READY",
|
|
8
|
+
IMPLEMENTING = "IMPLEMENTING",
|
|
9
|
+
VERIFYING = "VERIFYING",
|
|
10
|
+
REVIEWING = "REVIEWING",
|
|
11
|
+
REPAIR_REQUIRED = "REPAIR_REQUIRED",
|
|
12
|
+
COMPLETED = "COMPLETED",
|
|
13
|
+
BLOCKED = "BLOCKED",
|
|
14
|
+
ESCALATION_REQUIRED = "ESCALATION_REQUIRED"
|
|
15
|
+
}
|
|
16
|
+
declare function canTransition(from: WorkflowState, to: WorkflowState): boolean;
|
|
17
|
+
declare function transitionOrThrow(from: WorkflowState, to: WorkflowState): WorkflowState;
|
|
18
|
+
|
|
19
|
+
type WorkerStatus = "DONE" | "BLOCKED" | "FAILED";
|
|
20
|
+
interface ParsedWorkerResult {
|
|
21
|
+
status: WorkerStatus;
|
|
22
|
+
summary: string;
|
|
23
|
+
}
|
|
24
|
+
interface WorkerExecution {
|
|
25
|
+
ok: boolean;
|
|
26
|
+
timedOut: boolean;
|
|
27
|
+
exitCode: number | null;
|
|
28
|
+
stdout: string;
|
|
29
|
+
stderr: string;
|
|
30
|
+
durationMs: number;
|
|
31
|
+
}
|
|
32
|
+
interface WorkerRequest {
|
|
33
|
+
repoPath: string;
|
|
34
|
+
taskId: string;
|
|
35
|
+
prompt: string;
|
|
36
|
+
timeoutMs: number;
|
|
37
|
+
}
|
|
38
|
+
interface WorkerAdapter {
|
|
39
|
+
run(request: WorkerRequest): Promise<WorkerExecution>;
|
|
40
|
+
}
|
|
41
|
+
interface KitConfig {
|
|
42
|
+
agyCommand: string;
|
|
43
|
+
agyArgs: string[];
|
|
44
|
+
maxRepairAttempts: number;
|
|
45
|
+
}
|
|
46
|
+
interface WorkflowSnapshot {
|
|
47
|
+
state: WorkflowState;
|
|
48
|
+
currentPhase: string;
|
|
49
|
+
currentTask: string;
|
|
50
|
+
reviewAttempt: number;
|
|
51
|
+
repairAttempt: number;
|
|
52
|
+
nextAction: string;
|
|
53
|
+
blockingIssues: string[];
|
|
54
|
+
updatedAt: string;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
interface ShellAgyAdapterOptions {
|
|
58
|
+
command: string;
|
|
59
|
+
baseArgs?: string[];
|
|
60
|
+
}
|
|
61
|
+
declare class ShellAgyAdapter implements WorkerAdapter {
|
|
62
|
+
private readonly command;
|
|
63
|
+
private readonly baseArgs;
|
|
64
|
+
constructor(options: ShellAgyAdapterOptions);
|
|
65
|
+
run(request: WorkerRequest): Promise<WorkerExecution>;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
interface AgentDefinition {
|
|
69
|
+
id: string;
|
|
70
|
+
name: string;
|
|
71
|
+
agentFile: string;
|
|
72
|
+
skillFile: string;
|
|
73
|
+
description: string;
|
|
74
|
+
keywords: string[];
|
|
75
|
+
repoIndicators: string[];
|
|
76
|
+
}
|
|
77
|
+
declare const KNOWN_AGENTS: Record<string, AgentDefinition>;
|
|
78
|
+
interface AgentResolution {
|
|
79
|
+
agent: AgentDefinition;
|
|
80
|
+
isExplicit: boolean;
|
|
81
|
+
confidence: number;
|
|
82
|
+
reason: string;
|
|
83
|
+
instructions: string;
|
|
84
|
+
skillInstructions: string;
|
|
85
|
+
}
|
|
86
|
+
interface DetectAgentOptions {
|
|
87
|
+
root: string;
|
|
88
|
+
content?: string;
|
|
89
|
+
explicitAgent?: string;
|
|
90
|
+
}
|
|
91
|
+
declare function detectAgent(options: DetectAgentOptions): AgentResolution;
|
|
92
|
+
|
|
93
|
+
declare class RepairLoop {
|
|
94
|
+
private readonly maxAttempts;
|
|
95
|
+
constructor(maxAttempts: number);
|
|
96
|
+
canRetry(currentAttempt: number): boolean;
|
|
97
|
+
nextAttempt(currentAttempt: number): number;
|
|
98
|
+
needsEscalation(currentAttempt: number): boolean;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
declare function parseWorkerResult(raw: string): ParsedWorkerResult;
|
|
102
|
+
|
|
103
|
+
interface BrainstormOptions {
|
|
104
|
+
root: string;
|
|
105
|
+
task: string;
|
|
106
|
+
spec?: string;
|
|
107
|
+
prompt?: string;
|
|
108
|
+
agent?: string;
|
|
109
|
+
}
|
|
110
|
+
declare function runBrainstorm(options: BrainstormOptions): void;
|
|
111
|
+
|
|
112
|
+
interface PlanOptions {
|
|
113
|
+
root: string;
|
|
114
|
+
task: string;
|
|
115
|
+
spec?: string;
|
|
116
|
+
agent?: string;
|
|
117
|
+
}
|
|
118
|
+
declare function runPlan(options: PlanOptions): void;
|
|
119
|
+
|
|
120
|
+
interface ExecuteOptions {
|
|
121
|
+
root: string;
|
|
122
|
+
task: string;
|
|
123
|
+
plan?: string;
|
|
124
|
+
file?: string;
|
|
125
|
+
spec?: string;
|
|
126
|
+
agent?: string;
|
|
127
|
+
repairRequest?: string;
|
|
128
|
+
timeoutMs?: number;
|
|
129
|
+
}
|
|
130
|
+
declare function runExecute(options: ExecuteOptions): Promise<void>;
|
|
131
|
+
declare function runExecuteWithAdapter(options: ExecuteOptions, adapter: WorkerAdapter): Promise<void>;
|
|
132
|
+
|
|
133
|
+
interface DelegateOptions {
|
|
134
|
+
root: string;
|
|
135
|
+
task: string;
|
|
136
|
+
spec: string;
|
|
137
|
+
timeoutMs: number;
|
|
138
|
+
repairRequest?: string;
|
|
139
|
+
}
|
|
140
|
+
declare function runDelegate(options: DelegateOptions): Promise<void>;
|
|
141
|
+
declare function runDelegateWithAdapter(options: DelegateOptions, adapter: WorkerAdapter): Promise<void>;
|
|
142
|
+
|
|
143
|
+
interface DoctorOptions {
|
|
144
|
+
root: string;
|
|
145
|
+
}
|
|
146
|
+
declare function runDoctor(options: DoctorOptions): void;
|
|
147
|
+
|
|
148
|
+
interface InitOptions {
|
|
149
|
+
root: string;
|
|
150
|
+
force: boolean;
|
|
151
|
+
}
|
|
152
|
+
declare function runInit(options: InitOptions): void;
|
|
153
|
+
|
|
154
|
+
interface ReviewOptions {
|
|
155
|
+
root: string;
|
|
156
|
+
task: string;
|
|
157
|
+
outcome: "PASS" | "FAIL" | "BLOCKED";
|
|
158
|
+
reviewFile?: string;
|
|
159
|
+
}
|
|
160
|
+
declare function runReview(options: ReviewOptions): void;
|
|
161
|
+
|
|
162
|
+
interface StatusOptions {
|
|
163
|
+
root: string;
|
|
164
|
+
}
|
|
165
|
+
declare function runStatus(options: StatusOptions): void;
|
|
166
|
+
|
|
167
|
+
declare class WorkflowStore {
|
|
168
|
+
readonly root: string;
|
|
169
|
+
readonly workflowDir: string;
|
|
170
|
+
readonly tasksDir: string;
|
|
171
|
+
readonly statePath: string;
|
|
172
|
+
readonly configPath: string;
|
|
173
|
+
constructor(root: string);
|
|
174
|
+
ensureBaseStructure(): void;
|
|
175
|
+
ensureTask(taskId: string): string;
|
|
176
|
+
writeTaskFile(taskId: string, fileName: string, content: string): string;
|
|
177
|
+
readTaskFile(taskId: string, fileName: string): string;
|
|
178
|
+
hasTaskFile(taskId: string, fileName: string): boolean;
|
|
179
|
+
writeConfig(config: KitConfig): void;
|
|
180
|
+
readConfig(): KitConfig;
|
|
181
|
+
writeState(snapshot: WorkflowSnapshot): void;
|
|
182
|
+
readState(): WorkflowSnapshot;
|
|
183
|
+
}
|
|
184
|
+
declare function defaultState(): WorkflowSnapshot;
|
|
185
|
+
|
|
186
|
+
export { type AgentDefinition, type AgentResolution, type BrainstormOptions, type DetectAgentOptions, type ExecuteOptions, KNOWN_AGENTS, type KitConfig, type ParsedWorkerResult, type PlanOptions, RepairLoop, ShellAgyAdapter, type ShellAgyAdapterOptions, type WorkerAdapter, type WorkerExecution, type WorkerRequest, type WorkerStatus, type WorkflowSnapshot, WorkflowState, WorkflowStore, canTransition, defaultState, detectAgent, parseWorkerResult, runBrainstorm, runDelegate, runDelegateWithAdapter, runDoctor, runExecute, runExecuteWithAdapter, runInit, runPlan, runReview, runStatus, transitionOrThrow };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
declare enum WorkflowState {
|
|
2
|
+
IDLE = "IDLE",
|
|
3
|
+
DISCOVERY = "DISCOVERY",
|
|
4
|
+
CLARIFICATION_REQUIRED = "CLARIFICATION_REQUIRED",
|
|
5
|
+
BRAINSTORMING = "BRAINSTORMING",
|
|
6
|
+
PLANNING = "PLANNING",
|
|
7
|
+
READY = "READY",
|
|
8
|
+
IMPLEMENTING = "IMPLEMENTING",
|
|
9
|
+
VERIFYING = "VERIFYING",
|
|
10
|
+
REVIEWING = "REVIEWING",
|
|
11
|
+
REPAIR_REQUIRED = "REPAIR_REQUIRED",
|
|
12
|
+
COMPLETED = "COMPLETED",
|
|
13
|
+
BLOCKED = "BLOCKED",
|
|
14
|
+
ESCALATION_REQUIRED = "ESCALATION_REQUIRED"
|
|
15
|
+
}
|
|
16
|
+
declare function canTransition(from: WorkflowState, to: WorkflowState): boolean;
|
|
17
|
+
declare function transitionOrThrow(from: WorkflowState, to: WorkflowState): WorkflowState;
|
|
18
|
+
|
|
19
|
+
type WorkerStatus = "DONE" | "BLOCKED" | "FAILED";
|
|
20
|
+
interface ParsedWorkerResult {
|
|
21
|
+
status: WorkerStatus;
|
|
22
|
+
summary: string;
|
|
23
|
+
}
|
|
24
|
+
interface WorkerExecution {
|
|
25
|
+
ok: boolean;
|
|
26
|
+
timedOut: boolean;
|
|
27
|
+
exitCode: number | null;
|
|
28
|
+
stdout: string;
|
|
29
|
+
stderr: string;
|
|
30
|
+
durationMs: number;
|
|
31
|
+
}
|
|
32
|
+
interface WorkerRequest {
|
|
33
|
+
repoPath: string;
|
|
34
|
+
taskId: string;
|
|
35
|
+
prompt: string;
|
|
36
|
+
timeoutMs: number;
|
|
37
|
+
}
|
|
38
|
+
interface WorkerAdapter {
|
|
39
|
+
run(request: WorkerRequest): Promise<WorkerExecution>;
|
|
40
|
+
}
|
|
41
|
+
interface KitConfig {
|
|
42
|
+
agyCommand: string;
|
|
43
|
+
agyArgs: string[];
|
|
44
|
+
maxRepairAttempts: number;
|
|
45
|
+
}
|
|
46
|
+
interface WorkflowSnapshot {
|
|
47
|
+
state: WorkflowState;
|
|
48
|
+
currentPhase: string;
|
|
49
|
+
currentTask: string;
|
|
50
|
+
reviewAttempt: number;
|
|
51
|
+
repairAttempt: number;
|
|
52
|
+
nextAction: string;
|
|
53
|
+
blockingIssues: string[];
|
|
54
|
+
updatedAt: string;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
interface ShellAgyAdapterOptions {
|
|
58
|
+
command: string;
|
|
59
|
+
baseArgs?: string[];
|
|
60
|
+
}
|
|
61
|
+
declare class ShellAgyAdapter implements WorkerAdapter {
|
|
62
|
+
private readonly command;
|
|
63
|
+
private readonly baseArgs;
|
|
64
|
+
constructor(options: ShellAgyAdapterOptions);
|
|
65
|
+
run(request: WorkerRequest): Promise<WorkerExecution>;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
interface AgentDefinition {
|
|
69
|
+
id: string;
|
|
70
|
+
name: string;
|
|
71
|
+
agentFile: string;
|
|
72
|
+
skillFile: string;
|
|
73
|
+
description: string;
|
|
74
|
+
keywords: string[];
|
|
75
|
+
repoIndicators: string[];
|
|
76
|
+
}
|
|
77
|
+
declare const KNOWN_AGENTS: Record<string, AgentDefinition>;
|
|
78
|
+
interface AgentResolution {
|
|
79
|
+
agent: AgentDefinition;
|
|
80
|
+
isExplicit: boolean;
|
|
81
|
+
confidence: number;
|
|
82
|
+
reason: string;
|
|
83
|
+
instructions: string;
|
|
84
|
+
skillInstructions: string;
|
|
85
|
+
}
|
|
86
|
+
interface DetectAgentOptions {
|
|
87
|
+
root: string;
|
|
88
|
+
content?: string;
|
|
89
|
+
explicitAgent?: string;
|
|
90
|
+
}
|
|
91
|
+
declare function detectAgent(options: DetectAgentOptions): AgentResolution;
|
|
92
|
+
|
|
93
|
+
declare class RepairLoop {
|
|
94
|
+
private readonly maxAttempts;
|
|
95
|
+
constructor(maxAttempts: number);
|
|
96
|
+
canRetry(currentAttempt: number): boolean;
|
|
97
|
+
nextAttempt(currentAttempt: number): number;
|
|
98
|
+
needsEscalation(currentAttempt: number): boolean;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
declare function parseWorkerResult(raw: string): ParsedWorkerResult;
|
|
102
|
+
|
|
103
|
+
interface BrainstormOptions {
|
|
104
|
+
root: string;
|
|
105
|
+
task: string;
|
|
106
|
+
spec?: string;
|
|
107
|
+
prompt?: string;
|
|
108
|
+
agent?: string;
|
|
109
|
+
}
|
|
110
|
+
declare function runBrainstorm(options: BrainstormOptions): void;
|
|
111
|
+
|
|
112
|
+
interface PlanOptions {
|
|
113
|
+
root: string;
|
|
114
|
+
task: string;
|
|
115
|
+
spec?: string;
|
|
116
|
+
agent?: string;
|
|
117
|
+
}
|
|
118
|
+
declare function runPlan(options: PlanOptions): void;
|
|
119
|
+
|
|
120
|
+
interface ExecuteOptions {
|
|
121
|
+
root: string;
|
|
122
|
+
task: string;
|
|
123
|
+
plan?: string;
|
|
124
|
+
file?: string;
|
|
125
|
+
spec?: string;
|
|
126
|
+
agent?: string;
|
|
127
|
+
repairRequest?: string;
|
|
128
|
+
timeoutMs?: number;
|
|
129
|
+
}
|
|
130
|
+
declare function runExecute(options: ExecuteOptions): Promise<void>;
|
|
131
|
+
declare function runExecuteWithAdapter(options: ExecuteOptions, adapter: WorkerAdapter): Promise<void>;
|
|
132
|
+
|
|
133
|
+
interface DelegateOptions {
|
|
134
|
+
root: string;
|
|
135
|
+
task: string;
|
|
136
|
+
spec: string;
|
|
137
|
+
timeoutMs: number;
|
|
138
|
+
repairRequest?: string;
|
|
139
|
+
}
|
|
140
|
+
declare function runDelegate(options: DelegateOptions): Promise<void>;
|
|
141
|
+
declare function runDelegateWithAdapter(options: DelegateOptions, adapter: WorkerAdapter): Promise<void>;
|
|
142
|
+
|
|
143
|
+
interface DoctorOptions {
|
|
144
|
+
root: string;
|
|
145
|
+
}
|
|
146
|
+
declare function runDoctor(options: DoctorOptions): void;
|
|
147
|
+
|
|
148
|
+
interface InitOptions {
|
|
149
|
+
root: string;
|
|
150
|
+
force: boolean;
|
|
151
|
+
}
|
|
152
|
+
declare function runInit(options: InitOptions): void;
|
|
153
|
+
|
|
154
|
+
interface ReviewOptions {
|
|
155
|
+
root: string;
|
|
156
|
+
task: string;
|
|
157
|
+
outcome: "PASS" | "FAIL" | "BLOCKED";
|
|
158
|
+
reviewFile?: string;
|
|
159
|
+
}
|
|
160
|
+
declare function runReview(options: ReviewOptions): void;
|
|
161
|
+
|
|
162
|
+
interface StatusOptions {
|
|
163
|
+
root: string;
|
|
164
|
+
}
|
|
165
|
+
declare function runStatus(options: StatusOptions): void;
|
|
166
|
+
|
|
167
|
+
declare class WorkflowStore {
|
|
168
|
+
readonly root: string;
|
|
169
|
+
readonly workflowDir: string;
|
|
170
|
+
readonly tasksDir: string;
|
|
171
|
+
readonly statePath: string;
|
|
172
|
+
readonly configPath: string;
|
|
173
|
+
constructor(root: string);
|
|
174
|
+
ensureBaseStructure(): void;
|
|
175
|
+
ensureTask(taskId: string): string;
|
|
176
|
+
writeTaskFile(taskId: string, fileName: string, content: string): string;
|
|
177
|
+
readTaskFile(taskId: string, fileName: string): string;
|
|
178
|
+
hasTaskFile(taskId: string, fileName: string): boolean;
|
|
179
|
+
writeConfig(config: KitConfig): void;
|
|
180
|
+
readConfig(): KitConfig;
|
|
181
|
+
writeState(snapshot: WorkflowSnapshot): void;
|
|
182
|
+
readState(): WorkflowSnapshot;
|
|
183
|
+
}
|
|
184
|
+
declare function defaultState(): WorkflowSnapshot;
|
|
185
|
+
|
|
186
|
+
export { type AgentDefinition, type AgentResolution, type BrainstormOptions, type DetectAgentOptions, type ExecuteOptions, KNOWN_AGENTS, type KitConfig, type ParsedWorkerResult, type PlanOptions, RepairLoop, ShellAgyAdapter, type ShellAgyAdapterOptions, type WorkerAdapter, type WorkerExecution, type WorkerRequest, type WorkerStatus, type WorkflowSnapshot, WorkflowState, WorkflowStore, canTransition, defaultState, detectAgent, parseWorkerResult, runBrainstorm, runDelegate, runDelegateWithAdapter, runDoctor, runExecute, runExecuteWithAdapter, runInit, runPlan, runReview, runStatus, transitionOrThrow };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import {
|
|
2
|
+
KNOWN_AGENTS,
|
|
3
|
+
RepairLoop,
|
|
4
|
+
ShellAgyAdapter,
|
|
5
|
+
WorkflowState,
|
|
6
|
+
WorkflowStore,
|
|
7
|
+
canTransition,
|
|
8
|
+
defaultState,
|
|
9
|
+
detectAgent,
|
|
10
|
+
parseWorkerResult,
|
|
11
|
+
runBrainstorm,
|
|
12
|
+
runDelegate,
|
|
13
|
+
runDelegateWithAdapter,
|
|
14
|
+
runDoctor,
|
|
15
|
+
runExecute,
|
|
16
|
+
runExecuteWithAdapter,
|
|
17
|
+
runInit,
|
|
18
|
+
runPlan,
|
|
19
|
+
runReview,
|
|
20
|
+
runStatus,
|
|
21
|
+
transitionOrThrow
|
|
22
|
+
} from "./chunk-URIBUKLX.js";
|
|
23
|
+
export {
|
|
24
|
+
KNOWN_AGENTS,
|
|
25
|
+
RepairLoop,
|
|
26
|
+
ShellAgyAdapter,
|
|
27
|
+
WorkflowState,
|
|
28
|
+
WorkflowStore,
|
|
29
|
+
canTransition,
|
|
30
|
+
defaultState,
|
|
31
|
+
detectAgent,
|
|
32
|
+
parseWorkerResult,
|
|
33
|
+
runBrainstorm,
|
|
34
|
+
runDelegate,
|
|
35
|
+
runDelegateWithAdapter,
|
|
36
|
+
runDoctor,
|
|
37
|
+
runExecute,
|
|
38
|
+
runExecuteWithAdapter,
|
|
39
|
+
runInit,
|
|
40
|
+
runPlan,
|
|
41
|
+
runReview,
|
|
42
|
+
runStatus,
|
|
43
|
+
transitionOrThrow
|
|
44
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@camilyos/codex-antigravity-kit",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Codex brain + Antigravity worker orchestration kit with deterministic file-state workflow",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.cjs",
|
|
7
|
+
"module": "dist/index.js",
|
|
8
|
+
"types": "dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.js",
|
|
13
|
+
"require": "./dist/index.cjs"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"bin": {
|
|
17
|
+
"codex-antigravity-kit": "dist/cli.cjs"
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"dist",
|
|
21
|
+
"README.md",
|
|
22
|
+
"AGENTS.md"
|
|
23
|
+
],
|
|
24
|
+
"publishConfig": {
|
|
25
|
+
"access": "public"
|
|
26
|
+
},
|
|
27
|
+
"scripts": {
|
|
28
|
+
"build": "tsup src/index.ts src/cli.ts --format cjs,esm --dts --clean --out-dir dist",
|
|
29
|
+
"typecheck": "tsc --noEmit",
|
|
30
|
+
"test": "vitest run",
|
|
31
|
+
"lint": "tsc --noEmit",
|
|
32
|
+
"prepare": "npm run build"
|
|
33
|
+
},
|
|
34
|
+
"keywords": [
|
|
35
|
+
"codex",
|
|
36
|
+
"antigravity",
|
|
37
|
+
"orchestration",
|
|
38
|
+
"agent",
|
|
39
|
+
"workflow",
|
|
40
|
+
"cli"
|
|
41
|
+
],
|
|
42
|
+
"author": "camilyos",
|
|
43
|
+
"license": "MIT",
|
|
44
|
+
"engines": {
|
|
45
|
+
"node": ">=20"
|
|
46
|
+
},
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"commander": "^15.0.0"
|
|
49
|
+
},
|
|
50
|
+
"devDependencies": {
|
|
51
|
+
"@types/node": "^26.6.3",
|
|
52
|
+
"tsup": "^8.5.1",
|
|
53
|
+
"typescript": "^5.7.3",
|
|
54
|
+
"vitest": "^4.1.11"
|
|
55
|
+
}
|
|
56
|
+
}
|