research-copilot 0.2.17 → 0.2.21

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.
Files changed (83) hide show
  1. package/README.md +7 -1
  2. package/app/out/main/index.mjs +2842 -188
  3. package/app/out/preload/index.js +2 -0
  4. package/app/out/renderer/assets/{MilkdownMarkdownEditor-tTNRIB2K.css → MilkdownMarkdownEditor-BW0Pt28W.css} +103 -15
  5. package/app/out/renderer/assets/{MilkdownMarkdownEditor-CuTa5j4S.js → MilkdownMarkdownEditor-OhCrq3X0.js} +99 -52
  6. package/app/out/renderer/assets/{arc-BAWS3N-F.js → arc-DLr0RP8F.js} +1 -1
  7. package/app/out/renderer/assets/{blockDiagram-c4efeb88-BHadwPqY.js → blockDiagram-c4efeb88-XhKChw2n.js} +8 -8
  8. package/app/out/renderer/assets/{c4Diagram-c83219d4-B3kOxRad.js → c4Diagram-c83219d4-DDoJmoIQ.js} +3 -3
  9. package/app/out/renderer/assets/{channel-Bll9CBqI.js → channel-CJCgJSqV.js} +1 -1
  10. package/app/out/renderer/assets/{classDiagram-beda092f-Dv7owGyx.js → classDiagram-beda092f-CAmimZpz.js} +6 -6
  11. package/app/out/renderer/assets/{classDiagram-v2-2358418a-cWrqk5tQ.js → classDiagram-v2-2358418a-Bma4E_Eg.js} +10 -10
  12. package/app/out/renderer/assets/{clone-D-DQ4nnY.js → clone-C338dmoI.js} +1 -1
  13. package/app/out/renderer/assets/{createText-1719965b-ciE8YuqI.js → createText-1719965b-_up4NJqB.js} +2 -2
  14. package/app/out/renderer/assets/{edges-96097737-DycnAYk_.js → edges-96097737-Bpp6hVLn.js} +3 -3
  15. package/app/out/renderer/assets/{erDiagram-0228fc6a-Sv78YNMY.js → erDiagram-0228fc6a-bjTh_7ap.js} +5 -5
  16. package/app/out/renderer/assets/{flowDb-c6c81e3f-BiOarg9b.js → flowDb-c6c81e3f-BjVV4DVk.js} +1 -1
  17. package/app/out/renderer/assets/{flowDiagram-50d868cf-19J80nxU.js → flowDiagram-50d868cf-gmeaaZ6z.js} +12 -12
  18. package/app/out/renderer/assets/{flowDiagram-v2-4f6560a1-c-kGsubV.js → flowDiagram-v2-4f6560a1-nem5zs2M.js} +12 -12
  19. package/app/out/renderer/assets/{flowchart-elk-definition-6af322e1-DRrYbiSC.js → flowchart-elk-definition-6af322e1-DPaGAYRw.js} +6 -6
  20. package/app/out/renderer/assets/{ganttDiagram-a2739b55-BadmpvMy.js → ganttDiagram-a2739b55-CnAti19E.js} +3 -3
  21. package/app/out/renderer/assets/{gitGraphDiagram-82fe8481-BdVoj60Q.js → gitGraphDiagram-82fe8481-DQWHD3SJ.js} +2 -2
  22. package/app/out/renderer/assets/{graph-jZhookGR.js → graph-DKiKgH8m.js} +1 -1
  23. package/app/out/renderer/assets/{index-B8fh500_.js → index-4s-c5d65.js} +3 -3
  24. package/app/out/renderer/assets/{index-5325376f-CbxmatXv.js → index-5325376f-G-0aO-2i.js} +6 -6
  25. package/app/out/renderer/assets/{index-CAlpJ3-o.js → index-9q_P5ULR.js} +4 -4
  26. package/app/out/renderer/assets/{index-cavFRVgM.js → index-B1A3JxQj.js} +3 -3
  27. package/app/out/renderer/assets/{index-B9kkJj3J.js → index-BBUrmGmY.js} +6 -6
  28. package/app/out/renderer/assets/{index-CMGDsC_t.js → index-BQho5LH-.js} +6 -6
  29. package/app/out/renderer/assets/{index-CirXkIv2.js → index-BUVlmsgO.js} +3 -3
  30. package/app/out/renderer/assets/{index-BWCwSkxb.js → index-BzEthrJ4.js} +3 -3
  31. package/app/out/renderer/assets/{index-B2UUF9y9.js → index-C1YzkB4z.js} +1289 -419
  32. package/app/out/renderer/assets/{index-D-ZMmLhv.js → index-CGo665vD.js} +3 -3
  33. package/app/out/renderer/assets/{index-DQwFQR1s.js → index-CPZaxR35.js} +3 -3
  34. package/app/out/renderer/assets/{index-DOUTte7i.js → index-CSyD1mbL.js} +3 -3
  35. package/app/out/renderer/assets/{index-BUcSHPha.js → index-Cf7vlFSn.js} +3 -3
  36. package/app/out/renderer/assets/{index-CZX0435B.js → index-CluH1o2q.js} +6 -6
  37. package/app/out/renderer/assets/{index-lAZsmnj1.css → index-CogwQwDN.css} +185 -32
  38. package/app/out/renderer/assets/{index-DEO9Jh2Y.js → index-Cw1n3klA.js} +5 -5
  39. package/app/out/renderer/assets/{index-BBUnWjLe.js → index-DFzvntIw.js} +3 -3
  40. package/app/out/renderer/assets/{index-g91Iwgxa.js → index-DHzyAhWM.js} +4 -4
  41. package/app/out/renderer/assets/{index-47oNNEnx.js → index-DhliHfCM.js} +6 -6
  42. package/app/out/renderer/assets/{index-DF_C6DjR.js → index-DkVFbCxC.js} +3 -3
  43. package/app/out/renderer/assets/{index-HCRA2-Q6.js → index-DpZJP5MT.js} +6 -6
  44. package/app/out/renderer/assets/{index-BXpNbFhG.js → index-Gfd_DiMG.js} +3 -3
  45. package/app/out/renderer/assets/{index-B110aKST.js → index-jOvNAYyP.js} +3 -3
  46. package/app/out/renderer/assets/{index-BTE0dEKO.js → index-rrJkk8KV.js} +6 -6
  47. package/app/out/renderer/assets/{index-DO5LsHlM.js → index-vfSerSmF.js} +1 -1
  48. package/app/out/renderer/assets/{infoDiagram-8eee0895-DpVt3Scv.js → infoDiagram-8eee0895-BCnBkXXS.js} +2 -2
  49. package/app/out/renderer/assets/{journeyDiagram-c64418c1-RYKX5mcV.js → journeyDiagram-c64418c1-Bq2wSX3k.js} +4 -4
  50. package/app/out/renderer/assets/{layout-BsbNXXgR.js → layout-BvkumzoT.js} +2 -2
  51. package/app/out/renderer/assets/{line-OzQTpJsh.js → line-eU4el-G4.js} +1 -1
  52. package/app/out/renderer/assets/{linear-DO5pdnqi.js → linear-DlBjMBEa.js} +1 -1
  53. package/app/out/renderer/assets/{mindmap-definition-8da855dc-D3zWs3h1.js → mindmap-definition-8da855dc-CzLBu7ao.js} +3 -3
  54. package/app/out/renderer/assets/{pieDiagram-a8764435-DDoNhSgQ.js → pieDiagram-a8764435--olrXFr_.js} +3 -3
  55. package/app/out/renderer/assets/{quadrantDiagram-1e28029f-ZO85SsRM.js → quadrantDiagram-1e28029f-BnpnBBgc.js} +3 -3
  56. package/app/out/renderer/assets/{requirementDiagram-08caed73-C-vKE6g8.js → requirementDiagram-08caed73-6O9WS7hn.js} +5 -5
  57. package/app/out/renderer/assets/{sankeyDiagram-a04cb91d-Cbqb2K-X.js → sankeyDiagram-a04cb91d-D-iJnK91.js} +2 -2
  58. package/app/out/renderer/assets/{sequenceDiagram-c5b8d532-BK4uvpEA.js → sequenceDiagram-c5b8d532-DBlK15cV.js} +3 -3
  59. package/app/out/renderer/assets/{stateDiagram-1ecb1508-DXa_YqNi.js → stateDiagram-1ecb1508-DKXKPYuk.js} +6 -6
  60. package/app/out/renderer/assets/{stateDiagram-v2-c2b004d7-Dm203Z8l.js → stateDiagram-v2-c2b004d7-DY288Eo5.js} +10 -10
  61. package/app/out/renderer/assets/{styles-b4e223ce-BV4b1eAh.js → styles-b4e223ce-CRJ_xgJ-.js} +1 -1
  62. package/app/out/renderer/assets/{styles-ca3715f6-CKhYSe7r.js → styles-ca3715f6-Bp_k5KLD.js} +1 -1
  63. package/app/out/renderer/assets/{styles-d45a18b0-DTCMfE-4.js → styles-d45a18b0-DLA8Gg6D.js} +4 -4
  64. package/app/out/renderer/assets/{svgDrawCommon-b86b1483-DK4i-dfJ.js → svgDrawCommon-b86b1483-Dm5CK2gQ.js} +1 -1
  65. package/app/out/renderer/assets/{timeline-definition-faaaa080-CE2LmuDH.js → timeline-definition-faaaa080-D-m9BHUg.js} +3 -3
  66. package/app/out/renderer/assets/{xychartDiagram-f5964ef8-Bd8KT9X9.js → xychartDiagram-f5964ef8-Drn4Rqev.js} +5 -5
  67. package/app/out/renderer/index.html +2 -2
  68. package/lib/skills/builtin/academic-marp-slides/SKILL.md +933 -0
  69. package/lib/skills/builtin/research-grants/SKILL.md +15 -11
  70. package/lib/skills/builtin/scholar-evaluation/SKILL.md +12 -11
  71. package/lib/skills/builtin/scientific-schematics/SKILL.md +463 -560
  72. package/lib/skills/builtin/teaching-marp-slides/SKILL.md +1218 -0
  73. package/package.json +1 -1
  74. package/scripts/audit-diagram-prompts.mjs +67 -0
  75. package/scripts/test-skill-routing.mjs +238 -0
  76. package/lib/skills/builtin/marp-slides/SKILL.md +0 -642
  77. package/lib/skills/builtin/scientific-schematics/references/QUICK_REFERENCE.md +0 -182
  78. package/lib/skills/builtin/scientific-schematics/references/README.md +0 -292
  79. package/lib/skills/builtin/scientific-schematics/scripts/__pycache__/generate_schematic.cpython-312.pyc +0 -0
  80. package/lib/skills/builtin/scientific-schematics/scripts/__pycache__/generate_schematic_ai.cpython-312.pyc +0 -0
  81. package/lib/skills/builtin/scientific-schematics/scripts/example_usage.sh +0 -85
  82. package/lib/skills/builtin/scientific-schematics/scripts/generate_schematic.py +0 -141
  83. package/lib/skills/builtin/scientific-schematics/scripts/generate_schematic_ai.py +0 -910
