research-copilot 0.2.3 → 0.2.4

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 (72) hide show
  1. package/app/out/main/index.mjs +122 -48
  2. package/app/out/preload/index.js +6 -0
  3. package/app/out/renderer/assets/{MilkdownMarkdownEditor-DjFLwyh4.js → MilkdownMarkdownEditor-G1iOHwc_.js} +50 -50
  4. package/app/out/renderer/assets/{arc-7NllWjXF.js → arc-4dzvPWwv.js} +1 -1
  5. package/app/out/renderer/assets/{blockDiagram-c4efeb88-DsOU-_zA.js → blockDiagram-c4efeb88-Cj5lBciZ.js} +8 -8
  6. package/app/out/renderer/assets/{c4Diagram-c83219d4-U2jdevgc.js → c4Diagram-c83219d4-D4wJF4Nk.js} +3 -3
  7. package/app/out/renderer/assets/{channel-Cjd8jvi8.js → channel-DRHGMFu6.js} +1 -1
  8. package/app/out/renderer/assets/{classDiagram-beda092f-Yj0hyRiU.js → classDiagram-beda092f-DrBIQ4Da.js} +6 -6
  9. package/app/out/renderer/assets/{classDiagram-v2-2358418a-CK0FL8Pk.js → classDiagram-v2-2358418a-yBhKnZh4.js} +10 -10
  10. package/app/out/renderer/assets/{clone-I16owcK3.js → clone-ChFuWsyG.js} +1 -1
  11. package/app/out/renderer/assets/{createText-1719965b-D_GY3BGW.js → createText-1719965b-dtk9hA3P.js} +2 -2
  12. package/app/out/renderer/assets/{edges-96097737-DKD2znJk.js → edges-96097737-D_e1x_h6.js} +3 -3
  13. package/app/out/renderer/assets/{erDiagram-0228fc6a-CxrCv4uP.js → erDiagram-0228fc6a-CrZBuvPZ.js} +5 -5
  14. package/app/out/renderer/assets/{flowDb-c6c81e3f-8o4wFApi.js → flowDb-c6c81e3f-DtZC9Fq3.js} +1 -1
  15. package/app/out/renderer/assets/{flowDiagram-50d868cf-B1eYKlZC.js → flowDiagram-50d868cf-VzlFN6Qf.js} +12 -12
  16. package/app/out/renderer/assets/{flowDiagram-v2-4f6560a1-Y4_T8Xi1.js → flowDiagram-v2-4f6560a1-BWNPZGSS.js} +12 -12
  17. package/app/out/renderer/assets/{flowchart-elk-definition-6af322e1-BjDPU2Ol.js → flowchart-elk-definition-6af322e1-BRS2deVY.js} +6 -6
  18. package/app/out/renderer/assets/{ganttDiagram-a2739b55-CdQAT7up.js → ganttDiagram-a2739b55-DRChnjlR.js} +3 -3
  19. package/app/out/renderer/assets/{gitGraphDiagram-82fe8481-Bl7KP_G5.js → gitGraphDiagram-82fe8481-BVfXECHD.js} +2 -2
  20. package/app/out/renderer/assets/{graph-Bje_pjwC.js → graph-Dl3bczvk.js} +1 -1
  21. package/app/out/renderer/assets/{index-5325376f-DB5UfMSQ.js → index-5325376f-DjPany76.js} +6 -6
  22. package/app/out/renderer/assets/{index-BbbK94Tl.js → index-6EerDbdL.js} +4 -4
  23. package/app/out/renderer/assets/{index-CTrj2aB2.js → index-B9tygoLQ.js} +3 -3
  24. package/app/out/renderer/assets/{index-UYsogkLv.js → index-BNdWI-dg.js} +6 -6
  25. package/app/out/renderer/assets/{index-DCr-i28b.js → index-BPwe457Y.js} +3 -3
  26. package/app/out/renderer/assets/{index-BX5-hWqk.js → index-BQHeBYdD.js} +3 -3
  27. package/app/out/renderer/assets/{index-D9YGyBA9.js → index-BUUZSVeh.js} +3 -3
  28. package/app/out/renderer/assets/{index-DRgsVAez.js → index-Bg-eDX1p.js} +4 -4
  29. package/app/out/renderer/assets/{index-BHl_tELv.js → index-BkB91HdR.js} +5 -5
  30. package/app/out/renderer/assets/{index-CISiP4Vc.js → index-BlpusrHE.js} +133 -16
  31. package/app/out/renderer/assets/{index-CoIRGlb6.js → index-C226G81f.js} +3 -3
  32. package/app/out/renderer/assets/{index-hI44wokU.js → index-C4rx4LuD.js} +6 -6
  33. package/app/out/renderer/assets/{index-CDWVrn8L.js → index-C8-8M1o_.js} +3 -3
  34. package/app/out/renderer/assets/{index-DihmTRDX.js → index-CLSRcr1i.js} +6 -6
  35. package/app/out/renderer/assets/{index-BWkpc_Fb.js → index-CMSALyTS.js} +3 -3
  36. package/app/out/renderer/assets/{index-BlSmCt8A.js → index-CU9ZRB66.js} +6 -6
  37. package/app/out/renderer/assets/{index-CU1ei-Q-.js → index-CgEKFTyJ.js} +6 -6
  38. package/app/out/renderer/assets/{index-K7KmUSPg.js → index-CllWzrq7.js} +3 -3
  39. package/app/out/renderer/assets/{index-DFmh36hv.js → index-DHmQz4fM.js} +3 -3
  40. package/app/out/renderer/assets/{index-bPpSppnq.js → index-DxziAmqO.js} +3 -3
  41. package/app/out/renderer/assets/{index-BnGN3XMZ.js → index-HZn90B-L.js} +6 -6
  42. package/app/out/renderer/assets/{index-CT1HtzVp.css → index-dNBQ09OL.css} +60 -0
  43. package/app/out/renderer/assets/{index-TtJcntKb.js → index-dvpto11c.js} +3 -3
  44. package/app/out/renderer/assets/{index-DkTtiwdL.js → index-hVorRCxO.js} +3 -3
  45. package/app/out/renderer/assets/{index-DIB3jH2J.js → index-nk-me1QW.js} +1 -1
  46. package/app/out/renderer/assets/{infoDiagram-8eee0895-Dfty_4jM.js → infoDiagram-8eee0895-CRzw5OpC.js} +2 -2
  47. package/app/out/renderer/assets/{journeyDiagram-c64418c1-BzDYpsjx.js → journeyDiagram-c64418c1-CYFcrwy9.js} +4 -4
  48. package/app/out/renderer/assets/{layout-DbHSNFr9.js → layout-2qUs4rWy.js} +2 -2
  49. package/app/out/renderer/assets/{line-jV7QLjZ_.js → line-zEaIEY7C.js} +1 -1
  50. package/app/out/renderer/assets/{linear-CIeuNnVa.js → linear-B-lut2jS.js} +1 -1
  51. package/app/out/renderer/assets/{mindmap-definition-8da855dc-CeDEmTB-.js → mindmap-definition-8da855dc--G6w66OU.js} +3 -3
  52. package/app/out/renderer/assets/{pieDiagram-a8764435-Bpm1FcX3.js → pieDiagram-a8764435-B1aj6YO1.js} +3 -3
  53. package/app/out/renderer/assets/{quadrantDiagram-1e28029f-CEB7PxJa.js → quadrantDiagram-1e28029f-WcQ-5B6J.js} +3 -3
  54. package/app/out/renderer/assets/{requirementDiagram-08caed73-CZJU8B_1.js → requirementDiagram-08caed73-DVS_F7Ld.js} +5 -5
  55. package/app/out/renderer/assets/{sankeyDiagram-a04cb91d-JXpwgeE0.js → sankeyDiagram-a04cb91d-C9DI8I5c.js} +2 -2
  56. package/app/out/renderer/assets/{sequenceDiagram-c5b8d532-CtvDQG5X.js → sequenceDiagram-c5b8d532-BbjlXU_R.js} +3 -3
  57. package/app/out/renderer/assets/{stateDiagram-1ecb1508-DQRUQm_b.js → stateDiagram-1ecb1508-D-RBhWue.js} +6 -6
  58. package/app/out/renderer/assets/{stateDiagram-v2-c2b004d7-qWcRpqpV.js → stateDiagram-v2-c2b004d7-5WeKw5B9.js} +10 -10
  59. package/app/out/renderer/assets/{styles-b4e223ce-6DWryYQB.js → styles-b4e223ce-FiETMPKg.js} +1 -1
  60. package/app/out/renderer/assets/{styles-ca3715f6-CZ9SeO17.js → styles-ca3715f6-DOyTWqN-.js} +1 -1
  61. package/app/out/renderer/assets/{styles-d45a18b0-Bkmie_Qv.js → styles-d45a18b0-D2yoeLkD.js} +4 -4
  62. package/app/out/renderer/assets/{svgDrawCommon-b86b1483-BWRX1ZPq.js → svgDrawCommon-b86b1483-7THlOYFk.js} +1 -1
  63. package/app/out/renderer/assets/{timeline-definition-faaaa080-XcgfjspK.js → timeline-definition-faaaa080-BVp4ikHz.js} +3 -3
  64. package/app/out/renderer/assets/{xychartDiagram-f5964ef8-C0CQzgr8.js → xychartDiagram-f5964ef8-Cdp51x2C.js} +5 -5
  65. package/app/out/renderer/index.html +2 -2
  66. package/lib/skills/builtin/paper-revision/SKILL.md +467 -0
  67. package/lib/skills/builtin/paper-revision/references/evidence-strengthening.md +101 -0
  68. package/lib/skills/builtin/paper-revision/references/framing-patterns.md +119 -0
  69. package/lib/skills/builtin/paper-revision/references/reviewer-attack-catalog.md +171 -0
  70. package/lib/skills/builtin/paper-revision/references/venue-strategies.md +114 -0
  71. package/lib/skills/builtin/paper-writing/SKILL.md +1 -0
  72. package/package.json +4 -4
