@gonovus-ai/spec-flow-cli 0.5.0 → 0.6.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 (38) hide show
  1. package/README.md +57 -28
  2. package/dist/bin.js +6 -50
  3. package/dist/bin.js.map +1 -1
  4. package/dist/cli.d.ts +3 -0
  5. package/dist/cli.js +103 -397
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/work-item-output.d.ts +390 -0
  8. package/dist/commands/work-item-output.js +36 -0
  9. package/dist/commands/work-item-output.js.map +1 -0
  10. package/dist/http-origin.js +3 -0
  11. package/dist/http-origin.js.map +1 -1
  12. package/dist/index.js +50 -28
  13. package/dist/index.js.map +1 -1
  14. package/dist/input/text-source.d.ts +9 -0
  15. package/dist/input/text-source.js +74 -0
  16. package/dist/input/text-source.js.map +1 -0
  17. package/dist/program.d.ts +3 -0
  18. package/dist/program.js +19 -0
  19. package/dist/program.js.map +1 -0
  20. package/dist/runtime/errors.d.ts +28 -0
  21. package/dist/runtime/errors.js +133 -0
  22. package/dist/runtime/errors.js.map +1 -0
  23. package/dist/runtime/execute.d.ts +23 -0
  24. package/dist/runtime/execute.js +25 -0
  25. package/dist/runtime/execute.js.map +1 -0
  26. package/dist/runtime/identity.d.ts +183 -0
  27. package/dist/runtime/identity.js +17 -0
  28. package/dist/runtime/identity.js.map +1 -0
  29. package/dist/runtime/output.d.ts +3 -0
  30. package/dist/runtime/output.js +13 -0
  31. package/dist/runtime/output.js.map +1 -0
  32. package/dist/runtime/session.d.ts +16 -0
  33. package/dist/runtime/session.js +123 -0
  34. package/dist/runtime/session.js.map +1 -0
  35. package/package.json +1 -1
  36. package/dist/work-item-time-entry-input.d.ts +0 -4
  37. package/dist/work-item-time-entry-input.js +0 -27
  38. package/dist/work-item-time-entry-input.js.map +0 -1