@@ -130,6 +130,8 @@ const api = {
130
130
  createDir: (relativePath) => electron.ipcRenderer.invoke("file:create-dir", relativePath),
131
131
  renameFile: (oldPath, newPath) => electron.ipcRenderer.invoke("file:rename", oldPath, newPath),
132
132
  trashFile: (filePath) => electron.ipcRenderer.invoke("file:trash", filePath),
133
+ revealInFinder: (filePath) => electron.ipcRenderer.invoke("file:reveal", filePath),
134
+ copyItem: (srcRelPath, destDirRelPath) => electron.ipcRenderer.invoke("file:copy-item", srcRelPath, destDirRelPath),
133
135
  dropToDir: (fileName, base64Content, targetDirRelPath) => electron.ipcRenderer.invoke("file:drop-to-dir", fileName, base64Content, targetDirRelPath),
134
136
  dropFile: (fileName, content, tab) => electron.ipcRenderer.invoke("file:drop", fileName, content, tab),
135
137
  enrichAllPapers: (paperIds) => electron.ipcRenderer.invoke("cmd:enrich-papers", paperIds),
@@ -2480,57 +2480,140 @@ body{counter-reset:katexEqnNo mmlEqnNo}
2480
2480
  }
2481
2481
 
2482
2482
  .entity-preview-milkdown-shell .milkdown .ProseMirror {
2483
- padding: 18px 20px;
2484
- min-height: 280px;
2483
+ padding: 10px 16px 16px;
2484
+ min-height: 240px;
2485
2485
  caret-color: var(--color-accent);
2486
2486
  }
