perttool 0.5.1 → 0.5.2

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.
Files changed (32) hide show
  1. package/CHANGELOG.md +20 -1
  2. package/README.md +40 -25
  3. package/dist/cli.js +18 -1
  4. package/dist/cli.js.map +1 -1
  5. package/dist/command/actuals-discovery.d.ts.map +1 -1
  6. package/dist/command/actuals-discovery.js +25 -3
  7. package/dist/command/actuals-discovery.js.map +1 -1
  8. package/dist/index.d.ts +1 -1
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js.map +1 -1
  11. package/dist/schema/registry.d.ts +19 -2
  12. package/dist/schema/registry.d.ts.map +1 -1
  13. package/dist/schema/registry.js +194 -4
  14. package/dist/schema/registry.js.map +1 -1
  15. package/dist/version.d.ts +1 -1
  16. package/dist/version.js +1 -1
  17. package/package.json +1 -1
  18. package/schemas/Perttool.AgentGuidanceResult.v1.schema.json +461 -6
  19. package/schemas/Perttool.AnalysisResult.v4.schema.json +685 -19
  20. package/schemas/Perttool.CheckResult.v3.schema.json +46 -2
  21. package/schemas/Perttool.CliError.v1.schema.json +40 -4
  22. package/schemas/Perttool.CommandHelpResult.v1.schema.json +218 -6
  23. package/schemas/Perttool.Common.v1.schema.json +1460 -75
  24. package/schemas/Perttool.GuideResult.v1.schema.json +36 -2
  25. package/schemas/Perttool.MutationResult.v3.schema.json +57 -6
  26. package/schemas/Perttool.NextResult.v5.schema.json +1137 -12
  27. package/schemas/Perttool.OverrideDecision.v1.schema.json +236 -4
  28. package/schemas/Perttool.ProjectHistoryResult.v1.schema.json +204 -60
  29. package/schemas/Perttool.ProjectResult.v3.schema.json +74 -1
  30. package/schemas/Perttool.SchemaResult.v1.schema.json +56 -3
  31. package/schemas/Perttool.UnitMigrationResult.v3.schema.json +152 -14
  32. package/schemas/Perttool.VelocityObservationResult.v1.schema.json +201 -2
@@ -38,8 +38,57 @@
38
38
  "properties": {
39
39
  "schema_id": {
40
40
  "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString"
41
+ },
42
+ "view": {
43
+ "enum": [
44
+ "full",
45
+ "outline"
46
+ ]
47
+ },
48
+ "ref": {
49
+ "type": "string",
50
+ "minLength": 1
41
51
  }
42
52
  },
53
+ "allOf": [
54
+ {
55
+ "if": {
56
+ "required": [
57
+ "view"
58
+ ],
59
+ "properties": {
60
+ "view": {}
61
+ }
62
+ },
63
+ "then": {
64
+ "properties": {
65
+ "schema_id": {
66
+ "type": "string"
67
+ }
68
+ }
69
+ }
70
+ },
71
+ {
72
+ "if": {
73
+ "required": [
74
+ "ref"
75
+ ],
76
+ "properties": {
77
+ "ref": {}
78
+ }
79
+ },
80
+ "then": {
81
+ "required": [
82
+ "view"
83
+ ],
84
+ "properties": {
85
+ "view": {
86
+ "const": "outline"
87
+ }
88
+ }
89
+ }
90
+ }
91
+ ],
43
92
  "additionalProperties": false
44
93
  },
45
94
  "schemas": {
@@ -71,9 +120,13 @@
71
120
  }
72
121
  },
