@eyeauras/youtrack-cli 0.5.6 → 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 (94) hide show
  1. package/README.md +78 -72
  2. package/dist/src/agile-commands.d.ts.map +1 -1
  3. package/dist/src/agile-commands.js +8 -9
  4. package/dist/src/agile-commands.js.map +1 -1
  5. package/dist/src/agile.d.ts.map +1 -1
  6. package/dist/src/agile.js +9 -15
  7. package/dist/src/agile.js.map +1 -1
  8. package/dist/src/article-extras-commands.d.ts.map +1 -1
  9. package/dist/src/article-extras-commands.js +13 -12
  10. package/dist/src/article-extras-commands.js.map +1 -1
  11. package/dist/src/articles-commands.d.ts.map +1 -1
  12. package/dist/src/articles-commands.js +15 -13
  13. package/dist/src/articles-commands.js.map +1 -1
  14. package/dist/src/articles.d.ts +3 -3
  15. package/dist/src/articles.d.ts.map +1 -1
  16. package/dist/src/articles.js +19 -19
  17. package/dist/src/articles.js.map +1 -1
  18. package/dist/src/attachment-download-commands.d.ts.map +1 -1
  19. package/dist/src/attachment-download-commands.js +10 -9
  20. package/dist/src/attachment-download-commands.js.map +1 -1
  21. package/dist/src/attachment-download.d.ts +7 -3
  22. package/dist/src/attachment-download.d.ts.map +1 -1
  23. package/dist/src/attachment-download.js +33 -40
  24. package/dist/src/attachment-download.js.map +1 -1
  25. package/dist/src/attachment-form.js +3 -3
  26. package/dist/src/attachment-form.js.map +1 -1
  27. package/dist/src/bundle-values-commands.d.ts.map +1 -1
  28. package/dist/src/bundle-values-commands.js +21 -18
  29. package/dist/src/bundle-values-commands.js.map +1 -1
  30. package/dist/src/cli-support.d.ts +5 -5
  31. package/dist/src/cli-support.d.ts.map +1 -1
  32. package/dist/src/cli-support.js +28 -26
  33. package/dist/src/cli-support.js.map +1 -1
  34. package/dist/src/cli.d.ts.map +1 -1
  35. package/dist/src/cli.js +55 -39
  36. package/dist/src/cli.js.map +1 -1
  37. package/dist/src/client.d.ts +5 -2
  38. package/dist/src/client.d.ts.map +1 -1
  39. package/dist/src/client.js +66 -49
  40. package/dist/src/client.js.map +1 -1
  41. package/dist/src/field-catalog-commands.d.ts.map +1 -1
  42. package/dist/src/field-catalog-commands.js +19 -16
  43. package/dist/src/field-catalog-commands.js.map +1 -1
  44. package/dist/src/group-directory-commands.d.ts.map +1 -1
  45. package/dist/src/group-directory-commands.js +17 -16
  46. package/dist/src/group-directory-commands.js.map +1 -1
  47. package/dist/src/issue-attachments-commands.d.ts.map +1 -1
  48. package/dist/src/issue-attachments-commands.js +9 -8
  49. package/dist/src/issue-attachments-commands.js.map +1 -1
  50. package/dist/src/issue-batch.d.ts +3 -1
  51. package/dist/src/issue-batch.d.ts.map +1 -1
  52. package/dist/src/issue-batch.js +19 -14
  53. package/dist/src/issue-batch.js.map +1 -1
  54. package/dist/src/issue-context-commands.d.ts.map +1 -1
  55. package/dist/src/issue-context-commands.js +13 -12
  56. package/dist/src/issue-context-commands.js.map +1 -1
  57. package/dist/src/issue-context.d.ts.map +1 -1
  58. package/dist/src/issue-context.js +9 -13
  59. package/dist/src/issue-context.js.map +1 -1
  60. package/dist/src/issue-fields-commands.d.ts.map +1 -1
  61. package/dist/src/issue-fields-commands.js +10 -9
  62. package/dist/src/issue-fields-commands.js.map +1 -1
  63. package/dist/src/issue-fields.d.ts +2 -4
  64. package/dist/src/issue-fields.d.ts.map +1 -1
  65. package/dist/src/issue-fields.js +39 -100
  66. package/dist/src/issue-fields.js.map +1 -1
  67. package/dist/src/issue-query-commands.d.ts.map +1 -1
  68. package/dist/src/issue-query-commands.js +15 -14
  69. package/dist/src/issue-query-commands.js.map +1 -1
  70. package/dist/src/issue-query.d.ts.map +1 -1
  71. package/dist/src/issue-query.js +7 -10
  72. package/dist/src/issue-query.js.map +1 -1
  73. package/dist/src/issue-relations-commands.d.ts.map +1 -1
  74. package/dist/src/issue-relations-commands.js +17 -16
  75. package/dist/src/issue-relations-commands.js.map +1 -1
  76. package/dist/src/issue-relations.js +2 -2
  77. package/dist/src/issue-relations.js.map +1 -1
  78. package/dist/src/issue-time-commands.d.ts.map +1 -1
  79. package/dist/src/issue-time-commands.js +12 -11
  80. package/dist/src/issue-time-commands.js.map +1 -1
  81. package/dist/src/issue-time.d.ts.map +1 -1
  82. package/dist/src/issue-time.js +16 -19
  83. package/dist/src/issue-time.js.map +1 -1
  84. package/dist/src/presentation.d.ts +59 -0
  85. package/dist/src/presentation.d.ts.map +1 -0
  86. package/dist/src/presentation.js +467 -0
  87. package/dist/src/presentation.js.map +1 -0
  88. package/dist/src/time-settings-commands.d.ts.map +1 -1
  89. package/dist/src/time-settings-commands.js +13 -11
  90. package/dist/src/time-settings-commands.js.map +1 -1
  91. package/dist/src/user-directory-commands.d.ts.map +1 -1
  92. package/dist/src/user-directory-commands.js +14 -12
  93. package/dist/src/user-directory-commands.js.map +1 -1
  94. package/package.json +2 -2
