@phenx-inc/ctlsurf 0.17.4 → 0.17.6
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 +1 -1
- package/out/headless/index.mjs +1 -1
- package/out/headless/index.mjs.map +1 -1
- package/out/renderer/assets/{cssMode-BJfoToLX.js → cssMode-LC2bCRa_.js} +3 -3
- package/out/renderer/assets/{freemarker2-T0eMtP1Z.js → freemarker2-Di7O120K.js} +1 -1
- package/out/renderer/assets/{handlebars-Dbbib8fi.js → handlebars-Dt8Fn4oY.js} +1 -1
- package/out/renderer/assets/{html-BRHT_oxc.js → html-wsYLMz8Z.js} +1 -1
- package/out/renderer/assets/{htmlMode-BRlZTxME.js → htmlMode-DAHN3Rfc.js} +3 -3
- package/out/renderer/assets/{index-RCAeuJTr.js → index-BSPboVCX.js} +114 -38
- package/out/renderer/assets/{index-CBWAeUYW.css → index-CmvYnexl.css} +15 -3
- package/out/renderer/assets/{javascript-BbOZOxq9.js → javascript-Ch481vNL.js} +2 -2
- package/out/renderer/assets/{jsonMode-CUvAeYcT.js → jsonMode-BmUlJiUR.js} +3 -3
- package/out/renderer/assets/{liquid-DRIACo_s.js → liquid-DAvcjBM1.js} +1 -1
- package/out/renderer/assets/{lspLanguageFeatures-Ds-3nH9p.js → lspLanguageFeatures-fZZkw0qY.js} +1 -1
- package/out/renderer/assets/{mdx-D76jlpLO.js → mdx-su1pUNh_.js} +1 -1
- package/out/renderer/assets/{python-CMuRPKJi.js → python-U5jDm-Cc.js} +1 -1
- package/out/renderer/assets/{razor-DRoH5mal.js → razor-CE13v8rw.js} +1 -1
- package/out/renderer/assets/{tsMode-dPJzgFD7.js → tsMode-Dtr-mLSh.js} +1 -1
- package/out/renderer/assets/{typescript-D5USKnLj.js → typescript-MRx8M-TQ.js} +1 -1
- package/out/renderer/assets/{xml-qYg1wt2P.js → xml-DYFD_EMc.js} +1 -1
- package/out/renderer/assets/{yaml-Uc-CvnvL.js → yaml-B_Zhj_tf.js} +1 -1
- package/out/renderer/index.html +2 -2
- package/package.json +1 -1
- package/scripts/test-work-map-ui.cjs +63 -1
- package/src/renderer/components/RollingCount.tsx +60 -0
- package/src/renderer/components/WorkMapPanel.tsx +41 -10
- package/src/renderer/styles.css +15 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { c as createWebWorker, l as languages } from "./index-
|
|
2
|
-
import { C as CompletionAdapter, H as HoverAdapter, D as DocumentHighlightAdapter, a as DefinitionAdapter, R as ReferenceAdapter, b as DocumentSymbolAdapter, c as RenameAdapter, d as DocumentColorAdapter, F as FoldingRangeAdapter, e as DiagnosticsAdapter, S as SelectionRangeAdapter, f as DocumentFormattingEditProvider, g as DocumentRangeFormattingEditProvider } from "./lspLanguageFeatures-
|
|
3
|
-
import { h, i, j, t, k } from "./lspLanguageFeatures-
|
|
1
|
+
import { c as createWebWorker, l as languages } from "./index-BSPboVCX.js";
|
|
2
|
+
import { C as CompletionAdapter, H as HoverAdapter, D as DocumentHighlightAdapter, a as DefinitionAdapter, R as ReferenceAdapter, b as DocumentSymbolAdapter, c as RenameAdapter, d as DocumentColorAdapter, F as FoldingRangeAdapter, e as DiagnosticsAdapter, S as SelectionRangeAdapter, f as DocumentFormattingEditProvider, g as DocumentRangeFormattingEditProvider } from "./lspLanguageFeatures-fZZkw0qY.js";
|
|
3
|
+
import { h, i, j, t, k } from "./lspLanguageFeatures-fZZkw0qY.js";
|
|
4
4
|
const STOP_WHEN_IDLE_FOR = 2 * 60 * 1e3;
|
|
5
5
|
class WorkerManager {
|
|
6
6
|
constructor(defaults) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { c as createWebWorker, l as languages } from "./index-
|
|
2
|
-
import { H as HoverAdapter, D as DocumentHighlightAdapter, h as DocumentLinkAdapter, F as FoldingRangeAdapter, b as DocumentSymbolAdapter, S as SelectionRangeAdapter, c as RenameAdapter, f as DocumentFormattingEditProvider, g as DocumentRangeFormattingEditProvider, C as CompletionAdapter } from "./lspLanguageFeatures-
|
|
3
|
-
import { a, e, d, R, i, j, t, k } from "./lspLanguageFeatures-
|
|
1
|
+
import { c as createWebWorker, l as languages } from "./index-BSPboVCX.js";
|
|
2
|
+
import { H as HoverAdapter, D as DocumentHighlightAdapter, h as DocumentLinkAdapter, F as FoldingRangeAdapter, b as DocumentSymbolAdapter, S as SelectionRangeAdapter, c as RenameAdapter, f as DocumentFormattingEditProvider, g as DocumentRangeFormattingEditProvider, C as CompletionAdapter } from "./lspLanguageFeatures-fZZkw0qY.js";
|
|
3
|
+
import { a, e, d, R, i, j, t, k } from "./lspLanguageFeatures-fZZkw0qY.js";
|
|
4
4
|
const STOP_WHEN_IDLE_FOR = 2 * 60 * 1e3;
|
|
5
5
|
class WorkerManager {
|
|
6
6
|
constructor(defaults) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./cssMode-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./cssMode-LC2bCRa_.js","./lspLanguageFeatures-fZZkw0qY.js","./htmlMode-DAHN3Rfc.js","./jsonMode-BmUlJiUR.js","./javascript-Ch481vNL.js","./typescript-MRx8M-TQ.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
function getDefaultExportFromCjs(x) {
|
|
3
3
|
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
|
|
4
4
|
}
|
|
@@ -30602,7 +30602,7 @@ class AnimationFrameQueueItem {
|
|
|
30602
30602
|
}
|
|
30603
30603
|
};
|
|
30604
30604
|
})();
|
|
30605
|
-
function getComputedStyle(el) {
|
|
30605
|
+
function getComputedStyle$1(el) {
|
|
30606
30606
|
return getWindow(el).getComputedStyle(el, null);
|
|
30607
30607
|
}
|
|
30608
30608
|
function getClientArea(element, defaultValue, fallbackElement) {
|
|
@@ -30632,7 +30632,7 @@ class SizeUtils {
|
|
|
30632
30632
|
return parseFloat(value) || 0;
|
|
30633
30633
|
}
|
|
30634
30634
|
static getDimension(element, cssPropertyName) {
|
|
30635
|
-
const computedStyle = getComputedStyle(element);
|
|
30635
|
+
const computedStyle = getComputedStyle$1(element);
|
|
30636
30636
|
const value = computedStyle ? computedStyle.getPropertyValue(cssPropertyName) : "0";
|
|
30637
30637
|
return SizeUtils.convertToPixels(element, value);
|
|
30638
30638
|
}
|
|
@@ -30714,7 +30714,7 @@ function getTopLeftOffset(element) {
|
|
|
30714
30714
|
let left = element.offsetLeft;
|
|
30715
30715
|
while ((element = element.parentNode) !== null && element !== element.ownerDocument.body && element !== element.ownerDocument.documentElement) {
|
|
30716
30716
|
top -= element.scrollTop;
|
|
30717
|
-
const c = isShadowRoot(element) ? null : getComputedStyle(element);
|
|
30717
|
+
const c = isShadowRoot(element) ? null : getComputedStyle$1(element);
|
|
30718
30718
|
if (c) {
|
|
30719
30719
|
left -= c.direction !== "rtl" ? element.scrollLeft : -element.scrollLeft;
|
|
30720
30720
|
}
|
|
@@ -30753,7 +30753,7 @@ function getDomNodeZoomLevel(domNode) {
|
|
|
30753
30753
|
let testElement = domNode;
|
|
30754
30754
|
let zoom = 1;
|
|
30755
30755
|
do {
|
|
30756
|
-
const elementZoomLevel = getComputedStyle(testElement).zoom;
|
|
30756
|
+
const elementZoomLevel = getComputedStyle$1(testElement).zoom;
|
|
30757
30757
|
if (elementZoomLevel !== null && elementZoomLevel !== void 0 && elementZoomLevel !== "1") {
|
|
30758
30758
|
zoom *= elementZoomLevel;
|
|
30759
30759
|
}
|
|
@@ -132423,7 +132423,7 @@ class FindWidget extends Widget$1 {
|
|
|
132423
132423
|
if (width2 < FIND_WIDGET_INITIAL_WIDTH) {
|
|
132424
132424
|
return;
|
|
132425
132425
|
}
|
|
132426
|
-
const maxWidth = parseFloat(getComputedStyle(this._domNode).maxWidth) || 0;
|
|
132426
|
+
const maxWidth = parseFloat(getComputedStyle$1(this._domNode).maxWidth) || 0;
|
|
132427
132427
|
if (width2 > maxWidth) {
|
|
132428
132428
|
return;
|
|
132429
132429
|
}
|
|
@@ -208471,7 +208471,7 @@ const lessDefaults = new LanguageServiceDefaultsImpl$3(
|
|
|
208471
208471
|
modeConfigurationDefault$2
|
|
208472
208472
|
);
|
|
208473
208473
|
function getMode$3() {
|
|
208474
|
-
return __vitePreload(() => import("./cssMode-
|
|
208474
|
+
return __vitePreload(() => import("./cssMode-LC2bCRa_.js"), true ? __vite__mapDeps([0,1]) : void 0, import.meta.url);
|
|
208475
208475
|
}
|
|
208476
208476
|
languages.onLanguage("less", () => {
|
|
208477
208477
|
getMode$3().then((mode2) => mode2.setupMode(lessDefaults));
|
|
@@ -208576,7 +208576,7 @@ const razorLanguageService = registerHTMLLanguageService(
|
|
|
208576
208576
|
);
|
|
208577
208577
|
const razorDefaults = razorLanguageService.defaults;
|
|
208578
208578
|
function getMode$2() {
|
|
208579
|
-
return __vitePreload(() => import("./htmlMode-
|
|
208579
|
+
return __vitePreload(() => import("./htmlMode-DAHN3Rfc.js"), true ? __vite__mapDeps([2,1]) : void 0, import.meta.url);
|
|
208580
208580
|
}
|
|
208581
208581
|
function registerHTMLLanguageService(languageId, options = optionsDefault, modeConfiguration = getConfigurationDefault(languageId)) {
|
|
208582
208582
|
const defaults = new LanguageServiceDefaultsImpl$2(languageId, options, modeConfiguration);
|
|
@@ -208660,7 +208660,7 @@ const jsonDefaults = new LanguageServiceDefaultsImpl$1(
|
|
|
208660
208660
|
);
|
|
208661
208661
|
const getWorker$1 = () => getMode$1().then((mode2) => mode2.getWorker());
|
|
208662
208662
|
function getMode$1() {
|
|
208663
|
-
return __vitePreload(() => import("./jsonMode-
|
|
208663
|
+
return __vitePreload(() => import("./jsonMode-BmUlJiUR.js"), true ? __vite__mapDeps([3,1]) : void 0, import.meta.url);
|
|
208664
208664
|
}
|
|
208665
208665
|
languages.register({
|
|
208666
208666
|
id: "json",
|
|
@@ -208906,7 +208906,7 @@ const getJavaScriptWorker = () => {
|
|
|
208906
208906
|
return getMode().then((mode) => mode.getJavaScriptWorker());
|
|
208907
208907
|
};
|
|
208908
208908
|
function getMode() {
|
|
208909
|
-
return __vitePreload(() => import("./tsMode-
|
|
208909
|
+
return __vitePreload(() => import("./tsMode-Dtr-mLSh.js"), true ? [] : void 0, import.meta.url);
|
|
208910
208910
|
}
|
|
208911
208911
|
languages.onLanguage("typescript", () => {
|
|
208912
208912
|
return getMode().then((mode) => mode.setupTypeScript(typescriptDefaults));
|
|
@@ -209101,49 +209101,49 @@ registerLanguage({
|
|
|
209101
209101
|
extensions: [".ftl", ".ftlh", ".ftlx"],
|
|
209102
209102
|
aliases: ["FreeMarker2", "Apache FreeMarker2"],
|
|
209103
209103
|
loader: () => {
|
|
209104
|
-
return __vitePreload(() => import("./freemarker2-
|
|
209104
|
+
return __vitePreload(() => import("./freemarker2-Di7O120K.js"), true ? [] : void 0, import.meta.url).then((m) => m.TagAutoInterpolationDollar);
|
|
209105
209105
|
}
|
|
209106
209106
|
});
|
|
209107
209107
|
registerLanguage({
|
|
209108
209108
|
id: "freemarker2.tag-angle.interpolation-dollar",
|
|
209109
209109
|
aliases: ["FreeMarker2 (Angle/Dollar)", "Apache FreeMarker2 (Angle/Dollar)"],
|
|
209110
209110
|
loader: () => {
|
|
209111
|
-
return __vitePreload(() => import("./freemarker2-
|
|
209111
|
+
return __vitePreload(() => import("./freemarker2-Di7O120K.js"), true ? [] : void 0, import.meta.url).then((m) => m.TagAngleInterpolationDollar);
|
|
209112
209112
|
}
|
|
209113
209113
|
});
|
|
209114
209114
|
registerLanguage({
|
|
209115
209115
|
id: "freemarker2.tag-bracket.interpolation-dollar",
|
|
209116
209116
|
aliases: ["FreeMarker2 (Bracket/Dollar)", "Apache FreeMarker2 (Bracket/Dollar)"],
|
|
209117
209117
|
loader: () => {
|
|
209118
|
-
return __vitePreload(() => import("./freemarker2-
|
|
209118
|
+
return __vitePreload(() => import("./freemarker2-Di7O120K.js"), true ? [] : void 0, import.meta.url).then((m) => m.TagBracketInterpolationDollar);
|
|
209119
209119
|
}
|
|
209120
209120
|
});
|
|
209121
209121
|
registerLanguage({
|
|
209122
209122
|
id: "freemarker2.tag-angle.interpolation-bracket",
|
|
209123
209123
|
aliases: ["FreeMarker2 (Angle/Bracket)", "Apache FreeMarker2 (Angle/Bracket)"],
|
|
209124
209124
|
loader: () => {
|
|
209125
|
-
return __vitePreload(() => import("./freemarker2-
|
|
209125
|
+
return __vitePreload(() => import("./freemarker2-Di7O120K.js"), true ? [] : void 0, import.meta.url).then((m) => m.TagAngleInterpolationBracket);
|
|
209126
209126
|
}
|
|
209127
209127
|
});
|
|
209128
209128
|
registerLanguage({
|
|
209129
209129
|
id: "freemarker2.tag-bracket.interpolation-bracket",
|
|
209130
209130
|
aliases: ["FreeMarker2 (Bracket/Bracket)", "Apache FreeMarker2 (Bracket/Bracket)"],
|
|
209131
209131
|
loader: () => {
|
|
209132
|
-
return __vitePreload(() => import("./freemarker2-
|
|
209132
|
+
return __vitePreload(() => import("./freemarker2-Di7O120K.js"), true ? [] : void 0, import.meta.url).then((m) => m.TagBracketInterpolationBracket);
|
|
209133
209133
|
}
|
|
209134
209134
|
});
|
|
209135
209135
|
registerLanguage({
|
|
209136
209136
|
id: "freemarker2.tag-auto.interpolation-dollar",
|
|
209137
209137
|
aliases: ["FreeMarker2 (Auto/Dollar)", "Apache FreeMarker2 (Auto/Dollar)"],
|
|
209138
209138
|
loader: () => {
|
|
209139
|
-
return __vitePreload(() => import("./freemarker2-
|
|
209139
|
+
return __vitePreload(() => import("./freemarker2-Di7O120K.js"), true ? [] : void 0, import.meta.url).then((m) => m.TagAutoInterpolationDollar);
|
|
209140
209140
|
}
|
|
209141
209141
|
});
|
|
209142
209142
|
registerLanguage({
|
|
209143
209143
|
id: "freemarker2.tag-auto.interpolation-bracket",
|
|
209144
209144
|
aliases: ["FreeMarker2 (Auto/Bracket)", "Apache FreeMarker2 (Auto/Bracket)"],
|
|
209145
209145
|
loader: () => {
|
|
209146
|
-
return __vitePreload(() => import("./freemarker2-
|
|
209146
|
+
return __vitePreload(() => import("./freemarker2-Di7O120K.js"), true ? [] : void 0, import.meta.url).then((m) => m.TagAutoInterpolationBracket);
|
|
209147
209147
|
}
|
|
209148
209148
|
});
|
|
209149
209149
|
registerLanguage({
|
|
@@ -209164,7 +209164,7 @@ registerLanguage({
|
|
|
209164
209164
|
extensions: [".handlebars", ".hbs"],
|
|
209165
209165
|
aliases: ["Handlebars", "handlebars", "hbs"],
|
|
209166
209166
|
mimetypes: ["text/x-handlebars-template"],
|
|
209167
|
-
loader: () => __vitePreload(() => import("./handlebars-
|
|
209167
|
+
loader: () => __vitePreload(() => import("./handlebars-Dt8Fn4oY.js"), true ? [] : void 0, import.meta.url)
|
|
209168
209168
|
});
|
|
209169
209169
|
registerLanguage({
|
|
209170
209170
|
id: "hcl",
|
|
@@ -209177,7 +209177,7 @@ registerLanguage({
|
|
|
209177
209177
|
extensions: [".html", ".htm", ".shtml", ".xhtml", ".mdoc", ".jsp", ".asp", ".aspx", ".jshtm"],
|
|
209178
209178
|
aliases: ["HTML", "htm", "html", "xhtml"],
|
|
209179
209179
|
mimetypes: ["text/html", "text/x-jshtm", "text/template", "text/ng-template"],
|
|
209180
|
-
loader: () => __vitePreload(() => import("./html-
|
|
209180
|
+
loader: () => __vitePreload(() => import("./html-wsYLMz8Z.js"), true ? [] : void 0, import.meta.url)
|
|
209181
209181
|
});
|
|
209182
209182
|
registerLanguage({
|
|
209183
209183
|
id: "ini",
|
|
@@ -209200,7 +209200,7 @@ registerLanguage({
|
|
|
209200
209200
|
filenames: ["jakefile"],
|
|
209201
209201
|
aliases: ["JavaScript", "javascript", "js"],
|
|
209202
209202
|
mimetypes: ["text/javascript"],
|
|
209203
|
-
loader: () => __vitePreload(() => import("./javascript-
|
|
209203
|
+
loader: () => __vitePreload(() => import("./javascript-Ch481vNL.js"), true ? __vite__mapDeps([4,5]) : void 0, import.meta.url)
|
|
209204
209204
|
});
|
|
209205
209205
|
registerLanguage({
|
|
209206
209206
|
id: "julia",
|
|
@@ -209239,7 +209239,7 @@ registerLanguage({
|
|
|
209239
209239
|
extensions: [".liquid", ".html.liquid"],
|
|
209240
209240
|
aliases: ["Liquid", "liquid"],
|
|
209241
209241
|
mimetypes: ["application/liquid"],
|
|
209242
|
-
loader: () => __vitePreload(() => import("./liquid-
|
|
209242
|
+
loader: () => __vitePreload(() => import("./liquid-DAvcjBM1.js"), true ? [] : void 0, import.meta.url)
|
|
209243
209243
|
});
|
|
209244
209244
|
registerLanguage({
|
|
209245
209245
|
id: "m3",
|
|
@@ -209257,7 +209257,7 @@ registerLanguage({
|
|
|
209257
209257
|
id: "mdx",
|
|
209258
209258
|
extensions: [".mdx"],
|
|
209259
209259
|
aliases: ["MDX", "mdx"],
|
|
209260
|
-
loader: () => __vitePreload(() => import("./mdx-
|
|
209260
|
+
loader: () => __vitePreload(() => import("./mdx-su1pUNh_.js"), true ? [] : void 0, import.meta.url)
|
|
209261
209261
|
});
|
|
209262
209262
|
registerLanguage({
|
|
209263
209263
|
id: "mips",
|
|
@@ -209356,7 +209356,7 @@ registerLanguage({
|
|
|
209356
209356
|
extensions: [".py", ".rpy", ".pyw", ".cpy", ".gyp", ".gypi"],
|
|
209357
209357
|
aliases: ["Python", "py"],
|
|
209358
209358
|
firstLine: "^#!/.*\\bpython[0-9.-]*\\b",
|
|
209359
|
-
loader: () => __vitePreload(() => import("./python-
|
|
209359
|
+
loader: () => __vitePreload(() => import("./python-U5jDm-Cc.js"), true ? [] : void 0, import.meta.url)
|
|
209360
209360
|
});
|
|
209361
209361
|
registerLanguage({
|
|
209362
209362
|
id: "qsharp",
|
|
@@ -209375,7 +209375,7 @@ registerLanguage({
|
|
|
209375
209375
|
extensions: [".cshtml"],
|
|
209376
209376
|
aliases: ["Razor", "razor"],
|
|
209377
209377
|
mimetypes: ["text/x-cshtml"],
|
|
209378
|
-
loader: () => __vitePreload(() => import("./razor-
|
|
209378
|
+
loader: () => __vitePreload(() => import("./razor-CE13v8rw.js"), true ? [] : void 0, import.meta.url)
|
|
209379
209379
|
});
|
|
209380
209380
|
registerLanguage({
|
|
209381
209381
|
id: "redis",
|
|
@@ -209508,7 +209508,7 @@ registerLanguage({
|
|
|
209508
209508
|
aliases: ["TypeScript", "ts", "typescript"],
|
|
209509
209509
|
mimetypes: ["text/typescript"],
|
|
209510
209510
|
loader: () => {
|
|
209511
|
-
return __vitePreload(() => import("./typescript-
|
|
209511
|
+
return __vitePreload(() => import("./typescript-MRx8M-TQ.js"), true ? [] : void 0, import.meta.url);
|
|
209512
209512
|
}
|
|
209513
209513
|
});
|
|
209514
209514
|
registerLanguage({
|
|
@@ -209553,14 +209553,14 @@ registerLanguage({
|
|
|
209553
209553
|
firstLine: "(\\<\\?xml.*)|(\\<svg)|(\\<\\!doctype\\s+svg)",
|
|
209554
209554
|
aliases: ["XML", "xml"],
|
|
209555
209555
|
mimetypes: ["text/xml", "application/xml", "application/xaml+xml", "application/xml-dtd"],
|
|
209556
|
-
loader: () => __vitePreload(() => import("./xml-
|
|
209556
|
+
loader: () => __vitePreload(() => import("./xml-DYFD_EMc.js"), true ? [] : void 0, import.meta.url)
|
|
209557
209557
|
});
|
|
209558
209558
|
registerLanguage({
|
|
209559
209559
|
id: "yaml",
|
|
209560
209560
|
extensions: [".yaml", ".yml"],
|
|
209561
209561
|
aliases: ["YAML", "yaml", "YML", "yml"],
|
|
209562
209562
|
mimetypes: ["application/x-yaml", "text/x-yaml"],
|
|
209563
|
-
loader: () => __vitePreload(() => import("./yaml-
|
|
209563
|
+
loader: () => __vitePreload(() => import("./yaml-B_Zhj_tf.js"), true ? [] : void 0, import.meta.url)
|
|
209564
209564
|
});
|
|
209565
209565
|
var __defProp = Object.defineProperty;
|
|
209566
209566
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
@@ -214825,14 +214825,63 @@ function thinkingHighlights(text2, focus) {
|
|
|
214825
214825
|
}
|
|
214826
214826
|
return merged;
|
|
214827
214827
|
}
|
|
214828
|
+
function RollingCount({ value, label }) {
|
|
214829
|
+
const previous = reactExports.useRef(value);
|
|
214830
|
+
const increasing = value > previous.current;
|
|
214831
|
+
reactExports.useLayoutEffect(() => {
|
|
214832
|
+
previous.current = value;
|
|
214833
|
+
}, [value]);
|
|
214834
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "work-map-count", role: "img", "aria-label": label || String(value), "data-value": value, children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "work-map-counter", "aria-hidden": "true", children: String(value).split("").map((_2, index2, digits) => {
|
|
214835
|
+
const place = digits.length - index2 - 1;
|
|
214836
|
+
const turns = Math.floor(value / 10 ** place);
|
|
214837
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(RollingDigit, { turns, initial: increasing ? 0 : turns }, place);
|
|
214838
|
+
}) }) });
|
|
214839
|
+
}
|
|
214840
|
+
function RollingDigit({ turns, initial }) {
|
|
214841
|
+
const reel = reactExports.useRef(null);
|
|
214842
|
+
const previous = reactExports.useRef(initial);
|
|
214843
|
+
const animation = reactExports.useRef(null);
|
|
214844
|
+
const digit = turns % 10;
|
|
214845
|
+
reactExports.useLayoutEffect(() => {
|
|
214846
|
+
const el = reel.current;
|
|
214847
|
+
const before = previous.current;
|
|
214848
|
+
previous.current = turns;
|
|
214849
|
+
let start = before % 10;
|
|
214850
|
+
if (animation.current) {
|
|
214851
|
+
const style = getComputedStyle(el);
|
|
214852
|
+
start = -new DOMMatrixReadOnly(style.transform).m42 / parseFloat(style.fontSize) % 10;
|
|
214853
|
+
animation.current.cancel();
|
|
214854
|
+
animation.current = null;
|
|
214855
|
+
}
|
|
214856
|
+
if (turns <= before || window.matchMedia("(prefers-reduced-motion: reduce)").matches) return;
|
|
214857
|
+
const distance = Math.min(turns - before, 10 + (turns - before) % 10);
|
|
214858
|
+
let end = before % 10 + distance;
|
|
214859
|
+
while (end <= start) end += 10;
|
|
214860
|
+
const roll = el.animate([
|
|
214861
|
+
{ transform: `translateY(${-start}em)` },
|
|
214862
|
+
{ transform: `translateY(${-end}em)` }
|
|
214863
|
+
], { duration: 550, easing: "cubic-bezier(.2, .65, .3, 1)" });
|
|
214864
|
+
animation.current = roll;
|
|
214865
|
+
void roll.finished.then(() => {
|
|
214866
|
+
if (animation.current === roll) animation.current = null;
|
|
214867
|
+
}, () => {
|
|
214868
|
+
});
|
|
214869
|
+
}, [turns]);
|
|
214870
|
+
reactExports.useLayoutEffect(() => () => {
|
|
214871
|
+
animation.current?.cancel();
|
|
214872
|
+
}, []);
|
|
214873
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "work-map-counter-digit", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "work-map-counter-reel", ref: reel, style: { transform: `translateY(${-digit}em)` }, children: Array.from({ length: 30 }, (_2, i2) => /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: i2 % 10 }, i2)) }) });
|
|
214874
|
+
}
|
|
214828
214875
|
const ICONS = { thinking: "✦", investigating: "⌕", editing: "✎", testing: "✓", planning: "◇", reporting: "≡" };
|
|
214876
|
+
const ACTIVITIES = { thinking: "Thinking", investigating: "Investigations", editing: "Edits", testing: "Tests", planning: "Plans", reporting: "Updates" };
|
|
214829
214877
|
const STATUS = { running: "Running", succeeded: "Succeeded", failed: "Failed", unknown: "Recorded", interrupted: "Stopped" };
|
|
214830
214878
|
const INTENTS = { decision: "Decision", hypothesis: "Hypothesis", alternative: "Alternative", next_step: "Next step", context: "Thinking" };
|
|
214831
214879
|
function WorkMapPanel({ tabId }) {
|
|
214832
214880
|
const [snapshot, setSnapshot] = reactExports.useState(null);
|
|
214833
214881
|
const [error, setError] = reactExports.useState(null);
|
|
214834
214882
|
const [saving, setSaving] = reactExports.useState(false);
|
|
214835
|
-
const [
|
|
214883
|
+
const [collapsedGoals, setCollapsedGoals] = reactExports.useState(/* @__PURE__ */ new Set());
|
|
214884
|
+
const [expandedThreads, setExpandedThreads] = reactExports.useState(/* @__PURE__ */ new Set());
|
|
214836
214885
|
const [selected, setSelected] = reactExports.useState(null);
|
|
214837
214886
|
const [following, setFollowing] = reactExports.useState(true);
|
|
214838
214887
|
const [paths, setPaths] = reactExports.useState({ pythonPath: "", modelPath: "" });
|
|
@@ -214894,7 +214943,13 @@ function WorkMapPanel({ tabId }) {
|
|
|
214894
214943
|
if (alive.current) setSaving(false);
|
|
214895
214944
|
}
|
|
214896
214945
|
}
|
|
214897
|
-
const
|
|
214946
|
+
const toggleGoal = (id) => setCollapsedGoals((prev) => {
|
|
214947
|
+
const next = new Set(prev);
|
|
214948
|
+
if (next.has(id)) next.delete(id);
|
|
214949
|
+
else next.add(id);
|
|
214950
|
+
return next;
|
|
214951
|
+
});
|
|
214952
|
+
const toggleThread = (id) => setExpandedThreads((prev) => {
|
|
214898
214953
|
const next = new Set(prev);
|
|
214899
214954
|
if (next.has(id)) next.delete(id);
|
|
214900
214955
|
else next.add(id);
|
|
@@ -215058,7 +215113,7 @@ function WorkMapPanel({ tabId }) {
|
|
|
215058
215113
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { children: !enabled ? "Turn on the map to follow goals, investigations, edits, and checks as your agent works." : !snapshot?.supported ? "Start a local Claude Code or Codex session to see its work here. Remote sessions are not supported yet." : "Stated decisions, readable thinking, actions, and results appear in one continuous thread. Open any card to inspect its source." })
|
|
215059
215114
|
] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "work-map-forest", children: [
|
|
215060
215115
|
goals.map((goal, i2) => /* @__PURE__ */ jsxRuntimeExports.jsxs("article", { className: "work-map-goal", children: [
|
|
215061
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("button", { className: "work-map-goal-heading", onClick: () =>
|
|
215116
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("button", { className: "work-map-goal-heading", onClick: () => toggleGoal(goal.id), "aria-expanded": !collapsedGoals.has(goal.id), title: goal.evidence[0]?.text, children: [
|
|
215062
215117
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "work-map-goal-icon", "aria-hidden": "true", children: "◎" }),
|
|
215063
215118
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { children: [
|
|
215064
215119
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "work-map-kicker", children: [
|
|
@@ -215067,18 +215122,23 @@ function WorkMapPanel({ tabId }) {
|
|
|
215067
215122
|
] }),
|
|
215068
215123
|
/* @__PURE__ */ jsxRuntimeExports.jsx("strong", { children: goal.title })
|
|
215069
215124
|
] }),
|
|
215070
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "work-map-caret", children:
|
|
215125
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "work-map-caret", children: collapsedGoals.has(goal.id) ? "▸" : "▾" })
|
|
215071
215126
|
] }),
|
|
215072
|
-
!
|
|
215127
|
+
!collapsedGoals.has(goal.id) && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "work-map-branches", children: threadRuns(goal.id).map((run) => {
|
|
215073
215128
|
const failed = run.nodes.some((n2) => n2.status === "failed");
|
|
215074
215129
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "work-map-branch", children: [
|
|
215075
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("button", { className: "work-map-branch-heading", onClick: () =>
|
|
215130
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("button", { className: "work-map-branch-heading", onClick: () => toggleThread(run.id), "aria-expanded": expandedThreads.has(run.id), children: [
|
|
215076
215131
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: `work-map-branch-point ${failed ? "failed" : ""}` }),
|
|
215077
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
215078
|
-
|
|
215079
|
-
|
|
215132
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "work-map-branch-copy", children: [
|
|
215133
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "work-map-branch-title", children: [
|
|
215134
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "work-map-branch-label", children: run.label }),
|
|
215135
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(RollingCount, { value: run.nodes.length, label: `${run.nodes.length} events` })
|
|
215136
|
+
] }),
|
|
215137
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ActivityCounts, { nodes: run.nodes })
|
|
215138
|
+
] }),
|
|
215139
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "work-map-caret", children: expandedThreads.has(run.id) ? "▾" : "▸" })
|
|
215080
215140
|
] }),
|
|
215081
|
-
|
|
215141
|
+
expandedThreads.has(run.id) && /* @__PURE__ */ jsxRuntimeExports.jsx("ul", { className: "work-map-steps", "aria-label": "Activity thread", children: run.nodes.map(renderStep) })
|
|
215082
215142
|
] }, run.id);
|
|
215083
215143
|
}) })
|
|
215084
215144
|
] }, goal.id)),
|
|
@@ -215098,7 +215158,8 @@ function WorkMapPanel({ tabId }) {
|
|
|
215098
215158
|
setError(null);
|
|
215099
215159
|
try {
|
|
215100
215160
|
accept(await window.worker.clearWorkMap(tabId));
|
|
215101
|
-
|
|
215161
|
+
setCollapsedGoals(/* @__PURE__ */ new Set());
|
|
215162
|
+
setExpandedThreads(/* @__PURE__ */ new Set());
|
|
215102
215163
|
setSelected(null);
|
|
215103
215164
|
setFollowing(true);
|
|
215104
215165
|
} catch (err) {
|
|
@@ -215108,6 +215169,21 @@ function WorkMapPanel({ tabId }) {
|
|
|
215108
215169
|
] })
|
|
215109
215170
|
] });
|
|
215110
215171
|
}
|
|
215172
|
+
function ActivityCounts({ nodes }) {
|
|
215173
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "work-map-activity-counts", children: Object.keys(ACTIVITIES).map((activity) => {
|
|
215174
|
+
const events = nodes.filter((node) => node.activity === activity);
|
|
215175
|
+
if (!events.length) return null;
|
|
215176
|
+
const failed = events.filter((node) => node.status === "failed").length;
|
|
215177
|
+
const running = events.filter((node) => node.status === "running").length;
|
|
215178
|
+
const label = `${ACTIVITIES[activity]}: ${events.length}${running ? `, ${running} running` : ""}${failed ? `, ${failed} failed` : ""}`;
|
|
215179
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: `work-map-activity-count ${activity}`, role: "img", "aria-label": label, title: label, children: [
|
|
215180
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: `work-map-activity ${activity}`, "aria-hidden": "true", children: ICONS[activity] }),
|
|
215181
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(RollingCount, { value: events.length }),
|
|
215182
|
+
running > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "work-map-activity-running", "aria-hidden": "true" }),
|
|
215183
|
+
failed > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "work-map-activity-alert", "aria-hidden": "true", children: "!" })
|
|
215184
|
+
] }, activity);
|
|
215185
|
+
}) });
|
|
215186
|
+
}
|
|
215111
215187
|
function highlightSource(text2, focus) {
|
|
215112
215188
|
const ranges = thinkingHighlights(text2, focus);
|
|
215113
215189
|
if (!ranges.length) return text2;
|
|
@@ -7447,11 +7447,23 @@
|
|
|
7447
7447
|
.work-map-branch { position: relative; padding: 0 0 17px; }
|
|
7448
7448
|
.work-map-branch:last-child { padding-bottom: 0; }
|
|
7449
7449
|
.work-map-branch::before { content: ''; position: absolute; left: -18px; top: 12px; width: 15px; height: 1px; background: var(--border-dim); }
|
|
7450
|
-
.work-map-branch-heading { display: flex; align-items:
|
|
7451
|
-
.work-map-branch-point { width: 6px; height: 6px; flex-shrink: 0; border-radius: 2px; background: var(--accent); }
|
|
7450
|
+
.work-map-branch-heading { display: flex; align-items: flex-start; gap: 7px; width: 100%; padding: 5px 0; border: 0; background: transparent; text-align: left; color: var(--text-bright); }
|
|
7451
|
+
.work-map-branch-point { width: 6px; height: 6px; margin-top: 5px; flex-shrink: 0; border-radius: 2px; background: var(--accent); }
|
|
7452
7452
|
.work-map-branch-point.failed { background: var(--danger); }
|
|
7453
|
+
.work-map-branch-copy { flex: 1; min-width: 0; }
|
|
7454
|
+
.work-map-branch-title { display: flex; align-items: center; gap: 7px; line-height: 1.5; }
|
|
7453
7455
|
.work-map-branch-label { min-width: 0; overflow-wrap: anywhere; font-size: 11px; font-weight: 600; }
|
|
7454
|
-
.work-map-count { padding:
|
|
7456
|
+
.work-map-count { display: inline-flex; flex-shrink: 0; padding: 2px 5px; border-radius: 4px; background: var(--bg-chip); color: var(--text-soft); font-size: 9px; }
|
|
7457
|
+
.work-map-counter { display: inline-flex; height: 1em; line-height: 1; font-variant-numeric: tabular-nums; }
|
|
7458
|
+
.work-map-counter-digit { display: inline-block; width: 1ch; height: 1em; overflow: hidden; }
|
|
7459
|
+
.work-map-counter-reel { display: flex; flex-direction: column; }
|
|
7460
|
+
.work-map-counter-reel > span { flex: 0 0 1em; height: 1em; text-align: center; }
|
|
7461
|
+
.work-map-activity-counts { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin-top: 7px; }
|
|
7462
|
+
.work-map-activity-count { display: inline-flex; align-items: center; gap: 4px; padding: 3px 5px; border: 1px solid var(--border-subtle); border-radius: 5px; background: var(--bg-well); }
|
|
7463
|
+
.work-map-activity-count .work-map-activity { width: 14px; height: 14px; font-size: 13px; background: transparent; }
|
|
7464
|
+
.work-map-activity-count .work-map-count { padding: 0; background: transparent; font-size: 10px; }
|
|
7465
|
+
.work-map-activity-running { width: 4px; height: 4px; border-radius: 50%; background: var(--accent); }
|
|
7466
|
+
.work-map-activity-alert { color: var(--danger); font-size: 10px; font-weight: 700; line-height: 1; }
|
|
7455
7467
|
.work-map-steps { list-style: none; margin: 5px 0 0 2px; padding: 0 0 0 8px; border-left: 1px solid var(--border-subtle); }
|
|
7456
7468
|
.work-map-step { margin: 5px 0; border: 1px solid var(--border-well); background: var(--bg-well); border-radius: 7px; overflow: hidden; }
|
|
7457
7469
|
.work-map-step.failed { border-color: color-mix(in srgb, var(--danger) 45%, var(--border-well)); }
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { conf as conf$1, language as language$1 } from "./typescript-
|
|
2
|
-
import "./index-
|
|
1
|
+
import { conf as conf$1, language as language$1 } from "./typescript-MRx8M-TQ.js";
|
|
2
|
+
import "./index-BSPboVCX.js";
|
|
3
3
|
const conf = conf$1;
|
|
4
4
|
const language = {
|
|
5
5
|
// Set defaultToken to invalid to see what you do not tokenize yet
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { c as createWebWorker, l as languages, e as editor } from "./index-
|
|
2
|
-
import { f as DocumentFormattingEditProvider, g as DocumentRangeFormattingEditProvider, C as CompletionAdapter, H as HoverAdapter, b as DocumentSymbolAdapter, d as DocumentColorAdapter, F as FoldingRangeAdapter, S as SelectionRangeAdapter, e as DiagnosticsAdapter } from "./lspLanguageFeatures-
|
|
3
|
-
import { a, D, h, R, c, i, j, t, k } from "./lspLanguageFeatures-
|
|
1
|
+
import { c as createWebWorker, l as languages, e as editor } from "./index-BSPboVCX.js";
|
|
2
|
+
import { f as DocumentFormattingEditProvider, g as DocumentRangeFormattingEditProvider, C as CompletionAdapter, H as HoverAdapter, b as DocumentSymbolAdapter, d as DocumentColorAdapter, F as FoldingRangeAdapter, S as SelectionRangeAdapter, e as DiagnosticsAdapter } from "./lspLanguageFeatures-fZZkw0qY.js";
|
|
3
|
+
import { a, D, h, R, c, i, j, t, k } from "./lspLanguageFeatures-fZZkw0qY.js";
|
|
4
4
|
const STOP_WHEN_IDLE_FOR = 2 * 60 * 1e3;
|
|
5
5
|
class WorkerManager {
|
|
6
6
|
constructor(defaults) {
|
package/out/renderer/assets/{lspLanguageFeatures-Ds-3nH9p.js → lspLanguageFeatures-fZZkw0qY.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { R as Range$1, l as languages, e as editor, U as Uri, M as MarkerSeverity } from "./index-
|
|
1
|
+
import { R as Range$1, l as languages, e as editor, U as Uri, M as MarkerSeverity } from "./index-BSPboVCX.js";
|
|
2
2
|
var DocumentUri;
|
|
3
3
|
(function(DocumentUri2) {
|
|
4
4
|
function is(value) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as createWebWorker, e as editor, U as Uri, a as MarkerTag, M as MarkerSeverity, l as languages, t as typescriptDefaults, R as Range } from "./index-
|
|
1
|
+
import { c as createWebWorker, e as editor, U as Uri, a as MarkerTag, M as MarkerSeverity, l as languages, t as typescriptDefaults, R as Range } from "./index-BSPboVCX.js";
|
|
2
2
|
class WorkerManager {
|
|
3
3
|
constructor(_modeId, _defaults) {
|
|
4
4
|
this._modeId = _modeId;
|
package/out/renderer/index.html
CHANGED
|
@@ -106,8 +106,8 @@
|
|
|
106
106
|
:root[data-theme='catppuccin-latte'] .boot-splash-title { color: #2f3145; }
|
|
107
107
|
:root[data-theme='catppuccin-latte'] .boot-splash-label { color: #7c7f93; }
|
|
108
108
|
</style>
|
|
109
|
-
<script type="module" crossorigin src="./assets/index-
|
|
110
|
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
|
109
|
+
<script type="module" crossorigin src="./assets/index-BSPboVCX.js"></script>
|
|
110
|
+
<link rel="stylesheet" crossorigin href="./assets/index-CmvYnexl.css">
|
|
111
111
|
</head>
|
|
112
112
|
<body>
|
|
113
113
|
<div id="boot-splash">
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@phenx-inc/ctlsurf",
|
|
3
|
-
"version": "0.17.
|
|
3
|
+
"version": "0.17.6",
|
|
4
4
|
"description": "Agent-agnostic terminal and desktop app for ctlsurf — run Claude Code, Codex, or any coding agent with live session logging and remote control",
|
|
5
5
|
"main": "out/main/index.js",
|
|
6
6
|
"bin": {
|