research-copilot 0.2.9 → 0.2.11
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/README.md +42 -34
- package/app/out/main/index.mjs +42 -7
- package/app/out/preload/index.js +3 -2
- package/app/out/renderer/assets/{MilkdownMarkdownEditor-CK0d0F6d.js → MilkdownMarkdownEditor-BqfydyHs.js} +50 -50
- package/app/out/renderer/assets/{arc-CgrgxBD6.js → arc-B102x0uC.js} +1 -1
- package/app/out/renderer/assets/{blockDiagram-c4efeb88-BqZGW4Le.js → blockDiagram-c4efeb88-hlEjcPtb.js} +8 -8
- package/app/out/renderer/assets/{c4Diagram-c83219d4-gNbl9eSr.js → c4Diagram-c83219d4-Dc1nfavC.js} +3 -3
- package/app/out/renderer/assets/{channel-vUNI1iNi.js → channel-ZMdB8bH1.js} +1 -1
- package/app/out/renderer/assets/{classDiagram-beda092f-jMkGJ9Ey.js → classDiagram-beda092f-Gbpax7vO.js} +6 -6
- package/app/out/renderer/assets/{classDiagram-v2-2358418a-CNuFkLzW.js → classDiagram-v2-2358418a-_KwHXPjs.js} +10 -10
- package/app/out/renderer/assets/{clone-rSI1fs-P.js → clone-DDahKPIj.js} +1 -1
- package/app/out/renderer/assets/{createText-1719965b-BXIo6gGa.js → createText-1719965b-BNW0X7Oe.js} +2 -2
- package/app/out/renderer/assets/{edges-96097737-nhmklBMU.js → edges-96097737-G9l1oUoZ.js} +3 -3
- package/app/out/renderer/assets/{erDiagram-0228fc6a-DAEu9LLq.js → erDiagram-0228fc6a-BUs4XtQY.js} +5 -5
- package/app/out/renderer/assets/{flowDb-c6c81e3f-BCxc52Bt.js → flowDb-c6c81e3f-CQ-jcycx.js} +1 -1
- package/app/out/renderer/assets/{flowDiagram-50d868cf-DAeMm-oV.js → flowDiagram-50d868cf-uu8ab--w.js} +12 -12
- package/app/out/renderer/assets/{flowDiagram-v2-4f6560a1-B3DiSW7H.js → flowDiagram-v2-4f6560a1-CAw9BkoT.js} +12 -12
- package/app/out/renderer/assets/{flowchart-elk-definition-6af322e1-C3U45hIj.js → flowchart-elk-definition-6af322e1-BjQ21EHx.js} +6 -6
- package/app/out/renderer/assets/{ganttDiagram-a2739b55-DH_BJl1v.js → ganttDiagram-a2739b55-CP8oCEhK.js} +3 -3
- package/app/out/renderer/assets/{gitGraphDiagram-82fe8481-BQYI6jwt.js → gitGraphDiagram-82fe8481-BwBuEj3Z.js} +2 -2
- package/app/out/renderer/assets/{graph-Cbmv2S9S.js → graph-Cm7VMO24.js} +1 -1
- package/app/out/renderer/assets/{index-CdhMP7aL.js → index-21ZazB27.js} +3 -3
- package/app/out/renderer/assets/{index-5325376f-tk-JBjUy.js → index-5325376f-rxU_OBcM.js} +6 -6
- package/app/out/renderer/assets/{index-DCdUaSNI.js → index-B0bfGE4l.js} +3 -3
- package/app/out/renderer/assets/{index-Dk6CqgIG.js → index-B86Rm5VH.js} +5 -5
- package/app/out/renderer/assets/{index-DU4yTtXH.js → index-BOSzW1Fp.js} +3 -3
- package/app/out/renderer/assets/{index-HX-NQu3g.js → index-BireTC8B.js} +6 -6
- package/app/out/renderer/assets/{index-ByH1hCUC.js → index-BurA4U4Q.js} +4 -4
- package/app/out/renderer/assets/{index-DcOi0itd.js → index-C90yL_Oq.js} +159 -70
- package/app/out/renderer/assets/{index-CqAzD5Mv.js → index-CXW3LNrw.js} +6 -6
- package/app/out/renderer/assets/{index-Do8kanBG.js → index-CYcmNTWS.js} +1 -1
- package/app/out/renderer/assets/{index-BTNmK-qR.js → index-CZmZWnTr.js} +3 -3
- package/app/out/renderer/assets/{index-hDvDO954.js → index-CdJBtB9B.js} +6 -6
- package/app/out/renderer/assets/{index-QjeQ3sgb.js → index-CmuzUeEb.js} +3 -3
- package/app/out/renderer/assets/{index-C4WNjCL0.js → index-CnSaLake.js} +6 -6
- package/app/out/renderer/assets/{index-DbWCHQ2E.js → index-Cnl3rlb4.js} +3 -3
- package/app/out/renderer/assets/{index-BaHR_2Nj.js → index-D075LvBi.js} +3 -3
- package/app/out/renderer/assets/{index-xqpIz9Nc.js → index-DQ1LKaqr.js} +6 -6
- package/app/out/renderer/assets/{index--rks7CK0.js → index-DnIy5Txo.js} +3 -3
- package/app/out/renderer/assets/{index-DK2BzNnx.js → index-DwyuGyq2.js} +3 -3
- package/app/out/renderer/assets/{index-BgoqHomD.js → index-JxH0rooB.js} +6 -6
- package/app/out/renderer/assets/{index-BdSZkB2P.js → index-PcwO-UQr.js} +4 -4
- package/app/out/renderer/assets/{index-B05MKQl-.js → index-UvRVROtt.js} +3 -3
- package/app/out/renderer/assets/{index-Bg6-UTvh.js → index-YHTq32NV.js} +3 -3
- package/app/out/renderer/assets/{index-LbAr_1fx.css → index-lAZsmnj1.css} +26 -2
- package/app/out/renderer/assets/{index-BkmP_G4w.js → index-qYYoWrK0.js} +3 -3
- package/app/out/renderer/assets/{infoDiagram-8eee0895-B7stNUSw.js → infoDiagram-8eee0895-DX3y3-A9.js} +2 -2
- package/app/out/renderer/assets/{journeyDiagram-c64418c1-BmjjCYfG.js → journeyDiagram-c64418c1-CWFt3XGT.js} +4 -4
- package/app/out/renderer/assets/{layout-BwUXWB3n.js → layout-BlEAfCmy.js} +2 -2
- package/app/out/renderer/assets/{line-DAwxPIOb.js → line-C8wQDOie.js} +1 -1
- package/app/out/renderer/assets/{linear-DF3tF_pi.js → linear-B-vozVTM.js} +1 -1
- package/app/out/renderer/assets/{mindmap-definition-8da855dc-Dcm6UXzX.js → mindmap-definition-8da855dc-BCWxRP64.js} +3 -3
- package/app/out/renderer/assets/{pieDiagram-a8764435-DkGcoK7i.js → pieDiagram-a8764435-CjTt_TYd.js} +3 -3
- package/app/out/renderer/assets/{quadrantDiagram-1e28029f-C1Q8r814.js → quadrantDiagram-1e28029f-D1Ke9L8a.js} +3 -3
- package/app/out/renderer/assets/{requirementDiagram-08caed73-C83u7Zho.js → requirementDiagram-08caed73-qZ5fBq-x.js} +5 -5
- package/app/out/renderer/assets/{sankeyDiagram-a04cb91d-CmjgGu4H.js → sankeyDiagram-a04cb91d-B-KtJYmc.js} +2 -2
- package/app/out/renderer/assets/{sequenceDiagram-c5b8d532-B0tN0kuE.js → sequenceDiagram-c5b8d532-BjqWnQP_.js} +3 -3
- package/app/out/renderer/assets/{stateDiagram-1ecb1508-CvChhiL2.js → stateDiagram-1ecb1508-DQo_1-ne.js} +6 -6
- package/app/out/renderer/assets/{stateDiagram-v2-c2b004d7-DuV4iLKk.js → stateDiagram-v2-c2b004d7-BNb4d-sS.js} +10 -10
- package/app/out/renderer/assets/{styles-b4e223ce-CYC1lyng.js → styles-b4e223ce-pjL5kdCz.js} +1 -1
- package/app/out/renderer/assets/{styles-ca3715f6-wbpEm70M.js → styles-ca3715f6-CtyHB9Sz.js} +1 -1
- package/app/out/renderer/assets/{styles-d45a18b0-dtPSe0gc.js → styles-d45a18b0-r6zLUSmM.js} +4 -4
- package/app/out/renderer/assets/{svgDrawCommon-b86b1483-DeFjfiKP.js → svgDrawCommon-b86b1483-CbHYm_eu.js} +1 -1
- package/app/out/renderer/assets/{timeline-definition-faaaa080-WkpCNoL6.js → timeline-definition-faaaa080-DvoW_Frb.js} +3 -3
- package/app/out/renderer/assets/{xychartDiagram-f5964ef8-DhjmJVco.js → xychartDiagram-f5964ef8-C-G_0ZnR.js} +5 -5
- package/app/out/renderer/index.html +2 -2
- package/package.json +1 -1
|
@@ -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-CQ-jcycx.js";
|
|
2
|
+
import { f as flowStyles, a as flowRendererV2 } from "./styles-d45a18b0-r6zLUSmM.js";
|
|
3
|
+
import { W as setConfig } from "./MilkdownMarkdownEditor-BqfydyHs.js";
|
|
4
|
+
import "./graph-Cm7VMO24.js";
|
|
5
|
+
import "./layout-BlEAfCmy.js";
|
|
6
|
+
import "./index-5325376f-rxU_OBcM.js";
|
|
7
|
+
import "./clone-DDahKPIj.js";
|
|
8
|
+
import "./edges-96097737-G9l1oUoZ.js";
|
|
9
|
+
import "./createText-1719965b-BNW0X7Oe.js";
|
|
10
|
+
import "./index-C90yL_Oq.js";
|
|
11
|
+
import "./line-C8wQDOie.js";
|
|
12
12
|
import "./array-DgktLKBx.js";
|
|
13
13
|
import "./path-Cp2qmpkd.js";
|
|
14
|
-
import "./channel-
|
|
14
|
+
import "./channel-ZMdB8bH1.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-CQ-jcycx.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-BqfydyHs.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-G9l1oUoZ.js";
|
|
4
|
+
import { g as getDefaultExportFromCjs, c as commonjsGlobal } from "./index-C90yL_Oq.js";
|
|
5
|
+
import { l as line } from "./line-C8wQDOie.js";
|
|
6
|
+
import "./createText-1719965b-BNW0X7Oe.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-BqfydyHs.js";
|
|
2
|
+
import { c as commonjsGlobal, g as getDefaultExportFromCjs } from "./index-C90yL_Oq.js";
|
|
3
|
+
import { b as bisector, t as tickStep, c as continuous, a as copy, l as linear } from "./linear-B-vozVTM.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-BqfydyHs.js";
|
|
2
|
+
import "./index-C90yL_Oq.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-BqfydyHs.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,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-BqfydyHs.js";
|
|
2
|
+
import { L as LRParser } from "./index-CYcmNTWS.js";
|
|
3
|
+
import "./index-C90yL_Oq.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,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-Cm7VMO24.js";
|
|
2
|
+
import { m as map, l as layout } from "./layout-BlEAfCmy.js";
|
|
3
|
+
import { c as clone } from "./clone-DDahKPIj.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-G9l1oUoZ.js";
|
|
5
|
+
import { v as log$1, r as getConfig, S as evaluate, u as select } from "./MilkdownMarkdownEditor-BqfydyHs.js";
|
|
6
|
+
import { c as createText } from "./createText-1719965b-BNW0X7Oe.js";
|
|
7
7
|
function write(g) {
|
|
8
8
|
var json = {
|
|
9
9
|
options: {
|
|
@@ -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-CYcmNTWS.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-BqfydyHs.js";
|
|
3
|
+
import "./index-C90yL_Oq.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,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-CYcmNTWS.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-BqfydyHs.js";
|
|
3
|
+
import { cssLanguage, css } from "./index-B0bfGE4l.js";
|
|
4
|
+
import { typescriptLanguage, jsxLanguage, tsxLanguage, javascriptLanguage, javascript } from "./index-DnIy5Txo.js";
|
|
5
|
+
import "./index-C90yL_Oq.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,6 +1,6 @@
|
|
|
1
|
-
import { L as LRParser, E as ExternalTokenizer } 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, E as ExternalTokenizer } from "./index-CYcmNTWS.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-BqfydyHs.js";
|
|
3
|
+
import "./index-C90yL_Oq.js";
|
|
4
4
|
const closureParamDelim = 1, tpOpen = 2, tpClose = 3, RawString = 4, Float = 5;
|
|
5
5
|
const _b = 98, _e = 101, _f = 102, _r = 114, _E = 69, Zero = 48, Dot = 46, Plus = 43, Minus = 45, Hash = 35, Quote = 34, Pipe = 124, LessThan = 60, GreaterThan = 62;
|
|
6
6
|
function isNum(ch) {
|
|
@@ -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-BqfydyHs.js";
|
|
2
|
+
import { html } from "./index-B86Rm5VH.js";
|
|
3
|
+
import { L as LRParser, E as ExternalTokenizer, a as LocalTokenGroup } from "./index-CYcmNTWS.js";
|
|
4
|
+
import "./index-C90yL_Oq.js";
|
|
5
|
+
import "./index-B0bfGE4l.js";
|
|
6
|
+
import "./index-DnIy5Txo.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,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-BqfydyHs.js";
|
|
2
|
+
import { defineCSSCompletionSource } from "./index-B0bfGE4l.js";
|
|
3
|
+
import { L as LRParser, E as ExternalTokenizer } from "./index-CYcmNTWS.js";
|
|
4
|
+
import "./index-C90yL_Oq.js";
|
|
5
5
|
const descendantOp = 110, Unit = 1, openArgList = 2;
|
|
6
6
|
const space = [
|
|
7
7
|
9,
|
|
@@ -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-BqfydyHs.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;
|
|
@@ -13330,59 +13330,26 @@ const Zap = createLucideIcon("Zap", [
|
|
|
13330
13330
|
}
|
|
13331
13331
|
]
|
|
13332
13332
|
]);
|
|
13333
|
-
const api$
|
|
13334
|
-
|
|
13335
|
-
{
|
|
13336
|
-
name: "ANTHROPIC_API_KEY",
|
|
13337
|
-
label: "Anthropic",
|
|
13338
|
-
placeholder: "sk-ant-...",
|
|
13339
|
-
hint: "Powers Claude models. Get a key at console.anthropic.com",
|
|
13340
|
-
url: "https://console.anthropic.com/settings/keys",
|
|
13341
|
-
required: true
|
|
13342
|
-
},
|
|
13343
|
-
{
|
|
13344
|
-
name: "OPENAI_API_KEY",
|
|
13345
|
-
label: "OpenAI",
|
|
13346
|
-
placeholder: "sk-...",
|
|
13347
|
-
hint: "Powers GPT / o-series models. Get a key at platform.openai.com",
|
|
13348
|
-
url: "https://platform.openai.com/api-keys",
|
|
13349
|
-
required: true
|
|
13350
|
-
},
|
|
13351
|
-
{
|
|
13352
|
-
name: "BRAVE_API_KEY",
|
|
13353
|
-
label: "Brave Search",
|
|
13354
|
-
placeholder: "BSA...",
|
|
13355
|
-
hint: "Enables web search. Without it, search falls back to arXiv only.",
|
|
13356
|
-
url: "https://brave.com/search/api/",
|
|
13357
|
-
required: false
|
|
13358
|
-
},
|
|
13359
|
-
{
|
|
13360
|
-
name: "OPENROUTER_API_KEY",
|
|
13361
|
-
label: "OpenRouter",
|
|
13362
|
-
placeholder: "sk-or-...",
|
|
13363
|
-
hint: "Enables AI-generated scientific diagrams. Optional.",
|
|
13364
|
-
url: "https://openrouter.ai/",
|
|
13365
|
-
required: false
|
|
13366
|
-
}
|
|
13367
|
-
];
|
|
13368
|
-
function UpdateBanner() {
|
|
13333
|
+
const api$h = window.api;
|
|
13334
|
+
function UpdateBanner({ variant = "compact", className = "" }) {
|
|
13369
13335
|
const [update, setUpdate] = reactExports.useState(null);
|
|
13370
13336
|
const [dismissed, setDismissed] = reactExports.useState(false);
|
|
13371
13337
|
const [copied, setCopied] = reactExports.useState(false);
|
|
13372
13338
|
reactExports.useEffect(() => {
|
|
13373
|
-
api$
|
|
13339
|
+
api$h.checkForUpdate?.().then((info) => {
|
|
13374
13340
|
if (info.hasUpdate) setUpdate(info);
|
|
13375
13341
|
}).catch(() => {
|
|
13376
13342
|
});
|
|
13377
13343
|
}, []);
|
|
13378
13344
|
if (!update || dismissed) return null;
|
|
13379
13345
|
const command = "npm update -g research-copilot";
|
|
13380
|
-
|
|
13346
|
+
const wrapperClass = variant === "welcome" ? `relative rounded-xl border t-border-subtle t-bg-elevated overflow-hidden ${className}` : `mb-4 relative rounded-lg border t-border-subtle t-bg-elevated overflow-hidden ${className}`;
|
|
13347
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: wrapperClass, role: "status", "aria-live": "polite", children: [
|
|
13381
13348
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { "aria-hidden": true, className: "absolute left-0 top-0 bottom-0 w-[2px] t-bg-accent-soft" }),
|
|
13382
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "px-3 py-2.5 flex items-start gap-2.5", children: [
|
|
13383
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(CircleArrowUp, { size: 15, className: "t-text-accent-soft mt-0.5 shrink-0" }),
|
|
13349
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: variant === "welcome" ? "px-4 py-3 flex items-start gap-3" : "px-3 py-2.5 flex items-start gap-2.5", children: [
|
|
13350
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(CircleArrowUp, { size: variant === "welcome" ? 16 : 15, className: "t-text-accent-soft mt-0.5 shrink-0" }),
|
|
13384
13351
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex-1 min-w-0", children: [
|
|
13385
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-xs font-medium t-text", children: [
|
|
13352
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: variant === "welcome" ? "text-sm font-medium t-text" : "text-xs font-medium t-text", children: [
|
|
13386
13353
|
"v",
|
|
13387
13354
|
update.latest,
|
|
13388
13355
|
" available",
|
|
@@ -13393,7 +13360,7 @@ function UpdateBanner() {
|
|
|
13393
13360
|
] })
|
|
13394
13361
|
] }),
|
|
13395
13362
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mt-1.5 flex items-center gap-1.5", children: [
|
|
13396
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("code", { className:
|
|
13363
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("code", { className: `flex-1 font-mono px-2 py-1 rounded t-bg-surface t-text select-all ${variant === "welcome" ? "text-[11px]" : "text-[10px]"}`, children: command }),
|
|
13397
13364
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
13398
13365
|
"button",
|
|
13399
13366
|
{
|
|
@@ -13404,6 +13371,7 @@ function UpdateBanner() {
|
|
|
13404
13371
|
},
|
|
13405
13372
|
className: "shrink-0 p-1 rounded t-bg-surface hover:opacity-80 transition-opacity",
|
|
13406
13373
|
title: "Copy command",
|
|
13374
|
+
"aria-label": "Copy npm update command",
|
|
13407
13375
|
children: copied ? /* @__PURE__ */ jsxRuntimeExports.jsx(Check, { size: 12, className: "t-text-success" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(Copy, { size: 12, className: "t-text-secondary" })
|
|
13408
13376
|
}
|
|
13409
13377
|
)
|
|
@@ -13414,12 +13382,48 @@ function UpdateBanner() {
|
|
|
13414
13382
|
{
|
|
13415
13383
|
onClick: () => setDismissed(true),
|
|
13416
13384
|
className: "shrink-0 p-0.5 rounded hover:t-bg-surface transition-colors t-text-secondary hover:t-text",
|
|
13385
|
+
"aria-label": "Dismiss update notification",
|
|
13417
13386
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(X$1, { size: 12 })
|
|
13418
13387
|
}
|
|
13419
13388
|
)
|
|
13420
13389
|
] })
|
|
13421
13390
|
] });
|
|
13422
13391
|
}
|
|
13392
|
+
const api$g = window.api;
|
|
13393
|
+
const KEY_FIELDS = [
|
|
13394
|
+
{
|
|
13395
|
+
name: "ANTHROPIC_API_KEY",
|
|
13396
|
+
label: "Anthropic",
|
|
13397
|
+
placeholder: "sk-ant-...",
|
|
13398
|
+
hint: "Powers Claude models. Get a key at console.anthropic.com",
|
|
13399
|
+
url: "https://console.anthropic.com/settings/keys",
|
|
13400
|
+
required: true
|
|
13401
|
+
},
|
|
13402
|
+
{
|
|
13403
|
+
name: "OPENAI_API_KEY",
|
|
13404
|
+
label: "OpenAI",
|
|
13405
|
+
placeholder: "sk-...",
|
|
13406
|
+
hint: "Powers GPT / o-series models. Get a key at platform.openai.com",
|
|
13407
|
+
url: "https://platform.openai.com/api-keys",
|
|
13408
|
+
required: true
|
|
13409
|
+
},
|
|
13410
|
+
{
|
|
13411
|
+
name: "BRAVE_API_KEY",
|
|
13412
|
+
label: "Brave Search",
|
|
13413
|
+
placeholder: "BSA...",
|
|
13414
|
+
hint: "Enables web search. Without it, search falls back to arXiv only.",
|
|
13415
|
+
url: "https://brave.com/search/api/",
|
|
13416
|
+
required: false
|
|
13417
|
+
},
|
|
13418
|
+
{
|
|
13419
|
+
name: "OPENROUTER_API_KEY",
|
|
13420
|
+
label: "OpenRouter",
|
|
13421
|
+
placeholder: "sk-or-...",
|
|
13422
|
+
hint: "Enables AI-generated scientific diagrams. Optional.",
|
|
13423
|
+
url: "https://openrouter.ai/",
|
|
13424
|
+
required: false
|
|
13425
|
+
}
|
|
13426
|
+
];
|
|
13423
13427
|
function ApiKeysSettings({ showSaveButton, onSaved }) {
|
|
13424
13428
|
const [values, setValues] = reactExports.useState({});
|
|
13425
13429
|
const [status, setStatus] = reactExports.useState({});
|
|
@@ -13705,7 +13709,7 @@ const SUPPORTED_MODELS = [
|
|
|
13705
13709
|
{ id: "anthropic:claude-opus-4-5-20251101", label: "Claude Opus 4.5", provider: "Anthropic" },
|
|
13706
13710
|
{ id: "anthropic:claude-sonnet-4-5-20250929", label: "Claude Sonnet 4.5", provider: "Anthropic" },
|
|
13707
13711
|
{ id: "anthropic:claude-haiku-4-5-20251001", label: "Claude Haiku 4.5", provider: "Anthropic" },
|
|
13708
|
-
// Claude Subscription (OAuth) —
|
|
13712
|
+
// Claude Subscription (OAuth) — enabled by default alongside ChatGPT Subscription
|
|
13709
13713
|
{ id: "anthropic-sub:claude-opus-4-6", label: "Claude Opus 4.6", provider: "Claude Subscription" },
|
|
13710
13714
|
{ id: "anthropic-sub:claude-opus-4-5-20251101", label: "Claude Opus 4.5", provider: "Claude Subscription" },
|
|
13711
13715
|
{ id: "anthropic-sub:claude-sonnet-4-5-20250929", label: "Claude Sonnet 4.5", provider: "Claude Subscription" },
|
|
@@ -13718,19 +13722,31 @@ const SPEED_OPTIONS = [
|
|
|
13718
13722
|
{ label: "Medium", value: "medium", desc: "Balanced processing. Suitable for most users." },
|
|
13719
13723
|
{ label: "Fast", value: "fast", desc: "Processes papers quickly when idle. Uses more API calls." }
|
|
13720
13724
|
];
|
|
13721
|
-
const
|
|
13722
|
-
|
|
13723
|
-
|
|
13724
|
-
|
|
13725
|
-
|
|
13726
|
-
|
|
13727
|
-
|
|
13728
|
-
|
|
13729
|
-
|
|
13725
|
+
const PROVIDER_ORDER$1 = [
|
|
13726
|
+
"ChatGPT Subscription",
|
|
13727
|
+
"Claude Subscription",
|
|
13728
|
+
"OpenAI",
|
|
13729
|
+
"Anthropic"
|
|
13730
|
+
];
|
|
13731
|
+
const MODEL_GROUPS = PROVIDER_ORDER$1.map((p) => [p, SUPPORTED_MODELS.filter((m) => m.provider === p)]).filter(([, models]) => models.length > 0);
|
|
13732
|
+
function isSubProvider(providerId) {
|
|
13733
|
+
return providerId === "anthropic-sub" || providerId === "openai-codex";
|
|
13734
|
+
}
|
|
13735
|
+
function providerOf(modelId) {
|
|
13736
|
+
const i = modelId.indexOf(":");
|
|
13737
|
+
return i > 0 ? modelId.slice(0, i) : "";
|
|
13738
|
+
}
|
|
13739
|
+
function labelFor(modelId) {
|
|
13740
|
+
const m = SUPPORTED_MODELS.find((x) => x.id === modelId);
|
|
13741
|
+
if (!m) return modelId;
|
|
13742
|
+
const suffix2 = isSubProvider(providerOf(modelId)) ? " (sub)" : " (api)";
|
|
13743
|
+
return m.label + suffix2;
|
|
13744
|
+
}
|
|
13730
13745
|
function WikiAgentSettings({ model, speed, onChangeModel, onChangeSpeed }) {
|
|
13731
13746
|
const [status, setStatus] = reactExports.useState(null);
|
|
13732
13747
|
const [stats, setStats] = reactExports.useState(null);
|
|
13733
13748
|
const [recentLog, setRecentLog] = reactExports.useState([]);
|
|
13749
|
+
const [autoResolved, setAutoResolved] = reactExports.useState(null);
|
|
13734
13750
|
reactExports.useEffect(() => {
|
|
13735
13751
|
api$f.wikiGetStatus?.().then((s15) => setStatus(s15)).catch(() => {
|
|
13736
13752
|
});
|
|
@@ -13741,12 +13757,55 @@ function WikiAgentSettings({ model, speed, onChangeModel, onChangeSpeed }) {
|
|
|
13741
13757
|
const unsub = api$f.onWikiStatus?.((s15) => setStatus(s15));
|
|
13742
13758
|
return () => unsub?.();
|
|
13743
13759
|
}, []);
|
|
13760
|
+
reactExports.useEffect(() => {
|
|
13761
|
+
if (model !== "auto") {
|
|
13762
|
+
setAutoResolved(null);
|
|
13763
|
+
return;
|
|
13764
|
+
}
|
|
13765
|
+
let cancelled = false;
|
|
13766
|
+
api$f.pickPreferredModel?.().then((m) => {
|
|
13767
|
+
if (!cancelled) setAutoResolved(m);
|
|
13768
|
+
}).catch(() => {
|
|
13769
|
+
if (!cancelled) setAutoResolved(null);
|
|
13770
|
+
});
|
|
13771
|
+
return () => {
|
|
13772
|
+
cancelled = true;
|
|
13773
|
+
};
|
|
13774
|
+
}, [model]);
|
|
13744
13775
|
const enabled = model !== "none";
|
|
13745
13776
|
const speedDesc = SPEED_OPTIONS.find((o2) => o2.value === speed)?.desc || "";
|
|
13777
|
+
const runningModelLabel = reactExports.useMemo(() => {
|
|
13778
|
+
if (model === "auto") {
|
|
13779
|
+
return autoResolved ? `Auto → ${labelFor(autoResolved)}` : "Auto (no auth configured)";
|
|
13780
|
+
}
|
|
13781
|
+
return labelFor(model);
|
|
13782
|
+
}, [model, autoResolved]);
|
|
13746
13783
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-6", children: [
|
|
13784
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "rounded-lg border border-amber-500/40 bg-amber-500/10 p-3 flex gap-2.5", children: [
|
|
13785
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(TriangleAlert, { size: 14, className: "shrink-0 mt-0.5 text-amber-500" }),
|
|
13786
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-1", children: [
|
|
13787
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-[11px] font-semibold t-text", children: "Heads up: background token usage" }),
|
|
13788
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-[11px] t-text-muted leading-relaxed", children: [
|
|
13789
|
+
"The Paper Wiki runs in the background and sends every new paper through an LLM (intro + abstract + full text if available). A typical paper consumes roughly",
|
|
13790
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "t-text", children: " 8K–25K input tokens" }),
|
|
13791
|
+
" and produces",
|
|
13792
|
+
" ",
|
|
13793
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "t-text", children: "2K–4K output tokens" }),
|
|
13794
|
+
", plus concept-page updates. Across a full library this can add up to ",
|
|
13795
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "t-text", children: "several dollars per day" }),
|
|
13796
|
+
" on API-key billing. ",
|
|
13797
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("strong", { children: "It is disabled by default" }),
|
|
13798
|
+
" — enable it below only after you've picked a model you're comfortable paying for, and prefer a subscription plan or a smaller/cheaper model for background work."
|
|
13799
|
+
] })
|
|
13800
|
+
] })
|
|
13801
|
+
] }),
|
|
13747
13802
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
13748
13803
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h4", { className: "text-xs font-semibold t-text mb-1.5", children: "Wiki Agent Model" }),
|
|
13749
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
13804
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-[11px] t-text-muted mb-2.5", children: [
|
|
13805
|
+
"Select a model to power the background Paper Wiki agent. The wiki accumulates LLM-generated summaries of papers across all your projects. A smaller model is recommended for background processing. Pick ",
|
|
13806
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("em", { children: "Auto" }),
|
|
13807
|
+
" to follow the system-wide model priority (subscription before API key)."
|
|
13808
|
+
] }),
|
|
13750
13809
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
13751
13810
|
"select",
|
|
13752
13811
|
{
|
|
@@ -13754,11 +13813,22 @@ function WikiAgentSettings({ model, speed, onChangeModel, onChangeSpeed }) {
|
|
|
13754
13813
|
onChange: (e) => onChangeModel(e.target.value),
|
|
13755
13814
|
className: "w-full px-3 py-1.5 rounded-lg border t-border t-bg-base t-text text-xs",
|
|
13756
13815
|
children: [
|
|
13757
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "none", children: "None (disabled)" }),
|
|
13758
|
-
|
|
13816
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "none", children: "None (disabled — default)" }),
|
|
13817
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "auto", children: "Auto (match main model priority)" }),
|
|
13818
|
+
MODEL_GROUPS.map(([provider, models]) => /* @__PURE__ */ jsxRuntimeExports.jsx("optgroup", { label: provider, children: models.map((m) => {
|
|
13819
|
+
const suffix2 = isSubProvider(providerOf(m.id)) ? " (sub)" : " (api)";
|
|
13820
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("option", { value: m.id, children: [
|
|
13821
|
+
m.label,
|
|
13822
|
+
suffix2
|
|
13823
|
+
] }, m.id);
|
|
13824
|
+
}) }, provider))
|
|
13759
13825
|
]
|
|
13760
13826
|
}
|
|
13761
13827
|
),
|
|
13828
|
+
enabled && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-[10px] t-text-muted mt-1.5", children: [
|
|
13829
|
+
"Running: ",
|
|
13830
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "t-text", children: runningModelLabel })
|
|
13831
|
+
] }),
|
|
13762
13832
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-[10px] t-text-muted mt-1.5 italic", children: "Changes take effect after app restart." })
|
|
13763
13833
|
] }),
|
|
13764
13834
|
enabled && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
@@ -14273,9 +14343,8 @@ const useUIStore = create$1((set) => ({
|
|
|
14273
14343
|
async function hydratePreferences() {
|
|
14274
14344
|
const api2 = window.api;
|
|
14275
14345
|
const prefs = await api2?.loadPreferences?.();
|
|
14276
|
-
if (!prefs) return;
|
|
14277
14346
|
const updates = {};
|
|
14278
|
-
if (prefs
|
|
14347
|
+
if (prefs?.selectedModel) {
|
|
14279
14348
|
const m = prefs.selectedModel;
|
|
14280
14349
|
if (!m.includes(":")) {
|
|
14281
14350
|
const { provider, modelId } = parseModelKey(m);
|
|
@@ -14283,8 +14352,14 @@ async function hydratePreferences() {
|
|
|
14283
14352
|
} else {
|
|
14284
14353
|
updates.selectedModel = m;
|
|
14285
14354
|
}
|
|
14355
|
+
} else {
|
|
14356
|
+
try {
|
|
14357
|
+
const preferred = await api2?.pickPreferredModel?.();
|
|
14358
|
+
if (preferred) updates.selectedModel = preferred;
|
|
14359
|
+
} catch {
|
|
14360
|
+
}
|
|
14286
14361
|
}
|
|
14287
|
-
if (prefs
|
|
14362
|
+
if (prefs?.reasoningEffort) updates.reasoningEffort = prefs.reasoningEffort;
|
|
14288
14363
|
if (Object.keys(updates).length > 0) useUIStore.setState(updates);
|
|
14289
14364
|
}
|
|
14290
14365
|
const uiStore = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
@@ -29082,7 +29157,15 @@ function UserProfile() {
|
|
|
29082
29157
|
}
|
|
29083
29158
|
);
|
|
29084
29159
|
}
|
|
29085
|
-
const
|
|
29160
|
+
const PROVIDER_ORDER = [
|
|
29161
|
+
"ChatGPT Subscription",
|
|
29162
|
+
"Claude Subscription",
|
|
29163
|
+
"OpenAI",
|
|
29164
|
+
"Anthropic"
|
|
29165
|
+
];
|
|
29166
|
+
const allProviders = PROVIDER_ORDER.filter(
|
|
29167
|
+
(p) => SUPPORTED_MODELS.some((m) => m.provider === p)
|
|
29168
|
+
);
|
|
29086
29169
|
const allGroupedModels = {};
|
|
29087
29170
|
for (const p of allProviders) {
|
|
29088
29171
|
allGroupedModels[p] = SUPPORTED_MODELS.filter((m) => m.provider === p);
|
|
@@ -29098,9 +29181,8 @@ function ModelSelector$1({ selectedModel, onSelectModel }) {
|
|
|
29098
29181
|
const [showOpenAIDialog, setShowOpenAIDialog] = reactExports.useState(false);
|
|
29099
29182
|
const ref = reactExports.useRef(null);
|
|
29100
29183
|
const api2 = window.api;
|
|
29101
|
-
const
|
|
29102
|
-
const
|
|
29103
|
-
const groupedModels = claudeSubEnabled ? allGroupedModels : Object.fromEntries(Object.entries(allGroupedModels).filter(([p]) => p !== "Claude Subscription"));
|
|
29184
|
+
const providers = allProviders;
|
|
29185
|
+
const groupedModels = allGroupedModels;
|
|
29104
29186
|
const current = SUPPORTED_MODELS.find((m) => m.id === selectedModel);
|
|
29105
29187
|
const refreshAnthropicStatus = reactExports.useCallback(async () => {
|
|
29106
29188
|
try {
|
|
@@ -29147,12 +29229,12 @@ function ModelSelector$1({ selectedModel, onSelectModel }) {
|
|
|
29147
29229
|
reactExports.useEffect(() => {
|
|
29148
29230
|
refreshAnthropicStatus();
|
|
29149
29231
|
refreshCodexStatus();
|
|
29150
|
-
|
|
29232
|
+
refreshAnthropicSubStatus();
|
|
29151
29233
|
const unsub = api2?.onAnthropicAuthStatus?.((status) => setAnthropicStatus(status));
|
|
29152
29234
|
return () => {
|
|
29153
29235
|
if (typeof unsub === "function") unsub();
|
|
29154
29236
|
};
|
|
29155
|
-
}, [api2, refreshAnthropicStatus, refreshCodexStatus, refreshAnthropicSubStatus
|
|
29237
|
+
}, [api2, refreshAnthropicStatus, refreshCodexStatus, refreshAnthropicSubStatus]);
|
|
29156
29238
|
const handleCodexLogin = async () => {
|
|
29157
29239
|
setCodexLoggingIn(true);
|
|
29158
29240
|
try {
|
|
@@ -29240,7 +29322,7 @@ function ModelSelector$1({ selectedModel, onSelectModel }) {
|
|
|
29240
29322
|
refreshAnthropicStatus();
|
|
29241
29323
|
};
|
|
29242
29324
|
const { provider: currentProvider } = current ? parseModelKey(current.id) : { provider: "" };
|
|
29243
|
-
const
|
|
29325
|
+
const authSuffix = currentProvider === "anthropic-sub" || currentProvider === "openai-codex" ? "sub" : currentProvider === "openai" || currentProvider === "anthropic" ? "api" : null;
|
|
29244
29326
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { ref, className: "relative", children: [
|
|
29245
29327
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
29246
29328
|
"button",
|
|
@@ -29261,8 +29343,14 @@ function ModelSelector$1({ selectedModel, onSelectModel }) {
|
|
|
29261
29343
|
}
|
|
29262
29344
|
),
|
|
29263
29345
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Cpu, { size: 14 }),
|
|
29264
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
29265
|
-
|
|
29346
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "truncate max-w-[108px]", children: [
|
|
29347
|
+
current?.label || selectedModel,
|
|
29348
|
+
authSuffix && /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "t-text-muted", children: [
|
|
29349
|
+
" (",
|
|
29350
|
+
authSuffix,
|
|
29351
|
+
")"
|
|
29352
|
+
] })
|
|
29353
|
+
] }),
|
|
29266
29354
|
/* @__PURE__ */ jsxRuntimeExports.jsx(ChevronDown, { size: 12, className: `transition-transform ${open ? "rotate-180" : ""}` })
|
|
29267
29355
|
]
|
|
29268
29356
|
}
|
|
@@ -32923,7 +33011,7 @@ function CenterPanel() {
|
|
|
32923
33011
|
}
|
|
32924
33012
|
const remarkPlugins = [remarkGfm];
|
|
32925
33013
|
const LazyMilkdownMarkdownEditor = reactExports.lazy(async () => {
|
|
32926
|
-
const mod = await __vitePreload(() => import("./MilkdownMarkdownEditor-
|
|
33014
|
+
const mod = await __vitePreload(() => import("./MilkdownMarkdownEditor-BqfydyHs.js").then((n) => n.bL), true ? __vite__mapDeps([0,1]) : void 0, import.meta.url);
|
|
32927
33015
|
return { default: mod.MilkdownMarkdownEditor };
|
|
32928
33016
|
});
|
|
32929
33017
|
const typeIcons = {
|
|
@@ -42712,10 +42800,11 @@ function FolderGate({ onOpenSettings }) {
|
|
|
42712
42800
|
id: "main-content",
|
|
42713
42801
|
className: "flex-1 overflow-y-auto pt-[12vh] px-[8vw] pb-6",
|
|
42714
42802
|
children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mx-auto w-full max-w-6xl", children: [
|
|
42715
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mb-
|
|
42803
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mb-8 pl-1", children: [
|
|
42716
42804
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h1", { className: "text-[16px] font-semibold t-text tracking-tight leading-none", children: "Research Pilot" }),
|
|
42717
42805
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-[11px] t-text-muted mt-1.5 leading-none", children: "A research workflow, not a chat window." })
|
|
42718
42806
|
] }),
|
|
42807
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(UpdateBanner, { variant: "welcome", className: "mb-10" }),
|
|
42719
42808
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid grid-cols-1 xl:grid-cols-[minmax(0,1fr)_20rem] gap-12 xl:gap-16 items-start", children: [
|
|
42720
42809
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("section", { "aria-labelledby": "recents-heading", children: [
|
|
42721
42810
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h2", { id: "recents-heading", className: "sr-only", children: "Recent projects" }),
|
|
@@ -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-CYcmNTWS.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-BqfydyHs.js";
|
|
3
|
+
import { html } from "./index-B86Rm5VH.js";
|
|
4
|
+
import "./index-C90yL_Oq.js";
|
|
5
|
+
import "./index-B0bfGE4l.js";
|
|
6
|
+
import "./index-DnIy5Txo.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,4 +1,4 @@
|
|
|
1
|
-
import { P as Parser, N as NodeSet, k as NodeType, D as DefaultBufferLength, l as NodeProp, T as Tree, I as IterMode } from "./MilkdownMarkdownEditor-
|
|
1
|
+
import { P as Parser, N as NodeSet, k as NodeType, D as DefaultBufferLength, l as NodeProp, T as Tree, I as IterMode } from "./MilkdownMarkdownEditor-BqfydyHs.js";
|
|
2
2
|
var define_process_env_default = {};
|
|
3
3
|
class Stack {
|
|
4
4
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { L as LRParser, E as ExternalTokenizer, 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-CYcmNTWS.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-BqfydyHs.js";
|
|
3
|
+
import "./index-C90yL_Oq.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([
|