@@ -1,46 +1,49 @@
1
- import { CliError, diagnosticCause, fetchWithRedirects, readResponseBody, parseServerUrl, normalizeBearerToken } from "@eyeauras/cli-factory";
1
+ import { CliError, HttpError, diagnosticCause, fetchWithRedirects, readResponseBody, parseServerUrl, normalizeBearerToken } from "@eyeauras/cli-factory";
2
2
  export const youTrackUrlHelp = "YouTrack server URL, such as https://youtrack.example.test or https://example.test/youtrack";
3
3
  export function youTrackUrl(value) {
4
- const message = "YouTrack URL must be http(s)://host[:port][/context], without /api, a page path, credentials or a query.";
4
+ const message = "The URL must be http(s)://host[:port][/context], without credentials, a query or a fragment.";
5
5
  const url = parseServerUrl(value, message);
6
- const pathname = decodeURIComponent(url.pathname);
7
- if (/\/(?:api|issues|issue|articles|agiles|dashboard|dashboards|admin)(?:\/|$)/i.test(pathname)) {
8
- throw new Error(message);
9
- }
10
6
  return url.href;
11
7
  }
12
8
  const issueListFields = "id,idReadable,summary,project(id,name,shortName),updated,resolved";
13
9
  const commentFields = "id,text,author(id,login),created,updated";
