@compass-ai/nova 1.0.38 → 1.0.39
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 -12
- package/dist/cli.js +529 -535
- package/dist/index.js +6 -7
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var eyr=Object.create;var Mpe=Object.defineProperty;var tyr=Object.getOwnPropertyDescriptor;var ryr=Object.getOwnPropertyNames;var nyr=Object.getPrototypeOf,iyr=Object.prototype.hasOwnProperty;var Xs=(a=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(a,{get:(r,n)=>(typeof require<"u"?require:r)[n]}):a)(function(a){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+a+'" is not supported')});var Kt=(a,r)=>()=>(a&&(r=a(a=0)),r);var ft=(a,r)=>()=>(r||a((r={exports:{}}).exports,r),r.exports),jE=(a,r)=>{for(var n in r)Mpe(a,n,{get:r[n],enumerable:!0})},V0t=(a,r,n,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let l of ryr(r))!iyr.call(a,l)&&l!==n&&Mpe(a,l,{get:()=>r[l],enumerable:!(o=tyr(r,l))||o.enumerable});return a};var Ho=(a,r,n)=>(n=a!=null?eyr(nyr(a)):{},V0t(r||!a||!a.__esModule?Mpe(n,"default",{value:a,enumerable:!0}):n,a)),syr=a=>V0t(Mpe({},"__esModule",{value:!0}),a);function P0t(a){if(typeof a!="object"||a===null)return!1;let r=a;return typeof r.dataCollection=="boolean"&&typeof r.telemetry=="boolean"&&typeof r.analytics=="boolean"&&typeof r.errorReporting=="boolean"}function myr(a){if(typeof a!="object"||a===null)return!1;let r=a;return typeof r.id=="string"&&typeof r.version=="string"&&typeof r.grantedAt=="string"&&typeof r.expiresAt=="string"&&P0t(r.consent)}function _yr(){return{dataCollection:Ype.dataCollection.defaultValue,telemetry:Ype.telemetry.defaultValue,analytics:Ype.analytics.defaultValue,errorReporting:Ype.errorReporting.defaultValue}}function hyr(){return{dataCollection:!0,telemetry:!0,analytics:!0,errorReporting:!0}}function gyr(){return{dataCollection:!0,telemetry:!1,analytics:!1,errorReporting:!1}}var UPe,Ype,jPe=Kt(()=>{"use strict";UPe="1.0.0",Ype={dataCollection:{title:"Data Collection",description:"Allow Compass to store conversation history and session data locally for improved functionality.",required:!0,defaultValue:!0},telemetry:{title:"Anonymous Telemetry",description:"Help improve Compass by sending anonymous usage statistics.",required:!1,defaultValue:!1},analytics:{title:"Analytics",description:"Allow collection of feature usage patterns to improve the product.",required:!1,defaultValue:!1},errorReporting:{title:"Error Reporting",description:"Automatically send error reports to help fix bugs.",required:!1,defaultValue:!0}}});var kO,TO=Kt(()=>{"use strict";kO=(l=>(l.MANUAL="manual",l.AUTO="auto",l.STRICT="strict",l.SMART="smart",l))(kO||{})});var xz,BPe,Ope,wz=Kt(()=>{"use strict";xz=(h=>(h.DIRECT="direct",h.CLARIFICATION="clarification",h.TODO_LIST="todo_list",h.PLAN="plan",h.PLAN_ADOPT="plan_adopt",h.NO_ACTION="no_action",h))(xz||{}),BPe=(v=>(v.PENDING="pending",v.IN_PROGRESS="in_progress",v.PAUSED="paused",v.COMPLETED="completed",v.FAILED="failed",v.SKIPPED="skipped",v.ROLLED_BACK="rolled_back",v))(BPe||{}),Ope=(D=>(D.IDLE="idle",D.CONTEXT_GATHERING="context_gathering",D.COMPLEXITY_ASSESSMENT="complexity_assessment",D.CLARIFICATION="clarification",D.PLAN_GENERATION="plan_generation",D.PLAN_REVIEW="plan_review",D.EXECUTION="execution",D.VERIFICATION="verification",D.COMPLETED="completed",D.FAILED="failed",D))(Ope||{})});var J0t={};jE(J0t,{AGENT_SOURCE_PRIORITY:()=>Az,compareAgentPriority:()=>H0t,createDefaultAgentDefinition:()=>Y0t,getAgentSourcePriority:()=>Hpe,isValidAgentFrontmatter:()=>Lpe,isValidAgentPermissionMode:()=>Jpe,isValidAgentSource:()=>D0t,isValidCLIAgentConfig:()=>M0t,parseToolsList:()=>OP,serializeToolsList:()=>O0t});function Jpe(a){return typeof a=="string"&&["default","acceptEditsAsk","bypassPermissions","plan","ignore","acceptEdits","dontAsk"].includes(a)}function D0t(a){return typeof a=="string"&&["project","cli","user","builtin"].includes(a)}function Lpe(a){if(typeof a!="object"||a===null)return!1;let r=a;return!(typeof r.name!="string"||r.name.length===0||typeof r.description!="string"||r.description.length===0||r.tools!==void 0&&typeof r.tools!="string"||r.disallowedTools!==void 0&&typeof r.disallowedTools!="string"||r.model!==void 0&&typeof r.model!="string"||r.permissionMode!==void 0&&!Jpe(r.permissionMode)||r.skills!==void 0&&typeof r.skills!="string"||r.standalone!==void 0&&typeof r.standalone!="boolean"||r.mcpServers!==void 0&&typeof r.mcpServers!="string")}function M0t(a){if(typeof a!="object"||a===null)return!1;let r=a;return!(typeof r.description!="string"||typeof r.prompt!="string"||r.tools!==void 0&&!Array.isArray(r.tools)||r.disallowedTools!==void 0&&!Array.isArray(r.disallowedTools)||r.model!==void 0&&typeof r.model!="string"||r.permissionMode!==void 0&&!Jpe(r.permissionMode)||r.skills!==void 0&&!Array.isArray(r.skills)||r.standalone!==void 0&&typeof r.standalone!="boolean"||r.mcpServers!==void 0&&!Array.isArray(r.mcpServers))}function Y0t(a,r,n,o="builtin"){return{id:`${o}-${a}`,name:a,description:r,systemPrompt:n,source:o,permissionMode:"default",isActive:!0,rawFrontmatter:{name:a,description:r}}}function OP(a){if(!(!a||a.trim()===""))return a.split(",").map(r=>r.trim()).filter(r=>r.length>0)}function O0t(a){if(!(!a||a.length===0))return a.join(", ")}function Hpe(a){return Az.indexOf(a)}function H0t(a,r){return Hpe(a.source)-Hpe(r.source)}var Az,Xpe=Kt(()=>{"use strict";Az=["builtin","user","cli","project"]});function Upe(a){return typeof a=="string"&&L0t.includes(a)}function Gyr(a){return typeof a=="string"&&["personal","project"].includes(a)}function Eyr(a){if(typeof a!="object"||a===null)return!1;let r=a;return!(r.description!==void 0&&typeof r.description!="string"||r.enabled!==void 0&&typeof r.enabled!="boolean"||r.tools!==void 0&&!Array.isArray(r.tools)||r.match!==void 0&&typeof r.match!="object"||r.timeout!==void 0&&typeof r.timeout!="number")}function zPe(a){return Qpe.indexOf(a)}function Cyr(a,r){return zPe(a.source)-zPe(r.source)}var L0t,Qpe,qPe=Kt(()=>{"use strict";L0t=["PreToolUse","PostToolUse","UserPromptSubmit","Notification","Stop"],Qpe=["personal","project"]});var Sz,Gz,NO,jpe,$Pe,Ez,KPe,eDe,kyr,FO,tDe,Tyr,rDe,nDe,iDe,sDe,GW,aDe,oDe,Nyr,Fyr,Ryr,cDe,lDe,uDe,Bpe,Wyr,Zyr,zpe,dDe,Cz,Vyr,Pyr,Dyr,Myr,BE,RO,pDe,Yyr,Oyr,Hyr,Jyr,Lyr,rN,EW,Nv,fDe,Xyr,Qyr,Uyr,jyr,Byr,mDe,_De,zyr,Gf=Kt(()=>{"use strict";Sz=".compass",Gz=".compass",NO="config.json",jpe="session.json",$Pe="consent.json",Ez="credentials.enc",KPe="logs",eDe="backups",kyr="cache",FO="saved-sessions",tDe="index",Tyr="context",rDe="commands",nDe="agents",iDe="skills",sDe="hooks",GW=16384,aDe=5e4,oDe=5e4,Nyr=80,Fyr=10,Ryr=30,cDe=30,lDe=365,uDe=6e4,Bpe=3e4,Wyr=50,Zyr=1048576,zpe=100,dDe=8e3,Cz=4e3,Vyr=6e3,Pyr=90,Dyr=1e5,Myr=524288e3,BE="claude-sonnet-4-5-20250929",RO=.6,pDe="haiku",Yyr="banner",Oyr=4,Hyr=1e3,Jyr=16e3,Lyr=.1,rN={anthropic:{model:BE,maxTokens:16384,temperature:.6},project:{rootDir:process.cwd(),ignorePatterns:["node_modules/**",".git/**","dist/**","build/**","out/**","coverage/**",".next/**",".nuxt/**",".output/**","*.log",".env*","*.lock","package-lock.json","yarn.lock","pnpm-lock.yaml",".DS_Store","Thumbs.db","*.min.js","*.min.css","*.map",".compass/**"],includePatterns:["**/*"],maxFileSize:1048576,indexOnStartup:!0},safety:{requireApproval:!0,autoApprovePatterns:[],blockedPatterns:[".env*","*.key","*.pem","*.p12","*.pfx","secrets/**","**/secrets/**","**/*.secret","**/credentials*","**/password*"],maxFilesPerOperation:50,backupBeforeModify:!0,shellCommandTimeout:3e4,allowedShellCommands:["npm","npx","yarn","pnpm","git","node","tsc","eslint","prettier","jest","vitest","mocha","cargo","rustc","go","python","python3","pip","pip3","poetry","make","cmake","gradle","mvn","docker","kubectl","terraform","aws","gcloud","az","cat","ls","pwd","echo","head","tail","grep","find","wc","sort","uniq","diff","tree"],blockedShellCommands:["rm -rf /","rm -rf /*","rm -rf ~","rm -rf ~/*","sudo rm -rf",":(){:|:&};:","mkfs","dd if=/dev/zero","dd if=/dev/random","> /dev/sda","chmod -R 777 /","chown -R","wget | sh","curl | sh","wget | bash","curl | bash"]},ui:{theme:"auto",showTokenUsage:!0,showTimestamps:!1,compactMode:!1,animationsEnabled:!0,colorOutput:!0},session:{autoSave:!0,autoSaveInterval:6e4,maxHistoryLength:100,autoCompactThreshold:5e4,sessionExpiryDays:30},update:{checkOnStartup:!0,checkInterval:4,showNotifications:!0,notificationStyle:Yyr,includePrerelease:!1},agentic:{maxIterations:200,costWarningThreshold:5,costHardCap:0,autoCompactAtPercent:80,stuckDetectionEnabled:!0,stuckDetectionThreshold:3,maxIterationsPerTask:50}},EW=["anthropic","ollama","zai","minimax"],Nv={API_KEY:"ANTHROPIC_API_KEY",COMPASS_API_KEY:"COMPASS_API_KEY",OLLAMA_API_KEY:"OLLAMA_API_KEY",ZAI_API_KEY:"ZAI_API_KEY",MINIMAX_API_KEY:"MINIMAX_API_KEY",MODEL:"COMPASS_MODEL",CONFIG_PATH:"COMPASS_CONFIG",DEBUG:"COMPASS_DEBUG",NO_COLOR:"NO_COLOR",FORCE_COLOR:"FORCE_COLOR",HOME:"HOME",USERPROFILE:"USERPROFILE"},fDe={anthropic:Nv.API_KEY,ollama:Nv.OLLAMA_API_KEY,zai:Nv.ZAI_API_KEY,minimax:Nv.MINIMAX_API_KEY},Xyr="1.0.38",Qyr="Compass CLI",Uyr="Agentic CLI by Compass Agentic Platform",jyr="1.0.0",Byr={".ts":"typescript",".tsx":"typescript",".js":"javascript",".jsx":"javascript",".mjs":"javascript",".cjs":"javascript",".py":"python",".rb":"ruby",".go":"go",".rs":"rust",".java":"java",".kt":"kotlin",".scala":"scala",".cs":"csharp",".fs":"fsharp",".cpp":"cpp",".cc":"cpp",".cxx":"cpp",".c":"c",".h":"c",".hpp":"cpp",".swift":"swift",".php":"php",".pl":"perl",".pm":"perl",".sh":"bash",".bash":"bash",".zsh":"zsh",".fish":"fish",".ps1":"powershell",".sql":"sql",".r":"r",".R":"r",".lua":"lua",".vim":"vim",".el":"elisp",".clj":"clojure",".cljs":"clojure",".ex":"elixir",".exs":"elixir",".erl":"erlang",".hrl":"erlang",".hs":"haskell",".ml":"ocaml",".mli":"ocaml",".nim":"nim",".zig":"zig",".v":"v",".d":"d",".dart":"dart",".groovy":"groovy",".gradle":"groovy",".json":"json",".yaml":"yaml",".yml":"yaml",".toml":"toml",".xml":"xml",".html":"html",".htm":"html",".css":"css",".scss":"scss",".sass":"sass",".less":"less",".md":"markdown",".mdx":"markdown",".rst":"restructuredtext",".tex":"latex",".dockerfile":"dockerfile",".tf":"terraform",".hcl":"hcl",".proto":"protobuf",".graphql":"graphql",".gql":"graphql",".vue":"vue",".svelte":"svelte",".astro":"astro"},mDe=["package-lock.json","yarn.lock","pnpm-lock.yaml","composer.lock","Gemfile.lock","poetry.lock","Cargo.lock","go.sum","*.map","*.js.map","*.css.map","*.min.js","*.min.css","*.bundle.js","*.chunk.js","*.sql","*.csv","**/__snapshots__/**","**/fixtures/**/*.json","*.d.ts.map"],_De=["node_modules",".git","dist","build","out","coverage",".next",".nuxt",".output",".cache",".parcel-cache","vendor","__pycache__",".pytest_cache","target","bin","obj"],zyr=[".png",".jpg",".jpeg",".gif",".bmp",".ico",".webp",".svg",".pdf",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".zip",".tar",".gz",".rar",".7z",".exe",".dll",".so",".dylib",".bin",".dat",".db",".sqlite",".sqlite3",".woff",".woff2",".ttf",".otf",".eot",".mp3",".mp4",".wav",".avi",".mov",".mkv",".webm",".flv",".class",".jar",".war",".ear",".pyc",".pyo",".o",".obj",".a",".lib"]});var rIt={};jE(rIt,{CLAUDE_MODELS:()=>mw,MODEL_ALIASES:()=>kz,calculateModelCost:()=>z0t,compareModels:()=>q0t,getAvailableAliases:()=>Q0t,getAvailableModelIds:()=>X0t,getAvailableModels:()=>WO,getCheapestModel:()=>K0t,getDefaultModel:()=>j0t,getDefaultModelId:()=>B0t,getModelConfig:()=>ry,getModelDescription:()=>qpe,getModelTier:()=>tIt,getModelsByCapability:()=>$0t,getMostCapableModel:()=>eIt,isValidModel:()=>U0t,resolveModelId:()=>ny});function ny(a){let r=a.toLowerCase();if(kz[r])return kz[r];for(let n of Object.keys(mw))if(n.toLowerCase()===r)return n;return a}function ry(a){let r=ny(a);return mw[r]}function WO(){return Object.values(mw)}function X0t(){return Object.keys(mw)}function Q0t(){return Object.keys(kz)}function U0t(a){return ny(a)in mw}function j0t(){return mw["claude-sonnet-4-5-20250929"]}function B0t(){return"claude-sonnet-4-5-20250929"}function z0t(a,r,n){let o=ry(a);if(!o)return null;let l=r/1e6*o.pricing.inputPricePerMillion,f=n/1e6*o.pricing.outputPricePerMillion;return l+f}function q0t(a,r,n){let o=ry(a),l=ry(r);if(!o||!l)return 0;switch(n){case"price":return o.pricing.inputPricePerMillion-l.pricing.inputPricePerMillion;case"context":return l.contextWindow-o.contextWindow;case"speed":return l.pricing.inputPricePerMillion-o.pricing.inputPricePerMillion;default:return 0}}function $0t(a){return WO().filter(r=>r.capabilities[a])}function K0t(){return WO().reduce((r,n)=>n.pricing.inputPricePerMillion<r.pricing.inputPricePerMillion?n:r)}function eIt(){return mw["claude-opus-4-5-20251101"]}function tIt(a){let r=ny(a);if(r.includes("haiku"))return"economy";if(r.includes("sonnet"))return"balanced";if(r.includes("opus"))return"premium"}function qpe(a){let r=ny(a);if(r.includes("opus"))return"Most capable model - best for complex reasoning, analysis, and extended thinking";if(r.includes("sonnet"))return"Balanced performance and cost - ideal for most coding tasks";if(r.includes("haiku"))return"Fastest and most economical - great for quick responses and simple tasks";if(r.includes("glm-4.7"))return"OpenSource"}var mw,kz,HP=Kt(()=>{"use strict";mw={"glm-4.7:cloud":{id:"glm-4.7:cloud",name:"Z.AI GLM 4.7",provider:"ollama",baseUrl:"https://ollama.com",contextWindow:2e5,maxOutputTokens:8192,pricing:{inputPricePerMillion:3,outputPricePerMillion:15},capabilities:{vision:!0,toolUse:!0,streaming:!0,extendedThinking:!1}},"minimax-m2.1:cloud":{id:"minimax-m2.1:cloud",name:"MiniMax M2.1",provider:"ollama",baseUrl:"https://ollama.com",contextWindow:2e5,maxOutputTokens:8192,pricing:{inputPricePerMillion:3,outputPricePerMillion:15},capabilities:{vision:!0,toolUse:!0,streaming:!0,extendedThinking:!1}},"kimi-k2.5:cloud":{id:"kimi-k2.5:cloud",name:"Kimi K2.5",provider:"ollama",baseUrl:"https://ollama.com",contextWindow:2e5,maxOutputTokens:8192,pricing:{inputPricePerMillion:3,outputPricePerMillion:15},capabilities:{vision:!0,toolUse:!0,streaming:!0,extendedThinking:!1}},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"Gemini 3 Pro",provider:"ollama",baseUrl:"https://ollama.com",contextWindow:2e5,maxOutputTokens:8192,pricing:{inputPricePerMillion:3,outputPricePerMillion:15},capabilities:{vision:!0,toolUse:!0,streaming:!0,extendedThinking:!1}},"claude-sonnet-4-5-20250929":{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet 4.5",provider:"anthropic",baseUrl:"https://api.anthropic.com",contextWindow:2e5,maxOutputTokens:8192,pricing:{inputPricePerMillion:3,outputPricePerMillion:15},capabilities:{vision:!0,toolUse:!0,streaming:!0,extendedThinking:!1}},"claude-opus-4-5-20251101":{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5",provider:"anthropic",baseUrl:"https://api.anthropic.com",contextWindow:2e5,maxOutputTokens:8192,pricing:{inputPricePerMillion:15,outputPricePerMillion:75},capabilities:{vision:!0,toolUse:!0,streaming:!0,extendedThinking:!0}},"claude-haiku-4-5-20251001":{id:"claude-haiku-4-5-20251001",name:"Claude Haiku 4.5",provider:"anthropic",baseUrl:"https://api.anthropic.com",contextWindow:2e5,maxOutputTokens:8192,pricing:{inputPricePerMillion:.25,outputPricePerMillion:1.25},capabilities:{vision:!0,toolUse:!0,streaming:!0,extendedThinking:!1}}},kz={sonnet:"claude-sonnet-4-5-20250929",opus:"claude-opus-4-5-20251101",haiku:"claude-haiku-4-5-20251001","glm-4.7":"glm-4.7:cloud","minimax-m2.1":"minimax-m2.1:cloud","kimi-k2.5":"kimi-k2.5:cloud","gemini-3-pro":"gemini-3-pro-preview",fast:"claude-haiku-4-5-20251001",quick:"claude-haiku-4-5-20251001",smart:"claude-sonnet-4-5-20250929",balanced:"claude-sonnet-4-5-20250929",powerful:"claude-opus-4-5-20251101",best:"claude-opus-4-5-20251101",robust:"glm-4.7:cloud",deep:"kimi-k2.5:cloud",versatile:"minimax-m2.1:cloud",creative:"gemini-3-pro-preview",s:"claude-sonnet-4-5-20250929",o:"claude-opus-4-5-20251101",h:"claude-haiku-4-5-20251001",g:"glm-4.7:cloud",m:"minimax-m2.1:cloud",k:"kimi-k2.5:cloud",p:"gemini-3-pro-preview"}});var aIt=ft((bsn,hDe)=>{"use strict";var nIt=Xs("path"),iIt=Xs("module"),qyr=Xs("fs"),sIt=(a,r,n)=>{if(typeof a!="string")throw new TypeError(`Expected \`fromDir\` to be of type \`string\`, got \`${typeof a}\``);if(typeof r!="string")throw new TypeError(`Expected \`moduleId\` to be of type \`string\`, got \`${typeof r}\``);try{a=qyr.realpathSync(a)}catch(f){if(f.code==="ENOENT")a=nIt.resolve(a);else{if(n)return null;throw f}}let o=nIt.join(a,"noop.js"),l=()=>iIt._resolveFilename(r,{id:o,filename:o,paths:iIt._nodeModulePaths(a)});if(n)try{return l()}catch{return null}return l()};hDe.exports=(a,r)=>sIt(a,r);hDe.exports.silent=(a,r)=>sIt(a,r,!0)});var cIt=ft((vsn,gDe)=>{"use strict";var oIt=()=>{let a=Error.prepareStackTrace;Error.prepareStackTrace=(n,o)=>o;let r=new Error().stack.slice(1);return Error.prepareStackTrace=a,r};gDe.exports=oIt;gDe.exports.default=oIt});var uIt=ft((xsn,lIt)=>{"use strict";var $yr=cIt();lIt.exports=a=>{let r=$yr();if(!a)return r[2].getFileName();let n=!1;r.shift();for(let o of r){let l=o.getFileName();if(typeof l=="string"){if(l===a){n=!0;continue}if(l!=="module.js"&&n&&l!==a)return l}}}});var pIt=ft((wsn,dIt)=>{"use strict";var Kyr=Xs("path"),ebr=aIt(),tbr=uIt();dIt.exports=a=>{if(typeof a!="string")throw new TypeError("Expected a string");let r=tbr(__filename),n=r?Kyr.dirname(r):__dirname,o=ebr(n,a),l=Xs.cache[o];if(l&&l.parent){let h=l.parent.children.length;for(;h--;)l.parent.children[h].id===o&&l.parent.children.splice(h,1)}delete Xs.cache[o];let f=Xs.cache[r];return f===void 0||f.require===void 0?Xs(o):f.require(o)}});var mIt=ft((Ssn,fIt)=>{"use strict";fIt.exports=function(r){return r?r instanceof Array||Array.isArray(r)||r.length>=0&&r.splice instanceof Function:!1}});var hIt=ft((Gsn,_It)=>{"use strict";var rbr=Xs("util"),nbr=mIt(),IDe=function(r,n){(!r||r.constructor!==String)&&(n=r||{},r=Error.name);var o=function l(f){if(!this)return new l(f);f=f instanceof Error?f.message:f||this.message,Error.call(this,f),Error.captureStackTrace(this,o),this.name=r,Object.defineProperty(this,"message",{configurable:!0,enumerable:!1,get:function(){var D=f.split(/\r?\n/g);for(var Q in n)if(n.hasOwnProperty(Q)){var M=n[Q];"message"in M&&(D=M.message(this[Q],D)||D,nbr(D)||(D=[D]))}return D.join(`
|
|
1
|
+
var eyr=Object.create;var Mpe=Object.defineProperty;var tyr=Object.getOwnPropertyDescriptor;var ryr=Object.getOwnPropertyNames;var nyr=Object.getPrototypeOf,iyr=Object.prototype.hasOwnProperty;var Xs=(a=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(a,{get:(r,n)=>(typeof require<"u"?require:r)[n]}):a)(function(a){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+a+'" is not supported')});var Kt=(a,r)=>()=>(a&&(r=a(a=0)),r);var ft=(a,r)=>()=>(r||a((r={exports:{}}).exports,r),r.exports),jE=(a,r)=>{for(var n in r)Mpe(a,n,{get:r[n],enumerable:!0})},V0t=(a,r,n,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let l of ryr(r))!iyr.call(a,l)&&l!==n&&Mpe(a,l,{get:()=>r[l],enumerable:!(o=tyr(r,l))||o.enumerable});return a};var Ho=(a,r,n)=>(n=a!=null?eyr(nyr(a)):{},V0t(r||!a||!a.__esModule?Mpe(n,"default",{value:a,enumerable:!0}):n,a)),syr=a=>V0t(Mpe({},"__esModule",{value:!0}),a);function P0t(a){if(typeof a!="object"||a===null)return!1;let r=a;return typeof r.dataCollection=="boolean"&&typeof r.telemetry=="boolean"&&typeof r.analytics=="boolean"&&typeof r.errorReporting=="boolean"}function myr(a){if(typeof a!="object"||a===null)return!1;let r=a;return typeof r.id=="string"&&typeof r.version=="string"&&typeof r.grantedAt=="string"&&typeof r.expiresAt=="string"&&P0t(r.consent)}function _yr(){return{dataCollection:Ype.dataCollection.defaultValue,telemetry:Ype.telemetry.defaultValue,analytics:Ype.analytics.defaultValue,errorReporting:Ype.errorReporting.defaultValue}}function hyr(){return{dataCollection:!0,telemetry:!0,analytics:!0,errorReporting:!0}}function gyr(){return{dataCollection:!0,telemetry:!1,analytics:!1,errorReporting:!1}}var UPe,Ype,jPe=Kt(()=>{"use strict";UPe="1.0.0",Ype={dataCollection:{title:"Data Collection",description:"Allow Compass to store conversation history and session data locally for improved functionality.",required:!0,defaultValue:!0},telemetry:{title:"Anonymous Telemetry",description:"Help improve Compass by sending anonymous usage statistics.",required:!1,defaultValue:!1},analytics:{title:"Analytics",description:"Allow collection of feature usage patterns to improve the product.",required:!1,defaultValue:!1},errorReporting:{title:"Error Reporting",description:"Automatically send error reports to help fix bugs.",required:!1,defaultValue:!0}}});var kO,TO=Kt(()=>{"use strict";kO=(l=>(l.MANUAL="manual",l.AUTO="auto",l.STRICT="strict",l.SMART="smart",l))(kO||{})});var xz,BPe,Ope,wz=Kt(()=>{"use strict";xz=(h=>(h.DIRECT="direct",h.CLARIFICATION="clarification",h.TODO_LIST="todo_list",h.PLAN="plan",h.PLAN_ADOPT="plan_adopt",h.NO_ACTION="no_action",h))(xz||{}),BPe=(v=>(v.PENDING="pending",v.IN_PROGRESS="in_progress",v.PAUSED="paused",v.COMPLETED="completed",v.FAILED="failed",v.SKIPPED="skipped",v.ROLLED_BACK="rolled_back",v))(BPe||{}),Ope=(D=>(D.IDLE="idle",D.CONTEXT_GATHERING="context_gathering",D.COMPLEXITY_ASSESSMENT="complexity_assessment",D.CLARIFICATION="clarification",D.PLAN_GENERATION="plan_generation",D.PLAN_REVIEW="plan_review",D.EXECUTION="execution",D.VERIFICATION="verification",D.COMPLETED="completed",D.FAILED="failed",D))(Ope||{})});var J0t={};jE(J0t,{AGENT_SOURCE_PRIORITY:()=>Az,compareAgentPriority:()=>H0t,createDefaultAgentDefinition:()=>Y0t,getAgentSourcePriority:()=>Hpe,isValidAgentFrontmatter:()=>Lpe,isValidAgentPermissionMode:()=>Jpe,isValidAgentSource:()=>D0t,isValidCLIAgentConfig:()=>M0t,parseToolsList:()=>OP,serializeToolsList:()=>O0t});function Jpe(a){return typeof a=="string"&&["default","acceptEditsAsk","bypassPermissions","plan","ignore","acceptEdits","dontAsk"].includes(a)}function D0t(a){return typeof a=="string"&&["project","cli","user","builtin"].includes(a)}function Lpe(a){if(typeof a!="object"||a===null)return!1;let r=a;return!(typeof r.name!="string"||r.name.length===0||typeof r.description!="string"||r.description.length===0||r.tools!==void 0&&typeof r.tools!="string"||r.disallowedTools!==void 0&&typeof r.disallowedTools!="string"||r.model!==void 0&&typeof r.model!="string"||r.permissionMode!==void 0&&!Jpe(r.permissionMode)||r.skills!==void 0&&typeof r.skills!="string"||r.standalone!==void 0&&typeof r.standalone!="boolean"||r.mcpServers!==void 0&&typeof r.mcpServers!="string")}function M0t(a){if(typeof a!="object"||a===null)return!1;let r=a;return!(typeof r.description!="string"||typeof r.prompt!="string"||r.tools!==void 0&&!Array.isArray(r.tools)||r.disallowedTools!==void 0&&!Array.isArray(r.disallowedTools)||r.model!==void 0&&typeof r.model!="string"||r.permissionMode!==void 0&&!Jpe(r.permissionMode)||r.skills!==void 0&&!Array.isArray(r.skills)||r.standalone!==void 0&&typeof r.standalone!="boolean"||r.mcpServers!==void 0&&!Array.isArray(r.mcpServers))}function Y0t(a,r,n,o="builtin"){return{id:`${o}-${a}`,name:a,description:r,systemPrompt:n,source:o,permissionMode:"default",isActive:!0,rawFrontmatter:{name:a,description:r}}}function OP(a){if(!(!a||a.trim()===""))return a.split(",").map(r=>r.trim()).filter(r=>r.length>0)}function O0t(a){if(!(!a||a.length===0))return a.join(", ")}function Hpe(a){return Az.indexOf(a)}function H0t(a,r){return Hpe(a.source)-Hpe(r.source)}var Az,Xpe=Kt(()=>{"use strict";Az=["builtin","user","cli","project"]});function Upe(a){return typeof a=="string"&&L0t.includes(a)}function Gyr(a){return typeof a=="string"&&["personal","project"].includes(a)}function Eyr(a){if(typeof a!="object"||a===null)return!1;let r=a;return!(r.description!==void 0&&typeof r.description!="string"||r.enabled!==void 0&&typeof r.enabled!="boolean"||r.tools!==void 0&&!Array.isArray(r.tools)||r.match!==void 0&&typeof r.match!="object"||r.timeout!==void 0&&typeof r.timeout!="number")}function zPe(a){return Qpe.indexOf(a)}function Cyr(a,r){return zPe(a.source)-zPe(r.source)}var L0t,Qpe,qPe=Kt(()=>{"use strict";L0t=["PreToolUse","PostToolUse","UserPromptSubmit","Notification","Stop"],Qpe=["personal","project"]});var Sz,Gz,NO,jpe,$Pe,Ez,KPe,eDe,kyr,FO,tDe,Tyr,rDe,nDe,iDe,sDe,GW,aDe,oDe,Nyr,Fyr,Ryr,cDe,lDe,uDe,Bpe,Wyr,Zyr,zpe,dDe,Cz,Vyr,Pyr,Dyr,Myr,BE,RO,pDe,Yyr,Oyr,Hyr,Jyr,Lyr,rN,EW,Nv,fDe,Xyr,Qyr,Uyr,jyr,Byr,mDe,_De,zyr,Gf=Kt(()=>{"use strict";Sz=".compass",Gz=".compass",NO="config.json",jpe="session.json",$Pe="consent.json",Ez="credentials.enc",KPe="logs",eDe="backups",kyr="cache",FO="saved-sessions",tDe="index",Tyr="context",rDe="commands",nDe="agents",iDe="skills",sDe="hooks",GW=16384,aDe=5e4,oDe=5e4,Nyr=80,Fyr=10,Ryr=30,cDe=30,lDe=365,uDe=6e4,Bpe=3e4,Wyr=50,Zyr=1048576,zpe=100,dDe=8e3,Cz=4e3,Vyr=6e3,Pyr=90,Dyr=1e5,Myr=524288e3,BE="claude-sonnet-4-5-20250929",RO=.6,pDe="haiku",Yyr="banner",Oyr=4,Hyr=1e3,Jyr=16e3,Lyr=.1,rN={anthropic:{model:BE,maxTokens:16384,temperature:.6},project:{rootDir:process.cwd(),ignorePatterns:["node_modules/**",".git/**","dist/**","build/**","out/**","coverage/**",".next/**",".nuxt/**",".output/**","*.log",".env*","*.lock","package-lock.json","yarn.lock","pnpm-lock.yaml",".DS_Store","Thumbs.db","*.min.js","*.min.css","*.map",".compass/**"],includePatterns:["**/*"],maxFileSize:1048576,indexOnStartup:!0},safety:{requireApproval:!0,autoApprovePatterns:[],blockedPatterns:[".env*","*.key","*.pem","*.p12","*.pfx","secrets/**","**/secrets/**","**/*.secret","**/credentials*","**/password*"],maxFilesPerOperation:50,backupBeforeModify:!0,shellCommandTimeout:3e4,allowedShellCommands:["npm","npx","yarn","pnpm","git","node","tsc","eslint","prettier","jest","vitest","mocha","cargo","rustc","go","python","python3","pip","pip3","poetry","make","cmake","gradle","mvn","docker","kubectl","terraform","aws","gcloud","az","cat","ls","pwd","echo","head","tail","grep","find","wc","sort","uniq","diff","tree"],blockedShellCommands:["rm -rf /","rm -rf /*","rm -rf ~","rm -rf ~/*","sudo rm -rf",":(){:|:&};:","mkfs","dd if=/dev/zero","dd if=/dev/random","> /dev/sda","chmod -R 777 /","chown -R","wget | sh","curl | sh","wget | bash","curl | bash"]},ui:{theme:"auto",showTokenUsage:!0,showTimestamps:!1,compactMode:!1,animationsEnabled:!0,colorOutput:!0},session:{autoSave:!0,autoSaveInterval:6e4,maxHistoryLength:100,autoCompactThreshold:5e4,sessionExpiryDays:30},update:{checkOnStartup:!0,checkInterval:4,showNotifications:!0,notificationStyle:Yyr,includePrerelease:!1},agentic:{maxIterations:200,costWarningThreshold:5,costHardCap:0,autoCompactAtPercent:80,stuckDetectionEnabled:!0,stuckDetectionThreshold:3,maxIterationsPerTask:50}},EW=["anthropic","ollama","zai","minimax"],Nv={API_KEY:"ANTHROPIC_API_KEY",COMPASS_API_KEY:"COMPASS_API_KEY",OLLAMA_API_KEY:"OLLAMA_API_KEY",ZAI_API_KEY:"ZAI_API_KEY",MINIMAX_API_KEY:"MINIMAX_API_KEY",MODEL:"COMPASS_MODEL",CONFIG_PATH:"COMPASS_CONFIG",DEBUG:"COMPASS_DEBUG",NO_COLOR:"NO_COLOR",FORCE_COLOR:"FORCE_COLOR",HOME:"HOME",USERPROFILE:"USERPROFILE"},fDe={anthropic:Nv.API_KEY,ollama:Nv.OLLAMA_API_KEY,zai:Nv.ZAI_API_KEY,minimax:Nv.MINIMAX_API_KEY},Xyr="1.0.39",Qyr="Compass CLI",Uyr="Agentic CLI by Compass Agentic Platform",jyr="1.0.0",Byr={".ts":"typescript",".tsx":"typescript",".js":"javascript",".jsx":"javascript",".mjs":"javascript",".cjs":"javascript",".py":"python",".rb":"ruby",".go":"go",".rs":"rust",".java":"java",".kt":"kotlin",".scala":"scala",".cs":"csharp",".fs":"fsharp",".cpp":"cpp",".cc":"cpp",".cxx":"cpp",".c":"c",".h":"c",".hpp":"cpp",".swift":"swift",".php":"php",".pl":"perl",".pm":"perl",".sh":"bash",".bash":"bash",".zsh":"zsh",".fish":"fish",".ps1":"powershell",".sql":"sql",".r":"r",".R":"r",".lua":"lua",".vim":"vim",".el":"elisp",".clj":"clojure",".cljs":"clojure",".ex":"elixir",".exs":"elixir",".erl":"erlang",".hrl":"erlang",".hs":"haskell",".ml":"ocaml",".mli":"ocaml",".nim":"nim",".zig":"zig",".v":"v",".d":"d",".dart":"dart",".groovy":"groovy",".gradle":"groovy",".json":"json",".yaml":"yaml",".yml":"yaml",".toml":"toml",".xml":"xml",".html":"html",".htm":"html",".css":"css",".scss":"scss",".sass":"sass",".less":"less",".md":"markdown",".mdx":"markdown",".rst":"restructuredtext",".tex":"latex",".dockerfile":"dockerfile",".tf":"terraform",".hcl":"hcl",".proto":"protobuf",".graphql":"graphql",".gql":"graphql",".vue":"vue",".svelte":"svelte",".astro":"astro"},mDe=["package-lock.json","yarn.lock","pnpm-lock.yaml","composer.lock","Gemfile.lock","poetry.lock","Cargo.lock","go.sum","*.map","*.js.map","*.css.map","*.min.js","*.min.css","*.bundle.js","*.chunk.js","*.sql","*.csv","**/__snapshots__/**","**/fixtures/**/*.json","*.d.ts.map"],_De=["node_modules",".git","dist","build","out","coverage",".next",".nuxt",".output",".cache",".parcel-cache","vendor","__pycache__",".pytest_cache","target","bin","obj"],zyr=[".png",".jpg",".jpeg",".gif",".bmp",".ico",".webp",".svg",".pdf",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".zip",".tar",".gz",".rar",".7z",".exe",".dll",".so",".dylib",".bin",".dat",".db",".sqlite",".sqlite3",".woff",".woff2",".ttf",".otf",".eot",".mp3",".mp4",".wav",".avi",".mov",".mkv",".webm",".flv",".class",".jar",".war",".ear",".pyc",".pyo",".o",".obj",".a",".lib"]});var rIt={};jE(rIt,{CLAUDE_MODELS:()=>mw,MODEL_ALIASES:()=>kz,calculateModelCost:()=>z0t,compareModels:()=>q0t,getAvailableAliases:()=>Q0t,getAvailableModelIds:()=>X0t,getAvailableModels:()=>WO,getCheapestModel:()=>K0t,getDefaultModel:()=>j0t,getDefaultModelId:()=>B0t,getModelConfig:()=>ry,getModelDescription:()=>qpe,getModelTier:()=>tIt,getModelsByCapability:()=>$0t,getMostCapableModel:()=>eIt,isValidModel:()=>U0t,resolveModelId:()=>ny});function ny(a){let r=a.toLowerCase();if(kz[r])return kz[r];for(let n of Object.keys(mw))if(n.toLowerCase()===r)return n;return a}function ry(a){let r=ny(a);return mw[r]}function WO(){return Object.values(mw)}function X0t(){return Object.keys(mw)}function Q0t(){return Object.keys(kz)}function U0t(a){return ny(a)in mw}function j0t(){return mw["claude-sonnet-4-5-20250929"]}function B0t(){return"claude-sonnet-4-5-20250929"}function z0t(a,r,n){let o=ry(a);if(!o)return null;let l=r/1e6*o.pricing.inputPricePerMillion,f=n/1e6*o.pricing.outputPricePerMillion;return l+f}function q0t(a,r,n){let o=ry(a),l=ry(r);if(!o||!l)return 0;switch(n){case"price":return o.pricing.inputPricePerMillion-l.pricing.inputPricePerMillion;case"context":return l.contextWindow-o.contextWindow;case"speed":return l.pricing.inputPricePerMillion-o.pricing.inputPricePerMillion;default:return 0}}function $0t(a){return WO().filter(r=>r.capabilities[a])}function K0t(){return WO().reduce((r,n)=>n.pricing.inputPricePerMillion<r.pricing.inputPricePerMillion?n:r)}function eIt(){return mw["claude-opus-4-5-20251101"]}function tIt(a){let r=ny(a);if(r.includes("haiku"))return"economy";if(r.includes("sonnet"))return"balanced";if(r.includes("opus"))return"premium"}function qpe(a){let r=ny(a);if(r.includes("opus"))return"Most capable model - best for complex reasoning, analysis, and extended thinking";if(r.includes("sonnet"))return"Balanced performance and cost - ideal for most coding tasks";if(r.includes("haiku"))return"Fastest and most economical - great for quick responses and simple tasks";if(r.includes("glm-4.7"))return"OpenSource"}var mw,kz,HP=Kt(()=>{"use strict";mw={"glm-4.7:cloud":{id:"glm-4.7:cloud",name:"Z.AI GLM 4.7",provider:"ollama",baseUrl:"https://ollama.com",contextWindow:2e5,maxOutputTokens:8192,pricing:{inputPricePerMillion:3,outputPricePerMillion:15},capabilities:{vision:!0,toolUse:!0,streaming:!0,extendedThinking:!1}},"minimax-m2.1:cloud":{id:"minimax-m2.1:cloud",name:"MiniMax M2.1",provider:"ollama",baseUrl:"https://ollama.com",contextWindow:2e5,maxOutputTokens:8192,pricing:{inputPricePerMillion:3,outputPricePerMillion:15},capabilities:{vision:!0,toolUse:!0,streaming:!0,extendedThinking:!1}},"kimi-k2.5:cloud":{id:"kimi-k2.5:cloud",name:"Kimi K2.5",provider:"ollama",baseUrl:"https://ollama.com",contextWindow:2e5,maxOutputTokens:8192,pricing:{inputPricePerMillion:3,outputPricePerMillion:15},capabilities:{vision:!0,toolUse:!0,streaming:!0,extendedThinking:!1}},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"Gemini 3 Pro",provider:"ollama",baseUrl:"https://ollama.com",contextWindow:2e5,maxOutputTokens:8192,pricing:{inputPricePerMillion:3,outputPricePerMillion:15},capabilities:{vision:!0,toolUse:!0,streaming:!0,extendedThinking:!1}},"claude-sonnet-4-5-20250929":{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet 4.5",provider:"anthropic",baseUrl:"https://api.anthropic.com",contextWindow:2e5,maxOutputTokens:8192,pricing:{inputPricePerMillion:3,outputPricePerMillion:15},capabilities:{vision:!0,toolUse:!0,streaming:!0,extendedThinking:!1}},"claude-opus-4-5-20251101":{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5",provider:"anthropic",baseUrl:"https://api.anthropic.com",contextWindow:2e5,maxOutputTokens:8192,pricing:{inputPricePerMillion:15,outputPricePerMillion:75},capabilities:{vision:!0,toolUse:!0,streaming:!0,extendedThinking:!0}},"claude-haiku-4-5-20251001":{id:"claude-haiku-4-5-20251001",name:"Claude Haiku 4.5",provider:"anthropic",baseUrl:"https://api.anthropic.com",contextWindow:2e5,maxOutputTokens:8192,pricing:{inputPricePerMillion:.25,outputPricePerMillion:1.25},capabilities:{vision:!0,toolUse:!0,streaming:!0,extendedThinking:!1}}},kz={sonnet:"claude-sonnet-4-5-20250929",opus:"claude-opus-4-5-20251101",haiku:"claude-haiku-4-5-20251001","glm-4.7":"glm-4.7:cloud","minimax-m2.1":"minimax-m2.1:cloud","kimi-k2.5":"kimi-k2.5:cloud","gemini-3-pro":"gemini-3-pro-preview",fast:"claude-haiku-4-5-20251001",quick:"claude-haiku-4-5-20251001",smart:"claude-sonnet-4-5-20250929",balanced:"claude-sonnet-4-5-20250929",powerful:"claude-opus-4-5-20251101",best:"claude-opus-4-5-20251101",robust:"glm-4.7:cloud",deep:"kimi-k2.5:cloud",versatile:"minimax-m2.1:cloud",creative:"gemini-3-pro-preview",s:"claude-sonnet-4-5-20250929",o:"claude-opus-4-5-20251101",h:"claude-haiku-4-5-20251001",g:"glm-4.7:cloud",m:"minimax-m2.1:cloud",k:"kimi-k2.5:cloud",p:"gemini-3-pro-preview"}});var aIt=ft((bsn,hDe)=>{"use strict";var nIt=Xs("path"),iIt=Xs("module"),qyr=Xs("fs"),sIt=(a,r,n)=>{if(typeof a!="string")throw new TypeError(`Expected \`fromDir\` to be of type \`string\`, got \`${typeof a}\``);if(typeof r!="string")throw new TypeError(`Expected \`moduleId\` to be of type \`string\`, got \`${typeof r}\``);try{a=qyr.realpathSync(a)}catch(f){if(f.code==="ENOENT")a=nIt.resolve(a);else{if(n)return null;throw f}}let o=nIt.join(a,"noop.js"),l=()=>iIt._resolveFilename(r,{id:o,filename:o,paths:iIt._nodeModulePaths(a)});if(n)try{return l()}catch{return null}return l()};hDe.exports=(a,r)=>sIt(a,r);hDe.exports.silent=(a,r)=>sIt(a,r,!0)});var cIt=ft((vsn,gDe)=>{"use strict";var oIt=()=>{let a=Error.prepareStackTrace;Error.prepareStackTrace=(n,o)=>o;let r=new Error().stack.slice(1);return Error.prepareStackTrace=a,r};gDe.exports=oIt;gDe.exports.default=oIt});var uIt=ft((xsn,lIt)=>{"use strict";var $yr=cIt();lIt.exports=a=>{let r=$yr();if(!a)return r[2].getFileName();let n=!1;r.shift();for(let o of r){let l=o.getFileName();if(typeof l=="string"){if(l===a){n=!0;continue}if(l!=="module.js"&&n&&l!==a)return l}}}});var pIt=ft((wsn,dIt)=>{"use strict";var Kyr=Xs("path"),ebr=aIt(),tbr=uIt();dIt.exports=a=>{if(typeof a!="string")throw new TypeError("Expected a string");let r=tbr(__filename),n=r?Kyr.dirname(r):__dirname,o=ebr(n,a),l=Xs.cache[o];if(l&&l.parent){let h=l.parent.children.length;for(;h--;)l.parent.children[h].id===o&&l.parent.children.splice(h,1)}delete Xs.cache[o];let f=Xs.cache[r];return f===void 0||f.require===void 0?Xs(o):f.require(o)}});var mIt=ft((Ssn,fIt)=>{"use strict";fIt.exports=function(r){return r?r instanceof Array||Array.isArray(r)||r.length>=0&&r.splice instanceof Function:!1}});var hIt=ft((Gsn,_It)=>{"use strict";var rbr=Xs("util"),nbr=mIt(),IDe=function(r,n){(!r||r.constructor!==String)&&(n=r||{},r=Error.name);var o=function l(f){if(!this)return new l(f);f=f instanceof Error?f.message:f||this.message,Error.call(this,f),Error.captureStackTrace(this,o),this.name=r,Object.defineProperty(this,"message",{configurable:!0,enumerable:!1,get:function(){var D=f.split(/\r?\n/g);for(var Q in n)if(n.hasOwnProperty(Q)){var M=n[Q];"message"in M&&(D=M.message(this[Q],D)||D,nbr(D)||(D=[D]))}return D.join(`
|
|
2
2
|
`)},set:function(D){f=D}});var h=null,v=Object.getOwnPropertyDescriptor(this,"stack"),E=v.get,R=v.value;delete v.value,delete v.writable,v.set=function(D){h=D},v.get=function(){var D=(h||(E?E.call(this):R)).split(/\r?\n+/g);h||(D[0]=this.name+": "+this.message);var Q=1;for(var M in n)if(n.hasOwnProperty(M)){var ne=n[M];if("line"in ne){var he=ne.line(this[M]);he&&D.splice(Q++,0," "+he)}"stack"in ne&&ne.stack(this[M],D)}return D.join(`
|
|
3
3
|
`)},Object.defineProperty(this,"stack",v)};return Object.setPrototypeOf?(Object.setPrototypeOf(o.prototype,Error.prototype),Object.setPrototypeOf(o,Error)):rbr.inherits(o,Error),o};IDe.append=function(a,r){return{message:function(n,o){return n=n||r,n&&(o[0]+=" "+a.replace("%s",n.toString())),o}}};IDe.line=function(a,r){return{line:function(n){return n=n||r,n?a.replace("%s",n.toString()):null}}};_It.exports=IDe});var yIt=ft((Esn,IIt)=>{"use strict";var ibr=a=>{let r=a.charCodeAt(0).toString(16).toUpperCase();return"0x"+(r.length%2?"0":"")+r},sbr=(a,r,n)=>{if(!r)return{message:a.message+" while parsing empty string",position:0};let o=a.message.match(/^Unexpected token (.) .*position\s+(\d+)/i),l=o?+o[2]:a.message.match(/^Unexpected end of JSON.*/i)?r.length-1:null,f=o?a.message.replace(/^Unexpected token ./,`Unexpected token ${JSON.stringify(o[1])} (${ibr(o[1])})`):a.message;if(l!=null){let h=l<=n?0:l-n,v=l+n>=r.length?r.length:l+n,E=(h===0?"":"...")+r.slice(h,v)+(v===r.length?"":"...");return{message:f+` while parsing ${r===E?"":"near "}${JSON.stringify(E)}`,position:l}}else return{message:f+` while parsing '${r.slice(0,n*2)}'`,position:0}},$pe=class extends SyntaxError{constructor(r,n,o,l){o=o||20;let f=sbr(r,n,o);super(f.message),Object.assign(this,f),this.code="EJSONPARSE",this.systemError=r,Error.captureStackTrace(this,l||this.constructor)}get name(){return this.constructor.name}set name(r){}get[Symbol.toStringTag](){return this.constructor.name}},abr=Symbol.for("indent"),obr=Symbol.for("newline"),cbr=/^\s*[{\[]((?:\r?\n)+)([\s\t]*)/,lbr=/^(?:\{\}|\[\])((?:\r?\n)+)?$/,Kpe=(a,r,n)=>{let o=gIt(a);n=n||20;try{let[,l=`
|
|
4
4
|
`,f=" "]=o.match(lbr)||o.match(cbr)||[,"",""],h=JSON.parse(o,r);return h&&typeof h=="object"&&(h[obr]=l,h[abr]=f),h}catch(l){if(typeof a!="string"&&!Buffer.isBuffer(a)){let f=Array.isArray(a)&&a.length===0;throw Object.assign(new TypeError(`Cannot parse ${f?"an empty array":String(a)}`),{code:"EJSONPARSE",systemError:l})}throw new $pe(l,o,n,Kpe)}},gIt=a=>String(a).replace(/^\uFEFF/,"");IIt.exports=Kpe;Kpe.JSONParseError=$pe;Kpe.noExceptions=(a,r)=>{try{return JSON.parse(gIt(a),r)}catch{}}});var xIt=ft(Tz=>{"use strict";Tz.__esModule=!0;Tz.LinesAndColumns=void 0;var efe=`
|
|
@@ -1562,7 +1562,7 @@ ${f}`),r&&(v=`${v}
|
|
|
1562
1562
|
|
|
1563
1563
|
${r.formatted}`),v}var hWt,gWt=Kt(()=>{"use strict";g8();hWt=`
|
|
1564
1564
|
You are Nova, Compass's official CLI agent.
|
|
1565
|
-
You are an interactive CLI tool that helps users with software engineering tasks. Use the instructions below and the tools available to you to assist the user.
|
|
1565
|
+
You are an interactive CLI tool that helps users with software engineering and productivity tasks. Use the instructions below and the tools available to you to assist the user.
|
|
1566
1566
|
|
|
1567
1567
|
**CRITICAL:** Assist with defensive security tasks only. Refuse to create, modify, or improve code that may be used maliciously. Do not assist with
|
|
1568
1568
|
credential discovery or harvesting, including bulk crawling for SSH keys, browser cookies, or cryptocurrency wallets. Allow security analysis,
|
|
@@ -1570,6 +1570,7 @@ detection rules, vulnerability explanations, defensive tools, and security docum
|
|
|
1570
1570
|
|
|
1571
1571
|
**IMPORTANT:** Never generate or guess URLs unless helping with programming. Use only URLs provided by the user.
|
|
1572
1572
|
|
|
1573
|
+
If the user asks for tasks outside software engineering or productivity, first check the tools available to you to see if you can help.
|
|
1573
1574
|
If the user asks for help or wants to give feedback inform them of the following:
|
|
1574
1575
|
- /help: Get help with using Nova
|
|
1575
1576
|
|
|
@@ -1603,7 +1604,6 @@ Every user request must be treated as mission critical. Prioritize accuracy, saf
|
|
|
1603
1604
|
- Don't restate the user's question back to them.
|
|
1604
1605
|
- Don't pad responses with "let me know if you need more" or similar.
|
|
1605
1606
|
|
|
1606
|
-
|
|
1607
1607
|
Here are some examples to demonstrate appropriate verbosity:
|
|
1608
1608
|
<example>
|
|
1609
1609
|
user: 2 + 2
|
|
@@ -1642,6 +1642,7 @@ assistant: [runs ls and sees foo.c, bar.c, baz.c]
|
|
|
1642
1642
|
user: which file contains the implementation of foo?
|
|
1643
1643
|
assistant: src/foo.c
|
|
1644
1644
|
</example>
|
|
1645
|
+
|
|
1645
1646
|
When you run a non-trivial execute_command command, you should explain what the command does and why you are running it, to make sure the user understands what
|
|
1646
1647
|
you are doing (this is especially important when you are running a command that will make changes to the user's system).
|
|
1647
1648
|
Remember that your output will be displayed on a command line interface. Your responses can use Github-flavored markdown for formatting, and will be
|
|
@@ -1751,7 +1752,6 @@ This mode prioritizes understanding over speed. For simple lookups or known loca
|
|
|
1751
1752
|
# Tool usage policy
|
|
1752
1753
|
- When doing file search, prefer to use the "spawn_task" in order to reduce context usage.
|
|
1753
1754
|
- You should proactively use the "spawn_task" tool with specialized agents when the task at hand matches the agent's description.
|
|
1754
|
-
|
|
1755
1755
|
- When WebFetch returns a message about a redirect to a different host, you should immediately make a new WebFetch request with the redirect URL
|
|
1756
1756
|
provided in the response.
|
|
1757
1757
|
- You have the capability to call multiple tools in a single response. When multiple independent pieces of information are requested, batch your tool
|
|
@@ -1765,7 +1765,6 @@ example, if you need to launch multiple agents in parallel, send a single messag
|
|
|
1765
1765
|
|
|
1766
1766
|
You can use the following tools without requiring user approval: read_file(//Users/**), execute_command(sudo:*)
|
|
1767
1767
|
|
|
1768
|
-
|
|
1769
1768
|
Here is useful information about the environment you are running in:
|
|
1770
1769
|
<env>
|
|
1771
1770
|
[SYSTEM_INFO]
|
|
@@ -2852,10 +2851,10 @@ ${r}`),o.push({role:"user",content:v}),o}estimateTaskTokens(r,n,o){let l=Lp(r);f
|
|
|
2852
2851
|
`,Din=["#6366f1","#8b5cf6","#a855f7","#d946ef","#ec4899","#f43f5e"];function Min(a,r="Agentic CLI by Compass Agentic Platform"){let n=` v${a}`,o=` ${r}`,l=Din.map(E=>Mn.hex(E)),f=LYt.split(`
|
|
2853
2852
|
`);return["",...f.map((E,R)=>{if(E.trim()==="")return E;let D=Math.floor(R/f.length*l.length),Q=l[Math.min(D,l.length-1)];return Q(E)}),"",Mn.gray(n),Mn.cyan(o),"",Mn.dim("\u2500".repeat(60)),""].join(`
|
|
2854
2853
|
`)}function Yin(a){return Mn.bold.cyan("\u29ED Compass")+Mn.gray(` v${a}`)}function Oin(){return["",Mn.bold.white("Welcome to Nova!"),"",Mn.gray("Your AI assistant by Compass Agentic Platform.")].join(`
|
|
2855
|
-
`)}CS();var gUe=[{name:"Sessions",description:"Commands for managing your conversation session",commands:[{name:"/
|
|
2854
|
+
`)}CS();var gUe=[{name:"Sessions",description:"Commands for managing your conversation session",commands:[{name:"/clear",description:"Clear conversation history",usage:"/clear"},{name:"/compact",description:"Summarize conversation to reduce token usage",usage:"/compact"},{name:"/export",description:"Export conversation to file",usage:"/export [format]",examples:["/export md","/export json","/export html"],hidden:!0},{name:"/reset",description:"Reset session to clean state",usage:"/reset"},{name:"/exit",description:"Exit Compass",usage:"/exit",aliases:["/quit","/q"]}]},{name:"Model & Tokens",description:"Commands for model selection and token tracking",commands:[{name:"/model",description:"Switch between models",usage:"/model [name]",examples:["/model","/model sonnet","/model opus","/model haiku"]},{name:"/tokens",description:"Display token usage statistics",usage:"/tokens"},{name:"/context",description:"Show context window usage",usage:"/context"}]},{name:"File Operations",description:"Commands for file management and indexing",commands:[{name:"/files",description:"List indexed project files",usage:"/files [pattern]",examples:["/files","/files *.ts","/files src/"]},{name:"/index",description:"Reindex project files",usage:"/index"},{name:"/undo",description:"Undo last file operation",usage:"/undo"}]},{name:"Approval & Safety",description:"Commands for approval mode management",commands:[{name:"/approve",description:"Toggle approval mode",usage:"/approve [mode]",examples:["/approve","/approve auto","/approve manual"]}]},{name:"Help & Config",description:"Commands for help and configuration",commands:[{name:"/help",description:"Show this help menu",usage:"/help [topic]",examples:["/help","/help model","/help files"]},{name:"/config",description:"Display current configuration",usage:"/config"}]},{name:"Updates",description:"Commands for checking and installing updates",commands:[{name:"/update",description:"Check for and install updates",usage:"/update [check|install|history|version]",examples:["/update","/update check","/update install","/update history"],aliases:["/upgrade","/up"]}]}],Xin=[{name:"Setup & Configuration",description:"Commands for initial setup and configuration",commands:[{name:"setup",description:"Run first-time setup wizard",usage:"compass setup"},{name:"init",description:"Initialize Compass in current project",usage:"compass init"},{name:"config",description:"View or modify configuration",usage:"compass config [key] [value]",examples:["compass config","compass config model sonnet"]}]},{name:"Data Management",description:"Commands for managing stored data",commands:[{name:"tokens",description:"View token usage history",usage:"compass tokens [--export]"},{name:"consent",description:"Manage consent settings",usage:"compass consent [status|review|revoke]"},{name:"data",description:"Manage stored data",usage:"compass data [list|export|delete]"},{name:"cache",description:"Clear cached data",usage:"compass cache clear"},{name:"reset",description:"Reset to factory settings",usage:"compass reset [--force]"}]},{name:"Updates",description:"Commands for checking and installing updates",commands:[{name:"update",description:"Check for and install updates",usage:"compass update [check|install|history]",examples:["compass update","compass update check","compass update install","compass update history"]}]}];function BYt(a){let r=a.commands.filter(o=>!o.hidden);if(r.length===0)return"";let n=["",Mn.bold.cyan(`\u2501\u2501\u2501 ${a.name} \u2501\u2501\u2501`),Mn.gray(a.description),""];for(let o of r){if(n.push(` ${Mn.yellow(o.name)}`),n.push(` ${Mn.white(o.description)}`),o.usage&&n.push(` ${Mn.gray("Usage:")} ${Mn.dim(o.usage)}`),o.aliases&&o.aliases.length>0&&n.push(` ${Mn.gray("Aliases:")} ${Mn.dim(o.aliases.join(", "))}`),o.examples&&o.examples.length>0){n.push(` ${Mn.gray("Examples:")}`);for(let l of o.examples)n.push(` ${Mn.dim(l)}`)}n.push("")}return n.join(`
|
|
2856
2855
|
`)}function Qin(){try{let{getCustomCommands:a}=(jYt(),syr(UYt)),r=a();return!r||r.length===0?null:{name:"Custom Commands",description:"User-defined commands from .compass/commands/ or ~/.compass/commands/",commands:r.map(o=>{let l=o.namespace?`${o.scope}:${o.namespace}`:o.scope;return{name:`/${o.name}`,description:`${o.description} (${l})`,usage:o.frontmatter["argument-hint"]?`/${o.name} ${o.frontmatter["argument-hint"]}`:`/${o.name}`}})}}catch{return null}}function Uin(){let a=[...gUe],r=Qin();r&&a.push(r);let n=a.map(BYt);return["",Mn.bold.white("Compass CLI - Interactive Commands"),Mn.gray("Use these commands during an interactive session"),...n,Mn.dim("\u2500".repeat(50)),Mn.gray("Tip: Type any natural language request to interact with Compass"),""].join(`
|
|
2857
2856
|
`)}function jin(a){let r=a.startsWith("/")?a:`/${a}`,o=gUe.flatMap(f=>f.commands).find(f=>f.name===r||f.name===a||f.aliases?.includes(a)||f.aliases?.includes(r));if(!o)return null;let l=["",Mn.bold.cyan(o.name),Mn.white(o.description),""];if(o.usage&&(l.push(Mn.gray("Usage:")),l.push(` ${o.usage}`),l.push("")),o.aliases&&o.aliases.length>0&&(l.push(Mn.gray("Aliases:")),l.push(` ${o.aliases.join(", ")}`),l.push("")),o.examples&&o.examples.length>0){l.push(Mn.gray("Examples:"));for(let f of o.examples)l.push(` ${Mn.dim("$")} ${f}`);l.push("")}return l.join(`
|
|
2858
|
-
`)}MD();var TDn="1.0.
|
|
2857
|
+
`)}MD();var TDn="1.0.39",NDn="compass-cli",FDn="AI-powered development assistance using Anthropic's Claude models";export{Az as AGENT_SOURCE_PRIORITY,FDn as APP_DESCRIPTION,Qyr as APP_DISPLAY_NAME,NDn as APP_NAME,Uyr as APP_TAGLINE,Xyr as APP_VERSION,LYt as ASCII_BANNER,oDe as AUTO_COMPACT_TRIGGER,uDe as AUTO_SAVE_INTERVAL_MS,Q$ as ActionLogger,SWt as ActionStatus,F2 as ActionType,Zme as AnthropicClient,tme as ApprovalManager,kO as ApprovalMode,eDe as BACKUPS_DIR,cDe as BACKUP_RETENTION_DAYS,zyr as BINARY_EXTENSIONS,nme as BackupManager,kyr as CACHE_DIR,mw as CLAUDE_MODELS,Xin as CLI_COMMANDS,Pin as COMPASS_ICON,NO as CONFIG_FILE_NAME,lDe as CONSENT_EXPIRY_DAYS,$Pe as CONSENT_FILE_NAME,jyr as CONSENT_VERSION,Tyr as CONTEXT_DIR,Pyr as CONTEXT_WINDOW_SAFETY_MARGIN,Nyr as CONTEXT_WINDOW_WARNING_PERCENT,Ez as CREDENTIALS_FILE_NAME,iK as ComplexityClassifier,Dfe as ConfigManager,Lfe as ConsentManager,Bfe as CredentialStore,rN as DEFAULT_CONFIG,Fyr as DEFAULT_COST_WARNING_THRESHOLD,GW as DEFAULT_MAX_TOKENS,BE as DEFAULT_MODEL,wyr as DEFAULT_RATING_CONFIG,RO as DEFAULT_TEMPERATURE,Iyr as DEFAULT_UPDATE_CONFIG,Nv as ENV_VARS,rK as EnhancedContextGatherer,Hfe as EventEmitter,xz as ExecutionMode,S5t as ExecutionStrategy,Sz as GLOBAL_COMPASS_DIR,c$ as GitService,L0t as HOOK_EVENTS,Qpe as HOOK_SOURCE_PRIORITY,Hve as HistoryManager,tDe as INDEX_DIR,hee as InteractiveClarifier,w5t as IssueCategory,x5t as IssueSeverity,Byr as LANGUAGE_EXTENSIONS,KPe as LOGS_DIR,pK as LogInterpreter,Myr as MAX_CACHE_SIZE_BYTES,Cz as MAX_COMMAND_OUTPUT_TOKENS,Wyr as MAX_FILES_PER_OPERATION,dDe as MAX_FILE_READ_TOKENS,Zyr as MAX_FILE_SIZE_BYTES,zpe as MAX_HISTORY_LENGTH,Dyr as MAX_INDEXED_FILES,Oyr as MAX_RETRY_ATTEMPTS,Vyr as MAX_SEARCH_RESULT_TOKENS,kz as MODEL_ALIASES,Gz as PROJECT_COMPASS_DIR,EW as PROVIDERS,fDe as PROVIDER_ENV_VARS,gee as PlanGenerator,Hyr as RETRY_BASE_DELAY_MS,Lyr as RETRY_JITTER_FACTOR,Jyr as RETRY_MAX_DELAY_MS,FO as SAVED_SESSIONS_DIR,Ryr as SESSION_EXPIRY_DAYS,jpe as SESSION_FILE_NAME,Bpe as SHELL_COMMAND_TIMEOUT_MS,gUe as SLASH_COMMANDS,qfe as SessionManager,lge as ShellExecutor,vWt as StepStatus,X$ as StepTracker,xWt as StepType,aDe as TOKEN_WARNING_THRESHOLD,_De as TOOL_READ_BLOCKLIST_DIRS,mDe as TOOL_READ_BLOCKLIST_PATTERNS,BPe as TaskExecutionStatus,wWt as TaskStatus,eme as TokenTracker,z$ as ToolRegistry,TDn as VERSION,Iee as Verifier,F8e as WORKFLOW_PROMPTS,fK as WorkflowManager,yee as WorkflowOrchestrator,Ope as WorkflowPhase,A5t as WorkflowState,Win as applyCompletion,HPr as applyPatch,YPr as areIdentical,x4r as calculateContextUsagePercent,z0t as calculateModelCost,y4r as calculateRemainingTokens,aSr as colorByStatus,PPr as colorizeDiff,H0t as compareAgentPriority,Cyr as compareHookPriority,q0t as compareModels,oN as copy,T4r as createActionLogger,m9r as createComplexityClassifier,Y0t as createDefaultAgentDefinition,_yr as createDefaultConsent,Ayr as createDefaultRatingState,s9r as createEnhancedContextGatherer,hyr as createFullConsent,zNr as createGitService,din as createInteractiveClarifier,h6r as createLogInterpreter,gyr as createMinimalConsent,fin as createPlanGenerator,k4r as createStepTracker,Y4r as createToolRegistry,_in as createVerifier,I6r as createWorkflowManager,gin as createWorkflowOrchestrator,C9e as decrypt,E9e as encrypt,Zl as ensureDir,g4r as estimateConversationTokens,I4r as estimateSystemPromptTokens,Lp as estimateTokens,vin as executeSlashCommand,dUe as extractCodeBlocks,uUe as extractMentions,jin as formatCommandHelp,eSr as formatCost,zAr as formatDate,qAr as formatDuration,KAr as formatFileSize,Uin as formatFullHelp,BYt as formatHelpCategory,sSr as formatList,Z2t as formatPercent,iSr as formatProgressBar,$Ar as formatRelativeTime,mn as formatTimestamp,tSr as formatTokenCount,v4r as formatTokenDisplay,WD as generateDiff,DPr as generateDiffSummary,mSr as generateSecureRandom,MPr as generateWordDiff,vZ as getActionLogger,Hpe as getAgentSourcePriority,Zv as getAnthropicClient,ih as getApprovalManager,Q0t as getAvailableAliases,X0t as getAvailableModelIds,WO as getAvailableModels,XW as getBackupManager,gxr as getBasename,OPr as getChangedLineCount,K0t as getCheapestModel,S8 as getCodebaseIndexer,Gin as getCompletions,sK as getComplexityClassifier,oq as getConfigManager,w9e as getConsentManager,wZ as getContextBuilder,w4r as getContextUsageColor,C4r as getConversationCompactor,JW as getCredentialStore,j0t as getDefaultModel,B0t as getDefaultModelId,HD as getEnhancedContextGatherer,xa as getEventEmitter,hxr as getExtension,NN as getFileService,El as getGlobalCompassDir,xin as getHistoryManager,zPe as getHookSourcePriority,oUe as getInteractiveClarifier,_Le as getLogInterpreter,ry as getModelConfig,qpe as getModelDescription,tIt as getModelTier,$0t as getModelsByCapability,eIt as getMostCapableModel,Vve as getPlanGenerator,Jp as getProjectCompassDir,mxr as getRelativePath,Rh as getSessionManager,Yv as getShellExecutor,_Ue as getSlashCommandRegistry,bZ as getStepTracker,Vin as getTaskProcessor,LW as getTokenTracker,YS as getToolRegistry,lUe as getVerifier,g6r as getWorkflowManager,hin as getWorkflowOrchestrator,k9e as hash,_Sr as hmac,N2 as interpolateTemplate,aq as isDirectory,Zfe as isFile,qO as isPathWithin,Lpe as isValidAgentFrontmatter,Jpe as isValidAgentPermissionMode,D0t as isValidAgentSource,oyr as isValidAnthropicConfig,M0t as isValidCLIAgentConfig,ayr as isValidCompassConfig,fyr as isValidConfigFile,P0t as isValidConsent,myr as isValidConsentRecord,Upe as isValidHookEvent,Eyr as isValidHookFrontmatter,Gyr as isValidHookSource,U0t as isValidModel,xyr as isValidNotificationStyle,cyr as isValidProjectConfig,Syr as isValidRatingState,lyr as isValidSafetyConfig,dyr as isValidSessionConfig,bin as isValidSlashCommand,uyr as isValidUIConfig,yyr as isValidUpdateCheckResult,byr as isValidUpdateConfig,pyr as isValidUpdateSettingsConfig,vyr as isValidUpdateType,de as logger,zz as matchesPattern,_xr as normalizeSeparators,nSr as padString,DYt as parseArgs,yin as parseInput,OP as parseToolsList,Ta as pathExists,sH as readDir,pLe as registerBuiltInTools,mUe as registerSlashCommand,vb as remove,Min as renderBanner,Yin as renderMiniBanner,Oin as renderWelcome,pxr as resolveGlobalPath,ny as resolveModelId,fxr as resolveProjectPath,Cd as safeReadFile,df as safeReadJson,bb as safeWriteFile,Nh as safeWriteJson,KP as sanitizePath,hSr as secureCompare,O0t as serializeToolsList,Rv as stat,PW as toForwardSlashes,rSr as truncate,b4r as wouldExceedContext};
|
|
2859
2858
|
/*! Bundled license information:
|
|
2860
2859
|
|
|
2861
2860
|
typescript/lib/typescript.js:
|