perttool 0.5.0 → 0.5.1

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 +20 -1
  2. package/README.md +51 -28
  3. package/dist/cli.js +24 -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 +68 -11
  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 +36 -0
  17. package/dist/schema/registry.d.ts.map +1 -0
  18. package/dist/schema/registry.js +156 -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 +152 -0
  24. package/schemas/Perttool.AnalysisResult.v4.schema.json +124 -0
  25. package/schemas/Perttool.CheckResult.v3.schema.json +159 -0
  26. package/schemas/Perttool.CliError.v1.schema.json +83 -0
  27. package/schemas/Perttool.CommandHelpResult.v1.schema.json +165 -0
  28. package/schemas/Perttool.Common.v1.schema.json +508 -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 +104 -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 +143 -0
  35. package/schemas/Perttool.NextResult.v5.schema.json +139 -0
  36. package/schemas/Perttool.OverrideDecision.v1.schema.json +170 -0
  37. package/schemas/Perttool.ProjectHistoryResult.v1.schema.json +139 -0
  38. package/schemas/Perttool.ProjectResult.v3.schema.json +144 -0
  39. package/schemas/Perttool.SchemaResult.v1.schema.json +84 -0
  40. package/schemas/Perttool.UnitMigrationResult.v3.schema.json +205 -0
  41. package/schemas/Perttool.VelocityObservationResult.v1.schema.json +102 -0
