perttool 0.1.0-alpha.2 → 0.2.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.
Files changed (99) hide show
  1. package/CHANGELOG.md +78 -28
  2. package/README.md +173 -95
  3. package/dist/application/agent-help.d.ts +3 -0
  4. package/dist/application/agent-help.d.ts.map +1 -0
  5. package/dist/application/agent-help.js +5 -0
  6. package/dist/application/agent-help.js.map +1 -0
  7. package/dist/application/analyze.js +5 -5
  8. package/dist/application/analyze.js.map +1 -1
  9. package/dist/application/init.d.ts +42 -0
  10. package/dist/application/init.d.ts.map +1 -0
  11. package/dist/application/init.js +217 -0
  12. package/dist/application/init.js.map +1 -0
  13. package/dist/application/mutate.d.ts.map +1 -1
  14. package/dist/application/mutate.js +28 -15
  15. package/dist/application/mutate.js.map +1 -1
  16. package/dist/application/project.d.ts +25 -0
  17. package/dist/application/project.d.ts.map +1 -0
  18. package/dist/application/project.js +54 -0
  19. package/dist/application/project.js.map +1 -0
  20. package/dist/cli.js +419 -331
  21. package/dist/cli.js.map +1 -1
  22. package/dist/command/discovery.d.ts +30 -0
  23. package/dist/command/discovery.d.ts.map +1 -0
  24. package/dist/command/discovery.js +625 -0
  25. package/dist/command/discovery.js.map +1 -0
  26. package/dist/command/registry.d.ts +84 -0
  27. package/dist/command/registry.d.ts.map +1 -0
  28. package/dist/command/registry.js +951 -0
  29. package/dist/command/registry.js.map +1 -0
  30. package/dist/command/usage.d.ts +42 -0
  31. package/dist/command/usage.d.ts.map +1 -0
  32. package/dist/command/usage.js +337 -0
  33. package/dist/command/usage.js.map +1 -0
  34. package/dist/conversion/mermaid-import.js +56 -56
  35. package/dist/conversion/mermaid-import.js.map +1 -1
  36. package/dist/conversion/mermaid.js +1 -1
  37. package/dist/conversion/mermaid.js.map +1 -1
  38. package/dist/guidance/profile.d.ts +6 -0
  39. package/dist/guidance/profile.d.ts.map +1 -0
  40. package/dist/guidance/profile.js +1158 -0
  41. package/dist/guidance/profile.js.map +1 -0
  42. package/dist/guidance/projection.d.ts +16 -0
  43. package/dist/guidance/projection.d.ts.map +1 -0
  44. package/dist/guidance/projection.js +276 -0
  45. package/dist/guidance/projection.js.map +1 -0
  46. package/dist/guidance/query.d.ts +4 -0
  47. package/dist/guidance/query.d.ts.map +1 -0
  48. package/dist/guidance/query.js +178 -0
  49. package/dist/guidance/query.js.map +1 -0
  50. package/dist/guidance/text.d.ts +4 -0
  51. package/dist/guidance/text.d.ts.map +1 -0
  52. package/dist/guidance/text.js +118 -0
  53. package/dist/guidance/text.js.map +1 -0
  54. package/dist/guidance/types.d.ts +227 -0
  55. package/dist/guidance/types.d.ts.map +1 -0
  56. package/dist/guidance/types.js +54 -0
  57. package/dist/guidance/types.js.map +1 -0
  58. package/dist/guidance/validator.d.ts +8 -0
  59. package/dist/guidance/validator.d.ts.map +1 -0
  60. package/dist/guidance/validator.js +383 -0
  61. package/dist/guidance/validator.js.map +1 -0
  62. package/dist/help/guide.d.ts +12 -0
  63. package/dist/help/guide.d.ts.map +1 -0
  64. package/dist/help/guide.js +103 -0
  65. package/dist/help/guide.js.map +1 -0
  66. package/dist/help/registry.d.ts.map +1 -1
  67. package/dist/help/registry.js +76 -67
  68. package/dist/help/registry.js.map +1 -1
  69. package/dist/index.d.ts +21 -1
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +13 -0
  72. package/dist/index.js.map +1 -1
  73. package/dist/io/safe-write.js +17 -17
  74. package/dist/io/safe-write.js.map +1 -1
  75. package/dist/mutation/gate.d.ts +5 -0
  76. package/dist/mutation/gate.d.ts.map +1 -0
  77. package/dist/mutation/gate.js +156 -0
  78. package/dist/mutation/gate.js.map +1 -0
  79. package/dist/mutation/milestone.js +26 -26
  80. package/dist/mutation/milestone.js.map +1 -1
  81. package/dist/mutation/project.d.ts +5 -0
  82. package/dist/mutation/project.d.ts.map +1 -0
  83. package/dist/mutation/project.js +148 -0
  84. package/dist/mutation/project.js.map +1 -0
  85. package/dist/mutation/resource.js +22 -22
  86. package/dist/mutation/resource.js.map +1 -1
  87. package/dist/mutation/task.js +40 -40
  88. package/dist/mutation/task.js.map +1 -1
  89. package/dist/mutation/types.d.ts +46 -1
  90. package/dist/mutation/types.d.ts.map +1 -1
  91. package/dist/parser/document-parser.js +17 -17
  92. package/dist/parser/document-parser.js.map +1 -1
  93. package/dist/semantic/validator.js +41 -41
  94. package/dist/semantic/validator.js.map +1 -1
  95. package/dist/version.d.ts +1 -1
  96. package/dist/version.d.ts.map +1 -1
  97. package/dist/version.js +1 -1
  98. package/dist/version.js.map +1 -1
  99. package/package.json +4 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/command/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import type { ProjectedCommandDescriptor } from "./registry.js";
