kritya 0.8.44-beta → 0.8.45-beta

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.
@@ -153,7 +153,7 @@ function windowsQuote(value) {
153
153
  export function canaryProbes(escaped, wroteInside) {
154
154
  return [
155
155
  {
156
- what: "a write outside the workspace (system temp dir) was blocked",
156
+ what: "a write outside the workspace (system temp dir) did not reach the host",
157
157
  held: !escaped,
158
158
  },
159
159
  {
@@ -26,19 +26,19 @@ export function fuzzyMatch(haystack, needle) {
26
26
  * cleared by accident), `checkpoint:<name>` rewinds to that checkpoint.
27
27
  *
28
28
  * `recency` (command name → last-run epoch ms) floats recently *used*
29
- * commands above the rest. Only the unfiltered ordering is affected: once a
30
- * user is typing a fragment they are looking for that fragment, and reordering
31
- * under the cursor as matches arrive would be the opposite of helpful. Within
32
- * each group the sort is stable, so the declaration order stays the tiebreak
33
- * and the list is still predictable on a fresh install (`recency` omitted).
29
+ * commands above the rest, the way VS Code's quick open does — including
30
+ * within filtered results, so the command you reach for stays one Enter away
31
+ * even while typing. Within each group the sort is stable, so the declaration
32
+ * order stays the tiebreak and the list is still predictable on a fresh
33
+ * install (`recency` omitted).
34
34
  */
35
35
  export function buildPaletteItems(commands, checkpoints, filter, recency) {
36
36
  const items = [];
37
- // Sort first, filter second: filtering cannot change the relative order, and
38
- // doing it once here avoids re-sorting an already-sorted list per item.
39
- const ordered = !recency || filter.trim()
40
- ? commands
41
- : [...commands].sort((a, b) => (recency[b.name] ?? 0) - (recency[a.name] ?? 0));
37
+ // Sort first, filter second: filtering only narrows the list, so typing
38
+ // more of a fragment never reorders what is already on screen.
39
+ const ordered = recency
40
+ ? [...commands].sort((a, b) => (recency[b.name] ?? 0) - (recency[a.name] ?? 0))
41
+ : commands;
42
42
  for (const c of ordered) {
43
43
  if (!fuzzyMatch(`${c.name} ${c.description}`, filter))
44
44
  continue;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kritya",
3
- "version": "0.8.44-beta",
3
+ "version": "0.8.45-beta",
4
4
  "description": "Kritya — Superintelligence at your command line",
5
5
  "type": "module",
6
6
  "publishConfig": {