ugly-app 0.1.744 → 0.1.746

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.
@@ -1,2 +1,2 @@
1
- export declare const CLI_VERSION = "0.1.744";
1
+ export declare const CLI_VERSION = "0.1.746";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,3 +1,3 @@
1
1
  // Auto-generated by prebuild — do not edit manually
2
- export const CLI_VERSION = "0.1.744";
2
+ export const CLI_VERSION = "0.1.746";
3
3
  //# sourceMappingURL=version.js.map
@@ -14,6 +14,19 @@ export interface MarkdownEditorFunctions {
14
14
  * suppresses `onValueChanged` (the Y.Doc is the source of truth), so callers
15
15
  * pull markdown on demand here for a debounced canonical commit. */
16
16
  getMarkdown: () => string;
17
+ /** Scroll the first occurrence of `quote` into view and briefly highlight it.
18
+ * Whitespace-tolerant. Returns false when the text isn't found. Safe on
19
+ * read-only documents (does not move the selection). */
20
+ scrollToText: (quote: string) => boolean;
21
+ /** Anchor a new comment to the first occurrence of `quote`, pre-filled with
22
+ * `text` (e.g. turning coach feedback into a margin note). Inserts a
23
+ * collaborative comment anchor and reports the comment via `onCommentsChange`.
24
+ * Returns the new comment id, or null if the quote isn't found or the editor
25
+ * has no `onCommentsChange` handler. */
26
+ addCommentAtText: (quote: string, opts: {
27
+ text: string;
28
+ author?: string | null;
29
+ }) => string | null;
17
30
  }
18
31
  export interface MarkdownEditorProps {
19
32
  value: string;
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownEditor.d.ts","sourceRoot":"","sources":["../../../src/markdown/client/MarkdownEditor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MarkdownEditor.d.ts","sourceRoot":"","sources":["../../../src/markdown/client/MarkdownEditor.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownEditorInternal.d.ts","sourceRoot":"","sources":["../../../src/markdown/client/MarkdownEditorInternal.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,qBAAqB,CAAC;AAuC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAyC1D,OAAO,wCAAwC,CAAC;AAEhD,OAAO,0BAA0B,CAAC;AAsLlC;;GAEG;AACH,iBAAwB,sBAAsB,CAAC,KAAK,EAAE,mBAAmB,+BA+3BxE;kBA/3BuB,sBAAsB;;;eAAtB,sBAAsB"}
1
+ {"version":3,"file":"MarkdownEditorInternal.d.ts","sourceRoot":"","sources":["../../../src/markdown/client/MarkdownEditorInternal.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,qBAAqB,CAAC;AAuC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAyC1D,OAAO,wCAAwC,CAAC;AAEhD,OAAO,0BAA0B,CAAC;AA0OlC;;GAEG;AACH,iBAAwB,sBAAsB,CAAC,KAAK,EAAE,mBAAmB,+BAk8BxE;kBAl8BuB,sBAAsB;;;eAAtB,sBAAsB"}
@@ -184,6 +184,59 @@ function createMarkdownKeymap(useYjsUndo = false) {
184
184
  },
185
185
  });
186
186
  }
187
+ /**
188
+ * Locate a run of text in the document, tolerant of whitespace differences
189
+ * (collapses runs of whitespace on both sides). Returns ProseMirror document
190
+ * positions `{ from, to }` for the first match, or `null`. Used by the
191
+ * imperative `scrollToText` / `addCommentAtText` helpers so callers can anchor
192
+ * to a quote (a Coach note, a search hit) without tracking positions.
193
+ */
194
+ function findTextRange(doc, quote) {
195
+ const needle = quote.replace(/\s+/g, ' ').trim();
196
+ if (!needle)
197
+ return null;
198
+ let norm = '';
199
+ const posMap = [];
200
+ let lastWasSpace = true; // skip leading whitespace
201
+ doc.descendants((node, pos) => {
202
+ if (node.isText && typeof node.text === 'string') {
203
+ const t = node.text;
204
+ for (let i = 0; i < t.length; i++) {
205
+ const isWs = /\s/.test(t[i]);
206
+ if (isWs) {
207
+ if (lastWasSpace)
208
+ continue;
209
+ lastWasSpace = true;
210
+ norm += ' ';
211
+ posMap.push(pos + i);
212
+ }
213
+ else {
214
+ lastWasSpace = false;
215
+ norm += t[i];
216
+ posMap.push(pos + i);
217
+ }
218
+ }
219
+ return false; // text nodes have no children
220
+ }
221
+ // Treat block boundaries as a single separating space so a quote never
222
+ // silently spans two paragraphs, but paragraph-internal text stays joined.
223
+ if (node.isBlock && !lastWasSpace) {
224
+ lastWasSpace = true;
225
+ norm += ' ';
226
+ posMap.push(pos);
227
+ }
228
+ return true;
229
+ });
230
+ const idx = norm.indexOf(needle);
231
+ if (idx === -1)
232
+ return null;
233
+ const endIdx = idx + needle.length - 1;
234
+ const from = posMap[idx];
235
+ const to = (posMap[endIdx] ?? from) + 1;
236
+ if (from === undefined)
237
+ return null;
238
+ return { from, to };
239
+ }
187
240
  /**
188
241
  * ProseMirror-based Markdown Editor
189
242
  */
