@felan-ai/felan 0.26.23 → 0.27.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.
@@ -1 +1 @@
1
- {"version":3,"file":"model-defaults.d.ts","sourceRoot":"","sources":["../src/model-defaults.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CQ,CAAC;AAUtD,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,CAsBrE"}
1
+ {"version":3,"file":"model-defaults.d.ts","sourceRoot":"","sources":["../src/model-defaults.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CQ,CAAC;AAUtD,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,CAsBrE"}
@@ -1,4 +1,6 @@
1
1
  import { builtinProviders } from '@felan-ai/agent-core';
2
+ import { findPackageJSON } from 'node:module';
3
+ import { pathToFileURL } from 'node:url';
2
4
  export const FELAN_DEFAULT_MODEL_PER_PROVIDER = {
3
5
  'amazon-bedrock': 'us.anthropic.claude-opus-5',
4
6
  'ant-ling': 'Ring-2.6-1T',
@@ -46,13 +48,14 @@ let resolverPromise;
46
48
  let activeLeases = 0;
47
49
  let restoreEntries;
48
50
  export async function acquireFelanModelDefaults() {
49
- // Pi uses one unexported map for both startup and post-login selection. Its
50
- // exact version is pinned, and the coverage tests guard this internal seam.
51
+ // Peer resolution can load distinct Pi copies for Core startup and TUI login.
52
+ // Their pinned model maps must receive and release the same defaults together.
51
53
  const defaults = await loadPiModelDefaults();
52
54
  if (activeLeases === 0) {
53
55
  assertBuiltinProviderCoverage();
54
- restoreEntries = Object.entries(defaults);
55
- replaceDefaults(defaults, Object.entries(FELAN_DEFAULT_MODEL_PER_PROVIDER));
56
+ restoreEntries = defaults.map(target => ({ target, entries: Object.entries(target) }));
57
+ for (const target of defaults)
58
+ replaceDefaults(target, Object.entries(FELAN_DEFAULT_MODEL_PER_PROVIDER));
56
59
  }
57
60
  activeLeases += 1;
58
61
  let released = false;
@@ -65,19 +68,25 @@ export async function acquireFelanModelDefaults() {
65
68
  return;
66
69
  const entries = restoreEntries;
67
70
  restoreEntries = undefined;
68
- if (entries)
69
- replaceDefaults(defaults, entries);
71
+ for (const original of entries ?? [])
72
+ replaceDefaults(original.target, original.entries);
70
73
  };
71
74
  }
72
75
  function loadPiModelDefaults() {
73
76
  resolverPromise ??= (async () => {
74
- const piEntry = import.meta.resolve('@earendil-works/pi-coding-agent');
75
- const resolverUrl = new URL('./core/model-resolver.js', piEntry);
76
- const resolver = await import(resolverUrl.href);
77
- if (!resolver.defaultModelPerProvider) {
78
- throw new Error('The installed Pi version does not expose its default model map');
79
- }
80
- return resolver.defaultModelPerProvider;
77
+ const bases = [import.meta.url, import.meta.resolve('@felan-ai/agent-core')];
78
+ const targets = await Promise.all(bases.map(async (base) => {
79
+ const manifest = findPackageJSON('@earendil-works/pi-coding-agent', base);
80
+ if (!manifest)
81
+ throw new Error('The installed Pi package cannot be resolved');
82
+ const resolverUrl = new URL('./dist/core/model-resolver.js', pathToFileURL(manifest));
83
+ const resolver = await import(resolverUrl.href);
84
+ if (!resolver.defaultModelPerProvider) {
85
+ throw new Error('The installed Pi version does not expose its default model map');
86
+ }
87
+ return resolver.defaultModelPerProvider;
88
+ }));
89
+ return [...new Set(targets)];
81
90
  })();
82
91
  return resolverPromise;
83
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"model-defaults.js","sourceRoot":"","sources":["../src/model-defaults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-defaults.js","sourceRoot":"","sources":["../src/model-defaults.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.26.23",
3
+ "version": "0.27.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",
@@ -39,37 +39,37 @@
39
39
  },
40
40
  "dependencies": {
41
41
  "@agentclientprotocol/sdk": "1.4.0",
42
- "@earendil-works/pi-coding-agent": "1.0.0",
43
- "@earendil-works/pi-server": "1.0.0",
44
- "@earendil-works/pi-tui": "1.0.0",
45
- "@modelcontextprotocol/client": "2.0.0",
42
+ "@earendil-works/pi-coding-agent": "1.0.2",
43
+ "@earendil-works/pi-server": "1.0.2",
44
+ "@earendil-works/pi-tui": "1.0.2",
45
+ "@modelcontextprotocol/client": "2.2.0",
46
46
  "@napi-rs/keyring": "1.3.0",
47
47
  "open": "11.0.0",
48
48
  "typebox": "1.1.38",
49
- "@felan-ai/agent-core": "0.10.5",
50
- "@felan-ai/ext-ask-user": "0.6.1",
51
- "@felan-ai/ext-background-bash": "0.8.1",
52
- "@felan-ai/ext-codebase-memory": "0.5.1",
53
- "@felan-ai/ext-browser": "0.9.0",
54
- "@felan-ai/ext-codex": "0.7.3",
55
- "@felan-ai/ext-context": "0.7.0",
56
- "@felan-ai/ext-context-view": "0.4.1",
57
- "@felan-ai/ext-markitdown": "0.6.0",
58
- "@felan-ai/ext-insights": "0.5.0",
59
- "@felan-ai/ext-felan-api": "0.5.0",
60
- "@felan-ai/ext-mcp": "0.5.0",
61
- "@felan-ai/ext-memory": "0.6.0",
62
- "@felan-ai/ext-model-tools": "0.1.0",
63
- "@felan-ai/ext-output-style": "0.6.0",
64
- "@felan-ai/ext-powerline": "0.10.1",
65
- "@felan-ai/ext-prewalk": "0.9.2",
66
- "@felan-ai/ext-session-title": "0.4.0",
67
- "@felan-ai/ext-rtk-optimizer": "0.7.0",
68
- "@felan-ai/ext-prompt-history": "0.4.1",
69
- "@felan-ai/ext-subagents": "0.9.0",
70
- "@felan-ai/ext-session-compaction": "0.3.0",
71
- "@felan-ai/ext-tasks": "0.5.1",
72
- "@felan-ai/ext-web-access": "0.8.0"
49
+ "@felan-ai/agent-core": "0.11.0",
50
+ "@felan-ai/ext-background-bash": "0.9.0",
51
+ "@felan-ai/ext-ask-user": "0.7.0",
52
+ "@felan-ai/ext-codebase-memory": "0.6.0",
53
+ "@felan-ai/ext-browser": "0.10.0",
54
+ "@felan-ai/ext-codex": "0.8.0",
55
+ "@felan-ai/ext-context-view": "0.5.0",
56
+ "@felan-ai/ext-context": "0.8.0",
57
+ "@felan-ai/ext-insights": "0.6.0",
58
+ "@felan-ai/ext-felan-api": "0.6.0",
59
+ "@felan-ai/ext-markitdown": "0.7.0",
60
+ "@felan-ai/ext-mcp": "0.6.0",
61
+ "@felan-ai/ext-model-tools": "0.2.0",
62
+ "@felan-ai/ext-memory": "0.7.0",
63
+ "@felan-ai/ext-output-style": "0.7.0",
64
+ "@felan-ai/ext-powerline": "0.11.0",
65
+ "@felan-ai/ext-prewalk": "0.10.0",
66
+ "@felan-ai/ext-prompt-history": "0.5.0",
67
+ "@felan-ai/ext-session-title": "0.5.0",
68
+ "@felan-ai/ext-rtk-optimizer": "0.8.0",
69
+ "@felan-ai/ext-session-compaction": "0.4.0",
70
+ "@felan-ai/ext-tasks": "0.6.0",
71
+ "@felan-ai/ext-subagents": "0.10.0",
72
+ "@felan-ai/ext-web-access": "0.9.0"
73
73
  },
74
74
  "publishConfig": {
75
75
  "access": "public",