@oracle-agent/oracle 0.24.8 → 0.24.10
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/README.md +57 -49
- package/SECURITY.md +1 -1
- package/SETUP.md +16 -13
- package/dist/assets/profiles/_template/SOUL.md +2 -2
- package/dist/assets/profiles/oracle/SOUL.md +11 -13
- package/dist/assets/profiles/profile.schema.json +1 -1
- package/dist/assets/profiles/robinhood-agent/SOUL.md +5 -5
- package/dist/assets/skills/multi-venue-prepare-only-ranking/SKILL.md +1 -1
- package/dist/assets/skills/oracle-action-semantics/SKILL.md +5 -5
- package/dist/assets/skills/oracle-chat/SKILL.md +8 -8
- package/dist/assets/skills/oracle-desk-product/SKILL.md +3 -3
- package/dist/assets/skills/oracle-receipts/SKILL.md +2 -2
- package/dist/bin/desk-server.mjs +78 -34
- package/dist/bin/oracle-data-mcp.mjs +51 -7
- package/dist/bin/oracle-gateway.mjs +13 -15
- package/dist/bin/oracle-init.mjs +9 -9
- package/dist/bin/oracle-public-server.mjs +48 -4
- package/dist/bin/oracle-route.mjs +66 -22
- package/dist/bin/oracle-scan.mjs +58 -14
- package/dist/bin/oracle-upgrade.mjs +9 -9
- package/dist/bin/oracle.mjs +6 -6
- package/dist/cli/commands/chat.mjs +140 -96
- package/dist/cli/commands/doctor.mjs +5 -5
- package/dist/cli/commands/eval.mjs +17 -17
- package/dist/cli/commands/farm.mjs +72 -28
- package/dist/cli/commands/follow.mjs +61 -17
- package/dist/cli/commands/model.mjs +147 -103
- package/dist/cli/commands/receipt.mjs +3 -3
- package/dist/cli/commands/resolve.mjs +55 -11
- package/dist/cli/commands/setup.mjs +27 -27
- package/dist/cli/commands/sign.mjs +14 -13
- package/dist/cli/commands/signer.mjs +14 -17
- package/dist/cli/commands/strategy.mjs +50 -6
- package/dist/cli/commands/swap.mjs +72 -29
- package/dist/cli/commands/venues.mjs +3 -3
- package/dist/data/desk-data.mjs +78 -34
- package/dist/data/names.mjs +46 -2
- package/dist/data/providers/farming.mjs +46 -2
- package/dist/index.mjs +80 -36
- package/dist/local-signer/index.mjs +3 -1
- package/dist/router/index.mjs +46 -2
- package/dist/router/prepare-bridge.mjs +46 -2
- package/dist/scanner/index.mjs +48 -4
- package/dist/strategy/index.mjs +47 -3
- package/package.json +6 -3
- package/public/install.ps1 +1 -1
- package/public/install.sh +5 -4
- package/public/oracle-splash/_variants/ice.html +3 -3
- package/public/oracle-splash/_variants/ivory.html +3 -3
- package/public/oracle-splash/downloads/index.html +5 -5
- package/public/oracle-splash/index.html +7 -7
- package/public/oracle-splash/install.ps1 +1 -1
- package/public/oracle-splash/install.sh +5 -4
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import B from"node:os";import g from"node:path";import{fileURLToPath as L}from"node:url";import a from"node:fs";import
|
|
3
|
-
`)]),
|
|
4
|
-
`,s)+1;if(!c)return{start:s,end:
|
|
2
|
+
import B from"node:os";import g from"node:path";import{fileURLToPath as L}from"node:url";import a from"node:fs";import p from"node:path";import{randomBytes as O}from"node:crypto";var w="oracle-profile-upgrade/v1";function m(r){try{return a.accessSync(r),!0}catch{return!1}}function v(r){return m(r)?a.readdirSync(r,{recursive:!0,withFileTypes:!0}).filter(e=>e.isFile()).map(e=>p.join(e.parentPath||e.path,e.name)).sort().map(e=>[p.relative(r,e),a.readFileSync(e)]):[]}function P(r){let e=v(r);return e.push([".oracle-upgrade-version",Buffer.from(`${w}
|
|
3
|
+
`)]),e.sort(([t],[n])=>t.localeCompare(n))}function N(r,e){let t=v(r);return t.length===e.length&&t.every(([n,s],c)=>n===e[c][0]&&s.equals(e[c][1]))}function j(r){return`${r}.tmp-oracle-upgrade-${process.pid}-${O(6).toString("hex")}`}function E(r){let e=`${r}.bak-oracle-upgrade`;for(let t=1;m(e);t+=1)e=`${r}.bak-oracle-upgrade-${t}`;return e}function R(r,e,t,n){if(!m(r)||!a.statSync(r).isDirectory())return;let s=P(r);if(N(e,s)){n.unchanged.push(e);return}let c=m(e);if((c?n.updated:n.created).push(e),!t)return;a.mkdirSync(p.dirname(e),{recursive:!0});let o=j(e),l=null;a.mkdirSync(o);try{for(let[u,h]of s){let i=p.join(o,u);a.mkdirSync(p.dirname(i),{recursive:!0}),a.writeFileSync(i,h)}c&&(l=E(e),a.renameSync(e,l),n.backups.push({path:l,original:e})),a.renameSync(o,e)}catch(u){throw m(o)&&a.rmSync(o,{recursive:!0,force:!0}),l&&!m(e)&&m(l)&&a.renameSync(l,e),u}}function T(r,e){if(/^mcp_servers:[ \t]*(?!\{\}[ \t]*(?:#.*)?$)\S+/m.test(r))throw new Error(`${e}: mcp_servers must be a block mapping`);let t=[],n=new Map,s=r.split(/\r?\n/),c=0;for(let o=0;o<s.length;o+=1){let l=s[o];if(/^\s*#/.test(l))continue;if(/^\s*\t|^ +\t/.test(l))throw new Error(`${e}:${o+1}: tabs are not supported in YAML indentation`);let u=l.replace(/\s+#.*$/,"");if(!u.trim()||/^\s*(?:---|\.\.\.)\s*$/.test(u))continue;let h=u.replace(/'(?:[^']|'')*'|"(?:[^"\\]|\\.)*"/g,"");for(let i of h)if("[{".includes(i)&&(c+=1),"]}".includes(i)&&(c-=1),c<0)throw new Error(`${e}:${o+1}: unbalanced flow collection`);if(/^\s*[^#\-][^:]*:\s*(?:.*)?$/.test(u)){let i=u.match(/^ */)[0].length,d=u.trimStart().match(/^([^:]+):/)[1].trim();for(;t.length&&t.at(-1).indent>=i;)t.pop();let y=`${t.map(_=>_.key).join("/")}|${i}|${d}`;if(n.has(y))throw new Error(`${e}:${o+1}: duplicate mapping key ${d}`);n.set(y,!0),/^[^:]+:\s*(?:#.*)?$/.test(u.trimStart())&&t.push({indent:i,key:d})}else if(!/^\s*-\s+/.test(u)&&c===0)throw new Error(`${e}:${o+1}: unsupported or malformed YAML`)}if(c!==0)throw new Error(`${e}: unbalanced flow collection`);if(/^\s*[^#\n]*:\s*[>|][+-]?\s*$/m.test(r)){let o=F(r,"mcp_servers");if(o&&/:\s*[>|][+-]?\s*$/m.test(o.body))throw new Error(`${e}: block scalars inside mcp_servers are unsupported`)}}function F(r,e){let n=new RegExp(`^${e}:[^\\S\\r\\n]*(?:#.*)?$`,"m").exec(r);if(!n)return null;let s=n.index,c=r.indexOf(`
|
|
4
|
+
`,s)+1;if(!c)return{start:s,end:r.length,bodyStart:r.length,body:""};let o=r.slice(c),l=/^(?=\S[^\r\n]*:)/m.exec(o),u=l?c+l.index:r.length;return{start:s,bodyStart:c,end:u,body:r.slice(c,u)}}function k(r){return JSON.stringify(r)}function b(r,e){let t=e.command==="node"?[e.script]:e.args,n=[` ${r}:`,` command: ${k(e.command)}`];return t?.length&&n.push(" args:",...t.map(s=>` - ${k(s)}`)),n.push(" enabled: true",` # ${w}`),`${n.join(`
|
|
5
5
|
`)}
|
|
6
|
-
`}function q(e
|
|
6
|
+
`}function q(r,e){r=r.replace(/^(mcp_servers:)\s*\{\}\s*(#.*)?$/m,(s,c,o)=>`${c}${o?` ${o}`:""}`);let t=F(r,"mcp_servers");if(!t){let s=r.length&&!r.endsWith(`
|
|
7
7
|
`)?`
|
|
8
|
-
`:"";return`${
|
|
9
|
-
${[...
|
|
8
|
+
`:"";return`${r}${s}mcp_servers:
|
|
9
|
+
${[...e].map(([c,o])=>b(c,o)).join("")}`}let n=t.body;for(let[s,c]of e){let o=new RegExp(`^ ${s}:[^\\S\\r\\n]*(?:#.*)?\\r?\\n(?:^(?: {3,}|\\s*$).*\\r?\\n?)*`,"m"),l=b(s,c);n=o.test(n)?n.replace(o,l):`${n}${n&&!n.endsWith(`
|
|
10
10
|
`)?`
|
|
11
|
-
`:""}${l}`}return`${
|
|
12
|
-
`);else{console.log(`oracle-upgrade ${n.applied?"applied":"dry run"}: ${n.profiles.length} profile(s)`);for(let s of["created","updated","unchanged","backups"])console.log(`${s}: ${n[s].length}`);n.applied||console.log("Re-run with --apply to make these changes.")}}catch(
|
|
13
|
-
`):console.error(`oracle-upgrade: ${
|
|
11
|
+
`:""}${l}`}return`${r.slice(0,t.bodyStart)}${n}${r.slice(t.end)}`}function A(r,e,t){let n=m(r);if((n?a.readFileSync(r,"utf8"):null)===e){t.unchanged.push(r);return}if((n?t.updated:t.created).push(r),!t.applied)return;if(a.mkdirSync(p.dirname(r),{recursive:!0}),n){let o=E(r);a.copyFileSync(r,o),t.backups.push({path:o,original:r})}let c=j(r);try{a.writeFileSync(c,e,{mode:n?a.statSync(r).mode:384}),a.renameSync(c,r)}catch(o){throw m(c)&&a.rmSync(c,{force:!0}),o}}function M({hermesHome:r,packageRoot:e,only:t=null,apply:n=!1}){let s=p.join(r,"profiles"),c={ok:!0,applied:n,version:w,hermesHome:r,packageRoot:e,profiles:[],created:[],updated:[],unchanged:[],backups:[]},o=m(s)?a.readdirSync(s,{withFileTypes:!0}).filter(i=>i.isDirectory()).map(i=>i.name).sort():[];if(t&&(o=o.filter(i=>i===t)),t&&o.length===0)throw new Error(`profile not found: ${t}`);c.profiles=o;let l=new Map;for(let i of o){let d=p.join(s,i,"config.yaml"),$=m(d)?a.readFileSync(d,"utf8"):"";T($,d),l.set(i,$)}let u=[p.join(e,"skills","oracle-action-semantics"),p.join(e,"assets","skills","oracle-action-semantics")].find(i=>m(i));if(!u)throw new Error(`required Oracle skill is missing: ${p.join(e,"skills","oracle-action-semantics")}`);let h=p.join(e,"bin","oracle-data-mcp.mjs");if(!m(h))throw new Error(`oracle-data MCP command is missing: ${h}`);for(let i of o){let d=p.join(s,i);R(u,p.join(d,"skills","oracle-action-semantics"),n,c);let $=new Map([["oracle-data",{command:"node",script:h}]]),y=q(l.get(i),$);A(p.join(d,"config.yaml"),y,c)}return c}var f=process.argv.slice(2),S=r=>{let e=f.indexOf(r);if(e<0)return null;if(!f[e+1]||f[e+1].startsWith("--"))throw new Error(`${r} requires a value`);return f[e+1]};try{let r=new Set(["--apply","--json","--only","--hermes-home","--package-root"]);for(let s=0;s<f.length;s+=1){if(!r.has(f[s]))throw new Error(`unknown option: ${f[s]}`);["--only","--hermes-home","--package-root"].includes(f[s])&&(s+=1)}let e=g.resolve(S("--package-root")||g.join(g.dirname(L(import.meta.url)),"..")),t=g.resolve(S("--hermes-home")||process.env.HERMES_HOME||g.join(B.homedir(),".hermes")),n=M({hermesHome:t,packageRoot:e,only:S("--only"),apply:f.includes("--apply")});if(f.includes("--json"))process.stdout.write(`${JSON.stringify(n,null,2)}
|
|
12
|
+
`);else{console.log(`oracle-upgrade ${n.applied?"applied":"dry run"}: ${n.profiles.length} profile(s)`);for(let s of["created","updated","unchanged","backups"])console.log(`${s}: ${n[s].length}`);n.applied||console.log("Re-run with --apply to make these changes.")}}catch(r){let e={ok:!1,error:r.message};f.includes("--json")?process.stdout.write(`${JSON.stringify(e,null,2)}
|
|
13
|
+
`):console.error(`oracle-upgrade: ${r.message}`),process.exitCode=1}
|
package/dist/bin/oracle.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{realpathSync as
|
|
2
|
+
import{realpathSync as b}from"node:fs";import{fileURLToPath as re}from"node:url";import h from"node:fs";import g from"node:path";import{pathToFileURL as Y}from"node:url";import d from"node:fs";import D from"node:os";import i from"node:path";import{fileURLToPath as T}from"node:url";var P=i.dirname(T(import.meta.url)),l=i.resolve(P,"../..");function u(){return process.env.ORACLE_FAKE_HOME||D.homedir()}function A(){return process.env.ORACLE_PUBLIC_DESKTOP==="1"}function f(){return A()?process.env.ORACLE_CONFIG_DIR||i.join(u(),".config","oracle"):i.join(u(),".config","oracle")}function $(){return i.join(f(),"exec.env")}function _(){return i.join(f(),"desk.json")}function R(){return i.join(f(),"env")}function p({force:e=!1}={}){if(p._done&&!e)return p._result||null;p._done=!0;let o={},r=(a,t)=>{if(t==null)return;let n=String(t).trim();n&&(process.env[a]!=null&&String(process.env[a]).trim()!==""||(process.env[a]=n,o[a]=n))};try{let a=R();if(d.existsSync(a))for(let t of d.readFileSync(a,"utf8").split(/\r?\n/)){let n=t.match(/^\s*([A-Z0-9_]+)\s*=\s*(.*?)\s*$/);if(!n||n[2].startsWith("#"))continue;let c=n[2];(c.startsWith('"')&&c.endsWith('"')||c.startsWith("'")&&c.endsWith("'"))&&(c=c.slice(1,-1)),r(n[1],c)}}catch{}try{let a=_();if(d.existsSync(a)){let t=JSON.parse(d.readFileSync(a,"utf8"));t&&typeof t=="object"&&(r("ORACLE_DESK_URL",t.deskUrl||t.dataUrl||t.url),r("ORACLE_DATA_URL",t.dataUrl||t.deskUrl||t.url),r("ORACLE_API_URL",t.apiUrl||t.dataUrl||t.deskUrl),r("ORACLE_PUBLIC_URL",t.publicUrl||t.deskUrl||t.dataUrl),r("ORACLE_EXEC_URL",t.execUrl),r("MAD_DESK_URL",t.deskUrl||t.dataUrl))}}catch{}let s=process.env.ORACLE_DESK_URL||process.env.ORACLE_DATA_URL||"";return s&&(r("ORACLE_DESK_URL",s),r("ORACLE_DATA_URL",s),r("ORACLE_API_URL",s),r("ORACLE_PUBLIC_URL",s),r("MAD_DESK_URL",s)),p._result=Object.keys(o).length?o:null,p._result}try{p()}catch{}function I(){return process.env.HERMES_HOME?i.resolve(process.env.HERMES_HOME):i.join(u(),".hermes")}function M(){return i.join(u(),".claude.json")}function H(e=process.cwd()){return i.join(e,".mcp.json")}function N(){return process.platform==="darwin"?i.join(u(),"Library","Application Support","Claude","claude_desktop_config.json"):i.join(u(),".config","Claude","claude_desktop_config.json")}function F(){return i.join(u(),".codex","config.toml")}function k(){return i.join(f(),"connectors")}function q(){return i.join(k(),"chatgpt-openapi.json")}function K(){return i.join(f(),"active-chain.json")}function y(e){let o=[i.join(l,"bin",e),i.join(l,"dist","bin",e),i.join(l,"..","bin",e)];return o.find(r=>d.existsSync(r))||o[0]}function G(e){return d.mkdirSync(e,{recursive:!0}),e}var C={homeDir:u,isPublicDesktop:A,oracleConfigDir:f,oracleExecEnvPath:$,oracleDeskJsonPath:_,oracleEnvFilePath:R,loadDeskRouting:p,hermesRoot:I,activeChainPath:K,claudeCodeUserConfigPath:M,claudeCodeProjectMcpPath:H,claudeDesktopConfigPath:N,codexConfigPath:F,chatgptConnectorDir:k,chatgptOpenApiPath:q,packageBin:y,ensureDir:G,PACKAGE_ROOT:l};import{execFile as B}from"node:child_process";import{existsSync as de,mkdirSync as fe,readFileSync as V,realpathSync as me,writeFileSync as he}from"node:fs";import v from"node:path";import{promisify as J}from"node:util";var xe=J(B);var Ee=1440*60*1e3;function j(e,o){let r=t=>String(t).replace(/^v/,"").split("-")[0].split(".").map(n=>Number.parseInt(n,10)||0),s=r(e),a=r(o);for(let t=0;t<Math.max(s.length,a.length);t+=1){let n=s[t]??0,c=a[t]??0;if(n>c)return 1;if(n<c)return-1}return 0}function W(e){let o=e?.stateDir||v.join(process.env.HOME||".",".oracle");return v.join(o,"update-check.json")}function w(e){try{return JSON.parse(V(W(e),"utf8"))}catch{return null}}var z="\u25C7 ORACLE // self-custody multichain agent control plane",X=`START
|
|
3
3
|
oracle open the native Oracle chat (TTY)
|
|
4
4
|
oracle chat open chat explicitly
|
|
5
5
|
oracle setup connect a model and optional messaging
|
|
@@ -39,20 +39,20 @@ SYSTEM
|
|
|
39
39
|
oracle upgrade update installed agent lanes
|
|
40
40
|
|
|
41
41
|
BOUNDARY
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
Oracle ships armed local-signer surfaces for self-hosters. Hosted/keyless
|
|
43
|
+
access cannot move value without the operator's encrypted local signer.
|
|
44
44
|
Autonomous execution additionally requires ORACLE_AUTONOMOUS_TRADING=1.
|
|
45
45
|
Use oracle <command> --help for command details.
|
|
46
|
-
`;function S(){try{return JSON.parse(h.readFileSync(g.join(l,"package.json"),"utf8")).version||"0.0.0"}catch{return"0.0.0"}}function Q(){let e=g.join(l,"src","cli","commands");return h.existsSync(e)?e:g.join(l,"dist","cli","commands")}async function m(){let e=Q(),o=new Map;if(!h.existsSync(e))return o;let r=h.readdirSync(e).filter(s=>s.endsWith(".mjs")).sort();for(let s of r){let a=g.join(e,s);try{let n=(await import(Y(a).href+`?t=${Date.now()}`)).default;if(!n||typeof n!="object"||typeof n.run!="function")continue;let c=n.name||s.replace(/\.mjs$/,"");o.set(c,{...n,name:c,__file:a})}catch(t){process.env.ORACLE_CLI_DEBUG&&console.error(`oracle: failed loading command ${s}: ${t.message}`)}}return o}function Z(e,o=w()){return!o?.latest||!e||
|
|
46
|
+
`;function S(){try{return JSON.parse(h.readFileSync(g.join(l,"package.json"),"utf8")).version||"0.0.0"}catch{return"0.0.0"}}function Q(){let e=g.join(l,"src","cli","commands");return h.existsSync(e)?e:g.join(l,"dist","cli","commands")}async function m(){let e=Q(),o=new Map;if(!h.existsSync(e))return o;let r=h.readdirSync(e).filter(s=>s.endsWith(".mjs")).sort();for(let s of r){let a=g.join(e,s);try{let n=(await import(Y(a).href+`?t=${Date.now()}`)).default;if(!n||typeof n!="object"||typeof n.run!="function")continue;let c=n.name||s.replace(/\.mjs$/,"");o.set(c,{...n,name:c,__file:a})}catch(t){process.env.ORACLE_CLI_DEBUG&&console.error(`oracle: failed loading command ${s}: ${t.message}`)}}return o}function Z(e,o=w()){return!o?.latest||!e||j(o.latest,e)<=0?"":`
|
|
47
47
|
Update available: ${e} \u2192 ${o.latest}. Run 'oracle update'.
|
|
48
48
|
`}function x(e,o){let r=[];r.push(`${z} (v${e})`),r.push(""),r.push(X.trimEnd());let s=[];for(let a of o.values()){if(["help","version"].includes(a.name))continue;!new Set(["init","doctor","chat","model","auth","chain","setup","data","data-mcp","scan","route","prepare","swap","farm","follow","equities","strategy","public","mcp","plugins","harness","upgrade","bootstrap","eval","fees","sign","signer"]).has(a.name)&&a.summary&&s.push(` oracle ${a.name.padEnd(20)} ${a.summary}`)}return s.length&&(r.push(""),r.push("ADDITIONAL"),r.push(...s)),r.join(`
|
|
49
49
|
`)+`
|
|
50
50
|
`+Z(e)}function L(e,o){let r=[...o.keys()].sort(),s=r.length?r.join(", "):"(none loaded yet)";return`oracle: unknown command '${e}'. Known: ${s}
|
|
51
51
|
Try: oracle --help
|
|
52
|
-
`}function E(e){return{argv:e,root:l,bin:y,paths:C}}async function
|
|
52
|
+
`}function E(e){return{argv:e,root:l,bin:y,paths:C}}async function U(e=[]){let o=S();if(e.includes("--version")||e.includes("-V"))return O();if(e[0]==="--help"||e[0]==="-h"){let n=await m();return process.stdout.write(x(o,n)),0}if(e.length===0){let n=await m();if(ee(e)){let c=n.get("chat");if(c)return c.run(E([]))}return process.stdout.write(x(o,n)),0}if(te(e[0])){let c=(await m()).get("chat");if(c)return c.run(E(e))}let r=e[0],s=e.slice(1);if(r==="version")return O();if(r==="help"){let n=await m();if(s[0]){let c=n.get(s[0]);return c?(process.stdout.write((c.usage||`oracle ${c.name}`)+`
|
|
53
53
|
`),c.summary&&process.stdout.write(c.summary+`
|
|
54
54
|
`),0):(process.stderr.write(L(s[0],n)),1)}return process.stdout.write(x(o,n)),0}let a=await m(),t=a.get(r);if(t){if(s[0]==="--help"||s[0]==="-h")return process.stdout.write((t.usage||`oracle ${t.name}`)+`
|
|
55
55
|
`),t.summary&&process.stdout.write(t.summary+`
|
|
56
56
|
`),0;try{let n=await t.run(E(s));return typeof n=="number"?n:0}catch(n){return process.stderr.write(`oracle ${r}: ${n?.message||n}
|
|
57
57
|
`),1}}return process.stderr.write(L(r,a)),1}async function O(){let e=S();return process.stdout.write(`oracle ${e}
|
|
58
|
-
`),0}function ee(e=[],o={stdin:process.stdin,stdout:process.stdout}){return e.length!==0?!1:process.env.ORACLE_FORCE_CHAT==="1"?!0:o.stdin?.isTTY===!0&&o.stdout?.isTTY===!0}function te(e){return["-m","--model","--provider","-q","--query","-Q","--quiet","-c","--continue","-r","--resume","-s","--skills","-t","--toolsets","--reasoning","--tui","--cli","--yolo","--checkpoints","--source","--max-turns"].includes(String(e||""))}var Se=Object.freeze({data:"./desk-server.mjs",public:"./oracle-public-server.mjs","data-mcp":"./oracle-data-mcp.mjs",init:"./oracle-init.mjs",upgrade:"./oracle-upgrade.mjs",scan:"./oracle-scan.mjs",route:"./oracle-route.mjs",equities:"./oracle-equities.mjs"});function ne(){if(!process.argv[1])return!1;try{return
|
|
58
|
+
`),0}function ee(e=[],o={stdin:process.stdin,stdout:process.stdout}){return e.length!==0?!1:process.env.ORACLE_FORCE_CHAT==="1"?!0:o.stdin?.isTTY===!0&&o.stdout?.isTTY===!0}function te(e){return["-m","--model","--provider","-q","--query","-Q","--quiet","-c","--continue","-r","--resume","-s","--skills","-t","--toolsets","--reasoning","--tui","--cli","--yolo","--checkpoints","--source","--max-turns"].includes(String(e||""))}var Se=Object.freeze({data:"./desk-server.mjs",public:"./oracle-public-server.mjs","data-mcp":"./oracle-data-mcp.mjs",init:"./oracle-init.mjs",upgrade:"./oracle-upgrade.mjs",scan:"./oracle-scan.mjs",route:"./oracle-route.mjs",equities:"./oracle-equities.mjs"});function ne(){if(!process.argv[1])return!1;try{return b(re(import.meta.url))===b(process.argv[1])}catch{return!1}}async function oe(e=process.argv.slice(2)){return U(e)}if(ne()){let e=await oe();process.exit(typeof e=="number"?e:0)}export{Se as COMMANDS,oe as main};
|