@@ -1,17 +1,17 @@
1
- import { f as flowDb, p as parser$1 } from "./flowDb-c6c81e3f-8o4wFApi.js";
2
- import { f as flowStyles, a as flowRendererV2 } from "./styles-d45a18b0-Bkmie_Qv.js";
3
- import { W as setConfig } from "./MilkdownMarkdownEditor-DjFLwyh4.js";
4
- import "./graph-Bje_pjwC.js";
5
- import "./layout-DbHSNFr9.js";
6
- import "./index-5325376f-DB5UfMSQ.js";
7
- import "./clone-I16owcK3.js";
8
- import "./edges-96097737-DKD2znJk.js";
9
- import "./createText-1719965b-D_GY3BGW.js";
10
- import "./index-CISiP4Vc.js";
11
- import "./line-jV7QLjZ_.js";
1
+ import { f as flowDb, p as parser$1 } from "./flowDb-c6c81e3f-DtZC9Fq3.js";
2
+ import { f as flowStyles, a as flowRendererV2 } from "./styles-d45a18b0-D2yoeLkD.js";
3
+ import { W as setConfig } from "./MilkdownMarkdownEditor-G1iOHwc_.js";
4
+ import "./graph-Dl3bczvk.js";
5
+ import "./layout-2qUs4rWy.js";
6
+ import "./index-5325376f-DjPany76.js";
7
+ import "./clone-ChFuWsyG.js";
8
+ import "./edges-96097737-D_e1x_h6.js";
9
+ import "./createText-1719965b-dtk9hA3P.js";
10
+ import "./index-BlpusrHE.js";
11
+ import "./line-zEaIEY7C.js";
12
12
  import "./array-DgktLKBx.js";
