@researai/deepscientist 1.5.15 → 1.5.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/README.md +385 -104
  2. package/bin/ds.js +1241 -110
  3. package/docs/en/00_QUICK_START.md +100 -19
  4. package/docs/en/01_SETTINGS_REFERENCE.md +34 -1
  5. package/docs/en/02_START_RESEARCH_GUIDE.md +7 -0
  6. package/docs/en/05_TUI_GUIDE.md +6 -0
  7. package/docs/en/06_RUNTIME_AND_CANVAS.md +4 -3
  8. package/docs/en/09_DOCTOR.md +25 -8
  9. package/docs/en/14_PROMPT_SKILLS_AND_MCP_GUIDE.md +63 -13
  10. package/docs/en/15_CODEX_PROVIDER_SETUP.md +37 -11
  11. package/docs/en/19_EXTERNAL_CONTROLLER_GUIDE.md +226 -0
  12. package/docs/en/19_LOCAL_BROWSER_AUTH.md +70 -0
  13. package/docs/en/20_WORKSPACE_MODES_GUIDE.md +250 -0
  14. package/docs/en/21_LOCAL_MODEL_BACKENDS_GUIDE.md +283 -0
  15. package/docs/en/91_DEVELOPMENT.md +237 -0
  16. package/docs/en/README.md +24 -2
  17. package/docs/zh/00_QUICK_START.md +89 -19
  18. package/docs/zh/01_SETTINGS_REFERENCE.md +34 -1
  19. package/docs/zh/02_START_RESEARCH_GUIDE.md +7 -0
  20. package/docs/zh/05_TUI_GUIDE.md +6 -0
  21. package/docs/zh/09_DOCTOR.md +26 -9
  22. package/docs/zh/14_PROMPT_SKILLS_AND_MCP_GUIDE.md +63 -13
  23. package/docs/zh/15_CODEX_PROVIDER_SETUP.md +37 -11
  24. package/docs/zh/19_EXTERNAL_CONTROLLER_GUIDE.md +226 -0
  25. package/docs/zh/19_LOCAL_BROWSER_AUTH.md +68 -0
  26. package/docs/zh/20_WORKSPACE_MODES_GUIDE.md +251 -0
  27. package/docs/zh/21_LOCAL_MODEL_BACKENDS_GUIDE.md +281 -0
  28. package/docs/zh/README.md +24 -2
  29. package/install.sh +46 -4
  30. package/package.json +2 -1
  31. package/pyproject.toml +1 -1
  32. package/src/deepscientist/__init__.py +1 -1
  33. package/src/deepscientist/acp/envelope.py +6 -0
  34. package/src/deepscientist/artifact/service.py +647 -22
  35. package/src/deepscientist/bash_exec/service.py +234 -9
  36. package/src/deepscientist/bridges/connectors.py +8 -2
  37. package/src/deepscientist/cli.py +115 -19
  38. package/src/deepscientist/codex_cli_compat.py +367 -22
  39. package/src/deepscientist/config/models.py +2 -1
  40. package/src/deepscientist/config/service.py +183 -13
  41. package/src/deepscientist/daemon/api/handlers.py +255 -31
  42. package/src/deepscientist/daemon/api/router.py +9 -0
  43. package/src/deepscientist/daemon/app.py +1146 -105
  44. package/src/deepscientist/diagnostics/__init__.py +6 -0
  45. package/src/deepscientist/diagnostics/runner_failures.py +130 -0
  46. package/src/deepscientist/doctor.py +207 -3
  47. package/src/deepscientist/gitops/__init__.py +10 -1
  48. package/src/deepscientist/gitops/diff.py +129 -0
  49. package/src/deepscientist/gitops/service.py +4 -1
  50. package/src/deepscientist/mcp/server.py +39 -0
  51. package/src/deepscientist/prompts/builder.py +275 -34
  52. package/src/deepscientist/quest/layout.py +15 -2
  53. package/src/deepscientist/quest/service.py +707 -55
  54. package/src/deepscientist/quest/stage_views.py +6 -1
  55. package/src/deepscientist/runners/codex.py +143 -43
  56. package/src/deepscientist/shared.py +19 -0
  57. package/src/deepscientist/skills/__init__.py +2 -2
  58. package/src/deepscientist/skills/installer.py +196 -5
  59. package/src/deepscientist/skills/registry.py +66 -0
  60. package/src/prompts/connectors/qq.md +18 -8
  61. package/src/prompts/connectors/weixin.md +16 -6
  62. package/src/prompts/contracts/shared_interaction.md +14 -2
  63. package/src/prompts/system.md +23 -5
  64. package/src/prompts/system_copilot.md +56 -0
  65. package/src/skills/analysis-campaign/SKILL.md +1 -0
  66. package/src/skills/baseline/SKILL.md +8 -0
  67. package/src/skills/decision/SKILL.md +8 -0
  68. package/src/skills/experiment/SKILL.md +8 -0
  69. package/src/skills/figure-polish/SKILL.md +1 -0
  70. package/src/skills/finalize/SKILL.md +1 -0
  71. package/src/skills/idea/SKILL.md +1 -0
  72. package/src/skills/intake-audit/SKILL.md +8 -0
  73. package/src/skills/mentor/SKILL.md +217 -0
  74. package/src/skills/mentor/references/correction-rules.md +210 -0
  75. package/src/skills/mentor/references/knowledge-profile.md +91 -0
  76. package/src/skills/mentor/references/persona-profile.md +138 -0
  77. package/src/skills/mentor/references/taste-profile.md +128 -0
  78. package/src/skills/mentor/references/thought-style-profile.md +138 -0
  79. package/src/skills/mentor/references/work-profile.md +289 -0
  80. package/src/skills/mentor/references/workflow-profile.md +240 -0
  81. package/src/skills/optimize/SKILL.md +1 -0
  82. package/src/skills/rebuttal/SKILL.md +1 -0
  83. package/src/skills/review/SKILL.md +1 -0
  84. package/src/skills/scout/SKILL.md +8 -0
  85. package/src/skills/write/SKILL.md +1 -0
  86. package/src/tui/dist/app/AppContainer.js +19 -11
  87. package/src/tui/dist/index.js +4 -1
  88. package/src/tui/dist/lib/api.js +33 -3
  89. package/src/tui/package.json +1 -1
  90. package/src/ui/dist/assets/AiManusChatView-Bv-Z8YpU.js +204 -0
  91. package/src/ui/dist/assets/AnalysisPlugin-BCKAfjba.js +1 -0
  92. package/src/ui/dist/assets/CliPlugin-BCKcpc35.js +109 -0
  93. package/src/ui/dist/assets/CodeEditorPlugin-DbOfSJ8K.js +2 -0
  94. package/src/ui/dist/assets/CodeViewerPlugin-CbaFRrUU.js +270 -0
  95. package/src/ui/dist/assets/DocViewerPlugin-DAjLVeQD.js +7 -0
  96. package/src/ui/dist/assets/GitCommitViewerPlugin-CIUqbUDO.js +1 -0
  97. package/src/ui/dist/assets/GitDiffViewerPlugin-CQACjoAA.js +6 -0
  98. package/src/ui/dist/assets/GitSnapshotViewer-0r4nLPke.js +30 -0
  99. package/src/ui/dist/assets/ImageViewerPlugin-nBOmI2v_.js +26 -0
  100. package/src/ui/dist/assets/LabCopilotPanel-BHxOxF4z.js +14 -0
  101. package/src/ui/dist/assets/LabPlugin-BKoZGs95.js +22 -0
  102. package/src/ui/dist/assets/LatexPlugin-ZwtV8pIp.js +25 -0
  103. package/src/ui/dist/assets/MarkdownViewerPlugin-DKqVfKyW.js +128 -0
  104. package/src/ui/dist/assets/MarketplacePlugin-BwxStZ9D.js +13 -0
  105. package/src/ui/dist/assets/NotebookEditor-BEQhaQbt.js +81 -0
  106. package/src/ui/dist/assets/{NotebookEditor-CccQYZjX.css → NotebookEditor-BHH8rdGj.css} +1 -1
  107. package/src/ui/dist/assets/NotebookEditor-BOr3x3Ej.css +1 -0
  108. package/src/ui/dist/assets/NotebookEditor-DB9N_T9q.js +361 -0
  109. package/src/ui/dist/assets/PdfLoader-Cy5jtWrr.css +1 -0
  110. package/src/ui/dist/assets/PdfLoader-eWBONbQP.js +16 -0
  111. package/src/ui/dist/assets/PdfMarkdownPlugin-D22YOZL3.js +1 -0
  112. package/src/ui/dist/assets/PdfViewerPlugin-c-RK9DLM.js +17 -0
  113. package/src/ui/dist/assets/PdfViewerPlugin-nwwE-fjJ.css +1 -0
  114. package/src/ui/dist/assets/SearchPlugin-CxF9ytAx.js +16 -0
  115. package/src/ui/dist/assets/SearchPlugin-DA4en4hK.css +1 -0
  116. package/src/ui/dist/assets/TextViewerPlugin-C5xqeeUH.js +54 -0
  117. package/src/ui/dist/assets/VNCViewer-BoLGLnHz.js +11 -0
  118. package/src/ui/dist/assets/bot-DREQOxzP.js +6 -0
  119. package/src/ui/dist/assets/browser-CTB2jwNe.js +8 -0
  120. package/src/ui/dist/assets/chevron-up-C9Qpx4DE.js +6 -0
  121. package/src/ui/dist/assets/code-WlFHE7z_.js +6 -0
  122. package/src/ui/dist/assets/file-content-BZMz3RYp.js +1 -0
  123. package/src/ui/dist/assets/file-diff-panel-CQhw0jS2.js +1 -0
  124. package/src/ui/dist/assets/file-jump-queue-DA-SdG__.js +1 -0
  125. package/src/ui/dist/assets/file-socket-CfQPKQKj.js +1 -0
  126. package/src/ui/dist/assets/git-commit-horizontal-DxZ8DCZh.js +6 -0
  127. package/src/ui/dist/assets/image-Bgl4VIyx.js +6 -0
  128. package/src/ui/dist/assets/index-BpV6lusQ.css +33 -0
  129. package/src/ui/dist/assets/index-CBNVuWcP.js +2496 -0
  130. package/src/ui/dist/assets/index-CwNu1aH4.js +11 -0
  131. package/src/ui/dist/assets/index-DrUnlf6K.js +1 -0
  132. package/src/ui/dist/assets/index-NW-h8VzN.js +1 -0
  133. package/src/ui/dist/assets/monaco-CiHMMNH_.js +1 -0
  134. package/src/ui/dist/assets/pdf-effect-queue-J8OnM0jE.js +6 -0
  135. package/src/ui/dist/assets/plugin-monaco-C8UgLomw.js +19 -0
  136. package/src/ui/dist/assets/plugin-notebook-HbW2K-1c.js +169 -0
  137. package/src/ui/dist/assets/plugin-pdf-CR8hgQBV.js +357 -0
  138. package/src/ui/dist/assets/plugin-terminal-MXFIPun8.js +227 -0
  139. package/src/ui/dist/assets/popover-CLc0pPP8.js +1 -0
  140. package/src/ui/dist/assets/project-sync-C9IdzdZW.js +1 -0
  141. package/src/ui/dist/assets/select-Cs2PmzwL.js +11 -0
  142. package/src/ui/dist/assets/sigma-ClKcHAXm.js +6 -0
  143. package/src/ui/dist/assets/trash-DwpbFr3w.js +11 -0
  144. package/src/ui/dist/assets/useCliAccess-NQ8m0Let.js +1 -0
  145. package/src/ui/dist/assets/useFileDiffOverlay-FuhcnKiw.js +1 -0
  146. package/src/ui/dist/assets/wrap-text-BC-Hltpd.js +11 -0
  147. package/src/ui/dist/assets/zoom-out-E_gaeAxL.js +11 -0
  148. package/src/ui/dist/index.html +5 -2
  149. package/src/ui/dist/assets/AiManusChatView-DDjbFnbt.js +0 -26597
  150. package/src/ui/dist/assets/AnalysisPlugin-Yb5IdmaU.js +0 -123
  151. package/src/ui/dist/assets/CliPlugin-e64sreyu.js +0 -31037
  152. package/src/ui/dist/assets/CodeEditorPlugin-C4D2TIkU.js +0 -427
  153. package/src/ui/dist/assets/CodeViewerPlugin-BVoNZIvC.js +0 -905
  154. package/src/ui/dist/assets/DocViewerPlugin-CLChbllo.js +0 -278
  155. package/src/ui/dist/assets/GitDiffViewerPlugin-C4xeFyFQ.js +0 -2661
  156. package/src/ui/dist/assets/ImageViewerPlugin-OiMUAcLi.js +0 -500
  157. package/src/ui/dist/assets/LabCopilotPanel-BjD2ThQF.js +0 -4104
  158. package/src/ui/dist/assets/LabPlugin-DQPg-NrB.js +0 -2677
  159. package/src/ui/dist/assets/LatexPlugin-CI05XAV9.js +0 -1792
  160. package/src/ui/dist/assets/MarkdownViewerPlugin-DpeBLYZf.js +0 -308
  161. package/src/ui/dist/assets/MarketplacePlugin-DolE58Q2.js +0 -413
  162. package/src/ui/dist/assets/NotebookEditor-7Qm2rSWD.js +0 -4214
  163. package/src/ui/dist/assets/NotebookEditor-C1kWaxKi.js +0 -84873
  164. package/src/ui/dist/assets/NotebookEditor-C3VQ7ylN.css +0 -1405
  165. package/src/ui/dist/assets/PdfLoader-BfOHw8Zw.js +0 -25468
  166. package/src/ui/dist/assets/PdfLoader-C-Y707R3.css +0 -49
  167. package/src/ui/dist/assets/PdfMarkdownPlugin-BulDREv1.js +0 -409
  168. package/src/ui/dist/assets/PdfViewerPlugin-C-daaOaL.js +0 -3095
  169. package/src/ui/dist/assets/PdfViewerPlugin-DQ11QcSf.css +0 -3627
  170. package/src/ui/dist/assets/SearchPlugin-CjpaiJ3A.js +0 -741
  171. package/src/ui/dist/assets/SearchPlugin-DDMrGDkh.css +0 -379
  172. package/src/ui/dist/assets/TextViewerPlugin-BxIyqPQC.js +0 -472
  173. package/src/ui/dist/assets/VNCViewer-HAg9mF7M.js +0 -18821
  174. package/src/ui/dist/assets/awareness-C0NPR2Dj.js +0 -292
  175. package/src/ui/dist/assets/bot-0DYntytV.js +0 -21
  176. package/src/ui/dist/assets/browser-BAcuE0Xj.js +0 -2895
  177. package/src/ui/dist/assets/code-B20Slj_w.js +0 -17
  178. package/src/ui/dist/assets/file-content-DT24KFma.js +0 -377
  179. package/src/ui/dist/assets/file-diff-panel-DK13YPql.js +0 -92
  180. package/src/ui/dist/assets/file-jump-queue-r5XKgJEV.js +0 -16
  181. package/src/ui/dist/assets/file-socket-B4T2o4nR.js +0 -58
  182. package/src/ui/dist/assets/function-B5QZkkHC.js +0 -1895
  183. package/src/ui/dist/assets/image-DSeR_sDS.js +0 -18
  184. package/src/ui/dist/assets/index-BrFje2Uk.js +0 -120
  185. package/src/ui/dist/assets/index-BwRJaoTl.js +0 -25
  186. package/src/ui/dist/assets/index-D_E4281X.js +0 -221322
  187. package/src/ui/dist/assets/index-DnYB3xb1.js +0 -159
  188. package/src/ui/dist/assets/index-G7AcWcMu.css +0 -12594
  189. package/src/ui/dist/assets/monaco-LExaAN3Y.js +0 -623
  190. package/src/ui/dist/assets/pdf-effect-queue-BJk5okWJ.js +0 -47
  191. package/src/ui/dist/assets/pdf_viewer-e0g1is2C.js +0 -8206
  192. package/src/ui/dist/assets/popover-D3Gg_FoV.js +0 -476
  193. package/src/ui/dist/assets/project-sync-C_ygLlVU.js +0 -297
  194. package/src/ui/dist/assets/select-CpAK6uWm.js +0 -1690
  195. package/src/ui/dist/assets/sigma-DEccaSgk.js +0 -22
  196. package/src/ui/dist/assets/square-check-big-uUfyVsbD.js +0 -17
  197. package/src/ui/dist/assets/trash-CXvwwSe8.js +0 -32
  198. package/src/ui/dist/assets/useCliAccess-Bnop4mgR.js +0 -957
  199. package/src/ui/dist/assets/useFileDiffOverlay-B8eUAX0I.js +0 -53
  200. package/src/ui/dist/assets/wrap-text-9vbOBpkW.js +0 -35
  201. package/src/ui/dist/assets/yjs-DncrqiZ8.js +0 -11243
  202. package/src/ui/dist/assets/zoom-out-BgVMmOW4.js +0 -34
