@neuvybe/jarvis 0.13.0 → 0.13.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/dist/index.js +2 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { createRequire as __cliCreateRequire } from 'node:module'; const require = __cliCreateRequire(import.meta.url);
|
|
2
3
|
var Nx=Object.create;var pa=Object.defineProperty;var jx=Object.getOwnPropertyDescriptor;var Dx=Object.getOwnPropertyNames;var Ux=Object.getPrototypeOf,Rx=Object.prototype.hasOwnProperty;var ee=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,n)=>(typeof require<"u"?require:e)[n]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var S=(t,e)=>()=>(t&&(e=t(t=0)),e);var O=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),We=(t,e)=>{for(var n in e)pa(t,n,{get:e[n],enumerable:!0})},Lx=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Dx(e))!Rx.call(t,r)&&r!==n&&pa(t,r,{get:()=>e[r],enumerable:!(i=jx(e,r))||i.enumerable});return t};var Ae=(t,e,n)=>(n=t!=null?Nx(Ux(t)):{},Lx(e||!t||!t.__esModule?pa(n,"default",{value:t,enumerable:!0}):n,t));function Fx(t){try{return JSON.stringify(t,(e,n)=>n instanceof Error?{name:n.name,message:n.message,stack:n.stack}:n)}catch{return"[unserializable meta]"}}var om,ma,R,sm=S(()=>{"use strict";om={debug:0,info:1,warn:2,error:3};ma=class{level;constructor(e="info"){this.level=e}setLevel(e){this.level=e}getLevel(){return this.level}debug(e,n){this.emit("debug",e,n)}info(e,n){this.emit("info",e,n)}warn(e,n){this.emit("warn",e,n)}error(e,n){this.emit("error",e,n)}emit(e,n,i){if(om[e]<om[this.level])return;let o=`[${new Date().toISOString()}] ${e.toUpperCase()}`,s=i!==void 0?`${o} ${n} ${Fx(i)}`:`${o} ${n}`;e==="error"?console.error(s):e==="warn"?console.warn(s):console.log(s)}},R=new ma});var am=S(()=>{"use strict"});var cm,ha=S(()=>{"use strict";cm="JARVIS_HOME"});function m(t,e,n){function i(a,c){if(a._zod||Object.defineProperty(a,"_zod",{value:{def:c,constr:s,traits:new Set},enumerable:!1}),a._zod.traits.has(t))return;a._zod.traits.add(t),e(a,c);let u=s.prototype,l=Object.keys(u);for(let d=0;d<l.length;d++){let f=l[d];f in a||(a[f]=u[f].bind(a))}}let r=n?.Parent??Object;class o extends r{}Object.defineProperty(o,"name",{value:t});function s(a){var c;let u=n?.Parent?new o:this;i(u,a),(c=u._zod).deferred??(c.deferred=[]);for(let l of u._zod.deferred)l();return u}return Object.defineProperty(s,"init",{value:i}),Object.defineProperty(s,Symbol.hasInstance,{value:a=>n?.Parent&&a instanceof n.Parent?!0:a?._zod?.traits?.has(t)}),Object.defineProperty(s,"name",{value:t}),s}function Y(t){return t&&Object.assign(Pt,t),Pt}var um,ga,va,Me,mt,Pt,zt=S(()=>{ga=Object.freeze({status:"aborted"});va=Symbol("zod_brand"),Me=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},mt=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}};(um=globalThis).__zod_globalConfig??(um.__zod_globalConfig={});Pt=globalThis.__zod_globalConfig});var y={};We(y,{BIGINT_FORMAT_RANGES:()=>Ea,Class:()=>$a,NUMBER_FORMAT_RANGES:()=>Ia,aborted:()=>_t,allowsEval:()=>xa,assert:()=>Bx,assertEqual:()=>Mx,assertIs:()=>Vx,assertNever:()=>Gx,assertNotEqual:()=>Zx,assignProp:()=>gt,base64ToUint8Array:()=>dm,base64urlToUint8Array:()=>cS,cached:()=>tr,captureStackTrace:()=>_i,cleanEnum:()=>aS,cleanRegex:()=>Kr,clone:()=>pe,cloneDef:()=>qx,createTransparentProxy:()=>Qx,defineLazy:()=>U,esc:()=>vi,escapeRegex:()=>Ne,explicitlyAborted:()=>Oa,extend:()=>rS,finalizeIssue:()=>me,floatSafeRemainder:()=>ya,getElementAtPath:()=>Jx,getEnumValues:()=>Hr,getLengthableOrigin:()=>Qr,getParsedType:()=>Yx,getSizableOrigin:()=>Yr,hexToUint8Array:()=>lS,isObject:()=>Ct,isPlainObject:()=>vt,issue:()=>rr,joinValues:()=>h,jsonStringifyReplacer:()=>er,merge:()=>iS,mergeDefs:()=>it,normalizeParams:()=>b,nullish:()=>ht,numKeys:()=>Xx,objectClone:()=>Wx,omit:()=>tS,optionalKeys:()=>ka,parsedType:()=>$,partial:()=>oS,pick:()=>eS,prefixIssues:()=>ye,primitiveTypes:()=>wa,promiseAllObject:()=>Hx,propertyKeyTypes:()=>Xr,randomString:()=>Kx,required:()=>sS,safeExtend:()=>nS,shallowClone:()=>Sa,slugify:()=>ba,stringifyPrimitive:()=>_,uint8ArrayToBase64:()=>fm,uint8ArrayToBase64url:()=>uS,uint8ArrayToHex:()=>dS,unwrapMessage:()=>Jr});function Mx(t){return t}function Zx(t){return t}function Vx(t){}function Gx(t){throw new Error("Unexpected value in exhaustive check")}function Bx(t){}function Hr(t){let e=Object.values(t).filter(i=>typeof i=="number");return Object.entries(t).filter(([i,r])=>e.indexOf(+i)===-1).map(([i,r])=>r)}function h(t,e="|"){return t.map(n=>_(n)).join(e)}function er(t,e){return typeof e=="bigint"?e.toString():e}function tr(t){return{get value(){{let n=t();return Object.defineProperty(this,"value",{value:n}),n}throw new Error("cached value already set")}}}function ht(t){return t==null}function Kr(t){let e=t.startsWith("^")?1:0,n=t.endsWith("$")?t.length-1:t.length;return t.slice(e,n)}function ya(t,e){let n=t/e,i=Math.round(n),r=Number.EPSILON*Math.max(Math.abs(n),1);return Math.abs(n-i)<r?0:n-i}function U(t,e,n){let i;Object.defineProperty(t,e,{get(){if(i!==lm)return i===void 0&&(i=lm,i=n()),i},set(r){Object.defineProperty(t,e,{value:r})},configurable:!0})}function Wx(t){return Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t))}function gt(t,e,n){Object.defineProperty(t,e,{value:n,writable:!0,enumerable:!0,configurable:!0})}function it(...t){let e={};for(let n of t){let i=Object.getOwnPropertyDescriptors(n);Object.assign(e,i)}return Object.defineProperties({},e)}function qx(t){return it(t._zod.def)}function Jx(t,e){return e?e.reduce((n,i)=>n?.[i],t):t}function Hx(t){let e=Object.keys(t),n=e.map(i=>t[i]);return Promise.all(n).then(i=>{let r={};for(let o=0;o<e.length;o++)r[e[o]]=i[o];return r})}function Kx(t=10){let e="abcdefghijklmnopqrstuvwxyz",n="";for(let i=0;i<t;i++)n+=e[Math.floor(Math.random()*e.length)];return n}function vi(t){return JSON.stringify(t)}function ba(t){return t.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function Ct(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function vt(t){if(Ct(t)===!1)return!1;let e=t.constructor;if(e===void 0||typeof e!="function")return!0;let n=e.prototype;return!(Ct(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function Sa(t){return vt(t)?{...t}:Array.isArray(t)?[...t]:t instanceof Map?new Map(t):t instanceof Set?new Set(t):t}function Xx(t){let e=0;for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&e++;return e}function Ne(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function pe(t,e,n){let i=new t._zod.constr(e??t._zod.def);return(!e||n?.parent)&&(i._zod.parent=t),i}function b(t){let e=t;if(!e)return{};if(typeof e=="string")return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function Qx(t){let e;return new Proxy({},{get(n,i,r){return e??(e=t()),Reflect.get(e,i,r)},set(n,i,r,o){return e??(e=t()),Reflect.set(e,i,r,o)},has(n,i){return e??(e=t()),Reflect.has(e,i)},deleteProperty(n,i){return e??(e=t()),Reflect.deleteProperty(e,i)},ownKeys(n){return e??(e=t()),Reflect.ownKeys(e)},getOwnPropertyDescriptor(n,i){return e??(e=t()),Reflect.getOwnPropertyDescriptor(e,i)},defineProperty(n,i,r){return e??(e=t()),Reflect.defineProperty(e,i,r)}})}function _(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function ka(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}function eS(t,e){let n=t._zod.def,i=n.checks;if(i&&i.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let o=it(t._zod.def,{get shape(){let s={};for(let a in e){if(!(a in n.shape))throw new Error(`Unrecognized key: "${a}"`);e[a]&&(s[a]=n.shape[a])}return gt(this,"shape",s),s},checks:[]});return pe(t,o)}function tS(t,e){let n=t._zod.def,i=n.checks;if(i&&i.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let o=it(t._zod.def,{get shape(){let s={...t._zod.def.shape};for(let a in e){if(!(a in n.shape))throw new Error(`Unrecognized key: "${a}"`);e[a]&&delete s[a]}return gt(this,"shape",s),s},checks:[]});return pe(t,o)}function rS(t,e){if(!vt(e))throw new Error("Invalid input to extend: expected a plain object");let n=t._zod.def.checks;if(n&&n.length>0){let o=t._zod.def.shape;for(let s in e)if(Object.getOwnPropertyDescriptor(o,s)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let r=it(t._zod.def,{get shape(){let o={...t._zod.def.shape,...e};return gt(this,"shape",o),o}});return pe(t,r)}function nS(t,e){if(!vt(e))throw new Error("Invalid input to safeExtend: expected a plain object");let n=it(t._zod.def,{get shape(){let i={...t._zod.def.shape,...e};return gt(this,"shape",i),i}});return pe(t,n)}function iS(t,e){if(t._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let n=it(t._zod.def,{get shape(){let i={...t._zod.def.shape,...e._zod.def.shape};return gt(this,"shape",i),i},get catchall(){return e._zod.def.catchall},checks:e._zod.def.checks??[]});return pe(t,n)}function oS(t,e,n){let r=e._zod.def.checks;if(r&&r.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let s=it(e._zod.def,{get shape(){let a=e._zod.def.shape,c={...a};if(n)for(let u in n){if(!(u in a))throw new Error(`Unrecognized key: "${u}"`);n[u]&&(c[u]=t?new t({type:"optional",innerType:a[u]}):a[u])}else for(let u in a)c[u]=t?new t({type:"optional",innerType:a[u]}):a[u];return gt(this,"shape",c),c},checks:[]});return pe(e,s)}function sS(t,e,n){let i=it(e._zod.def,{get shape(){let r=e._zod.def.shape,o={...r};if(n)for(let s in n){if(!(s in o))throw new Error(`Unrecognized key: "${s}"`);n[s]&&(o[s]=new t({type:"nonoptional",innerType:r[s]}))}else for(let s in r)o[s]=new t({type:"nonoptional",innerType:r[s]});return gt(this,"shape",o),o}});return pe(e,i)}function _t(t,e=0){if(t.aborted===!0)return!0;for(let n=e;n<t.issues.length;n++)if(t.issues[n]?.continue!==!0)return!0;return!1}function Oa(t,e=0){if(t.aborted===!0)return!0;for(let n=e;n<t.issues.length;n++)if(t.issues[n]?.continue===!1)return!0;return!1}function ye(t,e){return e.map(n=>{var i;return(i=n).path??(i.path=[]),n.path.unshift(t),n})}function Jr(t){return typeof t=="string"?t:t?.message}function me(t,e,n){let i=t.message?t.message:Jr(t.inst?._zod.def?.error?.(t))??Jr(e?.error?.(t))??Jr(n.customError?.(t))??Jr(n.localeError?.(t))??"Invalid input",{inst:r,continue:o,input:s,...a}=t;return a.path??(a.path=[]),a.message=i,e?.reportInput&&(a.input=s),a}function Yr(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function Qr(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function $(t){let e=typeof t;switch(e){case"number":return Number.isNaN(t)?"nan":"number";case"object":{if(t===null)return"null";if(Array.isArray(t))return"array";let n=t;if(n&&Object.getPrototypeOf(n)!==Object.prototype&&"constructor"in n&&n.constructor)return n.constructor.name}}return e}function rr(...t){let[e,n,i]=t;return typeof e=="string"?{message:e,code:"custom",input:n,inst:i}:{...e}}function aS(t){return Object.entries(t).filter(([e,n])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}function dm(t){let e=atob(t),n=new Uint8Array(e.length);for(let i=0;i<e.length;i++)n[i]=e.charCodeAt(i);return n}function fm(t){let e="";for(let n=0;n<t.length;n++)e+=String.fromCharCode(t[n]);return btoa(e)}function cS(t){let e=t.replace(/-/g,"+").replace(/_/g,"/"),n="=".repeat((4-e.length%4)%4);return dm(e+n)}function uS(t){return fm(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function lS(t){let e=t.replace(/^0x/,"");if(e.length%2!==0)throw new Error("Invalid hex string length");let n=new Uint8Array(e.length/2);for(let i=0;i<e.length;i+=2)n[i/2]=Number.parseInt(e.slice(i,i+2),16);return n}function dS(t){return Array.from(t).map(e=>e.toString(16).padStart(2,"0")).join("")}var lm,_i,xa,Yx,Xr,wa,Ia,Ea,$a,T=S(()=>{zt();lm=Symbol("evaluating");_i="captureStackTrace"in Error?Error.captureStackTrace:(...t)=>{};xa=tr(()=>{if(Pt.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});Yx=t=>{let e=typeof t;switch(e){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(t)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(t)?"array":t===null?"null":t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?"promise":typeof Map<"u"&&t instanceof Map?"map":typeof Set<"u"&&t instanceof Set?"set":typeof Date<"u"&&t instanceof Date?"date":typeof File<"u"&&t instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${e}`)}},Xr=new Set(["string","number","symbol"]),wa=new Set(["string","number","bigint","boolean","symbol","undefined"]);Ia={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},Ea={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};$a=class{constructor(...e){}}});function tn(t,e=n=>n.message){let n={},i=[];for(let r of t.issues)r.path.length>0?(n[r.path[0]]=n[r.path[0]]||[],n[r.path[0]].push(e(r))):i.push(e(r));return{formErrors:i,fieldErrors:n}}function rn(t,e=n=>n.message){let n={_errors:[]},i=(r,o=[])=>{for(let s of r.issues)if(s.code==="invalid_union"&&s.errors.length)s.errors.map(a=>i({issues:a},[...o,...s.path]));else if(s.code==="invalid_key")i({issues:s.issues},[...o,...s.path]);else if(s.code==="invalid_element")i({issues:s.issues},[...o,...s.path]);else{let a=[...o,...s.path];if(a.length===0)n._errors.push(e(s));else{let c=n,u=0;for(;u<a.length;){let l=a[u];u===a.length-1?(c[l]=c[l]||{_errors:[]},c[l]._errors.push(e(s))):c[l]=c[l]||{_errors:[]},c=c[l],u++}}}};return i(t),n}function Ta(t,e=n=>n.message){let n={errors:[]},i=(r,o=[])=>{var s,a;for(let c of r.issues)if(c.code==="invalid_union"&&c.errors.length)c.errors.map(u=>i({issues:u},[...o,...c.path]));else if(c.code==="invalid_key")i({issues:c.issues},[...o,...c.path]);else if(c.code==="invalid_element")i({issues:c.issues},[...o,...c.path]);else{let u=[...o,...c.path];if(u.length===0){n.errors.push(e(c));continue}let l=n,d=0;for(;d<u.length;){let f=u[d],p=d===u.length-1;typeof f=="string"?(l.properties??(l.properties={}),(s=l.properties)[f]??(s[f]={errors:[]}),l=l.properties[f]):(l.items??(l.items=[]),(a=l.items)[f]??(a[f]={errors:[]}),l=l.items[f]),p&&l.errors.push(e(c)),d++}}};return i(t),n}function mm(t){let e=[],n=t.map(i=>typeof i=="object"?i.key:i);for(let i of n)typeof i=="number"?e.push(`[${i}]`):typeof i=="symbol"?e.push(`[${JSON.stringify(String(i))}]`):/[^\w$]/.test(i)?e.push(`[${JSON.stringify(i)}]`):(e.length&&e.push("."),e.push(i));return e.join("")}function Pa(t){let e=[],n=[...t.issues].sort((i,r)=>(i.path??[]).length-(r.path??[]).length);for(let i of n)e.push(`\u2716 ${i.message}`),i.path?.length&&e.push(` \u2192 at ${mm(i.path)}`);return e.join(`
|
|
3
4
|
`)}var pm,en,be,za=S(()=>{zt();T();pm=(t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:!1}),Object.defineProperty(t,"issues",{value:e,enumerable:!1}),t.message=JSON.stringify(e,er,2),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},en=m("$ZodError",pm),be=m("$ZodError",pm,{Parent:Error})});var nr,$i,ir,yi,or,Ca,sr,Aa,bi,pS,xi,mS,Si,hS,wi,gS,ki,vS,Ii,_S,Ei,$S,Oi,yS,Na=S(()=>{zt();za();T();nr=t=>(e,n,i,r)=>{let o=i?{...i,async:!1}:{async:!1},s=e._zod.run({value:n,issues:[]},o);if(s instanceof Promise)throw new Me;if(s.issues.length){let a=new(r?.Err??t)(s.issues.map(c=>me(c,o,Y())));throw _i(a,r?.callee),a}return s.value},$i=nr(be),ir=t=>async(e,n,i,r)=>{let o=i?{...i,async:!0}:{async:!0},s=e._zod.run({value:n,issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){let a=new(r?.Err??t)(s.issues.map(c=>me(c,o,Y())));throw _i(a,r?.callee),a}return s.value},yi=ir(be),or=t=>(e,n,i)=>{let r=i?{...i,async:!1}:{async:!1},o=e._zod.run({value:n,issues:[]},r);if(o instanceof Promise)throw new Me;return o.issues.length?{success:!1,error:new(t??en)(o.issues.map(s=>me(s,r,Y())))}:{success:!0,data:o.value}},Ca=or(be),sr=t=>async(e,n,i)=>{let r=i?{...i,async:!0}:{async:!0},o=e._zod.run({value:n,issues:[]},r);return o instanceof Promise&&(o=await o),o.issues.length?{success:!1,error:new t(o.issues.map(s=>me(s,r,Y())))}:{success:!0,data:o.value}},Aa=sr(be),bi=t=>(e,n,i)=>{let r=i?{...i,direction:"backward"}:{direction:"backward"};return nr(t)(e,n,r)},pS=bi(be),xi=t=>(e,n,i)=>nr(t)(e,n,i),mS=xi(be),Si=t=>async(e,n,i)=>{let r=i?{...i,direction:"backward"}:{direction:"backward"};return ir(t)(e,n,r)},hS=Si(be),wi=t=>async(e,n,i)=>ir(t)(e,n,i),gS=wi(be),ki=t=>(e,n,i)=>{let r=i?{...i,direction:"backward"}:{direction:"backward"};return or(t)(e,n,r)},vS=ki(be),Ii=t=>(e,n,i)=>or(t)(e,n,i),_S=Ii(be),Ei=t=>async(e,n,i)=>{let r=i?{...i,direction:"backward"}:{direction:"backward"};return sr(t)(e,n,r)},$S=Ei(be),Oi=t=>async(e,n,i)=>sr(t)(e,n,i),yS=Oi(be)});var ke={};We(ke,{base64:()=>Ka,base64url:()=>Ti,bigint:()=>nc,boolean:()=>oc,browserEmail:()=>OS,cidrv4:()=>Ja,cidrv6:()=>Ha,cuid:()=>ja,cuid2:()=>Da,date:()=>Qa,datetime:()=>tc,domain:()=>zS,duration:()=>Ma,e164:()=>Ya,email:()=>Va,emoji:()=>Ga,extendedDuration:()=>bS,guid:()=>Za,hex:()=>CS,hostname:()=>PS,html5Email:()=>kS,httpProtocol:()=>Xa,idnEmail:()=>ES,integer:()=>ic,ipv4:()=>Ba,ipv6:()=>Wa,ksuid:()=>La,lowercase:()=>cc,mac:()=>qa,md5_base64:()=>NS,md5_base64url:()=>jS,md5_hex:()=>AS,nanoid:()=>Fa,null:()=>sc,number:()=>Pi,rfc5322Email:()=>IS,sha1_base64:()=>US,sha1_base64url:()=>RS,sha1_hex:()=>DS,sha256_base64:()=>FS,sha256_base64url:()=>MS,sha256_hex:()=>LS,sha384_base64:()=>VS,sha384_base64url:()=>GS,sha384_hex:()=>ZS,sha512_base64:()=>WS,sha512_base64url:()=>qS,sha512_hex:()=>BS,string:()=>rc,time:()=>ec,ulid:()=>Ua,undefined:()=>ac,unicodeEmail:()=>hm,uppercase:()=>uc,uuid:()=>At,uuid4:()=>xS,uuid6:()=>SS,uuid7:()=>wS,xid:()=>Ra});function Ga(){return new RegExp(TS,"u")}function vm(t){let e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof t.precision=="number"?t.precision===-1?`${e}`:t.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${t.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function ec(t){return new RegExp(`^${vm(t)}$`)}function tc(t){let e=vm({precision:t.precision}),n=["Z"];t.local&&n.push(""),t.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let i=`${e}(?:${n.join("|")})`;return new RegExp(`^${gm}T(?:${i})$`)}function nn(t,e){return new RegExp(`^[A-Za-z0-9+/]{${t}}${e}$`)}function on(t){return new RegExp(`^[A-Za-z0-9_-]{${t}}$`)}var ja,Da,Ua,Ra,La,Fa,Ma,bS,Za,At,xS,SS,wS,Va,kS,IS,hm,ES,OS,TS,Ba,Wa,qa,Ja,Ha,Ka,Ti,PS,zS,Xa,Ya,gm,Qa,rc,nc,ic,Pi,oc,sc,ac,cc,uc,CS,AS,NS,jS,DS,US,RS,LS,FS,MS,ZS,VS,GS,BS,WS,qS,zi=S(()=>{T();ja=/^[cC][0-9a-z]{6,}$/,Da=/^[0-9a-z]+$/,Ua=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Ra=/^[0-9a-vA-V]{20}$/,La=/^[A-Za-z0-9]{27}$/,Fa=/^[a-zA-Z0-9_-]{21}$/,Ma=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,bS=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Za=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,At=t=>t?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${t}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,xS=At(4),SS=At(6),wS=At(7),Va=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,kS=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,IS=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,hm=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,ES=hm,OS=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,TS="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";Ba=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Wa=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,qa=t=>{let e=Ne(t??":");return new RegExp(`^(?:[0-9A-F]{2}${e}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${e}){5}[0-9a-f]{2}$`)},Ja=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Ha=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Ka=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Ti=/^[A-Za-z0-9_-]*$/,PS=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,zS=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,Xa=/^https?$/,Ya=/^\+[1-9]\d{6,14}$/,gm="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",Qa=new RegExp(`^${gm}$`);rc=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)},nc=/^-?\d+n?$/,ic=/^-?\d+$/,Pi=/^-?\d+(?:\.\d+)?$/,oc=/^(?:true|false)$/i,sc=/^null$/i,ac=/^undefined$/i,cc=/^[^A-Z]*$/,uc=/^[^a-z]*$/,CS=/^[0-9a-fA-F]*$/;AS=/^[0-9a-fA-F]{32}$/,NS=nn(22,"=="),jS=on(22),DS=/^[0-9a-fA-F]{40}$/,US=nn(27,"="),RS=on(27),LS=/^[0-9a-fA-F]{64}$/,FS=nn(43,"="),MS=on(43),ZS=/^[0-9a-fA-F]{96}$/,VS=nn(64,""),GS=on(64),BS=/^[0-9a-fA-F]{128}$/,WS=nn(86,"=="),qS=on(86)});function _m(t,e,n){t.issues.length&&e.issues.push(...ye(n,t.issues))}var B,$m,Ci,Ai,lc,dc,fc,pc,mc,hc,gc,vc,_c,ar,$c,yc,bc,xc,Sc,wc,kc,Ic,Ec,Ni=S(()=>{zt();zi();T();B=m("$ZodCheck",(t,e)=>{var n;t._zod??(t._zod={}),t._zod.def=e,(n=t._zod).onattach??(n.onattach=[])}),$m={number:"number",bigint:"bigint",object:"date"},Ci=m("$ZodCheckLessThan",(t,e)=>{B.init(t,e);let n=$m[typeof e.value];t._zod.onattach.push(i=>{let r=i._zod.bag,o=(e.inclusive?r.maximum:r.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value<o&&(e.inclusive?r.maximum=e.value:r.exclusiveMaximum=e.value)}),t._zod.check=i=>{(e.inclusive?i.value<=e.value:i.value<e.value)||i.issues.push({origin:n,code:"too_big",maximum:typeof e.value=="object"?e.value.getTime():e.value,input:i.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),Ai=m("$ZodCheckGreaterThan",(t,e)=>{B.init(t,e);let n=$m[typeof e.value];t._zod.onattach.push(i=>{let r=i._zod.bag,o=(e.inclusive?r.minimum:r.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>o&&(e.inclusive?r.minimum=e.value:r.exclusiveMinimum=e.value)}),t._zod.check=i=>{(e.inclusive?i.value>=e.value:i.value>e.value)||i.issues.push({origin:n,code:"too_small",minimum:typeof e.value=="object"?e.value.getTime():e.value,input:i.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),lc=m("$ZodCheckMultipleOf",(t,e)=>{B.init(t,e),t._zod.onattach.push(n=>{var i;(i=n._zod.bag).multipleOf??(i.multipleOf=e.value)}),t._zod.check=n=>{if(typeof n.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof n.value=="bigint"?n.value%e.value===BigInt(0):ya(n.value,e.value)===0)||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:e.value,input:n.value,inst:t,continue:!e.abort})}}),dc=m("$ZodCheckNumberFormat",(t,e)=>{B.init(t,e),e.format=e.format||"float64";let n=e.format?.includes("int"),i=n?"int":"number",[r,o]=Ia[e.format];t._zod.onattach.push(s=>{let a=s._zod.bag;a.format=e.format,a.minimum=r,a.maximum=o,n&&(a.pattern=ic)}),t._zod.check=s=>{let a=s.value;if(n){if(!Number.isInteger(a)){s.issues.push({expected:i,format:e.format,code:"invalid_type",continue:!1,input:a,inst:t});return}if(!Number.isSafeInteger(a)){a>0?s.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:i,inclusive:!0,continue:!e.abort}):s.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:i,inclusive:!0,continue:!e.abort});return}}a<r&&s.issues.push({origin:"number",input:a,code:"too_small",minimum:r,inclusive:!0,inst:t,continue:!e.abort}),a>o&&s.issues.push({origin:"number",input:a,code:"too_big",maximum:o,inclusive:!0,inst:t,continue:!e.abort})}}),fc=m("$ZodCheckBigIntFormat",(t,e)=>{B.init(t,e);let[n,i]=Ea[e.format];t._zod.onattach.push(r=>{let o=r._zod.bag;o.format=e.format,o.minimum=n,o.maximum=i}),t._zod.check=r=>{let o=r.value;o<n&&r.issues.push({origin:"bigint",input:o,code:"too_small",minimum:n,inclusive:!0,inst:t,continue:!e.abort}),o>i&&r.issues.push({origin:"bigint",input:o,code:"too_big",maximum:i,inclusive:!0,inst:t,continue:!e.abort})}}),pc=m("$ZodCheckMaxSize",(t,e)=>{var n;B.init(t,e),(n=t._zod.def).when??(n.when=i=>{let r=i.value;return!ht(r)&&r.size!==void 0}),t._zod.onattach.push(i=>{let r=i._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum<r&&(i._zod.bag.maximum=e.maximum)}),t._zod.check=i=>{let r=i.value;r.size<=e.maximum||i.issues.push({origin:Yr(r),code:"too_big",maximum:e.maximum,inclusive:!0,input:r,inst:t,continue:!e.abort})}}),mc=m("$ZodCheckMinSize",(t,e)=>{var n;B.init(t,e),(n=t._zod.def).when??(n.when=i=>{let r=i.value;return!ht(r)&&r.size!==void 0}),t._zod.onattach.push(i=>{let r=i._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>r&&(i._zod.bag.minimum=e.minimum)}),t._zod.check=i=>{let r=i.value;r.size>=e.minimum||i.issues.push({origin:Yr(r),code:"too_small",minimum:e.minimum,inclusive:!0,input:r,inst:t,continue:!e.abort})}}),hc=m("$ZodCheckSizeEquals",(t,e)=>{var n;B.init(t,e),(n=t._zod.def).when??(n.when=i=>{let r=i.value;return!ht(r)&&r.size!==void 0}),t._zod.onattach.push(i=>{let r=i._zod.bag;r.minimum=e.size,r.maximum=e.size,r.size=e.size}),t._zod.check=i=>{let r=i.value,o=r.size;if(o===e.size)return;let s=o>e.size;i.issues.push({origin:Yr(r),...s?{code:"too_big",maximum:e.size}:{code:"too_small",minimum:e.size},inclusive:!0,exact:!0,input:i.value,inst:t,continue:!e.abort})}}),gc=m("$ZodCheckMaxLength",(t,e)=>{var n;B.init(t,e),(n=t._zod.def).when??(n.when=i=>{let r=i.value;return!ht(r)&&r.length!==void 0}),t._zod.onattach.push(i=>{let r=i._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum<r&&(i._zod.bag.maximum=e.maximum)}),t._zod.check=i=>{let r=i.value;if(r.length<=e.maximum)return;let s=Qr(r);i.issues.push({origin:s,code:"too_big",maximum:e.maximum,inclusive:!0,input:r,inst:t,continue:!e.abort})}}),vc=m("$ZodCheckMinLength",(t,e)=>{var n;B.init(t,e),(n=t._zod.def).when??(n.when=i=>{let r=i.value;return!ht(r)&&r.length!==void 0}),t._zod.onattach.push(i=>{let r=i._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>r&&(i._zod.bag.minimum=e.minimum)}),t._zod.check=i=>{let r=i.value;if(r.length>=e.minimum)return;let s=Qr(r);i.issues.push({origin:s,code:"too_small",minimum:e.minimum,inclusive:!0,input:r,inst:t,continue:!e.abort})}}),_c=m("$ZodCheckLengthEquals",(t,e)=>{var n;B.init(t,e),(n=t._zod.def).when??(n.when=i=>{let r=i.value;return!ht(r)&&r.length!==void 0}),t._zod.onattach.push(i=>{let r=i._zod.bag;r.minimum=e.length,r.maximum=e.length,r.length=e.length}),t._zod.check=i=>{let r=i.value,o=r.length;if(o===e.length)return;let s=Qr(r),a=o>e.length;i.issues.push({origin:s,...a?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:i.value,inst:t,continue:!e.abort})}}),ar=m("$ZodCheckStringFormat",(t,e)=>{var n,i;B.init(t,e),t._zod.onattach.push(r=>{let o=r._zod.bag;o.format=e.format,e.pattern&&(o.patterns??(o.patterns=new Set),o.patterns.add(e.pattern))}),e.pattern?(n=t._zod).check??(n.check=r=>{e.pattern.lastIndex=0,!e.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:e.format,input:r.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort})}):(i=t._zod).check??(i.check=()=>{})}),$c=m("$ZodCheckRegex",(t,e)=>{ar.init(t,e),t._zod.check=n=>{e.pattern.lastIndex=0,!e.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:e.pattern.toString(),inst:t,continue:!e.abort})}}),yc=m("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=cc),ar.init(t,e)}),bc=m("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=uc),ar.init(t,e)}),xc=m("$ZodCheckIncludes",(t,e)=>{B.init(t,e);let n=Ne(e.includes),i=new RegExp(typeof e.position=="number"?`^.{${e.position}}${n}`:n);e.pattern=i,t._zod.onattach.push(r=>{let o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(i)}),t._zod.check=r=>{r.value.includes(e.includes,e.position)||r.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:r.value,inst:t,continue:!e.abort})}}),Sc=m("$ZodCheckStartsWith",(t,e)=>{B.init(t,e);let n=new RegExp(`^${Ne(e.prefix)}.*`);e.pattern??(e.pattern=n),t._zod.onattach.push(i=>{let r=i._zod.bag;r.patterns??(r.patterns=new Set),r.patterns.add(n)}),t._zod.check=i=>{i.value.startsWith(e.prefix)||i.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:i.value,inst:t,continue:!e.abort})}}),wc=m("$ZodCheckEndsWith",(t,e)=>{B.init(t,e);let n=new RegExp(`.*${Ne(e.suffix)}$`);e.pattern??(e.pattern=n),t._zod.onattach.push(i=>{let r=i._zod.bag;r.patterns??(r.patterns=new Set),r.patterns.add(n)}),t._zod.check=i=>{i.value.endsWith(e.suffix)||i.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:i.value,inst:t,continue:!e.abort})}});kc=m("$ZodCheckProperty",(t,e)=>{B.init(t,e),t._zod.check=n=>{let i=e.schema._zod.run({value:n.value[e.property],issues:[]},{});if(i instanceof Promise)return i.then(r=>_m(r,n,e.property));_m(i,n,e.property)}}),Ic=m("$ZodCheckMimeType",(t,e)=>{B.init(t,e);let n=new Set(e.mime);t._zod.onattach.push(i=>{i._zod.bag.mime=e.mime}),t._zod.check=i=>{n.has(i.value.type)||i.issues.push({code:"invalid_value",values:e.mime,input:i.value.type,inst:t,continue:!e.abort})}}),Ec=m("$ZodCheckOverwrite",(t,e)=>{B.init(t,e),t._zod.check=n=>{n.value=e.tx(n.value)}})});var sn,Oc=S(()=>{sn=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let i=e.split(`
|
|
4
5
|
`).filter(s=>s),r=Math.min(...i.map(s=>s.length-s.trimStart().length)),o=i.map(s=>s.slice(r)).map(s=>" ".repeat(this.indent*2)+s);for(let s of o)this.content.push(s)}compile(){let e=Function,n=this?.args,r=[...(this?.content??[""]).map(o=>` ${o}`)];return new e(...n,r.join(`
|
|
@@ -217,7 +218,7 @@ ${c}${s}
|
|
|
217
218
|
${a}`:""}`}default:{let s=e?`${v("cyan",D)} `:"",a=e?v("cyan",tt):"";return`${n}${s}${r}
|
|
218
219
|
${a}
|
|
219
220
|
`}}}}).prompt();Ve();var g1={brain:["text"],voice:["stt","tts"],memory:["embedding"]},_x=["brain","voice","memory"],Yp="brain",v1=["text","stt","tts","embedding"];function _1(t){return t==="text"}function $x(t){let e=new Set;for(let n of t)for(let i of g1[n])e.add(i);return v1.filter(n=>e.has(n))}function yx(t){let e=["brain"],n=t.routes;return(n?.stt||n?.tts)&&e.push("voice"),n?.embedding&&e.push("memory"),e}function bx(t,e){if(e==="valid")return[];let n=_1(t);return e==="invalid"?n?["retry","change"]:["retry","change","skip"]:n?["save","retry","change"]:["save","retry","change","skip"]}function xx(t){let e={},n={};for(let r of t.routes){e[r.capability]={provider:r.provider,model:r.model};let o=t.keys.get(r.provider);o!==void 0&&o.length>0&&(n[r.provider]=o)}let i={version:t.existing.version,defaults:{logLevel:t.logLevel,modality:t.modality},upgrade:{auto:t.existing.upgrade.auto}};return Object.keys(e).length>0&&(i.routes=e),Object.keys(n).length>0&&(i.secrets=n),i}function Sx(t,e){return!!t.isTTY&&!!e.isTTY}var mi=class extends Error{},wx={save:{label:"save anyway",hint:"keep this key; verify later with jarvis doctor"},retry:{label:"re-enter the key"},change:{label:"choose a different provider"},skip:{label:"skip this capability",hint:"optional"}},ua=class{config;probe;io;stdin;stdout;constructor(e){this.config=e.config,this.probe=e.probe,this.io=e.io??ae,this.stdin=e.stdin??process.stdin,this.stdout=e.stdout??process.stdout}async run(){if(!Sx(this.stdin,this.stdout))return this.printHeadlessGuidance(),1;try{return await this.wizard()}catch(e){if(e instanceof mi)return dx("no changes written."),130;throw e}}loadExisting(){try{return{config:this.config.resolved(),corrupt:!1}}catch{return{config:Ft.parse({}),corrupt:!0}}}async wizard(){let{config:e,corrupt:n}=this.loadExisting(),i=!n&&!!(e.routes??e.secrets);fx(z.bold("jarvis init")),n&&Pe.warn("the existing config.json is invalid; init will replace it with a fresh config."),Xp(`Writes ${z.accent(je.resolve("config.json"))} (owner-only).`+(i?`
|
|
220
|
-
A config already exists - values are prefilled; edit or keep them.`:""),"setup");let r=await this.pickCapabilities(e),o=new Map,s=[];for(let d of $x(r)){let f=await this.configureCapability(d,e,o);f&&s.push(f)}let a=this.ensure(await pi({message:"Default modality",options:[{value:"voice",label:"voice",hint:"speak and listen when available"},{value:"text",label:"text",hint:"text-only"}],initialValue:e.defaults.modality})),c=this.ensure(await pi({message:"Log level",options:["debug","info","warn","error"].map(d=>({value:d,label:d})),initialValue:e.defaults.logLevel}));if(this.review(s,o,a,c),!this.ensure(await ca({message:"Write this configuration?"})))throw new mi;return this.config.write(xx({existing:e,routes:s,keys:o,modality:a,logLevel:c})),Pe.success(`wrote ${je.resolve("config.json")}`),await ca({message:"Start Jarvis now?",initialValue:!1})===!0&&Pe.info("starting is not wired yet in v0.1 - run `jarvis` to begin a session."),px(z.ok("done.")),0}async pickCapabilities(e){let n=this.ensure(await mx({message:"Which capabilities do you want to set up?",options:[{value:"brain",label:"Brain (text)",hint:"required - the reasoning model"},{value:"voice",label:"Voice (speech in + out)",hint:"optional"},{value:"memory",label:"Memory (embeddings)",hint:"optional"}],initialValues:yx(e),required:!1}));n.includes(Yp)||Pe.warn("Brain (text) is required; keeping it selected.");let i=new Set(n);return i.add(Yp),_x.filter(r=>i.has(r))}async configureCapability(e,n,i){let r=this.probe.providersFor(e);if(r.length===0)return Pe.warn(`no providers available for ${e}; skipping.`),null;for(;;){let o=await this.pickProvider(e,r,n),s=await this.pickModel(e,o,n);if(i.has(o))return{capability:e,provider:o,model:s};let a=await this.resolveKey(e,o,s,n,i);if(a!=="change-provider")return a}}async resolveKey(e,n,i,r,o){let s=await this.firstKey(n,r);for(;;){let a=await this.validateKey(n,s);if(a==="valid")return o.set(n,s),{capability:e,provider:n,model:i};let c=await this.pickAfterFailure(e,a);if(c==="save")return o.set(n,s),{capability:e,provider:n,model:i};if(c==="skip")return Pe.info(`skipped ${e} (optional).`),null;if(c==="change")return"change-provider";s=await this.promptPassword(n)}}async pickProvider(e,n,i){let r=i.routes?.[e]?.provider;return this.ensure(await pi({message:`${e} provider`,options:n.map(o=>({value:o,label:o})),initialValue:r&&n.includes(r)?r:void 0}))}async pickModel(e,n,i){let r=i.routes?.[e],o=r?.provider===n?r.model:this.probe.defaultModel(n,e)??"";return this.ensure(await vx({message:`${e} model`,initialValue:o,validate:s=>s?.trim()?void 0:"a model is required"}))}async firstKey(e,n){let i=n.secrets?.[e];return i&&this.ensure(await ca({message:`Reuse the saved key for ${e}?`,initialValue:!0}))?i:this.promptPassword(e)}async promptPassword(e){return this.ensure(await hx({message:`${e} API key`,validate:
|
|
221
|
+
A config already exists - values are prefilled; edit or keep them.`:""),"setup");let r=await this.pickCapabilities(e),o=new Map,s=[];for(let d of $x(r)){let f=await this.configureCapability(d,e,o);f&&s.push(f)}let a=this.ensure(await pi({message:"Default modality",options:[{value:"voice",label:"voice",hint:"speak and listen when available"},{value:"text",label:"text",hint:"text-only"}],initialValue:e.defaults.modality})),c=this.ensure(await pi({message:"Log level",options:["debug","info","warn","error"].map(d=>({value:d,label:d})),initialValue:e.defaults.logLevel}));if(this.review(s,o,a,c),!this.ensure(await ca({message:"Write this configuration?"})))throw new mi;return this.config.write(xx({existing:e,routes:s,keys:o,modality:a,logLevel:c})),Pe.success(`wrote ${je.resolve("config.json")}`),await ca({message:"Start Jarvis now?",initialValue:!1})===!0&&Pe.info("starting is not wired yet in v0.1 - run `jarvis` to begin a session."),px(z.ok("done.")),0}async pickCapabilities(e){let n=this.ensure(await mx({message:"Which capabilities do you want to set up?",options:[{value:"brain",label:"Brain (text)",hint:"required - the reasoning model"},{value:"voice",label:"Voice (speech in + out)",hint:"optional"},{value:"memory",label:"Memory (embeddings)",hint:"optional"}],initialValues:yx(e),required:!1}));n.includes(Yp)||Pe.warn("Brain (text) is required; keeping it selected.");let i=new Set(n);return i.add(Yp),_x.filter(r=>i.has(r))}async configureCapability(e,n,i){let r=this.probe.providersFor(e);if(r.length===0)return Pe.warn(`no providers available for ${e}; skipping.`),null;for(;;){let o=await this.pickProvider(e,r,n),s=await this.pickModel(e,o,n);if(i.has(o))return{capability:e,provider:o,model:s};let a=await this.resolveKey(e,o,s,n,i);if(a!=="change-provider")return a}}async resolveKey(e,n,i,r,o){let s=await this.firstKey(n,r);for(;;){let a=await this.validateKey(n,s);if(a==="valid")return o.set(n,s),{capability:e,provider:n,model:i};let c=await this.pickAfterFailure(e,a);if(c==="save")return o.set(n,s),{capability:e,provider:n,model:i};if(c==="skip")return Pe.info(`skipped ${e} (optional).`),null;if(c==="change")return"change-provider";s=await this.promptPassword(n)}}async pickProvider(e,n,i){let r=i.routes?.[e]?.provider;return this.ensure(await pi({message:`${e} provider`,options:n.map(o=>({value:o,label:o})),initialValue:r&&n.includes(r)?r:void 0}))}async pickModel(e,n,i){let r=i.routes?.[e],o=r?.provider===n?r.model:this.probe.defaultModel(n,e)??"";return this.ensure(await vx({message:`${e} model`,initialValue:o,validate:s=>s?.trim()?void 0:"a model is required"}))}async firstKey(e,n){let i=n.secrets?.[e];return i&&this.ensure(await ca({message:`Reuse the saved key for ${e}?`,initialValue:!0}))?i.trim():this.promptPassword(e)}async promptPassword(e){return this.ensure(await hx({message:`${e} API key`,validate:i=>i?.trim()?void 0:"a key is required"})).trim()}async validateKey(e,n){let i=gx();i.start(`validating ${e} key...`);let r=await this.probe.probe(e,n),o=r.detail?` (${r.detail})`:"";return r.ok?i.stop(z.ok(`${e} key valid`)):r.status==="invalid"?i.stop(z.fail(`${e} key rejected${o}`)):i.stop(z.warn(`could not validate ${e}${o}`)),r.status}async pickAfterFailure(e,n){let i=bx(e,n);return this.ensure(await pi({message:`${e}: how do you want to proceed?`,options:i.map(r=>({value:r,label:wx[r].label,hint:wx[r].hint}))}))}review(e,n,i,r){let o=[];if(e.length===0)o.push("routes: none");else for(let s of e){let a=n.has(s.provider)?z.ok("key set"):z.warn("no key");o.push(`${s.capability}: ${s.provider}/${s.model} (${a})`)}o.push(`defaults: modality=${i}, logLevel=${r}`),Xp(o.join(`
|
|
221
222
|
`),"review (secrets redacted)")}printHeadlessGuidance(){this.io.err(["jarvis init needs an interactive terminal.","","On a headless or non-interactive host:"," - run `jarvis init` over an interactive SSH session, or"," - set secrets and defaults non-interactively, e.g.:"," jarvis config set secrets.anthropic <key>"," jarvis config set defaults.modality text"," - relocate the home with the JARVIS_HOME env var if needed.","","Note: configuring a provider route (provider + model together) is interactive","in v0.1 - use `jarvis init` for that. Verify any setup with: jarvis doctor"].join(`
|
|
222
223
|
`)+`
|
|
223
224
|
`)}ensure(e){if(ia(e))throw new mi;return e}};import{randomUUID as $1}from"node:crypto";var Qp=class{constructor(e,n,i=ae){this.session=e;this.reader=n;this.io=i}session;reader;io;prompt="you ";labelShown=!1;async run(){try{for await(let e of this.session.events())if(!await this.handle(e))break}finally{this.reader.close(),await this.session.close()}}async handle(e){switch(e.type){case"session.ready":return this.greet(),this.promptAndSend();case"turn.accepted":return this.labelShown=!1,!0;case"state":return e.state==="responding"&&this.showLabel(),!0;case"response.delta":return this.showLabel(),this.io.out(e.text),!0;case"response.done":return this.labelShown&&this.io.out(`
|