13
13
  import "./path-Cp2qmpkd.js";
14
- import "./channel-Cjd8jvi8.js";
14
+ import "./channel-DRHGMFu6.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-8o4wFApi.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-DjFLwyh4.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-DKD2znJk.js";
4
- import { g as getDefaultExportFromCjs, c as commonjsGlobal } from "./index-CISiP4Vc.js";
5
- import { l as line } from "./line-jV7QLjZ_.js";
6
- import "./createText-1719965b-D_GY3BGW.js";
1
+ import { p as parser$1, d as db } from "./flowDb-c6c81e3f-DtZC9Fq3.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-G1iOHwc_.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-D_e1x_h6.js";
4
+ import { g as getDefaultExportFromCjs, c as commonjsGlobal } from "./index-BlpusrHE.js";
5
+ import { l as line } from "./line-zEaIEY7C.js";
6
+ import "./createText-1719965b-dtk9hA3P.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-DjFLwyh4.js";
2
- import { c as commonjsGlobal, g as getDefaultExportFromCjs } from "./index-CISiP4Vc.js";
3
- import { b as bisector, t as tickStep, c as continuous, a as copy, l as linear } from "./linear-CIeuNnVa.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-G1iOHwc_.js";
2
+ import { c as commonjsGlobal, g as getDefaultExportFromCjs } from "./index-BlpusrHE.js";
3
+ import { b as bisector, t as tickStep, c as continuous, a as copy, l as linear } from "./linear-B-lut2jS.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-DjFLwyh4.js";
2
- import "./index-CISiP4Vc.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-G1iOHwc_.js";
2
+ import "./index-BlpusrHE.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-DjFLwyh4.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-G1iOHwc_.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-Bje_pjwC.js";
2
- import { m as map, l as layout } from "./layout-DbHSNFr9.js";
3
- import { c as clone } from "./clone-I16owcK3.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-DKD2znJk.js";
5
- import { v as log$1, r as getConfig, S as evaluate, u as select } from "./MilkdownMarkdownEditor-DjFLwyh4.js";
6
- import { c as createText } from "./createText-1719965b-D_GY3BGW.js";
1
+ import { i as isUndefined, G as Graph } from "./graph-Dl3bczvk.js";
2
+ import { m as map, l as layout } from "./layout-2qUs4rWy.js";
3
+ import { c as clone } from "./clone-ChFuWsyG.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-D_e1x_h6.js";
5
+ import { v as log$1, r as getConfig, S as evaluate, u as select } from "./MilkdownMarkdownEditor-G1iOHwc_.js";
6
+ import { c as createText } from "./createText-1719965b-dtk9hA3P.js";
7
7
  function write(g) {
8
8
  var json = {
9
9
  options: {
@@ -1,7 +1,7 @@
1
- import { L as LRParser, E as ExternalTokenizer, C as ContextTracker } from "./index-DIB3jH2J.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-DjFLwyh4.js";
3
- import { defineCSSCompletionSource } from "./index-BX5-hWqk.js";
4
- import "./index-CISiP4Vc.js";
1
+ import { L as LRParser, E as ExternalTokenizer, C as ContextTracker } from "./index-nk-me1QW.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-G1iOHwc_.js";
3
+ import { defineCSSCompletionSource } from "./index-BQHeBYdD.js";
4
+ import "./index-BlpusrHE.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-DIB3jH2J.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-DjFLwyh4.js";
3
- import "./index-CISiP4Vc.js";
1
+ import { L as LRParser, E as ExternalTokenizer, a as LocalTokenGroup, C as ContextTracker } from "./index-nk-me1QW.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-G1iOHwc_.js";
3
+ import "./index-BlpusrHE.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,9 +1,9 @@
1
- import { L as LRParser, E as ExternalTokenizer } from "./index-DIB3jH2J.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-DjFLwyh4.js";
3
- import { html } from "./index-BHl_tELv.js";
4
- import "./index-CISiP4Vc.js";
5
- import "./index-BX5-hWqk.js";
6
- import "./index-CTrj2aB2.js";
1
+ import { L as LRParser, E as ExternalTokenizer } from "./index-nk-me1QW.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-G1iOHwc_.js";
3
+ import { html } from "./index-BkB91HdR.js";
4
+ import "./index-BlpusrHE.js";
5
+ import "./index-BQHeBYdD.js";
6
+ import "./index-B9tygoLQ.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 { 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-DjFLwyh4.js";
2
- import { L as LRParser } from "./index-DIB3jH2J.js";
3
- import "./index-CISiP4Vc.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-G1iOHwc_.js";
2
+ import { L as LRParser } from "./index-nk-me1QW.js";
3
+ import "./index-BlpusrHE.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 } from "./index-DIB3jH2J.js";
2
- import { s as styleTags, t as tags$1, a as LanguageSupport, L as LRLanguage, i as indentNodeProp, c as continuedIndent, f as foldNodeProp, j as foldInside, e as syntaxTree, aw as NodeWeakMap, I as IterMode } from "./MilkdownMarkdownEditor-DjFLwyh4.js";
3
- import "./index-CISiP4Vc.js";
1
+ import { L as LRParser, E as ExternalTokenizer, a as LocalTokenGroup } from "./index-nk-me1QW.js";
2
+ import { s as styleTags, t as tags$1, a as LanguageSupport, L as LRLanguage, i as indentNodeProp, c as continuedIndent, f as foldNodeProp, j as foldInside, e as syntaxTree, aw as NodeWeakMap, I as IterMode } from "./MilkdownMarkdownEditor-G1iOHwc_.js";
3
+ import "./index-BlpusrHE.js";
4
4
  const descendantOp = 122, Unit = 1, identifier$1 = 123, callee = 124, VariableName = 2, queryIdentifier = 125, queryVariableName = 3, QueryCallee = 4;
5
5
  const space = [
6
6
  9,
@@ -1,6 +1,6 @@
1
- import { L as LRParser, E as ExternalTokenizer, C as ContextTracker } from "./index-DIB3jH2J.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-DjFLwyh4.js";
3
- import "./index-CISiP4Vc.js";
1
+ import { L as LRParser, E as ExternalTokenizer, C as ContextTracker } from "./index-nk-me1QW.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-G1iOHwc_.js";
3
+ import "./index-BlpusrHE.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,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-DjFLwyh4.js";
2
- import { defineCSSCompletionSource } from "./index-BX5-hWqk.js";
3
- import { L as LRParser, E as ExternalTokenizer } from "./index-DIB3jH2J.js";
4
- import "./index-CISiP4Vc.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-G1iOHwc_.js";
2
+ import { defineCSSCompletionSource } from "./index-BQHeBYdD.js";
3
+ import { L as LRParser, E as ExternalTokenizer } from "./index-nk-me1QW.js";
4
+ import "./index-BlpusrHE.js";
5
5
  const descendantOp = 110, Unit = 1, openArgList = 2;
6
6
  const space = [
7
7
  9,
@@ -1,8 +1,8 @@
1
- import { L as LRParser, E as ExternalTokenizer, C as ContextTracker } from "./index-DIB3jH2J.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-DjFLwyh4.js";
3
- import { cssLanguage, css } from "./index-BX5-hWqk.js";
4
- import { typescriptLanguage, jsxLanguage, tsxLanguage, javascriptLanguage, javascript } from "./index-CTrj2aB2.js";
5
- import "./index-CISiP4Vc.js";
1
+ import { L as LRParser, E as ExternalTokenizer, C as ContextTracker } from "./index-nk-me1QW.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-G1iOHwc_.js";
3
+ import { cssLanguage, css } from "./index-BQHeBYdD.js";
4
+ import { typescriptLanguage, jsxLanguage, tsxLanguage, javascriptLanguage, javascript } from "./index-B9tygoLQ.js";
5
+ import "./index-BlpusrHE.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-DjFLwyh4.js","./MilkdownMarkdownEditor-tTNRIB2K.css"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./MilkdownMarkdownEditor-G1iOHwc_.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;
@@ -12673,6 +12673,16 @@ const CloudUpload = createLucideIcon("CloudUpload", [
12673
12673
  ["path", { d: "M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242", key: "1pljnt" }],
12674
12674
  ["path", { d: "m8 17 4-4 4 4", key: "1quai1" }]
12675
12675
  ]);
12676
+ /**
12677
+ * @license lucide-react v0.469.0 - ISC
12678
+ *
12679
+ * This source code is licensed under the ISC license.
12680
+ * See the LICENSE file in the root directory of this source tree.
12681
+ */
12682
+ const Copy = createLucideIcon("Copy", [
12683
+ ["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
12684
+ ["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }]
12685
+ ]);
12676
12686
  /**
12677
12687
  * @license lucide-react v0.469.0 - ISC
12678
12688
  *
@@ -29637,6 +29647,20 @@ function ToolUseStream({ events: propEvents }) {
29637
29647
  }
29638
29648
  const api$5 = window.api;
29639
29649
  const remarkPlugins$1 = [remarkGfm];
29650
+ function formatMessageTime(ts2) {
29651
+ const d = new Date(ts2);
29652
+ const now2 = /* @__PURE__ */ new Date();
29653
+ const time = d.toLocaleTimeString([], { hour: "numeric", minute: "2-digit" });
29654
+ const isToday = d.toDateString() === now2.toDateString();
29655
+ if (isToday) return time;
29656
+ const yesterday = new Date(now2);
29657
+ yesterday.setDate(yesterday.getDate() - 1);
29658
+ if (d.toDateString() === yesterday.toDateString()) return `Yesterday ${time}`;
29659
+ if (d.getFullYear() === now2.getFullYear()) {
29660
+ return d.toLocaleDateString([], { month: "short", day: "numeric" }) + " " + time;
29661
+ }
29662
+ return d.toLocaleDateString([], { year: "numeric", month: "short", day: "numeric" }) + " " + time;
29663
+ }
29640
29664
  function SelectionBookmark() {
29641
29665
  const refreshAll = useEntityStore((s15) => s15.refreshAll);
29642
29666
  const markSaved = useChatStore((s15) => s15.markSaved);
@@ -29781,6 +29805,12 @@ const MessageBubble = React$2.memo(function MessageBubble2({ msg, isSaved }) {
29781
29805
  setSaveState("idle");
29782
29806
  }
29783
29807
  };
29808
+ const [copied, setCopied] = reactExports.useState(false);
29809
+ const handleCopy = async () => {
29810
+ await navigator.clipboard.writeText(msg.content);
29811
+ setCopied(true);
29812
+ setTimeout(() => setCopied(false), 1500);
29813
+ };
29784
29814
  return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `flex ${isUser ? "justify-end" : "justify-start"} group`, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
29785
29815
  "div",
29786
29816
  {
@@ -29802,17 +29832,30 @@ const MessageBubble = React$2.memo(function MessageBubble2({ msg, isSaved }) {
29802
29832
  i
29803
29833
  )) }),
29804
29834
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "md-prose", style: { color: "var(--color-text)" }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Markdown, { remarkPlugins: remarkPlugins$1, children: msg.content }) }),
29805
- !isUser && /* @__PURE__ */ jsxRuntimeExports.jsx(
29806
- "button",
29807
- {
29808
- onClick: handleSaveNote,
29809
- disabled: saveState !== "idle",
29810
- className: `absolute -right-8 top-2 transition-opacity ${saveState === "saved" ? "opacity-100 t-text-success" : saveState === "saving" ? "opacity-100 t-text-muted" : "opacity-0 group-hover:opacity-100 t-text-muted hover:t-text-accent-soft"}`,
29811
- title: saveState === "saved" ? "Saved as note" : "Save entire message as note",
29812
- "aria-label": saveState === "saved" ? "Message saved as note" : "Save entire message as note",
29813
- children: saveState === "saving" ? /* @__PURE__ */ jsxRuntimeExports.jsx(LoaderCircle, { size: 14, className: "animate-spin" }) : saveState === "saved" ? /* @__PURE__ */ jsxRuntimeExports.jsx(BookmarkCheck, { size: 14 }) : /* @__PURE__ */ jsxRuntimeExports.jsx(Bookmark, { size: 14 })
29814
- }
29815
- )
29835
+ msg.timestamp > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `mt-1.5 text-[10px] t-text-muted select-none ${isUser ? "text-right" : "text-left"}`, children: formatMessageTime(msg.timestamp) }),
29836
+ !isUser && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "absolute -right-8 top-2 flex flex-col gap-1.5", children: [
29837
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
29838
+ "button",
29839
+ {
29840
+ onClick: handleSaveNote,
29841
+ disabled: saveState !== "idle",
29842
+ className: `transition-opacity ${saveState === "saved" ? "opacity-100 t-text-success" : saveState === "saving" ? "opacity-100 t-text-muted" : "opacity-0 group-hover:opacity-100 t-text-muted hover:t-text-accent-soft"}`,
29843
+ title: saveState === "saved" ? "Saved as note" : "Save entire message as note",
29844
+ "aria-label": saveState === "saved" ? "Message saved as note" : "Save entire message as note",
29845
+ children: saveState === "saving" ? /* @__PURE__ */ jsxRuntimeExports.jsx(LoaderCircle, { size: 14, className: "animate-spin" }) : saveState === "saved" ? /* @__PURE__ */ jsxRuntimeExports.jsx(BookmarkCheck, { size: 14 }) : /* @__PURE__ */ jsxRuntimeExports.jsx(Bookmark, { size: 14 })
29846
+ }
29847
+ ),
29848
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
29849
+ "button",
29850
+ {
29851
+ onClick: handleCopy,
29852
+ className: `transition-opacity ${copied ? "opacity-100 t-text-success" : "opacity-0 group-hover:opacity-100 t-text-muted hover:t-text-accent-soft"}`,
29853
+ title: copied ? "Copied!" : "Copy message",
29854
+ "aria-label": copied ? "Message copied" : "Copy message to clipboard",
29855
+ children: copied ? /* @__PURE__ */ jsxRuntimeExports.jsx(Check, { size: 14 }) : /* @__PURE__ */ jsxRuntimeExports.jsx(Copy, { size: 14 })
29856
+ }
29857
+ )
29858
+ ] })
29816
29859
  ]