@@ -0,0 +1,390 @@
1
+ import type { paths } from "@spec-flow/api-client";
2
+ type Item = paths["/v1/projects/{projectId}/work-items/{workItemId}"]["get"]["responses"][200]["content"]["application/json"]["workItem"];
3
+ type ItemList = paths["/v1/projects/{projectId}/work-items"]["get"]["responses"][200]["content"]["application/json"];
4
+ type RelationList = paths["/v1/projects/{projectId}/work-items/{workItemId}/relations"]["get"]["responses"][200]["content"]["application/json"];
5
+ type Relation = RelationList["relations"][number];
6
+ type Receipt = paths["/v1/projects/{projectId}/work-items/{workItemId}/relations"]["post"]["responses"][201]["content"]["application/json"];
7
+ type CompatibleItem = Omit<Item, "url"> & {
8
+ readonly url?: string | null;
9
+ };
10
+ type CompatibleList = Omit<ItemList, "groups"> & {
11
+ readonly groups?: ItemList["groups"];
12
+ };
13
+ export type OutputMode = "full" | "summary";
14
+ export declare function itemSummary(item: CompatibleItem): {
15
+ id: string;
16
+ systemId: string;
17
+ projectId: string;
18
+ title: string;
19
+ url: string | null | undefined;
20
+ status: string;
21
+ priority: "no-priority" | "low" | "medium" | "high" | "urgent";
22
+ version: string;
23
+ assignee: {
24
+ image: string | null;
25
+ name: string;
26
+ userId: string;
27
+ } | null;
28
+ };
29
+ export declare function itemOutput<T extends {
30
+ readonly workItem?: CompatibleItem;
31
+ }>(data: T, mode: OutputMode, warn: () => void): T;
32
+ export declare function itemListOutput(data: CompatibleList, mode: OutputMode, warn: () => void): CompatibleList | {
33
+ workItems: {
34
+ id: string;
35
+ systemId: string;
36
+ projectId: string;
37
+ title: string;
38
+ url: string | null | undefined;
39
+ status: string;
40
+ priority: "no-priority" | "low" | "medium" | "high" | "urgent";
41
+ version: string;
42
+ assignee: {
43
+ image: string | null;
44
+ name: string;
45
+ userId: string;
46
+ } | null;
47
+ }[];
48
+ nextCursor: string | null;
49
+ permissions: {
50
+ canAssign: boolean;
51
+ canCreate: boolean;
52
+ canDelete: boolean;
53
+ canUpdate: boolean;
54
+ };
55
+ groups?: ItemList["groups"];
56
+ } | {
57
+ groups: {
58
+ workItems: {
59
+ id: string;
60
+ systemId: string;
61
+ projectId: string;
62
+ title: string;
63
+ url: string | null | undefined;
64
+ status: string;
65
+ priority: "no-priority" | "low" | "medium" | "high" | "urgent";
66
+ version: string;
67
+ assignee: {
68
+ image: string | null;
69
+ name: string;
70
+ userId: string;
71
+ } | null;
72
+ }[];
73
+ name: string;
74
+ status: string;
75
+ }[];
76
+ workItems: {
77
+ id: string;
78
+ systemId: string;
79
+ projectId: string;
80
+ title: string;
81
+ url: string | null | undefined;
82
+ status: string;
83
+ priority: "no-priority" | "low" | "medium" | "high" | "urgent";
84
+ version: string;
85
+ assignee: {
86
+ image: string | null;
87
+ name: string;
88
+ userId: string;
89
+ } | null;
90
+ }[];
91
+ nextCursor: string | null;
92
+ permissions: {
93
+ canAssign: boolean;
94
+ canCreate: boolean;
95
+ canDelete: boolean;
96
+ canUpdate: boolean;
97
+ };
98
+ };
99
+ export declare function relationSummary(relation: Relation): {
100
+ parent?: {
101
+ projectId: string;
102
+ id: string;
103
+ };
104
+ child?: {
105
+ projectId: string;
106
+ id: string;
107
+ };
108
+ id: string;
109
+ relationType: "subtask" | "blocks" | "related";
110
+ version: "\"1\"";
111
+ createdAt: string;
112
+ canRemove: boolean;
113
+ sourceWorkItem: {
114
+ id: string;
115
+ systemId: string;
116
+ projectId: string;
117
+ title: string;
118
+ url: string | null | undefined;
119
+ status: string;
120
+ priority: "no-priority" | "low" | "medium" | "high" | "urgent";
121
+ version: string;
122
+ assignee: {
123
+ image: string | null;
124
+ name: string;
125
+ userId: string;
126
+ } | null;
127
+ };
128
+ targetWorkItem: {
129
+ id: string;
130
+ systemId: string;
131
+ projectId: string;
132
+ title: string;
133
+ url: string | null | undefined;
134
+ status: string;
135
+ priority: "no-priority" | "low" | "medium" | "high" | "urgent";
136
+ version: string;
137
+ assignee: {
138
+ image: string | null;
139
+ name: string;
140
+ userId: string;
141
+ } | null;
142
+ };
143
+ };
144
+ export declare function relationListOutput(data: RelationList, mode: OutputMode, warn: () => void): {
145
+ relations: {
146
+ id: string;
147
+ relationType: "subtask" | "blocks" | "related";
148
+ createdAt: string;
149
+ version: "\"1\"";
150
+ sourceWorkItem: {
151
+ url: string;
152
+ githubIssue?: {
153
+ repositoryOwner: string;
154
+ repositoryName: string;
155
+ number: number;
156
+ state: "open" | "closed";
157
+ origin: "github" | "spec-flow";
158
+ url: string;
159
+ disconnected: boolean;
160
+ } | null;
161
+ assignee: {
162
+ image: string | null;
163
+ name: string;
164
+ userId: string;
165
+ } | null;
166
+ createdAt: string;
167
+ description: string | null;
168
+ descriptionGeneration?: number;
169
+ dueDate: string | null;
170
+ id: string;
171
+ systemId: string;
172
+ position: number;
173
+ priority: "no-priority" | "low" | "medium" | "high" | "urgent";
174
+ projectId: string;
175
+ startDate: string | null;
176
+ status: string;
177
+ title: string;
178
+ sourceFindingId?: string | null;
179
+ updatedAt: string;
180
+ version: string;
181
+ };
182
+ targetWorkItem: {
183
+ url: string;
184
+ githubIssue?: {
185
+ repositoryOwner: string;
186
+ repositoryName: string;
187
+ number: number;
188
+ state: "open" | "closed";
189
+ origin: "github" | "spec-flow";
190
+ url: string;
191
+ disconnected: boolean;
192
+ } | null;
193
+ assignee: {
194
+ image: string | null;
195
+ name: string;
196
+ userId: string;
197
+ } | null;
198
+ createdAt: string;
199
+ description: string | null;
200
+ descriptionGeneration?: number;
201
+ dueDate: string | null;
202
+ id: string;
203
+ systemId: string;
204
+ position: number;
205
+ priority: "no-priority" | "low" | "medium" | "high" | "urgent";
206
+ projectId: string;
207
+ startDate: string | null;
208
+ status: string;
209
+ title: string;
210
+ sourceFindingId?: string | null;
211
+ updatedAt: string;
212
+ version: string;
213
+ };
214
+ canRemove: boolean;
215
+ }[];
216
+ canCreateRelation: boolean;
217
+ canCreateSubtask: boolean;
218
+ } | {
219
+ relations: {
220
+ parent?: {
221
+ projectId: string;
222
+ id: string;
223
+ };
224
+ child?: {
225
+ projectId: string;
226
+ id: string;
227
+ };
228
+ id: string;
229
+ relationType: "subtask" | "blocks" | "related";
230
+ version: "\"1\"";
231
+ createdAt: string;
232
+ canRemove: boolean;
233
+ sourceWorkItem: {
234
+ id: string;
235
+ systemId: string;
236
+ projectId: string;
237
+ title: string;
238
+ url: string | null | undefined;
239
+ status: string;
240
+ priority: "no-priority" | "low" | "medium" | "high" | "urgent";
241
+ version: string;
242
+ assignee: {
243
+ image: string | null;
244
+ name: string;
245
+ userId: string;
246
+ } | null;
247
+ };
248
+ targetWorkItem: {
249
+ id: string;
250
+ systemId: string;
251
+ projectId: string;
252
+ title: string;
253
+ url: string | null | undefined;
254
+ status: string;
255
+ priority: "no-priority" | "low" | "medium" | "high" | "urgent";
256
+ version: string;
257
+ assignee: {
258
+ image: string | null;
259
+ name: string;
260
+ userId: string;
261
+ } | null;
262
+ };
263
+ }[];
264
+ canCreateRelation: boolean;
265
+ canCreateSubtask: boolean;
266
+ };
267
+ export declare function relationReceiptOutput(data: Receipt, mode: OutputMode, warn: () => void): {
268
+ relationId: string;
269
+ relation: {
270
+ id: string;
271
+ relationType: "subtask" | "blocks" | "related";
272
+ createdAt: string;
273
+ version: "\"1\"";
274
+ sourceWorkItem: {
275
+ url: string;
276
+ githubIssue?: {
277
+ repositoryOwner: string;
278
+ repositoryName: string;
279
+ number: number;
280
+ state: "open" | "closed";
281
+ origin: "github" | "spec-flow";
282
+ url: string;
283
+ disconnected: boolean;
284
+ } | null;
285
+ assignee: {
286
+ image: string | null;
287
+ name: string;
288
+ userId: string;
289
+ } | null;
290
+ createdAt: string;
291
+ description: string | null;
292
+ descriptionGeneration?: number;
293
+ dueDate: string | null;
294
+ id: string;
295
+ systemId: string;
296
+ position: number;
297
+ priority: "no-priority" | "low" | "medium" | "high" | "urgent";
298
+ projectId: string;
299
+ startDate: string | null;
300
+ status: string;
301
+ title: string;
302
+ sourceFindingId?: string | null;
303
+ updatedAt: string;
304
+ version: string;
305
+ };
306
+ targetWorkItem: {
307
+ url: string;
308
+ githubIssue?: {
309
+ repositoryOwner: string;
310
+ repositoryName: string;
311
+ number: number;
312
+ state: "open" | "closed";
313
+ origin: "github" | "spec-flow";
314
+ url: string;
315
+ disconnected: boolean;
316
+ } | null;
317
+ assignee: {
318
+ image: string | null;
319
+ name: string;
320
+ userId: string;
321
+ } | null;
322
+ createdAt: string;
323
+ description: string | null;
324
+ descriptionGeneration?: number;
325
+ dueDate: string | null;
326
+ id: string;
327
+ systemId: string;
328
+ position: number;
329
+ priority: "no-priority" | "low" | "medium" | "high" | "urgent";
330
+ projectId: string;
331
+ startDate: string | null;
332
+ status: string;
333
+ title: string;
334
+ sourceFindingId?: string | null;
335
+ updatedAt: string;
336
+ version: string;
337
+ };
338
+ canRemove: boolean;
339
+ } | null;
340
+ replayed: boolean;
341
+ } | {
342
+ relation: {
343
+ parent?: {
344
+ projectId: string;
345
+ id: string;
346
+ };
347
+ child?: {
348
+ projectId: string;
349
+ id: string;
350
+ };
351
+ id: string;
352
+ relationType: "subtask" | "blocks" | "related";
353
+ version: "\"1\"";
354
+ createdAt: string;
355
+ canRemove: boolean;
356
+ sourceWorkItem: {
357
+ id: string;
358
+ systemId: string;
359
+ projectId: string;
360
+ title: string;
361
+ url: string | null | undefined;
362
+ status: string;
363
+ priority: "no-priority" | "low" | "medium" | "high" | "urgent";
364
+ version: string;
365
+ assignee: {
366
+ image: string | null;
367
+ name: string;
368
+ userId: string;
369
+ } | null;
370
+ };
371
+ targetWorkItem: {
372
+ id: string;
373
+ systemId: string;
374
+ projectId: string;
375
+ title: string;
376
+ url: string | null | undefined;
377
+ status: string;
378
+ priority: "no-priority" | "low" | "medium" | "high" | "urgent";
379
+ version: string;
380
+ assignee: {
381
+ image: string | null;
382
+ name: string;
383
+ userId: string;
384
+ } | null;
385
+ };
386
+ } | null;
387
+ relationId: string;
388
+ replayed: boolean;
389
+ };
390
+ export {};
@@ -0,0 +1,36 @@
1
+ export function itemSummary(item) {
2
+ return { id: item.id, systemId: item.systemId, projectId: item.projectId, title: item.title, url: item.url, status: item.status, priority: item.priority, version: item.version, assignee: item.assignee };
3
+ }
4
+ function checkUrls(items, warn) {
5
+ if (items.some(item => item.url === undefined || item.url === null))
6
+ warn();
7
+ }
8
+ export function itemOutput(data, mode, warn) {
9
+ if (data.workItem !== undefined)
10
+ checkUrls([data.workItem], warn);
11
+ if (mode === "full")
12
+ return data;
13
+ if (data.workItem === undefined)
14
+ throw new Error("Missing Work Item response");
15
+ return { ...data, workItem: itemSummary(data.workItem) };
16
+ }
17
+ export function itemListOutput(data, mode, warn) {
18
+ checkUrls([...data.workItems, ...(data.groups?.flatMap(group => group.workItems) ?? [])], warn);
19
+ return mode === "full" ? data : { ...data, workItems: data.workItems.map(itemSummary), ...(data.groups === undefined ? {} : data.groups === null ? { groups: null } : { groups: data.groups.map(group => ({ ...group, workItems: group.workItems.map(itemSummary) })) }) };
20
+ }
21
+ export function relationSummary(relation) {
22
+ return { id: relation.id, relationType: relation.relationType, version: relation.version, createdAt: relation.createdAt, canRemove: relation.canRemove,
23
+ sourceWorkItem: itemSummary(relation.sourceWorkItem), targetWorkItem: itemSummary(relation.targetWorkItem),
24
+ ...(relation.relationType === "subtask" ? { parent: { projectId: relation.sourceWorkItem.projectId, id: relation.sourceWorkItem.id }, child: { projectId: relation.targetWorkItem.projectId, id: relation.targetWorkItem.id } } : {}),
25
+ };
26
+ }
27
+ export function relationListOutput(data, mode, warn) {
28
+ checkUrls(data.relations.flatMap(relation => [relation.sourceWorkItem, relation.targetWorkItem]), warn);
29
+ return mode === "full" ? data : { ...data, relations: data.relations.map(relationSummary) };
30
+ }
31
+ export function relationReceiptOutput(data, mode, warn) {
32
+ if (data.relation !== null)
33
+ checkUrls([data.relation.sourceWorkItem, data.relation.targetWorkItem], warn);
34
+ return mode === "full" ? data : { ...data, relation: data.relation === null ? null : relationSummary(data.relation) };
35
+ }
36
+ //# sourceMappingURL=work-item-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"work-item-output.js","sourceRoot":"","sources":["../../src/commands/work-item-output.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,9 @@ export function readBuildDefaultApiOrigin(value) {
10
10
  return result.origin;
