@felan-ai/felan 0.36.0 → 0.37.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/host.json
CHANGED
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
} },
|
|
13
13
|
{ "id": "felan.runtime.dependencies", "major": 1, "use": "@felan-ai/felan/providers/runtime-dependencies" },
|
|
14
14
|
{ "id": "felan.models", "major": 1, "use": "@felan-ai/felan/providers/models" },
|
|
15
|
+
{ "id": "felan.host.models", "major": 1, "use": "@felan-ai/felan/providers/host-models" },
|
|
16
|
+
{ "id": "felan.memory.scheduler", "major": 1, "use": "@felan-ai/ext-memory/daemon" },
|
|
15
17
|
{ "id": "felan.secrets", "major": 1, "use": "@felan-ai/felan/providers/secrets" },
|
|
16
18
|
{ "id": "felan.sessions", "major": 1, "use": "@felan-ai/felan/providers/sessions" },
|
|
17
19
|
{ "id": "felan.sessions.history", "major": 1, "use": "@felan-ai/felan/providers/sessions" },
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
declare const _default: import("@felan-ai/daemon/provider").ServiceProviderDeclarations & {
|
|
2
|
+
readonly scope?: "daemon";
|
|
3
|
+
create(context: import("@felan-ai/daemon/provider").ProviderCreateContext): Promise<import("@felan-ai/daemon/provider").ServiceProviderInstance>;
|
|
4
|
+
};
|
|
5
|
+
export default _default;
|
|
6
|
+
//# sourceMappingURL=host-models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-models.d.ts","sourceRoot":"","sources":["../../src/providers/host-models.ts"],"names":[],"mappings":";;;;AAOA,wBAsEG"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { HOST_MAINTENANCE_SERVICE, HOST_MODELS_SERVICE } from '@felan-ai/agent-core';
|
|
2
|
+
import { defineServiceProvider } from '@felan-ai/daemon/provider';
|
|
3
|
+
import { createLocalClassifier } from './classifier.js';
|
|
4
|
+
import { createLocalModelsService } from './models.js';
|
|
5
|
+
import { createSubscriptionUsageCache } from './models-subscription.js';
|
|
6
|
+
import { createLocalSettingsManager, getClassifierModelSetting } from './settings.js';
|
|
7
|
+
export default defineServiceProvider({
|
|
8
|
+
scope: 'daemon',
|
|
9
|
+
provides: [HOST_MODELS_SERVICE],
|
|
10
|
+
requires: [HOST_MAINTENANCE_SERVICE],
|
|
11
|
+
async create(context) {
|
|
12
|
+
const lifetime = new AbortController();
|
|
13
|
+
const signal = AbortSignal.any([context.signal, lifetime.signal]);
|
|
14
|
+
const active = new Set();
|
|
15
|
+
const subscriptionUsage = createSubscriptionUsageCache();
|
|
16
|
+
let service;
|
|
17
|
+
let activated = false;
|
|
18
|
+
let closed = false;
|
|
19
|
+
const current = () => {
|
|
20
|
+
signal.throwIfAborted();
|
|
21
|
+
if (!activated || !service)
|
|
22
|
+
throw new Error('Host models are unavailable before activation or while settling.');
|
|
23
|
+
return service;
|
|
24
|
+
};
|
|
25
|
+
const track = (work) => {
|
|
26
|
+
active.add(work);
|
|
27
|
+
void work.then(() => active.delete(work), () => active.delete(work));
|
|
28
|
+
return work;
|
|
29
|
+
};
|
|
30
|
+
const classifier = Object.freeze({
|
|
31
|
+
canEvaluate: (state, questions) => {
|
|
32
|
+
try {
|
|
33
|
+
return current().classifier?.canEvaluate?.(state, questions) ?? false;
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
classify: (...args) => track(Promise.resolve().then(() => {
|
|
40
|
+
const classifier = current().classifier;
|
|
41
|
+
if (!classifier)
|
|
42
|
+
throw new Error('Host classifier is unavailable.');
|
|
43
|
+
return classifier.classify(...args);
|
|
44
|
+
})),
|
|
45
|
+
});
|
|
46
|
+
const value = Object.freeze({
|
|
47
|
+
getAvailable: (...args) => track(Promise.resolve().then(() => current().getAvailable(...args))),
|
|
48
|
+
getAvailableOfType: (...args) => track(Promise.resolve().then(() => current().getAvailableOfType(...args))),
|
|
49
|
+
getSubscriptionUsage: (...args) => track(Promise.resolve().then(() => current().getSubscriptionUsage(...args))),
|
|
50
|
+
completeSimple: (...args) => track(Promise.resolve().then(() => current().completeSimple(...args))),
|
|
51
|
+
generateImages: (...args) => track(Promise.resolve().then(() => current().generateImages(...args))),
|
|
52
|
+
streamSimple: (...args) => {
|
|
53
|
+
const stream = current().streamSimple(...args);
|
|
54
|
+
track(stream.result());
|
|
55
|
+
return stream;
|
|
56
|
+
},
|
|
57
|
+
classifier,
|
|
58
|
+
});
|
|
59
|
+
const waitForActive = async () => { while (active.size)
|
|
60
|
+
await Promise.allSettled([...active]); };
|
|
61
|
+
return {
|
|
62
|
+
implementations: [{ contract: HOST_MODELS_SERVICE, value }],
|
|
63
|
+
busy: () => active.size > 0,
|
|
64
|
+
async activate() {
|
|
65
|
+
signal.throwIfAborted();
|
|
66
|
+
if (closed)
|
|
67
|
+
throw new Error('Host models are closed.');
|
|
68
|
+
const maintenance = context.services.get(HOST_MAINTENANCE_SERVICE);
|
|
69
|
+
if (!maintenance)
|
|
70
|
+
throw new Error('Host models require host maintenance.');
|
|
71
|
+
const modelRuntime = maintenance.modelRuntime;
|
|
72
|
+
const settings = createLocalSettingsManager(maintenance.agentDir, maintenance.agentDir);
|
|
73
|
+
const selected = await createLocalClassifier(modelRuntime, getClassifierModelSetting(settings));
|
|
74
|
+
signal.throwIfAborted();
|
|
75
|
+
if (closed)
|
|
76
|
+
throw new Error('Host models are closed.');
|
|
77
|
+
service = createLocalModelsService({ modelRuntime, sessionId: 'host-maintenance', signal,
|
|
78
|
+
isActive: () => activated,
|
|
79
|
+
getSubscriptionUsage: model => subscriptionUsage(modelRuntime, model),
|
|
80
|
+
...(selected.classifier ? { classifier: selected.classifier } : {}) });
|
|
81
|
+
activated = true;
|
|
82
|
+
},
|
|
83
|
+
async settle(mode) { closed = true; activated = false; if (mode === 'force')
|
|
84
|
+
lifetime.abort(); await waitForActive(); },
|
|
85
|
+
async dispose() { closed = true; activated = false; lifetime.abort(); await waitForActive(); },
|
|
86
|
+
};
|
|
87
|
+
},
|
|
88
|
+
});
|
|
89
|
+
//# sourceMappingURL=host-models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-models.js","sourceRoot":"","sources":["../../src/providers/host-models.ts"],"names":[],"mappings":"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"}
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@felan-ai/felan",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.37.0",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@felan-ai/felan",
|
|
9
|
-
"version": "0.
|
|
9
|
+
"version": "0.37.0",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@felan-ai/daemon": "0.
|
|
12
|
+
"@felan-ai/daemon": "0.7.0",
|
|
13
13
|
"@agentclientprotocol/sdk": "1.4.0",
|
|
14
14
|
"@earendil-works/pi-coding-agent": "1.5.0",
|
|
15
15
|
"@earendil-works/pi-tui": "1.5.0",
|
|
@@ -17,32 +17,32 @@
|
|
|
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.15.
|
|
20
|
+
"@felan-ai/agent-core": "0.15.1",
|
|
21
21
|
"@felan-ai/ext-ask-user": "0.12.0",
|
|
22
22
|
"@felan-ai/ext-background-bash": "0.14.0",
|
|
23
|
-
"@felan-ai/ext-claude-code": "0.3.0",
|
|
24
23
|
"@felan-ai/ext-browser": "0.14.0",
|
|
24
|
+
"@felan-ai/ext-claude-code": "0.3.0",
|
|
25
25
|
"@felan-ai/ext-codebase-memory": "0.10.0",
|
|
26
26
|
"@felan-ai/ext-codex": "0.12.0",
|
|
27
27
|
"@felan-ai/ext-context": "0.12.0",
|
|
28
28
|
"@felan-ai/ext-context-view": "0.10.0",
|
|
29
|
-
"@felan-ai/ext-fusion": "0.4.0",
|
|
30
29
|
"@felan-ai/ext-felan-api": "0.10.0",
|
|
31
|
-
"@felan-ai/ext-
|
|
30
|
+
"@felan-ai/ext-fusion": "0.4.0",
|
|
32
31
|
"@felan-ai/ext-markitdown": "0.11.0",
|
|
33
32
|
"@felan-ai/ext-mcp": "0.10.0",
|
|
34
|
-
"@felan-ai/ext-memory": "0.
|
|
33
|
+
"@felan-ai/ext-memory": "0.13.0",
|
|
34
|
+
"@felan-ai/ext-insights": "0.10.0",
|
|
35
35
|
"@felan-ai/ext-model-tools": "0.6.0",
|
|
36
|
-
"@felan-ai/ext-powerline": "0.16.0",
|
|
37
36
|
"@felan-ai/ext-output-style": "0.11.0",
|
|
37
|
+
"@felan-ai/ext-powerline": "0.16.0",
|
|
38
38
|
"@felan-ai/ext-prewalk": "0.14.0",
|
|
39
39
|
"@felan-ai/ext-prompt-history": "0.9.0",
|
|
40
40
|
"@felan-ai/ext-rtk-optimizer": "0.12.0",
|
|
41
|
-
"@felan-ai/ext-session-title": "0.9.0",
|
|
42
41
|
"@felan-ai/ext-session-compaction": "0.9.0",
|
|
43
42
|
"@felan-ai/ext-subagents": "0.14.0",
|
|
44
|
-
"@felan-ai/ext-
|
|
43
|
+
"@felan-ai/ext-session-title": "0.9.0",
|
|
45
44
|
"@felan-ai/ext-web-access": "0.13.0",
|
|
45
|
+
"@felan-ai/ext-tasks": "0.11.0",
|
|
46
46
|
"@felan-ai/session-protocol": "0.4.2"
|
|
47
47
|
},
|
|
48
48
|
"bin": {
|
|
@@ -568,8 +568,8 @@
|
|
|
568
568
|
}
|
|
569
569
|
},
|
|
570
570
|
"node_modules/@felan-ai/agent-core": {
|
|
571
|
-
"version": "0.15.
|
|
572
|
-
"resolved": "https://registry.npmjs.org/@felan-ai/agent-core/-/agent-core-0.15.
|
|
571
|
+
"version": "0.15.1",
|
|
572
|
+
"resolved": "https://registry.npmjs.org/@felan-ai/agent-core/-/agent-core-0.15.1.tgz",
|
|
573
573
|
"license": "MIT",
|
|
574
574
|
"dependencies": {
|
|
575
575
|
"@earendil-works/pi-agent-core": "1.5.0",
|
|
@@ -594,12 +594,12 @@
|
|
|
594
594
|
"license": "MIT"
|
|
595
595
|
},
|
|
596
596
|
"node_modules/@felan-ai/daemon": {
|
|
597
|
-
"version": "0.
|
|
598
|
-
"resolved": "https://registry.npmjs.org/@felan-ai/daemon/-/daemon-0.
|
|
597
|
+
"version": "0.7.0",
|
|
598
|
+
"resolved": "https://registry.npmjs.org/@felan-ai/daemon/-/daemon-0.7.0.tgz",
|
|
599
599
|
"license": "MIT",
|
|
600
600
|
"dependencies": {
|
|
601
601
|
"@earendil-works/pi-coding-agent": "1.5.0",
|
|
602
|
-
"@felan-ai/agent-core": "0.15.
|
|
602
|
+
"@felan-ai/agent-core": "0.15.1",
|
|
603
603
|
"@felan-ai/session-protocol": "0.4.2",
|
|
604
604
|
"@supabase/supabase-js": "2.97.0",
|
|
605
605
|
"koffi": "3.3.2",
|
|
@@ -784,8 +784,8 @@
|
|
|
784
784
|
}
|
|
785
785
|
},
|
|
786
786
|
"node_modules/@felan-ai/ext-memory": {
|
|
787
|
-
"version": "0.
|
|
788
|
-
"resolved": "https://registry.npmjs.org/@felan-ai/ext-memory/-/ext-memory-0.
|
|
787
|
+
"version": "0.13.0",
|
|
788
|
+
"resolved": "https://registry.npmjs.org/@felan-ai/ext-memory/-/ext-memory-0.13.0.tgz",
|
|
789
789
|
"license": "MIT",
|
|
790
790
|
"engines": {
|
|
791
791
|
"node": ">=22.19.0"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@felan-ai/felan",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.37.0",
|
|
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",
|
|
@@ -48,6 +48,10 @@
|
|
|
48
48
|
"types": "./dist/providers/models.d.ts",
|
|
49
49
|
"import": "./dist/providers/models.js"
|
|
50
50
|
},
|
|
51
|
+
"./providers/host-models": {
|
|
52
|
+
"types": "./dist/providers/host-models.d.ts",
|
|
53
|
+
"import": "./dist/providers/host-models.js"
|
|
54
|
+
},
|
|
51
55
|
"./providers/secrets": {
|
|
52
56
|
"types": "./dist/providers/secrets.d.ts",
|
|
53
57
|
"import": "./dist/providers/secrets.js"
|
|
@@ -86,7 +90,7 @@
|
|
|
86
90
|
}
|
|
87
91
|
},
|
|
88
92
|
"dependencies": {
|
|
89
|
-
"@felan-ai/daemon": "0.
|
|
93
|
+
"@felan-ai/daemon": "0.7.0",
|
|
90
94
|
"@agentclientprotocol/sdk": "1.4.0",
|
|
91
95
|
"@earendil-works/pi-coding-agent": "1.5.0",
|
|
92
96
|
"@earendil-works/pi-tui": "1.5.0",
|
|
@@ -94,32 +98,32 @@
|
|
|
94
98
|
"@napi-rs/keyring": "1.3.0",
|
|
95
99
|
"open": "11.0.0",
|
|
96
100
|
"typebox": "1.1.38",
|
|
97
|
-
"@felan-ai/agent-core": "0.15.
|
|
101
|
+
"@felan-ai/agent-core": "0.15.1",
|
|
98
102
|
"@felan-ai/ext-ask-user": "0.12.0",
|
|
99
|
-
"@felan-ai/ext-codebase-memory": "0.10.0",
|
|
100
103
|
"@felan-ai/ext-background-bash": "0.14.0",
|
|
101
104
|
"@felan-ai/ext-browser": "0.14.0",
|
|
102
105
|
"@felan-ai/ext-claude-code": "0.3.0",
|
|
106
|
+
"@felan-ai/ext-codebase-memory": "0.10.0",
|
|
103
107
|
"@felan-ai/ext-codex": "0.12.0",
|
|
104
|
-
"@felan-ai/ext-context": "0.12.0",
|
|
105
108
|
"@felan-ai/ext-context-view": "0.10.0",
|
|
109
|
+
"@felan-ai/ext-context": "0.12.0",
|
|
106
110
|
"@felan-ai/ext-felan-api": "0.10.0",
|
|
107
111
|
"@felan-ai/ext-fusion": "0.4.0",
|
|
108
|
-
"@felan-ai/ext-markitdown": "0.11.0",
|
|
109
112
|
"@felan-ai/ext-mcp": "0.10.0",
|
|
110
|
-
"@felan-ai/ext-memory": "0.12.0",
|
|
111
113
|
"@felan-ai/ext-insights": "0.10.0",
|
|
112
|
-
"@felan-ai/ext-powerline": "0.16.0",
|
|
113
114
|
"@felan-ai/ext-model-tools": "0.6.0",
|
|
115
|
+
"@felan-ai/ext-memory": "0.13.0",
|
|
116
|
+
"@felan-ai/ext-markitdown": "0.11.0",
|
|
117
|
+
"@felan-ai/ext-output-style": "0.11.0",
|
|
118
|
+
"@felan-ai/ext-powerline": "0.16.0",
|
|
119
|
+
"@felan-ai/ext-prewalk": "0.14.0",
|
|
114
120
|
"@felan-ai/ext-rtk-optimizer": "0.12.0",
|
|
115
121
|
"@felan-ai/ext-session-compaction": "0.9.0",
|
|
116
|
-
"@felan-ai/ext-output-style": "0.11.0",
|
|
117
|
-
"@felan-ai/ext-prompt-history": "0.9.0",
|
|
118
122
|
"@felan-ai/ext-session-title": "0.9.0",
|
|
123
|
+
"@felan-ai/ext-prompt-history": "0.9.0",
|
|
119
124
|
"@felan-ai/ext-subagents": "0.14.0",
|
|
120
|
-
"@felan-ai/ext-tasks": "0.11.0",
|
|
121
|
-
"@felan-ai/ext-prewalk": "0.14.0",
|
|
122
125
|
"@felan-ai/ext-web-access": "0.13.0",
|
|
126
|
+
"@felan-ai/ext-tasks": "0.11.0",
|
|
123
127
|
"@felan-ai/session-protocol": "0.4.2"
|
|
124
128
|
},
|
|
125
129
|
"publishConfig": {
|