colana 1.0.0-beta.87 → 1.0.0-beta.89

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/bin/admin.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- const a0_0x42a21f=a0_0x584d;(function(_0x37cfb9,_0x2a07c0){const _0x1591f3=a0_0x584d,_0x5d09c3=_0x37cfb9();while(!![]){try{const _0x425d51=-parseInt(_0x1591f3(0x1ea))/0x1+-parseInt(_0x1591f3(0x1e3))/0x2+-parseInt(_0x1591f3(0x2ac))/0x3*(parseInt(_0x1591f3(0x23f))/0x4)+-parseInt(_0x1591f3(0x276))/0x5*(-parseInt(_0x1591f3(0x282))/0x6)+-parseInt(_0x1591f3(0x2e3))/0x7+-parseInt(_0x1591f3(0x333))/0x8*(parseInt(_0x1591f3(0x22a))/0x9)+parseInt(_0x1591f3(0x2d0))/0xa;if(_0x425d51===_0x2a07c0)break;else _0x5d09c3['push'](_0x5d09c3['shift']());}catch(_0x5080f6){_0x5d09c3['push'](_0x5d09c3['shift']());}}}(a0_0x1d1c,0x8871e));var __defProp=Object['defineProperty'],__getOwnPropNames=Object['getOwnPropertyNames'],__esm=(_0x42bc06,_0x2e9939)=>function _0x46ff90(){const _0x498e17={'muxud':function(_0x2e5e47,_0xb04a65){return _0x2e5e47(_0xb04a65);}};return _0x42bc06&&(_0x2e9939=(0x0,_0x42bc06[_0x498e17['muxud'](__getOwnPropNames,_0x42bc06)[0x0]])(_0x42bc06=0x0)),_0x2e9939;},__export=(_0x5f5dce,_0x36a432)=>{const _0x256ad9={'CYBTQ':function(_0x50b428,_0xe81327,_0x4b0b3b,_0x5c1724){return _0x50b428(_0xe81327,_0x4b0b3b,_0x5c1724);}};for(var _0x377b69 in _0x36a432)_0x256ad9['CYBTQ'](__defProp,_0x5f5dce,_0x377b69,{'get':_0x36a432[_0x377b69],'enumerable':!![]});};import a0_0x394e4c from'crypto';import a0_0x49ec87 from'fs';import a0_0x277bc5 from'os';import a0_0x545c2e from'path';import{fileURLToPath}from'url';function envInt(_0x3a7d0a,_0x3f27b3){const _0x452783=a0_0x584d,_0x4a5f08={'eyEBL':function(_0x3ec4c3,_0x390157,_0x1b95ef){return _0x3ec4c3(_0x390157,_0x1b95ef);}},_0x2cbac4=_0x4a5f08[_0x452783(0x326)](parseInt,_0x3a7d0a,0xa);return Number[_0x452783(0x244)](_0x2cbac4)?_0x3f27b3:_0x2cbac4;}function resolveEncryptionKey(){const _0xb24fbf=a0_0x584d,_0x48eeb3={'HBRpA':'dashboard.db','GJTft':'utf-8'};if(process['env'][_0xb24fbf(0x2dc)])return process[_0xb24fbf(0x26d)]['ENCRYPTION_KEY'];const _0x47d53f=a0_0x545c2e['join'](dataDir,KEY_FILENAME),_0x489749=a0_0x545c2e['join'](dataDir,_0x48eeb3[_0xb24fbf(0x289)]);if(a0_0x49ec87['existsSync'](_0x47d53f))try{const _0xa6be03=a0_0x49ec87['readFileSync'](_0x47d53f,_0x48eeb3['GJTft']),_0x3f5e72=_0xa6be03['split']('\x0a')[_0xb24fbf(0x293)](_0x4340d6=>!_0x4340d6['startsWith']('#'))[_0xb24fbf(0x1f1)]('')[_0xb24fbf(0x28e)]();if(_0x3f5e72[_0xb24fbf(0x2b5)]>=0x20)return _0x3f5e72;console[_0xb24fbf(0x2c0)]('[security]\x20Encryption\x20key\x20file\x20is\x20invalid\x20('+_0x3f5e72['length']+'\x20chars).\x20Regenerating.');}catch(_0x5efc57){console['error']('[security]\x20Failed\x20to\x20read\x20encryption\x20key\x20file:\x20'+_0x5efc57['message']);}if(!a0_0x49ec87[_0xb24fbf(0x224)](_0x489749))return generateAndWriteKeyFile(_0x47d53f);return LEGACY_DEFAULT_KEY;}function generateAndWriteKeyFile(_0x34eaeb){const _0x3f98f5=a0_0x584d,_0x59ce5c={'TWbEr':'#\x20Auto-generated\x20by\x20Colana.\x20Do\x20not\x20share\x20or\x20delete.','rBPnW':_0x3f98f5(0x255)},_0x4e2f0f=a0_0x394e4c['randomBytes'](0x20)['toString'](_0x3f98f5(0x204));try{const _0x31c8ea=a0_0x545c2e['dirname'](_0x34eaeb);if(!a0_0x49ec87[_0x3f98f5(0x224)](_0x31c8ea))a0_0x49ec87[_0x3f98f5(0x216)](_0x31c8ea,{'recursive':!![]});const _0x379b91=[_0x59ce5c[_0x3f98f5(0x214)],'#\x20Without\x20this\x20key,\x20all\x20encrypted\x20settings\x20(API\x20keys,\x20tokens)\x20are\x20unrecoverable.','#\x20Back\x20up\x20this\x20file\x20alongside\x20your\x20database.',_0x4e2f0f,'']['join']('\x0a');a0_0x49ec87['writeFileSync'](_0x34eaeb,_0x379b91,{'encoding':_0x59ce5c['rBPnW'],'mode':0x180}),console[_0x3f98f5(0x33a)](_0x3f98f5(0x306));}catch(_0xcd22ef){console['error'](_0x3f98f5(0x1de)+_0xcd22ef[_0x3f98f5(0x1fa)]),console[_0x3f98f5(0x2c0)]('[security]\x20Encryption\x20key\x20is\x20in-memory\x20only.\x20Restart\x20will\x20generate\x20a\x20new\x20key.');}return _0x4e2f0f;}function getReleaseChannel(){const _0x122978=a0_0x584d,_0x2eebd9={'DviPu':_0x122978(0x239),'FlVUy':_0x122978(0x272)};try{const _0x24680b=a0_0x545c2e['join'](__dirname,'..',_0x2eebd9[_0x122978(0x29d)]),_0x3bbe5a=JSON['parse'](a0_0x49ec87[_0x122978(0x20a)](_0x24680b,'utf-8')),_0x1d2624=_0x3bbe5a[_0x122978(0x315)]||'';if(_0x1d2624['includes'](_0x122978(0x2b9)))return _0x2eebd9[_0x122978(0x29e)];}catch{}return _0x122978(0x307);}var __dirname,dataDir,LEGACY_DEFAULT_KEY,KEY_FILENAME,config,config_default,init_config=__esm({'server/config.js'(){const _0x4d7ada=a0_0x584d,_0x2f61ba={'xYVZM':_0x4d7ada(0x329),'wcruB':_0x4d7ada(0x204),'xcWqx':function(_0xe87d9f,_0x4e8542){return _0xe87d9f(_0x4e8542);},'XQdsE':_0x4d7ada(0x32b),'PYmXK':_0x4d7ada(0x284),'AcaWG':'flag','ENEUa':'npm','YfIQo':'Codex\x20CLI','JbDSM':'gemini','LJFoQ':_0x4d7ada(0x22d),'dimoa':'npm\x20install\x20-g\x20@google/gemini-cli','OSsMV':'Free\x20or\x20paid\x20Google\x20account','BgxxB':_0x4d7ada(0x246),'ccuvC':'--resume','Yyphz':'Aider','zIpqk':'--restore-chat-history','nOXvn':'pip\x20install\x20aider-chat','EmgTL':'python3','kiztc':_0x4d7ada(0x27a),'qYxmA':'OpenClaw','nuCJd':_0x4d7ada(0x2a1),'JyaLl':function(_0x3fac51,_0x2f674c,_0x3918fa){return _0x3fac51(_0x2f674c,_0x3918fa);},'DzHUV':function(_0x56d345,_0x579225){return _0x56d345*_0x579225;},'QOouO':function(_0x613ea,_0x23c076){return _0x613ea*_0x23c076;},'QypYU':function(_0x4f26d9,_0x3b6d49,_0x2cfa95){return _0x4f26d9(_0x3b6d49,_0x2cfa95);},'noOHz':function(_0x4f6716,_0x6d310c,_0x468baa){return _0x4f6716(_0x6d310c,_0x468baa);},'kMRHp':function(_0x364959){return _0x364959();},'uMkyk':function(_0x9817e1,_0x2c5d13,_0x53652e){return _0x9817e1(_0x2c5d13,_0x53652e);},'SrZRX':function(_0x20476e,_0x2040c8,_0x54e251){return _0x20476e(_0x2040c8,_0x54e251);},'GBUhG':function(_0x6bc08,_0x5b82df){return _0x6bc08*_0x5b82df;},'ojHzZ':function(_0x22b050,_0x3a6a0d,_0x4ed165){return _0x22b050(_0x3a6a0d,_0x4ed165);},'DRgzZ':function(_0x163b12,_0x1add28){return _0x163b12*_0x1add28;},'mllSo':function(_0x25260f,_0x42b197,_0x113bfe){return _0x25260f(_0x42b197,_0x113bfe);},'bFAyd':_0x4d7ada(0x263),'Qzksh':'Write','UaHXY':_0x4d7ada(0x28b),'OqCcW':_0x4d7ada(0x2e4),'UqcUE':'WebFetch','gLkth':function(_0x37a3da,_0x2cc8db){return _0x37a3da*_0x2cc8db;},'BAqME':_0x4d7ada(0x339),'fqnUV':'--verbose','BrupA':'acceptEdits','QZKjl':_0x4d7ada(0x314),'cVMRZ':'Edit','ZBgty':_0x4d7ada(0x213),'GvHyD':function(_0x39b6b9,_0x303e43){return _0x39b6b9===_0x303e43;}};__dirname=a0_0x545c2e['dirname'](_0x2f61ba[_0x4d7ada(0x297)](fileURLToPath,import.meta.url)),dataDir=process[_0x4d7ada(0x26d)]['DATA_DIR']?a0_0x545c2e[_0x4d7ada(0x320)](process[_0x4d7ada(0x26d)]['DATA_DIR']):a0_0x545c2e[_0x4d7ada(0x1f1)](__dirname,'..',_0x4d7ada(0x2a4)),LEGACY_DEFAULT_KEY=_0x2f61ba[_0x4d7ada(0x2f3)],KEY_FILENAME=_0x4d7ada(0x260),config={'providers':{'claude':{'label':_0x2f61ba['PYmXK'],'binary':_0x4d7ada(0x340),'npmPackage':_0x4d7ada(0x2c5),'models':[],'supportsResume':!![],'supportsPty':!![],'supportsInteractive':!![],'resumeStyle':_0x2f61ba[_0x4d7ada(0x2b8)],'resumeFlag':_0x4d7ada(0x220),'installCmd':'npm\x20install\x20-g\x20@anthropic-ai/claude-code','runtime':_0x2f61ba[_0x4d7ada(0x1d8)],'authNote':_0x4d7ada(0x1e1)},'codex':{'label':_0x2f61ba['YfIQo'],'binary':_0x4d7ada(0x219),'npmPackage':_0x4d7ada(0x29c),'models':[],'supportsResume':!![],'supportsPty':!![],'supportsInteractive':!![],'resumeStyle':'subcommand','resumeSubcmd':_0x4d7ada(0x1e6),'installCmd':_0x4d7ada(0x2f8),'runtime':_0x2f61ba['ENEUa'],'authNote':'OpenAI\x20API\x20key\x20(pay-per-use)'},'gemini':{'label':_0x4d7ada(0x1e7),'binary':_0x2f61ba[_0x4d7ada(0x338)],'npmPackage':_0x2f61ba['LJFoQ'],'models':[],'supportsResume':!![],'supportsPty':!![],'supportsInteractive':!![],'resumeStyle':_0x4d7ada(0x206),'resumeFlag':'--resume','installCmd':_0x2f61ba[_0x4d7ada(0x2a5)],'runtime':_0x2f61ba[_0x4d7ada(0x1d8)],'authNote':_0x2f61ba['OSsMV'],'recommended':!![]},'copilot':{'label':_0x2f61ba['BgxxB'],'binary':_0x4d7ada(0x26b),'fallbackBinary':'gh','fallbackBinaryArgs':['copilot'],'models':[],'supportsResume':!![],'supportsPty':!![],'supportsInteractive':!![],'resumeStyle':_0x2f61ba['AcaWG'],'resumeFlag':_0x2f61ba['ccuvC'],'installCmd':_0x4d7ada(0x25a),'installFallbackCmd':'gh\x20extension\x20install\x20github/gh-copilot','runtime':'npm','authNote':_0x4d7ada(0x2f1)},'aider':{'label':_0x2f61ba['Yyphz'],'binary':_0x4d7ada(0x312),'models':[],'supportsResume':!![],'supportsPty':!![],'supportsInteractive':!![],'resumeStyle':_0x2f61ba[_0x4d7ada(0x2b8)],'resumeFlag':_0x2f61ba[_0x4d7ada(0x31e)],'noSessionId':!![],'installCmd':'pipx\x20install\x20aider-chat','installFallbackCmd':_0x2f61ba['nOXvn'],'installPrereq':_0x2f61ba[_0x4d7ada(0x273)],'runtime':_0x2f61ba['kiztc'],'authNote':'LLM\x20API\x20key\x20required'},'openclaw':{'label':_0x2f61ba[_0x4d7ada(0x32a)],'binary':'openclaw','models':[],'supportsResume':![],'supportsPty':!![],'supportsInteractive':!![],'supportsHeadless':![],'installCmd':_0x4d7ada(0x33b),'runtime':'npm','authNote':_0x2f61ba['nuCJd'],'gatewayPort':0x4965,'isPersonal':!![]}},'defaultModel':process[_0x4d7ada(0x26d)]['DEFAULT_MODEL']||null,'polar':{'organizationId':process['env'][_0x4d7ada(0x233)]||'','accessToken':process['env']['POLAR_ACCESS_TOKEN']||'','productId':process[_0x4d7ada(0x26d)]['POLAR_PRODUCT_ID']||'','checkoutUrl':process[_0x4d7ada(0x26d)][_0x4d7ada(0x230)]||_0x4d7ada(0x300),'customerPortalUrl':process[_0x4d7ada(0x26d)]['POLAR_CUSTOMER_PORTAL_URL']||'','webhookSecret':process['env']['POLAR_WEBHOOK_SECRET']||'','apiUrl':process['env'][_0x4d7ada(0x2f7)]||'https://api.polar.sh/v1','blueprintCloudUrl':process['env']['BLUEPRINT_CLOUD_URL']||'https://colana.ai','cacheTtlMs':_0x2f61ba['JyaLl'](envInt,process['env']['LICENSE_CACHE_TTL_MS'],_0x2f61ba['DzHUV'](_0x2f61ba[_0x4d7ada(0x309)](0x7,0x18)*0x3c,0x3c)*0x3e8),'revalidationIntervalMs':_0x2f61ba['QypYU'](envInt,process[_0x4d7ada(0x26d)]['LICENSE_REVALIDATION_INTERVAL_MS'],0x6*0x3c*0x3c*0x3e8),'staffKeys':(process['env']['STAFF_KEYS']||'')[_0x4d7ada(0x2d9)](',')['map'](_0x400e78=>_0x400e78[_0x4d7ada(0x28e)]())[_0x4d7ada(0x293)](Boolean),'adminKeys':(process[_0x4d7ada(0x26d)]['ADMIN_KEYS']||'')['split'](',')['map'](_0x30c5b3=>_0x30c5b3[_0x4d7ada(0x28e)]())['filter'](Boolean)},'freeMaxSessions':_0x2f61ba['noOHz'](envInt,process[_0x4d7ada(0x26d)][_0x4d7ada(0x1f7)],0x2),'dataDir':dataDir,'dbFilename':process['env'][_0x4d7ada(0x217)]||_0x4d7ada(0x279),'homePath':a0_0x277bc5[_0x4d7ada(0x2b3)](),'startPort':envInt(process[_0x4d7ada(0x26d)][_0x4d7ada(0x201)],0x2694),'maxPortAttempts':_0x2f61ba['JyaLl'](envInt,process[_0x4d7ada(0x26d)]['MAX_PORT_ATTEMPTS'],0x64),'bindAddress':process['env'][_0x4d7ada(0x24f)]||'127.0.0.1','encryptionKey':_0x2f61ba['kMRHp'](resolveEncryptionKey),'encryptionKeyIsLegacyDefault':![],'defaultEditorCommand':_0x4d7ada(0x342),'permissionTimeoutMs':_0x2f61ba[_0x4d7ada(0x212)](envInt,process['env'][_0x4d7ada(0x27c)],0x1d4c0),'permissionClientMs':envInt(process[_0x4d7ada(0x26d)][_0x4d7ada(0x1f6)],0x249f0),'agentGracePeriodMs':_0x2f61ba['QypYU'](envInt,process['env'][_0x4d7ada(0x327)],0x1388),'shutdownTimeoutMs':envInt(process['env']['SHUTDOWN_TIMEOUT_MS'],0x2710),'defaultLogLimit':_0x2f61ba['SrZRX'](envInt,process[_0x4d7ada(0x26d)]['DEFAULT_LOG_LIMIT'],0x3e8),'defaultSessionLimit':envInt(process[_0x4d7ada(0x26d)][_0x4d7ada(0x2b7)],0x14),'gitDiffMaxBuffer':envInt(process['env'][_0x4d7ada(0x2ab)],_0x2f61ba[_0x4d7ada(0x27d)](0xa*0x400,0x400)),'toolResultPreviewLen':_0x2f61ba['noOHz'](envInt,process[_0x4d7ada(0x26d)][_0x4d7ada(0x2ff)],0x1f4),'maxResumableSessions':envInt(process[_0x4d7ada(0x26d)][_0x4d7ada(0x337)],0x5),'updateCheckIntervalMs':_0x2f61ba['ojHzZ'](envInt,process['env']['UPDATE_CHECK_INTERVAL_MS'],_0x2f61ba[_0x4d7ada(0x309)](0x6*0x3c,0x3c)*0x3e8),'logRetentionDays':envInt(process['env']['LOG_RETENTION_DAYS'],0x0),'logRetentionIntervalMs':_0x2f61ba[_0x4d7ada(0x251)](envInt,process[_0x4d7ada(0x26d)]['LOG_RETENTION_INTERVAL_MS'],_0x2f61ba['DRgzZ'](0x18,0x3c)*0x3c*0x3e8),'logRetentionBatchSize':_0x2f61ba['mllSo'](envInt,process[_0x4d7ada(0x26d)][_0x4d7ada(0x210)],0x7d0),'logRetentionMaxBatches':envInt(process[_0x4d7ada(0x26d)][_0x4d7ada(0x2ae)],0xa),'logArchiveMode':(process['env'][_0x4d7ada(0x1db)]||'db')[_0x4d7ada(0x311)](),'allowedTools':[_0x2f61ba[_0x4d7ada(0x20d)],'Edit',_0x2f61ba[_0x4d7ada(0x2a7)],_0x2f61ba['UaHXY'],'Grep',_0x2f61ba[_0x4d7ada(0x317)],_0x4d7ada(0x213),_0x2f61ba['UqcUE']],'maxTurnsOptions':[0x0,0xa,0x19,0x32,0x64],'fontSizes':[0xc,0xe,0x10,0x12],'ptyBufferSize':envInt(process[_0x4d7ada(0x26d)][_0x4d7ada(0x334)],_0x2f61ba[_0x4d7ada(0x347)](0x100,0x400)),'ptyDefaultCols':envInt(process[_0x4d7ada(0x26d)][_0x4d7ada(0x275)],0x78),'ptyDefaultRows':envInt(process['env'][_0x4d7ada(0x302)],0x1e),'worktreesDir':a0_0x545c2e[_0x4d7ada(0x1f1)](dataDir,_0x4d7ada(0x252)),'worktreeMaxPerProject':0xa,'worktreeStaleAfterDays':0x4,'worktreeCleanupIntervalMs':_0x2f61ba['gLkth'](_0x2f61ba[_0x4d7ada(0x347)](0x18*0x3c,0x3c),0x3e8),'worktreeGitTimeoutMs':0x7530,'worktreeGitQuickTimeoutMs':0x1388,'cliFlags':['--print','--output-format',_0x4d7ada(0x32d),_0x2f61ba['BAqME'],'stream-json','--include-partial-messages',_0x2f61ba['fqnUV']],'permissionToolName':'mcp__dashboard_permissions__permission_prompt','permissionModes':['default',_0x4d7ada(0x23a),_0x4d7ada(0x27b),_0x4d7ada(0x314),_0x4d7ada(0x22f),'delegate'],'contextWindows':{'opus':0x30d40,'sonnet':0x30d40,'haiku':0x30d40,'claude-opus-4-6-20260214':0x30d40,'claude-opus-4-5-20251101':0x30d40,'claude-sonnet-4-5-20250929':0x30d40,'claude-sonnet-4-20250514':0x30d40,'claude-3-5-sonnet-20241022':0x30d40,'claude-3-5-haiku-20241022':0x30d40,'default':0x30d40},'client':{'wsReconnectBaseMs':0x3e8,'wsReconnectMaxMs':0x7530,'toastDurationMs':0xfa0,'toolOutputTruncation':0x12c,'taskPreviewLen':0x23,'terminalTaskLen':0x32,'popoutWidth':0x320,'popoutHeight':0x258,'maxResumableSessions':envInt(process[_0x4d7ada(0x26d)][_0x4d7ada(0x337)],0x5),'permissionModes':[_0x4d7ada(0x203),_0x2f61ba['BrupA'],_0x4d7ada(0x27b),_0x2f61ba['QZKjl'],_0x4d7ada(0x22f),'delegate'],'defaultContextWindow':0x30d40,'contextWindows':{'opus':0x30d40,'sonnet':0x30d40,'haiku':0x30d40,'claude-opus-4-6-20260214':0x30d40,'claude-opus-4-5-20251101':0x30d40,'claude-sonnet-4-5-20250929':0x30d40,'claude-sonnet-4-20250514':0x30d40,'claude-3-5-sonnet-20241022':0x30d40,'claude-3-5-haiku-20241022':0x30d40,'default':0x30d40},'allowedTools':['Read',_0x2f61ba['cVMRZ'],'Write',_0x2f61ba['UaHXY'],_0x4d7ada(0x20c),'Bash',_0x2f61ba[_0x4d7ada(0x2d5)],_0x2f61ba[_0x4d7ada(0x1f0)]],'maxTurnsOptions':[0x0,0xa,0x19,0x32,0x64],'fontSizes':[0xc,0xe,0x10,0x12]}},config['encryptionKeyIsLegacyDefault']=_0x2f61ba['GvHyD'](config[_0x4d7ada(0x24d)],LEGACY_DEFAULT_KEY),config[_0x4d7ada(0x295)]=LEGACY_DEFAULT_KEY,config[_0x4d7ada(0x2c3)]=KEY_FILENAME,config['deriveGogKeyringPassword']=function(){const _0x55b1a6=_0x4d7ada;return a0_0x394e4c[_0x55b1a6(0x296)](_0x2f61ba['xYVZM'])[_0x55b1a6(0x208)](_0x55b1a6(0x2fd)+config[_0x55b1a6(0x24d)])[_0x55b1a6(0x1fc)](_0x2f61ba['wcruB'])['slice'](0x0,0x20);},config['releaseChannel']=getReleaseChannel(),config[_0x4d7ada(0x2b6)][_0x4d7ada(0x245)]=Object[_0x4d7ada(0x265)](Object['entries'](config[_0x4d7ada(0x245)])[_0x4d7ada(0x305)](([_0x2261a8,_0x3949f9])=>[_0x2261a8,{'label':_0x3949f9[_0x4d7ada(0x29f)],'models':_0x3949f9[_0x4d7ada(0x33c)],'supportsResume':_0x3949f9['supportsResume'],'supportsPty':_0x3949f9[_0x4d7ada(0x32c)],'supportsInteractive':_0x3949f9[_0x4d7ada(0x2e1)],'supportsHeadless':_0x3949f9[_0x4d7ada(0x31f)]!==![],'runtime':_0x3949f9[_0x4d7ada(0x269)],'authNote':_0x3949f9['authNote'],'recommended':_0x3949f9['recommended']||![],'isPersonal':_0x3949f9['isPersonal']||![]}])),config_default=config;}}),db_exports={};__export(db_exports,{'checkDbIntegrity':()=>checkDbIntegrity,'closeDb':()=>closeDb,'default':()=>db_default,'getDb':()=>getDb,'getSchemaVersion':()=>getSchemaVersion,'queryAll':()=>queryAll,'queryOne':()=>queryOne,'run':()=>run,'runImmediate':()=>runImmediate,'save':()=>save});import a0_0x26ed77 from'sql.js';import a0_0xb17799 from'path';import a0_0x3a46e5 from'fs';function saveDatabaseNow(){const _0xbfe7be=a0_0x584d;if(db){const _0xdf04ba=db[_0xbfe7be(0x1ef)](),_0x171f48=Buffer[_0xbfe7be(0x323)](_0xdf04ba);a0_0x3a46e5['writeFileSync'](DB_PATH,_0x171f48);}}function saveDatabase(){if(_saveTimer)return;_saveTimer=setTimeout(()=>{_saveTimer=null,saveDatabaseNow();},0x3e8);}async function initializeDatabase(){const _0x1b0a45=a0_0x584d,_0x433e97={'lDqOU':'PRAGMA\x20foreign_keys\x20=\x20ON','IhphA':function(_0x29a4d2){return _0x29a4d2();},'etimC':_0x1b0a45(0x285),'tFAIc':'Edit','XhKKP':_0x1b0a45(0x20c),'AJaTK':_0x1b0a45(0x342)};!a0_0x3a46e5['existsSync'](DATA_DIR)&&a0_0x3a46e5[_0x1b0a45(0x216)](DATA_DIR,{'recursive':!![]});SQL=await a0_0x26ed77();if(a0_0x3a46e5[_0x1b0a45(0x224)](DB_PATH)){const _0x10582a=a0_0x3a46e5[_0x1b0a45(0x20a)](DB_PATH);db=new SQL[(_0x1b0a45(0x236))](_0x10582a);}else db=new SQL['Database']();db[_0x1b0a45(0x2b0)](_0x433e97['lDqOU']),db['run']('\x0a\x20\x20\x20\x20--\x20Projects\x20table\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20projects\x20(\x0a\x20\x20\x20\x20\x20\x20id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20name\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20path\x20TEXT\x20NOT\x20NULL\x20UNIQUE,\x0a\x20\x20\x20\x20\x20\x20description\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20created_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20updated_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27))\x0a\x20\x20\x20\x20)\x0a\x20\x20'),db['run']('\x0a\x20\x20\x20\x20--\x20Sessions\x20table\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20sessions\x20(\x0a\x20\x20\x20\x20\x20\x20id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20project_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20claude_session_id\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20task\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20status\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20\x27starting\x27,\x0a\x20\x20\x20\x20\x20\x20model\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20started_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20ended_at\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20parent_session_id\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(project_id)\x20REFERENCES\x20projects(id)\x20ON\x20DELETE\x20CASCADE,\x0a\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(parent_session_id)\x20REFERENCES\x20sessions(id)\x0a\x20\x20\x20\x20)\x0a\x20\x20'),db['run'](_0x1b0a45(0x290)),db[_0x1b0a45(0x2b0)]('\x0a\x20\x20\x20\x20--\x20Usage\x20table\x20(token/cost\x20tracking)\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20usage\x20(\x0a\x20\x20\x20\x20\x20\x20id\x20INTEGER\x20PRIMARY\x20KEY\x20AUTOINCREMENT,\x0a\x20\x20\x20\x20\x20\x20session_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20input_tokens\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20output_tokens\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20cache_read_tokens\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20cache_write_tokens\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20cost_estimate\x20REAL\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20recorded_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(session_id)\x20REFERENCES\x20sessions(id)\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20)\x0a\x20\x20'),db['run'](_0x1b0a45(0x254)),db[_0x1b0a45(0x2b0)]('\x0a\x20\x20\x20\x20--\x20Settings\x20table\x20(key-value\x20store)\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20settings\x20(\x0a\x20\x20\x20\x20\x20\x20key\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20value\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20updated_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27))\x0a\x20\x20\x20\x20)\x0a\x20\x20'),db['run'](_0x1b0a45(0x21e)),db['run'](_0x1b0a45(0x2ec)),db['run'](_0x1b0a45(0x248)),db['run'](_0x1b0a45(0x22e)),db[_0x1b0a45(0x2b0)]('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_logs_session_id\x20ON\x20logs(session_id)'),db['run']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_usage_session_id\x20ON\x20usage(session_id)');try{db['run'](_0x1b0a45(0x2bf));}catch(_0x380d82){}try{db[_0x1b0a45(0x2b0)]('ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20duration_ms\x20INTEGER');}catch(_0x154630){}try{db['run'](_0x1b0a45(0x2f4));}catch(_0x240afe){}try{db[_0x1b0a45(0x2b0)]('ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20total_cost_usd\x20REAL');}catch(_0x15b39e){}try{db[_0x1b0a45(0x2b0)](_0x1b0a45(0x1fe));}catch(_0x4a04b4){}try{db[_0x1b0a45(0x2b0)]('ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20provider\x20TEXT\x20DEFAULT\x20\x27claude\x27');}catch(_0x34f94d){}db[_0x1b0a45(0x2b0)]('\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20schema_version\x20(\x0a\x20\x20\x20\x20\x20\x20version\x20INTEGER\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20applied_at\x20TEXT\x20DEFAULT\x20(datetime(\x27now\x27))\x0a\x20\x20\x20\x20)\x0a\x20\x20');const _0x22762a=db[_0x1b0a45(0x21f)]('SELECT\x20COUNT(*)\x20as\x20cnt\x20FROM\x20schema_version'),_0x1f4832=_0x22762a['length']>0x0?_0x22762a[0x0]['values'][0x0][0x0]:0x0;_0x1f4832===0x0&&db[_0x1b0a45(0x2b0)]('INSERT\x20INTO\x20schema_version\x20(version)\x20VALUES\x20(?)',[0x1]);_0x433e97[_0x1b0a45(0x2cd)](runMigrations);const _0x14e0b2=[[_0x1b0a45(0x2e0),'subscription'],[_0x1b0a45(0x30e),_0x1b0a45(0x1d5)],[_0x1b0a45(0x2a0),config_default['defaultModel']],['theme','dark'],[_0x433e97['etimC'],JSON[_0x1b0a45(0x28a)](['Read',_0x433e97[_0x1b0a45(0x278)],_0x1b0a45(0x227),'Glob',_0x433e97['XhKKP']])],['max_turns','0'],[_0x1b0a45(0x2d2),'14'],['editor_command',_0x433e97[_0x1b0a45(0x304)]],[_0x1b0a45(0x226),'true']];for(const [_0x33c1b7,_0x49e30d]of _0x14e0b2){db['run'](_0x1b0a45(0x24c),[_0x33c1b7,_0x49e30d]);}return saveDatabaseNow(),console[_0x1b0a45(0x33a)](_0x1b0a45(0x2fa),DB_PATH),db;}function isFtsMissingError(_0x709102){const _0x180c1c=a0_0x584d,_0x363641={'HUNRv':_0x180c1c(0x2cf),'jsYav':_0x180c1c(0x2d7)};if(!_0x709102)return![];const _0x50df75=String(_0x709102['message']||_0x709102);return _0x50df75['includes'](_0x180c1c(0x1f8))||_0x50df75[_0x180c1c(0x267)](_0x363641[_0x180c1c(0x32e)])||_0x50df75['includes']('fts5')||_0x50df75[_0x180c1c(0x267)](_0x363641[_0x180c1c(0x277)]);}function createLogsFts(_0x2e5f4d,_0x258638){const _0x390752=a0_0x584d;_0x2e5f4d[_0x390752(0x2b0)](_0x390752(0x2fb)+_0x258638+'(\x0a\x20\x20\x20\x20\x20\x20content,\x0a\x20\x20\x20\x20\x20\x20session_id\x20UNINDEXED,\x0a\x20\x20\x20\x20\x20\x20content=\x27logs\x27\x0a\x20\x20\x20\x20)\x0a\x20\x20'),_0x2e5f4d['run']('\x0a\x20\x20\x20\x20CREATE\x20TRIGGER\x20IF\x20NOT\x20EXISTS\x20logs_fts_ai\x20AFTER\x20INSERT\x20ON\x20logs\x20BEGIN\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20logs_fts(rowid,\x20content,\x20session_id)\x0a\x20\x20\x20\x20\x20\x20VALUES\x20(new.id,\x20new.content,\x20new.session_id);\x0a\x20\x20\x20\x20END;\x0a\x20\x20'),_0x2e5f4d['run'](_0x390752(0x321)),_0x2e5f4d['run'](_0x390752(0x2c4)),_0x2e5f4d[_0x390752(0x2b0)]('INSERT\x20INTO\x20logs_fts(logs_fts)\x20VALUES(\x27rebuild\x27)');}function setupLogsFts(_0x526713){const _0x8600ca=a0_0x584d,_0x3a3b55={'RMNqT':function(_0xa1d304,_0x5ff3a4,_0x5f311e){return _0xa1d304(_0x5ff3a4,_0x5f311e);},'ZpCQt':'[db]\x20FTS\x20unavailable;\x20log\x20search\x20will\x20fall\x20back\x20to\x20LIKE.'};try{createLogsFts(_0x526713,_0x8600ca(0x1ec));return;}catch(_0x4ffd42){if(!isFtsMissingError(_0x4ffd42))throw _0x4ffd42;}try{_0x3a3b55['RMNqT'](createLogsFts,_0x526713,'fts4');return;}catch(_0x21cd47){if(!isFtsMissingError(_0x21cd47))throw _0x21cd47;}console[_0x8600ca(0x268)](_0x3a3b55['ZpCQt']);}function runMigrations(){const _0x42aaef=a0_0x584d,_0x2d71ca={'isfOM':function(_0x1075f9,_0xc8f273){return _0x1075f9>_0xc8f273;},'BjebT':function(_0x5157b8,_0x493b9e){return _0x5157b8>_0x493b9e;},'FijkQ':function(_0x4170e7,_0x1fa97a){return _0x4170e7===_0x1fa97a;},'UlEtY':'INSERT\x20INTO\x20schema_version\x20(version)\x20VALUES\x20(?)'},_0x2cc276=db[_0x42aaef(0x21f)](_0x42aaef(0x29b)),_0x4f4a9c=_0x2d71ca[_0x42aaef(0x231)](_0x2cc276['length'],0x0)&&_0x2cc276[0x0]['values'][0x0][0x0]!=null?_0x2cc276[0x0]['values'][0x0][0x0]:0x0;for(const _0x444c06 of migrations){if(_0x2d71ca['BjebT'](_0x444c06['version'],_0x4f4a9c))try{_0x2d71ca[_0x42aaef(0x1ed)](typeof _0x444c06['up'],'function')?_0x444c06['up'](db):db[_0x42aaef(0x2b0)](_0x444c06['sql']),db['run'](_0x2d71ca['UlEtY'],[_0x444c06['version']]),console['log']('[db]\x20Applied\x20migration\x20v'+_0x444c06['version']);}catch(_0x341e03){console[_0x42aaef(0x2c0)]('[db]\x20FATAL:\x20Migration\x20v'+_0x444c06[_0x42aaef(0x315)]+'\x20failed:\x20'+_0x341e03[_0x42aaef(0x1fa)]),console['error'](_0x42aaef(0x258));throw _0x341e03;}}}function checkDbIntegrity(){const _0x3b0a78=a0_0x584d,_0x18491d={'XpqUn':_0x3b0a78(0x30c)};if(!db)return{'ok':![],'detail':_0x3b0a78(0x2a6)};try{const _0x4db3b9=db['exec']('PRAGMA\x20integrity_check'),_0x4de889=_0x4db3b9['length']>0x0?_0x4db3b9[0x0]['values'][0x0][0x0]:_0x18491d['XpqUn'];return{'ok':_0x4de889==='ok','detail':String(_0x4de889)};}catch(_0x140cd1){return{'ok':![],'detail':_0x140cd1[_0x3b0a78(0x1fa)]};}}function getSchemaVersion(){const _0x1d2ee0=a0_0x584d;if(!db)return 0x0;const _0x552f67=db['exec'](_0x1d2ee0(0x29b));return _0x552f67['length']>0x0&&_0x552f67[0x0][_0x1d2ee0(0x2fc)][0x0][0x0]!=null?_0x552f67[0x0][_0x1d2ee0(0x2fc)][0x0][0x0]:0x0;}async function getDb(){return!db&&await initializeDatabase(),db;}function closeDb(){const _0x16efda=a0_0x584d,_0x31088d={'TUXqI':function(_0x258a93,_0x3166d4){return _0x258a93(_0x3166d4);}};if(db){const _0x3d3ae7='3|4|0|1|2'[_0x16efda(0x2d9)]('|');let _0x485530=0x0;while(!![]){switch(_0x3d3ae7[_0x485530++]){case'0':db[_0x16efda(0x25b)]();continue;case'1':db=null;continue;case'2':console['log']('Database\x20connection\x20closed');continue;case'3':_saveTimer&&(_0x31088d['TUXqI'](clearTimeout,_saveTimer),_saveTimer=null);continue;case'4':saveDatabaseNow();continue;}break;}}}function save(){_saveTimer&&(clearTimeout(_saveTimer),_saveTimer=null),saveDatabaseNow();}function queryAll(_0x15b458,_0xd429cf=[]){const _0x289087=a0_0x584d;if(!db)throw new Error(_0x289087(0x2be));const _0x17c01b=db['prepare'](_0x15b458);_0xd429cf[_0x289087(0x2b5)]>0x0&&_0x17c01b[_0x289087(0x318)](_0xd429cf);const _0x51efdb=[];while(_0x17c01b['step']()){_0x51efdb[_0x289087(0x21b)](_0x17c01b[_0x289087(0x1f2)]());}return _0x17c01b['free'](),_0x51efdb;}function queryOne(_0x3a1718,_0x4aa1c1=[]){const _0x372d78=a0_0x584d,_0x489468={'pAuTd':function(_0x4747ec,_0x13ac6a,_0x1329af){return _0x4747ec(_0x13ac6a,_0x1329af);},'LRQaY':function(_0x24ed7f,_0x2315c6){return _0x24ed7f>_0x2315c6;}},_0x27912e=_0x489468['pAuTd'](queryAll,_0x3a1718,_0x4aa1c1);return _0x489468['LRQaY'](_0x27912e[_0x372d78(0x2b5)],0x0)?_0x27912e[0x0]:null;}function run(_0x289e06,_0xfefe02=[]){const _0x51f0c9=a0_0x584d;if(!db)throw new Error(_0x51f0c9(0x2be));db[_0x51f0c9(0x2b0)](_0x289e06,_0xfefe02),saveDatabase();}function runImmediate(_0x415f63,_0x2b1536=[]){const _0x27433a=a0_0x584d,_0x174580={'VRHtu':'Database\x20not\x20initialized.\x20Call\x20initializeDatabase()\x20first.'};if(!db)throw new Error(_0x174580[_0x27433a(0x2f5)]);db['run'](_0x415f63,_0x2b1536),save();}var DATA_DIR,DB_PATH,db,SQL,_saveTimer,migrations,db_default,init_db=__esm({'server/db.js'(){const _0x4073f2=a0_0x584d,_0x500575={'tIiay':'ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20auth_mode\x20TEXT\x20DEFAULT\x20NULL','jDNKJ':'ALTER\x20TABLE\x20usage\x20ADD\x20COLUMN\x20model\x20TEXT\x20DEFAULT\x20NULL','OxyXD':'ALTER\x20TABLE\x20usage\x20ADD\x20COLUMN\x20cost_source\x20TEXT\x20DEFAULT\x20\x27estimated\x27','pqJnh':'ALTER\x20TABLE\x20projects\x20ADD\x20COLUMN\x20permission_preset\x20TEXT\x20DEFAULT\x20\x27default\x27','bhVGB':_0x4073f2(0x225),'KFESw':'UPDATE\x20sessions\x20SET\x20provider_session_id\x20=\x20claude_session_id\x20WHERE\x20provider\x20=\x20\x27claude\x27\x20AND\x20claude_session_id\x20IS\x20NOT\x20NULL\x20AND\x20provider_session_id\x20IS\x20NULL','heLzA':_0x4073f2(0x256),'JyPwe':_0x4073f2(0x20b),'JJBsw':_0x4073f2(0x1dd),'wgkhY':_0x4073f2(0x2fe),'GiEjE':_0x4073f2(0x1ff),'GcwGX':'CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_analytics_snapshots_type_period\x20ON\x20analytics_snapshots(snapshot_type,\x20period_start)','lZnyC':'CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_analytics_events_created\x20ON\x20analytics_events(created_at)','kbGKK':'CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_pcm_role\x20ON\x20personal_chat_messages(role)','FiqVg':_0x4073f2(0x1e2)};init_config(),DATA_DIR=config_default[_0x4073f2(0x2e7)],DB_PATH=a0_0xb17799['join'](DATA_DIR,config_default[_0x4073f2(0x240)]),db=null,SQL=null,_saveTimer=null,migrations=[{'version':0x2,'up':_0x32589d=>{const _0x550c93=_0x4073f2;_0x32589d['run'](_0x500575['tIiay']),_0x32589d['run'](_0x500575['jDNKJ']),_0x32589d[_0x550c93(0x2b0)](_0x500575[_0x550c93(0x2bb)]);}},{'version':0x3,'up':_0x410037=>{const _0x403a9f=_0x4073f2;_0x410037[_0x403a9f(0x2b0)](_0x403a9f(0x2ed));}},{'version':0x4,'up':_0x18b83a=>{const _0x3b3252=_0x4073f2;_0x18b83a[_0x3b3252(0x2b0)]('\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20audit_log\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20id\x20INTEGER\x20PRIMARY\x20KEY\x20AUTOINCREMENT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20action\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20target\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20actor\x20TEXT\x20DEFAULT\x20\x27admin\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20details\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20TEXT\x20DEFAULT\x20(datetime(\x27now\x27))\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20'),_0x18b83a['run']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_audit_log_action\x20ON\x20audit_log(action)'),_0x18b83a[_0x3b3252(0x2b0)]('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_audit_log_created\x20ON\x20audit_log(created_at)');}},{'version':0x5,'up':_0x29b958=>{const _0x30b57b=_0x4073f2;try{_0x29b958['run'](_0x30b57b(0x343));}catch(_0x506f26){}}},{'version':0x6,'up':_0x5091d0=>{try{_0x5091d0['run'](_0x500575['pqJnh']);}catch(_0x8bf0c9){}}},{'version':0x7,'up':_0x2dcb5b=>{const _0x352f50=_0x4073f2;try{_0x2dcb5b['run'](_0x352f50(0x234));}catch(_0x4866bf){}try{_0x2dcb5b['run'](_0x352f50(0x243));}catch(_0x38d03e){}}},{'version':0x8,'up':_0x8157b7=>{const _0x30aab3=_0x4073f2;_0x8157b7[_0x30aab3(0x2b0)](_0x30aab3(0x303)),_0x8157b7[_0x30aab3(0x2b0)]('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_checkpoints_session\x20ON\x20session_checkpoints(session_id)');}},{'version':0x9,'up':_0x112c2d=>{const _0x15e4ce=_0x4073f2;try{_0x112c2d[_0x15e4ce(0x2b0)](_0x500575[_0x15e4ce(0x294)]);}catch(_0x1211b5){}_0x112c2d['run'](_0x500575[_0x15e4ce(0x26e)]),_0x112c2d['run'](_0x500575['heLzA']);}},{'version':0xa,'up':_0x996133=>{const _0x489651=_0x4073f2;_0x996133[_0x489651(0x2b0)]('\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20wizard_sessions\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20scan_results\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20selected_providers\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20install_results\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20INTEGER\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20completed_at\x20INTEGER\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20'),_0x996133['run']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_wizard_sessions_status\x20ON\x20wizard_sessions(status)');}},{'version':0xb,'up':_0x382ecf=>{const _0x16711a=_0x4073f2;try{_0x382ecf['run'](_0x500575['JyPwe']);}catch(_0x278e2c){}try{_0x382ecf['run'](_0x16711a(0x341));}catch(_0x40f4cc){}try{_0x382ecf['run']('ALTER\x20TABLE\x20templates\x20ADD\x20COLUMN\x20permission_mode\x20TEXT\x20DEFAULT\x20\x27default\x27');}catch(_0x29f038){}try{_0x382ecf['run'](_0x16711a(0x2da));}catch(_0x3b345c){}}},{'version':0xc,'up':_0x20a0e4=>{const _0x5d805b=_0x4073f2;_0x20a0e4['run'](_0x500575[_0x5d805b(0x310)]);}},{'version':0xd,'up':_0x3cabb1=>{const _0x38f80e=_0x4073f2;_0x3cabb1[_0x38f80e(0x2b0)](_0x38f80e(0x283)),_0x3cabb1[_0x38f80e(0x2b0)]('\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20OR\x20REPLACE\x20INTO\x20session_usage_summary\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20session_id,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20input_tokens,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20output_tokens,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cache_read_tokens,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cache_write_tokens,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20total_cost,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cli_cost,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20models_used,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20updated_at\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20session_id,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20COALESCE(SUM(input_tokens),\x200),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20COALESCE(SUM(output_tokens),\x200),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20COALESCE(SUM(cache_read_tokens),\x200),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20COALESCE(SUM(cache_write_tokens),\x200),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20COALESCE(SUM(cost_estimate),\x200),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20COALESCE(SUM(CASE\x20WHEN\x20cost_source\x20IN\x20(\x27cli_reported\x27,\x27terminal_parsed\x27)\x20THEN\x20cost_estimate\x20ELSE\x200\x20END),\x200),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20GROUP_CONCAT(DISTINCT\x20model),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20datetime(\x27now\x27)\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20usage\x0a\x20\x20\x20\x20\x20\x20\x20\x20GROUP\x20BY\x20session_id\x0a\x20\x20\x20\x20\x20\x20');}},{'version':0xe,'up':_0x23e167=>{setupLogsFts(_0x23e167);}},{'version':0xf,'up':_0x445533=>{const _0x2070e3=_0x4073f2;_0x445533['run']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20logs_archive\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20id\x20INTEGER\x20PRIMARY\x20KEY\x20AUTOINCREMENT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20session_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20content\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timestamp\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20archived_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(session_id)\x20REFERENCES\x20sessions(id)\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20'),_0x445533['run'](_0x2070e3(0x2bc)),_0x445533[_0x2070e3(0x2b0)]('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_logs_archive_timestamp\x20ON\x20logs_archive(timestamp)');}},{'version':0x10,'up':_0x3c4f37=>{const _0x3525ac=_0x4073f2;_0x3c4f37['run'](_0x3525ac(0x31c)),_0x3c4f37[_0x3525ac(0x2b0)](_0x500575[_0x3525ac(0x26a)]),_0x3c4f37[_0x3525ac(0x2b0)](_0x3525ac(0x330));}},{'version':0x11,'up':_0x4d2918=>{const _0x4c9f09=_0x4073f2;_0x4d2918[_0x4c9f09(0x2b0)]('ALTER\x20TABLE\x20projects\x20ADD\x20COLUMN\x20is_personal\x20INTEGER\x20NOT\x20NULL\x20DEFAULT\x200'),_0x4d2918[_0x4c9f09(0x2b0)](_0x4c9f09(0x241)),_0x4d2918[_0x4c9f09(0x2b0)]('UPDATE\x20projects\x20SET\x20is_personal\x20=\x201\x20WHERE\x20description\x20=\x20\x27Virtual\x20project\x20for\x20non-coding\x20agents\x20(OpenClaw,\x20etc.)\x27');}},{'version':0x12,'up':_0xc1220f=>{_0xc1220f['run']('UPDATE\x20projects\x20SET\x20is_personal\x20=\x201\x20WHERE\x20name\x20=\x20\x27Personal\x27\x20AND\x20is_personal\x20=\x200');}},{'version':0x13,'up':_0x5ed50d=>{const _0x1bc32c=_0x4073f2,_0x1e482b=[_0x1bc32c(0x232),'ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20worktree_path\x20TEXT','ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20worktree_branch\x20TEXT','ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20worktree_pinned\x20INTEGER\x20DEFAULT\x200',_0x1bc32c(0x2a2)];for(const _0x102b21 of _0x1e482b){try{_0x5ed50d[_0x1bc32c(0x2b0)](_0x102b21);}catch(_0x3c54db){}}}},{'version':0x14,'up':_0x262823=>{const _0x878cb2=_0x4073f2,_0x304878=_0x500575[_0x878cb2(0x202)][_0x878cb2(0x2d9)]('|');let _0x6b69e7=0x0;while(!![]){switch(_0x304878[_0x6b69e7++]){case'0':_0x262823['run']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_analytics_events_category\x20ON\x20analytics_events(event_category)');continue;case'1':_0x262823['run'](_0x500575[_0x878cb2(0x237)]);continue;case'2':_0x262823['run'](_0x878cb2(0x2de));continue;case'3':_0x262823[_0x878cb2(0x2b0)]('\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20analytics_events\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20id\x20INTEGER\x20PRIMARY\x20KEY\x20AUTOINCREMENT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20event_type\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20event_category\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20properties\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27))\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20');continue;case'4':_0x262823[_0x878cb2(0x2b0)]('\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20analytics_snapshots\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20id\x20INTEGER\x20PRIMARY\x20KEY\x20AUTOINCREMENT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20snapshot_type\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20period_start\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20period_end\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20metrics\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27))\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20');continue;case'5':_0x262823[_0x878cb2(0x2b0)](_0x500575[_0x878cb2(0x257)]);continue;}break;}}},{'version':0x15,'up':_0x41a068=>{const _0x563ae5=_0x4073f2;_0x41a068['run']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20personal_chat_messages\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20id\x20INTEGER\x20PRIMARY\x20KEY\x20AUTOINCREMENT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20role\x20TEXT\x20NOT\x20NULL\x20CHECK(role\x20IN\x20(\x27user\x27,\x20\x27assistant\x27,\x20\x27notification\x27)),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20content\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20source\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20\x27chat\x27\x20CHECK(source\x20IN\x20(\x27chat\x27,\x20\x27notification\x27,\x20\x27terminal\x27)),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20metadata\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27))\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20'),_0x41a068[_0x563ae5(0x2b0)](_0x563ae5(0x247)),_0x41a068[_0x563ae5(0x2b0)](_0x500575['kbGKK']);}},{'version':0x16,'up':_0x42d07a=>{const _0x26cf08=_0x4073f2;_0x42d07a[_0x26cf08(0x2b0)]('\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20project_blueprints\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20project_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20blueprint_id\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20blueprint_name\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20blueprint_version\x20INTEGER\x20DEFAULT\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20source_type\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20\x27file\x27\x20CHECK(source_type\x20IN\x20(\x27file\x27,\x20\x27url\x27,\x20\x27cloud\x27)),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20source_url\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20original_json\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20variables_encrypted\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20applied_at\x20TEXT\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20last_checked_at\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20last_updated_at\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(project_id)\x20REFERENCES\x20projects(id)\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20'),_0x42d07a['run'](_0x500575[_0x26cf08(0x2b4)]);}}],db_default={'getDb':getDb,'closeDb':closeDb,'save':save,'queryAll':queryAll,'queryOne':queryOne,'run':run,'runImmediate':runImmediate,'checkDbIntegrity':checkDbIntegrity,'getSchemaVersion':getSchemaVersion};}}),key_manager_exports={};__export(key_manager_exports,{'exportKeysCSV':()=>exportKeysCSV,'generateKey':()=>generateKey,'getKeyStats':()=>getKeyStats,'listKeys':()=>listKeys,'revokeKey':()=>revokeKey,'validateKey':()=>validateKey});function a0_0x1d1c(){const _0x47e6c1=['CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_pcm_created\x20ON\x20personal_chat_messages(created_at)','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_sessions_project_id\x20ON\x20sessions(project_id)','--name\x20\x22Name\x22','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Run\x20system\x20diagnostics\x0a\x20\x20\x20\x20','****','INSERT\x20OR\x20IGNORE\x20INTO\x20settings\x20(key,\x20value)\x20VALUES\x20(?,\x20?)','encryptionKey','/api/admin/keys','BIND_ADDRESS','yJRRO','SrZRX','worktrees','json','\x0a\x20\x20\x20\x20--\x20Session\x20usage\x20summary\x20table\x20(pre-aggregated\x20for\x20session\x20list)\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20session_usage_summary\x20(\x0a\x20\x20\x20\x20\x20\x20session_id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20input_tokens\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20output_tokens\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20cache_read_tokens\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20cache_write_tokens\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20total_cost\x20REAL\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20cli_cost\x20REAL\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20models_used\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20updated_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(session_id)\x20REFERENCES\x20sessions(id)\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20)\x0a\x20\x20','utf-8','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_sessions_provider_session_id\x20ON\x20sessions(provider_session_id)','lZnyC','[db]\x20Database\x20may\x20be\x20in\x20an\x20inconsistent\x20state.\x20Contact\x20support.','colana\x20admin\x20doctor','gh\x20copilot\x20--version','close','padEnd','nRKnJ','YUHXW','\x20\x20\x20\x20\x20\x20\x20\x20Revoke\x20a\x20DB-stored\x20license\x20key\x0a\x0a\x20\x20','encryption.key','kqIgv','aznsP','Read','Type:','fromEntries','fail','includes','warn','runtime','wgkhY','copilot','MLTxP','env','KFESw','zshDl','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Expiry\x20date\x20(optional)\x0a\x20\x20\x20\x20','https://dashboard.polar.sh','beta','EmgTL','--email\x20user@example.com','PTY_DEFAULT_COLS','655FNerpL','jsYav','tFAIc','dashboard.db','pipx','plan','PERMISSION_TIMEOUT_MS','GBUhG','ajAbL','WMHPt','application/json','\x0a\x20\x20No\x20staff\x20or\x20admin\x20keys\x20configured.\x20Set\x20STAFF_KEYS\x20or\x20ADMIN_KEYS\x20environment\x20variable.\x0a','1398TqNzIT','\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20session_usage_summary\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20session_id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20input_tokens\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20output_tokens\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cache_read_tokens\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cache_write_tokens\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20total_cost\x20REAL\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cli_cost\x20REAL\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20models_used\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20updated_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(session_id)\x20REFERENCES\x20sessions(id)\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20','Claude\x20Code','allowed_tools','(via\x20server)','created_at','pERDe','HBRpA','stringify','Glob','info','help','trim','\x20\x20Usage:\x20colana\x20admin\x20revoke-key\x20<id>\x0a','\x0a\x20\x20\x20\x20--\x20Logs\x20table\x20(stores\x20streaming\x20output)\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20logs\x20(\x0a\x20\x20\x20\x20\x20\x20id\x20INTEGER\x20PRIMARY\x20KEY\x20AUTOINCREMENT,\x0a\x20\x20\x20\x20\x20\x20session_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20type\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20content\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20timestamp\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(session_id)\x20REFERENCES\x20sessions(id)\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20)\x0a\x20\x20','aAOel','NFmYw','filter','bhVGB','LEGACY_DEFAULT_KEY','createHash','xcWqx','Key\x20is\x20already\x20revoked','repeat','gteTS','SELECT\x20MAX(version)\x20as\x20v\x20FROM\x20schema_version','@openai/codex','DviPu','FlVUy','label','default_model','User-configured\x20model\x20keys\x20(Anthropic,\x20OpenAI,\x20Ollama,\x20etc.)','ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20worktree_merged\x20INTEGER\x20DEFAULT\x200','ERROR:\x20Invalid\x20type\x20\x22','data','dimoa','Database\x20not\x20initialized','Qzksh','raw','string','name','GIT_DIFF_MAX_BUFFER','2867688yThGtQ','IMPORTANT:\x20Copy\x20this\x20key\x20now.\x20It\x20cannot\x20be\x20retrieved\x20later.','LOG_RETENTION_MAX_BATCHES','--type\x20staff|admin|beta','run','\x20Key\x20','BqKcR','homedir','FiqVg','length','client','DEFAULT_SESSION_LIMIT','AcaWG','-beta','Qjfft','OxyXD','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_logs_archive_session_id\x20ON\x20logs_archive(session_id)','\x1b[0m','Database\x20not\x20initialized.\x20Call\x20initializeDatabase()\x20first.','ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20permission_mode\x20TEXT\x20DEFAULT\x20\x27default\x27','error','INSERT\x20INTO\x20license_keys\x20(id,\x20name,\x20key_hash,\x20type,\x20email,\x20status,\x20expires_at)\x0a\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20\x27active\x27,\x20?)','\x20AND\x20type\x20=\x20?','KEY_FILENAME','\x0a\x20\x20\x20\x20CREATE\x20TRIGGER\x20IF\x20NOT\x20EXISTS\x20logs_fts_au\x20AFTER\x20UPDATE\x20ON\x20logs\x20BEGIN\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20logs_fts(logs_fts,\x20rowid,\x20content,\x20session_id)\x0a\x20\x20\x20\x20\x20\x20VALUES\x20(\x27delete\x27,\x20old.id,\x20old.content,\x20old.session_id);\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20logs_fts(rowid,\x20content,\x20session_id)\x0a\x20\x20\x20\x20\x20\x20VALUES\x20(new.id,\x20new.content,\x20new.session_id);\x0a\x20\x20\x20\x20END;\x0a\x20\x20','@anthropic-ai/claude-code','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Generate\x20a\x20new\x20license\x20key\x20(stored\x20in\x20DB)\x0a\x20\x20\x20\x20\x20\x20','slice','catch','hWrEP','count','id,name,type,status,email,expires_at,created_at,revoked_at','\x20\x20Usage:\x20colana\x20admin\x20create-key\x20--name\x20\x22Sarah\x22\x20--type\x20staff\x20[--email\x20x]\x20[--expires\x202026-12-31]\x0a','IhphA','SELECT\x20id,\x20name,\x20type,\x20status,\x20expires_at,\x20created_at\x20FROM\x20license_keys\x20WHERE\x20key_hash\x20=\x20?','no\x20such\x20module:\x20fts4','24701890IuXbUz','url','font_size','SELECT\x20id,\x20name,\x20type,\x20status,\x20email,\x20expires_at,\x20created_at,\x20revoked_at\x20FROM\x20license_keys\x20WHERE\x201=1','\x1b[32m','ZBgty','ADMIN_KEYS','fts4','\x20\x20\x20\x20\x20\x20','split','ALTER\x20TABLE\x20templates\x20ADD\x20COLUMN\x20is_builtin\x20INTEGER\x20DEFAULT\x200','full','ENCRYPTION_KEY','NO_COLOR','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_analytics_events_type\x20ON\x20analytics_events(event_type)','JtQMY','auth_mode','supportsInteractive','then','2117458XvMOtn','Bash','isTTY','SELECT\x20COUNT(*)\x20as\x20count\x20FROM\x20license_keys','dataDir','eprNh','AZpdK','License\x20Keys:','staff','\x0a\x20\x20\x20\x20--\x20Snippets\x20table\x20(clipboard/reusable\x20commands)\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20snippets\x20(\x0a\x20\x20\x20\x20\x20\x20id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20project_id\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20name\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20content\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20usage_count\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20created_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20updated_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(project_id)\x20REFERENCES\x20projects(id)\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20)\x0a\x20\x20','UPDATE\x20sessions\x20SET\x20auth_mode\x20=\x20\x27subscription\x27\x20WHERE\x20auth_mode\x20IS\x20NULL','Key\x20ID\x20is\x20required','YfUvG','toLocaleDateString','GitHub\x20Copilot\x20subscription','Niadg','XQdsE','ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20num_turns\x20INTEGER','VRHtu','ERROR:\x20Key\x20ID\x20is\x20required.','POLAR_API_URL','npm\x20install\x20-g\x20@openai/codex','Xzwqz','Database\x20initialized\x20at:','\x0a\x20\x20\x20\x20CREATE\x20VIRTUAL\x20TABLE\x20IF\x20NOT\x20EXISTS\x20logs_fts\x0a\x20\x20\x20\x20USING\x20','values','colana:gog-keyring:','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_license_keys_status\x20ON\x20license_keys(status)','TOOL_RESULT_PREVIEW_LEN','https://buy.polar.sh/colana','expires_at','PTY_DEFAULT_ROWS','\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20session_checkpoints\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20session_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20project_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20git_sha\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20is_dirty\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20dirty_summary\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20restored_at\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20TEXT\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(session_id)\x20REFERENCES\x20sessions(id)\x20ON\x20DELETE\x20CASCADE,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(project_id)\x20REFERENCES\x20projects(id)\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20','AJaTK','map','[security]\x20Generated\x20new\x20encryption\x20key\x20file.','stable','ERROR:\x20--name\x20is\x20required.','QOouO','ID:','type','unknown','\x20\x20To\x20add/remove\x20keys,\x20update\x20the\x20STAFF_KEYS\x20or\x20ADMIN_KEYS\x20environment\x20variable.\x0a','default_provider','now','JJBsw','toLowerCase','aider','ZKcGt','bypassPermissions','version','heading','OqCcW','bind','cmd','http://127.0.0.1:','set','\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20license_keys\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20name\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key_hash\x20TEXT\x20NOT\x20NULL\x20UNIQUE,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20\x27staff\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20email\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20\x27active\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expires_at\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20TEXT\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20revoked_at\x20TEXT\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20','Name','zIpqk','supportsHeadless','resolve','\x0a\x20\x20\x20\x20CREATE\x20TRIGGER\x20IF\x20NOT\x20EXISTS\x20logs_fts_ad\x20AFTER\x20DELETE\x20ON\x20logs\x20BEGIN\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20logs_fts(logs_fts,\x20rowid,\x20content,\x20session_id)\x0a\x20\x20\x20\x20\x20\x20VALUES\x20(\x27delete\x27,\x20old.id,\x20old.content,\x20old.session_id);\x0a\x20\x20\x20\x20END;\x0a\x20\x20','\x0a\x20\x20','from','pass','\x0a\x20\x20Run\x20\x27colana\x20doctor\x27\x20for\x20system\x20diagnostics.\x0a','eyEBL','AGENT_GRACE_PERIOD_MS','forEach','sha256','qYxmA','colana-default-encryption-key32','supportsPty','stream-json','HUNRv','create-key','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_license_keys_key_hash\x20ON\x20license_keys(key_hash)','active','\x1b[33m','32sRvPaF','PTY_BUFFER_SIZE','status','revoked_at','MAX_RESUMABLE_SESSIONS','JbDSM','--input-format','log','npm\x20install\x20-g\x20openclaw','models','exYXA','\x20\x20(ADMIN_KEYS)','admin','claude','ALTER\x20TABLE\x20templates\x20ADD\x20COLUMN\x20suggested_provider\x20TEXT','code','ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20last_activity_at\x20TEXT\x20DEFAULT\x20NULL','eiWlS','xzySj','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20List\x20configured\x20staff/admin\x20keys\x20(env\x20vars)\x0a\x20\x20\x20\x20','gLkth','gemini','revoked','STAFF_KEYS','ENEUa','Name\x20is\x20required','taVvN','LOG_ARCHIVE_MODE','colana\x20admin\x20revoke-key\x20<id>','UPDATE\x20sessions\x20SET\x20auth_mode\x20=\x20\x27api_key\x27\x20WHERE\x20provider\x20=\x20\x27codex\x27\x20AND\x20(auth_mode\x20IS\x20NULL\x20OR\x20auth_mode\x20=\x20\x27subscription\x27)','[security]\x20WARNING:\x20Could\x20not\x20write\x20encryption\x20key\x20file:\x20','doctor','value','Anthropic\x20subscription\x20or\x20API\x20key','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_project_blueprints_project\x20ON\x20project_blueprints(project_id)','595398sVPcTR','Admin\x20Keys:','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Key\x20type\x20(default:\x20staff)\x0a\x20\x20\x20\x20\x20\x20','resume','Gemini\x20CLI','KNHVD','Server\x20responded\x20with\x20','261009DhtxeQ','FezvD','fts5','FijkQ','expiry','export','UqcUE','join','getAsObject','LHhYr','OKGfa','\x20has\x20been\x20revoked.\x0a','PERMISSION_CLIENT_MS','FREE_MAX_SESSIONS','no\x20such\x20module:\x20fts5','reset','message','exit','digest','hYagr','ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20mode\x20TEXT\x20DEFAULT\x20\x27legacy\x27','3|4|2|0|5|1','SELECT\x20id,\x20name,\x20type,\x20status,\x20email,\x20expires_at,\x20created_at,\x20revoked_at\x20FROM\x20license_keys\x20ORDER\x20BY\x20created_at\x20DESC','START_PORT','GiEjE','default','hex','Key\x20not\x20found','flag','/api/health','update','startsWith','readFileSync','ALTER\x20TABLE\x20templates\x20ADD\x20COLUMN\x20description\x20TEXT','Grep','bFAyd','toString','/api/admin/keys/','LOG_RETENTION_BATCH_SIZE','\x20\x20\x20\x20','uMkyk','WebSearch','TWbEr','\x1b[37m','mkdirSync','DB_FILENAME','\x0a\x20\x20\x20\x20','codex','success','push','\x1b[31m','jDTQf','\x0a\x20\x20\x20\x20--\x20Templates\x20table\x20(task\x20prompt\x20templates)\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20templates\x20(\x0a\x20\x20\x20\x20\x20\x20id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20project_id\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20name\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20content\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20category\x20TEXT\x20DEFAULT\x20\x27general\x27,\x0a\x20\x20\x20\x20\x20\x20created_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20updated_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(project_id)\x20REFERENCES\x20projects(id)\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20)\x0a\x20\x20','exec','--resume','HTTP\x20','XSZuz','.\x20Must\x20be\x20one\x20of:\x20','existsSync','ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20provider_session_id\x20TEXT','auto_resume_on_restart','Write','randomUUID','kVrJt','280656vtPEtW','revoke-key','keys','@google/gemini-cli','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_sessions_status\x20ON\x20sessions(status)','dontAsk','POLAR_CHECKOUT_URL','isfOM','ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20isolation_mode\x20TEXT\x20DEFAULT\x20\x27local\x27','POLAR_ORG_ID','ALTER\x20TABLE\x20snippets\x20DROP\x20COLUMN\x20is_pinned','brand','Database','GcwGX','muted','package.json','acceptEdits','uYByQ','XkYkd','Admin\x20CLI','\x1b[36m','4scMHVo','dbFilename','UPDATE\x20projects\x20SET\x20is_personal\x20=\x201\x20WHERE\x20name\x20=\x20\x27Personal\x27','getTime','ALTER\x20TABLE\x20snippets\x20DROP\x20COLUMN\x20category','isNaN','providers','Copilot\x20CLI'];a0_0x1d1c=function(){return _0x47e6c1;};return a0_0x1d1c();}import a0_0x12ed25 from'crypto';function hashKey(_0x4fa028){const _0x12d49b=a0_0x584d,_0x46d66c={'aAOel':_0x12d49b(0x204)};return a0_0x12ed25['createHash'](_0x12d49b(0x329))['update'](_0x4fa028)[_0x12d49b(0x1fc)](_0x46d66c[_0x12d49b(0x291)]);}function generateKey(_0x55a288,_0x56273c=a0_0x42a21f(0x2eb),_0xd069cd=null,_0x454996=null){const _0x2f8c8b=a0_0x42a21f,_0x5037ae={'wncqw':'admin','zshDl':'staff','RzPFq':function(_0x1c5985,_0x4caa4b){return _0x1c5985!==_0x4caa4b;},'hYagr':_0x2f8c8b(0x1d9),'kVrJt':function(_0x20b9b7,_0xa3129a){return _0x20b9b7+_0xa3129a;},'xzySj':function(_0x5185fd,_0xa4e60e){return _0x5185fd||_0xa4e60e;}},_0x4ae68f=[_0x5037ae['wncqw'],_0x5037ae[_0x2f8c8b(0x26f)],_0x2f8c8b(0x272)];if(!_0x4ae68f['includes'](_0x56273c))throw new Error('Invalid\x20key\x20type:\x20'+_0x56273c+_0x2f8c8b(0x223)+_0x4ae68f['join'](',\x20'));if(!_0x55a288||_0x5037ae['RzPFq'](typeof _0x55a288,'string')||!_0x55a288['trim']())throw new Error(_0x5037ae[_0x2f8c8b(0x1fd)]);const _0x4a192e=a0_0x12ed25[_0x2f8c8b(0x228)](),_0x1ef479=_0x5037ae[_0x2f8c8b(0x229)](KEY_PREFIX,a0_0x12ed25['randomBytes'](0x10)[_0x2f8c8b(0x20e)](_0x2f8c8b(0x204))),_0x8d57d1=hashKey(_0x1ef479);return run(_0x2f8c8b(0x2c1),[_0x4a192e,_0x55a288[_0x2f8c8b(0x28e)](),_0x8d57d1,_0x56273c,_0x5037ae[_0x2f8c8b(0x345)](_0xd069cd,null),_0x454996||null]),{'id':_0x4a192e,'raw':_0x1ef479,'type':_0x56273c,'name':_0x55a288[_0x2f8c8b(0x28e)]()};}function validateKey(_0x24d822){const _0x2d9db6=a0_0x42a21f,_0x46ab19={'gHxgf':_0x2d9db6(0x2a9),'qWxKd':_0x2d9db6(0x2ce),'Svljn':function(_0x48e1e3,_0x2732ed){return _0x48e1e3!==_0x2732ed;},'hWrEP':function(_0x3033a7,_0x42ca90){return _0x3033a7<_0x42ca90;}};if(!_0x24d822||typeof _0x24d822!==_0x46ab19['gHxgf'])return null;const _0x4d1129=hashKey(_0x24d822['trim']()),_0xd1ba25=queryOne(_0x46ab19['qWxKd'],[_0x4d1129]);if(!_0xd1ba25)return null;if(_0x46ab19['Svljn'](_0xd1ba25[_0x2d9db6(0x335)],'active'))return null;if(_0xd1ba25[_0x2d9db6(0x301)]){const _0x591dee=new Date(_0xd1ba25['expires_at'])[_0x2d9db6(0x242)]();if(_0x46ab19[_0x2d9db6(0x2c9)](_0x591dee,Date[_0x2d9db6(0x30f)]()))return null;}return{'id':_0xd1ba25['id'],'name':_0xd1ba25[_0x2d9db6(0x2aa)],'type':_0xd1ba25['type'],'status':_0xd1ba25['status'],'expires_at':_0xd1ba25['expires_at'],'created_at':_0xd1ba25['created_at']};}function listKeys(_0x138c19={}){const _0x56ea33=a0_0x42a21f,_0x4fdf86={'NFmYw':'\x20AND\x20status\x20=\x20?','PjjDy':function(_0x3fec9e,_0xd9e19c){return _0x3fec9e(_0xd9e19c);}};let _0xba8f39=_0x56ea33(0x2d3);const _0x528744=[];_0x138c19[_0x56ea33(0x30b)]&&(_0xba8f39+=_0x56ea33(0x2c2),_0x528744['push'](_0x138c19['type']));_0x138c19[_0x56ea33(0x335)]&&(_0xba8f39+=_0x4fdf86[_0x56ea33(0x292)],_0x528744[_0x56ea33(0x21b)](_0x138c19[_0x56ea33(0x335)]));_0xba8f39+='\x20ORDER\x20BY\x20created_at\x20DESC';const _0x40df31=Math['min'](Math['max'](_0x4fdf86['PjjDy'](parseInt,_0x138c19['limit'])||0x32,0x1),0x1f4);_0xba8f39+='\x20LIMIT\x20?',_0x528744['push'](_0x40df31);const _0x5c6ae6=queryAll(_0xba8f39,_0x528744),_0x1e121b=_0x5c6ae6[_0x56ea33(0x305)](_0x5b7a76=>({'id':_0x5b7a76['id'],'name':_0x5b7a76['name'],'type':_0x5b7a76['type'],'status':_0x5b7a76[_0x56ea33(0x335)]===_0x56ea33(0x331)?'ACTIVE':'SUSPENDED','key':_0x5b7a76['id'][_0x56ea33(0x2c7)](0x0,0x8)+_0x56ea33(0x24b),'email':_0x5b7a76['email'],'expiry':_0x5b7a76[_0x56ea33(0x301)],'created_at':_0x5b7a76[_0x56ea33(0x287)],'revoked_at':_0x5b7a76[_0x56ea33(0x336)]}));return{'keys':_0x1e121b};}function revokeKey(_0x5a2a33){const _0x17e274=a0_0x42a21f,_0x593dd3={'JtQMY':function(_0x18991,_0x4c5ae3,_0x265173){return _0x18991(_0x4c5ae3,_0x265173);},'pERDe':'SELECT\x20id,\x20status\x20FROM\x20license_keys\x20WHERE\x20id\x20=\x20?','uYByQ':_0x17e274(0x298),'Gbkoz':'UPDATE\x20license_keys\x20SET\x20status\x20=\x20\x27revoked\x27,\x20revoked_at\x20=\x20datetime(\x27now\x27)\x20WHERE\x20id\x20=\x20?'};if(!_0x5a2a33)throw new Error(_0x17e274(0x2ee));const _0x44112d=_0x593dd3[_0x17e274(0x2df)](queryOne,_0x593dd3[_0x17e274(0x288)],[_0x5a2a33]);if(!_0x44112d)throw new Error(_0x17e274(0x205));if(_0x44112d[_0x17e274(0x335)]===_0x17e274(0x1d6))throw new Error(_0x593dd3[_0x17e274(0x23b)]);return run(_0x593dd3['Gbkoz'],[_0x5a2a33]),{'success':!![]};}function getKeyStats(){const _0xb7791d=a0_0x42a21f,_0x1aa0b9={'EHDUO':'SELECT\x20COUNT(*)\x20as\x20count\x20FROM\x20license_keys\x20WHERE\x20status\x20=\x20\x27active\x27','MLTxP':function(_0x13db7c,_0x384218){return _0x13db7c(_0x384218);},'FKrYC':'SELECT\x20type,\x20COUNT(*)\x20as\x20count\x20FROM\x20license_keys\x20WHERE\x20status\x20=\x20\x27active\x27\x20GROUP\x20BY\x20type'},_0x4c4ddc=queryOne(_0xb7791d(0x2e6)),_0x455df0=queryOne(_0x1aa0b9['EHDUO']),_0x46e284=queryOne('SELECT\x20COUNT(*)\x20as\x20count\x20FROM\x20license_keys\x20WHERE\x20status\x20=\x20\x27revoked\x27'),_0x12ca78=_0x1aa0b9[_0xb7791d(0x26c)](queryAll,_0x1aa0b9['FKrYC']),_0x4ae0d4={};for(const _0x313375 of _0x12ca78){_0x4ae0d4[_0x313375['type']]=_0x313375['count'];}return{'totalKeys':_0x4c4ddc?.['count']||0x0,'activeKeys':_0x455df0?.[_0xb7791d(0x2ca)]||0x0,'revokedKeys':_0x46e284?.[_0xb7791d(0x2ca)]||0x0,'byType':_0x4ae0d4};}function exportKeysCSV(){const _0x3ccc96=a0_0x42a21f,_0x75351={'aznsP':function(_0x25f022,_0x397172){return _0x25f022(_0x397172);},'XkYkd':_0x3ccc96(0x200)},_0x4b3de4=_0x75351[_0x3ccc96(0x262)](queryAll,_0x75351[_0x3ccc96(0x23c)]),_0x431f55=_0x3ccc96(0x2cb),_0x5420de=_0x4b3de4[_0x3ccc96(0x305)](_0x4debd3=>{const _0x237ba7=_0x3ccc96;return[_0x4debd3['id'],'\x22'+(_0x4debd3['name']||'')['replace'](/"/g,'\x22\x22')+'\x22',_0x4debd3['type'],_0x4debd3['status'],_0x4debd3['email']||'',_0x4debd3[_0x237ba7(0x301)]||'',_0x4debd3['created_at']||'',_0x4debd3['revoked_at']||''][_0x237ba7(0x1f1)](',');});return[_0x431f55,..._0x5420de][_0x3ccc96(0x1f1)]('\x0a');}var KEY_PREFIX,init_key_manager=__esm({'server/key-manager.js'(){const _0x4ca6e7={'gUzji':function(_0x4f74b5){return _0x4f74b5();},'ScPrk':'col_'};_0x4ca6e7['gUzji'](init_db),KEY_PREFIX=_0x4ca6e7['ScPrk'];}});import a0_0x4aec49 from'path';import{fileURLToPath as a0_0x5a4ec1}from'url';var supportsColor=((()=>{const _0x12dd51=a0_0x42a21f,_0x4a0e06={'YfUvG':function(_0x466aa3,_0x58cd42){return _0x466aa3===_0x58cd42;}};if(process['env'][_0x12dd51(0x2dd)])return![];if(_0x4a0e06[_0x12dd51(0x2ef)](process[_0x12dd51(0x26d)]['FORCE_COLOR'],'1'))return!![];return!!process['stdout'][_0x12dd51(0x2e5)];})());function makeColors(_0x2d6af2){const _0x33c2e8=a0_0x42a21f,_0x5149da={'jGEBF':'\x1b[38;5;214m','WMHPt':_0x33c2e8(0x2d4),'knCis':_0x33c2e8(0x332),'ajAbL':'\x1b[90m'};if(!_0x2d6af2)return{'reset':'','brand':'','heading':'','success':'','error':'','warn':'','info':'','muted':'','value':'','cmd':'','url':''};return{'reset':_0x33c2e8(0x2bd),'brand':_0x5149da['jGEBF'],'heading':'\x1b[1;37m','success':_0x5149da[_0x33c2e8(0x27f)],'error':_0x33c2e8(0x21c),'warn':_0x5149da['knCis'],'info':_0x33c2e8(0x23e),'muted':_0x5149da[_0x33c2e8(0x27e)],'value':_0x33c2e8(0x215),'cmd':_0x33c2e8(0x23e),'url':'\x1b[36m'};}function a0_0x584d(_0x39f958,_0x32335d){_0x39f958=_0x39f958-0x1d5;const _0x1d1c66=a0_0x1d1c();let _0x584d3a=_0x1d1c66[_0x39f958];return _0x584d3a;}var c=makeColors(supportsColor),icons={'pass':c[a0_0x42a21f(0x21a)]+'✓'+c[a0_0x42a21f(0x1f9)],'fail':c[a0_0x42a21f(0x2c0)]+'✗'+c[a0_0x42a21f(0x1f9)],'warn':c[a0_0x42a21f(0x268)]+'⚠'+c['reset'],'arrow':c[a0_0x42a21f(0x28c)]+'→'+c['reset'],'dot':c[a0_0x42a21f(0x235)]+'•'+c['reset']};function brandName(_0x455ef8=a0_0x42a21f(0x2db)){const _0x26de7b=a0_0x42a21f,_0x437174={'nRKnJ':'prefix'},_0x943357=c[_0x26de7b(0x316)]+'co'+c['brand']+':'+c[_0x26de7b(0x316)]+'lana'+c['reset'];if(_0x455ef8===_0x437174[_0x26de7b(0x25d)])return'['+_0x943357+']';return _0x943357;}var __dirname2=a0_0x4aec49['dirname'](a0_0x5a4ec1(import.meta.url));function parseArgs(_0x353858){const _0x18b12e=a0_0x42a21f,_0x32c0db={'exYXA':function(_0x260512,_0xec0f51){return _0x260512<_0xec0f51;},'gJyma':function(_0x87375f,_0x5df36c){return _0x87375f+_0x5df36c;}},_0x2d3ce2=_0x353858[_0x18b12e(0x2c7)](0x2),_0x443c2f=_0x2d3ce2[0x0],_0x32fc63=[],_0x4e5245={};for(let _0x169a4d=0x1;_0x169a4d<_0x2d3ce2['length'];_0x169a4d++){if(_0x2d3ce2[_0x169a4d]['startsWith']('--')){let _0x4a5554=_0x2d3ce2[_0x169a4d]['slice'](0x2),_0xbcf410;const _0xe3e614=_0x4a5554['indexOf']('=');_0xe3e614!==-0x1?(_0xbcf410=_0x4a5554[_0x18b12e(0x2c7)](_0xe3e614+0x1),_0x4a5554=_0x4a5554[_0x18b12e(0x2c7)](0x0,_0xe3e614)):_0xbcf410=_0x32c0db[_0x18b12e(0x33d)](_0x32c0db['gJyma'](_0x169a4d,0x1),_0x2d3ce2[_0x18b12e(0x2b5)])&&!_0x2d3ce2[_0x169a4d+0x1][_0x18b12e(0x209)]('--')?_0x2d3ce2[++_0x169a4d]:'true',_0x4e5245[_0x4a5554]=_0xbcf410;}else _0x32fc63[_0x18b12e(0x21b)](_0x2d3ce2[_0x169a4d]);}return{'command':_0x443c2f,'flags':_0x4e5245,'positional':_0x32fc63};}function maskKey(_0x3a9d5f){const _0x290e4d=a0_0x42a21f,_0x246913={'ZccPf':function(_0x40a38c,_0x1a2cd2){return _0x40a38c<=_0x1a2cd2;},'eprNh':'****'};if(!_0x3a9d5f||_0x246913['ZccPf'](_0x3a9d5f[_0x290e4d(0x2b5)],0x8))return _0x290e4d(0x24b);return _0x3a9d5f[_0x290e4d(0x2c7)](0x0,0x4)+_0x246913[_0x290e4d(0x2e8)];}var DEFAULT_PORT=0x2694,MAX_PORT_SCAN=0x64;async function findRunningServer(){const _0x46fb3c=a0_0x42a21f,_0xbb89c1={'KNHVD':function(_0x11598c,_0x52c46f){return _0x11598c<_0x52c46f;},'eiWlS':function(_0x107960,_0x13a61f){return _0x107960+_0x13a61f;}};for(let _0x4dc246=0x0;_0xbb89c1[_0x46fb3c(0x1e8)](_0x4dc246,MAX_PORT_SCAN);_0x4dc246++){const _0x2aedd5=_0xbb89c1[_0x46fb3c(0x344)](DEFAULT_PORT,_0x4dc246);try{const _0xe44e99=await fetch('http://127.0.0.1:'+_0x2aedd5+_0x46fb3c(0x207),{'signal':AbortSignal['timeout'](0x1f4)});if(_0xe44e99['ok']){const _0x471c4f=await _0xe44e99[_0x46fb3c(0x253)]();if(_0x471c4f['status']==='ok')return _0x46fb3c(0x31a)+_0x2aedd5;}}catch{}}return null;}async function createKeyViaApi(_0x438a5e,_0x16890e){const _0x1c6a59=a0_0x42a21f,_0x3219ed={'CgkvY':'POST'},_0x1a4599=await fetch(_0x438a5e+_0x1c6a59(0x24e),{'method':_0x3219ed['CgkvY'],'headers':{'Content-Type':_0x1c6a59(0x280)},'body':JSON['stringify'](_0x16890e)});if(!_0x1a4599['ok']){const _0x77f816=await _0x1a4599['json']()['catch'](()=>({'error':'HTTP\x20'+_0x1a4599['status']}));throw new Error(_0x77f816['error']||_0x1c6a59(0x1e9)+_0x1a4599['status']);}return _0x1a4599['json']();}async function listKeysViaApi(_0x53a2c1,_0x2d0c03){const _0x19969d=a0_0x42a21f,_0x3f5b39={'OKGfa':'type','sYlAJ':function(_0x5aa73a,_0x583c61){return _0x5aa73a+_0x583c61;}},_0x1a8a6a=new URLSearchParams();if(_0x2d0c03[_0x19969d(0x30b)])_0x1a8a6a[_0x19969d(0x31b)](_0x3f5b39[_0x19969d(0x1f4)],_0x2d0c03['type']);if(_0x2d0c03[_0x19969d(0x335)])_0x1a8a6a[_0x19969d(0x31b)]('status',_0x2d0c03[_0x19969d(0x335)]);const _0x2992e0=_0x1a8a6a[_0x19969d(0x20e)](),_0x5a66e8=await fetch(_0x53a2c1+_0x19969d(0x24e)+(_0x2992e0?_0x3f5b39['sYlAJ']('?',_0x2992e0):''));if(!_0x5a66e8['ok']){const _0x16fc17=await _0x5a66e8['json']()['catch'](()=>({'error':_0x19969d(0x221)+_0x5a66e8['status']}));throw new Error(_0x16fc17['error']||'Server\x20responded\x20with\x20'+_0x5a66e8[_0x19969d(0x335)]);}return _0x5a66e8['json']();}async function revokeKeyViaApi(_0x228eac,_0x4d9dd5){const _0x588c4d=a0_0x42a21f,_0x33abcd={'LMQRm':function(_0x3eb756,_0x2faf21,_0x37c112){return _0x3eb756(_0x2faf21,_0x37c112);}},_0x2dc133=await _0x33abcd['LMQRm'](fetch,_0x228eac+_0x588c4d(0x20f)+_0x4d9dd5,{'method':'DELETE'});if(!_0x2dc133['ok']){const _0x169a81=await _0x2dc133[_0x588c4d(0x253)]()['catch'](()=>({'error':'HTTP\x20'+_0x2dc133['status']}));throw new Error(_0x169a81['error']||'Server\x20responded\x20with\x20'+_0x2dc133[_0x588c4d(0x335)]);}return _0x2dc133['json']();}var _dbReady=![];async function ensureDb(){const _0x2696f4=a0_0x42a21f,_0x2e1860={'BqKcR':function(_0x5847f7){return _0x5847f7();}};if(_dbReady)return;const {getDb:_0x541c58}=await Promise[_0x2696f4(0x320)]()['then'](()=>(init_db(),db_exports));await _0x2e1860[_0x2696f4(0x2b2)](_0x541c58),_dbReady=!![];}async function createKey(_0x8a4299){const _0x32d649=a0_0x42a21f,_0x5ec8cd={'Xzwqz':_0x32d649(0x2cc),'kyFFb':_0x32d649(0x33f),'Niadg':_0x32d649(0x2eb),'CIfgo':function(_0x1123ec,_0x27db66){return _0x1123ec||_0x27db66;}},_0x10581c=_0x8a4299['name'],_0x1c2ea6=_0x8a4299['type']||_0x32d649(0x2eb),_0x39e2c9=_0x8a4299['email']||null,_0x579bce=_0x8a4299['expires']||null;if(!_0x10581c){console['error'](_0x32d649(0x322)+icons['fail']+'\x20'+c[_0x32d649(0x2c0)]+_0x32d649(0x308)+c[_0x32d649(0x1f9)]+'\x0a'),console[_0x32d649(0x2c0)](_0x5ec8cd[_0x32d649(0x2f9)]),process[_0x32d649(0x1fb)](0x1);return;}const _0x2b39c2=[_0x5ec8cd['kyFFb'],_0x5ec8cd[_0x32d649(0x2f2)],_0x32d649(0x272)];if(!_0x2b39c2[_0x32d649(0x267)](_0x1c2ea6)){console[_0x32d649(0x2c0)]('\x0a\x20\x20'+icons['fail']+'\x20'+c['error']+_0x32d649(0x2a3)+_0x1c2ea6+'\x22.\x20Must\x20be\x20one\x20of:\x20'+_0x2b39c2[_0x32d649(0x1f1)](',\x20')+c[_0x32d649(0x1f9)]+'\x0a'),process['exit'](0x1);return;}const _0x446392=await findRunningServer();let _0x4ccc84;if(_0x446392)try{_0x4ccc84=await createKeyViaApi(_0x446392,{'name':_0x10581c,'type':_0x1c2ea6,'email':_0x5ec8cd['CIfgo'](_0x39e2c9,void 0x0),'expires':_0x579bce||void 0x0});}catch(_0x4c34b8){console[_0x32d649(0x2c0)](_0x32d649(0x322)+icons['fail']+'\x20'+c[_0x32d649(0x2c0)]+_0x4c34b8['message']+c['reset']+'\x20'+c[_0x32d649(0x238)]+_0x32d649(0x286)+c['reset']+'\x0a'),process['exit'](0x1);return;}else{await ensureDb();const {generateKey:_0x317cde}=await Promise['resolve']()['then'](()=>(init_key_manager(),key_manager_exports));try{_0x4ccc84=_0x317cde(_0x10581c,_0x1c2ea6,_0x39e2c9,_0x579bce);}catch(_0x54618a){console[_0x32d649(0x2c0)](_0x32d649(0x322)+icons['fail']+'\x20'+c['error']+_0x54618a['message']+c['reset']+'\x0a'),process[_0x32d649(0x1fb)](0x1);return;}}if(!_0x4ccc84||!_0x4ccc84['name']){console[_0x32d649(0x2c0)]('\x0a\x20\x20'+icons[_0x32d649(0x266)]+'\x20'+c[_0x32d649(0x2c0)]+'Key\x20generation\x20returned\x20an\x20unexpected\x20response.'+c[_0x32d649(0x1f9)]+'\x0a'),process[_0x32d649(0x1fb)](0x1);return;}console['log'](''),console['log']('\x20\x20'+icons['pass']+'\x20Key\x20generated\x20successfully!'),console[_0x32d649(0x33a)]('\x20\x20'+c['muted']+'─'[_0x32d649(0x299)](0x28)+c['reset']),console['log']('\x20\x20\x20\x20'+c['muted']+'Name:'+c[_0x32d649(0x1f9)]+'\x20\x20\x20\x20'+c[_0x32d649(0x1e0)]+_0x4ccc84[_0x32d649(0x2aa)]+c['reset']),console['log']('\x20\x20\x20\x20'+c['muted']+_0x32d649(0x264)+c['reset']+'\x20\x20\x20\x20'+c[_0x32d649(0x1e0)]+_0x4ccc84['type']+c['reset']),console[_0x32d649(0x33a)](_0x32d649(0x211)+c['muted']+_0x32d649(0x30a)+c[_0x32d649(0x1f9)]+_0x32d649(0x2d8)+c[_0x32d649(0x1e0)]+_0x4ccc84['id']+c['reset']),console['log']('\x20\x20\x20\x20'+c[_0x32d649(0x238)]+'Key:'+c['reset']+'\x20\x20\x20\x20\x20'+c['warn']+_0x4ccc84[_0x32d649(0x2a8)]+c[_0x32d649(0x1f9)]),console[_0x32d649(0x33a)]('\x20\x20'+c[_0x32d649(0x238)]+'─'[_0x32d649(0x299)](0x28)+c['reset']),console[_0x32d649(0x33a)]('\x20\x20'+c[_0x32d649(0x268)]+_0x32d649(0x2ad)+c['reset']),_0x446392?console[_0x32d649(0x33a)]('\x20\x20'+c['muted']+'(Created\x20via\x20running\x20server)'+c['reset']):console[_0x32d649(0x33a)]('\x20\x20'+c['muted']+'(Created\x20via\x20direct\x20DB\x20—\x20restart\x20server\x20to\x20pick\x20up)'+c['reset']),console['log']('');}async function listKeysCmd(_0x1eb856){const _0x56577d=a0_0x42a21f,_0x4405b0={'Qjfft':function(_0x2ae705){return _0x2ae705();},'DUIhq':function(_0x25c3cc,_0x227420,_0x28de2b){return _0x25c3cc(_0x227420,_0x28de2b);},'kqIgv':'Type'},_0x4b47b8={};if(_0x1eb856['type'])_0x4b47b8[_0x56577d(0x30b)]=_0x1eb856['type'];if(_0x1eb856[_0x56577d(0x335)])_0x4b47b8['status']=_0x1eb856['status'];const _0x214d0=await _0x4405b0[_0x56577d(0x2ba)](findRunningServer);let _0x2a0d8b;if(_0x214d0)try{_0x2a0d8b=await _0x4405b0['DUIhq'](listKeysViaApi,_0x214d0,_0x4b47b8);}catch(_0x77cc89){console[_0x56577d(0x2c0)]('\x0a\x20\x20'+icons[_0x56577d(0x266)]+'\x20'+c[_0x56577d(0x2c0)]+_0x77cc89[_0x56577d(0x1fa)]+c['reset']+'\x20'+c[_0x56577d(0x238)]+'(via\x20server)'+c['reset']+'\x0a'),process[_0x56577d(0x1fb)](0x1);return;}else{await ensureDb();const {listKeys:_0xe6f0bd}=await Promise[_0x56577d(0x320)]()['then'](()=>(init_key_manager(),key_manager_exports));_0x2a0d8b=_0xe6f0bd(_0x4b47b8);}if(!_0x2a0d8b||!_0x2a0d8b['keys']||!_0x2a0d8b['keys']['length']){console[_0x56577d(0x33a)]('\x0a\x20\x20No\x20keys\x20found.\x0a');return;}console[_0x56577d(0x33a)](''),console[_0x56577d(0x33a)]('\x20\x20'+c['heading']+_0x56577d(0x2ea)+c['reset']),console[_0x56577d(0x33a)]('\x20\x20'+c[_0x56577d(0x238)]+'─'[_0x56577d(0x299)](0x50)+c[_0x56577d(0x1f9)]),console['log']('\x20\x20'+c[_0x56577d(0x238)]+'ID'[_0x56577d(0x25c)](0xa)+_0x56577d(0x31d)['padEnd'](0x14)+_0x4405b0[_0x56577d(0x261)][_0x56577d(0x25c)](0xa)+'Status'['padEnd'](0xa)+'Expires'['padEnd'](0xf)+'Created'+c['reset']),console['log']('\x20\x20'+c[_0x56577d(0x238)]+'─'['repeat'](0x50)+c[_0x56577d(0x1f9)]);for(const _0x2d9efd of _0x2a0d8b[_0x56577d(0x22c)]){const _0x1156b9=(_0x2d9efd['id']||'')['slice'](0x0,0x8),_0x4fd856=(_0x2d9efd['name']||'')['slice'](0x0,0x12)['padEnd'](0x14),_0x395f10=(_0x2d9efd[_0x56577d(0x30b)]||'')['padEnd'](0xa),_0xf3d729=(_0x2d9efd['status']||'')[_0x56577d(0x25c)](0xa),_0x3d156f=(_0x2d9efd[_0x56577d(0x1ee)]?new Date(_0x2d9efd['expiry'])[_0x56577d(0x2f0)]():'Never')['padEnd'](0xf),_0x5d8d2d=_0x2d9efd[_0x56577d(0x287)]?new Date(_0x2d9efd['created_at'])['toLocaleDateString']():'-';console[_0x56577d(0x33a)]('\x20\x20'+_0x1156b9['padEnd'](0xa)+_0x4fd856+_0x395f10+_0xf3d729+_0x3d156f+_0x5d8d2d);}console['log']('\x20\x20'+c['muted']+'─'['repeat'](0x50)+c[_0x56577d(0x1f9)]),console['log']('\x20\x20'+c['muted']+'Total:\x20'+_0x2a0d8b[_0x56577d(0x22c)][_0x56577d(0x2b5)]+'\x20key(s)'+c[_0x56577d(0x1f9)]+'\x0a');}async function revokeKeyCmd(_0x1c8989){const _0x39b76b=a0_0x42a21f,_0x2226a6={'gteTS':_0x39b76b(0x28f),'cFFvX':function(_0x1377ff){return _0x1377ff();},'kZzlR':function(_0x3e49ef,_0x56338c,_0x504bad){return _0x3e49ef(_0x56338c,_0x504bad);}},_0x3397be=_0x1c8989[0x0];if(!_0x3397be){console['error'](_0x39b76b(0x322)+icons[_0x39b76b(0x266)]+'\x20'+c[_0x39b76b(0x2c0)]+_0x39b76b(0x2f6)+c[_0x39b76b(0x1f9)]+'\x0a'),console['error'](_0x2226a6[_0x39b76b(0x29a)]),process[_0x39b76b(0x1fb)](0x1);return;}const _0x4ce133=await _0x2226a6['cFFvX'](findRunningServer);if(_0x4ce133)try{await _0x2226a6['kZzlR'](revokeKeyViaApi,_0x4ce133,_0x3397be),console[_0x39b76b(0x33a)](_0x39b76b(0x322)+icons['pass']+_0x39b76b(0x2b1)+c[_0x39b76b(0x1e0)]+_0x3397be+c[_0x39b76b(0x1f9)]+_0x39b76b(0x1f5));}catch(_0x191d24){console['error']('\x0a\x20\x20'+icons['fail']+'\x20'+c['error']+_0x191d24['message']+c[_0x39b76b(0x1f9)]+'\x20'+c[_0x39b76b(0x238)]+'(via\x20server)'+c['reset']+'\x0a'),process['exit'](0x1);return;}else{await ensureDb();const {revokeKey:_0x139368}=await Promise[_0x39b76b(0x320)]()[_0x39b76b(0x2e2)](()=>(init_key_manager(),key_manager_exports));try{_0x139368(_0x3397be),console['log']('\x0a\x20\x20'+icons[_0x39b76b(0x324)]+_0x39b76b(0x2b1)+c['value']+_0x3397be+c[_0x39b76b(0x1f9)]+_0x39b76b(0x1f5));}catch(_0x5c5f06){console['error']('\x0a\x20\x20'+icons[_0x39b76b(0x266)]+'\x20'+c[_0x39b76b(0x2c0)]+_0x5c5f06[_0x39b76b(0x1fa)]+c['reset']+'\x0a'),process['exit'](0x1);return;}}}function showHelp(){const _0x7a84f9=a0_0x42a21f;console[_0x7a84f9(0x33a)]('\x0a\x20\x20'+brandName()+'\x20'+c[_0x7a84f9(0x238)]+_0x7a84f9(0x23d)+c['reset']+'\x0a\x0a\x20\x20'+c[_0x7a84f9(0x316)]+'Usage:'+c[_0x7a84f9(0x1f9)]+_0x7a84f9(0x218)+c[_0x7a84f9(0x319)]+_0x7a84f9(0x259)+c['reset']+_0x7a84f9(0x24a)+c['cmd']+'colana\x20admin\x20staff-keys'+c['reset']+_0x7a84f9(0x346)+c['cmd']+'colana\x20admin\x20create-key'+c['reset']+_0x7a84f9(0x2c6)+c['muted']+_0x7a84f9(0x249)+c[_0x7a84f9(0x1f9)]+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Recipient\x20name\x20(required)\x0a\x20\x20\x20\x20\x20\x20'+c[_0x7a84f9(0x238)]+'--type\x20staff|admin|beta'+c[_0x7a84f9(0x1f9)]+_0x7a84f9(0x1e5)+c['muted']+_0x7a84f9(0x274)+c[_0x7a84f9(0x1f9)]+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Email\x20(optional)\x0a\x20\x20\x20\x20\x20\x20'+c[_0x7a84f9(0x238)]+'--expires\x202026-12-31'+c['reset']+_0x7a84f9(0x270)+c['cmd']+'colana\x20admin\x20list-keys'+c[_0x7a84f9(0x1f9)]+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20List\x20DB-stored\x20license\x20keys\x0a\x20\x20\x20\x20\x20\x20'+c[_0x7a84f9(0x238)]+_0x7a84f9(0x2af)+c['reset']+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Filter\x20by\x20type\x0a\x20\x20\x20\x20\x20\x20'+c['muted']+'--status\x20active|revoked'+c['reset']+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Filter\x20by\x20status\x0a\x20\x20\x20\x20'+c['cmd']+_0x7a84f9(0x1dc)+c[_0x7a84f9(0x1f9)]+_0x7a84f9(0x25f)+c['muted']+'Polar.sh\x20key\x20management:'+c[_0x7a84f9(0x1f9)]+_0x7a84f9(0x218)+c[_0x7a84f9(0x2d1)]+_0x7a84f9(0x271)+c['reset']+'\x0a');}function doctor(){const _0xbe55ec=a0_0x42a21f;console['log'](_0xbe55ec(0x325));}function staffKeys(){const _0x5adc25=a0_0x42a21f,_0x22f167={'jDTQf':function(_0x527d69,_0x4a0251){return _0x527d69+_0x4a0251;},'FezvD':function(_0x2241d1,_0x42d385){return _0x2241d1(_0x42d385);},'yJRRO':_0x5adc25(0x281),'YUHXW':function(_0x503f2e,_0x1b6ab6){return _0x503f2e>_0x1b6ab6;},'XSZuz':_0x5adc25(0x30d)},_0xb30424=process['env'][_0x5adc25(0x1d7)]||'',_0x2a5b7d=process[_0x5adc25(0x26d)][_0x5adc25(0x2d6)]||'',_0x38ba32=_0xb30424[_0x5adc25(0x2d9)](',')['map'](_0x5c8cda=>_0x5c8cda['trim']())[_0x5adc25(0x293)](Boolean),_0x220d87=_0x2a5b7d['split'](',')['map'](_0x2a31cc=>_0x2a31cc['trim']())[_0x5adc25(0x293)](Boolean);if(_0x38ba32['length']===0x0&&_0x220d87['length']===0x0){console['log'](_0x22f167[_0x5adc25(0x250)]);return;}console[_0x5adc25(0x33a)](''),_0x22f167[_0x5adc25(0x25e)](_0x38ba32['length'],0x0)&&(console['log']('\x20\x20'+c[_0x5adc25(0x316)]+'Staff\x20Keys:'+c['reset']),console[_0x5adc25(0x33a)]('\x20\x20'+c['muted']+'─'[_0x5adc25(0x299)](0xa)+c[_0x5adc25(0x1f9)]),_0x38ba32[_0x5adc25(0x328)]((_0x3045bd,_0x1801b4)=>{const _0x1eed49=_0x5adc25;console[_0x1eed49(0x33a)](_0x1eed49(0x211)+_0x22f167[_0x1eed49(0x21d)](_0x1801b4,0x1)+'.\x20'+_0x22f167[_0x1eed49(0x1eb)](maskKey,_0x3045bd)+'\x20\x20(STAFF_KEYS)');}),console['log']('')),_0x220d87[_0x5adc25(0x2b5)]>0x0&&(console['log']('\x20\x20'+c[_0x5adc25(0x316)]+_0x5adc25(0x1e4)+c[_0x5adc25(0x1f9)]),console[_0x5adc25(0x33a)]('\x20\x20'+c['muted']+'─'['repeat'](0xa)+c[_0x5adc25(0x1f9)]),_0x220d87['forEach']((_0x534c77,_0x35f202)=>{const _0x347214=_0x5adc25;console[_0x347214(0x33a)]('\x20\x20\x20\x20'+(_0x35f202+0x1)+'.\x20'+_0x22f167['FezvD'](maskKey,_0x534c77)+_0x347214(0x33e));}),console[_0x5adc25(0x33a)]('')),console[_0x5adc25(0x33a)](_0x22f167[_0x5adc25(0x222)]);}async function main(){const _0x61b83d=a0_0x42a21f,_0x68b50={'wscrL':_0x61b83d(0x28d),'ddFFC':_0x61b83d(0x1df),'LHhYr':function(_0x11f39c){return _0x11f39c();},'ZKcGt':'staff-keys','taVvN':function(_0x3e38d6,_0x1815f1){return _0x3e38d6(_0x1815f1);},'AZpdK':'list-keys'},{command:_0x33f460,flags:_0x56050d,positional:_0x144b48}=parseArgs(process['argv']);if(!_0x33f460||_0x33f460===_0x68b50['wscrL']||_0x33f460==='--help'){showHelp();return;}switch(_0x33f460){case _0x68b50['ddFFC']:return _0x68b50[_0x61b83d(0x1f3)](doctor);case _0x68b50[_0x61b83d(0x313)]:return staffKeys();case _0x61b83d(0x32f):return _0x68b50[_0x61b83d(0x1da)](createKey,_0x56050d);case _0x68b50[_0x61b83d(0x2e9)]:return _0x68b50[_0x61b83d(0x1da)](listKeysCmd,_0x56050d);case _0x61b83d(0x22b):return revokeKeyCmd(_0x144b48);default:console[_0x61b83d(0x2c0)]('\x20\x20'+icons[_0x61b83d(0x266)]+'\x20Unknown\x20command:\x20'+c['value']+_0x33f460+c[_0x61b83d(0x1f9)]),console[_0x61b83d(0x2c0)]('\x20\x20'+c['muted']+'Run\x20\x22colana\x20admin\x20help\x22\x20for\x20usage.'+c[_0x61b83d(0x1f9)]),process[_0x61b83d(0x1fb)](0x1);return;}}main()[a0_0x42a21f(0x2c8)](_0xe953c5=>{const _0x32462e=a0_0x42a21f;console[_0x32462e(0x2c0)]('\x20\x20'+icons['fail']+'\x20'+c['error']+(_0xe953c5['message']||_0xe953c5)+c['reset']),process['exit'](0x1);});
2
+ const a0_0x145efa=a0_0x4295;(function(_0x20e85d,_0x5e116c){const _0x8d21dc=a0_0x4295,_0x2e79b8=_0x20e85d();while(!![]){try{const _0x5a5efe=parseInt(_0x8d21dc(0x1c1))/0x1+parseInt(_0x8d21dc(0x15b))/0x2*(-parseInt(_0x8d21dc(0x184))/0x3)+parseInt(_0x8d21dc(0x1b2))/0x4+-parseInt(_0x8d21dc(0xbc))/0x5+parseInt(_0x8d21dc(0xd3))/0x6*(-parseInt(_0x8d21dc(0x128))/0x7)+-parseInt(_0x8d21dc(0x1e7))/0x8+-parseInt(_0x8d21dc(0xca))/0x9*(-parseInt(_0x8d21dc(0xee))/0xa);if(_0x5a5efe===_0x5e116c)break;else _0x2e79b8['push'](_0x2e79b8['shift']());}catch(_0x1ba63a){_0x2e79b8['push'](_0x2e79b8['shift']());}}}(a0_0x2868,0xdd8b1));var __defProp=Object[a0_0x145efa(0x11e)],__getOwnPropNames=Object['getOwnPropertyNames'],__esm=(_0x419fa1,_0x1160e7)=>function _0xbb7cda(){return _0x419fa1&&(_0x1160e7=(0x0,_0x419fa1[__getOwnPropNames(_0x419fa1)[0x0]])(_0x419fa1=0x0)),_0x1160e7;},__export=(_0xdd8b24,_0x5f2d5b)=>{const _0x3cbb56=a0_0x145efa,_0x511742={'SqfRl':function(_0xbde721,_0x1631ae,_0x10065d,_0x44d822){return _0xbde721(_0x1631ae,_0x10065d,_0x44d822);}};for(var _0x5765f7 in _0x5f2d5b)_0x511742[_0x3cbb56(0xb1)](__defProp,_0xdd8b24,_0x5765f7,{'get':_0x5f2d5b[_0x5765f7],'enumerable':!![]});};import a0_0x59ef5a from'crypto';import a0_0x387fff from'fs';import a0_0x2af331 from'os';import a0_0xfc94f8 from'path';import{fileURLToPath}from'url';function envInt(_0x2aa237,_0x48d9a2){const _0x1fdadc=a0_0x145efa,_0x3990cd=parseInt(_0x2aa237,0xa);return Number[_0x1fdadc(0x166)](_0x3990cd)?_0x48d9a2:_0x3990cd;}function resolveEncryptionKey(){const _0x5d5911=a0_0x145efa,_0xd9df12={'zWZvO':_0x5d5911(0x181),'FpJOQ':function(_0x177ee2,_0x488346){return _0x177ee2>=_0x488346;}};if(process[_0x5d5911(0xa5)][_0x5d5911(0xe6)])return process[_0x5d5911(0xa5)]['ENCRYPTION_KEY'];const _0xa23dbc=a0_0xfc94f8['join'](dataDir,KEY_FILENAME),_0x519531=a0_0xfc94f8[_0x5d5911(0xdf)](dataDir,_0x5d5911(0x1b4));if(a0_0x387fff[_0x5d5911(0x1a6)](_0xa23dbc))try{const _0x263f2c=a0_0x387fff[_0x5d5911(0xa6)](_0xa23dbc,_0xd9df12[_0x5d5911(0x1c4)]),_0xe7b5a9=_0x263f2c['split']('\x0a')['filter'](_0x4bdf86=>!_0x4bdf86[_0x5d5911(0x1cd)]('#'))['join']('')[_0x5d5911(0x1cc)]();if(_0xd9df12[_0x5d5911(0xa9)](_0xe7b5a9['length'],0x20))return _0xe7b5a9;console[_0x5d5911(0x17c)](_0x5d5911(0x193)+_0xe7b5a9[_0x5d5911(0xac)]+_0x5d5911(0x127));}catch(_0x51088f){console[_0x5d5911(0x17c)]('[security]\x20Failed\x20to\x20read\x20encryption\x20key\x20file:\x20'+_0x51088f['message']);}if(!a0_0x387fff[_0x5d5911(0x1a6)](_0x519531))return generateAndWriteKeyFile(_0xa23dbc);return LEGACY_DEFAULT_KEY;}function generateAndWriteKeyFile(_0x415db9){const _0x237342=a0_0x145efa,_0x4b69f1={'rgMgt':_0x237342(0x1ba),'ZXuPX':'#\x20Without\x20this\x20key,\x20all\x20encrypted\x20settings\x20(API\x20keys,\x20tokens)\x20are\x20unrecoverable.'},_0x2d12a8=a0_0x59ef5a[_0x237342(0xce)](0x20)['toString'](_0x4b69f1[_0x237342(0x186)]);try{const _0x5762e5=a0_0xfc94f8['dirname'](_0x415db9);if(!a0_0x387fff[_0x237342(0x1a6)](_0x5762e5))a0_0x387fff[_0x237342(0xc9)](_0x5762e5,{'recursive':!![]});const _0x5f3d90=['#\x20Auto-generated\x20by\x20Colana.\x20Do\x20not\x20share\x20or\x20delete.',_0x4b69f1[_0x237342(0x1b7)],_0x237342(0x1f4),_0x2d12a8,''][_0x237342(0xdf)]('\x0a');a0_0x387fff[_0x237342(0xfd)](_0x415db9,_0x5f3d90,{'encoding':'utf-8','mode':0x180}),console[_0x237342(0xa2)](_0x237342(0x16a));}catch(_0xd27a64){console['error'](_0x237342(0x111)+_0xd27a64['message']),console[_0x237342(0x17c)](_0x237342(0x10a));}return _0x2d12a8;}function getReleaseChannel(){const _0x27adf9=a0_0x145efa,_0xacddf1={'kjSab':_0x27adf9(0x1a2),'zfDSb':_0x27adf9(0xb2)};try{const _0x163204=a0_0xfc94f8[_0x27adf9(0xdf)](__dirname,'..',_0x27adf9(0x196)),_0x331f2a=JSON[_0x27adf9(0x177)](a0_0x387fff[_0x27adf9(0xa6)](_0x163204,_0x27adf9(0x181))),_0x20cfa9=_0x331f2a['version']||'';if(_0x20cfa9[_0x27adf9(0x8c)](_0xacddf1[_0x27adf9(0xb6)]))return _0xacddf1[_0x27adf9(0x90)];}catch{}return'stable';}var __dirname,dataDir,LEGACY_DEFAULT_KEY,KEY_FILENAME,config,config_default,init_config=__esm({'server/config.js'(){const _0x14de28=a0_0x145efa,_0x1b69c0={'GwgEU':'@anthropic-ai/claude-code','aAYJd':_0x14de28(0x99),'RMtmb':_0x14de28(0x16f),'wowMK':'Anthropic\x20subscription\x20or\x20API\x20key','pdPcX':'codex','pXtti':_0x14de28(0x179),'ccZDp':'gemini','QQyLv':_0x14de28(0x18a),'ddNNB':_0x14de28(0x154),'wkYnd':_0x14de28(0x1ad),'JthGg':'--restore-chat-history','FPYoa':_0x14de28(0x17f),'rfTFI':'pipx','PXECO':'LLM\x20API\x20key\x20required','IxkHE':_0x14de28(0xcf),'hnTsi':'https://colana.ai','DMbwh':function(_0x22736c,_0x520efb,_0x5cbcdb){return _0x22736c(_0x520efb,_0x5cbcdb);},'sJfJL':function(_0x556564,_0x5bb42f){return _0x556564*_0x5bb42f;},'BeLUU':function(_0x334f83,_0x1bb9d8,_0x23800a){return _0x334f83(_0x1bb9d8,_0x23800a);},'CGKFZ':function(_0x17291a,_0x201dec){return _0x17291a*_0x201dec;},'zfhTl':function(_0x5355fd,_0x3160c1){return _0x5355fd*_0x3160c1;},'LmAZu':_0x14de28(0x1b4),'ZtDBp':'127.0.0.1','TBpoy':function(_0x8821c5,_0x597a3c,_0x4d6685){return _0x8821c5(_0x597a3c,_0x4d6685);},'Qbxtz':function(_0x36c370,_0x1e1999,_0x4b4119){return _0x36c370(_0x1e1999,_0x4b4119);},'kkXzL':function(_0x4392ec,_0xd4a1bc){return _0x4392ec*_0xd4a1bc;},'NGWQu':function(_0x4ba5bb,_0x1cd0a9,_0x31db16){return _0x4ba5bb(_0x1cd0a9,_0x31db16);},'NPvdX':function(_0x4c2572,_0x50d02e){return _0x4c2572*_0x50d02e;},'zxWBS':function(_0x29a008,_0x19d747,_0x3f0c13){return _0x29a008(_0x19d747,_0x3f0c13);},'ECmKR':_0x14de28(0xfb),'moSgM':_0x14de28(0x1ed),'XMJOu':_0x14de28(0x19c),'UfhSv':_0x14de28(0xe2),'xeLPp':function(_0xe095a7,_0x3ed2ac,_0x53d8f8){return _0xe095a7(_0x3ed2ac,_0x53d8f8);},'TtZwN':'worktrees','eDjSK':_0x14de28(0x1fd),'LyQgA':'stream-json','kxSOs':_0x14de28(0xb5),'hbMVZ':'acceptEdits','TJCxO':_0x14de28(0xc0),'LQfwi':_0x14de28(0x155),'lALsC':_0x14de28(0xec),'MddNY':'plan','rnqnv':_0x14de28(0x17d),'XwqpQ':_0x14de28(0xf0),'gTaTV':'encryption.key'},_0x2d629a='1|9|4|7|3|8|10|2|6|5|0|11'[_0x14de28(0xf9)]('|');let _0x3ac988=0x0;while(!![]){switch(_0x2d629a[_0x3ac988++]){case'0':config[_0x14de28(0x1d8)]['providers']=Object['fromEntries'](Object[_0x14de28(0xbd)](config[_0x14de28(0x1b1)])[_0x14de28(0x1e4)](([_0x3da452,_0xb8ee40])=>[_0x3da452,{'label':_0xb8ee40[_0x14de28(0xc2)],'models':_0xb8ee40[_0x14de28(0x199)],'supportsResume':_0xb8ee40['supportsResume'],'supportsPty':_0xb8ee40[_0x14de28(0x11b)],'supportsInteractive':_0xb8ee40['supportsInteractive'],'supportsHeadless':_0xb8ee40['supportsHeadless']!==![],'runtime':_0xb8ee40[_0x14de28(0x130)],'authNote':_0xb8ee40[_0x14de28(0x158)],'recommended':_0xb8ee40['recommended']||![],'isPersonal':_0xb8ee40['isPersonal']||![]}]));continue;case'1':__dirname=a0_0xfc94f8[_0x14de28(0x10e)](fileURLToPath(import.meta.url));continue;case'2':config['KEY_FILENAME']=KEY_FILENAME;continue;case'3':config={'providers':{'claude':{'label':'Claude\x20Code','binary':_0x14de28(0x92),'npmPackage':_0x1b69c0['GwgEU'],'models':[],'supportsResume':!![],'supportsPty':!![],'supportsInteractive':!![],'resumeStyle':_0x1b69c0[_0x14de28(0x18b)],'resumeFlag':'--resume','installCmd':'npm\x20install\x20-g\x20@anthropic-ai/claude-code','runtime':_0x1b69c0['RMtmb'],'authNote':_0x1b69c0['wowMK']},'codex':{'label':'Codex\x20CLI','binary':_0x1b69c0[_0x14de28(0x1ee)],'npmPackage':_0x14de28(0x107),'models':[],'supportsResume':!![],'supportsPty':!![],'supportsInteractive':!![],'resumeStyle':'subcommand','resumeSubcmd':_0x14de28(0xc7),'installCmd':'npm\x20install\x20-g\x20@openai/codex','runtime':'npm','authNote':_0x1b69c0[_0x14de28(0xb8)]},'gemini':{'label':_0x14de28(0x1dd),'binary':_0x1b69c0[_0x14de28(0x144)],'npmPackage':_0x1b69c0['QQyLv'],'models':[],'supportsResume':!![],'supportsPty':!![],'supportsInteractive':!![],'resumeStyle':_0x1b69c0['aAYJd'],'resumeFlag':_0x14de28(0x154),'installCmd':'npm\x20install\x20-g\x20@google/gemini-cli','runtime':'npm','authNote':_0x14de28(0xd5),'recommended':!![]},'copilot':{'label':'Copilot\x20CLI','binary':_0x14de28(0x1dc),'fallbackBinary':'gh','fallbackBinaryArgs':[_0x14de28(0x1dc)],'models':[],'supportsResume':!![],'supportsPty':!![],'supportsInteractive':!![],'resumeStyle':_0x1b69c0[_0x14de28(0x18b)],'resumeFlag':_0x1b69c0[_0x14de28(0x1b9)],'installCmd':_0x14de28(0xa4),'installFallbackCmd':'gh\x20extension\x20install\x20github/gh-copilot','runtime':'npm','authNote':_0x14de28(0x1c0)},'aider':{'label':_0x1b69c0['wkYnd'],'binary':'aider','models':[],'supportsResume':!![],'supportsPty':!![],'supportsInteractive':!![],'resumeStyle':_0x1b69c0[_0x14de28(0x18b)],'resumeFlag':_0x1b69c0['JthGg'],'noSessionId':!![],'installCmd':_0x14de28(0x8f),'installFallbackCmd':_0x1b69c0[_0x14de28(0x141)],'installPrereq':_0x14de28(0x1c6),'runtime':_0x1b69c0[_0x14de28(0x1df)],'authNote':_0x1b69c0[_0x14de28(0xaf)]},'openclaw':{'label':'OpenClaw','binary':_0x1b69c0['IxkHE'],'models':[],'supportsResume':![],'supportsPty':!![],'supportsInteractive':!![],'supportsHeadless':![],'installCmd':_0x14de28(0xb9),'runtime':_0x14de28(0x16f),'authNote':'User-configured\x20model\x20keys\x20(Anthropic,\x20OpenAI,\x20Ollama,\x20etc.)','gatewayPort':0x4965,'isPersonal':!![]}},'defaultModel':process[_0x14de28(0xa5)][_0x14de28(0x170)]||null,'polar':{'organizationId':process['env']['POLAR_ORG_ID']||'','accessToken':process['env'][_0x14de28(0xd0)]||'','productId':process[_0x14de28(0xa5)][_0x14de28(0x1ca)]||'','checkoutUrl':process[_0x14de28(0xa5)]['POLAR_CHECKOUT_URL']||_0x14de28(0x135),'customerPortalUrl':process[_0x14de28(0xa5)][_0x14de28(0xe5)]||'','webhookSecret':process[_0x14de28(0xa5)][_0x14de28(0x9f)]||'','apiUrl':process['env'][_0x14de28(0xde)]||'https://api.polar.sh/v1','blueprintCloudUrl':process[_0x14de28(0xa5)]['BLUEPRINT_CLOUD_URL']||_0x1b69c0[_0x14de28(0xfc)],'cacheTtlMs':_0x1b69c0[_0x14de28(0x1a0)](envInt,process['env'][_0x14de28(0x96)],_0x1b69c0['sJfJL'](0x7*0x18,0x3c)*0x3c*0x3e8),'revalidationIntervalMs':_0x1b69c0['BeLUU'](envInt,process[_0x14de28(0xa5)]['LICENSE_REVALIDATION_INTERVAL_MS'],_0x1b69c0[_0x14de28(0xcb)](_0x1b69c0[_0x14de28(0xcb)](_0x1b69c0['zfhTl'](0x6,0x3c),0x3c),0x3e8)),'staffKeys':(process['env']['STAFF_KEYS']||'')[_0x14de28(0xf9)](',')[_0x14de28(0x1e4)](_0x52e0de=>_0x52e0de['trim']())[_0x14de28(0x1a8)](Boolean),'adminKeys':(process['env'][_0x14de28(0x172)]||'')[_0x14de28(0xf9)](',')['map'](_0x440128=>_0x440128[_0x14de28(0x1cc)]())['filter'](Boolean)},'freeMaxSessions':envInt(process['env'][_0x14de28(0x1f8)],0x2),'dataDir':dataDir,'dbFilename':process['env'][_0x14de28(0x1d2)]||_0x1b69c0['LmAZu'],'homePath':a0_0x2af331['homedir'](),'startPort':envInt(process[_0x14de28(0xa5)]['START_PORT'],0x2694),'maxPortAttempts':_0x1b69c0[_0x14de28(0x163)](envInt,process[_0x14de28(0xa5)]['MAX_PORT_ATTEMPTS'],0x64),'bindAddress':process[_0x14de28(0xa5)]['BIND_ADDRESS']||_0x1b69c0['ZtDBp'],'encryptionKey':resolveEncryptionKey(),'encryptionKeyIsLegacyDefault':![],'defaultEditorCommand':'code','permissionTimeoutMs':envInt(process[_0x14de28(0xa5)]['PERMISSION_TIMEOUT_MS'],0x1d4c0),'permissionClientMs':envInt(process[_0x14de28(0xa5)]['PERMISSION_CLIENT_MS'],0x249f0),'agentGracePeriodMs':_0x1b69c0[_0x14de28(0x1f1)](envInt,process['env']['AGENT_GRACE_PERIOD_MS'],0x1388),'shutdownTimeoutMs':envInt(process['env']['SHUTDOWN_TIMEOUT_MS'],0x2710),'defaultLogLimit':_0x1b69c0['DMbwh'](envInt,process[_0x14de28(0xa5)]['DEFAULT_LOG_LIMIT'],0x3e8),'defaultSessionLimit':_0x1b69c0[_0x14de28(0x1f6)](envInt,process[_0x14de28(0xa5)][_0x14de28(0x101)],0x14),'gitDiffMaxBuffer':envInt(process[_0x14de28(0xa5)][_0x14de28(0x139)],_0x1b69c0[_0x14de28(0xcb)](_0x1b69c0['kkXzL'](0xa,0x400),0x400)),'toolResultPreviewLen':_0x1b69c0['Qbxtz'](envInt,process[_0x14de28(0xa5)]['TOOL_RESULT_PREVIEW_LEN'],0x1f4),'maxResumableSessions':envInt(process['env']['MAX_RESUMABLE_SESSIONS'],0x5),'updateCheckIntervalMs':envInt(process['env']['UPDATE_CHECK_INTERVAL_MS'],0x6*0x3c*0x3c*0x3e8),'logRetentionDays':_0x1b69c0['NGWQu'](envInt,process[_0x14de28(0xa5)][_0x14de28(0x194)],0x0),'logRetentionIntervalMs':_0x1b69c0['BeLUU'](envInt,process['env']['LOG_RETENTION_INTERVAL_MS'],_0x1b69c0['kkXzL'](_0x1b69c0[_0x14de28(0xe4)](0x18*0x3c,0x3c),0x3e8)),'logRetentionBatchSize':_0x1b69c0[_0x14de28(0x1a7)](envInt,process['env'][_0x14de28(0x1a1)],0x7d0),'logRetentionMaxBatches':envInt(process[_0x14de28(0xa5)][_0x14de28(0x176)],0xa),'logArchiveMode':(process[_0x14de28(0xa5)][_0x14de28(0x93)]||'db')['toLowerCase'](),'allowedTools':[_0x1b69c0[_0x14de28(0x19a)],_0x14de28(0xf0),_0x1b69c0['moSgM'],_0x14de28(0xbe),_0x14de28(0x138),_0x14de28(0xda),_0x1b69c0[_0x14de28(0x11c)],_0x1b69c0[_0x14de28(0x149)]],'maxTurnsOptions':[0x0,0xa,0x19,0x32,0x64],'fontSizes':[0xc,0xe,0x10,0x12],'ptyBufferSize':_0x1b69c0[_0x14de28(0xad)](envInt,process[_0x14de28(0xa5)][_0x14de28(0x1bd)],0x100*0x400),'ptyDefaultCols':envInt(process['env']['PTY_DEFAULT_COLS'],0x78),'ptyDefaultRows':envInt(process['env'][_0x14de28(0xe8)],0x1e),'worktreesDir':a0_0xfc94f8[_0x14de28(0xdf)](dataDir,_0x1b69c0[_0x14de28(0x153)]),'worktreeMaxPerProject':0xa,'worktreeStaleAfterDays':0x4,'worktreeCleanupIntervalMs':_0x1b69c0['CGKFZ'](_0x1b69c0['kkXzL'](0x18,0x3c),0x3c)*0x3e8,'worktreeGitTimeoutMs':0x7530,'worktreeGitQuickTimeoutMs':0x1388,'cliFlags':[_0x14de28(0x8e),_0x1b69c0[_0x14de28(0x112)],'stream-json',_0x14de28(0x14b),_0x1b69c0['LyQgA'],_0x14de28(0x151),'--verbose'],'permissionToolName':_0x1b69c0[_0x14de28(0xf1)],'permissionModes':[_0x14de28(0xec),_0x1b69c0['hbMVZ'],'plan','bypassPermissions',_0x1b69c0['TJCxO'],_0x1b69c0[_0x14de28(0x1ac)]],'contextWindows':{'opus':0x30d40,'sonnet':0x30d40,'haiku':0x30d40,'claude-opus-4-6-20260214':0x30d40,'claude-opus-4-5-20251101':0x30d40,'claude-sonnet-4-5-20250929':0x30d40,'claude-sonnet-4-20250514':0x30d40,'claude-3-5-sonnet-20241022':0x30d40,'claude-3-5-haiku-20241022':0x30d40,'default':0x30d40},'client':{'wsReconnectBaseMs':0x3e8,'wsReconnectMaxMs':0x7530,'toastDurationMs':0xfa0,'toolOutputTruncation':0x12c,'taskPreviewLen':0x23,'terminalTaskLen':0x32,'popoutWidth':0x320,'popoutHeight':0x258,'maxResumableSessions':envInt(process[_0x14de28(0xa5)][_0x14de28(0x1b3)],0x5),'permissionModes':[_0x1b69c0[_0x14de28(0xfe)],_0x14de28(0x14d),_0x1b69c0['MddNY'],_0x1b69c0['rnqnv'],'dontAsk','delegate'],'defaultContextWindow':0x30d40,'contextWindows':{'opus':0x30d40,'sonnet':0x30d40,'haiku':0x30d40,'claude-opus-4-6-20260214':0x30d40,'claude-opus-4-5-20251101':0x30d40,'claude-sonnet-4-5-20250929':0x30d40,'claude-sonnet-4-20250514':0x30d40,'claude-3-5-sonnet-20241022':0x30d40,'claude-3-5-haiku-20241022':0x30d40,'default':0x30d40},'allowedTools':[_0x14de28(0xfb),_0x1b69c0[_0x14de28(0xa1)],_0x1b69c0['moSgM'],_0x14de28(0xbe),'Grep',_0x14de28(0xda),_0x14de28(0x19c),_0x14de28(0xe2)],'maxTurnsOptions':[0x0,0xa,0x19,0x32,0x64],'fontSizes':[0xc,0xe,0x10,0x12]}};continue;case'4':LEGACY_DEFAULT_KEY='colana-default-encryption-key32';continue;case'5':config[_0x14de28(0x1f3)]=getReleaseChannel();continue;case'6':config['deriveGogKeyringPassword']=function(){const _0x409ca1=_0x14de28;return a0_0x59ef5a[_0x409ca1(0x1db)](_0x409ca1(0xf8))['update']('colana:gog-keyring:'+config['encryptionKey'])['digest']('hex')['slice'](0x0,0x20);};continue;case'7':KEY_FILENAME=_0x1b69c0[_0x14de28(0x1a3)];continue;case'8':config['encryptionKeyIsLegacyDefault']=config[_0x14de28(0x105)]===LEGACY_DEFAULT_KEY;continue;case'9':dataDir=process['env'][_0x14de28(0x10d)]?a0_0xfc94f8['resolve'](process['env']['DATA_DIR']):a0_0xfc94f8['join'](__dirname,'..','data');continue;case'10':config['LEGACY_DEFAULT_KEY']=LEGACY_DEFAULT_KEY;continue;case'11':config_default=config;continue;}break;}}}),db_exports={};__export(db_exports,{'checkDbIntegrity':()=>checkDbIntegrity,'closeDb':()=>closeDb,'default':()=>db_default,'getDb':()=>getDb,'getSchemaVersion':()=>getSchemaVersion,'queryAll':()=>queryAll,'queryOne':()=>queryOne,'run':()=>run,'runImmediate':()=>runImmediate,'save':()=>save});import a0_0x40a549 from'sql.js';import a0_0x294c8f from'path';import a0_0x374688 from'fs';function saveDatabaseNow(){const _0x184fd4=a0_0x145efa;if(db){const _0x137e72=db['export'](),_0x458591=Buffer[_0x184fd4(0xba)](_0x137e72);a0_0x374688['writeFileSync'](DB_PATH,_0x458591);}}function saveDatabase(){const _0x51194f=a0_0x145efa,_0x4dfd93={'DdzMB':function(_0x8e74af,_0x1f5407,_0x458ede){return _0x8e74af(_0x1f5407,_0x458ede);}};if(_saveTimer)return;_saveTimer=_0x4dfd93[_0x51194f(0x16c)](setTimeout,()=>{_saveTimer=null,saveDatabaseNow();},0x3e8);}async function initializeDatabase(){const _0x8cfdaf=a0_0x145efa,_0x19be8e={'tdGTe':'PRAGMA\x20foreign_keys\x20=\x20ON','sYHIu':function(_0x1c0ec8,_0x488c43){return _0x1c0ec8===_0x488c43;},'ADGCK':'auth_mode','BktEx':_0x8cfdaf(0xdb),'ZnzMm':'theme','UocVv':'allowed_tools','Vubse':_0x8cfdaf(0xf0),'TmfoH':_0x8cfdaf(0xdc),'yJBbI':_0x8cfdaf(0x148),'Gjsig':'editor_command','zAxkw':'true','usNdI':function(_0x43879f){return _0x43879f();}};!a0_0x374688[_0x8cfdaf(0x1a6)](DATA_DIR)&&a0_0x374688['mkdirSync'](DATA_DIR,{'recursive':!![]});SQL=await a0_0x40a549();if(a0_0x374688[_0x8cfdaf(0x1a6)](DB_PATH)){const _0x3229dc=a0_0x374688[_0x8cfdaf(0xa6)](DB_PATH);db=new SQL[(_0x8cfdaf(0x157))](_0x3229dc);}else db=new SQL['Database']();db['run'](_0x19be8e['tdGTe']),db['run']('\x0a\x20\x20\x20\x20--\x20Projects\x20table\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20projects\x20(\x0a\x20\x20\x20\x20\x20\x20id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20name\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20path\x20TEXT\x20NOT\x20NULL\x20UNIQUE,\x0a\x20\x20\x20\x20\x20\x20description\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20created_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20updated_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27))\x0a\x20\x20\x20\x20)\x0a\x20\x20'),db['run']('\x0a\x20\x20\x20\x20--\x20Sessions\x20table\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20sessions\x20(\x0a\x20\x20\x20\x20\x20\x20id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20project_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20claude_session_id\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20task\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20status\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20\x27starting\x27,\x0a\x20\x20\x20\x20\x20\x20model\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20started_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20ended_at\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20parent_session_id\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(project_id)\x20REFERENCES\x20projects(id)\x20ON\x20DELETE\x20CASCADE,\x0a\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(parent_session_id)\x20REFERENCES\x20sessions(id)\x0a\x20\x20\x20\x20)\x0a\x20\x20'),db[_0x8cfdaf(0x19d)](_0x8cfdaf(0x16e)),db[_0x8cfdaf(0x19d)](_0x8cfdaf(0x1de)),db['run']('\x0a\x20\x20\x20\x20--\x20Session\x20usage\x20summary\x20table\x20(pre-aggregated\x20for\x20session\x20list)\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20session_usage_summary\x20(\x0a\x20\x20\x20\x20\x20\x20session_id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20input_tokens\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20output_tokens\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20cache_read_tokens\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20cache_write_tokens\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20total_cost\x20REAL\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20cli_cost\x20REAL\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20models_used\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20updated_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(session_id)\x20REFERENCES\x20sessions(id)\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20)\x0a\x20\x20'),db[_0x8cfdaf(0x19d)](_0x8cfdaf(0x1c9)),db['run']('\x0a\x20\x20\x20\x20--\x20Templates\x20table\x20(task\x20prompt\x20templates)\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20templates\x20(\x0a\x20\x20\x20\x20\x20\x20id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20project_id\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20name\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20content\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20category\x20TEXT\x20DEFAULT\x20\x27general\x27,\x0a\x20\x20\x20\x20\x20\x20created_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20updated_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(project_id)\x20REFERENCES\x20projects(id)\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20)\x0a\x20\x20'),db['run']('\x0a\x20\x20\x20\x20--\x20Snippets\x20table\x20(clipboard/reusable\x20commands)\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20snippets\x20(\x0a\x20\x20\x20\x20\x20\x20id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20project_id\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20name\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20content\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20usage_count\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20created_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20updated_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(project_id)\x20REFERENCES\x20projects(id)\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20)\x0a\x20\x20'),db['run'](_0x8cfdaf(0xc5)),db['run']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_sessions_status\x20ON\x20sessions(status)'),db[_0x8cfdaf(0x19d)]('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_logs_session_id\x20ON\x20logs(session_id)'),db[_0x8cfdaf(0x19d)]('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_usage_session_id\x20ON\x20usage(session_id)');try{db['run'](_0x8cfdaf(0x1d7));}catch(_0x53a9dd){}try{db['run'](_0x8cfdaf(0x18c));}catch(_0x3e6dac){}try{db['run'](_0x8cfdaf(0x1b6));}catch(_0x208839){}try{db[_0x8cfdaf(0x19d)]('ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20total_cost_usd\x20REAL');}catch(_0x25c2e2){}try{db['run']('ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20mode\x20TEXT\x20DEFAULT\x20\x27legacy\x27');}catch(_0x1764d7){}try{db[_0x8cfdaf(0x19d)]('ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20provider\x20TEXT\x20DEFAULT\x20\x27claude\x27');}catch(_0x1328b6){}db[_0x8cfdaf(0x19d)]('\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20schema_version\x20(\x0a\x20\x20\x20\x20\x20\x20version\x20INTEGER\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20applied_at\x20TEXT\x20DEFAULT\x20(datetime(\x27now\x27))\x0a\x20\x20\x20\x20)\x0a\x20\x20');const _0x1a7e53=db[_0x8cfdaf(0x145)]('SELECT\x20COUNT(*)\x20as\x20cnt\x20FROM\x20schema_version'),_0x428e17=_0x1a7e53[_0x8cfdaf(0xac)]>0x0?_0x1a7e53[0x0][_0x8cfdaf(0x126)][0x0][0x0]:0x0;_0x19be8e[_0x8cfdaf(0x13d)](_0x428e17,0x0)&&db['run'](_0x8cfdaf(0x1be),[0x1]);runMigrations();const _0x32ab86=[[_0x19be8e['ADGCK'],_0x19be8e[_0x8cfdaf(0xbf)]],['default_provider','gemini'],[_0x8cfdaf(0x1d1),config_default['defaultModel']],[_0x19be8e[_0x8cfdaf(0x1e8)],'dark'],[_0x19be8e[_0x8cfdaf(0x159)],JSON[_0x8cfdaf(0xb3)](['Read',_0x19be8e[_0x8cfdaf(0xd2)],'Write','Glob','Grep'])],[_0x19be8e[_0x8cfdaf(0xf6)],'0'],[_0x19be8e['yJBbI'],'14'],[_0x19be8e[_0x8cfdaf(0x1a5)],_0x8cfdaf(0x15c)],['auto_resume_on_restart',_0x19be8e[_0x8cfdaf(0x94)]]];for(const [_0x38cc24,_0x33c90b]of _0x32ab86){db[_0x8cfdaf(0x19d)]('INSERT\x20OR\x20IGNORE\x20INTO\x20settings\x20(key,\x20value)\x20VALUES\x20(?,\x20?)',[_0x38cc24,_0x33c90b]);}return _0x19be8e['usNdI'](saveDatabaseNow),console['log'](_0x8cfdaf(0x1d3),DB_PATH),db;}function isFtsMissingError(_0x1de595){const _0x30c88d=a0_0x145efa,_0x36db7c={'crYYF':function(_0x4e7045,_0x512aea){return _0x4e7045(_0x512aea);},'oOLyY':'fts5'};if(!_0x1de595)return![];const _0x48603e=_0x36db7c['crYYF'](String,_0x1de595['message']||_0x1de595);return _0x48603e[_0x30c88d(0x8c)]('no\x20such\x20module:\x20fts5')||_0x48603e['includes']('no\x20such\x20module:\x20fts4')||_0x48603e[_0x30c88d(0x8c)](_0x36db7c[_0x30c88d(0x146)])||_0x48603e['includes']('fts4');}function createLogsFts(_0x142b10,_0x255809){const _0x3e693a=a0_0x145efa,_0xc2daec={'bQzeH':'2|1|0|3|4'},_0x3e1715=_0xc2daec['bQzeH']['split']('|');let _0x1c99e4=0x0;while(!![]){switch(_0x3e1715[_0x1c99e4++]){case'0':_0x142b10['run'](_0x3e693a(0x17e));continue;case'1':_0x142b10[_0x3e693a(0x19d)]('\x0a\x20\x20\x20\x20CREATE\x20TRIGGER\x20IF\x20NOT\x20EXISTS\x20logs_fts_ai\x20AFTER\x20INSERT\x20ON\x20logs\x20BEGIN\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20logs_fts(rowid,\x20content,\x20session_id)\x0a\x20\x20\x20\x20\x20\x20VALUES\x20(new.id,\x20new.content,\x20new.session_id);\x0a\x20\x20\x20\x20END;\x0a\x20\x20');continue;case'2':_0x142b10['run'](_0x3e693a(0x1d5)+_0x255809+_0x3e693a(0x134));continue;case'3':_0x142b10[_0x3e693a(0x19d)]('\x0a\x20\x20\x20\x20CREATE\x20TRIGGER\x20IF\x20NOT\x20EXISTS\x20logs_fts_au\x20AFTER\x20UPDATE\x20ON\x20logs\x20BEGIN\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20logs_fts(logs_fts,\x20rowid,\x20content,\x20session_id)\x0a\x20\x20\x20\x20\x20\x20VALUES\x20(\x27delete\x27,\x20old.id,\x20old.content,\x20old.session_id);\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20logs_fts(rowid,\x20content,\x20session_id)\x0a\x20\x20\x20\x20\x20\x20VALUES\x20(new.id,\x20new.content,\x20new.session_id);\x0a\x20\x20\x20\x20END;\x0a\x20\x20');continue;case'4':_0x142b10[_0x3e693a(0x19d)]('INSERT\x20INTO\x20logs_fts(logs_fts)\x20VALUES(\x27rebuild\x27)');continue;}break;}}function setupLogsFts(_0x3c22bc){const _0x22c70=a0_0x145efa,_0x4fb237={'PActV':function(_0x146761,_0x57adcc,_0x34c9c3){return _0x146761(_0x57adcc,_0x34c9c3);},'gCxda':_0x22c70(0xd7)};try{_0x4fb237[_0x22c70(0x1f7)](createLogsFts,_0x3c22bc,_0x22c70(0x132));return;}catch(_0x201b96){if(!isFtsMissingError(_0x201b96))throw _0x201b96;}try{_0x4fb237['PActV'](createLogsFts,_0x3c22bc,_0x22c70(0x10c));return;}catch(_0x5554e8){if(!isFtsMissingError(_0x5554e8))throw _0x5554e8;}console['warn'](_0x4fb237['gCxda']);}function runMigrations(){const _0x4fe976=a0_0x145efa,_0x19b589={'fbFIo':function(_0x53e88b,_0x6bebf8){return _0x53e88b>_0x6bebf8;}},_0xe2aac3=db[_0x4fe976(0x145)](_0x4fe976(0x13a)),_0x4cfb7f=_0x19b589['fbFIo'](_0xe2aac3['length'],0x0)&&_0xe2aac3[0x0][_0x4fe976(0x126)][0x0][0x0]!=null?_0xe2aac3[0x0]['values'][0x0][0x0]:0x0;for(const _0x48e5bc of migrations){if(_0x48e5bc['version']>_0x4cfb7f)try{typeof _0x48e5bc['up']===_0x4fe976(0x102)?_0x48e5bc['up'](db):db[_0x4fe976(0x19d)](_0x48e5bc[_0x4fe976(0x1e3)]),db[_0x4fe976(0x19d)]('INSERT\x20INTO\x20schema_version\x20(version)\x20VALUES\x20(?)',[_0x48e5bc['version']]),console['log']('[db]\x20Applied\x20migration\x20v'+_0x48e5bc[_0x4fe976(0x180)]);}catch(_0x23882d){console['error'](_0x4fe976(0xd4)+_0x48e5bc[_0x4fe976(0x180)]+'\x20failed:\x20'+_0x23882d['message']),console['error'](_0x4fe976(0xae));throw _0x23882d;}}}function checkDbIntegrity(){const _0x330a6c=a0_0x145efa,_0x2b1030={'WobxG':_0x330a6c(0x9b),'cUTIf':_0x330a6c(0x117)};if(!db)return{'ok':![],'detail':'Database\x20not\x20initialized'};try{const _0x4b301e=db[_0x330a6c(0x145)](_0x2b1030[_0x330a6c(0x121)]),_0x5c9b06=_0x4b301e[_0x330a6c(0xac)]>0x0?_0x4b301e[0x0]['values'][0x0][0x0]:_0x2b1030[_0x330a6c(0x118)];return{'ok':_0x5c9b06==='ok','detail':String(_0x5c9b06)};}catch(_0x187a2a){return{'ok':![],'detail':_0x187a2a['message']};}}function getSchemaVersion(){const _0x2baef3=a0_0x145efa,_0x441a54={'GDRwn':_0x2baef3(0x13a),'FzUTq':function(_0x4a5f8d,_0x52c27d){return _0x4a5f8d>_0x52c27d;}};if(!db)return 0x0;const _0x53543b=db[_0x2baef3(0x145)](_0x441a54[_0x2baef3(0x1c5)]);return _0x441a54['FzUTq'](_0x53543b['length'],0x0)&&_0x53543b[0x0]['values'][0x0][0x0]!=null?_0x53543b[0x0]['values'][0x0][0x0]:0x0;}async function getDb(){return!db&&await initializeDatabase(),db;}function closeDb(){const _0x5d41af=a0_0x145efa,_0xd23668={'oSWbK':function(_0x1d3fc4,_0x2e5749){return _0x1d3fc4(_0x2e5749);},'HFTOt':'Database\x20connection\x20closed'};if(db){const _0x394c45=_0x5d41af(0x11f)[_0x5d41af(0xf9)]('|');let _0x93e1bb=0x0;while(!![]){switch(_0x394c45[_0x93e1bb++]){case'0':_saveTimer&&(_0xd23668['oSWbK'](clearTimeout,_saveTimer),_saveTimer=null);continue;case'1':saveDatabaseNow();continue;case'2':console['log'](_0xd23668['HFTOt']);continue;case'3':db=null;continue;case'4':db[_0x5d41af(0xc4)]();continue;}break;}}}function save(){_saveTimer&&(clearTimeout(_saveTimer),_saveTimer=null),saveDatabaseNow();}function queryAll(_0x21a712,_0x51122f=[]){const _0x438dcc=a0_0x145efa,_0x464e7b={'Nujit':_0x438dcc(0x165)};if(!db)throw new Error(_0x464e7b['Nujit']);const _0x2f72b3=db[_0x438dcc(0x1fa)](_0x21a712);_0x51122f[_0x438dcc(0xac)]>0x0&&_0x2f72b3[_0x438dcc(0x95)](_0x51122f);const _0x18f74a=[];while(_0x2f72b3['step']()){_0x18f74a[_0x438dcc(0xd8)](_0x2f72b3['getAsObject']());}return _0x2f72b3[_0x438dcc(0xd9)](),_0x18f74a;}function queryOne(_0x55cfbf,_0x855a4d=[]){const _0x9f2c4=a0_0x145efa,_0x5d0b03={'TMvUk':function(_0x11100a,_0x1bd89e,_0x5126b0){return _0x11100a(_0x1bd89e,_0x5126b0);}},_0x578f27=_0x5d0b03[_0x9f2c4(0x12b)](queryAll,_0x55cfbf,_0x855a4d);return _0x578f27[_0x9f2c4(0xac)]>0x0?_0x578f27[0x0]:null;}function run(_0x2f2059,_0x46fd26=[]){const _0x121f76=a0_0x145efa,_0x223877={'iCAYv':_0x121f76(0x165),'xmrti':function(_0x3bad41){return _0x3bad41();}};if(!db)throw new Error(_0x223877['iCAYv']);db[_0x121f76(0x19d)](_0x2f2059,_0x46fd26),_0x223877[_0x121f76(0xc8)](saveDatabase);}function runImmediate(_0x55a925,_0xacd752=[]){const _0x2f9cc5={'npnSl':'Database\x20not\x20initialized.\x20Call\x20initializeDatabase()\x20first.','jWVcP':function(_0x2f8e0b){return _0x2f8e0b();}};if(!db)throw new Error(_0x2f9cc5['npnSl']);db['run'](_0x55a925,_0xacd752),_0x2f9cc5['jWVcP'](save);}var DATA_DIR,DB_PATH,db,SQL,_saveTimer,migrations,db_default,init_db=__esm({'server/db.js'(){const _0x4150b4=a0_0x145efa,_0x5e5582={'EfLGT':'ALTER\x20TABLE\x20usage\x20ADD\x20COLUMN\x20cost_source\x20TEXT\x20DEFAULT\x20\x27estimated\x27','gCHpO':'CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_audit_log_created\x20ON\x20audit_log(created_at)','inqXS':'ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20last_activity_at\x20TEXT\x20DEFAULT\x20NULL','fUETx':_0x4150b4(0x185),'OySaB':_0x4150b4(0x183),'NVPDE':_0x4150b4(0x1d9),'JOnFC':_0x4150b4(0x1bf),'dhIRN':_0x4150b4(0x1d0),'ssgNa':'ALTER\x20TABLE\x20templates\x20ADD\x20COLUMN\x20description\x20TEXT','yzakN':'ALTER\x20TABLE\x20templates\x20ADD\x20COLUMN\x20suggested_provider\x20TEXT','Kijlx':'ALTER\x20TABLE\x20templates\x20ADD\x20COLUMN\x20is_builtin\x20INTEGER\x20DEFAULT\x200','shZGl':'UPDATE\x20sessions\x20SET\x20auth_mode\x20=\x20\x27api_key\x27\x20WHERE\x20provider\x20=\x20\x27codex\x27\x20AND\x20(auth_mode\x20IS\x20NULL\x20OR\x20auth_mode\x20=\x20\x27subscription\x27)','XtzXh':_0x4150b4(0x1f0),'nxmHz':_0x4150b4(0x147),'NtRdk':_0x4150b4(0x190),'XJYQf':'CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_project_blueprints_project\x20ON\x20project_blueprints(project_id)'};init_config(),DATA_DIR=config_default[_0x4150b4(0x1b5)],DB_PATH=a0_0x294c8f[_0x4150b4(0xdf)](DATA_DIR,config_default['dbFilename']),db=null,SQL=null,_saveTimer=null,migrations=[{'version':0x2,'up':_0x319f23=>{const _0x3a8f3b=_0x4150b4;_0x319f23[_0x3a8f3b(0x19d)]('ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20auth_mode\x20TEXT\x20DEFAULT\x20NULL'),_0x319f23['run']('ALTER\x20TABLE\x20usage\x20ADD\x20COLUMN\x20model\x20TEXT\x20DEFAULT\x20NULL'),_0x319f23['run'](_0x5e5582[_0x3a8f3b(0x131)]);}},{'version':0x3,'up':_0x5a8c31=>{const _0x5f0d0c=_0x4150b4;_0x5a8c31['run'](_0x5f0d0c(0xd6));}},{'version':0x4,'up':_0xd3e67a=>{const _0xbf7378=_0x4150b4;_0xd3e67a[_0xbf7378(0x19d)](_0xbf7378(0xc1)),_0xd3e67a['run'](_0xbf7378(0x1e9)),_0xd3e67a[_0xbf7378(0x19d)](_0x5e5582['gCHpO']);}},{'version':0x5,'up':_0x335041=>{const _0x2d8467=_0x4150b4;try{_0x335041[_0x2d8467(0x19d)](_0x5e5582[_0x2d8467(0x1c3)]);}catch(_0x447301){}}},{'version':0x6,'up':_0x3b9c49=>{const _0x5e0fd9=_0x4150b4;try{_0x3b9c49[_0x5e0fd9(0x19d)]('ALTER\x20TABLE\x20projects\x20ADD\x20COLUMN\x20permission_preset\x20TEXT\x20DEFAULT\x20\x27default\x27');}catch(_0x4408bc){}}},{'version':0x7,'up':_0x4016af=>{const _0x4ea0ba=_0x4150b4;try{_0x4016af[_0x4ea0ba(0x19d)](_0x4ea0ba(0x123));}catch(_0x387a08){}try{_0x4016af['run'](_0x5e5582[_0x4ea0ba(0x120)]);}catch(_0x3ffbad){}}},{'version':0x8,'up':_0x1cadba=>{const _0xa95288=_0x4150b4;_0x1cadba[_0xa95288(0x19d)](_0xa95288(0x13f)),_0x1cadba[_0xa95288(0x19d)](_0x5e5582['OySaB']);}},{'version':0x9,'up':_0x4801d1=>{const _0x1cb281=_0x4150b4;try{_0x4801d1['run'](_0x5e5582['NVPDE']);}catch(_0x4f8da0){}_0x4801d1[_0x1cb281(0x19d)](_0x5e5582['JOnFC']),_0x4801d1[_0x1cb281(0x19d)](_0x1cb281(0x1eb));}},{'version':0xa,'up':_0x21d223=>{const _0x19a941=_0x4150b4;_0x21d223['run']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20wizard_sessions\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20scan_results\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20selected_providers\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20install_results\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20INTEGER\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20completed_at\x20INTEGER\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20'),_0x21d223[_0x19a941(0x19d)](_0x5e5582['dhIRN']);}},{'version':0xb,'up':_0xcf5e92=>{const _0x24c299=_0x4150b4;try{_0xcf5e92[_0x24c299(0x19d)](_0x5e5582[_0x24c299(0x1cb)]);}catch(_0x3e1b8e){}try{_0xcf5e92[_0x24c299(0x19d)](_0x5e5582['yzakN']);}catch(_0x32d5f7){}try{_0xcf5e92[_0x24c299(0x19d)]('ALTER\x20TABLE\x20templates\x20ADD\x20COLUMN\x20permission_mode\x20TEXT\x20DEFAULT\x20\x27default\x27');}catch(_0x57a447){}try{_0xcf5e92['run'](_0x5e5582['Kijlx']);}catch(_0x3baf26){}}},{'version':0xc,'up':_0x4b2b52=>{const _0x3b3300=_0x4150b4;_0x4b2b52[_0x3b3300(0x19d)](_0x5e5582[_0x3b3300(0x198)]);}},{'version':0xd,'up':_0x39d734=>{const _0x2e4a2c=_0x4150b4;_0x39d734['run'](_0x2e4a2c(0x1ea)),_0x39d734['run'](_0x2e4a2c(0x17a));}},{'version':0xe,'up':_0x3c4544=>{setupLogsFts(_0x3c4544);}},{'version':0xf,'up':_0x3e3716=>{const _0x2447e3=_0x4150b4;_0x3e3716[_0x2447e3(0x19d)](_0x2447e3(0x116)),_0x3e3716[_0x2447e3(0x19d)](_0x2447e3(0x142)),_0x3e3716['run']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_logs_archive_timestamp\x20ON\x20logs_archive(timestamp)');}},{'version':0x10,'up':_0x3e5351=>{const _0x4b89b9=_0x4150b4;_0x3e5351['run']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20license_keys\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20name\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key_hash\x20TEXT\x20NOT\x20NULL\x20UNIQUE,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20\x27staff\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20email\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20\x27active\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expires_at\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20TEXT\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20revoked_at\x20TEXT\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20'),_0x3e5351[_0x4b89b9(0x19d)](_0x4b89b9(0x161)),_0x3e5351['run'](_0x4b89b9(0x1ec));}},{'version':0x11,'up':_0x255865=>{const _0x2c0230=_0x4150b4;_0x255865[_0x2c0230(0x19d)](_0x2c0230(0x18d)),_0x255865[_0x2c0230(0x19d)]('UPDATE\x20projects\x20SET\x20is_personal\x20=\x201\x20WHERE\x20name\x20=\x20\x27Personal\x27'),_0x255865['run']('UPDATE\x20projects\x20SET\x20is_personal\x20=\x201\x20WHERE\x20description\x20=\x20\x27Virtual\x20project\x20for\x20non-coding\x20agents\x20(OpenClaw,\x20etc.)\x27');}},{'version':0x12,'up':_0x3063c4=>{const _0x3fac75=_0x4150b4;_0x3063c4[_0x3fac75(0x19d)](_0x3fac75(0xab));}},{'version':0x13,'up':_0x50e237=>{const _0x489631=_0x4150b4,_0x3ae125=['ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20isolation_mode\x20TEXT\x20DEFAULT\x20\x27local\x27',_0x489631(0x9e),_0x489631(0x1e2),'ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20worktree_pinned\x20INTEGER\x20DEFAULT\x200','ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20worktree_merged\x20INTEGER\x20DEFAULT\x200'];for(const _0x1663c0 of _0x3ae125){try{_0x50e237[_0x489631(0x19d)](_0x1663c0);}catch(_0x23fd5d){}}}},{'version':0x14,'up':_0x7f36ad=>{const _0x585bc4=_0x4150b4,_0x15567a=_0x5e5582['XtzXh']['split']('|');let _0x41fe8d=0x0;while(!![]){switch(_0x15567a[_0x41fe8d++]){case'0':_0x7f36ad[_0x585bc4(0x19d)](_0x585bc4(0x100));continue;case'1':_0x7f36ad[_0x585bc4(0x19d)]('\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20analytics_events\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20id\x20INTEGER\x20PRIMARY\x20KEY\x20AUTOINCREMENT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20event_type\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20event_category\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20properties\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27))\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20');continue;case'2':_0x7f36ad[_0x585bc4(0x19d)](_0x5e5582[_0x585bc4(0x1da)]);continue;case'3':_0x7f36ad['run'](_0x585bc4(0x189));continue;case'4':_0x7f36ad[_0x585bc4(0x19d)](_0x5e5582[_0x585bc4(0x1fc)]);continue;case'5':_0x7f36ad[_0x585bc4(0x19d)](_0x585bc4(0x1fb));continue;}break;}}},{'version':0x15,'up':_0x15a2e2=>{const _0x221edc=_0x4150b4;_0x15a2e2[_0x221edc(0x19d)]('\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20personal_chat_messages\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20id\x20INTEGER\x20PRIMARY\x20KEY\x20AUTOINCREMENT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20role\x20TEXT\x20NOT\x20NULL\x20CHECK(role\x20IN\x20(\x27user\x27,\x20\x27assistant\x27,\x20\x27notification\x27)),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20content\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20source\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20\x27chat\x27\x20CHECK(source\x20IN\x20(\x27chat\x27,\x20\x27notification\x27,\x20\x27terminal\x27)),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20metadata\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27))\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20'),_0x15a2e2[_0x221edc(0x19d)](_0x221edc(0x110)),_0x15a2e2[_0x221edc(0x19d)](_0x221edc(0x19f));}},{'version':0x16,'up':_0x1815f6=>{const _0x32e958=_0x4150b4;_0x1815f6[_0x32e958(0x19d)]('\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20project_blueprints\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20project_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20blueprint_id\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20blueprint_name\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20blueprint_version\x20INTEGER\x20DEFAULT\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20source_type\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20\x27file\x27\x20CHECK(source_type\x20IN\x20(\x27file\x27,\x20\x27url\x27,\x20\x27cloud\x27)),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20source_url\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20original_json\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20variables_encrypted\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20applied_at\x20TEXT\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20last_checked_at\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20last_updated_at\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(project_id)\x20REFERENCES\x20projects(id)\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20'),_0x1815f6['run'](_0x5e5582[_0x32e958(0x187)]);}}],db_default={'getDb':getDb,'closeDb':closeDb,'save':save,'queryAll':queryAll,'queryOne':queryOne,'run':run,'runImmediate':runImmediate,'checkDbIntegrity':checkDbIntegrity,'getSchemaVersion':getSchemaVersion};}}),key_manager_exports={};__export(key_manager_exports,{'exportKeysCSV':()=>exportKeysCSV,'generateKey':()=>generateKey,'getKeyStats':()=>getKeyStats,'listKeys':()=>listKeys,'revokeKey':()=>revokeKey,'validateKey':()=>validateKey});function a0_0x4295(_0x3f9edc,_0xe4f9f8){_0x3f9edc=_0x3f9edc-0x8c;const _0x28683d=a0_0x2868();let _0x4295e3=_0x28683d[_0x3f9edc];return _0x4295e3;}import a0_0xf89878 from'crypto';function hashKey(_0x4d9b36){const _0x246074=a0_0x145efa,_0x455ef5={'WwDvC':'hex'};return a0_0xf89878[_0x246074(0x1db)](_0x246074(0xf8))['update'](_0x4d9b36)[_0x246074(0x162)](_0x455ef5['WwDvC']);}function generateKey(_0x34f843,_0x56779c='staff',_0x267e89=null,_0x38151e=null){const _0x4b331c=a0_0x145efa,_0x4cbf44={'bOMhH':_0x4b331c(0xf5),'nLFqc':'beta','hoSUu':_0x4b331c(0xd1),'ZsDhb':'Name\x20is\x20required','hQSqD':function(_0x5855e9,_0x39ac01){return _0x5855e9(_0x39ac01);},'VHiqU':function(_0x4aa77e,_0x5d71ad,_0x546c94){return _0x4aa77e(_0x5d71ad,_0x546c94);},'sauyu':function(_0x8a8906,_0x36916b){return _0x8a8906||_0x36916b;}},_0x110612=[_0x4cbf44['bOMhH'],'staff',_0x4cbf44['nLFqc']];if(!_0x110612[_0x4b331c(0x8c)](_0x56779c))throw new Error(_0x4b331c(0x10b)+_0x56779c+_0x4b331c(0xa0)+_0x110612[_0x4b331c(0xdf)](',\x20'));if(!_0x34f843||typeof _0x34f843!==_0x4cbf44['hoSUu']||!_0x34f843['trim']())throw new Error(_0x4cbf44[_0x4b331c(0x125)]);const _0x4169a0=a0_0xf89878['randomUUID'](),_0xe46272=KEY_PREFIX+a0_0xf89878['randomBytes'](0x10)[_0x4b331c(0x167)]('hex'),_0x512baa=_0x4cbf44[_0x4b331c(0x1ae)](hashKey,_0xe46272);return _0x4cbf44[_0x4b331c(0xf3)](run,_0x4b331c(0x18f),[_0x4169a0,_0x34f843[_0x4b331c(0x1cc)](),_0x512baa,_0x56779c,_0x4cbf44['sauyu'](_0x267e89,null),_0x38151e||null]),{'id':_0x4169a0,'raw':_0xe46272,'type':_0x56779c,'name':_0x34f843['trim']()};}function validateKey(_0x545958){const _0xc6a65b=a0_0x145efa,_0x1ce891={'rSDPE':_0xc6a65b(0xd1),'QMsyn':_0xc6a65b(0x150),'AuAmZ':function(_0x3c4e8f,_0x42605f){return _0x3c4e8f!==_0x42605f;},'EdVAK':_0xc6a65b(0xb7)};if(!_0x545958||typeof _0x545958!==_0x1ce891['rSDPE'])return null;const _0x4f4ba0=hashKey(_0x545958[_0xc6a65b(0x1cc)]()),_0x4d845c=queryOne(_0x1ce891[_0xc6a65b(0x1a9)],[_0x4f4ba0]);if(!_0x4d845c)return null;if(_0x1ce891['AuAmZ'](_0x4d845c['status'],_0x1ce891[_0xc6a65b(0x168)]))return null;if(_0x4d845c[_0xc6a65b(0xff)]){const _0x2b73c7=new Date(_0x4d845c['expires_at'])['getTime']();if(_0x2b73c7<Date[_0xc6a65b(0x12a)]())return null;}return{'id':_0x4d845c['id'],'name':_0x4d845c['name'],'type':_0x4d845c['type'],'status':_0x4d845c['status'],'expires_at':_0x4d845c[_0xc6a65b(0xff)],'created_at':_0x4d845c['created_at']};}function listKeys(_0xc4a3cd={}){const _0x37d206=a0_0x145efa,_0x1f0a1f={'UDxdz':'\x20AND\x20type\x20=\x20?','baQtK':function(_0x262ed1,_0x5c0198,_0x352714){return _0x262ed1(_0x5c0198,_0x352714);}};let _0x20d2f6=_0x37d206(0x164);const _0x3cede4=[];_0xc4a3cd['type']&&(_0x20d2f6+=_0x1f0a1f['UDxdz'],_0x3cede4['push'](_0xc4a3cd[_0x37d206(0x106)]));_0xc4a3cd[_0x37d206(0x137)]&&(_0x20d2f6+=_0x37d206(0x1a4),_0x3cede4[_0x37d206(0xd8)](_0xc4a3cd[_0x37d206(0x137)]));_0x20d2f6+=_0x37d206(0x1cf);const _0x4904b7=Math['min'](Math[_0x37d206(0x15f)](parseInt(_0xc4a3cd['limit'])||0x32,0x1),0x1f4);_0x20d2f6+=_0x37d206(0x9c),_0x3cede4['push'](_0x4904b7);const _0x5a946d=_0x1f0a1f[_0x37d206(0x122)](queryAll,_0x20d2f6,_0x3cede4),_0x163984=_0x5a946d['map'](_0x7e3569=>({'id':_0x7e3569['id'],'name':_0x7e3569[_0x37d206(0x1e1)],'type':_0x7e3569['type'],'status':_0x7e3569[_0x37d206(0x137)]===_0x37d206(0xb7)?_0x37d206(0x14f):_0x37d206(0x18e),'key':_0x7e3569['id'][_0x37d206(0xb0)](0x0,0x8)+_0x37d206(0xaa),'email':_0x7e3569[_0x37d206(0x1aa)],'expiry':_0x7e3569['expires_at'],'created_at':_0x7e3569['created_at'],'revoked_at':_0x7e3569['revoked_at']}));return{'keys':_0x163984};}function revokeKey(_0x1c5cf4){const _0x370588=a0_0x145efa,_0x4f5139={'OdLkD':'Key\x20ID\x20is\x20required','wopff':'SELECT\x20id,\x20status\x20FROM\x20license_keys\x20WHERE\x20id\x20=\x20?','RLYbt':'Key\x20not\x20found'};if(!_0x1c5cf4)throw new Error(_0x4f5139['OdLkD']);const _0x38f547=queryOne(_0x4f5139['wopff'],[_0x1c5cf4]);if(!_0x38f547)throw new Error(_0x4f5139[_0x370588(0x1f2)]);if(_0x38f547['status']==='revoked')throw new Error('Key\x20is\x20already\x20revoked');return run('UPDATE\x20license_keys\x20SET\x20status\x20=\x20\x27revoked\x27,\x20revoked_at\x20=\x20datetime(\x27now\x27)\x20WHERE\x20id\x20=\x20?',[_0x1c5cf4]),{'success':!![]};}function getKeyStats(){const _0x40578c=a0_0x145efa,_0x3f5494={'kQvBO':function(_0x48bd3c,_0x33bf5f){return _0x48bd3c(_0x33bf5f);},'YBZro':_0x40578c(0x188),'uqrcA':_0x40578c(0x1e6)},_0x217604=queryOne('SELECT\x20COUNT(*)\x20as\x20count\x20FROM\x20license_keys'),_0x4aa255=_0x3f5494[_0x40578c(0x143)](queryOne,_0x3f5494[_0x40578c(0x97)]),_0x952ea5=queryOne(_0x3f5494['uqrcA']),_0x13ac8b=_0x3f5494['kQvBO'](queryAll,'SELECT\x20type,\x20COUNT(*)\x20as\x20count\x20FROM\x20license_keys\x20WHERE\x20status\x20=\x20\x27active\x27\x20GROUP\x20BY\x20type'),_0x485bb8={};for(const _0x4ce520 of _0x13ac8b){_0x485bb8[_0x4ce520[_0x40578c(0x106)]]=_0x4ce520['count'];}return{'totalKeys':_0x217604?.[_0x40578c(0x173)]||0x0,'activeKeys':_0x4aa255?.['count']||0x0,'revokedKeys':_0x952ea5?.['count']||0x0,'byType':_0x485bb8};}function exportKeysCSV(){const _0x57ec2f=a0_0x145efa,_0x276867={'NIZQt':'SELECT\x20id,\x20name,\x20type,\x20status,\x20email,\x20expires_at,\x20created_at,\x20revoked_at\x20FROM\x20license_keys\x20ORDER\x20BY\x20created_at\x20DESC'},_0x1b9d86=queryAll(_0x276867['NIZQt']),_0x19760f=_0x57ec2f(0x103),_0x569691=_0x1b9d86['map'](_0x5e2b64=>{const _0x2be8df=_0x57ec2f;return[_0x5e2b64['id'],'\x22'+(_0x5e2b64[_0x2be8df(0x1e1)]||'')['replace'](/"/g,'\x22\x22')+'\x22',_0x5e2b64[_0x2be8df(0x106)],_0x5e2b64['status'],_0x5e2b64[_0x2be8df(0x1aa)]||'',_0x5e2b64['expires_at']||'',_0x5e2b64['created_at']||'',_0x5e2b64['revoked_at']||''][_0x2be8df(0xdf)](',');});return[_0x19760f,..._0x569691]['join']('\x0a');}var KEY_PREFIX,init_key_manager=__esm({'server/key-manager.js'(){const _0x19948d=a0_0x145efa;init_db(),KEY_PREFIX=_0x19948d(0xe3);}});import a0_0x159305 from'path';import{fileURLToPath as a0_0x324d35}from'url';function a0_0x2868(){const _0x3a15c6=['then','isTTY','\x20\x20\x20\x20','help','runtime','EfLGT','fts5','revoke-key','(\x0a\x20\x20\x20\x20\x20\x20content,\x0a\x20\x20\x20\x20\x20\x20session_id\x20UNINDEXED,\x0a\x20\x20\x20\x20\x20\x20content=\x27logs\x27\x0a\x20\x20\x20\x20)\x0a\x20\x20','https://buy.polar.sh/colana','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Key\x20type\x20(default:\x20staff)\x0a\x20\x20\x20\x20\x20\x20','status','Grep','GIT_DIFF_MAX_BUFFER','SELECT\x20MAX(version)\x20as\x20v\x20FROM\x20schema_version','\x20\x20(ADMIN_KEYS)','resolve','sYHIu','created_at','\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20session_checkpoints\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20session_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20project_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20git_sha\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20is_dirty\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20dirty_summary\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20restored_at\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20TEXT\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(session_id)\x20REFERENCES\x20sessions(id)\x20ON\x20DELETE\x20CASCADE,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(project_id)\x20REFERENCES\x20projects(id)\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20','\x0a\x20\x20No\x20staff\x20or\x20admin\x20keys\x20configured.\x20Set\x20STAFF_KEYS\x20or\x20ADMIN_KEYS\x20environment\x20variable.\x0a','FPYoa','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_logs_archive_session_id\x20ON\x20logs_archive(session_id)','kQvBO','ccZDp','exec','oOLyY','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_analytics_events_category\x20ON\x20analytics_events(event_category)','font_size','UfhSv','catch','--input-format','HTTP\x20','acceptEdits','exit','ACTIVE','SELECT\x20id,\x20name,\x20type,\x20status,\x20expires_at,\x20created_at\x20FROM\x20license_keys\x20WHERE\x20key_hash\x20=\x20?','--include-partial-messages','message','TtZwN','--resume','delegate','success','Database','authNote','UocVv','/api/admin/keys','2UTMagO','code','(Created\x20via\x20running\x20server)','Name:','max','--email\x20user@example.com','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_license_keys_status\x20ON\x20license_keys(status)','digest','BeLUU','SELECT\x20id,\x20name,\x20type,\x20status,\x20email,\x20expires_at,\x20created_at,\x20revoked_at\x20FROM\x20license_keys\x20WHERE\x201=1','Database\x20not\x20initialized.\x20Call\x20initializeDatabase()\x20first.','isNaN','toString','EdVAK','cmd','[security]\x20Generated\x20new\x20encryption\x20key\x20file.','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Run\x20system\x20diagnostics\x0a\x20\x20\x20\x20','DdzMB','brand','\x0a\x20\x20\x20\x20--\x20Logs\x20table\x20(stores\x20streaming\x20output)\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20logs\x20(\x0a\x20\x20\x20\x20\x20\x20id\x20INTEGER\x20PRIMARY\x20KEY\x20AUTOINCREMENT,\x0a\x20\x20\x20\x20\x20\x20session_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20type\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20content\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20timestamp\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(session_id)\x20REFERENCES\x20sessions(id)\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20)\x0a\x20\x20','npm','DEFAULT_MODEL','doctor','ADMIN_KEYS','count','bKLKT','Key\x20generation\x20returned\x20an\x20unexpected\x20response.','LOG_RETENTION_MAX_BATCHES','parse','Server\x20responded\x20with\x20','OpenAI\x20API\x20key\x20(pay-per-use)','\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20OR\x20REPLACE\x20INTO\x20session_usage_summary\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20session_id,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20input_tokens,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20output_tokens,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cache_read_tokens,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cache_write_tokens,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20total_cost,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cli_cost,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20models_used,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20updated_at\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20session_id,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20COALESCE(SUM(input_tokens),\x200),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20COALESCE(SUM(output_tokens),\x200),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20COALESCE(SUM(cache_read_tokens),\x200),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20COALESCE(SUM(cache_write_tokens),\x200),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20COALESCE(SUM(cost_estimate),\x200),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20COALESCE(SUM(CASE\x20WHEN\x20cost_source\x20IN\x20(\x27cli_reported\x27,\x27terminal_parsed\x27)\x20THEN\x20cost_estimate\x20ELSE\x200\x20END),\x200),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20GROUP_CONCAT(DISTINCT\x20model),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20datetime(\x27now\x27)\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20usage\x0a\x20\x20\x20\x20\x20\x20\x20\x20GROUP\x20BY\x20session_id\x0a\x20\x20\x20\x20\x20\x20','keys','error','bypassPermissions','\x0a\x20\x20\x20\x20CREATE\x20TRIGGER\x20IF\x20NOT\x20EXISTS\x20logs_fts_ad\x20AFTER\x20DELETE\x20ON\x20logs\x20BEGIN\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20logs_fts(logs_fts,\x20rowid,\x20content,\x20session_id)\x0a\x20\x20\x20\x20\x20\x20VALUES\x20(\x27delete\x27,\x20old.id,\x20old.content,\x20old.session_id);\x0a\x20\x20\x20\x20END;\x0a\x20\x20','pip\x20install\x20aider-chat','version','utf-8','\x0a\x20\x20','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_checkpoints_session\x20ON\x20session_checkpoints(session_id)','4933482HtZSzk','ALTER\x20TABLE\x20snippets\x20DROP\x20COLUMN\x20category','rgMgt','XJYQf','SELECT\x20COUNT(*)\x20as\x20count\x20FROM\x20license_keys\x20WHERE\x20status\x20=\x20\x27active\x27','\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20analytics_snapshots\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20id\x20INTEGER\x20PRIMARY\x20KEY\x20AUTOINCREMENT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20snapshot_type\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20period_start\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20period_end\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20metrics\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27))\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20','@google/gemini-cli','aAYJd','ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20duration_ms\x20INTEGER','ALTER\x20TABLE\x20projects\x20ADD\x20COLUMN\x20is_personal\x20INTEGER\x20NOT\x20NULL\x20DEFAULT\x200','SUSPENDED','INSERT\x20INTO\x20license_keys\x20(id,\x20name,\x20key_hash,\x20type,\x20email,\x20status,\x20expires_at)\x0a\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20\x27active\x27,\x20?)','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_analytics_events_created\x20ON\x20analytics_events(created_at)','\x1b[1;37m','json','[security]\x20Encryption\x20key\x20file\x20is\x20invalid\x20(','LOG_RETENTION_DAYS','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Expiry\x20date\x20(optional)\x0a\x20\x20\x20\x20','package.json','\x1b[90m','shZGl','models','ECmKR','--help','WebSearch','run','\x1b[36m','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_pcm_role\x20ON\x20personal_chat_messages(role)','DMbwh','LOG_RETENTION_BATCH_SIZE','-beta','gTaTV','\x20AND\x20status\x20=\x20?','Gjsig','existsSync','zxWBS','filter','QMsyn','email','bcllN','LQfwi','Aider','hQSqD','esqVS','Never','providers','2124968TlvbPi','MAX_RESUMABLE_SESSIONS','dashboard.db','dataDir','ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20num_turns\x20INTEGER','ZXuPX','Key:','ddNNB','hex','fail','mslET','PTY_BUFFER_SIZE','INSERT\x20INTO\x20schema_version\x20(version)\x20VALUES\x20(?)','UPDATE\x20sessions\x20SET\x20provider_session_id\x20=\x20claude_session_id\x20WHERE\x20provider\x20=\x20\x27claude\x27\x20AND\x20claude_session_id\x20IS\x20NOT\x20NULL\x20AND\x20provider_session_id\x20IS\x20NULL','GitHub\x20Copilot\x20subscription','1541111NopCzx','http://127.0.0.1:','inqXS','zWZvO','GDRwn','python3','\x20Key\x20','/api/admin/keys/','\x0a\x20\x20\x20\x20--\x20Settings\x20table\x20(key-value\x20store)\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20settings\x20(\x0a\x20\x20\x20\x20\x20\x20key\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20value\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20updated_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27))\x0a\x20\x20\x20\x20)\x0a\x20\x20','POLAR_PRODUCT_ID','ssgNa','trim','startsWith','muted','\x20ORDER\x20BY\x20created_at\x20DESC','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_wizard_sessions_status\x20ON\x20wizard_sessions(status)','default_model','DB_FILENAME','Database\x20initialized\x20at:','padEnd','\x0a\x20\x20\x20\x20CREATE\x20VIRTUAL\x20TABLE\x20IF\x20NOT\x20EXISTS\x20logs_fts\x0a\x20\x20\x20\x20USING\x20','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Filter\x20by\x20type\x0a\x20\x20\x20\x20\x20\x20','ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20permission_mode\x20TEXT\x20DEFAULT\x20\x27default\x27','client','ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20provider_session_id\x20TEXT','nxmHz','createHash','copilot','Gemini\x20CLI','\x0a\x20\x20\x20\x20--\x20Usage\x20table\x20(token/cost\x20tracking)\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20usage\x20(\x0a\x20\x20\x20\x20\x20\x20id\x20INTEGER\x20PRIMARY\x20KEY\x20AUTOINCREMENT,\x0a\x20\x20\x20\x20\x20\x20session_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20input_tokens\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20output_tokens\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20cache_read_tokens\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20cache_write_tokens\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20cost_estimate\x20REAL\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20recorded_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(session_id)\x20REFERENCES\x20sessions(id)\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20)\x0a\x20\x20','rfTFI','forEach','name','ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20worktree_branch\x20TEXT','sql','map','\x0a\x20\x20\x20\x20','SELECT\x20COUNT(*)\x20as\x20count\x20FROM\x20license_keys\x20WHERE\x20status\x20=\x20\x27revoked\x27','11343192VvKUYr','ZnzMm','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_audit_log_action\x20ON\x20audit_log(action)','\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20session_usage_summary\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20session_id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20input_tokens\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20output_tokens\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cache_read_tokens\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cache_write_tokens\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20total_cost\x20REAL\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cli_cost\x20REAL\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20models_used\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20updated_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(session_id)\x20REFERENCES\x20sessions(id)\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_sessions_provider_session_id\x20ON\x20sessions(provider_session_id)','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_license_keys_key_hash\x20ON\x20license_keys(key_hash)','Write','pdPcX','ERROR:\x20--name\x20is\x20required.','1|3|5|2|4|0','TBpoy','RLYbt','releaseChannel','#\x20Back\x20up\x20this\x20file\x20alongside\x20your\x20database.','zlrCO','Qbxtz','PActV','FREE_MAX_SESSIONS','url','prepare','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_analytics_events_type\x20ON\x20analytics_events(event_type)','NtRdk','--output-format','includes','list-keys','--print','pipx\x20install\x20aider-chat','zfDSb','Staff\x20Keys:','claude','LOG_ARCHIVE_MODE','zAxkw','bind','LICENSE_CACHE_TTL_MS','YBZro','kRxrg','flag','--type\x20staff|admin|beta','PRAGMA\x20integrity_check','\x20LIMIT\x20?','(Created\x20via\x20direct\x20DB\x20—\x20restart\x20server\x20to\x20pick\x20up)','ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20worktree_path\x20TEXT','POLAR_WEBHOOK_SECRET','.\x20Must\x20be\x20one\x20of:\x20','XwqpQ','log','License\x20Keys:','gh\x20copilot\x20--version','env','readFileSync','warn','(via\x20server)','FpJOQ','****','UPDATE\x20projects\x20SET\x20is_personal\x20=\x201\x20WHERE\x20name\x20=\x20\x27Personal\x27\x20AND\x20is_personal\x20=\x200','length','xeLPp','[db]\x20Database\x20may\x20be\x20in\x20an\x20inconsistent\x20state.\x20Contact\x20support.','PXECO','slice','SqfRl','beta','stringify','STAFF_KEYS','mcp__dashboard_permissions__permission_prompt','kjSab','active','pXtti','npm\x20install\x20-g\x20openclaw','from','pass','6494215yeanlS','entries','Glob','BktEx','dontAsk','\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20audit_log\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20id\x20INTEGER\x20PRIMARY\x20KEY\x20AUTOINCREMENT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20action\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20target\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20actor\x20TEXT\x20DEFAULT\x20\x27admin\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20details\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20TEXT\x20DEFAULT\x20(datetime(\x27now\x27))\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20','label','\x20\x20\x20\x20\x20\x20\x20\x20Revoke\x20a\x20DB-stored\x20license\x20key\x0a\x0a\x20\x20','close','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_sessions_project_id\x20ON\x20sessions(project_id)','reset','resume','xmrti','mkdirSync','38726937FtusOS','CGKFZ','heading','set','randomBytes','openclaw','POLAR_ACCESS_TOKEN','string','Vubse','228966GaIyGM','[db]\x20FATAL:\x20Migration\x20v','Free\x20or\x20paid\x20Google\x20account','UPDATE\x20sessions\x20SET\x20auth_mode\x20=\x20\x27subscription\x27\x20WHERE\x20auth_mode\x20IS\x20NULL','[db]\x20FTS\x20unavailable;\x20log\x20search\x20will\x20fall\x20back\x20to\x20LIKE.','push','free','Bash','subscription','max_turns','colana\x20admin\x20doctor','POLAR_API_URL','join','\x1b[33m','ERROR:\x20Key\x20ID\x20is\x20required.','WebFetch','col_','NPvdX','POLAR_CUSTOMER_PORTAL_URL','ENCRYPTION_KEY','\x20has\x20been\x20revoked.\x0a','PTY_DEFAULT_ROWS','repeat','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20List\x20DB-stored\x20license\x20keys\x0a\x20\x20\x20\x20\x20\x20','--expires\x202026-12-31','default','colana\x20admin\x20list-keys','10qaVwgJ','colana\x20admin\x20create-key','Edit','kxSOs','\x0a\x20\x20No\x20keys\x20found.\x0a','VHiqU','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Recipient\x20name\x20(required)\x0a\x20\x20\x20\x20\x20\x20','admin','TmfoH','application/json','sha256','split','toLocaleDateString','Read','hnTsi','writeFileSync','lALsC','expires_at','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_analytics_snapshots_type_period\x20ON\x20analytics_snapshots(snapshot_type,\x20period_start)','DEFAULT_SESSION_LIMIT','function','id,name,type,status,email,expires_at,created_at,revoked_at','Created','encryptionKey','type','@openai/codex','timeout','iPdqq','[security]\x20Encryption\x20key\x20is\x20in-memory\x20only.\x20Restart\x20will\x20generate\x20a\x20new\x20key.','Invalid\x20key\x20type:\x20','fts4','DATA_DIR','dirname','/api/health','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_pcm_created\x20ON\x20personal_chat_messages(created_at)','[security]\x20WARNING:\x20Could\x20not\x20write\x20encryption\x20key\x20file:\x20','eDjSK','https://dashboard.polar.sh','\x20\x20\x20\x20\x20','value','\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20logs_archive\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20id\x20INTEGER\x20PRIMARY\x20KEY\x20AUTOINCREMENT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20session_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20content\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timestamp\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20archived_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(session_id)\x20REFERENCES\x20sessions(id)\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20','unknown','cUTIf','colana\x20admin\x20revoke-key\x20<id>','Expires','supportsPty','XMJOu','FCXAT','defineProperty','0|1|4|3|2','fUETx','WobxG','baQtK','ALTER\x20TABLE\x20snippets\x20DROP\x20COLUMN\x20is_pinned','\x0a\x0a\x20\x20','ZsDhb','values','\x20chars).\x20Regenerating.','203boQekn','iUBjx','now','TMvUk'];a0_0x2868=function(){return _0x3a15c6;};return a0_0x2868();}var supportsColor=((()=>{const _0x384f49=a0_0x145efa;if(process[_0x384f49(0xa5)]['NO_COLOR'])return![];if(process[_0x384f49(0xa5)]['FORCE_COLOR']==='1')return!![];return!!process['stdout'][_0x384f49(0x12d)];})());function makeColors(_0xff75c9){const _0x5c4b15=a0_0x145efa,_0x4e4e17={'tdTzy':'\x1b[0m','caOQM':_0x5c4b15(0xe0),'bKLKT':'\x1b[36m','aZSnK':'\x1b[37m'};if(!_0xff75c9)return{'reset':'','brand':'','heading':'','success':'','error':'','warn':'','info':'','muted':'','value':'','cmd':'','url':''};return{'reset':_0x4e4e17['tdTzy'],'brand':'\x1b[38;5;214m','heading':_0x5c4b15(0x191),'success':'\x1b[32m','error':'\x1b[31m','warn':_0x4e4e17['caOQM'],'info':_0x4e4e17[_0x5c4b15(0x174)],'muted':_0x5c4b15(0x197),'value':_0x4e4e17['aZSnK'],'cmd':_0x5c4b15(0x19e),'url':_0x4e4e17['bKLKT']};}var c=makeColors(supportsColor),icons={'pass':c[a0_0x145efa(0x156)]+'✓'+c[a0_0x145efa(0xc6)],'fail':c[a0_0x145efa(0x17c)]+'✗'+c[a0_0x145efa(0xc6)],'warn':c[a0_0x145efa(0xa7)]+'⚠'+c['reset'],'arrow':c['info']+'→'+c['reset'],'dot':c[a0_0x145efa(0x16d)]+'•'+c[a0_0x145efa(0xc6)]};function brandName(_0x13c344='full'){const _0x32f33e=a0_0x145efa,_0x1ea720={'yBiBE':'prefix'},_0x2f67f6=c['heading']+'co'+c[_0x32f33e(0x16d)]+':'+c['heading']+'lana'+c['reset'];if(_0x13c344===_0x1ea720['yBiBE'])return'['+_0x2f67f6+']';return _0x2f67f6;}var __dirname2=a0_0x159305['dirname'](a0_0x324d35(import.meta.url));function parseArgs(_0x6f8d1a){const _0x41c81e=a0_0x145efa,_0x1734b6={'kRxrg':function(_0x5394d7,_0x4aa736){return _0x5394d7<_0x4aa736;},'PWuyY':function(_0x2f88fc,_0x337e20){return _0x2f88fc+_0x337e20;}},_0x51ab3a=_0x6f8d1a[_0x41c81e(0xb0)](0x2),_0x3cd45b=_0x51ab3a[0x0],_0x12c63b=[],_0x893633={};for(let _0xe455bf=0x1;_0x1734b6[_0x41c81e(0x98)](_0xe455bf,_0x51ab3a['length']);_0xe455bf++){if(_0x51ab3a[_0xe455bf]['startsWith']('--')){let _0x2689e2=_0x51ab3a[_0xe455bf][_0x41c81e(0xb0)](0x2),_0x4bf3ac;const _0x1705ca=_0x2689e2['indexOf']('=');_0x1705ca!==-0x1?(_0x4bf3ac=_0x2689e2['slice'](_0x1734b6['PWuyY'](_0x1705ca,0x1)),_0x2689e2=_0x2689e2['slice'](0x0,_0x1705ca)):_0x4bf3ac=_0xe455bf+0x1<_0x51ab3a['length']&&!_0x51ab3a[_0xe455bf+0x1][_0x41c81e(0x1cd)]('--')?_0x51ab3a[++_0xe455bf]:'true',_0x893633[_0x2689e2]=_0x4bf3ac;}else _0x12c63b[_0x41c81e(0xd8)](_0x51ab3a[_0xe455bf]);}return{'command':_0x3cd45b,'flags':_0x893633,'positional':_0x12c63b};}function maskKey(_0x3f7b98){const _0x3f6693=a0_0x145efa;if(!_0x3f7b98||_0x3f7b98['length']<=0x8)return _0x3f6693(0xaa);return _0x3f7b98['slice'](0x0,0x4)+'****';}var DEFAULT_PORT=0x2694,MAX_PORT_SCAN=0x64;async function findRunningServer(){const _0x4fdb32=a0_0x145efa,_0x3cc9f2={'bcllN':function(_0x4825b0,_0x1f2908){return _0x4825b0<_0x1f2908;}};for(let _0x4c9fb6=0x0;_0x3cc9f2[_0x4fdb32(0x1ab)](_0x4c9fb6,MAX_PORT_SCAN);_0x4c9fb6++){const _0x3e516f=DEFAULT_PORT+_0x4c9fb6;try{const _0x1436e3=await fetch(_0x4fdb32(0x1c2)+_0x3e516f+_0x4fdb32(0x10f),{'signal':AbortSignal[_0x4fdb32(0x108)](0x1f4)});if(_0x1436e3['ok']){const _0x37bcb3=await _0x1436e3['json']();if(_0x37bcb3['status']==='ok')return'http://127.0.0.1:'+_0x3e516f;}}catch{}}return null;}async function createKeyViaApi(_0x4b9784,_0x375f83){const _0x42a5ba=a0_0x145efa,_0x19b8b3={'csuRN':_0x42a5ba(0xf7)},_0x54db53=await fetch(_0x4b9784+_0x42a5ba(0x15a),{'method':'POST','headers':{'Content-Type':_0x19b8b3['csuRN']},'body':JSON['stringify'](_0x375f83)});if(!_0x54db53['ok']){const _0x3966c0=await _0x54db53[_0x42a5ba(0x192)]()[_0x42a5ba(0x14a)](()=>({'error':'HTTP\x20'+_0x54db53['status']}));throw new Error(_0x3966c0[_0x42a5ba(0x17c)]||_0x42a5ba(0x178)+_0x54db53['status']);}return _0x54db53['json']();}async function listKeysViaApi(_0x25973c,_0x1a4e4b){const _0x61f1b7=a0_0x145efa,_0x51af1c=new URLSearchParams();if(_0x1a4e4b[_0x61f1b7(0x106)])_0x51af1c['set'](_0x61f1b7(0x106),_0x1a4e4b[_0x61f1b7(0x106)]);if(_0x1a4e4b['status'])_0x51af1c[_0x61f1b7(0xcd)](_0x61f1b7(0x137),_0x1a4e4b['status']);const _0x381f3a=_0x51af1c['toString'](),_0x2f0afa=await fetch(_0x25973c+'/api/admin/keys'+(_0x381f3a?'?'+_0x381f3a:''));if(!_0x2f0afa['ok']){const _0xaa9f3d=await _0x2f0afa[_0x61f1b7(0x192)]()[_0x61f1b7(0x14a)](()=>({'error':_0x61f1b7(0x14c)+_0x2f0afa['status']}));throw new Error(_0xaa9f3d['error']||'Server\x20responded\x20with\x20'+_0x2f0afa['status']);}return _0x2f0afa[_0x61f1b7(0x192)]();}async function revokeKeyViaApi(_0x5687ed,_0x47d45b){const _0x1d0585=a0_0x145efa,_0xd56ba8=await fetch(_0x5687ed+_0x1d0585(0x1c8)+_0x47d45b,{'method':'DELETE'});if(!_0xd56ba8['ok']){const _0xc56223=await _0xd56ba8[_0x1d0585(0x192)]()['catch'](()=>({'error':_0x1d0585(0x14c)+_0xd56ba8['status']}));throw new Error(_0xc56223['error']||_0x1d0585(0x178)+_0xd56ba8['status']);}return _0xd56ba8['json']();}var _dbReady=![];async function ensureDb(){const _0x2df3fe=a0_0x145efa,_0x4135d4={'wkhWa':function(_0x91f428){return _0x91f428();}};if(_dbReady)return;const {getDb:_0x5c84dd}=await Promise[_0x2df3fe(0x13c)]()['then'](()=>(init_db(),db_exports));await _0x4135d4['wkhWa'](_0x5c84dd),_dbReady=!![];}async function createKey(_0x514129){const _0x82695b=a0_0x145efa,_0x2a1f57={'CVBMZ':'staff','IPYML':function(_0x3ee5fd){return _0x3ee5fd();},'SdqyO':function(_0x187481,_0x487cc1){return _0x187481||_0x487cc1;},'mslET':function(_0x42f0a4,_0x399626,_0x2bad53,_0x34a53f,_0x1dca5f){return _0x42f0a4(_0x399626,_0x2bad53,_0x34a53f,_0x1dca5f);}},_0x3c2b63=_0x514129['name'],_0x58882b=_0x514129['type']||_0x2a1f57['CVBMZ'],_0x443162=_0x514129[_0x82695b(0x1aa)]||null,_0x4b3a03=_0x514129['expires']||null;if(!_0x3c2b63){console[_0x82695b(0x17c)](_0x82695b(0x182)+icons[_0x82695b(0x1bb)]+'\x20'+c[_0x82695b(0x17c)]+_0x82695b(0x1ef)+c['reset']+'\x0a'),console['error']('\x20\x20Usage:\x20colana\x20admin\x20create-key\x20--name\x20\x22Sarah\x22\x20--type\x20staff\x20[--email\x20x]\x20[--expires\x202026-12-31]\x0a'),process[_0x82695b(0x14e)](0x1);return;}const _0x2c9146=['admin','staff',_0x82695b(0xb2)];if(!_0x2c9146['includes'](_0x58882b)){console[_0x82695b(0x17c)](_0x82695b(0x182)+icons[_0x82695b(0x1bb)]+'\x20'+c['error']+'ERROR:\x20Invalid\x20type\x20\x22'+_0x58882b+'\x22.\x20Must\x20be\x20one\x20of:\x20'+_0x2c9146[_0x82695b(0xdf)](',\x20')+c['reset']+'\x0a'),process[_0x82695b(0x14e)](0x1);return;}const _0x224b9b=await _0x2a1f57['IPYML'](findRunningServer);let _0x5c8f12;if(_0x224b9b)try{_0x5c8f12=await createKeyViaApi(_0x224b9b,{'name':_0x3c2b63,'type':_0x58882b,'email':_0x443162||void 0x0,'expires':_0x2a1f57['SdqyO'](_0x4b3a03,void 0x0)});}catch(_0x254428){console['error'](_0x82695b(0x182)+icons['fail']+'\x20'+c['error']+_0x254428[_0x82695b(0x152)]+c['reset']+'\x20'+c['muted']+'(via\x20server)'+c['reset']+'\x0a'),process[_0x82695b(0x14e)](0x1);return;}else{await ensureDb();const {generateKey:_0x55e434}=await Promise[_0x82695b(0x13c)]()['then'](()=>(init_key_manager(),key_manager_exports));try{_0x5c8f12=_0x2a1f57[_0x82695b(0x1bc)](_0x55e434,_0x3c2b63,_0x58882b,_0x443162,_0x4b3a03);}catch(_0x342064){console['error']('\x0a\x20\x20'+icons[_0x82695b(0x1bb)]+'\x20'+c['error']+_0x342064['message']+c['reset']+'\x0a'),process['exit'](0x1);return;}}if(!_0x5c8f12||!_0x5c8f12['name']){console['error'](_0x82695b(0x182)+icons['fail']+'\x20'+c[_0x82695b(0x17c)]+_0x82695b(0x175)+c[_0x82695b(0xc6)]+'\x0a'),process['exit'](0x1);return;}console[_0x82695b(0xa2)](''),console[_0x82695b(0xa2)]('\x20\x20'+icons['pass']+'\x20Key\x20generated\x20successfully!'),console[_0x82695b(0xa2)]('\x20\x20'+c['muted']+'─'[_0x82695b(0xe9)](0x28)+c[_0x82695b(0xc6)]),console[_0x82695b(0xa2)](_0x82695b(0x12e)+c['muted']+_0x82695b(0x15e)+c[_0x82695b(0xc6)]+'\x20\x20\x20\x20'+c[_0x82695b(0x115)]+_0x5c8f12['name']+c['reset']),console['log']('\x20\x20\x20\x20'+c['muted']+'Type:'+c[_0x82695b(0xc6)]+'\x20\x20\x20\x20'+c['value']+_0x5c8f12['type']+c[_0x82695b(0xc6)]),console[_0x82695b(0xa2)]('\x20\x20\x20\x20'+c['muted']+'ID:'+c[_0x82695b(0xc6)]+'\x20\x20\x20\x20\x20\x20'+c['value']+_0x5c8f12['id']+c[_0x82695b(0xc6)]),console[_0x82695b(0xa2)](_0x82695b(0x12e)+c[_0x82695b(0x1ce)]+_0x82695b(0x1b8)+c[_0x82695b(0xc6)]+_0x82695b(0x114)+c[_0x82695b(0xa7)]+_0x5c8f12['raw']+c['reset']),console[_0x82695b(0xa2)]('\x20\x20'+c[_0x82695b(0x1ce)]+'─'['repeat'](0x28)+c[_0x82695b(0xc6)]),console[_0x82695b(0xa2)]('\x20\x20'+c[_0x82695b(0xa7)]+'IMPORTANT:\x20Copy\x20this\x20key\x20now.\x20It\x20cannot\x20be\x20retrieved\x20later.'+c[_0x82695b(0xc6)]),_0x224b9b?console[_0x82695b(0xa2)]('\x20\x20'+c[_0x82695b(0x1ce)]+_0x82695b(0x15d)+c['reset']):console[_0x82695b(0xa2)]('\x20\x20'+c['muted']+_0x82695b(0x9d)+c['reset']),console['log']('');}async function listKeysCmd(_0x3894fb){const _0x2e8839=a0_0x145efa,_0x587140={'hsHtf':function(_0x1e9db3){return _0x1e9db3();},'VoSRD':'Name','kWtOT':'Status','esqVS':_0x2e8839(0x11a),'iPdqq':_0x2e8839(0x1b0)},_0x4f0030={};if(_0x3894fb['type'])_0x4f0030['type']=_0x3894fb[_0x2e8839(0x106)];if(_0x3894fb['status'])_0x4f0030['status']=_0x3894fb['status'];const _0xb65b71=await findRunningServer();let _0x109195;if(_0xb65b71)try{_0x109195=await listKeysViaApi(_0xb65b71,_0x4f0030);}catch(_0x669f43){console[_0x2e8839(0x17c)](_0x2e8839(0x182)+icons['fail']+'\x20'+c[_0x2e8839(0x17c)]+_0x669f43[_0x2e8839(0x152)]+c['reset']+'\x20'+c['muted']+_0x2e8839(0xa8)+c[_0x2e8839(0xc6)]+'\x0a'),process['exit'](0x1);return;}else{await _0x587140['hsHtf'](ensureDb);const {listKeys:_0xb19b89}=await Promise[_0x2e8839(0x13c)]()['then'](()=>(init_key_manager(),key_manager_exports));_0x109195=_0xb19b89(_0x4f0030);}if(!_0x109195||!_0x109195['keys']||!_0x109195['keys'][_0x2e8839(0xac)]){console['log'](_0x2e8839(0xf2));return;}console[_0x2e8839(0xa2)](''),console['log']('\x20\x20'+c[_0x2e8839(0xcc)]+_0x2e8839(0xa3)+c[_0x2e8839(0xc6)]),console[_0x2e8839(0xa2)]('\x20\x20'+c[_0x2e8839(0x1ce)]+'─'['repeat'](0x50)+c['reset']),console['log']('\x20\x20'+c[_0x2e8839(0x1ce)]+'ID'[_0x2e8839(0x1d4)](0xa)+_0x587140['VoSRD']['padEnd'](0x14)+'Type'[_0x2e8839(0x1d4)](0xa)+_0x587140['kWtOT'][_0x2e8839(0x1d4)](0xa)+_0x587140[_0x2e8839(0x1af)][_0x2e8839(0x1d4)](0xf)+_0x2e8839(0x104)+c['reset']),console['log']('\x20\x20'+c['muted']+'─'[_0x2e8839(0xe9)](0x50)+c['reset']);for(const _0x148fef of _0x109195[_0x2e8839(0x17b)]){const _0x44ef9c=(_0x148fef['id']||'')['slice'](0x0,0x8),_0x28f465=(_0x148fef[_0x2e8839(0x1e1)]||'')['slice'](0x0,0x12)['padEnd'](0x14),_0x4e6a63=(_0x148fef['type']||'')['padEnd'](0xa),_0x5e8320=(_0x148fef[_0x2e8839(0x137)]||'')[_0x2e8839(0x1d4)](0xa),_0x2ecd03=(_0x148fef['expiry']?new Date(_0x148fef['expiry'])[_0x2e8839(0xfa)]():_0x587140[_0x2e8839(0x109)])['padEnd'](0xf),_0x1dac72=_0x148fef[_0x2e8839(0x13e)]?new Date(_0x148fef[_0x2e8839(0x13e)])[_0x2e8839(0xfa)]():'-';console[_0x2e8839(0xa2)]('\x20\x20'+_0x44ef9c[_0x2e8839(0x1d4)](0xa)+_0x28f465+_0x4e6a63+_0x5e8320+_0x2ecd03+_0x1dac72);}console[_0x2e8839(0xa2)]('\x20\x20'+c[_0x2e8839(0x1ce)]+'─'['repeat'](0x50)+c[_0x2e8839(0xc6)]),console['log']('\x20\x20'+c[_0x2e8839(0x1ce)]+'Total:\x20'+_0x109195['keys'][_0x2e8839(0xac)]+'\x20key(s)'+c['reset']+'\x0a');}async function revokeKeyCmd(_0x36e19b){const _0x49dfa3=a0_0x145efa,_0x536e63={'lUXWM':'\x20\x20Usage:\x20colana\x20admin\x20revoke-key\x20<id>\x0a','tNlFw':function(_0x3bd451,_0x374bea,_0x27c7cf){return _0x3bd451(_0x374bea,_0x27c7cf);},'zlrCO':function(_0x119ea8,_0x31f76f){return _0x119ea8(_0x31f76f);}},_0x48242b=_0x36e19b[0x0];if(!_0x48242b){console[_0x49dfa3(0x17c)](_0x49dfa3(0x182)+icons[_0x49dfa3(0x1bb)]+'\x20'+c[_0x49dfa3(0x17c)]+_0x49dfa3(0xe1)+c['reset']+'\x0a'),console['error'](_0x536e63['lUXWM']),process['exit'](0x1);return;}const _0x598967=await findRunningServer();if(_0x598967)try{await _0x536e63['tNlFw'](revokeKeyViaApi,_0x598967,_0x48242b),console[_0x49dfa3(0xa2)](_0x49dfa3(0x182)+icons[_0x49dfa3(0xbb)]+_0x49dfa3(0x1c7)+c['value']+_0x48242b+c['reset']+'\x20has\x20been\x20revoked.\x0a');}catch(_0x47e57d){console[_0x49dfa3(0x17c)]('\x0a\x20\x20'+icons[_0x49dfa3(0x1bb)]+'\x20'+c[_0x49dfa3(0x17c)]+_0x47e57d[_0x49dfa3(0x152)]+c['reset']+'\x20'+c[_0x49dfa3(0x1ce)]+'(via\x20server)'+c['reset']+'\x0a'),process['exit'](0x1);return;}else{await ensureDb();const {revokeKey:_0x2123aa}=await Promise['resolve']()[_0x49dfa3(0x12c)](()=>(init_key_manager(),key_manager_exports));try{_0x536e63[_0x49dfa3(0x1f5)](_0x2123aa,_0x48242b),console['log']('\x0a\x20\x20'+icons[_0x49dfa3(0xbb)]+_0x49dfa3(0x1c7)+c['value']+_0x48242b+c[_0x49dfa3(0xc6)]+_0x49dfa3(0xe7));}catch(_0x4dff26){console[_0x49dfa3(0x17c)]('\x0a\x20\x20'+icons['fail']+'\x20'+c['error']+_0x4dff26['message']+c['reset']+'\x0a'),process['exit'](0x1);return;}}}function showHelp(){const _0xbda9fe=a0_0x145efa,_0x23c53e={'wwUDC':function(_0x1d19fd){return _0x1d19fd();}};console['log'](_0xbda9fe(0x182)+_0x23c53e['wwUDC'](brandName)+'\x20'+c[_0xbda9fe(0x1ce)]+'Admin\x20CLI'+c[_0xbda9fe(0xc6)]+_0xbda9fe(0x124)+c['heading']+'Usage:'+c[_0xbda9fe(0xc6)]+'\x0a\x20\x20\x20\x20'+c[_0xbda9fe(0x169)]+_0xbda9fe(0xdd)+c['reset']+_0xbda9fe(0x16b)+c[_0xbda9fe(0x169)]+'colana\x20admin\x20staff-keys'+c[_0xbda9fe(0xc6)]+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20List\x20configured\x20staff/admin\x20keys\x20(env\x20vars)\x0a\x20\x20\x20\x20'+c[_0xbda9fe(0x169)]+_0xbda9fe(0xef)+c['reset']+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Generate\x20a\x20new\x20license\x20key\x20(stored\x20in\x20DB)\x0a\x20\x20\x20\x20\x20\x20'+c[_0xbda9fe(0x1ce)]+'--name\x20\x22Name\x22'+c['reset']+_0xbda9fe(0xf4)+c[_0xbda9fe(0x1ce)]+_0xbda9fe(0x9a)+c['reset']+_0xbda9fe(0x136)+c[_0xbda9fe(0x1ce)]+_0xbda9fe(0x160)+c['reset']+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Email\x20(optional)\x0a\x20\x20\x20\x20\x20\x20'+c[_0xbda9fe(0x1ce)]+_0xbda9fe(0xeb)+c[_0xbda9fe(0xc6)]+_0xbda9fe(0x195)+c[_0xbda9fe(0x169)]+_0xbda9fe(0xed)+c['reset']+_0xbda9fe(0xea)+c['muted']+'--type\x20staff|admin|beta'+c['reset']+_0xbda9fe(0x1d6)+c[_0xbda9fe(0x1ce)]+'--status\x20active|revoked'+c[_0xbda9fe(0xc6)]+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Filter\x20by\x20status\x0a\x20\x20\x20\x20'+c['cmd']+_0xbda9fe(0x119)+c['reset']+_0xbda9fe(0xc3)+c['muted']+'Polar.sh\x20key\x20management:'+c['reset']+_0xbda9fe(0x1e5)+c[_0xbda9fe(0x1f9)]+_0xbda9fe(0x113)+c['reset']+'\x0a');}function doctor(){const _0x3dde55=a0_0x145efa;console[_0x3dde55(0xa2)]('\x0a\x20\x20Run\x20\x27colana\x20doctor\x27\x20for\x20system\x20diagnostics.\x0a');}function staffKeys(){const _0x3d153c=a0_0x145efa,_0x67cf36={'PdFWV':function(_0x3e5f41,_0x1c602d){return _0x3e5f41===_0x1c602d;},'UONYQ':_0x3d153c(0x140),'CkMDs':'\x20\x20To\x20add/remove\x20keys,\x20update\x20the\x20STAFF_KEYS\x20or\x20ADMIN_KEYS\x20environment\x20variable.\x0a'},_0x11ccb5=process[_0x3d153c(0xa5)][_0x3d153c(0xb4)]||'',_0x5691a3=process[_0x3d153c(0xa5)][_0x3d153c(0x172)]||'',_0x487cae=_0x11ccb5[_0x3d153c(0xf9)](',')['map'](_0x5e6f18=>_0x5e6f18['trim']())[_0x3d153c(0x1a8)](Boolean),_0x2904a3=_0x5691a3['split'](',')['map'](_0xf559cd=>_0xf559cd['trim']())[_0x3d153c(0x1a8)](Boolean);if(_0x487cae['length']===0x0&&_0x67cf36['PdFWV'](_0x2904a3['length'],0x0)){console[_0x3d153c(0xa2)](_0x67cf36['UONYQ']);return;}console[_0x3d153c(0xa2)](''),_0x487cae['length']>0x0&&(console[_0x3d153c(0xa2)]('\x20\x20'+c[_0x3d153c(0xcc)]+_0x3d153c(0x91)+c['reset']),console['log']('\x20\x20'+c['muted']+'─'['repeat'](0xa)+c[_0x3d153c(0xc6)]),_0x487cae['forEach']((_0x1d01b2,_0x1ea43a)=>{console['log']('\x20\x20\x20\x20'+(_0x1ea43a+0x1)+'.\x20'+maskKey(_0x1d01b2)+'\x20\x20(STAFF_KEYS)');}),console['log']('')),_0x2904a3[_0x3d153c(0xac)]>0x0&&(console['log']('\x20\x20'+c['heading']+'Admin\x20Keys:'+c['reset']),console['log']('\x20\x20'+c['muted']+'─'[_0x3d153c(0xe9)](0xa)+c[_0x3d153c(0xc6)]),_0x2904a3[_0x3d153c(0x1e0)]((_0x597068,_0x246d36)=>{const _0x3728ec=_0x3d153c;console['log'](_0x3728ec(0x12e)+(_0x246d36+0x1)+'.\x20'+maskKey(_0x597068)+_0x3728ec(0x13b));}),console[_0x3d153c(0xa2)]('')),console['log'](_0x67cf36['CkMDs']);}async function main(){const _0x39b783=a0_0x145efa,_0x45376b={'FCXAT':function(_0x33ddf3,_0x3d3693){return _0x33ddf3(_0x3d3693);},'xJMoX':_0x39b783(0x12f),'Yctac':_0x39b783(0x171),'BJQLT':function(_0x3520b9){return _0x3520b9();},'VyfId':_0x39b783(0x8d),'iUBjx':_0x39b783(0x133)},{command:_0x41bf68,flags:_0xf3eeb8,positional:_0x1d8bdd}=_0x45376b['FCXAT'](parseArgs,process['argv']);if(!_0x41bf68||_0x41bf68===_0x45376b['xJMoX']||_0x41bf68===_0x39b783(0x19b)){showHelp();return;}switch(_0x41bf68){case _0x45376b['Yctac']:return doctor();case'staff-keys':return _0x45376b['BJQLT'](staffKeys);case'create-key':return _0x45376b[_0x39b783(0x11d)](createKey,_0xf3eeb8);case _0x45376b['VyfId']:return listKeysCmd(_0xf3eeb8);case _0x45376b[_0x39b783(0x129)]:return revokeKeyCmd(_0x1d8bdd);default:console[_0x39b783(0x17c)]('\x20\x20'+icons[_0x39b783(0x1bb)]+'\x20Unknown\x20command:\x20'+c['value']+_0x41bf68+c[_0x39b783(0xc6)]),console['error']('\x20\x20'+c['muted']+'Run\x20\x22colana\x20admin\x20help\x22\x20for\x20usage.'+c['reset']),process['exit'](0x1);return;}}main()[a0_0x145efa(0x14a)](_0x4e6f5b=>{const _0x2ea26a=a0_0x145efa;console[_0x2ea26a(0x17c)]('\x20\x20'+icons['fail']+'\x20'+c['error']+(_0x4e6f5b[_0x2ea26a(0x152)]||_0x4e6f5b)+c[_0x2ea26a(0xc6)]),process[_0x2ea26a(0x14e)](0x1);});