29817
29860
  }
29818
29861
  ) });
@@ -29839,6 +29882,59 @@ function StreamingBubble() {
29839
29882
  }
29840
29883
  ) });
29841
29884
  }
29885
+ const GAP_THRESHOLD_MS = 5 * 60 * 1e3;
29886
+ function buildTimelineNodes(messages) {
29887
+ const userAndAssistant = messages.filter((m) => m.role !== "system");
29888
+ if (userAndAssistant.length < 6) return [];
29889
+ const nodes = [];
29890
+ let lastTs = 0;
29891
+ let lastDate = "";
29892
+ for (const msg of userAndAssistant) {
29893
+ const gap = msg.timestamp - lastTs;
29894
+ if (gap >= GAP_THRESHOLD_MS || lastTs === 0) {
29895
+ const d = new Date(msg.timestamp);
29896
+ const dateStr = d.toDateString();
29897
+ const time = d.toLocaleTimeString([], { hour: "numeric", minute: "2-digit" });
29898
+ let label;
29899
+ const now2 = /* @__PURE__ */ new Date();
29900
+ if (dateStr !== lastDate) {
29901
+ const isToday = dateStr === now2.toDateString();
29902
+ const yesterday = new Date(now2);
29903
+ yesterday.setDate(yesterday.getDate() - 1);
29904
+ const isYesterday = dateStr === yesterday.toDateString();
29905
+ const dayLabel = isToday ? "" : isYesterday ? "Yest " : d.toLocaleDateString([], { month: "short", day: "numeric" }) + " ";
29906
+ label = dayLabel + time;
29907
+ lastDate = dateStr;
29908
+ } else {
29909
+ label = time;
29910
+ }
29911
+ nodes.push({ label, msgId: msg.id });
29912
+ }
29913
+ lastTs = msg.timestamp;
29914
+ }
29915
+ return nodes;
29916
+ }
29917
+ function ChatTimeline({ messages }) {
29918
+ const requestScrollTo = useChatStore((s15) => s15.requestScrollTo);
29919
+ const nodes = reactExports.useMemo(() => buildTimelineNodes(messages), [messages]);
29920
+ if (nodes.length === 0) return null;
29921
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "absolute right-0 top-0 bottom-0 w-[56px] flex flex-col items-center py-4 pointer-events-none select-none", children: [
29922
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute top-4 bottom-4 w-px bg-[var(--color-border)]", style: { opacity: 0.3 } }),
29923
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "relative flex flex-col gap-0 w-full h-full justify-between", children: nodes.map((node2, i) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
29924
+ "button",
29925
+ {
29926
+ onClick: () => requestScrollTo(node2.msgId),
29927
+ className: "pointer-events-auto group/dot relative flex items-center justify-center",
29928
+ title: node2.label,
29929
+ children: [
29930
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-[7px] h-[7px] rounded-full bg-[var(--color-text-muted)] group-hover/dot:bg-[var(--color-accent-soft)] transition-colors", style: { opacity: 0.5 } }),
29931
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "absolute right-full mr-2 whitespace-nowrap text-[10px] t-text-muted opacity-0 group-hover/dot:opacity-100 transition-opacity pointer-events-none", children: node2.label })
29932
+ ]
29933
+ },
29934
+ node2.msgId
29935
+ )) })
29936
+ ] });
29937
+ }
29842
29938
  function ChatMessages() {
29843
29939
  const messages = useChatStore((s15) => s15.messages);
29844
29940
  const isStreaming = useChatStore((s15) => s15.isStreaming);
@@ -29893,14 +29989,15 @@ function ChatMessages() {
29893
29989
  setTimeout(() => el2.classList.remove("ring-2", "ring-[var(--color-accent-soft)]"), 1500);
29894
29990
  }
29895
29991
  }, [scrollToMessageId]);