@@ -0,0 +1,508 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://github.com/mako10k/perttool/schemas/Perttool.Common.v1.schema.json",
4
+ "title": "perttool shared JSON definitions",
5
+ "$defs": {
6
+ "digest": {
7
+ "type": "string",
8
+ "pattern": "^sha256:[0-9a-f]{64}$"
9
+ },
10
+ "nullableDigest": {
11
+ "oneOf": [
12
+ {
13
+ "$ref": "#/$defs/digest"
14
+ },
15
+ {
16
+ "type": "null"
17
+ }
18
+ ]
19
+ },
20
+ "nullableString": {
21
+ "type": [
22
+ "string",
23
+ "null"
24
+ ]
25
+ },
26
+ "stringArray": {
27
+ "type": "array",
28
+ "items": {
29
+ "type": "string"
30
+ }
31
+ },
32
+ "position": {
33
+ "type": "object",
34
+ "required": [
35
+ "offset",
36
+ "line",
37
+ "column"
38
+ ],
39
+ "properties": {
40
+ "offset": {
41
+ "type": "integer",
42
+ "minimum": 0
43
+ },
44
+ "line": {
45
+ "type": "integer",
46
+ "minimum": 1
47
+ },
48
+ "column": {
49
+ "type": "integer",
50
+ "minimum": 1
51
+ }
52
+ },
53
+ "additionalProperties": false
54
+ },
55
+ "span": {
56
+ "type": "object",
57
+ "required": [
58
+ "start",
59
+ "end"
60
+ ],
61
+ "properties": {
62
+ "start": {
63
+ "$ref": "#/$defs/position"
64
+ },
65
+ "end": {
66
+ "$ref": "#/$defs/position"
67
+ }
68
+ },
69
+ "additionalProperties": false
70
+ },
71
+ "diagnostic": {
72
+ "type": "object",
73
+ "required": [
74
+ "code",
75
+ "severity",
76
+ "message"
77
+ ],
78
+ "properties": {
79
+ "code": {
80
+ "type": "string",
81
+ "minLength": 1
82
+ },
83
+ "severity": {
84
+ "enum": [
85
+ "error",
86
+ "warning"
87
+ ]
88
+ },
89
+ "message": {
90
+ "type": "string"
91
+ },
92
+ "entity_id": {
93
+ "$ref": "#/$defs/nullableString"
94
+ },
95
+ "span": {
96
+ "oneOf": [
97
+ {
98
+ "$ref": "#/$defs/span"
99
+ },
100
+ {
101
+ "type": "null"
102
+ }
103
+ ]
104
+ },
105
+ "related": {
106
+ "type": "array",
107
+ "items": {
108
+ "type": "object"
109
+ }
110
+ },
111
+ "help_topic": {
112
+ "$ref": "#/$defs/nullableString"
113
+ },
114
+ "guide_topic": {
115
+ "$ref": "#/$defs/nullableString"
116
+ },
117
+ "expected_syntax": {
118
+ "$ref": "#/$defs/nullableString"
119
+ },
120
+ "fixes": {
121
+ "type": "array",
122
+ "items": {
123
+ "type": "object"
124
+ }
125
+ },
126
+ "data": {
127
+ "type": "object"
128
+ },
129
+ "provider_id": {
130
+ "$ref": "#/$defs/nullableString"
131
+ },
132
+ "surface_id": {
133
+ "$ref": "#/$defs/nullableString"
134
+ }
135
+ },
136
+ "additionalProperties": false
137
+ },
138
+ "diagnostics": {
139
+ "type": "array",
140
+ "items": {
141
+ "$ref": "#/$defs/diagnostic"
142
+ }
143
+ },
144
+ "edit": {
145
+ "type": "object",
146
+ "required": [
147
+ "start_offset",
148
+ "end_offset",
149
+ "replacement"
150
+ ],
151
+ "properties": {
152
+ "start_offset": {
153
+ "type": "integer",
154
+ "minimum": 0
155
+ },
156
+ "end_offset": {
157
+ "type": "integer",
158
+ "minimum": 0
159
+ },
160
+ "replacement": {
161
+ "type": "string"
162
+ }
163
+ },
164
+ "additionalProperties": false
165
+ },
166
+ "write": {
167
+ "type": "object",
168
+ "required": [
169
+ "mode",
170
+ "target",
171
+ "written"
172
+ ],
173
+ "properties": {
174
+ "mode": {
175
+ "enum": [
176
+ "preview",
177
+ "in_place",
178
+ "out"
179
+ ]
180
+ },
181
+ "target": {
182
+ "$ref": "#/$defs/nullableString"
183
+ },
184
+ "written": {
185
+ "type": "boolean"
186
+ }
187
+ },
188
+ "additionalProperties": false
189
+ },
190
+ "rational": {
191
+ "type": "object",
192
+ "required": [
193
+ "numerator",
194
+ "denominator"
195
+ ],
196
+ "properties": {
197
+ "numerator": {
198
+ "type": "string",
199
+ "pattern": "^-?[0-9]+$"
200
+ },
201
+ "denominator": {
202
+ "type": "string",
203
+ "pattern": "^[1-9][0-9]*$"
204
+ }
205
+ },
206
+ "additionalProperties": false
207
+ },
208
+ "quantity": {
209
+ "type": "object",
210
+ "required": [
211
+ "numerator",
212
+ "denominator",
213
+ "unit"
214
+ ],
215
+ "properties": {
216
+ "numerator": {
217
+ "type": "string",
218
+ "pattern": "^-?[0-9]+$"
219
+ },
220
+ "denominator": {
221
+ "type": "string",
222
+ "pattern": "^[1-9][0-9]*$"
223
+ },
224
+ "unit": {
225
+ "enum": [
226
+ "day",
227
+ "hour",
228
+ "point",
229
+ "person_hour"
230
+ ]
231
+ },
232
+ "display": {
233
+ "type": "string"
234
+ }
235
+ },
236
+ "additionalProperties": false
237
+ },
238
+ "calendarValue": {
239
+ "oneOf": [
240
+ {
241
+ "type": "object",
242
+ "required": [
243
+ "kind",
244
+ "source_text",
245
+ "year",
246
+ "month",
247
+ "day"
248
+ ],
249
+ "properties": {
250
+ "kind": {
251
+ "const": "date"
252
+ },
253
+ "source_text": {
254
+ "type": "string"
255
+ },
256
+ "year": {
257
+ "type": "integer"
258
+ },
259
+ "month": {
260
+ "type": "integer",
261
+ "minimum": 1,
262
+ "maximum": 12
263
+ },
264
+ "day": {
265
+ "type": "integer",
266
+ "minimum": 1,
267
+ "maximum": 31
268
+ }
269
+ },
270
+ "additionalProperties": false
271
+ },
272
+ {
273
+ "type": "object",
274
+ "required": [
275
+ "kind",
276
+ "source_text",
277
+ "year",
278
+ "month",
279
+ "day",
280
+ "hour",
281
+ "minute",
282
+ "second",
283
+ "offset_minutes"
284
+ ],
285
+ "properties": {
286
+ "kind": {
287
+ "const": "date_time"
288
+ },
289
+ "source_text": {
290
+ "type": "string"
291
+ },
292
+ "year": {
293
+ "type": "integer"
294
+ },
295
+ "month": {
296
+ "type": "integer",
297
+ "minimum": 1,
298
+ "maximum": 12
299
+ },
300
+ "day": {
301
+ "type": "integer",
302
+ "minimum": 1,
303
+ "maximum": 31
304
+ },
305
+ "hour": {
306
+ "type": "integer",
307
+ "minimum": 0,
308
+ "maximum": 23
309
+ },
310
+ "minute": {
311
+ "type": "integer",
312
+ "minimum": 0,
313
+ "maximum": 59
314
+ },
315
+ "second": {
316
+ "$ref": "#/$defs/rational"
317
+ },
318
+ "offset_minutes": {
319
+ "type": "integer",
320
+ "minimum": -1439,
321
+ "maximum": 1439
322
+ }
323
+ },
324
+ "additionalProperties": false
325
+ }
326
+ ]
327
+ },
328
+ "workEvent": {
329
+ "type": "object",
330
+ "required": [
331
+ "model_version",
332
+ "id",
333
+ "task_id",
334
+ "kind",
335
+ "occurred_at",
336
+ "planned_value",
337
+ "active_time",
338
+ "effort",
339
+ "reason"
340
+ ],
341
+ "properties": {
342
+ "model_version": {
343
+ "const": 1
344
+ },
345
+ "id": {
346
+ "type": "string"
347
+ },
348
+ "task_id": {
349
+ "type": "string"
350
+ },
351
+ "kind": {
352
+ "enum": [
353
+ "start",
354
+ "suspend",
355
+ "resume",
356
+ "finish"
357
+ ]
358
+ },
359
+ "occurred_at": {
360
+ "$ref": "#/$defs/calendarValue"
361
+ },
362
+ "planned_value": {
363
+ "oneOf": [
364
+ {
365
+ "$ref": "#/$defs/quantity"
366
+ },
367
+ {
368
+ "type": "null"
369
+ }
370
+ ]
371
+ },
372
+ "active_time": {
373
+ "oneOf": [
374
+ {
375
+ "$ref": "#/$defs/quantity"
376
+ },
377
+ {
378
+ "type": "null"
379
+ }
380
+ ]
381
+ },
382
+ "effort": {
383
+ "oneOf": [
384
+ {
385
+ "$ref": "#/$defs/quantity"
386
+ },
387
+ {
388
+ "type": "null"
389
+ }
390
+ ]
391
+ },
392
+ "reason": {
393
+ "$ref": "#/$defs/nullableString"
394
+ }
395
+ },
396
+ "additionalProperties": false
397
+ },
398
+ "governanceDecision": {
399
+ "type": "object",
400
+ "required": [
401
+ "schema_version",
402
+ "governance_interface_version",
403
+ "governance_source_contract_version",
404
+ "governance_semantics_version",
405
+ "source_digest",
406
+ "intent",
407
+ "applicable",
408
+ "actor",
409
+ "accepted_by_owner",
410
+ "affected_scopes",
411
+ "required_owner_confirmations",
412
+ "owner_confirmation_required",
413
+ "write_authorized",
414
+ "scopes"
415
+ ],
416
+ "properties": {
417
+ "schema_version": {
418
+ "const": "Perttool.GovernanceDecision.v1"
419
+ },
420
+ "governance_interface_version": {
421
+ "const": 1
422
+ },
423
+ "governance_source_contract_version": {
424
+ "const": 1
425
+ },
426
+ "governance_semantics_version": {
427
+ "const": 1
428
+ },
429
+ "source_digest": {
430
+ "$ref": "#/$defs/digest"
431
+ },
432
+ "intent": {
433
+ "enum": [
434
+ "preview",
435
+ "persist"
436
+ ]
437
+ },
438
+ "applicable": {
439
+ "type": "boolean"
440
+ },
441
+ "actor": {
442
+ "$ref": "#/$defs/nullableString"
443
+ },
444
+ "accepted_by_owner": {
445
+ "$ref": "#/$defs/stringArray"
446
+ },
447
+ "affected_scopes": {
448
+ "$ref": "#/$defs/stringArray"
449
+ },
450
+ "required_owner_confirmations": {
451
+ "$ref": "#/$defs/stringArray"
452
+ },
453
+ "owner_confirmation_required": {
454
+ "type": "boolean"
455
+ },
456
+ "write_authorized": {
457
+ "type": "boolean"
458
+ },
459
+ "scopes": {
460
+ "type": "array",
461
+ "items": {
462
+ "type": "object"
463
+ }
464
+ }
465
+ },
466
+ "additionalProperties": false
467
+ },
468
+ "capacityOverrides": {
469
+ "type": "array",
470
+ "items": {
471
+ "type": "object",
472
+ "required": [
473
+ "resource_id",
474
+ "capacity"
475
+ ],
476
+ "properties": {
477
+ "resource_id": {
478
+ "type": "string"
479
+ },
480
+ "capacity": {
481
+ "type": "integer",
482
+ "minimum": 1
483
+ }
484
+ },
485
+ "additionalProperties": false
486
+ }
487
+ },
488
+ "lossReport": {
489
+ "type": "object",
490
+ "required": [
491
+ "lossless",
492
+ "records"
493
+ ],
494
+ "properties": {
495
+ "lossless": {
496
+ "type": "boolean"
497
+ },
498
+ "records": {
499
+ "type": "array",
500
+ "items": {
501
+ "type": "object"
502
+ }
503
+ }
504
+ },
505
+ "additionalProperties": false
506
+ }
507
+ }
508
+ }
@@ -0,0 +1,96 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://github.com/mako10k/perttool/schemas/Perttool.ExportResult.v1.schema.json",
4
+ "title": "Perttool.ExportResult.v1",
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
+ "artifact_format",
18
+ "profile",
19
+ "analysis",
20
+ "capacity_overrides",
21
+ "artifact",
22
+ "artifact_digest",
23
+ "loss_report",
24
+ "generated_ids",
25
+ "write"
26
+ ],
27
+ "properties": {
28
+ "schema_version": {
29
+ "const": "Perttool.ExportResult.v1"
30
+ },
31
+ "cli_contract_version": {
32
+ "const": 6
33
+ },
34
+ "tool_version": {
35
+ "type": "string"
36
+ },
37
+ "operation": {
38
+ "const": "dag.render"
39
+ },
40
+ "ok": {
41
+ "type": "boolean"
42
+ },
43
+ "document_id": {
44
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString"
45
+ },
46
+ "source": {
47
+ "type": "string"
48
+ },
49
+ "source_digest": {
50
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/digest"
51
+ },
52
+ "diagnostics": {
53
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/diagnostics"
54
+ },
55
+ "diagnostics_truncated": {
56
+ "type": "boolean"
57
+ },
58
+ "artifact_format": {
59
+ "const": "mermaid"
60
+ },
61
+ "profile": {
62
+ "enum": [
63
+ "perttool",
64
+ "plain"
65
+ ]
66
+ },
67
+ "analysis": {
68
+ "enum": [
69
+ "none",
70
+ "precedence",
71
+ "resource",
72
+ "both"
73
+ ]
74
+ },
75
+ "capacity_overrides": {
76
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/capacityOverrides"
77
+ },
78
+ "artifact": {
79
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString"
80
+ },
81
+ "artifact_digest": {
82
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableDigest"
83
+ },
84
+ "loss_report": {
85
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/lossReport"
86
+ },
87
+ "generated_ids": {
88
+ "type": "array",
89
+ "maxItems": 0
90
+ },
91
+ "write": {
92
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/write"
93
+ }
94
+ },
95
+ "additionalProperties": false
96
+ }
@@ -0,0 +1,82 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://github.com/mako10k/perttool/schemas/Perttool.FormatResult.v1.schema.json",
4
+ "title": "Perttool.FormatResult.v1",
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
+ "changed",
18
+ "original_digest",
19
+ "updated_digest",
20
+ "updated_text",
21
+ "diff",
22
+ "edits",
23
+ "write"
24
+ ],
25
+ "properties": {
26
+ "schema_version": {
27
+ "const": "Perttool.FormatResult.v1"
28
+ },
29
+ "cli_contract_version": {
30
+ "const": 6
31
+ },
32
+ "tool_version": {
33
+ "type": "string"
34
+ },
35
+ "operation": {
36
+ "const": "document.format"
37
+ },
38
+ "ok": {
39
+ "type": "boolean"
40
+ },
41
+ "document_id": {
42
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString"
43
+ },
44
+ "source": {
45
+ "type": "string"
46
+ },
47
+ "source_digest": {
48
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/digest"
49
+ },
50
+ "diagnostics": {
51
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/diagnostics"
52
+ },
53
+ "diagnostics_truncated": {
54
+ "type": "boolean"
55
+ },
56
+ "changed": {
57
+ "type": "boolean"
58
+ },
59
+ "original_digest": {
60
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableDigest"
61
+ },
62
+ "updated_digest": {
63
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableDigest"
64
+ },
65
+ "updated_text": {
66
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString"
67
+ },
68
+ "diff": {
69
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString"
70
+ },
71
+ "edits": {
72
+ "type": "array",
73
+ "items": {
74
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/edit"
75
+ }
76
+ },
77
+ "write": {
78
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/write"
79
+ }
80
+ },
81
+ "additionalProperties": false
82
+ }