@floh-solutions/pharos-cli 0.17.3 → 0.19.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.
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AA2B1D,OAAO,EAKL,KAAK,QAAQ,EAEd,MAAM,aAAa,CAAC;AAyBrB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,0QAMX,CAAC;AAkSX,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,gDAAgD;IAChD,SAAS,CAAC,EAAE,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IAChD,+EAA+E;IAC/E,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CAChC;AAED,wBAAsB,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAOhE"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AA2B1D,OAAO,EAKL,KAAK,QAAQ,EAEd,MAAM,aAAa,CAAC;AAyBrB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,0QAMX,CAAC;AAoSX,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,gDAAgD;IAChD,SAAS,CAAC,EAAE,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IAChD,+EAA+E;IAC/E,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CAChC;AAED,wBAAsB,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAOhE"}
package/dist/cli.js CHANGED
@@ -239,7 +239,9 @@ COMMANDS
239
239
  that reaches nobody and says so to no one.
240
240
  --top <n> items to scan for names (default 200)
241
241
 
242
- detach <id> <url-or-guid> Take a file off a work item. Needs --yes.
242
+ detach <id> <url-or-guid> Take a file off a work item. Needs --yes.
243
+ --name <file> …or name the file instead, the way \`download\`
244
+ does. Two files with one name REFUSE.
243
245
  Finds the attachment BY IDENTITY and removes it
244
246
  under a test op, because ADO removes by
245
247
  POSITION and a stale index cuts a different
@@ -402,76 +404,78 @@ async function dispatch(io, options) {
402
404
  comment: { type: "string" },
403
405
  "allow-oversize": { type: "boolean" },
404
406
  }
405
- : command === "image"
406
- ? {
407
- alt: { type: "string" },
408
- "allow-oversize": { type: "boolean" },
409
- }
410
- : command === "wiki"
407
+ : command === "detach"
408
+ ? { name: { type: "string" } }
409
+ : command === "image"
411
410
  ? {
412
- // **`CONTENT_OPTIONS` is spread in, and leaving it out broke four
413
- // tests.** Every other verb here has its own flags INSTEAD of the
414
- // text ones; `wiki` is the first that needs both, because
415
- // `wiki write` takes a body while `wiki image` and `wiki import`
416
- // take files and a destination.
417
- ...CONTENT_OPTIONS,
418
411
  alt: { type: "string" },
419
412
  "allow-oversize": { type: "boolean" },
420
- under: { type: "string" },
421
- // `wiki link|unlink <path> --item <id>` — repeatable, because the
422
- // point of the wiki-side direction is ten items in one command.
423
- // Declared for every wiki verb rather than only those two: the
424
- // option table is built before the subcommand is known.
425
- item: { type: "string", multiple: true },
426
- comment: { type: "string" },
427
- as: { type: "string" },
428
413
  }
429
- : command === "download"
414
+ : command === "wiki"
430
415
  ? {
431
- out: { type: "string" },
432
- name: { type: "string" },
433
- all: { type: "boolean" },
416
+ // **`CONTENT_OPTIONS` is spread in, and leaving it out broke four
417
+ // tests.** Every other verb here has its own flags INSTEAD of the
418
+ // text ones; `wiki` is the first that needs both, because
419
+ // `wiki write` takes a body while `wiki image` and `wiki import`
420
+ // take files and a destination.
421
+ ...CONTENT_OPTIONS,
422
+ alt: { type: "string" },
423
+ "allow-oversize": { type: "boolean" },
424
+ under: { type: "string" },
425
+ // `wiki link|unlink <path> --item <id>` — repeatable, because the
426
+ // point of the wiki-side direction is ten items in one command.
427
+ // Declared for every wiki verb rather than only those two: the
428
+ // option table is built before the subcommand is known.
429
+ item: { type: "string", multiple: true },
430
+ comment: { type: "string" },
431
+ as: { type: "string" },
434
432
  }
435
- : command === "types"
436
- ? { type: { type: "string" } }
437
- : command === "create"
438
- ? {
439
- title: { type: "string" },
440
- parent: { type: "string" },
441
- state: { type: "string" },
442
- priority: { type: "string" },
443
- assignee: { type: "string" },
444
- field: { type: "string", multiple: true },
445
- tag: { type: "string", multiple: true },
446
- ...CONTENT_OPTIONS,
447
- }
448
- : command === "link" || command === "unlink"
433
+ : command === "download"
434
+ ? {
435
+ out: { type: "string" },
436
+ name: { type: "string" },
437
+ all: { type: "boolean" },
438
+ }
439
+ : command === "types"
440
+ ? { type: { type: "string" } }
441
+ : command === "create"
449
442
  ? {
450
- ...Object.fromEntries(Object.keys(LINK_KINDS).map((kind) => [kind, { type: "string" }])),
451
- "wiki-page": { type: "string" },
452
- comment: { type: "string" },
443
+ title: { type: "string" },
444
+ parent: { type: "string" },
445
+ state: { type: "string" },
446
+ priority: { type: "string" },
447
+ assignee: { type: "string" },
448
+ field: { type: "string", multiple: true },
449
+ tag: { type: "string", multiple: true },
450
+ ...CONTENT_OPTIONS,
453
451
  }
454
- : command === "deleted"
455
- ? { top: { type: "string" } }
456
- : command === "history"
457
- ? { top: { type: "string" }, all: { type: "boolean" } }
458
- : command === "iterations" || command === "areas"
459
- ? { depth: { type: "string" } }
460
- : command === "fields"
461
- ? { type: { type: "string" }, constrained: { type: "boolean" } }
462
- : command === "hooks"
463
- ? {
464
- hub: { type: "string" },
465
- user: { type: "string" },
466
- password: { type: "string" },
467
- }
468
- : command === "setup"
452
+ : command === "link" || command === "unlink"
453
+ ? {
454
+ ...Object.fromEntries(Object.keys(LINK_KINDS).map((kind) => [kind, { type: "string" }])),
455
+ "wiki-page": { type: "string" },
456
+ comment: { type: "string" },
457
+ }
458
+ : command === "deleted"
459
+ ? { top: { type: "string" } }
460
+ : command === "history"
461
+ ? { top: { type: "string" }, all: { type: "boolean" } }
462
+ : command === "iterations" || command === "areas"
463
+ ? { depth: { type: "string" } }
464
+ : command === "fields"
465
+ ? { type: { type: "string" }, constrained: { type: "boolean" } }
466
+ : command === "hooks"
469
467
  ? {
470
- print: { type: "boolean" },
471
- stdin: { type: "boolean" },
472
- skill: { type: "boolean" },
468
+ hub: { type: "string" },
469
+ user: { type: "string" },
470
+ password: { type: "string" },
473
471
  }
474
- : CONTENT_OPTIONS;
472
+ : command === "setup"
473
+ ? {
474
+ print: { type: "boolean" },
475
+ stdin: { type: "boolean" },
476
+ skill: { type: "boolean" },
477
+ }
478
+ : CONTENT_OPTIONS;
475
479
  const { values, positionals } = parse(options.argv, { ...GLOBAL_OPTIONS, ...extras });
476
480
  if (values["version"] === true)
477
481
  return emitText(io, await version(options.cwd));
@@ -532,7 +536,7 @@ async function dispatch(io, options) {
532
536
  allowOversize: values["allow-oversize"] === true,
533
537
  });
534
538
  case "detach":
535
- return runDetach(io, session, rest);
539
+ return runDetach(io, session, rest, { name: asString(values["name"]) });
536
540
  case "people":
537
541
  return runPeople(io, session, rest, { top: top(values["top"]) });
538
542
  case "attach":
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAwB,MAAM,WAAW,CAAC;AAG5D,OAAO,EAAE,GAAG,IAAI,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,UAAU,EACV,YAAY,GACb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EACL,OAAO,EACP,QAAQ,EACR,WAAW,EACX,UAAU,GAGX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAIvC;;;;;;GAMG;AACH,MAAM,cAAc,GAAkB;IACpC,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IACzB,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;IACpC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAC9B,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAChC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IACvB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IACxB,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;IACrC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;CAC7B,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO;IAC3C,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ;IACnD,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;IACpE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ;IACjD,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM;CAC1B,CAAC;AAEX,gEAAgE;AAChE,MAAM,eAAe,GAAkB;IACrC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IACxB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IACxB,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;CAC3B,CAAC;AAEF,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qEAwQuD,oBAAoB;;;;;;;;;;;;;;;CAexF,CAAC;AAcF,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,OAAmB;IAC3C,MAAM,EAAE,GAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IAClE,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,EAAM,EAAE,OAAmB;IACjD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAE3E,8EAA8E;IAC9E,8EAA8E;IAC9E,mEAAmE;IACnE,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,MAAM,GACV,OAAO,KAAK,MAAM;QAChB,CAAC,CAAC;YACE,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACvC,mBAAmB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACxC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SAC7B;QACH,CAAC,CAAC,OAAO,KAAK,OAAO;YACnB,CAAC,CAAC;gBACE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,oEAAoE;gBACpE,oCAAoC;gBACpC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACxC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACvC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACxB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aACzB;YACL,CAAC,CAAC,OAAO,KAAK,QAAQ;gBACpB,CAAC,CAAC;oBACE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC5B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;oBACzC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACjC;gBACL,CAAC,CAAC,OAAO,KAAK,QAAQ;oBACpB,CAAC,CAAC;wBACE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC3B,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;qBACtC;oBACL,CAAC,CAAC,OAAO,KAAK,OAAO;wBACnB,CAAC,CAAC;4BACE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACvB,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;yBACtC;wBACL,CAAC,CAAC,OAAO,KAAK,MAAM;4BAClB,CAAC,CAAC;gCACE,kEAAkE;gCAClE,kEAAkE;gCAClE,0DAA0D;gCAC1D,iEAAiE;gCACjE,gCAAgC;gCAChC,GAAG,eAAe;gCAClB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCACvB,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gCACrC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCACzB,kEAAkE;gCAClE,gEAAgE;gCAChE,+DAA+D;gCAC/D,wDAAwD;gCACxD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;gCACxC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCAC3B,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;6BACvB;4BACL,CAAC,CAAC,OAAO,KAAK,UAAU;gCACtB,CAAC,CAAC;oCACE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oCACvB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oCACxB,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;iCACzB;gCACL,CAAC,CAAC,OAAO,KAAK,OAAO;oCACnB,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;oCAChC,CAAC,CAAC,OAAO,KAAK,QAAQ;wCACpB,CAAC,CAAC;4CACE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4CACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4CAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4CACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4CAC5B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4CAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;4CACzC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;4CACvC,GAAG,eAAe;yCACnB;wCACL,CAAC,CAAC,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,QAAQ;4CAC1C,CAAC,CAAC;gDACE,GAAG,MAAM,CAAC,WAAW,CACnB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAW,CAAC,CAAC,CAC3E;gDACD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gDAC/B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;6CAC5B;4CACL,CAAC,CAAC,OAAO,KAAK,SAAS;gDACrB,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gDAC/B,CAAC,CAAC,OAAO,KAAK,SAAS;oDACrB,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;oDACzD,CAAC,CAAC,OAAO,KAAK,YAAY,IAAI,OAAO,KAAK,OAAO;wDAC/C,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;wDACjC,CAAC,CAAC,OAAO,KAAK,QAAQ;4DACpB,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;4DAClE,CAAC,CAAC,OAAO,KAAK,OAAO;gEACnB,CAAC,CAAC;oEACE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oEACvB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oEACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iEAC7B;gEACH,CAAC,CAAC,OAAO,KAAK,OAAO;oEACrB,CAAC,CAAC;wEACE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;wEAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;wEAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;qEAC3B;oEACH,CAAC,CAAC,eAAe,CAAC;IAExB,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IAEtF,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI;QAAE,OAAO,QAAQ,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAChF,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAEjF,2EAA2E;IAC3E,uEAAuE;IACvE,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,QAAQ,CACb,EAAE,EACF,OAAO,CAAC,GAAG,EACX;YACE,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACpC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI;YAC/B,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI;YAC/B,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI;SAChC,EACD,OAAO,CAAC,SAAS,IAAI,YAAY,EACjC,OAAO,CAAC,MAAM,CACf,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;QAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,EAAE,IAAI,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACxD,2EAA2E;QAC3E,gCAAgC;QAChC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI;QAC3D,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI;QACvC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI;QACjC,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAElC,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,OAAO;YACV,OAAO,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE;gBAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI;gBAC7B,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACtC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAClC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAChC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAClC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC9B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC9B,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI;gBAC3B,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aAC/B,CAAC,CAAC;QAEL,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;gBAClC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAChC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACtC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACtC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAChC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAClC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;aAC3C,CAAC,CAAC;QAEL,KAAK,OAAO;YACV,OAAO,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE;gBAC9C,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5B,aAAa,EAAE,MAAM,CAAC,gBAAgB,CAAC,KAAK,IAAI;aACjD,CAAC,CAAC;QAEL,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAEtC,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAEnE,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE;gBAC/C,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACpC,aAAa,EAAE,MAAM,CAAC,gBAAgB,CAAC,KAAK,IAAI;aACjD,CAAC,CAAC;QAEL,KAAK,UAAU;YACb,OAAO,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE;gBACjD,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC9B,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI;aAC5B,CAAC,CAAC;QAEL,KAAK,OAAO;YACV,OAAO,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;QAEnE,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAEhC,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;gBAClC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAChC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;gBACjD,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAChC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACtC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACtC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAClC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9B,WAAW,EAAE,MAAM,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;aAC5C,CAAC,CAAC;QAEL,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QAEzD,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QAE3D,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAEtC,KAAK,SAAS;YACZ,OAAO,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAEvC,KAAK,SAAS;YACZ,OAAO,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAEpE,KAAK,SAAS;YACZ,OAAO,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;gBACnC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE;gBAC7B,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI;aAC5B,CAAC,CAAC;QAEL,KAAK,YAAY;YACf,OAAO,iBAAiB,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE;gBAClD,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;aACjC,CAAC,CAAC;QAEL,KAAK,OAAO;YACV,OAAO,iBAAiB,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEvF,KAAK,OAAO;YACV,OAAO,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAEnC,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE;gBAC5B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC9B,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,KAAK,IAAI;aAC5C,CAAC,CAAC;QAEL,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;gBAChC,WAAW,EAAE,MAAM,CAAC,iBAAiB,CAAC,KAAK,IAAI;gBAC/C,YAAY,EAAE,MAAM,CAAC,kBAAkB,CAAC,KAAK,IAAI;gBACjD,aAAa,EAAE,MAAM,CAAC,mBAAmB,CAAC,KAAK,IAAI;gBACnD,kEAAkE;gBAClE,oEAAoE;gBACpE,6DAA6D;gBAC7D,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;gBAC9D,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI;aACpC,CAAC,CAAC;QAEL,KAAK,MAAM;YACT,sEAAsE;YACtE,wEAAwE;YACxE,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO;gBAAE,OAAO,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC/C,OAAO,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oBAC7C,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;wBAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;4BACvB,MAAM,UAAU,CAAC,IAAI,GAAG,0BAA0B,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;wBACtE,CAAC;wBACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;oBACrB,CAAC,CAAC;oBACF,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACpC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;iBAC7B,CAAC,CAAC;YACL,CAAC;YACD,0EAA0E;YAC1E,uEAAuE;YACvE,sEAAsE;YACtE,+CAA+C;YAC/C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;gBACxB,OAAO,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oBAC3D,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC5B,aAAa,EAAE,MAAM,CAAC,gBAAgB,CAAC,KAAK,IAAI;iBACjD,CAAC,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACzB,OAAO,aAAa,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oBAC5D,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAChC,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iBAC3B,CAAC,CAAC;YACL,CAAC;YACD,OAAO,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;gBAChC,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;aACxC,CAAC,CAAC;QAEL,KAAK,SAAS;YACZ,OAAO,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;gBACnC,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;aACrC,CAAC,CAAC;QAEL,KAAK,OAAO;YACV,OAAO,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;gBACjC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC9B,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;aACvC,CAAC,CAAC;QAEL;YACE,MAAM,UAAU,CACd,oBAAoB,OAAO,UAAU,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAC9F,EAAE,QAAQ,EAAE,QAAQ,EAAE,CACvB,CAAC;IACN,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,IAAI,CAAC,OAAmB;IACrC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC;QAChC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;QACnC,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;KACpE,CAAC,CAAC;IACH,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,IAAiB,CAAC;AACnD,CAAC;AAED,SAAS,KAAK,CACZ,IAAuB,EACvB,aAA4B;IAE5B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CAAC;YACvB,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;YACf,OAAO,EAAE,aAAa;YACtB,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAiC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;IAC/F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,2EAA2E;QAC3E,gEAAgE;QAChE,MAAM,UAAU,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED,uEAAuE;AACvE,KAAK,UAAU,OAAO,CACpB,OAAmB,EACnB,MAA+B;IAE/B,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC;IACrF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,UAAU,CAAC,mDAAmD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChG,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAEpC,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAE5E,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO,CAAC,OAAO,CAAC,SAAS,IAAI,YAAY,CAAC,EAAE,CAAC;IAC/C,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,YAAY;IACzB,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK;QAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAAC,GAAY;IAC7B,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,oBAAoB,CAAC;IACzD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,UAAU,CACd,wDAAwD,GAAG,uBAAuB,CACnF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,GAAW;IAChC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;QACrF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAyB,CAAC;QAC5D,OAAO,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,wEAAwE;QACxE,KAAK,GAAG,CAAC;QACT,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC;AAED,iFAAiF;AACjF,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;AACzF,CAAC;AAED;;;;;;GAMG;AACH,6CAA6C;AAC7C,SAAS,WAAW,CAAC,GAAY,EAAE,IAAY;IAC7C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAC5D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,MAAM,UAAU,CAAC,GAAG,IAAI,+BAA+B,GAAG,IAAI,CAAC,CAAC;IACxF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAED,8EAA8E;AAC9E,SAAS,WAAW,CAAC,MAA+B;IAKlD,MAAM,KAAK,GAAuC,EAAE,CAAC;IACrD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,6EAA6E;IAC7E,8EAA8E;IAC9E,yEAAyE;IACzE,0EAA0E;IAC1E,gCAAgC;IAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;IAE3C,8EAA8E;IAC9E,8EAA8E;IAC9E,2BAA2B;IAC3B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;QAC7E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,UAAU,CACd,mDAAmD,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CACrG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED,qEAAqE;AACrE,SAAS,SAAS,CAAC,GAAY;IAC7B,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,UAAU,CAAC,wDAAwD,GAAG,IAAI,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,SAAS,CAAC,GAAY,EAAE,QAAiB;IAChD,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,UAAU,CAAC,mDAAmD,GAAG,IAAI,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,UAAU,CAAC,2BAA2B,KAAK,+BAA+B,EAAE;YAChF,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,CAAC;SACX,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,GAAG,CAAC,GAAY;IACvB,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,UAAU,CAAC,iDAAiD,GAAG,IAAI,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -24,11 +24,34 @@ import { type Session } from "../session.js";
24
24
  * it is matched on its URL. That is why the argument is the url `pharos task`
25
25
  * prints, or the bare GUID it ends with.
26
26
  *
27
+ * ## …or the file NAME (#747)
28
+ *
29
+ * `download` gained `--name <file>` when it learned to take a work item id, and
30
+ * for a while `detach` did not — so the two verbs that act on the same
31
+ * attachment took different things, and the one you reach for after reading
32
+ * `pharos task --pretty` was the one that could not take what it shows you.
33
+ * That asymmetry was introduced by the fix for #740, which is the worst kind:
34
+ * created by a change, invisible to it.
35
+ *
36
+ * `--name` is a FLAG here and not a positional, deliberately. `detach <id>
37
+ * <something>` already means a url-or-guid, and letting a name into that slot
38
+ * would make `pharos detach 41 3f2a…` ambiguous the moment somebody attaches a
39
+ * file whose name looks like a GUID.
40
+ *
41
+ * **A name is not an identity** — attachments are immutable, so attaching the
42
+ * same file twice makes two of them. Two matches REFUSE with both GUIDs rather
43
+ * than removing whichever sorts first. That matters more here than it does on
44
+ * `download`: this one is the destructive verb.
45
+ *
27
46
  * **The bytes are not deleted.** This removes the file FROM THE ITEM; the
28
47
  * attachment itself stays where it was uploaded. That is Azure DevOps'
29
48
  * behaviour, not a choice made here — and it is why this is recoverable by
30
49
  * re-attaching the same url, which is also why it needs `--yes` and not a
31
50
  * paragraph of warning.
32
51
  */
33
- export declare function runDetach(io: Io, session: Session, positionals: readonly string[]): Promise<ExitCode>;
52
+ export interface DetachCommandOptions {
53
+ /** Which attachment, by file name — the alternative to a url or a GUID. */
54
+ name: string | undefined;
55
+ }
56
+ export declare function runDetach(io: Io, session: Session, positionals: readonly string[], options?: DetachCommandOptions): Promise<ExitCode>;
34
57
  //# sourceMappingURL=detach.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"detach.d.ts","sourceRoot":"","sources":["../../src/commands/detach.ts"],"names":[],"mappings":"AAOA,OAAO,EAAuC,KAAK,QAAQ,EAAE,KAAK,EAAE,EAAE,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAGtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,SAAS,CAC7B,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,SAAS,MAAM,EAAE,GAC7B,OAAO,CAAC,QAAQ,CAAC,CAwDnB"}
1
+ {"version":3,"file":"detach.d.ts","sourceRoot":"","sources":["../../src/commands/detach.ts"],"names":[],"mappings":"AASA,OAAO,EAAuC,KAAK,QAAQ,EAAE,KAAK,EAAE,EAAE,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAItD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,MAAM,WAAW,oBAAoB;IACnC,2EAA2E;IAC3E,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AAED,wBAAsB,SAAS,CAC7B,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,SAAS,MAAM,EAAE,EAC9B,OAAO,GAAE,oBAA0C,GAClD,OAAO,CAAC,QAAQ,CAAC,CAoEnB"}
@@ -1,51 +1,29 @@
1
- import { RelationNotFoundError, removeRelationPatch, } from "@floh-solutions/ado-core";
1
+ import { RelationNotFoundError, attachmentsOf, removeRelationPatch, } from "@floh-solutions/ado-core";
2
2
  import { emit, emitText, refusal, usageError } from "../output.js";
3
3
  import { approve } from "../session.js";
4
+ import { summarise } from "./discover.js";
4
5
  import { workItemId } from "./update.js";
5
- /**
6
- * `pharos detach <id> <url-or-guid>` — take a file off a work item.
7
- *
8
- * ## The gap this closes
9
- *
10
- * The CLI could attach a file from the beginning and could never un-attach one,
11
- * so a mistake was permanent from a shell. The macOS app gained the verb in
12
- * #642; this is the same operation.
13
- *
14
- * ## The trap, which `unlink` already solves
15
- *
16
- * **An attachment IS a relation**, so removing one is `op remove` on
17
- * `/relations/{index}` — and Azure DevOps removes BY POSITION. An index worked
18
- * out from a stale read cuts whatever has since moved into that slot, which
19
- * could be a parent link or an artifact link, and the request still succeeds.
20
- *
21
- * So this reuses exactly what `unlink` uses: read the item, find the relation by
22
- * identity, and send the removal under a `test` op on the revision it was found
23
- * in. If the attachment is not there it REFUSES (exit 3) rather than guessing.
24
- *
25
- * An `AttachedFile` is a **resource** link — it has no target work item id — so
26
- * it is matched on its URL. That is why the argument is the url `pharos task`
27
- * prints, or the bare GUID it ends with.
28
- *
29
- * **The bytes are not deleted.** This removes the file FROM THE ITEM; the
30
- * attachment itself stays where it was uploaded. That is Azure DevOps'
31
- * behaviour, not a choice made here — and it is why this is recoverable by
32
- * re-attaching the same url, which is also why it needs `--yes` and not a
33
- * paragraph of warning.
34
- */
35
- export async function runDetach(io, session, positionals) {
6
+ export async function runDetach(io, session, positionals, options = { name: undefined }) {
36
7
  const id = workItemId(positionals[0], "Which work item? `pharos detach <id> <attachment>`.");
37
8
  const given = positionals[1];
38
- if (given === undefined) {
39
- throw usageError(`Which attachment? \`pharos detach ${id} <url-or-guid>\` `
40
- + "`pharos task <id>` prints the url of every one.");
9
+ if (given === undefined && options.name === undefined) {
10
+ throw usageError(`Which attachment? \`pharos detach ${id} --name <file>\`, or `
11
+ + `\`pharos detach ${id} <url-or-guid>\` — \`pharos task ${id} --pretty\` prints the name `
12
+ + "and the GUID of every one.");
13
+ }
14
+ if (given !== undefined && options.name !== undefined) {
15
+ throw usageError("Name it once: `--name <file>` OR a url-or-guid, not both.", { given, name: options.name });
41
16
  }
