@hyperez/regna-code 0.2.3 → 0.2.4

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
- var g="regna",E="https://regnax.ai/v1";var f=["regna-basic","regna-pro","regna-max"],p={"regna-basic":"Regna Basic","regna-pro":"Regna Pro","regna-max":"Regna Max"},A=512*1024,R=24,_=200;function m(){let o=(process.env.REGNA_BASE_URL??"").trim(),e=o===""?E:o,r;try{r=new URL(e)}catch{return E}if(r.protocol!=="http:"&&r.protocol!=="https:")return E;let a=`${r.origin}${r.pathname}`.replace(/\/+$/,"");return/\/v\d+$/.test(a)?a:`${a}/v1`}function h(o){try{return/(^|\.)regnax\.ai$/i.test(new URL(o).hostname)}catch{return!1}}function v(o){let e=o.toLowerCase(),r=e==="default"||e==="current"||e==="auto",a=/qwq|qwen3|think|reason|max/.test(e),t=f.includes(e),i=parseInt((process.env.REGNA_CONTEXT_WINDOW??"").trim(),10),c=Number.isFinite(i)&&i>0?i:t?2e5:32768,l=t?32e3:8192;return{id:o,name:p[e]??(r?"Regna (active model)":`Regna \xB7 ${o}`),reasoning:a,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:c,maxTokens:l}}async function I(o,e){let r=new AbortController,a=setTimeout(()=>r.abort(),4e3);try{let t=await fetch(`${o}/models`,{headers:{Authorization:`Bearer ${e}`},signal:r.signal});if(!t.ok)return[];let i=await t.text();if(i.length>A)return[];let c;try{c=JSON.parse(i)}catch{return[]}let d=(Array.isArray(c.data)?c.data:[]).map(n=>n&&typeof n.id=="string"?n.id:"").filter(n=>n.length>0&&n.length<=_);return Array.from(new Set(d)).slice(0,R)}catch{return[]}finally{clearTimeout(a)}}async function y(o){let e=m(),r=(process.env.REGNA_API_KEY??"").trim(),a=(process.env.REGNA_EXPOSE_ALIASES??"").trim()==="1",t=r?await I(e,r):[],i=new Set,c=s=>{let u=(s??"").trim();u&&i.add(u.startsWith(`${g}/`)?u.slice(g.length+1):u)};c(process.env.REGNA_MODEL),c(process.env.REGNA_CODER_MODEL),c(process.env.REGNA_GENERAL_MODEL),a||(t=t.filter(s=>s==="default"||!s.includes("/")||i.has(s)));let l=h(e),d=f.filter(s=>t.includes(s)),n;if(l||d.length>0){n=l?[...f]:d.slice();for(let s of i)t.includes(s)&&!n.includes(s)&&n.push(s);!l&&n.length===0&&(n=["default"])}else t.includes("default")||t.unshift("default"),n=t;!t.some(s=>s!=="default")&&!l&&console.warn(`[regna] Model discovery failed or REGNA_API_KEY is unset. Set REGNA_API_KEY and run /reload. (base=${e})`),o.registerProvider(g,{name:"Regna",baseUrl:e,apiKey:"$REGNA_API_KEY",api:"openai-completions",models:n.map(v)})}export{y as default};
1
+ var u="regna",E="https://regnax.ai/v1";var f=["regna-basic","regna-pro","regna-max"],p={"regna-basic":"Regna Basic","regna-pro":"Regna Pro","regna-max":"Regna Max"},R={"regna-basic":2e5,"regna-pro":4e5,"regna-max":1e6},A={"regna-basic":8192,"regna-pro":16384,"regna-max":32768},_=512*1024,m=24,h=200;function v(){let o=(process.env.REGNA_BASE_URL??"").trim(),e=o===""?E:o,r;try{r=new URL(e)}catch{return E}if(r.protocol!=="http:"&&r.protocol!=="https:")return E;let i=`${r.origin}${r.pathname}`.replace(/\/+$/,"");return/\/v\d+$/.test(i)?i:`${i}/v1`}function I(o){try{return/(^|\.)regnax\.ai$/i.test(new URL(o).hostname)}catch{return!1}}function S(o){let e=o.toLowerCase(),r=e==="default"||e==="current"||e==="auto",i=/qwq|qwen3|think|reason|max/.test(e),n=f.includes(e),a=parseInt((process.env.REGNA_CONTEXT_WINDOW??"").trim(),10),c=Number.isFinite(a)&&a>0?a:R[e]??(n?2e5:32768),l=A[e]??(n?16384:8192);return{id:o,name:p[e]??(r?"Regna (active model)":`Regna \xB7 ${o}`),reasoning:i,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:c,maxTokens:l}}async function N(o,e){let r=new AbortController,i=setTimeout(()=>r.abort(),4e3);try{let n=await fetch(`${o}/models`,{headers:{Authorization:`Bearer ${e}`},signal:r.signal});if(!n.ok)return[];let a=await n.text();if(a.length>_)return[];let c;try{c=JSON.parse(a)}catch{return[]}let d=(Array.isArray(c.data)?c.data:[]).map(t=>t&&typeof t.id=="string"?t.id:"").filter(t=>t.length>0&&t.length<=h);return Array.from(new Set(d)).slice(0,m)}catch{return[]}finally{clearTimeout(i)}}async function M(o){let e=v(),r=(process.env.REGNA_API_KEY??"").trim(),i=(process.env.REGNA_EXPOSE_ALIASES??"").trim()==="1",n=r?await N(e,r):[],a=new Set,c=s=>{let g=(s??"").trim();g&&a.add(g.startsWith(`${u}/`)?g.slice(u.length+1):g)};c(process.env.REGNA_MODEL),c(process.env.REGNA_CODER_MODEL),c(process.env.REGNA_GENERAL_MODEL),i||(n=n.filter(s=>s==="default"||!s.includes("/")||a.has(s)));let l=I(e),d=f.filter(s=>n.includes(s)),t;if(l||d.length>0){t=l?[...f]:d.slice();for(let s of a)n.includes(s)&&!t.includes(s)&&t.push(s);!l&&t.length===0&&(t=["default"])}else n.includes("default")||n.unshift("default"),t=n;!n.some(s=>s!=="default")&&!l&&console.warn(`[regna] Model discovery failed or REGNA_API_KEY is unset. Set REGNA_API_KEY and run /reload. (base=${e})`),o.registerProvider(u,{name:"Regna",baseUrl:e,apiKey:"$REGNA_API_KEY",api:"openai-completions",models:t.map(S)})}export{M as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyperez/regna-code",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "description": "Regna Code. A terminal coding agent on Regna. Install with `npm i -g @hyperez/regna-code` and run `regna`. Works with the Regna cloud API and on-premise deployments.",
5
5
  "license": "PolyForm-Noncommercial-1.0.0",
6
6
  "private": false,