jev-planner 0.0.1 → 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.
@@ -0,0 +1,264 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://jev-planner.com/config.schema.json",
4
+ "title": "jev-planner.json",
5
+ "description": "A jev-planner run's settings. A flag given on the command line beats the key here. Never put an API key in this file: it is meant to be committed.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "$schema": {
10
+ "type": "string"
11
+ },
12
+ "agents": {
13
+ "type": "object",
14
+ "description": "The run's agents, in order, with their settings; {} selects one with none. As --agents. A provider's id selects that provider; any other key names another instance of one, with provider saying which.",
15
+ "minProperties": 2,
16
+ "propertyNames": {
17
+ "pattern": "^[A-Za-z][A-Za-z0-9-]{0,23}$",
18
+ "not": {
19
+ "enum": [
20
+ "auto",
21
+ "none",
22
+ "tie",
23
+ "con",
24
+ "prn",
25
+ "aux",
26
+ "nul",
27
+ "com1",
28
+ "com2",
29
+ "com3",
30
+ "com4",
31
+ "com5",
32
+ "com6",
33
+ "com7",
34
+ "com8",
35
+ "com9",
36
+ "lpt1",
37
+ "lpt2",
38
+ "lpt3",
39
+ "lpt4",
40
+ "lpt5",
41
+ "lpt6",
42
+ "lpt7",
43
+ "lpt8",
44
+ "lpt9"
45
+ ]
46
+ },
47
+ "description": "An agent's name: a letter, then letters, digits or -, at most 24 characters, read lowercased; not a word the run reserves."
48
+ },
49
+ "properties": {
50
+ "codex": {
51
+ "type": "object",
52
+ "additionalProperties": false,
53
+ "properties": {
54
+ "model": {
55
+ "type": "string",
56
+ "minLength": 1,
57
+ "description": "The Codex model, as --model codex=<model> sets it."
58
+ },
59
+ "effort": {
60
+ "type": "string",
61
+ "minLength": 1,
62
+ "description": "The reasoning effort, as --effort sets it."
63
+ },
64
+ "reviewEffort": {
65
+ "type": "string",
66
+ "minLength": 1,
67
+ "description": "The effort for its cross-review and merge only, as --review-effort sets it."
68
+ }
69
+ }
70
+ },
71
+ "claude": {
72
+ "type": "object",
73
+ "additionalProperties": false,
74
+ "properties": {
75
+ "model": {
76
+ "type": "string",
77
+ "minLength": 1,
78
+ "description": "The Claude model, as --model claude=<model> sets it."
79
+ },
80
+ "effort": {
81
+ "type": "string",
82
+ "minLength": 1,
83
+ "description": "The reasoning effort, as --effort sets it."
84
+ },
85
+ "reviewEffort": {
86
+ "type": "string",
87
+ "minLength": 1,
88
+ "description": "The effort for its cross-review and merge only, as --review-effort sets it."
89
+ }
90
+ }
91
+ },
92
+ "deepseek": {
93
+ "type": "object",
94
+ "additionalProperties": false,
95
+ "properties": {
96
+ "model": {
97
+ "type": "string",
98
+ "minLength": 1,
99
+ "description": "The DeepSeek model, as --model deepseek=<model> sets it."
100
+ }
101
+ }
102
+ },
103
+ "kimi": {
104
+ "type": "object",
105
+ "additionalProperties": false,
106
+ "properties": {
107
+ "model": {
108
+ "type": "string",
109
+ "minLength": 1,
110
+ "description": "The Kimi model, as --model kimi=<model> sets it."
111
+ }
112
+ }
113
+ },
114
+ "glm": {
115
+ "type": "object",
116
+ "additionalProperties": false,
117
+ "properties": {
118
+ "model": {
119
+ "type": "string",
120
+ "minLength": 1,
121
+ "description": "The GLM model, as --model glm=<model> sets it."
122
+ }
123
+ }
124
+ }
125
+ },
126
+ "additionalProperties": {
127
+ "type": "object",
128
+ "description": "A named agent, as --agents <provider>:<name> sets it.",
129
+ "required": ["provider"],
130
+ "additionalProperties": false,
131
+ "properties": {
132
+ "provider": {
133
+ "enum": ["codex", "claude", "deepseek", "kimi", "glm"],
134
+ "description": "The provider this agent runs on."
135
+ },
136
+ "model": {
137
+ "type": "string",
138
+ "minLength": 1,
139
+ "description": "Its model, as --model <name>=<model> sets it."
140
+ },
141
+ "effort": {
142
+ "type": "string",
143
+ "minLength": 1,
144
+ "description": "The reasoning effort, as --effort sets it; only for a provider that takes one."
145
+ },
146
+ "reviewEffort": {
147
+ "type": "string",
148
+ "minLength": 1,
149
+ "description": "The effort for its cross-review and merge only, as --review-effort sets it."
150
+ }
151
+ },
152
+ "if": {
153
+ "properties": {
154
+ "provider": {
155
+ "enum": ["deepseek", "kimi", "glm"]
156
+ }
157
+ }
158
+ },
159
+ "then": {
160
+ "properties": {
161
+ "effort": false,
162
+ "reviewEffort": false
163
+ }
164
+ }
165
+ }
166
+ },
167
+ "mode": {
168
+ "enum": ["fast", "balanced", "ultra"],
169
+ "description": "As --mode."
170
+ },
171
+ "reviewMode": {
172
+ "enum": ["standard", "debate"],
173
+ "description": "As --review-mode."
174
+ },
175
+ "reviewRounds": {
176
+ "enum": [0, 1, 2],
177
+ "description": "As --review-rounds."
178
+ },
179
+ "claimChecks": {
180
+ "type": "boolean",
181
+ "description": "As --claim-checks."
182
+ },
183
+ "finalizer": {
184
+ "type": "string",
185
+ "minLength": 1,
186
+ "description": "auto, none or one of the agents. As --finalizer."
187
+ },
188
+ "judgeModel": {
189
+ "type": "string",
190
+ "minLength": 1,
191
+ "description": "As --judge-model."
192
+ },
193
+ "stragglerGrace": {
194
+ "type": "number",
195
+ "minimum": 0,
196
+ "description": "Seconds. As --straggler-grace."
197
+ },
198
+ "timeout": {
199
+ "type": "number",
200
+ "exclusiveMinimum": 0,
201
+ "description": "Seconds for each agent call. As --timeout."
202
+ },
203
+ "resume": {
204
+ "type": "boolean",
205
+ "description": "false as --no-resume."
206
+ },
207
+ "rounds": {
208
+ "type": "boolean",
209
+ "description": "false as --no-rounds."
210
+ },
211
+ "json": {
212
+ "type": "boolean",
213
+ "description": "As --json."
214
+ },
215
+ "verbose": {
216
+ "type": "boolean",
217
+ "description": "As --verbose."
218
+ },
219
+ "allowAnyTask": {
220
+ "type": "boolean",
221
+ "description": "As --allow-any-task."
222
+ },
223
+ "runsDir": {
224
+ "type": "string",
225
+ "minLength": 1,
226
+ "description": "A folder in which each run gets its own timestamped folder. Relative to this file."
227
+ },
228
+ "output": {
229
+ "type": "string",
230
+ "minLength": 1,
231
+ "description": "As --output. Relative to this file."
232
+ },
233
+ "cwd": {
234
+ "type": "string",
235
+ "minLength": 1,
236
+ "description": "The repository to plan, as --cwd. Only in a file passed with --config. Relative to this file."
237
+ },
238
+ "task": {
239
+ "type": "string",
240
+ "minLength": 1,
241
+ "description": "The coding task, used when none is given on the command line."
242
+ },
243
+ "taskFile": {
244
+ "type": "string",
245
+ "minLength": 1,
246
+ "description": "A file holding the task, used when none is given on the command line. Relative to this file."
247
+ }
248
+ },
249
+ "not": {
250
+ "anyOf": [
251
+ {
252
+ "required": ["task", "taskFile"]
253
+ },
254
+ {
255
+ "required": ["runsDir", "rounds"],
256
+ "properties": {
257
+ "rounds": {
258
+ "const": false
259
+ }
260
+ }
261
+ }
262
+ ]
263
+ }
264
+ }
package/dist/bin.cjs ADDED
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env node
2
+ const require_jev = require("./jev-aqxfEUdB.cjs");
3
+ //#endregion
4
+ //#region src/bin.ts
5
+ require_jev.main(process.argv.slice(2), require_jev.processDeps({
6
+ name: "jev-planner",
7
+ version: "0.1.0",
8
+ summary: "collaborative coding plans from two or more agents, judged by Jev",
9
+ judge: "Jev",
10
+ judgeModelDefault: "SDK's jev-latest",
11
+ judgeEnv: [{
12
+ variable: "TYPESAFE_API_KEY",
13
+ check: "TypeSafe key",
14
+ missing: "TYPESAFE_API_KEY is not set. Create a key at https://console.typesafe.ai/keys and export it first."
15
+ }]
16
+ }, () => new require_jev.TypeSafeJevJudge())).then((code) => {
17
+ process.exitCode = code;
18
+ });
19
+ //#endregion
package/dist/bin.d.cts ADDED
@@ -0,0 +1 @@
1
+ export {}
package/dist/bin.d.mts ADDED
@@ -0,0 +1 @@
1
+ export {}
package/dist/bin.mjs ADDED
@@ -0,0 +1,20 @@
1
+ #!/usr/bin/env node
2
+ import { d as processDeps, l as main, t as TypeSafeJevJudge } from "./jev-CIzG0Rhl.mjs";
3
+ //#endregion
4
+ //#region src/bin.ts
5
+ main(process.argv.slice(2), processDeps({
6
+ name: "jev-planner",
7
+ version: "0.1.0",
8
+ summary: "collaborative coding plans from two or more agents, judged by Jev",
9
+ judge: "Jev",
10
+ judgeModelDefault: "SDK's jev-latest",
11
+ judgeEnv: [{
12
+ variable: "TYPESAFE_API_KEY",
13
+ check: "TypeSafe key",
14
+ missing: "TYPESAFE_API_KEY is not set. Create a key at https://console.typesafe.ai/keys and export it first."
15
+ }]
16
+ }, () => new TypeSafeJevJudge())).then((code) => {
17
+ process.exitCode = code;
18
+ });
19
+ //#endregion
20
+ export {};
package/dist/index.cjs ADDED
@@ -0,0 +1,12 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_jev = require("./jev-aqxfEUdB.cjs");
3
+ exports.DEFAULT_AGENTS = require_jev.DEFAULT_AGENTS;
4
+ exports.DEFAULT_STRAGGLER_GRACE_MS = require_jev.DEFAULT_STRAGGLER_GRACE_MS;
5
+ exports.PROVIDERS = require_jev.PROVIDERS;
6
+ exports.Planner = require_jev.Planner;
7
+ exports.ProcessError = require_jev.ProcessError;
8
+ exports.TaskValidationError = require_jev.TaskValidationError;
9
+ exports.TypeSafeJevJudge = require_jev.TypeSafeJevJudge;
10
+ exports.cliProvider = require_jev.cliProvider;
11
+ exports.openAICompatibleProvider = require_jev.openAICompatibleProvider;
12
+ exports.runDoctor = require_jev.runDoctor;