73
122
  "schema": {
74
- "type": [
75
- "object",
76
- "null"
123
+ "oneOf": [
124
+ {
125
+ "$ref": "https://json-schema.org/draft/2020-12/schema"
126
+ },
127
+ {
128
+ "type": "null"
129
+ }
77
130
  ]
78
131
  },
79
132
  "diagnostics": {
@@ -2,6 +2,34 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://github.com/mako10k/perttool/schemas/Perttool.UnitMigrationResult.v3.schema.json",
4
4
  "title": "Perttool.UnitMigrationResult.v3",
5
+ "$defs": {
6
+ "exactValue": {
7
+ "type": "object",
8
+ "required": [
9
+ "numerator",
10
+ "denominator",
11
+ "unit"
12
+ ],
13
+ "properties": {
14
+ "numerator": {
15
+ "type": "string",
16
+ "pattern": "^-?[0-9]+$"
17
+ },
18
+ "denominator": {
19
+ "type": "string",
20
+ "pattern": "^[1-9][0-9]*$"
21
+ },
22
+ "unit": {
23
+ "enum": [
24
+ "day",
25
+ "hour",
26
+ "point"
27
+ ]
28
+ }
29
+ },
30
+ "additionalProperties": false
31
+ }
32
+ },
5
33
  "type": "object",
6
34
  "required": [
7
35
  "schema_version",
@@ -82,45 +110,105 @@
82
110
  "additionalProperties": false
83
111
  },
84
112
  "source_grammar_version": {
85
- "type": [
86
- "integer",
87
- "null"
113
+ "oneOf": [
114
+ {
115
+ "enum": [
116
+ 1,
117
+ 2,
118
+ 3,
119
+ 4,
120
+ 5
121
+ ]
122
+ },
123
+ {
124
+ "type": "null"
125
+ }
88
126
  ]
89
127
  },
90
128
  "target_grammar_version": {
91
- "type": [
92
- "integer",
93
- "null"
129
+ "oneOf": [
130
+ {
131
+ "enum": [
132
+ 1,
133
+ 2,
134
+ 3,
135
+ 4,
136
+ 5
137
+ ]
138
+ },
139
+ {
140
+ "type": "null"
141
+ }
94
142
  ]
95
143
  },
96
144
  "grammar_disposition": {
97
145
  "type": [
98
146
  "string",
99
147
  "null"
148
+ ],
149
+ "enum": [
150
+ "retained",
151
+ "upgraded_for_exact_fraction",
152
+ null
100
153
  ]
101
154
  },
102
155
  "source_unit": {
103
156
  "type": [
104
157
  "string",
105
158
  "null"
159
+ ],
160
+ "enum": [
161
+ "day",
162
+ "hour",
163
+ "point",
164
+ null
106
165
  ]
107
166
  },
108
167
  "target_unit": {
109
168
  "type": [
110
169
  "string",
111
170
  "null"
171
+ ],
172
+ "enum": [
173
+ "day",
174
+ "hour",
175
+ "point",
176
+ null
112
177
  ]
113
178
  },
114
179
  "effective_velocity": {
115
- "type": [
116
- "object",
117
- "null"
180
+ "oneOf": [
181
+ {
182
+ "type": "object",
183
+ "required": [
184
+ "points",
185
+ "period"
186
+ ],
187
+ "properties": {
188
+ "points": {
189
+ "$ref": "#/$defs/exactValue"
190
+ },
191
+ "period": {
192
+ "$ref": "#/$defs/exactValue"
193
+ }
194
+ },
195
+ "additionalProperties": false
196
+ },
197
+ {
198
+ "type": "null"
199
+ }
118
200
  ]
119
201
  },
120
202
  "velocity_disposition": {
121
203
  "type": [
122
204
  "string",
123
205
  "null"
206
+ ],
207
+ "enum": [
208
+ "retained",
209
+ "replaced",
210
+ "inserted",
211
+ null
124
212
  ]
125
213
  },
126
214
  "changed": {
@@ -140,7 +228,11 @@
140
228
  ],
141
229
  "properties": {
142
230
  "entity_kind": {
143
- "type": "string"
231
+ "enum": [
232
+ "project",
233
+ "task",
234
+ "work_event"
235
+ ]
144
236
  },
145
237
  "entity_id": {
146
238
  "type": "string"
@@ -149,10 +241,10 @@
149
241
  "type": "string"
150
242
  },
151
243
  "original": {
152
- "$ref": "Perttool.Common.v1.schema.json#/$defs/quantity"
244
+ "$ref": "#/$defs/exactValue"
153
245
  },
154
246
  "converted": {
155
- "$ref": "Perttool.Common.v1.schema.json#/$defs/quantity"
247
+ "$ref": "#/$defs/exactValue"
156
248
  },
157
249
  "canonical_token": {
158
250
  "type": "string"
@@ -165,18 +257,64 @@
165
257
  "type": [
166
258
  "string",
167
259
  "null"
260
+ ],
261
+ "enum": [
262
+ "exact",
263
+ "values_exact_metadata_changed",
264
+ "not_applicable",
265
+ null
168
266
  ]
169
267
  },
170
268
  "qualifications": {
171
269
  "type": "array",
172
270
  "items": {
173
- "type": "object"
271
+ "enum": [
272
+ "grammar_upgraded_for_exact_fraction",
273
+ "grammar_version_retained_on_inverse",
274
+ "velocity_replaced",
275
+ "velocity_inserted"
276
+ ]
174
277
  }
175
278
  },
176
279
  "unavailable_causes": {
177
280
  "type": "array",
178
281
  "items": {
179
- "type": "object"
282
+ "type": "object",
283
+ "required": [
284
+ "cause",
285
+ "diagnostic_code",
286
+ "field_paths"
287
+ ],
288
+ "properties": {
289
+ "cause": {
290
+ "enum": [
291
+ "invalid_original",
292
+ "invalid_replacement_velocity",
293
+ "missing_velocity",
294
+ "unsupported_direction",
295
+ "velocity_period_mismatch",
296
+ "same_unit_velocity_change",
297
+ "unsupported_duration_field",
298
+ "invalid_candidate"
299
+ ]
300
+ },
301
+ "diagnostic_code": {
302
+ "enum": [
303
+ "PTMIG-401",
304
+ "PTMIG-402",
305
+ "PTMIG-403",
306
+ "PTMIG-404",
307
+ "PTMIG-405",
308
+ "PTMIG-406",
309
+ "PTMIG-407",
310
+ "PTMIG-409"
311
+ ]
312
+ },
313
+ "field_paths": {
314
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray"
315
+ }
316
+ },
317
+ "additionalProperties": false
180
318
  }
181
319
  },
182
320
  "original_digest": {
@@ -2,6 +2,205 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://github.com/mako10k/perttool/schemas/Perttool.VelocityObservationResult.v1.schema.json",
4
4
  "title": "Perttool.VelocityObservationResult.v1",
5
+ "$defs": {
6
+ "observationCause": {
7
+ "type": "object",
8
+ "required": [
9
+ "cause",
10
+ "task_id",
11
+ "event_id",
12
+ "commit_id"
13
+ ],
14
+ "properties": {
15
+ "cause": {
16
+ "enum": [
17
+ "no_selected_tasks",
18
+ "no_complete_sequence",
19
+ "non_positive_window",
20
+ "mixed_offsets",
21
+ "incomplete_active_intervals",
22
+ "missing_effort",
23
+ "missing_baseline",
24
+ "history_incomplete",
25
+ "history_unavailable",
26
+ "git_recorded_start_missing",
27
+ "git_recorded_finish_missing"
28
+ ]
29
+ },
30
+ "task_id": {
31
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString"
32
+ },
33
+ "event_id": {
34
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString"
35
+ },
36
+ "commit_id": {
37
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString"
38
+ }
39
+ },
40
+ "additionalProperties": false
41
+ },
42
+ "rate": {
43
+ "type": "object",
44
+ "required": [
45
+ "numerator",
46
+ "denominator",
47
+ "unit"
48
+ ],
49
+ "properties": {
50
+ "numerator": {
51
+ "type": "string",
52
+ "pattern": "^-?[0-9]+$"
53
+ },
54
+ "denominator": {
55
+ "type": "string",
56
+ "pattern": "^[1-9][0-9]*$"
57
+ },
58
+ "unit": {
59
+ "enum": [
60
+ "point_per_hour",
61
+ "point_per_day",
62
+ "point_per_person_hour"
63
+ ]
64
+ }
65
+ },
66
+ "additionalProperties": false
67
+ },
68
+ "candidate": {
69
+ "type": "object",
70
+ "required": [
71
+ "id",
72
+ "measure",
73
+ "evidence_class",
74
+ "state",
75
+ "numerator",
76
+ "denominator",
77
+ "rate",
78
+ "adoptable_velocity_token",
79
+ "included_task_ids",
80
+ "excluded",
81
+ "observation_start",
82
+ "observation_finish",
83
+ "baseline_sources",
84
+ "qualifiers",
85
+ "unavailable_causes"
86
+ ],
87
+ "properties": {
88
+ "id": {
89
+ "type": "string"
90
+ },
91
+ "measure": {
92
+ "enum": [
93
+ "elapsed_hour_throughput",
94
+ "active_date_throughput",
95
+ "effort_productivity",
96
+ "git_recorded_elapsed_hour_throughput"
97
+ ]
98
+ },
99
+ "evidence_class": {
100
+ "enum": [
101
+ "declared_actual",
102
+ "git_recorded_transition"
103
+ ]
104
+ },
105
+ "state": {
106
+ "enum": [
107
+ "available",
108
+ "unavailable"
109
+ ]
110
+ },
111
+ "numerator": {
112
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableQuantity"
113
+ },
114
+ "denominator": {
115
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableQuantity"
116
+ },
117
+ "rate": {
118
+ "oneOf": [
119
+ {
120
+ "$ref": "#/$defs/rate"
121
+ },
122
+ {
123
+ "type": "null"
124
+ }
125
+ ]
126
+ },
127
+ "adoptable_velocity_token": {
128
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString"
129
+ },
130
+ "included_task_ids": {
131
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray"
132
+ },
133
+ "excluded": {
134
+ "type": "array",
135
+ "items": {
136
+ "type": "object",
137
+ "required": [
138
+ "task_id",
139
+ "causes"
140
+ ],
141
+ "properties": {
142
+ "task_id": {
143
+ "type": "string"
144
+ },
145
+ "causes": {
146
+ "type": "array",
147
+ "items": {
148
+ "$ref": "#/$defs/observationCause"
149
+ }
150
+ }
151
+ },
152
+ "additionalProperties": false
153
+ }
154
+ },
155
+ "observation_start": {
156
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableCalendarValue"
157
+ },
158
+ "observation_finish": {
159
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableCalendarValue"
160
+ },
161
+ "baseline_sources": {
162
+ "type": "array",
163
+ "items": {
164
+ "type": "object",
165
+ "required": [
166
+ "task_id",
167
+ "source",
168
+ "event_id",
169
+ "commit_id"
170
+ ],
171
+ "properties": {
172
+ "task_id": {
173
+ "type": "string"
174
+ },
175
+ "source": {
176
+ "enum": [
177
+ "start_baseline",
178
+ "finish_snapshot"
179
+ ]
180
+ },
181
+ "event_id": {
182
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString"
183
+ },
184
+ "commit_id": {
185
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString"
186
+ }
187
+ },
188
+ "additionalProperties": false
189
+ }
190
+ },
191
+ "qualifiers": {
192
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray"
193
+ },
194
+ "unavailable_causes": {
195
+ "type": "array",
196
+ "items": {
197
+ "$ref": "#/$defs/observationCause"
198
+ }
199
+ }
200
+ },
201
+ "additionalProperties": false
202
+ }
203
+ },
5
204
  "type": "object",
6
205
  "required": [
7
206
  "schema_version",
@@ -56,7 +255,7 @@
56
255
  ]
57
256
  },
58
257
  "history": {
59
- "type": "object"
258
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/historyMetadata"
60
259
  },
61
260
  "observation": {
62
261
  "type": "object",
@@ -91,7 +290,7 @@
91
290
  "candidates": {
92
291
  "type": "array",
93
292
  "items": {
94
- "type": "object"
293
+ "$ref": "#/$defs/candidate"
95
294
  }
96
295
  }
97
296
  },