@felan-ai/felan 0.35.0 → 0.35.2

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 CHANGED
@@ -63,7 +63,7 @@ are unchanged; the model API identifier `azure-openai-responses` is also still
63
63
  used by Azure model definitions.
64
64
 
65
65
  Felan Code supports Node.js 22.19.0 or newer. Repository development and CI use
66
- Node.js 22.20.0 with pnpm 9.15.5.
66
+ Node.js 22.23.4 with pnpm 9.15.5.
67
67
 
68
68
  ```sh
69
69
  felan
@@ -0,0 +1,3 @@
1
+ export declare function loadAgentEnvironment(agentDir: string, environment?: NodeJS.ProcessEnv): boolean;
2
+ export declare function daemonTargetAgentDir(targetArgument: string | undefined): string | undefined;
3
+ //# sourceMappingURL=agent-environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-environment.d.ts","sourceRoot":"","sources":["../src/agent-environment.ts"],"names":[],"mappings":"AAOA,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAM5G;AAGD,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAW3F"}
@@ -0,0 +1,35 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ import { parseEnv } from 'node:util';
4
+ // The daemon outlives the client that spawned it, so the agent directory's .env overrides the inherited
5
+ // environment to keep configuration independent of which terminal started the daemon. It must run before
6
+ // daemon-scoped providers read the environment.
7
+ export function loadAgentEnvironment(agentDir, environment = process.env) {
8
+ let contents;
9
+ try {
10
+ contents = readFileSync(join(agentDir, '.env'), 'utf8');
11
+ }
12
+ catch (error) {
13
+ return error.code === 'ENOENT';
14
+ }
15
+ Object.assign(environment, parseEnv(contents));
16
+ return true;
17
+ }
18
+ // Mirrors the daemon's launch target layout; the daemon validates the target itself afterwards.
19
+ export function daemonTargetAgentDir(targetArgument) {
20
+ try {
21
+ const target = JSON.parse(targetArgument ?? '');
22
+ if (!target || typeof target !== 'object')
23
+ return undefined;
24
+ const kind = Reflect.get(target, 'kind');
25
+ const agentDir = Reflect.get(target, 'agentDir');
26
+ const directory = Reflect.get(target, 'directory');
27
+ if (kind === 'production' && typeof agentDir === 'string')
28
+ return agentDir;
29
+ if (kind === 'isolated' && typeof directory === 'string')
30
+ return join(directory, 'agent');
31
+ }
32
+ catch { }
33
+ return undefined;
34
+ }
35
+ //# sourceMappingURL=agent-environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-environment.js","sourceRoot":"","sources":["../src/agent-environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,wGAAwG;AACxG,yGAAyG;AACzG,gDAAgD;AAChD,MAAM,UAAU,oBAAoB,CAAC,QAAgB,EAAE,cAAiC,OAAO,CAAC,GAAG;IACjG,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QAAC,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;IAAC,CAAC;IAChE,OAAO,KAAK,EAAE,CAAC;QAAC,OAAQ,KAA+B,CAAC,IAAI,KAAK,QAAQ,CAAC;IAAC,CAAC;IAC5E,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,oBAAoB,CAAC,cAAkC;IACrE,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACnD,IAAI,IAAI,KAAK,YAAY,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC3E,IAAI,IAAI,KAAK,UAAU,IAAI,OAAO,SAAS,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC5F,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -105,9 +105,9 @@ export declare class SessionClient {
105
105
  retryAt: number;
106
106
  } | undefined;
107
107
  get identity(): {
108
+ agentDir: string;
108
109
  namespaceId: string;
109
110
  instanceId: string;
110
- agentDir: string;
111
111
  rootSet: string[];
112
112
  } | undefined;
113
113
  get capabilities(): {
@@ -121,9 +121,9 @@ export declare class SessionClient {
121
121
  capabilities?: ("ui.action" | "ui.status" | "ui.progress" | "ui.document" | "ui.view" | "native.events")[];
122
122
  daemonVersion: string;
123
123
  identity: {
124
+ agentDir: string;
124
125
  namespaceId: string;
125
126
  instanceId: string;
126
- agentDir: string;
127
127
  rootSet: string[];
128
128
  };
129
129
  protocol: 1;
@@ -1,5 +1,6 @@
1
1
  import { fileURLToPath } from 'node:url';
2
2
  import { runDaemonProcess } from '@felan-ai/daemon/daemon-bootstrap';
3
+ import { daemonTargetAgentDir, loadAgentEnvironment } from './agent-environment.js';
3
4
  import { FELAN_VERSION } from './version.js';
4
5
  const manager = {
5
6
  packageName: '@felan-ai/felan',
@@ -8,6 +9,10 @@ const manager = {
8
9
  resolveProvider: specifier => import.meta.resolve(specifier),
9
10
  packagedDefaultPath: fileURLToPath(new URL('./host.json', import.meta.url)),
10
11
  };
12
+ const agentDir = daemonTargetAgentDir(process.argv[2]);
13
+ if (agentDir && !loadAgentEnvironment(agentDir)) {
14
+ process.stderr.write('Felan daemon could not read .env; using the inherited environment.\n');
15
+ }
11
16
  try {
12
17
  await runDaemonProcess(process.argv.slice(2), manager);
13
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"daemon-host.js","sourceRoot":"","sources":["../src/daemon-host.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAoB,MAAM,mCAAmC,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,OAAO,GAAgB;IAC3B,WAAW,EAAE,iBAAiB;IAC9B,OAAO,EAAE,aAAa;IACtB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG;IAC5B,eAAe,EAAE,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;IAC5D,mBAAmB,EAAE,aAAa,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;CAC5E,CAAC;AAEF,IAAI,CAAC;IAAC,MAAM,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAAC,CAAC;AAC/D,MAAM,CAAC;IACL,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;IACjG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"daemon-host.js","sourceRoot":"","sources":["../src/daemon-host.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAoB,MAAM,mCAAmC,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,OAAO,GAAgB;IAC3B,WAAW,EAAE,iBAAiB;IAC9B,OAAO,EAAE,aAAa;IACtB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG;IAC5B,eAAe,EAAE,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;IAC5D,mBAAmB,EAAE,aAAa,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;CAC5E,CAAC;AAEF,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,IAAI,QAAQ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;IAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;AAC/F,CAAC;AAED,IAAI,CAAC;IAAC,MAAM,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAAC,CAAC;AAC/D,MAAM,CAAC;IACL,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;IACjG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC"}
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@felan-ai/felan",
3
- "version": "0.35.0",
3
+ "version": "0.35.2",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@felan-ai/felan",
9
- "version": "0.35.0",
9
+ "version": "0.35.2",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
- "@felan-ai/daemon": "0.5.0",
12
+ "@felan-ai/daemon": "0.5.1",
13
13
  "@agentclientprotocol/sdk": "1.4.0",
14
14
  "@earendil-works/pi-coding-agent": "1.4.0",
15
15
  "@earendil-works/pi-tui": "1.4.0",
@@ -17,33 +17,33 @@
17
17
  "@napi-rs/keyring": "1.3.0",
18
18
  "open": "11.0.0",
19
19
  "typebox": "1.1.38",
20
- "@felan-ai/agent-core": "0.14.4",
21
- "@felan-ai/ext-ask-user": "0.11.3",
20
+ "@felan-ai/agent-core": "0.14.5",
21
+ "@felan-ai/ext-ask-user": "0.11.4",
22
+ "@felan-ai/ext-background-bash": "0.13.4",
22
23
  "@felan-ai/ext-browser": "0.13.0",
23
- "@felan-ai/ext-codebase-memory": "0.9.0",
24
- "@felan-ai/ext-background-bash": "0.13.3",
25
24
  "@felan-ai/ext-claude-code": "0.2.1",
25
+ "@felan-ai/ext-codebase-memory": "0.9.0",
26
26
  "@felan-ai/ext-codex": "0.11.0",
27
27
  "@felan-ai/ext-context": "0.11.0",
28
- "@felan-ai/ext-fusion": "0.3.3",
29
28
  "@felan-ai/ext-context-view": "0.9.1",
29
+ "@felan-ai/ext-fusion": "0.3.4",
30
30
  "@felan-ai/ext-insights": "0.9.1",
31
+ "@felan-ai/ext-mcp": "0.9.1",
31
32
  "@felan-ai/ext-markitdown": "0.10.1",
32
33
  "@felan-ai/ext-felan-api": "0.9.1",
33
- "@felan-ai/ext-mcp": "0.9.1",
34
34
  "@felan-ai/ext-memory": "0.10.1",
35
+ "@felan-ai/ext-model-tools": "0.5.0",
35
36
  "@felan-ai/ext-output-style": "0.10.0",
37
+ "@felan-ai/ext-powerline": "0.15.0",
36
38
  "@felan-ai/ext-prewalk": "0.13.1",
37
- "@felan-ai/ext-model-tools": "0.5.0",
39
+ "@felan-ai/ext-prompt-history": "0.8.4",
38
40
  "@felan-ai/ext-rtk-optimizer": "0.11.1",
39
- "@felan-ai/ext-prompt-history": "0.8.3",
40
41
  "@felan-ai/ext-session-compaction": "0.8.0",
41
42
  "@felan-ai/ext-session-title": "0.8.0",
42
43
  "@felan-ai/ext-subagents": "0.13.1",
43
- "@felan-ai/ext-powerline": "0.15.0",
44
44
  "@felan-ai/ext-tasks": "0.10.0",
45
- "@felan-ai/ext-web-access": "0.12.1",
46
- "@felan-ai/session-protocol": "0.4.0"
45
+ "@felan-ai/session-protocol": "0.4.1",
46
+ "@felan-ai/ext-web-access": "0.12.1"
47
47
  },
48
48
  "bin": {
49
49
  "felan": "./dist/cli.js"
@@ -571,8 +571,8 @@
571
571
  }
572
572
  },
573
573
  "node_modules/@felan-ai/agent-core": {
574
- "version": "0.14.4",
575
- "resolved": "https://registry.npmjs.org/@felan-ai/agent-core/-/agent-core-0.14.4.tgz",
574
+ "version": "0.14.5",
575
+ "resolved": "https://registry.npmjs.org/@felan-ai/agent-core/-/agent-core-0.14.5.tgz",
576
576
  "license": "MIT",
577
577
  "dependencies": {
578
578
  "@earendil-works/pi-agent-core": "1.4.0",
@@ -582,7 +582,7 @@
582
582
  "@earendil-works/pi-mcp": "1.4.0",
583
583
  "@earendil-works/pi-telemetry": "1.4.0",
584
584
  "@earendil-works/pi-tui": "1.4.0",
585
- "@felan-ai/session-protocol": "0.4.0",
585
+ "@felan-ai/session-protocol": "0.4.1",
586
586
  "@lydell/node-pty": "1.2.0-beta.14"
587
587
  },
588
588
  "engines": {
@@ -590,13 +590,13 @@
590
590
  }
591
591
  },
592
592
  "node_modules/@felan-ai/daemon": {
593
- "version": "0.5.0",
594
- "resolved": "https://registry.npmjs.org/@felan-ai/daemon/-/daemon-0.5.0.tgz",
593
+ "version": "0.5.1",
594
+ "resolved": "https://registry.npmjs.org/@felan-ai/daemon/-/daemon-0.5.1.tgz",
595
595
  "license": "MIT",
596
596
  "dependencies": {
597
597
  "@earendil-works/pi-coding-agent": "1.4.0",
598
- "@felan-ai/agent-core": "0.14.4",
599
- "@felan-ai/session-protocol": "0.4.0",
598
+ "@felan-ai/agent-core": "0.14.5",
599
+ "@felan-ai/session-protocol": "0.4.1",
600
600
  "@supabase/supabase-js": "2.97.0",
601
601
  "koffi": "3.3.2",
602
602
  "typebox": "1.1.38"
@@ -606,11 +606,11 @@
606
606
  }
607
607
  },
608
608
  "node_modules/@felan-ai/ext-ask-user": {
609
- "version": "0.11.3",
610
- "resolved": "https://registry.npmjs.org/@felan-ai/ext-ask-user/-/ext-ask-user-0.11.3.tgz",
609
+ "version": "0.11.4",
610
+ "resolved": "https://registry.npmjs.org/@felan-ai/ext-ask-user/-/ext-ask-user-0.11.4.tgz",
611
611
  "license": "MIT",
612
612
  "dependencies": {
613
- "@felan-ai/session-protocol": "0.4.0",
613
+ "@felan-ai/session-protocol": "0.4.1",
614
614
  "typebox": "1.1.38"
615
615
  },
616
616
  "engines": {
@@ -621,11 +621,11 @@
621
621
  }
622
622
  },
623
623
  "node_modules/@felan-ai/ext-background-bash": {
624
- "version": "0.13.3",
625
- "resolved": "https://registry.npmjs.org/@felan-ai/ext-background-bash/-/ext-background-bash-0.13.3.tgz",
624
+ "version": "0.13.4",
625
+ "resolved": "https://registry.npmjs.org/@felan-ai/ext-background-bash/-/ext-background-bash-0.13.4.tgz",
626
626
  "license": "MIT",
627
627
  "dependencies": {
628
- "@felan-ai/session-protocol": "0.4.0",
628
+ "@felan-ai/session-protocol": "0.4.1",
629
629
  "typebox": "1.1.38"
630
630
  },
631
631
  "engines": {
@@ -729,11 +729,11 @@
729
729
  }
730
730
  },
731
731
  "node_modules/@felan-ai/ext-fusion": {
732
- "version": "0.3.3",
733
- "resolved": "https://registry.npmjs.org/@felan-ai/ext-fusion/-/ext-fusion-0.3.3.tgz",
732
+ "version": "0.3.4",
733
+ "resolved": "https://registry.npmjs.org/@felan-ai/ext-fusion/-/ext-fusion-0.3.4.tgz",
734
734
  "license": "MIT",
735
735
  "dependencies": {
736
- "@felan-ai/session-protocol": "0.4.0"
736
+ "@felan-ai/session-protocol": "0.4.1"
737
737
  },
738
738
  "engines": {
739
739
  "node": ">=22.19.0"
@@ -842,12 +842,12 @@
842
842
  }
843
843
  },
844
844
  "node_modules/@felan-ai/ext-prompt-history": {
845
- "version": "0.8.3",
846
- "resolved": "https://registry.npmjs.org/@felan-ai/ext-prompt-history/-/ext-prompt-history-0.8.3.tgz",
845
+ "version": "0.8.4",
846
+ "resolved": "https://registry.npmjs.org/@felan-ai/ext-prompt-history/-/ext-prompt-history-0.8.4.tgz",
847
847
  "license": "MIT",
848
848
  "dependencies": {
849
849
  "@earendil-works/pi-tui": "1.4.0",
850
- "@felan-ai/session-protocol": "0.4.0"
850
+ "@felan-ai/session-protocol": "0.4.1"
851
851
  },
852
852
  "engines": {
853
853
  "node": ">=22.19.0"
@@ -948,8 +948,8 @@
948
948
  }
949
949
  },
950
950
  "node_modules/@felan-ai/session-protocol": {
951
- "version": "0.4.0",
952
- "resolved": "https://registry.npmjs.org/@felan-ai/session-protocol/-/session-protocol-0.4.0.tgz",
951
+ "version": "0.4.1",
952
+ "resolved": "https://registry.npmjs.org/@felan-ai/session-protocol/-/session-protocol-0.4.1.tgz",
953
953
  "license": "MIT",
954
954
  "dependencies": {
955
955
  "typebox": "1.1.38"
@@ -1722,6 +1722,7 @@
1722
1722
  "version": "3.34.1",
1723
1723
  "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.34.1.tgz",
1724
1724
  "integrity": "sha512-dLcOUxz8YCv1RZUMKq6GbyUf95pLbrqh34bPvpCZ1+CByFF31BEAFewZjsGCnVsZTKdThNENfGyAgk2TJqVwSw==",
1725
+ "deprecated": "Deprecated due to a bug in custom logger data redaction. See https://github.com/aws/aws-sdk-js-v3/issues/8393.",
1725
1726
  "license": "Apache-2.0",
1726
1727
  "dependencies": {
1727
1728
  "@smithy/types": "^4.18.0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@felan-ai/felan",
3
- "version": "0.35.0",
3
+ "version": "0.35.2",
4
4
  "description": "Felan Code: an open-source, model-portable coding agent built for cost-efficient, verifiable software work",
5
5
  "keywords": [
6
6
  "ai",
@@ -86,7 +86,7 @@
86
86
  }
87
87
  },
88
88
  "dependencies": {
89
- "@felan-ai/daemon": "0.5.0",
89
+ "@felan-ai/daemon": "0.5.1",
90
90
  "@agentclientprotocol/sdk": "1.4.0",
91
91
  "@earendil-works/pi-coding-agent": "1.4.0",
92
92
  "@earendil-works/pi-tui": "1.4.0",
@@ -94,33 +94,33 @@
94
94
  "@napi-rs/keyring": "1.3.0",
95
95
  "open": "11.0.0",
96
96
  "typebox": "1.1.38",
97
- "@felan-ai/agent-core": "0.14.4",
98
- "@felan-ai/ext-background-bash": "0.13.3",
99
- "@felan-ai/ext-ask-user": "0.11.3",
97
+ "@felan-ai/agent-core": "0.14.5",
98
+ "@felan-ai/ext-ask-user": "0.11.4",
99
+ "@felan-ai/ext-background-bash": "0.13.4",
100
+ "@felan-ai/ext-browser": "0.13.0",
100
101
  "@felan-ai/ext-codebase-memory": "0.9.0",
101
102
  "@felan-ai/ext-claude-code": "0.2.1",
102
- "@felan-ai/ext-browser": "0.13.0",
103
103
  "@felan-ai/ext-codex": "0.11.0",
104
104
  "@felan-ai/ext-context": "0.11.0",
105
105
  "@felan-ai/ext-context-view": "0.9.1",
106
- "@felan-ai/ext-felan-api": "0.9.1",
107
- "@felan-ai/ext-fusion": "0.3.3",
106
+ "@felan-ai/ext-fusion": "0.3.4",
107
+ "@felan-ai/ext-markitdown": "0.10.1",
108
+ "@felan-ai/ext-mcp": "0.9.1",
108
109
  "@felan-ai/ext-insights": "0.9.1",
109
110
  "@felan-ai/ext-memory": "0.10.1",
110
- "@felan-ai/ext-markitdown": "0.10.1",
111
+ "@felan-ai/ext-felan-api": "0.9.1",
111
112
  "@felan-ai/ext-model-tools": "0.5.0",
112
113
  "@felan-ai/ext-output-style": "0.10.0",
113
- "@felan-ai/ext-mcp": "0.9.1",
114
114
  "@felan-ai/ext-powerline": "0.15.0",
115
- "@felan-ai/ext-prewalk": "0.13.1",
116
- "@felan-ai/ext-prompt-history": "0.8.3",
117
- "@felan-ai/ext-session-compaction": "0.8.0",
115
+ "@felan-ai/ext-prompt-history": "0.8.4",
118
116
  "@felan-ai/ext-rtk-optimizer": "0.11.1",
119
- "@felan-ai/ext-subagents": "0.13.1",
117
+ "@felan-ai/ext-session-compaction": "0.8.0",
118
+ "@felan-ai/ext-prewalk": "0.13.1",
120
119
  "@felan-ai/ext-session-title": "0.8.0",
121
120
  "@felan-ai/ext-tasks": "0.10.0",
121
+ "@felan-ai/ext-subagents": "0.13.1",
122
122
  "@felan-ai/ext-web-access": "0.12.1",
123
- "@felan-ai/session-protocol": "0.4.0"
123
+ "@felan-ai/session-protocol": "0.4.1"
124
124
  },
125
125
  "publishConfig": {
126
126
  "access": "public",