research-copilot 0.2.9 → 0.2.10

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 (67) hide show
  1. package/README.md +42 -34
  2. package/app/out/main/index.mjs +42 -7
  3. package/app/out/preload/index.js +3 -2
  4. package/app/out/renderer/assets/{MilkdownMarkdownEditor-CK0d0F6d.js → MilkdownMarkdownEditor-De2Q1dek.js} +50 -50
  5. package/app/out/renderer/assets/{arc-CgrgxBD6.js → arc-C6EUFV_N.js} +1 -1
  6. package/app/out/renderer/assets/{blockDiagram-c4efeb88-BqZGW4Le.js → blockDiagram-c4efeb88-DPxImKGD.js} +8 -8
  7. package/app/out/renderer/assets/{c4Diagram-c83219d4-gNbl9eSr.js → c4Diagram-c83219d4-VnazgZ1X.js} +3 -3
  8. package/app/out/renderer/assets/{channel-vUNI1iNi.js → channel-DC2lk7Hf.js} +1 -1
  9. package/app/out/renderer/assets/{classDiagram-beda092f-jMkGJ9Ey.js → classDiagram-beda092f-CH4Xea-4.js} +6 -6
  10. package/app/out/renderer/assets/{classDiagram-v2-2358418a-CNuFkLzW.js → classDiagram-v2-2358418a-DQAT-8KP.js} +10 -10
  11. package/app/out/renderer/assets/{clone-rSI1fs-P.js → clone-DmzuvEez.js} +1 -1
  12. package/app/out/renderer/assets/{createText-1719965b-BXIo6gGa.js → createText-1719965b-DipiQz-3.js} +2 -2
  13. package/app/out/renderer/assets/{edges-96097737-nhmklBMU.js → edges-96097737-DMCNYzh0.js} +3 -3
  14. package/app/out/renderer/assets/{erDiagram-0228fc6a-DAEu9LLq.js → erDiagram-0228fc6a-BCYmzg3a.js} +5 -5
  15. package/app/out/renderer/assets/{flowDb-c6c81e3f-BCxc52Bt.js → flowDb-c6c81e3f-Dd2eD_J_.js} +1 -1
  16. package/app/out/renderer/assets/{flowDiagram-50d868cf-DAeMm-oV.js → flowDiagram-50d868cf-Cm_pVS1l.js} +12 -12
  17. package/app/out/renderer/assets/{flowDiagram-v2-4f6560a1-B3DiSW7H.js → flowDiagram-v2-4f6560a1-DmnPUt4m.js} +12 -12
  18. package/app/out/renderer/assets/{flowchart-elk-definition-6af322e1-C3U45hIj.js → flowchart-elk-definition-6af322e1-CWmjyrNl.js} +6 -6
  19. package/app/out/renderer/assets/{ganttDiagram-a2739b55-DH_BJl1v.js → ganttDiagram-a2739b55-zezz97ZG.js} +3 -3
  20. package/app/out/renderer/assets/{gitGraphDiagram-82fe8481-BQYI6jwt.js → gitGraphDiagram-82fe8481-B8AuyyHK.js} +2 -2
  21. package/app/out/renderer/assets/{graph-Cbmv2S9S.js → graph-CeW0ZYF_.js} +1 -1
  22. package/app/out/renderer/assets/{index-5325376f-tk-JBjUy.js → index-5325376f-ytL7PjAX.js} +6 -6
  23. package/app/out/renderer/assets/{index-Dk6CqgIG.js → index-Ay1x5fGf.js} +5 -5
  24. package/app/out/renderer/assets/{index-DcOi0itd.js → index-B0IaCM06.js} +111 -27
  25. package/app/out/renderer/assets/{index-ByH1hCUC.js → index-B0uWkIRD.js} +4 -4
  26. package/app/out/renderer/assets/{index-BTNmK-qR.js → index-B75z0HLs.js} +3 -3
  27. package/app/out/renderer/assets/{index-BkmP_G4w.js → index-BKsFANZc.js} +3 -3
  28. package/app/out/renderer/assets/{index-C4WNjCL0.js → index-Bvn-V7yR.js} +6 -6
  29. package/app/out/renderer/assets/{index-B05MKQl-.js → index-BvnI1484.js} +3 -3
  30. package/app/out/renderer/assets/{index-Bg6-UTvh.js → index-C-qLsVVB.js} +3 -3
  31. package/app/out/renderer/assets/{index-HX-NQu3g.js → index-C6pCLMcd.js} +6 -6
  32. package/app/out/renderer/assets/{index-Do8kanBG.js → index-C776N_wX.js} +1 -1
  33. package/app/out/renderer/assets/{index-DK2BzNnx.js → index-C7QDCbIv.js} +3 -3
  34. package/app/out/renderer/assets/{index-CqAzD5Mv.js → index-C9i71nBq.js} +6 -6
  35. package/app/out/renderer/assets/{index-DbWCHQ2E.js → index-CH0Tw6y0.js} +3 -3
  36. package/app/out/renderer/assets/{index-CdhMP7aL.js → index-CtSJ0GcR.js} +3 -3
  37. package/app/out/renderer/assets/{index--rks7CK0.js → index-CwqgQS0P.js} +3 -3
  38. package/app/out/renderer/assets/{index-QjeQ3sgb.js → index-CxruKWgd.js} +3 -3
  39. package/app/out/renderer/assets/{index-LbAr_1fx.css → index-D4U0VRks.css} +20 -0
  40. package/app/out/renderer/assets/{index-BdSZkB2P.js → index-DCzv5EHR.js} +4 -4
  41. package/app/out/renderer/assets/{index-BaHR_2Nj.js → index-DO8xKLcA.js} +3 -3
  42. package/app/out/renderer/assets/{index-DU4yTtXH.js → index-DfC33JyY.js} +3 -3
  43. package/app/out/renderer/assets/{index-DCdUaSNI.js → index-Dqp-JFMN.js} +3 -3
  44. package/app/out/renderer/assets/{index-hDvDO954.js → index-ETc6uiKn.js} +6 -6
  45. package/app/out/renderer/assets/{index-xqpIz9Nc.js → index-qA_Cm2qi.js} +6 -6
  46. package/app/out/renderer/assets/{index-BgoqHomD.js → index-rCpjMSg4.js} +6 -6
  47. package/app/out/renderer/assets/{infoDiagram-8eee0895-B7stNUSw.js → infoDiagram-8eee0895-C7ulMekA.js} +2 -2
  48. package/app/out/renderer/assets/{journeyDiagram-c64418c1-BmjjCYfG.js → journeyDiagram-c64418c1-B6EiRrRb.js} +4 -4
  49. package/app/out/renderer/assets/{layout-BwUXWB3n.js → layout-BQe3Guvd.js} +2 -2
  50. package/app/out/renderer/assets/{line-DAwxPIOb.js → line-DKt3MOVb.js} +1 -1
  51. package/app/out/renderer/assets/{linear-DF3tF_pi.js → linear-BkgDruk7.js} +1 -1
  52. package/app/out/renderer/assets/{mindmap-definition-8da855dc-Dcm6UXzX.js → mindmap-definition-8da855dc-B_OxB2wg.js} +3 -3
  53. package/app/out/renderer/assets/{pieDiagram-a8764435-DkGcoK7i.js → pieDiagram-a8764435-Cs6G_wWV.js} +3 -3
  54. package/app/out/renderer/assets/{quadrantDiagram-1e28029f-C1Q8r814.js → quadrantDiagram-1e28029f-CBOijGWr.js} +3 -3
  55. package/app/out/renderer/assets/{requirementDiagram-08caed73-C83u7Zho.js → requirementDiagram-08caed73-BWmZFvbN.js} +5 -5
  56. package/app/out/renderer/assets/{sankeyDiagram-a04cb91d-CmjgGu4H.js → sankeyDiagram-a04cb91d-Dz86q9nr.js} +2 -2
  57. package/app/out/renderer/assets/{sequenceDiagram-c5b8d532-B0tN0kuE.js → sequenceDiagram-c5b8d532-rgC0xuyv.js} +3 -3
  58. package/app/out/renderer/assets/{stateDiagram-1ecb1508-CvChhiL2.js → stateDiagram-1ecb1508-CUEUbsGu.js} +6 -6
  59. package/app/out/renderer/assets/{stateDiagram-v2-c2b004d7-DuV4iLKk.js → stateDiagram-v2-c2b004d7-CnX14ipk.js} +10 -10
  60. package/app/out/renderer/assets/{styles-b4e223ce-CYC1lyng.js → styles-b4e223ce-DoXfPoT8.js} +1 -1
  61. package/app/out/renderer/assets/{styles-ca3715f6-wbpEm70M.js → styles-ca3715f6-C9YwWiKc.js} +1 -1
  62. package/app/out/renderer/assets/{styles-d45a18b0-dtPSe0gc.js → styles-d45a18b0-BnKt7kQ1.js} +4 -4
  63. package/app/out/renderer/assets/{svgDrawCommon-b86b1483-DeFjfiKP.js → svgDrawCommon-b86b1483-Bz6F-KWS.js} +1 -1
  64. package/app/out/renderer/assets/{timeline-definition-faaaa080-WkpCNoL6.js → timeline-definition-faaaa080-Dc1X0wkq.js} +3 -3
  65. package/app/out/renderer/assets/{xychartDiagram-f5964ef8-DhjmJVco.js → xychartDiagram-f5964ef8-DOBthtKy.js} +5 -5
  66. package/app/out/renderer/index.html +2 -2
  67. package/package.json +1 -1