@@ -797,6 +850,71 @@ export default function MarkdownEditorInternal(props) {
797
850
  return currentValueRef.current;
798
851
  }
799
852
  }, []);
853
+ // Scroll a quote into view (search hit, cross-reference). Briefly flashes the
854
+ // matched block so the reader can spot where they landed. Returns false when
855
+ // the text isn't found. Does not move the selection, so it is safe on
856
+ // read-only documents.
857
+ const scrollToText = useCallback((quote) => {
858
+ const view = viewRef.current;
859
+ if (!view)
860
+ return false;
861
+ const range = findTextRange(view.state.doc, quote);
862
+ if (!range)
863
+ return false;
864
+ try {
865
+ const at = view.domAtPos(range.from);
866
+ const el = at.node.nodeType === Node.TEXT_NODE
867
+ ? at.node.parentElement
868
+ : at.node;
869
+ if (!el)
870
+ return false;
871
+ el.scrollIntoView({ block: 'center', behavior: 'smooth' });
872
+ if (el instanceof HTMLElement) {
873
+ const prevBg = el.style.backgroundColor;
874
+ const prevTransition = el.style.transition;
875
+ el.style.transition = 'background-color 0.35s ease';
876
+ el.style.backgroundColor = 'rgba(255, 204, 0, 0.25)';
877
+ window.setTimeout(() => {
878
+ el.style.backgroundColor = prevBg;
879
+ window.setTimeout(() => {
880
+ el.style.transition = prevTransition;
881
+ }, 400);
882
+ }, 1100);
883
+ }
884
+ return true;
885
+ }
886
+ catch {
887
+ return false;
888
+ }
889
+ }, []);
890
+ // Anchor a comment to the first occurrence of `quote`, pre-filled with `text`.
891
+ // Powers "pin to margin" flows (e.g. a coach turning feedback into a margin
892
+ // note). Inserts the same zero-width `comment_anchor` mark the context-menu
893
+ // "Add Comment" uses, then hands the metadata to `onCommentsChange`. Returns
894
+ // the new comment id, or null if the quote isn't found / comments are off.
895
+ const addCommentAtText = useCallback((quote, opts) => {
896
+ const view = viewRef.current;
897
+ if (!view || !isDefined(props.onCommentsChange))
898
+ return null;
899
+ const range = findTextRange(view.state.doc, quote);
900
+ if (!range)
901
+ return null;
902
+ const newId = generateCommentId();
903
+ const anchorNode = schema.text('​', [
904
+ schema.marks.comment_anchor.create({ commentId: newId }),
905
+ ]);
906
+ view.dispatch(view.state.tr.insert(range.from, anchorNode));
907
+ const newComment = {
908
+ id: newId,
909
+ author: opts.author ?? null,
910
+ text: opts.text,
911
+ resolved: false,
912
+ replies: [],
913
+ };
914
+ props.onCommentsChange([...(commentsRef.current ?? []), newComment]);
915
+ setActiveCommentId(newId);
916
+ return newId;
917
+ }, [props.onCommentsChange]);
800
918
  // Push the TTS reveal offset into the karaoke plugin whenever it changes.