29896
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
29992
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative h-full", children: [
29897
29993
  /* @__PURE__ */ jsxRuntimeExports.jsx(SelectionBookmark, {}),
29994
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ChatTimeline, { messages }),
29898
29995
  /* @__PURE__ */ jsxRuntimeExports.jsxs(
29899
29996
  "div",
29900
29997
  {
29901
29998
  ref: scrollContainerRef,
29902
29999
  onScroll: handleScroll,
29903
- className: "overflow-y-auto h-full",
30000
+ className: "overflow-y-auto h-full pr-[56px]",
29904
30001
  role: "log",
29905
30002
  "aria-label": "Chat messages",
29906
30003
  "aria-live": "polite",
@@ -29990,8 +30087,18 @@ function MentionPopover({ query, onSelect, onClose }) {
29990
30087
  let stale = false;
29991
30088
  setLoading(true);
29992
30089
  clearTimeout(debounceRef.current);
30090
+ let search2 = query;
30091
+ let type;
30092
+ const colonIdx = query.indexOf(":");
30093
+ if (colonIdx > 0) {
30094
+ const prefix2 = query.slice(0, colonIdx);
30095
+ if (["note", "paper", "data", "file"].includes(prefix2)) {
30096
+ type = prefix2;
30097
+ search2 = query.slice(colonIdx + 1);
30098
+ }
30099
+ }
29993
30100
  debounceRef.current = setTimeout(() => {
29994
- api$4.getCandidates(query).then((result) => {
30101
+ api$4.getCandidates(search2, type).then((result) => {
29995
30102
  if (stale) return;
29996
30103
  setCandidates(result || []);
29997
30104
  setSelectedIdx(0);
@@ -31568,7 +31675,7 @@ function CenterPanel() {
31568
31675
  }
31569
31676
  const remarkPlugins = [remarkGfm];
31570
31677
  const LazyMilkdownMarkdownEditor = reactExports.lazy(async () => {
31571
- const mod = await __vitePreload(() => import("./MilkdownMarkdownEditor-DjFLwyh4.js").then((n) => n.bL), true ? __vite__mapDeps([0,1]) : void 0, import.meta.url);
31678
+ const mod = await __vitePreload(() => import("./MilkdownMarkdownEditor-G1iOHwc_.js").then((n) => n.bL), true ? __vite__mapDeps([0,1]) : void 0, import.meta.url);
31572
31679
  return { default: mod.MilkdownMarkdownEditor };
31573
31680
  });
31574
31681
  const typeIcons = {
@@ -41252,6 +41359,12 @@ function App() {
41252
41359
  });
41253
41360
  return unsub;
41254
41361
  }, []);
41362
+ reactExports.useEffect(() => {
41363
+ const unsub = api.onExportChat(() => {
41364
+ api.exportChat();
41365
+ });
41366
+ return unsub;
41367
+ }, []);
41255
41368
  reactExports.useEffect(() => {
41256
41369
  const handler = (e) => {
41257
41370
  if (previewEditorFocused) return;
@@ -41280,6 +41393,10 @@ function App() {
41280
41393
  if (e.key === "Escape" && previewEntity) {
41281
41394
  useUIStore.getState().closePreview();
41282
41395
  }
41396
+ if ((e.metaKey || e.ctrlKey) && e.shiftKey && e.key === "E") {
41397
+ e.preventDefault();
41398
+ api.exportChat();
41399
+ }
41283
41400
  if ((e.metaKey || e.ctrlKey) && e.key === "`") {
41284
41401
  e.preventDefault();
41285
41402
  useUIStore.getState().toggleTerminal();
@@ -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-DjFLwyh4.js";
2
- import { E as ExternalTokenizer, L as LRParser } from "./index-DIB3jH2J.js";
3
- import "./index-CISiP4Vc.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-G1iOHwc_.js";
2
+ import { E as ExternalTokenizer, L as LRParser } from "./index-nk-me1QW.js";
3
+ import "./index-BlpusrHE.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-DjFLwyh4.js";
2
- import { html } from "./index-BHl_tELv.js";
3
- import { javascriptLanguage } from "./index-CTrj2aB2.js";
4
- import { L as LRParser, E as ExternalTokenizer } from "./index-DIB3jH2J.js";
5
- import "./index-CISiP4Vc.js";
6
- import "./index-BX5-hWqk.js";
1
+ import { L as LRLanguage, a as LanguageSupport, p as parseMixed, s as styleTags, t as tags } from "./MilkdownMarkdownEditor-G1iOHwc_.js";
2
+ import { html } from "./index-BkB91HdR.js";
3
+ import { javascriptLanguage } from "./index-B9tygoLQ.js";
4
+ import { L as LRParser, E as ExternalTokenizer } from "./index-nk-me1QW.js";
5
+ import "./index-BlpusrHE.js";
6
+ import "./index-BQHeBYdD.js";
7
7
  const Text = 1, attributeContentSingle = 33, attributeContentDouble = 34, scriptAttributeContentSingle = 35, scriptAttributeContentDouble = 36;
8
8
  const text = /* @__PURE__ */ new ExternalTokenizer((input) => {
9
9
  let start = input.pos;
@@ -1,6 +1,6 @@
1
- import { L as LRParser, E as ExternalTokenizer, C as ContextTracker } from "./index-DIB3jH2J.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-DjFLwyh4.js";
3
- import "./index-CISiP4Vc.js";
1
+ import { L as LRParser, E as ExternalTokenizer, C as ContextTracker } from "./index-nk-me1QW.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-G1iOHwc_.js";
3
+ import "./index-BlpusrHE.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,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-DjFLwyh4.js";
2
- import { html } from "./index-BHl_tELv.js";
3
- import { L as LRParser, E as ExternalTokenizer } from "./index-DIB3jH2J.js";
4
- import "./index-CISiP4Vc.js";
5
- import "./index-BX5-hWqk.js";
6
- import "./index-CTrj2aB2.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-G1iOHwc_.js";
2
+ import { html } from "./index-BkB91HdR.js";
3
+ import { L as LRParser, E as ExternalTokenizer } from "./index-nk-me1QW.js";
4
+ import "./index-BlpusrHE.js";
5
+ import "./index-BQHeBYdD.js";
6
+ import "./index-B9tygoLQ.js";
7
7
  const interpolationStart = 1, tagStart = 2, endTagStart = 3, text = 180, endrawTagStart = 4, rawText = 181, endcommentTagStart = 5, commentText = 182, InlineComment = 6;
8
8
  function wordChar(code) {
9
9
  return code >= 65 && code <= 90 || code >= 97 && code <= 122;
@@ -1,6 +1,6 @@
1
- import { L as LRParser, E as ExternalTokenizer, a as LocalTokenGroup } from "./index-DIB3jH2J.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-DjFLwyh4.js";
3
- import "./index-CISiP4Vc.js";
1
+ import { L as LRParser, E as ExternalTokenizer, a as LocalTokenGroup } from "./index-nk-me1QW.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-G1iOHwc_.js";
3
+ import "./index-BlpusrHE.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 { P as Parser, k as NodeType, l as NodeProp, ax as Tag, N as NodeSet, s as styleTags, T as Tree, p as parseMixed, t as tags, e as syntaxTree, g as EditorSelection, ay as countColumn, a as LanguageSupport, az as Prec, aA as keymap, E as EditorView, aB as Language, aC as indentUnit, aD as foldService, aE as defineLanguageFacet, aF as CompletionContext, aG as EditorState, f as foldNodeProp, i as indentNodeProp, aH as languageDataProp, aI as LanguageDescription, aJ as ParseContext } from "./MilkdownMarkdownEditor-DjFLwyh4.js";
2
- import { html, htmlCompletionSource } from "./index-BHl_tELv.js";
3
- import "./index-CISiP4Vc.js";
4
- import "./index-DIB3jH2J.js";
5
- import "./index-BX5-hWqk.js";
6
- import "./index-CTrj2aB2.js";
1
+ import { P as Parser, k as NodeType, l as NodeProp, ax as Tag, N as NodeSet, s as styleTags, T as Tree, p as parseMixed, t as tags, e as syntaxTree, g as EditorSelection, ay as countColumn, a as LanguageSupport, az as Prec, aA as keymap, E as EditorView, aB as Language, aC as indentUnit, aD as foldService, aE as defineLanguageFacet, aF as CompletionContext, aG as EditorState, f as foldNodeProp, i as indentNodeProp, aH as languageDataProp, aI as LanguageDescription, aJ as ParseContext } from "./MilkdownMarkdownEditor-G1iOHwc_.js";
2
+ import { html, htmlCompletionSource } from "./index-BkB91HdR.js";
3
+ import "./index-BlpusrHE.js";
4
+ import "./index-nk-me1QW.js";
5
+ import "./index-BQHeBYdD.js";
6
+ import "./index-B9tygoLQ.js";
7
7
  class CompositeBlock {
8
8
  static create(type, value, from, parentHash, end) {
9
9
  let hash = parentHash + (parentHash << 8) + type + (value << 4) | 0;
@@ -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-DjFLwyh4.js";
2
- import { html } from "./index-BHl_tELv.js";
3
- import { L as LRParser, E as ExternalTokenizer, a as LocalTokenGroup } from "./index-DIB3jH2J.js";
4
- import "./index-CISiP4Vc.js";
5
- import "./index-BX5-hWqk.js";
6
- import "./index-CTrj2aB2.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-G1iOHwc_.js";
2
+ import { html } from "./index-BkB91HdR.js";
3
+ import { L as LRParser, E as ExternalTokenizer, a as LocalTokenGroup } from "./index-nk-me1QW.js";
4
+ import "./index-BlpusrHE.js";
5
+ import "./index-BQHeBYdD.js";
6
+ import "./index-B9tygoLQ.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,6 +1,6 @@
1
- import { L as LRParser } from "./index-DIB3jH2J.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-DjFLwyh4.js";
3
- import "./index-CISiP4Vc.js";
1
+ import { L as LRParser } from "./index-nk-me1QW.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-G1iOHwc_.js";
3
+ import "./index-BlpusrHE.js";
4
4
  const javaHighlighting = styleTags({
5
5
  null: tags.null,
6
6
  instanceof: tags.operatorKeyword,
@@ -1,6 +1,6 @@
1
- import { L as LRParser } from "./index-DIB3jH2J.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-DjFLwyh4.js";
3
- import "./index-CISiP4Vc.js";
1
+ import { L as LRParser } from "./index-nk-me1QW.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-G1iOHwc_.js";
3
+ import "./index-BlpusrHE.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-DIB3jH2J.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-DjFLwyh4.js";
3
- import "./index-CISiP4Vc.js";
1
+ import { L as LRParser, E as ExternalTokenizer, C as ContextTracker } from "./index-nk-me1QW.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-G1iOHwc_.js";
3
+ import "./index-BlpusrHE.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,9 +1,9 @@
1
- import { L as LRLanguage, a as LanguageSupport, p as parseMixed, s as styleTags, t as tags } from "./MilkdownMarkdownEditor-DjFLwyh4.js";
2
- import { html } from "./index-BHl_tELv.js";
3
- import { javascriptLanguage } from "./index-CTrj2aB2.js";
4
- import { L as LRParser, a as LocalTokenGroup } from "./index-DIB3jH2J.js";
5
- import "./index-CISiP4Vc.js";
6
- import "./index-BX5-hWqk.js";
1
+ import { L as LRLanguage, a as LanguageSupport, p as parseMixed, s as styleTags, t as tags } from "./MilkdownMarkdownEditor-G1iOHwc_.js";
2
+ import { html } from "./index-BkB91HdR.js";
3
+ import { javascriptLanguage } from "./index-B9tygoLQ.js";
4
+ import { L as LRParser, a as LocalTokenGroup } from "./index-nk-me1QW.js";
5
+ import "./index-BlpusrHE.js";
6
+ import "./index-BQHeBYdD.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",