@@ -1,17 +1,17 @@
1
- import { f as flowDb, p as parser$1 } from "./flowDb-c6c81e3f-BCxc52Bt.js";
2
- import { f as flowStyles, a as flowRendererV2 } from "./styles-d45a18b0-dtPSe0gc.js";
3
- import { W as setConfig } from "./MilkdownMarkdownEditor-CK0d0F6d.js";
4
- import "./graph-Cbmv2S9S.js";
5
- import "./layout-BwUXWB3n.js";
6
- import "./index-5325376f-tk-JBjUy.js";
7
- import "./clone-rSI1fs-P.js";
8
- import "./edges-96097737-nhmklBMU.js";
9
- import "./createText-1719965b-BXIo6gGa.js";
10
- import "./index-DcOi0itd.js";
11
- import "./line-DAwxPIOb.js";
1
+ import { f as flowDb, p as parser$1 } from "./flowDb-c6c81e3f-Dd2eD_J_.js";
2
+ import { f as flowStyles, a as flowRendererV2 } from "./styles-d45a18b0-BnKt7kQ1.js";
3
+ import { W as setConfig } from "./MilkdownMarkdownEditor-De2Q1dek.js";
4
+ import "./graph-CeW0ZYF_.js";
5
+ import "./layout-BQe3Guvd.js";
6
+ import "./index-5325376f-ytL7PjAX.js";
7
+ import "./clone-DmzuvEez.js";
8
+ import "./edges-96097737-DMCNYzh0.js";
9
+ import "./createText-1719965b-DipiQz-3.js";
10
+ import "./index-B0IaCM06.js";
11
+ import "./line-DKt3MOVb.js";
12
12
  import "./array-DgktLKBx.js";
13
13
  import "./path-Cp2qmpkd.js";
