@kud/gh-workflow 0.19.0 → 0.21.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/core.d.ts CHANGED
@@ -327,6 +327,12 @@ export type ShowLess = {
327
327
  };
328
328
  export type SubgroupHeader = {
329
329
  kind: "subgroup-header";
330
+ /**
331
+ * A stable identity, when the label cannot be one. Two sides of a tab each
332
+ * carry a "Your move" band, so a surface keying headers on the label alone
333
+ * would fold them into one. Omitted, the label is the identity, as before.
334
+ */
335
+ id?: string;
330
336
  label: string;
331
337
  age: string;
332
338
  /** How deep this row hangs. See `GHItem.depth`; read it through `depthOf`. */
@@ -491,6 +497,34 @@ export type Band = Move | "merge" | "draft";
491
497
  export declare const bandOf: (health: Health | undefined, sectionId: string, standing?: Standing, theySpokeLast?: boolean, pinned?: boolean, ownsRepo?: boolean) => Band;
492
498
  export declare const NEEDS_YOU_SECTION = "needs-you";
493
499
  export declare const layoutGHItems: (items: GHItem[], sectionId: string, login: string) => AnyItem[];
500
+ /** One side of a two-level layout: the host's grouping and its rows. */
501
+ export type LayoutSide = {
502
+ key: string;
503
+ label: string;
504
+ items: GHItem[];
505
+ };
506
+ /**
507
+ * Lay out a section in two levels: the host's sides, then the usual bands
508
+ * within each. A side is whatever the host groups by first — "Mine" against
509
+ * "Others", say — and this package names none of them, for the reason on
510
+ * `OriginSplit`.
511
+ *
512
+ * Each non-empty side opens with a depth-0 header carrying the side's count,
513
+ * then runs exactly what `layoutGHItems` would for its rows alone, with the
514
+ * band headers one level down. An empty side is omitted for the same reason an
515
+ * empty band is, and a side holding one band still gets that band's header:
516
+ * "Their move" under a side is the answer, not decoration.
517
+ *
518
+ * Header ids are namespaced by section and then by side, because the labels
519
+ * collide by design — every side can have a "Your move" — and a surface keying
520
+ * its cursor or its collapse state on the label would treat the second as the
521
+ * first. Rows stay at depth 0: a header's depth is a heading level, while a
522
+ * row's depth is where it hangs in the tree, and the rows hang no deeper for
523
+ * having a heading above them.
524
+ *
525
+ * Done keeps its flat newest-first list inside each side; it has no bands.
526
+ */
527
+ export declare const layoutSides: (sides: readonly LayoutSide[], sectionId: string, login: string) => AnyItem[];
494
528
  /**
495
529
  * A two-way repo split, when a host has one. `undefined` — the ordinary case —
496
530
  * means no split at all: every row stands.
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAI5C;;;;;;;;;;GAUG;AACH,MAAM,MAAM,WAAW,GACrB,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAA;AAEzE,MAAM,MAAM,QAAQ,GAAG;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IAKrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IAWpB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,QAAQ,GAAG;IAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtE,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,IAAI,GAAG,OAAO,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB,GAAG,EAAE,MAAM,CAAA;IAMX,WAAW,CAAC,EAAE,MAAM,CAAA;IAGpB,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAGlB,YAAY,EAAE,MAAM,CAAA;IAGpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC1B,MAAM,CAAC,EAAE,QAAQ,CAAA;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,mDAAmD;IACnD,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sEAAsE;IACtE,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oEAAoE;IACpE,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACxC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,aAAa,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sEAAsE;IACtE,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,WAAW,CAAA;IACjB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sEAAsE;IACtE,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,WAAW,CAAA;IACjB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sEAAsE;IACtE,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,iBAAiB,CAAA;IACvB;;;;OAIG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sEAAsE;IACtE,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,OAAO,GACjB,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAEtE;;;;;;;;GAQG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,OAAO,KAAG,MAIxC,CAAA;AAMD,MAAM,MAAM,QAAQ,GAAG;IACrB,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,OAAO,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,OAAO,EAAE,CAAA;IAChB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CAC5B,CAAA;AAOD,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,MAM1C,CAAA;AAaD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,WAAW,GACtB,MAAM,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAAC,KAC5C;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAMjC,CAAA;AAEP,eAAO,MAAM,MAAM,GACjB,MAAM,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAAC,KAC5C,MAAM,GAAG,IAGX,CAAA;AAED,+EAA+E;AAC/E,eAAO,MAAM,OAAO,GAAI,MAAM,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,KAAG,MAAM,GAAG,IAGI,CAAA;AAM1E,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,MAM3C,CAAA;AAYD,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,MAM5C,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,SAAS,MAAM,EACnB,CAAA;AAmBzC,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,EAAE,KAAG,MAAM,EAQ9C,CAAA;AAKJ,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,EAAE,KAAG,MAAM,EACd,CAAA;AAExC,eAAO,MAAM,iBAAiB,GAAI,OAAO,MAAM,EAAE,KAAG,OAAO,EAgB1D,CAAA;AAiBD,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAA;AA0FvD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAAA;AAU7C,eAAO,MAAM,SAAS,GACpB,QAAQ,MAAM,GAAG,SAAS,EAC1B,WAAW,MAAM,EACjB,WAAW,QAAQ,EACnB,gBAAgB,OAAO,EACvB,SAAS,OAAO,EAChB,WAAW,OAAO,KACjB,IAyGF,CAAA;AAID,eAAO,MAAM,QAAQ,MAAM,CAAA;AA6B3B;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,OAAO,GAAG,OAAO,CAAA;AAE3C,eAAO,MAAM,MAAM,GACjB,QAAQ,MAAM,GAAG,SAAS,EAC1B,WAAW,MAAM,EACjB,WAAW,QAAQ,EACnB,gBAAgB,OAAO,EACvB,SAAS,OAAO,EAChB,WAAW,OAAO,KACjB,IAQF,CAAA;AAOD,eAAO,MAAM,iBAAiB,cAAc,CAAA;AA4F5C,eAAO,MAAM,aAAa,GACxB,OAAO,MAAM,EAAE,EACf,WAAW,MAAM,EAYjB,OAAO,MAAM,KACZ,OAAO,EAYT,CAAA;AAED,wEAAwE;AACxE,MAAM,MAAM,UAAU,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAExE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,WAAW,GACtB,OAAO,SAAS,UAAU,EAAE,EAC5B,WAAW,MAAM,EACjB,OAAO,MAAM,KACZ,OAAO,EA6BJ,CAAA;AAEN;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,+EAA+E;IAC/E,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;IAChC,0BAA0B;IAC1B,IAAI,EAAE,SAAS,GAAG,MAAM,CAAA;IACxB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;;;;;;;GAQG;AASH,eAAO,MAAM,cAAc,GACzB,UAAU,OAAO,EAAE,EACnB,MAAM,SAAS,GAAG,MAAM,EACxB,OAAO,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,EAChC,OAAO,MAAM,KACZ,OAAO,EAyBL,CAAA;AAEL,eAAO,MAAM,cAAc,GACzB,UAAU,OAAO,EAAE,EACnB,OAAO,MAAM,EACb,OAAO,MAAM,KACZ,OAAO,EA2BT,CAAA;AAED,eAAO,MAAM,aAAa,GACxB,UAAU,OAAO,EAAE,EACnB,OAAO,GAAG,CAAC,MAAM,CAAC,EAClB,OAAO,MAAM,KACZ,OAAO,EAuBT,CAAA"}
package/dist/core.js CHANGED
@@ -2,6 +2,7 @@
2
2
  // rows sort, group and filter. Lifted verbatim out of @kud/gh-ink so a browser
3
3
  // surface can reach it — the logic was never terminal-specific, only its
4
4
  // address was.
5
+ import { matchesSearchQuery, parseSearchQuery } from "./search-query.js";
5
6
  import { inboxConfig } from "./config.js";
6
7
  /**
7
8
  * The one place either spelling of depth is read. Every other site goes through
@@ -396,32 +397,7 @@ export const bandOf = (health, sectionId, standing, theySpokeLast, pinned, ownsR
396
397
  // special-cases `"done"`, and anything else lays out by whose-move bands as
397
398
  // before.
398
399
  export const NEEDS_YOU_SECTION = "needs-you";
399
- // Lay out a section's GH items. The Done tab is a flat newest-first list; every
400
- // other tab splits into two whose-move bands, each keeping its own repo grouping
401
- // so the outer key stays legible inside a band. Repo headers are inserted in
402
- // every case, and restart per band — a repo with work on both sides of the line
403
- // appears under each.
404
- //
405
- // A single-sided tab still gets its one header. The label is the information —
406
- // eight rows under "Their move" says nothing is owed by you, which is the
407
- // answer the tab was opened to get, and an unlabelled list says it only to
408
- // somebody who already knows how the bands work. The empty side is still
409
- // omitted: a "(0)" header names a band with nothing in it.
410
- export const layoutGHItems = (items, sectionId,
411
- // Required, and it used to be optional on the argument that an un-updated
412
- // host should degrade rather than break. It did degrade — silently, and in
413
- // the one direction the bands exist to prevent. Two claims here read the row
414
- // against the viewer: `lastActor` is only "somebody else" against a login,
415
- // and a repo is only "yours" against one. Without it both collapse to false,
416
- // every row falls back to the health table, and a PR you are owed a reply on
417
- // files under Their move while the turn arrow beside it (which reads
418
- // `lastActor` alone) still points at you. The three filters below re-run this
419
- // layout, and ambre's host called one of them without the login for weeks;
420
- // nothing failed, one band was simply wrong. A host with no viewer yet shows
421
- // its loading state, not bands laid out against nobody.
422
- login) => {
423
- if (sectionId === "done")
424
- return insertRepoHeaders(sortByRecency(items));
400
+ const bandGroupsOf = (items, sectionId, login) => {
425
401
  // The needs-you tab is laid out by the host's marker, not by whose-move:
426
402
  // two bands in fixed order, "decide" then "merge", each with its own repo
427
403
  // grouping like every other band. A row the host flagged without a band is
@@ -437,15 +413,11 @@ login) => {
437
413
  const NEEDS_YOU_LABEL = { decide: "Decide", merge: "Merge" };
438
414
  return bands
439
415
  .filter((b) => b.rows.length > 0)
440
- .flatMap(({ side, rows }) => [
441
- {
442
- kind: "subgroup-header",
443
- label: `${NEEDS_YOU_LABEL[side]} (${rows.length})`,
444
- age: "",
445
- indent: false,
446
- },
447
- ...insertRepoHeaders(rows),
448
- ]);
416
+ .map(({ side, rows }) => ({
417
+ key: side,
418
+ label: NEEDS_YOU_LABEL[side],
419
+ rows,
420
+ }));
449
421
  }
450
422
  const sorted = sortItems(items);
451
423
  // `unknown` sits BETWEEN the two, not after them. The bands rank claims on the
@@ -474,17 +446,94 @@ login) => {
474
446
  side,
475
447
  rows: sorted.filter((i) => bandOf(i.health, sectionId, i.standing, !!i.lastActor && i.lastActor !== login, i.pinned, i.repo.startsWith(`${login}/`)) === side),
476
448
  }));
477
- const filled = bands.filter((b) => b.rows.length > 0);
478
- return filled.flatMap(({ side, rows }) => [
449
+ return bands
450
+ .filter((b) => b.rows.length > 0)
451
+ .map(({ side, rows }) => ({ key: side, label: BAND_LABEL[side], rows }));
452
+ };
453
+ // Lay out a section's GH items. The Done tab is a flat newest-first list; every
454
+ // other tab splits into two whose-move bands, each keeping its own repo grouping
455
+ // so the outer key stays legible inside a band. Repo headers are inserted in
456
+ // every case, and restart per band — a repo with work on both sides of the line
457
+ // appears under each.
458
+ //
459
+ // A single-sided tab still gets its one header. The label is the information —
460
+ // eight rows under "Their move" says nothing is owed by you, which is the
461
+ // answer the tab was opened to get, and an unlabelled list says it only to
462
+ // somebody who already knows how the bands work. The empty side is still
463
+ // omitted: a "(0)" header names a band with nothing in it.
464
+ export const layoutGHItems = (items, sectionId,
465
+ // Required, and it used to be optional on the argument that an un-updated
466
+ // host should degrade rather than break. It did degrade — silently, and in
467
+ // the one direction the bands exist to prevent. Two claims here read the row
468
+ // against the viewer: `lastActor` is only "somebody else" against a login,
469
+ // and a repo is only "yours" against one. Without it both collapse to false,
470
+ // every row falls back to the health table, and a PR you are owed a reply on
471
+ // files under Their move while the turn arrow beside it (which reads
472
+ // `lastActor` alone) still points at you. The three filters below re-run this
473
+ // layout, and ambre's host called one of them without the login for weeks;
474
+ // nothing failed, one band was simply wrong. A host with no viewer yet shows
475
+ // its loading state, not bands laid out against nobody.
476
+ login) => {
477
+ if (sectionId === "done")
478
+ return insertRepoHeaders(sortByRecency(items));
479
+ return bandGroupsOf(items, sectionId, login).flatMap(({ label, rows }) => [
479
480
  {
480
481
  kind: "subgroup-header",
481
- label: `${BAND_LABEL[side]} (${rows.length})`,
482
+ label: `${label} (${rows.length})`,
482
483
  age: "",
483
484
  indent: false,
484
485
  },
485
486
  ...insertRepoHeaders(rows),
486
487
  ]);
487
488
  };
489
+ /**
490
+ * Lay out a section in two levels: the host's sides, then the usual bands
491
+ * within each. A side is whatever the host groups by first — "Mine" against
492
+ * "Others", say — and this package names none of them, for the reason on
493
+ * `OriginSplit`.
494
+ *
495
+ * Each non-empty side opens with a depth-0 header carrying the side's count,
496
+ * then runs exactly what `layoutGHItems` would for its rows alone, with the
497
+ * band headers one level down. An empty side is omitted for the same reason an
498
+ * empty band is, and a side holding one band still gets that band's header:
499
+ * "Their move" under a side is the answer, not decoration.
500
+ *
501
+ * Header ids are namespaced by section and then by side, because the labels
502
+ * collide by design — every side can have a "Your move" — and a surface keying
503
+ * its cursor or its collapse state on the label would treat the second as the
504
+ * first. Rows stay at depth 0: a header's depth is a heading level, while a
505
+ * row's depth is where it hangs in the tree, and the rows hang no deeper for
506
+ * having a heading above them.
507
+ *
508
+ * Done keeps its flat newest-first list inside each side; it has no bands.
509
+ */
510
+ export const layoutSides = (sides, sectionId, login) => sides
511
+ .filter((side) => side.items.length > 0)
512
+ .flatMap((side) => {
513
+ const sideId = `${sectionId}:${side.key}`;
514
+ const header = {
515
+ kind: "subgroup-header",
516
+ id: sideId,
517
+ label: `${side.label} (${side.items.length})`,
518
+ age: "",
519
+ depth: 0,
520
+ };
521
+ if (sectionId === "done")
522
+ return [header, ...insertRepoHeaders(sortByRecency(side.items))];
523
+ return [
524
+ header,
525
+ ...bandGroupsOf(side.items, sectionId, login).flatMap(({ key, label, rows }) => [
526
+ {
527
+ kind: "subgroup-header",
528
+ id: `${sideId}:${key}`,
529
+ label: `${label} (${rows.length})`,
530
+ age: "",
531
+ depth: 1,
532
+ },
533
+ ...insertRepoHeaders(rows),
534
+ ]),
535
+ ];
536
+ });
488
537
  /**
489
538
  * Keep only one side of a two-way repo split, leaving non-GH rows (task)
490
539
  * untouched. Mirrors filterByRepos' gh/other split.
@@ -518,14 +567,12 @@ export const filterByOrigin = (sections, keep, match, login) => sections
518
567
  return { ...s, items: [...layoutGHItems(gh, s.id, login), ...other] };
519
568
  })
520
569
  .filter((s) => s.items.some((i) => i.kind !== "repo-header" && i.kind !== "subgroup-header"));
521
- const searchText = (i) => i.kind === "pr" || i.kind === "issue"
522
- ? `${i.title} ${i.repo} #${i.number}${i.needsYou?.decision ? ` ${i.needsYou.decision}` : ""}`
523
- : i.kind === "task"
524
- ? `${i.summary} ${i.key}`
525
- : "";
526
570
  export const filterBySearch = (sections, query, login) => {
527
- const q = query.trim().toLowerCase();
528
- if (!q)
571
+ // Signature unchanged, but the query is now the small qualifier language in
572
+ // search-query.ts; an empty parse (all terms dropped or none given) keeps
573
+ // sections untouched rather than filtering everything out.
574
+ const terms = parseSearchQuery(query);
575
+ if (terms.length === 0)
529
576
  return sections;
530
577
  return sections
531
578
  .map((s) => {
@@ -533,7 +580,7 @@ export const filterBySearch = (sections, query, login) => {
533
580
  i.kind !== "subgroup-header" &&
534
581
  i.kind !== "show-more" &&
535
582
  i.kind !== "show-less" &&
536
- searchText(i).toLowerCase().includes(q));
583
+ matchesSearchQuery(i, terms, login));
537
584
  const gh = kept.filter((i) => i.kind === "pr" || i.kind === "issue");
538
585
  const other = kept.filter((i) => i.kind !== "pr" && i.kind !== "issue");
539
586
  return { ...s, items: [...layoutGHItems(gh, s.id, login), ...other] };
package/dist/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,4 +2,5 @@ export * from "./core.js";
2
2
  export * from "./map.js";
3
3
  export * from "./config.js";
4
4
  export * from "./ref.js";
5
+ export { parseSearchQuery, matchesSearchQuery, type QueryTerm, } from "./search-query.js";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,SAAS,GACf,MAAM,mBAAmB,CAAA"}
package/dist/index.js CHANGED
@@ -10,4 +10,5 @@ export * from "./core.js";
10
10
  export * from "./map.js";
11
11
  export * from "./config.js";
12
12
  export * from "./ref.js";
13
+ export { parseSearchQuery, matchesSearchQuery, } from "./search-query.js";
13
14
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,+EAA+E;AAC/E,+DAA+D;AAC/D,EAAE;AACF,0EAA0E;AAC1E,gFAAgF;AAChF,gFAAgF;AAChF,oEAAoE;AACpE,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,+EAA+E;AAC/E,+DAA+D;AAC/D,EAAE;AACF,0EAA0E;AAC1E,gFAAgF;AAChF,gFAAgF;AAChF,oEAAoE;AACpE,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,GAEnB,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,29 @@
1
+ import type { AnyItem } from "./core.js";
2
+ /**
3
+ * A tiny GitHub-shaped query language for cockpit's `/` search: tokens split
4
+ * on whitespace, double-quoted phrases kept whole, `key:value` qualifiers
5
+ * (author, repo), a leading `-` negating either, everything ANDed.
6
+ *
7
+ * It exists because the single substring match answered "what" but not "who"
8
+ * or "where": narrowing a list to dependabot's rows, or to everything outside
9
+ * a legacy repo, is what qualifiers buy. The fallback rule — an unknown
10
+ * `key:` buys a bare term of the whole token — is the escape hatch: a title
11
+ * may hold a colon, and users type those every day into a box that used to be
12
+ * a substring search.
13
+ *
14
+ * No `is:`: the tab already answers kind, and its groups answer draft,
15
+ * approved and whose, so `is:x` is just text here.
16
+ */
17
+ export type QueryTerm = {
18
+ kind: "text";
19
+ negate: boolean;
20
+ value: string;
21
+ } | {
22
+ kind: "qualifier";
23
+ negate: boolean;
24
+ key: "author" | "repo";
25
+ value: string;
26
+ };
27
+ export declare const parseSearchQuery: (query: string) => QueryTerm[];
28
+ export declare const matchesSearchQuery: (item: AnyItem, terms: readonly QueryTerm[], login: string) => boolean;
29
+ //# sourceMappingURL=search-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-query.d.ts","sourceRoot":"","sources":["../src/search-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChD;IACE,IAAI,EAAE,WAAW,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;IACf,GAAG,EAAE,QAAQ,GAAG,MAAM,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAIL,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,KAAG,SAAS,EAgFzD,CAAA;AAmDD,eAAO,MAAM,kBAAkB,GAC7B,MAAM,OAAO,EACb,OAAO,SAAS,SAAS,EAAE,EAC3B,OAAO,MAAM,KACZ,OAOC,CAAA"}
@@ -0,0 +1,127 @@
1
+ const QUALIFIER_KEYS = new Set(["author", "repo"]);
2
+ export const parseSearchQuery = (query) => {
3
+ const terms = [];
4
+ let token = "";
5
+ // A `-` counts only as the token's very first unquoted character, which is
6
+ // what keeps `octo-cat` a word and `-"phase one"` a negated phrase.
7
+ let negate = false;
8
+ let started = false;
9
+ // `quoted` marks a token born in a quote pair, so flush treats its whole
10
+ // content as text and never split on `:`; `inQuote` only positions the scan.
11
+ let quoted = false;
12
+ let inQuote = false;
13
+ const flush = () => {
14
+ if (!started)
15
+ return;
16
+ if (!token) {
17
+ // A quoted phrase that never filled (`""`, live typing) buys nothing,
18
+ // same honesty as an empty qualifier value.
19
+ token = "";
20
+ negate = false;
21
+ quoted = false;
22
+ started = false;
23
+ return;
24
+ }
25
+ if (quoted) {
26
+ terms.push({ kind: "text", negate: negate, value: token });
27
+ }
28
+ else {
29
+ const colon = token.indexOf(":");
30
+ if (colon > 0) {
31
+ const key = token.slice(0, colon).toLowerCase();
32
+ const value = token.slice(colon + 1);
33
+ if (QUALIFIER_KEYS.has(key)) {
34
+ // A qualifier typed only halfway (live typing) drops out rather
35
+ // than hiding every row behind an empty comparison.
36
+ if (value)
37
+ terms.push({
38
+ kind: "qualifier",
39
+ negate: negate,
40
+ key: key,
41
+ value: value,
42
+ });
43
+ }
44
+ else if (token) {
45
+ // Unknown key stays text, whole token, so a colon in a title still
46
+ // searches, and a typo'd qualifier cannot silently mute the query.
47
+ terms.push({ kind: "text", negate: negate, value: token });
48
+ }
49
+ }
50
+ else {
51
+ terms.push({ kind: "text", negate: negate, value: token });
52
+ }
53
+ }
54
+ token = "";
55
+ negate = false;
56
+ quoted = false;
57
+ started = false;
58
+ };
59
+ for (const ch of query.trim()) {
60
+ if (ch === '"') {
61
+ if (inQuote) {
62
+ inQuote = false;
63
+ flush();
64
+ }
65
+ else {
66
+ started = true;
67
+ quoted = true;
68
+ inQuote = true;
69
+ }
70
+ continue;
71
+ }
72
+ if (!inQuote && (ch === " " || ch === "\t")) {
73
+ flush();
74
+ continue;
75
+ }
76
+ if (!started && !quoted && ch === "-" && !negate) {
77
+ negate = true;
78
+ started = true;
79
+ continue;
80
+ }
81
+ started = true;
82
+ token += ch;
83
+ }
84
+ // Unclosed quote: everything since the opening quote is one term anyway.
85
+ flush();
86
+ return terms;
87
+ };
88
+ /**
89
+ * GitHub spells the same bot login two ways — `name[bot]` or `app/name`,
90
+ * depending on which source produced the row — so both sides of an author
91
+ * comparison are normalised to a common shape before being matched.
92
+ * Lowercased further, so case in logins is display, not identity.
93
+ */
94
+ const normaliseLogin = (login) => login
95
+ .toLowerCase()
96
+ .replace(/^app\//, "")
97
+ .replace(/\[bot\]$/, "");
98
+ const authorsMatch = (a, b) => normaliseLogin(a) === normaliseLogin(b);
99
+ // Same composition a plain substring search always matched against, so a
100
+ // single word filters exactly as before: title, repo, number, any decision a
101
+ // host flagged the row with; task rows search summary and key.
102
+ const searchText = (item) => item.kind === "pr" || item.kind === "issue"
103
+ ? `${item.title} ${item.repo} #${item.number}${item.needsYou?.decision ? ` ${item.needsYou.decision}` : ""}`
104
+ : item.kind === "task"
105
+ ? `${item.summary} ${item.key}`
106
+ : "";
107
+ const qualifierHolds = (item, key, value, login) => {
108
+ // Same normalisation both sides: one leading `@` from the typed value, and
109
+ // `me`/`@ME` case-insensitively resolved to the login.
110
+ const accountOf = (value) => {
111
+ const bare = value.toLowerCase().replace(/^@/, "");
112
+ return bare === "me" ? login.toLowerCase() : bare;
113
+ };
114
+ if (key === "author")
115
+ return ((item.kind === "pr" || item.kind === "issue") &&
116
+ item.author !== undefined &&
117
+ authorsMatch(item.author, accountOf(value)));
118
+ return ((item.kind === "pr" || item.kind === "issue") &&
119
+ item.repo.toLowerCase().includes(value.toLowerCase()));
120
+ };
121
+ export const matchesSearchQuery = (item, terms, login) => terms.every((term) => {
122
+ const holds = term.kind === "text"
123
+ ? searchText(item).toLowerCase().includes(term.value.toLowerCase())
124
+ : qualifierHolds(item, term.key, term.value, login);
125
+ return term.negate ? !holds : holds;
126
+ });
127
+ //# sourceMappingURL=search-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-query.js","sourceRoot":"","sources":["../src/search-query.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kud/gh-workflow",
3
- "version": "0.19.0",
3
+ "version": "0.21.0",
4
4
  "description": "Pure workflow semantics for a GitHub inbox — whose move it is, how rows sort, group and filter. No renderer, no transport, no filesystem.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -43,7 +43,7 @@
43
43
  "access": "public"
44
44
  },
45
45
  "dependencies": {
46
- "@kud/gh": "0.21.2"
46
+ "@kud/gh": "0.22.0"
47
47
  },
48
48
  "devDependencies": {
49
49
  "typescript": "5.9.3",