42
17
  const item = await session.client.workItems.get(id, { expand: "relations" });
43
18
  const relations = relationsOf(item);
44
- const found = matchAttachment(relations, given);
19
+ const attachments = attachmentsOf(relations);
20
+ const found = options.name === undefined
21
+ ? matchAttachment(relations, given)
22
+ : matchByName(id, attachments, options.name);
45
23
  if (found === undefined) {
46
24
  throw refusal(`Work item ${id} has no attachment matching "${given}". `
47
25
  + "Nothing was removed — removing by position instead of by identity would have cut a "
48
- + "different link and reported success.", { id, given, attachments: attachmentSummary(relations) });
26
+ + "different link and reported success.", { id, given, attachments: summarise(attachments) });
49
27
  }
50
28
  const decision = approve(io, session, {
51
29
  what: `detach "${found.name}" from work item ${id}`,
@@ -101,14 +79,23 @@ function matchAttachment(relations, given) {
101
79
  }
102
80
  return undefined;
103
81
  }
104
- /** What IS attached, so a refusal can be acted on rather than only read. */
105
- function attachmentSummary(relations) {
106
- return relations
107
- .filter((relation) => relation.rel === "AttachedFile")
108
- .map((relation) => ({
109
- name: relation.attributes?.["name"] ?? "",
110
- url: relation.url ?? "",
111
- }));
82
+ /**
83
+ * Which attachment a `--name` means.
84
+ *
85
+ * Refuses rather than choosing when a name is ambiguous — and refuses with both
86
+ * GUIDs attached, so the next call is one edit away rather than another read.
87
+ * Exit 2 and not 3: a name matching two files is the CALL being wrong, which no
88
+ * amount of `--yes` makes right.
89
+ */
90
+ function matchByName(id, attachments, wanted) {
91
+ const matches = attachments.filter((attachment) => attachment.name.toLowerCase() === wanted.toLowerCase());
92
+ if (matches.length > 1) {
93
+ throw usageError(`Work item ${id} has ${matches.length} attachments called "${wanted}". Attachments are `
94
+ + "immutable, so attaching the same file twice makes two of them — pass one of these "
95
+ + "GUIDs instead of the name. Nothing was removed.", { id, given: wanted, matches: summarise(matches) });
96
+ }
97
+ const chosen = matches[0];
98
+ return chosen === undefined ? undefined : { url: chosen.url, name: chosen.name };
112
99
  }
113
100
  function relationsOf(item) {
114
101
  const relations = item.relations;
@@ -1 +1 @@
1
- {"version":3,"file":"detach.js","sourceRoot":"","sources":["../../src/commands/detach.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detach.js","sourceRoot":"","sources":["../../src/commands/detach.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type AttachmentSummary, type WorkItem } from "@floh-solutions/ado-core";
1
2
  import { type ExitCode, type Io } from "../output.js";
2
3
  import type { Session } from "../session.js";
3
4
  /**
@@ -20,6 +21,14 @@ export interface DownloadCommandOptions {
20
21
  /** Every attachment on a work item, into the `--out` directory. */
21
22
  all: boolean;
22
23
  }
24
+ /**
25
+ * The attachment shape comes from `ado-core` now (#748).
26
+ *
27
+ * It used to be declared here with `attachmentId` where the client called it
28
+ * `id`, and this file carried its own copy of the GUID regex. Both are gone: a
29
+ * relation is parsed in exactly one place.
30
+ */
31
+ type Attachment = AttachmentSummary;
23
32
  /**
24
33
  * `pharos download <item-id|guid|url>` — read an attachment back.
25
34
  *
@@ -61,6 +70,20 @@ export interface DownloadCommandOptions {
61
70
  * cannot pick the wrong one.
62
71
  */
63
72
  export declare function runDownload(io: Io, session: Session, cwd: string, positionals: readonly string[], options: DownloadCommandOptions): Promise<ExitCode>;
73
+ /** The attached files on a work item read with `expand: "relations"`. */
74
+ export declare function attachmentsOfItem(item: WorkItem): Attachment[];
75
+ /**
76
+ * What a refusal carries, so the next call can be right without another read.
77
+ *
78
+ * `attachmentId` rather than `id`: this is the name of the flag-less argument
79
+ * `download` and `detach` take, and an error that names its own field after the
80
+ * thing you pass it needs no explaining.
81
+ */
82
+ export declare function summarise(attachments: readonly Attachment[]): {
83
+ name: string;
84
+ attachmentId: string;
85
+ size: number | null;
86
+ }[];
64
87
  export interface TypesCommandOptions {
65
88
  type: string | undefined;
66
89
  }
@@ -91,4 +114,5 @@ export declare function runTypes(io: Io, session: Session, options: TypesCommand
91
114
  * situation where somebody is trying to work out what is misconfigured.
92
115
  */
93
116
  export declare function runWhoami(io: Io, session: Session): Promise<ExitCode>;
117
+ export {};
94
118
  //# sourceMappingURL=discover.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../src/commands/discover.ts"],"names":[],"mappings":"AAKA,OAAO,EAA8B,KAAK,QAAQ,EAAE,KAAK,EAAE,EAAE,MAAM,cAAc,CAAC;AAClF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C;;;;;;;;;;;;;GAaG;AAIH,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,mEAAmE;IACnE,GAAG,EAAE,OAAO,CAAC;CACd;AAaD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAsB,WAAW,CAC/B,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,SAAS,MAAM,EAAE,EAC9B,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,QAAQ,CAAC,CA8BnB;AA4ND,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,QAAQ,CAC5B,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,QAAQ,CAAC,CAuCnB;AAID;;;;;;;;;;;GAWG;AACH,wBAAsB,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAiB3E"}
1
+ {"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../src/commands/discover.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAA8B,KAAK,QAAQ,EAAE,KAAK,EAAE,EAAE,MAAM,cAAc,CAAC;AAClF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C;;;;;;;;;;;;;GAaG;AAIH,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,mEAAmE;IACnE,GAAG,EAAE,OAAO,CAAC;CACd;AAED;;;;;;GAMG;AACH,KAAK,UAAU,GAAG,iBAAiB,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAsB,WAAW,CAC/B,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,SAAS,MAAM,EAAE,EAC9B,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,QAAQ,CAAC,CA8BnB;AA+JD,yEAAyE;AACzE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CAE9D;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,WAAW,EAAE,SAAS,UAAU,EAAE,GACjC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,CAM/D;AAgCD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,QAAQ,CAC5B,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,QAAQ,CAAC,CAuCnB;AAID;;;;;;;;;;;GAWG;AACH,wBAAsB,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAiB3E"}
@@ -1,9 +1,7 @@
1
1
  import { mkdir, writeFile } from "node:fs/promises";
2
2
  import { basename, extname, resolve } from "node:path";
3
- import { authenticatedIdentity } from "@floh-solutions/ado-core";
3
+ import { attachmentGuid, attachmentsOf, authenticatedIdentity, } from "@floh-solutions/ado-core";
4
4
  import { emit, emitText, usageError } from "../output.js";
5
- /** `wit/attachments/{guid}` — the tail of what `pharos task` prints. */
6
- const ATTACHMENT_GUID = /attachments\/([0-9a-f-]{36})/i;
7
5
  /**
8
6
  * `pharos download <item-id|guid|url>` — read an attachment back.
9
7
  *
@@ -57,7 +55,7 @@ export async function runDownload(io, session, cwd, positionals, options) {
57
55
  throw usageError("`--all` needs a WORK ITEM id — it means every attachment on that item. "
58
56
  + `"${given}" names a single attachment, which is already one file.`, { given });
59
57
  }
60
- const id = ATTACHMENT_GUID.exec(given)?.[1] ?? given;
58
+ const id = attachmentGuid(given);
61
59
  if (!/^[0-9a-f-]{36}$/i.test(id)) {
62
60
  throw usageError(`"${given}" is neither a work item id, an attachment GUID, nor a url containing one.`, { given, expected: "a work item id, a GUID, or .../_apis/wit/attachments/<guid>" });
63
61
  }
@@ -72,7 +70,7 @@ export async function runDownload(io, session, cwd, positionals, options) {
72
70
  */
73
71
  async function fromWorkItem(io, session, cwd, id, options) {
74
72
  const item = await session.client.workItems.get(id, { expand: "relations" });
75
- const attachments = attachmentsOf(item);
73
+ const attachments = attachmentsOfItem(item);
76
74
  if (options.all) {
77
75
  if (options.out === undefined) {
78
76
  throw usageError(`\`--all\` writes files, so it needs \`--out <dir>\`: \`pharos download ${id} --all --out `
@@ -102,7 +100,7 @@ async function fromWorkItem(io, session, cwd, id, options) {
102
100
  + "GUIDs instead of the name.", { id, given: wanted, matches: summarise(matches) });
103
101
  }
104
102
  const chosen = matches[0];
105
- return one(io, session, cwd, { attachmentId: chosen.attachmentId, fileName: chosen.name, workItem: id, name: chosen.name }, options.out);
103
+ return one(io, session, cwd, { attachmentId: chosen.id, fileName: chosen.name, workItem: id, name: chosen.name }, options.out);
106
104
  }
107
105
  /** One attachment, by GUID. The shape every download has always emitted. */
108
106
  async function one(io, session, cwd, what, out) {
@@ -145,14 +143,14 @@ async function all(io, session, cwd, id, attachments, out) {
145
143
  const taken = new Set();
146
144
  const saved = [];
147
145
  for (const attachment of attachments) {
148
- const bytes = await session.client.attachments.download(attachment.attachmentId, {
146
+ const bytes = await session.client.attachments.download(attachment.id, {
149
147
  fileName: attachment.name,
150
148
  });
151
149
  const path = resolve(directory, freeName(fileNameFor(attachment), taken));
152
150
  await writeFile(path, bytes);
153
151
  saved.push({
154
152
  name: attachment.name,
155
- attachmentId: attachment.attachmentId,
153
+ attachmentId: attachment.id,
156
154
  bytes: bytes.length,
157
155
  saved: path,
158
156
  });
@@ -164,30 +162,21 @@ async function all(io, session, cwd, id, attachments, out) {
164
162
  }
165
163
  return emit(io, { workItem: id, count: saved.length, directory, saved });
166
164
  }
167
- /** The `AttachedFile` relations, in the order Azure DevOps returns them. */
168
- function attachmentsOf(item) {
169
- const relations = item.relations ?? [];
170
- const attachments = [];
171
- for (const relation of relations) {
172
- if (relation.rel !== "AttachedFile")
173
- continue;
174
- const url = relation.url ?? "";
175
- const guid = ATTACHMENT_GUID.exec(url)?.[1] ?? url.split("?")[0].split("/").pop() ?? "";
176
- const size = relation.attributes?.["resourceSize"];
177
- attachments.push({
178
- name: String(relation.attributes?.["name"] ?? guid),
179
- attachmentId: guid,
180
- url,
181
- size: typeof size === "number" ? size : undefined,
182
- });
183
- }
184
- return attachments;
165
+ /** The attached files on a work item read with `expand: "relations"`. */
166
+ export function attachmentsOfItem(item) {
167
+ return attachmentsOf(item.relations ?? []);
185
168
  }
186
- /** What a refusal carries, so the next call can be right without another read. */
187
- function summarise(attachments) {
169
+ /**
170
+ * What a refusal carries, so the next call can be right without another read.
171
+ *
172
+ * `attachmentId` rather than `id`: this is the name of the flag-less argument
173
+ * `download` and `detach` take, and an error that names its own field after the
174
+ * thing you pass it needs no explaining.
175
+ */
176
+ export function summarise(attachments) {
188
177
  return attachments.map((attachment) => ({
189
178
  name: attachment.name,
190
- attachmentId: attachment.attachmentId,
179
+ attachmentId: attachment.id,
191
180
  size: attachment.size ?? null,
192
181
  }));
193
182
  }
@@ -201,7 +190,7 @@ function summarise(attachments) {
201
190
  */
202
191
  function fileNameFor(attachment) {
203
192
  const leaf = basename(attachment.name).replace(/[/\\]/g, "-").replace(/^\.+/, "");
204
- return leaf === "" ? attachment.attachmentId : leaf;
193
+ return leaf === "" ? attachment.id : leaf;
205
194
  }
206
195
  /** `report.pdf` beside `report.pdf` becomes `report 2.pdf`, never one file. */
207
196
  function freeName(name, taken) {
@@ -1 +1 @@
1
- {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../src/commands/discover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../src/commands/discover.ts"],"names":[],"mappings":"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"}
package/dist/output.js CHANGED
@@ -162,6 +162,25 @@ function describe(error) {
162
162
  code: EXIT_FAILED,
163
163
  };
164
164
  }
165
+ // **A wiki lost update is a CONFLICT, whatever status Azure DevOps gives it.**
166
+ //
167
+ // The work item path answers 409/412 and arrives as `AdoConcurrencyError`
168
+ // above. The wiki path answers **400 with `WikiAlreadyUpdatedException`** and
169
+ // has no error class of its own — `AdoConcurrencyError` needs a `workItemId`
170
+ // and a numeric `expectedRev`, and a page has neither.
171
+ //
172
+ // Reported as `kind: "ado"` it was actively misleading. The contract this
173
+ // file defines says exit 1 means "check `kind`, retry only if transient", and
174
+ // the skill teaches branching on `conflict` to mean re-read and re-apply — so
175
+ // an agent hitting a wiki lost update read a 400 as a call it got wrong and
176
+ // must never repeat, while Azure DevOps' own message said to try again.
177
+ //
178
+ // The guard was working the entire time; only its label was wrong, which is
179
+ // the worst shape for a guard because it looks handled. Measured live in the
180
+ // #751 field run.
181
+ if (error instanceof AdoError && error.typeKey === "WikiAlreadyUpdatedException") {
182
+ return { body: adoBody("conflict", error), code: EXIT_FAILED };
183
+ }
165
184
  if (error instanceof AdoError) {
166
185
  return { body: adoBody("ado", error), code: EXIT_FAILED };
167
186
  }
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@floh-solutions/pharos-cli",
3
- "version": "0.17.3",
3
+ "version": "0.19.0",
4
4
  "description": "Azure DevOps from a headless shell, for an agent: the whole context of a task in one call, and the wiki/comment verbs Microsoft's MCP server does not ship.",
5
5
  "license": "UNLICENSED",
6
6
  "author": "FLOH Solutions",
@@ -24,8 +24,8 @@
24
24
  "node": ">=22"
25
25
  },
26
26
  "dependencies": {
27
- "@floh-solutions/ado-core": "0.8.0",
28
- "@floh-solutions/plan-to-board": "0.1.1"
27
+ "@floh-solutions/plan-to-board": "0.1.1",
28
+ "@floh-solutions/ado-core": "0.9.1"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/node": "^22.10.2",
package/skill/SKILL.md CHANGED
@@ -26,6 +26,7 @@ task <id> one work item, whole: fields, comments,
26
26
  create <type> --title "…" one work item. --parent goes in the SAME patch
27
27
  update <id> change a field: --state --priority --assignee
28
28
  --title, or --field Name=value for anything else
29
+ --expect-rev <n> pins a revision you read earlier
29
30
  link <id> --parent <id> relate two items. Also --child --related
30
31
  unlink <id> --parent <id> --predecessor --successor --duplicate
31
32
  link <id> --wiki-page <path> link a WIKI PAGE to a work item — the item side
@@ -38,7 +39,7 @@ links every relation type this ORG has, and which
38
39
  --flag reaches it (six of ~eighteen)
39
40
  fields [--type T] what a field will ACCEPT — allowed values
40
41
  attach <id> <file> put a FILE on a work item (Attachments list)
41
- detach <id> <url-or-guid> take one off. --yes
42
+ detach <id> <url-or-guid> take one off. --yes. Or --name <file>
42
43
  download <item-id|guid|url> read one back. A WORK ITEM id with --name <file>,
43
44
  or --all --out <dir>. --out or nothing is written
44
45
  image <file> upload a PICTURE for use inside text. Prints the
@@ -132,7 +133,12 @@ pharos attach 225 ./bestsellers.xlsx --comment "The numbers"
132
133
 
133
134
  `update` **reads the item and applies the change under a `test` op on `/rev`**,
134
135
  so somebody who wrote between your read and your write gets you a `conflict`
135
- rather than losing their edit. Setting a value it already has writes nothing and
136
+ rather than losing their edit. Confirmed live against real concurrent writers:
137
+ three rounds, one winner each round, the loser always a 412 `conflict` carrying
138
+ both revisions, and no lost update. **`--expect-rev <n>` pins a revision you
139
+ read earlier** instead of re-reading — reach for it when your read and your
140
+ write are separate calls with thinking in between, which is where a
141
+ read-modify-write actually goes wrong. Setting a value it already has writes nothing and
136
142
  says so — a pointless PATCH still bumps `System.Rev` and invalidates every other
137
143
  cached revision on the item. `--dry-run` shows the before → after and writes
138
144
  nothing. There is no `--yes`: a field edit is an ordinary edit and Azure DevOps
@@ -143,7 +149,9 @@ two calls, one command. Attachments are **immutable**: attaching the same file
143
149
  twice makes two of them, and there is no replace and no versioning. `detach`
144
150
  takes one off; it needs `--yes`, finds the attachment by identity rather than by
145
151
  position, and leaves the bytes in Azure DevOps so re-attaching the url puts it
146
- back.
152
+ back. Name the file with `--name <file>` or pass the GUID — and as with
153
+ `download`, two files sharing a name REFUSE rather than removing whichever
154
+ sorts first.
147
155
 
148
156
  `create` puts `--parent` in the same patch as the fields, so a child is never
149
157
  briefly an orphan, and it takes the same flag names as `update`.
@@ -227,6 +235,13 @@ and size — so choosing the right file never costs a second call. Two attachmen
227
235
  with the same name refuse rather than guess: attachments are immutable, so
228
236
  attaching a file twice makes two of them and the name is not an identity.
229
237
 
238
+ `detach` takes the same `--name <file>`, so the verb you reach for after reading
239
+ `task --pretty` accepts what it showed you:
240
+
241
+ ```bash
242
+ pharos detach 41 --name Skills.pptx --yes # --dry-run previews it first
243
+ ```
244
+
230
245
  ### Reading what is inside it is YOUR job, with YOUR tooling
231
246
 
232
247
  `download` gets you bytes on disk and stops there. Turning a `.docx`, `.pptx`,
@@ -352,6 +367,19 @@ pharos people ada # filter by name or email
352
367
  pharos comment add 225 --text "Ready for review @<0f45a818-878d-6d7a-ba8c-1f5568a89ed4>"
353
368
  ```
354
369
 
370
+ **A mention only works in a COMMENT.** Measured live: the same `@<guid>` written
371
+ into `System.Description` is stored as literal text — no anchor, no mention
372
+ registered, nobody notified. Azure DevOps parses that shorthand on the comments
373
+ endpoint and nowhere else. So a mention put in a description or any other field
374
+ fails in precisely the silent way this section exists to prevent: it reads like
375
+ a mention to every human who sees it and reaches no one.
376
+
377
+ If you need somebody told, post a comment. Editing a field is not a substitute —
378
+ and note that **every work item write here suppresses notifications on purpose**
379
+ (`update`, `create`, `attach`, `detach`, `link`, `unlink`), so an agent doing
380
+ bookkeeping does not mail the assignee about each step. `comment` is the one
381
+ write that notifies.
382
+
355
383
  The names come from the board's own work items — everyone assigned, creating or
356
384
  changing anything — rather than from an identity endpoint, because those live on
357
385
  another host and want scopes a work-scoped PAT does not have. So somebody who
@@ -374,12 +402,17 @@ text still import and everything else is refused by name with the reason.
374
402
 
375
403
  Three rules, because each of them is a way to lose work:
376
404
 
377
- - **A name collision SKIPS and says so.** A page write with an empty version is
378
- a *create*, so writing over an existing page is silent data loss.
405
+ - **A derived name never collides it COUNTS UP.** Importing `Notes.md` when
406
+ `/Guides/Notes` already exists creates `/Guides/Notes 2`, reports
407
+ `created: 1, skipped: 0`, and exits 0. Your page is never overwritten, which
408
+ is the property that matters. But **a blind re-import does not fail, it
409
+ quietly accumulates** `Notes`, `Notes 2`, `Notes 3` — and every run reports
410
+ complete success. If you are re-running an import, check the wiki first.
411
+ - **`--as <name>` is the one that SKIPS.** A name you typed is an instruction,
412
+ so it is never renamed: onto an existing page it skips, says so, and exits 3
413
+ when nothing else landed. Use it when you want a collision to stop you.
379
414
  - **Names are settled against the batch as well as the wiki**, so importing
380
415
  `Notes.docx` beside `Notes.pdf` gives two pages rather than one written twice.
381
- A name you give with `--as` is never renamed — it is an instruction, so it is
382
- allowed to collide and skip.
383
416
  - **An empty document is refused.** A scanned PDF carries no extractable text at
384
417
  all and PDFKit returns an empty string with no error; an empty page would look
385
418
  like a successful import until somebody opened it.
@@ -391,8 +424,10 @@ Three rules, because each of them is a way to lose work:
391
424
  empty-document rule would not catch it either — the text is short, not empty.
392
425
  If the deck must become a page, read it (above) and write the page yourself.
393
426
 
394
- Exit 3 when **nothing** landed. A partial batch exits 0 and names what skipped
395
- retrying it blindly would collide with the pages it just made.
427
+ Exit 3 when **nothing** landed. A partial batch exits 0 and names what skipped.
428
+ Do not retry a partial batch blindly: the files that succeeded will import a
429
+ second time under counted-up names, so you end with duplicates and an exit 0
430
+ saying it all worked. Re-run only the files that skipped.
396
431
 
397
432
  ## Do not guess a state name — ask
398
433