perttool 0.5.0 → 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 (41) hide show
  1. package/CHANGELOG.md +39 -1
  2. package/README.md +66 -28
  3. package/dist/cli.js +41 -0
  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 +92 -13
  7. package/dist/command/actuals-discovery.js.map +1 -1
  8. package/dist/history/git-probe.d.ts +4 -0
  9. package/dist/history/git-probe.d.ts.map +1 -1
  10. package/dist/history/git-probe.js +23 -14
  11. package/dist/history/git-probe.js.map +1 -1
  12. package/dist/index.d.ts +2 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +1 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/schema/registry.d.ts +53 -0
  17. package/dist/schema/registry.d.ts.map +1 -0
  18. package/dist/schema/registry.js +346 -0
  19. package/dist/schema/registry.js.map +1 -0
  20. package/dist/version.d.ts +1 -1
  21. package/dist/version.js +1 -1
  22. package/package.json +5 -2
  23. package/schemas/Perttool.AgentGuidanceResult.v1.schema.json +607 -0
  24. package/schemas/Perttool.AnalysisResult.v4.schema.json +790 -0
  25. package/schemas/Perttool.CheckResult.v3.schema.json +203 -0
  26. package/schemas/Perttool.CliError.v1.schema.json +119 -0
  27. package/schemas/Perttool.CommandHelpResult.v1.schema.json +377 -0
  28. package/schemas/Perttool.Common.v1.schema.json +1893 -0
  29. package/schemas/Perttool.ExportResult.v1.schema.json +96 -0
  30. package/schemas/Perttool.FormatResult.v1.schema.json +82 -0
  31. package/schemas/Perttool.GuideResult.v1.schema.json +138 -0
  32. package/schemas/Perttool.ImportResult.v1.schema.json +111 -0
  33. package/schemas/Perttool.InitResult.v1.schema.json +70 -0
  34. package/schemas/Perttool.MutationResult.v3.schema.json +194 -0
  35. package/schemas/Perttool.NextResult.v5.schema.json +1264 -0
  36. package/schemas/Perttool.OverrideDecision.v1.schema.json +402 -0
  37. package/schemas/Perttool.ProjectHistoryResult.v1.schema.json +283 -0
  38. package/schemas/Perttool.ProjectResult.v3.schema.json +217 -0
  39. package/schemas/Perttool.SchemaResult.v1.schema.json +137 -0
  40. package/schemas/Perttool.UnitMigrationResult.v3.schema.json +343 -0
  41. package/schemas/Perttool.VelocityObservationResult.v1.schema.json +301 -0