14
- import "./channel-vUNI1iNi.js";
14
+ import "./channel-DC2lk7Hf.js";
15
15
  const diagram = {
16
16
  parser: parser$1,
17
17
  db: flowDb,
@@ -1,9 +1,9 @@
1
- import { p as parser$1, d as db } from "./flowDb-c6c81e3f-BCxc52Bt.js";
2
- import { u as select, v as log$1, ai as getConfig$1, ak as setupGraphViewbox$1, al as getStylesFromArray, am as interpolateToCurve, an as curveLinear, C as common$1 } from "./MilkdownMarkdownEditor-CK0d0F6d.js";
3
- import { i as insertMarkers$1, c as insertNode, l as labelHelper, b as insertEdgeLabel, k as getLineFunctionsWithOffset, m as addEdgeMarkers } from "./edges-96097737-nhmklBMU.js";
4
- import { g as getDefaultExportFromCjs, c as commonjsGlobal } from "./index-DcOi0itd.js";
5
- import { l as line } from "./line-DAwxPIOb.js";
6
- import "./createText-1719965b-BXIo6gGa.js";
1
+ import { p as parser$1, d as db } from "./flowDb-c6c81e3f-Dd2eD_J_.js";
2
+ import { u as select, v as log$1, ai as getConfig$1, ak as setupGraphViewbox$1, al as getStylesFromArray, am as interpolateToCurve, an as curveLinear, C as common$1 } from "./MilkdownMarkdownEditor-De2Q1dek.js";
3
+ import { i as insertMarkers$1, c as insertNode, l as labelHelper, b as insertEdgeLabel, k as getLineFunctionsWithOffset, m as addEdgeMarkers } from "./edges-96097737-DMCNYzh0.js";
4
+ import { g as getDefaultExportFromCjs, c as commonjsGlobal } from "./index-B0IaCM06.js";
5
+ import { l as line } from "./line-DKt3MOVb.js";
6
+ import "./createText-1719965b-DipiQz-3.js";
7
7
  import "./array-DgktLKBx.js";
8
8
  import "./path-Cp2qmpkd.js";
9
9
  function commonjsRequire(path) {
@@ -1,6 +1,6 @@
1
- import { aS as Rgb, aT as rgbConvert, aU as define, aV as extend, aW as Color, aX as nogamma, aY as hue, n as getAccDescription, m as setAccDescription, H as getDiagramTitle, J as setDiagramTitle, o as getAccTitle, q as setAccTitle, r as getConfig, u as select, w as configureSvgSize, aZ as dayjs, v as log$1, C as common$1, A as dist, M as clear$1, O as utils } from "./MilkdownMarkdownEditor-CK0d0F6d.js";
2
- import { c as commonjsGlobal, g as getDefaultExportFromCjs } from "./index-DcOi0itd.js";
3
- import { b as bisector, t as tickStep, c as continuous, a as copy, l as linear } from "./linear-DF3tF_pi.js";
1
+ import { aS as Rgb, aT as rgbConvert, aU as define, aV as extend, aW as Color, aX as nogamma, aY as hue, n as getAccDescription, m as setAccDescription, H as getDiagramTitle, J as setDiagramTitle, o as getAccTitle, q as setAccTitle, r as getConfig, u as select, w as configureSvgSize, aZ as dayjs, v as log$1, C as common$1, A as dist, M as clear$1, O as utils } from "./MilkdownMarkdownEditor-De2Q1dek.js";
2
+ import { c as commonjsGlobal, g as getDefaultExportFromCjs } from "./index-B0IaCM06.js";
3
+ import { b as bisector, t as tickStep, c as continuous, a as copy, l as linear } from "./linear-BkgDruk7.js";
4
4
  import { i as initRange } from "./init-ZxktEp_H.js";
5
5
  function max(values, valueof) {
6
6
  let max2;
@@ -1,5 +1,5 @@
1
- import { H as getDiagramTitle, J as setDiagramTitle, m as setAccDescription, n as getAccDescription, o as getAccTitle, q as setAccTitle, r as getConfig, v as log$1, u as select, O as utils, X as setupGraphViewbox, M as clear$2, C as common$1, Y as random } from "./MilkdownMarkdownEditor-CK0d0F6d.js";
2
- import "./index-DcOi0itd.js";
1
+ import { H as getDiagramTitle, J as setDiagramTitle, m as setAccDescription, n as getAccDescription, o as getAccTitle, q as setAccTitle, r as getConfig, v as log$1, u as select, O as utils, X as setupGraphViewbox, M as clear$2, C as common$1, Y as random } from "./MilkdownMarkdownEditor-De2Q1dek.js";
2
+ import "./index-B0IaCM06.js";
3
3
  var parser = function() {
4
4
  var o = function(k, v, o2, l) {
5
5
  for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v)
@@ -1,4 +1,4 @@
1
- import { bn as Symbol$1, bc as isArray, bf as isSymbol, bb as isArrayLike, bo as arrayLikeKeys, bp as baseKeys, bq as memoize, br as isArguments, bs as copyObject, b9 as keysIn, bt as getPrototype, bu as cloneArrayBuffer, bv as cloneTypedArray, bw as isObjectLike, bx as getTag, bk as baseUnary, by as nodeUtil, bh as isObject, bz as copyArray, bA as isBuffer, bB as cloneBuffer, bC as initCloneObject, bD as Stack, bj as assignValue, bE as MapCache, ba as eq, bF as Uint8Array, bG as isTypedArray, bH as isLength, bi as isIndex, bg as identity, bd as baseFor, bI as Set, b7 as baseRest, bJ as isArrayLikeObject, bl as constant, aR as isFunction, bK as isEmpty } from "./MilkdownMarkdownEditor-CK0d0F6d.js";
1
+ import { bn as Symbol$1, bc as isArray, bf as isSymbol, bb as isArrayLike, bo as arrayLikeKeys, bp as baseKeys, bq as memoize, br as isArguments, bs as copyObject, b9 as keysIn, bt as getPrototype, bu as cloneArrayBuffer, bv as cloneTypedArray, bw as isObjectLike, bx as getTag, bk as baseUnary, by as nodeUtil, bh as isObject, bz as copyArray, bA as isBuffer, bB as cloneBuffer, bC as initCloneObject, bD as Stack, bj as assignValue, bE as MapCache, ba as eq, bF as Uint8Array, bG as isTypedArray, bH as isLength, bi as isIndex, bg as identity, bd as baseFor, bI as Set, b7 as baseRest, bJ as isArrayLikeObject, bl as constant, aR as isFunction, bK as isEmpty } from "./MilkdownMarkdownEditor-De2Q1dek.js";
2
2
  function arrayMap(array, iteratee) {
3
3
  var index = -1, length = array == null ? 0 : array.length, result = Array(length);
4
4
  while (++index < length) {
@@ -1,9 +1,9 @@
1
- import { i as isUndefined, G as Graph } from "./graph-Cbmv2S9S.js";
2
- import { m as map, l as layout } from "./layout-BwUXWB3n.js";
3
- import { c as clone } from "./clone-rSI1fs-P.js";
4
- import { i as insertMarkers$1, u as updateNodeBounds, s as setNodeElem, c as insertNode, b as insertEdgeLabel, g as getSubGraphTitleMargins, d as positionNode, a as insertEdge, p as positionEdgeLabel, e as intersectRect$1, f as createLabel$1, h as clear$1$1, j as clear$2 } from "./edges-96097737-nhmklBMU.js";
5
- import { v as log$1, r as getConfig, S as evaluate, u as select } from "./MilkdownMarkdownEditor-CK0d0F6d.js";
6
- import { c as createText } from "./createText-1719965b-BXIo6gGa.js";
1
+ import { i as isUndefined, G as Graph } from "./graph-CeW0ZYF_.js";
2
+ import { m as map, l as layout } from "./layout-BQe3Guvd.js";
3
+ import { c as clone } from "./clone-DmzuvEez.js";
4
+ import { i as insertMarkers$1, u as updateNodeBounds, s as setNodeElem, c as insertNode, b as insertEdgeLabel, g as getSubGraphTitleMargins, d as positionNode, a as insertEdge, p as positionEdgeLabel, e as intersectRect$1, f as createLabel$1, h as clear$1$1, j as clear$2 } from "./edges-96097737-DMCNYzh0.js";
5
+ import { v as log$1, r as getConfig, S as evaluate, u as select } from "./MilkdownMarkdownEditor-De2Q1dek.js";
6
+ import { c as createText } from "./createText-1719965b-DipiQz-3.js";
7
7
  function write(g) {
8
8
  var json = {
9
9
  options: {
@@ -1,8 +1,8 @@
1
- import { L as LRParser, E as ExternalTokenizer, C as ContextTracker } from "./index-Do8kanBG.js";
2
- import { p as parseMixed, s as styleTags, t as tags, E as EditorView, e as syntaxTree, g as EditorSelection, a as LanguageSupport, L as LRLanguage, i as indentNodeProp, f as foldNodeProp, aK as bracketMatchingHandle } from "./MilkdownMarkdownEditor-CK0d0F6d.js";
3
- import { cssLanguage, css } from "./index-DCdUaSNI.js";
4
- import { typescriptLanguage, jsxLanguage, tsxLanguage, javascriptLanguage, javascript } from "./index--rks7CK0.js";
5
- import "./index-DcOi0itd.js";
1
+ import { L as LRParser, E as ExternalTokenizer, C as ContextTracker } from "./index-C776N_wX.js";
2
+ import { p as parseMixed, s as styleTags, t as tags, E as EditorView, e as syntaxTree, g as EditorSelection, a as LanguageSupport, L as LRLanguage, i as indentNodeProp, f as foldNodeProp, aK as bracketMatchingHandle } from "./MilkdownMarkdownEditor-De2Q1dek.js";
3
+ import { cssLanguage, css } from "./index-Dqp-JFMN.js";
4
+ import { typescriptLanguage, jsxLanguage, tsxLanguage, javascriptLanguage, javascript } from "./index-CwqgQS0P.js";
5
+ import "./index-B0IaCM06.js";
6
6
  const scriptText = 55, StartCloseScriptTag = 1, styleText = 56, StartCloseStyleTag = 2, textareaText = 57, StartCloseTextareaTag = 3, EndTag = 4, SelfClosingEndTag = 5, StartTag = 6, StartScriptTag = 7, StartStyleTag = 8, StartTextareaTag = 9, StartSelfClosingTag = 10, StartCloseTag = 11, NoMatchStartCloseTag = 12, MismatchedStartCloseTag = 13, missingCloseTag = 58, IncompleteTag = 14, IncompleteCloseTag = 15, commentContent$1 = 59, Element = 21, TagName = 23, Attribute = 24, AttributeName = 25, AttributeValue = 27, UnquotedAttributeValue = 28, ScriptText = 29, StyleText = 32, TextareaText = 35, OpenTag = 37, CloseTag = 38, Dialect_noMatch = 0, Dialect_selfClosing = 1;
7
7
  const selfClosers$1 = {
8
8
  area: true,
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./MilkdownMarkdownEditor-CK0d0F6d.js","./MilkdownMarkdownEditor-tTNRIB2K.css"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./MilkdownMarkdownEditor-De2Q1dek.js","./MilkdownMarkdownEditor-tTNRIB2K.css"])))=>i.map(i=>d[i]);
2
2
  var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
3
3
  function getDefaultExportFromCjs(x) {
4
4
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
@@ -13705,7 +13705,7 @@ const SUPPORTED_MODELS = [
13705
13705
  { id: "anthropic:claude-opus-4-5-20251101", label: "Claude Opus 4.5", provider: "Anthropic" },
13706
13706
  { id: "anthropic:claude-sonnet-4-5-20250929", label: "Claude Sonnet 4.5", provider: "Anthropic" },
13707
13707
  { id: "anthropic:claude-haiku-4-5-20251001", label: "Claude Haiku 4.5", provider: "Anthropic" },
13708
- // Claude Subscription (OAuth) — gated behind ENABLE_CLAUDE_SUB=1
13708
+ // Claude Subscription (OAuth) — enabled by default alongside ChatGPT Subscription
13709
13709
  { id: "anthropic-sub:claude-opus-4-6", label: "Claude Opus 4.6", provider: "Claude Subscription" },
13710
13710
  { id: "anthropic-sub:claude-opus-4-5-20251101", label: "Claude Opus 4.5", provider: "Claude Subscription" },
13711
13711
  { id: "anthropic-sub:claude-sonnet-4-5-20250929", label: "Claude Sonnet 4.5", provider: "Claude Subscription" },
@@ -13718,19 +13718,31 @@ const SPEED_OPTIONS = [
13718
13718
  { label: "Medium", value: "medium", desc: "Balanced processing. Suitable for most users." },
13719
13719
  { label: "Fast", value: "fast", desc: "Processes papers quickly when idle. Uses more API calls." }
13720
13720
  ];
13721
- const MODEL_GROUPS = (() => {
13722
- const groups = /* @__PURE__ */ new Map();
13723
- for (const m of SUPPORTED_MODELS) {
13724
- const list2 = groups.get(m.provider) || [];
13725
- list2.push(m);
13726
- groups.set(m.provider, list2);
13727
- }
13728
- return groups;
13729
- })();
13721
+ const PROVIDER_ORDER$1 = [
13722
+ "ChatGPT Subscription",
13723
+ "Claude Subscription",
13724
+ "OpenAI",
13725
+ "Anthropic"
13726
+ ];
13727
+ const MODEL_GROUPS = PROVIDER_ORDER$1.map((p) => [p, SUPPORTED_MODELS.filter((m) => m.provider === p)]).filter(([, models]) => models.length > 0);
13728
+ function isSubProvider(providerId) {
13729
+ return providerId === "anthropic-sub" || providerId === "openai-codex";
13730
+ }
13731
+ function providerOf(modelId) {
13732
+ const i = modelId.indexOf(":");
13733
+ return i > 0 ? modelId.slice(0, i) : "";
13734
+ }
13735
+ function labelFor(modelId) {
13736
+ const m = SUPPORTED_MODELS.find((x) => x.id === modelId);
13737
+ if (!m) return modelId;
13738
+ const suffix2 = isSubProvider(providerOf(modelId)) ? " (sub)" : " (api)";
13739
+ return m.label + suffix2;
13740
+ }
13730
13741
  function WikiAgentSettings({ model, speed, onChangeModel, onChangeSpeed }) {
13731
13742
  const [status, setStatus] = reactExports.useState(null);
13732
13743
  const [stats, setStats] = reactExports.useState(null);
13733
13744
  const [recentLog, setRecentLog] = reactExports.useState([]);
13745
+ const [autoResolved, setAutoResolved] = reactExports.useState(null);
13734
13746
  reactExports.useEffect(() => {
13735
13747
  api$f.wikiGetStatus?.().then((s15) => setStatus(s15)).catch(() => {
13736
13748
  });
@@ -13741,12 +13753,55 @@ function WikiAgentSettings({ model, speed, onChangeModel, onChangeSpeed }) {
13741
13753
  const unsub = api$f.onWikiStatus?.((s15) => setStatus(s15));
13742
13754
  return () => unsub?.();
13743
13755
  }, []);
13756
+ reactExports.useEffect(() => {
13757
+ if (model !== "auto") {
13758
+ setAutoResolved(null);
13759
+ return;
13760
+ }
13761
+ let cancelled = false;
13762
+ api$f.pickPreferredModel?.().then((m) => {
13763
+ if (!cancelled) setAutoResolved(m);
13764
+ }).catch(() => {
13765
+ if (!cancelled) setAutoResolved(null);
13766
+ });
13767
+ return () => {
13768
+ cancelled = true;
13769
+ };
13770
+ }, [model]);
13744
13771
  const enabled = model !== "none";
13745
13772
  const speedDesc = SPEED_OPTIONS.find((o2) => o2.value === speed)?.desc || "";
13773
+ const runningModelLabel = reactExports.useMemo(() => {
13774
+ if (model === "auto") {
13775
+ return autoResolved ? `Auto → ${labelFor(autoResolved)}` : "Auto (no auth configured)";
13776
+ }
13777
+ return labelFor(model);
13778
+ }, [model, autoResolved]);
13746
13779
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-6", children: [
13780
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "rounded-lg border border-amber-500/40 bg-amber-500/10 p-3 flex gap-2.5", children: [
13781
+ /* @__PURE__ */ jsxRuntimeExports.jsx(TriangleAlert, { size: 14, className: "shrink-0 mt-0.5 text-amber-500" }),
13782
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-1", children: [
13783
+ /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-[11px] font-semibold t-text", children: "Heads up: background token usage" }),
13784
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-[11px] t-text-muted leading-relaxed", children: [
13785
+ "The Paper Wiki runs in the background and sends every new paper through an LLM (intro + abstract + full text if available). A typical paper consumes roughly",
13786
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "t-text", children: " 8K–25K input tokens" }),
13787
+ " and produces",
13788
+ " ",
13789
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "t-text", children: "2K–4K output tokens" }),
13790
+ ", plus concept-page updates. Across a full library this can add up to ",
13791
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "t-text", children: "several dollars per day" }),
13792
+ " on API-key billing. ",
13793
+ /* @__PURE__ */ jsxRuntimeExports.jsx("strong", { children: "It is disabled by default" }),
13794
+ " — enable it below only after you've picked a model you're comfortable paying for, and prefer a subscription plan or a smaller/cheaper model for background work."
13795
+ ] })
13796
+ ] })
13797
+ ] }),
13747
13798
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
13748
13799
  /* @__PURE__ */ jsxRuntimeExports.jsx("h4", { className: "text-xs font-semibold t-text mb-1.5", children: "Wiki Agent Model" }),