14
10
  export function requiredText(value, label) {
15
- if (!value.trim() || /[\u0000-\u001f\u007f]/.test(value)) {
16
- throw new Error(`YouTrack ${label} must be nonempty text without control characters.`);
11
+ if (typeof value !== "string") {
12
+ throw new Error(`The ${label} must be text.`);
17
13
  }
18
14
  return value;
19
15
  }
16
+ export function inputFilePath(value) {
17
+ if (typeof value !== "string" || value.length === 0 || value.includes("\0"))
18
+ throw new Error("The file path must identify a file without NUL characters.");
19
+ return value;
20
+ }
20
21
  export function fields(options, defaults) {
21
- return requiredText(options.fields ?? defaults, "fields");
22
+ return requiredText(options.fields === undefined ? defaults : options.fields, "fields");
22
23
  }
23
24
  export function page(options, defaults) {
24
- const top = options.top ?? 50;
25
- const skip = options.skip ?? 0;
26
- if (!Number.isSafeInteger(top) || top < 1) {
27
- throw new Error("YouTrack top must be a positive safe integer.");
25
+ const top = options.top === undefined ? 50 : options.top;
26
+ const skip = options.skip === undefined ? 0 : options.skip;
27
+ if (!Number.isSafeInteger(top) || top < 0) {
28
+ throw new Error("--top must be a nonnegative safe integer.");
28
29
  }
29
30
  if (!Number.isSafeInteger(skip) || skip < 0) {
30
- throw new Error("YouTrack skip must be a nonnegative safe integer.");
31
+ throw new Error("--skip must be a nonnegative integer.");
31
32
  }
32
33
  return { fields: fields(options, defaults), $top: String(top), $skip: String(skip) };
33
34
  }
34
35
  export function encodedID(id, label = "ID") {
35
36
  requiredText(id, label);
37
+ if (id.length === 0)
38
+ throw new Error(`The ${label} must identify one path segment.`);
36
39
  if (id === "." || id === "..") {
37
- throw new Error(`YouTrack ${label} must not be a dot path segment.`);
40
+ throw new Error(`The ${label} must not be a dot path segment.`);
38
41
  }
39
42
  try {
40
43
  return encodeURIComponent(id);
41
44
  }
42
45
  catch {
43
- throw new Error(`YouTrack ${label} must contain valid Unicode text.`);
46
+ throw new Error(`The ${label} must contain valid Unicode text.`);
44
47
  }
45
48
  }
46
49
  export function issuePath(id) {
@@ -92,7 +95,7 @@ function scrub(value, token) {
92
95
  }
93
96
  function object(value) {
94
97
  if (value === null || typeof value !== "object" || Array.isArray(value)) {
95
- throw new Error("YouTrack returned an invalid object response.");
98
+ throw new Error("Invalid object response from YouTrack.");
96
99
  }
97
100
  return value;
98
101
  }
@@ -116,7 +119,7 @@ async function request(connection, path, query, responseName = "JSON", options =
116
119
  });
117
120
  }
118
121
  catch (cause) {
119
- throw new CliError("YouTrack request failed; check connectivity, TLS and the configured URL.", {
122
+ throw new CliError("Could not reach YouTrack; check the URL, connectivity and TLS.", {
120
123
  code: "request.failed", cause: diagnosticCause(cause, [token]),
121
124
  });
122
125
  }
@@ -136,9 +139,7 @@ async function request(connection, path, query, responseName = "JSON", options =
136
139
  }
137
140
  }
138
141
  // The status lets batch callers separate a definite rejection from an uncertain write.
139
- throw Object.assign(new Error(`YouTrack request failed (HTTP ${response.status}).${retry}`), {
140
- status: response.status,
141
- });
142
+ throw new HttpError(response.status, `YouTrack answered HTTP ${response.status}.${retry}`);
142
143
  }
143
144
  let text;
144
145
  try {
@@ -153,8 +154,8 @@ async function request(connection, path, query, responseName = "JSON", options =
153
154
  }
154
155
  catch (cause) {
155
156
  throw new Error(options.budget === undefined
156
- ? "YouTrack response stream failed or was cancelled."
157
- : "YouTrack response stream failed, exceeded --max-bytes, or was cancelled.", { cause: diagnosticCause(cause, [token]) });
157
+ ? "The response stream failed or was cancelled."
158
+ : "The response stream failed, exceeded --max-bytes, or was cancelled.", { cause: diagnosticCause(cause, [token]) });
158
159
  }
159
160
  let value;
160
161
  try {
@@ -164,12 +165,12 @@ async function request(connection, path, query, responseName = "JSON", options =
164
165
  value = JSON.parse(text);
165
166
  }
166
167
  catch (cause) {
167
- throw new Error(`YouTrack returned an invalid ${responseName} response.`, {
168
+ throw new Error(`Invalid ${responseName} response from YouTrack.`, {
168
169
  cause: diagnosticCause(cause, [token], "Invalid JSON syntax."),
169
170
  });
170
171
  }
171
172
  if (options.allowEmpty && value === null) {
172
- throw new Error("YouTrack returned an invalid mutation response.");
173
+ throw new Error("Invalid mutation response from YouTrack.");
173
174
  }
174
175
  return value;
175
176
  }
@@ -186,22 +187,22 @@ export async function getAttachmentDownloadMetadata(connection, attachmentPath)
186
187
  const value = object(await request(connection, attachmentPath, { fields: "id,name,mimeType,url" }));
187
188
  const token = connection.token.trim();
188
189
  const { id, name, mimeType, url } = value;
189
- if (typeof id !== "string" || !id.trim() ||
190
- typeof name !== "string" || !name.trim() ||
190
+ if (typeof id !== "string" ||
191
+ typeof name !== "string" ||
191
192
  typeof url !== "string" || !url.trim() ||
192
193
  (mimeType !== null && typeof mimeType !== "string") ||
193
194
  [id, name, mimeType, url].some((item) => typeof item === "string" && item.includes(token))) {
194
- throw new Error("YouTrack returned invalid attachment download metadata or no download URL.");
195
+ throw new Error("Invalid attachment download metadata from YouTrack, or no download URL.");
195
196
  }
196
197
  return { id, name, mimeType, url };
197
198
  }
198
199
  export async function readCollection(connection, path, query, budget) {
199
200
  const value = scrub(await request(connection, path, query, "JSON", { budget }), connection.token.trim());
200
201
  if (!Array.isArray(value)) {
201
- throw new Error("YouTrack returned an invalid collection response.");
202
+ throw new Error("Invalid collection response from YouTrack.");
202
203
  }
203
204
  if (value.length > Number(query.$top)) {
204
- throw new Error("YouTrack returned more items than the requested top limit.");
205
+ throw new Error("More items than the requested page size came back from YouTrack.");
205
206
  }
206
207
  return value.map(object);
207
208
  }
@@ -209,7 +210,7 @@ export async function readCollection(connection, path, query, budget) {
209
210
  * Read an offset collection in server order until a short page proves the selection complete.
210
211
  * Repeated string IDs are dropped; offset paging is not a snapshot of a changing dataset.
211
212
  */
212
- export async function readPages(connection, path, query, { top, skip, maxResults = Infinity, budget }) {
213
+ export async function readPages(connection, path, query, { top, skip, maxResults = Infinity, budget, progress }) {
213
214
  const items = [];
214
215
  const ids = new Set();
215
216
  for (let offset = skip;;) {
@@ -223,13 +224,14 @@ export async function readPages(connection, path, query, { top, skip, maxResults
223
224
  ids.add(item.id);
224
225
  }
225
226
  if (items.length > maxResults) {
226
- throw new Error("YouTrack selection exceeds --max-results; narrow the query or raise the budget.");
227
+ throw new Error("The selection exceeds --max-results; narrow the query or raise the limit.");
227
228
  }
228
229
  if (page.length < size)
229
230
  return items;
230
231
  if (items.length === before) {
231
- throw new Error("YouTrack repeated a full page; paging stopped without a complete selection.");
232
+ throw new Error("A full page repeated; paging stopped without a complete selection.");
232
233
  }
234
+ progress?.(`Read ${items.length} so far; reading the next page.`);
233
235
  offset += size;
234
236
  }
235
237
  }
@@ -242,7 +244,7 @@ function resourceArguments(values) {
242
244
  ? (items.pop() ?? {})
243
245
  : {};
244
246
  if (items.some((item) => typeof item !== "string")) {
245
- throw new Error("YouTrack resource arguments must be text.");
247
+ throw new Error("Resource arguments must be text.");
246
248
  }
247
249
  return { pathArguments: items, options };
248
250
  }
@@ -271,10 +273,10 @@ export async function currentUser(connection) {
271
273
  const value = await request(connection, "api/users/me", { fields: "id,login" }, "identity");
272
274
  const token = connection.token.trim();
273
275
  if (value === null || typeof value !== "object" ||
274
- !("id" in value) || typeof value.id !== "string" || !value.id.trim() ||
275
- !("login" in value) || typeof value.login !== "string" || !value.login.trim() ||
276
+ !("id" in value) || typeof value.id !== "string" ||
277
+ !("login" in value) || typeof value.login !== "string" ||
276
278
  scrubText(value.id, token) !== value.id || scrubText(value.login, token) !== value.login) {
277
- throw new Error("YouTrack returned an invalid identity response.");
279
+ throw new Error("Invalid identity response from YouTrack.");
278
280
  }
279
281
  return { id: value.id, login: value.login };
280
282
  }
@@ -286,7 +288,7 @@ export async function readUser(connection, options = {}) {
286
288
  export const listProjects = readCollectionAt("api/admin/projects", "id,name,shortName");
287
289
  function positiveBudget(value, label) {
288
290
  if (!Number.isSafeInteger(value) || value < 1) {
289
- throw new Error(`YouTrack ${label} must be a positive safe integer.`);
291
+ throw new Error(`--${label} must be a positive integer.`);
290
292
  }
291
293
  return value;
292
294
  }
@@ -305,29 +307,43 @@ export async function listIssues(connection, options = {}) {
305
307
  skip: Number(query.$skip),
306
308
  maxResults: positiveBudget(options.maxResults, "max-results"),
307
309
  budget,
310
+ progress: options.progress,
308
311
  });
309
312
  }
310
313
  export const getIssue = readObjectAt(issuePath, `${issueListFields},description,created`);
311
314
  export const listComments = readCollectionAt((issueID) => `${issuePath(issueID)}/comments`, commentFields);
312
- export function mutationBody(value, allowed) {
315
+ export function mutationBody(value) {
313
316
  if (value === null || typeof value !== "object" || Array.isArray(value) ||
314
317
  ![Object.prototype, null].includes(Object.getPrototypeOf(value))) {
315
- throw new Error("YouTrack body must be a JSON object.");
316
- }
317
- if (Object.keys(value).some((key) => !allowed.includes(key))) {
318
- throw new Error(`This YouTrack slice supports only these body fields: ${allowed.join(", ")}.`);
318
+ throw new Error("The body must be a JSON object.");
319
+ }
320
+ const ancestors = new Set();
321
+ function validate(item) {
322
+ if (item === null || typeof item === "string" || typeof item === "boolean")
323
+ return;
324
+ if (typeof item === "number" && Number.isFinite(item))
325
+ return;
326
+ if (typeof item !== "object" || ancestors.has(item) ||
327
+ (!Array.isArray(item) && ![Object.prototype, null].includes(Object.getPrototypeOf(item)))) {
328
+ throw new Error("The body must contain JSON values.");
329
+ }
330
+ ancestors.add(item);
331
+ for (const child of Array.isArray(item) ? item : Object.values(item))
332
+ validate(child);
333
+ ancestors.delete(item);
319
334
  }
335
+ validate(value);
320
336
  return value;
321
337
  }
322
338
  export function narrative(value, label) {
323
- if (typeof value !== "string" || !value.trim()) {
324
- throw new Error(`YouTrack ${label} must be nonempty text.`);
339
+ if (typeof value !== "string") {
340
+ throw new Error(`The ${label} must be text.`);
325
341
  }
326
342
  return value;
327
343
  }
328
344
  export function nullableText(value, label) {
329
345
  if (value !== null && typeof value !== "string") {
330
- throw new Error(`YouTrack ${label} must be text or null.`);
346
+ throw new Error(`The ${label} must be text or null.`);
331
347
  }
332
348
  return value;
333
349
  }
@@ -349,14 +365,15 @@ export async function uploadObjectCollection(connection, path, body, projection)
349
365
  return null;
350
366
  }
351
367
  if (!Array.isArray(value)) {
352
- throw new Error("YouTrack returned an invalid upload collection response.");
368
+ throw new Error("Invalid upload collection response from YouTrack.");
353
369
  }
354
370
  return value.map((item) => object(scrub(item, connection.token.trim())));
355
371
  }
356
372
  export async function addComment(connection, issueID, input) {
357
- const body = mutationBody(input, ["text"]);
373
+ const body = mutationBody(input);
358
374
  return mutate(connection, `${issuePath(issueID)}/comments`, {
359
- text: narrative(body.text, "text"),
375
+ ...body,
376
+ ...(Object.hasOwn(body, "text") ? { text: nullableText(body.text, "text") } : {}),
360
377
  }, commentFields);
361
378
  }
362
379
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"field-catalog-commands.d.ts","sourceRoot":"","sources":["../../src/field-catalog-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAgBxE,eAAO,MAAM,wBAAwB,EAAE,SAAS,iBAAiB,EAQhE,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,SAAS,iBAAiB,EAyClE,CAAC"}
1
+ {"version":3,"file":"field-catalog-commands.d.ts","sourceRoot":"","sources":["../../src/field-catalog-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAoBxE,eAAO,MAAM,wBAAwB,EAAE,SAAS,iBAAiB,EAQhE,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,SAAS,iBAAiB,EAiBlE,CAAC"}
@@ -1,30 +1,33 @@
1
1
  import { command } from "@eyeauras/cli-factory";
2
2
  import { pagedRead, projectedRead } from "./cli-support.js";
3
3
  import { getCustomField, getEnumBundle, getEnumValue, getStateBundle, getStateValue, listCustomFields, listEnumBundles, listEnumValues, listFieldTypes, listStateBundles, listStateValues, } from "./field-catalog.js";
4
+ import { fieldTable, namedTable } from "./presentation.js";
5
+ const bundleTable = namedTable("BUNDLE", "No bundles.");
6
+ const valueTable = namedTable("VALUE", "No values.");
4
7
  export const fieldCatalogRootCommands = [
5
- command("field", "Inspect global custom fields and their types", [
6
- pagedRead("list", "List one page of global custom fields", listCustomFields),
7
- projectedRead("get <field>", "Show a global custom field by database ID", getCustomField),
8
+ command("field", "Inspect custom fields and their types", [
9
+ pagedRead("list", "List custom fields", listCustomFields, fieldTable),
10
+ projectedRead("get <field>", "Show a custom field", getCustomField),
8
11
  command("type", "Inspect custom-field types", [
9
- pagedRead("list", "List one page of supported field types", listFieldTypes),
12
+ pagedRead("list", "List field types", listFieldTypes, namedTable("TYPE", "No field types.")),
10
13
  ]),
11
14
  ]),
12
15
  ];
13
16
  export const fieldCatalogBundleChildren = [
14
- command("enum", "Inspect enum bundles and their values", [
15
- pagedRead("list", "List one page of enum bundles without expanding values", listEnumBundles),
16
- projectedRead("get <bundle>", "Show an enum bundle by database ID without expanding values", getEnumBundle),
17
- command("value", "Inspect values in an enum bundle", [
18
- pagedRead("list <bundle>", "List one page of enum values, preserving archived entries", listEnumValues),
19
- projectedRead("get <bundle> <value>", "Show an enum value by database ID", getEnumValue),
17
+ command("enum", "Inspect enum bundles", [
18
+ pagedRead("list", "List enum bundles", listEnumBundles, bundleTable),
19
+ projectedRead("get <bundle>", "Show an enum bundle", getEnumBundle),
20
+ command("value", "Inspect enum values", [
21
+ pagedRead("list <bundle>", "List the bundle's values", listEnumValues, valueTable),
22
+ projectedRead("get <bundle> <value>", "Show an enum value", getEnumValue),
20
23
  ]),
21
24
  ]),
22
- command("state", "Inspect state bundles and their values", [
23
- pagedRead("list", "List one page of state bundles without expanding values", listStateBundles),
24
- projectedRead("get <bundle>", "Show a state bundle by database ID without expanding values", getStateBundle),
25
- command("value", "Inspect values in a state bundle", [
26
- pagedRead("list <bundle>", "List one page of state values, preserving archived entries", listStateValues),
27
- projectedRead("get <bundle> <value>", "Show a state value and whether it resolves an issue", getStateValue),
25
+ command("state", "Inspect state bundles", [
26
+ pagedRead("list", "List state bundles", listStateBundles, bundleTable),
27
+ projectedRead("get <bundle>", "Show a state bundle", getStateBundle),
28
+ command("value", "Inspect state values", [
29
+ pagedRead("list <bundle>", "List the bundle's values", listStateValues, valueTable),
30
+ projectedRead("get <bundle> <value>", "Show a state value", getStateValue),
28
31
  ]),
29
32
  ]),
30
33
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"field-catalog-commands.js","sourceRoot":"","sources":["../../src/field-catalog-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA0B,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EACL,cAAc,EACd,aAAa,EACb,YAAY,EACZ,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,CAAC,MAAM,wBAAwB,GAAiC;IACpE,OAAO,CAAC,OAAO,EAAE,8CAA8C,EAAE;QAC/D,SAAS,CAAC,MAAM,EAAE,uCAAuC,EAAE,gBAAgB,CAAC;QAC5E,aAAa,CAAC,aAAa,EAAE,2CAA2C,EAAE,cAAc,CAAC;QACzF,OAAO,CAAC,MAAM,EAAE,4BAA4B,EAAE;YAC5C,SAAS,CAAC,MAAM,EAAE,wCAAwC,EAAE,cAAc,CAAC;SAC5E,CAAC;KACH,CAAC;CACH,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAiC;IACtE,OAAO,CAAC,MAAM,EAAE,uCAAuC,EAAE;QACvD,SAAS,CAAC,MAAM,EAAE,wDAAwD,EAAE,eAAe,CAAC;QAC5F,aAAa,CACX,cAAc,EACd,6DAA6D,EAC7D,aAAa,CACd;QACD,OAAO,CAAC,OAAO,EAAE,kCAAkC,EAAE;YACnD,SAAS,CACP,eAAe,EACf,2DAA2D,EAC3D,cAAc,CACf;YACD,aAAa,CACX,sBAAsB,EACtB,mCAAmC,EACnC,YAAY,CACb;SACF,CAAC;KACH,CAAC;IACF,OAAO,CAAC,OAAO,EAAE,wCAAwC,EAAE;QACzD,SAAS,CAAC,MAAM,EAAE,yDAAyD,EAAE,gBAAgB,CAAC;QAC9F,aAAa,CACX,cAAc,EACd,6DAA6D,EAC7D,cAAc,CACf;QACD,OAAO,CAAC,OAAO,EAAE,kCAAkC,EAAE;YACnD,SAAS,CACP,eAAe,EACf,4DAA4D,EAC5D,eAAe,CAChB;YACD,aAAa,CACX,sBAAsB,EACtB,qDAAqD,EACrD,aAAa,CACd;SACF,CAAC;KACH,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"field-catalog-commands.js","sourceRoot":"","sources":["../../src/field-catalog-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA0B,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EACL,cAAc,EACd,aAAa,EACb,YAAY,EACZ,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE3D,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;AACxD,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAErD,MAAM,CAAC,MAAM,wBAAwB,GAAiC;IACpE,OAAO,CAAC,OAAO,EAAE,uCAAuC,EAAE;QACxD,SAAS,CAAC,MAAM,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,UAAU,CAAC;QACrE,aAAa,CAAC,aAAa,EAAE,qBAAqB,EAAE,cAAc,CAAC;QACnE,OAAO,CAAC,MAAM,EAAE,4BAA4B,EAAE;YAC5C,SAAS,CAAC,MAAM,EAAE,kBAAkB,EAAE,cAAc,EAAE,UAAU,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;SAC7F,CAAC;KACH,CAAC;CACH,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAiC;IACtE,OAAO,CAAC,MAAM,EAAE,sBAAsB,EAAE;QACtC,SAAS,CAAC,MAAM,EAAE,mBAAmB,EAAE,eAAe,EAAE,WAAW,CAAC;QACpE,aAAa,CAAC,cAAc,EAAE,qBAAqB,EAAE,aAAa,CAAC;QACnE,OAAO,CAAC,OAAO,EAAE,qBAAqB,EAAE;YACtC,SAAS,CAAC,eAAe,EAAE,0BAA0B,EAAE,cAAc,EAAE,UAAU,CAAC;YAClF,aAAa,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,YAAY,CAAC;SAC1E,CAAC;KACH,CAAC;IACF,OAAO,CAAC,OAAO,EAAE,uBAAuB,EAAE;QACxC,SAAS,CAAC,MAAM,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,WAAW,CAAC;QACtE,aAAa,CAAC,cAAc,EAAE,qBAAqB,EAAE,cAAc,CAAC;QACpE,OAAO,CAAC,OAAO,EAAE,sBAAsB,EAAE;YACvC,SAAS,CAAC,eAAe,EAAE,0BAA0B,EAAE,eAAe,EAAE,UAAU,CAAC;YACnF,aAAa,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,aAAa,CAAC;SAC3E,CAAC;KACH,CAAC;CACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"group-directory-commands.d.ts","sourceRoot":"","sources":["../../src/group-directory-commands.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,0BAA0B,qDAoBtC,CAAC;AAEF,eAAO,MAAM,6BAA6B,qDA2BzC,CAAC"}
1
+ {"version":3,"file":"group-directory-commands.d.ts","sourceRoot":"","sources":["../../src/group-directory-commands.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,0BAA0B,qDAoBtC,CAAC;AAEF,eAAO,MAAM,6BAA6B,qDAmBzC,CAAC"}
@@ -1,36 +1,37 @@
1
1
  import { command } from "@eyeauras/cli-factory";
2
2
  import { pagedRead, projectedRead, readCommand, pageOptions, readOptions } from "./cli-support.js";
3
3
  import { getGroup, getProjectTeam, listGroupMembers, listGroups, listProjectTeamGroups, listProjectTeamUsers, listSubgroups, } from "./group-directory.js";
4
+ import { groupRecord, groupTable, userTable, withView } from "./presentation.js";
4
5
  const memberOptions = [
5
6
  ...pageOptions,
6
- { flags: "--direct", description: "Only directly added users; exclude inherited membership" },
7
+ { flags: "--direct", description: "Directly added users only" },
7
8
  ];
8
9
  export const groupDirectoryRootCommands = [
9
- command("group", "Inspect user groups and membership", [
10
- pagedRead("list", "List one page of visible groups without expanding members", listGroups),
11
- projectedRead("get <group>", "Read a group by database ID without expanding members", getGroup),
12
- command("member", "Inspect direct or inherited group members", [
13
- readCommand("list <group>", "List one page of members, including inherited users unless --direct is set", async (connection, { args, options }, context) => listGroupMembers(connection, args.group, {
10
+ command("group", "Inspect user groups", [
11
+ pagedRead("list", "List groups", listGroups, groupTable),
12
+ projectedRead("get <group>", "Show a group", getGroup, groupRecord),
13
+ command("member", "Inspect group members", [
14
+ withView(userTable, readCommand("list <group>", "List members, including inherited ones", async (connection, { args, options }, context) => listGroupMembers(connection, args.group, {
14
15
  ...readOptions(options),
15
16
  direct: options.direct === true,
16
- }), memberOptions),
17
+ }), memberOptions)),
17
18
  ]),
18
- command("subgroup", "Inspect nested groups without recursive traversal", [
19
- pagedRead("list <group>", "List one page of immediate subgroups", listSubgroups),
19
+ command("subgroup", "Inspect nested groups", [
20
+ pagedRead("list <group>", "List the immediate subgroups", listSubgroups, groupTable),
20
21
  ]),
21
22
  ]),
22
23
  ];
23
24
  export const groupDirectoryProjectChildren = [
24
- command("team", "Inspect project teams (YouTrack 2026.1+)", [
25
- projectedRead("get <project>", "Read team identity and member count without expanding membership", getProjectTeam),
26
- command("group", "Inspect groups added to the project team", [
27
- pagedRead("list <project>", "List one page of team groups without expanding their users", listProjectTeamGroups),
25
+ command("team", "Inspect the project team (YouTrack 2026.1+)", [
26
+ projectedRead("get <project>", "Show the team", getProjectTeam, groupRecord),
27
+ command("group", "Inspect the team's groups", [
28
+ pagedRead("list <project>", "List the team's groups", listProjectTeamGroups, groupTable),
28
29
  ]),
29
- command("user", "Inspect direct or inherited project-team users", [
30
- readCommand("list <project>", "List one page of team users, including group members unless --direct is set", async (connection, { args, options }, context) => listProjectTeamUsers(connection, args.project, {
30
+ command("user", "Inspect the team's users", [
31
+ withView(userTable, readCommand("list <project>", "List team users, including group members", async (connection, { args, options }, context) => listProjectTeamUsers(connection, args.project, {
31
32
  ...readOptions(options),
32
33
  direct: options.direct === true,
33
- }), memberOptions),
34
+ }), memberOptions)),
34
35
  ]),
35
36
  ]),
36
37
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"group-directory-commands.js","sourceRoot":"","sources":["../../src/group-directory-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACnG,OAAO,EACL,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,qBAAqB,EACrB,oBAAoB,EACpB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAE9B,MAAM,aAAa,GAAG;IACpB,GAAG,WAAW;IACd,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,yDAAyD,EAAE;CAC9F,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,OAAO,CAAC,OAAO,EAAE,oCAAoC,EAAE;QACrD,SAAS,CAAC,MAAM,EAAE,2DAA2D,EAAE,UAAU,CAAC;QAC1F,aAAa,CAAC,aAAa,EAAE,uDAAuD,EAAE,QAAQ,CAAC;QAC/F,OAAO,CAAC,QAAQ,EAAE,2CAA2C,EAAE;YAC7D,WAAW,CACT,cAAc,EACd,4EAA4E,EAC5E,KAAK,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CAC/C,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE;gBACvC,GAAG,WAAW,CAAC,OAAO,CAAC;gBACvB,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI;aAChC,CAAC,EACJ,aAAa,CACd;SACF,CAAC;QACF,OAAO,CAAC,UAAU,EAAE,mDAAmD,EAAE;YACvE,SAAS,CAAC,cAAc,EAAE,sCAAsC,EAAE,aAAa,CAAC;SACjF,CAAC;KACH,CAAC;CACH,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,OAAO,CAAC,MAAM,EAAE,0CAA0C,EAAE;QAC1D,aAAa,CACX,eAAe,EACf,kEAAkE,EAClE,cAAc,CACf;QACD,OAAO,CAAC,OAAO,EAAE,0CAA0C,EAAE;YAC3D,SAAS,CACP,gBAAgB,EAChB,4DAA4D,EAC5D,qBAAqB,CACtB;SACF,CAAC;QACF,OAAO,CAAC,MAAM,EAAE,gDAAgD,EAAE;YAChE,WAAW,CACT,gBAAgB,EAChB,6EAA6E,EAC7E,KAAK,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CAC/C,oBAAoB,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE;gBAC7C,GAAG,WAAW,CAAC,OAAO,CAAC;gBACvB,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI;aAChC,CAAC,EACJ,aAAa,CACd;SACF,CAAC;KACH,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"group-directory-commands.js","sourceRoot":"","sources":["../../src/group-directory-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACnG,OAAO,EACL,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,qBAAqB,EACrB,oBAAoB,EACpB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEjF,MAAM,aAAa,GAAG;IACpB,GAAG,WAAW;IACd,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,2BAA2B,EAAE;CAChE,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,OAAO,CAAC,OAAO,EAAE,qBAAqB,EAAE;QACtC,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,CAAC;QACxD,aAAa,CAAC,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,CAAC;QACnE,OAAO,CAAC,QAAQ,EAAE,uBAAuB,EAAE;YACzC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAC7B,cAAc,EACd,wCAAwC,EACxC,KAAK,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CAC/C,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE;gBACvC,GAAG,WAAW,CAAC,OAAO,CAAC;gBACvB,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI;aAChC,CAAC,EACJ,aAAa,CACd,CAAC;SACH,CAAC;QACF,OAAO,CAAC,UAAU,EAAE,uBAAuB,EAAE;YAC3C,SAAS,CAAC,cAAc,EAAE,8BAA8B,EAAE,aAAa,EAAE,UAAU,CAAC;SACrF,CAAC;KACH,CAAC;CACH,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,OAAO,CAAC,MAAM,EAAE,6CAA6C,EAAE;QAC7D,aAAa,CAAC,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,CAAC;QAC5E,OAAO,CAAC,OAAO,EAAE,2BAA2B,EAAE;YAC5C,SAAS,CAAC,gBAAgB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,UAAU,CAAC;SACzF,CAAC;QACF,OAAO,CAAC,MAAM,EAAE,0BAA0B,EAAE;YAC1C,QAAQ,CAAC,SAAS,EAAE,WAAW,CAC7B,gBAAgB,EAChB,0CAA0C,EAC1C,KAAK,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CAC/C,oBAAoB,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE;gBAC7C,GAAG,WAAW,CAAC,OAAO,CAAC;gBACvB,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI;aAChC,CAAC,EACJ,aAAa,CACd,CAAC;SACH,CAAC;KACH,CAAC;CACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"issue-attachments-commands.d.ts","sourceRoot":"","sources":["../../src/issue-attachments-commands.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,wBAAwB,qDAgCpC,CAAC"}
1
+ {"version":3,"file":"issue-attachments-commands.d.ts","sourceRoot":"","sources":["../../src/issue-attachments-commands.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,wBAAwB,qDAwBpC,CAAC"}
@@ -1,21 +1,22 @@
1
1
  import { command } from "@eyeauras/cli-factory";
2
- import { requiredText } from "./client.js";
2
+ import { inputFilePath } from "./client.js";
3
3
  import { attachmentDownloadCommand } from "./attachment-download-commands.js";
4
4
  import { pagedRead, projectedRead, updateCommand } from "./cli-support.js";
5
5
  import { getIssueAttachment, listIssueAttachments, uploadIssueAttachment, } from "./issue-attachments.js";
6
+ import { attachmentRecord, attachmentTable, uploadedAttachments, withView } from "./presentation.js";
6
7
  export const attachmentsIssueChildren = [
7
- command("attachments", "Inspect, upload or download one selected attachment", [
8
+ command("attachments", "Inspect, upload or download attachments", [
8
9
  attachmentDownloadCommand,
9
- pagedRead("list <issueID>", "List one page of attachment metadata without downloading files", listIssueAttachments),
10
- projectedRead("get <issueID> <attachmentID>", "Read attachment metadata without downloading its contents", getIssueAttachment),
11
- updateCommand("upload <issueID>", "Upload one selected regular file to an existing issue", async (connection, { args, options }, context) => uploadIssueAttachment(connection, args.issueID, String(options.file)), [
10
+ pagedRead("list <issueID>", "List attachments", listIssueAttachments, attachmentTable),
11
+ projectedRead("get <issueID> <attachmentID>", "Show an attachment", getIssueAttachment, attachmentRecord),
12
+ withView(uploadedAttachments, updateCommand("upload <issueID>", "Upload a file to the issue", async (connection, { args, options }, context) => uploadIssueAttachment(connection, args.issueID, String(options.file)), [
12
13
  {
13
14
  flags: "--file <path>",
14
- description: "Required explicit local input file; no copies or recursion",
15
+ description: "Local file to upload",
15
16
  required: true,
16
- parse: (value) => requiredText(value, "file path"),
17
+ parse: inputFilePath,
17
18
  },
18
- ]),
19
+ ])),
19
20
  ]),
20
21
  ];
21
22
  //# sourceMappingURL=issue-attachments-commands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"issue-attachments-commands.js","sourceRoot":"","sources":["../../src/issue-attachments-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,OAAO,CAAC,aAAa,EAAE,qDAAqD,EAAE;QAC5E,yBAAyB;QACzB,SAAS,CACP,gBAAgB,EAChB,gEAAgE,EAChE,oBAAoB,CACrB;QACD,aAAa,CACX,8BAA8B,EAC9B,2DAA2D,EAC3D,kBAAkB,CACnB;QACD,aAAa,CACX,kBAAkB,EAClB,uDAAuD,EACvD,KAAK,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CAC/C,qBAAqB,CACnB,UAAU,EACV,IAAI,CAAC,OAAO,EACZ,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CACrB,EACH;YACI;gBACE,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,4DAA4D;gBACzE,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC;aACnD;SACF,CACJ;KACF,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"issue-attachments-commands.js","sourceRoot":"","sources":["../../src/issue-attachments-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAErG,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,OAAO,CAAC,aAAa,EAAE,yCAAyC,EAAE;QAChE,yBAAyB;QACzB,SAAS,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,eAAe,CAAC;QACtF,aAAa,CAAC,8BAA8B,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,gBAAgB,CAAC;QACzG,QAAQ,CAAC,mBAAmB,EAAE,aAAa,CACzC,kBAAkB,EAClB,4BAA4B,EAC5B,KAAK,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CAC/C,qBAAqB,CACnB,UAAU,EACV,IAAI,CAAC,OAAO,EACZ,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CACrB,EACH;YACI;gBACE,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,sBAAsB;gBACnC,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,aAAa;aACrB;SACF,CACJ,CAAC;KACH,CAAC;CACH,CAAC"}
@@ -13,9 +13,11 @@ export declare function manifestRows(text: string, path: string): BatchRow[];
13
13
  * other write failures are uncertain and never enter the resubmittable failed-row manifest.
14
14
  */
15
15
  export declare function applyIssueBatch(connection: Connection, rows: readonly BatchRow[], options: {
16
- appDataDirectory: string;
16
+ cwd: string;
17
17
  continueOnError?: boolean;
18
18
  failedRows?: string;
19
+ /** One human-only line per failed row and every ten rows. */
20
+ progress?: (message: string) => void;
19
21
  }): Promise<{
20
22
  status: string;
21
23
  completed: number;
@@ -1 +1 @@
1
- {"version":3,"file":"issue-batch.d.ts","sourceRoot":"","sources":["../../src/issue-batch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmC,KAAK,UAAU,EAAE,KAAK,cAAc,EAAsB,MAAM,aAAa,CAAC;AACxH,OAAO,EAA8C,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIhG,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,CAAC;CACnB;AAsCD,sFAAsF;AACtF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,CA4BnE;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,SAAS,QAAQ,EAAE,EACzB,OAAO,EAAE;IAAE,gBAAgB,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;GAkDtF"}
1
+ {"version":3,"file":"issue-batch.d.ts","sourceRoot":"","sources":["../../src/issue-batch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmC,KAAK,UAAU,EAAE,KAAK,cAAc,EAAsB,MAAM,aAAa,CAAC;AACxH,OAAO,EAA8C,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIhG,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,CAAC;CACnB;AAsCD,sFAAsF;AACtF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,CA4BnE;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,SAAS,QAAQ,EAAE,EACzB,OAAO,EAAE;IACP,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;;;;;;;;GAsDF"}