@@ -0,0 +1,217 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://github.com/mako10k/perttool/schemas/Perttool.ProjectResult.v3.schema.json",
4
+ "title": "Perttool.ProjectResult.v3",
5
+ "type": "object",
6
+ "required": [
7
+ "schema_version",
8
+ "cli_contract_version",
9
+ "tool_version",
10
+ "operation",
11
+ "ok",
12
+ "document_id",
13
+ "source",
14
+ "source_digest",
15
+ "diagnostics",
16
+ "diagnostics_truncated",
17
+ "grammar_version",
18
+ "project"
19
+ ],
20
+ "properties": {
21
+ "schema_version": {
22
+ "const": "Perttool.ProjectResult.v3"
23
+ },
24
+ "cli_contract_version": {
25
+ "const": 6
26
+ },
27
+ "tool_version": {
28
+ "type": "string"
29
+ },
30
+ "operation": {
31
+ "const": "project.show"
32
+ },
33
+ "ok": {
34
+ "type": "boolean"
35
+ },
36
+ "document_id": {
37
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString"
38
+ },
39
+ "source": {
40
+ "type": "string"
41
+ },
42
+ "source_digest": {
43
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/digest"
44
+ },
45
+ "diagnostics": {
46
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/diagnostics"
47
+ },
48
+ "diagnostics_truncated": {
49
+ "type": "boolean"
50
+ },
51
+ "grammar_version": {
52
+ "type": [
53
+ "integer",
54
+ "null"
55
+ ],
56
+ "minimum": 1,
57
+ "maximum": 5
58
+ },
59
+ "project": {
60
+ "oneOf": [
61
+ {
62
+ "type": "object",
63
+ "required": [
64
+ "id",
65
+ "version",
66
+ "title",
67
+ "description",
68
+ "as_of",
69
+ "duration_unit",
70
+ "velocity",
71
+ "finish",
72
+ "finish_deadline",
73
+ "governance",
74
+ "critical_epsilon",
75
+ "target_duration"
76
+ ],
77
+ "properties": {
78
+ "id": {
79
+ "type": "string"
80
+ },
81
+ "version": {
82
+ "type": "integer",
83
+ "minimum": 1,
84
+ "maximum": 5
85
+ },
86
+ "title": {
87
+ "type": "string"
88
+ },
89
+ "description": {
90
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString"
91
+ },
92
+ "as_of": {
93
+ "oneOf": [
94
+ {
95
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/calendarValue"
96
+ },
97
+ {
98
+ "type": "null"
99
+ }
100
+ ]
101
+ },
102
+ "duration_unit": {
103
+ "enum": [
104
+ "day",
105
+ "hour",
106
+ "point"
107
+ ]
108
+ },
109
+ "velocity": {
110
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString"
111
+ },
112
+ "finish": {
113
+ "type": "string"
114
+ },
115
+ "finish_deadline": {
116
+ "oneOf": [
117
+ {
118
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/calendarValue"
119
+ },
120
+ {
121
+ "type": "null"
122
+ }
123
+ ]
124
+ },
125
+ "governance": {
126
+ "type": "object",
127
+ "required": [
128
+ "source_contract_version",
129
+ "declared",
130
+ "effective"
131
+ ],
132
+ "properties": {
133
+ "source_contract_version": {
134
+ "const": 1
135
+ },
136
+ "declared": {
137
+ "type": "object",
138
+ "required": [
139
+ "goal_owner",
140
+ "goal_delegates",
141
+ "dag_owner",
142
+ "dag_delegates"
143
+ ],
144
+ "properties": {
145
+ "goal_owner": {
146
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString"
147
+ },
148
+ "goal_delegates": {
149
+ "oneOf": [
150
+ {
151
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray"
152
+ },
153
+ {
154
+ "type": "null"
155
+ }
156
+ ]
157
+ },
158
+ "dag_owner": {
159
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString"
160
+ },
161
+ "dag_delegates": {
162
+ "oneOf": [
163
+ {
164
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray"
165
+ },
166
+ {
167
+ "type": "null"
168
+ }
169
+ ]
170
+ }
171
+ },
172
+ "additionalProperties": false
173
+ },
174
+ "effective": {
175
+ "type": "object",
176
+ "required": [
177
+ "goal_owner",
178
+ "goal_delegates",
179
+ "dag_owner",
180
+ "dag_delegates"
181
+ ],
182
+ "properties": {
183
+ "goal_owner": {
184
+ "type": "string"
185
+ },
186
+ "goal_delegates": {
187
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray"
188
+ },
189
+ "dag_owner": {
190
+ "type": "string"
191
+ },
192
+ "dag_delegates": {
193
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray"
194
+ }
195
+ },
196
+ "additionalProperties": false
197
+ }
198
+ },
199
+ "additionalProperties": false
200
+ },
201
+ "critical_epsilon": {
202
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString"
203
+ },
204
+ "target_duration": {
205
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString"
206
+ }
207
+ },
208
+ "additionalProperties": false
209
+ },
210
+ {
211
+ "type": "null"
212
+ }
213
+ ]
214
+ }
215
+ },
216
+ "additionalProperties": false
217
+ }
@@ -0,0 +1,137 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://github.com/mako10k/perttool/schemas/Perttool.SchemaResult.v1.schema.json",
4
+ "title": "Perttool.SchemaResult.v1",
5
+ "type": "object",
6
+ "required": [
7
+ "schema_version",
8
+ "cli_contract_version",
9
+ "tool_version",
10
+ "operation",
11
+ "ok",
12
+ "query",
13
+ "schemas",
14
+ "schema",
15
+ "diagnostics"
16
+ ],
17
+ "properties": {
18
+ "schema_version": {
19
+ "const": "Perttool.SchemaResult.v1"
20
+ },
21
+ "cli_contract_version": {
22
+ "const": 6
23
+ },
24
+ "tool_version": {
25
+ "type": "string"
26
+ },
27
+ "operation": {
28
+ "const": "schema"
29
+ },
30
+ "ok": {
31
+ "type": "boolean"
32
+ },
33
+ "query": {
34
+ "type": "object",
35
+ "required": [
36
+ "schema_id"
37
+ ],
38
+ "properties": {
39
+ "schema_id": {
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
51
+ }
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
+ ],
92
+ "additionalProperties": false
93
+ },
94
+ "schemas": {
95
+ "type": "array",
96
+ "items": {
97
+ "type": "object",
98
+ "required": [
99
+ "schema_id",
100
+ "artifact_path",
101
+ "command_result",
102
+ "public_library_result"
103
+ ],
104
+ "properties": {
105
+ "schema_id": {
106
+ "type": "string"
107
+ },
108
+ "artifact_path": {
109
+ "type": "string",
110
+ "pattern": "^schemas/Perttool\\.[A-Za-z]+(?:[A-Za-z0-9]*)?\\.v[0-9]+\\.schema\\.json$"
111
+ },
112
+ "command_result": {
113
+ "type": "boolean"
114
+ },
115
+ "public_library_result": {
116
+ "type": "boolean"
117
+ }
118
+ },
119
+ "additionalProperties": false
120
+ }
121
+ },
122
+ "schema": {
123
+ "oneOf": [
124
+ {
125
+ "$ref": "https://json-schema.org/draft/2020-12/schema"
126
+ },
127
+ {
128
+ "type": "null"
129
+ }
130
+ ]
131
+ },
132
+ "diagnostics": {
133
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/diagnostics"
134
+ }
135
+ },
136
+ "additionalProperties": false
137
+ }
@@ -0,0 +1,343 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://github.com/mako10k/perttool/schemas/Perttool.UnitMigrationResult.v3.schema.json",
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
+ },
33
+ "type": "object",
34
+ "required": [
35
+ "schema_version",
36
+ "cli_contract_version",
37
+ "tool_version",
38
+ "operation",
39
+ "ok",
40
+ "document_id",
41
+ "source",
42
+ "source_digest",
43
+ "diagnostics",
44
+ "diagnostics_truncated",
45
+ "unit_migration",
46
+ "source_grammar_version",
47
+ "target_grammar_version",
48
+ "grammar_disposition",
49
+ "source_unit",
50
+ "target_unit",
51
+ "effective_velocity",
52
+ "velocity_disposition",
53
+ "changed",
54
+ "converted_fields",
55
+ "reversibility",
56
+ "qualifications",
57
+ "unavailable_causes",
58
+ "original_digest",
59
+ "updated_digest",
60
+ "updated_text",
61
+ "diff",
62
+ "edits",
63
+ "write"
64
+ ],
65
+ "properties": {
66
+ "schema_version": {
67
+ "const": "Perttool.UnitMigrationResult.v3"
68
+ },
69
+ "cli_contract_version": {
70
+ "const": 6
71
+ },
72
+ "tool_version": {
73
+ "type": "string"
74
+ },
75
+ "operation": {
76
+ "const": "project.migrate-unit"
77
+ },
78
+ "ok": {
79
+ "type": "boolean"
80
+ },
81
+ "document_id": {
82
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString"
83
+ },
84
+ "source": {
85
+ "type": "string"
86
+ },
87
+ "source_digest": {
88
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/digest"
89
+ },
90
+ "diagnostics": {
91
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/diagnostics"
92
+ },
93
+ "diagnostics_truncated": {
94
+ "type": "boolean"
95
+ },
96
+ "unit_migration": {
97
+ "type": "object",
98
+ "required": [
99
+ "id",
100
+ "version"
101
+ ],
102
+ "properties": {
103
+ "id": {
104
+ "const": "perttool.unit-migration"
105
+ },
106
+ "version": {
107
+ "const": 3
108
+ }
109
+ },
110
+ "additionalProperties": false
111
+ },
112
+ "source_grammar_version": {
113
+ "oneOf": [
114
+ {
115
+ "enum": [
116
+ 1,
117
+ 2,
118
+ 3,
119
+ 4,
120
+ 5
121
+ ]
122
+ },
123
+ {
124
+ "type": "null"
125
+ }
126
+ ]
127
+ },
128
+ "target_grammar_version": {
129
+ "oneOf": [
130
+ {
131
+ "enum": [
132
+ 1,
133
+ 2,
134
+ 3,
135
+ 4,
136
+ 5
137
+ ]
138
+ },
139
+ {
140
+ "type": "null"
141
+ }
142
+ ]
143
+ },
144
+ "grammar_disposition": {
145
+ "type": [
146
+ "string",
147
+ "null"
148
+ ],
149
+ "enum": [
150
+ "retained",
151
+ "upgraded_for_exact_fraction",
152
+ null
153
+ ]
154
+ },
155
+ "source_unit": {
156
+ "type": [
157
+ "string",
158
+ "null"
159
+ ],
160
+ "enum": [
161
+ "day",
162
+ "hour",
163
+ "point",
164
+ null
165
+ ]
166
+ },
167
+ "target_unit": {
168
+ "type": [
169
+ "string",
170
+ "null"
171
+ ],
172
+ "enum": [
173
+ "day",
174
+ "hour",
175
+ "point",
176
+ null
177
+ ]
178
+ },
179
+ "effective_velocity": {
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
+ }
200
+ ]
201
+ },
202
+ "velocity_disposition": {
203
+ "type": [
204
+ "string",
205
+ "null"
206
+ ],
207
+ "enum": [
208
+ "retained",
209
+ "replaced",
210
+ "inserted",
211
+ null
212
+ ]
213
+ },
214
+ "changed": {
215
+ "type": "boolean"
216
+ },
217
+ "converted_fields": {
218
+ "type": "array",
219
+ "items": {
220
+ "type": "object",
221
+ "required": [
222
+ "entity_kind",
223
+ "entity_id",
224
+ "field_path",
225
+ "original",
226
+ "converted",
227
+ "canonical_token"
228
+ ],
229
+ "properties": {
230
+ "entity_kind": {
231
+ "enum": [
232
+ "project",
233
+ "task",
234
+ "work_event"
235
+ ]
236
+ },
237
+ "entity_id": {
238
+ "type": "string"
239
+ },
240
+ "field_path": {
241
+ "type": "string"
242
+ },
243
+ "original": {
244
+ "$ref": "#/$defs/exactValue"
245
+ },
246
+ "converted": {
247
+ "$ref": "#/$defs/exactValue"
248
+ },
249
+ "canonical_token": {
250
+ "type": "string"
251
+ }
252
+ },
253
+ "additionalProperties": false
254
+ }
255
+ },
256
+ "reversibility": {
257
+ "type": [
258
+ "string",
259
+ "null"
260
+ ],
261
+ "enum": [
262
+ "exact",
263
+ "values_exact_metadata_changed",
264
+ "not_applicable",
265
+ null
266
+ ]
267
+ },
268
+ "qualifications": {
269
+ "type": "array",
270
+ "items": {
271
+ "enum": [
272
+ "grammar_upgraded_for_exact_fraction",
273
+ "grammar_version_retained_on_inverse",
274
+ "velocity_replaced",
275
+ "velocity_inserted"
276
+ ]
277
+ }
278
+ },
279
+ "unavailable_causes": {
280
+ "type": "array",
281
+ "items": {
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
318
+ }
319
+ },
320
+ "original_digest": {
321
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableDigest"
322
+ },
323
+ "updated_digest": {
324
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableDigest"
325
+ },
326
+ "updated_text": {
327
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString"
328
+ },
329
+ "diff": {
330
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString"
331
+ },
332
+ "edits": {
333
+ "type": "array",
334
+ "items": {
335
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/edit"
336
+ }
337
+ },
338
+ "write": {
339
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/write"
340
+ }
341
+ },
342
+ "additionalProperties": false
343
+ }