13749
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-[11px] t-text-muted mb-2.5", children: "Select a model to power the background Paper Wiki agent. The wiki accumulates LLM-generated summaries of papers across all your projects. A smaller model is recommended for background processing." }),
13800
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-[11px] t-text-muted mb-2.5", children: [
13801
+ "Select a model to power the background Paper Wiki agent. The wiki accumulates LLM-generated summaries of papers across all your projects. A smaller model is recommended for background processing. Pick ",
13802
+ /* @__PURE__ */ jsxRuntimeExports.jsx("em", { children: "Auto" }),
13803
+ " to follow the system-wide model priority (subscription before API key)."
13804
+ ] }),
13750
13805
  /* @__PURE__ */ jsxRuntimeExports.jsxs(
13751
13806
  "select",
13752
13807
  {
@@ -13754,11 +13809,22 @@ function WikiAgentSettings({ model, speed, onChangeModel, onChangeSpeed }) {
13754
13809
  onChange: (e) => onChangeModel(e.target.value),
13755
13810
  className: "w-full px-3 py-1.5 rounded-lg border t-border t-bg-base t-text text-xs",
13756
13811
  children: [
13757
- /* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "none", children: "None (disabled)" }),
13758
- Array.from(MODEL_GROUPS.entries()).map(([provider, models]) => /* @__PURE__ */ jsxRuntimeExports.jsx("optgroup", { label: provider, children: models.map((m) => /* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: m.id, children: m.label }, m.id)) }, provider))
13812
+ /* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "none", children: "None (disabled — default)" }),
13813
+ /* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "auto", children: "Auto (match main model priority)" }),
13814
+ MODEL_GROUPS.map(([provider, models]) => /* @__PURE__ */ jsxRuntimeExports.jsx("optgroup", { label: provider, children: models.map((m) => {
13815
+ const suffix2 = isSubProvider(providerOf(m.id)) ? " (sub)" : " (api)";
13816
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("option", { value: m.id, children: [
13817
+ m.label,
13818
+ suffix2
13819
+ ] }, m.id);
13820
+ }) }, provider))
13759
13821
  ]
13760
13822
  }
13761
13823
  ),
13824
+ enabled && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-[10px] t-text-muted mt-1.5", children: [
13825
+ "Running: ",
13826
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "t-text", children: runningModelLabel })
13827
+ ] }),
13762
13828
  /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-[10px] t-text-muted mt-1.5 italic", children: "Changes take effect after app restart." })
13763
13829
  ] }),
13764
13830
  enabled && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
