@felan-ai/felan 0.13.9 → 0.14.0
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/dist/application.d.ts.map +1 -1
- package/dist/application.js +7 -0
- package/dist/application.js.map +1 -1
- package/dist/cli-main.d.ts.map +1 -1
- package/dist/cli-main.js +64 -3
- package/dist/cli-main.js.map +1 -1
- package/dist/codex.d.ts +1 -1
- package/dist/codex.d.ts.map +1 -1
- package/dist/codex.js +3 -3
- package/dist/codex.js.map +1 -1
- package/dist/extension-settings.d.ts +11 -0
- package/dist/extension-settings.d.ts.map +1 -0
- package/dist/extension-settings.js +120 -0
- package/dist/extension-settings.js.map +1 -0
- package/dist/extensions.d.ts +2 -1
- package/dist/extensions.d.ts.map +1 -1
- package/dist/extensions.js +22 -3
- package/dist/extensions.js.map +1 -1
- package/dist/runtime.d.ts +3 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +9 -2
- package/dist/runtime.js.map +1 -1
- package/dist/settings.d.ts +4 -0
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +24 -0
- package/dist/settings.js.map +1 -1
- package/dist/subagents/host.d.ts +2 -1
- package/dist/subagents/host.d.ts.map +1 -1
- package/dist/subagents/host.js +95 -27
- package/dist/subagents/host.js.map +1 -1
- package/dist/subagents/store.d.ts.map +1 -1
- package/dist/subagents/store.js +2 -1
- package/dist/subagents/store.js.map +1 -1
- package/package.json +18 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,cAAc,CAAC;AAQtB,MAAM,WAAW,oBAAqB,SAAQ,8BAA8B;IAC1E,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAKtD;AAED,wBAAsB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBrF"}
|
package/dist/application.js
CHANGED
|
@@ -5,6 +5,8 @@ import { installFelanStartupHeader } from './startup-header.js';
|
|
|
5
5
|
import { createToolActivityRuntimeView } from './tool-activity/runtime-view.js';
|
|
6
6
|
import { checkForFelanUpdate } from './update.js';
|
|
7
7
|
import { CwdChangeRequested, installFelanCwdCommand } from './cwd-command.js';
|
|
8
|
+
import { installFelanSettingsCommand } from './extension-settings.js';
|
|
9
|
+
import { loadLocalExtensionConfigDefinitions } from './extensions.js';
|
|
8
10
|
export function brandResumeHint(output) {
|
|
9
11
|
return output.replace(/(To resume this session:(?:\x1b\[[0-9;]*m)*\s*)pi /, '$1felan ');
|
|
10
12
|
}
|
|
@@ -41,6 +43,11 @@ async function runLocalFelanSession(options) {
|
|
|
41
43
|
...(options.initialMessage === undefined ? {} : { initialMessage: options.initialMessage }),
|
|
42
44
|
...(options.verbose === undefined ? {} : { verbose: options.verbose }),
|
|
43
45
|
});
|
|
46
|
+
installFelanSettingsCommand(mode, {
|
|
47
|
+
agentDir: runtime.services.agentDir,
|
|
48
|
+
settingsManager: runtime.services.settingsManager,
|
|
49
|
+
definitions: await loadLocalExtensionConfigDefinitions(),
|
|
50
|
+
});
|
|
44
51
|
installFelanCwdCommand(mode, {
|
|
45
52
|
getCwd: () => runtime.cwd,
|
|
46
53
|
isIdle: () => runtime.session.isIdle,
|
package/dist/application.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EACL,uBAAuB,GAExB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
|
package/dist/cli-main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-main.d.ts","sourceRoot":"","sources":["../src/cli-main.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-main.d.ts","sourceRoot":"","sources":["../src/cli-main.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAY7D,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;IACjE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3F,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACzC;AAgBD,wBAAsB,MAAM,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,YAAY,GAAE,eAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAiKzG"}
|
package/dist/cli-main.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
import { getExtensionConfigCliOptions, parseExtensionConfigCliValue, } from '@felan-ai/agent-core';
|
|
2
|
+
import { loadLocalExtensionConfigDefinitions, resolveBuiltinExtensionPackages } from './extensions.js';
|
|
3
|
+
import { createLocalSettingsManager, getFelanSettings } from './settings.js';
|
|
4
|
+
import { getLocalAgentDir } from './runtime.js';
|
|
1
5
|
import { runFelanUpdate } from './update.js';
|
|
2
6
|
import { FELAN_VERSION } from './version.js';
|
|
3
|
-
const help = `Usage: felan [options] [message]
|
|
7
|
+
const help = (configOptions = []) => `Usage: felan [options] [message]
|
|
4
8
|
|
|
5
9
|
Options:
|
|
6
10
|
-c, --continue Continue the most recent session for this directory
|
|
@@ -11,7 +15,8 @@ Options:
|
|
|
11
15
|
update Update a global npm installation of Felan
|
|
12
16
|
-h, --help Show this help
|
|
13
17
|
-v, --version Print the Felan version
|
|
14
|
-
--verbose Show verbose startup details
|
|
18
|
+
--verbose Show verbose startup details
|
|
19
|
+
${configOptions.map((option) => ` --${option.name}${option.configField.type === 'boolean' ? '' : ` <${option.configField.values?.join('|') ?? option.configField.type}>`} ${option.configField.description}`).join('\n')}`;
|
|
15
20
|
export async function runCli(args, dependencies = {}) {
|
|
16
21
|
const writeOutput = dependencies.writeOutput ?? ((line) => console.log(line));
|
|
17
22
|
const writeError = dependencies.writeError ?? ((line) => console.error(line));
|
|
@@ -29,6 +34,11 @@ export async function runCli(args, dependencies = {}) {
|
|
|
29
34
|
let verbose = false;
|
|
30
35
|
const messageParts = [];
|
|
31
36
|
let positionalOnly = false;
|
|
37
|
+
const cliOverrides = new Map();
|
|
38
|
+
const startupSettings = createLocalSettingsManager(process.cwd(), getLocalAgentDir());
|
|
39
|
+
const enabledPackages = resolveBuiltinExtensionPackages(getFelanSettings(startupSettings).builtinExtensions);
|
|
40
|
+
const configOptions = getExtensionConfigCliOptions(await loadLocalExtensionConfigDefinitions(enabledPackages));
|
|
41
|
+
const configByName = new Map(configOptions.map((option) => [option.name, option]));
|
|
32
42
|
for (let index = 0; index < args.length; index += 1) {
|
|
33
43
|
const argument = args[index];
|
|
34
44
|
if (positionalOnly) {
|
|
@@ -66,7 +76,7 @@ export async function runCli(args, dependencies = {}) {
|
|
|
66
76
|
verbose = true;
|
|
67
77
|
}
|
|
68
78
|
else if (argument === '-h' || argument === '--help') {
|
|
69
|
-
writeOutput(help);
|
|
79
|
+
writeOutput(help(configOptions));
|
|
70
80
|
return 0;
|
|
71
81
|
}
|
|
72
82
|
else if (argument === '-v' || argument === '--version') {
|
|
@@ -86,6 +96,50 @@ export async function runCli(args, dependencies = {}) {
|
|
|
86
96
|
writeOutput('Credentials: local');
|
|
87
97
|
return 0;
|
|
88
98
|
}
|
|
99
|
+
else if (argument.startsWith('--no-')) {
|
|
100
|
+
const option = configByName.get(argument.slice('--no-'.length));
|
|
101
|
+
if (!option || option.configField.type !== 'boolean') {
|
|
102
|
+
writeError(`Unknown option: ${argument}`);
|
|
103
|
+
return 1;
|
|
104
|
+
}
|
|
105
|
+
const values = cliOverrides.get(option.extensionId) ?? {};
|
|
106
|
+
values[option.field] = false;
|
|
107
|
+
cliOverrides.set(option.extensionId, values);
|
|
108
|
+
}
|
|
109
|
+
else if (argument.startsWith('--')) {
|
|
110
|
+
const equals = argument.indexOf('=');
|
|
111
|
+
const name = argument.slice(2, equals === -1 ? undefined : equals);
|
|
112
|
+
const option = configByName.get(name);
|
|
113
|
+
if (option) {
|
|
114
|
+
let raw;
|
|
115
|
+
if (equals !== -1)
|
|
116
|
+
raw = argument.slice(equals + 1);
|
|
117
|
+
else if (option.configField.type === 'boolean')
|
|
118
|
+
raw = true;
|
|
119
|
+
else {
|
|
120
|
+
const value = args[index + 1];
|
|
121
|
+
if (value === undefined || value.startsWith('-')) {
|
|
122
|
+
writeError(`--${name} requires a value`);
|
|
123
|
+
return 1;
|
|
124
|
+
}
|
|
125
|
+
raw = value;
|
|
126
|
+
index += 1;
|
|
127
|
+
}
|
|
128
|
+
try {
|
|
129
|
+
const values = cliOverrides.get(option.extensionId) ?? {};
|
|
130
|
+
values[option.field] = parseExtensionConfigCliValue(option, raw);
|
|
131
|
+
cliOverrides.set(option.extensionId, values);
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
writeError(error instanceof Error ? error.message : String(error));
|
|
135
|
+
return 1;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
writeError(`Unknown option: ${argument}`);
|
|
140
|
+
return 1;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
89
143
|
else if (argument.startsWith('-')) {
|
|
90
144
|
writeError(`Unknown option: ${argument}`);
|
|
91
145
|
return 1;
|
|
@@ -128,6 +182,13 @@ export async function runCli(args, dependencies = {}) {
|
|
|
128
182
|
verbose,
|
|
129
183
|
...(sessionManager === undefined ? {} : { sessionManager }),
|
|
130
184
|
...(messageParts.length === 0 ? {} : { initialMessage: messageParts.join(' ') }),
|
|
185
|
+
...(cliOverrides.size === 0 ? {} : {
|
|
186
|
+
extensionConfigOverrides: [...cliOverrides].map(([extensionId, values]) => ({
|
|
187
|
+
extensionId,
|
|
188
|
+
values,
|
|
189
|
+
source: 'CLI',
|
|
190
|
+
})),
|
|
191
|
+
}),
|
|
131
192
|
});
|
|
132
193
|
return 0;
|
|
133
194
|
}
|
package/dist/cli-main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-main.js","sourceRoot":"","sources":["../src/cli-main.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAW7C,MAAM,IAAI,GAAG
|
|
1
|
+
{"version":3,"file":"cli-main.js","sourceRoot":"","sources":["../src/cli-main.ts"],"names":[],"mappings":"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"}
|
package/dist/codex.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { AgentRuntime, StreamFunction } from '@felan-ai/agent-core';
|
|
2
|
-
export declare function createLocalCodexStreamFunctionWrapper(extensionPackages: readonly string[], runtime: AgentRuntime, agentDir: string): Promise<((original: StreamFunction) => StreamFunction) | undefined>;
|
|
2
|
+
export declare function createLocalCodexStreamFunctionWrapper(extensionPackages: readonly string[], runtime: AgentRuntime, agentDir: string, config?: unknown): Promise<((original: StreamFunction) => StreamFunction) | undefined>;
|
|
3
3
|
//# sourceMappingURL=codex.d.ts.map
|
package/dist/codex.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../src/codex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../src/codex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AASzE,wBAAsB,qCAAqC,CACzD,iBAAiB,EAAE,SAAS,MAAM,EAAE,EACpC,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,OAA8B,GACrC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,cAAc,KAAK,cAAc,CAAC,GAAG,SAAS,CAAC,CAGrE"}
|
package/dist/codex.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { createCodexStreamFunctionWrapper,
|
|
1
|
+
import { createCodexStreamFunctionWrapper, DEFAULT_CODEX_CONFIG, validateCodexConfig, } from '@felan-ai/ext-codex';
|
|
2
2
|
import { builtinExtensionPackages } from './extensions.js';
|
|
3
|
-
export async function createLocalCodexStreamFunctionWrapper(extensionPackages, runtime, agentDir) {
|
|
3
|
+
export async function createLocalCodexStreamFunctionWrapper(extensionPackages, runtime, agentDir, config = DEFAULT_CODEX_CONFIG) {
|
|
4
4
|
if (!extensionPackages.includes(builtinExtensionPackages.codex))
|
|
5
5
|
return undefined;
|
|
6
|
-
return createCodexStreamFunctionWrapper(
|
|
6
|
+
return createCodexStreamFunctionWrapper(validateCodexConfig(config, `${agentDir}/settings.json`));
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=codex.js.map
|
package/dist/codex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../src/codex.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gCAAgC,EAChC,
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../src/codex.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gCAAgC,EAChC,oBAAoB,EACpB,mBAAmB,GAEpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,MAAM,CAAC,KAAK,UAAU,qCAAqC,CACzD,iBAAoC,EACpC,OAAqB,EACrB,QAAgB,EAChB,SAAkB,oBAAoB;IAEtC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,wBAAwB,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAClF,OAAO,gCAAgC,CAAC,mBAAmB,CAAC,MAAM,EAAE,GAAG,QAAQ,gBAAgB,CAAC,CAAC,CAAC;AACpG,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ExtensionConfigDefinition, ExtensionConfigField, ExtensionConfigValue, SettingsManager } from '@felan-ai/agent-core';
|
|
2
|
+
export interface InstallFelanSettingsOptions {
|
|
3
|
+
readonly agentDir: string;
|
|
4
|
+
readonly settingsManager: SettingsManager;
|
|
5
|
+
readonly definitions: readonly ExtensionConfigDefinition[];
|
|
6
|
+
}
|
|
7
|
+
export declare function installFelanSettingsCommand(mode: object, options: InstallFelanSettingsOptions): void;
|
|
8
|
+
export declare function parseExtensionSettingValue(field: ExtensionConfigField, value: string): ExtensionConfigValue;
|
|
9
|
+
export declare function formatExtensionSettingDisplayValue(field: ExtensionConfigField, value: unknown): string;
|
|
10
|
+
export declare function formatExtensionSettingInputValue(field: ExtensionConfigField, value: unknown): string;
|
|
11
|
+
//# sourceMappingURL=extension-settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extension-settings.d.ts","sourceRoot":"","sources":["../src/extension-settings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAiBnI,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,SAAS,yBAAyB,EAAE,CAAC;CAC5D;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,2BAA2B,GACnC,IAAI,CAyCN;AAiED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,oBAAoB,EAC3B,KAAK,EAAE,MAAM,GACZ,oBAAoB,CAkBtB;AAED,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,oBAAoB,EAC3B,KAAK,EAAE,OAAO,GACb,MAAM,CAGR;AAED,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,oBAAoB,EAC3B,KAAK,EAAE,OAAO,GACb,MAAM,CAER"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { validateExtensionConfigValue } from '@felan-ai/agent-core';
|
|
2
|
+
import { getSettingsListTheme } from '@earendil-works/pi-coding-agent';
|
|
3
|
+
import { Container, Input, SettingsList, Spacer, Text } from '@earendil-works/pi-tui';
|
|
4
|
+
import { getFelanSettings, setExtensionConfigValue } from './settings.js';
|
|
5
|
+
export function installFelanSettingsCommand(mode, options) {
|
|
6
|
+
const internals = mode;
|
|
7
|
+
if (typeof internals.showSelector !== 'function' || typeof internals.showSettingsSelector !== 'function') {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
const nativeSettings = internals.showSettingsSelector.bind(mode);
|
|
11
|
+
internals.showSettingsSelector = () => {
|
|
12
|
+
internals.showSelector((done) => {
|
|
13
|
+
const items = [
|
|
14
|
+
{
|
|
15
|
+
id: 'native-settings',
|
|
16
|
+
label: 'Pi settings',
|
|
17
|
+
description: 'Open the standard Felan runtime settings selector',
|
|
18
|
+
currentValue: 'open',
|
|
19
|
+
submenu: () => {
|
|
20
|
+
nativeSettings();
|
|
21
|
+
done();
|
|
22
|
+
return new Container();
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
...createItems(options),
|
|
26
|
+
];
|
|
27
|
+
const list = new SettingsList(items, Math.min(items.length, 12), getSettingsListTheme(), async (id, value) => {
|
|
28
|
+
if (id === 'native-settings')
|
|
29
|
+
return;
|
|
30
|
+
const [extensionId, field] = id.split('.', 2);
|
|
31
|
+
if (!extensionId || !field)
|
|
32
|
+
return;
|
|
33
|
+
const definition = options.definitions.find((candidate) => candidate.id === extensionId);
|
|
34
|
+
const configField = definition?.fields[field];
|
|
35
|
+
if (!definition || !configField)
|
|
36
|
+
return;
|
|
37
|
+
const parsed = validateExtensionConfigValue(definition, field, parseExtensionSettingValue(configField, value), `setting ${extensionId}.${field}`);
|
|
38
|
+
await setExtensionConfigValue(options.agentDir, extensionId, field, parsed);
|
|
39
|
+
list.updateValue(id, formatExtensionSettingDisplayValue(configField, parsed));
|
|
40
|
+
}, done, { enableSearch: true });
|
|
41
|
+
return { component: list, focus: list };
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function createItems(options) {
|
|
46
|
+
const settings = getFelanSettings(options.settingsManager);
|
|
47
|
+
const stored = settings.extensionConfig ?? {};
|
|
48
|
+
return options.definitions.flatMap((definition) => Object.entries(definition.fields).map(([field, config]) => {
|
|
49
|
+
const value = stored[definition.id]?.[field] ?? config.default;
|
|
50
|
+
const item = {
|
|
51
|
+
id: `${definition.id}.${field}`,
|
|
52
|
+
label: `${definition.title}: ${config.label ?? field}`,
|
|
53
|
+
description: config.description,
|
|
54
|
+
currentValue: formatExtensionSettingDisplayValue(config, value),
|
|
55
|
+
...(config.values === undefined ? {} : { values: config.values.map(String) }),
|
|
56
|
+
};
|
|
57
|
+
if (config.type === 'string' || config.type === 'json') {
|
|
58
|
+
item.submenu = (_currentValue, done) => new StringSetting(formatExtensionSettingInputValue(config, value), (next) => {
|
|
59
|
+
validateExtensionConfigValue(definition, field, parseExtensionSettingValue(config, next), `setting ${definition.id}.${field}`);
|
|
60
|
+
done(next);
|
|
61
|
+
}, () => done());
|
|
62
|
+
}
|
|
63
|
+
return item;
|
|
64
|
+
}));
|
|
65
|
+
}
|
|
66
|
+
class StringSetting extends Container {
|
|
67
|
+
#input = new Input();
|
|
68
|
+
constructor(value, onSubmit, onCancel) {
|
|
69
|
+
super();
|
|
70
|
+
this.addChild(new Text('Enter a value:', 0, 0));
|
|
71
|
+
this.addChild(new Spacer(1));
|
|
72
|
+
this.#input.setValue(value);
|
|
73
|
+
this.#input.onSubmit = onSubmit;
|
|
74
|
+
this.#input.onEscape = onCancel;
|
|
75
|
+
this.addChild(this.#input);
|
|
76
|
+
}
|
|
77
|
+
handleInput(data) {
|
|
78
|
+
this.#input.handleInput(data);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
export function parseExtensionSettingValue(field, value) {
|
|
82
|
+
if (field.sensitive === true && value.length === 0) {
|
|
83
|
+
return field.default;
|
|
84
|
+
}
|
|
85
|
+
if (field.type === 'boolean')
|
|
86
|
+
return value === 'true';
|
|
87
|
+
if (field.type === 'number') {
|
|
88
|
+
const parsed = Number(value);
|
|
89
|
+
if (!Number.isFinite(parsed))
|
|
90
|
+
throw new Error(`Setting value must be a number: ${value}`);
|
|
91
|
+
return parsed;
|
|
92
|
+
}
|
|
93
|
+
if (field.type === 'json') {
|
|
94
|
+
try {
|
|
95
|
+
return JSON.parse(value);
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
throw new Error(`Setting value must be valid JSON: ${error instanceof Error ? error.message : String(error)}`);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return value;
|
|
102
|
+
}
|
|
103
|
+
export function formatExtensionSettingDisplayValue(field, value) {
|
|
104
|
+
if (field.sensitive === true)
|
|
105
|
+
return hasConfiguredValue(value) ? 'configured' : 'not set';
|
|
106
|
+
return field.type === 'json' ? JSON.stringify(value) ?? 'null' : String(value);
|
|
107
|
+
}
|
|
108
|
+
export function formatExtensionSettingInputValue(field, value) {
|
|
109
|
+
return field.sensitive === true ? '' : formatExtensionSettingDisplayValue(field, value);
|
|
110
|
+
}
|
|
111
|
+
function hasConfiguredValue(value) {
|
|
112
|
+
if (typeof value === 'string')
|
|
113
|
+
return value.length > 0;
|
|
114
|
+
if (Array.isArray(value))
|
|
115
|
+
return value.length > 0;
|
|
116
|
+
if (value && typeof value === 'object')
|
|
117
|
+
return Object.keys(value).length > 0;
|
|
118
|
+
return value !== undefined && value !== null && value !== false;
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=extension-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extension-settings.js","sourceRoot":"","sources":["../src/extension-settings.ts"],"names":[],"mappings":"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"}
|
package/dist/extensions.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ExtensionConfigDefinition, type ExtensionPackageImporter, type ModelRuntime } from '@felan-ai/agent-core';
|
|
2
2
|
import { type MemoryHost, type MemoryRole } from '@felan-ai/ext-memory';
|
|
3
3
|
import { type OutputStyle } from '@felan-ai/ext-output-style';
|
|
4
4
|
import { type SubagentHost } from '@felan-ai/ext-subagents';
|
|
@@ -29,6 +29,7 @@ export declare const builtinExtensionPackages: {
|
|
|
29
29
|
readonly outputStyle: "@felan-ai/ext-output-style";
|
|
30
30
|
};
|
|
31
31
|
export declare const localExtensionPackages: ("@felan-ai/ext-subagents" | "@felan-ai/ext-ask-user" | "@felan-ai/ext-tasks" | "@felan-ai/ext-prewalk" | "@felan-ai/ext-mcp" | "@felan-ai/ext-felan-api" | "@felan-ai/ext-web-access" | "@felan-ai/ext-browser" | "@felan-ai/ext-background-bash" | "@felan-ai/ext-codex" | "@felan-ai/ext-rtk-optimizer" | "@felan-ai/ext-markitdown" | "@felan-ai/ext-context" | "@felan-ai/ext-memory" | "@felan-ai/ext-powerline" | "@felan-ai/ext-output-style")[];
|
|
32
|
+
export declare function loadLocalExtensionConfigDefinitions(packages?: readonly string[]): Promise<readonly ExtensionConfigDefinition[]>;
|
|
32
33
|
export type BuiltinExtensionName = keyof typeof builtinExtensionPackages;
|
|
33
34
|
export type BuiltinExtensionSettings = Partial<Record<BuiltinExtensionName, boolean>>;
|
|
34
35
|
export declare function resolveBuiltinExtensionPackages(settings: unknown): readonly string[];
|
package/dist/extensions.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAyB,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC/F,OAAO,EAGL,KAAK,WAAW,EAEjB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAGL,KAAK,0BAA0B,EAChC,MAAM,gCAAgC,CAAC;AAExC,eAAO,MAAM,uBAAuB,2BAA2B,CAAC;AAChE,eAAO,MAAM,mBAAmB,sBAAsB,CAAC;AACvD,eAAO,MAAM,wBAAwB,4BAA4B,CAAC;AAClE,eAAO,MAAM,yBAAyB,4BAA4B,CAAC;AACnE,eAAO,MAAM,yBAAyB,4BAA4B,CAAC;AACnE,eAAO,MAAM,sBAAsB,yBAAyB,CAAC;AAC7D,eAAO,MAAM,2BAA2B,+BAA+B,CAAC;AACxE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;CAkB3B,CAAC;AACX,eAAO,MAAM,sBAAsB,0bAA0C,CAAC;AAE9E,wBAAsB,mCAAmC,CACvD,QAAQ,GAAE,SAAS,MAAM,EAA2B,GACnD,OAAO,CAAC,SAAS,yBAAyB,EAAE,CAAC,CAY/C;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,wBAAwB,CAAC;AACzE,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,CAAC;AAItF,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,MAAM,EAAE,CAYpF;AAED,eAAO,MAAM,oBAAoB,EAAE,wBAKlC,CAAC;AAEF,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,YAAY,GAAG,0BAA0B,EAC/C,YAAY,EAAE,YAAY,EAC1B,eAAe,GAAE,wBAA+C,EAChE,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAClC,aAAa,CAAC,EAAE,2BAA2B,EAC3C,WAAW,GAAE,WAAkC,GAC9C,wBAAwB,CAkD1B"}
|
package/dist/extensions.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { associateExtensionConfig, getExtensionConfigDefinition, } from '@felan-ai/agent-core';
|
|
1
2
|
import { createAskUserExtension } from '@felan-ai/ext-ask-user';
|
|
2
3
|
import { createTuiAskUserHost } from '@felan-ai/ext-ask-user/tui';
|
|
3
4
|
import { createMemoryExtension } from '@felan-ai/ext-memory';
|
|
4
|
-
import { createOutputStyleExtension, DEFAULT_OUTPUT_STYLE, } from '@felan-ai/ext-output-style';
|
|
5
|
-
import { createPowerlineExtension } from '@felan-ai/ext-powerline';
|
|
5
|
+
import { createOutputStyleExtension, DEFAULT_OUTPUT_STYLE, OUTPUT_STYLE_CONFIG, } from '@felan-ai/ext-output-style';
|
|
6
|
+
import { createPowerlineExtension, POWERLINE_CONFIG } from '@felan-ai/ext-powerline';
|
|
6
7
|
import { createSubagentsExtension, } from '@felan-ai/ext-subagents';
|
|
7
8
|
import { createLocalMcpExtension } from './mcp/index.js';
|
|
8
9
|
import { createLocalSubscriptionUsageHost } from './powerline.js';
|
|
@@ -34,6 +35,21 @@ export const builtinExtensionPackages = {
|
|
|
34
35
|
outputStyle: outputStyleExtensionPackage,
|
|
35
36
|
};
|
|
36
37
|
export const localExtensionPackages = Object.values(builtinExtensionPackages);
|
|
38
|
+
export async function loadLocalExtensionConfigDefinitions(packages = localExtensionPackages) {
|
|
39
|
+
const definitions = [];
|
|
40
|
+
for (const packageName of packages) {
|
|
41
|
+
const imported = await importLocalExtension(packageName);
|
|
42
|
+
const extension = (typeof imported === 'object' && imported !== null)
|
|
43
|
+
? Reflect.get(imported, 'default')
|
|
44
|
+
: undefined;
|
|
45
|
+
if (typeof extension !== 'function')
|
|
46
|
+
continue;
|
|
47
|
+
const definition = getExtensionConfigDefinition(extension);
|
|
48
|
+
if (definition)
|
|
49
|
+
definitions.push(definition);
|
|
50
|
+
}
|
|
51
|
+
return definitions;
|
|
52
|
+
}
|
|
37
53
|
const localExtensionPackageSet = new Set(localExtensionPackages);
|
|
38
54
|
export function resolveBuiltinExtensionPackages(settings) {
|
|
39
55
|
if (settings === undefined)
|
|
@@ -62,6 +78,7 @@ export function createLocalExtensionImporter(host, modelRuntime, importExtension
|
|
|
62
78
|
const powerline = createPowerlineExtension(createLocalSubscriptionUsageHost(modelRuntime), {
|
|
63
79
|
footerRows: (width) => agentRailRenderer?.(width) ?? [],
|
|
64
80
|
});
|
|
81
|
+
associateExtensionConfig(powerline, POWERLINE_CONFIG);
|
|
65
82
|
return async (packageName) => {
|
|
66
83
|
if (packageName === askUserExtensionPackage) {
|
|
67
84
|
return { default: createAskUserExtension(createTuiAskUserHost()) };
|
|
@@ -99,7 +116,9 @@ export function createLocalExtensionImporter(host, modelRuntime, importExtension
|
|
|
99
116
|
return { default: createMemoryExtension(memoryBinding) };
|
|
100
117
|
}
|
|
101
118
|
if (packageName === outputStyleExtensionPackage) {
|
|
102
|
-
|
|
119
|
+
const extension = ((pi) => (createOutputStyleExtension(pi.config?.style ?? outputStyle)(pi)));
|
|
120
|
+
associateExtensionConfig(extension, OUTPUT_STYLE_CONFIG);
|
|
121
|
+
return { default: extension };
|
|
103
122
|
}
|
|
104
123
|
return importExtension(packageName);
|
|
105
124
|
};
|
package/dist/extensions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extensions.js","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extensions.js","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ModelRuntime, SessionManager, type AgentSession, type CreateAgentSessionRuntimeFactory, type ExtensionPackageImporter } from '@felan-ai/agent-core';
|
|
1
|
+
import { ModelRuntime, SessionManager, type AgentSession, type CreateAgentSessionRuntimeFactory, type ExtensionPackageImporter, type ExtensionConfigOverride } from '@felan-ai/agent-core';
|
|
2
2
|
import { type AgentSessionRuntime } from '@earendil-works/pi-coding-agent';
|
|
3
3
|
import { type LocalAgentRuntimeFactory } from './runtime-factory.js';
|
|
4
4
|
import { LocalSubagentHost, type LocalSubagentSettings } from './subagents/host.js';
|
|
@@ -18,6 +18,7 @@ export interface CreateLocalSessionRuntimeFactoryOptions {
|
|
|
18
18
|
readonly subagentSettings?: LocalSubagentSettings;
|
|
19
19
|
readonly memoryCoordinator?: LocalMemoryCoordinator;
|
|
20
20
|
readonly onSessionModel?: (model: AgentSession['model']) => void;
|
|
21
|
+
readonly extensionConfigOverrides?: readonly ExtensionConfigOverride[];
|
|
21
22
|
}
|
|
22
23
|
export interface CreateLocalFelanRuntimeOptions {
|
|
23
24
|
readonly cwd?: string;
|
|
@@ -31,6 +32,7 @@ export interface CreateLocalFelanRuntimeOptions {
|
|
|
31
32
|
readonly skillPaths?: readonly string[];
|
|
32
33
|
readonly subagentSettings?: LocalSubagentSettings;
|
|
33
34
|
readonly memoryCoordinator?: LocalMemoryCoordinator;
|
|
35
|
+
readonly extensionConfigOverrides?: readonly ExtensionConfigOverride[];
|
|
34
36
|
}
|
|
35
37
|
export declare function getLocalAgentDir(): string;
|
|
36
38
|
export declare function getLocalSkillPaths(cwd: string, homeDir?: string): readonly string[];
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,YAAY,EACZ,cAAc,EACd,KAAK,YAAY,EAKjB,KAAK,gCAAgC,EACrC,KAAK,wBAAwB,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,YAAY,EACZ,cAAc,EACd,KAAK,YAAY,EAKjB,KAAK,gCAAgC,EACrC,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC7B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,iCAAiC,CAAC;AAqBzC,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,iBAAiB,EACjB,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAejE,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,GAAG;IACpD,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,0BAA0B,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CACrF,CAAC;AAEF,MAAM,WAAW,uCAAuC;IACtD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,eAAe,CAAC,EAAE,wBAAwB,CAAC;IACpD,QAAQ,CAAC,cAAc,CAAC,EAAE,wBAAwB,CAAC;IACnD,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;IAClD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IACpD,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACjE,QAAQ,CAAC,wBAAwB,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;CACxE;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IACzC,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,wBAAwB,CAAC;IACnD,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;IAClD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IACpD,QAAQ,CAAC,wBAAwB,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;CACxE;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,MAAkB,GAAG,SAAS,MAAM,EAAE,CAK9F;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,uCAAuC,GAC/C,gCAAgC,CA4KlC;AAED,wBAAsB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAKrF;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,GAAE,8BAAmC,GAC3C,OAAO,CAAC,iBAAiB,CAAC,CA4C5B"}
|
package/dist/runtime.js
CHANGED
|
@@ -8,7 +8,7 @@ import { resolveModelScopeWithDiagnostics, } from '@earendil-works/pi-coding-age
|
|
|
8
8
|
import { createLocalCodexStreamFunctionWrapper } from './codex.js';
|
|
9
9
|
import { createLocalDependencyExtension, localDependencyExtensionName, } from './dependencies.js';
|
|
10
10
|
import { createLocalExtensionImporter, importLocalExtension, resolveBuiltinExtensionPackages, } from './extensions.js';
|
|
11
|
-
import { createLocalSettingsManager, getFelanSettings, getLocalMemoryProcessingEnabled, getLocalOutputStyle, getLocalToolDisplayMode, isBuiltinExtensionEnabled, } from './settings.js';
|
|
11
|
+
import { createLocalSettingsManager, getFelanSettings, getLocalMemoryProcessingEnabled, getLocalOutputStyle, getLocalToolDisplayMode, isBuiltinExtensionEnabled, getExtensionConfigOverrides, } from './settings.js';
|
|
12
12
|
import { loadLocalAppendSystemPrompt } from './system-prompt.js';
|
|
13
13
|
import { createLocalAgentRuntimeFactoryRequest, } from './runtime-factory.js';
|
|
14
14
|
import { LocalSubagentHost, } from './subagents/host.js';
|
|
@@ -38,6 +38,10 @@ export function createLocalSessionRuntimeFactory(options) {
|
|
|
38
38
|
]);
|
|
39
39
|
const settingsManager = createLocalSettingsManager(cwd, options.agentDir);
|
|
40
40
|
const felanSettings = getFelanSettings(settingsManager);
|
|
41
|
+
const extensionConfigOverrides = [
|
|
42
|
+
...getExtensionConfigOverrides(felanSettings),
|
|
43
|
+
...(options.extensionConfigOverrides ?? []),
|
|
44
|
+
];
|
|
41
45
|
const outputStyle = getLocalOutputStyle(settingsManager);
|
|
42
46
|
const toolActivityState = new ToolActivityState(getLocalToolDisplayMode(settingsManager));
|
|
43
47
|
const reloadSettings = settingsManager.reload.bind(settingsManager);
|
|
@@ -64,7 +68,7 @@ export function createLocalSessionRuntimeFactory(options) {
|
|
|
64
68
|
const dependencyExtension = bindFelanExtension(localDependencyExtensionName, createLocalDependencyExtension({ agentDir: options.agentDir, settingsManager }), runtime, options.agentDir);
|
|
65
69
|
if (typeof dependencyExtension !== 'function')
|
|
66
70
|
dependencyExtension.hidden = true;
|
|
67
|
-
const wrapStreamFunction = await createLocalCodexStreamFunctionWrapper(extensionPackages, runtime, options.agentDir);
|
|
71
|
+
const wrapStreamFunction = await createLocalCodexStreamFunctionWrapper(extensionPackages, runtime, options.agentDir, felanSettings.extensionConfig?.codex ?? undefined);
|
|
68
72
|
const memoryControlExtension = options.memoryCoordinator === undefined
|
|
69
73
|
? undefined
|
|
70
74
|
: bindFelanExtension('@felan-ai/felan/memory-control', createLocalMemoryControlExtension({
|
|
@@ -86,6 +90,7 @@ export function createLocalSessionRuntimeFactory(options) {
|
|
|
86
90
|
: { scopedModels: modelScope.scopedModels }),
|
|
87
91
|
extensionPackages,
|
|
88
92
|
importExtension,
|
|
93
|
+
extensionConfigOverrides,
|
|
89
94
|
outputStyle,
|
|
90
95
|
skillPaths,
|
|
91
96
|
...(options.runtimeFactory === undefined ? {} : { runtimeFactory: options.runtimeFactory }),
|
|
@@ -118,6 +123,7 @@ export function createLocalSessionRuntimeFactory(options) {
|
|
|
118
123
|
runtime,
|
|
119
124
|
...(wrapStreamFunction === undefined ? {} : { wrapStreamFunction }),
|
|
120
125
|
extensionPackages,
|
|
126
|
+
extensionConfigOverrides,
|
|
121
127
|
importExtension: createLocalExtensionImporter(host, options.modelRuntime, importExtension, shutdownHost, memoryHost === undefined ? undefined : { role: 'root', host: memoryHost }, outputStyle),
|
|
122
128
|
modelRuntime: options.modelRuntime,
|
|
123
129
|
settingsManager,
|
|
@@ -189,6 +195,7 @@ export async function createLocalFelanRuntime(options = {}) {
|
|
|
189
195
|
...(options.runtimeFactory === undefined ? {} : { runtimeFactory: options.runtimeFactory }),
|
|
190
196
|
...(options.skillPaths === undefined ? {} : { skillPaths: options.skillPaths }),
|
|
191
197
|
...(options.subagentSettings === undefined ? {} : { subagentSettings: options.subagentSettings }),
|
|
198
|
+
...(options.extensionConfigOverrides === undefined ? {} : { extensionConfigOverrides: options.extensionConfigOverrides }),
|
|
192
199
|
memoryCoordinator,
|
|
193
200
|
onSessionModel: (model) => memoryCoordinator.setSelectedModel(model),
|
|
194
201
|
});
|