2487
2487
 
2488
+ /* Compact vertical rhythm — Crepe's defaults leave a lot of breathing
2489
+ room between blocks that feels roomy in a full-width editor but wastes
2490
+ a quarter of a drawer's real estate. Each override below halves (or
2491
+ close to it) the original margin while preserving readable hierarchy. */
2492
+
2493
+ .entity-preview-milkdown-shell .milkdown .ProseMirror > :first-child {
2494
+ margin-top: 0;
2495
+ }
2496
+ .entity-preview-milkdown-shell .milkdown .ProseMirror h1,
2497
+ .entity-preview-milkdown-shell .milkdown .ProseMirror h2,
2498
+ .entity-preview-milkdown-shell .milkdown .ProseMirror h3,
2499
+ .entity-preview-milkdown-shell .milkdown .ProseMirror h4,
2500
+ .entity-preview-milkdown-shell .milkdown .ProseMirror h5,
2501
+ .entity-preview-milkdown-shell .milkdown .ProseMirror h6 {
2502
+ margin-top: 18px;
2503
+ margin-bottom: 6px;
2504
+ }
2505
+ .entity-preview-milkdown-shell .milkdown .ProseMirror h1:first-child,
2506
+ .entity-preview-milkdown-shell .milkdown .ProseMirror h2:first-child,
2507
+ .entity-preview-milkdown-shell .milkdown .ProseMirror h3:first-child,
2508
+ /* Crepe's `prosemirror-virtual-cursor` plugin renders the caret as a
2509
+ real, in-flow `<div class="prosemirror-virtual-cursor">` and inserts
2510
+ it as a child of `.ProseMirror` whenever the selection is collapsed.
2511
+ When that div sits before the leading heading it knocks the heading
2512
+ out of `:first-child`, so `margin-top: 0` stops applying and the
2513
+ regular 18px heading margin kicks in, shifting everything down by
2514
+ ~30px. Selecting text removes the cursor div and layout snaps back —
2515
+ that's the click/select "jump." A `ProseMirror-gapcursor` can land in
2516
+ the same slot at the document start, so cover both. */
2517
+ .entity-preview-milkdown-shell .milkdown .ProseMirror > .prosemirror-virtual-cursor + h1,
2518
+ .entity-preview-milkdown-shell .milkdown .ProseMirror > .prosemirror-virtual-cursor + h2,
2519
+ .entity-preview-milkdown-shell .milkdown .ProseMirror > .prosemirror-virtual-cursor + h3,
2520
+ .entity-preview-milkdown-shell .milkdown .ProseMirror > .ProseMirror-gapcursor + h1,
2521
+ .entity-preview-milkdown-shell .milkdown .ProseMirror > .ProseMirror-gapcursor + h2,
2522
+ .entity-preview-milkdown-shell .milkdown .ProseMirror > .ProseMirror-gapcursor + h3 {
2523
+ margin-top: 0;
2524
+ }
2525
+
2526
+ .entity-preview-milkdown-shell .milkdown .ProseMirror p {
2527
+ margin: 0 0 8px;
2528
+ }
2529
+ .entity-preview-milkdown-shell .milkdown .ProseMirror ul,
2530
+ .entity-preview-milkdown-shell .milkdown .ProseMirror ol {
2531
+ margin: 4px 0 8px;
2532
+ padding-left: 1.4em;
2533
+ }
2534
+ .entity-preview-milkdown-shell .milkdown .ProseMirror li {
2535
+ margin: 1px 0;
2536
+ }
2537
+ .entity-preview-milkdown-shell .milkdown .ProseMirror li > p {
2538
+ margin: 0;
2539
+ }
2540
+ .entity-preview-milkdown-shell .milkdown .ProseMirror blockquote {
2541
+ margin: 8px 0;
2542
+ padding: 2px 12px;
2543
+ border-left: 2px solid var(--color-border);
2544
+ }
2545
+ .entity-preview-milkdown-shell .milkdown .ProseMirror hr {
2546
+ margin: 14px 0;
2547
+ border: 0;
2548
+ border-top: 1px solid var(--color-border);
2549
+ }
2550
+ .entity-preview-milkdown-shell .milkdown .ProseMirror img {
2551
+ margin: 6px 0;
2552
+ max-width: 100%;
2553
+ height: auto;
2554
+ }
2555
+ .entity-preview-milkdown-shell .milkdown .ProseMirror table {
2556
+ margin: 8px 0;
2557
+ border-collapse: collapse;
2558
+ }
2559
+ .entity-preview-milkdown-shell .milkdown .ProseMirror table th,
2560
+ .entity-preview-milkdown-shell .milkdown .ProseMirror table td {
2561
+ padding: 4px 8px;
2562
+ border: 1px solid var(--color-border);
2563
+ }
2564
+
2565
+ /* Typographic scale sized to match the chat column (text-sm = 14px).
2566
+ Previously h1 was 26px and p line-height 1.6, which made the drawer
2567
+ feel a full octave louder than the surrounding chat. This scale keeps
2568
+ a readable hierarchy while keeping body text visually equivalent to
2569
+ the chat on both character size and line rhythm. */
2570
+
2488
2571
  .entity-preview-milkdown-shell .milkdown .ProseMirror h1 {
2489
2572
  font-family: var(--crepe-font-default);
2490
2573
  font-weight: 700;
2491
- font-size: 26px;
2492
- line-height: 34px;
2574
+ font-size: 20px;
2575
+ line-height: 28px;
2493
2576
  }