801
919
  useEffect(() => {
802
920
  const view = viewRef.current;
@@ -811,7 +929,9 @@ export default function MarkdownEditorInternal(props) {
811
929
  insertHardBreak,
812
930
  isMenuActive,
813
931
  getMarkdown,
814
- }), [blur, focus, setValue, insertHardBreak, isMenuActive, getMarkdown]);
932
+ scrollToText,
933
+ addCommentAtText,
934
+ }), [blur, focus, setValue, insertHardBreak, isMenuActive, getMarkdown, scrollToText, addCommentAtText]);
815
935
  return (_jsxs("div", { ref: containerRef, style: {
816
936
  minHeight: 14,
817
937
  ...(props.fillHeight ? { height: '100%' } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownEditorInternal.js","sourceRoot":"","sources":["../../../src/markdown/client/MarkdownEditorInternal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MarkdownEditorInternal.js","sourceRoot":"","sources":["../../../src/markdown/client/MarkdownEditorInternal.tsx"],"names":[],"mappings":"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"}
@@ -12,5 +12,4 @@ export { CapabilityGate, type GateConfig, PermissionDenied } from './permissions
12
12
  export { GrantStore, type GrantSnapshot } from './permissions/grants.js';
13
13
  export { isWithinScope, originScopeDir, resolveScopedPath, ScopeViolation } from './permissions/scope.js';
14
14
  export { type CapabilityRequest, EMPTY_GRANT, type OriginGrant, type PermissionDecision, } from './permissions/types.js';
15
- export { type BinaryProvisionConfig, ensureBundledTool, findBundledTool, resolveBundledBinary, } from './binaries.js';
16
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/native/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC1G,OAAO,EACL,KAAK,iBAAiB,EACtB,WAAW,EACX,KAAK,WAAW,EAChB,KAAK,kBAAkB,GACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,KAAK,qBAAqB,EAC1B,iBAAiB,EACjB,eAAe,EACf,oBAAoB,GACrB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/native/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC1G,OAAO,EACL,KAAK,iBAAiB,EACtB,WAAW,EACX,KAAK,WAAW,EAChB,KAAK,kBAAkB,GACxB,MAAM,wBAAwB,CAAC"}
@@ -12,5 +12,4 @@ export { CapabilityGate, PermissionDenied } from './permissions/gate.js';
12
12
  export { GrantStore } from './permissions/grants.js';
13
13
  export { isWithinScope, originScopeDir, resolveScopedPath, ScopeViolation } from './permissions/scope.js';
14
14
  export { EMPTY_GRANT, } from './permissions/types.js';
15
- export { ensureBundledTool, findBundledTool, resolveBundledBinary, } from './binaries.js';
16
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/native/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAmB,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAmB,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAsB,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC1G,OAAO,EAEL,WAAW,GAGZ,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAEL,iBAAiB,EACjB,eAAe,EACf,oBAAoB,GACrB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/native/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAmB,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAmB,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAsB,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC1G,OAAO,EAEL,WAAW,GAGZ,MAAM,wBAAwB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ugly-app",
3
- "version": "0.1.744",
3
+ "version": "0.1.746",
4
4
  "type": "module",
5
5
  "comment:files": "Allowlist what ships to npm. dist = runtime; src = sourcemap targets (dist/*.js.map reference ../../src/); templates = CLI scaffold. Everything else at repo root (.pgdata local Postgres, coverage, assets/icons sources, test/, test-results/) is excluded by omission. The !negations strip the scaffold's installed deps + cruft (templates/node_modules is 200MB+ and must never ship). package.json/README/LICENSE ship automatically.",
6
6
  "files": [
@@ -1,2 +1,2 @@
1
1
  // Auto-generated by prebuild — do not edit manually
2
- export const CLI_VERSION = "0.1.744";
2
+ export const CLI_VERSION = "0.1.746";
@@ -24,6 +24,19 @@ export interface MarkdownEditorFunctions {
24
24
  * suppresses `onValueChanged` (the Y.Doc is the source of truth), so callers
25
25
  * pull markdown on demand here for a debounced canonical commit. */
26
26
  getMarkdown: () => string;
27
+ /** Scroll the first occurrence of `quote` into view and briefly highlight it.
28
+ * Whitespace-tolerant. Returns false when the text isn't found. Safe on
29
+ * read-only documents (does not move the selection). */
30
+ scrollToText: (quote: string) => boolean;
31
+ /** Anchor a new comment to the first occurrence of `quote`, pre-filled with
32
+ * `text` (e.g. turning coach feedback into a margin note). Inserts a
33
+ * collaborative comment anchor and reports the comment via `onCommentsChange`.
34
+ * Returns the new comment id, or null if the quote isn't found or the editor
35
+ * has no `onCommentsChange` handler. */
36
+ addCommentAtText: (
37
+ quote: string,
38
+ opts: { text: string; author?: string | null },
39
+ ) => string | null;
27
40
  }
28
41
 
29
42
  export interface MarkdownEditorProps {
@@ -269,6 +269,58 @@ function createMarkdownKeymap(useYjsUndo = false) {
269
269
  });
270
270
  }
271
271
 
272
+ /**
273
+ * Locate a run of text in the document, tolerant of whitespace differences
274
+ * (collapses runs of whitespace on both sides). Returns ProseMirror document
275
+ * positions `{ from, to }` for the first match, or `null`. Used by the
276
+ * imperative `scrollToText` / `addCommentAtText` helpers so callers can anchor
277
+ * to a quote (a Coach note, a search hit) without tracking positions.
278
+ */
279
+ function findTextRange(
280
+ doc: import('prosemirror-model').Node,
281
+ quote: string,
282
+ ): { from: number; to: number } | null {
283
+ const needle = quote.replace(/\s+/g, ' ').trim();
284
+ if (!needle) return null;
285
+ let norm = '';
286
+ const posMap: number[] = [];
287
+ let lastWasSpace = true; // skip leading whitespace
288
+ doc.descendants((node, pos) => {
289
+ if (node.isText && typeof node.text === 'string') {
290
+ const t = node.text;
291
+ for (let i = 0; i < t.length; i++) {
292
+ const isWs = /\s/.test(t[i]!);
293
+ if (isWs) {
294
+ if (lastWasSpace) continue;
295
+ lastWasSpace = true;
296
+ norm += ' ';
297
+ posMap.push(pos + i);
298
+ } else {
299
+ lastWasSpace = false;
300
+ norm += t[i];
301
+ posMap.push(pos + i);
302
+ }
303
+ }
304
+ return false; // text nodes have no children
305
+ }
306
+ // Treat block boundaries as a single separating space so a quote never
307
+ // silently spans two paragraphs, but paragraph-internal text stays joined.
308
+ if (node.isBlock && !lastWasSpace) {
309
+ lastWasSpace = true;
310
+ norm += ' ';
311
+ posMap.push(pos);
312
+ }
313
+ return true;
314
+ });
315
+ const idx = norm.indexOf(needle);
316
+ if (idx === -1) return null;
317
+ const endIdx = idx + needle.length - 1;
318
+ const from = posMap[idx];
319
+ const to = (posMap[endIdx] ?? from) + 1;
320
+ if (from === undefined) return null;
321
+ return { from, to };
322
+ }
323
+
272
324
  /**
273
325
  * ProseMirror-based Markdown Editor
274
326
  */
@@ -953,6 +1005,71 @@ export default function MarkdownEditorInternal(props: MarkdownEditorProps) {
953
1005
  }
954
1006
  }, []);
955
1007
 
1008
+ // Scroll a quote into view (search hit, cross-reference). Briefly flashes the
1009
+ // matched block so the reader can spot where they landed. Returns false when
1010
+ // the text isn't found. Does not move the selection, so it is safe on
1011
+ // read-only documents.
1012
+ const scrollToText = useCallback((quote: string): boolean => {
1013
+ const view = viewRef.current;
1014
+ if (!view) return false;
1015
+ const range = findTextRange(view.state.doc, quote);
1016
+ if (!range) return false;
1017
+ try {
1018
+ const at = view.domAtPos(range.from);
1019
+ const el =
1020
+ at.node.nodeType === Node.TEXT_NODE
1021
+ ? at.node.parentElement
1022
+ : (at.node as HTMLElement);
1023
+ if (!el) return false;
1024
+ el.scrollIntoView({ block: 'center', behavior: 'smooth' });
1025
+ if (el instanceof HTMLElement) {
1026
+ const prevBg = el.style.backgroundColor;
1027
+ const prevTransition = el.style.transition;
1028
+ el.style.transition = 'background-color 0.35s ease';
1029
+ el.style.backgroundColor = 'rgba(255, 204, 0, 0.25)';
1030
+ window.setTimeout(() => {
1031
+ el.style.backgroundColor = prevBg;
1032
+ window.setTimeout(() => {
1033
+ el.style.transition = prevTransition;
1034
+ }, 400);
1035
+ }, 1100);
1036
+ }
1037
+ return true;
1038
+ } catch {
1039
+ return false;
1040
+ }
1041
+ }, []);
1042
+
1043
+ // Anchor a comment to the first occurrence of `quote`, pre-filled with `text`.
1044
+ // Powers "pin to margin" flows (e.g. a coach turning feedback into a margin
1045
+ // note). Inserts the same zero-width `comment_anchor` mark the context-menu
1046
+ // "Add Comment" uses, then hands the metadata to `onCommentsChange`. Returns
1047
+ // the new comment id, or null if the quote isn't found / comments are off.
1048
+ const addCommentAtText = useCallback(
1049
+ (quote: string, opts: { text: string; author?: string | null }): string | null => {
1050
+ const view = viewRef.current;
1051
+ if (!view || !isDefined(props.onCommentsChange)) return null;
1052
+ const range = findTextRange(view.state.doc, quote);
1053
+ if (!range) return null;
1054
+ const newId = generateCommentId();
1055
+ const anchorNode = schema.text('​', [
1056
+ schema.marks.comment_anchor.create({ commentId: newId }),
1057
+ ]);
1058
+ view.dispatch(view.state.tr.insert(range.from, anchorNode));
1059
+ const newComment: Comment = {
1060
+ id: newId,
1061
+ author: opts.author ?? null,
1062
+ text: opts.text,
1063
+ resolved: false,
1064
+ replies: [],
1065
+ };
1066
+ props.onCommentsChange([...(commentsRef.current ?? []), newComment]);
1067
+ setActiveCommentId(newId);
1068
+ return newId;
1069
+ },
1070
+ [props.onCommentsChange],
1071
+ );
1072
+
956
1073
  // Push the TTS reveal offset into the karaoke plugin whenever it changes.
957
1074
  useEffect(() => {
958
1075
  const view = viewRef.current;
@@ -969,8 +1086,10 @@ export default function MarkdownEditorInternal(props: MarkdownEditorProps) {
969
1086
  insertHardBreak,
970
1087
  isMenuActive,
971
1088
  getMarkdown,
1089
+ scrollToText,
1090
+ addCommentAtText,
972
1091
  }),
973
- [blur, focus, setValue, insertHardBreak, isMenuActive, getMarkdown],
1092
+ [blur, focus, setValue, insertHardBreak, isMenuActive, getMarkdown, scrollToText, addCommentAtText],
974
1093
  );
975
1094
 
976
1095
  return (
@@ -18,10 +18,3 @@ export {
18
18
  type OriginGrant,
19
19
  type PermissionDecision,
20
20
  } from './permissions/types.js';
21
-
22
- export {
23
- type BinaryProvisionConfig,
24
- ensureBundledTool,
25
- findBundledTool,
26
- resolveBundledBinary,
27
- } from './binaries.js';
@@ -1,23 +0,0 @@
1
- export interface BinaryProvisionConfig {
2
- /** Where bundled tools are installed, e.g. `~/.ugly-studio/binaries`. */
3
- root: string;
4
- /** Base URL hosting `binaries-manifest.json` (the R2 mirror). */
5
- manifestBase: string;
6
- }
7
- /** The installed executable for `tool` under `root`, version-agnostic, or null. */
8
- export declare function findBundledTool(root: string, tool: string): string | null;
9
- /**
10
- * Resolve a tool name to a path: a downloaded binary under `cfg.root` when
11
- * present, else the bare name so the daemon's spawn resolves it on the system
12
- * PATH. `downloadable` lists tools the host actually mirrors (others always
13
- * fall through to PATH without a directory probe).
14
- */
15
- export declare function resolveBundledBinary(name: string, cfg: Pick<BinaryProvisionConfig, 'root'>, downloadable?: readonly string[]): string;
16
- /**
17
- * Best-effort: download `tool` from the mirror into `cfg.root` on first use.
18
- * Never fetches from the upstream project at runtime (the binary is mirrored to
19
- * R2 by the host's publish step). Never throws (falls back to a system tool);
20
- * idempotent + single-flight per tool.
21
- */
22
- export declare function ensureBundledTool(tool: string, cfg: BinaryProvisionConfig): Promise<void>;
23
- //# sourceMappingURL=binaries.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"binaries.d.ts","sourceRoot":"","sources":["../../../src/native/server/binaries.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,qBAAqB;IACpC,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,YAAY,EAAE,MAAM,CAAC;CACtB;AAgBD,mFAAmF;AACnF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWzE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,EACxC,YAAY,GAAE,SAAS,MAAM,EAAW,GACvC,MAAM,CAMR;AAsBD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDzF"}
@@ -1,142 +0,0 @@
1
- /**
2
- * Bundled-binary provisioning for the native daemon (lifted from Ugly Studio so
3
- * the daemon AND the test harness share one implementation). A host (Ugly
4
- * Studio) bundles a small set of tools by downloading them from its own R2
5
- * mirror on first launch; everything else resolves on the system PATH.
6
- *
7
- * Pure fs/child_process/fetch (no Electron) and fully parameterized — the
8
- * install root + manifest mirror are injected via `BinaryProvisionConfig`, so
9
- * nothing here hardcodes a particular app's paths or hostnames.
10
- *
11
- * The mirror exposes `<manifestBase>/binaries-manifest.json`:
12
- * { "<tool>": { "version": "x", "archives": { "<platform>-<arch>": { "url" } } } }
13
- * One `tar -xf` covers every platform's asset (bsdtar on mac/win unpacks zip).
14
- */
15
- import { basename, join } from 'node:path';
16
- import { chmodSync, existsSync, mkdirSync, readdirSync, rmSync, writeFileSync } from 'node:fs';
17
- import { execFile } from 'node:child_process';
18
- import { promisify } from 'node:util';
19
- const execFileP = promisify(execFile);
20
- const exeName = (tool) => (process.platform === 'win32' ? `${tool}.exe` : tool);
21
- function safeReaddir(dir) {
22
- try {
23
- return readdirSync(dir);
24
- }
25
- catch {
26
- return [];
27
- }
28
- }
29
- /** The installed executable for `tool` under `root`, version-agnostic, or null. */
30
- export function findBundledTool(root, tool) {
31
- const toolRoot = join(root, tool);
32
- if (!existsSync(toolRoot))
33
- return null;
34
- for (const ver of safeReaddir(toolRoot)) {
35
- const verDir = join(toolRoot, ver);
36
- for (const sub of safeReaddir(verDir)) {
37
- const p = join(verDir, sub, 'bin', exeName(tool));
38
- if (existsSync(p))
39
- return p;
40
- }
41
- }
42
- return null;
43
- }
44
- /**
45
- * Resolve a tool name to a path: a downloaded binary under `cfg.root` when
46
- * present, else the bare name so the daemon's spawn resolves it on the system
47
- * PATH. `downloadable` lists tools the host actually mirrors (others always
48
- * fall through to PATH without a directory probe).
49
- */
50
- export function resolveBundledBinary(name, cfg, downloadable = ['gh']) {
51
- if (downloadable.includes(name)) {
52
- const found = findBundledTool(cfg.root, name);
53
- if (found)
54
- return found;
55
- }
56
- return name;
57
- }
58
- /** Look up a tool's archive for this platform in the mirror's manifest. */
59
- async function toolFromManifest(cfg, tool) {
60
- try {
61
- const res = await fetch(`${cfg.manifestBase}/binaries-manifest.json`, { cache: 'no-store' });
62
- if (!res.ok)
63
- return null;
64
- const m = (await res.json());
65
- const entry = m[tool];
66
- const archive = entry?.archives[`${process.platform}-${process.arch}`];
67
- if (!entry || !archive?.url)
68
- return null;
69
- return { version: entry.version, url: archive.url };
70
- }
71
- catch {
72
- return null;
73
- }
74
- }
75
- const ensuring = new Map();
76
- /**
77
- * Best-effort: download `tool` from the mirror into `cfg.root` on first use.
78
- * Never fetches from the upstream project at runtime (the binary is mirrored to
79
- * R2 by the host's publish step). Never throws (falls back to a system tool);
80
- * idempotent + single-flight per tool.
81
- */
82
- export function ensureBundledTool(tool, cfg) {
83
- const key = `${cfg.root}:${tool}`;
84
- const inflight = ensuring.get(key);
85
- if (inflight)
86
- return inflight;
87
- const run = (async () => {
88
- // Every failure below leaves the tool UNINSTALLED and is best-effort (spawns
89
- // fall back to the system PATH). But when there's no system fallback either —
90
- // the common case for pnpm/node on a fresh host — the miss surfaces much later
91
- // as a cryptic `command not found` / ENOENT (-2) at spawn time with no trace.
92
- // So log each failure to console.error/warn (the desktop shells ship these to
93
- // studio.ugly.bot's errorLog) with the tool + reason, making bundle-binary
94
- // provisioning issues findable remotely instead of silent.
95
- const plat = `${process.platform}-${process.arch}`;
96
- try {
97
- if (findBundledTool(cfg.root, tool))
98
- return;
99
- const man = await toolFromManifest(cfg, tool);
100
- if (!man) {
101
- console.warn(`[binaries] ${tool}: not in the mirror manifest for ${plat} — falling back to system PATH (spawns will fail if it isn't installed)`);
102
- return;
103
- }
104
- const dir = join(cfg.root, tool, man.version);
105
- mkdirSync(dir, { recursive: true });
106
- const archive = join(dir, basename(new URL(man.url).pathname));
107
- const res = await fetch(man.url);
108
- if (!res.ok) {
109
- console.error(`[binaries] ${tool} ${man.version}: download failed HTTP ${res.status} ${res.statusText} from ${man.url} — tool will be UNAVAILABLE`);
110
- return;
111
- }
112
- writeFileSync(archive, Buffer.from(await res.arrayBuffer()));
113
- await execFileP('tar', ['-xf', archive, '-C', dir]);
114
- try {
115
- rmSync(archive);
116
- }
117
- catch {
118
- /* leave it */
119
- }
120
- const bin = findBundledTool(cfg.root, tool);
121
- if (!bin) {
122
- console.error(`[binaries] ${tool} ${man.version}: archive extracted to ${dir} but no runnable binary was found (corrupt download or unexpected layout) — tool will be UNAVAILABLE`);
123
- return;
124
- }
125
- if (process.platform !== 'win32') {
126
- try {
127
- chmodSync(bin, 0o755);
128
- }
129
- catch (e) {
130
- console.warn(`[binaries] ${tool}: could not chmod +x ${bin} (${e?.message ?? e}) — spawns may fail with EACCES`);
131
- }
132
- }
133
- }
134
- catch (e) {
135
- // Network / tar-extract / disk failure. Previously swallowed entirely.
136
- console.error(`[binaries] ${tool} (${plat}): provisioning failed — ${e?.message ?? String(e)} — tool will be UNAVAILABLE, spawns fall back to system PATH`);
137
- }
138
- })();
139
- ensuring.set(key, run);
140
- return run;
141
- }
142
- //# sourceMappingURL=binaries.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"binaries.js","sourceRoot":"","sources":["../../../src/native/server/binaries.ts"],"names":[],"mappings":"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"}
@@ -1,155 +0,0 @@
1
- /**
2
- * Bundled-binary provisioning for the native daemon (lifted from Ugly Studio so
3
- * the daemon AND the test harness share one implementation). A host (Ugly
4
- * Studio) bundles a small set of tools by downloading them from its own R2
5
- * mirror on first launch; everything else resolves on the system PATH.
6
- *
7
- * Pure fs/child_process/fetch (no Electron) and fully parameterized — the
8
- * install root + manifest mirror are injected via `BinaryProvisionConfig`, so
9
- * nothing here hardcodes a particular app's paths or hostnames.
10
- *
11
- * The mirror exposes `<manifestBase>/binaries-manifest.json`:
12
- * { "<tool>": { "version": "x", "archives": { "<platform>-<arch>": { "url" } } } }
13
- * One `tar -xf` covers every platform's asset (bsdtar on mac/win unpacks zip).
14
- */
15
- import { basename, join } from 'node:path';
16
- import { chmodSync, existsSync, mkdirSync, readdirSync, rmSync, writeFileSync } from 'node:fs';
17
- import { execFile } from 'node:child_process';
18
- import { promisify } from 'node:util';
19
-
20
- const execFileP = promisify(execFile);
21
-
22
- export interface BinaryProvisionConfig {
23
- /** Where bundled tools are installed, e.g. `~/.ugly-studio/binaries`. */
24
- root: string;
25
- /** Base URL hosting `binaries-manifest.json` (the R2 mirror). */
26
- manifestBase: string;
27
- }
28
-
29
- interface BinariesManifest {
30
- [tool: string]: { version: string; archives: Record<string, { url: string }> } | undefined;
31
- }
32
-
33
- const exeName = (tool: string): string => (process.platform === 'win32' ? `${tool}.exe` : tool);
34
-
35
- function safeReaddir(dir: string): string[] {
36
- try {
37
- return readdirSync(dir);
38
- } catch {
39
- return [];
40
- }
41
- }
42
-
43
- /** The installed executable for `tool` under `root`, version-agnostic, or null. */
44
- export function findBundledTool(root: string, tool: string): string | null {
45
- const toolRoot = join(root, tool);
46
- if (!existsSync(toolRoot)) return null;
47
- for (const ver of safeReaddir(toolRoot)) {
48
- const verDir = join(toolRoot, ver);
49
- for (const sub of safeReaddir(verDir)) {
50
- const p = join(verDir, sub, 'bin', exeName(tool));
51
- if (existsSync(p)) return p;
52
- }
53
- }
54
- return null;
55
- }
56
-
57
- /**
58
- * Resolve a tool name to a path: a downloaded binary under `cfg.root` when
59
- * present, else the bare name so the daemon's spawn resolves it on the system
60
- * PATH. `downloadable` lists tools the host actually mirrors (others always
61
- * fall through to PATH without a directory probe).
62
- */
63
- export function resolveBundledBinary(
64
- name: string,
65
- cfg: Pick<BinaryProvisionConfig, 'root'>,
66
- downloadable: readonly string[] = ['gh'],
67
- ): string {
68
- if (downloadable.includes(name)) {
69
- const found = findBundledTool(cfg.root, name);
70
- if (found) return found;
71
- }
72
- return name;
73
- }
74
-
75
- /** Look up a tool's archive for this platform in the mirror's manifest. */
76
- async function toolFromManifest(
77
- cfg: BinaryProvisionConfig,
78
- tool: string,
79
- ): Promise<{ version: string; url: string } | null> {
80
- try {
81
- const res = await fetch(`${cfg.manifestBase}/binaries-manifest.json`, { cache: 'no-store' });
82
- if (!res.ok) return null;
83
- const m = (await res.json()) as BinariesManifest;
84
- const entry = m[tool];
85
- const archive = entry?.archives[`${process.platform}-${process.arch}`];
86
- if (!entry || !archive?.url) return null;
87
- return { version: entry.version, url: archive.url };
88
- } catch {
89
- return null;
90
- }
91
- }
92
-
93
- const ensuring = new Map<string, Promise<void>>();
94
-
95
- /**
96
- * Best-effort: download `tool` from the mirror into `cfg.root` on first use.
97
- * Never fetches from the upstream project at runtime (the binary is mirrored to
98
- * R2 by the host's publish step). Never throws (falls back to a system tool);
99
- * idempotent + single-flight per tool.
100
- */
101
- export function ensureBundledTool(tool: string, cfg: BinaryProvisionConfig): Promise<void> {
102
- const key = `${cfg.root}:${tool}`;
103
- const inflight = ensuring.get(key);
104
- if (inflight) return inflight;
105
- const run = (async () => {
106
- // Every failure below leaves the tool UNINSTALLED and is best-effort (spawns
107
- // fall back to the system PATH). But when there's no system fallback either —
108
- // the common case for pnpm/node on a fresh host — the miss surfaces much later
109
- // as a cryptic `command not found` / ENOENT (-2) at spawn time with no trace.
110
- // So log each failure to console.error/warn (the desktop shells ship these to
111
- // studio.ugly.bot's errorLog) with the tool + reason, making bundle-binary
112
- // provisioning issues findable remotely instead of silent.
113
- const plat = `${process.platform}-${process.arch}`;
114
- try {
115
- if (findBundledTool(cfg.root, tool)) return;
116
- const man = await toolFromManifest(cfg, tool);
117
- if (!man) {
118
- console.warn(`[binaries] ${tool}: not in the mirror manifest for ${plat} — falling back to system PATH (spawns will fail if it isn't installed)`);
119
- return;
120
- }
121
- const dir = join(cfg.root, tool, man.version);
122
- mkdirSync(dir, { recursive: true });
123
- const archive = join(dir, basename(new URL(man.url).pathname));
124
- const res = await fetch(man.url);
125
- if (!res.ok) {
126
- console.error(`[binaries] ${tool} ${man.version}: download failed HTTP ${res.status} ${res.statusText} from ${man.url} — tool will be UNAVAILABLE`);
127
- return;
128
- }
129
- writeFileSync(archive, Buffer.from(await res.arrayBuffer()));
130
- await execFileP('tar', ['-xf', archive, '-C', dir]);
131
- try {
132
- rmSync(archive);
133
- } catch {
134
- /* leave it */
135
- }
136
- const bin = findBundledTool(cfg.root, tool);
137
- if (!bin) {
138
- console.error(`[binaries] ${tool} ${man.version}: archive extracted to ${dir} but no runnable binary was found (corrupt download or unexpected layout) — tool will be UNAVAILABLE`);
139
- return;
140
- }
141
- if (process.platform !== 'win32') {
142
- try {
143
- chmodSync(bin, 0o755);
144
- } catch (e) {
145
- console.warn(`[binaries] ${tool}: could not chmod +x ${bin} (${(e as Error)?.message ?? e}) — spawns may fail with EACCES`);
146
- }
147
- }
148
- } catch (e) {
149
- // Network / tar-extract / disk failure. Previously swallowed entirely.
150
- console.error(`[binaries] ${tool} (${plat}): provisioning failed — ${(e as Error)?.message ?? String(e)} — tool will be UNAVAILABLE, spawns fall back to system PATH`);
151
- }
152
- })();
153
- ensuring.set(key, run);
154
- return run;
155
- }