typebulb 0.41.2 → 0.43.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.
@@ -2357,7 +2357,7 @@ var Patcher = class {
2357
2357
 
2358
2358
  // cli/agents/pi/server/piPatcherExtension.ts
2359
2359
  var DESCRIPTION = true ? "Apply unified diffs to files \u2014 tolerant of form, strict about intent. Repairs sloppy AI-generated diffs (mangled headers, whitespace drift, missing prefixes; line numbers can be wrong or absent \u2014 hunks anchor by fuzzy-matched context lines) and applies all hunks atomically when the intent is unambiguous; fails with a precise, typed error when it isn't. Use for multi-hunk edits in one step, or when exact string-replacement editing fails on whitespace or invisible characters." : "Apply unified diffs to files.";
2360
- var BUILD_TAG = true ? "matchu-patchu-pi 0.3.3, built 2026-07-27 14:58:21" : "matchu-patchu-pi dev";
2360
+ var BUILD_TAG = true ? "matchu-patchu-pi 0.3.3, built 2026-07-29 00:39:56" : "matchu-patchu-pi dev";
2361
2361
  var errorBlocks = (errors) => {
2362
2362
  const parts = [`Patch failed with ${errors.length} error(s):`];
2363
2363
  for (const e of errors) parts.push("", e.toString());
@@ -212,6 +212,11 @@ body {
212
212
  max-height: var(--menu-h);
213
213
  overflow: hidden;
214
214
  padding: .35rem;
215
+ /* The bar's line-height:1 is for its fixed-height pills; a menu is a text surface, so restore
216
+ descender room HERE, once. Inherited, the 1 crops the tails of "g"/"j"/"p" under every row's
217
+ overflow:hidden (the ellipsis clip) — a leaf-by-leaf fix that had already been pasted three
218
+ times. Rows are floored at --menu-row-h with their paddings kept under it, so pitch is unchanged. */
219
+ line-height: 1.35;
215
220
  display: flex;
216
221
  flex-direction: column;
217
222
  gap: .15rem;
@@ -609,7 +614,7 @@ body {
609
614
  for unconditionally; tweak the 15px by eye). */
610
615
  padding: 0 calc(.55rem + 4px + 15px) 0 calc(.55rem + 7px + .6rem);
611
616
  border-bottom: 1px solid var(--border);
612
- font-size: .74rem; line-height: 1.35; color: var(--muted); /* line-height clears "g"/"y" descenders */
617
+ font-size: .74rem; color: var(--muted);
613
618
  }
614
619
  /* The external-override warning is the one case that still puts words on this row. */
615
620
  .model-route { flex: 0 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@@ -710,9 +715,7 @@ body {
710
715
  .diag-head { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .35rem .5rem; background: var(--panel); border-bottom: 1px solid var(--border); }
711
716
  .diag-head-acts { display: flex; gap: .4rem; align-items: center; flex: none; }
712
717
  .diag-back:disabled { opacity: .5; cursor: default; }
713
- /* line-height clears descenders: the popover inherits the statusbar's line-height:1, and overflow:hidden
714
- would otherwise crop the tails of "g"/"y" (same root cause as .shimmer-text's fix). */
715
- .diag-name { min-width: 0; color: var(--fg); font-size: .8rem; line-height: 1.35; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
718
+ .diag-name { min-width: 0; color: var(--fg); font-size: .8rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
716
719
  .diag-back { font: inherit; font-size: .76rem; appearance: none; margin: 0; padding: .15rem .5rem; border-radius: 5px; background: transparent; border: 1px solid var(--border); color: var(--muted); cursor: pointer; white-space: nowrap; }
717
720
  .diag-back:hover { color: var(--accent); border-color: var(--accent); }
718
721
  .diag-body { display: flex; flex-direction: column; gap: .4rem; padding: .6rem; background: var(--bg); }
@@ -4,5 +4,6 @@ export * from './serialize.js';
4
4
  export * from './config.js';
5
5
  export * from './detection.js';
6
6
  export * from './chunks.js';
7
+ export * from './slug.js';
7
8
  export { escapeYamlString, unescapeYamlString } from './yaml.js';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../format/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../format/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA"}
@@ -4,5 +4,6 @@ export * from './serialize.js';
4
4
  export * from './config.js';
5
5
  export * from './detection.js';
6
6
  export * from './chunks.js';
7
+ export * from './slug.js';
7
8
  export { escapeYamlString, unescapeYamlString } from './yaml.js';
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../format/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../format/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA"}
@@ -0,0 +1,4 @@
1
+ /** The one name→slug derivation (TB-CLI.md § One slug derivation): a bulb's slug is its identity —
2
+ * URL, local filename, asset keys — so every surface calls this, never a local regex. */
3
+ export declare function slugify(name: string): string;
4
+ //# sourceMappingURL=slug.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slug.d.ts","sourceRoot":"","sources":["../../format/src/slug.ts"],"names":[],"mappings":"AAEA;0FAC0F;AAC1F,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C"}
@@ -0,0 +1,7 @@
1
+ import slugifyLib from '@sindresorhus/slugify';
2
+ /** The one name→slug derivation (TB-CLI.md § One slug derivation): a bulb's slug is its identity —
3
+ * URL, local filename, asset keys — so every surface calls this, never a local regex. */
4
+ export function slugify(name) {
5
+ return slugifyLib(name);
6
+ }
7
+ //# sourceMappingURL=slug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slug.js","sourceRoot":"","sources":["../../format/src/slug.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,uBAAuB,CAAA;AAE9C;0FAC0F;AAC1F,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC"}