2494
2577
 
2495
2578
  .entity-preview-milkdown-shell .milkdown .ProseMirror h2 {
2496
2579
  font-family: var(--crepe-font-default);
2497
2580
  font-weight: 700;
2498
- font-size: 22px;
2499
- line-height: 30px;
2581
+ font-size: 17px;
2582
+ line-height: 24px;
2500
2583
  }
2501
2584
 
2502
2585
  .entity-preview-milkdown-shell .milkdown .ProseMirror h3 {
2503
2586
  font-family: var(--crepe-font-default);
2504
2587
  font-weight: 700;
2505
- font-size: 19px;
2506
- line-height: 27px;
2588
+ font-size: 15px;
2589
+ line-height: 22px;
2507
2590
  }
2508
2591
 
2509
2592
  .entity-preview-milkdown-shell .milkdown .ProseMirror h4 {
2510
2593
  font-family: var(--crepe-font-default);
2511
2594
  font-weight: 700;
2512
- font-size: 17px;
2513
- line-height: 25px;
2595
+ font-size: 14px;
2596
+ line-height: 20px;
2514
2597
  }
2515
2598
 
2516
2599
  .entity-preview-milkdown-shell .milkdown .ProseMirror h5 {
2517
2600
  font-family: var(--crepe-font-default);
2518
2601
  font-weight: 700;
2519
- font-size: 15px;
2520
- line-height: 23px;
2602
+ font-size: 13px;
2603
+ line-height: 19px;
2521
2604
  }