2
+ export type CommandUsageErrorKind = "missing_resource" | "unknown_resource" | "missing_action" | "unknown_action" | "unknown_option" | "missing_option_value" | "unexpected_option_value" | "duplicate_option" | "invalid_option_value" | "missing_operand" | "extra_operand" | "missing_required_option" | "option_conflict" | "option_requires";
3
+ export type CommandUsageSuggestionKind = "resource" | "action" | "option";
4
+ export interface CommandHelpTarget {
5
+ readonly resource: string | null;
6
+ readonly action: string | null;
7
+ }
8
+ export interface CommandUsageSuggestion {
9
+ readonly kind: CommandUsageSuggestionKind;
10
+ readonly value: string;
11
+ }
12
+ export interface CommandUsageError {
13
+ readonly code: "PTCLI-001";
14
+ readonly kind: CommandUsageErrorKind;
15
+ readonly message: string;
16
+ readonly operation: string | null;
17
+ readonly token: string | null;
18
+ readonly helpTarget: CommandHelpTarget;
19
+ readonly suggestion: CommandUsageSuggestion | null;
20
+ }
21
+ export interface CommandOptionOccurrence {
22
+ readonly name: string;
23
+ readonly value: string | null;
24
+ }
25
+ export interface ValidCommandInvocation {
26
+ readonly ok: true;
27
+ readonly descriptor: ProjectedCommandDescriptor;
28
+ readonly helpAlias: boolean;
29
+ readonly operands: readonly string[];
30
+ readonly options: readonly CommandOptionOccurrence[];
31
+ }
32
+ export interface InvalidCommandInvocation {
33
+ readonly ok: false;
34
+ readonly error: CommandUsageError;
35
+ }
36
+ export type CommandInvocationValidation = ValidCommandInvocation | InvalidCommandInvocation;
37
+ export declare function validateCommandInvocation(argv: readonly string[]): CommandInvocationValidation;
38
+ export declare function commandUsageErrorToJson(error: CommandUsageError): Readonly<Record<string, unknown>>;
39
+ export declare function handlerCommandUsageError(descriptor: ProjectedCommandDescriptor, message: string): CommandUsageError;
40
+ export declare function serializeCommandUsageError(error: CommandUsageError): string;
41
+ export declare function renderCommandUsageError(error: CommandUsageError): string;
42
+ //# sourceMappingURL=usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/command/usage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAEhE,MAAM,MAAM,qBAAqB,GAC7B,kBAAkB,GAClB,kBAAkB,GAClB,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,GAChB,sBAAsB,GACtB,yBAAyB,GACzB,kBAAkB,GAClB,sBAAsB,GACtB,iBAAiB,GACjB,eAAe,GACf,yBAAyB,GACzB,iBAAiB,GACjB,iBAAiB,CAAC;AAEtB,MAAM,MAAM,0BAA0B,GAClC,UAAU,GACV,QAAQ,GACR,QAAQ,CAAC;AAEb,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,sBAAsB,GAAG,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,UAAU,EAAE,0BAA0B,CAAC;IAChD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAC;CACtD;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;CACnC;AAED,MAAM,MAAM,2BAA2B,GACnC,sBAAsB,GACtB,wBAAwB,CAAC;AAwZ7B,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,SAAS,MAAM,EAAE,GACtB,2BAA2B,CAkD7B;AAmBD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,iBAAiB,GACvB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA+CnC;AAED,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,0BAA0B,EACtC,OAAO,EAAE,MAAM,GACd,iBAAiB,CAUnB;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,iBAAiB,GACvB,MAAM,CAER;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,iBAAiB,GACvB,MAAM,CASR"}
@@ -0,0 +1,337 @@
1
+ import { TOOL_VERSION } from "../version.js";
2
+ import { CONTRACT3_COMMAND_REGISTRY } from "./discovery.js";
3
+ const topLevelByName = new Map();
4
+ const commandsByPath = new Map();
5
+ const resourceActions = new Map();
6
+ const resources = [];
7
+ for (const descriptor of CONTRACT3_COMMAND_REGISTRY) {
8
+ if (descriptor.path.length === 1) {
9
+ topLevelByName.set(descriptor.path[0], descriptor);
10
+ continue;
11
+ }
12
+ const [resource, action] = descriptor.path;
13
+ commandsByPath.set(`${resource}\0${action}`, descriptor);
14
+ const actions = resourceActions.get(resource);
15
+ if (actions === undefined) {
16
+ resources.push(resource);
17
+ resourceActions.set(resource, [action]);
18
+ }
19
+ else {
20
+ actions.push(action);
21
+ }
22
+ }
23
+ function helpTarget(descriptor) {
24
+ return descriptor.path.length === 1
25
+ ? Object.freeze({ resource: descriptor.path[0], action: null })
26
+ : Object.freeze({
27
+ resource: descriptor.path[0],
28
+ action: descriptor.path[1],
29
+ });
30
+ }
31
+ function usageError(kind, message, token, target, operation, suggestion = null) {
32
+ return {
33
+ ok: false,
34
+ error: Object.freeze({
35
+ code: "PTCLI-001",
36
+ kind,
37
+ message,
38
+ operation,
39
+ token,
40
+ helpTarget: target,
41
+ suggestion,
42
+ }),
43
+ };
44
+ }
45
+ function restrictedDamerauLevenshtein(left, right) {
46
+ const rows = Array.from({ length: left.length + 1 }, () => Array(right.length + 1).fill(0));
47
+ for (let leftIndex = 0; leftIndex <= left.length; leftIndex += 1) {
48
+ rows[leftIndex][0] = leftIndex;
49
+ }
50
+ for (let rightIndex = 0; rightIndex <= right.length; rightIndex += 1) {
51
+ rows[0][rightIndex] = rightIndex;
52
+ }
53
+ for (let leftIndex = 1; leftIndex <= left.length; leftIndex += 1) {
54
+ for (let rightIndex = 1; rightIndex <= right.length; rightIndex += 1) {
55
+ const substitution = left[leftIndex - 1] === right[rightIndex - 1] ? 0 : 1;
56
+ let distance = Math.min(rows[leftIndex - 1][rightIndex] + 1, rows[leftIndex][rightIndex - 1] + 1, rows[leftIndex - 1][rightIndex - 1] + substitution);
57
+ if (leftIndex > 1 &&
58
+ rightIndex > 1 &&
59
+ left[leftIndex - 1] === right[rightIndex - 2] &&
60
+ left[leftIndex - 2] === right[rightIndex - 1]) {
61
+ distance = Math.min(distance, rows[leftIndex - 2][rightIndex - 2] + 1);
62
+ }
63
+ rows[leftIndex][rightIndex] = distance;
64
+ }
65
+ }
66
+ return rows[left.length][right.length];
67
+ }
68
+ function nearestSuggestion(value, candidates, kind) {
69
+ let best = null;
70
+ let bestDistance = Number.MAX_SAFE_INTEGER;
71
+ for (const candidate of candidates) {
72
+ const distance = restrictedDamerauLevenshtein(value, candidate);
73
+ const limit = Math.max(1, Math.floor(Math.max(value.length, candidate.length) / 3));
74
+ if (distance <= limit && distance < bestDistance) {
75
+ best = candidate;
76
+ bestDistance = distance;
77
+ }
78
+ }
79
+ return best === null ? null : Object.freeze({ kind, value: best });
80
+ }
81
+ function optionName(token) {
82
+ const equals = token.indexOf("=");
83
+ return equals === -1 ? token.slice(2) : token.slice(2, equals);
84
+ }
85
+ function optionValue(occurrence) {
86
+ return occurrence?.value ?? null;
87
+ }
88
+ function conditionalConflict(expression, occurrences) {
89
+ const matched = expression.match(/^([a-z][a-z0-9-]*)=([^ ]+) when ([a-z][a-z0-9-]*)=([^ ]+)$/);
90
+ if (matched === null)
91
+ return null;
92
+ const [, leftName, leftValue, rightName, rightValue] = matched;
93
+ const left = occurrences.get(leftName);
94
+ const right = occurrences.get(rightName);
95
+ return optionValue(left) === leftValue && optionValue(right) === rightValue
96
+ ? [left, right]
97
+ : [];
98
+ }
99
+ function requirementSatisfied(requirement, occurrences) {
100
+ const conditional = requirement.match(/^([a-z][a-z0-9-]*)=([a-z0-9-]+(?:\|[a-z0-9-]+)*)$/);
101
+ if (conditional === null)
102
+ return occurrences.has(requirement);
103
+ const occurrence = occurrences.get(conditional[1]);
104
+ return (occurrence !== undefined &&
105
+ occurrence.value !== null &&
106
+ conditional[2].split("|").includes(occurrence.value));
107
+ }
108
+ function validateDescriptorArguments(descriptor, args) {
109
+ if (args.length === 1 && args[0] === "--help") {
110
+ return {
111
+ ok: true,
112
+ descriptor,
113
+ helpAlias: true,
114
+ operands: Object.freeze([]),
115
+ options: Object.freeze([]),
116
+ };
117
+ }
118
+ const optionByName = new Map(descriptor.options.map((option) => [option.name, option]));
119
+ const occurrences = new Map();
120
+ const orderedOccurrences = [];
121
+ const operands = [];
122
+ let optionsEnded = false;
123
+ for (let index = 0; index < args.length; index += 1) {
124
+ const token = args[index];
125
+ if (!optionsEnded && token === "--") {
126
+ optionsEnded = true;
127
+ continue;
128
+ }
129
+ if (optionsEnded || !token.startsWith("--")) {
130
+ operands.push({ index, value: token });
131
+ continue;
132
+ }
133
+ const name = optionName(token);
134
+ const option = optionByName.get(name);
135
+ if (option === undefined) {
136
+ return usageError("unknown_option", `unknown option --${name}`, token, helpTarget(descriptor), descriptor.operation, nearestSuggestion(name, [...optionByName.keys()], "option"));
137
+ }
138
+ if (occurrences.has(name) && !option.repeatable) {
139
+ return usageError("duplicate_option", `option --${name} is not repeatable`, token, helpTarget(descriptor), descriptor.operation);
140
+ }
141
+ const equals = token.indexOf("=");
142
+ let value = null;
143
+ if (option.kind === "flag") {
144
+ if (equals !== -1) {
145
+ return usageError("unexpected_option_value", `boolean option --${name} does not take a value`, token, helpTarget(descriptor), descriptor.operation);
146
+ }
147
+ }
148
+ else if (equals === -1) {
149
+ const following = args[index + 1];
150
+ if (following === undefined || following.startsWith("--")) {
151
+ return usageError("missing_option_value", `option --${name} requires a value`, token, helpTarget(descriptor), descriptor.operation);
152
+ }
153
+ value = following;
154
+ index += 1;
155
+ }
156
+ else {
157
+ value = token.slice(equals + 1);
158
+ }
159
+ if (value !== null &&
160
+ option.enumValues.length > 0 &&
161
+ !option.enumValues.includes(value)) {
162
+ return usageError("invalid_option_value", `option --${name} must be one of ${option.enumValues.join(", ")}`, value, helpTarget(descriptor), descriptor.operation);
163
+ }
164
+ const occurrence = Object.freeze({ name, value, index, token });
165
+ occurrences.set(name, occurrence);
166
+ orderedOccurrences.push(occurrence);
167
+ }
168
+ const maximumOperands = descriptor.operands.length;
169
+ if (operands.length > maximumOperands) {
170
+ const extra = operands[maximumOperands];
171
+ return usageError("extra_operand", `${descriptor.path.join(" ")} accepts at most ${maximumOperands} operand${maximumOperands === 1 ? "" : "s"}`, extra.value, helpTarget(descriptor), descriptor.operation);
172
+ }
173
+ const missingOperand = descriptor.operands.find((operand) => operand.required && operands[operand.position] === undefined);
174
+ if (missingOperand !== undefined) {
175
+ return usageError("missing_operand", `${descriptor.path.join(" ")} requires operand <${missingOperand.name}>`, null, helpTarget(descriptor), descriptor.operation);
176
+ }
177
+ const missingOption = descriptor.options.find((option) => option.required && !occurrences.has(option.name));
178
+ if (missingOption !== undefined) {
179
+ return usageError("missing_required_option", `${descriptor.path.join(" ")} requires option --${missingOption.name}`, `--${missingOption.name}`, helpTarget(descriptor), descriptor.operation);
180
+ }
181
+ for (const occurrence of orderedOccurrences) {
182
+ const option = optionByName.get(occurrence.name);
183
+ for (const conflict of option.conflicts) {
184
+ if (conflict === "stdin") {
185
+ if (operands[0]?.value === "-") {
186
+ return usageError("option_conflict", `option --${option.name} conflicts with document stdin`, occurrence.token, helpTarget(descriptor), descriptor.operation);
187
+ }
188
+ continue;
189
+ }
190
+ if (/^[a-z][a-z0-9-]*$/.test(conflict)) {
191
+ const other = occurrences.get(conflict);
192
+ if (other !== undefined) {
193
+ const later = other.index > occurrence.index ? other : occurrence;
194
+ return usageError("option_conflict", `option --${option.name} conflicts with --${conflict}`, later.token, helpTarget(descriptor), descriptor.operation);
195
+ }
196
+ continue;
197
+ }
198
+ const conditional = conditionalConflict(conflict, occurrences);
199
+ if (conditional !== null && conditional.length > 0) {
200
+ const later = [...conditional].sort((left, right) => right.index - left.index)[0];
201
+ return usageError("option_conflict", `options violate conflict ${conflict}`, later.token, helpTarget(descriptor), descriptor.operation);
202
+ }
203
+ }
204
+ }
205
+ if (descriptor.stdin.mutuallyExclusive &&
206
+ operands[0]?.value === "-" &&
207
+ orderedOccurrences.some((occurrence) => occurrence.value === "-" &&
208
+ descriptor.options.find(({ name }) => name === occurrence.name)
209
+ ?.valueType?.endsWith("path-or-stdin") === true)) {
210
+ const request = orderedOccurrences.find((occurrence) => occurrence.value === "-" &&
211
+ optionByName
212
+ .get(occurrence.name)
213
+ ?.valueType?.endsWith("path-or-stdin") === true);
214
+ return usageError("option_conflict", "document and request stdin are mutually exclusive", request.token, helpTarget(descriptor), descriptor.operation);
215
+ }
216
+ for (const occurrence of orderedOccurrences) {
217
+ const option = optionByName.get(occurrence.name);
218
+ const missingRequirement = option.requires.find((requirement) => !requirementSatisfied(requirement, occurrences));
219
+ if (missingRequirement !== undefined) {
220
+ return usageError("option_requires", `option --${option.name} requires --${missingRequirement}`, occurrence.token, helpTarget(descriptor), descriptor.operation);
221
+ }
222
+ }
223
+ return {
224
+ ok: true,
225
+ descriptor,
226
+ helpAlias: false,
227
+ operands: Object.freeze(operands.map(({ value }) => value)),
228
+ options: Object.freeze(orderedOccurrences.map(({ name, value }) => Object.freeze({ name, value }))),
229
+ };
230
+ }
231
+ export function validateCommandInvocation(argv) {
232
+ if (argv.length === 0) {
233
+ return usageError("missing_resource", "expected a command resource", null, Object.freeze({ resource: null, action: null }), null);
234
+ }
235
+ const resource = argv[0];
236
+ const topLevel = topLevelByName.get(resource);
237
+ if (topLevel !== undefined) {
238
+ return validateDescriptorArguments(topLevel, argv.slice(1));
239
+ }
240
+ const actions = resourceActions.get(resource);
241
+ if (actions === undefined) {
242
+ return usageError("unknown_resource", `unknown command resource: ${resource}`, resource, Object.freeze({ resource: null, action: null }), null, nearestSuggestion(resource, resources, "resource"));
243
+ }
244
+ if (argv.length < 2 || argv[1].startsWith("--")) {
245
+ return usageError("missing_action", `command resource ${resource} requires an action`, argv[1] ?? null, Object.freeze({ resource, action: null }), null);
246
+ }
247
+ const action = argv[1];
248
+ const descriptor = commandsByPath.get(`${resource}\0${action}`);
249
+ if (descriptor === undefined) {
250
+ return usageError("unknown_action", `unknown action ${action} for command resource ${resource}`, action, Object.freeze({ resource, action: null }), null, nearestSuggestion(action, actions, "action"));
251
+ }
252
+ return validateDescriptorArguments(descriptor, argv.slice(2));
253
+ }
254
+ function helpInvocation(target) {
255
+ return [
256
+ "perttool",
257
+ "help",
258
+ ...(target.resource === null ? [] : [target.resource]),
259
+ ...(target.action === null ? [] : [target.action]),
260
+ ].join(" ");
261
+ }
262
+ function renderedSuggestion(suggestion) {
263
+ return suggestion.kind === "option"
264
+ ? `--${suggestion.value}`
265
+ : suggestion.value;
266
+ }
267
+ export function commandUsageErrorToJson(error) {
268
+ return {
269
+ schema_version: "Perttool.CliError.v1",
270
+ cli_contract_version: 3,
271
+ tool_version: TOOL_VERSION,
272
+ operation: error.operation,
273
+ ok: false,
274
+ help_target: {
275
+ resource: error.helpTarget.resource,
276
+ action: error.helpTarget.action,
277
+ },
278
+ usage: {
279
+ kind: error.kind,
280
+ token: error.token,
281
+ suggestion: error.suggestion === null
282
+ ? null
283
+ : {
284
+ kind: error.suggestion.kind,
285
+ value: error.suggestion.value,
286
+ },
287
+ },
288
+ diagnostics: [
289
+ {
290
+ code: error.code,
291
+ severity: "error",
292
+ message: error.message,
293
+ entity_id: null,
294
+ span: null,
295
+ related: [],
296
+ help_topic: null,
297
+ expected_syntax: null,
298
+ fixes: [],
299
+ data: {
300
+ usage_kind: error.kind,
301
+ token: error.token,
302
+ suggestion: error.suggestion === null
303
+ ? null
304
+ : {
305
+ kind: error.suggestion.kind,
306
+ value: error.suggestion.value,
307
+ },
308
+ },
309
+ },
310
+ ],
311
+ };
312
+ }
313
+ export function handlerCommandUsageError(descriptor, message) {
314
+ return Object.freeze({
315
+ code: "PTCLI-001",
316
+ kind: "invalid_option_value",
317
+ message,
318
+ operation: descriptor.operation,
319
+ token: null,
320
+ helpTarget: helpTarget(descriptor),
321
+ suggestion: null,
322
+ });
323
+ }
324
+ export function serializeCommandUsageError(error) {
325
+ return `${JSON.stringify(commandUsageErrorToJson(error), null, 2)}\n`;
326
+ }
327
+ export function renderCommandUsageError(error) {
328
+ return `${[
329
+ `${error.code} error: ${error.message}`,
330
+ ...(error.token === null ? [] : [` token: ${error.token}`]),
331
+ ...(error.suggestion === null
332
+ ? []
333
+ : [` suggestion: ${renderedSuggestion(error.suggestion)}`]),
334
+ ` help: ${helpInvocation(error.helpTarget)}`,
335
+ ].join("\n")}\n`;
336
+ }
337
+ //# sourceMappingURL=usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/command/usage.ts"],"names":[],"mappings":"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"}