@felan-ai/felan 0.21.8 → 0.21.10
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.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type InteractiveMode } from '@earendil-works/pi-coding-agent';
|
|
2
2
|
export declare function installFelanTuiCompatibility(mode: InteractiveMode, platform?: NodeJS.Platform): void;
|
|
3
3
|
export declare function normalizeFullscreenTerminalModes(data: string): string;
|
|
4
4
|
//# sourceMappingURL=tui-compatibility.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui-compatibility.d.ts","sourceRoot":"","sources":["../src/tui-compatibility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"tui-compatibility.d.ts","sourceRoot":"","sources":["../src/tui-compatibility.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAuC3F,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,eAAe,EACrB,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,IAAI,CAsCN;AA8DD,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErE"}
|
|
@@ -1,14 +1,19 @@
|
|
|
1
|
+
import { getSelectListTheme } from '@earendil-works/pi-coding-agent';
|
|
1
2
|
const ENTER_ALT_SCREEN = '\x1b[?1049h';
|
|
2
3
|
const DISABLE_ALT_SCROLL = '\x1b[?1007l';
|
|
3
4
|
const DISABLE_MOUSE = '\x1b[?1006l\x1b[?1004l\x1b[?1003l\x1b[?1002l\x1b[?1000l';
|
|
4
5
|
const ENABLE_BUTTON_MOTION_MOUSE = '\x1b[?1000h\x1b[?1002h\x1b[?1004h\x1b[?1006h';
|
|
5
6
|
const ENABLE_ALL_MOTION_MOUSE = '\x1b[?1000h\x1b[?1002h\x1b[?1003h\x1b[?1004h\x1b[?1006h';
|
|
7
|
+
const FELAN_WORKING_FRAMES = ['⠐◉ ', '⠈◉ ', ' ◉⠁', ' ◉⠂', ' ◉⠄', '⠠◉ '];
|
|
8
|
+
const FELAN_WORKING_INTERVAL_MS = 120;
|
|
6
9
|
const installedTerminals = new WeakSet();
|
|
7
10
|
const installedModes = new WeakSet();
|
|
8
11
|
const installedMessageFilters = new WeakSet();
|
|
12
|
+
const installedWorkingIndicators = new WeakSet();
|
|
9
13
|
export function installFelanTuiCompatibility(mode, platform = process.platform) {
|
|
10
14
|
const internals = mode;
|
|
11
15
|
installPiMessageFilters(mode, internals);
|
|
16
|
+
installFelanWorkingIndicator(mode, internals);
|
|
12
17
|
if (platform !== 'win32')
|
|
13
18
|
return;
|
|
14
19
|
const terminal = internals.renderer?.terminal;
|
|
@@ -47,6 +52,37 @@ export function installFelanTuiCompatibility(mode, platform = process.platform)
|
|
|
47
52
|
return true;
|
|
48
53
|
};
|
|
49
54
|
}
|
|
55
|
+
function installFelanWorkingIndicator(mode, internals) {
|
|
56
|
+
if (installedWorkingIndicators.has(mode))
|
|
57
|
+
return;
|
|
58
|
+
const setWorkingIndicator = internals.setWorkingIndicator;
|
|
59
|
+
if (typeof setWorkingIndicator !== 'function')
|
|
60
|
+
return;
|
|
61
|
+
installedWorkingIndicators.add(mode);
|
|
62
|
+
let usesFelanIndicator = true;
|
|
63
|
+
internals.setWorkingIndicator = (options) => {
|
|
64
|
+
usesFelanIndicator = options === undefined;
|
|
65
|
+
Reflect.apply(setWorkingIndicator, mode, [options ?? createFelanWorkingIndicator()]);
|
|
66
|
+
};
|
|
67
|
+
// Pi renders custom frames verbatim, so rebuild their ANSI colors when the active theme changes.
|
|
68
|
+
const themeController = internals.themeController;
|
|
69
|
+
const onThemeChanged = themeController?.onChanged;
|
|
70
|
+
if (themeController && typeof onThemeChanged === 'function') {
|
|
71
|
+
themeController.onChanged = () => {
|
|
72
|
+
Reflect.apply(onThemeChanged, themeController, []);
|
|
73
|
+
if (usesFelanIndicator)
|
|
74
|
+
internals.setWorkingIndicator?.();
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
internals.setWorkingIndicator();
|
|
78
|
+
}
|
|
79
|
+
function createFelanWorkingIndicator() {
|
|
80
|
+
const accent = getSelectListTheme().selectedPrefix;
|
|
81
|
+
return {
|
|
82
|
+
frames: FELAN_WORKING_FRAMES.map((frame) => accent(frame)),
|
|
83
|
+
intervalMs: FELAN_WORKING_INTERVAL_MS,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
50
86
|
function installPiMessageFilters(mode, internals) {
|
|
51
87
|
if (installedMessageFilters.has(mode))
|
|
52
88
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui-compatibility.js","sourceRoot":"","sources":["../src/tui-compatibility.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tui-compatibility.js","sourceRoot":"","sources":["../src/tui-compatibility.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@felan-ai/felan",
|
|
3
|
-
"version": "0.21.
|
|
3
|
+
"version": "0.21.10",
|
|
4
4
|
"description": "Open-source, model-portable coding agent built for cost-efficient, verifiable software work",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai",
|
|
@@ -43,28 +43,28 @@
|
|
|
43
43
|
"@modelcontextprotocol/client": "2.0.0",
|
|
44
44
|
"@napi-rs/keyring": "1.3.0",
|
|
45
45
|
"open": "11.0.0",
|
|
46
|
-
"@felan-ai/agent-core": "0.5.7",
|
|
47
46
|
"@felan-ai/ext-background-bash": "0.4.5",
|
|
48
|
-
"@felan-ai/
|
|
49
|
-
"@felan-ai/ext-codex": "0.3.2",
|
|
47
|
+
"@felan-ai/agent-core": "0.5.7",
|
|
50
48
|
"@felan-ai/ext-ask-user": "0.3.2",
|
|
49
|
+
"@felan-ai/ext-browser": "0.2.0",
|
|
50
|
+
"@felan-ai/ext-codex": "0.3.3",
|
|
51
51
|
"@felan-ai/ext-codebase-memory": "0.1.6",
|
|
52
52
|
"@felan-ai/ext-context": "0.4.0",
|
|
53
53
|
"@felan-ai/ext-context-view": "0.1.2",
|
|
54
54
|
"@felan-ai/ext-insights": "0.1.1",
|
|
55
|
-
"@felan-ai/ext-markitdown": "0.2.0",
|
|
56
55
|
"@felan-ai/ext-mcp": "0.2.0",
|
|
57
|
-
"@felan-ai/ext-
|
|
58
|
-
"@felan-ai/ext-memory": "0.2.1",
|
|
56
|
+
"@felan-ai/ext-markitdown": "0.2.1",
|
|
59
57
|
"@felan-ai/ext-output-style": "0.3.0",
|
|
58
|
+
"@felan-ai/ext-memory": "0.2.1",
|
|
59
|
+
"@felan-ai/ext-felan-api": "0.2.0",
|
|
60
60
|
"@felan-ai/ext-powerline": "0.6.1",
|
|
61
|
-
"@felan-ai/ext-prewalk": "0.6.0",
|
|
62
|
-
"@felan-ai/ext-prompt-history": "0.1.1",
|
|
63
|
-
"@felan-ai/ext-rtk-optimizer": "0.4.1",
|
|
64
61
|
"@felan-ai/ext-session-title": "0.1.0",
|
|
62
|
+
"@felan-ai/ext-rtk-optimizer": "0.4.1",
|
|
63
|
+
"@felan-ai/ext-subagents": "0.6.1",
|
|
64
|
+
"@felan-ai/ext-prewalk": "0.6.0",
|
|
65
65
|
"@felan-ai/ext-tasks": "0.2.4",
|
|
66
66
|
"@felan-ai/ext-web-access": "0.5.0",
|
|
67
|
-
"@felan-ai/ext-
|
|
67
|
+
"@felan-ai/ext-prompt-history": "0.1.1"
|
|
68
68
|
},
|
|
69
69
|
"publishConfig": {
|
|
70
70
|
"access": "public",
|