2522
2605
 
2523
2606
  .entity-preview-milkdown-shell .milkdown .ProseMirror h6 {
2524
2607
  font-family: var(--crepe-font-default);
2525
2608
  font-weight: 700;
2526
- font-size: 14px;
2527
- line-height: 22px;
2609
+ font-size: 13px;
2610
+ line-height: 19px;
2528
2611
  }
2529
2612
 
2530
2613
  .entity-preview-milkdown-shell .milkdown .ProseMirror p,
2531
2614
  .entity-preview-milkdown-shell .milkdown .ProseMirror li {
2532
2615
  font-size: 14px;
2533
- line-height: 1.6;
2616
+ line-height: 1.45;
2534
2617
  font-weight: 400;
2535
2618
  }
2536
2619
 
@@ -2543,10 +2626,15 @@ body{counter-reset:katexEqnNo mmlEqnNo}
2543
2626
 
2544
2627
  .entity-preview-milkdown-shell .milkdown .ProseMirror pre {
2545
2628
  border: 1px solid var(--color-border);
2629
+ margin: 8px 0;
2630
+ padding: 8px 10px;
2631
+ font-size: 12.5px;
2632
+ line-height: 1.5;
2546
2633
  }
2547
2634
 
2548
2635
  .entity-preview-milkdown-shell .milkdown .ProseMirror code {
2549
2636
  border-radius: 4px;
2637
+ font-size: 12.5px;
2550
2638
  }
2551
2639
 
2552
2640
  .entity-preview-milkdown-shell .milkdown .milkdown-toolbar {