colana 1.0.0-beta.85 → 1.0.0-beta.87
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 +1 -1
- package/bin/colana.js +1 -1
- package/package.json +2 -3
- package/public/app.1d764aca09.js +1 -0
- package/public/asset-manifest.json +6 -6
- package/public/index.html +6 -6
- package/public/service-worker.js +3 -3
- package/public/{styles.058bb007f9.css → styles.7e7321db32.css} +94 -0
- package/public/wizard.c6613dc4a5.js +1 -0
- package/public/wizard.html +12 -12
- package/server/index.cjs +1 -2
- package/public/app.3e63859f7f.js +0 -1
- package/public/wizard.bd8f1905fb.js +0 -1
- package/server/index.jsc +0 -0
package/bin/admin.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const a0_0x43e5c8=a0_0xac44;(function(_0x3e0686,_0x178a8f){const _0x2eea15=a0_0xac44,_0x111f12=_0x3e0686();while(!![]){try{const _0x391887=parseInt(_0x2eea15(0x228))/0x1+-parseInt(_0x2eea15(0x1e9))/0x2*(parseInt(_0x2eea15(0xe6))/0x3)+-parseInt(_0x2eea15(0x1a8))/0x4+parseInt(_0x2eea15(0x1cf))/0x5*(parseInt(_0x2eea15(0x1c2))/0x6)+parseInt(_0x2eea15(0x1de))/0x7+-parseInt(_0x2eea15(0x1e1))/0x8*(parseInt(_0x2eea15(0xfc))/0x9)+-parseInt(_0x2eea15(0x154))/0xa*(parseInt(_0x2eea15(0x179))/0xb);if(_0x391887===_0x178a8f)break;else _0x111f12['push'](_0x111f12['shift']());}catch(_0x91f05f){_0x111f12['push'](_0x111f12['shift']());}}}(a0_0xc857,0xf24fb));var __defProp=Object[a0_0x43e5c8(0x138)],__getOwnPropNames=Object['getOwnPropertyNames'],__esm=(_0x53eb32,_0x50a1ef)=>function _0x148163(){return _0x53eb32&&(_0x50a1ef=(0x0,_0x53eb32[__getOwnPropNames(_0x53eb32)[0x0]])(_0x53eb32=0x0)),_0x50a1ef;},__export=(_0x9dae7,_0x560e08)=>{for(var _0x2d0e03 in _0x560e08)__defProp(_0x9dae7,_0x2d0e03,{'get':_0x560e08[_0x2d0e03],'enumerable':!![]});};import a0_0x1f8687 from'crypto';import a0_0x3f6d95 from'fs';import a0_0x290666 from'os';import a0_0x1c2445 from'path';function a0_0xac44(_0x41c7bf,_0x490229){_0x41c7bf=_0x41c7bf-0xce;const _0xc8578c=a0_0xc857();let _0xac4456=_0xc8578c[_0x41c7bf];return _0xac4456;}import{fileURLToPath}from'url';function envInt(_0x2ed108,_0x2ead34){const _0x2be9c0=parseInt(_0x2ed108,0xa);return Number['isNaN'](_0x2be9c0)?_0x2ead34:_0x2be9c0;}function resolveEncryptionKey(){const _0x3b8aa7=a0_0x43e5c8,_0x13b307={'wbtLs':function(_0x4a76c8,_0x5a4ea7){return _0x4a76c8(_0x5a4ea7);}};if(process['env']['ENCRYPTION_KEY'])return process[_0x3b8aa7(0x10e)][_0x3b8aa7(0xd2)];const _0x327788=a0_0x1c2445[_0x3b8aa7(0x189)](dataDir,KEY_FILENAME),_0x4c1f4a=a0_0x1c2445['join'](dataDir,_0x3b8aa7(0x149));if(a0_0x3f6d95['existsSync'](_0x327788))try{const _0x40191e=a0_0x3f6d95['readFileSync'](_0x327788,_0x3b8aa7(0xf3)),_0x5072f9=_0x40191e['split']('\x0a')['filter'](_0x545021=>!_0x545021['startsWith']('#'))[_0x3b8aa7(0x189)]('')[_0x3b8aa7(0xf1)]();if(_0x5072f9['length']>=0x20)return _0x5072f9;console['error'](_0x3b8aa7(0x1cb)+_0x5072f9['length']+_0x3b8aa7(0x14f));}catch(_0x3157eb){console[_0x3b8aa7(0x197)]('[security]\x20Failed\x20to\x20read\x20encryption\x20key\x20file:\x20'+_0x3157eb[_0x3b8aa7(0x17f)]);}if(!a0_0x3f6d95[_0x3b8aa7(0x207)](_0x4c1f4a))return _0x13b307[_0x3b8aa7(0x1b8)](generateAndWriteKeyFile,_0x327788);return LEGACY_DEFAULT_KEY;}function generateAndWriteKeyFile(_0x35bc93){const _0x10eaa6=a0_0x43e5c8,_0x1a6449={'PBvkS':_0x10eaa6(0x15d),'MNLwv':_0x10eaa6(0xdc),'FtnsB':'[security]\x20Encryption\x20key\x20is\x20in-memory\x20only.\x20Restart\x20will\x20generate\x20a\x20new\x20key.'},_0x512f23=a0_0x1f8687['randomBytes'](0x20)[_0x10eaa6(0xf7)]('hex');try{const _0x2ec940=a0_0x1c2445['dirname'](_0x35bc93);if(!a0_0x3f6d95['existsSync'](_0x2ec940))a0_0x3f6d95[_0x10eaa6(0x239)](_0x2ec940,{'recursive':!![]});const _0x363148=[_0x1a6449['PBvkS'],'#\x20Without\x20this\x20key,\x20all\x20encrypted\x20settings\x20(API\x20keys,\x20tokens)\x20are\x20unrecoverable.','#\x20Back\x20up\x20this\x20file\x20alongside\x20your\x20database.',_0x512f23,'']['join']('\x0a');a0_0x3f6d95['writeFileSync'](_0x35bc93,_0x363148,{'encoding':_0x10eaa6(0xf3),'mode':0x180}),console[_0x10eaa6(0x192)](_0x1a6449['MNLwv']);}catch(_0xb117c4){console[_0x10eaa6(0x197)]('[security]\x20WARNING:\x20Could\x20not\x20write\x20encryption\x20key\x20file:\x20'+_0xb117c4['message']),console['error'](_0x1a6449['FtnsB']);}return _0x512f23;}function getReleaseChannel(){const _0xb28cb9=a0_0x43e5c8,_0x3eb127={'gsMDt':_0xb28cb9(0xf3),'ACFKm':_0xb28cb9(0x22d),'EjTlW':_0xb28cb9(0x1b1)};try{const _0x5d682a=a0_0x1c2445[_0xb28cb9(0x189)](__dirname,'..',_0xb28cb9(0x1f6)),_0x320604=JSON['parse'](a0_0x3f6d95['readFileSync'](_0x5d682a,_0x3eb127['gsMDt'])),_0x4978dd=_0x320604['version']||'';if(_0x4978dd[_0xb28cb9(0x1b4)](_0x3eb127['ACFKm']))return _0xb28cb9(0x1aa);}catch{}return _0x3eb127[_0xb28cb9(0x20a)];}var __dirname,dataDir,LEGACY_DEFAULT_KEY,KEY_FILENAME,config,config_default,init_config=__esm({'server/config.js'(){const _0x3b8fe8=a0_0x43e5c8,_0x2d3a05={'npEKH':function(_0x3e863c,_0x1581e3){return _0x3e863c(_0x1581e3);},'HyOmz':'data','Igfbb':_0x3b8fe8(0x1cc),'VKdIS':_0x3b8fe8(0x1d9),'Qpkhm':'npm','yzrBT':'Gemini\x20CLI','YpgCA':_0x3b8fe8(0x184),'iSNsS':_0x3b8fe8(0x140),'eNGhO':'Copilot\x20CLI','aGEgq':_0x3b8fe8(0x1a7),'EENoE':'flag','waGwp':'gh\x20copilot\x20--version','VHyUE':'gh\x20extension\x20install\x20github/gh-copilot','fmbSM':_0x3b8fe8(0x165),'vvUPE':'--restore-chat-history','jYOVN':_0x3b8fe8(0x139),'JueeT':'python3','TQVhv':'https://buy.polar.sh/colana','ZkinG':'https://colana.ai','nTiFy':function(_0x250b0e,_0x3180af,_0x5926d0){return _0x250b0e(_0x3180af,_0x5926d0);},'wFzvS':function(_0x26c482,_0x202952){return _0x26c482*_0x202952;},'vSXpu':_0x3b8fe8(0x149),'uxanm':function(_0x1f0f06,_0x3d8f31,_0x3f4f3c){return _0x1f0f06(_0x3d8f31,_0x3f4f3c);},'tKOsW':function(_0x41a77e,_0x31c4b4,_0xe30598){return _0x41a77e(_0x31c4b4,_0xe30598);},'FEkDx':function(_0x3f5862,_0x3f83b7){return _0x3f5862*_0x3f83b7;},'edStD':function(_0xa7bc24,_0x368755,_0xd0e7ab){return _0xa7bc24(_0x368755,_0xd0e7ab);},'GPqsx':function(_0x6d9b05,_0x4e4a8e,_0x5d53e3){return _0x6d9b05(_0x4e4a8e,_0x5d53e3);},'MzMwm':_0x3b8fe8(0xe1),'QIDoN':_0x3b8fe8(0xf5),'ZZZoI':'Bash','bKHDl':_0x3b8fe8(0x216),'GrKsV':function(_0x4156be,_0x18aa7a,_0x86f585){return _0x4156be(_0x18aa7a,_0x86f585);},'wCBrj':'--print','sHDCz':'--output-format','mJSUn':_0x3b8fe8(0x111),'kCahy':'default','WcaKf':_0x3b8fe8(0x1c1),'ZMyQH':_0x3b8fe8(0x1a2),'GNicF':'Edit','nuvAs':_0x3b8fe8(0xe4),'UKMVf':function(_0x484a04){return _0x484a04();}};__dirname=a0_0x1c2445[_0x3b8fe8(0x1ed)](_0x2d3a05[_0x3b8fe8(0x10f)](fileURLToPath,import.meta.url)),dataDir=process['env']['DATA_DIR']?a0_0x1c2445[_0x3b8fe8(0x218)](process['env']['DATA_DIR']):a0_0x1c2445[_0x3b8fe8(0x189)](__dirname,'..',_0x2d3a05['HyOmz']),LEGACY_DEFAULT_KEY='colana-default-encryption-key32',KEY_FILENAME=_0x3b8fe8(0x245),config={'providers':{'claude':{'label':'Claude\x20Code','binary':'claude','npmPackage':_0x3b8fe8(0x1c9),'models':[],'supportsResume':!![],'supportsPty':!![],'supportsInteractive':!![],'resumeStyle':'flag','resumeFlag':_0x2d3a05[_0x3b8fe8(0xd4)],'installCmd':_0x3b8fe8(0x194),'runtime':'npm','authNote':'Anthropic\x20subscription\x20or\x20API\x20key'},'codex':{'label':'Codex\x20CLI','binary':_0x2d3a05[_0x3b8fe8(0x127)],'npmPackage':_0x3b8fe8(0x173),'models':[],'supportsResume':!![],'supportsPty':!![],'supportsInteractive':!![],'resumeStyle':'subcommand','resumeSubcmd':_0x3b8fe8(0xfb),'installCmd':'npm\x20install\x20-g\x20@openai/codex','runtime':_0x2d3a05[_0x3b8fe8(0x12f)],'authNote':'OpenAI\x20API\x20key\x20(pay-per-use)'},'gemini':{'label':_0x2d3a05[_0x3b8fe8(0x1fc)],'binary':_0x2d3a05['YpgCA'],'npmPackage':_0x2d3a05['iSNsS'],'models':[],'supportsResume':!![],'supportsPty':!![],'supportsInteractive':!![],'resumeStyle':'flag','resumeFlag':_0x2d3a05['Igfbb'],'installCmd':'npm\x20install\x20-g\x20@google/gemini-cli','runtime':_0x2d3a05[_0x3b8fe8(0x12f)],'authNote':'Free\x20or\x20paid\x20Google\x20account','recommended':!![]},'copilot':{'label':_0x2d3a05[_0x3b8fe8(0x158)],'binary':_0x2d3a05[_0x3b8fe8(0x120)],'fallbackBinary':'gh','fallbackBinaryArgs':['copilot'],'models':[],'supportsResume':!![],'supportsPty':!![],'supportsInteractive':!![],'resumeStyle':_0x2d3a05[_0x3b8fe8(0x15f)],'resumeFlag':_0x2d3a05[_0x3b8fe8(0xd4)],'installCmd':_0x2d3a05[_0x3b8fe8(0x1bf)],'installFallbackCmd':_0x2d3a05[_0x3b8fe8(0x18c)],'runtime':'npm','authNote':_0x2d3a05[_0x3b8fe8(0x1ce)]},'aider':{'label':'Aider','binary':_0x3b8fe8(0x242),'models':[],'supportsResume':!![],'supportsPty':!![],'supportsInteractive':!![],'resumeStyle':'flag','resumeFlag':_0x2d3a05[_0x3b8fe8(0x220)],'noSessionId':!![],'installCmd':_0x3b8fe8(0xea),'installFallbackCmd':_0x2d3a05[_0x3b8fe8(0x1db)],'installPrereq':_0x2d3a05[_0x3b8fe8(0x1c3)],'runtime':'pipx','authNote':_0x3b8fe8(0x1d0)},'openclaw':{'label':_0x3b8fe8(0x1f8),'binary':_0x3b8fe8(0x19b),'models':[],'supportsResume':![],'supportsPty':!![],'supportsInteractive':!![],'supportsHeadless':![],'installCmd':'npm\x20install\x20-g\x20openclaw','runtime':_0x2d3a05[_0x3b8fe8(0x12f)],'authNote':'User-configured\x20model\x20keys\x20(Anthropic,\x20OpenAI,\x20Ollama,\x20etc.)','gatewayPort':0x4965,'isPersonal':!![]}},'defaultModel':process[_0x3b8fe8(0x10e)]['DEFAULT_MODEL']||null,'polar':{'organizationId':process['env']['POLAR_ORG_ID']||'','accessToken':process['env']['POLAR_ACCESS_TOKEN']||'','productId':process['env'][_0x3b8fe8(0x243)]||'','checkoutUrl':process['env']['POLAR_CHECKOUT_URL']||_0x2d3a05['TQVhv'],'customerPortalUrl':process['env']['POLAR_CUSTOMER_PORTAL_URL']||'','webhookSecret':process[_0x3b8fe8(0x10e)][_0x3b8fe8(0x175)]||'','apiUrl':process[_0x3b8fe8(0x10e)][_0x3b8fe8(0x196)]||_0x3b8fe8(0x1f2),'blueprintCloudUrl':process['env']['BLUEPRINT_CLOUD_URL']||_0x2d3a05['ZkinG'],'cacheTtlMs':_0x2d3a05[_0x3b8fe8(0x1d5)](envInt,process[_0x3b8fe8(0x10e)]['LICENSE_CACHE_TTL_MS'],_0x2d3a05[_0x3b8fe8(0x186)](0x7,0x18)*0x3c*0x3c*0x3e8),'revalidationIntervalMs':envInt(process[_0x3b8fe8(0x10e)]['LICENSE_REVALIDATION_INTERVAL_MS'],0x6*0x3c*0x3c*0x3e8),'staffKeys':(process['env'][_0x3b8fe8(0x22b)]||'')['split'](',')['map'](_0x14f0c2=>_0x14f0c2['trim']())['filter'](Boolean),'adminKeys':(process['env'][_0x3b8fe8(0x133)]||'')['split'](',')[_0x3b8fe8(0x1d6)](_0x72224a=>_0x72224a[_0x3b8fe8(0xf1)]())[_0x3b8fe8(0x1ab)](Boolean)},'freeMaxSessions':_0x2d3a05[_0x3b8fe8(0x1d5)](envInt,process['env'][_0x3b8fe8(0xdb)],0x2),'dataDir':dataDir,'dbFilename':process['env']['DB_FILENAME']||_0x2d3a05['vSXpu'],'homePath':a0_0x290666[_0x3b8fe8(0x105)](),'startPort':envInt(process[_0x3b8fe8(0x10e)][_0x3b8fe8(0x1ff)],0x2694),'maxPortAttempts':envInt(process[_0x3b8fe8(0x10e)]['MAX_PORT_ATTEMPTS'],0x64),'bindAddress':process['env'][_0x3b8fe8(0xf9)]||_0x3b8fe8(0x1e6),'encryptionKey':resolveEncryptionKey(),'encryptionKeyIsLegacyDefault':![],'defaultEditorCommand':'code','permissionTimeoutMs':_0x2d3a05['uxanm'](envInt,process[_0x3b8fe8(0x10e)]['PERMISSION_TIMEOUT_MS'],0x1d4c0),'permissionClientMs':envInt(process['env']['PERMISSION_CLIENT_MS'],0x249f0),'agentGracePeriodMs':envInt(process['env']['AGENT_GRACE_PERIOD_MS'],0x1388),'shutdownTimeoutMs':envInt(process[_0x3b8fe8(0x10e)]['SHUTDOWN_TIMEOUT_MS'],0x2710),'defaultLogLimit':envInt(process['env']['DEFAULT_LOG_LIMIT'],0x3e8),'defaultSessionLimit':envInt(process['env'][_0x3b8fe8(0xfe)],0x14),'gitDiffMaxBuffer':_0x2d3a05[_0x3b8fe8(0x1d5)](envInt,process['env'][_0x3b8fe8(0xfd)],0xa*0x400*0x400),'toolResultPreviewLen':_0x2d3a05['tKOsW'](envInt,process[_0x3b8fe8(0x10e)][_0x3b8fe8(0xd8)],0x1f4),'maxResumableSessions':envInt(process[_0x3b8fe8(0x10e)][_0x3b8fe8(0x1a0)],0x5),'updateCheckIntervalMs':envInt(process[_0x3b8fe8(0x10e)]['UPDATE_CHECK_INTERVAL_MS'],_0x2d3a05[_0x3b8fe8(0x186)](_0x2d3a05[_0x3b8fe8(0x237)](0x6,0x3c)*0x3c,0x3e8)),'logRetentionDays':_0x2d3a05['edStD'](envInt,process[_0x3b8fe8(0x10e)][_0x3b8fe8(0x20b)],0x0),'logRetentionIntervalMs':_0x2d3a05[_0x3b8fe8(0x205)](envInt,process['env']['LOG_RETENTION_INTERVAL_MS'],0x18*0x3c*0x3c*0x3e8),'logRetentionBatchSize':_0x2d3a05['GPqsx'](envInt,process[_0x3b8fe8(0x10e)]['LOG_RETENTION_BATCH_SIZE'],0x7d0),'logRetentionMaxBatches':_0x2d3a05['nTiFy'](envInt,process['env']['LOG_RETENTION_MAX_BATCHES'],0xa),'logArchiveMode':(process[_0x3b8fe8(0x10e)][_0x3b8fe8(0x193)]||'db')['toLowerCase'](),'allowedTools':['Read','Edit',_0x2d3a05['MzMwm'],'Glob',_0x2d3a05[_0x3b8fe8(0x217)],_0x2d3a05['ZZZoI'],_0x2d3a05['bKHDl'],_0x3b8fe8(0xe4)],'maxTurnsOptions':[0x0,0xa,0x19,0x32,0x64],'fontSizes':[0xc,0xe,0x10,0x12],'ptyBufferSize':_0x2d3a05['GrKsV'](envInt,process[_0x3b8fe8(0x10e)]['PTY_BUFFER_SIZE'],0x100*0x400),'ptyDefaultCols':envInt(process['env']['PTY_DEFAULT_COLS'],0x78),'ptyDefaultRows':_0x2d3a05[_0x3b8fe8(0x18f)](envInt,process[_0x3b8fe8(0x10e)]['PTY_DEFAULT_ROWS'],0x1e),'worktreesDir':a0_0x1c2445[_0x3b8fe8(0x189)](dataDir,_0x3b8fe8(0x203)),'worktreeMaxPerProject':0xa,'worktreeStaleAfterDays':0x4,'worktreeCleanupIntervalMs':0x18*0x3c*0x3c*0x3e8,'worktreeGitTimeoutMs':0x7530,'worktreeGitQuickTimeoutMs':0x1388,'cliFlags':[_0x2d3a05['wCBrj'],_0x2d3a05[_0x3b8fe8(0x198)],'stream-json',_0x2d3a05['mJSUn'],'stream-json','--include-partial-messages',_0x3b8fe8(0x1eb)],'permissionToolName':_0x3b8fe8(0x14c),'permissionModes':[_0x2d3a05[_0x3b8fe8(0x15a)],_0x2d3a05['WcaKf'],_0x2d3a05['ZMyQH'],'bypassPermissions',_0x3b8fe8(0x117),'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[_0x3b8fe8(0x10e)]['MAX_RESUMABLE_SESSIONS'],0x5),'permissionModes':[_0x2d3a05['kCahy'],_0x2d3a05['WcaKf'],'plan',_0x3b8fe8(0xed),'dontAsk',_0x3b8fe8(0x225)],'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':[_0x3b8fe8(0x235),_0x2d3a05['GNicF'],_0x3b8fe8(0xe1),'Glob',_0x2d3a05['QIDoN'],'Bash',_0x2d3a05['bKHDl'],_0x2d3a05[_0x3b8fe8(0x148)]],'maxTurnsOptions':[0x0,0xa,0x19,0x32,0x64],'fontSizes':[0xc,0xe,0x10,0x12]}},config['encryptionKeyIsLegacyDefault']=config[_0x3b8fe8(0x12c)]===LEGACY_DEFAULT_KEY,config['LEGACY_DEFAULT_KEY']=LEGACY_DEFAULT_KEY,config['KEY_FILENAME']=KEY_FILENAME,config['deriveGogKeyringPassword']=function(){const _0x55f53c=_0x3b8fe8;return a0_0x1f8687['createHash']('sha256')['update'](_0x55f53c(0x171)+config['encryptionKey'])['digest'](_0x55f53c(0x101))['slice'](0x0,0x20);},config[_0x3b8fe8(0xe8)]=_0x2d3a05[_0x3b8fe8(0xd1)](getReleaseChannel),config[_0x3b8fe8(0x146)][_0x3b8fe8(0x1d3)]=Object[_0x3b8fe8(0x1bd)](Object[_0x3b8fe8(0xe7)](config['providers'])[_0x3b8fe8(0x1d6)](([_0x539804,_0x1f7683])=>[_0x539804,{'label':_0x1f7683['label'],'models':_0x1f7683['models'],'supportsResume':_0x1f7683['supportsResume'],'supportsPty':_0x1f7683['supportsPty'],'supportsInteractive':_0x1f7683[_0x3b8fe8(0xd0)],'supportsHeadless':_0x1f7683['supportsHeadless']!==![],'runtime':_0x1f7683[_0x3b8fe8(0x129)],'authNote':_0x1f7683['authNote'],'recommended':_0x1f7683[_0x3b8fe8(0x1e3)]||![],'isPersonal':_0x1f7683['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_0x5c42cd from'sql.js';import a0_0x361345 from'path';import a0_0x505d16 from'fs';function saveDatabaseNow(){if(db){const _0x53bdb4=db['export'](),_0x1176e2=Buffer['from'](_0x53bdb4);a0_0x505d16['writeFileSync'](DB_PATH,_0x1176e2);}}function saveDatabase(){const _0x445f41=a0_0x43e5c8,_0x2238f2={'nyxbi':function(_0xc8a3cd,_0x8b6416,_0x5b2c71){return _0xc8a3cd(_0x8b6416,_0x5b2c71);}};if(_saveTimer)return;_saveTimer=_0x2238f2[_0x445f41(0xec)](setTimeout,()=>{_saveTimer=null,saveDatabaseNow();},0x3e8);}async function initializeDatabase(){const _0x3e29dc=a0_0x43e5c8,_0x2db246={'LRYMv':function(_0x10b627){return _0x10b627();},'KzxoM':'SELECT\x20COUNT(*)\x20as\x20cnt\x20FROM\x20schema_version','jFVRh':function(_0x4193e9,_0x3ce6ac){return _0x4193e9>_0x3ce6ac;},'iZKOg':function(_0x36a7b9){return _0x36a7b9();},'YBcOo':_0x3e29dc(0x12a),'KAbzq':_0x3e29dc(0x1ad),'bowNo':'gemini','Fybui':'default_model','wxWuJ':'dark','XGpyT':'allowed_tools','eVYnh':_0x3e29dc(0x235),'cXHbH':_0x3e29dc(0x128),'rhKnN':'max_turns','XMSsc':'font_size','qzoeb':'auto_resume_on_restart','uFndz':_0x3e29dc(0x1b3),'VauTk':_0x3e29dc(0x213)};!a0_0x505d16[_0x3e29dc(0x207)](DATA_DIR)&&a0_0x505d16['mkdirSync'](DATA_DIR,{'recursive':!![]});SQL=await _0x2db246[_0x3e29dc(0x150)](a0_0x5c42cd);if(a0_0x505d16['existsSync'](DB_PATH)){const _0x39d163=a0_0x505d16[_0x3e29dc(0x204)](DB_PATH);db=new SQL[(_0x3e29dc(0x170))](_0x39d163);}else db=new SQL[(_0x3e29dc(0x170))]();db['run']('PRAGMA\x20foreign_keys\x20=\x20ON'),db[_0x3e29dc(0x1da)]('\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[_0x3e29dc(0x1da)]('\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'),db['run']('\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'](_0x3e29dc(0x106)),db[_0x3e29dc(0x1da)]('\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[_0x3e29dc(0x1da)](_0x3e29dc(0x20c)),db['run'](_0x3e29dc(0x206)),db['run']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_sessions_project_id\x20ON\x20sessions(project_id)'),db['run'](_0x3e29dc(0x18e)),db[_0x3e29dc(0x1da)]('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_logs_session_id\x20ON\x20logs(session_id)'),db['run'](_0x3e29dc(0xf6));try{db[_0x3e29dc(0x1da)]('ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20permission_mode\x20TEXT\x20DEFAULT\x20\x27default\x27');}catch(_0x540c73){}try{db['run']('ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20duration_ms\x20INTEGER');}catch(_0x24dac7){}try{db['run']('ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20num_turns\x20INTEGER');}catch(_0x35b55a){}try{db[_0x3e29dc(0x1da)](_0x3e29dc(0xdf));}catch(_0x26a23b){}try{db[_0x3e29dc(0x1da)]('ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20mode\x20TEXT\x20DEFAULT\x20\x27legacy\x27');}catch(_0x522842){}try{db['run'](_0x3e29dc(0x1c6));}catch(_0x2672b6){}db['run']('\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 _0x4624cb=db[_0x3e29dc(0xee)](_0x2db246['KzxoM']),_0x3e563f=_0x2db246['jFVRh'](_0x4624cb[_0x3e29dc(0x22e)],0x0)?_0x4624cb[0x0]['values'][0x0][0x0]:0x0;_0x3e563f===0x0&&db['run']('INSERT\x20INTO\x20schema_version\x20(version)\x20VALUES\x20(?)',[0x1]);_0x2db246[_0x3e29dc(0xeb)](runMigrations);const _0x41eee0=[[_0x3e29dc(0x19e),_0x2db246[_0x3e29dc(0x18d)]],[_0x2db246[_0x3e29dc(0x1d1)],_0x2db246['bowNo']],[_0x2db246['Fybui'],config_default['defaultModel']],['theme',_0x2db246[_0x3e29dc(0x1a4)]],[_0x2db246['XGpyT'],JSON[_0x3e29dc(0x21c)]([_0x2db246[_0x3e29dc(0x180)],'Edit',_0x3e29dc(0xe1),_0x2db246[_0x3e29dc(0x19d)],_0x3e29dc(0xf5)])],[_0x2db246[_0x3e29dc(0x1a1)],'0'],[_0x2db246[_0x3e29dc(0x11f)],'14'],['editor_command','code'],[_0x2db246[_0x3e29dc(0x11d)],_0x2db246['uFndz']]];for(const [_0xaf7941,_0x19714c]of _0x41eee0){db['run']('INSERT\x20OR\x20IGNORE\x20INTO\x20settings\x20(key,\x20value)\x20VALUES\x20(?,\x20?)',[_0xaf7941,_0x19714c]);}return saveDatabaseNow(),console['log'](_0x2db246['VauTk'],DB_PATH),db;}function isFtsMissingError(_0xbae4e8){const _0x392c9b=a0_0x43e5c8,_0x2d99af={'pVreM':function(_0x528181,_0x44a0d5){return _0x528181(_0x44a0d5);}};if(!_0xbae4e8)return![];const _0x40d7f1=_0x2d99af['pVreM'](String,_0xbae4e8['message']||_0xbae4e8);return _0x40d7f1['includes'](_0x392c9b(0x19c))||_0x40d7f1[_0x392c9b(0x1b4)]('no\x20such\x20module:\x20fts4')||_0x40d7f1[_0x392c9b(0x1b4)]('fts5')||_0x40d7f1['includes']('fts4');}function createLogsFts(_0x151eeb,_0x17c9a9){const _0x32376b=a0_0x43e5c8;_0x151eeb[_0x32376b(0x1da)]('\x0a\x20\x20\x20\x20CREATE\x20VIRTUAL\x20TABLE\x20IF\x20NOT\x20EXISTS\x20logs_fts\x0a\x20\x20\x20\x20USING\x20'+_0x17c9a9+_0x32376b(0x1e4)),_0x151eeb['run'](_0x32376b(0x13f)),_0x151eeb['run']('\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'),_0x151eeb['run']('\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'),_0x151eeb[_0x32376b(0x1da)](_0x32376b(0x16b));}function setupLogsFts(_0x3387b2){const _0x4339cc=a0_0x43e5c8,_0x2516e3={'ZPDXM':function(_0x48d851,_0x5a1fd3,_0x3ec242){return _0x48d851(_0x5a1fd3,_0x3ec242);},'snldO':_0x4339cc(0x20f),'CXMpS':_0x4339cc(0x191),'OQdeW':'[db]\x20FTS\x20unavailable;\x20log\x20search\x20will\x20fall\x20back\x20to\x20LIKE.'};try{_0x2516e3[_0x4339cc(0x202)](createLogsFts,_0x3387b2,_0x2516e3[_0x4339cc(0x1b9)]);return;}catch(_0x4bd4a0){if(!isFtsMissingError(_0x4bd4a0))throw _0x4bd4a0;}try{createLogsFts(_0x3387b2,_0x2516e3[_0x4339cc(0x163)]);return;}catch(_0x3171c1){if(!isFtsMissingError(_0x3171c1))throw _0x3171c1;}console[_0x4339cc(0x1e8)](_0x2516e3['OQdeW']);}function runMigrations(){const _0x5e97a7=a0_0x43e5c8,_0x426e50={'zbrgB':_0x5e97a7(0x132),'GBmja':_0x5e97a7(0x131),'rmmPk':_0x5e97a7(0x110)},_0x38ae93=db[_0x5e97a7(0xee)](_0x426e50[_0x5e97a7(0x172)]),_0x476812=_0x38ae93[_0x5e97a7(0x22e)]>0x0&&_0x38ae93[0x0][_0x5e97a7(0x1ae)][0x0][0x0]!=null?_0x38ae93[0x0]['values'][0x0][0x0]:0x0;for(const _0x2ec936 of migrations){if(_0x2ec936['version']>_0x476812)try{typeof _0x2ec936['up']===_0x426e50[_0x5e97a7(0x1ef)]?_0x2ec936['up'](db):db['run'](_0x2ec936['sql']),db['run'](_0x5e97a7(0x16a),[_0x2ec936[_0x5e97a7(0x1b7)]]),console['log'](_0x5e97a7(0x21d)+_0x2ec936[_0x5e97a7(0x1b7)]);}catch(_0x4c28e1){console['error'](_0x5e97a7(0x1fa)+_0x2ec936['version']+_0x5e97a7(0x214)+_0x4c28e1[_0x5e97a7(0x17f)]),console['error'](_0x426e50['rmmPk']);throw _0x4c28e1;}}}function checkDbIntegrity(){const _0x2a2e98=a0_0x43e5c8,_0x1d4a2d={'Zwpwo':'Database\x20not\x20initialized','nIcBk':_0x2a2e98(0x1c7)};if(!db)return{'ok':![],'detail':_0x1d4a2d['Zwpwo']};try{const _0x3c4df3=db['exec'](_0x1d4a2d[_0x2a2e98(0xe2)]),_0xbc87d7=_0x3c4df3[_0x2a2e98(0x22e)]>0x0?_0x3c4df3[0x0][_0x2a2e98(0x1ae)][0x0][0x0]:_0x2a2e98(0xf4);return{'ok':_0xbc87d7==='ok','detail':String(_0xbc87d7)};}catch(_0xfc6809){return{'ok':![],'detail':_0xfc6809[_0x2a2e98(0x17f)]};}}function getSchemaVersion(){const _0x336f0a=a0_0x43e5c8;if(!db)return 0x0;const _0x58bb8d=db[_0x336f0a(0xee)]('SELECT\x20MAX(version)\x20as\x20v\x20FROM\x20schema_version');return _0x58bb8d['length']>0x0&&_0x58bb8d[0x0][_0x336f0a(0x1ae)][0x0][0x0]!=null?_0x58bb8d[0x0]['values'][0x0][0x0]:0x0;}async function getDb(){return!db&&await initializeDatabase(),db;}function closeDb(){const _0x53a291=a0_0x43e5c8,_0x3e93b6={'wGdte':function(_0x3f9121,_0x351229){return _0x3f9121(_0x351229);},'cqUvJ':function(_0x24a366){return _0x24a366();}};db&&(_saveTimer&&(_0x3e93b6['wGdte'](clearTimeout,_saveTimer),_saveTimer=null),_0x3e93b6[_0x53a291(0x23d)](saveDatabaseNow),db[_0x53a291(0x1fb)](),db=null,console[_0x53a291(0x192)](_0x53a291(0x1df)));}function save(){const _0x312e4a=a0_0x43e5c8,_0x4b1519={'jrfke':function(_0x298486,_0x200ce1){return _0x298486(_0x200ce1);},'fMUnz':function(_0x54637f){return _0x54637f();}};_saveTimer&&(_0x4b1519[_0x312e4a(0x1dd)](clearTimeout,_saveTimer),_saveTimer=null),_0x4b1519[_0x312e4a(0x211)](saveDatabaseNow);}function queryAll(_0x33a331,_0x22396a=[]){const _0x4e93f3=a0_0x43e5c8;if(!db)throw new Error('Database\x20not\x20initialized.\x20Call\x20initializeDatabase()\x20first.');const _0x17fb8f=db['prepare'](_0x33a331);_0x22396a['length']>0x0&&_0x17fb8f['bind'](_0x22396a);const _0x5f4e44=[];while(_0x17fb8f['step']()){_0x5f4e44[_0x4e93f3(0x144)](_0x17fb8f[_0x4e93f3(0x1a6)]());}return _0x17fb8f[_0x4e93f3(0xe0)](),_0x5f4e44;}function queryOne(_0x6d0282,_0x39c386=[]){const _0xade929=a0_0x43e5c8,_0x5e40b8={'Eucol':function(_0xa3afe,_0x392ab5){return _0xa3afe>_0x392ab5;}},_0x23e41f=queryAll(_0x6d0282,_0x39c386);return _0x5e40b8['Eucol'](_0x23e41f[_0xade929(0x22e)],0x0)?_0x23e41f[0x0]:null;}function run(_0xc4f28b,_0x2f9216=[]){const _0x5b41f8=a0_0x43e5c8,_0x28d00d={'KkucP':function(_0x1b351e){return _0x1b351e();}};if(!db)throw new Error('Database\x20not\x20initialized.\x20Call\x20initializeDatabase()\x20first.');db[_0x5b41f8(0x1da)](_0xc4f28b,_0x2f9216),_0x28d00d[_0x5b41f8(0x1ca)](saveDatabase);}function runImmediate(_0x3a0877,_0x472403=[]){const _0x18aff3={'iqiXH':'Database\x20not\x20initialized.\x20Call\x20initializeDatabase()\x20first.'};if(!db)throw new Error(_0x18aff3['iqiXH']);db['run'](_0x3a0877,_0x472403),save();}var DATA_DIR,DB_PATH,db,SQL,_saveTimer,migrations,db_default,init_db=__esm({'server/db.js'(){const _0x2caa1f=a0_0x43e5c8,_0x2a726b={'ltKUO':'ALTER\x20TABLE\x20usage\x20ADD\x20COLUMN\x20model\x20TEXT\x20DEFAULT\x20NULL','wJgMH':_0x2caa1f(0x17b),'UnSdr':_0x2caa1f(0x126),'QCGPW':_0x2caa1f(0x21b),'wBMru':'CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_checkpoints_session\x20ON\x20session_checkpoints(session_id)','bdwpl':'ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20provider_session_id\x20TEXT','JTDsF':'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','OqOYx':_0x2caa1f(0x1e0),'gWxaB':_0x2caa1f(0x119),'BWYIy':_0x2caa1f(0x232),'POPDA':'CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_license_keys_status\x20ON\x20license_keys(status)','Fisvn':_0x2caa1f(0xf0),'caDWV':_0x2caa1f(0x231),'nZKgm':'CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_analytics_snapshots_type_period\x20ON\x20analytics_snapshots(snapshot_type,\x20period_start)','efdWX':function(_0x24724f){return _0x24724f();}};_0x2a726b['efdWX'](init_config),DATA_DIR=config_default[_0x2caa1f(0x1f0)],DB_PATH=a0_0x361345['join'](DATA_DIR,config_default[_0x2caa1f(0x12e)]),db=null,SQL=null,_saveTimer=null,migrations=[{'version':0x2,'up':_0x3820f0=>{const _0x41ffec=_0x2caa1f;_0x3820f0['run'](_0x41ffec(0x241)),_0x3820f0['run'](_0x2a726b['ltKUO']),_0x3820f0['run'](_0x2a726b[_0x41ffec(0xda)]);}},{'version':0x3,'up':_0x4cd5fc=>{const _0xb057dd=_0x2caa1f;_0x4cd5fc['run'](_0x2a726b[_0xb057dd(0x14e)]);}},{'version':0x4,'up':_0x3ad2d3=>{const _0x15d8ea=_0x2caa1f;_0x3ad2d3[_0x15d8ea(0x1da)](_0x15d8ea(0x1fd)),_0x3ad2d3[_0x15d8ea(0x1da)](_0x15d8ea(0x238)),_0x3ad2d3[_0x15d8ea(0x1da)](_0x15d8ea(0x1dc));}},{'version':0x5,'up':_0x5d247c=>{const _0x477d46=_0x2caa1f;try{_0x5d247c[_0x477d46(0x1da)]('ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20last_activity_at\x20TEXT\x20DEFAULT\x20NULL');}catch(_0x333ce8){}}},{'version':0x6,'up':_0x2d3156=>{const _0x51a070=_0x2caa1f;try{_0x2d3156['run'](_0x51a070(0xd9));}catch(_0x55e34b){}}},{'version':0x7,'up':_0x5a65ba=>{const _0x49b265=_0x2caa1f;try{_0x5a65ba[_0x49b265(0x1da)](_0x2a726b['QCGPW']);}catch(_0x2e026b){}try{_0x5a65ba[_0x49b265(0x1da)](_0x49b265(0x210));}catch(_0x48729b){}}},{'version':0x8,'up':_0x276cfc=>{const _0x21f8d3=_0x2caa1f;_0x276cfc['run'](_0x21f8d3(0x1af)),_0x276cfc['run'](_0x2a726b[_0x21f8d3(0x176)]);}},{'version':0x9,'up':_0x16e651=>{const _0x4216f2=_0x2caa1f;try{_0x16e651[_0x4216f2(0x1da)](_0x2a726b['bdwpl']);}catch(_0x51efd4){}_0x16e651['run'](_0x2a726b['JTDsF']),_0x16e651['run'](_0x4216f2(0x19f));}},{'version':0xa,'up':_0x4a7fd0=>{const _0x2906ed=_0x2caa1f;_0x4a7fd0['run'](_0x2906ed(0x18b)),_0x4a7fd0['run'](_0x2a726b[_0x2906ed(0x14a)]);}},{'version':0xb,'up':_0x582c4f=>{const _0x358776=_0x2caa1f;try{_0x582c4f[_0x358776(0x1da)](_0x358776(0x10d));}catch(_0x182f1d){}try{_0x582c4f['run'](_0x358776(0x134));}catch(_0x438d0f){}try{_0x582c4f['run'](_0x358776(0x151));}catch(_0x3b1486){}try{_0x582c4f['run']('ALTER\x20TABLE\x20templates\x20ADD\x20COLUMN\x20is_builtin\x20INTEGER\x20DEFAULT\x200');}catch(_0x1fd724){}}},{'version':0xc,'up':_0x400981=>{_0x400981['run'](_0x2a726b['gWxaB']);}},{'version':0xd,'up':_0x119146=>{const _0x3969c8=_0x2caa1f;_0x119146[_0x3969c8(0x1da)](_0x3969c8(0xd3)),_0x119146['run'](_0x3969c8(0x17e));}},{'version':0xe,'up':_0x209e2c=>{setupLogsFts(_0x209e2c);}},{'version':0xf,'up':_0x2bbd21=>{const _0xfdda30=_0x2caa1f;_0x2bbd21['run'](_0xfdda30(0x10c)),_0x2bbd21[_0xfdda30(0x1da)]('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_logs_archive_session_id\x20ON\x20logs_archive(session_id)'),_0x2bbd21['run'](_0x2a726b[_0xfdda30(0x113)]);}},{'version':0x10,'up':_0x4fd218=>{const _0x546633=_0x2caa1f;_0x4fd218[_0x546633(0x1da)](_0x546633(0x107)),_0x4fd218['run'](_0x2a726b[_0x546633(0x155)]),_0x4fd218[_0x546633(0x1da)]('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_license_keys_key_hash\x20ON\x20license_keys(key_hash)');}},{'version':0x11,'up':_0x38d4ea=>{const _0x24fb08=_0x2caa1f;_0x38d4ea['run']('ALTER\x20TABLE\x20projects\x20ADD\x20COLUMN\x20is_personal\x20INTEGER\x20NOT\x20NULL\x20DEFAULT\x200'),_0x38d4ea['run']('UPDATE\x20projects\x20SET\x20is_personal\x20=\x201\x20WHERE\x20name\x20=\x20\x27Personal\x27'),_0x38d4ea['run'](_0x24fb08(0x121));}},{'version':0x12,'up':_0x9b1d39=>{const _0xa1e8c7=_0x2caa1f;_0x9b1d39['run'](_0xa1e8c7(0x108));}},{'version':0x13,'up':_0x17e56b=>{const _0x44973d=_0x2caa1f,_0x21750e=['ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20isolation_mode\x20TEXT\x20DEFAULT\x20\x27local\x27','ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20worktree_path\x20TEXT',_0x44973d(0x20e),'ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20worktree_pinned\x20INTEGER\x20DEFAULT\x200','ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20worktree_merged\x20INTEGER\x20DEFAULT\x200'];for(const _0x316748 of _0x21750e){try{_0x17e56b['run'](_0x316748);}catch(_0x45aa3f){}}}},{'version':0x14,'up':_0x3cff63=>{const _0x13d18b=_0x2caa1f;_0x3cff63['run'](_0x13d18b(0x1a5)),_0x3cff63[_0x13d18b(0x1da)]('\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'),_0x3cff63[_0x13d18b(0x1da)](_0x2a726b[_0x13d18b(0x143)]),_0x3cff63[_0x13d18b(0x1da)](_0x2a726b[_0x13d18b(0x14d)]),_0x3cff63['run'](_0x13d18b(0x114)),_0x3cff63['run'](_0x2a726b[_0x13d18b(0x1f4)]);}},{'version':0x15,'up':_0x1a9f11=>{const _0x2bc9ff=_0x2caa1f;_0x1a9f11[_0x2bc9ff(0x1da)]('\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'),_0x1a9f11['run'](_0x2bc9ff(0x227)),_0x1a9f11['run']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_pcm_role\x20ON\x20personal_chat_messages(role)');}},{'version':0x16,'up':_0x5db0f5=>{const _0x460b9d=_0x2caa1f;_0x5db0f5['run'](_0x460b9d(0x1b0)),_0x5db0f5['run']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_project_blueprints_project\x20ON\x20project_blueprints(project_id)');}}],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});import a0_0x3e6e0f from'crypto';function hashKey(_0x19217e){const _0x18a8df=a0_0x43e5c8,_0x4f691b={'LOWwK':'sha256','ghkDt':'hex'};return a0_0x3e6e0f['createHash'](_0x4f691b['LOWwK'])[_0x18a8df(0x17d)](_0x19217e)['digest'](_0x4f691b['ghkDt']);}function generateKey(_0x4c41c6,_0x54f1d7=a0_0x43e5c8(0x13e),_0x39b53d=null,_0x43d379=null){const _0x762557=a0_0x43e5c8,_0x31a002={'ckedq':_0x762557(0x122),'tTmOq':function(_0x2fe76c,_0x2968f3){return _0x2fe76c(_0x2968f3);}},_0x3e3112=['admin','staff',_0x762557(0x1aa)];if(!_0x3e3112['includes'](_0x54f1d7))throw new Error('Invalid\x20key\x20type:\x20'+_0x54f1d7+_0x762557(0x141)+_0x3e3112[_0x762557(0x189)](',\x20'));if(!_0x4c41c6||typeof _0x4c41c6!==_0x31a002[_0x762557(0x169)]||!_0x4c41c6[_0x762557(0xf1)]())throw new Error(_0x762557(0x13d));const _0x4eb34e=a0_0x3e6e0f[_0x762557(0x201)](),_0x297698=KEY_PREFIX+a0_0x3e6e0f['randomBytes'](0x10)[_0x762557(0xf7)](_0x762557(0x101)),_0x400379=_0x31a002['tTmOq'](hashKey,_0x297698);return run(_0x762557(0xfa),[_0x4eb34e,_0x4c41c6[_0x762557(0xf1)](),_0x400379,_0x54f1d7,_0x39b53d||null,_0x43d379||null]),{'id':_0x4eb34e,'raw':_0x297698,'type':_0x54f1d7,'name':_0x4c41c6[_0x762557(0xf1)]()};}function validateKey(_0xef330c){const _0x2f2c42=a0_0x43e5c8,_0xc4cdf0={'IOJbw':'string','iFhlu':function(_0x5d5366,_0x1feec4,_0x38517f){return _0x5d5366(_0x1feec4,_0x38517f);},'sLwDC':_0x2f2c42(0x208),'WesOu':function(_0x209cd0,_0x19a7e8){return _0x209cd0<_0x19a7e8;}};if(!_0xef330c||typeof _0xef330c!==_0xc4cdf0['IOJbw'])return null;const _0x2265fe=hashKey(_0xef330c[_0x2f2c42(0xf1)]()),_0x579214=_0xc4cdf0['iFhlu'](queryOne,_0xc4cdf0['sLwDC'],[_0x2265fe]);if(!_0x579214)return null;if(_0x579214[_0x2f2c42(0x212)]!=='active')return null;if(_0x579214['expires_at']){const _0x5e1450=new Date(_0x579214[_0x2f2c42(0x18a)])[_0x2f2c42(0x174)]();if(_0xc4cdf0[_0x2f2c42(0x1e7)](_0x5e1450,Date[_0x2f2c42(0x234)]()))return null;}return{'id':_0x579214['id'],'name':_0x579214['name'],'type':_0x579214[_0x2f2c42(0x1fe)],'status':_0x579214[_0x2f2c42(0x212)],'expires_at':_0x579214[_0x2f2c42(0x18a)],'created_at':_0x579214['created_at']};}function listKeys(_0x4ca2f1={}){const _0x441131=a0_0x43e5c8,_0x4e2458={'mfAJc':_0x441131(0xce),'MViwl':_0x441131(0x156)};let _0x228e97=_0x441131(0x15c);const _0x560d9c=[];_0x4ca2f1['type']&&(_0x228e97+=_0x4e2458[_0x441131(0x233)],_0x560d9c['push'](_0x4ca2f1['type']));_0x4ca2f1['status']&&(_0x228e97+='\x20AND\x20status\x20=\x20?',_0x560d9c['push'](_0x4ca2f1['status']));_0x228e97+=_0x4e2458[_0x441131(0x103)];const _0x3d15b9=Math[_0x441131(0x1ac)](Math[_0x441131(0x1f3)](parseInt(_0x4ca2f1[_0x441131(0x21f)])||0x32,0x1),0x1f4);_0x228e97+='\x20LIMIT\x20?',_0x560d9c[_0x441131(0x144)](_0x3d15b9);const _0x2bba7f=queryAll(_0x228e97,_0x560d9c),_0x48d16f=_0x2bba7f['map'](_0x249f38=>({'id':_0x249f38['id'],'name':_0x249f38['name'],'type':_0x249f38['type'],'status':_0x249f38[_0x441131(0x212)]===_0x441131(0x244)?_0x441131(0x22a):_0x441131(0x11b),'key':_0x249f38['id']['slice'](0x0,0x8)+'****','email':_0x249f38['email'],'expiry':_0x249f38['expires_at'],'created_at':_0x249f38['created_at'],'revoked_at':_0x249f38[_0x441131(0x21e)]}));return{'keys':_0x48d16f};}function revokeKey(_0x44fd43){const _0x1ea6e5=a0_0x43e5c8,_0x5674bf={'HDzma':'Key\x20ID\x20is\x20required','xDrDR':_0x1ea6e5(0x22f),'mTlCd':function(_0x1e13e4,_0x19197f){return _0x1e13e4===_0x19197f;},'nsUZu':_0x1ea6e5(0xcf),'lTJlI':_0x1ea6e5(0x1c8)};if(!_0x44fd43)throw new Error(_0x5674bf[_0x1ea6e5(0x100)]);const _0x214167=queryOne(_0x5674bf[_0x1ea6e5(0x1a9)],[_0x44fd43]);if(!_0x214167)throw new Error('Key\x20not\x20found');if(_0x5674bf['mTlCd'](_0x214167[_0x1ea6e5(0x212)],_0x5674bf[_0x1ea6e5(0x222)]))throw new Error(_0x1ea6e5(0x124));return run(_0x5674bf['lTJlI'],[_0x44fd43]),{'success':!![]};}function getKeyStats(){const _0x8ba64b=a0_0x43e5c8,_0x4e1b36={'eaJLR':_0x8ba64b(0x125),'uaxBm':function(_0x17fa45,_0x339479){return _0x17fa45(_0x339479);},'YutjS':_0x8ba64b(0x1c4),'cNHRU':function(_0x2fe2af,_0x2dee21){return _0x2fe2af(_0x2dee21);}},_0x3d6cec=queryOne(_0x4e1b36['eaJLR']),_0x1fe518=_0x4e1b36['uaxBm'](queryOne,_0x4e1b36[_0x8ba64b(0x246)]),_0xf59cec=queryOne('SELECT\x20COUNT(*)\x20as\x20count\x20FROM\x20license_keys\x20WHERE\x20status\x20=\x20\x27revoked\x27'),_0x7d7097=_0x4e1b36['cNHRU'](queryAll,'SELECT\x20type,\x20COUNT(*)\x20as\x20count\x20FROM\x20license_keys\x20WHERE\x20status\x20=\x20\x27active\x27\x20GROUP\x20BY\x20type'),_0x315a4a={};for(const _0x54db2d of _0x7d7097){_0x315a4a[_0x54db2d['type']]=_0x54db2d[_0x8ba64b(0x1e2)];}return{'totalKeys':_0x3d6cec?.[_0x8ba64b(0x1e2)]||0x0,'activeKeys':_0x1fe518?.[_0x8ba64b(0x1e2)]||0x0,'revokedKeys':_0xf59cec?.['count']||0x0,'byType':_0x315a4a};}function a0_0xc857(){const _0xe77ebf=['HTTP\x20','waGwp','IvJgS','acceptEdits','6RYfNQW','JueeT','SELECT\x20COUNT(*)\x20as\x20count\x20FROM\x20license_keys\x20WHERE\x20status\x20=\x20\x27active\x27','colana\x20admin\x20create-key','ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20provider\x20TEXT\x20DEFAULT\x20\x27claude\x27','PRAGMA\x20integrity_check','UPDATE\x20license_keys\x20SET\x20status\x20=\x20\x27revoked\x27,\x20revoked_at\x20=\x20datetime(\x27now\x27)\x20WHERE\x20id\x20=\x20?','@anthropic-ai/claude-code','KkucP','[security]\x20Encryption\x20key\x20file\x20is\x20invalid\x20(','--resume','RqFqc','fmbSM','7399275tcXIEU','LLM\x20API\x20key\x20required','KAbzq','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Filter\x20by\x20type\x0a\x20\x20\x20\x20\x20\x20','providers','\x0a\x20\x20No\x20staff\x20or\x20admin\x20keys\x20configured.\x20Set\x20STAFF_KEYS\x20or\x20ADMIN_KEYS\x20environment\x20variable.\x0a','nTiFy','map','meYrf','Total:\x20','codex','run','jYOVN','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_audit_log_created\x20ON\x20audit_log(created_at)','jrfke','2618252SgwcLv','Database\x20connection\x20closed','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_wizard_sessions_status\x20ON\x20wizard_sessions(status)','1368792FwEmzE','count','recommended','(\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','create-key','127.0.0.1','WesOu','warn','4vnUVDE','\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','--verbose','\x1b[90m','dirname','\x1b[38;5;214m','GBmja','dataDir','RrxFq','https://api.polar.sh/v1','max','nZKgm','/api/admin/keys','package.json','catch','OpenClaw','--name\x20\x22Name\x22','[db]\x20FATAL:\x20Migration\x20v','close','yzrBT','\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','type','START_PORT','\x20\x20(ADMIN_KEYS)','randomUUID','ZPDXM','worktrees','readFileSync','edStD','\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','existsSync','SELECT\x20id,\x20name,\x20type,\x20status,\x20expires_at,\x20created_at\x20FROM\x20license_keys\x20WHERE\x20key_hash\x20=\x20?','MUrvD','EjTlW','LOG_RETENTION_DAYS','\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','\x1b[33m','ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20worktree_branch\x20TEXT','fts5','ALTER\x20TABLE\x20snippets\x20DROP\x20COLUMN\x20category','fMUnz','status','Database\x20initialized\x20at:','\x20failed:\x20','lnjHZ','WebSearch','QIDoN','resolve','reset','\x0a\x20\x20','ALTER\x20TABLE\x20snippets\x20DROP\x20COLUMN\x20is_pinned','stringify','[db]\x20Applied\x20migration\x20v','revoked_at','limit','vvUPE','\x20\x20\x20\x20','nsUZu','tIgJq','--type\x20staff|admin|beta','delegate','isTTY','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_pcm_created\x20ON\x20personal_chat_messages(created_at)','1673375VqiNOZ','POST','ACTIVE','STAFF_KEYS','doctor','-beta','length','SELECT\x20id,\x20status\x20FROM\x20license_keys\x20WHERE\x20id\x20=\x20?','Server\x20responded\x20with\x20','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_analytics_events_category\x20ON\x20analytics_events(event_category)','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_logs_archive_timestamp\x20ON\x20logs_archive(timestamp)','mfAJc','now','Read','id,name,type,status,email,expires_at,created_at,revoked_at','FEkDx','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_audit_log_action\x20ON\x20audit_log(action)','mkdirSync','lana','admin','list-keys','cqUvJ','created_at','pass','UtBdr','ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20auth_mode\x20TEXT\x20DEFAULT\x20NULL','aider','POLAR_PRODUCT_ID','active','encryption.key','YutjS','\x20AND\x20type\x20=\x20?','revoked','supportsInteractive','UKMVf','ENCRYPTION_KEY','\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','Igfbb','/api/admin/keys/','\x1b[36m','stdout','TOOL_RESULT_PREVIEW_LEN','ALTER\x20TABLE\x20projects\x20ADD\x20COLUMN\x20permission_preset\x20TEXT\x20DEFAULT\x20\x27default\x27','wJgMH','FREE_MAX_SESSIONS','[security]\x20Generated\x20new\x20encryption\x20key\x20file.','application/json','Staff\x20Keys:','ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20total_cost_usd\x20REAL','free','Write','nIcBk','heading','WebFetch','LOklc','233049XSkxTN','entries','releaseChannel','Type:','pipx\x20install\x20aider-chat','iZKOg','nyxbi','bypassPermissions','exec','ucfDe','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_analytics_events_type\x20ON\x20analytics_events(event_type)','trim','value','utf-8','unknown','Grep','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_usage_session_id\x20ON\x20usage(session_id)','toString','https://dashboard.polar.sh','BIND_ADDRESS','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?)','resume','36ANdqSy','GIT_DIFF_MAX_BUFFER','DEFAULT_SESSION_LIMIT','\x1b[1;37m','HDzma','hex','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Key\x20type\x20(default:\x20staff)\x0a\x20\x20\x20\x20\x20\x20','MViwl','Xtytc','homedir','\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','\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','UPDATE\x20projects\x20SET\x20is_personal\x20=\x201\x20WHERE\x20name\x20=\x20\x27Personal\x27\x20AND\x20is_personal\x20=\x200','timeout','Admin\x20CLI','http://127.0.0.1:','\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','ALTER\x20TABLE\x20templates\x20ADD\x20COLUMN\x20description\x20TEXT','env','npEKH','[db]\x20Database\x20may\x20be\x20in\x20an\x20inconsistent\x20state.\x20Contact\x20support.','--input-format','\x20\x20Usage:\x20colana\x20admin\x20create-key\x20--name\x20\x22Sarah\x22\x20--type\x20staff\x20[--email\x20x]\x20[--expires\x202026-12-31]\x0a','BWYIy','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_analytics_events_created\x20ON\x20analytics_events(created_at)','--help','colana\x20admin\x20doctor','dontAsk','nBHYd','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)','startsWith','SUSPENDED','muted','qzoeb','SELECT\x20id,\x20name,\x20type,\x20status,\x20email,\x20expires_at,\x20created_at,\x20revoked_at\x20FROM\x20license_keys\x20ORDER\x20BY\x20created_at\x20DESC','XMSsc','aGEgq','UPDATE\x20projects\x20SET\x20is_personal\x20=\x201\x20WHERE\x20description\x20=\x20\x27Virtual\x20project\x20for\x20non-coding\x20agents\x20(OpenClaw,\x20etc.)\x27','string','staff-keys','Key\x20is\x20already\x20revoked','SELECT\x20COUNT(*)\x20as\x20count\x20FROM\x20license_keys','UPDATE\x20sessions\x20SET\x20auth_mode\x20=\x20\x27subscription\x27\x20WHERE\x20auth_mode\x20IS\x20NULL','VKdIS','Glob','runtime','subscription','exit','encryptionKey','\x20Unknown\x20command:\x20','dbFilename','Qpkhm','colana\x20admin\x20list-keys','function','SELECT\x20MAX(version)\x20as\x20v\x20FROM\x20schema_version','ADMIN_KEYS','ALTER\x20TABLE\x20templates\x20ADD\x20COLUMN\x20suggested_provider\x20TEXT','col_','FaVXY','email','defineProperty','pip\x20install\x20aider-chat','replace','keys','Name','Name\x20is\x20required','staff','\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','@google/gemini-cli','.\x20Must\x20be\x20one\x20of:\x20','Admin\x20Keys:','Fisvn','push','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Email\x20(optional)\x0a\x20\x20\x20\x20\x20\x20','client','\x0a\x20\x20\x20\x20','nuvAs','dashboard.db','OqOYx','\x0a\x0a\x20\x20','mcp__dashboard_permissions__permission_prompt','caDWV','UnSdr','\x20chars).\x20Regenerating.','LRYMv','ALTER\x20TABLE\x20templates\x20ADD\x20COLUMN\x20permission_mode\x20TEXT\x20DEFAULT\x20\x27default\x27','--status\x20active|revoked','DELETE','20dsolkx','POPDA','\x20ORDER\x20BY\x20created_at\x20DESC','name','eNGhO','indexOf','kCahy','ERROR:\x20Invalid\x20type\x20\x22','SELECT\x20id,\x20name,\x20type,\x20status,\x20email,\x20expires_at,\x20created_at,\x20revoked_at\x20FROM\x20license_keys\x20WHERE\x201=1','#\x20Auto-generated\x20by\x20Colana.\x20Do\x20not\x20share\x20or\x20delete.','fail','EENoE','ERROR:\x20Key\x20ID\x20is\x20required.','info','(Created\x20via\x20direct\x20DB\x20—\x20restart\x20server\x20to\x20pick\x20up)','CXMpS','jHwmc','GitHub\x20Copilot\x20subscription','\x20key(s)','spMwW','(via\x20server)','ckedq','INSERT\x20INTO\x20schema_version\x20(version)\x20VALUES\x20(?)','INSERT\x20INTO\x20logs_fts(logs_fts)\x20VALUES(\x27rebuild\x27)','\x20has\x20been\x20revoked.\x0a','slice','FORCE_COLOR','eSWgL','Database','colana:gog-keyring:','zbrgB','@openai/codex','getTime','POLAR_WEBHOOK_SECRET','wBMru','then','\x20Key\x20generated\x20successfully!','1407967gaOmYb','XbZqN','ALTER\x20TABLE\x20usage\x20ADD\x20COLUMN\x20cost_source\x20TEXT\x20DEFAULT\x20\x27estimated\x27','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Filter\x20by\x20status\x0a\x20\x20\x20\x20','update','\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','message','eVYnh','json','QQEmK','toLocaleDateString','gemini','vTWDJ','wFzvS','tuMsF','brand','join','expires_at','\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','VHyUE','YBcOo','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_sessions_status\x20ON\x20sessions(status)','uxanm','CLRjX','fts4','log','LOG_ARCHIVE_MODE','npm\x20install\x20-g\x20@anthropic-ai/claude-code','cmd','POLAR_API_URL','error','sHDCz','(Created\x20via\x20running\x20server)','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Expiry\x20date\x20(optional)\x0a\x20\x20\x20\x20','openclaw','no\x20such\x20module:\x20fts5','cXHbH','auth_mode','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_sessions_provider_session_id\x20ON\x20sessions(provider_session_id)','MAX_RESUMABLE_SESSIONS','rhKnN','plan','hiZVB','wxWuJ','\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','getAsObject','copilot','5756012ZqgIgO','xDrDR','beta','filter','min','default_provider','values','\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\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','stable','repeat','true','includes','ZXeuU','\x1b[0m','version','wbtLs','snldO','Expires','revoke-key','padEnd','fromEntries'];a0_0xc857=function(){return _0xe77ebf;};return a0_0xc857();}function exportKeysCSV(){const _0x3feb24=a0_0x43e5c8,_0x489df4={'spMwW':_0x3feb24(0x236)},_0x3440a4=queryAll(_0x3feb24(0x11e)),_0x5d7fa2=_0x489df4[_0x3feb24(0x167)],_0x4d77f2=_0x3440a4[_0x3feb24(0x1d6)](_0x2f98ec=>{const _0x436ef7=_0x3feb24;return[_0x2f98ec['id'],'\x22'+(_0x2f98ec['name']||'')[_0x436ef7(0x13a)](/"/g,'\x22\x22')+'\x22',_0x2f98ec['type'],_0x2f98ec['status'],_0x2f98ec['email']||'',_0x2f98ec[_0x436ef7(0x18a)]||'',_0x2f98ec['created_at']||'',_0x2f98ec[_0x436ef7(0x21e)]||'']['join'](',');});return[_0x5d7fa2,..._0x4d77f2][_0x3feb24(0x189)]('\x0a');}var KEY_PREFIX,init_key_manager=__esm({'server/key-manager.js'(){const _0x1073ef=a0_0x43e5c8,_0x587d4c={'TZqSU':function(_0x1c52d6){return _0x1c52d6();}};_0x587d4c['TZqSU'](init_db),KEY_PREFIX=_0x1073ef(0x135);}});import a0_0x111587 from'path';import{fileURLToPath as a0_0x593b73}from'url';var supportsColor=((()=>{const _0x47376f=a0_0x43e5c8,_0x3f7502={'LOklc':function(_0x423f3f,_0xf2952e){return _0x423f3f===_0xf2952e;}};if(process[_0x47376f(0x10e)]['NO_COLOR'])return![];if(_0x3f7502[_0x47376f(0xe5)](process[_0x47376f(0x10e)][_0x47376f(0x16e)],'1'))return!![];return!!process[_0x47376f(0xd7)][_0x47376f(0x226)];})());function makeColors(_0x4bcfb1){const _0x20558a=a0_0x43e5c8,_0x5e73d7={'FBxLB':_0x20558a(0x1ee),'gwpGZ':_0x20558a(0xff),'FaVXY':_0x20558a(0x1ec)};if(!_0x4bcfb1)return{'reset':'','brand':'','heading':'','success':'','error':'','warn':'','info':'','muted':'','value':'','cmd':'','url':''};return{'reset':_0x20558a(0x1b6),'brand':_0x5e73d7['FBxLB'],'heading':_0x5e73d7['gwpGZ'],'success':'\x1b[32m','error':'\x1b[31m','warn':_0x20558a(0x20d),'info':_0x20558a(0xd6),'muted':_0x5e73d7[_0x20558a(0x136)],'value':'\x1b[37m','cmd':'\x1b[36m','url':'\x1b[36m'};}var c=makeColors(supportsColor),icons={'pass':c['success']+'✓'+c['reset'],'fail':c['error']+'✗'+c['reset'],'warn':c['warn']+'⚠'+c['reset'],'arrow':c[a0_0x43e5c8(0x161)]+'→'+c[a0_0x43e5c8(0x219)],'dot':c[a0_0x43e5c8(0x188)]+'•'+c[a0_0x43e5c8(0x219)]};function brandName(_0x53b810='full'){const _0x59a1b9=a0_0x43e5c8,_0x3c1058=c[_0x59a1b9(0xe3)]+'co'+c[_0x59a1b9(0x188)]+':'+c[_0x59a1b9(0xe3)]+_0x59a1b9(0x23a)+c[_0x59a1b9(0x219)];if(_0x53b810==='prefix')return'['+_0x3c1058+']';return _0x3c1058;}var __dirname2=a0_0x111587['dirname'](a0_0x593b73(import.meta.url));function parseArgs(_0x460263){const _0x1c0b29=a0_0x43e5c8,_0x30f781={'AUzIJ':function(_0x331ab2,_0x20a2a8){return _0x331ab2!==_0x20a2a8;},'vTWDJ':function(_0x472bdb,_0x15030c){return _0x472bdb+_0x15030c;},'lnjHZ':function(_0xfed4be,_0x4018b6){return _0xfed4be<_0x4018b6;},'tuMsF':function(_0x5a01f6,_0x1a8ea9){return _0x5a01f6+_0x1a8ea9;}},_0x49661c=_0x460263['slice'](0x2),_0x24b0d1=_0x49661c[0x0],_0x41ce84=[],_0x3269ac={};for(let _0x50a6ea=0x1;_0x50a6ea<_0x49661c[_0x1c0b29(0x22e)];_0x50a6ea++){if(_0x49661c[_0x50a6ea]['startsWith']('--')){let _0x36dac7=_0x49661c[_0x50a6ea]['slice'](0x2),_0x4ff2f5;const _0x4ae8a0=_0x36dac7[_0x1c0b29(0x159)]('=');_0x30f781['AUzIJ'](_0x4ae8a0,-0x1)?(_0x4ff2f5=_0x36dac7[_0x1c0b29(0x16d)](_0x30f781[_0x1c0b29(0x185)](_0x4ae8a0,0x1)),_0x36dac7=_0x36dac7[_0x1c0b29(0x16d)](0x0,_0x4ae8a0)):_0x4ff2f5=_0x30f781[_0x1c0b29(0x215)](_0x50a6ea+0x1,_0x49661c['length'])&&!_0x49661c[_0x30f781[_0x1c0b29(0x187)](_0x50a6ea,0x1)][_0x1c0b29(0x11a)]('--')?_0x49661c[++_0x50a6ea]:'true',_0x3269ac[_0x36dac7]=_0x4ff2f5;}else _0x41ce84[_0x1c0b29(0x144)](_0x49661c[_0x50a6ea]);}return{'command':_0x24b0d1,'flags':_0x3269ac,'positional':_0x41ce84};}function maskKey(_0x104e7){const _0x54cff5=a0_0x43e5c8,_0x33a611={'EAanm':function(_0xac44fc,_0xe75e3f){return _0xac44fc+_0xe75e3f;},'CLRjX':'****'};if(!_0x104e7||_0x104e7[_0x54cff5(0x22e)]<=0x8)return'****';return _0x33a611['EAanm'](_0x104e7[_0x54cff5(0x16d)](0x0,0x4),_0x33a611[_0x54cff5(0x190)]);}var DEFAULT_PORT=0x2694,MAX_PORT_SCAN=0x64;async function findRunningServer(){const _0x85727e=a0_0x43e5c8,_0x1303dd={'SlEuz':function(_0x44d0cb,_0x1ab36a){return _0x44d0cb<_0x1ab36a;},'okhIi':function(_0x5117e8,_0x2ce739){return _0x5117e8+_0x2ce739;},'vDjLH':function(_0x3914a7,_0x2b2762){return _0x3914a7===_0x2b2762;}};for(let _0x2576cd=0x0;_0x1303dd['SlEuz'](_0x2576cd,MAX_PORT_SCAN);_0x2576cd++){const _0x2819e0=_0x1303dd['okhIi'](DEFAULT_PORT,_0x2576cd);try{const _0x24eab7=await fetch(_0x85727e(0x10b)+_0x2819e0+'/api/health',{'signal':AbortSignal[_0x85727e(0x109)](0x1f4)});if(_0x24eab7['ok']){const _0x36b5e6=await _0x24eab7['json']();if(_0x1303dd['vDjLH'](_0x36b5e6['status'],'ok'))return'http://127.0.0.1:'+_0x2819e0;}}catch{}}return null;}async function createKeyViaApi(_0xc61680,_0x3ce707){const _0x259343=a0_0x43e5c8,_0x185cda={'eSWgL':_0x259343(0xdd)},_0x266cca=await fetch(_0xc61680+_0x259343(0x1f5),{'method':_0x259343(0x229),'headers':{'Content-Type':_0x185cda[_0x259343(0x16f)]},'body':JSON[_0x259343(0x21c)](_0x3ce707)});if(!_0x266cca['ok']){const _0x6c1b20=await _0x266cca['json']()[_0x259343(0x1f7)](()=>({'error':'HTTP\x20'+_0x266cca[_0x259343(0x212)]}));throw new Error(_0x6c1b20[_0x259343(0x197)]||'Server\x20responded\x20with\x20'+_0x266cca['status']);}return _0x266cca['json']();}async function listKeysViaApi(_0x3043ba,_0x4aa000){const _0x5cb7cd=a0_0x43e5c8,_0x4104cc={'Xrkpy':'status','Qcpoc':function(_0x337c60,_0x2e9922){return _0x337c60+_0x2e9922;}},_0x4670e4=new URLSearchParams();if(_0x4aa000['type'])_0x4670e4['set']('type',_0x4aa000['type']);if(_0x4aa000[_0x5cb7cd(0x212)])_0x4670e4['set'](_0x4104cc['Xrkpy'],_0x4aa000[_0x5cb7cd(0x212)]);const _0x4b54dd=_0x4670e4[_0x5cb7cd(0xf7)](),_0x11f489=await fetch(_0x3043ba+'/api/admin/keys'+(_0x4b54dd?_0x4104cc['Qcpoc']('?',_0x4b54dd):''));if(!_0x11f489['ok']){const _0x1f3013=await _0x11f489['json']()['catch'](()=>({'error':_0x5cb7cd(0x1be)+_0x11f489['status']}));throw new Error(_0x1f3013[_0x5cb7cd(0x197)]||'Server\x20responded\x20with\x20'+_0x11f489['status']);}return _0x11f489[_0x5cb7cd(0x181)]();}async function revokeKeyViaApi(_0x2b563a,_0x51c911){const _0x28fe01=a0_0x43e5c8,_0x2afe6d={'jHwmc':_0x28fe01(0x153)},_0x1dfc35=await fetch(_0x2b563a+_0x28fe01(0xd5)+_0x51c911,{'method':_0x2afe6d[_0x28fe01(0x164)]});if(!_0x1dfc35['ok']){const _0x16e273=await _0x1dfc35[_0x28fe01(0x181)]()['catch'](()=>({'error':_0x28fe01(0x1be)+_0x1dfc35[_0x28fe01(0x212)]}));throw new Error(_0x16e273[_0x28fe01(0x197)]||_0x28fe01(0x230)+_0x1dfc35['status']);}return _0x1dfc35['json']();}var _dbReady=![];async function ensureDb(){const _0x22e03a={'VqWfZ':function(_0x4ad737){return _0x4ad737();}};if(_dbReady)return;const {getDb:_0x1c0f3a}=await Promise['resolve']()['then'](()=>(init_db(),db_exports));await _0x22e03a['VqWfZ'](_0x1c0f3a),_dbReady=!![];}async function createKey(_0x56f35e){const _0xa57dcc=a0_0x43e5c8,_0x57a360={'meYrf':_0xa57dcc(0x1aa),'Hngjr':function(_0x546abd){return _0x546abd();},'RrxFq':function(_0x27ebda,_0x17f28e,_0x4e55e4){return _0x27ebda(_0x17f28e,_0x4e55e4);},'QQEmK':function(_0x338a60,_0x4d25fa){return _0x338a60||_0x4d25fa;}},_0x3b3fee=_0x56f35e[_0xa57dcc(0x157)],_0x2a8a29=_0x56f35e[_0xa57dcc(0x1fe)]||_0xa57dcc(0x13e),_0x342406=_0x56f35e[_0xa57dcc(0x137)]||null,_0x3b99cb=_0x56f35e['expires']||null;if(!_0x3b3fee){console['error']('\x0a\x20\x20'+icons['fail']+'\x20'+c['error']+'ERROR:\x20--name\x20is\x20required.'+c['reset']+'\x0a'),console['error'](_0xa57dcc(0x112)),process[_0xa57dcc(0x12b)](0x1);return;}const _0x53c658=[_0xa57dcc(0x23b),_0xa57dcc(0x13e),_0x57a360[_0xa57dcc(0x1d7)]];if(!_0x53c658[_0xa57dcc(0x1b4)](_0x2a8a29)){console[_0xa57dcc(0x197)]('\x0a\x20\x20'+icons[_0xa57dcc(0x15e)]+'\x20'+c['error']+_0xa57dcc(0x15b)+_0x2a8a29+'\x22.\x20Must\x20be\x20one\x20of:\x20'+_0x53c658[_0xa57dcc(0x189)](',\x20')+c['reset']+'\x0a'),process['exit'](0x1);return;}const _0x53cb2a=await _0x57a360['Hngjr'](findRunningServer);let _0x174049;if(_0x53cb2a)try{_0x174049=await _0x57a360[_0xa57dcc(0x1f1)](createKeyViaApi,_0x53cb2a,{'name':_0x3b3fee,'type':_0x2a8a29,'email':_0x57a360[_0xa57dcc(0x182)](_0x342406,void 0x0),'expires':_0x57a360['QQEmK'](_0x3b99cb,void 0x0)});}catch(_0x525148){console[_0xa57dcc(0x197)]('\x0a\x20\x20'+icons['fail']+'\x20'+c['error']+_0x525148['message']+c['reset']+'\x20'+c['muted']+'(via\x20server)'+c[_0xa57dcc(0x219)]+'\x0a'),process['exit'](0x1);return;}else{await ensureDb();const {generateKey:_0x6636ca}=await Promise[_0xa57dcc(0x218)]()[_0xa57dcc(0x177)](()=>(init_key_manager(),key_manager_exports));try{_0x174049=_0x6636ca(_0x3b3fee,_0x2a8a29,_0x342406,_0x3b99cb);}catch(_0x28ca63){console['error'](_0xa57dcc(0x21a)+icons['fail']+'\x20'+c[_0xa57dcc(0x197)]+_0x28ca63['message']+c['reset']+'\x0a'),process['exit'](0x1);return;}}if(!_0x174049||!_0x174049['name']){console[_0xa57dcc(0x197)](_0xa57dcc(0x21a)+icons[_0xa57dcc(0x15e)]+'\x20'+c[_0xa57dcc(0x197)]+'Key\x20generation\x20returned\x20an\x20unexpected\x20response.'+c['reset']+'\x0a'),process[_0xa57dcc(0x12b)](0x1);return;}console[_0xa57dcc(0x192)](''),console['log']('\x20\x20'+icons['pass']+_0xa57dcc(0x178)),console['log']('\x20\x20'+c['muted']+'─'['repeat'](0x28)+c['reset']),console['log']('\x20\x20\x20\x20'+c['muted']+'Name:'+c['reset']+_0xa57dcc(0x221)+c['value']+_0x174049['name']+c['reset']),console[_0xa57dcc(0x192)]('\x20\x20\x20\x20'+c['muted']+_0xa57dcc(0xe9)+c[_0xa57dcc(0x219)]+'\x20\x20\x20\x20'+c['value']+_0x174049[_0xa57dcc(0x1fe)]+c['reset']),console['log']('\x20\x20\x20\x20'+c['muted']+'ID:'+c['reset']+'\x20\x20\x20\x20\x20\x20'+c[_0xa57dcc(0xf2)]+_0x174049['id']+c['reset']),console[_0xa57dcc(0x192)](_0xa57dcc(0x221)+c[_0xa57dcc(0x11c)]+'Key:'+c['reset']+'\x20\x20\x20\x20\x20'+c['warn']+_0x174049['raw']+c['reset']),console['log']('\x20\x20'+c['muted']+'─'['repeat'](0x28)+c['reset']),console['log']('\x20\x20'+c[_0xa57dcc(0x1e8)]+'IMPORTANT:\x20Copy\x20this\x20key\x20now.\x20It\x20cannot\x20be\x20retrieved\x20later.'+c[_0xa57dcc(0x219)]),_0x53cb2a?console['log']('\x20\x20'+c['muted']+_0xa57dcc(0x199)+c['reset']):console['log']('\x20\x20'+c[_0xa57dcc(0x11c)]+_0xa57dcc(0x162)+c[_0xa57dcc(0x219)]),console[_0xa57dcc(0x192)]('');}async function listKeysCmd(_0x5e8862){const _0x4c4872=a0_0x43e5c8,_0x41374f={'ucfDe':function(_0x383694,_0x403dc4,_0x864a8d){return _0x383694(_0x403dc4,_0x864a8d);},'MUrvD':function(_0x5bdec2,_0x133092){return _0x5bdec2(_0x133092);},'Ipzrz':'\x0a\x20\x20No\x20keys\x20found.\x0a','RqFqc':_0x4c4872(0x13c)},_0x18ac9c={};if(_0x5e8862['type'])_0x18ac9c[_0x4c4872(0x1fe)]=_0x5e8862['type'];if(_0x5e8862['status'])_0x18ac9c['status']=_0x5e8862['status'];const _0x31b27c=await findRunningServer();let _0x443637;if(_0x31b27c)try{_0x443637=await _0x41374f[_0x4c4872(0xef)](listKeysViaApi,_0x31b27c,_0x18ac9c);}catch(_0x1e674c){console[_0x4c4872(0x197)](_0x4c4872(0x21a)+icons['fail']+'\x20'+c[_0x4c4872(0x197)]+_0x1e674c[_0x4c4872(0x17f)]+c[_0x4c4872(0x219)]+'\x20'+c['muted']+'(via\x20server)'+c['reset']+'\x0a'),process['exit'](0x1);return;}else{await ensureDb();const {listKeys:_0x651b1e}=await Promise['resolve']()['then'](()=>(init_key_manager(),key_manager_exports));_0x443637=_0x41374f[_0x4c4872(0x209)](_0x651b1e,_0x18ac9c);}if(!_0x443637||!_0x443637['keys']||!_0x443637['keys'][_0x4c4872(0x22e)]){console['log'](_0x41374f['Ipzrz']);return;}console['log'](''),console[_0x4c4872(0x192)]('\x20\x20'+c['heading']+'License\x20Keys:'+c[_0x4c4872(0x219)]),console[_0x4c4872(0x192)]('\x20\x20'+c['muted']+'─'[_0x4c4872(0x1b2)](0x50)+c['reset']),console[_0x4c4872(0x192)]('\x20\x20'+c[_0x4c4872(0x11c)]+'ID'['padEnd'](0xa)+_0x41374f[_0x4c4872(0x1cd)][_0x4c4872(0x1bc)](0x14)+'Type'['padEnd'](0xa)+'Status'['padEnd'](0xa)+_0x4c4872(0x1ba)['padEnd'](0xf)+'Created'+c['reset']),console['log']('\x20\x20'+c[_0x4c4872(0x11c)]+'─'['repeat'](0x50)+c[_0x4c4872(0x219)]);for(const _0x492de0 of _0x443637[_0x4c4872(0x13b)]){const _0x571807=(_0x492de0['id']||'')[_0x4c4872(0x16d)](0x0,0x8),_0x8765f0=(_0x492de0[_0x4c4872(0x157)]||'')['slice'](0x0,0x12)[_0x4c4872(0x1bc)](0x14),_0x5d35ad=(_0x492de0['type']||'')[_0x4c4872(0x1bc)](0xa),_0x4297a5=(_0x492de0[_0x4c4872(0x212)]||'')['padEnd'](0xa),_0x3f9b50=(_0x492de0['expiry']?new Date(_0x492de0['expiry'])[_0x4c4872(0x183)]():'Never')['padEnd'](0xf),_0x3d87f7=_0x492de0['created_at']?new Date(_0x492de0[_0x4c4872(0x23e)])['toLocaleDateString']():'-';console[_0x4c4872(0x192)]('\x20\x20'+_0x571807['padEnd'](0xa)+_0x8765f0+_0x5d35ad+_0x4297a5+_0x3f9b50+_0x3d87f7);}console[_0x4c4872(0x192)]('\x20\x20'+c[_0x4c4872(0x11c)]+'─'['repeat'](0x50)+c[_0x4c4872(0x219)]),console[_0x4c4872(0x192)]('\x20\x20'+c[_0x4c4872(0x11c)]+_0x4c4872(0x1d8)+_0x443637['keys']['length']+_0x4c4872(0x166)+c['reset']+'\x0a');}async function revokeKeyCmd(_0xeb1d1a){const _0x133f2a=a0_0x43e5c8,_0xad0cf6={'Xtytc':function(_0x1c6269){return _0x1c6269();}},_0x3938f7=_0xeb1d1a[0x0];if(!_0x3938f7){console[_0x133f2a(0x197)]('\x0a\x20\x20'+icons[_0x133f2a(0x15e)]+'\x20'+c[_0x133f2a(0x197)]+_0x133f2a(0x160)+c[_0x133f2a(0x219)]+'\x0a'),console[_0x133f2a(0x197)]('\x20\x20Usage:\x20colana\x20admin\x20revoke-key\x20<id>\x0a'),process[_0x133f2a(0x12b)](0x1);return;}const _0x2f3393=await _0xad0cf6[_0x133f2a(0x104)](findRunningServer);if(_0x2f3393)try{await revokeKeyViaApi(_0x2f3393,_0x3938f7),console['log'](_0x133f2a(0x21a)+icons[_0x133f2a(0x23f)]+'\x20Key\x20'+c[_0x133f2a(0xf2)]+_0x3938f7+c['reset']+_0x133f2a(0x16c));}catch(_0x4e0b2f){console['error']('\x0a\x20\x20'+icons['fail']+'\x20'+c[_0x133f2a(0x197)]+_0x4e0b2f['message']+c['reset']+'\x20'+c[_0x133f2a(0x11c)]+_0x133f2a(0x168)+c['reset']+'\x0a'),process[_0x133f2a(0x12b)](0x1);return;}else{await ensureDb();const {revokeKey:_0x13be1d}=await Promise[_0x133f2a(0x218)]()['then'](()=>(init_key_manager(),key_manager_exports));try{_0x13be1d(_0x3938f7),console['log']('\x0a\x20\x20'+icons[_0x133f2a(0x23f)]+'\x20Key\x20'+c['value']+_0x3938f7+c[_0x133f2a(0x219)]+_0x133f2a(0x16c));}catch(_0x2c657b){console[_0x133f2a(0x197)](_0x133f2a(0x21a)+icons[_0x133f2a(0x15e)]+'\x20'+c[_0x133f2a(0x197)]+_0x2c657b[_0x133f2a(0x17f)]+c[_0x133f2a(0x219)]+'\x0a'),process['exit'](0x1);return;}}}function showHelp(){const _0xccedb8=a0_0x43e5c8;console['log'](_0xccedb8(0x21a)+brandName()+'\x20'+c['muted']+_0xccedb8(0x10a)+c[_0xccedb8(0x219)]+_0xccedb8(0x14b)+c[_0xccedb8(0xe3)]+'Usage:'+c['reset']+'\x0a\x20\x20\x20\x20'+c[_0xccedb8(0x195)]+_0xccedb8(0x116)+c['reset']+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Run\x20system\x20diagnostics\x0a\x20\x20\x20\x20'+c['cmd']+'colana\x20admin\x20staff-keys'+c[_0xccedb8(0x219)]+'\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['cmd']+_0xccedb8(0x1c5)+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['muted']+_0xccedb8(0x1f9)+c['reset']+'\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['muted']+'--type\x20staff|admin|beta'+c['reset']+_0xccedb8(0x102)+c['muted']+'--email\x20user@example.com'+c[_0xccedb8(0x219)]+_0xccedb8(0x145)+c['muted']+'--expires\x202026-12-31'+c['reset']+_0xccedb8(0x19a)+c['cmd']+_0xccedb8(0x130)+c[_0xccedb8(0x219)]+_0xccedb8(0x1ea)+c['muted']+_0xccedb8(0x224)+c['reset']+_0xccedb8(0x1d2)+c['muted']+_0xccedb8(0x152)+c['reset']+_0xccedb8(0x17c)+c['cmd']+'colana\x20admin\x20revoke-key\x20<id>'+c[_0xccedb8(0x219)]+'\x20\x20\x20\x20\x20\x20\x20\x20Revoke\x20a\x20DB-stored\x20license\x20key\x0a\x0a\x20\x20'+c['muted']+'Polar.sh\x20key\x20management:'+c[_0xccedb8(0x219)]+_0xccedb8(0x147)+c['url']+_0xccedb8(0xf8)+c['reset']+'\x0a');}function doctor(){const _0x3397a2=a0_0x43e5c8;console[_0x3397a2(0x192)]('\x0a\x20\x20Run\x20\x27colana\x20doctor\x27\x20for\x20system\x20diagnostics.\x0a');}function staffKeys(){const _0x530953=a0_0x43e5c8,_0x3b589a={'XbZqN':function(_0x56d5a4,_0x23959b){return _0x56d5a4+_0x23959b;},'UtBdr':function(_0x5828bc,_0x559661){return _0x5828bc(_0x559661);},'rpvgM':_0x530953(0x1d4),'tIgJq':function(_0xcfe8e4,_0x59a596){return _0xcfe8e4>_0x59a596;},'IvJgS':function(_0x523cf2,_0x30f4cc){return _0x523cf2>_0x30f4cc;}},_0x29c051=process['env'][_0x530953(0x22b)]||'',_0x35fd81=process[_0x530953(0x10e)]['ADMIN_KEYS']||'',_0x503080=_0x29c051['split'](',')[_0x530953(0x1d6)](_0x370350=>_0x370350[_0x530953(0xf1)]())[_0x530953(0x1ab)](Boolean),_0x5f0542=_0x35fd81['split'](',')[_0x530953(0x1d6)](_0x5ad124=>_0x5ad124['trim']())['filter'](Boolean);if(_0x503080[_0x530953(0x22e)]===0x0&&_0x5f0542['length']===0x0){console['log'](_0x3b589a['rpvgM']);return;}console['log'](''),_0x3b589a[_0x530953(0x223)](_0x503080[_0x530953(0x22e)],0x0)&&(console['log']('\x20\x20'+c['heading']+_0x530953(0xde)+c[_0x530953(0x219)]),console[_0x530953(0x192)]('\x20\x20'+c[_0x530953(0x11c)]+'─'[_0x530953(0x1b2)](0xa)+c[_0x530953(0x219)]),_0x503080['forEach']((_0x22708b,_0x1da074)=>{const _0x417436=_0x530953;console['log'](_0x417436(0x221)+_0x3b589a[_0x417436(0x17a)](_0x1da074,0x1)+'.\x20'+maskKey(_0x22708b)+'\x20\x20(STAFF_KEYS)');}),console['log']('')),_0x3b589a[_0x530953(0x1c0)](_0x5f0542['length'],0x0)&&(console[_0x530953(0x192)]('\x20\x20'+c[_0x530953(0xe3)]+_0x530953(0x142)+c['reset']),console[_0x530953(0x192)]('\x20\x20'+c['muted']+'─'[_0x530953(0x1b2)](0xa)+c[_0x530953(0x219)]),_0x5f0542['forEach']((_0x581f76,_0x1476d1)=>{const _0x588ad5=_0x530953;console['log'](_0x588ad5(0x221)+_0x3b589a[_0x588ad5(0x17a)](_0x1476d1,0x1)+'.\x20'+_0x3b589a[_0x588ad5(0x240)](maskKey,_0x581f76)+_0x588ad5(0x200));}),console['log']('')),console[_0x530953(0x192)]('\x20\x20To\x20add/remove\x20keys,\x20update\x20the\x20STAFF_KEYS\x20or\x20ADMIN_KEYS\x20environment\x20variable.\x0a');}async function main(){const _0xb52aaf=a0_0x43e5c8,_0x2cd114={'ZXeuU':function(_0x589c5b,_0x4f961a){return _0x589c5b(_0x4f961a);},'sMZml':function(_0x5ebe25){return _0x5ebe25();},'hiZVB':_0xb52aaf(0x22c),'YxuKQ':_0xb52aaf(0x23c),'qjJxn':function(_0xe749cb,_0x1ba55b){return _0xe749cb(_0x1ba55b);},'nBHYd':_0xb52aaf(0x1bb)},{command:_0xc8b0bf,flags:_0x2d484d,positional:_0x4e4ea9}=_0x2cd114['ZXeuU'](parseArgs,process['argv']);if(!_0xc8b0bf||_0xc8b0bf==='help'||_0xc8b0bf===_0xb52aaf(0x115)){_0x2cd114['sMZml'](showHelp);return;}switch(_0xc8b0bf){case _0x2cd114[_0xb52aaf(0x1a3)]:return doctor();case _0xb52aaf(0x123):return staffKeys();case _0xb52aaf(0x1e5):return _0x2cd114[_0xb52aaf(0x1b5)](createKey,_0x2d484d);case _0x2cd114['YxuKQ']:return _0x2cd114['qjJxn'](listKeysCmd,_0x2d484d);case _0x2cd114[_0xb52aaf(0x118)]:return revokeKeyCmd(_0x4e4ea9);default:console[_0xb52aaf(0x197)]('\x20\x20'+icons['fail']+_0xb52aaf(0x12d)+c['value']+_0xc8b0bf+c[_0xb52aaf(0x219)]),console['error']('\x20\x20'+c[_0xb52aaf(0x11c)]+'Run\x20\x22colana\x20admin\x20help\x22\x20for\x20usage.'+c['reset']),process['exit'](0x1);return;}}main()[a0_0x43e5c8(0x1f7)](_0x3a2c76=>{const _0x33a163=a0_0x43e5c8;console['error']('\x20\x20'+icons[_0x33a163(0x15e)]+'\x20'+c[_0x33a163(0x197)]+(_0x3a2c76[_0x33a163(0x17f)]||_0x3a2c76)+c[_0x33a163(0x219)]),process[_0x33a163(0x12b)](0x1);});
|
|
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);});
|