@@ -1,623 +0,0 @@
1
- import { r as reactExports, R as React } from './index-D_E4281X.js';
2
-
3
- function _arrayLikeToArray(r, a) {
4
- (null == a || a > r.length) && (a = r.length);
5
- for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
6
- return n;
7
- }
8
- function _arrayWithHoles(r) {
9
- if (Array.isArray(r)) return r;
10
- }
11
- function _defineProperty$1(e, r, t) {
12
- return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
13
- value: t,
14
- enumerable: true,
15
- configurable: true,
16
- writable: true
17
- }) : e[r] = t, e;
18
- }
19
- function _iterableToArrayLimit(r, l) {
20
- var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
21
- if (null != t) {
22
- var e,
23
- n,
24
- i,
25
- u,
26
- a = [],
27
- f = true,
28
- o = false;
29
- try {
30
- if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
31
- } catch (r) {
32
- o = true, n = r;
33
- } finally {
34
- try {
35
- if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
36
- } finally {
37
- if (o) throw n;
38
- }
39
- }
40
- return a;
41
- }
42
- }
43
- function _nonIterableRest() {
44
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
45
- }
46
- function ownKeys$1(e, r) {
47
- var t = Object.keys(e);
48
- if (Object.getOwnPropertySymbols) {
49
- var o = Object.getOwnPropertySymbols(e);
50
- r && (o = o.filter(function (r) {
51
- return Object.getOwnPropertyDescriptor(e, r).enumerable;
52
- })), t.push.apply(t, o);
53
- }
54
- return t;
55
- }
56
- function _objectSpread2$1(e) {
57
- for (var r = 1; r < arguments.length; r++) {
58
- var t = null != arguments[r] ? arguments[r] : {};
59
- r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) {
60
- _defineProperty$1(e, r, t[r]);
61
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) {
62
- Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
63
- });
64
- }
65
- return e;
66
- }
67
- function _objectWithoutProperties(e, t) {
68
- if (null == e) return {};
69
- var o,
70
- r,
71
- i = _objectWithoutPropertiesLoose(e, t);
72
- if (Object.getOwnPropertySymbols) {
73
- var n = Object.getOwnPropertySymbols(e);
74
- for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
75
- }
76
- return i;
77
- }
78
- function _objectWithoutPropertiesLoose(r, e) {
79
- if (null == r) return {};
80
- var t = {};
81
- for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
82
- if (-1 !== e.indexOf(n)) continue;
83
- t[n] = r[n];
84
- }
85
- return t;
86
- }
87
- function _slicedToArray(r, e) {
88
- return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
89
- }
90
- function _toPrimitive(t, r) {
91
- if ("object" != typeof t || !t) return t;
92
- var e = t[Symbol.toPrimitive];
93
- if (void 0 !== e) {
94
- var i = e.call(t, r);
95
- if ("object" != typeof i) return i;
96
- throw new TypeError("@@toPrimitive must return a primitive value.");
97
- }
98
- return ("string" === r ? String : Number)(t);
99
- }
100
- function _toPropertyKey(t) {
101
- var i = _toPrimitive(t, "string");
102
- return "symbol" == typeof i ? i : i + "";
103
- }
104
- function _unsupportedIterableToArray(r, a) {
105
- if (r) {
106
- if ("string" == typeof r) return _arrayLikeToArray(r, a);
107
- var t = {}.toString.call(r).slice(8, -1);
108
- return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
109
- }
110
- }
111
-
112
- function _defineProperty(obj, key, value) {
113
- if (key in obj) {
114
- Object.defineProperty(obj, key, {
115
- value: value,
116
- enumerable: true,
117
- configurable: true,
118
- writable: true
119
- });
120
- } else {
121
- obj[key] = value;
122
- }
123
-
124
- return obj;
125
- }
126
-
127
- function ownKeys(object, enumerableOnly) {
128
- var keys = Object.keys(object);
129
-
130
- if (Object.getOwnPropertySymbols) {
131
- var symbols = Object.getOwnPropertySymbols(object);
132
- if (enumerableOnly) symbols = symbols.filter(function (sym) {
133
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
134
- });
135
- keys.push.apply(keys, symbols);
136
- }
137
-
138
- return keys;
139
- }
140
-
141
- function _objectSpread2(target) {
142
- for (var i = 1; i < arguments.length; i++) {
143
- var source = arguments[i] != null ? arguments[i] : {};
144
-
145
- if (i % 2) {
146
- ownKeys(Object(source), true).forEach(function (key) {
147
- _defineProperty(target, key, source[key]);
148
- });
149
- } else if (Object.getOwnPropertyDescriptors) {
150
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
151
- } else {
152
- ownKeys(Object(source)).forEach(function (key) {
153
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
154
- });
155
- }
156
- }
157
-
158
- return target;
159
- }
160
-
161
- function compose$1() {
162
- for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {
163
- fns[_key] = arguments[_key];
164
- }
165
-
166
- return function (x) {
167
- return fns.reduceRight(function (y, f) {
168
- return f(y);
169
- }, x);
170
- };
171
- }
172
-
173
- function curry$1(fn) {
174
- return function curried() {
175
- var _this = this;
176
-
177
- for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
178
- args[_key2] = arguments[_key2];
179
- }
180
-
181
- return args.length >= fn.length ? fn.apply(this, args) : function () {
182
- for (var _len3 = arguments.length, nextArgs = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
183
- nextArgs[_key3] = arguments[_key3];
184
- }
185
-
186
- return curried.apply(_this, [].concat(args, nextArgs));
187
- };
188
- };
189
- }
190
-
191
- function isObject$1(value) {
192
- return {}.toString.call(value).includes('Object');
193
- }
194
-
195
- function isEmpty(obj) {
196
- return !Object.keys(obj).length;
197
- }
198
-
199
- function isFunction(value) {
200
- return typeof value === 'function';
201
- }
202
-
203
- function hasOwnProperty(object, property) {
204
- return Object.prototype.hasOwnProperty.call(object, property);
205
- }
206
-
207
- function validateChanges(initial, changes) {
208
- if (!isObject$1(changes)) errorHandler$1('changeType');
209
- if (Object.keys(changes).some(function (field) {
210
- return !hasOwnProperty(initial, field);
211
- })) errorHandler$1('changeField');
212
- return changes;
213
- }
214
-
215
- function validateSelector(selector) {
216
- if (!isFunction(selector)) errorHandler$1('selectorType');
217
- }
218
-
219
- function validateHandler(handler) {
220
- if (!(isFunction(handler) || isObject$1(handler))) errorHandler$1('handlerType');
221
- if (isObject$1(handler) && Object.values(handler).some(function (_handler) {
222
- return !isFunction(_handler);
223
- })) errorHandler$1('handlersType');
224
- }
225
-
226
- function validateInitial(initial) {
227
- if (!initial) errorHandler$1('initialIsRequired');
228
- if (!isObject$1(initial)) errorHandler$1('initialType');
229
- if (isEmpty(initial)) errorHandler$1('initialContent');
230
- }
231
-
232
- function throwError$1(errorMessages, type) {
233
- throw new Error(errorMessages[type] || errorMessages["default"]);
234
- }
235
-
236
- var errorMessages$1 = {
237
- initialIsRequired: 'initial state is required',
238
- initialType: 'initial state should be an object',
239
- initialContent: 'initial state shouldn\'t be an empty object',
240
- handlerType: 'handler should be an object or a function',
241
- handlersType: 'all handlers should be a functions',
242
- selectorType: 'selector should be a function',
243
- changeType: 'provided value of changes should be an object',
244
- changeField: 'it seams you want to change a field in the state which is not specified in the "initial" state',
245
- "default": 'an unknown error accured in `state-local` package'
246
- };
247
- var errorHandler$1 = curry$1(throwError$1)(errorMessages$1);
248
- var validators$1 = {
249
- changes: validateChanges,
250
- selector: validateSelector,
251
- handler: validateHandler,
252
- initial: validateInitial
253
- };
254
-
255
- function create(initial) {
256
- var handler = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
257
- validators$1.initial(initial);
258
- validators$1.handler(handler);
259
- var state = {
260
- current: initial
261
- };
262
- var didUpdate = curry$1(didStateUpdate)(state, handler);
263
- var update = curry$1(updateState)(state);
264
- var validate = curry$1(validators$1.changes)(initial);
265
- var getChanges = curry$1(extractChanges)(state);
266
-
267
- function getState() {
268
- var selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function (state) {
269
- return state;
270
- };
271
- validators$1.selector(selector);
272
- return selector(state.current);
273
- }
274
-
275
- function setState(causedChanges) {
276
- compose$1(didUpdate, update, validate, getChanges)(causedChanges);
277
- }
278
-
279
- return [getState, setState];
280
- }
281
-
282
- function extractChanges(state, causedChanges) {
283
- return isFunction(causedChanges) ? causedChanges(state.current) : causedChanges;
284
- }
285
-
286
- function updateState(state, changes) {
287
- state.current = _objectSpread2(_objectSpread2({}, state.current), changes);
288
- return changes;
289
- }
290
-
291
- function didStateUpdate(state, handler, changes) {
292
- isFunction(handler) ? handler(state.current) : Object.keys(changes).forEach(function (field) {
293
- var _handler$field;
294
-
295
- return (_handler$field = handler[field]) === null || _handler$field === void 0 ? void 0 : _handler$field.call(handler, state.current[field]);
296
- });
297
- return changes;
298
- }
299
-
300
- var index$1 = {
301
- create: create
302
- };
303
-
304
- var config$1 = {
305
- paths: {
306
- vs: 'https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs'
307
- }
308
- };
309
-
310
- function curry(fn) {
311
- return function curried() {
312
- var _this = this;
313
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
314
- args[_key] = arguments[_key];
315
- }
316
- return args.length >= fn.length ? fn.apply(this, args) : function () {
317
- for (var _len2 = arguments.length, nextArgs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
318
- nextArgs[_key2] = arguments[_key2];
319
- }
320
- return curried.apply(_this, [].concat(args, nextArgs));
321
- };
322
- };
323
- }
324
-
325
- function isObject(value) {
326
- return {}.toString.call(value).includes('Object');
327
- }
328
-
329
- /**
330
- * validates the configuration object and informs about deprecation
331
- * @param {Object} config - the configuration object
332
- * @return {Object} config - the validated configuration object
333
- */
334
- function validateConfig(config) {
335
- if (!config) errorHandler('configIsRequired');
336
- if (!isObject(config)) errorHandler('configType');
337
- if (config.urls) {
338
- informAboutDeprecation();
339
- return {
340
- paths: {
341
- vs: config.urls.monacoBase
342
- }
343
- };
344
- }
345
- return config;
346
- }
347
-
348
- /**
349
- * logs deprecation message
350
- */
351
- function informAboutDeprecation() {
352
- console.warn(errorMessages.deprecation);
353
- }
354
- function throwError(errorMessages, type) {
355
- throw new Error(errorMessages[type] || errorMessages["default"]);
356
- }
357
- var errorMessages = {
358
- configIsRequired: 'the configuration object is required',
359
- configType: 'the configuration object should be an object',
360
- "default": 'an unknown error accured in `@monaco-editor/loader` package',
361
- deprecation: "Deprecation warning!\n You are using deprecated way of configuration.\n\n Instead of using\n monaco.config({ urls: { monacoBase: '...' } })\n use\n monaco.config({ paths: { vs: '...' } })\n\n For more please check the link https://github.com/suren-atoyan/monaco-loader#config\n "
362
- };
363
- var errorHandler = curry(throwError)(errorMessages);
364
- var validators = {
365
- config: validateConfig
366
- };
367
-
368
- var compose = function compose() {
369
- for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {
370
- fns[_key] = arguments[_key];
371
- }
372
- return function (x) {
373
- return fns.reduceRight(function (y, f) {
374
- return f(y);
375
- }, x);
376
- };
377
- };
378
-
379
- function merge(target, source) {
380
- Object.keys(source).forEach(function (key) {
381
- if (source[key] instanceof Object) {
382
- if (target[key]) {
383
- Object.assign(source[key], merge(target[key], source[key]));
384
- }
385
- }
386
- });
387
- return _objectSpread2$1(_objectSpread2$1({}, target), source);
388
- }
389
-
390
- // The source (has been changed) is https://github.com/facebook/react/issues/5465#issuecomment-157888325
391
-
392
- var CANCELATION_MESSAGE = {
393
- type: 'cancelation',
394
- msg: 'operation is manually canceled'
395
- };
396
- function makeCancelable(promise) {
397
- var hasCanceled_ = false;
398
- var wrappedPromise = new Promise(function (resolve, reject) {
399
- promise.then(function (val) {
400
- return hasCanceled_ ? reject(CANCELATION_MESSAGE) : resolve(val);
401
- });
402
- promise["catch"](reject);
403
- });
404
- return wrappedPromise.cancel = function () {
405
- return hasCanceled_ = true;
406
- }, wrappedPromise;
407
- }
408
-
409
- var _excluded = ["monaco"];
410
-
411
- /** the local state of the module */
412
- var _state$create = index$1.create({
413
- config: config$1,
414
- isInitialized: false,
415
- resolve: null,
416
- reject: null,
417
- monaco: null
418
- }),
419
- _state$create2 = _slicedToArray(_state$create, 2),
420
- getState = _state$create2[0],
421
- setState = _state$create2[1];
422
-
423
- /**
424
- * set the loader configuration
425
- * @param {Object} config - the configuration object
426
- */
427
- function config(globalConfig) {
428
- var _validators$config = validators.config(globalConfig),
429
- monaco = _validators$config.monaco,
430
- config = _objectWithoutProperties(_validators$config, _excluded);
431
- setState(function (state) {
432
- return {
433
- config: merge(state.config, config),
434
- monaco: monaco
435
- };
436
- });
437
- }
438
-
439
- /**
440
- * handles the initialization of the monaco-editor
441
- * @return {Promise} - returns an instance of monaco (with a cancelable promise)
442
- */
443
- function init() {
444
- var state = getState(function (_ref) {
445
- var monaco = _ref.monaco,
446
- isInitialized = _ref.isInitialized,
447
- resolve = _ref.resolve;
448
- return {
449
- monaco: monaco,
450
- isInitialized: isInitialized,
451
- resolve: resolve
452
- };
453
- });
454
- if (!state.isInitialized) {
455
- setState({
456
- isInitialized: true
457
- });
458
- if (state.monaco) {
459
- state.resolve(state.monaco);
460
- return makeCancelable(wrapperPromise);
461
- }
462
- if (window.monaco && window.monaco.editor) {
463
- storeMonacoInstance(window.monaco);
464
- state.resolve(window.monaco);
465
- return makeCancelable(wrapperPromise);
466
- }
467
- compose(injectScripts, getMonacoLoaderScript)(configureLoader);
468
- }
469
- return makeCancelable(wrapperPromise);
470
- }
471
-
472
- /**
473
- * injects provided scripts into the document.body
474
- * @param {Object} script - an HTML script element
475
- * @return {Object} - the injected HTML script element
476
- */
477
- function injectScripts(script) {
478
- return document.body.appendChild(script);
479
- }
480
-
481
- /**
482
- * creates an HTML script element with/without provided src
483
- * @param {string} [src] - the source path of the script
484
- * @return {Object} - the created HTML script element
485
- */
486
- function createScript(src) {
487
- var script = document.createElement('script');
488
- return src && (script.src = src), script;
489
- }
490
-
491
- /**
492
- * creates an HTML script element with the monaco loader src
493
- * @return {Object} - the created HTML script element
494
- */
495
- function getMonacoLoaderScript(configureLoader) {
496
- var state = getState(function (_ref2) {
497
- var config = _ref2.config,
498
- reject = _ref2.reject;
499
- return {
500
- config: config,
501
- reject: reject
502
- };
503
- });
504
- var loaderScript = createScript("".concat(state.config.paths.vs, "/loader.js"));
505
- loaderScript.onload = function () {
506
- return configureLoader();
507
- };
508
- loaderScript.onerror = state.reject;
509
- return loaderScript;
510
- }
511
-
512
- /**
513
- * configures the monaco loader
514
- */
515
- function configureLoader() {
516
- var state = getState(function (_ref3) {
517
- var config = _ref3.config,
518
- resolve = _ref3.resolve,
519
- reject = _ref3.reject;
520
- return {
521
- config: config,
522
- resolve: resolve,
523
- reject: reject
524
- };
525
- });
526
- var require = window.require;
527
- require.config(state.config);
528
- require(['vs/editor/editor.main'], function (loaded) {
529
- var monaco = loaded.m /* for 0.53 & 0.54 */ || loaded /* for other versions */;
530
- storeMonacoInstance(monaco);
531
- state.resolve(monaco);
532
- }, function (error) {
533
- state.reject(error);
534
- });
535
- }
536
-
537
- /**
538
- * store monaco instance in local state
539
- */
540
- function storeMonacoInstance(monaco) {
541
- if (!getState().monaco) {
542
- setState({
543
- monaco: monaco
544
- });
545
- }
546
- }
547
-
548
- /**
549
- * internal helper function
550
- * extracts stored monaco instance
551
- * @return {Object|null} - the monaco instance
552
- */
553
- function __getMonacoInstance() {
554
- return getState(function (_ref4) {
555
- var monaco = _ref4.monaco;
556
- return monaco;
557
- });
558
- }
559
- var wrapperPromise = new Promise(function (resolve, reject) {
560
- return setState({
561
- resolve: resolve,
562
- reject: reject
563
- });
564
- });
565
- var loader = {
566
- config: config,
567
- init: init,
568
- __getMonacoInstance: __getMonacoInstance
569
- };
570
-
571
- var le={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},v=le;var ae={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},Y=ae;function Me({children:e}){return React.createElement("div",{style:Y.container},e)}var Z=Me;var $=Z;function Ee({width:e,height:r,isEditorReady:n,loading:t,_ref:a,className:m,wrapperProps:E}){return React.createElement("section",{style:{...v.wrapper,width:e,height:r},...E},!n&&React.createElement($,null,t),React.createElement("div",{ref:a,style:{...v.fullWidth,...!n&&v.hide},className:m}))}var ee=Ee;var H=reactExports.memo(ee);function Ce(e){reactExports.useEffect(e,[]);}var k=Ce;function he(e,r,n=true){let t=reactExports.useRef(true);reactExports.useEffect(t.current||!n?()=>{t.current=false;}:e,r);}var l=he;function D(){}function h(e,r,n,t){return De(e,t)||be(e,r,n,t)}function De(e,r){return e.editor.getModel(te(e,r))}function be(e,r,n,t){return e.editor.createModel(r,n,t?te(e,t):void 0)}function te(e,r){return e.Uri.parse(r)}function Oe({original:e,modified:r,language:n,originalLanguage:t,modifiedLanguage:a,originalModelPath:m,modifiedModelPath:E,keepCurrentOriginalModel:g=false,keepCurrentModifiedModel:N=false,theme:x="light",loading:P="Loading...",options:y={},height:V="100%",width:z="100%",className:F,wrapperProps:j={},beforeMount:A=D,onMount:q=D}){let[M,O]=reactExports.useState(false),[T,s]=reactExports.useState(true),u=reactExports.useRef(null),c=reactExports.useRef(null),w=reactExports.useRef(null),d=reactExports.useRef(q),o=reactExports.useRef(A),b=reactExports.useRef(false);k(()=>{let i=loader.init();return i.then(f=>(c.current=f)&&s(false)).catch(f=>f?.type!=="cancelation"&&console.error("Monaco initialization: error:",f)),()=>u.current?I():i.cancel()}),l(()=>{if(u.current&&c.current){let i=u.current.getOriginalEditor(),f=h(c.current,e||"",t||n||"text",m||"");f!==i.getModel()&&i.setModel(f);}},[m],M),l(()=>{if(u.current&&c.current){let i=u.current.getModifiedEditor(),f=h(c.current,r||"",a||n||"text",E||"");f!==i.getModel()&&i.setModel(f);}},[E],M),l(()=>{let i=u.current.getModifiedEditor();i.getOption(c.current.editor.EditorOption.readOnly)?i.setValue(r||""):r!==i.getValue()&&(i.executeEdits("",[{range:i.getModel().getFullModelRange(),text:r||"",forceMoveMarkers:true}]),i.pushUndoStop());},[r],M),l(()=>{u.current?.getModel()?.original.setValue(e||"");},[e],M),l(()=>{let{original:i,modified:f}=u.current.getModel();c.current.editor.setModelLanguage(i,t||n||"text"),c.current.editor.setModelLanguage(f,a||n||"text");},[n,t,a],M),l(()=>{c.current?.editor.setTheme(x);},[x],M),l(()=>{u.current?.updateOptions(y);},[y],M);let L=reactExports.useCallback(()=>{if(!c.current)return;o.current(c.current);let i=h(c.current,e||"",t||n||"text",m||""),f=h(c.current,r||"",a||n||"text",E||"");u.current?.setModel({original:i,modified:f});},[n,r,a,e,t,m,E]),U=reactExports.useCallback(()=>{!b.current&&w.current&&(u.current=c.current.editor.createDiffEditor(w.current,{automaticLayout:true,...y}),L(),c.current?.editor.setTheme(x),O(true),b.current=true);},[y,x,L]);reactExports.useEffect(()=>{M&&d.current(u.current,c.current);},[M]),reactExports.useEffect(()=>{!T&&!M&&U();},[T,M,U]);function I(){let i=u.current?.getModel();g||i?.original?.dispose(),N||i?.modified?.dispose(),u.current?.dispose();}return React.createElement(H,{width:z,height:V,isEditorReady:M,loading:P,_ref:w,className:F,wrapperProps:j})}var ie=Oe;var we=reactExports.memo(ie);function Pe(){let[e,r]=reactExports.useState(loader.__getMonacoInstance());return k(()=>{let n;return e||(n=loader.init(),n.then(t=>{r(t);})),()=>n?.cancel()}),e}var Le=Pe;function He(e){let r=reactExports.useRef();return reactExports.useEffect(()=>{r.current=e;},[e]),r.current}var se=He;var _=new Map;function Ve({defaultValue:e,defaultLanguage:r,defaultPath:n,value:t,language:a,path:m,theme:E="light",line:g,loading:N="Loading...",options:x={},overrideServices:P={},saveViewState:y=true,keepCurrentModel:V=false,width:z="100%",height:F="100%",className:j,wrapperProps:A={},beforeMount:q=D,onMount:M=D,onChange:O,onValidate:T=D}){let[s,u]=reactExports.useState(false),[c,w]=reactExports.useState(true),d=reactExports.useRef(null),o=reactExports.useRef(null),b=reactExports.useRef(null),L=reactExports.useRef(M),U=reactExports.useRef(q),I=reactExports.useRef(),i=reactExports.useRef(t),f=se(m),Q=reactExports.useRef(false),B=reactExports.useRef(false);k(()=>{let p=loader.init();return p.then(R=>(d.current=R)&&w(false)).catch(R=>R?.type!=="cancelation"&&console.error("Monaco initialization: error:",R)),()=>o.current?pe():p.cancel()}),l(()=>{let p=h(d.current,e||t||"",r||a||"",m||n||"");p!==o.current?.getModel()&&(y&&_.set(f,o.current?.saveViewState()),o.current?.setModel(p),y&&o.current?.restoreViewState(_.get(m)));},[m],s),l(()=>{o.current?.updateOptions(x);},[x],s),l(()=>{!o.current||t===void 0||(o.current.getOption(d.current.editor.EditorOption.readOnly)?o.current.setValue(t):t!==o.current.getValue()&&(B.current=true,o.current.executeEdits("",[{range:o.current.getModel().getFullModelRange(),text:t,forceMoveMarkers:true}]),o.current.pushUndoStop(),B.current=false));},[t],s),l(()=>{let p=o.current?.getModel();p&&a&&d.current?.editor.setModelLanguage(p,a);},[a],s),l(()=>{g!==void 0&&o.current?.revealLine(g);},[g],s),l(()=>{d.current?.editor.setTheme(E);},[E],s);let X=reactExports.useCallback(()=>{if(!(!b.current||!d.current)&&!Q.current){U.current(d.current);let p=m||n,R=h(d.current,t||e||"",r||a||"",p||"");o.current=d.current?.editor.create(b.current,{model:R,automaticLayout:true,...x},P),y&&o.current.restoreViewState(_.get(p)),d.current.editor.setTheme(E),g!==void 0&&o.current.revealLine(g),u(true),Q.current=true;}},[e,r,n,t,a,m,x,P,y,E,g]);reactExports.useEffect(()=>{s&&L.current(o.current,d.current);},[s]),reactExports.useEffect(()=>{!c&&!s&&X();},[c,s,X]),i.current=t,reactExports.useEffect(()=>{s&&O&&(I.current?.dispose(),I.current=o.current?.onDidChangeModelContent(p=>{B.current||O(o.current.getValue(),p);}));},[s,O]),reactExports.useEffect(()=>{if(s){let p=d.current.editor.onDidChangeMarkers(R=>{let G=o.current.getModel()?.uri;if(G&&R.find(J=>J.path===G.path)){let J=d.current.editor.getModelMarkers({resource:G});T?.(J);}});return ()=>{p?.dispose();}}return ()=>{}},[s,T]);function pe(){I.current?.dispose(),V?y&&_.set(m,o.current.saveViewState()):o.current.getModel()?.dispose(),o.current.dispose();}return React.createElement(H,{width:z,height:F,isEditorReady:s,loading:N,_ref:b,className:j,wrapperProps:A})}var fe=Ve;var de=reactExports.memo(fe);var Ft=de;
572
-
573
- const index = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
574
- __proto__: null,
575
- DiffEditor: we,
576
- Editor: de,
577
- default: Ft,
578
- loader,
579
- useMonaco: Le
580
- }, Symbol.toStringTag, { value: 'Module' }));
581
-
582
- let configured = false;
583
- const WORKER_FILES = {
584
- json: "json.worker.js",
585
- css: "css.worker.js",
586
- scss: "css.worker.js",
587
- less: "css.worker.js",
588
- html: "html.worker.js",
589
- handlebars: "html.worker.js",
590
- razor: "html.worker.js",
591
- typescript: "ts.worker.js",
592
- javascript: "ts.worker.js"
593
- };
594
- function getWorkerFile(label) {
595
- return WORKER_FILES[label] ?? "editor.worker.js";
596
- }
597
- function applyWorkerOverride() {
598
- if (typeof window === "undefined") return;
599
- const baseUrl = new URL("/ui/monaco/vs/assets/", window.location.origin).toString();
600
- const existing = window.MonacoEnvironment;
601
- window.MonacoEnvironment = {
602
- ...existing ?? {},
603
- getWorker: (_moduleId, label) => {
604
- const workerUrl = new URL(getWorkerFile(label), baseUrl).toString();
605
- return new Worker(workerUrl, { name: label });
606
- }
607
- };
608
- }
609
- function configureMonacoLoader() {
610
- if (configured) return;
611
- if (typeof window === "undefined") return;
612
- const baseUrl = new URL("/ui/monaco/vs", window.location.origin).toString();
613
- loader.config({ paths: { vs: baseUrl } });
614
- applyWorkerOverride();
615
- void loader.init().then(() => {
616
- applyWorkerOverride();
617
- }).catch((error) => {
618
- console.error("[monaco] Failed to initialize:", error);
619
- });
620
- configured = true;
621
- }
622
-
623
- export { configureMonacoLoader as c, index as i };
@@ -1,47 +0,0 @@
1
- import { w as createLucideIcon } from './index-D_E4281X.js';
2
-
3
- /**
4
- * @license lucide-react v0.511.0 - ISC
5
- *
6
- * This source code is licensed under the ISC license.
7
- * See the LICENSE file in the root directory of this source tree.
8
- */
9
-
10
-
11
- const __iconNode = [
12
- ["path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z", key: "1lielz" }]
13
- ];
14
- const MessageSquare = createLucideIcon("message-square", __iconNode);
15
-
16
- const pendingEffects = /* @__PURE__ */ new Map();
17
- const handledIds = [];
18
- const handledSet = /* @__PURE__ */ new Set();
19
- const MAX_HANDLED_IDS = 200;
20
- function queuePdfEffect(effect) {
21
- const fileId = effect.data?.fileId;
22
- if (!fileId) return;
23
- const existing = pendingEffects.get(fileId) ?? [];
24
- existing.push(effect);
25
- pendingEffects.set(fileId, existing);
26
- }
27
- function consumePdfEffects(fileId) {
28
- const existing = pendingEffects.get(fileId);
29
- if (!existing || existing.length === 0) return [];
30
- pendingEffects.delete(fileId);
31
- return existing;
32
- }
33
- function isPdfEffectHandled(effectId) {
34
- if (!effectId) return false;
35
- return handledSet.has(effectId);
36
- }
37
- function markPdfEffectHandled(effectId) {
38
- if (!effectId || handledSet.has(effectId)) return;
39
- handledSet.add(effectId);
40
- handledIds.push(effectId);
41
- if (handledIds.length > MAX_HANDLED_IDS) {
42
- const removed = handledIds.shift();
43
- if (removed) handledSet.delete(removed);
44
- }
45
- }
46
-
47
- export { MessageSquare as M, consumePdfEffects as c, isPdfEffectHandled as i, markPdfEffectHandled as m, queuePdfEffect as q };