@on-par/factory-cli 0.9.11-next.29 → 0.9.11-next.30

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@on-par/factory-cli",
3
- "version": "0.9.11-next.29",
3
+ "version": "0.9.11-next.30",
4
4
  "description": "On PAR Dev's Software Factory CLI: takes a GitHub issue through plan, build and check with AI agents, then opens a ready-for-review PR.",
5
5
  "keywords": [
6
6
  "ai-agents",
@@ -17,6 +17,7 @@
17
17
  },
18
18
  "files": [
19
19
  "dist",
20
+ "schemas",
20
21
  "!dist/.tsbuildinfo"
21
22
  ],
22
23
  "publishConfig": {
@@ -47,13 +48,14 @@
47
48
  "@octokit/plugin-retry": "^8.1.1",
48
49
  "@octokit/plugin-throttling": "^11.0.5",
49
50
  "@octokit/rest": "^22.0.0",
50
- "@on-par/factory-core": "0.9.11-next.29",
51
- "@on-par/factory-tui": "0.9.11-next.29",
51
+ "@on-par/factory-core": "0.9.11-next.30",
52
+ "@on-par/factory-tui": "0.9.11-next.30",
52
53
  "commander": "^15.0.0",
53
54
  "zod": "^4.6.5"
54
55
  },
55
56
  "license": "MIT",
56
57
  "devDependencies": {
57
- "@types/node": "^26.6.5"
58
+ "@types/node": "^26.6.5",
59
+ "ajv": "^8.20.0"
58
60
  }
59
61
  }