11
11
  }
12
12
  export function readServerFlag(arguments_) {
13
+ const inline = arguments_.find(value => value.startsWith("--server="));
14
+ if (inline !== undefined)
15
+ return inline.slice("--server=".length);
13
16
  const index = arguments_.indexOf("--server");
14
17
  const value = index === -1 ? undefined : arguments_[index + 1];
15
18
  if (value === undefined || value.startsWith("-")) {
@@ -1 +1 @@
1
- {"version":3,"file":"http-origin.js","sourceRoot":"","sources":["../src/http-origin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,MAAM,UAAU,yBAAyB,CAAC,KAAyB;IACjE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,KAAK,EAAE,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,KAAK,EAAE,EAAE,CAAC;QACtF,MAAM,IAAI,KAAK,CAAC,kGAAkG,CAAC,CAAC;IACtH,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,UAA6B;IAE7B,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC/D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACjD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,UAA8B,EAC9B,cAAkC;IAElC,OAAO,UAAU,IAAI,cAAc,IAAI,wBAAwB,CAAC;AAClE,CAAC;AAiBD,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACjD,CAAC;IAED,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC1D,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1D,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,IAAI,GAAG,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;QACjE,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC3D,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"http-origin.js","sourceRoot":"","sources":["../src/http-origin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,MAAM,UAAU,yBAAyB,CAAC,KAAyB;IACjE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,KAAK,EAAE,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,KAAK,EAAE,EAAE,CAAC;QACtF,MAAM,IAAI,KAAK,CAAC,kGAAkG,CAAC,CAAC;IACtH,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,UAA6B;IAE7B,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IACvE,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC/D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACjD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,UAA8B,EAC9B,cAAkC;IAElC,OAAO,UAAU,IAAI,cAAc,IAAI,wBAAwB,CAAC;AAClE,CAAC;AAiBD,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACjD,CAAC;IAED,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC1D,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1D,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,IAAI,GAAG,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;QACjE,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC3D,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7C,CAAC"}
package/dist/index.js CHANGED
@@ -1,14 +1,14 @@
1
- import { Command, CommanderError, Option } from "commander";
1
+ import { CommanderError, Option } from "commander";
2
2
  import openBrowser from "open";
3
3
  import createClient from "openapi-fetch";
4
4
  import { z } from "zod";
5
- import { addAuthenticationCommandTopology } from "./authentication-command-topology.js";
5
+ import { formatResourceDiagnostic, runCli as runResourceCli } from "./cli.js";
6
6
  import { cliClientIdentityHeaders, detectCliClientIdentity, } from "./client-identity.js";
7
7
  import { createCredentialStore, } from "./credential-store.js";
8
8
  import { parseHttpOrigin, unresolvedSpecFlowApiOrigin, } from "./http-origin.js";
9
9
  import { assertSupportedNodeVersion } from "./node-version.js";
10
10
  import { SafeCliError } from "./safe-cli-error.js";
11
- import { specFlowCliVersion, specFlowCliUserAgent, withSpecFlowCliUserAgent, } from "./user-agent.js";
11
+ import { specFlowCliUserAgent, withSpecFlowCliUserAgent, } from "./user-agent.js";
12
12
  export { assertSupportedNodeVersion } from "./node-version.js";
13
13
  const deviceAuthorizationSchema = z
14
14
  .object({
@@ -78,9 +78,32 @@ const defaultDependencies = {
78
78
  export async function runSpecFlowCli(argv, dependencies = defaultDependencies) {
79
79
  try {
80
80
  assertSupportedNodeVersion(dependencies.nodeVersion);
81
- const program = createProgram(dependencies);
82
- await program.parseAsync([...argv]);
83
- return 0;
81
+ const args = argv.slice(2);
82
+ const stores = new Map();
83
+ let globalOptions = () => ({});
84
+ const store = (apiKeyId) => {
85
+ const slot = apiKeyId ?? "session";
86
+ let pending = stores.get(slot);
87
+ if (pending === undefined) {
88
+ const options = {
89
+ allowFileFallback: globalOptions().allowFileFallback === true,
90
+ serverOrigin: resolveServerOrigin(unresolvedSpecFlowApiOrigin(globalOptions().server, dependencies.environment?.SPEC_FLOW_API_URL)),
91
+ warning: (message) => { dependencies.stderr(formatResourceDiagnostic(message).trimEnd()); },
92
+ };
93
+ pending = apiKeyId === undefined
94
+ ? dependencies.createCredentialStore(options)
95
+ : createCredentialStore({ ...options, apiKeyId });
96
+ stores.set(slot, pending);
97
+ }
98
+ return pending;
99
+ };
100
+ return await runResourceCli(args, {
101
+ environment: dependencies.environment ?? {},
102
+ credentialStore: { read: async () => (await store()).get(), readApiKey: async (id) => (await store(id)).get(), writeApiKey: async (id, value) => (await store(id)).set(value), deleteApiKey: async (id) => (await store(id)).delete() },
103
+ fetch: request => dependencies.fetch(request), open: dependencies.open,
104
+ stdout: value => { dependencies.stdout(value.trimEnd()); }, stderr: value => { dependencies.stderr(value.trimEnd()); },
105
+ registerAuthentication: (program, authentication) => { globalOptions = () => program.opts(); registerAuthenticationActions(program, authentication, dependencies); },
106
+ });
84
107
  }
85
108
  catch (error) {
86
109
  if (error instanceof CommanderError) {
@@ -90,36 +113,35 @@ export async function runSpecFlowCli(argv, dependencies = defaultDependencies) {
90
113
  return 1;
91
114
  }
92
115
  }
93
- function createProgram(dependencies) {
94
- const program = new Command()
95
- .name("specflow")
96
- .description("Access SpecFlow without exposing CLI credentials")
97
- .version(specFlowCliVersion)
98
- .option("--server <url>", "SpecFlow server origin", unresolvedSpecFlowApiOrigin(undefined, dependencies.environment?.SPEC_FLOW_API_URL))
99
- .exitOverride()
100
- .configureOutput({
101
- writeErr: (value) => {
102
- dependencies.stderr(value.trimEnd());
103
- },
104
- writeOut: (value) => {
105
- dependencies.stdout(value.trimEnd());
106
- },
107
- });
108
- const authentication = addAuthenticationCommandTopology(program);
116
+ function registerAuthenticationActions(program, authentication, dependencies) {
109
117
  addCredentialOption(authentication.login)
110
118
  .addOption(new Option("--grants <json>", "Explicit grants for a restricted legacy CLI Session").hideHelp())
111
- .action(async (options) => login(program, options, dependencies));
119
+ .action(async (options) => {
120
+ requireSessionCredentialSelection(program, dependencies);
121
+ await login(program, options, dependencies);
122
+ });
112
123
  addCredentialOption(authentication.status)
113
- .action(async (options) => status(program, options, dependencies));
124
+ .action(async (options) => {
125
+ requireSessionCredentialSelection(program, dependencies);
126
+ await status(program, options, dependencies);
127
+ });
114
128
  addCredentialOption(authentication.logout)
115
- .action(async (options) => logout(program, options, dependencies));
116
- return program;
129
+ .action(async (options) => {
130
+ requireSessionCredentialSelection(program, dependencies);
131
+ await logout(program, options, dependencies);
132
+ });
133
+ }
134
+ function requireSessionCredentialSelection(program, dependencies) {
135
+ const environment = dependencies.environment;
136
+ if (program.opts().apiKeyId !== undefined || environment?.SPEC_FLOW_API_KEY !== undefined || environment?.SPEC_FLOW_WORKSPACE_READ_TOKEN !== undefined || environment?.SPEC_FLOW_PROJECT_READ_TOKEN !== undefined) {
137
+ throw new SafeCliError("These commands manage CLI Sessions; clear explicit API Key/read-only Token selections. Use auth whoami for the selected User credential.");
138
+ }
117
139
  }
118
140
  function addCredentialOption(command) {
119
141
  return command.option("--allow-file-fallback", "use a warned owner-only local credential file if the system store is unavailable");
120
142
  }
121
143
  async function login(program, options, dependencies) {
122
- const serverOrigin = resolveServerOrigin(program.opts().server);
144
+ const serverOrigin = resolveServerOrigin(unresolvedSpecFlowApiOrigin(program.opts().server, dependencies.environment?.SPEC_FLOW_API_URL));
123
145
  const authorization = deviceAuthorizationSchema.parse(await requestJson(dependencies.fetch, `${serverOrigin}/v1/auth/device/code`, {
124
146
  body: JSON.stringify({ client_id: "specflow-cli", scope: options.grants === undefined ? "user" : `grants:${encodeURIComponent(JSON.stringify(JSON.parse(options.grants)))}` }),
125
147
  headers: { "content-type": "application/json" },
@@ -211,7 +233,7 @@ function createCliApiClient(serverOrigin, fetch) {
211
233
  });
212
234
  }
213
235
  async function currentCredential(program, options, dependencies) {
214
- const serverOrigin = resolveServerOrigin(program.opts().server);
236
+ const serverOrigin = resolveServerOrigin(unresolvedSpecFlowApiOrigin(program.opts().server, dependencies.environment?.SPEC_FLOW_API_URL));
215
237
  const store = await resolveCredentialStore(serverOrigin, options, dependencies);
216
238
  const credential = await store.get();
217
239
  if (credential === null) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,WAAW,MAAM,MAAM,CAAC;AAC/B,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAE,wBAAwB,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,UAAU,CAAC;AAC9E,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GAExB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,qBAAqB,GAEtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,eAAe,EACf,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EACL,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAK/D,MAAM,yBAAyB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACvC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACrC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,gBAAgB,EAAE,CAAC,CAAC,GAAG,EAAE;IACzB,yBAAyB,EAAE,CAAC,CAAC,GAAG,EAAE;CACnC,CAAC;KACD,MAAM,EAAE,CAAC;AACZ,MAAM,iBAAiB,GAAG,CAAC;KACxB,MAAM,CAAC;IACN,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACvC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;CAChC,CAAC;KACD,MAAM,EAAE,CAAC;AACZ,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC;IACtC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC;QACZ,eAAe;QACf,uBAAuB;QACvB,eAAe;QACf,WAAW;KACZ,CAAC;CACH,CAAC,CAAC;AACH,MAAM,gBAAgB,GAAG,CAAC;KACvB,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE;QAC3B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACrB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YACtB,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpU,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;oBAC9F,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;oBAC9E,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;oBACtE,sBAAsB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;oBACtE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;iBACnD,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;oBACnC,GAAG,CAAC,UAAU,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,CAAC,aAAa,EAAE,CAAC;oBAC9F,GAAG,CAAC,UAAU,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC;oBAC3F,GAAG,CAAC,UAAU,CAAC,sBAAsB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,UAAU,CAAC,sBAAsB,EAAE,CAAC;oBACzH,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,CAAC;iBACnF,CAAC,CAAC,EAAE,CAAC;SACP,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACjB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC/C,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;KAC9B,CAAC;IACF,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;QAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KACxB,CAAC;CACH,CAAC;KACD,MAAM,EAAyC,CAAC;AAwBnD,MAAM,mBAAmB,GAAkC;IACzD,WAAW,EAAE,OAAO,CAAC,GAAG;IACxB,qBAAqB,EAAE,CAAC,OAAO,EAAE,EAAE,CACjC,qBAAqB,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;IACjE,KAAK,EAAE,UAAU,CAAC,KAAK;IACvB,cAAc,EAAE,GAAG,EAAE,CAAC,uBAAuB,EAAE;IAC/C,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;IAClC,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAC5B,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC7D,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC;IACzD,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC;CAC1D,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAuB,EACvB,eAA8C,mBAAmB;IAEjE,IAAI,CAAC;QACH,0BAA0B,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoC,CAAC;QAC3D,IAAI,aAAa,GAA6E,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACzG,MAAM,KAAK,GAAG,CAAC,QAAiB,EAAE,EAAE;YAClC,MAAM,IAAI,GAAG,QAAQ,IAAI,SAAS,CAAC;YACnC,IAAI,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,OAAO,GAAG;oBACd,iBAAiB,EAAE,aAAa,EAAE,CAAC,iBAAiB,KAAK,IAAI;oBAC7D,YAAY,EAAE,mBAAmB,CAAC,2BAA2B,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;oBACnI,OAAO,EAAE,CAAC,OAAe,EAAE,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;iBACpG,CAAC;gBACF,OAAO,GAAG,QAAQ,KAAK,SAAS;oBAC9B,CAAC,CAAC,YAAY,CAAC,qBAAqB,CAAC,OAAO,CAAC;oBAC7C,CAAC,CAAC,qBAAqB,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACpD,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5B,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QACF,OAAO,MAAM,cAAc,CAAC,IAAI,EAAE;YAChC,WAAW,EAAE,YAAY,CAAC,WAAW,IAAI,EAAE;YAC3C,eAAe,EAAE,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,KAAK,EAAC,EAAE,EAAC,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,KAAK,EAAC,EAAE,EAAC,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE;YACnO,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI;YACtE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACtH,sBAAsB,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,GAAG,aAAa,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAoD,CAAC,CAAC,6BAA6B,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;SACvN,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC,QAAQ,CAAC;QACxB,CAAC;QACD,YAAY,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/C,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,SAAS,6BAA6B,CAAC,OAAgB,EAAE,cAA6C,EAAE,YAA2C;IACjJ,mBAAmB,CAAC,cAAc,CAAC,KAAK,CAAC;SACtC,SAAS,CAAC,IAAI,MAAM,CAAC,iBAAiB,EAAE,qDAAqD,CAAC,CAAC,QAAQ,EAAE,CAAC;SAC1G,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;QAC5C,iCAAiC,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACzD,MAAM,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IACL,mBAAmB,CAAC,cAAc,CAAC,MAAM,CAAC;SACvC,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;QAC5C,iCAAiC,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACzD,MAAM,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACL,mBAAmB,CAAC,cAAc,CAAC,MAAM,CAAC;SACvC,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;QAC5C,iCAAiC,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACzD,MAAM,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,iCAAiC,CAAC,OAAgB,EAAE,YAA2C;IACtG,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC;IAC7C,IAAI,OAAO,CAAC,IAAI,EAAyB,CAAC,QAAQ,KAAK,SAAS,IAAI,WAAW,EAAE,iBAAiB,KAAK,SAAS,IAAI,WAAW,EAAE,8BAA8B,KAAK,SAAS,IAAI,WAAW,EAAE,4BAA4B,KAAK,SAAS,EAAE,CAAC;QACzO,MAAM,IAAI,YAAY,CAAC,0IAA0I,CAAC,CAAC;IACrK,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAgB;IAC3C,OAAO,OAAO,CAAC,MAAM,CACnB,uBAAuB,EACvB,kFAAkF,CACnF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,KAAK,CAClB,OAAgB,EAChB,OAA2B,EAC3B,YAA2C;IAE3C,MAAM,YAAY,GAAG,mBAAmB,CAAC,2BAA2B,CAAC,OAAO,CAAC,IAAI,EAAuB,CAAC,MAAM,EAAE,YAAY,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC/J,MAAM,aAAa,GAAG,yBAAyB,CAAC,KAAK,CACnD,MAAM,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,YAAY,sBAAsB,EAAE;QAC3E,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC9K,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,MAAM,EAAE,MAAM;KACf,CAAC,CACH,CAAC;IACF,YAAY,CAAC,MAAM,CACjB,QAAQ,aAAa,CAAC,gBAAgB,mBAAmB,aAAa,CAAC,SAAS,GAAG,CACpF,CAAC;IACF,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,YAAY,CAAC,MAAM,CACjB,uFAAuF,CACxF,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,wBAAwB,CAC5C,YAAY,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CACjE,CAAC;IACF,IAAI,oBAAoB,GAAG,aAAa,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC,UAAU,GAAG,KAAK,CAAC;IAChE,SAAS,CAAC;QACR,MAAM,YAAY,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,YAAY,CAAC,gDAAgD,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,KAAK,CACvC,GAAG,YAAY,uBAAuB,EACtC;YACE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,SAAS,EAAE,cAAc;gBACzB,WAAW,EAAE,aAAa,CAAC,WAAW;gBACtC,UAAU,EAAE,8CAA8C;aAC3D,CAAC;YACF,OAAO,EAAE,wBAAwB,CAAC;gBAChC,GAAG,aAAa;gBAChB,cAAc,EAAE,kBAAkB;aACnC,CAAC;YACF,MAAM,EAAE,MAAM;SACf,CACF,CAAC;QACF,MAAM,IAAI,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,MAAM,sBAAsB,CACxC,YAAY,EACZ,OAAO,EACP,YAAY,CACb,CAAC;YACF,MAAM,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACpC,YAAY,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,YAAY,CAAC,gDAAgD,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,eAAe,EAAE,CAAC;YAC3C,MAAM,IAAI,YAAY,CACpB,mDAAmD,CACpD,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,eAAe,EAAE,CAAC;YAC3C,MAAM,IAAI,YAAY,CAAC,gDAAgD,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YACvC,oBAAoB,IAAI,KAAK,CAAC;QAChC,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,MAAM,CACnB,OAAgB,EAChB,OAA2B,EAC3B,YAA2C;IAE3C,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,MAAM,iBAAiB,CACjE,OAAO,EACP,OAAO,EACP,YAAY,CACb,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,GAAG,CAC7E,iBAAiB,EACjB,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,UAAU,EAAE,EAAE,EAAE,CACvD,CAAC;IACF,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACrC,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,IAAI,YAAY,CAAC,wBAAwB,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACpE,MAAM,IAAI,YAAY,CAAC,6CAA6C,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtD,YAAY,CAAC,MAAM,CACjB;QACE,SAAS,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE;QAC5F,YAAY,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE;QACvC,WAAW,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;KACpD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,MAAM,CACnB,OAAgB,EAChB,OAA2B,EAC3B,YAA2C;IAE3C,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,MAAM,iBAAiB,CACjE,OAAO,EACP,OAAO,EACP,YAAY,CACb,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CACvC,YAAY,EACZ,YAAY,CAAC,KAAK,CACnB,CAAC,MAAM,CAAC,iBAAiB,EAAE;QAC1B,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,UAAU,EAAE,EAAE;KACnD,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACzE,MAAM,IAAI,YAAY,CAAC,4CAA4C,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,kBAAkB,CACzB,YAAoB,EACpB,KAA8B;IAE9B,OAAO,YAAY,CAAQ;QACzB,OAAO,EAAE,YAAY;QACrB,KAAK;QACL,OAAO,EAAE,EAAE,YAAY,EAAE,oBAAoB,EAAE;KAChD,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,OAAgB,EAChB,OAA2B,EAC3B,YAA2C;IAM3C,MAAM,YAAY,GAAG,mBAAmB,CAAC,2BAA2B,CAAC,OAAO,CAAC,IAAI,EAAuB,CAAC,MAAM,EAAE,YAAY,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC/J,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,YAAY,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAChF,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC;IACrC,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,YAAY,CAAC,iDAAiD,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;AAC7C,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,YAAoB,EACpB,OAA2B,EAC3B,YAA2C;IAE3C,OAAO,YAAY,CAAC,qBAAqB,CAAC;QACxC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,KAAK;QACrD,YAAY;QACZ,OAAO,EAAE,YAAY,CAAC,MAAM;KAC7B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,sBAAsB,EAAE,CAAC;QAC9D,MAAM,IAAI,YAAY,CAAC,kCAAkC,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,YAAY,CAAC,4CAA4C,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,KAA8B,EAC9B,GAAW,EACX,IAAiB;IAEjB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,GAAG,IAAI;QACP,OAAO,EAAE,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC;KAChD,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,YAAY,CAAC,qDAAqD,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAGD,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,KAAK,YAAY,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC;AAChF,CAAC;AAED,OAAO,EACL,MAAM,GAEP,MAAM,UAAU,CAAC"}
@@ -0,0 +1,9 @@
1
+ /** Commander must not silently overwrite an earlier source selection. */
2
+ export declare function singleDescriptionSource(value: string, previous?: string): string;
3
+ export interface TextSource {
4
+ readonly description?: string | undefined;
5
+ readonly descriptionFile?: string | undefined;
6
+ readonly clearDescription?: boolean | undefined;
7
+ }
8
+ /** Read only an explicitly selected source, preserving its bytes as UTF-8 text. */
9
+ export declare function readDescription(source: TextSource): Promise<string | null | undefined>;