@@ -14273,9 +14339,8 @@ const useUIStore = create$1((set) => ({
14273
14339
  async function hydratePreferences() {
14274
14340
  const api2 = window.api;
14275
14341
  const prefs = await api2?.loadPreferences?.();
14276
- if (!prefs) return;
14277
14342
  const updates = {};
14278
- if (prefs.selectedModel) {
14343
+ if (prefs?.selectedModel) {
14279
14344
  const m = prefs.selectedModel;
14280
14345
  if (!m.includes(":")) {
14281
14346
  const { provider, modelId } = parseModelKey(m);
@@ -14283,8 +14348,14 @@ async function hydratePreferences() {
14283
14348
  } else {
14284
14349
  updates.selectedModel = m;
14285
14350
  }
14351
+ } else {
14352
+ try {
14353
+ const preferred = await api2?.pickPreferredModel?.();
14354
+ if (preferred) updates.selectedModel = preferred;
14355
+ } catch {
14356
+ }
14286
14357
  }
14287
- if (prefs.reasoningEffort) updates.reasoningEffort = prefs.reasoningEffort;
14358
+ if (prefs?.reasoningEffort) updates.reasoningEffort = prefs.reasoningEffort;
14288
14359
  if (Object.keys(updates).length > 0) useUIStore.setState(updates);
14289
14360
  }
14290
14361
  const uiStore = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
@@ -29082,7 +29153,15 @@ function UserProfile() {
29082
29153
  }
29083
29154
  );
29084
29155
  }
29085
- const allProviders = [...new Set(SUPPORTED_MODELS.map((m) => m.provider))];
29156
+ const PROVIDER_ORDER = [
29157
+ "ChatGPT Subscription",
29158
+ "Claude Subscription",
29159
+ "OpenAI",
29160
+ "Anthropic"
29161
+ ];
29162
+ const allProviders = PROVIDER_ORDER.filter(
29163
+ (p) => SUPPORTED_MODELS.some((m) => m.provider === p)
29164
+ );
29086
29165
  const allGroupedModels = {};
29087
29166
  for (const p of allProviders) {
29088
29167
  allGroupedModels[p] = SUPPORTED_MODELS.filter((m) => m.provider === p);
@@ -29098,9 +29177,8 @@ function ModelSelector$1({ selectedModel, onSelectModel }) {
29098
29177
  const [showOpenAIDialog, setShowOpenAIDialog] = reactExports.useState(false);
29099
29178
  const ref = reactExports.useRef(null);
29100
29179
  const api2 = window.api;
29101
- const claudeSubEnabled = api2?.isClaudeSubEnabled?.() ?? false;
29102
- const providers = claudeSubEnabled ? allProviders : allProviders.filter((p) => p !== "Claude Subscription");
29103
- const groupedModels = claudeSubEnabled ? allGroupedModels : Object.fromEntries(Object.entries(allGroupedModels).filter(([p]) => p !== "Claude Subscription"));
29180
+ const providers = allProviders;
29181
+ const groupedModels = allGroupedModels;
29104
29182
  const current = SUPPORTED_MODELS.find((m) => m.id === selectedModel);
29105
29183
  const refreshAnthropicStatus = reactExports.useCallback(async () => {
29106
29184
  try {
@@ -29147,12 +29225,12 @@ function ModelSelector$1({ selectedModel, onSelectModel }) {
29147
29225
  reactExports.useEffect(() => {
29148
29226
  refreshAnthropicStatus();
29149
29227
  refreshCodexStatus();
29150
- if (claudeSubEnabled) refreshAnthropicSubStatus();
29228
+ refreshAnthropicSubStatus();
29151
29229
  const unsub = api2?.onAnthropicAuthStatus?.((status) => setAnthropicStatus(status));
29152
29230
  return () => {
29153
29231
  if (typeof unsub === "function") unsub();
29154
29232
  };
29155
- }, [api2, refreshAnthropicStatus, refreshCodexStatus, refreshAnthropicSubStatus, claudeSubEnabled]);
29233
+ }, [api2, refreshAnthropicStatus, refreshCodexStatus, refreshAnthropicSubStatus]);
29156
29234
  const handleCodexLogin = async () => {
29157
29235
  setCodexLoggingIn(true);
29158
29236
  try {
@@ -29240,7 +29318,7 @@ function ModelSelector$1({ selectedModel, onSelectModel }) {
29240
29318
  refreshAnthropicStatus();
29241
29319
  };
29242
29320
  const { provider: currentProvider } = current ? parseModelKey(current.id) : { provider: "" };
29243
- const authBadge = currentProvider === "anthropic" ? anthropicStatus?.authMode === "api-key" ? "api" : "auth" : currentProvider === "anthropic-sub" ? "sub" : currentProvider === "openai-codex" ? "sub" : currentProvider === "openai" ? "api" : null;
29321
+ const authSuffix = currentProvider === "anthropic-sub" || currentProvider === "openai-codex" ? "sub" : currentProvider === "openai" || currentProvider === "anthropic" ? "api" : null;
29244
29322
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { ref, className: "relative", children: [
29245
29323
  /* @__PURE__ */ jsxRuntimeExports.jsxs(
29246
29324
  "button",
@@ -29261,8 +29339,14 @@ function ModelSelector$1({ selectedModel, onSelectModel }) {
29261
29339
  }
29262
29340
  ),
29263
29341
  /* @__PURE__ */ jsxRuntimeExports.jsx(Cpu, { size: 14 }),
29264
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "truncate max-w-[72px]", children: current?.label || selectedModel }),
29265
- authBadge && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[10px] px-1 rounded border t-border t-text-muted uppercase", children: authBadge }),
29342
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "truncate max-w-[108px]", children: [
29343
+ current?.label || selectedModel,
29344
+ authSuffix && /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "t-text-muted", children: [
29345
+ " (",
29346
+ authSuffix,
29347
+ ")"
29348
+ ] })
29349
+ ] }),
29266
29350
  /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronDown, { size: 12, className: `transition-transform ${open ? "rotate-180" : ""}` })
29267
29351
  ]
29268
29352
  }
@@ -32923,7 +33007,7 @@ function CenterPanel() {
32923
33007
  }
32924
33008
  const remarkPlugins = [remarkGfm];
32925
33009
  const LazyMilkdownMarkdownEditor = reactExports.lazy(async () => {
32926
- const mod = await __vitePreload(() => import("./MilkdownMarkdownEditor-CK0d0F6d.js").then((n) => n.bL), true ? __vite__mapDeps([0,1]) : void 0, import.meta.url);
33010
+ const mod = await __vitePreload(() => import("./MilkdownMarkdownEditor-De2Q1dek.js").then((n) => n.bL), true ? __vite__mapDeps([0,1]) : void 0, import.meta.url);
32927
33011
  return { default: mod.MilkdownMarkdownEditor };
32928
33012
  });
32929
33013
  const typeIcons = {
@@ -1,7 +1,7 @@
1
- import { a as LanguageSupport, L as LRLanguage, i as indentNodeProp, c as continuedIndent, f as foldNodeProp, j as foldInside, s as styleTags, t as tags } from "./MilkdownMarkdownEditor-CK0d0F6d.js";
2
- import { defineCSSCompletionSource } from "./index-DCdUaSNI.js";
3
- import { L as LRParser, E as ExternalTokenizer } from "./index-Do8kanBG.js";
4
- import "./index-DcOi0itd.js";
1
+ import { a as LanguageSupport, L as LRLanguage, i as indentNodeProp, c as continuedIndent, f as foldNodeProp, j as foldInside, s as styleTags, t as tags } from "./MilkdownMarkdownEditor-De2Q1dek.js";
2
+ import { defineCSSCompletionSource } from "./index-Dqp-JFMN.js";
3
+ import { L as LRParser, E as ExternalTokenizer } from "./index-C776N_wX.js";
4
+ import "./index-B0IaCM06.js";
5
5
  const descendantOp = 110, Unit = 1, openArgList = 2;
6
6
  const space = [
7
7
  9,
@@ -1,6 +1,6 @@
1
- import { L as LRParser, E as ExternalTokenizer, C as ContextTracker } from "./index-Do8kanBG.js";
2
- import { s as styleTags, t as tags, b as ifNotIn, e as syntaxTree, a as LanguageSupport, L as LRLanguage, i as indentNodeProp, h as delimitedIndent, f as foldNodeProp, j as foldInside, aw as NodeWeakMap, I as IterMode, d as completeFromList, av as snippetCompletion } from "./MilkdownMarkdownEditor-CK0d0F6d.js";
3
- import "./index-DcOi0itd.js";
1
+ import { L as LRParser, E as ExternalTokenizer, C as ContextTracker } from "./index-C776N_wX.js";
2
+ import { s as styleTags, t as tags, b as ifNotIn, e as syntaxTree, a as LanguageSupport, L as LRLanguage, i as indentNodeProp, h as delimitedIndent, f as foldNodeProp, j as foldInside, aw as NodeWeakMap, I as IterMode, d as completeFromList, av as snippetCompletion } from "./MilkdownMarkdownEditor-De2Q1dek.js";
3
+ import "./index-B0IaCM06.js";
4
4
  const printKeyword = 1, indent = 194, dedent = 195, newline$1 = 196, blankLineStart = 197, newlineBracketed = 198, eof = 199, stringContent = 200, Escape = 2, replacementStart = 3, stringEnd = 201, ParenL = 24, ParenthesizedExpression = 25, TupleExpression = 49, ComprehensionExpression = 50, BracketL = 55, ArrayExpression = 56, ArrayComprehensionExpression = 57, BraceL = 59, DictionaryExpression = 60, DictionaryComprehensionExpression = 61, SetExpression = 62, SetComprehensionExpression = 63, ArgList = 65, subscript = 238, String$1 = 71, stringStart = 241, stringStartD = 242, stringStartL = 243, stringStartLD = 244, stringStartR = 245, stringStartRD = 246, stringStartRL = 247, stringStartRLD = 248, FormatString = 72, stringStartF = 249, stringStartFD = 250, stringStartFL = 251, stringStartFLD = 252, stringStartFR = 253, stringStartFRD = 254, stringStartFRL = 255, stringStartFRLD = 256, FormatReplacement = 73, nestedFormatReplacement = 77, importList = 263, TypeParamList = 112, ParamList = 130, SequencePattern = 151, MappingPattern = 152, PatternArgList = 155;
5
5
  const newline = 10, carriageReturn = 13, space = 32, tab = 9, hash = 35, parenOpen = 40, dot = 46, braceOpen = 123, braceClose = 125, singleQuote = 39, doubleQuote = 34, backslash = 92, letter_o = 111, letter_x = 120, letter_N = 78, letter_u = 117, letter_U = 85;
6
6
  const bracketed = /* @__PURE__ */ new Set([
@@ -1,6 +1,6 @@
1
- import { L as LRLanguage, a as LanguageSupport, i as indentNodeProp, c as continuedIndent, f as foldNodeProp, s as styleTags, t as tags, b as ifNotIn, d as completeFromList, e as syntaxTree } from "./MilkdownMarkdownEditor-CK0d0F6d.js";
2
- import { E as ExternalTokenizer, L as LRParser } from "./index-Do8kanBG.js";
3
- import "./index-DcOi0itd.js";
1
+ import { L as LRLanguage, a as LanguageSupport, i as indentNodeProp, c as continuedIndent, f as foldNodeProp, s as styleTags, t as tags, b as ifNotIn, d as completeFromList, e as syntaxTree } from "./MilkdownMarkdownEditor-De2Q1dek.js";
2
+ import { E as ExternalTokenizer, L as LRParser } from "./index-C776N_wX.js";
3
+ import "./index-B0IaCM06.js";
4
4
  const whitespace = 36, LineComment = 1, BlockComment = 2, String$1 = 3, Number = 4, Bool = 5, Null = 6, ParenL = 7, ParenR = 8, BraceL = 9, BraceR = 10, BracketL = 11, BracketR = 12, Semi = 13, Dot = 14, Operator = 15, Punctuation = 16, SpecialVar = 17, Identifier = 18, QuotedIdentifier = 19, Keyword = 20, Type = 21, Bits = 22, Bytes = 23, Builtin = 24;
5
5
  function isAlpha(ch) {
6
6
  return ch >= 65 && ch <= 90 || ch >= 97 && ch <= 122 || ch >= 48 && ch <= 57;
@@ -1,9 +1,9 @@
1
- import { L as LRLanguage, a as LanguageSupport, p as parseMixed, s as styleTags, t as tags } from "./MilkdownMarkdownEditor-CK0d0F6d.js";
2
- import { html } from "./index-Dk6CqgIG.js";
3
- import { javascriptLanguage } from "./index--rks7CK0.js";
4
- import { L as LRParser, a as LocalTokenGroup } from "./index-Do8kanBG.js";
5
- import "./index-DcOi0itd.js";
6
- import "./index-DCdUaSNI.js";
1
+ import { L as LRLanguage, a as LanguageSupport, p as parseMixed, s as styleTags, t as tags } from "./MilkdownMarkdownEditor-De2Q1dek.js";
2
+ import { html } from "./index-Ay1x5fGf.js";
3
+ import { javascriptLanguage } from "./index-CwqgQS0P.js";
4
+ import { L as LRParser, a as LocalTokenGroup } from "./index-C776N_wX.js";
5
+ import "./index-B0IaCM06.js";
6
+ import "./index-Dqp-JFMN.js";
7
7
  const parser = /* @__PURE__ */ LRParser.deserialize({
8
8
  version: 14,
9
9
  states: "%pOVOWOOObQPOOOpOSO'#C_OOOO'#Cp'#CpQVOWOOQxQPOOO!TQQOOQ!YQPOOOOOO,58y,58yO!_OSO,58yOOOO-E6n-E6nO!dQQO'#CqQ{QPOOO!iQPOOQ{QPOOO!qQPOOOOOO1G.e1G.eOOQO,59],59]OOQO-E6o-E6oO!yOpO'#CiO#RO`O'#CiQOQPOOO#ZO#tO'#CmO#fO!bO'#CmOOQO,59T,59TO#qOpO,59TO#vO`O,59TOOOO'#Cr'#CrO#{O#tO,59XOOQO,59X,59XOOOO'#Cs'#CsO$WO!bO,59XOOQO1G.o1G.oOOOO-E6p-E6pOOQO1G.s1G.sOOOO-E6q-E6q",
@@ -1,6 +1,6 @@
1
- import { L as LRParser } from "./index-Do8kanBG.js";
2
- import { s as styleTags, t as tags, a as LanguageSupport, L as LRLanguage, i as indentNodeProp, c as continuedIndent, f as foldNodeProp, j as foldInside } from "./MilkdownMarkdownEditor-CK0d0F6d.js";
3
- import "./index-DcOi0itd.js";
1
+ import { L as LRParser } from "./index-C776N_wX.js";
2
+ import { s as styleTags, t as tags, a as LanguageSupport, L as LRLanguage, i as indentNodeProp, c as continuedIndent, f as foldNodeProp, j as foldInside } from "./MilkdownMarkdownEditor-De2Q1dek.js";
3
+ import "./index-B0IaCM06.js";
4
4
  const jsonHighlighting = styleTags({
5
5
  String: tags.string,
6
6
  Number: tags.number,
@@ -1,6 +1,6 @@
1
- import { L as LRParser, E as ExternalTokenizer, C as ContextTracker } from "./index-Do8kanBG.js";
2
- import { s as styleTags, t as tags, a as LanguageSupport, p as parseMixed, L as LRLanguage, i as indentNodeProp, h as delimitedIndent, f as foldNodeProp, j as foldInside } from "./MilkdownMarkdownEditor-CK0d0F6d.js";
3
- import "./index-DcOi0itd.js";
1
+ import { L as LRParser, E as ExternalTokenizer, C as ContextTracker } from "./index-C776N_wX.js";
2
+ import { s as styleTags, t as tags, a as LanguageSupport, p as parseMixed, L as LRLanguage, i as indentNodeProp, h as delimitedIndent, f as foldNodeProp, j as foldInside } from "./MilkdownMarkdownEditor-De2Q1dek.js";
3
+ import "./index-B0IaCM06.js";
4
4
  const blockEnd = 63, eof = 64, DirectiveEnd = 1, DocEnd = 2, sequenceStartMark = 3, sequenceContinueMark = 4, explicitMapStartMark = 5, explicitMapContinueMark = 6, flowMapMark = 7, mapStartMark = 65, mapContinueMark = 66, Literal = 8, QuotedLiteral = 9, Anchor = 10, Alias = 11, Tag = 12, BlockLiteralContent = 13, BracketL = 19, FlowSequence = 20, Colon = 29, BraceL = 33, FlowMapping = 34, BlockLiteralHeader = 47;
5
5
  const type_Top = 0, type_Seq = 1, type_Map = 2, type_Flow = 3, type_Lit = 4;
6
6
  class Context {
@@ -1,9 +1,9 @@
1
- import { E as EditorView, g as EditorSelection, a as LanguageSupport, p as parseMixed, e as syntaxTree, L as LRLanguage, s as styleTags, t as tags, i as indentNodeProp, h as delimitedIndent, f as foldNodeProp } from "./MilkdownMarkdownEditor-CK0d0F6d.js";
2
- import { html } from "./index-Dk6CqgIG.js";
3
- import { L as LRParser, E as ExternalTokenizer, a as LocalTokenGroup } from "./index-Do8kanBG.js";
4
- import "./index-DcOi0itd.js";
5
- import "./index-DCdUaSNI.js";
6
- import "./index--rks7CK0.js";
1
+ import { E as EditorView, g as EditorSelection, a as LanguageSupport, p as parseMixed, e as syntaxTree, L as LRLanguage, s as styleTags, t as tags, i as indentNodeProp, h as delimitedIndent, f as foldNodeProp } from "./MilkdownMarkdownEditor-De2Q1dek.js";
2
+ import { html } from "./index-Ay1x5fGf.js";
3
+ import { L as LRParser, E as ExternalTokenizer, a as LocalTokenGroup } from "./index-C776N_wX.js";
4
+ import "./index-B0IaCM06.js";
5
+ import "./index-Dqp-JFMN.js";
6
+ import "./index-CwqgQS0P.js";
7
7
  const interpolationStart = 1, commentTagStart = 2, tagStart = 3, text = 155, endrawTagStart = 4, rawText = 156;
8
8
  function wordChar(code) {
9
9
  return code >= 65 && code <= 90 || code >= 97 && code <= 122;
@@ -1,4 +1,4 @@
1
- import { P as Parser, N as NodeSet, k as NodeType, D as DefaultBufferLength, l as NodeProp, T as Tree, I as IterMode } from "./MilkdownMarkdownEditor-CK0d0F6d.js";
1
+ import { P as Parser, N as NodeSet, k as NodeType, D as DefaultBufferLength, l as NodeProp, T as Tree, I as IterMode } from "./MilkdownMarkdownEditor-De2Q1dek.js";
2
2
  var define_process_env_default = {};
3
3
  class Stack {
4
4
  /**
@@ -1,6 +1,6 @@
1
- import { L as LRParser, E as ExternalTokenizer, a as LocalTokenGroup } from "./index-Do8kanBG.js";
2
- import { s as styleTags, t as tags, a as LanguageSupport, L as LRLanguage, i as indentNodeProp, au as flatIndent, c as continuedIndent, h as delimitedIndent, f as foldNodeProp, j as foldInside } from "./MilkdownMarkdownEditor-CK0d0F6d.js";
3
- import "./index-DcOi0itd.js";
1
+ import { L as LRParser, E as ExternalTokenizer, a as LocalTokenGroup } from "./index-C776N_wX.js";
2
+ import { s as styleTags, t as tags, a as LanguageSupport, L as LRLanguage, i as indentNodeProp, au as flatIndent, c as continuedIndent, h as delimitedIndent, f as foldNodeProp, j as foldInside } from "./MilkdownMarkdownEditor-De2Q1dek.js";
3
+ import "./index-B0IaCM06.js";
4
4
  const RawString = 1, templateArgsEndFallback = 2, MacroName = 3;
5
5
  const R = 82, L = 76, u = 117, U = 85, a = 97, z = 122, A = 65, Z = 90, Underscore = 95, Zero = 48, Quote = 34, ParenL = 40, ParenR = 41, Space = 32, GreaterThan = 62;
6
6
  const rawString = new ExternalTokenizer((input) => {
@@ -1,9 +1,9 @@
1
- import { L as LRParser, E as ExternalTokenizer } from "./index-Do8kanBG.js";
2
- import { s as styleTags, t as tags, a as LanguageSupport, p as parseMixed, L as LRLanguage, i as indentNodeProp, c as continuedIndent, h as delimitedIndent, f as foldNodeProp, j as foldInside } from "./MilkdownMarkdownEditor-CK0d0F6d.js";
3
- import { html } from "./index-Dk6CqgIG.js";
4
- import "./index-DcOi0itd.js";
5
- import "./index-DCdUaSNI.js";
6
- import "./index--rks7CK0.js";
1
+ import { L as LRParser, E as ExternalTokenizer } from "./index-C776N_wX.js";
2
+ import { s as styleTags, t as tags, a as LanguageSupport, p as parseMixed, L as LRLanguage, i as indentNodeProp, c as continuedIndent, h as delimitedIndent, f as foldNodeProp, j as foldInside } from "./MilkdownMarkdownEditor-De2Q1dek.js";
3
+ import { html } from "./index-Ay1x5fGf.js";
4
+ import "./index-B0IaCM06.js";
5
+ import "./index-Dqp-JFMN.js";
6
+ import "./index-CwqgQS0P.js";
7
7
  const castOpen = 1, HeredocString = 2, interpolatedStringContent = 275, EscapeSequence = 3, afterInterpolation = 276, automaticSemicolon = 277, eof = 278, abstract = 4, and = 5, array = 6, as = 7, Boolean = 8, _break = 9, _case = 10, _catch = 11, clone = 12, _const = 13, _continue = 14, _default = 15, declare = 16, _do = 17, echo = 18, _else = 19, elseif = 20, enddeclare = 21, endfor = 22, endforeach = 23, endif = 24, endswitch = 25, endwhile = 26, _enum = 27, _extends = 28, final = 29, _finally = 30, fn = 31, _for = 32, foreach = 33, from = 34, _function = 35, global = 36, goto = 37, _if = 38, _implements = 39, include = 40, include_once = 41, _instanceof = 42, insteadof = 43, _interface = 44, list = 45, match = 46, namespace = 47, _new = 48, _null = 49, or = 50, print = 51, readonly = 52, _require = 53, require_once = 54, _return = 55, _switch = 56, _throw = 57, trait = 58, _try = 59, unset = 60, use = 61, _var = 62, Visibility = 63, _while = 64, xor = 65, _yield = 66;
8
8
  const keywordMap = {
9
9
  abstract,
@@ -1,6 +1,6 @@
1
- import { L as LRParser, E as ExternalTokenizer, C as ContextTracker } from "./index-Do8kanBG.js";
2
- import { s as styleTags, t as tags, E as EditorView, e as syntaxTree, g as EditorSelection, a as LanguageSupport, L as LRLanguage, i as indentNodeProp, f as foldNodeProp, aK as bracketMatchingHandle } from "./MilkdownMarkdownEditor-CK0d0F6d.js";
3
- import "./index-DcOi0itd.js";
1
+ import { L as LRParser, E as ExternalTokenizer, C as ContextTracker } from "./index-C776N_wX.js";
2
+ import { s as styleTags, t as tags, E as EditorView, e as syntaxTree, g as EditorSelection, a as LanguageSupport, L as LRLanguage, i as indentNodeProp, f as foldNodeProp, aK as bracketMatchingHandle } from "./MilkdownMarkdownEditor-De2Q1dek.js";
3
+ import "./index-B0IaCM06.js";
4
4
  const StartTag = 1, StartCloseTag = 2, MissingCloseTag = 3, mismatchedStartCloseTag = 4, incompleteStartCloseTag = 5, commentContent$1 = 36, piContent$1 = 37, cdataContent$1 = 38, Element$1 = 11, OpenTag = 13;
5
5
  function nameChar(ch) {
6
6
  return ch == 45 || ch == 46 || ch == 58 || ch >= 65 && ch <= 90 || ch == 95 || ch >= 97 && ch <= 122 || ch >= 161;
@@ -1,6 +1,6 @@
1
- import { a as LanguageSupport, L as LRLanguage, i as indentNodeProp, h as delimitedIndent, f as foldNodeProp, j as foldInside, s as styleTags, t as tags } from "./MilkdownMarkdownEditor-CK0d0F6d.js";
2
- import { L as LRParser } from "./index-Do8kanBG.js";
3
- import "./index-DcOi0itd.js";
1
+ import { a as LanguageSupport, L as LRLanguage, i as indentNodeProp, h as delimitedIndent, f as foldNodeProp, j as foldInside, s as styleTags, t as tags } from "./MilkdownMarkdownEditor-De2Q1dek.js";
2
+ import { L as LRParser } from "./index-C776N_wX.js";
3
+ import "./index-B0IaCM06.js";
4
4
  const spec_Keyword = { __proto__: null, anyref: 34, dataref: 34, eqref: 34, externref: 34, i31ref: 34, funcref: 34, i8: 34, i16: 34, i32: 34, i64: 34, f32: 34, f64: 34 };
5
5
  const parser = /* @__PURE__ */ LRParser.deserialize({
6
6
  version: 14,
@@ -1,6 +1,6 @@
1
- import { L as LRParser, E as ExternalTokenizer, a as LocalTokenGroup, C as ContextTracker } from "./index-Do8kanBG.js";
2
- import { s as styleTags, t as tags, E as EditorView, e as syntaxTree, g as EditorSelection, a as LanguageSupport, b as ifNotIn, d as completeFromList, L as LRLanguage, i as indentNodeProp, au as flatIndent, c as continuedIndent, h as delimitedIndent, f as foldNodeProp, j as foldInside, aL as sublanguageProp, av as snippetCompletion, aE as defineLanguageFacet, aw as NodeWeakMap, I as IterMode } from "./MilkdownMarkdownEditor-CK0d0F6d.js";
3
- import "./index-DcOi0itd.js";
1
+ import { L as LRParser, E as ExternalTokenizer, a as LocalTokenGroup, C as ContextTracker } from "./index-C776N_wX.js";
2
+ import { s as styleTags, t as tags, E as EditorView, e as syntaxTree, g as EditorSelection, a as LanguageSupport, b as ifNotIn, d as completeFromList, L as LRLanguage, i as indentNodeProp, au as flatIndent, c as continuedIndent, h as delimitedIndent, f as foldNodeProp, j as foldInside, aL as sublanguageProp, av as snippetCompletion, aE as defineLanguageFacet, aw as NodeWeakMap, I as IterMode } from "./MilkdownMarkdownEditor-De2Q1dek.js";
3
+ import "./index-B0IaCM06.js";
4
4
  const noSemi = 316, noSemiType = 317, incdec = 1, incdecPrefix = 2, questionDot = 3, JSXStartTag = 4, insertSemi = 318, spaces = 320, newline = 321, LineComment = 5, BlockComment = 6, Dialect_jsx = 0;
5
5
  const space = [
6
6
  9,
@@ -1,6 +1,6 @@
1
- import { L as LRParser } from "./index-Do8kanBG.js";
2
- import { s as styleTags, t as tags, a as LanguageSupport, L as LRLanguage, i as indentNodeProp, au as flatIndent, c as continuedIndent, h as delimitedIndent, f as foldNodeProp, j as foldInside } from "./MilkdownMarkdownEditor-CK0d0F6d.js";
3
- import "./index-DcOi0itd.js";
1
+ import { L as LRParser } from "./index-C776N_wX.js";
2
+ import { s as styleTags, t as tags, a as LanguageSupport, L as LRLanguage, i as indentNodeProp, au as flatIndent, c as continuedIndent, h as delimitedIndent, f as foldNodeProp, j as foldInside } from "./MilkdownMarkdownEditor-De2Q1dek.js";
3
+ import "./index-B0IaCM06.js";
4
4
  const javaHighlighting = styleTags({
5
5
  null: tags.null,
6
6
  instanceof: tags.operatorKeyword,
@@ -1587,6 +1587,16 @@
1587
1587
  border-color: var(--color-status-success);
1588
1588
  }
1589
1589
 
1590
+ .border-amber-500\/40 {
1591
+ border-color: #f99c0066;
1592
+ }
1593
+
1594
+ @supports (color: color-mix(in lab, red, red)) {
1595
+ .border-amber-500\/40 {
1596
+ border-color: color-mix(in oklab, var(--color-amber-500) 40%, transparent);
1597
+ }
1598
+ }
1599
+
1590
1600
  .border-transparent {
1591
1601
  border-color: #0000;
1592
1602
  }
@@ -1703,6 +1713,16 @@
1703
1713
  background-color: var(--color-amber-400);
1704
1714
  }
1705
1715
 
1716
+ .bg-amber-500\/10 {
1717
+ background-color: #f99c001a;
1718
+ }
1719
+
1720
+ @supports (color: color-mix(in lab, red, red)) {
1721
+ .bg-amber-500\/10 {
1722
+ background-color: color-mix(in oklab, var(--color-amber-500) 10%, transparent);
1723
+ }
1724
+ }
1725
+
1706
1726
  .bg-black\/40 {
1707
1727
  background-color: #0006;
1708
1728
  }
@@ -1,7 +1,7 @@
1
- import { L as LRParser, E as ExternalTokenizer, C as ContextTracker } from "./index-Do8kanBG.js";
2
- import { s as styleTags, t as tags, a as LanguageSupport, L as LRLanguage, f as foldNodeProp, j as foldInside, i as indentNodeProp, c as continuedIndent } from "./MilkdownMarkdownEditor-CK0d0F6d.js";
3
- import { defineCSSCompletionSource } from "./index-DCdUaSNI.js";
4
- import "./index-DcOi0itd.js";
1
+ import { L as LRParser, E as ExternalTokenizer, C as ContextTracker } from "./index-C776N_wX.js";
2
+ import { s as styleTags, t as tags, a as LanguageSupport, L as LRLanguage, f as foldNodeProp, j as foldInside, i as indentNodeProp, c as continuedIndent } from "./MilkdownMarkdownEditor-De2Q1dek.js";
3
+ import { defineCSSCompletionSource } from "./index-Dqp-JFMN.js";
4
+ import "./index-B0IaCM06.js";
5
5
  const indent = 168, dedent = 169, descendantOp = 170, InterpolationEnd = 1, InterpolationContinue = 2, Unit = 3, callee = 171, identifier = 172, VariableName = 4, queryIdentifier = 173, InterpolationStart = 5, newline = 174, blankLineStart = 175, eof = 176, whitespace = 177, LineComment = 6, Comment = 7, IndentedMixin = 8, IndentedInclude = 9, Dialect_indented = 0;
6
6
  const space = [
7
7
  9,
@@ -1,6 +1,6 @@
1
- import { L as LRParser, E as ExternalTokenizer, a as LocalTokenGroup, C as ContextTracker } from "./index-Do8kanBG.js";
2
- import { s as styleTags, t as tags, a as LanguageSupport, b as ifNotIn, d as completeFromList, L as LRLanguage, i as indentNodeProp, au as flatIndent, c as continuedIndent, h as delimitedIndent, f as foldNodeProp, j as foldInside, e as syntaxTree, av as snippetCompletion, aw as NodeWeakMap, I as IterMode } from "./MilkdownMarkdownEditor-CK0d0F6d.js";
3
- import "./index-DcOi0itd.js";
1
+ import { L as LRParser, E as ExternalTokenizer, a as LocalTokenGroup, C as ContextTracker } from "./index-C776N_wX.js";
2
+ import { s as styleTags, t as tags, a as LanguageSupport, b as ifNotIn, d as completeFromList, L as LRLanguage, i as indentNodeProp, au as flatIndent, c as continuedIndent, h as delimitedIndent, f as foldNodeProp, j as foldInside, e as syntaxTree, av as snippetCompletion, aw as NodeWeakMap, I as IterMode } from "./MilkdownMarkdownEditor-De2Q1dek.js";
3
+ import "./index-B0IaCM06.js";
4
4
  const insertedSemi = 177, space$1 = 179, identifier = 184, String = 12, closeParen$1 = 13, Number = 17, Rune = 20, closeBrace$1 = 25, closeBracket = 53, IncDecOp = 95, _return = 142, _break = 144, _continue = 145, fallthrough = 148;
5
5
  const newline = 10, carriageReturn = 13, space = 32, tab = 9, slash = 47, closeParen = 41, closeBrace = 125;
6
6
  const semicolon = new ExternalTokenizer((input, stack) => {