freddie 0.0.109 → 0.0.110

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "freddie",
3
- "version": "0.0.109",
3
+ "version": "0.0.110",
4
4
  "type": "module",
5
5
  "description": "Open JS agent harness built on pi-mono, floosie, xstate, and anentrypoint-design",
6
6
  "bin": {
@@ -32,7 +32,7 @@ function adapt(result) {
32
32
  // Mirror lib/named-chains.js BUILTIN — acptoapi resolves unknown names.
33
33
  const NAMED_CHAIN_NAMES = new Set(['fast', 'cheap', 'smart', 'reasoning', 'free', 'local', 'auto'])
34
34
 
35
- function buildModel({ provider, model, inputModel }) {
35
+ async function buildModel({ provider, model, inputModel }) {
36
36
  if (provider) return `${provider}/${model || DEFAULTS[provider] || ''}`.replace(/\/$/, '')
37
37
  if (model) return model
38
38
  if (inputModel) {
@@ -51,12 +51,14 @@ function buildModel({ provider, model, inputModel }) {
51
51
  const auto = typeof sdk.buildAutoChain === 'function' ? sdk.buildAutoChain(undefined) : []
52
52
  const keyed = Array.isArray(auto) ? auto.filter(l => { const p = l.model.split('/')[0]; const env = PROVIDER_KEYS[p]; return env && process.env[env] }) : []
53
53
  if (keyed.length) return keyed.map(l => l.model).join(', ')
54
+ // No local provider keys — delegate to acptoapi if reachable.
55
+ if (await bridgeReachable()) return process.env.FREDDIE_LLM_MODEL || 'auto'
54
56
  return null
55
57
  }
56
58
 
57
59
  export function resolveCallLLM({ provider, model } = {}) {
58
60
  return async (input) => {
59
- const m = buildModel({ provider, model, inputModel: input.model })
61
+ const m = await buildModel({ provider, model, inputModel: input.model })
60
62
  if (!m) {
61
63
  const status = typeof sdk.getStatus === 'function' ? sdk.getStatus().map(s => `${s.provider}(ok=${s.ok},fails=${s.failCount})`).join(', ') : ''
62
64
  throw new Error('no LLM backend reachable: set a provider API key or start acptoapi (http://127.0.0.1:4800/v1)' + (status ? ' | sampler: ' + status : ''))