research-copilot 0.2.2 → 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.
- package/app/out/main/index.mjs +124 -49
- package/app/out/preload/index.js +6 -0
- package/app/out/renderer/assets/{MilkdownMarkdownEditor-jaF-aGPn.js → MilkdownMarkdownEditor-G1iOHwc_.js} +50 -50
- package/app/out/renderer/assets/{arc-C1kBmvvR.js → arc-4dzvPWwv.js} +1 -1
- package/app/out/renderer/assets/{blockDiagram-c4efeb88-Do93X2rs.js → blockDiagram-c4efeb88-Cj5lBciZ.js} +8 -8
- package/app/out/renderer/assets/{c4Diagram-c83219d4-DgxxcZWC.js → c4Diagram-c83219d4-D4wJF4Nk.js} +3 -3
- package/app/out/renderer/assets/{channel-Co_M0Svj.js → channel-DRHGMFu6.js} +1 -1
- package/app/out/renderer/assets/{classDiagram-beda092f-CQlHgE6H.js → classDiagram-beda092f-DrBIQ4Da.js} +6 -6
- package/app/out/renderer/assets/{classDiagram-v2-2358418a-CkGG3aI2.js → classDiagram-v2-2358418a-yBhKnZh4.js} +10 -10
- package/app/out/renderer/assets/{clone-C18Y6dgC.js → clone-ChFuWsyG.js} +1 -1
- package/app/out/renderer/assets/{createText-1719965b-DGRc6nys.js → createText-1719965b-dtk9hA3P.js} +2 -2
- package/app/out/renderer/assets/{edges-96097737-BXvJ4fAK.js → edges-96097737-D_e1x_h6.js} +3 -3
- package/app/out/renderer/assets/{erDiagram-0228fc6a-CXjPp0pt.js → erDiagram-0228fc6a-CrZBuvPZ.js} +5 -5
- package/app/out/renderer/assets/{flowDb-c6c81e3f-CNhpbtw_.js → flowDb-c6c81e3f-DtZC9Fq3.js} +1 -1
- package/app/out/renderer/assets/{flowDiagram-50d868cf-KZ_BUCPA.js → flowDiagram-50d868cf-VzlFN6Qf.js} +12 -12
- package/app/out/renderer/assets/{flowDiagram-v2-4f6560a1-IMv50KZP.js → flowDiagram-v2-4f6560a1-BWNPZGSS.js} +12 -12
- package/app/out/renderer/assets/{flowchart-elk-definition-6af322e1-BFwFiPvq.js → flowchart-elk-definition-6af322e1-BRS2deVY.js} +6 -6
- package/app/out/renderer/assets/{ganttDiagram-a2739b55-D0-ehN-T.js → ganttDiagram-a2739b55-DRChnjlR.js} +3 -3
- package/app/out/renderer/assets/{gitGraphDiagram-82fe8481-DUyIR0Dv.js → gitGraphDiagram-82fe8481-BVfXECHD.js} +2 -2
- package/app/out/renderer/assets/{graph-DnTq2_3F.js → graph-Dl3bczvk.js} +1 -1
- package/app/out/renderer/assets/{index-5325376f-CBwuFbRF.js → index-5325376f-DjPany76.js} +6 -6
- package/app/out/renderer/assets/{index-u0FZRZON.js → index-6EerDbdL.js} +4 -4
- package/app/out/renderer/assets/{index-BHcU72Rm.js → index-B9tygoLQ.js} +3 -3
- package/app/out/renderer/assets/{index-DWU4ia28.js → index-BNdWI-dg.js} +6 -6
- package/app/out/renderer/assets/{index-D6r8msaQ.js → index-BPwe457Y.js} +3 -3
- package/app/out/renderer/assets/{index-DuhageEr.js → index-BQHeBYdD.js} +3 -3
- package/app/out/renderer/assets/{index-C1oXjI4L.js → index-BUUZSVeh.js} +3 -3
- package/app/out/renderer/assets/{index-Diy30-34.js → index-Bg-eDX1p.js} +4 -4
- package/app/out/renderer/assets/{index-CKXwBmK7.js → index-BkB91HdR.js} +5 -5
- package/app/out/renderer/assets/{index-BB-a1ajC.js → index-BlpusrHE.js} +136 -19
- package/app/out/renderer/assets/{index-gH-w4EHk.js → index-C226G81f.js} +3 -3
- package/app/out/renderer/assets/{index-DZbrRR7w.js → index-C4rx4LuD.js} +6 -6
- package/app/out/renderer/assets/{index-BpKrXGYD.js → index-C8-8M1o_.js} +3 -3
- package/app/out/renderer/assets/{index-CjffvluT.js → index-CLSRcr1i.js} +6 -6
- package/app/out/renderer/assets/{index-7hDGClrI.js → index-CMSALyTS.js} +3 -3
- package/app/out/renderer/assets/{index-yanwpi6t.js → index-CU9ZRB66.js} +6 -6
- package/app/out/renderer/assets/{index-bMe3RSkw.js → index-CgEKFTyJ.js} +6 -6
- package/app/out/renderer/assets/{index-D6jljsup.js → index-CllWzrq7.js} +3 -3
- package/app/out/renderer/assets/{index-ESFHcvWy.js → index-DHmQz4fM.js} +3 -3
- package/app/out/renderer/assets/{index-h_fNksib.js → index-DxziAmqO.js} +3 -3
- package/app/out/renderer/assets/{index-COZSDrEw.js → index-HZn90B-L.js} +6 -6
- package/app/out/renderer/assets/{index-CT1HtzVp.css → index-dNBQ09OL.css} +60 -0
- package/app/out/renderer/assets/{index-BQ7qz1CD.js → index-dvpto11c.js} +3 -3
- package/app/out/renderer/assets/{index-BVYoMX5H.js → index-hVorRCxO.js} +3 -3
- package/app/out/renderer/assets/{index-JT8OCsRP.js → index-nk-me1QW.js} +1 -1
- package/app/out/renderer/assets/{infoDiagram-8eee0895-Qra4japr.js → infoDiagram-8eee0895-CRzw5OpC.js} +2 -2
- package/app/out/renderer/assets/{journeyDiagram-c64418c1-BTN9SgOL.js → journeyDiagram-c64418c1-CYFcrwy9.js} +4 -4
- package/app/out/renderer/assets/{layout-DGrHHJdN.js → layout-2qUs4rWy.js} +2 -2
- package/app/out/renderer/assets/{line-DXtxdS2B.js → line-zEaIEY7C.js} +1 -1
- package/app/out/renderer/assets/{linear-CexrSQK6.js → linear-B-lut2jS.js} +1 -1
- package/app/out/renderer/assets/{mindmap-definition-8da855dc-pvG2hzEB.js → mindmap-definition-8da855dc--G6w66OU.js} +3 -3
- package/app/out/renderer/assets/{pieDiagram-a8764435-D_neFVMq.js → pieDiagram-a8764435-B1aj6YO1.js} +3 -3
- package/app/out/renderer/assets/{quadrantDiagram-1e28029f-C47W3UMp.js → quadrantDiagram-1e28029f-WcQ-5B6J.js} +3 -3
- package/app/out/renderer/assets/{requirementDiagram-08caed73-DW4Bo_fu.js → requirementDiagram-08caed73-DVS_F7Ld.js} +5 -5
- package/app/out/renderer/assets/{sankeyDiagram-a04cb91d-D_3PD7JI.js → sankeyDiagram-a04cb91d-C9DI8I5c.js} +2 -2
- package/app/out/renderer/assets/{sequenceDiagram-c5b8d532-BW6nGtuQ.js → sequenceDiagram-c5b8d532-BbjlXU_R.js} +3 -3
- package/app/out/renderer/assets/{stateDiagram-1ecb1508-CDgBJ3-T.js → stateDiagram-1ecb1508-D-RBhWue.js} +6 -6
- package/app/out/renderer/assets/{stateDiagram-v2-c2b004d7-CBw5TtXo.js → stateDiagram-v2-c2b004d7-5WeKw5B9.js} +10 -10
- package/app/out/renderer/assets/{styles-b4e223ce-DeeiEsuW.js → styles-b4e223ce-FiETMPKg.js} +1 -1
- package/app/out/renderer/assets/{styles-ca3715f6-CMpiebrG.js → styles-ca3715f6-DOyTWqN-.js} +1 -1
- package/app/out/renderer/assets/{styles-d45a18b0-CZe9hU7H.js → styles-d45a18b0-D2yoeLkD.js} +4 -4
- package/app/out/renderer/assets/{svgDrawCommon-b86b1483-CmJZfZzJ.js → svgDrawCommon-b86b1483-7THlOYFk.js} +1 -1
- package/app/out/renderer/assets/{timeline-definition-faaaa080-Beo2kiiz.js → timeline-definition-faaaa080-BVp4ikHz.js} +3 -3
- package/app/out/renderer/assets/{xychartDiagram-f5964ef8-DYmo7moz.js → xychartDiagram-f5964ef8-Cdp51x2C.js} +5 -5
- package/app/out/renderer/index.html +2 -2
- package/lib/skills/builtin/paper-revision/SKILL.md +467 -0
- package/lib/skills/builtin/paper-revision/references/evidence-strengthening.md +101 -0
- package/lib/skills/builtin/paper-revision/references/framing-patterns.md +119 -0
- package/lib/skills/builtin/paper-revision/references/reviewer-attack-catalog.md +171 -0
- package/lib/skills/builtin/paper-revision/references/venue-strategies.md +114 -0
- package/lib/skills/builtin/paper-writing/SKILL.md +1 -0
- package/package.json +4 -4
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { f as flowDb, p as parser$1 } from "./flowDb-c6c81e3f-
|
|
2
|
-
import { f as flowStyles, a as flowRendererV2 } from "./styles-d45a18b0-
|
|
3
|
-
import { W as setConfig } from "./MilkdownMarkdownEditor-
|
|
4
|
-
import "./graph-
|
|
5
|
-
import "./layout-
|
|
6
|
-
import "./index-5325376f-
|
|
7
|
-
import "./clone-
|
|
8
|
-
import "./edges-96097737-
|
|
9
|
-
import "./createText-1719965b-
|
|
10
|
-
import "./index-
|
|
11
|
-
import "./line-
|
|
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-
|
|
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-
|
|
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-
|
|
3
|
-
import { i as insertMarkers$1, c as insertNode, l as labelHelper, b as insertEdgeLabel, k as getLineFunctionsWithOffset, m as addEdgeMarkers } from "./edges-96097737-
|
|
4
|
-
import { g as getDefaultExportFromCjs, c as commonjsGlobal } from "./index-
|
|
5
|
-
import { l as line } from "./line-
|
|
6
|
-
import "./createText-1719965b-
|
|
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-
|
|
2
|
-
import { c as commonjsGlobal, g as getDefaultExportFromCjs } from "./index-
|
|
3
|
-
import { b as bisector, t as tickStep, c as continuous, a as copy, l as linear } from "./linear-
|
|
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-
|
|
2
|
-
import "./index-
|
|
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-
|
|
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-
|
|
2
|
-
import { m as map, l as layout } from "./layout-
|
|
3
|
-
import { c as clone } from "./clone-
|
|
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-
|
|
5
|
-
import { v as log$1, r as getConfig, S as evaluate, u as select } from "./MilkdownMarkdownEditor-
|
|
6
|
-
import { c as createText } from "./createText-1719965b-
|
|
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-
|
|
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-
|
|
3
|
-
import { defineCSSCompletionSource } from "./index-
|
|
4
|
-
import "./index-
|
|
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-
|
|
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-
|
|
3
|
-
import "./index-
|
|
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-
|
|
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-
|
|
3
|
-
import { html } from "./index-
|
|
4
|
-
import "./index-
|
|
5
|
-
import "./index-
|
|
6
|
-
import "./index-
|
|
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-
|
|
2
|
-
import { L as LRParser } from "./index-
|
|
3
|
-
import "./index-
|
|
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-
|
|
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-
|
|
3
|
-
import "./index-
|
|
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-
|
|
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-
|
|
3
|
-
import "./index-
|
|
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-
|
|
2
|
-
import { defineCSSCompletionSource } from "./index-
|
|
3
|
-
import { L as LRParser, E as ExternalTokenizer } from "./index-
|
|
4
|
-
import "./index-
|
|
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-
|
|
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-
|
|
3
|
-
import { cssLanguage, css } from "./index-
|
|
4
|
-
import { typescriptLanguage, jsxLanguage, tsxLanguage, javascriptLanguage, javascript } from "./index-
|
|
5
|
-
import "./index-
|
|
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-
|
|
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
|
*
|
|
@@ -13531,9 +13541,9 @@ const REASONING_MODELS = [
|
|
|
13531
13541
|
"openai:gpt-5.4",
|
|
13532
13542
|
"openai:gpt-5.4-mini",
|
|
13533
13543
|
"openai:gpt-5.4-nano",
|
|
13544
|
+
"openai:gpt-5.4-pro",
|
|
13534
13545
|
"openai-codex:gpt-5.4",
|
|
13535
13546
|
"openai-codex:gpt-5.4-mini",
|
|
13536
|
-
"openai-codex:gpt-5.4-nano",
|
|
13537
13547
|
"anthropic:claude-opus-4-6"
|
|
13538
13548
|
];
|
|
13539
13549
|
const SUPPORTED_MODELS = [
|
|
@@ -13542,10 +13552,10 @@ const SUPPORTED_MODELS = [
|
|
|
13542
13552
|
{ id: "openai:gpt-5.4-mini", label: "GPT-5.4 Mini", provider: "OpenAI" },
|
|
13543
13553
|
{ id: "openai:gpt-5.4-nano", label: "GPT-5.4 Nano", provider: "OpenAI" },
|
|
13544
13554
|
{ id: "openai:gpt-4o", label: "GPT-4o", provider: "OpenAI" },
|
|
13545
|
-
|
|
13555
|
+
{ id: "openai:gpt-5.4-pro", label: "GPT-5.4 Pro", provider: "OpenAI" },
|
|
13556
|
+
// ChatGPT Subscription (OAuth) — only models registered in pi-ai's openai-codex provider
|
|
13546
13557
|
{ id: "openai-codex:gpt-5.4", label: "GPT-5.4", provider: "ChatGPT Subscription" },
|
|
13547
13558
|
{ id: "openai-codex:gpt-5.4-mini", label: "GPT-5.4 Mini", provider: "ChatGPT Subscription" },
|
|
13548
|
-
{ id: "openai-codex:gpt-5.4-pro", label: "GPT-5.4 Pro", provider: "ChatGPT Subscription" },
|
|
13549
13559
|
// Anthropic (API key)
|
|
13550
13560
|
{ id: "anthropic:claude-opus-4-6", label: "Claude Opus 4.6", provider: "Anthropic" },
|
|
13551
13561
|
{ id: "anthropic:claude-opus-4-5-20251101", label: "Claude Opus 4.5", provider: "Anthropic" },
|
|
@@ -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
|
-
|
|
29806
|
-
|
|
29807
|
-
|
|
29808
|
-
|
|
29809
|
-
|
|
29810
|
-
|
|
29811
|
-
|
|
29812
|
-
|
|
29813
|
-
|
|
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(
|
|
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(
|
|
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-
|
|
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-
|
|
2
|
-
import { E as ExternalTokenizer, L as LRParser } from "./index-
|
|
3
|
-
import "./index-
|
|
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-
|
|
2
|
-
import { html } from "./index-
|
|
3
|
-
import { javascriptLanguage } from "./index-
|
|
4
|
-
import { L as LRParser, E as ExternalTokenizer } from "./index-
|
|
5
|
-
import "./index-
|
|
6
|
-
import "./index-
|
|
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-
|
|
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-
|
|
3
|
-
import "./index-
|
|
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-
|
|
2
|
-
import { html } from "./index-
|
|
3
|
-
import { L as LRParser, E as ExternalTokenizer } from "./index-
|
|
4
|
-
import "./index-
|
|
5
|
-
import "./index-
|
|
6
|
-
import "./index-
|
|
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-
|
|
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-
|
|
3
|
-
import "./index-
|
|
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-
|
|
2
|
-
import { html, htmlCompletionSource } from "./index-
|
|
3
|
-
import "./index-
|
|
4
|
-
import "./index-
|
|
5
|
-
import "./index-
|
|
6
|
-
import "./index-
|
|
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-
|
|
2
|
-
import { html } from "./index-
|
|
3
|
-
import { L as LRParser, E as ExternalTokenizer, a as LocalTokenGroup } from "./index-
|
|
4
|
-
import "./index-
|
|
5
|
-
import "./index-
|
|
6
|
-
import "./index-
|
|
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-
|
|
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-
|
|
3
|
-
import "./index-
|
|
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-
|
|
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-
|
|
3
|
-
import "./index-
|
|
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-
|
|
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-
|
|
3
|
-
import "./index-
|
|
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([
|