@@ -0,0 +1,100 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "schemaVersion": {
6
+ "type": "number",
7
+ "const": 1
8
+ },
9
+ "rows": {
10
+ "type": "array",
11
+ "items": {
12
+ "type": "object",
13
+ "properties": {
14
+ "ts": {
15
+ "type": "string"
16
+ },
17
+ "issue": {
18
+ "type": "string"
19
+ },
20
+ "task": {
21
+ "type": "string"
22
+ },
23
+ "model": {
24
+ "type": "string"
25
+ },
26
+ "inputTokens": {
27
+ "type": "number"
28
+ },
29
+ "outputTokens": {
30
+ "type": "number"
31
+ },
32
+ "cacheReadTokens": {
33
+ "type": ["number", "null"]
34
+ },
35
+ "cacheCreationTokens": {
36
+ "type": ["number", "null"]
37
+ },
38
+ "cost": {
39
+ "type": ["number", "null"]
40
+ }
41
+ },
42
+ "required": [
43
+ "ts",
44
+ "issue",
45
+ "task",
46
+ "model",
47
+ "inputTokens",
48
+ "outputTokens",
49
+ "cacheReadTokens",
50
+ "cacheCreationTokens",
51
+ "cost"
52
+ ],
53
+ "additionalProperties": false
54
+ }
55
+ },
56
+ "perModel": {
57
+ "type": "array",
58
+ "items": {
59
+ "type": "object",
60
+ "properties": {
61
+ "model": {
62
+ "type": "string"
63
+ },
64
+ "tasks": {
65
+ "type": "number"
66
+ },
67
+ "inputTokens": {
68
+ "type": "number"
69
+ },
70
+ "outputTokens": {
71
+ "type": "number"
72
+ },
73
+ "cost": {
74
+ "type": ["number", "null"]
75
+ },
76
+ "unpricedCount": {
77
+ "type": "number"
78
+ }
79
+ },
80
+ "required": ["model", "tasks", "inputTokens", "outputTokens", "cost", "unpricedCount"],
81
+ "additionalProperties": false
82
+ }
83
+ },
84
+ "total": {
85
+ "type": "object",
86
+ "properties": {
87
+ "cost": {
88
+ "type": ["number", "null"]
89
+ },
90
+ "unpricedCount": {
91
+ "type": "number"
92
+ }
93
+ },
94
+ "required": ["cost", "unpricedCount"],
95
+ "additionalProperties": false
96
+ }
97
+ },
98
+ "required": ["schemaVersion", "rows", "perModel", "total"],
99
+ "additionalProperties": false
100
+ }
@@ -0,0 +1,44 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "schemaVersion": {
6
+ "type": "number",
7
+ "const": 1
8
+ },
9
+ "running": {
10
+ "type": "boolean"
11
+ },
12
+ "pid": {
13
+ "type": ["number", "null"]
14
+ },
15
+ "uptimeSec": {
16
+ "type": ["number", "null"]
17
+ },
18
+ "plistInstalled": {
19
+ "type": "boolean"
20
+ },
21
+ "repos": {
22
+ "type": "array",
23
+ "items": {
24
+ "type": "object",
25
+ "properties": {
26
+ "slug": {
27
+ "type": "string"
28
+ },
29
+ "checkoutPath": {
30
+ "type": "string"
31
+ },
32
+ "state": {
33
+ "type": "string",
34
+ "enum": ["active", "paused", "draining", "detached"]
35
+ }
36
+ },
37
+ "required": ["slug", "checkoutPath", "state"],
38
+ "additionalProperties": false
39
+ }
40
+ }
41
+ },
42
+ "required": ["schemaVersion", "running", "pid", "uptimeSec", "plistInstalled", "repos"],
43
+ "additionalProperties": false
44
+ }
@@ -0,0 +1,114 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "ts": {
6
+ "type": "string"
7
+ },
8
+ "type": {
9
+ "type": "string"
10
+ },
11
+ "issue": {
12
+ "type": "string"
13
+ },
14
+ "msg": {
15
+ "type": "string"
16
+ },
17
+ "level": {
18
+ "type": "string",
19
+ "enum": ["debug", "info", "warn", "error"]
20
+ },
21
+ "lane": {
22
+ "type": "string"
23
+ },
24
+ "repo": {
25
+ "type": "string"
26
+ },
27
+ "phase": {
28
+ "type": "string"
29
+ },
30
+ "actor": {
31
+ "type": "string"
32
+ },
33
+ "failoverReason": {
34
+ "type": "string"
35
+ },
36
+ "fingerprint": {
37
+ "type": "string"
38
+ },
39
+ "evidence": {
40
+ "type": "object",
41
+ "properties": {},
42
+ "additionalProperties": {}
43
+ },
44
+ "rework": {
45
+ "type": "object",
46
+ "properties": {},
47
+ "additionalProperties": {}
48
+ },
49
+ "readiness": {
50
+ "type": "object",
51
+ "properties": {},
52
+ "additionalProperties": {}
53
+ },
54
+ "queueReprioritization": {
55
+ "type": "object",
56
+ "properties": {},
57
+ "additionalProperties": {}
58
+ },
59
+ "prClassification": {
60
+ "type": "object",
61
+ "properties": {},
62
+ "additionalProperties": {}
63
+ },
64
+ "lanePaused": {
65
+ "type": "object",
66
+ "properties": {},
67
+ "additionalProperties": {}
68
+ },
69
+ "stewardTriggered": {
70
+ "type": "object",
71
+ "properties": {},
72
+ "additionalProperties": {}
73
+ },
74
+ "flakyTests": {
75
+ "type": "object",
76
+ "properties": {},
77
+ "additionalProperties": {}
78
+ },
79
+ "checkFailure": {
80
+ "type": "object",
81
+ "properties": {},
82
+ "additionalProperties": {}
83
+ },
84
+ "ciFailure": {
85
+ "type": "object",
86
+ "properties": {},
87
+ "additionalProperties": {}
88
+ },
89
+ "model": {
90
+ "type": "string"
91
+ },
92
+ "tokens": {
93
+ "type": "object",
94
+ "properties": {
95
+ "input": {
96
+ "type": "number"
97
+ },
98
+ "output": {
99
+ "type": "number"
100
+ }
101
+ },
102
+ "required": ["input", "output"],
103
+ "additionalProperties": false
104
+ },
105
+ "durationMs": {
106
+ "type": "number"
107
+ },
108
+ "cursor": {
109
+ "type": "string"
110
+ }
111
+ },
112
+ "required": ["ts", "type", "issue", "msg"],
113
+ "additionalProperties": false
114
+ }
@@ -0,0 +1,77 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "schemaVersion": {
6
+ "type": "number",
7
+ "const": 1
8
+ },
9
+ "lanes": {
10
+ "type": "array",
11
+ "items": {
12
+ "type": "object",
13
+ "properties": {
14
+ "lane": {
15
+ "type": "string"
16
+ },
17
+ "items": {
18
+ "type": "array",
19
+ "items": {
20
+ "type": "object",
21
+ "properties": {
22
+ "issue": {
23
+ "type": "number"
24
+ },
25
+ "title": {
26
+ "type": "string"
27
+ },
28
+ "status": {
29
+ "type": "string",
30
+ "enum": ["queued", "in-progress", "parked"]
31
+ },
32
+ "order": {
33
+ "type": "number"
34
+ },
35
+ "claimedBy": {
36
+ "type": ["string", "null"]
37
+ }
38
+ },
39
+ "required": ["issue", "status", "order", "claimedBy"],
40
+ "additionalProperties": false
41
+ }
42
+ }
43
+ },
44
+ "required": ["lane", "items"],
45
+ "additionalProperties": false
46
+ }
47
+ },
48
+ "orderConflicts": {
49
+ "type": "array",
50
+ "items": {
51
+ "type": "object",
52
+ "properties": {
53
+ "lane": {
54
+ "type": "string"
55
+ },
56
+ "order": {
57
+ "type": ["number", "null"]
58
+ },
59
+ "issues": {
60
+ "type": "array",
61
+ "items": {
62
+ "type": "number"
63
+ }
64
+ },
65
+ "reason": {
66
+ "type": "string",
67
+ "enum": ["missing-order-label", "multiple-order-labels", "malformed-order-label"]
68
+ }
69
+ },
70
+ "required": ["lane", "order", "issues"],
71
+ "additionalProperties": false
72
+ }
73
+ }
74
+ },
75
+ "required": ["schemaVersion", "lanes", "orderConflicts"],
76
+ "additionalProperties": false
77
+ }
@@ -0,0 +1,81 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "schemaVersion": {
6
+ "type": "number",
7
+ "const": 1
8
+ },
9
+ "issue": {
10
+ "type": "number"
11
+ },
12
+ "branch": {
13
+ "type": ["string", "null"]
14
+ },
15
+ "base": {
16
+ "type": "string"
17
+ },
18
+ "files": {
19
+ "anyOf": [
20
+ {
21
+ "type": "array",
22
+ "items": {
23
+ "type": "object",
24
+ "properties": {
25
+ "path": {
26
+ "type": "string"
27
+ },
28
+ "added": {
29
+ "type": ["number", "null"]
30
+ },
31
+ "deleted": {
32
+ "type": ["number", "null"]
33
+ }
34
+ },
35
+ "required": ["path", "added", "deleted"],
36
+ "additionalProperties": false
37
+ }
38
+ },
39
+ {
40
+ "type": "null"
41
+ }
42
+ ]
43
+ },
44
+ "totals": {
45
+ "anyOf": [
46
+ {
47
+ "type": "object",
48
+ "properties": {
49
+ "files": {
50
+ "type": "number"
51
+ },
52
+ "added": {
53
+ "type": "number"
54
+ },
55
+ "deleted": {
56
+ "type": "number"
57
+ }
58
+ },
59
+ "required": ["files", "added", "deleted"],
60
+ "additionalProperties": false
61
+ },
62
+ {
63
+ "type": "null"
64
+ }
65
+ ]
66
+ },
67
+ "reason": {
68
+ "anyOf": [
69
+ {
70
+ "type": "string",
71
+ "enum": ["branch-missing", "base-missing", "no-branch"]
72
+ },
73
+ {
74
+ "type": "null"
75
+ }
76
+ ]
77
+ }
78
+ },
79
+ "required": ["schemaVersion", "issue", "branch", "base", "files", "totals", "reason"],
80
+ "additionalProperties": false
81
+ }
@@ -0,0 +1,75 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "schemaVersion": {
6
+ "type": "number",
7
+ "const": 1
8
+ },
9
+ "runs": {
10
+ "type": "array",
11
+ "items": {
12
+ "type": "object",
13
+ "properties": {
14
+ "issue": {
15
+ "type": "number"
16
+ },
17
+ "lane": {
18
+ "type": ["string", "null"]
19
+ },
20
+ "repo": {
21
+ "type": ["string", "null"]
22
+ },
23
+ "status": {
24
+ "type": ["string", "null"]
25
+ },
26
+ "phase": {
27
+ "anyOf": [
28
+ {
29
+ "type": "string",
30
+ "enum": ["plan", "build", "check", "ship"]
31
+ },
32
+ {
33
+ "type": "null"
34
+ }
35
+ ]
36
+ },
37
+ "branch": {
38
+ "type": ["string", "null"]
39
+ },
40
+ "prNumber": {
41
+ "type": ["number", "null"]
42
+ },
43
+ "model": {
44
+ "type": ["string", "null"]
45
+ },
46
+ "attempts": {
47
+ "type": ["number", "null"]
48
+ },
49
+ "startedAt": {
50
+ "type": ["string", "null"]
51
+ },
52
+ "updatedAt": {
53
+ "type": "string"
54
+ }
55
+ },
56
+ "required": [
57
+ "issue",
58
+ "lane",
59
+ "repo",
60
+ "status",
61
+ "phase",
62
+ "branch",
63
+ "prNumber",
64
+ "model",
65
+ "attempts",
66
+ "startedAt",
67
+ "updatedAt"
68
+ ],
69
+ "additionalProperties": false
70
+ }
71
+ }
72
+ },
73
+ "required": ["schemaVersion", "runs"],
74
+ "additionalProperties": false
75
+ }
@@ -0,0 +1,200 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "schemaVersion": {
6
+ "type": "number",
7
+ "const": 1
8
+ },
9
+ "repo": {
10
+ "type": "string"
11
+ },
12
+ "product": {
13
+ "type": ["string", "null"]
14
+ },
15
+ "stop": {
16
+ "type": "boolean"
17
+ },
18
+ "stopInfo": {
19
+ "anyOf": [
20
+ {
21
+ "type": "object",
22
+ "properties": {
23
+ "source": {
24
+ "type": "string",
25
+ "enum": ["manual", "usage-watchdog", "self-update", "unknown"]
26
+ },
27
+ "setAt": {
28
+ "type": ["string", "null"]
29
+ }
30
+ },
31
+ "required": ["source", "setAt"],
32
+ "additionalProperties": false
33
+ },
34
+ {
35
+ "type": "null"
36
+ }
37
+ ]
38
+ },
39
+ "breaker": {
40
+ "type": "object",
41
+ "properties": {
42
+ "open": {
43
+ "type": "boolean"
44
+ },
45
+ "providers": {
46
+ "type": "array",
47
+ "items": {
48
+ "type": "object",
49
+ "properties": {
50
+ "provider": {
51
+ "type": "string"
52
+ },
53
+ "reason": {
54
+ "type": "string"
55
+ },
56
+ "openedAt": {
57
+ "type": "string"
58
+ },
59
+ "remainingSec": {
60
+ "type": "number"
61
+ }
62
+ },
63
+ "required": ["provider", "reason", "openedAt", "remainingSec"],
64
+ "additionalProperties": false
65
+ }
66
+ }
67
+ },
68
+ "required": ["open", "providers"],
69
+ "additionalProperties": false
70
+ },
71
+ "active": {
72
+ "type": "array",
73
+ "items": {
74
+ "type": "object",
75
+ "properties": {
76
+ "lane": {
77
+ "type": "string"
78
+ },
79
+ "issue": {
80
+ "type": "number"
81
+ },
82
+ "phase": {
83
+ "type": "string"
84
+ },
85
+ "ageSec": {
86
+ "type": "number"
87
+ }
88
+ },
89
+ "required": ["lane", "issue", "phase", "ageSec"],
90
+ "additionalProperties": false
91
+ }
92
+ },
93
+ "update": {
94
+ "anyOf": [
95
+ {
96
+ "type": "object",
97
+ "properties": {
98
+ "mode": {
99
+ "type": "string",
100
+ "enum": ["manual", "stable", "prerelease"]
101
+ },
102
+ "channel": {
103
+ "anyOf": [
104
+ {
105
+ "type": "string",
106
+ "enum": ["latest", "next"]
107
+ },
108
+ {
109
+ "type": "null"
110
+ }
111
+ ]
112
+ },
113
+ "installKind": {
114
+ "type": "string",
115
+ "enum": ["npm-global", "source", "unknown"]
116
+ },
117
+ "current": {
118
+ "type": "string"
119
+ },
120
+ "available": {
121
+ "type": ["string", "null"]
122
+ },
123
+ "lastCheckAt": {
124
+ "type": ["string", "null"]
125
+ },
126
+ "lastResult": {
127
+ "anyOf": [
128
+ {
129
+ "type": "object",
130
+ "properties": {
131
+ "at": {
132
+ "type": "string"
133
+ },
134
+ "version": {
135
+ "type": "string"
136
+ },
137
+ "outcome": {
138
+ "type": "string",
139
+ "enum": ["updated", "rolled-back", "failed", "skipped"]
140
+ },
141
+ "error": {
142
+ "type": "string"
143
+ }
144
+ },
145
+ "required": ["at", "version", "outcome"],
146
+ "additionalProperties": false
147
+ },
148
+ {
149
+ "type": "null"
150
+ }
151
+ ]
152
+ },
153
+ "draining": {
154
+ "anyOf": [
155
+ {
156
+ "type": "object",
157
+ "properties": {
158
+ "since": {
159
+ "type": "string"
160
+ },
161
+ "target": {
162
+ "type": "string"
163
+ },
164
+ "stopFiles": {
165
+ "type": "array",
166
+ "items": {
167
+ "type": "string"
168
+ }
169
+ }
170
+ },
171
+ "required": ["since", "target"],
172
+ "additionalProperties": false
173
+ },
174
+ {
175
+ "type": "null"
176
+ }
177
+ ]
178
+ }
179
+ },
180
+ "required": [
181
+ "mode",
182
+ "channel",
183
+ "installKind",
184
+ "current",
185
+ "available",
186
+ "lastCheckAt",
187
+ "lastResult",
188
+ "draining"
189
+ ],
190
+ "additionalProperties": false
191
+ },
192
+ {
193
+ "type": "null"
194
+ }
195
+ ]
196
+ }
197
+ },
198
+ "required": ["schemaVersion", "repo", "product", "stop", "stopInfo", "breaker", "active", "update"],
199
+ "additionalProperties": false
200
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "schemaVersion": {
6
+ "type": "number",
7
+ "const": 1
8
+ },
9
+ "source": {
10
+ "type": "string",
11
+ "enum": ["subscription", "heuristic", "unavailable"]
12
+ },
13
+ "utilizationPct": {
14
+ "type": ["number", "null"]
15
+ },
16
+ "resetsAt": {
17
+ "type": ["string", "null"]
18
+ },
19
+ "windowHours": {
20
+ "type": "number"
21
+ },
22
+ "estimateUsd": {
23
+ "type": ["number", "null"]
24
+ }
25
+ },
26
+ "required": ["schemaVersion", "source", "utilizationPct", "resetsAt", "windowHours", "estimateUsd"],
27
+ "additionalProperties": false
28
+ }